dmraid/0000775000175200007640000000000011254263542012512 5ustar mauelshamauelshadmraid/1.0.0.rc16/0000700000175200007640000000000011254261512013677 5ustar mauelshamauelshadmraid/1.0.0.rc16/LICENSE0000644000175200007640000000146211254123773014727 0ustar mauelshamauelsha Copyright (C) 2004-2006 Heinz Mauelshagen, Red Hat GmbH. All rights reserved. This dmraid code is free software; you can redistribute 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. dmraid 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 (Lesser) General Public License along with this dmraid code; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA dmraid/1.0.0.rc16/CHANGELOG0000644000175200007640000003000411254123773015126 0ustar mauelshamauelsha Changelog from dmraid 1.0.0.rc12 to 1.0.0.rc13 2006.10.11 FIXES: ------ o pdc.c: magic number check o metadata.c: rd_type() returned wrong unified_type for asr Changelog from dmraid 1.0.0.rc11 to 1.0.0.rc12 2006.09.22 FIXES: ------ o sil.c: quorate() OBO fix o activate.c: handler() OBO fix o added log_zero_sectors() to various metadata format handlers FEATURES: --------- o added SNIA DDF1 support (IBM) o added reload functionality to devmapper.c (IBM) o sil.[ch]: added JBOD support MISCELANIOUS: ------------- o streamlined devmapper.c Changelog from dmraid 1.0.0.rc10 to 1.0.0.rc11 2006.05.16 FIXES: ------ o jm.c: checksum() calculation o misc.c: support "%d" in p_fmt and fix segfault with wrong format identifier o nv.c: size fix in setup_rd() o activate.c: - striped devices could end on non-chunk boundaries - calc_region_size() calculated too small sizes causing large dirty logs in memory o isw.c: set raid5 type to left asymmetric o toollib.c: fixed 'No RAID...' message FEATURES: --------- o support selection of RAID5 allocation algorithm in metadata format handlers MISCELANIOUS: ------------- Changelog from dmraid 1.0.0.rc9 to 1.0.0.rc10 2006.02.17 FIXES: ------ o metadata.c: want_set() didn't drop sets properly (eg, jmicron_raid10 wanted and jmicron_raid1 not dropped) o scsi.c: avoid retrieving too much data (Al Viro) o sil.h: magic number fix (some arrays were not recognized) FEATURES: --------- o added libdmraid_make_table() to activate.c to be used by installer o asr.[ch]: added Adaptec HostRAID support o jm.[ch]: added JMicron JMB36x support o added '--enable-libselinux' to configure for those who want to build without it o bytorder.h: enhanced to support big endian conversion on little endian arch o nv.c: support RAID5 with dm-raid45 target o pdc.h: support additional metadata offset o metadata.c: enhanced to support RAID4 and RAID5 mappings with dm-raid45 target MISCELANIOUS: ------------- o misc.c: streamlined remove_white_space() (Al Viro) Changelog from dmraid 1.0.0.rc8 to 1.0.0.rc9 2005.09.23 FIXES: ------ o via.c: checksum() calculation; stride size o toollib.c: memory leak in _valid_format() o isw.c: avoid endianess conversion bug in to_cpu(); disk status check; version check to cover 1.2.02; isw_write() to store metadata in correct sequence o hpt37x.c, lsi.c, nv.c, pdc.c, sil.c via.c: streamlined grouping switch() o hpt45x.c: added missing RAID10 to capability string o sil.c: streamlined quorate() o misc.c: p_fmt() missed a free_string() FEATURES: --------- o pdc.c: support RAID10 o commands.c: added --separator option for selectable string separator character (used with --format etc.) o display.c: support customizable column output through field identifiers with -c option MISCELANIOUS: ------------ o metadata.c: use log_alloc_err() o format.h: introduced caps (RAID capabilities) member o format.c: introduced get_format_caps() and free_format_caps() to ease library use in installers (pjones@redhat.com) o display.c: streamlined log_devices() o toollib.c: stremalined collapse_delimiters() o isw.c: streamlined isw_read_extended() and setup_rd() o file.c: cleanup o add /var/lock/dmraid to rpm o avoid global variable format_names: - change discover_raid_devices() interface - saves code in toollib o added more info to format_error output o activate.c: display RAID string with unsupported mapping Changelog from dmraid 1.0.0.rc7 to 1.0.0.rc8 2005.05.19 FIXES: ------ o nv.c: fixed stripe size o sil.c: avoid incarnation_no in name creation, because the Windows driver changes it every time FEATURES: --------- o added --ignorelocking option to avoid taking out locks in early boot where no read/write access to /var is given MISCELANIOUS: ------------ o some cleanups in misc.c Changelog from dmraid 1.0.0.rc6 to 1.0.0.rc7 2005.04.07 FIXES: ------ o pdc.c, hpt37x.c, hpt45x.c: fixed size in sectors() for RAID1 MISCELANIOUS: ------------ o sil_valid() displays the area number where the checksum is invalid now. Changelog from dmraid 1.0.0-rc5f to 1.0.0.rc6 2005.02.28 FIXES: ------ o sil status() o _sil_read() used LOG_NOTICE rather than LOG_INFO in order to avoid messages about valid metadata areas being displayed during "dmraid -vay". o isw, sil filed metadata offset on "-r -D" in sectors rather than in bytes. o isw needed dev_sort() to sort RAID devices in sets correctly. o pdc metadata format handler name creation. Lead to wrong RAID set grouping logic in some configurations. o dos.c: partition table code fixes by Paul Moore o _free_dev_pointers(): fixed potential OOB error o hpt37x_check: deal with raid_disks = 1 in mirror sets o pdc_check: status & 0x80 doesn't always show a failed device; removed that check for now. Status definitions needed. o sil addition of RAID sets to global list of sets o sil spare device memory leak o group_set(): removal of RAID set in case of error o hpt37x: handle total_secs > device size o allow -p with -f o enhanced error message by checking target type against list of registered target types FEATURES: --------- o VIA metadata format handler o added RAID10 to lsi metadata format handler o "dmraid -rD": file device size into {devicename}_{formatname}.size o "dmraid -tay": pretty print multi-line tables ala "dmsetup table" o "dmraid -l": display supported RAID levels + manual update MISCELANIOUS: ------------ o more inline comments o libdmraid_init() now returns lib context o check_set() enhanced to do RAID set stack unrolling and to check correct number of devices in sets; saves code in metadata format handlers o introduced read_raid_dev() to further reduce metadata format handler code o optimized parse_table() o updated dmraid manual o devmapper.c: check target type registered before trying to load table record o misc.c: avoid find_percent(). Changelog from dmraid 1.0.0-rc4 to 1.0.0-rc5f 2004.11.24 FIXES: ------ o make suffix in hpt45x set names numeric o HPT37x metadata format handler RAID10 grouping logic o HPT37x/HPT45x avoid devision by zero bug in case ->raid_disks is zero for spares o avoid devision by zero bug in case of stride = 0 o SIL device names / checksums o calc_total_sectors() on unsymmetric mirrors o Partition name suffix to make GRUB happy o perform() could return an error without releasing a lock FEATURES: --------- o added NVidia metadata format handler o quorate SIL metadata copies o sorting order of stacked subset enhanced (RAID10; hpt37x, hpt45x, lsi, nvidia and sil) o started event methods implementation in metadata format handlers o output linefeed to .offset files for better readability (-r -D) o use /sys/block/*/removable to avoid acessing removable devices o display of spare devices with -r -c{0,2} o enhanced spare device handling o '-h' option doesn't need to stand alone any more o -s displays top level sets only. "-s -s" shows subsets as well. o -f allows partial qualification of format names now (eg, "dmraid -f hpt -r" will search for hpt37x and hpt45x formats) MISCELANIOUS: ------------ o HPT37X shows subset name suffixes with -r o streamlined display.c o added lib_context* argument to alloc_disk_info() in order to be able to display an error message on failure o factored basic RAID set allocation code out of all metadata format handler into find_or_alloc_set() o factored RAID superset allocation code out of metadata format handlers into join_superset() o streamlined endianess code using CVT* macros o streamlined free_set() code o check option enum valid o introduced various metadata extraction macros to streamline related code (eg, RD(), RS()) o optimized format handler pre-registration checks o avoid format handler type() method altogether by introducing a RAID device type member o generalized list_add_sorted() which can be used to sort any "struct list_head*" which voided list_add_dev_sorted() o find_set() modified to avoid global searches for stacked sets o converted get_scsi_serial to fallback using SG_IO, SCSI_IOCTL_SEND_COMMAND and ATA identify o introduced p_fmt() for formated string pushs in order to streamline activate.c; value return code of p_fmt() o moved some paths + filenames to lib_context o introduced RAID set flag for metadata format handlers which decide to maximize capacity in unsymetric RAID0 sets o factored out device information allocation of scan.c into metadata.c o introduced RAID device list to library context in order to remove pointer from device info and be able to handle remaining RAID device structures better on library cleanup o streamlined commands.c o changed column output delimiter to ':' o introduced various enums replacing integers Changelog from dmraid 1.0.0-rc3 to 1.0.0-rc4 2004.09.07 FIXES: ------ o get_dm_serial fix for trailing blanks o infinite loop bug in makefile o unified RAID #defines o RAID disk erase size o avoided unnecessary read in isw_read() o segfault in build_set() on RAID set group failure o activation of partitions on Intel Software RAID o allow display if tables for active RAID sets (-t -ay) o discovering no RAID disks shouldn't return an error o free_set would have segfaulted on virgin RAID set structures o deep DOS partition chains (Paul Moore) o "dmraid -sa" displayed group RAID set with Intel Software RAID when it shouldn't o return RAID super set pointer from hpt45x_group() and sil_group() rather than sub set pointer FEATURES: --------- o added offset output to all native metadata logs o started defining metadata format handler event method needed for write updates to native metadata (eg, for mirror failure) o [de]activation of a single raid sets below a group one (isw) o support for multiple -c options (see "man dmraid"): "dmraid -b -c{0,2}" "dmraid -r -c{0,2}" "dmraid -s -c{0,3}" Changelog from dmraid 1.0.0-rc2 to 1.0.0-rc3 2004.08.18 FIXES: ------ o HPT37X mapping on first disk of set o dietlibc sscanf() use prevented activation o le*_to_cpu() for certain glibc environments (Luca Berra) o sysfs discovery (Luca Berra) o permissions to write on binary, which is needed by newer strip versions (Luca Berra) o SCSI serial number string length bug o valgrinded memory leaks o updated design document o comments FEATURES: --------- o added basic support for activation of LSI Logic MegaRAID/MegaIDE; more reengineering of the metadata needed! o root check using certain options (eg, activation of RAID sets) o implemented locking abstraction o implemented writing device metadata offsets with "-r[D/E]" for ease of manual restore o file based locking to avoid parallel tool runs competing with each other for the same resources o streamlined library context o implemented access functions for library context o streamlined RAID set consistency checks o implemented log function and removed macros to shrink binary size further o removed superfluous disk geometry code o cleaned up metadata.c collapsing free_*() functions o slimmed down minimal binary (configure option DMRAID_MINI for early boot environment) Changelog from dmraid 1.0.0-rc1 to 1.0.0-rc2 2004.07.15 o Intel Software RAID discovery and activation support o allow more than one format handler name with --format o display "raid10" sets properly rather than just "mirror" o enhanced activate.c to handle partial activation of sets (eg, degraded RAID0) o enhanced command line option checks o implemented a library context for variables such as debug etc. o fixed memory leak in discover_partitions o fixed recursion in _find_set() o continued writing subsets in case we fail on one because of RAID1 o format handler template update o fixed dietlibc build o fixed shared library configure o use default_list_set() instead of &raid_sets where possible o name change of list_head members to the more commonly used 'list' o renamed msdos partition format handler to dos o lots of inline comments corrected/updated o streamlined tools/*.[ch] o moved get.*level() and get_status to metadata.[ch] and changed level name to type dmraid/1.0.0.rc16/configure.in0000644000175200007640000001670011254123773016234 0ustar mauelshamauelsha# # Copyright (C) 2004-2005 Heinz Mauelshagen, Red Hat GmbH. All rights reserved. # # See file LICENSE at the top of this source tree for license information. # # configure.in for dmraid dnl Process this file with autoconf to produce a configure script. AC_INIT(lib/device/dev-io.h) dnl setup the directory where autoconf has auxilary files AC_CONFIG_AUX_DIR(autoconf) dnl Get system type AC_CANONICAL_SYSTEM dnl Checks for programs. AC_PROG_AWK AC_PROG_INSTALL AC_PROG_LN_S AC_PROG_MAKE_SET AC_PROG_RANLIB dnl Enables linking to klibc dnl We need to do this before header checks, as we need to set CC AC_CHECK_KLIBC dnl Checks for CC dnl This should be done after klibc check, as CC is changed AC_PROG_CC dnl Checks for header files. AC_HEADER_DIRENT AC_HEADER_STDC AC_CHECK_HEADERS(fcntl.h sys/ioctl.h unistd.h) if test x$KLIBC != xyes; then AC_CHECK_HEADERS(malloc.h) fi dnl Checks for typedefs, structures, and compiler characteristics. AC_C_CONST AC_C_INLINE AC_TYPE_OFF_T AC_TYPE_PID_T AC_TYPE_SIZE_T AC_STRUCT_ST_RDEV AC_HEADER_TIME dnl Set system type flags dnl We do not want this with klibc if test x$KLIBC != xyes; then case "$host_os" in linux*) CFLAGS=-O2 CLDFLAGS="-Wl,--version-script,.export.sym" LD_DEPS=".export.sym" SOFLAG="-shared" ;; esac fi dnl -- prefix is /usr by default, the exec_prefix default is setup later AC_PREFIX_DEFAULT(/usr/share) dnl -- setup the ownership of the files AC_ARG_WITH(user, [ --with-user=USER Set the owner of installed files ], [ OWNER="$withval" ], [ OWNER="root" ]) dnl -- setup the group ownership of the files AC_ARG_WITH(group, [ --with-group=GROUP Set the group owner of installed files ], [ GROUP="$withval" ], [ GROUP="root" ]) echo $ac_n "checking whether to enable debugging""... $ac_c" 1>&6 dnl Enable Debugging AC_ARG_ENABLE(debug, [ --enable-debug Enable debugging], \ DEBUG=yes, DEBUG=no) echo "$ac_t""$DEBUG" 1>&6 echo $ac_n "checking whether to enable malloc debugging""... $ac_c" 1>&6 dnl Enable malloc debugging AC_ARG_ENABLE(debug_malloc, [ --enable-debug_malloc Enable malloc debugging], \ DEBUG_MALLOC=yes, DEBUG_MALLOC=no) echo "$ac_t""$DEBUG" 1>&6 dnl Enables linking to dietlibc AC_ARG_ENABLE(dietlibc, [ --enable-dietlibc Use this to link the tools to dietlibc ], DIETLIBC=yes, DIETLIBC=no) if test x$DIETLIBC = xyes; then if test x$KLIBC = xyes; then AC_MSG_ERROR(You can' enable both dietlibc and klibc!) exit 1 fi CC="diet gcc" FLAVOUR="dietlibc " fi AC_ARG_ENABLE(jobs, [ --enable-jobs=NUM Number of jobs to run simultaneously], JOBS=-j$enableval, JOBS=-j1) dnl Enables linking to libselinux AC_ARG_ENABLE(libselinux, [ --enable-libselinux Use this to link the tools to libselinux ], LIBSELINUX=$enableval, LIBSELINUX=no) dnl Enables linking to libselinux AC_ARG_ENABLE(libsepol, [ --enable-libsepol Use this to link the tools to libsepol ], LIBSEPOL=$enableval, LIBSEPOL=no) dnl Enables mini binary AC_ARG_ENABLE(mini, [ --enable-mini Use this to create a minimal binary suitable for early boot environments], DMRAID_MINI=$enableval, DMRAID_MINI=no) dnl Enables LED support AC_ARG_ENABLE(led, [ --enable-led Use this to enable LED support], DMRAID_LED=$enableval, DMRAID_LED=no) dnl Enables Intel LED support AC_ARG_ENABLE(intel_led, [ --enable-intel_led Use this to enable Intel LED support], DMRAID_INTEL_LED=$enableval, DMRAID_INTEL_LED=no) echo $ac_n "checking whether to disable native metadata logging""... $ac_c" 1>&6 dnl Disable native metadata logging AC_ARG_ENABLE(native_log, [ --disable-native_log Disable native metadata logging. Default is enabled], \ DMRAID_NATIVE_LOG=$enableval, DMRAID_NATIVE_LOG=yes) echo "$ac_t""$DMRAID_NATIVE_LOG" 1>&6 dnl Enables staticly linked tools AC_ARG_ENABLE(static_link, [ --enable-static_link Use this to link the tools to the dmraid and devmapper libraries statically. Default is dynamic linking], STATIC_LINK=$enableval, STATIC_LINK=no) dnl Enables shared libdmraid AC_ARG_ENABLE(shared_lib, [ --enable-shared_lib Use this to generate shared libdmraid and link the tools to it. Default is static libdmraid], LIB_SO=$enableval, LIB_SO=no) echo $ac_n "checking whether to disable testing with mapped devices""... $ac_c" 1>&6 dnl Disable testing with mapped devices AC_ARG_ENABLE(testing, [ --disable-testing Disable testing with mapped devices], \ DMRAID_TEST=no, DMRAID_TEST=yes) echo "$ac_t""$DEBUG" 1>&6 if test x$LIB_SO = xyes; then FLAVOUR="shared " fi if test x$STATIC_LINK = xyes; then FLAVOUR="static " if test x$LIB_SO = xyes; then AC_MSG_ERROR(You can' enable both shared_lib and static_link!) exit 1 fi fi if test x$DMRAID_MINI = xyes; then CFLAGS="$CFLAGS -DDMRAID_MINI" FLAVOUR="${FLAVOUR}mini " else if test x$DMRAID_NATIVE_LOG = xno; then FLAVOUR="${FLAVOUR}no_native_log " else CFLAGS="$CFLAGS -DDMRAID_NATIVE_LOG" fi fi if test x$DMRAID_LED = xyes; then CFLAGS="$CFLAGS -DDMRAID_LED" fi if test x$DMRAID_INTEL_LED = xyes; then CFLAGS="$CFLAGS -DDMRAID_LED -DDMRAID_INTEL_LED" fi if test x$DEBUG = xyes; then FLAVOUR="${FLAVOUR}debug " fi if test x$DEBUG_MALLOC = xyes; then FLAVOUR="${FLAVOUR}debug_malloc " fi dnl Mess with default exec_prefix if [[ "x$exec_prefix" = xNONE -a "x$prefix" = xNONE ]]; then exec_prefix=""; fi; dnl Checks for library functions. AC_PROG_GCC_TRADITIONAL AC_TYPE_SIGNAL AC_FUNC_VPRINTF AC_CHECK_FUNCS(mkdir rmdir uname) dnl check for termcap (Shamelessly copied from parted 1.4.17) if test x$READLINE = xyes; then AC_SEARCH_LIBS(tgetent, ncurses curses termcap termlib, , AC_MSG_ERROR( termcap could not be found which is required for the --enable-readline option (which is enabled by default). Either disable readline support with --disable-readline or download and install termcap from: ftp.gnu.org/gnu/termcap Note: if you are using precompiled packages you will also need the development package as well (which may be called termcap-devel or something similar). Note: (n)curses also seems to work as a substitute for termcap. This was not found either - but you could try installing that as well. ) exit ) fi dnl Klibc do not currently support getopt_long, but the test passes anyhow as dnl it calls gcc -E without considering CFLAGS ... if test x$KLIBC != xyes; then dnl Check for getopt AC_CHECK_HEADERS(getopt.h, CFLAGS="$CFLAGS -DHAVE_GETOPTLONG") fi if test "-f tools/VERSION"; then DMRAID_VERSION="`cat tools/VERSION`" else DMRAID_VERSION="Unknown" fi if test "-f lib/version.h"; then DMRAID_LIB_VERSION="`sed --quiet 's/^.*\(DMRAID_LIB_VERSION\)[[^_]].*"\(.*\)"/\2/p' lib/version.h`" else DMRAID_LIB_VERSION="Unknown" fi AC_SUBST(CC) AC_SUBST(CFLAGS) AC_SUBST(CLDFLAGS) AC_SUBST(DEBUG) AC_SUBST(DEBUG_MALLOC) AC_SUBST(DMRAID_TEST) AC_SUBST(DMRAID_VERSION) AC_SUBST(DMRAID_LIB_VERSION) AC_SUBST(DIETLIBC) AC_SUBST(GROUP) AC_SUBST(JOBS) AC_SUBST(LD_DEPS) AC_SUBST(FLAVOUR) AC_SUBST(LIBS) AC_SUBST(LIBSELINUX) AC_SUBST(LIBSEPOL) AC_SUBST(LIB_SO) AC_SUBST(OWNER) AC_SUBST(SOFLAG) AC_SUBST(STATIC_LINK) dnl First and last lines should not contain files to generate in order to dnl keep utility scripts running properly AC_OUTPUT( \ include/Makefile \ lib/Makefile \ man/Makefile \ tools/Makefile \ tools/version.h \ Makefile \ make.tmpl \ ) dmraid/1.0.0.rc16/dmraid.spec0000644000175200007640000003312711254126725016041 0ustar mauelshamauelsha# # Copyright (C) Heinz Mauelshagen, 2004-2009 Red Hat GmbH. All rights reserved. # # See file LICENSE at the top of this source tree for license information. # Summary: dmraid (Device-mapper RAID tool and library) Name: dmraid Version: 1.0.0.rc16 Release: 1%{?dist} License: GPLv2+ Group: System Environment/Base URL: http://people.redhat.com/heinzm/sw/dmraid BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot BuildRequires: device-mapper >= 1.02.02-2, libselinux-devel, libsepol-devel Requires: dmraid-events kpartx Requires(postun): ldconfig Requires(post): ldconfig Source: ftp://people.redhat.com/heinzm/sw/dmraid/src/%{name}-%{version}.tar.bz2 %description DMRAID supports RAID device discovery, RAID set activation, creation, removal, rebuild and display of properties for ATARAID/DDF1 metadata on Linux >= 2.4 using device-mapper. %package -n dmraid-devel Summary: Development libraries and headers for dmraid. Group: Development/Libraries License: GPLv2+ Requires: %{name} = %{version}-%{release} Requires: %{name}-libs = %{version}-%{release} %description -n dmraid-devel dmraid-devel provides a library interface for RAID device discovery, RAID set activation and display of properties for ATARAID volumes. %package -n dmraid-events Summary: dmevent_tool (Device-mapper event tool) and DSO Group: System Environment/Base Requires: dmraid = %{version}-%{release}, sgpio %description -n dmraid-events Provides a dmeventd DSO and the dmevent_tool to register devices with it for device monitoring. All active RAID sets should be manually registered with dmevent_tool. %package -n dmraid-events-logwatch Summary: dmraid logwatch-based email reporting Group: System Environment/Base Requires: dmraid-events = %{version}-%{release}, logwatch, /etc/cron.d %description -n dmraid-events-logwatch Provides device failure reporting via logwatch-based email reporting. Device failure reporting has to be activated manually by activating the /etc/cron.d/dmeventd-logwatch entry and by calling the dmevent_tool (see manual page for examples) for any active RAID sets. %prep %setup -q -n dmraid/%{version} %build %configure --prefix=${RPM_BUILD_ROOT}/usr --sbindir=${RPM_BUILD_ROOT}/sbin --libdir=${RPM_BUILD_ROOT}/%{_libdir} --mandir=${RPM_BUILD_ROOT}/%{_mandir} --includedir=${RPM_BUILD_ROOT}/%{_includedir} --enable-debug --enable-libselinux --enable-libsepol --enable-static_link --enable-led --enable-intel_led make DESTDIR=$RPM_BUILD_ROOT mv tools/dmraid tools/dmraid.static make clean %configure --prefix=${RPM_BUILD_ROOT}/usr --sbindir=${RPM_BUILD_ROOT}/sbin --libdir=${RPM_BUILD_ROOT}/%{_libdir} --mandir=${RPM_BUILD_ROOT}/%{_mandir} --includedir=${RPM_BUILD_ROOT}/%{_includedir} --enable-debug --enable-libselinux --enable-libsepol --disable-static_linko --enable-led --enable-intel_led make DESTDIR=$RPM_BUILD_ROOT %install rm -rf $RPM_BUILD_ROOT install -m 755 -d $RPM_BUILD_ROOT{%{_libdir},/sbin,%{_sbindir},%{_bindir},%{_libdir},%{_includedir}/dmraid/,/var/lock/dmraid,/etc/cron.d/,/etc/logwatch/conf/services/,/etc/logwatch/scripts/services/} make DESTDIR=$RPM_BUILD_ROOT install # Install static dmraid binary install -m 755 tools/dmraid.static $RPM_BUILD_ROOT/sbin/dmraid.static # Provide convenience link from dmevent_tool (cd $RPM_BUILD_ROOT/sbin ; ln -f dmevent_tool dm_dso_reg_tool) install -m 644 include/dmraid/*.h $RPM_BUILD_ROOT%{_includedir}/dmraid/ # If requested, install the libdmraid and libdmraid-events (for dmeventd) DSO install -m 755 lib/libdmraid.so \ $RPM_BUILD_ROOT%{_libdir}/libdmraid.so.%{version} (cd $RPM_BUILD_ROOT/%{_libdir} ; ln -sf libdmraid.so.%{version} libdmraid.so) install -m 755 lib/libdmraid-events-isw.so \ $RPM_BUILD_ROOT%{_libdir}/libdmraid-events-isw.so.%{version} (cd $RPM_BUILD_ROOT/%{_libdir} ; ln -sf libdmraid-events-isw.so.%{version} libdmraid-events-isw.so) # Install logwatch config file and script for dmeventd install -m 644 logwatch/dmeventd.conf $RPM_BUILD_ROOT/etc/logwatch/conf/services/dmeventd.conf install -m 755 logwatch/dmeventd $RPM_BUILD_ROOT/etc/logwatch/scripts/services/dmeventd install -m 644 logwatch/dmeventd_cronjob.txt $RPM_BUILD_ROOT/etc/cron.d/dmeventd-logwatch install -m 0700 /dev/null $RPM_BUILD_ROOT/etc/logwatch/scripts/services/dmeventd_syslogpattern.txt rm -f $RPM_BUILD_ROOT/%{_libdir}/libdmraid.a %clean rm -rf $RPM_BUILD_ROOT %post -p /sbin/ldconfig %postun -p /sbin/ldconfig %files %defattr(-,root,root) %doc CHANGELOG CREDITS KNOWN_BUGS LICENSE LICENSE_GPL LICENSE_LGPL README TODO doc/dmraid_design.txt /%{_mandir}/man8/dmraid* /sbin/dmraid /sbin/dmraid.static %{_libdir}/libdmraid.so* %{_libdir}/libdmraid-events-isw.so* /var/lock/dmraid %files -n dmraid-devel %defattr(-,root,root) %dir %{_includedir}/dmraid %{_includedir}/dmraid/* %files -n dmraid-events %defattr(-,root,root) /%{_mandir}/man8/dmevent_tool* /sbin/dmevent_tool /sbin/dm_dso_reg_tool %files -n dmraid-events-logwatch %defattr(-,root,root) %config(noreplace) /etc/logwatch/* %config(noreplace) /etc/cron.d/dmeventd-logwatch %ghost /etc/logwatch/scripts/services/dmeventd_syslogpattern.txt %changelog * Thu Sep 16 2009 Heinz Mauelshagen - 1.0.0.rc16 - Update to version 1.0.0.rc16 * Fri Apr 17 2009 Hans de Goede - 1.0.0.rc15-7 - Fix activation of isw raid sets when the disks have serialnumber longer then 16 characters (#490121) * Tue Feb 24 2009 Fedora Release Engineering - 1.0.0.rc15-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild * Fri Feb 13 2009 Hans de Goede - 1.0.0.rc15-5 - Make --rm_partitions work with older kernels which return EINVAL when trying to remove a partition with a number > 16 - Document --rm_partitions in the man page * Thu Feb 12 2009 Hans de Goede - 1.0.0.rc15-4 - Add patch adding --rm_partitions cmdline option and functionality (#484845) * Thu Feb 5 2009 Hans de Goede - 1.0.0.rc15-3 - Fix mismatch between BIOS and dmraid's view of ISW raid 10 sets * Tue Nov 18 2008 Bill Nottingham - 1.0.0.rc15-2 - Re-add upstream whitespace removal patch (#468649, #470634) * Thu Sep 25 2008 Heinz Mauelshagen - 1.0.0.rc15-1 - Update to version 1.0.0.rc15 * Thu Jul 03 2008 Alasdair Kergon - 1.0.0.rc14-8 - Move library into libs subpackage. - Fix summary and licence tags. - Replace static build with symlink. * Tue Feb 19 2008 Fedora Release Engineering - 1.0.0.rc14-7 - Autorebuild for GCC 4.3 * Wed Nov 21 2007 Ian Kent - 1.0.0.rc14-6 - Bug 379911: dmraid needs to generate UUIDs for lib device-mapper - add "DMRAID-" prefix to dmraid UUID string. * Wed Nov 14 2007 Ian Kent - 1.0.0.rc14-5 - Bug 379911: dmraid needs to generate UUIDs for lib device-mapper - Bug 379951: dmraid needs to activate device-mapper mirror resynchronization error handling * Mon Oct 22 2007 Ian Kent - 1.0.0.rc14-4 - Fix SEGV on "dmraid -r -E" (bz 236891). * Wed Apr 18 2007 Peter Jones - 1.0.0.rc14-3 - Fix jmicron name parsing (#219058) * Mon Feb 05 2007 Alasdair Kergon - 1.0.0.rc14-2 - Add build dependency on new device-mapper-devel package. - Add dependency on device-mapper. - Add post and postun ldconfig. - Update BuildRoot and Summary. * Wed Nov 08 2006 Heinz Mauelshagen - 1.0.0.rc14-1 - asr.c: fixed Adaptec HostRAID DDF1 metadata discovery (bz#211016) - ddf1_crc.c: added crc() routine to avoid linking to zlib alltogether, because Ubuntu had problems with this - dropped zlib build requirement * Thu Oct 26 2006 Heinz Mauelshagen - 1.0.0.rc14-bz211016-1 - ddf1.c: get_size() fixed (bz#211016) - ddf1_lib.c: ddf1_cr_off_maxpds_helper() fixed (bz#211016) * Wed Oct 11 2006 Heinz Mauelshagen - 1.0.0.rc13-1 - metadata.c: fixed bug returning wrang unified RAID type (bz#210085) - pdc.c: fixed magic number check * Sun Oct 01 2006 Jesse Keating - 1.0.0.rc12-7 - rebuilt for unwind info generation, broken in gcc-4.1.1-21 * Fri Sep 22 2006 Heinz Mauelshagen - 1.0.0.rc12-1 - sil.c: quorate() OBO fix - activate.c: handler() OBO fix - added SNIA DDF1 support - added reload functionality to devmapper.c - added log_zero_sectors() to various metadata format handlers - sil.[ch]: added JBOD support * Fri Sep 1 2006 Peter Jones - 1.0.0.rc11-4 - Require kpartx, so initscripts doesn't have to if you're not using dmraid * Thu Aug 17 2006 Jesse Keating - 1.0.0.rc11-3 - Change Release to follow guidelines, and add dist tag. * Thu Aug 17 2006 Peter Jones - 1.0.0.rc11-FC6.3 - No more excludearch for s390/s390x * Fri Jul 28 2006 Peter Jones - 1.0.0.rc11-FC6.2 - Fix bounds checking on hpt37x error log - Only build the .so, not the .a - Fix asc.c duplication in makefile rule * Wed Jul 12 2006 Jesse Keating - 1.0.0.rc11-FC6.1.1 - rebuild * Fri Jul 7 2006 Heinz Mauelshagen - 1.0.0.rc11-FC6.1 - rebuilt for FC6 with dos partition discovery fix (#197573) * Tue May 16 2006 Heinz Mauelshagen - 1.0.0.rc11-FC6 - rebuilt for FC6 with better tag * Tue May 16 2006 Heinz Mauelshagen - 1.0.0.rc11-FC5_7.2 - rebuilt for FC5 * Tue May 16 2006 Heinz Mauelshagen - 1.0.0.rc11-FC5_7.1 - jm.c: checksum() calculation - misc.c: support "%d" in p_fmt and fix segfault with wrong format identifier - nv.c: size fix in setup_rd() - activate.c: o striped devices could end on non-chunk boundaries o calc_region_size() calculated too small sizes causing large dirty logs in memory - isw.c: set raid5 type to left asymmetric - toollib.c: fixed 'No RAID...' message - support selection of RAID5 allocation algorithm in metadata format handlers - build * Mon Mar 27 2006 Milan Broz - 1.0.0.rc10-FC5_6.2 - fixed /var/lock/dmraid in specfile (#168195) * Fri Feb 17 2006 Heinz Mauelshagen - 1.0.0.rc10-FC5_6 - add doc/dmraid_design.txt to %doc (#181885) - add --enable-libselinux --enable-libsepol to configure - rebuilt * Fri Feb 10 2006 Jesse Keating - 1.0.0.rc9-FC5_5.2 - bump again for double-long bug on ppc(64) * Tue Feb 07 2006 Jesse Keating - 1.0.0.rc9-FC5_5.1 - rebuilt for new gcc4.1 snapshot and glibc changes * Sun Jan 22 2006 Peter Jones 1.0.0.rc9-FC5_5 - Add selinux build deps - Don't set owner during make install * Fri Dec 9 2005 Jesse Keating 1.0.0.rc9-FC5_4.1 - rebuilt * Sun Dec 3 2005 Peter Jones 1.0.0.rc9-FC5_4 - rebuild for device-mapper-1.02.02-2 * Fri Dec 2 2005 Peter Jones 1.0.0.rc9-FC5_3 - rebuild for device-mapper-1.02.02-1 * Thu Nov 10 2005 Peter Jones 1.0.0.rc9-FC5_2 - update to 1.0.0.rc9 - make "make install" do the right thing with the DSO - eliminate duplicate definitions in the headers - export more symbols in the DSO - add api calls to retrieve dm tables - fix DESTDIR for 'make install' - add api calls to identify degraded devices - remove several arch excludes * Sat Oct 15 2005 Florian La Roche - add -lselinux -lsepol for new device-mapper deps * Fri May 20 2005 Heinz Mauelshagen 1.0.0.rc8-FC4_2 - specfile change to build static and dynamic binray into one package - rebuilt * Thu May 19 2005 Heinz Mauelshagen 1.0.0.rc8-FC4_1 - nv.c: fixed stripe size - sil.c: avoid incarnation_no in name creation, because the Windows driver changes it every time - added --ignorelocking option to avoid taking out locks in early boot where no read/write access to /var is given * Wed Mar 16 2005 Elliot Lee - rebuilt * Tue Mar 15 2005 Heinz Mauelshagen 1.0.0.rc6.1-4_FC4 - VIA metadata format handler - added RAID10 to lsi metadata format handler - "dmraid -rD": file device size into {devicename}_{formatname}.size - "dmraid -tay": pretty print multi-line tables ala "dmsetup table" - "dmraid -l": display supported RAID levels + manual update - _sil_read() used LOG_NOTICE rather than LOG_INFO in order to avoid messages about valid metadata areas being displayed during "dmraid -vay". - isw, sil filed metadata offset on "-r -D" in sectors rather than in bytes. - isw needed dev_sort() to sort RAID devices in sets correctly. - pdc metadata format handler name creation. Lead to wrong RAID set grouping logic in some configurations. - pdc RAID1 size calculation fixed (rc6.1) - dos.c: partition table code fixes by Paul Moore - _free_dev_pointers(): fixed potential OOB error - hpt37x_check: deal with raid_disks = 1 in mirror sets - pdc_check: status & 0x80 doesn't always show a failed device; removed that check for now. Status definitions needed. - sil addition of RAID sets to global list of sets - sil spare device memory leak - group_set(): removal of RAID set in case of error - hpt37x: handle total_secs > device size - allow -p with -f - enhanced error message by checking target type against list of registered target types * Fri Jan 21 2005 Alasdair Kergon 1.0.0.rc5f-2 - Rebuild to pick up new libdevmapper. * Fri Nov 26 2004 Heinz Mauelshagen 1.0.0.rc5f - specfile cleanup * Tue Aug 20 2004 Heinz Mauelshagen 1.0.0-rc4-pre1 - Removed make flag after fixing make.tmpl.in * Tue Aug 18 2004 Heinz Mauelshagen 1.0.0-rc3 - Added make flag to prevent make 3.80 from looping infinitely * Thu Jun 17 2004 Heinz Mauelshagen 1.0.0-pre1 - Created dmraid/1.0.0.rc16/LICENSE_LGPL0000644000175200007640000006347611254123773015562 0ustar mauelshamauelsha GNU LESSER GENERAL PUBLIC LICENSE Version 2.1, February 1999 Copyright (C) 1991, 1999 Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. [This is the first released version of the Lesser GPL. It also counts as the successor of the GNU Library Public License, version 2, hence the version number 2.1.] Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public Licenses are intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This license, the Lesser General Public License, applies to some specially designated software packages--typically libraries--of the Free Software Foundation and other authors who decide to use it. You can use it too, but we suggest you first think carefully about whether this license or the ordinary General Public License is the better strategy to use in any particular case, based on the explanations below. When we speak of free software, we are referring to freedom of use, 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 and use pieces of it in new free programs; and that you are informed that you can do these things. To protect your rights, we need to make restrictions that forbid distributors to deny you these rights or to ask you to surrender these rights. These restrictions translate to certain responsibilities for you if you distribute copies of the library or if you modify it. For example, if you distribute copies of the library, whether gratis or for a fee, you must give the recipients all the rights that we gave you. You must make sure that they, too, receive or can get the source code. If you link other code with the library, you must provide complete object files to the recipients, so that they can relink them with the library after making changes to the library and recompiling it. And you must show them these terms so they know their rights. We protect your rights with a two-step method: (1) we copyright the library, and (2) we offer you this license, which gives you legal permission to copy, distribute and/or modify the library. To protect each distributor, we want to make it very clear that there is no warranty for the free library. Also, if the library is modified by someone else and passed on, the recipients should know that what they have is not the original version, so that the original author's reputation will not be affected by problems that might be introduced by others. Finally, software patents pose a constant threat to the existence of any free program. We wish to make sure that a company cannot effectively restrict the users of a free program by obtaining a restrictive license from a patent holder. Therefore, we insist that any patent license obtained for a version of the library must be consistent with the full freedom of use specified in this license. Most GNU software, including some libraries, is covered by the ordinary GNU General Public License. This license, the GNU Lesser General Public License, applies to certain designated libraries, and is quite different from the ordinary General Public License. We use this license for certain libraries in order to permit linking those libraries into non-free programs. When a program is linked with a library, whether statically or using a shared library, the combination of the two is legally speaking a combined work, a derivative of the original library. The ordinary General Public License therefore permits such linking only if the entire combination fits its criteria of freedom. The Lesser General Public License permits more lax criteria for linking other code with the library. We call this license the "Lesser" General Public License because it does Less to protect the user's freedom than the ordinary General Public License. It also provides other free software developers Less of an advantage over competing non-free programs. These disadvantages are the reason we use the ordinary General Public License for many libraries. However, the Lesser license provides advantages in certain special circumstances. For example, on rare occasions, there may be a special need to encourage the widest possible use of a certain library, so that it becomes a de-facto standard. To achieve this, non-free programs must be allowed to use the library. A more frequent case is that a free library does the same job as widely used non-free libraries. In this case, there is little to gain by limiting the free library to free software only, so we use the Lesser General Public License. In other cases, permission to use a particular library in non-free programs enables a greater number of people to use a large body of free software. For example, permission to use the GNU C Library in non-free programs enables many more people to use the whole GNU operating system, as well as its variant, the GNU/Linux operating system. Although the Lesser General Public License is Less protective of the users' freedom, it does ensure that the user of a program that is linked with the Library has the freedom and the wherewithal to run that program using a modified version of the Library. The precise terms and conditions for copying, distribution and modification follow. Pay close attention to the difference between a "work based on the library" and a "work that uses the library". The former contains code derived from the library, whereas the latter must be combined with the library in order to run. GNU LESSER GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License Agreement applies to any software library or other program which contains a notice placed by the copyright holder or other authorized party saying it may be distributed under the terms of this Lesser General Public License (also called "this License"). Each licensee is addressed as "you". A "library" means a collection of software functions and/or data prepared so as to be conveniently linked with application programs (which use some of those functions and data) to form executables. The "Library", below, refers to any such software library or work which has been distributed under these terms. A "work based on the Library" means either the Library or any derivative work under copyright law: that is to say, a work containing the Library or a portion of it, either verbatim or with modifications and/or translated straightforwardly into another language. (Hereinafter, translation is included without limitation in the term "modification".) "Source code" for a work means the preferred form of the work for making modifications to it. For a library, 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 library. Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running a program using the Library is not restricted, and output from such a program is covered only if its contents constitute a work based on the Library (independent of the use of the Library in a tool for writing it). Whether that is true depends on what the Library does and what the program that uses the Library does. 1. You may copy and distribute verbatim copies of the Library's complete 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 distribute a copy of this License along with the Library. 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 Library or any portion of it, thus forming a work based on the Library, 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) The modified work must itself be a software library. b) You must cause the files modified to carry prominent notices stating that you changed the files and the date of any change. c) You must cause the whole of the work to be licensed at no charge to all third parties under the terms of this License. d) If a facility in the modified Library refers to a function or a table of data to be supplied by an application program that uses the facility, other than as an argument passed when the facility is invoked, then you must make a good faith effort to ensure that, in the event an application does not supply such function or table, the facility still operates, and performs whatever part of its purpose remains meaningful. (For example, a function in a library to compute square roots has a purpose that is entirely well-defined independent of the application. Therefore, Subsection 2d requires that any application-supplied function or table used by this function must be optional: if the application does not supply it, the square root function must still compute square roots.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Library, 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 Library, 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 Library. In addition, mere aggregation of another work not based on the Library with the Library (or with a work based on the Library) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may opt to apply the terms of the ordinary GNU General Public License instead of this License to a given copy of the Library. To do this, you must alter all the notices that refer to this License, so that they refer to the ordinary GNU General Public License, version 2, instead of to this License. (If a newer version than version 2 of the ordinary GNU General Public License has appeared, then you can specify that version instead if you wish.) Do not make any other change in these notices. Once this change is made in a given copy, it is irreversible for that copy, so the ordinary GNU General Public License applies to all subsequent copies and derivative works made from that copy. This option is useful when you wish to copy part of the code of the Library into a program that is not a library. 4. You may copy and distribute the Library (or a portion or derivative of it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you 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. If distribution of 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 satisfies the requirement to distribute the source code, even though third parties are not compelled to copy the source along with the object code. 5. A program that contains no derivative of any portion of the Library, but is designed to work with the Library by being compiled or linked with it, is called a "work that uses the Library". Such a work, in isolation, is not a derivative work of the Library, and therefore falls outside the scope of this License. However, linking a "work that uses the Library" with the Library creates an executable that is a derivative of the Library (because it contains portions of the Library), rather than a "work that uses the library". The executable is therefore covered by this License. Section 6 states terms for distribution of such executables. When a "work that uses the Library" uses material from a header file that is part of the Library, the object code for the work may be a derivative work of the Library even though the source code is not. Whether this is true is especially significant if the work can be linked without the Library, or if the work is itself a library. The threshold for this to be true is not precisely defined by law. If such an object file uses only numerical parameters, data structure layouts and accessors, and small macros and small inline functions (ten lines or less in length), then the use of the object file is unrestricted, regardless of whether it is legally a derivative work. (Executables containing this object code plus portions of the Library will still fall under Section 6.) Otherwise, if the work is a derivative of the Library, you may distribute the object code for the work under the terms of Section 6. Any executables containing that work also fall under Section 6, whether or not they are linked directly with the Library itself. 6. As an exception to the Sections above, you may also combine or link a "work that uses the Library" with the Library to produce a work containing portions of the Library, and distribute that work under terms of your choice, provided that the terms permit modification of the work for the customer's own use and reverse engineering for debugging such modifications. You must give prominent notice with each copy of the work that the Library is used in it and that the Library and its use are covered by this License. You must supply a copy of this License. If the work during execution displays copyright notices, you must include the copyright notice for the Library among them, as well as a reference directing the user to the copy of this License. Also, you must do one of these things: a) Accompany the work with the complete corresponding machine-readable source code for the Library including whatever changes were used in the work (which must be distributed under Sections 1 and 2 above); and, if the work is an executable linked with the Library, with the complete machine-readable "work that uses the Library", as object code and/or source code, so that the user can modify the Library and then relink to produce a modified executable containing the modified Library. (It is understood that the user who changes the contents of definitions files in the Library will not necessarily be able to recompile the application to use the modified definitions.) b) Use a suitable shared library mechanism for linking with the Library. A suitable mechanism is one that (1) uses at run time a copy of the library already present on the user's computer system, rather than copying library functions into the executable, and (2) will operate properly with a modified version of the library, if the user installs one, as long as the modified version is interface-compatible with the version that the work was made with. c) Accompany the work with a written offer, valid for at least three years, to give the same user the materials specified in Subsection 6a, above, for a charge no more than the cost of performing this distribution. d) If distribution of the work is made by offering access to copy from a designated place, offer equivalent access to copy the above specified materials from the same place. e) Verify that the user has already received a copy of these materials or that you have already sent this user a copy. For an executable, the required form of the "work that uses the Library" must include any data and utility programs needed for reproducing the executable from it. However, as a special exception, the materials to be 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. It may happen that this requirement contradicts the license restrictions of other proprietary libraries that do not normally accompany the operating system. Such a contradiction means you cannot use both them and the Library together in an executable that you distribute. 7. You may place library facilities that are a work based on the Library side-by-side in a single library together with other library facilities not covered by this License, and distribute such a combined library, provided that the separate distribution of the work based on the Library and of the other library facilities is otherwise permitted, and provided that you do these two things: a) Accompany the combined library with a copy of the same work based on the Library, uncombined with any other library facilities. This must be distributed under the terms of the Sections above. b) Give prominent notice with the combined library of the fact that part of it is a work based on the Library, and explaining where to find the accompanying uncombined form of the same work. 8. You may not copy, modify, sublicense, link with, or distribute the Library except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense, link with, or distribute the Library 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. 9. 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 Library or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Library (or any work based on the Library), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Library or works based on it. 10. Each time you redistribute the Library (or any work based on the Library), the recipient automatically receives a license from the original licensor to copy, distribute, link with or modify the Library 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 with this License. 11. 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 Library at all. For example, if a patent license would not permit royalty-free redistribution of the Library 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 Library. 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. 12. If the distribution and/or use of the Library is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Library 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. 13. The Free Software Foundation may publish revised and/or new versions of the Lesser 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 Library 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 Library does not specify a license version number, you may choose any version ever published by the Free Software Foundation. 14. If you wish to incorporate parts of the Library into other free programs whose distribution conditions are incompatible with these, 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 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE LIBRARY "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 LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 16. 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 LIBRARY 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 LIBRARY (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 LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), 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 Libraries If you develop a new library, and you want it to be of the greatest possible use to the public, we recommend making it free software that everyone can redistribute and change. You can do so by permitting redistribution under these terms (or, alternatively, under the terms of the ordinary General Public License). To apply these terms, attach the following notices to the library. 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 library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library 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 Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Also add information on how to contact you by electronic and paper mail. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the library, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the library `Frob' (a library for tweaking knobs) written by James Random Hacker. , 1 April 1990 Ty Coon, President of Vice That's all there is to it! dmraid/1.0.0.rc16/README0000644000175200007640000000623311254134110014566 0ustar mauelshamauelsha******************************************************************************** * * * dmraid (Device-Mapper Software RAID support tool) 1.0.0.rc16 2006.09.16 * * * * (C)opyright 2004-2009 Heinz Mauelshagen, Red Hat GmbH. * * All rights reserved. * * * ******************************************************************************** Feature set: ------------ This software supports RAID device discovery, RAID set activation, creation, removal, rebuild and display of properties for ATARAID/DDF1 metadata. dmraid uses libdevmapper and the device-mapper kernel runtime to create devices with respective mappings for the ATARAID sets discovered. The following ATARAID types are supported: Adaptec HostRAID ASR Highpoint HPT37X Highpoint HPT45X Intel Software RAID JMicron JMB36x LSI Logic MegaRAID NVidia NForce Promise FastTrack Silicon Image Medley SNIA DDF1 VIA Software RAID Beside hints, enhancement proposals and patches, I want to know, if the mappings the tool creates ("dmraid -tay") are correct for your ATARAID configuration. Thank you for your support of dmraid. License/Disclaimer: ------------------- This software is released under the GPL/LGPL respectively. See file headers, LICENSE, LICENSE_GPL and LICENSE_LGPL for details. This is Alpha software and it can destroy your data! So please take backups and start accessing your data in dmraid activated ATARAID sets READ-ONLY first before you try to write it! Minimum prerequisites to run this software: ------------------------------------------- o a recent mainline Linux 2.6 kernel (includes needed device-mapper mirror changes) Additional minimum prerequisites to build this software: -------------------------------------------------------- o device mapper userpace installed (http://sources.redhat.com/dm/) o the i386 rpm or source tarball for dmraid from http://people.redhat.com/heinzm/sw/dmraid/ Build/Install: -------------- To install the rpm rpm -i [--nodeps] dmraid-1.0.0.rc16.x86_64.rpm - or - to build in an empty directory and install from source tar jxvf dmraid-1.0.0.rc16.tar.bz2 ./configure # see ./configure --help for options make make install In case you want to dietize dmraid, you need to build device-mapper with 'make CC="diet cc"' *and* install libdevmapper.a as /lib/libdevmapper_dietc.a. Run "./configure --enable-dietlibc" before make. Howto start: ------------ See "dmraid -h" for the synopsis and "man dmraid" for more details including some usage examples. Your first command is probably "dmraid -s". See TODO for known outstanding issues. See doc/dmraid_design.txt for design notes. See lib/format/template/ if you want to start your own metadata format handler implementation :) Contacts: --------- The author can be reached at . For discussions, questions, patches, enhancement requests etc., please subscribe and mail to . dmraid/1.0.0.rc16/Makefile.in0000644000175200007640000000057111254123773015767 0ustar mauelshamauelsha# # Copyright (C) 2004,2005 Heinz Mauelshagen, Red Hat GmbH. All rights reserved. # # See file LICENSE at the top of this source tree for license information. # srcdir = @srcdir@ top_srcdir = @top_srcdir@ VPATH = @srcdir@ SUBDIRS = include lib man tools TARGETS = tools/dmraid include make.tmpl tools: lib rpm: rpmbuild -bb dmraid.spec srpm: rpmbuild -bs dmraid.spec dmraid/1.0.0.rc16/aclocal.m40000644000175200007640000000556611254123773015573 0ustar mauelshamauelsha# klibc.m4 serial 99 ## Copyright (C) 1995-2003 Free Software Foundation, Inc. ## This file is free software, distributed under the terms of the GNU ## General Public License. As a special exception to the GNU General ## Public License, this file may be distributed as part of a program ## that contains a configuration script generated by Autoconf, under ## the same distribution terms as the rest of that program. ## ## This file can can be used in projects which are not available under ## the GNU General Public License or the GNU Library General Public ## License but which still want to provide support for the GNU gettext ## functionality. ## Please note that the actual code of the GNU gettext library is covered ## by the GNU Library General Public License, and the rest of the GNU ## gettext package package is covered by the GNU General Public License. ## They are *not* in the public domain. # Authors: # Martin Schlemmer , 2005. # AC_CHECK_KLIBC # -------------- # Check if the user wants KLIBC support enabled. If so, set KLIBC=yes and # fill in KLIBC_PREFIX, KLIBC_BINDIR, KLIBC_SBINDIR, KLIBC_LIBDIR and # KLIBC_INCLUDEDIR. CC is also set to the proper klcc executable. # NOTE: This should be called before AC_PROG_CC, and before header, function # or type checks. AC_DEFUN([AC_CHECK_KLIBC], [AC_BEFORE([$0], [AC_PROG_CC]) AC_REQUIRE([AC_CANONICAL_HOST]) AC_ARG_ENABLE([klibc], [AC_HELP_STRING([--enable-klibc], [Use this to link the tools to klibc. Set KLCC to the absolute file name of klcc if not in the PATH.])], [KLIBC=$enableval], [KLIBC=no]) if test "X$KLIBC" = Xyes; then # Basic cross compiling support. I do not think it is wise to use # AC_CHECK_TOOL, because if we are cross compiling, we do not want # just 'klcc' to be returned ... if test "X$cross_compiling" = Xyes; then AC_CHECK_PROGS([KLCC], [${host_alias}-klcc], [no]) else AC_CHECK_PROGS([KLCC], [klcc], [no]) fi if test "X$KLCC" = Xno; then AC_MSG_ERROR([cannot find klibc frontend 'klcc'!]) fi CC="$KLCC" CFLAGS="-Os" KLIBC_KCROSS="$($KLCC -print-klibc-kcross 2>/dev/null)" KLIBC_PREFIX="$($KLCC -print-klibc-prefix 2>/dev/null)" KLIBC_BIN_DIR="$($KLCC -print-klibc-bindir 2>/dev/null)" KLIBC_SBIN_DIR="${KLIBC_PREFIX}/${KLIBC_KCROSS}sbin" KLIBC_LIB_DIR="$($KLCC -print-klibc-libdir 2>/dev/null)" KLIBC_INCLUDE_DIR="$($KLCC -print-klibc-includedir 2>/dev/null)" # At least KLIBC_LIB_DIR should be valid, else klibc is too old or # something went wrong if test ! -d "$KLIBC_LIB_DIR"; then AC_MSG_ERROR([your klibc installation is too old or not functional!]) fi fi AC_SUBST(KLIBC) AC_SUBST(KLIBC_PREFIX) AC_SUBST(KLIBC_BIN_DIR) AC_SUBST(KLIBC_SBIN_DIR) AC_SUBST(KLIBC_LIB_DIR) AC_SUBST(KLIBC_INCLUDE_DIR) ])# AC_CHECK_KLIBC dmraid/1.0.0.rc16/include/0000755000175200007640000000000011254261512015334 5ustar mauelshamauelshadmraid/1.0.0.rc16/include/dmraid/0000755000175200007640000000000011254124143016572 5ustar mauelshamauelshadmraid/1.0.0.rc16/include/dmraid/format.h0000644000175200007640000001755711254123773020262 0ustar mauelshamauelsha/* * Copyright (C) 2004-2009 Heinz Mauelshagen, Red Hat GmbH. * All rights reserved. * * Copyright (C) 2007,2009 Intel Corporation. All rights reserved. * November, 2007 - additions for Create, Delete, Rebuild & Raid 10. * March, 2008 - additions for hot-spare check * August, 2008 - additions for Activation, Rebuild check * January, 2009 - additions for Activation, Rebuild check * * See file LICENSE at the top of this source tree for license information. */ #ifndef _FORMAT_H_ #define _FORMAT_H_ #ifdef FORMAT_HANDLER #undef FORMAT_HANDLER #include #include #include /* Metadata format handler types. */ enum fmt_type { FMT_RAID, FMT_PARTITION, }; /* * Various structures for data whipped with the different event types. */ /* Event: I/O error */ struct event_io { struct raid_set *rs; /* RAID set of I/O error. */ struct raid_dev *rd; /* RAID device of I/O error. */ uint64_t sector; /* Sector of the I/O error. */ }; /* Event: RAID device add/remove */ enum rd_action { rd_add, rd_remove, }; struct event_rd { struct raid_set *rs; struct raid_dev *rd; enum rd_action action; }; /* * List of event handler functions to call for the metadata format handler. * * Return 1 for event taken, RAID device write necessary. * Return 0 for error and/or write unnecessary. */ struct event_handlers { /* Handle IO error */ int (*io) (struct lib_context * lc, struct event_io * e_io); /* Handle RAID device add/remove. */ int (*rd) (struct lib_context * lc, struct event_rd * e_rd); }; /* * Hot-spare search types list: it can be searched locally/globally */ enum scope { t_scope_local = 0x01, t_scope_global = 0x02 }; /* Metadata Handler commands */ enum handler_commands { UPDATE_REBUILD_STATE, GET_REBUILD_STATE, GET_REBUILD_DRIVE, GET_REBUILD_DRIVE_NO, CHECK_HOT_SPARE, ALLOW_ACTIVATE, ALLOW_REBUILD, GET_STATUS, GET_DEVICE_IDX, GET_NUMBER_OF_DEVICES, /* ... */ }; /* Union to return metadata_handler information. */ struct handler_info { unsigned short size; union { char *str; void *ptr; int8_t i8; int16_t i16; int32_t i32; int64_t i64; uint8_t u8; uint16_t u16; uint32_t u32; uint64_t u64; } data; }; /* * Virtual interface definition of a metadata format handler. */ struct dmraid_format { const char *name; /* Format name */ const char *descr; /* Format description */ const char *caps; /* Capabilities (RAID levels supported) */ enum fmt_type format; /* Format type (RAID, partition) */ /* * Read RAID metadata off a device and unify it. */ struct raid_dev *(*read) (struct lib_context * lc, struct dev_info * di); /* * Write RAID metadata to a device deunifying it * or erase ondisk metadata if erase != 0. */ int (*write) (struct lib_context * lc, struct raid_dev * rd, int erase); /* * delete RAID metadata to devices. */ int (*delete) (struct lib_context * lc, struct raid_set * rs); /* * create RAID metadata to devices. */ int (*create) (struct lib_context * lc, struct raid_set * rs); /* * Group a RAID device into a set. */ struct raid_set *(*group) (struct lib_context * lc, struct raid_dev * rd); /* * Check consistency of the RAID set metadata. */ int (*check) (struct lib_context * lc, struct raid_set * rs); /* Metadata handler. */ int (*metadata_handler) (struct lib_context * lc, enum handler_commands command, struct handler_info * info, void *ptr); /* * Event handlers (eg, I/O error). */ struct event_handlers *events; /* * Hot-spare disk search scope */ enum scope scope; /* * Display RAID disk metadata native. */ void (*log) (struct lib_context * lc, struct raid_dev * rd); }; /* Chain of registered format handlers (needed for library context). */ struct format_list { struct list_head list; struct dmraid_format *fmt; }; int register_format_handlers(struct lib_context *lc); extern void unregister_format_handlers(struct lib_context *lc); /* * Format core function used by (all) metadata format handlers. */ #define NO_CHECK_RD NULL extern int check_raid_set(struct lib_context *lc, struct raid_set *rs, unsigned int (*f_devices) (struct raid_dev * rd, void *context), void *f_devices_context, int (*f_check) (struct lib_context * lc, struct raid_set * rs, struct raid_dev * rd, void *context), void *f_check_context, const char *handler); extern int check_valid_format(struct lib_context *lc, char *fmt); extern int init_raid_set(struct lib_context *lc, struct raid_set *rs, struct raid_dev *rd, unsigned int stride, unsigned int type, const char *handler); extern const char **get_format_caps(struct lib_context *lc, struct dmraid_format *fmt); extern void free_format_caps(struct lib_context *lc, const char **caps); union read_info { void *ptr; uint32_t u32; uint64_t u64; }; struct raid_dev *read_raid_dev(struct lib_context *lc, struct dev_info *di, void *(*f_read_metadata) (struct lib_context * lc, struct dev_info * di, size_t * size, uint64_t * offset, union read_info * info), size_t size, uint64_t offset, void (*f_to_cpu) (void *meta), int (*f_is_meta) (struct lib_context * lc, struct dev_info * di, void *meta), void (*f_file_metadata) (struct lib_context * lc, struct dev_info * di, void *meta), int (*f_setup_rd) (struct lib_context * lc, struct raid_dev * rd, struct dev_info * di, void *meta, union read_info * info), const char *handler); extern void *alloc_meta_areas(struct lib_context *lc, struct raid_dev *rd, const char *who, unsigned int n); extern void *alloc_private(struct lib_context *lc, const char *who, size_t size); extern void *alloc_private_and_read(struct lib_context *lc, const char *who, size_t size, char *path, loff_t offset); extern struct raid_set *join_superset(struct lib_context *lc, char *(*f_name) (struct lib_context * lc, struct raid_dev * rd, unsigned int subset), void (*f_create) (struct raid_set * super, void *private), int (*f_set_sort) (struct list_head * pos, struct list_head * new), struct raid_set *rs, struct raid_dev *rd); extern int register_format_handler(struct lib_context *lc, struct dmraid_format *fmt); extern int write_metadata(struct lib_context *lc, const char *handler, struct raid_dev *rd, int meta_index, int erase); extern int log_zero_sectors(struct lib_context *lc, char *path, const char *handler); #define to_disk to_cpu #define struct_offset(s, member) ((size_t) &((struct s *) 0)->member) /* Print macros used in log methods. */ /* Undefine this to avoid offsets in metadata logging. */ #define NATIVE_LOG_OFFSET #ifdef NATIVE_LOG_OFFSET #define P_FMT "0x%03x " #define P_OFF(x, basevar, y...) \ ((unsigned long) &x - (unsigned long) basevar), y #else #define P_FMT #define P_OFF(x, basevar, y...) y #endif #define P(format, basevar, x, y...) \ do { log_print(lc, P_FMT format, P_OFF(x, basevar, y)); } while(0) #define P2(format, basevar, i, x) \ do { P(format, basevar, x, i, x); } while(0) #define DP(format, basevar, x) \ do { P(format, basevar, x, x); } while(0) /* * RAID device, set and vendor metadata retrieval macros. */ #define DEVS(rs) (!list_empty(&((struct raid_set *) (rs))->devs)) #define SETS(rs) (!list_empty(&((struct raid_set *) (rs))->sets)) #define META(rd, type) ((struct type*) ((struct raid_dev*) (rd))->meta_areas->area) #define RD(pos) (list_entry(pos, struct raid_dev, devs)) #define RS(pos) (list_entry(pos, struct raid_set, list)) #define RD_RS(rs) (RD((((struct raid_set*) (rs))->devs.next))) #define RS_RS(rs) ((struct raid_set*) (rs)->sets.next) #define HANDLER_LEN sizeof(HANDLER) #endif /* ifdef FORMAT_HANDLER */ #endif dmraid/1.0.0.rc16/include/dmraid/display.h0000644000175200007640000000156211254123773020424 0ustar mauelshamauelsha/* * Copyright (C) 2004,2005 Heinz Mauelshagen, Red Hat GmbH. * All rights reserved. * * See file LICENSE at the top of this source tree for license information. */ #ifndef _DISPLAY_H_ #define _DISPLAY_H_ enum dev_type { DEVICE = 0x01, /* ALL devices */ RAID = 0x02, /* RAID devices */ NATIVE = 0x04, /* Native metadata of RAID devices */ SET = 0x08, /* RAID sets */ }; enum active_type { D_ALL = 0x01, /* All devices */ D_ACTIVE = 0x02, /* Active devices only */ D_INACTIVE = 0x04, /* Inactive devices only */ }; extern void display_devices(struct lib_context *lc, enum dev_type type); extern void display_set(struct lib_context *lc, void *rs, enum active_type active, int top); extern void display_table(struct lib_context *lc, char *rs_name, char *table); extern int list_formats(struct lib_context *lc, int arg); #endif dmraid/1.0.0.rc16/include/dmraid/metadata.h0000644000175200007640000002224511254123773020540 0ustar mauelshamauelsha/* * Copyright (C) 2004-2008 Heinz Mauelshagen, Red Hat GmbH. * All rights reserved. * * Copyright (C) 2007 Intel Corporation. All rights reserved. * November, 2007 - additions for Create, Delete, Rebuild & Raid 10. * * See file LICENSE at the top of this source tree for license information. */ #ifndef _META_H_ #define _META_H_ #include #include /* * Unified RAID set types. */ enum type { t_undef = 0x01, t_group = 0x02, /* To group subsets (eg, Intel Software RAID). */ t_partition = 0x04, /* FIXME: remove in favour of kpartx ? */ t_spare = 0x08, t_linear = 0x10, t_raid0 = 0x20, t_raid1 = 0x40, /* * Higher RAID types below not supported (yet) * because of device-mapper constraints. */ t_raid4 = 0x80, t_raid5_ls = 0x100, t_raid5_rs = 0x200, t_raid5_la = 0x400, t_raid5_ra = 0x800, t_raid6 = 0x1000, }; /* Check macros for types. */ #define T_UNDEF(r) ((r)->type & t_undef) #define T_GROUP(r) ((r)->type & t_group) #define T_PARTITION(r) ((r)->type & t_partition) #define T_SPARE(r) ((r)->type & t_spare) #define T_LINEAR(r) ((r)->type & t_linear) #define T_RAID0(r) ((r)->type & t_raid0) #define T_RAID1(r) ((r)->type & t_raid1) #define T_RAID4(r) ((r)->type & t_raid4) #define T_RAID5(r) (((r)->type & t_raid5_ls) || \ ((r)->type & t_raid5_rs) || \ ((r)->type & t_raid5_la) || \ ((r)->type & t_raid5_ra)) #define T_RAID6(r) ((r)->type & t_raid6) /* Types for count_devs(). */ enum count_type { ct_all = 0, ct_dev, ct_spare, }; /* * Mapping struct for RAID type unification. * * Format handler allocates an array and inserts mappings * from format specific types to the unified ones above. */ struct types { unsigned int type; /* Must be long enough for vendor definition. */ enum type unified_type; }; /* RAID disk/set status. */ enum status { s_undef = 0x01, s_broken = 0x02, /* Completely broken (not accessible). */ s_inconsistent = 0x04, /* RAID disk/set inconsistent (needs synchronization or reconfiguration). */ /* FIXME: is s_nosync sufficient or do I need s_upgrade (eg, NVidia) */ s_nosync = 0x08, /* RAID disk/set *not* in sync (needs synchronization). */ s_ok = 0x10, /* Fully operational. */ s_setup = 0x20, /* Only during RAID setup transition. */ s_init = 0x40, /* RAID set to be created */ s_config = 0x80, /* RAID set hasn't been configured */ }; /* * Mapping struct for RAID status unification. * * Format handler allocates an array and inserts mappings * from format specific status to the unified ones above. */ enum compare { AND, EQUAL }; struct states { unsigned int status; enum status unified_status; }; /* Check macros for states. */ #define S_UNDEF(status) ((status) & s_undef) #define S_BROKEN(status) ((status) & s_broken) #define S_INCONSISTENT(status) ((status) & s_inconsistent) #define S_NOSYNC(status) ((status) & s_nosync) #define S_OK(status) ((status) & s_ok) #define S_SETUP(status) ((status) & s_setup) /* find_*() function enums */ enum find { FIND_TOP, /* Search top level RAID sets only. */ FIND_ALL, /* Decend all RAID set trees. */ }; /* Device information. */ struct dev_info { struct list_head list; /* Global chain of discovered devices. */ char *path; /* Actual device node path. */ char *serial; /* ATA/SCSI serial number. */ uint64_t sectors; /* Device size. */ }; /* Metadata areas and size stored on a RAID device. */ struct meta_areas { uint64_t offset; /* on disk metadata offset in sectors. */ size_t size; /* on disk metadata size in bytes. */ void *area; /* pointer to format specific metadata. */ }; /* * Abstracted RAID device. * * A RAID device is a member of a RAID set and can only * exist at the lowest level of a RAID set stack (eg, for RAID10). */ struct raid_dev { struct list_head list; /* Global chain of RAID devices. */ struct list_head devs; /* Chain of devices belonging to set. */ char *name; /* Metadata format handler generated name of set this device belongs to. */ struct dev_info *di; /* Pointer to dev_info. */ struct dmraid_format *fmt; /* Format handler for this device. */ enum status status; /* Status of device. */ enum type type; /* Type of device. */ uint64_t offset; /* Data offset on device. */ uint64_t sectors; /* Length of the segment to map. */ unsigned int areas; /* # of metadata areas on the device. */ struct meta_areas *meta_areas; /* Dynamic array of metadata areas. */ /* * For format handler use (eg, to keep references between calls). * * WARNING: non pointer members need to get zeroed before exit, * because the metadata layer frees private->ptr on cleanup. */ union { void *ptr; uint32_t n32; uint64_t n64; } private; }; /* * Abstracted (hierarchical) RAID set. * * Can be used to form a tree of subsets with arbitrary depths. * Defines RAID attributes for the set as a whole (eg: RAID0, Status). */ enum flags { f_maximize = 0x01, /* If set, maximize set capacity, if not set, limit to smallest device. */ f_partitions = 0x02, /* Set has partitions. */ }; #define F_MAXIMIZE(rs) ((rs)->flags & f_maximize) #define F_PARTITIONS(rs) ((rs)->flags & f_partitions) struct raid_set { struct list_head list; /* Chain of independent sets. */ /* * List of subsets (eg, RAID10) which make up RAID set stacks. * * Lowest level identified by list_empty() here. */ struct list_head sets; /* * List of RAID devices making up a set. * * Higher RAID sets in a stack will have list_empty() here. * * Lowest level will hold device definitions * for arbitrary block devices here. */ struct list_head devs; unsigned int total_devs; /* The number of devices expected */ unsigned int found_devs; /* The number of devices found */ char *name; /* Name of the set. */ uint64_t size; /* size of a raid set */ unsigned int stride; /* Stride size. */ enum type type; /* Unified raid type. */ enum flags flags; /* Set flags. */ enum status status; /* Status of set. */ }; extern struct raid_set *get_raid_set(struct lib_context *lc, struct raid_dev *rd); extern struct dmraid_format *get_format(struct raid_set *rs); extern const char *get_type(struct lib_context *lc, enum type type); extern const char *get_dm_type(struct lib_context *lc, enum type type); extern const char *get_set_type(struct lib_context *lc, void *rs); extern const char *get_status(struct lib_context *lc, enum status status); extern uint64_t total_sectors(struct lib_context *lc, struct raid_set *rs); extern struct dev_info *alloc_dev_info(struct lib_context *lc, char *path); extern void free_dev_info(struct lib_context *lc, struct dev_info *di); extern struct raid_dev *alloc_raid_dev(struct lib_context *lc, const char *who); extern void free_raid_dev(struct lib_context *lc, struct raid_dev **rd); extern void list_add_sorted(struct lib_context *lc, struct list_head *to, struct list_head *new, int (*sort) (struct list_head * pos, struct list_head * new)); extern struct raid_set *alloc_raid_set(struct lib_context *lc, const char *who); extern unsigned int count_sets(struct lib_context *lc, struct list_head *list); extern unsigned int count_devs(struct lib_context *lc, struct raid_set *rs, enum count_type type); extern void free_raid_set(struct lib_context *lc, struct raid_set *rs); extern struct raid_set *find_set(struct lib_context *lc, struct list_head *list, const char *name, enum find where); extern struct raid_set *find_or_alloc_raid_set(struct lib_context *lc, char *name, enum find where, struct raid_dev *rd, struct list_head *list, void (*create) (struct raid_set * super, void *private), void *private); #define NO_RD NULL #define NO_LIST NULL #define NO_CREATE NULL #define NO_CREATE_ARG NULL extern const char *get_set_name(struct lib_context *lc, void *rs); extern int group_set(struct lib_context *lc, char **name); enum set_type { SETS, PARTITIONS, }; extern void process_sets(struct lib_context *lc, int (*func) (struct lib_context * lc, void *rs, int arg), int arg, enum set_type type); extern int write_set(struct lib_context *lc, void *rs); extern int partitioned_set(struct lib_context *lc, void *rs); extern int base_partitioned_set(struct lib_context *lc, void *rs); extern void discover_raid_devices(struct lib_context *lc, char **devices); extern void discover_partitions(struct lib_context *lc); extern int dso_get_members(struct lib_context *lc, int arg); extern unsigned int count_devices(struct lib_context *lc, enum dev_type type); extern enum status rd_status(struct states *states, unsigned int status, enum compare cmp); extern enum type rd_type(struct types *types, unsigned int type); extern void file_metadata(struct lib_context *lc, const char *handler, char *path, void *data, size_t size, uint64_t offset); extern void file_dev_size(struct lib_context *lc, const char *handler, struct dev_info *di); extern int write_dev(struct lib_context *lc, struct raid_dev *rd, int erase); extern int erase_metadata(struct lib_context *lc); extern int delete_raidsets(struct lib_context *lc); extern int lib_perform(struct lib_context *lc, enum action action, struct prepost *p, char **argv); #endif dmraid/1.0.0.rc16/include/dmraid/locking.h0000644000175200007640000000141511254123773020402 0ustar mauelshamauelsha/* * Copyright (C) 2004,2005 Heinz Mauelshagen, Red Hat GmbH. * All rights reserved. * * See file LICENSE at the top of this source tree for license information. */ #ifndef _LOCKING_H #define _LOCKING_H /* I want to be prepared for finer grained locking... */ struct resource { char *name; }; /* Locking abstraction. */ struct lib_context; struct locking { const char *name; int (*lock)(struct lib_context *lc, struct resource *res); void (*unlock)(struct lib_context *lc, struct resource *res); void *private; /* Private context. */ }; extern int init_locking(struct lib_context *lc); extern int lock_resource(struct lib_context *lc, struct resource *res); extern void unlock_resource(struct lib_context *lc, struct resource *res); #endif dmraid/1.0.0.rc16/include/dmraid/list.h0000644000175200007640000000467111254123773017736 0ustar mauelshamauelsha/* * Copyright (C) 2004-2008 Heinz Mauelshagen, Red Hat GmbH. * All rights reserved. * * Copyright (C) 2007 Intel Corporation. All rights reserved. * November, 2007 - additions for Create, Delete, Rebuild & Raid 10. * * See file LICENSE at the top of this source tree for license information. */ #ifndef _LIST_H #define _LIST_H /* * Double-linked list definitons and macros. */ struct list_head { struct list_head *next; struct list_head *prev; }; #define INIT_LIST_HEAD(a) do { (a)->next = (a)->prev = a; } while(0) #define LIST_HEAD(a) struct list_head a = { .next = &a, .prev = &a } #define list_empty(pos) ((pos)->next == pos) static inline void __list_add(struct list_head *new, struct list_head *prev, struct list_head *next) { next->prev = new; new->next = next; new->prev = prev; prev->next = new; } /* Add an element 'new' after position 'pos' to a list. */ #define list_add(new, pos) __list_add(new, pos, (pos)->next) /* Add an element 'new' before position 'pos' to a list. */ #define list_add_tail(new, pos) __list_add(new, (pos)->prev, pos) /* Delete an element 'pos' from the list. */ #define list_del(pos) { \ (pos)->next->prev = (pos)->prev; \ (pos)->prev->next = (pos)->next; \ (pos)->next = (pos)->prev = 0; \ } #define list_del_init(pos) { \ list_del(pos); \ INIT_LIST_HEAD(pos); \ } /* Pointer to a struct 'type' derived from 'pos' and list_head* 'member'. */ #define list_entry(pos, type, member) \ ((type*) ((char*)pos - (unsigned long)(&((type*)0)->member))) /* Walk a list. */ #define list_for_each(pos, head) \ for (pos = (head)->next; pos != head; pos = pos->next) /* Walk a list by entry. */ #define list_for_each_entry(entry, head, member) \ for (entry = list_entry((head)->next, typeof(*entry), member); \ &entry->member != (head); \ entry = list_entry(entry->member.next, typeof(*entry), member)) /* * Walk a list using a temporary pointer, * so that elements can be deleted safely. */ #define list_for_each_safe(pos, n, head) \ for (pos = (head)->next, n = pos->next; \ pos != (head); \ pos = n, n = pos->next) #define list_for_each_entry_safe(pos, n, head, member) \ for (pos = list_entry((head)->next, typeof(*pos), member),\ n = list_entry(pos->member.next, typeof(*pos), member); \ &pos->member != (head); \ pos = n, n = list_entry(pos->member.next, typeof(*pos), member)) #endif dmraid/1.0.0.rc16/include/dmraid/lib_context.h0000644000175200007640000001255011254123773021270 0ustar mauelshamauelsha/* * Copyright (C) 2004-2008 Heinz Mauelshagen, Red Hat GmbH. * All rights reserved. * * Copyright (C) 2007 Intel Corporation. All rights reserved. * November, 2007 - additions for Create, Delete, Rebuild & Raid 10. * * See file LICENSE at the top of this source tree for license information. */ #ifndef _LIB_CONTEXT_H_ #define _LIB_CONTEXT_H_ #include #include #include enum lc_lists { LC_FORMATS = 0, /* Metadata format handlers. */ LC_DISK_INFOS, /* Disks discovered. */ LC_RAID_DEVS, /* Raid devices discovered. */ LC_RAID_SETS, /* Raid sets grouped. */ /* Add new lists below here ! */ LC_LISTS_SIZE, /* Must be the last enumerator. */ }; /* List access macros. */ #define LC_FMT(lc) (lc_list((lc), LC_FORMATS)) #define LC_DI(lc) (lc_list((lc), LC_DISK_INFOS)) #define LC_RD(lc) (lc_list((lc), LC_RAID_DEVS)) #define LC_RS(lc) (lc_list((lc), LC_RAID_SETS)) enum lc_options { LC_COLUMN = 0, LC_DEBUG, LC_DUMP, LC_FORMAT, LC_GROUP, LC_SETS, LC_TEST, LC_VERBOSE, LC_IGNORELOCKING, LC_SEPARATOR, LC_DEVICES, LC_PARTCHAR, LC_CREATE, LC_REBUILD_SET, LC_REBUILD_DISK, LC_HOT_SPARE_SET, /* Add new options below this one ! */ LC_OPTIONS_SIZE, /* Must be the last enumerator. */ }; /* Options access macros. */ /* Return option counter. */ #define OPT_COLUMN(lc) (lc_opt(lc, LC_COLUMN)) #define OPT_DEBUG(lc) (lc_opt(lc, LC_DEBUG)) #define OPT_DEVICES(lc) (lc_opt(lc, LC_DEVICES)) #define OPT_DUMP(lc) (lc_opt(lc, LC_DUMP)) #define OPT_GROUP(lc) (lc_opt(lc, LC_GROUP)) #define OPT_FORMAT(lc) (lc_opt(lc, LC_FORMAT)) #define OPT_IGNORELOCKING(lc) (lc_opt(lc, LC_IGNORELOCKING)) #define OPT_SEPARATOR(lc) (lc_opt(lc, LC_SEPARATOR)) #define OPT_SETS(lc) (lc_opt(lc, LC_SETS)) #define OPT_TEST(lc) (lc_opt(lc, LC_TEST)) #define OPT_VERBOSE(lc) (lc_opt(lc, LC_VERBOSE)) #define OPT_PARTCHAR(lc) (lc_opt(lc, LC_PARTCHAR)) #define OPT_CREATE(lc) (lc_opt(lc, LC_CREATE)) #define OPT_HOT_SPARE_SET(lc) (lc_opt(lc, LC_HOT_SPARE_SET)) #define OPT_REBUILD_DISK(lc) (lc_opt(lc, LC_REBUILD_DISK)) /* Return option value. */ #define OPT_STR(lc, o) (lc->options[o].arg.str) #define OPT_STR_COLUMN(lc) OPT_STR(lc, LC_COLUMN) #define OPT_STR_FORMAT(lc) OPT_STR(lc, LC_FORMAT) #define OPT_STR_SEPARATOR(lc) OPT_STR(lc, LC_SEPARATOR) #define OPT_STR_PARTCHAR(lc) OPT_STR(lc, LC_PARTCHAR) #define OPT_STR_HOT_SPARE_SET(lc) OPT_STR(lc, LC_HOT_SPARE_SET) #define OPT_STR_REBUILD_DISK(lc) OPT_STR(lc, LC_REBUILD_DISK) struct lib_version { const char *text; const char *date; struct { unsigned int major; unsigned int minor; unsigned int sub_minor; const char *suffix; } v; }; struct lib_options { int opt; union { const char *str; uint64_t u64; uint64_t u32; } arg; }; struct lib_context { struct lib_version version; char *cmd; /* Option counters used throughout the library. */ struct lib_options options[LC_OPTIONS_SIZE]; /* * Lists for: * * o metadata format handlers the library supports * o block devices discovered * o RAID devices discovered * o RAID sets grouped */ struct list_head lists[LC_LISTS_SIZE]; char *locking_name; /* Locking mechanism selector. */ struct locking *lock; /* Resource locking. */ mode_t mode; /* File/directrory create modes. */ struct { const char *error; /* For error mappings. */ } path; }; /* Options actions dmraid performs. */ enum action { UNDEF = 0x0, ACTIVATE = 0x1, DEACTIVATE = 0x2, FORMAT = 0x4, #ifndef DMRAID_MINI BLOCK_DEVICES = 0x8, COLUMN = 0x10, DBG = 0x20, DUMP = 0x40, DMERASE = 0x80, GROUP = 0x100, #endif HELP = 0x200, #ifndef DMRAID_MINI LIST_FORMATS = 0x400, # ifdef DMRAID_NATIVE_LOG NATIVE_LOG = 0x800, # endif #endif NOPARTITIONS = 0x1000, #ifndef DMRAID_MINI RAID_DEVICES = 0x2000, RAID_SETS = 0x4000, TEST = 0x8000, VERBOSE = 0x10000, ACTIVE = 0x20000, INACTIVE = 0x40000, SEPARATOR = 0x80000, #endif VERSION = 0x100000, IGNORELOCKING = 0x200000, #ifndef DMRAID_MINI DEL_SETS = 0x400000, CREATE = 0x800000, REBUILD = 0x1000000, SPARE = 0x2000000, MEDIA = 0x4000000, END_REBUILD = 0x8000000, GET_MEMBERS = 0x10000000, PARTCHAR = 0x20000000, #endif RMPARTITIONS = 0x40000000, }; /* Arguments allowed ? */ enum args { NO_ARGS, ARGS, }; /* Define which metadata is needed before we can call post functions. */ enum metadata_need { M_NONE = 0x00, M_DEVICE = 0x01, M_RAID = 0x02, M_SET = 0x04, }; enum id { ROOT, ANY_ID, }; enum lock { LOCK, NO_LOCK, }; /* * Pre and Post functions to perform for an option. */ struct prepost { enum action action; enum metadata_need metadata; enum id id; enum lock lock; int (*pre) (int arg); int arg; int (*post) (struct lib_context * lc, int arg); }; extern struct lib_context *alloc_lib_context(char **argv); extern void free_lib_context(struct lib_context *lc); extern int lc_opt(struct lib_context *lc, enum lc_options o); const char *lc_opt_arg(struct lib_context *lc, enum lc_options o); const char *lc_stralloc_opt(struct lib_context *lc, enum lc_options o, char *arg); const char *lc_strcat_opt(struct lib_context *lc, enum lc_options o, char *arg, const char delim); extern int lc_inc_opt(struct lib_context *lc, int o); extern struct list_head *lc_list(struct lib_context *lc, int l); extern const char *libdmraid_date(struct lib_context *lc); extern const char *libdmraid_version(struct lib_context *lc); #endif dmraid/1.0.0.rc16/include/dmraid/dmraid.h0000644000175200007640000000670311254123773020221 0ustar mauelshamauelsha/* * Copyright (C) 2004-2008 Heinz Mauelshagen, Red Hat GmbH. * All rights reserved. * * Copyright (C) 2007, 2009 Intel Corporation. All rights reserved. * November, 2007 - additions for Create, Delete, Rebuild & Raid 10. * April, 2009 - dmreg.h file included * * See file LICENSE at the top of this source tree for license information. */ #ifndef _DMRAID_H_ #define _DMRAID_H_ #include #include #include /* FIXME: avoid more library internals. */ #include #include #include #include #include #include /* * Library init/exit */ extern struct lib_context *libdmraid_init(int argc, char **argv); extern void libdmraid_exit(struct lib_context *lc); /* * Retrieve version identifiers. */ extern int dm_version(struct lib_context *lc, char *version, size_t size); extern const char *libdmraid_date(struct lib_context *lc); extern const char *libdmraid_version(struct lib_context *lc); /* * Dealing with formats. */ extern int check_valid_format(struct lib_context *lc, char *fmt); /* * Dealing with devices. */ extern unsigned int count_devices(struct lib_context *lc, enum dev_type type); extern int discover_devices(struct lib_context *lc, char **devnodes); extern void discover_raid_devices(struct lib_context *lc, char **devices); extern void discover_partitions(struct lib_context *lc); extern int write_dev(struct lib_context *lc, struct raid_dev *rd, int erase); /* * Erase ondisk metadata. */ extern int erase_metadata(struct lib_context *lc); /* * Dealing with RAID sets. */ extern const char *get_set_type(struct lib_context *lc, void *rs); extern const char *get_set_name(struct lib_context *lc, void *rs); extern int group_set(struct lib_context *lc, char **name); extern char *libdmraid_make_table(struct lib_context *lc, struct raid_set *rs); enum activate_type { A_ACTIVATE, A_DEACTIVATE, }; extern void process_sets(struct lib_context *lc, int (*func) (struct lib_context * lc, void *rs, int arg), int arg, enum set_type type); extern int change_set(struct lib_context *lc, enum activate_type what, void *rs); /* * Memory allocation */ #ifdef DEBUG_MALLOC extern void *_dbg_malloc(size_t size, struct lib_context *lc, const char *who, unsigned int line); extern void *_dbg_realloc(void *ptr, size_t size, struct lib_context *lc, const char *who, unsigned int line); extern void *_dbg_strdup(void *ptr, struct lib_context *lc, const char *who, unsigned int line); extern void _dbg_free(void *ptr, struct lib_context *lc, const char *who, unsigned int line); #define dbg_malloc(size) _dbg_malloc((size), lc, __func__, __LINE__) #define dbg_realloc(ptr, size) _dbg_realloc((ptr), (size), lc, \ __func__, __LINE__) #define dbg_strdup(ptr) _dbg_strdup((ptr), lc, __func__, __LINE__) #define dbg_strndup(ptr, len) _dbg_strndup((ptr), len, lc, __func__, __LINE__) #define dbg_free(ptr) _dbg_free((ptr), lc, __func__, __LINE__) #else extern void *_dbg_malloc(size_t size); extern void *_dbg_realloc(void *ptr, size_t size); extern void *_dbg_strdup(void *ptr); extern void *_dbg_strndup(void *ptr, size_t len); extern void _dbg_free(void *ptr); #define dbg_malloc _dbg_malloc #define dbg_realloc _dbg_realloc #define dbg_strdup _dbg_strdup #define dbg_strndup _dbg_strndup #define dbg_free _dbg_free #endif /* #ifdef DEBUG_MALLOC */ #endif dmraid/1.0.0.rc16/include/dmraid/reconfig.h0000644000175200007640000000273611254123773020557 0ustar mauelshamauelsha/* * Copyright (C) 2006 Darrick Wong, IBM. * All rights reserved. * * Copyright (C) 2006-2008 Heinz Mauelshagen Red Hat GmbH. * All rights reserved. * * See the file LICENSE at the top of this source tree for license information. */ #ifndef _RECONFIG_H_ #define _RECONFIG_H_ #include #include /* Type of change that a log entry describes */ enum change_type { ADD_TO_SET, DELETE_FROM_SET, WRITE_METADATA, CREATE_CHILD_RD, CREATE_RD, DELETE_RD, CREATE_RS, DELETE_RS, END_TRANSACTION }; /* Change log entry */ struct change { struct list_head changes; /* Chain of log entries */ enum change_type type; /* All of these items may be listed as parameters */ struct raid_set *rs; struct raid_dev *rd; uint64_t offset; uint64_t length; struct dev_info *di; char *name; }; extern int add_dev_to_set(struct lib_context *lc, struct raid_set *rs, struct raid_dev *rd); extern int del_dev_in_set(struct lib_context *lc, struct raid_set *rs, struct raid_dev *rd); extern int dso_end_rebuild(struct lib_context *lc, int arg); extern void end_log(struct lib_context *lc, struct list_head *log); extern int revert_log(struct lib_context *lc, struct list_head *log); extern int hot_spare_add(struct lib_context *lc, struct raid_set *rs); extern struct raid_set *find_group(struct lib_context *lc, struct raid_set *sub_rs); extern int rebuild_raidset(struct lib_context *lc, char *set_name); #endif dmraid/1.0.0.rc16/include/dmraid/dmreg.h0000644000175200007640000000120311254123773020045 0ustar mauelshamauelsha/* * Copyright (C) 2009 Intel Corporation. All rights reserved. * Copyright (C) 2009 Heinz Mauelshagen, Red Hat GmbH. * All rights reserved. * * See file LICENSE at the top of this source tree for license information. * April 2009 - File creation */ #ifndef _DMREG_H_ #define _DMREG_H_ enum display_opt { UNREGISTERED, ALL, REGISTERED_WITH_UUID, REGISTERED_NO_UUID }; extern int dm_register_device(char *dev_name, char *dso_name); extern int dm_unregister_device(char *dev_name, char *dso_name); extern int dm_all_monitored(enum display_opt); extern int dm_monitored_events(int *pending, char *dev_name, char *dso); #endif dmraid/1.0.0.rc16/include/dmraid/misc.h0000644000175200007640000000423611254123773017713 0ustar mauelshamauelsha/* * Copyright (C) 2004-2005 Heinz Mauelshagen, Red Hat GmbH. * All rights reserved. * * Copyright (C) 2007 Intel Corporation. All rights reserved. * November, 2007 - additions for Create, Delete, Rebuild & Raid 10. * * See file LICENSE at the top of this source tree for license information. */ #ifndef _MISC_H_ #define _MISC_H_ #define DM_ASSERT(__cond) do { if (!(__cond)) { printf("ASSERT file:%s line:%d fuction:%s cond: %s\n", __FILE__, __LINE__, __FUNCTION__, #__cond); } } while(0); extern struct lib_context *libdmraid_init(int argc, char **argv); extern void libdmraid_exit(struct lib_context *lc); extern void sysfs_workaround(struct lib_context *lc); extern void mk_alpha(struct lib_context *lc, char *str, size_t len); extern char *get_basename(struct lib_context *lc, char *str); extern char *get_dirname(struct lib_context *lc, char *str); extern char *remove_white_space(struct lib_context *lc, char *str, size_t len); extern void remove_tail_space(char *str); extern char *remove_delimiter(char *ptr, char c); extern void add_delimiter(char **ptr, char c); extern char *replace_delimiter(char *str, char delim, char c); extern int mk_dir(struct lib_context *lc, const char *dir); extern int read_file(struct lib_context *lc, const char *who, char *path, void *buffer, size_t size, loff_t offset); extern int write_file(struct lib_context *lc, const char *who, char *path, void *buffer, size_t size, loff_t offset); extern int yes_no_prompt(struct lib_context *lc, const char *prompt, ...); extern void free_string(struct lib_context *lc, char **string); extern int p_fmt(struct lib_context *lc, char **string, const char *fmt, ...); static inline uint64_t round_down(uint64_t what, unsigned int by) { return what & ~((uint64_t) by - 1); } static inline uint64_t round_up(uint64_t what, unsigned int by) { uint64_t t = round_down(what, by); return t == what ? t : t + by; } static inline uint64_t div_up(uint64_t what, unsigned int by) { return round_up(what, by) / by; } #ifdef DMRAID_LED /* Definitions for LED support */ #define LED_OFF 0 #define LED_REBUILD 1 int led(const char *path, int status); #endif #endif dmraid/1.0.0.rc16/include/Makefile.in0000644000175200007640000000126011254123773017406 0ustar mauelshamauelsha# # Copyright (C) 2005 Heinz Mauelshagen, Red Hat GmbH. All rights reserved. # # See file LICENSE at the top of this source tree for license information. # srcdir = @srcdir@ top_srcdir = @top_srcdir@ HEADERS=$(wildcard dmraid/*.h) all: include $(top_srcdir)/make.tmpl .PHONY: install_dmraid_headers remove_dmraid_headers install_dmraid_headers: $(HEADERS) @echo "Installing $(HEADERS) in $(includedir)/dmraid" mkdir -p $(includedir)/dmraid $(INSTALL) $(STRIP) $(HEADERS) $(includedir)/dmraid install: install_dmraid_headers remove_dmraid_headers: @echo "Removing $(HEADERS) from $(includedir)/dmraid" rm -f $(includedir)/dmraid remove: remove_dmraid_headers clean: dmraid/1.0.0.rc16/autoconf/0000755000175200007640000000000011254123773015535 5ustar mauelshamauelshadmraid/1.0.0.rc16/autoconf/install-sh0000644000175200007640000002004211254123773017534 0ustar mauelshamauelsha#!/bin/sh # install - install a program, script, or datafile scriptversion=2003-06-13.21 # 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. It can only install one file at a time, a restriction # shared with many OS's install programs. # set DOITPROG to echo to test this script # Don't use :- since 4.3BSD and earlier shells don't like it. doit="${DOITPROG-}" # put in absolute paths if you don't have them in your path; or use env. vars. mvprog="${MVPROG-mv}" cpprog="${CPPROG-cp}" chmodprog="${CHMODPROG-chmod}" chownprog="${CHOWNPROG-chown}" chgrpprog="${CHGRPPROG-chgrp}" stripprog="${STRIPPROG-strip}" rmprog="${RMPROG-rm}" mkdirprog="${MKDIRPROG-mkdir}" transformbasename= transform_arg= instcmd="$mvprog" chmodcmd="$chmodprog 0755" chowncmd= chgrpcmd= stripcmd= rmcmd="$rmprog -f" mvcmd="$mvprog" src= dst= dir_arg= usage="Usage: $0 [OPTION]... SRCFILE DSTFILE or: $0 -d DIR1 DIR2... In the first form, install SRCFILE to DSTFILE, removing SRCFILE by default. In the second, create the directory path DIR. Options: -b=TRANSFORMBASENAME -c copy source (using $cpprog) instead of moving (using $mvprog). -d create directories instead of installing files. -g GROUP $chgrp installed files to GROUP. -m MODE $chmod installed files to MODE. -o USER $chown installed files to USER. -s strip installed files (using $stripprog). -t=TRANSFORM --help display this help and exit. --version display version info and exit. Environment variables override the default commands: CHGRPPROG CHMODPROG CHOWNPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG " while test -n "$1"; do case $1 in -b=*) transformbasename=`echo $1 | sed 's/-b=//'` shift continue;; -c) instcmd=$cpprog shift continue;; -d) dir_arg=true shift continue;; -g) chgrpcmd="$chgrpprog $2" shift shift continue;; --help) echo "$usage"; exit 0;; -m) chmodcmd="$chmodprog $2" shift shift continue;; -o) chowncmd="$chownprog $2" shift shift continue;; -s) stripcmd=$stripprog shift continue;; -t=*) transformarg=`echo $1 | sed 's/-t=//'` shift continue;; --version) echo "$0 $scriptversion"; exit 0;; *) if test -z "$src"; then src=$1 else # this colon is to work around a 386BSD /bin/sh bug : dst=$1 fi shift continue;; esac done if test -z "$src"; then echo "$0: no input file specified." >&2 exit 1 fi if test -n "$dir_arg"; then dst=$src src= if test -d "$dst"; then instcmd=: chmodcmd= else instcmd=$mkdirprog fi else # Waiting for this to be detected by the "$instcmd $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"; then echo "$0: no destination specified." >&2 exit 1 fi # If destination is a directory, append the input filename; won't work # if double slashes aren't ignored. if test -d "$dst"; then dst=$dst/`basename "$src"` fi fi ## this sed command emulates the dirname command dstdir=`echo "$dst" | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'` # Make sure that the destination directory exists. # (this part is taken from Noah Friedman's mkinstalldirs script.) # Skip lots of stat calls in the usual case. if test ! -d "$dstdir"; then defaultIFS=' ' IFS="${IFS-$defaultIFS}" oIFS=$IFS # Some sh's can't handle IFS=/ for some reason. IFS='%' set - `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'` IFS=$oIFS pathcomp= while test $# -ne 0 ; do pathcomp=$pathcomp$1 shift test -d "$pathcomp" || $mkdirprog "$pathcomp" pathcomp=$pathcomp/ done fi if test -n "$dir_arg"; then $doit $instcmd "$dst" \ && { test -z "$chowncmd" || $doit $chowncmd "$dst"; } \ && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } \ && { test -z "$stripcmd" || $doit $stripcmd "$dst"; } \ && { test -z "$chmodcmd" || $doit $chmodcmd "$dst"; } else # If we're going to rename the final executable, determine the name now. if test -z "$transformarg"; then dstfile=`basename "$dst"` else dstfile=`basename "$dst" $transformbasename \ | sed $transformarg`$transformbasename fi # don't allow the sed command to completely eliminate the filename. test -z "$dstfile" && dstfile=`basename "$dst"` # 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 'status=$?; rm -f "$dsttmp" "$rmtmp" && exit $status' 0 trap '(exit $?); exit' 1 2 13 15 # Move or copy the file name to the temp name $doit $instcmd "$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 $instcmd $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 "$dsttmp"; } && # 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. { if test -f "$dstdir/$dstfile"; then $doit $rmcmd -f "$dstdir/$dstfile" 2>/dev/null \ || $doit $mvcmd -f "$dstdir/$dstfile" "$rmtmp" 2>/dev/null \ || { echo "$0: cannot unlink or rename $dstdir/$dstfile" >&2 (exit 1); exit } else : fi } && # Now rename the file to the real destination. $doit $mvcmd "$dsttmp" "$dstdir/$dstfile" fi && # The final little trick to "correctly" pass the exit status to the exit trap. { (exit 0); exit } # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-end: "$" # End: dmraid/1.0.0.rc16/autoconf/config.sub0000644000175200007640000007312311254123773017523 0ustar mauelshamauelsha#! /bin/sh # Configuration validation subroutine script. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, # 2000, 2001, 2002, 2003 Free Software Foundation, Inc. timestamp='2003-06-17' # This file is (in principle) common to ALL GNU software. # The presence of a machine in this file suggests that SOME GNU software # can handle that machine. It does not imply ALL GNU software can. # # 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 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. # Please send patches to . Submit a context # diff and a properly formatted ChangeLog entry. # # 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. # 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 $0 [OPTION] ALIAS Canonicalize a configuration name. Operation modes: -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 (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 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 0 ;; --version | -v ) echo "$version" ; exit 0 ;; --help | --h* | -h ) echo "$usage"; exit 0 ;; -- ) # 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 0;; * ) 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* | freebsd*-gnu* | netbsd*-gnu* | storm-chaos* | os2-emx* | rtmk-nova*) os=-$maybe_os basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` ;; *) 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) os= basic_machine=$1 ;; -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 ;; -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/'` ;; -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*) os=-lynxos ;; -ptx*) basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` ;; -windowsnt*) os=`echo $os | sed -e 's/windowsnt/winnt/'` ;; -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 \ | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \ | c4x | clipper \ | d10v | d30v | dlx | dsp16xx \ | fr30 | frv \ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ | i370 | i860 | i960 | ia64 \ | ip2k \ | m32r | m68000 | m68k | m88k | mcore \ | mips | mipsbe | mipseb | mipsel | mipsle \ | mips16 \ | mips64 | mips64el \ | mips64vr | mips64vrel \ | mips64orion | mips64orionel \ | mips64vr4100 | mips64vr4100el \ | mips64vr4300 | mips64vr4300el \ | mips64vr5000 | mips64vr5000el \ | mipsisa32 | mipsisa32el \ | mipsisa32r2 | mipsisa32r2el \ | mipsisa64 | mipsisa64el \ | mipsisa64sb1 | mipsisa64sb1el \ | mipsisa64sr71k | mipsisa64sr71kel \ | mipstx39 | mipstx39el \ | mn10200 | mn10300 \ | msp430 \ | ns16k | ns32k \ | openrisc | or32 \ | pdp10 | pdp11 | pj | pjl \ | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ | pyramid \ | sh | sh[1234] | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \ | sh64 | sh64le \ | sparc | sparc64 | sparc86x | sparclet | sparclite | sparcv9 | sparcv9b \ | strongarm \ | tahoe | thumb | tic4x | tic80 | tron \ | v850 | v850e \ | we32k \ | x86 | xscale | xstormy16 | xtensa \ | z8k) basic_machine=$basic_machine-unknown ;; m6811 | m68hc11 | m6812 | m68hc12) # Motorola 68HC11/12. basic_machine=$basic_machine-unknown os=-none ;; m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) ;; # 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-* \ | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ | avr-* \ | bs2000-* \ | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \ | clipper-* | cydra-* \ | d10v-* | d30v-* | dlx-* \ | elxsi-* \ | f30[01]-* | f700-* | fr30-* | frv-* | fx80-* \ | h8300-* | h8500-* \ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ | i*86-* | i860-* | i960-* | ia64-* \ | ip2k-* \ | m32r-* \ | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ | m88110-* | m88k-* | mcore-* \ | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ | mips16-* \ | mips64-* | mips64el-* \ | mips64vr-* | mips64vrel-* \ | mips64orion-* | mips64orionel-* \ | mips64vr4100-* | mips64vr4100el-* \ | mips64vr4300-* | mips64vr4300el-* \ | mips64vr5000-* | mips64vr5000el-* \ | mipsisa32-* | mipsisa32el-* \ | mipsisa32r2-* | mipsisa32r2el-* \ | mipsisa64-* | mipsisa64el-* \ | mipsisa64sb1-* | mipsisa64sb1el-* \ | mipsisa64sr71k-* | mipsisa64sr71kel-* \ | mipstx39-* | mipstx39el-* \ | msp430-* \ | none-* | np1-* | nv1-* | ns16k-* | ns32k-* \ | orion-* \ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ | pyramid-* \ | romp-* | rs6000-* \ | sh-* | sh[1234]-* | sh[23]e-* | sh[34]eb-* | shbe-* \ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ | sparc-* | sparc64-* | sparc86x-* | sparclet-* | sparclite-* \ | sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \ | tahoe-* | thumb-* \ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ | tron-* \ | v850-* | v850e-* | vax-* \ | we32k-* \ | x86-* | x86_64-* | xps100-* | xscale-* | xstormy16-* \ | xtensa-* \ | ymp-* \ | z8k-*) ;; # 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-unknown 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 ;; 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 ;; 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 ;; aux) basic_machine=m68k-apple os=-aux ;; balance) basic_machine=ns32k-sequent os=-dynix ;; c90) basic_machine=c90-cray os=-unicos ;; 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 ;; crds | unos) basic_machine=m68k-crds ;; cris | cris-* | etrax*) basic_machine=cris-axis ;; 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 ;; dpx20 | dpx20-*) basic_machine=rs6000-bull os=-bosx ;; dpx2* | dpx2*-bull) basic_machine=m68k-bull os=-sysv3 ;; 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 ;; hppa-next) os=-nextstep3 ;; hppaosf) basic_machine=hppa1.1-hp os=-osf ;; hppro) basic_machine=hppa1.1-hp os=-proelf ;; i370-ibm* | ibm*) basic_machine=i370-ibm ;; # I'm not sure what "Sysv32" means. Should this be sysv3.2? 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 ;; i386-vsta | 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 ;; m88k-omron*) basic_machine=m88k-omron ;; magnum | m3230) basic_machine=mips-mips os=-sysv ;; merlin) basic_machine=ns32k-utek os=-sysv ;; mingw32) basic_machine=i386-pc os=-mingw32 ;; 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 ;; mmix*) basic_machine=mmix-knuth os=-mmixware ;; monitor) basic_machine=m68k-rom68k os=-coff ;; morphos) basic_machine=powerpc-unknown os=-morphos ;; msdos) basic_machine=i386-pc os=-msdos ;; mvs) basic_machine=i370-ibm os=-mvs ;; 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 ;; nv1) basic_machine=nv1-cray os=-unicosmp ;; nsr-tandem) basic_machine=nsr-tandem ;; op50n-* | op60c-*) basic_machine=hppa1.1-oki os=-proelf ;; or32 | or32-*) basic_machine=or32-unknown os=-coff ;; 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 ;; pbd) basic_machine=sparc-tti ;; pbb) basic_machine=m68k-tti ;; pc532 | pc532-*) basic_machine=ns32k-pc532 ;; 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) basic_machine=powerpc-unknown ;; ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppcle | powerpclittle | ppc-le | powerpc-little) 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 | ppc64-le | powerpc64-little) 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 ;; 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 ;; sei) basic_machine=mips-sei os=-seiux ;; sequent) basic_machine=i386-sequent ;; sh) basic_machine=sh-hitachi os=-hms ;; sh64) basic_machine=sh64-unknown ;; sparclite-wrs | 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 ;; 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 ;; tic54x | c54x*) basic_machine=tic54x-unknown os=-coff ;; tic55x | c55x*) basic_machine=tic55x-unknown os=-coff ;; tic6x | c6x*) basic_machine=tic6x-unknown os=-coff ;; tx39) basic_machine=mipstx39-unknown ;; tx39el) basic_machine=mipstx39el-unknown ;; toad1) basic_machine=pdp10-xkl os=-tops20 ;; tower | tower-32) basic_machine=m68k-ncr ;; 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 ;; xps | xps100) basic_machine=xps100-honeywell ;; ymp) basic_machine=ymp-cray os=-unicos ;; z8k-*-coff) basic_machine=z8k-unknown os=-sim ;; 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 ;; rs6000) basic_machine=rs6000-ibm ;; vax) basic_machine=vax-dec ;; pdp10) # there are many clones, so DEC is not a safe bet basic_machine=pdp10-unknown ;; pdp11) basic_machine=pdp11-dec ;; we32k) basic_machine=we32k-att ;; sh3 | sh4 | sh[34]eb | sh[1234]le | sh[23]ele) basic_machine=sh-unknown ;; sh64) basic_machine=sh64-unknown ;; sparc | sparcv9 | sparcv9b) basic_machine=sparc-sun ;; 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. -solaris1 | -solaris1.*) os=`echo $os | sed -e 's|solaris1|sunos4|'` ;; -solaris) os=-solaris2 ;; -svr4*) os=-sysv4 ;; -unixware*) os=-sysv4.2uw ;; -gnu/linux*) os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` ;; # First 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* | -sunos | -sunos[34]*\ | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \ | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ | -aos* \ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ | -hiux* | -386bsd* | -netbsd* | -openbsd* | -freebsd* | -riscix* \ | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ | -chorusos* | -chorusrdb* \ | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ | -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \ | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ | -powermax* | -dnix* | -nx6 | -nx7 | -sei*) # 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 | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ | -windows* | -osx | -abug | -netware* | -os9* | -beos* \ | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) ;; -mac*) os=`echo $os | sed -e 's|mac|macos|'` ;; -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 ;; -wince*) os=-wince ;; -osfrose*) os=-osfrose ;; -osf*) os=-osf ;; -utek*) os=-bsd ;; -dynix*) os=-bsd ;; -acis*) os=-aos ;; -atheos*) os=-atheos ;; -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 ;; -triton*) os=-sysv3 ;; -oss*) os=-sysv3 ;; -svr4) os=-sysv4 ;; -svr3) os=-sysv3 ;; -sysvr4) os=-sysv4 ;; # This must come after -sysvr4. -sysv*) ;; -ose*) os=-ose ;; -es1800*) os=-ose ;; -xenix) os=-xenix ;; -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) os=-mint ;; -aros*) os=-aros ;; -kaos*) os=-kaos ;; -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 *-acorn) os=-riscix1.2 ;; arm*-rebel) os=-linux ;; arm*-semi) os=-aout ;; c4x-* | tic4x-*) 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 # This also exists in the configure program, but was not the # default. # os=-sunos4 ;; m68*-cisco) os=-aout ;; 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 ;; *-be) os=-beos ;; *-ibm) os=-aix ;; *-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 ;; *-next) os=-nextstep3 ;; *-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 ;; -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 ;; -ptx*) vendor=sequent ;; -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 0 # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "timestamp='" # time-stamp-format: "%:y-%02m-%02d" # time-stamp-end: "'" # End: dmraid/1.0.0.rc16/autoconf/config.guess0000644000175200007640000012161111254123773020054 0ustar mauelshamauelsha#! /bin/sh # Attempt to guess a canonical system name. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, # 2000, 2001, 2002, 2003 Free Software Foundation, Inc. timestamp='2003-06-17' # 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 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. # Originally written by Per Bothner . # Please send patches to . Submit a context # diff and a properly formatted ChangeLog entry. # # This script attempts to guess a canonical system name similar to # config.sub. If it succeeds, it prints the system name on stdout, and # exits with 0. Otherwise, it exits with 1. # # The plan is that this can be called by configure scripts if you # don't specify an explicit build system type. me=`echo "$0" | sed -e 's,.*/,,'` usage="\ Usage: $0 [OPTION] Output the configuration name of the system \`$me' is run on. Operation modes: -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 (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 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 0 ;; --version | -v ) echo "$version" ; exit 0 ;; --help | --h* | -h ) echo "$usage"; exit 0 ;; -- ) # 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 -q "$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 ;' # 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 # 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 tupples: *-*-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=`(/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 ;; *) machine=${UNAME_MACHINE_ARCH}-unknown ;; esac # The Operating System including object format, if it has switched # to ELF recently, or will in the future. case "${UNAME_MACHINE_ARCH}" in arm*|i386|m68k|ns32k|sh3*|sparc|vax) eval $set_cc_for_build if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep __ELF__ >/dev/null 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 # 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/[-_].*/\./'` ;; 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}" exit 0 ;; amiga:OpenBSD:*:*) echo m68k-unknown-openbsd${UNAME_RELEASE} exit 0 ;; arc:OpenBSD:*:*) echo mipsel-unknown-openbsd${UNAME_RELEASE} exit 0 ;; hp300:OpenBSD:*:*) echo m68k-unknown-openbsd${UNAME_RELEASE} exit 0 ;; mac68k:OpenBSD:*:*) echo m68k-unknown-openbsd${UNAME_RELEASE} exit 0 ;; macppc:OpenBSD:*:*) echo powerpc-unknown-openbsd${UNAME_RELEASE} exit 0 ;; mvme68k:OpenBSD:*:*) echo m68k-unknown-openbsd${UNAME_RELEASE} exit 0 ;; mvme88k:OpenBSD:*:*) echo m88k-unknown-openbsd${UNAME_RELEASE} exit 0 ;; mvmeppc:OpenBSD:*:*) echo powerpc-unknown-openbsd${UNAME_RELEASE} exit 0 ;; pmax:OpenBSD:*:*) echo mipsel-unknown-openbsd${UNAME_RELEASE} exit 0 ;; sgi:OpenBSD:*:*) echo mipseb-unknown-openbsd${UNAME_RELEASE} exit 0 ;; sun3:OpenBSD:*:*) echo m68k-unknown-openbsd${UNAME_RELEASE} exit 0 ;; wgrisc:OpenBSD:*:*) echo mipsel-unknown-openbsd${UNAME_RELEASE} exit 0 ;; *:OpenBSD:*:*) echo ${UNAME_MACHINE}-unknown-openbsd${UNAME_RELEASE} exit 0 ;; alpha:OSF1:*:*) if test $UNAME_RELEASE = "V4.0"; then UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` fi # 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 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/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` exit 0 ;; Alpha*:OpenVMS:*:*) echo alpha-hp-vms exit 0 ;; Alpha\ *:Windows_NT*:*) # How do we know it's Interix rather than the generic POSIX subsystem? # Should we change UNAME_MACHINE based on the output of uname instead # of the specific Alpha model? echo alpha-pc-interix exit 0 ;; 21064:Windows_NT:50:3) echo alpha-dec-winnt3.5 exit 0 ;; Amiga*:UNIX_System_V:4.0:*) echo m68k-unknown-sysv4 exit 0;; *:[Aa]miga[Oo][Ss]:*:*) echo ${UNAME_MACHINE}-unknown-amigaos exit 0 ;; *:[Mm]orph[Oo][Ss]:*:*) echo ${UNAME_MACHINE}-unknown-morphos exit 0 ;; *:OS/390:*:*) echo i370-ibm-openedition exit 0 ;; arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) echo arm-acorn-riscix${UNAME_RELEASE} exit 0;; SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) echo hppa1.1-hitachi-hiuxmpp exit 0;; 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 0 ;; NILE*:*:*:dcosx) echo pyramid-pyramid-svr4 exit 0 ;; DRS?6000:unix:4.0:6*) echo sparc-icl-nx6 exit 0 ;; DRS?6000:UNIX_SV:4.2*:7*) case `/usr/bin/uname -p` in sparc) echo sparc-icl-nx7 && exit 0 ;; esac ;; sun4H:SunOS:5.*:*) echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit 0 ;; sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit 0 ;; i86pc:SunOS:5.*:*) echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit 0 ;; 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 0 ;; 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 0 ;; sun3*:SunOS:*:*) echo m68k-sun-sunos${UNAME_RELEASE} exit 0 ;; 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 0 ;; aushp:SunOS:*:*) echo sparc-auspex-sunos${UNAME_RELEASE} exit 0 ;; # 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 0 ;; atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit 0 ;; *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit 0 ;; milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) echo m68k-milan-mint${UNAME_RELEASE} exit 0 ;; hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) echo m68k-hades-mint${UNAME_RELEASE} exit 0 ;; *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) echo m68k-unknown-mint${UNAME_RELEASE} exit 0 ;; powerpc:machten:*:*) echo powerpc-apple-machten${UNAME_RELEASE} exit 0 ;; RISC*:Mach:*:*) echo mips-dec-mach_bsd4.3 exit 0 ;; RISC*:ULTRIX:*:*) echo mips-dec-ultrix${UNAME_RELEASE} exit 0 ;; VAX*:ULTRIX*:*:*) echo vax-dec-ultrix${UNAME_RELEASE} exit 0 ;; 2020:CLIX:*:* | 2430:CLIX:*:*) echo clipper-intergraph-clix${UNAME_RELEASE} exit 0 ;; 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 \ && $dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \ && exit 0 echo mips-mips-riscos${UNAME_RELEASE} exit 0 ;; Motorola:PowerMAX_OS:*:*) echo powerpc-motorola-powermax exit 0 ;; Motorola:*:4.3:PL8-*) echo powerpc-harris-powermax exit 0 ;; Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) echo powerpc-harris-powermax exit 0 ;; Night_Hawk:Power_UNIX:*:*) echo powerpc-harris-powerunix exit 0 ;; m88k:CX/UX:7*:*) echo m88k-harris-cxux7 exit 0 ;; m88k:*:4*:R4*) echo m88k-motorola-sysv4 exit 0 ;; m88k:*:3*:R3*) echo m88k-motorola-sysv3 exit 0 ;; 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 0 ;; M88*:DolphinOS:*:*) # DolphinOS (SVR3) echo m88k-dolphin-sysv3 exit 0 ;; M88*:*:R3*:*) # Delta 88k system running SVR3 echo m88k-motorola-sysv3 exit 0 ;; XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) echo m88k-tektronix-sysv3 exit 0 ;; Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) echo m68k-tektronix-bsd exit 0 ;; *:IRIX*:*:*) echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` exit 0 ;; ????????: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 0 ;; # Note that: echo "'`uname -s`'" gives 'AIX ' i*86:AIX:*:*) echo i386-ibm-aix exit 0 ;; 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 0 ;; *: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 $CC_FOR_BUILD -o $dummy $dummy.c && $dummy && exit 0 echo rs6000-ibm-aix3.2.5 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 0 ;; *:AIX:*:[45]) 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/oslevel ] ; then IBM_REV=`/usr/bin/oslevel` else IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} fi echo ${IBM_ARCH}-ibm-aix${IBM_REV} exit 0 ;; *:AIX:*:*) echo rs6000-ibm-aix exit 0 ;; ibmrt:4.4BSD:*|romp-ibm:BSD:*) echo romp-ibm-bsd4.4 exit 0 ;; ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to exit 0 ;; # report: romp-ibm BSD 4.3 *:BOSX:*:*) echo rs6000-bull-bosx exit 0 ;; DPX/2?00:B.O.S.:*:*) echo m68k-bull-sysv3 exit 0 ;; 9000/[34]??:4.3bsd:1.*:*) echo m68k-hp-bsd exit 0 ;; hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) echo m68k-hp-bsd4.4 exit 0 ;; 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 # avoid double evaluation of $set_cc_for_build test -n "$CC_FOR_BUILD" || eval $set_cc_for_build if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E -) | grep __LP64__ >/dev/null then HP_ARCH="hppa2.0w" else HP_ARCH="hppa64" fi fi echo ${HP_ARCH}-hp-hpux${HPUX_REV} exit 0 ;; ia64:HP-UX:*:*) HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` echo ia64-hp-hpux${HPUX_REV} exit 0 ;; 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 && $dummy && exit 0 echo unknown-hitachi-hiuxwe2 exit 0 ;; 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) echo hppa1.1-hp-bsd exit 0 ;; 9000/8??:4.3bsd:*:*) echo hppa1.0-hp-bsd exit 0 ;; *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) echo hppa1.0-hp-mpeix exit 0 ;; hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) echo hppa1.1-hp-osf exit 0 ;; hp8??:OSF1:*:*) echo hppa1.0-hp-osf exit 0 ;; i*86:OSF1:*:*) if [ -x /usr/sbin/sysversion ] ; then echo ${UNAME_MACHINE}-unknown-osf1mk else echo ${UNAME_MACHINE}-unknown-osf1 fi exit 0 ;; parisc*:Lites*:*:*) echo hppa1.1-hp-lites exit 0 ;; C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) echo c1-convex-bsd exit 0 ;; C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) if getsysinfo -f scalar_acc then echo c32-convex-bsd else echo c2-convex-bsd fi exit 0 ;; C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) echo c34-convex-bsd exit 0 ;; C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) echo c38-convex-bsd exit 0 ;; C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) echo c4-convex-bsd exit 0 ;; CRAY*Y-MP:*:*:*) echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit 0 ;; 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 0 ;; CRAY*TS:*:*:*) echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit 0 ;; CRAY*T3E:*:*:*) echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit 0 ;; CRAY*SV1:*:*:*) echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit 0 ;; *:UNICOS/mp:*:*) echo nv1-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit 0 ;; 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 0 ;; i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} exit 0 ;; sparc*:BSD/OS:*:*) echo sparc-unknown-bsdi${UNAME_RELEASE} exit 0 ;; *:BSD/OS:*:*) echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} exit 0 ;; *:FreeBSD:*:*|*:GNU/FreeBSD:*:*) # Determine whether the default compiler uses glibc. eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #include #if __GLIBC__ >= 2 LIBC=gnu #else LIBC= #endif EOF eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=` echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`${LIBC:+-$LIBC} exit 0 ;; i*:CYGWIN*:*) echo ${UNAME_MACHINE}-pc-cygwin exit 0 ;; i*:MINGW*:*) echo ${UNAME_MACHINE}-pc-mingw32 exit 0 ;; i*:PW*:*) echo ${UNAME_MACHINE}-pc-pw32 exit 0 ;; x86:Interix*:[34]*) echo i586-pc-interix${UNAME_RELEASE}|sed -e 's/\..*//' exit 0 ;; [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) echo i${UNAME_MACHINE}-pc-mks exit 0 ;; i*:Windows_NT*:* | Pentium*:Windows_NT*:*) # How do we know it's Interix rather than the generic POSIX subsystem? # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we # UNAME_MACHINE based on the output of uname instead of i386? echo i586-pc-interix exit 0 ;; i*:UWIN*:*) echo ${UNAME_MACHINE}-pc-uwin exit 0 ;; p*:CYGWIN*:*) echo powerpcle-unknown-cygwin exit 0 ;; prep*:SunOS:5.*:*) echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit 0 ;; *:GNU:*:*) echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` exit 0 ;; i*86:Minix:*:*) echo ${UNAME_MACHINE}-pc-minix exit 0 ;; arm*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit 0 ;; cris:Linux:*:*) echo cris-axis-linux-gnu exit 0 ;; ia64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit 0 ;; m68*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit 0 ;; mips:Linux:*:*) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #undef CPU #undef mips #undef mipsel #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) CPU=mipsel #else #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) CPU=mips #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-gnu" && exit 0 ;; mips64:Linux:*:*) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #undef CPU #undef mips64 #undef mips64el #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) CPU=mips64el #else #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) CPU=mips64 #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-gnu" && exit 0 ;; ppc:Linux:*:*) echo powerpc-unknown-linux-gnu exit 0 ;; ppc64:Linux:*:*) echo powerpc64-unknown-linux-gnu exit 0 ;; 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 ld.so.1 >/dev/null if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} exit 0 ;; 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-gnu ;; PA8*) echo hppa2.0-unknown-linux-gnu ;; *) echo hppa-unknown-linux-gnu ;; esac exit 0 ;; parisc64:Linux:*:* | hppa64:Linux:*:*) echo hppa64-unknown-linux-gnu exit 0 ;; s390:Linux:*:* | s390x:Linux:*:*) echo ${UNAME_MACHINE}-ibm-linux exit 0 ;; sh64*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit 0 ;; sh*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit 0 ;; sparc:Linux:*:* | sparc64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit 0 ;; x86_64:Linux:*:*) echo x86_64-unknown-linux-gnu exit 0 ;; i*86:Linux:*:*) # The BFD linker knows what the default object file format is, so # first see if it will tell us. cd to the root directory to prevent # problems with other programs or directories called `ld' in the path. # Set LC_ALL=C to ensure ld outputs messages in English. ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \ | sed -ne '/supported targets:/!d s/[ ][ ]*/ /g s/.*supported targets: *// s/ .*// p'` case "$ld_supported_targets" in elf32-i386) TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu" ;; a.out-i386-linux) echo "${UNAME_MACHINE}-pc-linux-gnuaout" exit 0 ;; coff-i386) echo "${UNAME_MACHINE}-pc-linux-gnucoff" exit 0 ;; "") # Either a pre-BFD a.out linker (linux-gnuoldld) or # one that does not give us useful --help. echo "${UNAME_MACHINE}-pc-linux-gnuoldld" exit 0 ;; esac # Determine whether the default compiler is a.out or elf eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #include #ifdef __ELF__ # ifdef __GLIBC__ # if __GLIBC__ >= 2 LIBC=gnu # else LIBC=gnulibc1 # endif # else LIBC=gnulibc1 # endif #else #ifdef __INTEL_COMPILER LIBC=gnu #else LIBC=gnuaout #endif #endif EOF eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=` test x"${LIBC}" != x && echo "${UNAME_MACHINE}-pc-linux-${LIBC}" && exit 0 test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0 ;; 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 0 ;; 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 0 ;; 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 0 ;; i*86:XTS-300:*:STOP) echo ${UNAME_MACHINE}-unknown-stop exit 0 ;; i*86:atheos:*:*) echo ${UNAME_MACHINE}-unknown-atheos exit 0 ;; i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*) echo i386-unknown-lynxos${UNAME_RELEASE} exit 0 ;; i*86:*DOS:*:*) echo ${UNAME_MACHINE}-pc-msdosdjgpp exit 0 ;; i*86:*:4.*:* | i*86:SYSTEM_V: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 0 ;; i*86:*:5:[78]*) 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 0 ;; 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 0 ;; 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 i386. echo i386-pc-msdosdjgpp exit 0 ;; Intel:Mach:3*:*) echo i386-pc-mach3 exit 0 ;; paragon:*:*:*) echo i860-intel-osf1 exit 0 ;; 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 0 ;; mini*:CTIX:SYS*5:*) # "miniframe" echo m68010-convergent-sysv exit 0 ;; mc68k:UNIX:SYSTEM5:3.51m) echo m68k-convergent-sysv exit 0 ;; M680?0:D-NIX:5.3:*) echo m68k-diab-dnix exit 0 ;; M68*:*:R3V[567]*:*) test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;; 3[34]??:*: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) 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 0 /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ && echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;; 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && echo i486-ncr-sysv4 && exit 0 ;; m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) echo m68k-unknown-lynxos${UNAME_RELEASE} exit 0 ;; mc68030:UNIX_System_V:4.*:*) echo m68k-atari-sysv4 exit 0 ;; TSUNAMI:LynxOS:2.*:*) echo sparc-unknown-lynxos${UNAME_RELEASE} exit 0 ;; rs6000:LynxOS:2.*:*) echo rs6000-unknown-lynxos${UNAME_RELEASE} exit 0 ;; PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*) echo powerpc-unknown-lynxos${UNAME_RELEASE} exit 0 ;; SM[BE]S:UNIX_SV:*:*) echo mips-dde-sysv${UNAME_RELEASE} exit 0 ;; RM*:ReliantUNIX-*:*:*) echo mips-sni-sysv4 exit 0 ;; RM*:SINIX-*:*:*) echo mips-sni-sysv4 exit 0 ;; *: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 0 ;; PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort # says echo i586-unisys-sysv4 exit 0 ;; *:UNIX_System_V:4*:FTX*) # From Gerald Hewes . # How about differentiating between stratus architectures? -djm echo hppa1.1-stratus-sysv4 exit 0 ;; *:*:*:FTX*) # From seanf@swdc.stratus.com. echo i860-stratus-sysv4 exit 0 ;; *:VOS:*:*) # From Paul.Green@stratus.com. echo hppa1.1-stratus-vos exit 0 ;; mc68*:A/UX:*:*) echo m68k-apple-aux${UNAME_RELEASE} exit 0 ;; news*:NEWS-OS:6*:*) echo mips-sony-newsos6 exit 0 ;; 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 0 ;; BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. echo powerpc-be-beos exit 0 ;; BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. echo powerpc-apple-beos exit 0 ;; BePC:BeOS:*:*) # BeOS running on Intel PC compatible. echo i586-pc-beos exit 0 ;; SX-4:SUPER-UX:*:*) echo sx4-nec-superux${UNAME_RELEASE} exit 0 ;; SX-5:SUPER-UX:*:*) echo sx5-nec-superux${UNAME_RELEASE} exit 0 ;; SX-6:SUPER-UX:*:*) echo sx6-nec-superux${UNAME_RELEASE} exit 0 ;; Power*:Rhapsody:*:*) echo powerpc-apple-rhapsody${UNAME_RELEASE} exit 0 ;; *:Rhapsody:*:*) echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} exit 0 ;; *:Darwin:*:*) case `uname -p` in *86) UNAME_PROCESSOR=i686 ;; powerpc) UNAME_PROCESSOR=powerpc ;; esac echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} exit 0 ;; *: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 0 ;; *:QNX:*:4*) echo i386-pc-qnx exit 0 ;; NSR-[DGKLNPTVW]:NONSTOP_KERNEL:*:*) echo nsr-tandem-nsk${UNAME_RELEASE} exit 0 ;; *:NonStop-UX:*:*) echo mips-compaq-nonstopux exit 0 ;; BS2000:POSIX*:*:*) echo bs2000-siemens-sysv exit 0 ;; DS/*:UNIX_System_V:*:*) echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} exit 0 ;; *: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 0 ;; *:TOPS-10:*:*) echo pdp10-unknown-tops10 exit 0 ;; *:TENEX:*:*) echo pdp10-unknown-tenex exit 0 ;; KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) echo pdp10-dec-tops20 exit 0 ;; XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) echo pdp10-xkl-tops20 exit 0 ;; *:TOPS-20:*:*) echo pdp10-unknown-tops20 exit 0 ;; *:ITS:*:*) echo pdp10-unknown-its exit 0 ;; SEI:*:*:SEIUX) echo mips-sei-seiux${UNAME_RELEASE} exit 0 ;; esac #echo '(No uname command or uname output not recognized.)' 1>&2 #echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 eval $set_cc_for_build cat >$dummy.c < # include #endif main () { #if defined (sony) #if defined (MIPSEB) /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, I don't know.... */ printf ("mips-sony-bsd\n"); exit (0); #else #include printf ("m68k-sony-newsos%s\n", #ifdef NEWSOS4 "4" #else "" #endif ); exit (0); #endif #endif #if defined (__arm) && defined (__acorn) && defined (__unix) printf ("arm-acorn-riscix"); exit (0); #endif #if defined (hp300) && !defined (hpux) printf ("m68k-hp-bsd\n"); exit (0); #endif #if defined (NeXT) #if !defined (__ARCHITECTURE__) #define __ARCHITECTURE__ "m68k" #endif int version; version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; if (version < 4) printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); else printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); exit (0); #endif #if defined (MULTIMAX) || defined (n16) #if defined (UMAXV) printf ("ns32k-encore-sysv\n"); exit (0); #else #if defined (CMU) printf ("ns32k-encore-mach\n"); exit (0); #else printf ("ns32k-encore-bsd\n"); exit (0); #endif #endif #endif #if defined (__386BSD__) printf ("i386-pc-bsd\n"); exit (0); #endif #if defined (sequent) #if defined (i386) printf ("i386-sequent-dynix\n"); exit (0); #endif #if defined (ns32000) printf ("ns32k-sequent-dynix\n"); exit (0); #endif #endif #if defined (_SEQUENT_) struct utsname un; uname(&un); if (strncmp(un.version, "V2", 2) == 0) { printf ("i386-sequent-ptx2\n"); exit (0); } if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ printf ("i386-sequent-ptx1\n"); exit (0); } printf ("i386-sequent-ptx\n"); exit (0); #endif #if defined (vax) # if !defined (ultrix) # include # if defined (BSD) # if BSD == 43 printf ("vax-dec-bsd4.3\n"); exit (0); # else # if BSD == 199006 printf ("vax-dec-bsd4.3reno\n"); exit (0); # else printf ("vax-dec-bsd\n"); exit (0); # endif # endif # else printf ("vax-dec-bsd\n"); exit (0); # endif # else printf ("vax-dec-ultrix\n"); exit (0); # endif #endif #if defined (alliant) && defined (i860) printf ("i860-alliant-bsd\n"); exit (0); #endif exit (1); } EOF $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && $dummy && exit 0 # Apollos put the system type in the environment. test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; } # Convex versions that predate uname can use getsysinfo(1) if [ -x /usr/convex/getsysinfo ] then case `getsysinfo -f cpu_type` in c1*) echo c1-convex-bsd exit 0 ;; c2*) if getsysinfo -f scalar_acc then echo c32-convex-bsd else echo c2-convex-bsd fi exit 0 ;; c34*) echo c34-convex-bsd exit 0 ;; c38*) echo c38-convex-bsd exit 0 ;; c4*) echo c4-convex-bsd exit 0 ;; esac fi cat >&2 < in order to provide the needed information to handle your system. config.guess timestamp = $timestamp 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` /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-hooks 'time-stamp) # time-stamp-start: "timestamp='" # time-stamp-format: "%:y-%02m-%02d" # time-stamp-end: "'" # End: dmraid/1.0.0.rc16/configure0000755000175200007640000056304511254123773015643 0ustar mauelshamauelsha#! /bin/sh # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.61. # # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, # 2002, 2003, 2004, 2005, 2006 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=: # 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 # PATH needs CR # 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 # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then echo "#! /bin/sh" >conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh fi # Support unset when possible. if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then as_unset=unset else as_unset=false 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.) as_nl=' ' IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. 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 echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 { (exit 1); exit 1; } fi # Work around bugs in pre-3.0 UWIN ksh. for as_var in ENV MAIL MAILPATH do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var done PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. for as_var in \ LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ LC_TELEPHONE LC_TIME do if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then eval $as_var=C; export $as_var else ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var fi done # Required to use basename. 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 # Name of the executable. as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } /^X\/\(\/\/\)$/{ s//\1/ q } /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` # CDPATH. $as_unset CDPATH if test "x$CONFIG_SHELL" = x; then if (eval ":") 2>/dev/null; then as_have_required=yes else as_have_required=no fi if test $as_have_required = yes && (eval ": (as_func_return () { (exit \$1) } as_func_success () { as_func_return 0 } as_func_failure () { as_func_return 1 } as_func_ret_success () { return 0 } as_func_ret_failure () { return 1 } exitcode=0 if as_func_success; then : else exitcode=1 echo as_func_success failed. fi if as_func_failure; then exitcode=1 echo as_func_failure succeeded. fi if as_func_ret_success; then : else exitcode=1 echo as_func_ret_success failed. fi if as_func_ret_failure; then exitcode=1 echo as_func_ret_failure succeeded. fi if ( set x; as_func_ret_success y && test x = \"\$1\" ); then : else exitcode=1 echo positional parameters were not saved. fi test \$exitcode = 0) || { (exit 1); exit 1; } ( as_lineno_1=\$LINENO as_lineno_2=\$LINENO test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" && test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; } ") 2> /dev/null; then : else as_candidate_shells= as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. case $as_dir in /*) for as_base in sh bash ksh sh5; do as_candidate_shells="$as_candidate_shells $as_dir/$as_base" done;; esac done IFS=$as_save_IFS for as_shell in $as_candidate_shells $SHELL; do # Try only shells that exist, to save several forks. if { test -f "$as_shell" || test -f "$as_shell.exe"; } && { ("$as_shell") 2> /dev/null <<\_ASEOF 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 : _ASEOF }; then CONFIG_SHELL=$as_shell as_have_required=yes if { "$as_shell" 2> /dev/null <<\_ASEOF 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 : (as_func_return () { (exit $1) } as_func_success () { as_func_return 0 } as_func_failure () { as_func_return 1 } as_func_ret_success () { return 0 } as_func_ret_failure () { return 1 } exitcode=0 if as_func_success; then : else exitcode=1 echo as_func_success failed. fi if as_func_failure; then exitcode=1 echo as_func_failure succeeded. fi if as_func_ret_success; then : else exitcode=1 echo as_func_ret_success failed. fi if as_func_ret_failure; then exitcode=1 echo as_func_ret_failure succeeded. fi if ( set x; as_func_ret_success y && test x = "$1" ); then : else exitcode=1 echo positional parameters were not saved. fi test $exitcode = 0) || { (exit 1); exit 1; } ( as_lineno_1=$LINENO as_lineno_2=$LINENO test "x$as_lineno_1" != "x$as_lineno_2" && test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; } _ASEOF }; then break fi fi done if test "x$CONFIG_SHELL" != x; then for as_var in BASH_ENV ENV do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var done export CONFIG_SHELL exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"} fi if test $as_have_required = no; then echo This script requires a shell more modern than all the echo shells that I found on your system. Please install a echo modern shell, or manually run the script under such a echo shell if you do have one. { (exit 1); exit 1; } fi fi fi (eval "as_func_return () { (exit \$1) } as_func_success () { as_func_return 0 } as_func_failure () { as_func_return 1 } as_func_ret_success () { return 0 } as_func_ret_failure () { return 1 } exitcode=0 if as_func_success; then : else exitcode=1 echo as_func_success failed. fi if as_func_failure; then exitcode=1 echo as_func_failure succeeded. fi if as_func_ret_success; then : else exitcode=1 echo as_func_ret_success failed. fi if as_func_ret_failure; then exitcode=1 echo as_func_ret_failure succeeded. fi if ( set x; as_func_ret_success y && test x = \"\$1\" ); then : else exitcode=1 echo positional parameters were not saved. fi test \$exitcode = 0") || { echo No shell found that supports shell functions. echo Please tell autoconf@gnu.org about your system, echo including any error possibly output before this echo message } as_lineno_1=$LINENO as_lineno_2=$LINENO test "x$as_lineno_1" != "x$as_lineno_2" && test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { # Create $as_me.lineno as a copy of $as_myself, but with $LINENO # uniformly replaced by the line number. The first 'sed' inserts a # line-number line after each line using $LINENO; the second 'sed' # does the real work. The second script uses 'N' to pair each # line-number line with the line containing $LINENO, and appends # trailing '-' during substitution so that $LINENO is not a special # case at line end. # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the # scripts with optimization help from Paolo Bonzini. 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" || { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 { (exit 1); exit 1; }; } # 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 } if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then as_dirname=dirname else as_dirname=false fi ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in -n*) case `echo 'x\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. *) ECHO_C='\c';; esac;; *) ECHO_N='-n';; esac if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi 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 fi echo >conf$$.file 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 -p'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -p' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -p' 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=: else test -d ./-p && rmdir ./-p as_mkdir_p=false fi if test -x / >/dev/null 2>&1; then as_test_x='test -x' else if ls -dL / >/dev/null 2>&1; then as_ls_L_option=L else as_ls_L_option= fi as_test_x=' eval sh -c '\'' if test -d "$1"; then test -d "$1/."; else case $1 in -*)set "./$1";; esac; case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in ???[sx]*):;;*)false;;esac;fi '\'' sh ' fi as_executable_p=$as_test_x # 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 7<&0 &1 # Name of the host. # hostname on some systems (SVR3.2, 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= SHELL=${CONFIG_SHELL-/bin/sh} # Identity of this package. PACKAGE_NAME= PACKAGE_TARNAME= PACKAGE_VERSION= PACKAGE_STRING= PACKAGE_BUGREPORT= ac_unique_file="lib/device/dev-io.h" # 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_default_prefix=/usr/share ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datarootdir datadir sysconfdir sharedstatedir localstatedir includedir oldincludedir docdir infodir htmldir dvidir pdfdir psdir libdir localedir mandir DEFS ECHO_C ECHO_N ECHO_T LIBS build_alias host_alias target_alias build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os AWK INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA LN_S SET_MAKE RANLIB KLCC KLIBC KLIBC_PREFIX KLIBC_BIN_DIR KLIBC_SBIN_DIR KLIBC_LIB_DIR KLIBC_INCLUDE_DIR CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CPP GREP EGREP CLDFLAGS DEBUG DEBUG_MALLOC DMRAID_TEST DMRAID_VERSION DMRAID_LIB_VERSION DIETLIBC GROUP JOBS LD_DEPS FLAVOUR LIBSELINUX LIBSEPOL LIB_SO OWNER SOFLAG STATIC_LINK LIBOBJS LTLIBOBJS' ac_subst_files='' ac_precious_vars='build_alias host_alias target_alias CC CFLAGS LDFLAGS LIBS CPPFLAGS CPP' # Initialize some variables set by options. ac_init_help= ac_init_version=false # 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' includedir='${prefix}/include' oldincludedir='/usr/include' docdir='${datarootdir}/doc/${PACKAGE}' 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=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_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid feature name: $ac_feature" >&2 { (exit 1); exit 1; }; } ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'` eval enable_$ac_feature=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_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid feature name: $ac_feature" >&2 { (exit 1); exit 1; }; } ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'` eval enable_$ac_feature=\$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 ;; -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_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid package name: $ac_package" >&2 { (exit 1); exit 1; }; } ac_package=`echo $ac_package | sed 's/[-.]/_/g'` eval with_$ac_package=\$ac_optarg ;; -without-* | --without-*) ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid package name: $ac_package" >&2 { (exit 1); exit 1; }; } ac_package=`echo $ac_package | sed 's/[-.]/_/g'` eval with_$ac_package=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 ;; -*) { echo "$as_me: error: unrecognized option: $ac_option Try \`$0 --help' for more information." >&2 { (exit 1); exit 1; }; } ;; *=*) ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` # Reject names that are not valid shell variable names. expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid variable name: $ac_envvar" >&2 { (exit 1); exit 1; }; } eval $ac_envvar=\$ac_optarg export $ac_envvar ;; *) # FIXME: should be removed in autoconf 3.0. echo "$as_me: WARNING: you should use --build, --host, --target" >&2 expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && 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'` { echo "$as_me: error: missing argument to $ac_option" >&2 { (exit 1); exit 1; }; } fi # Be sure to have absolute directory names. 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 do eval ac_val=\$$ac_var case $ac_val in [\\/$]* | ?:[\\/]* ) continue;; NONE | '' ) case $ac_var in *prefix ) continue;; esac;; esac { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 { (exit 1); exit 1; }; } 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 echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. If a cross compiler is detected then cross compile mode will be used." >&2 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 .` || { echo "$as_me: error: Working directory cannot be determined" >&2 { (exit 1); exit 1; }; } test "X$ac_ls_di" = "X$ac_pwd_ls_di" || { echo "$as_me: error: pwd does not report name of working directory" >&2 { (exit 1); exit 1; }; } # 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 -- "$0" || $as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$0" : 'X\(//\)[^/]' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || echo X"$0" | 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 .." { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 { (exit 1); exit 1; }; } fi ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" ac_abs_confdir=`( cd "$srcdir" && test -r "./$ac_unique_file" || { echo "$as_me: error: $ac_msg" >&2 { (exit 1); exit 1; }; } 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 this package 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] --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/PACKAGE] --htmldir=DIR html documentation [DOCDIR] --dvidir=DIR dvi documentation [DOCDIR] --pdfdir=DIR pdf documentation [DOCDIR] --psdir=DIR ps documentation [DOCDIR] _ACEOF cat <<\_ACEOF System types: --build=BUILD configure for building on BUILD [guessed] --host=HOST cross-compile to build programs to run on HOST [BUILD] --target=TARGET configure for building compilers for TARGET [HOST] _ACEOF fi if test -n "$ac_init_help"; then cat <<\_ACEOF Optional Features: --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) --enable-FEATURE[=ARG] include FEATURE [ARG=yes] --enable-klibc Use this to link the tools to klibc. Set KLCC to the absolute file name of klcc if not in the PATH. --enable-debug Enable debugging --enable-debug_malloc Enable malloc debugging --enable-dietlibc Use this to link the tools to dietlibc --enable-jobs=NUM Number of jobs to run simultaneously --enable-libselinux Use this to link the tools to libselinux --enable-libsepol Use this to link the tools to libsepol --enable-mini Use this to create a minimal binary suitable for early boot environments --enable-led Use this to enable LED support --enable-intel_led Use this to enable Intel LED support --disable-native_log Disable native metadata logging. Default is enabled --enable-static_link Use this to link the tools to the dmraid and devmapper libraries statically. Default is dynamic linking --enable-shared_lib Use this to generate shared libdmraid and link the tools to it. Default is static libdmraid --disable-testing Disable testing with mapped devices Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) --with-user=USER Set the owner of installed files --with-group=GROUP Set the group owner of installed files 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 C/C++/Objective C preprocessor flags, e.g. -I if you have headers in a nonstandard directory CPP C preprocessor Use these variables to override the choices made by `configure' or to help it to find libraries and programs with nonstandard names/locations. _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" || continue ac_builddir=. case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` # A ".." for each directory in $ac_dir_suffix. ac_top_builddir_sub=`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 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 configure generated by GNU Autoconf 2.61 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 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 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 $as_me, which was generated by GNU Autoconf 2.61. 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=. 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=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; esac case $ac_pass in 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;; 2) ac_configure_args1="$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 ac_configure_args="$ac_configure_args '$ac_arg'" ;; esac done done $as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; } $as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export 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 cat <<\_ASBOX ## ---------------- ## ## Cache variables. ## ## ---------------- ## _ASBOX 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_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( *) $as_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 cat <<\_ASBOX ## ----------------- ## ## Output variables. ## ## ----------------- ## _ASBOX echo for ac_var in $ac_subst_vars do eval ac_val=\$$ac_var case $ac_val in *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac echo "$ac_var='\''$ac_val'\''" done | sort echo if test -n "$ac_subst_files"; then cat <<\_ASBOX ## ------------------- ## ## File substitutions. ## ## ------------------- ## _ASBOX echo for ac_var in $ac_subst_files do eval ac_val=\$$ac_var case $ac_val in *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac echo "$ac_var='\''$ac_val'\''" done | sort echo fi if test -s confdefs.h; then cat <<\_ASBOX ## ----------- ## ## confdefs.h. ## ## ----------- ## _ASBOX echo cat confdefs.h echo fi test "$ac_signal" != 0 && echo "$as_me: caught signal $ac_signal" 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'; { (exit 1); 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 # 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 # Let the site file select an alternate cache file if it wants to. # Prefer explicitly selected file to automatically selected ones. if test -n "$CONFIG_SITE"; then set x "$CONFIG_SITE" elif test "x$prefix" != xNONE; then set x "$prefix/share/config.site" "$prefix/etc/config.site" else set x "$ac_default_prefix/share/config.site" \ "$ac_default_prefix/etc/config.site" fi shift for ac_site_file do if test -r "$ac_site_file"; then { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5 echo "$as_me: loading site script $ac_site_file" >&6;} sed 's/^/| /' "$ac_site_file" >&5 . "$ac_site_file" 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. if test -f "$cache_file"; then { echo "$as_me:$LINENO: loading cache $cache_file" >&5 echo "$as_me: loading cache $cache_file" >&6;} case $cache_file in [\\/]* | ?:[\\/]* ) . "$cache_file";; *) . "./$cache_file";; esac fi else { echo "$as_me:$LINENO: creating cache $cache_file" >&5 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,) { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} ac_cache_corrupted=: ;; ,set) { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5 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 { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} { echo "$as_me:$LINENO: former value: $ac_old_val" >&5 echo "$as_me: former value: $ac_old_val" >&2;} { echo "$as_me:$LINENO: current value: $ac_new_val" >&5 echo "$as_me: current value: $ac_new_val" >&2;} ac_cache_corrupted=: fi;; esac # Pass precious variables to config.status. if test "$ac_new_set" = set; then case $ac_new_val in *\'*) ac_arg=$ac_var=`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. *) ac_configure_args="$ac_configure_args '$ac_arg'" ;; esac fi done if $ac_cache_corrupted; then { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5 echo "$as_me: error: changes in the environment can compromise the build" >&2;} { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;} { (exit 1); exit 1; }; } 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_aux_dir= for ac_dir in autoconf "$srcdir"/autoconf; 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 { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in autoconf \"$srcdir\"/autoconf" >&5 echo "$as_me: error: cannot find install-sh or install.sh in autoconf \"$srcdir\"/autoconf" >&2;} { (exit 1); exit 1; }; } 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. # Make sure we can run config.sub. $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || { { echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5 echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;} { (exit 1); exit 1; }; } { echo "$as_me:$LINENO: checking build system type" >&5 echo $ECHO_N "checking build system type... $ECHO_C" >&6; } if test "${ac_cv_build+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&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 && { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5 echo "$as_me: error: cannot guess build type; you must specify one" >&2;} { (exit 1); exit 1; }; } ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5 echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&2;} { (exit 1); exit 1; }; } fi { echo "$as_me:$LINENO: result: $ac_cv_build" >&5 echo "${ECHO_T}$ac_cv_build" >&6; } case $ac_cv_build in *-*-*) ;; *) { { echo "$as_me:$LINENO: error: invalid value of canonical build" >&5 echo "$as_me: error: invalid value of canonical build" >&2;} { (exit 1); exit 1; }; };; 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 { echo "$as_me:$LINENO: checking host system type" >&5 echo $ECHO_N "checking host system type... $ECHO_C" >&6; } if test "${ac_cv_host+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&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` || { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5 echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;} { (exit 1); exit 1; }; } fi fi { echo "$as_me:$LINENO: result: $ac_cv_host" >&5 echo "${ECHO_T}$ac_cv_host" >&6; } case $ac_cv_host in *-*-*) ;; *) { { echo "$as_me:$LINENO: error: invalid value of canonical host" >&5 echo "$as_me: error: invalid value of canonical host" >&2;} { (exit 1); exit 1; }; };; 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 { echo "$as_me:$LINENO: checking target system type" >&5 echo $ECHO_N "checking target system type... $ECHO_C" >&6; } if test "${ac_cv_target+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "x$target_alias" = x; then ac_cv_target=$ac_cv_host else ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` || { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $target_alias failed" >&5 echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $target_alias failed" >&2;} { (exit 1); exit 1; }; } fi fi { echo "$as_me:$LINENO: result: $ac_cv_target" >&5 echo "${ECHO_T}$ac_cv_target" >&6; } case $ac_cv_target in *-*-*) ;; *) { { echo "$as_me:$LINENO: error: invalid value of canonical target" >&5 echo "$as_me: error: invalid value of canonical target" >&2;} { (exit 1); exit 1; }; };; esac target=$ac_cv_target ac_save_IFS=$IFS; IFS='-' set x $ac_cv_target shift target_cpu=$1 target_vendor=$2 shift; shift # Remember, the first character of IFS is used to create $*, # except with old shells: target_os=$* IFS=$ac_save_IFS case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac # The aliases save the names the user supplied, while $host etc. # will get canonicalized. test -n "$target_alias" && test "$program_prefix$program_suffix$program_transform_name" = \ NONENONEs,x,x, && program_prefix=${target_alias}- 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 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_AWK+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_AWK="$ac_prog" echo "$as_me:$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 { echo "$as_me:$LINENO: result: $AWK" >&5 echo "${ECHO_T}$AWK" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi test -n "$AWK" && break done # 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. { echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6; } if test -z "$INSTALL"; then if test "${ac_cv_path_install+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&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 { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$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 ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" break 3 fi fi done done ;; esac done IFS=$as_save_IFS 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 { echo "$as_me:$LINENO: result: $INSTALL" >&5 echo "${ECHO_T}$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' { echo "$as_me:$LINENO: checking whether ln -s works" >&5 echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6; } LN_S=$as_ln_s if test "$LN_S" = "ln -s"; then { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } else { echo "$as_me:$LINENO: result: no, using $LN_S" >&5 echo "${ECHO_T}no, using $LN_S" >&6; } fi { echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5 echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6; } set x ${MAKE-make}; ac_make=`echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&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 { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } SET_MAKE= else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } SET_MAKE="MAKE=${MAKE-make}" fi 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 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_RANLIB+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" echo "$as_me:$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 { echo "$as_me:$LINENO: result: $RANLIB" >&5 echo "${ECHO_T}$RANLIB" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}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 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_RANLIB="ranlib" echo "$as_me:$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 { echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5 echo "${ECHO_T}$ac_ct_RANLIB" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi if test "x$ac_ct_RANLIB" = x; then RANLIB=":" else case $cross_compiling:$ac_tool_warned in yes:) { echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&5 echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&2;} ac_tool_warned=yes ;; esac RANLIB=$ac_ct_RANLIB fi else RANLIB="$ac_cv_prog_RANLIB" fi # Check whether --enable-klibc was given. if test "${enable_klibc+set}" = set; then enableval=$enable_klibc; KLIBC=$enableval else KLIBC=no fi if test "X$KLIBC" = Xyes; then # Basic cross compiling support. I do not think it is wise to use # AC_CHECK_TOOL, because if we are cross compiling, we do not want # just 'klcc' to be returned ... if test "X$cross_compiling" = Xyes; then for ac_prog in ${host_alias}-klcc do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_KLCC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$KLCC"; then ac_cv_prog_KLCC="$KLCC" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_KLCC="$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi KLCC=$ac_cv_prog_KLCC if test -n "$KLCC"; then { echo "$as_me:$LINENO: result: $KLCC" >&5 echo "${ECHO_T}$KLCC" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi test -n "$KLCC" && break done test -n "$KLCC" || KLCC="no" else for ac_prog in klcc do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_KLCC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$KLCC"; then ac_cv_prog_KLCC="$KLCC" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_KLCC="$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi KLCC=$ac_cv_prog_KLCC if test -n "$KLCC"; then { echo "$as_me:$LINENO: result: $KLCC" >&5 echo "${ECHO_T}$KLCC" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi test -n "$KLCC" && break done test -n "$KLCC" || KLCC="no" fi if test "X$KLCC" = Xno; then { { echo "$as_me:$LINENO: error: cannot find klibc frontend 'klcc'!" >&5 echo "$as_me: error: cannot find klibc frontend 'klcc'!" >&2;} { (exit 1); exit 1; }; } fi CC="$KLCC" CFLAGS="-Os" KLIBC_KCROSS="$($KLCC -print-klibc-kcross 2>/dev/null)" KLIBC_PREFIX="$($KLCC -print-klibc-prefix 2>/dev/null)" KLIBC_BIN_DIR="$($KLCC -print-klibc-bindir 2>/dev/null)" KLIBC_SBIN_DIR="${KLIBC_PREFIX}/${KLIBC_KCROSS}sbin" KLIBC_LIB_DIR="$($KLCC -print-klibc-libdir 2>/dev/null)" KLIBC_INCLUDE_DIR="$($KLCC -print-klibc-includedir 2>/dev/null)" # At least KLIBC_LIB_DIR should be valid, else klibc is too old or # something went wrong if test ! -d "$KLIBC_LIB_DIR"; then { { echo "$as_me:$LINENO: error: your klibc installation is too old or not functional!" >&5 echo "$as_me: error: your klibc installation is too old or not functional!" >&2;} { (exit 1); exit 1; }; } fi 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 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="${ac_tool_prefix}gcc" echo "$as_me:$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 { echo "$as_me:$LINENO: result: $CC" >&5 echo "${ECHO_T}$CC" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}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 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_ac_ct_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_CC="gcc" echo "$as_me:$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 { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 echo "${ECHO_T}$ac_ct_CC" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&5 echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&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 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="${ac_tool_prefix}cc" echo "$as_me:$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 { echo "$as_me:$LINENO: result: $CC" >&5 echo "${ECHO_T}$CC" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}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 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$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" echo "$as_me:$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 { echo "$as_me:$LINENO: result: $CC" >&5 echo "${ECHO_T}$CC" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}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 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="$ac_tool_prefix$ac_prog" echo "$as_me:$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 { echo "$as_me:$LINENO: result: $CC" >&5 echo "${ECHO_T}$CC" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}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 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_ac_ct_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_CC="$ac_prog" echo "$as_me:$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 { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 echo "${ECHO_T}$ac_ct_CC" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}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:) { echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&5 echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi fi fi test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH See \`config.log' for more details." >&5 echo "$as_me: error: no acceptable C compiler found in \$PATH See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } # Provide some information about the compiler. echo "$as_me:$LINENO: checking for C compiler version" >&5 ac_compiler=`set X $ac_compile; echo $2` { (ac_try="$ac_compiler --version >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compiler --version >&5") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (ac_try="$ac_compiler -v >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compiler -v >&5") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (ac_try="$ac_compiler -V >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compiler -V >&5") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files a.out 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. { echo "$as_me:$LINENO: checking for C compiler default output file name" >&5 echo $ECHO_N "checking for C compiler default output file name... $ECHO_C" >&6; } ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` # # List of possible output files, starting from the most likely. # The algorithm is not robust to junk in `.', hence go to wildcards (a.*) # only as a last resort. b.out is created by i960 compilers. ac_files='a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out' # # The IRIX 6 linker writes into existing files which may not be # executable, retaining their permissions. Remove them first so a # subsequent execution test works. ac_rmfiles= for ac_file in $ac_files do case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link_default") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; 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 | *.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 { echo "$as_me:$LINENO: result: $ac_file" >&5 echo "${ECHO_T}$ac_file" >&6; } if test -z "$ac_file"; then echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { echo "$as_me:$LINENO: error: C compiler cannot create executables See \`config.log' for more details." >&5 echo "$as_me: error: C compiler cannot create executables See \`config.log' for more details." >&2;} { (exit 77); exit 77; }; } fi ac_exeext=$ac_cv_exeext # Check that the compiler produces executables we can run. If not, either # the compiler is broken, or we cross compile. { echo "$as_me:$LINENO: checking whether the C compiler works" >&5 echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6; } # FIXME: These cross compiler hacks should be removed for Autoconf 3.0 # If not cross compiling, check that we can run a simple program. if test "$cross_compiling" != yes; then if { ac_try='./$ac_file' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then cross_compiling=no else if test "$cross_compiling" = maybe; then cross_compiling=yes else { { echo "$as_me:$LINENO: error: cannot run C compiled programs. If you meant to cross compile, use \`--host'. See \`config.log' for more details." >&5 echo "$as_me: error: cannot run C compiled programs. If you meant to cross compile, use \`--host'. See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi fi fi { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } rm -f a.out a.exe conftest$ac_cv_exeext b.out ac_clean_files=$ac_clean_files_save # Check that the compiler produces executables we can run. If not, either # the compiler is broken, or we cross compile. { echo "$as_me:$LINENO: checking whether we are cross compiling" >&5 echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6; } { echo "$as_me:$LINENO: result: $cross_compiling" >&5 echo "${ECHO_T}$cross_compiling" >&6; } { echo "$as_me:$LINENO: checking for suffix of executables" >&5 echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6; } if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; 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 | *.o | *.obj ) ;; *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` break;; * ) break;; esac done else { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link See \`config.log' for more details." >&5 echo "$as_me: error: cannot compute suffix of executables: cannot compile and link See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi rm -f conftest$ac_cv_exeext { echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5 echo "${ECHO_T}$ac_cv_exeext" >&6; } rm -f conftest.$ac_ext EXEEXT=$ac_cv_exeext ac_exeext=$EXEEXT { echo "$as_me:$LINENO: checking for suffix of object files" >&5 echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6; } if test "${ac_cv_objext+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* 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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; 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 ) ;; *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` break;; esac done else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile See \`config.log' for more details." >&5 echo "$as_me: error: cannot compute suffix of object files: cannot compile See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi rm -f conftest.$ac_cv_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_objext" >&5 echo "${ECHO_T}$ac_cv_objext" >&6; } OBJEXT=$ac_cv_objext ac_objext=$OBJEXT { echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6; } if test "${ac_cv_c_compiler_gnu+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF 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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_compiler_gnu=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 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 { echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6; } GCC=`test $ac_compiler_gnu = yes && echo yes` ac_test_CFLAGS=${CFLAGS+set} ac_save_CFLAGS=$CFLAGS { echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6; } if test "${ac_cv_prog_cc_g+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&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 >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF 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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_prog_cc_g=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 CFLAGS="" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF 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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_c_werror_flag=$ac_save_c_werror_flag CFLAGS="-g" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF 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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_prog_cc_g=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 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 { echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 echo "${ECHO_T}$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 { echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5 echo $ECHO_N "checking for $CC option to accept ISO C89... $ECHO_C" >&6; } if test "${ac_cv_prog_cc_c89+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_cv_prog_cc_c89=no ac_save_CC=$CC cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #include #include /* 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" 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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_prog_cc_c89=$ac_arg else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 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) { echo "$as_me:$LINENO: result: none needed" >&5 echo "${ECHO_T}none needed" >&6; } ;; xno) { echo "$as_me:$LINENO: result: unsupported" >&5 echo "${ECHO_T}unsupported" >&6; } ;; *) CC="$CC $ac_cv_prog_cc_c89" { echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5 echo "${ECHO_T}$ac_cv_prog_cc_c89" >&6; } ;; 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 ac_header_dirent=no for ac_hdr in dirent.h sys/ndir.h sys/dir.h ndir.h; do as_ac_Header=`echo "ac_cv_header_dirent_$ac_hdr" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_hdr that defines DIR" >&5 echo $ECHO_N "checking for $ac_hdr that defines DIR... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include <$ac_hdr> int main () { if ((DIR *) 0) return 0; ; return 0; } _ACEOF 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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then eval "$as_ac_Header=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_Header=no" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_hdr" | $as_tr_cpp` 1 _ACEOF ac_header_dirent=$ac_hdr; break fi done # Two versions of opendir et al. are in -ldir and -lx on SCO Xenix. if test $ac_header_dirent = dirent.h; then { echo "$as_me:$LINENO: checking for library containing opendir" >&5 echo $ECHO_N "checking for library containing opendir... $ECHO_C" >&6; } if test "${ac_cv_search_opendir+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_func_search_save_LIBS=$LIBS cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* 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 opendir (); int main () { return opendir (); ; return 0; } _ACEOF for ac_lib in '' dir; do if test -z "$ac_lib"; then ac_res="none required" else ac_res=-l$ac_lib LIBS="-l$ac_lib $ac_func_search_save_LIBS" fi 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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_search_opendir=$ac_res else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext if test "${ac_cv_search_opendir+set}" = set; then break fi done if test "${ac_cv_search_opendir+set}" = set; then : else ac_cv_search_opendir=no fi rm conftest.$ac_ext LIBS=$ac_func_search_save_LIBS fi { echo "$as_me:$LINENO: result: $ac_cv_search_opendir" >&5 echo "${ECHO_T}$ac_cv_search_opendir" >&6; } ac_res=$ac_cv_search_opendir if test "$ac_res" != no; then test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" fi else { echo "$as_me:$LINENO: checking for library containing opendir" >&5 echo $ECHO_N "checking for library containing opendir... $ECHO_C" >&6; } if test "${ac_cv_search_opendir+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_func_search_save_LIBS=$LIBS cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* 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 opendir (); int main () { return opendir (); ; return 0; } _ACEOF for ac_lib in '' x; do if test -z "$ac_lib"; then ac_res="none required" else ac_res=-l$ac_lib LIBS="-l$ac_lib $ac_func_search_save_LIBS" fi 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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_search_opendir=$ac_res else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext if test "${ac_cv_search_opendir+set}" = set; then break fi done if test "${ac_cv_search_opendir+set}" = set; then : else ac_cv_search_opendir=no fi rm conftest.$ac_ext LIBS=$ac_func_search_save_LIBS fi { echo "$as_me:$LINENO: result: $ac_cv_search_opendir" >&5 echo "${ECHO_T}$ac_cv_search_opendir" >&6; } ac_res=$ac_cv_search_opendir if test "$ac_res" != no; then test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" fi 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 { echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5 echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6; } # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= fi if test -z "$CPP"; then if test "${ac_cv_prog_CPP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&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 >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Broken: fails on valid input. continue fi rm -f conftest.err conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then # Broken: success on invalid input. continue else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f 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 { echo "$as_me:$LINENO: result: $CPP" >&5 echo "${ECHO_T}$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 >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Broken: fails on valid input. continue fi rm -f conftest.err conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then # Broken: success on invalid input. continue else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.err conftest.$ac_ext if $ac_preproc_ok; then : else { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check See \`config.log' for more details." >&5 echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } 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 { echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5 echo $ECHO_N "checking for grep that handles long lines and -e... $ECHO_C" >&6; } if test "${ac_cv_path_GREP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else # Extract the first word of "grep ggrep" to use in msg output if test -z "$GREP"; then set dummy grep ggrep; ac_prog_name=$2 if test "${ac_cv_path_GREP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else 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" { test -f "$ac_path_GREP" && $as_test_x "$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 echo $ECHO_N "0123456789$ECHO_C" >"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" "$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 ac_count=`expr $ac_count + 1` 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 fi GREP="$ac_cv_path_GREP" if test -z "$GREP"; then { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} { (exit 1); exit 1; }; } fi else ac_cv_path_GREP=$GREP fi fi { echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5 echo "${ECHO_T}$ac_cv_path_GREP" >&6; } GREP="$ac_cv_path_GREP" { echo "$as_me:$LINENO: checking for egrep" >&5 echo $ECHO_N "checking for egrep... $ECHO_C" >&6; } if test "${ac_cv_path_EGREP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 then ac_cv_path_EGREP="$GREP -E" else # Extract the first word of "egrep" to use in msg output if test -z "$EGREP"; then set dummy egrep; ac_prog_name=$2 if test "${ac_cv_path_EGREP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else 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" { test -f "$ac_path_EGREP" && $as_test_x "$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 echo $ECHO_N "0123456789$ECHO_C" >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" 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 ac_count=`expr $ac_count + 1` 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 fi EGREP="$ac_cv_path_EGREP" if test -z "$EGREP"; then { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} { (exit 1); exit 1; }; } fi else ac_cv_path_EGREP=$EGREP fi fi fi { echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5 echo "${ECHO_T}$ac_cv_path_EGREP" >&6; } EGREP="$ac_cv_path_EGREP" { echo "$as_me:$LINENO: checking for ANSI C header files" >&5 echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6; } if test "${ac_cv_header_stdc+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #include #include int main () { ; return 0; } _ACEOF 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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_header_stdc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 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 >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* 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 >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* 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 >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* 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 rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) ac_cv_header_stdc=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi fi { echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 echo "${ECHO_T}$ac_cv_header_stdc" >&6; } if test $ac_cv_header_stdc = yes; then cat >>confdefs.h <<\_ACEOF #define STDC_HEADERS 1 _ACEOF 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=`echo "ac_cv_header_$ac_header" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include <$ac_header> _ACEOF 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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then eval "$as_ac_Header=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_Header=no" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done for ac_header in fcntl.h sys/ioctl.h unistd.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } else # Is the header compilable? { echo "$as_me:$LINENO: checking $ac_header usability" >&5 echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include <$ac_header> _ACEOF 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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6; } # Is the header present? { echo "$as_me:$LINENO: checking $ac_header presence" >&5 echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include <$ac_header> _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} ;; esac { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else eval "$as_ac_Header=\$ac_header_preproc" fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } fi if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done if test x$KLIBC != xyes; then for ac_header in malloc.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } else # Is the header compilable? { echo "$as_me:$LINENO: checking $ac_header usability" >&5 echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include <$ac_header> _ACEOF 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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6; } # Is the header present? { echo "$as_me:$LINENO: checking $ac_header presence" >&5 echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include <$ac_header> _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} ;; esac { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else eval "$as_ac_Header=\$ac_header_preproc" fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } fi if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done fi { echo "$as_me:$LINENO: checking for an ANSI C-conforming const" >&5 echo $ECHO_N "checking for an ANSI C-conforming const... $ECHO_C" >&6; } if test "${ac_cv_c_const+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { /* FIXME: Include the comments suggested by Paul. */ #ifndef __cplusplus /* Ultrix mips cc rejects this. */ typedef int charset[2]; const charset cs; /* 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. */ char *t; 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 saying "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */ struct s { int j; const int *ap[3]; }; struct s *b; 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 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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_c_const=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_c_const=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_c_const" >&5 echo "${ECHO_T}$ac_cv_c_const" >&6; } if test $ac_cv_c_const = no; then cat >>confdefs.h <<\_ACEOF #define const _ACEOF fi { echo "$as_me:$LINENO: checking for inline" >&5 echo $ECHO_N "checking for inline... $ECHO_C" >&6; } if test "${ac_cv_c_inline+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_cv_c_inline=no for ac_kw in inline __inline__ __inline; do cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #ifndef __cplusplus typedef int foo_t; static $ac_kw foo_t static_foo () {return 0; } $ac_kw foo_t foo () {return 0; } #endif _ACEOF 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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_c_inline=$ac_kw else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext test "$ac_cv_c_inline" != no && break done fi { echo "$as_me:$LINENO: result: $ac_cv_c_inline" >&5 echo "${ECHO_T}$ac_cv_c_inline" >&6; } case $ac_cv_c_inline in inline | yes) ;; *) case $ac_cv_c_inline in no) ac_val=;; *) ac_val=$ac_cv_c_inline;; esac cat >>confdefs.h <<_ACEOF #ifndef __cplusplus #define inline $ac_val #endif _ACEOF ;; esac { echo "$as_me:$LINENO: checking for off_t" >&5 echo $ECHO_N "checking for off_t... $ECHO_C" >&6; } if test "${ac_cv_type_off_t+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default typedef off_t ac__type_new_; int main () { if ((ac__type_new_ *) 0) return 0; if (sizeof (ac__type_new_)) return 0; ; return 0; } _ACEOF 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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_type_off_t=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_type_off_t=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_type_off_t" >&5 echo "${ECHO_T}$ac_cv_type_off_t" >&6; } if test $ac_cv_type_off_t = yes; then : else cat >>confdefs.h <<_ACEOF #define off_t long int _ACEOF fi { echo "$as_me:$LINENO: checking for pid_t" >&5 echo $ECHO_N "checking for pid_t... $ECHO_C" >&6; } if test "${ac_cv_type_pid_t+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default typedef pid_t ac__type_new_; int main () { if ((ac__type_new_ *) 0) return 0; if (sizeof (ac__type_new_)) return 0; ; return 0; } _ACEOF 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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_type_pid_t=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_type_pid_t=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_type_pid_t" >&5 echo "${ECHO_T}$ac_cv_type_pid_t" >&6; } if test $ac_cv_type_pid_t = yes; then : else cat >>confdefs.h <<_ACEOF #define pid_t int _ACEOF fi { echo "$as_me:$LINENO: checking for size_t" >&5 echo $ECHO_N "checking for size_t... $ECHO_C" >&6; } if test "${ac_cv_type_size_t+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default typedef size_t ac__type_new_; int main () { if ((ac__type_new_ *) 0) return 0; if (sizeof (ac__type_new_)) return 0; ; return 0; } _ACEOF 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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_type_size_t=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_type_size_t=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_type_size_t" >&5 echo "${ECHO_T}$ac_cv_type_size_t" >&6; } if test $ac_cv_type_size_t = yes; then : else cat >>confdefs.h <<_ACEOF #define size_t unsigned int _ACEOF fi { echo "$as_me:$LINENO: checking for struct stat.st_rdev" >&5 echo $ECHO_N "checking for struct stat.st_rdev... $ECHO_C" >&6; } if test "${ac_cv_member_struct_stat_st_rdev+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { static struct stat ac_aggr; if (ac_aggr.st_rdev) return 0; ; return 0; } _ACEOF 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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_member_struct_stat_st_rdev=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { static struct stat ac_aggr; if (sizeof ac_aggr.st_rdev) return 0; ; return 0; } _ACEOF 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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_member_struct_stat_st_rdev=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_member_struct_stat_st_rdev=no 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 { echo "$as_me:$LINENO: result: $ac_cv_member_struct_stat_st_rdev" >&5 echo "${ECHO_T}$ac_cv_member_struct_stat_st_rdev" >&6; } if test $ac_cv_member_struct_stat_st_rdev = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_STAT_ST_RDEV 1 _ACEOF cat >>confdefs.h <<\_ACEOF #define HAVE_ST_RDEV 1 _ACEOF fi { echo "$as_me:$LINENO: checking whether time.h and sys/time.h may both be included" >&5 echo $ECHO_N "checking whether time.h and sys/time.h may both be included... $ECHO_C" >&6; } if test "${ac_cv_header_time+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #include int main () { if ((struct tm *) 0) return 0; ; return 0; } _ACEOF 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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_header_time=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_header_time=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_header_time" >&5 echo "${ECHO_T}$ac_cv_header_time" >&6; } if test $ac_cv_header_time = yes; then cat >>confdefs.h <<\_ACEOF #define TIME_WITH_SYS_TIME 1 _ACEOF fi if test x$KLIBC != xyes; then case "$host_os" in linux*) CFLAGS=-O2 CLDFLAGS="-Wl,--version-script,.export.sym" LD_DEPS=".export.sym" SOFLAG="-shared" ;; esac fi # Check whether --with-user was given. if test "${with_user+set}" = set; then withval=$with_user; OWNER="$withval" else OWNER="root" fi # Check whether --with-group was given. if test "${with_group+set}" = set; then withval=$with_group; GROUP="$withval" else GROUP="root" fi echo $ac_n "checking whether to enable debugging""... $ac_c" 1>&6 # Check whether --enable-debug was given. if test "${enable_debug+set}" = set; then enableval=$enable_debug; \ DEBUG=yes else DEBUG=no fi echo "$ac_t""$DEBUG" 1>&6 echo $ac_n "checking whether to enable malloc debugging""... $ac_c" 1>&6 # Check whether --enable-debug_malloc was given. if test "${enable_debug_malloc+set}" = set; then enableval=$enable_debug_malloc; \ DEBUG_MALLOC=yes else DEBUG_MALLOC=no fi echo "$ac_t""$DEBUG" 1>&6 # Check whether --enable-dietlibc was given. if test "${enable_dietlibc+set}" = set; then enableval=$enable_dietlibc; DIETLIBC=yes else DIETLIBC=no fi if test x$DIETLIBC = xyes; then if test x$KLIBC = xyes; then { { echo "$as_me:$LINENO: error: You can' enable both dietlibc and klibc!" >&5 echo "$as_me: error: You can' enable both dietlibc and klibc!" >&2;} { (exit 1); exit 1; }; } exit 1 fi CC="diet gcc" FLAVOUR="dietlibc " fi # Check whether --enable-jobs was given. if test "${enable_jobs+set}" = set; then enableval=$enable_jobs; JOBS=-j$enableval else JOBS=-j1 fi # Check whether --enable-libselinux was given. if test "${enable_libselinux+set}" = set; then enableval=$enable_libselinux; LIBSELINUX=$enableval else LIBSELINUX=no fi # Check whether --enable-libsepol was given. if test "${enable_libsepol+set}" = set; then enableval=$enable_libsepol; LIBSEPOL=$enableval else LIBSEPOL=no fi # Check whether --enable-mini was given. if test "${enable_mini+set}" = set; then enableval=$enable_mini; DMRAID_MINI=$enableval else DMRAID_MINI=no fi # Check whether --enable-led was given. if test "${enable_led+set}" = set; then enableval=$enable_led; DMRAID_LED=$enableval else DMRAID_LED=no fi # Check whether --enable-intel_led was given. if test "${enable_intel_led+set}" = set; then enableval=$enable_intel_led; DMRAID_INTEL_LED=$enableval else DMRAID_INTEL_LED=no fi echo $ac_n "checking whether to disable native metadata logging""... $ac_c" 1>&6 # Check whether --enable-native_log was given. if test "${enable_native_log+set}" = set; then enableval=$enable_native_log; \ DMRAID_NATIVE_LOG=$enableval else DMRAID_NATIVE_LOG=yes fi echo "$ac_t""$DMRAID_NATIVE_LOG" 1>&6 # Check whether --enable-static_link was given. if test "${enable_static_link+set}" = set; then enableval=$enable_static_link; STATIC_LINK=$enableval else STATIC_LINK=no fi # Check whether --enable-shared_lib was given. if test "${enable_shared_lib+set}" = set; then enableval=$enable_shared_lib; LIB_SO=$enableval else LIB_SO=no fi echo $ac_n "checking whether to disable testing with mapped devices""... $ac_c" 1>&6 # Check whether --enable-testing was given. if test "${enable_testing+set}" = set; then enableval=$enable_testing; \ DMRAID_TEST=no else DMRAID_TEST=yes fi echo "$ac_t""$DEBUG" 1>&6 if test x$LIB_SO = xyes; then FLAVOUR="shared " fi if test x$STATIC_LINK = xyes; then FLAVOUR="static " if test x$LIB_SO = xyes; then { { echo "$as_me:$LINENO: error: You can' enable both shared_lib and static_link!" >&5 echo "$as_me: error: You can' enable both shared_lib and static_link!" >&2;} { (exit 1); exit 1; }; } exit 1 fi fi if test x$DMRAID_MINI = xyes; then CFLAGS="$CFLAGS -DDMRAID_MINI" FLAVOUR="${FLAVOUR}mini " else if test x$DMRAID_NATIVE_LOG = xno; then FLAVOUR="${FLAVOUR}no_native_log " else CFLAGS="$CFLAGS -DDMRAID_NATIVE_LOG" fi fi if test x$DMRAID_LED = xyes; then CFLAGS="$CFLAGS -DDMRAID_LED" fi if test x$DMRAID_INTEL_LED = xyes; then CFLAGS="$CFLAGS -DDMRAID_LED -DDMRAID_INTEL_LED" fi if test x$DEBUG = xyes; then FLAVOUR="${FLAVOUR}debug " fi if test x$DEBUG_MALLOC = xyes; then FLAVOUR="${FLAVOUR}debug_malloc " fi if [ "x$exec_prefix" = xNONE -a "x$prefix" = xNONE ]; then exec_prefix=""; fi; if test $ac_cv_c_compiler_gnu = yes; then { echo "$as_me:$LINENO: checking whether $CC needs -traditional" >&5 echo $ECHO_N "checking whether $CC needs -traditional... $ECHO_C" >&6; } if test "${ac_cv_prog_gcc_traditional+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_pattern="Autoconf.*'x'" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include Autoconf TIOCGETP _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "$ac_pattern" >/dev/null 2>&1; then ac_cv_prog_gcc_traditional=yes else ac_cv_prog_gcc_traditional=no fi rm -f conftest* if test $ac_cv_prog_gcc_traditional = no; then cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include Autoconf TCGETA _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "$ac_pattern" >/dev/null 2>&1; then ac_cv_prog_gcc_traditional=yes fi rm -f conftest* fi fi { echo "$as_me:$LINENO: result: $ac_cv_prog_gcc_traditional" >&5 echo "${ECHO_T}$ac_cv_prog_gcc_traditional" >&6; } if test $ac_cv_prog_gcc_traditional = yes; then CC="$CC -traditional" fi fi { echo "$as_me:$LINENO: checking return type of signal handlers" >&5 echo $ECHO_N "checking return type of signal handlers... $ECHO_C" >&6; } if test "${ac_cv_type_signal+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include int main () { return *(signal (0, 0)) (0) == 1; ; return 0; } _ACEOF 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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_type_signal=int else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_type_signal=void fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_type_signal" >&5 echo "${ECHO_T}$ac_cv_type_signal" >&6; } cat >>confdefs.h <<_ACEOF #define RETSIGTYPE $ac_cv_type_signal _ACEOF for ac_func in vprintf do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define $ac_func to an innocuous variant, in case declares $ac_func. For example, HP-UX 11i declares gettimeofday. */ #define $ac_func innocuous_$ac_func /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $ac_func /* 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 $ac_func (); /* 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_$ac_func || defined __stub___$ac_func choke me #endif int main () { return $ac_func (); ; return 0; } _ACEOF 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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_var=no" fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi ac_res=`eval echo '${'$as_ac_var'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF { echo "$as_me:$LINENO: checking for _doprnt" >&5 echo $ECHO_N "checking for _doprnt... $ECHO_C" >&6; } if test "${ac_cv_func__doprnt+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define _doprnt to an innocuous variant, in case declares _doprnt. For example, HP-UX 11i declares gettimeofday. */ #define _doprnt innocuous__doprnt /* System header to define __stub macros and hopefully few prototypes, which can conflict with char _doprnt (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef _doprnt /* 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 _doprnt (); /* 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__doprnt || defined __stub____doprnt choke me #endif int main () { return _doprnt (); ; return 0; } _ACEOF 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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_func__doprnt=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_func__doprnt=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_func__doprnt" >&5 echo "${ECHO_T}$ac_cv_func__doprnt" >&6; } if test $ac_cv_func__doprnt = yes; then cat >>confdefs.h <<\_ACEOF #define HAVE_DOPRNT 1 _ACEOF fi fi done for ac_func in mkdir rmdir uname do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define $ac_func to an innocuous variant, in case declares $ac_func. For example, HP-UX 11i declares gettimeofday. */ #define $ac_func innocuous_$ac_func /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $ac_func /* 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 $ac_func (); /* 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_$ac_func || defined __stub___$ac_func choke me #endif int main () { return $ac_func (); ; return 0; } _ACEOF 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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_var=no" fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi ac_res=`eval echo '${'$as_ac_var'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done if test x$READLINE = xyes; then { echo "$as_me:$LINENO: checking for library containing tgetent" >&5 echo $ECHO_N "checking for library containing tgetent... $ECHO_C" >&6; } if test "${ac_cv_search_tgetent+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_func_search_save_LIBS=$LIBS cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* 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 tgetent (); int main () { return tgetent (); ; return 0; } _ACEOF for ac_lib in '' ncurses curses termcap termlib; do if test -z "$ac_lib"; then ac_res="none required" else ac_res=-l$ac_lib LIBS="-l$ac_lib $ac_func_search_save_LIBS" fi 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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_search_tgetent=$ac_res else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext if test "${ac_cv_search_tgetent+set}" = set; then break fi done if test "${ac_cv_search_tgetent+set}" = set; then : else ac_cv_search_tgetent=no fi rm conftest.$ac_ext LIBS=$ac_func_search_save_LIBS fi { echo "$as_me:$LINENO: result: $ac_cv_search_tgetent" >&5 echo "${ECHO_T}$ac_cv_search_tgetent" >&6; } ac_res=$ac_cv_search_tgetent if test "$ac_res" != no; then test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" else { { echo "$as_me:$LINENO: error: termcap could not be found which is required for the --enable-readline option (which is enabled by default). Either disable readline support with --disable-readline or download and install termcap from: ftp.gnu.org/gnu/termcap Note: if you are using precompiled packages you will also need the development package as well (which may be called termcap-devel or something similar). Note: (n)curses also seems to work as a substitute for termcap. This was not found either - but you could try installing that as well. " >&5 echo "$as_me: error: termcap could not be found which is required for the --enable-readline option (which is enabled by default). Either disable readline support with --disable-readline or download and install termcap from: ftp.gnu.org/gnu/termcap Note: if you are using precompiled packages you will also need the development package as well (which may be called termcap-devel or something similar). Note: (n)curses also seems to work as a substitute for termcap. This was not found either - but you could try installing that as well. " >&2;} { (exit 1); exit 1; }; } exit fi fi if test x$KLIBC != xyes; then for ac_header in getopt.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } else # Is the header compilable? { echo "$as_me:$LINENO: checking $ac_header usability" >&5 echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include <$ac_header> _ACEOF 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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6; } # Is the header present? { echo "$as_me:$LINENO: checking $ac_header presence" >&5 echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include <$ac_header> _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} ;; esac { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else eval "$as_ac_Header=\$ac_header_preproc" fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } fi if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF CFLAGS="$CFLAGS -DHAVE_GETOPTLONG" fi done fi if test "-f tools/VERSION"; then DMRAID_VERSION="`cat tools/VERSION`" else DMRAID_VERSION="Unknown" fi if test "-f lib/version.h"; then DMRAID_LIB_VERSION="`sed --quiet 's/^.*\(DMRAID_LIB_VERSION\)[^_].*"\(.*\)"/\2/p' lib/version.h`" else DMRAID_LIB_VERSION="Unknown" fi ac_config_files="$ac_config_files include/Makefile lib/Makefile man/Makefile tools/Makefile tools/version.h Makefile make.tmpl" 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_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( *) $as_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 test "x$cache_file" != "x/dev/null" && { echo "$as_me:$LINENO: updating cache $cache_file" >&5 echo "$as_me: updating cache $cache_file" >&6;} cat confcache >$cache_file else { echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5 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}' # Transform confdefs.h into DEFS. # Protect against shell expansion while executing Makefile rules. # Protect against Makefile macro expansion. # # If the first sed substitution is executed (which looks for macros that # take arguments), then branch to the quote section. Otherwise, # look for a macro that doesn't take arguments. ac_script=' t clear :clear s/^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\)/-D\1=\2/g t quote s/^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)/-D\1=\2/g t quote b any :quote s/[ `~#$^&*(){}\\|;'\''"<>?]/\\&/g s/\[/\\&/g s/\]/\\&/g s/\$/$$/g H :any ${ g s/^\n// s/\n/ /g p } ' DEFS=`sed -n "$ac_script" confdefs.h` ac_libobjs= ac_ltlibobjs= 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=`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. ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext" ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo' done LIBOBJS=$ac_libobjs LTLIBOBJS=$ac_ltlibobjs : ${CONFIG_STATUS=./config.status} ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files $CONFIG_STATUS" { echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5 echo "$as_me: creating $CONFIG_STATUS" >&6;} cat >$CONFIG_STATUS <<_ACEOF #! $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} _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF ## --------------------- ## ## 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=: # 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 # PATH needs CR # 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 # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then echo "#! /bin/sh" >conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh fi # Support unset when possible. if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then as_unset=unset else as_unset=false 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.) as_nl=' ' IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. 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 echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 { (exit 1); exit 1; } fi # Work around bugs in pre-3.0 UWIN ksh. for as_var in ENV MAIL MAILPATH do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var done PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. for as_var in \ LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ LC_TELEPHONE LC_TIME do if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then eval $as_var=C; export $as_var else ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var fi done # Required to use basename. 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 # Name of the executable. as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } /^X\/\(\/\/\)$/{ s//\1/ q } /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` # CDPATH. $as_unset CDPATH as_lineno_1=$LINENO as_lineno_2=$LINENO test "x$as_lineno_1" != "x$as_lineno_2" && test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { # Create $as_me.lineno as a copy of $as_myself, but with $LINENO # uniformly replaced by the line number. The first 'sed' inserts a # line-number line after each line using $LINENO; the second 'sed' # does the real work. The second script uses 'N' to pair each # line-number line with the line containing $LINENO, and appends # trailing '-' during substitution so that $LINENO is not a special # case at line end. # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the # scripts with optimization help from Paolo Bonzini. 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" || { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 { (exit 1); exit 1; }; } # 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 } if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then as_dirname=dirname else as_dirname=false fi ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in -n*) case `echo 'x\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. *) ECHO_C='\c';; esac;; *) ECHO_N='-n';; esac if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi 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 fi echo >conf$$.file 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 -p'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -p' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -p' 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=: else test -d ./-p && rmdir ./-p as_mkdir_p=false fi if test -x / >/dev/null 2>&1; then as_test_x='test -x' else if ls -dL / >/dev/null 2>&1; then as_ls_L_option=L else as_ls_L_option= fi as_test_x=' eval sh -c '\'' if test -d "$1"; then test -d "$1/."; else case $1 in -*)set "./$1";; esac; case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in ???[sx]*):;;*)false;;esac;fi '\'' sh ' fi as_executable_p=$as_test_x # 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 # 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 $as_me, which was generated by GNU Autoconf 2.61. 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 cat >>$CONFIG_STATUS <<_ACEOF # Files that config.status was made for. config_files="$ac_config_files" _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF ac_cs_usage="\ \`$as_me' instantiates files from templates according to the current configuration. Usage: $0 [OPTIONS] [FILE]... -h, --help print this help, then exit -V, --version print version number and configuration settings, then exit -q, --quiet 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 Configuration files: $config_files Report bugs to ." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF ac_cs_version="\\ config.status configured by $0, generated by GNU Autoconf 2.61, with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" Copyright (C) 2006 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' _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF # If no file are specified by the user, then we need to provide default # value. By we need to know if files were specified by the user. 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=$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 ) echo "$ac_cs_version"; exit ;; --debug | --debu | --deb | --de | --d | -d ) debug=: ;; --file | --fil | --fi | --f ) $ac_shift CONFIG_FILES="$CONFIG_FILES $ac_optarg" ac_need_defaults=false;; --he | --h | --help | --hel | -h ) 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. -*) { echo "$as_me: error: unrecognized option: $1 Try \`$0 --help' for more information." >&2 { (exit 1); exit 1; }; } ;; *) ac_config_targets="$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 if \$ac_cs_recheck; then echo "running CONFIG_SHELL=$SHELL $SHELL $0 "$ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6 CONFIG_SHELL=$SHELL export CONFIG_SHELL exec $SHELL "$0"$ac_configure_args \$ac_configure_extra_args --no-create --no-recursion fi _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF exec 5>>config.log { echo sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX ## Running $as_me. ## _ASBOX echo "$ac_log" } >&5 _ACEOF cat >>$CONFIG_STATUS <<_ACEOF _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF # Handling of arguments. for ac_config_target in $ac_config_targets do case $ac_config_target in "include/Makefile") CONFIG_FILES="$CONFIG_FILES include/Makefile" ;; "lib/Makefile") CONFIG_FILES="$CONFIG_FILES lib/Makefile" ;; "man/Makefile") CONFIG_FILES="$CONFIG_FILES man/Makefile" ;; "tools/Makefile") CONFIG_FILES="$CONFIG_FILES tools/Makefile" ;; "tools/version.h") CONFIG_FILES="$CONFIG_FILES tools/version.h" ;; "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; "make.tmpl") CONFIG_FILES="$CONFIG_FILES make.tmpl" ;; *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 echo "$as_me: error: invalid argument: $ac_config_target" >&2;} { (exit 1); exit 1; }; };; 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 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= trap 'exit_status=$? { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status ' 0 trap '{ (exit 1); exit 1; }' 1 2 13 15 } # Create a (secure) tmp directory for tmp files. { tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" } || { tmp=./conf$$-$RANDOM (umask 077 && mkdir "$tmp") } || { echo "$me: cannot create a temporary directory in ." >&2 { (exit 1); exit 1; } } # # Set up the sed scripts for CONFIG_FILES section. # # No need to generate the scripts if there are no CONFIG_FILES. # This happens for instance when ./config.status config.h if test -n "$CONFIG_FILES"; then _ACEOF ac_delim='%!_!# ' for ac_last_try in false false false false false :; do cat >conf$$subs.sed <<_ACEOF SHELL!$SHELL$ac_delim PATH_SEPARATOR!$PATH_SEPARATOR$ac_delim PACKAGE_NAME!$PACKAGE_NAME$ac_delim PACKAGE_TARNAME!$PACKAGE_TARNAME$ac_delim PACKAGE_VERSION!$PACKAGE_VERSION$ac_delim PACKAGE_STRING!$PACKAGE_STRING$ac_delim PACKAGE_BUGREPORT!$PACKAGE_BUGREPORT$ac_delim exec_prefix!$exec_prefix$ac_delim prefix!$prefix$ac_delim program_transform_name!$program_transform_name$ac_delim bindir!$bindir$ac_delim sbindir!$sbindir$ac_delim libexecdir!$libexecdir$ac_delim datarootdir!$datarootdir$ac_delim datadir!$datadir$ac_delim sysconfdir!$sysconfdir$ac_delim sharedstatedir!$sharedstatedir$ac_delim localstatedir!$localstatedir$ac_delim includedir!$includedir$ac_delim oldincludedir!$oldincludedir$ac_delim docdir!$docdir$ac_delim infodir!$infodir$ac_delim htmldir!$htmldir$ac_delim dvidir!$dvidir$ac_delim pdfdir!$pdfdir$ac_delim psdir!$psdir$ac_delim libdir!$libdir$ac_delim localedir!$localedir$ac_delim mandir!$mandir$ac_delim DEFS!$DEFS$ac_delim ECHO_C!$ECHO_C$ac_delim ECHO_N!$ECHO_N$ac_delim ECHO_T!$ECHO_T$ac_delim LIBS!$LIBS$ac_delim build_alias!$build_alias$ac_delim host_alias!$host_alias$ac_delim target_alias!$target_alias$ac_delim build!$build$ac_delim build_cpu!$build_cpu$ac_delim build_vendor!$build_vendor$ac_delim build_os!$build_os$ac_delim host!$host$ac_delim host_cpu!$host_cpu$ac_delim host_vendor!$host_vendor$ac_delim host_os!$host_os$ac_delim target!$target$ac_delim target_cpu!$target_cpu$ac_delim target_vendor!$target_vendor$ac_delim target_os!$target_os$ac_delim AWK!$AWK$ac_delim INSTALL_PROGRAM!$INSTALL_PROGRAM$ac_delim INSTALL_SCRIPT!$INSTALL_SCRIPT$ac_delim INSTALL_DATA!$INSTALL_DATA$ac_delim LN_S!$LN_S$ac_delim SET_MAKE!$SET_MAKE$ac_delim RANLIB!$RANLIB$ac_delim KLCC!$KLCC$ac_delim KLIBC!$KLIBC$ac_delim KLIBC_PREFIX!$KLIBC_PREFIX$ac_delim KLIBC_BIN_DIR!$KLIBC_BIN_DIR$ac_delim KLIBC_SBIN_DIR!$KLIBC_SBIN_DIR$ac_delim KLIBC_LIB_DIR!$KLIBC_LIB_DIR$ac_delim KLIBC_INCLUDE_DIR!$KLIBC_INCLUDE_DIR$ac_delim CC!$CC$ac_delim CFLAGS!$CFLAGS$ac_delim LDFLAGS!$LDFLAGS$ac_delim CPPFLAGS!$CPPFLAGS$ac_delim ac_ct_CC!$ac_ct_CC$ac_delim EXEEXT!$EXEEXT$ac_delim OBJEXT!$OBJEXT$ac_delim CPP!$CPP$ac_delim GREP!$GREP$ac_delim EGREP!$EGREP$ac_delim CLDFLAGS!$CLDFLAGS$ac_delim DEBUG!$DEBUG$ac_delim DEBUG_MALLOC!$DEBUG_MALLOC$ac_delim DMRAID_TEST!$DMRAID_TEST$ac_delim DMRAID_VERSION!$DMRAID_VERSION$ac_delim DMRAID_LIB_VERSION!$DMRAID_LIB_VERSION$ac_delim DIETLIBC!$DIETLIBC$ac_delim GROUP!$GROUP$ac_delim JOBS!$JOBS$ac_delim LD_DEPS!$LD_DEPS$ac_delim FLAVOUR!$FLAVOUR$ac_delim LIBSELINUX!$LIBSELINUX$ac_delim LIBSEPOL!$LIBSEPOL$ac_delim LIB_SO!$LIB_SO$ac_delim OWNER!$OWNER$ac_delim SOFLAG!$SOFLAG$ac_delim STATIC_LINK!$STATIC_LINK$ac_delim LIBOBJS!$LIBOBJS$ac_delim LTLIBOBJS!$LTLIBOBJS$ac_delim _ACEOF if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 92; then break elif $ac_last_try; then { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} { (exit 1); exit 1; }; } else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi done ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed` if test -n "$ac_eof"; then ac_eof=`echo "$ac_eof" | sort -nru | sed 1q` ac_eof=`expr $ac_eof + 1` fi cat >>$CONFIG_STATUS <<_ACEOF cat >"\$tmp/subs-1.sed" <<\CEOF$ac_eof /@[a-zA-Z_][a-zA-Z_0-9]*@/!b end _ACEOF sed ' s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g s/^/s,@/; s/!/@,|#_!!_#|/ :n t n s/'"$ac_delim"'$/,g/; t s/$/\\/; p N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n ' >>$CONFIG_STATUS >$CONFIG_STATUS <<_ACEOF :end s/|#_!!_#|//g CEOF$ac_eof _ACEOF # VPATH may cause trouble with some makes, so we remove $(srcdir), # ${srcdir} and @srcdir@ 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[ ]*=/{ s/:*\$(srcdir):*/:/ s/:*\${srcdir}:*/:/ s/:*@srcdir@:*/:/ s/^\([^=]*=[ ]*\):*/\1/ s/:*$// s/^[^=]*=[ ]*$// }' fi cat >>$CONFIG_STATUS <<\_ACEOF fi # test -n "$CONFIG_FILES" for ac_tag in :F $CONFIG_FILES do case $ac_tag in :[FHLC]) ac_mode=$ac_tag; continue;; esac case $ac_mode$ac_tag in :[FHL]*:*);; :L* | :C*:*) { { echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5 echo "$as_me: error: Invalid tag $ac_tag." >&2;} { (exit 1); exit 1; }; };; :[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="$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 || { { echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5 echo "$as_me: error: cannot find input file: $ac_f" >&2;} { (exit 1); exit 1; }; };; esac ac_file_inputs="$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 "`IFS=: echo $* | sed 's|^[^:]*/||;s|:[^:]*/|, |g'`" by configure." if test x"$ac_file" != x-; then configure_input="$ac_file. $configure_input" { echo "$as_me:$LINENO: creating $ac_file" >&5 echo "$as_me: creating $ac_file" >&6;} fi case $ac_tag in *:-:* | *:-) cat >"$tmp/stdin";; 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 || 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" case $as_dir in #( -*) as_dir=./$as_dir;; esac test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { as_dirs= while :; do case $as_dir in #( *\'*) as_qdir=`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 || 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" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 echo "$as_me: error: cannot create directory $as_dir" >&2;} { (exit 1); exit 1; }; }; } ac_builddir=. case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` # A ".." for each directory in $ac_dir_suffix. ac_top_builddir_sub=`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 _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF # 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= case `sed -n '/datarootdir/ { p q } /@datadir@/p /@docdir@/p /@infodir@/p /@localedir@/p /@mandir@/p ' $ac_file_inputs` in *datarootdir*) ac_datarootdir_seen=yes;; *@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) { echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} _ACEOF cat >>$CONFIG_STATUS <<_ACEOF 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 sed "$ac_vpsub $extrasub _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF :t /@[a-zA-Z_][a-zA-Z_0-9]*@/!b s&@configure_input@&$configure_input&;t t s&@top_builddir@&$ac_top_builddir_sub&;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 $ac_datarootdir_hack " $ac_file_inputs | sed -f "$tmp/subs-1.sed" >$tmp/out test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } && { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } && { echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined." >&5 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 "$tmp/stdin" case $ac_file in -) cat "$tmp/out"; rm -f "$tmp/out";; *) rm -f "$ac_file"; mv "$tmp/out" $ac_file;; esac ;; esac done # for ac_tag { (exit 0); exit 0; } _ACEOF chmod +x $CONFIG_STATUS ac_clean_files=$ac_clean_files_save # 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 || { (exit 1); exit 1; } fi dmraid/1.0.0.rc16/logwatch/0000755000175200007640000000000011254124362015522 5ustar mauelshamauelshadmraid/1.0.0.rc16/logwatch/dmeventd.conf0000644000175200007640000000232711254123773020210 0ustar mauelshamauelsha######################################################################## # Copyright (C) 2007-2008, Intel Corp. All rights reserved. # # # 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 ######################################################################## ################################################################## # # dmeventd script ver. 0.0.1 for Logwatch. # # Written by B. Wood # ################################################################## Title = "Dmeventd Errors" LogFile = messages *OnlyService = dmeventd # vi: shiftwidth=3 tabstop=3 et dmraid/1.0.0.rc16/logwatch/dmeventd_cronjob.txt0000644000175200007640000000023411254123773021611 0ustar mauelshamauelsha# |DMEVENTD| This will run logwatch checking for dmeventd events every minute. # * * * * * /usr/sbin/logwatch --service dmeventd --range today --detail med dmraid/1.0.0.rc16/logwatch/logwatch.conf0000644000175200007640000000227411254123773020213 0ustar mauelshamauelsha######################################################################## # Copyright (C) 2007-2008, Intel Corp. All rights reserved. # # # 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 ######################################################################## # Local configuration options go here (defaults are in /usr/share/logwatch/default.conf/logwatch.conf) MailTo = root # To send email to an external user change "root" to something like: guest@anonymous.com mailer = "/usr/sbin/sendmail -t" LogDir = /var/log MailFrom = Logwatch Range = Today Detail = Med dmraid/1.0.0.rc16/logwatch/dmeventd0000644000175200007640000000532511254123773017265 0ustar mauelshamauelsha######################################################################## # Copyright (C) 2007-2008, Intel Corp. All rights reserved. # # # 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 ######################################################################## ######################################################## # dmeventd ######################################################## ######################################################## # This was written by: # Brian Wood # # Changes to get it to work: # Heinz Mauelshagen # # Needs more tweking to deal with absolute timestamp timestamps properly # in order to avoid mismatches in the log file being displayed!!! # # ######################################################## # Set the location of the folder to store last time stamp # (This is used to record the last log sent out so repeats # are not mailed in error.) $syslogpattern_file = "/etc/logwatch/scripts/services/dmeventd_syslogpattern.txt"; if (-e $syslogpattern_file) { open(FD, "+<", $syslogpattern_file) or die $!; $last_pattern = join('', ); } else { open(FD, ">", $syslogpattern_file) or die $!; $last_pattern = ""; } # SAMPLE LOG DATA: # Oct 15 01:14:33 dmraid-devhost dmeventd[24857]: Processing device \ # "isw_febiihjha_Volume0" for events @entries = (); @pattern = (); while (<>) { ($month, $day, $time, $message) = split(' ', $_, 4); ($m, $d, $t, $mes) = split(' ', @pattern[0], 4); if ($time ne $t) { @pattern = (); } # New pattern. push (@pattern, $_); push (@entries, $_); if (join('', @pattern) eq $last_pattern) { @entries = (); @pattern = (); $last_pattern = ""; } } if ($#entries > -1) { print("There were a total of ", $#entries + 1, " new log entries\n\n"); print("Date Message\n"); print("-" x 80, "\n"); print @entries; # Now save current pattern. close(FD); open(FD, ">", $syslogpattern_file) or die $!; printf FD join('',@pattern); } close(FD); exit(0); # vi: shiftwidth=3 syntax=perl et dmraid/1.0.0.rc16/man/0000755000175200007640000000000011254261512014464 5ustar mauelshamauelshadmraid/1.0.0.rc16/man/dmevent_tool.80000644000175200007640000000435311254123773017267 0ustar mauelshamauelsha.TH "DMEVENT_TOOL" "8" "1.0.0.rc3" "Brian Wood" "\"" .SH "NAME" \fBdmevent_tool\fR \- A utility used to load a DSO into dmeventd and (un)register devices with it for monitoring .SH "SYNOPSIS" dmevent_tool \-[Vhmru] {RAID device name} {DSO Name} .SH "DESCRIPTION" dmevent_tool is a userspace utility used to register/unregister DSOs with the daemon dmeventd. If used with the \fB\-m\fR command line parameter users can display all of the actively dmeventd monitored devices. .SH "OPTIONS" .TP \-V Show version of dmevent_tool .LP \-{h/?} Show this help information .LP \-m[r|u] List all currently active device mapper devices and their current status with dmeventd for registered (-r)/unregistered (-m) devices Syntax: dmevent_tool -m[u|r] .LP \-a[r|u] Same as -m, but for devices with UUID only! Syntax: dmevent_tool -a[u|r] .LP \-r Register a device with dmeventd Syntax: dmevent_tool -r Example: dmevent_tool -r isw_abcdeh_Volume0 libdmraid-events.so .LP \-u Unregister a device with dmeventd Syntax: dmevent_tool -u [] Example: dmevent_tool -u isw_abcdefgh_Volume0 .SH "EXAMPLES" \fBdmevent_tool \-m\fR is used to display all of the actively monitored devices .br dmevent_tool \-m Device Name: isw_defeaigdde_Volume0_dmraid00 Registered DSO: libdmraid\-events.so UUID: isw_defeaigdde_Volume0_dmraid00 status: Active major device #: 253 minor device #: 0 read only device: No number of recorded kernel events: 0 SATA drives in this volume group: /dev/sdb /dev/sdc \fBdmevent_tool \-r\fR is used to register a volume group device with dmeventd .br dmevent_tool \-r isw_defeaigdde_Volume0_dmraid00 libdmraid\-events.so \fBdmevent_tool \-u\fR is used to unregister a volume group from dmeventd .br dmevent_tool \-u isw_defeaigdde_Volume0_dmraid00 .SH "DIAGNOSTICS" dmevent_tool returns an exit code of 0 for success or 1 for error. .SH "AUTHOR" Brian Wood dmraid/1.0.0.rc16/man/Makefile.in0000644000175200007640000000133511254123773016541 0ustar mauelshamauelsha# # Copyright (C) 2004-2005 Heinz Mauelshagen, Red Hat GmbH. All rights reserved. # # See file LICENSE at the top of this source tree for license information. # srcdir = @srcdir@ top_srcdir = @top_srcdir@ VPATH = @srcdir@ MAN8=dmraid.8 dmevent_tool.8 MAN8DIR=${mandir}/man8 include $(top_srcdir)/make.tmpl .PHONY: install_dmraid_man remove_dmraid_man install_dmraid_man: @echo "Installing $(MAN8) in $(MAN8DIR)"; \ mkdir -p $(MAN8DIR); \ for f in $(MAN8); \ do \ $(RM) $(MAN8DIR)/$$f; \ @INSTALL@ -D -m 444 $$f $(MAN8DIR)/$$f; \ done install: install_dmraid_man remove_dmraid_man: @echo "Removing $(MAN8) in $(MAN8DIR)"; \ for f in $(MAN8); \ do \ $(RM) $(MAN8DIR)/$$f; \ done remove: remove_dmraid_man dmraid/1.0.0.rc16/man/dmraid.80000644000175200007640000003453311254123773016033 0ustar mauelshamauelsha.TH DMRAID 8 "DMRAID TOOL" "Heinz Mauelshagen" \" -*- nroff -*- .SH NAME dmraid \- discover, configure and activate software (ATA)RAID .SH SYNOPSIS .B dmraid {-a|--activate} {y|n|yes|no} [-d|--debug]... [-v|--verbose]... [-i|--ignorelocking] [-f|--format FORMAT[,FORMAT...]] [{-P|--partchar} CHAR] [-p|--no_partitions] [-Z|--rm_partitions] [--separator SEPARATOR] [-t|--test] [RAID-set...] .B dmraid {-b|--block_devices} [-c|--display_columns][FIELD[,FIELD...]]... [-d|--debug]... [-v|--verbose]... [--separator SEPARATOR] [device-path...] .B dmraid {-h|--help} .B dmraid {-l|--list_formats} [-d|--debug]... [-v|--verbose]... .B dmraid {-n|--native_log} [-d|--debug]... [-v|--verbose]... [-i|--ignorelocking] [-f|--format FORMAT[,FORMAT...]] [--separator SEPARATOR] [device-path...] .B dmraid {-R| --rebuild} RAID-set [device-path] .B dmraid {-x| --remove} [RAID-set] .B dmraid -f FORMAT-handler {-C| --create} set --type raidlevel [--size=setsize --strip stridesize] --disk "device-path, device-path [, device-path ...]" .B dmraid [ -f|--format FORMAT-handler] -S|--spare [RAID-set] -M|--media "device-path" .B dmraid {-r|--raid_devices} [-c|--display_columns][FIELD[,FIELD...]]... [-d|--debug]... [-v|--verbose]... [-i|--ignorelocking] [-D|--dump_metadata] [-f|--format FORMAT[,FORMAT...]] [--separator SEPARATOR] [device-path...] .B dmraid {-r|--raid_devices} [-d|--debug]... [-v|--verbose]... [-i|--ignorelocking] [-E|--erase_metadata] [-f|--format FORMAT[,FORMAT...]] [--separator SEPARATOR] [device-path...] .B dmraid {-s|--sets}...[a|i|active|inactive] [-c|--display_columns][FIELD[,FIELD...]]... [-d|--debug]... [-v|--verbose]... [-i|--ignorelocking] [-f|--format FORMAT[,FORMAT...]] [-g|--display_group] [--separator SEPARATOR] [RAID-set...] .B dmraid {-V/--version} .SH DESCRIPTION dmraid discovers block and software RAID devices (eg, ATARAID) by using multiple different metadata format handlers which support various formats (eg, Highpoint 37x series). It offers activating RAID sets made up by 2 or more discovered RAID devices, display properties of devices and sets (see option .B -l for supported metadata formats). Block device access to activated RAID sets occurs via device-mapper nodes /dev/mapper/RaidSetName. RaidSetName starts with the format name (see .B -l option) which can be used to access all RAID sets of a specific format easily with certain options (eg, .B -a below). .SS OPTIONS .TP .I \-a, \-\-activate {y|n} [RAID set...] Activates or deactivates all or particular software RAID set. In case metadata format handlers are chosen with .B -f , only RAID sets with such format(s) can be activated or deactivated. Useful if devices have multiple metadata signatures. When activating RAID sets, .B -p disables the activation of partitions on them, and .B -Z will make dmraid tell the kernel to remove the partitions from the disks underlying the set, ie if sda is part of the set, remove sda1, sda2, etc. This prevents applications from directly accessiong the disks bypassing dmraid. RAID set names given on command line don't need to be fully specified (eg, "dmraid -ay sil" would activate all discovered Silicon Image Medley RAID sets). .TP .I {-b|--block_devices} [device-path...] List all or particular discovered block devices with their properties (size, serial number). Add .B -c to display block device names only and .B -cc for CSV column output of block device properties. See description of .B -c below for FIELD identifiers. .TP .I [-d|--debug]... Enable debugging output. Opion can be given multiple times increasing the debug output level. .TP .I [-c|--display_columns][FIELD[,FIELD...]]... Display properties of block devices, RAID sets and devices in column(s). Optional list specifying which FIELDs to display. .br For .B -b: .br d[evpath]|p[ath], sec[tors]|si[ze], ser[ialnumber]. .br For .B -r: .br de[vpath]|p[ath], f[ormat], r[aidname], t[ype], st[atus], se[ctors]|si[ze], da[taoffset]|o[ffset]. .br For .B -s: .br f[ormat], r[aidname], t[ype], sta[tus], str[ide], se[ctors]|si[ze], su[bsets], d[evices], sp[ares]. .br .TP .I [-f|--format FORMAT[,FORMAT...]] Use metadata format handler(s) to discover RAID devices. See .B -l for a list of supported format handler names. This is useful to select particular formats in case multiple metadata signatures are found on a device. A comma seperated list of format names can be specified which may not contain white space. .TP .I {-h|--help} Display help text. .TP .I {-i|--ignorelocking} Don't take out any locks. Useful in early boot where no read/write access to /var is available. .TP .I {-l|--list_formats} List all available metadata format handlers with their names and descriptions. Supported RAID levels are listed in parenthesis: .br S: Span (concatination) .br 0: RAID0 (stripe) .br 1: RAID1 (mirror) .br 10: RAID10 (mirror on top of stripes) .br 01: RAID10 (stripe on top of mirrors) Note: Intel OROM displays this as RAID10 .TP .I {-n|--native_log} [device-path...] Display metadata in native, vendor-specific format. In case a metadata format handler is chosen with .B -f only RAID devices with such format will be displayed in native format. If device-path(s) is/are given on the command line, native metadata output is restricted to those listed. .TP .I [{-P|--partchar} CHAR] Use CHAR as the separator between the device name and the partition number. .TP .I {-R| --rebuild} RAID-set [device-path] Rebuild raid array after a drive has failed and a new drive is added. For Intel chipset based systems, there are two methods in which a new drive is added to the system. 1. Using OROM to identify a new drive During system reboot, enter OROM and mark the new drive as the rebuild drive. After booting to the OS, use the dmraid command to rebuild. Example: dmraid -R raid_set 2. Using dmraid to identify a new drive Boot to the OS and use the dmraid command with the new drive as the second parameter. Example: dmraid -R raid_set /dev/sdc 3. Using hot spare drive Mark a drive as hot spare using the "dmraid -f isw -S" command. Then use the dmraid command to start the rebuild. Example: dmraid -R raid_set .TP .I {-x|--remove} [RAID-set] Delete one or all existing software RAID devices from the metadata. .TP .I -f FORMAT-handler {-C|--create} --type raidlevel [--size=setsize --strip stripsize] --disk "device-path, device-path [,device-path]" Delete one or all existing Configure a software RAID device and store the configuration data in a group of hard drive devices consisting of this array. This command requires the following options: -f FORMAT-handler .br metadata format (see "dmraid -l") .br --type digit[digit...] .br specify the raid level of the software RAID set. .br 0: raid0 .br 1: raid1 .br 5: raid5 .br 01: raid01 (isw raid10) .br --size: [digits[k|K|m|M|g|G][b|B]] .br specify the size of the RAID set.The number is an integer followed by [kKmMgG] and/or [bB]. .br b: byte (default) .br B: block (512 bytes) .br K or K: on the base of 1024 .br m or M: on the base of 1024*1024 .br g or G: on the base of 1024*1024*1024 .br If this option is missing, it's set to the default value pre-configured by the vendor. Note that different vendors may apply different constraints on the granularity of the size or the minimal value. .br --strip: [digits[k|K|m|M|g|G][b|B]] .br specify the strip size of a RAID1, RAID5, and RAID10 RAID set (as above) .br --disk: device-path[{,| }device-path...] .br specify the array of the hard drives, e.g. /dev/sda. .TP .I -f FORMAT-handler -S -M device-path .I -S -M device-path This command adds hot spare support for one or more RAID sets. 1. When used with a format handler, which supports hot spare sets (e.g. isw), a hot spare is marked to be used when rebuilding any RAID set of that format. 2. When used when specifying a RAID set, the drive is added to that RAID set and will be used only to rebuild that set. Note: If the specified name does not match an existing RAID-set, a set with the new name will be created. .TP .I {-r|--raid_devices} [device-path...] List all discovered RAID devices with format, RAID level, sectors used and data offset into the device. In case a metadata format handler is chosen with .B -f , only RAID devices with such format can be discovered. Useful if devices have multiple metadata signatures. If .B -D is added to .B -r the RAID metadata gets dumped into a subdirectory named dmraid.format_name (eg. format_name = isw) in files named devicename.dat. The byte offset where the metadata is located on the device is written into files named devicename.offset and the size of the device in sectors into files named devicename.size. If .B -E is added to .B -r the RAID metadata on the devices gets conditionally erased. Useful to erase old metadata after new one of different type has been stored on a device in order to avoid discovering both. If you enter .B -E option .B -D will be enforced in order to have a fallback in case the wrong metadata got erased. Manual copying back onto the device is needed to recover from erasing the wrong metadata using the dumped files devicename_formatname.dat and devicename_formatname.offset. Eg, to restore all *.dat files in the working directory to the respective devices: .br for f in *.dat .br do .br dd if=$f of=/dev/${f%%.dat} \\ .br seek=`cat ${f%%dat}offset` bs=1 .br done .br If device-path(s) is/are given on the command line, the above actions are restricted to those listed. Add .B -c to display RAID device names only and .B -cc for CSV column output of RAID device properties. See description of .B -c above for FIELD identifiers. .TP .I --separator SEPARATOR Use SEPARATOR as a delimiter for all options taking or displaying lists. .TP .I -s... [a|i] [RAID-set...] Display properties of RAID sets. Multiple RAID set names can be given on the command line which don't need to be fully specified (eg, "dmraid -s hpt" would display all discovered Highpoint RAID sets). Enter .B -s twice to display RAID subsets too. Add .B -c to display names of RAID sets only, .B -cc for CSV column output of RAID set properties and .B -ccc for inclusion of block devices in the listing. Doesn't imply .B -s -s to show RAID subsets (implied for group sets, e.g. isw). Add .B -g to include information about group RAID sets (as with Intel Software RAID) in the listing. See description of .B -c above for FIELD identifiers. Note: Size is given in sectors (not bytes). .TP .I [-v|--verbose]... Enable verbose runtime information output. Opion can be given multiple times increasing the verbosity level. .SH EXAMPLES "dmraid -l" lists all supported metadata formats with their names along with some descriptive information, eg: .br hpt37x : (+) Highpoint HPT37X .br hpt45x : (+) Highpoint HPT45X .br isw : (+) Intel Software RAID .br lsi : (0) LSI Logic MegaRAID .br nvidia : (+) NVidia RAID .br pdc : (+) Promise FastTrack .br sil : (+) Silicon Image(tm) Medley(tm) .br via : (+) VIA Software RAID .br dos : (+) DOS partitions on SW RAIDs .br (0): Discover, (+): Discover+Activate "dmraid -ay" activates all software RAID sets discovered. "dmraid -an" deactivates all active software RAID sets which are not open (eg, mounted filesystem on them). "dmraid -ay -f pdc" (pdc looked up from "dmraid -l") activates all software RAID sets with Promise format discovered and ignores all other supported formats. "dmraid -r" discovers all software RAID devices supported on your system, eg: .br /dev/dm-46: hpt45x, "hpt45x_chidjhaiaa-0", striped, ok, 320172928 sectors, data@ 0 .br /dev/dm-50: hpt45x, "hpt45x_chidjhaiaa-0", striped, ok, 320172928 sectors, data@ 0 .br /dev/dm-54: hpt45x, "hpt45x_chidjhaiaa-1", striped, ok, 320172928 sectors, data@ 0 .br /dev/dm-58: hpt45x, "hpt45x_chidjhaiaa-1", striped, ok, 320172928 sectors, data@ 0 "dmraid -s -s hpt45x_chidjhaiaa" displays properties of set "hpt45x_chidjhaiaa", eg: .br *** Superset .br name : hpt45x_chidjhaiaa .br size : 640345856 .br stride : 128 .br type : raid10 .br status : ok .br subsets: 2 .br dev : 4 .br spare : 0 .br ---> Subset .br name : hpt45x_chidjhaiaa-0 .br size : 640345856 .br stride : 128 .br type : stripe .br status : ok .br subsets: 0 .br dev : 2 .br spare : 0 .br ---> Subset .br name : hpt45x_chidjhaiaa-1 .br size : 640345856 .br stride : 128 .br type : stripe .br status : ok .br subsets: 0 .br dev : 2 .br spare : 0 .br "dmraid -s -ccs hpt45" displays properties in column format of all sets and subsets with hpt45* format, eg: .br hpt45x_chidjhaiaa,640345856,128,raid10,ok,4,0 .br hpt45x_chidjhaiaa-a,640345856,128,stripe,ok,2,0 .br hpt45x_chidjhaiaa-b,640345856,128,stripe,ok,2,0 "dmraid -r --sep : -cpath:size" display paths and sizes in sectors for RAID devices in column format using ':' as a delimiter, eg: .br /dev/dm-8:320173055 .br /dev/dm-12:320173055 .br /dev/dm-22:320173055 .br /dev/dm-26:320173055 .br /dev/dm-30:586114703 .br /dev/dm-34:586114703 .br /dev/dm-38:586114703 .br /dev/dm-42:586114703 .br /dev/dm-46:156301487 .br /dev/dm-50:156301487 .br /dev/dm-54:390624896 .br /dev/dm-58:390624896 .br /dev/dm-62:390624896 .br /dev/dm-66:390624896 "dmraid -f isw -C Raid0 --type 0 --strip 8k --size 20g --disk "/dev/sdb /dev/sdc"" creates an ISW volume with a name of "Raid0", 20Gig bytes in total, and 8kilo bytes strip size on two disks. "dmraid -f isw -C Test0 --type 0 --disk "/dev/sdd /dev/sde"" creates an ISW volume with the default size and strip size. "dmraid -f isw -C Test10 --type 01 --strip 128B --disk "/dev/sda /dev/sdb /dev/sdc /dev/sdd" creates a stacked RAID device, RAID10 (isw format), with a name of "Test10", 128 blocks (512bytes) strip size , and the default volume size on 4 disks. "dmraid -f isw -S -M /dev/sde" marks the device /dev/sde as a hot spare for rebuild "dmraid -R isw_djaggchdde_RAID1 /dev/sde" starts rebuild of the RAID volume on device /dev/sde .SH DIAGNOSTICS dmraid returns an exit code of 0 for success or 1 for error. .SH AUTHOR Heinz Mauelshagen dmraid/1.0.0.rc16/doc/0000755000175200007640000000000011254130255014455 5ustar mauelshamauelshadmraid/1.0.0.rc16/doc/dmraid_design.txt0000644000175200007640000002131211254130254020005 0ustar mauelshamauelsha dmraid tool design document v1.0.0-rc5f Heinz Mauelshagen 2004.11.05 ---------------------------------------------------------------------------- The dmraid tool supports RAID devices (RDs) such as ATARAID with device-mapper (dm) in Linux 2.6 avoiding the need to install a vendor specific (binary) driver to access them. It supports multiple on-disk RAID metadata formats and is open for extension with new ones. dmraid supports activation of RDs and *updates* of the ondisk metadata (eg, to record disk failures) for the Intel Software RAID (IMSM) format. Others may follow. It can optionally erase on disk metadata in case of multiple format signatures on a device. See future enhancements at the end. Functional requirements: ------------------------ 1. dmraid must be able to read multiple vendor specific ondisk RAID metadata formats: o ATARAID - Adaptec HostRAID ASR - Highpoint 37x/45x - Intel Software RAID - JMicron ATARAI - LSI Logic MegaRaid - NVidia RAID - Promise FastTrak - Silicon Image Medley - SNIA DDF1 - VIA Software RAID - DOS partitions on SW RAIDs 2. dmraid shall be open to future extensions by other ondisk RAID formats. 3. dmraid shall generate the necessary dm table(s) defining the needed mappings to address the RAID data. 4. Device discovery, activation, deactivation and property display shall be supported. 5. Spanning of disks, RAID0, RAID1 and RAID10 shall be supported (in order to be able to support SNIA DDF, higher raid levels need implementing in form of respective dm targets; eg, RAID5); Some vendors do have support for RAID5 already which is outside the scope of dmraid because of the lag of a RAID5 target in device-mapper! 6. Activation of MSDOS partitions in RAID sets shall be supported. Feature set definition: ----------------------- Feature set summarizes as: Discover, Activate, Deactivate, Display. o Discover (1-n RD) 1 scan active disk devices identifying RD. 2 try to find an RD signature and if recognized, add the device to the list of RDs found. 3 Abstract the metadata describing the RD layout and translate the vendor specific format into it. o Activate (1-n RD) 1 group devices into abstracted RAID sets (RS) conforming to their respective layout (SPAN, RAID0, RAID1, RAID10). 2 generate dm mapping tables for a/those RS(s) derived from the abstracted information about RS(s) and RD(s). 3 create multiple/a dm device(s) for each RS to activate and load the generated table(s) into the device. 4 Recusively discover and activate MSDOS partitions in active RAID sets. o Deactivate (1-n RD) 1 remove the dm device(s) making up an RS; can be a stacked hierachy of devices (eg, RAID10: RAID1 on top of n RAID0 devices). o Display (1-n RD) 1 display RS and RD properties (eg, display information kept with RS(s) such as size and type) Technical specification: ------------------------ All functions returning int or a pointer return 0/NULL on failure. o RAID metadata format handler Tool calls the following function to register a vendor specific format handler; in case of success, a new instance with methods is accessible to the high level metadata handling functions (see below): - int register_format_handler(struct lib_context *lc, struct dmraid_format *fmt); x returns !0 on successfull format handler registration - Format handler methods: x struct raid_dev *(read)(struct lib_context *lc, struct dev_info* di); - returns 'struct raid_dev *' describing the RD (eg, offset, length) x int (*write)(struct lib_context *lc, struct raid_dev* rd, int erase); - returns != 0 successfully written the vendor specific metadata back to the respective RD rd (optionally erasing the metadata area(s) in case erase != 0) x struct raid_set (*group)(struct lib_context *lc, struct raid_dev *raid_dev) - returns pointer to RAID set structure on success x int (*check)(struct lib_context *lc, struct raid_set *raid_set) - returns != 0 in case raid set is consistent x void (*log)(struct lib_context *lc, struct raid_dev *rd) - display metadata in native format (ie. all vendor specific metadata fields) for RD rd o Discover 1 retrieve block device information from sysfs for all disk devices by scanning /SYSFS_MOUNTPOINT/block/[sh]d*; keep information about the device path and size which is the base to find the RAID signature on the device in a linked list of type 'struct dev_info *'. 2 walk the list and try to read RD metadata signature off the device trying vendor specific read methods (eg, Highpoint...) in turn; library exposes interface to register format handlers for vendor specific RAID formats in order to be open for future extensions (see register_format_handler() above). Tool calls the following high level function which hides the iteration through all the registered format handler methods: x void discover_devices(struct lib_context *lc) - returns != 0 in case it discovered all supported disks (IDE, SCSI) and added them to a list x void discover_raid_devices(struct lib_context *lc, char **fmt_names, char **devices); - discovers all suported RDs using the list filled by discover_devices() and adds them to a list x void discover_partitions(struct lib_context *lc); - discovers all MSDOS partitions in active RAID sets and builds RAID sets with one linear device hanging off for activation. x int count_devices(struct lib_context *lc, enum dev_type type); - returns number of devices found by discover_devices() and discover_raid_devices() of specified type (eg, DEVICE, RAID, ...) x int perform(struct lib_context *lc, char **argv); - returns != 0 on success performing various actions (ie. activation/deacivation of RAID sets, displaying properties, ...) o Activate 1 Tool calls the following high level function which hide the details of the RAID set assembly: x int group_set(struct lib_context *lc, char *name); - returns != 0 on successfully grouping an RS/RSs o Activate 2+3 - don't activate non-RAID1 devices which have an invalid set check result and display an error - create the ASCII dm mapping table by iterating through the list of RD in a particular set, retrieving the layout (SPAN, ...) the device path, the offset into the device and the length to map and the stripe size in case of RAID - create a unique device_name - call device-mapper library to create the mapped device and load the mapping table using this function: x int activate_set(struct lib_context *lc, void *rs) - returns != 0 in case of successfull RAID set activation o Activate 4 - activate MSDOS partitioned RAID sets as in 2+3 o Deactivate - check if a partitioned RAID set is active and deactivate it first - check if the RAID set is active and call device-mapper library to remove the mapped device (recursively in case of a mapped-device hierarchy) using this function: x int deactivate_set(struct lib_context *lc, void *rs) - returns != 0 in case of successfull RAID set deactivation o Display - list all block devices found - list all (in)active RD - display properties of a particular/all RD devices (eg, members of the set by block device name and offset/length mapped to those...) x void display_devices(struct lib_context *lc, enum dev_type type); - display devices of dev_type 'type' (eg, RAID, DEVICE, ...) x void display_set(struct lib_context *lc, void *rs, enum active_type type, int top); - display RS of active_type 'type' (ACTIVE, INACTIVE, ALL) Code directory tree: -------------------- . |-- autoconf |-- doc |-- include | `-- dmraid |-- lib | |-- activate | |-- datastruct | |-- device | |-- display | |-- events | |-- format | | |-- ataraid | | |-- ddf | | |-- partition | | `-- template | |-- locking | |-- log | |-- metadata | |-- misc | |-- mm | `-- register |-- logwatch |-- man `-- tools 24 directories Enhancements coming (initially with the Intel Software RAID): ------------------------------------------------------------- o enhance write support to update ondisk metadata - to restore metadata backups - to record disk failures o support to log state (eg, sector failures) in standard/vendor ondisk logs; needs above write support o status daemon to monitor RAID set sanity (eg, disk failure, hot spare rebuild, ...) and frontend with CLI Open questions: --------------- o we need to prioritize on device-mapper targets for higher RAID levels (in particular we'ld need RAID4+5 to support some ATARAID formats) dmraid/1.0.0.rc16/TODO0000644000175200007640000000152611254123773014413 0ustar mauelshamauelsha -- dmraid 1.0.0.rc12 TODO -- 2006.09.19 o use kpartx instead of my own metadata format handlers o more enhancements for RAID set consistency checks o neater -s output; something better than just paragraphs for super- and subsets ? o MD metadata format handler o enhance metadata write feature in order to be able to store state changes persistently; needs an event() method to inform the metadata handler about state changes recognized eg, at the device-mapper interface layer o event daemon linked to libdmraid which keeps track of RAID device and set state changes (eg, io errors) and decides about degration etc.; dmeventd coded; needs library for dmraid access o more cleanup and enhance debug and verbose output o regular expressions for metadata format, RAID device and RAID set selection o does dmraid need a config file ? dmraid/1.0.0.rc16/CREDITS0000644000175200007640000000046111254123773014740 0ustar mauelshamauelsha I'ld like to thank the following contributors for their help: o Carl-Daniel Hailfinger for raiddetect o Jane Liu for the NVidia RAID metadata format handler o Darrick J. Wong for the SNIA DDF1 and Adaptec HostRAID ASR metadata format handlers o various helpful people who provided metadata samples dmraid/1.0.0.rc16/KNOWN_BUGS0000644000175200007640000000037411254123773015362 0ustar mauelshamauelsha KNOWN_BUGS in dmraid 1.0.0.rc12 2005.05.15 o "dmraid --sets[a/i]" doesn't work properly. Use the short option -s. o DOS partition recognition fails to recognize all partitions in certain cases; likely a size issue with the underlying RAID set dmraid/1.0.0.rc16/lib/0000755000175200007640000000000011254263607014466 5ustar mauelshamauelshadmraid/1.0.0.rc16/lib/activate/0000755000175200007640000000000011254261512016257 5ustar mauelshamauelshadmraid/1.0.0.rc16/lib/activate/devmapper.h0000644000175200007640000000142311254123773020421 0ustar mauelshamauelsha/* * Copyright (C) 2004,2005 Heinz Mauelshagen, Red Hat GmbH. * All rights reserved. * * See file LICENSE at the top of this source tree for license information. */ #ifndef _DEVMAPPER_H_ #define _DEVMAPPER_H char *mkdm_path(struct lib_context *lc, const char *name); int dm_create(struct lib_context *lc, struct raid_set *rs, char *table, char *name); int dm_remove(struct lib_context *lc, struct raid_set *rs, char *name); int dm_status(struct lib_context *lc, struct raid_set *rs); int dm_version(struct lib_context *lc, char *version, size_t size); int dm_suspend(struct lib_context *lc, struct raid_set *rs); int dm_resume(struct lib_context *lc, struct raid_set *rs); int dm_reload(struct lib_context *lc, struct raid_set *rs, char *table); #endif dmraid/1.0.0.rc16/lib/activate/activate.c.orig0000644000175200007640000006262711254124573021204 0ustar mauelshamauelsha/* * Copyright (C) 2004-2008 Heinz Mauelshagen, Red Hat GmbH. * All rights reserved. * * Copyright (C) 2007,2009 Intel Corporation. All rights reserved. * November, 2007 - additions for Create, Delete, Rebuild & Raid 10. * March, 2008 - additions for hot-spare check * August, 2008 - check before Activation * January, 2009 - additions for Activation, Rebuild check * April, 2009 - automatic un/registration added * April, 2009 -Activation array in degraded state added * May, 2009 - fix for wrong error_target place in device-mapper table * * See file LICENSE at the top of this source tree for license information. */ /* * Activate/Deactivate code for hierarchical RAID Sets. */ #include "internal.h" #include "devmapper.h" static int valid_rd(struct raid_dev *rd) { return (S_OK(rd->status) || S_INCONSISTENT(rd->status) || S_NOSYNC(rd->status)) && !T_SPARE(rd); } static int valid_rs(struct raid_set *rs) { return (S_OK(rs->status) || S_INCONSISTENT(rs->status)|| S_NOSYNC(rs->status)) && !T_SPARE(rs); } /* Return rounded size in case of unbalanced mappings */ static uint64_t maximize(struct raid_set *rs, uint64_t sectors, uint64_t last, uint64_t min) { return sectors > min ? min(last, sectors) : last; } /* Find biggest device */ static uint64_t _biggest(struct raid_set *rs) { uint64_t ret = 0; struct raid_dev *rd; list_for_each_entry(rd, &rs->devs, devs) { if (!T_SPARE(rd) && rd->sectors > ret) ret = rd->sectors; } return ret; } /* Find smallest set/disk larger than given minimum. */ static uint64_t _smallest(struct lib_context *lc, struct raid_set *rs, uint64_t min) { uint64_t ret = ~0; struct raid_set *r; struct raid_dev *rd; list_for_each_entry(r, &rs->sets, list) ret = maximize(r, total_sectors(lc, r), ret, min); list_for_each_entry(rd, &rs->devs, devs) { if (!T_SPARE(rd)) ret = maximize(rs, rd->sectors, ret, min); } return ret == (uint64_t) ~0 ? 0 : ret; } /* * Definitions of mappings. */ /* Undefined/-supported mapping. */ static int _dm_un(struct lib_context *lc, char **table, struct raid_set *rs, const char *what) { LOG_ERR(lc, 0, "Un%sed RAID type %s[%u] on %s", what, get_set_type(lc, rs), rs->type, rs->name); } static int dm_undef(struct lib_context *lc, char **table, struct raid_set *rs) { return _dm_un(lc, table, rs, "defin"); } static int dm_unsup(struct lib_context *lc, char **table, struct raid_set *rs) { return _dm_un(lc, table, rs, "support"); } /* "Spare mapping". */ static int dm_spare(struct lib_context *lc, char **table, struct raid_set *rs) { LOG_ERR(lc, 0, "spare set \"%s\" cannot be activated", rs->name); } /* Push path and offset onto a table. */ static int _dm_path_offset(struct lib_context *lc, char **table, int valid, const char *path, uint64_t offset) { return p_fmt(lc, table, " %s %U", valid ? path : lc->path.error, offset); } /* * Create dm table for linear mapping. */ static int _dm_linear(struct lib_context *lc, char **table, int valid, const char *path, uint64_t start, uint64_t sectors, uint64_t offset) { return p_fmt(lc, table, "%U %U %s", start, sectors, get_dm_type(lc, t_linear)) ? _dm_path_offset(lc, table, valid, path, offset) : 0; } static int dm_linear(struct lib_context *lc, char **table, struct raid_set *rs) { unsigned int segments = 0; uint64_t start = 0, sectors = 0; struct raid_dev *rd; struct raid_set *r; /* Stacked linear sets. */ list_for_each_entry(r, &rs->sets, list) { if (!T_SPARE(r)) { int ret; char *path; if (!(path = mkdm_path(lc, r->name))) goto err; sectors = total_sectors(lc, r); ret = _dm_linear(lc, table, valid_rs(r), path, start, sectors, 0); dbg_free(path); segments++; start += sectors; if (!ret || (r->sets.next != &rs->sets && !p_fmt(lc, table, "\n"))) goto err; } } /* Devices of a linear set. */ list_for_each_entry(rd, &rs->devs, devs) { if (!T_SPARE(rd)) { if (!_dm_linear (lc, table, valid_rd(rd), rd->di->path, start, rd->sectors, rd->offset)) goto err; segments++; start += rd->sectors; if (rd->devs.next != &rs->devs && !p_fmt(lc, table, "\n")) goto err; } } return segments ? 1 : 0; err: return log_alloc_err(lc, __func__); } /* * Create dm table for a partition mapping. * * Partitioned RAID set with 1 RAID device * defining a linear partition mapping. */ static int dm_partition(struct lib_context *lc, char **table, struct raid_set *rs) { return dm_linear(lc, table, rs); } /* * Create dm table for striped mapping taking * different disk sizes and the stride size into acccount. * * If metadata format handler requests a maximized mapping, * more than one mapping table record will be created and * stride boundaries will get paid attention to. * * Eg, 3 disks of 80, 100, 120 GB capacity: * * 0 240GB striped /dev/sda 0 /dev/sdb 0 /dev/sdc 0 * 240GB 40GB striped /dev/sdb 80GB /dev/sdc 80GB * 280GB 20GB linear /dev/sdc 100GB * */ /* Push begin of line onto a RAID0 table. */ static int _dm_raid0_bol(struct lib_context *lc, char **table, uint64_t min, uint64_t last_min, unsigned int n, unsigned int stride) { return p_fmt(lc, table, n > 1 ? "%U %U %s %u %u" : "%U %U %s", last_min * n, (min - last_min) * n, get_dm_type(lc, n > 1 ? t_raid0 : t_linear), n, stride); } /* Push end of line onto a RAID0 table. */ static int _dm_raid0_eol(struct lib_context *lc, char **table, struct raid_set *rs, unsigned int *stripes, uint64_t last_min) { struct raid_set *r; struct raid_dev *rd; /* Stacked striped sets. */ list_for_each_entry(r, &rs->sets, list) { if (total_sectors(lc, r) > last_min) { int ret; char *path; if (!(path = mkdm_path(lc, r->name))) goto err; ret = _dm_path_offset(lc, table, valid_rs(r), path, last_min); dbg_free(path); if (!ret) goto err; (*stripes)++; } } list_for_each_entry(rd, &rs->devs, devs) { if (!T_SPARE(rd) && rd->sectors > last_min && !_dm_path_offset(lc, table, valid_rd(rd), rd->di->path, rd->offset + last_min)) goto err; (*stripes)++; } return 1; err: return 0; } /* Count RAID sets/devices larger than given minimum size. */ static unsigned int _dm_raid_devs(struct lib_context *lc, struct raid_set *rs, uint64_t min) { unsigned int ret = 0; struct raid_set *r; struct raid_dev *rd; /* Stacked sets. */ list_for_each_entry(r, &rs->sets, list) { if (!T_SPARE(r) && total_sectors(lc, r) > min) ret++; } list_for_each_entry(rd, &rs->devs, devs) { if (!T_SPARE(rd) && rd->sectors > min) ret++; } return ret; } static int dm_raid0(struct lib_context *lc, char **table, struct raid_set *rs) { unsigned int stripes = 0; uint64_t min, last_min = 0; for (; (min = _smallest(lc, rs, last_min)); last_min = min) { if (last_min && !p_fmt(lc, table, "\n")) goto err; if (!_dm_raid0_bol(lc, table, round_down(min, rs->stride), last_min, _dm_raid_devs(lc, rs, last_min), rs->stride) || !_dm_raid0_eol(lc, table, rs, &stripes, last_min)) goto err; if (!F_MAXIMIZE(rs)) break; } return stripes ? 1 : 0; err: return log_alloc_err(lc, __func__); } /* * Create dm table for mirrored mapping. */ /* Calculate dirty log region size. */ static unsigned int calc_region_size(struct lib_context *lc, uint64_t sectors) { const unsigned int mb_128 = 128 * 2 * 1024; unsigned int max, region_size; if ((max = sectors / 1024) > mb_128) max = mb_128; for (region_size = 128; region_size < max; region_size <<= 1); return region_size >> 1; } static unsigned int get_rds(struct raid_set *rs, int valid) { unsigned int ret = 0; struct raid_dev *rd; list_for_each_entry(rd, &rs->devs, devs) { if (valid) { if (valid_rd(rd)) ret++; } else ret++; } return ret; } static unsigned int get_dm_devs(struct raid_set *rs, int valid) { unsigned int ret = 0; struct raid_set *r; /* Stacked mirror sets. */ list_for_each_entry(r, &rs->sets, list) { if (valid) { if (valid_rs(r)) ret++; } else ret++; } return ret + get_rds(rs, valid); } /* Retrieve number of drive to rebuild from metadata format handler. */ static int get_rebuild_drive(struct lib_context *lc, struct raid_set *rs, struct handler_info *info) { /* Initialize drive to rebuild invalid. */ info->data.i32 = -1; if (lc->options[LC_REBUILD_SET].opt) { struct raid_dev *rd; if (list_empty(&rs->devs)) LOG_ERR(lc, 0, "RAID set has no devices!"); rd = list_entry(rs->devs.next, typeof(*rd), devs); if (rd->fmt->metadata_handler) { if (!rd-> fmt->metadata_handler(lc, GET_REBUILD_DRIVE_NO, info, rs)) LOG_ERR(lc, 0, "Can't get rebuild drive #!"); } else LOG_ERR(lc, 0, "Can't rebuild w/o metadata_handler for %s", rd->fmt->name); } return 1; } /* Return true if RAID set needs rebuilding. */ static inline int rs_need_sync(struct raid_set *rs) { return S_INCONSISTENT(rs->status) || S_NOSYNC(rs->status); } /* Push begin of line onto a RAID1 table. */ /* FIXME: persistent dirty log. */ static int _dm_raid1_bol(struct lib_context *lc, char **table, struct raid_set *rs, uint64_t sectors, unsigned int mirrors, int need_sync) { /* * Append the flag/feature required for dmraid1 * event handling in the kernel driver here for RHEL5. * In mainline, dm-raid1 handles it, in RHEL5, it's dm-log. */ return (p_fmt(lc, table, "0 %U %s core 3 %u %s block_on_error %u", sectors, get_dm_type(lc, t_raid1), calc_region_size(lc, sectors), (need_sync) ? "sync" : "nosync", mirrors)); } static int dm_raid1(struct lib_context *lc, char **table, struct raid_set *rs) { int need_sync; struct handler_info rebuild_drive; uint64_t sectors = 0; unsigned int mirrors = get_dm_devs(rs, 1); struct raid_set *r, *swap_rs; struct raid_dev *rd, *swap_rd; switch (mirrors) { case 0: return 0; case 1: /* * In case we only have one mirror left, * a linear mapping will do. */ log_err(lc, "creating degraded mirror mapping for \"%s\"", rs->name); return dm_linear(lc, table, rs); } if (!(sectors = _smallest(lc, rs, 0))) LOG_ERR(lc, 0, "can't find smallest mirror!"); /* * Get drive for reordering - copy is made from first * drive (i.e. the master) to the other mirrors. */ need_sync = rs_need_sync(rs); rebuild_drive.data.i32 = -1; if (need_sync && !get_rebuild_drive(lc, rs, &rebuild_drive)) return 0; if (!_dm_raid1_bol(lc, table, rs, sectors, mirrors, need_sync)) goto err; /* Stacked mirror sets. */ swap_rs = NULL; list_for_each_entry(r, &rs->sets, list) { if (valid_rs(r)) { int ret = 1; char *path; if (!(path = mkdm_path(lc, r->name))) goto err; if (!rebuild_drive.data.i32 && !swap_rs) swap_rs = r; else ret = _dm_path_offset(lc, table, 1, path, 0); dbg_free(path); if (!ret) goto err; } } /* Add rebuild target to the end of the list. */ if (swap_rs && valid_rs(swap_rs)) { int ret = 1; char *path; if (!(path = mkdm_path(lc, swap_rs->name))) goto err; ret = _dm_path_offset(lc, table, 1, path, 0); dbg_free(path); if (!ret) goto err; } /* Lowest level mirror devices. */ swap_rd = NULL; list_for_each_entry(rd, &rs->devs, devs) { if (valid_rd(rd)) { if (!rebuild_drive.data.i32 && !swap_rd) swap_rd = rd; else if (!_dm_path_offset(lc, table, 1, rd->di->path, rd->offset)) goto err; } } /* Add rebuild target to the end of the list. */ if (swap_rd && valid_rd(swap_rd)) if (!_dm_path_offset(lc, table, valid_rd(swap_rd), swap_rd->di->path, swap_rd->offset)) goto err; return 1; err: return log_alloc_err(lc, __func__); } /* * Create dm table for RAID5 mapping. */ /* Push begin of line onto a RAID5 table. */ /* FIXME: persistent dirty log. */ static int _dm_raid45_bol(struct lib_context *lc, char **table, struct raid_set *rs, uint64_t sectors, unsigned int members) { int need_sync = rs_need_sync(rs); struct handler_info rebuild_drive; /* Get drive as rebuild target. */ rebuild_drive.data.i32 = -1; if (need_sync && !get_rebuild_drive(lc, rs, &rebuild_drive)) return 0; return p_fmt(lc, table, "0 %U %s core 2 %u %s %s 1 %u %u %d", sectors, get_dm_type(lc, rs->type), calc_region_size(lc, total_sectors(lc, rs) / _dm_raid_devs(lc, rs, 0)), (need_sync) ? "sync" : "nosync", get_type(lc, rs->type), rs->stride, members, rebuild_drive.data.i32); } /* Create "error target" name based on raid set name. */ static char *err_target_name(struct raid_set *rs) { char *ret; static const char *_err_target = "_err_target"; if ((ret = dbg_malloc(strlen(rs->name) + strlen(_err_target) + 1))) sprintf(ret, "%s%s", rs->name, _err_target); return ret; } /* * Create "error target" device to replace missing * disk path by "error target" in order to avoid any * further access to the real (unavailable) device. */ static char * create_error_target(struct lib_context *lc, struct raid_set *rs) { uint64_t err_targ_size; char *err_name, *path = NULL, *table; /* "error target" should be bigger than the biggest device in the set */ err_targ_size = _biggest(rs) + 1; /* create "error target" name based on raid set name*/ if (!(err_name = err_target_name(rs))) { log_alloc_err(lc, __func__); goto err; } /* Allocate memory for "error target" table. */ if ((table = dbg_malloc(ERROR_TARG_TABLE_LEN))) sprintf(table, "0 %llu error", (long long unsigned) err_targ_size); else { log_alloc_err(lc, __func__); dbg_free(err_name); goto err; } /* Create "error target" in device-mapper. */ if (dm_create(lc, rs, table, err_name)) path = mkdm_path(lc, err_name); dbg_free(err_name); dbg_free(table); err: return path; } /* Delete "error target" device */ void delete_error_target(struct lib_context *lc, struct raid_set *rs) { char *err_name; /* Create "error target" name based on raid set name. */ if ((err_name = err_target_name(rs))) { /* Remove "error target" form device-mapper. */ dm_remove(lc, rs, err_name); dbg_free(err_name); } else log_alloc_err(lc, __func__); } /* Alloc a dummy rd to insert for a missing drive. */ static struct raid_dev *add_rd_dummy(struct lib_context *lc, struct raid_dev *rd_ref, struct list_head *rd_list, char *path) { struct raid_dev *rd = NULL; int area_size = rd_ref->meta_areas->size; /* Create dummy rd for error_target. */ if ((rd = alloc_raid_dev(lc, __func__))) { rd->name = NULL; rd->fmt = rd_ref->fmt; rd->status = s_inconsistent; rd->type = t_undef; rd->sectors = rd_ref->sectors; rd->offset = rd_ref->offset; rd->areas = rd_ref->areas; rd->di = alloc_dev_info(lc, path); if (!rd->di) goto err; rd->meta_areas = alloc_meta_areas(lc, rd, rd->fmt->name, 1); if (!rd->meta_areas) goto err; rd->meta_areas->size = area_size; rd->meta_areas->offset = rd_ref->meta_areas->offset; rd->meta_areas->area = alloc_private(lc, rd->fmt->name, area_size); if (!rd->meta_areas->area) goto err; memcpy(rd->meta_areas->area, rd_ref->meta_areas->area, area_size); list_add_tail(&rd->devs, rd_list); } return rd; err: free_raid_dev(lc, &rd); return NULL; } static int dm_raid45(struct lib_context *lc, char **table, struct raid_set *rs) { int ret; uint64_t sectors = 0; unsigned int members = get_dm_devs(rs, 0); struct raid_dev *rd; struct raid_set *r; char *err_targ_path = NULL; /* If one disk is missing create error target to replace it. */ if (members != rs->found_devs) { int i, ndev, idx; struct raid_dev *rd_first, *rd_tmp; struct handler_info info; /* Get get number of disks from metadata handler. */ rd_first = list_entry(rs->devs.next, struct raid_dev, devs); if (rd_first->fmt->metadata_handler) { ndev = rd_first->fmt->metadata_handler(lc, GET_NUMBER_OF_DEVICES, NULL, rs); if (ndev < 0) LOG_ERR(lc, 0, "No devices in RAID set!"); } else goto out; /* Delete potentially existing error_target. */ delete_error_target(lc, rs); /* Create error_target */ if (!(err_targ_path = create_error_target(lc, rs))) LOG_ERR(lc, 0, "Cannot create error target for missing" " disk(s) in degraded array!"); /* Insert dummy rd(s) into rd list */ i = 0; list_for_each_entry_safe(rd, rd_tmp, &rs->devs, devs) { info.data.ptr = rd; idx = rd_first->fmt->metadata_handler(lc, GET_DEVICE_IDX, &info, rs); if (idx < 0) LOG_ERR(lc, 0, "Can't get index of \"%s\"", rd->di->path); /* Insert dummy devices for any missing raid devices. */ while (i < idx) { if (!add_rd_dummy(lc, rd_first, &rd->devs, err_targ_path)) goto err; members++; i++; } i++; } /* Insert any missing RAID devices after the last one found. */ while (i < ndev) { if (!add_rd_dummy(lc, rd_first, &rs->devs, err_targ_path)) goto err; members++; i++; } } if (!(sectors = _smallest(lc, rs, 0))) LOG_ERR(lc, 0, "can't find smallest RAID4/5 member!"); /* Adjust sectors with chunk size: only whole chunks count. */ sectors = sectors / rs->stride * rs->stride; /* * Multiply size of smallest member by the number of data * devices to get the total sector count for the mapping. */ sectors *= members - 1; if (!_dm_raid45_bol(lc, table, rs, sectors, members)) goto err; /* Stacked RAID sets (for RAID50 etc.) */ list_for_each_entry(r, &rs->sets, list) { char *path; if (!(path = mkdm_path(lc, r->name))) goto err; ret = _dm_path_offset(lc, table, valid_rs(r), path, 0); dbg_free(path); if (!ret) goto err; } /* Lowest level RAID devices. */ list_for_each_entry(rd, &rs->devs, devs) { if (!_dm_path_offset(lc, table, valid_rd(rd), rd->di->path, rd->offset)) goto err; } if (err_targ_path) dbg_free(err_targ_path); out: return 1; err: if (err_targ_path) dbg_free(err_targ_path); return log_alloc_err(lc, __func__); } /* * Activate/deactivate (sub)sets. */ /* * Array of handler functions for the various types. */ static struct type_handler { const enum type type; int (*f) (struct lib_context * lc, char **table, struct raid_set * rs); } type_handler[] = { { t_undef, dm_undef }, /* Needs to stay here! */ { t_partition, dm_partition }, { t_spare, dm_spare }, { t_linear, dm_linear }, { t_raid0, dm_raid0 }, { t_raid1, dm_raid1 }, { t_raid4, dm_raid45 }, { t_raid5_ls, dm_raid45 }, { t_raid5_rs, dm_raid45 }, { t_raid5_la, dm_raid45 }, { t_raid5_ra, dm_raid45 }, /* RAID types below not supported (yet) */ { t_raid6, dm_unsup }, }; /* Retrieve type handler from array. */ static struct type_handler * handler(struct raid_set *rs) { struct type_handler *th = type_handler; do { if (rs->type == th->type) return th; } while (++th < ARRAY_END(type_handler)); return type_handler; } /* Return mapping table */ char * libdmraid_make_table(struct lib_context *lc, struct raid_set *rs) { char *ret = NULL; if (T_GROUP(rs)) return NULL; if (!(handler(rs))->f(lc, &ret, rs)) LOG_ERR(lc, NULL, "no mapping possible for RAID set %s", rs->name); return ret; } enum dm_what { DM_ACTIVATE, DM_REGISTER }; /* Register devices of the RAID set with the dmeventd. */ #define ALL_EVENTS 0xffffffff static int dm_register_for_event(char *dev_name, char *lib_name) { #ifdef DMRAID_AUTOREGISTER dm_register_device(dev_name, lib_name); #endif return 1; } static int dm_unregister_for_event(char *dev_name, char *lib_name) { #ifdef DMRAID_AUTOREGISTER dm_unregister_device(dev_name, lib_name); #endif return 1; } #define LIB_NAME_LENGTH 255 static int do_device(struct lib_context *lc, struct raid_set *rs, int (*f) ()) { int ret = 0; char lib_name[LIB_NAME_LENGTH]; if (OPT_TEST(lc)) return 1; struct dmraid_format *fmt = get_format(rs); if (fmt->name != NULL) { strncpy(lib_name, "libdmraid-events-",LIB_NAME_LENGTH); strncat(lib_name, fmt->name, LIB_NAME_LENGTH-strlen(fmt->name)-3); strncat(lib_name, ".so", 3); ret = f(rs->name, lib_name); } return ret ? 1 : 0; } static int register_devices(struct lib_context *lc, struct raid_set *rs) { return do_device(lc, rs, dm_register_for_event); } /* Unregister devices of the RAID set with the dmeventd. */ static int unregister_devices(struct lib_context *lc, struct raid_set *rs) { return do_device(lc, rs, dm_unregister_for_event); } /* Reload a single set. */ static int reload_subset(struct lib_context *lc, struct raid_set *rs) { int ret = 0; char *table = NULL; if (T_GROUP(rs) || T_RAID0(rs)) return 1; /* Suspend device */ if (!(ret = dm_suspend(lc, rs))) LOG_ERR(lc, ret, "Device suspend failed."); /* Call type handler */ if ((ret = (handler(rs))->f(lc, &table, rs))) { if (OPT_TEST(lc)) display_table(lc, rs->name, table); else ret = dm_reload(lc, rs, table); } else log_err(lc, "no mapping possible for RAID set %s", rs->name); free_string(lc, &table); /* Try to resume */ if (ret) dm_resume(lc, rs); else if (!(ret = dm_resume(lc, rs))) LOG_ERR(lc, ret, "Device resume failed."); return ret; } /* Reload a RAID set recursively (eg, RAID1 on top of RAID0). */ static int reload_set(struct lib_context *lc, struct raid_set *rs) { struct raid_set *r; /* FIXME: Does it matter if the set is (in)active? */ #if 0 if (!OPT_TEST(lc) && what == DM_ACTIVATE && dm_status(lc, rs)) { log_print(lc, "RAID set \"%s\" already active", rs->name); return 1; } #endif /* Recursively walk down the chain of stacked RAID sets */ list_for_each_entry(r, &rs->sets, list) { /* Activate set below this one */ if (!reload_set(lc, r) && !T_GROUP(rs)) continue; } return reload_subset(lc, rs); } /* Activate a single set. */ static int activate_subset(struct lib_context *lc, struct raid_set *rs, enum dm_what what) { int ret = 0; char *table = NULL; if (T_GROUP(rs)) return 1; if (what == DM_REGISTER) return register_devices(lc, rs); /* Call type handler */ if ((ret = (handler(rs))->f(lc, &table, rs))) { if (OPT_TEST(lc)) display_table(lc, rs->name, table); else if ((ret = dm_create(lc, rs, table, rs->name))) log_print(lc, "RAID set \"%s\" was activated", rs->name); else { /* * Error target must be removed * if activation did not succeed. */ delete_error_target(lc, rs); log_print(lc, "RAID set \"%s\" was not activated", rs->name); } } else log_err(lc, "no mapping possible for RAID set %s", rs->name); free_string(lc, &table); return ret; } /* Activate a RAID set recursively (eg, RAID1 on top of RAID0). */ static int activate_set(struct lib_context *lc, struct raid_set *rs, enum dm_what what) { struct raid_set *r; if (!OPT_TEST(lc) && what == DM_ACTIVATE && dm_status(lc, rs)) { log_print(lc, "RAID set \"%s\" already active", rs->name); return 1; } /* Before activating the whole superset, */ /* we should check that the metdata handler allows it */ if ((what == DM_ACTIVATE) && T_GROUP(rs)) { struct raid_dev *rd = list_entry(rs->devs.next, typeof(*rd), devs); if (rd->fmt->metadata_handler) { if (!rd->fmt->metadata_handler(lc, ALLOW_ACTIVATE, NULL, rs)) { log_err(lc, "RAID set \"%s\" can't be activated", rs->name); return 0; } } } /* Before activating the whole superset, */ /* we should check that the metdata handler allows it */ if ((what == DM_ACTIVATE) && T_GROUP(rs)) { struct raid_dev *rd = list_entry(rs->devs.next, typeof(*rd), devs); if (rd->fmt->metadata_handler) { if (!rd->fmt->metadata_handler(lc, ALLOW_ACTIVATE, NULL, rs)) { log_err(lc, "RAID set \"%s\" can't be activated", rs->name); return 0; } } } /* Recursively walk down the chain of stacked RAID sets */ list_for_each_entry(r, &rs->sets, list) { /* Activate set below this one */ if (!activate_set(lc, r, what) && !T_GROUP(rs)) return 0; } return activate_subset(lc, rs, what); } /* Deactivate a single set (one level of a device stack). */ static int deactivate_superset(struct lib_context *lc, struct raid_set *rs, enum dm_what what) { int ret = 1, status; if (what == DM_REGISTER) return unregister_devices(lc, rs); status = dm_status(lc, rs); if (OPT_TEST(lc)) log_print(lc, "%s [%sactive]", rs->name, status ? "" : "in"); else if (status) ret = dm_remove(lc, rs, rs->name); else log_print(lc, "RAID set \"%s\" is not active", rs->name); /* * Special case for degraded raid5 array, * activated with error target device . */ delete_error_target(lc, rs); return ret; } /* Deactivate a RAID set. */ static int deactivate_set(struct lib_context *lc, struct raid_set *rs, enum dm_what what) { struct raid_set *r; /* * Deactivate myself if not a group set, * which gets never activated itself. */ if (!T_GROUP(rs) && !deactivate_superset(lc, rs, what)) return 0; /* Deactivate any subsets recursively. */ list_for_each_entry(r, &rs->sets, list) { if (!deactivate_set(lc, r, what)) return 0; } return 1; } /* External (de)activate interface. */ int change_set(struct lib_context *lc, enum activate_type what, void *v) { int ret; struct raid_set *rs = v; switch (what) { case A_ACTIVATE: ret = activate_set(lc, rs, DM_ACTIVATE) && activate_set(lc, rs, DM_REGISTER); break; case A_DEACTIVATE: ret = deactivate_set(lc, rs, DM_REGISTER) && deactivate_set(lc, rs, DM_ACTIVATE); break; case A_RELOAD: ret = reload_set(lc, rs); break; default: log_err(lc, "%s: invalid activate type!", __func__); ret = 0; } return ret; } dmraid/1.0.0.rc16/lib/activate/activate.h0000644000175200007640000000075311254123773020243 0ustar mauelshamauelsha/* * Copyright (C) 2004,2005 Heinz Mauelshagen, Red Hat GmbH. * All rights reserved. * * See file LICENSE at the top of this source tree for license information. */ #ifndef _ACTIVATE_H_ #define _ACTIVATE_H_ #define ERROR_TARG_TABLE_LEN 32 enum activate_type { A_ACTIVATE, A_DEACTIVATE, A_RELOAD, }; int change_set(struct lib_context *lc, enum activate_type what, void *rs); void delete_error_target(struct lib_context *lc, struct raid_set *rs); #endif dmraid/1.0.0.rc16/lib/activate/devmapper.c0000644000175200007640000001517711254123773020427 0ustar mauelshamauelsha/* * Copyright (C) 2004-2008 Heinz Mauelshagen, Red Hat GmbH. * All rights reserved. * * Copyright (C) 2007 Intel Corporation. All rights reserved. * November, 2007 - additions for Create, Delete, Rebuild & Raid 10. * * See file LICENSE at the top of this source tree for license information. */ /* * dmraid device-mapper lib interface functions. */ #include #include #include #include #include #include #include #include "internal.h" #include "devmapper.h" #include /* Make up a dm path. */ char * mkdm_path(struct lib_context *lc, const char *name) { char *ret; const char *dir = dm_dir(); if ((ret = dbg_malloc(strlen(dir) + strlen(name) + 2))) sprintf(ret, "%s/%s", dir, name); else log_alloc_err(lc, __func__); return ret; } /* Device-mapper NULL log function. */ static void dmraid_log(int level, const char *file, int line, const char *f, ...) { return; } /* Init device-mapper library. */ static void _init_dm(void) { dm_log_init(dmraid_log); } /* Cleanup at exit. */ static void _exit_dm(struct dm_task *dmt) { if (dmt) dm_task_destroy(dmt); dm_lib_release(); dm_lib_exit(); } /* * Retrieve list of registered mapping targets. * * dm-library must get inititalized by caller. */ static struct dm_versions * get_target_list(void) { struct dm_task *dmt; return (dmt = dm_task_create(DM_DEVICE_LIST_VERSIONS)) && dm_task_run(dmt) ? dm_task_get_versions(dmt) : NULL; } /* Check a target's name against registered ones. */ static int valid_ttype(struct lib_context *lc, char *ttype, struct dm_versions *targets) { struct dm_versions *t, *last; /* * If we don't have the list of target types registered * with the device-mapper core -> carry on and potentially * fail on target addition. */ if (!targets) return 1; /* Walk registered mapping target name list. */ t = targets; do { if (!strcmp(ttype, t->name)) return 1; last = t; t = (void *) t + t->next; } while (last != t); LOG_ERR(lc, 0, "device-mapper target type \"%s\" is not in the kernel", ttype); } /* * Parse a mapping table and create the appropriate targets or * check that a target type is registered with the device-mapper core. */ static int handle_table(struct lib_context *lc, struct dm_task *dmt, char *table, struct dm_versions *targets) { int line = 0, n, ret = 0; uint64_t start, size; char *nl = table, *p, ttype[32]; do { p = nl; line++; /* * Not using sscanf string allocation * because it's not available in dietlibc. */ *ttype = 0; if (sscanf(p, "%" PRIu64 " %" PRIu64 " %31s %n", &start, &size, ttype, &n) < 3) LOG_ERR(lc, 0, "Invalid format in table line %d", line); if (!(ret = valid_ttype(lc, ttype, targets))) break; nl = remove_delimiter((p += n), '\n'); if (dmt) ret = dm_task_add_target(dmt, start, size, ttype, p); add_delimiter(&nl, '\n'); } while (nl && ret); return ret; } /* Parse a mapping table and create the appropriate targets. */ static int parse_table(struct lib_context *lc, struct dm_task *dmt, char *table) { return handle_table(lc, dmt, table, NULL); } /* Check if a target type is not registered with the kernel after a failure. */ static int check_table(struct lib_context *lc, char *table) { return handle_table(lc, NULL, table, get_target_list()); } /* Build a UUID for a dmraid device * Return 1 for sucess; 0 for failure*/ static int dmraid_uuid(struct lib_context *lc, struct raid_set *rs, char *uuid, uint uuid_len, char *name) { int r; /* Clear garbage data from uuid string */ memset(uuid, 0, uuid_len); /* Create UUID string from subsystem prefix and RAID set name. */ r = snprintf(uuid, uuid_len, "DMRAID-%s", name) < uuid_len; return r < 0 ? 0 : (r < uuid_len); } /* Create a task, set its name and run it. */ static int run_task(struct lib_context *lc, struct raid_set *rs, char *table, int type, char *name) { /* * DM_UUID_LEN is defined in dm-ioctl.h as 129 characters; * though not all 129 must be used (md uses just 16 from * a quick review of md.c. * We will be using: (len vol grp name) */ char uuid[DM_UUID_LEN]; int ret; struct dm_task *dmt; _init_dm(); ret = (dmt = dm_task_create(type)) && dm_task_set_name(dmt, name); if (ret && table) ret = parse_table(lc, dmt, table); if (ret) { if (DM_DEVICE_CREATE == type) { ret = dmraid_uuid(lc, rs, uuid, DM_UUID_LEN, name) && dm_task_set_uuid(dmt, uuid) && dm_task_run(dmt); } else ret = dm_task_run(dmt); } _exit_dm(dmt); return ret; } /* Create a mapped device. */ int dm_create(struct lib_context *lc, struct raid_set *rs, char *table, char *name) { int ret; /* Create */ ret = run_task(lc, rs, table, DM_DEVICE_CREATE, name); /* * In case device creation failed, check if target * isn't registered with the device-mapper core */ if (!ret) check_table(lc, table); return ret; } /* Suspend a mapped device. */ int dm_suspend(struct lib_context *lc, struct raid_set *rs) { /* Suspend */ return run_task(lc, rs, NULL, DM_DEVICE_SUSPEND, rs->name); } /* Resume a mapped device. */ int dm_resume(struct lib_context *lc, struct raid_set *rs) { /* Resume */ return run_task(lc, rs, NULL, DM_DEVICE_RESUME, rs->name); } /* Reload a mapped device. */ int dm_reload(struct lib_context *lc, struct raid_set *rs, char *table) { int ret; /* Create */ ret = run_task(lc, rs, table, DM_DEVICE_RELOAD, rs->name); /* * In case device creation failed, check if target * isn't registered with the device-mapper core */ if (!ret) check_table(lc, table); return ret; } /* Remove a mapped device. */ int dm_remove(struct lib_context *lc, struct raid_set *rs, char *name) { /* Remove */ return run_task(lc, rs, NULL, DM_DEVICE_REMOVE, name); } /* Retrieve status of a mapped device. */ /* FIXME: more status for device monitoring... */ int dm_status(struct lib_context *lc, struct raid_set *rs) { int ret; struct dm_task *dmt; struct dm_info info; _init_dm(); /* Status . */ ret = (dmt = dm_task_create(DM_DEVICE_STATUS)) && dm_task_set_name(dmt, rs->name) && dm_task_run(dmt) && dm_task_get_info(dmt, &info) && info.exists; _exit_dm(dmt); return ret; } /* Retrieve device-mapper driver version. */ int dm_version(struct lib_context *lc, char *version, size_t size) { int ret; struct dm_task *dmt; /* Be prepared for device-mapper not in kernel. */ strncpy(version, "unknown", size); _init_dm(); ret = (dmt = dm_task_create(DM_DEVICE_VERSION)) && dm_task_run(dmt) && dm_task_get_driver_version(dmt, version, size); _exit_dm(dmt); return ret; } dmraid/1.0.0.rc16/lib/activate/activate.c0000644000175200007640000006302111254124775020236 0ustar mauelshamauelsha/* * Copyright (C) 2004-2008 Heinz Mauelshagen, Red Hat GmbH. * All rights reserved. * * Copyright (C) 2007,2009 Intel Corporation. All rights reserved. * November, 2007 - additions for Create, Delete, Rebuild & Raid 10. * March, 2008 - additions for hot-spare check * August, 2008 - check before Activation * January, 2009 - additions for Activation, Rebuild check * April, 2009 - automatic un/registration added * April, 2009 -Activation array in degraded state added * May, 2009 - fix for wrong error_target place in device-mapper table * * See file LICENSE at the top of this source tree for license information. */ /* * Activate/Deactivate code for hierarchical RAID Sets. */ #include "internal.h" #include "devmapper.h" static int valid_rd(struct raid_dev *rd) { return (S_OK(rd->status) || S_INCONSISTENT(rd->status) || S_NOSYNC(rd->status)) && !T_SPARE(rd); } static int valid_rs(struct raid_set *rs) { return (S_OK(rs->status) || S_INCONSISTENT(rs->status)|| S_NOSYNC(rs->status)) && !T_SPARE(rs); } /* Return rounded size in case of unbalanced mappings */ static uint64_t maximize(struct raid_set *rs, uint64_t sectors, uint64_t last, uint64_t min) { return sectors > min ? min(last, sectors) : last; } /* Find biggest device */ static uint64_t _biggest(struct raid_set *rs) { uint64_t ret = 0; struct raid_dev *rd; list_for_each_entry(rd, &rs->devs, devs) { if (!T_SPARE(rd) && rd->sectors > ret) ret = rd->sectors; } return ret; } /* Find smallest set/disk larger than given minimum. */ static uint64_t _smallest(struct lib_context *lc, struct raid_set *rs, uint64_t min) { uint64_t ret = ~0; struct raid_set *r; struct raid_dev *rd; list_for_each_entry(r, &rs->sets, list) ret = maximize(r, total_sectors(lc, r), ret, min); list_for_each_entry(rd, &rs->devs, devs) { if (!T_SPARE(rd)) ret = maximize(rs, rd->sectors, ret, min); } return ret == (uint64_t) ~0 ? 0 : ret; } /* * Definitions of mappings. */ /* Undefined/-supported mapping. */ static int _dm_un(struct lib_context *lc, char **table, struct raid_set *rs, const char *what) { LOG_ERR(lc, 0, "Un%sed RAID type %s[%u] on %s", what, get_set_type(lc, rs), rs->type, rs->name); } static int dm_undef(struct lib_context *lc, char **table, struct raid_set *rs) { return _dm_un(lc, table, rs, "defin"); } static int dm_unsup(struct lib_context *lc, char **table, struct raid_set *rs) { return _dm_un(lc, table, rs, "support"); } /* "Spare mapping". */ static int dm_spare(struct lib_context *lc, char **table, struct raid_set *rs) { LOG_ERR(lc, 0, "spare set \"%s\" cannot be activated", rs->name); } /* Push path and offset onto a table. */ static int _dm_path_offset(struct lib_context *lc, char **table, int valid, const char *path, uint64_t offset) { return p_fmt(lc, table, " %s %U", valid ? path : lc->path.error, offset); } /* * Create dm table for linear mapping. */ static int _dm_linear(struct lib_context *lc, char **table, int valid, const char *path, uint64_t start, uint64_t sectors, uint64_t offset) { return p_fmt(lc, table, "%U %U %s", start, sectors, get_dm_type(lc, t_linear)) ? _dm_path_offset(lc, table, valid, path, offset) : 0; } static int dm_linear(struct lib_context *lc, char **table, struct raid_set *rs) { unsigned int segments = 0; uint64_t start = 0, sectors = 0; struct raid_dev *rd; struct raid_set *r; /* Stacked linear sets. */ list_for_each_entry(r, &rs->sets, list) { if (!T_SPARE(r)) { int ret; char *path; if (!(path = mkdm_path(lc, r->name))) goto err; sectors = total_sectors(lc, r); ret = _dm_linear(lc, table, valid_rs(r), path, start, sectors, 0); dbg_free(path); segments++; start += sectors; if (!ret || (r->sets.next != &rs->sets && !p_fmt(lc, table, "\n"))) goto err; } } /* Devices of a linear set. */ list_for_each_entry(rd, &rs->devs, devs) { if (!T_SPARE(rd)) { if (!_dm_linear (lc, table, valid_rd(rd), rd->di->path, start, rd->sectors, rd->offset)) goto err; segments++; start += rd->sectors; if (rd->devs.next != &rs->devs && !p_fmt(lc, table, "\n")) goto err; } } return segments ? 1 : 0; err: return log_alloc_err(lc, __func__); } /* * Create dm table for a partition mapping. * * Partitioned RAID set with 1 RAID device * defining a linear partition mapping. */ static int dm_partition(struct lib_context *lc, char **table, struct raid_set *rs) { return dm_linear(lc, table, rs); } /* * Create dm table for striped mapping taking * different disk sizes and the stride size into acccount. * * If metadata format handler requests a maximized mapping, * more than one mapping table record will be created and * stride boundaries will get paid attention to. * * Eg, 3 disks of 80, 100, 120 GB capacity: * * 0 240GB striped /dev/sda 0 /dev/sdb 0 /dev/sdc 0 * 240GB 40GB striped /dev/sdb 80GB /dev/sdc 80GB * 280GB 20GB linear /dev/sdc 100GB * */ /* Push begin of line onto a RAID0 table. */ static int _dm_raid0_bol(struct lib_context *lc, char **table, uint64_t min, uint64_t last_min, unsigned int n, unsigned int stride) { return p_fmt(lc, table, n > 1 ? "%U %U %s %u %u" : "%U %U %s", last_min * n, (min - last_min) * n, get_dm_type(lc, n > 1 ? t_raid0 : t_linear), n, stride); } /* Push end of line onto a RAID0 table. */ static int _dm_raid0_eol(struct lib_context *lc, char **table, struct raid_set *rs, unsigned int *stripes, uint64_t last_min) { struct raid_set *r; struct raid_dev *rd; /* Stacked striped sets. */ list_for_each_entry(r, &rs->sets, list) { if (total_sectors(lc, r) > last_min) { int ret; char *path; if (!(path = mkdm_path(lc, r->name))) goto err; ret = _dm_path_offset(lc, table, valid_rs(r), path, last_min); dbg_free(path); if (!ret) goto err; (*stripes)++; } } list_for_each_entry(rd, &rs->devs, devs) { if (!T_SPARE(rd) && rd->sectors > last_min && !_dm_path_offset(lc, table, valid_rd(rd), rd->di->path, rd->offset + last_min)) goto err; (*stripes)++; } return 1; err: return 0; } /* Count RAID sets/devices larger than given minimum size. */ static unsigned int _dm_raid_devs(struct lib_context *lc, struct raid_set *rs, uint64_t min) { unsigned int ret = 0; struct raid_set *r; struct raid_dev *rd; /* Stacked sets. */ list_for_each_entry(r, &rs->sets, list) { if (!T_SPARE(r) && total_sectors(lc, r) > min) ret++; } list_for_each_entry(rd, &rs->devs, devs) { if (!T_SPARE(rd) && rd->sectors > min) ret++; } return ret; } static int dm_raid0(struct lib_context *lc, char **table, struct raid_set *rs) { unsigned int stripes = 0; uint64_t min, last_min = 0; for (; (min = _smallest(lc, rs, last_min)); last_min = min) { if (last_min && !p_fmt(lc, table, "\n")) goto err; if (!_dm_raid0_bol(lc, table, round_down(min, rs->stride), last_min, _dm_raid_devs(lc, rs, last_min), rs->stride) || !_dm_raid0_eol(lc, table, rs, &stripes, last_min)) goto err; if (!F_MAXIMIZE(rs)) break; } return stripes ? 1 : 0; err: return log_alloc_err(lc, __func__); } /* * Create dm table for mirrored mapping. */ /* Calculate dirty log region size. */ static unsigned int calc_region_size(struct lib_context *lc, uint64_t sectors) { const unsigned int mb_128 = 128 * 2 * 1024; unsigned int max, region_size; if ((max = sectors / 1024) > mb_128) max = mb_128; for (region_size = 128; region_size < max; region_size <<= 1); return region_size >> 1; } static unsigned int get_rds(struct raid_set *rs, int valid) { unsigned int ret = 0; struct raid_dev *rd; list_for_each_entry(rd, &rs->devs, devs) { if (valid) { if (valid_rd(rd)) ret++; } else ret++; } return ret; } static unsigned int get_dm_devs(struct raid_set *rs, int valid) { unsigned int ret = 0; struct raid_set *r; /* Stacked mirror sets. */ list_for_each_entry(r, &rs->sets, list) { if (valid) { if (valid_rs(r)) ret++; } else ret++; } return ret + get_rds(rs, valid); } /* Retrieve number of drive to rebuild from metadata format handler. */ static int get_rebuild_drive(struct lib_context *lc, struct raid_set *rs, struct handler_info *info) { /* Initialize drive to rebuild invalid. */ info->data.i32 = -1; if (lc->options[LC_REBUILD_SET].opt) { struct raid_dev *rd; if (list_empty(&rs->devs)) LOG_ERR(lc, 0, "RAID set has no devices!"); rd = list_entry(rs->devs.next, typeof(*rd), devs); if (rd->fmt->metadata_handler) { if (!rd-> fmt->metadata_handler(lc, GET_REBUILD_DRIVE_NO, info, rs)) LOG_ERR(lc, 0, "Can't get rebuild drive #!"); } else LOG_ERR(lc, 0, "Can't rebuild w/o metadata_handler for %s", rd->fmt->name); } return 1; } /* Return true if RAID set needs rebuilding. */ static inline int rs_need_sync(struct raid_set *rs) { return S_INCONSISTENT(rs->status) || S_NOSYNC(rs->status); } /* Push begin of line onto a RAID1 table. */ /* FIXME: persistent dirty log. */ static int _dm_raid1_bol(struct lib_context *lc, char **table, struct raid_set *rs, uint64_t sectors, unsigned int mirrors, int need_sync) { /* * Append the flag/feature required for dmraid1 * event handling in the kernel driver here for RHEL5. * In mainline, dm-raid1 handles it, in RHEL5, it's dm-log. */ return (p_fmt(lc, table, "0 %U %s core 2 %u %s %u", sectors, get_dm_type(lc, t_raid1), calc_region_size(lc, sectors), (need_sync) ? "sync" : "nosync", mirrors)); } static int dm_raid1(struct lib_context *lc, char **table, struct raid_set *rs) { int need_sync; struct handler_info rebuild_drive; uint64_t sectors = 0; unsigned int mirrors = get_dm_devs(rs, 1); struct raid_set *r, *swap_rs; struct raid_dev *rd, *swap_rd; switch (mirrors) { case 0: return 0; case 1: /* * In case we only have one mirror left, * a linear mapping will do. */ log_err(lc, "creating degraded mirror mapping for \"%s\"", rs->name); return dm_linear(lc, table, rs); } if (!(sectors = _smallest(lc, rs, 0))) LOG_ERR(lc, 0, "can't find smallest mirror!"); /* * Get drive for reordering - copy is made from first * drive (i.e. the master) to the other mirrors. */ need_sync = rs_need_sync(rs); rebuild_drive.data.i32 = -1; if (need_sync && !get_rebuild_drive(lc, rs, &rebuild_drive)) return 0; if (!_dm_raid1_bol(lc, table, rs, sectors, mirrors, need_sync)) goto err; /* Stacked mirror sets. */ swap_rs = NULL; list_for_each_entry(r, &rs->sets, list) { if (valid_rs(r)) { int ret = 1; char *path; if (!(path = mkdm_path(lc, r->name))) goto err; if (!rebuild_drive.data.i32 && !swap_rs) swap_rs = r; else ret = _dm_path_offset(lc, table, 1, path, 0); dbg_free(path); if (!ret) goto err; } } /* Add rebuild target to the end of the list. */ if (swap_rs && valid_rs(swap_rs)) { int ret = 1; char *path; if (!(path = mkdm_path(lc, swap_rs->name))) goto err; ret = _dm_path_offset(lc, table, 1, path, 0); dbg_free(path); if (!ret) goto err; } /* Lowest level mirror devices. */ swap_rd = NULL; list_for_each_entry(rd, &rs->devs, devs) { if (valid_rd(rd)) { if (!rebuild_drive.data.i32 && !swap_rd) swap_rd = rd; else if (!_dm_path_offset(lc, table, 1, rd->di->path, rd->offset)) goto err; } } /* Add rebuild target to the end of the list. */ if (swap_rd && valid_rd(swap_rd)) if (!_dm_path_offset(lc, table, valid_rd(swap_rd), swap_rd->di->path, swap_rd->offset)) goto err; /* * Append the flag/feature required for dmraid1 * event handling in the kernel driver. */ if (p_fmt(lc, table, " 1 handle_errors")) return 1; err: return log_alloc_err(lc, __func__); } /* * Create dm table for RAID5 mapping. */ /* Push begin of line onto a RAID5 table. */ /* FIXME: persistent dirty log. */ static int _dm_raid45_bol(struct lib_context *lc, char **table, struct raid_set *rs, uint64_t sectors, unsigned int members) { int need_sync = rs_need_sync(rs); struct handler_info rebuild_drive; /* Get drive as rebuild target. */ rebuild_drive.data.i32 = -1; if (need_sync && !get_rebuild_drive(lc, rs, &rebuild_drive)) return 0; return p_fmt(lc, table, "0 %U %s core 2 %u %s %s 1 %u %u %d", sectors, get_dm_type(lc, rs->type), calc_region_size(lc, total_sectors(lc, rs) / _dm_raid_devs(lc, rs, 0)), (need_sync) ? "sync" : "nosync", get_type(lc, rs->type), rs->stride, members, rebuild_drive.data.i32); } /* Create "error target" name based on raid set name. */ static char *err_target_name(struct raid_set *rs) { char *ret; static const char *_err_target = "_err_target"; if ((ret = dbg_malloc(strlen(rs->name) + strlen(_err_target) + 1))) sprintf(ret, "%s%s", rs->name, _err_target); return ret; } /* * Create "error target" device to replace missing * disk path by "error target" in order to avoid any * further access to the real (unavailable) device. */ static char * create_error_target(struct lib_context *lc, struct raid_set *rs) { uint64_t err_targ_size; char *err_name, *path = NULL, *table; /* "error target" should be bigger than the biggest device in the set */ err_targ_size = _biggest(rs) + 1; /* create "error target" name based on raid set name*/ if (!(err_name = err_target_name(rs))) { log_alloc_err(lc, __func__); goto err; } /* Allocate memory for "error target" table. */ if ((table = dbg_malloc(ERROR_TARG_TABLE_LEN))) sprintf(table, "0 %llu error", (long long unsigned) err_targ_size); else { log_alloc_err(lc, __func__); dbg_free(err_name); goto err; } /* Create "error target" in device-mapper. */ if (dm_create(lc, rs, table, err_name)) path = mkdm_path(lc, err_name); dbg_free(err_name); dbg_free(table); err: return path; } /* Delete "error target" device */ void delete_error_target(struct lib_context *lc, struct raid_set *rs) { char *err_name; /* Create "error target" name based on raid set name. */ if ((err_name = err_target_name(rs))) { /* Remove "error target" form device-mapper. */ dm_remove(lc, rs, err_name); dbg_free(err_name); } else log_alloc_err(lc, __func__); } /* Alloc a dummy rd to insert for a missing drive. */ static struct raid_dev *add_rd_dummy(struct lib_context *lc, struct raid_dev *rd_ref, struct list_head *rd_list, char *path) { struct raid_dev *rd = NULL; int area_size = rd_ref->meta_areas->size; /* Create dummy rd for error_target. */ if ((rd = alloc_raid_dev(lc, __func__))) { rd->name = NULL; rd->fmt = rd_ref->fmt; rd->status = s_inconsistent; rd->type = t_undef; rd->sectors = rd_ref->sectors; rd->offset = rd_ref->offset; rd->areas = rd_ref->areas; rd->di = alloc_dev_info(lc, path); if (!rd->di) goto err; rd->meta_areas = alloc_meta_areas(lc, rd, rd->fmt->name, 1); if (!rd->meta_areas) goto err; rd->meta_areas->size = area_size; rd->meta_areas->offset = rd_ref->meta_areas->offset; rd->meta_areas->area = alloc_private(lc, rd->fmt->name, area_size); if (!rd->meta_areas->area) goto err; memcpy(rd->meta_areas->area, rd_ref->meta_areas->area, area_size); list_add_tail(&rd->devs, rd_list); } return rd; err: free_raid_dev(lc, &rd); return NULL; } static int dm_raid45(struct lib_context *lc, char **table, struct raid_set *rs) { int ret; uint64_t sectors = 0; unsigned int members = get_dm_devs(rs, 0); struct raid_dev *rd; struct raid_set *r; char *err_targ_path = NULL; /* If one disk is missing create error target to replace it. */ if (members != rs->found_devs) { int i, ndev, idx; struct raid_dev *rd_first, *rd_tmp; struct handler_info info; /* Get get number of disks from metadata handler. */ rd_first = list_entry(rs->devs.next, struct raid_dev, devs); if (rd_first->fmt->metadata_handler) { ndev = rd_first->fmt->metadata_handler(lc, GET_NUMBER_OF_DEVICES, NULL, rs); if (ndev < 0) LOG_ERR(lc, 0, "No devices in RAID set!"); } else goto out; /* Delete potentially existing error_target. */ delete_error_target(lc, rs); /* Create error_target */ if (!(err_targ_path = create_error_target(lc, rs))) LOG_ERR(lc, 0, "Cannot create error target for missing" " disk(s) in degraded array!"); /* Insert dummy rd(s) into rd list */ i = 0; list_for_each_entry_safe(rd, rd_tmp, &rs->devs, devs) { info.data.ptr = rd; idx = rd_first->fmt->metadata_handler(lc, GET_DEVICE_IDX, &info, rs); if (idx < 0) LOG_ERR(lc, 0, "Can't get index of \"%s\"", rd->di->path); /* Insert dummy devices for any missing raid devices. */ while (i < idx) { if (!add_rd_dummy(lc, rd_first, &rd->devs, err_targ_path)) goto err; members++; i++; } i++; } /* Insert any missing RAID devices after the last one found. */ while (i < ndev) { if (!add_rd_dummy(lc, rd_first, &rs->devs, err_targ_path)) goto err; members++; i++; } } if (!(sectors = _smallest(lc, rs, 0))) LOG_ERR(lc, 0, "can't find smallest RAID4/5 member!"); /* Adjust sectors with chunk size: only whole chunks count. */ sectors = sectors / rs->stride * rs->stride; /* * Multiply size of smallest member by the number of data * devices to get the total sector count for the mapping. */ sectors *= members - 1; if (!_dm_raid45_bol(lc, table, rs, sectors, members)) goto err; /* Stacked RAID sets (for RAID50 etc.) */ list_for_each_entry(r, &rs->sets, list) { char *path; if (!(path = mkdm_path(lc, r->name))) goto err; ret = _dm_path_offset(lc, table, valid_rs(r), path, 0); dbg_free(path); if (!ret) goto err; } /* Lowest level RAID devices. */ list_for_each_entry(rd, &rs->devs, devs) { if (!_dm_path_offset(lc, table, valid_rd(rd), rd->di->path, rd->offset)) goto err; } if (err_targ_path) dbg_free(err_targ_path); out: return 1; err: if (err_targ_path) dbg_free(err_targ_path); return log_alloc_err(lc, __func__); } /* * Activate/deactivate (sub)sets. */ /* * Array of handler functions for the various types. */ static struct type_handler { const enum type type; int (*f) (struct lib_context * lc, char **table, struct raid_set * rs); } type_handler[] = { { t_undef, dm_undef }, /* Needs to stay here! */ { t_partition, dm_partition }, { t_spare, dm_spare }, { t_linear, dm_linear }, { t_raid0, dm_raid0 }, { t_raid1, dm_raid1 }, { t_raid4, dm_raid45 }, { t_raid5_ls, dm_raid45 }, { t_raid5_rs, dm_raid45 }, { t_raid5_la, dm_raid45 }, { t_raid5_ra, dm_raid45 }, /* RAID types below not supported (yet) */ { t_raid6, dm_unsup }, }; /* Retrieve type handler from array. */ static struct type_handler * handler(struct raid_set *rs) { struct type_handler *th = type_handler; do { if (rs->type == th->type) return th; } while (++th < ARRAY_END(type_handler)); return type_handler; } /* Return mapping table */ char * libdmraid_make_table(struct lib_context *lc, struct raid_set *rs) { char *ret = NULL; if (T_GROUP(rs)) return NULL; if (!(handler(rs))->f(lc, &ret, rs)) LOG_ERR(lc, NULL, "no mapping possible for RAID set %s", rs->name); return ret; } enum dm_what { DM_ACTIVATE, DM_REGISTER }; /* Register devices of the RAID set with the dmeventd. */ #define ALL_EVENTS 0xffffffff static int dm_register_for_event(char *dev_name, char *lib_name) { #ifdef DMRAID_AUTOREGISTER dm_register_device(dev_name, lib_name); #endif return 1; } static int dm_unregister_for_event(char *dev_name, char *lib_name) { #ifdef DMRAID_AUTOREGISTER dm_unregister_device(dev_name, lib_name); #endif return 1; } #define LIB_NAME_LENGTH 255 static int do_device(struct lib_context *lc, struct raid_set *rs, int (*f) ()) { int ret = 0; char lib_name[LIB_NAME_LENGTH]; if (OPT_TEST(lc)) return 1; struct dmraid_format *fmt = get_format(rs); if (fmt->name != NULL) { strncpy(lib_name, "libdmraid-events-",LIB_NAME_LENGTH); strncat(lib_name, fmt->name, LIB_NAME_LENGTH-strlen(fmt->name)-3); strncat(lib_name, ".so", 3); ret = f(rs->name, lib_name); } return ret ? 1 : 0; } static int register_devices(struct lib_context *lc, struct raid_set *rs) { return do_device(lc, rs, dm_register_for_event); } /* Unregister devices of the RAID set with the dmeventd. */ static int unregister_devices(struct lib_context *lc, struct raid_set *rs) { return do_device(lc, rs, dm_unregister_for_event); } /* Reload a single set. */ static int reload_subset(struct lib_context *lc, struct raid_set *rs) { int ret = 0; char *table = NULL; if (T_GROUP(rs) || T_RAID0(rs)) return 1; /* Suspend device */ if (!(ret = dm_suspend(lc, rs))) LOG_ERR(lc, ret, "Device suspend failed."); /* Call type handler */ if ((ret = (handler(rs))->f(lc, &table, rs))) { if (OPT_TEST(lc)) display_table(lc, rs->name, table); else ret = dm_reload(lc, rs, table); } else log_err(lc, "no mapping possible for RAID set %s", rs->name); free_string(lc, &table); /* Try to resume */ if (ret) dm_resume(lc, rs); else if (!(ret = dm_resume(lc, rs))) LOG_ERR(lc, ret, "Device resume failed."); return ret; } /* Reload a RAID set recursively (eg, RAID1 on top of RAID0). */ static int reload_set(struct lib_context *lc, struct raid_set *rs) { struct raid_set *r; /* FIXME: Does it matter if the set is (in)active? */ #if 0 if (!OPT_TEST(lc) && what == DM_ACTIVATE && dm_status(lc, rs)) { log_print(lc, "RAID set \"%s\" already active", rs->name); return 1; } #endif /* Recursively walk down the chain of stacked RAID sets */ list_for_each_entry(r, &rs->sets, list) { /* Activate set below this one */ if (!reload_set(lc, r) && !T_GROUP(rs)) continue; } return reload_subset(lc, rs); } /* Activate a single set. */ static int activate_subset(struct lib_context *lc, struct raid_set *rs, enum dm_what what) { int ret = 0; char *table = NULL; if (T_GROUP(rs)) return 1; if (what == DM_REGISTER) return register_devices(lc, rs); /* Call type handler */ if ((ret = (handler(rs))->f(lc, &table, rs))) { if (OPT_TEST(lc)) display_table(lc, rs->name, table); else if ((ret = dm_create(lc, rs, table, rs->name))) log_print(lc, "RAID set \"%s\" was activated", rs->name); else { /* * Error target must be removed * if activation did not succeed. */ delete_error_target(lc, rs); log_print(lc, "RAID set \"%s\" was not activated", rs->name); } } else log_err(lc, "no mapping possible for RAID set %s", rs->name); free_string(lc, &table); return ret; } /* Activate a RAID set recursively (eg, RAID1 on top of RAID0). */ static int activate_set(struct lib_context *lc, struct raid_set *rs, enum dm_what what) { struct raid_set *r; if (!OPT_TEST(lc) && what == DM_ACTIVATE && dm_status(lc, rs)) { log_print(lc, "RAID set \"%s\" already active", rs->name); return 1; } /* Before activating the whole superset, */ /* we should check that the metdata handler allows it */ if ((what == DM_ACTIVATE) && T_GROUP(rs)) { struct raid_dev *rd = list_entry(rs->devs.next, typeof(*rd), devs); if (rd->fmt->metadata_handler) { if (!rd->fmt->metadata_handler(lc, ALLOW_ACTIVATE, NULL, rs)) { log_err(lc, "RAID set \"%s\" can't be activated", rs->name); return 0; } } } /* Before activating the whole superset, */ /* we should check that the metdata handler allows it */ if ((what == DM_ACTIVATE) && T_GROUP(rs)) { struct raid_dev *rd = list_entry(rs->devs.next, typeof(*rd), devs); if (rd->fmt->metadata_handler) { if (!rd->fmt->metadata_handler(lc, ALLOW_ACTIVATE, NULL, rs)) { log_err(lc, "RAID set \"%s\" can't be activated", rs->name); return 0; } } } /* Recursively walk down the chain of stacked RAID sets */ list_for_each_entry(r, &rs->sets, list) { /* Activate set below this one */ if (!activate_set(lc, r, what) && !T_GROUP(rs)) return 0; } return activate_subset(lc, rs, what); } /* Deactivate a single set (one level of a device stack). */ static int deactivate_superset(struct lib_context *lc, struct raid_set *rs, enum dm_what what) { int ret = 1, status; if (what == DM_REGISTER) return unregister_devices(lc, rs); status = dm_status(lc, rs); if (OPT_TEST(lc)) log_print(lc, "%s [%sactive]", rs->name, status ? "" : "in"); else if (status) ret = dm_remove(lc, rs, rs->name); else log_print(lc, "RAID set \"%s\" is not active", rs->name); /* * Special case for degraded raid5 array, * activated with error target device . */ delete_error_target(lc, rs); return ret; } /* Deactivate a RAID set. */ static int deactivate_set(struct lib_context *lc, struct raid_set *rs, enum dm_what what) { struct raid_set *r; /* * Deactivate myself if not a group set, * which gets never activated itself. */ if (!T_GROUP(rs) && !deactivate_superset(lc, rs, what)) return 0; /* Deactivate any subsets recursively. */ list_for_each_entry(r, &rs->sets, list) { if (!deactivate_set(lc, r, what)) return 0; } return 1; } /* External (de)activate interface. */ int change_set(struct lib_context *lc, enum activate_type what, void *v) { int ret; struct raid_set *rs = v; switch (what) { case A_ACTIVATE: ret = activate_set(lc, rs, DM_ACTIVATE) && activate_set(lc, rs, DM_REGISTER); break; case A_DEACTIVATE: ret = deactivate_set(lc, rs, DM_REGISTER) && deactivate_set(lc, rs, DM_ACTIVATE); break; case A_RELOAD: ret = reload_set(lc, rs); break; default: log_err(lc, "%s: invalid activate type!", __func__); ret = 0; } return ret; } dmraid/1.0.0.rc16/lib/metadata/0000755000175200007640000000000011254261512016237 5ustar mauelshamauelshadmraid/1.0.0.rc16/lib/metadata/metadata.c0000644000175200007640000013600211254123773020173 0ustar mauelshamauelsha/* * Copyright (C) 2004-2008 Heinz Mauelshagen, Red Hat GmbH. * All rights reserved. * * Copyright (C) 2007 Intel Corporation. All rights reserved. * November, 2007 - additions for Create, Delete, Rebuild & Raid 10. * * See file LICENSE at the top of this source tree for license information. */ #include #include "internal.h" #include "activate/devmapper.h" /* * Type -> ascii definitions. * * dsp_ascii : the string used for display purposes (eg, "dmraid -s"). * dm_ascii : " in device-mapper tables as the target keyword. */ static const struct { const enum type type; const char *dsp_ascii; const char *dm_ascii; } ascii_type[] = { /* enum text dm-target id */ { t_undef, NULL, NULL}, { t_group, "GROUP", NULL}, { t_partition, "partition", NULL}, { t_spare, "spare", NULL}, { t_linear, "linear", "linear"}, { t_raid0, "stripe", "striped"}, { t_raid1, "mirror", "mirror"}, { t_raid4, "raid4", "raid45"}, { t_raid5_ls, "raid5_ls", "raid45"}, { t_raid5_rs, "raid5_rs", "raid45"}, { t_raid5_la, "raid5_la", "raid45"}, { t_raid5_ra, "raid5_ra", "raid45"}, { t_raid6, "raid6", NULL}, }; static const char *stacked_ascii_type[][5] = { {"raid10", "raid30", "raid40", "raid50", "raid60"}, {"raid01", "raid03", "raid04", "raid05", "raid06"}, }; /* * State definitions. */ static const struct { const enum status status; const char *ascii; } ascii_status[] = { { s_undef, NULL}, { s_setup, "setup"}, { s_broken, "broken"}, { s_inconsistent, "inconsistent"}, { s_nosync, "nosync"}, { s_ok, "ok"},}; /* type of spare set - string definition */ #define SPARE_TYPE_STRING "8" /**************************/ #define ALL_FLAGS ((enum action) -1) /* * Action flag definitions for set_action(). * * 'Early' options can be handled directly in set_action() by calling * the functions registered here (f_set member) handing in arg. */ struct actions { int option; /* Option character/value. */ enum action action; /* Action flag for this option or UNDEF. */ enum action needed; /* Mandatory options or UNDEF if alone */ enum action allowed; /* Allowed flags (ie, other options allowed) */ enum args args; /* Arguments allowed ? */ /* Function to call on hit or NULL */ int (*f_set) (struct lib_context * lc, int arg); int arg; /* Argument for above function call */ }; /*************************************/ /* Fetch the respective ASCII string off the types array. */ static unsigned int get_type_index(enum type type) { unsigned int ret = ARRAY_SIZE(ascii_type); while (ret--) { if (type & ascii_type[ret].type) return ret; } return 0; } const char * get_type(struct lib_context *lc, enum type type) { return ascii_type[get_type_index(type)].dsp_ascii; } const char * get_dm_type(struct lib_context *lc, enum type type) { return ascii_type[get_type_index(type)].dm_ascii; } /* Return the RAID type of a stacked RAID set (eg, raid10). */ static const char * get_stacked_type(void *v) { struct raid_set *rs = v; unsigned int t = (T_RAID0(rs) ? get_type_index((RS_RS(rs))->type) : get_type_index(rs->type)) - get_type_index(t_raid1); return stacked_ascii_type[T_RAID0(rs) ? 1:0][t > t_raid0 ? t_undef:t]; } /* Check, if a RAID set is stacked (ie, hierachical). */ static inline int is_stacked(struct raid_set *rs) { return !T_GROUP(rs) && SETS(rs); } /* Return the ASCII type for a RAID set. */ const char * get_set_type(struct lib_context *lc, void *v) { struct raid_set *rs = v; /* Check, if a RAID set is stacked. */ return is_stacked(rs) ? get_stacked_type(rs) : get_type(lc, rs->type); } /* Fetch the respective ASCII string off the state array. */ const char * get_status(struct lib_context *lc, enum status status) { unsigned int i = ARRAY_SIZE(ascii_status); while (i-- && !(status & ascii_status[i].status)); return ascii_status[i].ascii; } /* * Calculate the size of the set by recursively summing * up the size of the devices in the subsets. * * Pay attention to RAID > 0 types. */ static uint64_t add_sectors(struct raid_set *rs, uint64_t sectors, uint64_t add) { add = rs->stride ? round_down(add, rs->stride) : add; if (T_RAID1(rs)) { if (!sectors || sectors > add) sectors = add; } else sectors += add; return sectors; } /* FIXME: proper calculation of unsymetric sets ? */ static uint64_t smallest_disk(struct raid_set *rs) { uint64_t ret = ~0; struct raid_dev *rd; list_for_each_entry(rd, &rs->devs, devs) ret = min(ret, rd->sectors); return ret; } /* Count subsets of a set. */ static unsigned int count_subsets(struct lib_context *lc, struct raid_set *rs) { unsigned ret = 0; struct raid_set *r; list_for_each_entry(r, &rs->sets, list) ret++; return ret; } /* Calculate total sectors of a (hierarchical) RAID set. */ uint64_t total_sectors(struct lib_context * lc, struct raid_set * rs) { uint64_t sectors = 0; struct raid_dev *rd; /* Stacked RAID sets. */ if (!T_GROUP(rs)) { struct raid_set *r; list_for_each_entry(r, &rs->sets, list) sectors = add_sectors(rs, sectors, total_sectors(lc, r)); } /* RAID device additions taking size maximization into account. */ if (DEVS(rs)) { uint64_t min = F_MAXIMIZE(rs) ? 0 : smallest_disk(rs); list_for_each_entry(rd, &rs->devs, devs) { if (!T_SPARE(rd)) sectors = add_sectors(rs, sectors, F_MAXIMIZE(rs) ? rd->sectors : min); } } /* Size for spare disk set */ if (T_SPARE(rs)) { list_for_each_entry(rd, &rs->devs, devs) { if (T_SPARE(rd)) sectors = add_sectors(rs, sectors, rd->sectors); } } /* Size correction for higher RAID levels */ if (T_RAID4(rs) || T_RAID5(rs) || T_RAID6(rs)) { unsigned int i = count_subsets(lc, rs); uint64_t sub = sectors / (i ? i : count_devs(lc, rs, ct_dev)); sectors -= sub; if (T_RAID6(rs)) sectors -= sub; } return sectors; } /* Check if a RAID device should be counted. */ static unsigned int _count_dev(struct raid_dev *rd, enum count_type type) { return ((type == ct_dev && !T_SPARE(rd)) || (type == ct_spare && T_SPARE(rd)) || type == ct_all) ? 1 : 0; } /* Count devices in a set recursively. */ unsigned int count_devs(struct lib_context *lc, struct raid_set *rs, enum count_type count_type) { unsigned int ret = 0; struct raid_set *r; struct raid_dev *rd; list_for_each_entry(r, &rs->sets, list) { if (!T_GROUP(rs)) ret += count_devs(lc, r, count_type); } list_for_each_entry(rd, &rs->devs, devs) ret += _count_dev(rd, count_type); return ret; } /* * Create list of unique memory pointers of a RAID device and free them. * * This prevents me from having a destructor method in the metadata * format handlers so far. If life becomes more complex, I might need * one though... */ static void _free_dev_pointers(struct lib_context *lc, struct raid_dev *rd) { int area, i, idx = 0; void **p; /* Count private and area pointers. */ if (!(area = (rd->private.ptr ? 1 : 0) + rd->areas)) return; /* Allocate and initialize temporary pointer list. */ if (!(p = dbg_malloc(area * sizeof(*p)))) LOG_ERR(lc,, "failed to allocate pointer array"); /* Add private pointer to list. */ if (rd->private.ptr) p[idx++] = rd->private.ptr; /* Add metadata area pointers to list. */ for (area = 0; area < rd->areas; area++) { /* Handle multiple pointers to the same memory. */ for (i = 0; i < idx; i++) { if (p[i] == rd->meta_areas[area].area) break; } if (i == idx) p[idx++] = rd->meta_areas[area].area; } if (rd->meta_areas) dbg_free(rd->meta_areas); /* Free all RAID device pointers. */ while (idx--) dbg_free(p[idx]); dbg_free(p); } /* Allocate dev_info struct and keep the device path */ struct dev_info * alloc_dev_info(struct lib_context *lc, char *path) { struct dev_info *di; if ((di = dbg_malloc(sizeof(*di)))) { if ((di->path = dbg_strdup(path))) INIT_LIST_HEAD(&di->list); else { dbg_free(di); di = NULL; log_alloc_err(lc, __func__); } } return di; } /* Free dev_info structure */ static void _free_dev_info(struct lib_context *lc, struct dev_info *di) { if (di->serial) dbg_free(di->serial); dbg_free(di->path); dbg_free(di); } static inline void _free_dev_infos(struct lib_context *lc) { struct list_head *elem, *tmp; list_for_each_safe(elem, tmp, LC_DI(lc)) { if (!elem) printf("NULL pointer\n"); list_del(elem); _free_dev_info(lc, list_entry(elem, struct dev_info, list)); } } /* * Free dev_info structure or all registered * dev_info structures in case di = NULL. */ void free_dev_info(struct lib_context *lc, struct dev_info *di) { di ? _free_dev_info(lc, di) : _free_dev_infos(lc); } /* Allocate/Free RAID device (member of a RAID set). */ struct raid_dev * alloc_raid_dev(struct lib_context *lc, const char *who) { struct raid_dev *ret; if ((ret = dbg_malloc(sizeof(*ret)))) { INIT_LIST_HEAD(&ret->list); INIT_LIST_HEAD(&ret->devs); ret->status = s_setup; } else log_alloc_err(lc, who); return ret; } static void _free_raid_dev(struct lib_context *lc, struct raid_dev **rd) { struct raid_dev *r = *rd; /* Remove if on global list. */ if (!list_empty(&r->list)) list_del(&r->list); /* * Create list of memory pointers allocated by * the metadata format handler and free them. */ _free_dev_pointers(lc, r); if (r->name) dbg_free(r->name); dbg_free(r); *rd = NULL; } static inline void _free_raid_devs(struct lib_context *lc) { struct list_head *elem, *tmp; struct raid_dev *rd; list_for_each_safe(elem, tmp, LC_RD(lc)) { rd = list_entry(elem, struct raid_dev, list); _free_raid_dev(lc, &rd); } } /* Free RAID device structure or all registered RAID devices if rd == NULL. */ void free_raid_dev(struct lib_context *lc, struct raid_dev **rd) { rd ? _free_raid_dev(lc, rd) : _free_raid_devs(lc); } /* Allocate/Free RAID set. */ struct raid_set * alloc_raid_set(struct lib_context *lc, const char *who) { struct raid_set *ret; if ((ret = dbg_malloc(sizeof(*ret)))) { INIT_LIST_HEAD(&ret->list); INIT_LIST_HEAD(&ret->sets); INIT_LIST_HEAD(&ret->devs); ret->status = s_setup; ret->type = t_undef; } else log_alloc_err(lc, who); return ret; } /* Free a single RAID set structure and its RAID devices. */ static void _free_raid_set(struct lib_context *lc, struct raid_set *rs) { struct raid_dev *rd; struct list_head *elem, *tmp; log_dbg(lc, "freeing devices of RAID set \"%s\"", rs->name); list_for_each_safe(elem, tmp, &rs->devs) { list_del(elem); rd = RD(elem); log_dbg(lc, "freeing device \"%s\", path \"%s\"", rd->name, (rd->di) ? rd->di->path : "?"); /* FIXME: remove partition code in favour of kpartx ? */ /* * Special case for partitioned sets. * * We don't hook dev_info structures for partitioned * sets up the global list, so delete them here. */ if (partitioned_set(lc, rs)) free_dev_info(lc, rd->di); /* * We don't hook raid_dev structures for GROUP * sets up the global list, so delete them here. */ if (list_empty(&rd->list)) free_raid_dev(lc, &rd); } list_del(&rs->list); dbg_free(rs->name); dbg_free(rs); } /* Remove a set or all sets (in case rs = NULL) recursively. */ void free_raid_set(struct lib_context *lc, struct raid_set *rs) { struct list_head *elem, *tmp; list_for_each_safe(elem, tmp, rs ? &rs->sets : LC_RS(lc)) free_raid_set(lc, RS(elem)); if (rs) _free_raid_set(lc, rs); else if (!list_empty(LC_RS(lc))) log_fatal(lc, "lib context RAID set list not empty"); } /* Return != 0 in case of a partitioned RAID set type. */ int partitioned_set(struct lib_context *lc, void *rs) { return T_PARTITION((struct raid_set *) rs); } /* Return != 0 in case of a partitioned base RAID set. */ int base_partitioned_set(struct lib_context *lc, void *rs) { return ((struct raid_set *) rs)->flags & f_partitions; } /* Return RAID set name. */ const char * get_set_name(struct lib_context *lc, void *rs) { return ((struct raid_set *) rs)->name; } /* * Find RAID set by name. * * Search top level RAID set list only if where = FIND_TOP. * Recursive if where = FIND_ALL. */ static struct raid_set * _find_set(struct lib_context *lc, struct list_head *list, const char *name, enum find where) { struct raid_set *r, *ret = NULL; log_dbg(lc, "%s: searching %s", __func__, name); list_for_each_entry(r, list, list) { if (!strcmp(r->name, name)) { ret = r; goto out; } } if (where == FIND_ALL) { list_for_each_entry(r, list, list) { if ((ret = _find_set(lc, &r->sets, name, where))) break; } } out: log_dbg(lc, "_find_set: %sfound %s", ret ? "" : "not ", name); return ret; } struct raid_set * find_set(struct lib_context *lc, struct list_head *list, const char *name, enum find where) { return _find_set(lc, list ? list : LC_RS(lc), name, where); } static int set_sort(struct list_head *pos, struct list_head *new); static int set_sort(struct list_head *pos, struct list_head *new) { struct raid_set *new_rs = list_entry(new, struct raid_set, list); struct raid_set *pos_rs = list_entry(pos, struct raid_set, list); if ((new_rs->name) && (pos_rs->name)) return (strcmp(new_rs->name, pos_rs->name) < 0); else return -1; } struct raid_set * find_or_alloc_raid_set(struct lib_context *lc, char *name, enum find where, struct raid_dev *rd, struct list_head *list, void (*f_create) (struct raid_set * super, void *private), void *private) { struct raid_set *rs; if ((rs = find_set(lc, NULL, name, where))) goto out; if (!(rs = alloc_raid_set(lc, __func__))) goto out; if (!(rs->name = dbg_strdup(name))) goto err; rs->type = rd ? rd->type : t_undef; /* If caller hands a list in, add to it. */ if (list) list_add_sorted(lc, list, &rs->list, set_sort); /* Call any create callback. */ if (f_create) f_create(rs, private); out: return rs; err: dbg_free(rs); log_alloc_err(lc, __func__); return NULL; } /* Return # of RAID sets build */ unsigned int count_sets(struct lib_context *lc, struct list_head *list) { int ret = 0; struct list_head *elem; list_for_each(elem, list) ret++; return ret; } /* * Count devices found */ static unsigned int _count_devices(struct lib_context *lc, enum dev_type type) { unsigned int ret = 0; struct list_head *elem, *list; if (DEVICE & type) list = LC_DI(lc); else if (((RAID | NATIVE) & type)) list = LC_RD(lc); else return 0; list_for_each(elem, list) ret++; return ret; } unsigned int count_devices(struct lib_context *lc, enum dev_type type) { return type == SET ? count_sets(lc, LC_RS(lc)) : _count_devices(lc, type); } /* * Read RAID metadata off a device by trying * all/selected registered format handlers in turn. */ static int _want_format(struct dmraid_format *fmt, const char *format, enum fmt_type type) { return fmt->format != type || (format && strncmp(format, fmt->name, strlen(format))) ? 0 : 1; } static struct raid_dev * _dmraid_read(struct lib_context *lc, struct dev_info *di, struct dmraid_format *fmt) { struct raid_dev *rd; log_notice(lc, "%s: %-7s discovering", di->path, fmt->name); if ((rd = fmt->read(lc, di))) { log_notice(lc, "%s: %s metadata discovered", di->path, fmt->name); rd->fmt = fmt; } return rd; } static struct raid_dev * dmraid_read(struct lib_context *lc, struct dev_info *di, char const *format, enum fmt_type type) { struct format_list *fl; struct raid_dev *rd = NULL, *rd_tmp; /* FIXME: dropping multiple formats ? */ list_for_each_entry(fl, LC_FMT(lc), list) { if (_want_format(fl->fmt, format, type) && (rd_tmp = _dmraid_read(lc, di, fl->fmt))) { if (rd) { log_print(lc, "%s: \"%s\" and \"%s\" formats " "discovered (using %s)!", di->path, rd_tmp->fmt->name, rd->fmt->name, rd->fmt->name); free_raid_dev(lc, &rd_tmp); } else rd = rd_tmp; } } return rd; } /* * Write RAID metadata to a device. */ int write_dev(struct lib_context *lc, struct raid_dev *rd, int erase) { int ret = 0; struct dmraid_format *fmt = rd->fmt; if (fmt->write) { log_notice(lc, "%sing metadata %s %s", erase ? "Eras" : "Writ", erase ? "on" : "to", rd->di->path); ret = fmt->write(lc, rd, erase); } else log_err(lc, "format \"%s\" doesn't support writing metadata", fmt->name); return ret; } /* * Group RAID device into a RAID set. */ static inline struct raid_set * dmraid_group(struct lib_context *lc, struct raid_dev *rd) { return rd->fmt->group(lc, rd); } /* Check that device names are members of the devices list. */ static int _want_device(struct dev_info *di, char **devices) { char **dev; if (!devices || !*devices) return 1; for (dev = devices; *dev; dev++) { if (!strcmp(*dev, di->path)) return 1; } return 0; } /* Discover RAID devices that are spares */ void discover_raid_devices_spares(struct lib_context *lc, const char *format) { struct dev_info *di; /* Walk the list of discovered block devices. */ list_for_each_entry(di, LC_DI(lc), list) { struct raid_dev *rd; if ((rd = dmraid_read(lc, di, format, FMT_RAID))) { /* FIXME: */ /*if (T_SPARE(rd)) */ list_add_tail(&rd->list, LC_RD(lc)); } } } /* Discover RAID devices. */ void discover_raid_devices(struct lib_context *lc, char **devices) { struct dev_info *di; char *names = NULL; const char delim = *OPT_STR_SEPARATOR(lc); /* In case we've got format identifiers -> duplicate string for loop. */ if (OPT_FORMAT(lc) && (!(names = dbg_strdup((char *) OPT_STR_FORMAT(lc))))) { log_alloc_err(lc, __func__); return; } /* Walk the list of discovered block devices. */ list_for_each_entry(di, LC_DI(lc), list) { if (_want_device(di, devices)) { char *p, *sep = names; struct raid_dev *rd; do { p = sep; sep = remove_delimiter(sep, delim); if ((rd = dmraid_read(lc, di, p, FMT_RAID))) list_add_tail(&rd->list, LC_RD(lc)); add_delimiter(&sep, delim); } while (sep); } } if (names) dbg_free(names); } /* * Discover partitions on RAID sets. * * FIXME: remove partition code in favour of kpartx ? */ static void _discover_partitions(struct lib_context *lc, struct list_head *rs_list) { char *path; struct dev_info *di; struct raid_dev *rd; struct raid_set *rs, *r; list_for_each_entry(rs, rs_list, list) { /* * t_group type RAID sets are never active! * (They are containers for subsets to activate) * * Recurse into them. */ if (T_GROUP(rs)) { _discover_partitions(lc, &rs->sets); return; } /* * Skip all "container" sets, which are not active. */ if (base_partitioned_set(lc, rs) || partitioned_set(lc, rs) || !dm_status(lc, rs)) continue; log_notice(lc, "discovering partitions on \"%s\"", rs->name); if (!(path = mkdm_path(lc, rs->name))) return; /* Allocate a temporary disk info struct for dmraid_read(). */ di = alloc_dev_info(lc, path); dbg_free(path); if (!di) return; di->sectors = total_sectors(lc, rs); if (!(rd = dmraid_read(lc, di, NULL, FMT_PARTITION))) { free_dev_info(lc, di); continue; } /* * WARNING: partition group function returns * a dummy pointer because of the creation of multiple * RAID sets (one per partition) it does. * * We don't want to access that 'pointer'! */ if ((r = dmraid_group(lc, rd))) { log_notice(lc, "created partitioned RAID set(s) for %s", di->path); rs->flags |= f_partitions; } else log_err(lc, "adding %s to RAID set", di->path); /* * Free the RD. We don't need it any more, because we * don't support writing partition tables. */ free_dev_info(lc, di); free_raid_dev(lc, &rd); } } void discover_partitions(struct lib_context *lc) { _discover_partitions(lc, LC_RS(lc)); } /* * Group RAID set(s) * * name = NULL : build all sets * name = String: build just the one set */ static void want_set(struct lib_context *lc, struct raid_set *rs, char *name) { struct raid_set *rs_sub, *rs_n; if (rs->type == t_group) { list_for_each_entry_safe(rs_sub, rs_n, &rs->sets, list) want_set(lc, rs_sub, name); if (list_empty(&rs->sets)) free_raid_set(lc, rs); } else if (name) { size_t len1 = strlen(rs->name), len2 = strlen(name); if (len2 != len1 || strncmp(rs->name, name, min(len1, len2))) { struct dmraid_format *fmt = get_format(rs); log_notice(lc, "dropping unwanted RAID set \"%s\"", rs->name); /* * ddf1 carries a private pointer to it's contianing * set which is cleared as part of the check. So we * must call it's check method before freeing the * set. Whats more, it looks like ddf1 check can * only be called once, yoweee !!!! */ if (fmt) fmt->check(lc, rs); free_raid_set(lc, rs); } } } /* Get format handler of RAID set. */ struct dmraid_format * get_format(struct raid_set *rs) { /* Decend RAID set hierarchy. */ while (SETS(rs)) rs = RS_RS(rs); return DEVS(rs) ? (RD_RS(rs))->fmt : NULL; } /* Find the set associated with a device */ struct raid_set * get_raid_set(struct lib_context *lc, struct raid_dev *dev) { struct raid_set *rs = NULL, *sub_rs = NULL; struct raid_dev *rd = NULL; list_for_each_entry(rs, LC_RS(lc), list) { list_for_each_entry(rd, &rs->devs, devs) if (dev == rd) return rs; if (T_GROUP(rs)) { list_for_each_entry(sub_rs, &rs->sets, list) { list_for_each_entry(rd, &rs->devs, devs) if (dev == rd) return rs; } } } return NULL; } /* Check metadata consistency of RAID sets. */ static void check_raid_sets(struct lib_context *lc) { struct list_head *elem, *tmp; struct raid_set *rs; struct dmraid_format *fmt; list_for_each_safe(elem, tmp, LC_RS(lc)) { /* Some metadata format handlers may not have a check method. */ if (!(fmt = get_format((rs = RS(elem))))) continue; if (!fmt->check(lc, rs)) { /* * FIXME: check needed if degraded activation * is sensible. */ if (T_RAID1(rs)) log_err(lc, "keeping degraded mirror " "set \"%s\"", rs->name); else { log_err(lc, "removing inconsistent RAID " "set \"%s\"", rs->name); free_raid_set(lc, rs); } } } return; } /* Build RAID sets from devices on global RD list. */ static int build_set(struct lib_context *lc, char *name) { struct raid_dev *rd; struct raid_set *rs; struct list_head *elem, *tmp; if (name && find_set(lc, NULL, name, FIND_TOP)) LOG_ERR(lc, 0, "RAID set %s already exists", name); list_for_each_safe(elem, tmp, LC_RD(lc)) { rd = list_entry(elem, struct raid_dev, list); /* FIXME: optimize dropping of unwanted RAID sets. */ if ((rs = dmraid_group(lc, rd))) { log_notice(lc, "added %s to RAID set \"%s\"", rd->di->path, rs->name); want_set(lc, rs, name); continue; } if (!T_SPARE(rd)) log_err(lc, "adding %s to RAID set \"%s\"", rd->di->path, rd->name); /* Need to find the set and remove it. */ if ((rs = find_set(lc, NULL, rd->name, FIND_ALL))) { log_err(lc, "removing RAID set \"%s\"", rs->name); free_raid_set(lc, rs); } } /* Check sanity of grouped RAID sets. */ check_raid_sets(lc); return 1; } struct raid_set_descr { char *name; uint64_t size; char *raid_level; uint64_t stripe_size; char *disks; //uint8_t num_disks; //struct list_head *disks; }; /* RAID set creation options. */ static struct option rs_lopts[] = { { "size", required_argument, NULL, 's'}, { "type", required_argument, NULL, 'r'}, { "str", required_argument, NULL, 't'}, { "stri", required_argument, NULL, 't'}, { "strip", required_argument, NULL, 't'}, { "strid", required_argument, NULL, 't'}, { "disk", required_argument, NULL, 'd'}, { "disks", required_argument, NULL, 'd'}, { NULL, no_argument, NULL, 0}, }; #define RAIDLEVEL_INVALID 0xff #define MAX_STACK 16 static enum type check_raid_level(char *raidlevel) { int len, i; if (raidlevel == NULL) return t_undef; for (i = 0, len = strlen(raidlevel); i < len; i++) { if (!isdigit(raidlevel[i])) return t_undef; } if (i > MAX_STACK) return t_undef; return t_raid0; } static int check_size(char *size) { int c; size_t len; char *pEnd; if (!size) return 0; len = strlen(size); strtod(size, &pEnd); /* No unit. */ if (size + len == pEnd) return 1; /* Check units. */ c = tolower(size[len - 1]); if (c == 'b') len--; c = tolower(size[len - 1]); if (c == 'k' || c == 'm' || c == 'g') len--; return size + len == pEnd ? 1 : 0; } /* * The unit of a raid size can be byte(b) or block(B)(512 bytes) * k=1024 and m=1024*1024 or g=1024*1024*1024. * * Return size in byte */ static uint64_t get_raid_size(char *rsp) { char *pEnd, *pSizeUnit; double dRsp; uint64_t mul = 1; if ((dRsp = strtod(rsp, &pEnd)) <= 0) dRsp = 0; if ((pSizeUnit = strpbrk(pEnd, "kKmMgG"))) { switch (tolower(*pSizeUnit)) { case 'g': mul *= 1024; case 'm': mul *= 1024; case 'k': mul *= 1024; } } if ((pSizeUnit = strpbrk(pEnd, "bB"))) { if (*pSizeUnit == 'B') mul *= 512; } return (uint64_t) (dRsp * mul); } /* Parse RAID set creation arguments. */ int parse_rs_args(struct lib_context *lc, char **argv, struct raid_set_descr *rsd) { int o, n, opt_idx; optind = 0; rsd->raid_level = NULL; rsd->size = 0; rsd->stripe_size = 0; rsd->disks = NULL; /* set rsd structure for spare disk set */ if (OPT_HOT_SPARE_SET(lc)) { rsd->name = (char *) OPT_STR_HOT_SPARE_SET(lc); rsd->raid_level = (char *) SPARE_TYPE_STRING; rsd->disks = (char *) OPT_STR_REBUILD_DISK(lc); } else { if (!argv[0] || !*argv[0]) LOG_ERR(lc, 0, "failed to provide a valid RAID set name"); /* Handle the case -Cname. */ rsd->name = strstr(argv[0], "-C") ? argv[0] + 2 : argv[0]; for (n = 0; *(argv + n); n++); if (n < 4) LOG_ERR(lc, 0, "too few arguments"); while ((o = getopt_long(n, argv, ":", rs_lopts, &opt_idx)) != -1) { switch (o) { case 's': if (!check_size(optarg)) LOG_ERR(lc, 0, "failed to config size"); if (!rsd->size) rsd->size = get_raid_size(optarg); break; case 'r': if (!rsd->raid_level) rsd->raid_level = optarg; break; case 't': if (!check_size(optarg)) LOG_ERR(lc, 0, "failed to config stripe"); if (!rsd->stripe_size) rsd->stripe_size = get_raid_size(optarg); break; case 'd': if (!rsd->disks) rsd->disks = optarg; break; case '?': LOG_ERR(lc, 0, "unknown option"); } } } return 1; } struct dev_info * find_disk(struct lib_context *lc, char *dp) { struct dev_info *di; if ((dp == NULL) || (*dp == '\0')) LOG_ERR(lc, 0, "failed to provide an array of disks"); list_for_each_entry(di, LC_DI(lc), list) { if (!strcmp(di->path, dp)) return di; } return NULL; } static struct dmraid_format * find_format(struct lib_context *lc, const char *cp) { struct format_list *fl; if (cp == NULL) LOG_ERR(lc, 0, "format handler string is NULL"); list_for_each_entry(fl, LC_FMT(lc), list) { if (!(strcmp(fl->fmt->name, cp))) return fl->fmt; } return NULL; } /* * Remove the first digit and return a raid type according to the * value of the first digit. */ static enum type get_raid_level(char **rl) { char c; struct raid_type { char c; enum type level; }; static struct raid_type rts[] = { { '0', t_raid0 }, { '1', t_raid1 }, { '4', t_raid4 }, { '5', t_raid5_la }, /* FIXME: other RAID5 algorithms? */ { '6', t_raid6 }, { '8', t_spare }, /* FIXME: Intel abuse of raid char. */ }; struct raid_type *rt = ARRAY_END(rts); if (rl && *rl) { c = **rl; (*rl)++; while (rt-- > rts) { if (rt->c == c) return rt->level; } } return t_undef; } #define MAX_NAME_LEN 15 static int check_rsd(struct lib_context *lc, struct raid_set_descr *rsd) { uint16_t i, len; if (!find_format(lc, OPT_STR_FORMAT(lc))) LOG_ERR(lc, 0, "unknown format type: %s", lc->options[LC_FORMAT].arg.str); if (check_raid_level(rsd->raid_level) == t_undef) LOG_ERR(lc, 0, "failed to provide a valid RAID type"); /* do not check name set, if it is spare set without name */ if (!((rsd->name == NULL) && !(strcmp(rsd->raid_level, SPARE_TYPE_STRING)))) { if ((len = strlen(rsd->name)) > MAX_NAME_LEN) LOG_ERR(lc, 0, "name %s is longer than %d chars", rsd->name, MAX_NAME_LEN); if (len == 0) LOG_ERR(lc, 0, "no RAID set name provided"); else if (!isalnum(rsd->name[0])) LOG_ERR(lc, 0, "first character of a name must " "be an alphanumeric charater"); for (i = 1; i < len; i++) { if ((!isalnum(rsd->name[i])) && (rsd->name[i] != '_') && (rsd->name[i] != '-')) LOG_ERR(lc, 0, "name %s has non-alphanumeric " "characters", rsd->name); } } if ((rsd->disks == NULL) || (*(rsd->disks) == 0)) LOG_ERR(lc, 0, "no hard drives specified"); return 1; } static void free_raidset(struct lib_context *lc, struct raid_set *rs) { struct raid_set *rs1; if (SETS(rs)) { rs1 = list_entry(rs->sets.next, struct raid_set, list); free_raidset(lc, rs1); } if (rs) _free_raid_set(lc, rs); } struct raid_dev * find_raiddev(struct lib_context *lc, struct raid_set *rs, struct dev_info *di) { struct raid_dev *rd; if (di == NULL) LOG_ERR(lc, 0, "failed to provide dev info"); list_for_each_entry(rd, &rs->devs, devs) { if (rd->di == di) return rd; } return NULL; } struct raid_set * create_raidset(struct lib_context *lc, struct raid_set_descr *rsd) { struct raid_set *rs, *rs_sub, *rs_tmp; struct dev_info *di; struct raid_dev *rd; struct dmraid_format *fmt; enum type rt; int n = 0; char *start, *end; if (!check_rsd(lc, rsd)) return NULL; if (!(rs = alloc_raid_set(lc, __func__))) return NULL; /* case if it is spare disk set without name */ if (!rsd->name && !(strcmp(rsd->raid_level, SPARE_TYPE_STRING))) { rs->name = NULL; } else { if (!(rs->name = dbg_strdup(rsd->name))) goto err; } /* the format type has been checked by check_rsd */ fmt = find_format(lc, OPT_STR_FORMAT(lc)); /* * The raid level has been checked at the function check_rsd. * Use get_raid_level to remove the first digit from the string. */ rt = get_raid_level(&rsd->raid_level); if (rsd->size) rs->size = (rsd->size - 1) / 512 + 1; if (rsd->stripe_size) rs->stride = (rsd->stripe_size - 1) / 512 + 1; rs->type = rt; rs->flags = 0; rs->status = s_init; end = rsd->disks; replace_delimiter(end, ',', ' '); remove_tail_space(end); do { start = end; /* skip space */ for (; *start == ' '; start++); end = remove_delimiter(start, ' '); if (!(di = find_disk(lc, start))) { log_err(lc, "failed to find disk %s", start); goto err; } /* check if device is not duplicated on the raid dev list */ if (find_raiddev(lc, rs, di)) { log_err(lc, "disk %s is duplicated on the disk list", di->path); goto err; } if (!(rd = alloc_raid_dev(lc, __func__))) { log_err(lc, "failed to allocate space for a raid_dev"); goto err; } rd->name = NULL; rd->di = di; rd->fmt = fmt; rd->status = s_init; rd->type = t_undef; rd->offset = 0; rd->sectors = 0; list_add_tail(&rd->devs, &rs->devs); n++; } while (end++ != '\0'); rs->total_devs = rs->found_devs = n; rs_tmp = rs; /* * If there is a stacked RAID set, all sub sets are * created and only the type is required to set */ while (*rsd->raid_level) { if ((!(rt = get_raid_level(&rsd->raid_level))) || !(rs_sub = alloc_raid_set(lc, __func__))) goto err; rs_sub->type = rt; list_add_tail(&rs_sub->list, &rs_tmp->sets); rs_tmp = rs_sub; } return rs; err: free_raidset(lc, rs); return NULL; } int rebuild_config_raidset(struct lib_context *lc, struct raid_set *rs) { struct raid_dev *rd; struct raid_set *rs1 = NULL; struct list_head *elem, *tmp; struct dmraid_format *fmt; int ret = 0; if (!(fmt = (RD_RS(rs)->fmt))) return 0; if (!(fmt->create)) LOG_ERR(lc, 0, "metadata creation isn't supported in \"%s\" format", fmt->name); if ((ret = fmt->create(lc, rs)) && (printf("no write_set\n"), 1)) { /* (ret=write_set(lc, rs)) */ /* free rebuilded RAID set and then reconstr */ free_raid_set(lc, rs); list_for_each_safe(elem, tmp, LC_RD(lc)) { //list_del(elem); rd = RD(elem); rd->status = s_ok; if (!(rs1 = dmraid_group(lc, rd))) LOG_ERR(lc, 0, "failed to build the created RAID set"); want_set(lc, rs1, rs->name); } if (rs1) fmt->check(lc, rs1); } return 1; } static int config_raidset(struct lib_context *lc, struct raid_set *rs) { struct raid_dev *rd; struct raid_set *rs1 = NULL; struct list_head *elem, *tmp; struct dmraid_format *fmt; int ret = 0; if (!(fmt = RD_RS(rs)->fmt)) return 0; if (!fmt->create) LOG_ERR(lc, 0, "metadata creation isn't supported in \"%s\" format", fmt->name); if ((ret = fmt->create(lc, rs)) && (ret = write_set(lc, rs))) { free_raid_set(lc, NULL); list_for_each_safe(elem, tmp, &rs->devs) { list_del(elem); rd = RD(elem); rd->status = s_ok; if (!(rs1 = dmraid_group(lc, rd))) LOG_ERR(lc, 0, "failed to build the created RAID set"); want_set(lc, rs1, rs->name); } if (rs1) fmt->check(lc, rs1); } free_raidset(lc, rs); return ret; } int group_set(struct lib_context *lc, char **argv) { char **sets = argv; int i = 0; struct raid_set_descr rsd; struct raid_set *rs; /* This is valid if name of RAID set is required. */ if (!OPT_HOT_SPARE_SET(lc) && !OPT_STR_HOT_SPARE_SET(lc)) { if (!build_set(lc, sets[i])) LOG_ERR(lc, 0, "failed to build a RAID set"); /* The required RAID set is found. */ if (!list_empty(LC_RS(lc))) return 1; /* There is no way for add spare disk to RAID set. */ if (!OPT_FORMAT(lc) && OPT_REBUILD_DISK(lc) && OPT_HOT_SPARE_SET(lc)) return 0; /* * Since there are several arguments required for * creating a RAID set, we know that the intented command is to list all RAID sets. */ if (!sets[0]) LOG_ERR(lc, 0, "no RAID set found"); } /* This is not argument for creating spare RAID set. */ if (!OPT_HOT_SPARE_SET(lc)) { /* * Make sure we have min arguments for creating a RAID set: * a name and an option. */ if (!sets[1]) LOG_ERR(lc, 0, "either the required RAID set not " "found or more options required"); if (sets[1][0] != '-') LOG_ERR(lc, 0, "only one argument allowed for this option"); } if (!parse_rs_args(lc, argv, &rsd)) return 0; if (!build_set(lc, NULL)) LOG_ERR(lc, 0, "failed to get the existing RAID set info"); if (!(rs = create_raidset(lc, &rsd))) return 0; return config_raidset(lc, rs); } /* Process function on RAID set(s) */ static void process_set(struct lib_context *lc, void *rs, int (*func) (struct lib_context * lc, void *rs, int arg), int arg) { if (!partitioned_set(lc, rs)) func(lc, rs, arg); } /* FIXME: remove partition code in favour of kpartx ? */ static void process_partitioned_set(struct lib_context *lc, void *rs, int (*func) (struct lib_context * lc, void *rs, int arg), int arg) { if (partitioned_set(lc, rs) && !base_partitioned_set(lc, rs)) func(lc, rs, arg); } void process_sets(struct lib_context *lc, int (*func) (struct lib_context * lc, void *rs, int arg), int arg, enum set_type type) { struct raid_set *rs; void (*p) (struct lib_context * l, void *r, int (*f) (struct lib_context * lc, void *rs, int arg), int a) = (type == PARTITIONS) ? process_partitioned_set : process_set; list_for_each_entry(rs, LC_RS(lc), list) p(lc, rs, func, arg); } /* Write RAID set metadata to devices. */ int write_set(struct lib_context *lc, void *v) { int ret = 1; struct raid_set *r, *rs = v; struct raid_dev *rd; /* Decend hierarchy */ list_for_each_entry(r, &rs->sets, list) { /* * FIXME: does it make sense to try the rest of the subset * in case we fail writing one ? */ if (!write_set(lc, (void *) r)) log_err(lc, "writing RAID subset \"%s\", continuing", r->name); } /* Write metadata to the RAID devices of a set. */ list_for_each_entry(rd, &rs->devs, devs) { /* * FIXME: does it make sense to try the rest of the * devices in case we fail writing one ? */ if (!write_dev(lc, rd, 0)) { log_err(lc, "writing RAID device \"%s\", continuing", rd->di->path); ret = 0; } } return ret; } /* Erase ondisk metadata. */ int erase_metadata(struct lib_context *lc) { int ret = 1; struct raid_dev *rd; list_for_each_entry(rd, LC_RD(lc), list) { if (yes_no_prompt(lc, "Do you really want to erase \"%s\" " "ondisk metadata on %s", rd->fmt->name, rd->di->path) && !write_dev(lc, rd, 1)) { log_err(lc, "erasing ondisk metadata on %s", rd->di->path); ret = 0; } } return ret; } /* * Support function for metadata format handlers: * * Return neutralized RAID type for given mapping array (linear, raid0, ...) */ enum type rd_type(struct types *t, unsigned int type) { for (; t->unified_type != t_undef && t->type != type; t++); return t->unified_type; } /* * Support function for metadata format handlers: * * Return neutralized RAID status for given metadata status */ enum status rd_status(struct states *s, unsigned int status, enum compare cmp) { for (; s->status && (cmp == AND ? !(s->status & status) : (s->status != status)); s++); return s->unified_status; } /* * Support function for metadata format handlers. * * Sort an element into a list by optionally * using a metadata format handler helper function. */ void list_add_sorted(struct lib_context *lc, struct list_head *to, struct list_head *new, int (*f_sort) (struct list_head * pos, struct list_head * new)) { struct list_head *pos; list_for_each(pos, to) { /* * Add in at the beginning of the list * (ie., after HEAD or the first entry we found), * or where the metadata format handler sort * function tells us to. */ if (!f_sort || f_sort(pos, new)) break; } /* * If we get here we either had an empty list or the sort * function hit or not -> add where pos tells us to. */ list_add_tail(new, pos); } /* * Support function for format handlers: * * File RAID metadata and offset on device for analysis. */ /* FIXME: all files into one directory ? */ static size_t __name(struct lib_context *lc, char *str, size_t len, const char *path, const char *suffix) { return snprintf(str, len, "%s.%s", get_basename(lc, (char *) path), suffix) + 1; } static char * _name(struct lib_context *lc, const char *path, const char *suffix) { size_t len; char *ret; if ((ret = dbg_malloc((len = __name(lc, NULL, 0, path, suffix))))) __name(lc, ret, len, path, suffix); else log_alloc_err(lc, __func__); return ret; } static int file_data(struct lib_context *lc, const char *handler, char *path, void *data, size_t size) { int ret = 0; char *name; if ((name = _name(lc, path, "dat"))) { log_notice(lc, "writing metadata file \"%s\"", name); ret = write_file(lc, handler, name, data, size, 0); dbg_free(name); } return ret; } static void file_number(struct lib_context *lc, const char *handler, char *path, uint64_t number, const char *suffix) { char *name, s_number[32]; if ((name = _name(lc, path, suffix))) { log_notice(lc, "writing %s to file \"%s\"", suffix, name); write_file(lc, handler, name, (void *) s_number, snprintf(s_number, sizeof(s_number), "%" PRIu64 "\n", number), 0); dbg_free(name); } } static int _chdir(struct lib_context *lc, const char *dir) { if (chdir(dir)) { log_err(lc, "changing directory to %s", dir); return -EFAULT; } return 0; } static char * _dir(struct lib_context *lc, const char *handler) { char *dir = _name(lc, lc->cmd, handler); if (!dir) { log_err(lc, "allocating directory name for %s", handler); return NULL; } if (!mk_dir(lc, dir)) goto out; if (!_chdir(lc, dir)) return dir; out: dbg_free(dir); return NULL; } /* * File vendor RAID metadata. */ void file_metadata(struct lib_context *lc, const char *handler, char *path, void *data, size_t size, uint64_t offset) { if (OPT_DUMP(lc)) { char *dir = _dir(lc, handler); if (dir) dbg_free(dir); else return; if (file_data(lc, handler, path, data, size)) file_number(lc, handler, path, offset, "offset"); _chdir(lc, ".."); } } /* * File RAID device size. */ void file_dev_size(struct lib_context *lc, const char *handler, struct dev_info *di) { if (OPT_DUMP(lc)) { char *dir = _dir(lc, handler); if (dir) dbg_free(dir); else return; file_number(lc, handler, di->path, di->sectors, "size"); _chdir(lc, ".."); } } /* Delete RAID set(s) */ int delete_raidsets(struct lib_context *lc) { struct raid_set *rs, *rs1; struct raid_dev *rd; int n = 0, status; if (list_empty(&(lc->lists[LC_RAID_SETS]))) LOG_ERR(lc, 0, "Cannot find a RAID set to delete"); list_for_each_entry(rs, LC_RS(lc), list) { if (!(rd = list_entry(rs->devs.next, struct raid_dev, devs))) LOG_ERR(lc, 0, "Failed to locate the raid device"); if (rs->type == t_group) { list_for_each_entry(rs1, &rs->sets, list) { status = dm_status(lc, rs1); if (status == 1) LOG_ERR(lc, 0, "%s is active and cannot " "be deleted", rs1->name); n++; } if (n > 1) { printf("\nAbout to delete the raid super-set " "\"%s\" with the following RAID sets\n", rs->name); list_for_each_entry(rs1, &rs->sets, list) printf("%s\n", rs1->name); } else if (n == 1) { rs1 = list_entry(rs->sets.next, struct raid_set, list); printf("\nAbout to delete RAID set %s\n", rs1->name); } else LOG_ERR(lc, 0, "coding error"); } else printf("\nAbout to delete RAID set %s\n", rs->name); printf("\nWARNING: The metadata stored on the raidset(s) " "will not be accessible after deletion\n"); if (!yes_no_prompt(lc, "Do you want to continue")) return 0; if (!rd->fmt->delete) LOG_ERR(lc, 0, "Raid set deletion is not supported in \"%s\" format", rd->fmt->name); rd->fmt->delete(lc, rs); } return 1; } struct raid_set *find_set_inconsistent(struct lib_context *lc, struct raid_set *rs); struct raid_dev *find_spare(struct lib_context *lc, struct raid_set *rs2rebuild, struct raid_set **spareRs); struct raid_set * find_set_inconsistent(struct lib_context *lc, struct raid_set *rs) { struct raid_set *r, *rsb; list_for_each_entry(r, &rs->sets, list) { if (T_GROUP(r) && !(rsb = find_set_inconsistent(lc, r))) return rsb; } return (DEVS(rs) && (S_BROKEN(rs->status) || S_INCONSISTENT(rs->status))) ? rs : NULL; } /* * Search for spare drive that can be used to fix given rs. * * Returns spare raid_dev and its spare RAID set. * Based on format configuration searches: * localy (in RAID set that shall be fixed) * globaly (any spare drive that can be used to fix rs) */ struct raid_dev * find_spare(struct lib_context *lc, struct raid_set *rs, struct raid_set **spare_rs) { struct raid_dev *closest = NULL, *spare_rd, *rd = NULL; struct raid_set *rs_failed = NULL, *tmp_spare_rs = NULL; struct dmraid_format *fmt = get_format(rs); /* Find rd that will be evaluated for replacement. */ /* Search the spare sets for eligible disk. */ if (!(rs_failed = find_set_inconsistent(lc, rs)) || !(rd = RD_RS(rs_failed))) LOG_PRINT(lc, NULL, "no failed subsets or no device in subset found"); /* Local search - based on fmt. */ if (fmt->scope & t_scope_local) { struct raid_set *group_rs = find_group(lc, rs); if (!group_rs) return NULL; list_for_each_entry(tmp_spare_rs, &group_rs->sets, list) { if (DEVS(tmp_spare_rs) && T_SPARE(tmp_spare_rs)) { list_for_each_entry(spare_rd, &tmp_spare_rs->devs, devs) { /* Simple check of size */ if (spare_rd->di->sectors >= rd->di->sectors && (!closest || spare_rd->di->sectors < closest->di->sectors)) { if (spare_rd->di->sectors == rd->di->sectors) { /* Match */ closest = spare_rd; break; } closest = spare_rd; } } } } } /* Global search - based on fmt */ if ((fmt->scope & t_scope_global) && !closest) { struct raid_set *group_rs; list_for_each_entry(group_rs, LC_RS(lc), list) { if (T_GROUP(group_rs) && (get_format(group_rs) == fmt)) { list_for_each_entry(tmp_spare_rs, &group_rs->sets, list) { if ((DEVS(tmp_spare_rs)) && T_SPARE(tmp_spare_rs)) { list_for_each_entry(spare_rd, &tmp_spare_rs->devs, devs) { /* Simple check of size. */ if ((spare_rd->di->sectors >= rd->di->sectors) && (!closest || spare_rd->di->sectors < closest->di->sectors)) { if (spare_rd->di->sectors == rd->di->sectors) { /* match */ closest = spare_rd; break; } closest = spare_rd; } } } } } } } /* Global search. */ if (closest) { *spare_rs = get_raid_set(lc, closest); return closest; } /* spare not found */ return NULL; } void format_error(struct lib_context *lc, const char *error, char **argv) { log_print_nnl(lc, "no raid %s", error); if (OPT_FORMAT(lc)) log_print_nnl(lc, " with format: \"%s\"", OPT_STR_FORMAT(lc)); if (argv && *argv) { log_print_nnl(lc, " and with names: \""); while (*argv) { log_print_nnl(lc, "%s", *argv++); if (*argv) log_print_nnl(lc, "%s", OPT_STR_SEPARATOR(lc)); else log_print_nnl(lc, "\""); } } log_print(lc, ""); } /* Retrieve and build metadata. */ static int get_metadata(struct lib_context *lc, enum action action, struct prepost *p, char **argv) { if (!(M_DEVICE & p->metadata)) return 1; if (!discover_devices(lc, OPT_DEVICES(lc) ? argv : NULL)) LOG_ERR(lc, 0, "failed to discover devices"); if (!count_devices(lc, DEVICE)) { log_print(lc, "no block devices found"); return 1; } if (!(M_RAID & p->metadata)) return 1; #ifndef DMRAID_MINI /* Discover RAID disks and keep RAID metadata (eg, hpt45x) */ discover_raid_devices(lc, # ifdef DMRAID_NATIVE_LOG ((NATIVE_LOG | RAID_DEVICES) & action) ? argv : NULL); # else (RAID_DEVICES & action) ? argv : NULL); # endif #else discover_raid_devices(lc, NULL); #endif if (!OPT_HOT_SPARE_SET(lc) && !OPT_CREATE(lc) && !count_devices(lc, RAID)) { format_error(lc, "disks", argv); return 1; } if (M_SET & p->metadata) { /* Group RAID sets. */ group_set(lc, argv); if (!OPT_HOT_SPARE_SET(lc) && !OPT_CREATE(lc) && !count_devices(lc, SET)) { format_error(lc, "sets", argv); return 0; } } return 1; } int lib_perform(struct lib_context *lc, enum action action, struct prepost *p, char **argv) { int ret = 0; if (ROOT == p->id && geteuid()) LOG_ERR(lc, 0, "you must be root"); /* Lock against parallel runs. Resource NULL for now. */ if (LOCK == p->lock && !lock_resource(lc, NULL)) LOG_ERR(lc, 0, "lock failure"); if (get_metadata(lc, action, p, argv)) ret = p->post(lc, p->pre ? p->pre(p->arg) : p->arg); if (ret && (RMPARTITIONS & action)) process_sets(lc, remove_device_partitions, 0, SETS); if (LOCK == p->lock) unlock_resource(lc, NULL); return ret; } int dso_get_members(struct lib_context *lc, int arg) { static char disks[100] = "\0"; const char *vol_name = lc->options[LC_REBUILD_SET].arg.str; struct raid_set *sub_rs; struct raid_dev *rd; if ((sub_rs = find_set(lc, NULL, vol_name, FIND_ALL))) { lc->options[LC_REBUILD_SET].opt = 0; list_for_each_entry(rd, &sub_rs->devs, devs) { strcat(disks, rd->di->path); strcat(disks, " "); lc->options[LC_REBUILD_SET].opt++; } dbg_free((char *) lc->options[LC_REBUILD_SET].arg.str); lc->options[LC_REBUILD_SET].arg.str = dbg_strdup(disks); return 0; } else /* RAID set not found. */ return 1; } dmraid/1.0.0.rc16/lib/metadata/reconfig.c0000644000175200007640000004750211254123773020215 0ustar mauelshamauelsha/* * Copyright (C) 2006 IBM, all rights reserved. * Written by Darrick Wong , * James Simshaw , and * Adam DiCarlo * * Copyright (C) 2006-2008 Heinz Mauelshagen, Red Hat GmbH * All rights reserved * * Copyright (C) 2007,2009 Intel Corporation. All rights reserved. * November, 2007 - additions for Create, Delete, Rebuild & Raid 10. * March, 2008 - additions for hot-spare check * August, 2008 - check before Rebuild * January, 2009 - additions for Activation, Rebuild check * May, 2009 - fix for metadata update during rebuild * * See file LICENSE at the top of this source tree for license information. */ #include "internal.h" int dso = 0; #define add_to_log(entry, log) \ list_add_tail(&(entry)->changes, &(log)); #define LIB_NAME_LENGTH 255 static inline int alloc_entry(struct change **entry, struct lib_context *lc) { return (*entry = dbg_malloc(sizeof(*entry))) ? 0 : -ENOMEM; } static int nuke_spare(struct lib_context *lc, struct raid_dev *rd) { printf("Nuking Spare\n"); list_del_init(&rd->devs); return 0; } int dso_end_rebuild(struct lib_context *lc, int arg) { struct raid_set *sub_rs; const char *vol_name = lc->options[LC_REBUILD_SET].arg.str; sub_rs = find_set(lc, NULL, vol_name, FIND_ALL); if (sub_rs) { struct raid_set *rs = NULL; rs = find_group(lc, sub_rs); if ((rs) && (S_OK(sub_rs->status) || S_NOSYNC(sub_rs->status))) { struct raid_dev *check_rd = RD_RS(sub_rs); enum status state = s_ok; if (check_rd->fmt->metadata_handler) state = check_rd->fmt->metadata_handler(lc, GET_REBUILD_STATE, NULL, (void *) sub_rs); if (state != s_nosync) { /* cannot rebuild */ log_print(lc, "Volume \"%s\" is not in rebuild state (current: %u)\n", sub_rs->name, state); return 1; } if (check_rd->fmt->metadata_handler) check_rd->fmt->metadata_handler(lc, UPDATE_REBUILD_STATE, NULL, (void *) rs); } else { log_print(lc, "Volume \"%s\" is not in rebuild state \n", vol_name); return 1; } } else log_print(lc, "raid volume \"%s\" not found\n", vol_name); return 0; } int rebuild_config_raidset(struct lib_context *lc, struct raid_set *rs); void show_raid_stack(struct lib_context *lc) { struct raid_set *_rs; log_dbg(lc, "RM: Discovered raid sets:"); list_for_each_entry(_rs, LC_RS(lc), list) { struct raid_dev *_rd; struct raid_set *_rss; log_dbg(lc, "RM: GROUP name: \"%s\"", _rs->name); list_for_each_entry(_rd, &_rs->devs, devs) { log_dbg(lc, "RM: GROUP_DISK name: \"%s\"", (_rd->di) ? _rd->di->path : "UNKNOWN"); } list_for_each_entry(_rss, &_rs->sets, list) { struct raid_dev *_rsd; struct raid_set *_rsss; log_dbg(lc, "RM: SUPERSET name: \"%s\"", _rss->name); list_for_each_entry(_rsd, &_rss->devs, devs) { log_dbg(lc, "RM: SUPERSET_DISK name: \"%s\"", (_rsd->di) ? _rsd-> di->path : "UNKNOWN"); } list_for_each_entry(_rsss, &_rss->sets, list) { struct raid_dev *_rssd; log_dbg(lc, "RM: SUBSET name: \"%s\"", _rsss->name); list_for_each_entry(_rssd, &_rsss->devs, devs) { log_dbg(lc, "RM: SUBSET_DISK name: \"%s\"", (_rssd->di) ? _rssd-> di->path : "UNKNOWN"); } } } } } /* Add a device to a RAID1 set and start the resync */ static int add_dev_to_raid(struct lib_context *lc, struct raid_set *rs, struct raid_dev *rd) { int ret = 0; const char *vol_name = lc->options[LC_REBUILD_SET].arg.str; struct raid_set *sub_rs, *crs; struct raid_dev *check_rd; LIST_HEAD(log); /* playback log */ sub_rs = find_set(lc, NULL, vol_name, FIND_ALL); check_rd = list_entry(rs->devs.next, typeof(*rd), devs); if (rd) { struct handler_info info; if (check_rd->fmt->create) { struct raid_dev *tmp; if ((ret = check_rd->fmt->create(lc, rs))) { list_for_each_entry(tmp, &rs->devs, devs) { write_dev(lc, tmp, 0); } } else { log_print(lc, "metadata fmt update failed\n"); goto err; } } else { log_print(lc, "create failed fmt handler missing\n"); goto err; } if (lc->options[LC_REBUILD_SET].opt) { if (check_rd->fmt->metadata_handler) { if (!check_rd-> fmt->metadata_handler(lc, GET_REBUILD_DRIVE_NO, &info, (void *) sub_rs)) { LOG_ERR(lc, 0, "can't get rebuild drive !"); } } } if (info.data.i32 != -1) { struct raid_dev *before_rd, *tmp_rd; int idx = 0; list_for_each_entry_safe(before_rd, tmp_rd, &sub_rs->devs, devs) { if ((idx == info.data.i32) && &rd->devs != &before_rd->devs) { list_del(&rd->devs) list_add_tail(&rd->devs, &before_rd->devs); break; } idx++; } } show_raid_stack(lc); log_dbg(lc, "RM: REBUILD drivie #: \"%d\"", info.data); show_raid_stack(lc); } /* Reconfigure device mapper */ // FIXME: is nosync enough? rs->status |= s_inconsistent; rs->status = s_ok; if ((sub_rs = find_set(lc, NULL, vol_name, FIND_ALL))) { sub_rs->status = s_ok; list_for_each_entry(crs, &sub_rs->sets, list) crs->status = s_ok; } change_set(lc, A_ACTIVATE, rs); rs->status |= s_nosync; if ((sub_rs = find_set(lc, NULL, vol_name, FIND_ALL))) { sub_rs->status |= s_nosync; list_for_each_entry(crs, &sub_rs->sets, list) crs->status |= s_nosync; } ret = change_set(lc, A_RELOAD, rs); // FIXME: might need this later: change_set(lc, A_DEACTIVATE,rs); if (!ret) goto err; #ifdef DMRAID_AUTOREGISTER /* if call is from dmraid (not from dso) */ if (!dso) { int pending; char lib_name[LIB_NAME_LENGTH] = { 0 }; struct dmraid_format *fmt = get_format(sub_rs); #ifdef DMRAID_LED struct raid_dev *_rd; list_for_each_entry(_rd, &sub_rs->devs, devs) led(strrchr(_rd->di->path, '/') + 1, LED_REBUILD); #endif /* * If raid is registered with libdmraid-events * leave NOSYNC state, else update * metadata on disks to OK state. */ /* Create lib-events library name */ if (fmt->name) { strncpy(lib_name, "libdmraid-events-", LIB_NAME_LENGTH); strncat(lib_name, fmt->name, LIB_NAME_LENGTH-strlen(fmt->name)-3); strncat(lib_name, ".so", 3); } else goto err; /* Check registration */ if (!dm_monitored_events(&pending, sub_rs->name, lib_name)) { /* If NOT registered update metadata to OK state. */ if (check_rd->fmt->metadata_handler) check_rd->fmt->metadata_handler(lc, UPDATE_REBUILD_STATE, NULL, (void *) rs); } } #endif /* End transaction */ end_log(lc, &log); return 0; err: revert_log(lc, &log); return ret; } struct dev_info *find_disk(struct lib_context *lc, char *dp); /* check if disk is under a raid set */ int check_busy_disk(struct lib_context *lc, struct raid_dev *check_rd) { struct raid_dev *rd; if (!check_rd) return 0; if (!check_rd->di) return 0; list_for_each_entry(rd, LC_RD(lc), list) { if (rd->di == check_rd->di) return 0; } return 1; } int add_dev_to_array(struct lib_context *lc, struct raid_set *rs, uint build_metadata, struct raid_dev *hot_spare_rd) { const char *set_name = lc->options[LC_REBUILD_SET].arg.str; struct raid_dev *rd = NULL; struct raid_set *sub_rs; if ((hot_spare_rd) || (build_metadata)) { struct raid_dev tmp_rd; struct raid_dev *new_rd = hot_spare_rd; enum type type = t_raid1; sub_rs = find_set(lc, NULL, set_name, FIND_ALL); if (sub_rs == NULL) { log_print(lc, "Volume \"%s\" not found\n", set_name); return 1; } type = sub_rs->type; if (new_rd == NULL) { const char *disk_name = lc->options[LC_REBUILD_DISK].arg.str; new_rd = &tmp_rd; /* for non-hot-spare */ if (!(new_rd->di = find_disk(lc, (char *) disk_name))) LOG_ERR(lc, 0, "failed to find disk %s", disk_name); /* check if disk is a member of another raid set */ if (!(check_busy_disk(lc, new_rd))) LOG_ERR(lc, 0, "disk %s cannot be used to rebuilding", disk_name); new_rd->fmt = get_format(rs); } /* add a rd to group raid set */ if ((rd = alloc_raid_dev(lc, "rebuild")) == NULL) LOG_ERR(lc, 1, "failed to allocate space for a raid_dev"); memset(rd, 0, sizeof(*rd)); rd->name = NULL; rd->di = new_rd->di; rd->fmt = new_rd->fmt; rd->status = s_init; rd->type = type; rd->offset = 0; rd->sectors = 0; list_add_tail(&rd->list, LC_RD(lc)); list_add_tail(&rd->devs, &rs->devs); /* add a spare to raid set */ sub_rs = find_set(lc, NULL, set_name, FIND_ALL); if (!(rd = alloc_raid_dev(lc, __func__))) LOG_ERR(lc, 1, "failed to allocate space for a raid_dev"); rd->name = NULL; rd->di = new_rd->di; rd->fmt = new_rd->fmt; rd->status = s_init; rd->type = type; rd->offset = 0; rd->sectors = 0; list_add_tail(&rd->devs, &sub_rs->devs); sub_rs->total_devs++; } add_dev_to_raid(lc, rs, rd); return 0; } /* Remove a disk from a raid1 */ static int del_dev_in_raid1(struct lib_context *lc, struct raid_set *rs, struct raid_dev *rd) { int ret; struct raid_dev *tmp; struct change *entry; LIST_HEAD(log); /* Playback log */ /* Remove device from the raid set */ ret = alloc_entry(&entry, lc); if (ret) goto err; entry->type = DELETE_FROM_SET; entry->rs = rs; entry->rd = rd; add_to_log(entry, log); list_del_init(&rd->devs); rd->type = t_spare; /* Check that this is a sane configuration */ list_for_each_entry(tmp, &rs->devs, devs) { ret = tmp->fmt->check(lc, rs); if (ret) goto err; } /* Write the metadata of the drive we're removing _first_ */ ret = alloc_entry(&entry, lc); if (ret) goto err; entry->type = WRITE_METADATA; entry->rd = rd; add_to_log(entry, log); ret = write_dev(lc, rd, 0); if (!ret) goto err; /* Write metadatas of every device in the set */ list_for_each_entry(tmp, &rs->devs, devs) { if (tmp == rd) continue; ret = alloc_entry(&entry, lc); if (ret) goto err; entry->type = WRITE_METADATA; entry->rd = tmp; add_to_log(entry, log); ret = write_dev(lc, tmp, 0); if (!ret) goto err; } /* Reconfigure device mapper */ rs->status |= s_inconsistent; rs->status |= s_nosync; ret = change_set(lc, A_RELOAD, rs); if (!ret) goto err; /* End transaction */ end_log(lc, &log); return 0; err: revert_log(lc, &log); return ret; } /* Corelate type and function to handle addition/removel of RAID device */ struct handler { enum change_type type; int (*func) (struct lib_context * lc, struct raid_set * rs, struct raid_dev * rd); }; /* Call the function to handle addition/removal of a RAID device */ static int handle_dev(struct lib_context *lc, struct handler *h, struct raid_set *rs, struct raid_dev *rd) { do { if (h->type == rs->type) return h->func(lc, rs, rd); } while ((++h)->type != t_undef); LOG_ERR(lc, -ENOENT, "%s: no handler for %x", __func__, rs->type); } /* Add a disk to an array. */ int add_dev_to_set(struct lib_context *lc, struct raid_set *rs, struct raid_dev *rd) { struct handler handlers[] = { {t_raid1, add_dev_to_raid}, {t_undef, NULL}, }; if (T_SPARE(rd)) nuke_spare(lc, rd); else if (!list_empty(&rd->devs)) LOG_ERR(lc, -EBUSY, "%s: disk already in another set!", __func__); if (T_GROUP(rd)) LOG_ERR(lc, -EISDIR, "%s: can't add a group raid_dev to a raid_set.", __func__); return handle_dev(lc, handlers, rs, rd); } /* Remove a disk from an array */ int del_dev_in_set(struct lib_context *lc, struct raid_set *rs, struct raid_dev *rd) { struct handler handlers[] = { {t_raid1, del_dev_in_raid1}, {t_undef, NULL}, }; if (list_empty(&rd->devs)) LOG_ERR(lc, -EBUSY, "%s: disk is not in a set!", __func__); /* FIXME: Not sure if this is true. */ if (T_GROUP(rd)) LOG_ERR(lc, -EISDIR, "%s: can't remove a group raid_dev from a raid_set.", __func__); return handle_dev(lc, handlers, rs, rd); } /* * Find group of raid_set to which sub_rs belongs. * * Serves one level stacked raids. */ struct raid_set * find_group(struct lib_context *lc, struct raid_set *sub_rs) { struct raid_set *tmp = NULL, *r = NULL, *r2 = NULL; list_for_each_entry(tmp, LC_RS(lc), list) { if (T_GROUP(tmp)) { list_for_each_entry(r, &tmp->sets, list) { if (r == sub_rs) return tmp; else if (SETS(r)) { list_for_each_entry(r2, &r->sets, list) { if (r2 == sub_rs) return tmp; } } } } } /* Group not found. */ return NULL; } struct raid_dev *find_spare(struct lib_context *lc, struct raid_set *sub_rs, struct raid_set **spare_set); int _rebuild_raidset(struct lib_context *lc, struct raid_set *sub_rs, char *set_name) { struct raid_set *spare_set = NULL, *rs = NULL; struct raid_dev *rd = NULL; int driveRebuild = 1; rs = find_group(lc, sub_rs); /* raid 0 cannot be rebuild - exit */ if (T_RAID0(sub_rs) && (!SETS(sub_rs))) { log_print(lc, "Rebuild: raid0 cannot be rebuild\n"); return 1; } /* FIXME - work-around for status reporting */ if (S_BROKEN(sub_rs->status) || S_INCONSISTENT(sub_rs->status)) { if (lc->options[LC_REBUILD_DISK].opt == 0) { /* find the spare drive */ if ((rd = find_spare(lc, sub_rs, &spare_set)) == NULL) { log_print(lc, "Rebuild: a hot-spare drive not found for a volume: \"%s\"." " Need a drive to rebuild a volume.\n", sub_rs->name); return 1; } } } else if (S_OK(sub_rs->status)) { struct raid_dev *check_rd = RD_RS(sub_rs); enum status state = s_ok; if (check_rd && (check_rd->fmt->metadata_handler)) state = check_rd->fmt->metadata_handler(lc, GET_REBUILD_STATE, NULL, (void *) sub_rs); if (state != s_nosync) { /* cannot rebuild */ log_print(lc, "Volume \"%s\" is not in rebuild state (current: %u)", sub_rs->name, state); log_print(lc, "Rebuild: cannot rebuild from current state!\n"); return 1; } driveRebuild = 0; } else if (!(S_NOSYNC(sub_rs->status))) { /* cannot rebuild */ log_print(lc, "Rebuild: cannot rebuild from current state!\n"); return 1; } sub_rs->status = s_nosync; rs->status = s_nosync; /* set the name for rebuild set (function down the path are using this variable to * retrive the raid set that is rebuild */ dbg_free((char *) lc->options[LC_REBUILD_SET].arg.str); lc->options[LC_REBUILD_SET].arg.str = (const char *) dbg_malloc(strlen(sub_rs->name) + 1); strcpy((char *) lc->options[LC_REBUILD_SET].arg.str, sub_rs->name); if (!(add_dev_to_array(lc, rs, (driveRebuild && lc->options[LC_REBUILD_DISK].opt) || rd, rd))) { log_dbg(lc, "rebuild: raid \"%s\" rebuild finished\n", set_name); /* * Special case for degraded raid5 array, * activated with error target device. */ delete_error_target(lc, sub_rs); } else { /* error - raid failed to be rebuilded */ log_print(lc, "Rebuild: raid \"%s\" rebuild failed\n", set_name); return 1; } return 0; } /* * Before rebuilding the set, we should check * that the metadata handler allows it. */ static int check_allow_rebuild(struct lib_context *lc, struct raid_set *rs, char *rs_name) { struct raid_dev *rd = list_entry(rs->devs.next, typeof(*rd), devs); if (!rd->fmt->metadata_handler || rd->fmt->metadata_handler(lc, ALLOW_REBUILD, NULL, rs)) return _rebuild_raidset(lc, rs, rs_name); else LOG_ERR(lc, 0, "Can't rebuild RAID set \"%s\"", rs_name); } int rebuild_raidset(struct lib_context *lc, char *rs_name) { int ret = 0; struct raid_set *sub_rs; sub_rs = find_set(lc, NULL, rs_name, FIND_ALL); if (!sub_rs) LOG_PRINT(lc, 0, "raid volume \"%s\" not found\n", rs_name); /* * For stacked subsets go throu the stack to retrive the subsets that: * - do not contain subsets * - are eligible for rebuild */ if (SETS(sub_rs)) { int i; /* * Ordered table of states: causes that sub-rs are rebuilt * is order of state that are present in this table. */ enum status state_tbl[] = { s_ok, s_nosync, s_broken | s_inconsistent, /* TBD change to s_inconsisten when the states are reported in right way */ }; struct raid_set *rs; /* check sub-set that are in Ok state */ for (i = 0; i < ARRAY_SIZE(state_tbl); i++) { /* * Check for all subsets that * have state equal state_tbl[i]. */ list_for_each_entry(rs, &sub_rs->sets, list) { if (rs->status & state_tbl[i]) /* * Before rebuilding the set, * we should check that the * metadata handler allows it. */ ret |= check_allow_rebuild(lc, rs, rs_name); } } } else ret |= check_allow_rebuild(lc, sub_rs, rs_name); return ret; } int write_set_spare(struct lib_context *lc, void *v) { int ret = 1; struct raid_set *r, *rs = v; struct raid_dev *rd; /* Decend hierarchy */ list_for_each_entry(r, &rs->sets, list) { /* * FIXME: does it make sense to try the rest of the subset * in case we fail writing one ? */ if (!write_set_spare(lc, (void *) r)) log_err(lc, "writing RAID subset \"%s\", continuing", r->name); } if (!T_GROUP(rs)) { /* Write metadata to the RAID devices of a set */ list_for_each_entry(rd, &rs->devs, devs) { /* * FIXME: does it make sense to try the rest of the * devices in case we fail writing one ? */ if (!write_dev(lc, rd, 0)) { log_err(lc, "writing RAID device \"%s\", " "continuing", rd->di->path); ret = 0; } } } return ret; } static int add_spare_dev_to_raid(struct lib_context *lc, struct raid_set *rs) { int ret = 0; struct dmraid_format *fmt_hand; /* find format handler */ fmt_hand = get_format(rs); if (!(fmt_hand->create)) { LOG_ERR(lc, 0, "metadata creation is not supported in \"%s\" format", fmt_hand->name); } else { if ((ret = fmt_hand->create(lc, rs))) ret = write_set_spare(lc, rs); if (!ret) log_print(lc, "metadata fmt update failed\n"); } return ret; } int add_spare_dev_to_array(struct lib_context *lc, struct raid_set *rs) { struct dev_info *di; struct dmraid_format *fmt_hand; struct raid_dev *rd; struct raid_set *rs_sub; const char *disk_name = lc->options[LC_REBUILD_DISK].arg.str; /* find format handler */ fmt_hand = get_format(rs); /* add a spare rs to raid set */ if (!(rs_sub = alloc_raid_set(lc, "rebuild"))) return 0; rs_sub->name = NULL; rs_sub->size = 0; rs_sub->stride = 0; rs_sub->type = t_spare; rs_sub->flags = 0; rs_sub->status = s_init; list_add_tail(&rs_sub->list, &rs->sets); /* Find disk by name. */ if (!(di = find_disk(lc, (char *) disk_name))) LOG_ERR(lc, 0, "failed to find disk %s", disk_name); /* Add a rd to group raid set. */ if ((rd = alloc_raid_dev(lc, "rebuild")) == NULL) LOG_ERR(lc, 0, "failed to allocate space for a raid_dev"); rd->name = NULL; rd->di = di; rd->fmt = fmt_hand; rd->status = s_init; rd->type = t_spare; rd->offset = 0; rd->sectors = 0; /* add dev to lc list and to group rs */ list_add_tail(&rd->list, LC_RD(lc)); list_add_tail(&rd->devs, &rs->devs); if (!(rd = alloc_raid_dev(lc, "rebuild"))) LOG_ERR(lc, 0, "failed to allocate space for a raid_dev"); rd->name = NULL; rd->di = di; rd->fmt = fmt_hand; rd->status = s_init; rd->type = t_spare; rd->offset = 0; rd->sectors = 0; list_add_tail(&rd->devs, &rs_sub->devs); return add_spare_dev_to_raid(lc, rs); } /* Add a disk to raid set as spare disk. */ int hot_spare_add(struct lib_context *lc, struct raid_set *rs) { const char *vol_name = lc->options[LC_HOT_SPARE_SET].arg.str; int ret_func; struct dmraid_format *fmt_hand; if (!(!OPT_FORMAT(lc) && OPT_REBUILD_DISK(lc) && OPT_HOT_SPARE_SET(lc))) return 0; if (!(fmt_hand = get_format(rs))) LOG_ERR(lc, 0, "unknown metadata format"); if (!(fmt_hand->metadata_handler)) LOG_ERR(lc, 0, "metadata_handler() is not supported in \"%s\" format", fmt_hand->name); ret_func = fmt_hand->metadata_handler(lc, CHECK_HOT_SPARE, NULL, (void *) rs); if (!ret_func) LOG_ERR(lc, 0, "hot-spare cannot be added to existing raid " "set \"%s\" in \"%s\" format", vol_name, fmt_hand->name); return add_spare_dev_to_array(lc, rs); } dmraid/1.0.0.rc16/lib/metadata/log_ops.c0000644000175200007640000000230011254123773020046 0ustar mauelshamauelsha/* * Copyright (C) 2006 Darrick Wong, IBM * All rights reserved. * * Copyright (C) 2006 Heinz Mauelshagen, Red Hat GmbH * All rights reserved. * * See file LICENSE at the top of this source tree for license information. */ #include "internal.h" void end_log(struct lib_context *lc, struct list_head *log) { struct list_head *pos, *tmp; list_for_each_safe(pos, tmp, log) { list_del(pos); dbg_free(list_entry(pos, struct change, changes)); } } int revert_log(struct lib_context *lc, struct list_head *log) { int writes_started = 0, ret = 0; struct change *entry; struct raid_dev *rd; list_for_each_entry(entry, log, changes) { if (writes_started && entry->type != WRITE_METADATA) { log_err(lc, "%s: State change after metadata write?", __func__); ret = -EINVAL; break; } if (entry->type == ADD_TO_SET) { rd = entry->rd; rd->type = t_spare; list_del_init(&entry->rd->devs); } else if (entry->type == WRITE_METADATA) { writes_started = 1; rd = entry->rd; ret = write_dev(lc, rd, 0); if (ret) { log_err(lc, "%s: Error while reverting " "metadata.", __func__); break; } } } end_log(lc, log); return ret; } dmraid/1.0.0.rc16/lib/log/0000755000175200007640000000000011254261512015240 5ustar mauelshamauelshadmraid/1.0.0.rc16/lib/log/log.h0000644000175200007640000000557411254123773016213 0ustar mauelshamauelsha/* * Copyright (C) 2004,2005 Heinz Mauelshagen, Red Hat GmbH. * All rights reserved. * * See file LICENSE at the top of this source tree for license information. */ #ifndef _LOG_H_ #define _LOG_H_ #include /* Compatibility type for logging. */ #define PRIzu "zu" /* Log levels. */ #define _PLOG_INFO 1 #define _PLOG_NOTICE 2 #define _PLOG_WARN 3 #define _PLOG_DEBUG 4 #define _PLOG_ERR 5 #define _PLOG_FATAL 6 struct lib_context; void plog(struct lib_context *lc, int level, int lf, const char *file, int line, const char *format, ...); int log_alloc_err(struct lib_context *lc, const char *who); # ifdef DMRAID_MINI #define log_info(lc, x...) #define log_info_nnl(lc, x...) #define log_notice(lc, x...) #define log_notice_nnl(lc, x...) #define log_warn(lc, x...) #define log_warn_nn(lc, x...) #define log_debug(lc, x...) #define log_debug_nnl(lc, x...) #define log_dbg(lc, x...) #define log_dbg_nnl(lc, x...) # else #define _log_info(lc, lf, x...) plog(lc, _PLOG_INFO, lf, __FILE__, __LINE__, x) #define log_info(lc, x...) _log_info(lc, 1, x) #define log_info_nnl(lc, x...) _log_info(lc, 0, x) #define _log_notice(lc, lf, x...) \ plog(lc, _PLOG_NOTICE, lf, __FILE__, __LINE__, x) #define log_notice(lc, x...) _log_notice(lc, 1, x) #define log_notice_nnl(lc, x...) _log_notice(lc, 0, x) #define _log_warn(lc, lf, x...) plog(lc, _PLOG_WARN, lf, __FILE__, __LINE__, x) #define log_warn(lc, x...) _log_warn(lc, 1, x) #define log_warn_nnl(lc, x...) _log_warn(lc, 0, x) #define _log_debug(lc, lf, x...) \ plog(lc, _PLOG_DEBUG, lf, __FILE__, __LINE__, x) #define log_debug(lc, x...) _log_debug(lc, 1, x) #define log_debug_nnl(lc, x...) _log_debug(lc, 0, x) #define log_dbg(lc, x...) log_debug(lc, x) #define log_dbg_nnl(lc, x...) log_debug_nnl(lc, x) # endif #define log_level(lc, level, x...) plog(lc, level, 1, __FILE__, __LINE__, x) #define log_level_nnl(lc, level, x...) plog(lc, level, 0, __FILE__, __LINE__, x) #define _log_error(lc, lf, x...) plog(lc, _PLOG_ERR, lf, __FILE__, __LINE__, x) #define log_error(lc, x...) _log_error(lc, 1, x) #define log_error_nnl(lc, x...) _log_error(lc, 0, x) #define log_err(lc, x...) log_error(lc, x) #define log_err_nnl(lc, x...) log_error_nnl(lc, x) #define _log_fatal(lc, lf, x...) \ plog(lc, _PLOG_FATAL, lf, __FILE__, __LINE__, x) #define log_fatal(lc, x...) _log_fatal(lc, 1, x) #define log_fatal_nnl(lc, x...) _log_fatal(lc, 0, x) #define LOG_ERR(lc, ret, x...) do { log_err(lc, x); return ret; } while (0) #define BUG(lc, ret, x...) do { LOG_ERR(lc, ret, x); } while (0) #define _log_print(lc, lf, x...) plog(lc, 0, lf, __FILE__, __LINE__, x) #define log_print(lc, x...) _log_print(lc, 1, x) #define log_print_nnl(lc, x...) _log_print(lc, 0, x) #define LOG_PRINT(lc, ret, x...) do { log_print(lc, x); return ret; } while (0) #define LOG_PRINT_NNL(lc, ret, x...) \ do { _log_print(lc, lc, 0, x); return ret; } while (0) #endif dmraid/1.0.0.rc16/lib/log/log.c0000644000175200007640000000226711254123773016202 0ustar mauelshamauelsha/* * Copyright (C) 2004,2005 Heinz Mauelshagen, Red Hat GmbH. * All rights reserved. * * See file LICENSE at the top of this source tree for license information. */ #include #include "internal.h" static const char *_prefixes[] = { NULL, "INFO", "NOTICE", "WARN", "DEBUG", "ERROR", "FATAL", }; static const char * _prefix(int level) { return level < ARRAY_SIZE(_prefixes) ? _prefixes[level] : "UNDEF"; } void plog(struct lib_context *lc, int level, int lf, const char *file, int line, const char *format, ...) { int o = LC_VERBOSE, l = level; FILE *f = stdout; va_list ap; if (level == _PLOG_DEBUG) { o = LC_DEBUG; l -= _PLOG_WARN; } if (level == _PLOG_ERR || level == _PLOG_FATAL) f = stderr; /* Checking lc here to allow early calls without a context. */ else if (lc && lc_opt(lc, o) < l) return; if (_prefix(level)) fprintf(f, "%s: ", _prefix(level)); va_start(ap, format); vfprintf(f, format, ap); va_end(ap); if (lf) fputc('\n', f); } /* This is used so often in the metadata format handlers and elsewhere. */ int log_alloc_err(struct lib_context *lc, const char *who) { LOG_ERR(lc, 0, "%s: allocating", who); } dmraid/1.0.0.rc16/lib/Makefile.in0000644000175200007640000000475411254263603016541 0ustar mauelshamauelsha# # Copyright (C) 2004-2005 Heinz Mauelshagen, Red Hat GmbH. All rights reserved. # # See file LICENSE at the top of this source tree for license information. # srcdir = @srcdir@ top_srcdir = @top_srcdir@ VPATH = @srcdir@ SOURCES=\ activate/activate.c \ activate/devmapper.c \ device/ata.c \ device/partition.c \ device/scan.c \ device/scsi.c \ display/display.c \ format/format.c \ locking/locking.c \ log/log.c \ metadata/log_ops.c \ metadata/metadata.c \ metadata/reconfig.c \ misc/file.c \ misc/init.c \ misc/lib_context.c \ misc/misc.c \ misc/workaround.c \ mm/dbg_malloc.c \ format/ataraid/asr.c \ format/ataraid/hpt37x.c \ format/ataraid/hpt45x.c \ format/ataraid/isw.c \ format/ataraid/jm.c \ format/ataraid/lsi.c \ format/ataraid/nv.c \ format/ataraid/pdc.c \ format/ataraid/sil.c \ format/ataraid/via.c \ format/ddf/ddf1.c \ format/ddf/ddf1_lib.c \ format/ddf/ddf1_crc.c \ format/ddf/ddf1_cvt.c \ format/ddf/ddf1_dump.c \ format/partition/dos.c ifeq ("@STATIC_LINK@", "no") SOURCES += register/dmreg.c endif OBJECTS=$(SOURCES:%.c=%.o) LIB_STATIC=$(top_srcdir)/lib/libdmraid.a LIB_EVENTS_NAME=libdmraid-events-isw TARGETS=$(LIB_STATIC) INSTALL_TARGETS=$(LIB_STATIC) include $(top_srcdir)/make.tmpl ifeq ("@KLIBC@", "no") ifeq ("@STATIC_LINK@", "no") LIB_SHARED=$(top_srcdir)/lib/libdmraid.so LIB_EVENTS_SHARED=$(top_srcdir)/lib/$(LIB_EVENTS_NAME).so TARGETS += $(LIB_SHARED) $(LIB_EVENTS_SHARED) INSTALL_TARGETS += $(LIB_SHARED) $(LIB_EVENTS_SHARED) endif endif all: $(TARGETS) @echo $(TARGETS) $(INSTALL_TARGETS) $(LIB_EVENTS_SHARED): $(CC) events/$(LIB_EVENTS_NAME).c $(INCLUDES) $(CFLAGS) $(LDFLAGS) -shared -Wl,-soname,$(notdir $@).$(DMRAID_LIB_VERSION) -o $@ -ldevmapper -ldevmapper-event $(LIB_SHARED) .PHONY: install_dmraid_libs remove_dmraid_libs install_dmraid_libs: $(INSTALL_TARGETS) @echo "Installing $(INSTALL_TARGETS) in $(libdir)"; \ mkdir -p $(libdir); \ for f in $(INSTALL_TARGETS); \ do \ n=$$(basename $${f}) ; \ if [[ "$$n" =~ '.so$$' ]]; then \ $(INSTALL) -m 555 $(STRIP) \ $$f $(libdir)/$${n}.@DMRAID_LIB_VERSION@; \ $(LN_S) -f $${n}.@DMRAID_LIB_VERSION@ $(libdir)/$${n}; \ else \ $(INSTALL) -m 555 $(STRIP) $$f $(libdir)/$${n}; \ fi \ done install: install_dmraid_libs remove_dmraid_libs: @echo "Removing $(INSTALL_TARGETS) from $(libdir)"; \ for f in $(INSTALL_TARGETS); \ do \ n=$$(basename $${f}) ; \ rm -f $(libdir)/$${n}.@DMRAID_LIB_VERSION@; \ rm -f $(libdir)/$${n}; \ done remove: remove_dmraid_libs dmraid/1.0.0.rc16/lib/internal.h0000644000175200007640000000231311254123773016451 0ustar mauelshamauelsha/* * Copyright (C) 2004,2005 Heinz Mauelshagen, Red Hat GmbH. * All rights reserved. * * See file LICENSE at the top of this source tree for license information. */ #ifndef _INTERNAL_H_ #define _INTERNAL_H_ #ifndef _GNU_SOURCE #define _GNU_SORUCE #endif #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include "log/log.h" #include "mm/dbg_malloc.h" #include #include #include "device/dev-io.h" #define FORMAT_HANDLER #include #include #include "activate/activate.h" #include #ifndef u_int16_t #define u_int16_t uint16_t #endif #ifndef u_int32_t #define u_int32_t uint32_t #endif #ifndef u_int64_t #define u_int64_t uint64_t #endif #define min(a, b) (a) < (b) ? (a) : (b) #define max(a, b) (a) > (b) ? (a) : (b) #define ARRAY_SIZE(a) (sizeof(a) / sizeof(*a)) #define ARRAY_END(a) (a + ARRAY_SIZE(a)) #endif dmraid/1.0.0.rc16/lib/locking/0000755000175200007640000000000011254261512016105 5ustar mauelshamauelshadmraid/1.0.0.rc16/lib/locking/locking.c0000644000175200007640000000421311254123773017705 0ustar mauelshamauelsha/* * Copyright (C) 2004,2005 Heinz Mauelshagen, Red Hat GmbH. * All rights reserved. * * See file LICENSE at the top of this source tree for license information. */ #ifndef __KLIBC__ # include #endif #include "internal.h" /* File locking private data. */ static const char *lock_file = "/var/lock/dmraid/.lock"; static int lf = -1; /* flock file. */ static int lock(struct lib_context *lc, struct resource *res) { /* Already locked. */ if (lf > -1) return 1; log_warn(lc, "locking %s", lock_file); if ((lf = open(lock_file, O_CREAT | O_APPEND | O_RDWR, 0777)) < 0) LOG_ERR(lc, 0, "opening lockfile %s", lock_file); if (flock(lf, LOCK_EX)) { close(lf); lf = -1; LOG_ERR(lc, 0, "flock lockfile %s", lock_file); } return 1; } /* Unlock file. */ static void unlock(struct lib_context *lc, struct resource *res) { /* Not locked! */ if (lf == -1) return; log_warn(lc, "unlocking %s", lock_file); unlink(lock_file); if (flock(lf, LOCK_NB | LOCK_UN)) log_err(lc, "flock lockfile %s", lock_file); if (close(lf)) log_err(lc, "close lockfile %s", lock_file); lf = -1; } /* File base locking interface. */ static struct locking file_locking = { .name = "file", .lock = lock, .unlock = unlock, }; static int init_file_locking(struct lib_context *lc) { int ret = 0; char *dir; if (!(dir = get_dirname(lc, (char *) lock_file))) return 0; if (!mk_dir(lc, dir)) goto out; /* Fail on read-only file system. */ if (access(dir, R_OK | W_OK) && errno == EROFS) goto out; lc->lock = &file_locking; ret = 1; out: dbg_free(dir); return ret; } /* * External locking interface. */ /* Initialize locking. */ int init_locking(struct lib_context *lc) { if (OPT_IGNORELOCKING(lc)) return 1; if (lc->locking_name) BUG(lc, 0, "no locking selection yet"); return init_file_locking(lc); } /* Hide locking. */ int lock_resource(struct lib_context *lc, struct resource *res) { return OPT_IGNORELOCKING(lc) ? 1 : lc->lock->lock(lc, res); } /* Hide unlocking. */ void unlock_resource(struct lib_context *lc, struct resource *res) { return OPT_IGNORELOCKING(lc) ? 1 : lc->lock->unlock(lc, res); } dmraid/1.0.0.rc16/lib/register/0000755000175200007640000000000011254261512016303 5ustar mauelshamauelshadmraid/1.0.0.rc16/lib/register/dmreg.c0000644000175200007640000003034211254123773017555 0ustar mauelshamauelsha/* * Copyright (C) 2009 Intel Corp. All rights reserved. * * Most of this code is borrowed from * dmevent_tool.c file * * This copyrighted material is made available to anyone wishing to use, * modify, copy, or redistribute it subject to the terms and conditions * of the GNU General Public License v.2. * * 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 */ /* #include #include #include #include #include #include #include #include */ #include "internal.h" #include #include #include #include #include #include #define ARRAY_SIZE(a) (sizeof(a) / sizeof(*a)) #define ARRAY_END(a) (a + ARRAY_SIZE(a)) #define DEFAULT_DMRAID_MIRROR_LIB "libdmraid-events.so" #define DM_DSO_REG_TOOL_VERSION "1.0.0.rc3" #define SYS_DM_LEN 256 #define MAJOR_MINOR 10 #define SYS_DM_PATH "/sys/block/dm-" #define SYS_DM_DEV "/dev" #define SYS_DM_SLAVES_DIR "/slaves" /* Command line option counters for CLI processing. */ enum option_type { OPT_a, OPT_h, OPT_m, OPT_r, OPT_u, OPT_V, OPT_SUM, OPT_MAX }; /* static int optc[OPT_MAX]; */ /* Create device mapper event handler. */ static struct dm_event_handler * _create_dm_event_handler(const char *dmname, const char *dso, enum dm_event_mask mask) { struct dm_event_handler *dmevh = dm_event_handler_create(); if (dmevh) { if (dso && dm_event_handler_set_dso(dmevh, dso)) goto err; if (dm_event_handler_set_dev_name(dmevh, dmname)) goto err; dm_event_handler_set_event_mask(dmevh, mask); } return dmevh; err: dm_event_handler_destroy(dmevh); return NULL; } /* * Display device @dev_name properties. * * Return 0 for success, < 0 for failure. */ static int _display_device(char *dev_name, struct dm_event_handler *dmevh, enum display_opt display_option) { int ret = -ENOMEM; const char *uuid; struct dm_info info; /* Get device Info. */ struct dm_task *dmt = dm_task_create(DM_DEVICE_INFO); if (!dmt || !dm_task_set_name(dmt, dev_name) || !dm_task_no_open_count(dmt) || !dm_task_run(dmt)) goto err; ret = 0; if (display_option == REGISTERED_WITH_UUID) uuid = dm_task_get_uuid(dmt); //if (((display_option == REGISTERED_NO_UUID) || (display_option && REGISTERED_WITH_UUID && *uuid)) && if (((display_option == ALL) || (display_option == REGISTERED_NO_UUID)|| ((display_option == REGISTERED_WITH_UUID) && *uuid)) && /* if ((optc[OPT_m] || (optc[OPT_a] && *uuid)) && */ dm_task_get_info(dmt, &info)) { printf("Device Name: %s\n", dev_name); printf(" Registered DSO: %s\n", dm_event_handler_get_dso(dmevh)); printf(" UUID: %s\n", dm_task_get_uuid(dmt)); printf(" Status: %s\n", info.suspended == 1 ? "Suspended" : "Active"); printf(" Major Device #: %u\n", info.major); printf(" Minor Device #: %u\n", info.minor); printf(" Read-only Device: %s\n", info.read_only ? "Yes": "No"); printf(" Error Events: %d\n", info.event_nr); } err: if (dmt) dm_task_destroy(dmt); return ret; } /* * This function is used to display all monitored devices. * * Return < 0 for dm architecture failure, 0 for success */ int dm_all_monitored(enum display_opt display_option) { int ret = -1; /* Failure. */ unsigned next = 0; /* Get device list. */ struct dm_task *dmt = dm_task_create(DM_DEVICE_LIST); struct dm_event_handler *dmevh = NULL; struct dm_names *names; if (!dmt || !dm_task_run(dmt)) goto err; if (!(names = dm_task_get_names(dmt)) || !names->dev) { fprintf(stderr, "No mapped devices found\n"); goto err; } /* Work the list of mapped device names. */ do { dmevh = _create_dm_event_handler(names->name, NULL, DM_EVENT_ALL_ERRORS); if (!dmevh) goto err; /* Device is not registered. */ if (dm_event_get_registered_device(dmevh, 0)) { /* If nothing or -u requested, print info. */ if (display_option <= ALL) /* if (!optc[OPT_r] || optc[OPT_u]) */ printf("%s not monitored\n", names->name); } else { /* If nothing or -r requested, print info. */ if (display_option >= ALL) { /* if (optc[OPT_r] || !optc[OPT_u]) { */ /* Device is registered, get its info. */ if (dm_event_handler_get_event_mask(dmevh) & DM_EVENT_REGISTRATION_PENDING) { printf("%s registration pending\n", names->name); goto on_with_next; } /* Display device properties. */ if (_display_device(names->name, dmevh, display_option)) goto err; } } on_with_next: /* Destroy dm event handler. */ dm_event_handler_destroy(dmevh); dmevh = NULL; /* Get next device. */ next = names->next; names = (void *)names + next; } while (next); ret = 0; goto out; err: fprintf(stderr, "%s -- dm failure\n", __func__); out: /* Destroy DM_DEVICE_LIST task. */ if (dmt) dm_task_destroy(dmt); if (dmevh) dm_event_handler_destroy(dmevh); return ret; } /* * This function can be called after "_dm_set_events" to verify * that monitoring is setup; it can also be used to see if a device * is already registered. * * Return evmask (positive non-zero value) if device is already registered * (or if registration is pending), otherwise return 0 to signify that * device is unregistered. */ int dm_monitored_events(int *pending, char *dev_name, char *dso) { enum dm_event_mask evmask = 0; struct dm_event_handler *dmevh; *pending = 0; dmevh = _create_dm_event_handler(dev_name, dso, DM_EVENT_ALL_ERRORS); if (!dmevh) return 1; /* Failure. */ if (dm_event_get_registered_device(dmevh, 0)) { /* Device is unregistered. */ dm_event_handler_destroy(dmevh); return 0; } evmask = dm_event_handler_get_event_mask(dmevh); if (evmask & DM_EVENT_REGISTRATION_PENDING) { evmask &= ~DM_EVENT_REGISTRATION_PENDING; *pending = 1; } dm_event_handler_destroy(dmevh); return evmask; } /* * This function is used to build & (un)register a device mapper event handler * * Return 1 on failure, 0 for success */ enum register_type { EVENTS_REGISTER, EVENTS_UNREGISTER }; static int _dm_set_events(enum register_type type, char *dev_name, char *dso) { int ret = 0; struct dm_event_handler *dmevh = _create_dm_event_handler(dev_name, dso, DM_EVENT_ALL_ERRORS); if (dmevh) { ret = (type == EVENTS_REGISTER) ? dm_event_register_handler(dmevh) : dm_event_unregister_handler(dmevh); dm_event_handler_destroy(dmevh); } return !ret; } /* * Validate that user supplied dso exists. * * Return 1 on failure, 0 for sucess. */ static int _dm_valid_dso(char *dso) { void *dl = dlopen(dso, RTLD_NOW); if (!dl) { fprintf(stderr, "The dynamic shared library \"%s\" could not " "be loaded:\n %s\n", dso, dlerror()); return 1; /* Failure. */ } dlclose(dl); return 0; /* Valid. */ } /* * Validate that user supplied device exists. * * Return 0 for sucess, < 0 for dm failure */ static int _dm_valid_device(char *dev_name) { unsigned next = 0; struct dm_names *names; /* Get device list. */ struct dm_task *dmt = dm_task_create(DM_DEVICE_LIST); if (dmt && dm_task_run(dmt) && (names = dm_task_get_names(dmt))) { /* Loop through list of names, try spotting @dev_name. */ do { if (!strcmp(names->name, dev_name)) { /* Destroy DM_DEVICE_LIST task. */ dm_task_destroy(dmt); return 0; } /* Get next device. */ next = names->next; names = (void *)names + next; } while (next); } /* Destroy DM_DEVICE_LIST task. */ if (dmt) dm_task_destroy(dmt); return -ENOENT; /* Failure. */ } /* * Used to test if a RAID device is broken. * If it is we don't want to allow registration. * * Return: * 1 for broken RAID device * 0 for ok * < 0 for dm archecture failure */ static int _dm_raid_state(char *dev_name) { int i, errors = 0; uint64_t start, length; char *next = NULL, *params, *status = NULL, *target_type = NULL; /* Get device status. */ struct dm_task *dmt = dm_task_create(DM_DEVICE_STATUS); struct dm_info info; if (!dmt || !dm_task_set_name(dmt, dev_name) || !dm_task_run(dmt) || !dm_task_get_info(dmt, &info)) goto err; if (info.event_nr) { /* * We now need to see if one of the drives in the * RAID set is down as well as having an error. */ dm_get_next_target(dmt, next, &start, &length, &target_type, ¶ms); if (!target_type) { syslog(LOG_INFO, " %s mapping lost.\n", dev_name); errors++; } /* * Find the substring with the 'A|D|S|R|U[A|D...]' to * signify if a RAID device device isn't active. */ if ((status = strstr(params, " A")) || (status = strstr(params, " D")) || (status = strstr(params, " S")) || (status = strstr(params, " R")) || (status = strstr(params, " U"))) { /* Advance the pointer to the first status character */ while (isspace(*status)) status++; /* Check for bad device. */ for (i = 0; status[i] && !isspace(status[i]); i++) { /* Skip past raid45 target chars. */ if (status[i] != 'p' && status[i] != 'i' && status[i] != 'A') errors++; } } else /* The substirng of '1 A' did not exist in the param * string, this means that: * 1) The kernel driver patches for status * are not installed * 2) Or that the first device of the RAID * device is broken either way we fail here. */ errors++; } dm_task_destroy(dmt); /* * If there have been errors reported against * this RAID device and one of the drives in * the RAID set is down, do not allow it to * register until these have been fixed. */ return errors; err: /* Destroy DM_DEVICE_LIST task. */ dm_task_destroy(dmt); fprintf(stderr, "%s -- dm failure\n", __func__); return -1; /* Failure. */ } /* * Validate @dev_name and @dso_name. * * Return 1 for failure, 0 for success. */ static int _validate_dev_and_dso_names(char *dev_name, char *dso_name) { /* Validate device name. */ if (_dm_valid_device(dev_name)) { printf("ERROR: device \"%s\" could not be found\n", dev_name); return 1; } /* Validate dynamic shared library. */ return (dso_name && _dm_valid_dso(dso_name)) ? 1 : 0; } /* Register a device to be monitored for events. */ /* FIXME: correct dev_name vs. _dm_raid_state() check of device. */ int dm_register_device(char *dev_name, char *dso_name) { int errors, pending, ret = _validate_dev_and_dso_names(dev_name, dso_name); if (ret) return ret; if (dm_monitored_events(&pending, dev_name, dso_name)) { printf("ERROR: device \"%s\" %s\n", dev_name, pending ? "has a registration event pending" : "is already being monitored"); return 1; }; errors = _dm_raid_state(dev_name); if (errors < 0) return 1; if (errors) { printf("ERROR: device \"%s\" \n" " has \"%d\" kernel I/O error event(s) stored " "and cannot be registered\n" " (use the command-line utility \"dmraid\" to " "investigate these errors)\n", dev_name, errors); return 1; } if (_dm_set_events(EVENTS_REGISTER, dev_name, dso_name)) { printf("ERROR: Unable to register a device mapper " "event handler for device \"%s\"\n", dev_name); return 1; } else printf("device \"%s\" is now registered with dmeventd " "for monitoring\n", dev_name); return 0; } /* Unregister a device from being monitored for events. */ int dm_unregister_device(char *dev_name, char *dso_name) { int pending, ret = _validate_dev_and_dso_names(dev_name, dso_name); if (ret) return ret; if (!dm_monitored_events(&pending, dev_name, NULL)) { printf("ERROR: device \"%s\" %s\n", dev_name, pending ? "has a registration event pending and " "cannot be unregistered until completed": "is not currently being monitored"); return 1; } if (_dm_set_events(EVENTS_UNREGISTER, dev_name, NULL)) { printf("ERROR: Unable to unregister a device " "mapper event handler for device \"%s\"\n", dev_name); return 1; } printf("device \"%s\" has been unregistered from monitoring\n", dev_name); return 0; } dmraid/1.0.0.rc16/lib/misc/0000755000175200007640000000000011254261512015412 5ustar mauelshamauelshadmraid/1.0.0.rc16/lib/misc/misc.c0000644000175200007640000001247111254123773016524 0ustar mauelshamauelsha/* * Copyright (C) 2004,2005 Heinz Mauelshagen, Red Hat GmbH. * All rights reserved. * * Copyright (C) 2007 Intel Corporation. All rights reserved. * November, 2007 - additions for Create, Delete, Rebuild & Raid 10. * * See file LICENSE at the top of this source tree for license information. */ #include #include "internal.h" /* Prompt for a yes/no answer */ int yes_no_prompt(struct lib_context *lc, const char *prompt, ...) { int c = '\n'; va_list ap; /* Use getc() for klibc compatibility. */ do { if (c == '\n') { va_start(ap, prompt); vprintf(prompt, ap); va_end(ap); log_print_nnl(lc, " ? [y/n] :"); } } while ((c = tolower(getc(stdin))) && c != 'y' && c != 'n'); /* Ignore rest. */ while (getc(stdin) != '\n'); return c == 'y'; } /* Return the basename of a path. */ char * get_basename(struct lib_context *lc, char *str) { char *ret = strrchr(str, '/'); return ret ? ++ret : str; } /* Return the dirname of a path. */ char * get_dirname(struct lib_context *lc, char *str) { char *ret = strrchr(str, '/'); size_t len = ret ? ret - str : strlen(str); if ((ret = dbg_malloc(len + 1))) strncpy(ret, str, len); return ret; } /* Convert a numeric string to alpha. */ void mk_alpha(struct lib_context *lc, char *str, size_t len) { for (; len && *str; len--, str++) { if (isdigit(*str)) *str += 'a' - '0'; } } /* Remove any whitespace from a string. */ char * remove_white_space(struct lib_context *lc, char *str, size_t size) { int c; char *in = str, *out = str; in[size] = 0; while ((c = *in++)) { if (!isspace(c)) *out++ = c; } *out = 0; return str; } /* Remove any whitespace at the tail of a string */ void remove_tail_space(char *str) { char *s = str + strlen(str); while (s-- > str && isspace(*s)) *s = 0; } /* Remove/add a delimiter character. */ char * remove_delimiter(char *ptr, char c) { char *ret = NULL; if (ptr && (ret = strchr(ptr, (int) c))) *ret = 0; return ret; } void add_delimiter(char **ptr, char c) { if (ptr && *ptr) { **ptr = c; (*ptr)++; } } char * replace_delimiter(char *str, char delim, char c) { char *s = str; while ((s = remove_delimiter(s, delim))) add_delimiter(&s, c); return str; } /* Grow a string. */ static int grow_string(struct lib_context *lc, char **string, const char *s) { size_t len; char *tmp = *string; len = strlen(s) + (tmp ? strlen(tmp) + 1 : 1); if ((*string = dbg_realloc(tmp, len))) { if (!tmp) **string = '\0'; } else if (tmp) dbg_free(tmp); return *string ? 1 : 0; } /* Free a string. */ void free_string(struct lib_context *lc, char **string) { if (*string) { dbg_free(*string); *string = NULL; } } /* Push a string onto the end of another. */ static int p_str(struct lib_context *lc, char **string, const char *s) { int ret; if ((ret = grow_string(lc, string, s))) strcat(*string, s); return ret; } /* Push a string defined by a start and end pointer onto the end of another. */ static int p_str_str(struct lib_context *lc, char **string, char *begin, char *end) { if (end == begin) return 1; *end = 0; return p_str(lc, string, begin); } /* Push an uint64_t in ascii onto the end of a string. */ static int p_u64(struct lib_context *lc, char **string, const uint64_t u) { char buffer[22]; sprintf(buffer, "%" PRIu64, u); return p_str(lc, string, buffer); } /* Push an uint_t in ascii onto the end of a string. */ static int p_u(struct lib_context *lc, char **string, const unsigned int u) { return p_u64(lc, string, (uint64_t) u); } /* Push an uint_t in ascii onto the end of a string. */ static int p_d(struct lib_context *lc, char **string, const int d) { char buffer[12]; sprintf(buffer, "%d", d); return p_str(lc, string, buffer); } /* Push a format string defined list of arguments onto a string. */ int p_fmt(struct lib_context *lc, char **string, const char *fmt, ...) { int ret = 1; char *b, *f, *f_sav; va_list ap; if (!(f = f_sav = dbg_strdup((char *) fmt))) return 0; va_start(ap, fmt); while (ret && *(b = f++)) { if (!(f = strchr(b, '%'))) { /* No '%' -> just print string. */ ret = p_str(lc, string, b); break; } if (!(ret = p_str_str(lc, string, b, f))) break; switch (*++f) { case 'd': ret = p_d(lc, string, va_arg(ap, int)); break; case 's': ret = p_str(lc, string, va_arg(ap, char *)); break; case 'u': ret = p_u(lc, string, va_arg(ap, unsigned int)); break; case 'U': ret = p_u64(lc, string, va_arg(ap, uint64_t)); break; default: log_err(lc, "%s: unknown format identifier %%%c", __func__, *f); free_string(lc, string); ret = 0; } f++; } va_end(ap); dbg_free(f_sav); return ret; } #ifdef DMRAID_LED int led(const char *path, int status) { #ifdef DMRAID_INTEL_LED FILE *fd; int sgpio = 0; static char com[100]; /* Check if sgpio app is installed. */ if ((fd = popen("which sgpio", "r"))) { sgpio = fscanf(fd, "%s", com); fclose(fd); } if (sgpio != 1) { printf("sgpio app not found\n"); return 1; } switch (status) { case LED_REBUILD: sprintf(com, "sgpio -d %s -s rebuild", path); break; case LED_OFF: sprintf(com, "sgpio -d %s -s off", path); break; default: printf("Unknown LED status\n"); return 2; } if (system(com) == -1) { printf("Call to sgpio app (%s) failed\n", com); return 4; } #endif return 0; } #endif dmraid/1.0.0.rc16/lib/misc/workaround.c0000644000175200007640000000145011254123773017757 0ustar mauelshamauelsha/* * Copyright (C) 2004,2005 Heinz Mauelshagen, Red Hat GmbH. * All rights reserved. * * See file LICENSE at the top of this source tree for license information. */ #include #include "internal.h" /* * OUCH (nasty hack). * * Need to open /dev/hd? in turn in order to * populate /sys/block in case of IDE module * load because of asynchronuous registration !? */ void sysfs_workaround(struct lib_context *lc) { int d, fd; size_t len; char *dev; if (!(dev = dbg_malloc(sizeof(_PATH_DEV) + 4))) LOG_ERR(lc,, "sysfs workaround"); sprintf(dev, "%shd?", _PATH_DEV); for (len = strlen(dev) - 1, d = 'a'; d <= 'z'; d++) { dev[len] = (char) d; if (!removable_device(lc, dev) && (fd = open(dev, O_RDONLY)) != -1) close(fd); } dbg_free(dev); } dmraid/1.0.0.rc16/lib/misc/file.c0000644000175200007640000000441311254123773016505 0ustar mauelshamauelsha/* * Copyright (C) 2004,2005 Heinz Mauelshagen, Red Hat GmbH. * All rights reserved. * * See file LICENSE at the top of this source tree for license information. */ #include "internal.h" /* Create directory recusively. */ static int mk_dir_recursive(struct lib_context *lc, const char *dir) { int ret = 1; char *orig, *s; const char delim = '/'; if (!(orig = s = dbg_strdup((char *) dir))) return log_alloc_err(lc, __func__); /* Create parent directories */ log_notice(lc, "creating directory %s", dir); do { s = remove_delimiter(s + 1, delim); if (mkdir(orig, 0777) && errno != EEXIST) { log_err(lc, "mkdir %s", orig); ret = 0; break; } add_delimiter(&s, delim); } while (s); dbg_free(orig); return ret; } /* Create directory. */ int mk_dir(struct lib_context *lc, const char *dir) { struct stat info; /* If it doesn't exist yet, make it. */ if (stat(dir, &info)) return mk_dir_recursive(lc, dir); if (S_ISDIR(info.st_mode)) return 1; LOG_ERR(lc, 0, "directory %s not found", dir); } static int rw_file(struct lib_context *lc, const char *who, int flags, char *path, void *buffer, size_t size, loff_t offset) { int fd, ret = 0; loff_t o; struct { ssize_t(*func) (); const char *what; } rw_spec[] = { { read, "read"}, { write, "writ"},}, *rw = rw_spec + ((flags & O_WRONLY) ? 1 : 0); if ((fd = open(path, flags, lc->mode)) == -1) LOG_ERR(lc, 0, "opening \"%s\"", path); #ifdef __KLIBC__ #define DMRAID_LSEEK lseek #else #define DMRAID_LSEEK lseek64 #endif if (offset && (o = DMRAID_LSEEK(fd, offset, SEEK_SET)) == (loff_t) - 1) log_err(lc, "%s: seeking device \"%s\" to %" PRIu64, who, path, offset); else if (rw->func(fd, buffer, size) != size) log_err(lc, "%s: %sing %s[%s]", who, rw->what, path, strerror(errno)); else ret = 1; close(fd); return ret; } int read_file(struct lib_context *lc, const char *who, char *path, void *buffer, size_t size, loff_t offset) { return rw_file(lc, who, O_RDONLY, path, buffer, size, offset); } int write_file(struct lib_context *lc, const char *who, char *path, void *buffer, size_t size, loff_t offset) { /* O_CREAT|O_TRUNC are noops on a devnode. */ return rw_file(lc, who, O_WRONLY | O_CREAT | O_TRUNC, path, buffer, size, offset); } dmraid/1.0.0.rc16/lib/misc/lib_context.c0000644000175200007640000001015411254123773020077 0ustar mauelshamauelsha/* * Copyright (C) 2004-2008 Heinz Mauelshagen, Red Hat GmbH. * All rights reserved. * * See file LICENSE at the top of this source tree for license information. */ #include #include "internal.h" #include "version.h" /* Options access functions. */ static inline int lc_opt_ok(enum lc_options o) { return o < LC_OPTIONS_SIZE; } int lc_opt(struct lib_context *lc, enum lc_options o) { return lc_opt_ok(o) ? lc->options[o].opt : 0; } static int _inc_opt(struct lib_context *lc, int o) { return lc->options[o].opt < UCHAR_MAX ? ++lc->options[o].opt : lc->options[o].opt; } int lc_inc_opt(struct lib_context *lc, int o) { return lc_opt_ok(o) ? _inc_opt(lc, o) : 0; } const char * lc_strcat_opt(struct lib_context *lc, enum lc_options o, char *arg, const char delim) { char *ret = NULL; if (lc_opt_ok(o)) { char *a = (char *) OPT_STR(lc, o); size_t end = (a ? strlen(a) : 0), len = end + strlen(arg) + ((delim && end) ? 1 : 0) + 1; /* Dup new one. */ if ((ret = dbg_realloc(a, len))) { if (delim && end) ret[end++] = delim; ret[end] = 0; strcat(ret, arg); OPT_STR(lc, o) = ret; } else { dbg_free((char *) OPT_STR(lc, o)); OPT_STR(lc, o) = ret; log_alloc_err(lc, __func__); } } return ret; } const char * lc_stralloc_opt(struct lib_context *lc, enum lc_options o, char *arg) { if (lc_opt_ok(o)) { /* Free any already allocated one. */ if (OPT_STR(lc, o)) dbg_free((char *) OPT_STR(lc, o)); /* Dup new one. */ if ((OPT_STR(lc, o) = dbg_strdup(arg))) return OPT_STR(lc, o); log_alloc_err(lc, __func__); } return NULL; } const char * lc_opt_arg(struct lib_context *lc, enum lc_options o) { return lc_opt_ok(o) ? lc->options[o].arg.str : NULL; } struct list_head * lc_list(struct lib_context *lc, int l) { return l < ARRAY_SIZE(lc->lists) ? lc->lists + l : NULL; } /* * Library context initialization functions. */ static void init_options(struct lib_context *lc, void *arg) { lc_inc_opt(lc, LC_SEPARATOR); lc->options[LC_SEPARATOR].arg.str = dbg_strdup((char *) ","); lc_inc_opt(lc, LC_PARTCHAR); lc->options[LC_PARTCHAR].arg.str = dbg_strdup((char *) "p"); } static void init_cmd(struct lib_context *lc, void *arg) { lc->cmd = get_basename(lc, ((char **) arg)[0]); } static void init_lists(struct lib_context *lc, void *arg) { unsigned int i = LC_LISTS_SIZE; while (i--) INIT_LIST_HEAD(lc->lists + i); } static void init_mode(struct lib_context *lc, void *arg) { lc->mode = 0600; } static void init_paths(struct lib_context *lc, void *arg) { lc->path.error = "/dev/zero"; } /* FIXME: add lib flavour info (e.g., DEBUG). */ static void init_version(struct lib_context *lc, void *arg) { lc->version.text = DMRAID_LIB_VERSION; lc->version.date = DMRAID_LIB_DATE; lc->version.v.major = DMRAID_LIB_MAJOR_VERSION; lc->version.v.minor = DMRAID_LIB_MINOR_VERSION; lc->version.v.sub_minor = DMRAID_LIB_SUBMINOR_VERSION; lc->version.v.suffix = DMRAID_LIB_VERSION_SUFFIX; } /* Put init functions into an array because of the potentially growing list. */ struct init_fn { void (*func) (struct lib_context * lc, void *arg); } init_fn[] = { { init_options}, { init_cmd}, { init_lists}, { init_mode}, { init_paths}, { init_version},}; struct lib_context * alloc_lib_context(char **argv) { struct lib_context *lc; struct init_fn *f; if ((lc = dbg_malloc(sizeof(*lc)))) { for (f = init_fn; f < ARRAY_END(init_fn); f++) f->func(lc, argv); #ifdef DEBUG_MALLOC /* * Set DEBUG flag in case of memory debugging so that we * see messages even before the command line gets parsed. */ lc_inc_opt(lc, LC_DEBUG); #endif } else fprintf(stderr, "allocating library context\n"); return lc; } void free_lib_context(struct lib_context *lc) { int o; for (o = 0; o < LC_OPTIONS_SIZE; o++) { if (lc->options[o].arg.str) dbg_free((char *) lc->options[o].arg.str); } dbg_free(lc); } /* Return library date (ASCII). */ const char * libdmraid_date(struct lib_context *lc) { return lc->version.date; } /* Return library version (ASCII). */ const char * libdmraid_version(struct lib_context *lc) { return lc->version.text; } dmraid/1.0.0.rc16/lib/misc/init.c0000644000175200007640000000172611254123773016535 0ustar mauelshamauelsha/* * Copyright (C) 2004-2008 Heinz Mauelshagen, Red Hat GmbH. * All rights reserved. * * See file LICENSE at the top of this source tree for license information. */ #include "internal.h" extern int dso; /* Library initialization. */ struct lib_context * libdmraid_init(int argc, char **argv) { struct lib_context *lc; dso = (argv[0] && !strcmp(argv[0], "dso")) ? 1 : 0; if ((lc = alloc_lib_context(argv))) { if (!register_format_handlers(lc)) { libdmraid_exit(lc); lc = NULL; } else /* FIXME: do we need this forever ? */ sysfs_workaround(lc); } return lc; } /* Library exit processing. */ void libdmraid_exit(struct lib_context *lc) { free_raid_set(lc, NULL); /* Free all RAID sets. */ free_raid_dev(lc, NULL); /* Free all RAID devices. */ free_dev_info(lc, NULL); /* Free all disk infos. */ unregister_format_handlers(lc); /* Unregister all format handlers. */ free_lib_context(lc); /* Release library context. */ } dmraid/1.0.0.rc16/lib/events/0000755000175200007640000000000011254124252015762 5ustar mauelshamauelshadmraid/1.0.0.rc16/lib/events/libdmraid-events-isw.c0000644000175200007640000011673611254123773022204 0ustar mauelshamauelsha/* * Copyright (C) 2007-2008, Intel Corp. All rights reserved. * * * 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 */ /* * Authors: Brian Wood (brian.j.wood@intel.com), Intel Corporation * Adam Cetnerowski (adam.cetnerowski@intel.com), Intel Corporation * Grzegorz Grabowski (grzegorz.grabowski@intel.com). Intel Corporation * Date: 08/07-04/09 * Description: This is a DSO library that is registered with dmeventd * to capture device mapper raid events for dmraid. */ /* * FIXME before releasing in RHEL5 (Heinz Mauelshagen): * * o symbols naming consistency * * Likely after 5.3: * o integrate code with dmraid package * o support metadata updates * o use libsysfs rather than duplicated code to access sysfs * o remove any limitations to SATA, because dmraid must be device agnostic; * ie. the devices being registered with dmeventd have to be derived from * libdmraid metadata discovery; this essentially means a rewrite! * * FIXED: * o stremaline event processing functions * o register/event processing major:minor usage concept * o cover error paths * o locking race vs. registration in event processing * o many memory leaks (eg. dev_names static size) * o deal properly with multiple failing devices during event processing * o replace memcpy by s[n]printf/strcpy/cat and check for memory leaks * o status char corrections in event processing * o be agnostic to sysfs block delimiter * o any (naming) limitations to Intel Matrix RAID * o lots of code duplication * o superfluous memory allocations * o use device-mapper library malloc functions * o use library context macros * o variable declaration consistency * o streamlined in general for better readability * o avoid DSO header file * o white space / indenting */ /* * Enable this to have the DSO post each * event to the syslog before processing. */ /* #define _LIBDMRAID_DSO_ALL_EVENTS 1 */ /* #define _LIBDMRAID_DSO_TESTING 1 */ #include #include #include #include #include #include #include #include #include #include #include #include #define LIBDMRAID_EVENTS_VERSION "1.0.0.rc5" #define BUF_SIZE 256 /* Disk states definitions. */ enum disk_state_type { D_IGNORE, /* Ignore disk. */ D_INSYNC, /* Disk is in sync. */ D_FAILURE_NOSYNC, D_FAILURE_READ, D_FAILURE_DISK, D_FAILURE_LOG, }; /* RAID set rebuild type definitions. */ enum rebuild_type { REBUILD_START, REBUILD_END }; /* Various constant strings used throughout. */ static const char *default_dmraid_events_lib = "libdmraid-events.so"; static const char *sys_dm_dm = "dm-"; static const char *sys_block_path = "/sys/block/"; static const char *sys_dm_path = "/sys/block/dm-"; static const char *sys_scsi_path = "/sys/class/scsi_device/"; static const char *sys_slaves_dir = "/slaves"; static const char *sys_scsi_dev_blk = "/device/block"; static const char sys_scsi_dev_blk_delims[] = { '/', ':' }; static const char *sys_dev_dir = "/dev"; static const char *syslog_ident = "libdmraid-events"; /* Logging. */ enum log_type { LOG_NAMES, LOG_PORTS, LOG_OPEN_FAILURE, LOG_NONE }; /* LED control. */ /* Control type definitions. Don't change order w/o changing _dev_led_one()! */ enum led_ctrl_type { DSO_LED_OFF = 0, DSO_LED_FAULT, DSO_LED_REBUILD }; #define SGPIO_DISK 'd' #define SGPIO_PORT 'p' #define MM_SIZE 16 /* Size of major:minor strings. */ #define DEV_NAME 16 /* Size of device name (e.g. sda). */ #define ARRAY_SIZE(a) (sizeof(a) / sizeof(*a)) #define ARRAY_END(a) (a + ARRAY_SIZE(a)) /* * Used to store the individual member RAID disk * information that is part of a larger RAID set set. */ struct dso_raid_dev { char name[DEV_NAME]; /* sda, sdb, etc... */ char major_minor[MM_SIZE]; /* 8:16, 8:32, etc... */ int port; /* 0, 1, 2, etc... */ int active; /* Device active if != 0. */ }; /* Used to store all the registered RAID sets against this DSO * This will allow for reporting robust information for when a drive * within a RAID set is exhibiting problems. */ #define RS_IN_USE 1 /* RAID set structure in use flag. */ struct dso_raid_set { pthread_mutex_t event_mutex; /* Event processing serialization. */ struct dso_raid_set *next; /* next RAID set registered against DSO. */ char *name; /* RAID set name. */ int num_devs; /* Number of devices in RAID set. */ int max_devs; /* Number of devices allocated. */ unsigned long flags; /* Used as lock if RS_IN_USE bit set. */ /* Do not declare anything below this structure. */ struct dso_raid_dev devs[0]; }; static struct dso_raid_set *raid_sets = NULL; /* * register_device() is called first and performs initialisation. * Only one device may be registered or unregistered at a time. */ static pthread_mutex_t _register_mutex = PTHREAD_MUTEX_INITIALIZER; /* Is sgpio app available? */ static int _issgpio = 0; /* Check for availibility of sgpio tool. */ /* FIXME: what's the use of this when admin removes sgpio? */ static void _check_sgpio(void) { char sgpio_path[50]; FILE *fd = popen("which sgpio", "r"); if (fd) { if (fscanf(fd, "%s", sgpio_path) == 1) { _issgpio = 1; syslog(LOG_ALERT, "SGPIO handling enabled"); } fclose(fd); } else _issgpio = 0; } /* * Call sgpio app to control LED on one device. */ /* * FIXME: run in seperate thread to prevent blocking main * dmeventd thread or use sgpio library functions. */ static int _dev_led_one(enum led_ctrl_type status, const char type, struct dso_raid_dev *dev) { int ret, sz; char com[100]; static const char *led_ctrl[] = { "off", "fault", "rebuild" }; if (!_issgpio || dev->port < 0) return 0; sz = sprintf(com, "sgpio -"); switch (type) { case SGPIO_DISK: sz += sprintf(com + sz, "d %s", dev->name); break; case SGPIO_PORT: sz += sprintf(com + sz, "p %d", dev->port); } sprintf(com + sz, " -s %s", led_ctrl[status]); ret = system(com); if (ret == -1) syslog(LOG_ERR, "Call \"%s\" failed", com); return ret; } /* Work all devices of @rs changing LED state. */ static int _dev_led_all(enum led_ctrl_type status, struct dso_raid_set *rs) { int i, r, ret = 0; struct dso_raid_dev *dev; for (dev = rs->devs, i = 0; i < rs->num_devs; dev++, i++) { r = _dev_led_one(status, SGPIO_DISK, dev); if (r && !ret) ret = r; } return ret; } /*************************************************/ /******** Interfaces to dmraid library ***********/ /*************************************************/ /* Wrapper function for lib_perform() call. */ static int _dso_rebuild(struct lib_context *lc, int arg) { return rebuild_raidset(lc, (char *)OPT_STR(lc, LC_REBUILD_SET)); } struct prepost prepost[] = { /* Rebuild. */ { REBUILD, M_DEVICE | M_RAID | M_SET, ANY_ID, NO_LOCK, NULL, 0, _dso_rebuild, }, /* End of rebuild. */ { END_REBUILD, M_DEVICE | M_RAID | M_SET, ANY_ID, NO_LOCK, NULL, 0, dso_end_rebuild, }, /* Get RAID members. */ { GET_MEMBERS, M_DEVICE | M_RAID | M_SET, ROOT, LOCK, NULL, 0, dso_get_members, }, }; /* * Find entry in global RAID set list by @dev_name. * * Optionally return reference to previous set in @prev. */ static struct dso_raid_set *_find_raid_set(const char *dev_name, struct dso_raid_set **prev, int log) { struct dso_raid_set *rs = raid_sets; if (prev) *prev = rs; for ( ; rs && strcmp(rs->name, dev_name); rs = rs->next) { if (prev) *prev = rs; } if (!rs && log) syslog(LOG_ERR, "Can't find RAID set for device \"%s\"", dev_name); return rs; } /* Initialize a DSO RAID device structure. */ static void _dso_dev_init(struct dso_raid_dev *dev) { *dev->name = '\0'; *dev->major_minor = '\0'; dev->port = -1; dev->active = 0; } static void __dso_dev_copy(struct dso_raid_dev *dst, struct dso_raid_dev *src) { strcpy(dst->name, src->name); strcpy(dst->major_minor, src->major_minor); dst->port = src->port; } /* Copy a struct dso_raid_dev. */ static void _dso_dev_copy(struct dso_raid_set *rs, struct dso_raid_dev *dst) { struct dso_raid_dev *src = rs->devs + rs->num_devs - 1; if (rs->num_devs < 0) syslog(LOG_ERR, "Programatic error: num_devs < o"); if (src != dst) __dso_dev_copy(dst, src); _dso_dev_init(src); rs->num_devs--; } /* Free (destroy) a RAID set structure. */ static void _destroy_raid_set(struct dso_raid_set *rs) { if (rs) { if (rs->name) dm_free(rs->name); dm_free(rs); } } /* Initialize a RAID set structure for @dev_name. */ static struct dso_raid_set *_init_raid_set(struct dso_raid_set *rs, const char *rs_name) { rs->name = dm_strdup(rs_name); if (!rs->name) { _destroy_raid_set(rs); return NULL; } pthread_mutex_init(&rs->event_mutex, NULL); rs->next = NULL; rs->flags = 0; rs->max_devs = rs->num_devs = 0; return rs; } /* * Incrementially (re)allocate a given/new RAID set * structure @rs by one DSO RAID device structure. */ static struct dso_raid_set *_inc_raid_set(struct dso_raid_set *rs, const char *rs_name, const char *dev_name) { int num_devs = rs ? rs->num_devs : 1; struct dso_raid_set *tmp; /* Allocate RAID set structure with num_devs RAID device structures. */ tmp = dm_realloc(rs, sizeof(struct dso_raid_set) + sizeof(struct dso_raid_dev) * (num_devs + 1)); if (tmp) { if (!rs) { if (!_init_raid_set(tmp, rs_name)) return NULL; } rs = tmp; } else { if (rs) _destroy_raid_set(rs); syslog(LOG_ERR, "Failed to grow RAID set structure"); return NULL; } _dso_dev_init(rs->devs + rs->num_devs); rs->max_devs++; rs->num_devs++; return rs; } /* Link to global RAID set list. */ static void _add_raid_set(struct dso_raid_set *rs) { /* Link to global RAID set list. */ if (raid_sets) { struct dso_raid_set *prev; /* Return last RAID set in @prev. */ _find_raid_set(" ", &prev, 0); prev->next = rs; } else raid_sets = rs; } /* Delete from global RAID set list. */ static void _del_raid_set(struct dso_raid_set *rs, struct dso_raid_set *prev) { /* Unlink RAID set from global list. */ if (rs == raid_sets) /* Remove head node. */ raid_sets = rs->next; else /* Remove n+1 node. */ prev->next = rs->next; } /* Check if device in @path is active and adjust @dev. */ /* FIXME: straighten this by using libsysfs ? */ static void _check_raid_dev_active(const char *dev_name, struct dso_raid_dev *dev) { char path[BUF_SIZE]; DIR *dir; sprintf(path, "%s%s", sys_block_path, dev_name); dir = opendir(path); if (dir) closedir(dir); dev->active = !!dir; } /* Map action characters to enumerators. */ static enum action _lib_get_action(int o) { if (o == 'R') return REBUILD; else if (o == 'F') return END_REBUILD; else if (o == 'r') return GET_MEMBERS; else return UNDEF; } /* * Set action flag and call optional function. * * Returns action on success, UNDEF on error. */ static enum action _lib_set_action(struct lib_context *lc, int o, char *str) { char *s; enum action action = _lib_get_action(o); if (action != UNDEF) { s = dm_strdup(str); if (!s) { syslog(LOG_ERR, "Failed to allocate action string"); return UNDEF; } OPT_STR(lc, LC_REBUILD_SET) = s; lc_inc_opt(lc, LC_REBUILD_SET); } return action; } static int _dso_perform(struct lib_context *lc, char **argv, enum action action) { struct prepost *p; /* Find appropriate action. */ for (p = prepost; p < ARRAY_END(prepost); p++) { if (p->action & action) return lib_perform(lc, action, p, argv); } return 0; } /* Find entry in RAID sets device list by major:minor or device name. */ enum find_type { BY_NUM, BY_NAME }; static struct dso_raid_dev *_find_dso_dev(struct dso_raid_set *rs, enum find_type type, const char *id) { int i; struct dso_raid_dev *dev; for (dev = rs->devs, i = rs->num_devs; i--; dev++) { if (!strcmp(id, type == BY_NUM ? dev->major_minor : dev->name)) return dev; } syslog(LOG_ERR, "Finding RAID dev for \"%s\" failed!", id); return NULL; } /* Return number of devices in @status string by counting 'A'/'D' characters. */ static int _get_num_devs_from_status(char *status) { int ret; for (ret = 0; *status; status++) { if (*status == 'A' || *status == 'D') ret++; } return ret; } /* Cleanup scandir() allocations. */ static void _destroy_dirent(struct dirent **dir_ent, int start_index, int end) { if (dir_ent) { int i = start_index; for ( ; i < end; i++) { if (dir_ent[i]) free(dir_ent[i]); } free(dir_ent); } } /* * On event status parsing failure: * free arguments in @args if any and log error message @what. */ static void _event_cleanup_and_log(char **args, const char *what) { if (args) dm_free(args); syslog(LOG_ERR, " Unable to parse %s status string.", what); } /* scandir() filter to avoid '.' directory entries. */ static int _scandir_dot_filter(const struct dirent *dent) { return *dent->d_name != '.'; } /* scandir() filter to avoid all non-"dm-" directory entries. */ static int _scandir_dm_filter(const struct dirent *dent) { return !strncmp(dent->d_name, sys_dm_dm, strlen(sys_dm_dm)); } /* scandir() given @path, optionally log error. */ static int _scandir(const char *path, struct dirent ***dirent, int (*filter)(const struct dirent *)) { /* Scan the directory /sys/block. */ int ret = scandir(path, dirent, filter, alphasort); if (ret < 0) syslog(LOG_ERR, " scandir error on path \"%s\"", path); return ret; } /* * Get major:minor form sysfs for @path and set in @dev. * * Return 1 for failure, 0 for success. */ /* FIXME: straighten this by using libsysfs ? */ static int _get_sysfs_major_minor(const char *d_name, char *major_minor, enum log_type log_type) { char path[BUF_SIZE]; FILE *fd; sprintf(path, "%s%s%s", sys_block_path, d_name, sys_dev_dir); fd = fopen(path, "r"); if (fd) { int r = fscanf(fd, "%s", major_minor); fclose(fd); if (r == 1) return 0; syslog(LOG_ERR, " Could not get major:minor from %s", path); return 1; } else if (log_type == LOG_OPEN_FAILURE) syslog(LOG_ERR, " Could not open %s for reading", path); return 1; } /* * Retrieve device properties for @dev_name from sysfs * (major:minor and port number) into @dev. * * Return 0 for failure, 0 for success. */ /* FIXME: straighten this by using libsysfs ? */ static int _set_raid_dev_properties(const char *dev_name, struct dso_raid_dev *dev, enum log_type log_type) { int dir_entries, i, len; char path[BUF_SIZE]; DIR *dir; struct dirent **dir_ent; strcpy(dev->name, dev_name); /* Get major:minor of this RAID device. */ if (_get_sysfs_major_minor(dev_name, dev->major_minor, log_type)) return -ENOENT; dir_entries = _scandir(sys_scsi_path, &dir_ent, _scandir_dot_filter); if (dir_entries < 0) return -ENOENT; /* Remember length of initial sysfs path. */ strcpy(path, sys_scsi_path); len = strlen(path); dev->port = -1; for (i = 0; i < dir_entries; i++) { int j; /* d_name is the "X:X:X:X". */ const char *d_name = dir_ent[i]->d_name; for (j = 0; j < sizeof(sys_scsi_dev_blk_delims); j++) { /* Append the "X:X:X:X/device/block[:/]$name". */ sprintf(path + len, "%s%s%c%s", d_name, sys_scsi_dev_blk, sys_scsi_dev_blk_delims[j], dev_name); if ((dir = opendir(path))) { closedir(dir); dev->port = atoi(d_name); goto out; } } dm_free(dir_ent[i]); } out: _destroy_dirent(dir_ent, i, dir_entries); return 0; } /* * Add new devices and their properties to RAID set @rs_name for @dev_name. * * Return 0 for failure, 1 for success. */ static int _repopulate(const char *rs_name, char *dev_names) { int r, ret = 0; char *dev_name; struct dso_raid_set *rs = _find_raid_set(rs_name, NULL, 1); struct dso_raid_dev *dev; if (!rs) return 0; /* Parse device name from string of names. */ while ((dev_name = strtok(dev_names, " "))) { dev_names = NULL; /* Prepare for strtok() iteration. */ dev_name = basename(dev_name); /* No dir upfront. */ /* Check, if RAID device already in RAID set. */ dev = _find_dso_dev(rs, BY_NAME, dev_name); if (dev) continue; /* * Check against potential memory leak: * access past end of devs array in case array grows ? */ if (rs->num_devs > rs->max_devs) { syslog(LOG_ERR, "programming error: num_devs=%d > max_devs=%d!", rs->num_devs, rs->max_devs); ret = 0; break; } dev = rs->devs + rs->num_devs; r = _set_raid_dev_properties(dev_name, dev, LOG_NONE); if (!r) { _check_raid_dev_active(dev_name, dev); rs->num_devs++; ret++; syslog(LOG_INFO, "Added device /dev/%s (%s) port=%i", dev_name, dev->major_minor, dev->port); } } return !!ret; } /* DSO main function. */ static int _lib_main(char op, const char *device) { int lib_argc = 3, ret = 0; char op_str[] = { op, '\0' }, *lib_argv[] = { (char *) "dso", op_str, dm_strdup((char *)device), NULL, }, *dev_name = lib_argv[2]; struct lib_context *lc; if (!dev_name) { syslog(LOG_ERR, "Failed to allocate memory for device name"); return 0; } lc = libdmraid_init(lib_argc, lib_argv); if (lc) { enum action action = _lib_set_action(lc, op, dev_name); if (action != UNDEF) { /* * init_locking returns 1 for success * _dso_perform returns 0 for success */ ret = !init_locking(lc) || _dso_perform(lc, lib_argv + lib_argc, action); if (!ret && action == GET_MEMBERS) ret = _repopulate(device, (char *)OPT_STR(lc, LC_REBUILD_SET)); } libdmraid_exit(lc); } dm_free(dev_name); return ret; /* return 0 for success */ } /*******************************************/ /* * Log a devive error. * * Return 1 for failure, 0 for success. */ static int _log_event(struct dm_task *dmt, const char *major_minor, const char *type) { const char *dev_name = dm_task_get_name(dmt); struct dso_raid_set *rs = _find_raid_set(dev_name, NULL, 1); struct dso_raid_dev *dev; struct dm_info dev_info; if (!rs) return 1; /* Match up the major:minor to RAID devices. */ dev = _find_dso_dev(rs, BY_NUM, major_minor); if (dev) { dm_task_get_info(dmt, &dev_info); syslog(LOG_ERR, " %s, %s (%s) has reported an I/O error.\n" " The kernel has recorded %u event(s) against this " "device.\n", type, major_minor, dev->name, dev_info.event_nr); return 1; } return 0; } /* Add new dev_name=status string to @dev_names array. */ static struct dso_raid_set *_add_raid_dev(struct dso_raid_set *rs, const char *rs_name, const char *d_name, enum log_type log_type) { /* Add a RAID device structure to the RAID set. */ struct dso_raid_set *grown_raid_set = _inc_raid_set(rs, rs_name, d_name); if (grown_raid_set) { struct dso_raid_dev *dev = grown_raid_set->devs + grown_raid_set->num_devs - 1; if (_set_raid_dev_properties(d_name, dev, log_type)) { dm_free(grown_raid_set); return NULL; } } return grown_raid_set; } /* * Generic logging functions for RAID device names+status and port mappings. */ static int _snprintf_either(enum log_type log_type, char *str, int sz, struct dso_raid_dev *dev) { return log_type == LOG_NAMES ? snprintf(str, sz, "/dev/%s=%s ", dev->name ? dev->name : "", dev->active ? "Active" : "Disabled") : snprintf(str, sz, "/dev/%s=%d ", dev->name, dev->port); } static int _log_all_devs(enum log_type log_type, struct dso_raid_set *rs, char *str, int sz) { int i, len; struct dso_raid_dev *dev; for (dev = rs->devs, i = 0; i < rs->num_devs; dev++, i++) { if (log_type == LOG_NAMES || dev->port > -1) { len = str ? strlen(str) : 0; sz += _snprintf_either(log_type, str + len, str ? sz - len : 0, dev); } } return sz; } static void _log_either(enum log_type log_type, struct dso_raid_set *rs, const char *msg[]) { int sz; char *str; if (!rs->num_devs) return; sz = _log_all_devs(log_type, rs, NULL, 0); if (!sz) { syslog(LOG_ERR, msg[0]); return; } str = dm_malloc(++sz); if (!str) { syslog(LOG_ERR, msg[1]); return; } /* Match up the port names to devices. */ *str = '\0'; _log_all_devs(log_type, rs, str, sz); syslog(LOG_INFO, "%s: %s", msg[2], str); dm_free(str); } /* Log RAID device names and states. */ static void _log_dev_names(struct dso_raid_set *rs ) { _log_either(LOG_NAMES, rs, /* Log RAID device names for RAID set. */ (const char *[]) { NULL, " Failed to allocate device names string", " Associated Userspace Names" } ); } /* Log RAID device port mappings. */ static void _log_ports(struct dso_raid_set *rs) { _log_either(LOG_PORTS, rs, /* Log their ports if any. */ (const char *[]) { " Could not find matching port-to-device mapping", " Failed to allocate port mapping string", " Associated Port Mapping", } ); } /* Log both device names + status plus port mappings. */ static void _log_names_and_ports(struct dso_raid_set *rs) { _log_dev_names(rs); _log_ports(rs); } /* * Retrieve RAID set component devices of @dev_name * from sysfs list of slaves and return in array @dev_names * incrementing @num_devs. */ /* FIXME: straighten this by using libsysfs ? */ static struct dso_raid_set *_get_slave_devices(const char *rs_name, const char *dev_name, enum log_type log_type) { int dir_entries, i, len; char *d_name, path[BUF_SIZE]; struct dso_raid_set *rs = NULL; struct dirent **dir_ent; /* Scan the directory .../slaves. */ sprintf(path, "%s%s%s", sys_block_path, dev_name, sys_slaves_dir); dir_entries = _scandir(path, &dir_ent, _scandir_dot_filter); if (dir_entries < 0) return NULL; /* Work the component devices (eg. /dev/sda). */ len = strlen(path); for (i = 0; i < dir_entries; i++) { d_name = dir_ent[i]->d_name; sprintf(path + len, "/%s", d_name); /* Append to RAID sets list of RAID devices. */ rs = _add_raid_dev(rs, rs_name, d_name, log_type); if (!rs) break; dm_free(dir_ent[i]); _check_raid_dev_active(d_name, rs->devs + rs->num_devs - 1); } _destroy_dirent(dir_ent, i, dir_entries); return rs; } /* Return 1 if @dev_name is the mapped device with major:minor in @info. */ static int _is_our_mapped_device(const char *dev_name, struct dm_info *info, enum log_type log_type) { char mm[MM_SIZE], i_mm[MM_SIZE]; /* Open "dev" sys file to retrieve major:minor. */ if (_get_sysfs_major_minor(dev_name, mm, log_type)) return 0; sprintf(i_mm, "%d:%d", info->major, info->minor); return !strcmp(mm, i_mm); } /* * Create RAID set structure for @rs_name and * get the user recognizable component device * names and their status. * * Returns the resulting RAID set structure or NULL for failure. */ /* FIXME: straighten this by using libsysfs ? */ static struct dso_raid_set *_create_raid_set(const char *rs_name, enum log_type log_type) { int dir_entries, i, ret; const char *d_name; struct dso_raid_set *rs = NULL; struct dm_task *dmt; struct dm_info dev_info; struct dirent *dent, **dir_ent; /* Get device Info. */ dmt = dm_task_create(DM_DEVICE_INFO); if (!dmt) { syslog(LOG_ERR, " failed to create device-mapper task"); return NULL; } if (!dm_task_set_name(dmt, rs_name) || !dm_task_no_open_count(dmt) || !dm_task_run(dmt)) { /* Destroy DM_DEVICE_INFO task. */ dm_task_destroy(dmt); syslog(LOG_ERR, " failed to retrieve device-mapper info " "for \"%s\"\n", rs_name); return NULL; } dm_task_get_info(dmt, &dev_info); dm_task_destroy(dmt); /* Destroy DM_DEVICE_INFO task. */ /* Scan the directory /sys/block. */ dir_entries = _scandir(sys_block_path, &dir_ent, _scandir_dm_filter); if (dir_entries < 0) return NULL; /* Walk the directory entries and check for our major:minor. */ for (i = 0; i < dir_entries; i++) { dent = dir_ent[i]; d_name = dent->d_name; /* Check for mapped device. */ ret = _is_our_mapped_device(d_name, &dev_info, log_type); if (ret) { i++; /* Prevent dir_ent[i] from being deleted. */ break; /* Found our RAID set device. */ } dm_free(dir_ent[i]); } /* Destroy all but our dir_ent. */ _destroy_dirent(dir_ent, i, dir_entries); /* If found our device -> check slaves directory. */ if (ret) { rs = _get_slave_devices(rs_name, d_name, log_type); free(dent); } return rs; } /* Function calls dmraid to start and finish RAID rebuild. */ static int _rebuild(enum rebuild_type rebuild_type, const char *dev_name) { int ret = 0; struct dso_raid_set *rs = _find_raid_set(dev_name, NULL, 1); if (!rs) return 0; switch (rebuild_type) { case REBUILD_START: if (!_lib_main('R', dev_name)) { syslog(LOG_INFO, "Rebuild started"); _lib_main('r', dev_name); /* Turn all LEDs to rebuild state. */ _dev_led_all(DSO_LED_REBUILD, rs); } else syslog(LOG_ERR, "Automatic rebuild was not started for %s. " "Please try manual rebuild.\n", dev_name); break; case REBUILD_END: if (!_lib_main('F', dev_name) || !_lib_main('r', dev_name)) syslog(LOG_NOTICE, "Rebuild of RAID set %s complete", dev_name); /* Turn all RAID set LEDs off anyway, since it's in-sync.*/ /* Used also for manual rebuild. */ _dev_led_all(DSO_LED_OFF, rs); } return ret; } /* Get number of devices from status parameter string. */ static int _get_num_devs(char *params, char **p) { /* Split number of devices from status parameter string. */ if (dm_split_words(params, 1, 0, p) == 1) { char *numstr = *p; /* Skip past split num_devs. */ *p += strlen(*p) + 1; return atoi(numstr); } return 0; } /* Get the stripe device(s) that caused the trigger. */ static enum disk_state_type _process_stripe_event(struct dm_task *dmt, char *params) { int argc, i, num_devs, ret = D_INSYNC; char **args, *dev_status_str, *p; const char *rs_name = dm_task_get_name(dmt); struct dso_raid_set *rs = _find_raid_set(rs_name, NULL, 1); struct dso_raid_dev *dev; if (!rs) return D_IGNORE; /* * dm core parms (NOT provided in @params): 0 976783872 striped * * stripe device parms: 2 253:4 253:5 * stripe device status: 1 AA */ /* Number of devices. */ num_devs = _get_num_devs(params, &p); if (!num_devs) goto err; /* Allocate array for num_devs plus status paramter count + chars. */ argc = num_devs + 2; args = dm_malloc(argc * sizeof(*args)); if (!args || dm_split_words(p, argc, 0, args) != argc) goto err; /* Consistency check on num_devs and status chars. */ dev_status_str = args[num_devs + 1]; i = _get_num_devs_from_status(dev_status_str); if (i != num_devs) goto err; /* Check for bad stripe devices. */ for (i = 0, p = dev_status_str; i < rs->num_devs; i++, p++) { if (*p == 'D') { _log_event(dmt, args[i], "Stripe device dead"); /* Find and remove failed striped device member. */ dev = _find_dso_dev(rs, BY_NUM, args[i]); if (dev) { /* Set device LED to fault on device. */ _dev_led_one(DSO_LED_FAULT, SGPIO_PORT, dev); /* Copy last device in set; reduce num_devs. */ _dso_dev_copy(rs, dev); ret = D_FAILURE_DISK; } } } return ret; err: /* Clean up and syslog. */ _event_cleanup_and_log(args, "stripe"); return D_IGNORE; } /* Get the mirror event that caused the trigger. */ static enum disk_state_type _process_mirror_event(struct dm_task *dmt, char *params) { int argc, i, log_argc, num_devs, ret = D_INSYNC; char **args = NULL, *dev_status_str, *log_status_str, *p, *sync_str; const char *rs_name = dm_task_get_name(dmt); struct dso_raid_set *rs = _find_raid_set(rs_name, NULL, 1); if (!rs) return D_IGNORE; /* * dm core parms (NOT provided in @params): 0 409600 mirror * * mirror core parms: 2 253:4 253:5 400/400 * mirror device status: 1 AA * mirror log status: 3 cluster 253:3 A * *or* 3 disk 253:3 A * *or* 1 core */ /* Number of devices. */ num_devs = _get_num_devs(params, &p); if (!num_devs) goto err; /* devices names + "400/400 1 AA" + 1 or 3 log parms. */ argc = num_devs + 4; args = dm_malloc(argc * sizeof(*args)); if (!args || dm_split_words(p, argc, 0, args) != argc) goto err; log_argc = atoi(args[num_devs + 3]); if (!log_argc) goto err; if (log_argc > 1) { /* Skip split pointer past last split argument. */ p += strlen(args[argc - 1]) + 1; /* Reallocate array for new members. */ argc += log_argc; args = dm_realloc(args, argc * sizeof(*args)); if (!args || dm_split_words(p, log_argc, 0, args + argc - log_argc) != log_argc) goto err; log_status_str = args[num_devs + log_argc + 3]; } /* Consistency check on num_devs and status chars. */ dev_status_str = args[num_devs + 2]; i = _get_num_devs_from_status(dev_status_str); if (i != num_devs) goto err; sync_str = args[num_devs]; /* Check for bad mirror devices. */ for (i = 0, p = dev_status_str; i < rs->num_devs; i++, p++) { struct dso_raid_dev *dev; switch (*p) { /* Mirror leg dead -> remove it. */ case 'D': _log_event(dmt, args[i], "Mirror device failed"); /* Find and remove failed disk member. */ dev = _find_dso_dev(rs, BY_NUM, args[i]); if (dev) { /* Set device LED to fault on port. */ _dev_led_one(DSO_LED_FAULT, SGPIO_PORT, dev); /* Copy last device in set; reduce num_devs. */ _dso_dev_copy(rs, dev); ret = D_FAILURE_DISK; } break; case 'R': _log_event(dmt, args[i], "Mirror device read error"); ret = D_FAILURE_READ; break; case 'S': syslog(LOG_ERR, "Mirror device %s out of sync", args[i]); ret = D_FAILURE_NOSYNC; break; case 'U': _log_event(dmt, args[i], "Mirror device unknown error"); ret = D_FAILURE_DISK; } } if (ret > D_INSYNC) goto out; /* Check for bad disk log device. */ if (log_argc > 1 && *log_status_str == 'D') { syslog(LOG_ERR, " Log device, %s, has failed.", args[num_devs + log_argc + 2]); ret = D_FAILURE_LOG; goto out; } /* Compare the sync/total counters. */ p = strstr(sync_str, "/"); if (p++) ret = strncmp(sync_str, p, strlen(p)) ? D_IGNORE : D_INSYNC; else goto err; out: if (args) dm_free(args); return ret; err: _event_cleanup_and_log(args, "mirror"); return D_IGNORE; } /* Get the raid45 device(s) that caused the trigger. */ static enum disk_state_type _process_raid45_event(struct dm_task *dmt, char *params) { int argc, i, num_devs, dead, ret = D_INSYNC; char **args = NULL, *dev_status_str, *p; const char *rs_name = dm_task_get_name(dmt); struct dso_raid_set *rs = _find_raid_set(rs_name, NULL, 1); struct dso_raid_dev *dev; if (!rs) return D_IGNORE; /* * dm core parms (NOT provided in @params): 0 976783872 raid45 * * raid45 device parms: 3 253:4 253:5 253:6 * raid45 device status: 1 AAA */ /* Number of devices. */ num_devs = _get_num_devs(params, &p); if (!num_devs) goto err; /* Devices names + "1" + "AA". */ argc = num_devs + 2; args = dm_malloc(argc * sizeof(*args)); if (!args || dm_split_words(p, argc, 0, args) != argc) goto err; dev_status_str = args[num_devs + 1]; /* Consistency check on num_devs and status chars. */ i = _get_num_devs_from_status(dev_status_str); if (i != num_devs) goto err; /* Check for bad raid45 devices. */ for (i = 0, p = dev_status_str; i < rs->num_devs; i++) { /* Skip past any non active/dead identifiers. */ dead = *(p++) == 'D'; while (*p && *p != 'A' && *p != 'D') p++; if (!dead) continue; _log_event(dmt, args[i], "Raid45 device failed"); /* Find and remove failed disk member. */ dev = _find_dso_dev(rs, BY_NUM, args[i]); if (dev) { /* Set device LED to fault on port. */ _dev_led_one(DSO_LED_FAULT, SGPIO_PORT, dev); /* Copy last device in set; reduce num_devs. */ _dso_dev_copy(rs, dev); ret = D_FAILURE_DISK; } } return ret; err: _event_cleanup_and_log(args, "raid45"); return D_IGNORE; } /* Process RAID device events. */ static void _process_event(char *target_type, struct dm_task *dmt, char *params) { const char *uuid = dm_task_get_uuid(dmt); const char *rs_name = dm_task_get_name(dmt); static struct { const char *target_type; enum disk_state_type (*f)(struct dm_task *dmt, char *params); int rebuild; } *proc, process[] = { { "striped", _process_stripe_event, 0 }, { "mirror", _process_mirror_event, 1 }, { "raid45", _process_raid45_event, 1 }, }; #ifdef _LIBDMRAID_DSO_TESTING struct dso_raid_set *rs; #endif /* * Determine if this was a * stripe (raid 0), * mirror (raid 1) * or * raid45 (raid 4/5). */ for (proc = process; proc < ARRAY_END(process); proc++) { if (!strcmp(target_type, proc->target_type)) break; } if (proc >= ARRAY_END(process)) return; switch (proc->f(dmt, params)) { case D_INSYNC: if (proc->rebuild) { _rebuild(REBUILD_END, rs_name); syslog(LOG_NOTICE, " %s is now in-sync", rs_name); } else syslog(LOG_NOTICE, " %s is functioning properly\n", rs_name); break; case D_FAILURE_DISK: if (proc->rebuild) _rebuild(REBUILD_START, rs_name); case D_FAILURE_LOG: case D_FAILURE_READ: case D_FAILURE_NOSYNC: syslog(LOG_ERR, " Associated UUID: %s\n", uuid); break; case D_IGNORE: break; default: syslog(LOG_ALERT, " Unknown event received."); } /* FIXME: For testing. Remove later because of memory allocations. */ #ifdef _LIBDMRAID_DSO_TESTING rs = _create_raid_set(rs_name, LOG_NONE); if (rs) { _log_names_and_ports(rs); _destroy_raid_set(rs); } #endif } /* * External function. * * Process RAID device events. */ void process_event(struct dm_task *dmt, enum dm_event_mask event, void **unused __attribute((unused))) { void *next = NULL; uint64_t start, length; char *params, *target_type = NULL; const char *rs_name = dm_task_get_name(dmt); struct dso_raid_set *rs; pthread_mutex_lock(&_register_mutex); rs = _find_raid_set(rs_name, NULL, 1); if (!rs) { pthread_mutex_unlock(&_register_mutex); return; } /* Flag RAID set in use to unregistration function. */ rs->flags |= RS_IN_USE; pthread_mutex_unlock(&_register_mutex); syslog(LOG_INFO, "Processing RAID set \"%s\" for Events", rs->name); /* * Make sure, events are processed sequentially per RAID set. */ if (pthread_mutex_trylock(&rs->event_mutex)) { syslog(LOG_NOTICE, " Another thread is handling an event. Waiting..."); pthread_mutex_lock(&rs->event_mutex); } do { next = dm_get_next_target(dmt, next, &start, &length, &target_type, ¶ms); #ifdef _LIBDMRAID_DSO_ALL_EVENTS syslog(LOG_INFO, "%s: Start=%lld. Length=%lld. RAID=%s. Params=%s.\n", ALL_EVENTS, start, length, target_type, params); #endif if (target_type) _process_event(target_type, dmt, params); else syslog(LOG_INFO, " %s mapping lost?!", rs_name); } while (next); pthread_mutex_unlock(&rs->event_mutex); /* Flag RAID set ain't no more in use to unregister function. */ rs->flags &= ~RS_IN_USE; syslog(LOG_INFO, "End of event processing for RAID set \"%s\"", rs_name); } /* Check for pending registration. */ static int _event_registration_pending(const char *uuid) { int ret = 1; enum dm_event_mask evmask; struct dm_event_handler *dmevh = dm_event_handler_create(); if (!dmevh) { syslog(LOG_ALERT, "ERROR: Unable to create event handler from DSO %s\n", default_dmraid_events_lib); goto out; } if (dm_event_handler_set_dso(dmevh, default_dmraid_events_lib)) { syslog(LOG_ALERT, "ERROR: Unable to set event handler DSO %s\n", default_dmraid_events_lib); goto out; } dm_event_handler_set_event_mask(dmevh, DM_EVENT_ALL_ERRORS); /* Make sure device UUID isn't already registered. */ if (dm_event_get_registered_device(dmevh, 0)) { syslog(LOG_ALERT, "ERROR: UUID \"%s\" is already registered\n", uuid); goto out; } /* Test if an event registration for this device is pending. */ evmask = dm_event_handler_get_event_mask(dmevh); if (evmask & DM_EVENT_REGISTRATION_PENDING) { syslog(LOG_INFO, "Device UUID \"%s\" has an event registration pending\n", uuid); goto out; } ret = 0; out: if (dmevh) dm_event_handler_destroy(dmevh); return ret; } /* * External function. * * This code block is run when a device is first registered for monitoring. * * Return 1 for success and 0 for failure. */ int register_device(const char *rs_name, const char *uuid, int major, int minor, void **unused __attribute((unused))) { struct dso_raid_set *rs, *rs_new; /* FIXME: need to run first to get syslog() to work. */ _check_sgpio(); rs_name = basename(rs_name); /* Check for double registration attempt. */ pthread_mutex_lock(&_register_mutex); rs = _find_raid_set(rs_name, NULL, 0); pthread_mutex_unlock(&_register_mutex); if (rs) { syslog(LOG_ERR, "RAID set \"%s\" already registered.", rs_name); return 0; } /* Bail out, if event registration pending. */ if (_event_registration_pending(uuid)) return 0; /* Create RAID set structure. */ rs_new = _create_raid_set(rs_name, LOG_OPEN_FAILURE); if (!rs_new) return 0; /* Check for double registration attempt again after allocation. */ pthread_mutex_lock(&_register_mutex); rs = _find_raid_set(rs_name, NULL, 0); if (rs) { /* We lost the race. */ pthread_mutex_unlock(&_register_mutex); syslog(LOG_ERR, "dual registration attempt for \"%s\" cancelled", rs_name); _destroy_raid_set(rs_new); return 0; } else { _add_raid_set(rs_new); /* Add our new RAID set. */ pthread_mutex_unlock(&_register_mutex); } syslog(LOG_INFO, "Monitoring RAID set \"%s\" (uuid: %s) for events", rs_name, uuid); /* Log both device names + status plus port mappings. */ _log_names_and_ports(rs_new); /* Turn off LEDs on RAID sets devices. */ _dev_led_all(DSO_LED_OFF, rs_new); return 1; } /* * External function. * * This code block is run when a device is "un"registered from monitoring. * * Return 1 for success and 0 for failure. */ int unregister_device(const char *rs_name, const char *uuid, int major, int minor, void **unused __attribute((unused))) { struct dso_raid_set *prev, *rs; rs_name = basename(rs_name); pthread_mutex_lock(&_register_mutex); /* Remove the dso_raid_set from the global structure. */ rs = _find_raid_set(rs_name, &prev, 1); if (rs) { /* Event being processed! */ if (rs->flags & RS_IN_USE) syslog(LOG_ERR, "Can't unregister busy RAID set \"%s\" " "(uuid: %s)\n", rs_name, uuid); else { _del_raid_set(rs, prev); /* Unlink RAID set. */ pthread_mutex_unlock(&_register_mutex); syslog(LOG_INFO, "No longer monitoring RAID set \"%s\" " "(uuid: %s) for events\n", rs->name, uuid); _destroy_raid_set(rs); /* Free the raid_set struct. */ return 1; } } pthread_mutex_unlock(&_register_mutex); return 0; } #ifdef APP_TEST /* * Main function to test DSO in stand-alone mode. * * For debugging purposes only! */ int main(int argc, char **argv) { int ret; char *rs_name; if (argc != 2) { printf("%s name\n", argv[0]); return 1; } rs_name = argv[1]; ret = _lib_main('r', rs_name); printf("Got Members: %s=%d\n", rs_name, ret); ret = _lib_main('R', rs_name); printf("Rebuild initiated for %s=%d\n", rs_name, ret); ret = _lib_main('F', rs_name); printf("Rebuild ended for %s=%d\n", rs_name, ret); return 0; } #endif dmraid/1.0.0.rc16/lib/version.h0000644000175200007640000000041511254127073016320 0ustar mauelshamauelsha#ifndef DMRAID_LIB_VERSION #define DMRAID_LIB_VERSION "1.0.0.rc16" #define DMRAID_LIB_MAJOR_VERSION 1 #define DMRAID_LIB_MINOR_VERSION 0 #define DMRAID_LIB_SUBMINOR_VERSION 0 #define DMRAID_LIB_VERSION_SUFFIX "rc16" #define DMRAID_LIB_DATE "(2009.09.16)" #endif dmraid/1.0.0.rc16/lib/datastruct/0000755000175200007640000000000011254124143016633 5ustar mauelshamauelshadmraid/1.0.0.rc16/lib/datastruct/byteorder.h0000644000175200007640000000264111254123773021016 0ustar mauelshamauelsha/* * Copyright (C) 2004,2005 Heinz Mauelshagen, Red Hat GmbH. * All rights reserved. * * See file LICENSE at the top of this source tree for license information. */ /* Cheers utils.h */ #ifndef _BYTEORDER_H #define _BYTEORDER_H #ifdef __KLIBC__ #include #endif #ifdef DM_BYTEORDER_SWAB static inline uint64_t le64_to_cpu(uint64_t x) { return ((((uint64_t) x & 0x00000000000000ffULL) << 56) | (((uint64_t) x & 0x000000000000ff00ULL) << 40) | (((uint64_t) x & 0x0000000000ff0000ULL) << 24) | (((uint64_t) x & 0x00000000ff000000ULL) << 8) | (((uint64_t) x & 0x000000ff00000000ULL) >> 8) | (((uint64_t) x & 0x0000ff0000000000ULL) >> 24) | (((uint64_t) x & 0x00ff000000000000ULL) >> 40) | (((uint64_t) x & 0xff00000000000000ULL) >> 56)); } static inline int32_t le32_to_cpu(int32_t x) { return ((((u_int32_t) x & 0x000000ffU) << 24) | (((u_int32_t) x & 0x0000ff00U) << 8) | (((u_int32_t) x & 0x00ff0000U) >> 8) | (((u_int32_t) x & 0xff000000U) >> 24)); } static inline int16_t le16_to_cpu(int16_t x) { return ((((u_int16_t) x & 0x00ff) << 8) | (((u_int16_t) x & 0xff00) >> 8)); } #define CVT64(x) do { x = le64_to_cpu(x); } while(0) #define CVT32(x) do { x = le32_to_cpu(x); } while(0) #define CVT16(x) do { x = le16_to_cpu(x); } while(0) #else #define CVT64(x) #define CVT32(x) #define CVT16(x) #undef DM_BYTEORDER_SWAB #endif /* #ifdef DM_BYTEORDER_SWAB */ #endif dmraid/1.0.0.rc16/lib/.export.sym0000644000175200007640000000214411254123773016617 0ustar mauelshamauelshaBase { global: add_delimiter; change_set; check_valid_format; collapse_delimiter; count_devices; count_devs; count_sets; _dbg_free; _dbg_malloc; _dbg_realloc; _dbg_strdup; discover_devices; discover_partitions; discover_raid_devices; display_devices; display_set; dm_version; erase_metadata; find_set; get_dm_type; get_set_type; get_set_name; get_status; get_type; group_set; init_locking; lc_inc_opt; lc_list; lc_opt; lc_stralloc_opt; lc_strcat_opt; libdmraid_exit; libdmraid_init; libdmraid_date; libdmraid_version; libdmraid_make_table; list_formats; lock_resource; log_alloc_err; plog; process_sets; remove_delimiter; remove_white_space; total_sectors; unlock_resource; add_dev_to_array; delete_raidsets; lib_perform; rebuild_raidset; dso_end_rebuild; hot_spare_add; dso_get_members; dm_register_device; dm_unregister_device; dm_all_monitored; local: *; }; dmraid/1.0.0.rc16/lib/mm/0000755000175200007640000000000011254261512015070 5ustar mauelshamauelshadmraid/1.0.0.rc16/lib/mm/dbg_malloc.c0000644000175200007640000000426011254123773017327 0ustar mauelshamauelsha/* * Copyright (C) 2004,2005 Heinz Mauelshagen, Red Hat GmbH. * All rights reserved. * * See file LICENSE at the top of this source tree for license information. */ #include #include #include #include #include "dbg_malloc.h" #include "log/log.h" static void * __dbg_malloc(size_t size, int init) { void *ret = malloc(size); if (init && ret) memset(ret, 0, size); return ret; } #ifdef DEBUG_MALLOC void * _dbg_malloc(size_t size, struct lib_context *lc, const char *who, unsigned int line) { void *ret = __dbg_malloc(size, 1); log_dbg(lc, "%s: dbg_malloc(%zu) at line %u returned 0x%x", (char *) who, size, line, (unsigned long) ret); return ret; } void * _dbg_realloc(void *ptr, size_t size, struct lib_context *lc, const char *who, unsigned int line) { void *ret = realloc(ptr, size); log_dbg(lc, "%s: dbg_realloc(0x%x, %zu) at line %u returned 0x%x", (char *) who, (unsigned long) ptr, size, line, (unsigned long) ret); return ret; } void * _dbg_strndup(void *ptr, size_t len, struct lib_context *lc, const char *who, unsigned int line) { char *ret; if ((ret = __dbg_malloc(len + 1, 0))) { ret[len] = 0; strncpy(ret, ptr, len); } log_dbg(lc, "%s: dbg_strndup(0x%x) at line %u returned 0x%x", (char *) who, (unsigned long) ptr, line, (unsigned long) ret); return ret; } void * _dbg_strdup(void *ptr, struct lib_context *lc, const char *who, unsigned int line) { return _dbg_strndup(ptr, strlen(ptr), lc, who, line); } void _dbg_free(void *ptr, struct lib_context *lc, const char *who, unsigned int line) { log_dbg(lc, "%s: dbg_free(0x%x) at line %u", (char *) who, (unsigned long) ptr, line); free(ptr); } #else void * _dbg_malloc(size_t size) { return __dbg_malloc(size, 1); } void * _dbg_realloc(void *ptr, size_t size) { return realloc(ptr, size); } void * _dbg_strndup(void *ptr, size_t len) { char *ret; if ((ret = __dbg_malloc(len + 1, 0))) { ret[len] = 0; strncpy(ret, ptr, len); } return ret; } void * _dbg_strdup(void *ptr) { return _dbg_strndup(ptr, strlen(ptr)); } void _dbg_free(void *ptr) { free(ptr); } #endif /* #ifdef DEBUG_MALLOC */ dmraid/1.0.0.rc16/lib/mm/dbg_malloc.h0000644000175200007640000000306311254123773017334 0ustar mauelshamauelsha/* * Copyright (C) 2004,2005 Heinz Mauelshagen, Red Hat GmbH. * All rights reserved. * * See file LICENSE at the top of this source tree for license information. */ #ifndef _DBG_MALLOC_H_ #define _DBG_MALLOC_H_ #include #include #ifdef DEBUG_MALLOC struct lib_context; void *_dbg_malloc(size_t size, struct lib_context *lc, const char *who, unsigned int line); void *_dbg_realloc(void *ptr, size_t size, struct lib_context *lc, const char *who, unsigned int line); void *_dbg_strdup(void *ptr, struct lib_context *lc, const char *who, unsigned int line); void *_dbg_strndup(void *ptr, size_t len, struct lib_context *lc, const char *who, unsigned int line); void _dbg_free(void *ptr, struct lib_context *lc, const char *who, unsigned int line); #define dbg_malloc(size) _dbg_malloc((size), lc, __func__, __LINE__) #define dbg_realloc(ptr, size) _dbg_realloc((ptr), (size), lc, \ __func__, __LINE__) #define dbg_strdup(ptr) _dbg_strdup((ptr), lc, __func__, __LINE__) #define dbg_strndup(ptr, len) _dbg_strdup((ptr), len, lc, __func__, __LINE__) #define dbg_free(ptr) _dbg_free((ptr), lc, __func__, __LINE__) #else void *_dbg_malloc(size_t size); void *_dbg_realloc(void *ptr, size_t size); void *_dbg_strdup(void *ptr); void *_dbg_strndup(void *ptr, size_t len); void _dbg_free(void *ptr); #define dbg_malloc _dbg_malloc #define dbg_realloc _dbg_realloc #define dbg_strdup _dbg_strdup #define dbg_strndup _dbg_strndup #define dbg_free _dbg_free #endif /* #ifdef DEBUG_MALLOC */ #endif dmraid/1.0.0.rc16/lib/format/0000755000175200007640000000000011254261512015747 5ustar mauelshamauelshadmraid/1.0.0.rc16/lib/format/ddf/0000755000175200007640000000000011254261512016504 5ustar mauelshamauelshadmraid/1.0.0.rc16/lib/format/ddf/ddf1.c0000644000175200007640000006272311254123773017506 0ustar mauelshamauelsha/* * SNIA DDF1 v1.0 metadata format handler. * * Copyright (C) 2005-2006 IBM, All rights reserved. * Written by Darrick Wong * * Copyright (C) 2006-2008 Heinz Mauelshagen, Red Hat GmbH * All rights reserved. * * See file LICENSE at the top of this source tree for license information. */ #include "internal.h" #define FORMAT_HANDLER #include "ddf1.h" #include "ddf1_lib.h" #include "ddf1_crc.h" #include "ddf1_cvt.h" #include "ddf1_dump.h" #define GRP_RD(rd) \ (((struct ddf1_group_info *) (rd)->private.ptr)->rd_group) /* * Helper struct to squirrel a group set reference to the check method * in order to avoid, that premature deallocation in metadata.c * removes the group set. */ struct ddf1_group_info { struct raid_dev *rd_group; }; static const char *handler = HANDLER; #define DDF1_SPARES ".ddf1_spares" #define DDF1_DISKS (char*) ".ddf1_disks" /* PCI IDs for Adaptec */ // #define PCI_VENDOR_ID_ADAPTEC 0x9004 #define PCI_VENDOR_ID_ADAPTEC2 0x9005 /* Map DDF1 disk status to dmraid status */ static enum status disk_status(struct ddf1_phys_drive *disk) { struct states states[] = { {0x72, s_broken}, {0x04, s_nosync}, {0x08, s_setup}, {0x01, s_ok}, {0, s_undef}, }; return disk ? rd_status(states, disk->state, AND) : s_undef; } /* * Compare two GUIDs. For some reason, Adaptec sometimes writes 0xFFFFFFFF * as the last four bytes (ala DDF2) and sometimes writes real data. * For now we'll compare the first twenty and only the last four if * both GUIDs don't have 0xFFFFFFFF in bytes 20-23. Gross. */ /* Find this drive's physical data */ static struct ddf1_phys_drive * get_phys_drive(struct ddf1 *ddf1) { unsigned int i = ddf1->pd_header->max_drives; while (i--) { if (ddf1->pds[i].reference == ddf1->disk_data->reference) return ddf1->pds + i; } return NULL; } /* Find the virtual drive that goes with this config record */ static struct ddf1_virt_drive * get_virt_drive(struct ddf1 *ddf1, struct ddf1_config_record *cr) { int i = ddf1->vd_header->num_drives; while (i--) { if (!guidcmp(ddf1->vds[i].guid, cr->guid)) return ddf1->vds + i; } return NULL; } /* * Find the index of the VD config record given a physical drive and offset. */ static int get_config_byoffset(struct ddf1 *ddf1, struct ddf1_phys_drive *pd, uint64_t offset) { int cfgs = NUM_CONFIG_ENTRIES(ddf1), i; uint32_t *cfg_drive_ids, j; uint64_t *cfg_drive_offsets; struct ddf1_config_record *cfg; for (i = 0; i < cfgs; i++) { cfg = CR(ddf1, i); if (cfg->signature == DDF1_VD_CONFIG_REC) { cfg_drive_ids = CR_IDS(ddf1, cfg); cfg_drive_offsets = CR_OFF(ddf1, cfg); for (j = 0; j < cfg->primary_element_count; j++) { if (cfg_drive_ids[j] == pd->reference && cfg_drive_offsets[j] == offset) return i; } } } return -ENOENT; } /* Find the index of the nth VD config record for this physical drive. */ static int get_config_index(struct ddf1 *ddf1, struct ddf1_phys_drive *pd, unsigned int *n) { int cfgs = NUM_CONFIG_ENTRIES(ddf1), i, j, nn = *n; uint32_t *ids; struct ddf1_config_record *cr; for (i = 0; i < cfgs; i++) { cr = CR(ddf1, i); if (cr->signature == DDF1_VD_CONFIG_REC) { ids = CR_IDS(ddf1, cr); for (j = 0; j < cr->primary_element_count; j++) { if (ids[j] == pd->reference && !nn--) return i; } } } *n -= nn; return nn < 0 ? -ENOENT : 0; } /* * Find the nth VD config record for this physical drive. */ static inline struct ddf1_config_record * get_config(struct ddf1 *ddf1, struct ddf1_phys_drive *pd, unsigned int n) { int i = get_config_index(ddf1, pd, &n); return i < 0 ? NULL : CR(ddf1, i); } /* Find a config record for this drive, given the offset of the array. */ static inline struct ddf1_config_record * get_this_config(struct ddf1 *ddf1, uint64_t offset) { struct ddf1_phys_drive *pd = get_phys_drive(ddf1); int i = get_config_byoffset(ddf1, pd, offset); return i < 0 ? NULL : get_config(ddf1, pd, i); } /* Find the config record disk/offset entry for this config/drive. */ static int get_offset_entry(struct ddf1 *ddf1, struct ddf1_config_record *cr, struct ddf1_phys_drive *pd) { int i; uint32_t *ids; if (cr) { ids = CR_IDS(ddf1, cr); for (i = 0; i < ddf1->primary->max_phys_drives; i++) { if (ids[i] == pd->reference) return i; } } return -ENOENT; } /* Find the offset for this config/drive. */ static uint64_t get_offset(struct ddf1 *ddf1, struct ddf1_config_record *cr, struct ddf1_phys_drive *pd) { int i = get_offset_entry(ddf1, cr, pd); return i < 0 ? pd->size : CR_OFF(ddf1, cr)[i]; } /* Calculate the stripe size, in sectors */ static inline unsigned int stride(struct ddf1_config_record *cr) { return to_bytes(1) >> 9 << cr->stripe_size; } /* Map the DDF1 raid type codes into dmraid type codes. */ static enum type type(struct lib_context *lc, struct ddf1 *ddf1, struct ddf1_config_record *cr) { unsigned int l; struct types *t; /* Mapping of template types to generic types */ static struct types types[] = { {DDF1_RAID0, t_raid0}, {DDF1_RAID1, t_raid1}, {DDF1_RAID4, t_raid4}, {DDF1_CONCAT, t_linear}, {DDF1_JBOD, t_linear}, {0, t_undef} }; /* Seperate array for RAID5 qualifiers */ static struct types qualifier_types[] = { /* FIXME: Is RLQ=0 really right symmetric? */ {DDF1_RAID5_RS, t_raid5_rs}, {DDF1_RAID5_LA, t_raid5_la}, {DDF1_RAID5_LS, t_raid5_ls}, {0, t_undef} }; if (!cr) return t_undef; l = cr->raid_level; if (l == DDF1_RAID5) { /* * FIXME: Do _all_ Adaptec controllers use left * asymmetric parity and write zero to RLQ? */ if (ddf1->adaptec_mode) return t_raid5_la; l = cr->raid_qualifier; t = qualifier_types; } else t = types; return rd_type(t, l); } /* Read the whole metadata chunk at once */ static uint8_t * read_metadata_chunk(struct lib_context *lc, struct dev_info *di, uint64_t start) { uint8_t *ret; size_t size = to_bytes(di->sectors - start); if (!(ret = alloc_private(lc, handler, size))) return NULL; if (!read_file(lc, handler, di->path, ret, size, to_bytes(start))) { dbg_free(ret); LOG_ERR(lc, NULL, "%s: unable to read metadata off %s", handler, di->path); } return ret; } static inline void cond_free(void *p) { if (p) dbg_free(p); } /* Reused error message */ static inline void * err_drive(struct lib_context *lc, struct dev_info *di, const char *what) { LOG_ERR(lc, NULL, "%s: cannot find %s drive record on %s", handler, what, di->path); } static void * err_phys_drive(struct lib_context *lc, struct dev_info *di) { return err_drive(lc, di, "physical"); } static void * err_virt_drive(struct lib_context *lc, struct dev_info *di) { return err_drive(lc, di, "virtual"); } /* * Read a DDF1 RAID device. Fields are little endian, so * need to convert them if we're on a BE machine (ppc, etc). */ static int read_extended(struct lib_context *lc, struct dev_info *di, struct ddf1 *ddf1) { int i; uint64_t where; size_t size; struct ddf1_header *pri, *sec; struct ddf1_adapter *adap; struct ddf1_disk_data *ddata; struct ddf1_phys_drives *pd; struct ddf1_virt_drives *vd; /* Read the primary DDF header */ where = to_bytes(ddf1->anchor.primary_table_lba); if (!(pri = ddf1->primary = alloc_private_and_read(lc, handler, sizeof(*pri), di->path, where))) goto bad; /* Read the secondary header. */ ddf1_cvt_header(ddf1, pri); if (!(sec = ddf1->secondary = alloc_private(lc, handler, sizeof(*sec)))) goto bad; where = to_bytes(ddf1->anchor.secondary_table_lba); if (ddf1->anchor.secondary_table_lba != 0xFFFFFFFFFFFFFFFFULL && !read_file(lc, handler, di->path, sec, sizeof(*sec), where)) goto bad; ddf1_cvt_header(ddf1, sec); if (pri->signature != DDF1_HEADER) { log_warn(lc, "%s: incorrect primary header signature %x on", handler, pri->signature, di->path); cond_free(ddf1->primary); ddf1->primary = NULL; }; if (sec->signature == DDF1_HEADER) { /* If we encounter an error, we use the secondary table */ if (!ddf1->primary) { log_warn(lc, "%s: using secondary header on %s", handler, di->path); ddf1->primary = ddf1->secondary; ddf1->secondary = NULL; } } else { if (sec->signature) log_warn(lc, "%s: bad secondary header signature %x " "on %s", handler, sec->signature, di->path); dbg_free(sec); ddf1->secondary = NULL; } if (!ddf1->primary) { log_error(lc, "%s: both header signatures bad on %s", handler, di->path); goto bad; } /* Read the adapter data */ if (!(adap = ddf1->adapter = alloc_private(lc, handler, sizeof(*adap)))) goto bad; where = to_bytes(pri->primary_table_lba + pri->adapter_data_offset); if (pri->adapter_data_offset != 0xFFFFFFFF && !read_file(lc, handler, di->path, adap, sizeof(*adap), where)) goto bad; ddf1_cvt_adapter(ddf1, ddf1->adapter); if (ddf1->adapter->signature != DDF1_ADAPTER_DATA) { if (ddf1->adapter->signature) log_warn(lc, "%s: incorrect adapter data signature %x " "on %s", handler, ddf1->adapter->signature, di->path); dbg_free(ddf1->adapter); ddf1->adapter = NULL; } if (ddf1->adapter && ddf1->adapter->pci_vendor == PCI_VENDOR_ID_ADAPTEC2) { log_notice(lc, "%s: Adaptec mode discovered on %s", handler, di->path); ddf1->adaptec_mode = 1; } /* Read physical drive characteristic data */ where = to_bytes(pri->primary_table_lba + pri->disk_data_offset); if (!(ddata = ddf1->disk_data = alloc_private_and_read(lc, handler, sizeof(*ddata), di->path, where))) goto bad; /* * This table isn't technically required, but for now we rely * on it to give us a key into the physical drive table. */ ddf1_cvt_disk_data(ddf1, ddata); if (ddata->signature != DDF1_FORCED_PD_GUID) { log_warn(lc, "%s: incorrect disk data signature %x on %s", handler, ddata->signature, di->path); goto bad; } /* Read physical drive data header */ where = to_bytes(pri->primary_table_lba + pri->phys_drive_offset); size = to_bytes(pri->phys_drive_len); if (!(pd = ddf1->pd_header = alloc_private_and_read(lc, handler, size, di->path, where))) goto bad; ddf1_cvt_phys_drive_header(ddf1, pd); if (pd->signature != DDF1_PHYS_DRIVE_REC) { err_phys_drive(lc, di); goto bad; } /* Now read the physical drive data */ ddf1->pds = (struct ddf1_phys_drive *) (((uint8_t *) ddf1->pd_header) + sizeof(*pd)); for (i = 0; i < pd->num_drives; i++) { ddf1_cvt_phys_drive(ddf1, &ddf1->pds[i]); /* * Adaptec controllers have a weird bug where this field is * only four bytes ... and the next four are 0xFF. */ if (ddf1->pds[i].size >> 32 == 0xFFFFFFFF) ddf1->pds[i].size &= 0xFFFFFFFF; } /* Read virtual drive data header */ where = to_bytes(pri->primary_table_lba + pri->virt_drive_offset); size = to_bytes(pri->phys_drive_len); if (!(vd = ddf1->vd_header = alloc_private_and_read(lc, handler, size, di->path, where))) goto bad; ddf1_cvt_virt_drive_header(ddf1, vd); if (vd->signature != DDF1_VIRT_DRIVE_REC) { err_virt_drive(lc, di); goto bad; } /* Now read the virtual drive data */ ddf1->vds = (struct ddf1_virt_drive *) (((uint8_t *) vd) + sizeof(*pd)); for (i = 0; i < vd->num_drives; i++) ddf1_cvt_virt_drive(ddf1, &ddf1->vds[i]); /* Read config data */ where = to_bytes(pri->primary_table_lba + pri->config_record_offset); size = to_bytes(pri->config_record_len); if (!(ddf1->cfg = alloc_private_and_read(lc, handler, size, di->path, where))) goto bad; /* * Ensure each record is: a config table for VDs; a config table for * spare disks; or vendor-specifc data of some sort. */ ddf1_cvt_records(lc, di, ddf1, 1); /* * FIXME: We don't pick up diagnostic logs, vendor specific logs, * bad block data, etc. That shouldn't cause a problem with reading * or writing metadata, but at some point we might want to do something * with them. */ ddf1->in_cpu_format = 1; /* FIXME: We should verify the checksums for all modes */ if (ddf1->adaptec_mode && !(ddf1_check_all_crcs(lc, di, ddf1))) goto bad; return 1; bad: ddf1->vds = NULL; ddf1->pds = NULL; cond_free(ddf1->cfg); cond_free(ddf1->pd_header); cond_free(ddf1->disk_data); cond_free(ddf1->adapter); cond_free(ddf1->secondary); cond_free(ddf1->primary); return 0; } /* Count the number of raid_devs we need to create for this drive */ static unsigned int num_devs(struct lib_context *lc, void *meta) { struct ddf1 *ddf1 = meta; unsigned int num_drives = ~0; get_config_index(ddf1, get_phys_drive(ddf1), &num_drives); return num_drives; } /* Is this DDF1 metadata? */ static inline int is_ddf1(struct lib_context *lc, struct dev_info *di, struct ddf1 *ddf1) { /* * Check our magic numbers and that the version == v2. * We don't support anything other than that right now. */ /* FIXME: We should examine the version headers... */ return ddf1->anchor.signature == DDF1_HEADER || ddf1->anchor.signature == DDF1_HEADER_BACKWARDS; } /* Try to find DDF1 metadata at a given offset (ddf1_sboffset) */ static struct ddf1 * try_to_find_ddf1(struct lib_context *lc, struct dev_info *di, size_t * sz, uint64_t * offset, union read_info *info, uint64_t ddf1_sboffset) { struct ddf1 *ddf1; /* * Try to find a DDF1 anchor block at ddf1_sboffset. In theory this * should be the very last block, but some Adaptec controllers have * issues with standards compliance. So we have to try with various * offsets. */ if (!(ddf1 = alloc_private(lc, handler, sizeof(*ddf1)))) goto err; if (!read_file(lc, handler, di->path, &ddf1->anchor, to_bytes(1), ddf1_sboffset) || !is_ddf1(lc, di, ddf1)) goto bad; ddf1->anchor_offset = ddf1_sboffset; /* Convert endianness */ ddf1->in_cpu_format = 0; if ((ddf1->disk_format = ddf1_endianness(lc, ddf1)) < 0) goto bad; ddf1_cvt_header(ddf1, &ddf1->anchor); /* Read extended metadata. */ if (read_extended(lc, di, ddf1)) return ddf1; bad: dbg_free(ddf1); err: return NULL; } /* * Attempt to interpret DDF1 metadata from a block device. This function * returns either NULL or a pointer to a descriptor struct. * Note that the struct should be fully converted to the correct endianness * by the time this function returns. */ static void * read_metadata_areas(struct lib_context *lc, struct dev_info *di, size_t * sz, uint64_t * offset, union read_info *info) { struct ddf1 *ddf1; if (!(ddf1 = try_to_find_ddf1(lc, di, sz, offset, info, DDF1_CONFIGOFFSET))) { if ((ddf1 = try_to_find_ddf1(lc, di, sz, offset, info, DDF1_CONFIGOFFSET_ADAPTEC))) ddf1->adaptec_mode = 1; } return ddf1; } /* This is all hogwash since file_metadata can only be called once... */ static void file_metadata_areas(struct lib_context *lc, struct dev_info *di, void *meta) { uint8_t *buf; uint64_t start = ddf1_beginning(meta); if ((buf = read_metadata_chunk(lc, di, start))) { /* Record metadata. */ file_metadata(lc, handler, di->path, buf, to_bytes(di->sectors - start), to_bytes(start)); dbg_free(buf); file_dev_size(lc, handler, di); /* Record the device size. */ } } static int setup_rd(struct lib_context *lc, struct raid_dev *rd, struct dev_info *di, void *meta, union read_info *info); static struct raid_dev * ddf1_read(struct lib_context *lc, struct dev_info *di) { /* * NOTE: Everything called after read_metadata_areas assumes that * the reserved block, raid table and config table have been * converted to the appropriate endianness. */ return read_raid_dev(lc, di, read_metadata_areas, 0, 0, NULL, NULL, file_metadata_areas, setup_rd, handler); } /* Compose an "identifier" for use as a sort key for raid sets. */ static inline int compose_id(struct ddf1 *ddf1, struct raid_dev *rd) { struct ddf1_phys_drive *pd = get_phys_drive(ddf1); int i = get_config_byoffset(ddf1, pd, rd->offset); return i < 0 ? -1 : get_offset_entry(ddf1, get_config(ddf1, pd, i), pd); } /* No sort. */ static int no_sort(struct list_head *pos, struct list_head *new) { return 0; } /* Sort DDF1 devices by offset entry within a RAID set. */ static int dev_sort(struct list_head *pos, struct list_head *new) { struct raid_dev *rd_pos = RD(pos), *rd_new = RD(new); return compose_id(META(GRP_RD(rd_new), ddf1), rd_new) < compose_id(META(GRP_RD(rd_pos), ddf1), rd_pos); } /* * IO error event handler. */ static int event_io(struct lib_context *lc, struct event_io *e_io) { log_err(lc, "%s: I/O error on device %s at sector %lu.\n", handler, e_io->rd->di->path, e_io->sector); LOG_ERR(lc, 0, "%s: PANIC - don't know about event_io!", handler); } #if 0 /* FIXME: This should not use META() directly? */ struct raid_dev *rd = e_io->rd; struct ddf1 *ddf1 = META(rd, ddf1); struct ddf1_raid_configline *cl = this_disk(ddf1); struct ddf1_raid_configline *fwl = find_logical(ddf1); /* Ignore if we've already marked this disk broken(?) */ if (rd->status & s_broken) return 0; /* Mark the array as degraded and the disk as failed. */ rd->status = s_broken; cl->raidstate = LSU_COMPONENT_STATE_FAILED; fwl->raidstate = LSU_COMPONENT_STATE_DEGRADED; /* FIXME: Do we have to mark a parent too? */ /* Indicate that this is indeed a failure. */ return 1; } #endif #define NAME_SIZE 64 /* Formulate a RAID set name for this disk. */ static char * name(struct lib_context *lc, struct ddf1 *ddf1, struct raid_dev *rd) { int i, prefix; char buf[NAME_SIZE]; struct ddf1_phys_drive *pd; struct ddf1_virt_drive *vd; struct ddf1_config_record *cr; if (!(pd = get_phys_drive(ddf1))) return err_phys_drive(lc, rd->di); i = get_config_byoffset(ddf1, pd, rd->offset); cr = get_config(ddf1, pd, i); if (i < 0 || !cr) { sprintf(buf, DDF1_SPARES); goto out; } if (!(vd = get_virt_drive(ddf1, cr))) return err_virt_drive(lc, rd->di); sprintf(buf, "%s_", handler); prefix = strlen(buf); if (vd->name[0]) { memcpy(buf + prefix, vd->name, 16); i = prefix + 16; while (!isgraph(buf[--i])); buf[i + 1] = 0; } else { char *b; for (b = buf + prefix, i = 0; i < 24; b += 8, i += 4) sprintf(b, "%02x%02x%02x%02x", vd->guid[i], vd->guid[i + 1], vd->guid[i + 2], vd->guid[i + 3]); } out: return dbg_strdup(buf); /* Only return the needed allocation */ } /* Figure out the real size of a disk... */ static uint64_t get_size(struct lib_context *lc, struct ddf1 *ddf1, struct ddf1_config_record *cr, struct ddf1_phys_drive *pd) { if (cr && cr->sectors) /* Some Adaptec controllers need this clamping. */ return type(lc, ddf1, cr) == t_raid0 ? cr->sectors - cr->sectors % stride(cr) : cr->sectors; return pd->size; } /* * Create all the volumes of a DDF1 disk as subsets of the top level DDF1 * disk group. rs_group points to that raid subset and is returned if the * function is successful, NULL if not. rd_group is the raid device that * represents the entire disk drive. */ static struct raid_set * group_rd(struct lib_context *lc, struct raid_set *rs_group, struct raid_dev *rd_group) { struct ddf1 *ddf1 = META(rd_group, ddf1); struct raid_set *rs = NULL; struct raid_dev *rd; struct ddf1_config_record *cr; struct ddf1_phys_drive *pd; struct ddf1_group_info *gi; unsigned int devs, i; if (!(pd = get_phys_drive(ddf1))) return err_phys_drive(lc, rd_group->di); devs = num_devs(lc, ddf1); for (i = 0; i < devs; i++) { /* Allocate a raid_dev for this volume */ if (!(rd = alloc_raid_dev(lc, handler))) return NULL; cr = get_config(ddf1, pd, i); rd->di = rd_group->di; rd->fmt = rd_group->fmt; rd->type = type(lc, ddf1, cr); if (!(rd->sectors = get_size(lc, ddf1, cr, pd))) { log_zero_sectors(lc, rd->di->path, handler); free_raid_dev(lc, &rd); continue; } rd->offset = get_offset(ddf1, cr, pd); /* * If we have a virtual drive config without an entry in the * list of virtual drives, we ignore it. Weird bug seen on * Adaptec 2410SA controller. */ if (!(rd->name = name(lc, ddf1, rd))) { free_raid_dev(lc, &rd); continue; } /* Stuff it into the appropriate raid set. */ if (!(rs = find_or_alloc_raid_set(lc, rd->name, FIND_ALL, rd, &rs_group->sets, NO_CREATE, NO_CREATE_ARG))) { free_raid_dev(lc, &rd); return NULL; } if (!(gi = alloc_private(lc, handler, sizeof(*gi)))) { free_raid_dev(lc, &rd); return NULL; } /* Keep reference to the entire device for ddf1_check() */ rd->private.ptr = gi; GRP_RD(rd) = rd_group; /* Add rest of subset state */ rs->stride = stride(cr); rs->type = type(lc, ddf1, cr); rs->status = s_ok; /* Sort device into subset */ list_add_sorted(lc, &rs->devs, &rd->devs, dev_sort); } return rs_group; } /* * Add a DDF1 device to a RAID set. This involves finding the raid set to * which this disk belongs, and then attaching it. Note that there are other * complications, such as two-layer arrays (RAID10). * * FIXME: We haven't been able to set up a RAID10 for testing... */ static struct raid_set * ddf1_group(struct lib_context *lc, struct raid_dev *rd) { struct ddf1 *ddf1 = META(rd, ddf1); struct ddf1_phys_drive *pd; struct raid_set *rs; if (!(pd = get_phys_drive(ddf1))) return err_phys_drive(lc, rd->di); if (!rd->name) LOG_ERR(lc, NULL, "%s: no RAID array name on %s", handler, rd->di->path); /* * Find/create a raid set for all DDF drives and put this disk * into that set. The raid_sets for the real arrays will be created * as children of the disk's raid_set. * * (Is this really necessary?) */ if (!(rs = find_or_alloc_raid_set(lc, rd->name, FIND_TOP, rd, LC_RS(lc), NO_CREATE, NO_CREATE_ARG))) return NULL; rs->type = t_group; list_add_sorted(lc, &rs->devs, &rd->devs, no_sort); /* Go deal with the real arrays. */ return group_rd(lc, rs, rd); } /* Write metadata. */ static int ddf1_write(struct lib_context *lc, struct raid_dev *rd, int erase) { int ret; struct ddf1 *ddf1 = META(rd, ddf1); if (ddf1->adaptec_mode) ddf1_update_all_crcs(lc, rd->di, ddf1); ddf1_cvt_all(lc, ddf1, rd->di); ret = write_metadata(lc, handler, rd, -1, erase); ddf1_cvt_all(lc, ddf1, rd->di); return ret; } /* * Check integrity of a RAID set. */ /* Retrieve the number of devices that should be in this set. */ static unsigned int device_count(struct raid_dev *rd, void *context) { /* Get the logical drive */ struct ddf1_config_record *cr = get_this_config(META(GRP_RD(rd), ddf1), rd->offset); return cr ? cr->primary_element_count : 0; } /* Check a RAID device */ static int check_rd(struct lib_context *lc, struct raid_set *rs, struct raid_dev *rd, void *context) { /* * FIXME: Should we do more checking for brokenness here? * We could check SMART data, etc. */ return rd->type != s_broken; } /* Start the recursive RAID set check. */ static int ddf1_check(struct lib_context *lc, struct raid_set *rs) { return check_raid_set(lc, rs, device_count, NULL, check_rd, NULL, handler); } static struct event_handlers ddf1_event_handlers = { .io = event_io, .rd = NULL, /* FIXME: no device add/remove event handler yet. */ }; #ifdef DMRAID_NATIVE_LOG /* * Log native information about the RAID device. */ static void ddf1_log(struct lib_context *lc, struct raid_dev *rd) { ddf1_dump_all(lc, rd->di, META(rd, ddf1), handler); } #endif /* #ifdef DMRAID_NATIVE_LOG */ static struct dmraid_format ddf1_format = { .name = HANDLER, .descr = "SNIA DDF1", .caps = "0,1,4,5,linear", .format = FMT_RAID, .read = ddf1_read, .write = ddf1_write, .group = ddf1_group, .check = ddf1_check, .events = &ddf1_event_handlers, #ifdef DMRAID_NATIVE_LOG .log = ddf1_log, #endif }; /* Register this format handler with the format core */ int register_ddf1(struct lib_context *lc) { return register_format_handler(lc, &ddf1_format); } /* * Set up a RAID device from what we've assembled out of the metadata. */ static int setup_rd(struct lib_context *lc, struct raid_dev *rd, struct dev_info *di, void *meta, union read_info *info) { unsigned int i, ma_count = 5; struct ddf1 *ddf1 = meta; struct meta_areas *ma; struct ddf1_phys_drive *pd; if (!(pd = get_phys_drive(ddf1))) LOG_ERR(lc, 0, "%s: Cannot find physical drive description " "on %s!", handler, di->path); /* We need multiple metadata areas */ ma_count += ddf1->adapter ? 1 : 0; ma_count += ddf1->secondary ? 1 : 0; ma_count += ddf1->disk_data ? 1 : 0; /* FIXME: metadata area for workspace_lba */ if (!(ma = rd->meta_areas = alloc_meta_areas(lc, rd, handler, ma_count))) return 0; /* Preset metadata area offset and size and adjust below */ for (i = 0; i < ma_count; i++) ma[i].offset = ddf1->primary->primary_table_lba; ma->offset = ddf1->anchor_offset; (ma++)->area = &ddf1->anchor; (ma++)->area = ddf1->primary; if (ddf1->secondary) (ma++)->offset = ddf1->primary->secondary_table_lba; if (ddf1->adapter) { ma->offset += ddf1->primary->adapter_data_offset; ma->size = to_bytes(ddf1->primary->adapter_data_len); (ma++)->area = ddf1->adapter; } /* FIXME: set up workspace_lba */ if (ddf1->disk_data) { ma->offset += ddf1->primary->disk_data_offset; ma->size = to_bytes(ddf1->primary->disk_data_len); (ma++)->area = ddf1->disk_data; } ma->offset += ddf1->primary->phys_drive_offset; ma->size = to_bytes(ddf1->primary->phys_drive_len); (ma++)->area = ddf1->pd_header; ma->offset += ddf1->primary->virt_drive_offset; ma->size = to_bytes(ddf1->primary->virt_drive_len); (ma++)->area = ddf1->vd_header; ma->offset += ddf1->primary->config_record_offset; ma->size = to_bytes(ddf1->primary->config_record_len); ma->area = ddf1->cfg; /* Now set up the rest of the metadata info */ rd->di = di; rd->fmt = &ddf1_format; rd->status = disk_status(pd); rd->type = t_group; rd->offset = 0; if (!(rd->sectors = get_size(lc, ddf1, NULL, pd))) return log_zero_sectors(lc, di->path, handler); /* FIXME: better name */ return (rd->name = dbg_strdup(DDF1_DISKS)) ? 1 : 0; } dmraid/1.0.0.rc16/lib/format/ddf/ddf1_dump.c0000644000175200007640000002157411254123773020532 0ustar mauelshamauelsha/* * SNIA DDF1 v1.0 metadata format handler. * * Copyright (C) 2005-2006 IBM, All rights reserved. * Written by Darrick Wong * * Copyright (C) 2006 Heinz Mauelshagen, Red Hat GmbH * All rights reserved. * * See file LICENSE at the top of this source tree for license information. */ #ifdef DMRAID_NATIVE_LOG #include "internal.h" #define FORMAT_HANDLER #include "ddf1.h" #include "ddf1_lib.h" /* Print DDF GUIDs. */ #ifdef NATIVE_LOG_OFFSET #define DP_BUF(name, basevar, x, len) do { \ _dp_guid(lc, name, P_OFF(x, basevar, x), len);\ } while (0) #define DP_GUID(name, basevar, x) do {\ _dp_guid(lc, name, P_OFF(x, basevar, x), DDF1_GUID_LENGTH);\ } while (0) static void _dp_guid(struct lib_context *lc, const char *name, unsigned int offset, void *data, unsigned int len) { char *p; int i; p = data; log_print_nnl(lc, "0x%03x %s\"", offset, name); for (i = 0; i < len; i++) log_print_nnl(lc, "%c", (isgraph(p[i]) || p[i] == ' ' ? p[i] : '.')); log_print_nnl(lc, "\" ["); for (i = 0; i < len; i++) log_print_nnl(lc, "%s%02x", (i != 0 ? " " : ""), p[i] & 0xFF); log_print_nnl(lc, "]\n"); } #else #define DP_BUF(name, basevar, x, len) #define DP_GUID(name, basevar, x) #endif /* Dump top */ static void dump_top(struct lib_context *lc, struct dev_info *di, struct ddf1 *ddf1, const char *handler) { log_print(lc, "%s (%s):", di->path, handler); log_print(lc, "DDF1 anchor at %llu with tables in %s-endian format.", ddf1->anchor_offset / DDF1_BLKSIZE, (ddf1->disk_format == LITTLE_ENDIAN ? "little" : "big")); } /* Dump DDF tables. */ static void dump_header(struct lib_context *lc, struct ddf1_header *dh) { if (!dh) return; log_print(lc, "DDF1 Header at %p", dh); DP("signature:\t0x%X", dh, dh->signature); DP("crc:\t\t0x%X", dh, dh->crc); DP_GUID("guid:\t\t", dh, dh->guid); DP_BUF("rev:\t\t", dh, dh->ddf_rev, DDF1_REV_LENGTH); DP("seqnum:\t\t%d", dh, dh->seqnum); DP("timestamp:\t0x%X", dh, dh->timestamp); DP("open:\t\t0x%X", dh, dh->open_flag); DP("foreign:\t\t0x%X", dh, dh->foreign_flag); DP("grouping:\t\t0x%X", dh, dh->grouping_enforced); DP("primary header:\t%lu", dh, dh->primary_table_lba); DP("secondary header:\t%lu", dh, dh->secondary_table_lba); DP("header type:\t0x%X", dh, dh->header_type); DP("workspace len:\t%d", dh, dh->workspace_length); DP("workspace lba:\t%lu", dh, dh->workspace_lba); DP("max pd:\t\t%d", dh, dh->max_phys_drives); DP("max vd:\t\t%d", dh, dh->max_virt_drives); DP("max part:\t\t%d", dh, dh->max_partitions); DP("vd_config len:\t%d", dh, dh->vd_config_record_len); DP("max_primary_elts:\t%d", dh, dh->max_primary_elements); DP("adapter_offset:\t%d", dh, dh->adapter_data_offset); DP("adapter_len:\t%d", dh, dh->adapter_data_len); DP("pd_offset:\t%d", dh, dh->phys_drive_offset); DP("pd_len:\t\t%d", dh, dh->phys_drive_len); DP("vd_offset:\t%d", dh, dh->virt_drive_offset); DP("vd_len:\t\t%d", dh, dh->virt_drive_len); DP("config_offset:\t%d", dh, dh->config_record_offset); DP("config_len:\t%d", dh, dh->config_record_len); DP("disk_data_offset:\t%d", dh, dh->disk_data_offset); DP("disk_data_len:\t%d", dh, dh->disk_data_len); DP("badblock_offset:\t%d", dh, dh->badblock_offset); DP("badblock_len:\t%d", dh, dh->badblock_len); DP("diag_offset:\t%d", dh, dh->diag_offset); DP("diag_len:\t\t%d", dh, dh->diag_len); DP("vendor_offset:\t%d", dh, dh->vendor_offset); DP("vendor_len:\t%d", dh, dh->vendor_len); } static void dump_adapter(struct lib_context *lc, struct ddf1_adapter *da) { if (!da) return; log_print(lc, "Adapter Data at %p", da); DP("signature:\t0x%X", da, da->signature); DP("crc:\t\t0x%X", da, da->crc); DP_GUID("guid:\t\t", da, da->guid); DP("pci vendor:\t0x%X", da, da->pci_vendor); DP("pci device:\t0x%X", da, da->pci_device); DP("pci subvendor:\t0x%X", da, da->pci_subvendor); DP("pci subdevice:\t0x%X", da, da->pci_subdevice); } static void dump_disk_data(struct lib_context *lc, struct ddf1_disk_data *fg) { log_print(lc, "Disk Data at %p", fg); DP("signature:\t0x%X", fg, fg->signature); DP("crc:\t\t0x%X", fg, fg->crc); DP_GUID("guid:\t\t", fg, fg->guid); DP("reference:\t\t0x%X", fg, fg->reference); DP("forced_ref_flag:\t%d", fg, fg->forced_ref_flag); DP("forced_guid_flag:\t%d", fg, fg->forced_guid_flag); } static void dump_phys_drive_header(struct lib_context *lc, struct ddf1_phys_drives *pd) { log_print(lc, "Physical Drive Header at %p", pd); DP("signature:\t0x%X", pd, pd->signature); DP("crc:\t\t0x%X", pd, pd->crc); DP("num drives:\t%d", pd, pd->num_drives); DP("max drives:\t%d", pd, pd->max_drives); } static void dump_phys_drive(struct lib_context *lc, struct ddf1_phys_drive *pd) { log_print(lc, "Physical Drive at %p", pd); DP_GUID("guid:\t\t", pd, pd->guid); DP("reference #:\t0x%X", pd, pd->reference); DP("type:\t\t0x%X", pd, pd->type); DP("state:\t\t0x%X", pd, pd->state); DP("size:\t\t%llu", pd, pd->size); DP_BUF("path info:\t", pd, pd->path_info, 18); } static void dump_virt_drive_header(struct lib_context *lc, struct ddf1_virt_drives *vd) { log_print(lc, "Virtual Drive Header at %p", vd); DP("signature:\t0x%X", vd, vd->signature); DP("crc:\t\t0x%X", vd, vd->crc); DP("num drives:\t%d", vd, vd->num_drives); DP("max drives:\t%d", vd, vd->max_drives); } static void dump_virt_drive(struct lib_context *lc, struct ddf1_virt_drive *vd) { log_print(lc, "Virtual Drive at %p", vd); DP_GUID("guid:\t\t", vd, vd->guid); DP("vd #:\t\t0x%X", vd, vd->vd_num); DP("type:\t\t0x%X", vd, vd->type); DP("state:\t\t0x%X", vd, vd->state); DP("init state:\t0x%X", vd, vd->init_state); DP_BUF("name:\t\t", vd, vd->name, 16); } static int dump_config_record(struct lib_context *lc, struct dev_info *di, struct ddf1 *ddf, int idx) { int i; uint16_t x; uint32_t *cfg_drive_ids; uint64_t *cfg_drive_offsets; struct ddf1_config_record *cfg = CR(ddf, idx); if (cfg->signature != DDF1_VD_CONFIG_REC) return 1; log_print(lc, "Virtual Drive Config Record at %p", cfg); DP("signature:\t0x%X", cfg, cfg->signature); DP("crc:\t\t0x%X", cfg, cfg->crc); DP_GUID("guid:\t\t", cfg, cfg->guid); DP("timestamp:\t0x%X", cfg, cfg->timestamp); DP("seqnum:\t\t%d", cfg, cfg->seqnum); DP("primary count:\t%d", cfg, cfg->primary_element_count); DP("stripe size:\t%dKiB", cfg, cfg->stripe_size); DP("raid level:\t%d", cfg, cfg->raid_level); DP("raid qualifier:\t%d", cfg, cfg->raid_qualifier); DP("secondary count:\t%d", cfg, cfg->secondary_element_count); DP("secondary number:\t%d", cfg, cfg->secondary_element_number); DP("secondary level:\t%d", cfg, cfg->secondary_element_raid_level); DP("spare 0:\t\t0x%X", cfg, cfg->spares[0]); DP("spare 1:\t\t0x%X", cfg, cfg->spares[1]); DP("spare 2:\t\t0x%X", cfg, cfg->spares[2]); DP("spare 3:\t\t0x%X", cfg, cfg->spares[3]); DP("spare 4:\t\t0x%X", cfg, cfg->spares[4]); DP("spare 5:\t\t0x%X", cfg, cfg->spares[5]); DP("spare 6:\t\t0x%X", cfg, cfg->spares[6]); DP("spare 7:\t\t0x%X", cfg, cfg->spares[7]); DP("cache policy:\t0x%X", cfg, cfg->cache_policy); DP("bg task rate:\t%d", cfg, cfg->bg_task_rate); DP("sector count:\t%llu", cfg, cfg->sectors); DP("size:\t\t%llu", cfg, cfg->size); cfg_drive_ids = CR_IDS(ddf, cfg); cfg_drive_offsets = CR_OFF(ddf, cfg); x = cfg->primary_element_count; log_print(lc, "Drive map:"); for (i = 0; i < x; i++) { log_print(lc, "%d: %X @ %lu", i, cfg_drive_ids[i], cfg_drive_offsets[i]); } return 1; } static int dump_spares(struct lib_context *lc, struct dev_info *di, struct ddf1 *ddf1, int idx) { int i; struct ddf1_spare_header *sh = SR(ddf1, idx); log_print(lc, "Spare Config Record at %p", sh); DP("signature:\t0x%X", sh, sh->signature); DP("crc:\t\t0x%X", sh, sh->crc); DP("timestamp:\t0x%X", sh, sh->timestamp); DP("type:\t\t0x%X", sh, sh->type); DP("num drives:\t%d", sh, sh->num_spares); DP("max drives:\t%d", sh, sh->max_spares); for (i = 0; i < sh->num_spares; i++) { log_print(lc, "Spare %d:", i); DP_GUID("guid:\t\t", sh, sh->spares[i].guid); DP("secondary:\t%d", sh, sh->spares[i].secondary_element); } return 1; } static void dump_config_records(struct lib_context *lc, struct dev_info *di, struct ddf1 *ddf1) { static struct ddf1_record_handler handlers = { .vd = dump_config_record, .spare = dump_spares, }; ddf1_process_records(lc, di, &handlers, ddf1, 1); } /* Dump the entire table */ void ddf1_dump_all(struct lib_context *lc, struct dev_info *di, struct ddf1 *ddf1, const char *handler) { int i; dump_top(lc, di, ddf1, handler); dump_header(lc, &ddf1->anchor); dump_header(lc, ddf1->primary); dump_header(lc, ddf1->secondary); dump_adapter(lc, ddf1->adapter); dump_disk_data(lc, ddf1->disk_data); dump_phys_drive_header(lc, ddf1->pd_header); for (i = 0; i < ddf1->pd_header->num_drives; i++) dump_phys_drive(lc, ddf1->pds + i); dump_virt_drive_header(lc, ddf1->vd_header); for (i = 0; i < ddf1->vd_header->num_drives; i++) dump_virt_drive(lc, ddf1->vds + i); dump_config_records(lc, di, ddf1); } #endif /* DMRAID_NATIVE_LOG */ dmraid/1.0.0.rc16/lib/format/ddf/ddf1_crc.c0000644000175200007640000001272011254123773020325 0ustar mauelshamauelsha/* * SNIA DDF1 v1.0 metadata format handler. * * Copyright (C) 2005-2006 IBM, All rights reserved. * Written by James Simshaw * * Copyright (C) 2006-2008 Heinz Mauelshagen, Red Hat GmbH * All rights reserved. * * See file LICENSE at the top of this source tree for license information. */ #include "internal.h" #define FORMAT_HANDLER #include "ddf1.h" #include "ddf1_crc.h" #include "ddf1_lib.h" #define DM_BYTEORDER_SWAB #include /* * CRC table code to avoid linking to zlib, because Ubuntu has * problems with that plus this additionally saves space. */ /* Make the table for a fast CRC. */ #define CRC_TABLE_SIZE 256 static inline void crc_table_init(uint32_t * crc_table) { static int new = 1; /* Flag for table not yet computed. */ if (new) { uint32_t c, n, k; for (new = n = 0; n < CRC_TABLE_SIZE; *(crc_table++) = c, n++) { for (c = n, k = 0; k < 8; k++) c = (c & 1) ? (c >> 1) ^ 0xEDB88320L : c >> 1; } } } /* * Update a running CRC with the bytes buf[0..len-1] -- the CRC * should be initialized to all 1's, and the transmitted value * is the 1's complement of the final running CRC (see the * crc() routine below). */ /* Return the CRC of the bytes buf[0..len-1]. */ static uint32_t crc(uint32_t crc, unsigned char *buf, int len) { int n; static uint32_t crc_table[CRC_TABLE_SIZE]; /* CRCs of 8-bit messages. */ crc_table_init(crc_table); for (n = 0; n < len; n++) crc = crc_table[(crc ^ buf[n]) & (CRC_TABLE_SIZE - 1)] ^ (crc >> 8); return crc ^ 0xFFFFFFFFL; } /* CRC info for various functions below */ struct crc_info { void *p; uint32_t *crc; size_t size; const char *text; }; /* Compute the checksum of a table */ static uint32_t do_crc32(struct lib_context *lc, struct crc_info *ci) { uint32_t old_csum = *ci->crc, ret = 0xFFFFFFFF; *ci->crc = ret; ret = crc(ret, ci->p, ci->size); *ci->crc = old_csum; return ret; } /* Return VD record size. */ static inline size_t record_size(struct ddf1 *ddf1) { return ddf1->primary->vd_config_record_len * DDF1_BLKSIZE; } #define CRC32(suffix, record_type, macro) \ static int crc32_ ## suffix(struct lib_context *lc, struct dev_info *di, \ struct ddf1 *ddf1, int idx) \ { \ struct record_type *r = macro(ddf1, idx); \ struct crc_info ci = { \ .p = r, \ .crc = &r->crc, \ .size = record_size(ddf1), \ }; \ \ r->crc = do_crc32(lc, &ci); \ return 1; \ } CRC32(vd, ddf1_config_record, CR); CRC32(spare, ddf1_spare_header, SR); #undef CRC32 /* Process the configuration records to have their CRCs updated */ static int update_cfg_crc(struct lib_context *lc, struct dev_info *di, struct ddf1 *ddf1) { static struct ddf1_record_handler handlers = { .vd = crc32_vd, .spare = crc32_spare, }; ddf1_process_records(lc, di, &handlers, ddf1, 0); return 1; } /* Checks the CRC for a particular table */ static int check_crc(struct lib_context *lc, struct dev_info *di, struct crc_info *ci) { uint32_t crc32; crc32 = do_crc32(lc, ci); if (*ci->crc != crc32) log_print(lc, "%s: %s with CRC %X, expected %X on %s", HANDLER, ci->text, crc32, *ci->crc, di->path); return 1; } #define CHECK_CRC(prefix, record_type, macro, txt) \ static int prefix ## _check_crc(struct lib_context *lc, struct dev_info *di, \ struct ddf1 *ddf1, int idx) \ { \ struct record_type *r = macro(ddf1, idx); \ struct crc_info ci = { \ .p = r, \ .crc = &r->crc, \ .size = record_size(ddf1), \ .text = txt, \ }; \ \ return check_crc(lc, di, &ci); \ } CHECK_CRC(vd, ddf1_config_record, CR, "VD CFG"); CHECK_CRC(spare, ddf1_spare_header, SR, "Spare CFG"); #undef CHECK_CRC /* Process the configuration records to have their CRCs checked */ static int check_cfg_crc(struct lib_context *lc, struct dev_info *di, struct ddf1 *ddf1) { struct ddf1_record_handler handlers = { .vd = vd_check_crc, .spare = spare_check_crc, }; return ddf1_process_records(lc, di, &handlers, ddf1, 0); } /* Processes all of the DDF1 information for having their CRCs updated*/ enum all_type { CHECK, UPDATE }; static int all_crcs(struct lib_context *lc, struct dev_info *di, struct ddf1 *ddf1, enum all_type type) { int ret = 1; uint32_t crc; struct crc_info crcs[] = { {ddf1->primary, &ddf1->primary->crc, sizeof(*ddf1->primary), "primary header"} , {ddf1->secondary, &ddf1->secondary->crc, sizeof(*ddf1->secondary), "secondary header"} , {ddf1->adapter, &ddf1->adapter->crc, ddf1->primary->adapter_data_len * DDF1_BLKSIZE, "adapter"} , {ddf1->disk_data, &ddf1->disk_data->crc, ddf1->primary->disk_data_len * DDF1_BLKSIZE, "disk data"} , {ddf1->pd_header, &ddf1->pd_header->crc, ddf1->primary->phys_drive_len * DDF1_BLKSIZE, "physical drives"} , {ddf1->vd_header, &ddf1->vd_header->crc, ddf1->primary->virt_drive_len * DDF1_BLKSIZE, "virtual drives"} , } , *c = ARRAY_END(crcs); while (c-- > crcs) { if (c->p) { if (type == CHECK) ret &= check_crc(lc, di, c); else { crc = do_crc32(lc, c); *c->crc = crc; } } } return type == CHECK ? (ret & check_cfg_crc(lc, di, ddf1)) : update_cfg_crc(lc, di, ddf1); } /* Processes the tables to check their CRCs */ int ddf1_check_all_crcs(struct lib_context *lc, struct dev_info *di, struct ddf1 *ddf1) { return all_crcs(lc, di, ddf1, CHECK); } /* Processes all of the DDF1 information for having their CRCs updated */ void ddf1_update_all_crcs(struct lib_context *lc, struct dev_info *di, struct ddf1 *ddf1) { all_crcs(lc, di, ddf1, UPDATE); } dmraid/1.0.0.rc16/lib/format/ddf/README0000644000175200007640000000010011254123773017361 0ustar mauelshamauelsha This directory contains the SNIA DDF1 metadata format handler dmraid/1.0.0.rc16/lib/format/ddf/ddf1_cvt.h0000644000175200007640000000247511254123773020365 0ustar mauelshamauelsha/* * SNIA DDF1 v1.0 metadata format handler. * * Copyright (C) 2005-2006 IBM, All rights reserved. * Written by Darrick Wong * * Copyright (C) 2006 Heinz Mauelshagen, Red Hat GmbH * All rights reserved. * * See file LICENSE at the top of this source tree for license information. */ #ifndef _DDF1_CVT_H_ #define _DDF1_CVT_H_ #include "internal.h" void ddf1_cvt_header(struct ddf1 *ddf1, struct ddf1_header *hdr); void ddf1_cvt_adapter(struct ddf1 *ddf1, struct ddf1_adapter *hdr); void ddf1_cvt_disk_data(struct ddf1 *ddf1, struct ddf1_disk_data *hdr); void ddf1_cvt_phys_drive_header(struct ddf1 *ddf1, struct ddf1_phys_drives *hdr); void ddf1_cvt_phys_drive(struct ddf1 *ddf1, struct ddf1_phys_drive *hdr); void ddf1_cvt_virt_drive_header(struct ddf1 *ddf1, struct ddf1_virt_drives *hdr); void ddf1_cvt_virt_drive(struct ddf1 *ddf1, struct ddf1_virt_drive *hdr); int ddf1_cvt_config_record(struct lib_context *lc, struct dev_info *di, struct ddf1 *ddf1, int idx); int ddf1_cvt_spare_record(struct lib_context *lc, struct dev_info *di, struct ddf1 *ddf1, int idx); void ddf1_cvt_records(struct lib_context *lc, struct dev_info *di, struct ddf1 *ddf1, int in_cpu_format); void ddf1_cvt_all(struct lib_context *lc, struct ddf1 *ddf1, struct dev_info *di); #endif dmraid/1.0.0.rc16/lib/format/ddf/ddf1_lib.h0000644000175200007640000000251011254123773020325 0ustar mauelshamauelsha/* * SNIA DDF1 v1.0 metadata format handler. * * Copyright (C) 2005-2006 IBM, All rights reserved. * Written by Darrick Wong * * Copyright (C) 2006 Heinz Mauelshagen, Red Hat GmbH * All rights reserved. * * See file LICENSE at the top of this source tree for license information. */ #ifndef _DDF1_LIB_H #define _DDF1_LIB_H /* Cpmpare two GUIDs */ static inline uint8_t _and(uint8_t * p) { return p[20] & p[21] & p[22] & p[23]; } static inline int guidcmp(uint8_t * one, uint8_t * two) { int x = memcmp(one, two, DDF1_GUID_LENGTH - 4); if (x) return x; return (_and(one) || _and(two)) ? 0 : memcmp(one + 20, two + 20, 4); } /* Byte offset for sector */ static inline uint64_t to_bytes(uint64_t sector) { return sector * DDF1_BLKSIZE; } uint64_t ddf1_beginning(struct ddf1 * ddf1); uint16_t ddf1_cr_off_maxpds_helper(struct ddf1 *ddf1); int ddf1_endianness(struct lib_context *lc, struct ddf1 *ddf1); struct ddf1_record_handler { int (*vd) (struct lib_context * lc, struct dev_info * di, struct ddf1 * ddf1, int idx); int (*spare) (struct lib_context * lc, struct dev_info * di, struct ddf1 * ddf1, int idx); }; int ddf1_process_records(struct lib_context *lc, struct dev_info *di, struct ddf1_record_handler *handler, struct ddf1 *ddf1, int in_cpu_format); #endif dmraid/1.0.0.rc16/lib/format/ddf/ddf1_dump.h0000644000175200007640000000112311254123773020523 0ustar mauelshamauelsha/* * SNIA DDF1 v1.0 metadata format handler. * * Copyright (C) 2005-2006 IBM, All rights reserved. * Written by Darrick Wong * * Copyright (C) 2006 Heinz Mauelshagen, Red Hat GmbH * All rights reserved. * * See file LICENSE at the top of this source tree for license information. */ #ifdef DMRAID_NATIVE_LOG #include "internal.h" #ifndef _DDF1_DUMP_H_ #define _DDF1_DUMP_H_ void ddf1_dump_all(struct lib_context *lc, struct dev_info *di, struct ddf1 *ddf1, const char *handler); #endif /* _DDF1_DUMP_H */ #endif /* DMRAID_NATIVE_LOG */ dmraid/1.0.0.rc16/lib/format/ddf/ddf1.c.name0000644000175200007640000006272311254241176020423 0ustar mauelshamauelsha/* * SNIA DDF1 v1.0 metadata format handler. * * Copyright (C) 2005-2006 IBM, All rights reserved. * Written by Darrick Wong * * Copyright (C) 2006-2008 Heinz Mauelshagen, Red Hat GmbH * All rights reserved. * * See file LICENSE at the top of this source tree for license information. */ #include "internal.h" #define FORMAT_HANDLER #include "ddf1.h" #include "ddf1_lib.h" #include "ddf1_crc.h" #include "ddf1_cvt.h" #include "ddf1_dump.h" #define GRP_RD(rd) \ (((struct ddf1_group_info *) (rd)->private.ptr)->rd_group) /* * Helper struct to squirrel a group set reference to the check method * in order to avoid, that premature deallocation in metadata.c * removes the group set. */ struct ddf1_group_info { struct raid_dev *rd_group; }; static const char *handler = HANDLER; #define DDF1_SPARES ".ddf1_spares" #define DDF1_DISKS (char*) ".ddf1_disks" /* PCI IDs for Adaptec */ // #define PCI_VENDOR_ID_ADAPTEC 0x9004 #define PCI_VENDOR_ID_ADAPTEC2 0x9005 /* Map DDF1 disk status to dmraid status */ static enum status disk_status(struct ddf1_phys_drive *disk) { struct states states[] = { {0x72, s_broken}, {0x04, s_nosync}, {0x08, s_setup}, {0x01, s_ok}, {0, s_undef}, }; return disk ? rd_status(states, disk->state, AND) : s_undef; } /* * Compare two GUIDs. For some reason, Adaptec sometimes writes 0xFFFFFFFF * as the last four bytes (ala DDF2) and sometimes writes real data. * For now we'll compare the first twenty and only the last four if * both GUIDs don't have 0xFFFFFFFF in bytes 20-23. Gross. */ /* Find this drive's physical data */ static struct ddf1_phys_drive * get_phys_drive(struct ddf1 *ddf1) { unsigned int i = ddf1->pd_header->max_drives; while (i--) { if (ddf1->pds[i].reference == ddf1->disk_data->reference) return ddf1->pds + i; } return NULL; } /* Find the virtual drive that goes with this config record */ static struct ddf1_virt_drive * get_virt_drive(struct ddf1 *ddf1, struct ddf1_config_record *cr) { int i = ddf1->vd_header->num_drives; while (i--) { if (!guidcmp(ddf1->vds[i].guid, cr->guid)) return ddf1->vds + i; } return NULL; } /* * Find the index of the VD config record given a physical drive and offset. */ static int get_config_byoffset(struct ddf1 *ddf1, struct ddf1_phys_drive *pd, uint64_t offset) { int cfgs = NUM_CONFIG_ENTRIES(ddf1), i; uint32_t *cfg_drive_ids, j; uint64_t *cfg_drive_offsets; struct ddf1_config_record *cfg; for (i = 0; i < cfgs; i++) { cfg = CR(ddf1, i); if (cfg->signature == DDF1_VD_CONFIG_REC) { cfg_drive_ids = CR_IDS(ddf1, cfg); cfg_drive_offsets = CR_OFF(ddf1, cfg); for (j = 0; j < cfg->primary_element_count; j++) { if (cfg_drive_ids[j] == pd->reference && cfg_drive_offsets[j] == offset) return i; } } } return -ENOENT; } /* Find the index of the nth VD config record for this physical drive. */ static int get_config_index(struct ddf1 *ddf1, struct ddf1_phys_drive *pd, unsigned int *n) { int cfgs = NUM_CONFIG_ENTRIES(ddf1), i, j, nn = *n; uint32_t *ids; struct ddf1_config_record *cr; for (i = 0; i < cfgs; i++) { cr = CR(ddf1, i); if (cr->signature == DDF1_VD_CONFIG_REC) { ids = CR_IDS(ddf1, cr); for (j = 0; j < cr->primary_element_count; j++) { if (ids[j] == pd->reference && !nn--) return i; } } } *n -= nn; return nn < 0 ? -ENOENT : 0; } /* * Find the nth VD config record for this physical drive. */ static inline struct ddf1_config_record * get_config(struct ddf1 *ddf1, struct ddf1_phys_drive *pd, unsigned int n) { int i = get_config_index(ddf1, pd, &n); return i < 0 ? NULL : CR(ddf1, i); } /* Find a config record for this drive, given the offset of the array. */ static inline struct ddf1_config_record * get_this_config(struct ddf1 *ddf1, uint64_t offset) { struct ddf1_phys_drive *pd = get_phys_drive(ddf1); int i = get_config_byoffset(ddf1, pd, offset); return i < 0 ? NULL : get_config(ddf1, pd, i); } /* Find the config record disk/offset entry for this config/drive. */ static int get_offset_entry(struct ddf1 *ddf1, struct ddf1_config_record *cr, struct ddf1_phys_drive *pd) { int i; uint32_t *ids; if (cr) { ids = CR_IDS(ddf1, cr); for (i = 0; i < ddf1->primary->max_phys_drives; i++) { if (ids[i] == pd->reference) return i; } } return -ENOENT; } /* Find the offset for this config/drive. */ static uint64_t get_offset(struct ddf1 *ddf1, struct ddf1_config_record *cr, struct ddf1_phys_drive *pd) { int i = get_offset_entry(ddf1, cr, pd); return i < 0 ? pd->size : CR_OFF(ddf1, cr)[i]; } /* Calculate the stripe size, in sectors */ static inline unsigned int stride(struct ddf1_config_record *cr) { return to_bytes(1) >> 9 << cr->stripe_size; } /* Map the DDF1 raid type codes into dmraid type codes. */ static enum type type(struct lib_context *lc, struct ddf1 *ddf1, struct ddf1_config_record *cr) { unsigned int l; struct types *t; /* Mapping of template types to generic types */ static struct types types[] = { {DDF1_RAID0, t_raid0}, {DDF1_RAID1, t_raid1}, {DDF1_RAID4, t_raid4}, {DDF1_CONCAT, t_linear}, {DDF1_JBOD, t_linear}, {0, t_undef} }; /* Seperate array for RAID5 qualifiers */ static struct types qualifier_types[] = { /* FIXME: Is RLQ=0 really right symmetric? */ {DDF1_RAID5_RS, t_raid5_rs}, {DDF1_RAID5_LA, t_raid5_la}, {DDF1_RAID5_LS, t_raid5_ls}, {0, t_undef} }; if (!cr) return t_undef; l = cr->raid_level; if (l == DDF1_RAID5) { /* * FIXME: Do _all_ Adaptec controllers use left * asymmetric parity and write zero to RLQ? */ if (ddf1->adaptec_mode) return t_raid5_la; l = cr->raid_qualifier; t = qualifier_types; } else t = types; return rd_type(t, l); } /* Read the whole metadata chunk at once */ static uint8_t * read_metadata_chunk(struct lib_context *lc, struct dev_info *di, uint64_t start) { uint8_t *ret; size_t size = to_bytes(di->sectors - start); if (!(ret = alloc_private(lc, handler, size))) return NULL; if (!read_file(lc, handler, di->path, ret, size, to_bytes(start))) { dbg_free(ret); LOG_ERR(lc, NULL, "%s: unable to read metadata off %s", handler, di->path); } return ret; } static inline void cond_free(void *p) { if (p) dbg_free(p); } /* Reused error message */ static inline void * err_drive(struct lib_context *lc, struct dev_info *di, const char *what) { LOG_ERR(lc, NULL, "%s: cannot find %s drive record on %s", handler, what, di->path); } static void * err_phys_drive(struct lib_context *lc, struct dev_info *di) { return err_drive(lc, di, "physical"); } static void * err_virt_drive(struct lib_context *lc, struct dev_info *di) { return err_drive(lc, di, "virtual"); } /* * Read a DDF1 RAID device. Fields are little endian, so * need to convert them if we're on a BE machine (ppc, etc). */ static int read_extended(struct lib_context *lc, struct dev_info *di, struct ddf1 *ddf1) { int i; uint64_t where; size_t size; struct ddf1_header *pri, *sec; struct ddf1_adapter *adap; struct ddf1_disk_data *ddata; struct ddf1_phys_drives *pd; struct ddf1_virt_drives *vd; /* Read the primary DDF header */ where = to_bytes(ddf1->anchor.primary_table_lba); if (!(pri = ddf1->primary = alloc_private_and_read(lc, handler, sizeof(*pri), di->path, where))) goto bad; /* Read the secondary header. */ ddf1_cvt_header(ddf1, pri); if (!(sec = ddf1->secondary = alloc_private(lc, handler, sizeof(*sec)))) goto bad; where = to_bytes(ddf1->anchor.secondary_table_lba); if (ddf1->anchor.secondary_table_lba != 0xFFFFFFFFFFFFFFFFULL && !read_file(lc, handler, di->path, sec, sizeof(*sec), where)) goto bad; ddf1_cvt_header(ddf1, sec); if (pri->signature != DDF1_HEADER) { log_warn(lc, "%s: incorrect primary header signature %x on", handler, pri->signature, di->path); cond_free(ddf1->primary); ddf1->primary = NULL; }; if (sec->signature == DDF1_HEADER) { /* If we encounter an error, we use the secondary table */ if (!ddf1->primary) { log_warn(lc, "%s: using secondary header on %s", handler, di->path); ddf1->primary = ddf1->secondary; ddf1->secondary = NULL; } } else { if (sec->signature) log_warn(lc, "%s: bad secondary header signature %x " "on %s", handler, sec->signature, di->path); dbg_free(sec); ddf1->secondary = NULL; } if (!ddf1->primary) { log_error(lc, "%s: both header signatures bad on %s", handler, di->path); goto bad; } /* Read the adapter data */ if (!(adap = ddf1->adapter = alloc_private(lc, handler, sizeof(*adap)))) goto bad; where = to_bytes(pri->primary_table_lba + pri->adapter_data_offset); if (pri->adapter_data_offset != 0xFFFFFFFF && !read_file(lc, handler, di->path, adap, sizeof(*adap), where)) goto bad; ddf1_cvt_adapter(ddf1, ddf1->adapter); if (ddf1->adapter->signature != DDF1_ADAPTER_DATA) { if (ddf1->adapter->signature) log_warn(lc, "%s: incorrect adapter data signature %x " "on %s", handler, ddf1->adapter->signature, di->path); dbg_free(ddf1->adapter); ddf1->adapter = NULL; } if (ddf1->adapter && ddf1->adapter->pci_vendor == PCI_VENDOR_ID_ADAPTEC2) { log_notice(lc, "%s: Adaptec mode discovered on %s", handler, di->path); ddf1->adaptec_mode = 1; } /* Read physical drive characteristic data */ where = to_bytes(pri->primary_table_lba + pri->disk_data_offset); if (!(ddata = ddf1->disk_data = alloc_private_and_read(lc, handler, sizeof(*ddata), di->path, where))) goto bad; /* * This table isn't technically required, but for now we rely * on it to give us a key into the physical drive table. */ ddf1_cvt_disk_data(ddf1, ddata); if (ddata->signature != DDF1_FORCED_PD_GUID) { log_warn(lc, "%s: incorrect disk data signature %x on %s", handler, ddata->signature, di->path); goto bad; } /* Read physical drive data header */ where = to_bytes(pri->primary_table_lba + pri->phys_drive_offset); size = to_bytes(pri->phys_drive_len); if (!(pd = ddf1->pd_header = alloc_private_and_read(lc, handler, size, di->path, where))) goto bad; ddf1_cvt_phys_drive_header(ddf1, pd); if (pd->signature != DDF1_PHYS_DRIVE_REC) { err_phys_drive(lc, di); goto bad; } /* Now read the physical drive data */ ddf1->pds = (struct ddf1_phys_drive *) (((uint8_t *) ddf1->pd_header) + sizeof(*pd)); for (i = 0; i < pd->num_drives; i++) { ddf1_cvt_phys_drive(ddf1, &ddf1->pds[i]); /* * Adaptec controllers have a weird bug where this field is * only four bytes ... and the next four are 0xFF. */ if (ddf1->pds[i].size >> 32 == 0xFFFFFFFF) ddf1->pds[i].size &= 0xFFFFFFFF; } /* Read virtual drive data header */ where = to_bytes(pri->primary_table_lba + pri->virt_drive_offset); size = to_bytes(pri->phys_drive_len); if (!(vd = ddf1->vd_header = alloc_private_and_read(lc, handler, size, di->path, where))) goto bad; ddf1_cvt_virt_drive_header(ddf1, vd); if (vd->signature != DDF1_VIRT_DRIVE_REC) { err_virt_drive(lc, di); goto bad; } /* Now read the virtual drive data */ ddf1->vds = (struct ddf1_virt_drive *) (((uint8_t *) vd) + sizeof(*pd)); for (i = 0; i < vd->num_drives; i++) ddf1_cvt_virt_drive(ddf1, &ddf1->vds[i]); /* Read config data */ where = to_bytes(pri->primary_table_lba + pri->config_record_offset); size = to_bytes(pri->config_record_len); if (!(ddf1->cfg = alloc_private_and_read(lc, handler, size, di->path, where))) goto bad; /* * Ensure each record is: a config table for VDs; a config table for * spare disks; or vendor-specifc data of some sort. */ ddf1_cvt_records(lc, di, ddf1, 1); /* * FIXME: We don't pick up diagnostic logs, vendor specific logs, * bad block data, etc. That shouldn't cause a problem with reading * or writing metadata, but at some point we might want to do something * with them. */ ddf1->in_cpu_format = 1; /* FIXME: We should verify the checksums for all modes */ if (ddf1->adaptec_mode && !(ddf1_check_all_crcs(lc, di, ddf1))) goto bad; return 1; bad: ddf1->vds = NULL; ddf1->pds = NULL; cond_free(ddf1->cfg); cond_free(ddf1->pd_header); cond_free(ddf1->disk_data); cond_free(ddf1->adapter); cond_free(ddf1->secondary); cond_free(ddf1->primary); return 0; } /* Count the number of raid_devs we need to create for this drive */ static unsigned int num_devs(struct lib_context *lc, void *meta) { struct ddf1 *ddf1 = meta; unsigned int num_drives = ~0; get_config_index(ddf1, get_phys_drive(ddf1), &num_drives); return num_drives; } /* Is this DDF1 metadata? */ static inline int is_ddf1(struct lib_context *lc, struct dev_info *di, struct ddf1 *ddf1) { /* * Check our magic numbers and that the version == v2. * We don't support anything other than that right now. */ /* FIXME: We should examine the version headers... */ return ddf1->anchor.signature == DDF1_HEADER || ddf1->anchor.signature == DDF1_HEADER_BACKWARDS; } /* Try to find DDF1 metadata at a given offset (ddf1_sboffset) */ static struct ddf1 * try_to_find_ddf1(struct lib_context *lc, struct dev_info *di, size_t * sz, uint64_t * offset, union read_info *info, uint64_t ddf1_sboffset) { struct ddf1 *ddf1; /* * Try to find a DDF1 anchor block at ddf1_sboffset. In theory this * should be the very last block, but some Adaptec controllers have * issues with standards compliance. So we have to try with various * offsets. */ if (!(ddf1 = alloc_private(lc, handler, sizeof(*ddf1)))) goto err; if (!read_file(lc, handler, di->path, &ddf1->anchor, to_bytes(1), ddf1_sboffset) || !is_ddf1(lc, di, ddf1)) goto bad; ddf1->anchor_offset = ddf1_sboffset; /* Convert endianness */ ddf1->in_cpu_format = 0; if ((ddf1->disk_format = ddf1_endianness(lc, ddf1)) < 0) goto bad; ddf1_cvt_header(ddf1, &ddf1->anchor); /* Read extended metadata. */ if (read_extended(lc, di, ddf1)) return ddf1; bad: dbg_free(ddf1); err: return NULL; } /* * Attempt to interpret DDF1 metadata from a block device. This function * returns either NULL or a pointer to a descriptor struct. * Note that the struct should be fully converted to the correct endianness * by the time this function returns. */ static void * read_metadata_areas(struct lib_context *lc, struct dev_info *di, size_t * sz, uint64_t * offset, union read_info *info) { struct ddf1 *ddf1; if (!(ddf1 = try_to_find_ddf1(lc, di, sz, offset, info, DDF1_CONFIGOFFSET))) { if ((ddf1 = try_to_find_ddf1(lc, di, sz, offset, info, DDF1_CONFIGOFFSET_ADAPTEC))) ddf1->adaptec_mode = 1; } return ddf1; } /* This is all hogwash since file_metadata can only be called once... */ static void file_metadata_areas(struct lib_context *lc, struct dev_info *di, void *meta) { uint8_t *buf; uint64_t start = ddf1_beginning(meta); if ((buf = read_metadata_chunk(lc, di, start))) { /* Record metadata. */ file_metadata(lc, handler, di->path, buf, to_bytes(di->sectors - start), to_bytes(start)); dbg_free(buf); file_dev_size(lc, handler, di); /* Record the device size. */ } } static int setup_rd(struct lib_context *lc, struct raid_dev *rd, struct dev_info *di, void *meta, union read_info *info); static struct raid_dev * ddf1_read(struct lib_context *lc, struct dev_info *di) { /* * NOTE: Everything called after read_metadata_areas assumes that * the reserved block, raid table and config table have been * converted to the appropriate endianness. */ return read_raid_dev(lc, di, read_metadata_areas, 0, 0, NULL, NULL, file_metadata_areas, setup_rd, handler); } /* Compose an "identifier" for use as a sort key for raid sets. */ static inline int compose_id(struct ddf1 *ddf1, struct raid_dev *rd) { struct ddf1_phys_drive *pd = get_phys_drive(ddf1); int i = get_config_byoffset(ddf1, pd, rd->offset); return i < 0 ? -1 : get_offset_entry(ddf1, get_config(ddf1, pd, i), pd); } /* No sort. */ static int no_sort(struct list_head *pos, struct list_head *new) { return 0; } /* Sort DDF1 devices by offset entry within a RAID set. */ static int dev_sort(struct list_head *pos, struct list_head *new) { struct raid_dev *rd_pos = RD(pos), *rd_new = RD(new); return compose_id(META(GRP_RD(rd_new), ddf1), rd_new) < compose_id(META(GRP_RD(rd_pos), ddf1), rd_pos); } /* * IO error event handler. */ static int event_io(struct lib_context *lc, struct event_io *e_io) { log_err(lc, "%s: I/O error on device %s at sector %lu.\n", handler, e_io->rd->di->path, e_io->sector); LOG_ERR(lc, 0, "%s: PANIC - don't know about event_io!", handler); } #if 0 /* FIXME: This should not use META() directly? */ struct raid_dev *rd = e_io->rd; struct ddf1 *ddf1 = META(rd, ddf1); struct ddf1_raid_configline *cl = this_disk(ddf1); struct ddf1_raid_configline *fwl = find_logical(ddf1); /* Ignore if we've already marked this disk broken(?) */ if (rd->status & s_broken) return 0; /* Mark the array as degraded and the disk as failed. */ rd->status = s_broken; cl->raidstate = LSU_COMPONENT_STATE_FAILED; fwl->raidstate = LSU_COMPONENT_STATE_DEGRADED; /* FIXME: Do we have to mark a parent too? */ /* Indicate that this is indeed a failure. */ return 1; } #endif #define NAME_SIZE 64 /* Formulate a RAID set name for this disk. */ static char * name(struct lib_context *lc, struct ddf1 *ddf1, struct raid_dev *rd) { int i, prefix; char buf[NAME_SIZE]; struct ddf1_phys_drive *pd; struct ddf1_virt_drive *vd; struct ddf1_config_record *cr; if (!(pd = get_phys_drive(ddf1))) return err_phys_drive(lc, rd->di); i = get_config_byoffset(ddf1, pd, rd->offset); cr = get_config(ddf1, pd, i); if (i < 0 || !cr) { sprintf(buf, DDF1_SPARES); goto out; } if (!(vd = get_virt_drive(ddf1, cr))) return err_virt_drive(lc, rd->di); sprintf(buf, "%s_", handler); prefix = strlen(buf); if (vd->name[0]) { memcpy(buf + prefix, vd->name, 16); i = prefix + 16; while (!isgraph(buf[--i])); buf[i + 1] = 0; } else { char *b; for (b = buf + prefix, i = 0; i < 24; b += 8, i += 4) sprintf(b, "%02x%02x%02x%02x", vd->guid[i], vd->guid[i + 1], vd->guid[i + 2], vd->guid[i + 3]); } out: return dbg_strdup(buf); /* Only return the needed allocation */ } /* Figure out the real size of a disk... */ static uint64_t get_size(struct lib_context *lc, struct ddf1 *ddf1, struct ddf1_config_record *cr, struct ddf1_phys_drive *pd) { if (cr && cr->sectors) /* Some Adaptec controllers need this clamping. */ return type(lc, ddf1, cr) == t_raid0 ? cr->sectors - cr->sectors % stride(cr) : cr->sectors; return pd->size; } /* * Create all the volumes of a DDF1 disk as subsets of the top level DDF1 * disk group. rs_group points to that raid subset and is returned if the * function is successful, NULL if not. rd_group is the raid device that * represents the entire disk drive. */ static struct raid_set * group_rd(struct lib_context *lc, struct raid_set *rs_group, struct raid_dev *rd_group) { struct ddf1 *ddf1 = META(rd_group, ddf1); struct raid_set *rs = NULL; struct raid_dev *rd; struct ddf1_config_record *cr; struct ddf1_phys_drive *pd; struct ddf1_group_info *gi; unsigned int devs, i; if (!(pd = get_phys_drive(ddf1))) return err_phys_drive(lc, rd_group->di); devs = num_devs(lc, ddf1); for (i = 0; i < devs; i++) { /* Allocate a raid_dev for this volume */ if (!(rd = alloc_raid_dev(lc, handler))) return NULL; cr = get_config(ddf1, pd, i); rd->di = rd_group->di; rd->fmt = rd_group->fmt; rd->type = type(lc, ddf1, cr); if (!(rd->sectors = get_size(lc, ddf1, cr, pd))) { log_zero_sectors(lc, rd->di->path, handler); free_raid_dev(lc, &rd); continue; } rd->offset = get_offset(ddf1, cr, pd); /* * If we have a virtual drive config without an entry in the * list of virtual drives, we ignore it. Weird bug seen on * Adaptec 2410SA controller. */ if (!(rd->name = name(lc, ddf1, rd))) { free_raid_dev(lc, &rd); continue; } /* Stuff it into the appropriate raid set. */ if (!(rs = find_or_alloc_raid_set(lc, rd->name, FIND_ALL, rd, &rs_group->sets, NO_CREATE, NO_CREATE_ARG))) { free_raid_dev(lc, &rd); return NULL; } if (!(gi = alloc_private(lc, handler, sizeof(*gi)))) { free_raid_dev(lc, &rd); return NULL; } /* Keep reference to the entire device for ddf1_check() */ rd->private.ptr = gi; GRP_RD(rd) = rd_group; /* Add rest of subset state */ rs->stride = stride(cr); rs->type = type(lc, ddf1, cr); rs->status = s_ok; /* Sort device into subset */ list_add_sorted(lc, &rs->devs, &rd->devs, dev_sort); } return rs_group; } /* * Add a DDF1 device to a RAID set. This involves finding the raid set to * which this disk belongs, and then attaching it. Note that there are other * complications, such as two-layer arrays (RAID10). * * FIXME: We haven't been able to set up a RAID10 for testing... */ static struct raid_set * ddf1_group(struct lib_context *lc, struct raid_dev *rd) { struct ddf1 *ddf1 = META(rd, ddf1); struct ddf1_phys_drive *pd; struct raid_set *rs; if (!(pd = get_phys_drive(ddf1))) return err_phys_drive(lc, rd->di); if (!rd->name) LOG_ERR(lc, NULL, "%s: no RAID array name on %s", handler, rd->di->path); /* * Find/create a raid set for all DDF drives and put this disk * into that set. The raid_sets for the real arrays will be created * as children of the disk's raid_set. * * (Is this really necessary?) */ if (!(rs = find_or_alloc_raid_set(lc, rd->name, FIND_TOP, rd, LC_RS(lc), NO_CREATE, NO_CREATE_ARG))) return NULL; rs->type = t_group; list_add_sorted(lc, &rs->devs, &rd->devs, no_sort); /* Go deal with the real arrays. */ return group_rd(lc, rs, rd); } /* Write metadata. */ static int ddf1_write(struct lib_context *lc, struct raid_dev *rd, int erase) { int ret; struct ddf1 *ddf1 = META(rd, ddf1); if (ddf1->adaptec_mode) ddf1_update_all_crcs(lc, rd->di, ddf1); ddf1_cvt_all(lc, ddf1, rd->di); ret = write_metadata(lc, handler, rd, -1, erase); ddf1_cvt_all(lc, ddf1, rd->di); return ret; } /* * Check integrity of a RAID set. */ /* Retrieve the number of devices that should be in this set. */ static unsigned int device_count(struct raid_dev *rd, void *context) { /* Get the logical drive */ struct ddf1_config_record *cr = get_this_config(META(GRP_RD(rd), ddf1), rd->offset); return cr ? cr->primary_element_count : 0; } /* Check a RAID device */ static int check_rd(struct lib_context *lc, struct raid_set *rs, struct raid_dev *rd, void *context) { /* * FIXME: Should we do more checking for brokenness here? * We could check SMART data, etc. */ return rd->type != s_broken; } /* Start the recursive RAID set check. */ static int ddf1_check(struct lib_context *lc, struct raid_set *rs) { return check_raid_set(lc, rs, device_count, NULL, check_rd, NULL, handler); } static struct event_handlers ddf1_event_handlers = { .io = event_io, .rd = NULL, /* FIXME: no device add/remove event handler yet. */ }; #ifdef DMRAID_NATIVE_LOG /* * Log native information about the RAID device. */ static void ddf1_log(struct lib_context *lc, struct raid_dev *rd) { ddf1_dump_all(lc, rd->di, META(rd, ddf1), handler); } #endif /* #ifdef DMRAID_NATIVE_LOG */ static struct dmraid_format ddf1_format = { .name = HANDLER, .descr = "SNIA DDF1", .caps = "0,1,4,5,linear", .format = FMT_RAID, .read = ddf1_read, .write = ddf1_write, .group = ddf1_group, .check = ddf1_check, .events = &ddf1_event_handlers, #ifdef DMRAID_NATIVE_LOG .log = ddf1_log, #endif }; /* Register this format handler with the format core */ int register_ddf1(struct lib_context *lc) { return register_format_handler(lc, &ddf1_format); } /* * Set up a RAID device from what we've assembled out of the metadata. */ static int setup_rd(struct lib_context *lc, struct raid_dev *rd, struct dev_info *di, void *meta, union read_info *info) { unsigned int i, ma_count = 5; struct ddf1 *ddf1 = meta; struct meta_areas *ma; struct ddf1_phys_drive *pd; if (!(pd = get_phys_drive(ddf1))) LOG_ERR(lc, 0, "%s: Cannot find physical drive description " "on %s!", handler, di->path); /* We need multiple metadata areas */ ma_count += ddf1->adapter ? 1 : 0; ma_count += ddf1->secondary ? 1 : 0; ma_count += ddf1->disk_data ? 1 : 0; /* FIXME: metadata area for workspace_lba */ if (!(ma = rd->meta_areas = alloc_meta_areas(lc, rd, handler, ma_count))) return 0; /* Preset metadata area offset and size and adjust below */ for (i = 0; i < ma_count; i++) ma[i].offset = ddf1->primary->primary_table_lba; ma->offset = ddf1->anchor_offset; (ma++)->area = &ddf1->anchor; (ma++)->area = ddf1->primary; if (ddf1->secondary) (ma++)->offset = ddf1->primary->secondary_table_lba; if (ddf1->adapter) { ma->offset += ddf1->primary->adapter_data_offset; ma->size = to_bytes(ddf1->primary->adapter_data_len); (ma++)->area = ddf1->adapter; } /* FIXME: set up workspace_lba */ if (ddf1->disk_data) { ma->offset += ddf1->primary->disk_data_offset; ma->size = to_bytes(ddf1->primary->disk_data_len); (ma++)->area = ddf1->disk_data; } ma->offset += ddf1->primary->phys_drive_offset; ma->size = to_bytes(ddf1->primary->phys_drive_len); (ma++)->area = ddf1->pd_header; ma->offset += ddf1->primary->virt_drive_offset; ma->size = to_bytes(ddf1->primary->virt_drive_len); (ma++)->area = ddf1->vd_header; ma->offset += ddf1->primary->config_record_offset; ma->size = to_bytes(ddf1->primary->config_record_len); ma->area = ddf1->cfg; /* Now set up the rest of the metadata info */ rd->di = di; rd->fmt = &ddf1_format; rd->status = disk_status(pd); rd->type = t_group; rd->offset = 0; if (!(rd->sectors = get_size(lc, ddf1, NULL, pd))) return log_zero_sectors(lc, di->path, handler); /* FIXME: better name */ return (rd->name = dbg_strdup(DDF1_DISKS)) ? 1 : 0; } dmraid/1.0.0.rc16/lib/format/ddf/ddf1_crc.h0000644000175200007640000000114111254123773020325 0ustar mauelshamauelsha/* * Copyright (C) 2006 Heinz Mauelshage, Red Hat GmbH * All rights reserved. * * See file LICENSE at the top of this source tree for license information. */ /* * Copyright (C) 2006 Heinz Mauelshagen, Red Hat GmbH. * All rights reserved. * * See file LICENSE at the top of this source tree for license information. */ #ifndef _DDF1_CRC_H_ #define _DDF1_CRC_H_ int ddf1_check_all_crcs(struct lib_context *lc, struct dev_info *di, struct ddf1 *ddf1); void ddf1_update_all_crcs(struct lib_context *lc, struct dev_info *di, struct ddf1 *ddf1); #endif dmraid/1.0.0.rc16/lib/format/ddf/ddf1.h0000644000175200007640000001516611254123773017512 0ustar mauelshamauelsha/* * SNIA DDF1 v1.0 metadata format handler. * * Copyright (C) 2005-2006 IBM, All rights reserved. * Written by Darrick Wong * * Copyright (C) 2006 Heinz Mauelshagen, Red Hat GmbH * All rights reserved. * * See file LICENSE at the top of this source tree for license information. */ #ifndef _DDF1_H #define _DDF1_H /* Beginning of stuff that Darrick Wong added */ #ifdef FORMAT_HANDLER #undef FORMAT_HANDLER #define HANDLER "ddf1" /* Number of config records */ #define NUM_CONFIG_ENTRIES(ddf1) ((ddf1)->primary->config_record_len / \ (ddf1)->primary->vd_config_record_len) /* Macros to access config records */ #define SR(ddf, idx) ((struct ddf1_spare_header*)(((uint8_t*)(ddf)->cfg) + \ ((idx) * (ddf)->primary->vd_config_record_len * 512))) #define CR(ddf, idx) ((struct ddf1_config_record*)(((uint8_t*)(ddf)->cfg) + \ ((idx) * (ddf)->primary->vd_config_record_len * 512))) #define CR_IDS(ddf, cr) ((uint32_t*)(((uint8_t*)(cr)) + \ sizeof(struct ddf1_config_record))) #define CR_OFF(ddf, cr) ((uint64_t*)(((uint8_t*)(cr)) + \ sizeof(struct ddf1_config_record) + \ (ddf1_cr_off_maxpds_helper(ddf) * sizeof(uint32_t)))) /* DDF1 metadata offset in bytes */ #define DDF1_CONFIGOFFSET ((di->sectors - 1) << 9) /* DDF1 metadata offset on weird adaptec controllers */ #define DDF1_CONFIGOFFSET_ADAPTEC ((di->sectors - 257) << 9) /* Data offset in sectors */ #define DDF1_DATAOFFSET 0 /* Assume block size is 512... */ #define DDF1_BLKSIZE 512 /* Length of GUIDs in DDF */ #define DDF1_GUID_LENGTH 24 /* Length of DDF revision strings */ #define DDF1_REV_LENGTH 8 /* RAID types */ #define DDF1_RAID0 0x00 #define DDF1_RAID1 0x01 #define DDF1_RAID3 0x03 #define DDF1_RAID4 0x04 #define DDF1_RAID5 0x05 #define DDF1_RAID1E 0x11 #define DDF1_JBOD 0x0F #define DDF1_CONCAT 0x1F #define DDF1_RAID5E 0x15 #define DDF1_RAID5EE 0x25 #define DDF1_RAID6 0x16 #define DDF1_RAID5_RS 0 #define DDF1_RAID5_LA 2 #define DDF1_RAID5_LS 3 /* Table signatures */ #define DDF1_HEADER 0xDE11DE11 #define DDF1_HEADER_BACKWARDS 0x11DE11DE #define DDF1_ADAPTER_DATA 0XAD111111 #define DDF1_PHYS_DRIVE_REC 0X22222222 #define DDF1_FORCED_PD_GUID 0x33333333 #define DDF1_VIRT_DRIVE_REC 0xDDDDDDDD #define DDF1_VD_CONFIG_REC 0xEEEEEEEE #define DDF1_SPARE_REC 0x55555555 #define DDF1_VU_CONFIG_REC 0x88888888 #define DDF1_VENDOR_DATA 0x01DBEEF0 #define DDF1_BAD_BLOCKS 0xABADB10C #define DDF1_INVALID 0xFFFFFFFF /* DDF1 version string */ #define DDF1_VER_STRING "01.00.00" /* The DDF1 header table */ struct ddf1_header { uint32_t signature; uint32_t crc; uint8_t guid[DDF1_GUID_LENGTH]; uint8_t ddf_rev[DDF1_REV_LENGTH]; uint32_t seqnum; uint32_t timestamp; uint8_t open_flag; uint8_t foreign_flag; uint8_t grouping_enforced; uint8_t reserved2[45]; uint64_t primary_table_lba; uint64_t secondary_table_lba; uint8_t header_type; uint8_t reserved3[3]; uint32_t workspace_length; uint64_t workspace_lba; uint16_t max_phys_drives; uint16_t max_virt_drives; uint16_t max_partitions; uint16_t vd_config_record_len; uint16_t max_primary_elements; uint8_t reserved4[54]; uint32_t adapter_data_offset; uint32_t adapter_data_len; uint32_t phys_drive_offset; uint32_t phys_drive_len; uint32_t virt_drive_offset; uint32_t virt_drive_len; uint32_t config_record_offset; uint32_t config_record_len; uint32_t disk_data_offset; uint32_t disk_data_len; uint32_t badblock_offset; uint32_t badblock_len; uint32_t diag_offset; uint32_t diag_len; uint32_t vendor_offset; uint32_t vendor_len; uint8_t reserved5[256]; } __attribute__ ((packed)); /* The adapter data header */ struct ddf1_adapter { uint32_t signature; uint32_t crc; uint8_t guid[DDF1_GUID_LENGTH]; uint16_t pci_vendor; uint16_t pci_device; uint16_t pci_subvendor; uint16_t pci_subdevice; uint8_t reserved2[24]; uint8_t adapter_data[448]; } __attribute__ ((packed)); /* Physical drive info */ struct ddf1_disk_data { uint32_t signature; uint32_t crc; uint8_t guid[DDF1_GUID_LENGTH]; uint32_t reference; uint8_t forced_ref_flag; uint8_t forced_guid_flag; uint8_t scratch[32]; uint8_t reserved[442]; } __attribute__ ((packed)); /* Physical drive record header */ struct ddf1_phys_drives { uint32_t signature; uint32_t crc; uint16_t num_drives; uint16_t max_drives; uint8_t reserved2[52]; /* 64 bytes */ /* Drive records follow */ } __attribute__ ((packed)); /* Physical drive record */ struct ddf1_phys_drive { uint8_t guid[DDF1_GUID_LENGTH]; uint32_t reference; uint16_t type; uint16_t state; uint64_t size; uint8_t path_info[18]; uint8_t reserved3[6]; } __attribute__ ((packed)); /* Virtual drive record header */ struct ddf1_virt_drives { uint32_t signature; uint32_t crc; uint16_t num_drives; uint16_t max_drives; uint8_t reserved2[52]; /* Drive records follow */ } __attribute__ ((packed)); /* Virtual drive record */ struct ddf1_virt_drive { uint8_t guid[DDF1_GUID_LENGTH]; uint16_t vd_num; uint16_t reserved2; uint32_t type; uint8_t state; uint8_t init_state; uint8_t reserved3[14]; uint8_t name[16]; } __attribute__ ((packed)); /* Virtual disk configuration record. */ struct ddf1_config_record { uint32_t signature; uint32_t crc; uint8_t guid[DDF1_GUID_LENGTH]; uint32_t timestamp; uint32_t seqnum; uint8_t reserved[24]; uint16_t primary_element_count; uint8_t stripe_size; uint8_t raid_level; uint8_t raid_qualifier; uint8_t secondary_element_count; uint8_t secondary_element_number; uint8_t secondary_element_raid_level; uint64_t sectors; uint64_t size; uint64_t reserved2; uint32_t spares[8]; uint64_t cache_policy; uint8_t bg_task_rate; /* 137 bytes */ uint8_t reserved3[3+52+192+32+32+16+16+32]; /* 512 bytes */ } __attribute__ ((packed)); /* Spare disk record */ struct ddf1_spare { uint8_t guid[DDF1_GUID_LENGTH]; uint16_t secondary_element; uint8_t reserved[6]; } __attribute__ ((packed)); /* Spare disk assignment record */ struct ddf1_spare_header { uint32_t signature; uint32_t crc; uint32_t timestamp; uint8_t reserved[7]; uint8_t type; uint16_t num_spares; uint16_t max_spares; uint8_t reserved2[8]; struct ddf1_spare spares[0]; } __attribute__ ((packed)); /* Metadata owner */ struct ddf1 { struct ddf1_header anchor; uint64_t anchor_offset; struct ddf1_header *primary, *secondary; struct ddf1_adapter *adapter; struct ddf1_disk_data *disk_data; struct ddf1_phys_drives *pd_header; struct ddf1_phys_drive *pds; struct ddf1_virt_drives *vd_header; struct ddf1_virt_drive *vds; struct ddf1_config_record *cfg; int disk_format; int in_cpu_format; int adaptec_mode; }; #endif /* FORMAT_HANDLER */ int register_ddf1(struct lib_context *lc); #endif /* _DDF1_H */ dmraid/1.0.0.rc16/lib/format/ddf/ddf1_cvt.c0000644000175200007640000001346711254123773020363 0ustar mauelshamauelsha/* * SNIA DDF1 v1.0 metadata format handler. * * Copyright (C) 2005-2006 IBM, All rights reserved. * Written by Darrick Wong * * Copyright (C) 2006 Heinz Mauelshagen, Red Hat GmbH * All rights reserved. * * See file LICENSE at the top of this source tree for license information. */ #include "internal.h" #define FORMAT_HANDLER #include "ddf1.h" #include "ddf1_lib.h" #include "ddf1_cvt.h" #define DM_BYTEORDER_SWAB #include /* Convert a DDF header */ void ddf1_cvt_header(struct ddf1 *ddf1, struct ddf1_header *hdr) { if (BYTE_ORDER == ddf1->disk_format) return; CVT32(hdr->signature); CVT32(hdr->crc); CVT32(hdr->seqnum); CVT32(hdr->timestamp); CVT64(hdr->primary_table_lba); CVT64(hdr->secondary_table_lba); CVT32(hdr->workspace_length); CVT64(hdr->workspace_lba); CVT16(hdr->max_phys_drives); CVT16(hdr->max_virt_drives); CVT16(hdr->max_partitions); CVT16(hdr->vd_config_record_len); CVT16(hdr->max_primary_elements); CVT32(hdr->adapter_data_offset); CVT32(hdr->adapter_data_len); CVT32(hdr->phys_drive_offset); CVT32(hdr->phys_drive_len); CVT32(hdr->virt_drive_offset); CVT32(hdr->virt_drive_len); CVT32(hdr->config_record_offset); CVT32(hdr->config_record_len); CVT32(hdr->disk_data_offset); CVT32(hdr->disk_data_len); CVT32(hdr->badblock_offset); CVT32(hdr->badblock_len); CVT32(hdr->diag_offset); CVT32(hdr->diag_len); CVT32(hdr->vendor_offset); CVT32(hdr->vendor_len); } /* Convert DDF adapter data */ void ddf1_cvt_adapter(struct ddf1 *ddf1, struct ddf1_adapter *hdr) { if (BYTE_ORDER == ddf1->disk_format) return; CVT32(hdr->signature); CVT32(hdr->crc); CVT16(hdr->pci_vendor); CVT16(hdr->pci_device); CVT16(hdr->pci_subvendor); CVT16(hdr->pci_subdevice); } /* Convert physical disk data */ void ddf1_cvt_disk_data(struct ddf1 *ddf1, struct ddf1_disk_data *hdr) { if (BYTE_ORDER == ddf1->disk_format) return; CVT32(hdr->signature); CVT32(hdr->crc); CVT32(hdr->reference); } /* Convert physical drive header data */ void ddf1_cvt_phys_drive_header(struct ddf1 *ddf1, struct ddf1_phys_drives *hdr) { if (BYTE_ORDER == ddf1->disk_format) return; CVT32(hdr->signature); CVT32(hdr->crc); CVT16(hdr->num_drives); CVT16(hdr->max_drives); } /* Convert physical drive data */ void ddf1_cvt_phys_drive(struct ddf1 *ddf1, struct ddf1_phys_drive *hdr) { if (BYTE_ORDER == ddf1->disk_format) return; CVT32(hdr->reference); CVT16(hdr->type); CVT16(hdr->state); CVT64(hdr->size); } /* Convert virtual drive header data */ void ddf1_cvt_virt_drive_header(struct ddf1 *ddf1, struct ddf1_virt_drives *hdr) { if (BYTE_ORDER == ddf1->disk_format) return; CVT32(hdr->signature); CVT32(hdr->crc); CVT16(hdr->num_drives); CVT16(hdr->max_drives); } /* Convert virtual drive data */ void ddf1_cvt_virt_drive(struct ddf1 *ddf1, struct ddf1_virt_drive *hdr) { if (BYTE_ORDER == ddf1->disk_format) return; CVT32(hdr->vd_num); CVT32(hdr->type); } /* Convert config record data */ int ddf1_cvt_config_record(struct lib_context *lc, struct dev_info *di, struct ddf1 *ddf1, int idx) { unsigned int i; uint16_t max_pds; uint32_t *ids, x; uint64_t *off; struct ddf1_config_record *hdr = CR(ddf1, idx); if (BYTE_ORDER == ddf1->disk_format) return 1; max_pds = hdr->primary_element_count; ids = CR_IDS(ddf1, hdr); /* This chunk is derived from CR_OFF */ x = ddf1_cr_off_maxpds_helper(ddf1); if (ddf1->primary->signature == DDF1_HEADER_BACKWARDS) CVT32(x); off = ((uint64_t *) (((uint8_t *) hdr) + sizeof(*hdr) + (x * sizeof(x)))); CVT32(hdr->signature); CVT32(hdr->crc); CVT32(hdr->timestamp); CVT32(hdr->seqnum); CVT16(hdr->primary_element_count); if (!ddf1->in_cpu_format) max_pds = hdr->primary_element_count; CVT64(hdr->sectors); CVT64(hdr->size); for (i = 0; i < 8; i++) CVT32(hdr->spares[i]); CVT64(hdr->cache_policy); for (i = 0; i < max_pds; i++) { CVT32(ids[i]); CVT64(off[i]); } return 1; } /* Convert spare records */ int ddf1_cvt_spare_record(struct lib_context *lc, struct dev_info *di, struct ddf1 *ddf1, int idx) { uint16_t x, i; struct ddf1_spare_header *sh = SR(ddf1, idx); if (BYTE_ORDER == ddf1->disk_format) return 1; CVT32(sh->signature); CVT32(sh->crc); CVT32(sh->timestamp); CVT16(sh->max_spares); x = sh->num_spares; CVT16(sh->num_spares); if (!ddf1->in_cpu_format) x = sh->num_spares; for (i = 0; i < x; i++) CVT16(sh->spares[i].secondary_element); return 1; } void ddf1_cvt_records(struct lib_context *lc, struct dev_info *di, struct ddf1 *ddf1, int in_cpu_format) { static struct ddf1_record_handler handlers = { .vd = ddf1_cvt_config_record, .spare = ddf1_cvt_spare_record, }; ddf1_process_records(lc, di, &handlers, ddf1, in_cpu_format); } /* Convert endianness of all metadata */ void ddf1_cvt_all(struct lib_context *lc, struct ddf1 *ddf1, struct dev_info *di) { int i; uint16_t pds = 0, vds = 0; ddf1_cvt_header(ddf1, &ddf1->anchor); if (ddf1->in_cpu_format) ddf1_cvt_records(lc, di, ddf1, ddf1->in_cpu_format); ddf1_cvt_header(ddf1, ddf1->primary); if (!ddf1->in_cpu_format) ddf1_cvt_records(lc, di, ddf1, ddf1->in_cpu_format); if (ddf1->secondary) ddf1_cvt_header(ddf1, ddf1->secondary); if (ddf1->adapter) ddf1_cvt_adapter(ddf1, ddf1->adapter); ddf1_cvt_disk_data(ddf1, ddf1->disk_data); if (ddf1->in_cpu_format) pds = ddf1->pd_header->num_drives; ddf1_cvt_phys_drive_header(ddf1, ddf1->pd_header); if (!ddf1->in_cpu_format) pds = ddf1->pd_header->num_drives; for (i = 0; i < pds; i++) ddf1_cvt_phys_drive(ddf1, &ddf1->pds[i]); if (ddf1->in_cpu_format) vds = ddf1->vd_header->num_drives; ddf1_cvt_virt_drive_header(ddf1, ddf1->vd_header); if (!ddf1->in_cpu_format) vds = ddf1->vd_header->num_drives; for (i = 0; i < vds; i++) ddf1_cvt_virt_drive(ddf1, &ddf1->vds[i]); ddf1->in_cpu_format = !ddf1->in_cpu_format; } dmraid/1.0.0.rc16/lib/format/ddf/ddf1_lib.c0000644000175200007640000000462011254123773020324 0ustar mauelshamauelsha/* * SNIA DDF1 v1.0 metadata format handler. * * Copyright (C) 2005-2006 IBM, All rights reserved. * Written by Darrick Wong * * Copyright (C) 2006 Heinz Mauelshagen, Red Hat GmbH * All rights reserved. * * See file LICENSE at the top of this source tree for license information. */ #include "internal.h" #define FORMAT_HANDLER #include "ddf1.h" #include "ddf1_lib.h" #define DM_BYTEORDER_SWAB #include /* Figure out what endian conversions we need */ int ddf1_endianness(struct lib_context *lc, struct ddf1 *ddf1) { uint8_t *ptr = (uint8_t *) & ddf1->anchor.signature; if (ptr[0] == 0xDE && ptr[1] == 0x11) return BIG_ENDIAN; else if (ptr[0] == 0x11 && ptr[1] == 0xDE) return LITTLE_ENDIAN; else LOG_ERR(lc, -EINVAL, "Can't figure out endianness!"); } /* Find the beginning of all DDF metadata */ uint64_t ddf1_beginning(struct ddf1 *ddf1) { uint64_t start; struct ddf1_header *h = &ddf1->anchor; start = ddf1->anchor_offset; if (h->primary_table_lba < start) start = h->primary_table_lba; if (h->secondary_table_lba < start) start = h->secondary_table_lba; #ifdef WORKSPACE_IS_PART_OF_DDF if (ddf1->primary->workspace_lba < start) start = ddf1->primary->workspace_lba; #endif return start; } /* Helper for CR_OFF */ uint16_t ddf1_cr_off_maxpds_helper(struct ddf1 * ddf1) { struct ddf1_header *h = ddf1->primary; /* The 0xFFFF nonsense is a weird Adaptec quirk */ // bz211016 // return (h->max_primary_elements == 0xFFFF && ddf1->adaptec_mode) ? return (h->max_primary_elements == 0xFFFF) ? h->max_phys_drives : h->max_primary_elements; } /* Process DDF1 records depending on type */ int ddf1_process_records(struct lib_context *lc, struct dev_info *di, struct ddf1_record_handler *handler, struct ddf1 *ddf1, int in_cpu_format) { unsigned int i, cfgs = NUM_CONFIG_ENTRIES(ddf1); uint32_t x; for (i = 0; i < cfgs; i++) { x = *((uint32_t *) CR(ddf1, i)); if (!in_cpu_format && BYTE_ORDER != ddf1->disk_format) CVT32(x); switch (x) { case DDF1_VD_CONFIG_REC: if (!handler->vd(lc, di, ddf1, i)) return 0; break; case DDF1_SPARE_REC: if (!handler->spare(lc, di, ddf1, i)) return 0; break; case 0: /* Adaptec puts zero in this field??? */ case DDF1_INVALID: break; default: log_warn(lc, "%s: Unknown config record %d.", di->path, x); } } return 1; } dmraid/1.0.0.rc16/lib/format/partition/0000755000175200007640000000000011254261512017760 5ustar mauelshamauelshadmraid/1.0.0.rc16/lib/format/partition/dos.h0000644000175200007640000000252311254123773020726 0ustar mauelshamauelsha/* * Copyright (C) 2004,2005 Heinz Mauelshagen, Red Hat GmbH. * All rights reserved. * * See file LICENSE at the top of this source tree for license information. */ /* * DOS partition defintion. * * Profited from libparted. */ #ifndef _DOS_H_ #define _DOS_H_ #ifdef FORMAT_HANDLER #undef FORMAT_HANDLER #include #define DOS_CONFIGOFFSET 0 #define DOS_DATAOFFSET 0 struct chs { uint8_t head; uint8_t sector; uint8_t cylinder; } __attribute__ ((packed)); struct dos_partition { uint8_t boot_ind; /* 00: 0x80 - active */ struct chs chs_start; /* 01: */ uint8_t type; /* 04: partition type */ #define PARTITION_EMPTY 0x00 #define PARTITION_EXT 0x05 #define PARTITION_EXT_LBA 0x0f #define PARTITION_LINUX_EXT 0x85 #define PARTITION_GPT 0xee struct chs chs_end; /* 05: */ uint32_t start; /* 08: starting sector from 0 */ uint32_t length; /* 0c: nr of sectors in partition */ } __attribute__ ((packed)); struct dos { uint8_t boot_code [446]; struct dos_partition partitions [4]; uint16_t magic; #define DOS_MAGIC 0xAA55 #define PARTITION_MAGIC_MAGIC 0xF6F6 } __attribute__ ((packed)); #endif /* FORMAT_HANDLER */ /* Prototype of the register function for this metadata format handler */ int register_dos(struct lib_context *lc); #endif dmraid/1.0.0.rc16/lib/format/partition/dos.c0000644000175200007640000002505711254123773020730 0ustar mauelshamauelsha/* * Copyright (C) 2004,2005 Heinz Mauelshagen, Red Hat GmbH. * All rights reserved. * * See file LICENSE at the top of this source tree for license information. */ /* * DOS partition format handler. * * dos_read() and dos_group influenced by libparted. */ #define HANDLER "dos" #include "internal.h" #define FORMAT_HANDLER #include "dos.h" #if BYTE_ORDER != LITTLE_ENDIAN # define DM_BYTEORDER_SWAB # include #endif static const char *handler = HANDLER; /* Make up RAID device name. */ static size_t _name(struct lib_context *lc, struct raid_dev *rd, unsigned short partition, char *str, size_t len, unsigned char type) { const char *base = get_basename(lc, rd->di->path); return type ? snprintf(str, len, "%s%s%u", base, OPT_STR_PARTCHAR(lc), partition) : snprintf(str, len, "%s", base); } static char * name(struct lib_context *lc, struct raid_dev *rd, unsigned int part, unsigned char type) { size_t len; char *ret; if ((ret = dbg_malloc((len = _name(lc, rd, part, NULL, 0, type) + 1)))) _name(lc, rd, part, ret, len, type); else log_alloc_err(lc, handler); return ret; } /* * Read a DOS partiton. */ /* Endianess conversion. */ #if BYTE_ORDER == LITTLE_ENDIAN # define to_cpu NULL #else static void to_cpu(void *meta) { struct dos *dos = meta; struct dos_partition *part = dos->partitions; for (part = dos->partitions; part < dos->partitions + 4; part++) { CVT32(part->start); CVT32(part->length); } CVT16(dos->magic); } #endif static int is_dos(struct lib_context *lc, struct dev_info *di, void *meta) { struct dos *dos = meta; struct dos_partition *part; if (dos->magic != DOS_MAGIC) return 0; for (part = dos->partitions; part < &dos->partitions[4]; part++) { if (part->type == PARTITION_GPT) return 0; } return 1; } static void dos_file_metadata(struct lib_context *lc, struct dev_info *di, void *meta) { if (OPT_DUMP(lc)) log_print(lc, "%s: filing metadata not supported (use fdisk " "and friends)", handler); } /* Allocate a DOS partition sector struct and read the data. */ static int setup_rd(struct lib_context *lc, struct raid_dev *rd, struct dev_info *di, void *meta, union read_info *info); static struct raid_dev * dos_read(struct lib_context *lc, struct dev_info *di) { return read_raid_dev(lc, di, NULL, sizeof(struct dos), DOS_CONFIGOFFSET, to_cpu, is_dos, dos_file_metadata, setup_rd, handler); } /* Support functions for dos_group to read the partition table(s). */ static int part_is_extended(struct dos_partition *part) { return part->type == PARTITION_EXT || part->type == PARTITION_EXT_LBA || part->type == PARTITION_LINUX_EXT; } /* Get a partition start offset relative to a base location. */ static uint64_t get_part_start(const struct dos_partition *raw_part, uint64_t offset) { return (uint64_t) raw_part->start + offset; } /* RAID set allocation support function. */ static struct raid_set * _alloc_raid_set(struct lib_context *lc, struct raid_dev *rd) { struct raid_set *rs; if ((rs = find_set(lc, NULL, rd->name, FIND_TOP))) LOG_ERR(lc, NULL, "%s: RAID set %s already exists", handler, rs->name); if (!(rs = alloc_raid_set(lc, handler))) return NULL; rs->status = rd->status; rs->type = rd->type; if (!(rs->name = dbg_strdup(rd->name))) { dbg_free(rs); rs = NULL; log_alloc_err(lc, handler); } return rs; } /* Check sector vs. RAID device end */ static int rd_check_end(struct lib_context *lc, struct raid_dev *rd, uint64_t sector) { if (sector > rd->di->sectors) LOG_ERR(lc, 1, "%s: partition address past end of RAID device", handler); return 0; } /* * Allocate a DOS RAID device and a set. * Set the device up and add it to the set. */ static int _create_rs_and_rd(struct lib_context *lc, struct raid_dev *rd, struct dos_partition *raw_part, uint64_t sector, unsigned int part) { struct raid_dev *r; struct raid_set *rs; if (!(r = alloc_raid_dev(lc, handler))) return 0; if (!(r->di = alloc_dev_info(lc, rd->di->path))) goto free_raid_dev; if (!(r->name = name(lc, rd, part, 1))) goto free_di; r->fmt = rd->fmt; r->status = rd->status; r->type = rd->type; if ((uint64_t) raw_part->start > sector) sector = 0; r->offset = get_part_start(raw_part, sector); r->sectors = (uint64_t) raw_part->length; if (rd_check_end(lc, rd, r->offset) || rd_check_end(lc, rd, r->offset + r->sectors) || !(rs = _alloc_raid_set(lc, r))) goto free_di; list_add_tail(&r->devs, &rs->devs); list_add_tail(&rs->list, LC_RS(lc)); return 1; free_di: free_dev_info(lc, r->di); free_raid_dev: free_raid_dev(lc, &r); return 0; } /* * RAID set grouping. * * In this case it is not really about grouping, more about providing * the propper input to the activation layer by creating a RAID set per * partition and a RAID device hanging off it mapping the partition linearly. * * Partition code inspired by libparted and squeezed for this purpose (lemon). */ /* FIXME: Check for position of partition */ static int is_partition(struct dos_partition *p, uint64_t start_sector) { return p->type != PARTITION_EMPTY && p->length && p->start; } static int group_rd_extended(struct lib_context *lc, struct raid_dev *rd, uint64_t start_sector, uint64_t * extended_root, unsigned int part) { int ret = 0; uint64_t new_start_sector; struct dos *dos; struct dos_partition *p1, *p2; /* Allocate and read a logical partition table. */ if (!(dos = alloc_private_and_read(lc, handler, sizeof(*dos), rd->di->path, start_sector << 9))) return 0; /* Weird: empty extended partitions are filled with 0xF6 by PM. */ #if BYTE_ORDER != LITTLE_ENDIAN to_cpu(dos); #endif if (dos->magic == PARTITION_MAGIC_MAGIC) goto out; /* Check magic to see if this is a real partition table. */ if (dos->magic != DOS_MAGIC) goto out; /* * Logical partition tables only have two entries, * one for the partition and one for the next partition table. */ /* * An entry pointing to the present logical partition. * It is an offset from the present partition table location. */ p1 = dos->partitions; /* * An entry pointing to the next logical partition table. * It is an offset from the main extended partition start. */ p2 = dos->partitions + 1; /* If it is a partition, add it to the set */ if (is_partition(p1, start_sector) && !_create_rs_and_rd(lc, rd, p1, start_sector, part++)) goto out; /* * Recurse into the logical partition chain. * Save start of main extended partition since * logical partition tables in the extended partition * are at offsets from this. */ if (!*extended_root) *extended_root = start_sector; new_start_sector = get_part_start(p2, *extended_root); if (is_partition(p2, start_sector) && !group_rd_extended(lc, rd, new_start_sector, extended_root, part)) goto out; ret = 1; out: dbg_free(dos); return ret; } /* Handle primary partitions. */ static int group_rd(struct lib_context *lc, struct raid_dev *rd, uint64_t start_sector) { unsigned int i; uint64_t part_start, part_end, extended_part_start = 0, extended_root = 0; struct dos *dos = META(rd, dos); struct dos_partition *raw_table_entry; /* * Walk the 4 array entries in the primary partition table. * * Finish all primary partitions before going on to * the extended partition. Hopefully, for now you only * have one extended partition! */ for (i = 0; i < 4; i++) { raw_table_entry = &dos->partitions[i]; if (!is_partition(raw_table_entry, start_sector)) continue; /* Add partition start from partition table to * start of drive. */ part_start = get_part_start(raw_table_entry, start_sector); part_end = part_start + raw_table_entry->length; /* Avoid infinite recursion (mostly). */ if (part_start == start_sector) continue; /* Check bogus partition starts + ends */ if (rd_check_end(lc, rd, part_start) || rd_check_end(lc, rd, part_end)) continue; /* * If we have an extended partition, save * partition start as a flag for later use. * Else go put partition in set. */ if (part_is_extended(raw_table_entry)) extended_part_start = part_start; else if (!_create_rs_and_rd(lc, rd, raw_table_entry, start_sector, i + 1)) return 0; } /* When we are finished with all the primary partitions, * go do the extended partition if we have one. * It always starts with partition 5. */ return extended_part_start ? group_rd_extended(lc, rd, extended_part_start, &extended_root, 5) : 1; } /* Add a DOS RAID device to a set */ static struct raid_set * dos_group(struct lib_context *lc, struct raid_dev *rd) { /* * Once we get here, a DOS partition table * has been discovered by dos_read. * * We need to run through the (nested) partition tables and create * a RAID set and a linear RAID device hanging off it for every primary * and logical partition, so that the activate code is happy. * * We start with start_sector = 0 because all primary partitions are * located at offsets from the start of the drive. This COULD be changed * to something else for some strange partitioning scheme because the * code will handle it. */ return group_rd(lc, rd, 0) ? (struct raid_set *) 1 : NULL; } /* * Check integrity of a DOS RAID set. */ static int dos_check(struct lib_context *lc, struct raid_set *rs) { return 1; /* Nice, eh ? */ } static struct dmraid_format dos_format = { .name = HANDLER, .descr = "DOS partitions on SW RAIDs", .caps = NULL, /* Not supported */ .format = FMT_PARTITION, .read = dos_read, .write = NULL, /* Not supported */ .group = dos_group, .check = dos_check, .events = NULL, /* Not supported */ #ifdef DMRAID_NATIVE_LOG .log = NULL, /* Not supported; use fdisk and friends */ #endif }; /* Register this format handler with the format core. */ int register_dos(struct lib_context *lc) { return register_format_handler(lc, &dos_format); } /* * Set the RAID device contents up derived from the DOS ones * * For a DOS partition we essentially just save the * partition table sector and let dos_group do the rest... */ static int setup_rd(struct lib_context *lc, struct raid_dev *rd, struct dev_info *di, void *meta, union read_info *info) { struct dos *dos = meta; if (!(rd->meta_areas = alloc_meta_areas(lc, rd, handler, 1))) return 0; rd->meta_areas->offset = DOS_CONFIGOFFSET >> 9; rd->meta_areas->size = sizeof(*dos); rd->meta_areas->area = (void *) dos; rd->di = di; rd->fmt = &dos_format; rd->status = s_ok; /* Always :-) */ rd->type = t_partition; rd->offset = DOS_DATAOFFSET; rd->sectors = di->sectors; return (rd->name = name(lc, rd, 0, 0)) ? 1 : 0; } dmraid/1.0.0.rc16/lib/format/format.c0000644000175200007640000004110511254123773017412 0ustar mauelshamauelsha/* * Copyright (C) 2004-2008 Heinz Mauelshagen, Red Hat GmbH. * All rights reserved. * * Copyright (C) 2007 Intel Corporation. All rights reserved. * November, 2007 - additions for Create, Delete, Rebuild & Raid 10. * May, 2009 - raid status reporting - add support for nosync state * * See file LICENSE at the top of this source tree for license information. */ #include "internal.h" #include "ondisk.h" /* * Metadata format handler registry. */ /* * Used for development. * * Comment next line out to avoid pre-registration * checks on metadata format handlers. */ #undef CHECK_FORMAT_HANDLER #ifdef CHECK_FORMAT_HANDLER /* * Check that mandatory members of a metadata form handler are present. * * We can only use log_err and log_print here, because debug and verbose * options are checked for later during initialization... */ /* * Because we have a bunch of members to check, * let's define them as an array. */ #define offset(member) struct_offset(dmraid_format, member) struct format_member { const char *msg; const unsigned short offset; const unsigned short flags; } __attribute__ ((packed)); enum { FMT_ALL = 0x01, FMT_METHOD = 0x02 } format_flags; #define IS_FMT_ALL(member) (member->flags & FMT_ALL) #define IS_FMT_METHOD(member) (member->flags & FMT_METHOD) static struct format_member format_member[] = { { "name", offset(name), FMT_ALL }, { "description", offset(descr), FMT_ALL }, { "capabilities", offset(caps), 0 }, { "read", offset(read), FMT_ALL | FMT_METHOD }, { "write", offset(write), FMT_METHOD }, { "create", offset(create), FMT_METHOD }, { "delete", offset(delete), FMT_METHOD }, { "group", offset(group), FMT_ALL | FMT_METHOD }, { "check", offset(check), FMT_ALL | FMT_METHOD }, { "events array", offset(events), 0 }, #ifdef NATIVE_LOG { "log", offset(log), FMT_METHOD }, #endif }; #undef offset static int check_member(struct lib_context *lc, struct dmraid_format *fmt, struct format_member *member) { if ((!IS_FMT_ALL(member) && fmt->format != FMT_RAID) || *((unsigned long *) (((unsigned char *) fmt) + member->offset))) return 0; /* show error in case method is required for all handlers */ if (IS_FMT_ALL(member)) LOG_ERR(lc, 1, "%s: missing metadata format handler %s%s", fmt->name, member->msg, IS_FMT_METHOD(member) ? " method" : ""); return 0; } static int check_format_handler(struct lib_context *lc, struct dmraid_format *fmt) { unsigned int error = 0; struct format_member *fm = format_member; if (!fmt) BUG(lc, 0, "NULL metadata format handler"); while (fm < ARRAY_END(format_member)) error += check_member(lc, fmt, fm++); return !error; } #endif /* CHECK_FORMAT_HANDLER */ /* * Register a RAID metadata format handler. */ int register_format_handler(struct lib_context *lc, struct dmraid_format *fmt) { struct format_list *fl; #ifdef CHECK_FORMAT_HANDLER if (!check_format_handler(lc, fmt)) return 0; #undef CHECK_FORMAT_HANDLER #endif if ((fl = dbg_malloc(sizeof(*fl)))) { fl->fmt = fmt; list_add_tail(&fl->list, LC_FMT(lc)); } else log_alloc_err(lc, __func__); return fl ? 1 : 0; } /* * (Un)Register all format handlers. * * I use an array because of the growing number... */ static struct register_fh { int (*func) (struct lib_context * lc); } register_fh[] = { #include "register.h" { NULL }, }; void unregister_format_handlers(struct lib_context *lc) { struct list_head *elem, *tmp; list_for_each_safe(elem, tmp, LC_FMT(lc)) { list_del(elem); dbg_free(list_entry(elem, struct format_list, list)); } } int register_format_handlers(struct lib_context *lc) { int ret = 1; struct register_fh *fh; for (fh = register_fh; fh->func; fh++) { if ((ret = fh->func(lc))) continue; /* Clean up in case of error. */ log_err(lc, "registering format"); unregister_format_handlers(lc); break; } return ret; } /* END metadata format handler registry. */ /* * Other metadata format handler support functions. */ /* Allocate private space in format handlers (eg, for on-disk metadata). */ void * alloc_private(struct lib_context *lc, const char *who, size_t size) { void *ret; if (!(ret = dbg_malloc(size))) log_err(lc, "allocating %s metadata", who); return ret; } /* Allocate private space in format handlers and read data off device. */ void * alloc_private_and_read(struct lib_context *lc, const char *who, size_t size, char *path, loff_t offset) { void *ret; if ((ret = alloc_private(lc, who, size))) { if (!read_file(lc, who, path, ret, size, offset)) { dbg_free(ret); ret = NULL; } } return ret; } /* Allocate metadata sector array in format handlers. */ void * alloc_meta_areas(struct lib_context *lc, struct raid_dev *rd, const char *who, unsigned int n) { void *ret; if ((ret = alloc_private(lc, who, n * sizeof(*rd->meta_areas)))) rd->areas = n; return ret; } /* Simple metadata write function for format handlers. */ static int _write_metadata(struct lib_context *lc, const char *handler, struct raid_dev *rd, int idx, int erase) { int ret = 0; void *p, *tmp; if (idx >= rd->areas) goto out; p = tmp = rd->meta_areas[idx].area; if (erase && !(p = alloc_private(lc, handler, rd->meta_areas[idx].size))) goto out; ret = write_file(lc, handler, rd->di->path, (void *) p, rd->meta_areas[idx].size, rd->meta_areas[idx].offset << 9); log_level(lc, ret ? _PLOG_DEBUG : _PLOG_ERR, "writing metadata to %s, offset %" PRIu64 " sectors, " "size %zu bytes returned %d", rd->di->path, rd->meta_areas[idx].offset, rd->meta_areas[idx].size, ret); if (p != tmp) dbg_free(p); out: return ret; } int write_metadata(struct lib_context *lc, const char *handler, struct raid_dev *rd, int idx, int erase) { unsigned int i; if (idx > -1) return _write_metadata(lc, handler, rd, idx, erase); for (i = 0; i < rd->areas; i++) { if (!_write_metadata(lc, handler, rd, i, erase)) return 0; } return 1; } /* * Check devices in a RAID set. * * a. spares in a mirror set need to be large enough. * b. # of devices correct. */ static void _check_raid_set(struct lib_context *lc, struct raid_set *rs, unsigned int (*f_devices) (struct raid_dev * rd, void *context), void *f_devices_context, int (*f_check) (struct lib_context * lc, struct raid_set * rs, struct raid_dev * rd, void *context), void *f_check_context, const char *handler) { unsigned int dev_tot_qan; uint64_t sectors; struct raid_dev *rd; if (!DEVS(rs)) return; sectors = total_sectors(lc, rs); rs->total_devs = dev_tot_qan = count_devs(lc, rs, ct_dev); list_for_each_entry(rd, &rs->devs, devs) { unsigned int dev_found_qan = f_devices(rd, f_devices_context); /* FIXME: error if the metadatas aren't all the same? */ rs->found_devs = dev_found_qan; log_dbg(lc, "checking %s device \"%s\"", handler, rd->di->path); /* * If disks number of found disks equals * disk expected status -> status OK */ if ((dev_tot_qan == dev_found_qan) && f_check && f_check(lc, rs, rd, f_check_context)) rd->status = s_ok; else if (dev_tot_qan != dev_found_qan) { log_err(lc, "%s: wrong # of devices in RAID " "set \"%s\" [%u/%u] on %s", handler, rs->name, dev_tot_qan, dev_found_qan, rd->di->path); /* If incorrect number of disks, status depends on raid type. */ switch(rs->type) { case t_linear: /* raid 0 - always broken */ case t_raid0: /* raid 0 - always broken */ rd->status = s_broken; break; /* raid 1 - if at least 1 disk -> inconsistent */ case t_raid1: if (dev_tot_qan >= 1) rd->status = s_inconsistent; else if (T_SPARE(rd) && rd->sectors != sectors) { rd->status = s_inconsistent; log_err(lc, "%s: size mismatch in " "set \"%s\", spare \"%s\"", handler, rs->name, rd->di->path); } else rd->status = s_broken; break; /* raid 4/5 - if 1 disk missing- inconsistent */ case t_raid4: case t_raid5_ls: case t_raid5_rs: case t_raid5_la: case t_raid5_ra: if((dev_tot_qan == (dev_found_qan-1) && dev_tot_qan > 1 && f_check && f_check(lc, rs, rd, f_check_context)) || dev_tot_qan > dev_found_qan) rd->status = s_inconsistent; else rd->status = s_broken; break; /* raid 6 - if up to 2 disks missing- inconsistent */ case t_raid6: if ((dev_tot_qan >= (dev_found_qan - 2) && f_check && f_check(lc, rs, rd, f_check_context)) || dev_tot_qan > dev_found_qan) rd->status = s_inconsistent; else rd->status = s_broken; break; case t_spare: /* spare - always broken */ rd->status = s_broken; break; default: /* other - undef */ rd->status = s_undef; } } } } /* * Update RAID set state based on operational subsets/devices. * f a RAID set hierachy, check availability of subsets * and set superset to broken in case *all* subsets are broken. * If at least one is still available, set to inconsistent. * * In case of lowest level RAID sets, check consistence of devices * and make the above decision at the device level. */ static void _set_rs_status(struct lib_context *lc, struct raid_set *rs, unsigned int i, unsigned int operational, unsigned int inconsist, unsigned int subsets_raid1001, unsigned int nosync) { if (subsets_raid1001) { if (subsets_raid1001 == 1) rs->status = s_broken; else if (subsets_raid1001 == 2) rs->status = s_ok; return; } if (operational == i) rs->status = s_ok; else if (operational) rs->status = s_inconsistent; else if (inconsist) rs->status = s_inconsistent; else if (nosync) rs->status = s_nosync; else rs->status = s_broken; log_dbg(lc, "set status of set \"%s\" to %u", rs->name, rs->status); } static int set_rs_status(struct lib_context *lc, struct raid_set *rs) { unsigned int i = 0, operational = 0, subsets_raid1001 = 0, inconsist = 0, nosync = 0; struct raid_set *r; struct raid_dev *rd; /* Set status of subsets. */ list_for_each_entry(r, &rs->sets, list) { /* Check subsets to set status of superset. */ if ((rs->type == t_raid0 && r->type == t_raid1) || (rs->type == t_raid1 && r->type == t_raid0)) subsets_raid1001++; /* Count subsets for raid 10/01 */ i++; /* Count subsets*/ if (S_OK(r->status) || S_INCONSISTENT(r->status)) operational++; /* Count operational subsets. */ } /* Check status of devices... */ list_for_each_entry(rd, &rs->devs, devs) { i++; /* Count disks*/ if (S_OK(rd->status)) operational++; /* Count disks in "ok" raid*/ else if (S_INCONSISTENT(rd->status)) inconsist++; /* Count disks in degraded raid*/ else if (S_NOSYNC(rd->status)) nosync++; } _set_rs_status(lc, rs, i, operational, inconsist, subsets_raid1001, nosync); return S_BROKEN(rs->status) ? 0 : 1; } /* * Check stack of RAID sets. * * This tiny helper function avoids coding recursive * RAID set stack unrolling in every metadata format handler. */ int check_raid_set(struct lib_context *lc, struct raid_set *rs, unsigned int (*f_devices) (struct raid_dev *rd, void *context), void *f_devices_context, int (*f_check) (struct lib_context * lc, struct raid_set * r, struct raid_dev * rd, void *context), void *f_check_context, const char *handler) { struct raid_set *r; struct raid_dev *rd; list_for_each_entry(r, &rs->sets, list) check_raid_set(lc, r, f_devices, f_devices_context, f_check, f_check_context, handler); /* Never check group RAID sets nor sets without devices. */ if (!T_GROUP(rs) && DEVS(rs)) { rd = list_entry(rs->devs.next, struct raid_dev, devs); /* * Call handler function to get status of raid devices * according metadata state and number of disks in array. */ if (rd->fmt->metadata_handler) rs->status = rd->fmt->metadata_handler(lc, GET_STATUS, NULL, rs); else /* Else take default actions in generic module */ _check_raid_set(lc, rs, f_devices, f_devices_context, f_check, f_check_context, handler); } /* Set status for supersets and subsets */ return set_rs_status(lc, rs); } /* Initialize a RAID sets type and stride. */ int init_raid_set(struct lib_context *lc, struct raid_set *rs, struct raid_dev *rd, unsigned int stride, unsigned int type, const char *handler) { if (T_UNDEF(rd)) LOG_ERR(lc, 0, "%s: RAID type %u not supported", handler, type); if (T_SPARE(rs) || T_UNDEF(rs)) rs->type = rd->type; else if (!T_SPARE(rd) && rs->type != rd->type) log_err(lc, "%s: RAID type mismatch in \"%s\" on %s", handler, rs->name, rd->di->path); if (rs->stride) { if (rs->stride != stride) LOG_ERR(lc, 0, "%s: stride inconsistency detected on \"%s\"", handler, rd->di->path); } else rs->stride = stride; return 1; } /* Discover RAID metadata and setup RAID device. */ struct raid_dev * read_raid_dev(struct lib_context *lc, struct dev_info *di, void *(*f_read_metadata) (struct lib_context * lc, struct dev_info * di, size_t * size, uint64_t * offset, union read_info * info), size_t size, uint64_t offset, void (*f_to_cpu) (void *meta), int (*f_is_meta) (struct lib_context * lc, struct dev_info * di, void *meta), void (*f_file_metadata) (struct lib_context * lc, struct dev_info * di, void *meta), int (*f_setup_rd) (struct lib_context * lc, struct raid_dev * rd, struct dev_info * di, void *meta, union read_info * info), const char *handler) { struct raid_dev *rd = NULL; void *meta; union read_info info; /* * In case the metadata format handler provides a special * metadata read function, use that. If not, allocate and * read size from offset. */ meta = f_read_metadata ? f_read_metadata(lc, di, &size, &offset, &info) : alloc_private_and_read(lc, handler, size, di->path, offset); if (!meta) goto out; /* If endianess conversion function provided -> call it. */ if (f_to_cpu) f_to_cpu(meta); /* Optionally check that metadata is valid. */ if (f_is_meta && !f_is_meta(lc, di, meta)) goto bad; /* If metadata file function provided -> call it else default filing. */ if (f_file_metadata) f_file_metadata(lc, di, meta); else { file_metadata(lc, handler, di->path, meta, size, offset); file_dev_size(lc, handler, di); } /* Allocate RAID device structure. */ if (!(rd = alloc_raid_dev(lc, handler))) goto bad; /* Use metadata format handler setup function on it. */ if (f_setup_rd(lc, rd, di, meta, &info)) goto out; log_err(lc, "%s: setting up RAID device %s", handler, di->path); free_raid_dev(lc, &rd); goto out; bad: dbg_free(meta); out: return rd; } /* Check if format identifier is valid. */ int check_valid_format(struct lib_context *lc, char *name) { struct format_list *fl; /* FIXME: support wildcards. */ list_for_each_entry(fl, LC_FMT(lc), list) { if (!strncmp(name, fl->fmt->name, strlen(name))) return 1; } return 0; } /* * Set up a format capabilities (ie, RAID levels) string array. */ const char ** get_format_caps(struct lib_context *lc, struct dmraid_format *fmt) { int i; char *caps, *p; const char **ret = NULL, delim = ','; if (fmt->caps && (caps = dbg_strdup((char *) fmt->caps))) { /* Count capabilities delimiters. */ for (i = 0, p = caps; (p = remove_delimiter(p, delim)); i++) add_delimiter(&p, delim); if ((ret = dbg_malloc(sizeof(*ret) * (i + 2)))) { for (i = 0, p = caps - 1; p; (p = remove_delimiter(p, delim))) ret[i++] = ++p; } else { log_alloc_err(lc, __func__); dbg_free(caps); } } return ret; } void free_format_caps(struct lib_context *lc, const char **caps) { if (caps) { dbg_free((char *) *caps); dbg_free(caps); } } /* * Allocate a RAID superset and link the subset to it. */ struct raid_set * join_superset(struct lib_context *lc, char *(*f_name) (struct lib_context * lc, struct raid_dev * rd, unsigned int subset), void (*f_create) (struct raid_set * super, void *private), int (*f_set_sort) (struct list_head * pos, struct list_head * new), struct raid_set *rs, struct raid_dev *rd) { char *n; struct raid_set *ret = NULL; if ((n = f_name(lc, rd, 0))) { if ((ret = find_or_alloc_raid_set(lc, n, FIND_TOP, NO_RD, LC_RS(lc), f_create, rd)) && !find_set(lc, &ret->sets, rs->name, FIND_TOP)) list_add_sorted(lc, &ret->sets, &rs->list, f_set_sort); dbg_free(n); } return ret; } /* Display 'zero sectors on RAID' device error. */ int log_zero_sectors(struct lib_context *lc, char *path, const char *handler) { LOG_ERR(lc, 0, "%s: zero sectors on %s", handler, path); } dmraid/1.0.0.rc16/lib/format/README0000644000175200007640000000045211254123773016636 0ustar mauelshamauelsha This directory is the top for class-subdrectories containing dmraid metadata format handlers. Itself holds the format handler core with the handler registry. See template/README and template/template.[ch] for a metadata format handler template which shall (hopefully) help to implement your own. dmraid/1.0.0.rc16/lib/format/ataraid/0000755000175200007640000000000011254261512017354 5ustar mauelshamauelshadmraid/1.0.0.rc16/lib/format/ataraid/jm.h0000644000175200007640000000346511254123773020151 0ustar mauelshamauelsha/* * Copyright (C) 2006 Heinz Mauelshagen, Red Hat GmbH. * All rights reserved. * * Based on metadata specs kindly provided by JMicron * * See file LICENSE at the top of this source tree for license information. */ #ifndef _JMICRON_H_ #define _JMICRON_H_ #ifdef FORMAT_HANDLER #undef FORMAT_HANDLER #include /* JMicron config data sector offset off end of disk */ #define JM_CONFIGOFFSET ((di->sectors - 1) << 9) /* Ondisk metadata for JMicron ATARAID */ struct jm { #define JM_SIGNATURE "JM" #define JM_SIGNATURE_LEN 2 int8_t signature[JM_SIGNATURE_LEN]; /* 0x0 - 0x01 */ uint16_t version; /* 0x03 - 0x04 JMicron version */ #define JM_MINOR_VERSION(jm) (jm->version & 0xFF) #define JM_MAJOR_VERSION(jm) (jm->version >> 8) uint16_t checksum; /* 0x04 - 0x05 */ uint8_t filler[10]; uint32_t identity; /* 0x10 - 0x13 */ struct { uint32_t base; /* 0x14 - 0x17 */ uint32_t range; /* 0x18 - 0x1B range */ uint16_t range2; /* 0x1C - 0x1D range2 */ } segment; #define JM_NAME_LEN 16 int8_t name[JM_NAME_LEN]; /* 0x20 - 0x2F */ uint8_t mode; /* 0x30 RAID level */ #define JM_T_RAID0 0 #define JM_T_RAID1 1 #define JM_T_RAID01 2 /* RAID 0+1 (striped with mirrors underneath) */ #define JM_T_JBOD 3 #define JM_T_RAID5 5 uint8_t block; /* 0x31 stride size (2=4K, 3=8K, ...) */ uint16_t attribute; /* 0x32 - 0x33 */ #define JM_MOUNT 0x01 #define JM_BOOTABLE 0x02 #define JM_BADSEC 0x03 #define JM_ACTIVE 0x05 #define JM_UNSYNC 0x06 #define JM_NEWEST 0x07 uint8_t filler1[4]; #define JM_SPARES 2 #define JM_MEMBERS 8 uint32_t spare[JM_SPARES]; /* 0x38 - 0x3F */ uint32_t member[JM_MEMBERS]; /* 0x40 - 0x5F */ #define JM_HDD_MASK 0xFFFFFFF0 #define JM_SEG_MASK 0x0F uint8_t filler2[0x20]; } __attribute__ ((packed)); #endif int register_jm(struct lib_context *lc); #endif dmraid/1.0.0.rc16/lib/format/ataraid/hpt45x.c0000644000175200007640000002051211254123773020662 0ustar mauelshamauelsha/* * Highpoint 45X ATARAID series metadata format handler. * * Copyright (C) 2004-2008 Heinz Mauelshagen, Red Hat GmbH. * All rights reserved. * * See file LICENSE at the top of this source tree for license information. */ /* * hpt45x_read(), hpt45x_group() and group_rd() profited from * Carl-Daniel Hailfinger's raiddetect code. */ #define HANDLER "hpt45x" #include "internal.h" #define FORMAT_HANDLER #include "hpt45x.h" #if BYTE_ORDER != LITTLE_ENDIAN # define DM_BYTEORDER_SWAB # include #endif static const char *handler = HANDLER; /* Make up RAID set name from magic_0 number */ /* FIXME: better name ? */ static size_t _name(struct hpt45x *hpt, char *str, size_t len, unsigned int subset) { const char *fmt; if (hpt->magic_0) fmt = subset ? "hpt45x_%u-%u" : "hpt45x_%u"; else fmt = "hpt45x_SPARE"; return snprintf(str, len, fmt, hpt->magic_0, hpt->raid1_disk_number); } static char * name(struct lib_context *lc, struct raid_dev *rd, unsigned int subset) { size_t len; char *ret; struct hpt45x *hpt = META(rd, hpt45x); if ((ret = dbg_malloc((len = _name(hpt, NULL, 0, subset) + 1)))) { _name(hpt, ret, len, subset); mk_alpha(lc, ret + HANDLER_LEN, len - HANDLER_LEN - (strrchr(ret, '-') ? 3 : 1)); } else log_alloc_err(lc, handler); return ret; } /* * Retrieve status of device. * FIXME: is this sufficient to cover all state ? */ static enum status status(struct hpt45x *hpt) { return hpt->magic == HPT45X_MAGIC_BAD ? s_broken : s_ok; } /* Neutralize disk type */ static enum type type(struct hpt45x *hpt) { /* Mapping of HPT 45X types to generic types */ static struct types types[] = { { HPT45X_T_SPAN, t_linear }, { HPT45X_T_RAID0, t_raid0 }, { HPT45X_T_RAID1, t_raid1 }, /* FIXME: handle RAID 4+5 */ { 0, t_undef }, }; return hpt->magic_0 ? rd_type(types, (unsigned int) hpt->type) : t_spare; } /* Decide about ordering sequence of RAID device. */ static int dev_sort(struct list_head *pos, struct list_head *new) { return META(RD(new), hpt45x)->disk_number < META(RD(pos), hpt45x)->disk_number; } /* Decide about ordering sequence of RAID subset. */ static int set_sort(struct list_head *pos, struct list_head *new) { return META(RD_RS(RS(new)), hpt45x)->raid1_disk_number < META(RD_RS(RS(pos)), hpt45x)->raid1_disk_number; } /* * Group the RAID disk into a HPT45X set. * * Check device hierarchy and create super set appropriately. */ static unsigned int stride(unsigned int shift) { return shift ? (1 << shift) : 0; } static void super_created(struct raid_set *super, void *private) { super->type = t_raid1; super->stride = stride(META((private), hpt45x)->raid1_shift); } static int group_rd(struct lib_context *lc, struct raid_set *rs, struct raid_set **ss, struct raid_dev *rd) { struct hpt45x *hpt = META(rd, hpt45x); if (!init_raid_set(lc, rs, rd, stride(hpt->raid0_shift), hpt->type, handler)) return 0; list_add_sorted(lc, &rs->devs, &rd->devs, dev_sort); switch (hpt->type) { case HPT45X_T_SPAN: case HPT45X_T_RAID1: no_raid10: if (!find_set(lc, NULL, rs->name, FIND_TOP)) list_add_tail(&rs->list, LC_RS(lc)); break; case HPT45X_T_RAID0: if (hpt->raid1_type != HPT45X_T_RAID1) goto no_raid10; /* * RAID10: * * We've got a striped raid set with a mirror on top * when we get here. * Let's find and optionally allocate the mirror set on top. */ if (!(*ss = join_superset(lc, name, super_created, set_sort, rs, rd))) return 0; } return 1; } /* * Add a Highpoint RAID device to a set. */ static struct raid_set * hpt45x_group(struct lib_context *lc, struct raid_dev *rd) { struct raid_set *rs, *ss = NULL; if (T_SPARE(rd)) return NULL; if ((rs = find_or_alloc_raid_set(lc, rd->name, FIND_ALL, rd, NO_LIST, NO_CREATE, NO_CREATE_ARG))) return group_rd(lc, rs, &ss, rd) ? (ss ? ss : rs) : NULL; return NULL; } /* * Read a Highpoint 45X RAID device. */ /* Endianess conversion. */ #if BYTE_ORDER == LITTLE_ENDIAN # define to_cpu NULL #else static void to_cpu(void *meta) { struct hpt45x *hpt = meta; CVT32(hpt->magic); CVT32(hpt->magic_0); CVT32(hpt->magic_1); CVT32(hpt->total_secs); } #endif /* Magic check. */ static int is_hpt45x(struct lib_context *lc, struct dev_info *di, void *meta) { struct hpt45x *hpt = meta; return (hpt->magic == HPT45X_MAGIC_OK || hpt->magic == HPT45X_MAGIC_BAD) && hpt->disk_number < 8; } static int setup_rd(struct lib_context *lc, struct raid_dev *rd, struct dev_info *di, void *meta, union read_info *info); static struct raid_dev * hpt45x_read(struct lib_context *lc, struct dev_info *di) { return read_raid_dev(lc, di, NULL, sizeof(struct hpt45x), HPT45X_CONFIGOFFSET, to_cpu, is_hpt45x, NULL, setup_rd, handler); } /* * Write a Highpoint 45X RAID device. */ static int hpt45x_write(struct lib_context *lc, struct raid_dev *rd, int erase) { int ret; #if BYTE_ORDER != LITTLE_ENDIAN struct hpt45x *hpt = META(rd, hpt45x); to_disk(hpt); #endif ret = write_metadata(lc, handler, rd, -1, erase); #if BYTE_ORDER != LITTLE_ENDIAN to_cpu(hpt); #endif return ret; } /* * Check a Highpoint 45X RAID set. * * FIXME: more sanity checks. */ static unsigned int devices(struct raid_dev *rd, void *context) { return META(rd, hpt45x)->raid_disks; } static int hpt45x_check(struct lib_context *lc, struct raid_set *rs) { return check_raid_set(lc, rs, devices, NULL, NO_CHECK_RD, NULL, handler); } /* * IO error event handler. */ static int event_io(struct lib_context *lc, struct event_io *e_io) { struct raid_dev *rd = e_io->rd; struct hpt45x *hpt = META(rd, hpt45x); /* Avoid write trashing. */ if (S_BROKEN(status(hpt))) return 0; hpt->magic = HPT45X_MAGIC_BAD; return 1; } static struct event_handlers hpt45x_event_handlers = { .io = event_io, .rd = NULL, /* FIXME: no device add/remove event handler yet. */ }; #ifdef DMRAID_NATIVE_LOG /* * Log native information about an HPT45X RAID device. */ static void hpt45x_log(struct lib_context *lc, struct raid_dev *rd) { unsigned int i; struct hpt45x *hpt = META(rd, hpt45x); log_print(lc, "%s (%s):", rd->di->path, handler); DP("magic: 0x%x", hpt, hpt->magic); DP("magic_0: 0x%x", hpt, hpt->magic_0); DP("magic_1: 0x%x", hpt, hpt->magic_1); DP("total_secs: %u", hpt, hpt->total_secs); DP("type: %u", hpt, hpt->type); DP("raid_disks: %u", hpt, hpt->raid_disks); DP("disk_number: %u", hpt, hpt->disk_number); DP("raid0_shift: %u", hpt, hpt->raid0_shift); for (i = 0; i < 3; i++) P2("dummy[%u]: 0x%x", hpt, i, hpt->dummy[i]); DP("raid1_type: %u", hpt, hpt->raid1_type); DP("raid1_raid_disks: %u", hpt, hpt->raid1_raid_disks); DP("raid1_disk_number: %u", hpt, hpt->raid1_disk_number); DP("raid1_shift: %u", hpt, hpt->raid1_shift); for (i = 0; i < 3; i++) P2("dummy1[%u]: 0x%x", hpt, i, hpt->dummy1[i]); } #endif static struct dmraid_format hpt45x_format = { .name = HANDLER, .descr = "Highpoint HPT45X", .caps = "S,0,1,10", .format = FMT_RAID, .read = hpt45x_read, .write = hpt45x_write, .group = hpt45x_group, .check = hpt45x_check, .events = &hpt45x_event_handlers, #ifdef DMRAID_NATIVE_LOG .log = hpt45x_log, #endif }; /* Register this format handler with the format core. */ int register_hpt45x(struct lib_context *lc) { return register_format_handler(lc, &hpt45x_format); } /* Calculate RAID device size in sectors depending on RAID type. */ static uint64_t sectors(struct raid_dev *rd, void *meta) { struct hpt45x *hpt = meta; switch (rd->type) { case t_raid0: return hpt->total_secs / (hpt->raid_disks ? hpt->raid_disks : 1); case t_raid1: return hpt->total_secs; default: return rd->meta_areas->offset; } } /* Set the RAID device contents up derived from the Highpoint ones */ static int setup_rd(struct lib_context *lc, struct raid_dev *rd, struct dev_info *di, void *meta, union read_info *info) { struct hpt45x *hpt = meta; if (!(rd->meta_areas = alloc_meta_areas(lc, rd, handler, 1))) return 0; rd->meta_areas->offset = HPT45X_CONFIGOFFSET >> 9; rd->meta_areas->size = sizeof(*hpt); rd->meta_areas->area = (void *) hpt; rd->di = di; rd->fmt = &hpt45x_format; rd->status = status(hpt); rd->type = type(hpt); rd->offset = HPT45X_DATAOFFSET; if (!(rd->sectors = sectors(rd, hpt))) return log_zero_sectors(lc, di->path, handler); return (rd->name = name(lc, rd, hpt->raid1_type == HPT45X_T_RAID1)) ? 1 : 0; } dmraid/1.0.0.rc16/lib/format/ataraid/hpt37x.h0000644000175200007640000000617611254123773020702 0ustar mauelshamauelsha/* * Copyright (c) 2000,2001 Søren Schmidt * All rights reserved. * * dmraid modifications: * Copyright (C) 2004,2005 Heinz Mauelshagen, Red Hat GmbH. * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer, * without modification, immediately at the beginning of the file. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. The name of the author may not be used to endorse or promote products * derived from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR `AS IS'' AND ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #ifndef _HPT37X_H_ #define _HPT37X_H_ #ifdef FORMAT_HANDLER #undef FORMAT_HANDLER #include /* HPT 37x config data byte offset on disk */ #define HPT37X_CONFIGOFFSET (9 << 9) /* 9 sectors */ #define HPT37X_DATAOFFSET 10 /* Data offset in sectors */ /* Ondisk metadata for Highpoint ATARAID */ struct hpt37x { uint8_t filler1[32]; uint32_t magic; #define HPT37X_MAGIC_OK 0x5a7816f0 #define HPT37X_MAGIC_BAD 0x5a7816fd uint32_t magic_0; /* Set identifier */ uint32_t magic_1; /* Array identifier */ uint32_t order; #define HPT_O_MIRROR 0x01 #define HPT_O_STRIPE 0x02 #define HPT_O_OK 0x04 uint8_t raid_disks; uint8_t raid0_shift; uint8_t type; #define HPT37X_T_RAID0 0x00 #define HPT37X_T_RAID1 0x01 #define HPT37X_T_RAID01_RAID0 0x02 #define HPT37X_T_SPAN 0x03 #define HPT37X_T_RAID_3 0x04 #define HPT37X_T_RAID_5 0x05 #define HPT37X_T_SINGLEDISK 0x06 #define HPT37X_T_RAID01_RAID1 0x07 uint8_t disk_number; uint32_t total_secs; uint32_t disk_mode; uint32_t boot_mode; uint8_t boot_disk; uint8_t boot_protect; uint8_t error_log_entries; uint8_t error_log_index; #define HPT37X_MAX_ERRORLOG 32 struct hpt37x_errorlog { uint32_t timestamp; uint8_t reason; #define HPT_R_REMOVED 0xfe #define HPT_R_BROKEN 0xff uint8_t disk; uint8_t status; uint8_t sectors; uint32_t lba; } errorlog[HPT37X_MAX_ERRORLOG]; uint8_t filler[60]; } __attribute__ ((packed)); #endif int register_hpt37x(struct lib_context *lc); #endif dmraid/1.0.0.rc16/lib/format/ataraid/sil.h0000644000175200007640000000532111254123773020323 0ustar mauelshamauelsha/* * Copyright (C) 2004,2005 Heinz Mauelshagen, Red Hat GmbH. * All rights reserved. * * See file LICENSE at the top of this source tree for license information. */ #ifndef _SIL_H_ #define _SIL_H_ #ifdef FORMAT_HANDLER #undef FORMAT_HANDLER #include #define SIL_CONFIGOFFSET ((di->sectors - 1) << 9) #define SIL_DATAOFFSET 0 /* Data offset in sectors */ struct sil { uint8_t unknown0[0x2E]; /* 0x4 - 0x2D */ uint8_t ascii_version[0x36 - 0x2E];/* 0x2E - 0x35 */ int8_t diskname[0x56 - 0x36]; /* 0x36 - 0x55 */ int8_t unknown1[0x60 - 0x56]; /* 0x56 - 0x59 */ uint32_t magic; /* 0x60 - 0x63 */ #define SIL_MAGIC 0x3000000 #define SIL_MAGIC_OK(sil) ((sil->magic & 0x3ffffff) == SIL_MAGIC) int8_t unknown1a[0x6C - 0x64]; /* 0x64 - 0x6B */ uint32_t array_sectors_low; /* 0x6C - 0x6F */ uint32_t array_sectors_high; /* 0x70 - 0x73 */ int8_t unknown2[0x78 - 0x74]; /* 0x74 - 0x77 */ uint32_t thisdisk_sectors; /* 0x78 - 0x7B */ int8_t unknown3[0x100 - 0x7C]; /* 0x7C - 0xFF */ int8_t unknown4[0x104 - 0x100];/* 0x100 - 0x103 */ uint16_t product_id; /* 0x104 + 0x105 */ uint16_t vendor_id; /* 0x106 + 0x107 */ uint16_t minor_ver; /* 0x108 + 0x109 */ uint16_t major_ver; /* 0x10A + 0x10B */ uint8_t seconds; /* 0x10C */ uint8_t minutes; /* 0x10D */ uint8_t hour; /* 0x10E */ uint8_t day; /* 0x10F */ uint8_t month; /* 0x110 */ uint8_t year; /* 0x111 */ uint16_t raid0_stride; /* 0x112 + 0x113 */ int8_t unknown6[0x116 - 0x114];/* 0x114 + 0x115 */ uint8_t disk_number; /* 0x116 */ uint8_t type; /* 0x117 */ #define SIL_T_RAID0 0 #define SIL_T_RAID1 1 #define SIL_T_RAID10 2 #define SIL_T_RAID5 16 #define SIL_T_SPARE 3 #define SIL_T_JBOD 255 int8_t drives_per_striped_set; /* 0x118 */ int8_t striped_set_number; /* 0x119 */ int8_t drives_per_mirrored_set;/* 0x11A */ int8_t mirrored_set_number; /* 0x11B */ uint32_t rebuild_ptr_low; /* 0x11C - 0x12F */ uint32_t rebuild_ptr_high; /* 0x120 - 0x123 */ uint32_t incarnation_no; /* 0x124 - 0x127 */ uint8_t member_status; /* 0x128 */ uint8_t mirrored_set_state; /* 0x129 */ #define SIL_OK 0 #define SIL_MIRROR_NOSYNC 1 #define SIL_MIRROR_SYNC 2 uint8_t reported_device_location;/* 0x12A */ uint8_t idechannel; /* 0x12B */ uint8_t auto_rebuild; /* 0x12C */ #define SIL_MIRROR_NOAUTOREBUILD 0 uint8_t unknown8; /* 0x12D */ uint8_t text_type[0x13E - 0x12E]; /* 0x12E - 0x13D */ uint16_t checksum1; /* 0x13E + 0x13F */ int8_t assumed_zeros[0x1FE - 0x140];/* 0x140 - 0x1FD */ uint16_t checksum2; /* 0x1FE + 0x1FF */ } __attribute__ ((packed)); #endif int register_sil(struct lib_context *lc); #endif dmraid/1.0.0.rc16/lib/format/ataraid/isw.c0000644000175200007640000022372411254123773020342 0ustar mauelshamauelsha/* * Intel Software RAID metadata format handler. * * Copyright (C) 2004-2009 Heinz Mauelshagen, Red Hat GmbH. * All rights reserved. * * Copyright (C) 2007,2009 Intel Corporation. All rights reserved. * November, 2007 - additions for Create, Delete, Rebuild & Raid 10. * March, 2008 - additions for hot-spare check * August, 2008 - support for Activation, Rebuild checks * January, 2009 - additions for Activation, Rebuild check * May, 2009 - raid status reporting - add support for nosync state * June, 2009 - add get_device_idx and get_number_of_devices functions * * See file LICENSE at the top of this source tree for license information. */ /* * isw_read() etc. profited from Carl-Daniel Hailfinger's raiddetect code. * * Profited from the Linux 2.4 iswraid driver by * Boji Tony Kannanthanam and Martins Krikis. */ #define HANDLER "isw" #include #include #include "internal.h" #include #define FORMAT_HANDLER #include "isw.h" #if BYTE_ORDER != LITTLE_ENDIAN # define DM_BYTEORDER_SWAB # include #endif #define GB_DIV 1024/1024/2 #define RAID01MAX 4 static const char *handler = HANDLER; static uint16_t _num_disks(uint8_t raid_level, int max) { struct mm { uint8_t level; uint16_t min, max; }; static struct mm mm[] = { {ISW_T_RAID0, 2, 6}, {ISW_T_RAID1, 2, 2}, {ISW_T_RAID10, 4, 4}, {ISW_T_RAID5, 3, 6}, }; struct mm *m = ARRAY_END(mm); while (m-- > mm) { if (raid_level == m->level) return max ? m->max : m->min; } return 1; } static inline uint16_t min_num_disks(uint8_t raid_level) { return _num_disks(raid_level, 0); } static inline uint16_t max_num_disks(uint8_t raid_level) { return _num_disks(raid_level, 1); } /* * Check an Intel SW RAID set. * * FIXME: more sanity checks. */ static unsigned devices(struct raid_dev *rd, void *context) { return rd->type != t_spare ? ((struct isw_dev *) rd->private.ptr)->vol.map[0].num_members : 0; } static unsigned devices_per_domain(struct raid_dev *rd, void *context) { return ((struct isw_dev *) rd->private.ptr)->vol.map[0].num_members / ((struct isw_dev *) rd->private.ptr)->vol.map[0].num_domains; } /* Check if given device belongs to a RAID10 mapping. */ static int is_raid10(struct isw_dev *dev) { return dev ? (dev->vol.map[0].raid_level == ISW_T_RAID10 || (dev->vol.map[0].raid_level == ISW_T_RAID1 && dev->vol.map[0].num_members >= min_num_disks(ISW_T_RAID10))) : 0; } /* Find a disk table slot by serial number. */ /* FIXME: this is workaround for di->serial issues to be fixed. */ static const char *dev_info_serial_to_isw(const char *di_serial) { int i, isw_serial_len = 0; static char isw_serial[1024]; for (i = 0; di_serial[i] && isw_serial_len < sizeof(isw_serial) - 1; i++) { if (!isspace(di_serial[i])) /* * ':' is reserved for use in placeholder * serial numbers for missing disks. */ isw_serial[isw_serial_len++] = (di_serial[i] == ':') ? ';' : di_serial[i]; } isw_serial[isw_serial_len] = 0; if (isw_serial_len > MAX_RAID_SERIAL_LEN) memmove(isw_serial, isw_serial + (isw_serial_len - MAX_RAID_SERIAL_LEN), MAX_RAID_SERIAL_LEN); return isw_serial; } static struct isw_disk * _get_disk(struct isw *isw, struct dev_info *di) { if (di->serial) { int i = isw->num_disks; struct isw_disk *disk = isw->disk; const char *isw_serial = dev_info_serial_to_isw(di->serial); while (i--) { if (!strncmp(isw_serial, (const char *) disk[i].serial, MAX_RAID_SERIAL_LEN)) return disk + i; } } return NULL; } static struct isw_disk * get_disk(struct lib_context *lc, struct dev_info *di, struct isw *isw) { struct isw_disk *disk; if ((disk = _get_disk(isw, di))) return disk; LOG_ERR(lc, NULL, "%s: Could not find disk %s in the metadata", handler, di->path); } enum name_type { N_PATH, N_NUMBER, N_VOLUME, N_VOLUME_FORCE }; static size_t _name(struct lib_context *lc, struct isw *isw, char *str, size_t len, enum name_type nt, int num, struct isw_dev *dev, struct raid_dev *rd) { struct { const char *fmt, *what; } formats[] = { { "isw_%u_%s", rd->di->path}, { "isw_%u", NULL}, { "isw_%u_%s", (const char *) dev->volume}, { "isw_%u_%s-%u", (const char *) dev->volume},}, *f = formats; if (nt < 0 || nt > N_VOLUME_FORCE) LOG_ERR(lc, 0, "unsupported name type"); if (nt == N_VOLUME_FORCE) f += N_VOLUME; else { f += nt; if (nt == N_VOLUME) f += (is_raid10(dev) ? 1 : 0); } return snprintf(str, len, f->fmt, isw->family_num, f->what, num); } static char * name(struct lib_context *lc, struct raid_dev *rd, struct isw_dev *dev, enum name_type nt) { size_t len; char *ret = NULL; int id = 0; struct isw *isw = META(rd, isw); struct isw_disk *disk = isw->disk; if (nt == N_VOLUME && is_raid10(dev)) { if ((disk = _get_disk(isw, rd->di))) { int i = max_num_disks(ISW_T_RAID10); while (i--) { if (disk == isw->disk + i) { id = i / 2; goto ok; } } return NULL; } } ok: if ((ret = alloc_private(lc, handler, (len = _name(lc, isw, ret, 0, nt, id, dev, rd) + 1)))) { _name(lc, isw, ret, len, nt, id, dev, rd); len = snprintf(ret, 0, "%u", isw->family_num); mk_alpha(lc, ret + HANDLER_LEN, len); } else log_alloc_err(lc, handler); return ret; } /* * Retrieve status of device. * * FIXME: is this sufficient to cover all state ? */ static enum status __status(unsigned status) { return ((status & (CONFIGURED_DISK | USABLE_DISK)) && !(FAILED_DISK & status)) ? s_ok : s_broken; } static enum status status(struct lib_context *lc, struct raid_dev *rd) { struct isw_disk *disk; if ((disk = get_disk(lc, rd->di, META(rd, isw)))) return __status(disk->status); return s_undef; } /* Mapping of Intel types to generic types. */ static struct types types[] = { {ISW_T_RAID0, t_raid0}, {ISW_T_RAID1, t_raid1}, {ISW_T_RAID5, t_raid5_la}, /* Only left asymmetric supported now. { ISW_T_RAID5, t_raid5_ls}, { ISW_T_RAID5, t_raid5_ra}, { ISW_T_RAID5, t_raid5_rs}, */ {ISW_T_RAID10, t_raid1}, {ISW_T_SPARE, t_spare}, {ISW_T_UNDEF, t_undef}, }; static uint8_t _get_raid_level(enum type raid_type) { int i; for (i = 0; types[i].unified_type != t_undef && types[i].unified_type != raid_type; i++); return types[i].type; } /* Neutralize disk type. */ static enum type type(struct isw_dev *dev) { if (is_raid10(dev)) return t_raid1; return dev ? rd_type(types, (unsigned) dev->vol.map[0].raid_level) : t_group; } /* * Generate checksum of Raid metadata for mpb_size/sizeof(u32) words * (checksum field itself ignored for this calculation). */ static uint32_t _checksum(struct isw *isw) { uint32_t end = isw->mpb_size / sizeof(end), *p = (uint32_t *) isw, ret = 0; while (end--) ret += *p++; return ret - isw->check_sum; } /* Calculate next isw device offset. */ static struct isw_dev * advance_dev(struct isw_dev *dev, struct isw_map *map, size_t add) { return (struct isw_dev *) ((uint8_t *) dev + (map->num_members - 1) * sizeof(map->disk_ord_tbl) + add); } /* Advance to the next isw_dev from a given one. */ static struct isw_dev * advance_raiddev(struct isw_dev *dev) { struct isw_vol *vol = &dev->vol; struct isw_map *map = (struct isw_map *) &vol->map; /* Correction: yes, it sits here! */ dev = advance_dev(dev, map, sizeof(*dev)); if (vol->migr_state) /* Need to add space for another map. */ dev = advance_dev(dev, map, sizeof(*map)); return dev; } /* Return isw_dev by table index. */ static struct isw_dev * raiddev(struct isw *isw, unsigned i) { struct isw_dev *dev = (struct isw_dev *) (isw->disk + isw->num_disks); while (i--) dev = advance_raiddev(dev); return dev; } /* * Read an Intel RAID device */ /* Endianess conversion. */ enum convert { FULL, FIRST, LAST }; #if BYTE_ORDER == LITTLE_ENDIAN # define to_cpu(x, y) #else /* * We can differ from the read_raid_dev template here, * because we don't get called from there. */ static void to_cpu(struct isw *isw, enum convert cvt) { unsigned i, j; struct isw_disk *dsk; struct isw_dev *dev; if (cvt == FIRST || cvt == FULL) { CVT32(isw->check_sum); CVT32(isw->mpb_size); CVT32(isw->family_num); CVT32(isw->generation_num); } if (cvt == FIRST) return; for (dsk = isw->disk; dsk < &isw->disk[isw->num_disks]; dsk++) { CVT32(dsk->totalBlocks); CVT32(dsk->scsiId); CVT32(dsk->status); } for (i = 0; i < isw->num_raid_devs; i++) { dev = raiddev(isw, i); /* RAID device. */ CVT32(dev->SizeLow); CVT32(dev->SizeHigh); CVT32(dev->status); CVT32(dev->reserved_blocks); /* RAID volume has 8 bit members only. */ /* RAID map. */ CVT32(dev->vol.map[0].pba_of_lba0); CVT32(dev->vol.map[0].blocks_per_member); CVT32(dev->vol.map[0].num_data_stripes); CVT16(dev->vol.map[0].blocks_per_strip); for (j = 0; j < dev->vol.map[0].num_members; j++) CVT16(dev->vol.map[0].disk_ord_tbl[j]); } } #endif /* Return sector rounded size of isw metadata. */ static size_t isw_size(struct isw *isw) { return round_up(isw->mpb_size, ISW_DISK_BLOCK_SIZE); } /* Set metadata area size in bytes and config offset in sectors. */ static void set_metadata_sizoff(struct raid_dev *rd, size_t size) { rd->meta_areas->size = size; rd->meta_areas->offset = ISW_CONFIGSECTOR(rd->di) - size / ISW_DISK_BLOCK_SIZE + 1; } #define MIN_VOLUME_SIZE 204800 static void enforce_size_limit(struct raid_set *rs) { /* the min size is 100M bytes */ if (rs->size && rs->size < MIN_VOLUME_SIZE) rs->size = MIN_VOLUME_SIZE; } static int is_first_volume(struct lib_context *lc, struct raid_set *rs) { struct raid_dev *rd1, *rd2; list_for_each_entry(rd1, &rs->devs, devs) { list_for_each_entry(rd2, LC_RD(lc), list) { if (!strcmp(rd1->di->path, rd2->di->path) && rd1->fmt == rd2->fmt) { /* No choice for the 2nd volume. */ rs->size = 0; return 0; } } } enforce_size_limit(rs); return 1; } /* Return correct signature version based on RAID type */ static char * _isw_get_version(struct lib_context *lc, struct raid_set *rs) { if((rs->total_devs == 5) || (rs->total_devs == 6)) return mpb_versions[6]; /* MPB_VERSION_5OR6_DISK_ARRAY */ if(rs->type == ISW_T_RAID5) return mpb_versions[5]; /* MPB_VERSION_RAID5 */ if((rs->total_devs == 3) || (rs->total_devs == 4)) return mpb_versions[4]; /* MPB_VERSION_3OR4_DISK_ARRAY */ if(!is_first_volume(lc, rs)) return mpb_versions[3]; /* MPB_VERSION_MUL_VOLS */ if(rs->type == ISW_T_RAID1) return mpb_versions[2]; /* MPB_VERSION_RAID1 */ if((rs->type == ISW_T_RAID0) || T_SPARE(rs)) return mpb_versions[1]; /* MPB_VERSION_RAID0 */ return mpb_versions[0]; /* unknown */ } /* Check for isw signature (magic) and version. */ static int is_isw(struct lib_context *lc, struct dev_info *di, struct isw *isw) { if (strncmp((const char *) isw->sig, MPB_SIGNATURE, MPB_SIGNATURE_SIZE)) return 0; /* Check version info; older versions supported. */ if (strncmp((const char *) isw->sig + MPB_SIGNATURE_SIZE, MPB_VERSION_LAST, MPB_VERSION_LENGTH) > 0) log_print(lc, "%s: untested metadata version %s found on %s", handler, isw->sig + MPB_SIGNATURE_SIZE, di->path); return 1; } static void isw_file_metadata(struct lib_context *lc, struct dev_info *di, void *meta) { struct isw *isw = meta; /* Get the rounded up value for the metadata size */ size_t size = isw_size(isw); file_metadata(lc, handler, di->path, meta + (size / ISW_DISK_BLOCK_SIZE > 1 ? ISW_DISK_BLOCK_SIZE : 0), size, (di->sectors - (size / ISW_DISK_BLOCK_SIZE)) << 9); file_dev_size(lc, handler, di); } static int isw_read_extended(struct lib_context *lc, struct dev_info *di, struct isw **isw, uint64_t * isw_sboffset, size_t * size) { struct isw *isw_tmp; /* Get the rounded up value for the metadata blocks */ size_t blocks = div_up((*isw)->mpb_size, ISW_DISK_BLOCK_SIZE); /* Allocate memory for the extended Intel superblock and read it in. */ *size = blocks * ISW_DISK_BLOCK_SIZE; *isw_sboffset -= *size - ISW_DISK_BLOCK_SIZE; if ((isw_tmp = alloc_private(lc, handler, *size))) { /* Copy in first metadata sector. */ memcpy(isw_tmp, *isw, ISW_DISK_BLOCK_SIZE); /* Read extended metadata to offset ISW_DISK_BLOCK_SIZE */ if (blocks > 1 && !read_file(lc, handler, di->path, (void *) (((uint8_t*)isw_tmp) + ISW_DISK_BLOCK_SIZE), *size - ISW_DISK_BLOCK_SIZE, *isw_sboffset)) { dbg_free(isw_tmp); isw_tmp = NULL; } } else return 0; dbg_free(*isw); *isw = isw_tmp; return *isw ? 1 : 0; } /* Check for RAID disk ok. */ static int disk_ok(struct lib_context *lc, struct dev_info *di, struct isw *isw) { struct isw_disk *disk = get_disk(lc, di, isw); return disk && __status(disk->status) == s_ok; } static void * isw_read_metadata(struct lib_context *lc, struct dev_info *di, size_t * sz, uint64_t * offset, union read_info *info) { size_t size = ISW_DISK_BLOCK_SIZE; uint64_t isw_sboffset = ISW_CONFIGOFFSET(di); struct isw *isw; if (!(isw = alloc_private_and_read(lc, handler, size, di->path, isw_sboffset))) goto out; /* * Convert start of metadata only, because we might need to * read extended metadata located ahead of it first. */ to_cpu(isw, FIRST); /* Check Signature and read optional extended metadata. */ if (!is_isw(lc, di, isw) || !isw_read_extended(lc, di, &isw, &isw_sboffset, &size)) goto bad; /* * Now that we made sure, that we've got all the * metadata, we can convert it completely. */ to_cpu(isw, LAST); if (disk_ok(lc, di, isw)) { *sz = size; *offset = info->u64 = isw_sboffset; goto out; } bad: dbg_free(isw); isw = NULL; out: return (void *) isw; } static int setup_rd(struct lib_context *lc, struct raid_dev *rd, struct dev_info *di, void *meta, union read_info *info); static struct raid_dev * isw_read(struct lib_context *lc, struct dev_info *di) { return read_raid_dev(lc, di, isw_read_metadata, 0, 0, NULL, NULL, isw_file_metadata, setup_rd, handler); } /* * Write metadata to an Intel Software RAID device. */ static int isw_write(struct lib_context *lc, struct raid_dev *rd, int erase) { int ret; struct isw *isw = META(rd, isw); void *dst, *src = isw; uint32_t size = isw->mpb_size; to_disk(isw, FULL); /* Flip sectors for write_metadata() to work if extended metadata. */ if (size > ISW_DISK_BLOCK_SIZE) { /* sunil */ dst = alloc_private(lc, handler, 2 * ISW_DISK_BLOCK_SIZE); if (!dst) return 0; memcpy(dst, src + ISW_DISK_BLOCK_SIZE, ISW_DISK_BLOCK_SIZE); memcpy(dst + ISW_DISK_BLOCK_SIZE, src, ISW_DISK_BLOCK_SIZE); } else dst = isw; rd->meta_areas->area = dst; ret = write_metadata(lc, handler, rd, -1, erase); rd->meta_areas->area = isw; if (dst != isw) dbg_free(dst); to_cpu(isw, FULL); return ret; } /* * Group an Intel SW RAID disk into potentially * multiple RAID sets and RAID disks. */ /* Check state if isw device map. */ static int _check_map_state(struct lib_context *lc, struct raid_dev *rd, struct isw_dev *dev) { /* FIXME: FAILED_MAP etc. */ switch (dev->vol.map[0].map_state) { case ISW_T_STATE_NORMAL: case ISW_T_STATE_UNINITIALIZED: case ISW_T_STATE_DEGRADED: case ISW_T_STATE_FAILED: break; default: LOG_ERR(lc, 0, "%s: unsupported map state 0x%x on %s for %s", handler, dev->vol.map[0].map_state, rd->di->path, (char *) dev->volume); } return 1; } /* Create a RAID device to map a volumes segment. */ static struct raid_dev * _create_rd(struct lib_context *lc, struct raid_dev *rd, struct isw *isw, struct isw_dev *dev) { struct raid_dev *r; if (!(r = alloc_raid_dev(lc, handler))) return NULL; if (!(r->meta_areas = alloc_meta_areas(lc, rd, handler, 1))) goto free; /* Configuration for spare disk. */ if (isw->disk[0].status & SPARE_DISK) { r->meta_areas->offset = rd->meta_areas->offset; r->meta_areas->size = rd->meta_areas->size; r->meta_areas->area = alloc_private(lc, handler, rd->meta_areas->size); memcpy(r->meta_areas->area, rd->meta_areas->area, rd->meta_areas->size); r->type = t_spare; if (!(r->name = name(lc, rd, NULL, N_PATH))) goto free; r->di = rd->di; r->fmt = rd->fmt; r->sectors = ISW_CONFIGSECTOR(r->di); goto out; } if (!_check_map_state(lc, rd, dev)) goto free; if (!(r->private.ptr = alloc_private(lc, handler, sizeof(*dev)))) goto free; memcpy(r->private.ptr, dev, sizeof(*dev)); r->meta_areas->offset = rd->meta_areas->offset; r->meta_areas->size = rd->meta_areas->size; r->meta_areas->area = alloc_private(lc, handler, rd->meta_areas->size); memcpy(r->meta_areas->area, rd->meta_areas->area, rd->meta_areas->size); if ((r->type = type(dev)) == t_undef) { log_err(lc, "%s: RAID type %u not supported", handler, (unsigned) dev->vol.map[0].raid_level); goto free; } if (!(r->name = name(lc, rd, dev, N_VOLUME))) goto free; r->di = rd->di; r->fmt = rd->fmt; r->offset = dev->vol.map[0].pba_of_lba0; if ((r->sectors = dev->vol.map[0].blocks_per_member - RAID_DS_JOURNAL)) goto out; log_zero_sectors(lc, rd->di->path, handler); free: free_raid_dev(lc, &r); out: return r; } /* Find an Intel RAID set or create it. */ static void create_rs(struct raid_set *rs, void *private) { rs->stride = ((struct isw_dev *) private)->vol.map[0].blocks_per_strip; } /* Decide about ordering sequence of RAID device. */ static int dev_sort(struct list_head *pos, struct list_head *new) { struct isw *isw = RD(new)->private.ptr; return _get_disk(isw, RD(new)->di) < _get_disk(isw, RD(pos)->di); } static void super_created(struct raid_set *super, void *private) { super->type = t_raid0; super->stride = ((struct isw_dev *) private)->vol.map[0].blocks_per_strip; } /* * rs_group contains the top-level group RAID set (type: t_group) on entry * and shall be returned on success (or NULL on error). */ static struct raid_set * group_rd(struct lib_context *lc, struct raid_set *rs_group, struct raid_dev *rd_meta) { unsigned d; void *private; struct isw *isw = META(rd_meta, isw); struct isw_dev *dev; struct raid_dev *rd; struct raid_set *rs, *ss; char *ss_name = NULL; /* Configuration for spare disk. */ if (isw->disk[0].status & SPARE_DISK) { /* Spare disk has no device description. */ dev = NULL; if (!(rd = _create_rd(lc, rd_meta, isw, dev))) return NULL; if (!(rs = find_or_alloc_raid_set(lc, rd->name, FIND_ALL, rd, &rs_group->sets, NULL, NULL))) { free_raid_dev(lc, &rd); return NULL; } rs->status = s_ok; list_add_sorted(lc, &rs->devs, &rd->devs, dev_sort); } else { /* Loop the device/volume table. */ for (d = 0; d < isw->num_raid_devs; d++) { dev = raiddev(isw, d); if (!(rd = _create_rd(lc, rd_meta, isw, dev))) return NULL; if (is_raid10(dev)) { ss_name = name(lc, rd, dev, N_VOLUME_FORCE); ss = find_or_alloc_raid_set(lc, ss_name, FIND_ALL, rd, &rs_group->sets, super_created, dev); if (!ss) { dbg_free(ss_name); free_raid_dev(lc, &rd); return NULL; } } else ss = rs_group; if (!(rs = find_or_alloc_raid_set(lc, rd->name, FIND_ALL, rd, &ss->sets, create_rs, dev))) { free_raid_dev(lc, &rd); return NULL; } rs->status = s_ok; /* Save and set to enable dev_sort(). */ private = rd->private.ptr; rd->private.ptr = isw; list_add_sorted(lc, &rs->devs, &rd->devs, dev_sort); /* Restore. */ rd->private.ptr = private; } } return rs_group; } /* Add an Intel SW RAID device to a set */ static struct raid_set * isw_group(struct lib_context *lc, struct raid_dev *rd_meta) { struct raid_set *rs_group = NULL; /* * Once we get here, an Intel SW RAID disk containing a metadata area * with a volume table has been discovered by isw_read. There is one * goup RAID set for each metadata configuration. The volume defined in * the metadata is a subset of the group RAID set. */ /* Check if a top level group RAID set already exists. */ if (!(rs_group = find_or_alloc_raid_set(lc, rd_meta->name, FIND_TOP, rd_meta, LC_RS(lc), NO_CREATE, NO_CREATE_ARG))) return NULL; /* * Add the whole underlying (meta) RAID device to the group set. * Sorting is no problem here, because RAID sets and devices will * be created for all the Volumes of an ISW set and those need sorting. */ rd_meta->private.ptr = rd_meta->meta_areas->area; list_add_sorted(lc, &rs_group->devs, &rd_meta->devs, dev_sort); rd_meta->private.ptr = NULL; /* mark spare set as group set */ if (T_SPARE(rs_group)) rs_group->type = t_group; /* * We need to run through the volume table and create a RAID set and * RAID devices hanging off it for every volume, * so that the activate code is happy. * * A pointer to the top-level group RAID set * gets returned or NULL on error. */ return group_rd(lc, rs_group, rd_meta); } static unsigned adjust_length(struct isw_dev *dev, struct isw_dev *dev_rebuilt, unsigned map_size) { return (dev == dev_rebuilt || !dev->vol.migr_state) ? map_size : 2 * map_size; } /* * Find out index of a raid device in isw_dev array by name. * The function returns -1 if no relevant device can be found. */ static int rd_idx_by_name(struct isw *isw, const char *name) { int i = isw->num_raid_devs; while (i--) { if (strstr(name, (const char *) raiddev(isw, i)->volume)) return i; } return -ENOENT; } /* Return RAID device for serial string. */ static struct raid_dev * rd_by_serial(struct raid_set *rs, const char *serial) { struct raid_dev *rd; list_for_each_entry(rd, &rs->devs, devs) { if (rd->di && !strncmp(dev_info_serial_to_isw(rd->di->serial), serial, MAX_RAID_SERIAL_LEN)) return rd; } return NULL; } static struct isw * update_metadata_after_rebuild(struct lib_context *lc, struct raid_set *rs) { struct raid_dev *rd = list_entry(rs->devs.next, struct raid_dev, devs); struct isw *old_isw = META(rd, isw), *new_isw; struct isw_dev *old_vol0 = NULL, *old_vol1 = NULL, *vol_rebuilt = NULL; int vol_rebuilt_idx; int remove_disk; unsigned map_size, new_isw_size; unsigned old_isw_offs, new_isw_offs; unsigned i; old_vol0 = raiddev(old_isw, 0); if (old_isw->num_raid_devs > 1) old_vol1 = raiddev(old_isw, 1); /* Determine the volume being rebuilt. */ vol_rebuilt_idx = rd_idx_by_name(old_isw, lc->options[LC_REBUILD_SET].arg.str + strlen(rs->name) + 1); if (vol_rebuilt_idx < 0) return NULL; /* Modify metadata related to the volume being rebuilt. */ vol_rebuilt = vol_rebuilt_idx ? old_vol1 : old_vol0; vol_rebuilt->vol.migr_type = ISW_T_MIGR_TYPE_INITIALIZING; vol_rebuilt->vol.migr_state = ISW_T_MIGR_STATE_NORMAL; /* FIXME: replace magic number */ vol_rebuilt->vol.map[0].failed_disk_num = 255; /* Are we going to remove the failed disk from the metadata ? */ remove_disk = (!old_vol0->vol.migr_type && old_vol1) ? !old_vol1->vol.migr_type : 1; /* Calculate new metadata's size and allocate memory for it. */ map_size = sizeof(struct isw_map) + (vol_rebuilt->vol.map[0].num_members - 1) * sizeof(((struct isw_map *) NULL)->disk_ord_tbl); /* If we remove a disk. */ new_isw_size = old_isw->mpb_size - /* old size */ remove_disk * sizeof(struct isw_disk) - map_size; new_isw = alloc_private(lc, handler, new_isw_size); /* Copy metadata structures: struct isw without disks' array. */ new_isw_offs = old_isw_offs = i = sizeof(struct isw) - sizeof(struct isw_disk); memcpy(new_isw, old_isw, i); /* Copy metadata structures: disks' array. */ i = (old_isw->num_disks - remove_disk) * sizeof(struct isw_disk); memcpy((void *) new_isw + new_isw_offs, (void *) old_isw + old_isw_offs, i); new_isw_offs += i; old_isw_offs += i + remove_disk * sizeof(struct isw_disk); /* Copy metadata structures: isw_dev record #0. */ i = sizeof(struct isw_dev) - sizeof(struct isw_map) + adjust_length(old_vol0, vol_rebuilt, map_size); memcpy((void *) new_isw + new_isw_offs, (void *) old_isw + old_isw_offs, i); new_isw_offs += i; old_isw_offs += i; if (old_vol0 == vol_rebuilt) old_isw_offs += map_size; /* Copy metadata structures: isw_dev record #1 (if present). */ if (old_vol1) { i = sizeof(struct isw_dev) - sizeof(struct isw_map) + adjust_length(old_vol1, vol_rebuilt, map_size); memcpy((void *) new_isw + new_isw_offs, (void *) old_isw + old_isw_offs, i); new_isw_offs += i; old_isw_offs += i; if (old_vol1 == vol_rebuilt) old_isw_offs += map_size; } /* finally update new metadata's fields */ new_isw->mpb_size = new_isw_size; new_isw->num_disks -= remove_disk; new_isw->generation_num++; new_isw->check_sum = _checksum(new_isw); return new_isw; } /* * Check devices in a RAID set. * * a. spares in a mirror set need to be large enough. * b. # of devices correct. * * Set status of devices and raid set */ static enum status number_disks_status(struct lib_context *lc, struct raid_set *rs) { enum status status = s_undef; unsigned int dev_real_qan, dev_metadata_qan; uint64_t sectors; struct raid_dev *rd; sectors = total_sectors(lc, rs); /* Disks phisically exist. */ rs->total_devs = dev_real_qan = count_devs(lc, rs, ct_dev); list_for_each_entry(rd, &rs->devs, devs) { dev_metadata_qan = devices(rd, NULL); if (T_RAID1(rs) && (dev_metadata_qan == RAID01MAX)) dev_metadata_qan /= ((struct isw_dev *) rd->private.ptr)->vol.map[0].num_domains; rs->found_devs = dev_metadata_qan; /* * If disks number of found disks equals * disk expected status status OK. */ if (dev_real_qan == dev_metadata_qan) status = s_ok; else { if (dev_metadata_qan != dev_real_qan) log_err(lc, "%s: wrong number of devices in " "RAID set \"%s\" [%u/%u] on %s", handler, rs->name, dev_real_qan, dev_metadata_qan, rd->di->path); /* * If number of disks is incorrect, * status depends on raid type: */ switch(rs->type) { case t_linear: /* linear - always broken */ case t_raid0: /* raid 0 - always broken */ status = s_broken; break; /* If at least 1 disk available -> inconsintent */ case t_raid1: /* raid 1 - min 1 disk -> inconsintent */ if(dev_real_qan >= 1) status = s_inconsistent; else if (T_SPARE(rd) && rd->sectors != sectors) status = s_inconsistent; else status = s_broken; break; /* raid 4/5 - if 1 disk missing -> inconsistent*/ case t_raid5_la: if ((dev_real_qan == dev_metadata_qan - 1 && dev_real_qan > 1) || dev_real_qan > dev_metadata_qan) status = s_inconsistent; else status = s_broken; break; case t_spare: /* spare - always broken */ status = s_broken; break; default: /* other - undef */ status = s_undef; } } rd->status = status; } return status; } /* Establish status of raid set and raid devices belong to it. */ static enum status get_rs_status(struct lib_context *lc, struct raid_set *rs) { int idx, inconsist_qan = 0, nosync_qan = 0; enum status status; struct raid_dev *check_rd; struct isw *isw; struct isw_dev *dev; struct isw_disk *disk; /* If number of disks is not correct return current status. */ if ((status = number_disks_status(lc, rs)) != s_ok) return status; /* * If number of disks is correct check metadata * to set status in every device in raid set. */ list_for_each_entry(check_rd, &rs->devs, devs) { if (!check_rd->meta_areas) continue; isw = META(check_rd, isw); idx = rd_idx_by_name(isw, check_rd->name); if (idx < 0) return s_undef; dev = raiddev(isw, idx); disk = isw->disk; /* * If array is ready to rebuild * or under rebuild state. */ if ((dev->vol.migr_state == 1) && (dev->vol.migr_type == 1)) { nosync_qan++; check_rd->status = s_nosync; } else if (dev->vol.map[0].map_state == ISW_T_STATE_DEGRADED) { /* If array is marked as degraded. */ inconsist_qan++; check_rd->status = s_inconsistent; } else /* if everything is ok. */ check_rd->status = s_ok; } /* Set status of whole raid set. */ if (inconsist_qan) rs->status = s_inconsistent; else if (nosync_qan) rs->status = s_nosync; else rs->status = s_ok; return rs->status; } /* Handle rebuild state. */ static int get_rebuild_state(struct lib_context *lc, struct raid_set *rs, struct raid_dev *rd) { int idx; struct raid_dev *check_rd; struct isw *isw; struct isw_dev *dev; struct isw_disk *disk; list_for_each_entry(check_rd, &rs->devs, devs) { if (check_rd->meta_areas) { isw = META(check_rd, isw); idx = rd_idx_by_name(isw, lc->options[LC_REBUILD_SET]. arg.str); if (idx < 0) return 0; dev = raiddev(isw, idx); disk = isw->disk; if (dev->vol.migr_state && dev->vol.migr_type && dev->vol.map[0].failed_disk_num < isw->num_disks) { /* * If rd that belongs to RAID set is * pointed at by failed disk number * the RAID set state is migration. */ rd = rd_by_serial(rs, (const char *) disk[dev->vol.map[0].failed_disk_num].serial); if (rd) /* * Found RAID device that belongs to * RAID set is marked as failed in * metadata. */ return s_nosync; } else if (dev->vol.map[0].map_state == \ ISW_T_STATE_DEGRADED) return s_inconsistent; } /* * Check only first metadata on the * first rd that has a metadata. */ return s_inconsistent; } return s_inconsistent; } /* Returns number of devices in the RAID set. */ static int get_number_of_devices(struct lib_context *lc, struct raid_set *rs) { struct raid_dev *rd = list_entry(rs->devs.next, struct raid_dev, devs); return META(rd, isw)->num_disks; } /* Returns index of disk in RAID set. */ static int get_device_idx(struct lib_context *lc, struct raid_dev *rd) { int i; struct isw *isw; const char *serial; if (!rd) return -1; isw = META(rd, isw); serial = dev_info_serial_to_isw(rd->di->serial); /* Find the index of the disk. */ for (i = 0; i < isw->num_disks; i++) { /* Check if the disk is listed. */ if (!strncmp(serial, (const char *) isw->disk[i].serial, MAX_RAID_SERIAL_LEN)) return i; } /* Zero based device index. */ return -1; } /* isw metadata handler routine. */ static int isw_metadata_handler(struct lib_context *lc, enum handler_commands command, struct handler_info *info, void *context) { int idx, ret = 0; struct raid_set *rs = context; struct raid_dev *rd = list_entry(rs->devs.next, struct raid_dev, devs); struct isw *isw, *new_isw; struct isw_dev *dev; struct isw_disk *disk; switch (command) { case UPDATE_REBUILD_STATE: new_isw = update_metadata_after_rebuild(lc, rs); if (!new_isw) return 0; /* Embed the new metadata on disks. */ list_for_each_entry(rd, &rs->devs, devs) { set_metadata_sizoff(rd, isw_size(new_isw)); memcpy(rd->meta_areas->area, new_isw, new_isw->mpb_size); /* FIXME: use fmt->write from metadata.c instead ? */ /* FIXME: log update. */ ret = isw_write(lc, rd, 0); if (!ret) break; } break; case GET_REBUILD_STATE: return get_rebuild_state(lc, rs, rd); case GET_REBUILD_DRIVE: isw = META(rd, isw); dev = raiddev(isw, 0); disk = isw->disk + dev->vol.map[0].failed_disk_num; rd = rd_by_serial(rs, (const char *) disk->serial); if (rd) { if (info && info->data.str && info->size) { strncpy(info->data.str, rd->di->path, info->size); log_print(lc, "Rebuild Drive: %s Serial No: %s\n", rd->di->path, rd->di->serial); ret = 1; } else log_err(lc, "Can't provide rebuild drive path!"); } break; case GET_REBUILD_DRIVE_NO: rd = list_entry(rs->devs.next, typeof(*rd), devs); isw = META(rd, isw); idx = rd_idx_by_name(isw, lc->options[LC_REBUILD_SET].arg.str); if (idx < 0) return 0; dev = raiddev(isw, idx); disk = isw->disk; if (info) { if (dev->vol.map[0].failed_disk_num < dev->vol.map[0].num_members) { info->data.i32 = is_raid10(dev) ? dev->vol.map[0].failed_disk_num % dev->vol.map[0].num_domains : dev->vol.map[0].failed_disk_num; ret = 1; } else info->data.i32 = -1; } break; /* case GET_REBUILD_DRIVE_NO */ case ALLOW_ACTIVATE: /* same as ALLOW_REBUILD */ case ALLOW_REBUILD: /* Do not allow activate or rebuild, if the log is non-empty */ isw = META (rd, isw); ret = !isw->bbm_log_size; /* Is log empty */ if (!ret) log_err(lc, "BBM entries detected!"); break; /* case ALLOW_REBUILD */ case GET_STATUS: /* Get status of raid set */ return get_rs_status(lc, rs); case GET_DEVICE_IDX: /* Get index of disk. */ return get_device_idx(lc, info->data.ptr); case GET_NUMBER_OF_DEVICES: /* Get number of RAID devices. */ return get_number_of_devices(lc, rs); default: LOG_ERR(lc, 0, "%u not yet supported", command); } return ret; } static int check_rd(struct lib_context *lc, struct raid_set *rs, struct raid_dev *rd, void *context) { struct isw_dev *dev = rd->private.ptr; if (!dev) { if (rd->type == t_spare) return 1; } else LOG_ERR(lc, 0, "No information about %s device on %s " "in RAID set \"%s\"", handler, rd->di->path, rs->name); /* If disk is ready to read and write return 1. */ if ((dev->status & ISW_DEV_READ_COALESCING) && (dev->status & ISW_DEV_WRITE_COALESCING)) { return 1; } else LOG_ERR(lc, 0, "%s device for volume \"%s\" broken on %s " "in RAID set \"%s\"", handler, dev->volume, rd->di->path, rs->name); } static int _isw_check(struct lib_context *lc, struct raid_set *rs) { struct raid_set *r; list_for_each_entry(r, &rs->sets, list) { if (SETS(r)) check_raid_set(lc, r, devices_per_domain, NULL, check_rd, NULL, handler); else check_raid_set(lc, r, devices, NULL, check_rd, NULL, handler); } return 1; } static char * get_rs_basename(char *str) { char *ret, *end; if (!(end = strchr(str, '_'))) return str; if (!(end = strchr((++end), '_'))) return str; if ((ret = strstr(str, "isw_")) == str && strlen(end) > 1) return ++end; return str; } /* Check that volume name is unique. */ static int is_name_unique(struct lib_context *lc, struct raid_set *rs) { char *bn; struct raid_set *rs1, *rs2; list_for_each_entry(rs1, LC_RS(lc), list) { if (rs1->type == t_group) { list_for_each_entry(rs2, &rs1->sets, list) { bn = get_rs_basename(rs2->name); if (!strcmp(bn, rs->name)) goto out_used; } } else { bn = get_rs_basename(rs1->name); if (!strcmp(bn, rs->name)) goto out_used; } } return 1; out_used: log_dbg(lc, "%s is being used", bn); return 0; } static int check_capability(struct raid_set *rs) { uint8_t raid_level = _get_raid_level(rs->type); if (SETS(rs)) { struct raid_set *rs1 = list_entry(rs->sets.next, struct raid_set, list); if (raid_level == ISW_T_RAID0 && rs1->type == t_raid1) raid_level = ISW_T_RAID10; else raid_level = ISW_T_UNDEF; } return raid_level; } static int match_hd_array(struct raid_set *rs, struct isw *isw) { int broken = 0, found = 0; // , i = isw->num_disks; // struct isw_disk *disk = isw->disk; struct raid_dev *rd; /* FIXME: all disks broken in case of no SCSI IDs while (i--) { if (disk[i].scsiId == UNKNOWN_SCSI_ID) broken++; } */ list_for_each_entry(rd, &rs->devs, devs) { if (_get_disk(isw, rd->di)) found++; } return isw->num_disks == broken + found && found == rs->total_devs; } static int is_hd_array_available(struct lib_context *lc, struct raid_set *rs) { struct raid_dev *rd1, *rd2; list_for_each_entry(rd1, &rs->devs, devs) { list_for_each_entry(rd2, LC_RD(lc), list) { if (!strcmp(rd1->di->path, rd2->di->path) && rd1->fmt == rd2->fmt) return match_hd_array(rs, META(rd2, isw)); } } return 0; } /* Retrieve and make up SCSI ID. */ static unsigned get_scsiId(struct lib_context *lc, char *path) { int fd; Sg_scsi_id sg_id; memset(&sg_id, 0, sizeof(sg_id)); if ((fd = open(path, O_RDONLY)) == -1) return UNKNOWN_SCSI_ID; if (!get_scsi_id(lc, fd, &sg_id)) { close(fd); return UNKNOWN_SCSI_ID; } close(fd); return (sg_id.host_no << 16) | (sg_id.scsi_id << 8) | sg_id.lun; } static int isw_config_disks(struct lib_context *lc, struct isw_disk *disk, struct raid_set *rs) { int i = 0; struct raid_dev *rd; list_for_each_entry(rd, &rs->devs, devs) { strncpy((char *) disk[i].serial, dev_info_serial_to_isw(rd->di->serial), MAX_RAID_SERIAL_LEN); disk[i].totalBlocks = rd->di->sectors; /* FIXME: when scsiID == UNKNOWN_SCSI_ID */ disk[i].scsiId = get_scsiId(lc, rd->di->path); disk[i++].status = CLAIMED_DISK | CONFIG_ON_DISK | DETECTED_DISK | USABLE_DISK | DISK_SMART_EVENT_SUPPORTED | ((rs->type == ISW_T_SPARE) ? SPARE_DISK : CONFIGURED_DISK); } return i; } static void isw_config_vol(struct raid_set *rs, struct isw_vol *vol) { if (rs->status == s_init) { vol->migr_state = ((rs->found_devs > DISK_THRESHOLD ) && (rs->type == ISW_T_RAID5)) ? ISW_T_MIGR_STATE_MIGRATING : ISW_T_MIGR_STATE_NORMAL; vol->migr_type = ISW_T_MIGR_TYPE_INITIALIZING; } } static uint32_t _get_stride_size(struct raid_set *rs) { /* In blocks (512-bytes). */ /* First member is default stride size. */ static const uint32_t s_raid0[] = { 256, 8, 16, 32, 64, 128, 256, 0 }; static const uint32_t s_raid1[] = { 128, 128, 0 }; static const uint32_t s_raid10[] = { 128, 8, 16, 32, 64, 128, 256, 0 }; static const uint32_t s_raid5[] = { 128, 32, 64, 128, 256, 0 }; struct strip_options { const uint8_t level; const uint32_t *options; }; static struct strip_options strip_options[] = { {ISW_T_RAID0, s_raid0}, {ISW_T_RAID1, s_raid1}, {ISW_T_RAID10, s_raid10}, {ISW_T_RAID5, s_raid5}, }; struct strip_options *so = ARRAY_END(strip_options); while (so-- > strip_options) { if (rs->type == so->level) { int i; if (rs->stride) { i = 1; while (so->options[i + 1] && rs->stride > so->options[i]) i++; } else i = 0; return so->options[i]; } } return 0; } static void _find_factors(struct raid_set *rs, uint8_t * div, uint8_t * sub) { struct factors { const uint8_t level; const uint8_t div, sub; }; static struct factors factors[] = { {ISW_T_RAID0, 1, 0}, {ISW_T_RAID1, 2, 0}, {ISW_T_RAID10, 2, 0}, {ISW_T_RAID5, 1, 1}, }; struct factors *f = ARRAY_END(factors); while (f-- > factors) { if (rs->type == f->level) { *div = f->div; *sub = f->sub; return; } } *div = 1; *sub = 0; } /* Configure an isw map. */ static void isw_config_map(struct raid_set *rs, struct isw_map *map, uint64_t size, uint32_t first) { int i; uint8_t div, sub; _find_factors(rs, &div, &sub); map->pba_of_lba0 = first; map->blocks_per_strip = _get_stride_size(rs); map->num_data_stripes = (size / map->blocks_per_strip + rs->total_devs - sub - 1) / (rs->total_devs - sub); map->blocks_per_member = (map->blocks_per_strip * map->num_data_stripes) * div + RAID_DS_JOURNAL; map->map_state = ISW_T_STATE_NORMAL; map->raid_level = rs->type == ISW_T_RAID10 ? ISW_T_RAID1 : rs->type; map->num_members = rs->found_devs; map->num_domains = (rs->type == ISW_T_RAID1 || rs->type == ISW_T_RAID10) ? 2 : 1; map->failed_disk_num = ISW_DEV_NONE_FAILED; map->ddf = 1; /* FIXME */ for (i = 0; i < map->num_members; i++) map->disk_ord_tbl[i] = i; } /* Calculate the (new) array size. */ static uint64_t _cal_array_size(struct isw_disk *disk, struct raid_set *rs, struct isw_dev *dev) { int n = 0; uint8_t div, sub; uint64_t min_ds = ~0, max_ds; struct raid_dev *rd; list_for_each_entry(rd, &rs->devs, devs) { if (min_ds > rd->di->sectors) min_ds = rd->di->sectors; n++; } if (min_ds < DISK_RESERVED_BLOCKS) return 0; min_ds -= DISK_RESERVED_BLOCKS; /* Blank disks. */ if (dev) { /* One volume existed and started from the beginning */ if (!dev->vol.map[0].pba_of_lba0) { max_ds = dev->vol.map[0].blocks_per_member + DISK_RESERVED_BLOCKS; if (min_ds > max_ds) min_ds -= max_ds; else return 1; /* An existing volume at the bottom */ } else if (dev->vol.map[0].pba_of_lba0 >= RAID_VOLUME_RESERVED_BLOCKS) min_ds = dev->vol.map[0].pba_of_lba0 - RAID_VOLUME_RESERVED_BLOCKS; else return 1; } else { if (min_ds > DISK_RESERVED_BLOCKS) min_ds -= DISK_RESERVED_BLOCKS; else return 1; } _find_factors(rs, &div, &sub); max_ds = min_ds * (n - sub) / div; return max_ds; } #define METADATA_BLOCKS 2 static int isw_config_dev(struct lib_context *lc, struct raid_set *rs, struct isw_dev *dev1, struct isw_dev *dev2, uint64_t max_size) { uint64_t tmp = rs->size ? rs->size : max_size; strncpy((char *) dev2->volume, rs->name, MAX_RAID_SERIAL_LEN); dev2->SizeLow = (uint32_t) tmp; dev2->SizeHigh = (uint32_t) (tmp >> 32); /* FIXME: is this status ok, Radoslaw ? */ dev2->status = ISW_DEV_READ_COALESCING | ISW_DEV_WRITE_COALESCING; isw_config_vol(rs, &dev2->vol); if (!dev1) isw_config_map(rs, &dev2->vol.map[0], tmp, 0); else if (!dev1->vol.map[0].pba_of_lba0) /* Start at the begginning. */ isw_config_map(rs, &dev2->vol.map[0], tmp, dev1->vol.map[0].blocks_per_member + MIGR_OPT_SPACE); else { isw_config_map(rs, &dev2->vol.map[0], tmp, 0); if (dev2->vol.map[0].blocks_per_member + MIGR_OPT_SPACE > dev1->vol.map[0].pba_of_lba0) LOG_ERR(lc, 0, "%s: not enough space to create " "requested volume", handler); } if (dev2->vol.migr_state == ISW_T_MIGR_STATE_MIGRATING) { struct isw_map *map2 = (struct isw_map *) &dev2->vol.map[0].disk_ord_tbl[rs->found_devs]; isw_config_map(rs, map2, tmp, 0); map2->map_state = ISW_T_STATE_UNINITIALIZED; } return 1; } static void display_new_volume(struct raid_set *rs, struct isw *isw, struct isw_dev *dev) { enum type rt; const char *type_name = NULL; struct raid_dev *r; if (rs->type == ISW_T_SPARE) { /* Case if spare disk. */ printf("\n\n Create a SPARE DISK with ISW metadata " "format \n\nDISK: "); } else { rt = type(dev); switch (rt) { case t_raid0: type_name = "RAID0"; break; case t_raid1: type_name = dev->vol.map[0].num_members == min_num_disks(ISW_T_RAID10) ? "RAID01 (isw RAID10)" : "RAID1"; break; case t_raid5_la: type_name = "RAID5"; break; default: return; } printf("\n\n Create a RAID set with ISW " "metadata format \n\n"); printf("RAID name: %s\n", dev->volume); printf("RAID type: %s\n", type_name); printf("RAID size: %lluG", ((unsigned long long) dev->SizeLow + ((unsigned long long) dev->SizeHigh << 32)) / GB_DIV); printf(" (%llu blocks)\n", ((unsigned long long) dev->SizeLow + ((unsigned long long) dev->SizeHigh << 32))); if (rt != t_raid1) printf("RAID strip: %uk (%u blocks)\n", dev->vol.map[0].blocks_per_strip / 2, dev->vol.map[0].blocks_per_strip); printf("DISKS: "); } list_for_each_entry(r, &rs->devs, devs) { if (_get_disk(isw, r->di)) printf("%s%s ", r->di->path, rs->type == ISW_T_SPARE ? "" : ","); } printf("\n\n\n"); } static struct isw * _isw_create_first_volume(struct lib_context *lc, struct raid_set *rs) { uint16_t isw_size; uint64_t total_size; struct isw *isw; struct isw_dev *dev = NULL; struct isw_disk *disk = NULL; char *sig_version; total_size = _cal_array_size(disk, rs, NULL); if (rs->size > total_size) LOG_ERR(lc, 0, "%s: the size exceeds the max %lluG (%llu blocks)", handler, total_size / GB_DIV, total_size); /* allocate min 2 sectors space for isw metadata. */ isw_size = METADATA_BLOCKS * ISW_DISK_BLOCK_SIZE; if (!(isw = alloc_private(lc, handler, isw_size))) LOG_ERR(lc, 0, "%s: failed to allocate memory", handler); disk = isw->disk; isw->num_disks = isw_config_disks(lc, disk, rs); isw_size = sizeof(*isw) + sizeof(*disk) * (isw->num_disks - 1); if (rs->type != ISW_T_SPARE) { dev = (struct isw_dev *) (disk + isw->num_disks); if (!isw_config_dev(lc, rs, NULL, dev, total_size)) { dbg_free(isw); return NULL; } isw_size += sizeof(*dev) + sizeof(dev->vol.map[0].disk_ord_tbl) * (isw->num_disks - 1); if (dev->vol.migr_state == ISW_T_MIGR_STATE_MIGRATING) isw_size += sizeof(dev->vol.map[0]) + sizeof(dev->vol.map[0].disk_ord_tbl) * (isw->num_disks - 1); } display_new_volume(rs, isw, dev); strncpy((char *) isw->sig, MPB_SIGNATURE, MPB_SIGNATURE_SIZE); sig_version = _isw_get_version(lc, rs); strncpy((char *) isw->sig + MPB_SIGNATURE_SIZE, sig_version, MPB_VERSION_LENGTH); isw->mpb_size = isw_size; isw->generation_num = 0; isw->attributes = MPB_ATTRIB_CHECKSUM_VERIFY; isw->num_raid_devs = (rs->type == ISW_T_SPARE) ? 0 : 1; isw->family_num = isw->orig_family_num = _checksum(isw) + time(NULL); isw->bbm_log_size = 0; isw->check_sum = 0; isw->check_sum = _checksum(isw); return isw; } static struct raid_set * _find_group(struct lib_context *lc, struct raid_set *rs) { struct raid_set *r; struct raid_dev *rd1, *rd2; int match = 0; list_for_each_entry(r, LC_RS(lc), list) { if (r->type != t_group) continue; list_for_each_entry(rd2, &rs->devs, devs) { list_for_each_entry(rd1, &r->devs, devs) { if (!strcmp(rd1->di->path, rd2->di->path)) { match++; break; } } } if (match) { if (match == rs->found_devs) return r; LOG_ERR(lc, NULL, "%s: mismatch in the number of drives " "found", handler); } } return NULL; } static struct isw * _isw_create_second_volume(struct lib_context *lc, struct raid_set *rs) { uint16_t isw_size; uint64_t total_size; struct raid_set *rs_group; struct raid_dev *rd; struct isw *isw, *isw_v1; struct isw_dev *dev1, *dev2; char *sig_version; if (!(rs_group = _find_group(lc, rs))) return NULL; rd = list_entry(rs_group->devs.next, struct raid_dev, devs); /* Note: size of a volume data structure is smaller than a sector. */ /* FIXME: >=2 ? */ isw_v1 = rd->meta_areas->area; if (isw_v1->num_raid_devs >= 2) LOG_ERR(lc, NULL, "%s: only two volumes allowed per array", handler); if (!(dev1 = raiddev(isw_v1, 0))) LOG_ERR(lc, NULL, "%s: failed to get the first volume info", handler); total_size = _cal_array_size(isw_v1->disk, rs, dev1); if (total_size < MIN_VOLUME_SIZE) LOG_ERR(lc, NULL, "%s: either not enough disk space or the " "requested volume size is too small", handler); isw_size = rd->meta_areas->size + ISW_DISK_BLOCK_SIZE; if (!(isw = alloc_private(lc, handler, isw_size))) LOG_ERR(lc, NULL, "%s: failed to allocate memory", handler); memcpy(isw, isw_v1, isw_size - ISW_DISK_BLOCK_SIZE); isw_size = isw_v1->mpb_size; dev2 = raiddev(isw, 1); if (!isw_config_dev(lc, rs, dev1, dev2, total_size)) { dbg_free(isw); return NULL; } isw_size += sizeof(*dev2) + sizeof(dev2->vol.map[0].disk_ord_tbl) * (isw->num_disks - 1); if (dev2->vol.migr_state == ISW_T_MIGR_STATE_MIGRATING) isw_size += sizeof(dev2->vol.map[0]) + sizeof(dev2->vol.map[0].disk_ord_tbl) * (isw->num_disks - 1); display_new_volume(rs, isw, dev2); /* If new signature version is higher than the old one, replace it */ sig_version = _isw_get_version(lc, rs); if (strcmp((const char *) isw->sig + MPB_SIGNATURE_SIZE, (const char *) sig_version) < 0) strncpy((char *) isw->sig + MPB_SIGNATURE_SIZE, sig_version, MPB_VERSION_LENGTH); isw->mpb_size = isw_size; isw->generation_num++; isw->attributes = MPB_ATTRIB_CHECKSUM_VERIFY; isw->num_raid_devs++; isw->bbm_log_size = 0; isw->check_sum = 0; isw->check_sum = _checksum(isw); return isw; } static struct isw_dev * get_raiddev(struct isw *isw, char *name) { struct isw_dev *dev; int i; for (i = 0; i < isw->num_raid_devs; i++) { dev = raiddev(isw, i); if (!strcmp((const char *) dev->volume, (const char *) name)) return dev; } return NULL; } /* * Update the metadata attached to each raid * device and the name of the RAID set. */ static int update_raidset(struct lib_context *lc, struct raid_set *rs, struct isw *isw) { int blocks = div_up(isw->mpb_size, ISW_DISK_BLOCK_SIZE); size_t size = blocks * ISW_DISK_BLOCK_SIZE; struct raid_dev *rd; struct isw_dev *dev; list_for_each_entry(rd, &rs->devs, devs) { if (rd->meta_areas) { if (rd->meta_areas->area) dbg_free(rd->meta_areas->area); dbg_free(rd->meta_areas); } if (!(rd->meta_areas = alloc_meta_areas(lc, rd, handler, 1))) return 0; if (!(rd->meta_areas->area = alloc_private(lc, handler, size))) return 0; set_metadata_sizoff(rd, size); memcpy(rd->meta_areas->area, isw, size); rd->type = t_group; dev = NULL; if (rs->type != ISW_T_SPARE && !(dev = get_raiddev(isw, rs->name))) return 0; if (!(rd->name = name(lc, rd, dev, N_NUMBER))) return 0; } if (rs->type != ISW_T_SPARE) { if (!(dev = get_raiddev(isw, rs->name))) return 0; dbg_free(rs->name); rd = list_entry(rs->devs.next, struct raid_dev, devs); if (!(rs->name = name(lc, rd, dev, N_VOLUME))) return 0; } return 1; } /* Create a RAID set (i.e. an isw volume). */ static int _isw_create_raidset(struct lib_context *lc, struct raid_set *rs) { uint16_t min, max = 0; struct isw *isw; /* The type is changed into the ISW defination */ if ((rs->type = check_capability(rs)) == ISW_T_UNDEF) LOG_ERR(lc, 0, "%s: unsupported raid level", handler); if (rs->type != ISW_T_SPARE && rs->name) { if (!is_name_unique(lc, rs)) LOG_ERR(lc, 0, "%s: the name %s is already in use, " "please try another name", handler, rs->name); } if ((min = min_num_disks(rs->type)) > rs->found_devs || (max = max_num_disks(rs->type)) < rs->found_devs) LOG_ERR(lc, 0, "%s: the RAID set cannot have %s " "than %d hard drives", handler, max ? "more" : "less", max ? max : min); /* * The size of the RAID set is set to 0 if there is one volume * detected. Also, the mininum size is enforced to 0.1G. */ if (is_first_volume(lc, rs)) isw = _isw_create_first_volume(lc, rs); else if (rs->type == ISW_T_SPARE) LOG_ERR(lc, 0, "%s: SPARE disk must use all space " "on the disk", handler); else if (is_hd_array_available(lc, rs)) isw = _isw_create_second_volume(lc, rs); else LOG_ERR(lc, 0, "%s: second volume must use all drives on the " "existing array", handler); /* isw spare disk is created without own name. */ if (isw) { static const char *fmts[] = { "About to create a RAID set with the above settings. " "Name <%s> will lost. Continue", "About to create a RAID set with the above settings. " "Continue", }; const char *fmt = fmts[!(rs->type == ISW_T_SPARE && rs->name)]; if (yes_no_prompt(lc, fmt, rs->name)) { if (!update_raidset(lc, rs, isw)) { dbg_free(isw); LOG_ERR(lc, 0, "%s: failed to update metadata " "on the raid_dev data structure ", handler); } } else { dbg_free(isw); return 0; } dbg_free(isw); rs->status = s_config; return 1; } return 0; } static int update_metadata(struct lib_context *lc, struct raid_set *rs); static int isw_create(struct lib_context *lc, struct raid_set *rs) { int ret = 0; if (rs->status == s_init) { enum type raid_type; /* * The field size and type get changed * later to faciliate processing. */ raid_type = rs->type; ret = _isw_create_raidset(lc, rs); rs->type = raid_type; } else if (rs->status == s_nosync) ret = update_metadata(lc, rs); return ret; } static int isw_check(struct lib_context *lc, struct raid_set *rs) { if (rs->status == s_init) return 1; else return T_GROUP(rs) ? _isw_check(lc, rs) : 0; } /* * IO error event handler. */ static int event_io(struct lib_context *lc, struct event_io *e_io) { struct raid_dev *rd = e_io->rd; struct isw *isw = META(rd, isw); struct isw_disk *disk; if (!(disk = get_disk(lc, rd->di, isw))) LOG_ERR(lc, 0, "%s: disk", handler); /* Avoid write trashing. */ if (S_BROKEN(status(lc, rd))) return 0; disk->status &= ~USABLE_DISK; disk->status |= FAILED_DISK; return 1; } static struct event_handlers isw_event_handlers = { .io = event_io, .rd = NULL, /* FIXME: no device add/remove event handler yet. */ }; static void _isw_log(struct lib_context *lc, struct isw *isw) { unsigned d, i, m; struct isw_disk *disk; struct isw_dev *dev; P("sig: \"%*s\"", isw, isw->sig, MAX_SIGNATURE_LENGTH, isw->sig); DP("check_sum: %u", isw, isw->check_sum); DP("mpb_size: %u", isw, isw->mpb_size); DP("family_num: %u", isw, isw->family_num); DP("generation_num: %u", isw, isw->generation_num); DP("error_log_size: %u", isw, isw->error_log_size); DP("attributes: %u", isw, isw->attributes); DP("num_disks: %u", isw, isw->num_disks); DP("num_raid_devs: %u", isw, isw->num_raid_devs); DP("error_log_pos: %u", isw, isw->error_log_pos); DP("cache_size: %u", isw, isw->cache_size); DP("orig_family_num: %u", isw, isw->orig_family_num); DP ("power_cycle_count: %u", isw, isw->power_cycle_count); DP ("bbm_log_size: %u", isw, isw->bbm_log_size); for (i = 0; i < ISW_FILLERS; i++) { if (isw->filler[i]) P("filler[%i]: %u", isw, isw->filler[i], i, isw->filler[i]); } /* Disk table. */ for (d = 0, disk = isw->disk; d < isw->num_disks; d++, disk++) { if (!disk->totalBlocks) continue; P("disk[%u].serial: \"%*s\"", isw, disk->serial, d, MAX_RAID_SERIAL_LEN, disk->serial); P("disk[%u].totalBlocks: %u", isw, disk->totalBlocks, d, disk->totalBlocks); P("disk[%u].scsiId: 0x%x", isw, disk->scsiId, d, disk->scsiId); P("disk[%u].status: 0x%x", isw, disk->status, d, disk->status); P("disk[%u].owner_cfg_num: 0x%x", isw, disk->owner_cfg_num, d, disk->owner_cfg_num); for (i = 0; i < ISW_DISK_FILLERS; i++) { if (disk->filler[i]) P("disk[%u].filler[%u]: %u", isw, disk->filler[i], d, i, disk->filler[i]); } } /* RAID device/volume table. */ for (d = 0; d < isw->num_raid_devs; d++) { dev = raiddev(isw, d); /* RAID device */ P("isw_dev[%u].volume: \"%*s\"", isw, dev->volume, d, MAX_RAID_SERIAL_LEN, dev->volume); P("isw_dev[%u].SizeHigh: %u", isw, dev->SizeHigh, d, dev->SizeHigh); P("isw_dev[%u].SizeLow: %u", isw, dev->SizeLow, d, dev->SizeLow); P("isw_dev[%u].status: 0x%x", isw, dev->status, d, dev->status); P("isw_dev[%u].reserved_blocks: %u", isw, dev->reserved_blocks, d, dev->reserved_blocks); P("isw_dev[%u].migr_priority: %u", isw, dev->migr_priority, d, dev->migr_priority); P("isw_dev[%u].num_sub_vol: %u", isw, dev->num_sub_vol, d, dev->num_sub_vol); P("isw_dev[%u].tid: %u", isw, dev->tid, d, dev->tid); P("isw_dev[%u].cng_master_disk: %u", isw, dev->cng_master_disk, d, dev->cng_master_disk); P("isw_dev[%u].cache_policy: %u", isw, dev->cache_policy, d, dev->cache_policy); P("isw_dev[%u].cng_state: %u", isw, dev->cng_state, d, dev->cng_state); P("isw_dev[%u].cng_sub_state: %u", isw, dev->cng_sub_state, d, dev->cng_sub_state); for (i = 0; i < ISW_DEV_FILLERS; i++) { if (dev->filler[i]) P("isw_dev[%u].filler[%u]: %u", isw, dev->filler[i], d, i, dev->filler[i]); } /* RAID volume */ P("isw_dev[%u].vol.curr_migr_unit: %u", isw, dev->vol.curr_migr_unit, d, dev->vol.curr_migr_unit); P("isw_dev[%u].vol.check_point_id: %u", isw, dev->vol.check_point_id, d, dev->vol.check_point_id); P("isw_dev[%u].vol.migr_state: %u", isw, dev->vol.migr_state, d, dev->vol.migr_state); P("isw_dev[%u].vol.migr_type: %u", isw, dev->vol.migr_type, d, dev->vol.migr_type); P("isw_dev[%u].vol.dirty: %u", isw, dev->vol.dirty, d, dev->vol.dirty); P("isw_dev[%u].vol.fs_state: %u", isw, dev->vol.fs_state, d, dev->vol.fs_state); P("isw_dev[%u].vol.verify_errors: %u", isw, dev->vol.verify_errors, d, dev->vol.verify_errors); P("isw_dev[%u].vol.verify_bad_blocks: %u", isw, dev->vol.verify_bad_blocks, d, dev->vol.verify_bad_blocks); for (i = 0; i < ISW_RAID_VOL_FILLERS; i++) { if (dev->vol.filler[i]) P("isw_dev[%u].vol.filler[%u]: %u", isw, dev->vol.filler[i], d, i, dev->vol.filler[i]); } struct isw_map *map = &dev->vol.map[0]; for (m = 0; m < 2; m++) { /* RAID map */ P("isw_dev[%u].vol.map[%d].pba_of_lba0: %u", isw, map->pba_of_lba0, d, m, map->pba_of_lba0); P("isw_dev[%u].vol.map[%d].blocks_per_member: %u", isw, map->blocks_per_member, d, m, map->blocks_per_member); P("isw_dev[%u].vol.map[%d].num_data_stripes: %u", isw, map->num_data_stripes, d, m, map->num_data_stripes); P("isw_dev[%u].vol.map[%d].blocks_per_strip: %u", isw, map->blocks_per_strip, d, m, map->blocks_per_strip); P("isw_dev[%u].vol.map[%d].map_state: %u", isw, map->map_state, d, m, map->map_state); P("isw_dev[%u].vol.map[%d].raid_level: %u", isw, map->raid_level, d, m, map->raid_level); P("isw_dev[%u].vol.map[%d].num_members: %u", isw, map->num_members, d, m, map->num_members); P("isw_dev[%u].vol.map[%d].num_domains: %u", isw, map->num_domains, d, m, map->num_domains); P("isw_dev[%u].vol.map[%d].failed_disk_num: %u", isw, map->failed_disk_num, d, m, map->failed_disk_num); P("isw_dev[%u].vol.map[%d].ddf: %u", isw, map->ddf, d, m, map->ddf); for (i = 0; i < 7; i++) { if (map->filler[i]) P("isw_dev[%u].vol.map[%d].filler[%u]: %u", isw, map->filler[i], d, m, i, map->filler[i]); } for (i = 0; i < map->num_members; i++) { P("isw_dev[%u].vol.map[%d].disk_ord_tbl[%u]: 0x%x", isw, map->disk_ord_tbl[i], d, m, i, map->disk_ord_tbl[i]); } if (!dev->vol.migr_state) break; map = (struct isw_map *) ((char *) map + (map->num_members - 1) * sizeof(map->disk_ord_tbl) + sizeof(struct isw_map)); } } } #ifdef DMRAID_NATIVE_LOG /* * Log native information about an ISW RAID device. */ static void isw_log(struct lib_context *lc, struct raid_dev *rd) { struct isw *isw = META(rd, isw); log_print(lc, "%s (%s):", rd->di->path, handler); _isw_log(lc, isw); } #endif static void isw_erase_metadata(struct lib_context *lc, struct raid_set *rs) { struct raid_dev *rd; list_for_each_entry(rd, &rs->devs, devs) isw_write(lc, rd, 1); } /* * Write an Intel Software RAID device. */ static int isw_write_all(struct lib_context *lc, struct raid_set *rs, struct isw *isw) { struct raid_dev *rd, *r; struct meta_areas ma = { .size = isw_size(isw), .area = isw, }; if (!(rd = alloc_raid_dev(lc, handler))) return 0; rd->meta_areas = &ma; rd->type = t_raid0; //dummy code rd->areas = 1; list_for_each_entry(r, &rs->devs, devs) { rd->di = r->di; set_metadata_sizoff(rd, ma.size); rd->fmt = r->fmt; isw_write(lc, rd, 0); } dbg_free(rd); return 1; } /* Remove an isw device. */ static void isw_remove_dev(struct lib_context *lc, struct raid_set *rs, struct isw *isw, struct isw_dev *dev) { struct isw *isw_tmp; size_t size, dev_size; size = div_up(isw->mpb_size, ISW_DISK_BLOCK_SIZE); if (!(isw_tmp = alloc_private(lc, handler, (size + 1) * ISW_DISK_BLOCK_SIZE))) log_err(lc, "%s: failed to allocate memory", handler); size = sizeof(*isw) + sizeof(struct isw_disk) * (isw->num_disks - 1); memcpy(isw_tmp, isw, size); dev_size = sizeof(*dev) + sizeof(uint32_t) * (dev->vol.map[0].num_members - 1); if (dev->vol.migr_state == ISW_T_MIGR_STATE_MIGRATING) dev_size += sizeof(dev->vol.map[0]) + sizeof(uint32_t) * (dev->vol.map[0].num_members - 1); memcpy((char *) isw_tmp + size, dev, dev_size); /* If remaining device is a lower version, downgrade */ if(dev->vol.map[0].raid_level == ISW_T_RAID1) strncpy((char *) isw_tmp->sig + MPB_SIGNATURE_SIZE, MPB_VERSION_RAID1, MPB_VERSION_LENGTH); if((dev->vol.map[0].raid_level == ISW_T_RAID0) && (dev->vol.map[0].num_members < 3)) strncpy((char *) isw_tmp->sig + MPB_SIGNATURE_SIZE, MPB_VERSION_RAID0, MPB_VERSION_LENGTH); isw_tmp->mpb_size = size + dev_size; isw_tmp->num_raid_devs--; isw_tmp->check_sum = _checksum(isw_tmp); isw_write_all(lc, rs, isw_tmp); dbg_free(isw_tmp); } static int _isw_delete_all(struct lib_context *lc, struct raid_set *rs_group) { struct raid_set *rs; struct raid_dev *rd; char *name; struct isw *isw; struct isw_dev *dev1, *dev2; int num = 0; if (!(rs = list_entry(rs_group->sets.next, struct raid_set, list))) LOG_ERR(lc, 0, "%s: failed to find a RAID set in a group", handler); if (!(rd = list_entry(rs_group->devs.next, struct raid_dev, devs))) LOG_ERR(lc, 0, "%s: failed to find a raid device in RS %s", handler, rs_group->name); if (!(isw = (struct isw *) rd->meta_areas->area)) LOG_ERR(lc, 0, "%s: failed to locate metadata on drive %s", handler, rd->di->path); if (isw->num_raid_devs != 2) LOG_ERR(lc, 0, "%s: the number of raid volumes is not 2", handler); if (!(dev1 = raiddev(isw, 0)) || !(dev2 = raiddev(isw, 1))) LOG_ERR(lc, 0, "%s: failed to get two volume info", handler); list_for_each_entry(rs, &rs_group->sets, list) { if (!(name = get_rs_basename(rs->name))) LOG_ERR(lc, 0, "%s: could not find the volume to be " "deleted", handler); if (!strcmp((const char *) dev1->volume, (const char *) name)) num++; if (!strcmp((const char *) dev2->volume, (const char *) name)) num++; } if (num != 2) LOG_ERR(lc, 0, "%s: failed to find all of the RAID sets to be " "deleted", handler); isw_erase_metadata(lc, rs_group); return 1; } /* Delete metadata according to the RAID set. */ static int isw_delete(struct lib_context *lc, struct raid_set *rs_group) { struct raid_set *rs; struct raid_dev *rd; char *name; struct isw *isw; struct isw_dev *dev1, *dev2; int num = 0; if (rs_group->type != t_group) LOG_ERR(lc, 0, "%s: RAID set is not a t-group type", handler); list_for_each_entry(rs, &rs_group->sets, list) num++; if (num > 1) return _isw_delete_all(lc, rs_group); if (!(rs = list_entry(rs_group->sets.next, struct raid_set, list))) LOG_ERR(lc, 0, "%s: failed to find a RAID set in the group", handler); if (!(name = get_rs_basename(rs->name))) LOG_ERR(lc, 0, "%s: failed to find the volume to be deleted", handler); if (!(rd = list_entry(rs_group->devs.next, struct raid_dev, devs))) LOG_ERR(lc, 0, "%s: failed to find a raid device in RS %s", handler, rs_group->name); if (!(isw = (struct isw *) rd->meta_areas->area)) LOG_ERR(lc, 0, "%s: failed to locate metadata on device %s", handler, rd->di->path); /* case if metadata on spare disk is delete */ if (!isw->num_raid_devs && isw->num_disks == 1 && (isw->disk[0].status & SPARE_DISK)) { isw_erase_metadata(lc, rs_group); return 1; } if (!(dev1 = raiddev(isw, 0))) LOG_ERR(lc, 0, "%s: failed to find a RAID set in the group", handler); if (isw->num_raid_devs == 1) { if (!strcmp((const char *) dev1->volume, (const char *) name)) { isw_erase_metadata(lc, rs_group); return 1; } else LOG_ERR(lc, 0, "%s: failed to find the volume %s", handler, name); } if (!(dev2 = raiddev(isw, 1))) LOG_ERR(lc, 0, "%s: failed to find a RAID set in the group", handler); if (!strcmp((const char *) dev1->volume, (const char *) name)) isw_remove_dev(lc, rs_group, isw, dev2); else if (!strcmp((const char *) dev2->volume, (const char *) name)) isw_remove_dev(lc, rs_group, isw, dev1); else return 0; return 1; } static struct dmraid_format isw_format = { .name = HANDLER, .descr = "Intel Software RAID", .caps = "0,1,5,01", .format = FMT_RAID, .read = isw_read, .write = isw_write, .create = isw_create, .delete = isw_delete, .group = isw_group, .check = isw_check, .metadata_handler = isw_metadata_handler, .events = &isw_event_handlers, .scope = t_scope_global /* | t_scope_local */ , #ifdef DMRAID_NATIVE_LOG .log = isw_log, #endif }; /* static struct raid_set * change_set_name(struct lib_context *lc, struct list_head *list, char *o_name, char *n_name) { struct raid_set *r, *ret = NULL; list_for_each_entry(r, list, list) { if (!strcmp(r->name, o_name)) { ret = r; r->name = n_name; break; } } list_for_each_entry(r, list, list) { if ((ret = change_set_name(lc, &r->sets, o_name, n_name))) r->name = n_name; } return ret; } */ /* * Create part of metadata (struct isw_dev) in new_isw based on * certain parameters. * * Note that new_isw must have its data preceedning isw_dev field already set. * The function returns size of created isw_dev (including map(s)). */ static unsigned update_metadata_isw_dev(struct isw *new_isw, int failed_disk_idx, struct isw *old_isw, int isw_dev_idx, unsigned isw_dev_offs) { int i, map_size; struct isw_dev *new_dev, *old_dev = raiddev(old_isw, isw_dev_idx); /* Append old volume information record (the first one); * note that at the moment there is only one isw_map record * (as in the old isw_dev/isw_vol record/subrecord) and we * need two of them till data transfer is finished. */ memcpy((void *) (new_isw->disk + new_isw->num_disks) + isw_dev_offs, old_dev, sizeof(struct isw_dev)); /* Update new volume information. */ new_dev = raiddev(new_isw, isw_dev_idx); new_dev->vol.migr_state = ISW_T_MIGR_STATE_MIGRATING; new_dev->vol.migr_type = ISW_T_MIGR_TYPE_REBUILDING; /* Update information in the first map. */ new_dev->vol.map[0].map_state = ISW_T_STATE_NORMAL; new_dev->vol.map[0].failed_disk_num = failed_disk_idx; /* * FIXME: disk_ord_tbl should be updated too but at the moment * we may leave it as it is coded below without any harm. */ for (i = 0; i < new_isw->num_disks - 1; i++) new_dev->vol.map[0].disk_ord_tbl[i] = i; /* * FIXME: code commented out * new_isw->family_num = _checksum(new_isw) + time(NULL); */ /* now let's proceed with the second, temporary map FIXME: we just copy the first map and update it a bit */ map_size = sizeof(struct isw_map) + (new_dev->vol.map[0].num_members - 1) * sizeof(((struct isw_map *) NULL)->disk_ord_tbl); memcpy((void *) &new_dev->vol.map[0] + map_size, (void *) &new_dev->vol.map[0], map_size); /* * FIXME: the code below should be put into * a new function 'raid_is_rebuildable()'. */ ((struct isw_map *) ((void *) &new_dev->vol.map[0]) + map_size)->map_state = new_dev->vol.map[0].raid_level == ISW_T_RAID0 ? ISW_T_STATE_FAILED : ISW_T_STATE_DEGRADED; return (unsigned) ((unsigned long) (((void*) &new_dev->vol.map[0]) + 2 * map_size)) - ((unsigned long) new_dev); } /* Update metadata wit hdrive to rebuild. */ static int update_metadata(struct lib_context *lc, struct raid_set *rs) { int failed_disk_idx = -1; /* zero-based index of failed disk */ int i, idx, found = 0, failed_disks_num = 0, new_isw_size, ret = 0; unsigned isw_dev_offs; const char *rebuild_set_name = lc->options[LC_REBUILD_SET].arg.str; struct raid_dev *rd = list_entry(rs->devs.next, struct raid_dev, devs); struct raid_set *sub_rs = NULL; struct dev_info *di = NULL; struct isw *isw = META(rd, isw), *new_isw = NULL; struct isw_disk *disk = isw->disk, *new_disk = NULL; struct isw_dev *new_dev = NULL; /* * Find the index of the failed disk - * at most we can handle 1 failed disk. */ i = isw->num_disks; while (i--) { /* Check if the disk is listed. */ list_for_each_entry(di, LC_DI(lc), list) { if (!strncmp(dev_info_serial_to_isw(di->serial), (const char *) disk[i].serial, MAX_RAID_SERIAL_LEN)) goto goon; } /* Disk not found in system, i.e. it's the failed one. */ failed_disk_idx = i; failed_disks_num++; /* Mark disk as not usable. */ disk[i].scsiId = UNKNOWN_SCSI_ID; disk[i].status &= ~USABLE_DISK; disk[i].status |= FAILED_DISK; goon: ; } /* We must have one failed disk */ if (failed_disks_num != 1) LOG_ERR(lc, 0, "%s: only one failed disk supported", handler); /* Now let's find the disk for rebuild. */ if (failed_disk_idx == -1) /* * Could not find failed disk... maybe this place can * be used to search for and add a spare disk. */ return 0; /* Search for a raid_dev in s_init state. */ sub_rs = find_set(lc, NULL, rebuild_set_name, FIND_ALL); found = 0; list_for_each_entry(rd, &sub_rs->devs, devs) { if (rd->status == s_init) { di = rd->di; DM_ASSERT(di); log_print(lc, "%s: drive to rebuild: %s\n", handler, di->path); found = 1; break; } } /* FIXME: "TBD - remove later" */ if (!found && lc->options[LC_REBUILD_DISK].opt) { list_for_each_entry(di, LC_DI(lc), list) { if (!strncmp(di->path, lc->options[LC_REBUILD_DISK].arg.str, strlen(di->path))) { found = 1; break; } } } /* * Special case for degraded raid5 array, * activated with error target device . */ delete_error_target(lc, sub_rs); if (!found) /* Error: no disk to rebuild found - exit. */ LOG_ERR(lc, 0, "%s: no drive to rebuild", handler); /* Now let's start building the new metadata. */ /* MPB can have at most two block size. */ new_isw_size = 2 * ISW_DISK_BLOCK_SIZE; new_isw = alloc_private(lc, handler, new_isw_size); if (!new_isw) return 0; /* Copy a few first metadata bytes. */ memcpy(new_isw, isw, sizeof(struct isw) - sizeof(struct isw_disk)); /* some field will be updated later on; they are marked below: * check_sum * mpb_size family_num * generation_num error_log_size attributes * num_disks num_raid_devs error_log_pos cache_size orig_family_num FIXME: OROM changes some fields that are not marked above, so we should too */ /* Add the new disk. */ new_disk = alloc_private(lc, handler, sizeof(struct isw_disk)); if (!new_disk) goto bad_free_new_isw; new_disk->totalBlocks = di->sectors; new_disk->scsiId = get_scsiId(lc, di->path); /* FIXME: is this state ok, Radoslaw ? Was 0x53a */ new_disk->status = CONFIG_ON_DISK | DISK_SMART_EVENT_SUPPORTED | CLAIMED_DISK | DETECTED_DISK | USABLE_DISK | CONFIGURED_DISK; strncpy((char *) new_disk->serial, dev_info_serial_to_isw(di->serial), MAX_RAID_SERIAL_LEN); /* build new isw_disk array */ for (i = 0; i < isw->num_disks; i++) { /* * Replace failed disk with the new one or * Leave previous drives as they are. */ memcpy(new_isw->disk + i, i == failed_disk_idx ? new_disk : isw->disk + i, sizeof(struct isw_disk)); } /* * Append the failed disk at the end of the disks array in * the metadata; as designed in the intermediate rebuilding * step we have 3 disks and two maps per isw_dev: the new one * (at index 0) and the old one (at index 1). */ memcpy(new_isw->disk + i, isw->disk + failed_disk_idx, sizeof(struct isw_disk)); new_isw->disk[i].status = CONFIGURED_DISK; new_isw->num_disks++; /* Create isw_dev record for volume(s). */ isw_dev_offs = update_metadata_isw_dev(new_isw, failed_disk_idx, isw, 0, 0); if (isw->num_raid_devs > 1) isw_dev_offs += update_metadata_isw_dev(new_isw, failed_disk_idx, isw, 1, isw_dev_offs); /* now we may update new metadata's fields */ new_isw->mpb_size = (unsigned long) (new_isw->disk + new_isw->num_disks) - (unsigned long) (new_isw) + isw_dev_offs; new_isw->generation_num++; new_isw->check_sum = _checksum(new_isw); /* embed new metadata on physical devices */ idx = rd_idx_by_name(new_isw, rebuild_set_name + strlen(rs->name) + 1); if (idx < 0) return 0; new_dev = raiddev(new_isw, idx); sub_rs = find_set(lc, NULL, rebuild_set_name, FIND_ALL); list_for_each_entry(rd, &sub_rs->devs, devs) { if (rd->meta_areas && rd->meta_areas->area) { dbg_free(rd->meta_areas->area); } if (!rd->meta_areas || rd->status == s_init) { if (rd->meta_areas) dbg_free(rd->meta_areas); rd->meta_areas = alloc_meta_areas(lc, rd, handler, 1); if (!rd->meta_areas) goto bad_free_new_disk; rd->di = di; rd->fmt = &isw_format; rd->meta_areas->area = alloc_private(lc, handler, new_isw_size); memcpy(rd->meta_areas->area, new_isw, new_isw_size); rd->offset = new_dev->vol.map[0].pba_of_lba0; rd->sectors = new_dev->vol.map[0].blocks_per_member; } else { rd->meta_areas->area = alloc_private(lc, handler, new_isw_size); if (!rd->meta_areas->area) goto bad_free_new_disk; memcpy(rd->meta_areas->area, new_isw, new_isw_size); } if (!rd->areas) rd->areas++; set_metadata_sizoff(rd, isw_size(new_isw)); if (rd->status == s_init) { rd->status = s_ok; if (rd->name) dbg_free(rd->name); if (!(rd->name = name(lc, rd, new_dev, N_VOLUME))) goto bad_free_new_disk; } rd->status = s_ok; } list_for_each_entry(rd, &rs->devs, devs) { if (rd->meta_areas && rd->meta_areas->area) dbg_free(rd->meta_areas->area); if (!rd->meta_areas || rd->status == s_init) { if (rd->meta_areas && rd->meta_areas->area) dbg_free(rd->meta_areas->area); rd->meta_areas = alloc_meta_areas(lc, rd, handler, 1); if (!rd->meta_areas) goto bad_free_new_disk; rd->di = di; rd->fmt = &isw_format; rd->offset = new_dev->vol.map[0].pba_of_lba0; rd->sectors = new_dev->vol.map[0].blocks_per_member; } rd->meta_areas->area = alloc_private(lc, handler, new_isw_size); if (!rd->meta_areas->area) goto bad_free_new_disk; set_metadata_sizoff(rd, isw_size(new_isw)); memcpy(rd->meta_areas->area, new_isw, new_isw_size); if (rd->status == s_init) { if (rd->name) dbg_free(rd->name); if (!(rd->name = name(lc, rd, new_dev, N_VOLUME))) goto bad_free_new_disk; /* FIXME: code commented out new_name = name(lc, rd, new_dev, 0); */ } rd->status = s_ok; } /* FIXME: code commented out change_set_name(lc, LC_RS(lc), rs->name, new_name); */ ret = 1; bad_free_new_disk: dbg_free(new_disk); bad_free_new_isw: dbg_free(new_isw); return ret; } /* Register this format handler with the format core. */ int register_isw(struct lib_context *lc) { return register_format_handler(lc, &isw_format); } /* * Set the RAID device contents up derived from the Intel ones. * * This is the first one we get with here and we potentially need to * create many in isw_group() in case of multiple Intel SW RAID devices * on this RAID disk. */ static int setup_rd(struct lib_context *lc, struct raid_dev *rd, struct dev_info *di, void *meta, union read_info *info) { struct isw *isw = meta; struct isw_disk *disk; /* Superblock checksum */ if (isw->check_sum != _checksum(isw)) LOG_ERR(lc, 0, "%s: extended superblock for %s " "has wrong checksum", handler, di->path); if (!(rd->meta_areas = alloc_meta_areas(lc, rd, handler, 1))) return 0; rd->meta_areas->offset = info->u64 >> 9; rd->meta_areas->size = isw_size(isw); rd->meta_areas->area = isw; rd->di = di; rd->fmt = &isw_format; rd->offset = ISW_DATAOFFSET; if (!(rd->sectors = info->u64 >> 9)) return log_zero_sectors(lc, di->path, handler); rd->status = status(lc, rd); /* Mark disk as spare disk. */ disk = get_disk(lc, di, isw); if (disk->status & SPARE_DISK) rd->type = t_spare; else rd->type = t_group; disk->scsiId = get_scsiId(lc, di->path); return (rd->name = name(lc, rd, NULL, N_NUMBER)) ? 1 : 0; } dmraid/1.0.0.rc16/lib/format/ataraid/hpt45x.h0000644000175200007640000000246011254123773020671 0ustar mauelshamauelsha/* * Copyright (C) 2004,2005 Heinz Mauelshagen, Red Hat GmbH. * All rights reserved. * * See file LICENSE at the top of this source tree for license information. */ #ifndef _HPT45X_H_ #define _HPT45X_H_ #ifdef FORMAT_HANDLER #undef FORMAT_HANDLER #include /* Highpoint 45x config data sector offset off end of disk */ #define HPT45X_CONFIGOFFSET ((di->sectors - 11) << 9) #define HPT45X_DATAOFFSET 0 /* Data offset in sectors */ /* Ondisk metadata for Highpoint 45X ATARAID */ struct hpt45x { uint32_t magic; /* 0x0 - 0x03 */ #define HPT45X_MAGIC_OK 0x5a7816f3 #define HPT45X_MAGIC_BAD 0x5a7816fd uint32_t magic_0; /* 0x04 - 0x07 Set identifier */ uint32_t magic_1; /* 0x08 - 0x0A (Sub-)Array identifier */ uint32_t total_secs; /* 0x0B - 0x0F */ uint8_t type; /* 0x10 */ #define HPT45X_T_SPAN 0x04 #define HPT45X_T_RAID0 0x05 #define HPT45X_T_RAID1 0x06 uint8_t raid_disks; /* 0x11 */ uint8_t disk_number; /* 0x12 */ uint8_t raid0_shift; /* 0x13 */ uint32_t dummy[3]; /* 0x14 - 0x1F */ uint8_t raid1_type; /* 0x20 */ uint8_t raid1_raid_disks; /* 0x21 */ uint8_t raid1_disk_number; /* 0x22 */ uint8_t raid1_shift; /* 0x23 */ uint32_t dummy1[3]; /* 0x24 - 0x2F */ } __attribute__ ((packed)); #endif int register_hpt45x(struct lib_context *lc); #endif dmraid/1.0.0.rc16/lib/format/ataraid/hpt37x.c0000644000175200007640000002413211254123773020665 0ustar mauelshamauelsha/* * Highpoint 37X ATARAID series metadata format handler. * * Copyright (C) 2004-2008 Heinz Mauelshagen, Red Hat GmbH. * All rights reserved. * * See file LICENSE at the top of this source tree for license information. */ /* * hpt37x_read(), hpt37x_group() and group_rd() profited from * Carl-Daniel Hailfinger's raiddetect code. */ #define HANDLER "hpt37x" #include "internal.h" #define FORMAT_HANDLER #include "hpt37x.h" #if BYTE_ORDER != LITTLE_ENDIAN # define DM_BYTEORDER_SWAB # include #endif static const char *handler = HANDLER; /* Make up RAID set name from magic_[01] numbers */ /* FIXME: better name ? */ static size_t _name(struct hpt37x *hpt, char *str, size_t len, unsigned int subset) { const char *fmt; if (hpt->magic_0) fmt = (subset && (hpt->type == HPT37X_T_RAID01_RAID0 || hpt->type == HPT37X_T_RAID01_RAID1)) ? "hpt37x_%u-%u" : "hpt37x_%u"; else fmt = "hpt37x_SPARE"; /* FIXME: hpt->order not zero-based. */ return snprintf(str, len, fmt, hpt->magic_1 ? hpt->magic_1 : hpt->magic_0, hpt->order); } static char * name(struct lib_context *lc, struct raid_dev *rd, unsigned int subset) { size_t len; char *ret; struct hpt37x *hpt = META(rd, hpt37x); if ((ret = dbg_malloc((len = _name(hpt, NULL, 0, subset) + 1)))) { _name(hpt, ret, len, subset); mk_alpha(lc, ret + HANDLER_LEN, len - HANDLER_LEN - (strrchr(ret, '-') ? 3 : 1)); } else log_alloc_err(lc, handler); return ret; } /* * Retrieve status of device. * FIXME: is this sufficient to cover all state ? */ static enum status status(struct hpt37x *hpt) { return hpt->magic == HPT37X_MAGIC_BAD ? s_broken : s_ok; } /* Neutralize disk type. */ static enum type type(struct hpt37x *hpt) { /* Mapping of HPT 37X types to generic types. */ static struct types types[] = { { HPT37X_T_SINGLEDISK, t_linear }, { HPT37X_T_SPAN, t_linear }, { HPT37X_T_RAID0, t_raid0 }, { HPT37X_T_RAID1, t_raid1 }, { HPT37X_T_RAID01_RAID0, t_raid0 }, { HPT37X_T_RAID01_RAID1, t_raid1 }, /* FIXME: support RAID 3+5 */ { 0, t_undef }, }; return hpt->magic_0 ? rd_type(types, (unsigned int) hpt->type) : t_spare; } /* Decide about ordering sequence of RAID device. */ static int dev_sort(struct list_head *pos, struct list_head *new) { return META(RD(new), hpt37x)->disk_number < META(RD(pos), hpt37x)->disk_number; } /* Decide about ordering sequence of RAID subset. */ static int set_sort(struct list_head *pos, struct list_head *new) { return META(RD_RS(RS(new)), hpt37x)->order < META(RD_RS(RS(pos)), hpt37x)->order; } /* Magic check. */ static int check_magic(void *meta) { struct hpt37x *hpt = meta; return (hpt->magic == HPT37X_MAGIC_OK || hpt->magic == HPT37X_MAGIC_BAD) && hpt->disk_number < 8; } /* * Read a Highpoint 37X RAID device. */ /* Endianess conversion. */ #if BYTE_ORDER == LITTLE_ENDIAN # define to_cpu NULL #else static void to_cpu(void *meta) { struct hpt37x *hpt = meta; CVT32(hpt->magic); CVT32(hpt->magic_0); CVT32(hpt->magic_1); CVT32(hpt->order); CVT32(hpt->total_secs); CVT32(hpt->disk_mode); CVT32(hpt->boot_mode); /* Only convert error log entries in case we discover proper magic */ if (check_magic(meta)) { struct hpt37x_errorlog *l; for (l = hpt->errorlog; l < hpt->errorlog + min(hpt->error_log_entries, HPT37X_MAX_ERRORLOG); l++) { CVT32(l->timestamp); CVT32(l->lba); } } } #endif /* Use magic check to tell, if this is Highpoint 37x */ static int is_hpt37x(struct lib_context *lc, struct dev_info *di, void *meta) { return check_magic(meta); } static int setup_rd(struct lib_context *lc, struct raid_dev *rd, struct dev_info *di, void *meta, union read_info *info); static struct raid_dev * hpt37x_read(struct lib_context *lc, struct dev_info *di) { return read_raid_dev(lc, di, NULL, sizeof(struct hpt37x), HPT37X_CONFIGOFFSET, to_cpu, is_hpt37x, NULL, setup_rd, handler); } /* * Write a Highpoint 37X RAID device. */ static int hpt37x_write(struct lib_context *lc, struct raid_dev *rd, int erase) { int ret; #if BYTE_ORDER != LITTLE_ENDIAN struct hpt37x *hpt = META(rd, hpt37x); to_disk(hpt); #endif ret = write_metadata(lc, handler, rd, -1, erase); #if BYTE_ORDER != LITTLE_ENDIAN to_cpu(hpt); #endif return ret; } /* * Group the RAID disk into a set. * * Check device hierarchy and create sub sets appropriately. * */ static unsigned int stride(struct hpt37x *hpt) { return hpt->raid0_shift ? 1 << hpt->raid0_shift : 0; } static int mismatch(struct lib_context *lc, struct raid_dev *rd, char magic) { LOG_ERR(lc, 0, "%s: magic_%c mismatch on %s", handler, magic, rd->di->path); } static void super_created(struct raid_set *ss, void *private) { struct hpt37x *hpt = META(private, hpt37x); ss->type = hpt->type == HPT37X_T_RAID01_RAID0 ? t_raid1 : t_raid0; ss->stride = stride(hpt); } /* FIXME: handle spares in mirrors and check that types are correct. */ static int group_rd(struct lib_context *lc, struct raid_set *rs, struct raid_set **ss, struct raid_dev *rd) { struct hpt37x *h, *hpt = META(rd, hpt37x); if (!init_raid_set(lc, rs, rd, stride(hpt), hpt->type, handler)) return 0; list_add_sorted(lc, &rs->devs, &rd->devs, dev_sort); h = DEVS(rs) ? META(RD_RS(rs), hpt37x) : NULL; switch (hpt->type) { case HPT37X_T_SINGLEDISK: case HPT37X_T_SPAN: case HPT37X_T_RAID0: case HPT37X_T_RAID1: if (h && h->magic_0 != hpt->magic_0) return mismatch(lc, rd, '0'); if (!find_set(lc, NULL, rs->name, FIND_TOP)) list_add_tail(&rs->list, LC_RS(lc)); break; case HPT37X_T_RAID01_RAID0: case HPT37X_T_RAID01_RAID1: if (h && h->magic_1 != hpt->magic_1) return mismatch(lc, rd, '1'); if (!(*ss = join_superset(lc, name, super_created, set_sort, rs, rd))) return 0; } return 1; } /* * Add a Highpoint RAID device to a set. */ static struct raid_set * hpt37x_group(struct lib_context *lc, struct raid_dev *rd) { struct raid_set *rs, *ss = NULL; if (T_SPARE(rd)) return NULL; if ((rs = find_or_alloc_raid_set(lc, rd->name, FIND_ALL, rd, NO_LIST, NO_CREATE, NO_CREATE_ARG))) return group_rd(lc, rs, &ss, rd) ? (ss ? ss : rs) : NULL; return NULL; } /* * Check a Highpoint 37X RAID set. * * FIXME: more sanity checks. */ static unsigned int devices(struct raid_dev *rd, void *context) { return META(rd, hpt37x)->raid_disks; } static int check_rd(struct lib_context *lc, struct raid_set *rs, struct raid_dev *rd, void *context) { /* * FIXME: raid_disks member wrong ? * (eg, Peter Jonas RAID1 metadata, 2 disks and raid_disks = 1) */ return T_RAID1(rd); } static int hpt37x_check(struct lib_context *lc, struct raid_set *rs) { return check_raid_set(lc, rs, devices, NULL, check_rd, NULL, handler); } /* * IO error event handler. */ static int event_io(struct lib_context *lc, struct event_io *e_io) { struct raid_dev *rd = e_io->rd; struct hpt37x *hpt = META(rd, hpt37x); /* Avoid write trashing. */ if (status(hpt) & s_broken) return 0; hpt->magic = HPT37X_MAGIC_BAD; return 1; } static struct event_handlers hpt37x_event_handlers = { .io = event_io, .rd = NULL, /* FIXME: no device add/remove event handler yet. */ }; #ifdef DMRAID_NATIVE_LOG /* * Log native information about an HPT37X RAID device. */ static void hpt37x_log(struct lib_context *lc, struct raid_dev *rd) { struct hpt37x *hpt = META(rd, hpt37x); struct hpt37x_errorlog *el; log_print(lc, "%s (%s):", rd->di->path, handler); DP("magic: 0x%x", hpt, hpt->magic); DP("magic_0: 0x%x", hpt, hpt->magic_0); DP("magic_1: 0x%x", hpt, hpt->magic_1); DP("order: %u", hpt, hpt->order); DP("raid_disks: %u", hpt, hpt->raid_disks); DP("raid0_shift: %u", hpt, hpt->raid0_shift); DP("type: %u", hpt, hpt->type); DP("disk_number: %u", hpt, hpt->disk_number); DP("total_secs: %u", hpt, hpt->total_secs); DP("disk_mode: 0x%x", hpt, hpt->disk_mode); DP("boot_mode: 0x%x", hpt, hpt->boot_mode); DP("boot_disk: %u", hpt, hpt->boot_disk); DP("boot_protect: %u", hpt, hpt->boot_protect); DP("error_log_entries: %u", hpt, hpt->error_log_entries); DP("error_log_index: %u", hpt, hpt->error_log_index); if (hpt->error_log_entries) log_print(lc, "error_log:"); for (el = hpt->errorlog; el < hpt->errorlog + 32; el++) { if (!el->timestamp) break; DP("timestamp: %u", hpt, el->timestamp); DP("reason: %u", hpt, el->reason); DP("disk: %u", hpt, el->disk); DP("status: %u", hpt, el->status); DP("sectors: %u", hpt, el->sectors); DP("lba: %u", hpt, el->lba); }; } #endif static struct dmraid_format hpt37x_format = { .name = HANDLER, .descr = "Highpoint HPT37X", .caps = "S,0,1,10,01", .format = FMT_RAID, .read = hpt37x_read, .write = hpt37x_write, .group = hpt37x_group, .check = hpt37x_check, .events = &hpt37x_event_handlers, #ifdef DMRAID_NATIVE_LOG .log = hpt37x_log, #endif }; /* Register this format handler with the format core. */ int register_hpt37x(struct lib_context *lc) { return register_format_handler(lc, &hpt37x_format); } /* Calculate RAID device size in sectors depending on RAID type. */ static uint64_t sectors(struct raid_dev *rd, struct hpt37x *hpt) { uint64_t ret = 0; struct dev_info *di = rd->di; switch (rd->type) { case t_raid0: ret = hpt->total_secs / (hpt->raid_disks ? hpt->raid_disks : 1); break; case t_raid1: ret = hpt->total_secs; break; default: ret = di->sectors; } /* Subtract offset sectors on drives > 0. */ return ret - rd->offset; } /* Derive the RAID device contents from the Highpoint ones. */ static int setup_rd(struct lib_context *lc, struct raid_dev *rd, struct dev_info *di, void *meta, union read_info *info) { struct hpt37x *hpt = meta; if (!(rd->meta_areas = alloc_meta_areas(lc, rd, handler, 1))) return 0; rd->meta_areas->offset = HPT37X_CONFIGOFFSET >> 9; rd->meta_areas->size = sizeof(*hpt); rd->meta_areas->area = (void *) hpt; rd->di = di; rd->fmt = &hpt37x_format; rd->status = status(hpt); rd->type = type(hpt); /* Data offset from start of device; first device is special */ rd->offset = hpt->disk_number ? HPT37X_DATAOFFSET : 0; if (!(rd->sectors = sectors(rd, hpt))) return log_zero_sectors(lc, di->path, handler); return (rd->name = name(lc, rd, 1)) ? 1 : 0; } dmraid/1.0.0.rc16/lib/format/ataraid/via.c0000644000175200007640000002353311254123773020313 0ustar mauelshamauelsha/* * VIA metadata format handler. * * Copyright (C) 2004,2005 Heinz Mauelshagen, Red Hat GmbH. * All rights reserved. * * See file DISCLAIMER at the top of this source tree for license information. */ #define HANDLER "via" #include "internal.h" #define FORMAT_HANDLER #include "via.h" #if BYTE_ORDER != LITTLE_ENDIAN # define DM_BYTEORDER_SWAB # include #endif static const char *handler = HANDLER; static int _subset(struct via *via) { return VIA_T_RAID01_MIRROR(via); } /* Make up VIA RAID device name suffix from the serial_checksum array. */ static uint32_t sum_serial(struct via *via) { unsigned int i = VIA_MAX_DISKS; uint32_t ret = via->array.disk_array_ex; /* FIXME: correct ? */ while (i--) ret += via->serial_checksum[i]; return ret; } static char * _name_suffix(struct via *via) { size_t len; uint32_t sum = sum_serial(via); char *ret; if ((ret = dbg_malloc((len = snprintf(NULL, 0, "%u", sum) + 1)))) snprintf(ret, len, "%u", sum); return ret; } /* Make up RAID device name. */ static size_t _name(struct lib_context *lc, struct via *via, char *str, size_t len, char *suffix, unsigned int subset) { return snprintf(str, len, subset ? "via_%s-%u" : "via_%s", suffix, _subset(via)); } static char * name(struct lib_context *lc, struct raid_dev *rd, unsigned int subset) { size_t len; char *ret, *suffix; struct via *via = META(rd, via); if (!(suffix = _name_suffix(via))) return NULL; subset = subset && (VIA_RAID_TYPE(via) == VIA_T_RAID01); if ((ret = dbg_malloc((len = _name(lc, via, NULL, 0, suffix, subset) + 1)))) { _name(lc, via, ret, len, suffix, subset); mk_alpha(lc, ret + HANDLER_LEN, len - HANDLER_LEN - (subset ? 3 : 1)); } else log_alloc_err(lc, handler); dbg_free(suffix); return ret; } /* * Retrieve status of device. * FIXME: is this sufficient to cover all state ? */ static enum status status(struct via *via) { if (via->array.disk.tolerance) return s_broken; return via->array.disk.in_disk_array ? s_ok : s_undef; } /* Neutralize disk type using generic metadata type mapping function */ static enum type type(struct via *via) { /* Mapping of via types to generic types */ static struct types types[] = { {VIA_T_SPAN, t_linear}, {VIA_T_RAID0, t_raid0}, {VIA_T_RAID1, t_raid1}, {VIA_T_RAID01, t_raid0}, {0, t_undef} }; return rd_type(types, (unsigned int) VIA_RAID_TYPE(via)); } /* * Read a VIA RAID device */ /* Endianess conversion */ #if BYTE_ORDER == LITTLE_ENDIAN # define to_cpu NULL #else static void to_cpu(void *meta) { struct via *via = meta; unsigned int i = VIA_MAX_DISKS; CVT16(via->signature); CVT16(via->array.disk.bootable); CVT32(via->array.capacity_low); CVT32(via->array.capacity_high); CVT32(via->array.serial_checksum); while (i--) CVT32(via->serial_checksum[i]); } #endif /* 8 bit checksum on first 50 bytes of metadata. */ static uint8_t checksum(struct via *via) { uint8_t i = 50, sum = 0; while (i--) sum += ((uint8_t *) via)[i]; return sum == via->checksum; } static int is_via(struct lib_context *lc, struct dev_info *di, void *meta) { struct via *via = meta; if (via->signature != VIA_SIGNATURE) return 0; if (!checksum(via)) LOG_ERR(lc, 0, "%s: invalid checksum on %s", handler, di->path); if (via->version_number > 1) log_info(lc, "%s: version %u; format handler specified for " "version 0+1 only", handler, via->version_number); return 1; } static int setup_rd(struct lib_context *lc, struct raid_dev *rd, struct dev_info *di, void *meta, union read_info *info); static struct raid_dev * via_read(struct lib_context *lc, struct dev_info *di) { return read_raid_dev(lc, di, NULL, sizeof(struct via), VIA_CONFIGOFFSET, to_cpu, is_via, NULL, setup_rd, handler); } /* Decide about ordering sequence of RAID device. */ static int dev_sort(struct list_head *pos, struct list_head *new) { struct via *p = META(RD(pos), via); struct via *n = META(RD(new), via); switch (VIA_RAID_TYPE(p)) { case VIA_T_RAID1: return VIA_T_RAID1_SOURCE(n); default: /* span, RAID0 + RAID01 */ return VIA_T_RAID_INDEX(n) < VIA_T_RAID_INDEX(p); } } /* Decide about ordering sequence of RAID subset. */ static int set_sort(struct list_head *pos, struct list_head *new) { return _subset(META(RD_RS(RS(new)), via)) < _subset(META(RD_RS(RS(pos)), via)); } static void super_created(struct raid_set *ss, void *private) { ss->type = t_raid1; ss->stride = VIA_STRIDE(META(private, via)); } /* FIXME: handle spares in mirrors and check that types are correct. */ static int group_rd(struct lib_context *lc, struct raid_set *rs, struct raid_set **ss, struct raid_dev *rd) { struct via *via = META(rd, via); if (!init_raid_set(lc, rs, rd, VIA_STRIDE(via), VIA_RAID_TYPE(via), handler)) return 0; list_add_sorted(lc, &rs->devs, &rd->devs, dev_sort); switch (VIA_RAID_TYPE(via)) { case VIA_T_SPAN: case VIA_T_RAID0: case VIA_T_RAID1: if (!find_set(lc, NULL, rs->name, FIND_TOP)) list_add_tail(&rs->list, LC_RS(lc)); break; case VIA_T_RAID01: /* Sort RAID disk into appropriate subset. */ if (!(*ss = join_superset(lc, name, super_created, set_sort, rs, rd))) return 0; } return 1; } /* Add a VIA RAID device to a set */ static struct raid_set * via_group(struct lib_context *lc, struct raid_dev *rd) { struct raid_set *rs, *ss = NULL; if (T_SPARE(rd)) return NULL; if ((rs = find_or_alloc_raid_set(lc, rd->name, FIND_ALL, rd, NO_LIST, NO_CREATE, NO_CREATE_ARG))) return group_rd(lc, rs, &ss, rd) ? (ss ? ss : rs) : NULL; return NULL; } static int via_write(struct lib_context *lc, struct raid_dev *rd, int erase) { int ret; #if BYTE_ORDER != LITTLE_ENDIAN struct via *via = META(rd, via); to_disk(via); #endif ret = write_metadata(lc, handler, rd, -1, erase); #if BYTE_ORDER != LITTLE_ENDIAN to_cpu(via); #endif return ret; } /* * Check a VIA RAID set. * * FIXME: more sanity checks. */ /* Figure total number of disks depending on RAID type. */ static unsigned int devices(struct raid_dev *rd, void *context) { struct via *via = META(rd, via); return VIA_RAID_TYPE(via) == VIA_T_RAID1 ? 2 : VIA_RAID_DISKS(via); } static int check_rd(struct lib_context *lc, struct raid_set *rs, struct raid_dev *rd, void *context) { struct via *via = META(rd, via); log_dbg(lc, "checking %s device \"%s\"", handler, rd->di->path); if (VIA_ARRAY_INDEX(via) != VIA_ARRAY_INDEX(via)) LOG_ERR(lc, 0, "%s: array index wrong on %s for set \"%s\"", handler, rd->di->path, rs->name); if (VIA_RAID_TYPE(via) != VIA_RAID_TYPE(via)) LOG_ERR(lc, 0, "%s: RAID type wrong on %s for set \"%s\"", handler, rd->di->path, rs->name); return 1; } static int via_check(struct lib_context *lc, struct raid_set *rs) { return check_raid_set(lc, rs, devices, NULL, check_rd, NULL, handler); } /* * IO error event handler. */ static int event_io(struct lib_context *lc, struct event_io *e_io) { struct raid_dev *rd = e_io->rd; struct via *via = META(rd, via); /* Avoid write trashing. */ if (status(via) & s_broken) return 0; via->array.disk.tolerance = 1; return 1; } static struct event_handlers via_event_handlers = { .io = event_io, .rd = NULL, /* FIXME: no device add/remove event handler yet. */ }; #ifdef DMRAID_NATIVE_LOG /* * Log native information about the RAID device. */ static void via_log(struct lib_context *lc, struct raid_dev *rd) { unsigned int i; struct via *via = META(rd, via); log_print(lc, "%s (%s):", rd->di->path, handler); DP("signature: 0x%x", via, via->signature); DP("version_number: %u", via, via->version_number); P("array.disk.bootable: %u", via, via->array.disk, via->array.disk.bootable); P("array.disk.enable_enhanced: %u", via, via->array.disk, via->array.disk.enable_enhanced); P("array.disk.in_disk_array: %u", via, via->array.disk, via->array.disk.in_disk_array); P("array.disk.raid_type: %u", via, via->array.disk, VIA_RAID_TYPE(via)); P("array.disk.array_index: %u", via, via->array.disk, VIA_ARRAY_INDEX(via)); P("array.disk.raid_type_info: %u", via, via->array.disk, via->array.disk.raid_type_info); P("array.disk.raid_type_info(INDEX): %u", via, via->array.disk, VIA_T_RAID_INDEX(via)); P("array.disk.raid_type_info(MIRROR): %u", via, via->array.disk, VIA_T_RAID01_MIRROR(via)); P("array.disk.raid_type_info(DIRTY): %u", via, via->array.disk, VIA_T_RAID01_DIRTY(via)); P("array.disk.tolerance: %u", via, via->array.disk, via->array.disk.tolerance); DP("array.disk_array_ex: 0x%x", via, via->array.disk_array_ex); DP("array.capacity_low: %u", via, via->array.capacity_low); DP("array.capacity_high: %u", via, via->array.capacity_high); DP("array.serial_checksum: %u", via, via->array.serial_checksum); for (i = 0; i < VIA_MAX_DISKS; i++) P2("serial_checksum[%u]: %u", via, i, via->serial_checksum[i]); DP("checksum: %u", via, via->checksum); } #endif static struct dmraid_format via_format = { .name = HANDLER, .descr = "VIA Software RAID", .caps = "S,0,1,10", .format = FMT_RAID, .read = via_read, .write = via_write, .group = via_group, .check = via_check, .events = &via_event_handlers, #ifdef DMRAID_NATIVE_LOG .log = via_log, #endif }; /* Register this format handler with the format core. */ int register_via(struct lib_context *lc) { return register_format_handler(lc, &via_format); } static int setup_rd(struct lib_context *lc, struct raid_dev *rd, struct dev_info *di, void *meta, union read_info *info) { struct via *via = meta; if (!(rd->meta_areas = alloc_meta_areas(lc, rd, handler, 1))) return 0; rd->meta_areas->offset = VIA_CONFIGOFFSET >> 9; rd->meta_areas->size = sizeof(*via); rd->meta_areas->area = (void *) via; rd->di = di; rd->fmt = &via_format; rd->status = status(via); rd->type = type(via); rd->offset = VIA_DATAOFFSET; if (!(rd->sectors = rd->meta_areas->offset)) return log_zero_sectors(lc, di->path, handler); return (rd->name = name(lc, rd, 1)) ? 1 : 0; } dmraid/1.0.0.rc16/lib/format/ataraid/README0000644000175200007640000000120711254123773020242 0ustar mauelshamauelsha This directory contains metadata format handlers for various ATARAID cards. Some useful metadata offsets/lengths (in 512 byte sector sizes): ---------------------------------------------------------------- Highpoint 45x *doesn't* zero the one on-disk metadata at -11, length 1 on drive removal. Intel Software RAID has metadata at -2 (conditionally -n), length in metadata structure member mpbSize. LSI Logic MegaRAID has metadata at -1, length 1. NVidea NForce has metadata at -2, length 1. Silicon Image Medley zeroes all 4 on-disk metadata areas (at -1, -512, -1024, -1536; length 4) on drive removal. VIA has metadata at -1, length 1. dmraid/1.0.0.rc16/lib/format/ataraid/lsi.h0000644000175200007640000000353511254123773020330 0ustar mauelshamauelsha/* * Copyright (C) 2004,2005 Heinz Mauelshagen, Red Hat GmbH. * All rights reserved. * * See file LICENSE at the top of this source tree for license information. */ #ifndef _LSI_H_ #define _LSI_H_ #ifdef FORMAT_HANDLER #undef FORMAT_HANDLER /* * FIXME: this needs more reengineering still. */ #include #define LSI_CONFIGOFFSET ((di->sectors - 1) << 9) #define LSI_DATAOFFSET 0 struct lsi_disk { uint16_t raid10_stripe:4; uint16_t raid10_mirror:4; uint16_t unknown:8; uint16_t magic_0; uint16_t magic_1; uint8_t disk_number; uint8_t set_number; uint8_t offline; uint8_t unknown1[7]; } __attribute__ ((packed)); struct lsi { #define LSI_MAGIC_NAME "$XIDE$" #define LSI_MAGIC_NAME_LEN (sizeof(LSI_MAGIC_NAME) - 1) uint8_t magic_name[LSI_MAGIC_NAME_LEN]; /* 0x0 - 0x05 */ uint8_t dummy; /* 0x06 */ uint8_t seqno; /* 0x07 */ uint32_t dummy2; /* 0x08 - 0x0B */ uint32_t dummy3; /* 0x0C - 0x0F */ uint8_t type; /* 0x10 */ #define LSI_T_RAID0 1 #define LSI_T_RAID1 2 #define LSI_T_RAID10 3 uint8_t dummy4; /* 0x11 */ uint16_t stride; /* 0x12 - 0x13 */ uint8_t filler[0x20 - 0x14]; /* 0x14 - 0x1F */ #define LSI_MAX_DISKS 4 struct lsi_disk disks[LSI_MAX_DISKS]; /* 0x20 - 0x5F */ #define LSI_DISK(lsi) (lsi->set_number * 2 + lsi->disk_number) #define LSI_MAGIC_0(lsi) (lsi->disks[LSI_DISK(lsi)].magic_0) #define LSI_MAGIC_1(lsi) (lsi->disks[LSI_DISK(lsi)].magic_1) #define LSI_DISK_NUMBER(lsi) (lsi->disks[LSI_DISK(lsi)].disk_number) #define LSI_SET_NUMBER(lsi) (lsi->disks[LSI_DISK(lsi)].set_number) #undef LSI_DISK uint8_t filler1[0x1F0 - 0x60]; /* 0x70 - 0x1EF */ uint8_t disk_number; /* 0x1F0 */ uint8_t set_number; /* 0x1F1 */ uint32_t set_id; /* 0x1F2 - 0x1F5 */ uint8_t filler2[0x200 - 0x1F6]; /* 0x1F6 - 0x200 */ } __attribute__ ((packed)); #endif int register_lsi(struct lib_context *lc); #endif dmraid/1.0.0.rc16/lib/format/ataraid/asr.h0000644000175200007640000003214611254123773020326 0ustar mauelshamauelsha/* * Copyright (c) 2005-2006 IBM (actual code changes by Darrick Wong) * * Copyright (c) 2001, 2002, 2004 Adaptec Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions, and the following disclaimer, * without modification. * 2. Redistributions in binary form must reproduce at minimum a disclaimer * substantially similar to the "NO WARRANTY" disclaimer below * ("Disclaimer") and any redistribution must be conditioned upon * including a substantially similar Disclaimer requirement for further * binary redistribution. * 3. Neither the names of the above-listed copyright holders nor the names * of any contributors may be used to endorse or promote products derived * from this software without specific prior written permission. * * Alternatively, this software may be distributed under the terms of the * GNU General Public License ("GPL") version 2 as published by the Free * Software Foundation. * * NO WARRANTY * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGES. */ #ifndef _ASR_H #define _ASR_H /* Beginning of stuff that Darrick Wong added */ #ifdef FORMAT_HANDLER #undef FORMAT_HANDLER /* ASR metadata offset in bytes */ #define ASR_CONFIGOFFSET ((di->sectors - 1) << 9) /* Data offset in sectors */ #define ASR_DATAOFFSET 0 /* Assume block size is 512. So much for CD dmraid... */ #define ASR_DISK_BLOCK_SIZE 512 /* End of stuff that Darrick Wong added */ /* Begining of stuff copied verbatim from Adaptec's emd driver. */ /* * This is a metadata versioning mechanism, but rather a versioning * mechansim for Adaptec-sponsored changes to md. (i.e. more of a driver * version) */ #define MD_ADAPTEC_MAJOR_VERSION 0 #define MD_ADAPTEC_MINOR_VERSION 0 #define MD_ADAPTEC_PATCHLEVEL_VERSION 13 #define FW_RESERVED_BLOCKS 0x800 #define MAX_SLEEPRATE_ENTRIES 10 /* define lsu levels */ #define LSU_LEVEL_PHYSICAL 1 /* Firmware Physical */ #define LSU_LEVEL_LOGICAL 2 /* Firmware Logical */ /* define RAID drive substates */ #define FWP 0 /* Firmware Physical */ #define FWL 1 /* Firmware Logical */ #define OSI 2 /* Operating System Intermediate */ #define FWL_2 3 /* Dual Level */ #define ASR_RAID0 0 #define ASR_RAID1 1 #define ASR_RAID4 4 #define ASR_RAID5 5 #define ASR_RAIDRED 0xFF #define ASR_RAIDSPR 0xFE /*** RAID CONFIGURATION TABLE STRUCTURE ***/ #define RVALID2 0x900765C4 /* Version 2+ RAID table ID code signature */ #define RCTBL_MAX_ENTRIES 127 #define HBA_RCTBL_MAX_ENTRIES 255 #define RTBLBLOCKS 16 /* Size of drive's raid table in blocks */ /* flag bits */ #define RCTBLCHNG 0x80 /* Set on comp OR log (NOT AND) if tbl updates needed */ #define COPYDIR 0x40 #define MIRCOPY 0x20 #define INITIAL_BUILD_COMPLETED 0x10 #define SMART_DISABLED 0x08 #define WRITEBACK 0x04 #define PREDICTIVE_ENABLE 0x02 #define RAID_ENTRY_FLAGS_ALARM_OFF_M 0x01 struct asr_raid_configline { uint16_t raidcnt; /* Component count of an OSL/FWL array */ uint16_t raidseq; /* Sequence # of component to look for */ uint32_t raidmagic; /* Magic # of component to look for */ uint8_t raidlevel; /* Array level = OSL/FWL/OSI/FWP */ uint8_t raidtype; /* Array type = RAID0/1/3/5, RAIDRED, RAIDSPR */ uint8_t raidstate; /* State of logical or physical drive */ uint8_t flags; /* misc flags set bit positions above */ uint8_t refcnt; /* Number of references to this log entry */ uint8_t raidhba; /* -- not used -- Host bus adapter number or RAIDID */ uint8_t raidchnl; /* Channel number */ uint8_t raidlun; /* SCSI LUN of log/phys drv */ uint32_t raidid; /* SCSI ID of log/phys drv */ uint32_t loffset; /* Offset of data for this comp in the array */ uint32_t lcapcty; /* Capacity of log drv or space used on phys */ uint16_t strpsize; /* Stripe size in blocks of this drive */ uint16_t biosInfo; /* bios info - set by I2O_EXEC_BIOS_INFO_SET */ uint32_t lsu; /* Pointer to phys/log lun of this entry */ uint8_t addedDrives; uint8_t appSleepRate; uint16_t blockStorageTid; uint32_t curAppBlock; uint32_t appBurstCount; #define ASR_NAMELEN 16 uint8_t name[ASR_NAMELEN]; /* Full name of the array. */ } __attribute__ ((packed)); struct asr_raidtable { /* raid Flag defines 32 bits 0 - FFFFFFFF */ #define RAID_FLAGS_ALARM_OFF_M 0x00000001 uint32_t ridcode; /* RAID table signature - 0x900765C4 */ uint32_t rversion; /* Version of the RAID config table */ uint16_t maxelm; /* Maximum number of elements */ uint16_t elmcnt; /* Element Count (number used) */ #define ASR_TBLELMCNT 7 uint16_t elmsize; /* Size of an individual raidCLine */ uint16_t rchksum; /* RAID table check sum (no rconfTblV2) */ uint32_t res1; /* Reserved */ uint16_t res2; /* was bldRate - Time in 1/10s between idle build bursts */ uint16_t res3; /* was bldAmount - Block to build during a build burst */ uint32_t raidFlags; uint32_t timestamp; /* used for iROC. A stamp to find which is latest */ uint8_t irocFlags; #define ASR_IF_VERIFY_WITH_AUTOFIX 0x01 #define ASR_IF_BOOTABLE 0x80 uint8_t dirty; /* Records "open state" for array */ #define ARRAY_STATE_OK 0x00 #define ARRAY_STATE_DIRTY 0x03 uint8_t actionPriority; uint8_t spareid; /* Stored in member disk meta data to declare the ID of dedicated spare to show up. */ uint32_t sparedrivemagic; /* drivemagic (in RB) of the spare at above ID. */ uint32_t raidmagic; /* used to identify spare drive with its mirror set. */ uint32_t verifyDate; /* used by iomgr */ uint32_t recreateDate; /* used by iomgr */ uint8_t res4[12]; /* Reserved */ struct asr_raid_configline ent[RCTBL_MAX_ENTRIES]; } __attribute__ ((packed)); #define RBLOCK_VER 8 /* Version of the reserved block */ #define B0RESRVD 0x37FC4D1E /* Signature of the reserved block */ #define SVALID 0x4450544D /* ASCII code for "DPTM" DPT Mirror */ struct asr_reservedblock { uint32_t b0idcode; /* 0x00 - ID code signifying block 0 reserved */ uint8_t lunsave[8]; /* 0x04 - NOT USED - LUN mappings for all drives */ uint16_t sdtype; /* 0x0C - NOT USED - drive type in boot prom */ uint16_t ssavecyl; /* 0x0E - NOT USED - Set Parameters cylinders */ uint8_t ssavehed; /* 0x10 - NOT USED - Set Parameters heads */ uint8_t ssavesec; /* 0x11 - NOT USED - Set Parameters sectors */ uint8_t sb0flags; /* 0x12 - flags saved in reserved block */ uint8_t jbodEnable; /* 0x13 - jbod enable -- DEC drive hiding */ uint8_t lundsave; /* 0x14 - NOT USED - LUNMAP disable flags */ uint8_t svpdirty; /* 0x15 - NOT USED - saved percentage dirty */ uint16_t biosInfo; /* 0x16 - bios info - set by I2O_EXEC_BIOS_INFO_SET */ uint16_t svwbskip; /* 0x18 - NOT USED - saved write-back skip value */ uint16_t svwbcln; /* 0x1A - NOT USED - saved maximum clean blocks in write-back */ uint16_t svwbmax; /* 0x1C - NOT USED - saved maximum write-back length */ uint16_t res3; /* 0x1E - unused (was write-back burst block count) */ uint16_t svwbmin; /* 0x20 - NOT USED - saved minimum block count to write */ uint16_t res4; /* 0x22 - unused (was minimum look-ahead length) */ uint16_t svrcacth; /* 0x24 - NOT USED - saved read cache threshold */ uint16_t svwcacth; /* 0x26 - NOT USED - saved write cache threshold */ uint16_t svwbdly; /* 0x28 - NOT USED - saved write-back delay */ uint8_t svsdtime; /* 0x2A - NOT USED - saved spin down time */ uint8_t res5; /* 0x2B - unused */ uint16_t firmval; /* 0x2C - NOT USED - firmware on drive (dw) */ uint16_t firmbln; /* 0x2E - NOT USED - length in blocks for firmware */ uint32_t firmblk; /* 0x30 - NOT USED - starting block for firmware */ uint32_t fstrsvrb; /* 0x34 - 1st block reserved by Storage Manager */ uint16_t svBlockStorageTid; /* 0x38 - */ uint16_t svtid; /* 0x3A - */ uint8_t svseccfl; /* 0x3C - NOT USED - reserved block scsi bus ecc flags */ uint8_t res6; /* 0x3D - unused */ uint8_t svhbanum; /* 0x3E - NOT USED - HBA's unique RAID number */ uint8_t resver; /* 0x3F - reserved block version number */ uint32_t drivemagic; /* 0x40 - Magic number of this drive - used w/ RCTBLs */ uint8_t reserved[20]; /* 0x44 - unused */ uint8_t testnum; /* 0x58 - NOT USED - diagnostic test number */ uint8_t testflags; /* 0x59 - NOT USED - diagnostic test flags */ uint16_t maxErrorCount; /* 0x5A - NOT USED - diagnostic test maximum error count */ uint32_t count; /* 0x5C - NOT USED - diagnostic test cycles - # of iterations */ uint32_t startTime; /* 0x60 - NOT USED - diagnostic test absolute test start time in seconds */ uint32_t interval; /* 0x64 - NOT USED - diagnostic test interval in seconds */ uint8_t tstxt0; /* 0x68 - not used - originally diagnostic test exclusion period start hour */ uint8_t tstxt1; /* 0x69 - not used - originally diagnostic test exclusion period end hour */ uint8_t serNum[32]; /* 0x6A - reserved */ uint8_t res8[102]; /* 0x8A - reserved */ uint32_t fwTestMagic; /* 0xF0 - test magic number - used by FW Test for automated tests */ uint32_t fwTestSeqNum; /* 0xF4 - test sequence number - used by FW Test for automated tests */ uint8_t fwTestRes[8]; /* 0xF6 - reserved by FW Test for automated tests */ uint32_t smagic; /* 0x100 - magic value saying software half is valid */ uint32_t raidtbl; /* 0x104 - pointer to first block of raid table */ uint16_t raidline; /* 0x108 - line number of this raid table entry - only if version <7 */ uint8_t res9[0xF6]; /* 0x10A - reserved for software stuff */ } __attribute__ ((packed)); #define ARRAY_NEW 0x00 #define ARRAY_EQUAL 0x01 #define ARRAY_SEQ_LESS 0x02 #define ARRAY_SEQ_GREAT 0x03 #define LOCK_PRIORITY 10 /* Uses 10, 11, 12 - For all three channels */ /* B0FLAGS flag bits: */ #define SMARTENA 7 /* SMART emulation enabled */ #define CLRERROR 4 /* Clear stage of Interpret Format not completed */ #define FMTERROR 3 /* Format stage of Interpret Format not completed */ #define WRTTHRU 2 /* write throughs */ #define CACHEDIS 0 /* cache disable bit */ #define PREDICTIVE_ENABLE 0x02 #define ID_MAP_PHYSICAL_M 1 /* Logical Map Physical */ #define ID_MAP_LOGICAL_M 2 /* Either Dual Level or Single Level Logical */ #define MAX_LSU_COUNT 256 #define MAX_LSU_COMPONENTS 64 #define MAX_LSU_INQUIRY_DATA 64 #define MAX_LSU_SERIAL_NUMBER 8 #define STD_INQUIRY_SIZE 48 #define MAX_LSU_BAD_BLOCKS 8 /* lsuType definitions */ #define LT_UNCONFIGURED_M 0x00 #define LT_RAID0_M 0x01 #define LT_RAID1_M 0x02 #define LT_RAID3_M 0x08 #define LT_RAID4_M 0x10 #define LT_RAID5_M 0x20 #define LT_REDIR_M 0x40 #define LT_SPARE_M 0x80 #define LSU_RAID_LEVEL_0 LT_RAID0_M #define LSU_RAID_LEVEL_1 LT_RAID1_M #define LSU_RAID_LEVEL_3 LT_RAID3_M #define LSU_RAID_LEVEL_4 LT_RAID4_M #define LSU_RAID_LEVEL_5 LT_RAID5_M #define LSU_RAID_REDIRECT LT_REDIR_M #define LSU_RAID_SPARE LT_SPARE_M /* raidState definitions */ #define LS_OPTIMAL_M 0x00 #define LS_DEGRADED_M 0x01 #define LS_REBUILDING_M 0x02 #define LS_MORPHING_M 0x03 #define LS_DEAD_M 0x04 #define LS_WARNING_M 0x05 #define LS_VERIFYING_M 0x0A #define LSU_ARRAY_SUBSTATE_WITH_FIX 0x10 #define LS_BUILDING_M 0x0B #define LS_CREATED_M 0x54 #define LS_DIAGNOSING_M 0xFD /* arrayState definitions */ #define LSU_ARRAY_STATE_OPTIMAL 0x00 #define LSU_ARRAY_STATE_DEGRADED 0x01 /* etc. */ /* component raidState definitions */ #define MAIN_STATE 0x0F #define LSU_COMPONENT_STATE_OPTIMAL 0x00 #define LSU_COMPONENT_STATE_DEGRADED 0x01 #define LSU_COMPONENT_STATE_UNCONFIGURED 0x02 #define LSU_COMPONENT_STATE_FAILED 0x03 #define LSU_COMPONENT_STATE_REPLACED 0x04 #define LSU_COMPONENT_STATE_UNINITIALIZED 0x0A #define LSU_COMPONENT_SUBSTATE_BUILDING 0x10 /* drive is being built for first time */ #define LSU_COMPONENT_SUBSTATE_REBUILDING 0x20 /* drive is being rebuilt */ #define LSU_ARRAY_SUBSTATE_AWAIT_FORMAT 0x50 /* etc. */ /* Beginning of other stuff that Darrick Wong added */ struct asr { struct asr_reservedblock rb; struct asr_raidtable *rt; }; #endif /* FORMAT_HANDLER */ int register_asr(struct lib_context *lc); #endif /* _ASR_H */ dmraid/1.0.0.rc16/lib/format/ataraid/.jm.c.swp0000644000175200007640000004000011254123773021014 0ustar mauelshamauelshab0VIM 6.3J=ëC?F¦{rooth.ww.redhat.com/system_old/u1/root/CVS/dmraid/1.0.0.rc10/lib/format/ataraid/jm.c3210#"! Utpÿ¡ÿÿÿÿž¢<@adš¡ýÅ™–JFEBø÷áʺ¹™}YRQ+*ô µ œ š n ? >  ó Þ Ý À ¢ ™ ˜ x O '   ã à ß Ò Ð Ï Ì ® | x O M â à ß ´ ” { b H /    Ü Ú © § ¦ ^ \ K # " ûúíë껹Œ\Z0.-  ìëÜ«ž›šŽŒ‹VÓÑЛYW)'&÷õÛÙØ—•{FDC@ÙÕ”caBAúîí·¶¡~l=  ÷§š return 0; set_sort, rs, rd))) if (!(*ss = join_superset(lc, name, super_created, case JM_T_RAID01: break; list_add_tail(&rs->list, LC_RS(lc)); if (!find_set(lc, NULL, rs->name, FIND_TOP)) case JM_T_RAID1: case JM_T_RAID0: case JM_T_JBOD: switch (jm->mode) { list_add_sorted(lc, &rs->devs, &rd->devs, dev_sort); return 0; if (!init_raid_set(lc, rs, rd, stride(jm->block), jm->mode, handler)) struct jm *jm = META(rd, jm);{ struct raid_set **ss, struct raid_dev *rd)static int group_rd(struct lib_context *lc, struct raid_set *rs, */ * Check device hierarchy and create super set appropriately. * * Group the RAID disk into a JM set./*} super->stride = stride(META((private), jm)->block); super->type = t_raid0;{static void super_created(struct raid_set *super, void *private)} return 1 << (shift + 1);{static unsigned int stride(unsigned int shift)} return member(META(RD_RS(RS(pos)), jm)) > 1;{static int set_sort(struct list_head *pos, struct list_head *new)/* Decide about ordering sequence of RAID subset. */} return member(META(RD(new), jm)) < member(META(RD(pos), jm));{static int dev_sort(struct list_head *pos, struct list_head *new)/* Decide about ordering sequence of RAID device. */} return -1; } return i; if (disk(jm->member[i]) == disk(jm->identity)) while (i--) { unsigned int i = JM_MEMBERS;{static int member(struct jm *jm)} return (unsigned int) (m & JM_HDD_MASK);{static inline unsigned int disk(unsigned int m)} return (unsigned int) (m & JM_SEG_MASK);{static inline unsigned int segment(uint32_t m)} return sum; sum += *p++; while (count--) uint16_t *p = (uint16_t*) jm, sum = 0; int count = 64;{static int checksum(struct jm *jm)/* Calculate checksum on metadata */} return rd_type(types, (unsigned int) jm->mode);{static enum type type(struct jm *jm)/* Neutralize disk type */}; { 0, t_undef} { JM_T_RAID1, t_raid1}, { JM_T_RAID01, t_raid1}, { JM_T_RAID0, t_raid0}, { JM_T_JBOD, t_linear},static struct types types[] = {/* Mapping of JM types to generic types */} return jm->attribute & ~(JM_MOUNT|JM_BOOTABLE|JM_BADSEC|JM_ACTIVE|JM_UNSYNC|JM_NEWEST) ? s_broken : s_ok;{static enum status status(struct jm *jm) */ * FIXME: is this sufficient to cover all state ? * Retrieve status of device./*} return ret; } sprintf(ret, "%s_%s%s", HANDLER, name, buf); *buf = 0; else sprintf(buf, "-%u", member(jm) / 2); if (jm->mode == JM_T_RAID01 && subset) if ((ret = dbg_malloc(len))) { len++; if (jm->mode == JM_T_RAID01) len += sizeof(HANDLER) + 2; len = JM_NAME_LEN; if ((len = strlen(name)) > JM_NAME_LEN) /* Name always 0 terminated ? */ char buf[2], *ret, *name = (char *) jm->name; struct jm *jm = META(rd, jm); size_t len;{ unsigned int subset)static char *name(struct lib_context *lc, struct raid_dev *rd,static int member(struct jm *jm);/* RAID set name */static const char *handler = HANDLER;#endif# include # define DM_BYTEORDER_SWAB#if BYTE_ORDER != LITTLE_ENDIAN#include "jm.h"#define FORMAT_HANDLER#include "internal.h"#define HANDLER "jmicron" */ * JMicron ATARAID metadata format handler./* */ * See file LICENSE at the top of this source tree for license information. * * All rights reserved. * Copyright (C) 2006 Heinz Mauelshagen, Red Hat GmbH./*ad $ <ß±_]VU+üêÕhO?854û Ó Ñ   ž Y + )  É Ç Æ ‚ A   ê é ª ž m H $ #  þ ý ã Ë Ê ª ‡ U T & $ # } return (rd->name = name(lc, rd, 1)) ? 1 : 0; return log_zero_sectors(lc, di->path, handler); if (!(rd->sectors = sectors(jm))) rd->offset = jm->segment.base; rd->type = type(jm); rd->status = status(jm); rd->fmt = &jm_format; rd->di = di; rd->meta_areas->area = (void*) jm; rd->meta_areas->size = sizeof(*jm); rd->meta_areas->offset = JM_CONFIGOFFSET >> 9; return 0; if (!(rd->meta_areas = alloc_meta_areas(lc, rd, handler, 1))) struct jm *jm = meta;{ struct dev_info *di, void *meta, union read_info *info)static int setup_rd(struct lib_context *lc, struct raid_dev *rd,/* Set the RAID device contents up derived from the JMicron ones */} return jm->segment.range * 32*2048 + jm->segment.range2; /* range * 32MB[sectors] + range2 */{static inline uint64_t sectors(struct jm *jm)/* Calculate RAID device size in sectors depending on RAID type. */} return register_format_handler(lc, &jm_format);{int register_jm(struct lib_context *lc)/* Register this format handler with the format core. */};#endif .log = jm_log,#ifdef DMRAID_NATIVE_LOG .events = &jm_event_handlers, .check = jm_check, .group = jm_group, .write = jm_write, .read = jm_read, .format = FMT_RAID, .caps = "S,0,1", .descr = "JMicron ATARAID", .name = HANDLER,static struct dmraid_format jm_format = {#endif} P2("member[%d]: 0x%x", jm, i, jm->member[i]); for (i = 0; i < JM_MEMBERS; i++) P2("spare[%d]: 0x%x", jm, i, jm->spare[i]); for (i = 0; i < JM_SPARES; i++)dmraid/1.0.0.rc16/lib/format/ataraid/asr.c0000644000175200007640000007525511254123773020331 0ustar mauelshamauelsha/* * Adaptec HostRAID ASR metadata format handler. * * Copyright (C) 2005-2006 IBM, All rights reserved. * Written by Darrick Wong , * James Simshaw , and * Adam DiCarlo * * Copyright (C) 2006 Heinz Mauelshagen, Red Hat GmbH * All rights reserved. * * See file LICENSE at the top of this source tree for license information. */ #include #include #define HANDLER "asr" #include "internal.h" #define FORMAT_HANDLER #include "asr.h" #if BYTE_ORDER == LITTLE_ENDIAN # define DM_BYTEORDER_SWAB # include #endif static const char *handler = HANDLER; static const char *spare_array = ".asr_spares"; /* Map ASR disk status to dmraid status */ static enum status disk_status(struct asr_raid_configline *disk) { static struct states states[] = { { LSU_COMPONENT_STATE_OPTIMAL, s_ok }, { LSU_COMPONENT_STATE_DEGRADED, s_broken }, { LSU_COMPONENT_STATE_FAILED, s_broken }, { LSU_COMPONENT_STATE_UNINITIALIZED, s_inconsistent }, { LSU_COMPONENT_STATE_UNCONFIGURED, s_inconsistent }, { LSU_COMPONENT_SUBSTATE_BUILDING, s_nosync }, { LSU_COMPONENT_SUBSTATE_REBUILDING, s_nosync }, { LSU_COMPONENT_STATE_REPLACED, s_nosync }, { 0, s_undef }, }; return rd_status(states, disk->raidstate, EQUAL); } /* Extract config line from metadata */ static struct asr_raid_configline * get_config(struct asr *asr, uint32_t magic) { struct asr_raidtable *rt = asr->rt; struct asr_raid_configline *cl = rt->ent + rt->elmcnt; while (cl-- > rt->ent) { if (cl->raidmagic == magic) return cl; } return NULL; } /* Get this disk's configuration */ static struct asr_raid_configline * this_disk(struct asr *asr) { return get_config(asr, asr->rb.drivemagic); } /* Make up RAID device name. */ static size_t _name(struct lib_context *lc, struct asr *asr, char *str, size_t len) { struct asr_raid_configline *cl = this_disk(asr); if (cl) return snprintf(str, len, "%s_%s", HANDLER, cl->name); LOG_ERR(lc, 0, "%s: Could not find device in config table!", handler); } /* Figure out a name for the RAID device. */ static char * name(struct lib_context *lc, struct asr *asr) { size_t len; char *ret; if ((ret = dbg_malloc((len = _name(lc, asr, NULL, 0) + 1)))) _name(lc, asr, ret, len); else log_alloc_err(lc, handler); return ret; } /* Stride size */ static inline unsigned stride(struct asr_raid_configline *cl) { return cl ? cl->strpsize : 0; } /* * FIXME: This needs more examination. Does HostRAID do linear * combination? The BIOS implies that it only does RAID 0, 1 and 10. * The emd driver implied support for RAID3/4/5, but dm doesn't * do any of those right now (RAID4 and RAID5 are in the works). */ /* Map the ASR raid type codes into dmraid type codes. */ static enum type type(struct asr_raid_configline *cl) { /* Mapping of template types to generic types */ static struct types types[] = { { ASR_RAID0, t_raid0 }, { ASR_RAID1, t_raid1 }, { ASR_RAIDSPR, t_spare }, { 0, t_undef }, }; return cl ? rd_type(types, (unsigned) cl->raidtype) : t_undef; } /* * Read an ASR RAID device. Fields are big endian, so * need to convert them if we're on a LE machine (i386, etc). */ enum { ASR_BLOCK = 0x01, ASR_TABLE = 0x02, ASR_EXTTABLE = 0x04 }; #if BYTE_ORDER == LITTLE_ENDIAN static void cvt_configline(struct asr_raid_configline *cl) { CVT16(cl->raidcnt); CVT16(cl->raidseq); CVT32(cl->raidmagic); CVT32(cl->raidid); CVT32(cl->loffset); CVT32(cl->lcapcty); CVT16(cl->strpsize); CVT16(cl->biosInfo); CVT32(cl->lsu); CVT16(cl->blockStorageTid); CVT32(cl->curAppBlock); CVT32(cl->appBurstCount); } static void to_cpu(void *meta, unsigned cvt) { struct asr *asr = meta; struct asr_raidtable *rt = asr->rt; unsigned i, elmcnt = rt->elmcnt, use_old_elmcnt = (rt->ridcode == RVALID2); if (cvt & ASR_BLOCK) { CVT32(asr->rb.b0idcode); CVT16(asr->rb.biosInfo); CVT32(asr->rb.fstrsvrb); CVT16(asr->rb.svBlockStorageTid); CVT16(asr->rb.svtid); CVT32(asr->rb.drivemagic); CVT32(asr->rb.fwTestMagic); CVT32(asr->rb.fwTestSeqNum); CVT32(asr->rb.smagic); CVT32(asr->rb.raidtbl); } if (cvt & ASR_TABLE) { CVT32(rt->ridcode); CVT32(rt->rversion); CVT16(rt->maxelm); CVT16(rt->elmcnt); if (!use_old_elmcnt) elmcnt = rt->elmcnt; CVT16(rt->elmsize); CVT32(rt->raidFlags); CVT32(rt->timestamp); CVT16(rt->rchksum); CVT32(rt->sparedrivemagic); CVT32(rt->raidmagic); CVT32(rt->verifyDate); CVT32(rt->recreateDate); /* Convert the first seven config lines */ for (i = 0; i < (min(elmcnt, ASR_TBLELMCNT)); i++) cvt_configline(rt->ent + i); } if (cvt & ASR_EXTTABLE) { for (i = ASR_TBLELMCNT; i < elmcnt; i++) cvt_configline(rt->ent + i); } } #else # define to_cpu(x, y) #endif /* Compute the checksum of RAID metadata */ static unsigned compute_checksum(struct asr *asr) { struct asr_raidtable *rt = asr->rt; uint8_t *ptr = (uint8_t *) rt->ent; unsigned checksum = 0, end = sizeof(*rt->ent) * rt->elmcnt; /* Compute checksum. */ while (end--) checksum += *(ptr++); return checksum & 0xFFFF; } /* (Un)truncate white space at the end of a name */ enum truncate { TRUNCATE, UNTRUNCATE }; static void handle_white_space(uint8_t * p, enum truncate truncate) { unsigned j = ASR_NAMELEN; uint8_t c = truncate == TRUNCATE ? 0 : ' '; while (j-- && (truncate == TRUNCATE ? isspace(p[j]) : !p[j])) p[j] = c; } /* Read extended metadata areas */ static int read_extended(struct lib_context *lc, struct dev_info *di, struct asr *asr) { unsigned remaining, i, chk; struct asr_raidtable *rt = asr->rt; log_notice(lc, "%s: reading extended data on %s", handler, di->path); /* Read the RAID table. */ if (!read_file(lc, handler, di->path, rt, ASR_DISK_BLOCK_SIZE, (uint64_t) asr->rb.raidtbl * ASR_DISK_BLOCK_SIZE)) LOG_ERR(lc, 0, "%s: Could not read metadata off %s", handler, di->path); /* Convert it */ to_cpu(asr, ASR_TABLE); /* Is this ok? */ if (rt->ridcode != RVALID2) LOG_ERR(lc, 0, "%s: Invalid magic number in RAID table; " "saw 0x%X, expected 0x%X on %s", handler, rt->ridcode, RVALID2, di->path); /* Have we a valid element count? */ if (rt->elmcnt >= rt->maxelm || rt->elmcnt == 0) LOG_ERR(lc, 0, "%s: Invalid RAID config table count on %s", handler, di->path); /* Is each element the right size? */ if (rt->elmsize != sizeof(*rt->ent)) LOG_ERR(lc, 0, "%s: Wrong RAID config line size on %s", handler, di->path); /* Figure out how much else we need to read. */ if (rt->elmcnt > ASR_TBLELMCNT) { remaining = rt->elmsize * (rt->elmcnt - 7); if (!read_file(lc, handler, di->path, rt->ent + 7, remaining, (uint64_t) (asr->rb.raidtbl + 1) * ASR_DISK_BLOCK_SIZE)) return 0; to_cpu(asr, ASR_EXTTABLE); } /* Checksum only valid for raid table version 1. */ if (rt->rversion < 2) { if ((chk = compute_checksum(asr)) != rt->rchksum) log_err(lc, "%s: Invalid RAID config table checksum " "(0x%X vs. 0x%X) on %s", handler, chk, rt->rchksum, di->path); } /* Process the name of each line of the config line. */ for (i = 0; i < rt->elmcnt; i++) { /* * Weird quirks of the name field of the config line: * * - SATA HostRAID w/ ICH5 on IBM x226: The name field is null * in the drive config lines. The zeroeth item does have a * name, however. * - Spares on SCSI HostRAID on IBM x226: The name field for * all config lines is null. * * So, we'll assume that we can copy the name from the zeroeth * element in the array. The twisted logic doesn't seem to * have a problem with either of the above cases, though * attaching spares is going to be a tad tricky (primarily * because there doesn't seem to be a way to attach a spare to * a particular array; presumably the binary driver knows how * or just grabs a disk out of the spare pool. * * (Yes, the binary driver _does_ just grab a disk from the * global spare pool. We must teach dm about this...?) * * This is nuts. */ if (!*rt->ent[i].name) strncpy((char *) rt->ent[i].name, (char *) rt->ent->name, ASR_NAMELEN); /* Now truncate trailing whitespace in the name. */ handle_white_space(rt->ent[i].name, TRUNCATE); } return 1; } static int is_asr(struct lib_context *lc, struct dev_info *di, void *meta) { struct asr *asr = meta; /* * Check our magic numbers and that the version == v8. * We don't support anything other than that right now. */ if (asr->rb.b0idcode == B0RESRVD && asr->rb.smagic == SVALID) { if (asr->rb.resver == RBLOCK_VER) return 1; log_err(lc, "%s: ASR v%d detected, but we only support v8", handler, asr->rb.resver); } return 0; } /* * Attempt to interpret ASR metadata from a block device. This function * returns either NULL (not an ASR) or a pointer to a descriptor struct. * Note that the struct should be fully converted to the correct endianness * by the time this function returns. * * WARNING: If you take disks out of an ASR HostRAID array and plug them in * to a normal SCSI controller, the array will still show up! Even if you * scribble over the disks! I assume that the a320raid binary driver only * does its HostRAID magic if your controller is in RAID mode... but dmraid * lacks this sort of visibility as to where its block devices come from. * This is EXTREMELY DANGEROUS if you aren't careful! */ static void * read_metadata_areas(struct lib_context *lc, struct dev_info *di, size_t * sz, uint64_t * offset, union read_info *info) { size_t size = ASR_DISK_BLOCK_SIZE; uint64_t asr_sboffset = ASR_CONFIGOFFSET; struct asr *asr; struct asr_raid_configline *cl; /* * Read the ASR reserved block on each disk. This is the very * last sector of the disk, and we're really only interested in * the two magic numbers, the version, and the pointer to the * RAID table. Everything else appears to be unused in v8. */ if (!(asr = alloc_private(lc, handler, sizeof(*asr)))) goto bad0; if (!(asr->rt = alloc_private(lc, handler, sizeof(*asr->rt)))) goto bad1; if (!read_file(lc, handler, di->path, &asr->rb, size, asr_sboffset)) goto bad2; /* * Convert metadata and read in */ to_cpu(asr, ASR_BLOCK); /* Check Signature and read optional extended metadata. */ if (!is_asr(lc, di, asr) || !read_extended(lc, di, asr)) goto bad2; /* * Now that we made sure that we have all the metadata, we exit. */ cl = this_disk(asr); if (cl->raidstate == LSU_COMPONENT_STATE_FAILED) goto bad2; goto out; bad2: dbg_free(asr->rt); bad1: asr->rt = NULL; dbg_free(asr); bad0: asr = NULL; out: return asr; } /* Read the whole metadata chunk at once */ static uint8_t * read_metadata_chunk(struct lib_context *lc, struct dev_info *di, uint64_t start) { uint8_t *ret; size_t size = (di->sectors - start) * ASR_DISK_BLOCK_SIZE; if (!(ret = dbg_malloc(size))) LOG_ERR(lc, ret, "%s: unable to allocate memory for %s", handler, di->path); if (!read_file(lc, handler, di->path, ret, size, start * ASR_DISK_BLOCK_SIZE)) { dbg_free(ret); LOG_ERR(lc, NULL, "%s: unable to read metadata on %s", handler, di->path); } return ret; } /* * "File the metadata areas" -- I think this function is supposed to declare * which parts of the drive are metadata and thus off-limits to dmraid. */ static void file_metadata_areas(struct lib_context *lc, struct dev_info *di, void *meta) { uint8_t *buf; struct asr *asr = meta; uint64_t start = asr->rb.raidtbl; if (!(buf = read_metadata_chunk(lc, di, start))) return; /* Register the raid tables. */ file_metadata(lc, handler, di->path, buf, ASR_DISK_BLOCK_SIZE * 17, start * ASR_DISK_BLOCK_SIZE); dbg_free(buf); /* Record the device size if -D was specified. */ file_dev_size(lc, handler, di); } static int setup_rd(struct lib_context *lc, struct raid_dev *rd, struct dev_info *di, void *meta, union read_info *info); static struct raid_dev * asr_read(struct lib_context *lc, struct dev_info *di) { /* * NOTE: Everything called after read_metadata_areas assumes that * the reserved block, raid table and config table have been * converted to the appropriate endianness. */ return read_raid_dev(lc, di, read_metadata_areas, 0, 0, NULL, NULL, file_metadata_areas, setup_rd, handler); } static int set_sort(struct list_head *dont, struct list_head *care) { return 0; } /* * Compose a 64-bit ID for device sorting. * Is hba:ch:lun:id ok? * It seems to be the way the binary driver does it... */ static inline uint64_t compose_id(struct asr_raid_configline *cl) { return ((uint64_t) cl->raidhba << 48) | ((uint64_t) cl->raidchnl << 40) | ((uint64_t) cl->raidlun << 32) | (uint64_t) cl->raidid; } /* Sort ASR devices by for a RAID set. */ static int dev_sort(struct list_head *pos, struct list_head *new) { return compose_id(this_disk(META(RD(new), asr))) < compose_id(this_disk(META(RD(pos), asr))); } /* * Find the top-level RAID set for an ASR context. */ static int find_toplevel(struct lib_context *lc, struct asr *asr) { int i, toplevel = -1; struct asr_raidtable *rt = asr->rt; for (i = 0; i < rt->elmcnt; i++) { if (rt->ent[i].raidlevel == FWL) toplevel = i; else if (rt->ent[i].raidlevel == FWL_2) { toplevel = i; break; } } return toplevel; } /* * Find the logical drive configuration that goes with this * physical disk configuration. */ static struct asr_raid_configline * find_logical(struct asr *asr) { int i, j; struct asr_raidtable *rt = asr->rt; /* This MUST be done backwards! */ for (i = rt->elmcnt - 1; i > -1; i--) { if (rt->ent[i].raidmagic == asr->rb.drivemagic) { for (j = i - 1; j > -1; j--) { if (rt->ent[j].raidlevel == FWL) return rt->ent + j; } } } return NULL; } /* static struct raid_dev * find_spare(struct lib_context *lc) { struct raid_dev *spare; list_for_each_entry(spare, LC_RD(lc), list) { if (spare->type == t_spare) return spare; } return NULL; } */ /* Wrapper for name() */ static char * js_name(struct lib_context *lc, struct raid_dev *rd, unsigned subset) { return name(lc, META(rd, asr)); } /* * IO error event handler. */ static int event_io(struct lib_context *lc, struct event_io *e_io) { struct raid_dev *rd = e_io->rd; struct asr *asr = META(rd, asr); struct asr_raid_configline *cl = this_disk(asr); struct asr_raid_configline *fwl = find_logical(asr); /* Ignore if we've already marked this disk broken(?) */ if (rd->status & s_broken) return 0; log_err(lc, "%s: I/O error on device %s at sector %lu", handler, e_io->rd->di->path, e_io->sector); /* Mark the array as degraded and the disk as failed. */ rd->status = s_broken; cl->raidstate = LSU_COMPONENT_STATE_FAILED; fwl->raidstate = LSU_COMPONENT_STATE_DEGRADED; /* FIXME: Do we have to mark a parent too? */ return 1; /* Indicate that this is indeed a failure. */ } /* * Helper routines for asr_group() */ static struct raid_set * do_spare(struct lib_context *lc, struct raid_dev *rd) { struct raid_set *rs; /* * If this drive really _is_ attached to a specific * RAID set, then just attach it. Really old HostRAID cards * do this... but I don't have any hardware to test this. */ /* * FIXME: dmraid ignores spares attached to RAID arrays. * For now, we'll let it get sucked into the ASR spare pool. * If we need it, we'll reconfigure it; if not, nobody touches * it. * * rs = find_set(lc, name(lc, asr), FIND_TOP, rd, LC_RS(lc), * NO_CREATE, NO_CREATE_ARG); */ /* Otherwise, make a global spare pool. */ rs = find_or_alloc_raid_set(lc, (char *) spare_array, FIND_TOP, rd, LC_RS(lc), NO_CREATE, NO_CREATE_ARG); /* * Setting the type to t_spare guarantees that dmraid won't * try to set up a real device-mapper mapping. */ rs->type = t_spare; /* Add the disk to the set. */ list_add_sorted(lc, &rs->devs, &rd->devs, dev_sort); return rs; } #define BUFSIZE 128 static struct raid_set * do_stacked(struct lib_context *lc, struct raid_dev *rd, struct asr_raid_configline *cl) { char buf[BUFSIZE], *path = rd->di->path; struct raid_set *rs, *ss; struct asr_raid_configline *fwl; struct asr *asr = META(rd, asr); /* First compute the name of the disk's direct parent. */ fwl = find_logical(asr); if (!fwl) LOG_ERR(lc, NULL, "%s: Failed to find RAID configuration " "line on %s", handler, path); snprintf(buf, BUFSIZE, ".asr_%s_%x_donotuse", fwl->name, fwl->raidmagic); /* Now find said parent. */ rs = find_or_alloc_raid_set(lc, buf, FIND_ALL, rd, NO_LIST, NO_CREATE, NO_CREATE_ARG); if (!rs) LOG_ERR(lc, NULL, "%s: Error creating RAID set for %s", handler, path); rs->stride = stride(cl); rs->status = s_ok; rs->type = type(fwl); /* Add the disk to the set. */ list_add_sorted(lc, &rs->devs, &rd->devs, dev_sort); /* Find the top level set. */ ss = join_superset(lc, js_name, NO_CREATE, set_sort, rs, rd); if (!ss) LOG_ERR(lc, NULL, "%s: Error creating top RAID set for %s", handler, path); ss->stride = stride(cl); ss->status = s_ok; /* FIXME: correct type (this crashed in stacked set code) */ ss->type = t_raid1; // type(&asr->rt->ent[top_idx]); return ss; } /* * Add an ASR device to a RAID set. This involves finding the raid set to * which this disk belongs, and then attaching it. Note that there are other * complications, such as two-layer arrays (RAID10). */ static struct raid_set * asr_group(struct lib_context *lc, struct raid_dev *rd) { int top_idx; struct asr *asr = META(rd, asr); struct asr_raid_configline *cl = this_disk(asr); struct raid_set *rs; if (T_SPARE(rd)) return do_spare(lc, rd); /* Find the top level FWL/FWL2 for this device. */ top_idx = find_toplevel(lc, asr); if (top_idx < 0) LOG_ERR(lc, NULL, "%s: Can't find a logical array config " "for disk %x", handler, asr->rb.drivemagic); /* This is a simple RAID0/1 array. Find the set. */ if (asr->rt->ent[top_idx].raidlevel == FWL) { rs = find_or_alloc_raid_set(lc, name(lc, asr), FIND_TOP, rd, LC_RS(lc), NO_CREATE, NO_CREATE_ARG); rs->stride = stride(cl); rs->status = s_ok; rs->type = type(find_logical(asr)); /* Add the disk to the set. */ list_add_sorted(lc, &rs->devs, &rd->devs, dev_sort); return rs; } /* * This is a two-level RAID array. Attach the disk to the disk's * parent set; create it if necessary. Then, find the top-level set * and use join_superset to attach the parent set to the top set. */ if (asr->rt->ent[top_idx].raidlevel == FWL_2) return do_stacked(lc, rd, cl); /* If we land here, something's seriously wrong. */ LOG_ERR(lc, NULL, "%s: Top level array config is not FWL/FWL2?", handler); } /* deletes configline from metadata of given asr, by index. */ static void delete_configline(struct asr *asr, int index) { struct asr_raid_configline *cl, *end; struct asr_raidtable *rt = asr->rt; rt->elmcnt--; cl = rt->ent + index; end = rt->ent + rt->elmcnt; while (cl < end) { memcpy(cl, cl + 1, sizeof(*cl)); ++cl; } } /* Find the newest configline entry in raid set and return a pointer to it. */ static struct raid_dev * find_newest_drive(struct raid_set *rs) { struct asr_raidtable *rt; struct raid_dev *device, *newest = NULL; uint16_t newest_raidseq = 0; int i; list_for_each_entry(device, &rs->devs, devs) { rt = META(device, asr)->rt; // FIXME: We should be able to assume each configline // in a single drive has the same raidseq as the rest // in that drive. We're doing too much work here. for (i = 0; i < rt->elmcnt; i++) { if (rt->ent[i].raidseq >= newest_raidseq) { newest_raidseq = rt->ent[i].raidseq; newest = device; } } } return newest; } /* Creates a random integer for a drive magic section */ static uint32_t create_drivemagic() { srand(time(NULL)); return rand() + rand(); } static int spare(struct lib_context *lc, struct raid_dev *rd, struct asr *asr) { struct asr_raid_configline *cl; /* If the magic is already 0xFFFFFFFF, exit */ if (asr->rt->raidmagic == 0xFFFFFFFF) return 1; /* Otherwise, set the magic */ asr->rt->raidmagic = 0xFFFFFFFF; /* Erase all the CLs, create the two defaults and exit */ /* FIXME: How to set blockstoragetid? */ asr->rt->elmcnt = 2; /* Note the presence of an array of spares in first config * line entry. */ cl = asr->rt->ent; cl->raidmagic = 0xFFFFFFFF; cl->raidseq = 0; cl->name[0] = 0; cl->raidcnt = 1; cl->raidtype = ASR_RAIDSPR; cl->lcapcty = rd->di->sectors; cl->raidlevel = FWL; cl++; /* Actually describe the disk: it's a spare. */ cl->raidmagic = asr->rb.drivemagic; cl->raidseq = 0; cl->name[0] = 0; cl->raidcnt = 0; cl->raidtype = ASR_RAIDSPR; cl->lcapcty = rd->di->sectors; cl->raidlevel = FWP; return 1; } /* Returns (boolean) whether or not the drive described by the given configline * is in the given raid_set. */ static int in_raid_set(struct asr_raid_configline *cl, struct raid_set *rs) { struct asr *asr; struct raid_dev *d; list_for_each_entry(d, &rs->devs, devs) { asr = META(d, asr); if (cl->raidmagic == asr->rb.drivemagic) return 1; } return 0; } /* Delete extra configlines which would otherwise trip us up. */ static int cleanup_configlines(struct raid_dev *rd, struct raid_set *rs) { struct asr *a; struct raid_dev *d; struct asr_raid_configline *cl; int clcnt; list_for_each_entry(d, &rs->devs, devs) { a = META(d, asr); cl = a->rt->ent; for (clcnt = 0; clcnt < a->rt->elmcnt; /* done in loop */ ) { /* If it's in the seen list, or is a logical drive, * end iteration. The idea: get rid of configlines * which describe devices which are no longer in the * array. * FIXME: If our topmost level is FWL2, we could have * FWL entries which need to be removed, right? We need * to check for this condition, too. */ if (cl->raidlevel != FWP || in_raid_set(cl, rs)) { cl++; clcnt++; } else { /* Delete entry. After deleting, a new entry is * found at *cl (a->rt->ent[clcnt]), so don't * increment counter/pointer; otherwise we'd * skip an entry. */ delete_configline(a, clcnt); } } } return 1; } /* Add a CL entry */ static int create_configline(struct raid_set *rs, struct asr *asr, struct asr *a, struct raid_dev *newest) { struct asr *newest_asr = META(newest, asr); struct asr_raid_configline *cl; if (asr->rt->elmcnt >= RCTBL_MAX_ENTRIES) return 0; cl = asr->rt->ent + asr->rt->elmcnt; asr->rt->elmcnt++; /* * Use first raidseq, below: FIXME - don't * assume all CLS are consistent. */ cl->raidmagic = a->rb.drivemagic; cl->raidseq = newest_asr->rt->ent[0].raidseq; cl->strpsize = newest_asr->rt->ent[0].strpsize; /* Starts after "asr_" */ strcpy((char *) cl->name, &rs->name[sizeof(HANDLER)]); cl->raidcnt = 0; /* Convert rs->type to an ASR_RAID type for the CL */ switch (rs->type) { case t_raid0: cl->raidtype = ASR_RAID0; break; case t_raid1: cl->raidtype = ASR_RAID1; break; default: return 0; } cl->lcapcty = newest_asr->rt->ent[0].lcapcty; cl->raidlevel = FWP; return 1; } /* Update metadata to reflect the current raid set configuration. * Returns boolean success. */ static int update_metadata(struct lib_context *lc, struct raid_dev *rd, struct asr *asr) { struct raid_set *rs; struct asr_raid_configline *cl; struct raid_dev *d, *newest; struct asr *a; struct asr_raidtable *rt = asr->rt; /* Find the raid set */ rs = get_raid_set(lc, rd); if (!rs) { /* Array-less disks ... have no CLs ? */ rt->elmcnt = 0; return 1; } /* If this is the spare array... */ if (!strcmp(spare_array, rs->name)) return spare(lc, rd, asr); /* Find newest drive for use below */ if (!(newest = find_newest_drive(rs))) return 0; /* If the drive magic is 0xFFFFFFFF, assign a random one. */ if (asr->rb.drivemagic == 0xFFFFFFFF) asr->rb.drivemagic = create_drivemagic(); /* Make sure the raid type agrees with the metadata */ if (type(this_disk(asr)) == t_spare) { struct asr *newest_asr = META(newest, asr); /* copy entire table from newest drive */ rt->elmcnt = newest_asr->rt->elmcnt; memcpy(rt->ent, newest_asr->rt->ent, rt->elmcnt * sizeof(*rt->ent)); } /* Increment the top level CL's raid count */ /* Fixme: What about the the FWLs in a FWL2 setting? */ cl = rt->ent + find_toplevel(lc, asr); cl->raidseq++; /* For each disk in the rs */ list_for_each_entry(d, &rs->devs, devs) { a = META(d, asr); /* If it's in the CL already... */ if ((cl = get_config(asr, a->rb.drivemagic))) { /* Increment seq number */ cl->raidseq++; continue; } /* If the magic is 0xFFFFFFFF, assign a random one */ if (a->rb.drivemagic == 0xFFFFFFFF) a->rb.drivemagic = create_drivemagic(); if (!(newest = find_newest_drive(rs))) return 0; create_configline(rs, asr, a, newest); } cleanup_configlines(rd, rs); return 1; } /* Write metadata. */ static int asr_write(struct lib_context *lc, struct raid_dev *rd, int erase) { struct asr *asr = META(rd, asr); int elmcnt = asr->rt->elmcnt, i, ret; /* Update the metadata if we're not erasing it. */ if (!erase) update_metadata(lc, rd, asr); /* Untruncate trailing whitespace in the name. */ for (i = 0; i < elmcnt; i++) handle_white_space(asr->rt->ent[i].name, UNTRUNCATE); /* Compute checksum */ asr->rt->rchksum = compute_checksum(asr); /* Convert back to disk format */ to_disk(asr, ASR_BLOCK | ASR_TABLE | ASR_EXTTABLE); /* Write data */ ret = write_metadata(lc, handler, rd, -1, erase); /* Go back to CPU format */ to_cpu(asr, ASR_BLOCK | ASR_TABLE | ASR_EXTTABLE); /* Truncate trailing whitespace in the name. */ for (i = 0; i < elmcnt; i++) handle_white_space(asr->rt->ent[i].name, TRUNCATE); return ret; } /* * Check integrity of a RAID set. */ /* Retrieve the number of devices that should be in this set. */ static unsigned device_count(struct raid_dev *rd, void *context) { /* Get the logical drive */ struct asr_raid_configline *cl = find_logical(META(rd, asr)); return cl ? cl->raidcnt : 0; } /* Check a RAID device */ static int check_rd(struct lib_context *lc, struct raid_set *rs, struct raid_dev *rd, void *context) { /* FIXME: Assume non-broken means ok. */ return rd->type != s_broken; } /* Start the recursive RAID set check. */ static int asr_check(struct lib_context *lc, struct raid_set *rs) { return check_raid_set(lc, rs, device_count, NULL, check_rd, NULL, handler); } static struct event_handlers asr_event_handlers = { .io = event_io, .rd = NULL, /* FIXME: no device add/remove event handler yet. */ }; /* Dump a reserved block */ static void dump_rb(struct lib_context *lc, struct asr_reservedblock *rb) { DP("block magic:\t\t0x%X", rb, rb->b0idcode); DP("sb0flags:\t\t\t0x%X", rb, rb->sb0flags); DP("jbodEnable:\t\t%d", rb, rb->jbodEnable); DP("biosInfo:\t\t\t0x%X", rb, rb->biosInfo); DP("drivemagic:\t\t0x%X", rb, rb->drivemagic); DP("svBlockStorageTid:\t0x%X", rb, rb->svBlockStorageTid); DP("svtid:\t\t\t0x%X", rb, rb->svtid); DP("resver:\t\t\t%d", rb, rb->resver); DP("smagic:\t\t\t0x%X", rb, rb->smagic); DP("raidtbl @ sector:\t\t%d", rb, rb->raidtbl); } /* Dump a raid config line */ static void dump_cl(struct lib_context *lc, struct asr_raid_configline *cl) { DP("config ID:\t\t0x%X", cl, cl->raidmagic); DP(" name:\t\t\t\"%s\"", cl, cl->name); DP(" raidcount:\t\t%d", cl, cl->raidcnt); DP(" sequence #:\t\t%d", cl, cl->raidseq); DP(" level:\t\t\t%d", cl, cl->raidlevel); DP(" type:\t\t\t%d", cl, cl->raidtype); DP(" state:\t\t\t%d", cl, cl->raidstate); DP(" flags:\t\t\t0x%X", cl, cl->flags); DP(" refcount:\t\t%d", cl, cl->refcnt); DP(" hba:\t\t\t%d", cl, cl->raidhba); DP(" channel:\t\t%d", cl, cl->raidchnl); DP(" lun:\t\t\t%d", cl, cl->raidlun); DP(" id:\t\t\t%d", cl, cl->raidid); DP(" offset:\t\t\t%d", cl, cl->loffset); DP(" capacity:\t\t%d", cl, cl->lcapcty); P(" stripe size:\t\t%d KB", cl, cl->strpsize, cl->strpsize * ASR_DISK_BLOCK_SIZE / 1024); DP(" BIOS info:\t\t%d", cl, cl->biosInfo); DP(" phys/log lun:\t\t%d", cl, cl->lsu); DP(" addedDrives:\t\t%d", cl, cl->addedDrives); DP(" appSleepRate:\t\t%d", cl, cl->appSleepRate); DP(" blockStorageTid:\t%d", cl, cl->blockStorageTid); DP(" curAppBlock:\t\t%d", cl, cl->curAppBlock); DP(" appBurstCount:\t\t%d", cl, cl->appBurstCount); } /* Dump a raid config table */ static void dump_rt(struct lib_context *lc, struct asr_raidtable *rt) { unsigned i; DP("ridcode:\t\t\t0x%X", rt, rt->ridcode); DP("rversion:\t\t%d", rt, rt->rversion); DP("max configs:\t\t%d", rt, rt->maxelm); DP("configs:\t\t\t%d", rt, rt->elmcnt); DP("config sz:\t\t%d", rt, rt->elmsize); DP("checksum:\t\t\t0x%X", rt, rt->rchksum); DP("raid flags:\t\t0x%X", rt, rt->raidFlags); DP("timestamp:\t\t0x%X", rt, rt->timestamp); P("irocFlags:\t\t%X%s", rt, rt->irocFlags, rt->irocFlags, rt->irocFlags & ASR_IF_BOOTABLE ? " (bootable)" : ""); DP("dirt, rty:\t\t%d", rt, rt->dirty); DP("action prio:\t\t%d", rt, rt->actionPriority); DP("spareid:\t\t\t%d", rt, rt->spareid); DP("sparedrivemagic:\t\t0x%X", rt, rt->sparedrivemagic); DP("raidmagic:\t\t0x%X", rt, rt->raidmagic); DP("verifydate:\t\t0x%X", rt, rt->verifyDate); DP("recreatedate:\t\t0x%X", rt, rt->recreateDate); log_print(lc, "\nRAID config table:"); for (i = 0; i < rt->elmcnt; i++) dump_cl(lc, &rt->ent[i]); } #ifdef DMRAID_NATIVE_LOG /* * Log native information about the RAID device. */ static void asr_log(struct lib_context *lc, struct raid_dev *rd) { struct asr *asr = META(rd, asr); log_print(lc, "%s (%s):", rd->di->path, handler); dump_rb(lc, &asr->rb); dump_rt(lc, asr->rt); } #endif static struct dmraid_format asr_format = { .name = HANDLER, .descr = "Adaptec HostRAID ASR", .caps = "0,1,10", .format = FMT_RAID, .read = asr_read, .write = asr_write, .group = asr_group, .check = asr_check, .events = &asr_event_handlers, #ifdef DMRAID_NATIVE_LOG .log = asr_log, #endif }; /* Register this format handler with the format core */ int register_asr(struct lib_context *lc) { return register_format_handler(lc, &asr_format); } /* * Set up a RAID device from what we've assembled out of the metadata. */ static int setup_rd(struct lib_context *lc, struct raid_dev *rd, struct dev_info *di, void *meta, union read_info *info) { struct asr *asr = meta; struct meta_areas *ma; struct asr_raid_configline *cl = this_disk(asr); if (!cl) LOG_ERR(lc, 0, "%s: Could not find current disk!", handler); /* We need two metadata areas */ if (!(ma = rd->meta_areas = alloc_meta_areas(lc, rd, handler, 2))) return 0; /* First area: raid reserved block. */ ma->offset = ASR_CONFIGOFFSET >> 9; ma->size = ASR_DISK_BLOCK_SIZE; (ma++)->area = asr; /* Second area: raid table. */ ma->offset = asr->rb.raidtbl; ma->size = ASR_DISK_BLOCK_SIZE * 16; ma->area = asr->rt; /* Now set up the rest of the metadata info */ rd->di = di; rd->fmt = &asr_format; rd->status = disk_status(cl); rd->type = type(cl); rd->offset = ASR_DATAOFFSET; if (!(rd->sectors = cl->lcapcty)) return log_zero_sectors(lc, di->path, handler); return (rd->name = name(lc, asr)) ? 1 : 0; } dmraid/1.0.0.rc16/lib/format/ataraid/isw.h0000644000175200007640000002044611254123773020343 0ustar mauelshamauelsha/* * Copyright (C) 2003,2004,2005 Intel Corporation. * * dmraid extensions: * Copyright (C) 2004,2005 Heinz Mauelshagen, Red Hat GmbH. * All rights reserved. * * Copyright (C) 2007,2008 Intel Corporation. All rights reserved. * November, 2007 - additions for Create, Delete, Rebuild & Raid 10. * August, 2008 - support for BBM * * 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.1, or (at your option) * any later version. * * You should have received a copy of the GNU General Public License * (for example /usr/src/linux/COPYING); if not, write to the Free * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * * Authors: Boji Tony Kannanthanam * < boji dot t dot kannanthanam at intel dot com > * Martins Krikis * < martins dot krikis at intel dot com > */ /* * Intel Software Raid metadata definitions. */ #ifndef _ISW_H_ #define _ISW_H_ #ifdef FORMAT_HANDLER #undef FORMAT_HANDLER /* Intel metadata offset in bytes */ #define ISW_CONFIGSECTOR(di) ((di)->sectors - 2) #define ISW_CONFIGOFFSET(di) (ISW_CONFIGSECTOR(di) << 9) #define ISW_DATAOFFSET 0 /* Data offset in sectors */ #define MPB_SIGNATURE "Intel Raid ISM Cfg Sig. " #define MPB_SIGNATURE_SIZE (sizeof(MPB_SIGNATURE) - 1) #define MPB_VERSION_UNKNOWN "??????" #define MPB_VERSION_RAID0 "1.0.00" #define MPB_VERSION_RAID1 "1.1.00" #define MPB_VERSION_MUL_VOLS "1.2.00" #define MPB_VERSION_3OR4_DISK_ARRAY "1.2.01" #define MPB_VERSION_RAID5 "1.2.02" #define MPB_VERSION_5OR6_DISK_ARRAY "1.2.04" #define MPB_VERSION_ATTRIBS "1.3.00" #define MAX_SIGNATURE_LENGTH 32 #define MPB_VERSION_LENGTH 6 #define MAX_RAID_SERIAL_LEN 16 #define ISW_DISK_BLOCK_SIZE 512 #define TYPICAL_MPBSIZE 1024 #define RAID_DS_JOURNAL 264 #define MIGR_OPT_SPACE 4096 #define RAID_VOLUME_RESERVED_BLOCKS (RAID_DS_JOURNAL+MIGR_OPT_SPACE) #define RAID_DISK_RESERVED_BLOCKS 417 #define DISK_RESERVED_BLOCKS (RAID_DISK_RESERVED_BLOCKS+RAID_VOLUME_RESERVED_BLOCKS) #define UNKNOWN_SCSI_ID ((uint32_t)~0) #define DISK_THRESHOLD 4 static char * mpb_versions[] = { (char *) MPB_VERSION_UNKNOWN, (char *) MPB_VERSION_RAID0, (char *) MPB_VERSION_RAID1, (char *) MPB_VERSION_MUL_VOLS, (char *) MPB_VERSION_3OR4_DISK_ARRAY, (char *) MPB_VERSION_RAID5, (char *) MPB_VERSION_5OR6_DISK_ARRAY, (char *) MPB_VERSION_ATTRIBS, }; #define MPB_VERSION_LAST mpb_versions[sizeof(mpb_versions)/sizeof(char*) - 1] /* Disk configuration info. */ struct isw_disk { int8_t serial[MAX_RAID_SERIAL_LEN]; /* 0xD8 - 0xE7 ascii serial number */ uint32_t totalBlocks; /* 0xE8 - 0xEB total blocks */ uint32_t scsiId; /* 0xEC - 0xEF scsi ID */ uint32_t status; /* 0xF0 - 0xF3 */ #define SPARE_DISK 0x01 /* Spare */ #define CONFIGURED_DISK 0x02 /* Member of some RaidDev */ #define FAILED_DISK 0x04 /* Permanent failure */ #define USABLE_DISK 0x08 /* Fully usable unless FAILED_DISK is set */ #define DETECTED_DISK 0x10 /* Device attach received */ #define CLAIMED_DISK 0X20 /* Device has been claimed ? */ #define PASSTHRU_DISK 0X40 /* Device should be ignored */ #define OFFLINE_DISK 0X80 /* Device has been marked offline by user */ #define CONFIG_ON_DISK 0x100 /* Device currently has MPB stored on it */ #define DISK_SMART_EVENT_TRIGGERED 0x200 #define DISK_SMART_EVENT_SUPPORTED 0x400 #define FORMATTING_DISK 0x800 /* Device is formatting */ #define FORMAT_SUCCEEDED 0x1000 /* This bit is used with FORMATTING_DISK */ #define FORMAT_FAILED 0x2000 /* This bit is used with FORMATTING_DISK */ #define ELIGIBLE_FOR_SPARE 0x4000 /* Device may be used as a spare if needed. */ #define READ_CONFIG_NEEDED 0x8000 /* Device needs to have its config read */ #define CONFIG_IS_UPREV 0x10000 /* Config on device but cannot be handled */ #define UNKNOW_DISK_FAILURE 0x40000 /* Any reading errors */ #define DO_READ_CONFIG 0x80000 /* Device's config will be read and merged on nexted call */ #define POWERED_OFF_DISK 0x100000 /* Device is spun down */ #define PASSTHRU_CLAIMABLE 0x200000 /* Passthru device is claimable */ #define CLONE_DISK_MODIFIED 0x400000 #define PASSTHRU_DISK_WMPB 0X800000 uint32_t owner_cfg_num; /* 0xF4 - 0xF7 */ #define ISW_DISK_FILLERS 4 uint32_t filler[ISW_DISK_FILLERS]; /* 0xF7 - 0x107 MPB_DISK_FILLERS for future expansion */ }; /* RAID map configuration infos. */ struct isw_map { uint32_t pba_of_lba0; // start address of partition uint32_t blocks_per_member; // blocks per member uint32_t num_data_stripes; // number of data stripes uint16_t blocks_per_strip; uint8_t map_state; // Normal, Uninitialized, Degraded, Failed #define ISW_T_STATE_NORMAL 0x00 #define ISW_T_STATE_UNINITIALIZED 0X01 #define ISW_T_STATE_DEGRADED 0x02 #define ISW_T_STATE_FAILED 0x03 uint8_t raid_level; #define ISW_T_RAID0 0 #define ISW_T_RAID1 1 #define ISW_T_RAID10 2 #define ISW_T_RAID5 5 // since metadata version 1.2.02 ? #define ISW_T_SPARE 8 #define ISW_T_UNDEF 0xff uint8_t num_members; // number of member disks uint8_t num_domains; uint8_t failed_disk_num; #define ISW_DEV_NONE_FAILED 255 uint8_t ddf; // not used, should be set to 1 uint32_t filler[7]; // expansion area uint32_t disk_ord_tbl[1]; /* disk_ord_tbl[num_members], top byte special */ } __attribute__ ((packed)); struct isw_vol { uint32_t curr_migr_unit; uint32_t check_point_id; uint8_t migr_state; #define ISW_T_MIGR_STATE_NORMAL 0 #define ISW_T_MIGR_STATE_MIGRATING 1 uint8_t migr_type; #define ISW_T_MIGR_TYPE_INITIALIZING 0 #define ISW_T_MIGR_TYPE_REBUILDING 1 #define ISW_T_MIGR_TYPE_VERIFYING 2 #define ISW_T_MIGR_TYPE_GENERAL_MIGRATION 3 #define ISW_T_MIGR_TYPE_STATE_CHANGE 4 uint8_t dirty; uint8_t fs_state; uint16_t verify_errors; uint16_t verify_bad_blocks; #define ISW_RAID_VOL_FILLERS 4 uint32_t filler[ISW_RAID_VOL_FILLERS]; struct isw_map map[1]; // here comes another one if migr_state } __attribute__ ((packed)); struct isw_dev { uint8_t volume[MAX_RAID_SERIAL_LEN]; uint32_t SizeLow; uint32_t SizeHigh; uint32_t status; /* Persistent RaidDev status */ #define ISW_DEV_BOOTABLE 0x01 #define ISW_DEV_BOOT_DEVICE 0x02 #define ISW_DEV_READ_COALESCING 0x04 #define ISW_DEV_WRITE_COALESCING 0x08 #define ISW_DEV_LAST_SHUTDOWN_DIRTY 0x10 #define ISW_DEV_HIDDEN_AT_BOOT 0x20 #define ISW_DEV_CURRENTLY_HIDDEN 0x40 #define ISW_DEV_VERIFY_AND_FIX 0x80 #define ISW_DEV_MAP_STATE_UNINIT 0x100 #define ISW_DEV_NO_AUTO_RECOVERY 0x200 #define ISW_DEV_CLONE_N_GO 0x400 #define ISW_DEV_CLONE_MAN_SYNC 0x800 #define ISW_DEV_CNG_MASTER_DISK_NUM 0x1000 uint32_t reserved_blocks; /* Reserved blocks at beginning of volume */ uint8_t migr_priority; /* Medium, Low, High */ uint8_t num_sub_vol; /* number of subvolumes */ uint8_t tid; /* target Id */ uint8_t cng_master_disk; /* */ uint16_t cache_policy; /* Persistent cache info */ uint8_t cng_state; uint8_t cng_sub_state; #define ISW_DEV_FILLERS 10 uint32_t filler[ISW_DEV_FILLERS]; struct isw_vol vol; } __attribute__ ((packed)); struct isw { int8_t sig[MAX_SIGNATURE_LENGTH]; /* 0x0 - 0x1F */ uint32_t check_sum; /* 0x20 - 0x23 MPB Checksum */ uint32_t mpb_size; /* 0x24 - 0x27 Size of MPB */ uint32_t family_num; /* 0x28 - 0x2B Checksum from first time this config was written */ /* 0x2C - 0x2F Incremented each time this array's MPB is written */ uint32_t generation_num; uint32_t error_log_size; /* 0x30 - 0x33 in bytes */ #define MPB_ATTRIB_CHECKSUM_VERIFY 0x80000000 uint32_t attributes; /* 0x34 - 0x37 */ uint8_t num_disks; /* 0x38 Number of configured disks */ uint8_t num_raid_devs; /* 0x39 Number of configured volumes */ uint8_t error_log_pos; /* 0x3A */ uint8_t fill[1]; /* 0x3B */ uint32_t cache_size; /* 0x3c - 0x40 in mb */ uint32_t orig_family_num; /* 0x40 - 0x43 original family num */ uint32_t power_cycle_count; /* 0x44 - 0x47 sumulated power cycle count for array */ uint32_t bbm_log_size; /* 0x48 - 0x4b size of bbm log in bytes */ #define ISW_FILLERS 35 uint32_t filler[ISW_FILLERS]; /* 0x3C - 0xD7 RAID_MPB_FILLERS */ struct isw_disk disk[1]; /* 0xD8 diskTbl[numDisks] */ // here comes isw_dev[num_raid_devs] } __attribute__ ((packed)); #endif int register_isw(struct lib_context *lc); #endif dmraid/1.0.0.rc16/lib/format/ataraid/lsi.c0000644000175200007640000002134511254123773020322 0ustar mauelshamauelsha/* * LSI Logic MegaRAID (and MegaIDE ?) ATARAID metadata format handler. * * Copyright (C) 2004-2008 Heinz Mauelshagen, Red Hat GmbH. * All rights reserved. * * See file LICENSE at the top of this source tree for license information. */ /* * FIXME: needs more metadata reengineering and grouping logic coding. */ #define HANDLER "lsi" #include "internal.h" #define FORMAT_HANDLER #include "lsi.h" #if BYTE_ORDER != LITTLE_ENDIAN # define DM_BYTEORDER_SWAB # include #endif static const char *handler = HANDLER; /* Make up RAID device name. */ /* FIXME: senseful name ;) */ static unsigned int get_disk_slot(struct lsi *lsi) { return lsi->set_number * 2 + lsi->disk_number; } static struct lsi_disk * get_disk(struct lsi *lsi) { return lsi->disks + get_disk_slot(lsi); } static size_t _name(struct lsi *lsi, char *str, size_t len, unsigned int subset) { return snprintf(str, len, subset ? "lsi_%u%u-%u" : "lsi_%u%u", lsi->set_id, lsi->set_number, get_disk(lsi)->raid10_mirror); } static char * name(struct lib_context *lc, struct raid_dev *rd, unsigned int subset) { size_t len; char *ret; struct lsi *lsi = META(rd, lsi); subset = subset && (lsi->type == LSI_T_RAID10); if ((ret = dbg_malloc((len = _name(lsi, NULL, 0, subset) + 1)))) { _name(lsi, ret, len, subset); mk_alpha(lc, ret + HANDLER_LEN, strlen(ret) - HANDLER_LEN - (subset ? 2 : 0)); } else log_alloc_err(lc, handler); return ret; } /* Neutralize disk type */ static enum type type(struct lsi *lsi) { /* Mapping of LSI Logic types to generic types */ static struct types types[] = { { LSI_T_RAID0, t_raid0 }, { LSI_T_RAID1, t_raid1 }, { LSI_T_RAID10, t_raid0 }, { 0, t_undef } }; return rd_type(types, (unsigned int) lsi->type); } /* LSI device status. */ /* FIXME: add flesh. */ static int status(struct lsi *lsi) { return s_ok; } /* Decide about ordering sequence of RAID device. */ static int dev_sort(struct list_head *pos, struct list_head *new) { struct lsi *p = META(RD(pos), lsi), *n = META(RD(new), lsi); switch (n->type) { case LSI_T_RAID10: return (get_disk(n))->raid10_stripe < (get_disk(p))->raid10_stripe; default: /* RAID0 + RAID01 */ return get_disk_slot(n) < get_disk_slot(p); } } /* Decide about ordering sequence of RAID subset. */ static int set_sort(struct list_head *pos, struct list_head *new) { struct lsi *p = META(RD_RS(pos), lsi), *n = META(RD_RS(new), lsi); return n->disks[get_disk_slot(n)].raid10_mirror < p->disks[get_disk_slot(p)].raid10_mirror; } /* * Read an LSI Logic RAID device */ /* Endianess conversion. */ #if BYTE_ORDER == LITTLE_ENDIAN # define to_cpu NULL #else static void to_cpu(void *meta) { struct lsi *lsi = meta; struct lsi_disk *disk; CVT16(lsi->stride); for (disk = lsi->disks; disk < &lsi->disks[LSI_MAX_DISKS]; disk++) { CVT16(disk->magic_0); CVT16(disk->magic_1); } CVT32(lsi->set_id); } #endif static int is_lsi(struct lib_context *lc, struct dev_info *di, void *meta) { return !strncmp((const char *) ((struct lsi *) meta)->magic_name, LSI_MAGIC_NAME, LSI_MAGIC_NAME_LEN); } static int setup_rd(struct lib_context *lc, struct raid_dev *rd, struct dev_info *di, void *meta, union read_info *info); static struct raid_dev * lsi_read(struct lib_context *lc, struct dev_info *di) { return read_raid_dev(lc, di, NULL, sizeof(struct lsi), LSI_CONFIGOFFSET, to_cpu, is_lsi, NULL, setup_rd, handler); } /* * Write a LSI Logic RAID device. */ static int lsi_write(struct lib_context *lc, struct raid_dev *rd, int erase) { int ret; #if BYTE_ORDER != LITTLE_ENDIAN struct lsi *lsi = META(rd, lsi); to_disk(lsi); #endif ret = write_metadata(lc, handler, rd, -1, erase); #if BYTE_ORDER != LITTLE_ENDIAN to_cpu(lsi); #endif return ret; } /* * Group the RAID disk into a set. * * FIXME: this needs more work together with the metadata reengineering. */ static void super_created(struct raid_set *ss, void *private) { ss->type = t_raid1; ss->stride = META(private, lsi)->stride; } static int group_rd(struct lib_context *lc, struct raid_set *rs, struct raid_set **ss, struct raid_dev *rd) { struct lsi *lsi = META(rd, lsi); /* Refuse to add drives that are not online */ if (get_disk(lsi)->offline) return 0; if (!init_raid_set(lc, rs, rd, lsi->stride, type(lsi), handler)) return 0; list_add_sorted(lc, &rs->devs, &rd->devs, dev_sort); switch (lsi->type) { case LSI_T_RAID0: case LSI_T_RAID1: if (!find_set(lc, NULL, rs->name, FIND_TOP)) list_add_tail(&rs->list, LC_RS(lc)); break; case LSI_T_RAID10: if (!(*ss = join_superset(lc, name, super_created, set_sort, rs, rd))) return 0; } return 1; } static struct raid_set * lsi_group(struct lib_context *lc, struct raid_dev *rd) { struct raid_set *rs, *ss = NULL; if (T_SPARE(rd)) return NULL; if ((rs = find_or_alloc_raid_set(lc, rd->name, FIND_ALL, rd, NO_LIST, NO_CREATE, NO_CREATE_ARG))) return group_rd(lc, rs, &ss, rd) ? (ss ? ss : rs) : NULL; return NULL; } /* Figure total number of disks depending on RAID type. */ static unsigned int devices(struct raid_dev *rd, void *context) { switch (META(rd, lsi)->type) { case LSI_T_RAID10: return 4; case LSI_T_RAID0: case LSI_T_RAID1: return 2; } return 0; } /* * Check an LSI RAID set. * * FIXME: more sanity checks!!! */ static int lsi_check(struct lib_context *lc, struct raid_set *rs) { return check_raid_set(lc, rs, devices, NULL, NO_CHECK_RD, NULL, handler); } /* * IO error event handler. */ static int event_io(struct lib_context *lc, struct event_io *e_io) { struct raid_dev *rd = e_io->rd; struct lsi *lsi = META(rd, lsi); /* Avoid write trashing. */ if (status(lsi) & s_broken) return 0; // FIXME: lsi->? = BAD; return 1; } static struct event_handlers lsi_event_handlers = { .io = event_io, .rd = NULL, /* FIXME: no device add/remove event handler yet. */ }; #ifdef DMRAID_NATIVE_LOG /* Log native information about an LSI Logic RAID device. */ static void lsi_log(struct lib_context *lc, struct raid_dev *rd) { unsigned int i; struct lsi *lsi = META(rd, lsi); struct lsi_disk *disk; log_print(lc, "%s (%s):", rd->di->path, handler); DP("magic_name: %s", lsi, lsi->magic_name); P("dummy: %u, 0x%x", lsi, lsi->dummy, lsi->dummy, lsi->dummy); DP("seqno: %u", lsi, lsi->seqno); P("dummy2: %u, 0x%x", lsi, lsi->dummy2, lsi->dummy2, lsi->dummy2); P("dummy3: %u, 0x%x", lsi, lsi->dummy3, lsi->dummy3, lsi->dummy3); DP("type: %u", lsi, lsi->type); P("dummy4: %u, 0x%x", lsi, lsi->dummy4, lsi->dummy4, lsi->dummy4); DP("stride: %u", lsi, lsi->stride); for (disk = lsi->disks, i = 0; i < LSI_MAX_DISKS; disk++, i++) { P("disks[%u].raid10_stripe: %u", lsi, disk, i, disk->raid10_stripe); P("disks[%u].raid10_mirror: %u", lsi, disk, i, disk->raid10_mirror); P("disks[%u].unknown: %u, 0x%x", lsi, disk, i, disk->unknown, disk->unknown); P("disks[%u].magic_0: 0x%x, %x, %x", lsi, disk->magic_0, i, disk->magic_0, (unsigned char) (((char *) &disk->magic_0)[0]), (unsigned char) (((char *) &disk->magic_0)[1])); P("disks[%u].magic_1: 0x%x, %x, %x", lsi, disk->magic_1, i, disk->magic_1, (unsigned char) (((char *) &disk->magic_1)[0]), (unsigned char) (((char *) &disk->magic_1)[1])); P("disks[%u].disk_number: %u", lsi, disk->disk_number, i, disk->disk_number); P("disks[%u].set_number: %u", lsi, disk->set_number, i, disk->set_number); P("disks[%u].unknown1: %lu, 0x%lX", lsi, disk->unknown1, i, (uint64_t) disk->unknown1, (uint64_t) disk->unknown1); } DP("disk_number: %u", lsi, lsi->disk_number); DP("set_number: %u", lsi, lsi->set_number); DP("set_id: %u", lsi, lsi->set_id); } #endif static struct dmraid_format lsi_format = { .name = HANDLER, .descr = "LSI Logic MegaRAID", .caps = "0,1,10", .format = FMT_RAID, .read = lsi_read, .write = lsi_write, .group = lsi_group, .check = lsi_check, .events = &lsi_event_handlers, #ifdef DMRAID_NATIVE_LOG .log = lsi_log, #endif }; /* Register this format handler with the format core. */ int register_lsi(struct lib_context *lc) { return register_format_handler(lc, &lsi_format); } /* Set the RAID device contents up derived from the LSI ones */ static int setup_rd(struct lib_context *lc, struct raid_dev *rd, struct dev_info *di, void *meta, union read_info *info) { struct lsi *lsi = meta; if (!(rd->meta_areas = alloc_meta_areas(lc, rd, handler, 1))) return 0; rd->meta_areas->offset = LSI_CONFIGOFFSET >> 9; rd->meta_areas->size = sizeof(*lsi); rd->meta_areas->area = (void *) lsi; rd->di = di; rd->fmt = &lsi_format; rd->status = status(lsi); rd->type = type(lsi); rd->offset = LSI_DATAOFFSET; /* FIXME: propper size ? */ if (!(rd->sectors = rd->meta_areas->offset)) return log_zero_sectors(lc, di->path, handler); return (rd->name = name(lc, rd, 1)) ? 1 : 0; } dmraid/1.0.0.rc16/lib/format/ataraid/pdc.c0000644000175200007640000003726711254123773020313 0ustar mauelshamauelsha/* * Promise FastTrak ATARAID metadata format handler. * * Copyright (C) 2004-2008 Heinz Mauelshagen, Red Hat GmbH. * All rights reserved. * * See file LICENSE at the top of this source tree for license information. */ /* * pdc_read() and pdc_group() profited from * Carl-Daniel Hailfinger's raiddetect code. */ #define HANDLER "pdc" #include "internal.h" #define FORMAT_HANDLER #include "pdc.h" #if BYTE_ORDER != LITTLE_ENDIAN # define DM_BYTEORDER_SWAB # include #endif static const char *handler = HANDLER; /* * Make up Promise RAID device name. */ static unsigned set_number(struct pdc *pdc) { return pdc->raid.disk_number >= (pdc->raid.total_disks / 2); } static size_t __name(struct pdc *pdc, char *str, size_t len, int subset) { return snprintf(str, len, subset ? "pdc_%u-%u" : "pdc_%u", pdc->raid.magic_1, set_number(pdc)); } static char * _name(struct lib_context *lc, struct pdc *pdc, unsigned subset) { size_t len; char *ret = NULL; if ((ret = dbg_malloc((len = __name(pdc, ret, 0, subset) + 1)))) { __name(pdc, ret, len, subset); mk_alpha(lc, ret + HANDLER_LEN, len - HANDLER_LEN - (subset ? 2 : 0)); } else log_alloc_err(lc, handler); return ret; } static char * name(struct lib_context *lc, struct raid_dev *rd, unsigned subset) { return _name(lc, META(rd, pdc), subset); } /* * Retrieve status of device. * * FIXME: need to identify state definitions. */ static enum status status(struct pdc *pdc) { return PDC_BROKEN(pdc) ? s_broken : s_ok; } #define PDC_T_RAID10 0x2 /* Not defind by Promise (yet). */ static int is_raid10(struct pdc *pdc) { return pdc->raid.type == PDC_T_RAID10 || (pdc->raid.type == PDC_T_RAID1 && pdc->raid.total_disks > 3); } /* Neutralize disk type */ static enum type type(struct pdc *pdc) { /* Mapping of Promise types to generic types. */ static struct types types[] = { { PDC_T_SPAN, t_linear }, { PDC_T_RAID0, t_raid0 }, { PDC_T_RAID1, t_raid1 }, { PDC_T_RAID10, t_raid0 }, { 0, t_undef } }; if (is_raid10(pdc)) pdc->raid.type = PDC_T_RAID10; return rd_type(types, (unsigned) pdc->raid.type); } /* Calculate checksum on Promise metadata. */ static uint32_t checksum(struct pdc *pdc) { unsigned i = 511, sum = 0; uint32_t *p = (uint32_t *) pdc; while (i--) sum += *p++; return sum == pdc->checksum; } /* Calculate metadata offset. */ /* * Read a Promise FastTrak RAID device */ /* Endianess conversion. */ #if BYTE_ORDER == LITTLE_ENDIAN # define to_cpu NULL #else static void to_cpu(void *meta) { struct pdc *pdc = meta; struct pdc_disk *disk; CVT32(pdc->magic_0); CVT32(pdc->magic_1); CVT32(pdc->raid.flags); CVT32(pdc->raid.magic_0); CVT32(pdc->raid.disk_secs); CVT32(pdc->raid.total_secs); CVT16(pdc->raid.cylinders); CVT32(pdc->raid.magic_1); for (disk = pdc->raid.disk; disk < pdc->raid.disk + pdc->raid.total_disks; disk++) { CVT32(disk->magic_0); CVT32(disk->disk_number); } } #endif /* Check for Promis signature. */ static int is_signature(struct pdc *pdc) { return !strncmp((const char *) pdc->promise_id, PDC_MAGIC, PDC_ID_LENGTH); } /* Read and try to discover Promise signature. */ static void * pdc_read_metadata(struct lib_context *lc, struct dev_info *di, size_t *size, uint64_t *offset, union read_info *info) { struct pdc *ret; unsigned ma, sub; unsigned pdc_sectors_max = di->sectors - div_up(sizeof(*ret), 512); /* Assume certain sectors off the end of the RAID device. */ static unsigned end_sectors[] = { PDC_CONFIGOFFSETS, 0, }; /* ...or beginning of large RAID device. */ static unsigned begin_sectors[] = { 268435377, 0, }; unsigned *s = end_sectors; uint64_t sector; *size = sizeof(*ret); pdc_sectors_max = di->sectors - div_up(*size, 512); if (!(ret = alloc_private(lc, handler, PDC_MAX_META_AREAS * sizeof(*ret)))) return NULL; info->u32 = 0; sub = 1; do { /* Check all sector offsets for metadata signature. */ for (; *s && !info->u32; s++) { sector = sub ? di->sectors - *s : *s; /* ...and all possible optional metadata signatures. */ for (ma = 0; ma < PDC_MAX_META_AREAS && sector <= pdc_sectors_max; ma++, sector += PDC_META_OFFSET) { if (read_file(lc, handler, di->path, ret + ma, sizeof(*ret), sector << 9)) { /* No signature? */ if (!is_signature(ret + ma)) { if (info->u32) goto out; else break; /* Memorize main metadata sector. */ } else if (!info->u32) info->u32 = *s; } } } /* Retry relative to beginning of device if none... */ if (!info->u32) s = begin_sectors; } while (!info->u32 && sub--); out: /* No metadata signature(s) found. */ if (!info->u32) { dbg_free(ret); ret = NULL; } return ret; } /* Magic check. */ static int is_pdc(struct lib_context *lc, struct dev_info *di, void *meta) { struct pdc *pdc = meta; /* * No we've got the PDC magic string veryfied, we can * check that the rest of the metadata is valid. */ if (pdc->raid.total_disks && pdc->raid.total_disks < PDC_MAXDISKS) return 1; LOG_ERR(lc, 0, "%s: identifying %s, magic_0: 0x%x/0x%x, " "magic_1: 0x%x/0x%x, total_disks: %u", handler, di->path, pdc->magic_0, pdc->raid.magic_0, pdc->magic_1, pdc->raid.magic_1, pdc->raid.total_disks); } static int setup_rd(struct lib_context *lc, struct raid_dev *rd, struct dev_info *di, void *meta, union read_info *info); static struct raid_dev * pdc_read(struct lib_context *lc, struct dev_info *di) { return read_raid_dev(lc, di, pdc_read_metadata, 0, 0, to_cpu, is_pdc, NULL, setup_rd, handler); } /* * Write a Promise FastTrak RAID device. */ static int pdc_write(struct lib_context *lc, struct raid_dev *rd, int erase) { int ret; #if BYTE_ORDER != LITTLE_ENDIAN struct pdc *pdc = META(rd, pdc); to_disk(pdc); #endif ret = write_metadata(lc, handler, rd, -1, erase); #if BYTE_ORDER != LITTLE_ENDIAN to_cpu(pdc); #endif return ret; } /* Decide about ordering sequence of RAID device. */ static int dev_sort(struct list_head *pos, struct list_head *new) { return META(RD(new), pdc)->raid.disk_number < META(RD(pos), pdc)->raid.disk_number; } /* Decide about ordering sequence of RAID subset. */ static int set_sort(struct list_head *pos, struct list_head *new) { return !set_number(META(RD_RS(RS(new)), pdc)); } /* * Group the RAID disk into a Promise set. */ static unsigned stride(struct pdc *pdc) { return pdc->raid.raid0_shift ? (1 << pdc->raid.raid0_shift) : 0; } static void super_created(struct raid_set *super, void *private) { super->type = t_raid1; super->stride = stride(META((private), pdc)); } /* Calculate RAID device size in sectors depending on RAID type. */ static uint64_t sectors(struct raid_dev *rd, unsigned meta_sector) { struct pdc *pdc = META(rd, pdc); switch (pdc->raid.type) { case PDC_T_RAID10: return pdc->raid.total_secs / (pdc->raid.total_disks / 2); case PDC_T_RAID1: return pdc->raid.total_secs; case PDC_T_RAID0: return pdc->raid.total_secs / pdc->raid.total_disks; case PDC_T_SPAN: return rd->di->sectors - meta_sector; } return 0; } static struct raid_dev * _create_rd(struct lib_context *lc, struct raid_dev *rd, struct pdc *pdc, unsigned idx) { struct raid_dev *r; if (!is_pdc(lc, rd->di, pdc) || !(r = alloc_raid_dev(lc, handler))) return NULL; if ((r->type = type(pdc)) == t_undef) { log_err(lc, "%s: RAID type %u not supported", handler, (unsigned) pdc->raid.type); goto bad_free; } if (!(r->name = _name(lc, pdc, is_raid10(pdc)))) goto bad_free; /* Allocate meta_areas for devices() to work. */ if (!(r->meta_areas = alloc_meta_areas(lc, r, handler, 1))) goto bad_free; /* Allocate private metadata area so that free_raid_dev() succeeds. */ r->meta_areas->area = alloc_private(lc, handler, sizeof(*pdc)); if (!r->meta_areas->area) goto bad_free; memcpy(r->meta_areas->area, pdc, sizeof(*pdc)); r->meta_areas->size = sizeof(*pdc); r->meta_areas->offset = rd->meta_areas->offset + idx * PDC_META_OFFSET; r->di = rd->di; r->fmt = rd->fmt; r->status = status(pdc); /* * Type needs to be set before sectors(), because we need * to set the RAID10 type used there! */ r->type = type(pdc); r->offset = pdc->raid.start; if ((r->sectors = sectors(r, 0))) goto out; log_zero_sectors(lc, r->di->path, handler); bad_free: free_raid_dev(lc, &r); out: return r; } /* Add a PDC RAID device to a set. */ static int _group_rd(struct lib_context *lc, struct raid_set *rs, struct raid_set **ss, struct raid_dev *rd, struct pdc *pdc) { if (!init_raid_set(lc, rs, rd, stride(pdc), pdc->raid.type, handler)) return 0; list_add_sorted(lc, &rs->devs, &rd->devs, dev_sort); switch (pdc->raid.type) { case PDC_T_SPAN: case PDC_T_RAID0: case PDC_T_RAID1: if (!find_set(lc, NULL, rs->name, FIND_TOP)) list_add_tail(&rs->list, LC_RS(lc)); break; case PDC_T_RAID10: /* * RAID10: * * We've got a striped raid set with a mirror on top * when we get here. * Let's find and optionally allocate the mirror set on top. */ if (!(*ss = join_superset(lc, name, super_created, set_sort, rs, rd))) return 0; } return 1; } static inline unsigned count_meta_areas(struct pdc *pdc) { unsigned r; /* Count metadata signatures discovered by pdc_read_metadata(). */ for (r = 0; r < PDC_MAX_META_AREAS; r++) { if (!is_signature(pdc + r)) break; } return r; } /* FIXME: different super sets possible with multiple metadata areas ? */ static int group_rd(struct lib_context *lc, struct raid_set *rs, struct raid_set **ss, struct raid_dev *rd) { int r; struct pdc *pdc = META(rd, pdc); unsigned idx = 0, ma = count_meta_areas(pdc); struct raid_dev *rd_tmp; struct raid_set *rs_tmp; /* Group the one we already have. */ r = _group_rd(lc, rs, ss, rd, META(rd, pdc)); /* Group any additional ones. */ while (r && --ma) { if (!(rd_tmp = _create_rd(lc, rd, ++pdc, ++idx))) return 0; if (!(rs_tmp = find_or_alloc_raid_set(lc, rd_tmp->name, FIND_ALL, rd_tmp, NO_LIST, NO_CREATE, NO_CREATE_ARG))) { free_raid_dev(lc, &rd_tmp); return 0; } r = _group_rd(lc, rs_tmp, ss, rd_tmp, pdc); } return r; } static struct raid_set * pdc_group(struct lib_context *lc, struct raid_dev *rd) { struct raid_set *rs, *ss = NULL; if (T_SPARE(rd)) return NULL; if ((rs = find_or_alloc_raid_set(lc, rd->name, FIND_ALL, rd, NO_LIST, NO_CREATE, NO_CREATE_ARG))) return group_rd(lc, rs, &ss, rd) ? (ss ? ss : rs) : NULL; return NULL; } /* * Check a PDC RAID set. * * FIXME: more sanity checks. */ static unsigned devices(struct raid_dev *rd, void *context) { struct pdc *pdc = META(rd, pdc); if (context && pdc->raid.type != PDC_T_SPAN) *((uint64_t *) context) += rd->sectors; return pdc->raid.total_disks; } static int check_rd(struct lib_context *lc, struct raid_set *rs, struct raid_dev *rd, void *context) { return *((uint64_t *) context) >= (META(rd, pdc))->raid.total_secs; } static int pdc_check(struct lib_context *lc, struct raid_set *rs) { uint64_t total_secs = 0; /* * Calculate total_secs in 1st check_raid_set() run and * check the device sizes against that in the 2nd run. */ return check_raid_set(lc, rs, devices, &total_secs, NO_CHECK_RD, NULL, handler) && check_raid_set(lc, rs, devices, NULL, check_rd, &total_secs, handler); } /* * IO error event handler. */ static int event_io(struct lib_context *lc, struct event_io *e_io) { struct raid_dev *rd = e_io->rd; struct pdc *pdc = META(rd, pdc); /* Avoid write trashing. */ if (status(pdc) & s_broken) return 0; PDC_SET_BROKEN(pdc); return 1; } static struct event_handlers pdc_event_handlers = { .io = event_io, .rd = NULL, /* FIXME: no device add/remove event handler yet. */ }; #ifdef DMRAID_NATIVE_LOG /* Log native information about a Promise RAID device. */ static void _pdc_log(struct lib_context *lc, struct dev_info *di, struct pdc *pdc) { unsigned i; struct pdc_disk *disk; log_print(lc, "%s (%s):", di->path, handler); DP("promise_id: \"%s\"", pdc, pdc->promise_id); P("unknown_0: 0x%x %u", pdc, pdc->unknown_0, pdc->unknown_0, pdc->unknown_0); DP("magic_0: 0x%x", pdc, pdc->magic_0); P("unknown_1: 0x%x %u", pdc, pdc->unknown_1, pdc->unknown_1, pdc->unknown_1); DP("magic_1: 0x%x", pdc, pdc->magic_1); P("unknown_2: 0x%x %u", pdc, pdc->unknown_2, pdc->unknown_2, pdc->unknown_2); DP("raid.flags: 0x%x", pdc, pdc->raid.flags); P("raid.unknown_0: 0x%x %d", pdc, pdc->raid.unknown_0, pdc->raid.unknown_0, pdc->raid.unknown_0); DP("raid.disk_number: %u", pdc, pdc->raid.disk_number); DP("raid.channel: %u", pdc, pdc->raid.channel); DP("raid.device: %u", pdc, pdc->raid.device); DP("raid.magic_0: 0x%x", pdc, pdc->raid.magic_0); P("raid.unknown_1: 0x%x %u", pdc, pdc->raid.unknown_1, pdc->raid.unknown_1, pdc->raid.unknown_1); P("raid.start: 0x%x %u", pdc, pdc->raid.start, pdc->raid.start, pdc->raid.start); DP("raid.disk_secs: %u", pdc, pdc->raid.disk_secs); P("raid.unknown_3: 0x%x %u", pdc, pdc->raid.unknown_3, pdc->raid.unknown_3, pdc->raid.unknown_3); P("raid.unknown_4: 0x%x %u", pdc, pdc->raid.unknown_4, pdc->raid.unknown_4, pdc->raid.unknown_4); DP("raid.status: 0x%x", pdc, pdc->raid.status); DP("raid.type: 0x%x", pdc, pdc->raid.type); DP("raid.total_disks: %u", pdc, pdc->raid.total_disks); DP("raid.raid0_shift: %u", pdc, pdc->raid.raid0_shift); DP("raid.raid0_disks: %u", pdc, pdc->raid.raid0_disks); DP("raid.array_number: %u", pdc, pdc->raid.array_number); DP("raid.total_secs: %u", pdc, pdc->raid.total_secs); DP("raid.cylinders: %u", pdc, pdc->raid.cylinders); DP("raid.heads: %u", pdc, pdc->raid.heads); DP("raid.sectors: %u", pdc, pdc->raid.sectors); DP("raid.magic_1: 0x%x", pdc, pdc->raid.magic_1); P("raid.unknown_5: 0x%x %u", pdc, pdc->raid.unknown_5, pdc->raid.unknown_5, pdc->raid.unknown_5); for (disk = pdc->raid.disk, i = 0; i < pdc->raid.total_disks; disk++, i++) { P2("raid.disk[%d].unknown_0: 0x%x", pdc, i, disk->unknown_0); P2("raid.disk[%d].channel: %u", pdc, i, disk->channel); P2("raid.disk[%d].device: %u", pdc, i, disk->device); P2("raid.disk[%d].magic_0: 0x%x", pdc, i, disk->magic_0); P2("raid.disk[%d].disk_number: %u", pdc, i, disk->disk_number); } P("checksum: 0x%x %s", pdc, pdc->checksum, pdc->checksum, checksum(pdc) ? "Ok" : "BAD"); } static void pdc_log(struct lib_context *lc, struct raid_dev *rd) { _pdc_log(lc, rd->di, META(rd, pdc)); } #endif static struct dmraid_format pdc_format = { .name = HANDLER, .descr = "Promise FastTrack", .caps = "S,0,1,10", .format = FMT_RAID, .read = pdc_read, .write = pdc_write, .group = pdc_group, .check = pdc_check, .events = &pdc_event_handlers, #ifdef DMRAID_NATIVE_LOG .log = pdc_log, #endif }; /* Register this format handler with the format core. */ int register_pdc(struct lib_context *lc) { return register_format_handler(lc, &pdc_format); } /* Set the RAID device contents up derived from the PDC ones */ static int setup_rd(struct lib_context *lc, struct raid_dev *rd, struct dev_info *di, void *meta, union read_info *info) { unsigned meta_sector; struct pdc *pdc = meta; if (!checksum(pdc)) LOG_ERR(lc, 0, "%s: invalid checksum on %s", handler, di->path); if (!(rd->meta_areas = alloc_meta_areas(lc, rd, handler, 1))) return 0; meta_sector = info->u32; rd->meta_areas->offset = di->sectors - meta_sector; rd->meta_areas->size = sizeof(*pdc); rd->meta_areas->area = pdc; rd->di = di; rd->fmt = &pdc_format; rd->status = status(pdc); /* * Type needs to be set before sectors(), because we need * to set the RAID10 type used there! */ rd->type = type(pdc); rd->offset = PDC_DATAOFFSET; if (!(rd->sectors = sectors(rd, meta_sector))) return log_zero_sectors(lc, di->path, handler); return (rd->name = _name(lc, pdc, is_raid10(pdc))) ? 1 : 0; } dmraid/1.0.0.rc16/lib/format/ataraid/pdc.h0000644000175200007640000000506711254123773020311 0ustar mauelshamauelsha/* * Copyright (C) 2004,2005 Heinz Mauelshagen, Red Hat GmbH. * All rights reserved. * * See file LICENSE at the top of this source tree for license information. */ #ifndef _PDC_H_ #define _PDC_H_ #ifdef FORMAT_HANDLER #undef FORMAT_HANDLER #include #define PDC_CONFIGOFFSETS 63,255,256,16,399,591,675,735,974,991 #define PDC_DATAOFFSET 0 /* * Maximum metadata areas checked for and offset of * those relative to PDC_CONFIGOFFSETS value in sectors. */ #define PDC_MAX_META_AREAS 4 #define PDC_META_OFFSET 14 /* Ondisk metadata for Promise Fastrack */ struct pdc { #define PDC_ID_LENGTH 24 uint8_t promise_id[PDC_ID_LENGTH]; /* 0x00 - 0x17 */ #define PDC_MAGIC "Promise Technology, Inc." uint32_t unknown_0; /* 0x18 - 0x1B */ uint32_t magic_0; /* 0x1C - 0x1F */ uint32_t unknown_1; /* 0x20 - 0x23 */ uint32_t magic_1; /* 0x24 - 0x27 */ uint16_t unknown_2; /* 0x28 - 0x2B */ uint8_t filler1[470]; /* 0x2C - 0x1FF */ struct { uint32_t flags; /* 0x200 - 0x203 */ uint8_t unknown_0; /* 0x204 */ uint8_t disk_number; /* 0x205 */ uint8_t channel; /* 0x206 */ uint8_t device; /* 0x207 */ uint32_t magic_0; /* 0x208 - 0x20B */ uint32_t unknown_1; /* 0x20C - 0x20F */ // uint32_t unknown_2; /* 0x210 - 0x213 */ uint32_t start; /* 0x210 - 0x213 */ uint32_t disk_secs; /* 0x214 - 0x217 */ uint32_t unknown_3; /* 0x218 - 0x21B */ uint16_t unknown_4; /* 0x21C - 0x21D */ uint8_t status; /* 0x21E */ /* FIXME: bit 0x80 doesn't seem to indicate error as previously assumed. */ // #define PDC_BROKEN(pdc) ((pdc)->raid.status & 0x80) #define PDC_BROKEN(pdc) ((pdc)->raid.status & 0x00) #define PDC_SET_BROKEN(pdc) ((pdc)->raid.status |= 0x80) uint8_t type; /* 0x21F */ #define PDC_T_RAID0 0x0 #define PDC_T_RAID1 0x1 #define PDC_T_SPAN 0x8 uint8_t total_disks; /* 0x220 */ uint8_t raid0_shift; /* 0x221 */ uint8_t raid0_disks; /* 0x222 */ uint8_t array_number; /* 0x223 */ uint32_t total_secs; /* 0x224 - 0x227 */ uint16_t cylinders; /* 0x228 - 0x229 */ uint8_t heads; /* 0x22A */ uint8_t sectors; /* 0x22B */ uint32_t magic_1; /* 0x22C - 0x2EF */ uint32_t unknown_5; /* 0x230 - 0x233 */ struct pdc_disk { uint16_t unknown_0; /* 0x234 - 0x235 */ uint8_t channel; /* 0x236 */ uint8_t device; /* 0x237 */ uint32_t magic_0; /* 0x238 - 0x23B */ uint32_t disk_number; /* 0x23C - 0x23F */ } disk[8]; } raid; uint32_t filler2[346]; /* 0x294 - */ uint32_t checksum; } __attribute__ ((packed)); #define PDC_MAXDISKS 8 #endif int register_pdc(struct lib_context *lc); #endif dmraid/1.0.0.rc16/lib/format/ataraid/nv.c0000644000175200007640000002464111254123773020160 0ustar mauelshamauelsha/* * NVidia NVRAID metadata format handler. * * Copyright (C) 2004 NVidia Corporation. All rights reserved. * * Copyright (C) 2004-2008 Heinz Mauelshagen, Red Hat GmbH. * All rights reserved. * * See file LICENSE at the top of this source tree for license information. */ #define HANDLER "nvidia" #include "internal.h" #define FORMAT_HANDLER #include "nv.h" #if BYTE_ORDER != LITTLE_ENDIAN # define DM_BYTEORDER_SWAB # include #endif static const char *handler = HANDLER; /* * Make up RAID device name from array signature. * * The subset parameter indicates the requirement to create * name suffixes in case the RAID set is hierarchical. */ static unsigned int _subset(struct nv *nv) { return nv->unitNumber >= nv->array.stripeWidth; } static size_t _name(struct nv *nv, char *str, size_t len, unsigned int subset) { unsigned int i = NV_SIGNATURES; uint32_t sum = 0; while (i--) sum += nv->array.signature[i]; return snprintf(str, len, subset ? "%s_%.8x-%u" : "%s_%.8x", handler, sum, _subset(nv)); } static char * name(struct lib_context *lc, struct raid_dev *rd, unsigned int subset) { size_t len; char *ret; struct nv *nv = META(rd, nv); subset &= NVRAID_1_0(nv); if ((ret = dbg_malloc((len = _name(nv, NULL, 0, subset) + 1)))) { _name(nv, ret, len, subset); mk_alpha(lc, ret + HANDLER_LEN, len - HANDLER_LEN - subset - 1); } else log_alloc_err(lc, handler); return ret; } static enum status status(struct nv *nv) { static struct states states[] = { { NV_IDLE, s_ok }, { NV_SCDB_INIT_RAID, s_nosync }, { NV_SCDB_SYNC_RAID, s_nosync }, { NV_SCDB_REBUILD_RAID, s_inconsistent }, { NV_SCDB_UPGRADE_RAID, s_inconsistent }, { 0, s_undef }, }; return NV_BROKEN(nv) ? s_broken : rd_status(states, nv->array.raidJobCode, EQUAL); } /* Neutralize disk type using generic metadata type mapping function. */ static enum type type(struct nv *nv) { uint8_t stripeWidth = nv->array.stripeWidth; /* Mapping of nv types to generic types */ static struct types types[] = { { NV_LEVEL_JBOD, t_linear }, { NV_LEVEL_0, t_raid0 }, { NV_LEVEL_1, t_raid1 }, /* Treat as 0 here, add mirror later */ { NV_LEVEL_1_0, t_raid0 }, { NV_LEVEL_3, t_raid4 }, { NV_LEVEL_5_SYM, t_raid5_ls }, { NV_LEVEL_UNKNOWN, t_spare }, /* FIXME: UNKNOWN = spare ? */ /* FIXME: The ones below don't really map to anything ?? */ { NV_LEVEL_10, t_undef }, { NV_LEVEL_5, t_undef }, /* Asymmetric RAID 5 is not used */ }; /* * FIXME: is there a direct way to decide what * a spare is (eg, NV_LEVEL_UNKNOWN) ? */ switch (NV_RAIDLEVEL(nv)) { case NV_LEVEL_1_0: case NV_LEVEL_10: case NV_LEVEL_1: stripeWidth *= 2; break; case NV_LEVEL_5_SYM: stripeWidth += 1; break; default: break; } if (nv->array.totalVolumes >= stripeWidth && nv->unitNumber >= stripeWidth) return t_spare; return rd_type(types, (unsigned int) NV_RAIDLEVEL(nv)); } /* Decide about ordering sequence of RAID device. */ static int dev_sort(struct list_head *pos, struct list_head *new) { return META(RD(new), nv)->unitNumber < META(RD(pos), nv)->unitNumber; } /* Decide about ordering sequence of RAID subset. */ static int set_sort(struct list_head *pos, struct list_head *new) { return _subset((META(RD_RS(RS(new)), nv))) < _subset((META(RD_RS(RS(pos)), nv))); } /* * Read a Template RAID device */ #if BYTE_ORDER == LITTLE_ENDIAN # define to_cpu NULL #else static void to_cpu(void *meta) { struct nv *nv = meta; unsigned int i = NV_SIGNATURES; struct nv_array_base *array = &nv->array; CVT32(nv->size); CVT32(nv->chksum); CVT16(nv->version); CVT32(nv->capacity); CVT32(nv->sectorSize); CVT32(nv->unitFlags); CVT32(array->version); while (i--) CVT32(array->signature[i]); CVT32(array->raidLevel); CVT32(array->stripeBlockSize); CVT32(array->stripeBlockByteSize); CVT32(array->stripeBlockPower); CVT32(array->stripeMask); CVT32(array->stripeSize); CVT32(array->stripeByteSize); CVT32(array->raidJobMark); CVT32(array->originalLevel); CVT32(array->originalCapacity); CVT32(array->flags); } #endif /* Check the metadata checksum. */ static int checksum(struct nv *nv) { uint32_t sum = 0; unsigned int s = nv->size; if (s != sizeof(*nv) / sizeof(sum)) return 0; while (s--) sum += ((uint32_t *) nv)[s]; /* Ignore chksum member itself. */ return nv->chksum - sum == nv->chksum; } static int is_nv(struct lib_context *lc, struct dev_info *di, void *meta) { struct nv *nv = meta; if (strncmp((char *) nv->vendor, NV_ID_STRING, sizeof(NV_ID_STRING) -1)) return 0; if (checksum(nv)) return 1; LOG_ERR(lc, 0, "%s: bad checksum on %s", handler, di->path); } static int setup_rd(struct lib_context *lc, struct raid_dev *rd, struct dev_info *di, void *meta, union read_info *info); static struct raid_dev * nv_read(struct lib_context *lc, struct dev_info *di) { return read_raid_dev(lc, di, NULL, sizeof(struct nv), NV_CONFIGOFFSET, to_cpu, is_nv, NULL, setup_rd, handler); } /* Write private RAID metadata to device */ static int nv_write(struct lib_context *lc, struct raid_dev *rd, int erase) { int ret; #if BYTE_ORDER != LITTLE_ENDIAN struct nv *nv = META(rd, nv); to_disk(nv); #endif ret = write_metadata(lc, handler, rd, -1, erase); #if BYTE_ORDER != LITTLE_ENDIAN to_cpu(nv); #endif return ret; } static void super_created(struct raid_set *ss, void *private) { ss->type = t_raid1; ss->stride = META(private, nv)->array.stripeBlockSize; } /* FIXME: handle spares in mirrors and check that types are correct. */ static int group_rd(struct lib_context *lc, struct raid_set *rs, struct raid_set **ss, struct raid_dev *rd) { struct nv *nv = META(rd, nv); if (!init_raid_set(lc, rs, rd, nv->array.stripeBlockSize, NV_RAIDLEVEL(nv), handler)) return 0; list_add_sorted(lc, &rs->devs, &rd->devs, dev_sort); switch (NV_RAIDLEVEL(nv)) { case NV_LEVEL_JBOD: case NV_LEVEL_0: case NV_LEVEL_1: case NV_LEVEL_5_SYM: if (!find_set(lc, NULL, rs->name, FIND_TOP)) list_add_tail(&rs->list, LC_RS(lc)); break; case NV_LEVEL_1_0: if (!(*ss = join_superset(lc, name, super_created, set_sort, rs, rd))) return 0; } return 1; } /* Add an NVidia RAID device to a set. */ static struct raid_set * nv_group(struct lib_context *lc, struct raid_dev *rd) { struct raid_set *rs, *ss = NULL; /* Spares are grouped with sets. */ if ((rs = find_or_alloc_raid_set(lc, rd->name, FIND_ALL, rd, NO_LIST, NO_CREATE, NO_CREATE_ARG))) return group_rd(lc, rs, &ss, rd) ? (ss ? ss : rs) : NULL; return NULL; } /* * Check integrity of an NVidia RAID set. * * FIXME: more sanity checks. */ static unsigned int devices(struct raid_dev *rd, void *context) { struct nv *nv = META(rd, nv); return nv->array.totalVolumes / (NVRAID_1_0(nv) ? 2 : 1); } static int nv_check(struct lib_context *lc, struct raid_set *rs) { return check_raid_set(lc, rs, devices, NULL, NO_CHECK_RD, NULL, handler); } /* * IO error event handler. */ static int event_io(struct lib_context *lc, struct event_io *e_io) { struct raid_dev *rd = e_io->rd; struct nv *nv = META(rd, nv); /* Avoid write trashing. */ if (status(nv) & s_broken) return 0; NV_SET_BROKEN(nv); log_err(lc, "%s: signature recalculation missing!", handler); return 1; } static struct event_handlers nv_event_handlers = { .io = event_io, .rd = NULL, /* FIXME: no device add/remove event handler yet. */ }; #ifdef DMRAID_NATIVE_LOG /* * Log native information about the RAID device. */ static void nv_log(struct lib_context *lc, struct raid_dev *rd) { unsigned int i, j; #define LEN NV_PRODUCTIDS + 1 char buffer[LEN]; struct nv *nv = META(rd, nv); struct nv_array_base *a = &nv->array; log_print(lc, "%s (%s):", rd->di->path, handler); P("%*s", nv, nv->vendor, NV_ID_LENGTH, nv->vendor); DP("size: %u", nv, nv->size); DP("chksum: %u", nv, nv->chksum); DP("version: %u", nv, nv->version); DP("unitNumber: %u", nv, nv->unitNumber); DP("reserved: %u", nv, nv->reserved); DP("capacity: %u", nv, nv->capacity); DP("sectorSize: %u", nv, nv->sectorSize); for (i = 0; i < NV_PRODUCTIDS; i++) buffer[i] = nv->productID[i]; buffer[i] = '\0'; P("productID: %s", nv, nv->productID, buffer); for (i = j = 0; i < NV_PRODUCTREVISIONS; i++) { if (nv->productRevision[i]) buffer[j++] = nv->productRevision[i]; } buffer[j] = '\0'; P("productRevision: %s", nv, nv->productRevision, buffer); DP("unitFlags: %u", nv, nv->unitFlags); DP("array->version: %u", nv, a->version); for (i = 0; i < NV_SIGNATURES; i++) P("array->signature[%d]: %u", nv, a->signature[i], i, a->signature[i]); DP("array->raidJobCode: %u", nv, a->raidJobCode); DP("array->stripeWidth: %u", nv, a->stripeWidth); DP("array->totalVolumes: %u", nv, a->totalVolumes); DP("array->originalWidth: %u", nv, a->originalWidth); DP("array->raidLevel: %u", nv, a->raidLevel); DP("array->stripeBlockSize: %u", nv, a->stripeBlockSize); DP("array->stripeBlockByteSize: %u", nv, a->stripeBlockByteSize); DP("array->stripeBlockPower: %u", nv, a->stripeBlockPower); DP("array->stripeMask: %u", nv, a->stripeMask); DP("array->stripeSize: %u", nv, a->stripeSize); DP("array->stripeByteSize: %u", nv, a->stripeByteSize); DP("array->raidJobMark %u", nv, a->raidJobMark); DP("array->originalLevel %u", nv, a->originalLevel); DP("array->originalCapacity %u", nv, a->originalCapacity); DP("array->flags 0x%x", nv, a->flags); } #endif static struct dmraid_format nv_format = { .name = HANDLER, .descr = "NVidia RAID", .caps = "S,0,1,10,5", .format = FMT_RAID, .read = nv_read, .write = nv_write, .group = nv_group, .check = nv_check, .events = &nv_event_handlers, #ifdef DMRAID_NATIVE_LOG .log = nv_log, #endif }; /* Register this format handler with the format core. */ int register_nv(struct lib_context *lc) { return register_format_handler(lc, &nv_format); } /* Set the RAID device contents up derived from the NV ones */ static int setup_rd(struct lib_context *lc, struct raid_dev *rd, struct dev_info *di, void *meta, union read_info *info) { struct nv *nv = meta; if (!(rd->meta_areas = alloc_meta_areas(lc, rd, handler, 1))) return 0; rd->meta_areas->offset = NV_CONFIGOFFSET >> 9; rd->meta_areas->size = sizeof(*nv); rd->meta_areas->area = (void *) nv; rd->di = di; rd->fmt = &nv_format; rd->status = status(nv); rd->type = type(nv); rd->offset = NV_DATAOFFSET; if (!(rd->sectors = rd->meta_areas->offset)) return log_zero_sectors(lc, di->path, handler); return (rd->name = name(lc, rd, 1)) ? 1 : 0; } dmraid/1.0.0.rc16/lib/format/ataraid/nv.h0000644000175200007640000001007011254123773020154 0ustar mauelshamauelsha/* * Copyright (C) 2004,2005 NVidia Corporation. All rights reserved. * * dmraid extensions: * Copyright (C) 2004,2005 Heinz Mauelshagen, Red Hat GmbH. * All rights reserved. * * 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. * * You should have received a copy of the GNU General Public License * (for example /usr/src/linux/COPYING); if not, write to the Free * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * */ #ifndef _NV_H_ #define _NV_H_ #ifdef FORMAT_HANDLER #include #define NV_CONFIGOFFSET ((di->sectors - 2) << 9) #define NV_DATAOFFSET 0 #define NV_ID_LENGTH 8 #define NV_ID_STRING "NVIDIA" #define NV_VERSION 100 #define NV_SECTOR_SIZE 512 #define NV_PRODUCT_ID_LEN 16 /* Product ID size in bytes */ typedef uint32_t lba_t; /* Array info */ struct nv_array_base { uint32_t version; /* Version of this struct */ /* 0x640000 + sizeof(nv_array_base) */ #define NV_SIGNATURES 4 uint32_t signature[NV_SIGNATURES]; /* Unique signature for array */ uint8_t raidJobCode; /* State of array */ #define NV_IDLE 0 #define NV_SCDB_INIT_RAID 2 #define NV_SCDB_REBUILD_RAID 3 #define NV_SCDB_UPGRADE_RAID 4 #define NV_SCDB_SYNC_RAID 5 uint8_t stripeWidth; /* Array stripe width */ uint8_t totalVolumes; /* Total # of disks in array, including spare */ uint8_t originalWidth; /* Stripe width before morph */ uint32_t raidLevel; /* Array RAID level */ #define NV_RAIDLEVEL(nv) ((nv)->array.raidLevel) #define NV_LEVEL_UNKNOWN 0x00 #define NV_LEVEL_JBOD 0xFF #define NV_LEVEL_0 0x80 #define NV_LEVEL_1 0x81 #define NV_LEVEL_3 0x83 #define NV_LEVEL_5 0x85 #define NV_LEVEL_10 0x8a #define NV_LEVEL_1_0 0x8180 #define NVRAID_1_0(nv) (NV_RAIDLEVEL((nv)) == NV_LEVEL_1_0) #define NV_LEVEL_5_SYM_FLAG 0x10 #define NV_LEVEL_5_SYM (NV_LEVEL_5|NV_LEVEL_5_SYM_FLAG) lba_t stripeBlockSize; /* Array stripe block size in sectors */ uint32_t stripeBlockByteSize; /* stripeBlockSize in bytes */ uint32_t stripeBlockPower; /* Array stripe block size in log2 */ lba_t stripeMask; /* stripeBlockSize - 1 */ lba_t stripeSize; /* stripeBlockSize * stripeWidth */ uint32_t stripeByteSize; /* stripeSize in bytes */ lba_t raidJobMark; /* Ignored if array is idle, otherwise the */ /* LBA where job is finished */ uint32_t originalLevel; /* RAID level before morph */ lba_t originalCapacity; /* Array capacity before morph */ uint32_t flags; /* Flags for array */ #define NV_ARRAY_FLAG_BOOT (0x00000001) /* BIOS use only */ #define NV_ARRAY_FLAG_ERROR (0x00000002) /* Degraded or offling */ #define NV_ARRAY_FLAG_PARITY_VALID (0x00000004) /* RAID-3/5 parity valid */ #define NV_BROKEN(n) (n->array.flags & NV_ARRAY_FLAG_ERROR) #define NV_SET_BROKEN(n) (n->array.flags |= NV_ARRAY_FLAG_ERROR) } __attribute__ ((packed)); /* Ondisk metadata */ struct nv { uint8_t vendor[NV_ID_LENGTH]; /* 0x00 - 0x07 ID string */ uint32_t size; /* 0x08 - 0x0B Size of metadata in dwords */ uint32_t chksum; /* 0x0C - 0x0F Checksum of this struct */ uint16_t version; /* 0x10 - 0x11 NV version */ uint8_t unitNumber; /* 0x12 Disk index in array */ uint8_t reserved; /* 0x13 */ lba_t capacity; /* 0x14 - 0x17 Array capacity in sectors */ uint32_t sectorSize; /* 0x18 - 0x1B Sector size */ #define NV_PRODUCTIDS 16 /* 0x1C - 0x2B Array product ID */ uint8_t productID[NV_PRODUCTIDS]; /* Match INQUIRY data */ #define NV_PRODUCTREVISIONS 4 /* 0x2C - 0x2F Array product revision */ uint8_t productRevision[NV_PRODUCTREVISIONS]; /* Match INQUIRY data */ uint32_t unitFlags; /* 0x30 - 0x33 Flags for this disk */ struct nv_array_base array; /* Array information */ } __attribute__ ((packed)); #endif /* Prototype of the register function for this metadata format handler */ int register_nv(struct lib_context *lc); #endif dmraid/1.0.0.rc16/lib/format/ataraid/jm.c0000644000175200007640000002047611254261452020142 0ustar mauelshamauelsha/* * JMicron metadata format handler. * * Copyright (C) 2006-2008 Heinz Mauelshagen, Red Hat GmbH. * All rights reserved. * * See file LICENSE at the top of this source tree for license information. */ #define HANDLER "jmicron" #include "internal.h" #define FORMAT_HANDLER #include "jm.h" #if BYTE_ORDER != LITTLE_ENDIAN # define DM_BYTEORDER_SWAB # include #endif static const char *handler = HANDLER; /* RAID set name */ static int member(struct jm *jm); static char * name(struct lib_context *lc, struct raid_dev *rd, unsigned int subset) { size_t i, len; struct jm *jm = META(rd, jm); char *ret, *name = (char *) jm->name; char buf[JM_NAME_LEN + 1] = { '\0' }; /* Sanitize name, make sure it's null terminated */ strncpy(buf, name, JM_NAME_LEN); while (i && isspace(buf[i])) { name[i]='\0'; buf[i]='\0'; --i; } len = strlen(buf) + sizeof(HANDLER) + (jm->mode == JM_T_RAID01 ? 3 : 2); if ((ret = dbg_malloc(len))) { if (jm->mode == JM_T_RAID01 && subset) sprintf(buf, "-%u", member(jm) / 2); else *buf = 0; sprintf(ret, "%s_%s%s", handler, name, buf); } return ret; } /* * Retrieve status of device. * FIXME: is this sufficient to cover all state ? */ static enum status status(struct jm *jm) { return jm->attribute & ~(JM_MOUNT | JM_BOOTABLE | JM_BADSEC | JM_ACTIVE | JM_UNSYNC | JM_NEWEST) ? s_broken : s_ok; } /* Neutralize disk type */ static enum type type(struct jm *jm) { /* Mapping of JM types to generic types */ static struct types types[] = { { JM_T_JBOD, t_linear }, { JM_T_RAID0, t_raid0 }, { JM_T_RAID01, t_raid1 }, { JM_T_RAID1, t_raid1 }, { 0, t_undef }, }; return rd_type(types, (unsigned int) jm->mode); } /* Calculate checksum on metadata */ static int checksum(struct jm *jm) { int count = 64; uint16_t *p = (uint16_t *) jm, sum = 0; while (count--) sum += *p++; /* FIXME: shouldn't this be one value only ? */ return !sum || sum == 1; } static inline unsigned int segment(uint32_t m) { return (unsigned int) (m & JM_SEG_MASK); } static inline unsigned int disk(unsigned int m) { return (unsigned int) (m & JM_HDD_MASK); } static int member(struct jm *jm) { unsigned int i = JM_MEMBERS; while (i--) { if (disk(jm->member[i]) == disk(jm->identity)) return i; } return -1; } /* Decide about ordering sequence of RAID device. */ static int dev_sort(struct list_head *pos, struct list_head *new) { return member(META(RD(new), jm)) < member(META(RD(pos), jm)); } /* Decide about ordering sequence of RAID subset. */ static int set_sort(struct list_head *pos, struct list_head *new) { return member(META(RD_RS(RS(pos)), jm)) > 1; } static unsigned int stride(unsigned int shift) { return 1 << (shift + 1); } static void super_created(struct raid_set *super, void *private) { super->type = t_raid0; super->stride = stride(META((private), jm)->block); } /* * Group the RAID disk into a JM set. * * Check device hierarchy and create super set appropriately. */ static int group_rd(struct lib_context *lc, struct raid_set *rs, struct raid_set **ss, struct raid_dev *rd) { struct jm *jm = META(rd, jm); if (!init_raid_set(lc, rs, rd, stride(jm->block), jm->mode, handler)) return 0; list_add_sorted(lc, &rs->devs, &rd->devs, dev_sort); switch (jm->mode) { case JM_T_JBOD: case JM_T_RAID0: case JM_T_RAID1: if (!find_set(lc, NULL, rs->name, FIND_TOP)) list_add_tail(&rs->list, LC_RS(lc)); break; case JM_T_RAID01: if (!(*ss = join_superset(lc, name, super_created, set_sort, rs, rd))) return 0; } return 1; } /* * Add a JMicron RAID device to a set. */ static struct raid_set * jm_group(struct lib_context *lc, struct raid_dev *rd) { struct raid_set *rs, *ss = NULL; if (T_SPARE(rd)) return NULL; if ((rs = find_or_alloc_raid_set(lc, rd->name, FIND_ALL, rd, NO_LIST, NO_CREATE, NO_CREATE_ARG))) return group_rd(lc, rs, &ss, rd) ? (ss ? ss : rs) : NULL; return NULL; } /* * Read a JMicron RAID device. */ /* Endianess conversion. */ #if BYTE_ORDER == LITTLE_ENDIAN # define to_cpu NULL #else static void to_cpu(void *meta) { unsigned int i; struct jm *jm = meta; CVT16(jm->version); CVT16(jm->checksum); CVT32(jm->identity); CVT32(jm->segment.base); CVT32(jm->segment.range); CVT16(jm->segment.range2); CVT16(jm->attribute); for (i = 0; i < JM_SPARES; i++) CVT32(jm->spare[i]); for (i = 0; i < JM_MEMBERS; i++) CVT32(jm->member[i]); } #endif /* Magic check. */ static int is_jm(struct lib_context *lc, struct dev_info *di, void *meta) { struct jm *jm = meta; return !strncmp((const char *) jm->signature, JM_SIGNATURE, JM_SIGNATURE_LEN) && checksum(jm); } static int setup_rd(struct lib_context *lc, struct raid_dev *rd, struct dev_info *di, void *meta, union read_info *info); static struct raid_dev * jm_read(struct lib_context *lc, struct dev_info *di) { return read_raid_dev(lc, di, NULL, sizeof(struct jm), JM_CONFIGOFFSET, to_cpu, is_jm, NULL, setup_rd, handler); } /* * Write a JMicron RAID device. */ static int jm_write(struct lib_context *lc, struct raid_dev *rd, int erase) { int ret; #if BYTE_ORDER != LITTLE_ENDIAN struct jm *jm = META(rd, jm); to_disk(jm); #endif ret = write_metadata(lc, handler, rd, -1, erase); #if BYTE_ORDER != LITTLE_ENDIAN to_cpu(jm); #endif return ret; } /* * Check a JMicron RAID set. * * FIXME: more sanity checks. */ static unsigned int devices(struct raid_dev *rd, void *context) { unsigned int r = JM_MEMBERS; struct jm *jm = META(rd, jm); while (r-- && !jm->member[r]); return ++r; } static int jm_check(struct lib_context *lc, struct raid_set *rs) { return check_raid_set(lc, rs, devices, NULL, NO_CHECK_RD, NULL, handler); } /* * IO error event handler. */ static int event_io(struct lib_context *lc, struct event_io *e_io) { struct raid_dev *rd = e_io->rd; struct jm *jm = META(rd, jm); /* Avoid write trashing. */ if (S_BROKEN(status(jm))) return 0; jm->checksum = 1; /* FIXME: how to flag a JMicron disk bad? */ return 1; } static struct event_handlers jm_event_handlers = { .io = event_io, .rd = NULL, /* FIXME: no device add/remove event handler yet. */ }; #ifdef DMRAID_NATIVE_LOG /* * Log native information about an JM RAID device. */ static void jm_log(struct lib_context *lc, struct raid_dev *rd) { unsigned int i; struct jm *jm = META(rd, jm); log_print(lc, "%s (%s):", rd->di->path, handler); P("signature: %c%c", jm, jm->signature, jm->signature[0], jm->signature[1]); P("version: %u%u", jm, jm->version, JM_MAJOR_VERSION(jm), JM_MINOR_VERSION(jm)); DP("checksum: %u", jm, jm->checksum); DP("identity: 0x%x", jm, jm->identity); DP("base: %u", jm, jm->segment.base); DP("range: %u", jm, jm->segment.range); DP("range2: %u", jm, jm->segment.range2); DP("name: \"%s\"", jm, jm->name); DP("name: %u", jm, jm->mode); DP("block: %u", jm, jm->block); DP("attribute: %u", jm, jm->attribute); for (i = 0; i < JM_SPARES; i++) P2("spare[%d]: 0x%x", jm, i, jm->spare[i]); for (i = 0; i < JM_MEMBERS; i++) P2("member[%d]: 0x%x", jm, i, jm->member[i]); } #endif static struct dmraid_format jm_format = { .name = HANDLER, .descr = "JMicron ATARAID", .caps = "S,0,1", .format = FMT_RAID, .read = jm_read, .write = jm_write, .group = jm_group, .check = jm_check, .events = &jm_event_handlers, #ifdef DMRAID_NATIVE_LOG .log = jm_log, #endif }; /* Register this format handler with the format core. */ int register_jm(struct lib_context *lc) { return register_format_handler(lc, &jm_format); } /* Calculate RAID device size in sectors depending on RAID type. */ static inline uint64_t sectors(struct jm *jm) { /* range * 32MB[sectors] + range2 */ return jm->segment.range * 32 * 2048 + jm->segment.range2; } /* Set the RAID device contents up derived from the JMicron ones */ static int setup_rd(struct lib_context *lc, struct raid_dev *rd, struct dev_info *di, void *meta, union read_info *info) { struct jm *jm = meta; if (!(rd->meta_areas = alloc_meta_areas(lc, rd, handler, 1))) return 0; rd->meta_areas->offset = JM_CONFIGOFFSET >> 9; rd->meta_areas->size = sizeof(*jm); rd->meta_areas->area = (void *) jm; rd->di = di; rd->fmt = &jm_format; rd->status = status(jm); rd->type = type(jm); rd->offset = jm->segment.base; if (!(rd->sectors = sectors(jm))) return log_zero_sectors(lc, di->path, handler); return (rd->name = name(lc, rd, 1)) ? 1 : 0; } dmraid/1.0.0.rc16/lib/format/ataraid/sil.c0000644000175200007640000003375611254123773020333 0ustar mauelshamauelsha/* * Silicon Image Medley ATARAID metadata format handler. * * Copyright (C) 2004,2005 Heinz Mauelshagen, Red Hat GmbH. * All rights reserved. * * See file LICENSE at the top of this source tree for license information. */ #define HANDLER "sil" #include "internal.h" #define FORMAT_HANDLER #include "sil.h" #if BYTE_ORDER != LITTLE_ENDIAN # define DM_BYTEORDER_SWAB # include #endif static const char *handler = HANDLER; /* Make up RAID device name from some 'magic' numbers */ /* FIXME: better name ? */ static size_t _name(struct sil *sil, char *str, size_t len, unsigned int subset) { return snprintf(str, len, subset ? "sil_%02u%02u%02u%02u%02u%02u-%u" : "sil_%02u%02u%02u%02u%02u%02u", sil->year, sil->month, sil->day, sil->hour, sil->minutes % 60, sil->seconds % 60, sil->type == SIL_T_RAID1 ? sil->mirrored_set_number : sil->striped_set_number); } static char * name(struct lib_context *lc, struct raid_dev *rd, unsigned int subset) { size_t len; char *ret; struct sil *sil = META(rd, sil); subset = subset && sil->type == SIL_T_RAID10; if ((ret = dbg_malloc((len = _name(sil, NULL, 0, subset) + 1)))) { _name(sil, ret, len, subset); mk_alpha(lc, ret + HANDLER_LEN, len - HANDLER_LEN - (strrchr(ret, '-') ? 3 : 1)); } else log_alloc_err(lc, handler); return ret; } /* * Retrieve status of device. * FIXME: is this sufficient to cover all state ? */ static enum status status(struct sil *sil) { struct states states[] = { {SIL_OK, s_ok}, {SIL_MIRROR_SYNC, s_ok}, {SIL_MIRROR_NOSYNC, s_nosync}, {0, s_broken}, }; return rd_status(states, sil->mirrored_set_state, EQUAL); } /* Neutralize disk type */ static enum type type(struct sil *sil) { /* Mapping of SIL 680 types to generic types */ static struct types types[] = { {SIL_T_SPARE, t_spare}, {SIL_T_JBOD, t_linear}, {SIL_T_RAID0, t_raid0}, {SIL_T_RAID5, t_raid5_ls}, {SIL_T_RAID1, t_raid1}, {SIL_T_RAID10, t_raid0}, {0, t_undef} }; return rd_type(types, (unsigned int) sil->type); } /* Calculate checksum on metadata */ static int checksum(struct sil *sil) { int sum = 0; unsigned short count = struct_offset(sil, checksum1) / 2; uint16_t *p = (uint16_t *) sil; while (count--) sum += *p++; return (-sum & 0xFFFF) == sil->checksum1; } /* * Read a Silicon Image RAID device */ /* Endianess conversion. */ #if BYTE_ORDER == LITTLE_ENDIAN # define to_cpu NULL #else static void to_cpu(void *meta) { struct sil *sil = meta; CVT32(sil->magic); CVT32(sil->array_sectors_low); CVT32(sil->array_sectors_high); CVT32(sil->thisdisk_sectors); CVT16(sil->product_id); CVT16(sil->vendor_id); CVT16(sil->minor_ver); CVT16(sil->major_ver); CVT16(sil->raid0_stride); CVT32(sil->rebuild_ptr_low); CVT32(sil->rebuild_ptr_high); CVT32(sil->incarnation_no); CVT16(sil->checksum1); CVT16(sil->checksum2); } #endif #define AREAS 4 #define SIL_META_AREA(i) (SIL_CONFIGOFFSET - (i * 512 << 9)) static inline int is_sil(struct sil *sil) { return SIL_MAGIC_OK(sil) && sil->disk_number < 8; } static int sil_valid(struct lib_context *lc, struct dev_info *di, void *meta, unsigned int area) { struct sil *sil = meta; if (!is_sil(sil)) return 0; if (sil->major_ver != 2) log_warn(lc, "%s: major version %u in area %u; format handler " "tested on version 2 only", handler, sil->major_ver, area); if (!checksum(sil)) LOG_ERR(lc, 0, "%s: invalid metadata checksum in area %u on %s", handler, area, di->path); if (di->sectors < sil->thisdisk_sectors) LOG_ERR(lc, 0, "%s: invalid disk size in metadata area %u on %s", handler, area, di->path); return 1; } static void free_sils(struct sil **sils, unsigned int i) { for (; i < AREAS; i++) dbg_free(sils[i]); dbg_free(sils); } static void * sil_read_metadata(struct lib_context *lc, struct dev_info *di, size_t * size, uint64_t * offset, union read_info *info) { unsigned int i, valid; char str[9] = { 0, }; struct sil *sil, **sils; if (!(sils = dbg_malloc(AREAS * sizeof(*sils)))) goto out; /* Read the 4 metadata areas. */ for (i = valid = 0; i < AREAS; i++) { if (!(sil = alloc_private_and_read(lc, handler, sizeof(*sil), di->path, SIL_META_AREA(i)))) goto bad; #if BYTE_ORDER != LITTLE_ENDIAN to_cpu(sil); #endif /* Create string with list of valid areas. */ if (sil_valid(lc, di, sil, i + 1)) { sils[valid] = sil; sprintf(&str[strlen(str)], "%s%u", valid++ ? "," : "", i + 1); } else dbg_free(sil); } if (valid) { log_notice(lc, "%s: area%s %s[%u] %s valid", handler, valid ? "s" : "", str, AREAS, valid == 1 ? "is" : "are"); goto out; } bad: free_sils(sils, 0); sils = NULL; out: return (void *) sils; } static int _file_name(char *str, size_t len, char *n, int i) { return snprintf(str, len, "%s_%d", n, i) + 1; } static char * file_name(struct lib_context *lc, char *n, int i) { size_t len; char *ret; if ((ret = dbg_malloc((len = _file_name(NULL, 0, n, i))))) _file_name(ret, len, n, i); else log_alloc_err(lc, handler); return ret; } /* File all metadata areas. */ static void sil_file_metadata(struct lib_context *lc, struct dev_info *di, void *meta) { unsigned int i; char *n; struct sil **sils = meta; for (i = 0; i < AREAS; i++) { if (!(n = file_name(lc, di->path, i))) break; file_metadata(lc, handler, n, sils[i], sizeof(**sils), SIL_META_AREA(i)); dbg_free(n); } file_dev_size(lc, handler, di); } static int setup_rd(struct lib_context *lc, struct raid_dev *rd, struct dev_info *di, void *meta, union read_info *info); static struct raid_dev * sil_read(struct lib_context *lc, struct dev_info *di) { return read_raid_dev(lc, di, sil_read_metadata, 0, 0, NULL, NULL, sil_file_metadata, setup_rd, handler); } /* * Write a Silicon Image RAID device. */ static int sil_write(struct lib_context *lc, struct raid_dev *rd, int erase) { int ret; #if BYTE_ORDER != LITTLE_ENDIAN struct sil *sil = META(rd, sil); to_disk(sil); #endif ret = write_metadata(lc, handler, rd, -1, erase); #if BYTE_ORDER != LITTLE_ENDIAN to_cpu(sil); #endif return ret; } /* Decide about ordering sequence of RAID device. */ static int dev_sort(struct list_head *pos, struct list_head *new) { return (META(RD(new), sil))->disk_number < (META(RD(pos), sil))->disk_number; } /* Decide about ordering sequence of RAID subset. */ static int set_sort(struct list_head *pos, struct list_head *new) { return (META(RD_RS(RS(new)), sil))->mirrored_set_number < (META(RD_RS(RS(pos)), sil))->mirrored_set_number; } /* * Group the RAID disk into a SIL set. * * Check device hierarchy and create super set appropriately. */ static void super_created(struct raid_set *ss, void *private) { ss->type = t_raid1; ss->stride = META(private, sil)->raid0_stride; } /* FIXME: handle spares. */ static int group_rd(struct lib_context *lc, struct raid_set *rs, struct raid_set **ss, struct raid_dev *rd) { struct sil *sil = META(rd, sil); if (!init_raid_set(lc, rs, rd, sil->raid0_stride, sil->type, handler)) return 0; list_add_sorted(lc, &rs->devs, &rd->devs, dev_sort); switch (sil->type) { case SIL_T_JBOD: case SIL_T_RAID0: case SIL_T_RAID1: case SIL_T_RAID5: if (!(find_set(lc, NULL, rs->name, FIND_TOP))) list_add_tail(&rs->list, LC_RS(lc)); break; case SIL_T_RAID10: /* * We've got a striped raid set with a mirror set on top * when we get here. * Let's find and optionally allocate the mirror set. */ if (!(*ss = join_superset(lc, name, super_created, set_sort, rs, rd))) return 0; } return 1; } /* Add a SIL RAID device to a set */ static struct raid_set * sil_group(struct lib_context *lc, struct raid_dev *rd) { struct raid_set *rs, *ss = NULL; if (T_SPARE(rd)) return NULL; if ((rs = find_or_alloc_raid_set(lc, rd->name, FIND_ALL, rd, NO_LIST, NO_CREATE, NO_CREATE_ARG))) return group_rd(lc, rs, &ss, rd) ? (ss ? ss : rs) : NULL; return NULL; } /* * Check a SIL RAID set. * * FIXME: more sanity checks. */ static unsigned int devices(struct raid_dev *rd, void *context) { int ret; struct sil *sil = META(rd, sil); switch (sil->type) { case SIL_T_RAID0: case SIL_T_RAID10: ret = sil->drives_per_striped_set; break; case SIL_T_RAID1: ret = sil->drives_per_mirrored_set; break; default: ret = 0; } return ret; } static int sil_check(struct lib_context *lc, struct raid_set *rs) { return check_raid_set(lc, rs, devices, NULL, NO_CHECK_RD, NULL, handler); } /* * IO error event handler. */ static int event_io(struct lib_context *lc, struct event_io *e_io) { struct raid_dev *rd = e_io->rd; struct sil *sil = META(rd, sil); /* Avoid write trashing. */ if (status(sil) & s_broken) return 0; sil->member_status = 0; return 1; } static struct event_handlers sil_event_handlers = { .io = event_io, .rd = NULL, /* FIXME: no device add/remove event handler yet. */ }; #ifdef DMRAID_NATIVE_LOG /* * Log native information about a Silicon Image RAID device. */ static void sil_log(struct lib_context *lc, struct raid_dev *rd) { char *tt; struct sil *sil = META(rd, sil); log_print(lc, "%s (%s):", rd->di->path, handler); DP("unknown0: \"%42s\"", sil, sil->unknown0); DP("ascii_version: \"%8s\"", sil, sil->ascii_version); DP("diskname: \"%32s\"", sil, sil->diskname); DP("unknown1: \"%22s\"", sil, sil->unknown1); DP("magic: 0x%x", sil, sil->magic); DP("unknown1a: \"%8s\"", sil, sil->unknown1a); DP("array_sectors_low: %u", sil, sil->array_sectors_low); DP("array_sectors_high: %u", sil, sil->array_sectors_high); DP("unknown2: \"%4s\"", sil, sil->unknown2); DP("thisdisk_sectors: %u", sil, sil->thisdisk_sectors); DP("product_id: %u", sil, sil->product_id); DP("vendor_id: %u", sil, sil->vendor_id); DP("minor_ver: %u", sil, sil->minor_ver); DP("major_ver: %u", sil, sil->major_ver); DP("seconds: %u", sil, sil->seconds % 60); DP("seconds(full): 0x%x", sil, sil->seconds); DP("minutes: %u", sil, sil->minutes % 60); DP("minutes(full): 0x%x", sil, sil->minutes); DP("hour: %u", sil, sil->hour); DP("day: %u", sil, sil->day); DP("month: %u", sil, sil->month); DP("year: %u", sil, sil->year); DP("raid0_stride: %u", sil, sil->raid0_stride); DP("disk_number: %u", sil, sil->disk_number); DP("type: %u", sil, sil->type); DP("drives_per_striped_set: %d", sil, sil->drives_per_striped_set); DP("striped_set_number: %d", sil, sil->striped_set_number); DP("drives_per_mirrored_set: %d", sil, sil->drives_per_mirrored_set); DP("mirrored_set_number: %d", sil, sil->mirrored_set_number); DP("rebuild_ptr_low: %u", sil, sil->rebuild_ptr_low); DP("rebuild_ptr_high: %u", sil, sil->rebuild_ptr_high); DP("incarnation_no: %u", sil, sil->incarnation_no); DP("member_status: %u", sil, sil->member_status); DP("mirrored_set_state: %u", sil, sil->mirrored_set_state); DP("reported_device_location: %u", sil, sil->reported_device_location); DP("idechannel: %u", sil, sil->idechannel); DP("auto_rebuild: %u", sil, sil->auto_rebuild); if ((tt = dbg_strndup(sil->text_type, 16))) { P("text_type: \"%s\"", sil, sil->text_type, tt); dbg_free(tt); } DP("checksum1: %u", sil, sil->checksum1); DP("checksum2: %u", sil, sil->checksum2); } #endif static struct dmraid_format sil_format = { .name = HANDLER, .descr = "Silicon Image(tm) Medley(tm)", .caps = "0,1,10", .format = FMT_RAID, .read = sil_read, .write = sil_write, .group = sil_group, .check = sil_check, .events = &sil_event_handlers, #ifdef DMRAID_NATIVE_LOG .log = sil_log, #endif }; /* Register this format handler with the format core. */ int register_sil(struct lib_context *lc) { return register_format_handler(lc, &sil_format); } /* Set the RAID device contents up derived from the SIL ones. */ static int stripes(struct sil *sil) { return sil->drives_per_striped_set > -1 && sil->disk_number < sil->drives_per_striped_set; } static uint64_t sectors(struct raid_dev *rd) { uint64_t array_sectors, ret = 0; struct sil *sil = META(rd, sil); array_sectors = (((uint64_t) sil->array_sectors_high) << 32) + sil->array_sectors_low; switch (sil->type) { case SIL_T_SPARE: /* Cook them up... */ ret = rd->di->sectors - (AREAS - 1) * 512 - ((rd->di->sectors & 1) ? 1 : 2); break; case SIL_T_RAID0: if (stripes(sil)) ret = array_sectors / sil->drives_per_striped_set; break; case SIL_T_RAID1: case SIL_T_RAID10: ret = array_sectors; break; default: /* Cook them up... */ ret = rd->di->sectors - (AREAS - 1) * 512 - ((rd->di->sectors & 1) ? 1 : 2); break; } return ret; } /* Quorate SIL metadata copies. */ static struct sil * quorate(struct lib_context *lc, struct dev_info *di, struct sil *sils[]) { unsigned int areas = 0, i, ident = 0, j; struct sil *sil = NULL, *tmp; /* Count valid metadata areas. */ while (areas < AREAS && sils[areas]) areas++; if (areas != AREAS) log_err(lc, "%s: only %u/%u metadata areas found on " "%s, %sing...", handler, areas, AREAS, di->path, areas > 1 ? "elect" : "pick"); /* Identify maximum identical copies. */ for (i = 0; i < areas; i++) { for (ident = 0, j = i + 1, sil = sils[i]; j < areas; j++) { if (!memcmp(sil, sils[j], sizeof(*sil))) ident++; } if (ident > areas / 2); break; } if (ident) { tmp = sils[0]; sils[0] = sil; sils[i] = tmp; } return sil; } static int setup_rd(struct lib_context *lc, struct raid_dev *rd, struct dev_info *di, void *meta, union read_info *info) { unsigned int i; struct meta_areas *ma; struct sil *sil, **sils = meta; if (!(rd->meta_areas = alloc_meta_areas(lc, rd, handler, AREAS))) goto bad; sil = quorate(lc, di, sils); /* Quorate one copy+save a pointer. */ free_sils(sils, 1); /* Free the other copies. */ for (i = 0, ma = rd->meta_areas; i < rd->areas; i++, ma++) { ma->offset = SIL_META_AREA(i) >> 9; ma->size = sizeof(*sil); ma->area = (void *) sil; } rd->di = di; rd->fmt = &sil_format; rd->offset = SIL_DATAOFFSET; if (!(rd->sectors = sectors(rd))) return log_zero_sectors(lc, di->path, handler); rd->status = status(sil); rd->type = type(sil); return (rd->name = name(lc, rd, sil->type == SIL_T_RAID10)) ? 1 : 0; bad: free_sils(sils, 0); return 0; } dmraid/1.0.0.rc16/lib/format/ataraid/via.h0000644000175200007640000000433311254123773020315 0ustar mauelshamauelsha/* * Copyright (C) 2004,2005 Heinz Mauelshagen, Red Hat GmbH. * All rights reserved. * * See file DISCLAIMER at the top of this source tree for license information. */ #ifndef _VIA_H_ #define _VIA_H_ #ifdef FORMAT_HANDLER #include /* VIA metadata and data offsets. */ #define VIA_CONFIGOFFSET ((di->sectors - 1) << 9) #define VIA_DATAOFFSET 0 #define VIA_MAX_DISKS 8 struct disk { uint16_t bootable:1; /* BIOS boot */ uint16_t enable_enhanced:1; /* Unused */ uint16_t in_disk_array:1; /* Used/Spare */ uint16_t raid_type:4; #define VIA_T_RAID0 0 #define VIA_T_RAID1 1 #define VIA_T_SPAN 8 #define VIA_T_RAID01 9 #define VIA_RAID_TYPE(x) ((x)->array.disk.raid_type) uint16_t array_index:3; #define VIA_ARRAY_INDEX(x) ((x)->array.disk.array_index) uint16_t raid_type_info:5; /* SPAN + RAID 0 */ #define VIA_T_RAID_INDEX(x) ((x)->array.disk.raid_type_info & 0x7) /* RAID 1 */ #define VIA_T_RAID1_SOURCE(x) (((x)->array.disk.raid_type_info & 0x3) == 0) #define VIA_T_RAID1_SPARE(x) (((x)->array.disk.raid_type_info & 0x3) == 1) #define VIA_T_RAID1_MIRROR(x) (((x)->array.disk.raid_type_info & 0x3) == 2) #define VIA_T_RAID1_DIRTY(x) (((x)->array.disk.raid_type_info & 0x4) >> 2) /* RAID 0+1 */ // #define VIA_T_RAID01_INDEX(x) VIA_T_RAID_INDEX(x) #define VIA_T_RAID01_MIRROR(x) (((x)->array.disk.raid_type_info & 0x8) >> 3) #define VIA_T_RAID01_DIRTY(x) (((x)->array.disk.raid_type_info & 0x10) >> 4) /* SPAN */ #define VIA_T_SPAN_INDEX(x) ((x)->array.disk.raid_type_info & 0x7) uint16_t tolerance:1; } __attribute__ ((packed)); struct array { struct disk disk; uint8_t disk_array_ex; #define VIA_RAID_DISKS(x) ((x)->array.disk_array_ex & 0x7) #define VIA_BROKEN(x) (((x)->array.disk_array_ex & 0x8) >> 4) #define VIA_STRIDE(x) (8 << (((x)->array.disk_array_ex & 0xF0) >> 4)) uint32_t capacity_low; uint32_t capacity_high; uint32_t serial_checksum; } __attribute__ ((packed)); struct via { uint16_t signature; #define VIA_SIGNATURE 0xAA55 uint8_t version_number; struct array array; uint32_t serial_checksum[8]; uint8_t checksum; } __attribute__ ((packed)); #endif /* Prototype of the register function for this metadata format handler */ int register_via(struct lib_context *lc); #endif dmraid/1.0.0.rc16/lib/format/ataraid/.isw.c.swp0000644000175200007640000011000011254123773021206 0ustar mauelshamauelshab0VIM 6.3Ú·õCIŽ ¿<rooth.ww.redhat.com/u1/root/CVS/dmraid/1.0.0.rc10/lib/format/ataraid/isw.cU3210#"! Utpÿ—‡”ŒЧ$1YUt­ad>®—ýÀŒ@<;8º·†XT>='ÿ þ Þ Â ž — – p o l 2 . ô Ö Ô › q o n    õ ô ¬ K  ì ë × Õ Ô ¥ ] [ H # "  ã Ä ³ ‚  ~ p n m 4  ïî̽¼}gedaC@ Ù×¢…lji" Ô³²¡Ÿž›okK* èÑÎͱ®­¬«ª¨€8(&%"ݤ usF$#æä㻃[Y- åãâ®/////////////////////* Advance to the next isw_dev from /* Advance to the next isw_dev from a given one. */} sizeof(map->disk_ord_tbl) + add); (map->num_members - 1) * return (struct isw_dev*) ((uint8_t*) dev +{ struct isw_map *map, size_t add)static struct isw_dev *advance_dev(struct isw_dev *dev,/* Calculate next isw device offset. */} return ret - isw->check_sum; ret += *p++; while (end--) *p = (uint32_t*) isw, ret = 0; uint32_t end = isw->mpb_size / sizeof(end),{static uint32_t _checksum(struct isw *isw) */ * (checksum field itself ignored for this calculation). * Generate checksum of Raid metadata for mpb_size/sizeof(u32) words/*} t_group; return dev ? rd_type(types, (unsigned int) dev->vol.map.raid_level) : struct isw_dev *dev = rd->private.ptr;{:x/* Neutralize disk type. */}; { 0, t_undef}, { ISW_T_RAID5, t_raid5}, { ISW_T_RAID1, t_raid1}, { ISW_T_RAID0, t_raid0},static struct types types[] = { */ * Mapping of Intel types to generic types./*} return s_undef; return __status(disk->status); if ((disk = get_disk(lc, rd->di, META(rd, isw)))) struct isw_disk *disk;{static enum status status(struct lib_context *lc, struct raid_dev *rd)} s_ok : s_broken; !(FAILED_DISK & status)) ? return ((status & (CONFIGURED_DISK|USABLE_DISK)) &&{static enum status __status(unsigned int status) */ * FIXME: is this sufficient to cover all state ? * * Retrieve status of device./*} handler, di->path); LOG_ERR(lc, NULL, "%s: Error finding disk table slot for %s", return disk; if ((disk = _get_disk(isw, di))) struct isw_disk *disk;{ struct dev_info *di, struct isw *isw)static struct isw_disk *get_disk(struct lib_context *lc,} return NULL; } } while (++disk < isw->disk + isw->num_disks); return disk; MAX_RAID_SERIAL_LEN)) if (!strncmp(di->serial, (const char*) disk->serial, do { struct isw_disk *disk = isw->disk; if (di->serial) {{static struct isw_disk *_get_disk(struct isw *isw, struct dev_info *di)/* Find a disk table slot by serial number. */} return ret; log_alloc_err(lc, handler); } else (dev ? strlen((char*) dev->volume) - 2 : 1)); mk_alpha(lc, ret + HANDLER_LEN, len - HANDLER_LEN - _name(isw, dev, ret, len); if ((ret = dbg_malloc((len = _name(isw, dev, NULL, 0) + 1)))) { char *ret; size_t len;{static char *name(struct lib_context *lc, struct isw *isw, struct isw_dev *dev)} isw->family_num, (char*) dev->volume); return snprintf(str, len, dev ? "isw_%u_%s" : "isw_%u",{ char *str, size_t len)static size_t _name(struct isw *isw, struct isw_dev *dev, */ * Make up RAID set name from family_num and volume name./*static const char *handler = HANDLER;#endif# include # define DM_BYTEORDER_SWAB#if BYTE_ORDER != LITTLE_ENDIAN#include "isw.h"#define FORMAT_HANDLER#include "internal.h"#define HANDLER "isw" */ * Boji Tony Kannanthanam and Martins Krikis. * Profited from the Linux 2.4 iswraid driver by * * isw_read() etc. profited from Carl-Daniel Hailfinger's raiddetect code. * * Intel Software RAID metadata format handler./* */ * See file LICENSE at the top of this source tree for license information. * * All rights reserved. * Copyright (C) 2004,2005 Heinz Mauelshagen, Red Hat GmbH./*adS7tЪ‚Z.-ö»›€|{j:ú Ä x C  ù Ä ž z L -  á Á £ s R 3 2  õ ´ Ž m i h L - î Ê « § ¦ } E  øôñïè缪‰ydQ<'òÙÈÁ¾½„[Y'%$!áÞ™Q;7ö¸¶œZ'ðï°¤£y3 ÿçæÈ©¨Šsr976} return (rd->name = name(lc, isw, NULL)) ? 1 : 0; rd->type = t_group; rd->status = status(lc, rd); rd->sectors = info->u64 >> 9; rd->offset = ISW_DATAOFFSET; rd->fmt = &isw_format; rd->di = di; rd->meta_areas->area = (void*) isw; rd->meta_areas->size = round_up(isw->mpb_size, ISW_DISK_BLOCK_SIZE); rd->meta_areas->offset = info->u64 >> 9; return 0; if (!(rd->meta_areas = alloc_meta_areas(lc, rd, handler, 1))) handler, di->path); "has wrong checksum", LOG_ERR(lc, 0, "%s: extended superblock for %s " if (isw->check_sum != _checksum(isw)) /* Superblock checksum */ struct isw *isw = meta;{ struct dev_info *di, void *meta, union read_info *info)static int setup_rd(struct lib_context *lc, struct raid_dev *rd, */ * on this RAID disk. * create many in isw_group() in case of multiple Intel SW RAID devices * This is the first one we get with here and we potentially need to * * Set the RAID device contents up derived from the Intel ones./*} return register_format_handler(lc, &isw_format);{int register_isw(struct lib_context *lc)/* Register this format handler with the format core. */};#endif .log = isw_log,#ifdef DMRAID_NATIVE_LOG .events = &isw_event_handlers, .check = isw_check, .group = isw_group, .write = isw_write, .read = isw_read, .format = FMT_RAID, .caps = "0,1", .descr = "Intel Software RAID", .name = HANDLER,static struct dmraid_format isw_format = {#endif} } } dev->vol.map.disk_ord_tbl[i]); dev->vol.map.disk_ord_tbl[i], d, i, P("isw_dev[%u].vol.map.disk_ord_tbl[%u]: 0x%x", isw, for (i = 0; i < isw->num_disks; i++) { } dev->vol.map.filler[i]); dev->vol.map.filler[i], d, i, P("isw_dev[%u].vol.map.filler[%u]: %u", isw, if (dev->vol.map.filler[i]) for (i = 0; i < 7; i++) { } dev->vol.map.reserved[i]); dev->vol.map.reserved[i], d, i, P("isw_dev[%u].vol.map.reserved[%u]: %u", isw, if (dev->vol.map.reserved[i]) for (i = 0; i < 3; i++) { dev->vol.map.num_members); dev->vol.map.num_members, d, P("isw_dev[%u].vol.map.num_members: %u", isw, dev->vol.map.raid_level); dev->vol.map.raid_level, d, P("isw_dev[%u].vol.map.raid_level: %u", isw, dev->vol.map.map_state); dev->vol.map.map_state, d, P("isw_dev[%u].vol.map.map_state: %u", isw, dev->vol.map.blocks_per_strip); dev->vol.map.blocks_per_strip, d, P("isw_dev[%u].vol.map.blocks_per_strip: %u", isw, dev->vol.map.num_data_stripes); dev->vol.map.num_data_stripes, d, P("isw_dev[%u].vol.map.num_data_stripes: %u", isw, dev->vol.map.blocks_per_member); dev->vol.map.blocks_per_member, d, P("isw_dev[%u].vol.map.blocks_per_member: %u", isw, dev->vol.map.pba_of_lba0); dev->vol.map.pba_of_lba0, d, P("isw_dev[%u].vol.map.pba_of_lba0: %u", isw, /* RAID map */ } dev->vol.filler[i]); dev->vol.filler[i], d, i, P("isw_dev[%u].vol.filler[%u]: %u", isw, if (dev->vol.filler[i]) for (i = 0; i < 5; i++) { dev->vol.fill[0], d, dev->vol.fill[0]); P("isw_dev[%u].vol.fill[0]: %u", isw, dev->vol.dirty, d, dev->vol.dirty); P("isw_dev[%u].vol.dirty: %u", isw, dev->vol.migr_type, d, dev->vol.migr_type);adÀ8Yÿôòñ½¬jgfMJÑÏ»™kj7ô É   s >  à µ ‚ [ 4 3  ø Õ ¬ © ¨ • S 9 , +  Í ¨ z 8 ö Ë ³  P L I H ' ûâáÍ¥nI#ÿÛ˜l87 ö¿’Žy]@áÄÀ¿”b8 P("isw_dev[%u].vol.migr_type: %u", isw, dev->vol.migr_state, d, dev->vol.migr_state); P("isw_dev[%u].vol.migr_state: %u", isw, } dev->vol.reserved[i]); dev->vol.reserved[i], d, i, P("isw_dev[%u].vol.reserved[%u]: %u", isw, if (dev->vol.reserved[i]) for (i = 0; i < 2; i++) { /* RAID volume */ } dev->filler[i], d, i, dev->filler[i]); P("isw_dev[%u].filler[%u]: %u", isw, if (dev->filler[i]) for (i = 0; i < ISW_DEV_FILLERS; i++) { dev->reserved_blocks, d, dev->reserved_blocks); P("isw_dev[%u].reserved_blocks: %u", isw, P("isw_dev[%u].status: 0x%x", isw, dev->status, d, dev->status); dev->SizeLow, d, dev->SizeLow); P("isw_dev[%u].SizeLow: %u", isw, dev->SizeHigh, d, dev->SizeHigh); P("isw_dev[%u].SizeHigh: %u", isw, dev->volume, d, MAX_RAID_SERIAL_LEN, dev->volume); P("isw_dev[%u].volume: \"%*s\"", isw, /* RAID device */ dev = raiddev(isw, d); for (d = 0; d < isw->num_raid_devs; d++) { /* RAID device/volume table. */ } } disk->filler[i], d, i, disk->filler[i]); P("disk[%u].filler[%u]: %u", isw, if (disk->filler[i]) for (i = 0; i < ISW_DISK_FILLERS; i++) { P("disk[%u].status: 0x%x", isw, disk->status, d, disk->status); P("disk[%u].scsiId: 0x%x", isw, disk->scsiId, d, disk->scsiId); disk->totalBlocks, d, disk->totalBlocks); P("disk[%u].totalBlocks: %u", isw, disk->serial, d, MAX_RAID_SERIAL_LEN, disk->serial); P("disk[%u].serial: \"%*s\"", isw, continue; if (!disk->totalBlocks) for (d = 0, disk = isw->disk; d < isw->num_disks; d++, disk++) { /* Disk table. */ } isw->filler[i], i, isw->filler[i]); P("filler[%i]: %u", isw, if (isw->filler[i]) for (i = 0; i < ISW_FILLERS; i++) { DP("fill[1]: %u", isw, isw->fill[1]); DP("fill[0]: %u", isw, isw->fill[0]); DP("num_raid_devs: %u", isw, isw->num_raid_devs); DP("num_disks: %u", isw, isw->num_disks); DP("reserved[1]: %u", isw, isw->reserved[1]); DP("reserved[0]: %u", isw, isw->reserved[0]); DP("generation_num: %u", isw, isw->generation_num); DP("family_num: %u", isw, isw->family_num); DP("mpb_size: %u", isw, isw->mpb_size); DP("check_sum: %u", isw, isw->check_sum); P("sig: \"%*s\"", isw, isw->sig, MAX_SIGNATURE_LENGTH, isw->sig); log_print(lc, "%s (%s):", rd->di->path, handler); struct isw_dev *dev; struct isw_disk *disk; struct isw *isw = META(rd, isw); unsigned int d, i;{static void isw_log(struct lib_context *lc, struct raid_dev *rd) */ * Log native information about an ISW RAID device./*#ifdef DMRAID_NATIVE_LOG}; .rd = NULL, /* FIXME: no device add/remove event handler yet. */ .io = event_io,static struct event_handlers isw_event_handlers = {} return 1;ad · $feZXWÊÈÇ…ƒUSRO40í ë Ê ¨ e > =  õ ô Õ · É Ç Æ ’ ? < ; "  ë ç ¦ ¤ n V @ ? É ž u H  ä µ Š W 0  ãͪ~}j(Û¢}O Ë ˆT%!üз¶¢zCøÔ°mA  âË”gcbN2ض™•”i7   P("isw_dev[%u].vol.migr_type: %u", isw, dev->vol.migr_state, d, dev->vol.migr_state); P("isw_dev[%u].vol.migr_state: %u", isw, } dev->vol.reserved[i]); dev->vol.reserved[i], d, i, P("isw_dev[%u].vol.reserved[%u]: %u", isw, if (dev->vol.reserved[i]) for (i = 0; i < 2; i++) { /* RAID volume */ } dev->filler[i], d, i, dev->filler[i]); P("isw_dev[%u].filler[%u]: %u", isw, if (dev->filler[i]) for (i = 0; i < ISW_DEV_FILLERS; i++) { dev->reserved_blocks, d, dev->reserved_blocks); P("isw_dev[%u].reserved_blocks: %u", isw, P("isw_dev[%u].status: 0x%x", isw, dev->status, d, dev->status); dev->SizeLow, d, dev->SizeLow); P("isw_dev[%u].SizeLow: %u", isw, dev->SizeHigh, d, dev->SizeHigh); P("isw_dev[%u].SizeHigh: %u", isw, dev->volume, d, MAX_RAID_SERIAL_LEN, dev->volume); P("isw_dev[%u].volume: \"%*s\"", isw, /* RAID device */ dev = raiddev(isw, d); for (d = 0; d < isw->num_raid_devs; d++) { /* RAID device/volume table. */ } } disk->filler[i], d, i, disk->filler[i]); P("disk[%u].filler[%u]: %u", isw, if (disk->filler[i]) for (i = 0; i < ISW_DISK_FILLERS; i++) { P("disk[%u].status: 0x%x", isw, disk->status, d, disk->status); P("disk[%u].scsiId: 0x%x", isw, disk->scsiId, d, disk->scsiId); disk->totalBlocks, d, disk->totalBlocks); P("disk[%u].totalBlocks: %u", isw, disk->serial, d, MAX_RAID_SERIAL_LEN, disk->serial); P("disk[%u].serial: \"%*s\"", isw, continue; if (!disk->totalBlocks) for (d = 0, disk = isw->disk; d < isw->num_disks; d++, disk++) { /* Disk table. */ } isw->filler[i], i, isw->filler[i]); P("filler[%i]: %u", isw, if (isw->filler[i]) for (i = 0; i < ISW_FILLERS; i++) { DP("fill[1]: %u", isw, isw->fill[1]); DP("fill[0]: %u", isw, isw->fill[0]); DP("num_raid_devs: %u", isw, isw->num_raid_devs); DP("num_disks: %u", isw, isw->num_disks); DP("reserved[1]: %u", isw, isw->reserved[1]); DP("reserved[0]: %u", isw, isw->reserved[0]); DP("generation_num: %u", isw, isw->generation_num); DP("family_num: %u", isw, isw->family_num); DP("mpb_size: %u", isw, isw->mpb_size); DP("check_sum: %u", isw, isw->check_sum); P("sig: \"%*s\"", isw, isw->sig, MAX_SIGNATURE_LENGTH, isw->sig); log_print(lc, "%s (%s):", rd->di->path, handler); struct isw_dev *dev; struct isw_disk *disk; struct isw *isw = META(rd, isw); unsigned int d, i;{static void isw_log(struct lib_context *lc, struct raid_dev *rd) */ * Log native information about an ISW RAID device./*#ifdef DMRAID_NATIVE_LOG}; .rd = NULL, /* FIXME: no device add/remove event handler yet. */ .io = event_io,static struct event_handlers isw_eve disk->status |= FAILED_DISK; disk->status &= ~USABLE_DISK; return 0; if (S_BROKEN(status(lc, rd))) /* Avoid write trashing. */ LOG_ERR(lc, 0, "%s: disk", handler); if (!(disk = get_disk(lc, rd->di, isw))) struct isw_disk *disk; struct isw *isw = META(rd, isw); struct raid_dev *rd = e_io->rd;{static int event_io(struct lib_context *lc, struct event_io *e_io) */ * IO error event handler./*} return T_GROUP(rs) ? _isw_check(lc, rs) : 0;{static int isw_check(struct lib_context *lc, struct raid_set *rs)} return check_raid_set(lc, rs, devices, NULL, check_rd, NULL, handler);{static int _isw_check(struct lib_context *lc, struct raid_set *rs)} return 1; handler, dev->volume, rd->di->path, rs->name); "in RAID set \"%s\"", LOG_ERR(lc, 0, "%s device for volume \"%s\" broken on %s " if (dev->status)adAн°¯ƒ\,÷êçæ¹¬«š‡…]/.#"ù î ì ë À † „ ? = <  Å Ã š ˜ U S R O  Ì È m L J 9 )  ì Ö À ¿ š n U T #   Ö ³ — | l h g <    ÎͼŸœ›‰‡†[!ÿýáàɺ¹µn50õ¯m^]YÔ‹†Sôóï©wOKùôËÉÈŦ£…A?ýûú¹edA@ /* FIXME: more status checks ? */ struct isw_dev *dev = rd->private.ptr;{ struct raid_dev *rd, void *context)static int check_rd(struct lib_context *lc, struct raid_set *rs,} return ((struct isw_dev*) rd->private.ptr)->vol.map.num_members;{static unsigned int devices(struct raid_dev *rd, void *context) */ * FIXME: more sanity checks. * * Check an Intel SW RAID set./*} return group_rd(lc, rs_group, rd_meta); */ * gets returned or NULL on error. * A pointer to the top-level group RAID set * * so that the activate code is happy. * RAID devices hanging off it for every volume, * We need to run through the volume table and create a RAID set and /* rd_meta->private.ptr = NULL; list_add_sorted(lc, &rs_group->devs, &rd_meta->devs, dev_sort); rd_meta->private.ptr = rd_meta->meta_areas->area; */ * be created for all the Volumes of an ISW set and those need sorting. * Sorting is no problem here, because RAID sets and devices will * Add the whole underlying (meta) RAID device to the group set. /* return NULL; NO_CREATE, NO_CREATE_ARG))) rd_meta, LC_RS(lc), if (!(rs_group = find_or_alloc_raid_set(lc, rd_meta->name, FIND_TOP, /* Check if a top level group RAID set already exists. */ */ * with a volume table has been discovered by isw_read. * Once we get here, an Intel SW RAID disk containing a metadata area /* return NULL; if (T_SPARE(rd_meta)) struct raid_set *rs_group;{ struct raid_dev *rd_meta)static struct raid_set *isw_group(struct lib_context *lc,/* Add an Intel SW RAID device to a set */} return rs_group; } rd->private.ptr = private; /* Restore. */ list_add_sorted(lc, &rs->devs, &rd->devs, dev_sort); rd->private.ptr = isw; private = rd->private.ptr; /* Save and set to enable dev_sort(). */ } return NULL; free_raid_dev(lc, &rd); create_rs, dev))) { rd, &rs_group->sets, if (!(rs = find_or_alloc_raid_set(lc, rd->name, FIND_ALL, return NULL; if (!(rd = _create_rd(lc, rd_meta, isw, dev))) dev = raiddev(isw, d); for (d = 0; d < isw->num_raid_devs; d++) { /* Loop the device/volume table. */ struct raid_set *rs; struct raid_dev *rd; struct isw_dev *dev; struct isw *isw = META(rd_meta, isw); void *private; unsigned int d;{ struct raid_dev *rd_meta) struct raid_set *rs_group,static struct raid_set *group_rd(struct lib_context *lc, */ * and shall be returned on success (or NULL on error). * rs_group contains the top-level group RAID set (type: t_group) on entry/*} return _get_disk(isw, RD(new)->di) < _get_disk(isw, RD(pos)->di); struct isw *isw = RD(new)->private.ptr;{static int dev_sort(struct list_head *pos, struct list_head *new)/* Decide about ordering sequence of RAID device. */} rs->stride = ((struct isw_dev*) private)->vol.map.blocks_per_strip;{static void create_rs(struct raid_set *rs, void* private)/* Find an Intel RAID set or create it. */} return r; out: free_raid_dev(lc, &r); free: goto out; r->sectors = dev->vol.map.blocks_per_member; r->offset = dev->vol.map.pba_of_lba0; r->fmt = rd->fmt; r->di = rd->di; goto free; if (!(r->name = name(lc, isw, dev))) } goto free; handler, (unsigned int) dev->vol.map.raid_level); log_err(lc, "%s: RAID type %u not supported", if ((r->type = type(r)) == t_undef) { memcpy(r->private.ptr, dev, sizeof(*dev)); goto free; if (!(r->private.ptr = alloc_private(lc, handler, sizeof(*dev))))ad@„ŒÖ™rB 䵬–ƒ|{jYX?=<Í Ë › š j h g  ó Ò Ð ¬ o n 7    Ç ‘ Œ w v :  à Ô Ó Ï q l X W : ,  ö ê ç å Ý Í À ¿ · ¢   Ÿ ^  ÑÏŒ][ZW/+ÞÜÒ°¯š™•]$íè¡sr?>êéÕÔÇÅÄÁ‘kgBùÝÛ½š€_VUK ÙÀ½¼±¯®y)üúåä½”…„ƒ return NULL; !(r = alloc_raid_dev(lc, handler))) if (!_check_map_state(lc, rd, dev) || struct raid_dev *r;{ struct isw *isw, struct isw_dev *dev)static struct raid_dev *_create_rd(struct lib_context *lc, struct raid_dev *rd,/* Create a RAID device to map a volumes segment. */} return 1; } (char*) dev->volume); handler, dev->vol.map.map_state, rd->di->path, LOG_ERR(lc, 0, "%s: unsupported map state 0x%x on %s for %s", default: break; case ISW_T_STATE_UNINITIALIZED: case ISW_T_STATE_NORMAL: switch (dev->vol.map.map_state) { /* FIXME: FAILED_MAP etc. */{ struct isw_dev *dev)static int _check_map_state(struct lib_context *lc, struct raid_dev *rd,/* Check state if isw device map. */ */ * multiple RAID sets and RAID disks. * Group an Intel SW RAID disk into potentially/*} return ret; to_cpu(isw, FULL); rd->meta_areas->area -= ISW_DISK_BLOCK_SIZE; /* Correct metadata area pointer. */ ret = write_metadata(lc, handler, rd, -1, erase); rd->meta_areas->area += ISW_DISK_BLOCK_SIZE; memcpy((void*) isw + rd->meta_areas->size, isw, ISW_DISK_BLOCK_SIZE); */ * that the metadata is filed in the proper sequence. * and increment metadata area pointer by one block, so * Copy 1st metadata sector to after the extended ones /* to_disk(isw, FULL); struct isw *isw = META(rd, isw); int ret;{static int isw_write(struct lib_context *lc, struct raid_dev *rd, int erase) */ * Write an Intel Software RAID device./*} isw_file_metadata, setup_rd, handler); return read_raid_dev(lc, di, isw_read_metadata, 0, 0, NULL, NULL,{static struct raid_dev *isw_read(struct lib_context *lc, struct dev_info *di) struct dev_info *di, void *meta, union read_info *info);static int setup_rd(struct lib_context *lc, struct raid_dev *rd,} return (void*) isw; out: isw = NULL; dbg_free(isw); bad: } goto out; info->u64 = isw_sboffset; *offset = isw_sboffset; *sz = size; if (disk_ok(lc, di, isw)) { to_cpu(isw, LAST); */ * metadata, we can convert it completely. * Now that we made sure, that we've got all the /* goto bad; !isw_read_extended(lc, di, &isw, &isw_sboffset, &size)) if (!is_isw(lc, di, isw) || /* Check Signature and read optional extended metadata. */ to_cpu(isw, FIRST); */ * read extended metadata located ahead of it first. * Convert start of metadata only, because we might need to /* goto out; di->path, isw_sboffset))) if (!(isw = alloc_private_and_read(lc, handler, size, struct isw *isw; uint64_t isw_sboffset = ISW_CONFIGOFFSET; size_t size = ISW_DISK_BLOCK_SIZE;{ union read_info *info) size_t *sz, uint64_t *offset,static void *isw_read_metadata(struct lib_context *lc, struct dev_info *di,} return disk && __status(disk->status) == s_ok; struct isw_disk *disk = get_disk(lc, di, isw);{static int disk_ok(struct lib_context *lc, struct dev_info *di, struct isw *isw)/* Check for RAID disk ok. */} return isw_tmp ? 1 : 0; *isw = isw_tmp; dbg_free(*isw); } } isw_tmp = NULL; dbg_free(isw_tmp); else { memcpy(isw_tmp, *isw, ISW_DISK_BLOCK_SIZE); /* Copy in first metadata sector. */ *size - ISW_DISK_BLOCK_SIZE, *isw_sboffset)) (void*) isw_tmp + ISW_DISK_BLOCK_SIZE, if (read_file(lc, handler, di->path, /* Read extended metadata to offset ISW_DISK_BLOCK_SIZE */ *size + ISW_DISK_BLOCK_SIZE))) {ad&V‡Ä ~}W+*쿾±¯®‰IGÿ ò Ô Ó Æ Ä Ã À £ Ÿ ƒ _ ? ( "  è ½ ¹ ƒ m V @ ?   ê Ð ² ¯ ® › ‘ N 3     × ¾ ½ ¨ ‘ y c D C    à · g f 5   °®]QPÛž^*  À«©YõÄ¡_><;ñש§‘XñàÔÓÏ™`$ÝØ±‚VU if ((isw_tmp = alloc_private(lc, handler, *isw_sboffset -= *size - ISW_DISK_BLOCK_SIZE; *size = blocks * ISW_DISK_BLOCK_SIZE; */ * (ie, sectors 1, 2-n, 1 in core so that the filing can start at 2). * to be able to file the metadata in the proper sequence. * and read it in. Reserve one more disk block in order * Allocate memory for the extended Intel superblock /* return 1; if (blocks < 2) /* No extended metadata to read ? */ size_t blocks = div_up((*isw)->mpb_size, ISW_DISK_BLOCK_SIZE); /* Get the rounded up value for the metadata blocks */ struct isw *isw_tmp;{ uint64_t *isw_sboffset, size_t *size) struct isw **isw,static int isw_read_extended(struct lib_context *lc, struct dev_info *di,} file_dev_size(lc, handler, di); size, (di->sectors - (size / ISW_DISK_BLOCK_SIZE)) << 9); ISW_DISK_BLOCK_SIZE : 0), meta + (size / ISW_DISK_BLOCK_SIZE > 1 ? file_metadata(lc, handler, di->path, size_t size = round_up(isw->mpb_size, ISW_DISK_BLOCK_SIZE); /* Get the rounded up value for the metadata size */ struct isw *isw = meta;{ void *meta)static void isw_file_metadata(struct lib_context *lc, struct dev_info *di,} return 1; di->path); handler, isw->sig + sizeof(MPB_SIGNATURE) - 1, log_print(lc, "%s: untested metadata version %s found on %s", MPB_VERSION_RAID2, sizeof(MPB_VERSION_RAID2) - 1) > 0) if (strncmp((const char*) isw->sig + sizeof(MPB_SIGNATURE) - 1, /* Check version info, older versions supported */ return 0; if (strncmp((const char *) isw->sig, MPB_SIGNATURE, sizeof(MPB_SIGNATURE) - 1)){static int is_isw(struct lib_context *lc, struct dev_info *di, struct isw *isw)#endif} } CVT16(dev->vol.map.disk_ord_tbl[j]); for (j = 0; j < dev->vol.map.num_members; j++) CVT16(dev->vol.map.blocks_per_strip); CVT32(dev->vol.map.num_data_stripes); CVT32(dev->vol.map.blocks_per_member); CVT32(dev->vol.map.pba_of_lba0); /* RAID map. */ /* RAID volume has 8 bit members only. */ CVT32(dev->reserved_blocks); CVT32(dev->status); CVT32(dev->SizeHigh); CVT32(dev->SizeLow); /* RAID device. */ dev = raiddev(isw, i); for (i = 0; i < isw->num_raid_devs; i++) { } CVT32(dsk->status); CVT32(dsk->scsiId); CVT32(dsk->totalBlocks); for (dsk = isw->disk; dsk < &isw->disk[isw->num_disks]; dsk++) { return; if (cvt == FIRST) } CVT32(isw->generation_num); CVT32(isw->family_num); CVT32(isw->mpb_size); CVT32(isw->check_sum); if (cvt == FIRST || cvt == FULL) { struct isw_dev *dev; struct isw_disk *dsk; unsigned int i, j;{static void to_cpu(struct isw *isw, enum convert cvt) */ * because we don't get called from there. * We can differ from the read_raid_dev template here,/*#else# define to_cpu(x, y)#if BYTE_ORDER == LITTLE_ENDIANenum convert { FULL, FIRST, LAST };/* Endianess conversion. */ */ * Read an Intel RAID device/*} return dev; dev = advance_raiddev(dev); while (i--) struct isw_dev *dev = (struct isw_dev*) (isw->disk + isw->num_disks);{static struct isw_dev *raiddev(struct isw *isw, unsigned int i)/* Return isw_dev by table index. */} return dev; dev = advance_dev(dev, map, sizeof(*map)); if (vol->migr_state) /* need to add space for another map */ dev = advance_dev(dev, map, sizeof(*dev)); /* Correction: yes, it sits here! */ struct isw_map *map = &vol->map; struct isw_vol *vol = &dev->vol;{static struct isw_dev *advance_raiddev(struct isw_dev *dev)dmraid/1.0.0.rc16/lib/format/register.h0000644000175200007640000000102611254123773017751 0ustar mauelshamauelsha/* * Copyright (C) 2004,2005 Heinz Mauelshagen, Red Hat GmbH. * All rights reserved. * * See file LICENSE at the top of this source tree for license information. */ /* * List of format handler register functions */ #ifndef _REGISTER_H_ #define _REGISTER_H_ #define xx(type) { register_ ## type }, /* Metadata format handlers. */ xx(asr) xx(ddf1) xx(hpt37x) xx(hpt45x) xx(isw) xx(jm) xx(lsi) xx(nv) xx(pdc) xx(sil) xx(via) /* DOS partition type handler. */ xx(dos) #undef xx #endif dmraid/1.0.0.rc16/lib/format/ondisk.h0000644000175200007640000000104511254123773017415 0ustar mauelshamauelsha/* * Copyright (C) 2004,2005 Heinz Mauelshagen, Red Hat GmbH. * All rights reserved. * * See file LICENSE at the top of this source tree for license information. */ #ifndef _ONDISK_H_ #define _ONDISK_H_ #include "ataraid/asr.h" #include "ataraid/hpt37x.h" #include "ataraid/hpt45x.h" #include "ataraid/isw.h" #include "ataraid/jm.h" #include "ataraid/lsi.h" #include "ataraid/nv.h" #include "ataraid/pdc.h" #include "ataraid/via.h" #include "ataraid/sil.h" #include "ddf/ddf1.h" #include "partition/dos.h" #endif dmraid/1.0.0.rc16/lib/format/template/0000755000175200007640000000000011254124143017560 5ustar mauelshamauelshadmraid/1.0.0.rc16/lib/format/template/template.h0000644000175200007640000000201711254123773021554 0ustar mauelshamauelsha/* * Copyright (C) 2004,2005 Heinz Mauelshagen, Red Hat GmbH. * All rights reserved. * * See file LICENSE at the top of this source tree for license information. */ #ifndef _TEMPLATE_H_ #define _TEMPLATE_H_ #ifdef FORMAT_HANDLER #undef FORMAT_HANDLER /* CODEME: code ondisk metadata definitions */ #include #define TEMPLATE_CONFIGOFFSET ((di->sectors - 1) << 9) #define TEMPLATE_DATAOFFSET 0 struct template { uint8_t magic_name[8]; /* metadata has a 'magic' name ? */ #define TEMPLATE_MAGIC_NAME "TEMPLATE" uint32_t magic; /* and/or metadata has a 'magic' number ? */ #define TEMPLATE_MAGIC_OK 0xABCDEF uint8_t type; /* RAID level */ #define TEMPLATE_T_SPAN 0 #define TEMPLATE_T_RAID0 1 uint8_t disk_number; /* Absolute disk number in set. */ /* etc. */ ....... /* members for numbers of disks, whatever... */ } __attribute__ ((packed)); #endif /* Prototype of the register function for this metadata format handler */ int register_template(struct lib_context *lc); #endif dmraid/1.0.0.rc16/lib/format/template/README0000644000175200007640000000123411254123773020450 0ustar mauelshamauelshaThis directory contains a dmraid library format handler template. See template.h for a basic header defining the ondisk metadata structures and template.c showing the basic code structure of a format handler. Watch the CODEME remarks for coding areas to cover. You probably want to look at lib/format/ataraid/*.[ch] as well ;) Put your format handler .h and .c files into an appropriate (new) subdirectory (eg, another ATARAID format handler goes into lib/format/ataraid), add your register function to lib/format/register.h, add your header file to lib/format/ondisk.h and add the .c file to SOURCES in lib/Makefile.in (don't forget to run configure before make). dmraid/1.0.0.rc16/lib/format/template/template.c0000644000175200007640000001325411254123773021554 0ustar mauelshamauelsha/* * Copyright (C) 2004,2005 Heinz Mauelshagen, Red Hat GmbH. * All rights reserved. * * See file LICENSE at the top of this source tree for license information. */ /* * Template to implement metadata format handlers. */ #define HANDLER "template" #include "internal.h" #define FORMAT_HANDLER #include "template.h" #if BYTE_ORDER != LITTLE_ENDIAN # define DM_BYTEORDER_SWAB # include #endif static const char *handler = HANDLER; /* Make up RAID device name. */ /* CODEME: implement creation of senseful name for the RAID device */ static size_t _name(struct template *template, char *str, size_t len, unsigned int subset) { return snprintf(str, len, "template"); } static char * name(struct lib_context *lc, struct raid_dev *rd, unsigned int subset) { size_t len; char *ret; struct template *template = META(rd, template); if ((ret = dbg_malloc((len = _name(template, NULL, 0, subset) + 1)))) { _name(template, ret, len, subset); mk_alpha(lc, ret + HANDLER_LEN, len - HANDLER_LEN); } else log_alloc_err(lc, handler); return ret; } /* Mapping of template types to generic types */ /* * CODEME: mappings of template private level types to generic ones * (see metadata.h for generic ones) */ static struct types types[] = { {TEMPLATE_T_SPAN, t_linear}, {TEMPLATE_T_RAID0, t_raid0}, {0, t_undef} }; /* Neutralize disk type using generic metadata type mapping function */ static enum type template_type(struct lib_context *lc, struct raid_dev *rd) { return rd_type(types, (unsigned int) (META(rd, template))->type); } /* * Read a Template RAID device */ /* CODEME: endianess conversion */ #if BYTE_ORDER == LITTLE_ENDIAN # define to_cpu(x) #else static void to_cpu(struct template *template) { CVT32(template->something); ...} #endif static int setup_rd(struct lib_context *lc, struct raid_dev *rd, struct dev_info *di, void *meta, union read_info *info); static struct raid_dev * template_read(struct lib_context *lc, struct dev_info *di) { return read_raid_dev(lc, di, NULL, sizeof(struct template), TEMPLATE_CONFIGOFFSET, NULL, NULL, NULL, handler); } /* * Decide about ordering sequence of RAID device. * (Called by list_add_sorted(). */ static int dev_sort(struct list_head *pos, struct list_head *new) { return (META(RD(new), template))->disk_number < (META(RD(pos), template))->disk_number; } /* * Decide about ordering sequence of RAID device. * (Called by join_superset(). */ static int set_sort(struct list_head *pos, struct list_head *new) { return _subset(META(RD_RS(RS(new)), via)) < _subset(META(RD_RS(RS(pos)), via)); } /* Add a Template RAID device to a set */ static struct raid_set * template_group(struct lib_context *lc, struct raid_dev *rd) { if (T_SPARE(rd)) return NULL; /* CODEME: add grouping logic * * This involves list_add_sorted() and in case of * stacked RAID sets, join_superset() calls as well. */ log_err(lc, "%s: implement grouping logic for RAID set", handler); return NULL; } /* CODEME: Write private RAID metadata to device */ static int template_write(struct lib_context *lc, struct raid_dev *rd, int erase) { int ret; #if BYTE_ORDER != LITTLE_ENDIAN struct template *template = META(rd, template); #endif /* CODEME: in case there's more complex metadata areas */ to_disk(template); ret = write_metadata(lc, handler, rd, -1, erase); to_cpu(template); return ret; } /* * Check integrity of a RAID set. */ static unsigned int devices(struct raid_dev *rd, void *context) { LOG_ERR(lc, 0, "%s: implement RAID device # function", handler); } static int check_rd(struct lib_context *lc, struct raid_set *rs, struct raid_dev *rd, void *context); { LOG_ERR(lc, 0, "%s: implement RAID device integrity checks", handler); } static int template_check(struct lib_context *lc, struct raid_set *rs) { /* CODEME: implement */ return check_raid_set(lc, rs, devices, devices_context, check_rd, check_rd_context, handler); } static struct event_handlers template_event_handlers = { .io = event_io, /* CODEME: */ .rd = NULL, /* FIXME: no device add/remove event handler yet. */ }; #ifdef DMRAID_NATIVE_LOG /* * Log native information about the RAID device. */ static void template_log(struct lib_context *lc, struct raid_dev *rd) { struct template *template = META(rd, template); /* CODEME: implement (use P(), ... macors from format.h */ log_print(lc, "%s: implement displaying metadata variables", handler); } #endif static struct dmraid_format template_format = { .name = HANDLER, .descr = "Template RAID", .caps = "(Insert RAID levels here)", .format = FMT_RAID, .read = template_read, .write = template_write, .group = template_group, .check = template_check, .events = &template_event_handlers, #ifdef DMRAID_NATIVE_LOG .log = template_log, #endif }; /* Register this format handler with the format core */ int register_template(struct lib_context *lc) { return register_format_handler(lc, &template_format); } /* CODEME: Set the RAID device contents up derived from the TEMPLATE ones */ static int setup_rd(struct lib_context *lc, struct raid_dev *rd, struct dev_info *di, void *meta, union read_info *info) { struct template *template = meta; if (!(rd->meta_areas = alloc_meta_areas(lc, rd, handler, 1))) return 0; rd->meta_areas->offset = TEMPLATE_CONFIGOFFSET >> 9; rd->meta_areas->size = sizeof(*template); rd->meta_areas->area = (void *) template; rd->di = di; rd->fmt = &template_format; rd->status = s_ok; /* CODEME: derive from metadata. */ rd->type = template_type(template); rd->offset = TEMPLATE_DATAOFFSET; /* CODEME: correct sectors. */ rd->sectors = rd->meta_areas->offset; if ((rd->name = name(lc, rd, 1))) return 1; return 0; } dmraid/1.0.0.rc16/lib/display/0000755000175200007640000000000011254261512016124 5ustar mauelshamauelshadmraid/1.0.0.rc16/lib/display/display.c0000644000175200007640000002212611254123773017746 0ustar mauelshamauelsha/* * Copyright (C) 2004,2005 Heinz Mauelshagen, Red Hat GmbH. * All rights reserved. * * See file LICENSE at the top of this source tree for license information. */ #include "internal.h" #include "activate/devmapper.h" #define ARRAY_LIMIT(array, idx) \ ((idx) < ARRAY_SIZE(array) ? (idx) : ARRAY_SIZE(array) - 1) struct log_handler { const char *field; const unsigned char minlen; void (*log_func) (struct lib_context *, void *arg); void *arg; }; static void log_string(struct lib_context *lc, void *arg) { log_print_nnl(lc, "%s", (char *) arg); } static void log_uint64(struct lib_context *lc, void *arg) { log_print_nnl(lc, "%" PRIu64, *((uint64_t *) arg)); } static void log_uint(struct lib_context *lc, void *arg) { log_print_nnl(lc, "%u", *((unsigned int *) arg)); } /* Log a structure member by field name. */ static int log_field(struct lib_context *lc, const struct log_handler *lh, size_t lh_size, char *field) { const struct log_handler *h; for (h = lh; h < lh + lh_size; h++) { size_t len = strlen(field); if (!strncmp(field, h->field, len > h->minlen ? len : h->minlen)) { h->log_func(lc, h->arg); return 1; } } log_print_nnl(lc, "*ERR*"); return 1; } /* Log a list of structure members by field name. */ static void log_fields(struct lib_context *lc, const struct log_handler *lh, size_t lh_size) { int logged = 0, last_logged = 0; const char delim = *OPT_STR_SEPARATOR(lc); char *p, *sep, *sep_sav; if (!(sep_sav = dbg_strdup((char *) OPT_STR_COLUMN(lc)))) { log_alloc_err(lc, __func__); return; } sep = sep_sav; do { sep = remove_delimiter((p = sep), delim); if (last_logged) log_print_nnl(lc, "%c", delim); last_logged = log_field(lc, lh, lh_size, p); logged += last_logged; add_delimiter(&sep, delim); } while (sep); dbg_free(sep_sav); if (logged) log_print(lc, ""); } /* Display information about a block device */ static void log_disk(struct lib_context *lc, struct list_head *pos) { struct dev_info *di = list_entry(pos, typeof(*di), list); if (OPT_STR_COLUMN(lc)) { const struct log_handler log_handlers[] = { {"devpath", 1, log_string, di->path}, {"path", 1, log_string, di->path}, {"sectors", 3, log_uint64, &di->sectors}, {"serialnumber", 3, log_string, di->serial ? (void *) di->serial : (void *) "N/A"}, {"size", 2, log_uint64, &di->sectors}, }; log_fields(lc, log_handlers, ARRAY_SIZE(log_handlers)); } else { const char *fmt[] = { "%s: %12" PRIu64 " total, \"%s\"", "%s", "%s:%" PRIu64 ":\"%s\"", }; log_print(lc, fmt[ARRAY_LIMIT(fmt, OPT_COLUMN(lc))], di->path, di->sectors, di->serial ? di->serial : "N/A"); } } /* Turn NULL (= "unknown") into a displayable string. */ static const char * check_null(const char *str) { return str ? str : "unknown"; } /* Log native RAID device information. */ static void log_rd_native(struct lib_context *lc, struct list_head *pos) { struct raid_dev *rd = list_entry(pos, typeof(*rd), list); if (rd->fmt->log) { rd->fmt->log(lc, rd); log_print(lc, ""); } else log_print(lc, "\"%s\" doesn't support native logging of RAID " "device information", rd->fmt->name); } /* Display information about a RAID device */ static void log_rd(struct lib_context *lc, struct list_head *pos) { struct raid_dev *rd = list_entry(pos, typeof(*rd), list); if (OPT_STR_COLUMN(lc)) { const struct log_handler log_handlers[] = { {"dataoffset", 2, log_uint64, &rd->offset}, {"devpath", 2, log_string, rd->di->path}, {"format", 1, log_string, (void *) rd->fmt->name}, {"offset", 1, log_uint64, &rd->offset}, {"path", 1, log_string, rd->di->path}, {"raidname", 1, log_string, rd->name}, {"type", 1, log_string, (void *) check_null(get_type(lc, rd->type))}, {"sectors", 2, log_uint64, &rd->sectors}, {"size", 2, log_uint64, &rd->sectors}, {"status", 2, log_string, (void *) check_null(get_status(lc, rd->status))}, }; log_fields(lc, log_handlers, ARRAY_SIZE(log_handlers)); } else { const char *fmt[] = { "%s: %s, \"%s\", %s, %s, %" PRIu64 " sectors, " "data@ %" PRIu64, "%s", "%s:%s:%s:%s:%s:%" PRIu64 ":%" PRIu64, }; log_print(lc, fmt[ARRAY_LIMIT(fmt, OPT_COLUMN(lc))], rd->di->path, rd->fmt->name, rd->name, check_null(get_type(lc, rd->type)), check_null(get_status(lc, rd->status)), rd->sectors, rd->offset); } } /* Dispatch log functions. */ static void log_devices(struct lib_context *lc, enum dev_type type) { struct list_head *pos; struct { enum dev_type type; struct list_head *list; void (*log) (struct lib_context *, struct list_head *); } types[] = { { DEVICE, LC_DI(lc), log_disk }, { NATIVE, LC_RD(lc), log_rd_native }, { RAID, LC_RD(lc), log_rd }, }, *t = types; do { if (t->type == type) { list_for_each(pos, t->list) t->log(lc, pos); return; } } while (++t < ARRAY_END(types)); LOG_ERR(lc,, "%s: unknown device type", __func__); } /* Display information about a dmraid format handler */ static void log_format(struct lib_context *lc, struct dmraid_format *fmt) { log_print_nnl(lc, "%-7s : %s", fmt->name, fmt->descr); if (fmt->caps) log_print_nnl(lc, " (%s)", fmt->caps); log_print(lc, ""); } /* Pretty print a mapping table. */ void display_table(struct lib_context *lc, char *rs_name, char *table) { char *nl = table, *p; do { nl = remove_delimiter((p = nl), '\n'); log_print(lc, "%s: %s", rs_name, p); add_delimiter(&nl, '\n'); } while (nl); } /* Display information about devices depending on device type. */ void display_devices(struct lib_context *lc, enum dev_type type) { int devs; if ((devs = count_devices(lc, type))) { log_info(lc, "%s device%s discovered:\n", (type & (RAID | NATIVE)) ? "RAID" : "Block", devs == 1 ? "" : "s"); log_devices(lc, type); } } /* Retrieve format name from (hierarchical) raid set. */ static void * get_format_name(struct raid_set *rs) { struct dmraid_format *fmt = get_format(rs); return (void *) check_null(fmt ? fmt->name : NULL); } static void log_rs(struct lib_context *lc, struct raid_set *rs) { unsigned int devs = 0, spares = 0, subsets = 0; uint64_t sectors = 0; if (T_GROUP(rs) && !OPT_GROUP(lc)) return; sectors = total_sectors(lc, rs); subsets = count_sets(lc, &rs->sets); devs = count_devs(lc, rs, ct_dev); spares = count_devs(lc, rs, ct_spare); if (OPT_STR_COLUMN(lc)) { const struct log_handler log_handlers[] = { {"devices", 1, log_uint, &devs}, {"format", 1, log_string, get_format_name(rs)}, {"raidname", 1, log_string, rs->name}, {"sectors", 2, log_uint64, §ors}, {"size", 2, log_uint64, §ors}, {"spares", 2, log_uint, &spares}, {"status", 3, log_string, (void *) check_null(get_status(lc, rs->status))}, {"stride", 3, log_uint, &rs->stride}, {"subsets", 2, log_uint, &subsets}, {"type", 1, log_string, (void *) check_null(get_set_type(lc, rs))}, }; log_fields(lc, log_handlers, ARRAY_SIZE(log_handlers)); } else { const char *fmt[] = { "name : %s\n" "size : %" PRIu64 "\n" "stride : %u\n" "type : %s\n" "status : %s\n" "subsets: %u\n" "devs : %u\n" "spares : %u", "%s", "%s:%" PRIu64 ":%u:%s:%s:%u:%u:%u", }; unsigned int o = ARRAY_LIMIT(fmt, lc_opt(lc, LC_COLUMN)); log_print(lc, fmt[o], rs->name, sectors, rs->stride, check_null(get_set_type(lc, rs)), check_null(get_status(lc, rs->status)), subsets, devs, spares); } if (OPT_COLUMN(lc) > 2) { struct raid_dev *rd; list_for_each_entry(rd, &rs->devs, devs) log_rd(lc, &rd->list); } } static int group_active(struct lib_context *lc, struct raid_set *rs) { struct raid_set *r; list_for_each_entry(r, &rs->sets, list) { if (dm_status(lc, r)) return 1; } return 0; } /* FIXME: Spock, do something better (neater). */ void display_set(struct lib_context *lc, void *v, enum active_type active, int top) { struct raid_set *rs = v; struct raid_set *r; int dmstatus = T_GROUP(rs) ? group_active(lc, rs) : dm_status(lc, rs); if (((active & D_ACTIVE) && !dmstatus) || ((active & D_INACTIVE) && dmstatus)) return; if (!OPT_COLUMN(lc)) { if (T_GROUP(rs) && !OPT_GROUP(lc)) log_print(lc, "*** Group superset %s", rs->name); else { log_print(lc, "%s %s%s%set", top ? "-->" : "***", S_INCONSISTENT(rs->status) ? "*Inconsistent* " : "", dm_status(lc, rs) ? "Active " : "", SETS(rs) ? "Supers" : (top ? "Subs" : "S")); } } log_rs(lc, rs); /* Optionally display subsets. */ if (T_GROUP(rs) || /* Always display for GROUP sets. */ OPT_SETS(lc) > 1 || OPT_COLUMN(lc) > 2) { list_for_each_entry(r, &rs->sets, list) display_set(lc, r, active, ++top); } } /* * Display information about supported RAID metadata formats * (ie. registered format handlers) */ static void _list_formats(struct lib_context *lc, enum fmt_type type) { struct format_list *fmt_list; list_for_each_entry(fmt_list, LC_FMT(lc), list) { if (type == fmt_list->fmt->format) log_format(lc, fmt_list->fmt); } } int list_formats(struct lib_context *lc, int arg) { log_info(lc, "supported metadata formats:"); _list_formats(lc, FMT_RAID); _list_formats(lc, FMT_PARTITION); return 1; } dmraid/1.0.0.rc16/lib/device/0000755000175200007640000000000011254261512015716 5ustar mauelshamauelshadmraid/1.0.0.rc16/lib/device/dev-io.h0000644000175200007640000000124711254123773017264 0ustar mauelshamauelsha/* * Copyright (C) 2004,2005 Heinz Mauelshagen, Red Hat GmbH. * All rights reserved. * * See file LICENSE at the top of this source tree for license information. */ #ifndef _DEV_IO_H_ #define _DEV_IO_H_ #include #include #include "internal.h" #define BLKGETSIZE _IO(0x12, 0x60) /* get block device size */ #define BLKSSZGET _IO(0x12, 0x68) /* get block device sector size */ #define DMRAID_SECTOR_SIZE 512 int discover_devices(struct lib_context *lc, char **devnodes); int removable_device(struct lib_context *lc, char *dev_path); int remove_device_partitions(struct lib_context *lc, void *rs, int dummy); #endif dmraid/1.0.0.rc16/lib/device/partition.c0000644000175200007640000000315311254123773020103 0ustar mauelshamauelsha/* * Copyright (C) 2009 Hans de Goede , Red Hat Inc. * All rights reserved. * * See file LICENSE at the top of this source tree for license information. */ #include #include #include #include #include "internal.h" static int _remove_subset_partitions(struct lib_context *lc, struct raid_set *rs) { struct raid_dev *rd; struct blkpg_partition part = { 0, }; struct blkpg_ioctl_arg io = { .op = BLKPG_DEL_PARTITION, .datalen = sizeof(part), .data = &part, }; list_for_each_entry(rd, &rs->devs, devs) { int fd = open(rd->di->path, O_RDWR); if (fd < 0) LOG_ERR(lc, 0, "opening %s: %s\n", rd->di->path, strerror(errno)); /* There is no way to enumerate partitions */ for (part.pno = 1; part.pno <= 256; part.pno++) { if (ioctl(fd, BLKPG, &io) < 0 && errno != ENXIO && (part.pno < 16 || errno != EINVAL)) LOG_ERR(lc, 0, "removing part %d from %s: %s\n", part.pno, rd->di->path, strerror(errno)); } } return 1; } /* Remove the partition block devices (ie sda1) from block devices (ie sda) used in the set, so that things like hal / blkid won't try to access the disks directly */ int remove_device_partitions(struct lib_context *lc, void *v, int dummy) { struct raid_set *subset, *rs = v; /* Recursively walk down the chain of stacked RAID sets */ list_for_each_entry(subset, &rs->sets, list) { /* Remove partitions from devices of set below this one */ if (!T_GROUP(rs) && !remove_device_partitions(lc, subset, 0)) return 0; } return _remove_subset_partitions(lc, rs); } dmraid/1.0.0.rc16/lib/device/scsi.c0000644000175200007640000000644711254123773017044 0ustar mauelshamauelsha/* * Copyright (C) 2004-2008 Heinz Mauelshagen, Red Hat GmbH. * All rights reserved. * * Copyright (C) 2007 Intel Corporation. All rights reserved. * November, 2007 - additions for Create, Delete, Rebuild & Raid 10. * * See file LICENSE at the top of this source tree for license information. */ #include #include #include #include #include /* FIXME: sg header mess. */ #include #include #include "dev-io.h" #include "scsi.h" /* Thx scsiinfo. */ /* Initialize SCSI inquiry command block (used both with SG and old ioctls). */ static void set_cmd(unsigned char *cmd, size_t len) { cmd[0] = 0x12; /* INQUIRY */ cmd[1] = 1; cmd[2] = 0x80; /* page code: SCSI serial */ cmd[3] = 0; cmd[4] = (unsigned char) (len & 0xff); cmd[5] = 0; } /* * SCSI SG_IO ioctl to get serial number of a unit. */ static int sg_inquiry(int fd, unsigned char *response, size_t response_len) { unsigned char cmd[6]; struct sg_io_hdr io_hdr; set_cmd(cmd, response_len); /* Initialize generic (SG) SCSI ioctl header. */ memset(&io_hdr, 0, sizeof(io_hdr)); io_hdr.interface_id = 'S'; io_hdr.cmdp = cmd; io_hdr.cmd_len = sizeof(cmd); io_hdr.sbp = NULL; io_hdr.mx_sb_len = 0; io_hdr.dxfer_direction = SG_DXFER_FROM_DEV; io_hdr.dxferp = response; io_hdr.dxfer_len = response_len; io_hdr.timeout = 6000; /* [ms] */ return ioctl(fd, SG_IO, &io_hdr) ? 0 : 1; } /* * Old SCSI ioctl as fallback to get serial number of a unit. */ static int old_inquiry(int fd, unsigned char *response, size_t response_len) { unsigned int *i = (unsigned int *) response; i[0] = 0; /* input data length */ i[1] = response_len; /* output buffer length */ set_cmd((unsigned char *) &i[2], response_len); return ioctl(fd, SCSI_IOCTL_SEND_COMMAND, response) ? 0 : 1; } /* * Retrieve SCSI serial number. */ #define MAX_RESPONSE_LEN 255 int get_scsi_serial(struct lib_context *lc, int fd, struct dev_info *di, enum ioctl_type type) { int ret = 0; size_t actual_len; unsigned char *response; /* * Define ioctl function and offset into response buffer of serial * string length field (serial string follows length field immediately) */ struct { int (*ioctl_func) (int, unsigned char *, size_t); unsigned int start; } param[] = { { sg_inquiry, 3}, { old_inquiry, 11}, }, *p = (SG == type) ? param : param + 1; if (!(response = dbg_malloc(MAX_RESPONSE_LEN))) return 0; actual_len = p->start + 1; if ((ret = (p->ioctl_func(fd, response, actual_len)))) { size_t serial_len = (size_t) response[p->start]; if (serial_len > actual_len) { actual_len += serial_len; ret = p->ioctl_func(fd, response, actual_len); } ret = ret && (di->serial = dbg_strdup(remove_white_space (lc, (char *) &response[p->start + 1], serial_len))); } dbg_free(response); return ret; } int get_scsi_id(struct lib_context *lc, int fd, struct sg_scsi_id *sg_id) { int ret = 1; struct scsi_idlun { int four_in_one; int host_uniqe_id; } lun; if (!ioctl(fd, SCSI_IOCTL_GET_IDLUN, &lun)) { sg_id->host_no = (lun.four_in_one >> 24) & 0xff; sg_id->channel = (lun.four_in_one >> 16) & 0xff; sg_id->scsi_id = lun.four_in_one & 0xff; sg_id->lun = (lun.four_in_one >> 8) & 0xff; } else ret = 0; return ret; } dmraid/1.0.0.rc16/lib/device/ata.c0000644000175200007640000000160411254123773016636 0ustar mauelshamauelsha/* * Copyright (C) 2004,2005 Heinz Mauelshagen, Red Hat GmbH. * All rights reserved. * * See file LICENSE at the top of this source tree for license information. */ /* Thx scsiinfo. */ #include #include #include #include #include "dev-io.h" #include "ata.h" int get_ata_serial(struct lib_context *lc, int fd, struct dev_info *di) { int ret = 0; const int cmd_offset = 4; unsigned char *buf; struct ata_identify *ata_ident; if ((buf = dbg_malloc(cmd_offset + sizeof(*ata_ident)))) { buf[0] = ATA_IDENTIFY_DEVICE; buf[3] = 1; if (!ioctl(fd, HDIO_DRIVE_CMD, buf)) { ata_ident = (struct ata_identify *) &buf[cmd_offset]; if ((di->serial = dbg_strdup(remove_white_space (lc, (char *) ata_ident->serial, ATA_SERIAL_LEN)))) ret = 1; } dbg_free(buf); } return ret; } dmraid/1.0.0.rc16/lib/device/ata.h0000644000175200007640000000173211254123773016645 0ustar mauelshamauelsha/* * Copyright (C) 2004,2005 Heinz Mauelshagen, Red Hat GmbH. * All rights reserved. * * See file LICENSE at the top of this source tree for license information. */ /* Thx scsiinfo */ #ifndef _ATA_H_ #define _ATA_H_ struct ata_identify { unsigned short dummy[10]; #define ATA_SERIAL_LEN 20 unsigned char serial[ATA_SERIAL_LEN]; unsigned short dummy1[3]; unsigned char fw_rev[8]; unsigned char model[40]; unsigned short dummy2[33]; unsigned short major_rev_num; unsigned short minor_rev_num; unsigned short command_set_1; unsigned short command_set_2; unsigned short command_set_extension; unsigned short cfs_enable_1; unsigned short dummy3; unsigned short csf_default; unsigned short dummy4[168]; }; #ifndef ATA_IDENTIFY_DEVICE #define ATA_IDENTIFY_DEVICE 0xEC #endif #ifndef HDIO_DRIVE_CMD #define HDIO_DRIVE_CMD 0x031F #endif struct lib_context; int get_ata_serial(struct lib_context *lc, int fd, struct dev_info *di); #endif dmraid/1.0.0.rc16/lib/device/scan.c0000644000175200007640000001636011254123773017022 0ustar mauelshamauelsha/* * Copyright (C) 2004,2005 Heinz Mauelshagen, Red Hat GmbH. * All rights reserved. * * See file LICENSE at the top of this source tree for license information. */ #ifdef __KLIBC__ # define __KERNEL_STRICT_NAMES # include # include #else # include # include #endif #include #include #include #include "internal.h" #include "ata.h" #include "scsi.h" /* * subdirectory below sysfs moint point holding the * subdirectory hierarchies of all block devices. */ #define BLOCK "/block" /* Find sysfs mount point */ #ifndef _PATH_MOUNTS #define _PATH_MOUNTS "/proc/mounts" #endif static char * find_sysfs_mp(struct lib_context *lc) { #ifndef __KLIBC__ char *ret = NULL; FILE *mfile; struct mntent *ment; /* Try /proc/mounts first and failback to /etc/mtab. */ if (!(mfile = setmntent(_PATH_MOUNTS, "r"))) { if (!(mfile = setmntent(_PATH_MOUNTED, "r"))) LOG_ERR(lc, NULL, "Unable to open %s or %s", _PATH_MOUNTS, _PATH_MOUNTED); } while ((ment = getmntent(mfile))) { if (!strcmp(ment->mnt_type, "sysfs")) { ret = ment->mnt_dir; break; } }; endmntent(mfile); return ret; #else return (char *) "/sys"; #endif } /* Make up an absolute sysfs path given a relative one. */ static char * mk_sysfs_path(struct lib_context *lc, char const *path) { static char *ret = NULL, *sysfs_mp; if (!(sysfs_mp = find_sysfs_mp(lc))) LOG_ERR(lc, NULL, "finding sysfs mount point"); if ((ret = dbg_malloc(strlen(sysfs_mp) + strlen(path) + 1))) sprintf(ret, "%s%s", sysfs_mp, path); else log_alloc_err(lc, __func__); return ret; } /* Test with sparse mapped devices. */ #ifdef DMRAID_TEST static int dm_test_device(struct lib_context *lc, char *path) { struct stat s; return !lstat(path, &s) && S_ISLNK(s.st_mode) && !strncmp(get_basename(lc, path), "dm-", 3); } /* Fake a SCSI serial number by reading it from a file. */ static int get_dm_test_serial(struct lib_context *lc, struct dev_info *di, char *path) { int ret = 1; char *serial, buffer[32]; const char *dot_serial = ".serial"; FILE *f; if (!(serial = dbg_malloc(strlen(path) + strlen(dot_serial) + 1))) return log_alloc_err(lc, __func__); sprintf(serial, "%s%s", path, dot_serial); if ((f = fopen(serial, "r")) && fgets(buffer, 31, f) && !(di->serial = dbg_strdup(remove_white_space(lc, buffer, strlen(buffer))))) ret = 0; dbg_free(serial); if (f) fclose(f); else log_warn(lc, "missing dm serial file for %s", di->path); return ret; #undef DOT_SERIAL } #endif /* * Ioctl for sector, optionally for device size * and get device serial number. */ static int get_device_serial(struct lib_context *lc, int fd, struct dev_info *di) { /* * In case new generic SCSI ioctl fails, * try ATA and fall back to old SCSI ioctl. */ return get_scsi_serial(lc, fd, di, SG) || /* SG: generic scsi ioctl. */ get_ata_serial(lc, fd, di) || /* Get ATA serial number. */ get_scsi_serial(lc, fd, di, OLD); /* OLD: Old scsi ioctl. */ } static int di_ioctl(struct lib_context *lc, int fd, struct dev_info *di) { unsigned int sector_size = 0; unsigned long size; /* Fetch sector size. */ if (ioctl(fd, BLKSSZGET, §or_size)) sector_size = DMRAID_SECTOR_SIZE; if (sector_size != DMRAID_SECTOR_SIZE) LOG_ERR(lc, 0, "unsupported sector size %d on %s.", sector_size, di->path); /* Use size device ioctl in case we didn't get the size from sysfs. */ if (!di->sectors && !ioctl(fd, BLKGETSIZE, &size)) di->sectors = size; #ifdef DMRAID_TEST /* Test with sparse mapped devices. */ if (dm_test_device(lc, di->path)) return get_dm_test_serial(lc, di, di->path); else #endif return get_device_serial(lc, fd, di); } /* Are we interested in this device ? */ static int interested(struct lib_context *lc, char *path) { char *name = get_basename(lc, path); /* * Whole IDE and SCSI disks only. */ return (!isdigit(name[strlen(name) - 1]) && (*(name + 1) == 'd' && (*name == 'h' || *name == 's'))) #ifdef DMRAID_TEST /* * Include dm devices for testing. */ || dm_test_device(lc, path) #endif ; } /* Ask sysfs, if a device is removable. */ int removable_device(struct lib_context *lc, char *dev_path) { int ret = 0; char buf[2], *name, *sysfs_path, *sysfs_file; const char *sysfs_removable = "removable"; FILE *f; if (!(sysfs_path = mk_sysfs_path(lc, BLOCK))) return 0; name = get_basename(lc, dev_path); if (!(sysfs_file = dbg_malloc(strlen(sysfs_path) + strlen(name) + strlen(sysfs_removable) + 3))) { log_alloc_err(lc, __func__); goto out; } sprintf(sysfs_file, "%s/%s/%s", sysfs_path, name, sysfs_removable); if ((f = fopen(sysfs_file, "r"))) { /* Using fread for klibc compatibility. */ if (fread(buf, sizeof(char), sizeof(buf) - 1, f) && *buf == '1') { log_notice(lc, "skipping removable device %s", dev_path); ret = 1; } fclose(f); } dbg_free(sysfs_file); out: dbg_free(sysfs_path); return ret; } /* * Read the size in sectors from the sysfs "size" file. * Avoid access to removable devices. */ static int sysfs_get_size(struct lib_context *lc, struct dev_info *di, const char *path, char *name) { int ret = 0; char buf[22], *sysfs_file; const char *sysfs_size = "size"; FILE *f; if (!(sysfs_file = dbg_malloc(strlen(path) + strlen(name) + strlen(sysfs_size) + 3))) return log_alloc_err(lc, __func__); sprintf(sysfs_file, "%s/%s/%s", path, name, sysfs_size); if ((f = fopen(sysfs_file, "r"))) { /* Use fread+sscanf for klibc compatibility. */ if (fread(buf, sizeof(char), sizeof buf - 1, f) && (ret = sscanf(buf, "%" PRIu64, &di->sectors)) != 1) { ret = 0; log_err(lc, "reading disk size for %s from sysfs", di->path); } fclose(f); } else log_err(lc, "opening %s", sysfs_file); dbg_free(sysfs_file); return ret; } static int get_size(struct lib_context *lc, char *path, char *name, int sysfs) { int fd, ret = 0; char *dev_path; struct dev_info *di = NULL; if (!(dev_path = dbg_malloc(strlen(_PATH_DEV) + strlen(name) + 1))) return log_alloc_err(lc, __func__); sprintf(dev_path, "%s%s", _PATH_DEV, name); if (!interested(lc, dev_path)) { ret = 0; goto out; } if (removable_device(lc, dev_path) || !(di = alloc_dev_info(lc, dev_path)) || (sysfs && !sysfs_get_size(lc, di, path, name)) || (fd = open(dev_path, O_RDONLY)) == -1) goto out; if (di_ioctl(lc, fd, di)) { list_add(&di->list, LC_DI(lc)); ret = 1; } close(fd); out: dbg_free(dev_path); if (!ret && di) free_dev_info(lc, di); return ret; } /* * Find disk devices in sysfs or directly * in /dev (for Linux 2.4) and keep information. */ int discover_devices(struct lib_context *lc, char **devnodes) { int sysfs, ret = 0; char *path, *p; DIR *d; struct dirent *de; if ((p = mk_sysfs_path(lc, BLOCK))) { sysfs = 1; path = p; } else { sysfs = 0; path = (char *) _PATH_DEV; log_print(lc, "carrying on with %s", path); } if (!(d = opendir(path))) { log_err(lc, "opening path %s", path); goto out; } if (devnodes && *devnodes) { while (*devnodes) get_size(lc, path, get_basename(lc, *devnodes++), sysfs); } else { while ((de = readdir(d))) get_size(lc, path, de->d_name, sysfs); } closedir(d); ret = 1; out: if (p) dbg_free(p); return ret; } dmraid/1.0.0.rc16/lib/device/scsi.h0000644000175200007640000000125711254123773017043 0ustar mauelshamauelsha/* * Copyright (C) 2004-2008 Heinz Mauelshagen, Red Hat GmbH. * All rights reserved. * * Copyright (C) 2007 Intel Corporation. All rights reserved. * November, 2007 - additions for Create, Delete, Rebuild & Raid 10. * * See file LICENSE at the top of this source tree for license information. */ #ifndef _SCSI_H_ #define _SCSI_H_ #include /* Ioctl types possible (SG = SCSI generic, OLD = old SCSI command ioctl. */ enum ioctl_type { SG, OLD, }; int get_scsi_serial(struct lib_context *lc, int fd, struct dev_info *di, enum ioctl_type type); int get_scsi_id(struct lib_context *lc, int fd, struct sg_scsi_id *sg_id); #endif dmraid/1.0.0.rc16/make.tmpl.in0000644000175200007640000000662211254123773016145 0ustar mauelshamauelsha# # Copyright (C) 2004-2005 Heinz Mauelshagen, Red Hat GmbH. All rights reserved. # # See file LICENSE at the top of this source tree for license information. # SHELL = /bin/sh @SET_MAKE@ CC = @CC@ RANLIB = @RANLIB@ SHELL = /bin/sh INSTALL = @INSTALL@ LN_S = @LN_S@ LIBS = @LIBS@ CFLAGS += @CFLAGS@ CLDFLAGS += @CLDFLAGS@ LDFLAGS += @LDFLAGS@ LD_DEPS += @LD_DEPS@ SOFLAG += @SOFLAG@ # Setup directory variables prefix = $(DESTDIR)@prefix@ exec_prefix = $(DESTDIR)@exec_prefix@ bindir = @bindir@ ifeq ("@KLIBC@", "no") libdir = @libdir@ sbindir = @sbindir@ includedir = @includedir@ infodir = @infodir@ mandir = @mandir@ else libdir = $(DESTDIR)@KLIBC_LIB_DIR@ sbindir = $(DESTDIR)@KLIBC_SBIN_DIR@ includedir = $(DESTDIR)@KLIBC_INCLUDE_DIR@ infodir = @infodir@ mandir = @mandir@ endif # setup misc variables # define the ownership variables for the binaries and man pages OWNER = @OWNER@ GROUP = @GROUP@ DMRAID_LIB_VERSION = @DMRAID_LIB_VERSION@ # The number of jobs to run, if blank, defaults to the make standard ifndef MAKEFLAGS MAKEFLAGS = @JOBS@ endif SUFFIXES=.c .o .so .a CFLAGS+=-fPIC -Wall -Wundef -Wcast-align -Wwrite-strings -Winline ifeq ("@KLIBC@", "yes") # These ones make klibc compiles very loud CFLAGS+=-Wshadow -Wmissing-prototypes -Wmissing-declarations -Wnested-externs endif ifeq ("@DMRAID_TEST@", "yes") CFLAGS+=-DDMRAID_TEST endif # Don't allow for linking against DSO with static binary. ifeq ("@STATIC_LINK@", "no") CFLAGS+=-DDMRAID_AUTOREGISTER endif ifeq ("@DEBUG@", "yes") CFLAGS+=-g -fno-omit-frame-pointer -DDEBUG else ifeq ("@KLIBC@", "no") CFLAGS+=-O2 else CFLAGS+=-Os endif endif ifeq ("@DEBUG_MALLOC@", "yes") CFLAGS+=-DDEBUG_MALLOC endif CFLAGS+=-D_LARGEFILE64_SOURCE INCLUDES+=-I. -I$(top_srcdir)/include -I$(top_srcdir)/lib STRIP= ifdef DESTDIR INCLUDES+=-I$(DESTDIR)/usr/include endif DEPS=$(top_srcdir)/make.tmpl $(top_srcdir)/tools/VERSION Makefile OBJECTS=$(SOURCES:%.c=%.o) SUBDIRS.install := $(SUBDIRS:=.install) SUBDIRS.remove := $(SUBDIRS:=.remove) SUBDIRS.clean := $(SUBDIRS:=.clean) SUBDIRS.distclean := $(SUBDIRS:=.distclean) .PHONY: all install distclean clean .PHONY: $(SUBDIRS) $(SUBDIRS.install) $(SUBDIRS.clean) $(SUBDIRS.distclean) .PHONY: $(SUBDIRS.remove) all: $(SUBDIRS) $(TARGETS) install: all $(SUBDIRS.install) remove: $(SUBDIRS.remove) $(SUBDIRS): $(MAKE) -C $@ $(SUBDIRS.install): $(SUBDIRS) $(MAKE) -C $(@:.install=) install $(SUBDIRS.remove): $(SUBDIRS) $(MAKE) -C $(@:.remove=) remove $(SUBDIRS.clean): -$(MAKE) -C $(@:.clean=) clean $(SUBDIRS.distclean): -$(MAKE) -C $(@:.distclean=) distclean $(TARGETS): $(OBJECTS) %.o: %.c $(CC) -MM -MF ${@:%.o=%.d} $(INCLUDES) $(CFLAGS) $<; \ $(CC) -c $(INCLUDES) $(CFLAGS) $< -o $@ %.so: $(OBJECTS) .export.sym %.so: $(OBJECTS) $(CC) -shared -Wl,-soname,$(notdir $@).$(DMRAID_LIB_VERSION) \ -Wl,--version-script,.export.sym $(OBJECTS) -o $@ -ldevmapper-event $(LIB_STATIC): $(OBJECTS) $(RM) $@ $(AR) r $@ $(OBJECTS) $(RANLIB) $@ clean: $(SUBDIRS.clean) $(RM) $(OBJECTS) $(TARGETS) $(CLEAN_TARGETS) $(SOURCES:%.c=%.d) distclean: $(SUBDIRS.distclean) $(RM) $(OBJECTS) $(TARGETS) $(CLEAN_TARGETS) $(SOURCES:%.c=%.d) \ cscope.out \ config.cache config.log config.status \ Makefile make.tmpl core tools/version.h ifneq ($(MAKECMDGOALS),clean) ifneq ($(MAKECMDGOALS),distclean) ifdef SOURCES -include $(SOURCES:.c=.d) endif endif endif dmraid/1.0.0.rc16/LICENSE_GPL0000644000175200007640000004313111254123773015430 0ustar mauelshamauelsha GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 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. dmraid/1.0.0.rc16/tools/0000755000175200007640000000000011254261512015051 5ustar mauelshamauelshadmraid/1.0.0.rc16/tools/toollib.c0000644000175200007640000000514511254123773016674 0ustar mauelshamauelsha/* * Copyright (C) 2004-2008 Heinz Mauelshagen, Red Hat GmbH. * All rights reserved. * * Copyright (C) 2007 Intel Corporation. All rights reserved. * November, 2007 - additions for Create, Delete, Rebuild & Raid 10. * * See file LICENSE at the top of this source tree for license information. */ /* * Tool library */ #include #include "../lib/log/log.h" #include #ifndef __KLIBC__ # include #endif #include #include #include "commands.h" #include "toollib.h" /* [De]activate a RAID set. */ static int _change_set(struct lib_context *lc, void *rs, int arg) { if (change_set(lc, (ACTIVATE & action) ? A_ACTIVATE : A_DEACTIVATE, rs)) { log_info(lc, "%sctivating %s raid set \"%s\"", action & ACTIVATE ? "A" : "Dea", get_set_type(lc, rs), get_set_name(lc, rs)); return 1; } return 0; } /* [De]activate RAID sets. */ /* FIXME: remove partition code in favour of kpartx ? */ static void process_partitions(struct lib_context *lc) { discover_partitions(lc); process_sets(lc, _change_set, 0, PARTITIONS); } int activate_or_deactivate_sets(struct lib_context *lc, int arg) { /* Discover partitions to deactivate RAID sets for and work on them. */ if (DEACTIVATE & action) process_partitions(lc); process_sets(lc, _change_set, arg, SETS); /* Discover partitions to activate RAID sets for and work on them. */ if ((ACTIVATE & action) && !(NOPARTITIONS & action)) process_partitions(lc); return 1; } /* Build all sets or the ones given. */ void build_sets(struct lib_context *lc, char **sets) { group_set(lc, sets); } /* Convert a character string to lower case. */ void str_tolower(char *s) { for (; *s; s++) *s = tolower(*s); } /* * Check if selected or all formats shall be used to read the metadata. */ /* Collapse a delimiter into one. */ char * collapse_delimiter(struct lib_context *lc, char *str, size_t size, const char delim) { size_t len; char *p = str; while ((p = strchr(p, delim))) { if (p == str || p[1] == delim || !p[1]) memmove(p, p + 1, (len = str + size - p)), p[len] = 0; else p++; } return str; } int valid_format(struct lib_context *lc, const char *fmt) { int ret = 1; char *p, *p_sav, *sep; const char delim = *OPT_STR_SEPARATOR(lc); if (!(p_sav = dbg_strdup((char *) fmt))) return log_alloc_err(lc, __func__); sep = p_sav; do { sep = remove_delimiter((p = sep), delim); log_notice(lc, "checking format identifier %s", p); if (!(ret = check_valid_format(lc, p))) break; add_delimiter(&sep, delim); } while (sep); dbg_free(p_sav); return ret; } dmraid/1.0.0.rc16/tools/toollib.h0000644000175200007640000000121511254123773016673 0ustar mauelshamauelsha/* * Copyright (C) 2004,2005 Heinz Mauelshagen, Red Hat GmbH. * All rights reserved. * * See file LICENSE at the top of this source tree for license information. */ #ifndef _TOOLLIB_H_ #define _TOOLLIB_H_ extern enum action action; int activate_or_deactivate_sets(struct lib_context *lc, int arg); void build_sets(struct lib_context *lc, char **sets); void format_error(struct lib_context *lc, const char *error, char **argv); void str_tolower(char *s); char *collapse_delimiter(struct lib_context *lc, char *str, size_t size, const char delim); int valid_format(struct lib_context *lc, const char *fmt); #endif dmraid/1.0.0.rc16/tools/dmraid.static0000775000175200007640000741225111254130763017546 0ustar mauelshamauelshaELF>À@@@²@8@&#@@>›>›   r rp>È… XX@X@DD  r r0QåtdGNUGNUêÒ¤rFY‘‡m)vÌ›/Q¬ˆG¾HƒìèGèæèÑsHƒÄÃ1íI‰Ñ^H‰âHƒäðPTIÇÀÀÁDHÇÁÂDHÇÇà@èg·ôHƒìH‹y¥2H…ÀtÿÐHƒÄÃUH‰åSHƒì€=`Ü2u_¸€ rH‹ZÜ2H-X rHÁøHXÿH9Ús%€HƒÂH‰5Ü2ÿÕX rH‹'Ü2H9Úr⺰-NH…Òt ¿XQè6+ÆÿÛ2HƒÄ[ÉÄU¸ 0NH…ÀH‰åt+¾ Þr¿XQès-Hƒ=Ó2t!¸H…Àt¿ˆ rÉÿàHƒ=·2uäDÉÃUH‰åATA‰üSHƒìH‰uèèy¸H…ÀH‰Ã¿t$HUèD‰æH‰Çèý…ÀuE1äH‰ßè¸D‰çƒ÷èƒH‰ßè(W…ÀtÛH‹uèH‰ßA¼è2…ÀuÈëÃH‹Ñ£2UH‰å‹¸÷ÂuâƒúÀƒàýƒÀÉÃU¸H‰åÉÃDUH‹·H‰åÉ鯲ffffff.„U‰òH561ÉH‰åèüf¸ÉÃDU‰òH5F1ÉH‰åèÜf¸ÉÃDUH‰åÉé&£fDUºPH‰åL‰eðLeH‰]èL‰møH‰ûHì L‰æè¥.H‰ßè-¹H‰ßI‰Åè2¹H‹S(H‰D$H:ŠL ë‰H ²H‰ßH‰D$A¸û1ÀH‰T$H‰$1öºL‰d$(L‰l$ èµX¸H‹]èL‹eðL‹møÉÃfUL ŠH _1ö1ÀA¸ÚH‰åATºI‰üSHƒìH‹_(H‰$èhXL ù‰H (1öL‰ç1ÀA¸ÜºèCXL ŠH 1öL‰ç1ÀA¸âºH‰$èXL «ŠH Ú1öL‰ç1ÀA¸æºH‰$èñWL ÃH ±1öL‰ç1ÀA¸çºH‰$èÈWL ªH ˆ1öL‰ç1ÀA¸èºH‰$èŸWL ŠH _1öL‰ç1ÀA¸ìºH‰$èvWL ÏŠH 61öL‰ç1ÀA¸òºH‰$èMWL V‹H 1öL‰ç1ÀA¸öºH‰$è$WL ­‹H äŽ1öL‰ç1ÀA¸ûºH‰$èûVL <ŒH »ŽL‰çA¸º1ö1ÀH‰$èÒVL ÎŽH ’ŽL‰çA¸º1ö1Àè­VL ¦ŒH mŽL‰çA¸º1ö1ÀH‰$è„VL ­ŒH DŽL‰çA¸º1ö1ÀH‰$è[VL sŽH ŽL‰ç1ÀA¸º1öH‰$è2VHƒÄ¸[A\ÉÃ@U1ÉH‰åè…?¸ÉÃfffff.„UH‰åègh¸ÉÃUH‰åÉévjfDUH‰åèwA¸ÉÃH‹±Ÿ2UH‰åD‹¸A÷Àu$H‹]Ÿ2H‚àH9ÐvD…uHƒÂ(H9Âuò1ÀÉÃfDÉH‰ñD‰ÆéL“fff.„UH‰åèG´¸ÉÃUH‰åH‰]èL‰møH‰ûL‰eðHƒì H‹âž2A‰õL‹ L‰çè¤MH…Àt/A€<$-thD‰îH‰ßèý³¸H‹]èL‹eðL‹møÉÃf.„L +H ÀŒH‰ßA¸­º¾èÚT1ÀH‹]èL‹eðL‹møÉÃf.„L ýŒH €ŒH‰ß1ÀA¸°º¾è˜T1ÀH‹]èL‹eðL‹møÉÄUH‰åH‰]ðL‰eøHƒì H‹ ž2H‰ûL‹ L‰çèËLHƒøt=L ¯ŒH ŒL‰$$H‰ß1ÀA¸ º¾è)T1ÀH‹]ðL‹eøÉÃDL‰âH‰ß¾ 蘵H…ÀH‹]ðL‹eø•ÀɶÀÃDH‹‰2U¾ H‰åH‹èhµH…ÀÉ•À¶ÀÃffff.„U¸H‰åAWA‰÷AVAUATI‰ÔSH‰ûHƒìL‹-:2I‹}H…ÿtRè|M‹mL‰ïèðKI‹4$I‰ÆH…öuëBfIƒÄI‹4$H…öt3L‰òL‰ïè˜M…ÀuäH‹52‹A D$‰¸HƒÄ[A\A]A^A_ÉÃE¾ÿL ­‰H ìŠD‰<$H‰ß1ÀA¸jº¾èSHƒÄ1À[A\A]A^A_ÉÃffffff.„UHH޾H‰åSH‰ûHƒì8H‰EÀH5‹ÇEÈÇEØH‰EÐHÇEàÇEèèw±HUÀH‰ß¾sèÆþÿÿHƒÄ8[ÉÃffffff.„UH銾aH‰åHƒì0HUÐH‰EÐHÒŠÇEØÇEèH‰EàHÇEðÇEøègþÿÿÉÃDUH‰åH‰]àL‰eèH‰ûL‰mðL‰uøHƒì H‹ž›2A‰ôL‹0M…ötXH‹‡ÈL‰÷D¾(èPJL‰öH‰ÂH‰ßèòºI‰ÆH‰Çè7JD‰éH‰ÂL‰öH‰ßèD‰éH‰ÂD‰æH‰ßèųH‰Â1ÀH…ÒtD‰æH‰ßèp°¸H‹$L‹d$L‹l$L‹t$ÉÃfDƒ‡UH‰ò¹,¾H‰åès³H…ÀÉ•À¶ÀÄUH‰åAWI‰ÿAVAUATSH‰ÓHƒìHƒþ‰u¼Ž-HEÌL‹-úš2L%k¡2H‰E°H‹P”2L‹E°H e¡2H‹3‹}¼èzx ƒøÿ‰Â„H 8¡2H5!2H9ñ†°;2H 2tf„HƒÁ(L9á„‹;uï‹AA‹u ÆA‰u A A‰A H‹AH…Àtl‹q ‰U¨L‰ÿÿÐ…À‰Á‹U¨…ƃúStcƒúM„ ƒúC„†ƒúR„¸…Éu1ÀHƒÄH[A\A]A^A_ÉÃú:tçƒú?…ÿÿÿfëÚfDA‹u¹ætŸ¸ë¾L‹5Á™2H‹Ic6H‹<ðILJ(H…ÿt—¶„Àt<-tŒ‰U¨‰M è‰½H…ÀI‰‡(‹U¨‹M …kÿÿÿH5,‰L‰ÿè4Q…À‹U¨‹M „RÿÿÿéIÿÿÿƒ}¼…>ÿÿÿL‹5G™2H‹Ic6H‹4ðH…ö„$ÿÿÿL‰ÿ‰U¨‰M èîýÿÿ‹M ‹U¨é ÿÿÿ¾L‰ÿ‰U¨‰M èý­…À‹U¨‹M „çþÿÿ¾L‰ÿèâ­…À‹U¨‹M „ÌþÿÿH‹Õ˜2HcHÅèÿÿÿHéóþÿÿf.„L ‘…H °†1ÀA¸ºº¾èËN1Àé‚þÿÿA‹UöÂ… H Ÿ2H5ùš2H‹H9ñ†‡L‹5^˜2H5ïž2IcH<ÈHÑš2…Pt-‹H…Ét…Ê„'‹H ÷Ñ…Ê…ë‹H…Éu Hƒ?…•HƒÀ(H9ðuÅ…Ò„‰Ð% 9Єc„ÒyƒÊ@¾L‰ÿA‰Uèö¬¾L‰ÿèɬ…À…÷¸IcHÁâHƒ}¼H‰…£ýÿÿAƒ¿„•ýÿÿHƒÂH‰é‰ýÿÿH‹Œ—2HcHÅøÿÿÿH¸éjýÿÿ€æïA‰UééþÿÿL !†H `…A¸²¾L‰ÿ1Àè{M1ÀéxÿÿÿL }„A¸uH .…1Àº¾L‰ÿèLM1ÀéIÿÿÿ‹L „A¸q‰$H ú„º¾L‰ÿ1ÀèMë›L‹5×–2éÅþÿÿI‹whL‰ÿèn…À…õþÿÿL o„H ¶„A¸•º¾L‰ÿèÐLéPÿÿÿL $„A¸ƒéRÿÿÿ‹L ðƒA¸z‰$éoÿÿÿA‹uéŠüÿÿUH‰åAWAVAUATI‰üSHƒì8H‹‡ÈH‰÷D¶(è)ºH…ÀI‰Ç„–LuÈH‰EÈE¾íH‰ÃfDD‰îH‰ßè´L Æ…H Ý…H‰EÈA¸u1Àº¾L‰çH‰$è LH‰ÞL‰çè?…ÀtD‰îL‰÷‰E¸è0¯H‹]È‹E¸H…ÛuœL‰ÿ‰E¸èÙ¸‹E¸HƒÄ8[A\A]A^A_ÉÃH5™…L‰çèHMëàfDUHFH‰åAWA‰ÏAVD¾ñAUL,ATI‰ôSH‰óHƒìH‰EÈfDL‰çD‰öèõ>H…ÀI‰Ät=L9ãH‹uÈtA¶D$It$D8øt „ÀtI‰ôëËL‰êL‰çL)âèÚYAÆEë³HƒÄH‰Ø[A\A]A^A_ÉÃfffff.„UH‰åATD¶'SH‰ûE„ät'èh±„H‹M¾äB‹¢ˆHƒÃD¶#E„äuæ[A\ÉÃUH‰åÉé†fDUH‰åSH‰ûHƒì识HƒÄH‰ßH5‘[ɹ1ÒéXU‰òH‰åH‰]ðL‰eøHƒì H‹_”2I‰üöu/H5X1ÉL‰çèÞW‹%ƒøt"¸H‹]ðL‹eøÉÉuèèxÿÿÿ‹UèëÄL‰çèhÿÿÿ¸H‹]ðL‹eøÉÃf„UH‰åH‰]àL‰eèI‰ôL‰mðL‰uøHƒì@L‹-Ö“2L‰âH‰ûA‹uƒöƒæèI‰Â1À…ÒtkL‰æH‰ßè†PL‰æH‰ßI‰ÆèLAöEH `ˆH]ƒL ZƒH‰D$A¸$¾H‰ßL‰t$HEÑH )ƒ1ÀH‰$ºèkI¸H‹]àL‹eèL‹mðL‹uøÉÃUH‹WHO1ÀH‰åH9Êu"ë/öBTtD‹BLAƒàAƒøƒÐH‹H9Êt…öußH‹ƒÀH9ÊuñH‹W HƒÇ E1ÀH9×HJðu(ë;fDöA8t ‹Q<ƒâƒúAƒÐH‹QH9×HJðt…öuÜH‹QAƒÀH9×HJðuëAÉÃDU¸H‰åÉÃDU¸H‰åÉÃDUH‰åSH‰ûHƒìÇBÿÿÿÿ‹‡…Àt,H‹F HN H9È„’H‹H H‹APH…ÀtUH‰ñ¾ÿÐ…Àt¸HƒÄ[ÉÃL D‚H )‚H‰ßA¸ˆº¾èHHƒÄ1À[ÉÃf„H‹L ƃH îA¸Œº¾H‰$1ÀèÔG1ÀëŽL ¯H Á1ÀA¸º¾è«G1Àébÿÿÿ@UL ˜ƒH A¸m¾H‰åHƒìH‹B8ºH‰$1ÀèkG1ÀÉÀU1ÀH&›2H‰åATI‰ôSH‰ûHƒì ‹NLH5Ì›2öÁu;€; tHƒÂH9òuóHìš2H‹BHÇEèHuèL‰âH‰ßÿÐ…Àt H‹EèHƒÄ [A\ÉÃI‹D$8L ƒH ߀A¸Gº¾H‰ßH‰$1ÀèÂF1ÀëÂfffff.„UH‰åH‰]àL‰mðH‰óL‰eèL‰uø¾Hì I‰ÕèE¥‰Â¸…ÒtH‹]àL‹eèL‹mðL‹uøÉÄH‰ßèHMI‰Æ1ÀIƒ>tÓL¥àþÿÿH5m€ºÿL‰çèRAM‹6L‰÷è—>ºüL‰öL‰çH)Âè´?L‰â‹ HƒÂÿþþþ÷Ñ!È%€€€€té‰ÁL‰æÁé©€€DÁHJHDÑÀHƒÚ1ÀÇ.soH‹{8AÿÕ…À•À¶ÀéFÿÿÿUH‰ÖH‰åH‰]àL‰eèH‰ûL‰mðL‰uøHƒì@L‹r8D‹jLI‰ÌèâGL ËH ƒH‰D$H‰ß1ÀA¸Yº¾L‰t$D‰l$L‰$$èWE1ÀH‹]àL‹eèL‹mðL‹uøÉÃUH –H‰åÉéoÿÿÿffffff.„UH ~H‰åÉéOÿÿÿffffff.„UH‰åH‰]èL‰eðL‰møHƒì I‰ýH‹8èP=L‹%1ˆ2H‰ÃL‰çè>=H|è´²H…ÀH‰ÃtI‹U8H5¹H‰ÇL‰á1ÀèDH‰ØL‹eðH‹]èL‹møÉÃUH‰åH‰]ØL‰eàH‰óL‰mèL‰uðI‰üL‰}øHƒìPH‹FXH5÷H‰M¸I‰ÖHÇEÈL‹xè_I‰ÅH‰EÈ1ÀM…íH‹M¸„åH‹C0IÇE H‰ÎAÇE8AÇE<L‰çI‰E0H‹CHI‰EHH‹C@I‰E@‹CPA‰EPè3_I‰E(L‹mÈIƒ}(„°I‹E0L‰î¹L‰çH‹èù4I‰EXH‹EÈL‹hXM…í„„H‹SXH‹@0McÿL‰çM‰}H‹H‹0I‰UL‰úèP4I‰EH‹EÈH‹@XH‹xH…ÿtKH‹CXL‰úH‹pè«dH‹EÈI‹VHHL‰pI‰NH‰ H‰PH‹]ØL‹eàL‹mèL‹uðL‹}øÉÃf.„HuÈL‰çèZ1ÀëÐUHFH‰åAWI‰×AVIÇÆÿÿÿÿAUATI‰ôSH‰ûHƒìL‹nH‰EÈI9Åt'fDL‰îH‰ßè=GL9øvI9ÆLGðM‹mL;mÈußI‹T$ IƒÄ I9ÔHBðt(Dö@<uH‹PHI9×sI9ÖLGòH‹PI9ÔHBðuÝIƒþÿ¸LDðHƒÄ[A\A]L‰ðA^A_ÉÃfffff.„UH‰åAWL~AVE1öAUATI‰üSH‰óHƒìL‹nM9ýuë:€M‹mM9ýt*AöELuðL‰îL‰çH‰UÈèqFH‹UÈM‹mH9ÂAƒÖM9ýuÖH‹K HƒÃ H9ËHAðt@ö@<uH;PHAƒÖH‹HH9ËHAðuåHƒÄD‰ð[A\A]A^A_ÉÃff.„UH‰åAWAVE1öAUE1íATSH‰ûHƒìXH‰U¸H‹E¸HƒÂH‰uÀD‰uÌH‰U¨HƒÀ H‰E H‹u¸L‰êH‰ßèGþÿÿH…ÀH‰E°„ØM…ítH‹uÀHªÑ1ÀH‰ßè°¦…À„H‹u¸L‰êH‰ßèÉþÿÿH‹U¸L‹u°A‰ÄD‹zHD‰øH÷ØI!ÆAƒü†·¾ H‰ßè CM‰ðD‰áHY{M)èI‰ÁL¯ÁI¯ÍD‰|$D‰$$1ÀH‹uÀH‰ßè8¦…À„ H‹E¸L‹`L;e¨„–L‹}¨ë„M‹$$M9ütL‰æH‰ßèìDI9ÅsçI‹t$8H‰ßèZH…ÀI‰Æ„NAöD$T„AöD$L…öH‰ÁH‹uÀHÃzM‰èH‰ß1Àè«¥L‰÷‰E˜è0­‹E˜…À„M‹$$ƒEÌM9üuH‹U¸H‹B H9E L`ðtrL‹} D‹uÌfDAöD$<uFM;l$Hs?AöD$8I‹D$(M‹D$@H‹HuH‹‹ˆH‹uÀODH7z1ÀH‰ßè"¥…À„ŠI‹D$AƒÆI9ÇL`ðu D‰uÌH‹E¸L‹m°ö@P… þÿÿD‹uÌ1ÀE…ö•ÀHƒÄX[A\A]A^A_ÉÀH‹‹ˆéÿÿÿ@¾H‰ßèSAM‰ðD‰áI‰ÁM)èH²yL¯ÁI¯ÍéDþÿÿHƒÄXH‰ßH5¼|[A\A]A^A_Éé“@UH‰åH‰]ØL‰eàI‰ôL‰mèL‰uð¾L‰}øHƒì@H‹EL‰MÀM‰ÆH‰ûA‰×I‰ÍH‰EÈèÏ@L‹EÀH6yI‰ÁL‰ñ1ÀL‰æH‰ß褅Àt=E…ÿuL‹«ˆL‹EÈL‰éL‰æH‰ßL‹eàH‹]ØL‹mèL‹uðHèxL‹}øÉ1ÀéÑ£H‹]ØL‹eàL‹mèL‹uðL‹}øÉÃf.„UH‰åAWAVI‰þAUI‰ÕIƒÅATE1äSHƒìHH‹ZH‰uÈH‰U¸ÇEÄL9ë„áM‰çë H‹L9ë„ÌöCLuîH‹s8L‰÷èÂH…ÀI‰Ä„ŽH‰ÞL‰÷è+B1ÒöCTI‰Ât ‹SLÁêƒòƒâHÇ$H‹uÈM‰ÑM‰øL‰U°L‰áL‰÷è“þÿÿL‰ç‰E¨èˆªL‹U°‹E¨ƒEÄM×…Àt.L9k„lÿÿÿH‹uÈHÁÍ1ÀL‰÷èÇ¢…À…Oÿÿÿ€HƒÄHL‰÷H5íz[A\A]A^A_Éé»>M‰üH‹U¸H‹B I‰ÕIƒÅ I9ÅHXð„~D‹}ÄDöC<u^H‹C(1ÒöC8L‹KHM‰àL‰÷H‹HH‹C@•ÂH‰$H‹uÈèÎýÿÿ…Àt‚AƒÇLcHL9kL‰èt!H‹uÈHÍ1ÀL‰÷袅À„TÿÿÿH‹CI9ÅHXðuD‰}Ä1Àƒ}Ä•ÀHƒÄH[A\A]A^A_ÉÃUH‰åÉé&þÿÿfDUH‰åAWAVAUI‰ýH‰×ATSH‰ÓHƒìHH‰u¸¾èèòÿÿ…ÀA‰Æu1ÀHƒÄH[A\A]A^A_ÉÃø„W1ÒH‰ÞL‰ïèêøÿÿH…ÀI‰Ä„æ‹CTH›vÇEÈÿÿÿÿ¨ …uL‰à¹A¿@HÁè =Fȸ€ù€vfDÀ9ÈrúA‰ÇAÑï¾@L‰ïH‰U¨è«=D‰t$H‹U¨I‰ÀE‰ù1ÀL‰áL‰ïH‰$H‹u¸H#vèà …À„ˆL‹cLsM9ô„±HÇE°ëFDH‹u¸H¸uE1ÀL‰ùL‰ï1Àè L‰ÿ‰E¨è"¨‹E¨…À„7€M‹$$M9ôtLAöD$TtïAöD$LuçI‹t$8L‰ïèÊH…ÀI‰Ç„þHƒ}°u‹MÈ…ÉuˆH‰ÇèȧL‰e°M‹$$M9ôu´Hƒ}°tH‹E°ö@T…ÞH‹C HƒÃ H9ÃL`ð„IE1öfDAöD$8t@AöD$<u8M…ö„I‹D$(M‹D$@HÙtH‹u¸L‰ïH‹H1À輟…Àth„I‹D$H9ÃL`ðuªM…ö„áAöF8„ÖAöF<…ËI‹F(M‹F@HtH‹u¸L‰ïH‹H1ÀèbŸ…À…¢f.„H5zwL‰ïèa;HƒÄH[A\A]A^A_ÉÃfH‹C8L vH ­sL‰ïA¸Àº¾H‰$1Àè9H‹u¸H‰ÚL‰ïèAûÿÿHƒÄH[A\A]A^A_ÉÃfHUÀH‰ÞL‰ïèÑðÿÿ…À„(ýÿÿHûséhýÿÿDH‹u¸Ht1ÀL‰ï裞‰Â¸…Ò„Dÿÿÿéðüÿÿ€L œsH s1ÀA¸Åº¾L‰ïèð81Àéºüÿÿf„‹UÈ…Ò…fþÿÿM‰æéþÿÿDö@L…þÿÿH‹p8L‰ïè’H…ÀI‰Ä„ÆþÿÿH‹u¸HsE1ÀH‰ÁL‰ï1ÀèûL‰çA‰Æè€¥E…ö„—þÿÿéÌýÿÿfUH‰åH‰]èL‰eðI‰üL‰møH‰÷Hƒì I‰õèNóÿÿH…ÀH‰Ãt&L‰çL‰îH‰Âè¨H‰ßL‹eðH‹]èL‹møÉé#¥L‰çH‹]èL‹eðL‹møÉH5Éué”9@UH‰åAWAVI‰ö¾AUA‰ÕATSH‰ûHƒì(蜖…À…$E…í„ÛM‹fM~M9üt,fDD‰êL‰æH‰ßèªÿÿÿ…Àu AöFL„›M‹$$M9üuÚA‹VLA¼öÂ…ºAƒýHÇEÈH ü‹2H5‹2„B€;tHƒÀH9ÈuóH‹2LmÈL‰òH‰ßL‰îÿP…ÀA‰Ät-¾H‰ßèà•…À„sI‹v8H‹UÈH‰ßèèë6fDI‹F8L sH ípA¸ßº¾H‰ßH‰$1ÀèÐ6L‰îH‰ßèU›HƒÄ(D‰à[A\A]A^A_ÉÃE…í…ÜþÿÿAöFL„ÑþÿÿI‹F H‹@ H‹@PH…À„¼þÿÿ1ÒL‰ñ¾H‰ßÿÐ…À„9AöFL„šþÿÿI‹F H‹@ H‹@PH…À„…þÿÿ1ÒL‰ñ¾H‰ßÿÐ…À…nþÿÿI‹F8L ®rA¸ H‰$H pº¾H‰ß1Àè 6f„E1äé3ÿÿÿ„L‰öH‰ßè …À„6ÿÿÿI‹F8L ©pH ÊoA¸ìº1öH‰ßA¼H‰$1Àèª5éàþÿÿI‹N8H‹UÈL‰öH‰ßè"…ÀA‰Äu=L‰öH‰ßèýÿÿI‹F8L rA¸ÜH‰$H coº1öH‰ß1ÀèS5é~þÿÿI‹F8L 7pA¸ÔH‰$ëÌI‹F8L ¬qA¸úH‰$éùþÿÿHfìÿÿL‰öH‰ßè[îÿÿA‰Äé>þÿÿUH‰åAWI‰ÿH‰×AVAUATSHì¨H‰µpÿÿÿ1öH‰U˜è„ëÿÿA‰ÄH‹E˜HÇE¨D;`4„L‹h H‰ÂIƒíI‹E0H‹@PH…À„ÇH‰Ñ¾ 1ÒL‰ÿÿÐ…À‰E€L ”oA¸µˆ_H‹u˜L‰ÿèüûÿÿH‹M˜1ÒHÇE¨L‹q H‰ËHƒÃ I9ÞIFðL‰uˆt0fDö@<u H‹HHH9ÊHBÑL‹pI9ÞIFðuâHƒÂH‰]ˆH‰U¨H‹}˜è ïÿÿH…ÀH‰E „­¿ èæ¡H…ÀH‰Ã„ÄH‹U¨H5oH‰Ç1ÀèuõH‹M H‹u˜H‰ÚL‰ÿèR…ÀHÇE¨…ÂH‹} è© H‰ßè¡ Hƒ}¨„RH‹U˜H‹MˆH‹B L@ðH9ÈH‰E I‹P„¤HEÀHƒê1ÛH‰UL‰µhÿÿÿH‰…xÿÿÿL‰EÈI‹E0¾L‰…`ÿÿÿH‹M˜L‰ÿH‹•xÿÿÿÿPP…ÀA‰ÆL‹…`ÿÿÿy)é“H‹M¨H‹U L‰îL‰ÿè}îÿÿH…À„´AƒÄƒÃA9ÞØH‹UH‹MˆƒÃH‹BHƒÂH9ÊH‰U „¦HƒèL‹EH‰EénÿÿÿH‹M˜H‹A I‰ÌIƒÄ I9ÄHXð„ŸL‹­pÿÿÿëfH‹CI9ÄHXð„ƒöC8H‹C(L‹C@H‹HtöC<tI‹ˆHäl1ÀL‰îL‰ÿèÌ—…Àu¸Hƒ}¨t H‹}¨èGŸH5«oL‰ÿèÈ3HĨ[A\A]A^A_ÉÃL /oA¸åH l1Àº¾L‰ÿèþ11ÀëÂf.„H‹u L‰ÿèÄ H‰E¨é)þÿÿ¸ë™1Ûë'DH‹M¨L‰òL‰îL‰ÿè&íÿÿH…À„]ÿÿÿAƒÄƒÃ9]€ÙH‹u˜1ÒL‰ÿèrîÿÿH…ÀH‰Ã„`ÿÿÿH‹E˜D‹hH‹@TÇE¸ÿÿÿÿ¨ …“H‹M˜L‰ÿ‹qLè-3H‰EˆHùkD‰m ÇEÿÿÿÿH‰E€H‹u˜L‰ÿè—5H‹u˜1ÒL‰ÿI‰ÆèÆîÿÿ‰ÂL‰ðA¾@H‰Ñ1ÒH÷ñºHÁè =Fи€ú€vDÀ9ÐrúA‰ÆAÑîH‹E˜L‰ÿE‰í‹pLèâ21ÒI‰ÀH‰ØI÷õ‹UH‹µpÿÿÿE‰ñL‰ÿD‰d$‰T$ H‹UˆH‰ÁAD$ÿI¯ÍH‰T$HÊmH¯È‹E ‰D$H‹E€H‰$1Àèè•…À„þÿÿH‹U˜H‹ZI‰ÕIƒÅL9ë„‘ýÿÿL‹µpÿÿÿëO€öCLu`H‰ÁH³jE1ÀL‰öL‰ÿ1À蘕L‰ç‰…`ÿÿÿè‹…`ÿÿÿ…À„´ýÿÿH‹L9ë„9ýÿÿH‹s8L‰ÿèÔ H…ÀI‰Ä„ýÿÿöCTušI‹ˆëšH‹u˜HU°L‰ÿè9çÿÿ…À„iýÿÿH‹U˜H‹M˜L‰ÿ‹E¸‹RH‹qL‰E‰U èr1H‰EˆH@jH‰E€éKþÿÿI‹@(L ¸jH {iA¸Êº¾L‰ÿH‹@H‰$1ÀèZ/1ÀéýÿÿH5ÌlL‰ÿèÔ0L lA¸ÀéýÿÿL‹µhÿÿÿé€ýÿÿH5ŸlL‰ÿè§0H‹} èœëÈHƒ}¨„)ýÿÿH‹}¨èø›¸é¶üÿÿfffff.„UH‰åAVAUI‰õATA‰ÔSH‰ûHƒìöFLtZM‹uIƒÅM9îu ë3M‹6M9ît(D‰âL‰öH‰ßèºÿÿÿ…ÀuæHƒÄ1À[A\A]A^ÉÀHƒÄ¸[A\A]A^ÉÃfDƒú„Öèz¾H‰ßA‰Æè …Àu6E…ö„|I‹U8L‰îH‰ßèžA‰ÆL‰îH‰ßè°õÿÿE…ö…Uÿÿÿé|ÿÿÿfH@ÄHƒÙE…öL EiH ðgA¸&HEÂH‰ßºH‰D$I‹E81öA¾H‰$1ÀèÃ-ë–I‹E8L iH ®gA¸*º1öH‰ßA¾H‰$1ÀèŽ-é^ÿÿÿHâäÿÿèÍæÿÿA‰ÆéUÿÿÿDUH‰åAVLvAUATI‰ôSH‰ûHƒì L‹nM9õtfDL‰îH‰ßèÍÿÿÿM‹mM9õuìAöD$L"A½tHƒÄ D‰è[A\A]A^ÉÃfDHÇEØL‰æH‰ßè­…ÀA‰ÅL hhA¸“„ôA‹T$LH i2H¢€2f9tHƒÀH9ÈuóHŒ€2LuØL‰âH‰ßL‰öÿP…ÀA‰ÅtU¾H‰ßèX‹…À„ÊI‹t$8H‹UØH‰ßè_ L‰öH‰ßè‘L‰æH‰ßèùHƒÄ D‰è[A\A]A^ÉÃf„I‹D$8L lhH ]Hß\H˜H‰MÀH ]H‰UÈH‰MÐL‹LÅÀë™fff.„UH‰åH‰]ØL‰eàH‰ûL‰mèL‰uðI‰ôL‰}øHìHƒ8„0H‹F0HV@L‹N Mt$HH‰•@þÿÿL‹H‹F(‹vèg}HƒÄH‰ß[ÉéY}f„HƒÄ[ÉÃf„U1öH‰åAUI‰ýATSHƒìèYoH‹L‹#ë1H‹H‹SH‰ßH‰PH‹SHÇCH‰HÇL‰ãèô|M‹$$1öL‰ïèoH9ØuÁHƒÄ[A\A]ÉÃfDUH‰åAUL-Sd2ATI‰üS»HƒìH‹=d2H…ÀtL‰çÿÐ…À‰ÃtIƒÅI‹EH…ÀuèHƒÄ‰Ø[A\A]ÉÃL XPH APL‰ç1ÀA¸œº¾èXL‰çèÿÿÿHƒÄ‰Ø[A\A]ÉÃUH‰åH‰]èL‰eðI‰üL‰møH‰×Hƒì0I‰õè}H…ÀH‰ÃtH‰ØL‹eðH‹]èL‹møÉÃDL ëOH ÁOA¸²º¾L‰ç1ÀL‰,$èÔë¼fU‰ÈH‰åH‰]ðH‰óH‰ÖH@L‰eøHƒìA‰ÌHÁâèhÿÿÿH…ÀtD‰cPH‹$L‹d$ÉÃ@UH‰åL‰uøH‰]àI‰þL‰eèL‰mðHƒì0H‹~H…ÿuE1äL‰àH‹]àL‹eèL‹mðL‹uøÉÃ@è |H…ÀI‰Åt×H‰EØH‰Ç1ÛLeØë@L‰ç¾,ƒÃè`qH‹}ؾ,èbvH…ÀH‰EØuÙ{HcÿHÁçèê{H…ÀI‰Ät9L‰èHƒèt€L‰ãfDHƒÀ¾,H‰EØH‰HƒÃH‹}ØèvH…ÀuÞéPÿÿÿH5BPL‰÷è:L‰ïè¢zé4ÿÿÿffff.„UH‰åH‰]èL‰eðI‰üL‰mø¿Hƒì I‰õè\{H…ÀH‰ÃtDL‰h1öL‰çè†l1öL‰çI‰ÅèylH‹@L‰+I‰]H‰H‰C1ÀH…ÛL‹eð•ÀH‹]èL‹møÉÃH5¹OL‰çè¡ëØffffff.„UH‰åAUI‰ýATI‰ô1öSHƒìèlH‹ë"L‰çèHH‹KH‰ÂL‰çH‹1è…Àt"H‹1öL‰ïèåkH9ÃuÐHƒÄ1À[A\A]ÉÃHƒÄ°[A\A]ÉÃUH‰åAWAVAUI‰õATLfSHìˆH‹^H‰}ÈH‰UÀH‰M¸L‰E¨L‰M L9ãL‹ut>H‰u°M‰ÇM‰Íf.„H‹M¸H‹UÀH‰ÞH‹}ÈM‰éM‰øL‰4$è’ÿÿÿH‹L9ãuÚL‹m°AöEL„ûM‹e M} IƒìI‹EH9ÃtNA‹}L1ö1ÒE1Àë%f„ƒÿ@t+‹HTH‹ƒÂƒáƒùƒÞÿH9Ãt$ƒÿ u߃xL@uÞAƒÀëØƒxL uÏëï1ö1ÒE1ÀID$1Û1ÉI9Çuë2ƒÆI‹D$I9ÇL`ðt!A‹D$8ƒÂ¨uã¨tOI‹D$ƒÁI9ÇL`ðußE…À„Aƒø„ Aƒø„A‹ETÑèƒðƒàHĈ[A\A]A^A_ÉÃƒàƒøƒÛÿëˆDI‹E M} L9ø„ÿÿÿH‹@ H‹@PH…À„ÐL‰é1Ò¾H‹}ÈÿÐM‹e A‰ETIƒìéÎþÿÿD9òtt…ötPAÇET¸‰D$I‹E8L ÅKH‹}ÈH hKA¸”º¾H‰$1Àè~ é8ÿÿÿf„…Éu¬…Û„¸AÇET¸ë¢DAÇET¸ëŽAÇET1ÀéýþÿÿfAÇET¸ééþÿÿH‹}ÈL‰îèrH‹}ȺL‰îH‰Eˆè} ‰ÂA‰E0I‹E I9ÇL`ð„çýÿÿHƒ}¨L‰}°A‰×H‰]•EŸé DI‹D$(H‹}ÈL KH €JA¸7º¾H‹@‰\$D‰|$H‰D$ I‹E8L‰4$H‰D$1Àè{ A‹EL=€„ü‡Úƒø„ÇRƒø@„°AÇD$8I‹D$H9E°L`ð„ÜH‹u¸L‰çÿUÀA‰E4‰ÃI‹D$(H‹}ÈL JH ÕIA¸)º¾H‹@L‰4$H‰D$1ÀèâA9ß…ÿÿÿ€}Ÿt“H‹M L‰âL‰îH‹}ÈÿU¨…À„zÿÿÿAÇD$8élÿÿÿAÇET¸éçýÿÿAÇD$8éLÿÿÿ=twG=t =…'ÿÿÿCÿA9Ç„åA9ßvÅAÇD$8éÿÿÿM‹e H‹]L‹}°Iƒìé=üÿÿ=tÅ=…àþÿÿCþA9Çr¾€}Ÿt¸H‹M L‰âL‰îH‹}ÈÿU¨…Àu¨ë¡ƒø f„`ÿÿÿƒø@…§þÿÿE…ÿuAöD$<„FÿÿÿH‹EˆI;D$H„7ÿÿÿI‹D$(AÇD$8L ÌIH‹}ÈH €HA¸Iº¾H‹@H‰D$I‹E8L‰4$H‰D$1Àè„é?þÿÿAƒÿ†ÿÿÿDéIÿÿÿff.„UH‰åH‰]ØL‰eàH‰ÓL‰uðL‰mèI‰þL‰}øHƒì`;JPI‰ôƒâHcÉH‹BXLE‰è‰ÙL‰âL‰öL‰ÿè“þÿÿ…ÀußHƒÄ[A\A]A^A_ÉÃHƒÄ[A\A]A^A_ÉémþÿÿDHƒÄ¸[A\A]A^A_ÉÃ@UH‰åH‰]ØL‰eàI‰ÔL‰mèL‰uðI‰õL‰}øHƒì@I‰þL‰EÈI‰Ïè?öÿÿH…ÀH‰ÃL‹EÈtM‰ÁH‰ÁM‰àL‰úL‰îL‰÷èŒa…Àt H‰ØL‹eàH‹]ØL‹mèL‹uðL‹}øÉÀH‰ß1Ûè.rëÔfff.„UH‰ÐH‰åL‰eàL‰mèI‰üL‰uðL‰}øI‰õH‰]ØHƒì`H…ÒH‰M¸L‰E°M‰ÎL‹}HÇEÈ„HM°HU¸LEÀÿÐH‰ÃH…Ût(M…ötH‰ßAÿÖM…ÿt5H‰ÚL‰îL‰çAÿ×…Àu%H‰ßèqH‹EÈH‹]ØL‹eàL‹mèL‹uðL‹}øÉÃHƒ}„…H‰ÚL‰îL‰çÿUH‹u(L‰çè-H…ÀH‰EÈt¯LEÀH‰ÙL‰êH‰ÆL‰çÿU …Àu I‹EL pEH úDL‰çA¸:º¾H‰D$H‹E(H‰$1ÀèHuÈL‰çèèéVÿÿÿI‹UH‹u(L‰çL‹M°L‹E¸H‰Ùèµ"H‹u(L‰êL‰çè"éXÿÿÿH‹NL‹E°H‹U¸H‹u(èûýÿÿH‰ÃéÙþÿÿUH‰åH‰]ðL‰eøHƒìI‰ô¾H‰ûè@b…Àt H‹$L‹d$ÉÃH‹ƒxL‰æH‰ßL‹d$H‹$H‹@ÉÿàUH‰åH‰]ðL‰eøHƒìI‰ô¾H‰ûèða…Àt¸H‹$L‹d$ÉÃ@H‹ƒxL‰æH‰ßL‹d$H‹$H‹@Éÿàff.„U¾H‰åH‰]ðL‰eøHƒì H‰ûè“a‰Â¸…Òu1Hƒ»pt6L oEH E1ÀA¸f²¾H‰ßè™1ÀH‹]ðL‹eøÉÃDH‹5áE2H‰ßè©lI‰Ä1ÀM…ätØL‰æH‰ßè´^…Àu 1À‰EèL‰çèSo‹EèH‹]ðL‹eøÉÃfD¾L‰çè. …Àt èjgƒ8tÅH.W2H‰ƒx¸ë²UH‰åATSH‰ûHƒìƒ=óV2ÿteL‹%RE2L ÎDH µDA¸/º¾1ÀL‰$$èÉL‰çèÑ0 ‹=³V2¾ è±. …Àu]‹=ŸV2è, …ÀuÇŒV2ÿÿÿÿHƒÄ[A\ÉÃL ƒDH KDA¸5º¾H‰ß1ÀL‰$$è\ë¼f.„L 9DH D1ÀA¸2º¾H‰ßL‰$$è$‹=V2è‰+ …À„sÿÿÿë‡ffffff.„UH‰åH‰]ðL‰eøHƒì ‹âU2H‰û…Àx¸H‹]ðL‹eøÉÃ@L‹%)D2L §CH ŒC1ÀA¸º¾L‰$$è 1Àºÿ¾BL‰çè|* …À‰|U2xb¾‰Çèv- …Àt‹=dU2è×* L PCÇNU2ÿÿÿÿL‰$$A¸!H C1Àº¾H‰ßè11ÀéLÿÿÿf.„L‰$$L )CA¸ëÁU¶ÀH‰åL‰eàA‰ÔH…HHH‰]ØL‰uðL‰mèL‰}øHìH)ÐHUσþ‰óM‰Îÿà)zñ)rá)jÑ)bÁ)Z±)R¡)J‘)BH‹I2L‹(„ûCûA‰÷‰ò¾ƒø†µH…ÿt‰•øþÿÿè%^‹•øþÿÿ9Ð|fAƒÿHB†”H5ÍÊL‰ï1Àè¿HEH•ÿÿÿL‰öL‰ïÇ…ÿÿÿ0Ç…ÿÿÿ0H‰…ÿÿÿH… ÿÿÿH‰…ÿÿÿè $E…äuH‹]ØL‹eàL‹mèL‹uðL‹}øÉÀL‰î¿ è«ëÔf„H‹ÁH2L‹(HB2HcÛH‹ØH…Ò…Uÿÿÿéaÿÿÿf.„A¿º¾éÿÿÿff.„UL ­AH µA1ÀA¸=ºH‰åHƒìH‰4$¾è?þÿÿ1ÀÉø H=”B2U‰ÂH RH‰å…4Ïu…Àtƒè‰ÂH R…4ÏtîHRH‹DÇÉĸ H=TB2U‰ÂH RH‰å…4Ïu…Àtƒè‰ÂH R…4ÏtîHRH8B2H‹ÐÉÃfU‹FLH‰å¨…¡H‹NHƒÆH9ñ„‰Æº H=òA2ƒæ „‰‰Ð‹ILH@… Çu…Òtƒê‰ÐH@… Çtî¸ ‰ÁH IöÏ@u…Àtƒè‰ÁH IöÏ@tí)¸ƒú!CЃþH.A2HɉÒH÷уá(HÑH‹ÉÃf„ɉÆéÈþÿÿ„‰ÑH I…ÏuŒ…Òtˆƒê‰ÑH I…Ïtîéuÿÿÿfffff.„UH=h@2¸H‰å‰ÂH‰ÑHÁá…4u ƒèƒøÿuê‰ÂHÁâH‹DÉÃffff.„UH‰åAWL~AVI‰öAUA‰ÕATE1äSHƒìH‹^H‰}ÈL9ûu ë,H‹L9ût!AöFLuñH‹}ÈH‰ÞD‰êè²ÿÿÿH‹AÄL9ûußI‹F IƒÆ I9ÆHPðu$ëD@AƒýtR1ÀE…í”ÀAÄH‹BI9ÆHPðt"AƒýuÜ‹B<ÁèƒðƒàAÄH‹BI9ÆHPðuÞHƒÄD‰à[A\A]A^A_ÉÃfD‹B<Áèƒàë«ffff.„UH‰åAWAVAUI‰ýATI‰ôSHƒì‹NLöÁuaL‹vHFH‰EÈI9ÆtPE1ÿëI9ßwM…ÿIEßM‹6L;uÈt5I‰ßL‰öL‰ïè¥ÿÿÿH‰ÃA‹D$H…Àt‰ÀH÷ØH!ÃA‹L$LöÁ@u¿LûëÆf1ÛM‹L$ It$ I9ñtE‹T$PAƒâ„@1ÿL9ÎIAðteA‰ËAƒã@ë!@H9ÓwH…ÛuH‰ÓH‹PH9ÖHBðt;ö@<uíE…ÒH‰útH‹PHE‹D$HE…Àt E‰ÀI÷ØL!ÂE…Ûu¹HÓH‹PH9ÖHBðuÆöÁtkL9ÎIAðtbA‰ÈAƒà@ë&f„H9ÓwH…ÛuH‰ÓH‹PH9ÖHBðt3ö@<tíA‹|$HH‹PH…ÿt‰ÿH÷ßH!úE…ÀuÃHÓH‹PH9ÖHBðuÐA÷D$L€tAI‹D$IT$H9Є‚1öH‹ƒÆH9Ðuõ…ö‰òtoH‰ØH‰Ö1ÒH÷öH)ÃH‰ÚH)€åHEÚHƒÄH‰Ø[A\A]A^A_ÉÃfL9ÎIAð„#ÿÿÿH‰ÂHÇÇÿÿÿÿf„L‹BHL9ÇIGøL‹BL9ÆIPðuèéŽþÿÿºL‰æL‰ïèðüÿÿA‹L$L‰Âéuÿÿÿ@‹FLUH‰åɃàÃ@‹FPUH‰åɃàÃ@UH‹F8H‰åÉÃfDH‹U1É1ÀH‰åH9Öt H‹ƒÁH9Öuõ‰ÈÉÃUH‹GHWH‰åH9Ðt€H‰ÇH‹@HWH9ÐuðH‹W HƒÇ 1ÀH9útH‹B ÉÃUH‰åH‰]àL‰eèH‰ûL‰mðL‰uøHƒì I‰ôI‰ÕA‰ÎèGÿÿÿ…ÀtH‹$L‹d$L‹l$L‹t$ÉÃfDD‰òL‰æH‰ßL‰éH‹$L‹d$L‹l$L‹t$ÉÿáfDUH‰åH‰]àL‰eèH‰ûL‰mðL‰uøHƒì I‰ôI‰ÕA‰Îè×þÿÿ…ÀuH‹$L‹d$L‹l$L‹t$ÉÃfDL‰æH‰ßè½þÿÿ…ÀuÖD‰òL‰æH‰ßL‰éH‹$L‹d$L‹l$L‹t$ÉÿဋGUH‰åƒøuëfHƒÇ‹Gƒøt97uðÉÃfffff.„‹UH‰å…Àuë@…ðuHƒÇ‹…Àt…Òtî9ðuî‹GÉÃDUH‰åAVI‰ÎAUATI‰ÔSL‹.H‰óL9ît"H…ÉuëDM‹mL9ët L‰æL‰ïAÿÖ…ÀtêI‹EM‰,$M‰eL‰ I‰D$[A\A]A^ÉÃDUH‰åAVI‰öAUI‰ýATLfSH‹^L9ãu ë0H‹L9ãt(öCLtòH‰ÞL‰ïèÇÿÿÿH…Àuâ[A\A]A^ÉÃf„IF I9F t AöFTL‰ðuÚ[A\A]1ÀA^ÉÃUH‰åSH‰óHƒìH‹~H…ÿtè–cH‹{ècHƒÄH‰ß[Éécffffff.„UH…ÒH‰åt3H‹N HƒÆ H9ÎHAðuë@H‹HH9ÎHAðt H9P(uíÉÃ1ÀÉÃL ©9H ½91ÀA¸B²¾èöÿÿ1ÀÉÃfffff.„UH‰åH‰]àL‰eèH‰óL‰uøL‰mðHƒì@L‹n0I‰þA‰ÔIƒ}(„ˆH‹F(H ‹E…äH5n9L l9A¸×H‹HHS9HDÐHC9H‰L$H #9H‰T$HDƺ¾H‰$1ÀènõÿÿI‹E(D‰âH‰ÞL‰÷H‹]àL‹eèL‹mðL‹uøÉÿàfDI‹EL =H Í8A¸Üº¾H‰$1Àèõÿÿ1ÀH‹]àL‹eèL‹mðL‹uøÉÀUH‰åAVI‰öAULnATI‰üSHƒìH‹^L9ëuëS@H‹L9ëtGH‰ÞL‰çèÅÿÿÿ…ÀuéH‹C8L ®<H F8A¸pº¾L‰çH‰$1Àè‘ôÿÿH‹L9ëu¹I‹F Mn A¾I9ÅHXðuëbH‹CI9ÅHXðtU1ÒH‰ÞL‰çèVþÿÿ…ÀuâH‹C(L g<H ×7A¸|º¾L‰çE1öH‹@H‰$1ÀèôÿÿH‹CI9ÅHXðu«HƒÄD‰ð[A\A]A^ÉÃfffff.„UL µ7H x71ÀA¸H‰åATI‰üSH‰Ó1ÒHƒìH‰4$1öè¼óÿÿ¾L‰çèoR…À…ïH…Û„šHƒ;L ~7A¸„ƒH 71À1Ò1öL‰çèróÿÿH‹H…ÀtfL ê1H ó6H‰$1Ò1ö1ÀHƒÃA¸L‰çè@óÿÿHƒ;tjI‹„$ÈL ²1H »61Ò1öA¸L‰çH‰$1Àè óÿÿH‹H…ÀušHƒÄL‰çL -‰[A\ÉH ‚6A¸#º1ö1Àé×òÿÿ€L Å6A¸é7ÿÿÿfDI‹D$hL „6H <6A¸1Ò1öL‰çH‰$1Àèòÿÿéáþÿÿ„UHúÿÿH‰åAWA‰×AVI‰ö¾AUL-ùÿÿATI‰üSHƒìƒùLDèèwQH‹ëfH‰ÞD‰ùL‰òL‰çAÿÕH‹¾L‰çèQQH9ÃuÜHƒÄ[A\A]A^A_ÉÃffff.„UH‰åAUI‰ýATSH‰ó¾HƒìèQL‹ ¾L‰ïèQI9Ä„I‹t$ IL$ H9ÎH~ðH‰òt&H9ßtH‰øëf.„H9ÃtkH‹PH9ÊHBðuîAöD$Lt@M‹D$ML$M9Èt1H9Öt$H9ßt=H‰øë „H9Ãt+H‹HH9ÊHAðuîM‹M9ÈuÏM‹$$é]ÿÿÿE1äf.„HƒÄL‰à[A\A]ÉÃfUH‰åAWAVAUATI‰ôSH‰ûH‰÷HƒìH‰UÈèí÷ÿÿL‰æH‰ßI‰ÆèÏùÿÿH…À„öL‹x Iƒï„èA‹F`E1íº¨…¨„܄҄ԾH‰ßE1íèÔOL‹ ë €M‹$$¾H‰ßè·OI9Ä„žAöD$LtÞL‰çè^÷ÿÿI9ÆuÑI‹|$MD$L9ÇtÂf.„H‹W Hw H9òtPöGLtJH9ÖHBðtAI‹W(H‹J @H‹P(H‹R H9ÊrM…ít M‹M(I;Q s H9Ê„ I‰ÅH‹PH9ÖHBðuËH‹?L9Çu›éNÿÿÿfDM…ítL‰îH‰ßèÐýÿÿH‹UÈH‰HƒÄL‰è[A\A]A^A_ÉÀL‰æH‰ßè•1H…Àt×H‹xLHL9τ̀H‹W Hw H9òtLöGLtFH9ÖHBðt=I‹W(H‹J @H‹P(H‹R H9ÊrM…ít M‹E(I;P sH9Êt/I‰ÅH‹PH9ÖHBðuÏH‹?L9ÏuŸM…íA‹F`”ÂéTþÿÿ„H‹?I‰ÅL9Ï…yÿÿÿëØ€I‰ÅéýþÿÿL 17H y2A¸Ãº1öH‰ß1ÀE1íèÈîÿÿéúþÿÿA‹F`ºéñýÿÿDUH‰åSH‰ûHƒìƒþt_@öÆuƒæuIƒîè\VAƒíuîL‰ÿèNVéøþÿÿH‹{Xë»L <3H Ì,A¸)º¾L‰ï1ÀèéÿÿéÅþÿÿfDUH‰åL‰mðH‰]àI‰ýL‰eèL‰uøHƒì0H…öt èKþÿÿH‹]àL‹eèL‹mðL‹uøÉÃf„¾LuØèòGH‹L‹#ë f.„L‰öL‰ïH‰]ØèþÿÿL‰ãM‹$$¾L‰ïè½GH9ÃuØë›fDUL  2H ,ºA¸ÍH‰åAWAVI‰þAUI‰õM} ATSHƒì8H‹F8¾H‰$1Àè8èÿÿI‹E H‹L9øH‰Ó„íHMÈH‰M¸ë#H‹EÈH9„µM9çH‹L‰à„ÄI‹$H‹HI‰ÜH‰KH‹HHÇ@H‰HÇHƒèH‹H(H7KH…ÉtH‹QH‹H L 2H‰EÈH‰T$1ÀA¸Óº¾L‰÷H‰ $H "+è†çÿÿL‰îL‰÷èîÿÿ…À„[ÿÿÿH‹EÈL‰÷H‹p(èCùÿÿH‹EÈH9…KÿÿÿH‹u¸L‰÷è:þÿÿM9çH‹L‰à…?ÿÿÿI‹EI‹UI‹}8H‰PI‹UIÇEH‰IÇEè TL‰ïèTHƒÄ8[A\A]A^A_ÉÃDUH‰åH‰]ðL‰eøH‰óHƒìH‹vHCI‰üH9ÆtèØÿÿÿH‰ÞL‰çH‹$L‹d$Éé3þÿÿUH‰åAWL~AVL‰øI‰öAUATSH‰ûHƒìH…ö„±L‹ M‹,$ëL‰æH‰ßM‰ìèÂÿÿÿM‹mM…öL‰øt&L9àuáM…öt,HƒÄH‰ßL‰ö[A\A]A^A_ÉéÃýÿÿ¾H‰ßècEë˾H‰ßèSEL‹ ¾H‰ßèCEI9ÄtKHƒÄH‰ßL p0[A\A]A^A_ÉH †)A¸øº¾1ÀéØåÿÿ¾A¿èøDé:ÿÿÿHƒÄ[A\A]A^A_ÉÃ@UH‰åH‰]èL‰eðI‰üL‰mø¿XHƒì I‰õè|SH…ÀH‰ÃtDH‰CH‰H@ÇCT ÇCLH‰CH‰CHC H‰C(H‰C H‰ØL‹eðH‹]èL‹møÉÃfDL‰îL‰çèÅæÿÿëÜUH‰åH‰]èL‰eðI‰üL‰mø¿hHƒì I‰õèüRH…ÀH‰Ãt4H‰CH‰H@ÇC8 H‰CH‰CH‰ØL‹eðH‹]èL‹møÉÃf„L‰îL‰çèUæÿÿëÙUH‰åH‰]èL‰eðH‰ûL‰mø¿(Hƒì I‰õèŒRH…ÀI‰ÄtL‰ïèLRH…ÀI‰D$tM‰d$M‰$$L‰àH‹]èL‹eðL‹møÉÃL‰çE1äè]QH5·2H‰ßèÞåÿÿëÓfff.„UH‰åH‰]ØL‰eàI‰üL‰mèL‰uðI‰õL‰}øHƒì0I‰ÖèNHn(H‰Á1ö1ÿM‰ð1Àè¥DxMcÿL‰ÿèßQH…ÀH‰ÃtGL‰îL‰çèÜMH4(H‰ÁM‰ðL‰þH‰ß1ÀèÒ¤H‰ØL‹eàH‹]ØL‹mèL‹uðL‹}øÉÃf„H5™1L‰çè!åÿÿëÍffffff.„UH‰åH‰]ØL‰eàI‰üL‰mèL‰uðM‰ÅL‰}øHƒì`I‰÷H‰ÖL‰ÂI‰Îè ÿÿÿH…ÀH‰ÃtmL £'H Î&A¸H‰D$L‰,$º¾L‰ç1ÀLm°èãÿÿH†'L‰ñ¾ L‰ï1Àè¤L‰çE1ÉLcÀL‰éH‰ÚL‰þèà>H‰ßèØOH‹]ØL‹eàL‹mèL‹uðL‹}øÉÃfUH‰åH‰]ðL‰eøH‰ûHƒì H‰÷I‰ôè" …ÀuH‹]ðL‹eøÉÃ@L 'H &1ÀA¸º¾H‰ßL‰$$èdâÿÿ¸òÿÿÿë¿ffff.„UH‰åH‰]èL‰eðH‰ûL‰møHƒì0I‰õH‹w(L‰êèêýÿÿH…ÀI‰ÄtBH‰ÆH‰ßèg>…Àt#L‰æH‰ßèHÿÿÿ…ÀuL‰àH‹]èL‹eðL‹møÉÃL‰çE1äèåNëßL q,H i%A¸º¾H‰ß1ÀL‰,$è´áÿÿë®fUH‰åH‰]èL‰eðI‰ôL‰mø¾Hƒì H‰ûI‰ÕèI@…ÀuH‹]èL‹eðL‹møÉÀL‰æH‰ßèÿÿÿH…ÀtÛH‰ÇèXNI‹M I‹ULWðL‰æH‰ßè¾ýÿÿH‰ßL‹eðH‹]èL‹møÉH5Â%ébþÿÿfUH‰åH‰]ØL‰eàI‰ôL‰mèL‰uð¾L‰}øHƒìPL‰MÈH‰ûI‰ÕI‰ÏM‰Æè§?…ÀuH‹]ØL‹eàL‹mèL‹uðL‹}øÉÃDL‰æH‰ßèmþÿÿH…ÀtÕH‰Çè°MHG%L‰îH‰ßè^üÿÿH…ÀI‰Ât_L 1%H $H‰$A¸÷1Àº¾H‰ßL‰UÀèfàÿÿL‹UÀE1ÉM‰ðL‰ùL‰æH‰ßL‰ÒèK<L‹UÀA‰ÆL‰×èM‰wL‰0I‰FH‹¾L‰çè):H9Ãu¤HƒÄ[A\A]A^A_ÉÃDUH…öH‰åAVI‰öAUATSH‰ûtJ1öèó9L‹ ëfDM‹l$L‰öI‹}è§Î…ÀtM‹$$1öH‰ßèÅ9I9ÄuØE1í[A\L‰èA]A^ÉÃL sH 1ÀA¸Øº¾è[Úÿÿ[E1íA\L‰èA]A^ÉÃfff.„UH‰åAUI‰õATSH‰ûHƒìH…öt€>uCL ”%H ¬A¸Çº¾H‰ß1ÀE1äèøÙÿÿHƒÄL‰à[A\A]ÉÃf.„¾è9L‹ ëI‹|$L‰îèÃÍ…ÀtÇM‹$$¾H‰ßèÞ8I9ÄuÙHƒÄE1ä[L‰àA\A]ÉÄUH‹F8H‰åH…Àu ¸ÿÿÿÿÉÃ@H‹w8H…ötìH‰ÇègÍÉÁèÃfUH¯'L iA¸H‰åAWI‰ÿAVAUA‰ÍH ÌATI‰ô¾SH‰ÓHƒì(H‰T$H‰$º1ÀèÙÿÿM‹4$M9æL‰òu ëmH‹L9âthH‹z8H‰ÞH‰UÈèèÌ…ÀH‹UÈuàI‰ÕH oL øH _H‰$L‰ÿ1ÀA¸,º¾H‰\$è¥ØÿÿHƒÄ(L‰è[A\A]A^A_ÉÃM‰ôAƒýtE1íH¿ë¨fDM9ætéIv¹H‰ÚL‰ÿèüþÿÿH…ÀI‰Å…sÿÿÿM‹6M9ôuØë¼fDUH‰åSH‰ûHƒìH…ötHƒÄH‰ß[ÉéÁþÿÿH‰Uè‰Mà@¶èA7‹MàH‹UèH‰ßHƒÄH‰Æ[Éé™þÿÿf„U1ö¹H‰åAWAVAUATSH‰ûHƒìH‹—è‰ÿÿÿH…Àº„¹H‹P Lh ǃI9ÕLbð„yL5Å,2M‰÷fI‹D$(H=´,2H‹pè;ÉH¤,2‹ HƒÂÿþþþ÷Ñ!È%€€€€té‰ÁÁé©€€DÁHJHDÑÀHƒÚL)úfBÇ2 I‹D$ƒƒI9ÅL`ðu“H‹»èDH=@,2èËD1ÒH‰ƒHƒÄ‰Ð[A\A]A^A_ÉÃUH‰åAWI‰÷AVAUATI‰üSHƒìH…ötT1ÉH‰ò1öèˆþÿÿH…ÀtCL H LL‰<$L‰ç1ÀA¸ôº¾è—ÖÿÿHƒÄ1À[A\A]A^A_ÉÃfD¾L‰çè£5H‹L‹3ëTH‹@8L ¼H íº¾L‰çA¸ûH‰D$H‹C(H‹@H‰$1Àè+ÖÿÿL‰úL‰îL‰çè-öÿÿL‰óM‹6¾L‰çè:5H9Øt}H‹C0H‰ÞL‰çÿP@H…ÀI‰ÅuˆöC<„>H‹S 1ö¹L‰çè“ýÿÿH…ÀH‰Ãt®H‹@8L TH PL‰çA¸º¾H‰$1Àè›ÕÿÿH‰ÞL‰çèàîÿÿénÿÿÿ¾L‰çè«4H‹L‹+ë:H‹C8L !H õA¸ßº¾L‰çH‰$1Àè@ÕÿÿL‰ëM‹m¾L‰çè\4H9ÃtgH‰ßèÜÿÿH…ÀtÚH‰ÞL‰çÿPH…ÀuÍöCL@u—H‹C8L Ä H ŒL‰çA¸âº¾H‰$1Àè×ÔÿÿH‰ÞL‰çèîÿÿëŠf.„HƒÄ¸[A\A]A^A_ÉÃ@H‹C L H -A¸º¾L‰çH‰D$H‹C(H‹@H‰$1ÀèkÔÿÿé€þÿÿfDUH‰åH‰]ØL‰eàI‰ôL‰mèL‰uðH‰ûL‰}øHƒì@H‰MȉÑH‰ò1öM‰ÇM‰ÎèèûÿÿH…ÀI‰Åt L‰èH‹]ØL‹eàL‹mèL‹uðL‹}øÉÀH59"H‰ßèAîÿÿH…ÀI‰ÅtÉL‰çè¡AH…ÀI‰E8tEHƒ}ȸtH‹UÈ‹B„ÏL‰ð1Ûf.„H‹PƒÃHƒÀH…ÒuðƒûL}ÌŽ£H )!2Hr M‰øL‰ö‰ßèµòƒøÿ„Žƒør„Knƒø?„åƒødfu¾Iƒ|$ u¶H‹2H‹I‰D$ ë¥DL ÉA¸H c1Àº¾L‰ïè¸Êÿÿ1ÀH‹]ØL‹eàL‹mèL‹uðL‹}øÉÃøs„ƒøt…NÿÿÿH‹'2H‹8èüÿÿ…À„óIƒ|$…+ÿÿÿH‹2H‹8è ýÿÿI‰D$éÿÿÿfI‹…(I‰$HmI‰D$I‹…I‰D$ ¸émÿÿÿL pA¸¹é;ÿÿÿfDH‹¡2H‹8è üÿÿ…À„šIƒ|$…¥þÿÿH‹~2H‹8è†üÿÿI‰D$éŒþÿÿ@Iƒ|$…|þÿÿH‹U2H‹I‰D$éhþÿÿ„L °A¸—é»þÿÿ¸éÎþÿÿL ¼A¸¬H  º¾L‰ïè^Éÿÿ1Àé¡þÿÿL yA¸žëÑ„UH‰åH‰]ØL‰mèI‰õL‰eàL‰uð¾L‰}øHìH‰ûèÑ'…ÀuHƒ»(„ÿ¾H‰ßè²'…ÀuI‹EH…À„€8-uƒÂ9×uåI9ÆtàI‹VI‹vH‰rI‹vIÇFH‰H‹PIvI‰NH‰pH‰2I‰VH‰ßèîòÿÿH‹E¸L Žÿ H jþ H‰ßA¸Åº¾H‰$1À辯ÿÿH‰ßè¶òÿÿH‹U 1öAÇD$T¹H‰ßèZ×ÿÿH…Àt$H‹PÇ@THƒÀH9ÂtÇBTH‹H9Âuñ1öL‰âH‰ßèÔƒÿÿAƒL$TH‹U 1ö¹H‰ßè ×ÿÿH…Àt"H‹PƒHTHƒÀH9ÂtDƒJTH‹H9ÂuôL‰â¾H‰ß脃ÿÿ…ÀuPL‰îH‰ßèU}HƒÄX1À[A\A]A^A_ÉÃ@L *þ A¸žH jý º1öH‰ß1ÀèË®ÿÿë¹f„L‰îH‰ßè¥|ë®L AA¸¢ë¾L +þ H !ý A¸®º¾H‰ßè{®ÿÿéqÿÿÿfDUHøüÿÿH‰åATI‰ôSH‰ûHƒì@H‰EØ‹B<ÇEÐ@ÇEàHÇEè¨u7HJH9Jum¨…¥HuÐH‰ÑH‰ßL‰âèÃîÿÿHƒÄ@[A\ÉÃf.„H=¿ý H‰UÈè—H‹UÈH‹BH‹JH‰HH‹JH‰HBH‰BH‰B‹B<뛄HSL rÿ H 9ü A¸âº¾H‰$1Àè­ÿÿ¸ðÿÿÿésÿÿÿfDHL Zÿ H ùû A¸çº¾H‰$H‰ß1ÀèM­ÿÿ¸ëÿÿÿé0ÿÿÿUH‰åH‰]ØL‰eàH‰ûL‰mèL‰uðI‰ôL‰}øHìÐH…ÉI‰ÍL‹·„ˆ1ö¹L‰òH‰ßè¶ÔÿÿH…À„ M…íD‹xL„pH5oH‰ßè¡ÇÿÿH…ÀH‰Â„H‰×1À¹ óH«¾ÇB8@D‰zH‹E¨L‹`ë¨H‰$H‹}°L Šõ H œô A¸”º1öE1ÿèù¥ÿÿf„HƒÄHD‰ø[A\A]A^A_ÉÃH‹u¨H‹}°H‰ÚHƒÄH[A\A]A^A_Éé0þÿÿUH‰åH‰]ØL‰eàH‰ûL‰mèL‰uðA‰ÖL‰}øHƒÄ€H‹oï1‹—€H‰u H‰ÏD‰öI‰ÍM‰ÇH‰E°HÑL‰M¨H‰E¸H‹ï1H‰EÀHù H‰EÈ1ÀèAσøÿA‰Ä„Hƒ}tH‹u1Ò‰Çè Hƒøÿ„ŸAƒæL‰þ1ÀIÁæH‹U¨D‰çNt5°A¿AÿH;E¨tRè: ‹8E0ÿ耛L‰l$H‰D$L ¾ø I‹FH §ø A¸Rº¾H‰ßH‰D$H‹E H‰$1Àè­¤ÿÿD‰çèÏD‰øH‹]ØL‹eàL‹mèL‹uðL‹}øÉÃ@H‹EL ¥ø H Iø A¸Oº¾H‰ßL‰l$E1ÿH‰D$H‹E H‰$1ÀèG¤ÿÿë˜DL ÿ÷ H ø A¸Fº¾H‰ß1ÀL‰,$E1ÿè¤ÿÿégÿÿÿfff.„UH‰åHƒìL‰ $M‰ÁI‰ÈH‰ÑºAè!þÿÿÉÃffffff.„UH‰åHƒìL‰ $M‰ÁI‰ÈH‰Ñ1ÒèôýÿÿÉÃfUH‰åAUI‰õH•@ÿÿÿATI‰ü¿SHìÈè¹Ë…ÀuU‹•Xÿÿÿ¸âðú@t.L t÷ H 1÷ 1ÀL‰,$A¸4º¾L‰çè@£ÿÿ1ÀHÄÈ[A\A]ÉÃL‰ïèèH…ÀH‰ÃH‰EØ„¨L ÷ H Ýö L‰,$L‰çA¸º¾1ÀLmØèè¢ÿÿH‹}Ø@HƒÇ¾/è" ¾ÿH‰EØH‰ßè‘Ì…Àt èøƒ8u[L‰ï¾/èæH‹}ØH…ÿu½¸‰…8ÿÿÿH‰ß芋…8ÿÿÿHÄÈ[A\A]ÉÃfDH5¹ö L‰çèñ£ÿÿéÿÿÿ@L Wö H ö 1ÀH‰$A¸º¾L‰çè,¢ÿÿ1ÀëU1öH‰åSH‰ûHƒìè]»ÿÿH‰ß1öèó¸ÿÿH‰ß1öèÙ³ÿÿH‰ß豑ÿÿHƒÄH‰ß[Éé“UH‰åSHƒìH‹H…Àt ¶:'ö t<1ÒH‹Ëë1H‰÷‰è¡H…ÀH‰ÃtH‰ÇèÑ‘ÿÿ…ÀtEH‰ßèµ H‰ØHƒÄ[ÉöP:àõ u¸¶P:Õõ u¬¶@1Ò:Èõ ”Âë€H‰ß1Ûè.ÿÿÿë·U1ÀƒþH‰åw ‰öHƒÆHÁæ‹>ÉÃfDU1ÀƒþH‰åwHcöHƒÆHÁæ‹>=þƒÀ‰>ÉÄU1ÀƒþH‰åw ‰öHÁæH‹D78ÉÄU1ÀƒþH‰åwHcöHÁæH„>0ÉÃ@H‡`UH‰‡hH‰‡`H‡PH‰åH‰‡XH‰‡PH‡@H‰‡HH‰‡@H‡0H‰‡8H‰‡0ÉÃfDULJ€€H‰åÉÃUHô H‰åH‰‡ˆÉÃfff.„Hˆô UÇGÇGÇGH‰Hsô H‰åH‰GH`ô H‰G ÉÃDUH‹GH‰åÉÃfDUH‹H‰åÉÀUH‰åSH‰ûHƒìH‹6è¬ H‰C(HƒÄ[ÉÃU¾ H‰åSH‰ûHƒìèjþÿÿH= ô è> H‰ßH‰ƒÈ¾ èJþÿÿH=Û9è H‰ƒèHƒÄ[ÉÃUH‰åATI‰üS1Û@I‹|8H…ÿtè1 HƒÃHûuä[L‰çA\Éé „UH‰åH‰]àL‰eèI‰üL‰mðL‰uø¿Hƒì èÛ H…ÀH‰ÃtCL‹-\è1Mu0M9îvL‰æH‰ßAÿUIƒÅM9õuíH‰ØL‹d$H‹$L‹l$L‹t$ÉÃDH‹¡è1H=ó º¾H‹è xëÁfffff.„UH‰åH‰]àL‰eèE1äL‰uøL‰mðHƒì ƒþH‰ûI‰Öw2A‰õL‰èHÁàH‹|8H…ÿtè1 L‰÷IÁåèå H…ÀI‰ÄJ‰D+8tL‰àH‹$L‹d$L‹l$L‹t$ÉÃH5©ò H‰ßèŸÿÿë×ffffff.„UH‰åH‰]ØL‰eàH‰ûL‰mèL‰}øE1íL‰uðHƒì@ƒþI‰ÔA‰Ï‡„‰ö1ÒE1öH‰ðH‰uÈHÁàL‹l8M…ítL‰ïèû•H…ÀI‰Æ•ÀE„ÿ•ÂH!ƒâL‰çH‰UÀèÚ•H‹UÀItL‰ïHÖèV H…ÀI‰ÅtNM…öu9CÆD5L‰æL‰ïèøŽH‹EÈHÁàL‰l8L‰èH‹]ØL‹eàL‹mèL‹uðL‹}øÉÃfE„ÿtÂFˆ<0IƒÆë¸H‹EÈHÁàLd0I‹|$èé H5¢ñ IÇD$H‰ßèažÿÿë¤UH…ÿH‰åtH‹H…Àt@ˆ0HƒÉÃfDUH‰åL‰eèL‰mðA‰ôI‰ýH5fÙH=Nñ H‰]àL‰uøHƒì èO„H…ÀH‰Ã„³Hì2H5ÜÚ H‰Ç1Àè›`H‰ßA‰ÆèPlAƒþ…†E…äuaH5/ñ H=³2L‰ê1Àè¹]H=¢2è=Ÿ‰Â1ÀƒúÿuH52H=>ñ èa\¸@H‹$L‹d$L‹l$L‹t$ÉÃAƒüt2H=Ûð è΄¸ëÏ€H=ƒð è´„¸ëµDH5ð H=2L‰ê1Àè ]ébÿÿÿff.„UH‰åSH‰óHƒìH‹>H…ÿt èWHÇHƒÄ[ÉÃf„UH‰×H‰åH‰]àL‰mðH‰óL‰uøL‰eèHƒì L‹&I‰Ö臓¾I‰ÅM…ät L‰çèr“HpLîL‰çèóH…ÀH‰t;M…ätNE1íH…ÀA•ÅE…ít L‰öH‰Ç茌D‰èH‹$L‹d$L‹l$L‹t$ÉÃ@E1íM…ätÜL‰çè H‹ëµÆH‹ëªUH‰åAWAVAUATI‰ôSH‰ûH‰×Hì˜H‰M¸L‰EÀL‰MÈè"I‰Å1ÀM…í„çHU HEÇ…`ÿÿÿM‰ïH‰•pÿÿÿHU€H‰…hÿÿÿ¸H‰•XÿÿÿA€?„•¾%L‰ÿè‰H…ÀI‰Æ„-I9ÇtÆL‰úL‰æH‰ßè§þÿÿ…ÀtbA¶FM~UL‰çèŒMtÿë€AƒÅAƒý{t6Eˆ.L‰æH‰ßèÀV…Àuä1öL‰çèR½ƒøÿtÕ‰ÇAƒÅè½Aƒý{uÎ@[L‰çA\A]A^Éé8H‰ßL ¿è H Éè [A\A]A^ÉA¸º¾1Àé“ÿÿUH‰åÉé¶NfDUH‰åH‰]èL‰eðI‰üL‰møHƒì A‰õèQ]H…ÀH‰ÃtE…ít L‰â1öH‰Çè£H‰ØL‹eðH‹]èL‹møÉÃfDUH‰åL‰eðI‰üH~H‰]èL‰møHƒì I‰õ1öè‹ÿÿÿH…ÀH‰ÃtBÆ(L‰êL‰æH‰Çè€H‰ØL‹eðH‹]èL‹møÉÃffffff.„UH‰åSH‰ûHƒì蟊HƒÄH‰ßH‰Æ[Éé~ÿÿÿfffff.„U¾H‰åÉéÿÿÿUH‰åÉéfi‹WfÁfÁGU‰Ð‰ÑH‰åÁáÁè ȉÑâÿáÿÁêÁá È Ð‹W‰G‰Ñ‰ÐÁáÁè ȉÑâÿáÿÁêÁá È Ð‹W‰G‰Ñ‰ÐÁáÁè ȉÑâÿáÿÁêÁá È Ð‹W‰G‰Ñ‰ÐÁáÁè ȉÑáÿÁáâÿfÁG ÈÁêfÁG ЋW fÁG&‰G‰Ñ‰ÐÁáÁè ȉÑâÿáÿÁêÁá È Ð‹W(‰G ‰Ñ‰ÐÁáÁè ȉÑâÿáÿÁêÁá È Ð‹W,‰G(‰Ñ‰ÐÁáÁè ȉÑâÿáÿÁá ÈÁê ЉG,ÉÃfff.„U@öÆH‰åAWA‰÷AVAUATSH‹ŸD·k ‹„K‹fÁGfÁG8fÁG:‰È‰ÎÁæÁè ð‰ÎáÿæÿÁéÁæ ð È‹O4‰‰Î‰ÈÁæÁè ð‰ÎáÿæÿÁéÁæ ð È‹O@‰G4‰Î‰ÈÁæÁè ð‰ÎáÿæÿÁéÁæ ð È‹ð‰G@‰Î‰ÈÁæÁè ð‰ÎæÿáÿÁæÁé ð È‹ô‰‡ð‰Î‰ÈÁæÁè ð‰ÎáÿæÿÁéÁæ ð È‹‰‡ô‰Î‰ÈÁæÁè ð‰ÎáÿæÿÁéÁæ ð È‹‰‡‰Î‰ÈÁæÁè ð‰ÎáÿæÿÁéÁæ ð ȉ‡AöÇ„­‰Ð‰ÑfÁCÁáÁèA¾ ȉÑáÿÁá ȉÑáÿÁé È‹K‰‰Î‰ÈÁæÁè ð‰ÎáÿæÿÁéÁæ ð ȉC·C fÁÀúÄe‹Sf‰C ·ÀDEèfÁC fÁC‰Ð‰ÑÁáÁè ȉÑâÿáÿÁêÁá È Ð‹S‰C‰Ñ‰ÐÁáÁè ȉÑâÿáÿÁêÁá È Ð‹S$‰C‰Ñ‰ÐÁáÁè ȉÑâÿáÿÁêÁá È Ð‹S(‰C$‰Ñ‰ÐÁáÁè ȉÑáÿÁáâÿ ÈÁê ЋS,‰C(‰Ñ‰ÐÁáÁè ȉÑâÿáÿÁêÁá È Ð‹S0‰C,‰Ñ‰ÐÁáÁè ȉÑâÿáÿÁêÁá È ÐAƒýEFõ‰C0E…öt$E1ä€D‰àAƒÄHÁàH|@è‹ûÿÿE9ôræAƒçt*Aƒýv$A¼@D‰àAƒÄHÁàH|@è[ûÿÿE9åwæ[A\A]A^A_ÉÃff.„U1ÀH‰åÉÄUH‹FHH‰åH‹@H‹‹H@·B HÁàHD@HƒÂ@f„H9ƒ§Hƒè@;Huî¶H D¶PD¶@D‹HH‹GHH‹@H‹‹p@·B HÁàHD@HƒÂ@f„H9ÂskHƒè@;può¶ÉA¶òD‰ÊHÁæ(HÁá0H ñ¶pH ÑA¶ÐHÁâ H ѶP HÁæ(HÁâ0H ò‹p¶@ÉHÁà H òH Â1ÀH9Ñ’ÀÃ1Àé[ÿÿÿf„1Àëšfff.„UH‹GXH‰åH‹@H‹°D·F fE…À„~E·ÀD‹P@1ÿEHÿAƒèëf.„D‰À)øƒøÿtVƒÇD‰È)øH˜HƒÀHÁàD9T0uÝD‰À)øƒøÿu ë1ƒèƒøÿtÒHcÐH‰ÑHÁá€|HuçHƒÂHÁâ·2ÉÃf„1ÀÉÃfff.„1Àƒz<UH‰åÉ•ÀÃUH5(ã1H‰åÉé¿}ÿÿffffff.„UH‰åAUATSHƒì(L‹fI‹D$XH‹@L‹€D‹P@E·X A·ÃHÁàJ\@I@@DH9؃Hƒë@D;SuífE…Û„óE·ÛE1ÉEkÿAƒëëfD‰ØD)ȃøÿ„ÑAƒÁD‰èD)ÈH˜HƒÀHÁàF;TuÖD‰ØD)ȃøÿué¦fDƒèƒøÿtÇHcÐH‰ÑHÁáA€|HuæHÁâNl@1ÀAöD$8u^H‹FL à H Qã A¸@º¾H‰D$I‹D$(H‹@H‰D$H‹ÏÏ1H‰$1ÀèŠÿÿAÇD$8¸ÆC AÆE HƒÄ([A\A]ÉÃf.„E1íé{ÿÿÿ„1Ûéìþÿÿf„UL Ýâ H Áâ A¸nºH‰åAWAVAUATSH‰ûHƒì(H‹FXL‹`H‹<Ï1H‰D$H‹F(1öH‹@H‰$1Àèz‰ÿÿA‹$L â H hâ 1öA¸ºH‰ßHÇ$‰D$1ÀèE‰ÿÿA¶D$L pâ H 1â 1öA¸ºH‰ßHÇ$‰D$1Àè‰ÿÿA¶D$L Qâ H úá 1öA¸ ºH‰ßHÇ$‰D$1Àè׈ÿÿA·D$L 1â H Ãá 1öA¸!ºH‰ßHÇ$‰D$1Àè ˆÿÿA‹D$@L â H á 1öA¸"ºH‰ßHÇ$@‰D$1ÀèjˆÿÿA·D$8L MÞ H Vá 1öA¸#ºH‰ßHÇ$8‰D$1Àè3ˆÿÿA·D$:L ¾á H á 1öA¸$ºH‰ßHÇ$:‰D$1Àèü‡ÿÿA¶D$?L œá H èà 1öA¸%ºH‰ßHÇ$?‰D$1ÀèŇÿÿA‹„$L wá H ¯à 1öA¸&ºH‰ßHÇ$‰D$1À茇ÿÿA‹„$L Tá H và A¸'º1öH‰ßHÇ$‰D$1ÀèS‡ÿÿM‹¤$L 8á H =à 1öA¸NºH‰ßA‹$HÇ$‰D$1Àè‡ÿÿA‹D$L á H à 1öA¸OºH‰ßHÇ$‰D$1Àèà†ÿÿA·D$L óà H Ìß 1öA¸PºH‰ßHÇ$‰D$1À詆ÿÿA·D$ L Ôà H •ß 1öA¸QºH‰ßHÇ$ ‰D$1Àèr†ÿÿA·D$ L ²à H ^ß 1öA¸RºH‰ßHÇ$ ‰D$1Àè;†ÿÿA·D$L ‘à H 'ß 1öA¸SºH‰ßHÇ$‰D$1Àè†ÿÿA‹D$L sà H ñÞ 1öA¸TºH‰ßHÇ$‰D$1ÀèÎ…ÿÿA‹D$L Và H »Þ 1öA¸UºH‰ßHÇ$‰D$1À蘅ÿÿA¶T$ H 7à H»L 5à A¸WH‰ßHÇ$ „Ò¶ÒHHÁH \Þ 1öH‰D$‰T$1ÀºèE…ÿÿA¶D$!L à H 1Þ 1öA¸XºH‰ßHÇ$!‰D$1Àè…ÿÿA¶D$"L çß H úÝ 1öA¸YºH‰ßHÇ$"‰D$1ÀèׄÿÿA¶D$#L Èß H ÃÝ 1öA¸ZºH‰ßHÇ$#‰D$1Àè „ÿÿA‹D$$L §ß H Ý 1öA¸[ºH‰ßHÇ$$‰D$1Àèj„ÿÿA‹D$(L ß H WÝ 1öA¸\ºH‰ßHÇ$(‰D$1Àè4„ÿÿA‹D$,L qß H !Ý 1öA¸]ºH‰ßHÇ$,‰D$1ÀèþƒÿÿA‹D$0L Tß H ëÜ 1öA¸^ºH‰ßHÇ$0‰D$1ÀèȃÿÿL >ß H ºÜ 1ö1ÀA¸`ºH‰ß裃ÿÿfAƒ|$ „E1ÿE‰þL ß H Ü Mn1öIÁæA¸.ºH‰ßIÁåC‹D%HÇ$‰D$1ÀèKƒÿÿKD4pL èÞ H 8Ü 1öA¸/ºH‰D$H‰ß1ÀHÇ$0èƒÿÿC·D%L ÆÞ H Ü 1öA¸0ºH‰ßHÇ$‰D$1ÀèÝ‚ÿÿC·D%L §Þ O,,H ÅÛ 1öA¸1ºH‰ßHÇ$‰D$1À袂ÿÿA¶EL †Þ H Û 1öA¸2ºH‰ßHÇ$‰D$1Àèl‚ÿÿA¶E L eÞ H YÛ 1öA¸3ºH‰ßHÇ$ ‰D$1Àè6‚ÿÿA¶E L CÞ H #Û 1öA¸4ºH‰ßHÇ$ ‰D$1Àè‚ÿÿA¶E L "Þ H íÚ 1öA¸5ºH‰ßHÇ$ ‰D$1ÀèÊÿÿA¶E L Þ H ·Ú 1öA¸6ºH‰ßHÇ$ ‰D$1Àè”ÿÿA¶E L äÝ H Ú 1öA¸7ºH‰ßHÇ$ ‰D$1Àè^ÿÿA¶EL ÁÝ H KÚ 1öA¸8ºH‰ßHÇ$‰D$1Àè(ÿÿA¶EL ¡Ý O,4H Ú 1öA¸9ºH‰ßHÇ$MuP‰D$1Àèê€ÿÿA‹EPL wÝ H ØÙ 1öA¸:ºH‰ßHÇ$‰D$1Àèµ€ÿÿA‹FL TÝ H £Ù 1öA¸;ºH‰ßHÇ$‰D$1À耀ÿÿA‹FL 5Ý H nÙ 1öA¸<ºH‰ßHÇ$‰D$1ÀèK€ÿÿA·F L Ý H 8Ù 1öA¸>ºH‰ßHÇ$Ñø‰D$1Àè€ÿÿA·FL ûÜ H Ù 1öA¸?ºH‰ßHÇ$Mu`‰D$1ÀèÙÿÿA‹E`L ÚÜ H ÇØ 1öA¸@ºH‰ßHÇ$ ‰D$1Àè¤ÿÿA¶EdL ¿Ü H ‘Ø 1öA¸AºH‰ßHÇ$$‰D$1ÀènÿÿA¶EeL £Ü H [Ø 1öA¸BºH‰ßHÇ$%‰D$1Àè8ÿÿA·FL ˆÜ H %Ø A¸Cº1öH‰ßHÇ$&‰D$1ÀèÿÿA‹FL pÜ H ð× 1öA¸DºH‰ßHÇ$(AƒÇ‰D$1ÀèÉ~ÿÿA‹F L QÜ H ·× 1öA¸EºH‰ßHÇ$,‰D$1Àè”~ÿÿA·D$ A9Ç‚õúÿÿHƒÄ([A\A]A^A_ÉÃfDULøòÿÿHAòÿÿE1É1ÉH‰åHƒìH‹öÃ1H‰$èµqÿÿÉÃUI‰ðH‰ÐH‰ÎH‰åHƒìI‹A‹H@D·B IÁàMD@HƒÂ@fL9Âs3Iƒè@A;HuñM…Àt$H ¤Û H¡Û H‰ÇIƒÀ01Àèð>ÉH˜Ã@H‹yÃ1L ÚÓ H ÃÖ A¸Rº¾H‰$1Àè¨}ÿÿ1ÀÉÃ@U1É1ÒH‰åH‰]àL‰eèI‰üL‰mðL‰uøHƒì I‰õè9ÿÿÿLpL‰÷è]ëÿÿH…ÀH‰Ãt-L‰ñH‰ÂL‰îL‰çèÿÿÿH‰ØL‹d$H‹$L‹l$L‹t$ÉÃ@H‹5ÙÂ1L‰çè¹~ÿÿëÓ€UH‹FXH‰åH‹pÉénÿÿÿfffff.„UH…ÿH‰åt¶w ÉH=;Ô1é…ÿÿfD¸ÉÃf„UH‰åAWI‰ÿAVAUATI‰ôSHì¨H‹FXL‹pI‹¶E‹F@·~ ·ÇHÁàH\0@HF@€H9؃ÿHƒë@D;CuíAöD$<…÷·ÿ1ÀH‰ò…ÿA¹ÿÿÿÿuéVf€ùtIƒÀHƒÂ@9ø}¶JH€ùuçA‰ÁƒÀHƒÂ@9ø|éAƒùÿ„#McÉIÁáB¶DH<„2<…êI‹D$(DWÿE1ɃïH‹@H‰…HÿÿÿëfD‰øD)ȃøÿ„AƒÁD‰ÐD)ÈH˜HƒÀHÁàD;D0u׉øD)ȃøÿuéð„ƒèƒøÿtÆHcÐH‰ÑHÁá€|HuçHBL­PÿÿÿHÁâHLpH%Ù HÁàL‰ïD‹DL4¾€1Àè`<E1ÉE1ÀL‰îL‰áºL‰ÿHÇ$èϦÿÿH…ÀI‰Å„‘1ÀH…Ût·CA‰EHAÇETL‰÷èþÿÿIu IT$H ÔíÿÿA‰ELL‰ÿèhƒÿÿH ±íÿÿH5ºýÿÿM‰è1ÒM‰áL‰ÿèziÿÿH…ÀI‰Å„R1ÀH…Ût·CA‰EHAÇETAÇEL@HĨL‰è[A\A]A^A_ÉÃf.„1ÛAöD$<„ þÿÿ¾L‰ÿè•ÙÿÿH‹5À1I‰ÀE1ÉL‰á1ÒL‰ÿHÇ$èã¥ÿÿI‰ÅÇ@LIT$Iu H íÿÿL‰ÿè¡‚ÿÿ뀀H‹¹¿1L Ñ H Ó A¸Îº¾L‰ÿE1íH‰$1Àèâyÿÿé>ÿÿÿD¾L‰ÿèûØÿÿL‰öI‰ÅL‰ÿèüÿÿE1ÉM‰è1ÒH‰ÆL‰áL‰ÿHÇ$è?¥ÿÿI‰Å1ÀH…Ût·CI‹žA‰EHAÇET·C f…Àtu·ÀE‹N@1öD@ÿxþë‰ø)ðƒøÿtWƒÆD‰À)ðH˜HƒÀHÁàD9LuÞ‰ø)ðƒøÿu ë3ƒèƒøÿtÑHcÐH‰ÑHÁá€| HuçHÁâH|@è üÿÿA‰ELéÇþÿÿ1ÿëîH‹¾1L .Ï D‰D$A¸³H‰$H ØÑ º¾L‰ÿ1ÀE1íèÁxÿÿéþÿÿ@H‹…HÿÿÿL "Ï A¸H‰D$H‹@¾1H‰$ë³H‹…HÿÿÿL 4Ï A¸‰H‰D$H‹¾1H‰$ëH‹…HÿÿÿL 6Ï H WÑ A¸–º¾L‰ÿH‰D$H‹à½1H‰$1Àè-xÿÿé‰ýÿÿ„U1ÿH‰åSHƒìè@º‰Çè©?èäE‰ÃèÝEHƒÄØ[ÉÃ@UƒþH‰åAVA‰öAUEíA÷ÕATAƒå A¼SH‰ûë/f.„è«ÞD‰âH‹H¶ öDH t'E…äDˆ*tAƒìE…ötÖD‰âH€:tãf.„[A\A]A^ÉÀUH‰åAWAVAUATSHƒìHH‹FX…ÒH‰}¸H‰uȉUÄH‹XL‹³E·f „ìE1íE…äuë3fDL‹³IcžAƒÅHÁàI|pèÿÿÿE9ìÚL‹³A·N 1ÒÁá…Ét#ƒéIF@1ÒItA€¶HƒÀÊH9ðuòfA‰V¾H‰ßèæÿÿD‹EÄH‹UȹÿÿÿÿH‹5L¼1H‹}¸è[pÿÿ¾H‰ßA‰ÆèëåÿÿE…ät(E1íIcý1öAƒÅHÁçHƒÇpH»èsþÿÿE9ìÞHƒÄHD‰ð[A\A]A^A_ÉÃèG„ÿÿH…ÀI‰Ç„ùH‹p8H‹=à»1è+j…À„I‹G Mo I9ÅLHð„1ö1ÒI‹AXH‹@L‹€A·@ f…Àt*·Àxÿ1ÀHƒÇHÁçA·LBf9ñr‰ÎL‰ÊHƒÀ@H9øuçI‹AI9ÅLHðu°H…Ò„$‹C@ƒøÿ„¨H‹‹·q HÁæH|@HƒÁ@H9ùƒ;Hƒï@;GuîH‰U¨èrøÿÿƒøH‹U¨„H‹“HƒÈÿ·z …ÿ„ÐH‰ÑAƒÈÿ1Àë@€þ„éƒÀHƒÁ@9ø©¶qH@€þuÝA‰ÀëâL‹³Aƒ~(ÿ„ÑýÿÿAÆFpAÆFIþH‹UÈAÇF(ÿÿÿÿfAÇF AÇFDÿÿÿÿfAÇFBfAÇF@H‹B(fAdž€H‹@ AÆFHA‰FXI†€‹S@Æ@0Æ@ þH‹MȉPfÇ@H‹Q(H‹R Æ@‰PL‹³éIýÿÿIcÀHƒÀHÁàfAƒDI‹G I‰ÖI9ÅHHð„#ýÿÿD‰e´L‰úI‰ÜH‰ËH‹CXI~@H‹pA·F ‹N@HÁàJD0@H9Çs.Hƒè@;HuòH…Àt fƒ@H‹CI9ÅHXð„\M‹´$믃ùÿ„ÅH‹B I9ÅLPð„‡1ÿE1ÛfDI‹BXH‹@L‹ˆA·A f…Àt0·ÀD@ÿ1ÀIƒÀIÁàfDA·LBf9ùr‰ÏM‰ÓHƒÀ@L9ÀuçI‹BI9ÅLPðuªM…Û„I‹CXH‹HA·F fƒø~‡JÿÿÿD·ÀƒÀH‰U¨MHfA‰F ‹F@H‹±H‰M˜M‰ÏL‰E L‰MIÁçC‰D>·FB·v\fC‰D>L‰ÀHÁàfA‰t\H‹r8I|pHƒÆè/gH‹U¨fCÇ>H‹M˜L‹E L‹M‹BLƒø „Ôƒø@…»þÿÿCÆD> H‹IÁàIÁáCÆD‹@XC‰DXé“þÿÿH‹B L‰ãI‰×D‹e´I9ÅLpð„þÿÿI‹FX1ÿL‹XM‹‹E·Q Iq@E·ÂfD9Çã€~…õI‹W I9ÕHBðt6H‹PX‹NH‹R;J@uéÓH‹PXH‹R9J@„¿H‹PI9ÕHBðuâAƒêHcÇA·ÒHÁàfE‰Q HÁâJD@E·ÂJT @H9Ѓ{ÿÿÿL‹@@HH@H9ÑL‰L‹AL‰@L‹AL‰@L‹AL‰@L‹A L‰@ L‹A(L‰@(L‹A0L‰@0L‹A8L‰@8H‰ÈrµM‹‹E·Q E·ÂD9ÇŒÿÿÿI‹FI9ÅLpð…ãþÿÿéáüÿÿfDHƒÆ@ƒÇéìþÿÿL‰ãD‹e´éúÿÿH˜éËüÿÿ1ÿéÇûÿÿfAÇF L‹³é÷ùÿÿ1ÀH‰U¨H‰u èùÿÿH‹u M‹´$H‹U¨‰F@éýÿÿCÆD> é0þÿÿ1ÀH‰U¨èÒøÿÿH‹U¨‰C@éAûÿÿH‹BXI~@H‹@H‹°·V HƒÆ@fA‰V HÁâèý‘éSûÿÿ„UHHE1ÉE1À1ÉH‰åHƒì H‹:¶1HÇ$H‰D$HH‰D$HÒH‰D$èHkÿÿÉÃfDUH‰åH‰]ØL‰eàI‰ôL‰mèL‰uðI‰ÍL‰}øHƒì@H‹I‰Ö‹Q@I‰ÿ·H HÁáH\@HƒÀ@DH9؃/Hƒë@;SuîH…Û„H‹žµ1¹L‰æL‰ÿèaÿÿ1ÒH…ÀI‰D$X„¬I‹V H¹ÿÿÿÿÿÿHÇ@L‰hM‰t$(H= Ç1HƒêH!ÊA‹H‰HPHÇB H‰HI‹…H‰BHMÇ1ºI‰D$0¶s èºwÿÿH‰ßA‰D$8è]òÿÿA‰D$<‹CIÇD$@H…ÀI‰D$Ht2L‰îL‰ÿè—ñÿÿ1ÒH…ÀI‰D$ •‰ÐH‹]ØL‹eàL‹mèL‹uðL‹}øÉÃfI‹vH‹­´1L‰ÿH‹]ØL‹eàL‹mèL‹uðL‹}øÉé\ÿÿ„H‹´1L Æ H ËÇ ºA¸–¾L‰ÿH‰$1Àè­nÿÿ1Òé|ÿÿÿfDUH‰åH‰]ØL‰eàH‰óL‰mèL‰uðI‰ýL‰}øHƒìPD‹ºL‹F M)øIÁà L‰ÇL‰EÈèPÜÿÿH…ÀI‰ÄL‹EÈttL‹5õ³1H‹SIÁç M‰ùH‰ÁL‰ïL‰öèdÊÿÿ…À„¤H‹SL‰öM‰ùL‰áL‰ïA¸"èñŒÿÿL‰çè ÛÿÿH‰ÚL‰öL‰ïH‹]ØL‹eàL‹mèL‹uðL‹}øÉé6ŒÿÿfDH‹CL -Å A¸ H‰D$H‹k³1H‰$H ¸Æ L‰ïº¾1Àè¤mÿÿH‹]ØL‹eàL‹mèL‹uðL‹}øÉÃfDL‰çè€ÚÿÿH‹CL õÄ L‰4$A¸¦H‰D$ë¥@UºH‰åH‰]ØL‰eàI‰ôL‰mèL‰}øI‰ýL‰uðHƒìPL‹=Ú²1L‹v L‰þèæ]ÿÿH…ÀH‰Ãtbº L‰þL‰ïèÎ]ÿÿH…ÀH‰ƒt1MNÿI‹T$A¸H‰ÙL‰þL‰ïIÁá èÉÿÿ…Àu=H‹»èÑÙÿÿHǃH‰ß1Ûè¼ÙÿÿH‰ØL‹eàH‹]ØL‹mèL‹uðL‹}øÉþH‰ßèóÛÿÿ;Mü7u®»MTPDu¢¶C?<tG¶ÀL Ä L‰<$‰D$A¸N€H QÅ º¾L‰ï1Àè=lÿÿé[ÿÿÿ„I‹D$L Å H Å L‹³A¸ïº¾L‰ïL‰<$H‰D$1ÀèókÿÿD‹‹I‹T$A¸L‰ñL‰þL‰ïIÁá èÿÇÿÿ…À„·¾H‰ßèÛÿÿA‹=Äe…¼A·F fA;Fƒüf…À„ófAƒ~ @…Kfƒø‡aAƒ~†¤fAƒ~ „æM~pE1äë'DIÁå1öAƒÄK|.pèTóÿÿA·F A9ă¶E‰åL‰èHÁàA€|puÌI|pºL‰þè2fë¸I‹D$L Ü L‰<$A¸õH‰D$é˜þÿÿI‹T$L ä H Ýà ‰D$A¸þ¾L‰ï1ÀÇD$ÄeH‰T$ºL‰<$è®jÿÿéÌýÿÿf„I‹D$L Ü L‰<$A¸H‰D$é(þÿÿH‹»‹K@·G HW@HÁàHD8@DH9ÂsHƒè@;Huò€x …Œýÿÿémýÿÿ1ÀëêI‹D$L ¨Â L‰<$A¸H‰D$éÄýÿÿD‹‹·ÀI‹T$D@ùIŽL‰þL‰ïAƒÁAÁàIÁá E‰ÀèÆÿÿ…À„ýÿÿ¾H‰ßè3ÙÿÿéQþÿÿH‹³1Ò·N Áá…Ét&ƒéHF@HtAfD¶HƒÀÊH9ðuòâÿÿA·F9ЄþÿÿI‹L$L  ‰D$‰T$A¸º¾L‰ï1ÀH‰L$H R L‰<$èIiÿÿéÒýÿÿH‹FHUH‰åH‹PH‹GHH‹@¶R3:P3É’À¶ÀÃffff.„H‹F UH‰åH‹@HH‹PH‹G H‹@H‹R,H‹@;P,É’À¶ÀÃfDU‹J H‰åùýxZt1ÀùðxZtÉÃD1À€z3É–ÀÃDH‹FXU¹@H‰åH‹P¸ €z2DÁ‰GL¶J11À„Ét°Óà‰GHÉÃffff.„H‹GXUH‰åH‹@¶@0ÉÃfffff.„‹Bÿÿÿ¾L‰ïè*¶ÿÿ¾L‰ïH‰Ãè¶ÿÿH‹@I‰$L‰cL‰ I‰D$éÿÿÿA€~ u©I‰ÙM‰àL‰ïH‹]àL‹eèH úÿÿL‹mðL‹uøH3úÿÿÉH5 éFEÿÿfDUH‰åL‰uðL‰}øA‰ÖH‰]ØL‰eàI‰ÿL‰mèHƒì0H‹FXH;· L‹`A‹L$…ÉtH4· H7· E…öHEÐE¶D$"1ö1ÿ1Àè@LcèIƒÅL‰ïèÄÿÿH…ÀH‰Ã„…A‹L$Há¶ …Éu]E¶D$"L‰îH‰ß1Àè¾-H‰ßè…RHƒøHsL‰ÿHÀHƒàþI)ÅIUöèW¿ÿÿH‰ØL‹eàH‹]ØL‹mèL‹uðL‹}øÉÃfDH†¶ H‰¶ E…öHEÐëŒH‹5I›1L‰ÿèWÿÿë¸ffffff.„UA‰ÐH‰òH‹5"›1¹ÿÿÿÿH‰åÉéOÿÿ@UE1ɹ01ÒH‰åHƒì H‹÷š1L‹F HÇD$H‰D$H.Iƒè H‰D$HÎøÿÿIÁà H‰$èáOÿÿÉÃffffff.„UH‰åH‰]ØL‰eàI‰ÌL‰mèL‰uðI‰ÕL‰}øHƒì0L‹=‡š1¹H‰óI‰þL‰úèäEÿÿ1ÒH…ÀH‰CX„™I‹U H¹ÿÿÿÿÿÿHÇ@0L‰`L‰k(Hƒê H!ÊA<$ýxZH‰Hž­1ºH‰C0¸D‰C8A‹D$…À……ÇC<HÇC@H‹CXH‹H…ÀH‰CHt>1ÒA€|$ H‰ÞL‰÷”Âèˆýÿÿ1ÒH…ÀH‰C •‰ÐH‹]ØL‹eàL‹mèL‹uðL‹}øÉÃ@I‹uL‰úL‰÷H‹]ØL‹eàL‹mèL‹uðL‹}øÉéü@ÿÿ@A¶t$H=ˬ1èÖ[ÿÿƒø ‰C® H Ì© 1öA¸¤ºD‰l$‰D$IFL)øH‰$1Àè‡HÿÿA‹FH‹}ÈL ® H Ž© 1öA¸¦ºD‰l$‰D$IFL)øH‰$1ÀèIHÿÿA‹FH‹}ÈL ® H P© 1öA¸§ºD‰l$‰D$IFL)øH‰$1Àè HÿÿA‹FH‹}ÈL ä­ H © 1öA¸©ºD‰l$‰D$IFL)øH‰$1ÀèÍGÿÿA¶F H‹}ÈL Í­ H Ó¨ 1öA¸«ºD‰l$‰D$IF L)øH‰$1ÀèŽGÿÿA¶F!H‹}ÈL ¶­ H ”¨ 1öA¸­ºD‰l$‰D$IF!L)øH‰$1ÀèOGÿÿA¶F"H‹}ÈL 'ª H U¨ 1öA¸®ºD‰l$‰D$IF"L)øH‰$1ÀèGÿÿA¶F#H‹}ÈL `­ H ¨ A¸°ºD‰l$‰D$IF#L)ø1ö1ÛH‰$1ÀèÏFÿÿA·F$H‹}ÈL G­ H Õ§ A¸²º1öD‰l$‰D$IF$L)øH‰$1ÀèFÿÿA¶F&H‹}ÈL 0­ H –§ A¸´º1öD‰l$‰D$IF&L)øH‰$1ÀèQFÿÿA¶F'H‹}ÈL ­ H W§ A¸¶º1öD‰l$‰D$IF'L)øH‰$1ÀèFÿÿë ƒÃAƒìtW‰ØHƒÀA‹T†…ÒtèID†H‹}ÈL è¬ H þ¦ ‰T$1öL)øA¸»ºH‰$1À‰\$D‰l$ƒÃè¶EÿÿAƒìu©A‹FPH‹}ÈL ɬ H ·¦ A¸Àº1öD‰l$A¼‰D$IFP1ÛL)øH‰$1ÀèjEÿÿA‹FTH‹}ÈL ³¬ H q¦ A¸Âº1öD‰l$‰D$IFTL)øH‰$1Àè,EÿÿA¶FXH‹}ÈL ¤¬ H 2¦ A¸Åº1öD‰l$‰D$IFXL)øH‰$1ÀèíDÿÿA¶FYH‹}ÈL ¬ H ó¥ A¸Çº1öD‰l$‰D$IFYL)øH‰$1Àè®DÿÿA¶FZH‹}ÈL v¬ H ´¥ A¸Éº1öD‰l$‰D$IFZL)øH‰$1ÀèoDÿÿA¶F[H‹}ÈL _¬ H u¥ A¸Ëº1öD‰l$‰D$IF[L)øH‰$1Àè0DÿÿA·F\H‹}ÈL H¬ H 6¥ A¸Íº1öD‰l$‰D$IF\L)øH‰$1ÀèñCÿÿA·F^H‹}ÈL 9¬ H ÷¤ A¸Ïº1öD‰l$‰D$IF^L)øH‰$1Àè²Cÿÿ‰ØHƒÀA‹†…҅ЃÃAƒìuå1ÀI^pL‰u¸A‰Æ‹H‹}ÈL -¬ H “¤ 1öA¸ÝºD‰l$D‰t$‰D$H‰ØL)øH‰$1ÀèJCÿÿ‹CH‹}ÈL ¬ H R¤ 1öA¸àºD‰l$D‰t$‰D$HCL)øH‰$1ÀèCÿÿ‹CH‹}ÈL ¬ H ¤ 1öA¸ãºD‰l$D‰t$‰D$HCL)øH‰$1ÀèÆBÿÿ·C H‹}ÈL ¬ H Í£ 1öA¸æºD‰l$D‰t$‰D$HC L)øH‰$1ÀèƒBÿÿ¶CH‹}ÈL ü« H Š£ 1öA¸èºD‰l$D‰t$‰D$HCL)øH‰$1Àè@Bÿÿ¶CH‹}ÈL é« H G£ 1öA¸êºD‰l$D‰t$‰D$HCL)øH‰$1ÀèýAÿÿ¶CH‹}ÈL Ö« H £ 1öA¸ìºD‰l$D‰t$‰D$HCL)øH‰$1ÀèºAÿÿ¶CH‹}ÈL ë H Á¢ A¸îº1öD‰l$D‰t$‰D$HCL)øH‰$1ÀèwAÿÿ¶CH‹}ÈL °« H ~¢ A¸ñºD‰l$D‰t$‰D$HCL)ø1öE1äH‰$1Àè1Aÿÿ¶CH‹}ÈL ¢« H 8¢ A¸óº1öD‰l$D‰t$‰D$HCL)øH‰$1Àèî@ÿÿAºL‰}ÀE‰ïE‰Õë@AƒÄAƒít_D‰àHƒÀ‹Tƒ…ÒtçHDƒH+EÀH‹}ÈL S« H Á¡ ‰T$ 1öA¸÷ºD‰d$D‰t$AƒÄH‰$1ÀD‰|$èu@ÿÿAƒíu¡¶CE‰ýL‹}À„ÀtfE1äDD‰àH‹}ÈL "« HƒÀ H \¡ 1ö‹ƒHƒA¸ûD‰d$D‰t$AƒÄL)øD‰l$‰T$ H‰$º1Àè@ÿÿ¶C¶ÐA9Ôr¢H‹U¸€zXthAƒÆAƒþt^¶ÀƒèH˜H\ƒ4éJüÿÿ@I†H‹}ÈL I¨ H ×  ‰T$A¸ÔL)øº1öH‰$1À‰\$D‰l$è’?ÿÿéíûÿÿDA¶G9AƒÅA9Å‚^öÿÿHƒÄX[A\A]A^A_ÉÀUH‰åHƒì Hƒz`tQH‹F8L Vª H \  A¸R¾H‰D$H‹B(ºH‹@H‰D$H‹æ„1H‰$1Àè ?ÿÿ1ÀÉÀƒz<tj‹%ƒà ƒø t[H‹F8L (ª H öŸ A¸\¾H‰D$H‹B(ºH‹@HÇD$H‰D$H‹w„1H‰$1Àèœ>ÿÿ1ÀÉĸÉÃf„UH‰åATI‰üS¶„Ût}èZ¥LsÀ11Ò¿;H‹H¾óöDq u€û:HcÊD߃ÂAˆA¶\$IƒÄúþv4HcƒúH=/À1AÆ~Htðºè©L[HÀ1A\ÉÃD„Ûu˜ëÆÆû¿1ëàf„UH‰åL‰mðH‰]àI‰ýL‰eèL‰uøHƒì H‹~H…ÿu1ÀH‹$L‹d$L‹l$L‹t$ÉÃDA¶]8èÿÿÿI‰Æ…ÛtÐHƒëºL‰÷H[HÁàM¤ØL‰æè¨7…ÀuÔL‰àë¥ffffff.„UH‰åH‰]èL‰eðI‰üL‰møH‰×Hƒì0I‰õèNÿÿÿH…ÀH‰ÃtH‰ØL‹eðH‹]èL‹møÉÃI‹EL Ѝ H ž A¸£º¾L‰çH‰D$H‹´‚1H‰$1ÀèÙ<ÿÿë±€UH‰åH‰]èL‰møH‰ûL‰eðHƒì0L‹fI‹D$XI‹t$(H‹PèRÿÿÿH…ÀI‰ÅtbI‹D$XI‹t$(H‰ßH‹Pè4ÿÿÿH…Àt#‹@¨ u1ÀH‹]èL‹eðL‹møÉĨuäA‹Eƒà÷ƒÈA‰E¸H‹]èL‹eðL‹møÉÃH‹‚1L -Ÿ H @ H‰ßA¸\º¾H‰$1Àè<ÿÿ1ÀH‹]èL‹eðL‹møÉÃDUHƒîH‰åL‰eðL‰møI‰ýH‰]èHƒì H‹^`H‹v(H‰ßèåýÿÿI‹uI‰ÄH‰ßèÖýÿÿI9ÄH‹]èL‹eð’ÀL‹mø¶ÀÉÃffffff.„UH‰åAUI‰õATLg SHƒìH‹G I9ÄHXðt:€H‹C(H…ÀtH‹xèÖüÿÿºL‰îH‰Çè†5…ÀtH‹CI9ÄHXðuÍ1ÛHƒÄH‰Ø[A\A]ÉÃDUH‰åAVE‰ÆE‰öAUA‰ÍATA‰ô‰ÎSH‰ûH‰×è èÿÿ¶K8H‰ÆHIHÁâIH¼غ¤@öÇ…ø@öÇ…@öÇ…‰Ñ1ÀÁéö‰ÉóH¥t ‹‰¸öÂt · f‰ HƒÀƒât¶ˆD‰îH‰ßèŒçÿÿI‰ÅÆ@XÆ@YÆ@~Dˆ ‚¶C8ƒø~%L‰ê1À„‰‚ ¶K8ƒÀHƒÂƒé9ÁèE¶µ€MepL‰æAƒîMcöIƒÆ BµHcÛI<H‰ÚèG[A€}H[H“ÀAÁæ÷ÐE)îƒÀAˆD•~C&[A\A]A^ÉöHƒÆ²£ˆHƒÇ@öÇ„ùþÿÿ·ƒêHƒÆf‰HƒÇ@öÇ„èþÿÿ‹ƒêHƒÆ‰HƒÇéÔþÿÿfUH‰åH‰]ØL‰mèI‰õL‰uðL‰}øI‰ÖL‰eàHƒì@L‹f@H‹v8I‰ÿºH‰ÏH‰ËM…äMDàèl4L‰àD‰cÇC HÁè Aƒ}T@‰C„¬M…ö„A‹Fp…ÀtKHsp1ÉL‰âL‰ïèªæÿÿ‹CtA;Fp‡¨€{X¸tAH‹]ØL‹eàL‹mèL‹uðL‹}øÉÀA‹NtHspL‰âL‰ïÁèWæÿÿ€{X¸u¿A‹E41ÉL‰âL‰ïHœƒ H‰Þè0æÿÿÆC¸ë˜D1ÀAƒ}4wˆCXÆCYé?ÿÿÿAƒ}LÆCY”ÀˆCXé(ÿÿÿ@H‹~1L ò£ H X™ A¸¿º¾L‰ÿH‰$1Àè8ÿÿ1Àé)ÿÿÿfDHsp1ÉL‰âL‰ïèŸåÿÿéÿÿÿf.„UH‰åAWI‰÷AVAUI‰ýATE1äSHƒì¶_9A‰Þ€E9ôt3ƒëL‰ïAƒÄ‰ÞèÂäÿÿL‰ÿH‰Æè§:H…ÀtÚHƒÄ‰Ø[A\A]A^A_Éûþÿÿÿëçf„UH‰åAVAUI‰ýATSHƒìƒ~T@„„1ÀöFL„}H‹^LvL9ótkL‹%}1ë,fLÙ÷ÿÿHòãÿÿE1É1ÉH‰ÞL‰ïL‰$$èŽ*ÿÿH‹L9ót6HCH9CuÌL¥÷ÿÿHžãÿÿE1É1ÉH‰ÞL‰ïL‰$$èZ*ÿÿH‹L9óuÌf¸HƒÄ[A\A]A^ÉÃfffff.„UH…ÿ¸H‰ått¶w@€þte@€þtÉH=j1@¶öé±>ÿÿ€=K1¶—€H=1tH€=.1H'1t8€=1H1t(€=1¸t¶Òf9Âr¡¸@ÉÃ@Há1·@ëàff.„UH‰ÐI‰òH‰ÎH‰åSH™ HƒìHH‹UH‹MAƒøH‹R(H‹RH‰]°H‰]ÐH™ HÇEÈH‰MØH‰MèH‰U¸Hߘ H‰]àH‰UÀw?t5D‰ÂHÁâAƒøHT°t[L‹BA‹J(H‰ÇH‹1Àè¦öHƒÄHH˜[ÉÃDHUÐë×fL £˜ H – 1ÀA¸¶º¾è[5ÿÿHƒÄH1À[ÉÃfH…Ét¶y@€ÿt_@€ÿt 1ÉHÊë‰@€=ëŽ1¶¹€H ÝŽ1tE€=ÎŽ1H ÇŽ1t5€=¸Ž1H ±Ž1t%€=¢Ž1¹t@¶ÿf9Ïr§¹ë¢H „Ž1·Iëãfffff.„UA‰ÊH‰åH‰]ØL‰mèH‰óL‰uðL‰eàI‰ýL‰}øHƒì`H‹FXƒùI‰ÖL‹x„¿E1ÛE‰ÙE‰Ð1É1ÒL‰þL‰ïD‰UÈD‰]ÀH‰\$L‰4$è>þÿÿH‹5'z1HHL‰ïH‰ÊH‰M¸è%ÿÿH…ÀI‰ÄH‹M¸D‹UÈD‹]À„„E‰ÙE‰ÐH‰ÂL‰þL‰ïH‰\$L‰4$èïýÿÿA‹O(He¶ 1öL‰ç1ÀèõIt$HcÐL‰ïèxÿÿL‰àH‹]ØL‹eàL‹mèL‹uðL‹}øÉÀH…Ò„8ÿÿÿ¶B<ti<…(ÿÿÿ€=j1¶’€H\1„€=I1HB1„€=/1H(1„ì€=1¸„Ó¶Òf9‚ÇþÿÿH‹s(L‰ÿD‰UÈè^õÿÿH…ÀD‹UÈ„ªþÿÿ€=ìŒ1HåŒ1„€=ÒŒ1HËŒ1„|€=¸Œ1H±Œ1tl€=¢Œ1¾tWHcÖHƒê@…ötlH RƒîHƒêHÁáIŒØH9ÈuàA‰óAÁëAóAÑûé*þÿÿfDH‹5qx1L‰ïè)4ÿÿé¬þÿÿH=Œ1·rëœH0Œ1·@éÿÿÿ€E1äé€þÿÿ„UH‰åH‰]ØL‰eàH‰ûL‰mèL‰uðI‰õL‰}øHƒìpL‹=x1H‰U¸I‰ÎL‰þèøLÿÿI‰Ä1ÀM…ä„‚¹L‰úL‰îH‰ßL‰eÈè3#ÿÿH…ÀI‰D$X„H‹E¸ö€ð…”A¶F~<‡'L‹eȺ¤L‰þH‰ßèƒ"ÿÿH…ÀI‰D$`„MH‹EÈL‰öH‹x`¸¤@öÇ…K@öÇ…¡@öÇ…·‰Á1ÒÁ騉ÉóH¥t ‹‰º¨t · f‰ HƒÂ¨t¶ˆH‹EÈL‰þH‰ßL‹`XI‹EXH‹I‰$H‹PI‰T$H‹Pèè!ÿÿH‹UÈI‰D$I‹EXH‹RXH‹pH‹zH‹PèFRL‹eÈL‰÷è:úÿÿƒøA‰D$<„¼L‹eȹL‰òL‰îH‰ßèüÿÿH…ÀI‰D$ tcH‹EÈI‹U(H‰P(I‹U0H‰P0A‹VpH‰P@A‹VtêH…ÒH‰PHt@H‹]ØL‹eàL‹mèL‹uðL‹}øÉÃfI‹E(L‰úH‰ßH‹pèÿÿDHuÈH‰ßèLGÿÿH‹EÈë¾fDH‹EÈL‰þH‰ßL‹`XI‹EXH‹I‰$H‹PI‰T$H‹Pèå ÿÿH‹UÈI‰D$I‹EXH‹RXH‹pH‹zH‹PèCQL‹eÈ1É1ÒL‰îH‰ßAÇD$<è'ûÿÿH…ÀI‰D$ „qÿÿÿH‹EÈI‹U(I‹M0H‰P(H‹R H‰H0HƒêH‰PHéÿÿÿ@I‹U(L‰t$¶ÀL }› H ³ A¸’¾H‰ßH‹R‰D$1ÀL‰<$H‰T$ºèk/ÿÿHuÈH‰ßèOFÿÿH‹EÈé¾þÿÿfDA¶IvˆHƒÇ¸£éýÿÿ„A¶FL „p H : A¸Çº¾H‰ßL‰<$‰D$1Àèû.ÿÿéŽþÿÿfD·ƒèHƒÆf‰HƒÇéIýÿÿf.„‹ƒèHƒÆ‰HƒÇé5ýÿÿfff.„UH‰åAWI‰÷¾AVI‰þAUATSHƒìHè¿ÿÿI‹w E1É1ÒI‰ÀL‰ùL‰÷HÇ$èZÿÿH…ÀH‰E¸„ùI‹GXH‹u¸IWH `òÿÿL‰÷H‹@HƒÆ I‰G`è¼6ÿÿH‹E¸IÇG`ö@L…æI‹GXL‹`Aö„$ð…A€|$9„ÓH‹E¸E1íHƒÀH‰E¨é…€€ú„H‹U¸H‹p LBL <ÛÿÿH‰ÁºL‰÷H‰$èXYÿÿH…À„H‹UÈHp H °ñÿÿÇ@TL‰÷AƒÅH‹Z`L‰b`HƒÂè6ÿÿH‹EÈH‰X`A¶D$9A9Ń:D‰îL‰çèoÚÿÿL‰âH‰ÁL‰þL‰÷H‰ÃèëúÿÿH…À„ÒH…ÛH‰EÈ„Vÿÿÿ¶S€ú…@ÿÿÿ¹H‰ÚH‰ÆL‰÷èUøÿÿL‹E¨H‹MÈL †ÚÿÿºH‰ÆL‰÷H‰E°H‰$èŽXÿÿH…ÀH‰Â„ÒH‹EÈéþþÿÿf„€=‹†1¶‹€H}†1tp€=n†1Hg†1t`€=X†1HQ†1tP€=B†1ºt;¶Éf9Ñ‚ þÿÿéRÿÿÿf.„1ÒH‰U¸H‹E¸HƒÄH[A\A]A^A_ÉÀHù…1·Rë¸Ç@Léþÿÿ@H‹U¸ë¼f.„HuÈL‰÷èCÿÿ1Òë¢H‹}°H‰E è™ÿÿHuÈL‰÷èçBÿÿH‹U ëƒ1ÉL‰âL‰þL‰÷èùÿÿH…À„hÿÿÿH‹U¸H‹p E1ÉH‰ÁL‰÷H‰EÈHÇ$LBºèMWÿÿH…ÀtˆH‹UÈHp H ©ïÿÿÇ@TL‰÷HƒÂè4ÿÿH‹U¸éÿÿÿffff.„UH‰åAWL~ AVI‰öAUI‰ýATSHƒìH‹F I9ÇL`ðt`¾L‰ïèkŠÿÿH‹ë.fDI‹D$(H‹xH‹C(H‹pè…Àu H‹C0I9D$0tKH‹¾L‰ïè+ŠÿÿH9ÃuÆI‹D$I9ÇL`ðu I‹V@¸HƒêHúþwIÇF@ ë„IÇF@1ÀHƒÄ[A\A]A^A_ÉÀUHØ H‰åSH‰óHƒì‹V0JûƒùvRƒ~LH¾ tEƒêH¹ ƒúv6èñþÿÿ‰ÂH­ …Òt$‹SLH¦ ƒút…Òt!ƒâH¡ uDHƒÄ[ÉÃf„HƒÄHx [ÉÃfUH‰åAVI‰öAUI‰ýATS€9tA1ÛëDA¶E9ƒÃ9Ø~,‰ÞL‰ïèêÖÿÿL‰öH‰ÇI‰ÄèÌ…ÀuØ[L‰àA\A]A^ÉÃ@E1ä[L‰àA\A]A^ÉÃf„U¾_H‰åATSH‰ûè H…Àt*Hx¾_èùH…ÀI‰ÄtH5ÛŒ H‰ßèb,H9Øt H‰Ø[A\ÉÃDL‰çIƒÄè´!HƒøICÜH‰Ø[A\ÉÃ@U1ÀH‰åH‰]èL‰eðI‰üL‰møH‰÷Hƒì@1öHÇEÀHÇEÈHÇEÐHÇEØLmÀèÙR‰ÃƒûÿtL‰ê‰ÞL‰çè…ô…Àu!‰ßè:S¸ÿÿÿÿH‹]èL‹eðL‹møÉÀ‰ßèS‹EÀ‹UÈH‹]èL‹eðL‹møÁàÁâ Ð EÌÉÃf.„UH‰åH‰]ØL‰eàH‰ËL‰mèL‰uðI‰þL‰}øHƒìP‹A H‰ÏI‰ôI‰ÕM‰Ç‰EÌè'Õÿÿ9EÌtZI‹EL G” H M‰ A¸} º¾L‰÷H‰D$H‹ám1H‰$1Àè(ÿÿ1ÀH‹]ØL‹eàL‹mèL‹uðL‹}øÉÃfDH‹±m1¹L‰æL‰÷èÿÿH‰ÂI‰D$X1ÀH…Òt¾I‹‹K$H‰ZM‰l$(HÁè H‰H‰ÈH%þÿÿH°H9ÁHEÆH‰BHš1IÇD$@I‰D$0I‹HÁè H…ÀI‰D$H„H‰ÚL‰îL‰÷è êÿÿH…Àºt‹@¨ t¨²tºA‰T$8L‰îH‰ÚL‰÷èÚéÿÿH‰Ã‹@I‹uL‰÷ƒàƒøÀƒàúƒÀA‰D$<èÕýÿÿ1Ò‰C¹L‰æL‰÷è0òÿÿH…ÀI‰D$ •À¶ÀéÙþÿÿDI‹uH‹l1L‰÷H‹]ØL‹eàL‹mèL‹uðL‹}øÉéàÿÿUH‰åAWAVI‰öAUATI‰üSH‰ÓHƒìƒLt@H‰×èÈïÿÿƒø@A‰Å„t=„±ƒø „PHƒÄ[A\A]A^A_ÉÃf„H=‘’ 1Àè²æI‹D$ Ml$ I9ÅHXðtTL=¯z „H‹s(L‰÷è4èÿÿH…Àt'H‹C(Aƒ|$LH5¼H=í‰ H‹pIE×1ÀèXæH‹CI9ÅHXðu»HƒÄH=/¶[A\A]A^A_ÉéÑL=/‰ H=B’ è½H=B‰ H‰Þ1Àè æH=E‰ L‰þ1Àèûå‹C‹sH=B‰ HÁà H401ÀHÁîèÛå‹C‹sH=8‰ HÁà H401Àè¿åAƒý@t·s|H=’ 1À·ÖfÑî·öèžåH=‰ 1ÀèåéÙþÿÿL=ˆ éSÿÿÿ@€=Ã~1¶“€Hµ~1tR€=¦~1HŸ~1tB€=~1H‰~1t2€=z~1¸t¶ÒL=;ˆ f9ÂH7ˆ LDøéíþÿÿHO~1·@ëÖf„UH‰åAWAVAUATSH‰ûHƒìx‹VTH‰u¸ƒú@„w1ÀƒútHƒÄx[A\A]A^A_ÉÃL‹M¸H‹I‹A H‰M H‹@HH‹@H‰E°D¶p8H‹U°ÇE¨ÇEÀÿÿÿÿKvE‰ôHÁàE…öL¼¼„Ÿ@ANÿ¾H‰ß‰MÈèƒÿÿL‹M°L‹ KvHÁàM¬¨ë)I‹|$èFåÿÿºL‰îH‰Çèö…À„®M‹$$¾H‰ßèÍ‚ÿÿI9ÄuÈA‹GƒE¨AÇÿÿÿÿƒà÷ƒÈA‰G‹UÈIƒîIƒï0E…öE‰ô‰UÀ…eÿÿÿƒ}¨…Aƒ}Àÿ„{H‹U ¹1öH‰ßèþJÿÿI‰ÅH‹P IM H9ÑHBðuéàDH‹PH9ÑHBð„ʃx8@uéL‹p(M…ö„ÉH‹ Åh1I‹FL V‡ A¸‘ º1öH‰ßH‰M˜H‰ $H èƒ H‰D$1Àè¿"ÿÿL‰îH‰ßèDêþÿH‹u˜ºH‰ßècÿÿH…ÀI‰Å„ÁAöÅH‰ÇH‹u°¸Ø…1@öÇ…@öÇ…ó‰Á1ÒÁ騉ÉóH¥t ‹‰º¨t · f‰ HƒÂ¨t¶ˆH‹u˜º0H‰ßèèÿÿH‰E¨1ÀHƒ}¨„¿H‹U¨I‹F H‰ßI‹v‰BèÐøÿÿH‹M¨I‹~‰AÇA:èiãÿÿH‹}¨ºH‰ÆèøL‹M°A€y8„âH‹}°D‹MÀM…ØL‹U°L‹]¨1ÉHÇØf„HE9áIIDÃAƒÄHƒÁ0H‹0H‰2H‹pH‰rH‹pH‰rH‹pH‰rH‹p H‰r H‹@(H‰B(A¶B8A9Ä|±McäKdHÁàIÀHcEÀ1ÉH@HÁàHÇH‹I‰H‹GI‰@H‹GI‰@H‹GI‰@H‹G I‰@ H‹G(L‰ïI‰@(KdE1ÀHÁàAÇ„ðA€E8H‹U°‹uÀè¹åÿÿA‰ÄH‹E°€x9v‹uÀE‰à¹H‰ÂL‰ïè–åÿÿAÄA¶E8AƒE,L‰ï@ÁàA„ØA‰E$èoÍÿÿH‹U¸A‰E H‹z8èîH‹M L‰ïHtè}èÿÿ…Àˆ‰ÆL‰ïèkÍÿÿH‹U 1öH‰E°¹H‰ßèHÿÿH‹P HƒÀ H‰EÈH9ÐLbð„)MML‰uÀL‹}˜L‹u°L‰M éGH‰Ïè ÿÿ¹L‰úL‰æH‰ßè'ÿÿH…ÀH‰ÁI‰D$X„}H‹EÀHëy1L‰þH‰ßH‰MI‰T$0ºI‰D$(è}ÿÿH‹ML‰îH‰AI‹D$XH‹x¸@öÇ…Í@öÇ…Ü@öÇ…¥‰Á1ÒÁ騉ÉóH¥t ‹‰º¨t · f‰ HƒÂ¨t¶ˆA‹NpE‹NtI‰L$@M‰L$HA‹L$P…Éu AÇD$PA‹U$H‰ÐH%þÿÿHˆH9ÂI‹T$(HEÁI‹L$XH‰AH‹R HÁè HƒêH)ÂAƒ|$8@H‰„EI‹D$H9EÈAÇD$8L`ð„ÅI‹L$XH…É„³þÿÿH‹yH…ÿt诋ÿÿI‹L$XH…É„—þÿÿAƒ|$8@„ƒþÿÿºH‰ML‰þH‰ßèAÿÿH‹MH‰AI‹D$XH‹PH…Ò„þöÂH‰×L‰î¸…ß@öÇ…¿@öÇ…¡‰Á1ÒÁ騉ÉóH¥t ‹‰º¨t · f‰ HƒÂ¨„Îþÿÿ¶ˆéÂþÿÿf‹EÀ‰EÈévúÿÿ‹Ãw1D‹nLƒø„W A9Å„N H®w11ÉëfDHƒÀA9Õt ‹ƒÁƒúuíH~w1HcɶÈH‹M¸H‹AHƒÁH9È„7„Ò….ƒxL@…$L‹M¸AÇALH‹E¸Hƒx8„V¾H‰ßèˆ|ÿÿH‹D‰mÀH‰]ÈI‰ÅH‹}Ⱦèl|ÿÿI9Å„¯Aƒ}L…YM‹eM}M9ü„lH‹M¸H‹Y8ëDM‹$$M9ü„PI‹|$8èQóÿÿH‰ÞH‰ÇI‰Æèã…Àu×H‹]ÈL ë€ H ê} D‹mÀA¸›º¾1ÀL‰4$H‰ßè«ÿÿH‹M¸L ‰ A¸úº¾H‰ßH‹A8H Ÿ} H‰D$H‹Fb1H‰$1Àèkÿÿ1ÀH‹U¸D‰jLé÷÷ÿÿH‹M¸ÇALÿH‹b1L ?€ A¸õH‰$H O} 1Àº¾H‰ßèÿÿ1Àë±H‹ãa1L ìŠ A¸ H‰$H } H‰ß1Àº¾èçÿÿHƒÄx1À[A\A]A^A_ÉÃ1Àéj÷ÿÿI‹}8è&òÿÿL‹M¸H‰ÇI‰ÆI‹q8è³…À„ÌþÿÿM‹méXþÿÿI‹|$ AÇD$8H…ÿt芈ÿÿ¹L‰òL‰æH‰ßè·æÿÿH…ÀI‰D$ …‚üÿÿ1ÀH‹}¨‰Eè[ˆÿÿ‹E‰EL‰ïèMˆÿÿ‹Eéàöÿÿ‹“…Ò…L‰îH‰ßè¼âþÿH‹õ`1L ¤ A¸ª H‰$é ÿÿÿ‹@L¶5Çt1HÀt1H‰Ñ@8ð„:¨t1H ¡t1„ð:t1H ˆt1„Ý:vt1¿A¸„¿L‹M¸A‹I49ùsNHÏ~ A·ÐH‰D$H‹b`1L »‡ H ¡{ ‰T$A¸º¾H‰ßH‰$1Àèbÿÿ1Àéòýÿÿ@8ð„(:t1Ht1„:ïs1Hès1„:Ös1¾º„å9ñ†Mf…Ò„\ÿÿÿ·ÒH#~ éXÿÿÿH Ÿs1D·AA·øé,ÿÿÿ‹ƒèHƒÆ‰HƒÇéGúÿÿA¶EˆHƒÇH‹u ¸ÿéúÿÿ·ƒèHƒÆf‰HƒÇéúÿÿ‹ƒèHƒÆ‰HƒÇéKûÿÿ·ƒèHƒÆf‰HƒÇé+ûÿÿA¶EHƒÇˆ¸ÿH‹u éûÿÿL‹M¸¶ÒúÿA‰QL„óüÿÿƒú…Çûÿÿ¸é%þÿÿHÚr1·R·òéÿÿÿ¾H‰ßèAxÿÿL‹0ëM‹6¾H‰ßè,xÿÿI9Æ„¼ýÿÿM‹~L‰ÿèWH‹³H‰ÂL‰ÿè…ÀuÅL‹ š^1L‰M˜éöÿÿH‹u¸H‰ßèEíÿÿ…À…=H‹U¸ƒzL„ï H‹M¸H‹A HƒÁ H‰MÈH9ÁLpðtc¾H‰ßè©wÿÿL‹ ë1@I‹F(H‹xI‹D$(H‹pèZ …ÀuM‹L$0M9N0„zM‹$$¾H‰ßèfwÿÿI9ÄuÁI‹FH9EÈLpðuH‹ì]1L M‡ A¸H‰$éÍûÿÿL‹uÀH‹U¸H‹B HƒÂ H‰UÈH9ÂL`ð„ôIML‹}˜H‰M¸ë#€I‹D$H9EÈAÇD$8L`ð„ÃI‹D$XH…À„DH‹xH…ÿt蘄ÿÿI‹D$XH…À„(Aƒ|$8@H‰Á„ H‰MºL‰þH‰ßè'ÿÿH‹MH‰AI‹D$XHƒx„æûÿÿA‹M$H‹xH‰ÊHâþÿÿH9ÑH²I‹L$(HEÖL‰îH‰PH‹I HÁê HƒéH)Ñ@öÇH‰¸…@öÇ…ü@öÇ…Þ‰Á1ÒÁ騉ÉóH¥t ‹‰º¨t · f‰ HƒÂ¨t¶ˆAƒ|$8@…ÞþÿÿI‹|$ H…ÿt蟃ÿÿH‹U°¹L‰æH‰ßèËáÿÿH…ÀI‰D$ …­þÿÿéûÿÿ„H‹xH…ÿtèbƒÿÿ¹L‰úL‰æH‰ßèÿÿH…ÀH‰ÁI‰D$X„ÕúÿÿH‹E°H‹U°L ?p1M‰t$(M‰L$0‹@p‹RtI‰D$@I‰T$Hé•þÿÿ‹ƒèHƒÆ‰HƒÇéÿÿÿ·ƒèHƒÆf‰HƒÇéîþÿÿA¶EˆHƒÇH‹u¸¸ÿéËþÿÿI‹D$XH‹U¸E1öL‹xH‹B H9EÈL`ðt$I‹t$(L‰ÿèÂ×ÿÿHƒøI‹D$AƒÞÿH9EÈL`ðuÜA¶G8A9Æ…ZýÿÿH‹M¸D;q0…Lýÿÿ¾H‰ßè’tÿÿH‹L‹}ÈD‰m˜H‰] H‰E¨H‹} ¾èqtÿÿH9E¨„hL‹M¨AƒyL…H‹U¸H‹B I9ÇLpðt|I‹I M‰ÍÇEÀIƒÅ H‰M°HƒéH‰MÈf„L9m°t7I‹F(H‹]ÈL‹`ë@H‹CI9ÅHXðtH‹C(L‰æH‹xè»…Àu߃EÀI‹FI9ÇLpðu¶‹]À…Û…×H‹U¨H‹H‰U¨é<ÿÿÿ1ÉéÏöÿÿH‹U¸D‹mÀH‹]È‹BLédùÿÿH‹u¸1Ò1ÿèCÄÿÿI‰ÀH‹E¸L;@@‚\L‹5Z1L‰EˆºH‰ßL‰öè÷ÿÿH…ÀI‰ÄL‹Eˆ„H‹U¸1ÉH‹B I‰ÑIƒÁ I9ÁLpð„×E‰êI‰Ý‰ËI‹F(L‰EˆL‰MD‰U€H‹xèhÕÿÿHcÓH‰ÆL¶˜‚¶€8Óƒx¶H€ù„€ù„ɶÛA‰\$A½éWûÿÿ€H‹@XA½H‹@‹pH…ö„7ûÿÿL 6i H ®e A¸4º¾1ÀèzÿÿE0íé ûÿÿfH‰ÞèÈÿÿºH‰ÞL‰÷H‰EÈèÔÿÿA‰Ç‰C0H‹C LS I9ÂL`ð„ùI‰Ýé°A9ßA‰]4º„†I‹D$(L Ús H (e A¸²¾L‰÷L‰U°H‹@‰\$D‰|$H‰D$ I‹E8H‰D$H‹¥I1H‰$1ÀèÊÿÿA‹ELL‹U°ƒø „)‡3ƒø„ƒø„º@I‹D$A‰T$8I9ÂL`ð„11ÛAƒ|$<„CÿÿÿI‹D$`¶˜€ƒû….ÿÿÿAöEL@„#ÿÿÿ¶‰Ø‰Ñ1Ò÷ñ‰Ãé ÿÿÿDI‹D$H…À„zH‹PXH‹@(H‹ZH‹xè•ÄÿÿD¶c8I‰ÆE…ä„TE1íë€AƒÅE9å;IcźL‰÷H@HÁàH´Øè ý…ÀuÏéZùÿÿfE1íéPùÿÿ„E…ÿuLAöD$<tH‹UÈI;T$Hu9„ºéîþÿÿfDƒø@tË=…ÏþÿÿCÿA9Ç„ÄA9ßvϺé½þÿÿDƒúL‰ëA‰Õ…ÙøÿÿH‹C I9ÂL`ð„ŠH‰]ÈE1öE1ÿL‰Óë&€x~„¾AÇD$8I‹D$H9ÃL`ð„ËI‹D$XH…ÀtäL‹hI‹t$ L‰ïèðÉÿÿ…Àˆ˜‰ÆL‰ïèÞ®ÿÿ€xXu¨€xYu¢AƒÇAÇD$8ë¦A½ÿÿÿÿé=øÿÿDAƒÿ‡7ÿÿÿé-ÿÿÿÆE»ÇE¼¸0AºéùÿÿDAÇD$ÿÿÿÿE1íé÷÷ÿÿ€AƒÆAÇD$8é9ÿÿÿfDA½éÍ÷ÿÿDE…öH‹]È„¹ÇCTA½é©÷ÿÿ·ÐH‹C(A½H‹pèüH‹C(L gp H b A¸1öL‰÷H‹PH‰T$H‹@ºH‰$1ÀèÀÿÿéS÷ÿÿAIpD‰×D‰ÞI<ýÿÿH‹g?1L ˜k L‰|$A¸Ñ H‰$H —Z 1Àº¾H‰ßèfùþÿ1Àé,þÿÿH‹(?1L 9j A¸ H aZ ºH‰$éòýÿÿH‹ÿ>1L Ðj A¸´ H 8Z ºH‰$éÉýÿÿI‹D$8L ai A¸¹ H‰D$H‹¿>1H‰$éeÿÿÿH‹¯>1L j A¸“ H èY ºH‰$éyýÿÿI‹F(L Šj A¸¾ H‹@H‰D$H‹l>1H‰$éÿÿÿH‹\>1L ýi A¸É H •Y ºH‰$é&ýÿÿH‹3>1L Œh A¸q H‰$éýüÿÿI‹D$8L ¡h A¸v H‰D$H‹ÿ=1H‰$é¥þÿÿH‹@(L «h A¸z H‹@H‰D$H‹Õ=1H‰$é{þÿÿH‹Å=1L fi A¸Ö H‰$éüÿÿffffff.„UHØE1ÉE1À1ÉH‰åHƒì H‹‚=1HÇ$H‰D$HÏÿÿH‰D$HH‰D$èhòþÿÉÃfDUH‰åH‰]èL‰eðH‰óL‰møHƒì ‹B$L‹N L‹-+=1I‰üI‰ÀIàþÿÿIˆL9ÀLEÁIøL‰ÁHÀHÁé H÷ÐI)É%IÁá H H‹VL‰îèðÿÿH‰ÚL‰îL‰çH‹]èL‹eðL‹møÉéEÿÿDUH‰åH‰]ØL‰eàH‰óL‰mèL‰}øE1äL‰uðHƒÄ€L‹v H‰M¸H‹NI‰ÿH‹5ˆ<1H‰UÀºIƒîL‰E°IÁæ M‰ðèëðþÿH…ÀI‰Å„mH=ØZ ¹H‰Æó¦…HL`H56[ ºL‰çè ð…À~>H‹CL h H gW A¸éº1öL‰ÿL‰d$H‰D$H‹ù;1H‰$1ÀèöþÿA‹U$H‹5ã;1L‰ÿH‰ÐH%þÿÿL€H9ÂLDÀIÁè L‰ÂL‰E¨HÁâ H‰UÈè¡æþÿH…ÀI‰ÄL‹E¨„¡IÆL+uÈAöÄL‰çL‰î¸…y@öÇ…?@öÇ…M‰Á1ÒÁ騉ÉóH¥… ¨…ᨅÁIƒøvsH‹EÈH‹SIŒ$H‹5,;1M‰ñL‰ÿL€þÿÿèzQÿÿ…ÀuFL‰çE1äè;bÿÿL‰ïè3bÿÿëM‰ìL‰çE1äè"bÿÿL‰àH‹]ØL‹eàL‹mèL‹uðL‹}øÉÃf„L‰ïèøaÿÿL‰âH‰ÞL‰ÿèš·ÿÿH…Àt¸‹@¨ t±¨u­H‹EÈH‹UÀH‰H‹U°L‰2H‹E¸L‰0뀶Iƒøˆ‡4ÿÿÿë¥D· f‰ HƒÂ¨„ÿÿÿëÒf.„‹¨‰º„îþÿÿëÍD·ƒèHƒÆf‰HƒÇé«þÿÿf‹ƒèHƒÆ‰HƒÇéŸþÿÿ@A¶EI|$IuAˆ$¸ÿékþÿÿUH‹FHºH‰åH‹p‰Ð‹N‹D†@ƒáðƒàð9Èt…ÒtXƒê‰Ð‹D†@ƒàð9ÈuìA‰ÐH‹GHºH‹p‰Ð‹N‹D†@ƒáðƒàð9Èt…Òt1ƒê‰Ð‹D†@ƒàð9Èuì‰ÐÉA9ÀœÀ¶ÀÃ@A¸ÿÿÿÿ별¸ÿÿÿÿÉA9ÀœÀ¶ÀÃUH‹G ºH‰åH‹@HH‹p‰Ð‹N‹D†@ƒáðƒàð9Èt…Òt$ƒê‰Ð‹D†@ƒàð9Èuì1ÀƒúŸÀÉÃf.„1ÀÉÃfff.„H‹FXUÇGL H‰åH‹@¶H1¸ƒÁÓà‰GHÉÃf.„H‹GXU¾H‰åH‹H¸‰Â‹T‘@…Òu…Àt‰Æƒè‰Â‹T‘@…Òtí‰ðÉÃf„UH‹FH‰åH‹@XH‹@·P2âøÿt1ÀÉÃfÇ@¸ÉÃUH5˜M1H‰åÉéÏäþÿffffff.„UL ]K H f A¸CºH‰åAVI‰þAUATS»@Hƒì H‹FXL‹`H‹81H‰D$H‹F(1öH‹@H‰$1Àè÷ñþÿA¾D$L Æe H «e 1öA¸EºL‰÷‰D$A¾$HÇ$‰D$1Àè·ñþÿA·D$L e H ke 1öA¸GL‰÷HÇ$¶Ð¶Ä‰T$‰D$º1ÀèvñþÿA·D$L qe H *e 1öA¸HºL‰÷HÇ$‰D$1Àè?ñþÿA‹D$L Oe H ôd 1öA¸IºL‰÷HÇ$‰D$1Àè ñþÿA‹D$L /e H ¾d 1öA¸JºL‰÷HÇ$‰D$1ÀèÓðþÿA‹D$L e H ˆd 1öA¸KºL‰÷HÇ$‰D$1ÀèðþÿA·D$L ãd H Qd 1öA¸LºL‰÷HÇ$‰D$1ÀèfðþÿID$ L ¿d H d 1öA¸MºH‰D$L‰÷1ÀHÇ$ è/ðþÿA¶D$0L ™d H ãc 1öA¸NºL‰÷HÇ$0‰D$1ÀèøïþÿA¶D$1L rd H ¬c A¸Oº1öL‰÷HÇ$1‰D$1ÀèÁïþÿA·D$2L Ld H uc A¸Pº1öL‰÷HÇ$2E1í‰D$1Àè‡ïþÿA‹D$8L (d H L‰çHP¶JL)ê‰L$ ¶H‰L$·@H ŒY H‰$º‰\$‰D$1ÀèoäþÿH‹EØL <[ H bY 1öA¸@L‰ç¶PHƒÀ‰\$L)èH‰$1À‰T$ºè/äþÿH‹EØL $[ H "Y 1öA¸BL‰ç¶PHƒÀ‰\$L)èH‰$1À‰T$ºèïãþÿH‹EØL [ H âX A¸Dº1öL‰ç‰\$HƒÀ H‰D$H‰D$L)èH‰$1Àè­ãþÿH‹E؃ÃHƒÀƒûH‰EØ…ÔýÿÿA¶…ðL B H „X L‰çA¸Gº1öHÇ$ð‰D$1Àè\ãþÿA¶…ñL ÿX H KX L‰çA¸Hº1öHÇ$ñ‰D$1Àè#ãþÿA‹…òL ÝX H X L‰çA¸Iº1öHÇ$ò‰D$1ÀèëâþÿHƒÄ@[A\A]A^ÉÃfffff.„UHˆúÿÿE1ÉE1À1ÉH‰åHƒìH‹ª(1H‰$èÖþÿÉÀUH‰åH‰]àL‰mðH‰óL‰eèL‰uøHƒì0öF<I‰ýtE1äL‰àH‹]àL‹eèL‹mðL‹uøÉÃ@H‹v E1ÉE1ÀHÇ$H‰Ùºèá ÿÿH…ÀI‰ÄtÀH‹CXL‹pA¶–ñA¶†ðP‰ÀHÁàA€|(u”A¶vH=´=1èêþÿA·NL‹ ë'1A‰ÀH‰ÚL‰æL‰ïèRÏþÿ…À„^ÿÿÿHSIt$ H ZøÿÿL‰ïèBêþÿA¶F<‚<ÿÿÿ<v<<…0ÿÿÿI‰ÙM‰àL‰ïH‹]àL‹eèH ÁøÿÿL‹mðL‹uøH"ùÿÿÉH5Zé%ÐþÿI‹T$81É1öL‰ïè$ ÿÿH…À…âþÿÿ¾L‰ïè~@ÿÿ¾L‰ïH‰Ãèn@ÿÿH‹@I‰$L‰cL‰ I‰D$é¬þÿÿDUH‰åL‰}øH‰]ØI‰ÿL‰eàL‰mèL‰uðHƒì0H‹FX…ÒH‹Xt €{„ D¶ƒñ¶ƒðH»V ‹‹òE1öB@‰ÀHƒÀHÁàD¶ AÀéE¶É1ö1ÿ1Àè¶¡LcèIƒÅL‰ïè‡NÿÿH…ÀI‰Ä„óD¶ƒñ¶ƒð‹‹òB@‰ÀHƒÀHÁàD¶ AÀéE…öE¶ÉuNH5V L‰îL‰ç1ÀèR¡L‰çèªØ1ÉHPüIt$L‰ÿH)Êè´IÿÿL‰àH‹]ØL‹eàL‹mèL‹uðL‹}øÉÃHÛU L‰îL‰ç1Àè¡L‰çè\عë­DD¶ƒñ¶ƒðA¾‹‹òH˜U B@‰ÀHƒÀHÁàD¶ AÀéE¶ÉéíþÿÿfDH‹5‰%1L‰ÿèáþÿé`ÿÿÿ@UA‰ÐH‰òH‹5j%1¹ÿÿÿÿH‰åÉé$Ùþÿ@UE1ɹ1ÒH‰åHƒì H‹?%1L‹F HÇD$H‰D$H.IƒèH‰D$H>IÁà H‰$èñÙþÿÉÃffffff.„UH‰åH‰]ØL‰eàI‰ÔL‰mèL‰uðI‰ÎL‰}øHƒì0L‹=Ï$1¹H‰óI‰ýL‰úèôÏþÿ1ÒH…ÀH‰CX„ƒI‹T$ H¹ÿÿÿÿÿÿHÇ@L‰pL‰c(H=?:1ÇC8HƒêH!ÊH‰HG:1H‰C0A¶vè‰æþÿ‰CºH‰ÞL‰ïèýÿÿ1ÒH…ÀH‰C •‰ÐH‹]ØL‹eàL‹mèL‹uðL‹}øÉÃf.„I‹t$L‰úL‰ïH‹]ØL‹eàL‹mèL‹uðL‹}øÉéËþÿff.„UH=ÇS ¹H‰Öó¦H‰åÉ”À¶ÀÃH‹FHUH‰åH‹PH‹GHH‹@¶R:PÉ’À¶ÀÃffff.„H‹F UH‰åH‹@HH‹PH‹G H‹@H¶J:JIH‹@“¶H:HIÉ“À8ЗÀ¶ÀÃfDH‹FXUÇGL@H‰åH‹@‹@P‰GHÉÃDH‹GXUH‰åH‹H1ÀyL€¶QJÉ”ÀƒÀ‰Á‰ÐÁú÷ùÃfDUH5è91H‰åÉé_Ïþÿffffff.„UL í5 H %T A¸^ºH‰åAVAULmÀATI‰üSHƒì@H‹FXH‹XH‹¢"1H‰D$H‹F(1öH‹@H‰$1ÀèˆÜþÿL éS H ÎS A¸_º1öL‰ç1ÀH‰\$ÇD$HÇ$èNÜþÿ‹CL ·S H ‘S A¸`º1öL‰çHÇ$‰D$1ÀèÜþÿ‹C L “S H ]S A¸aº1öL‰çHÇ$ ‰D$1ÀèæÛþÿ·CL pS H (S A¸bº1öL‰çHÇ$‰D$1Àè±Ûþÿ¶CL NS H óR A¸cº1öL‰çHÇ$‰D$1Àè|Ûþÿ¶CL /S H ¾R A¸dº1öL‰çHÇ$‰D$1ÀèGÛþÿ‹CL S H ŠR A¸eº1öL‰çHÇ$‰D$1ÀèÛþÿ‹CL ïR H VR º1öA¸fL‰çHÇ$‰D$1ÀèßÚþÿHsL‰êH‰ØD¶HHƒÀˆ HƒÂH9ðuíH R L «R 1ö1ÀA¸lºL‰çÆEÐL‰l$HÇ$è‡ÚþÿHsH‰Ø1ɶP,„Òt ‰ÏƒÁˆT=ÀHƒÀH9ðuæ‰ÉL lR A¸tÆD ÀH Q º1öL‰ç1ÀL‰l$HÇ$,A¾è%Úþÿ‹C0L GR H hQ A¸uº1öL‰çHÇ$0E1í‰D$1ÀèîÙþÿ‹C4L %R H 1Q A¸vº1öL‰çHÇ$4‰D$1ÀèºÙþÿD‰èL (S H ýP HƒÀ 1öA¸z‹TƒH…L‰çD‰l$AƒÅH‰$1À‰T$ºèqÙþÿAƒîu±¶CHL »Q H ­P 1öL‰çA¸|ºHÇ$H‰D$1Àè6Ùþÿ¶CIL ¤Q H xP 1öL‰çA¸}ºHÇ$I‰D$1ÀèÙþÿ¶CJL ŽR H CP 1öL‰çA¸~ºHÇ$J‰D$1ÀèÌØþÿ¶CKL yR H P 1öL‰çA¸ºHÇ$K‰D$1Àè—Øþÿ‹CLL $Q H ÚO 1öL‰çA¸€ºHÇ$L‰D$1ÀècØþÿ‹CPL 1R H ¦O 1öL‰çA¸ºHÇ$P‰D$1Àè/Øþÿ‹CTL %R H rO 1öL‰çA¸‚ºHÇ$T‰D$1Àèû×þÿ‹CXL R H >O 1öL‰çA¸ƒºHÇ$X‰D$1ÀèÇ×þÿ‹C\L pP H O 1öL‰çA¸„ºHÇ$\‰D$1Àè“×þÿ‹C`L YP H ÖN 1öL‰çA¸…ºHÇ$`‰D$1Àè_×þÿ‹CdL ¥Q H ¢N L‰çA¸†º1öHÇ$d‰D$1Àè+×þÿ‹ChL P H nN 1öL‰çA¸‡ºHÇ$h‰D$1Àè÷Öþÿ‹ClL eQ H :N L‰çA¸ˆº1öHÇ$l‰D$1ÀèÃÖþÿ‹CpL QQ H N L‰çA¸‰º1öHÇ$p‰D$1ÀèÖþÿ‹CtL O H ÒM L‰çA¸Šº1öHÇ$t‰D$1Àè[ÖþÿHƒÄ@[A\A]A^ÉÃfffff.„UH‰åH‰]ðL‰eøHƒì H‹FH‰ûH‹@XL‹`AöD$tt1ÀH‹]ðL‹eøÉÃDA¶t$HH=K21ºèAÞþÿ¨uÔAƒL$tH‹à1L ™P H &M H‰ßA¸Gº¾H‰$1Àè´Õþÿ¸H‹]ðL‹eøÉÃDUHhøÿÿE1ÉE1À1ÉH‰åHƒìH‹‚1H‰$èéÈþÿÉÀUE1ÉE1ÀºH‰åH‰]àL‰eèH‰óL‰uøL‰mðHƒì0H‹v H‰ÙHÇ$I‰þèÓÿÿH…ÀI‰Ät,H‹CXL‹ 1H‰ÚL‰æL‰÷L‹hA‹MPE‹ELèvÂþÿ…Àu"E1äL‰àH‹]àL‹eèL‹mðL‹uøÉÃf.„HSIt$ H ÷ÿÿL‰÷èHÝþÿA‹EL=•tYvK=ÿtP=€u®I‰ÙM‰àL‰÷H‹]àL‹eèH ÷ÿÿL‹mðL‹uøH6÷ÿÿÉH5né)Ãþÿf„ƒÀ€ƒø‡eÿÿÿI‹T$81É1öL‰÷èüþÿH…À…Kÿÿÿ¾L‰÷èm3ÿÿ¾L‰÷H‰Ãè]3ÿÿH‹@I‰$L‰cL‰ I‰D$éÿÿÿ@UH‰åL‰eàL‰mèL‰uðL‰}øL=M H‰]ØHƒì@H‹FXL5 M H‰}ÀH‹X1À{L€¶KID‹C@”À!‰UÌL‰úIEÖDCDDC<8KH‹ ¨1A“ÁDC81öAƒá1ÿ1Àè¡”LcèIƒÅL‰ïèrAÿÿH…ÀI‰Ätz‹U̶CIL‰îD‹C@H‹ e1L‰ç…ÒL‰úIEÖDCDDC<8CA“ÁDC81ÀAƒáèK”‹EÌH‹}ÀIt$I)ÅIUøè³<ÿÿL‰àH‹]ØL‹eàL‹mèL‹uðL‹}øÉÃf.„H‹5ù1H‹}Àè€ÔþÿëËfffff.„UA‰ÐH‰òH‹5Ò1¹ÿÿÿÿH‰åÉé„Ìþÿ@UE1ɹx1ÒH‰åHƒì H‹§1L‹F HÇD$H‰D$H.IƒèH‰D$H¾IÁà H‰$èQÍþÿÉÃffffff.„UH‰åH‰]ØL‰eàI‰ÌL‰mèL‰uðI‰ÕL‰}øHƒì0L‹=71¹H‰óI‰þL‰úèTÃþÿ1ÒH…ÀH‰CX„ÂI‹U H¹ÿÿÿÿÿÿHÇ@xL‰`L‰k(HƒêH!ÊAöD$tH‰HÐ.1H‰C0¸„ñA‹t$L‰C8A¶T$IþŠ„—w}þ„‰A8T$Jr A:T$¸v H=.1èªÙþÿ‰CºL‰÷HÇ$‰D$1ÀèÊþÿA¶„$L 4F H çD 1öA¸?ºL‰÷HÇ$‰D$1ÀèßÉþÿA¶„$ L F H ­D 1öA¸@ºL‰÷HÇ$ ‰D$1Àè¥ÉþÿA¶„$!L óE H sD A¸Aº1öL‰÷HÇ$!‰D$1ÀèkÉþÿA¶„$"L ÕE H 9D 1öA¸BºL‰÷HÇ$"‰D$1Àè1ÉþÿA¶„$#L ·E H ÿC 1öA¸CºL‰÷HÇ$#‰D$1Àè÷ÈþÿA‹„$$L ›E H ÆC 1öA¸DºL‰÷HÇ$$‰D$1Àè¾ÈþÿA·„$(L |E H ŒC 1öA¸EºL‰÷HÇ$(‰D$1Àè„ÈþÿA¶„$*L \E H RC 1öA¸FºL‰÷HÇ$*‰D$1ÀèJÈþÿA¶„$+L 8E H C 1öA¸GºL‰÷HÇ$+‰D$1ÀèÈþÿA‹„$,L E H ßB 1öA¸HºL‰÷HÇ$,‰D$1Àè×ÇþÿA‹„$0L øE H ¦B 1öA¸JºL‰÷HÇ$0‰D$‰D$1ÀèšÇþÿA€¼$ „RIœ$4E1í·L ÆE H TB 1öA¸NºL‰÷D‰l$‰D$H‰ØL)àH‰$1ÀèEÇþÿ¶CL ²E H B 1öA¸OºL‰÷D‰l$‰D$HCL)àH‰$1ÀèÇþÿ¶CL E H ÛA 1öA¸PºL‰÷D‰l$‰D$HCL)àH‰$1ÀèËÆþÿ‹CL E H ŸA 1öA¸QºL‰÷D‰l$‰D$HCL)àH‰$1ÀèÆþÿ‹CL mE H cA 1öA¸RºL‰÷D‰l$AƒÅ‰D$HCHƒÃ L)àH‰$1ÀèKÆþÿA¶„$ A9Å‚¹þÿÿIŒ$üL‰à1Ò@HƒÀH9ÈuõA‹Œ$üH>C L >C L‰÷A¸VHÇ$ü9ÊH!C ‰L$H Ç@ HDº1öH‰D$1ÀèËÅþÿHƒÄ [A\A]A^ÉÃfffff.„U¸H‰åHƒì@¶Š DAÿA€øwÉöÉL –D A¸ô‰L$0‹‚,H T@ ‰D$(‹B$‰D$ ‹‚‰D$‹Bº‰D$H‹F¾H‰D$H‹A 1H‰$1Àè.Åþÿ1ÀÉÃf.„UHöÿÿE1ÉE1ÀH‰åH‰]àL‰eèH]ØL‰mðL‰uøHƒì@L‹5ø 1H‰ÙI‰ýI‰ôHÇEØL‰4$èF¸þÿ‰Â1À…ÒuH‹]àL‹eèL‹mðL‹uøÉÃ@LÑõÿÿHšõÿÿ1ÉI‰ÙL‰æL‰ïL‰4$è¸þÿ…À•À¶Àë¾fff.„UL ÈA H‰åH‰]ØL‰eàH‰óL‰mèL‰uðA‰ÕL‰}øHƒì@H‰}ȶ† L=œA …ÒL‰Ê‹Ž,IE×E1ÀÐè8†L‰MÀA“À1ö1ÿ1Àè(…LcðIƒÆL‰÷èù1ÿÿH…ÀI‰ÄL‹MÀt}¶ƒ E1À‹‹,Ðè8ƒA“ÀE…íuDL‰ÊL‰öL‰ç1ÀèÜ„1ÀIVüH‹}ÈIt$H)ÂèE-ÿÿL‰àH‹]ØL‹eàL‹mèL‹uðL‹}øÉÃ@L‰úL‰öL‰ç1À蘄¸ë·H‹5 1H‹}ÈèÅþÿë¹fffff.„UH‹FXH‰åH‹pÉéÎþÿÿfffff.„U¶·H‰å@€þt-@€þt@¶öÉH= 1é8Ëþÿ„€¿ ¾vÝÆ‡ÉH=c 1¾é Ëþÿf„UH‰ÈH‰åAWAVI‰þAUI‰Õ1ÒATI‰ôSH‰ËH‰üHƒì(€HƒÀH9Èuõ;“ütMI‹EL ó? H p= A¸º¾L‰÷H‰D$H‹t1H‰$1ÀèaÂþÿ1ÀHƒÄ([A\A]A^A_ÉÃL‹=Q1L‰EȹL‰æL‰÷L‰úèb³þÿH‰ÂI‰D$X1ÀH…ÒL‹EÈtÀA‹0I‹E H‰ßHÇBH‰ZM‰l$(AÇD$8‰ñ‰uÈH)ÈH‰HÙ1I‰D$0èŸþÿÿ‹uÈA‰D$H‹U¨‰ÛL-Ø1AÇÇEÌH‰]¸H H‰U°E‹eE…ät…Àt;H‹E HƒÄ8[A\A]A^A_ÉÄ…Àuá‹EÌ…À„¹ƒmÌL-^1A‹빋]ÌE‰ä…Ût I‹F L)àI‰ÄL9e¸H‹]¨rbI‹VH‹5Ÿ1M‰áH‹}ÀIÁá A¸H‰Ùè®ÿÿ…Àt!H=ï7 H‰Þ¹ó¦u7A‹…ÒuA‹EA‰HÃH;]°t IƒÄL9e¸s fIƒÅéqÿÿÿ€A‹…É…*ÿÿÿIƒÅéVÿÿÿ@H‹}¨è'ÿÿHÇE éÿÿÿH‹FHUH‰åH‹PH‹GHH‹@¶’:É’À¶ÀÀH‹F UH‰åH‹@HH‹PH‹G H‹@H¶’H‹@:ÉœÀ¶ÀÃffffff.„H‹FXUÇGL@H‰åH‹@·€‰GHÉÃUH‹GXH‰åH‹P¶Š€ùt s¾‚ÉÃD1À€ùtëÉÀ¾‚ÉÃffffff.„UH5È1H‰åÉé«þÿffffff.„UºH‰åHƒì ÇEàÇEäÇEèÇEìÇEðÇEôÇEøÇEü¶·)H}àèûÀþÿÉÃf„UH‰åSHƒìH‹FH‹@XH‹XH‰ßèƒÿÿÿ‰Â1Àƒâu ƃ(°HƒÄ[ÉÃf.„UL m H ­7 A¸¸ºH‰åAVA¾‰ÿÿÿAUI½‰ˆˆˆˆˆˆˆATI‰üSHƒìH‹FXH‹XH‹&þ0H‰D$H‹F(1öH‹@H‰$1Àèü·þÿL f7 H J7 1ö1ÀA¸¹ºL‰çH‰\$HÇ$èÊ·þÿHC.L H7 H 7 1öA¸ººH‰D$L‰ç1ÀHÇ$.è”·þÿHC6L .7 H Þ6 1öA¸»ºH‰D$L‰ç1ÀHÇ$6è^·þÿHCVL 7 H ¨6 1öA¸¼ºH‰D$L‰ç1ÀHÇ$Vè(·þÿ‹C`L $ H s6 1öA¸½ºL‰çHÇ$`‰D$1Àèô¶þÿHCdL ¾6 H >6 1öA¸¾ºH‰D$L‰ç1ÀHÇ$dè¾¶þÿ‹ClL ¡6 H 6 1öA¸¿ºL‰çHÇ$l‰D$1À芶þÿ‹CpL Š6 H Õ5 1öA¸ÀºL‰çHÇ$p‰D$1ÀèV¶þÿHCtL s6 H  5 1öA¸ÁºH‰D$L‰ç1ÀHÇ$tè ¶þÿ‹CxL U6 H k5 A¸Âº1öL‰çHÇ$x‰D$1Àèìµþÿ·ƒL 96 H 35 1öA¸ÃºL‰çHÇ$‰D$1Àè´µþÿ·ƒL 6 H û4 1öA¸ÄºL‰çHÇ$‰D$1Àè|µþÿ·ƒL ô5 H Ã4 1öA¸ÅºL‰çHÇ$‰D$1ÀèDµþÿ·ƒ L Ñ5 H ‹4 1öA¸ÆºL‰çHÇ$ ‰D$1Àè µþÿ¶“ L ®5 1öA¸ÇL‰ç‰ÐAöæfÁèÀè …Áà(ÈH‹ (¶ÒH‰È‰T$I÷åHÁêH•HÁâH)Â1ÀH)ѺH)ÙH‰ $H ö3 è•´þÿ¶ƒ L J5 H Ü3 1öA¸ÈºL‰çHÇ$ ‰D$1Àè]´þÿ¶“ H‹ L &5 A¸ÉL‰ç‰ÐAöæA‰ÆfAÁîAÀî1öBµAÁæA(ÆH‰ÈD(ò¶Ò‰T$I÷åHÁêH•HÁâH)Â1ÀH)ѺH)ÙH‰ $H >3 èݳþÿ¶ƒ L À4 H $3 1öA¸ÊºL‰çHÇ$ ‰D$1À襳þÿ¶ƒL £4 H ì2 1öA¸ËºL‰çHÇ$‰D$1Àèm³þÿ¶ƒL {4 H ´2 1öA¸ÌºL‰çHÇ$‰D$1Àè5³þÿ¶ƒL R4 H |2 1öA¸ÍºL‰çHÇ$‰D$1Àèý²þÿ¶ƒL +4 H D2 1öA¸ÎºL‰çHÇ$‰D$1ÀèŲþÿ·ƒL 4 H 2 1öA¸ÏºL‰çHÇ$‰D$1Àè²þÿ¶ƒL  H Ô1 A¸Ðº1öL‰çHÇ$‰D$1ÀèU²þÿ¶ƒL È H œ1 1öA¸ÑºL‰çHÇ$‰D$1Àè²þÿ¾ƒL ÷4 H d1 1öA¸ÒºL‰çHÇ$‰D$1Àèå±þÿ¾ƒL ;3 H ,1 1öA¸ÓºL‰çHÇ$‰D$1Àè­±þÿ¾ƒL ¯4 H ô0 1öA¸ÔºL‰çHÇ$‰D$1Àèu±þÿ¾ƒL Ÿ4 H ¼0 1öA¸ÕºL‰çHÇ$‰D$1Àè=±þÿ‹ƒL ²2 H …0 1öA¸ÖºL‰çHÇ$‰D$1Àè±þÿ‹ƒ L –2 H N0 1öA¸×ºL‰çHÇ$ ‰D$1Àèϰþÿ‹ƒ$L {2 H 0 1öA¸ØºL‰çHÇ$$‰D$1À蘰þÿ¶ƒ(L ]2 H ß/ 1öA¸ÙºL‰çHÇ$(‰D$1Àè`°þÿ¶ƒ)L >2 H §/ 1öA¸ÚºL‰çHÇ$)‰D$1Àè(°þÿ¶ƒ*L r3 H o/ A¸Ûº1öL‰çHÇ$*‰D$1Àèð¯þÿ¶ƒ+L ì1 H 7/ 1öA¸ÜºL‰çHÇ$+‰D$1À踯þÿ¶ƒ,L Ê1 H ÿ. 1öA¸ÝºL‰çHÇ$,‰D$1À耯þÿH».¾èÏÿÿH…ÀI‰Åt:L ˜1 H µ. H‰D$L‰çA¸àº1ö1ÀHÇ$.è5¯þÿL‰ïè-ÿÿ·ƒ>L n1 H t. L‰çA¸äº1öHÇ$>‰D$1Àèõ®þÿ·ƒþL K1 H <. L‰çA¸åº1öHÇ$þ‰D$1Àè½®þÿHƒÄ[A\A]A^ÉÃUƒþH‰åATA‰ôSH‰ûwfDD‰àAƒÄH‹<ÃèˆÿÿAƒüvêH‰ß[A\ÉévÿÿfDUHøôÿÿE1ÉE1À1ÉH‰åHƒìH‹bô0H‰$蹡þÿÉÀUH‰åH‰]àL‰mðH‰óL‰eèL‰uøHƒì0öF<I‰ýtE1äL‰àH‹]àL‹eèL‹mðL‹uøÉÃ@H‹v E1ÉE1ÀHÇ$H‰ÙºèÙþÿH…ÀI‰ÄtÀH‹CXL‹ Þó0H‰ÚL‰æL‰ïL‹pA·ŽE¶†è›þÿ…ÀtŒHSIt$ H ˜óÿÿL‰ïè¶þÿA¶†<tdr <t<ÿ…]ÿÿÿI‹T$81É1öL‰ïè%ÕþÿH…À…Cÿÿÿ¾L‰ïè ÿÿ¾L‰ïH‰Ãèo ÿÿH‹@I‰$L‰cL‰ I‰D$é ÿÿÿfDI‰ÙM‰àL‰ïH‹]àL‹eèH 8óÿÿL‹mðL‹uøHióÿÿÉH5霛þÿfff.„UI‰úH‰÷H‰ÖH‰åAUATSHƒì(A€º„ÌA¾‚A¶š …ÉH/ H 0 E¶š E¶¢E¶ŠE¶‚HEÑA¶Š‰D$Aº‰ÿÿÿ‰ØAöâE¶äD‰$$fÁèÀèD,…ÁàD(è(ÃD‰ØAöâ¶Û‰\$A‰ÂfAÁêAÀêB•AÁâA(Â1ÀE(ÓE¶ÛD‰\$èmHƒÄ(H˜[A\A]ÉÃf.„A¾‚é/ÿÿÿUH‰åL‰mèL‰}øE1íH‰]ØL‰eàI‰ÿL‰uðHƒì@H‹FX…ÒL‹`tE1íA€¼$A”Å1Ò1öD‰éL‰çè³þÿÿHPI‰ÆH‰×H‰UÈèpÿÿH…ÀH‰ÃH‹UÈtTD‰éH‰ÆL‰çè†þÿÿ¾-H‰ßèù§HƒøHsL‰ÿHÀHƒàþI)ÆIVúèËÿÿH‰ØL‹eàH‹]ØL‹mèL‹uðL‹}øÉÃfH‹5)ñ0L‰ÿ衬þÿëÔffffff.„UA‰ÐH‰òH‹5ñ0¹ÿÿÿÿH‰åÉ餤þÿ@UHhE1ÉE1À1ÉH‰åHƒì H‹Òð0HÇ$H‰D$HH‰D$H2H‰D$èx¥þÿÉÃfDUI‰Ê¹H‰åAWI‰÷AVAUATSH‰ÓHƒìHH‹zð0L‰UÀH‰}Èè›þÿH…ÀI‰GXL‹UÀ„ÅM‰ÔL‰ÐE1íHƒ8„ÑAƒÅHƒÀAƒýuèM‹21Ò¸A¸I‹|$L‰öL‰Áó¦—Á@’Æ@(ñ¾ÉƒùƒÒƒÀIƒÄA9ÅwÔ…ÒtM‰2L‰×¾è(ûÿÿA‹PM‹GX…ÿL‰Ât=1É€H‹C ‰ÎƒÁÁæHÇBL‰r‰öHƒèHÁà H)ðHÁè H‰HƒÂ9ùrÌI‹HH11I‰_(IÇG@I‰G0‹Ap‹QlHÁà Hж‘€ú‡”€ús-¶‘„҈ȶ±¾Ê9ζH¾ÒH‰Ñ1ÒH÷ñH…ÀI‰GHt{L‰÷èðÿÿA‰G8A¶¶H=n1è±þÿ1ÒA‰GH‰Ø1Ò@·HƒÀÊH9ðuò÷Úf9“>„©I‹D$L 7) D‰l$L‰<$A¸ŸH‰D$H P$ º¾L‰÷1Àèà¤þÿéÿÿÿƒ}´HŸô Hp' L l' H $ A¸Ó¾L‰÷ÇD$L‰<$HEÂHã H‰D$ HEÀH‰T$ºH‰D$1Àèw¤þÿéÉþÿÿ‹CxI9D$ rr‹E´H‹U¸H‰‹E´HŠ:H‹]¨…ÀHÍø HEЃE´‹ HƒÃÿþþþ÷Ñ!È%€€€€té‰ÁH{H5Æ6 Áé©€€DÁHEûD‰éÀHƒß1Àè›eé)þÿÿI‹D$D‰l$L =( L‰<$A¸¤H‰D$éÖþÿÿUH‹GHH‰åH‹PH‹FHH‹H¶BÀèƒàƒøt%¶AÀè‰Á¶BƒáÉÀèƒà9ÁœÀ¶ÀÃD1ÀöA É”ÀÃffff.„H‹F UH‰åH‹@HH‹@¶PH‹G H‹@HÀêƒâH‹@Áú¶@ÉÀèƒàÁø9œÀ¶ÀÃH‹FXUÇGL@H‰åH‹@¶H¸ÀéÓà‰GHÉÃf.„H‹GXUH‰åH‹H¸¶Qƒâx€út¶AƒàÉÃf.„H‹FUH‰åH‹@XH‹P1À¶J„ÉxƒÉ€°ˆJÉÃfff.„UH51H‰åÉéÿ”þÿffffff.„UL û H ù& A¸`ºH‰åAVI‰þAUATA¼SHƒì H‹FXH‹XH‹Xè0H‰D$H‹F(1öH‹@H‰$1Àè&¢þÿ·L ¹& H & 1öA¸aºL‰÷HÇ$‰D$1Àèò¡þÿ¶CL ›& H h& 1öA¸bºL‰÷HÇ$‰D$1À轡þÿ¶CL Ê& H 3& 1öA¸dºL‰÷HÇ$ƒà‰D$1Àè…¡þÿ¶CL ²& H û% 1öA¸fºL‰÷HÇ$Ðèƒà‰D$1ÀèK¡þÿ¶CL  & H Á% 1öA¸hºL‰÷HÇ$Àèƒà‰D$1Àè¡þÿ¶CL & H †% A¸iº1öL‰÷HÇ$Àèƒà‰D$1ÀèÕ þÿ¶CL r& H K% A¸kL‰÷Àè¶Ð¶CHÇ$ƒàHÀ Ð1öº‰D$1À莠þÿ¶CL S& H % 1öA¸nºL‰÷HÇ$Àèƒà‰D$1ÀèS þÿ¶CL @& H É$ 1öA¸pºL‰÷HÇ$Àèƒà‰D$1Àè þÿ¶CL 5& H Ž$ 1öA¸rºL‰÷HÇ$ÀèƒàÁø‰D$1ÀèÚŸþÿ¶CL '& H P$ 1öA¸tºL‰÷HÇ$ÀèƒàÁø‰D$1À蜟þÿ¶CL & H $ 1öA¸wºL‰÷HÇ$Àè¶À‰D$1ÀèaŸþÿ¶CL þ% H ×# 1öA¸xºL‰÷HÇ$‰D$1Àè,Ÿþÿ‹CL ð# H £# 1öA¸yºL‰÷HÇ$‰D$1ÀE1íèõžþÿ‹C L »% H l# A¸zº1öL‰÷HÇ$ ‰D$1ÀèÁžþÿ‹CL §% H 8# A¸{º1öL‰÷HÇ$‰D$1ÀèžþÿDB‹#L •% H þ" D‰l$1öA¸~ºL‰÷AƒÅ‰D$1ÀL‰$$èNžþÿIƒÄAƒýu¼¶C2L A H º" L‰÷A¸€º1öHÇ$2‰D$1ÀèžþÿHƒÄ [A\A]A^ÉÃfUL ß H y" A¸,¾H‰åHƒìH‹B(ºH‹@H‰D$H‹Þã0H‰$1Àè»þÿ¸ÉÃ@U1ÀH‰åHƒìf:UªtÉÃD1ɸ1D¶ÀƒèB <ÿuñ:J2uL¶R¸€úvÏH‹ã0¶ÒL •$ H Þ! ‰T$A¸©º¾H‰$1Àè7þÿ¸ÉÃH‹FL † H ¦! A¸¥º¾H‰D$H‹ã0H‰$1Àè÷œþÿ1ÀÉÃULèþÿÿHáùÿÿE1É1ÉH‰åHƒìH‹æâ0H‰$è5þÿÉÃUH‰åH‰]àL‰mðH‰óL‰eèL‰uøHƒì0öF<I‰ýtE1äL‰àH‹]àL‹eèL‹mðL‹uøÉÃ@H‹v E1ÉE1ÀHÇ$H‰ÙºèÈþÿH…ÀI‰ÄtÀH‹CXL‹ fâ0H‰ÚL‰æL‰ïL‹p¸A¶NE¶FÀéAÀèÓàAƒà‰Á莉þÿ…À„zÿÿÿHSIt$ H 6øÿÿL‰ïè~¤þÿA¶FÀèƒàƒøt \ƒø‡JÿÿÿI‹T$81É1öL‰ïè’ÃþÿH…À…0ÿÿÿ¾L‰ïèìúþÿ¾L‰ïH‰ÃèÜúþÿH‹@I‰$L‰cL‰ I‰D$éúþÿÿƒø …îþÿÿI‰ÙM‰àL‰ïH‹]àL‹eèH ÿ÷ÿÿL‹mðL‹uøH0øÿÿÉH5éŠþÿUH‰åAWA‰×AVAUATSHƒìH‹FXH‰}ÈH‹X¸D¶sfD‰ÂƒèDt“ƒøÿuñHk 1ö1ÿD‰ñ1ÀE1äè \pHcöH‰÷H‰uÀè×ÿÿH…ÀI‰ÅH‹uÀ„°H1 H‰ÇD‰ñ1ÀèÓ[E…ÿ…ÊD¶CH¤ E1ÿAÀèAƒàAÁø1ö1ÿL‰é1Àè¡[LcðIƒÆL‰÷èrÿÿH…ÀI‰Ä„¸D¶CAÀèAƒàAÁøE…ÿuPHO H‰ÇL‰éL‰ö1ÀèY[¸IVüH‹}ÈIt$H)Âè¿ÿÿL‰ïè'ÿÿHƒÄL‰à[A\A]A^A_ÉÃDHõ H‰ÇL‰éL‰ö1Àè [¸ë®f¶Cƒàx›þÿézÿÿÿf„UA‰ÐH‰òH‹5ªß0¹ÿÿÿÿH‰åÉéD“þÿ@UE1ɹ31ÒH‰åHƒì H‹ß0L‹F HÇD$H‰D$H.IƒèH‰D$HŽûÿÿIÁà H‰$è”þÿÉÃffffff.„UH‰åH‰]ØL‰eàI‰ÌL‰mèL‰uðI‰ÕL‰}øHƒì0L‹=ß0¹H‰óI‰þL‰úèŠþÿ1ÒH…ÀH‰CX„“I‹U H¹ÿÿÿÿÿÿHÇ@3L‰`L‰k(HƒêH!ÊH‰Hø0H‰C0A€|$¸yu‰C8A¶t$H=µ÷0@Àîƒæè™ þÿ‰Ctñ‹üþÿÿ…ÉuYH‹µðþÿÿL‰òL‰çè7ýÿÿA!ÅM9þuÒ‹•üþÿÿ…ÒtUH‹µðþÿÿHgÕ0E1ÀH‰ÙL‰çè©ùÿÿ¸HÄè[A\A]A^A_ÉÃfL‰öL‰çèeûÿÿI‹V‰éxÿÿÿf.„H©ýÿÿH‹µðþÿÿHUÀE1ÀH‰ÙL‰çH‰EÀH:ýÿÿH‰EÈèAùÿÿD!èë˜fff.„U¹H‰åÉé±ýÿÿU1ÉH‰åÉé¤ýÿÿ¿PÒUH‰åtf‹fÁF fÁF"fÁF$‰Ð‰ÑfÁF&ÁáÁè ȉÑâÿáÿÁêÁá È Ð‹V‰‰Ñ‰ÐÁáÁè ȉÑâÿáÿÁêÁá È Ð‰FÉÄ¿PÒUH‰åt|‹‰Ð‰ÑÁáÁè ȉÑâÿáÿÁêÁá È Ð‹V‰‰Ñ‰ÐÁáÁè ȉÑâÿáÿÁêÁá È Ð‹V ‰F‰Ñ‰ÐÁáÁè ȉÑâÿáÿÁêÁá È Ð‰F ÉÃf¿PÒUH‰åt\‹fÁFfÁF ‰Ð‰ÑÁáÁè ȉÑâÿáÿÁêÁá È Ð‹V‰‰Ñ‰ÐÁáÁè ȉÑâÿáÿÁêÁá È Ð‰FÉÃf¿PÒUH‰åt\‹fÁFfÁF ‰Ð‰ÑÁáÁè ȉÑâÿáÿÁêÁá È Ð‹V‰‰Ñ‰ÐÁáÁè ȉÑâÿáÿÁêÁá È Ð‰FÉÃf¿PÒUH‰åt0‹VfÇF‰Ð‰ÑÁáÁè ȉÑâÿáÿÁêÁá È Ð‰FÉÃfffff.„UºPÒH‹‚H‹²HH‰å·€†„Ö·ÀÁà ¯ÁHcÈH ‹1fÁA‰ð‰÷ÁçÁè ø‰÷æÿçÿÁîÁç ø ð‹q‰‰÷‰ðÁçÁè ø‰÷æÿçÿÁîÁç ø ð‹q‰A‰÷‰ðÁçÁè ø‰÷æÿçÿÁîÁç ø ð‰A·A‹’T‰ÆfÁÆ…ÒDÆf‰qf…Àt'Pÿ1À·ÒHƒÂHÁâ„fÁD8HƒÀ H9Ðuñ¸ÉÃf.„UA‰ÈH‰ÑHrÑ0H‰åÉé©õÿÿf„U¿PÒH‰å„]‹I¹ÿI¸ÿH¿ÿ‰Ð‰ÑÁáÁè ȉÑâÿáÿÁêÁá È Ð‹V‰‰Ñ‰ÐÁáÁè ȉÑâÿáÿÁêÁá È Ð‹V(‰F‰Ñ‰ÐÁáÁè ȉÑâÿáÿÁêÁá È Ð‹V,‰F(‰Ñ‰ÐÁáÁè ȉÑáÿÁá ÈâÿH‹N`Áê ЉF,H‰ÊH‰ÈHÁâ8HÁè8H ÐH‰ÊâÿHÁâ(H ÐH‰ÊâÿHÁâH ÐH‰ÊâÿHÁâH ÐH‰ÊL!ÊHÁêH ÐH‰ÊH!ùL!ÂHÁé(HÁêH ÐH ÈH‹NhH‰F`H‰ÊH‰ÈHÁâ8HÁè8H ÐH‰ÊâÿHÁâ(H ÐH‰ÊâÿHÁâH ÐH‰ÊâÿHÁâH ÐH‰ÊL!ÊHÁêH ÐH‰ÊH!ùL!ÂHÁé(HÁêH ÐH È‹NtH‰Fh‰Ê‰ÈÁâÁè ЉÊáÿâÿÁéÁâ ÐH‹Vx ȉFtH‰ÑH‰ÐHÁá8HÁè8H ÈH‰ÑáÿHÁá(H ÈH‰ÑáÿHÁáH ÈH‰ÑáÿHÁáH ÈH‰ÑL!ÉfÁ†€fÁ†‚HÁéH ÈH‰ÑH!úL!ÁHÁê(HÁéH ÈfÁ†„fÁ††H Ћ–ÀH‰FxfÁ†ˆ‰Ð‰ÑÁáÁè ȉÑâÿáÿÁêÁá È Ð‹–ĉ†À‰Ñ‰ÐÁáÁè ȉÑâÿáÿÁêÁá È Ð‹–ȉ†Ä‰Ñ‰ÐÁèÁá ȉÑâÿáÿÁêÁá È Ð‹–̉†È‰Ñ‰ÐÁáÁè ȉÑâÿáÿÁêÁá È Ð‰†Ì‹–ЉЉÑÁáÁè ȉÑâÿáÿÁêÁá È Ð‹–Ô‰†Ð‰Ñ‰ÐÁáÁè ȉÑâÿáÿÁá ÈÁê Ћ–؉†Ô‰Ñ‰ÐÁáÁè ȉÑâÿáÿÁêÁá È Ð‹–܉†Ø‰Ñ‰ÐÁáÁè ȉÑâÿáÿÁêÁá È Ð‹–à‰†Ü‰Ñ‰ÐÁáÁè ȉÑâÿáÿÁêÁá È Ð‹–䉆à‰Ñ‰ÐÁáÁè ȉÑáÿÁáâÿ ÈÁê Ћ–艆ä‰Ñ‰ÐÁáÁè ȉÑâÿáÿÁêÁá È Ð‹–쉆è‰Ñ‰ÐÁáÁè ȉÑâÿáÿÁêÁá È Ð‹–ð‰†ì‰Ñ‰ÐÁáÁè ȉÑâÿáÿÁêÁá È Ð‹–ô‰†ð‰Ñ‰ÐÁèÁá ȉÑâÿáÿÁêÁá È Ð‹–ø‰†ô‰Ñ‰ÐÁáÁè ȉÑâÿáÿÁêÁá È Ð‹–ü‰†ø‰Ñ‰ÐÁáÁè ȉÑâÿáÿÁêÁá È Ð‰†üÉÃffff.„¿PÒUH‰å„ª‹VfÁFfÁF‰Ð‰ÑÁáÁè ȉÑâÿáÿÁêÁá È ÐH‹V ‰FH‰ÑH‰ÐHÁá8HÁè8H ÈH‰ÑáÿHÁá(H ÈH‰ÑáÿHÁáH ÈH‰ÑáÿHÁáH ÈH‰ÑHÁéáÿH ÈH‰ÑHÁê(HÁéâÿáÿH ÈH ÐH‰F ÉÃUH‰åAVAUI‰ÕATI‰üSH‰óH‰ßè¤ùÿÿ‹‹T…É…vH‹³H‰ßè‡ùÿÿ‹³T…ö„qH‹³H…ötH‰ßèeùÿÿH‹³H…ötH‰ßèáõÿÿH‹³ H‰ßèRöÿÿ‹‹T…É…üH‹³(E1öH‰ßèÂöÿÿ‹ƒT…Àu H‹“(D·rE·öE…öt0E1íE1äDL‰îH³0H‰ßAƒÄIƒÅ@è^þÿÿE9ô|ዃT…ÀuH‹³8E1öH‰ßèÍöÿÿ‹ƒT…Àu H‹“8D·rE·öE…öt3E1íE1ä„L‰îH³@H‰ßAƒÄIƒÅ@èööÿÿE9ô|ዃT…À”À¶À‰ƒT[A\A]A^ÉÃ@H‹³8D·vézÿÿÿ€H‹³(D·véýþÿÿ€H‰ÚL‰îL‰çèò÷ÿÿéwþÿÿD1ÉH‰ÚL‰îL‰çèØ÷ÿÿézþÿÿUH‰åAUATSH‰ÓHƒì»PÒH‹ƒH‹’H·€†„©·ÀH‰ßÁà ¯ÁLcàN$"E·l$@è íÿÿH‹“·À:ÞÞ„‡A‹$‰ÀI¹ÿI´„I¸ÿ‰Ð‰ÑÁáÁè ȉÑâÿáÿÁêÁá È ÐA‹T$A‰$‰Ñ‰ÐÁáÁè ȉÑâÿáÿÁêÁá È ÐA‹T$ A‰D$‰Ñ‰ÐÁáÁè ȉÑâÿáÿÁêÁá È ÐA‹T$$A‰D$ ‰Ñ‰ÐÁáÁè ȉÑáÿÁá ÈâÿI‹L$HÁê ÐA‰D$$A·D$@H‰Ê‹»TH»ÿfÁÀ…ÿDDèfA‰D$@H‰ÈHÁâ8HÁè8H ÐH‰ÊâÿHÁâ(H ÐH‰ÊâÿHÁâH ÐH‰ÊâÿHÁâH ÐH‰ÊH!ÚHÁêH ÐH‰ÊL!ÁL!ÊHÁé(HÁêH ÐI‹T$PH ÈI‰D$HH‰ÑH‰ÐH‰×HÁá8HÁè8çÿH ÈHÁç(H‰ÑH øH‰×çÿHÁçH øH‰×çÿHÁçH øH!ÓL!ÉHÁëHÁéL!ÂH ØHÁê(H ÈH Ð1ÒI‰D$PA‹L`‰È‰ËÁãÁè ؉ËáÿãÿÁéÁã Ø ÈA‰D`HƒÂHƒú uÈI‹”$€I¹ÿI¸ÿH¿ÿE·íH‰ÐH‰ÑHÁá8HÁè8H ÈH‰ÑáÿHÁá(H ÈH‰ÑáÿHÁáH ÈH‰ÑáÿHÁáH ÈH‰ÑL!ÉHÁéH ÈH‰ÑH!úL!ÁHÁê(HÁéH ÈH ÐE…íI‰„$€„ÆAƒí1ÉN­f.„A‹” ‰Ð‰ÓÁãÁè ؉ÓâÿãÿÁêÁã Ø ÐH‹NA‰„ H‰ÓH‰ÐHÁã8HÁè8H ØH‰ÓãÿHÁã(H ØH‰ÓãÿHÁãH ØH‰ÓãÿHÁãH ØH‰ÓL!ËHÁëH ØH‰ÓH!úL!ÃHÁê(HÁëH ØH ÐH‰NHƒÁL9Ñ…RÿÿÿHƒÄ¸[A\A]ÉÃf‰ÂÁàâÿÁâ ÐédüÿÿUL Fï 1ÀH‰åAWE‰ÇA¸'AVI‰þAUATSHƒì(H‰MÈH (ï H‰t$‰$1ö1ÒèdþÿE…ÿ„èðÊL‹eÈI‰ÅL‰ãë@@< º.tEL Ð× H âî 1À‰$1ö1ÒHƒÃA¸*L‰÷è¾cþÿ‰Ø+EÈA9Çv¶I‹UH¾ÈfƒñÿÿA‹D$ L Ôä H „à 1öA¸†ºH‰ßHÇ$ ‰D$1ÀèXUþÿA¶D$$L µä H Mà 1öA¸‡ºH‰ßHÇ$$‰D$1Àè!UþÿA¶D$%L ™ä H à 1öA¸ˆºH‰ßHÇ$%‰D$1ÀèêTþÿM‹¥(L }ä H Þß 1ö1ÀA¸ŽºH‰ßL‰$$èºTþÿA‹$L ìß H ±ß 1öA¸ºH‰ßHÇ$‰D$1Àè…TþÿA‹D$L Íß H {ß 1öA¸ºH‰ßHÇ$‰D$1ÀèOTþÿA·D$L µâ H Dß 1öA¸‘ºH‰ßHÇ$‰D$1ÀèTþÿA·D$ L ”â H ß HÇ$ A¸’º1öH‰ß‰D$1ÀèáSþÿI‹…(fƒx„rE1öE1ÿf„M‰ôM¥0L lã H ±Þ 1À1öA¸˜ºH‰ßAƒÇIƒÆ@L‰$$è…SþÿH5äÞ 1ÒA¸L‰áH‰ßèïÿÿA‹D$L 1ã H aÞ 1öA¸šºH‰ßHÇ$‰D$1Àè5SþÿA·D$L ˆá H *Þ 1öA¸›ºH‰ßHÇ$‰D$1ÀèþRþÿA·D$L Üâ H óÝ 1öA¸œºH‰ßHÇ$‰D$1ÀèÇRþÿI‹D$ L ºâ H ½Ý 1öA¸ºH‰ßHÇ$ H‰D$1ÀèRþÿIL$(H5–â A¸º(H‰ßè!îÿÿI‹…(·@D9øþÿÿM‹¥8L mâ H QÝ 1ö1ÀA¸¤ºH‰ßL‰$$è-RþÿA‹$L _Ý H $Ý 1öA¸¥ºH‰ßHÇ$‰D$1ÀèøQþÿA‹D$L @Ý H îÜ 1öA¸¦ºH‰ßHÇ$‰D$1ÀèÂQþÿA·D$L (à H ·Ü 1öA¸§ºH‰ßHÇ$‰D$1Àè‹QþÿA·D$ L à H €Ü 1öHÇ$ A¸¨ºH‰ß‰D$1ÀèTQþÿI‹…8fƒx„mE1öE1ÿ@M‰ôM¥@L `á H )Ü 1À1öA¸®ºH‰ßAƒÇIƒÆ@L‰$$èýPþÿH5\Ü 1ÒA¸L‰áH‰ßè“ìÿÿA·D$L #á H ØÛ 1öA¸°ºH‰ßHÇ$‰D$1Àè¬PþÿA‹D$L ß H ¢Û 1öA¸±ºH‰ßHÇ$‰D$1ÀèvPþÿA¶D$ L Tà H kÛ 1öA¸²ºH‰ßHÇ$ ‰D$1Àè?PþÿA¶D$!L ’à H 4Û 1öA¸³ºH‰ßHÇ$!‰D$1ÀèPþÿIL$0H5tà A¸º0H‰ßè™ëÿÿI‹…8·@D9øþÿÿH‹uÈH‰ßHƒÄ([A\L‰éH½°0A¸A]A^A_ÉéÛÔÿÿff.„UH‰åAWAVI‰þAUATSH‰ÓHƒì(H‹‚D· †AÁä D¯áMcäL¢HA<$îîîîtHƒÄ(¸[A\A]A^A_ÉÃf.„L Áá H ;Ú 1ö1ÀA¸ÄºL‰$$èOþÿA‹$L LÚ H Ú 1öA¸ÅºL‰÷HÇ$‰D$1ÀèåNþÿA‹D$L -Ú H ÛÙ 1öA¸ÆºL‰÷HÇ$‰D$1Àè¯NþÿIL$H5 Ú A¸ºL‰÷è@êÿÿA‹D$ L Ú H †Ù 1öA¸ÈºL‰÷HÇ$ ‰D$1ÀèZNþÿA‹D$$L ÃÙ H PÙ 1öA¸ÉºL‰÷HÇ$$‰D$1Àè$NþÿA·D$@L —Þ H Ù 1öA¸ÊºL‰÷HÇ$@‰D$1ÀèíMþÿA¶D$BL yÞ H âØ 1öA¸ËºL‰÷HÇ$B‰D$1Àè¶MþÿA¶D$CL \Þ H «Ø 1öA¸ÌºL‰÷HÇ$C‰D$1ÀèMþÿA¶D$DL ;Þ H tØ 1öA¸ÍºL‰÷HÇ$D‰D$1ÀèHMþÿA¶D$EL Þ H =Ø 1öA¸ÎºL‰÷HÇ$E‰D$1ÀèMþÿA¶D$FL Þ H Ø A¸Ïº1öL‰÷HÇ$F‰D$1ÀèÚLþÿA¶D$GL çÝ H Ï× 1öA¸ÐºL‰÷HÇ$G‰D$1Àè£LþÿA‹D$`L ÌÝ H ™× 1öA¸ÑºL‰÷HÇ$`‰D$1ÀèmLþÿA‹D$dL ¬Ý H c× 1öA¸ÒºL‰÷HÇ$d‰D$1Àè7LþÿA‹D$hL ŒÝ H -× 1öA¸ÓºL‰÷HÇ$h‰D$1ÀèLþÿA‹D$lL lÝ H ÷Ö 1öA¸ÔºL‰÷HÇ$l‰D$1ÀèËKþÿA‹D$pL LÝ H ÁÖ 1öA¸ÕºL‰÷HÇ$p‰D$1Àè•KþÿA‹D$tL ,Ý H ‹Ö 1öA¸ÖºL‰÷HÇ$t‰D$1Àè_KþÿA‹D$xL Ý H UÖ 1öA¸×ºL‰÷HÇ$x‰D$1Àè)KþÿA‹D$|L ìÜ H Ö 1öA¸ØºL‰÷HÇ$|‰D$1ÀèóJþÿI‹„$€L ÉÜ H æÕ 1öA¸ÙºL‰÷HÇ$€H‰D$1Àè¹JþÿA¶„$ˆL ¨Ü H «Õ A¸Úº1öL‰÷HÇ$ˆ‰D$1ÀèJþÿI‹D$HL ŠÜ H uÕ 1öA¸ÛºL‰÷HÇ$HH‰D$1ÀèHJþÿI‹D$PL ;Ú H >Õ 1öA¸ÜºL‰÷HÇ$PH‰D$1ÀèJþÿH‰ßè ÏÿÿA·\$@·ÀL *Ü H ûÔ 1öM¬„A¸á1ÀºL‰÷èÓIþÿ…ÛA‰ß„júÿÿ1ÛfDI‹EL ñÛ H ·Ô 1öA¸äºL‰÷IƒÅH‰D$A‹„$IƒÄ‰$ƒÃ‰D$1ÀèxIþÿD9û|³éúÿÿUfºþUªH‰åt 1ÀÉÃD1É€ºÂîH‚¾uëã@ƒÁ€xîtÖHƒÀƒùuî¸ÉÀU¸H‰åÉÃDUH5ª0H‰åÉé_;þÿffffff.„UH‰åH‰]ØL‰eàH‰ûL‰mèL‰uðI‰ÍL‰}øHƒì0H‹F(E‰ÏM‰ÄA‰ÖH‹p訲þÿE„ÿu3H#‡ H‰ÁL‰æL‰ï1Àèœ H˜H‹]ØL‹eàL‹mèL‹uðL‹}øÉÃ@L‹ƒèH Û H‰ÁE·ÎL‰æL‰ï1Àè^ H˜ëÀf.„UE1ÀH‰åL‰mèL‰uðD¶éD·òH‰]ØL‰eàL‰}ø1ÉHƒì@E‰éD‰òI‰üI‰÷è&ÿÿÿL@L‰ÇL‰EÈèæµþÿH…ÀH‰ÃL‹EÈt2E‰éH‰ÁD‰òL‰þL‰çèöþÿÿH‰ØL‹eàH‹]ØL‹mèL‹uðL‹}øÉÃDH‹5Ù0L‰çè9IþÿëÑ€UH‰åH‰]ØL‰eàI‰ôL‰mèL‰uðH‰ûL‰}øHƒì`H‹5Ÿ0I‰×I‰ÍD‰E¼è8bþÿI‰Æ1ÀM…ö„I‹D$(H‰ßL‰uÈH‹pè…bþÿH…ÀI‰F(„å‹U¼L‹uȹL‰æH‰ßèáþÿÿH…ÀI‰F „±L‹uÈI‹D$0ºI‰F0A‹D$8A‰F8A‹D$Ù A¸ˆº¾H‰ßH‰D$H‹–Œ0H‰$1ÀècFþÿH‹EÈH‰ßH‹p(è3XþÿHuÈH‰ßè7]þÿ1ÀH‹]ØL‹eàL‹mèL‹uðL‹}øÉÀH‹IŒ0L Ù H ÄØ H‰ßA¸Ÿº¾H‰$1ÀèõEþÿH‹EÈH‰ßH‹p(èÅWþÿëH‹5Œ0H‰ßè!`þÿH…ÀI‰Ä„bÿÿÿA‹F8I‹~ A‰D$TA‹FþÿÉÃDUH‰åH‰]àL‰eèH‰óL‰mðL‰uøI‰ÕHƒì H‹“‰0I‰Î¹I‰üè‹4þÿ1ÒH…ÀH‰CXtYHÇHÇ@1ÉL‰pHD¤0HÇC@L‰k(ÇC8H‰ÞH‰C0I‹E L‰çÇC<H‰CHèÃúÿÿ1ÒH…ÀH‰C •‰ÐH‹$L‹d$L‹l$L‹t$ÉÃU¾H‰åSH‰ûHƒì芡þÿ…Àt0H‹çˆ0L ðÕ H bÕ A¸aº1öH‰ßH‰$1Àè–BþÿHƒÄ[ÉÃffffff.„UI‰úH‰åAWI‰÷AVA¾AUE1íATS1ÛHƒì8H‹FXHÇEÈL‹`‰ØHƒÀHÁàI4¶N„É„¤B‹| …ÿ„—B‹T …Ò„ŠI‹G(‰ÒH‹@ H9‡—‰ÿH×H9LJ‰€ùt|€ùtw€ù…trƒÃHV1ÉL‰×L‰U¸A‰ØL‰þè/úÿÿ…ÀL‹U¸„ÇAƒîL‰êu6f.„H…Ò¸u~HƒÄ8[A\A]A^A_ÉÀƒÃL‰êAƒîtÔI‰Õé.ÿÿÿ@ƒÃëéH‹‘‡0L JÔ H Ô ºL‰×A¸Ÿ¾ƒÃH‰$L‰U¸1Àè6AþÿL‰êL‹U¸ë£DHMÈL‰þA¸L‰×èóûÿÿ…À•ÀHƒÄ8[A\A]A^¶ÀA_ÉÃ1ÀéOÿÿÿUH‰åAWAVLvAUI‰õATSH‰ûHìèL‹fM9ôuë?€M‹$$M9ôt/AöELuð1ÒL‰æH‰ßè³ÿÿÿ…ÀußHÄè[A\A]A^A_ÉÃDI‹E IƒÅ I9ÅL`ð„%H½ÿÿÿ1À¹L}°HÇE°HÇE¸óH«H…ÿÿÿÇE°ÇE¸˜H‰EÀI‹D$(¾H‹x1Àèj…ÀA‰ÆˆÑÇ… ÿÿÿë#f„‹… ÿÿÿƒÀ=‰… ÿÿÿ†1ÀL‰ú¾iD‰÷èÄo…ÀyÐè ¥‹8ƒÿtÄ‹… ÿÿÿƒø~ƒÿtºè?6H‰D$I‹D$(L 3Ó H Ó A¸%º¾H‰ßH‹@H‰D$‹… ÿÿÿ‰$1Àèk?þÿ1ÀéÅþÿÿ@I‹D$I9ÅL`ð…ÿÿÿ¸é¥þÿÿ褋8èÈ5H‰D$I‹D$(L ™Ò H ¢Ò A¸º¾H‰ßH‹@H‰$1Àèþ>þÿ1ÀéXþÿÿUH‰åH•`ÿÿÿH‰]ðL‰eøHì I‰ü¿H‰óè–g…Àu‹…xÿÿÿ%ð= t1ÀH‹]ðL‹eøÉÃ@H‰ÞL‰ç蕨þÿH=AÒ H‰Æ¹ó¦”À¶ÀëÎfff.„UH5G{ H‰åH‰]àH‰ûH=Ò L‰eèL‰mðL‰uøHƒì0è2uH…ÀI‰Ä„¾L5#Ò A½f„L‰çèHoH…À„?H‹pL‰÷L‰éó¦uáL‹hL‰çèÅtM…íL‰-ûÇ0„ÝL‰ïèM6HxèÄ«þÿH…ÀH‰âÇ0t8H‹ÑÇ0H ÎÑ H5’² H‰Ç1ÀèIÿH‹ºÇ0H‹]àL‹eèL‹mðL‹uøÉÃH5yÒ H‰ßè?þÿëÖ€H5Pz H=.Ñ èUtH…ÀI‰Ä…#ÿÿÿHÑ L Ñ H *Ñ A¸/º¾H‰D$HßÐ H‰ßH‰$1Àè=þÿHÇÇ0€L ûÐ H àÐ 1ÀA¸Hº¾H‰ßèà<þÿ1Àé7ÿÿÿf„L‰çè˜sHÇÍÆ0ë³ff.„UH‰åH‰]ØL‰mèI‰ýL‰}øL‰eàI‰÷L‰uðHƒì`èþÿÿH…ÀH‰ÃÇE¼„³L‰þL‰ïèk¦þÿH‰ßI‰ÆèÐ4L‰÷I‰ÄèÅ4I| è;ªþÿH…ÀI‰Ä„ŸLSÐ H5VÐ L‰ñH‰ÇH‰Ú1ÀèÁýH5ùx L‰çè"H…ÀI‰ÆÇE¼t0H}ÀH‰Áº¾èíH…Àt€}À1tbÇE¼L‰÷èã L‰çè˨þÿH‰ßèèþÿ‹E¼H‹]ØL‹eàL‹mèL‹uðL‹}øÉÃf.„H5ÙÐ L‰ïè!=þÿÇE¼ë½„L §Ï H XÏ A¸Óº¾L‰ï1ÀL‰<$èT;þÿÇE¼émÿÿÿ„UH‰åH‰]ØL‰eàI‰üL‰mèL‰uðH‰×L‰}øHìI‰÷I‰ÕA‰Îè}3Hxèô¨þÿH…ÀH‰Ã„¸H¥ H5ɯ L‰éH‰Ç1Àè}üH‰ÞL‰çèÒ¤þÿH‰E˜è¹¡H‹}˜H‰Eˆè,3H‹u˜H‹UˆH¾LÿH‹öDHu€~dt6H‰ÞL‰çè£ûÿÿ…Àu7H‰ßE1öè„§þÿD‰ðH‹]ØL‹eàL‹mèL‹uðL‹}øÉöº1öH‰$L‰ç1Àèž4þÿL-KŠ E0öé!ÿÿÿL É H gÈ A¸Bº¾L‰ç1ÀL‰,$1Ûèa4þÿéFÿÿÿU‰÷1À¾‚SH‰åSH‰ÓHUàHƒìè"d‰Â1À…Òu)‹Eà‰ÂÁꉉÂÁúâÿ‰S¶Ð¶Ä‰C ‰S¸HƒÄ[ÉÃf.„UHF‰VÇÆFH‰åˆPÆ@Æ@€Æ@H‰òÆ@¾1Àè©c…ÀÉ”À¶ÀÃffffff.„UH‰åL‰uðHE°LuÀH‰]ØL‰eà‰óL‰mèL‰}øHƒì`…ÉI‰ý¿ÿLDðHÕI‰ÔÇE¸ÇEÈ H‰E°HYÿÿÿH‰EÀè0¡þÿI‰Ç1ÀM…ÿtdA‹NL‰þ‰ßƒÁH‰ÊH‰M¨Aÿ…ÀH‹M¨t8A‹v‰ðE¶L9ÁrPƒÆL‰ÂL‰ïI47èœþÿH‰Çè® þÿH…ÀI‰D$•À¶ÀL‰ÿ‰E¨èÕŸþÿ‹E¨H‹]ØL‹eàL‹mèL‹uðL‹}øÉÃ@IL‰E¨L‰þ‰ßAÿ…ÀL‹E¨tÀA‹vë’f.„UI‰ÑA‰ø1À¹ H‰åHƒìpˆUôHUÆEðÆEñÆEò€H‰×ÆEóÆEõóH«HEðH‰u D‰Ç¾…"ÇESÆE˜H‰E¨1ÀÇE”ýÿÿÿD‰MœÇE¸pèb…ÀÉ”À¶ÀÃUH‰åAUI‰õATSHƒìH‹>H‹H9þH‰Ãuë4H‰ØH‹WI‰ÜH‰SH‹WHÇGH‰HÇèÇžþÿM9åH‹L‰çuÌHƒÄ[A\A]ÉÃUH‰åAVAUI‰ýATSH‰óHƒìL‹6I9öt~1Éë8€Aƒ~…I‹v 1ÒL‰ïèo;þÿ…ÀA‰Ä…ĹM‹6I9ÞtB…ÉuËA‹F…À…’I‹F H‹PH‹pÇ@<H‰rH‹pH‰HPH‰PM‹6H‰PI9Þu¾E1äH‰ÞL‰ïè÷þÿÿHƒÄD‰à[A\A]A^ÉÀH Æ L :Æ H Æ A¸!º¾H‰$L‰ï1Àè½0þÿA¼êÿÿÿ룃ø…Mÿÿÿé*ÿÿÿ€HPÆ L Æ H /Æ A¸1º¾H‰$L‰ï1Àèm0þÿéVÿÿÿUH‰åH‰]ØL‰eàA‰ôL‰mèL‰uðI‰þL‰}ø¿Hƒì0I‰ÕE1ÿèžþÿH…ÀH‰Ãt(ÆìÆ@H‰Â¾1ÀD‰çèý_…Àt)E1ÿH‰ßèþœþÿD‰øH‹]ØL‹eàL‹mèL‹uðL‹}øÉÃDHsºL‰÷A·èì˜þÿH‰Çè„þÿH…ÀI‰Euµë°H…ÿt H‹¼y0H‰8ÃH‹±y0H‚H‰Ãfffff.„‰=š¹0Ãf„‰w(¸Ã€‰w,¸Ã€‰w0¸Ã€‰w4¸Ã€‰w8¸Ã€H©0ĶÐH‰l$ðH‰\$èH•HLL‰d$ø‰ýHìèH)Â@€åH„$σýL‰D$@L‰L$Hÿâ)xñ)pá)hÑ)`Á)X±)P¡)H‘)@Ž¢‹¼¸0…ÀtqH„$ðÇ$ ÇD$0H‰D$HD$ H‰D$A‰üA䀄ÒH‹cx0H‹;H‰âH‰Îè]SƒýŽÃE…ä„“H‹º‰ÐH‹\$ H‹l$(L‹d$0HƒÄ8Ã@H‹ál0H‹èˆ‹8èJºöH‰$E‰áI‰èH lº H5°» ¿1ÀÿÓ1Òë¦èˇ‹8ƒÿ_fDt…H‹èºýH‰$L ¼ I‰èH ¡» H5h» ¿1ÀÿÓH‹|$è>1ÒéQÿÿÿff.„H‰\$ÐH‰l$ضÂL‰d$àL‰l$èÁæL‰|$øL‰t$ðHìø ð0ÒHl$ Áâ A‰Å¾A ÕI‰üH‰úH‰ï‰L$E‰ÇD‰ËèõÿÿH”$ H‰î¿èñI…ÀxI‹„$8I‰èH ¸ º%ð=`…×L9¬$H¸„ÞH‰ïèŒP…Àˆœ1ÿ€Ï`è KHŒ$¸‰Ú1ÿH‰îA‰ÆL‰¬$¸èkJ…ÀM‰àH W¹ º%xxD‰÷èÐJ‹t$D‰úH‰ïèP…Àˆ±L‹ *k01ÀI‰èH ³º º/H5 º ¿Aÿ¾`H‰ïèuýÿÿ…À•À¶Àë5H · M‰àºf„L‹ Ñj01ÀH5ù ¿Aÿ1ÀH‹œ$ÈH‹¬$ÐL‹¤$ØL‹¬$àL‹´$èL‹¼$ðHÄøÃfDH‹yj0H‹è™…‹8èâL ò¹ H‰$I‰è1ÀH €¹ º+H5B¹ ¿ÿÓ1Àé{ÿÿÿAWL=·‘0AVAUATUSHƒì(H‹-¤‘0L9ýL‹m„wHD$$H‰D$ë9L‰çè°ýÿÿH‹EH‹UH‰ïH‰PH‹UH‰è…ÛM9ýI‹E„8L‰íI‰Å‹ED‹U8‹]4H‹}@D‹M0D‹E,ƒø‹M(‹U$‹u L‹e„örœƒø„Ûƒøu–ƒûÿtŽAƒâft!H‹t$L‰çèöÿÿ…À„á‹D$$9Â5A€<$„úL‰çèBõÿÿ…ÀA‰ÆˆOL‹8i01ÀA‰ÙM‰àH ɸ º¬H5¸ ¿Aÿ1À‰Ú¾bD‰÷èÜN…À…<D‰÷èLI…Àf„òþÿÿH‹ãh0H ¸ º´H5Ë· ¿1ÀÿéÊþÿÿf.„L‰æèóÿÿé³þÿÿL‰çèHòÿÿé£þÿÿHƒÄ([]A\A]A^A_ÃL‹h0H ¹· ºÆH5i· ¿Aÿéiþÿÿf„L‹Qh0H ò´ º¥H59· ¿1ÀAÿé7þÿÿ€L‹!h0A‰Á‰$M‰àH 9¶ ºËH5· ¿1ÀAÿéþýÿÿfDL‹ég0H !· ºªH5Ѷ ¿1ÀAÿéÏýÿÿ€H‹¹g0H‹èÙ‚‹8è"L `· H‰$M‰àH ¶ º¯H5„¶ ¿1ÀÿÓéþÿÿH‰ÈSL‰ÁH‰ûH‰÷H‰ÖH‰Âè¸(H‰Â1ÀH…ÒtHƒ{tH‹CH‰P H‰S¸[Ã@H‰SH‰S¸[ÃH‰\$ðH‰l$øH‰ûHƒìH‹¿ˆH‰õH…ÿtè«ØHǃˆH‰ïèH…ÀH‰ƒˆºt‰ÐH‹\$H‹l$HƒÄÃfDL‹ Áf0º°I‰èH µ H5¦µ ¿1ÀAÿ1Òë¾DH‰\$àH‰l$èH‰ýL‰d$ðL‰l$øHìHH‹H‰óH…ÿt èØHÇE¾/H‰ßèÜH…À„ÆL`H ¸}0HI° ¾H‰ç1ÀM‰àèÝH”$H‰Þ¿è*D…Àu+H”$H‰æ¿èD…ÀuH‹„$H9„$t[H d´ I‰Øº™L‹ Íe0H5Á´ ¿1ÀAÿ1Ò‰ÐH‹œ$(H‹¬$0L‹¤$8L‹¬$@HÄHÄL‰ãH‰ßè•H…ÀH‰EºuµI‰ØH ´ º¡ëŠfDUH5K´ ‰ýºi¿SHƒìè"H…ÀH‰ÃtnèÅ%…ÀtV¹1ÀH‰ßóH«‰+ÇC,ÿÿÿÿÇC(ÿÿÿÿÇC0ÇC4ÇC8°ÇCtÇC<ÿÿÿÿÇC@H‰ØHƒÄ[]ÃDH‰ß1ÛènÖëåL‹ ½d0A¸H ˆ³ ºmH5Ÿ³ ¿1ÀAÿë¹H‰\$àH‰l$è1ÛL‰d$ðL‰l$øHƒì(I‰ý¿ I‰ôèÿÿÿH…ÀH‰Åt)H‰Ç膅ÀtBH‰ïL‰âL‰îè4 1ÛH‰ï…À•ÃèU‰ØH‹l$H‹\$L‹d$L‹l$ HƒÄ(Ãf.„L‹d0H г º·H5ù² ¿Aÿëšfff.„H‰\$èH‰l$ð1ÛL‰d$øHƒìI‰ü¿ènþÿÿH…ÀH‰ÅtM…ät1L‰æH‰Çèýÿÿ…Àu"1ÛH‰ï踉ØH‹l$H‹$L‹d$HƒÄÃH‰ïèØ…ÀtÒH‰ï蜉ÃfëÆfDH‰òH5A³ Hƒìè]¸HƒÄÃAVAUATUSHƒì0Hƒ=L£0„ëL‹5'c01ÀH ³ ºÁH5+³ ¿AÿH‹£0H…Û„·Hl$E1íA¼?@1Òë@ÆD HƒÂHƒút%H9SvëH‹C0¶„À…“ÆDHƒÂHƒúuÛÆD$/L‹K0H D³ D‹C‹S(¿H‹s H‰l$H‹CH‰$1ÀAÿLkH‹[H…Ûu…Hƒ=}¢0t M‰èH ‚² º×H5f² ¿1ÀAÿHƒÄ0¸[]A\A]A^Ãf„<ANĈDé>ÿÿÿHƒìHÿ€ðúwHƒÄéjâf.„L‹ ña0I‰ø1ÀH ­² ºïH5ò± ¿Aÿ1ÀHƒÄÃfATHÿ€ðúA‰ÔI‰øH z² º@UH‰õSH‰û‡H@èþáH…ÀH‰Á„òHx8D‰`(H‰h H‰XHÇAH‰x0‹¡0H‰þƒÀH…Û‰¡0‰At-1Òf.„‰ÐƒàƒøÀƒàƒèFˆD8HƒÂH9ÓwãH41ÒD‹AˆHƒÂHƒúuðHƒ= ¡0H‹!¡0H‰tTH‰HH‰ ¡0‹¡0ƒÀ;¡0‰¡0v‰¡0‹¡0Ø;þ 0‰ô 0v‰ð 0[]H‰øA\ÄH‰ Á 0H‰ ² 0ë§H ¡± I‰ØºFL‹ ‚`0¿H5° 1ÀAÿ1ÿëµDHƒìH‹ u 0H…Ét(H‹A¶QHt81À8u#HƒÀHƒøuñH‹IH…ÉuØHƒÄ@ÀH ‘± H5+° H=N° ºäèI{f„HƒìH…ÿ„ÃL‹OøHwÈI9ù…ûL‹WØD‹Gà1ÀJL8D‰Â8…ÁHƒÀHƒøuíE…À„ H‹WÈH…Ò„H‹GÐH‰BH‹GÐH…ÀtnH‰M…ÒÇGàL‰Ñt%1Òf‰ÐƒàƒøÀƒàσè"AˆH‹NHƒÂH9Ñwß‹}Ÿ0…À„‰ƒè) tŸ0H‰÷‰cŸ0HƒÄéÖÐfDHƒÄÃH‰9Ÿ0대H‹GÐ1ÒH‰Ÿ0ékÿÿÿH …° H5 ¯ H=K¯ º‹è'zH f° H5ê® H=¯ º…èzH G° H5Ë® H=7¯ º¢èéyH (° H5¬® H= ¯ ºŽèÊyf.„H‰ÐH‰\$ðH‰l$øH‰ûHƒì‰÷‰ÊH‰ÆèüÿÿH…ÛH‰ÅtH‹SØH‰ÇH‰Þèi5H‰ßèAþÿÿH‰èH‹\$H‹l$HƒÄÃffffff.„H‰\$èH‰l$ð‰ÓL‰d$øHƒìH…ÿH‰ýI‰ôt<èK Hx‰ÚL‰æèüÿÿH…ÀH‰Ãt H‰îH‰ÇèêH‰ØH‹l$H‹$L‹d$HƒÄÃL‹µ]0H î® ºH5»­ ¿1À1ÛAÿëÂH…öt#H‹H‰H‹FH‰H‹FI‰H‹FI‰H‹F ÃH‹w1ÀH…öuÒóÃff.„H‹GHHƒÀ0ÀH‹GHH°ÃDH‹GH‹PHÐÃDH‹GH‹PHÐÃDH‹GH‹PHÐÃDÇG ¸Ã‰w<‰W@¸Ã@ÇG|¸ÃH‰wh¸ÃfDÇGp¸ÃÇGt¸ÃÇGx¸Ã‰w$¸Ã€H‹‡€Ã„Hƒì‹=úƒ0ƒÿÿtè¬<Çæƒ0ÿÿÿÿHƒÄé òÿÿf„HƒìèÇÿÿÿH‹=hœ0H…ÿtè"HÇSœ0Ç¡ƒ0ÇGœ0HƒÄÃfé»ñÿÿff.„ATI‰üUSH‹oH…ít&H‹}H‹] èsÍH‹}èjÍH‰ïH‰Ýè_ÍH…ÛuÚI‹|$H…ÿtèKÍI‹|$PH…ÿtè<ÍI‹|$XH…ÿtè-ÍI‹|$HH…ÿtèÍI‹¼$ˆH…ÿtè Í[]L‰çA\éÍ1ÀƒþS‰ó[Ã@A‰È‰ÑHfP 1ÀHcöè*Ò‰ÂÁê9ÞÀ Ѓð¶À[ÃfDSH‹_HI‰òH‰ÐH…Ût@D‹KD‹CH“¬ ‹ H‰ÆL‰×1ÀèâÑ‹C‰5›0‹C[‰/›0¸Ãf„Æ1À[Ãf„AWI‰÷H5sM AVI‰þAUI‰ÕATUSHì(èŠçH…ÀH‰ÃHl$L¤$„¿H‰ßèi+…ÀuODH5¬ 1ÀH‰éL‰âH‰ßèùÒƒø„H‰ßèX.ƒøÿDt½ƒø uæH‰ßè+…Àt¶H‰ßèà…À@…œM…퀄ÕL‹óY01ÀM‰ùM‰ðH ²« º¥H5« ¿Aÿ1ÀHÄ([]A\A]A^A_Ã@H‰îL‰ÿè•…À…,ÿÿÿM…í…‹Œ$º‰ÈƒáÁèÓâ‰ÀH…Hµ™0 éõþÿÿH‹gY0H‹è‡t‹8èÐL « H‰$M‰ð1ÀH n¨ º¢H5Þª ¿ÿÓM…í…+ÿÿÿ¸éMÿÿÿ‹„$H‰ßA‰Eèß…ÀtßH‹ýX0H‹èt‹8èfL ®ª H‰$M‰ð1ÀH ¨ º˜H5tª ¿ÿÓ¸éìþÿÿH‹³X0H‹èÓs‹8èL @ª H‰$M‰ð1ÀH º§ ºŽH5*ª ¿ÿÓ1Àé¥þÿÿff.„HƒìHƒ=œ˜0tº‰ÐHƒÄÃfD1ÿ¾èD1ÒH…ÀH‰p˜0tÙH5ª H=ª 1Òèaýÿÿ…Àu»H‹=N˜0èHÇ>˜01Òë¥fH‰\$ÐH‰l$ØL‰d$àL‰l$èL‰t$ðL‰|$øHìøƒ=h0ÿtB¸H‹œ$ÈH‹¬$ÐL‹¤$ØL‹¬$àL‹´$èL‹¼$ðHÄøÃDLl$ Ç„$¼è;ÞÿÿHp© H‰Á¾L‰ï1ÀèRÎH”$¼H5`© H=:© è‡üÿÿ…À…H‹-0W0Ç„$¼H ª º%H5»¨ ¿1ÀÿUH”$ L‰î¿D‹¤$¸‹œ$¼èü4…Àˆô‹Œ$8‰È%ð= tH‹-ÀV01ÀM‰èH Ψ ºÅH5Q¨ ¿ÿUL‰ïè;…À…FD‹´$¼D‹¼$¸E…ö…w€1ÀH ï© º8H5¨ ¿ÿU1Àé‡þÿÿ@…Û„À‰ØA¶ÔÁà ÐD‰â0ÒÁâ ÐH9„$H„‰ÈH‹-V0¶ÑÁè A‰ÉM‰è%ÿAáÿH © ÐAÁéºÐ‰$H5‰§ 1À¿D‰d$‰\$ÿUL‰ïè½:…À„-ÿÿÿèàp‹8H‹]è%L Õ§ H‰$M‰èH Ť ºÓH55§ ¿1ÀÿÓ1À¾L‰ïèI5…À‰}0ˆ3èöüÿÿ…À…ŒýÿÿL‹OU0H ˜¨ º1H5å¦ ¿Aÿ1ÀéhýÿÿDH”$¸H5§ H=!§ èUúÿÿ…À…ýýÿÿéÉýÿÿ¿è{4‰Ãè´ÛÿÿH‰Çèü‰ßA‰Äèb4E…ä„aþÿÿE‰ñ1ÀD‰<$M‰èH ô¦ ºéH5[¦ ¿AÁæÿUA¶ÇA€çHŒ$°A ÆAÁç 1ÿD‰ðº€!L‰îD øH‰„$°èz3…Àˆá¾ L‰ïèÕæÿÿ…À…ÕþÿÿH £ ºóH5ë¥ ¿ÿUéÅýÿÿDèSoH‹-$T0‹8H‹]è‘L ¶šH‰$M‰èH 1£ º,H5¡¥ ¿1ÀÿÓézýÿÿfè o‹8ƒÿfDuH‹-ÏS0é:ýÿÿfH‹-ÁS0H‹]è0L =i H‰$M‰èH Т ºÀH5@¥ ¿1ÀÿÓéùüÿÿè¬n‹8H‹]èñÿL Ä¥ H‰$M‰èH ‘¢ ºíH5¥ ¿1ÀÿÓéÚüÿÿèmn‹8H‹]è²ÿL b¥ H‰$M‰èH R¢ ºÈH5¤ ¿1ÀÿÓé‹ýÿÿS‰ûè˜úÿÿ1Ò…Àt$‰ÙH‹1“0ƒãÁ鸉ΉÙÓà…D²•À¶Ð‰Ð[Ãf.„1ÒHƒH„ÕHÇHÇFºHÇFHÇFHÇF H‹GH‹@Áèƒà…À‰„’H‹GH‹@Ñèƒà‰FH‹GH‹@ƒà‰F H‹GH‹@Áèƒà‰FH‹GH‹@Áèƒà‰F H‹GH‹@‰F$H‹GH‹@‰FH‹GH‹@ ‰FH‹GHH‹@(%ÿHÁè‰FH‹GHH‹P(H‰ÐâÿHÁè %ÿ к‰F‰ÐÃff.„AWAVAUI‰ýATUSHìH‹ƒú‡! HcÂH ÇM0…ÒH@‹DÁ‰„$¬… Hƒ„»1ÿè.ìÿÿH…ÀH‰ÅH q¥ º™„/ I‹uH…ötH‰ÇèÅêÿÿ…À„Õ I‹µˆH…ötH‰ïèêÿÿ…À„¹ A‹E(H‰ï‰E(A‹E,‰E,A‹E0‰E0A‹E4‰E4A‹E8‰E8è6ÿÿÿH‰ï‰Ãèõÿÿ…Û„í¿èšëÿÿH…ÀH‰ÅH ݤ ºµ„› I‹uH…ötH‰Çè1êÿÿ…À„A A‹E H‰ï‰E I‹EH‰EI‹EH‰EèÊþÿÿHÇE‰ÃHÇEH‰ïè ôÿÿ…Ût1I‹½ˆAÇEèÂIÇ…ˆL‰ïè…þÿÿ…À‰Ã…DI‹½ˆAÇEèçÁIÇ…ˆL‰ïèTþÿÿ…À…L‹P0H >¤ ºÛH5³¡ ¿AÿéîDƒú„Öƒê@uD‹O|E…É€…hfèÓ÷ÿÿ1Û…À„²HŒ$H‰Œ$˜HƒÁH‰Œ$DI‹]D‹5á0H…Û„Ƚ8E1ä@H‹{AƒÄèËýH‹[ Hl1H…ÛuåIƒ}huIƒ}Xt\H  £ ºÁH‹DO0H5æ  ¿1ÀÿH‹-O0H ¥ º6H5à ¿1Àÿ1ÛHÄH‰Ø[]A\A]A^A_ÃIƒ}P……Iƒ}`…‹I‹}XH…ÿfDtufDè#ýHl ëcI‹}PH…ÿ„Iƒ}hfuIƒ}Xt)H g£ ºÐH‹-“N0H55  ¿1ÀÿUéIÿÿÿIƒ}`…è fèÃüH¨9E1äHýÿ?¸@HFèE…öt @HíAƒîu÷H5០º÷H‰ïèìÿÿH…ÀI‰Æ„ëþÿÿ1öH‰êH‰ÇèJIcEH5J0A‰n AÇF8H@‹TÆ A‰‹TÆ‹DÆA‰VA‰FA‹},…ÿx/A‹u(…öŽÁ AƒNA‹E,A‹U(¶ÈÁâ0À ÊÁà ÂHcÒI‰V(ƒ=ö0†lI‹uH…öt#Aƒ}…½ A‹M,…Ɉ± A‹U(…Òˆ¥ I‹µˆH…ötI¾°ºè[þAƒ}„ A‹Ep…ÀtANA‹E …ÀtAƒNA‹Ex…ÀtANE‰fA‹E$Iž8A‰F I‹EH…ÀH‰„$ЄðI¿ng ioctlI,.H¸Ran out L‰¼$øM¾`H‰„$àH¸of memorI¼ parametH‰¬$ÈH‰„$èI9ïH¸y buildiH‰„$ðL‰¤$fÇ„$erÆ„$ ‚‰é³ fDL{(L9¼$ÈH½Ran out I»of memorIºy buildiI¹ng ioctlI¸ parametH‰¬$àL‰œ$èL‰”$ðL‰Œ$øL‰„$fÇ„$erÆ„$ †/ H‹´$ÐH‹¼$ºÇ„$ H‰ÝH‹H‰„$H‹FH‹vH‰„$è§üH‹”$ÐL‹bL‰çèãùH˜I\H9œ$ȆýHƒÃL‰æL‰ÿèõHƒãøH‹”$˜‰Ø)èH…Û‰„$$H‹H‰EH‹BH‰EH‹BH‰EH‹BH‰EH‹B H‰E „pH‹Œ$ÐH‹I H…ÉH‰Œ$Ð…£þÿÿI‹uPH…ötH‰ßè õIƒ}XtI‹EhI‹uXH{H‰èïôI‹u`H…ötH‰ßèÞôAƒ} uAƒNA‹V1ɉЃÈA‰FA‹}t…ÿtÊA‰VA‹MtH‹5ŽJ0I‹EXH¢–L=›–A‹n I‹]hH‹6H…ÀHEÐA‹E(‰¬$ÄH‰”$¸H‰œ$°H‰´$ØA‹ux…öH5³œ LEþAƒ}pöƒæøƒÆNƒùÉ÷уÁO…ÀŽ/A‹U,E1ÛH“š ƒút H–DMÚH-pœ 1ÿLeœ …ÀL%U IøH‰¬$ˆI‹UPL ¦c H…Ò„‰IcEIn0‰L$HH‹Œ$ˆ‰t$PH5K› H‰¬$ H-«E0D‰\$0‰|$ L‰T$¿H@H‰L$@H‰T$L‰L$H vŸ L‹Œ$ L‹DÅ‹„$ĺQH‹¬$¸L‰|$XH‰\$8L‰d$(‰D$pH‹„$°H‰l$hH‰D$`I†°H‰$1Àÿ”$Ø‹´$¬‹=›p01ÀL‰òèÍ.…Àˆ5AöFt/Aƒ}†ÂH‹ÓH0H <Ÿ º¢H5iš ¿1ÀÿAƒ}‡PA‹EH¹  Hc‚HÐÿàL‹ ‘H0A‰ÐH Oœ º~H5$š ¿1À1ÛAÿé[ùÿÿ¿ èãÿÿH…ÀI‰Æf„I‹uH…ötH‰Çè©áÿÿ…ÀuL‰÷1ÛèKìÿÿéùÿÿI‹µˆH…öt L‰÷èïàÿÿ…ÀtÖA‹E(L‰÷A‰F(A‹E,A‰F,è#öÿÿ…À‰Ã„ÓI‹v1ÉH…öH‰ð…—I‹FHI‰€ö@…’E‹E E…À……M‹eH‰õM…ätpH…íu@鬯H‹]H‰ßèéõHDÿ€8 tçH‹EI9$uEH‹UI9T$u:I‹|$H‹uèLñ…Àu(I‹|$H‰Þè;ñ…ÀuM‹d$ H‹m M…äuH…í„UL‰÷èHëÿÿAÇE|L‰ïèHõÿÿ‰Ãé øÿÿHƒ…<÷ÿÿHƒ¿ˆfD…(÷ÿÿD‹W(E…Ò÷ÿÿè°ÍÿÿH‰ÇH‰ÅL%☠èN@H…ÀH‰ÃA¾„‘H‰ßèdAH…À„€x.L@„ÃL‰ÆL‰çL‰ñó¦tÔL‰ïL‰ÆèõßÿÿL‰ïè­ôÿÿë¿H‰ï1ÛèŽêÿÿfDé\÷ÿÿH Üš ºÆéÀ÷ÿÿH óš ºËéþöÿÿH‰ÂH‹@ H…ÀuôH‹JH éQþÿÿI‹uH…ö…øÿÿI‹µˆH…ö…¯øÿÿI‹^(H…Û„³øÿÿ¿ è¤àÿÿH…ÀI‰ÇtH‰Çèôÿÿ…À…·L‰ÿèôéÿÿH‹-ÕE0E‹M,H ’› E‹E(ºH5c— ¿1ÀÿUL‰÷èP·éoöÿÿI‹}H…ÿ@t:€?t2I‹v(A‹M0E‹M8E‹E4H‰ò@¶ÆæÿHÁê HÁîâÿ Âè×ÿÿI‹}HH…ÿtèö¶M‰uH»é1öÿÿI‹}H…ÿtÛèêÕÿÿfëÒA‹U@A‹u0¸uŸÇuf01Àë‘L‹Ñ>0H j• ºH5g ¿1ÀAÿëËf.„L‰t$øI‰öH5B H‰\$ØH‰l$àH‰ÍL‰d$èL‰l$ðI‰ÔHƒì(I‰ýºF¿(èQÜÿÿH…ÀH‰Ã„µHÇHÇ@H‰ïHÇ@HÇ@HÇ@ èFêH…ÀH‰C„¨L‰çè1êH…ÀH‰Ct(L‰+L‰sH‰ØH‹l$H‹$L‹d$L‹l$L‹t$ HƒÄ(ÃL‹á=0H ò” ºVH5w ¿AÿH‹{èe¯H‹{è\¯H‰ß1ÛèR¯ëŸL‹ ¡=0A¸(H \” ºJH51 ¿1ÀAÿépÿÿÿL‹r=0H [” ºQH5 ¿Aÿëffff.„H‰\$ðH‰l$øH‰ûHƒìH‰÷H‰õèDéH…ÀH‰CXºt‰ÐH‹\$H‹l$HƒÄÃDL‹ =0ºI‰èH 2” H5”Ž ¿1ÀAÿ1Òë¿DH‰\$ðH‰l$øH‰ûHƒìH‰÷H‰õèÔèH…ÀH‰CPºt‰ÐH‹\$H‹l$HƒÄÃDL‹ ‘<0ºþI‰èH ê“ H5$Ž ¿1ÀAÿ1Òë¿DH‰\$ÐH‰l$ØL‰d$àL‰l$èI‰ÕL‰t$ðL‰|$øHƒìHH‰t$H‰|$H‰÷I‰ÏM‰ÆèƒêL‰ïH‰ÅèxêL‰ÿI‰ÄèmêL‰÷H‰ÃèbêJT%H5§ HÚH<ºèÕÙÿÿH‹T$H…ÀH‰B`„ƒH‹T$H5PŽ H‰ÇM‰ñ1ÀM‰øL‰éèD³…Àºx+‰ÐH‹\$H‹l$ L‹d$(L‹l$0L‹t$8L‹|$@HƒÄHÃfDL‹;0º H -“ H5 ¿1ÀAÿ1Òë­„L‹Q;0ºH Õ’ H5çŒ ¿Aÿ1Òé|ÿÿÿ€HƒìÇH‹GHH…ÀtMö@tG€x0tHx0HƒÄé¤Çÿÿ@H‹H…ÿuêL‹è:0H Á’ º¯H5~Œ @·1ÀAÿD1ÀHƒÄËÁèA‰ÀAƒÀt*IcÀHÁàH HÆH‹ HƒêHƒî‰HƒéAƒèuèóÃfDD‹ƒÆD9Ö};A¹‰ð‰ñÁøƒáLcÀB‹T‡DD‰ÈÓà…ÐuƒÁƒù uï‰ðƒààp D9Ö|˸ÿÿÿÿÃ@IÁàBÀ¾ÿÿÿÿé–ÿÿÿfDé««ff.„L‰l$øA‰õH‰l$èAÁíL‰d$ðH‰\$àAEHƒì(H‰ýA‰ô‰ÀHÁàH…ÿtHƒ=qm0‰sm0HÇ„$˜tEèÿÿÿè«H‹œ$¨H‹¬$°L‹¤$¸L‹¬$ÀL‹´$ÈL‹¼$ÐHÄØÃH\$H‰Þ¿÷Oè ƒøòè½Gƒ8ftÞ¾/šO¿ñNèw¹H…ÀH‰Ã„vÿÿÿL¤$H¬$˜¾H‰ÇA¾OA½ èÂfH‰Ùº L‰æH‰ïè½HƒøÿI‰Çt`H‹„$˜¾ H‰ÇH‰$è{ÕH…ÀtNHƒÀ¾ H‰ÇH‰D$è`ÕH…Àt3HpL‰÷L‰éó¦uM…ÿÆ~H‹|$èë×H‰,l0H‹„$˜H‰$H‹<$è_H‰ßè§±é­þÿÿf…ÿÿÿ|$Œÿ|ùf…ÿÿÿ¿ Dèë«H…ÀtHº/selinuxÆ@H‰H‰Æk0édþÿÿH‰\$ðH‰l$øH‰ûHƒìH‰÷H‰õè”ÙHHH‰êH‰ßH‹l$H‹\$E1À¾ OHƒÄé?>ffffff.„H‰\$ðH‰l$øHƒì(H‰t$H‰ûH‰÷Ht$½ÿÿÿÿèH…ÀuH‹t$H‰ßèwÿÿÿH‹|$‰Åèküÿÿ‰èH‹\$H‹l$ HƒÄ(ÃH…ÿ¸€}BÇk0HDøH‰=3R0ÃfH‰=ùj0ĸðƒBH…ÿHEÇH‰åj0Ãfff.„L‹Ùj0M…Àt]1ÿ1Ò1ÉE1ÉI‹D81öH…Àt@H‹@ƒÆH…ÀuôƒÁA9ñDLÎHƒÇ òHÿ uËA¸¾`O¿ O1ÀL‹šQ0AÿãÃfDHìØ¶ÀH‰T$0H…¸å}BH‰t$(H‰L$8¾H)ÐH”$ÏL‰D$@L‰L$HH‰áÿà)zñ)rá)jÑ)bÁ)Z±)R¡)J‘)BH„$àH‰ú¿Ç$ÇD$0H‰D$HD$ H‰D$èÈ#HÄØÃH‰\$èH‰l$ðH‰ÓL‰d$øHƒìH‹£i0I‰ô‰ÍH…Àt)H‹H‰ß‰ÎÿЃøÀ÷ÐH‹$H‹l$L‹d$HƒÄÃDH‹qi0H…ÀtH‰òH‰ß‰ÎÿÐëÉ„èË…Ày·‹8i0…Àt1ÀI‹ $‰êH‰Þ¿xOÿVP0¸ÿÿÿÿë—M‹$‰éH‰Ú¾xO¿1ÀÿDP0¸ÿÿÿÿérÿÿÿf.„H‰\$ðH‰l$øHƒìH…ÿH‰ó”ÀH…öt4„Àu)¾:è¶Ñ¾:H‰ÅH‰ßè¦ÑH…í”ÂH…Àt+„Òt6¸ÿÿÿÿë „ÀfDt1ÀH‹\$H‹l$HƒÄÃD„Òuæ@¸ëÝH‰ïH‹\$H‹l$H‰ÆHƒÄéÈÑ„dH‹<%0ÿÿÿéfHƒìdH‹<%0ÿÿÿH…ÿtè dHÇ%0ÿÿÿHƒÄÀHƒìHƒ= h0tbdH‰4%ÿÿÿdH‹4%ºdH‰<%€ÿÿÿdÇ%ˆÿÿÿ1ÿdÇ%xÿÿÿHÆHÿÿÿè HƒødH‰%0ÿÿÿÀHƒÄÄHÇg0ðƒBë‘SH‰þH‰û¿Hì°HT$HÇ„$¨è§…Àu5dH‹<%0ÿÿÿH…ÿtc‹L$(H´$¨H‰Úè‘…ÀtèèAH‰Â1Àƒ:t¸ÿÿÿÿHİ[ÃH‹´$¨H‰ßè@ûÿÿH‹¼$¨‰D$è/øÿÿ‹D$Hİ[Ã1öèÛþÿÿ…Àx¹dH‹<%0ÿÿÿë‡fff.„H‰\$èH‰l$ð‰õL‰d$øHƒì(H‰ûHt$HÇD$HÇ$èM>ƒøÿthdH‹<%0ÿÿÿH…ÿ„ŠH‰æ‰éH‰ÚèÉ…Àt]è AE1äƒ8H‹\$A•ÄH‰ßè‰÷ÿÿH‹<$è€÷ÿÿD‰àH‹\$H‹l$L‹d$ HƒÄ(Ãf„E1äèØ@ƒ8_A•ÄëÏ€H‹\$H‹<$E1äH‰Þèýÿÿ…ÀA”Äë›1öA¼ÿÿÿÿèßýÿÿ…Àx›dH‹<%0ÿÿÿéWÿÿÿffff.„H‰\$ðH‰l$øHƒì(H‰ýdH‹<%0ÿÿÿ‰ñH‰ÓH…ÿtEd‹%˜ÿÿÿ…Òt H‰êH‰ÞH‹l$ H‹\$HƒÄ(é×€H‰êH‰ÞH‹l$ H‹\$HƒÄ(é÷1ö‰L$èLýÿÿ…À‹L$x dH‹<%0ÿÿÿëƒÈÿH‹\$H‹l$ HƒÄ(ÀATUSH‰ÓèTÿÿÿ…ÀˆŒd‹4%@ÿÿÿH‹…ö„‰dH‹%8ÿÿÿëfDd‹4%@ÿÿÿd‹,%Dÿÿÿ9îÐöH‰Çd‰4%@ÿÿÿHcöHÁæè§±H…ÀdH‰%8ÿÿÿuÁdÇ%DÿÿÿdÇ%@ÿÿÿ¸ÿÿÿÿ[]A\À[]¸ÿÿÿÿA\ÃfDdÇ%@ÿÿÿè¿@èZ¤H…ÀI‰ÄdH‰%8ÿÿÿt d‹,%DÿÿÿH‰ßHcíèæÏI‰ìd‹%DÿÿÿdH‹%8ÿÿÿHcÈHƒ<Êt—Pd‰%Dÿÿÿ[]A\ÀdL‹$%8ÿÿÿë´D1öééûÿÿf„H‰\$èH‰l$ðH‰ýL‰d$øHƒì(H‹:‰óHt$I‰Ôè…Àx,I‹<$èë”H‹D$I‰$1ÀH‹\$H‹l$L‹d$ HƒÄ(Ã@èC>H‰Â1Àƒ:tÙ…Ût%I‹ $‰ÚH‰î¿ Oÿ¡J0¸ëºf.„1ÀI‹$H‰î¿>Oÿ|J0¸ë•DATUSdH‹<%8ÿÿÿdÇ%DÿÿÿdÇ%@ÿÿÿèF”H‹=c0dHÇ%8ÿÿÿH…ÿtjE1äf.„J'H‹XH…Ût+H‹{H‹kè”H‰ßH‰ëèø“H…íuãH‹=Ìb0J'IƒÄ HÇ@Iü u³èΓHÇ£b0[]A\Ãfffff.„AVAUA‰õATI‰üUH‰ÕSHìH‹qb0H…À„YM‰æIÁîEæE·öIÁæN40I‹^H…Ûué„@I9Äw{I‰ÞH‹[H…ÛtnH‹L9àuæH‹sH‰â¿èE…Àx L;d$„¯D‰kH‹{è“H‰ïèÁÏHxèÈ¡H…ÀH‰C„H‰îH‰Çè`ËD‹cë`f.„¿ è–¡H…ÀH‰Ã„ÔH‰ïL‰ D‰hèkÏHxèr¡H…ÀH‰C„§H‰îH‰Çè ËI‹FD‹cH‰CI‰^HÄD‰à[]A\A]A^ÃD‹cdH‹%8ÿÿÿMcíIcÔJ‹4èL‹4ÐL‰÷è”Ê…ÀtÆH‹KM‰ðH‰ê¾€O¿ÈO1Àÿ4H0é ÿÿÿ¿ èå H…ÀH‰û`0t#º 1öH‰ÇèšæH‹ã`0évþÿÿH‰ßèö‘H‰ê¾€O¿O1ÀA¼ÿÿÿÿÿÛG0éLÿÿÿfD‰údH‹<%1À¹ HÇHÿÿÿóH«H‰ÐdÇ%hÿÿÿdÇ%XÿÿÿƒàdH‰%pÿÿÿ‰ÐƒâÁèd‰%˜ÿÿÿƒàdH‰%`ÿÿÿÃH‰\$ØH‰l$àH‰ûL‰d$èL‰l$ðI‰ÐL‰t$øHƒìH…ö~IH|$‰ñºšO¾1ÀèQg…Ày]»ÿÿÿÿ‰ØH‹l$(H‹\$ L‹d$0L‹l$8L‹t$@HƒÄHÄ¿º1ÀH‰T$è_!L‹D$H|$‰Áº«O¾1ÀèòfëŸH‹|$1ö1ÀèòþH‹|$‰Åè¶…íx…Lc5k_0L‰÷ècŸH…ÀI‰Ä„ˆL‰ò1öH‰ÇèåIƒîè:I‰ÅfDL‰òL‰æ‰ïè{ÿHƒø}/Aƒ}tæL‰çH‰D$èQH‹D$‰ÃE‹e‰ïèïþE‰eéÿÿÿuHÇDëÈL‰çè‹ÊHƒøH‰HÀë±èŠ9»ÿÿÿÿI‰Åë¶SH‰ûHƒì H|$è~þÿÿ…ÀuH‹|$H‰Þè} H‹|$‰D$èÏïÿÿ‹D$HƒÄ [ÃDºÆO1öë·€ºÐO1öë§€ºÛO1öë—€ºäO1ö뇀ºéO1öétÿÿÿ@‰øºîOH‰÷‰Æé_ÿÿÿffffff.„ºîO1öéDÿÿÿ@ºÆO1öéÄýÿÿ@ºÐO1öé´ýÿÿ@ºÛO1öé¤ýÿÿ@ºäO1öé”ýÿÿ@ºéO1öé„ýÿÿ@‰øºîOH‰÷‰Æéoýÿÿffffff.„ºîO1öéTýÿÿ@H‰\$àH‰l$è1ÀL‰d$ðL‰l$øH‰ûHƒì8¿ºH‰õèH|$‰ÁI‰è1Àº«O¾è›d…Ày'¸ÿÿÿÿH‹\$H‹l$ L‹d$(L‹l$0HƒÄ8Ãf„H‹|$¾1ÀèoüH‹|$‰Åè3Ž…íx¸H…ÛtZfè£7I‰ÄH‰ßèÈÊHPH‰Þ‰ïèšýH…ÀyE‹,$AƒýtÛ‰ïè¤üE‰,$¸ÿÿÿÿétÿÿÿA‹$‰ïè‹ü1ÀA‰$é^ÿÿÿèK7I‰Ä1Ò1ö‰ïèMýH…ÀyÒE‹,$AƒýtæfDë«fDH‰\$ðH‰l$øHƒì(H‰óHt$H‰|$½ÿÿÿÿè;…ÀuH‹|$H‰ÞèªþÿÿH‹|$‰Åè^íÿÿ‰èH‹\$H‹l$ HƒÄ(Ãffff.„¾îOë™f„¾äOë‰f„¾ÛOévÿÿÿfD¾ÐOéfÿÿÿfD¾ÆOéVÿÿÿfD¾îOé&þÿÿfD¾äOéþÿÿfD¾ÛOéþÿÿfD¾ÐOéöýÿÿfD¾ÆOéæýÿÿHƒìdH‹<%¸ÿÿÿ莌dH‹<%°ÿÿÿ而dH‹<%ÀÿÿÿèrŒdH‹<%ÈÿÿÿèdŒdH‹<%¨ÿÿÿèVŒdH‹<% ÿÿÿHƒÄéDŒ@H‰\$àH‰l$è‰ûL‰d$ðL‰l$øHƒìx…ÿA‰ôH‰Õy$¸ÿÿÿÿH‹\$XH‹l$`L‹d$hL‹l$pHƒÄxÃfDHD$LHÇD$HÇD$H‰L$ HÇD$(H‰$HD$HH‰D$ë è;5ƒ8ušºH‰æ‰ßè÷ÿH…ÀxâHƒø u€D9d$L€…nÿÿÿ‹D$H…À„bÿÿÿ= ‡Wÿÿÿ‰Çè,šH…ÀI‰Ä„DÿÿÿH‰D$0‹D$HLl$0H‰D$8ºL‰î‰ßèŽÿH…Àyè´4ƒ8táL‰çè&‹ƒÈÿéÿÿÿ;D$HuçƒèA€<DuØL‰e1Àéäþÿÿff.„Hƒìè·éÿÿ‰é@01ÀHƒÄÃf.„S1Ò¾¿HƒÄ€dH‹%(H‰D$x1ÀèZ/…À‰Ãˆ˜1À¹ H‰çóH«HD$H¹/.setranHºs-unixI¸/var/runH‰æfÇ$H‰PH‰HºnHÇ@`L‰D$fÇGH¿/setransÇ@hH‰x‰ßè+-…ÀxfH‹T$xdH3%(‰ØugHƒì€[Àèƒ3ƒ8t»ÿÿÿÿëÏfD1Ò¾¿è.…À‰ÃxۉǺ¾1ÀèFúé!ÿÿÿ‰ß»ÿÿÿÿèeøDë‡èùaf„H‰\$àH‰l$è‰ûL‰d$ðL‰l$øHìÈ…ÿ‰t$ y3¸ÿÿÿÿH‹œ$¨H‹¬$°L‹¤$¸L‹¬$ÀHÄÈÃfDH…Ò„çH‰×H‰$èãÅH‹$ƒÀA‰Ä‰„$œHD$ Hl$`¹L‰d$HHÇD$H‰D$H„$œH‰ïHÇD$(HÇD$8IƒÄ H‰D$ H„$˜H‰T$@HÇD$P‡óPHÇD$XH‰D$01ÀÇ„$˜óH«HD$HÇD$xH‰D$pº@H‰î‰ßè±,H…ÀI‰Åy èô1ƒ8tÞ1ÀM9ì„ìþÿÿféàþÿÿA¼¸º‡óPéÿÿÿH‰\$àH‰l$èH‰ûL‰d$ðL‰l$øHƒì8H…ÿH‰õ„D‹ >0E…É„ùdL‹$%ÀÿÿÿM…ätH‰þL‰çè0À…À„èL‰çèà‡dH‹<%ÈÿÿÿdHÇ%ÀÿÿÿèŇdHÇ%ÈÿÿÿHÇEèÛüÿÿ…ÀA‰ÄxH‰Ú¾‰Çèõýÿÿ…À„¥D‰çè5öH‰ßèíÁH‰EH…À„ÈH‰ßèØÁH…ÀdH‰%ÀÿÿÿtH‹}èÁÁH…ÀdH‰%Èÿÿÿ„¿H‹EH…À„Š1ÀH‹\$H‹l$ L‹d$(L‹l$0HƒÄ8Àè{ÁH‰EëÊDdH‹<%ÈÿÿÿèbÁH‰Eë±@HL$ H‰ê¾D‰çè“úÿÿ…À…>ÿÿÿD‹l$ D‰çènõE…í…0ÿÿÿH‹Eé3ÿÿÿ@¸ÿÿÿÿékÿÿÿHÇ1À€éSÿÿÿdH‹<%Àÿÿÿèr†dHÇ%Àÿÿÿé!ÿÿÿH‰\$àH‰l$èH‰ûL‰d$ðL‰l$øHƒì8H…ÿH‰õ„D‹:<0E…Ò„ùdL‹$%°ÿÿÿM…ätH‰þL‰çèP¾…À„èL‰çè†dH‹<%¸ÿÿÿdHÇ%°ÿÿÿèå…dHÇ%¸ÿÿÿHÇEèûúÿÿ…ÀA‰ÄxH‰Ú¾‰Çèüÿÿ…À„¥D‰çèUôH‰ßè ÀH‰EH…À„ÈH‰ßèø¿H…ÀdH‰%°ÿÿÿtH‹}èá¿H…ÀdH‰%¸ÿÿÿ„¿H‹EH…À„Š1ÀH‹\$H‹l$ L‹d$(L‹l$0HƒÄ8À蛿H‰EëÊDdH‹<%¸ÿÿÿè‚¿H‰Eë±@HL$ H‰ê¾D‰çè³øÿÿ…À…>ÿÿÿD‹l$ D‰çèŽóE…í…0ÿÿÿH‹Eé3ÿÿÿ@¸ÿÿÿÿékÿÿÿHÇ1À€éSÿÿÿdH‹<%°ÿÿÿè’„dHÇ%°ÿÿÿé!ÿÿÿH‰\$àH‰l$èH‰ûL‰d$ðL‰l$øHƒì8H…ÿH‰õ„4dL‹$% ÿÿÿM…ätKH‰þL‰ç耼…ÀuE„ÿ„oI¾ÇöDB uäA€ÿ#t¦E¶>E„ÿ„QèË%H‹L‰ðëHƒÀD¶8E„ÿt M¾ÿBöDz tçÆA€>„bÿÿÿ¶HLx„É„[ˆL$è%L‰úH‹0¶L$ë@HƒÂ¶ „É„ÁH¾ÉöDN uæ¶„À„«I‰×ëfDIƒÇA¶„Àt H¾ÀöDF téAÆ€:„äþÿÿ¿ H‰T$èˆH…ÀI‰ÇH‹T$„ñL‰÷H‰T$è/´H…ÀI‰H‹T$„ËH‰×è´H…ÀI‰GtUD‰àL‰éL‰÷ò®H‹sH0H÷ÑHƒéI‰GA‰OL‰=]H0éhþÿÿI‰×AÆ€:„XþÿÿéoÿÿÿI‰ÞDL‰ðéÑþÿÿL‰ÿDè;yI‹?è3yƒÈÿH‹”$dH3%(uGHÄ([]A\A]A^A_ÃH‰ïèS1ÀëÏL‰úAÆ€:„çýÿÿ€é÷þÿÿL‰ÿèÛxƒÈÿë¦è!QH‰l$àL‰l$ð‰ýL‰t$øH‰\$ØI‰õL‰d$èHƒì(ƒÿA‰Ö‡ªè=ýÿÿ¿(èS‡H…ÀH‰ÃI‰ÄtjHÇHÇ@HÇ@HÇ@HÇ@ ‰(D‰ð@…Àtƒè‰ÂHÁâITƒ:ué1ÀHƒz•À‰í‰CD‰òL‰îH‰ßÿípO…Àu6L‰àH‹$H‹l$L‹d$L‹l$L‹t$ HƒÄ(ÃfDès!E1äÇëÊH‰ßE1äèÝwë½ATUSH‹G D‹`H‹E…ätt1íë(„H‹sH‹ ¿ˆO1Àÿœ-0ƒÅHƒë€A9ìvH‹sp…öuíH‹S H…Òt@‹ BF0…ÉuÆH‹CƒÅL‹H‰Ñ¾ˆO¿Hƒë€H‰Â1Àÿ`-0A9ìw»[]A\ËF0…ÀtH‹sH‹¿°O1Àÿ"-0ë„H‹SH‹ ¾°O¿1Àÿ-0éfÿÿÿfATI‰üH¾/USè«®H…ÀH‰Åt/I9Äs6L‰ãëfDHƒÃH9Ýv¾3¿ÂOèy®H…Àtä[]1ÀA\ÃD[‰è]D)àA\Ãfffff.„H‰\$ØL‰t$ø1ÀH‰l$àL‰d$èH‰ÓL‰l$ðHƒì(€~hI‰öH‹Wt!H‹$H‹l$L‹d$L‹l$L‹t$ HƒÄ(Ã@ƒG L‹f‹Fx…ÀxH˜HÁàHcDIÄL‰çè˲HxI‰ÅèÏ„H‰Å¸ÿÿÿÿH…ít¡L‰êH}Mn(L‰æÆE^è+Õº Æ$Æ@H‰îL‰ïè´É…ÀA‰ÄuH‰ïèÅuAÆFh1ÀéXÿÿÿ1É1ÒL‰î‰Çè;¤H…ÛI‰Æ•ÀM…öu,„ÀtH‹H…ÒtL‰ñL‰îD‰çè¤H‰ïè{u¸ÿÿÿÿéÿÿÿ„À€tãL‰÷è„H‰ë½fDAWAVI‰ÖAUE‰ÅATI‰üUSH‰ËHƒìhH‹o H‰ÏH‰t$D‰L$H‹ED‹}H‰D$èñH˜HDÿ€8 „£è. H‹0H‰Øë fDHƒÀ¶H¾ÊöDN uî„Òtb€ú#t]HL$PHT$XLD$HH‰ß1À¾ÍOèG|ƒø‰ÃŽÁƒø„H‹|$Xè™ýÿÿ…ÀuEAƒý„AƒÇE…íD‰}thfDHƒÄh1À[]A\A]A^A_ÀÆéUÿÿÿ„M…öt¶H‹\$XHcÐL‰÷H‰Þ踲…ÀtŸH‰ßè,tH‹|$Pè"tH‹|$HètëžH‹|$Xè tH‹|$PH…ÿtèýsH‹|$HèósésÿÿÿD‹ ¬B0E…Ét4‹T$H‹t$¿ØO1ÀÿÉ)0ƒû…HÿÿÿH‹|$Xè¶sfDé3ÿÿÿ‹L$H‹T$¾ØO¿1Àÿ )0ëÅH‹|$Hè„sH‹D$PHÇD$PH‰D$HéÉþÿÿD‰øH‹T$X‹MHÁàHD$HÇD$@H‰×‰ $H‰T$ H‰D$è:üÿÿ…ÀA‰Æ‹ $„Ú…ÉŽjH‹EIcÖL‰d$8E1íI‰ìH‰T$(‰ÍH‰D$0H‰ÃëAƒÅHƒÃD9íŽ=D;suéH‹T$(H‹3H‹|$ èW±…ÀuÓL‰åL‹d$8D‰éH‹t$H‹D$X‰NxE‹D$H‰FE…À…oH‹\$PH‹D$H…ÛH‰X Ç@ltPH‰ßè7¯ƒø„»‹=@A0…ÿ„ŠH‰Ù‹T$H‹t$¿0O1ÀÿW(0éÚýÿÿ¹ÿÿÿÿëƒH‹D$Ç@lÀH‹t$H‹\$HL‹nH‰L‰ïèÖ®HcÐH‹D$ITI9ÕÇ@tt#A¶Eƒè$‹$H9ßtè¨m‹$Hƒ|$tH‹|$‰$èà‹$Hƒ|$ „†þÿÿH‹|$ ‰$èÄ‹$éqþÿÿè÷H‰Ã@éFþÿÿL¼$ðI‰ÙA¸ðO¹º¾L‰ÿ1ÀèQ:¾/šOL‰ÿètˆH…ÀH‰D$t ¾H‰ÇèÝÔL¼$I‰ÙA¸üO¹º¾L‰ÿ1Àè:¾/šOL‰ÿè&ˆH…ÀH‰D$ „jþÿÿ¾H‰Çè‹ÔéXþÿÿƒ|$„ó1ÛHƒ|$ts‹l$(H‹L$H´$àH¼$èº è;ŒH…À~KA9nsED‹D$H‹Œ$èƒÃH´$ðA‰ÙL‰úL‰ïèúöÿÿ…Àt¬éxþÿÿ軃ÊÿÇfé0ýÿÿ1ÛHƒ|$ „4‹l$(H‹L$ H´$àH¼$èº èº‹H…ÀŽA9nƒþD‹D$H‹Œ$èƒÃH´$A‰ÙL‰úL‰ïèqöÿÿ…Àt¤éïýÿÿI‹A‹VL‰|$@L‰l$HM‰÷ÇD$4ÇD$0‰T$ L‰d$8I‰Å‹T$49T$ †f‹l$4ƒD$4‹D$4HÁå9D$ Il-†F‰Ãë‹Ul…Òt@9ÐDt7fDƒÃ;\$ s¯A‰ÞL‹eIÁæOt5L‰æI‹~è[£…Àu×A‹Fl…Àu¹€èƒL‹EM‹6ÇL‰ÆL‰÷L‰$è'£…ÀL‹$t7‹¡90…ÀtcL‰âL‰ñH‹t$¿XO1Àÿ½ 0A‹WÇD$0ÿÿÿÿ‰T$ éhÿÿÿD‹5i90E…öt\L‰âH‹t$¿˜O1Àÿ‡ 0A‹WÇD$0ÿÿÿÿ‰T$ é2ÿÿÿM‰ÁL‰áM‰ðH‹T$¾XO1ÿ1Àÿe 0A‹GÇD$0ÿÿÿÿ‰D$ éÿÿÿL‰áH‹T$¾˜O1ÿ1Àÿ9 0A‹GÇD$0ÿÿÿÿ‰D$ éÔþÿÿ‹D$0M‰þL‹d$8L‹|$@L‹l$H…À‰D$ „Gýÿÿ‰Â1Ûé&üÿÿƒ|$uxA‹~…ÿ„Z‰ÿHÁçè‹xH…ÀI‰„öûÿÿA‹V1öH‰ÇHÁâè=¾A‹VL‰ç‰T$(èMÍHƒ|$t H‹|$è;ÍHƒ|$ tH‹|$ è)̓D$ƒD$,é4ûÿÿƒ|$,vêH‹¼$èèViA‹~HÁçè xH…ÀH‰ÃH‰Å‹T$ „sûÿÿE‹nE…í„–I‹E1À1öH‰×ë@A‹FƒÆ9ð†¬‰ñHÁáD‹\ tE…ÛtáHÊD‰ÀAƒÀH‹ HÁàHDH‰H‹JH‰HH‹JH‰HH‹JH‰HH‹J H‰H H‹J(H‰H(H‹J0H‰H0H‹J8H‰H8H‹J@H‰H@H‹JHH‰HHH‹JPH‰HPH‹JXH‰HXH‹J`H‰H`H‹JhH‰HhH‹JpH‰HpH‹RxH‰PxI‹H‰×éEÿÿÿ…À„Å1öëƒÆA9v†²H‰×‰ñHÁáD‹T tE…ÒußHÊD‰ÀAƒÀH‹ HÁàHDH‰H‹JH‰HH‹JH‰HH‹JH‰HH‹J H‰H H‹J(H‰H(H‹J0H‰H0H‹J8H‰H8H‹J@H‰H@H‹JHH‰HHH‹JPH‰HPH‹JXH‰HXH‹J`H‰H`H‹JhH‰HhH‹JpH‰HpH‹RxH‰PxI‹H‰×éCÿÿÿI‹>è‹gI‰.1Òé¾ùÿÿèÌ?1Ò1Ûé°ùÿÿH‰\$èH‰l$ðH‰ûL‰d$ø¿ HƒìH‰õA‰Ôè vH…ÀteHÇHÇ@D‰âHÇ@HÇ@H‰îH‰C HÇC´BH‰ßHÇC@¡BHÇCP²BH‹$H‹l$L‹d$HƒÄéJ÷ÿÿf.„¸ÿÿÿÿH‹$H‹l$L‹d$HƒÄÄAWAVI‰öAUATUSHƒì(L‹ ‰T$A‹oI‹…íH‰D$„kH~¾/èEžH…ÀthA‰ÅE)õt`A‹O…É~XIcÅI‹_E1äH‰D$ë€AƒÄHƒÃD9á~3D;kuíH‹T$H‹3L‰÷‰ $貤…À‹ $uÓH‹D$LðH‰D$ë@L‰t$A¼ÿÿÿÿD‹l$AåðƒíˆÐHcÝHÁãH\$ëf.„D9àtHƒÃ€ƒíˆ¦‹CxƒøÿuæE…ít‹Cl…Àt A9Å€uÓ1ÒH‰ÞL‰ÿèïÿÿ…Àx$ƒ{xÿt7H‹t$H{(E1À1É1ÒèR}…Àt3ƒøtž1ÀHƒÄ([]A\A]A^A_ÄH{(E1À1É1ÒL‰öè}ëɃCpH‹3¹ ¿çOH‰Øó¦—Á’Â8Ñu´è£ÇHƒÄ(1À[]A\A]A^A_Ãfff.„ATUSH‹o ‹M…ÉtJE1äfDD‰ãAƒÄHÁãH]H‹{èÐdH‹{ èÇdH‹;è¿dH‹{è¶dH{(èýD9ew¿‹U…Òt#1ÛfDH‹U‰ØƒÃHÁàH‹<è‚d9]wåH‹}H…ÿt @èkdH‹}H…ÿtè]d[H‰ï]A\éQdH‹G 1É‹…Òt!H‹xBÿHt€1ÀHÁæfL HƒÀ(H9ðuó¾ O¿1ÀL‹ 0Aÿãffff.„AUATUSHƒìL‹g A‹$M‹l$…Àt41ۉ؃ÃH€IlÅH‹}èÉcH‹}èÀcH‹}è·cA9$wÑM…ífDt L‰ïè›cIÇ$IÇD$HƒÄ[]A\A]Ãffffff.„AWAVA‰ÖAUI‰õATI‰ü¿US»ÿÿÿÿHìØèrH…ÀH‰Å„‘HÇHÇ@1ÛI‰D$ IÇD$µBIÇD$°¸BIÇD$À´BHÇ„$ÈHÇ„$ÀfE…ötAƒîD‰ðHÁàIDƒ8uæE…öH‹XuâH…Û„T¾/šOH‰ßè~H…ÀI‰Åu»ÿÿÿÿHÄØ‰Ø[]A\A]A^A_þH‰ÇèYÊL‰ïèqÃHT$ ‰Æ¿è0Ï…Àx½‹D$8%ð=€…ÐÇD$ÇD$ÇD$ fffH‰\$ÇE1ÛfH´$ÀH¼$ÈL‰éº èÓH…ÀŽÔ‹D$ 9EƒÇL‹¼$ȃÃM‹t$ è H‹0L‰øëHƒÀ¶H¾ÊöDN uî„Òtš€ú#t•HŒ$°H”$¸L‰ÿ1À¾) Oè6iƒøA‰ÇŽÝƒ|$t0AƒH‹¼$¸è‚aH‹¼$°èuaé@ÿÿÿè H‰ÃéŸþÿÿA‹H‹Œ$¸I‹FAƒH’H‰LÐH‹Œ$°H‰ Ðéÿÿÿ‹T$…ÒuN‹E…Àt[‰ÀHkø(èÜoH…ÀH‰E„œ‹UH‰Ç1öHkÒ(莵‹EL‰ï‰D$ èŸÄƒD$ƒD$é¥þÿÿƒ|$vêH‹¼$ÈèÌ`1ÛL‰ïèuéþÿÿ1À‰ÙH‹T$¾ØO¿ÿ´0Aƒÿ…jþÿÿH‹¼$¸è`éXþÿÿè ƒËÿÇféÉýÿÿƒËÿë¤fffff.„AWAVI‰öAUATUSHƒìH‹G D‹(H‹hE…ítoH‰÷E1äèäœLxë*fD¶:ãã u ¶C:Øã t#AƒÄHƒÅ(E9ìs4H‹]L‰úL‰öH‰ßèrž…ÀuÆE9åvƒE HƒÄH‰è[]A\A]A^A_ÃèK ÇHƒÄ1À[]A\A]A^A_ÃH‹G 1É‹…Òt!H‹xBÿHt€1ÀHÁæfL$HƒÀ(H9ðuó¾ O¿1ÀL‹€0Aÿãffff.„AUATUSHƒìL‹g A‹$M‹l$…Àt41ۉ؃ÃH€IlÅH‹}è)_H‹}è _H‹}è_A9$wÑM…ífDt L‰ïèû^IÇ$IÇD$HƒÄ[]A\A]Ãffffff.„AWAVA‰ÖAUI‰õATI‰ü¿US»ÿÿÿÿHìèègmH…ÀH‰Å„‘HÇHÇ@1ÛI‰D$ IÇD$°¹BIÇD$ð¾BIÇD$`¹BHÇ„$ØHÇ„$ÐfE…ötAƒîD‰ðHÁàIDƒ8uæE…öH‹XuâH…Û„y¾/šOH‰ßègyH…ÀI‰Åu»ÿÿÿÿHÄè‰Ø[]A\A]A^A_þH‰Çè¹ÅL‰ïèѾHT$ ‰Æ¿èÊ…Àx½‹D$8%ð=€…tM‰ïÇD$ÇD$ÇD$ fffH‰\$M‰åÇE1Û@H´$ÐH¼$ØL‰ùº è+}H…ÀŽs‹D$ 9EƒfL‹¤$؃ÃM‹u èqH‹0L‰àë f„HƒÀ¶H¾ÊöDN uî„Òt’€ú#tL„$¸HŒ$ÀH”$ÈL‰ç1À¾% Oè~dƒøA‰Äލƒ|$t@AƒH‹¼$ÈèÊ\H‹¼$Àè½\H‹¼$¸è°\é#ÿÿÿèH‰ÃéwþÿÿL‹¤$È¿H O¹ L‰æó¦…ëA‹I‹FHkÒ(ÇD A‹H‹Œ$ÀL‰çH’H‰LÐH‹Œ$¸H‰ ÐèC\Aƒé²þÿÿ1À‰ÙH‹T$¾ØO¿ÿ10E…äŽþÿÿH‹¼$Èè \Aƒü…yþÿÿH‹¼$Àèô[égþÿÿ‹T$…Òu}‹E…Àf„^‰ÀHkø(èjH…ÀH‰E„;‹UH‰Ç1öHkÒ(èA°‹EL‰ÿ‰D$ èR¿ƒD$ƒD$éþýÿÿ¾2 OL‰çèÆ“…ÀuWA‹I‹FHkÒ(ÇD éÿþÿÿƒ|$vÁH‹¼$ØM‰ý1ÛèQ[L‰ïè™oé:ýÿÿ@軃ËÿÇfé!ýÿÿ¾< OL‰çè^“…ÀuA‹I‹FHkÒ(ÇD é—þÿÿ¾&úNL‰çè5“…ÀuA‹I‹FHkÒ(ÇD énþÿÿ¾V OL‰çè “…ÀuA‹I‹FHkÒ(ÇD éEþÿÿ¾C OL‰çèã’…Àu-A‹I‹FHkÒ(ÇD éþÿÿM‰ýƒËÿé+ÿÿÿM‰ý1Ûé!ÿÿÿ¾Q OL‰ç襒…ÀuA‹I‹FHkÒ(ÇD éÞýÿÿM‰à‰ÙH‹T$¾` O¿1Àÿ=0é üÿÿ„AWI‰÷AVA‰ÖAUATUSHƒìL‹g A‹ $M‹l$…Ét[1Û뀃ÃA9$vG‰ØH€IlÅD9u uæH‹}1ÒL‰þèøH…ÀuÔA9$vƒE$HƒÄH‰è[]A\A]A^A_ÄèÇHƒÄ1À[]A\A]A^A_ÃH‰\$ÐL‰d$àI‰üL‰l$èL‰t$ð¿H‰l$ØL‰|$øHƒìHI‰öèhH‰ÃI‰Å¸ÿÿÿÿH…Û„šöÃH‰ßº…Q@öÇ…@öÇ…%‰Ñ1ÀÁéö‰ÉóH«…°öÂ…‡ƒâ…v¹ÿH‰Ú¾ OL‰çè9úH…ÀH‰ÅˆHƒý…«è;Ç_¸ÿÿÿÿL‰ï‰D$è¤X‹D$H‹\$H‹l$ L‹d$(L‹l$0L‹t$8L‹|$@HƒÄHÃDÆé‚ÿÿÿfÇHƒÇƒâ„pÿÿÿfDëÞfDÇHƒÇö„FÿÿÿDëÆfD諃8"tf‰è@ékÿÿÿ|ðM‰.‰èékÿÿÿfǃêHƒÇéØþÿÿ€ÇƒêHƒÇéÉþÿÿfDÆH{fºÿéŸþÿÿ„1É1Ò¾ OL‰çèùH…ÀI‰ÇxHPH‰ßH‰ÖH‰T$èCsH…ÀH‰ÃH‹T$„\ÿÿÿ1öH‰ÇI‰Ýè¬L‰ùH‰Ú¾ OL‰çèÂøH‰Åéþÿÿf.„SH‰óHƒì HÇHt$è·ýÿÿ…À~H‹|$H‰ÞèÆÐÿÿH‹|$‰D$è·ÿÿ‹D$…ÀxH‹;H…ÿt賓ƒÀHƒÄ [ÃH‹1&0ÄH‹Ñ%0ÄH‹¹%0ÄH‹é%0ÄH‹I&0ÄH‹Ù%0ÄH‹é%0ÄH‹‰%0ÄH‹‰%0ÄH‹%0ÄH‹¡%0ÄH‹¡%0ÄH‹A%0ÄH‹Q%0ÄH‹Y%0ÄH‹i%0ÄH‹a%0ÄH‹Y%0ÄH‹y%0ÄH‹A%0ÄH‹9%0ÄH‹1%0ÄH‹1%0ÄH‹1%0ÄH‹)%0ÄH‹!%0ÄH‹=A$0S1ÛèAUHÇ.$0fDH‹» èrè$UHǃ èrHƒÃHûÀuÜH‹=Õ$0èUHÇÅ$0[ÃSH‰ûH‹=µ$0H…ÿtèK1ÒH…ÀH‰t ‰Ð[ÃDºÿÿÿÿ‰Ð[Ãffffff.„AWAVAUATUSHƒì(Hƒ=’#0tHƒÄ([]A\A]A^A_þ/šO¿— OHÇd#0‰ OHÇD$è¶oH…ÀI‰Å„XLt$L|$¾H‰ÇE1äè¼L‰éº L‰öL‰ÿèísH…ÀŽ‘H‹\$HDÿ€8 „¡è<ÿH‰ÁH‹(ë@HƒÃ¶H¾ÐöDU uî„Àtª<#t¦º ¾« OH‰ßH‰ $è ¸…À„H‰Þ¿¸ O¹ ó¦uWHƒÃ HÇD$HÏrH¾öDE…íº¾Ö OH‰ßèY¸…À„©H‹D$Çé1ÿÿÿÆH‹\$éRÿÿÿH‰Þ¿Æ O¹ó¦… ÿÿÿHƒÃHÇD$èèrë’@H{ èŸH…ÀI‰ÄH‰ò"0„„þÿÿH‰ÇèÄIDÿH‹ $I9ÄréÁþÿÿÆHƒèI9ă°þÿÿH¾H‹·Zâ uÝé˜þÿÿº¾Û OH‰ßè–·…À„~þÿÿH‹T$Çénþÿÿº 1öH‰ßèÏdH‹T$‰éSþÿÿH‹|$è‰RL‰ïèÑfM…ätz1ÀM‰à¹‰ Oº/ÒN¾¿èrè~(ƒøÿ„½ýÿÿ½ èr1Ûë@HƒÃHƒÅHƒû0„žýÿÿD·ƒ` OH‹ !01Àº/ÒN¾H‰ïIÀ Oè,(ƒøÿu¿éjýÿÿ¿ Dè³`H…Àt HºtargetedÆ@I‰ÄH‰H‰£!0éRÿÿÿHÇ“!0é&ýÿÿfffff.„HƒìèWüÿÿHƒÄéîüÿÿfffff.„AW¾/šOI‰ÿ¿— OAVAUATU½ÿÿÿÿSHƒìè»lH…ÀI‰Ä„´Hc= 0è`H…ÀH‰Ã„ÒHhA¾á OA½€‹5ê0L‰âH‰ßèß¼H…ÀtZH‰ÞL‰÷L‰éó¦uݺ ¾ê OH‰ïè˵…Àtgº ¾ô OH‰ïèµµ…Àtaº¾ÿ OH‰ï蟵…Àu›AÇÿÿÿÿ1íë½ÿÿÿÿL‰çèeH‰ßè«PHƒÄ‰è[]A\A]A^A_Ãf.„AÇ1íëÊDAÇ1íëºL‰çè½dDë»AWAVAUATUSHìøH‰|$(H‰t$PH‰T$XHÇ„$àHÇ„$Øèó®ÿÿ¿F‰D$IM…ä„ELt$0Ll$8¾L‰çE1ÿèë°L‰áº L‰öL‰ïèÅhH…À~[H‹l$8¿© O¹H‰îó¦„&H‰ß莅HcÈH‰ÞH‰ïH‰ÊH‰ $èI‡…ÀH‹ $u©€| :u¢L‰ÿè²HH‹|$8èƒI‰ÇM…ÿ„ ¾:L‰ÿèO€H…À„öHX¾:H‰ßè5€H‰ßÆH‰ÅèׂH‹T$H…ÀH‰„ÆH]H‰ßèú„…ÀtH˜HDÿ€8 „°H‰ß1Û蜂H‹T$H…ÀH‰tyH‹|$8èHL‰çè]\L‰ÿèH…Ûu"HƒÄH‰Ø[]A\A]A^A_ÃH‹|$8èæG1ÿèßGH‹T$H‹t$H‹|$èk÷ÿÿ‰ÃëÆ€L‰ÿè¸GH‹|$8è‚I‰ÇéŽþÿÿH‹D$H‹8è™Gf„»ÿÿÿÿégÿÿÿÆéHÿÿÿH‰l$ðL‰d$øH‰õH‰\$èHì(L‹ 0dH‹%(H‰„$1ÀI‰üM…ÉtuA¸Õ O¹º¾H‰ç1Àè61À¾H‰çè7µ…À‰ÃyY¸ÿÿÿÿH‹”$dH3%(u`H‹œ$H‹¬$L‹¤$ HÄ(Ãf„è;ðǸÿÿÿÿë²fDH‰êL‰æ‰Çè+¶‰ßH‰ÅèAµ1À…íyëˆèÓAWAVAUATUSHìˆdH‹%(H‰„$x1À‰|$,è ‹…ü/A‰Ç…Ò‰T$(…³L¤$ð‹\$,…Û…Jèµ¶‰D$ 蜶A‰Æ‹D$, D$(‰D$$uD9|$ ‹T$ AL׉T$ ‹\$ fDèkïÿÿA¸ó OI‰Á¹º¾L‰ç1À‰$èæ1ö1ÀL‰çèê³…À‰Å‰Òè+ïI‰ÅëPfDƒëA9ÞfIfDè ïÿÿA¸ó OI‰Á¹º¾L‰ç1À‰$è†1ö1ÀL‰ç芳…ÀyvA‹}ƒÿt­Dè€H‰Ãè»îÿÿD‹D$ H‹=70H‰ÁI‰ÙºO¾1À»ÿÿÿÿèÓH‹”$xdH3%(‰Ø…HĈ[]A\A]A^A_ĉÅHT$0‰î¿è±…ÀˆWƒ|$$H‹t$`A‰è¹H‰´$àÒE1É1ÿƒâþƒÂè9ÕHƒøÿI‰ÅH‰„$Ø„áD9ûŽ-H¼$Èèζ…À…ÎH¼$Ðèi¶…À…¬H‹”$àH‹´$ØH‹¼$ÈèD´H‹´$ÈH‹¼$Ðèßµ…À…ÝH‹¼$ÐD‰þèç´…Àu'H‹´$ÐHŒ$àH”$Ø1ÿètµ…À„tH‹=Ý0L‰áº€O¾1Àƒëè~H‹¼$Èè±µH‹¼$ÐètµH‹t$`L‰ïèWÔ‰ïè@²é›ýÿÿèsíÿÿ1öH‰Ç艳…À„3ýÿÿL¤$ðèTíÿÿA¸üOI‰Á¹º¾L‰ç1Àèb1öL‰çèH³…À„úüÿÿè+íÿÿA¸Ý OI‰Á¹º¾L‰ç1Àè)1öL‰çè³…À¸DD$(‰D$(é´üÿÿf.„H¬$ðH‰ïèÐÛ…À‰Ã…œüÿÿH½‚¾ì Oè|…ÀH\$,‰\$,é{üÿÿH‹¼$È蘴»ÿÿÿÿH‹¼$ØI9ýtèBH‹t$`L‰ïè4Ó‰ïè±éUýÿÿH‹¼$Èè[´H‹¼$Ðè´‹L$(…É…H‹T$,…ÒuV‹D$(…À…-H‹´$àH‹¼$Øè©úÿÿ…À‰Ãt€èŽë‹8è×|H‹=0I‰ÀL‰áºÐO¾1Àè©éQÿÿÿH´$ìH¼$Àèß …À‰Ãu›Hc¼$ìHÁçèxPH…ÀI‰Æ„ÿÿÿD‹„$ìE…À~;H‰ÂE1ÿH‹„$ÀH‰T$ƒÃJ‹<8IƒÇèì H‹T$‰D‹„$ìHƒÂA9ØËH‹”$ÀH‹´$àL‰ñH‹¼$Øè$L‰÷èE…턼E…öˆÊD‰3E1À1ɺÝO¾÷O¿ÿ Oè^á…Àxb¿÷OèОÿÿƒ|$ ÿ„åè…ÀfDˆÜ‹;9øfD…ò1ÿèÛ÷ÿÿH‹\$H‹l$L‹d$ L‹l$(L‹t$0HƒÄ8ÃDè³ç‹8ƒÿuTǸÿÿÿÿëÄ€A¾ÿÿÿÿé0ÿÿÿD¾¿ù Oè™àE…ö‰6ÿÿÿ‹T$ 1À…ÒI‰é'ÿÿÿfDè£xH‹=Ôý/I‰À¹÷Oº8O¾1Àès¸ÿÿÿÿéNÿÿÿf„è …Àt ¸ÿÿÿÿé0ÿÿÿ¿÷Oèà¸ÿÿÿÿéÿÿÿ€è‹…À‰ÿÿÿfëÈL‰çè£QD‰ðéðþÿÿH‰\$èH‰l$ðL‰d$øHìHL‹ Û 0dH‹%(H‰„$(1ÀÇD$ M…É„òH\$A¸_O¹º¾1ÀH‰ßèû 1öH‰ß1Àèÿª…À‰Ãˆ…H¬$º‰ÇHÇ„$HÇ„$H‰îÇ„$ 蛫‰ßI‰Äè1«E…äyT¸ÿÿÿÿH‹”$(dH3%(uqH‹œ$0H‹¬$8L‹¤$@HÄHÃ@è»åƒ8uº‹D$ fë·fDHT$ 1À¾±ßNH‰ïè¤Cƒøu“ë×DèƒåǸÿÿÿÿé|ÿÿÿè>H‰l$ðH‰\$è‰ýL‰d$øHì8L‹ y 0dH‹%(H‰„$1ÀM…ÉtyA¸mO¹º¾H‰ç1Àèª1À¾H‰çè«©…À‰Ãy]¸ÿÿÿÿH‹”$dH3%(…ÆH‹œ$ H‹¬$(L‹¤$0HÄ8Ãf„è«äǸÿÿÿÿë®fDL¤$ºA‰éA¸¼¹N¹¾L‰ç1ÀèL‰â‹ HƒÂÿþþþ÷Ñ!È%€€€€té‰ÁL‰æ‰ßÁé©€€DÁHJHDÑÀHƒÚL)âè<ª‰ßH‰ÅèR©1À…í‰(ÿÿÿéÿÿÿèÛ€.¸tóÃ0À€tó1Àfƒ.•ÀÃffff.„USHì(L‹ ø0dH‹%(H‰„$1ÀM…É„œH\$A¸xO¹º¾1ÀH‰ßè H‰ß1À¾è!¨…À‰ÃxSH‰æº‰ÇÆ$1ÆD$èc©‰ßH‰Åèy¨…í~-1ÀH‹”$dH3%(u:HÄ([]€Ã€¸ÿÿÿÿëËfDèãǸÿÿÿÿë³èÁH‰\$àH‰l$è‰óL‰l$øL‰d$ðHƒìHH‹-0I‰ýH…í„ ƒþv.è¹âǸÿÿÿÿH‹\$(H‹l$0L‹d$8L‹l$@HƒÄHÃDè»uH‰ïI‰Äè°uEd McäL‰çè°GH…ÀH‰Å„”L‹ •0L‰æH‰ÇA¸röNHÇÁÿÿÿÿº1ÀL‰l$HÇ$OèÑ1À¾H‰ïèÒ¦…ÀA‰Äx[ƒûHt$ºÀD‰çÆD$ƒÀ1ˆD$è¨D‰çH‰Ãè§H‰ïèe8…Û~1À€é%ÿÿÿ¸ÿÿÿÿéÿÿÿH‰ïDè38¸ÿÿÿÿfDéõþÿÿèžáǸÿÿÿÿéÝþÿÿff.„H‰l$èL‰l$øH‰õH‰\$àL‰d$ðHƒì8Hƒ=•0I‰ý„$¿èŠFH…ÀH‰E„ßL‰ïÆ@èatH‹=b0H‰ÃèRtDd McäL‰çèRFH…ÀH‰Ã„ŽL‹ 70L‰æH‰ÇA¸röNHÇÁÿÿÿÿº1ÀL‰l$HÇ$Oès1ö1ÀH‰ßèw¥…ÀA‰ÄxHH‹uº‰Çè@¦D‰çI‰ÅèÕ¥Aƒýu'H‰ßè71ÀH‹\$H‹l$ L‹d$(L‹l$0HƒÄ8Ã@H‹}H…ÿtèê6H…Û€u¸ÿÿÿÿëÁfDH‰ßDèÃ6¸ÿÿÿÿfDë¡fDè+àǸÿÿÿÿë‰fffff.„S»ÿÿÿÿHƒìHt$è|þÿÿ…Àu+H‹D$1öº 1ÛÆ@H‹|$èŒHH‹|$…À•ÃèM6‰ØHƒÄ[ÃDS»ÿÿÿÿHƒìHt$è,þÿÿ…Àu&H‹|$1öº 1ÛHƒÇèAHH‹|$…À•Ãè6‰ØHƒÄ[Ãf.„AVAUATI‰üUSH‰óHì0dH‹%(H‰„$(1ÀH…ö„”L‹ p0M…É„_Hl$ A¸/ÒN¹º¾1ÀH‰ïHÇ$Oè£Ht$H‰ï¹`¥GºÞB½ÿÿÿÿ臿…À‰ŽâH˜H<ÅèDH…ÀI‰Æ„’‹…ÒŽ1íE1íë'H‹T$H‰ÇAƒÅH‹4*HƒÅHƒÆèƒmD9+ŽÒH‹D$H‹(·xHƒïè´CH…ÀI‰.u»AƒíAƒýÿt$IcÅI,Æf.„H‹}HƒíèÃ4AƒíyíL‰÷½ÿÿÿÿè°4‹…À~%E1íE1ä@H‹D$AƒÄJ‹<(IƒÅèŠ4D9#åH‹|$è{4H‹”$(dH3%(‰èu6HÄ0[]A\A]A^ÃfDèËݽÿÿÿÿÇëÃfDM‰4$1íë€è{ ¹ÐOº,¾›O¿¦Oè²ÝfAUI‰ÕATUH‰õSHì( dH‹%(H‰„$ 1ÀH…ÿHD|$¶<=uf.„HƒÇ¶<=tõ„Àu1¸H‹”$ dH3%(uHÄ( []A\A]Ãèæ fDHGë f.„H‰È¶„Òt€ú=HHuíÆH‰ÈH…ÿt¡H\$H‰þºÿH‰D$H‰ßè¨rèsÞH‹I‰ÄH‰Þf.„‰ð)Ø=þŽºÿH‰ïètrH‰ïè¼opÿ…öHcÞ~KH¾TM‹$AöDP t9DHþ1ÒIcÙHLëH¾HƒêHƒéH{ÿAöD@ tH‰ûAƒî…ÀÚHcÞÆD1À€}#„êþÿÿHT$1ÿ¾ÀOèõ~H…ÀH‰Ã„ÈþÿÿH¾I‹$öDB tf.„HƒÃH¾öDB uñAÇEÿÿÿÿH¾öDBunº¾Ö OH‰ßè —…ÀtHº¾Û OH‰ßèö–…Àt_èÛǸÿÿÿÿféOþÿÿH¾öDB „ØþÿÿHƒÆéÀþÿÿAÇE°é%þÿÿ1öº H‰ßèDƒøA‰Ew¦éþÿÿAÇE°é÷ýÿÿAWAVAUATUSHìH@dH‹%(H‰„$8@1ÀH…ÿH‰|$HÇD$„Þ¾/šO1Ûè¹LH…ÀI‰Å„…Ld$Hl$ L|$,Lt$0¾H‰Çè ™@L‰éº L‰æH‰ïèåPH…À~@H‹|$ L‰úL‰öèýÿÿƒøÿt#ƒøu΋t$,L‰÷èŠ÷ÿÿH˜HÁè?HÃë·€HƒÃëªfL‰ïè(EHƒ|$„&H¬$0 L‹L$A¸üO¹ º¾ H‰ï1ÀèÀý¾/šOH‰ïèãKH…ÀI‰Å„Ld$Hl$ L|$,Lt$0¾H‰Çè6˜fDL‰éº L‰æH‰ïè PH…À~HH‹|$ L‰úL‰öè(üÿÿƒøÿt#ƒøu΋t$,L‰÷è²öÿÿH˜HÁè?HÃë·€HƒÃëªf.„L‰ïèHDè£õÿÿ‰Â¸ÿÿÿÿ…Òx1ÀH…Ûu)H‹”$8@dH3%(uKHÄH@[]A\A]A^A_Ã@è3ÙǸÿÿÿÿëÅè‘ÙÿÿH‰D$éËþÿÿ€è{ÙÿÿH‰ÇéþÿÿèËff.„AWAVAUATUH‰ýSHìx`H‰t$0HÇD$PdH‹%(H‰„$h`1Àè&ÙÿÿH<­H‰Ãèæ=I‰Å¸ÿÿÿÿM…í„6H…ít1ÀfDAÇD…HƒÀH9ÅwîH¼$`@I‰ÙA¸ªO¹º¾1ÀèïûH¼$`@褅ÀA‰ÇˆËH¼$`PI‰ÙA¸üO¹º¾1Àè°ûH¼$`P¾/šOèÎIH…ÀI‰Æ„Ú¾H‰ÇHÇD$HHÇD$PLd$`è–H”$` L‰l$8H‰T$ëFf.„L‰êH‰ÞD‰ÿè²H‰ßH‰D$(è.H‹D$(L9è…÷H‹|$Pèý-HÇD$PHt$HH|$PL‰ñº èMH…ÀI‰ÅŽ,H‹|$Pè7hH…ÀH‰Ã„«H‹|$PHT$\L‰æè™ùÿÿƒø…pÿÿÿH‰ßè˜-H…íD„êH‹T$01ÛI‰íH‰ÝH‰Óë„HƒÅHƒÃI9톯H‹;L‰æè”e…ÀuàH‰ÚH¼$` ¹ ‹BM‰áA¸´Oº¾ H‰ëL‰í‰$1Àè:úHŒ$` ‹HƒÁ‚ÿþþþ÷Ò!Ð%€€€€té‰ÂH´$` D‰ÿÁê©€€DÂHQHDÊÀH‹D$8HƒÙH+L$ǘH‰ÊH‰L$(èGœH‹L$(H9È…™H9ë…™þÿÿ‹D$\H¼$` Hœ$` M‰áA¸´O¹ º¾ ‰$1ÀèŠù‹HƒÃ‚ÿþþþ÷Ò!Ð%€€€€té‰ÂH´$` D‰ÿÁê©€€DÂHSHDÚÀHƒÛH+\$H‰Úè°›H9Ø„þÿÿ€L‹l$8H‹|$Pè,D‰ÿ詚H¼$`@è<ŸL‰ïèä+¸ÿÿÿÿH‹”$h`dH3%(…UHÄx`[]A\A]A^A_ÃfDH‰ëL‰íéüþÿÿL‰÷L‹l$8èè?H…í„ÏL‹d$01ÛL´$` ëfDHƒÃIƒÄH9݆§A‹L…ÉuæA‹D$¹ A¸´Oº¾ L‰÷‰$M‹ $1ÀèSøL‰ñ‹HƒÁ‚ÿþþþ÷Ò!Ð%€€€€té‰ÂL‰öD‰ÿÁê©€€DÂHQHDÊÀHƒÙL)ñH‰ÊH‰L$(èxšH‹L$(H9È…ÏþÿÿHƒÃIƒÄH9݇bÿÿÿf„¾€D‰ÿ裘…À… þÿÿD‰ÿèS™H´$`PH¼$`@è®2…À…þÿÿL‰ïè~*1À@é”þÿÿè¾fffff.„AWA‰×AVAUATUH‰õSH‰ûHƒìH…ÿt|I‰öI‰ôE1íëf„IƒÅIƒÄL9ëv[A‹t$I‹<$è¥ðÿÿ…ÀtáE…í~*1Ûf.„I‹>ƒÃèeóÿÿI‹>‰ÆIƒÆèwðÿÿA9Ýâ¸ÿÿÿÿHƒÄ[]A\A]A^A_ÃfDèsïÿÿ…ÀuÝE…ÿ@tÙHƒÄH‰ßH‰î[]A\A]A^A_é-úÿÿUSHì(L‹ 8ø/dH‹%(H‰„$1ÀM…Ét`A¸ëO¹º¾H‰ç1Àèiö1À¾H‰çèj—…À‰ÃyD¸ÿÿÿÿH‹”$dH3%(…˜HÄ([]ÃfDèƒÒǸÿÿÿÿëÇfDH´$Æ„$1Æ„$H‰ò‹ HƒÂÿþþþ÷Ñ!È%€€€€té‰Á‰ßÁé©€€DÁHJHDÑÀHƒÚH)òè)˜‰ßH‰Åè?—1À…í‰VÿÿÿéLÿÿÿèËH‰\$èH‰l$ðL‰d$øHìHL‹ ÷/dH‹%(H‰„$(1ÀÇD$ M…ÉtsH\$A¸mO¹º¾1ÀH‰ßè/õ1öH‰ß1Àè3–…À‰ÃyU¸ÿÿÿÿH‹”$(dH3%(…¬H‹œ$0H‹¬$8L‹¤$@HÄHÃè;ÑǸÿÿÿÿë¶fDH¬$º‰ÇHÇ„$HÇ„$H‰îÇ„$ è~–‰ßI‰Äè–E…äˆ^ÿÿÿHT$ 1À¾¼¹NH‰ïè×.ƒø…Aÿÿÿ‹D$ é=ÿÿÿDè{ÿH‰\$ÐH‰l$ØD‰ÅL‰d$àL‰l$èI‰üL‰t$ðL‰|$øHìØH\$I‰õI‰ÖI‰ÏH‰ßè_h…ÀtC¸ÿÿÿÿH‹œ$¨H‹¬$°L‹¤$¸L‹¬$ÀL‹´$ÈL‹¼$ÐHÄØÃfD1ÿH‰ÙL‰êL‰æèx’…Àx©…íÇD$ ŽäÇD$ëgf.„L‹ )´/Iƒyt7HK AÇI‹y A‹HŽ L‰ÎI‰AH I‰A1ÀM‹AÿQƒD$ ƒD$IƒÆIƒÇ;l$~sI‹6H‹¼$€èãH…ÀtA‹ƒúw†‰PëÈfDL‹¡³/Iƒxt¯Hà AÇI‹x Hé L‰ÆI‰@H‰ I‰@1ÀI‹AÿPévÿÿÿH‰ßèx…ÀfDˆ«H¬$pH‰ïèš9H‰îH‰ßÇ„$pL‰¤$xL‰¬$€èté…Àu‹D$ …ÀuLH‰ßèŒ1ÀéSþÿÿH‹ ò²/Hƒyt/H ÇH‹y Hò H‰ÎH‰AHÛ H‰A1ÀÿQègÎH‰ßÇ蹋¸ÿÿÿÿéùýÿÿH‹ ˜²/HƒytÕHº ÇH‹y H! H‰ÎH‰AH H‰A1ÀÿQë¤AUI‰ÕATUSH‰óHì( dH‹%(H‰„$ 1ÀH…ÿHD|$¶<=uf.„HƒÇ¶<=tõ„Àu1¸H‹Œ$ dH3 %(uHÄ( []A\A]ÃèfüfDHGë f.„H‰È¶„Òt€ú=HHuíÆH‰ÈH…ÿt¡Hl$H‰þºÿH‰D$H‰ïè(cèóÎH‹I‰ÄH‰îf.„‰ð)è=þŽqºÿH‰ßèôbH‰ßè<`xÿ…ÿHc÷~KH¾3M‹$AöDP t:DHþ1ÒIcñH 3ëfH¾HƒêHƒéHnÿAöD@ tH‰îAƒï…ÀÚHc÷ÆD31À€;#„ëþÿÿHT$H5  1ÿètoH…ÀH‰Å„ÇþÿÿH¾I‹$öDB tf„HƒÅH¾EöDB uðAÇEÿÿÿÿH¾EöDB…ÈH5‡ ºH‰ï脇…À„œH5p ºH‰ïèh‡…À„±L‹ Y°/¸ÿÿÿÿIƒy„=þÿÿH¢ HQ AÇI‹y I‰èH‰ÙI‰AI‰Q1ÀHé L‰ÎAÿQ¸ÿÿÿÿéüýÿÿ„H¾öDB „€þÿÿHƒÆDécþÿÿAÇE°éÅýÿÿ1öº H‰ïè!4ƒøA‰E‡TÿÿÿéžýÿÿAÇE°Déýÿÿff.„AWE1ÿAVAUATUSHìX@H‰t$H‰|$H5º¢ H‹|$H‰T$dH‹%(H‰„$H@1ÀHÇD$0HÇD$(è·<H…ÀI‰ÄÇD$„ãHl$(H\$0Lt$„ŒH‹L$0L‰öH‹y@èCH…ÀH‰Á„L‹p1íM…ötA‹.L‰|$8‹yE‰ïM‰åA‰ÜH‰Ëë ƒÅL‰ðI‰Æ9ýƒ±A‹I‹N‰ê)ÂH£ÑsH‹|$Xº‰îèý/…À…6ýÿÿA‹‹{‰À‰êHƒÀ?H9Âu²I‹FH…Àt©‹(ë«€û}f„ÕH¾ÓöDQ „ ÿÿÿfé ÿÿÿD‰íM‰ý€|$8„üÿÿH‹T$0ƒzuéúÿÿI‹$H¾ÀöDC „ÎIƒÆA¶„ÀuáéYüÿÿD‰ãM‰ìE‰ýL‹|$8ƒ|$Ltqˆ\$8L‹t$`ÇD$Lé}þÿÿH‹-ü¢/Hƒ}tÕHF Hý ÇEH‹} E‰éL‹D$ H‰EH‰UL‰ñHt H‰î1ÀÿUë˜L‰ðÇD$Lé^þÿÿD‰íˆ\$8M‰ýL‹t$`é'ÿÿÿIƒÆA¶ÇD$LéÅýÿÿD‰íI‰ÆM‰ýéÿÿÿH5 ºL‰÷è]y…À…süÿÿA¶FM~H¾ÐöDS „Ôüÿÿ„À„`ûÿÿH¾ÀöDC t IƒÇA¶ëãL‰ûH5a ºH‰ßè y…ÀtHƒÃ€;uß@éüÿÿH‰ßÆCÿL)ÿèÔ"H…ÀI‰Æ„óüÿÿL‰´$¸L‰ðA¶„Òt+I‹ $H¾òöDq uˆHƒÀH‰„$¸IƒÇH‹„$¸ëÍÆH‹|$@L‰´$¸è•÷ÿÿD¾|$8H‹L$@H‹T$hH‹|$0D‰þ舅ÀxtL‰÷èŒH‹T$PH‹L$(H5– H‰ßH‹H‰A@H‹BºH‰AHè/x…À…¾ûÿÿ¶CI‹ $HSH¾ØöDY „7úÿÿ„À„"ûÿÿH¾ØöDY t^HƒÂ¶ëäH‹é /Hƒ{t:H 3 Hê ÇH‹{ A‰éL‹D$ H‰KH‰CL‰ñH| H‰Þ1ÀÿSL‰÷èÐé[÷ÿÿH‰Ñ<;fDt„À@„ûÿÿHƒÁ¶ëáHyÆH‰T$H)×èU!H…ÀI‰ÆH‹T$„oûÿÿH‰„$¸¶ „Ét+I‹$H¾ñöDs uˆHƒÀH‰„$¸HƒÂH‹„$¸ëÎÆH‹|$@L‰´$¸èöÿÿH‹L$@H‹T$hD‰þH‹|$0è…Àx%L‰÷èH‹D$(¹H‹t$PHƒÀ H‰Çó¥é…öÿÿH‹¾Ÿ/Hƒ{„ ÿÿÿH  H» ÇH‹{ A‰éL‹D$ H‰KH‰CL‰ñHf H‰Þ1ÀÿSéÌþÿÿ@ULe I‰ñH‰ý¹ºS¾HìdH‹%(H‰„$1ÀH‰çè€ÞH‰æH‰ïèEõÿÿ…ÀxAH‰ïèI&…À€xC1ÀH‹”$dH3%(…ÐHÄ[]@ÀH‹-Ùž/Hƒ}ua¸ÿÿÿÿë¿H‹-Äž/Hƒ}tëHö HÅ ÇEH‹]H‰UH‰EèGº‹8èKH‹} H‰ÁH† 1ÀH‰îÿÓ¸ÿÿÿÿéeÿÿÿHª Hy ÇEH‹]H‰UH‰Eèû¹‹8èDKH‹} H‰ÁHV 1ÀH‰îÿÓ¸ÿÿÿÿéÿÿÿè èH‰l$ØL‰d$àH‰ýL‰l$èL‰t$ðI‰ÔL‰|$øH‰\$ÐHì¨H‰çI‰öI‰ÏdH‹%(H‰„$h1ÀM‰ÅèQ…ÀtT¸ÿÿÿÿH‹”$hdH3%(…®H‹œ$xH‹¬$€L‹¤$ˆL‹¬$L‹´$˜L‹¼$ HĨÃ1ÿH‰áL‰òH‰îè‰{…Àx˜H¬$`LS M‰á¹º¾H‰ï1ÀèŠÜH‰îH‰çèOóÿÿ…Àx-1ÿL‰éL‰úH‰æè|…ÀxH‰çèv1ÀDé;ÿÿÿè~çH‰çèvƒÈÿé&ÿÿÿH‰l$ðL‰d$øH‰ýH‰\$èHƒìH…ÿI‰ôu1ÀH‹$H‹l$L‹d$HƒÄÃDÿUH‹UH˜H‹ÂH…ÛufDëÌfDH‹[H…Ût½H‹L‰æH‰ïÿU…ÀçH‹L‰æH‰ïÿU…ÀuH‹Cë™f„AVH…ÿAUI‰ýATI‰ÔUH‰õStT‹G…ÀtME1öI‹ED‰òH‹ÐH…Ûuë.fDH‹[H…ÛtH‹sL‰âH‹;ÿÕ…Àtç[]A\A]A^ÃfDAƒÆE9uw¶[]A\A]1ÀA^Ãff.„SE1ÒE1ÀH‰òHƒìD‹OE…ÉtEAAÿH‹1öLÅ„H‹3H…ÀtAƒÀ1ÉH‹@ƒÁH…ÀuôD9ÑDOÑHƒÆL9ÞuÔ‹O H5ò ¿1ÀD‰$èZÜHƒÄ[Ã@AWI‰ÏAVAUATI‰ÔUH‰õSH‰ûHƒì(H…ÿ„Ä‹W…Ò„¹ÇD$f.„‹D$HÅH‰T$H‹L‹,ÂM…ítxE1öëVfDM…ö„I‹EI‰FM…äI‹EtH‰D$I‹uL‰úI‹}AÿÔH‹D$L‰ïH‰D$èÙ H‹D$ƒk H…Àt I‰ÅI‹uL‰úI‹}ÿÕ…ÀuŸI‹EM‰îH…ÀuàƒD$‹D$9C‡YÿÿÿHƒÄ([]A\A]A^A_Ãf.„H‹I‹UH‹L$H‰édÿÿÿff.„AUI‰ýATUSHƒìH…ÿtq‹O…ÉtuH‹1ífA‰ìIÁäJ"H‹8H…ÿtDH‹_è H…ÛH‰ßuïI‹UJ"ƒÅA9mHÇw¿H‰×è÷ IÇEHƒÄL‰ï[]A\A]éÝ HƒÄ[]A\A]ÃH‹ëÎffff.„H‰\$ÐH‰l$ØH‰ûL‰d$àL‰|$øH‰õL‰l$èL‰t$ðHƒìHH…ÿI‰ÔI‰Ïu-¸þÿÿÿH‹\$H‹l$ L‹d$(L‹l$0L‹t$8L‹|$@HƒÄHÃDÿSH˜E1öH‰D$H‹H‹T$L‹,ÐM…íuë³I‹EM‰îH…Àt§I‰ÅI‹UH‰îH‰ßÿS…ÀàI‹UH‰îH‰ßÿS…Àu‚M…öt.I‹EI‰FM…ätI‹uL‰úI‹}AÿÔL‰ïèç ƒk 1ÀéTÿÿÿH‹I‹UH‹L$H‰ÈëÈf.„AWAVAUI‰ÍATI‰ÔUH‰õSH‰ûHƒìH…ÿL‰D$„ˆÿSH˜E1ÿH‰$H‹H‹$L‹4ÐM…öuë~f.„I‹FM‰÷H…ÀttI‰ÆI‹H‰îH‰ßÿS…ÀáI‹H‰îH‰ßÿS…ÀuQM…ítI‹vH‹T$I‹>AÿÕI‰.M‰f1ÀHƒÄ[]A\A]A^A_ÃDHƒÄ¸ôÿÿÿ[]A\A]A^A_ÃE1ÿf„¿è¦H…ÀtÑM…ÿHÇ@H‰(L‰`tI‹WH‰PI‰G1Àë™H‹H‹$H‹ ÚH‰HH‰Ú1Àë‚fDAWI‰×AVAUATI‰ôUH‰ýSHƒìH…ÿ„¨ÿULcðH‹EE1íJ‹ðH…Ûué¡DH‹CI‰ÝH…Àt4H‰ÃH‹L‰æH‰ïÿU…ÀáH‹L‰æH‰ïÿU‰Â¸ïÿÿÿ…ÒtWf.„¿èÖH…Àt9M…íHÇ@L‰ L‰xt>I‹UH‰PI‰EƒE HƒÄ1À[]A\A]A^A_Ã@¸ôÿÿÿHƒÄ[]A\A]A^A_ÃE1íëŸH‹UJ‹ òH‰HJ‰òë¼ffff.„H‰\$ØH‰l$àH‰ûL‰d$èL‰l$ð¿ L‰t$øHƒì(H‰õA‰Öè0H…ÀI‰ÄI‰ÅtZD‰÷HÇD‰pHÁçÇ@ H‰XH‰hèÿH…ÀI‰$tKE…öt&Aƒî1ÒJ õëI‹EHÇHƒÂH9ÊuëL‰àH‹$H‹l$L‹d$L‹l$L‹t$ HƒÄ(ÃL‰çE1äèàëÓóÃfffff.„USHƒìH…ÿt1H‹_H…Ûuë&f.„H‰ëH‹kH‰ßèÁÿÿÿH‰ßè‰H…íuäHƒÄ[]Ãffff.„SH‰ûè§ÿÿÿH{[éÿÿÿffff.„HÇHÇGÃSH‰ûèçÿÿÿH{[éÝÿÿÿffff.„HÇHÇGÃAUATUH‰õSH‰ûHƒìè«ÿÿÿ‹EH‹mH…í‰t]E1äë'„M‰l$‹EM‰ìA‰E‹EH‹mA‰EH…ít1¿èwH…ÀI‰Åt/H‰Çè‡ÿÿÿM…äuÂL‰kfDë»fDHƒÄ1À[]A\A]ÃH‰ßè¸þÿÿHƒÄ¸ÿÿÿÿ[]A\A]ÄH‰\$ðH‰l$øHƒìH‰ûH‰õè7ÿÿÿ‰Â¸ÿÿÿÿ…ÒxHuH{èÿÿÿ…Àx1ÀH‹\$H‹l$HƒÄÃH‰ßèRþÿÿ¸ÿÿÿÿëâff.„Hƒì1À‹;s HƒÄÀHƒÆHƒÇèË…À•ÀHƒÄ¶ÀÃfffff.„H‰\$ðH‰l$øH‰óHƒì(‹w1À…öuH‹\$H‹l$ HƒÄ(ÀAƒø „æAƒø@„ŒAƒø¸êÿÿÿuÈH‹¯ H…ítr‹C·ùëf.„H‹m@H…ítW9Euò‹u;ruê9}€uÞ‹EIyHuL‰ $A‰AèÖ%…ÀL‹ $…dÿÿÿ‹E(Hu0Iy0A‰A(è¶%éKÿÿÿfƒù„–‹CHkIyL‰ $H‰îA‰Aè‹%…ÀL‹ $…ÿÿÿ‹CIy0H‰îA‰A(èl%éÿÿÿ€A‹A;Bu±‹BHrIyH‰T$L‰ $A‰Aè:%…ÀH‹T$L‹ $…Ãþÿÿ‹B(Hr0Iy0A‰A(è%éªþÿÿ‹CIyHsL‰ $A‰Aèø$…ÀL‹ $…†þÿÿ‹C(Hs0Iy0A‰A(èØ$émþÿÿH‰\$ÐH‰l$ØH‰ûL‰d$àL‰l$è1ÀL‰t$ðL‰|$øHƒìh‹H‰Õ…ÿu'H‹\$8H‹l$@L‹d$HL‹l$PL‹t$XL‹|$`HƒÄhÃ@@„ö„óH‹2D¶&A€ü:t E„ä…çH‰òE„ätÆHƒÂf.„I‰ÏE1öë-„L‰êE„ätÆHƒÂAƒÆIƒÇL‰îAƒþ„ôH‹»€H‰T$H‰ $è&ôÿÿH…ÀH‹T$H‹ $tlH‹A€ü:‹A‰G„ÃI‰ÕA€ü-…E¶eA€ü:tE„äL‰êt…DHƒÂD¶"A€ü:„qÿÿÿE„äuéésÿÿÿ‹AHqHy0‰A(è€#…ÀyV¸ÿÿÿÿéÓþÿÿA€ü-fD„H‰ò€HƒÂD¶"A€ü:„ðþÿÿE„ä„ýþÿÿA€ü-ußA¼-éÚþÿÿE…öt“IƒÅ1ÀL‰méxþÿÿI‰ÕëìD‰ðH@HDÁH‰D$ D¶"A€ü,t E„ä…ÃI‰ÕE„äDˆd$„åAÆEIƒÅH‰×¾.H‰T$H‰ $è¾9H…ÀI‰ÀH‹T$H‹ $tÆIƒÀH‹»H‰ÖH‰ $L‰D$è¾òÿÿH…À„ ÿÿÿ‹0H‹|$ ºH‰D$ƒîè¼…ÀH‹ $L‹D$…ßþÿÿM…À…„€|$,…uþÿÿL‰êD¶"A€ü,…?ÿÿÿfDé=ÿÿÿA€ü-€„ÁI‰Õ€IƒÅE¶eA€ü,„ÿÿÿE„äuDˆd$éÿÿÿfDA€ü-@uÎÆD$-A¼-éñþÿÿH‹»L‰ÆèïñÿÿH…ÀH‰D$(H‹ $L‹L$„,þÿÿE‹D;réþÿÿH‹D$(AƒÀD9†4ÿÿÿH‹|$ D‰ÆºH‰ $D‰D$è»…ÀH‹ $D‹D$tÆéÝýÿÿI‰ÕfDémÿÿÿH‰òé þÿÿAWAVAUATUSH‰ûHƒì8D‹OH‰T$E…É„ðL‹2HF0HVAÆ:IƒÆH‰D$ H‰T$(ÇD$ÇD$H‰t$‹l$H‹T$L‰÷HDmL$ÂH‹ƒÐA‹T$ƒêH‹4Ðèn8A‹T$H‹ƒÐƒêH‹<Ðè–<M‹l$E1äM…ítE‹eH‹T$IÆHDmÇD$HlÂ1Ò‹uë+@…Ò„¸ƒÂE‰ç‰ÉHƒÁ?L9ù„†AƒÄL‰èI‰ÅA9ôƒHA‹MI‹ED‰ç)ÏH£ør½ƒú† ƒú„ËAÆ.IƒÆH‹ƒØE|$ÿL‰÷J‹4øè«7H‹ƒØJ‹<øE‰çèØ;A‹MIÆ1Ò‹u‰ÉHƒÁ?L9ù…zÿÿÿI‹EH…À„mÿÿÿD‹ élÿÿÿ„D‹D$E…À…šAÆ:IƒÆH‹ƒØE‰çL‰÷J‹4øè47H‹ƒØJ‹<øèd;A‹MIÆ‹uÇD$ºéöþÿÿ„AÆ,IƒÆé0ÿÿÿƒ|$†šH‹D$L‰0HƒÄ8[]A\A]A^A_ÃfDE‰ç1Òé¬þÿÿfDAÆ,IƒÆéaÿÿÿƒúv7ƒúufAÆ,IƒÆH‹ƒØAƒìL‰÷J‹4àè6H‹ƒØJ‹<àè¯:IÆ‹l$…í…pÿÿÿH‹T$‹B;B(t%AÆ-IƒÆƒD$ƒD$é¡ýÿÿ@AÆ.IƒÆë˜H‹t$ H‹|$(è…À…2ÿÿÿëÂDAW1ÀAVAUATI‰ôUH‰ýSHƒìHD‹WE…Ò„¥H‹‡ÐHV0A¾E1í»H‰T$0H‰D$(HFH‰D$8D‰éH‹T$(HIH‰L$M<ÄA‹GƒèH‹<ÂèÜ9I‹WE1ÿH‹L$H…ÒtD‹:ÃHI1ÿA‹DÄ ‰D$$ë(D…ÿ„ˆƒÇD‰þ‰ÉHƒÁ?H9ñtiAƒÇH‰ÐH‰ÂD;|$$ƒ²‹ H‹rD‰ø)ÈH£ÆrÁƒÿ†ˆH‹…ØAwÿH‰T$‰L$H‹<ðèK9‹L$D‰þ1ÿ\H‹T$‰ÉHƒÁ?H9ñu—H‹BH…ÀtŽD‹8ëH‹…ØD‰þH‰T$‰L$H‰t$H‹<ðèÿ8¿\H‹T$‹L$H‹t$éAÿÿÿD‰þ1ÿé4ÿÿÿfDƒÿvH‹…ØAƒïJ‹<øè·8\E…íuA‹D$A;D$(t)ƒÃAƒÅAƒÆé‘þÿÿfAƒþvë‰ØHƒÄH[]A\A]A^A_ÃH‹t$0H‹|$8è*…ÀuÜH‹…ÐH‰D$(ë¶„H‰\$ÐH‰óH‰l$ØL‰d$àL‰l$èH‰ÖL‰t$ðL‰|$øI‰üHƒìXH‰ßH‰ÕI‰ÏHÇD$è¾ýÿÿA‰ÅEuMcöL‰÷è H…ÀH‰D$tzIcýèú H…ÀI‰ÅH‰ÁtiHT$H‰îH‰ßèŸúÿÿ¾L‰ïL)öHt$H‰t$HƒÆèq3H‹|$è÷úM‰/1ÀH‹\$(H‹l$0L‹d$8L‹l$@L‹t$HL‹|$PHƒÄXÀ1ÉM…äLD%‹ˆ/Iƒ|$t@H|õ H‰L$AÇ$I‹|$ HCô L‰æI‰D$Hjñ I‰D$1ÀAÿT$H‹L$H‹|$H‰L$èdúH‹L$H‰ÏèWú¸ÿÿÿÿé[ÿÿÿffff.„H‰\$ØH‰l$àH‰ÕL‰d$èL‰l$ðI‰ýL‰t$øH‰×Hƒì8I‰ôI‰Îè4H…ÀH‰ÃH‰D$„îHT$L‰ñ¾$L‰çèÙõÿÿ…Àx-H‰ßèÝù1ÀH‹\$H‹l$L‹d$ L‹l$(L‹t$0HƒÄ8ÃDL‹‡/M…íMEÅIƒxt4H\ô AÇI‹x H‰éH ó L‰ÆI‰@H_ð I‰@1ÀAÿPH‰ßègùM…íLD-,‡/¸ÿÿÿÿIƒ}„qÿÿÿHô AÇEI‹} Hó L‰îI‰EH ð I‰E1ÀAÿU¸ÿÿÿÿé5ÿÿÿH‹ Ù†/M…íIEÍHƒyt”H´ó ÇH‹y H¬ä H‰ÎH‰AH»ï H‰A1ÀÿQé`ÿÿÿ€AWAVI‰öAUI‰ýATUSHƒì8D‹_H‰T$E…Û„7HD$ I‰×ÇD$ H‰D$A‹WI‹…ÐI‹¾€ƒêH‹4ÐèWéÿÿH…À„H‹H‹T$1Û‹A‰GHÇHÇBI‹oH…ít‹]A‹w ëDƒÃH‰èH‰Å9ós{‹EH‹M‰ÚA‰Ü)ÂH£ÑsGI‹…ØI‹¾J‹4àèàèÿÿH…À„—‹0H‹|$ºƒîèã…Àun‹EA‹w „‰ÀHƒÀ?L9àuH‹EH…Àt„‹ë†„‹D$ H‹T$H@H|ÂèIH‹D$ ƒD$ I‰GH‹D$(I‰G IƒÇƒ|$ …Þþÿÿ1ÀHƒÄ8[]A\A]A^A_ÃfHƒÄ8¸êÿÿÿ[]A\A]A^A_Ãfff.„L‰d$àL‰l$èI‰ôH‰\$ÐH‰l$ØI‰ýL‰t$ðL‰|$øHƒì8D‹wE…öu/¸H‹\$H‹l$L‹d$L‹l$ L‹t$(L‹|$0HƒÄ8À‹F(;Fs1ÀëÊ@HvI|$0袅ÀtæE1öC‹D4…ÀtÚA;…ˆwÑI‹•ЃèI‹½€H‹4ÂèoçÿÿH…ÀI‰Çt¯K‹l41ÛH…ít‹]C‹t4 ë ƒÃH‰èH‰Å9ós[‹EH‹M‰Ú)ÂH£Ñs+A;˜‡mÿÿÿI‹?‰ÞHƒÇ臅À„Wÿÿÿ‹EC‹t4 ‰À‰ÚHƒÀ?H9ÂuªH‹EH…Àt¡‹ë£DIƒÆIƒþ0…?ÿÿÿAƒ|$@„ÛþÿÿA‹$…À„ÿÿÿA;Ehf‡úþÿÿI‹•ðƒèI|$H‹ÂHs`è¦ïÿÿ…À„ÖþÿÿIt$(H{xèïÿÿ…À•À¶Àé‰þÿÿH‰\$ØH‰l$à1ÀL‰d$èL‰l$ðH‰ûL‰t$øHƒì(…ÉH‰õI‰Ôu$H‹$H‹l$L‹d$L‹l$L‹t$ HƒÄ(À‹†‹WLo(9Ðs/9Âs[Lu`L‰ïL‰öè ïÿÿ…À…Ù@¸êÿÿÿë¥f„L¶˜HwL‰÷èÍ …À…‹S‹…ë«f.„LsHµ˜L‰÷è …ÀtŽ‹Ex;Cr†H½€L‰öè‚ …À„oÿÿÿH‹CI‰D$H‹CI‰D$H‹C I‰D$ ‹Ex;C(sgHuxL‰ïè[îÿÿ…À„SÿÿÿH‹ExI‰D$(H‹…€I‰D$0H‹…ˆI‰D$81Àé×þÿÿH½L‰îèîÿÿ…À„ÿÿÿI|$¹L‰öó¥ë”Hs0H½€èà …Àt…H‹C(I‰D$(H‹C0I‰D$0H‹C8I‰D$81Àévþÿÿf.„‹C(;…‚ÜþÿÿH{0L‰öè• …À„ÈþÿÿH‹…I‰D$H‹…˜I‰D$H‹… I‰D$ éÿÿÿ@H‰\$ØH‰l$àH‰ýL‰d$èL‰l$ð¿@L‰t$øHƒì(I‰ôI‰ÕèH…ÀH‰Ã„Ä1À¹H‰ßóH«L‰æH‰ÙL‰êH‰ïHkLc(èÎøÿÿH{A‰ÆÇCÇCÇè® H{0HÇCHÇEHÇEè HÇCH‰ßHÇEHÇEHÇC(IÇD$IÇD$è“òD‰ðH‹$H‹l$L‹d$L‹l$L‹t$ HƒÄ(ÃH…íHD-5€/A¾ÿÿÿÿHƒ}tÅHáì ÇEH‹} L‰éHTì H‰îH‰EHé H‰E1ÀÿUëH‰\$ÐH‰l$ØL‰d$àL‰l$èI‰üL‰t$ðL‰|$ø¿@HƒìHI‰õI‰×H‰ $M‰Æè¤¿@H‰Ãè—H…ÛH‰Å”D$H…À”D$…¶H‹ ‡/M…äIEÌHƒyt/HBì Hè ÇH‹y H‰ÎH‰AH‰Q1ÀHFÝ ÿQM…äLD%?/Iƒ|$t=Hì H?è AÇ$I‹|$ L‹$L‰ùI‰D$I‰T$L‰æH‰ë 1ÀAÿT$€|$uzH{LcLk(ÇCÇCÇè¾ H{0HÇCIÇD$IÇD$è› HÇCIÇD$IÇD$HÇC(IÇEIÇE€|$u{H}LeLm(ÇEÇEÇEè< H}0HÇEIÇD$IÇD$è HÇEIÇD$IÇD$HÇE(IÇEIÇEH‰ßèðH‰ïèð¸ÿÿÿÿé{D€|$…?þÿÿ1À¹H‰ßóH«H‰ïL‰úL‰î±óH«H‰ÙL‰çè—õÿÿ…ÀˆUþÿÿH‹$H‰éL‰îL‰çè}õÿÿ…Àˆ;þÿÿ‹E;CƒAHC0LkLeL}0H‰$1ÒA‰LsL‰ïÇCÇCLk(Çè, HÇCIÇFIÇFH‹<$è HÇCIÇFL‰çIÇFHÇC(Le(IÇEIÇELmÇEÇEÇEè¶HÇEL‰ÿIÇEIÇEè–HÇEH‰ßIÇEIÇEHÇE(IÇD$IÇD$èœîH‰ïè”î1ÀH‹\$H‹l$ L‹d$(L‹l$0L‹t$8L‹|$@HƒÄHÀLkLeL}0L‰îL‰çèAHS0…ÀH‰$„¬þÿÿ‹C(;E(‚ þÿÿH‰×L‰þè…Àº„ˆþÿÿé…þÿÿH]¤/1Ò€98u9pütƒÂHƒÀƒúuë1ÀÀ‰ÒH'¤/HÁâHÃfffff.„óÃfffff.„óÃfffff.„‹…Àu ¸êÿÿÿÃ@;B(wñH‹’ ƒèH‰<Â1ÀÃf.„‹…Àu ¸êÿÿÿÃ@;B8wñH‹Š¨H‹’àƒèH‰<ÁH‰4Â1ÀÃffffff.„‹…Àu ¸êÿÿÿÃ@;BHwñH‹Š°H‹’èƒèH‰<ÁH‰4Â1ÀÃffffff.„‹N1À…ÉuóÃD‹…Àu¸êÿÿÿÃ;BXwôH‹Š¸H‹’øƒèH‰<ÁH‰4Â1ÀÃf‹…Àu ¸êÿÿÿÃ@;BhwñH‹ŠÀH‹’ðƒèH‰<ÁH‰4Â1ÀÃffffff.„1À€~tóÃfDH‹‹…Àu¸êÿÿÿÃ;‚ˆwòH‹’ЃèH‰<Â1ÀÄ1À€~tóÃfD‹…Àu¸êÿÿÿÃ;‚˜wòH‹’؃èH‰<Â1ÀÃff.„1ÀƒÿwHòx/HcÿH‹øóÃf„¹1ÀóH«ÃDHÇHÇGÃHÇHÇGÃHÇÄHÇHÇGÃH…ÿSH‰ótèrëH‰ßèºýÿÿH‰ßèbë1À[Ãfffff.„H…ÿSH‰ótèBëH‰ßè:ë1À[ÃfDSH‰óè'ëH…Ût H‹{èëH‰ßèë1À[Ãffff.„SH‰ûH‹¿ðH…ÿtèëêH‹»ÀH…ÿtèÚê‹{hHÁçèŽùH…ÀH‰ƒðu ¸ÿÿÿÿ[Ë{hHÁçèlùH…ÀH‰ƒÀtÞH‹{`H5åýÿÿH‰Úè Üÿÿ…ÀuÇH‹{`H‹5~x/H‰ÚèöÛÿÿ‰Â1À…Òu¬[Ãfff.„SH‰ûH‹¿ èPê‹{(HÁçèùH…ÀH‰ƒ u¸ÿÿÿÿ[ÃH‹{ H5…üÿÿH‰ÚèÛÿÿ…ÀuáH‹»àè ê‹{8HÁçèÁøH…ÀH‰ƒàt½H‹»¨èéé‹{8HÁçèøH…ÀH‰ƒ¨t™H‹{0H5VüÿÿH‰Úè>Ûÿÿ‰Â1À…Ò…zÿÿÿ[ÃH‰\$ðH‰l$øHƒì(H‰ýH‰óèw…Àt¸ÿÿÿÿH‹\$H‹l$ HƒÄ(ÀH‰çºH‰Þè¸|…ÀxÑ‹$‰E1ÀëÌf.„H‰\$ðH‰l$øHƒì(H‰ûH‰õè…Àt¸ÿÿÿÿH‹\$H‹l$ HƒÄ(ÀH{H‰îèì…ÀuÕH‰çºH‰îèH|…ÀxÁ‹$‰C 1Àë¼f.„H‰\$ÐL‰d$à¿L‰t$ðH‰l$ØI‰öL‰l$èL‰|$øHƒìHI‰Ôèn÷H‰Ã¸ÿÿÿÿH…ÛtrH‰ßèùüÿÿH‰çº L‰æèÙ{…Àx}‹D$D‹,$‰‹D$A}ˆCè+÷H…ÀH‰ÅI‰Çt`E‰íL‰æH‰ÇL‰êèŸ{…ÀxKH‰ÚH‰îL‰÷BÆD-è—Þÿÿ‰Â1À…Òu/H‹\$H‹l$ L‹d$(L‹l$0L‹t$8L‹|$@HƒÄHÃ@E1ÿD1ÒH‰ÞL‰ÿèsüÿÿ¸ÿÿÿÿë½fff.„H…ÿt HƒÇé’fóÃfffff.„SH‰óè·çH‰ßèÏÿÿÿH‰ßè§ç1À[Ãé[ff.„SH‰ûèçÿÿÿH{[éÝÿÿÿffff.„USH‰ûHƒìH…ÿtfH‹k0H‰ßèÄÿÿÿH‰ßèLçH…íH‰ëuäHƒÄ[]Ãffff.„H…ÿSH‰ûtèâH{[騄[€Ã€H…ÿSH‰ûtèRÿÿÿH{[é¸ÿÿÿ„[€Ã€USH‰ûHƒìH…ÿtfH‹kHH‰ßè´ÿÿÿH‰ßè¬æH…íH‰ëuäHƒÄ[]Ãffff.„H…ÿSH‰ût9HèNÿÿÿH{0èEÿÿÿH‹{XH…ÿu@ëfDH‰ßH‹_èTæH…Ûuî[DÀUSHƒìH…ÿt!H‰ûëH‰ëH‹khH‰ßè‘ÿÿÿH‰ßèæH…íuäHƒÄ[]Ãffff.„H…ÿSH‰ûtHè®ÿH{èµþÿÿH{@[é›ÿ[ÃfDSH‰óèÇåH‰ßè¿ÿÿÿH‰ßè·å1À[ÃH‰\$ÐH‰l$ØH‰ýL‰l$èL‰t$ð¿L‰d$àL‰|$øI‰öHƒìX¾(I‰Õè&ëH‰Ã¸ÿÿÿÿH…Û„D‹]E…Û…8ƒ½Xº vºH‰çL‰îèŠx…Àˆ²‹D$D‹$$‰D‹UE…Ò„k‹…Xƒø† ƒø „]‹D$º‰C‹D$ ¨tÇC¨tD‹ME…ÉtÇC¨t D‹EE…ÀtƒK HcÒ‹”‰C$‹u…ötH{L‰î臅À…E‰äI|$èRóH…ÀH‰ÅI‰Ç„L‰âL‰îH‰ÇèÅw…ÀˆðH‰ÚBÆD%H‰îL‰÷è¹Úÿÿ‰Â1À…Ò…ÐH‹\$(H‹l$0L‹d$8L‹l$@L‹t$HL‹|$PHƒÄXÃf.„‹…XƒøvMƒø „Âþÿÿºé½þÿÿf‹D$‰C‹}…ÿ„Oÿÿÿ‹D$ ‰Cƒ½X† ÿÿÿ‹D$‰C éÿÿÿfD…xþÿÿºDénþÿÿƒ½Xv¦‹D$º¨„¢þÿÿ¨ÇC„žþÿÿé’þÿÿE1ÿ1ÒH‰ÞL‰ÿè°ûÿÿ¸ÿÿÿÿéÿÿÿfDH‰\$ÐL‰d$àI‰ÔL‰l$èL‰|$øI‰õH‰l$ØL‰t$ðI‰ÿHƒìX¾X¿èÖèH‰Ã¸ÿÿÿÿH…Û„A‹…Ò…Aƒ¿X†º H|$L‰æè:v…Àˆç‹D$H‰D$‹D$‰A‹…À„øAƒ¿X‡øH‹|$HƒÇèlñH…ÀH‰ÅI‰Æ„H‹T$L‰æH‰ÇèÝu…ÀˆíH‹T$H{L‰æÆDèO…À…ÏE‹?E…ÿ…«H{L‰æè/…À…¯HÝ ¹ H‰îH‰Çó¦…­ƒ;…Ä1ÒH‰ÞH‰ïèGüÿÿ1ÀH‹\$(H‹l$0L‹d$8L‹l$@L‹t$HL‹|$PHƒÄXÃfAƒ¿X‡æþÿÿºéáþÿÿ„Aƒ¿X†ÿÿÿ‹D$‰CPéüþÿÿfDH{L‰æèTøÿÿ…À„Uÿÿÿ@1ÒH‰ÞL‰÷è»ûÿÿ¸ÿÿÿÿélÿÿÿH‰ÚH‰îL‰ïèÒ×ÿÿ‰Â1À…Ò„QÿÿÿëÌ@M‹L$(M…ÉLD o/Iƒyt7Hqá AÇH‰ÁI‹y D‹L‰ÎI‰QH Ø 1ÀI‰QHýÛ AÿQ1ÒH‰ÞH‰ïè5ûÿÿ¸ÿÿÿÿéæþÿÿE1öé[ÿÿÿH‰l$ØL‰l$è¿L‰t$ðH‰\$ÐI‰öL‰d$àL‰|$ø¾HƒìHI‰ÕèiæH‰Å¸ÿÿÿÿH…ítaH‰çºL‰îèìs…ÀxxD‹$$‹D$‰EI|$èCïH…ÀH‰ÃI‰Çt`L‰âL‰îH‰Çèºs…ÀxNH‰êH‰ÞL‰÷BÆ#è³Öÿÿ‰Â1À…Òu3H‹\$H‹l$ L‹d$(L‹l$0L‹t$8L‹|$@HƒÄHÄE1ÿD1ÒH‰îL‰ÿè»ôÿÿ¸ÿÿÿÿë¹@AUATA‰ôUH‰ÕSH‰ûHƒì…ötAE1íë @AƒÅE9ìv/D‰ïH‰îHÁçH<;è¤ýƒøÿu߸ÿÿÿÿHƒÄ[]A\A]ÀH‰çºH‰îèèr…ÀxÕ‹<$…ÿ‰»ˆuHǃ€HƒÄ1À[]A\A]Éÿ¾èåH…ÀH‰ƒ€t˜ƒ»ˆt?E1äëf„AƒÄD9£ˆv$H‹ƒ€D‰âH‰îHÁâH<èùüƒøÿuÔéPÿÿÿ1ÀDéIÿÿÿAWºI‰ÿAVAUATI‰ôUSHƒì(Ll$L‰ïè*r…ÀxvD‹t$E…ö„€1Ò1íë2fH‰BºL‰æL‰ïèüq…ÀxH‹D$ƒÅH‰ÚA9D$‰CvH¾¿H‰T$è,äH…ÀH‰ÃH‹T$tH…ÒuªI‰ë©DHƒÄ(¸ÿÿÿÿ[]A\A]A^A_Ã@HƒÄ(1À[]A\A]A^A_ÀAWºI‰ÿAVAUATI‰ôUSHƒì(Ll$L‰ïèZq…Àx~D‹t$E…ö„ˆ1Ò1íë9fH‰Bº L‰æL‰ïè,q…ÀxP‹D$ƒÅH‰ÚA9D$‰C‹D$‰CvI¾¿H‰T$èUãH…ÀH‰ÃH‹T$tH…Òu£I‰ë¢fDHƒÄ(¸ÿÿÿÿ[]A\A]A^A_Ã@HƒÄ(1À[]A\A]A^A_Ãffffff.„SH‰ûH‹¿ˆè@ÝH‹‹€1Ò1ÿH…Ét+H‹H…Àt„H‹€ØƒÂH…ÀuñH‹IH…ÉuØHcú¾è«âH‰ÂH‰ƒˆ¸ÿÿÿÿH…ÒtGH‹³€H…öt9H‹H…Àt%H‹‹ˆf„‹ƒêH‰ÑH‹€ØH…ÀuëH‹vH…öuÊ1À[Ãfffff.„H‰\$ØH‰l$àºL‰l$ðL‰d$èI‰ýL‰t$øHƒì8H‰õH‰çè°o…À‰Ãˆ¦D‹$$Aƒü‡øD‰âH‰îH‰çHÁâè†o…À‰Ãˆ„‹$AƒüA‰E…û‹D$A‰EMuH‰îL‰÷èäù…À‰ÃtnH‹M(H…ÉHD ¿i/Hƒyt8HÑÛ ÇH‹y HñÖ H‰ÎH‰AH¨Ò H‰A1ÀÿQf„‰ØH‹l$H‹\$L‹d$ L‹l$(L‹t$0HƒÄ8ÃAƒüuzI} H‰îè^ù…À‰ÃtÈH‹M(H…ÉHD 9i/Hƒyt/HKÛ ÇH‹y HˆÖ H‰ÎH‰AH"Ò H‰A1ÀÿQL‰÷èëôévÿÿÿfDA‰E@éÿÿÿI} L‰öèÃû…À‰Ã„IÿÿÿH‹M(H…ÉHD ºh/Hƒyt°HÌÚ ÇH‹y H”Æ H‰ÎH‰AH£Ñ H‰A1ÀÿQé|ÿÿÿ€H‹M(H…ÉHD ih/Hƒy„ÞþÿÿHwÚ ÇH‹y H‡Õ H‰ÎH‰AHNÑ H‰A1ÀÿQéªþÿÿf.„H‹M(»êÿÿÿH…ÉHD h/Hƒy„þÿÿHÚ ÇH‹y HÕ H‰ÎH‰AHñÐ H‰A1ÀÿQéMþÿÿffff.„AVAUI‰õATU1íSH‰ûH‰÷èˆÒÿÿL‹c‹M…äA‰EtA‹,$‹sE1öë DM…ötw‰À‰êHƒÀ?H9Ât@ƒÅL‰àI‰Ä9õsIA‹$I‹L$‰ê)ÂH£ÑrÎM…ötÎA‰nA‹$‰êE1ö‹s‰ÀHƒÀ?H9ÂuÀI‹D$H…Àt¶‹(븄1ÀM…ötA‰n[]A\A]A^ÿèòçH…ÀI‰Æt&H‰ÇèÒÿÿEA‰I‹E‹sI‰FM‰uA‹$éQÿÿÿƒÈÿëºffffff.„H‰\$ðH‰l$øHƒìH‰ûH‰õèçþÿÿ…Àt¸ÿÿÿÿH‹\$H‹l$HƒÄÀHuH{è»þÿÿ‰Â1À…ÒtÕëÎAWAVAUI‰õATI‰üUSHƒìè7ÑÿÿºL‰îH‰çèÇk…Àˆ<‹$A‰$D‹|$E…ÿ„Š1íëDfDH‰Çè(ÑÿÿI‹D$ºL‰îH‰çH‰CI‰\$èzk…Àxn‹$ƒÅA9D$‰CvB¿èÈæH…ÀH‰Ãu°I‹M(H…ÉHD Áe/Hƒyu~¸êÿÿÿHƒÄ[]A\A]A^A_ÃfDHƒÄ1À[]A\A]A^A_ÀI‹M(H…ÉHD ye/Hƒyt¸H«× ÇH‹y HÔ H‰ÎH‰AHbÎ H‰A1ÀÿQ¸êÿÿÿë‡Hu× ÇH‹y Hà H‰ÎH‰AH,Î H‰A1ÀÿQ¸êÿÿÿéNÿÿÿI‹M(H…ÉHD ôd/Hƒy„/ÿÿÿH"× ÇH‹y H]Ò H‰ÎH‰AHÙÍ H‰A1ÀÿQ¸êÿÿÿéûþÿÿH‰\$ðH‰l$øHƒìH‰ýH‰óè'þÿÿ…ÀtH‹\$H‹l$HƒÄÃ@H}H‰ÞH‹l$H‹\$HƒÄéöýÿÿfDAWAVAUM‰ÅATUSHƒìX…ÒH‰|$ H‰t$8‰T$‰L$„‰Lt$@ÇD$41ÛL‰t$¾¿èòÛH…ÀI‰Ç„¿H…Û„ÝH‰CH‹|$ºL‰îègi…Àˆ˜‹D$@A‰D‹t$DM…ö„ƒL‰|$(M‰÷L‹t$A¼ÿÿÿÿ1íHÇD$¿0è’äH…ÀH‰ÃtSH‰Çè"Õƒøÿ„yHƒ|$„-H‹L$H‰Y(º L‰îL‰÷èäh…Àx‹D$@‰‹T$Dƒø‰S‹L$H‰Kv¸ÿÿÿÿHƒÄX[]A\A]A^A_ÃH éÔ ‰ÀHcHÈÿàfD‹t$…ö„ÔAƒüt¿H{L‰îAƒÄèó…Àu«H‹D$ ‹…É…æƒÅH‰\$‰èI9LJ$ÿÿÿE…äL‹|$(…{ÿÿÿƒD$4L‰û‹L$49L$‡‹þÿÿ1ÀécÿÿÿDAƒü„OÿÿÿAƒÄfë«fDE…äDŽ3ÿÿÿAƒìfDë‹fDAƒüÿ@…wÿÿÿfé ÿÿÿH‹D$(H‰X€éÇþÿÿƒâD„ÿÿÿféÜþÿÿH‹D$8L‰8éþÿÿH‰ß‰$è5Ô‹$é»þÿÿH‹{ L‰îèÑêÿÿ…À„ÿÿÿéœþÿÿH…ÿSH‰ótèÔH‹{H5§èÿÿ1ÒèpÅÿÿH‹{è‡ÇÿÿH‰ßèßÓ1À[Ãff.„AWAVI‰þ¿AUATI‰ÔUSHƒì(H‰4$¾èYÙH‰Å¸ÿÿÿÿH…턹H|$ºL‰æèÖf…ÀˆÞ‹D$H}‹\$¾ ‰Eè%z…À…½‹D$‰ÛH{‰ED‹l$èâH…ÀI‰ÇH‰D$tFH‰ÚL‰æH‰Çè{f…Àx4E‰íAÆM…ítJ1ÛëfDƒÃ‰ØI9Åv6H‹uL‰âL‰÷èòÿÿ…ÀtãH‹|$1ÒH‰îèÔþÿÿ¸ÿÿÿÿHƒÄ([]A\A]A^A_ÃH‹<$H‰êL‰þè!Éÿÿ‰Â1À…ÒuÆHƒÄ([]A\A]A^A_Ãf.„HÇD$ë¢DATL%—_/UH‰ýS1ÛI‹4H‹|]1ÒèðÃÿÿH‹|]HƒÃèÆÿÿHƒû@uÜ[]A\ÀATH…ÿUSH‰ótè?ÒH…Û„ƒH‹{H5Ûæÿÿ1Òè¤ÃÿÿH‹{è»ÅÿÿL‹c(M…ätffI‹|$H…ÿufDëfDH‰ïH‹o(è ÑH…íuîI‹l$L‰çèÙÑH…ít(I‰ìë¿H‹{H…ÿt fDè»ÑH‰ßè³Ñ[]1ÀA\ÃL‹c0M…ätÔI‹|$H…ÿufDëfDH‰ïH‹o(èœÐH…íuîI‹l$L‰çèiÑH…ít•I‰ìë¿ffffff.„AWAVAUATI‰ü¿UH‰ÕSHƒìXH‰t$¾8èØÖH‰Ã¸ÿÿÿÿH…Û„êLt$0ºH‰îL‰÷èRd…ÀˆB‹D$4H{D‹|$0¾ ‰D$‹D$8‰è™w…À…‹D$A‰ôH‰ÊH‰îD‰D$E‰ÍèSÄÿÿ…À…“Hƒ|$PÇD$ tA‹DH‹T$PƒÀA‰D‰IƒÇH‰îIÁçI‹<裾ÿÿH…ÀI‰Æ„áƒ|$‹uƒø„µƒøftN9D$ftM¸þÿÿÿH‹\$H‹l$ L‹d$(L‹l$0L‹t$8L‹|$@HƒÄHÃDƒøïuÓÇD$ ë‚f„AÇA‹^…Ût$I‹V1ÀD9*uë,@‹JHƒÂD9étƒÀ9ÃwíIVIvD‰ïèÝuƒøÿt ‹D$ éoÿÿÿ¸ôÿÿÿfécÿÿÿAƒü@tAƒüf…DÿÿÿfëH‰ïè+H…ÀI‰ÄDt¿¿èdÛH…ÀH‰ÅI‰ÆtH‹D$I‹<H‰êHÇEÇEL‰æ‰EèÔÂÿÿ…À„3ÿÿÿL‰ç‰$èaÌH‰ïèYÌ‹$éÑþÿÿL‰çèI̸ôÿÿÿ@é»þÿÿff.„UH‰õSH‰ûH‰÷Hƒìèk…À…½H‹›àH…Ûu*ëVfD‹³¨HS(H‰ïè>k…ÀuJH‹›°H…Ût.‹{(…ÿu×L‹ Y/Iƒx…³¸ÿÿÿÿHƒÄ[]Ãf„HƒÄ1À[]ÀL‹iY/IƒxtÍHÌ AÇI‹x HÇ L‰ÆI‰@HQ I‰@1ÀH‹ AÿP¸ÿÿÿÿë—H‹ Y/Hƒyt„HÒË ÇH‹y HÙÇ H‰ÎH‰AH  H‰A1ÀÿQƒÈÿéRÿÿÿH›Ë AÇI‹x HwÆ L‰ÆI‰@HÑÁ I‰@1ÀH‹ AÿP¸ÿÿÿÿéÿÿÿ@H‰\$èH‰l$ðH‰óL‰d$øHƒì(…ÒH‰ý„ L‹xX/H…ÿLE×IƒztBHCË AÇI‹z D‹NXD‹FHHAÇ I‰BHTÁ ‹NhI‰B‹FxL‰Ö‰$1ÀAÿRD‹CE…ÀtSL‹ X/H…íLEÍIƒyt>HãÊ AÇI‹y ‹‹ˆD‹ƒ˜HÉÅ I‰AHïÀ L‰ÎI‰A1ÀAÿQL‹ÅW/H…íLEÕIƒztBHÊ AÇI‹z ‹K8D‹‹¸HÄÆ I‰BHŸÀ D‹ƒ˜L‰ÖI‰B1ÀAÿRH‹»èè™É‹{HHÁçèMØH…ÀH‰ƒèu!¸ÿÿÿÿH‹\$H‹l$L‹d$ HƒÄ(ÄH‹»ðèTÉ‹{hHÁçèØH…ÀH‰ƒðt»H‹»øè0É‹{X¾èÓÎH…ÀH‰ƒøt–L% U/H‰ß1íèVºfDH‹¼+°èóÈ‹|kHHÇ„+°…ÿuIHƒÅHƒý0uÕH‹{@H‹5úV/H‰ÚèBºÿÿ…À…9ÿÿÿH‹{`H‹5¯V/H‰Úè'ºÿÿ‰Â1À…Ò„ÿÿÿéÿÿÿ‰ÿ¾è:ÎH…ÀH‰„+°„øþÿÿI‹t,H‹|k@H‰Úèç¹ÿÿ…Àt„éÝþÿÿfffff.„SH‰ûè—¹ƒøÿu ¸ÿÿÿÿ[Ë{xHÁçèìÖH…ÀH‰ƒÈtÞH‹{pH‹5ýU/H‰Úè¹ÿÿ‰Â1À…ÒuÃ[ÃH‰\$èH^@H‰l$ðL‰d$øH‰õHƒìH‰ßI‰Ôè›áH}L‰âH‰Þ¹è§ƒøH‹$H‹l$ÀL‹d$HƒÄ÷ÐÃffff.„SH‰ûègàÿÿH{(è^àÿÿH{PèEáH{`[é Àÿÿff.„USH‰ûHƒìH…ÿt!fH‹«€H‰ßè±ÿÿÿH‰ßèIÇH…íH‰ëuáHƒÄ[]Ãf.„UºH‰õSH‰ûHƒìHÇHÇGHÇGH‰çèPZ…ÀxD‹$H{H‰î‰èËä‰Â1À…Òu HƒÄ[]Ã@H‹M(H…ÉHD ™T/HƒyuV¸êÿÿÿëØH‹M(H…ÉHD yT/HƒytàHmÆ ÇH‹y HæÁ H‰ÎH‰AHb½ H‰A1ÀÿQ¸êÿÿÿë‰H7Æ ÇH‹y HÜ H‰ÎH‰AH,½ H‰A1ÀÿQ¸êÿÿÿéPÿÿÿUH‰õSHƒìH…ÿtèÆH‹]H…Ût$H{èËßHÇHÇCHÇCH‹]H‰ßèèÅH‰ïè ØÿÿH‰ïèØÅHƒÄ1À[]Ãffffff.„H‰\$ÐL‰d$à¿L‰t$ðH‰l$ØI‰öL‰l$èL‰|$øHƒìHI‰ÔèNÔH‰Ã¸ÿÿÿÿH…Û„•H‰ßèåÙÿÿH‰çºL‰æèµX…ÀˆD‹,$‹D$A}ˆCè ÔH…ÀH‰ÅI‰Ç„‚E‰íL‰æH‰ÇL‰êèyX…Àxm¿BÆD-èÕÓH…ÀH‰tUL‰æH‰ÇèÒýÿÿ…ÀuFH‰ÚH‰îL‰÷èP»ÿÿ‰Â1À…Òu0H‹\$H‹l$ L‹d$(L‹l$0L‹t$8L‹|$@HƒÄHÃDE1ÿD1ÒH‰ÞL‰ÿè{þÿÿ¸ÿÿÿÿë¼@L‰d$ðLfPH‰\$àH‰l$èH‰óL‰l$øL‰çHƒì8H‰Õè6ÞH{1ÉH‰êL‰æè•…À…í‹Eƒø„Á…À€„²I‰ÜIƒÄ`t#H{hèðÝHÇC`IÇD$IÇD$I‰ÝIƒÅxt$H»€èÁÝHÇCxIÇEIÇEH{ 1ÉH‰êL‰æèH…ÀudH‰ÞHÆt&H»˜‰$H‰t$ètÝH‹t$‹$¹H‰÷ó«H{@1ÉH‰êè4…Àu 1ÀH‹\$H‹l$ L‹d$(L‹l$0HƒÄ8ÃD¸ÿÿÿÿëÛf„HÇHÇGHÇG HÇGHÇGÄHÇGHÇHÇGÄ1À¹SH‰ûóH«H‰ßèÊÿÿÿH{[éÀÿÿÿ1À¹SH‰ûóH«H{è©ÿÿÿH{ è»ÿÿH{@èw»ÿÿHC`HÇC`HǃHÇCPHÇCXHÇ@HÇ@HCxHÇCxHÇ@HÇ@HƒHÇ@HÇ@[Ãff.„HÇG HÇHÇGHÇGHÇGÄ1À¹ SH‰ûóH«H‰ßèÚþÿÿH{[é°ÿÿÿ1À¹SH‰ûóH«H{è™ÿÿÿH{0[éÿÿÿffffff.„AWAVI‰ÖºAUATUSHƒìHHÇH|$0H‰t$L‰öèñT…Àˆ‹D$0…À‰D$„BL|$ HÇD$ÇD$¿pè&ÐH…ÀI‰Å„PH‰ÇèRÿÿÿºL‰öL‰ÿè’T…Àˆ‹D$ I}L‰öA‰E‹D$$A‰EèÎ×ÿÿ…À…ÞI}0L‰öèº×ÿÿ…À…ʺL‰öL‰ÿèBT…Àˆ²‹D$ …À‰$to1íE1ä넃Å9,$I‰\$vSI‰Ü¿èvÏH…ÀH‰ÃtvH‰ÇèöÔÿÿºL‰öL‰ÿèæS…ÀxR‹D$ M…䉋D$$‰Cu°ƒÅ9,$I‰]Xw±@Hƒ|$tTH‹D$L‰hhƒD$L‰l$‹D$9D$‡×þÿÿ1Àë H‰ßè8ÀL‰ïè ÙÿÿL‰ïè(À¸ÿÿÿÿHƒÄH[]A\A]A^A_ÃH‹D$L‰(뫃ÈÿëâDH‰\$ðH‰l$øHƒìH‰õH‰ûè—ýÿÿ‹E H‰îH‰ß‰C è–à…Àt¸ÿÿÿÿH‹\$H‹l$HƒÄÃfDHuH{èkà‰Â1À…ÒtÖëÏH‰\$èH‰l$ðH‰ûL‰d$øH‰ÕHƒìI‰ôè/ýÿÿH‰êL‰æH‰ßè‘Û…Àt¸ÿÿÿÿH‹$H‹l$L‹d$HƒÄÃDHUIt$H{è^Û…ÀuÍA‹D$ C ‰C E ‰C 1Àë½DH‰l$ðL‰d$øH‰òH‰\$èHƒìHH‰þH‰ýH‰çA¼ÿÿÿÿèVÿÿÿ…ÀuH‰ïèº×ÿÿH‰ïH‰æèßþÿÿH‰çA‰Äè¤×ÿÿD‰àH‹\$0H‹l$8L‹d$@HƒÄHÃffff.„1À¹ SH‰ûóH«H{èIüÿÿHÇC@HÇCH[ÀAV¹L1ÀL5@¿ AUATA¼U1íSH‰ûHƒìóH«„HcÅHDŽàA‹4†HÁàH| èïd…ÀA‰Å…„ƒÅAƒìuËA¼1íHcÅA‹4†HÁàH¼è¸d…ÀuTƒÅAƒìuÛ胚H…ÀH‰ÅH‰ƒ€t4¿èzšH…ÀH‰Et!H»Hǃˆèš…ÀA‰ÅtK1ífDH‹|+ è.±ÿÿH‹¼+HƒÅè±ÿÿHý€uÜH‹»€èØ™HƒÄD‰è[]A\A]A^þX¿èùÂH…ÀH‰Å„‡¿ A½ôÿÿÿèíËH…ÀI‰ÄtOI¹object_rÆ@E1ÀL‰ƒ;A¹H‰éH‰Â¾H‰ßH‰,$A•ÀAƒÀè©îÿÿ…ÀA‰Åuƒ}A½êÿÿÿt+H‰ïèμfDé#ÿÿÿL‰ç軼ëàA½ôÿÿÿé ÿÿÿH‰ß胻…ÀA‰Å…øþÿÿé+ÿÿÿSH‰ûè7úÿÿH{(è.úÿÿH{`HÇCPHÇCXè%µÿÿHǃ€[ÄAWAVI‰ÎAUATUSHì¸H„$ H‰|$8H‰t$H‰T$TH‰ÎºH‰ÇH‰D$(èaO…Àˆ)D‹”$ E…ÒD‰T$$„wH„$L¼$€D‰T$4HÇD$@H‰D$X¾ ¿èqÁH…ÀH‰Å„ÕH‹|$(ºL‰öèóN…Àˆ0D‹T$$D9T$4tƒMD‹¤$ E…ä„ÚE1í€1ÿè˜H…ÀH‰Ã„uºL‰öL‰ÿèN…Ày)H‰ßèá–H‰ïèY—¸ÿÿÿÿHĸ[]A\A]A^A_Ãf‹„$€H‹|$8HsL‰ò‰‹„$„‰Cè¼¶ƒøÿt®H‹|$8HsL‰òèùÿÿƒøÿt˜H‹|$XHCºL‰öH‰D$pèN…ÀˆuÿÿÿD‹”$L‰|$x1ÒI‰ïÇD$`H‰ÝD‰T$lëWH‰ZHL‰öH‰ßèÛÐÿÿ…À…0H{L‰öè'Ñÿÿ…À…H‹|$XºL‰öè­M…Àˆ‹„$ƒD$`H‰Ú‰C@D‹T$`D9T$l†ë¿PH‰T$èäÈH…ÀH‰Ã„ÅH‰Çèð÷ÿÿH‹T$H…Ò…hÿÿÿH‹D$pH‰é_ÿÿÿDH‰ß舕H‰ïè–¸ÿÿÿÿé¢þÿÿH‰ëL‰Íƒ{t Hƒ}uÓH‰]Hƒ}„I‰ØAƒìI‰Ý…0þÿÿL‹T$HIƒ:t%H‹D$@H‰hƒl$4H‰l$@…¬ýÿÿ1ÀéAþÿÿDI‰*ëßH‰ïèc¹¸ÿÿÿÿfDéþÿÿH‰ëL‰ýéÿýÿÿH‰ëH‹|$XºLS L‰öL‰ýL‹|$xL‰T$pèrL…ÀˆÑýÿÿ‹„$L‰|$x1ÉI‰ïÇD$`H‰Ý‰D$l‹D$`9D$lvb¿8H‰L$è¡ÇH…ÀH‰Ãt†H‰ÇèÁõÿÿH‹L$H…É„3H‰Y0L‰öH‰ßèÏÿÿ…À…YÿÿÿH{L‰öèðÎÿÿ…À…EÿÿÿƒD$`H‰Ùë”H‹D$8H‰ëL‰ýL‹|$xƒ¸X†H‹|$XLS(ºL‰öL‰T$pè¦K…Àˆýÿÿ‹„$L‰|$x1ÒI‰ïÇD$`H‰Ý‰D$l‹D$`9D$l†§¿ˆH‰T$èÑÆH…ÀH‰Ã„²þÿÿH‰ÇèmûÿÿH‹T$H…ÒtpH‰š€L‰öH‰ßè‘Îÿÿ…À…†þÿÿH{(L‰öè}Îÿÿ…À…rþÿÿH{PL‰öè™Õ…À…^þÿÿH{`L‰öèÅàÿÿ…À…JþÿÿƒD$`H‰ÚébÿÿÿL‹T$pI‰éÄþÿÿL‹T$pI‰ëH‰ëL‰ýL‹|$x‹t$TH{0L‰òè^×ÿÿƒøÿ„ üÿÿ‹t$TH»ÀL‰òèB×ÿÿƒøÿ„ðûÿÿLD/I‰éÇD$lH‰ÝL‰T$`‹D$l9D$T†;ýÿÿºL‰öL‰ÿL‰L$èLJ…ÀL‹L$x‹„$„D‹„$€1ɉD$p9L$pvIL‹T$`‰L$L‰òD‰D$L‰L$H‹³PH‹|$8Aÿ…À‹L$D‹D$L‹L$u-ƒÁë¾@H‰]éâüÿÿD‰ƒXƒD$lHƒÃHƒD$`éUÿÿÿH‰ëL‰Íé ûÿÿf„AWAVE1öAUATI‰ôUSHƒì(D‹H‰|$E…ÛuE1öƒ¿XA—ÆLl$ºL‰æL‰ïèlI…ÀˆÄD‹|$E…ÿ„Î1í1Òë*ÇCH{L‰æè]Ùÿÿ…À…•ƒÅH‰ÚA9¾H¿H‰$ès»H…ÀH‰ÃH‹$tgH…ÒtRH‰B@ºL‰æL‰ïèîH…ÀxJ‹D$E…ö‰‹D$‰CtˆºL‰æL‰ïèÈH…Àx$‹D$‰Céoÿÿÿ„H‹T$H‰‚ ë¤f¸ÿÿÿÿHƒÄ([]A\A]A^A_Ã@H‹T$1ÀD‹E…ÒtÞH‹ª H…í„E1äëx@I‰œ$€‹uºH‰ßƒîèÏ…Àu¡‹uH{(ºƒîèíÎ…Àu‰‹uH{PºƒîèÕÎ…À…mÿÿÿHs`H}èÀÛÿÿ…À…XÿÿÿH‹m@I‰ÜH…ít@¿ˆèRÃH…ÀH‰Ã„6ÿÿÿH‰Çèî÷ÿÿM…ä…eÿÿÿH‹T$H‹‚€H‹@H‰X(éTÿÿÿH‹D$H‹˜ H…ÛtIH‹k@H…ít&H{èùÍH{0èðÍH‰ßH‰ëè%´H‹k@H…íuÚH{èÓÍH{0èÊÍH‰ßè´H‹T$1ÀHÇ‚ é þÿÿff.„H…ÿSH‰û„ŸHè*ÌÿÿH{ èQ¬ÿÿH{@èø«ÿÿH{PèoÍH{hèfÍHC`H»€HÇC`HÇ@HÇ@è>ÍHCxH»˜HÇCxHÇ@HÇ@èÍHƒHǃHÇ@HÇ@[ÃfSH‰óè'³H‰ßè?ÿÿÿH‰ßè³1À[ÃH‰\$ÐH‰l$ØH‰ûL‰l$èL‰|$ø¿L‰d$àL‰t$ðI‰÷HƒìX¾°I‰Õ膸H‰Å¸ÿÿÿÿH…í„‹…Ò…3ƒ»X†3º H|$L‰îèìE…Àˆ‹D$D‹t$‰E‹…À„ƒ»X‡I~è(ÁH…ÀI‰ÄH‰$„ L‰òL‰îH‰ÇèšE…Àˆ CÆ4D‹3E…ö…áH}L‰îèÐ…À…å‹…À…óƒ»XvBLu`L‰îL‰÷èkÕÿÿ…À…»H…L‰îH‰ÇH‰D$è¬êÿÿ…À…œD‹+E…í… H‰êL‰æL‰ÿè¨ÿÿ‰Â1À…ÒuzH‹\$(H‹l$0L‹d$8L‹l$@L‹t$HL‹|$PHƒÄXÀƒ»X‡ÍþÿÿºéÈþÿÿƒ»X†òþÿÿ‹D$‰…¨éãþÿÿ@H}L‰îè”Çÿÿ…À„ÿÿÿ@H‹<$1ÒH‰îèúýÿÿ¸ÿÿÿÿénÿÿÿƒøtƒøuF‹ƒXƒøvKƒø„øþÿÿH} L‰îèÚÿÿ…ÀuºH}@L‰îèFØÿÿ…À„ÿÿÿfDëžfDƒèƒøf‡úþÿÿfƒ»X†êþÿÿfë¬fDHu L‰÷è¬×ÿÿ…Àf…ZÿÿÿH‹|$Hu@è”Öÿÿ…À„´þÿÿé?ÿÿÿHÇ$€é+ÿÿÿH‰\$èH‰l$ðH‰ûL‰d$øHƒìH…ÿtxHoÇGÇGÇHLc(èàÉH{0HÇCHÇEHÇEè¿ÉHÇCHÇEHÇEHÇC(IÇD$IÇD$H‹$H‹l$L‹d$HƒÄÃf.„H‰\$èH‰l$ðH‰ûL‰d$øHƒì(I‰ÔH‰õH‰çº L‰æèÔB…Àˆü‹$‰‹D$‰C‹D$‰C‹E…Àt2ƒøtmH‰ÞH‰ï肳‰Â1À…ÒtrH‹\$H‹l$L‹d$ HƒÄ(ÃfDƒ½XvÊH{L‰æè‹Òÿÿ…ÀtºI‹L$(H…ÉHD ×…ÀˆQþÿÿD‹¼$´‹”$°‰T$hM…ÿ„­H‹L$@1ÛL‹!ëƒÃ‰ØI9dž’I‹u H‰êL‰÷AÿÔ…ÀtáéþÿÿH‚¦ ¸ÇD$8L=h¦ H‰T$0éÜüÿÿ‹”$°‰Ð‰T$8ƒèƒø‡Î‹Œ$´A½‰L$L‹D$Lƒèƒø‡AEAƒÅé-þÿÿf„‹D$hH‹T$0ƒD$XHƒD$@‹L$XA‰E(IƒÅ9J‡ôþÿÿM‰ôL‹t$`‹\$8…Û…Ò‹T$LI¼$H‰îèO“…À…/ýÿÿƒ|$LvI´$ÈH‰êL‰çèM¥…À… ýÿÿI¼$ÐH‰îèEËÿÿ…À…õüÿÿI¼$ØH‰îè]Êÿÿ…À…ÝüÿÿL‰çèýËÿÿ…À…ÊüÿÿL‰çèÚ¾ÿÿ…À…ºüÿÿH‹}(‹T$PL‰æèRÞÿÿ…À…¢üÿÿL´$E1íH‹L$0D;i ƒ÷ ºH‰îL‰÷è@<…Àˆpüÿÿ‹Œ$D‰è1ÒH‰D$PHƒÀž ÇAƒÅH‹{ H‰ÞH‰SH‹T$0H‰K‹Œ„°F‹„¬°‹B D‹JH]¦ ‰$1ÀÿS¸ÿÿÿÿé˜úÿÿH‹](H…ÛHDÌ4/Hƒ{„yúÿÿH®¦ H É 1ÀÇH‹{ H‰ÞH‰SH‰KH­¤ L‰éÿSƒÈÿéDúÿÿH‹M(H…ÉHD x4/Hƒy„óùÿÿHZ¦ Hu ÇH‹y H‰ÎH‰AH‰Q1ÀH™¤ ÿQé¿ùÿÿH‹](H…ÛHD*4/Hƒ{„×ùÿÿH ¦ H' ÇH‹{ H‰ÞH‰KH‰C‰Ñ1ÀH;¢ ÿSƒÈÿé£ùÿÿI¼$8H‰îèæÃ…À…†ùÿÿA‹„$XéÇúÿÿI‹¼$€è‚H‹D$0I´$€IÇ„$€H‰éL‰ç‹Pèméÿÿƒøÿ„<ùÿÿH‹T$0‹J…É„OüÿÿHŒ$ÇD$tL‰´$ˆH‰L$@H‹¼$ˆºH‰îèÂ8…Àˆòøÿÿ‹„$°H…ÀH‰D$x„“Lc|$tÇ„$„IWIƒÇIÁçHÁâH‰T$hH‹L$hH‹|$@ºH‰îN‹4!èe8…Àˆé‹œ$H{è½³H…ÀI‰ÅH‰D$`„LH‰ÚH‰îH‰Çè.8…Àˆ6AÆDK‹<'L‰îè´•ÿÿH…À„¾¿è\ªH…ÀH‰ÃH‰D$X„H‹|$@ºH‰îèÙ7…Àˆê‹„$‰‹„$”…À‰C„‰ÀH<…è³H…ÀH‰C„³‹SH‰îH‰ÇHÁâèˆ7…Àˆ™‹C…ÀtƒèH…1À@HƒÀH9Ðu÷H=æž L‰î¹ ó¦uM;´$ „FH‰ÚL‰îL‰÷è@šÿÿ…ÀuEƒ„$„‹„$„H9D$x‡’þÿÿH‹D$0ƒD$t‹T$t9P‡$þÿÿéQúÿÿfDHÇD$XH‹t$XH‹|$`1ÒèV¸ÿÿ¸ÿÿÿÿé ÷ÿÿH‹](H…ÛHD=1/Hƒ{„êöÿÿH £ H:š ÇH‹{ A¹A¸H‰KH‰CH¯¡ 1À‹Œ$°H‰ÞÿSƒÈÿé¥öÿÿ„H‹](H…ÛHDÑ0/Hƒ{„~öÿÿH³¢ H Ι E‰íÇ1ÀH‹{ H‰SH‰KA¹ B‹Œ¬°A¸Hv¡ H‰ÞÿSƒÈÿé5öÿÿ1ÒH‰ÞL‰ïèk·ÿÿéºþÿÿI¼$HH‰îèfÀ…À„l÷ÿÿéöÿÿH‹](H…ÛHD:0/Hƒ{„çõÿÿH¢ H7™ ÇH‹{ ‹L$LH‰ÞH‰CH‰S1ÀH7¡ ÿSƒÈÿé±õÿÿHÇD$`HÇD$XévþÿÿºH‰îL‰÷èM5…Àˆ}õÿÿ‹œ$°H{襰H…ÀI‰D$„_õÿÿH‰ÚH‰îH‰Çè5…ÀˆIõÿÿI‹D$ºH‰îL‰÷Æèø4…Àˆ(õÿÿ‹œ$°H{èP°H…ÀI‰D$„ õÿÿH‰ÚH‰îH‰ÇèÄ4…ÀˆôôÿÿI‹D$ÆéöÿÿH ›¡ H5… H=‰ ºÛ èßJºH‰îL‰÷è4…Àˆ¯ôÿÿ‹„$‰C D‹¬$”I}è̯H…ÀH‰„ˆôÿÿL‰êH‰îH‰ÇèB4…ÀˆrôÿÿH‹H{(BÆ(H‰êL‰æè#ñÿÿ…À…SôÿÿAƒÇI‰ÝéøÿÿºH‰îL‰÷èÿ3…Àˆ/ôÿÿ‹„$H{(‰‹„$”‰Cë°º H‰îL‰÷èÎ3…Àˆþóÿÿ‹„$H{(ˆ‹„$”f‰C‹„$˜f‰CépÿÿÿºH‰îL‰÷èŽ3…Àˆ¾óÿÿD‹¬$I}èå®H…ÀH‰„¡óÿÿL‰êH‰îH‰Çè[3…Àˆ‹óÿÿH‹H{(H‰êL‰æBÆ(è<ðÿÿ…À…lóÿÿH{héýþÿÿºH‰îL‰÷è3…ÀˆKóÿÿ‹„$‰ƒ¨H{(éÏþÿÿº H‰îL‰÷èí2…Àˆóÿÿ‹„$‰‹„$”‰C‹„$˜‰C‹„$œ‰C ‹„$ ‰C‹„$¤‰C‹„$¨‰C‹„$¬‰CëŽH ŒŸ H5k› H=~ º¨èÅHH‹T$`I‰Ôé’öÿÿD‹l$@AƒÅéúõÿÿºH‰îL‰÷èI2…Àˆyòÿÿ‹„$ÇD$PE1íH‰D$X‹D$PH9D$X†ººH‰îL‰÷è 2…Àˆ,¾¿D‹¼$èL¤H…ÀH‰Ã„ E‰ÿIèD­H…ÀH‰„#L‰úH‰îH‰Çèº1…ÀˆH‹1ÒBÆ8M‹¼$M…ÿ„ÿH‹ I‹7H‰T$H‰ÏH‰L$(èoÖƒøH‹T$H‹L$(t?ŒÒL‰úM‹ëÁA‹$…À…*Aƒ¼$X‡Bƒ|$8„•1ÀénñÿÿH‹m(H…íHD-¢+/Hƒ}t4H>ž H £” ÇEH‹} H‰îH‰UH‰MHø™ H‹ ÿUH‹ H‰ÏèH‰ßè‡M…í„ñÿÿI}(èíÿÿI}hè íÿÿI‹}ècL‰ïè[ƒÈÿéàðÿÿA‹|$XHÁçè¬A‹|$XI‰„$(HÁçèï«Iƒ¼$(I‰„$0„ ðÿÿ1ÛH…À„•ðÿÿA‹D$X9ÃsqA‰ÝƒÃIÁåL‰ïI¼$(è*±ÿÿL‰ïI¼$0è±ÿÿë˃ø…ÜþÿÿA‹„$Xƒø@†Çþÿÿƒø…¾þÿÿH‰îL‰çèFæÿÿ…À„«þÿÿfDéðÿÿE1íH‰l$0A9Ńšþÿÿƒ|$L‡/D‰ïHÁçI¼$(ºD‰îèk¶…À…ÛïÿÿAƒÅA‹D$Xë½H…ÒL‰{„ËH‰ZºH‰îL‰÷èw/…Àˆ˜þÿÿ‹„$ÇD$@M‰çH‰D$`‹D$@H9D$`†|¾¸¿èš¡H…ÀI‰ÅI‰Ä„cïÿÿºH‰îL‰÷è/…ÀˆEþÿÿ‹”$H‰×H‰T$0HƒÇèkªH…ÀI‰E„ þÿÿH‹T$0H‰îH‰ÇèÞ.…ÀˆþÿÿI‹EH‹L$0ºH‰îL‰÷Æè¹.…Àˆãýÿÿ‹„$I}(H‰êL‰þA‰E è—ëÿÿ…À…ÁýÿÿH‹SE1ÀH…Ò„”L‹M‹ $H‰T$L‰D$L‰ÖL‰ÏL‰L$(L‰T$ èIÓ…ÀH‹T$L‹D$L‹L$(L‹T$ u ‹J …É„A‹D$ …À„9Á„ 1ÀHƒÉÿL‰Ïò®L‰×H÷ÑHqÿHƒÉÿò®H÷ÑHƒéH9ÎwI‰ÐH‹’°écÿÿÿM…ÀI‰”$°t+M‰ °ƒD$@éuþÿÿM‰üƒD$Pé–ûÿÿI‰œ$é,þÿÿL‰cëÖH‹;èUšH‰ßèMšéÁüÿÿD‰êH‹t$0H‰ÕH‰T$8HÁåH‰ïI¼$(踅À…¤íÿÿI‹„$(1ÛL‹4(M…ötA‹H<(;_ƒ‘ýÿÿA‹I‹v‰ÙA‰ß)ÑH£Îs A9ÝL‹|$8ul‰ÒHƒÂ?L9ú„”ƒÃëÁH‹m(I‰×H…íHD-…'/Hƒ}„,üÿÿHš H‚ ÇEH‹} H‰îH‰EH‰U1ÀM‹H‹ Hã• ÿUéñûÿÿA‰ßºD‰îL‰ÿHÁçI¼$0è`³…À…ÐìÿÿA‹I‹„$(é]ÿÿÿI‹VH…Ò„_ÿÿÿ‹I‰ÖéÿÿÿAWAVAUATUSH‰ûHƒìH…ÿ„ÝH¿81í踲H»H謲H{ èSÆÿÿH‹¼+ H…ÿtèΘHƒÅHƒý@uäH‹»àH…ÿt賘H‹»èH…ÿt袘H‹»ðH…ÿt葘H‹»øH…ÿt耘H‹»ˆ1íèr˜L‹%£&/H‹¼+1ÒL‰æèÖ‰ÿÿH‹¼+HƒÅèå‹ÿÿHý€uÔH‹»€è tH‹{è'˜H‹{è˜H»è2yH‰\$ÇD$DH‹D$H‹¨àH…í„fƒ|$A–ǃ|$”ÀA Çë$Dƒ|$„&H‰ïè½—M…ö„/L‰õH}@Le8ÇE0ÇE,ÇE(LmPL‹µ°èD±H}XHÇE8IÇD$IÇD$è!±H½€HÇE8IÇD$IÇD$LexHÇEPIÇEIÇEL­ÇEpÇElÇEhèðH½˜HÇExIÇD$IÇD$è°E„ÿHÇExIÇD$IÇD$HÇ…IÇEIÇE„ÏþÿÿH‹}è––H‰ï莖M…ö…ÑþÿÿƒD$HƒD$ƒ|$…oþÿÿL‹»M…ÿ„߀I‹?èP–I‹oH…íu€é¢L‰õH}@Le8ÇE0ÇE,ÇE(LmPL‹µ°èȯH}XHÇE8IÇD$IÇD$襯HÇE8IÇD$IÇD$HÇEPIÇEIÇEH‹}誕H‰ï袕M…ö…aÿÿÿI‹oL‰ÿè•H…ítI‰ïé(ÿÿÿH‰ßDè#”H‹»ÐH…ÿtH‹oH…ítèY•H‰ïH‹oH…íuïèH•H‹»ØH…ÿtH‹oH…ítè.•H‰ïH‹oH…íuïè•H‹« H…ítIL‹e@M…ät&H}è¿®H}0è¶®H‰ïL‰åèë”L‹e@M…äuÚH}è™®H}0è®H‰ïèÈ”H‹»(H…ÿt=D‹SXE…Òt/1íë€H‹»(‰èƒÅHÁàHÇèP®9kXwãH‹»(è”H‹»0H…ÿtJD‹KXE…Ét.1íë fDH‹»0‰èƒÅHÁàHÇè®9kXwãH‹»0HƒÄ[]A\A]A^A_é)”HƒÄ[]A\A]A^A_ÃH‰\$ØH‰l$àH‰ûL‰d$èL‰t$øH‰ÍL‰l$ðHƒìXI‰ôH‰çI‰Öè¨ÿÿ1ÒH‰æH‰ïÇ$L‰d$L‰t$H‰\$(èÌåÿÿ‰Â1À…Òu$H‹\$0H‹l$8L‹d$@L‹l$HL‹t$PHƒÄXÃfDH…ÛHDU!/Hƒ{t/H• ÇH‹{ H” H‰ÞH‰CH>Š H‰C1ÀÿSèÊ<Ǹÿÿÿÿë‰ffff.„H‰\$ÐH‰l$ØH‰ûL‰d$àL‰l$èH‰õL‰t$ðL‰|$øHìØL¬$pI‰ÔH‰L$L‰ïè§ÿÿL‰îH‰ïÇ„$pH‰œ$˜èÿV…À…ßH‹¼$€Ç„$pèo¡H…ÀI‰ÆH‰„$x„[L‰îH‰ïL‹¼$€è¸V…À…@Hl$Ç„$pL‰´$xL‰¼$€H‰ïèØÓÿÿ…À…h1ÒL‰îH‰ïèSäÿÿ…À…«H‰ïèùÿÿH‹D$M‰4$L‰81ÀH‹œ$¨H‹¬$°L‹¤$¸L‹¬$ÀL‹´$ÈL‹¼$ÐHÄØÃDH‹ ±/H…ÛHEËHƒyt/H<“ ÇH‹y H “ H‰ÎH‰AH“ˆ H‰A1ÀÿQè;E1öÇH…ÛHD[/Hƒ{t/Hí’ ÇH‹{ H’ H‰ÞH‰CHDˆ H‰C1ÀÿSL‰÷èM‘¸ÿÿÿÿéÿÿÿH‹ /H…ÛHEËHƒyt/H”’ ÇH‹y H’ H‰ÎH‰AHë‡ H‰A1ÀÿQèw:ÇéVÿÿÿ@H‹ ±/H…ÛHEËHƒyt/H<’ ÇH‹y H‘ H‰ÎH‰AH“‡ H‰A1ÀÿQè:Ç éþþÿÿ@H‹ Y/H…ÛHEËHƒy„{ÿÿÿHà‘ ÇH‹y Ht‘ H‰ÎH‰AH7‡ H‰A1ÀÿQéGÿÿÿH‹ /H…ÛHEËHƒy„‘þÿÿH‘ ÇH‹y HØ{ H‰ÎH‰AHç† H‰A1ÀÿQé]þÿÿH…ÒtÇH‰wH‰WH‰WÄÇÃf„ÇH‰w ÃDƒ?¸ÿÿÿÿtóÃ@H‹GH‰1ÀÃfDH‰w(Ãff.„¸Ãf.„¸Ãf.„…öuLJX‰71ÀóÃ@ƒþ¸ÿÿÿÿwðLJX ‰71Àëàfffff.„‹…ÀuFñƒø v¸ÿÿÿÿÃ@ƒøDwìFüƒøw䉷X1ÀÃffff.„ƒþv ¸ÿÿÿÿÃD¸‰ñHÓà¨t牷\1ÀÃf„‹GÃfff.„HƒìH‹0H55 è|ÿÿH…À”ÀHƒÄ¶ÀÃfffff.„é;ûÿÿff.„éKúÿÿff.„é{Rff.„1ÒéIàÿÿf„H…ÿSH‰ûtèõÿÿH‰ß[éŽf„[€Ã€éûff.„SH‰û¿`袜H‰ÇH‰¸ÿÿÿÿH…ÿt èMÏÿÿ…Àu [ÀH‹;D賸ÿÿÿÿ[DÀS¾0H‰û¿è=“HƒøH‰À[ÃH‰=QE/1ÀÃfDH‰=9E/1ÀÃfDSHƒìfƒÿtfƒÿ t'Ç 1ÀHƒÄ[ÃHƒú„~¸êÿÿÿHƒÄ[ÃHƒú@uèH‹çD/H‹˜H…Ût¼1À‹T#9u-HƒÀHƒøuêH…ÛtŸ‹ƒ¨…Àtl‰1ÀHƒÄ[Ãf.„H‹›°H…Ûu¹épÿÿÿ€H‹D/‹H‹˜H…ÛuéOÿÿÿfDH‹›°H…Û„9ÿÿÿ‹C!Ð9uçëDH‹=ID/H“¨Hs(H‰L$èl-…ÀH‹L$…ÿÿÿ‹ƒ¨é`ÿÿÿ@AUI‰õATI‰ÔUH‰ýSHƒìH‹öC/H‹˜øH…Ûué¥DH‹›°H…Û„H‹3H‰ïè5Ä…Àuዃ¨…Àt ‹“¬…ÒuNH‹=®C/H“¨Hs(èÖ,…ÀtHƒÄ[]A\A]ÀH‹=C/H“¬Hshè©,…ÀuÓ‹ƒ¨A‰E‹ƒ¬A‰$HƒÄ1À[]A\A]Ã@AÇE AÇ$ HƒÄ[]A\1ÀA]ÃSHƒìH‹C/H‹˜ðH…ÛuënfDH‹›°H…Ût\8fuîf9Kwèf;K@wÞ‹ƒ¨…Àt A‰1ÀHƒÄ[ÃH‹=ÊB/H“¨Hs(L‰D$èí+…ÀL‹D$uÕ‹ƒ¨ëÈ@AÇ 1ÀHƒÄ[Ãf„AUI‰õATI‰ÔUH‰ýSHƒìH‹fB/H‹˜èH…Ûué¥DH‹›°H…Û„H‹;H‰îè¥Â…Àuዃ¨…Àt ‹‹¬…ÉuNH‹=B/H“¨Hs(èF+…ÀtHƒÄ[]A\A]ÀH‹=ñA/H“¬Hshè+…ÀuÓ‹ƒ¨A‰E‹ƒ¬A‰$HƒÄ1À[]A\A]Ã@AÇEAÇ$HƒÄ[]A\1ÀA]ÃAVH‹‡A/I‰ÎAUA‰ÕATUH‰õSL‹ H‰ûM…äuéÄ@M‹d$M…䄲I‹4$H‰ßè¶Áƒøá…šI‹\$H…Ûf„ŠE·ífDëfDD9éDtH‹›°H…ÛtbL‹#L‰çè×Å‹K …ÉuØH‰ÂH‰îL‰çè’Ç…ÀuЋƒ¨…ÀtA‰1À[]A\A]A^ÃH‹=Ç@/H“¨Hs(èï)…ÀuÜ‹ƒ¨ëÏAǸþÿÿÿëÃfAUI‰ÕATUH‰õSH‰ûHƒìH‹v@/L‹ M…äuëx„M‹¤$°M…ätcI‹4$H‰ßè·À…ÀuãA‹D$ ‰EA‹„$¨…ÀtA‰E1ÀHƒÄ[]A\A]ÃfDH‹=@/I”$¨It$(è?)…ÀuÒA‹„$¨ëÂH5“5 L‰éºH‰ßèIþÿÿ…Àu ÇEë£ÇE1Àë•fffff.„H‰\$ðH‰l$øH‰ûHƒìH‰õH‰þH‰×è±xÿÿH…Àtl‹M1Ò;u‰ÐH‹\$H‹l$HƒÄÃfL‹i/IƒxuºÿÿÿÿëØHã‹ HŠ AÇI‹x H‰ÙL‰ÆI‰@HG~ I‰@1ÀAÿPºÿÿÿÿëL‹/Iƒxt°Hš‹ H߈ AÇI‹x H‰ÙL‰ÆI‰@Hþ} I‰@1ÀAÿPƒÊÿéSÿÿÿfDHƒì1À‹;s HƒÄÀHƒÆHƒÇèËŸ…À•ÀHƒÄ¶ÀÃfffff.„AWAVI‰þAUI‰õATUSHƒìhH…ÉH‰T$„HGL%CŠ L=TŠ H‰Ë½ÿÿÿÿH‰D$8HFH‰D$0HF(H‰D$(HG(H‰D$ ƒ;v_H‹(/Hƒ{„¥HFŠ H‹{ ÇA¸%H‰CH} H‰C1ÀH ㇠Hç‡ H‰ÞÿS1ÀHƒÄh[]A\A]A^A_ËIc„LàÿàDƒý„?‹CL‰ê¨„i¨„…‹2‹Cƒø„˜ƒø„ªH‹ƒ/Hƒ{„H¡‰ ÇH‹{ A¸ H‰CHl| H‰CéVÿÿÿDƒý„Ç‹Cƒø@„Ó†Z=D„Šf‡ƒÀ€€„ H‹û/Hƒ{fD„rH‰ ÇH‹{ A¸ðH‰CHÞ{ H‰CéÈþÿÿ€…íލUÿHcíHcÊ‹DŒ@#D¬@‰DŒ@H‹[(H…Û„Þ‰ÕéSþÿÿ€…íˆ HcÅ1Òƒ|„@”‰T„@‰êëÈ…íލUÿHcíHcÊ‹DŒ@ D¬@‰DŒ@릨L‰ò„ŒþÿÿHƒ|$„d¨H‹T$…{þÿÿ¨…¨f„‚‹C‹rƒø…hþÿÿUH{ƒî‰$èy‹$HcʉDŒ@é?ÿÿÿf.„ƒø„G€‡úƒø€…¨þÿÿA‹>A‹E‹Sƒú„ƒú„óH‹‡/Hƒ{…Q@HƒÄh1À[]A\A]A^A_ÀL‹D$(H‹L$8fDƒ{†–H‹?/Hƒ{tÀHa‡ ÇH‹{ A¸ëH‰CH,z H‰CéýÿÿDL‹ /Iƒy„FþÿÿH‡ AÇI‹y A¸‘H Ì„ HЄ I‰AHÛy L‰ÎI‰A1ÀAÿQéþÿÿL‹ ©/Iƒy„FþÿÿHdž AÇI‹y A¸–H t„ Hx„ I‰AHƒy L‰ÎI‰A1ÀAÿQéþÿÿL‹ Q/Iƒy„ÎýÿÿHo† AÇI‹y A¸H „ H „ I‰AH+y L‰ÎI‰A1ÀAÿQé‹ýÿÿ‹réYüÿÿL‹D$0H‹L$ fDé“þÿÿUH{ƒî‰$è^›‹$…À”À¶ÀHcʉDŒ@éýÿÿ€‹CIc‡LøÿàUH‰ÎL‰ÇH‰L$L‰D$‰$è¹úÿÿ…À‹$H‹L$L‹D$„t1ÉHc‰L„@éËüÿÿUH‰ÎL‰Ç‰$è…úÿÿ‹$HcʉDŒ@é«üÿÿUL‰ÆH‰ÏëÞ‹A;U„[¹ë´‹A;Uu¨HyIp‰$謙…À¹‹$uŽëŠfD=t=…àûÿÿL‹D$(H‹L$0éƒýÿÿL‹D$ H‹L$8étýÿÿ@ƒøtƒø …°ûÿÿL‹D$0H‹L$8éSýÿÿA‹~A‹E‹SéóüÿÿL‹D$(H‹L$ é1ýÿÿA‹~H‹u8/A‹EH‹’èOÿ‰ÎL‹ òpÿA‰ðN‹‹Sƒútoƒú„5ƒú…üÿÿUIyfDé:üÿÿHT„ ÇH‹{ A¸üH‰CHw H‰Cé úÿÿH‰ÏL‰Æè%ùÿÿ…À¹‹$„sþÿÿélþÿÿUIx‰ÎéáûÿÿHyIp‰$èb˜1É…À‹$…Cþÿÿéƒþÿÿ…ÒfDuF‹D$@fé¼ùÿÿU9Ç•ÀHcʶÀ‰DŒ@ééúÿÿ@U9Ç”ÀHcʶÀ‰DŒ@éÎúÿÿf„H‹Y /Hƒ{t¬H{ƒ ÇH‹{ A¸*H ) H- H‰CH8v H‰ÞH‰C1ÀÿSékÿÿÿUIy‰L$L‰D$‰$艘…À‹$‹L$L‹D$…qýÿÿIx‰Îèj˜…À¹‹$„XýÿÿéQýÿÿH‹¾ /Hƒ{„;ûÿÿHÜ‚ ÇH‹{ A¸ H‰CH§u H‰C鑸ÿÿH‹ /Hƒ{„þúÿÿHŸ‚ ÇH‹{ A¸H‰CHju H‰CéTøÿÿff.„AWAVAUATUSL‰ÃHƒìXf…ÒH‰|$(H‰t$0‰L$L‰L$ f‰T$„ÉH‹6/·Ò;P8‡¶·L$H‹àE1íAÇAÇ@ÿÿÿÿAÇ@AÇ@ ÿÿÿÿH‹TÊøH‹L$ H‰T$8‹ØM/A‰PÇH‹L$(H‹(‹AH‹L$0ƒèHÁàHH‰D$‹AƒèHÁàHH‰$H‹D$L‹0M…ötE‹.H‹L$·T$L|$@fÇD$F‹qf‰T$DA9õƒ_A‹I‹ND‰ê)ÂH£Ñƒ#H‹$1íL‹ M…ätA‹,$H‹$AEL‰t$E‰îA‰Å‹r9õƒàf.„A‹$I‹L$‰ê)ÂH£ÑƒH‹=Ò4/‰èL‰þƒÀfD‰l$@f‰D$BHÇè#[H…Àu6ëL@fƒú@„bfƒúfD„b·t$FH‰Çè}[H…Àt·PfƒúuÆ‹P ëÝ€H‹=Y4/L‰þH‰ÚHǰè×lH‹ $A‹$‹q‰À‰êHƒÀ?H9„ƒÅL‰à9õI‰Ä‚*ÿÿÿE‰õH‹T$L‹t$‹rA‹‰ÀD‰êHƒÀ?H9„õAƒÅL‰ðA9õI‰Æ‚¢þÿÿ‹‰Â÷Ò…T$…zH‹T$8H‹j(H…ítHL‹d$(L‹l$0ë„H‹mH…ít+‹…EtðH‹M1ÒL‰îL‰çèÿôÿÿ…À„œH‹m‹H…íuÕ‰Â÷Ò…T$…‘fƒ|$„Ÿ‹‰Â1À÷Ò…T$tH‹L$ ƒ HƒÄX[]A\A]A^A_ÃD‹P Sé£þÿÿD‹P!S é“þÿÿDI‹D$H…À„ßþÿÿ‹(éÞþÿÿI‹FH…À„þþÿÿD‹(éýþÿÿ‹E÷Ð#‰é-ÿÿÿH‹L$ ƒ ‹!D$fƒ|$…aÿÿÿ©€„XÿÿÿH‹T$(‹JH‹T$0‹r9ñ„@ÿÿÿH‹™2/H‹’ØH…Òu阄H‹RH…Ò„ƒ; uî;ruæfDéûþÿÿH‹L$ ƒ ‹!D$ésþÿÿH‹>/¸êÿÿÿHƒ{„âþÿÿH7~ H6q ·L$ÇH‹{ H‰ÞH‰CH‰S1ÀH| ÿS¸êÿÿÿé¤þÿÿ%ýÿÿ‰é„þÿÿ@H‰\$ÐH‰l$؉ýL‰d$àL‰l$èA‰ôL‰t$ðL‰|$ø‰þHƒìHH‹=¸1/A‰ÍM‰ÆM‰Ïf‰T$èýH…ÀH‰ÃtUH‹=–1/D‰æèæH…À„}·T$M‰ùM‰ðD‰éH‰ßH‹l$ H‹\$L‹d$(H‰ÆL‹l$0L‹t$8L‹|$@HƒÄHéûÿÿfH‹9/Hƒ{ut¸êÿÿÿH‹\$H‹l$ L‹d$(L‹l$0L‹t$8L‹|$@HƒÄHÃf.„H‹ù/Hƒ{tÀHë} ÇH‹{ D‰áHþz H‰ÞH‰CHßo H‰C1ÀÿSëŒH·} ÇH‹{ ‰éHËz H‰ÞH‰CH¬o H‰C1ÀÿSéVÿÿÿ„Hƒì·ÒLL$ ÇD$ è‡þÿÿHƒÄÃfAWAVA‰ÖAUA‰õATUS‰ûHƒìf…É„ÙH‹:0/·Ñ;P8‡ÆH‹€à‰þH‹=&0/·ÉL‹|ÈøèqH…ÀH‰Å„ H‹=0/D‰îèVH…ÀI‰Ä„¨H‹=ë//D‰öè;H…ÀI‰Å„cI‹_0H…ÛufDë>fDH‹[H…Ût.H‹KL‰êL‰æH‰ïè ñÿÿ…Àuà¸ÿÿÿÿHƒÄ[]A\A]A^A_Ã@HƒÄ1À[]A\A]A^A_ÀH‹a/Hƒ{…®HƒÄ¸êÿÿÿ[]A\A]A^A_ÃH‹;/Hƒ{tÞHM| H‹{ ÇD‰éH‰CH+n H‰C1ÀH/y H‰ÞÿS¸êÿÿÿéeÿÿÿH‹-ñ/Hƒ}t”H| ÇEH‹} ‰ÙHöx H‰îH‰EH×m H‰E1ÀÿU¸êÿÿÿéÿÿÿfDHÁ{ Ç·ÉH‹{ Hžx H‰ÞH‰CH•m H‰C1ÀÿS¸êÿÿÿéÙþÿÿH‹e/Hƒ{„ÿÿÿHs{ ÇH‹{ D‰ñH‰CHQm H‰Cé!ÿÿÿfH‰\$ÐL‰d$àH‰óL‰l$èL‰|$ø‰þH‰l$ØL‰t$ðHìH‹=./I‰ÕI‰ÏèTH…ÀI‰ÄuDA¾êÿÿÿD‰ðH‹œ$èH‹¬$ðL‹¤$øL‹¬$L‹´$L‹¼$HÄÃH‹¡-/H‰ÞH‹x`èµfÿÿH…ÀH‰D$tŸ‹¿dA¾ôÿÿÿ‰„$€èb„H…ÀH‰D$Xt‚¨H‰Çºd…ë‰Ñ1ÀÁéƒâ‰ÉóH«tÇH‹L$1ÒH‹AH…Àt‹H‹t$HŒ$€E1öD‰t$,L‰|$xI‰ÆH‰L$PHŒ$ÀÇD$d‹^H´$ØÇD$LH‰L$8L‰l$pA‰×H‰t$0H´$ÜH‰t$hA9߃A‹I‹ND‰úD‰þH‰t$ )ÂH£ÑƒAH‹š,/1íH‹€èL‹,ðI‹]H…Ût‹+AGL‰t$@L‹t$P‰„$„A‹u 뀃ÅH‰ØH‰Ã9õƒß‹H‹K‰ê)ÂH£Ñs5U‰”$ˆA;T$t$H‹',/H‹t$L‰òL‰ç‹HèÄ~ÿÿ…Àt ‹A‹u ‰À‰êHƒÀ?H9ÂuH‹CH…Àt”‹(ë–L‹L$0L‹D$8¹ºL‰öL‰çè‘õÿÿ…À‰D$,u¹ö„$Àt¯H‹T$hH‹=»+/L‰öèë…À‰D$,… ‹L$d9L$Lsc‹D$L‹”$ÜH‹t$XƒD$L‰†éhÿÿÿ„L‹t$@H‹T$A‹‹Z‰ÀHƒÀ?H;D$ tAƒÇL‰ðI‰Æé|þÿÿ@I‹FH…ÀtäD‹8ëæƒD$d‹T$dHÁâH‰×H‰T$è‚H…ÀH‹T$„³1öH‰ÇH‰D$è»ÇD‹D$LH‹L$H‹t$XH‰ÏJ…L‰D$è‡ØH‹|$Xèýr‹„$ÜH‹L$L‹D$ƒD$LH‰L$XB‰‹A‹u é™þÿÿL‹l$pL‹|$xH‹L$X‹t$LD‹t$,I‰MA‰7é™üÿÿH‹|$XA‰Æè¢ré‡üÿÿÇH‹|$X²`HƒÇéÿüÿÿH‹|$XA¾ôÿÿÿèwré\üÿÿfH‰\$èH‰l$ðH‰ýL‰d$øHƒìH‹z0I‰ôH‰îè;cÿÿH…ÀH‰Ã„¹A‹$;…³I‹D$H…ÀtYH‹SH…ÒtWH‹RH‹xH51êÿÿèŒcÿÿ…À…ôH‹SI‹|$H5êÿÿèocÿÿ‰Â1À…Ò…ƒH‹$H‹l$L‹d$HƒÄÃHƒ{tÅL‹’ÿ.IƒxtMHv AÇI‹x H‰éHgt L‰ÆI‰@Hwh I‰@1ÀAÿP¸ÿÿÿÿëL‹Iÿ.Iƒx…ª¸ÿÿÿÿë„€L‹)ÿ.IƒxtäH›u AÇI‹x H‰éH~t L‰ÆI‰@Hh I‰@1ÀAÿP¸ÿÿÿÿé1ÿÿÿ@L‹Ùþ.Iƒxt”HKu AÇI‹x H‰éHþs L‰ÆI‰@H¾g I‰@1ÀAÿP¸ÿÿÿÿéáþÿÿH u AÇI‹x H‰éHÈr L‰ÆI‰@H€g I‰@1ÀAÿP¸ÿÿÿÿé£þÿÿL‹Oþ.Iƒx„ÿÿÿH½t AÇI‹x H‰éHcr L‰ÆI‰@H0g I‰@1ÀAÿPƒÈÿéUþÿÿ„H‰\$èH‰l$ðH‰ûL‰d$øHìhI‰ôH¬$ÐH‰ïè4„ÿÿH‰œ$ØH\$Ç„$ÐL‰¤$àH‰ßè\±ÿÿ…Àt(¸ôÿÿÿH‹œ$PH‹¬$XL‹¤$`HÄhúH‰îH‰ßè°Áÿÿ‰Â¸êÿÿÿ…ÒuÂH¬$H‰ïè…H‹N'/H5ýÿÿH‰ÚH‹x0èë`ÿÿ…ÀtdH‹ 0ý.¸êÿÿÿHƒyt4Hms H5,f ÇH‹y H­r H‰AH‰q1ÀH‰ÎÿQ¸êÿÿÿH‰ï‰D$èH‰ßèìÕÿÿ‹D$é0ÿÿÿH‹=Ô&/èg H‹=È&/H5yH‰êè± ‰Â¸ôÿÿÿ…Òu¶H‹Ÿ&/H”$@H5p H‰ïH‰œ$HL¤$ H‰„$@èðH‹5i&/H¼$p¹LóH¥H‹5Z&/L‰çèÊ H‹C&/¹LH‰ÞH‰ÇóH¥H‰îH‹=3&/è¦ H¼$pƒ7>/è"ÕÿÿL‰çè*1Àé`þÿÿH‰\$èH‰l$ðH‰óL‰d$ø‰þHƒì‰ýH‹=ç%/I‰Ôè7 H…Àt2H‹5Ë%/M‰àH‰ÙH‹l$H‹$H‰ÂL‹d$1ÿHƒÄéénf„H‹™û.Hƒ{u¸êÿÿÿH‹$H‹l$L‹d$HƒÄÃHSr ÇH‹{ ‰éH‡o H‰ÞH‰CHhd H‰C1ÀÿSëµ€‰øH‰×H‰ò‰Æé± H‰\$ðH‰l$øHƒì(‹H‰ÕH‰ÓH¯îƒøtAs/H;ivYf„è«Ç1ÛH‰ØH‹l$ H‹\$HƒÄ(ÃøuæHiëâDH‹I H‹\$H‹l$ HƒÄ(éÉŠf„H‹AH‰þH‰êH‰L$H‰ÇèIÒH‹L$HiH)ië—f.„H‰\$ðH‰l$øHƒì‹H‰õH‰Ó…ÀuH;Vv@¸ÿÿÿÿH‹\$H‹l$HƒÄÃ@ƒøuãH‹N ºH‰Þ袈H‰Â1ÀHƒúuÇëÊDH‹vèÇÑH]H)]1Àë°ff.„UH‰ýSHƒì8H‰çèO€ÿÿ‹)þÿÿDH‹)õ.Hƒ{tÝH»k H‹{ ÇD‰ùH‰CH^ H‰CHi H‰Þ1ÀA¼êÿÿÿHl$ÿSééýÿÿHyk ÇH‹{ ‰éH‰CHØ] H‰Cë½fff.„I‰È·Ò¹@éüÿÿI‰È·Ò¹ é€üÿÿI‰È·Ò¹épüÿÿATI‰ðH‰ùUH‰ý1ÿSH‰ÓHƒìH‹5c/HT$HÇD$è@q…ÀˆÀH…ÛtH‹t$H‹=?/H‰Úèo…ÀˆŸH‹\$H…Ût}H{HkÇCÇCÇLc(èèH{0HÇCHÇEHÇEèÇHÇCHÇEHÇEHÇC(IÇD$IÇD$H‹\$H‰ßèÈe1ÀHƒÄ[]A\ÃDH‹|$H…ÿtè¹úÿÿH‹|$èŸeH‹hó.¸ÿÿÿÿHƒ{tÆHj ÇH‹{ H‰éHÛg H‰ÞH‰CHI\ H‰C1ÀÿS¸ÿÿÿÿëH‰\$ØH‰l$à½ôÿÿÿL‰d$èL‰l$ðI‰ôL‰t$øHƒìx‹Lt$I‰ÕH‰ã‰$‹FL‰÷‰D$‹F‰D$‹FHv‰D$躅…ÀˆêA‹D$(It$0H|$0‰D$(èš……ÀˆêI‹EA‹$H‹€ÀƒêH‹4ÐI‹EH‹x`èŸUÿÿH…À„Æ‹A‹T$A‰$I‹EƒêH‹€°H‹4ÐI‹EH‹x@èlUÿÿH…À„“‹A‹T$A‰D$I‹EƒêH‹€¸H‹4ÐI‹EH‹xPè8UÿÿH…Àtc‹I‹uL‰âI‹}A‰D$èlkÿÿ…À‰ÅuKI‹}L‰æèJh…Àt6H‰çèùÿÿfD‰èH‹\$PH‹l$XL‹d$`L‹l$hL‹t$pHƒÄxĽêÿÿÿH‹5¤/HL$HLD$@H‰â1ÿLcèÌdH{ÇD$ÇD$Ç$è\}H{0IÇD$HƒÃ(IÇD$HÇD$è4}HÇCHÇCH‹-ñ.HÇD$IÇD$IÇD$HÇD$(Hƒ{t4Hkg ÇH‹{ H‹L$HH›e H‰ÞH‰CHíY H‰C1ÀÿSH‹|$Hèôbéçþÿÿ€L‰÷½ôÿÿÿè›|éËþÿÿH…ÿu 1ÀÄH‹H…ÉtíH‰ðƒàH‹ÁH…Àuë/€H‹@HH…Àt‹9Öwî9ÖuHƒÀfDÀH‹AH…ÀufDë›fDH‹@HH…Àt‹‹ƒúvîƒú…zÿÿÿDë´fffff.„AVH…ÿI‰þAUATI‰ÔUH‰õStZH‹H…ÀtRE1íJ‹(H…Ûuë,@H‹[HH…ÛtHsL‰â‹;ÿÕ…Àtè[]A\A]A^ÀIƒÅIýt I‹ë·fD[]A\A]1ÀA^ÃDH‹ÆGH‰‹F‰G‹F ‰G Ãf„ÆGÃff.„HƒìL‹H‰òE1É1öE1ÀfDI‹2H…Àt"AƒÀ1Éf„H‹@HƒÁH…ÀuôD9ÉDOÉHƒÆHþuÈ‹OH5~Z D‰ $¿A¹€1Àèà/HƒÄÃff.„SH‰û¿è²o1ÒH…ÀH‰¹ôÿÿÿuë-H‹HÇHƒÂHúuèÇCÇC 1ÉÆC‰È[ÃH‰\$ÐH‰l$؉óL‰d$àL‰l$èH‰ýL‰t$ðL‰|$øHƒìHH…ÿu,¸ôÿÿÿH‹\$H‹l$ L‹d$(L‹l$0L‹t$8L‹|$@HƒÄHÃ@H‹H…ÀtÌI‰ÞE1íAƒæJ‹ ðH…Ét*‹19ówé:f‹09ó@†ºH‰ÁH‹AHH…ÀuæI‰Í¿PH‰T$èÄnH…ÀI‰ÄH‹T$„oÿÿÿ‰‹M|$ HrL‰ÿA‰D$‹BA‰D$ ‹BA‰D$‹BA‰D$者ÀH‹T$ˆª‹B(Hr0I|$8A‰D$0è^€…ÀxjM…ítMI‹EHI‰D$HM‰eHƒE1À;] ‚úþÿÿƒÃ‰] éïþÿÿfDI‰Í9ó…JÿÿÿèØÇ¸ïÿÿÿéÉþÿÿH‹EJ‹ðI‰T$HN‰$ðë­DL‰ÿèèxID$IÇD$HÇ@HÇ@L‰çè_¸ôÿÿÿéyþÿÿE1íëŽAWL~AVE1öAUATI‰ÔUH‰ýSH‰óHƒìH‹ÇHV0N‹,0M…íué‹€M‹mHM…ítwH‹I9EuîA‹E;CuåA‹E;CuÜI} L‰þH‰T$èëv…ÀH‹T$tÂA‹E0;C(u¹I}8H‰ÖèÍv…ÀH‹T$t¤E‹mE…í„õE‰,$1ÀHƒÄ[]A\A]A^A_ÃfH‹EIƒÆIþ…VÿÿÿE1öN‹,0M…íué¢f.„M‹mHM…í„‹H‹I9E@uæA‹E;CuÝA‹E;CuÔI} L‰þH‰T$è3v…ÀH‹T$tºA‹E0;C(u±I}8H‰Öèv…ÀH‹T$tœE‹mE…í…HÿÿÿD‹m Aƒýÿt€}tÿÿÿ‹EA¾¿¾‰D$éÿÿÿ@‰ÁƒÉ…ÒEÁé ÿÿÿH‰\$ÐL‰d$àI‰ôL‰l$èL‰|$øI‰ÿH‰l$ØL‰t$ðHì¸H‹jL‹2èɇ‰$I‰ÅA‹$‰D$‹]…Ûtdƒ½Xwd»H‰çL‰ñH‰Ú¾èƒÝÿÿH9ÃtW¸ÿÿÿÿH‹œ$ˆH‹¬$L‹¤$˜L‹¬$ L‹´$¨L‹¼$°HĸýXvœA‹D$P»‰D$ë‘L‰ñL‰ê¾L‰ÿèÝÿÿI9Åu‘I|$L‰öèÒôÿÿ…Àu€ƒ}uI|$L‰öè»ôÿÿ…À…eÿÿÿ1ÀécÿÿÿI|$L‰öèoöÿÿ…ÀtèéEÿÿÿH‰\$àH‰l$èH‰ýL‰l$øL‰d$ðI‰õHì¨L‹"视‰$H‰ÃA‹EH‰çL‰áº¾‰D$ètÜÿÿHƒøt-¸ÿÿÿÿH‹œ$ˆH‹¬$L‹¤$˜L‹¬$ HĨÃH‰ÚL‰á¾H‰ïè.ÜÿÿH‰Â1ÀH9Óu¶ë¹fH‰\$ÐH‰l$ØH‰óL‰d$àL‰t$ðH‰ÕL‰|$øL‰l$èHìÈH‹BI‰ÿL‹*E1äH‰D$èî…H‹{I‰ÆH…ÿtèÝ…I‰ÄH‹C(1ÒH…Àt€H‹@ƒÂH…Àuô‹D‰t$D‰d$‰D$‹C ‰D$H‹CH…Àtt‹@ ‰D$ ‰T$$HT$L‰é¾H‰$H‹<$ºèbÛÿÿHƒøtN¸ÿÿÿÿH‹œ$˜H‹¬$ L‹¤$¨L‹¬$°L‹´$¸L‹¼$ÀHÄÈÀÇD$ ë‰L‰éL‰ò¾L‰ÿèûÚÿÿI9ÆušH‹{H…ÿtL‰éL‰â¾èÝÚÿÿI9Ä…xÿÿÿH‹{H5 þÿÿH‰êè¡9ÿÿ…À…]ÿÿÿH‹s(H‹|$1ÒL‰éèöÿÿ…À…BÿÿÿH‹T$‹…ÀuƒºXw1Àé,ÿÿÿƒøuôH‹D$ƒ¸XvæH‹S01ÀH…Òt ƒÀH‹RëòH‹<$L‰é²¾‰D$èEÚÿÿHƒø…ßþÿÿH‹s0H‹|$L‰éºè…õÿÿ…Àt—éÀþÿÿfff.„H‰\$ØH‰l$àH‰óL‰d$èL‰t$øI‰üL‰l$ðHì¨I‰ÖL‹*è$H‰Å‹H‰çL‰éº¾‰D$‹C‰D$H‹C‹@ ‰D$ è¬ÙÿÿHƒøt5¸ÿÿÿÿH‹œ$€H‹¬$ˆL‹¤$L‹¬$˜L‹´$ HĨÃL‰éH‰ê¾L‰çè^ÙÿÿH9Åu³H‹{H5ŽüÿÿL‰òè&8ÿÿ‰Â1À…Òtë–fff.„H‰\$àL‰d$ðH‰ûH‰l$èL‰l$øHƒì8‹G‹I‰ô9ÐtQ‰D$‰T$¸E1í½H‰çL‰áH‰ê¾‰$èÞØÿÿH9ÅtQ¸ÿÿÿÿH‹\$H‹l$ L‹d$(L‹l$0HƒÄ8ÃHwH è{^…Àu‹C‹ë—‹A½½‰D$¸ë”H{L‰æèLðÿÿ…ÀuŸE…ít1ÀëšH{ L‰æè2ðÿÿ…Àu…1Àë†f.„L‰d$àL‰t$ðI‰ôL‰|$øH‰\$ÐI‰ÿH‰l$ØL‰l$èHì¸H‹jL‹*è)‚‰$I‰ÆA‹$‰D$‹}…ÿtdƒ½Xwd»H‰çL‰éH‰Ú¾èã×ÿÿH9ÃtZ¸ÿÿÿÿH‹œ$ˆH‹¬$L‹¤$˜L‹¬$ L‹´$¨L‹¼$°HĸýXvœA‹„$¨»‰D$ëŽL‰éL‰ò¾L‰ÿèq×ÿÿI9ÆuŽ‹u…öuJI|$L‰îè(ïÿÿ…À…rÿÿÿ‹…XƒøwBƒø…‡‹Eƒø„ƒøD„1ÀéBÿÿÿI|$L‰îèNðÿÿ…Àtºfé%ÿÿÿƒ}€tS‹EƒèƒøDwÄI|$ L‰îèYîÿÿ…À…óþÿÿI|$@L‰îè¤íÿÿ…À…Þþÿÿ1ÀéÜþÿÿDw¸1À@éÊþÿÿI|$`L‰îècýÿÿ…À…­þÿÿI¼$L‰îèKïÿÿ…À…•þÿÿ1Àé“þÿÿfff.„H‰\$èH‰l$ðH‰ÑL‰d$øH옋I‰üH‰óH‰ÕH‰çº‰$‹F‰D$‹F¾‰D$èÖÿÿHƒøt+¸ÿÿÿÿH‹œ$€H‹¬$ˆL‹¤$HĘÃfDA‹„$XƒøvA‹$…Àt+ƒøt&1À@ë¸fDƒøDvèA‹$fëÛfDH{H‰îèlüÿÿ…Àu…1Àë†@AWAVAUE‰ÅATA‰ÌUH‰ÕSH‰óHƒìhL‰L$D‹E…Éu ƒ¿Xv`·H|$PH‰éº¾f‰D$P·Cf‰D$R·Cf‰D$T·Cf‰D$Vè&ÕÿÿHƒø„ޏÿÿÿÿHƒÄh[]A\A]A^A_Ä…É… ·‰D$$·C‰D$(·C‰D$,·CA‰ÆAæÿf…ÀˆÊE…ä„‘AöÆÇD$„‹t$H‰ßèÓ H…ÀtnA¿ëfD‹t$H‰Çè´ H…ÀtU·PAƒÇ‰ÑáÿA Îf…Òy×A΀ëÎfDD‹F E…À„Sÿÿÿ1ÀHƒÄh[]A\A]A^A_Ãf.„A¿AöÆw„AöÆtAöÆpfD…+E…äD‰t$0f„¢H™H H žH A¼fD·:·÷A…öt-f…{H‰Ø„H…À„Ï‹pAƒïB‰t¤ IƒÄÇ@ HƒÂH9Êu¿E…ÿ…fE…í„BÿÿÿAD$ÿH|$ H‰éL‰â¾‰D$ èoÓÿÿI9Ä…Jþÿÿ1Àéÿÿÿ€‹CAƒïA¼‰D$4ÇC ëŸfDH‰ßH‰$H‰L$èWHƒ|$H‹$H‹L$„JÿÿÿH‹t$ƒ.é=ÿÿÿDA΀é*þÿÿ@H‹M(H…ÉHD Î.Hƒy„ºýÿÿHG H57 ÇH‹y HOE H‰AH‰q1ÀH‰ÎÿQƒÈÿéˆýÿÿAöÆp„yýÿÿÇD$pDéÔýÿÿH‹M(H…ÉHD ¤Í.Hƒy„MýÿÿH"G H5¡6 ÇH‹y H×D H‰AH‰q1ÀH‰ÎÿQƒÈÿéýÿÿfH‹M(H…ÉHD QÍ.Hƒy„úüÿÿHÏF H5N6 ÇH‹y HœD H‰AH‰q1ÀH‰ÎÿQƒÈÿéÈüÿÿH‹M(H…ÉHD Í.Hƒy„©üÿÿH~F H5ý5 ÇH‹y H¶D H‰AH‰q1ÀH‰ÎÿQƒÈÿéwüÿÿ‹CH|$ H‰éº¾‰D$ èpÑÿÿHƒø…Jüÿÿ1Àéýÿÿffffff.„AVAUATI‰ÔUH‰ýSH‰óHƒì@D‹HÇD$8E…Òu ƒ¿XviE1íE1öH…ÛH‰ØtH‹H‹@HƒzAƒÞÿH…ÀuëH|$ L‰áº¾D‰t$ èßÐÿÿƒø„†A¾ÿÿÿÿE…íuSHƒÄ@D‰ð[]A\A]A^ÃH‰çA¾ÿÿÿÿèú…ÀuÛHT$8H‰áH‰ÞH‰ïè#d…ÀuH‹\$8A½éaÿÿÿ€H‹|$8è~/H‰çèæHƒÄ@D‰ð[]A\A]A^ÃfDE…öu7E1öésÿÿÿH‹3Hƒ~tE1É1ÉA¸L‰âH‰ïèúÿÿ…À…BÿÿÿH‹[H…ÛuÏ€ë»fDAVH‰ðAUI‰ýATI‰ôUSH‰Ó1ÒHƒì H…öt H‹@PƒÂH…ÀuôH|$‰T$H‰Ùº¾è¹Ïÿÿƒøt@¸ÿÿÿÿHƒÄ []A\A]A^ÃfDM…ä„ãA‹$H‰Ùº¾H‰ç‰$èsÏÿÿƒøu¾I‹D$1ÒH…ÀtfH‹@ƒÂH…Àuô‰$H‰Ùº¾H‰çè<Ïÿÿƒøu‡M‹t$M…öt:DA‹H‰Ùº¾H‰ç‰$A‹F‰D$èÏÿÿƒø…LÿÿÿM‹vM…öuËE‹]E…ÛuGI‹t$H‰ÚL‰ïèŠýÿÿ…À…"ÿÿÿI‹t$H‰ÚL‰ïèrýÿÿ…À… ÿÿÿM‹d$PM…ä…ÿÿÿ1ÀféøþÿÿI‹|$ H‰Þè¦èÿÿ…À…ÞþÿÿI‹|$(H‰Þè‘èÿÿ…ÀtÃDéÃþÿÿH‰\$ÐH‰l$ØH‰ûL‰d$àL‰l$èH‰õL‰t$ðL‰|$øHìØD‹¸þÿÿÿE…ÿ…¸D‹wH‰´$pH‰¼$xE…ö„6‹‡Xºƒø‡*‹…Ò„¸ƒøwƒú„ªƒú€„šD‹£\AƒäAƒÌL=7 Ç„$Àÿ|ù¸A¾L¬$ÀH‰éº¾‰„$ÄL‰ïèŠÍÿÿHƒø„ä¸ÿÿÿÿH‹œ$¨H‹¬$°L‹¤$¸L‹¬$ÀL‹´$ÈL‹¼$ÐHÄØÃH‹m(H…íHD-aÈ.Hƒ}tªH¯A Hb1 ÇEH‹} ‹‹XH‰îH‰EH‰U1ÀH/@ ÿU¸ÿÿÿÿéoÿÿÿf.„1ÒfDD‹£\D‹+AƒäA ÔE…í…óþÿÿÇ„$ÀŒÿ|ù¸L=6 A¾éîþÿÿH‰éL‰ò¾L‰ÿè‰ÌÿÿI9Æ…ÿÿÿ‹»X‹3èÃKÿÿH…ÀH‰D$„É‹…À„£‰„$ÀA¾¸º¹¾‹»X‰¼´ÀH‹t$L‰ïD‰¤ŒÀ‹N‰Œ”À‹V H‰é¾‰”„ÀL‰òèùËÿÿL9ð…pþÿÿ‹ƒø‰Â„Ê‹‹Xƒù†Ž…À„qƒø„hƒø„_ƒù€†o…Ò„ÅH‹t$‹v…ö‰t$„‹C(IUI‰ÜL5-Å.E1ÿH‰T$ ‰„$ÀH‹C ‹@ ‰„$ÄH„$pH‰D$ëIƒÄIƒÆH‰éº¾L‰ïè4ËÿÿHƒø…ªýÿÿI‹|$ H‹T$I‹6èø)ÿÿ…À…ýÿÿAƒÇD9|$†‡A‹D$8Aƒÿ‰„$ÀI‹D$0‹@ ‰„$Äuƒ»Xw†ƒ;uH‹{PH‹T$ H5’áÿÿè)ÿÿégÿÿÿA¾¸º¹1öébþÿÿH‹m(H…íHD-½Å.Hƒ}„ýÿÿH ? H5º. ÇEH‹} HÂ= H‰MH‰uH‰î‹‹XÿUƒÈÿéËüÿÿƒù‡qþÿÿ‰Â…Ò…þÿÿH‹“H1ÀH…Òt‹‹³P9ðƒrþÿÿ‹ L‹B‰Ç)ÏI£ør‰É‰ÇHƒÁ?H9ÏtjƒÀëÖL‹E(M…ÀLDÅ.Iƒx„6þÿÿH]> H . AÇ1ÀI‹x L‰ÆI‰PI‰HHC= ‹‹XAÿPƒ»X†òýÿÿ‹éãýÿÿH‹JH…Ét‹H‰Êé^ÿÿÿƒ;„±L‹»€1ÀL‰úëH‹RƒÀH…Òuô‰„$H„$H‰é²¾H‰ÇH‰D$(è1ÉÿÿHƒø…§ûÿÿHt$@H„$€H”$`M‰îH‰t$0H‰D$H‰T$8M…ÿ„YI‹1ÀH…Ò„ƒÀH‹’ØëëH»HH‰îèžàÿÿƒøÿ…#ýÿÿé@ûÿÿƒ»XL£‡£L¬$@L‰ïèì…À…ûÿÿL‰êL‰æH‰ßèæ\…À…\H‹Œ$@;„$Lƒc‰ÂH‹Ñë ÇB H‹RH…ÒuðƒÀëÖH‹|$(H‰é²¾‰„$è1ÈÿÿHƒø…§úÿÿM‹'M…ä„åA‹$H‹|$0H‰éº¾‰D$@A‹D$‰D$DèóÇÿÿHƒø…iúÿÿI‹t$H‰êH‰ßèÙ÷ÿÿƒøÿ„PúÿÿI‹|$H‰îèÓáÿÿƒøÿ„:úÿÿM‹l$1ÀL‰êH…Ò„ƒÀH‹RHëîM‰õI‰ÜE1öL¼$pëXI‹„$H‰éº¾L‰ï‹@ ‰„$ÀèdÇÿÿHƒø…ÚùÿÿI‹¼$H5 L‰úIƒÄè&ÿÿ…À…·ùÿÿAƒÆD;t$r¡Ll$@I‰ßE1öH‹T$D;r ƒ¿I‹—à1Àë H‹’°HƒÀH…ÒuðH‰é²¾L‰ï‰D$@èáÆÿÿHƒø…WùÿÿM‹§àD‰ñH‰L$M…ä„_Aƒþ‡HH‹t$H; Hc²HÐÿàH‹|$H‰é²¾‰„$€è…ÆÿÿHƒø…ûøÿÿM…í„ H‰îL‰ïè§ßÿÿ…À…ßøÿÿI}H‰îèóßÿÿ…À…ËøÿÿA‹E@H‹|$H‰éº¾‰„$€è)ÆÿÿHƒø…ŸøÿÿM‹mHëžH‹{IƒÎÿE1ÿD‰øL‰ñº¾ò®L‰ïH÷ÑN$1H‰éD‰¤$ÀèâÅÿÿHƒø…XøÿÿH‹{H‰éL‰â¾èÄÅÿÿI9Ä…;øÿÿH‹{D‰øL‰ñº¾ò®L‰ïH÷ÑN$1H‰éD‰¤$Àè‹ÅÿÿHƒø…øÿÿH‹{H‰éL‰â¾èmÅÿÿI9Ä…ä÷ÿÿ‹‰ÂéxùÿÿH»8H‰îèÝÿÿƒøÿ„Ã÷ÿÿ‹‹X‹é|ùÿÿM‹é-üÿÿL‰ëL¬$@AƒÌÿL‰ïè–E…ä…÷ÿÿƒ»X‡Øƒ{x@tEH‹M(H…ÉHD À.Hƒyt/He9 H5) ÇH‹y 1ÀH‰QH‰qH§8 H‰ÎÿQL‹£Ð1ÀL‰âëH‹RHƒÀH…ÒuóLl$@H‰é²¾‰D$@L‰ïè{ÄÿÿHƒø…ñöÿÿM…ä„A‹$H‰éº¾L‰ï‰D$@A‹D$‰D$DA‹D$‰D$Hè9ÄÿÿHƒø…¯öÿÿM‹d$ë·H‹³ÈH‰êH‰ßèôÿÿ…À…ŽöÿÿéXÿÿÿ‹ƒ˜H¼$ŒH‰éº¾E1ö‰„$ŒèßÃÿÿHƒø…UöÿÿH„$ŒE‰òE1ÿAƒòI‰ÝH‰D$E;|$ sI‹$D‰úH‹Ðë+L‹L$E‰Ð¹H‰êH‰ÞL‰ïD‰$èøíÿÿ…ÀD‹$uH‹[H…ÛuÐAƒÇë¶E…öfD„âõÿÿH¼$@èÕéÐõÿÿL‹£Ø1ÀL‰âH…ÒtmHƒÀH‹RëñE…öL‰ë„þÿÿH¼$ŒºH‰é¾L¬$@èÃÿÿ1ÒHƒø…ÙýÿÿA‹D$ 9ƒ›I‹$‰ÑH‹ÈH…Àt~Ç@ H‹@ëîL´$€H‰é²¾‰„$€L‰÷è±ÂÿÿHƒø…'õÿÿM…ä„wûÿÿA‹$H‰éº¾L‰÷‰„$€A‹D$‰„$„èrÂÿÿHƒø…èôÿÿM‹d$뺃ÂfDéXÿÿÿE1öI‰ÝA9ƃ¡I‹$D‰òH‹ÐH…Û„{E1ÉA¸¹H‰êH‰ÞL‰ïè„ìÿÿ…À…ßüÿÿH‹[ëÍ‹„$HA¾M‰ì‰„$ŒéþÿÿA‹D$ HƒÉÿº¾‰D$@I‹<$1Àò®L‰ïH÷ÑHƒéH‰L$‰L$DH‰éè°ÁÿÿHƒø…&ôÿÿH‹T$I‹<$H‰é¾èÁÿÿH9D$…ôÿÿIt$(H‰êH‰ßèëÿÿ…À…íóÿÿM‹¤$°é˜úÿÿAƒÆIƒÇé2úÿÿH‹“1ÀH…Òt;HƒÀH‹RëñA‹$H‰éº¾L‰ï‰D$@A‹D$‰D$DèÁÿÿHƒøtŠéŠóÿÿH‰é²¾L‰ï‰D$@èôÀÿÿHƒø…jóÿÿL‹£M…ä„I‹<$1ÀHƒÉÿº¾ò®L‰ïH÷ÑLqÿH‰éD‰t$@è­ÀÿÿHƒø…#óÿÿI‹<$H‰éL‰ò¾èÀÿÿI9Æ…óÿÿI‹T$1ÀH…Ò„æHƒÀH‹’°ëêM‹l$ 1ÀL‰êH…Òt ƒÀH‹R0ëòH‹|$H‰é²¾‰„$€è6ÀÿÿHƒø…¬òÿÿM…í„QH‰îL‰ïèXÙÿÿ…À…òÿÿI}H‰îèDÙÿÿ…À…|òÿÿM‹m0ëÊA¶$¾L‰ï‰T$@A·D$º‰D$DA·L$‰L$HH‰éèÄ¿ÿÿHƒø„5þÿÿé5òÿÿAƒÆA‹D$ @éVýÿÿL‰ëE1äL¬$@érúÿÿH‰é²¾L‰ï‰D$@èz¿ÿÿHƒø…ðñÿÿM‹t$M…ö„³I‹>1ÀHƒÉÿº¾ò®L‰ïH÷ÑLyÿH‰éD‰|$@è6¿ÿÿHƒø…¬ñÿÿI‹>H‰éL‰ú¾è¿ÿÿI9Ç…ñÿÿA‹F H‰éº¾L‰ï‰D$@èó¾ÿÿHƒø…iñÿÿIv(H‰êH‰ßèzèÿÿ…À…RñÿÿM‹¶°é[ÿÿÿ‹ƒXƒøvEƒ;t1Àé4ñÿÿM‹d$féÀýÿÿE1öƒøA—ÆH‹ƒ 1ÒH…ÀtmE…öu_ƒxtYH‹@@@ëæƒø„ã‹…ÀfDu¨E1䃻XvœD;cXs–D‰çH‰îHÁçH»(èÖÿÿƒøÿ„­ðÿÿAƒÄëÕHƒÂ랉T$@H‰éº¾L‰ïè¾ÿÿHƒø…{ðÿÿL‹£ E1ÿM…ät‚E…ö…}Aƒ|$tuE…ÿucH‹M(H…ÉHD ÷¸.HƒytMHŠ2 H5ø! A·ÇH‹y 1ÀH‰QH‰qH´1 H‰ÎÿQM‹d$@ë–‹ƒø…ÿÿÿE1öéÚþÿÿA¿DëØA‹$H‰éº¾L‰ï‰D$@A‹D$‰D$Dè@½ÿÿHƒø…¶ïÿÿE…öt(A‹D$H‰éº¾L‰ï‰D$@è½ÿÿHƒø…‰ïÿÿI|$H‰îèÌãÿÿ…À„fÿÿÿ@ékïÿÿA‹„$¨H‰éº¾L‰ï‰D$@èʼÿÿHƒø„;ûÿÿé;ïÿÿA‹$H‰éº¾L‰ï‰D$@A‹D$‰D$DA‹D$‰D$HA‹D$ ‰D$LA‹D$‰D$PA‹D$‰D$TA‹D$‰D$XA‹D$‰D$\è_¼ÿÿHƒø„ÐúÿÿéÐîÿÿI‹<$1ÀHƒÉÿº¾ò®L‰ïH÷ÑHƒéH‰L$‰L$@H‰éè¼ÿÿHƒø…•îÿÿH‹T$I‹<$H‰é¾èÿ»ÿÿH9D$…tîÿÿIt$(H‰êH‰ßè„åÿÿ…À…\îÿÿIt$héRúÿÿƒ»XvM‹l$(1ÀL‰êH…Ò„؃ÀH‹’€ëë‹t$I|$0H‰êè&Øÿÿƒøÿ„ îÿÿ‹t$I¼$ÀH‰êè Øÿÿƒøÿ„ðíÿÿH‰¬$`H‰œ$hE1íÇD$ ‹L$ 9L$ŽòC‹„lXH‹|$0H‰éº¾‰D$@K‹„lP‹@ ‰D$Dè»ÿÿHƒø…‹íÿÿH´´.K‹¼lPJ‹4*H‹T$8IƒÅèÊÿÿ…À…bíÿÿƒD$ ë†H‹|$H‰é²¾‰„$€èÀºÿÿHƒø…6íÿÿM…í„ÿÿÿH‰îL‰ïèBÔÿÿ…À…íÿÿI}(H‰îè.Ôÿÿ…À…íÿÿI}PH‰îèJÒÿÿ…À…òìÿÿI}`H‰îèæÑÿÿ…À…ÞìÿÿM‹­€ëŸM‹¤$Øé$òÿÿ„H‰\$ÐH‰l$ØH‰õL‰d$àL‰t$ðI‰üL‰l$èL‰|$øHìÈH‹H‰T$èd‹]I‰ÆƒÃƒûwjLl$E1ÿH‹L$E‰uº¾L‰ïè×¹ÿÿHƒøtY¸ÿÿÿÿH‹œ$˜H‹¬$ L‹¤$¨L‹¬$°L‹´$¸L‹¼$ÀHÄÈÃ@‰ßHÁçè¥5H…ÀI‰Çt¬I‰Åë†H‹L$L‰ò¾L‰çèc¹ÿÿL9ðu‹EA‰E‹EA‰E‹E…ÀtH‹u1À‰ÁPƒÀ‹ ŽA‰L•9EwëH‹L$‰Û¾H‰ÚL‰ïè¹ÿÿH9ÃuL‰ÿèg&1ÀDé/ÿÿÿL‰ÿèS&ƒÈÿéÿÿÿHcÒSH‰óHƒÂHÁâH‹2H‰þH‰ÇèÿÿH…Àtƒ8t1À[DÀ‹p…ötæH‹›ˆH‹@1Ò‹ƒéH‹ ËH…Ét‹I…ÉuƒÂHƒÀ9òrà1Àë¶@¸[ÃH‰l$ðH‰ÕH‰\$èL‰d$øºHƒìI‰ôH‰îH‰ûèWÿÿÿ…Àu1ÀH‹$H‹l$L‹d$HƒÄÃfDH‹}0H‰Þè\ÿÿH…ÀH‰ÃtÑH‹xL‰æèHÿÿH…ÀtH…À•À¶Àë·„H‹SH…ÒtäH‹zL‰æèÿÿëÖf„SH‰óH‰ÖHƒìH‹SHL$ èGH…Àt‹t$ …öt H‹SH‰PPH‰CHƒÄ[ÄATH…ÿUH‰ýStdA¼1Û@‰ßƒÃHÁçH|=èu>Aƒìu狽ˆ…ÿt"1ۉ߃ÃHÁçH½€èK>9ˆwã[H‹½€]A\és$[]A\Ãff.„H…ÿSH‰ûtgH‹è¾"H‹{è>ÿÿH‹{èl=ÿÿH‹{ èÃ<ÿÿH‹{(èº\ÿÿH{0èAÿÿÿH»Àè5ÿÿÿH»PèyQÿÿH‹»Ðèý#H‰ß[éô#@[Ãfffff.„UH‰ýSHƒìH…ÿt:H‹?H…ÿtf.„H‹ŸØèTÿÿÿH…ÛH‰ßuìHƒÄH‰ï[]éž#fDHƒÄ[]ÃH…ÿStf.„H‹_è—ÿÿÿH…ÛH‰ßuï[fDÀ¾ ¿é)AV¾àAUATU‰ý¿Sèç(H…ÀH‰ÃI‰Æ„‰L-±* ‰(A¼1í€HcÅA‹t…HÁàH¼Pè·Éÿÿ…ÀucƒÅAƒìuÚº1ÀHcȃÀH‰ÎHÁáHÁæHŒÀƒêHt0HÇHÇFHÇHÇAu¿[]A\A]L‰ðA^ÃH‰ßE1öè%þÿÿH‰ßè}"[]A\A]L‰ðA^÷VfâÿH…ÿu 1ÀÀH‹H…Àtî·D·ND·F·ñE·ÑÁæ B4–A40f#w·öH‹ðH…Àt¿f9u"fD9HufD9@€uf…Pfu#fD9@w”H‹@H…À€uÆfDéyÿÿÿHƒÀ€Ãffffff.„·VfâÿH…ÿu 1ÀóÃfDH‹H…Àtî·D·ND·F·ñE·ÑÁæ B4–A40f#w·öH‹ðH…ÀtÁf9u"fD9HufD9@€uf…PfufD9@w”H‹@H…À€uÆóÃóÃfH…ÿu 1ÀóÀH‹GæÿÿH…ÀtèL‹H¹ÿÿÿÿÿÿI!Èë€H‹@H…ÀtBH‰ÊH#L9Âu·P…Öu³·f9r©@t&‹;fuηWf;PfDr‹H‹@H…Àu¾ó÷Wf;PsÐ1Àénÿÿÿ€AVH…ÿAUI‰ýATI‰ÔUH‰õStT‹G …ÀtME1öI‹ED‰òH‹ÐH…Ûuë.fDH‹[H…ÛtHsL‰âH‰ßÿÕ…Àtç[]A\A]A^ÃfDAƒÆE9u w¶[]A\A]1ÀA^Ãff.„HÇÇG1ÀÃffffff.„SE1ÒE1ÀH‰òHƒìD‹O E…ÉtEAAÿH‹1öLÅ„H‹3H…ÀtAƒÀ1ÉH‹@ƒÁH…ÀuôD9ÑDGÑHƒÆL9ÞuÔ‹OH5â ¿1ÀD‰$èJîHƒÄ[Ã@H‰\$ðH‰l$ø1ÀHƒì1í…öH‰ûu'f‰CÇC1À‰k H‹\$H‹l$HƒÄÄ1ÉfDƒÁÑîuùAþƒù½ ¾CȸÓà= Fè‰ïè¨$H‰ÂH‰¸ÿÿÿÿH…Òt¡‰èƒèëŠAUI‰ýATUSHƒìH…ÿtvH‹H…Òtn‹O …ÉtH1íDA‰ìIÁäJ"H‹8H…ÿtDH‹_è—H…ÛH‰ßuïI‹UJ"ƒÅA9m HÇw¿H‰×èoIÇEAÇE fAÇEHƒÄ[]A\A]Ãffff.„H‰\$ØH‰l$àH‰ûL‰d$èL‰l$ð¿(L‰t$øHƒì(‰õI‰ÔI‰ÍM‰ÆèË,H…ÀtDHÇ@HÇ@M…äHÇ@HÇ@ I‹UH‰A‹‰Pt4I‹T$H‰PI‰D$ƒCH‹$H‹l$L‹d$L‹l$L‹t$ HƒÄ(ÃDH‹HcíH‹ êH‰HH‰êëÆfff.„ATUS·^fãÿH…ÿu[]1ÀA\ÀH‹H…ÉtêD··nD·fA·ÃD·ÅÁà B€E·ÄDÀD·GD!ÀLcÀJ‹ ÁH…ÉtiE1ÉfD9t„w6L‹QI‰ÉM…Òt*L‰ÑfD9uéf9iuãfD9afDt&fD9avÐfD[]A\I‰ÐH‰ñL‰Ê‰Æé„þÿÿ@f…YtÔëàE1ÉDëÖfffff.„USHƒì·^fãÿH…ÿu ¸ôÿÿÿHƒÄ[]ÃH‹H…ÉtìD··nD·FA·ÃD·ÍÁà BˆE·ÈDÈD·OD!ÈLcÈJ‹ ÉH…ÉtCE1ÉfD9t„w6L‹QI‰ÉM…Òt*L‰ÑfD9uéf9iuãfD9AfDt3fD9AëÎE1ÉI‰ÐH‰ñL‰Ê‰Æè¨ýÿÿH‰Â1ÀH…Ò„NÿÿÿHƒÄ[]Ãf…YtǸïÿÿÿé<ÿÿÿéÿÿÿff.„AWM‰ÇAVAUATUSH‰ûH숃þH‰$H‰L$HÇD$PÇD$p‡žHl$0H‰þºH‰ïè±®ÿÿ…ÀˆÅ‹D$0‰D$,ƒèƒø‡‹T$,H‰ÞH‰ïHÁâè‚®ÿÿ…Àˆ–‹D$0·Ðf‰D$P9Â…#‹D$4·Ðf‰D$R9Â…b‹D$8·Ðf‰D$T9Â…¦D‹d$ H‰A1ÀÿQƒÈÿéÿÿÿ€H‹K(H…ÉHD ¦.HƒytŒHã ÇH‹y H÷ H‰ÎH‰AHê H‰A1ÀÿQƒÈÿéÈþÿÿH‹K(H…ÉHD ´¥.Hƒy„;ÿÿÿH’ ÇH‹y H¹ H‰ÎH‰AH™ H‰A1ÀÿQƒÈÿéwþÿÿfH‹K(H…ÉHD a¥.Hƒy„èþÿÿH? ÇH‹y H| H‰ÎH‰AHF H‰A1ÀÿQƒÈÿé$þÿÿ€H‹K(H…ÉHD ¥.Hƒy„þÿÿHç ÇH‹y H: H‰ÎH‰AHî H‰A1ÀÿQƒÈÿéÌýÿÿH‹K(H…ÉHD ¸¤.Hƒy„?þÿÿH– ÇH‹y Hò H‰ÎH‰AH H‰A1ÀÿQƒÈÿé{ýÿÿH_ ÇH‹y HÉ H‰ÎH‰AHf H‰A1ÀÿQ¸ÿÿÿÿéBýÿÿffff.„AVA‰ÖºAUI‰ýATI‰ôUSHƒìH‰ç莩ÿÿ…Àˆ3‹,$…턊‰îL‰ï1Ûè¯öÿÿ…ÀtéÄfDƒÃ9݆šH ;úÿÿE1ÀL‰êD‰öL‰çè:úÿÿ…ÀtÖƒøô„åƒøïf„‚M‹L$(M…ÉLD ’£.Iƒyt6HT AÇI‹y A‰è‰ÙH I‰AHx L‰ÎI‰A1ÀAÿQL‰ïèöÿÿHƒÄ¸ÿÿÿÿ[]A\A]A^ÃHƒÄ1À[]A\A]A^Ãf„M‹L$(H‹ £.M…ÉIEÉHƒy„eÿÿÿHË ÇH‹y HŒ H‰ÎH‰AHò H‰A1ÀÿQé,ÿÿÿfDM‹L$(H‹ ¼¢.M…ÉIEÉHƒy„ ÿÿÿHs ÇH‹y H‹ H‰ÎH‰AHš H‰A1ÀÿQM‹L$(éÔþÿÿI‹L$(H…ÉHD a¢.Hƒy„ÿÿÿH ÇH‹y HÑ H‰ÎH‰AHF H‰A1ÀÿQéÍþÿÿI‹L$(H…ÉHD ¢.Hƒy„²þÿÿHÐ ÇH‹y Hèÿ H‰ÎH‰AH÷ H‰A1ÀÿQé~þÿÿI‹L$(H…ÉHD á.Hƒy„cþÿÿH ÇH‹y H# H‰ÎH‰AH¨ H‰A1ÀÿQé/þÿÿH…ÿ„Ó€H‹GH…ÀtRH‹I‰ÀH‰Á·rë/„H9Èt'H‹PI‰PH‰HI‹PH…Òt!H‹ ·qH‰ÁH‰ÐƒæpuÔH‹PI‰ÀH‰ÈH…ÒußH‰GH‹GH…ÀtSH‹I‰ÀH‰Á·rë0f„H9Èt'H‹PI‰PH‰HI‹PH…Òt!H‹ ·qH‰ÁH‰ÐƒæpuÔH‹PI‰ÀH‰ÈH…ÒußH‰GH‹PH…ÿ…4ÿÿÿóÃfH…öStH…ÿt ‹W0;V0tD1À[DÀƒúDw^…Ò@tC‹^4I‰úE1ÛE‹J4A9Ùt$H‰ñ1ÀëDD‹A8HƒÁE9ÁtƒÀ9Âwì9Ât¨AƒÃIƒÂD9ÚwÆ‹GH;FH[”À¶ÀÃDH‹WH‹FH…Ò@”ÆH…À”Á@„öu3fD„É…`ÿÿÿ‹ ;…Vÿÿÿƒùt&H‹RH‹@H…Ò”ÁH…Àuӄɸ„.ÿÿÿ[Ã@‹J;HftÐ1À@éÿÿÿff.„H…öÇD$Èÿÿÿÿ„wH x ¸ÿÿÿÿƒ>v ¸ÿÿÿÿÃD‹Hc‘HÊÿâD…ÀfD~ÛPÿH˜LcÂF‹L„ÈD;L„È•À¶ÀB‰D„Èf„H‹vH…öt7‰Ð룅À~¡PÿH˜H‹vLcÂF‹L„ÈD;L„È”ÀH…ö¶ÀB‰D„ÈuÏfD‹D$ÈÃ…ÀŽeÿÿÿPÿH˜LcÊF‹DŒÈD3D„ÈF‰DŒÈë—€…ÀŽ=ÿÿÿPÿH˜LcÊF‹DŒÈD#D„ÈF‰DŒÈélÿÿÿ@…ÀŽÿÿÿPÿH˜LcÊF‹DŒÈD D„ÈF‰DŒÈéDÿÿÿ@ƒøÿ„ìþÿÿHcÐE1Àƒ|”ÈA”ÀD‰D”ȉÂéÿÿÿ@ƒø „ÄþÿÿD‹NL‹‡¨PHcÂAƒéO‹ÈE‹@D‰D„Èéèþÿÿ¸ÿÿÿÿÃf‹…Àu ¸êÿÿÿÃ@;BxwñH‹ŠÈH‹’¨ƒèH‰<ÁH‰4Â1ÀÃffffff.„H…öt0·„H‹f9u·Pf;Wu ·Pf;WtH‹vH…öuÛ1ÀÀHƒÀ@ÀUH‰ÕSH‰óHƒìH…ö„«H…ÿ„¢H…Ò„™è³íÿÿH…Àu?fD郉Ñá€ù€ftIâ€ú€tO·sH‰ÇèîÿÿH…ÀtO·P‰Ñá€ù€u»‹H M‰Ñá€ù€u·â€‹H!M ú€u±‹P Uë©f„HƒÄ[]Ãf„H…ÿSH‰ótèÂH‰ßèº1À[ÃfDSH‰ûH‹¿¨H…ÿt蛋{xHÁçèOHƒøH‰ƒ¨À[ÃH…ÿStf.„H‹_ègH…ÛH‰ßuï[fDÀH…ÿStf.„H‹_è7H…ÛH‰ßuï[fDÀATH…ÿUSt{H‰ûE1ä1íëADHÇHÇ@H…틉‹S‰PH‰ÂHEÕM…ätI‰D$H‹[I‰ÄH…Ût5H‰Õ¿è‚H…ÀuµH…íH‰êtDH‹]H‰ïè¤ H…ÛH‰Ýuì1Ò[]H‰ÐA\ÃfH‰\$àH‰l$èH‰óL‰d$ðL‰l$øHƒì(I‰ý¿Xè(H…ÀH‰ÅI‰Äti1À¹ H‰ïH…ÛóH«tWH‹{è"ÿÿÿH…ÀH‰EtaH‰ÆL‰ïènûÿÿ‰E‹C0…À‰E0t%ƒø¾Fð1À1Òf‹L4ƒÂA‰L4HƒÀ9Öwì‹CHA‰D$HH‰èH‹\$H‹l$L‹d$L‹l$ HƒÄ(ÃH‰ï1íèÎ ëØfff.„AUI‰ÍATI‰ÔUH‰ýSH‰óHƒìH…Òuë3M‹d$PM…ät&L‰æH‰ßè»ùÿÿ…ÀtçAÇEHƒÄL‰à[]A\A]ÃAÇEH‰ÞHƒÄ[H‰ï]A\A]éÃþÿÿSH‰ðH‰ÖH‰ÂH‰ûHƒìHL$ èuÿÿÿH…Àt‹T$ …ÒtH‹“ÈH‰PPH‰ƒÈHƒÄ[ÃATI‰üUSH‹¯ÈH…턦f„H‹uL‰çè$úÿÿ;E‰Ãt}ƒøÿ‰E„‰H‹EH…Àuë.fDH‹H‹@fJ€H…Àt…ÛêH‹H‹@fbÿH…ÀuêH‹EH…Àuë-DH‹H‹@fbÿH…Àt…ÛuêH‹H‹@fJ€H…ÀuêH‹mPH…í…cÿÿÿ[]1ÀA\Ã@H51 ¿1ÀèÚé_ÿÿÿAVHF4AUI‰ý1ÿATUSH‰óHƒì HÇF4ÇF0ÇFHH‹vHÇ@Ç@H‰õH‰ðf„H‰ÂH‹@H‰ùH‰×H…Àuîƒ:„ìH…ö„!‹K0ëfDH‹mH…ít&ƒ}fuîƒùD‹E†ùH‹mƒÁ‰K0H…íuÜfƒù‰È‡j…ÉtNyÿI‹•¨1íL ½H‰çf.„D‹D+4AƒèN‹ÂE‹@D‰/HƒÅL9Íuâ½Óå…í„ñ1íA¼…Àt?I‹½¨H‰Ø1É„‹P4E‰àAÓàƒêA…èH‹×A•ÀƒÁE¶ÀHƒÀD‰B9K0wÕL‰ïè øÿÿƒøÿA‰Æ„Å…Àt D‰à‰éÓà CH‹C0D‰âƒÅ‰ÁÓâ9êvbH‹së„@…ÉtBD;C4„ÚþÿÿH‰Ú1ÀDëfD‹z8HƒÂA9øtƒÀ9Áwí9Á…­þÿÿƒùf‡Áþÿÿ‰ÈƒÁD‰Dƒ4‰K0éþÿÿ…Àt1I‹•¨H‰ç1À1ÉfD‹t4‹,ƒÁHƒÀƒîH‹4ò‰n9K0wã1ÀHƒÄ []A\A]A^ÃH5e ¿1Àè¹×HƒÄ D‰ð[]A\A]A^ÃH…ÉtAH‹CH‹SHÇAH‰SH‰CH‹S(H‹C H‰S H‰C(è§H‹sH‰õéÖýÿÿ‹K0éþÿÿH5´ ¿1ÀèP׃Èÿéoÿÿÿ„H‰\$ÐH‰l$ØH‰ËL‰d$àL‰l$èI‰üL‰t$ðL‰|$øHƒìxH|$0H‰T$HǺH‰õèz›ÿÿ‰Â¸ÿÿÿÿ…ÒxhD‹l$01ÀE…ít\H‰\$L‰d$M´$°HÇD$ HÇD$(1ÛL|$ëfDƒÃA9ÝvHA‹´$XH IM‰øL‰òH‰ïè ìÿÿ…Àt×H‹\$HH‹l$PL‹d$XL‹l$`L‹t$hL‹|$pHƒÄxÃ@H‹T$ H‹L$H‰ëÊH‰\$ÐH‰l$ØH‰óL‰d$àL‰l$èH‰ÍL‰|$øL‰t$ðHƒì8·FH‹9I‰ÕL‹yL§°¨ptwHÇèÃäÿÿH…À…JM…ÿ€„ H‰ÞL‰çèOåÿÿH…ÀI‰Æt?·sH‰ÇèËåÿÿH…ÀtfDé M‹M…ÿ„šM;7€uæfDH‰ÞL‰êL‰çè:éÿÿH…ÀH‰Ã„øHÇ@¿è\H…ÀtjHÇ@Hƒ}H‰t5H‹UH‰BH‰E1ÀH‹\$H‹l$L‹d$L‹l$ L‹t$(L‹|$0HƒÄ8Ã@H‰EëÍf.„H5á ¿1ÀèýÔH‹}èÔ÷ÿÿHÇE¸ÿÿÿÿëžDH‰ÞL‰çè•ãÿÿH…À„4ÿÿÿH5- ¿1Àè¹Ô뺀H5¡ ¿1ÀèÔëžH5Ì ¿1ÀèˆÔë‰H5/ ¿1ÀèsÔéqÿÿÿfffff.„H‰\$ÐL‰d$à¿L‰t$ðH‰l$ØI‰öL‰l$èL‰|$øHƒìHI‰ÔèH‰Ã¸ÿÿÿÿH…ÛtAH‰çº L‰æHÇ芘ÿÿ…Àx‹$‰‹D$ƒø‰Cv=E1ÿ1ÒH‰ÞL‰ÿèEöÿÿ¸ÿÿÿÿH‹\$H‹l$ L‹d$(L‹l$0L‹t$8L‹|$@HƒÄHÃDD‹l$A}èšH…ÀH‰ÅI‰Çt­E‰íL‰æH‰ïL‰êè˜ÿÿ…Àx˜H‰ÚH‰îL‰÷BÆD-èûþÿ‰Â1À…ÒtŽéwÿÿÿf„H…ÿSH‰ût7H‹èþõÿÿH‹{ è5ÿÿH‹{(è,ÿÿH‹{èöÿÿH‹{[é öÿÿf„[Ãfffff.„AWAVAUI‰ýATUSH‰ÓºHƒìXH|$@H‰t$H‰Þèe—ÿÿ…Ày¸ÿÿÿÿHƒÄX[]A\A]A^A_ÃD‹D$@A‹µ˜I½°‰D$,èmäÿÿ…ÀuÈ‹|$,…ÿŽõLd$0ÇD$HÇD$ €¿XèfH…ÀH‰ÅtH‰Ç¹ 1ÀóH«ºH‰ÞL‰çèÑ–ÿÿ…Àˆß‹D$0ºH‰ÞL‰ç‰Eè²–ÿÿ…ÀˆÀ‹D$0…ÀŽH‰l$E1ÿL‰íE1öA‰Åë.;Mx‡ÏE…ö…¶H‹T$H‰BAƒÆE9õŽÐI‰ÇºH‰ÞL‰çèM–ÿÿ…Àˆ­¿è«H…À„šHÇ@‹T$0‰‹L$4ƒêƒú‰HvH‹l$H5‰ H‰Â¿1ÀH‰$èvÑH‹$H‰×èšH‰ïèþÿÿH‰ïèŠHƒÄX¸ÿÿÿÿ[]A\A]A^A_ÃfDI‰GéJÿÿÿ€H‹l$H‰ÂH5a 뙀H‹l$ë§I‰íH‹l$A‹u…öupHU1ÉH‰ÞL‰ïè¯ùÿÿ…ÀuH‹MHUH‰ÞL‰ïè˜ùÿÿ…À…fÿÿÿ‹L$…Éu(H‹D$H‰(ƒD$H‰l$ ‹D$9D$,(þÿÿ1ÀéÅýÿÿH‹T$ H‰jPëÕDHu H‰ÚL‰ïèá?ÿÿ…À…ÿÿÿHu(H‰ÚL‰ïèÊ?ÿÿ…Àt–é÷þÿÿUSHƒìH…ÿt!H‰ûfH‹kPH‰ßèäüÿÿH‰ßèlH…íH‰ëuäHƒÄ[]Ãffff.„SH‰ûH‹¿¨H…ÿtè;H»°èOâÿÿH‹»È[é’ÿÿÿfHƒìHLJ¨HLJÈHǰèêàÿÿƒøÀHƒÄ÷ÐÃH…ÿSH‰ût'HèŽH‹{ è•ÿÿH‹{ è¼H‰ß[é³[Ãfffff.„1À¹SH‰ûóH«¿(èHH‰ÇH‰C ¸ÿÿÿÿH…ÿtè">ÿÿ1À[ÃAUI‰ÍATI‰ÔUH‰õSH‰ûHƒìHt$HÇD$HÇ$è¯ …ÀˆÇA‹$H‹…ÀH‰ßH‹t$ƒêH‹Ðèx…Àˆ A‹T$H‹…°H‰ßH‹t$ƒêH‹Ðè…Àx|A‹T$H‹…¸H‰ßH‹t$ƒêH‹Ð謅ÀxX‹E…Àt*H‰áL‰âH‰îH‰ßèÿÿ…Àxî I‰@1ÀAÿPéyýÿÿf„Hƒ|$L‹D$LDý„.Iƒx„RýÿÿH AÇI‹x L‰éHz L‰ÆI‰@HÞí I‰@1ÀAÿPéýÿÿf„Hƒ|$L‹D$LD„.Iƒx„òüÿÿH» AÇI‹x H‰éH L‰ÆI‰@H~í I‰@1ÀAÿPé¹üÿÿf„Hƒ|$L‹T$LD=„.Iƒz„’üÿÿH[ AÇI‹z M‰éI‰èL‰áI‰BH"í H¥ L‰ÖI‰B1ÀAÿRéSüÿÿH‰\$àL‰l$øH‰ÑH‰l$èL‰d$ðHƒì8HT$HÇD$è2úÿÿH‹\$A‰ÅH…Ût}H{HkÇCÇCÇLc(è€H{0HÇCHÇEHÇEè_HÇCHÇEHÇEHÇC(IÇD$IÇD$H‹\$H‰ßè`õD‰èH‹\$H‹l$ L‹d$(L‹l$0HƒÄ8Ã@H‰\$ÐH‰ûIxH‰l$ØL‰d$àH‰õL‰l$èL‰t$ðI‰ÔL‰|$øHƒìHI‰ÏM‰ÆHÇD$è½H…ÀI‰Å„L‰òL‰þH‰ÇècZHT$L‰îH‰ßCÆD5èý…ÀˆH‹L$L‰âH‰îH‰ßèòøÿÿ…Àˆ‚L‰ïè¢ôH‹|$èÈ1ÀH‹\$H‹l$ L‹d$(L‹l$0L‹t$8L‹|$@HƒÄHÃH‹ 9‚.H…ÛHEËHƒyt3H ÇH‹y H à H‰ÎH‰AHë H‰A1ÀÿQ@H…ÛHDí.Hƒ{t/HÏ ÇH‹{ H– H‰ÞH‰CHÖê H‰C1ÀÿSL‰ïèßóH‹|$è¸ÿÿÿÿé5ÿÿÿH‹Ãfff.„H‹GÃff.„H‹GÃff.„H‹GÃff.„H‰\$ðH‰l$øH‰ûHƒì¿ H‰õè"H…Àt4HÇHÇ@HÇ@HÇ@H‰E1ÀH‹\$H‹l$HƒÄÃH‹ ò€.H…Û¸ÿÿÿÿHEËHƒyt×H8 ÇH‹y H_ H‰ÎH‰AHÏé H‰A1ÀÿQƒÈÿë£ff.„H…ÿSH‰ût/H‹?è¿òH‹{è¶òH‹{è­òH‹{è¤òH‰ß[é›ò[ÃfDH‰\$ÐH‰l$ØL‰d$àL‰l$èI‰ÕL‰t$ðL‰|$øI‰þHƒìXH‹>I‰÷è /I‹A‰Äè/I‹‰Åèö.I‹‰ÃH…ÿ„§DåÝèÝ.ºÅÕDeMcäL‰çèÕH…ÀH‰Ã„bI‹GH…À„|H‰D$I‹GLÿ M‹HÇÁÿÿÿÿºL‰æH‰ßH‰D$I‹GH‰$1Àèã¾9Å|…Àx{I‰]1ÀH‹\$(H‹l$0L‹d$8L‹l$@L‹t$HL‹|$PHƒÄXÃfDåºÅé[ÿÿÿI‹GM‹L§þ HÇÁÿÿÿÿºL‰æH‰ßH‰D$I‹GH‰$1Àèl¾9Å}‰„H‹ .M…öIEÎHƒyt/Hôÿ ÇH‹y HQþ H‰ÎH‰AHëç H‰A1ÀÿQM…öLD5Á~.Iƒ~t1H³ÿ AÇI‹~ Hiþ L‰öI‰FH©ç I‰F1ÀAÿVH‰ßè±ð¸ÿÿÿÿéòþÿÿH‹ p~.M…öIEÎHƒyt–H[ÿ ÇH‹y HCÜ H‰ÎH‰AHRç H‰A1ÀÿQébÿÿÿfffff.„H‰\$àH‰l$èH‰óL‰d$ðL‰l$øHƒì8H…öH‰ýI‰ÔHÇD$„Ht$è“üÿÿ…ÀˆßH‹;L‹l$èn*H…ÀI‰E„H‹{L‹l$èS*H…ÀI‰EtjH‹{L‹l$è<*H…ÀI‰EtSH‹{H…ÿtH‹\$è *H…ÀH‰Ct7H‹D$I‰$1ÀH‹\$H‹l$ L‹d$(L‹l$0HƒÄ8ÃHÇ1ÀëÙDH‹ 9}.H…íHEÍHƒyt/Hdþ ÇH‹y H Û H‰ÎH‰AHæ H‰A1ÀÿQH…íHD-ñ|.Hƒ}t0H#þ ÇEH‹} HÁü H‰îH‰EHÙå H‰E1ÀÿUH‹|$èüÿÿ¸ÿÿÿÿé:ÿÿÿfDH‰\$àH‰l$èH‰ûL‰d$ðL‰l$øH‰×Hƒì(H‰õI‰Ôè)H…ÀI‰Åt/H‹}è–îL‰m1ÀH‹\$H‹l$L‹d$L‹l$ HƒÄ(ÀL‹9|.H…Û¸ÿÿÿÿLEÃIƒxtÆHŸý AÇL‰áHü L‰ÆI‰@Hå I‰@I‹@ H‰Ç1ÀAÿP¸ÿÿÿÿ누H‰\$àH‰l$èH‰ûL‰d$ðL‰l$øH‰×Hƒì(H‰õI‰ÔèW(H…ÀI‰Åt/H‹}èÖíL‰m1ÀH‹\$H‹l$L‹d$L‹l$ HƒÄ(ÀL‹y{.H…Û¸ÿÿÿÿLEÃIƒxtÆHÿü AÇL‰áHŽû L‰ÆI‰@HVä I‰@I‹@ H‰Ç1ÀAÿP¸ÿÿÿÿ누H‰\$àH‰l$èH‰ûL‰d$ðL‰l$øH‰×Hƒì(H‰õI‰Ôè—'H…ÀI‰Åt/H‹}èíL‰m1ÀH‹\$H‹l$L‹d$L‹l$ HƒÄ(ÀL‹¹z.H…Û¸ÿÿÿÿLEÃIƒxtÆH_ü AÇL‰áHþú L‰ÆI‰@H–ã I‰@I‹@ H‰Ç1ÀAÿP¸ÿÿÿÿ누H‰\$àH‰l$èH‰ûL‰d$ðL‰l$øH‰×Hƒì(H‰õI‰Ôè×&H…ÀI‰Åt/H‹}èVìL‰m1ÀH‹\$H‹l$L‹d$L‹l$ HƒÄ(ÀL‹ùy.H…Û¸ÿÿÿÿLEÃIƒxtÆH¿û AÇL‰áHnú L‰ÆI‰@HÖâ I‰@I‹@ H‰Ç1ÀAÿP¸ÿÿÿÿ누H‰\$ÐH‰l$ØH‰ûL‰l$èL‰d$àH=‰× L‰t$ðL‰|$øHƒìHHÇD$¹ H‰õó¦I‰Õu,HÇ1ÀH‹\$H‹l$ L‹d$(L‹l$0L‹t$8L‹|$@HƒÄHÃHt$H‰ßE1äèÐ÷ÿÿ…Àˆ(H‰ïè°%H…ÀI‰Ä„;:H‰Çèç"H…ÀI‰Æ„{ÆH‹t$L‰âH‰ßèxþÿÿ…ÀˆàIƒÆ¾:L‰÷è¯"H…ÀI‰Ç„CÆH‹t$L‰òH‰ßè€ýÿÿ…Àˆ¨IƒÇ¾:L‰ÿèw"H…ÀH‰Å„ëÆH‹t$L‰úH‰ßèˆüÿÿ…ÀxtH‹t$HUH‰ßè³ûÿÿ…Àx_L‰çèwêH‹D$I‰E1ÀéäþÿÿH‹ 0x.H…ÛHEËHƒyt2H;ù ÇH‹y HÖ H‰ÎH‰AHá H‰A1ÀÿQH…ÛHDåw.Hƒ{t/H÷ø ÇH‹{ H–ø H‰ÞH‰CHÎà H‰C1ÀÿSL‰çè×éH‹|$èýöÿÿ¸ÿÿÿÿé@þÿÿH‹t$L‰úH‰ßè ûÿÿ…À‰)ÿÿÿë†fDè“L‹dw.H…ÛÇLEÃIƒx„\ÿÿÿHeø AÇI‹x H‰éHªö L‰ÆI‰@H8à I‰@1ÀAÿPé#ÿÿÿ1À…ÿHETw.H‹ýv.H‰BÄ‹Ãffff.„H‹GÃff.„H‹GÃff.„H‰wH‰W ÀH‰l$èL‰d$ð¶ÀH‰\$àL‰l$øHìøH‰L$8H …H@L‰D$@L‰L$HH‰÷H)ÈHŒ$ÏH‰õI‰Ôÿà)yñ)qá)iÑ)aÁ)Y±)Q¡)I‘)AèIÿÿÿƒèƒø‡µH‹žv.H‹H‰ïèKÿÿÿH‰ïI‰Åè0ÿÿÿHø M‰èH‰ÁH‰ß¾1Àèä¸H„$H‰áL‰âH‰ß¾Ç$H‰D$HD$ ÇD$0H‰D$苺H„¼ H‰ß¾1À蕸H‹œ$ØH‹¬$àL‹¤$èL‹¬$ðHÄøÃDH‹iu.H‹éFÿÿÿ‹G;Ft1ÀÃDH‹H‹H…Ò@•ÆH…À•Á@„ö‰Ït fD„Éu þƒö@¶ÆÃf‹ ;uÂH‹HH9Ju¸H‹RH‹@H…Ò•ÁH…À‰Î@•ÇuÇ þƒö@¶ÆÃffff.„‹G;Fr`H‹H‹fH…ÒtH…Àt‹ 9ws&H…ÒH‹@€uã1ÀH…Ò”ÀfDÀH‹JH‰ÎH#pH9ñuH‹@H‹Rë®fD1ÀÃD9wr=H‹H…Àt5‹9Ör/‰×‰ñHƒÇ@H9Ïvë&fD‹9Ör‰×HƒÇ@H9ÏwH‹@H…Àuæ1ÀÃH‹@‰ñ)ÑHÓèƒàÃf„UH‰ýSHƒìH…ÿt3H‹?H…ÿu ë„H‰ßH‹_èæH…ÛuîÇEHÇEHƒÄ[]ÄAVAUATA‰ôAƒäÀUE‰åSH‰ûHƒìAƒÅ@„LH‹/H…í„ЋE9Æ‚ʼnÁ‰÷E1öHƒÁ@H9Ïsë<@‹E9Ær‰ÁHƒÁ@H9ùw&I‰îH‹mH…íuâ…Ò…‘1ÀHƒÄ[]A\A]A^Ã…ÒuT‰ñ)ÁHÇÀþÿÿÿHÓÀH#EH…ÀH‰EuÏH‹EH…À„M…ö„ I‰FH‰ïè'åHƒÄ1À[]A\A]A^ĉñ)Á¸HÓàH EHƒÄ[]A\A]1ÀA^ÃE1öégÿÿÿ¿‰t$è›óH‰Â‹t$¸ôÿÿÿH…Ò„Nÿÿÿ1À¹H‰×ó«‰ñ¸D‰"D)áHÓàH…íH‰B„¦M…ö„ŒI‹FH‰BI‰V1Àé ÿÿÿH‹Jr.¸êÿÿÿHƒ{„òþÿÿHSö H=BÛ ‰ñÇHô H‰ÞH‰CH‰{1ÀH‹{ ÿS¸êÿÿÿé·þÿÿÇCH‰éñþÿÿM…öDtçA‹ƒÂ@‰SéÕþÿÿH‹H‰BH‰1ÀéþÿÿD‰kéQÿÿÿfffff.„AWAVE1öAUATUH‰õSH‰ûHƒìH‰T$HÇHÇGL‹.L‹"€M…íA•ÇM…ä•D$u/E„ÿu*H‹T$‹B9ECE‰CHƒÄ1À[]A\A]A^A_À¿èòH…À„ÕHÇHÇ@HÇ@€|$tE„ÿt A‹UA;$txM…äD„ŠE„ÿ€t6A‹UA‹ $9Ês.‰I‹UM‹mH‰PM…öHÇ@t0I‰FI‰Æé3ÿÿÿA‹ $I‹T$M…öM‹d$‰HÇ@H‰PuÐH‰ëÏf‰I‹T$I UM‹d$M‹mH‰Pë¢fDA‹Uëˆf.„H‰ßè8üÿÿHƒÄ¸ôÿÿÿ[]A\A]A^A_Ã@SH‰ûH‰òH‰ÞHƒìH‰çèjþÿÿ‰Â¸ÿÿÿÿ…ÒuH‰ßè÷ûÿÿH‹$H‰‹D$‰C1ÀHƒÄ[ÃH‰\$ÐH‰l$غ L‰l$èL‰|$øH‰ýL‰d$àL‰t$ðHƒìhL|$HÇHÇGI‰õL‰ÿè'uÿÿ…À‰ÃxþÿÿH5©ð ¹@¿1À舮L‰çè°ßé þÿÿH5Ñð ¿1Àèe®ëÛH5ð ¿1ÀèM®ëÃA‹$H5åð ¿è3®ë©H5 ñ ¿1Àè®ë“ff.„AUI‰õATUSH‰ûHƒìHÇHÇGH‹.H…ítYE1äë@I‰D$H‹mI‰ÄH…ít?¿èµíH…ÀtHHÇHÇ@M…äHÇ@‹U‰H‹UH‰Pu·H‰ë·fA‹E‰CHƒÄ1À[]A\A]Ã@H‰ßè`øÿÿHƒÄ¸ôÿÿÿ[]A\A]ÃH‰l$èH‰õH‰\$àL‰d$ðL‰l$øI‰üHƒì(H‰ÖH‰ïH‰ÓI‰Í衼ÿÿH…Àt ·S·Hf1Ñy_H‰ÞL‰êH‰ïèÁÀÿÿH…ÀH‰Ã„•HÇ@¿èãìH…À„zI‹$H‰H‰PI‰$1ÀH‹\$H‹l$L‹d$L‹l$ HƒÄ(Àæƒú| ƒú~#ƒút.H‹ §k.Hƒy…|¸ÿÿÿÿë¼DA‹U P1Àë¬DA‹U!P1ÀëœDH‹ ik.HƒytÆH{ô ÇH‹y H¸ß H‰ÎH‰AHRÔ H‰A1ÀÿQ¸ÿÿÿÿéPÿÿÿf„H9ô ÇH‹y H8ï H‰ÎH‰AHÔ H‰A1ÀÿQ¸ÿÿÿÿéÿÿÿ€AWL~AVAUI‰ÍATI‰ÔUSHƒìH·D·FH‹‡øH‹¿0·ÊE·ðHƒéIƒîJ‹ðH‹,È·FH…íf‰D$4·Ff‰D$6•ÀH…Û•Ãt„À…³IÁæ„ÀN47„ÃI‹.1ÛH…ít‹]HD$0f‰T$0A‹vH‰D$ë ƒÃH‰èH‰Å9ós[‹EH‹M‰Ú)ÂH£Ñs*H‹T$CL‰ùL‰îL‰çf‰D$2è§ýÿÿ…À…O‹EA‹v‰À‰ÚHƒÀ?H9Âu«H‹EH…Àt¢‹ë¤fD1ÀHƒÄH[]A\A]A^A_ÀL‰ùH‰òL‰çL‰îèOýÿÿHƒÄH[]A\A]A^A_ÃHÁá„ÛH H‰L$(„“H‹)1ÛH…ít‹]H‹T$(fD‰D$2Lt$0‹rëf„ƒÃH‰èH‰Å9óƒwÿÿÿ‹EH‹M‰Ú)ÂH£Ñs,CL‰ùL‰òL‰îL‰çf‰D$0èÅüÿÿ…À…mH‹T$(‹E‹r‰À‰ÚHƒÀ?H9Âu¥H‹EH…Àtœ‹ëžH‹t$(ÇD$H‹6H…öH‰t$ t‹‰D$H‹T$(Ht$0H‰t$‹ZfD9\$ƒÞþÿÿH‹T$ H‹t$ ‹‹T$H‹N)ÂH£Ñƒ¥I‹.1ÛH…ít‹]·D$A‹VƒÀf‰D$ëfDƒÃH‰èH‰Å9Ósc‹EH‹u‰Ù)ÁH£Îs0·T$CL‰ùL‰îL‰çf‰D$2f‰T$0H‹T$èÍûÿÿ…Àuy‹EA‹V‰À‰ÙHƒÀ?H9Áu¥H‹EH…Àtœ‹ëž„H‹t$ H‹T$(‹‹Z‹T$‰ÀHƒÀ?H9ÂtƒD$H‹D$ H‰D$ éÿÿÿH‹t$ H‹FH…ÀtÞ‹‰T$ëà„¸ÿÿÿÿéÐýÿÿfDAUI‰ýH‰ÏATI‰ÔUH‰ÍSH‰ó¾ Hƒìè=ºÿÿ…ÀuB1ÀH…ÛIÇ$ufë$fDH‹[H…ÛtH‹3H‰éL‰âL‰ïèfüÿÿ…ÀtâHƒÄ[]A\A]ÃH‹ 0g.¸ÿÿÿÿHƒytâHð ÇH‹y HzÛ H‰ÎH‰AHÐ H‰A1ÀÿQƒÈÿ뮹 1ÀóH«ÃDHÇHÇGÃH‰\$èH‰l$ðH‰óL‰d$øH‰ýHƒì(¾ H‰×I‰Ôèg¹ÿÿ…Àu3H5H‰âH‰ßL‰$$H‰l$è(¸ÿÿH‹\$H‹l$L‹d$ HƒÄ(Ã@H‹ if.¸ÿÿÿÿHƒytÕH‰ï ÇH‹y H³Ú H‰ÎH‰AHMÏ H‰A1ÀÿQ¸ÿÿÿÿ럀H‰\$èH‰l$ðH‰óL‰d$øHƒìH‰ýI‰Ôèo¶ÿÿH…À„Ö·S·Hf1Ñxi€æƒú|.ƒú$A‹$ P1Û‰ØH‹l$H‹$L‹d$HƒÄÃfDƒút#H‹ ¬e.Hƒy…á»ÿÿÿÿëÇf.„A‹$!P1Ûë²DL‰âH‰ÞH‰ïè"ºÿÿH…ÀuäH‹ fe.Hƒyt¾H˜î ÇH‹y HµÙ H‰ÎƒËÿH‰AHLÎ H‰A1ÀÿQéUÿÿÿ„H‰ÞL‰âH‰ï袺ÿÿ…À‰Ã„5ÿÿÿH‹ e.Hƒy„#ÿÿÿH/î ÇH‹y HLÙ H‰ÎH‰AHæÍ H‰A1ÀÿQéïþÿÿfHùí ÇH‹y HØè H‰Î»ÿÿÿÿH‰AH«Í H‰A1ÀÿQé´þÿÿ€AWAVAUI‰õATUSHƒì8H‹B·L‹"D·wH‹øH‹°0·GHƒéIƒîH‹ÊJ‹òf‰D$$·GH…Ûf‰D$&•ÀH…Ò•Ât„À…²IÁæ„ÀN46„¿I‹.1Û·H…ít‹]f‰D$ A‹vL|$ ëf.„ƒÃH‰èH‰Å9ósS‹EH‹M‰Ú)ÂH£Ñs%CL‰êL‰þL‰çf‰D$"èŒýÿÿ…À…$‹EA‹v‰À‰ÚHƒÀ?H9Âu°H‹EH…Àt§‹ë©1ÀHƒÄ8[]A\A]A^A_ÀL‰êH‰þL‰çè:ýÿÿHƒÄ8[]A\A]A^A_ÃHÁá„ÒH H‰L$„‡H‹)1Û·GH…ít‹]f‰D$"H‹D$Lt$ ‹pë ƒÃH‰èH‰Å9ósƒ‹EH‹M‰Ú)ÂH£Ñs)CL‰êL‰öL‰çf‰D$ è¼üÿÿ…À…TH‹T$‹E‹r‰À‰ÚHƒÀ?H9Âu¬H‹EH…Àt£‹ë¥H‹t$ÇD$H‹6H…öH‰t$t‹‰D$H‹T$Ht$ H‰t$‹ZD9\$ƒîþÿÿH‹T$H‹t$‹‹T$H‹N)ÂH£Ñƒ•I‹.1ÛH…ít‹]D·|$A‹NAƒÇë ƒÃH‰èH‰Å9Ës[‹EH‹u‰Ú)ÂH£Ös)H‹t$CL‰êL‰çfD‰|$ f‰D$"èÔûÿÿ…Àup‹EA‹N‰À‰ÚHƒÀ?H9Âu¬H‹EH…Àt£‹ë¥€H‹T$H‹t$‹‹^‹T$‰ÀHƒÀ?H9ÂtƒD$H‹D$H‰D$éÿÿÿH‹T$H‹BH…ÀtÞ‹0‰t$ëà¸ÿÿÿÿéøýÿÿfDL‰l$èL‰|$øI‰õH‰\$ÐH‰l$ØI‰×L‰d$àL‰t$ðHƒì8ƒ~L‹r0t.1ÀH‹\$H‹l$L‹d$L‹l$ L‹t$(L‹|$0HƒÄ8Ãf„A‹}HvƒïHÁçI¾0èåóÿÿ…À……I‹m1ÛH…ít‹]A‹uëf„ƒÃH‰èH‰Å9ós…‹EH‹M‰ÚA‰Ü)ÂH£Ñs*L‰çA‹uºHÁçI¾(ƒîèÐìÿÿ…Àu$‹EA‹u‰ÀHƒÀ?I9ÄuªH‹EH…Àt¡‹ë£DI‹O8¸ÿÿÿÿH…ÉHD T`.Hƒy„ ÿÿÿHÿê ÇH‹y HŸÔ H‰ÎH‰AH9É H‰A1ÀÿQ¸ÿÿÿÿéÔþÿÿH‰\$èH‰l$ðH‰óL‰d$øHƒì‹†¨I‰üH‰Õ…Àu1ÀH‹$H‹l$L‹d$HƒÄÃDH‹r(º貫ÿÿ…ÀtÔ‹“¨H‹E L‰æƒê‹H‹E0H‹x`è¾ÂþÿH…Àt8‹¨…Òt9Óu ‰˜¨1Àë™L‹E8M…ÀLDr_.Iƒxu\¸ÿÿÿÿéyÿÿÿL‹E8M…ÀLDR_.IƒxtàHtê AÇI‹x L‰áHnã L‰ÆI‰@H7È I‰@1ÀAÿPƒÈÿé'ÿÿÿH8ê AÇI‹x L‰áHLã L‰ÆI‰@HûÇ I‰@1ÀAÿPƒÈÿéëþÿÿH‰\$èH‰l$ðH‰ÕL‰d$øHƒì‹VPI‰üH‰ó…Òu1ÀH‹$H‹l$L‹d$HƒÄÄH‹u(ºèrªÿÿ…ÀtÑ‹SPH‹EL‰æƒê‹H‹E0H‹x@èÁþÿH…Àt5‹PP…Òt9Óu‰XP1ÀëœL‹E8M…ÀLD8^.Iƒxu\¸ÿÿÿÿé|ÿÿÿL‹E8M…ÀLD^.IƒxtàHºé AÇI‹x L‰áHkâ L‰ÆI‰@HýÆ I‰@1ÀAÿPƒÈÿé*ÿÿÿH~é AÇI‹x L‰áHâ L‰ÆI‰@HÁÆ I‰@1ÀAÿPƒÈÿéîþÿÿf„H‰\$èH‰l$ðH‰óL‰d$øHƒì‹N$I‰üH‰Õ…Éu1ÀH‹$H‹l$L‹d$HƒÄÄH‹r(ºè2©ÿÿ…ÀtÑ‹S$H‹EL‰æƒê‹H‹E0H‹xPèAÀþÿH…Àt5‹P$…Òt9Óu‰X$1ÀëœL‹E8M…ÀLDø\.Iƒxu\¸ÿÿÿÿé|ÿÿÿL‹E8M…ÀLDØ\.IƒxtàHúè AÇI‹x L‰áHEá L‰ÆI‰@H½Å I‰@1ÀAÿPƒÈÿé*ÿÿÿH¾è AÇI‹x L‰áHÒà L‰ÆI‰@HÅ I‰@1ÀAÿPƒÈÿéîþÿÿf„H‰\$àH‰l$èH‰ÓL‰d$ðL‰l$øI‰ôHƒì(H‹r(ºH‰ýè¨ÿÿ‰Â1À…Òtw‹3…ö…¿èõÜH…ÀI‰Å„9H‰ïè‘H…ÀH‰Å„…H‹C0H‰îƒ@xH‹xp‹PxA‰UL‰êèWÄþÿ…À…—A‹$H‹CA‹Mƒê‰ A‹D$A‰E1ÀH‹\$H‹l$L‹d$L‹l$ HƒÄ(Ãf„L‹C8M…ÀLDq[.Iƒx„WÿÿÿHoæ AÇI‹x H‰éHôß L‰ÆI‰@HRÄ I‰@1ÀAÿPéÿÿÿDH‹K8H…ÉHD [.Hƒyt/Hæ ÇH‹y H·ß H‰ÎH‰AHÄ H‰A1ÀÿQL‰ïè ÍH‰ïè͸ÿÿÿÿé'ÿÿÿf„H‹K8¸ÿÿÿÿH…ÉHD ¬Z.Hƒy„ÿþÿÿHªå ÇH‹y H÷Î H‰ÎH‰AH‘à H‰A1ÀÿQ¸ÿÿÿÿéÆþÿÿ„H‹K8H…ÉHD QZ.Hƒyt/HSå ÇH‹y H Î H‰ÎH‰AH:à H‰A1ÀÿQL‰ïèC̸ÿÿÿÿégþÿÿf„H‰\$àH‰l$èH‰óL‰d$ðL‰l$øHƒì(‹FI‰üH‰Õ…À…4D‹FE…À…‹H‹u(ƒêH‹†¸H‹<к虥ÿÿ…À„á‹}…ÿ…L‰çè.H…ÀI‰Å„r¿(èhÚH…ÀI‰Ä„HÇHÇ@HÇ@HÇ@HÇ@ ‹C…À„ƒø…7‹SH‹Eƒê‹A‰$‹C L‰âL‰îA‰D$ H‹E0H‹xPè•Áþÿ…À…M‹H‹EA‹ $ƒê‰ AöD$ t%H‹}0A‹4$ºHÇHè åÿÿ…À…´@1ÀH‹\$H‹l$L‹d$L‹l$ HƒÄ(ÃDƒøtÛƒø…Ëþÿÿ‹V€é¾þÿÿL‹E8M…ÀLDqX.Iƒx„ÐþÿÿHoä AÇI‹x L‰áHÝ L‰ÆI‰@HRÁ I‰@1ÀAÿPé—þÿÿD‹H‹Eƒê‹A‰$éóþÿÿH‹M8¸ÿÿÿÿH…ÉHD üW.Hƒy„3ÿÿÿHúã ÇH‹y HGÌ H‰ÎH‰AHáÀ H‰A1ÀÿQ¸ÿÿÿÿéúþÿÿ„H‹M8H…ÉHD ¡W.Hƒyt/H£ã ÇH‹y H?Ü H‰ÎH‰AHŠÀ H‰A1ÀÿQL‰çè“ÉL‰ïè‹É¸ÿÿÿÿé“þÿÿH‹M8H…ÉHD BW.Hƒyt/HDã ÇH‹y H‘Ë H‰ÎH‰AH+À H‰A1ÀÿQL‰ïè4ɸôÿÿÿé<þÿÿH ãâ H5ËÛ H=÷§ ºnè«rff.„H‰\$àH‰l$èH‰ÕL‰d$ðL‰l$øI‰üHƒì(¿I‰õè•×H‰Ã¸ÿÿÿÿH…Ût3L‰çÇè*H…ÀI‰ÄtBA‹EH‹}H‰ÚL‰æ‰ƒEèù¾þÿ…ÀuH‹\$H‹l$L‹d$L‹l$ HƒÄ(Ã@L‰çèpÈH‰ßèhȸÿÿÿÿëÌH‰\$àH‰l$èH‰óL‰d$ðL‰l$øHƒì(‹FI‰üH‰Õ…À… D‹VE…Ò„ßH‹u(ºL‰çèÖ¡ÿÿ…À„ÆD‹ME…É…éL‰çèiH…ÀI‰Å„Ü¿(è£ÖH…ÀI‰Ä„HÇHÇ@HÇ@HÇ@HÇ@ ‹CH‹U0A‰D$‹C A‰D$ ‹BXƒÀ=ÿÿ‰BXA‰$‡‹H‹ML‰îH‹zPAÇD$L‰âƒë‰™èÀ½þÿ…À…ïAöD$ …Œ@1ÀH‹\$H‹l$L‹d$L‹l$ HƒÄ(ÃDƒøtÛé÷þÿÿfDL‹E8M…ÀLDÙT.Iƒx„ýþÿÿHwá AÇI‹x L‰áHšÙ L‰ÆI‰@Hº½ I‰@1ÀAÿPéÄþÿÿDH‹}0A‹4$ºHÇHè·àÿÿ…À„WÿÿÿH‹M8H…ÉHD `T.Hƒy…}D¸ÿÿÿÿé0ÿÿÿfDL‰ïèhÆL‰çè`ÆH‹M8H…ÉHD !T.HƒytÊHÃà ÇH‹y HÙ H‰ÎH‰AH ½ H‰A1ÀÿQ¸ÿÿÿÿéËþÿÿH‹M8H…ÉHD ÒS.Hƒy„wÿÿÿHpà ÇH‹y HÈ H‰ÎH‰AH·¼ H‰A1ÀÿQƒÈÿézþÿÿH‹M8H…ÉHD S.Hƒyt/H#à ÇH‹y HÐÇ H‰ÎH‰AHj¼ H‰A1ÀÿQL‰ïèsŸôÿÿÿé#þÿÿL‰ïèaÅL‰çèYÅH‹M8H…ÉHD S.Hƒy„¿þÿÿH¸ß ÇH‹y H´× H‰ÎH‰AHÿ» H‰A1ÀÿQƒÈÿéÂýÿÿHß ÇH‹y HÙ× H‰ÎH‰AHÈ» H‰A1ÀÿQƒÈÿé‹ýÿÿH‰\$àH‰l$èH‰ÓL‰d$ðL‰l$øI‰ôHƒì(H‹r(ºH‰ýèažÿÿ…ÀtqD‹E…Û…¿èGÓH…ÀI‰Å„ÃH‰ÇèÓØþÿH‰ïèÛþH…ÀH‰Å„©A‹$L‰êH‰îA‰EA¶D$AˆEH‹C0ƒ€˜H‹¸èºþÿ…Àuv1ÀH‹\$H‹l$L‹d$L‹l$ HƒÄ(ÃL‹C8M…ÀLDÑQ.Iƒx„eÿÿÿH/Ý AÇI‹x H‰éHÓÖ L‰ÆI‰@H²º I‰@1ÀAÿPé,ÿÿÿD1íH‹K8H…ÉHD wQ.Hƒyt/HÙÜ ÇH‹y HÆÅ H‰ÎH‰AH`º H‰A1ÀÿQL‰ïè¹ÕþÿL‰ïèaÃH‰ïèYøÿÿÿÿé%ÿÿÿffffff.„H‰l$àL‰d$èH‰ÕL‰l$ðH‰\$ØI‰õL‰t$øHƒì(H‹r(ºI‰üèÌœÿÿ…À„dD‹uE…ö…ÿ¿8è­ÑH…ÀH‰Ã„)1À¹H‰ßóH«Ls¾ L‰÷èƒiÿÿ…À…#A‹EL‰ç‰H‹E0ƒ@8èýH…ÀI‰Ä„H‹E0H‰ÚL‰æH‹x0èæ¸þÿ…À…>I‹}H5sùÿÿL‰òèë³þÿ…À…ƒI‹}H…ÿ„¶fDè»üH…ÀH‰C„†H‹U0H‰ÆH‹z è³þÿH…ÀH‰C„¸‹@C 1ÀH‹$H‹l$L‹d$L‹l$L‹t$ HƒÄ(Ã@H‹]8H…ÛHD¹O.Hƒ{„çþÿÿH÷Û ÇH‹{ L‰áHÚÔ H‰ÞH‰CH›¸ H‰C1ÀÿSé°þÿÿ€1Àëƒ@H‹M8H…ÉHD YO.Hƒyt/H›Û ÇH‹y H¨Ã H‰ÎH‰AHB¸ H‰A1ÀÿQH‰ßèKÁ¸ÿÿÿÿé(ÿÿÿH‹M8H…ÉHD O.Hƒyt/HCÛ ÇH‹y HŸÓ H‰ÎH‰AHê· H‰A1ÀÿQH‰ßèóÀL‰çèëÀ¸ÿÿÿÿéÈþÿÿH‹M8H…ÉHD ¡N.Hƒy…¯¸ÿÿÿÿé£þÿÿ@H‹M8H…ÉHD yN.HƒytÜH»Ú ÇH‹y HÈ H‰ÎH‰AHb· H‰A1ÀÿQ¸ÿÿÿÿéPþÿÿH‹m8H…íHD-*N.Hƒ}tHlÚ ÇEH‹} H’Ô H‰îH‰EH· H‰E1ÀH‹KÿUƒÈÿéþýÿÿH0Ú ÇH‹y HŒÒ H‰ÎH‰AH×¶ H‰A1ÀÿQ¸ÿÿÿÿéÅýÿÿfffff.„H‰\$ØH‰l$àH‰ÓL‰d$èL‰l$ðI‰üL‰t$øHƒì(‹H‰õ…ÀtJL‹B8M…ÀLDeM.Iƒxt4HÇÙ AÇI‹x L‰áHšÒ L‰ÆI‰@HJ¶ I‰@1ÀAÿP¿èÎH…ÀI‰Å„dLpHÇHÇ@HÇ@¾ L‰÷èÜeÿÿ…ÀuxL‰çè€ùH…ÀI‰Äth‹EL‰êL‰æA‰EH‹C0ƒ@(H‹x èJµþÿ…À…šH‹}H5×õÿÿL‰òèO°þÿ‰Â1À…Ò…ãH‹$H‹l$L‹d$L‹l$L‹t$ HƒÄ(ÃfDH‹K8H…ÉHD aL.Hƒyt/HÃØ ÇH‹y H°À H‰ÎH‰AHJµ H‰A1ÀÿQL‰ïèS¾¸ÿÿÿÿë‰@H‹K8H…ÉHD L.Hƒyt/HkØ ÇH‹y H§Ð H‰ÎH‰AHò´ H‰A1ÀÿQL‰ïèû½L‰çèó½¸ÿÿÿÿé&ÿÿÿf„H‹K8¸ÿÿÿÿH…ÉHD œK.Hƒy„þþÿÿHú× ÇH‹y Hç¿ H‰ÎH‰AH´ H‰A1ÀÿQ¸ÿÿÿÿéÅþÿÿ„AVI‰ÎAUATI‰üUH‰õH‰ÖH‰ïSH‰ÓHƒìè›ÿÿM…öI‰Åt=H…Àuë>fD·sL‰ïè œÿÿH…ÀI‰Åt#M9uuåHƒÄL‰è[]A\A]A^ÃDH…ÀuæH‰âH‰ÞH‰ïÇ$è{ŸÿÿH…ÀI‰ÅtxM…ötÁL‰p¿è ËH…ÀtI‹L‰(H‰PI‰ëŸM…äLD%‘J.E1íIƒ|$t‰H¯Ô AÇ$I‹|$ HéÏ L‰æI‰D$Hr³ I‰D$1ÀAÿT$éNÿÿÿM…äLD%@J.Iƒ|$„7ÿÿÿH]Ô AÇ$I‹|$ HƒÏ L‰æI‰D$H ³ I‰D$1ÀAÿT$éüþÿÿf„AWAVA‰öAUATU½SHƒìHAƒæH‰|$H‰T$D‹¼$ˆu @öÆ@µ„-M…É„ÕHD$0DiE`L‰ËH‰D$‰ðƒà‰D$ ‰ðƒà€ˆD$'‰ðƒæƒà‰t$,‰D$(ë;fH€E…öu‹t$ …öuw€|$'up‹L$(…ɄЋS!PH‹[H…Ûtd‹H‹L$H‹T$H‹´$€H‹|$fD‰l$0fD‰d$2f‰D$4f‰l$6è´ýÿÿH…À„£E…ÿu†f`ÿE…öDt‹SH‹[ PH…ÛuŸHƒÄH¸[]A\A]A^A_ËT$,…Ò„ž‹H…Ét‹S÷Ò!ʉPéZÿÿÿfD‹S÷Ò‰PéGÿÿÿ@öÆu@öÆt8H…ÿt‹(…ÿu—fD½é¦þÿÿHƒÄH¸ÿÿÿÿ[]A\A]A^A_Ã@„öy ½€é€þÿÿH >Ò H5Í H=2™ º èæcH Ò H5çÌ H=™ º4èÇc€AWAVA¾AUA‰ÍATUSH‰ÓHƒìxAƒåH‰|$PH‰t$8‰L$0L‰D$XL‰L$HH‹¬$Àu öÁ A¶ „ôH…í„Ó‹„$¸H‹T$8HL$`‹|$0D‹¼$°H‰L$ƒÀH°f‰D$H‹D$8ƒç AƒÇH‰T$@‰|$,HH‰D$ ‹D$0ƒà@‰D$4€H…Û„‹EƒèD‹$ƒ·T$‹EH‹t$H‹|$ fD‰|$`fD‰t$ff‰D$df‰T$bèh—ÿÿH…À„ç¹E…íuöD$0 „¼f.„‹PD9â„ÁHƒ|$PH‹\$PHD±F.Hƒ{„ÖH‹|$8H °¯ ·t$dHÎÐ AƒìƒêH‰KÇH‹¨H‰CH‹‡¸H‹{ L‹Lñø·L$bJ‹4àL‹DÈø·L$`H‹LÈøH‰t$H‰ÞH‹ÐHÍ H‰$1ÀÿSHƒÄx1À[]A\A]A^A_ÃDD‹eéêþÿÿ€H‹t$H‹|$@èi–ÿÿH…Àt\H‹L$HH9HtQ¹@éñþÿÿHƒ|$X…Õ€¸HƒÄx[]A\A]A^A_Ã@ƒá@„wA¶@éûýÿÿ€H‹L$XH‹T$H‹´$ÈH‹|$Pè,úÿÿH…À„D‹”$ÐE…Òt>fH€E…íuD‹L$,E…ÉuD‹D$4E…À„ôH‹mD‰`H…í…úýÿÿéeÿÿÿDf`ÿfë¾1ÒöD$0@€„=þÿÿfé3þÿÿƒù„ÿÿÿH‹|$XH9x„"ÿÿÿHƒ|$PH‹\$PHD×D.Hƒ{u1ÀéÿÿÿH‹|$8H Ó­ ·t$dHñÎ ƒêÇH‰KH‹¨H‰CH‹‡¸H‹{ L‹Lñø·L$bH‰ÞL‹DÈø·L$`H‹LÈøH‹ÐHË H‰$1ÀÿS1Àé”þÿÿƒÈÿéŒþÿÿH ¨Î H5 É H=L• ºèè`H ‰Î H5É H=-• º™èá_AWM‰ÇAVAUE1íATI‰ÌUSHƒìhH‹„$°H‰|$8H‰t$PH‰T$XL‰L$@L‹´$¸H‹H…ÀH‰D$HtD‹(H‹´$°‹^A9݃˜H‹T$HH‹t$H‹H‹ND‰ê)ÂH£ÑƒSAöD$t@A‹4$@öÆ„“M‹L$X‹„$¨E‰èH‹T$@H‹|$8D‰éL‰<$‰D$èbùÿÿƒø…ãI‹1íH…Ût‹+A‹v뀃ÅH‰ØH‰Ã9õƒÏ‹H‹K‰ê)ÂH£Ñs>A‹4$@öÆtUM‹L$X‹„$¨A‰èH‹T$@H‹|$8D‰éL‰<$‰D$èìøÿÿƒøuq‹A‹v‰À‰êHƒÀ?H9Âu”H‹CH…Àt‹‹(뀋”$¨L‰|$‰ñL‹Œ$ L‹D$@H‹t$PH‹|$8‰T$ H‹T$XI‹D$X‰l$D‰,$H‰D$è{úÿÿƒøtHƒÄh[]A\A]A^A_ÀH‹t$HH‹”$°‹‹Z‰ÀD‰êHƒÀ?H9Ât0H‹D$HAƒÅA9ÝH‰D$H‚iþÿÿHƒÄh¸[]A\A]A^A_ÃDH‹t$HH‹FH…ÀtÂD‹(ëÆD‹”$¨L‰|$‰ñL‹Œ$ L‹D$@H‹t$PH‹|$8‰T$ H‹T$XI‹D$XD‰l$D‰,$H‰D$è²ùÿÿƒø„Pþÿÿé.ÿÿÿ@H‰\$ðH‰l$øHƒì‹;H‰ûH‰õt1ÀH‹\$H‹l$HƒÄÃDHvHèóËÿÿ…ÀtÙ‹C;EuÑHu H{ èÚËÿÿ…À•À¶Àë¼AWAVI‰ÎAUI‰õATI‰ÔUSH‰ûHƒìHÇHÇFHÇFD‹ZE…Ût‹…Àu1ÀHƒÄ[]A\A]A^A_ÀH‹’ЉƒèI‹¼$€H‹4ÂèÛ£þÿL‹{H‰ÅM…ÿt¿A‹A‹G9ÇIUH‰T$ƒë9ÃréÓƒÃA9_†ÃH‹}‰ÞHƒÇèüËÿÿ…ÀugL‹ a@.M…öMEÎIƒytRHb© HEÍ AÇI‹Œ$؉ÞI‹y I‰QA‹UI‰AI‹„$ÐH‹ ñL‰ÎƒêL‹ÐH?Ç 1ÀAÿQH‹|$º‰Þè0Ìÿÿ…À„`ÿÿÿM…öLD5Ý?.Iƒ~…¢HƒÄ¸ÿÿÿÿ[]A\A]A^A_ÃfDM‹M…ÿ„»þÿÿA‹A‹G9ÆÿÿÿM…öLD5‘?.Iƒ~t¸H™¨ H|Ì AÇA‹I‹~ L‰öI‰VA‹WI‰FI‹„$؃éƒêL‹ÐH‹ ÈHRÆ 1ÀAÿVƒÈÿéFþÿÿ@H)Ì H8¨ AÇI‹~ L‰öI‰FI‰V1ÀHq³ AÿV¸ÿÿÿÿéþÿÿDH…ÿSH‰ût HèÎÊÿÿHÇHÇCHÇC[ÃDH‰\$àH‰l$èH‰ÓL‰d$ðL‰l$øI‰ôHƒì(H‹r(ºH‰ýèŠÿÿ…À„¸D‹+E…í…Í¿èc¿H…ÀI‰Å„ H‰ÇèÿÄþÿ¿èE¿H…ÀI‰E„ëH‰ïHÇHÇ@HÇ@èÉêH…ÀH‰Å„ÅI‹4$I‹}‹HƒÆ‰HƒÇèôÐÿÿ…Àˆ¤A¶D$L‰êH‰îAˆEH‹C0ƒ€ˆH‹¸€èe¦þÿ…Àuy1ÀH‹\$H‹l$L‹d$L‹l$ HƒÄ(ÃfDL‹C8M…ÀLD¡=.Iƒx„ÿÿÿHÉ AÇI‹x H‰éHà L‰ÆI‰@H‚¦ I‰@1ÀAÿPéàþÿÿ1íH‹K8H…ÉHD I=.Hƒyt/HËÈ ÇH‹y H˜± H‰ÎH‰AH2¦ H‰A1ÀÿQM…ítI‹}H…ÿtDè þÿÿI‹}è"¯L‰ïèZÁþÿL‰ïè¯H‰ïè ¯¸ÿÿÿÿéÿÿÿH‰\$ðH‰l$øHƒìH…ÿH‰ût Hè¡ÈÿÿHÇHÇCHÇCH‰ÝHƒÅt!H{ èxÈÿÿHÇCHÇEHÇEH‹\$H‹l$HƒÄÃH‰\$àH‰l$èH‰óL‰d$ðL‰l$øHƒì(I‰üI‰ÕH‰Íèûÿÿ…Àx9HsI|$H‰éL‰êèïúÿÿ…ÀxZ‹C;sŠ ÇA‹o@H‹²°H=Àª E‰öH‰CH‹‚¸‰ÉƒíH‰{Hº¨ H‹ ÎL‹ îH‰ÞN‹ðH‹{ 1ÀÿSƒÈÿéqüÿÿI‰ÄéýÿÿH‹|$xƒ;H‹(H‰|$HtEH‹K8H…ÉHD ¨ .Hƒyt/HZª H©‰ ÇH‹y H‰ÎH‰AH‰Q1ÀH›¦ ÿQH”$àH‰”$ˆHƒ|$H„¥H‹¼$ˆ1À¹H‹T$HA¸ó«HŒ$ðH‰Œ$˜H‹¼$˜¹ó«H‹Œ$ˆH‹sH‹{0èïÿÿ…À…9H‹T$HH‹sA¸H‹{0H‹Œ$˜HƒÂ(èÚîÿÿ…À…( H‹”$àÇD$PH…ÒH‰T$pt‹ ‰L$PH‹|$HH‹D$@‹”$èHƒÇ`HƒÀH‰|$hH‰„$€9T$Pƒ'H‹L$pH‹|$p‹‹L$PH‹w)ÁH£ÎƒìH‹„$ðÇD$XH…ÀH‰D$`t‹‰T$XD‹t$P‹”$øAƒÆ9T$Xƒ¤H‹L$`H‹|$`‹‹L$XH‹w)ÁH£ÎƒXH‹D$HE1äL‹hPM…ítE‹eH‹T$HD‹|$X‹rXAƒÇA9ôƒf„A‹EI‹MD‰â)ÂH£ÑƒÚH‹S0H‹K8H‹t$@H‹|$hH‹ª è;âÿÿ…À…•H…íAT$ué+H‹m@H…í„D;ufDuæD;}fuÞ;UuÖH‹t$@H}è¸Üÿÿ…À„ÎH‹¼$ è#ªÿÿH‹D$@H‹¼$¨HÇHÇ@HÇ@èú©ÿÿH‹”$€H‹L$HHÇHÇBHÇBA‹E‹qX‰ÀD‰âHƒÀ?H9ÂtxAƒÄL‰èA9ôI‰Å‚îþÿÿH‹T$`‹‹”$ø‹L$X‰ÀHƒÀ?H9Á„(ƒD$XH‹D$`9T$XH‰D$`‚\þÿÿH‹T$p‹‹”$è‹L$P‰ÀHƒÀ?H9Á„σD$PéÍýÿÿI‹EH…À„{ÿÿÿD‹ éyÿÿÿH‹K8H…ÉHD 4.Hƒyt/H§ H5† H‰AH‰QÇH‹y Ht‘ H‰Î1ÀÿQH‹|$@HƒÇèà¨ÿÿH‹|$@HÇ„$°HÇ„$¸HÇ„$ÀHƒÇ 讨ÿÿH‹D$@H‹¼$ˆHÇ„$ÈHƒÀHÇ@HÇ@è|¨ÿÿH‹¼$˜èo¨ÿÿ¸ÿÿÿÿéøÿÿH‹L$`H‹AH…À„Æþÿÿ‹8‰|$XéÅþÿÿ¾H¿‰T$8è%”H…ÀH‰Å‹T$8„òþÿÿH‹C0D‰uH}D‰}‰UH‹´$ H‹ˆ H‰M@H‰¨ ‹„$°‰Eèé®ÿÿ…Àx,‹„$ÈH‹´$¨H}0‰E(èÊ®ÿÿ…À‰’ýÿÿH}èÙÜÿÿH‹K8H…ÉHD º.Hƒy„±þÿÿH=ˆ¥ H·„ H‰yH‰Aé}þÿÿH‹L$pH‹AH…À„þÿÿ‹8H‰D$p‰|$PéæûÿÿH‹k8H…íHD-c.Hƒ}„ZþÿÿH‹S0H -¥ H=\„ E‰äÇEH‰îH‰M‹L$PH‹‚¸H‹š¨‹T$XH‰}H‹} H‹ ÈN‹ ãL‹ÐHô¢ 1ÀÿUéüýÿÿH‹K8H…ÉHD ë.Hƒy„|öÿÿH‰¤ Hèƒ H‰AH‰QéH‹K8H…ÉHD ¶.Hƒy„GöÿÿHd¤ H³ƒ H‰AH‰QéäH‹K8H…ÉHD .Hƒy„öÿÿH=ߣ H~ƒ H‰yH‰AéH‹¼$ˆè>¦ÿÿH‹¼$˜è1¦ÿÿH‹D$HH‹€€H‰D$HéÉùÿÿI‹M8H…ÉHD .Hƒy„­õÿÿHº£ H=ƒ ÇH‰ÎH‰QH‰yHYŽ H‹y ÿQƒÈÿé{õÿÿH‹K8H…ÉHD Í.Hƒy„^õÿÿHk£ H=Ê‚ H‰QH‰y1ÀÇH‹y HŽ H‰ÎÿQƒÈÿé*õÿÿ1Àé#õÿÿH= £ HŒ‚ H‰yH‰AëÀH‹K8H…ÉHD ].Hƒy„îôÿÿH»¢ HZ‚ H‰AH‰Q1ÀÇH‹y H@Ÿ H‰ÎÿQƒÈÿéºôÿÿH‹K8H…ÉHD .Hƒy„ôÿÿHŠ¢ H ‚ H‰AH‰Qé:ÿÿÿH‹K8H…ÉHD ×.Hƒy„hôÿÿHU¢ H=Ô H‰QH‰yéÿÿÿH‹|$xH‹oH…í„PôÿÿL¤$ðL¬$àëN€}xeH‹s0H‹SH‹{8L†E1ÉH‰é‰D$ÇD$HÇ$èèÿÿƒø…èóÿÿH‹mhH…í„ðóÿÿ‹C@…Àt«€}y«H‹s0ÇF‹C@ëŸL‰ç¹L‹{L‹s0HUA¸ó«L‰ïL‰þ±ó«L‰áL‰÷èñæÿÿ…ÀtJH‹K8H…ÉHD Þ.Hƒyt‹H=@¡ H߀ ÇHÔŸ H‰ÎH‰yH‰A1ÀH‹y ÿQéWÿÿÿHU0A¸L‰éL‰þL‰÷è‹æÿÿ…Àuš¿pèm˜H…ÀI‰ÇtˆH‰ÇèÇþÿH‹E`AÇ€L‰æI‰G`‹EA‰GIGH‰ÇH‰D$Pè3ªÿÿIW0…ÀH‰T$H…øL‰îH‰×èªÿÿ…À…åH‹UX1ÉL‰d$XL‰l$`I‰ìI‰ÝH‰ÍH‰ÓH…Û„û¿èà—H…À„H‰ÇH‰D$8èZþÿ‹H‹D$8…Ò‰teIƒX‹S‰PuI‰GXH…ítH‰EH‹[H‰Åë§H‹¼$ˆè¢ÿÿH‹K8H…ÉHD Ž.Hƒy„òÿÿH=<  H‹ H‰yH‰Aé¼üÿÿH a  H59› H=•œ fº³è2L‰åL‰ëL‹d$XL‹l$`L‰çè"¢ÿÿL‰ïè¢ÿÿH‹|$Pè¢ÿÿH‹|$Hè¢ÿÿI‹XH…ÿtNL‹wè4ˆL‰÷ëíI‹†€L‰åL‰ëL‹d$XL‹l$`H‹H‹PH…ÒtI‰WhL‰çL‰x輡ÿÿL‰ïè´¡ÿÿésýÿÿL‰ÿè燀é¾ýÿÿff.„H‰\$ÐH‰l$ØH‰ýL‰d$àL‰l$èH‰ÓL‰t$ðL‰|$øHì¨Ld$ I‰÷A‰ÎE‰ÅL‰çèo®ÿÿD‰t$ Aƒ?HÇD$(L‰|$HH‰\$PH‰l$X…ˆA‹GI·8H»8ÇǃX‰CA‹‡\‰ƒ\èñ§ÿÿ…À„©H…íHD-î.Hƒ}t0H 4ž Hï} H‹} H<‰ ÇEH‰MH‰EH‰î1ÀÿUH‹|$(»ÿÿÿÿèØ†H‹|$0èΆH‹|$8èĆH‹|$@躆‰ØH‹¬$€H‹\$xL‹¤$ˆL‹¬$L‹´$˜L‹¼$ HĨÃH‹D$H¾‹xXèŒH…ÀH‰ÇH‰D$(„ÍH‹D$H¾‹xxèû‹H…ÀH‰D$0„H‹D$H¾‹xHèÛ‹H…ÀH‰D$8„5H‹D$H¾‹xh軋H…ÀH‰D$@„MH‹D$HH5‘½ÿÿL‰âH‹xPèewþÿ…À…öþÿÿH‹D$HH5ÚÿÿL‰âH‹xPèEwþÿ…À…ÖþÿÿH‹D$HH5áÅÿÿL‰âH‹x è%wþÿ…À…¶þÿÿH‹D$HH5QÂÿÿL‰âH‹x0èwþÿ…À…–þÿÿH‹D$HH5±µÿÿL‰âH‹xPèåvþÿ…À…vþÿÿH‹D$HH5!¹ÿÿL‰âH‹xPèÅvþÿ…À…VþÿÿD‰òH‰ÞH‰ïè_ºþÿ…À„¨H…íHD-ì.Hƒ}„*þÿÿHð{ H'œ ÇEH‹} H‰UH‰EH› éõýÿÿ@H…íHD-¥.»ÿÿÿÿHƒ}„ þÿÿHâ› H{ ÇEH‹} H‰îH‰EH‰U1ÀH š ÿUéÖýÿÿH…íHD-U.»ÿÿÿÿHƒ}„˜ýÿÿH’› H M{ H‹} ÇEH‰î1ÀH‰UH‰MH†† ÿUH‹|$(é^ýÿÿH…íHD-ý.Hƒ}„;ýÿÿH?› Húz H‰EH‰UÇEH‹} H8† H‰î1ÀÿUéýÿÿDH…íHD-­.Hƒ}„ëüÿÿH ïš Hªz H‰MH‰Eë®f.„H…íHD-u.Hƒ}„³üÿÿH·š H rz H‰UH‰MésÿÿÿH‹D$HH5cL‰âH‹x@èçtþÿ…À…xüÿÿH‹D$HH5S²ÿÿL‰âH‹x@èÇtþÿ…À…XüÿÿH‹D$HH5CÒÿÿL‰âH‹¸€è¤tþÿ…À…5üÿÿH‹D$HH5@¾ÿÿL‰âH‹¸ètþÿ…À…üÿÿD‰òH‰ÞH‰ïè¸þÿ…ÀtCH…íHD-¬.Hƒ}„êûÿÿH î™ H©y ÇEH‹} HᘠH‰MH‰EéµûÿÿH‹D$HH5˜ L‰âH‹x`è tþÿ…À…ûÿÿH‹D$HH58°ÿÿL‰âH‹x`èìsþÿ…À…}ûÿÿH‹D$HH5سÿÿL‰âH‹xpèÌsþÿ…À…]ûÿÿH‰ßèÜ—þÿ…ÀftCH…íHD-û.Hƒ}„9ûÿÿH=™ H øx ÇEH‹} H‰UH‰MHP˜ éûÿÿD‰òH‰ÞH‰ïè·þÿ…À…¶üÿÿH‹D$HH‹˜€H…ÛtiL‹sM…ötZI‹¾€H5åÕÿÿL‰âè-sþÿ…À…¾úÿÿI‹¾pH5‡L‰âèsþÿ…À… úÿÿI‹¾H5y L‰âèñrþÿ…À…‚úÿÿH‹[ë’H‹D$PH5ÕÿÿL‰âH‹x@èËrþÿ…À…\úÿÿL‰çèkçÿÿ…ÀˆßH‹D$HH5fæÿÿL‰âH‹x0èšrþÿ…À…+úÿÿH‹D$PE1ÿH‹¸ÈèNmÿÿH‹|$PèätÿÿH‹T$HAOÿD‰øHƒÀèCºH…ÀH‰tIvhH{hL‰âèÒÿÿ…Àt³H‹L$XH…ÉHD w .Hƒy„µøÿÿH ˜ Htv H‰AH‰QÇH‹y H³ H‰Î1ÀÿQéøÿÿA‹‰A‹F‰CA‹F‰CA‹F ‰C A‹F‰CA‹F‰CA‹F‰CA‹F‰Cé)ÿÿÿA‹†¨‰ƒ¨éÿÿÿA‹F I‹>‰C è|¹H…ÀH‰…üþÿÿéDÿÿÿH‹D$PH‹T$H‰Ðé]þÿÿH‹L$XH…ÉHD ¨ .Hƒy„æ÷ÿÿH:— H¥u H‰QH‰Aé,ÿÿÿAƒÇAƒÿ…°ýÿÿH‹D$HHÇD$H‹€H‰D$Hƒ|$„É¿è4H…ÀI‰Ç„žH‰Ç¹1Àó«H‹T$H‹:迸H…ÀI‰„yH‹L$HÇD$L‹qM…ö„5¿¸èÞŒH…ÀH‰Ã„HH‰Ç¹.1Àó«I‹>èn¸H…ÀH‰„lA‹F Iv(H{(L‰â‰C è;ÐÿÿHƒ|$„ÍH‹T$H‰š°M‹¶°H‰\$ë„H‹\$P‹{XHÁçèdŒH‰ƒ0H‹\$P‹{XHÁçèLŒH‰ƒ(H‹D$PHƒ¸0„Âùÿÿ1ÛHƒ¸(„²ùÿÿ;XXƒ A‰ÞIÁæL‰÷H¸(è3¤ÿÿH‹D$PL‰÷H¸0è¤ÿÿH‹D$PL‰÷º‰ÞH¸(è$—ÿÿ…À…ÔøÿÿƒÃH‹D$Pë I‰_fDé0ÿÿÿHƒ|$tWH‹L$L‰yH‹D$L‰|$H‹@H‰D$é@þÿÿH‹L$XH…ÉHD Š .Hƒy„ÈõÿÿH*• H‡s H‰AH‰QéýÿÿH‹D$PL‰¸ë¤H‹L$XH…ÉHD F .Hƒy„„õÿÿHæ” HCs H‰QH‰AéÊüÿÿH‹xPH5¥¨ÿÿL‰âè½mþÿ…À…NõÿÿE…íu H‹|$(1ÛéFõÿÿH‹t$PH‰ïèf…À…'õÿÿH‹t$PH‰ïH‹†€H‹H‹Pès…Àt¿éõÿÿf.„H‰\$ÐH‰l$ØH‰ûL‰d$àL‰l$èH‰õL‰t$ðL‰|$øHì˜L|$I‰ÔI‰ÍM‰ÆL‰L$L‰ÿèz¢ÿÿH‹„$ L‹L$L‰ÿH‰l$8L‰d$@L‰l$L‰t$ H‰D$0‹„$¨H‰\$HL‰L$(‰D$‹„$°‰D$Pè|áÿÿH‹\$hH‹l$pL‹d$xL‹¬$€L‹´$ˆL‹¼$HĘÃffff.„L‰d$àI‰üH=ßu H‰\$ÐL‰l$è¹ H‰l$ØL‰t$ðI‰õL‰|$øL‰æHƒìHó¦H‰Óu:A‹UH‹CƒêÇ1ÀH‹\$H‹l$ L‹d$(L‹l$0L‹t$8L‹|$@HƒÄHÃH‹r(L‰çºèGTÿÿ‰Â1À…ÒtÁD‹E…Û…‹H‹C0L‰æH‹x@èSkþÿH…ÀH‰ÅI‰Ç„$IuH}èç—ÿÿ…À…äH‹sH‹{0IUA¸H‰áHÇ$HÇD$èäÖÿÿ…À…©H}H‰æè —ÿÿ…ÀulH‰çè´“ÿÿ1Àfé-ÿÿÿH‹k8H…íHD-©.Hƒ}„[ÿÿÿHg“ ÇEH‹} L‰áHè H‰îH‰EHŠp H‰E1ÀÿUé#ÿÿÿfDH‹K8H…ÉHD Q.Hƒyt/H“ ÇH‹y H { H‰ÎH‰AH:p H‰A1ÀÿQH‰çè“ÿÿ¸ÿÿÿÿé{þÿÿf„¿Xèæ‡H…ÀI‰ÆH‰Å„¼H‰Ç¹ L‰øóH«L‰çèq³H…ÀI‰Ä„šH‹C0H‹Kƒ@HH‹x@A‹u‹PHƒîA‰‰±L‰òL‰æè*oþÿ…À„nþÿÿH‹K8H…ÉHD ƒ.Hƒyt/HE’ ÇH‹y H!‹ H‰ÎH‰AHlo H‰A1ÀÿQL‰÷èuxL‰çèmx¸ÿÿÿÿé¥ýÿÿH‰çè’ÿÿH‹K8¸ÿÿÿÿH…ÉHD .Hƒy„~ýÿÿHÕ‘ ÇH‹y Hbz H‰ÎH‰AHün H‰A1ÀÿQ¸ÿÿÿÿéEýÿÿH‰\$ÐL‰d$àH‰ÓL‰l$èH‰l$ØI‰õL‰t$ðL‰|$øHì˜H‹r(ºI‰üè„Qÿÿ‰Â1À…Ò„DD‹3E…ötIH‹k8H…íHD-q.Hƒ}t3H³ ÇEH‹} L‰áHÄ‹ H‰îH‰EHVn H‰E1ÀÿUH‹C0L‰æH‹x`èGhþÿH…ÀI‰ÆI‰Ç…¿°èþ…H…ÀH‰ÅI‰Æ„H‰Ç¹L‰øóH«L‰çH‹C0H‹S ƒ@h‹@h‰EA‹Mƒé‰Šèm±H…ÀI‰Ä„ÑH‹C0H‰êL‰æH‹x`è>mþÿ…À„¾H‹K8H…ÉHD —.Hƒyt/HÙ ÇH‹y H5‰ H‰ÎH‰AH€m H‰A1ÀÿQH‰ïè©ÂþÿH‰ïèvL‰çèyv¸ÿÿÿÿH‹\$hH‹l$pL‹d$xL‹¬$€L‹´$ˆL‹¼$HĘÃDH‹K8H‹S0I} H‰æèœÇÿÿ…À„¤¸ÿÿÿÿë©DH‹K8H‹S0Hu`I} èsÇÿÿ…ÀuÛH‹K8H‹S0HµI}@è‡Âÿÿ…Àu¿‹…;E`ƒéH‹K8H…ÉHD •.HƒytšH׎ ÇH‹y H&Œ H‰ÎH‰AH~l H‰A1ÀÿQƒÈÿéÿÿÿ€H‹K8H‹S0Ld$0I}@L‰æèÂÿÿ…À…[I~`H‰æè“Áÿÿ…Àt A‹†;D$0tuH‰çè:ÆÿÿL‰çèÄÿÿ¸ÿÿÿÿé´þÿÿ„H‹K8H…ÉHD á.Hƒy„âþÿÿHŽ ÇH‹y H,w H‰ÎH‰AHÆk H‰A1ÀÿQ¸ÿÿÿÿéYþÿÿIt$I¾˜è,ÿÿ…À„rÿÿÿH‰çè¬ÅÿÿL‰çè„ÃÿÿHl$PH‰ï臛ÿÿH‹KH‹S(I}H‰îè³Êÿÿ…Àu$I~H‰îè’ÿÿ…ÀuH‰ïè'Žÿÿ1ÀDéçýÿÿH‹K8H…ÉHD .Hƒyt/H^ ÇH‹y Hkv H‰ÎH‰AHk H‰A1ÀÿQH‰ïèÎÿÿ¸ÿÿÿÿéýÿÿH‰çèüÄÿÿ¸ÿÿÿÿ€éwýÿÿH­˜IvhH‰ïèÈŒÿÿ…À„üýÿÿA‹FxA;†‚ëýÿÿI¾€H‰îè Œÿÿ…À„ÔýÿÿéÿþÿÿH‰\$ÐL‰d$àH‰ÓL‰l$èH‰l$ØI‰üL‰t$ðL‰|$øHƒì8‹†¨I‰õ…Àu[H‹‹¾.H‹€ÀƒêL‹4ÐL‰÷è+´H…ÀI‰Ç…¿1ÀH‹\$H‹l$L‹d$L‹l$ L‹t$(L‹|$0HƒÄ8Ãf.„H‹ƒèH‹’ðL‹4ÂM…öt»IuI~èÝ‹ÿÿ…ÀuªL‹KM…ÉLD ª.IƒytHH\ AÇA‹I‹y L‰áL‰ÎI‰AH“i ƒêI‰AH‹H‹€ÀL‹ÐH© 1ÀAÿQƒC 1ÀéCÿÿÿL‰÷èè¬H‰Å¸ÿÿÿÿH…í„*ÿÿÿH‹M)÷H‰îBÆD=H‹x`è?cþÿH…ÀI‰ÆtH‰ïè?r€é9ÿÿÿL‹KM…ÉLD ôÿ-IƒytIHÆŽ AÇA‹UI‹y H‰éL‰ÎI‰AHÜh ƒêI‰AH‹H‹€ÀL‹ÐHÊŒ 1ÀAÿQH‰ïèÌqƒÈÿé‡þÿÿ@H‰\$ÐL‰d$àH‰ÓL‰l$èH‰l$ØI‰üL‰t$ðL‰|$øHƒì8‹FPI‰õ…ÀuVH‹‹¾.H‹€°ƒêL‹4ÐL‰÷èN²H…ÀI‰Ç…Â1ÀH‹\$H‹l$L‹d$L‹l$ L‹t$(L‹|$0HƒÄ8ÃDH‹ƒèH‹’èL‹4ÂM…ötÀIuI~èŠÿÿ…Àu¯L‹KM…ÉLD Òþ-IƒytHHÄ AÇA‹I‹y L‰áL‰ÎI‰AH»g ƒêI‰AH‹H‹€°L‹ÐHù‹ 1ÀAÿQƒC 1ÀéHÿÿÿ„L‰÷è«H‰Å¸ÿÿÿÿH…í„'ÿÿÿH‹M)÷H‰îBÆD=H‹x@è_aþÿH…ÀI‰ÆtH‰ïè_p€é1ÿÿÿL‹KM…ÉLD þ-IƒytIH& AÇA‹UI‹y H‰éL‰ÎI‰AHüf ƒêI‰AH‹H‹€°L‹ÐHêŠ 1ÀAÿQH‰ïèìoƒÈÿé„þÿÿ@H‰l$ØL‰d$àH‰õL‰l$èH‰\$ÐI‰üL‰t$ðL‰|$øHƒì8‹F$I‰Õ…Àu^H‹‹¾.H‹€¸ƒêL‹4ÐL‰÷èn°H…ÀI‰ÇuVIÇE1ÀH‹\$H‹l$L‹d$L‹l$ L‹t$(L‹|$0HƒÄ8Ãf„H‹ƒèH‹’øH‹ÂI‰E1À뻀L‰÷蘩H‰Ã¸ÿÿÿÿH…ÛtŸI‹$M)÷H‰ÞBÆ;H‹xPèó_þÿH…ÀI‰EtH‰ßèòn1ÀéoÿÿÿM‹L$M…ÉLD «ü-IƒytIHý‹ AÇ‹UI‹y H‰ÙL‰ÎI‰AH”e ƒêI‰AI‹$H‹€¸L‹ÐH‰ 1ÀAÿQH‰ßèƒnƒÈÿéÿþÿÿff.„H‰\$ðH‰l$øHƒì(ƒ~H‰ýH‰Óu1ÀH‹\$H‹l$ HƒÄ(ÃDHT$H‰ßèSþÿÿ‰Â¸ÿÿÿÿ…ÒxÔH‹D$H…ÀtȃxuÂL‹KM…ÉLD Ùû-IƒytGHK‹ H‹ AÇI‹y L‰ÎI‰QHÅd I‰Q‹H‹¸H‰éƒêL‹ÐH)‰ 1ÀAÿQƒC ƒÈÿé[ÿÿÿffffff.„H‰\$àH‰l$èH‰ûL‰d$ðL‰l$øHƒì(H‹H‰õI‰ÕE1äèKÿÿH…ÀtD‹ H‹sH…ötH‰ïèj]ÿÿH…ÀtD E‰eH‹\$H‹l$L‹d$L‹l$ HƒÄ(ÃDH‰\$ØL‰l$ðH‰ÓL‰t$øH‰l$àI‰ýL‰d$èHƒìhöGI‰öu$1ÀH‹\$@H‹l$HL‹d$PL‹l$XL‹t$`HƒÄhÃ@H‹·HT$HÇD$HÇD$H‰ßH‹€øH‹tÈøèÏüÿÿ…ÀˆÍH‹D$H…ÀtE‹HT$0Ht$ H‰ßfÇD$&f‰D$ A·Ef‰D$"A·Ef‰D$$èÉþÿÿA‹‹T$0!Â9ЄTÿÿÿH‹A·MHT$H‰ßH‹€øH‹tÈøèWüÿÿ…ÀˆUH‹T$1ÀH…ÒtJA·EHt$ H‰ßfÇD$&f‰D$ ‹HT$0f‰D$"A·Ef‰D$$èOþÿÿA‹‹T$0!Â9ЄÚþÿÿH‹D$H‹T$H…Ò„H…ÀtN‹‹Ht$ H‰ßfÇD$&f‰D$"A·Ef‰T$ HT$0f‰D$$èõýÿÿA‹‹T$0!Â9Є€þÿÿHƒ|$„¨H‹kH…íHD-9ù-Hƒ}t}ÇE‹T$0H`ˆ A·uH‹;H‰EH#b L‹e÷ÒA#H‰Eè«ÿÿH‹ A·uH‹} H‹‘¸H‹‰¨L‹LñøA·MH‰îL‹DÊøA·MH‹LÊøH‰$Hz† 1ÀAÿÔƒC 1ÀéØýÿÿ¸ÿÿÿÿéÎýÿÿH‹D$H…À…Jÿÿÿfé·ýÿÿff.„AWAVI‰öAUATUSHìèH„$ H‰|$ H‰ÇH‰D$èrJÿÿ…À…ÒH‹T$I¶L‰÷èf‘ÿÿ…À…¬H‹D$Hl$0I‹~PH5ÙûÿÿL‰t$0HÇD$@H‰êÇD$PH‰D$8H‹D$ H‰D$Hèœ[þÿ…À…¡M‹¦ÈHÇ„$ÈHÇ„$ÀM…ä„EH„$ÀL¬$€H\$`L¼$ÈH‰D$H„$ÐH‰D$(DL‰ïè Iÿÿ…À…¦H‰ßèIÿÿ…ÀfD…ˆI‹t$H‹|$0L‰éL‰úè­ÿÿ…À…cI‹t$H‹T$H‰ÙH‹|$0èŽÿÿ…À…7H‹Œ$ÈH…Éuëh€H‹IH…ÉtXH‹1H‰ßH‰L$è·FÿÿH…ÀH‹L$tÝH‹1‹#F…À‰„$ÐtÊH‹|$8è@GÿÿH…ÀH‹L$„¢H‹I‹”$Ð PH…Éu¨H‹¼$Àè‚ZÿÿH‹¼$ÈèuZÿÿH‰ßèÝIÿÿL‰ïèÕIÿÿM‹d$PM…ä…ïþÿÿH‹|$H5kûÿÿH‰êèHÿÿ…À…M‹®ÈHÇ„$ÀM…í„fH„$ÀLd$`Hœ$ÐH‰D$DL‰çè8Hÿÿ…À…‡I‹uH‹T$L‰áH‹|$0èZŽÿÿ…À…aL‹¼$À1ÿM…ÿL‰|$@tSfDI‹7H‹|$8‹F‰„$ÐèEÿÿH…Àt ‹ „$ÐI‹?H‰êH‰Þè¥úÿÿ…ÀtƒD$PM‹M…ÿu»H‹¼$ÀèfYÿÿL‰çèžGÿÿ…À…íI‹uH‹T$L‰áH‹|$0èÀÿÿ…À…ÇL‹¼$À1ÿM…ÿL‰|$@tQ@I‹7H‹|$8‹F‰„$ÐèéDÿÿH…Àt ‹ „$ÐI‹?H‰êH‰Þè úÿÿ…ÀtƒD$PM‹M…ÿu»H‹¼$ÀèÎXÿÿL‰çè6HÿÿM‹mPM…í…¹þÿÿI‹~@H5>õÿÿH‰êèvXþÿ…ÀuI‹~`H5GóÿÿH‰êè_Xþÿ…Àuh‹L$P…É…‚H‹|$èåGÿÿ1Àë]L‰çèÙGÿÿH‹L$HH…ÉHD yô-Hƒyt/H ƒ ÇH‹y HR‚ H‰ÎH‰AHb] H‰A1ÀÿQH‹|$è‰Gÿÿ¸ÿÿÿÿHÄè[]A\A]A^A_ÃfH‹1H‹T$(H‹|$8H‰L$è™Iÿÿ…ÀH‹L$„ìüÿÿH‹¼$ÀèÏWÿÿH‹¼$ÈèÂWÿÿH‰ßè*GÿÿL‰ïè"GÿÿH‹L$HH…ÉHD Âó-Hƒyt]H4‚ ÇH‹y H› H‰ÎH‰AH«\ H‰A1ÀÿQ¸ÿÿÿÿéNÿÿÿH‹|$èÈFÿÿHƒ|$ H‹L$ HD eó-Hƒyu ¸ÿÿÿÿé ÿÿÿH­ ÇH‹y Hsf H‰ÎH‰AHD\ H‰A1ÀÿQƒÈÿééþÿÿH‹\$ H…ÛHD ó-Hƒ{„¿þÿÿH[ ÇH‹{ H H‰ÞH‰CHò[ H‰C1ÀÿSé‹þÿÿAWE‰ÏAVAUI‰ÍATE‰ÄUH‰ÕSH‰ûHƒìHL‹´$€H‰t$(M…ö„ªAD$AWHL$0f‰D$$f‰T$&H‰L$·D$&·|$$H‹t$fÇD$6f‰D$2A‹f‰|$0H‰ïf‰D$4è°BÿÿH…ÀuëYf„·t$6H‰Çè#CÿÿH…Àt>A‹V…PtåHƒ¼$ˆurH…ÛHDÿñ-Hƒ{…¸ÿÿÿÿHƒÄH[]A\A]A^A_ÃH‹t$L‰ïèCBÿÿH…Àu$éÙf„·t$6H‰Çè³BÿÿH…À„ºA‹V…Ptáë‰fDH…ÛHDñ-Hƒ{t’Hß ÇH ˆZ A‹6H‹|$(E‰ÿH‰SA‹VE‰ä#PH‰KH‹kèü ÿÿH‹|$(H‹L$(H‰ÞH‹—¸H‹{ N‹ úN‹âH‰D$A‹H‹¨H‹Œ$ˆƒêH‹ÐH§€ H‰$1ÀÿÕ¸ÿÿÿÿéÿÿÿDM‹vM…ö…sþÿÿ1ÀéìþÿÿHêY H=- ÇA‹6H‹kE‰ÿH‰SA‹VE‰ä#PH‰{H‹|$(èQ ÿÿH‹L$(A‹6H‹{ H‹‘¸H‹‰¨ƒîL‹ ñN‹úH‰ÞJ‹ âH‰$HJ€ 1ÀÿÕ¸ÿÿÿÿémþÿÿfff.„AWI‰÷AVAUATI‰ÔUS1ÛHƒìxH…ÒH‰|$(„HD$PH‰ÇH‰D$è:Bÿÿ…À…HD$0H‰ÇH‰D$ è Bÿÿ…À…òH‹T$I·L‰ÿè‰ÿÿ…À…0H‹T$ I·°L‰ÿèøˆÿÿ…À…A€<$‰M‹t$E1íM…ötE‹.A‹\$A9݃÷€A‹I‹ND‰ê)ÂH£Ñƒ²AöD$…þI‹\$01íH…Ût‹+A‹t$8ëf„ƒÅH‰ØH‰Ã9õss‹H‹K‰ê)ÂH£Ñs?I‹D$`H‹L$ A‰éH‹T$H‹|$(E‰èL‰þH‰D$I‹D$XH‰$èCüÿÿ…À…Ë‹A‹t$8‰À‰êHƒÀ?H9Âu—H‹CH…ÀtŽ‹(ëf.„A‹A‹\$‰ÀD‰êHƒÀ?H9Ât2AƒÅL‰ðA9ÝI‰Æ‚ÿÿÿ€M‹d$hM…ä…Òþÿÿ1ÛëcfDI‹FH…ÀtÅD‹(@ëÃfDI‹D$`H‹L$ E‰éH‹T$H‹|$(E‰èL‰þH‰D$I‹D$XH‰$è€ûÿÿ…À„Êþÿÿ„»ÿÿÿÿH‹|$èqAÿÿH‹|$ ègAÿÿHƒÄx‰Ø[]A\A]A^A_ÃH‹|$èLAÿÿHƒ|$(H‹L$(»ÿÿÿÿHD äí-HƒytÆH~ ÇH‹y HÕ} H‰ÎH‰AHÍV H‰A1ÀÿQë•H‹|$èò@ÿÿH‹|$ èè@ÿÿëšAT¸M‰ÌUL‰ÅSH‰ËHìH…ÀH‰|$‰t$ H‰T$t 1Àƒ={F»ÿ”À‰š .HcD$ H‹T$H|ÂH‹„$°H‰=ÌT.H‰µì-DH‹HƒÇH…Àuôèwf‹Y .…Òu.èu…Àˆ…‹ Êi.…É…h‰Â‰ºi.=Žßè:H‹Ki.H…À„ÔH‹H‰Œ$ˆdH‰ %(M…ät 1Ò1öL‰çèeH‹6T.H‹t$‹|$ èÀuH…ít 1Ò1öH‰ïèïd‹ ì-…À… H…ÛtH‹ýS.H‹t$‹|$ ÿÓH|$ èU…À…×dH‹%H‰D$hdH‹%øH‰D$pHD$ dH‰%H‹¯S.H‹t$‹|$ ÿT$‰ÇèÓa¿W7OèÆÉHÇ„$ˆHŒ$ˆÆ„$ÿÆ„$Ž 1HÇÂÐÿÿÿdH%·ÀáðÿâÿHÁàHÁá)HÁâ#H1ÑH3Œ$ˆH1ÁH‰Œ$ˆéËþÿÿ9Á‰Â†–þÿÿé‹þÿÿ¿p7OèAÉèŒD»ÿðÿ …D»ÿ”Â1À„Ò…Nÿÿÿ1ÿèÑÉèÜéÖþÿÿH‰\$èH‰l$ð1ÀL‰d$ø‰õH쨾‰ûèÊ̓øÿt H‹œ$H‹¬$˜L‹¤$ HĨÃHÇÀÐÿÿÿdƒ8 uÓ‰èE1俘7Oƒà‰îƒø¸¢7OA”ÄHDø1Ò1ÀN$¥è!Ë9Ãu4H‰â‰Þ¿è•É…Àu!‹D$%ð= uL9d$(„qÿÿÿfDôëýffff.„Hƒì¾1ÿè ÿÿÿ¾¿èÿÿÿ¾¿HƒÄéþþÿÿH‹y.HÇÞ6.@HÇ e.HÇe. órHÇåd.ðHÇâd.HÿHÇùd.HƒàðH‰&.1ÀÃAWAVAUI‰ýATUSHƒìH‹ f.H…Àt[H‹\f.H ÕHÁâH)ÊHH9Ðr ë:fHƒÀ8H9Ðs/ƒ8@uîH‹X0H‹P L‹`(L‹pH9ÞH‰ÝH‰T$HCîëDH‰õ1ÛE1öHÇD$E1äH‹.1ÒJ|-L|ÿMçL‰øH÷öI‰ÇL¯þLÿèÙÎHL(ÿH‰èHÇÆ1.>H÷ØH!ÁH…ÛtsIDÿ1ÒL‰ÿH÷óH¯ÃH)ÇH<9H‰=¼1.H‹T$L‰öH‰ $H‰é=.ƪ1.èmÀH‹ $¿¸žJ49IÇD°ïrH‰6H‰v…Àt%¿°7Oè[ÆL‰ÿL‰àL)çH<9H‰=T1.ë–fH‹T$€%X<.üH…ÛH‰j=.L‰%[=.L‰5D=.HÇi=.H‰:=.HÇï4.@HÇc.HÇc. órHÇö4.À÷rtdIDÿ1ÒH÷óI‰ÄI¯ÜH‹D.HÇc.N,+IDL‰-Áb.HƒàðHƒýH‰.¸HCÅH‰ªb.HƒÄ[]A\A]A^A_óë¥@AWAVAUATUSHƒì(H‹óc.H…ÀtvH‹/d.H ÕHÁâH)ÊHH9ÐrëUDHƒÀ8H9ÐsGƒ8@uîL‹`0H‹h(L‹p L‹hIƒü‡äL‰ãHÇD$ðÿÿÿHÇD$¿A¼ë)fHÇD$ðÿÿÿHÇD$¿A¼1ÛE1íE1ö1íH‹2.L|IƒçðIH H#L$H…ÛtrHDÿ1ÒL‰ÿH÷óH¯ÃH)ÇH<9H‰=s/.L‰îL‰òH‰L$H‰¡;.Æb/.è%¾H‹L$¿¸žJ49IÇD°ïrH‰6H‰v…Àt,¿°7OèÄfL‰ÿH‰èH)ïH<9H‰= /.ë—f.„€% :.üH…ÛH‰;.H‰-;.L‰-ù:.L‰5ú:.HÇ;.HǤ2.@HÇÑ`.HÇÎ`. órHÇ«2.À÷rtiHDÿ1ÒH÷óH‰ÅH¯ÝH‹ù.HǶ`.HÃðHDH‰s`.HƒàðIƒüH‰Ì.¸ICÄH‰\`.HƒÄ([]A\A]A^A_ÃD³ë @ID$ÿI¼$ðL‰ãH‰D$L‰àH÷ØH‰D$éBþÿÿUS»0 rHë0 rHÁûHƒìH…ÛtH,Ý( rDÿUHƒíHƒëuóHƒÄ[]é(Ì AVA¾0 rIî0 rAUIÁþI‰ÕM…öATI‰ôU‰ýSt"1Û„L‰êL‰æ‰ïÿÝ0 rHƒÃL9órèA¾0 rIî0 rIÁþè>?ûÿM…öt1ÛL‰êL‰æ‰ïÿÝ0 rHƒÃL9órè[]A\A]A^ÃHÇÀÐÿÿÿdH%øL‰d$àL‰l$èL‰|$øH‰\$ÐI‰üH‰l$ØL‰t$ðHƒìxH…ÀH‰t$(A‰×I‰Ít 1ö¿è =»ÿM…íA¾Ü(O„«H‹|.¸Ü(Oº¾è7O¿¤P½‡óP€;HEèèOL‹D$(H|$8H‰ÆE‰ù1ÀH‰éH‰ÚL‰d$L‰t$L‰,$è$\…Àx0H‹T$8¾×›N1ÿ1ÀèhH‹=ž.èlH‹|$8è‡UèLfº¾8O¿èüÄëãf.„A¾‡óPM‰õéGÿÿÿHÇÀèÿÿÿdHƒ8t dH%ÃHÇÂÿÿÿdH‹H‹H‹RXHÂdH‰ë×f„HÇÀàÿÿÿdHƒ8t dH%ÃHÇÂÿÿÿdH‹H‹H‹RHHÂdH‰ë×f„HÇÀØÿÿÿdHƒ8t dH%ÃHÇÂÿÿÿdH‹H‹H‹R@HÂdH‰ë×A‰ÑE1À1É1ÒéQH‰l$ðH‰ýH‰\$èL‰d$øHƒì‹EH‰óƒø„ŽÅƒøt(ƒøDt^1ÛH‰ØH‹l$H‹$L‹d$HƒÄÃfDH‹}H‰ÞèœÿÿÿI‰Ä‹Eƒøtqƒø…¨M…ät½H‹}H‰Þ1ÛèuÿÿÿH…À•Ãë©DH‹}H‰Þè\ÿÿÿHƒøÀ÷ЃÀH˜H‹lÅ‹Eƒø…cÿÿÿH‹}H‰Þ1Ûè0ÿÿÿH…À”ÃéaÿÿÿDM…ät˜»éMÿÿÿ…À…Bÿÿÿ‹E…À„6ÿÿÿƒø…+ÿÿÿH‹]é$ÿÿÿ„H‹}H‰ÞèÔþÿÿH‰Ã‹Eƒèƒø ‡üþÿÿ‰Àÿ$Å(8OI9ܔöÛéçþÿÿI9ܓöÛéÙþÿÿI9ܖöÛéËþÿÿI9ܗöÛé½þÿÿI9ܒöÛé¯þÿÿI)ÜL‰ãé¤þÿÿLãéœþÿÿL‰à1ÒH÷óH‰ÓéŒþÿÿL‰à1ÒH÷óH‰Ãé|þÿÿI¯ÜésþÿÿI9ܕöÛéeþÿÿf„UH‰ýSH‰óHv8HƒìHƒ{ tYHƒ} H}8t>蹊…Àu'H‹3H‹}詊…ÀuH‹sH‹}蘊…Àu‹E+CHƒÄ[]ÀH‹}8ë¼f.„H‹s8ë¡f.„UH‰åAWAVAUATSHì˜D‹OH‰}ˆH‰µxÿÿÿH‰U¨‰M€L‰…pÿÿÿE…ÉŽîH‹EˆH‹XH…Û„3Hƒ{`‹S(‰U¤„ôH‹}¨èkŽH‹}¨‰E˜èïGD‹CX1Ò‰Á‹u˜A÷ðExþ‰È‹KhE‰ÆH‰uA‰Ô1ÒA÷÷DzH‹S`D‰ÿD‰øE)þD)ÇA‰Ï‰ÁA‰øé­„D‰àD‹,‚AÍE…í„«AƒíD9m¤†·‹{…ÿ„DD‰èHÁàHC0‹0Î;u˜rS…ÿH‹3„=‹@ȉÀH‹}¨HÆH‰•Pÿÿÿ‰XÿÿÿD‰…Hÿÿÿè.‰…ÀH‹•Pÿÿÿ‹Xÿÿÿ”ÀD‹…Hÿÿÿ„À…žCA4 E9ôA‰ÄDBæE…ÿ…RÿÿÿD‰àD‹,‚E…í…UÿÿÿE1íHeØL‰è[A\A]A^A_ÉÃDD‰è+E¤H‹uHÁàHCHH90v¤H‹pH‹}¨H‰•Pÿÿÿ‰XÿÿÿD‰…Hÿÿÿ舅ÀD‹…Hÿÿÿ‹Xÿÿÿ”ÀH‹•Pÿÿÿ„À„bÿÿÿ‹}¤E‰íL‰m¨H‰}H‰þH9u¨‚äH‹E¨H+EHÁàHCPL‹hH‹H‰E˜‹u€…ö„êHƒ½xÿÿÿ„H‹½xÿÿÿH‹H…ÿH‰}„¸H…Àt H»€è¢6»ÿL‹{xM…ÿ„#KL‹eH‰]€L4ÅèÿÿÿLspëIƒîM…ÿ„õI‹>L‰æIƒï謇…ÀuàH‹]€M‰ôºH…Òt H»€è;6»ÿM…ä„ÙIƒ|$ÿt6I‹D$H…Àf„ÖHƒøÿ„-H‹]¨H‹ØH…À„HLhH‹H‰E˜H‹E˜H‹½pÿÿÿH‰éRþÿÿD‰èHÁàHC0‹0é¹ýÿÿfD‹@éÂýÿÿ‹E¤E1öH‰]˜H‰EI‰ÅM9îƒþÿÿH‹U˜D‹BH‹L‹z0E…ÀuNë M9ôM‰å†òýÿÿOd5H‹}¨IÑìC‹tçH43躆…ÀxÖ…À„ôMt$먀M9ôM‰å†²ýÿÿOd5H‹}¨IÑìC‹tçΉöH43èv†…ÀxÒ뺋{H‹…ÿt>H‹E¨HÁàHC8‹H‹ÉȉɃÀL, H‰E˜éþÿÿ€ècéüÿÿfDH‹E¨HÁàHC8D‹h‹ƒÀN,*H‰E˜éÍýÿÿ‹ <1.…É„H‹11.H…ÀH‰E…ÜýÿÿHÇÀÿÿÿdH‹H‹H‹€°H‰Eé¾ýÿÿH‹]€E1äéþÿÿL‰e¨H‹]˜H‹uéKýÿÿ¸H…Àt H»€èC4»ÿH‹sxH…öH‰u€„@H‹CpH‰òL‹eI‰×H‰`ÿÿÿH‰…hÿÿÿHvH‹µhÿÿÿLtÆèë@IƒîM…ÿ„©I‹>L‰æIƒïè4……ÀuàH‹`ÿÿÿM‰ôºH…Ò„–ýÿÿH»€è¼3»ÿé…ýÿÿ¾ƒ=ûU.tð±5)0.…Ù ë ±50.…Ê H‹0.L‰mÈ1ÛH‹ ð/.Lu¸L}ÀHƒÀH‰EÀëofD…Û„-ƒÃH‹=.0.ióðHcöH‰5¶/.èùgH…À„0H‹ 0.H‹H‹ —/.H‰HPH‰ñ/.HƒÀH‰†/.H‰EÀHƒéH‰ o/.Hƒùv‘H‹U˜HUÈLDøI‹|$HuÈM‰ñL‰ùè€kƒøt…À…ƒH‹UÀH‹8/.H‹u¨H‰ÑH)ÁHƒéH‰I‹L$H‰ñH)ÐH /.H‰ÂHƒàøƒâHUÀH‰÷..H‰ø..ƒ=ÁT.tðÿ ð..…¿ ë ÿ â..…± I‹D$H‹ðéGüÿÿfDƒø…Á…ÛL‰mÈ…Óþÿÿ¿ðHÇ“..ðèæYH…Àt'H‹ê..»éÚþÿÿH‹=Ù..H‹H‰Ï..èúJHÇ_..HÇL..ƒ=T.tðÿ L..…: ë ÿ >..…, IƒÍÿéúÿÿ€¿€8OèöKH…ÀI‰Ät €8…XÇ..éÎüÿÿƒ=¿S.tðÿ î-.…û ë ÿ à-.…í E1íé»ùÿÿH‹`ÿÿÿH‹u€H‹½hÿÿÿHƒÆHköèëeH…ÀI‰Ä„¼H‹}H‰Cpè’„H…ÀI‰Ç„£HkE€H‹µxÿÿÿH‹}ˆLE¸1ɺ‡óPIÄM‰<$IÇD$ÿÿÿÿèÆ÷ÿÿH…À„¾8OH‰Çè‘H…À„w¶PHp„Ò„Í€ú „Ä€ú „»€ú f„°1ÒëfD€ù t€ù t€ù t HƒÂ¶L„ÉuáHBHƒÀHƒàðH)ÄLt$IƒæðL‰÷葨1ÿÆL‰øë€€ú/”ÂHƒÀ¶ÒH×¶„ÒuéL)øA¶HƒÀ)HƒàðH)ÄLD$Iƒàð„ÒL‰Àt"H‹ (Î L‰þH¾ÒHƒÆ‹‘ˆ¶HƒÀ„ÒuèHƒÿ†éÆ1ÿL‰ðë€ú/”ÂHƒÀ¶ÒH×¶„ÒuéL)ðA¶HƒÀ!HƒàðH)ÄHt$Hƒæð„ÒH‰ðt H‹ ¸Í H¾ÒIƒÆ‹‘ˆA¶HƒÀ„ÒuçHƒÿ†¥IT$ƹL‰Çè`…À…¤IÇD$HƒCxéWûÿÿ1ÀHƒÉÿL‰çò®I‰ÏI÷×L‰ÿèäVH…ÀI‰ÆtL‰úL‰æH‰Ç莭L‰5‡+.émýÿÿH‹{pH‰½hÿÿÿéŸýÿÿÆ/HƒÀH…ÿ…ÿÿÿHºTRANSLITÆ/H‰PHƒÀ éíþÿÿÆ/HƒÀH…ÿ…KÿÿÿÆ/HƒÀé?ÿÿÿƒøÿt&¸H…Àt H»€è.»ÿL‰ÿE1íè†GéâöÿÿIÇD$ÿÿÿÿé#ÿÿÿ¿H…ÿtvH»€IƒÍÿèI.»ÿéµöÿÿ¾ƒ=ˆP.tð±5¶*.…âë ±5§*.…ÓIƒ|$tCƒ=ZP.tðÿ ‰*.…Ôë ÿ {*.…ÆI‹D$éÉ÷ÿÿIƒÍÿéKöÿÿ¸1Òéqýÿÿ‹}¤{@¾è~LH…ÀI‰D$…$úÿÿIÇD$ÿÿÿÿë”DAUATI‰ÌUSH‰ÓN$#HƒìL‹oI‹½¸è òÿÿI;…ÀH‰Å¸H‰ßHCèfDH…ít+1öHƒíèÀµHxL9çrçHƒÄH‰Ø[]A\A]Ãf„H‰ûëäff.„UH‰åAWAVAUATSHìÈH…öH‰½XÿÿÿH‰µxÿÿÿH‰•8ÿÿÿ‰TÿÿÿL‰…HÿÿÿD‰dÿÿÿ„úAƒù ‡>Aƒù„4»H…Ût¿`sè²,»ÿ¿@ürè¨,»ÿHƒ½Xÿÿÿ‹dÿÿÿH‹…XÿÿÿHDÃý-H‹•xÿÿÿHÇE ‰Ï‰MˆH‰U¸H‰…XÿÿÿH‰E€è#H‰ÇI‰Äè‚HPHƒÀL‰æHƒàðH)ÄH|$HƒçðèȪH…ÛH‰…0ÿÿÿH‰Et ¿ ürè,»ÿH}€ºpÆD¾Øürè;ÖH‰…@ÿÿÿ¸H…Àt ¿ ürèð+»ÿHƒ½@ÿÿÿtH‹•@ÿÿÿH‹‹P;ÛM.„wHÇÀÐÿÿÿL‹-¿M.d‹M…퉅ÿÿÿ„ÛH‹Xÿÿÿë@Œ1M‹mM…í„»IuH‰ßèÑ|ƒøuÜM…í„¡I‹UH‰•pÿÿÿ€:/„ŒH‰×»èL`ë @HÇÀÐÿÿÿdƒ8"…wH‰ØHÑèH\ JD#HÇÁÐÿÿÿH‰ÞHƒàðH)ÄdÇLt$IƒæðL‰÷èîµH…Àt±I‹]1öL‰÷L‰µpÿÿÿèT³HxfÇ/H‰ÞèS|Hc…dÿÿÿ¿˜8OD¶ )ÓOèEH‰ÃIÄ ÒOH…Àt €8… ‹½dÿÿÿèWH‰ÃH‹½XÿÿÿèH€L‰çH‰…(ÿÿÿè9€H‹•(ÿÿÿL‰æHD#HƒàðH)ÄHL$HƒáðH‰ÏH‰hÿÿÿèû¦fÇ/H‹•(ÿÿÿHxH‹µXÿÿÿè¢H‰ßÇ.moèáHƒÀHƒàðH)ÄLd$IƒäðD¶<:„å„ÀL‰â…ŠAÆ$CAÆD$A¶$:AÍ uA¶D$:4Í „L‰æ¿¡8O¹ó¦„óH‹•hÿÿÿH‹½pÿÿÿL‰éL‰æèšH…ÀI‰ÇtŠH‹•xÿÿÿLEȹL‰îH‰ÇègðÿÿH…À„fHƒøÿ„¤H…À„RÿÿÿHƒ½@ÿÿÿI‰Æ„hH‹•@ÿÿÿH‹‹AK.‰PH‹UÈL‰x L‰p(H‰P0D‹•Tÿÿÿ‹…ÿÿÿHÇÁÐÿÿÿE…Òd‰…ºH…Òt¿`sèò(»ÿ¿@ürèè(»ÿL‰µxÿÿÿH‹…xÿÿÿHeØ[A\A]A^A_ÉÃf.„¸H…Àt¿`sè¬(»ÿ¿@ürè¢(»ÿ‹ÿÿÿHÇÂÐÿÿÿd‰ D‹TÿÿÿE…Ût¦Hƒ½HÿÿÿtœH‹8ÿÿÿH‰xÿÿÿëŒ@HƒÃˆHƒÂ¶<:t„ÀuëÆD‹5¹Î-E…ö„Yþÿÿ¾/L‰çèyH…À„Cþÿÿ¶<:…"þÿÿ€HƒÃéþÿÿ€I‹ H…ÿ„óýÿÿH‰ ÿÿÿE1öH‹xÿÿÿë„AƒÆIcÆI‹|Ç H…ÿt-LEȹH‰ÚL‰îè«îÿÿH…ÀtÖMcöH‹ ÿÿÿO‹|÷ é4þÿÿH‹ ÿÿÿéŽýÿÿ‹½dÿÿÿèK¶:çÊ …èüÿÿ¶P:ØÊ HDØéÕüÿÿE1íHÇ…pÿÿÿ°8OéƒüÿÿD‹½TÿÿÿE…ÿu.H‹X(¹H…Ét¿`sè2'»ÿ¿@ürè('»ÿH‰xÿÿÿé<þÿÿH‹H0H‹P(H‹x H‹µHÿÿÿèdùÿÿH‰Ãë¹H‹MÈH‹µHÿÿÿL‰òL‰ÿèIùÿÿI‰ÆéÛýÿÿH‹½xÿÿÿHƒÊÿ1ÀH‰Ñò®H‹½0ÿÿÿI‰ÌH‰ÑI÷Ôò®H‹…(ÿÿÿH÷ÑH|9LçèvNH…ÀH‰Ã„týÿÿH‹µxÿÿÿHx8L‰âèמL‹­(ÿÿÿH‹µXÿÿÿI‰ÄH‰ÇIƒÅL‰êO,,èó¤H‹µ0ÿÿÿL‰ïèÔw‹VH.‹•dÿÿÿL‰#L‰kL‰{ L‰s(‰CH‹EȉSH‰C0¸H…Àt ¿ ürè&»ÿºpÆD¾ØürH‰ßèµÕ¹I‰ÄH…Ét ¿ ürèî%»ÿM…ät I;$„¹üÿÿH‰ßèç>é¬üÿÿHÇ…pÿÿÿ°8OéïúÿÿH=C".Hì€èðHÄ€éòÿÿH=$".Hì€è ðHÄ€é0óÿÿH=".Hì€èðHÄ€éµóÿÿH=æ!.Hì€èâïHÄ€éôóÿÿH=Ç!.Hì€è“ïHÄ€é÷ÿÿH=¨!.Hì€è¤ïHÄ€é÷ÿÿU¸H‰åL‰eàL‰mèI‰üL‰}øH‰]ØI‰÷L‰uðHì H…ÀI‰ÕH‰M˜t ¿ýrèÀ$»ÿL‰çA¾èrzHPE1É1ÉM‰øL‰æ¿8ýrÇD$ L‰l$HÇD$HÇD$HÇ$è" M…öH‰Ãt ¿ýrè`$»ÿH…Û„}‹s…ö~hHƒ{tH‰ØL‹eàH‹]ØL‹mèL‹uðL‹}øÉÃH‹{ H…ÿtÞE1äëfHƒuÐAƒÄIcÄH‹|à H…ÿt¿‹O…ÉáH‹u˜èxIcÄH‹|à ëÎfDH‹u˜H‰ßè\ëŠL‰ÿè’H…Àt0H‰ÇH‰EèyHPHƒÀH‹uHƒàðH)ÄH|$7Hƒçðè0¢I‰ÇHM¸HUÀHuÈLM¨LE°L‰ÿè$ƒøÿA‰Ç„,ÿÿÿ¸H…Àt ¿ýrèa#»ÿL‰çèyHPH‹EÀL‹M¸L‹EÈD‰ùL‰æ¿8ýrÇD$ L‰l$H‰D$H‹E¨H‰D$H‹E°H‰$èÆM…öH‰Ãt ¿ýrè#»ÿH…Ût‹S…Ò~eHƒ{tAƒç„›þÿÿH‹}¨èë;éþÿÿH‹{ H…ÿtßE1äëHƒuÐAƒÄIcÄH‹|à H…ÿt¿‹G…ÀÞH‹u˜èIcÄH‹|à ëËH‹u˜H‰ßèëUdH‹%H‰åH‰]ØL‰uðH‰ûL‰eàL‰mèI‰öL‰}øHì€H9“.t4¾1Àƒ=‹D.tð±5q.…Àë ±5b.…±H‰].‹S.B‰J.D‹KE…ÉtU…Ò‰9.u/HÇ0.ƒ=1D.tðÿ .…†ë ÿ .…xH‹]ØL‹eàL‹mèL‹uðL‹}øÉÃfDH‹;ÇCÿÿÿÿHÇCH…ÿ„.1ö1ÀèͨƒøÿA‰Ä„H• ÿÿÿ‰Æ¿è5§…À…¡L‹½PÿÿÿIƒÿ/†E1É1ÿE‰à¹ºL‰þèâÊHƒøÿI‰Å„Icü¸Ç…ÿÿÿA‹E=•Þ•Â=Þ••À¶À…Ð…´¿Èè¸HH…ÀI‰Ät{H‰CL‰(‹…ÿÿÿM‰|$IÇD$ A‰D$1ÀA}Þ••À…ÀA‰D$„A‹UʉÑ1ÿÁùƒù†ðè›9‹•ÿÿÿ…Ò…-L‰ïè…9L‰çè}9HÇC‹£.ƒèÇC…À‰‘.…ƒþÿÿHÇ„.ƒ=…B.tðÿ l.…ùë ÿ ^.…ëéOþÿÿL‰ÿèÛGH…ÀtJL‰µÿÿÿH‰…ÿÿÿM‰ýI‰ÆëH…À~/IÆI)Å„¿ L‰êL‰öD‰çèú§H˜HƒøÿuÙHÇÀÐÿÿÿdƒ8tÝIcü¸‹ð.éHÿÿÿ€…À„A‹MÉA‰L$(A‹M ɉÉIL I‰L$0A‹MɉÉIL I‰L$8A‹MÉ1öƒùA‰L$Xv…À…A‹uIt5f…ÒI‰t$`A‰D$h„#H…ö„…À„*A‹U$ʉ•ÿÿÿD‹…ÿÿÿE…À„ö…À„A‹EE‹E ÈAȉ…ðþÿÿE‰À‹…ðþÿÿ‹½ðþÿÿODHÅHÁèHÁàH)ÄHL$Hƒáð…ÿ„ÝA‹D$1ÿD‹•ðþÿÿ‰…ÿÿÿ1ÀD‹ÿÿÿëg@A‹TA‹4ʉÒITÎ…ö„]ƒî€<2…P¶2@€þP„z@€þI…`€z¾Î8O…QƒÇH‰4HƒÀD9׃bE…Éu˜A‹TA‹4IT뜄AÇD$@IÇD$HIÇD$P¸IÇD$pIÇD$xH…ÀtI¼$€1öèÊ»ÿLEÈL‰öH‰ß1ɺ‡óPè¤äÿÿI”$ÀI´$¸H‰ÇèÜ+é2ýÿÿ€A‹Uéçüÿÿ€A‹MA‰L$(A‹M IL I‰L$0A‹MIL I‰L$8A‹MéïýÿÿfL‰þL‰ïèÇéËüÿÿA‹uΉöéèýÿÿL‹­ØþÿÿL‹½¸þÿÿH‹°þÿÿL‹¥¨þÿÿI‹|$ é}üÿÿ@€þPu€zTu€zR„q €1öé¨þÿÿf„€zRuê€zIuäD¶ZA€ûd”…ÿÿÿA€ûi”…øþÿÿt!€½ÿÿÿuA€ûotA€ûut A€ûxtA€ûXu¦¶r@€þ8„ @€þ1„# @€þ3…o€z2…zÿÿÿ€z…pÿÿÿ€½ÿÿÿ¾½¹N… þÿÿ€½øþÿÿ¾ºÁN…ûýÿÿA€ûo¾å N„ìýÿÿA€ûu¾²ßN„ÝýÿÿA€ûx¾Ü«N„ÎýÿÿA€ûX… ¾%·NéºýÿÿA‹M$‰ÿÿÿéÓüÿÿA‹uE‹E ‰µðþÿÿéîüÿÿA‹|$‰½ÿÿÿ‹µÿÿÿ…ö„ÝA‹E(ȉÀIDH‰…ÈþÿÿA‹E,ȉÀIDL‰µ þÿÿD‹µðþÿÿL‰½¸þÿÿHÇ…èþÿÿI‰ÏH‰…ÀþÿÿA‹D$XÇ…àþÿÿÇ…ÔþÿÿL‰­ØþÿÿH‰°þÿÿL‰¥¨þÿÿHÁàH‰…øþÿÿf„HE°E1íH‰…ÿÿÿ‹ÿÿÿ…É„ÔE…í…õH‹ÈþÿÿH‹•èþÿÿ‹ˉÛHØþÿÿ‹Cȃøÿ•ÀE1ä„ÀtU‹•ÿÿÿHƒÃ…Ò…Pë.f„A9Ɔ„ýÿÿ‰ÀI‹<ÇH…ÿ„»ècpN$ HƒÃ‹‹CIÔƒøÿuÎfDH‹ÿÿÿAƒÅL‰#HƒÃAƒýH‰ÿÿÿ…CÿÿÿH‹u¸HµøþÿÿH‹}°ƒ…ÔþÿÿH½øþÿÿƒ…àþÿÿHƒ…èþÿÿD‹…àþÿÿD9…ÿÿÿ‡õþÿÿ‹…ÔþÿÿL‰ùL‹­ØþÿÿH‹°þÿÿL‹µ þÿÿL‹¥¨þÿÿL‹½¸þÿÿ…À„áûÿÿ‹…ÔþÿÿH‹½øþÿÿH‰ˆþÿÿÀ‰ÀHÁàH<8èœAH…ÀH‰…¸þÿÿH‹ˆþÿÿ„žüÿÿ‹…ÔþÿÿH‹•¸þÿÿI‰ÏL‰­àþÿÿHÇ…ðþÿÿÇ…èþÿÿÇ…øþÿÿI‰T$ H‰˜þÿÿHÁàL‰µþÿÿHÂHÐH‰•¨þÿÿH‰… þÿÿA‹D$XH‹µ þÿÿH†I‰ÅA‹D$1Û…À„…Û…VL‹…ÈþÿÿH‹½ðþÿÿA‹8ʉÒH•àþÿÿ‹JɃùÿ•Á„Ét'HƒÂ…À…¡ë‰ÉIƒ<Ï„-HƒÂ‹JƒùÿuçƒÃƒûu•‹½èþÿÿL‰½ÿÿÿM‰çÇ…ÿÿÿHÁç…ÀH‰½Øþÿÿ„ÊD‹µÿÿÿE…ö…HH‹ÈþÿÿL‹…ðþÿÿB‹H‹àþÿÿʉÒHÓ‹ʉÒH•àþÿÿD‹ÿÿÿE…ÛH‰•ÿÿÿH‹•¨þÿÿHD•¸þÿÿH•Øþÿÿ…ÀH‰•°þÿÿ„O‹Sʃúÿ”„Ò„œ…À„à‹CȉÀH‹°þÿÿH‹µÿÿÿH‰H‰sƒ…ÿÿÿƒ½ÿÿÿ„A‹G…À…6ÿÿÿD‹¥ÿÿÿE…ä…œL‹…ÈþÿÿH‹½ðþÿÿA‹8Hàþÿÿ‹é<ÿÿÿ„D9ðƒdúÿÿ‰ÀI‹<ÇH…ÿ„›èCmN$ HƒÃ‹‹CÊȉ҃øÿN$"uÇéÚüÿÿ‰ÉIƒ<Ï„ŸHƒÂ‹JɃùÿuåékþÿÿfE…íu;H‹…ÈþÿÿL‹…èþÿÿB‹HØþÿÿƒ{ÿ•Àé2üÿÿH‹½ÀþÿÿH‹µèþÿÿ‹7éüÿÿH‹ÀþÿÿH‹•èþÿÿ‹ëÄE‰íN‰dí°é˜üÿÿA‹E(IDH‰…ÈþÿÿA‹E,é&ûÿÿƒ…èþÿÿM‰üL‹½ÿÿÿƒ…øþÿÿHƒ…ðþÿÿ‹øþÿÿ9ÿÿÿ‡Týÿÿ‹µÔþÿÿ9µèþÿÿH‹˜þÿÿL‹µþÿÿ…ïAƒ|$X„S1ÀI‹t$`H‹½ þÿÿë‹ –ɉ —ƒÀA9D$X†-E‹L$h‰ÂE…ÉuÞ‹ –ëÞ…Û…òL‹…ÈþÿÿH‹½ðþÿÿA‹8H•àþÿÿƒzÿ•Áéýÿÿ@€þ6…=€z4…ùÿÿ€z…÷øÿÿ€½ÿÿÿ¾ëÁN…”÷ÿÿ€½øþÿÿ¾Â8O…‚÷ÿÿA€ûo¾Å8O„s÷ÿÿA€ûu¾°éN„d÷ÿÿA€ûx¾È8O„U÷ÿÿA€ûX…¾Ë8OéA÷ÿÿfH‹½°þÿÿHƒÃL‰oëFD‹3D‹cAÎAÌE…öuFAƒüÿtaL‹…ÿÿÿE‰äHƒÃO‹4àL‰÷èýjI‰ÄL‰ïH‰ÂL‰öMå蹓E‹WE…Òu±D‹3D‹cëµH‹µÿÿÿE‰öL‰ïL‰òMõè“Lµÿÿÿë™H‹•°þÿÿL‰èH+BH‰éèüÿÿƒ{ÿ”Âé°üÿÿH‹µÀþÿÿH‹ðþÿÿ‹é¦ûÿÿ@€þL…’€zE…º÷ÿÿ€zA…°÷ÿÿ€zS…¦÷ÿÿ€zTf…š÷ÿÿ¶r @€þ8f„@€þ1„Ý@€þ3„µ@€þ6f…j÷ÿÿ€z 4…`÷ÿÿ€z „_þÿÿ1ö@éúõÿÿH‹µÀþÿÿH‹ðþÿÿ‹é þÿÿ@€þFut€zA…"÷ÿÿ€zS…÷ÿÿ€zT@… ÷ÿÿ¶r@€þ8f„(@€þ1„ @€þ3„î@€þ6f…Úöÿÿ€z 4…Ðöÿÿ€z „Ïýÿÿ1ö@éjõÿÿ@€þM@…öÿÿ€zA… öÿÿ€zX…–öÿÿ€zf„“ýÿÿ1öé2õÿÿ€z„÷ÿÿ1ö@éõÿÿ€z6„çöÿÿ1öé õÿÿH‹µÀþÿÿH‹ðþÿÿ‹é´úÿÿ‹CéûÿÿH‹ÀþÿÿH‹•ðþÿÿ‹é`ûÿÿL‰µÿÿÿL‹½¸þÿÿI‰ÞH‹ þÿÿE1íI‹èB"A‹t$X1Ò‰Ç÷ö‰ø‰ÑVþA‰Ð1ÒA÷ð‰ðƒÂ‰×)Ð)÷‰þëf„<1D9Á‰ùABȉÏH<»D‹E…ÀuãA‹D$(IƒÇADAƒÅD9­èþÿÿ‰w‹D‹…èþÿÿH‹…¸þÿÿL‰óH‹•¨þÿÿH‹ þÿÿL‹µÿÿÿAÇD$hE‰D$@I‰D$HI‰T$PI‰L$`éIôÿÿƒ½ÿÿÿ„¶L‰þL‰ïèö»é¼ñÿÿL‹­ÿÿÿL‹µÿÿÿIcü¸Ç…ÿÿÿéèðÿÿ€z „õÿÿ1öé§óÿÿ€z 2@„þÿÿ1öé’óÿÿ€z 6„ þÿÿ1öéóÿÿ€z „Xõÿÿ1öépóÿÿ€z 2…·ôÿÿ€z „:õÿÿ1öéRóÿÿ€z 6tæ1öéEóÿÿfDè!L‰ïèƒ*éñÿÿH=¤.Hì€è¸ÛHÄ€é0ïÿÿH=….Hì€èÉÛHÄ€éiïÿÿH=f.Hì€èªÛHÄ€éöðÿÿUHcÖH‰þHB,H‰åAWHƒàðAVAUATSHìÈH)ÄH\$HƒãðH‰ßè‰Hº/locale.Ç@aliafÇ@ sH‰¾Ð8OH‰ßèEH…ÀI‰ÆHÇ…(þÿÿ„¶‹L­@þÿÿ€Ì€¨A‰…‰DL‰ò¾L‰ïè0•H…À„k¾ L‰ïL‰ëèaHÇÆØÿÿÿHÇÇÿÿÿI‰ÇdL‹dH‹ë@HƒÃH…À„5¶¶ÊöDH uæ€ú#„ „Ò„¶SLc„Òuë7fDIƒÄA¶$„Òt$H…À„¶ÊöDH tà„Òt AÆ$dH‹IƒÄdL‹ëIƒÄH…À„ÓA¶$¶ÊöDH uä„Ò„A¶T$IL$„Òuë1HƒÁ¶„Òt#H…À„ŶúöDx tâ€ú …9ÆÆA H‹³ .H9¤ .rKH…À¾@ºdt H‰ÆHHÁæH‹=±4.H‰•þÿÿèÍCH…ÀH‹•þÿÿ„H‰Ž4.H‰_ .H‰ßè§dL‰çHƒÀH‰…0þÿÿè”dHƒÀH‹=! .H‹" .H‰…8þÿÿH…0þÿÿH 8H9чH‹ .H‹)4.H‹ *4.H‰• þÿÿH‹•0þÿÿH<8H‰ÞH‰þÿÿèH‹½0þÿÿH=» .L‰æH‹• þÿÿH‹º .H‹þÿÿHÁâH‰=˜ .HÁãH=Å3.HÆ3.H‰ H‹•8þÿÿ讌Hƒ~ .H‰CHƒ…(þÿÿH‹…8þÿÿHT .M…ÿt7A‹¨„|ýÿÿL‰÷èD;Hƒ½(þÿÿ…ÎH‹…(þÿÿHeØ[A\A]A^A_ÉÃL‰ò¾L‰ï耒H…Àt´¾ L‰ïèn^H…ÀtÙë €H=¹H‹=3.HBÁHH‰ÖH‰•þÿÿè'BH…ÀH‹•þÿÿ„kÿÿÿH‹5à2.H9ð…ÁL‹ ¨ .H‹ Ñ2.L‰ þÿÿH‰»2.H‰„ .H‹=u .éþÿÿ„Ò„ÆýÿÿÆé¾ýÿÿH‹5i .H‹=’2.¹õDºè;'éÿÿÿI‹H‹@@HdH‰éµüÿÿI‹H‹@@HdH‰éýÿÿI‹H‹@@HdH‰A¶$éÍüÿÿI‹H‹@@HdH‰¶é"ýÿÿH‹ ç .I‰ÁE1ÀI)ñL‰ÎH‰ þÿÿH‹ ý1.H‰ÏL;… þÿÿƒ#ÿÿÿH7HwIƒÀHƒÇëâ@U¾1ÀSH‰ûHƒìƒ=y..tð±5o .…$ë ±5` .…H‹k .H‰$H…Ò…ÉH‹/Ý-¶„À„H‰×<:H‰þt ë€H‰×¶GHW<:tñH‰ÖH‰×„ÀH‰ñt@¶FHV<:t„ÀuH‰ÑH‰ÖH9÷r„Àt5H‰Ïë¬@H‰ÖDëÎfD)þH‰¯Ü-èjúÿÿH…À„kÿÿÿéRÿÿÿH‰•Ü-1Òƒ=œ-.t ðÿ “.ukëÿ ‰.uaHƒÄH‰Ð[]ÃH‹5¾0.A¸õD¹H‰çèSH…À„ÿÿÿH‹Pë±@H‹6H‹?é…ˆH=>.Hì€èBÕHÄ€éÌþÿÿH=.Hì€èSÕHÄ€ëƒATH…öA¼UH‰õSH‰û¿tgIÇÁØÿÿÿHÇÀÿÿÿ1ö@0ÿdI‹dL‹1Àf„H…Ò„î¶ · JöÁtƒÆH…Ò„4€åDEçHƒÀH9ÅwÎE…ä…ƒÆHcþèú1H…À„€E…äI‰À…H…ífti1ÒIÇÁØÿÿÿë*HÇÆèÿÿÿdH‹H…É„¬‹ ¹AˆIƒÀHƒÂH9Õv4dI‹ H…Étn¶4@¶þöDyuÁ@¶Îƒé0ƒù wÓHƒÂAˆ0IƒÀH9ÕwÌAÆ[]A\Ã@ƒÆHcþé^ÿÿÿDÇisoL@édÿÿÿI‹H‹R@HÂdI‰éûþÿÿHÇÁÿÿÿdH‹ H‹ H‹I@HÁdI‰ épÿÿÿHÇÁÿÿÿdH‹ H‹ H‹IXHÁdH‰¶<é.ÿÿÿI‹H‹R@HÂdI‰¶ · Jé­þÿÿff.„AWAVAUATUSHƒìxH‰|$8L‰ÇH‰t$XH‰T$H‰L$,L‰D$0L‰L$@è}^H‰Ã‹D$,L‹¼$ȃà‰D$P…1í‹T$,ƒâ‰T$`…NE1ä‹L$,ƒá‰L$h…E1í‹D$,ƒà‰D$l…îE1öL‰ÿè^H‹L$HHTHê1íLâLêLòH<è 0H…ÀH‰Ã„¡H‹T$HH‹t$XH‰Ç謆H‹t$Hº:H‰ß芑H‹D$HH|ÿÆ/H‹t$0HƒÇ蟄‹|$P…ÿ…K‹t$`…ö…‹L$h…É…ó‹T$l…Ò…ÇHxÆ/L‰þè0YH‹T$8L‹"M…ät5L‰åE1äDH‹}H…ÿtH‰Þè×Xƒø„v|I‰ìH‹mH…ífuÖH‹|$XH‹t$H蟋T$,‹L$,⪪ÿÿáUUÑú ‰Êá33âÌÌÿÿÁúʉÑÁùâ‰ÑÁùѺÓâHcÒH¯ÂH<Å(èÓ.H…ÀH‰ÅH‰D$P„êH‹t$HH‹|$XH‰]èHƒøº„PH‹L$PM…ä‰QHÇA„KI‹D$H‰AI‰L$H‹t$HH‹|$XèÚD‹t$,AƒîHƒøDEt$,E1íE…öˆà‹D$,L‹d$XH‰l$`Ld$H÷ЉD$,ë Aƒîˆ¶D…t$,uï1ÛHƒ|$HH‹T$PJlê tÛH…Û„fL9ãsË1öH‰ß葎HXI9Üv¸H…Ût³H‰ßIƒÅèÇ[H‹Œ$ÀHPL‹L$@H‹„$¸L‹D$0H‰ÞH‹|$8L‰|$H‰L$H‹Œ$°H‰D$H‰ $D‰ñèÎüÿÿH‰EHƒÅH…ÛuH‹\$Xë’f.„H‹l$`H‹D$PJÇDè HƒÄxH‰è[]A\A]A^A_ÃH‹¼$Àè+[LpéÿüÿÿfH‹¼$¸è[LhéÓüÿÿf.„H‹¼$°èóZL`éŸüÿÿf.„H‹|$@èÖZHhénüÿÿDH‰ßèénÿÿÿÆ@H‹´$ÀHxè”é ýÿÿ€Æ.H‹´$¸Hxètéôüÿÿ€Æ.H‹´$°HxèTéÈüÿÿ€Æ_H‹t$@Hxè7éŸüÿÿf‹D$,1Òƒàƒø”ÂéœýÿÿH‹T$8H‹H‰AH‰ é¯ýÿÿ„AWAVAUA‰ÍATUSHƒìxH‰|$0L‰ÇH‰t$XH‰T$@L‰D$(L‰L$8L‹¼$ÈèÖYH‰ÃD‰èƒà‰D$l…“1íD‰êƒâ‰T$h…aE1äD‰éƒá‰L$`…6E1öD‰èƒà‰D$P…HÇD$HL‰ÿèzYH‹L$@HTHê1íLâLòHT$HH<èg+H…ÀH‰Ã„®H‹T$@H‹t$XH‰Çè ‚H‹t$@º:H‰ßèçŒH‹D$@H|ÿÆ/H‹t$(HƒÇèüD‹d$lE…ä…nD‹\$hE…Û…@D‹T$`E…Ò…D‹L$PE…É…äHxÆ/L‰þE1äè‚TH‹T$0H‹*H…í„hH‹}H…ÿtH‰Þè/Tƒø„~ŒˆI‰ìH‹mH…íuÔD‹„$ÐE…À„[H‹|$XH‹t$@èä‹D‰êD‰é⪪ÿÿáUUÑú ‰Êá33âÌÌÿÿÁúʉÑÁùâ‰ÑÁùѺÓâHcÒH¯ÂH<Å(è*H…ÀH‰ÅH‰D$P„áH‹t$@H‹|$XH‰èg‹Hƒøº„hH‹L$PM…ä‰QHÇA„bI‹D$H‰AI‰L$H‹t$@H‹|$XEuÿè‹HƒøEEõA÷ÕD‰l$HE1íE…öˆ×L‹d$XH‰l$`Ld$@ë Aƒîˆ¶D…t$Huï1ÛHƒ|$@H‹D$PJlè tÛH…Û„fL9ãsË1öH‰ßèá‰HXI9Üv¸H…Ût³H‰ßIƒÅèWH‹Œ$ÀHPL‹L$8H‹„$¸L‹D$(H‰ÞH‹|$0L‰|$H‰L$H‹Œ$°H‰D$H‰ $D‰ñèøÿÿH‰EHƒÅH…ÛuH‹\$Xë’f.„H‹l$`H‹D$PJÇDè HƒÄxH‰è[]A\A]A^A_ÃH‹¼$Àè{VHƒÀH‰D$HéëüÿÿDH‹¼$¸è[VLpé·üÿÿfH‹¼$°èCVL`éŒüÿÿf.„H‹|$8è&VHhé\üÿÿDH‰ßè`énÿÿÿD‹„$Ð1íE…À…‚ýÿÿëÛÆ@H‹´$ÀHxèÌ|éýÿÿ€Æ.H‹´$¸Hxè¬|éÕüÿÿ€Æ.H‹´$°HxèŒ|é§üÿÿ€Æ_H‹t$8Hxèo|é|üÿÿf.„D‰è1Òƒàƒø”Âé…ýÿÿH‹T$0H‹H‰AH‰ é˜ýÿÿI‰ìé½üÿÿATUSHƒì HÇHÇIÇIÇH‰>¶„Àuj1öH‰T$H‰L$L‰$1í談¶0H‹T$H‰ÃH‹L$L‹$@€þ@„H‹H…Àt ‰êƒâû€8DêI‹H…Àt ‰êƒâý€8DêHƒÄ ‰è[]A\Ã@<_t’<@tŽ<.tŠH‰ûf„HƒÃ¶<_t„ÀuQH9߉Æ„dÿÿÿ1í<@t 1ÿ<_@µtg@€þ.tA@€þ@‰ý…xÿÿÿDHCÆH‰‰èƒÈ€{EèéXÿÿÿD<@t«<.u˜ë¥fDH{ÆI‰8¶s@„öuTH‰ûéÿÿÿDÆHƒÃH‰¶<.‰Æt D„Àu½¿énÿÿÿD<@„¨HƒÃ¶<.‰ÆuÓëÕ@€þ@H‰ût£HƒÃ¶<@t„ÀuñH9û„»þÿÿH‰ÞH‰T$H‰L$H)þL‰$L‰L$è óÿÿL‹L$H…ÀI‰ÄH‹T$H‹L$L‹$I‰tfI‹8H‰ÆH‰T$H‰L$L‰$èÓN…ÀH‹T$H‹L$L‹$tƒÍ¶3é?þÿÿfD‰Æ½é-þÿÿL‰çè\¶3H‹T$H‹L$L‹$éþÿÿƒÍÿé7þÿÿATH…ÿUSH‰û„h‹ƒøtHƒøtƒøtlH‰ß[]A\éfH‹oH…ít&‹Eƒø„äƒø„Òƒø„ÛH‰ïèÑH‹kH…ít&‹Eƒø„ƒø„ƒø„ H‰ïè¢H‹kH…ít‹‹EƒøtOƒø„˜ƒøtqH‰ïè{H‰ß[]A\éo€I‹|$è.ÿÿÿI‹|$è$ÿÿÿI‹|$èÿÿÿL‰çèBL‹eM…ät'A‹$ƒø„Öƒø„Ãø„ÎL‰çèL‹eM…ät†A‹$ƒøt*ƒøtƒøt*L‰çèëécÿÿÿfDI‹|$è¦þÿÿI‹|$èœþÿÿI‹|$è’þÿÿL‰çèºé2ÿÿÿDH‹}èwþÿÿH‹}ènþÿÿL‹eM…ä„çþÿÿA‹$ƒøtZƒøtKƒøtZL‰çèvH‰ïènéÇþÿÿf„I‹|$è&þÿÿI‹|$èþÿÿI‹|$èþÿÿé#ÿÿÿDI‹|$èþýÿÿI‹|$èôýÿÿI‹|$èêýÿÿëš„H‹}è×ýÿÿH‹}èÎýÿÿH‹}èÅýÿÿéþÿÿL‹eM…ä„¡þÿÿA‹$ƒø„xþÿÿƒø„eþÿÿƒø…zþÿÿ@égþÿÿ[]A\@Ãffffff.„AVAUI‰ÕATA‰üAƒìU‰õS‰ûx9IcÄL‹4ÂM…ö„ˆCþH˜HÂD‰àëf.„H‹ HƒêH…Étdƒèyï¿ è"H‰ÁH…Ét8E…䉉ix%IcÜITÝH‹2AƒìHƒêAƒüÿH‰tÙtIcÜëå1À[]A\A]A^ÃE…äxòIcÄM‹tÅ„ƒëHcÛI\Ýë%ƒøtCƒøt.L‰÷èËAƒìxµL‹3HƒëM…ötîA‹ƒøuÑI‹~èxüÿÿI‹~èoüÿÿëÇDI‹~è_üÿÿëÜffff.„UE1ÉA¸ÇH‰åAWA¿þÿÿÿD‰ùAVA¾ÈAUATL¥à÷ÿÿSH þÿÿM‰âHì8H‰ÞH‰½Ð÷ÿÿÇ…Ü÷ÿÿJFfD‰ M‰×I‰õH9®Iþ'‡ÖI‰ÜMö¸'I)ô‰¨÷ÿÿD‰°÷ÿÿIÑüIþ'L‰•¸÷ÿÿLGðI\$K¶HHD%HƒàðH)ÄLl$IƒåðL‰ïO|uè,wL‹•¸÷ÿÿHÝL‰ÿK\eL‰Öè wMFÿ‹¨÷ÿÿD‹°÷ÿÿKDEH9ÃŽO$çMcÉC¿„ `=O=€ÿÿtCƒùþ„>…ÉŽ•ùºw HcѾ’ =O4ƒþ5wHcö¿¼6À>O9ׄ”C¿” À?O…Ò„£LcʸG¿” @OD)Ѓú H˜I‹Ä†@McÒJÕMÒL)ÓI)ÔL‰âMd$H‰BC¿„ @O·ƒèH˜¿ú¿´:@O47ƒþ5†D¿Œ>@OHƒÃM‰úL‰îéQþÿÿD¿Œ6@?OAƒùêAù€ÿÿ…?ƒ½Ü÷ÿÿu éªfL9ëtkHƒëIƒìH¿¿„`=O=€ÿÿtàƒÀƒø5wØH˜fƒ¼À>OuËD¿Œ@?OAƒù|DtºAƒù„ÕH‹…È÷ÿÿIƒÄÇ…Ü÷ÿÿI‰$éSÿÿÿf¸HeØ[A\A]A^A_ÉÃ@Aù€ÿÿ„kÿÿÿD‰ÊÇ…Ü÷ÿÿ÷Úé¤þÿÿ€‰Òÿ$Õ9O€Hcöf;”6À>O…çþÿÿD¿Œ6@?OéâþÿÿI‹T$ðI‹$¿A‹t$øH‰U°HU°H‰E¸‰¨÷ÿÿL‰…À÷ÿÿL‰°÷ÿÿD‰•¸÷ÿÿè’ûÿÿ‹¨÷ÿÿL‹…À÷ÿÿL‹°÷ÿÿD‹•¸÷ÿÿé2þÿÿfH‹•Ð÷ÿÿH‹2¶„Òti€ú t €ú uDHƒÆ¶„ÒtO€ú tð€ú të€ú|¾ÊH~†„H‰þ¹H‹•Ð÷ÿÿ…ÉH‰2kýÿÿ1Ò1Ééyýÿÿ…É„Àþÿÿ¹þÿÿÿé_þÿÿH‹•Ð÷ÿÿ1ÉH‰21ÒéTýÿÿ„þÿÿAƒù„HH‹…È÷ÿÿ…ɾþÿÿÿEÎIƒÄƒ½Ü÷ÿÿƒ•Ü÷ÿÿÿI‰$é¸ýÿÿ¶Òÿ$Õh9OI‹$HU°¾¿H‰E°éÐþÿÿ1Ò1ö1ÿéÅþÿÿ1Ò1ÿ¾‰¨÷ÿÿL‰…À÷ÿÿL‰°÷ÿÿD‰•¸÷ÿÿèNúÿÿH…À‹¨÷ÿÿL‹…À÷ÿÿL‹°÷ÿÿD‹•¸÷ÿÿ„êüÿÿI‹$H‰PéÝüÿÿI‹D$øéÓüÿÿI‹T$ðI‹$¾¿H‰U°H‰E¸HU°é=þÿÿI‹T$ðI‹$¾¿H‰U°H‰E¸HU°éþÿÿI‹T$ðI‹t$à¿I‹$H‰u°H‰U¸¾H‰EÀHU°éìýÿÿI‹$H…Ò„QýÿÿH‹µÐ÷ÿÿH‰VéAüÿÿD‰Ê÷ÚéüÿÿH‰þéLþÿÿ¾Hw9Ñ…5þÿÿé8þÿÿHºÿÿÿÿH!•È÷ÿÿH‰þHƒÈ÷ÿÿ¹éþÿÿ€?=u¹HºÿÿÿÿH!•È÷ÿÿHwHƒÈ÷ÿÿ ¹éæýÿÿ1Ééßýÿÿ€?=„uH¾ÿÿÿÿH!µÈ÷ÿÿ¹HƒÈ÷ÿÿ H‰þé°ýÿÿHºÿÿÿÿH!•È÷ÿÿH‰þHƒÈ÷ÿÿ¹éŠýÿÿHºÿÿÿÿH!•È÷ÿÿH‰þHƒÈ÷ÿÿ¹édýÿÿH¾ÿÿÿÿH!µÈ÷ÿÿ¹HƒÈ÷ÿÿH‰þé>ýÿÿ€?=…-ýÿÿHºÿÿÿÿH!•È÷ÿÿHwHƒÈ÷ÿÿ ¹éýÿÿ€?=„ËH¾ÿÿÿÿH!µÈ÷ÿÿ¹HƒÈ÷ÿÿH‰þéßüÿÿQжHcÒqÐ@€þ w!HƒÇH4’¾Ñ¶ƒê0HcÒHrqÐ@€þ vßH‰•È÷ÿÿH‰þ¹é˜üÿÿH¾ÿÿÿÿH!µÈ÷ÿÿ¹HƒÈ÷ÿÿH‰þérüÿÿ¸éPûÿÿ1ÀéIûÿÿHºÿÿÿÿH!•È÷ÿÿHwHƒÈ÷ÿÿ ¹é:üÿÿHºÿÿÿÿH!•È÷ÿÿHwHƒÈ÷ÿÿ ¹éüÿÿAUATI‰ôUH‰ÕSH‰ûHƒì(H…ÿ„¬¾B@OèêQ¾J@OH‰ßI‰ÅèÚQH…À„‰M…í„€HX ¶@ „ÀttHÇÆØÿÿÿHÇÁÿÿÿdH‹dH‹9ë@HƒÃ¶„ÀtMH…Òtn¶ÈöDJ uæƒè0< w7Ht$º H‰ßèH;\$tIƒÅH‰EH‰çL‰,$è’÷ÿÿ…Àt!fDIÇ$`@OHÇEHƒÄ([]A\A]ÃH‹D$I‰$ëêH‹H‹P@HÂdH‰¶éxÿÿÿ1Àë'@HÁà¶ÒHÐH‰Ââðt H1ÐHÁêH1ÐHƒÇ¶„ÒuÖóÃ1öé ÚHì(dH‹%H9áí-t4¾1Àƒ=‰.tð±5¿í-…ë ±5°í-…ùH‰«í-‹í-ƒší-…ÀtEƒø„¼ƒø„ºƒø„Tƒø@„ŠƒøtfƒøftJƒøtFf„ôëýH´$ ¹ 1ÒÇ$í-H‰÷ó«¿HƒŒ$  è|Ü‹í-ë‚ô¿Çôì-西Çàì-è›Ù‹Õì-é{ÿÿÿÇÆì-èp‹»ì-é\ÿÿÿ‹Äì-Ǧì-ƒè…À‰¯ì-u/HǦì-ƒ=W.tðÿ Žì-…öë ÿ €ì-…è¿è ÙdH‹%H9hì-t4¾1Àƒ=.tð±5Fì-…Íë ±57ì-…¾H‰2ì-ƒ'ì-¹&1ÀH‰çó«H´$€Çõë-H‰âHÇÿÿÿÿHƒîH9Öuð1ÒH‰æ¿Ç„$ˆèÛ‹Âë-éVþÿÿ1ÿDZë-è¼¥‹¦ë-é(þÿÿH=ªë-Hì€èn¸HÄ€éèýÿÿH=‹ë-Hì€è¸HÄ€éùþÿÿH=lë-Hì€è0¸HÄ€é#ÿÿÿAWE1ÿAVI‰ÖAUATI‰ÌUH‰ýSH‰óHƒìM9÷L‰D$rëG€M9ýM‰îv8O,>H‰ïIÑíL‰èI¯ÄHH‰$H‰ÆÿT$ƒø|ÓtM}M9÷rЄHÇ$H‹$HƒÄ[]A\A]A^A_ÃAWAVAUATUSHƒìXHƒúH‰|$H‰t$0H‰T$ †±I‰ÖI‰ÔI‰õIÑîL‰óL‰òM)ôH¯Hóè¸ÿÿÿH‹|$L‰âH‰Þè¨ÿÿÿH‹D$H‹PH‹pH‹h L‹8H‹@H‰T$(H‰t$Hƒø„´sjM…ä„‘L‰|$L‹|$(H‹T$H‰ÞL‰ïAÿ×…ÀŽA‹IƒìHƒÃ‰EHƒÅM…ä„wM…öuËé«DHƒÄX[]A\A]A^A_Ãf„Hƒø„¶Hƒø„<@M…äD…:M…öthDL‰òL‰îH‰ïI¯×èŽjëO@M…ätãL‰|$L‹|$(H‹T$H‰ÞL‰ïAÿ×…ÀŽ«H‹IƒìHƒÃH‰EHƒÅM…ä„ÇM…öuÉL‹|$H‹D$H‹T$ H‹|$0H‹p HƒÄXL)â[]A\A]A^I¯×A_éjJL=HÇD$@HÇD$HL‰t$L)|$@M‰îL)|$HI‰ÝH‰ËëI€Hƒ|$t“JL=H‰l$8H‹T$L‰îL‰÷H‰ $ÿT$(…ÀH‹ $~{L‰èIƒìMýH9Ýr}LûH‰ÍM…äu¹M‰õL‹t$éÚþÿÿ@L‹|$éÌþÿÿfDM…ö„*ÿÿÿH‹T$H‰ÞL‰ïÿT$(…ÀްH‰ÞH‰ïL‰úècLûH‰ÅIƒìé{þÿÿL‰ðHƒl$MþH9ÝsƒH‹T$@HsHÊH)ÖH‰ÊHÁîL)úHƒÆHƒþ‡àH‹t$8H‹HƒÀH‰HƒÆH9ÞH‰t$8ƒ;ÿÿÿëÝDA‹EIƒîIƒÅ‰Eé¸ýÿÿ@I‹EIƒîIƒÅH‰EéOþÿÿL‰îH‰ïL‰úèRbMýH‰ÅIƒîéËýÿÿM…ä„×ýÿÿL‰|$L‹|$(H‹T$H‹3I‹}Aÿ×…À~*H‹IƒìHƒÃH‰EHƒÅM…䄾þÿÿM…öuÌéòýÿÿ@I‹EIƒîIƒÅH‰EëÓfDöÂ…ÿÿÿHxH9×rH‹T$HHH9ІüþÿÿI‰ñIÑéL‰ÏHÿtU1ÒE1ÀóoIƒÀfDHƒÂM9ÁwèHýHÕHÐH9þH‰l$8„þÿÿH‰êH‹0HƒÀH‰2HƒÂH9Úƒ÷ýÿÿëçH‹T$8ëàf.„UH‰åAWAVM‰ÆAUATI‰ÌSH‰ÓHƒìxHƒú H‰}H‰µxÿÿÿ‡©I‰õL¯êIýÿ†¬H‹ Næ-H…É„m‹7æ-HcÒL‰èH‰Ö1ÒH÷öH9ȇ°IÇÇÐÿÿÿL‰ïdA‹‰•hÿÿÿè7‹•hÿÿÿH…ÀH‰…pÿÿÿdA‰„}H‰EÀHƒû H‰] HÇE¨L‰e°L‰u¸†‹H‹uH‰u˜H‹µxÿÿÿHÁæI‰÷L}ÀI7I9ÇH‰E€sH‹UL‰øDH‰HƒÀHÚH9E€wðHuÀH‹•xÿÿÿH} HÇE HÇE¨è”úÿÿHƒ½xÿÿÿ„bHÇEˆfDH‹uˆM‹$÷L;e˜t]H‹}€H‹u˜H‰ÚèfH‹}˜H‹MˆfL‰àH+E1ÒI‰<ÏL‰æM‰åH÷óH‰ÚI‰ÆèïeK÷L‰çL‰ñL‹ L;e˜uÌH‹u€L‰(H‰ÚèÍeHƒEˆH‹EˆH9…xÿÿÿ†ÓH]˜évÿÿÿfDI‰õIÁåIÕIýÿ‡TþÿÿIƒÅHÇ…pÿÿÿIƒåðL)ìHD$HƒàðH‰EÀéþÿÿf„H‹µxÿÿÿH‹}M‰ðL‰áH‰Úè×ÓHeØ[A\A]A^A_ÉÄöÃu3öEu-Hƒû„¿Hƒû„žƒãuöEu HÇE¨DH‹•xÿÿÿH‹uH} è$ùÿÿH‹½pÿÿÿèXÿHeØ[A\A]A^A_ÉÃf„¿UèŸHƒøÿHºÿÿÿÿÿÿÿtHPH…ÀHIÐHÁú¿H‰£ã-èæžH‹ —ã-‰Â‰‡ã-éKýÿÿöE…pÿÿÿHÇE¨écÿÿÿHÇE¨éSÿÿÿff.„E1Àé¸üÿÿH‰\$ÐL‰d$àL‰|$øH‰l$ØI‰ÿL‰l$èL‰t$ðHƒì8è6;H‹çó-I‰ÄH…Ûu'1ÀH‹\$H‹l$L‹d$L‹l$ L‹t$(L‹|$0HƒÄ8ÃfA€?tÓA€tSH‹+E·/IƒÇLpþH…ít¸€fD;muH}L‰òL‰þè’<…ÀuB€|%=tfHƒÃH‹+H…íuÒë„H‹A¶H…À„iÿÿÿ¶Ò€Î=f;u ë#f;tHƒÃH‹H…ÀuîéBÿÿÿf„HƒÀé2ÿÿÿ€JD5é!ÿÿÿAUA‰ÕATUH‰õS‰ûHƒìL‹&M…ätYfDI‹D$H‰ÂHÁâH…ÀJL"ðt,HƒèI‰D$H‹Hƒú„´Hƒút~HƒútHHƒé H…ÀuÔI‹$H…ÀH‰E…ªE„ít½@QHýHQsÿUHƒÅHýHQrð‰ß胙HÁà‰ßJT H‹BH‹rHÁÈdH3%0ÿÐéYÿÿÿf„HÁà‰ÞJT H‹BH‹zHÁÈdH3%0ÿÐé)ÿÿÿf„HÁàI‹DHÁÈdH3%0ÿÐéÿÿÿL‰çèküL‹eéçþÿÿfU‰ýSHƒìH‹‰´-H…ÛtZ@H‹CH‰ÂHÁâH…ÀHLðt.HƒèH‰CH‹Hƒú„¾Hƒú„„HƒútNHƒé H…ÀuÒH‹H…ÀH‰0´-…¯»@QHûHQs@ÿHƒÃHûHQrñ‰ïèZ˜f.„HÁà‰ïHTH‹BH‹rHÁÈdH3%0ÿÐéQÿÿÿf„HÁà‰îHTH‹BH‹zHÁÈdH3%0ÿÐé!ÿÿÿf„HÁàH‹DHÁÈdH3%0ÿÐéûþÿÿH‰ßè;ûH‹l³-éÞþÿÿS¾H‰û1Àƒ=N.tð±5´ß-…¬ë ±5¥ß-…L‹M…À„û1ÀI‹HH…Ét?HqÿHT6HÁâJƒ<uKHÁáITÐH‰ñëDH‹2Hƒê HyÿH…öu(H‰ùH…ÉuèI‹IÇ@L‰ÀH…Ò„›I‰Ðëœ@Hƒù tRH‰ÈHƒÁHÁàI‰HJTHÇHƒO.ƒ=ˆ.tðÿ ïÞ-…ë ÿ áÞ-…øH‰Ð[ÃfD1ÒH…Àu#„Òu6¾¿è¶ÿ1ÒH…Àt°H‹H‰H‰HPHÇ@ëŠ1ÀºëÁ¹Þ@Oºd¾À@O¿Í@Oèf£ÿÿfDU1ÀH‰õ¾SH‰ûHƒìƒ=æ.tð±5LÞ-…‚ë ±5=Þ-…sH‹¸±-H…À„KE1É@H‹HH…Ét?HyÿHt?HÁæHƒ<uKHÁáHtÐH‰ùëDH‹>Hƒî LAÿH…ÿu(L‰ÁH…ÉuèH‹HÇ@H…É„èI‰ÁH‰Èëœ@Hƒù „~H‰ÎHƒÁHÁæH‰HHtHÇHƒÛ.ƒ=.tðÿ {Ý-…Ðë ÿ mÝ-…ÂH…ö¸ÿÿÿÿt"dH3%0HÁÃH‰nH‰^H‰V1ÀHÇHƒÄ[]Ã@L‰È1ÉH…Àu9„ÉuM¾¿H‰T$èþ1öH…ÀH‹T$„sÿÿÿH‹ °-H‰H‰u°-HpHÇ@éBÿÿÿ¹몹Þ@Oºd¾À@O¿Í@O謡ÿÿfff.„AT1ÀI‰ÌUH‰õ¾SH‰ûHƒìƒ=!.tð±5‡Ü-…ûë ±5xÜ-…ìI‹$H…À„CE1ÉfH‹HH…Ét?HyÿHt?HÁæHƒ<uKHÁáHtÐH‰ùëDH‹>Hƒî LAÿH…ÿu(L‰ÁH…ÉuèH‹HÇ@H…É„âI‰ÁH‰Èëœ@Hƒù „~H‰ÎHƒÁHÁæH‰HHtHÇHƒ.ƒ=T.tðÿ »Û-…Në ÿ ­Û-…@H…ö¸ÿÿÿÿt"dH3%0HÁÃH‰nH‰^H‰V1ÀHÇHƒÄ[]A\ÃfL‰È1ÉH…Àu3„ÉuG¾¿H‰T$èNü1öH…ÀH‹T$„sÿÿÿI‹ $H‰I‰$HpHÇ@éHÿÿÿ¹ë°¹Þ@Oºd¾À@O¿Í@OèòŸÿÿH=ûÚ-Hì€è§HÄ€éDûÿÿH=ÜÚ-Hì€è §HÄ€ééûÿÿH=½Ú-Hì€èQ§HÄ€énüÿÿH=žÚ-Hì€èb§HÄ€éýÿÿH=Ú-Hì€è§HÄ€éõýÿÿH=`Ú-Hì€è$§HÄ€é¡þÿÿHƒì¾1Àƒ=¾þ-tð±5TÞ-…¶ë ±5EÞ-…§Ht$ ¿`Ñr考=‰þ-tðÿ Þ-…¡ë ÿ Þ-…“HcD$ HƒÄÃfSH‰ú¾1Àƒ=Nþ-tð±5äÝ-…„ë ±5ÕÝ-…uH‹H­-H‰×¾`Ñrè1ÒHƒë…ÀHIÓƒ=þ-tðÿ ŸÝ-…^ë ÿ ‘Ý-…PH‰Ð[ÃfDSI‰ñA‰ø¾1Àƒ=Ëý-tð±5aÝ-…?ë ±5RÝ-…0H‹Ŭ-¹`ÑrL‰ÎD‰Çè5Hƒëƒ=Šý-tðÿ !Ý-…ë ÿ Ý-…H‰Ø[ÄHƒì‰ú¾1Àƒ=Lý-tð±5âÜ-…þë ±5ÓÜ-…ï¾`Ñr‰×豃=ý-tðÿ ±Ü-…ìë ÿ £Ü-…ÞHƒÄÃH=‘Ü-Hì€èõ¤HÄ€é:þÿÿH=rÜ-Hì€è¥HÄ€éNþÿÿH=SÜ-Hì€è·¤HÄ€élþÿÿH=4Ü-Hì€èȤHÄ€é‘þÿÿH=Ü-Hì€èy¤HÄ€é±þÿÿH=öÛ-Hì€èФHÄ€éÑþÿÿH=×Û-Hì€è;¤HÄ€éòþÿÿH=¸Û-Hì€èL¤HÄ€éÿÿÿH…ö„ÇH…ÿ„¾‹VH‹F…Ò„ŸH‹NH)ÁHÁé ‰‰Pü‹A¹gfff‰ÈA÷é‰ÈÁøÑú)Â’)уù‰ÊwyHcÂ…ÒHOD‹…AOD‹…AO‰VD‰FD‰V t/‹?‰øÁÿA÷éÑú)úHcÂAHH‰F‰ÐÁúA÷øHcÒH‘H‰McÀH‰NJH‰F(1ÀÃfÇ@üéiÿÿÿ@HÇÀÐÿÿÿdǸÿÿÿÿÃfff.„H…ö„H…ÿtz‹WH‹O…ÒtOH‹L‹GL‹O(A‹‰HƒÂÑèI9щvI@H‰I9ÁHFÁH‰G1ÀÃI@H‰ÊH‰H‰G1ÀÀ‹iÀmNÆA90%ÿÿÿ‰‰1ÀÀHÇÀÐÿÿÿdǸÿÿÿÿÃ@H…öu ¸ÿÿÿÿÃD‹FƒøwíL‹F…ÿ¹EÏ…ÀA‰„°D‹^McËIƒù~R¿Aº_ Nƒ€‰ÈA÷ê‰ÈÁøÊÁú)ÂiÂìôÿÿiÒó)ÑiɧAŠÿÿÿ…ÒIÊA‰ ¸HƒÇL9Ï|ÀHcF G›L‰FEÛI€H‰Aƒëx5‹~L‰Á…ÿt2H‹H‹FH‹~(D‹D HƒÂH9×w0HƒÀAƒëH‰H‰FyË1ÀÃ@A‹iÁmNÆA90%ÿÿÿA‰ë¦HƒÀH‰ÑH9ÇIFÀëÄUH…ÉS„!H‹AH…Àt‹Y…Û…aÇ@üHƒú‡8Hƒú‡nE1Ò1ÀHƒú†ÄHcØLN…ÿHcAO‹AOA¸DEÇ…À‰AL‰I‰Y ‰QI‘D‰FH‰Q(„t‹iLcÝIƒû~X¿»_ NƒfDD‰À÷ëD‰ÀÁøDÂÁú)ÂiÂìôÿÿiÒóA)ÐEiÀ§ABD‚ÿÿÿ…ÒDIÂD‰D¾HƒÇL9ß|¸HcA l­L‰IíIH‰ƒíx?D‹YH‹AE…Û„¥H‹H‹YH‹y(D‹DHƒÂH9ׇ§HƒÃƒíH‰H‰YyÁH‹AL)ÈHÁè€AÂ1ÀD‰[]ÃfDHúEÒAƒÂD‰ÐéËþÿÿfH‹iH)ÅHÁíHƒúl­\‰Xü†þÿÿëÆfDHƒú@EÒAƒÂD‰ÐéŽþÿÿDD‹AiÐmNÆAÂ90âÿÿÿ‰é(ÿÿÿHƒÃH9ßwH‰ÃH‰ÐéIÿÿÿ@H‰Ðé=ÿÿÿÇ1ÀéRÿÿÿHÇÀÐÿÿÿdÇdǸÿÿÿÿé3ÿÿÿHÇÀÐÿÿÿëæHƒìèGøÿÿHƒÄÃHÇÀ ÿÿÿ1ÉdL‹éNfffff.„HÇÀ ÿÿÿdL‹é0HÇÀ ÿÿÿ1ÉdL‹éNfffff.„HÇÀ ÿÿÿdL‹é0AWAVAUATUSH‰ûHƒì(…ÉI‹@H‰t$…÷E1ÒE1äƒú„·…Òˆ¯ƒú$¦¶M‹HhI‰ÝH¾ÈAöDI t„IƒÅA¶EH¾ÈAöDI uë„À‰Æ„Â<-„ <+ÇD$„Œ@€þ0„I…Ò„^ƒú @„QJþ1í1ÀHcÉ@„öL‹Í@AO¶‰`BO‰L$„‹L9è„‚HMÿL‰ïE1öE1ÒLcúH‰L$fDNЀù vRH…ít01ÉA84$të&f„E¶ D: u HƒÁH9ÍwìH9é„kI‹Hh@¶ööDq„I‹Hx‹ ±ƒé7¶ñ9òŽùM9Ó‚ÚM9Ú„ÁM¯×¶ÉNHƒÇ¶7@„ö„ÌH9ø…eÿÿÿHƒ|$tH‹D$H‰8E…ö…ƒ|$Hº€HÀHÐL9Ђæ‹T$L‰ÐH÷Ø…ÒIDÂë@HÇÀÐÿÿÿdÇ1ÀHƒÄ([]A\A]A^A_ÃM…Ò…W¹º 1í1ÀéšþÿÿIƒÅA¶uéfþÿÿ€9t$ƒ5ÿÿÿfDHƒÇA¾¶7@„ö…4ÿÿÿI9ý…4ÿÿÿ1ÀHƒ|$t‡L‰èH)ØHƒø~I¾UÿI‹@xIMÿƒ1Àé¼þÿÿIƒÀ¸ºE¶éÀýÿÿA€xþ0uØH‰1Àé”þÿÿAWAVAUATUSH‰ûHƒì(…ÉI‹@H‰t$…ÂE1ÒE1äƒú„§…ÒˆŸƒú$–¶M‹HhI‰ÝH¾ÈAöDI t„IƒÅA¶EH¾ÈAöDI uë„À‰Æ„<-„P<+ÇD$„}@€þ0„ù…Ò„Nƒú @„ABþ1íE1ÛH˜@„öL‹Å@AO¶€`BO‰D$„{M9ë„rHMÿL‰ïE1ö1ÀLcúH‰L$€NЀù vRH…ít01ÉA84$të&f„E¶ D: u HƒÁH9ÍwìH9é„SI‹Hh@¶ööDq„þI‹Hx‹ ±ƒé7¶ñ9ÖéI9‚ÊL9Є±I¯Ç¶ÉHHƒÇ¶7@„ö„¼I9û…eÿÿÿHƒ|$tH‹T$H‰:E…ö…c‹L$H‰ÂH÷Ú…ÉHEÂHƒÄ([]A\A]A^A_ÃDHÇÀÐÿÿÿdÇ1ÀHƒÄ([]A\A]A^A_ÃM…Ò….¸º 1íE1ÛéªþÿÿIƒÅA¶uéuþÿÿfD9t$ƒEÿÿÿfDHƒÇA¾¶7@„ö…DÿÿÿI9ý…Dÿÿÿ1ÀHƒ|$t‡L‰èH)ØHƒø~I¾UÿI‹@xIMÿƒ1ÀéôþÿÿMhE¶P¸ºéþýÿÿA€}þ0u×H‰1ÀéËþÿÿHÇÀÐÿÿÿdÇ"HƒÈÿé´þÿÿHÇÀ ÿÿÿ1ÒdH‹éžfffff.„HÇÀ ÿÿÿdH‹é€AWI‰×M‰ÁIG1ÒAVAUE1íATI‰ÌU‰õSH‰û1ÿHƒì(L‹t$hL‹D$`H‰D$HÇMVë DI‹$¶HЀù vM…öt A:„“LöKL­ƒíH¾ÀHƒÃƒÇ…íLlHÐ~)ƒÿu¼H…Ò…»M‰/@0ÿIÇ$E1íë „A‹…À~ ƒùŽHcÿH…ÒH‹ ý CO…/M‰/IÇ$HƒÄ(H‰Ø[]A\A]A^A_Ã@A¶v@„ö„t@:sL‰ÐH‰Ùt$éNÿÿÿf„D¶YHƒÀHƒÁD8Þ…/ÿÿÿ¶0I‰ÃM)ó@„öuÜLÛ¶éÿÿÿH¹è‰#ÇŠL‰ÿL‰þL‰D$L‰L$L‰$èý-H‰ÁI‹I‹$H‹|$L‹D$L‹L$L‹$IÅL9èM‰/w%1ÀE1í1ÿHÁ„þÿÿI‹$I‰ ÇIƒ$é‹þÿÿHƒê„œH‹HƒÀH…ÀH«tèëÁfDH˜HcÉAÇL¯,Å COH…ÒH‹ Í CO„ÑþÿÿL‰ÿL‰þè_-H‰ÁI‹I‹$IIÅL9èM‰/w&1ÀHÁ„­þÿÿI‹$I‰ ×HƒÂI‰$é˜þÿÿfDHƒêtH‹HƒÀH…ÀH«tìëĸé-ÿÿÿ¸ë²A»é¿þÿÿff.„H‰\$àH‰l$è‰óL‰d$ðL‰l$øHƒì8þüÿÿI‰ÌH‰ýA‰ÕD‰Á}k¸üÿÿ)ðHcØHƒû5>¸D‰ÁHÓàHƒèL…à•À¶ÀA ÁHƒû5„i‰ÙºH‰þD‰L$L‹'èò%D‹L$KÿHÇÀÐÿÿÿ»üÿÿdÇ"I£Ìs0E…É„¨H‹EHƒÀHº H…ÐH‰E…ÙûüÿÿtAû~NE…íu$òŒ H‹\$H‹l$ L‹d$(L‹l$0HƒÄ8Ãòp ëÚfDHºH…иüÿÿEØD‰ê‰ÞH‰ïH‹\$H‹l$ L‹d$(L‹l$0HƒÄ8éÆ;fDH‹E¨…PÿÿÿºHÓâHƒêL…â„^ÿÿÿé6ÿÿÿf.„HÇÀÐÿÿÿfWÀdÇ!éMÿÿÿf„¹ºH‰îH‰ïƒÃè¸$H¸H EéÿÿÿDL‹'1ÀHǹ4M…ä•ÀA Áé—þÿÿAWI‰òI‰ÈAVAUATUSHì…ÒH‹AH‰|$8…vHÇD$HHÇD$@H‹X@L‰D$(L‰T$ H‰ßèL‹D$(L‹t$8H‰D$XL‹T$ Ç„$ I‹@hIƒîf„IƒÆA¶.H¾ÕöDP uí@€ý-„Ë @€ý+ÇD$d„Ñ ¶ „É„!@8éHCL‰ötéD¶~HƒÀHƒÆ@8ú…û¶H‰ÇH)ß„ÒuÞA¶>ÿÿÿ¶x@„ÿuáM9愽„M‰çE1ÉEÐ< †×ƒ|$P„´Hƒ|$@…EM9þM‰ýƒÌHƒ|$H„ÀH‹L$HH‹T$@L‰þL‰÷L‰D$(D‰L$0L‰T$ èœ8I9ÇL‹D$(D‹L$0L‹T$ „}I9Æ„øI9㤠L‰â½ƒq@¶2Mƒî0@€þ FéHƒÂH9ÐwçA‰éI‰Å1öéJf.„H¾Å‹‚ƒèa<‡:ÿÿÿfDAƒÁIƒÇA¶/é ÿÿÿ¶ I‹PpAƒùö„Ét4A8H‰ØL‰ÿt!é®fDD¶_HƒÀHƒÇD8Ù…’¶H„ÉuâL‹l$X1Ƀ|$PD‰ÍO,/A¶EtIxÐ@€ÿ ‡(<0tƒþÿDñIƒÅƒÅƒÁA¶ExÐ@€ÿ ‡ëØ<0EñIƒÅƒÅƒÁA¶ExÐ@€ÿ vH¾ø¶<ºD_ŸA€ûwƒþÿuÑëÊDH¾í¶<ªD‰Í@€ÿp„µ @€ÿe„³L‰èD9Í~€xÿ0HPÿ„öH‰Â…í~ A9é„M…ÒtM‰*…í„Nýÿÿ…ö…ÍD‹¬$ ƒ|$P„~ E…íˆ>‰èD)ÈD9èAOÅF A)ÅD‰ÈD‰L$HAD=5ŽAý½þÿÿŒ¿‹L$HD‰¬$ …ɳHŒ$ðH´$ ¸ºE1ÒH‰L$hH‰´$€HŒ$H´$@H‰L$xH‰t$8+l$HÆ„$ŸÇ„$Œ9ʼnl$p~ƒÂÆ„$ŸÇ„$Œ‰T$p‹T$pH‹t$8HŒ$ H‰œ$½ÀQOA¾H‰L$PE1ÿH‰ËD)êH‰t$HD‰”$˜A‰Õë7€L‹}H‹EH‰ßIƒïH4ÅÈCOJýèT:E…ít\EöHƒÅE…õtïE1õM…ÿtÃH‹EH‹UM‰øH‹|$HH‰ÙH4ÅÈCOHƒêè×H‹UH…ÀM|ÿuIƒïH‹D$HE…íH‰\$HH‰Ãu¤I‰ÙL;L$8H‹œ$D‹”$˜„AH‹T$XH‹D$@I‰ÙH‹L$xL‹„$€L‰ç‹t$pD‰T$ H‰$H‹T$8H‰D$èìôÿÿIOÿD‹T$ H½œÌ H‰L$@Hƒó?…Û~7H‹t$P‰ÙL‰úH‰÷èKH‹t$8H‹”$‰ÙH‰÷è4H…ÀD‹T$ …» IƒÿD‰”$ „„Iƒÿ„9 H‹D$@H‹”$MwþH‹L$PH‹|$8D‰T$ N‹¤ô H‹¬Ä L‰øH)ÐH4Áèk…ÀD‹T$ Ž H‹„$HÇ„Ä@HƒÀH‰„$I9ÇŽ|L‰ûH)ÃE…ÒŽ H‰ÚIcÂHÁâHHƒø5–HÇ„$ðÇD$H‰ØÁàFH‹„$…À~.H‹t$8HcÐHÚHÖfDƒèHcÈH‹ŒÌ@H‰ Hƒê…ÀuçH…Ûx>HsH‰ñHÑéHƒþH< ‡J1ÿH‹T$8Hú€HƒÇHÇHƒÀH9ß~ìAƒú5JÇ„ü J‹Œü@zAwÿIG‰t$XH‰D$pA‰õfH9éHÇÃÿÿÿÿtdH‹T$@H‹œÔ@H‰ÊH‰ØH÷õH‰ÑH‰ÃL‰àH4)H÷ãë@1ÿL9à@’ÇL)àH)úH9ÑrH9ÊuJ;„ô@vHîHƒëHéH‰÷H)ïH9ývÈH‹T$pH‹t$PH‰ÙH‹|$8D‰T$ èÔ1J;„ü@D‹T$ tH‹t$8H‹T$PL‰ùHƒëH‰÷è\D‹T$ H‹t$@‹D$XH‹Œô@…ÀJ‰Œü@~1‹t$X1Àëf‰ÖVÿHcöƒÀHcúH‹¼ü@H‰¼ô@D‰î)Æ…öÙE…Ò…àH…Û„îH½Ó‹„$ ¾@ƒò?)Ö)Ѓþ5‰„$ ŽƒÂ5¹@)щT$HH‰ÚHÓêH‰”$ðIc×D‰ùHƒ¼Ô@u8E…ÿx31öAƒï„D‰úƒé)òHcù÷ÒÁêHƒ¼ü@@”ǃÆ@„×uÛA¸?D‹Œ$ŒD+D$H÷ÑpÿÁéA É‹T$dH‹|$hMcÀH‰ÙèÉóÿÿéÏ÷ÿÿ@H‰Âƒí€zÿ0HBÿtðéþùÿÿIƒÆA¶.ÇD$dé2öÿÿIƒÆA¶.é"öÿÿ‹¼$ …ÿ‰Ôùÿÿ€|$hA‰é…fDHƒê¶¾Èƒé0ƒù wî<0…¦ùÿÿ‹„$ ƒíAƒéƒÀ…퉄$ ކùÿÿ…À‰~ùÿÿë¼@I¾FI‹Ppƒ<‚x„èÆD$hÆD$pÇD$P éöÿÿfD€|$p…9öÿÿA€ûf/öÿÿé÷ÿÿòKù éÆöÿÿD¶+E¶$MT$D¶sëfDE¶IƒÂIƒÄE8ÝuïE„öt3E¶H‰ØL‰âE8ótëÝf„¶zHƒÀHƒÂ@8ùuöH„Éuçƒ|$PµD‹¬$ HcÖEÆHT$X)õA)ÅD‰¬$ IÔ飸ÿÿH¾À¶<‚éCøÿÿ€|$p„BøÿÿA¶UIM€ú-„îE1ö€ú+„íBÐ< ‡øÿÿ€|$h…âE…öE™hu A‰óE)ËAÃ5‹„$ €€¾ÒDBÐA9É„$ ŒRHƒÁ¶zÐ@€ÿ vÖE…öt ÷؉„$ L‰èI‰Íé§÷ÿÿH‹t$@H”$H„$ HŒ$@L‰çI‰ÙH‰„$€H‰T$xH‰L$8H‰t$H‰ÑH‹D$XL‹„$€H‹T$8‹t$HH‰$èîÿÿI‰Ä‹„$ …ÀŽ L‹L$8HŒ$ H‰\$pM‰çH‹”$A½ÀQOA¾H‰L$P‰l$hL‰ËI‰ÌëDH‹”$…À„ÉEöIƒÅD…ðtäI‹mD1ð‰„$ HƒíH9ÕPI‹EI‰èH‰ÞL‰çH ÅÈCOèSH‰êH”$H…ÀH‰”$u HƒêH‰”$H‰Ù‹„$ L‰ãI‰Ìë…I‹EI‰ÐH‰ÙH‰êL‰çH4ÅÈCOèë«€|$h…þÿÿé8öÿÿIMA¶UA¾é þÿÿA¶$I‹@hH¾ÊöDHu,IƒÄA¶$H¾ÊöDHtìëf.„IƒÄA¶$€ú0tò¾Úƒë0ƒû †,I‹HpH¾ÒIƒÄ‹‘ƒëWHcÛ‹4 BOº4GLûƒí)òA41J‰´$ HÓã…íH‰œ$ðŽèL‹L$Xë/HcÿIƒÄƒúŽïJýƒíHÓçH û…íH‰œ$ð޵ƒêA¶ $H¾ùöDxuMÌA¶ $¾ùƒï0ƒÿ v®I‹xpH¾ÉIƒÄ‹<ƒïWHcÿëžI‰ÙL;L$P‹l$hH‹\$pM‰ü„ÒHrÿ‰ÐÁàH½Œô@ƒñ?)È=I ƒø5;l$H…ýXÿ‰ÙÁùÁé ƒà?)ÈH˜Hƒø4„K Hƒø3W ½¹4H´$ð)ÁH‰èH)ÐH‰t$hH<ÆH‹t$8èBH+¬$H…í~1ÀH‹T$hHÇÂHƒÀH9Åê‹T$dH‹|$hE1ÉE1À1ɉÞèîÿÿé òÿÿIMA¶Uéüÿÿ¹ÀPº¾ƒBOL‰÷L‰T$ è¦/…ÀL‹T$ …ÃñÿÿM…Òt-I^¹ÀPº¾‡BOIƒÆH‰ßèu/L‹T$ …ÀIDÞI‰‹T$d…Ò…ñòóó é‰ñÿÿM…Ò…0ñÿÿé.ñÿÿ¹ÀPº¾BOL‰÷L‰D$(L‰T$ è/…ÀL‹D$(L‹T$ …7ñÿÿA€~(I~„àò¦ó M…Ò„(ñÿÿI‰:é ñÿÿxˉûƒç?HcÏÁûH…ÉHcÓ…6H‹L$8HrÿA¸?H‹ÑH‰”$ð1ÉHƒ¼$@u"H‹T$8HƒÂf.„H‹ƒÁHƒÂH…Ûtñ;l$HA¹ HcÉE1ÉH9ñAœÁH‹Œô@‹T$dpÿH¼$ðè|ìÿÿé‚ðÿÿHcÛIƒÄéÝüÿÿH‹”$H‰„Ô@HƒÂH‰”$é$õÿÿI‹@hfDHƒê¶ H¾ùöDxtî€ù0……òÿÿ‹Œ$ ƒíAƒéƒÁ…퉌$ Žeòÿÿ…ɉ]òÿÿ뻀|$hfD„:ðÿÿH‹t$XA¶6pÐ@€þ vH¾À‹‚ƒèa<‡DïÿÿM‰÷éðÿÿH‹„$éõÿÿAƒúö}:H‰œ$ðAƒÂ@éùõÿÿƒ¬$ @Aƒú5H‰œ$ðŽßõÿÿ‹„$ é/÷ÿÿ¸5D)ЉD$HtãH‹t$h‰ÁºH‰÷èN¹@+L$HH‰ØHÓèH „$ðë¶1ÿéîÿÿD‰È÷ØA9ÅAMÅé½ñÿÿIƒÆA¶.ÆD$hÆD$pHÇD$HÇD$Pé îÿÿE…öF2…&ùÿÿA‰óE)ËFéùÿÿHƒ¼$L‹¤$ H‹¬$¨ÕH‹”$@E1íH9ÕI‰Ö†ÎE…ÒŽ/A¿5E)×t'H‹t$hºD‰ùD‰T$ H‰÷èmH‹”$@D‹T$ AƒÂ@Aƒú5I‰ÕE1öM‰á1ɾ@I÷Ù€I9í„þL‰êL‰ðH÷õH‰ÃI‰ÕL‰àH÷ãI|-DI9Õ‚—H…À…~I‰ÎI)ÆIÕE…Ò…¤H…Û„ÐH½Ó‹„$ ‰÷ƒò?)×)Ѓÿ5‰„$ ŽDz5¹@H‰ÚD)ùHÓêH‰”$ðM…í„ÌA¹A¸?pÿE)øé¨õÿÿDL9ê…yÿÿÿ€HïHƒëIíI‰øI)èL)àHƒÚL9ņ@ÿÿÿéMÿÿÿAƒúö}ZH‰œ$ðAƒÂ@éùþÿÿMõs|M)åI‰ÎHÇÃÿÿÿÿMæIƒÕéÿÿÿƒ¬$ @Aƒú5H‰œ$ðŽÁþÿÿ‹„$ éHÿÿÿDA¿5E)×täH‹t$hD‰ùºH‰÷èȹ@H‰ÞD)ùHÓîH ´$ðë·1ÒM…äL‰à•ÂHÇÃÿÿÿÿH)ÐH‰ÂL‰ÈévþÿÿH‹¬$@H‹Œ$ 1ÿA¸@H‰êH‰øH÷ñE…ÒumH…ÀtL½à‹´$ D‰ÃAƒô?D)ãD)æƒû5‰´$ ŽTAƒÄ5¹@H‰ÃD)áH‰ÕHÓèH‰„$ðE1ÉA¸?H…íA•ÁE)àƒîD Œ$Œé ôÿÿAƒúö}GH‰„$ðAƒÂ@éqÿÿÿƒ¬$ @Aƒú5H‰„$ðŽWÿÿÿH‰ÃH‰ÕE1ä‹´$ ëšf.„A¼5H‰ÃH‰ÕE)ÔE…ä~ÙH‹t$hD‰áºH‰÷è‡ ¹@H‰ÞD)áHÓîH ´$ð묋T$dH¼$ðE1ÉE1À1ÉèVçÿÿé\ëÿÿ¹H‰øA¹)ÑA¸?HÓèJ=‹T$dH ØHÓçH‰„$ðH‰ùH¼$ðèçÿÿéëÿÿ€|$h„Sëÿÿé„êÿÿH‹|$8HÁâL‰Îè )H‹”$éøÿÿL‹¬$HL‹´$@E1ÿéyüÿÿH9ÖLAÿ+H‹´Ô@‰ùHÓîH‰´$ðH‰Öé»ùÿÿH´$ðHÁâ‰D$ H‰t$hH‹t$8H‹|$hè—(D‹T$ ¹7ºVUUUD‹¬$ D)щÈÁù÷ê)ÊBépíÿÿM9æ„ÂéÿÿA€ûp…¸éÿÿéƒêÿÿM…Ò„ôéÿÿH‹T$8fWÀI‰é$êÿÿ…À‰Âë ‰ÂBÿHcÒHcÈ…ÀH‹ŒÌ@H‰ŒÔ@uáJÇ„ü J‹Œü@ÇD$Héðÿÿ€¼$Ÿ…&üÿÿE1ÉM…öA•Áéüÿÿƒ|$dHÇÀÐÿÿÿdÇ"„øÿÿò ì é˜éÿÿL‹¬$DKH‹´Ô@A»@I‰ÒA)ËMcÉIƒíI‰ô‰ùƒÃIÓìHcËI)ÒH‹´Ì@D‰ÙI‰öIÓæM æN‰´ÔðM‰ÊIƒÁIIÿL9é|ÃI)ÒM…ÒzþÿÿéhþÿÿH´$ðHÌH‰t$hH‹D$h¾H)ÖH<ðH‹t$8è] H‹”$HkÊøH÷ÚH…ÒH‰„ ðްöÿÿ1ÀH‹L$hHÇÁHƒÀH9Ð|êé“öÿÿ1ÀH…ÿfïÀ„§îÿÿL‹D$8@H‰ÂHƒÀHÁâH9ÈfArêH9þ…îÿÿé îÿÿH‹t$8H‹|$PJýD‰T$ èx&D‹T$ é™ìÿÿI‹HpH‰û€HƒÃ¶PЀú vñH¾Ð‹‘ƒêa€úvâ<_tÞ<)…èöÿÿH´$èHƒÇ1É1ÒL‰T$ è\ÚÿÿH9œ$èL‹T$ „7òaê H{é²öÿÿ¸5D)ЉD$H„líÿÿH‹t$h‰ÁºD‰T$ H‰÷è­ D‹T$ éIíÿÿI‰Å1öE1ÉéöéÿÿIƒì€|$hLDd$8L‰d$8L‰àé5çÿÿkÓÀÇD$H”$ éíÿÿABÀE1ÿ‰„$ éôøÿÿ‹„$ I‰Õ1ÛE1öé—ùÿÿ‹„$ 1Ûéêîÿÿ½H´$ðH‰èH)ÐH‰t$hHÁâH<ÆH‹t$8è$%H+¬$1ÀH9èÔôÿÿH‹T$hHÇÂHƒÀëäH‹t$@M‰ô¶>@€ý0tG@„ÿtMA:<$…ýåÿÿH‹t$@ID$ëD¶HƒÆHƒÀE8Ù…ÜåÿÿD¶NI‰ÃM)ãE„ÉuÛIƒëMÜIƒÄA¶,$ë¨IƒËÿëìHÇÀÐÿÿÿdÇ"é æÿÿHÇÀÐÿÿÿdÇ"é¸ôÿÿ÷ÚDR@é³öÿÿƒþÿtHÇÀÐÿÿÿE…ödÇ"tRƒ|$dH¸€u1ÀHƒÁ¶ƒê0€ú vñH‰D$M…ÒòD$„æÿÿI‰ H‰D$éôåÿÿE‰âA÷ÚAƒÂ@éüùÿÿƒ|$dH¸ðt°H¸ðÿë¤÷ÚDR@é§øÿÿHºÿÿÿÿÿÿH…Ð…“1Ò¹HÁá H¸ð‰ÒH ÈH ÐH‰D$òD$é‘ýÿÿH‹PPH‰T$H¶ƒê€ú}‡rãÿÿH‹pHH‰t$@€>…rãÿÿé[ãÿÿH‹t$@L‰øëD¶HƒÆHƒÀD8ß…œåÿÿ¶>I‰ÃM)û@„ÿuÝO|ÿéHæÿÿH‰Á‰ÂHÁé áÿÿé`ÿÿÿ„H‰Ñ1ÒéÖâÿÿS‹¾ ¸>HcûfD1Ò1ö‰ßè}Vƒøÿu HÇÀÐÿÿÿdƒ8tã¾1Àƒ=}Æ-tð±5_§-…üë ±5P§-…í‹@§-ƒè…À‰5§-u"1Ò¾ s¿èº1Ò¾s¿è©ƒ="Æ-tðÿ §-…Áë ÿ ÷¦-…³[ÃAT1ÀI‰ü¹¾USHìpHT$HÇ$Ç„$ˆH‰ãH‰×óH«ƒ=¾Å-tð±5 ¦-…{ë ±5‘¦-…l‹¦-P…À‰v¦-u4ºsH‰æ¿èú…Àˆ)º sH‰æ¿èà…ÀˆDƒ=QÅ-tðÿ 4¦-….ë ÿ &¦-… H¬$ Hs1ÿHL$H‰êèµ…Àˆ ¸1ÛH…À•Ã…Û…H„$hHÇ„$@[EH‰„$HH”$h1ö¿¸8H=ðÿÿ‡Àƒø‰Ç‰„$h„L¤$l} ë7@‹¼$h1ÒL‰æègTH˜Hƒøÿu HÇÂÐÿÿÿdƒ:tÚHc”$hH9Ðt Ç„$lÿÿÿÿ…Û…Ò¾1Àƒ=DÄ-tð±5&¥-…?ë ±5¥-…0‹¥-ƒè…À‰ü¤-ur1Ò¾s¿èŽ1Ò¾ s¿‰ÃènŽ…Àu…ÛtFÇ„$lÿÿÿÿƒ=ÔÃ-tðÿ ·¤-…ïë ÿ ©¤-…á‹„$lHÄp[]A\Ã@1ÒH‰î¿è1Ž…Àt²Ç„$lÿÿÿÿë¥H¼$@1öè!¡ºÿéÿÿÿ@H”$hH¼$@¾[Eèþ ºÿémþÿÿƒ-*¤-ƒ=;Ã-tðÿ ¤-…uë ÿ ¤-…g¸ÿÿÿÿédÿÿÿHÇÃÐÿÿÿƒ-î£-d‹+1Ò¾s¿èrd‰+뫾1Àƒ=ßÂ-tð±5Á£-…7ë ±5²£-…(‹¢£-ƒè…À‰—£-…gÿÿÿHÇÃÐÿÿÿ1Ò¾ s¿d‹+èë‰1Ò¾s@·HÇ„$ COHÇ„$(COL‰¤$0HÇ„$8èÑŒ1Ò¾ s¿èÀŒ1ÒH‰î¿èÑŒH‹R®-H´$ ¿COÇÿ¢-Çñ¢-è¤U¿èJUHÇÂÐÿÿÿ÷ØÇ„$hÿÿÿÿd‰éyýÿÿfffff.„SHƒìH…ÿt‹ÀÁ-…Àu$HƒÄ[é²ûÿÿf¿ COè¦ûÿÿ…À”À¶ÀHƒÄ[ÃH‰|$èŽjH‹|$‰Ãè‚ûÿÿ‰ß‰D$èj‹D$ëÓH=V¢-Hì€èniHÄ€éôúÿÿH=7¢-Hì€èiHÄ€é.ûÿÿH=¢-Hì€è0iHÄ€éuûÿÿH=ù¡-Hì€èAiHÄ€éÁûÿÿH=Ú¡-Hì€èòhHÄ€é±üÿÿH=»¡-Hì€èiHÄ€éýÿÿH=œ¡-Hì€èähHÄ€ézýÿÿH=}¡-Hì€è•hHÄ€é¹ýÿÿH4ÎH<ÏHÊH÷Ù1ÀH‹ÎL‹ÊLÐH‰ÏHÿÁuìH‰ÈHÀÃH‰ÐHƒèx@H‹ ÇL‹ÆL9Áu:HÕðÿÿÿH×HÖëf.„H‹L‹HƒïHƒîL9Áu Hƒèyç1ÀÃ@I9ÈÀƒàƒèÃo|Öønɸ@)ÈnÀoßÓøH~øHƒê|4fo4ÖoÖÓðóÙëÞ\×to|ÖøoßÓøóÑë××Hƒê}ÎoÓóÑwÃo>nɸ@)ÈnÀoßóøH~øH4ÖH<×H÷ÚHƒÂ4otÖøoÖóðÓÙëÞ\×ðto<ÖoßóøÓÑë×T×øHƒÂ~ÍoÓÓÑWøwÃUH‰åAWI‰×AVI‰þAUATI‰ÌSL‰ÃHƒìhIƒøH‰uÈ•1ÀM…Àt~H‹ Hƒù†!H‹uÈè¸OþHƒûI‰~[L‰}ÀIƒÆI‰ßA½L‰Ãë&DH‹UÀH‹uÈL‰÷è0™J‰ëIƒÅM9ï~#IƒÆK‹ ìHƒùwÕ„Ÿ1ÀJ‰ëIƒÅM9ïÝHeØ[A\A]A^A_ÉÃL‰ÀL‰âH‰ÙHÁàL,ÝHƒÀH)ÄH‰E¸HD$HƒàðH‰EÀI‰Àè{H‹EÈM‰ûK.I)ÛH‰U¨LèL9ÛH‰EÈŽñM…Û… IDÿI‹ÆHeØ[A\A]A^A_ÉÄH‹MÀH‹UÈL‰öL‰÷è=ýÿÿé(ÿÿÿ„„¢H…Ò€ކH‰øƒàHÁèH9ÂHFÂH…À„YH9ÂHÇt`ºM‰ùI)ÁL‰ÎHÑîI‰ðMÀt(fïÀI<Æ1ÀH‰ÁHƒÀHÁáH9ÆfwëLÂM9ÁtIÖ€HƒÂHÇHƒÀI9×ì1ÀéEþÿÿDH…Ò~ïHƒúv @öÇ„/H‹MÈ1ÀDH‹ÁI‰ÆHƒÀL9øuï1ÀéþÿÿH‹MÈH‹}ÀM‰ØL‰xÿÿÿH‰ÚL‰æè£ýÿÿH‹u¨H‹UÀH‰ÙH‰÷è üÿÿH‹MÀL‹xÿÿÿLéLm¨H‹1HƒÁHðI‰EIƒÅH9ÆwGI9Í„~þÿÿIƒëM…ÛŽqþÿÿIƒû‡1ÀDH‹ÁI‰TÅHƒÀI9ÃîéIþÿÿf„Iƒë„6þÿÿH‹HƒÁHƒÀI‰EIƒÅH…ÀtÞë•@H+e¸H‰ØM‰ÚH÷ØI)ÚL‰uˆL‰}€M‰îL‰e˜H‰EM‰ÔHT$HƒâðH‰U¸LêH‰U HƒÂH‰U°H‹U¨NL*I‰×M‰Í€L‹EÀH‹U˜H‰ÙH‹uÈH‹}¸èø H‹U¸L‰þL‰ÿH‰ÙM÷èûÿÿH‹U L‰îH‰ßH‹ H‹U°HÈH9ÁI‰Eøw}H9Öt)HƒïH…ÿ~ Hƒÿwr1ÀH‹ ÂH‰ ÆHƒÀH9Çï€M‰ãLeLuÈMõJ#H9ÃŽmÿÿÿL‰}¨M‰õL‹}€L‹uˆL‹e˜é ýÿÿDH‹HƒÂHƒÀH‰HƒÆH…ÀuƒHƒïuãë©@öÆ@u„HBH9Æw HFH9†nÿÿÿI‰øIÑèM‰ÁMÉ„“1À1Éf.„óoHƒÁfHƒÀI9ÈwéL9Ï„HÿÿÿJÍHÂHÆfH‹IƒÁHƒÂH‰HƒÆL9ÏééÿÿÿAöÅ…óýÿÿHAI9Åw IEH9Á†ÚýÿÿL‰ÚHÑêH‰×Hÿ„ñ1À1öóoHƒÆfADHƒÀH9òwçI9ûH‰ø„üÿÿHÅHÑITH‹1HƒÀHƒÁH‰2HƒÂI9ÃééÔûÿÿH‹EÈHƒÀH9ÇwHGH9EȆ¶üÿÿL‰ùHÑéH‰ÎHötiH‹}È1À1ÒóoHƒÂfAHƒÀH9ÑwèI9÷H‰ð„XüÿÿH‹MÈHÅHÑIf„H‹1HƒÀHƒÁH‰2HƒÂI9Çé1Àéjúÿÿ1ÀëÂ1Àé4ÿÿÿ1ÒDé¬ûÿÿE1Éé“þÿÿI‰ÓH4ÖH<×I÷ÛE1ÀJ‹ÞH÷áLÀA¸IÐJ‰ßIÿÃuäL‰ÀÃAVAUI‰õATI‰üUH‰ÕSH‹Hƒù†‚èÿÿÿM4ìHƒýI‰~KIƒÄ»ë$DH‰êL‰îL‰çè"“I‰ÞHƒÃH9Ý~ IƒÄI‹LÝHƒùwÖt1ÀI‰ÞHƒÃH9Ýà[]A\A]A^Ã@H‰éL‰êL‰æL‰çè·÷ÿÿë³D„¢H…Ò€ŽHH‰øƒàHÁèH9ÐHGÂH…À„BH9ÂHÇt`ºI‰èI)ÀL‰ÃHÑëH‰ßHÿt(fïÀI4Ä1ÀH‰ÁHƒÀHÁáH9ÃfwëHúI9øtIÔ€HƒÂHÇHƒÀH9Õì1ÀéàþÿÿDH…ÒŽ­Hƒúw"1À€I‹TÅI‰ÄHƒÀH9èuî1Àéªþÿÿ@öÇuØHFH9Çw HGH9ÆvÆH‰éHÑéH‰ËHÛtl1À1ÒDóAoDHƒÂfAHƒÀH9ÑwæH9ÝH‰Ø„nÿÿÿHÅILIH‹HƒÀHƒÁH‰HƒÂH9Åé1Àé%þÿÿIÇìépþÿÿ1Àë¼1ÒéÈþÿÿ€AWAVI‰öAUI‰ÕATI‰ÌUH‰ýSHƒì8öÂtqHZÿHƒûŽÃH‰ÚèËÿÿÿL<ÝH‰ÚL‰öO$>N|=I‹ $L‰ÿèøH‰ÚL‰öL‰ÿHÁâH‰*I‹ $L‰êN,+è×J‰DíHƒÄ8[]A\A]A^A_ÃH‰ÓHÑûHƒûŽH ÝHÕH‰ÚL<H‰D$HøH‰L$H‰ÇL‰áL‰þH‰$è*ÿÿÿH‰ÚL‰öL‰ÿè|õÿÿ…Àˆ¼H‰ÙL‰òL‰þH‰ïèS Hƒû‘H‰ÚH‰îL‰çèËüÿÿH…ÛŽ*HƒûHtÝJ|í‡Î1À@H‹HƒÀHƒÇH‰HƒÆH9ØuéIDH‹4$H‰ÙHDÅH‰÷H‰ÂH‰D$èÀôÿÿL‹|$L‰éL‰âH‰D$ N|=L‰þL‰ÿèÀ HƒûH‰D$(ŽñH‹L$H‰ÚL‰öL‰çI èJþÿÿL‰âL‰éL‰þL‰ÿèiôÿÿH‹T$ H+T$(HÐt:H‹T$H‹ HÈH9ÁH‰v'H‰×H‰ÚHƒÇDHƒêtH‹HƒÀH…ÀH«tì@H…Û~+Hƒû‡™1À€I‹ÄH‰TÅHƒÀH9ØuîfDH‹T$H‰ÙL‰þL‰ÿIèÙóÿÿH…À„þÿÿH‹ $H‹HBH9ÂH‰†þÿÿH‰ÏHƒÇfIƒí„ôýÿÿH‹HƒÀH…ÀH«tèHƒÄ8[]A\A]A^A_Ãf„HÕHÝH‰T$HúL<H‰$H‹<$H‰ÚL‰þH‰D$èüúÿÿéíýÿÿ€H‰Úèèúÿÿé8ýÿÿ@öÆ…(þÿÿHGH9Æw HFH9džþÿÿH‰ÙHÑéI‰ÈMÀ„Œ1À1Òf.„óoHƒÂfHƒÀH9ÑwéL9ÃL‰À„ìýÿÿJ(HLÕHHTÕH‹1HƒÀHƒÁH‰2HƒÂH9Ãéé»ýÿÿ@H‹L$H‰ÚH‰îL‰çI èQüÿÿéjýÿÿ@@öÅ…]þÿÿID$H9Åw HEI9ĆFþÿÿH‰ÙHÑéH‰ÎHö„Ú1À1ÒóAoHƒÂfDHƒÀH9ÑwçH9óH‰ð„+þÿÿH ÅI HÍ@H‹ HƒÀHƒÂH‰MHƒÅH9ÃèéûýÿÿIDH‹4$H‰ÙHDÅH‰÷H‰ÂH‰D$èÇñÿÿL‹|$L‰éL‰âH‰D$ N|=L‰þL‰ÿèÇH‰D$(fH‰ÚL‰öL‰çèBùÿÿéýÿÿDH‰ÙL‰úL‰öH‰ïè—é?üÿÿ1Àéžþÿÿ1ÀéHÿÿÿAWI‰÷AVAUI‰ÕATI‰üUH‰ÍSHƒìH‹ Hƒù†‘H‰êè¡øÿÿM4ìHƒýI‰~OIƒÄ»ë(f„H‰êL‰þL‰çè"ŒI‰ÞHƒÃH9Ý~ IƒÄI‹LÝHƒùwÖt$1ÀI‰ÞHƒÃH9ÝàHƒÄ[]A\A]A^A_ÃfDH‰éL‰úL‰æL‰çè¯ðÿÿë«D„ªH…퀎PH‰øƒàHÁèH9èHGÅH…À„JH9ÅHÇthºI‰èI)ÀL‰ÃHÑëH‰ßHÿt0fïÀI4Ä1Àf„H‰ÁHƒÀHÁáH9ÃfwëHúI9øtIÔ€HƒÂHÇHƒÀH9Õì1ÀéÌþÿÿDH…펭Hƒýw!1À€I‹ÇI‰ÄHƒÀH9èuï1Àé—þÿÿ@öÇuÙHFH9Çw HGH9ÆvÇH‰éHÑéH‰ËHÛtm1À1ÒfDóAoHƒÂfAHƒÀH9ÑwçH9ÝH‰Ø„oÿÿÿHÅI IH‹HƒÀHƒÁH‰HƒÂH9Åé1ÀéþÿÿIÇìé`þÿÿ1Àë»1ÒéÀþÿÿ€AWI‰÷AVI‰ÖAUI‰ÍATM‰ÄUH‰ýSHƒìHöÁtfHYÿHƒûŽXH‰ÙèÈÿÿÿLdÝI‹ ÞH‰ÚL‰þL‰çèñ‰H‰ÚL‰öL‰çHÁâH‰*I‹ ßL‰êN,+èЉJ‰DíHƒÄH[]A\A]A^A_Ã@H‰ËHÑûHƒûŽ˜HÝH ÍH‰D$(HÐH‹T$(H‰L$8HùH‰D$H‰L$ H‹|$ H‰ÙHòH‰T$H‹t$H‰ÂèÿÿÿH‹|$H‰ÚL‰þè\îÿÿ…ÀˆtH‹t$H‰ÙL‰úH‰ïè1ÇD$0ÇD$H‹|$H‰ÚL‰öè!îÿÿ…Àˆ H‹D$(H‹t$L‰òH‰ÙHèH‰ÇH‰D$èé‹T$0‰T$Hƒû¯H‹T$H‰ÙH‰îL‰çèDüÿÿH…Û~?HƒûHtÝJ|í‡1Àf„H‹HƒÀHƒÇH‰HƒÆH9Øuéf„IDH‹t$ H‰ÙHDÅH‰÷H‰ÂH‰D$è>íÿÿH‰D$0‹D$…À„ýH‹t$L‰âL‰éH‰÷è:H‹T$0H)ÂH‰T$Hƒû«H‰ÙL‰òL‰þL‰çè’ûÿÿH‹t$L‰éL‰âH‰÷èßìÿÿHD$t8H‹L$H‹HÐH9ÂH‰v%H‰ÏH‰ÚHƒÇHƒêtH‹HƒÀH…ÀH«tì@H…Û~+Hƒû‡¡1À€I‹ÄH‰TÅHƒÀH9ØuîfDH‹T$(H‹t$H‰ÙIH‰÷èWìÿÿH…À„£ýÿÿH‹D$ H‹L$ H‹HBH9ÂH‰††ýÿÿH‰ÏHƒÇf.„Iƒí„kýÿÿH‹HƒÀH…ÀH«tèHƒÄH[]A\A]A^A_Ãf„HÝH ÍH‰D$(HÐH‹T$(H‰L$8HùH‰D$H‰L$ H‹|$ H‰ÙHòH‰T$H‹t$H‰ÂèDúÿÿécýÿÿ€H‰Ùè0úÿÿé£üÿÿ@öÆ@…ïýÿÿHGH9Æw HFH9džÖýÿÿH‰ÙHÑéI‰ÈMÀ„Î1À1ÒóoHƒÂfHƒÀH9ÑwéL9ÄÈýÿÿK(HTÅJHDÅfDH‹ IƒÀHƒÂH‰HƒÀL9Ãéé”ýÿÿ@@öÅ…UþÿÿID$H9Åw HEI9Ć>þÿÿH‰ÙHÑéH‰ÎHö„51À1Òf„óAoHƒÂfDHƒÀH9ÑwçH9óH‰ð„þÿÿH ÅI HÍ@H‹ HƒÀHƒÂH‰MHƒÅH9ÃèéëýÿÿL‹D$8H‰ÙL‰òL‰þL‰çOèûÿÿéGýÿÿf„H‹t$L‰éL‰âH‰÷èêÿÿHD$0H‰D$éýÿÿfDL‹D$8H‹T$H‰ÙH‰îL‰çOèÌúÿÿéHüÿÿ€H‹L$(H‹T$L‰öHéH‰L$H‹|$H‰ÙèÞéøûÿÿf„H‹T$H‰ÙL‰þH‰ïè½ÇD$0ÇD$é‡ûÿÿ1ÀéöþÿÿE1ÀéQþÿÿf„UH9ÖH‰ÈH‰åt4Hƒù~HÁáHƒÁH)ÌH‰ÁLD$Iƒàðè"úÿÿÉÃèÛ÷ÿÿÉfÀHƒùH‰Ê€èËðÿÿÉÃf„H‰ÊHÁâHƒÂH)ÔH‰ÂHL$HƒáðèÁòÿÿÉÃH4ÎH<ÏHÊH÷Ù1ÀH‹ÎL‹ÊLÐH‰ÏHÿÁuìH‰ÈHÀÃI‰ÓJ4ÞJ<ßI÷ÛE1À€J‹ÞN‹ßH÷áM)ÂA¸EÀI)ÂIÐN‰ßIÿÃuÚL‰ÀÃH‹fÆÿHÁâ?æÿHÁæ4‰ÁH òH¾ÿÿH!ðH ÊH ÂH‰T$øòD$øÃAWH…ÉI‰øAVAUATUSH‰L$ð„Ê1ÀHƒÉÿH‰×ò®L9ÆH÷ц¬HƒéH‰L$èHnÿI9è‡L‹\$èD¶ Nëf„HƒíIƒëI9èwxE¶cÿE8ÌuéD¶RE„Òt(E:SþH‰ÐL‰ÙtëѶyýHƒÀHƒé@8ûu¿¶X„ÛuçI9èw7H‹L$ðH‰óH)붾ȃÁHcÉH9Ët.~'H¾ÀHtI9ð‚]ÿÿÿL9ÆIBð[]A\A]A^H‰ðA_ÃH‰îëÝLuÿH‹D$ðL‰t$øf.„D¶hLxE„íuD¶(I‰ÇE„íL‰÷ˆ¦A€ý„œM9ð‡ Hl$èE„äM‰ót;€D8MÿuRH‰ÓH‰éD‰Ð뀶yþHƒÃHƒé@8Çu/¶C„ÀuçL‰ßM9؇°M)ÞM¾íM9îu,L‰øH‰ýLwÿé`ÿÿÿIƒëHƒíM9Øv›M)ÞM¾íM9õÿÿÿH‹t$øéþþÿÿM9ð‡ÿÿÿL‹\$èE„äN\t2E:Kÿu:H‰ÓL‰ÙD‰Ð뀶iþHƒÃHƒé@8Åu¶C„ÀuçI9ø†wÿÿÿé¶þÿÿHƒïIƒëI9øv³é þÿÿI)þésÿÿÿE1öékÿÿÿH‰\$àH‰ûH‰l$èL‰l$øL‰d$ðHƒì(L‹c(‰õH‹s H‹¿àE‰åA)õu4L;c0spAˆ,$IƒÄ@¶ÅL‰c(H‹\$H‹l$L‹d$L‹l$ HƒÄ(ÃDH‹‡ØMcíL‰êÿP8HPÿI‰Ä¸ÿÿÿÿHƒúýwÀH‹{ L‰êL)âJ4'I÷Üè0ïLc(L‰c(ëŠ@¶õH‰ßH‹l$H‹\$L‹d$L‹l$ HƒÄ(é.fH‰\$àH‰l$èH‰ûL‰d$ðL‰l$øHìH!‹‡À…À…TLJÀÿÿÿÿ‹CtH‰çH‰œ$à HÇ H‰¤$( H‰¤$ H‰¼$0 Ç„$À ÿÿÿÿE1äÇ„$ €­ûHÇ„$ˆ ‰„$t HÇ„$Ø `[OèЉŸH…ÀA•ÄE…ä… HÇ„$!P!FH‰œ$!fƒ;xJH‹“ˆdL‹%L9Bt0¾1Àƒ=k¤-t ð±2…ŠTë ±2…TH‹“ˆL‰BƒBH‹´$ L‹¬$( A)õE…í~H‹ƒØIcÕH‰ßÿP8A9ŸÿÿÿÿEèfƒ;xH‹“ˆ‹Bƒè…À‰BtxE…ät!H¼$!1ö蔺ÿëfƒøÿ„­þÿÿ½ÿÿÿÿ‰èH‹œ$(!H‹¬$0!L‹¤$8!L‹¬$@!HÄH!ÄH¼$!H‰Ú¾P!Fè;ºÿéñþÿÿfDHÇBƒ=q£-t ðÿ …¬Sëÿ …¢Sé_ÿÿÿ€UH‰åAWI‰ÏAVAUATI‰ÔSH‰ûH‰ÏHƒìH‰uÈèšÖA¶ $I‰ÅAÿ<}vHeØH‰Ø[A\A]A^A_ÉÃf„H‹UÈH‰ÞˆMÀH)ÚHBHƒàðH)ÄLt$IƒæðL‰÷è×øI9ÆH‹]ȶMÀs¯AUÿ¾ÉIƒÄHcÒI×f„HƒèHƒëƒé¶ˆu^I9ƃzÿÿÿL‰ù1Ò¶1HƒëHƒêHƒé@ˆ3B4*…öæA¶ $„Éx€ùt„Ét4¾ÉIƒÄë«HƒèHƒë¶I9ƈrîé&ÿÿÿI9Ær‹éÿÿÿA¾L$ÿfésÿÿÿUH‰åAWAVAUATI‰ôSH‰û¿øROHƒìHH‰U˜èËH¿.I‰ÅH‰ÆèKIL‰î¿,A‰Çè;IM…íA‰Æ…uL‰âH)ÚHú‡&HBA¾HƒàðH)ÄLd$IƒäðH‰ÞL‰çè—÷H‹]˜I‰ÇIƒïM9üwvA¶PЀú ‡‡HÇÂÿÿÿ¾Àƒè·ÀdH‹H‹H‹TÂ@H‰×H‰Uè¿ÔH)ÃH…ÀH‹Ut³H4H<1Éf„¶TÿˆTÿHƒéHH…ÒuêIƒïM9üvŠE„öuL‰çèÄ—HeØH‰Ø[A\A]A^A_ÉÃfM…íu HƒëˆéPÿÿÿ<,„Ù<.uéHU°H‰×1ÀHƒÉÿò®H÷ÑHƒéH)ËHÊH ë ¶2Hƒé@ˆ0HƒêHƒèH…ÉuééÿÿÿH‰×H‰UèJH…ÀH‹U…ÂþÿÿH‰×H‰UE1öèï¥H…ÀI‰ÄH‹U…½þÿÿéVÿÿÿHMÀH}°D‰þHÇEÀH‰ÊH‰Mè›HƒøÿH‹MufÇE°.H} H‰ÊD‰öHÇEÀètHƒøÿ…;þÿÿfÇE ,é0þÿÿHU é&ÿÿÿfDUH‰åH‰]ØL‰mèI‰ÕL‰uðL‰eàH‰ûL‰}øH쀋—ÀHÇÀÐÿÿÿI‰ö…ÒdD‹8…oLJÀÿÿÿÿD‹#AöÄ…°M…ö„AöÄ……I‹E¾%L‰÷H‰…ðþÿÿI‹EH‰…øþÿÿI‹EH‰…ÿÿÿè×fE…äH‰…ÐúÿÿÇ…Üúÿÿxz¸H…À…%HÇ…ÐþÿÿP!FH‰ØþÿÿÇ…ÜúÿÿfE…äxJH‹“ˆdL‹%L9Bt0¾1Àƒ=ìž-t ð±2…AOë ±2…6OH‹“ˆL‰BƒBL‹¥ÐúÿÿH‹ƒØL‰öH‰ßM)ôL‰âÿP8I9Ä„ÈA¼ÿÿÿÿfƒ;x8H‹“ˆ‹Bƒè…À‰Bu$HÇBƒ=qž-t ðÿ …âNëÿ …ØN‹…Üúÿÿ…Àt!H½Ðþÿÿ1öèô{ºÿëfƒúÿ„’þÿÿA¼ÿÿÿÿD‰àH‹]ØL‹eàL‹mèL‹uðL‹}øÉÄdÇA¼ÿÿÿÿëÐL‰êL‰öH‰ßè’øÿÿA‰Äë¼DdÇ ë¨€Iüÿÿÿ‡*ÿÿÿD‹¥ÐúÿÿH‹…ÐúÿÿE)ô€8„ÿÿÿH•àúÿÿH½PÿÿÿD‰½ÌùÿÿÇ…üùÿÿÇ…€úÿÿI‰ÇHÂèHƒÇ HÇ…8úÿÿÿÿÿÿH‰•úÿÿHÇ…ðùÿÿH‰½àùÿÿL‰µØùÿÿMwE¶¸ö‘EAWà€úZwA¾Çƒè H˜¶€[OH‹ÅZOH‹•úÿÿHÿÿÿÆ…Púÿÿ Ç…úÿÿÇ…¸úÿÿÿÿÿÿÇ…œúÿÿÇ…$úÿÿH‰•ÈúÿÿÇ…°úÿÿÇ…xúÿÿÇ…„úÿÿÇ…HúÿÿÇ…DúÿÿÇ…lúÿÿÇ…@úÿÿÇ…LúÿÿHÇ… úÿÿH‰ˆùÿÿÿàIƒÆE¶>AGà‰•ˆúÿÿ‰Ê¶Nƒâ‰½Àúÿÿ‰•Äùÿÿ¶~‹V,ˆÓùÿÿƒúÿ@ˆ½úÿÿt"H‹púÿÿHcÒHÁâ‹ …Ò‰•ˆúÿÿ‰Vˆ¯7‹F(ƒøÿt H‹½púÿÿH˜HÁà‹8…À‰…Àúÿÿ‰ˆP:‹…ˆúÿÿ9…Àúÿÿ‰ÂM•ÀúÿÿúÈޱ-J HcÉHù‡?6HƒÁHcÂHÇ… úÿÿHƒáðH)ÌHL$HƒáðHD H‰…ÈúÿÿL‹–-M…À„-L¾úÿÿKƒ<È„ -L‹V81ÉJÕHƒàðH)ÄHT$Hƒâðë‰ÈF0ƒÁHÁàH…púÿÿH‰ú‰ÏL9×râH‰ßCÿȃøþ„¼,…ÀˆªAüþÿÿ†T ¹\Oºs¾SO¿HSOè6ÿÿHc…€úÿÿH‹•¨úÿÿHkÀHHÂH…Ò„Ñ>H‹¨úÿÿH‹½púÿÿHcD0HÁàL‹ 8M…É„À*ƒ½úÿÿ„ó#ƒ½ÀúÿÿL‰hÿÿÿHÇ…Pÿÿÿˆš6Hc•ÀúÿÿHú‡½=HBE1ÒHƒàðH)ÄLL$IƒáðHµhÿÿÿHPÿÿÿL‰ÏL‰ ùÿÿD‰•¸ùÿÿèaHƒøÿI‰ÀL‹ ùÿÿD‹•¸ùÿÿ„¬‰ÁD‹ˆúÿÿA)ˈ>.ƒ½úÿÿu|E…ÛtwIcÓ¾ H‰ß‰¨ùÿÿL‰…˜ùÿÿL‰ ùÿÿD‰•¸ùÿÿD‰°ùÿÿèä°Aüþÿÿ‹¨ùÿÿL‹…˜ùÿÿL‹ ùÿÿD‹•¸ùÿÿD‹°ùÿÿ‡ò6‰Â¸ÿÿÿD)à9‡F$"E…äˆé4H‹ƒØL‰ÂL‰Î‰¨ùÿÿL‰…˜ùÿÿH‰ßL‰ ùÿÿD‰•¸ùÿÿD‰°ùÿÿÿP8L‹…˜ùÿÿ‹¨ùÿÿL‹ ùÿÿD‹•¸ùÿÿD‹°ùÿÿL9À…¬IcÔ¸ÿÿÿH)ÐI9À‡˜Ã½úÿÿtFE…ÛtAIcÓ¾ H‰ßè°AüþÿÿL‹ ùÿÿD‹•¸ùÿÿ‡#6‰Â¸ÿÿÿD)à9‡JF$"E…Ò„øúÿÿL‰ÏèŠéëúÿÿH‹C(H;C0fƒ{9Æ%HƒÀH‰C(Aüÿÿÿ„AƒÄéiøÿÿƒ½°úÿÿ„Ô/A‹Uƒú/‡†-‰ÐIEƒÂA‰UH‹I‰ÀH‰ÂÇ…„úÿÿ IÁè?H÷ÚE…ÀHEÂH‰…xúÿÿƒ½¸úÿÿŒ[…}5Hƒ½xúÿÿ„|E1ÉÆ…Púÿÿ ‹•„úÿÿH‹µÈúÿÿ1ÉH‹½xúÿÿA€ÿXD‰…˜ùÿÿ”ÁL‰ ùÿÿè¯sHƒ½8úÿÿH‰…¸úÿÿD‹…˜ùÿÿL‹ ùÿÿt;ƒ½Húÿÿt2H‹ðùÿÿH‹•8úÿÿH‰ÇH‹µÈúÿÿèêîÿÿL‹ ùÿÿD‹…˜ùÿÿH‰…¸úÿÿƒ½„úÿÿ „PH‹½¸úÿÿH‹…ÈúÿÿH‰½°úÿÿH)øL9È$L‰ÈH+…Èúÿÿ‹lúÿÿH…°úÿÿºHH…ɉ…Húÿÿ….‹•°úÿÿ‹Èúÿÿ‰•$úÿÿ‹•œúÿÿ‰lúÿÿ)Ê•$úÿÿ)ÂHƒ½xúÿÿ•À"…Lúÿÿˆ…Lúÿÿt ƒ½„úÿÿBþDЃ½@úÿÿ„áƒê€½Púÿÿ „@"E…À„‚H‹C(H;C0ƒè=Æ-HƒÀH‰C(Aüÿÿÿ„AƒÄ€½Lúÿÿt ƒ½„úÿÿ„Ž#•Húÿÿ…Ò~3HcÒ¾0H‰ßè[­Aüþÿÿ‡‰Â¸ÿÿÿD)à9‡² F$"E…äˆ30L‹½ÈúÿÿL+½°úÿÿH‰ßH‹ƒØH‹µ¸úÿÿL‰úÿP8I9Ç…w IcÔ¸ÿÿÿH)ÐI9LJc ‹…lúÿÿ+…$úÿÿF$ é¸õÿÿIƒÆE¶>Ç…@úÿÿAGà…YÿÿÿL‰½¨úÿÿD¶½ÀúÿÿM‰áH‹ˆúÿÿD‹¥ úÿÿL‹­púÿÿH‹E˜I9ÁICÁH‰ÂH‰…Èúÿÿ‹CtHÁâHJƒàHƒáðH)ÌH‰¨ùÿÿLL$IƒáðƒøöL‰ÏL‰ ùÿÿ÷ÖèìÙH‹…ÈúÿÿH‹¨ùÿÿL‹ ùÿÿHÁàHƒÀH)ÄHT$H)ÌL\$HƒâðIƒãðHƒ½(úÿÿH‰• úÿÿH‰•púÿÿ„ÄL‹…¨úÿÿE1ÒD‰¥ÀúÿÿL‰µˆúÿÿM‰ÔH‰úÿÿE‰úM‰ÞM‰ïL‰ÃM‰ÍëGHcS0LcCH‰ßH‹V‘-Dˆ•¸ùÿÿHÁâI ITBÿÀD¶•¸ùÿÿIƒÄHƒÃHL;¥(úÿÿƒ)‹C,ƒøÿt H˜AÇD…‹C(ƒøÿt H˜AÇD…H‹s8H…öt¼Hƒþu„HcC0‹S4A‰T…HcC0‹S@A‰†ëH‹C(H;C0ƒ¦9Æ%HƒÀH‰C(Aüÿÿÿ„3 AƒÄéåôÿÿHc…€úÿÿH‹•¨úÿÿHkÀHHÂH…Ò„7ƒ½úÿÿ„÷H‹¨úÿÿH‹½púÿÿHcD0HÁàL‹8M‰ÁL‰ÀÇ…4úÿÿ IÁé?H÷ØE…ÉLEÀƒ½ÀúÿÿŒæ…ÚM…À…у½Ôùÿÿt ƒ½4úÿÿ„©H‹½Èúÿÿ1ÀÆ…Óùÿÿ H‰½ÀúÿÿH‰½úÿÿH+…ÈúÿÿºH…ÀúÿÿHH‹•úÿÿ‰… úÿÿ…Ò…{‹½Èúÿÿ‹•ˆúÿÿ‹Àúÿÿ)ú‰½úÿÿʉìùÿÿ)ƒ½Ôùÿÿ•ÀM…À•Á Ȉ…ˆúÿÿt ƒ½4úÿÿBþDЃ½úÿÿ„/ƒê€½Óùÿÿ „E…É„H‹C(H;C0ƒ¤9Æ-HƒÀH‰C(Aüÿÿÿ„´AƒÄ€½ˆúÿÿt ƒ½4úÿÿ„ï'• úÿÿ…Ò~3HcÒ¾0H‰ßè ¨Aüþÿÿ‡þ8‰Â¸ÿÿÿD)à9‡aF$"E…äˆÊ7H‹ÈúÿÿH+ÀúÿÿH‰ßH‹ƒØH‹µúÿÿH‰ÊH‰¨ùÿÿÿP8H‹¨ùÿÿH9Á…IcÔ¸ÿÿÿH)ÐH9Á‡‹…úÿÿ+…ìùÿÿF$ éªòÿÿÇ…4úÿÿ Hc…€úÿÿH‹•¨úÿÿHkÀHHÂH…Ò„(ƒ½úÿÿ„H‹•¨úÿÿH‹púÿÿE1ÉHcD0HÁàL‹Ç…úÿÿÇ…úÿÿé½ýÿÿÇ…4úÿÿë’Ç…4úÿÿë†Hc…€úÿÿH‹•¨úÿÿHkÀHHÂH…Ò„01H‹½¨úÿÿH‹•púÿÿHcD0HÁàL‹M…À„ÈÆ…úÿÿxÇ…ÈùÿÿE1ÉÇ…ÔùÿÿÇ…4úÿÿé6ýÿÿöCtt ƒ½üùÿÿ„7Hc…€úÿÿH‹•¨úÿÿHkÀHHÂH…Ò„38ƒ½úÿÿ„H‹¨úÿÿH‹½púÿÿHcD0HÁàH‹8IcÄH‰éSñÿÿHc…€úÿÿH‹µ¨úÿÿHkÀHHÆ„ÀHcF0HUH‰ßHÁàH…púÿÿH‰Eè>…ÀˆVAüþÿÿ‡Ô6ºÿÿÿD)â9Ї9F$ éëðÿÿHc…€úÿÿH‹µ¨úÿÿHkÀHHÆ„S$HcF0HUH‰ßHÁàH…púÿÿH‰EèPhë–Hc…€úÿÿHkÀHH…¨úÿÿH‹x8H‰…ÈúÿÿHýHƒàðH)ÄHt$HƒæðH…ÿt,H‹•Èúÿÿ1É1ÀD‹B0BƒÀHÁâH•púÿÿH‰ΉÁH9ùrãH‹C(H;C0ƒ¬0Æ%HƒÀH‰C(H‹Èúÿÿ¶A ¨„_H‹C(H;C0ƒj7Æ#H‹•ÈúÿÿHƒÀH‰C(A¸¶B Ç…Àúÿÿº„À‰¤H‹C(H;C0ƒ‹7Æ'HƒÀH‰C(H‹Èúÿÿ¶A ¨@„>H‹C(H;C0ƒ'.Æ+HƒÀH‰C(H‹½ÈúÿÿD‹…Àúÿÿ¶G ¨ tH‹C(H;C0ƒ»/Æ-HƒÀH‰C(AƒÀH‹Èúÿÿƒy0„ë!H‹½ÈúÿÿöG tH‹C(H;C0ƒ&.ÆIHƒÀH‰C(AƒÀH‹…Èúÿÿ‹x…ÿ…n2H‹•Èúÿÿƒ:ÿ„“H‹C(H;C0ƒ'2Æ.HƒÀH‰C(Aøÿÿÿ„&H‹ÈúÿÿH‹µàùÿÿAƒÀº D‰…˜ùÿÿHc91ÉèXhD‹…˜ùÿÿH‰Âë0H‹C(H;C0¶ ƒ•1ˆHƒÀH‰C(Aøÿÿÿ„ÊHƒÂAƒÀH9•àùÿÿwÇH‹½Èúÿÿ‹w…öt*H‹C(H;C0ƒB2@ˆ0HƒÀH‰C(Aøÿÿÿ„…AƒÀAüþÿÿ‡s4¸ÿÿÿD)àA9À‡cG$ éîÿÿ‹½ÌùÿÿHµàúÿÿºè轸Ç…úÿÿI‰Áéæðÿÿƒ½úÿÿ…*ìÿÿ‹…ˆúÿÿƒèƒ½úÿÿ‰…Èúÿÿu7…À~3Hcо H‰ßè‚¢Aüþÿÿ‡²(‰Â¸ÿÿÿD)à9‡ÙF$"Hc…€úÿÿH‹•¨úÿÿHkÀHHÂH…Ò„7&H‹•¨úÿÿH‹púÿÿHcD0HÁà¶4H‹C(H;C0ƒø%@ˆ0HƒÀH‰C(Aüÿÿÿ„vAƒÄƒ½úÿÿ„ íÿÿƒ½ÈúÿÿŽíÿÿHc•Èúÿÿ¾ H‰ßèΡAüþÿÿ‡þ'‰Â¸ÿÿÿD)à9‡%F$"é×ìÿÿHµÿÿÿ1À¹‹•œúÿÿE¾ÿH‰÷ó«‹…¸úÿÿ‰•ÿÿÿ¶•°úÿÿ¶LúÿÿD‰½ÿÿÿ‰…ÿÿÿ¶…xúÿÿÁâÁáÀ …„úÿÿ ж•@úÿÿ ȶlúÿÿÁâÁá ж•Dúÿÿ ȶHúÿÿÁâÁá РȈ…ÿÿÿ¶…úÿÿÁàƒ½„úÿÿˆ…ÿÿÿ¶…Púÿÿ‰… ÿÿÿ„ÔI‹EHƒÀHƒàðHPI‰U‹PH‹‰•HÿÿÿH‰…@ÿÿÿH…@ÿÿÿHUH‰ßH‰EèÛ8…ÀˆAüþÿÿ‡Ç ºÿÿÿD)â9ЇüF$ é]éÿÿHµÿÿÿ1À¹‹•œúÿÿE¾ÿH‰÷ó«‹…¸úÿÿ‰•ÿÿÿ¶•°úÿÿ¶LúÿÿD‰½ÿÿÿ‰…ÿÿÿ¶…xúÿÿÁâÁáÀ …„úÿÿ ж•@úÿÿ ȶlúÿÿÁâÁá ж•Dúÿÿ ȶHúÿÿÁâÁá Рȃ½„úÿÿˆ…ÿÿÿ¶…Púÿÿ‰… ÿÿÿ„$I‹EHƒÀHƒàðHPI‰U‹PH‹‰•HÿÿÿH‰…@ÿÿÿH…@ÿÿÿHUH‰ßH‰Eèbb…À‰çþÿÿAƒÌÿHƒ½ úÿÿ„~äÿÿH‹½ úÿÿèÌyémäÿÿA¶HÐë ‰¶ÒLJÐIƒÆA¶¶Â‰Öƒè0ƒø váùljœúÿÿ~:‰ÎƒÆ HcöHþ‡Ö$HƒÆHcÁHƒæðH)ôHt$HƒæðHD ‰ÖH‰…Èúÿÿ@€þ$„<òÿÿA‰÷AGàÇ…xúÿÿAGàAGàÇ…°úÿÿAGàAGàAGàAGàÇ…úÿÿAGàëÿÿéþÿÿéßÿÿIƒÆE¶>Ç…DúÿÿAGàÇ…LúÿÿAGàÇ…HúÿÿAGàAGàÛHƒøÿL‹ ùÿÿL‹°ùÿÿ…qÿÿÿL‰ãH‹¥°úÿÿémãÿÿI‹EHPI‰Ué>èÿÿE…äˆ0H‹ƒØL‰Â‰¨ùÿÿL‰…˜ùÿÿL‰ÎH‰ßÿP8L‹…˜ùÿÿ‹¨ùÿÿL9À…ãÿÿIcÔ¸ÿÿÿH)ÐI9À‡ ãÿÿF$!é»Íÿÿ1ÀHƒÉÿL‰Ïò®E1ÀH÷ÑLyÿD‰ùéóåÿÿ¹E1ÀA¿A¹?SOéÚåÿÿL‰ãE‰ü1ÀHƒÉÿL‰Ïò®H÷ÑLyÿéÍþÿÿH‹C(H;C0ƒÔ Æ0HƒÀH‰C(AƒÀéóÝÿÿA‹Uú¯‡‰‰ÐIEƒÂA‰UH‹H‰…@ÿÿÿé'áÿÿI‹EHPI‰UévÒÿÿI‹EHPI‰Uéœèÿÿƒ½$úÿÿ„àA‹Uƒú/‡V‰ÐIEƒÂA‰UH‹Dˆ éuÊÿÿH‹•¨úÿÿH‹púÿÿE1ÉHcD0HÁàD·Ç…úÿÿÇ…úÿÿé ØÿÿI‹EHPI‰Ué½ûÿÿH‹½ˆùÿÿ1À¹‹•ˆúÿÿó«‹…Àúÿÿ‰•ÿÿÿ¶•úÿÿ‰…ÿÿÿ¾…úÿÿƒâ4•¶•Ôùÿÿ‰…ÿÿÿ¶… úÿÿƒâƒà ¶…4úÿÿƒà È Õ¶•úÿÿ ð ȶúÿÿƒâÁâ Ѓá¶•úÿÿÁá ȶÈùÿÿƒâÁâÁá Рȃ½4úÿÿˆ…ÿÿÿ¾…Óùÿÿ‰… ÿÿÿ„¦ I‹EHƒÀHƒàðHPI‰U‹PH‹‰•8ÿÿÿH‰…0ÿÿÿH0ÿÿÿHUHµÿÿÿH‰ßH‰Mè CéMÚÿÿH‹C(H;C0ƒá Æ0HƒÀH‰C(Aüÿÿÿ„…àÿÿH‹C(H;C0ƒ’ ¶úÿÿˆHƒÀH‰C(Aüþÿÿ„YàÿÿAƒÄé¶×ÿÿƒ½xúÿÿ…Ê A‹Uƒú/‡¬ ‰ÐIEƒÂA‰UH‹D‰ éˆÈÿÿƒ½$úÿÿt4A‹Uƒú/‡L‰ÐIEƒÂA‰UH¾éÐÿÿI‹EHPI‰Uésýÿÿƒ½xúÿÿ…æA‹Uƒú/‡È‰ÐIEƒÂA‰UHcéÝÏÿÿƒ½úÿÿtDA‹Uƒú/‡y‰ÐIEƒÂA‰UL‹E1ÉÇ…úÿÿÇ…úÿÿéªÕÿÿL‰ëM‰Åé©Êÿÿƒ½ìùÿÿ„ÇA‹Uƒú/‡©‰ÐIEƒÂA‰UD¶E1ÉÇ…úÿÿÇ…úÿÿéXÕÿÿ½Àúÿÿ¸H‰¥úÿÿF…ÀúÿÿM‰ÊL‰xÿÿÿHÇ…pÿÿÿH˜H‰…ÈúÿÿH…HƒàðH)ÄHc…ÀúÿÿD‰¥ÀúÿÿL\$I‰ÜIƒãðIÂHÇÀÿÿÿÿLBÐL‰ÓL‹…xÿÿÿL9Ãw5M…ÀL‰ãD‹¥Àúÿÿ„¦Hc…pÿÿÿM)ȃàI)ÀD‰ÁE1ÒH‹¥úÿÿé¾ÌÿÿM…ÀtuH‰ÚH‹ÈúÿÿHµxÿÿÿL)ÂL…pÿÿÿL‰ßL‰ ùÿÿL‰°ùÿÿèÜÕHƒøÿL‹ ùÿÿL‹°ùÿÿ…qÿÿÿL‰ãH‹¥úÿÿé Þÿÿ1ÀHƒÉÿL‰Ïò®E1ÒH÷ÑLAÿD‰ÁéDÌÿÿL‰ãD‹¥Àúÿÿ1ÀHƒÉÿL‰Ïò®H÷ÑLAÿéSÿÿÿI‹EHPI‰Ué¦ûÿÿI‹EHPI‰Ué°ýÿÿH‹½Øùÿÿ1ÀHƒÉÿò®H‹½ØùÿÿH÷ÑH‰Îè”+…À‰…üùÿÿ‰´ãÿÿ¿ SOèü¹\Oº+¾SO¿xSOèãÿÿL‰ÿè;…À…æÿÿL‰ÿèëeH…ÀH‰… úÿÿ„»ÁÿÿHc…œúÿÿH‹• úÿÿHD H‰…ÈúÿÿéæÿÿH‰Ï‰•°ùÿÿH‰¨ùÿÿH‰µ¸ùÿÿèà…À‹•°ùÿÿH‹¨ùÿÿH‹µ¸ùÿÿ…‰ÉÿÿH‰Ï‰•°ùÿÿH‰µ¸ùÿÿèoe‹•°ùÿÿH‰… úÿÿH‹ úÿÿH‹µ¸ùÿÿHcÂHD H‰…ÈúÿÿésÉÿÿH‰ßèhèƒøÿ…Úÿÿé€ÜÿÿA‹Uƒú/‡’‰ÐIEƒÂA‰U¶0H‹C(H;C0‚ÄÙÿÿH‰ßè$èƒøÿ…¾Ùÿÿé<Üÿÿ¹\Oº ¾SO¿xSOè­ÿþÿ¹\Oº{¾SO¿xSOè”ÿþÿH‹¥ÈúÿÿéþÛÿÿ÷ÚƒÈ ‰•ˆúÿÿ‰VˆF Ç…úÿÿé1ÈÿÿI‹EHPI‰Uéjÿÿÿ¾+H‰ßèšçƒøÿ…hæÿÿé±Ûÿÿ¾ H‰ßL‰…˜ùÿÿèwçƒøÿL‹…˜ùÿÿ…ßäÿÿéˆÛÿÿH‹¥Èúÿÿé|ÛÿÿH…hÿÿÿHPÿÿÿ1Ò1ÿL‰ ùÿÿH‰ÆH‰…ÈúÿÿèîÏHƒøÿI‰ÀL‹ ùÿÿ„@Ûÿÿƒ½Pÿÿÿ…“HPL‰hÿÿÿHú‡HBE1ÒHƒàðH)ÄLL$IƒáðH‹µÈúÿÿHPÿÿÿL‰ÏL‰…˜ùÿÿL‰ ùÿÿD‰•¸ùÿÿèsÏL‹…˜ùÿÿD‹•¸ùÿÿL‹ ùÿÿD‰ÁéÉÿÿH‰÷ˆ•°ùÿÿ‰¨ùÿÿH‰µ¸ùÿÿè‹…À¶•°ùÿÿ‹¨ùÿÿH‹µ¸ùÿÿ…óÚÿÿH‰÷è'cH…ÀH‰… úÿÿ„÷¾ÿÿHc…œúÿÿH‹ úÿÿHD H‰…ÈúÿÿA¶6éÝÚÿÿI‹EHPI‰Uéfõÿÿ¹\Oº{¾SO¿HSOèªýþÿLc¸úÿÿÆ…Púÿÿ éˆÊÿÿL‰ÿèï…À…µÜÿÿL‰ÿèŸbH…ÀI‰Á„éÙÿÿA¸é­ÜÿÿH½hÿÿÿHM 1ÒL‰ ùÿÿH‰½ÈúÿÿH‰þ1ÿèSÎHƒøÿI‰ÇL‹ ùÿÿ„¥Ùÿÿƒ} …_HPL‰hÿÿÿHú‡üHBE1ÀHƒàðH)ÄLL$IƒáðH‹µÈúÿÿHM L‰ÏD‰…˜ùÿÿL‰ ùÿÿèåÍD‰ùL‹ ùÿÿD‹…˜ùÿÿéEÜÿÿÇÿÿÿÿÇ…Àúÿÿÿÿÿÿé›Åÿÿ¹\Oº,¾SO¿xSOè‘üþÿH‰×H‰•°ùÿÿH‰…˜ùÿÿèÛ…ÀH‹•°ùÿÿL‹…˜ùÿÿ…ÀýÿÿH‰×H‰•°ùÿÿL‰…˜ùÿÿèoaH…ÀI‰ÁH‹•°ùÿÿL‹…˜ùÿÿ„«ØÿÿAºéœýÿÿ¹\Oº{¾SO¿SOèüþÿH‰×H‰•°ùÿÿèb…ÀH‹•°ùÿÿ…æþÿÿH‰×H‰•°ùÿÿèaH…ÀI‰ÁH‹•°ùÿÿ„GØÿÿA¸éÐþÿÿ¹\Oº,¾SO¿SOè­ûþÿI‹EHPI‰UéƒøÿÿI‹EHPI‰U‹0é|ÁÿÿI‹EHPI‰Ué4øÿÿA‹Uƒú/‡º‰ÐIEƒÂA‰UH¿éöÇÿÿ¾0H‰ßD‰…˜ùÿÿè‘ãƒøÿD‹…˜ùÿÿ„§×ÿÿéõÿÿI‹EHPI‰UéSøÿÿƒ½ úÿÿ…ŠA‹Uƒú/ws‰ÐIEƒÂA‰UD‹E1ÉÇ…úÿÿÇ…úÿÿé‰ÍÿÿA‹Uú¯w-‰ÐIEƒÂA‰UH‹H‰…0ÿÿÿéYöÿÿI‹EHPI‰UéBÿÿÿI‹EHPI‰UëÒI‹EHPI‰UëŒA‹Uƒú/‡¿‰ÐIEƒÂA‰UD·E1ÉÇ…úÿÿÇ…úÿÿéúÌÿÿ¾+H‰ßèâƒøÿ„ªÖÿÿéÉÑÿÿ¾%H‰ßèrâƒøÿ…zÆÿÿéŠÖÿÿI‹EHPI‰UéPöÿÿA‹Uƒú/wq‰ÐIEƒÂA‰UH‹fD‰ éÁ¾ÿÿ¾IH‰ßD‰…˜ùÿÿèâƒøÿD‹…˜ùÿÿ„3Öÿÿé¼ÑÿÿI‹EHPI‰Ué=ÿÿÿA‹Uƒú/w#‰ÐIEƒÂA‰UL‹éÍÎÿÿI‹EHPI‰UëŽI‹EHPI‰UëÜH‰ßèµáƒøÿ…ÐÚÿÿéÍÕÿÿ¹\Oº,¾SO¿HSOè>ùþÿ¶µúÿÿH‰ßèáƒøÿ… ïÿÿé—Õÿÿ¾0H‰ßèdáƒøÿ…Áîÿÿé{ÕÿÿHcÒHƒ|ÖÀ„¸åÿÿIc‹HµðþÿÿHƒÂHƒâðH)ÔH|$HƒçðH‰8Lc ‹H‹Á[-H‰…¸ùÿÿH‰¨ùÿÿL‰…˜ùÿÿL‰°ùÿÿBÿTÊÀH‹…¸ùÿÿH‹¨ùÿÿL‹…˜ùÿÿL‹°ùÿÿéùäÿÿ¾-H‰ßD‰…˜ùÿÿèÃàƒøÿD‹…˜ùÿÿ„ÙÔÿÿé'Ðÿÿ¾%H‰ßè¡àƒøÿ…IÏÿÿé¹ÔÿÿA‹Uú¯‡q‰ÐIEƒÂA‰UH‹H‰…0ÿÿÿé×ìÿÿA¶÷H‰ßè[àƒøÿ…ƒíÿÿféqÔÿÿƒ½¸úÿÿ@jÇ…¸úÿÿÇ…°úÿÿA¹SOéºÖÿÿH‰×H‰•°ùÿÿè ÿ…ÀH‹•°ùÿÿ…%ÂÿÿH‰×H‰•°ùÿÿèÂ\H…ÀI‰ÁH‹•°ùÿÿ„ÔÿÿAºéÂÿÿÇ…°úÿÿA¹SOéZÖÿÿ¶µúÿÿH‰ß‰•°ùÿÿèªßƒøÿ‹•°ùÿÿ…[óÿÿé¼Óÿÿ¾0H‰ß‰•°ùÿÿèƒßƒøÿ‹•°ùÿÿ…óÿÿé•ÓÿÿA‹Uƒú/w+‰ÐIEƒÂA‰UL‹é,ÁÿÿI‰þE1ÉHÇ…(úÿÿéŸÇÿÿI‹EHPI‰UëÔ¾0H‰ßè ߃øÿ…"ìÿÿé8ÓÿÿI‹EHPI‰Ué‹þÿÿ¾-H‰ßL‰…˜ùÿÿèíÞƒøÿL‹…˜ùÿÿ…UÜÿÿéþÒÿÿƒ½úÿÿtyA‹Uƒú/wb‰ÐIEƒÂA‰UL‹éóÈÿÿA¶÷H‰ß‰•°ùÿÿèŸÞƒøÿ‹•°ùÿÿ…˜èÿÿé±Òÿÿ¾0H‰ß‰•°ùÿÿèxÞƒøÿ‹•°ùÿÿ…KèÿÿéŠÒÿÿI‹EHPI‰U냽ìùÿÿ„MA‹Uƒú/‡/‰ÐIEƒÂA‰UL¾éhÈÿÿ¶ñH‰ßH‰•°ùÿÿD‰…˜ùÿÿè ÞƒøÿH‹•°ùÿÿD‹…˜ùÿÿ…EÎÿÿéÒÿÿ¾.H‰ßD‰…˜ùÿÿèÝ݃øÿD‹…˜ùÿÿ„óÑÿÿé»ÍÿÿH‹µàùÿÿº Hcÿ1ÉD‰…˜ùÿÿè+6D‹…˜ùÿÿH‰ÂëˆHƒÀH‰C(Aøÿÿÿ„®ÑÿÿHƒÂAƒÀH9•àùÿÿ†=ÍÿÿH‹C(H;C0¶ rǶñH‰ßH‰•°ùÿÿD‰…˜ùÿÿèM݃øÿH‹•°ùÿÿD‹…˜ùÿÿu¥é[Ñÿÿ@¶öH‰ßD‰…˜ùÿÿè"݃øÿD‹…˜ùÿÿ„8Ñÿÿé¡ÍÿÿI‹EHPI‰UéÍþÿÿƒ½ úÿÿ…5A‹Uƒú/‡‰ÐIEƒÂA‰ULcéÇÿÿ¾+H‰ß‰•°ùÿÿèºÜƒøÿ‹•°ùÿÿ…¿ÂÿÿéÌÐÿÿ¾+H‰ß‰•°ùÿÿè“܃øÿ‹•°ùÿÿ…éÇÿÿé¥Ðÿÿ¾%H‰ßèr܃øÿ…OÆÿÿéŠÐÿÿ¹\Oºz¾SO¿xSOèûóþÿ¾ H‰ßè>܃øÿ„[ÐÿÿéÀåÿÿH‹¨úÿÿH‹½púÿÿHcD0HÁàL¿éQÆÿÿ¾-H‰ß‰•°ùÿÿèüÛƒøÿ‹•°ùÿÿ…ÂÿÿéÐÿÿ¾ H‰ßèÛÛƒøÿ…©ÚÿÿféñÏÿÿI‹EHPI‰UéåþÿÿA‹Uƒú/‡t‰ÐIEƒÂA‰UL¿éÙÅÿÿHÇÀÿÿÿdH‹H‹H‹HHH‰ðùÿÿH‹@PH‰…8úÿÿ¶<t „Àt €9…u×ÿÿHÇ…8úÿÿée×ÿÿ¹\Oºz¾SO¿HSOèæòþÿH‹½Øùÿÿ1ÀHƒÉÿò®H‹½ØùÿÿH÷ÑH‰ÎèE…À‰…üùÿÿˆ±ñÿÿé?Èÿÿ¾-H‰ß‰•°ùÿÿèïÚƒøÿ‹•°ùÿÿ…EÆÿÿéÏÿÿ¹\Oº•¾SO¿HSOèròþÿ¾+H‰ßL‰…˜ùÿÿè®ÚƒøÿL‹…˜ùÿÿ…Øÿÿé¿Îÿÿ¾ H‰ß‰•°ùÿÿè†Úƒøÿ‹•°ùÿÿ…‹Àÿÿé˜Îÿÿƒ½úÿÿtXA‹Uƒú/fw?‰ÐIEƒÂA‰UH‹IcÄH‰é$¹ÿÿH‹¨úÿÿH‹½púÿÿHcD0HÁàH‹8fD‰ é¹ÿÿI‹EHPI‰UëÀƒ½ìùÿÿ„A‹Uƒú/‡ù‰ÐIEƒÂA‰UH‹Dˆ éÀ¸ÿÿ¾-H‰ßèÒÙƒøÿ… ØÿÿéêÍÿÿ¾#H‰ßè·Ùƒøÿ„ÔÍÿÿH‹½ÈúÿÿA¸º¶G Ç…Àúÿÿé†Èÿÿ¾ H‰ß‰•°ùÿÿèvÙƒøÿ‹•°ùÿÿ…ÌÄÿÿéˆÍÿÿ¾'H‰ßD‰…˜ùÿÿèNÙƒøÿD‹…˜ùÿÿ„dÍÿÿéWÈÿÿI‹EHPI‰Uéˆýÿÿ¹\OºJ¾SO¿xSOè¿ðþÿH‹½ úÿÿèG霵ÿÿI‹EHPI‰Uéÿÿÿƒ½ úÿÿu!A‹Uƒú/w:‰ÐIEƒÂA‰UH‹D‰ 餷ÿÿA‹Uƒú/w'‰ÐIEƒÂA‰UH‹fD‰ é‚·ÿÿI‹EHPI‰UëÅI‹EHPI‰UëØH:Hì€èÖ÷HÄ€éf«ÿÿH:Hì€èë÷HÄ€éC¬ÿÿH:Hì€è ÷HĀ鯰ÿÿH:Hì€èµ÷HÄ€é ±ÿÿ¶1ÉSPÿ€ú}vë)ׄÀt"¾Ð9×vHƒÆƒÁ¶„Àx<uá‰È[ÃDGÿ‰Ó1Ò÷ó[Á‰ÈÃf„USL‰ÓHƒìA‹B0…Àt Aƒz,f„$L‹K M…É„çH‹SI9ÑšH‹CH‹{H‰ÑL‹1öH‰Âè²)H‹S H‹KH‹sH)ÑH…ÒH‰SH‰ÎH‹.tHH‹{HBÿHƒ<ÇuZH Õðÿÿÿëf.„H‹4HƒéH…ö…¿HƒèH…ÀH‰ÂuãHÇCHÇC‰èHƒÄ[ƒÀ0]ÀH‹{1í¹ H‰þè-•ÿÿH…ÀtH‹SH‹KH‰ÑHƒÂH‰S‰èHƒÄ[ƒÀ0]ÄH‹SH‹{¹ HƒêH‰þH×H‹+èà”ÿÿH‰HƒÄ‰è[ƒÀ0]ÃA‹R(Bÿ…ÒA‰B(¸0ŽÄþÿÿHƒÄ[]ÃH‰Cémÿÿÿ€UH‰åAWAVAUATI‰ôSH‰û¿øROHƒìHH‰U˜èKô¿.I‰ÅH‰ÆèËôL‰î¿,A‰Çè»ôM…íA‰Æ…uL‰âH)ÚHú‡&HBA¾HƒàðH)ÄLd$IƒäðH‰ÞL‰çè£H‹]˜I‰ÇIƒïM9üwvA¶PЀú ‡‡HÇÂÿÿÿ¾Àƒè·ÀdH‹H‹H‹TÂ@H‰×H‰Uè?€H)ÃH…ÀH‹Ut³H4H<1Éf„¶TÿˆTÿHƒéHH…ÒuêIƒïM9üvŠE„öuL‰çèDCHeØH‰Ø[A\A]A^A_ÉÃfM…íu HƒëˆéPÿÿÿ<,„Ù<.uéHU°H‰×1ÀHƒÉÿò®H÷ÑHƒéH)ËHÊH ë ¶2Hƒé@ˆ0HƒêHƒèH…ÉuééÿÿÿH‰×H‰UèÊó…ÀH‹U…ÂþÿÿH‰×H‰UE1öèoQH…ÀI‰ÄH‹U…½þÿÿéVÿÿÿHMÀH}°D‰þHÇEÀH‰ÊH‰Mè»HƒøÿH‹MufÇE°.H} H‰ÊD‰öHÇEÀèôºHƒøÿ…;þÿÿfÇE ,é0þÿÿHU é&ÿÿÿfDUH‰åAWAVAUATI‰üSH‰óHìhÇE ÇE̶N ‰ÈÀèƒàƒá¶ð‰µdÿÿÿ…rHÇÆÿÿÿdH‹6H‹6H‹~@H‰½PÿÿÿD‹~X¶{ @„ÿ‰þ‰ž„É„¦IÇÀÿÿÿdM‹M‹M‹h`E¶EAƒèA€ø}wuD‹dÿÿÿE…É„u„É…uHÇÁÿÿÿdH‹ H‹ ‹I`HÇ…@ÿÿÿ…ɉLÿÿÿ”Á„É…&D‹…dÿÿÿE…À„^„ɸþÿÿÿD…Lÿÿÿ‰…Lÿÿÿë „E1íÇ…LÿÿÿHÇ…@ÿÿÿ@öÇ„îH‹@ˆ½ˆþÿÿÛ(ÙÀÛ<$Û½þÿÿè…À¶½ˆþÿÿÛ­þÿÿ„=ÝØHÇÂØÿÿÿdH‹H…À„²"HcSA½0\O¹BOÇẺþ·Pº@\O%¸&\OLEêHEÈ1ÀéíDHÇÆÿÿÿdH‹6H‹6H‹~PH‰½Pÿÿÿ€?uHÇÇÿÿÿdH‹?H‹?H‹@H‰½PÿÿÿD‹¾˜E…ÿ…dþÿÿHÇÆÿÿÿdH‹6H‹6D‹~XéMþÿÿf.„H‹@ˆµ¨þÿÿ@ˆ½ˆþÿÿòò…hÿÿÿèž…À¶µ¨þÿÿ¶½ˆþÿÿ„ÈHÇÂØÿÿÿÇEÌdH‹H…À„“!HcSA½0\O¹BO·Pº@\O%¸&\OLEêHEÈ‹EÌ…ÀD‹su@öÆPtAƒîAƒîE…öAŸÇŽ}ƒæ …t‹…dÿÿÿ…À„†Mcƾ L‰çL‰ÂH‰°þÿÿL‰…¸þÿÿèÕoH‹°þÿÿL‹…¸þÿÿL9À…þ‹EÌD‰òé%ò…hÿÿÿ@ˆ½ˆþÿÿèl…À¶½ˆþÿÿ„-fWÀ1ÀHÇÂØÿÿÿf.…hÿÿÿ—À‰EÌdH‹H…À„G$HcSA½`\O¹*\O‰þ·PºP\O%¸ƒBOLDêHDÈéÿÿÿ@ÙÀÛ<$@ˆ½ˆþÿÿÛ½þÿÿèY…À¶½ˆþÿÿÛ­þÿÿ„ÔHÇÂØÿÿÿdH‹H…À„÷#HcSÙîA½P\O¹ƒBO‰þ·Pº`\O%¸*\OLEêHEÈ1ÀßéÝØ—À‰EÌéþÿÿIÇÀÿÿÿdM‹M‹M‹hPéUüÿÿf„1Ò…À…V¶C ¨@…Ѝ…ÂD‹…dÿÿÿE…À„úI‹„$ A‹uIƒÅH‹H H;H(ƒ#ƒþÿ‰1@”ÆHƒÁH‰H @„ö…jI‹„$ A‹uH‹H H;H(ƒ¦!ƒþÿ‰1@”ÆHƒÁH‰H @„ö…6I‹„$ ƒÂA‹uH‹H H;H(ƒO!ƒþÿ‰1@”ÆHƒÁH‰H @„öDj…ûE„ÿt6öC t0‹½dÿÿÿ…ÿ„‚IcÞ¾ L‰çH‰ÚèmH9Ø…ÆEõHeØD‰è[A\A]A^A_ÉÃfD¶1I‹D$(HƒÁI9D$0†}"@ˆ0HƒÀI‰D$(I‹D$(I9D$0¶1†À!@ˆ0HƒÀI‰D$(I‹D$(I;D$0Dj¶QƒÄ ˆHƒÀI‰D$(AƒÅé?ÿÿÿ¾-L‰ç‰•ÀþÿÿH‰°þÿÿè°q‹•ÀþÿÿH‹°þÿÿƒøÿ”À„À„ÍDA½ÿÿÿÿé5ÿÿÿD„É…¸HÇÀÿÿÿ¹dH‹H‹H‹@HÇ…LÿÿÿH‰…@ÿÿÿH‹…@ÿÿÿ€8…’úÿÿE1íéÀúÿÿ„H…pÿÿÿLuÀHMÌò…hÿÿÿ¾H‰ÂL‰÷H‰…XÿÿÿHƒÂ(èŽ$H‰EˆÁàD@Ì‹E˜HÇE‰ÁÁù‰Ê1Â)ʃÂ?ÁúƒÂHcÒHÕHƒâðH)ÔH|$H)ÔHL$H)ÔHT$HƒçðHƒáðH‰}€HƒâðƒøH‰xÿÿÿH‰•pÿÿÿŽ. AöÂ?…mL‹UˆL‰ÑHƒéx9A‰ÑI4ÎEY?E…ÉD‰ÊL‹6AHÓHƒîÁúHcÒHÊHƒéHƒùÿL‰4×uØ‹U˜DÂJ?…ÒHÑÁúHcÒNL‰UˆAÀAƒø?~-AH?E…ÀH‹u€DHÁ1ÒAÁøIcÈ@HÇÖHƒÂH9ÑïL‹UA¹ E1ÛD‰½4ÿÿÿL‰­(ÿÿÿM‰çI‰ÝA¾øROÇ…hÿÿÿE‰ÜD‰ËL‰ÒëVI‹NI‹H‹½xÿÿÿHÍH4ÅÀCOH‰°þÿÿ莟H‹°þÿÿH;MˆŒ „ÕH‹U…Û„‹E˜ƒëIƒîA‹NAL ÿ9ÁáH…Òt—I‹FI‹H‹µpÿÿÿH‹½xÿÿÿH ÍÈCOL@ÿèéƒÿÿI‹VHUHJÿHƒêH…ÀHDÊë‰H•pÿÿÿLuÀHM̾H‰•XÿÿÿL‰÷HƒÂ(Û<$è#H‰EˆÁàD@ÁéÓýÿÿfDHÇÁÿÿÿdH‹ H‹ H‹IXÇ…LÿÿÿH‰@ÿÿÿ¹„À„Ò÷ÿÿE1íÇ…LÿÿÿéøÿÿfDHÇÁÿÿÿdH‹ H‹ ‹‰ HÇ…@ÿÿÿ…ɉLÿÿÿ”Áéƒ÷ÿÿf„Mcƾ L‰çL‰ÂH‰°þÿÿL‰…¸þÿÿèO^L‹…¸þÿÿH‹°þÿÿéuùÿÿ‰ÐL‰öD‰…¸þÿÿÁøÁè ƒá?)ÁB?…ÒHÐÁúHcÒH<ÕH}€H‹Uˆè¿ÿÿD‹…¸þÿÿ‹U˜DÂJ?…ÒHÑÁúHcÒHUˆH…ÀH‰Uˆt H‹M€HƒEˆH‰Ñ‹E˜éuýÿÿH‹µxÿÿÿH‹}€H‰ÊH‰°þÿÿèÿÿ…ÀH‹°þÿÿˆþÿÿf„H‹µxÿÿÿH‹½pÿÿÿHÍH‰MèQH‹UH‹…pÿÿÿ‰ÙH½DÐøA‰ÔAÁäƒð?AìA)ĸÓà …hÿÿÿé¥ýÿÿ„D‹dÿÿÿE…Û„¸ I‹„$ H‹p H;p(ƒûÿÿÇ-HƒÆH‰p @ƒÂé~ùÿÿD‹•dÿÿÿE…Ò„  I‹„$ H‹p H;p(ƒ®Ç+HƒÆH‰p ëÂf.„D‹dÿÿÿE…É„ˆ I‹„$ H‹p H;p(ƒ‚Ç HƒÆH‰p ë‚f.„‹µhÿÿÿH…ÒM‰üL‰ëD‹½4ÿÿÿL‹­(ÿÿÿI‰Ò‰u˜ŽÇH‹½pÿÿÿH‹H…Ò…ßH‹M€Hƒ9…ÑE1öëHƒ<ÁuAƒÆIcÆLÅJ4H‹H…ÒtÞJ½L×øA‰ËAƒó?…SE…ötfMcöM)òM…Ò~ H Å1ÒH‹4HƒÁH‰4×HƒÂL9Ò|ëH‹MˆL‰UL)ñH…É~H‹u€HÆ1ÀH‹:HƒÂH‰<ÆHƒÀH9È|ìH‰Mˆ„HÇÂèÿÿÿ‹{dH‹‰½4ÿÿÿH…À„ЋSHcʶ ˆ€ùeˆßþÿÿ„Š €½ßþÿÿf„=‹ ƒù‰ÿÿÿŒx¸E…ÿÿÿ‰…ÿÿÿ‹E …À„ï ƒ}˜Žô ‹½ÿÿÿƒêÇ…8ÿÿÿ‰UœƒïHclj½ ÿÿÿHƒÀH‰…ÿÿÿÇ…(ÿÿÿöC ºE• ÿÿÿÇ…hÿÿÿ‰•(ÿÿÿM…íHÇ…àþÿÿÇ…ÿÿÿt%‹½8ÿÿÿL‰îèÆîÿÿHcÈHÿÿÿ‰…ÿÿÿH‰àþÿÿH‹µÿÿÿH‰÷L4µHÁçHÿ‡„IƒÆÇ…ØþÿÿIƒæðL)ôH|$HƒçðH‰½ÿÿÿL‹µÿÿÿD‹] IƒÆE…Ût ƒ}œf„)D‹•8ÿÿÿ1öL‰ñÇ…øþÿÿE…ÒއL‰µhÿÿÿL‰­øþÿÿH‰èþÿÿD‹­8ÿÿÿL‰óL‹µXÿÿÿL‰¥ðþÿÿA‰ôf.„AƒÄM‰òè4îÿÿ‰HƒÃE9åé‹…8ÿÿÿL‹µhÿÿÿL‹¥ðþÿÿH‹èþÿÿL‹­øþÿÿƒèIL†‹…8ÿÿÿ‰…øþÿÿD‹(ÿÿÿE…ÉŽ D‰9Ç…hÿÿÿHƒÁ‹½(ÿÿÿE1Û1Ò…ÿŽ! D‰½8ÿÿÿL‰µðþÿÿI‰ÏL‰­èþÿÿH‰ÐþÿÿA‰ÖD‹­ ÿÿÿD‰ÛL‰¥ ÿÿÿD‹¥(ÿÿÿëÇ…hÿÿÿAƒÆIƒÇB4#A9ö| E9õ~:Hƒ}ˆ~)L‹•XÿÿÿèMíÿÿƒø0A‰uÅ‹µhÿÿÿ…öuÅAƒÅƒÃë¼fH‹E€Hƒ8uÍA‰ÛL‰ùD‰òD‹½8ÿÿÿL‹µðþÿÿL‹­èþÿÿL‹¥ ÿÿÿH‹ÐþÿÿL‹•XÿÿÿD‰hÿÿÿ‰•ÀþÿÿH‰°þÿÿ‰µ¨þÿÿ‰•ˆþÿÿH‰¸þÿÿD‰ÈþÿÿèÀìÿÿƒø4‹•ÀþÿÿH‹°þÿÿ‹µ¨þÿÿ‹½ˆþÿÿL‹…¸þÿÿD‹ÈþÿÿŽ‘ƒø5„ ƒúŽ€‹qüHAüD9þ„ªƒþ9…¡E1Éëƒþ9uÇ0HƒèAƒÁ‹0D9þuæD;(ÿÿÿ„ÜD9þ„ìƒÆ‰0A9÷„-‹µhÿÿÿµ(ÿÿÿë@Aƒxü0I@üu I‰Àƒï9÷ë…ÿuöC uE9xüMHüt €M‰ÁM…ít‹ÿÿÿ…É…J‹Eœƒøf„Œ‹U …Ò…[A‰ƒ} IAIqÒƒâþƒÂ-‰‹M˜ƒù Žc¿ f„<¿ÿ9Ï~÷A¸gfff‰øÁÿA÷è‰ÈÁú)ú‰×‰ÊÁú÷ÿƒÀ0‰‹E˜HƒÆ‰ÂÁú÷ÿƒÿ ‰Ñ‰U˜˃Á0LN‰‹EÌ…À„÷¶{ ƒ­4ÿÿÿL‰É‹µ4ÿÿÿL)ñH‰ÊH‰hÿÿÿHÁú)Öƒç ‰µ4ÿÿÿ…¹D‹­4ÿÿÿ‹sE…íަƒþ0„D‹dÿÿÿE…Û„° Lc­4ÿÿÿL‰çL‰ÈþÿÿL‰êèaL‹ÈþÿÿL9è…g‹EÌD‹­4ÿÿÿ…À„ªD‹•dÿÿÿE…Ò„JI‹„$ H‹P H;P(ƒ®Ç-HƒÂH‰P ¶C AƒÅ¨ u‹µ4ÿÿÿ…ö~ ƒ{0„'‹•dÿÿÿ…Ò„1ÿHÇ…ÿÿÿHÇ…XÿÿÿöC …´H‹•XÿÿÿD‹dÿÿÿE…Û„¿H‹…hÿÿÿL‹½hÿÿÿHƒÀIÁÿHƒø—À„À„2D‹•dÿÿÿI‹„$ØH‰ÖL‰çL‰úE…ÒIEöÿP8I9Ç…jEý‹½Øþÿÿ…ÿ…狵4ÿÿÿ…öŽpòÿÿöC „fòÿÿ‹dÿÿÿ…É„ Lcµ4ÿÿÿ‹sL‰çL‰òèÃ_L9ð…D­4ÿÿÿé.òÿÿfDE1íéžþÿÿ¶{ @öÇP„þÿÿféøýÿÿ…ÀˆÛ H‹UˆA L‰öè0xÿÿH‹MˆH‹U€HƒEˆÇE˜H‰ÊéÓøÿÿ¶C ¨@„dD‹…dÿÿÿE…À„Ô I‹”$ H‹B H;B(ƒ Ç+HƒÀH‰B éEþÿÿD‹dÿÿÿE…É„‡M…ÿuéâþÿÿfDAƒÅM…ÿ„ÎþÿÿI‹„$ IƒïA‹6IƒÆH‹P H;P(ƒƒþÿ‰2”ÁHƒÂH‰P „Ét½‹•Øþÿÿ…Ò„×ñÿÿH‹½ÿÿÿAƒÍÿèç-éñÿÿfˆHƒÀI‰D$(AƒÅM…ÿ„\þÿÿIƒï¶ I‹D$(HƒÂI;D$0rѶñL‰çH‰•Àþÿÿ迃øÿA‰ÆH‹•Àþÿÿu»D‹…ØþÿÿE…À„`ñÿÿH‹½ÿÿÿE‰õèq-éŒðÿÿ@HÇ…XÿÿÿöC tHÇÀÿÿÿdH‹H‹‹€¨H‰…XÿÿÿH‹½PÿÿÿL‰ÈþÿÿèÙiH‰…8ÿÿÿ1ÀHƒ½@ÿÿÿHÇ…(ÿÿÿL‹Èþÿÿt)H‹½@ÿÿÿè¨iH‰…(ÿÿÿHc…ÿÿÿH¯…(ÿÿÿL‹ÈþÿÿH‹•XÿÿÿH‹½8ÿÿÿH¯•ÿÿÿHTH‹…Øþÿÿ…À…THBHƒàðH)ÄHD$HƒàðH‰…XÿÿÿH•XÿÿÿM9ñH‹½XÿÿÿH‰•ÿÿÿ†–üÿÿD‰­ ÿÿÿL‰µÿÿÿM‰õH‰ÿÿÿM‰Î‹Lÿÿÿë9Ãt4ˆHƒÇIƒÅM9îvUA‹ED9øuäH‹•8ÿÿÿH‹µPÿÿÿèa‹H‰ÇëÖ@H‹•(ÿÿÿH‹µ@ÿÿÿèE‹H‰ÇëºI‰ÿI)×IƒÿŸÀéLüÿÿfDD‹­ ÿÿÿL‹µÿÿÿH‹ÿÿÿéîûÿÿ…H‰ÈD9xüHpüLHøIDñI9övéÇ0HƒîI9ö‡w‹ƒø9tæƒÀ‰é’ùÿÿ@‹µÿÿÿ;u˜Ž öÿÿD‹u ÇEœfÇ…8ÿÿÿE…öu ‹E˜ƒÀ‰…8ÿÿÿ‹…ÿÿÿ+…8ÿÿÿ‰… ÿÿÿHc…ÿÿÿHƒÀH‰…ÿÿÿéêõÿÿf‰Uœ‹…À‰… ÿÿÿˆÁ Hc… ÿÿÿHƒÀH‰…ÿÿÿ‹• ÿÿÿÇ…hÿÿÿÇ…ÿÿÿÿÿÿÇ…8ÿÿÿ‰•(ÿÿÿé¾õÿÿ@I‹D$(I;D$0ƒ'Æ-HƒÀI‰D$(éOóÿÿöC …êöÿÿD‹… ÿÿÿE…À~Hƒ}ˆÓöÿÿH‹E€Hƒ8…ÅöÿÿÇ…hÿÿÿ1ÒD‰½8ÿÿÿL‰­ðþÿÿD‹½hÿÿÿD‹­ ÿÿÿL‰µhÿÿÿL‰¥ ÿÿÿI‰ÌH‰èþÿÿL‹µXÿÿÿ‰ÓëDA¿ƒÃIƒÄD9ë}6Hƒ}ˆ~M‰òè7äÿÿƒø0A‰$uÖAƒÿAƒÕëÒ@H‹E€Hƒ8u×fDL‰á‰ÚD‹½8ÿÿÿL‹µhÿÿÿL‹­ðþÿÿE1ÛL‹¥ ÿÿÿH‹èþÿÿ‹µ(ÿÿÿéàöÿÿf.„I‹D$(I;D$0ƒ6 Æ+HƒÀI‰D$(é'òÿÿ€I‹D$(I;D$0ƒå Æ HƒÀI‰D$(éÿñÿÿ€‹øþÿÿL‹…àþÿÿL‰ÊL‰Èþÿÿ‰È‰°þÿÿNI4†K<†H)òL‰…¸þÿÿHÁúèâ L‹…¸þÿÿ‹°þÿÿL‹ÈþÿÿE¾UD‰½XÿÿÿOD†üDEzÿIxüM]‰ÊJ½H)ÇL‰À@ƒê‰ÖA‹4¶‰0HƒèH9øuìI÷׋½LÿÿÿD)ÑO¸A‰8E¶IƒèE„Òx$A€útE„ÒuE¶UM‰ëE¾ÒA9ÊsM‰Ýë‹D‹½Xÿÿÿƒé‰ÈA‹†A‰IƒèM9ÆrëH‹…àþÿÿM éªöÿÿ@¨„øÿÿ‹½dÿÿÿ…ÿ„BI‹”$ H‹B H;B(ƒo Ç HƒÀH‰B éÛ÷ÿÿI‹D$(I;D$0ƒ Æ-HƒÀI‰D$(é¹÷ÿÿ‹dÿÿÿ…É„2Hc4ÿÿÿ¾0L‰çL‰ÈþÿÿH‰ÊH‰°þÿÿèLXH‹°þÿÿL‹ÈþÿÿH9È…ùÿÿD­4ÿÿÿéƒ÷ÿÿf„IcÞ¾ L‰çH‰Úè Méyêÿÿ„ÇEœf‹ …ɉ ÿÿÿHcш‹M …É…ÔHcE˜‹½ ÿÿÿÇ…hÿÿÿÇ…ÿÿÿÿÿÿ‰½(ÿÿÿpHD‰µ8ÿÿÿH‰…ÿÿÿéïñÿÿDH…Ò„@H¼ÊH‹U€J‹H…Òt H¼Ò9ÑOÊE…ö…ÌA¹@E)ÙD9ÉŒ/IcÆL‰ÒD‰ÉH)ÂAƒÆH‰…hÿÿÿL‰…¸þÿÿD‰Èþÿÿè`pÿÿH‹}€L‹…¸þÿÿMcöH‹UˆD‹ÈþÿÿH+•hÿÿÿL)uJ4D‰Éè0pÿÿH‹UˆH‹M€H‰ÐH+…hÿÿÿL)òHƒ|ÁøHDÂH‰EˆéXðÿÿLcµ4ÿÿÿ‹sL‰çL‰òèÃKéûöÿÿƒ}œf„6AÇ1ƒ} ÀƒàƒèE˜…À‰E˜uÇE ‹•øþÿÿ9•ÿÿÿéóÿÿ‰Ð+…ÿÿÿ½ÿÿÿI‰ÈH˜)×HÁàI)ÀéÈóÿÿ‹AüD9ø„q¨…OóÿÿL‹MˆIƒù„ÚHƒ}…3óÿÿM…É„²óÿÿH‹E€Jƒ|Èø…óÿÿJDÈðëf.„L‹HƒèM…Ò…ùòÿÿIƒéuêévóÿÿDH‹•ÿÿÿAÇ0Ç…øþÿÿƒm˜H‰ÑD‰z HƒÁérñÿÿÇ…ÿÿÿé‹ïÿÿH‹UˆA¹øROD‰ÁL‰öL‰ÈþÿÿèInÿÿH‹U€H‹MˆAº L‹ÈþÿÿHƒEˆL‰¥8ÿÿÿH‰ÿÿÿE‰ÔH‰Ê‹U˜ÇE L‰ËÇ…hÿÿÿ÷ÚD‰½4ÿÿÿL‰­(ÿÿÿ‰U˜Hƒë9S+H‹CH‹UˆHƒèH9ÐŽfH‹ H‹½xÿÿÿI‰ÐH‰ÂH4ÍÈCOH‹M€ènÿÿH‹UˆH‰ÑHKLiÿHƒéH…ÀH‹…xÿÿÿLDé¹MEÿH)Ñ‹U˜N4)N½<ÀAÁæAƒ÷?D‰ø÷ÐF40BD9ð„VBA9Æ®H‹…xÿÿÿD)ò¾D‰áÓæ µhÿÿÿ…Ò‰U˜ˆàL‹1Ò1ÿH‰ÆM…Àu€ƒÂHcúH4øL‹M…ÀtîAƒÿ?„xM¼À…Ò…V¹?D)ùA9ÈŒŽHcÒH‹}€I)ÕL‰êè5mÿÿ‹U˜L‰mˆfDAƒü„›…ÒŽÐAƒìé­þÿÿBD9ðuÝH‹…xÿÿÿH‹u¸J94À‚<ÿÿÿuÆH‹}°J9|èðs»é'ÿÿÿH‹ H‹u€I‰ÀH‹½xÿÿÿH ÍÈCOè*mÿÿé˜þÿÿLc­4ÿÿÿL‰çL‰ÈþÿÿL‰êèlHL‹ÈþÿÿéKòÿÿI‹D$(I;D$0ƒ°Æ+HƒÀI‰D$(éyòÿÿHc4ÿÿÿ¾0L‰çL‰ÈþÿÿH‰ÊH‰°þÿÿèHL‹ÈþÿÿH‹°þÿÿéÉúÿÿ‹… ÿÿÿHƒÂÇ…hÿÿÿH‰•ÿÿÿÇ…ÿÿÿÿÿÿÇ…8ÿÿÿ‰…(ÿÿÿéíÿÿE…ÛŽðÿÿAƒëD‰hÿÿÿé ðÿÿ€½ßþÿÿg„”‹0éðÿÿA¹@E)ÙD9É4ûÿÿAVÿLÅøÿÿÿD‰ÉD‰ÈþÿÿHcÒJ4L‰…¸þÿÿH‰•hÿÿÿL‰ÒH+•hÿÿÿè„kÿÿéûÿÿH‹U€J¼ éÌúÿÿAƒÿ<i¹<¸ HÇE°D)ùHÓàH‰E¸éýÿÿD‹½4ÿÿÿL‹­(ÿÿÿL‹¥8ÿÿÿH‹ÿÿÿ‹µhÿÿÿ‰u˜élëÿÿHÇ…ÿÿÿÇ… ÿÿÿé7öÿÿ¹?D)ùA9ȪýÿÿƒêHtøøH‹}€HcÒI)ÕL‰êè×jÿÿL‰mˆ‹U˜é£ýÿÿÇ@0Iq ‹M˜éÝïÿÿI‹D$(I;D$0ƒ¦Æ HƒÀI‰D$(é¡ðÿÿºÇ… ÿÿÿémùÿÿ…ÒD‹½4ÿÿÿL‹­(ÿÿÿL‹¥8ÿÿÿH‹ÿÿÿŽ5ÿÿÿH‹u€H‹Uˆ¹ H‹½xÿÿÿè¶pÿÿH‹µxÿÿÿ¹L‹uˆH¼ƒ}˜NM˜9È­¸@H‹}€L‰ò)ȉÁèiÿÿH…Àt H‹U€J‰òIƒÆL‰uˆƒhÿÿÿéÂþÿÿHcÒI)ÕM…íŽÿÿÿH‹M€HÁç1ÒH‹48HƒÇH‰4ÑHƒÂL9êuëéßþÿÿA)×éüÿÿ‹µÿÿÿ9µøþÿÿ„!Iƒîƒ…øþÿÿAÇ1éÅùÿÿH‰þE1À1ÀE1öéGéÿÿH‹}€L‰òèiiÿÿéhÿÿÿE1ÉéuíÿÿD‰ÙL‰ÒH‰þD‰ÈþÿÿèÖhÿÿH‹}€D‹ÈþÿÿH‹UˆD‰ÙH‰þè¼hÿÿH…À„séÿÿH‹MˆH‹U€HƒEˆH‰Êé]éÿÿöAø…ÜìÿÿéˆùÿÿH¾ ¹@ºH‰u°Hu°D)ùL‰…¸þÿÿHÇE¸H‰÷èXhÿÿ‹U˜L‹…¸þÿÿéòúÿÿH‹}€AOL‰êH‰Æè6hÿÿIUH‰UˆH‹U€J‰ê‹U˜éfûÿÿH‹E€Hƒ8„áìÿÿéùÿÿH‹…ÿÿÿ…ÒE‰~üÇ1޲Hc…øþÿÿH‹µÿÿÿzÇD†0HÇÆØÿÿÿƒE˜dH‹H…Ò„HcCL‹µÿÿÿ·B%ƒøÀ½øþÿÿÇ…øþÿÿƒà ƒÀE‰Eœé:øÿÿHÇÀÿÿÿdH‹H‹H‹@@HdH‰¶s éHÞÿÿHÇÀÿÿÿdH‹H‹H‹@@HdH‰¶{ é)ÝÿÿöC „]ÿÿÿé?ÿÿÿHÇÀÿÿÿdH‹H‹H‹P@HÂdH‰éNÿÿÿ‹1H‰Èéªëÿÿ¾ L‰çL‰ÈþÿÿèSL‹Èþÿÿƒøÿ”À„À…wïÿÿéQíÿÿH‹½XÿÿÿèkH‹½ÿÿÿè_éüíÿÿ¾+L‰ç‰•ÀþÿÿH‰°þÿÿè0¯ƒøÿ‹•ÀþÿÿH‹°þÿÿ”Àéûàÿÿ€½ßþÿÿg”Á1Òƒ}˜”Â…Ê„Šëÿÿº¾p\OL‰÷L‰Èþÿÿè´”L‹ÈþÿÿIVE‰~I9Ñs/IƒÁéÕëÿÿ¾-L‰çL‰Èþÿÿè³®ƒøÿL‹Èþÿÿ”Àé-ÿÿÿL‰ÉI~¾0H)ÑH‰ÊHÁúèv”L‹ÈþÿÿIƒÁé„ëÿÿ¾-éÜþÿÿ¾+éàÿÿ¾+éÈþÿÿ¾ éàÿÿH‰×H‰•ÀþÿÿL‰Èþÿÿè+H…ÀH‰…XÿÿÿH‹•ÀþÿÿL‹Èþÿÿ…“ïÿÿé+îÿÿH‹•ÿÿÿH‰þH‹½Xÿÿÿè¬×ÿÿH‹½ÿÿÿH‰Âé.ìÿÿL‰çèeQƒøÿ”ÁéáíÿÿL‰ç‰•ÀþÿÿèLQƒøÿ‹•Àþÿÿ@”Æé¢ÞÿÿL‰ç‰•Àþÿÿè,Qƒøÿ‹•Àþÿÿ@”ÆéKÞÿÿ¶òL‰çè­ƒøÿ…3ßÿÿéqßÿÿ¾-@é.þÿÿ¾ fDéþÿÿƒ}œf…bùÿÿöC D„SùÿÿIvH9ð…CùÿÿAƒ>0…9ùÿÿƒ­hÿÿÿ‹0é7éÿÿ¾ éVþÿÿè#Ì…À…næÿÿL‰÷èÒ)H…ÀH‰…ÿÿÿÇ…Øþÿÿ…qæÿÿéÓÞÿÿHÇÀÿÿÿdH‹H‹H‹@XHdH‰éåÿÿ@¶öL‰ç‰•ÀþÿÿH‰°þÿÿ詬ƒøÿ‹•ÀþÿÿH‹°þÿÿ…Þÿÿé~ÞÿÿL‰ç‰•ÀþÿÿèPƒøÿ‹•Àþÿÿ@”ÆéëÜÿÿHÇÀÿÿÿdH‹H‹H‹@@HdH‰¶{ é”ÛÿÿHÇÀÿÿÿdH‹H‹H‹@@HdH‰¶{ éäÛÿÿ@¶öL‰ç‰•ÀþÿÿH‰°þÿÿè ¬ƒøÿ‹•ÀþÿÿH‹°þÿÿ…`ÝÿÿéàÝÿÿ¾+é$ýÿÿUH‰õS‰ûHƒìÿÿ‡Á¾1Àƒ= #-tð±5ñ-…¨ë ±5â-…™H‹ ­"-H…ÉtHH‹)&-HcÛ1öH‰,ÙH‰؃=Å"-tðÿ ¬-…‚ë ÿ ž-…tHƒÄ‰ð[]À¾¿H‰T$èôH…ÀH‰Ê%-¾ÿÿÿÿH‹T$t¢HˆH‰ ("-ë…fDHÇÀÐÿÿÿ¾ÿÿÿÿdÇë›UH‰õS‰ûHƒìÿÿ‡Á¾1Àƒ="-tð±5-…öë ±5ò-…çH‹ ½!-H…ÉtHH‹9%-HcÛ1öH‰,ÙH‰؃=Õ!-tðÿ ¼-…Ðë ÿ ®-…ÂHƒÄ‰ð[]À¾¿H‰T$èH…ÀH‰Ú$-¾ÿÿÿÿH‹T$t¢HˆH‰ 8!-ë…fDHÇÀÐÿÿÿ¾ÿÿÿÿdÇë›H=<-Hì€èPÉHÄ€éHþÿÿH=-Hì€èaÉHÄ€émþÿÿH=þ-Hì€èÉHÄ€éúþÿÿH=ß-Hì€è#ÉHÄ€éÿÿÿAWAVAUATI‰üUH‰õSH옋‹^‰„$‰\$h¶N ‰ÈÀèƒàƒáuHHÇÁÿÿÿdH‹ H‹ H‹Y@H‰\$x‹IX‰Œ$Œ€;uK¹Ö\Oº£¾\O¿°\Oè¹Àþÿf„HÇÁÿÿÿdH‹ H‹ H‹YPH‰\$x‹‰˜‰Œ$Œ€;tµ…Ét±¶À‰D$t¶u @öÆ@ˆ´$€„þH‹@ˆt$`L‹0D‹xL‰4$D‰|$èÙæ…À¶t$`…ÔL‰4$D‰|$E1íèkæ1Û…À…Á L‰´$pL‰´$`D‰¼$hD‹´$hD‰¼$xAÁîAƒæH…Û„/E…ö¶´$€D‹|$h„°D‹|$hAƒïAƒïE…ÿŸÁŽ)ƒæ … D‹D$tE…À„b McǾ L‰çL‰ÂˆL$`L‰D$@è†F¶L$`L‹D$@L9À… D‰úéÝH‹@ˆt$`òf(ÁòL$ è]å…À¶t$`òL$ …Òf(ÁòL$ E1í1Ûèöä…ÀòL$ t>HÇÂØÿÿÿdH‹H…À„ðHcUA½`\O»*\O·PºP\O%¸ƒBOLDêHDØòL$L‹t$òŒ$pIÁþ AÁîH…Û…Ñþÿÿö„$€…Ë ‹¼$t‹„$pL„$ ¹@ŸPM€çÿÿHÁç L‰ÓH Ç”Àƒ}A¶À‰„$˜¸àŸPHDÈH‰ø@H‰ÂHÁèHƒëƒâH…À‹‘‰uèLœ$ 1Ƀ}AºL‰D$@L‰T$HMK L‰\$P”ÁL‰ÎL‰L$8èÚþL‹D$@I‰ÇL‹L$8L‹T$HL‹\$PI@LH9Ãv!f.„HƒëIƒïH9ÃÇ0AÆ0wé·„$v‰ÂfâðfƒúÒfÁèƒÂ1%ÿˆ”$€…ƒD‹œ$˜E…Û„* E1íÇ„$œƒ¼$ÿM‰ù„û H„$…1ɺ L‰ïL‰L$8H‰ÆH‰D$èþL‹L$8L„$TI‰ÂH¹ÍÌÌÌÌÌÌÌDL‰èIƒèH÷áHÁêH’HÀI)ÅH…ÒB‹­@ŸPI‰ÕA‰uÕE…ö„ôD¶m ºüÿÿÿ‹D$h+D$+”$‹Œ$BDþ…ÉŽ ‹D$tA»…Àu3H‹|$x‰T$XL‰D$@L‰L$8L‰T$Hè©OL‹T$HL‹L$8A‰ÃL‹D$@‹T$XD)ÚA‰ÓAƒå …cE…ÛŽZƒ}0„PD‹l$tE…í„i Ic˾ L‰çH‰ÊH‰L$`L‰D$@L‰L$8L‰T$HD‰\$Pè&CH‹L$`L‹D$@L‹L$8L‹T$HD‹\$PH9ÈE‰Ý…‘E…ö…i ¶E ¨@…’ ¨t7‹L$t…É„[ I‹„$ H‹P H;P(ƒÅÇ HƒÂH‰P AƒÅ‹T$t…Ò„üI‹„$ H‹P H;P(ƒFÇ0HƒÂH‰P ‹u‹D$tƒÆ…À„Ï I‹„$ H‹P H;P(ƒ‡ƒþÿ‰2”ÁHƒÂH‰P „É…ÐöE EuuE…Û~ ƒ}0„Ý ƒ|$t¾´$€„ I‹„$ H‹P H;P(ƒnƒþÿ‰2”ÁHƒÂH‰P „É…vƒ¼$EnŽ… ƒ|$t…c H‹|$x1ÀHƒÉÿò®H÷ÑHƒùtKH‰êLqþL‰ÅëIƒîH‹D$x¶HƒÀH‰D$xI‹D$(I;D$0ƒ-ˆHƒÀI‰D$(AƒÅM…öuÇI‰èH‰Õƒ¼$ŽÒHc”$M‰ÎL‰|$xM)þI9ÖH‰T$hLOòƒ|$t… M…ötLI^ÿH‰êE‰ÞL‰Åë@HƒëA¶I‹D$(IƒÇI;D$0ƒ%ˆHƒÀI‰D$(AƒÅH…ÛuÐI‰èE‰óH‰ÕH‹\$xH\$hL)ËH…Û~Eƒ|$t„¸H‰Ú¾0L‰çL‰D$@L‰T$HD‰\$Pè£@L‹D$@L‹T$HD‹\$PH9Ø…AÅ‹uƒÆƒ|$t„ËI‹”$ H‹J H;J(ƒ„ƒþÿ‰1”ÀHƒÁH‰J „À…Ùƒ¼$œÀƒàþƒÀ-ƒ¼$œöƒæþƒÆ-ƒ|$t„%I‹„$ H‹X H;X(ƒÖ‰3HƒÃH‰X A]L‹l$M)Õƒ|$tM‰î„OE‰ßM‰ÆM…í„ïI‹„$ A‹6H‹P H;P(ƒaƒþÿ‰2”ÁHƒÂH‰P Iƒí„É…0IƒÆƒÃë¹€1ÒE…ö…-¶E ¨@…i¨…™D‹t$tE…ö„SI‹„$ A‹uIƒÅH‹X H;X(ƒ;ƒþÿ‰3@”ÆHƒÃH‰X @„ö…»I‹„$ A‹uH‹X H;X(ƒ»ƒþÿ‰3@”ÆHƒÃH‰X @„ö…‡I‹„$ ZA‹uH‹P H;P(ƒ³ƒþÿ‰2@”ÆHƒÂH‰P @„ö…PƒÃ„Ét9öE t3D‹l$tE…í„ÝIcï¾ L‰çH‰êè’>H9è…DûfDHʉØ[]A\A]A^A_Ã@HÇÂØÿÿÿdH‹H…À„à HcUD‹|$hA½0\O»BO·Pº@\O%¸&\OLEêHEØE1ö@öÆP„O÷ÿÿéA÷ÿÿ¶3I‹D$(HƒÃI9D$0†ˆ @ˆ0HƒÀI‰D$(I‹D$(I;D$0¶3ƒ @ˆ0HƒÀI‰D$(ƒÂI‹D$(I;D$0¶[ƒ ˆHƒÀZI‰D$(éçþÿÿ¾ L‰ç‰T$XˆL$`è_B¶L$`‹T$Xƒøÿ”À„À„X„»ÿÿÿÿéæþÿÿfDHÇÂØÿÿÿdH‹H…À„` HcUA½`\O»*\O·PºP\O%¸ƒBOLDêHDØéüõÿÿD=þÇ„$”ÿ)„$”Ç„$œ‹¼$˜Lc¬$”…ÿ…]øÿÿM€MK Aƒzü0u€A‹BøIƒéIƒêƒø0t$ÿ„AHc„$L‰ÊLc¬$”L)úH9ÐøÿÿA€<8K… øÿÿ‹Œ$ƒÁHcÉH9Ê3ƒ¼$Ž1A¾TÿLc¬$”BЃø —Àƒâ8ЄÈ÷ÿÿD‹”$Aƒêˆ$IcÒI<¶€ù9„S‹´$I‰ÐIÇÃèÿÿÿƒîHcöI7H‰òë5AƒêÆ0Bǃ0ˆÙ¶H‰ÇHƒèHrÿ€ù9„I‰ÐH‰òdI‹3H…ö„iH¾Éƒ<Že·€BƒƒLc¬$”é÷ÿÿf.„-ÿÇ„$œ‰„$”étþÿÿ@Ç„$”þÇ„$œéwþÿÿDMcǾ L‰çL‰ÂˆL$`L‰D$@è$0L‹D$@¶L$`é™ôÿÿDE1íéøÿÿ„D¶m 1ÀºýÿÿÿAöÅP•À)ÂéüöÿÿfD‹„$tD‹¬$pLœ$ ºMK L‰\$PHÁà L‰ÎL‰L$8I Å”À1Ƀ}A¶ÀL‰ï‰„$˜”Áè^ôL„$ ƒ}AL‹L$8L‹\$P¹@ŸPºàŸPM€HDÊL‰ÓL‰êIÁíHƒëƒâM…í‹‘‰uèIKH‰ÞH9Èv3H‰Âf„HƒêHƒëH9ÊÆ0Ç0wêL‰ÚH)ÂHƒÂH–HжLx·„$x%ÿˆ”$€…HD‹„$˜Ç„$”@E…À„wþÿÿé=õÿÿ€AöÅA‰Ó„6öÿÿéçõÿÿI‹D$(I;D$0ƒ¢Æ0HƒÀI‰D$(é÷ÿÿ€I‹D$(I;D$0ƒ\Æ HƒÀI‰D$(é¨öÿÿ€‹|$t…ÿ„ I‹„$ H‹p H;p(ƒcÇ-HƒÆH‰p „ƒÂé§ùÿÿ„‹t$t…ö„ìI‹„$ H‹p H;p(ƒ Ç+HƒÆH‰p ë¾fD‹D$t…À„ÜI‹„$ H‹p H;p(ƒûÿÿÇ HƒÆH‰p ë†fD=@Žå-@Ç„$œ‰„$”é‰ûÿÿf„Ç„$éõóÿÿD‰ÈLc¬$”D)ø‰„$éÛóÿÿfDI‹D$(I;D$0ƒU Æ-HƒÀI‰D$(éÿþÿÿ€I‹D$(I;D$0ƒHÆ+HƒÀI‰D$(é×þÿÿ€I‹D$(I;D$0ƒIÆ HƒÀI‰D$(é¯þÿÿ€Icï¾ L‰çH‰êèµ,éùÿÿÇ„$”@Ç„$œ)„$”éžúÿÿ‹|$t…ÿ„ÚI‹”$ H‹B H;B(ƒÌÇ-HƒÀH‰B é¢ôÿÿ‹t$t…ö„ÆI‹”$ H‹B H;B(ƒ´Ç+HƒÀH‰B émôÿÿ…‡ûÿÿ¾”$€Lc¬$”BЃø —Àƒâ8Єòÿÿ€¼$€9„nHÇÂèÿÿÿdH‹H…À„’H¾”$€ƒóÿÿ¶ULc¬$”ˆ”$€éûðÿÿD‹¬$”Æ„$€1AƒÅMcíéßðÿÿƒ|$tttMcë¾0L‰çL‰êL‰D$@L‰L$8L‰T$HD‰\$Pè5L‹D$@L‹L$8L‹T$HD‹\$PL9è…÷ÿÿEÞéÐòÿÿI‹D$(I;D$0ƒ7¶”$€ˆHƒÀI‰D$(ééòÿÿMcë¾0L‰çL‰êL‰D$@L‰L$8L‰T$HD‰\$Pè¨)D‹\$PL‹T$HL‹L$8L‹D$@ëŠA÷ÝÆ„$€1Ç„$œMcíé ðÿÿHÇÀÿÿÿdH‹H‹H‹@@HdH‰¶u éûõÿÿöE „½óÿÿélòÿÿHÇÆÿÿÿdH‹6H‹6H‹vXHÆdI‰3éuøÿÿM…ö„6óÿÿH‰êIƒîE‰ßL‰ÅëfDAƒÅM…öt7IƒîI‹„$ ‹3HƒÃH‹H H;H(s)ƒþÿ‰1@”ÆHƒÁH‰H @„ötÅéPöÿÿI‰èE‰ûH‰ÕéÓòÿÿL‰çH‰T$XL‰L$8L‰T$Hèk8ƒøÿH‹T$XL‹L$8@”ÆL‹T$Hë¹¾+L‰çL‰D$@L‰L$8L‰T$HD‰\$Pè28ƒøÿL‹D$@L‹L$8”ÀL‹T$HD‹\$P„À…Ðõÿÿé„ðÿÿ¾-L‰çL‰D$@L‰L$8L‰T$HD‰\$Pèj”ë¶HÇÀÿÿÿdH‹H‹H‹@@HdH‰¶] ˆœ$€éäìÿÿHÇÀÿÿÿdH‹H‹H‹@@HdH‰¶U ˆ”$€étõÿÿ¾+L‰ç‰T$XˆL$`èû“ƒøÿ‹T$X¶L$`”Àéõÿÿ¾ ëÕL‰çL‰D$@L‰L$8L‰T$HD‰\$PèD7ƒøÿL‹D$@L‹L$8”ÁL‹T$HD‹\$Pégðÿÿ¶ñL‰çH‰T$XL‰L$8L‰T$HD‰\$P膓ƒøÿH‹T$XL‹L$8L‹T$HD‹\$P…¢ðÿÿé¤ôÿÿ¾ éÔþÿÿH‰Ú¾0L‰çL‰D$@L‰T$HD‰\$Pèë&D‹\$PL‹T$HL‹D$@éCñÿÿ¶ñL‰çH‰T$XL‰L$8L‰T$Hè “ƒøÿH‹T$XL‹L$8L‹T$H…´ðÿÿé0ôÿÿ¾-éþÿÿL‰çL‰D$@L‰L$8L‰T$HD‰\$PèJ6ƒøÿL‹D$@L‹L$8”ÁL‹T$HD‹\$Pé"ûÿÿL‰çè#6ƒøÿ”Áéœñÿÿ¾0L‰çL‰D$@L‰L$8L‰T$HD‰\$Pè÷5ƒøÿL‹D$@L‹L$8”ÀL‹T$HD‹\$P„À…•óÿÿé€îÿÿ¾ éxýÿÿ¾0L‰çL‰D$@L‰L$8L‰T$HD‰\$Pè%’묾-é*óÿÿ@¶öL‰ç‰T$XˆL$`è’ƒøÿ‹T$X¶L$`…Õòÿÿé.óÿÿ¶óL‰ç‰T$XˆL$`èÛ‘ƒøÿ‹T$X¶L$`„ óÿÿZé´ñÿÿ@¶öL‰ç‰T$XˆL$`è­‘ƒøÿ‹T$X¶L$`…^òÿÿéÖòÿÿHÇÀÿÿÿdH‹H‹H‹@XHdH‰éMùÿÿ@¶öL‰çL‰D$@L‰L$8L‰T$HD‰\$PèU‘ƒøÿL‹D$@L‹L$8”ÁL‹T$HD‹\$PéžíÿÿöE „\ñÿÿE…ÿ‹uŽPñÿÿƒþ0„Gñÿÿƒ|$tft]IcïL‰çD‰|$PH‰êè«/D‹\$PH9è…-òÿÿDÛéñÿÿE‰ßM‰ÕM…öt¤I‹D$(I;D$0A¶Us2ˆHƒÀI‰D$(IƒÅƒÃIƒîëÒIcïL‰çD‰|$PH‰êèN$D‹\$Pë¡¶òL‰ç范øÿuÉéÂñÿÿL‰çL‰D$@L‰T$HD‰\$Pèë3ƒøÿL‹D$@L‹T$H”ÀD‹\$P„À„ïÿÿé‰ñÿÿI‹T$(I;T$0s^ˆHƒÂI‰T$(éßîÿÿL‰çL‰D$@L‰T$HD‰\$Pè–3ƒøÿL‹D$@L‹T$H”ÀD‹\$Pé[îÿÿI‹D$(I;D$0s-@ˆ0HƒÀI‰D$(éFîÿÿL‰çL‰D$@L‰T$HD‰\$PèÈéXÿÿÿ@¶öL‰çL‰D$@L‰T$HD‰\$Pè¨ëL‰ç‰T$XˆL$`è3ƒøÿ¶L$`‹T$X@”Æé1ïÿÿ¾+éñúÿÿL‰çˆL$`èë2ƒøÿ¶L$`@”ÆéAïÿÿL‰ç‰T$XˆL$`èÊ2ƒøÿ¶L$`‹T$X@”Æé±îÿÿ¾+é<ðÿÿ¾-éûÿÿL‰çL‰D$@L‰L$8L‰T$HD‰\$Pè…2é«ýÿÿ@¶öL‰çL‰D$@L‰L$8L‰T$HD‰\$PèàŽéûÿÿS¾H‰û1Àƒ=-tð±5øæ,…•ë ±5éæ,…†H‹@ -H…ÀtX‹­µ,út5J‰ œµ,HcÊH‰\ÈÀƒ=½-t ðÿ ¨æ,uhëÿ žæ,u^‰Ð[Ã@HÇÀÐÿÿÿºÿÿÿÿdÇëǾ¿øèìH…ÀH‰Ê-ºÿÿÿÿuˆë¥H=Væ,Hì€èf­HÄ€é[ÿÿÿH=7æ,Hì€èw­HÄ€ë†HìØ¶ÀH‰T$0H…¸ˆFH‰L$8L‰D$@H)ÐH”$ÏL‰L$Hÿà)zñ)rá)jÑ)bÁ)Z±)R¡)J‘)BH„$àH‰âÇ$ÇD$0H‰D$HD$ H‰D$èªdÿÿHÄØÃHìØ¶ÀH‰T$0H…¸ FH‰t$(H‰L$8H‰þH)ÐH”$ÏL‰D$@L‰L$Hÿà)zñ)rá)jÑ)bÁ)Z±)R¡)J‘)BH„$àH‹=áº,H‰âÇ$ÇD$0H‰D$HD$ H‰D$è dÿÿHÄØÃHìØ¶ÀH‰L$8H …¸³FL‰D$@L‰L$HH)ÈHŒ$Ïÿà)yñ)qá)iÑ)aÁ)Y±)Q¡)I‘)AH„$àH‰áÇ$ÇD$0H‰D$HD$ H‰D$èaHÄØÃHìØ¶ÀH‰T$0H…¸HFH‰L$8L‰D$@H)ÐH”$ÏL‰L$Hÿà)zñ)rá)jÑ)bÁ)Z±)R¡)J‘)BH„$àH‰âÇ$ÇD$0H‰D$HD$ H‰D$èÚ(HÄØÃHìØ¶ÀH‰T$0H…¸ØFH‰L$8L‰D$@H)ÐH”$ÏL‰L$Hÿà)zñ)rá)jÑ)bÁ)Z±)R¡)J‘)BH„$àH‰âÇ$ÇD$0H‰D$HD$ H‰D$èê]HÄØÃHìØ¶ÀH‰T$0H…¸h FH‰L$8L‰D$@H)ÐH”$ÏL‰L$Hÿà)zñ)rá)jÑ)bÁ)Z±)R¡)J‘)BH„$àH‰âÇ$ÇD$0H‰D$HD$ H‰D$èú¯HÄØÃHìØ¶ÀH‰T$0H…¸ø FH‰L$8L‰D$@H)ÐH”$ÏL‰L$Hÿà)zñ)rá)jÑ)bÁ)Z±)R¡)J‘)BH„$àH‰âÇ$ÇD$0H‰D$HD$ H‰D$èê'HÄØÃ¸RH=ðÿÿƒmÃH‹—ˆ‹Bƒè…À‰BuHÇBƒ=Ý-tðÿ uëÿ uóÃH:Hì€èÿ¨HÄ€ëæS¶ÀH‰ûHìÐH‰T$0H…¸ÿ!FL‰D$@H‰L$8I‰ðH)ÐH”$ÏL‰L$Hÿà)zñ)rá)jÑ)bÁ)Z±)R¡)J‘)Bfƒ?xJH‹—ˆdL‹ %L9Jt0¾1Àƒ='-t ð±2…àë ±2…ÕH‹“ˆL‰JƒBH„$àƒKtH‰â1ÉL‰ÆH‰ßH‰D$HD$ Ç$ÇD$0H‰D$è§9ƒctëfƒ;‰Æx0H‹“ˆ‹Bƒè…À‰BuHÇBƒ=˜ÿ,tðÿ uqëÿ uk‰ðHÄÐ[Ãctëfƒ;H‰Æx0H‹“ˆ‹Bƒè…À‰BuHÇBƒ=Pÿ,tðÿ uDëÿ u>H‰÷è H:Hì€è<§HÄ€éÿÿÿH:Hì€èQ§HÄ€ézÿÿÿH:Hì€è6§HÄ€ëªHìØ¶ÀH‰T$0H…¸È#FH‰L$8L‰D$@H)ÐH”$ÏL‰L$Hÿà)zñ)rá)jÑ)bÁ)Z±)R¡)J‘)BH„$àH‰âÇ$ÇD$0H‰D$HD$ H‰D$è HÄØÃH‰\$àH‰l$èE1ÀL‰d$ðL‰l$øHìI‰ýH‰õI‰ÔH‰ç1ɺÿÿÿÿ¾€HÇ„$ˆèÙœL‰îH‰ç1É1ÒHÇ„$ØàjOè~®L‰âH‰îH‰ç1ɃL$tè¹7H‹œ$øH‹¬$L‹¤$L‹¬$HÄÃATI‰ôUSH‰ÓHWHƒìÇC0ÿÿÿÿÇC H‰T$D¶C ¶C AƒàƒàòDˆC ˆC ¶G¶èƒí0ƒý weLWL‰T$¶w@¶Æƒè0ƒø w5HG„l­@¶öH‰D$I‰Âlnж0HƒÀD¶ÎAƒé0Aƒù v×…ít @€þ$„ùH‰T$¶Gƒè <)† Aƒà tÇC ÇC,ÿÿÿÿÇC¶<*„/¶Àƒè0ƒø †1íÇC(ÿÿÿÿÇÿÿÿÿH‰Ð€:.„•€c ø€c ýH‹ .ÿ,fÇCH…É…¿H‹D$¶HxƒêL€ú.H‰|$†*H‰D$¶fHƒ= ü,¶ÂH‰|$‰CÇC@ÿÿÿÿ…¯ƒêAHÇC8€ú7†ÜHÇC81Àfƒ{0ÿ„~‹C…À„KH‰{¾%è}bH‰C HƒÄH‰è[]A\ÃD¶Àÿ$Åè\OfD€K @HƒÂH‰T$¶„À…¼þÿÿéÂþÿÿ€ÇC0ë×€AƒÈ DˆC ëÆfDAƒÈ@DˆC ë¶fDAƒÈ€DˆC ë¦fDAƒÈDˆC ë–fDAƒÈDˆC ë†fD¶Òÿ$Õ8^OfD¶Òÿ$Õø_OfDHrH‰t$¶r@¶þƒï0ƒÿ w*HƒÂ€@¶öH‰T$DFж2HƒÂ@¶þƒï0ƒÿ v݉CH‹T$1íé þÿÿfD€K ¶HƒÇéhþÿÿ„HƒïH‰èH‰{ H‰{HƒÄ[]A\ÄLBL‰D$¶rƒî0ƒþ w[HjH‰l$¶B¶øƒï0ƒÿ w/HƒÂ€4¶¶ÀH‰T$H‰ÕtpжHƒÂ¶øƒï0ƒÿ vÜ…öt<$„„D‰c,L‰D$IƒÄL‰Â½éXýÿÿfDHBH‰D$¶r@€þ*„é@¶öƒî0ƒþ wmHJ‰ðH‰L$¶J¶ñƒî0ƒþ w,HƒÂ€€¶ÉH‰T$DAж HƒÂ¶ñƒî0ƒþ v߉H‹D$éöüÿÿH…À„yýÿÿD‰c0Hk8élýÿÿfÇéÐüÿÿDD¶C AƒÈDˆC ¶€úl„HƒÇéîüÿÿfD€?h„O€K ¶HƒÇéÏüÿÿ€D¶C H‹|$AƒÈDˆC ¶ëºEÿ‰íIR‰C0H‹H‰T$H9ÅHCÅH‰A¶BD¶C éãûÿÿÇC4¸é¯üÿÿ€¶C ¨„\ÇC4¸é‹üÿÿÇC4¸éwüÿÿ€öC „FÇC4¸éUüÿÿDÇC4¸é?üÿÿ€ÇC4¸é'üÿÿ€ÇC4¸éüÿÿ€ÇC4¸é÷ûÿÿ€LJL‰L$¶zƒï0ƒÿ w{HBH‰D$¶rD¶ÆAƒè0Aƒø w0HƒÂ@<¿@¶öH‰T$H‰Ð|~ж2HƒÂD¶ÆAƒè0Aƒø vØ…ÿt,@€þ$u&H‹1Wÿ‰ÿ‰S(H9÷HC÷HƒÀ…ÒH‰1H‰D$‰ÛúÿÿD‰c(HƒÅIƒÄL‰L$L‰ÈéÂúÿÿ€¨u-öC …rþÿÿÇC4¸é!ûÿÿÇC4¸éûÿÿÇC4¸éþúÿÿH‹Fÿ‰ö‰C,H9ÖHCÖ…ÀH‰HUH‰T$‰8úÿÿéÃüÿÿHGH‰D$€K ¶WHƒÇévúÿÿHƒÇH‰|$éªýÿÿ¶¶òHƒ<ñ„8úÿÿH|$H‰ÞèšÙ…À…úÿÿH‹|$¶HƒÇé1úÿÿH‹ Úù,H˜H‹ÁH…À„;úÿÿH‰ßHK@HS4¾ÿÐH˜H‹|$H‰C8é9úÿÿU¶ÀH‰åAVLµÿÿÿAUI‰õATSH‰ûHìÐH‰•@ÿÿÿH…¸w,FH‰HÿÿÿL‰…PÿÿÿH)ÐHUßL‰XÿÿÿH…ÿÿà)zñ)rá)jÑ)bÁ)Z±)R¡)J‘)BHEHD•¬,Ç…ÿÿÿÇ…ÿÿÿ0H‰…ÿÿÿH…0ÿÿÿH‰… ÿÿÿ‹ƒÀ…À~rH‰÷I‰äèÿ(HƒÀH…HƒâðH)ÔHt$HƒæðH…Àt'A¶M„ÉxU1Òë A¶L„ÉxF¾É‰ –HƒÂH9ÐwçL‰òH‰ßè|ßL‰äHeà[A\A]A^ÉÃ@L‰òH‰ßè-UÿÿHeà[A\A]A^Éù•aOº-¾paO¿{aOèW•þÿATUS‹H‰ûöÄ …vf…ÀxLH‹“ˆdH‹,%H9jt0¾1Àƒ=µô,t ð±2…¿ë ±2…´H‹“ˆH‰jƒB‹öÄ …‰Âƒâ ƒúí÷Õf…ÀxH‹“ˆ‹Bƒè…À‰B„H‹ƒØ1öH‰ßÿP‹ƒÀ…ÀŽ£L‹£˜¾1Àƒ=&ô,tð±5ö,…Gë ±5ö,…8I‹|$Hè I‹¼$è ƒ=éó,tðÿ Øõ,…*ë ÿ Êõ,…H;}ª,t H;|ª,tH;{ª,tÇH‰ßècê[‰è]A\Ã@Hƒ{HtÅH‰ßè©ë»€H‰ßè8q‰Å‹é÷þÿÿ€èƒ‹é}þÿÿHÇBƒ=Ió,t ðÿ …­ëÿ …£é×þÿÿfƒ;H‰Æx4H‹“ˆ‹Bƒè…À‰Bu HÇBƒ=ó,t ðÿ …‚ëÿ u|H‰÷èºõH:Hì€èëšHÄ€é1þÿÿH=Àô,Hì€èÌšHÄ€é©þÿÿH=¡ô,Hì€èÝšHÄ€éÅþÿÿH:Hì€èšHÄ€éBÿÿÿH:Hì€è§šHÄ€éiÿÿÿH…ÿSH‰û„£fƒ?xJH‹—ˆdL‹%L9Bt0¾1Àƒ=ò,t ð±2…´ë ±2…©H‹“ˆL‰BƒBH‹ƒØH‰ßÿP`ƒøÒfƒ;÷Òx0H‹›ˆ‹Cƒè…À‰CuHÇCƒ=¶ñ,tðÿ uqëÿ uk‰Ð[ÃD[éÚ‹fƒ;H‰Æx0H‹“ˆ‹Bƒè…À‰BuHÇBƒ=nñ,tðÿ uDëÿ u>H‰÷è)ôH:Hì€èZ™HÄ€é<ÿÿÿH;Hì€èo™HÄ€ézÿÿÿH:Hì€èT™HÄ€ëªH‰\$èH‰l$ðA‰ðL‰d$øHƒì…öH‰ýH‰ÓŽƒþ„‹f…ÀxLH‹’ˆdL‹ %L9Jt0¾1Àƒ=¨ð,t ð±2…&ë ±2…H‹“ˆL‰JƒB‹A‰ÄAƒèƒàßIcЉA¸¹ H‰îH‰ßAƒä èW H…ÀuB‹ 1ÒA ÌfE…äD‰#xH‹›ˆ‹Cƒè…À‰CtFH‰ÕH‰èH‹$H‹l$L‹d$HƒÄÃD‹ öÁ tHÇÆÐÿÿÿ1Òdƒ> u¬ÆDH‰ê‹ ë fDHÇCƒ=Ùï,tðÿ uwëÿ uqH‰Õ뜀1íë‘ÆëŒfƒ;H‰Æx0H‹“ˆ‹Bƒè…À‰BuHÇBƒ=‹ï,tðÿ uDëÿ u>H‰÷èFòH:Hì€èw—HÄ€éÊþÿÿH;Hì€èŒ—HÄ€étÿÿÿH:Hì€èq—HÄ€ëªöGtH‰øt0öt+‹ÀºjO…ɹÀdOHOÑH‰—ØH‹— H‰Š@óÃDH‰\$àH‰l$è1ÛL‰d$ðL‰l$øHƒì(I‰ý¿8H‰õA‰Ôè3ôH…À„‰HàHˆðH‰Ã1öH‰ÇA¸@cOH‰ˆ1ÒèPH‰ßHǃ؀hOèÍfD‰áH‰êL‰îH‰ßèŒmH…ÀtRöCtt0öt+‹³ÀºÀdO¸jO…öHOÂH‰ƒØH‹ƒ H‰@H‰ØH‹l$H‹\$L‹d$L‹l$ HƒÄ(ÃH‰ßèŠH‰ß1Ûè³äëÐH‰\$èH‰l$ðH‰ýL‰d$ø¿8HƒìI‰ô1ÛèKóH…À„HàHˆðH‰Ã1öH‰ÇA¸@cOH‰ˆ1ÒèhŒH‰ßHǃ؀hOèåe¹L‰âH‰îH‰ßè¢lH…ÀtPöCtt4ö@t+‹»ÀºÀdO¸jO…ÿHOÂH‰ƒØH‹ƒ H‰@H‰ØH‹l$H‹$L‹d$HƒÄÃH‰ßè5‰H‰ß1ÛèËãëÖL‰d$ðI‰ÔH‰\$àL¯æH‰l$èL‰l$øHƒì(I‰øI‰õH‰ÕH‰ËM…ä„Ôfƒ9xJH‹‘ˆdL‹ %L9Jt0¾1Àƒ=¢ì,t ð±2…ãë ±2…ØH‹“ˆL‰JƒBL‰âL‰ÆH‰ßèŽufƒ;H‰Âx=H‹›ˆ‹Cƒè…À‰Cu)HÇCƒ=Bì,t ðÿ …Ÿëÿ …•DI9Ôt H‰Ð1ÒI÷õH‰ÅH‰èH‹\$H‹l$L‹d$L‹l$ HƒÄ(Ã@1íëÜfƒ;H‰Æx0H‹“ˆ‹Bƒè…À‰BuHÇBƒ=Èë,tðÿ uDëÿ u>H‰÷èƒîH:Hì€è´“HÄ€é ÿÿÿH;Hì€èÉ“HÄ€éPÿÿÿH:Hì€è®“HÄ€ëªL‰l$øI‰ÕH‰\$àL¯îH‰l$èL‰d$ðHƒì(I‰øI‰ôH‰ÕH‰ËM…í„ìfƒ9xJH‹‘ˆdL‹ %L9Jt0¾1Àƒ=ë,t ð±2… ë ±2…H‹“ˆL‰JƒB‹ƒÀ…Àtbƒøÿtg1ö1Òfƒ;xH‹›ˆ‹Cƒè…À‰Ctw€L9êt@„öu H‰Ð1ÒI÷ôH‰ÅH‰èH‹\$H‹l$L‹d$L‹l$ HƒÄ(ÀǃÀÿÿÿÿH‹ƒØL‰êL‰ÆH‰ßÿP8HƒøÿH‰Â@”Æézÿÿÿ1íë©@HÇCƒ=)ê,tðÿ ugëÿ uaéoÿÿÿfƒ;H‰Æx0H‹“ˆ‹Bƒè…À‰BuHÇBƒ=ëé,tðÿ uAëÿ u;H‰÷è¦ìH:Hì€èבHÄ€éÐþÿÿH;Hì€èì‘HÄ€ë‡H:Hì€èÔ‘HÄ€ë­AWAVAUATI‰üUSH‰ËHƒì(H…öH‰t$‰T$„ H…ÿ„‹f…ÀxLH‹‘ˆdH‹,%H9jt0¾1Àƒ=&é,t ð±2…;ë ±2…0H‹“ˆH‰jƒB‹¨ HÇÅÿÿÿÿ…Iƒ<$t H‹D$Hƒ8u#H‹L$¿xHÇxèGîH…ÀI‰$„JL‹sL‹kM)õM…íŽHÇD$ë$H‰ß考øÿ„§L‹sL‹kH‰l$M)õ‹t$L‰êL‰÷èx,H…ÀI‰Çt I‰ÅM)õIƒÅH‹l$Il-HƒýÿŒ H‹L$HEH‹H9Ðv0L4I‹<$L9ðLCðL‰öèŠúH…À„¡I‰$H‹D$L‰0L‹sH‹|$I<$L‰êL‰öè-DLkM…ÿ„HÿÿÿI‹$Æ(‹f…Àx8H‹“ˆ‹Bƒè…À‰Bu$HÇBƒ=®ç,t ðÿ …ßëÿ …ÕHƒÄ(H‰è[]A\A]A^A_ÃH‰ßèoŒƒøÿuf.„‹HÇÅÿÿÿÿëL‹sL‹kM)õé¯þÿÿDHÇÀÐÿÿÿHÇÅÿÿÿÿdÇë HÇÀÐÿÿÿHƒÍÿdÇK‹éJÿÿÿfƒ;H‰Æx0H‹“ˆ‹Bƒè…À‰BuHÇBƒ=ôæ,tðÿ uDëÿ u>H‰÷è¯éH:Hì€èàŽHÄ€éµýÿÿH:Hì€èõŽHÄ€éÿÿÿH:Hì€èÚŽHÄ€ëªAWAVAUATA‰ÌUH‰ÕSH‰ûHƒì(M…ÉH‰t$D‰D$L‰L$tAÇ‹“À…Ò„@1ÀH…íL‹|$uJ釀I9íD‰æL‰÷LCíL‰êè3*H…ÀH‰Á…wL‰ÿL‰êL‰öL)íMïèCBLkH…ít:L‹sL‹kM)õM…í²H‰ß肉ƒøÿ„‡D9à„—HƒíAˆIƒÇH…íuÆL‰øH+D$HƒÄ([]A\A]A^A_Ãf„H‰Å‹D$L)õ…Àx HƒÁƒ|$HƒÝÿH‰êL‰öL‰ÿH‰ $è³AL+|$H‹ $H‰KHƒÄ([JD=]A\A]A^A_ÃHƒ|$tŠH‹T$‰L‰øH+D$ëƒ|$~ Eˆ'IƒÇéfÿÿÿ„`ÿÿÿD‰æH‰ßè5oéPÿÿÿǃÀÿÿÿÿé±þÿÿAWAVAUATA‰ÌUH‰ýSH‰ÓHƒì(‹¿ÀH‰t$D‰D$…ÿ„1ÀH…ÛL‹|$u?ë{I9ÝD‰æL‰÷LCëL‰êè»(H…ÀH‰ÁusL‰ÿL‰êL‰öL)ëMïèÏ@LmH…Ût6L‹uL‹mM)õM…í¶H‰ï舃øÿtA9Ä„HƒëAˆIƒÇH…ÛuÊL‰øH+D$HƒÄ([]A\A]A^A_Ãf„‹t$H‰ÃL)ó…öx HƒÁƒ|$HƒÛÿH‰ÚL‰öL‰ÿH‰L$èB@L+|$H‹L$H‰MHƒÄ(J;[]A\A]A^A_Ã|$~ Eˆ'IƒÇë„zÿÿÿD‰æH‰ïèßméjÿÿÿÇ…ÀÿÿÿÿéÚþÿÿAWI‰×AVA¾ aOAUI‰ýATUSHƒìƒþ t]ƒþ0A¾°aOtR@ˆt$@ˆt$I‰æ@ˆt$ @ˆt$ @ˆt$ @ˆt$ @ˆt$ @ˆt$@ˆt$@ˆt$@ˆt$@ˆt$@ˆt$@ˆt$@ˆt$@ˆ4$1Û1íAƒÿE‰üëEDƒëAƒìB;ƒø~0I‹…غL‰öL‰ïÿP8HÅHƒøtÒHƒÄH‰è[]A\A]A^A_ÃE…ä~éI‹…ØIcÔL‰öL‰ïÿP8HÅëÑ‹®Ã,ƒè…À‰£Ã,u/HÇšÃ,ƒ=‹â,tðÿ ‚Ã,…ñë ÿ tÃ,…ãóÃfff.„AT¸U1íSH‰ûHƒì0H…À@•Å…í…ÿHÇ$ ?FHÇD$dH‹%H9&Ã,t4¾1Àƒ=â,tð±5Ã,…’ë ±5õÂ,…ƒH‰ðÂ,H‹ñÂ,‹ ßÂ,H…Àt.H9غ`suëzf.„H9ØtkHèH‹€èH…ÀuèA¼ÿÿÿÿ…ɉ žÂ,u/HÇ•Â,ƒ=†á,tðÿ }Â,…*ë ÿ oÂ,……íu=AƒüÿuC¸ÿÿÿÿHƒÄ0[]A\ÃH‹ƒèE1äH‰ëŸH‰ç1Ò¾ ?Fèá¾¹ÿéþþÿÿ@H‰ç1öèξ¹ÿë·‹{pèF…Àfx¯LD$,A¹=ëHÇÀÐÿÿÿd‹ƒøu“Hc»àE1Ò1ÒL‰ÆD‰ÈH=ðÿÿwƒøÿtЋD$,énÿÿÿHÇÂÐÿÿÿ÷Ød‰ëÃf.„H‰\$ÐH‰l$Ø1ÉL‰t$ðL‰|$øE1öL‰d$àL‰l$èHƒìx¶E1ÿH‰ûH‰õ„ÀtZHƒþ HVÿI‰ö‡ŸH µ1ÀD‹‰HƒÀH9ÈuñHÁæHóH47I‰u L)õH…í„öA‹”$ÀD‹+…Òu ¾L‰çèZ!I‹„$ØD‰îL‰çÿPƒøÿ„ÀHƒÃHƒíé;ÿÿÿI‰öH‰òH‰Þè²<J³I‰E ë–„@öÇ…WÿÿÿHCH9dž‘I‰ðIÁèN…M…Ò„‹1À1ÉDóoHƒÁfHƒÀI9ÈwéN•L)ÒL9ÖN N„ÿÿÿ1ÀA‹ A‰ HƒÀHƒêyîéøþÿÿf„L‰øH)èHƒÄ[]A\A]A^A_ÃHGH9Ƭþÿÿé]ÿÿÿI‰øI‰Ùë©fffff.„SHƒ`H‰ûtHÇG`Hƒ{HtZ‹öÄt_€äþ‰H‹ƒ H‹PH‹HPH‹xH‰PPH‹P@H‰HH‰x@H‰PH‰èëÂH‹ƒ HÇ@@HÇ@PHÇ@H[Ãf.„H‹ƒ H‹x@ëÃUE1ÉA¸ÿÿÿÿ¹"º¾ SH‰û1ÿHƒìè(SH‰ÅHƒýÿt2H‹ƒ H‹x0H…ÿtU‹StöÂt'H‰h0ƒâ÷HÅ€H‰h8‰St¸HƒÄ[]ÃfDH‹@8H)øHÁøH4…ÿHæðÿÿèáRH‹ƒ ‹Stë®DUH‰ýSH‰óHƒì‹H‰uöƉÑuGH‹ƒ €æu+H‹H+PHÁú‰UH‹C`H‰EH‰k`HƒÄ[]Ãf.„H‹H+PHÁú‰UëÓH‹† H‹PH9P wMöÅu:H‹P0H‰PH‹P H;PvH‰PH‰H‰P(H‰P H‰P‰Ê€æ÷‰éyÿÿÿf„H‹PHH‰PH‹P ëÎH‹€@¾ÿÿÿÿH‰ßÿPƒøÿt ‹ H‹ƒ ë‘‹é2ÿÿÿf„Sƒ¿ÀH‰û|ntY‹öƉÑupH‹ƒ H‹H‹pH9ò‚áöÅ…¨Hƒ{`„H‰ßèå÷ÿÿ…Àu,H‹ƒØH‰ß[L‹X Aÿ〾讃ø„¸ÿÿÿÿ[ÃfDH‹ƒ H‹HH9H ‡ÛöÆ…¢H‹H0H‰HH‹H H;HvH‰HH‰H‰H(H‰H H‰H‰Ñ€å÷‰ éHÿÿÿf„€åþH‹P@‰ H‹HPH‰pPH‹pH‰H‰PH9ÊH‰HH‰p@H‰Îƒ(ÿÿÿ‹[Ã@‹‹À…É…éþÿÿ¾H‰ßèí‹öƉфØþÿÿéCÿÿÿH‹HHH‰HH‹H écÿÿÿ€Hƒ{H„äþÿÿH‰ßè­ôÿÿé×þÿÿH‹€@¾ÿÿÿÿH‰ßÿPƒøÿ„èþÿÿ‹H‹ƒ éüþÿÿffffff.„AVI‰ÖAUATI‰üUH‰ÕSH‰ó@M‹„$ I‹0I‹@H)ðHÁøH…À~gH9ÅI‰éLCÈIƒù}E1íM…ÉtLAƒù AQÿE‰Ê‡”ABÿ1ÒH …fD‹‰HƒÂH9ÊuñAƒêM‰ÍJ•HÆHÃI‰0L)íH…ítL‰çè©ýÿÿƒøÿ…hÿÿÿL‰ð[H)è]A\A]A^ÃL‰ÊH‰ßM‰Íè27H‰ÃI‹„$ J­Hë±f.„öÃ…cÿÿÿHFH9ÃvnD‰×ÁïD,½E…ítm1À1É€óoƒÁfHƒÀ9ùrëB<­D)êE9ê‰ÿL;H<>„,ÿÿÿ1À‹ A‰ HƒÀƒêyðéÿÿÿHCH9Ɔßþÿÿë€H‰÷I‰ÛëÉfDSƒ¿ÀH‰û|vta‹öĉÁuxH‹“ H‹:H‹rH9÷‚ÙöÅ„¨€åþH‹BPH‰rP‰ H‹J@H‹rH‰BH9ÁH‰JH‰ H‰r@H‰Æs|‹HƒÁH‰ [þèfƒø„•¸ÿÿÿÿ[ÃfDH‹“ H‹JH9J ‡ÍöÄ…šH‹J0H‰JH‹J H;JvH‰JH‰ H‰J(H‰J H‰J‰Á€å÷‰ é@ÿÿÿHƒ{`tyH‰ßèôÿÿ…ÀuH‹ƒØH‰ß[L‹X(Aÿã‹HƒÇH‰:[ÃD‹³À…ö…éþÿÿ¾H‰ßè­‹öĉÁ„ØþÿÿéKÿÿÿH‹JHH‰JH‹J ékÿÿÿ€Hƒz@tŒH‰ßèqñÿÿëH‹‚@¾ÿÿÿÿH‰ßÿPƒøÿ„öþÿÿ‹H‹“ é ÿÿÿDH‰\$èH‰l$ðH‰ûL‰d$øHƒìH‹‡ Hƒx0tH‹$H‹l$L‹d$HƒÄÃf„öL 8H¨<u]H‹€@ÿPhƒøÿuÂH‹ƒ H‹x0L 8H¨<H…ÿt0öCtu*H‹@8H)øHÁøH4…ÿHæðÿÿè[LH‹ƒ @L‰`0H‰h8ƒKtécÿÿÿSH‰ûè×+ƒøÿt"H‹ƒ H‰ß[H‹€@L‹X Aÿãf„[Ãfffff.„USH‰ûHƒì(‹¨…H‹‡ H‹H;P‚©H‹WH;WH‹¯˜ƒ¤Hƒx0H‰T$„¹H‹PXLD$H‰P`H‹ƒ H‹KH‹P0HxHpXH‰H‰PH‹SH‰|$H‹x8H‰<$H‰ïL‹ÿUH‹D$H‰CH‹ƒ H‹H;Pr&HÇÀÐÿÿÿdÇTƒ HƒÄ([¸ÿÿÿÿ]Ãf„‹HƒÄ([]Àè»-ƒøÿtèH‹ƒ H‹SHƒx0H‰T$…GÿÿÿH‹x@H…ÿt èº#ÿþÿÿH‰ßèÏýÿÿH‹ƒ éÿÿÿƒÈ ‰HÇÀÐÿÿÿdÇ ƒÈÿëff.„H‰\$ÐH‰l$ØH‰ûL‰d$àL‰l$èA‰ÔL‰t$ðL‰|$øHìèH‹‡ E1öH‰õA‰ÍH‹PH9P„·E…íu‹ 1íA¼€å…¿H‹xH9x w‹€ætH‰ßèÖëÿÿ…À…^H‹ƒ Hƒx0„”Aƒü„ªAƒü„ðE…íD„/H‹“Hƒúÿ„™H‹KH…É„Œ‹öÄ…ƒH‹sH)ÎH‰÷H)×H‰úHêˆjH9ÖŒaH‹C8HL‹«˜Lt$L¼$ H‰SH‰C(H‰C IÆH‰C0H‹ƒ H‹P`H‰PXH‹³ H‹SH‹KH‹FH‰”$¨H‰ë DH‹³ HƒÆXL‰|$L‰4$LL$L„$¨L‰ïAÿUƒø‡yH‹KH‹”$¨H9Ñu¾H‹ƒ H‹³ƒ#ïH‹PH…öH‰xH‹ƒØ1ÒH‰ßÿ€ë D½ÿÿÿÿH‰èH‹œ$¸H‹¬$ÀL‹¤$ÈL‹¬$ÐL‹´$ØL‹¼$àHÄèÃH;‡ÏH‰ßA¼1íègéÿÿH‹ƒ éþÿÿL‹»˜L‰ÿAÿW …ÀŽ2H‹‹ H˜H‹QH+HÁúH¯ÐH)ÕH‹ƒHƒøÿt.HÅE1äéþÿÿ€H‹ƒØH´$H‰ßÿ…Àt|H‰ßèaH‹ƒØD‰âH‰îH‰ßÿ€Hƒøÿ„<H‹S8ƒ#ïH‰ÅH‰ƒH‰SH‰SH‰SH‰S(H‰S H‰S0H‹“ H‹J0H‰JH‰ H‰JH‰J H‰JH‰J(é¹þÿÿ@‹„$(%ð=€…mÿÿÿH¬$@E1äéQýÿÿf„‹¨…JÿÿÿH‹C8H‹S@I‰íH‰ÆH)ÖH)ÂH!îI)õI9Õ~H‰îE1íH‹ƒØ1ÒH‰ßÿ€H…ÀI‰ÄxoM…í„hH‹ƒØE…öH‹@p„ŒH‹s8L‰êH‰ßÿÐI9ÅH‰ÁŽ@HƒøÿL‰íA¼„ÃþÿÿH)Åé»þÿÿ€E1öH‹H H9HA”Æé5üÿÿ@HÇÅÿÿÿÿéÁýÿÿ@H‹xH…ÿt 誵#ÿþÿÿH‰ßè\fH‹C8H‰C(H‰C H‰C0H‰CH‰CH‰CH‹ƒ H‹P0H‰P H‰PH‰P(H‰PH‰H‰Pé üÿÿf„H‹ƒ L‰ÿH‹P`L‹L+@H‰PXH‹³ H‹KH‹SIÁøHƒÆXAÿW0HcÐH‰ÐHCH‰CH‹ƒ H‹H‰HH‹CH+CH,(HÕé…ýÿÿ@HÇÀÐÿÿÿHÇÅÿÿÿÿdÇéÓüÿÿƒ éšýÿÿ1É1ÀH‹S8Làƒ#ïH‰ƒIÕHÑH‰SL‰kH‰KH‰S(H‰S H‰S0é“üÿÿH‹s8H‹S@H)òékþÿÿfffff.„AWAVAUATUSH‰ûHƒìH‹¨…cH‹‡ H‹H;P‚ùH‹WH;WL‹§˜‚üH‹G8H‰GH‰GH‰GH…À„H‰C0H‰C(H‰C H‹ƒ Hƒx0„Í÷„‚H‹âs,‹H‰Õf…ÀxVL‹‚ˆdL‹ %M9Ht9¾1Àƒ=ô¼,t ðA±0…¹ ë A±0…­ L‹‚ˆH‹s,M‰HAƒ@‹%ˆ=€„¹fƒ}‰çH‰ßLl$0Lt$ èÅDH‹ƒ H‹s1íE1ÿH‹P0H‰H‰PH‰PH‰P(H‰P H‰Pf.„H‹S@H‹ƒØH‰ßH)òÿPpH…ÀŽH‹“HCHƒúÿt HH‰“H‹“ H…íH‹JXH‰J`L‹SH‹KL‰S…!H‹ƒ M‰èL‰çHPL‹HHpXH‰T$H‹@8L‰ÒH‰$AÿT$H‹t$01íH‰sH‰ñH‹“ H‹z0H9z…:ƒøt[ƒø…YH…íu>H‹{H9÷‚©H‹kH)õHƒýw2H‰êL‰÷è¹H‹sH‰sH‰séÿÿÿ„H‰ÈL)ðuXHƒýuÙHÇÀÐÿÿÿdÇTƒ ¸ÿÿÿÿHƒÄH[]A\A]A^A_ÃDH…íusH…Àunƒ HƒÄH¸ÿÿÿÿ[]A\A]A^A_ÀH)ÅH‰ÎL‰÷H‰êèë•DH‹KH)ñH‰ÊH‰L$ètH‹L$H‹CH‰ÎH‰CH÷ÞHsH‰séTþÿÿ@ƒ H…í„cÿÿÿHÇÀÐÿÿÿdÇT¸ÿÿÿÿéPÿÿÿ@‹HƒÄH[]A\A]A^A_ÀH‰T$8H‹PXLD$8H‰P`H‹‡ H‹OH‹P0HpXH‰H‰PH‹WHxH‰|$H‹x8H‰<$L‰çL‹AÿT$H‹SH‰SH‹“ H‹t$8H‹ H;JH‰s‚ÿƒø„¤þÿÿH‹SH‹{8H)òè†H‹CH+CHC8H‰CH‹C8H‰CH‰CéiüÿÿDH‹•ˆ‹Bƒè…À‰B…ýÿÿHÇBƒ=™¹,t ðÿ …{ ëÿ …q éØüÿÿ€H‹‹é2þÿÿfDH‹x@H…ÿt è°#ÿþÿÿH‰ßèÌóÿÿéüÿÿ€H‹{HH…ÿt€èë¯#ÿþÿÿH‰ßè`H‹C8H‰CH‰CH‰Céµûÿÿ„‹é½ýÿÿH‹‚ؾÿÿÿÿH‰×ÿPé0üÿÿA»I<.L‰ÖI)ëI9ÃLGØL‰ÚL‰\$è¾H‹“ L‹\$M‰èL‰çHJL‹JHrXLÝH‰L$H‹R8H‰ÁH‰$L‰òAÿT$H…íL‹\$„¢üÿÿH‹L$0H‰êL)ÚIH‰ÎH)ÖH‰òL‰þHIòHsH‰sé„üÿÿ¹peOº(¾cO¿ cOè’XþÿƒÈ ‰HÇÀÐÿÿÿdÇ ƒÈÿéÛüÿÿfƒ}H‰Ãx8H‹•ˆ‹Bƒè…À‰Bu$HÇBƒ=ê·,t ðÿ …çëÿ …ÝH‰ßèºffff.„H‰\$ÐH‰l$ØH‰ûL‰d$àL‰l$èI‰ôL‰t$ðL‰|$øHƒìhH…ÒH‰ÕL‹¯˜„ÂH‹W0L‹O(L9Êu(H‹w H9òtH)òè1ƒøÿ„ÍL‹K(f.„Ls(L|$(ë DL‹K(I‰ÄH‹³ H‹C@I ¬M‰øL‰âL‰ïL‰t$HƒÆXH‰$AÿUH‹s H‹S(H‰ß‰D$H)òè™0ƒøÿ‹L$t_H‹D$(H‰ÂL)âI‰ÔHÁúH)Õ…ÉtƒùuIƒÄIƒüvH…íuƒH‹ƒ ÷H‹P0H‰PH‰H‰PH‰P H‰Pt5HƒýH‰P(À÷ÐH‹\$8H‹l$@L‹d$HL‹l$PL‹t$XL‹|$`HƒÄhÃfDH‹P8ëÅfH‰\$ÐH‰l$Ø1ÀL‰d$àL‰l$èI‰üL‰t$ðL‰|$øHƒì8H…ÒH‰óH‰ÕttA‹$L‹¯ â I‹E(I‹} ú „ùH)øE1ÿHÁøH…ÀI‰îugL‰òL‰çèŒçÿÿI)ÆE…ÿt$I‹„$ H‹P H‹pH9òtH)òL‰çHÁúèþÿÿH‰èL)ðH‹\$H‹l$L‹d$L‹l$ L‹t$(L‹|$0HƒÄ8ÀH9èLFðIƒþ‡ÏAƒþ AVÿE‰ðv @öÇ„ØA@ÿH …1Àf.„‹‰HƒÀH9ÈuñAƒèJ…HÇH4I‰} H‰èL)ðI‰Æ„2ÿÿÿéÿÿÿfDI‹E8H)øHÁøH9Åw@H«H9Ós7ƒzü LrütDL9ós#IƒîAƒ> uñI)ÞA¿IÁþIFéÄþÿÿE1ÿé¹þÿÿ„H‰ÞL‰òèõ#J4³I‰E énÿÿÿ„HCH9ÇvgD‰ÆÁîDµE…Òtf1À1ÉóoƒÁfHƒÀ9ñrëB4•D)ÒE9ЉöL 3H47„üþÿÿ1ÀA‹ ‰ HƒÀƒêyðéâþÿÿHGH9Æ«þÿÿë‡H‰þI‰ÙëÉfDH‰\$èH‰l$ðH‰ûL‰d$øHƒìH‹‡ H‹P H‹pH9òv*‹‡À…ÀޏH)òHÁúèüûÿÿ…À•À„ÀuKH‹ƒ L‹ L+`IÁüM…äuA‰øH‰óxJH‹–ˆdL‹ %L9Jt0¾1Àƒ=ï§,t ð±2…Àë ±2…µH‹“ˆL‰JƒBH‹C(H;C0sJDˆHƒÀE¶ÀH‰C(fƒ;x0H‹“ˆ‹Bƒè…À‰BuHÇBƒ=‡§,tðÿ uxëÿ urD‰À[ÃA¶ðH‰ßè0A‰Àë´fƒ;H‰Æx0H‹“ˆ‹Bƒè…À‰BuHÇBƒ=8§,tðÿ uDëÿ u>H‰÷èó©H:Hì€è$OHÄ€é0ÿÿÿH:Hì€è9OHÄ€ésÿÿÿH:Hì€èOHÄ€ëªSfƒ?H‰ûxJH‹—ˆdL‹%L9Bt0¾1Àƒ=¢¦,t ð±2…¶ë ±2…«H‹“ˆL‰BƒBH‹CH;CsE¶0HƒÀH‰Cfƒ;x0H‹“ˆ‹Bƒè…À‰BuHÇBƒ=>¦,tðÿ urëÿ ul‰ð[ÃH‰ßèÅI‰Æëºfƒ;H‰Æx0H‹“ˆ‹Bƒè…À‰BuHÇBƒ=õ¥,tðÿ uDëÿ u>H‰÷è°¨H:Hì€èáMHÄ€é:ÿÿÿH:Hì€èöMHÄ€éyÿÿÿH:Hì€èÛMHÄ€ëªSfƒ?H‰ûxJH‹—ˆdL‹%L9Bt0¾1Àƒ=b¥,t ð±2…ªë ±2…ŸH‹“ˆL‰BƒB¹1Ò1öH‰ßèëd‹ƒàÏf…À‰x0H‹“ˆ‹Bƒè…À‰BuHÇBƒ=ü¤,tðÿ udëÿ u^[Ãfƒ;H‰Æx0H‹“ˆ‹Bƒè…À‰BuHÇBƒ=Á¤,tðÿ uAëÿ u;H‰÷è|§H:Hì€è­LHÄ€éFÿÿÿH:Hì€èÂLHÄ€ëŠH:Hì€èªLHÄ€ë­H‰\$ØH‰l$àH‰ûL‰d$èL‰l$ð¿dL‰t$øHìH‰õI‰ÔA¾ÿÿÿÿè§©H…ÀI‰Å„²E1À1ɺÿÿÿÿ¾€H‰çHÇ„$ˆèÈBL‰éºdL‰îH‰çHÇ„$ØàjOèiTL‰âH‰îH‰çƒ$$þHÇ„$àÐ'GHÇ„$èGè¿ÿÿ…ÀA‰Æˆ´H‹T$ H‹l$(H‹D$0HƒÅH)ÐH)ÕHÑèH9ÅrSH‹|$8H‰îèæµH…ÀH‰tqÆD(ÿD‰ðH‹œ$ðH‹¬$øL‹¤$L‹¬$L‹´$HÄÃfDH‰ï訨H…ÀH‰tH‹t$8HUÿH‰ÇèOÿH‹|$8èÅ™H‹H…ÀuH‹D$8H‰ë…H‹|$8覙éxÿÿÿH‰\$àH‰l$èH¯ðL‰l$øL‰d$ðHƒì(H9o8H‰ûA‰õt+H‹G(L§01ÉH‰îL‰âÆè:0H‰k H‰kH‰kL‰cH‰k(H‰k0D‰èH‹\$H‹l$L‹d$L‹l$ HƒÄ(ÃfDH‰\$ØH‰l$àH‰ýL‰d$èL‰l$ðI‰ÔL‰t$øHìXH…öI‰ÍLvÿH‰ãuH¬$ðA¾?H‰ãE1À1ɺÿÿÿÿ¾€H‰çHÇ„$ˆèÇ@HÇ„$Ø`gOH‰éL‰òH‰îH‰çÆEèfRL‰êL‰æH‰çèØÿÿHÃðH9\$8tH‹T$(ÆH‹œ$0H‹¬$8L‹¤$@L‹¬$HL‹´$PHÄXÃé»9‹‰Ðf%€fƒøÀƒÀ…öt €æƒþ‰t óÀ€Î€‰ÃU¶ÀH‰åAWA‰ÿ¿hOAVAUI‰õATSHìH‰•0ÿÿÿH…¸„FH‰8ÿÿÿL‰…@ÿÿÿH)ÐHUÏL‰Hÿÿÿÿà)zñ)rá)jÑ)bÁ)Z±)R¡)J‘)BHEÇ…ÿÿÿÇ…ÿÿÿ0H‰…ÿÿÿH… ÿÿÿH‰…ÿÿÿH‹…ÿÿÿH‰…àþÿÿHEH‰…èþÿÿH… ÿÿÿH‰…ðþÿÿè{H…Àt €8…ß1À¾ ¿hOèMƒøÿA‰Æ„ÂA¶E„Àˆ…ßøÿÿ„…L‰ëL‰èÇ…ØøÿÿE1äf¶ë¾%莶„Òt€ú%Hxuæ€xsHxuÜ@€½ßøÿÿ%tWH‰ÆH‰ÚH)ÞH‰ÃHƒì0D‹•ØøÿÿHL$HƒáðAƒÂL‰aH‰I‰ÌH‰q¶ˆ…ßøÿÿ€½ßøÿÿH‰Øt`D‰•Øøÿÿétÿÿÿ@€{su£‹•ÿÿÿƒú/‡‰ÐH…ÿÿÿƒÂ‰•ÿÿÿH‹HƒÃH‰×H‰•ÐøÿÿèÃÒH‹•ÐøÿÿH‰Æéiÿÿÿ@McÒHc•Øøÿÿ‹ØøÿÿL‰ÐHÁàHƒÀH)ÄHÁâHÁáLL$IƒáðIHƒêH)ÊI1ÒI‹ $I‰ÐH‰I‹L$H‰HMD$HƒèH9ØM‹d$L‰Âu×IcÞA¼L‰ÒL‰ÎH‰ßD‰àHƒøütìI9ÀºtH•àþÿÿL‰î¿èì#1ÒE…ÿu1HeØ[A\A]A^A_ÉÃA¾é3þÿÿH‹…ÿÿÿHPH‰•ÿÿÿéûþÿÿAƒÿ~„Òuf裋þÿHàüÿÿ¾@H‰ßèÏ]ƒøA‰Ä~ݺ¾$hOD‰÷è~At$ÿH{D‰òL­àøÿÿè]^º¾BhOD‰÷èT1ö¿`hO1ÀèæA‰ÄºL‰îD‰çè³HcØH…Û~H‰ÚL‰îD‰÷èH˜H9ØtÓIcü¸éTÿÿÿfffff.„SH‰û@H‰Ú¾×›N¿1ÀèDüÿÿëêH‰\$èH‰l$ðH‰ÓL‰d$øHƒì…öH‰ýއƒþ„‚D‹"A¸¹ D‰àƒà߉VÿH‰þH‰ßHcÒè/¸ÿÿH…Àu*‹1ÉAƒä H‰ÍA ÔD‰#H‰èH‹$H‹l$L‹d$HƒÄËö tHÇÆÐÿÿÿ1Édƒ> uÄÆDH‰é‹ë¸fD1íë»Æë¶H‰\$èH‰l$ðH‰ûL‰d$øHƒìƒpÿt1ÛH‰ØH‹l$H‹$L‹d$HƒÄÃ@‹HÇÅÐÿÿÿ¹‰wpHLJÿÿÿÿ1öºƒàóƒÈ@‰H‹‡ØdD‹eÿPHHƒøÿtdD‰eëŸdƒ}u–fëîfDUH‰ýSH‰óHƒì…É„¬ƒútwƒúu H‹G@H+G8HÃH…ÛxrH‹…Ø1ÒH‰ÞH‰ïÿ€H…Àˆ¤H‹M@H‹U8H‰ÎH)ÖH9ó}H‰UH‰ÚHU8H‰UH‰UƒeïH‰…H‰ØHƒÄ[]ÃDH‹GH+GHÃH…ÛyŽHÇÀÐÿÿÿHÇÃÿÿÿÿdÇH‰ØHƒÄ[]ÃH‹_HŸH+_H‰ØHƒÄ[]ÀH‰UH‰MH‰MëˆfHÇÃÿÿÿÿëÖ€H‹‡ØSH‰ûÿ€H…Àx H‰ƒ[ÃHÇÀÿÿÿÿ[ÀSH‹wH‰ûH;wt2H+w8‹p1Òè´3H‹SH+S8H9Ðu'H‰ƒH‹CH‰CH‰C1À[ÃH‰ðH+G8ëà€ƒ ¸ÿÿÿÿ[ÃfD‹péh3„H‰\$ðH‰l$øHì¨H‹‡ØH‰ûH‰æÿ…Àu‹D$%ð=€tH‹“À¸€hO…Òº@cOHOÂH‰ƒØH‹ƒ H‰@H‹œ$˜H‹¬$ HĨÃDH‹t$0H…öt®H‹ƒHƒøÿtH9Æ|œD‹CpE1É1ÿ¹ºèƒ HƒÄ¸ÿÿÿÿ[]ÀH‹HH…ÿt èêƒ#ÿþÿÿH‰ßèœ4‹éqþÿÿDƒ ëÀƒÈ ‰HÇÀÐÿÿÿdÇ ¸ÿÿÿÿé{ÿÿÿfƒ}H‰Ãx8H‹•ˆ‹Bƒè…À‰Bu$HÇBƒ=¾Œ,t ðÿ …¡ëÿ …—H‰ßèqH‰\$ØH‰l$àH‰ûL‰d$èL‰l$ðH‰õL‰t$øHì¸H‹GH9GA‰ÔA‰Í„†H‹G H‹S(E1öE…í¹DDá¹HDéH9Ђý‹öÄ…òHƒ{8„gAƒü„âAƒü„ÈE…턇H‹³Hƒþÿ„Hƒ{„‹öÄ… H‹K8H1H+SH9ÕŒõH9õìH‰èƒ#ïH‰KH)ÐH‰K(H‰K H‰ÂH‰K0HÊH…öH‰SxH‹ƒØ1ÒH‰ßÿ€H‰èëH‰èH‹œ$H‹¬$˜L‹¤$ L‹¬$¨L‹´$°HĸÃDH‹ƒØH‰æH‰ßÿ…À„-H‰ßèÕ+H‹ƒØD‰âH‰îH‰ßÿ€HƒøÿtŒH‹S8ƒ#ïH‰ƒH‰SH‰SH‰SH‰S(H‰S H‰S0éaÿÿÿfD‹¨u¥H‹C8H‹S@I‰íH‰ÆH)ÖH)ÂH!îI)õI9Õ~H‰îE1íH‹ƒØ1ÒH‰ßÿ€H…ÀI‰Äˆ_M…í„bH‹ƒØE…öH‹@p„£H‹s8L‰êH‰ßÿÐI9ÅH‰ÁŽ:HƒøÿL‰íA¼„ÿÿÿH)Åéÿÿÿ€H‹CH+CHÅH‹ƒHƒøÿ„¤Hň*E1äE…í…þÿÿé‚þÿÿf‹D$%ð=€…¿þÿÿHl$0ëÒDH‹G H;G(A¾H‰Â…gýÿÿéiýÿÿ@H‹{H…ÿt€èk€#ÿþÿÿH‰ßè1H‹C8H‰C(H‰C H‰C0H‰CH‰CH‰CéUýÿÿ@E…í…BþÿÿH‹ƒØ1öºH‰ßÿ€Hƒøÿ„ÑýÿÿH‰ƒé&ÿÿÿfH‰ßèh…À„þüÿÿHÇÀÿÿÿÿé§ýÿÿ1É1ÀH‹S8Làƒ#ïH‰ƒH‰èIÕHÑH‰SL‰kH‰KH‰S(H‰S H‰S0élýÿÿHÇÀÐÿÿÿdÇHÇÀÿÿÿÿéRýÿÿH‹s8H‹S@H)òéTþÿÿffffff.„SH‰ûèG*H…Àt"H‹C8H‰C0H‰C(H‰C H‰CH‰CH‰CH‰Ø[Ã1ÛH‰Ø[Ãf„H‰\$èH‰ûL‰d$øH‰l$ðHƒìöCtH‰÷E‰Ä‰Ö‰Ê…’1Àè/í‰Å…íˆ}‹D‰àAä% ‰kpâóïÿÿ ÐAü‰tH‰ßèV"H‰ØH‹l$H‹$L‹d$HƒÄÃH‹ƒØ1ö¹ºH‰ßÿPHHƒøÿuÃHÇÀÐÿÿÿdƒ8t¶‰ïè6íD1Ûë®1Àè¦ì‰ÅéiÿÿÿfDH‰\$ðH‰l$øHƒì $HÇÅÿÿÿÿH‰ûH‰¯èÆ!‰kpH‹\$H‹l$HƒÄÃ@H‹‡ SH‰ûHLJ؀hOHÇ€@@cOèÚ(H…Àt%H‹C8H‰C0H‰C(H‰C H‰CH‰CH‰CH‰Ø[Ã@H‹ƒ HǃØ@iOHÇ€@dO1À[Ãffffff.„SƒpÿH‰ût,D‹ÀE…É~RH‹‡ H‹pH‹P H)òHÁúèïÎÿÿö@tH‰ß1ö[éï$€H‹ƒØH‰ßÿˆH‰ß1ö[éÍ$DH‹w H‹W(H)òt¼è–òÿÿëµ@H‰\$àH‰l$èH‰ûL‰d$ðL‰l$øHƒì(H…ÒI‰ôH‰Õu"1ÀH‹\$H‹l$L‹d$L‹l$ HƒÄ(À‹öÄ…µH‹WH‹w H9òt"H‹‡ØH)Öºÿ€Hƒøÿt}H‰ƒH‹ƒØH‰ßH‰êL‰æÿPxH…ÀI‰Å·»€tf…ÿt·ÿ‰ÂL‰æƒïèWƒÀf‰ƒ€D‹“ÀH‹C8E…ÒH‰CH‰CH‰CH‰C(H‰C ~9H‹C@L9íH‰C0„.ÿÿÿ¸ÿÿÿÿé&ÿÿÿfDHLJÿÿÿÿéjÿÿÿ„÷uÃë½fDSH‹W(H‰ûH‹w H9òw_H‹sH+suHǃÿÿÿÿ1À[ÃfDH‹ƒØºH‰ßÿ€Hƒøÿt H‹CH‰CëÆHÇÀÐÿÿÿdƒ8t¶¸ÿÿÿÿ[Ã@D‹ŸÀE…Û~4H‹‡ H‹pH‹P H)òHÁúèÙÌÿÿ…À•À„À„mÿÿÿë¿f.„H)òèþÿÿ…À•ÀëÝH‰\$èH‰l$ðH‰ûL‰d$øHƒì‹‰õ¨…>öÄtYH‹w H…ö„LH‹W(ƒýÿ„çH9S@„T@ˆ*‹HƒÂH‰S(¨…‰ƒý t{@¶ÅH‹$H‹l$L‹d$HƒÄÃ@Hƒ „õH‹WöÄ…[H‹sH9s@„¢H‹S@€ÌH‰s(H‰s ‰H‰S0H‹SH‰SH‰S‹“À…Ò~?H‰òé_ÿÿÿ€öÄ„|ÿÿÿH‹s H‰ßH)òèýÿÿƒøÿ…dÿÿÿ¸ÿÿÿÿé^ÿÿÿD©tºH‰s0H‰òféÿÿÿH‰ßH‹l$H‹$L‹d$H)òHƒÄéËüÿÿH‹s8H‰sH‰séMÿÿÿ€ƒÈ ‰HÇÀÐÿÿÿdÇ ¸ÿÿÿÿéìþÿÿH‰ßèh*H‹S8‹H‰SH‰SH‰SéðþÿÿD‹£ÀE…ä~5H‹ƒ H‰ßH‹pH‹P H)òHÁúèçÊÿÿƒøÿ”À„À…*ÿÿÿH‹S(ékþÿÿH)òH‰ßè%üÿÿƒøÿ”ÀëÜL‹cH‰ßI)ÔèŽH‹CH‰ÂH+S8H‰Æ‹I9ÔIFÔH)ÖH‰sH‰sésþÿÿ€ATA¼ÿÿÿÿUSD9gpH‰û„ø‹1í%=„õH‰ßè½"H‹ƒØH‰ßÿˆ‹‹ÀA‰Ä…É~ZH‹ƒ Hƒx@tH‰ßèš­ÿÿ1É1Ò1öH‰ßèL®ÿÿH‹ƒ HÇ@HÇHÇ@HÇ@ HÇ@HÇ@(1É1Ò1öH‰ßè(HÇCHÇCH‰ßHÇCHÇC(HÇC HÇC0èpE…äÇ $­ûÇCpÿÿÿÿHǃÿÿÿÿDDå[]D‰àA\Ãf„‹·À…ö~&H‹‡ H‹pH‹P H)òHÁúè;Éÿÿ‰Åéßþÿÿ@H‹w H‹W(H)òè€úÿÿ‰ÅéÄþÿÿf„UH‰åAWAVAUATSH‰ûH‰÷Hƒì(ƒ{pÿt1ÀHeØ[A\A]A^A_ÉÃf¶fƒ8x8H‹ˆ‹Bƒè…À‰Bu$HÇBƒ=»x,t ðÿ …Ü ëÿ …Ò ‹ÄY,ƒè…À‰¹Y,u/HǰY,ƒ=x,tðÿ ˜Y,…¹ ë ÿ ŠY,…« óÃfH‹W`H‰ðH+GH…ÒtHcJH‹H9ÈHOÁH…ÒuíóÃff.„H‹GH‹WX'ÿþÿÿH‰WH‰GXH‹WH‹GHH‰WHH‰GH‰GÃDH‹WH‹GXH‹OHH‰WXH‹WH‰GH‰OH‰WHH‰GÃDH‹G(H;G SH‰ûwJ‹€æu3H;CH‹S8H‰SvH‰C#ÿ÷ÿÿH‰CH‰C0H‰C(H‰C 1À[ÀH‹SPH‰SëÕfDH‹‡Ø¾ÿÿÿÿÿPƒøÿtÓH‹C(ëœfffff.„‹‡À…Àu LJÀÿÿÿÿH‹‡ØL‹XAÿãfffff.„¸ÿÿÿÿÃf.„H‹‡ØSH‰ûÿP ƒøÿtH‹S¶HƒÂH‰S[Ãfff.„H‹‡ØL‹X@AÿãfH‹‡Ø‰Ñ1ÒL‹XHAÿãfffff.„H‹‡ˆÎ­ûÇGt‰7HÇG8HÇG@HÇGH…ÀHÇGHÇGHÇG HÇG(HÇG0HÇGhHÇGHHÇGPHÇGXHÇG`fLJ€tÇÇ@HÇ@óÃffff.„1ÀÃffff.„HÇÀÿÿÿÿÄSH‹GH‰ûH;Gv HPÿ¶@ÿ@8ðtH‹ƒØH‰ßÿP0ƒøÿtƒ#ï[ÃfDH‰W¶Àëëfffff.„H‹GH;GSH‰ûvHPÿH‰W¶@ÿƒ#ï[ÃH‹‡Ø¾ÿÿÿÿÿP0ƒøÿuæ[Ãf.„HcÂHH9Æs,€xÿ HHÿtf.„H9ÎsHƒé€9 uòƒè)ÈÃ@:Ã@H‹WH‹B`H…Àt H9Çuë@H9ÇDtH‰ÂH‹H…ÀuëóÃHƒÂ`DH‹H‰ËG+FÃf„H‹W¸ÿÿÿÿH…Òt‹öÄuH‹B+B‰Â‹G)ÐóÃH‹B+B‰Âëëffff.„H‹V¸ÿÿÿÿH9útóËF…ÀxI‹ öÅtbH‹B€åþ‰ H‹JXH‰BXH‹BH‰JH‹JHH‰BH‹FH‰JH‰JH˜HÁ1ÀH‰JÃf.„‹ öÅt)H‹JH˜HÁ1ÀH‰JÃf„H‹JëÄf.„H‹B€ÍH‹zH‰ H‹JXH‰BXH‹BH‰JH‰zH‰JH‰BH‹Fë­fHÇÀÿÿÿÿĸÿÿÿÿÃf.„HÇÀÿÿÿÿÄ1ÀÃffff.„¸ÿÿÿÿÃf.„óÃfffff.„H‹é%,Ä1ÀÃffff.„H‹GhÃff.„H‰øÃfff.„dH‹%H98T,t4¾1Àƒ=s,tð±5T,…Vë ±5T,…GH‰T,ƒ÷S,Ãf‹îS,ƒè…À‰ãS,u/HÇÚS,ƒ=«r,tðÿ ÂS,…!ë ÿ ´S,…óÃfff.„Ç–S,ÇS,HljS,ÃH‰\$ðH‰l$øH‰ûHƒì(H‹8H‰õH…ÿtöt&…ÉH‰k8H‰S@uƒ H‹\$H‹l$ HƒÄ(Ã#þëìH‹s@H‰T$‰ $HÆÿH)þHæðÿÿèvù‹ $H‹T$ë®fff.„S‹H‰ûöÄtM€äþH‹WX‰H‹GH‰WH‰GXH‹CHH‹H‰CH‰CH‰{HèghHÇCHHÇCXHÇCP[ÃDH‹HëÖfAV1ÀH…ÒI‰ÖAUATI‰ôUH‰ýSH‰Ó„¯H‹}(L‹m0L9ïsTI)ýL9ëLFëIƒýwsM…ítN48H‹sL‰úL‰÷èrÉH‹{èécL‰cMìL‰sL‰cL‰sPéßþÿÿèÛüÿÿ…Àt¸ÿÿÿÿféÙþÿÿff.„AW¸E1ÿAVAUATUSHƒì(H…ÀA•ÇE…ÿ…êHÇ$`©FHÇD$dH‹%H9ÑM,t4¾1Àƒ=™l,tð±5¯M,…-ë ±5 M,…H‰›M,‹‘M,H‹ö,‹-M,ƒÀH…Û‰xM,„ùdL‹$%A½E1öëf.„H‹¹,H…Û„ʼnÅfƒ;H‰KM,x@H‹“ˆL9bt/D‰îD‰ðƒ=÷k,t ð±2…®ë ±2…£H‹“ˆL‰bƒB‹%=„Çfƒ;x8H‹“ˆ‹Bƒè…À‰Bu$HÇBƒ=–k,t ðÿ …iëÿ …_‹«L,HǨL,9Å…8ÿÿÿH‹[hH…Û…;ÿÿÿ‹yL,ƒè…À‰nL,u/HÇeL,ƒ=6k,tðÿ ML,… ë ÿ ?L,…E…ÿt H‰ç1öèºH¹ÿHƒÄ([]A\A]A^A_ÃH‹ƒØ¾ÿÿÿÿH‰ßÿPé"ÿÿÿH‰ç1Ò¾`©FèH¹ÿéþÿÿfff.„AW¸AVE1öAUATUS‰ûHƒì(H…ÀA•ÆE…ö…ÀHÇ$`©FHÇD$…ÛtMdH‹%H9›K,t4¾1Àƒ=cj,tð±5yK,…kë ±5jK,…\H‰eK,ƒZK,H‹-¿,D‹%XK,E1íH…íD‰à„ …Û„pdL‹<%ëfDH‹-‰,H…í„÷A‰Äfƒ}H‰-K,xAH‹•ˆL9zt0¾1Àƒ=Äi,t ð±2…ïë ±2…äH‹•ˆL‰zƒB‹•À…ÒŽ H‹… H‹PH9P vH‹…ؾÿÿÿÿH‰ïÿPƒøÿDDèfƒ}x?H‹•ˆ‹Bƒè…À‰Bu+HÇBƒ=H‹C`H…ÀtDHÇ@H‹H…ÀuðH‹{HH…ÿt è2XHÇCHH‰ß[éýÿÿH‹s@HÆÿH)þHæðÿÿèÆèHÇC@HÇC8ë–@H‹‡ˆÎ­ûÇGt‰7HÇG8HÇG@HÇGH…ÀHÇGHÇGHÇG HÇG(HÇG0HÇGhHÇGHHÇGPHÇGXHÇG`fLJ€tÇÇ@HÇ@…Ò‰—ÀxeH‰ HÇA0HÇA8HÇAHÇHÇAHÇAHÇA HÇA(HÇA@HÇAHHÇAPL‰@HLJ¨Ã@H‹‡ˆÎ­ûÇGt‰7HÇG8HÇG@HÇGH…ÀHÇGHÇGHÇG HÇG(HÇG0HÇGhHÇGHHÇGPHÇGXHÇG`fLJ€tÇÇ@HÇ@LJÀÿÿÿÿHLJ¨Ãf„SHƒ`H‰ûtHÇG`H‹{HH…ÿH‰útI‹öÄt%€äþH‹KXH‹{‰H‹CH‰SH‰SH‰KH‰{HH‰CXèÀUHÇCHHÇCXHÇCP[ÃfDUE1ÉA¸ÿÿÿÿ¹"º¾ SH‰û1ÿHƒìèæH‰ÅHƒýÿt%H‹{8H…ÿtöt!ƒ#þH‰k8HÅ H‰k@¸HƒÄ[]ÃH‹s@HÆÿH)þHæðÿÿèæåëÃ@H‰\$èH‰l$ðH‰ûL‰d$øHƒìH‹‡ØH‰õI‰ÔÿP`ƒøÿ„±M…ät|H…ítw‹H‹{8‰ÂƒâýH…ÿ‰t¨„µƒ H‰k8LåH‰k@HÇC0HÇC(HÇC HÇCHÇCHÇCH‰ØH‹l$H‹$L‹d$HƒÄÃf„‹H‹{8H«ƒƒÈH…ÿ‰t¨tH‰k8HƒÅƒ H‰k@ë…@1Ûë­@H‹s@HÆÿH)þHæðÿÿèÞäëÇ@H‹s@HÆÿH)þHæðÿÿè¾äé,ÿÿÿf„UH‰ýSH‰óHƒì‹H‰uöĉÁu7H‹SöÄu+S‰UH‹C`H‰EH‰k`HƒÄ[]ÃD+S‰Uëà„H‹F(H;F wCöÅu1H;CH‹S8H‰SH‰ÂvH‰CH‰CH‰C0H‰C(H‰C ‰È€ä÷‰ëH‹SPH‰SH‰Âë×H‹†ØH‰ß¾ÿÿÿÿÿPƒøÿt‹ H‹C(ëž‹féTÿÿÿff.„S‹‡ÀH‰û…À…¦Ç‡Àÿÿÿÿ‹öÄ…çH‹SH‹sH9ò‚É‹öÄ…Hƒ{`…ÚH‹{HH…ÿH‰útGöÄt%€äþH‹KXH‹{‰H‹CH‰SH‰SH‰KH‰{HH‰CXè—RHÇCHHÇCXHÇCPH‹ƒØH‰ß[L‹X(AÿãDƒøÿ„[ÿÿÿ¸ÿÿÿÿ[ÄH‰òH‹sXH‹KH‰SXH‹SH€äþ‰H‰sH‰KHH9ÖH‰SH‰S†Bÿÿÿ¶HƒÂH‰S[ÃH‰ßèzãÿÿƒøÿ…ÿÿÿëŸfDH‰ßDèûêÿÿ…À„dÿÿÿé|ÿÿÿff.„S‹‡ÀH‰û…À…¦Ç‡Àÿÿÿÿ‹öÄ…îH‹CH‹sH9ð‚Ø‹öÄ…Hƒ{`…âH‹{HH…ÿH‰útGöÄt%€äþH‹KXH‹{‰H‹CH‰SH‰SH‰KH‰{HH‰CXèGQHÇCHHÇCXHÇCPH‹ƒØH‰ß[L‹X AÿãDƒøÿ„[ÿÿÿ¸ÿÿÿÿ[ÄH‰òH‹sXH‹KH‰SXH‹SH€äþ‰H‰sH‰KHH9ÖH‰SH‰S†Bÿÿÿ¶[Ãf.„¶[ÃH‰ßè#âÿÿƒøÿ…ÿÿÿ뙄H‰ßDè£éÿÿ…À„[ÿÿÿévÿÿÿDAVI‰ÖAUATI‰ÔUH‰ýSH‰ó@H‹uL‹mL9îsbI)õM9ìMFìIƒýw{M…ítJAƒýAEÿE‰èv öÄ€A@ÿH‰òH|H‰Ø¶ HƒÂˆHƒÀH9øuîAƒèIƒÀLÆLÃH‰uM)ìM…ätH‰ïèþÿÿƒøÿ…{ÿÿÿ[L‰ð]L)àA\A]A^Ã@H‰ßL‰êM)ìè¯LmH‰ÃëÀf„HVH9ÓvGD‰ÇƒçðtQóo‰ú)øA9øH fH„tÿÿÿ¶:HƒÂ@ˆ9HƒÁƒèyíé\ÿÿÿf.„HSH9Ö†#ÿÿÿë§H‰òH‰ÙëÄfDH‰\$èH‰l$ðH‰ûL‰d$øHƒìHƒ8tH‹$H‹l$L‹d$HƒÄÃöt ‹¿À…ÿ~AH‹ƒØH‰ßÿPhƒøÿuÌH‹{8L£ƒH«„H…ÿtöt#L‰c8H‰k@ƒ ë£fDL£ƒH«„ëÝH‹s@HÆÿH)þHæðÿÿèVßëÁH:Hì€èHÄ€éßÿÿH=Ò8,Hì€èæÿHÄ€é6ßÿÿH=³8,Hì€è—ÿHÄ€éšäÿÿH=”8,Hì€è¨ÿHÄ€éÎäÿÿH=u8,Hì€èYÿHÄ€éÃêÿÿH:Hì€è>ÿHÄ€éBëÿÿH:Hì€èSÿHÄ€é†ëÿÿH= 8,Hì€è4ÿHÄ€éÏëÿÿH=8,Hì€èåþHÄ€é…ìÿÿH:Hì€èÊþHÄ€éíÿÿH:Hì€èßþHÄ€élíÿÿH=¬7,Hì€èÀþHÄ€é{îÿÿH:Hì€è¥þHÄ€éeðÿÿH=r7,Hì€èVþHÄ€éñÿÿH:Hì€è;þHÄ€éBñÿÿH=87,Hì€èLþHÄ€é¶ñÿÿH:Hì€è1þHÄ€éññÿÿH=þ6,Hì€èâýHÄ€é^òÿÿH:Hì€èÇýHÄ€é™òÿÿH=Ä6,Hì€èØýHÄ€éGóÿÿH:Hì€è½ýHÄ€éóÿÿH‹W(H‹GH9ÂH‰Ñw(H‰Á‹% = t)H‹WH9ʸÿÿÿÿs¶óÃ@‹H‰W% = u×H‹G0'ÿ÷ÿÿH‰WH‹OH‰G(ëÃfffff.„H‹G(H9GHCGH+GÃfffff.„SH‰ûH‹8H…ÿt öuÿ“èHÇC8H‰ß1ö[éóÿÿDƒþÿt öt¸ÿÿÿÿÃé+æÿÿff.„H‰\$ÐL‰d$à1ÀL‰t$ðH‰l$ØA‰ÖL‰l$èL‰|$øHƒìHH‹o8H‹W@H‰ûI‰ôH)êH9ò}öH‹G L‹0H‰$t2¸H‹\$H‹l$ L‹d$(L‹l$0L‹t$8L‹|$@HƒÄHÃf.„HVdH‰T$H‰×ÿ“àH…ÀI‰Åt´H…ít$H‹S@H+S8H‰îH‰Çè°H‰ïÿ“èHÇC8H‹T$¹L‰îH‰ßITèSáÿÿE…öufL‰èL‰ïL‰k H)èHCL‰èH)èH)ïHCH{L‰èH)èHC(H‹C@H‰{H‰C0L+<$M9üŒ€E…öudL‰âK|=1öL)ú袞1ÀéÿÿÿL‰êL‰èL‰kH)êHS(L‰êH)êH)èHS0HC L‰êL‰ïH)êHSH‹S@H‰C I‰ÅH‰Së’„L‰âLÿ1öL)úè@ž1Àé¬þÿÿ¹kOºï¾ÃjO¿ÌjOè0óýÿH‰\$àH‰l$èH‰ûL‰d$ðL‰l$øHƒì8…ÉH‰õA‰ÔtKL‹o(L9oLCoH‹GI)ÅöÁ…σáHÇÀÿÿÿÿ…Éu=H‹\$H‹l$ L‹d$(L‹l$0HƒÄ8À‹öÄtYöÄt|L‹o(L9oLCoL+oAƒü„½JD-AƒüHDèH…íˆÌL9í®H‰èHC H‰C(H‰èëŠf.„¨tH‹CH+Céoÿÿÿ€H‹C(H+C é[ÿÿÿL‹o(L9o¹LCoH‹GI)ÅAƒüt4JT-AƒüHDêH…íxPL9íWHèƒáH‰CL‰èHCH‰CH‰èéÿÿÿHkH)ÅëÐH‹C(H+C HÅé@ÿÿÿ1ÒH‰îH‰ßèÏüÿÿ…À„=ÿÿÿHÇÀÿÿÿÿéËþÿÿºH‰îH‰ß‰L$è§üÿÿ…À‹L$uØH‹Cë‡f„H‰\$ÐH‰l$ØH‰ûL‰d$àL‰l$èE1äL‰t$ðL‰|$øHƒìH‹ƒþÿ‰õA”Ĩt91íE…äu½ÿÿÿÿ‰èH‹\$H‹l$ L‹d$(L‹l$0L‹t$8L‹|$@HƒÄHĉÂâ útPH‹W(L‹k8L‹{@H‰ÖH+s IcÌM)ïLùH9ÎsOE…ätH‹S(H9Ss“H‰Sëf.„@ˆ*HƒÂH‰S(ëÝH‹WH‹O€Ì‰H‰W(H‰Oëf„¨…FÿÿÿKD?dI9ÇH‰D$‡3ÿÿÿH‰Çÿ“àH…ÀI‰Æ„ÿÿÿM…ítL‰úL‰îH‰Çè-¬L‰ïÿ“èHÇC8H‹T$K<>1öL)úè›H‹T$¹L‰öH‰ßIèPÝÿÿL‰ðL‰s L)èHCL‰ðL)èHCL‰ðL)èHCH‰ÂHS(H‹C@H‰S(H‰C0é÷þÿÿfDH‰\$àH‰l$èH‰ûL‰d$ðL‰l$øHƒì(H…ÒH‰õI‰Ìub1öH‰ïè`µI‰Å1ÉL‰êH‰îH‰ßèÍÜÿÿM…äH‰k H‰kH‰ktLL‰c(L‰k0L‰cHǃàH‹l$H‹\$L‹d$L‹l$ HƒÄ(Ã@HIÇÅÿÿÿÿH9ÖLBêë—@H‰k(H‰k0L‰kë²fH‰\$àH‰l$è¸ÿÿÿÿL‰d$ðL‰l$øHƒì(…ÒH‰ûH‰õIÂI‰ÌH˜H…Àu^1öH‰ï褴I‰Å1ÉL‰êH‰îH‰ßèÜÿÿM…äH‰k H‰kH‰ktHL‰c(L‰k0L‰cHǃàH‹l$H‹\$L‹d$L‹l$ HƒÄ(ÃHðIÇÅÿÿÿÿH9ÆLBèëœDH‰k(H‰k0L‰kë¶f.„H‰\$èH‰l$ð¸ÿÿÿÿL‰d$øHƒì…ÒIÂH‰ûH‰õH˜H…ÀuV1öH‰ïèì³I‰ÄL‰âH‰îH‰ß1ÉèYÛÿÿH‰k H‰kH‰kH‰k(H‰k0L‰cHÇƒàƒ H‹l$H‹$L‹d$HƒÄÃHðIÇÄÿÿÿÿH9ÆLBà뤋J,…ÀŽÂ1Ò¾‰Ðƒ=BM,t ð±58,ë±5 8,…À…ŸIÇÂðÿÿÿº sA¹E1ÀfD‰ÎD‰Àƒ=M,t ð±2…Åpë ±2…ºpH‹’hHú suÌH‹­,HÇ¢,P?GH‰»7,H‹T.,HÇI.,°ùFH‰ª7,dI‹dIÇÿÿÿÿH‰Ÿ7,ƒÐ7,óÃfDIÇÂðÿÿÿdIƒ:ÿtã‰Ðƒ=qL,tð±5C7,…Jpë ±547,…;pé-ÿÿÿffff.„‹*,…ÒŽ¢‹l7,ƒè…À‰a7,…‹H‹7,HÇÀðÿÿÿdH‰H‹ú6,º sH‰Î,H‹ï6,H‰€-,„ƒ=ÙK,t ðÿ …Öoëÿ …ÌoH‹’hHú suÔƒ=­K,tðÿ €6,…Áoë ÿ r6,…³oóÃfffff.„‹ j,…É~uHÇÀðÿÿÿH‹ p6,1ÒdH‰H‹S6,H‰,,H‹M6,H‰Þ,,¸ sH9ÈÇt H‰pH‰ÂH‹€hH= suÜH‰ý5,Çç5,ÇA6,óÃffffff.„‹5>6,…öu>Ç,6,HÇ©,>GHÇ^,,úFHÇ›,@GHǘ,ÀCGÀÇò5,Ãffff.„H…ÿtH‹Gø¨uHƒàøöDøtHƒèÃ1ÀÃDHƒàøHƒèÃffffff.„H‰l$èL‰d$ð1ÒH‰\$àL‰l$øHƒì(H‹FX‹ Ô4,H‰õH‹XHƒãøHDßH)øH÷ñL`ÿL¯áM…ä~1ÿÿÑ,I‰ÅH‰ØHEXI9Åt"1ÀH‹\$H‹l$L‹d$L‹l$ HƒÄ(ÀL‰çH÷ßÿ”,H‹]+,H…Àu/1ÿÿ€,H…Àt¹I)Åt´H‹EXL)ëL)­xHƒËH‰X¸ë™ÿÐëÍDH‰\$ðH‰l$øHƒì(@öÇuHƒú@t8Hút.Hút%HútHúDtHúÿ†q@öÅ…fÿÿÿH‹OðHƒåøH‰ÚH)ÊHL H ÊH…Ð…GÿÿÿHUÿI‰ØH‰ÝIÁè HÁíH D1Å@¶í¶9@¶ÇH9ètGH…À„ÿÿÿHHH9Ês"éÿÿÿ€H…À„÷þÿÿHHH9чêþÿÿH)ÂH ¶9@¶ÇH9èu×÷×H…ö@ˆ9„ËþÿÿH‰éÃþÿÿH 12,LI9ȃ¬þÿÿ@Hƒú†žþÿÿöÂ…•þÿÿH‰éHƒáøöDø„ƒþÿÿ@€å„ŽHƒÂI‰ØH‰ÝH IÁè HÁíD1Ŷ9@¶í@¶ÇH9è„uÿÿÿH…À„CþÿÿHHH9Ês é5þÿÿDH…À„'þÿÿHHH9чþÿÿH)ÂH ¶9@¶ÇH9èu×é+ÿÿÿfHú…óýÿÿé{þÿÿH‹OðöÁ@…Úýÿÿ…Àt.H‰ÈH÷ØH,H9-½1,‡¿ýÿÿH‹DøHƒàøH9Á…­ýÿÿé/ÿÿÿH‰ÈH÷ØëáH‰l$ð‰ýH‰\$è‰èL‰d$øHƒì8ƒàH‰óH‰×ƒø„@öÅu!ƒå…™H‹\$ H‹l$(L‹d$0HƒÄ8Ã@Ht$1ɺÆD$I‰äè—'H9àI‰Àv€IƒèM9àAÆ0wóI‰àH‹)H,‰ïH‰Ù¾@oOH‹¸ kOH…ÒHDЃç1ÀèÞ¤ÿÿë„@‰ïH‰ò1Àƒç¾üÀNèĤÿÿégÿÿÿèJ3þÿf.„AWH‰øAVAUATUSHƒì8Hƒ=§0,„dƒ<%tðƒOLoXLGPHOE1ÉfL‰ËH‡H…Û…“é@I‹T$LýI‹t$L;b…oL;f…eI|$ÿH‰rH‰VvI‹t$ H…ö…´I‹UHýÿI‰]H‰ZvHÇC HÇC(H‰îL‰kH‰SHƒÎH‰,+H‰sM…öL‰ó„†H‹SL‹sH‰ÕHƒåúƒâL$+M‹|$uDH‹H)ÓHÕH‹SH‹sH;Z…„H;^…zH{ÿH‰rH‰Vv H‹s H…ö…ÛIƒçøL9`Xt3CöD<„ÿþÿÿIƒd$þé5ÿÿÿL9Á„èHƒÁéÆþÿÿfDN|=H‰XXIƒÏL‰{é@ÿÿÿf.„H_höÃ…»H‰\$fEïÒó~D$H(flÀH‰Úfo5Í¢fDoÈfDo%Ï¢fDoÖ¢fDoÝ¢fo=å¢foí¢DfoÆfAþôfAoÈfAoâfAþÃfoèfsØfsÙfôÁfpÀfAôèfpífoÚfsÓ fbèffåfDoífDbìfjìfoâfDÔïfAoÍfAôÝfAoÅfÔïfsó fôÊfÔËfoÝfsÐ fôÂfsð fÔÈfoÅfAÔÉfsÓ fsÔ fôÚfôÂfsó fôåfsô fÔÄfÔÃfoÙfAÔÁflÙfmÉffJfoÈflÈfmÀfJ fB0HƒÂ@H9Ê…ûþÿÿH“°H‰RH‰RH“ÀH‰RH‰RH“ÐH‰RH‰RH= stI‹PƒÊ‰PƒÊHƒë‰PH‰XXHƒÄ8[]A\A]A^A_ÃHWXHHDH‰RH‰RHƒÂH9Êuïë¯HÇ*-,‹($,ë­‹=@ù+H‰Ú¾ªkOH‰D$H‰L$ L‰D$(L‰L$è[ûÿÿH‹D$H‹L$ L‹D$(L‹L$éeýÿÿ‹=ù+L‰â¾ªkOH‰D$H‰L$ L‰D$(L‰L$èûÿÿH‹D$H‹L$ L‹D$(L‹L$é|üÿÿH;^(…ÿH‹{(H;_ …ØHƒz t?H‰~(H‹S(H‰r éõüÿÿL;f(…I‹|$(L;g uyHƒz t4H‰~(I‹T$(H‰r éüÿÿH9ótAH‰r H‹s H‰z(H‰V(H‹s(H‰V é¥üÿÿI9ôt,H‰r I‹t$ H‰z(H‰V(I‹t$(H‰V éØûÿÿH‰R(H‰R étüÿÿH‰R(H‰R é¾ûÿÿ¹°€Oºï¾ˆ÷N¿øoOè[áýÿ¹°€Oºï¾ˆ÷N¿ÀoOèBáýÿ¹°€Oºç¾ˆ÷N¿˜oOè)áýÿ¹°€Oºç¾ˆ÷N¿poOèáýÿU‰ýS‰óHƒì‹=÷+…ÿˆ¸¾1Àƒ=Š@,tð±5P",…¼dë ±5A",…­d¿ sƒÅènúÿÿƒý v9º@ƒ=I@,tðÿ ",…›dë ÿ ",…dHƒÄ‰Ð[]Éíÿ$í¸O€1Òû w¶…Û¸tHcÛ° HƒÃH‰ÚHƒâðHƒûHGÂH‰®*,ºë‡€…ÛŽoÿÿÿHcÛºH‰I*,édÿÿÿ@‰F*,ÇD*,ºéFÿÿÿfD1Òûw HcÛ²H‰ú),Ç*,éÿÿÿHcÛÇÿ),ºH‰Ç),éúþÿÿf.„HcÛÇ×),ºH‰—),éÒþÿÿf‰ò),ºéÀþÿÿ‰þõ+ºé°þÿÿ…ÛŽŸþÿÿHcÛºH‰q),é”þÿÿ@è é>þÿÿfDAUATUSHƒìD‹ ¯õ+E…ÉxHƒÄ[]A\A]Àǎõ+HÇ ),Ç%),HÇþ(,HÇã(,誉),HÇÀðÿÿÿHÇÞ(,HÇ+),Ç ,HÇn(, sdHÇ s¸HŽNÇû(,H…ÀHÇ)),ðÔFHÇ&),ÖFHÇ#),ÐÖFtH‹ê©¿` sH‰),Ç),èGçH‹ø),D‹%éÁ+H…Ût&1íë €8M„¬HƒÃH‹H…ÀuëH…ít¶E„Àu&H‹',H…ÀtÿÐÇvô+HƒÄ[]A\A]þÀ¿ûÿÿÿpÐè¸üÿÿD‹Uô+E…Àt¾‹-ª(,…ít Çœ(,ë¨ÇŒ(,HÇ ô+>GHǾ,úFHÇûó+@GHÇøó+ÀCGémÿÿÿ€xA…Jÿÿÿ€xL…@ÿÿÿ€xL…3ÿÿÿ€xO…)ÿÿÿ€xC…ÿÿÿ€x_f…ÿÿÿI‰ÅIƒÅ„ÿÿÿ1ÒëHƒÂ¶L„É„îþÿÿ€ù=uêHƒêHƒú ‡Ûþÿÿfÿ$Õ€OL‰ïº¾ŽÃOIƒÅè…ÀIDíé±þÿÿE…ä…¨þÿÿº¾økOL‰ïèÝ€…Àtº¾lOL‰ïèÇ€…À…xþÿÿI}1öº èEþÿ¿ýÿÿÿ‰ÆècûÿÿéWþÿÿE…ä…Nþÿÿº ¾íkOL‰ï胀…À…4þÿÿI} 1öº èËDþÿ¿ùÿÿÿ‰ÆèûÿÿéþÿÿI}1öº èªDþÿƒÏÿ‰ÆèûÿÿéôýÿÿE…ä…ëýÿÿº ¾ÙkOL‰ïè €…À„•º ¾ãkOL‰ï者À…·ýÿÿI} 1öº èNDþÿ¿øÿÿÿ‰Æè¢úÿÿé–ýÿÿE…ä…ýÿÿº¾ÇkOL‰ïèÂ…Àt\º¾ÐkOL‰ï謅À…]ýÿÿI} 1öº èôCþÿ¿úÿÿÿ‰ÆèHúÿÿé<ýÿÿI} 1öº èÓCþÿ¿üÿÿÿ‰Æè'úÿÿéýÿÿI} 1öº è²Cþÿ¿þÿÿÿ‰ÆèúÿÿéúüÿÿUSH‰ûHƒìÇñ%,èÈûÿÿH;AELDt¸ÿÿÿÿHƒÄ[]ÃH÷Cÿÿÿ¸þÿÿÿç¾1Àƒ=c:,tð±5),…Ó^ë ±5,…Ä^dƒ<%tðƒ ,Hƒ{ŽOH‹“ˆ¸H…ÒtHƒÂ° H‰ÑHƒáðHƒúHGÁH‰É$,fïÀHÇÂ,HÇÿ,A¸xsÇ÷#,Çñ#,Çë#,H‰Úf,ÇÚ#,¾Aº sfƒ,A¹A»~f,f‡,H‹C Hǘ,H‰‰,L‰Àëy@H‹yH‰ýHÁíHƒý0‡ãHƒÅ0H9õ„öH‰@H‰@H‹J0H‹=[,HÇAxsH‹J8H‰yH‹ D,H‹z8H‰yH‹J0I‰HHƒÆHƒÂHƒÀHþ€„MH‹J0H…ÉtZHƒ{~Hƒþ?‡qÿÿÿH‰HH‹z8D‰ÍH‰xH‰AH‰÷H‹HHÁïHÇH‰A‰ñƒáÓå‹ ½(s éA‰Lºëf„Hƒz8…H‰@H‰@élÿÿÿ„H‰ýHÁí HƒýwCHƒÅ[é ÿÿÿf.„H‰÷HÁçH‹|;(H‹H‰ýHÁíHƒý0w3HƒÅ0H9õ…àþÿÿéHÿÿÿH‰ýHÁí Hƒý w+HƒÅné»þÿÿf.„H‰ýHÁí Hƒýw!HƒÅ[ë¾DH‰ýHÁíHƒýw HƒÅwéƒþÿÿH‰ýHÁí Hƒý ‡ÄHƒÅnëŒHÁïHo|HƒÿICëéWþÿÿH‹KHƒùAH‹½,H=xst2DH‹PHƒâøHúÿvHÇ@ HÇ@(H‹@H=xsuÓH‹ƒ H…ÉH‰",Hcƒ(H‰t!,H‹ƒ0H‰Ž!,H‹ƒ8H‰ˆ!,‹ƒ@‰ !,H‹ƒHH‰v!,‹ƒP‰Þí+H‹ƒXH‰,!,‹ƒh‰h!,‹ƒl‰d!,H‹ƒpH‰f!,H‹ƒxH‰`!,ŽŠ‹“€…Ò„â‹Þ!,…ÀuBD‹×!,E…Ûu6ÇÄ!,HÇAí+>GHÇö,úFHÇ3í+@GHÇ0í+ÀCGHƒù~*H‹ƒH‰¼ ,H‹ƒ˜H‰¶ ,H‹ƒ H‰ø ,ƒ=6,tðÿ Ø,…¡Zë ÿ Ê,…“Z1ÀécûÿÿH‰ýHÁíHƒýwHƒÅwé¸ýÿÿHÇœ ,PéÎûÿÿHÁïHo|HƒÿICëé“ýÿÿD‹û ,E…Ò„ZÿÿÿHÇoì+HÇ$,HÇaì+HÇ^ì+Ǽ ,éÿÿÿ¹à€Oºf¾lO¿ lOè®Õýÿfffff.„AVƒ='ì+AUATUSH‰ûˆC¾1Àƒ=5,tð±5à,…ÈYë ±5Ñ,…¹YH‹,H…À„L‹PE1ÉE1À1ÉH‹Í(sH…ÀtfH‹PH‹@AƒÁHƒâøIÐH…ÀuèHƒÁHƒù uÏL‰Ò¿xs¾HƒâøIf„H‹GH9øt€H‹HH‹@ƒÆHƒáøHÊH9øuéHƒÇHÿh suÌD‹%í,H‹-–,L‹-÷,L‹5,ƒ=94,tðÿ ,…Yë ÿ ò,…ùX‰èAƒâø‰+)ÐD‰c D‰k‰CD‰sH‰ØD‰K‰s‰S D‰CD‰S$[]A\A]A^Ãèõÿÿé³þÿÿ¿ sèáíÿÿH‹ò,éÚþÿÿDHƒìH‹WH‰øöÂt@H‹H‰Ö‹L,HƒæøH)ÏH΃êH‰ùH ñH…ÑuNƒ-,H)5.,èùº…ÀuHƒÄùnOº¯ ¾ˆ÷N¿3lOè·Óýÿ¹nOºÉ ¾ˆ÷N¿ElOèžÓýÿ‹=,ê+HP¾0pOYéYìÿÿf„AWAVAUI‰ýATUSH‰óHƒì8H‹F‰T$H‰ÅHƒåøH‰êH÷ÚH9Ö‡Î@öÆ…ÄHƒý†ÙH;-£,‡½H.H‹BHƒø†2HƒàøH;‡xƒ!‹5|,…ö…ƒdƒ<%tðAƒeþÁíƒíI‹tíH9ó„I|íH‰sH‰ðHOdƒ<%tðH±_H9ÆH‰Âu ë,@H‰ÂH9Ó„ÈH‰SH‰Ðdƒ<%tðH±H9ÐuØHƒÄ8[]A\A]A^A_è…˜D‹D$1ÒÇD$$E…À„I‹EXH9ÄóAöEL$+„oM‹t$AöÆ„~Iƒþ†õIƒæøM;µxƒä‹5|,…ö…”öCuDH‹H)ÃHÅH‹CH‹SH;X…ÃH;Z…¹H{ÿH‰PH‰Bv H‹S H…Ò…lM9eX„CöD4f„¢Iƒd$þIEXHýÿH‹PH‰CH‰SvHÇC HÇC(H‰XH‰èH‰ZHƒÈH‰,+H‰CHýÿÿ†'AöE„¼Iý s„¼I‹]XH‰ÝHåüL‹eM9ì…D‹U,H‹ ,HE H9ØH‰L$(L‰D$…EL‹uI‹vIT6ðHƒz…>H+H‹JH‰ÈHƒàøHxHƒÀHƒø>‡H‹D$L‹D$(I‰ÿI‰ùH‰ïMT I‰ÀH‰ØIƒèL‰ÕL‰ÃéÝf.„¾H‰T$è‘·H‹T$öBH‰Ðu>H+H‹PH‹HH;B…?H;A…5HxÿH‰JH‰Qv H‹H H…É…ËJ8H…Ú…ðL‰ñINH9Ê…ÇIV IƒÏI‰D$XL‰xH9Ð…>M‹FI‹pIT0ðHƒz…=H+H‹JH‰ÏHƒçøLOHƒÇHƒÿ>‡L‰÷M‰ÏM‰ÆƒáuM‰ÏL:IOÿHùþÿÿ‡¤¹H)ñH‰ÎLþH9î‚ÊH‹GI)„$xH‹GH)ó,H‡H9=,…ÏþÿÿHÇ,,é¿þÿÿ€¾‹D$ƒ=È.,tðA±u…¶Së A±u…©SºÇD$$é«üÿÿI‹D$I‹T$L;`…mL;b…cI|$ÿH‰PH‰BvI‹T$ H…Ò…%LõéýÿÿH‰ÃH‰ýL‹{H‹D$H+D$(M‰úIƒâø1ÒIDßH÷t$LpÿL¯t$L;t$|XL‹}M)÷Iƒÿ~K‹=%²+…ÿ…xJ|=ºL‰öL‰T$覵L‹T$M)òL‰}M)´$xIƒÊL)5·,L‰S‹t$…ö…”ûÿÿ‹\$$…Û„[ƒ=¡-,t ðAÿM…¬Rë AÿM… RHƒÄ8[]A\A]A^A_Ãf„HƒÄ8H‰÷[]A\A]A^A_éšùÿÿf.„H‰ÃL‰õéÿþÿÿDLõI‰]XH‰èHƒÈH‰Cé5üÿÿf„L‰ïè(çÿÿé7üÿÿH‹4,H‹@HƒàøH;m,‚7ÿÿÿH‹=h,¾ sè–âÿÿé!ÿÿÿ¹¤nOºl¾vlO¿8rOè(Íýÿ¹¤nOºk¾vlO¿øqOèÍýÿ‹=ã+H‰Â¾ªkOH‰D$èÇåÿÿH‹D$éÈüÿÿ¹¤nOº`¾vlO¿¸qOèÔÌýÿ¾prOHS‹=Yã+HƒÄ8[]A\A]A^A_é‚åÿÿ¹¤nOº]¾vlO¿qOè™Ìýÿ¹¤nOºZ¾vlO¿~lOè€Ìýÿ¾˜lOëªHUøH{æÿèVwéeùÿÿ¾NlOë‹H;A(…,H‹p(H;F …Hƒz „ØH‰q(H‹P(H‰J éüÿÿ¾xpO„Ò„Jÿÿÿƒ|$…?ÿÿÿƒ=§+,t ðAÿM…ÎPë AÿM…ÂPéÿÿÿƒ|$¾ pO… ÿÿÿ¾‹D$ƒ=i+,tðA±u…«Pë A±u…žPH‹BHƒøv2HƒàøI;…xs%ƒ=0+,t ðAÿM…Pë AÿM…ƒPéhøÿÿ¾ pOéZÿÿÿHUøH{æÿèEvéTùÿÿ¾ÈpOé%ÿÿÿH;Z(f…H‹K(H;Y uRHƒx t)H‰J(H‹C(H‰P éfùÿÿ‹=¦á+H‰Ú¾ªkOèÕãÿÿéNùÿÿH9ÓtwH‰P H‹S H‰H(H‰B(H‹S(H‰B é,ùÿÿ¹šnOº'¾ˆ÷N¿˜oOèÅÊýÿH‹H¾èpOHƒáøHÈI9Ä‚xøÿÿé†þÿÿ¾PpOé|þÿÿ¹šnOº'¾ˆ÷N¿poOè„ÊýÿH‰@(H‰@ éÅøÿÿ‹=á+L‰â¾ªkOè4ãÿÿé¦ûÿÿH9ÈtOH‰J H‹H H‰r(H‰Q(H‹H(H‰Q éúÿÿ¹¤nOºi¾vlO¿˜oOè$Êýÿ¹¤nOºi¾vlO¿poOè ÊýÿH‰R(H‰R éÙùÿÿ¹šnOºu¾ˆ÷N¿clOèåÉýÿJ|=E1ÉAƒÈÿ1Ò¹2L‰öL‰T$èŰHƒøÿL‹T$„–ûÿÿL‰}élûÿÿ¹šnOº|¾ˆ÷N¿‘lOè”ÉýÿL;b(u$I‹L$(L;a uVHƒx t+H‰J(I‹D$(H‰P é±úÿÿ¹šnOº0¾ˆ÷N¿ÀoOèQÉýÿI9Ôt8H‰P I‹T$ H‰H(H‰B(I‹T$(H‰B étúÿÿ¹šnOº0¾ˆ÷N¿øoOèÉýÿH‰@(H‰@ éNúÿÿ€H…ÿtKH‹GøHwð¨u/¨¿ suHÇÀðÿÿÿ1ÒdHƒ8ÿ”ÂéPõÿÿH‰ðH%üH‹8ëÜfH‰÷é˜ôÿÿ„óÃfffff.„H…ÿSH‰ût71öè°ÞÿÿH…Àt3ö@u[1ÒH‰Æ¿ séõôÿÿD[H‰ÇéGôÿÿ€[ÃfDH‰Ú‹=ãÞ+¾˜lO[éáÿÿ@AWAVAUATUSHƒì8ƒ=»Þ+H‰|$(ˆðHÇD$ sÇD$$H‹T$¾1Àƒ=œ',t ð±2…Më ±2… MH‰×èáÿÿ‹,‰ÅHýÿ‡Áè‰D$LuÿL‹d$1ÒA¿HƒÅ/M‰õIƒÄXI÷ÕëAƒÿtAƒÇIƒÄAÿ€tvD;|$|âI‹\$L9ãuëÜfDH‹[L9ãtÍH‹CHƒàøH9èvêH<+HK0L!ïH9Ï‚áH H9σ»H‰ÞH)þHI9ÆsºH‰ÆºL!îèz®ºë£1ÀH|$ s„¶ ÐH‹T$ D$$ƒ=&,t ðÿ …(Lëÿ …LH‹‚hH= sH‰D$…´þÿÿ‹D$$HƒÄ8[]A\A]A^A_ÃH‰èHÁèHƒø0w ƒÀ0‰D$éÖþÿÿH‰èHÁè HƒøwdƒÀ[‰D$é½þÿÿ¹ÄnOº¤¾ˆ÷N¿ørOèeÆýÿ¹ÄnOº£¾ˆ÷N¿˜rOèLÆýÿH‹|$(¾ s‰T$è‰Ûÿÿ‹T$é.ÿÿÿèûæÿÿéþÿÿH‰èHÁè Hƒø w ƒÀn‰D$éLþÿÿH‰èHÁèHƒøw ƒÀw‰D$é3þÿÿH‰èHÁèP|Hƒø¸~B‰D$éþÿÿDH‰\$àL‰d$ðH‰óI‰üH‰l$èL‰l$øLãHƒì(èúHûÿ‰Å‡›»€H‹=w,H…ÿ„»E1É1ÒA¸ÿÿÿÿ¹"@¾èl¬HƒøÿI‰ÄHÇB,„‰©ÿÿÿuuƒíºL‰çHcíHëH÷ÕH!ëH‰Þèn¬…À…ÖL‰àI‰\$I‰\$H‹\$H‹l$L‹d$L‹l$ HƒÄ(ÃHû†]ÿÿÿIü‡Ž»éEÿÿÿ¾H‰Çèë«E1É1Ò1ÿA¸ÿÿÿÿ¹"@¾诫HƒøÿtmL ÿÿÿIäüM‰åI)Åu#I¼$H‰=l,¾L)îè—«é%ÿÿÿfH‰ÇL‰îè…«I¼$ë×1Àé8ÿÿÿ¾L‰çèc«1Àé#ÿÿÿE1É1Ò1ÿA‰À¹"@¾è#«HƒøÿI‰Ät©ÿÿÿ„Âþÿÿ¾H‰Çè"«1Àéâþÿÿff.„AWI‰òAVAUATUH‰ýSHƒìxHƒþ¿‡ƒHFA¼ H‰ÂHƒâðHƒøLGâL;%",‡¬D‰çÁïƒï‰øH‹LÅH…É„“HtÅL‹AH‰ÈHVdƒ<%tðL±FH9ÁH‰Ãu éVDH‰ÃH…ÛtXH‹KH‰Ødƒ<%tðH± H9ØuÜH‹CÁèƒè9Ç…ë HƒÃ‹˜ ,…À…|HƒÄxH‰Ø[]A\A]A^A_ÃfDIüÿwwE‰àL}hAÁèCDþ‰ÀIDÇðH‹XH9ÄŸH…Û„H‹SJƒL#Hý sH‰PH‰BtHƒK‹ ,HƒÃ…Àt„÷ÐL‰ÒH‰ß¶ðè|méoÿÿÿ€M‰àIÁèIƒø0†M‰àIÁè Iƒø‡$AƒÀ[öEL}huH‰ïD‰D$ L‰T$èîÛÿÿL‹T$D‹D$ D‰áM‰áL‰àÁéIÁéHÁè ‰L$XL‰áL‰L$(HÁé AƒÁ0H‰D$PƒÀ[D‰L$\H‰L$H‰D$lƒÁnM‰áL‰àIÁé‰L$hHÁèIL$ L‰L$8H‰D$0AƒÁwƒÀ|H]X‰D$`D‰L$dH‰L$@¸E1öëV€‰ùÁéT þHcÒIt×ðH‹V‰ÏA‰ÁƒáÁÿAƒÆAÓáHcÿI‰uI‰UD Œ½XAþ'L‰jL‰n„˜L‹kL9ë„‹I‹}I‹MHƒÿ†¿H;½x‡²HƒçøIüÿw H9Ë„WI9üH‰KH‰Y„®Hÿÿ†QÿÿÿH‰úHÁêHƒú0w\J0T^HcÒL ÕðÿÿÿO I‹QL9ÊtpI‹qL‹^AöÃ…¢ HƒÏL9ßsjH‹z(I‰U I‰}(L‰o L‰j(L‰ÊéÿÿÿfDH‰úHÁê Hƒú‡J[”´HcÒL ÕðÿÿÿO I‹QL9ÊuM‰m(M‰m H‰ÖéºþÿÿDH‹r@öÆt éð f„H‹R H‹r@öÆ…3H9÷ré„H‹r(I‰U I‰u(L‰j(I‹u(L‰n H‹ré_þÿÿfH‰úHÁê Hƒú ‡¯Jn”ÚHcÒL ÕðÿÿÿéëþÿÿDH‹U`L9ê…œþÿÿH;|$@†‘þÿÿL)çMåHÿÿL‰kL‰kL‰m`I‰]I‰]vIÇE IÇE(1ÀHý sHj•ÀIƒÌI‰|=HÁàH‰ëI ÄH‰øHƒÈL‰bI‰E‹µ ,…À„üÿÿé½H‰úHÁêHƒúw,Jw”ìHcÒL Õðÿÿÿé/þÿÿf„H‹RéüþÿÿH‰úA¹À¹~HÁêHƒú‡þÿÿJ|”öHcÒL ÕðÿÿÿéçýÿÿIüÿ‡yAƒÀD‰ÇCTþD‰ÁÁïƒáA‰ÀA‰ù‰ÒAÓàB‹´XIT×ðD‰Á@…Ét 9ñvD„ƒÇƒÿw^A‰ùB‹´X…öté‰ú¹Áâƒê…ñ‰ÒIT×ðuÉ„fHƒÂ…ñtðL‹jI9Õ…A‰ÈHƒÂÉA÷ÐD!ÆB‰´XëŠL‹mXI‹UL‰éI‰ÖIƒæøL;t$@ƒµöE… H‰ï‰D$L‰T$è‚×ÿÿIüÿD‹D$X‹D$L‹T$†üÿÿHƒ|$(0D‹D$\†òûÿÿHƒ|$PD‹D$l†áûÿÿHƒ|$H D‹D$h†ÐûÿÿHƒ|$8D‹D$d†¿ûÿÿHƒ|$0A¸~DBD$`é¨ûÿÿ@KƒL%Hý stIƒMI]éúÿÿCTþ‰ÒIT×ðH‹JH9Ñ„nþÿÿL;a‡dþÿÿH‹I(H‹AI‰ÆIƒæøM9ôwìL‹jI9Í„ L‹iI9E„ L‰èI‰ÍL;hI‹U…  L;j…– I}ÿH‰PH‰Bv I‹U H…Ò…ž L‰òL)âHƒú‡ KƒL5Hý stIƒM‹ú,ImH‰ë…À„[ùÿÿ÷ÐL‰ÒH‰ï¶ðèSgéFùÿÿfDAƒÀ0éõùÿÿHÇÀÐÿÿÿ1ÛdÇ é"ùÿÿM‰àIÁè Iƒø †M‰àIÁèIƒø‡€AƒÀwéµùÿÿH‰ËéËøÿÿM‹uIƒæøM9ô‡” I‹EI‹ML;h…` H‹QL9ê…S HzÿH‰HH‰Av?H‹J H…Ét6H;Q(…¸ H‹r(H‹~ H9ú…Ž Hƒx „f H‰q(H‹B(H‹W H‰P L‰òL)âHƒúvwH‹KKD%IüÿH‰XH‰HH‰AH‰CwH‰E`HúÿvHÇ@ HÇ@(1ÉHý sH‰•ÁIƒÌHÁáI ÌH‰ÑHƒÉM‰eH‰HéÈýÿÿAƒÀn驸ÿÿKƒL5Hý s…§ýÿÿé§ýÿÿ¹®nOºb¾ˆ÷N¿çlOèÒºýÿ¹®nOºÞ¾ˆ÷N¿þlO蹺ýÿH‰ïD‰D$ L‰T$èWÔÿÿD‹D$ L‹T$édøÿÿL‰àA¸~HÁèP|HƒøDBÂé!øÿÿ‹= Ñ+IU¾°lO‰D$H‰L$D‰D$ L‰T$è$ÓÿÿI‹}L‹T$D‹D$ H‹L$‹D$é ùÿÿ1ÒHý sL‰à•ÂHƒÈM)æHÁâKL%M‰ôH ÐIƒÌI‰E‹},IƒÅH‰MXL‰aL‰ë…À„Ööÿÿ÷ÐL‰ÒL‰ï¶ðèÎdéÁöÿÿ‹,ƒèL;%é,H‰D$(‚”‹ð,;î,‚L‹L$(Ol!L‰ÈH÷ÐI!ÅM9삯L‹mXÆD$0I‹UL‰éI‰ÖIƒæøM…öO|5•D$8tGIƒþ†y€â„pL…|$(f…cL9t$@w%¹ºnOº ¾ˆ÷N¿¸uOè*¹ýÿÆD$0ëªL9ëu´Hý s„ÔM‰ïH‹T$@IçüI‹GL)òH…ÒH‰D$8Ž&H‰T$ H‰L$L‰T$è)„H‹T$ ƒèH‹L$H˜L‹T$I‰ÀI÷ÐHÐI!ÀLD$8Iø‡àI‹I9ø‡šM‰GL+D$8L…xI‹WH‰ÐH ,I×H+D$8I)ÏIƒÏH‰ö,L‰yH‹…xH;…€vH‰…€I‹EHƒàøH9D$@‡éûÿÿ1ÉHý sL‰â•ÁK\%HƒÊHÁáL)àH ÊHƒÈH‰]XI‰UH‰CIƒÅ1ÛM…í„ßôÿÿ‹i,L‰ë…À„ÎôÿÿéóýÿÿE1ÉAƒÈÿ1ÿ¹"ºL‰îL‰T$èÁžHƒøÿL‹T$„"þÿÿHPöÂuQL‰éHƒÉH‰H‹Ð,ƒÀ;Ï,‰Á,~‰Á,L‰èHÇ,H;È,H‰¹,vH‰¸,I‰ÕéVÿÿÿ¹ºnOºÌ ¾ˆ÷N¿ØsOè?·ýÿ‹=ÍÍ+HƒÃ¾ sOH‰ÚL‰T$èóÏÿÿL‹T$éóóÿÿ¹®nOºT¾ˆ÷N¿ÌlOè·ýÿL‰ÆºL‰D$ H)þIó+H‰÷éÕÿÿfDóÃH‹4$Aÿã€SH‰óHƒìHƒ=ˆó+„ª¾1Àƒ=Œ,tð±5^ó+…p.ë ±5Oó+…a.H‹Nó+H…ÒtH‹‚pH‰;ó+ƒ=L,tðÿ ó+…P.ë ÿ ó+…B.H…Òt:¾1Àƒ=,t ð±2…B.ë ±2…7.HÇÀðÿÿÿdH‰H‰ÐHƒÄ[ÃH‹Éò+H9jò+ƒ¼‹†é+…ÒHcÊuH‹ Xò+H…É„w‰ ié+HcÉH9Á‡H‹Né+H…Ò„v¹1ÛfD‰Øƒ=‡,tð± ë± …Àt5H‹’hH;é+uؾ1Àƒ=Z,t ð±2…›-ë ±2…-HÇÀðÿÿÿdH‰H‹‚hH‰Òè+é+ÿÿÿDH‹5‘ñ+H»¸èáÿÿH…À„KH°ˆHP @öÆH‰…ÚH‰t$fEïÒó~D$H˜HflÀH‰ñfo5vefDoÈfDo%xefDoefDo†efo=Žefo–efDfoÆfAþôfAoÈfAoâfAþÃfoèfsØfsÙfôÁfpÀfAôèfpífoÚfsÓ fbèffåfDoífDbìfjìfoâfDÔïfAoÍfAôÝfAoÅfÔïfsó fôÊfÔËfoÝfsÐ fôÂfsð fÔÈfoÅfAÔÉfsÓ fsÔ fôÚfôÂfsó fôåfsô fÔÄfÔÃfoÙfAÔÁflÙfmÉffIfoÈflÈfmÀfI fA0HƒÁ@H9Ù…ûþÿÿHްH‰IH‰IHŽÀH‰IH‰IHŽÐH‰IH‰IHú s„‚‹JƒÉ‰JHƒîH‹XƒÉH‰rXH²˜‰JHŠˆH‰š€H‰šxHð+ƒætH)ñHƒÁHØA¸1ÛH)ÈH‰JXÇHƒÈD‰ÆH‰AHÇÀðÿÿÿdH‰‰Øƒ=Ð,t ð±2…,+ë ±2…!+D‰Æ‰Øƒ=­,tð±5ï+… +ë ±5pï+…+H‹¿î+H‰‚hH‰±î+HƒQï+ƒ=j,tðÿ =ï+…ý*ë ÿ /ï+…ï*éNüÿÿè3š…À~UÁà‰æå+HcÈH‹ ï+éqüÿÿHÇÄå+ sº séuüÿÿHHxH˜h€H‰IH‰IHƒÁH9ÙuïéŒþÿÿÇå+H‹¹î+¹éüÿÿHÇ”î+‹ ’å+éqþÿÿH‹5*î+¿¸è8Þÿÿ1ÒH…À…™üÿÿéžûÿÿ„H‰òH‰l$à¸ÿÿÿÿH‰õH úH‰\$ØL‰d$èL‰l$ðL‰t$øHƒì(H¯ïH9‡3H‹)º+H…À…RHÇÀðÿÿÿdL‹ M…䄾1Àƒ=&,tðA±4$…Ù)ë A±4$…Ì)M‹t$XM‹nIƒåøIü stL‰ðH%üH@L)ðI9ÅLBèH‰îL‰çèCßÿÿH‰Ãƒ=É,t ðAÿ $…™)ë Aÿ $…)H…Û„WH‹CøHSð¨t3D‹lí+E…Û…H‰ØH‹l$H‹$L‹d$L‹l$L‹t$ HƒÄ(è¹ s…«L9á…›D‹#í+HƒàøE…Òu L9臡HPøH‰ÑHÁéHƒù††Hƒù ‡’HƒùHÇHÇCHÇC†nÿÿÿHƒùHÇCHÇC †TÿÿÿHƒù HÇC(HÇC0…:ÿÿÿHÇC8HÇC@é%ÿÿÿH‰ÑHáüH‹ éCÿÿÿfDI9ÖIDÅéSÿÿÿ@1öH‰ßèÎLéîþÿÿf„1ÿH‰îè¶øÿÿH…ÀI‰Ä…Oþÿÿ1ÛéÈþÿÿIü st¾1Àƒ=9,tð±5ÿâ+…"(ë ±5ðâ+…(¿ sH‰îè}ÝÿÿH‰Ãƒ=,tðÿ Êâ+… (ë ÿ ¼â+…þ'H…Û„RþÿÿH‹CøHSð¨„{þÿÿé-þÿÿ¾1Àƒ=º,tðA±4$…ã'ë A±4$…Ö'Hƒ=Ïê+H‰îLDãL‰çèØ÷ÿÿI‰Äƒ=~,tðÿ Eâ+…Â'ë ÿ 7â+…´'M…ä„ÍýÿÿH‰îL‰çè½ÜÿÿH‰Ãƒ=C,t ðAÿ $…¨'ë Aÿ $…œ'é?ÿÿÿH…ö„Äüÿÿ1ÒH‰èH÷öH9ø„³üÿÿHÇÀÐÿÿÿ1ÛdÇ ékýÿÿH‹t$(H‰ïÿÐH…ÀH‰Ã„UýÿÿH‰êH‹$H‹l$L‹d$L‹l$1öL‹t$ H‰ÇHƒÄ(éK¹ÊnOºÏ¾ˆ÷N¿ÈyOèþŸýÿ¹ÊnOº¾ˆ÷N¿NmOèåŸýÿH‰ê1öH‰ßèÈJéèüÿÿL‰d$èL‰l$ðI‰üH‰\$ØH‰l$àL‰t$øHƒì(D‹-9¶+E…툋âé+L‹¶+A‰ÅƒèH‰ÅIH÷ÕH!ÅM…Û…æHÇÀðÿÿÿdH‹H…Û„c¾1Àƒ=õþ+t ð±3…w&ë ±3…l&öC„”‹5vé+H‰ßJT&ÿH‰ðH÷ØH!ÂèxîÿÿI‰Æƒ=®þ+t ðÿ …L&ëÿ …B&M…ötdI‹FøINð¨u¨º su/H9Ú…oL‰ðH‹$H‹l$L‹d$L‹l$L‹t$ HƒÄ(ÃfDHáüH‹ëÅ@H‰ßèH¸ÿÿé_ÿÿÿHû s„›¾1Àƒ=þ+tð±5Ûß+…É%ë ±5Ìß+…º%¿ sH‰êL‰îè¦íÿÿI‰Æƒ=Üý+tðÿ £ß+…°%ë ÿ •ß+…¢%M…ö„@ÿÿÿéÿÿÿèÛ¾ÿÿécþÿÿKtl 1ÿèäôÿÿH‰Ãé®þÿÿ@Hƒ=¸ç+Ktl IDÞH‰ßè¿ôÿÿH…ÀH‰Ã„íþÿÿH‰êL‰îH‰ÇèíÿÿI‰Æƒ=Ký+t ðÿ …B%ëÿ …8%érÿÿÿH‹T$(H‰îL‰ïH‹$H‹l$L‹d$L‹l$L‹t$ HƒÄ(Aÿã¹ØnOº‡¾ˆ÷N¿øzOèNýÿfffff.„H‰l$èH‰\$àH‰ýL‰d$ðL‰l$øHƒì(‹¯³+…ÀˆgL‹˜³+D‹%Qç+M…Û…õHÇÀðÿÿÿdH‹H…Û„L¾1Àƒ=~ü+t ð±3…$ë ±3…„$öC„}‹5ÿæ+H‰êH‰ßè ìÿÿI‰Åƒ=Bü+t ðÿ …o$ëÿ …e$M…ítXI‹EøIMð¨u¨º st HáüH‹H9Ú…àL‰èH‹\$H‹l$L‹d$L‹l$ HƒÄ(Ã@H‰ßèèµÿÿévÿÿÿHû s„þ1Àƒ=µû+tð±5{Ý+…ø#ë ±5lÝ+…é#¿ sH‰êL‰æèFëÿÿI‰Åƒ=|û+tðÿ CÝ+…ß#ë ÿ 5Ý+…Ñ#M…í„Vÿÿÿé)ÿÿÿè{¼ÿÿéŒþÿÿIt, 1ÿè„òÿÿH…ÀH‰Ã…ÁþÿÿE1íé ÿÿÿ¹õnOºY¾ˆ÷N¿øzOèg›ýÿ€Hƒ=0å+H‰îIDÝH‰ßè9òÿÿH…ÀH‰Ã„ÝþÿÿH‰êL‰æH‰ÇèêÿÿI‰Åƒ=Åú+t ðÿ …K#ëÿ …A#éLÿÿÿH‹T$(H‰îL‰çH‹\$H‹l$L‹d$L‹l$ HƒÄ(AÿãDL‰d$øH‰\$èI‰üH‰l$ðHƒìL‹;±+M…Û…HÇÀðÿÿÿdH‹H…Û„6¾1Àƒ=8ú+t ð±3…Ø"ë ±3…Í"L‰æH‰ßè†ÖÿÿH…ÀH‰Åt^ƒ=ú+t ðÿ …Ã"ëÿ …¹"H‹EøHMð¨u¨º st HáüH‹H9Ú…×H‰èH‹$H‹l$L‹d$HƒÄÃ@Hû s„Óƒ=œù+t ðÿ …s"ëÿ …i"¾1Àƒ=yù+tð±5?Û+…f"ë ±50Û+…W"¿ sL‰æè½ÕÿÿH‰Åƒ=Cù+tðÿ Û+…P"ë ÿ üÚ+…B"» sH…í„Nÿÿÿé!ÿÿÿH‰þ1ÿèVðÿÿH…ÀH‰Ã…Ùþÿÿ1íé)ÿÿÿ¹,oOºM¾ˆ÷N¿(|Oè:™ýÿf.„Hƒ=ã+L‰æHDØH‰ßè ðÿÿH‰Ãƒ=¯ø+tðÿ vÚ+…Û!ë ÿ hÚ+…Í!H…Û„¿þÿÿL‰æH‰ßèîÔÿÿH‰Åƒ=tø+t ðÿ …Ã!ëÿ …¹!é9ÿÿÿH‹t$H‹$H‹l$L‹d$HƒÄAÿãSH‰ûHÇ ¯+è\¹ÿÿH‰ß[é£ýÿÿS¿¨è•ýÿÿH‰Ã1ÀH…ۄܾƒ=û÷+tð±5ÁÙ+…`!ë ±5²Ù+…Q!¿ sèâ±ÿÿHÇCHÇCH‹ãÙ+HÇAELDHÇCHÇC(H‰C 1Àë!@H‰T0H‹sH‰T8HƒÀH=ðt;H‹ˆsHˆxsH9ÊuÐHÇD8HÇD0HƒÀH=ðuÏf.„H‹â+H‰ƒ H‹sá+‰ƒ(H‹Žá+H‰ƒ0H‹ˆá+H‰ƒ8‹Ÿá+‰ƒ@H‹vá+H‰ƒH‹Ý­+‰ƒPH‹,á+Hǃ`H‰ƒX‹\á+‰ƒh‹Xá+‰ƒlH‹[á+H‰ƒpH‹Uá+H‰ƒx‹àá+‰ƒ€H‹Sá+H‰ƒˆH‹ýà+H‰ƒH‹÷à+H‰ƒ˜H‹9á+H‰ƒ ƒ=Kö+tðÿ Ø+…Ðë ÿ Ø+…ÂH‰Ø[Ãf„H‰\$àL‰d$ðH‰ûH‰l$èL‰l$øHƒì(L‹æ¬+I‰ôM…Û…7Hƒÿw$H‹\$H‹l$H‰÷L‹d$L‹l$ HƒÄ(éLûÿÿ@Hƒÿ¸ HFØHÇÀðÿÿÿdH‹(H…턯¾1Àƒ=™õ+t ð±u…?ë ±u…3L‰âH‰ÞH‰ïè2åÿÿH…ÀI‰Å„Žƒ=_õ+t ðÿM…"ë ÿM…I‹EøIMð¨u¨º su+H9ê…L‰èH‹\$H‹l$L‹d$L‹l$ HƒÄ(ÃfDHáüH‹ëÉ@Ht3 1ÿè<ìÿÿH…ÀH‰Å…`ÿÿÿE1íë±Hý s„•ƒ=Äô+t ðÿM…£ë ÿM…˜¾1Àƒ=Ÿô+tð±5eÖ+…–ë ±5VÖ+…‡¿ sL‰âH‰Þè0äÿÿI‰Åƒ=fô+tðÿ -Ö+…}ë ÿ Ö+…o½ sM…í„ÿÿÿéîþÿÿHƒ=fÞ+HDèƒ=#ô+tðÿ êÕ+…Yë ÿ ÜÕ+…KH‰ïL‰æèKëÿÿH…ÀH‰Å„ÅþÿÿL‰âH‰ÞH‰Çè¡ãÿÿI‰Åƒ=×ó+t ðÿM…/ë ÿM…$éwÿÿÿH‹T$(H‹\$H‹l$L‹d$L‹l$ HƒÄ(Aÿã¹Ð€Oº*¾ˆ÷N¿øzOèâ“ýÿfH‰\$ðH‰l$øH‰ûHƒìH‰õHÇIª+茴ÿÿH‰îH‰ßH‹l$H‹\$HƒÄé#ýÿÿSH‰ûH‰÷@öÇH‰ÖuH‰øHÁèHPÿH…Ât¸[Ãf„H…ÿtëH‹ì©+H…ÀuèÚüÿÿH‰ÂH…Ò¸ tÒH‰0À[ÃH‹T$ÿÐH‰Âëãf.„H‰\$àH‰l$èH‰óL‰d$ðL‰l$øHƒì8H‹FH‰ýHƒøI‰À†ßH‹·xH9ֆϨ…éL,I‹}Hƒÿ†ÐHƒçøH9þ†ÃH9ÊI‰ÔsbL9mX„øAöD=f…ûIüL9á‡ïI‹UI‹uL;j…¾L;n…´I}ÿH‰rH‰Vv I‹u H…ö…íI‰ÀL‰àH)ÈHƒøvdAƒàHý sH4 „oHƒÉL ÁH‰K¹H‰ÂH‰ïHƒÊH ÊH‰VHƒLº莾ÿÿHCH‹\$H‹l$ L‹d$(L‹l$0HƒÄ8Ã1ÀL‰ÁHý s•ÀƒáHÁàL áH ÁH‰KJƒL#뺄H<:Hq H9÷ƒïHqñH‰ïH‰T$H‰ $èªÍÿÿI‰Ä1ÀH‹T$M…äH‹ $„yÿÿÿID$ðI‹t$øL9è„8HƒêH‰ÐHÁèƒø†²ƒø Hs‡ÏH‹SƒøI‰$H‹VI‰T$H‹VI‰T$v@H‹VƒøI‰T$H‹V I‰T$ v)H‹V(ƒø I‰T$(H‹V0I‰T$0uH‹F8I‰D$8H‹F@I‰D$@ºH‰ÞH‰ïè`½ÿÿL‰àéÎþÿÿ„I È1ÉL‰Cé“þÿÿf1ÒHý s•ƒàH)ÏHÁâH ÈHƒÏH ÐH‰CH H‰EXH‰xHCé}þÿÿ€L‰çèXLë†L;n(f…I‹}(L;o f…ëHƒz „¾H‰~(I‹U(H‰r éÛýÿÿfDHƒæøL$2L9áwDL‹CéÂýÿÿ¾[mO‹=«¦+HSèÞ¨ÿÿ1Àéýýÿÿ¾wmOëã¹oOº>¾ˆ÷N¿”mOèçýÿ¹oOº¥¾ˆ÷N¿¸}OèÎýÿ‹=\¦+L‰ê¾ªkOH‰ $臨ÿÿH‹CH‹ $éGýÿÿ¹oOº¾ˆ÷N¿ªmOè‘ýÿI9õtOH‰r I‹u H‰z(H‰V(I‹u(H‰V é ýÿÿ¹oOºc¾ˆ÷N¿}OèVýÿ¹oOºc¾ˆ÷N¿h}Oè=ýÿH‰R(H‰R éÍüÿÿH‰\$èH‰l$ðL‰d$øHƒìL‹g‹[Ù+H‹/AöÄ„°IƒäøƒèIìI…Ä…¶H\H÷ÐHóH!ÃI9Üu H‰øH‹$H‹l$L‹d$HƒÄÃf.„H)ï1À¹H‰ÚL‰æèë‡1ÿHƒøÿtÃH<(@öÇ…ŠH‹H9èuiH‰ÚL)ãH)ÂH‰ÐHƒÈH‰GHÂØ+H;ÃØ+H‰´Ø+v‚H‰³Ø+évÿÿÿ¹oOºÛ ¾ˆ÷N¿3lOè=Žýÿ¹oOºà ¾ˆ÷N¿è}Oè$Žýÿ¹oOºò ¾ˆ÷N¿·mOè Žýÿ¹oOºð ¾ˆ÷N¿~OèòýÿfH‰l$ØL‰d$àH‰ýH‰\$ÐL‰l$èI‰ôL‰t$ðL‰|$øHƒì8L‹A¤+M…Û…\H…ö„H…ÿ„H‹GøLoðI‰ÇIƒçøL‰úH÷ÚI9Õ‡AöÅ…Hƒþ¿‡tHVA¾ H‰ÑHƒáðHƒúLGñ¨…먻 s…ƾ1Àƒ=Øì+t ð±3…Lë ±3…AL‰úL‰ñL‰îH‰ßèàùÿÿH‰Âƒ=¦ì+t ðÿ …6ëÿ …,H…Ò„H‹BøHrð¨u¨¹ s…H9Ë…”H‰ÕH‰èH‹\$H‹l$L‹d$L‹l$ L‹t$(L‹|$0HƒÄ8ÃDH…ÿ„ïèêâÿÿ1íëÃfDL‰èH%üH‹é)ÿÿÿ€L‰öL‰ïè-ýÿÿH…ÀtHhëfHæüH‹érÿÿÿIGøI9ƆpÿÿÿL‰çèKñÿÿH…ÀH‰ÃtsIWðH‰îH‰ÇH‰ÝèñGL‰ïèé·ÿÿéAÿÿÿ@HÇÀÐÿÿÿ1ídÇ é(ÿÿÿL‰çèñÿÿH…ÀI‰Ät(IWøH‰îH‰ÇL‰åè¦G1ÒL‰îH‰ßè9¸ÿÿéñþÿÿ@1íéæþÿÿf„L‰çH‹\$H‹l$L‹d$L‹l$ L‹t$(L‹|$0HƒÄ8é–ðÿÿ‹=¢+H‰ê¾ÐmO1íè1¤ÿÿé™þÿÿH‹T$8H‹\$H‹l$L‹d$L‹l$ L‹t$(L‹|$0HƒÄ8Aÿã¹oOºÛ¾ˆ÷N¿€~Oè‹ýÿf„H‰\$ðH‰l$øH‰ûHƒìH‰õHÇi¡+HÇf¡+豫ÿÿH‰îH‰ßH‹l$H‹\$HƒÄéØüÿÿ„AWAVAUATUSHƒìƒ=;¡+‹-õÔ+ˆH‹¡+A‰í» sE1äD‹ptD‰òƒÊ‰Pt¾1Àƒ=ê+t ð±3…¼ë ±3…±H‹CXH…À„H‹x1É1öH‹DóH…Àt@H‹PH‹@HƒâøHÑH…ÀuìHƒÆHƒþ uÔH‰øHsXH»HHƒàøHÁDH‹FH9ðt€H‹PH‹@HƒâøHÑH9ðuìHƒÆH9þuÓL‹»xH‹=- +D‰â¾ëmOD‰ø)ȉD$1Àè-äþÿH‹= +D‰ú¾ömO1ÀD‰|$ èäþÿ‹T$H‹=ïŸ+¾nO1Àèûãþÿl$ Dl$ƒ= é+t ðÿ …Ñëÿ …ÇH‹›hHû stAƒÄé½þÿÿH‰ßèå¢ÿÿH‹CXéÝþÿÿH‹ ŒŸ+º¾¿(nOèPýþÿH‹=qŸ+‰ê¾ömO1Àè{ãþÿH‹=\Ÿ+D‰ê¾nO1Àèeãþÿ‹Ó+H‹=@Ÿ+¾=nO1ÀèLãþÿH‹Ó+H‹=&Ÿ+¾VnO1Àè2ãþÿH‹Ÿ+D ptHƒÄ[]A\A]A^A_Ãèc©ÿÿéïýÿÿfffff.„U‰ýS‰óHƒì‹Ÿ+…Òˆ¸¾1Àƒ=úç+tð±5ÀÉ+…Öë ±5±É+…Ç¿ sƒÅèÞ¡ÿÿƒý v9º@ƒ=¹ç+tðÿ €É+…µë ÿ rÉ+…§HƒÄ‰Ð[]Éíÿ$íX€O€1Òû w¶…Û¸tHcÛ° HƒÃH‰ÚHƒâðHƒûHGÂH‰Ò+ºë‡€…ÛŽoÿÿÿHcÛºH‰¹Ñ+édÿÿÿ@‰¶Ñ+Ç´Ñ+ºéFÿÿÿfD1Òûw HcÛ²H‰jÑ+Ç„Ñ+éÿÿÿHcÛÇoÑ+ºH‰7Ñ+éúþÿÿf.„HcÛÇGÑ+ºH‰Ñ+éÒþÿÿf‰bÑ+ºéÀþÿÿ‰n+ºé°þÿÿ…ÛŽŸþÿÿHcÛºH‰áÐ+é”þÿÿ@è{§ÿÿé>þÿÿfDAUATUSHƒì(L‹-WÈ+èÚQ‰ÃIýxs„I‹E¨uH‰ÂHƒâøHƒú‡Ò‹-ðœ+‰èƒàƒø„n@öÅ…ôƒå…Ž1ÿÿ£œ+I‰ÄH‰ÅAƒäuH‹8Ð+HcÛHKÿIT HDHH!ÈH)ÃH‰ßÿlœ+H…ÀI‰Å„+H‹)Ç+H…ÒtÿÒL+-CÐ+Lå1ÀH‰-—Ç+N,+L)ãHƒËL‰-¥Ï+H‰]HƒÄ([]A\A]ÃfD¸L)àI‰Äéqÿÿÿ„¨„&ÿÿÿöõÆ+uH‹àÏ+HYÏ+ITH9Â…ÿÿÿHƒÄ(1À[]A\A]ÃHt$1ɺL‰ïÆD$I‰äèÆH9àI‰Àv@IƒèM9àAÆ0wóI‰àH‹™æ+‰ï¹pnO¾@oOH‹¸ kOH…ÒHDЃç1ÀèLCÿÿé¬þÿÿ€‰ïºpnO¾üÀNƒç1Àè*CÿÿéŠþÿÿHÇÀÐÿÿÿdÇ ¸ÿÿÿÿéôþÿÿè˜Ñýÿ„HƒÿÿSH‰û„¾1Àƒ=$ä+tð±5êÅ+…>ë ±5ÛÅ+…/èÀýÿÿ1ö1Ò…ÀxHs¿ sèZÀÿÿH‰ÂH‰Æƒ=Ýã+tðÿ ¤Å+…ë ÿ –Å+… H…Òt|H‹BøHzðH‰ÂƒâHƒúHÒHƒàøHƒâøHƒÂH)ÐH9Ãs?H‰ÂH H)ÚHúÿwëMDHêÿHéÿHúÿv1H-ÿÆÿH9ÃrÛH‰øHÁïH‰òHÁè 1Ç@ˆ<H‰Ð[Ãf.„‰Â(ÚˆëÔ€HÇÀÐÿÿÿ1ÒdÇ ëÏfffff.„HÇÀðÿÿÿSH‰ûdHƒ8ÿt^¾1Àƒ=àâ+tð±5²Í+…8ë ±5£Í+…)ƒ=ºâ+tðÿ Í+…2ë ÿ Í+…$H‰ß[éèÿÿ@H=}Í+>Gt[H‰þ¿ séå¾ÿÿè0üÿÿ‰Â1À…Òˆ‹Hs¿ sèÆ¾ÿÿH…ÀtxH‹PøHxðH‰ÑƒáHƒùHÉHƒâøHƒáøHƒÁH)ÊH9Ós>H‰ÑH4H)ÙHùÿwë<HéÿHîÿHùÿv"HêÿÆÿH9ÓrÚH‰úHÁïHÁê 1×@ˆ<[ÉÑ(Ùˆ ëäfffff.„AWAVAUI‰ýATUSH‰óHƒì8Hƒþÿ„¢H…ÿ„êH…ö„ÀA¾1íD‰ö‰èƒ=|á+tð±5BÃ+… ë ±53Ã+… Ht$(L‰ïèЗÿÿI‰Äƒ=Fá+tðÿ Ã+…ü ë ÿ ÿÂ+…î M…ä„^LCI‹D$Iƒø¿‡ L{º D‰öI‰ÒM‰ùIƒáðIƒÿMGÑHƒàøH‰D$‰èƒ=Ýà+tð±5£Â+…± ë ±5”Â+…¢ AöD$…H‰T$L‰L$ècúÿÿ…ÀH‹T$L‹L$ˆ©H‰ÑH‹T$IƒÿIGÉL‰æ¿ sè¤íÿÿH‰ÅH…í„€H‰êƒ=^à+tðÿ %Â+…R ë ÿ Â+…D H…í„…H‹EøH}ðH‰ÁƒáHƒùHÉHƒàøHƒáøHƒÁH)ÈH9ÃsHH‰ÁH4H)ÙHùÿw'éç€HéÿHîÿHùÿ†ÅH-ÿÆÿH9Ãr×H‰øHÁïH‰ÕHÁè 1Ç@ˆ<HƒÄ8H‰è[]A\A]A^A_ÃL‰ÖL‰çL‰D$L‰T$è»ðÿÿH…ÀHhL‹D$L‹T$…ÿÿÿH‹D$L‰íHƒèI9†÷þÿÿL‰D$èùÿÿ…ÀL‹D$xdL‰Æ¿ s读ÿÿH…ÀH‰ÅtOH‹T$L‰îH‰ÇHƒêèc;L‰çè[«ÿÿé®þÿÿfD‰Á(Ùˆ é=ÿÿÿ@HÇÀÐÿÿÿ1ídÇ é8ÿÿÿH‹D$(1Ò1íöésþÿÿ„1ö1í臶ÿÿéÿÿÿ‹=°•+L‰ê¾ÐmOèß—ÿÿ1öH‰ßèeúÿÿH‰Åéêþÿÿffff.„ATHƒÿUH‰ýSH‰ó†,Hƒÿ¸ HFèHƒþÿ„%LfIƒü¿‡¾1Àƒ=IÞ+tð±5À+…[ ë ±5À+…L èå÷ÿÿ1ö1Ò…ÀxL‰âH‰î¿ sèÍÍÿÿH‰ÂH‰Æƒ=Þ+tðÿ Ç¿+…2 ë ÿ ¹¿+…$ H…ÒtYH‹BøHzðH‰ÂƒâHƒúHÒHƒàøHƒâøHƒÂH)ÐH9ÃsH‰ÂH H)ÚHúÿwAf‰Â(ÚˆH‰øHÁïH‰òHÁè 1Ç@ˆ<[]H‰ÐA\ÃDHêÿHéÿHúÿvÁH-ÿÆÿH9ÃrÛë¸Hƒþÿu*f.„HÇÀÐÿÿÿ1ÒdÇ H‰Ð[]A\ľ1Àƒ=Ý+tð±5ؾ+…b ë ±5ɾ+…S è®öÿÿ1ö1Ò…ÀxHs¿ sèH¹ÿÿH‰ÂH‰Æƒ=ËÜ+tðÿ ’¾+…; ë ÿ „¾+…- H…Ò„ ÿÿÿH‹BøHzðH‰ÂƒâHƒúHÒHƒàøHƒâøHƒÂH)ÐH9ÃßþÿÿH‰ÂH H)ÚHúÿw éÀþÿÿHêÿHéÿHúÿ†¥þÿÿH-ÿÆÿH9Ãr×é™þÿÿH:Hì€è3„HÄ€é+ÿÿH=ìÆ+Hì€è„HÄ€é¦ÿÿH:Hì€è)„HÄ€éÿÿH=²Æ+Hì€è „HÄ€é.ÿÿH=‡½+Hì€è»ƒHÄ€é4›ÿÿH=h½+Hì€è̃HÄ€éT›ÿÿH=I½+Hì€è}ƒHÄ€é¡ÿÿH=*½+Hì€èŽƒHÄ€éN¥ÿÿH= ½+Hì€è?ƒHÄ€é(¦ÿÿH=ì¼+Hì€èPƒHÄ€éè¦ÿÿI}Hì€èƒHÄ€é;¬ÿÿI}Hì€èƒHÄ€éD­ÿÿI}Hì€èü‚HÄ€é"¯ÿÿI}Hì€è°‚HÄ€éF¯ÿÿI}Hì€èÄ‚HÄ€éa¯ÿÿH:Hì€èy‚HĀ騲ÿÿH:Hì€èŽ‚HÄ€édzÿÿI?Hì€èC‚HÄ€é ÌÿÿI?Hì€èX‚HÄ€é;ÎÿÿH=áÄ+Hì€è ‚HÄ€é€ÑÿÿH=ÂÄ+Hì€è‚HÄ€éŸÑÿÿH:Hì€èÏHÄ€é®ÑÿÿH:Hì€è´HÄ€éUÒÿÿH:Hì€è™HÄ€éÄÔÿÿH=RÄ+Hì€èzHÄ€éÐÔÿÿH=3Ä+Hì€è‹HÄ€éòÔÿÿI<$Hì€è?HÄ€éÖÿÿI<$Hì€èSHÄ€éWÖÿÿH=к+Hì€èHÄ€éÎ×ÿÿH=±º+Hì€èHÄ€éã×ÿÿI<$Hì€èÉ€HÄ€éØÿÿH=vº+Hì€èÚ€HÄ€é-ØÿÿI<$Hì€è¾€HÄ€éHØÿÿH;Hì€ès€HÄ€éyÙÿÿH;Hì€èˆ€HÄ€é£ÙÿÿH=º+Hì€è9€HÄ€é'ÚÿÿH=æ¹+Hì€èJ€HÄ€é?ÚÿÿH;Hì€è/€HÄ€é­ÚÿÿH;Hì€èäHÄ€éaÛÿÿH;Hì€èùHÄ€é€ÛÿÿH=v¹+Hì€èªHÄ€éøÛÿÿH=W¹+Hì€è»HÄ€éÜÿÿH;Hì€è HÄ€é¤ÜÿÿH;Hì€èUHÄ€éÝÿÿH;Hì€èjHÄ€é,ÝÿÿH;Hì€èOHÄ€é|ÝÿÿH≠+Hì€èHÄ€éŠÝÿÿH=­¸+Hì€èHÄ€éŸÝÿÿH=ޏ+Hì€èò~HÄ€éÞÿÿH;Hì€è×~HÄ€é,ÞÿÿH=T¸+Hì€èˆ~HÄ€éÞÿÿH=5¸+Hì€è™~HÄ€éàÿÿH}Hì€èM~HÄ€é±àÿÿH}Hì€èa~HÄ€éÍàÿÿH}Hì€èE~HÄ€éLáÿÿH=·+Hì€èö}HÄ€éZáÿÿH=£·+Hì€è~HÄ€éráÿÿH=„·+Hì€èè}HÄ€é–áÿÿH}Hì€èÌ}HÄ€éÀáÿÿH;Hì€è}HÄ€é¤èÿÿH;Hì€è–}HÄ€é¹èÿÿH;Hì€èK}HÄ€é4ëÿÿH;Hì€è`}HÄ€éìÿÿH=ݶ+Hì€è}HÄ€éíÿÿH=¾¶+Hì€è"}HÄ€é:íÿÿH=Ÿ¶+Hì€èÓ|HÄ€é²ðÿÿH=€¶+Hì€èä|HÄ€éØðÿÿH=m¿+Hì€è•|HÄ€é¸ñÿÿH=N¿+Hì€è¦|HÄ€é½ñÿÿH=#¶+Hì€èW|HÄ€éÞòÿÿH=¶+Hì€èh|HÄ€éóòÿÿH=åµ+Hì€è|HÄ€é?óÿÿH=Ƶ+Hì€è*|HÄ€éóÿÿH=§µ+Hì€èÛ{HÄ€é•õÿÿH=ˆµ+Hì€èì{HÄ€é½õÿÿH=iµ+Hì€è{HÄ€éŽöÿÿH=Jµ+Hì€è®{HÄ€é´öÿÿHƒìè§=ºHƒøÿHDÂHƒÄÃH‰ùƒáH‰øI¸ÿþþþþþþþt÷ÙƒÁ€8„ÂHÿÀÿÉuðfDH‹HƒÀL‰ÂHÊsaH1ÊL ÂHÿÂuVH‹HƒÀL‰ÂHÊsGH1ÊL ÂHÿÂu€zHBt4€zHBt*€zHBt €zHBt€zHBt HƒÂH‰ðH9ÖwžH9ðHGÆH)øóÃfH9ðHGÆH)øÃH‰ÐëâH‰øD¶HƒÇ„ÉuõHƒïHƒúvBI‰ÐIÁè¶„ɈOtY¶N„ɈOtN¶N„ɈOtC¶NHƒÇ„Ɉt5HƒÆIƒèuȃâH…Òuë*f.„HƒÆHƒêt¶HƒÇ„ɈuéóÀ„ÉtóÆGÃE1À1ÀHƒúvpH‰ÑHÁé¶D¶D8Àtf¶ÀE¶ÀD)ÀÃD„Àtì¶GD¶FD8ÀuÞ„ÀtÚ¶GD¶FD8ÀuÌ„ÀtȶGD¶FD8Àuº„Àt¶HƒÇHƒÆHƒéušƒâH…ÒtE¶D¶„Àt•D8Àu1ÉHƒêt-I‰ÈHƒéI÷ØB¶DF¶DD8À…iÿÿÿ„À„aÿÿÿHƒêuÓE¶À¶ÀD)ÀÃHOÿHƒúH‰øH‰ÏvpI‰ÑIÁéD¶HyE„ÀDˆA„$D¶FHyE„ÀDˆA„D¶FHyE„ÀDˆA„øD¶FHyE„ÀDˆA„âHƒÆIƒétH‰ù뚃ℼ€¶HƒÇHƒÆHƒêˆ„ž„ÉuåI‰ùI÷ÑAƒáI9ÑLGÊM…É„¡H‰ÖH‰ùE1ÀfIƒÀHƒÁHƒîM9ÁÆwìL9Êt\L)ÊI‰ÒIÁêM‰ÓIÁãM…Ût9fïÀNL1ÿfDI‰øHƒÇIÁàI9úfCwêLÙL)ÞL9Út€HƒÁHƒîÆuóóÃf„H‰ÁH)ùHT ÿH…Ò…GÿÿÿóÃH‰ÖH‰ùéxÿÿÿfnÎH‰ùf`ÉHƒçðfïÒf`ɃÎÿfofpÉH)ùfoØHftÁftÚÓæf×Ðf×Ë!ò!ñ1À‰Ö Îu"foHfoØftÁftÚf×Ðf×Ë‰Ö ÎtÞD¼ÉA¸ÿÿÿÿ¹u ½ÒtÈHDðëÁD)ÉAÓèD!½ÒtHDðÃH‰úI‰øHì¹ H‰ç1ÀüóH«H‰ðfŠ„Ét(ˆ ŠHöÁÿtˆ ŠHöÁÿtˆ ŠHHƒÀˆ öÁÿuÒHBüfffff.„HƒÀŠ8 t!ŠH8 tŠH8 t ŠH8 uÝHÿÀHÿÀHÿÀHÄ1ÒÉHDÂÃAWH‰ðA¸1öAVAUATI‰ÌUH‰ýHÇÇÿÿÿÿSH‰ÓºHìhë DH‰ÊH‰þA¹H)úI‰ÐH‰÷L‰ÊH‰ÎH 2I9ÌvDL E¶ 9D8 rÍtHNºA¹ëÉfL9„†LJH‰ñL‰ÂH‰þ믄A¹º1öIÇÅÿÿÿÿë%f.„H‰ÊL‰îAºL)êI‰ÑI‰õL‰ÒH‰ÎH 2I9ÌvLN+E¶D8 wÍtHNºAºëÉf.„L9Ê„èLRH‰ñL‰ÊL‰îë§„IƒÅHƒÇI9ýsM‰ÁI‰ýL‰d$HT$`HŒ$`ó~L$flÉfoÁDfHƒÂH9ÊuóM…ät$IL$ÿ1Ò€¶4HƒÂH‰Lô`HƒéI9ÔwêJ< M9íH‰ÞL‰éó¦…·MUÿL‰âHÇD$XL)ÊL)l$X1ÉJtH‰T$8J+M|$ÿL‰d$(E1öH‰t$@IuþI‰ÌH‰T$HH‰ÇH‰ÙH‰t$PL‰L$0€H‹\$(1öH‰L$L‰T$ IH‰ÚH)úH|=èûH…ÀH‹L$L‹T$ …õH…Û„ì¶DÿH‹DÄ`H…À…íM9îL‰èICÆI9ÇvGH4HT¶>B:<"…§JT HTëD¶F¶:HƒÆHƒÂA8ø…HƒÀI9ÇwÞM9îƒ$H‹t$@B¶L‰ÐB:&… H‹T$PH‹t$HLâHTëfD¶Fþ¶:HƒîHƒêLHÿA8øuL‰ÈI9ÆrßIƒÆL9ð‚ÙLd$0L‹t$8H‰ßéàþÿÿLd$XE1öIÄëë1ÀHÄh[]A\A]A^A_ÃM…ötH;D$0sH‹D$8E1öIÄë¾L‰âMMÿHÇD$PL)êN+IuþL9êMt$ÿL‰d$(IBÕL)l$PE1ÿHƒÂH‰t$HH‰ÇH‰T$XJT H‰\$@M‰ÄH‰T$8IUH‰T$0fDH‹\$(1öL‰L$ IH‰ÚH)úH|=è@H…ÀL‹L$ …?ÿÿÿH…Û„6ÿÿÿ¶DÿH‹DÄ`H…À…»M9õsNJD=A¶$B:(…•H‹T$0L‰áL‰èLúHTë„¶y¶2HƒÁHƒÂ@8÷ulHƒÀL9ðrãIƒùÿtKH‹t$@H‹T$8B¶B::uXH‹T$HL‰áL‰ÈLúHTë¶yþ¶2HƒéHƒê@8÷u,HƒèHƒøÿuâJD=éwþÿÿL‰èDL|$PIÇH‰ßéðþÿÿL|$XëñL‰èIƒÆL9ðƒ'þÿÿJD%é>þÿÿL‰îAºéÀûÿÿH‰þA¹é*ûÿÿAWI‰ÿAVAUATUSH‰óHƒìH¶„À„ܶ„Òt9H‰õH‰ù¾ë D¶U„Òt88ДÀHƒÁHƒÅ!ƶ„Àuâ€}tE1ÿHƒÄHL‰ø[]A\A]A^A_À@„öuâ¾3Iè÷ïÿÿH…ÀI‰ÄtËH‰èH)ØHƒøH‰Ã„sIÇH)ŸL‰úL)âM9çHCÂHƒûv&HƒÄHH‰ÙH‰ê[]L‰çH‰ÆA\A]A^A_éÿùÿÿ€A¹º1öHÇÇÿÿÿÿëfH‰ÊH‰þA¸H)úI‰ÑH‰÷L‰ÂH‰ÎH 2H9ËvLLD=E¶D8D rËtHNºA¸ëÇ„L9Ê„†LBH‰ñL‰ÊH‰þë§„A¸º1öIÇÅÿÿÿÿë%f.„H‰ÊL‰îAºL)êI‰ÐI‰õL‰ÒH‰ÎH 2H9ËvLNT-E¶D8T wËtHNºAºëÇ„L9„LRH‰ñL‰ÂL‰îë§„IƒÅHƒÇI9ýsM‰ÈI‰ýJ|M9íH‰îL‰éó¦…dH‰ÚMMÿHÇD$8L)ÂL)l$8Jt-K H‰T$IUþE1öE1ÿH‰t$(H‰L$ H‰ÇL‰éH‰T$0L‰D$DM,1öH‰L$L‰ $L‰êH)úI<<èzH…ÀH‹L$L‹ $…´ýÿÿM…í„«ýÿÿI9ÎH‰ÈICÆH9ÃvJHtI¶>B:<:…ªJT8Ië €D¶F¶:HƒÆHƒÂA8ø…HƒÀH9ÃwÞI9΃ÄH‹t$ B¶T L‰ÈB:>…¬H‹T$0H‹t$(LúIëfD¶Fþ¶:HƒîHƒêLPÿA8øuL‰ÐI9ÆrßIƒÆI9Ƈ L|$L‹t$L‰ïéøþÿÿL|$8E1öIÇëëH‰ÚHÇD$0IML)êIuþM}ÿL9êND-H‰L$IBÕL)l$0E1öHƒÂH‰t$(H‰ÇH‰T$8K,H‰l$ H‰T$I,1öL‰D$H‰êH)úI<<èH…ÀL‹D$…TüÿÿH…í„KüÿÿL9ëvGH‹L$A¶L‰èB:1…”H‹T$L‰ÁL‰èLòIë¶y¶2HƒÁHƒÂ@8÷ulHƒÀH9ÃwãIƒÿÿ„¡H‹T$ O4B¶:C::uUH‹T$(L‰ÁL‰øLòIë¶yþ¶2HƒéHƒê@8÷u,HƒèHƒøÿuâM‰×é©ûÿÿf.„Lt$0IÆH‰ïéÿÿÿLt$8ëñH‰Èé‚þÿÿH‰þA¸é"üÿÿL‰îAºé¤üÿÿH‰õ¾éNûÿÿO4ë O<<éHûÿÿM‰çé@ûÿÿI‰øHì¹ H‰ç1ÀüóH«H‰ÐI‰ÑH‹L‰ÂHƒúHDÐH…Ò„¯H‰ðŠ„Ét(ˆ ŠHöÁÿtˆ ŠHöÁÿtˆ ŠHHƒÀˆ öÁÿuÒHBüHƒÀŠ„ t!ŠH„ tŠH„ t ŠH„ uÝHÿÀHÿÀHÿÀHPüHƒÂŠ 8 t!ŠJ8 tŠJ8 t ŠJ8 uÝHÿÂHÿÂHÿÂH9ÂtÆ€ùHJHEÑI‰HÄÃ1ÀI‰ëñfnÎH‰ùf`ÉHƒçðH…Òf`ÉtDƒÎÿfofpÉH)ùftÁHÊÓæf×È!ñ¾u"H9òvfo7HvftÁf×È…ÉuH9òwæ1ÀÃHD7ð¼ÉHÈHtðH9òvèÃAWHƒúAVAUATUS†5@öÆI‰ðt7¶¶.H)ètéQ¶¶H)È…?HƒÆHƒÇHƒê@öÆI‰ðuÜI‰ûL‰ÀAƒã…<H‰ÑHÁéH‰ËƒãHƒû„­sSH…É„²L‹L‹H‰ûM9ÊH‹kH‹p„BH\$ðHD$øL‰T$ðL‰L$ø@¶ ¶0HƒÃHƒÀH9ñtíH)ñëaHƒû„öL‹L‹H_ðI@ðHƒÁM9ÊH‹kH‹p„†HL$ðHD$øL‰T$ðL‰L$ø€¶1¶HƒÁHƒÀH9ÞtíH‰ñH)ÙH…ɉÈuFH‰ÖƒâHƒæøH<>LÆH…Òt.¶¶.H)ëu7HOëH‰È¶H)ø¶0H)ÃuHƒÁHƒêuä1À[]A\A]A^A_À‰Ø[]A\A]A^A_ÃI‰ÒAÁãA¹@IÁêH‰ûE)ÙL‰ÑHƒãøƒáHƒù„Mƒ}M…Ò„^ÿÿÿH‹6L‹;L‹sHƒÃH‰t$èD‰ÉL‰öL‹cHÓæD‰ÙL‹hIÓïL þH;t$è„°H‹D$èH\$øH‰t$øH‰D$ðHD$ðD¶3¶HƒÃHƒÀH9ÎtíH)ÎH‰ñéãþÿÿHƒù„XH‹6I@ðL‹#H‹kIƒÂHƒëH‰t$èD‰ÉI‰íL‹{IÓåD‰ÙH‹pIÓìM åL;l$è„PH‹D$èH\$øL‰l$øH‰D$ðHD$ð€¶3¶HƒÃHƒÀH9ÎtíésÿÿÿH‹/H‹6H_øI@øHƒÁH9õL‹SL‹H„ùýÿÿHL$øHD$ðH‰l$øH‰t$ðf„¶1¶HƒÁHƒÀH9ÞtíéþÿÿHƒéH‹/H‹6tDH_I@H9õL‹L‹„DýÿÿH\$øHD$ðH‰l$øH‰t$ð¶ ¶0HƒÃHƒÀH9ñtíéSýÿÿH9õ„·ýÿÿH\$øHD$ðH‰l$øH‰t$ð¶ ¶0HƒÃHƒÀH9ñtíéýÿÿL‹3L‹cI@øL‹.IƒÂH‹HL‰æH‹kH‰L$èD‰ÉHÓæD‰ÙIÓîL öL9þÿÿH\$ðHD$øH‰t$ðL‰l$øf¶ ¶0HƒÃHƒÀH9ñtíé³üÿÿIƒêH‹+L‹{H‹6trM`HƒÃI‹$D‰ÉL‹3H‰D$èL‰øHÓàD‰ÙHÓíH èH9ð„¤H‰D$ðH\$ðHD$øH‰t$ø¶3¶HƒÃHƒÀH9ÎtíéÀýÿÿHƒé„ëþÿÿHƒÃ HƒÀ é¢þÿÿD‰ÉIÓçD‰ÙHÓíM‰ùI éI9ñ„ƒüÿÿH\$ðHD$øL‰L$ðH‰t$ø€¶3¶HƒÃHƒÀH9Îtíé[ýÿÿIƒêt¬HƒÃ L` é5ÿÿÿL‰àféèüÿÿAUH‰øH)ðATI‰üUH‰ýSH‰óHƒìH9Ђ¦HƒúH‰ÐvfH÷ßI‰ÕƒçI)ýH…ÿt'H‰ùH‰òL‰à¶HƒÂˆHƒÀHƒéuíH>I,<öÄL‰êH‰ÞH‰ïHÁêèÒL‰èHƒàøHÃHÅL‰èƒàH…Àtf.„¶HƒÃˆUHƒÅHƒèuìHƒÄL‰à[]A\A]ÃfDHƒúH2H,:H‰ÐvoH‰ïI‰ÕƒçI)ýH…ÿt(H‰ùH‰ÚH‰èDHƒêHƒèHƒé¶2@ˆ0uìH)ûH)ýöÃtQL‰êH‰ÞH‰ïHÁêè×L‰èHƒàøH)ÃH)ÅAƒå„tÿÿÿL‰èDHƒëHƒíHƒè¶ˆUuìéSÿÿÿ€L‰êH‰ÞH‰ïHÁêèë­@L‰êH‰ÞH‰ïHÁêè~éçþÿÿH‰ò1öë f„HƒúH‰øu@ˆ7ÃI¹I‰ÐH¶ÖI¯ÑIøÑLÇL×Cÿ$ÃÃfH‰—wÿÿÿH‰—ÿÿÿH‰W‡H‰WH‰W—H‰WŸH‰W§H‰W¯H‰W·H‰W¿H‰WÇH‰WÏH‰W×H‰WßH‰WçH‰WïH‰W÷ˆWÿÃfH‰—pÿÿÿH‰—xÿÿÿH‰W€H‰WˆH‰WH‰W˜H‰W H‰W¨H‰W°H‰W¸H‰WÀH‰WÈH‰WÐH‰WØH‰WàH‰WèH‰WðH‰WøÃH‰—vÿÿÿH‰—~ÿÿÿH‰W†H‰WŽH‰W–H‰WžH‰W¦H‰W®H‰W¶H‰W¾H‰WÆH‰WÎH‰WÖH‰WÞH‰WæH‰WîH‰Wöf‰WþÃH‰—uÿÿÿH‰—}ÿÿÿH‰W…H‰WH‰W•H‰WH‰W¥H‰W­H‰WµH‰W½H‰WÅH‰WÍH‰WÕH‰WÝH‰WåH‰WíH‰Wõf‰WýˆWÿÃfffff.„H‰—tÿÿÿH‰—|ÿÿÿH‰W„H‰WŒH‰W”H‰WœH‰W¤H‰W¬H‰W´H‰W¼H‰WÄH‰WÌH‰WÔH‰WÜH‰WäH‰WìH‰Wô‰WüÃfH‰—sÿÿÿH‰—{ÿÿÿH‰WƒH‰W‹H‰W“H‰W›H‰W£H‰W«H‰W³H‰W»H‰WÃH‰WËH‰WÓH‰WÛH‰WãH‰WëH‰Wó‰WûˆWÿÃffffff.„H‰—rÿÿÿH‰—zÿÿÿH‰W‚H‰WŠH‰W’H‰WšH‰W¢H‰WªH‰W²H‰WºH‰WÂH‰WÊH‰WÒH‰WÚH‰WâH‰WêH‰Wò‰Wúf‰WþÃfffff.„H‰—qÿÿÿH‰—yÿÿÿH‰WH‰W‰H‰W‘H‰W™H‰W¡H‰W©H‰W±H‰W¹H‰WÁH‰WÉH‰WÑH‰WÙH‰WáH‰WéH‰Wñ‰Wùf‰WýˆWÿÃff.„IÇÂI‰ùIƒáM)ÊIƒâL×M)ÐL~Cÿ$Óf.„ˆWó‰WôH‰Wøët@ˆW÷H‰Wøëg€ˆWÿë[ff.„ˆWõf‰WöH‰WøëCˆWýf‰Wþë7€ˆWû‰Wüë(„ˆWñf‰Wò‰WôH‰WøëˆWùf‰Wú‰Wüë@ƒ=ɰ+TIø szf.„L‰ÁHÁétR€HÿÉH‰H‰WH‰WH‰WH‰W H‰W(H‰W0H‰W8H‰W@H‰WHH‰WPH‰WXH‰W`H‰WhH‰WpH‰WxH¿€uµAƒàJ<LÖCÿ$ÃfD‹ qg+M9ÁMGÈvIøƒsÿÿÿL‰ÉIƒáøHÁétH’óH«H’M)ÈwAƒàJ<LˆCÿ$Ã@L‰ÁHÁéte€HÿÉHÃHÃWHÃWHÃWHÃW HÃW(HÃW0HÃW8HÃW@HÃWHHÃWPHÃWXHÃW`HÃWhHÃWpHÃWxH¿€u¥®øAƒàJ<LCÿ$ÃfHnÂflÀIø°ÉLÇL ïCÿ$Áf‡Pÿÿÿf‡`ÿÿÿf‡pÿÿÿfG€fGfG fG°fGÀfGÐfGàfGðÃf‡Oÿÿÿf‡_ÿÿÿf‡oÿÿÿf‡ÿÿÿfGfGŸfG¯fG¿fGÏfGßfGïˆWÿÃf‡Nÿÿÿf‡^ÿÿÿf‡nÿÿÿf‡~ÿÿÿfGŽfGžfG®fG¾fGÎfGÞfGîf‰WþÃf‡Mÿÿÿf‡]ÿÿÿf‡mÿÿÿf‡}ÿÿÿfGfGfG­fG½fGÍfGÝfGíf‰WýˆWÿÃf‡Lÿÿÿf‡\ÿÿÿf‡lÿÿÿf‡|ÿÿÿfGŒfGœfG¬fG¼fGÌfGÜfGì‰WüÃf‡Kÿÿÿf‡[ÿÿÿf‡kÿÿÿf‡{ÿÿÿfG‹fG›fG«fG»fGËfGÛfGë‰WûˆWÿÃf‡Jÿÿÿf‡Zÿÿÿf‡jÿÿÿf‡zÿÿÿfGŠfGšfGªfGºfGÊfGÚfGê‰Wúf‰WþÃf‡Iÿÿÿf‡Yÿÿÿf‡iÿÿÿf‡yÿÿÿfG‰fG™fG©fG¹fGÉfGÙfGé‰Wùf‰WýˆWÿÃf‡Hÿÿÿf‡Xÿÿÿf‡hÿÿÿf‡xÿÿÿfGˆfG˜fG¨fG¸fGÈfGØfGèH‰WøÃf‡Gÿÿÿf‡Wÿÿÿf‡gÿÿÿf‡wÿÿÿfG‡fG—fG§fG·fGÇfG×fGçH‰W÷ˆWÿÃf‡Fÿÿÿf‡Vÿÿÿf‡fÿÿÿf‡vÿÿÿfG†fG–fG¦fG¶fGÆfGÖfGæH‰Wöf‰WþÃf‡Eÿÿÿf‡Uÿÿÿf‡eÿÿÿf‡uÿÿÿfG…fG•fG¥fGµfGÅfGÕfGåH‰Wõf‰WýˆWÿÃf‡Dÿÿÿf‡Tÿÿÿf‡dÿÿÿf‡tÿÿÿfG„fG”fG¤fG´fGÄfGÔfGäH‰Wô‰WüÃf‡Cÿÿÿf‡Sÿÿÿf‡cÿÿÿf‡sÿÿÿfGƒfG“fG£fG³fGÃfGÓfGãH‰Wó‰WûˆWÿÃf‡Bÿÿÿf‡Rÿÿÿf‡bÿÿÿf‡rÿÿÿfG‚fG’fG¢fG²fGÂfGÒfGâH‰Wò‰Wúf‰WþÃf‡Aÿÿÿf‡Qÿÿÿf‡aÿÿÿf‡qÿÿÿfGfG‘fG¡fG±fGÁfGÑfGáH‰Wñ‰Wùf‰WýˆWÿÃfffff.„D‹ Áa+M9ÈT@M@€Iø€ffGfG fG0fG@fGPfG`fGpH¿€}ÅLÇLÛCÿ$ÀIƒùtªë„M@€Iø€fçfçGfçG fçG0fçG@fçGPfçG`fçGpH¿€}Å®øLÇLxCÿ$ÃHƒú szöÂt ¶ˆHÿÆHÿÇöÂt·f‰HƒÆHƒÇöÂt ‹‰HƒÆHƒÇöÂtH‹H‰HƒÆHƒÇâðt#„H‹L‹FH‰L‰GƒêHvHuåH‰øÃ‰ñƒát)HTøƒé¶ˆÿÁHvHuïffffff.„Húww‰ÑÁét`ÿÉH‹L‹FL‹NL‹VH‰L‰GL‰OL‰WHv H t6ÿÉH‹L‹FL‹NL‹VH‰L‰GL‰OL‰WHv H u¬fff.„ƒâ…ÝþÿÿH‰øÃL‹Á_+I9ÓLGÚL‰ÙIƒãøHÁétóH¥fL)ÚH÷Âøÿÿÿuƒâ…¡þÿÿH‰øÃ€L‹‰_+I9ÐLGÂL‰ÁIƒàÀHÁé„«L‰t$øL‰l$ðL‰d$èH‰\$àƒ=*¨+„ÀHÿÉH‹H‹^L‹NL‹VL‹^ L‹f(L‹n0L‹v8Ž€ŽÀH‰H‰_L‰OL‰WL‰_ L‰g(L‰o0L‰w8Hv@H@„HÿÉH‹H‹^L‹NL‹VL‹^ L‹f(L‹n0L‹v8H‰H‰_L‰OL‰WL‰_ L‰g(L‰o0L‰w8 @ €Hv@H@…Fÿÿÿé·HÿÉH‹H‹^L‹NL‹VL‹^ L‹f(L‹n0L‹v8Ž€ŽÀH‰H‰_L‰OL‰WL‰_ L‰g(L‰o0L‰w8Hv@H@t]HÿÉH‹H‹^L‹NL‹VL‹^ L‹f(L‹n0L‹v8@€H‰H‰_L‰OL‰WL‰_ L‰g(L‰o0L‰w8Hv@H@…JÿÿÿH‹\$àL‹d$èL‹l$ðL‹t$øL)ÂH÷ÂÀÿÿÿuƒâ?…·üÿÿH‰øÃffff.„H‰ÑHÁ鄨L‰t$øL‰l$ðL‰d$è@††@HÿÉH‹L‹FL‹NL‹VL‹^ L‹f(L‹n0L‹v8HÃLÃGLÃOLÃWLÃ_ LÃg(LÃo0LÃw8H‹F@L‹FHL‹NPL‹VXL‹^`L‹fhL‹npL‹vxHÃG@LÃGHLÃOPLÃWXLÃ_`LÃghLÃopLÃwxH¶€H¿€…Mÿÿÿ®øL‹d$èL‹l$ðL‹t$øƒâ…¸ûÿÿH‰øÃH‰ñƒáH‰út÷ÙƒÁŠ„Àˆ„¼HÿÆHÿÂÿÉuêI¸ÿþþþþþþþH‹HƒÆI‰ÁMÁƒ}I1ÁM ÁIÿÁurH‰HƒÂH‹HƒÆI‰ÁMÁs\I1ÁM ÁIÿÁuQH‰HƒÂH‹HƒÆI‰ÁMÁs;I1ÁM ÁIÿÁu0H‰HƒÂH‹HƒÆI‰ÁMÁsI1ÁM ÁIÿÁuH‰HƒÂésÿÿÿˆ„ÀtHÿˆ"„ät HÿÂHÁèëèH‰ÐÃHÇÀ ÿÿÿdH‹1ÀH9÷t.H‹Rpë „HƒÇD¶¶HƒÆA¶À‹‚+ŠuE„ÀuàóÃHÇÀ ÿÿÿH…ÒdH‹u1ÀÃDH9÷tóH‹Hpë DHƒÇD¶D¶HƒÆA¶Á‹B+u E„ÉtHƒêuØóÃH…Òu 1ÀÄH9÷tðH‹Ipë DHƒÇD¶D¶HƒÆA¶Á‹B+u E„ÉtHƒêuØóÃHƒú H‰øswöÂt ¶ˆHÿÆHÿÇöÂt·f‰HƒÆHƒÇ@öÂt ‹‰HƒÆHƒÇöÂtH‹H‰HƒÆHƒÇâðt@H‹L‹FH‰L‰GƒêHvHuåóÃH‰D$ø‰ñƒát4HTøƒéfff.„¶ˆÿÁHvHuïffffff.„Húww‰ÑÁét`ÿÉH‹L‹FL‹NL‹VH‰L‰GL‰OL‰WHv H t6ÿÉH‹L‹FL‹NL‹VH‰L‰GL‰OL‰WHv H u¬fff.„ƒâH‹D$ø…ËþÿÿóÃL‹qY+I9ÓLGÚL‰ÙIƒãøHÁétóH¥fL)ÚH÷ÂøÿÿÿuƒâH‹D$ø…þÿÿóÃ@L‹9Y+I9ÐLGÂL‰ÁIƒàÀHÁé„«L‰t$ðL‰l$èL‰d$àH‰\$؃=Ú¡+„ÀHÿÉH‹H‹^L‹NL‹VL‹^ L‹f(L‹n0L‹v8Ž€ŽÀH‰H‰_L‰OL‰WL‰_ L‰g(L‰o0L‰w8Hv@H@„HÿÉH‹H‹^L‹NL‹VL‹^ L‹f(L‹n0L‹v8H‰H‰_L‰OL‰WL‰_ L‰g(L‰o0L‰w8 @ €Hv@H@…Fÿÿÿé·HÿÉH‹H‹^L‹NL‹VL‹^ L‹f(L‹n0L‹v8Ž€ŽÀH‰H‰_L‰OL‰WL‰_ L‰g(L‰o0L‰w8Hv@H@t]HÿÉH‹H‹^L‹NL‹VL‹^ L‹f(L‹n0L‹v8@€H‰H‰_L‰OL‰WL‰_ L‰g(L‰o0L‰w8Hv@H@…JÿÿÿH‹\$ØL‹d$àL‹l$èL‹t$ðL)ÂH÷ÂÀÿÿÿuƒâ?H‹D$ø…¥üÿÿóÃf.„H‰ÑHÁ鄨L‰t$ðL‰l$èL‰d$à@††@HÿÉH‹L‹FL‹NL‹VL‹^ L‹f(L‹n0L‹v8HÃLÃGLÃOLÃWLÃ_ LÃg(LÃo0LÃw8H‹F@L‹FHL‹NPL‹VXL‹^`L‹fhL‹npL‹vxHÃG@LÃGHLÃOPLÃWXLÃ_`LÃghLÃopLÃwxH¶€H¿€…Mÿÿÿ®øL‹d$àL‹l$èL‹t$ðƒâH‹D$ø…¦ûÿÿóÃH‰Ðƒàÿ$ÅÀŒOH‹HƒïHƒîH‹NHƒÂH‰Gf„H‹F H‰O H‹N(H‰G(H‹F0H‰O0H‹N8H‰G8HƒÇ@Hƒê„ÒHƒÆ@H‹H‰H‹NH‰GH‹FH‰OH‹NH‰Gë®fDH‹HƒÂHƒîHƒïë×€H…Ò„ŠH‹Hƒïë¶fDHƒêH‹toHƒÆë›f„H‹HƒÂHƒî0Hƒï8édÿÿÿ@H‹HƒÂHƒî(Hƒï0éDÿÿÿ@H‹HƒÂHƒî Hƒï(é$ÿÿÿ@H‹HƒÂHƒîHƒï éÿÿÿ@H‰óÃff.„A‰ðH‰ÑUAƒà¸@ƒáAÁàHƒæøSD)ÀHƒù„ßHƒùtQHƒùtH…ÒtBL‹H‹nHƒïHƒÆé˜fHƒêL‹L‹^…¿€‰ÁIÓãD‰ÁL‰ØIÓêL ÐH‰[]ÃH‹.H‹^HƒÂHƒï‰ÁI‰ÙL‹VIÓáD‰ÁHÓíI éL‰O‰ÁM‰ÑL‹^IÓáD‰ÁHÓëI ÙL‰OHƒÇ HƒêtHƒÆ ‰ÁL‰ÛH‹.HÓãD‰ÁIÓêL ÓH‰‰ÁI‰éH‹^IÓáD‰ÁIÓëM ÙL‰O뎀H‹L‹VHƒÂHƒîHƒïë‹HƒÆë©f.„H‰Ðƒàÿ$ÅOLFÐH‹vøHƒï(H‰øHƒÂL‰ÁL‹I H‰p fH‹qL‰HL‹IH‰pH‹qL‰HHƒêM‹H‰7HxÀ„”LAÀI‹p8L‰ÁH‰øL‰O8L‹I0H‰p0H‹q(L‰H(L‹I H‰p 먄LFÈHƒï0L‹NøHƒÂH‰øL‰Áë΄H…Òt?LFÀHƒï8H‹vøH‰øL‰Á륀Hƒï@HƒêLF¸L‹Nø…zÿÿÿf.„L‰O8óÃf.„LFðHƒïH‹vøHƒÂH‰øL‰Áé-ÿÿÿDLFèHƒïL‹NøHƒÂH‰øL‰ÁéÿÿÿDLFàHƒïH‹vøHƒÂH‰øL‰ÁéÝþÿÿDLFØHƒï L‹NøHƒÂH‰øL‰ÁéµþÿÿDA‰ðH‰Ñ¸@AƒàƒáHƒæøAÁàH‰\$àH‰l$èD)ÀHƒùL‰d$ðL‰l$ø„%Hƒù„ûHƒùt%H…ÒftKLNàHƒïH‹.H‹^øI‰úM‰Ìëm€Hƒï HƒêLNØL‹H‹nøu2‰ÁIÓãD‰ÁL‰ØHÓíH èH‰GH‹\$àH‹l$èL‹d$ðL‹l$øÃML$à‰ÁH‰îI‹YIÓãD‰ÁM‰ÌHÓîI‰úI óL‰_‰ÁH‰ÞM‹l$HÓåD‰ÁHÓîH õI‰j‰ÁL‰îM‹\$HÓãD‰ÁHÓîH óI‰Z‰ÁL‰îL‰ÛHÓæD‰ÁI‹)HÓëH ÞHƒêH‰7Izà„Vÿÿÿé{ÿÿÿf„LNèHƒïH‹L‹nøHƒÂI‰úM‰Ìë•DLNðHƒïL‹.L‹^øHƒÂI‰úM‰ÌëfnÎH‰ùf`ÉHƒçðf`ɃÎÿfofpÉH)ùftÁÓæf×ÈH!ñufoHftÁf×È…Étì¼ÉHD9ðÃfnÎH‰ùf`ÉHƒçðfïÒf`ɃÎÿfofpÉH)ùfoØHftÁftÚÓæf×Ðf×Ë Ñ!ñu foHfoØftÁftÚf×Ðf×Ë Ñtà¼ÑHDðÃATE1äH…öUH‰õSH‰ûtfDH‰ßIƒÄè\ÌÿÿH\H÷ÐHÅuç[]L‰àA\ÃATH…öA‰ÔUH‰ýSH‰óuë*@HÅDˆeHƒÅH‰ÞH‰ïèbÌÿÿH‰ÚH)ÂHƒúHZÿwÚ[]A\Ë1À9tÀƒÈóÃS¸€¢ÿÄ`1Òÿ¾ŸÂêûÿÿ9ÂwK‰Ð¢ÿ»ƒÇ‰Ñ#ÿv7¹•Oº‚¾@O¿^Oèv8ýÿfDf÷Áð¶ÁufD1À[Ã@‰ÿÿ$ý O€‰ÐÁè H‰Áƒáÿ$ÍèOfDf÷ÂðtÉH[%øÃfD¶Á[ÃÁé€ùÿ¶Áu§[%üÀÁéH‰È%ü[Ãf÷Âð¶Â„rÿÿÿ[ÉÈÁè H‰Âƒâÿ$ÕhŽOfDf÷Áð„MÿÿÿÁéH‰È%üÿ[ø€[ø`[ø@[ø0[ø [ø[ø[Ãà[ÉÈ1ÒáÿÁè%üÿ÷ñ[‰ÀÉÐâÿ%ü?‰Ñ1ÒÀ÷ñ[‰ÀÃf„AWI‰ÏAVA‰þAUATU‰õSHƒì8ƒþH‰T$ŒŒ„†AŽGÿÿÿºVUUULl$‰ÈÁù÷ê)ÊD¤R¹ëKfƒþIts‰t$A¸Ð‰G¹ º?¾OL‰ïèJ†ýÿH…Àt‹PD9â„©ú¿tnÁí…ít@¶õƒþ@u®AüÂAÆuã1ÀHƒÄ8[]A\A]A^A_ÀAüÂu„¸¢‰Á‰ÂÁé ÁêáðƒâƒútA¼ÂéWÿÿÿfH‹D$ÆëˆfD‰ÂÁèÁê%ÿƒâƒúuÌAƒîé%ÿÿÿE)æt Aƒþt-Aƒþu/H‹@HƒÄ8[]A\A]A^A_ÃH‹@HƒÄ8[]A\A]A^A_ÃH‹@éAÿÿÿ¹à–OºÃ¾@O¿pOè¦5ýÿfDAWAVAUATU‰ýSHƒì(ƒþ†ÞLl$Ld$ÆD$ÆD$A¾ÇD$ ¸¢Aƒþ‰T$A‰ÏtiL‰éL‰â‰Æ‰ïèþÿÿH…À…L‰éL‰â‰Þ‰ïèúýÿÿH…ÀumL‰éL‰âD‰þ‰ïèåýÿÿH…ÀuX‹t$L‰éL‰â‰ïèÏýÿÿH…ÀuBD9t$ vAƒÆëˆD¶Ð0À‰T$ ëŒDí¿ƒýw€|$HÇÂÿÿÿÿHEÂDHƒÄ([]A\A]A^A_ùˆOºØ¾@O¿|Oè4ýÿH‰l$ð1íH‰\$èL‰d$ø‰èHƒì¢ùntel‰Åt%ùcAMD„ÑH‹$H‹l$L‹d$HƒÄÃfDûGenuußúineIu׉ƿ¼èŒþÿÿ‰î¿ÂI‰Äè}þÿÿH…ÀH‰ÆA¸Ž«¸¢áƒùÀƒÀƒý‰]“+Áëãÿ…ÛtH…ö~H‰òH‰ð‰ÛHÁú?H÷ûH‰ÆM…ä~ IÑüL‰%LJ+H…öŽJÿÿÿH‰ðH‰5IJ+HÑøH‰7J+é1ÿÿÿfûAuth…#ÿÿÿúenti…ÿÿÿ¿¼è›úÿÿ¿¿I‰ÄèŽúÿÿ¿ÂH‰Åèúÿÿ¿€I‰À‰ø¢M…À‰ÇH‰î~A=€† ¿€‰ø¢Áé »‰ÇƒáÓã…Û„€L‰ÂL‰À‰ÛHÁú?H÷ûI‰ÀI4(ÿ€†+ÿÿÿ¸€¢…Òx €å„ÿÿÿÇD’+ÿÿÿÿéÿÿÿ1ÿ½‰è‰ù¢ƒÇ¨„Èþÿÿ‰ÂÁêƒâD9ÂuâÁè%ÿXé´þÿÿf¿‰ø¢â‰Ç„{ÿÿÿÁëãÿ„lÿÿÿéUÿÿÿD‰î¿¿è´üÿÿA¸H‰Æé;þÿÿfDS1À¢ùnteltùcAMDt+1À[ÀûGenuuíúineIfuã[‰ÆéfüÿÿfDûAuthuÍúentiuÅ[éùÿÿHÁâé·íÿÿHÁâéÛÿÿHƒúH‰øvNHJüH‰ÏI‰ÈHÁïHƒÇHƒÿv¨tSH‰Âë fDHƒé‰2‰r‰r‰r HƒÂHƒùwçHÁçL‰ÂH<8ƒâH…ÒtHƒú‰7t Hƒú‰wu‰wóÃfD‰t$ü1ÒfnL$üfpÁ€H‰ÑHƒÂHÁáH9×fwëë¢HÁâé§æÿÿUH‰åAUATSH‰ûHƒìxHÇÁÿÿÿ‰uŒ¾¨ sdH‹H‹‹€¨HƒÀHÁèHÁàH)ÄHD$HƒàðH…ÒHDÖH…ÿ„ddH‹ÇE¤ÇE¨ÇE H‰U°HÇEÀL‹ H‰]A‹„$¨HH‰E˜M‹l$(M…í„)I‹EHƒ8L‹`(t IÁÌdL3$%0‹EŒ…ÀuPL‰çè˜I‹}E1À1É1ÒHuÇD$Ç$LMØAÿÔƒøt…ÀuWH‹UÆHƒÂH‰UëFf„HEŒL‰çH‰EÐè°—H‹MÐI‹}HUÐHuÇD$Ç$LMØE1ÀHƒÁAÿÔƒøtP…Àu:ƒøtG…Àt@ƒøt;HÇÀÐÿÿÿdÇTHeèHÇÀÿÿÿÿ[A\A]ÉÃf„ƒøtÁƒøt¼ƒøuJH‹EHeèH)Ø[A\A]ÉÃ@H‰ÃÇEŒéþÿÿIü€úOA½€˜O„ÄþÿÿL‰çè M‹l$(é²þÿÿ¹û–Oºg¾ñ–O¿—Oèû.ýÿAW¸° sAVI‰öAUI‰ýATUH‰ÕSHìˆH…ÉHDÈHÇÀÿÿÿÇ„$4Ç„$8Ç„$0H‰Œ$@HÇ„$PdH‹H‹H‹C(H…À„L‹`Iƒ<$I‹\$(t HÁËdH3%0M…í„ôM‹>H‰îIl-L‰ÿèÁH‰ßH‰¬$(H‰D$L‰¬$ èô•H‹D$E1ÀL‰òH´$ ÇD$Ç$LŒ$`L‰çIL‡ÿÓH‹”$ H‰ÕL)íƒøt…Àu €zÿ„O…À•ƒø•Át:„Òt6ƒøt1ƒøt,ƒø…¢f.„HĈH‰è[]A\A]A^A_Ãøtã„Òtß„ÉtÛHÇÀÐÿÿÿHÇÅÿÿÿÿdÇTëÄ@I‹.Ll$ MµH‰ïèikH‹”$@H‰¬$hL|…1íH‹L‰´$(H‰”$pH”$pH‰”$@€H‰ßL‰¬$ èÈ”E1ÀL‰ùH”$hÇD$Ç$LŒ$`L‰öL‰çÿÓH‹”$ H‰ÑL)éH̓øt­ƒøt…À…Ùþÿÿ€zÿ@t8¹Î—Oºd¾¨—O¿´—Oè…,ýÿDI9ÕtZH‹”$@‹…Òu3IÇHƒíéŽþÿÿHû€úO¸€˜O„ÑýÿÿH‰ßèCH‹C(éÀýÿÿ¹Î—Oº¾¨—O¿˜Oè!,ýÿ¹Î—Oº€¾¨—O¿à—Oè,ýÿ¹Î—OºŒ¾¨—O¿—Oèï+ýÿH‰\$ÐL‰d$ุ sL‰l$èH‰l$ØI‰ýL‰t$ðL‰|$øHì¨M…ÀI‰ôLDÀ1ÛH…Ò„.H‹HrÿH‰L$Ç„$4Ç„$8Ç„$0L‰„$@H‰ßHÇ„$Pèµ¾ÿÿL|HÇÀÿÿÿH‹L$dH‹H‹H‹C(H…À„1L‹0Iƒ>I‹n(t HÁÍdH3,%0M…í„MIDH‰ïL‰¬$ H‰„$(èÀ’E1ÀL‰âH´$ ÇD$Ç$LŒ$hL‰ùL‰÷ÿÕH‹”$ L)êHÁúƒøH‰Ó„¨…À„ …À•ƒø•Átc„Òt_ƒøtZƒøtUƒøf…Òf.„H‰ØH‹¬$€H‹œ$xL‹¤$ˆL‹¬$L‹´$˜L‹¼$ HĨÃDƒøt»„Òt·ƒø@t®„ÉtªHÇÀÐÿÿÿHÇÃÿÿÿÿdÇTë“H…Ò„ HƒêA‹t•…ö…FÿÿÿH‹Œ$@‹ …É…IÇ$H‰Óé$ÿÿÿ@I‹$Ld$ 1ÛM¬$H‰„$XH‹„$@H‹L‰¬$(H‰„$`H„$`H‰„$@f.„H‰ïL‰¤$ è0‘E1ÀL‰ùH”$XÇD$Ç$LŒ$hL‰îL‰÷ÿÕH‹Œ$ H‰ÊL)âHÁúHÓƒøt©ƒøt…À…lþÿÿƒyüHƒÛé_þÿÿHû€úO¸€˜O„½ýÿÿH‰ßèåH‹C(H‹L$é§ýÿÿ¹@˜O²|¾(˜O¿5˜OèÁ(ýÿ¹@˜Oº¾(˜O¿˜Oè¨(ýÿ¹@˜OºŠ¾(˜O¿—Oè(ýÿH…öt‹…ÀtyHƒþtvD‹_E…ÛtmHƒîfto¸ëK€HƒþHPtFD‹D‡E…ÀtHÇD$8HÇD$0ŽH‹=hx+H‹EH…ÿD‰8„UHD$0dL‹,%H‰|$8»H‰D$(HÇÀÐÿÿÿIž¯™OèŸ#H…ÀI‰Ä„ÍH‰Çè;€L‰,$L‹L$ I‰èL‰ñH‹T$(D‰þH‹|$AÿÔL‹D$0H‰ßM‰ÂL9Ç}6H…Û~(H‹M1ÒL ¹A‹191u ëS94‘tKHƒÂH9Ú@|îHƒÇL9Ç|ÊPL‰D$0ƒú‡‰ƒøt/H‹D$8HcÒƒ|tH‹8H…ÿu%D‰ÐéÔþÿÿIƒèB‹M‰ÂA‰ë€H‹D$8H‹8H…ÿtÛH‰|$8L‰ÃéÿÿÿH‹D$ H‹L$(I‰éH‹t$H‹|$8M‰ðD‰úL‰l$H‰$èÛúÿÿé*ÿÿÿ„Xþÿÿéˆþÿÿ¿à™OfDè[ÙþÿHL$81öºÀ™O¿L–Nè¥.…Àt#L‹T$0é_ÿÿÿ¹šOºN¾yÀO¿¥™OèýÿHD$0H‹\$0H‹|$8dL‹,%H‰D$(HÇÀÐÿÿÿéiþÿÿDATU‰õSH‰û¿Hƒì è H…ÀI‰ÄŽ•Hƒø@¿@HNøH‰|$HÁçèÒ{ÿÿH…À„„HL$HT$‰îH‰ßM‰àH‰D$è-ýÿÿ‰ÃHcè„H‹t$H‰ïèƒøÿuHÇÂÐÿÿÿdƒ:u ƒëHƒí…ÛÖH‹|$‰D$è¨lÿÿ‹D$HƒÄ []A\ÃHÇD$¿@énÿÿÿƒÈÿëÜH‰\$àH‰l$èH‰ËL‰d$ðL‰l$øHƒì8‹I‰ü¿A‰õH‰Õ…ÀO9HcÿH‰|$HÁçèÿzÿÿH…ÀtlHT$H‰áIÇÀÿÿÿÿL‰çD‰îH‰$è\üÿÿ‹H‹4$H‰ïA‰Ä9ÐNÐHcÒHÁâèÑÿÿH‹<$èökÿÿD;#¸ÿÿÿÿD‰#ANÄH‹\$H‹l$ L‹d$(L‹l$0HƒÄ8ÃÈÿëâ¸tH=ðÿÿƒMƒÃAWAVI‰þAUI‰ÕATI‰ÌUH‰õSHƒì(‹ðt+L‰D$ƒøŽ’ƒÀƒød‰Öt+ø€=`+„‚H‹ü_+HÁÈdH3%0H‰D$H‹ë_+HÁÈdH3%0HƒøÿH‰D$”À¶À…À…HÇÀÐÿÿÿI‰ÇdL<%H‰$„H‹|$èV|M‰øL‰áL‰êH‰îL‰÷ÿT$ƒøþ‰ÃuH‹$dƒ:"„ÆHL$H|$E1É1ÒA‰Ø¾&šOèr*…Àt®ƒûtiH‹D$HÇvcH‹$ƒûþd‹tƒø"tjHƒÄ([]A\A]A^A_ÃÇÎs+L‹D$L‰áL‰êH‰îL‰÷è¸N…ÀˆàþÿÿHƒÄ([]A\A]A^A_ÃH‹D$H‰(1ÀH‹$d‰HƒÄ([]A\A]A^A_ðëæHÇÂÐÿÿÿ»ÿÿÿÿH‰$@H‹D$HÇé\ÿÿÿ€t€€=—^+…~þÿÿHL$H|$1Ò¾&šOè+0…ÀuGH‹T$dH3%0HÁÂH‰N^+H‹T$dH3%0HÁÂH‰=^+Æ>^+ébþÿÿf„HÇÂÿÿÿÿdH3%0HÁÂH‰ ^+ëÎAWAVI‰þAUI‰ÕATI‰ÌUH‰õSHƒì(‹ˆr+L‰D$ƒøŽ’ƒÀƒød‰nr+ø€=á]+„‚H‹Ä]+HÁÈdH3%0H‰D$H‹³]+HÁÈdH3%0HƒøÿH‰D$”À¶À…À…HÇÀÐÿÿÿI‰ÇdL<%H‰$„H‹|$èzM‰øL‰áL‰êH‰îL‰÷ÿT$ƒøþ‰ÃuH‹$dƒ:"„ÆHL$H|$E1É1ÒA‰Ø¾1šOè"(…Àt®ƒûtiH‹D$HÇvcH‹$ƒûþd‹tƒø"tjHƒÄ([]A\A]A^A_ÃÇfq+L‹D$L‰áL‰êH‰îL‰÷è¸D…ÀˆàþÿÿHƒÄ([]A\A]A^A_ÃH‹D$H‰(1ÀH‹$d‰HƒÄ([]A\A]A^A_ðëæHÇÂÐÿÿÿ»ÿÿÿÿH‰$@H‹D$HÇé\ÿÿÿ€t€€=_\+…~þÿÿHL$H|$1Ò¾1šOè /…ÀuGH‹T$dH3%0HÁÂH‰\+H‹T$dH3%0HÁÂH‰\+Æ\+ébþÿÿf„HÇÂÿÿÿÿdH3%0HÁÂH‰Õ[+ëθ?H=ðÿÿƒ~ÃHƒì(‹p+…ÀuE1ÒHcÒHcÿ¸=H=ðÿÿwUHƒÄ(ÉT$H‰t$‰|$èã‹T$‹|$A‰ÀE1ÒH‹t$¸=HcÒHcÿH‰ÂHúðÿÿw#D‰Ç‰D$è;‹D$ë«HÇÂÐÿÿÿ÷Ød‰ƒÈÿëšHÇÀÐÿÿÿ÷Úd‰ƒÈÿëÌUH‰åAUATSHƒìL‹%Io+M…ä„hA‹D$(…ÀtçH‹0o+Hð±J(uÖE1íë ðAÿD$(I‰ÝI‹D$H…ÀtÿÐHƒì H\$HƒãðL‰#M‹$$L‰kM…äuÎèéûþÿdD‹ %ÐdD‹%ÔD‰À÷Ød‰%ÔdL‹%1ÒIÂÐ1ö¿ ¸8H=ðÿÿ‡'…ÀA‰Ä…3d‹%ÐA9Á„ÊH‹sn+H…ÀtHƒd‹%Ðd‰%Ô1HÁâ ‰ÀH ÂdH‰% H‰?o+èûþÿI‰Åë4DL‰ïè ûþÿH‹€ˆL‰ïÇÇ@HÇ@èìúþÿI‰ÅèÔúþÿI9ÅuÇèšûþÿH…ÛHǬ%+HÇ‘%+HÇŽ%+HÇ“%+HÇ%+Çv%+t%@H‹H‹PH…ÒtÿÒH‹H‹[Ç@(H…ÛußÇÕZ+HeèD‰à[A\A]ÉÃHÇÂÐÿÿÿ÷ØAƒÌÿd‰€d‹%ÐA9Á…~dD‰%Ôè‘úþÿH…Ût·A½ÊfDH‹H‹PH…ÒtÿÒH‹ðÿH(”„Òt‹P,…Òtºd‹4%H‹x(ƒÎD‰èH‹[H…Ûu¼HeèD‰à[A\A]ÉÃfD1Ûéãýÿÿ¹¬žOºÁ¾@šO¿PœOè8 ýÿ¹¬žOº¾@šO¿xšOè ýÿHc×IÇÁÐÿÿÿA¸ç¾<ëf„H‰×‰ðH=ðÿÿwôH‰×D‰ÀH=ðÿÿvà÷ØdA‰ëØ÷ØdA‰ë߸;H=ðÿÿwóÃHÇÂÐÿÿÿ÷Ød‰ƒÈÿÃAWAVAUATUSHìh H…öH„$  H‰|$H‰”$@ H‰Œ$H L‰„$P H‰„$ H„$0 L‰Œ$X H‰t$Ç„$ H‰„$ „-L|$½»A½M‰üf„‹”$ ƒú/wf‰ÐH„$ ƒÂ‰”$ H‹H…ÀI‰ÜtfƒÅ‰ëI9ÝuÊMí¿M9üJ4íIEüè¾}ÿÿH…ÀI‰Æ„’M9ütm‹”$ M‰ôƒú/všH‹„$ HPH‰”$ H‹H…ÀI‰ÜušH‹/W+H‹|$L‰æèšþÿÿM9ütL‰ç‰$èªaÿÿ‹$HÄh []A\A]A^A_ÃDHÝL‰æH‰ÇèýÆÿÿé{ÿÿÿ„M9ü¸ÿÿÿÿt¿L‰çè[aÿÿ¸ÿÿÿÿë­H‹µV+Ht$è#þÿÿ뚸kÃUH‰åL‰eàL‰mèI‰ýH‰]ØL‰u𿸞OL‰}øHìÐIÇÄÐÿÿÿdE‹<$èÈDH…À„¿H‰ÇH‰…0ÿÿÿèÿÿH‹µ0ÿÿÿH‰ÂL‰ïH‰•8ÿÿÿH‰µ0ÿÿÿèpÿÿH‹•8ÿÿÿI‰ÆH‹µ0ÿÿÿHD)HƒàðH)ÄH\$HƒãðH‰ßèÒ¿ÿÿHº/POSIX_VHx L‰îH‰IVfÇ@6_èïÅÿÿH•@ÿÿÿH‰Þ¿èËÌH˜dE‰<$H‹]ØHÁø?L‹eàL‹mèHƒÈL‹uðL‹}øÉÃfDº¾ÄžOéKÿÿÿH‰\$è‰ûH‰l$ðƒGÿÿÿL‰d$øHƒìXƒøv8ƒÿ"„ŸM…ÿ…ZfèÃu=¸ë fDè#×ÿÿH‹\$@H‹l$HL‹d$PHƒÄXÀÿŠ| ÿ‹ŽIÿ•„„ûö†ÔHÇÀÐÿÿÿdÇHÇÀÿÿÿÿëšDHt$ ¿ è¹Ò…À¿ŸO„,1ö1ÀH‰åèi̓øÿA‰Ät¨„ºH‰æD‰çè)ÎHcÐHƒúÿu HÇÀÐÿÿÿdƒ8tÚIcü¸H…ÒŽgÿÿÿHt$8ÆH‰çº èqýÿH‹T$8H9ê„Cÿÿÿ¶€ú „ôþÿÿ„Ò„ìþÿÿé*ÿÿÿf.„‰ÛfDÿ$Ý0ŸOƒÿD…ÿÿÿ¿ÙžOé<ÿÿÿ„H‰æ¿¸åH‰ÆHÇÀÿÿÿÿþðÿÿ‡ˆþÿÿ¸ié~þÿÿ¿öžOèýÿÿéoþÿÿ¿ŸOèøüÿÿé`þÿÿ¸éVþÿÿ¸ÿÿÿ@éHþÿÿ¸é>þÿÿ¸é4þÿÿ¸ fé(þÿÿ¸ÿéþÿÿHÇÀ€ÿÿÿéþÿÿ¸éþÿÿ¸ÿéþýÿÿ¸éôýÿÿ¸cféèýÿÿ¸@éÞýÿÿ¸éÔýÿÿ¸féÈýÿÿè“ÒH˜é¸ýÿÿè†ÉfDé¨ýÿÿèúé˜ýÿÿ¸fDéˆýÿÿèƒþH˜éxýÿÿ¸¼énýÿÿ¸èédýÿÿ¸féXýÿÿèÒH˜éHýÿÿ¸€é>ýÿÿè+üH˜é1ýÿÿ¸ÿÿé'ýÿÿHÇÀ€éýÿÿ¸ÿÿÿÿéýÿÿè›kH‰Â¸HƒúŽöüÿÿè„kéìüÿÿ¸@éâüÿÿDè ýH˜éÑüÿÿ¸éÇüÿÿ1ÀéÀüÿÿ¸ é¶üÿÿ¸@é¨üÿÿèùé˜üÿÿHÇÀ€ÿÿ@éˆüÿÿHt$ ¿è©Ï…À…YüÿÿH‹D$ H=ÿÿ†HüÿÿHÁèéTüÿÿ€H‹D$ éCüÿÿAWAVAUATI‰üUSH_Hƒì¶„Àt,<[„¬<*t8(M~„Ô<)…õþÿÿMné•þÿÿD‹ öM+…É„A¶UIE€ú!„é…Ɉ؀ú]uHƒÀ¶Lh€ú]„Lþÿÿ„ÒuèHƒÅé<ýÿÿ€¿è¦OèZýÿHƒøɃɉ ‹M+éèþÿÿ‹5€M+…ö„ ¶JHB€ù!„q…öˆ\€ù]uHƒÀ¶HP€ù]„‹„ÉuèIƒÇA¶„À„ <[„Ó<*t]WýÿHƒøH‹$öƒÎ‰5·J+é:ýÿÿ¿è¦OH‰$H‰L$èWýÿHƒøH‹L$H‹$ÿƒÏ‰=‡J+éDÿÿÿfDAWI‰ÒE‰ÇAƒçAVAUA‰ÍATUSH‰óHìÈHÇÂÿÿÿD‰D$(L‰L$X‹l$(D‹d$(dH‹ƒåAƒäH‹H‹€À‰l$@D‰d$dH‰D$PIcÀAƒàD‰D$DD‹D$(H‰Áƒá ƒàH‰L$0H‰D$HAƒà D‰D$,ëFL9Ó„ßE…ÿ„nIÇÆèÿÿÿdI‹H…À„J¶‹E¶äA9Ä…¯E1íHƒÃH‰ïD¶'E„ä„E…ÿtIÇÆèÿÿÿdI‹H…À„íE¶äF¶$ AD$ßHo<;w¶Àÿ$Åx§O€D‹l$@E…íu4D¶eHƒÅE„ä„<E…ÿtIÇÆèÿÿÿdI‹H…À„ÌE¶äF¶$ L9Ó„E…ÿ„ IÇÆèÿÿÿdI‹H…À„¶‹éü‹æH+…Ò„2 L9ӄѶ<.„N (L‰ð…dÿÿÿL‰÷L‰$è ôÿÿL‹$LpéÿþÿÿfD‹ ÎD+…É„A¶VIF€ú!„ø…Ɉà€ú]uHƒÀ¶Lp€ú]„µþÿÿ„ÒuèéyþÿÿHƒ|$Hf„`ÿÿÿféküÿÿ¶é¤úÿÿ„E„ÉD„çûÿÿ¶u@„ö„=üÿÿE…ÿ‰ðtHÇÂèÿÿÿdH‹H…À„°@¶ö¶°HƒÅD¶eHuA€ü-…Óûÿÿ¶„Ò„Èûÿÿ€ú]…Çûÿÿéºûÿÿf¶}@€ÿ]„wûÿÿL‹D$P…Ò‰øHuE¾åG¶4u E¶íG¶$(@€ÿ[„8@€ÿ\„­„À„ûÿÿ1ÒE…ÿI‰ðt HÇÂèÿÿÿdH‹:H…ÿ„2¶ÀI‰ð1Ò¶‡E¶öE9ô‡Ž…Ò„z¶ÀA9Æw~D9àryE¶ M‰ÅD‰àé2f.„HÇÆÿÿÿA¼=dH‹>HuH‹D‹j@¶U„Ò„àúÿÿˆ”$°€}=LE…A€x]… E…íLE…r :tŽ€A¶Ihé¸úÿÿ€ú^…þÿÿ€HƒÀ¶éþÿÿ@¿è¦OL‰$èOýÿHƒøL‹$Ƀɉ ‹B+éÀýÿÿf.„¶U€ú:„¨€ú=„*ÿÿÿ€ú.…öùÿÿHÇÆÿÿÿH}E1ödH‹H‹H‰ø‹r@H‰|$pH‰ïD¶mE‰èë@E„À„úÿÿD¶GIƒÆHƒÇA€ø.uäD¶GA€ø]uçD¶gLGÇ„$œA€ü-„ …ö„^‹²¨M…ö‰´$€H‹º°H‹’¸D‰t$xH‰”$ˆ~$LõD‰êD‰öë HƒÀ¶¾ÒH9è4òuî‰t$x‹T$x‰ÐÁú÷¼$€‰ÕD-H˜‹4‡H‰„$ …ö„â‹„$€‹T$xƒè‰„$€‰ÐÁú÷¼$€DH˜HÁàH‰„$DÀH˜H,‡H‹„$ H|‡H‰¼$€ë#‹uH‹„$H¬$H„$€…ö„i9t$xu×H‹”$€H‹´$ˆ‹Hc‰”$¬¶4@¶Ö@ˆ´$ L9òu¦H‹¼$ˆL‰òˆL$L‰D$ DˆL$L‰$L‰\$HtH‹|$pèv™ÿÿ…À¶L$L‹D$ D¶L$L‹$L‹\$…Tÿÿÿƒ|$x„Õ¶”$ ƒ¼$œ‹´$¬T„'H‹¼$ˆHc¶4@¶öL‹´$ˆD‰àT2IhƒâûHcÒE¶,ºéÙ÷ÿÿfD¶E¶äD9à„1öÿÿéÛ÷ÿÿIÇÆèÿÿÿdI‹H…Ò„™¶À¶ ‚é"÷ÿÿE…í…¯÷ÿÿéHøÿÿf¿è¦OL‰$èLýÿHƒøL‹$҃ʉ‹?+é¨öÿÿf.„E…í…o÷ÿÿ¶M€ù!…±öÿÿf.„HƒÅÇD$<é¦öÿÿ€D‹t$DE…ö„ƒõÿÿé-÷ÿÿDD‹D$DE…À…À‹T$(ƒâûA€ü\‰T$<…Cøÿÿ‹t$@…ö…7øÿÿD¶eé-øÿÿ€‹L$D…É„öÿÿ@éÓöÿÿD‰éM‰ÖE‰ýI‰ïL‰Ýë€HƒÃ1ÉH9݆¶D9àuéD‹D$.…ÑúÿÿHÇÇÿÿÿE1ídH‹H‹D‹B@D‰D$p¶FI‰ð‰Çë@„ÿ„?öÿÿA¶xIƒÅIƒÀ@€ÿ.uäA¶x@€ÿ]uçIƒÀƒ|$p…Iƒý…öÿÿ1ÒéŽúÿÿf„E„É„Rúÿÿ¶HƒÆé>úÿÿA€ü+tA€ü@t A€ü!…âöÿÿ€}(…ØöÿÿD‹d$(D‹L$DAƒäûE…ÉDEd$(HƒíI9Û†žõÿÿI‰îD‰éL‰ÕE‰ýM‰ßëDHƒÃ1ÉI9߆yõÿÿLŒ$°E‰àH‰êH‰ÞL‰÷èèòÿÿ…ÀuÔE‰ïI‰êH‹¬$°H…í„ÁH‹œ$¸D‹¬$Àéˆóÿÿ„<[„D€ù]„ݶEI‰í„À‰Á„õÿÿ<\ImuÖE„Étâ€}„ïôÿÿImA¶EëÑH‹|$P¶À¶éxùÿÿ€ù^…!ôÿÿfékýÿÿI‰ì1öë)@zŸ@€ÿ‡hôÿÿHƒÆHþ„šôÿÿˆ”4¯IƒÄA¶$€ú:uÍA€|$]uÅH¼$°Æ„4°ˆL$DˆL$L‰$L‰\$è®öH…À¶L$D¶L$L‹$L‹\$„9ôÿÿ¶;MD$‰úÀê¶ò‹D°à£ø‚ËøÿÿA¶D$Il$éùóÿÿE‰ïM‰òH‹¬$°H…í…°þÿÿéðóÿÿM‰úD‹|$hëàD¶eé¢óÿÿ¶E<:„È<=„<.…­þÿÿIm@¶E„À„¬óÿÿHƒÅ<.uì¶E<]uè¶MHƒÅéoþÿÿ€L9Ó„ûöD$(f„róÿÿ1À€;/•ÀéjóÿÿI‰íD‰àéJþÿÿI9ÚwéPóÿÿ„HƒÃI9Ú†;óÿÿ€;/uî‹L$(D‹D$(HsE1ÉL‰ÒH‰ïƒáè ðÿÿ…À•À¶ÀéóÿÿIUA¶MIÅë"fDƒéa€ù‡ÑýÿÿHƒÂL9ê¶ „Ôòÿÿ€ù:u߀z]uÙ¶JHjéœýÿÿ@A€}„­òÿÿA€}=IE…žòÿÿ€x]f…’òÿÿA¶MImédýÿÿ1Àé‚òÿÿIƒþ…ròÿÿƒ¼$œu D8+„¡D‰àIh1Òé4òÿÿL‹t$X1ÀI‰>I‰^E‰né?òÿÿƒ|$<„€ðÿÿé*òÿÿƒ|$DtŸöD$(u˜L‰Ò¾/H‰ßH)Úè’ÿÿH…À•À¶Àéòÿÿ‹º¨M…퉼$€H‹º°H‰¼$ˆH‹’¸D‰l$pH‰T$x~!JT-D‰ïë¶EHƒÅ¾ÀH9Õ<øuí‰|$p‹T$p‰ÐÁú÷¼$€‰ÕH‹”$ˆD-H˜‹<‚H‰„$…ÿ„uñÿÿ‹„$€‹T$pHƒÆH‰´$ ƒè‰„$€‰ÐÁú÷¼$€DH˜HÁàH‰„$€DH‹”$ˆÀH˜H,‚H‹„$HD‚H‰„$ˆë#‹}H‹„$€H¬$€H„$ˆ…ÿ„èðÿÿ9|$pu×H‹”$ˆH‹t$x‹Hc‰”$œ¶4@¶Ö@ˆ´$L9êu©H‹|$xL‰êˆL$L‰D$ DˆL$L‰$L‰\$HtH‹¼$ è{‘ÿÿ…À¶L$L‹D$ D¶L$L‹$L‹\$…Wÿÿÿƒ|$p„Wðÿÿ¶„$‹”$œH‹t$xDHcжDºƒàûH˜¶é®ôÿÿ1ÿA€x@•lj¼$œé'öÿÿH‹¬$ˆHc¶t1À@¶þë&H‹¬$ˆLpL‰t$pD¾4D¶lE9îu H‹D$pH9ørÕH9ø…œ÷ÿÿM‰ÅD‰àé£úÿÿHÇÀÿÿÿdH‹H‹H‹@XHdI‰éFñÿÿHÇÀÿÿÿdH‹H‹H‹@XHdI‰éòíÿÿH‹¶ÒL‹`PH‹h`H‹xXA‹4”H‰l$xH‹@hH‰„$ˆHcÆH…Àˆ?…ö„^ôÿÿH‰ð%ÿÿÿ¶ˆ„$€¶E‹,„IcÕH…Òˆ%E…í„/ôÿÿ‰òD‰èÁúÁø9Â…ôÿÿL‰è%ÿÿÿ¶¶„$€9Â…ôÿÿæÿÿÿAåÿÿÿ1ÀHl7Jt/9мD¶e¶>HƒÅHƒÆA8ü…£ƒÀëÚHÇÀÿÿÿdH‹H‹H‹@XHdI‰éÏïÿÿHÇÀÿÿÿdH‹H‹H‹@XHdI‰é•ìÿÿHÇÀÿÿÿdH‹H‹H‹@XHdI‰éíÿÿ€}(…°îÿÿD‹L$(L‰ÑE‰èH‰ÚH‰î¿*L‰$èƒøÿL‹$„îÿÿéîÿÿ9Â…óÿÿféšòÿÿH‹l$xˆŒ$H)ÕH‰êD‹*HjMcåL‰d$xE1äHƒ|$x¶Bx`H…À„¦L‹t$h¶MA:u.¶Œ$ëfF¶t"F:t#u IƒÄL9àwêL9àˆŒ$tjHTHƒÀƒàt¹H)ÁHÊë‚¶Œ$ëF¶t"F¶l#E8î…{IƒÄL9àw∌$„ÜF¶t%H‹L$hDˆt$pF¶,!éW¶Œ$éïýÿÿH)ÅH‰è‹0HhLcöM…öL‰t$p¶Px_H…Ò„›ýÿÿD¶uE1íD:´$±të'DF¶t(F:´,±u IƒÅL9êwçL9ê„`ýÿÿHDHƒÂƒât—¾H)ÖHðëŠH…Ò„¢D¶uD¶¬$±1öE8îtë1D¶t0D¶¬4±E8îuHƒÆH9òwãtiD¶t5D¶¬4±E8îv%HÒHDHƒÂƒâ„ÿÿÿ½H)ÕHèéÿÿÿLt1Àë HƒÀH9†DE¶.¶´±IƒÆA8õtÞé>1öH+t$pH‹„$ˆ‹4°éƒüÿÿDˆt$pˆŒ$D8l$p‡•Lt¶Œ$1ÒëE¶.D¶dIƒÆE8åu(HƒÂH9Ðw䈌$tJL‹t$hLdE¶,E¶$눌$E8ås(HÀéÔýÿÿ¶Œ$1íH+l$xH‹”$ˆD‹,ªéüÿÿ¶Œ$1ÒëHƒÂD¶tD¶lE8îtëHÕL$H‰„$H‰l$p1íëH‹D$pE¶l$D¶0E¶íE¶öHÁåE)õHƒÂIƒÄHƒD$pH9”$McíIl-wÂénÿÿÿt=HtD¶,¶´±A8õs&HÒHDHƒÂƒâ„‡ýÿÿA¾I)ÖLðévýÿÿ1ÀëHƒÀD¶tD¶¬±E8îtèHÅ1öëD¶¬±D¶uE¶íE¶öHƒÀE)õHÁæHƒÅMcíH9ÂIt5wÎé?þÿÿHÀHTHƒÀƒà„'üÿÿ½H)ÅHêéüÿÿHÇÀÿÿÿdH‹H‹H‹@XHdI‰éÛèÿÿ€}(…ééÿÿD‹L$(L‰ÑE‰èH‰ÚH‰î¿?L‰$讃øÿL‹$„½éÿÿé™éÿÿHÇÆÿÿÿdH‹6H‹6H‹vXHÆdH‰2é(éÿÿHÇÀÿÿÿdH‹H‹H‹@XHdH‰¶ué+íÿÿHÇÇÿÿÿdH‹?H‹?H‹XHÇdH‰:é¬íÿÿHÇÀÿÿÿdH‹H‹H‹PXHÂdI‰¶éBñÿÿfffff.„UH‰åAWAVAUI‰ÕATSHƒìh‰}°H‰÷H‰M˜D‰E¨D‰M¬H‰u¸HÇEÈè™xÿÿL‹u¸‹U°L@&L‰mLMÈIƒàðIƒÆƒê?‰U A¶1ÒM‰÷„Ét[€ù[„‚€ù*te€ù?t`€ù+DtV€ù@tQMf€ù!L‰ãtE€ù)„´€ù|L‰à„(A‰ÕL‰ûI‰ÆD‰êI‰ßA¶„Éu¦¸ÿÿÿÿHeØ[A\A]A^A_ÉÃ@A€~(MfL‰ãu­ƒÂL‰àëºf‹ 0+…É„bA¶^IF€û!„@…Ɉ(€û]uHƒÀ¶€û]t€„ÛtŒHƒÀ¶€û]uðHƒÀé_ÿÿÿ€…ÒDjÿL‰àuYƒ} †›L‰òL)úHB'HƒàðH)ÄH\$HƒãðH{L‰þL‰…xÿÿÿL‰M€èÊ™ÿÿÆL‹M€L‰àL‹…xÿÿÿHÇI‰I‰ÙAƒýÿ„âL‰ûéèþÿÿf.„…Ò…Ðþÿÿƒ} @†úL‰òL)úHB'HƒàðH)ÄLl$IƒåðI}L‰þL‰…xÿÿÿL‰M€èI™ÿÿÆL‹M€L‰àIÇEL‹…xÿÿÿM‰)M‰éE1íépþÿÿf€û^…Ïþÿÿ€HƒÀ¶é¼þÿÿ@¿è¦O‰UˆL‰…xÿÿÿL‰M€èø:ýÿHƒøL‹M€L‹…xÿÿÿÉ‹UˆƒÉ‰ g.+édþÿÿfDH‹]ÈL‹mH…Û„ÂA€>)…Ÿ‹E°ƒè!ƒøvZ¹k§OºÆ¾ø¦O¿8­OèáâüÿL)ÄL‰òLl$L)úIƒåðé ÿÿÿf„L)ÄL‰òH\$L)úHƒãðéhþÿÿf„‰Àÿ$ÅX©OD‹E¬‹M¨E1ÉH‹U˜L‰îL‰çè>ãÿÿ…À„ƒH‹]È‹E¬H‹U¸H‰ßD‹}¬L‰e¸M‰îL‹e˜ƒàHƒê‰E ‹E¬AƒçH‰U°ƒàû‰Ã€M9ævH‹H…À„2M‰îH‰EÈH‰ÇM9æwåD‹E¬‹M¨E…ÿL‰òL‰îDDÃHƒÇE1Éè¸âÿÿ…ÀuqD‹E¬E…ÿ‹M¨DDÃM9ît 1ÉA€~ÿ/„ìH‹}¸E1ÉL‰âL‰öè‚âÿÿ…À„ÇM9ît2D‹E¬E…ÿDDÃ1ÉA€~ÿ/„ÍH‹}°E1ÉL‰âL‰öèKâÿÿ…À„IƒÆH‹}Èé>ÿÿÿD‹E¬‹M¨E1ÉH‹U˜L‰îL‰çèâÿÿ…À„bH‹]ÈöE¬……D‹u¬H‰ßD‹}¨H‹]˜AƒæûëfH‰}ÈHƒÇL‰æè€mÿÿE1ÉE‰ðD‰ùH‰ÚL‰îH‰ÇèÉáÿÿ…À„H‹EÈH‹8H…ÿuŸéðûÿÿL;m˜wð‹E¬‹U¬M‰îD‹}¬L‰e D‹e¨ƒàƒâ‰E¸‰UAƒçûH…Û„‹‹U¸…Òt`D‰}°D‹}¬ëfDH‹H…ÛthH{E1ÉE‰øD‰áL‰òL‰îè@áÿÿ…ÀuÜD‹}°H…ÛtGIƒÆL9u˜‚pÿÿÿH‹]È럀H‹H…Ût$H{E1ÉE‰øD‰áL‰òL‰îèøàÿÿ…ÀuÜëºfD‹}°‹E¸D‹E¬D‰á…ÀEDÇM9ît 1ÉA€~ÿ/„–H‹U˜H‹} E1ÉL‰öè·àÿÿ…Àu€1Àéñúÿÿ@1Ƀ} ”Áéþÿÿf.„1Ƀ} ”Áé%þÿÿH‰ßD‹}¨H‹]˜D‹u¬ëH‰}ÈHƒÇL‰æèlÿÿE1ÉE‰ðD‰ùH‰ÚL‰îH‰ÇèIàÿÿ…Àt’H‹EÈH‹8H…ÿuÉéþÿÿ1Ƀ}”Áé\ÿÿÿ¹k§Oºh¾ø¦O¿§OèMßüÿ¹k§Oºg¾ø¦O¿§Oè4ßüÿ@AWAVAUATI‰üUSH_Hƒì‹…Àt5ƒø[„¼ƒø*t?ƒø?@t6ƒø+t1ƒø@t,ƒø!t&HƒÃƒø)uÊI‰ÜfHƒÄL‰à[]A\A]A^A_ÃfDHƒÃƒ;(HkuÑ‹E…À„ƒø[„ǃø*t*ƒø?t%ƒø+t ƒø@Dtƒø!tHƒÅDëfDHƒÅƒ}(Lm„¶ƒø)u¦H]é=ÿÿÿ„‹ †)+…É„²‹SHCƒú!„B…Ɉ"ƒú]uDHƒÀ‹HXƒú]„òþÿÿ…Òuéé$ÿÿÿ‹ :)+…É„¾A‹VIFƒú!„V…ɈEƒú]u„HƒÀ‹Lpƒú]th…ÒuíIƒÅf„A‹E…À„³ƒø[„cƒø*t.ƒø?t&ƒø+t!ƒø@tƒø!tIƒÅƒø)uÅImé°þÿÿIƒÅAƒ}(MuußA‹…Àt•ƒø[„Eÿÿÿƒø*„àƒø?„׃ø+@„ʃø@„Áƒø!„¸IƒÆ@齃ú^D…Ðþÿÿf.„HƒÀ‹é»þÿÿD‹ (+…É„ò‹UHEƒú!t^…ÉxRƒú]uDHƒÀ‹Hhƒú]„êýÿÿ…ÒuéHƒÃé}ýÿÿ„¿è¦Oè64ýÿHƒøɃɉ ³'+é0þÿÿfƒú^u©HƒÀ‹ëžIƒÆAƒ>(M~„Òƒø)…ìþÿÿMnéŒþÿÿ@‹ n'+…É„A‹UIEƒú!„ê…Ɉكú]u@HƒÀ‹Lhƒú]„Eþÿÿ…ÒuéHƒÅé-ýÿÿ„¿è¦Oè†3ýÿHƒøɃɉ '+éðþÿÿ‹5ø&+…ö„§‹JHBƒù!„…öˆnƒù]uHƒÀ‹HPƒù]„Œ…ÉuéIƒÇA‹…À„0ƒø[„äƒø*t]ƒø?tXƒø+tSƒø@tNƒø!tHIƒÇƒø)uÉMwéâýÿÿƒú^…ÿÿÿHƒÀ‹éÿÿÿ¿è¦OèÊ2ýÿHƒøɃɉ G&+éÜþÿÿIƒÇAƒ?(IWu®‹…À„nÿÿÿƒø[„#ÿÿÿƒø*f„Àƒø?„·ƒø+„®ƒø@D„ ƒø!„—HƒÂƒø)u°Lzé#ÿÿÿ€ƒú^…²üÿÿHƒÀ‹é§üÿÿ‹ º%+…É„±A‹WIGƒú!„DžɈ¶ƒú]uHƒÀ‹Lxƒú]„Éþÿÿ…ÒuéIƒÆéßüÿÿ¿è¦OèÞ1ýÿHƒøɃɉ [%+é$üÿÿHƒÂƒ:(…`ÿÿÿHJ‹…À„ȃø[„…ƒø*t^ƒø?tYƒø+tTƒø@@tKƒø!tFHƒÁƒø)fuÅHQéÍþÿÿ¿è¦Oèk1ýÿHƒøɃɉ è$+é1ÿÿÿƒú^…AÿÿÿHƒÀ‹é6ÿÿÿHƒÁƒ9(uµH‰ÏH‰$èNúÿÿH‹$HHéhÿÿÿ‹=§$+…ÿ„|‹qHAƒþ!tB…ÿx9ƒþ]uHƒÀ‹0HHƒþ]„2ÿÿÿ…öuéHƒÂé6þÿÿƒù^…‰ýÿÿHƒÀ‹é~ýÿÿƒþ^uÂHƒÀ‹0뺿è¦OH‰$è¯0ýÿHƒøH‹$öƒÎ‰5($+é3ýÿÿ¿è¦OH‰$H‰L$è„0ýÿHƒøH‹L$H‹$ÿƒÏ‰=ø#+éTÿÿÿ€UE‰ÃAƒãH‰åAWE‰ÇAƒçAVA‰ÎAUATI‰ôSHìè(H‰•¨×ÿÿHÇÂÿÿÿD‰…¤×ÿÿL‰p×ÿÿdH‹D‰ÂƒâH‹H‹€ÈD‰€×ÿÿE‰ÃAƒã‰•„×ÿÿH‰úD‰l×ÿÿH‰…`×ÿÿIcÀH‰Áƒàƒá H‰…x×ÿÿH…°×ÿÿH‰×ÿÿD‰Áƒá HƒÀ‰œ×ÿÿD‰ÁH‰…P×ÿÿƒáû‰\×ÿÿë6DL;¥¨×ÿÿ„«E…ÿ„rA‹<$è™Ó9Ã…‘E1öIƒÄL‰ê‹…Û„å E…ÿt‰ßH‰•×ÿÿèjÓH‹•×ÿÿ‰ÃCßLjƒø;w‰Àÿ$ÅXªO@‹½„×ÿÿ…ÿuA‹]IƒÅ…Ût2E…ÿt ‰ßè&Ó‰ÃL;¥¨×ÿÿtE…ÿ…A‹$9Ø„uÿÿÿfD¸HeØ[A\A]A^A_ÉÃ@‹N"+…À„L;¥¨×ÿÿtÑA‹$ƒû.„$ƒû/„sE‹uAƒþ!„-…Àˆ Ç…ˆ×ÿÿE…ÿ…¢D‹…„×ÿÿH•°×ÿÿIƒÅM\$D‰ðE…ÀL‰H×ÿÿ”… ×ÿÿH H‰•@×ÿÿƒø\„0ƒø[„g…À„?ÿÿÿE‹uE…ÿt‰Çè/ÒIUAƒþ-„<9Ø„_ A‰ÀI‰ÕD‰ð1Ƀø-„=ƒø]u§‹½ˆ×ÿÿ…ÿ…aþÿÿféëþÿÿHƒ½×ÿÿ…ÞL;¥¨×ÿÿ„ÍþÿÿA‹$ƒø/„`ƒø.…&þÿÿE…ö…®þÿÿfDéþÿÿƒ½l×ÿÿ…ÛýÿÿL;¥¨×ÿÿ„†þÿÿAƒ<$/…{þÿÿA¾éâýÿÿHƒ½×ÿÿ… Hƒ½p×ÿÿ…¹ L;¥¨×ÿÿt Aƒ<$.„«A‹]IMƒû*„_€ƒû?„O…Û„à ‹µ€×ÿÿH‹•¨×ÿÿL‰çH‰ðÖÿÿHÇ…À÷ÿÿ÷ÞL)âƒæ/HÁúè¤H…ÀI‰ÅLD­¨×ÿÿƒû[H‹ðÖÿÿ„eHƒ½×ÿÿ…5ƒû/„D‹€×ÿÿ‹•¤×ÿÿE…Û„wƒû\„}E…ÿt#‰ß‰•×ÿÿH‰ðÖÿÿèwÐH‹ðÖÿÿ‹•×ÿÿ‰ÃHƒéM9åH‰ˆ×ÿÿ†TýÿÿE…ÿ…SD‰ñA‰ÖëIƒÄ1ÉM9åv=A;$uïH‹•¨×ÿÿH‹½ˆ×ÿÿLÀ÷ÿÿE‰ðL‰æèûÿÿ…À„IƒÄ1ÉM9åwÇ@L‹­À÷ÿÿM…í„èüÿÿL‹¥È÷ÿÿD‹µÐ÷ÿÿéKüÿÿDƒ9(t ƒû?H‰È„Ç‹HHƒû*…ˆþÿÿƒ9(uà‹µœ×ÿÿ…ötÖLiA‹U…Òtʃú[„ôƒú*„³ƒú?„ªƒú+„¡ƒú@„˜ƒú!D„ŠIƒÅL‰èƒú)u±L9éuŠéyÿÿÿ@Hƒ½×ÿÿ„zûÿÿAƒ}(…oûÿÿD‹¤×ÿÿH‹¨×ÿÿE‰ðL‰âL‰î‰ßè)ƒøÿ„HûÿÿéüÿÿL;¥¨×ÿÿ„êûÿÿAƒ<$/„—IƒÄH‰ÈéÿÿÿIƒÅAƒ}(L‰è…kÿÿÿL‰ïH‰ðÖÿÿè¯óÿÿH‹ðÖÿÿLhéÿÿÿ€‹5þ+…ö„ZA‹UIEƒú!„‰…öˆqƒú]u@HƒÀ‹Lhƒú]„¸þÿÿ…Òuééþÿÿ@Hƒ½x×ÿÿ„[ÿÿÿé5ûÿÿDA‹$éŽúÿÿ€€½ ×ÿÿ„ÔûÿÿA‹E…À„ûÿÿE…ÿt‰ÇèûÍIƒÅE‹uIUAƒþ-…Äûÿÿ‹ …É„ºûÿÿƒù]…¹ûÿÿféªûÿÿE‹uAƒþ]„{ûÿÿH‹½`×ÿÿIU‰Þ‰ðÖÿÿD‰…×ÿÿH‰•×ÿÿèD÷ƒøÿA‰ÅH‹•×ÿÿ‹ðÖÿÿD‹…×ÿÿ„Ÿ…ÉE‰Á„úAƒþ[„Aƒþ\„uE…öf„Júÿÿ1öE…ÿH‰Ñ…eE9é‡Q…öD‰ð„D9è‚GA9Á‡>‹9I‰Î¶ ×ÿÿ‰øéxƒú^…†þÿÿ€HƒÀ‹étþÿÿDE‹uAƒþ:„GAƒþ=„ðAƒþ.…ƒúÿÿHÇÂÿÿÿE‹EE1ÉdH‹D‰ÁL‰êH‹‹@@ëfD…É„ùÿÿ‹JIƒÁHƒÂƒù.uè‹Jƒù]uëD‹rE1ÒHJAƒþ-„p …À…gIƒù…QùÿÿE…Òu E9$„ø LiD‰ð1Éé&úÿÿ@¿è¦OH‰ðÖÿÿèÿ'ýÿHƒøH‹ðÖÿÿöƒÎ‰5u+ézýÿÿ@A‹<$è÷Ëéäøÿÿf‰ßèéˉÃéPùÿÿAƒùÿ„¥þÿÿH‰Ê‹LjéÅùÿÿf.„¿è¦Oè–'ýÿHƒøÀƒÈ‰+éÈøÿÿfE…ö…—øÿÿE‹uAƒþ!…Üøÿÿf„IƒÅÇ…ˆ×ÿÿE‹uéÎøÿÿf„D‹…€×ÿÿE…À„¿÷ÿÿéKøÿÿD‹€×ÿÿE…É„}øÿÿé3øÿÿ‹…€×ÿÿ…À…Wƒû\‹•\×ÿÿ…ƒúÿÿD‹•„×ÿÿE…Ò…súÿÿ‹élúÿÿ@D‰µ ×ÿÿA‰Öë@IƒÄÇ… ×ÿÿM9å†ÙúÿÿA‹<$èÈÊ9ÃuÜ‹ ×ÿÿH‹•¨×ÿÿLÀ÷ÿÿH‹½ˆ×ÿÿE‰ðL‰æèöÿÿ…Àu²é§E…öf…Š÷ÿÿféCùÿÿƒû+tƒû@t ƒû!…²ùÿÿƒ9(…©ùÿÿ‹•€×ÿÿ‹¤×ÿÿ…ÒD\×ÿÿHƒéM9å†?÷ÿÿD‰½ ×ÿÿI‰ÏD‰ñL‹µ¨×ÿÿëf„IƒÄ1ÉM9å†÷ÿÿLÀ÷ÿÿA‰ØL‰òL‰æL‰ÿèyõÿÿ…ÀuÕD‹½ ×ÿÿL‹­À÷ÿÿM…í…öùÿÿ1ÀéÜöÿÿD‰÷H‰•×ÿÿD‰øÖÿÿèÁÉD‹øÖÿÿH‹•×ÿÿ1öA‰ÆE9éH‰Ñ†oüÿÿé»ýÿÿAƒþ^…îöÿÿé þÿÿM‰î1Éë(@rŸƒþ‡­HƒÁHù„cöÿÿ‰”¬×ÿÿIƒÆA‹ƒú:uÐAƒ~]uÉÇ„°×ÿÿH•°×ÿÿ‹…°×ÿÿHÀ÷ÿÿH‹½@×ÿÿë;ƒø$„öÿÿƒø@„öÿÿƒø`„öÿÿH9ú„úõÿÿHƒÂˆHƒÁ‹…À„dpàƒþ^‡Úõÿÿë·HÇÁÿÿÿA‹udH‹…öH‹:IUD‹G@„•öÿÿ‰µ°×ÿÿAƒ}=IM„ÃE‹uémöÿÿL;¥¨×ÿÿ„­þÿÿö…¤×ÿÿ„~õÿÿ1ÀAƒ<$/•ÀétõÿÿH‹½`×ÿÿD‰ÆèòAƒþ[A‰ÁH‹•×ÿÿ…íúÿÿƒ:.…ùúÿÿHÇÁÿÿÿE1ödH‹H‰ÑH‹‹p@‹B‰ÇëD…ÿ„õÿÿ‹yIƒÆHƒÁƒÿ.uè‹yƒÿ]uëHƒÁ…ö…eIƒþ…êôÿÿA‰Æ1öé¤úÿÿ€½ ×ÿÿ„‰úÿÿD‹2HƒÂérúÿÿE‹uIUéõÿÿD‰÷¶ ×ÿÿM‰î‰øëf„ƒø[t=ƒù]„ãA‹EM‰î…À‰Á„ôÿÿƒø\MnuØ„ÛtâA‹u…ö„hôÿÿMnA‹FëÐA‹Eƒø:„ñƒø=„8ƒø.uµMn€A‹E…À„,ôÿÿIƒÅƒø.uëA‹Eƒø]uæA‹MIƒÅ érÿÿÿH‹½`×ÿÿD‰öH‰ðÖÿÿD‰øÖÿÿè ðƒøÿH‹ðÖÿÿD‹øÖÿÿ…±ùÿÿE9é…øúÿÿéµùÿÿL9¥¨×ÿÿI‰Íwé¹óÿÿf„IƒÄL9¥¨×ÿÿ†ŸóÿÿAƒ<$/u苤×ÿÿD‹…¤×ÿÿIt$H‹•¨×ÿÿE1ÉL‰ïƒáèññÿÿ…À•À¶Àéióÿÿ@IVA‹NIÆ ë"€ƒéaƒù‡®þÿÿHƒÂL9ò‹ „-óÿÿƒù:uàƒz]uÚ‹JLj é{þÿÿfDA‹N…É„óÿÿAƒ~ =IF …õòÿÿƒx]…ëòÿÿA‹NMnéCþÿÿƒy]…3ýÿÿE…ÀIM…2A;4$„¤øÿÿ‹Liéªóÿÿƒ½ˆ×ÿÿ„òÿÿfé›òÿÿH‹µp×ÿÿ1ÀH‰L‰fD‰vé‡òÿÿH½À÷ÿÿÆè3ÏH…À„jòÿÿA‹<$INH‰ÆH‰ðÖÿÿè“Ï…ÀH‹ðÖÿÿ….øÿÿA‹FMn é2óÿÿƒ½€×ÿÿ„Lûÿÿö…¤×ÿÿ…?ûÿÿH‹•¨×ÿÿ¾/L‰çL)âHÁúèÂH…À•À¶ÀéùñÿÿIAH‰¥0×ÿÿHƒàðH)ÄLt$IƒæðM…É„˜1öë‰ÆF‰ö‰ÂA‹|•L9ÊAˆ<6réHÇÆÿÿÿK<E‰ÍdH‹H‹D‹˜¨H‹°°L‹€¸L‰ð¾HƒÀH9øF,êuðD‰êD‰èÁúA÷û‰Ð‰•(×ÿÿÀH˜‹<†H‰…8×ÿÿ…ÿ„xACþD‰êL‰¥ ×ÿÿÁú‰×ÿÿM‰ÄA‰ÃD‰èA÷ûD‹(×ÿÿDH˜HÁàH‰…×ÿÿADÀH˜L†H‹…8×ÿÿL‰ÛHt†H‰µ8×ÿÿë‹;H‹µ×ÿÿH×ÿÿHµ8×ÿÿ…ÿ„ìA9ýuÜH‹•8×ÿÿ‹Hc‰•(×ÿÿE¶A¶ÓL9Êu¼ItL‰ÊL‰÷H‰ðÖÿÿL‰øÖÿÿD‰•×ÿÿDˆ×ÿÿèÞkÿÿ…ÀH‹ðÖÿÿL‹øÖÿÿD‹•×ÿÿD¶×ÿÿ…kÿÿÿE…íM‰à‹×ÿÿL‹¥ ×ÿÿtnA¶ÃD‹(×ÿÿADHcÐA¶DƒàüE…ÒH˜IT„‹4‚Hcö‹LiD‹D²¹H‹¥0×ÿÿéåðÿÿE1ÒƒyA•Âé€öÿÿL‹¥ ×ÿÿ‹×ÿÿIƒù…¿E…ÒtE¾‹Li1ÉëºE¾E9$uì‹9I‰ÎH‹¥0×ÿÿ¶ ×ÿÿ‰øé ûÿÿL‹Ÿ˜H‹—ˆL‹·L‰0×ÿÿH‹¿ H‰•×ÿÿH‰ðÖÿÿH‰½8×ÿÿH‰×èµë…ÀA‰ÅH‹•×ÿÿH‹ðÖÿÿˆ2E…í„yüÿÿL‰èA‹4$H‰×%ÿÿÿH‰ðÖÿÿE‹†D‰…×ÿÿèmë…ÀH‹ðÖÿÿD‹…×ÿÿˆ„…À„5üÿÿD‰î‰ÂÁþÁú9Ö…"üÿÿH‰ÂâÿÿÿA‹4–D9Æ… üÿÿAåÿÿÿIT–1ÀK|®9ð(D‹D‹ HƒÇHƒÂE9Ê…ƒÀëÜIFH‰¥(×ÿÿ1öHƒàðH)ÄLT$Iƒâðë ƒÆ‰÷‹<ºAˆ<‰ðL9ðríHÇÆÿÿÿE‰ðL‰òdH‹H‹D‹˜¨D‰8×ÿÿH‹¸°L‹˜¸L‰Ðë¾0HƒêHƒÀFÆH…ÒìD‰ÂD‰ÀÁú÷½8×ÿÿ‰Ð‰•0×ÿÿÀH˜‹4‡H‰… ×ÿÿ…ö„Œ‹…8×ÿÿD‰ÂD‰½×ÿÿÁúA‰ßL‰Ûƒè‰…8×ÿÿD‰À÷½8×ÿÿDH˜HÁàH‰…×ÿÿ‹…0×ÿÿDH‹• ×ÿÿÀH˜H‡H|—H‰…0×ÿÿH‰½8×ÿÿë)H‹…0×ÿÿH‹•×ÿÿH•8×ÿÿ‹0HÐH‰…0×ÿÿ…ö„ùA9ðuÒH‹µ8×ÿÿ‹6HcƉµ×ÿÿD¶A¶ÓDˆ ×ÿÿL9òu«HtL‰×L‰òH‰ðÖÿÿD‰…×ÿÿD‰øÖÿÿL‰•×ÿÿè\hÿÿ…ÀH‹ðÖÿÿD‹…×ÿÿD‹øÖÿÿL‹•×ÿÿ…[ÿÿÿE…ÀI‰ÛD‰ûD‹½×ÿÿtk¶… ×ÿÿ‹µ×ÿÿD¾HcÐA¶DƒàûH˜ITHc‚D‹t‚H‹¥(×ÿÿéIòÿÿ‹4‚1ÀëA‹<„HƒÀ;<‚…[üÿÿ9ð|ë…Qüÿÿé¬üÿÿ¸H‹¥(×ÿÿéOìÿÿD‰ð¶ ×ÿÿI‰Îé­÷ÿÿHÇÆÿÿÿE1ídH‹H‹D‹˜¨H‹°°L‹€¸é•úÿÿ¸H‹¥0×ÿÿéìÿÿAƒ}(…íÿÿD‹¤×ÿÿH‹¨×ÿÿE‰ðL‰âL‰î¿?èðƒøÿ„íìÿÿéÇëÿÿAƒ}(D…PíÿÿD‹¤×ÿÿH‹¨×ÿÿE‰ðL‰âL‰î¿*豃øÿ„4íÿÿéˆëÿÿA9À…Àøÿÿfé]ñÿÿH‹µ0×ÿÿ÷ØH˜H†‹HcrE1ÉHz…ÀLVÿyë$F‹TŠG;TŒu IƒÁL9ÎwëL9΄8üÿÿH·ëÅM9уíF‹\ŠG;\Œ…ÔIƒÁëáH‹µ0×ÿÿ÷ØH˜H†D‹(HcpHxE…íxBH…ö„¦ûÿÿE1ÀD‹´×ÿÿD;të"F‹L€F;Œ…´×ÿÿu IƒÀL9ÆwèL9Æ„sûÿÿH·ë®LNÿE1ÀfëF‹T€F;”…´×ÿÿ…›IƒÀM9ÈräL‹P×ÿÿF‹H÷G‹ ‹E9ÈkÿÿÿD;L÷üoD‰èD‰ÎL‹8×ÿÿ÷ØD)ÆH˜HcöHðE‹,ƒéûÿÿH÷éÏþÿÿH‹•H×ÿÿF‹ —F‹’H÷E9ѳþÿÿD;T÷üÔD‰Ò÷ØL‹8×ÿÿD)ÊH˜HcÒHÐA‹ƒéùúÿÿH÷éìþÿÿ€UH‰åAWAVAUI‰ÕATSHƒìh‰}°H‰÷H‰M˜D‰E¨D‰M¬H‰u¸HÇEÈèùþL‹u¸‹U°L…&LMÈL‰mIƒàðIƒÆƒê?A‹‰U 1ÒM‰÷…ÉtXƒù[„ƒù*tbƒù?t]ƒù+ftVƒù@tQMfƒù!L‰ãtEƒù)„´ƒù|L‰à„0A‰ÕL‰ûI‰ÆD‰êI‰ßA‹…Éuªf¸ÿÿÿÿHeØ[A\A]A^A_ÉÃ@Aƒ~(MfL‰ãu­ƒÂL‰àëºf‹ V +…É„rA‹^IFƒû!„Q…Ɉ9ƒû]uHƒÀ‹ƒû]tf„…ÛtŒHƒÀ‹ƒû]uñHƒÀé`ÿÿÿ„…ÒDjÿL‰àudƒ} †«L‰òL)úHÁúH•*HƒàðH)ÄH\$HƒãðH{L‰þL‰…xÿÿÿL‰M€èbŽÿÿL‹M€L‹…xÿÿÿÇHÇL‰àI‰I‰ÙAƒýÿ„çL‰ûéÝþÿÿ€…Ò…Èþÿÿƒ} †L‰òL)úHÁúH•*HƒàðH)ÄLl$IƒåðI}L‰þL‰…xÿÿÿL‰M€èÝÿÿL‹M€IÇEÇL‹…xÿÿÿL‰àM‰)M‰éE1íéaþÿÿƒû^…¾þÿÿ€HƒÀ‹é¬þÿÿD¿è¦O‰UˆL‰…xÿÿÿL‰M€è8ýÿHƒøL‹M€L‹…xÿÿÿÉ‹UˆƒÉ‰ § +éTþÿÿfDH‹]ÈL‹mH…Û„ÂAƒ>)…Ÿ‹E°ƒè!ƒøvZ¹`§OºÆ¾ø¦O¿8­Oè!¾üÿL)ÄL‰òLl$L)úHÁúIƒåðéÿÿÿDL)ÄL‰òH\$L)úHÁúHƒãðé\þÿÿD‰Àÿ$Å8¬OD‹E¬‹M¨E1ÉH‹U˜L‰îL‰çèåÿÿ…À„‰H‹]È‹E¬H‹U¸H‰ßD‹}¬L‰e¸M‰îL‹e˜ƒàHƒê‰E ‹E¬AƒçH‰U°ƒàû‰Ã€M9ævH‹H…À„2M‰îH‰EÈH‰ÇM9æwåD‹E¬‹M¨E…ÿL‰òL‰îDDÃHƒÇE1Éèˆäÿÿ…ÀuqD‹E¬E…ÿ‹M¨DDÃM9ît 1ÉAƒ~ü/„ôH‹}¸E1ÉL‰âL‰öèRäÿÿ…À„ÍM9ît2D‹E¬E…ÿDDÃ1ÉAƒ~ü/„ÍH‹}°E1ÉL‰âL‰öèäÿÿ…À„–IƒÆH‹}Èé>ÿÿÿD‹E¬‹M¨E1ÉH‹U˜L‰îL‰çèíãÿÿ…À„hH‹]ÈöE¬……D‹u¬H‰ßD‹}¨H‹]˜AƒæûëfH‰}ÈHƒÇL‰æè@úE1ÉE‰ðD‰ùH‰ÚL‰îH‰Çè™ãÿÿ…À„H‹EÈH‹8H…ÿuŸéàûÿÿL;m˜wð‹E¬‹U¬M‰îD‹}¬L‰e D‹e¨ƒàƒâ‰E¸‰UAƒçûH…Û„‹D‹U¸E…Òt^D‰}°D‹}¬ë @H‹H…ÛthH{E1ÉE‰øD‰áL‰òL‰îèãÿÿ…ÀuÜD‹}°H…ÛtGIƒÆL9u˜‚pÿÿÿH‹]È럀H‹H…Ût$H{E1ÉE‰øD‰áL‰òL‰îèÈâÿÿ…ÀuÜëºfD‹}°D‹M¸D‹E¬D‰áE…ÉEDÇM9ît 1ÉAƒ~ü/„”H‹U˜H‹} E1ÉL‰öè…âÿÿ…À…zÿÿÿ1ÀéÛúÿÿfD1Ƀ} ”Áéþýÿÿf1Ƀ} ”Áé%þÿÿH‰ßD‹}¨H‹]˜D‹u¬ëH‰}ÈHƒÇL‰æèÀøE1ÉE‰ðD‰ùH‰ÚL‰îH‰Çèâÿÿ…Àt˜H‹EÈH‹8H…ÿuÉéþÿÿ1Ƀ}”Áé^ÿÿÿ¹`§Oºh¾ø¦O¿(§Oèºüÿ¹`§Oºg¾ø¦O¿§Oètºüÿ@UH‰åL‰eàH‰]ØA‰ÔL‰mèL‰uðL‰}øHƒìpHÇÀÿÿÿH‰}¨H‰u dH‹H‹ƒ¸¨u=H‰÷H‰óè7MÿÿH‹}¨D‰áHƒáE1ÉE‰àH‰Þè˺ÿÿH‹]ØL‹eàL‹mèL‹uðL‹}øÉþHÇEÀH‰}¸è?MÿÿH=ÿLmÀ‡ÒHPHu¸L‰éH•HƒàðH)ÄL|$IƒçðL‰ÿè´üHƒøÿ„iHƒ}¸…Šƒ}À…\H‹] ¾H‰ßèÔLÿÿH=ÿH‰]¸‡ÁHPHu¸L‰éH•HƒàðH)ÄH\$HƒãðH‰ßèIüHƒøÿI‰Æ„ûHƒ}¸uzD‰áJ³E1ɃáE‰àH‰ÞL‰ÿèZàÿÿéúþÿÿIÇEH]¨1Ò1ÿL‰éH‰ÞèúûHƒøÿ„¯HPH•HƒàðH)ÄL|$Iƒçðƒ}ÀutL‰éH‰ÞL‰ÿèÀûéÿÿÿHÇEÀLE 1Ò1ÿL‰éL‰ÆL‰E˜èœûHƒøÿI‰ÆL‹E˜tNHPH•HƒàðH)ÄH\$Hƒãðƒ}ÀuML‰éL‰ÆH‰ßè_ûé%ÿÿÿ¹V§Oºq¾6§O¿@§Oè1¸üÿƒÈÿéþÿÿ¹V§Oºu¾6§O¿@§Oè¸üÿ¹V§Oº•¾6§O¿@§Oè÷·üÿD‹GE…À~FAƒè1ÒH‹A9Ðv0BÑè‰Á;49ÂA‰ÀsÐÑè‰Á94}îPA9ÐwÖfD‰Ð94‡t 1ÀÃfDBÃ@H‹+H‰= +öF0<t`<t1ÀÃH‹FH…Àtó€x0uê‹H(H‹@H…ÀH‰FtH‰0Hcv(H‹‡ÐHcуù?‹4°‰4w¾HÇÀþÿÿÿHÓÀH!‡ë«€H‹‡ÐH…Àt˜HcV(‹ ¸Óà‰N(H˜H ‡1ÀÃffffff.„¶F0< tP<t,H‹FH…ÀtH‹V H‰P H‹FH…ÀtH‹V H‰P 1ÀÀH‹FH‹VH‹HH‰J H‹V H‰P 1ÀÃDH‹FH‰p 1ÀÃffff.„€~0t 1ÀÀ9~(uñ€N21ÀÃ@…Òu€g8ùÇHÇFHÇFöG8ƒàùƒÈˆG8‰H‰NL‰FÄATƒ~hD‹V8US„~D‹^,ABA9Ã~qH‹^H˜ƒ<ƒÿueABH˜Hƒ¸ë@D‹HƒÂAƒøÿu ƒÀFE9Ø|çƒ~hÇtMcÒB‹“‰WF81À[]A\ÀH‹VMcÒB¶ëÞfDщN8D¶BA€øtoA€øtiA€øtc‹D$ …À…A€ø…;NH}5ƒ~hH‹FHcÙ¶~;N,t H‹nƒ|ÿt<\„Y<[t<]„Û¸ émÿÿÿf„;NHD¶#A¹ 1ÀëMf„L‹FHcÙƒÁE¶‰N8;NHõE8ÄœL‹WHcȃÀAƒéEˆ „ÔD¶B‹N8A€øu¶€~ct°€~d„5‹n,HcÙ9Ít L‹FAƒ<˜ÿt!L‹FL‹E‹˜DF(McÀG¶AöÀ€„ÉH‹nƒÁD¶D‰N8émÿÿÿǶˆG1Àé‰þÿÿDL‹VHcÙA€<]…RÿÿÿƒÁH˜‰N8H‹OƶR€úta€útO1À€ú…IþÿÿÇé>þÿÿf.„[]¸A\ÃA€áf„§þÿÿƒÁ;N@›þÿÿ‰N8¸ éþÿÿÇ1ÀéøýÿÿÇ1Àéëýÿÿƒ~h»tGDQMcÒIÁâD$ A9ì}3L‹fG‹$IƒÂAƒüÿu!ƒÃëà‹^(H‹.˃ÁHcÛD¶D‰N8égþÿÿ ‰N8é\þÿÿf.„SH‰ûHƒì ‹‡€ƒø„H‹pDPLcÈD‰“€M‰ÈL‰ËHÁãIÁàNLT;K\ IÇ@I‰pHÁãI‰RL‹ I@L‰L;H‹IHÇDH‰L;ÁéƒáóH…öˆL;IÇBAÇ@@ÿÿÿÿtH‰H…ÒtH‰HƒÄ [ÿÈH‰T$H‰L$H‰t$è€ÿÿH‰Ç1ÀH‹T$H…ÿH‹L$H‹t$tÈH‹Cpǃ€AºE1ÉH‰H‰{pé&ÿÿÿ@SH‰ûH‹ èsÿÿH‹{0èjÿÿH‹C8HSH9ÐtH‹xèTÿÿH‹{8èKÿÿH‹{èBÿÿH‹{Hè9ÿÿH‹{@è0ÿÿH‰ß[é'ÿÿ€AWAVAUATUSHƒì‹¬H‰|$…ÉŽœE1ÿE1öf„H‹T$H‹‚¸N‹,8A‹U…Ò~/1í1Û@I‹EƒÃL‹$(HƒÅI‹|$è·ÿÿL‰çè¯ÿÿA9]ÙI‹}è ÿÿI‹EH…ÀtH‹xèŽÿÿI‹}è…ÿÿL‰ïAƒÆIƒÇèuÿÿH‹D$D9°¬sÿÿÿH‹T$Ç‚¬Ç‚”HƒÄ[]A\A]A^A_Ãff.„ATH…ÿUH‰ýStG‹…Û~81ÛE1äf„H‹EAƒÄH‹|èþÿÿH‹EH‹|HƒÃ èìÿÿD9eÖH‹}èÝÿÿ[]1ÀA\ÃfDSH‰ûH‹?èÄÿÿH‹{è»ÿÿH‹{è²ÿÿH‹{è©ÿÿH‹{ è ÿÿH‹{(è—ÿÿH‰ß[éŽÿÿfffff.„Hƒì‹F0%ÿƒøtƒøt 1ÀHƒÄÃH‹~(èWÿÿ1ÀHƒÄÃH‹~(èwÿÿÿëÛDH‰\$èL‰d$øH‰ûH‰l$ðHƒì‹/M‰Äƒí…í‰/xjH‹GHcíHcÒHÁåHÁâ‹<(‰>H‹t(H‰ÏèxkÿÿI‹|$èîÿÿH‹CH‹|(èàÿÿH‹CH‹$H‹T(I‰$H‹T(I‰T$L‹d$‹D(H‹l$HƒÄùŸ®Oºa¾_­O¿i­Oè9¯üÿf„H‰\$èH‰l$ðH‰ûL‰d$øHƒìƒh‰õ~6LcæH‹IÁäL‰æè!ÿÿH…ÀtYH‹{H‰CH…ÿtL‰æèõ ÿÿH…Àt?H‰C€{cu‰k41ÀH‹$H‹l$L‹d$HƒÄÃfDH‹{Hcõè¼ ÿÿH…ÀtH‰Cë˸ ëÉf.„ATH…öUH‰õSH‰û„ ‹V…Ò„‹GD‹' PA9ÌŒ …À„bD$PƒêƒèfD…Àx<…Òx8H‹KH‹uHcøLcÂB‹4†94¹„Õ¿Aƒìƒê…ÀIcü‰4¹yÊfD…Òx&‰ÐH‹uƒÂ÷ÐHcÒF$ HÁâIcüHÁçH{è¾iÿÿ‹K‹uAÿ4pVD)âtZ H‹{LcÆHcè‰Kf.„B‹‡‹ ¯9Ë~ ƒêHcɉt'ƒî‹ ¯LcÆB‹‡9ËáƒèHcÛ‰ ŸxhHcèëÃ1À[]A\Ãf„ƒèéÿÿÿ„ƒêƒèéýþÿÿDAÔH‹EäIcôHÁæè:ÿÿH…ÀtNH‰CD‰#‹C‹Ué³þÿÿMcäHcÒJ4§HÁâèÝhÿÿ[]1ÀA\ÉSHcUH‹{H‹uHÁâè¾hÿÿ1Àéiÿÿÿ° ébÿÿÿAWAVAUATUH‰õSH‰ûHƒìD‹VH‰T$E…Ò„êD‹ZE…Û„Ý‹GG$‹A 9ÑœL‹}E,AƒêIcÒH‹{ƒèEÝAƒëE‹ —H‹T$L‹rIcÓE‹$–€E9átAƒëˆ³IcÓE‹$–E9áuã…ÀxDHcÐD9 —H •Ž…HÿHcÉHÁáHëD‹2HƒêLAüD9Î~aL‰ÁƒèƒøÿuæAƒíIcÕD‰$—AƒêxMAƒëxGIcÒE‹ —ë‹fD1ÀHƒÄ[]A\A]A^A_ÀAƒêxIcÒE‹ —éFÿÿÿfDD9 u¤ë­‹K‹uH‹T$ÎAÿƒîrVD)ê …Ò‰K~R…ÀLcÆHcèxH„B‹‡‹ ¯9Ë~ ƒêHcɉtƒî‹ ¯LcÆB‹‡9ËáƒèƒøÿHcÛ‰ ŸtHcèëÀHcÒHÁâMcíJ4¯èÝfÿÿHƒÄ1À[]A\A]A^A_ÃAÔH‹IcôHÁæèéÿÿH…Àt H‹T$H‰CD‰#‹CD‹UD‹Zé0þÿÿ1Òë«° éïþÿÿffff.„H‰\$ØH‰l$à‰ÕL‰d$èL‰l$ðH‰ûL‰t$øHƒì(‹—”‹‡˜A‰ôA‰ÍE‰Æ9ÂÁ…ÒŽH‹ƒ HcÒHL’ûH ˆ9i„ H’D‰$Hc“”H’‰lHc“”H’D‰lHc“”H’D‰t ‹‹”1ÒE9õ•ÂE)îHcñƒêƒÁH4¶HÁæÆD0f‰T01ÀD9³¨‰‹”}D‰³¨H‹$H‹l$L‹d$L‹l$L‹t$ HƒÄ(ÃDÀH‹¿ H˜H4€HÁæè˜ÿÿH…ÀtjHc‹”Hc“˜1öH‰ƒ H ‰H’H<ˆHÁâèGTÿÿ‹“”Ñ£˜…ÒêþÿÿH‹ƒ HcÒé÷þÿÿ@ÆAH‹ƒ Hc“”éÜþÿÿH‹» èmÿþÿ¸ éAÿÿÿH‰\$ÐH‰l$ØH‰ûL‰d$àL‰l$èL‰t$ðL‰|$øHƒìXH‰t$H‰T$H‹GH‹oH9èƒàHÁàHˆT$¶òH‹T$H‰H‹T$H‰PH‹CH‹HÁàdÿüÿƒþH‹H‹K„Žƒþ@”ÆHÁáÁæ¶D ƒàï ðˆD H‹CH‹SÇ‚ÿÿÿÿHÁàHC(HÇHÇ@H‹CHÁàHC0HÇHÇ@H‹S‰ÐHƒÂH‰SH‹\$(H‹l$0L‹d$8L‹l$@L‹t$HL‹|$PHƒÄXû¤@ŸÆéiÿÿÿLl-L9퇑I‰ìH‹?ˆT$IÁäL‰æèÌÿÿH…ÀtvH‹{HÁåH‰H‰îè´ÿÿH‹{ H‰îI‰Çè¥ÿÿH‹{(L‰æI‰Æè–ÿÿH‹{0L‰æH‰Åè‡ÿÿM…ö¶T$t,M…ÿt'H…Àt"H…ítH‰C0L‰{L‰s H‰k(L‰kH‹CéþÿÿƒÈÿé&ÿÿÿf„UH‰ýSH‰óHƒì€~0tfH‰sH‹S0H‹v(è þÿÿƒøÿ‰C8tj1Ò€{0 t HƒÄ‰Ð[]Ã@H‹u·K(H˜HÁà‹T0áÿÁáâÿüÿ ʉT0HƒÄ1Ò[‰Ð]ÃfDH‹FH‹P‹@8H‰V‰F81ÒHƒÄ‰Ð[]ú ë—@AWAVAUATUH‰ýSHƒì(ƒhD‹g4D9g@DNg@‹_,A9ÜŽTLo L|$ë ‰ÓA9ÜŽ=H‹EPD‰âL‹u )ÚH…À…<HcE(HcóHÆHuHcÒL‰éL‰ÿèóæHƒøþ„šHPÿHƒúý‡b‹T$H‹MHcó‰±S9Â}“HcòA‰ÛL ±¾A÷ÓAÃL‰ÏƒçHÁïH)þH‰÷ƒçA9ûAFû…ÿ„lM‰Ê‰ÖE1ÀAƒÀAÇÿÿÿÿƒÆIƒÂD9ÇwéA9ûtbA‰ÀA)ØAƒèA)øE‰ÃAÁëFE…Òt)‰ÿfoÍcM ¹1ÿƒÇfAIƒÁD9ßrïDÖE9ÐtHcþH ¹ƒÆÇÿÿÿÿHƒÁ9ðï¹þÿÿÿ)Ù‰ËÃ\A9ÜÉþÿÿfD‰],‰]0HƒÄ([]A\A]A^A_Ã…Ò~Cƒ}h~=H4$Hcû1ÉD‹E(L‹MAØAȃÁMcÀG¶B¶L‹EAˆ8ˆHƒÇHƒÆ9ÊH‰æéƒþÿÿ9Mh~óH‹EP빋E(H‹UØH˜¶H‹EPH…À‰T$uL‰u ¸éxþÿÿL‰u é^ÿÿÿHcÒ¶‰T$ëܹ ºOºÈ¾r­O¿ƒ­Oè@¤üÿ‰Öé±þÿÿf„USH‰ûHƒì…öx3;w@„¤ƒh~4HcÆHÁàHGf„‹(ƒýÿuiHƒèƒîyð‹CLHƒÄ[]ÃfDH‹GHcöH‹OX¶0HcÂHÁèH‹ÁH£Ðr ƒú t61ÀHƒÄ[]Éïèk¨…Àuƒý_ufHƒÄ¸[]Ã@€{fu؃ý uÊ€{e¸u1À뽃âƒúÀƒàƒÀévÿÿÿH‰\$ÐH‰l$ØH‰óL‰d$àL‰l$èH‰ýL‰t$ðL‰|$øHƒìhD‹n8D9nHŽªH‹ND¶g McýF¶49AƒäŸDˆg D‰æDˆ7‹Chƒø~D;k,tH‹{Bƒ<¿ÿ„.A€þ\„¤ƒøÆEŽ7H‹CH‰T$H‰L$B‹4¸‰÷‰t$èz§‹t$…À@•ǃþ_”À øÁàD àˆE H‹T$H‹L$Aƒî A€þsv;¸ë @ÆG1ÀH‹\$8H‹l$@L‹d$HL‹l$PL‹t$XL‹|$`HƒÄhÀE¶öBÿ$õà®O@A};{@ã€{c…:LcÇF¶,ƒøDˆmÆEŽÀHcÿL½LCA‹H‰T$‰ß貦ƒû_”Á…À•À ÈÁàD àˆE H‹T$AEÙH‹S‰‚HƒÀëîH<…H‰L$èÀúþÿH‰ÂH‰CH‹L$H…Ò¸ …þÿÿéÚùÿÿÆCdéþÿÿ„D‹O4D9O@DNO@‹G,A9ÁŽ‚HcÈIÇÂØÿÿÿë3HÇÆàÿÿÿL‹_dH‹H…Ò„ŠB‹‚ƒÀAˆ HƒÁA9Á~D@‹W(H‹7ÂHcÒ¶4H‹WPH…Òu2dI‹H…Òt2LcÆBöDBu¤H‹WƒÀ@ˆ4 HƒÁA9ÁÀD‰È‰G,‰G0ÃHcö¶42ëÅHÇÂÿÿÿdH‹H‹H‹R@HÂdI‰ë¯HÇÂÿÿÿdH‹H‹H‹RHHÂdH‰éTÿÿÿ@USH‰ûHƒì‹w4öè=åÿÿ…À‰Å…—H‹»ˆH…ÿt"‹s4ƒÆHcöHÁæèUÿÿH…À„¶H‰ƒˆ€{`uoƒ{h}H‹KPH…ÉtPD‹K4D9K@DNK@‹C,A9Á~5HcÐëfH‹KP‹{(L‹H‹sǃÀHcÿA¶<8¶ 9ˆ HƒÂA9ÁÕD‰È‰C,‰C0HƒÄ‰è[]Ã{h~*HƒÄH‰ß[]él÷ÿÿ@H‰ßèíÿÿHƒÄ‰è[]ÀH‰ßèþÿÿëº@µ ë²fffff.„AWAVAUATUH‰ýSH‰óHƒì(‹NL‹p…ÉŽåE1íE1äëDAƒÄIƒÅA9ÌÇH‹CF‹4(IcÆHÁàI€xu׋ƒø?wÐI‹·H£Æsˬ;°„šL‹…¸¾ ¿‰T$‰L$L‰D$èÞîþÿ‹L$L‹D$‹T$HcÉI‰ÈHc…¬H‹¸H‹ÁH…À„D‰p‹…¬AƒÄIƒÅHcðƒÀH‹ ñ‰‰…¬‹KA9ÌŒ@ÿÿÿ€1ÀHƒÄ([]A\A]A^A_ÃÉH‹½¸‰T$Hcñ‰L$HÁæèJÿÿH…ÀI‰À‹T$‹L$t‰°H‰…¸‹¬é(ÿÿÿ¸ ë¥ff.„AWHcöHÁæAVAUATUSHƒìHH7D¶fA€ü„v D‹zhAƒÿ„«D‹B,AD9À›H‹ZH˜ƒ<ƒÿ…‹AH˜Hƒ»ë‹(HƒÀƒýÿu ƒÃ, A9èêA€ü„gHÇÇÿÿÿA½dH‹L‹0A‹F@…À‰D$t`H‹zLcÉM‹F`IùH‰|$I‹FPA¶9MiHc¸H…ÀˆdD+l$A)ÍAƒý~&A€üt+„1ÛHƒÄH‰Ø[]A\A]A^A_ÃDƒû~ãA€üuÝL‹bH‹.HcÉIÌL‰d$Hƒ}@„ž‹u4Aƒÿ„pH‹B‹<ˆ…öA‰ü~'H‹U1À;:uë_f„‹JHƒÂ9ÏtKƒÀ9ð|îD‹UDE…ÒŽE1öE1ÿëf„AƒÇIƒÆD9}DŽFH‹E(D‰çJ‹40è^–…ÀtÚ‰ØöE0„…À&ÿÿÿD9ëALÝéÿÿÿf.„A€ü»…™þÿÿƒû„øþÿÿH‹‡È¨@uH‹zHcñ€<7 „Üþÿÿ„À‰ÖþÿÿH‹BHcÉ€<„Ãþÿÿé½þÿÿI)ÀDE‹A¶xIhE…Ûx_H…ÿ„KD¶U1ÀE:Utë&€E¶TE:Tu HƒÀH9ÇwêH9Ç„LD=HƒÇƒçt£¸H)øIÀë–fDH…ÿ„¶EE1ÛˆD$A¶E8D$ˆD$…ëL‰Øë@E¶TE¶\E8ÚuHƒÀH9ÇwæI‰Ã„™D¶TE¶\E8Ú‡D¶T=E1ÛMD8D8T$L‰Øté(E¶E¶\IƒÀE8ÚuHƒÀH9ÇwäI‰ÃtLDE¶\E¶8E8Úr:I‰û¶D$1ÿ8D$uL‰Ø€HƒÇD¶D=E:D9tïI‰ÃMÝé0ýÿÿ@H?LDHƒÀƒà„‚þÿÿ¿H)ÇIøérþÿÿ‹u4E1ä…ö„–ýÿÿéRýÿÿ‰Ãé ýÿÿHÇÂÿÿÿdH‹L‹0A‹v@‰t$D‹L$E…É„ÇD‹U8Aƒú„gM‹ž¸ŽZL‹ME1ÀL‹|$ëAƒÀIƒÁE9ÂŽ8IcI¶D9èuàE…ít:A¶:BuÒL‰ù1Àë¶y¶rHƒÁHƒÂ@8÷u³ƒÀD9è|ãu©D‰èé!ýÿÿ1À€éýÿÿIýé'üÿÿH‹D$¶8éŠüÿÿE1ÛéÚþÿÿD¶\$D¶T$é<þÿÿD‹E@E…À~»HD$ L|$ D‰d$(ÇD$ ÇD$$E1äHƒÀÇD$,ÇD$0ÇD$4E1öIƒÇH‰D$ë„AƒÆIƒÄD9u@ŽUÿÿÿH‹EH|$ L‰þB‹ ‰D$ H‹E B‹ ‰D$0èùÏ…ÀÅH‹t$L‰ÿèèÏ…À´é5üÿÿ‹U@…Ò„D9ë-M‹–¸M‹žÀMcýE)ÓE…Û޵1Àë+A|<ƒçüƒÇ…ÉHcÇA¶D‡…zƒÀA9ÃކHcÈA¶ DHcÈD`A¶< 1ÉHc÷I9÷u³…ÿ„OH‹t$IcÌA¶ :…:ƒÀH‹L$Hcð1ÀI42ëD¶D¶AHƒÆHƒÁE8ÁuƒÀ9Çã1É9Ç”ÁéZÿÿÿD¶\$éýÿÿƒÈÿ…Ò~/H‹}1É1öf„;rL‹E A;†üýÿÿƒÆHƒÁ9Ö|âD‹MÿÿÿL‹µ€þÿÿL‹­þÿÿD‹½ŒþÿÿH‹ þÿÿA‹~ éèûÿÿIÇÀèÿÿÿÆdI‹8H…ÿ„GHc<AÆ<f„HƒÂHƒÆHú„pþÿÿD‹E…Àyâë·ÆEÌëf.„¶ẼÀ„ÀˆEÌ„ÎüÿÿH°þÿÿHuÌ1ÿºHÇ…°þÿÿè¶HƒøþuƶEÌAÆë»H‹GHÁèƒà‰…¬þÿÿéðúÿÿ‹}ÌL‰…pþÿÿèÖpL‹…pþÿÿHUÀ‰ÆL‰ÇèñCÿÿHƒøÿL‹…pþÿÿ„PüÿÿA¶AÆA‹~ éíúÿÿAöÄL‰çºH¸…Ã@öÇ…Ì@öÇ…¹‰ÑÁéö‰ÉóH«…öÂux€âtªH‹…˜þÿÿ€H8éõûÿÿAöÄL‰ç»H¸u\@öÇuO@öÇuW‰ÙÁéöÉÉóH«u'öÃu€ãu ƒú…¯ûÿÿf릪Dëëf«@ëÞ«DëÑf«ë„«éxÿÿÿf«ƒë몪f»ÿ뫃ë룪fºÿé3ÿÿÿ«ƒêé>ÿÿÿf«ƒêé*ÿÿÿHÇÂÿÿÿdH‹H‹H‹RXHÂdH‰é%úÿÿHÇÂÿÿÿdH‹H‹H‹RXHÂdH‰é-ýÿÿIÇÀÿÿÿdM‹M‹M‹@XIÀdM‰Eé¤ûÿÿHÇÇÿÿÿdH‹?H‹?H‹XHÇdI‰8é—ýÿÿf„ATºUSL‹g H‰ûH‹/AöÄL‰ç…°@öÇ…Æ@öÇ…܉Ñ1ÀÁéö‰ÉóH«t ÇHƒÇöÂt fÇHƒÇƒâtÆH‹uHL‰âH‰ßèløÿÿH‹uPH9uHtL‰âH‰ßèWøÿÿH‹uHH‹EXH9ðtH‰ÆL‰âH‰ßè<øÿÿH‹EHH‹u`H9ðt L‰âH‰ßè$øÿÿ€K81À[]A\Ãf„I|$AÆ$fºÿ@öÇ„Bÿÿÿ„fÇHƒÇƒê@öÇ„.ÿÿÿf.„ǃêHƒÇéÿÿÿfffff.„AWAVAUI‰ýATUSHƒìH‹H…Òt_H‹OH…ÉtV1À1Û넃ÃHcÃH9Ès=I‹UHÁàH‹B%ÿƒø„RƒøuÔH‹:ƒÃè ÈþÿI‹MHcÃH9ÈrÈDI‹}èïÇþÿIƒ}t_1Û1í@I‹E0H…ÀtH‰ÚHÁâH‹|èÆÇþÿI‹E8H…ÀtH‰ÚHÁâH‹|è¬ÇþÿI‹E(H…ÀtHÁãH‹|è•ÇþÿƒÅHcÝI;]r©I‹}(è€ÇþÿI‹}0èwÇþÿI‹}8ènÇþÿI‹}èeÇþÿI‹}@H…ÿt\E1ÿE1öfDN$?A‹,$…í~1í1ÛI‹D$ƒÃH‹<(HƒÅ諾ÿÿA9$åI‹|$AƒÆIƒÇèÇþÿE9µ„rI‹}@ë´I‹}@èûÆþÿI‹}xHÿÀ¹OtèéÆþÿI‹½ÐèÝÆþÿHƒÄL‰ï[]A\A]A^A_éÇÆþÿH‹:èï¿ÿÿI‹MévþÿÿfDSH‰ûH‹?H…ÿtè/þÿÿH‹{ HÇHÇCè‡ÆþÿH‹{(HÇC èvÆþÿHÇC([Ãfff.„AWA‰×AVAUATUH‰ýSH‰óHƒìHcF ‰ÇFH<…‰FèìÔþÿH…ÀH‰C „‹K …É~ZE1íE1äë AƒÄIƒÅA9Ì}EH‹CH‹UF‹4(IcÆHÁàöDuÙ‹C‹S9ÐtZH‹C HcʃÂD‰4ˆ‰S‹K AƒÄIƒÅA9Ì|»D‰ú#•„HÁâHU@‹*9j~PH‹BHc̓ÅH‰ȉ*1ÀHƒÄ[]A\A]A^A_ÃDH‹{ ‰CH˜H4…èáþÿH…Àt˜H‰C ‹S낸 ëÂl-H‹zH‰T$HcõHÁæèíàþÿH…ÀH‹T$tÖ‰jH‰B‹*놄AWAVLcöIÁæAUATUH‰ýSH‰ÓHƒì8Lw81ÿHÇD$ HÇD$(‰t$H‰L$E‹~E…ÿŽxE1íE1äI‹VF‹*D;T$„…H‹EMcÒIÁâBöD„nL‰ÐHE(¿ÿÿÿÿƒxH‹p‹~‹~E…ÿ~IEOÿ1öD9Îs3A1ÑèA‰ÀB; ‚@9ÆA‰ÁsðÑèA‰ÀB; ‚~ìpD9ÎrÑ@‰ð; ‚„­D‹KE…É~PAƒé1öL‹[D9Îs5A1ÑèA‰ÀC; ƒfD9ÆA‰ÁsðÑèA‰ÀC; ƒ~ìpD9ÎrÏ@‰ðA; ƒ„ï…ÿޤE…ÿ~JEGÿ1ÉD9Ás4AÑè‰Æ;<²€9ÁA‰ÀsÈÑè‰Æ;<²~îHD9ÁrÒfD‰È;<‚„‹s…ö~Nƒî1ÒL‹C9òs1Ñè‰ÁA;<ˆ@9‰ÆsÐÑè‰ÁA;<ˆ~îP9òrÖ€‰ÐA;<€„ì@AƒÄIƒÅE9üŒWþÿÿE…ÿŽãH‹|$(M‹NE1Àf‹l$$A‹1…í~@ƒí1Ò9ês,DÑè‰Á;4€9ЉÅvÐÑè‰Á;4~ïP9êrÔ‰Ð;4‡„D‹[E…Û~LEcÿ1ÒL‹SD‰å9ês3DÑè‰ÁA;4ŠD9‰ÅsÐÑè‰ÁA;4Š~îP9êrÔ€‰ÐA;4‚t'AƒÀIƒÁE9øŒOÿÿÿèZÂþÿ1ÀHƒÄ8[]A\A]A^A_Ã…Ò‰ÐxÓD9Ú}ÎD9âD‰c})HcÒIL’I’f„‹1ƒÀHƒÁ‰2HƒÂ;C|ìE‹~AƒÀIƒÁE9øŒçþÿÿë–ƒþÿ„þÿÿL‰ÒHU8H‹t$H|$ 覾ÿÿ…À…£E‹~AƒÄIƒÅE9üŒéüÿÿéþÿÿ@ƒúÿ„âþÿÿAƒÀIƒÁE9øŒ†þÿÿé2ÿÿÿƒþÿ…£ýÿÿ€é>ýÿÿƒùÿD„ÝýÿÿAƒÄIƒÅE9üŒ‰üÿÿé-þÿÿ@ƒúÿ…[ÿÿÿ€éþÿÿH‹|$(fDéÌþÿÿH‹|$(‰D$èÁþÿ‹D$é¼þÿÿ@H‰\$ðH‰l$øHƒì‹H‰û‰õ…Àt'‹W…ÒuMH‹G‰0ƒG¸H‹\$H‹l$HƒÄÃfÇÇG¿èyÏþÿH…ÀH‰C„¾‰(¸ëÂ9ЄÊH‹O;)}^…ÒޱHcòƒêHµH<µüÿÿÿH)ÖHµüÿÿÿH‹sëH‰ñD‹9HƒïD‰HƒèH9Ðuè1À‰,†¸ƒCéTÿÿÿHcÂH‰ÎD‹DüD9Å}߃êH‹sHcÒHzÿL ¾ëH‰ÐH‰ñH‰úHƒïD‰E‹IƒéD9Å|ãH‰Ðë¨ÇCǃÈÿéøþÿÿHcÂH‰Îë‹À‰H˜H‹H4…èjÛþÿH‰ÁƒÈÿH…É„ÊþÿÿH‰K‹Séÿÿÿffffff.„AVA‰ÎAUE‰ÅATI‰üUH‰õ‰ÖSf.„‹}…ÿ~@ƒï1ÉH‹U9ùs,Ñè‰Ã;4š9ȉÇvÈÑè‰Ã;4š~ïH9ùrÜ„‰È;4‚tIHcÞHÁãH‰ØI$¶PD9êtBH‰ïèúýÿÿƒøÿtOH‰ØID$(‹P…ÒtƒútIH‹@‹0évÿÿÿfDƒùÿt²1À[]A\A]A^ÃD90u¹Aƒý uêH‰ïfè«ýÿÿƒøÿuÛ¸ ëÕfDH‹@E‰èD‰ñH‰îL‰ç‹Pèÿÿÿ…Àu³H‰ØID$(ë‘fAWI‰ÿAVAUATI‰ôU‰ÕS‰ËHƒì(HcFÇD$H<…‰D$è ÍþÿH…À„üE‹D$H‰D$E…ÀŽ–E1íE1öf„I‹D$B‹(HcòHÁæIw0D‹NE…ÉŽ—M‹H‹N1ÿë@ƒÇHƒÁD9Ï}|D‹IcÀHÁàID¶XD9ÛuÜ;(uØAƒøÿtZHt$A‰Ø‰éL‰ÿè þÿÿ…ÀuRAƒÆIƒÅE9t$yÿÿÿI‹|$è½þÿH‹D$I‰$H‹D$I‰D$1ÀHƒÄ([]A\A]A^A_ÃH|$èn¸ÿÿ…Àt®H‹|$‰D$èL½þÿ‹D$ḛ̈ ëÈfAWAVAUATE‰ÄUH‰ýSHƒì8‰L$,‰ÑfDL‹}HcÞI‰ÝIÁåO/A€x„{H‹E(J(‹z…ÿ„ƒÿ„GL‹uHcÉH‹RH‰L$HÁd$HD$EVÿ‹McÊM‰ÈH‰D$ Ç@IÁàE…ÒO~Aö@ …|@LcóH‰ïIÁæK‹47K‹T7è ½ÿÿƒøÿA‰Ç„ÒL‹EIc÷D‰çH‰ñfçÿHÁá‰øI %ÿÁà‹Qâÿüÿ ‰QC‹D0âÿüÿÁè ø%ÿÁà ‰QÁêƒÊˆQ H‹E H‹|$H}(‰°D‰þèôúÿÿ…ÀˆZ‹L$,E‰àD‰ú‰ÞH‰ïè¨þÿÿ…À…CH‹E(H‰ïJ‹D(D‹pH‹EIcÞHÁãH‹4H‹TèW¼ÿÿƒøÿA‰Å„ L‹EHcðD‰çH‰ñfçÿHÁá‰øI %ÿÁà‹Qâÿüÿ ‰QA‹DâÿüÿÁè ø%ÿÁà ‰QÁêƒÊˆQ H‹E H‹|$H}(D‰4°D‰îè*úÿÿ…ÀˆD‰éD‰öéþÿÿ€AƒîL‹] 1ÀIcþH‰úHÁâIë2fDA I‰ÐHƒèHƒêHwÿ…ÉŽMþÿÿAö@ „BþÿÿI‰ùH‰÷C;‹‰ÁA4 uÈE‹@AÁèAàÿE9Äu´H‹|$ èšùÿÿ…À‰Âþÿÿ¸ HƒÄ8[]A\A]A^A_ÃfDH‹ELcÁH‰ïM‰ÁIÁáD‹4˜H‹E(McîBÇDIÁåK‹4/K‹T/L‰D$L‰L$èçºÿÿƒøÿA‰ÇL‹D$L‹L$t“L‹UHcðD‰çH‰ñfçÿHÁá‰øI %ÿÁà‹Qâÿüÿ ‰QC‹D*âÿüÿÁè øL‰Ï%ÿÁà ‰QÁêƒÊˆQ H‹E D‰4°H‹E‹˜B‰€H}(D‰þè«øÿÿ…ÀˆÿÿÿD‰ùD‰öéˆüÿÿ„LcéH‹RIÁå9ñJ<(D‹2ÇGt ;t$,„ÂA‹@IcÞH‰ïHÁãÁèf%ÿf‰D$I‹4I‹Tèñ¹ÿÿƒøÿA‰Ç„£þÿÿ·D$L‹EIc÷H‰ñHÁáI A ÄD‰ç‹Qfçÿ‰ø%ÿâÿüÿÁà ‰QA‹DâÿüÿÁè øL‰ï%ÿÁà ‰QÁêƒÊˆQ H‹E D‰4°éÿÿÿH‹EHcÉ‹˜‰ˆHƒÄ81À[]A\A]A^A_ÃD‰öèŸ÷ÿÿ‰Â1À…Ò‰þÿÿéüýÿÿfffff.„AWAVAUATUHcêHÁåSH‰óHƒìHH‹F(H‰|$‰T$ ‰L$‹D(ÇD$4ƒÀ‰D$0H˜H<…èÇþÿH…À„H‰êHS0H‰D$8ÇBÿÿÿÿH‹H*‹H÷ÁÿtH‰îHs(D‹fE…ä…ƒö@„ÉH‹s(Hî‹~…ÿŽ·E1íÇD$E1öL|$ I‰ìëV€…É„H‹H‰T$ H‹@H‰D$(H|$0L‰þè²²ÿÿH‹C0D‹\(E…Û„°H‹s(AƒÆIƒÅLæ‹~A9þ}3H‹FB‹(HcêHÁåH‰èHC0‹Hƒùÿu“ÇD$AƒÆIƒÅA9þ|Í‹t$ H|$0L‰åè%öÿÿD‹T$E…Ò…‡H‹T$0H‹C0H‰(H‹T$8H‰T(H‹D$0H‹T$H‰H‹D$8H‰B1ÀHƒÄH[]A\A]A^A_Ãf„H‹|$(èÖ¶þÿH‹s(ÇD$Læ‹~élÿÿÿ€H‰ÞL‰ÿèþÿÿ…À„öþÿÿë«D‹L$E…É…kÿÿÿH‹C0BÇD épÿÿÿH‹vHc6HÁæöD2 …gþÿÿÁéH‰ßA‰È‹L$ Aàÿ‰Ê‰Îè ùÿÿ…À…MÿÿÿH‰èHé7þÿÿf.„‹t$ H|$0èõÿÿéöþÿÿ° éÿÿÿfDAWAVAUATUSHìxH‹Gp‰T$d‰Œ$lHcÑHÁâHÇ„$€H‰|$(H‹H0H‰„$XIcÀHkÀ‰t$hD‰D$lHÇ„$0Ç„$THʶL$dHÓ¤$€H‰”$ø·Œ$€‹Z‰òH‰D$H‰ðƒâƒà‰”$ˆ‰D$4÷Ñf‰Œ$²ëcH‹”$øH‹Œ$0H‹BH‹”$X‹‰„$hH˜HÁàH‰„$(H¶P€ú„Í€ú „£€út9ƒ„$THƒ„$09œ$T|”1Àƒ¼$ˆ•ÀHÄx[]A\A]A^A_Ã|$lÿtÀH‹L$(H‹D$HH H‰„$ðëH‹”$ð€z„kHƒ„$ðH‹”$ð‹Œ$h9 uÒƒ|$d?w·BH…„$€t½H‹”$XH‹Œ$(H‹B(‹”$lH‹D‹9Љ„$P„‘ H‹L$(Hc„$PHÇ„$8Ç„$DH‹IpHÁàH‹Q0H‰Œ$HHÐH‰„$è‹Hë#€ú „ €ú„¿ƒ„$DHƒ„$89Œ$Dõ H‹”$èH‹BH‹”$8‹H‹”$H‰„$dH˜HÁàH‰„$ H¶P€úuƒ|$4t›‹T$d;u“ƒÈÿé‰þÿÿƒ¼$ˆ„Tþÿÿ‹L$d9…Hþÿÿ1Àéhþÿÿƒ|$4„6þÿÿ‹T$d9…*þÿÿë¾H‹Œ$ø‹YéþÿÿH‹L$(H‹D$HH H‰„$àH‹”$à‹Œ$d; tHH‹„$à€xt*Hƒ„$àëÔƒ¼$ˆ„îþÿÿ‹T$d;…âþÿÿéâH‹”$è‹JéÍþÿÿƒ|$d?w·BH…„$€t£H‹”$HH‹Œ$ H‹B(H‹D‹9„$P‰„$@„ƒH‹D$(Hc”$@H‹@pHÁâH‹H0H‰„$HÊ‹JH‰”$Ð…ÉŽ(HÇ„$Ç„$ë*< t|<„ƒ„$Hƒ„$9Œ$åH‹”$ÐH‹BH‹”$‹‰„$H˜HÁàH‰„$ØH‰ÂH‹„$H¶B<u”ƒ|$4t™‹D$d;u‘é&þÿÿƒ¼$ˆt‚‹D$d;…vÿÿÿéfH‹T$(H‹L$HHŠ H‰Œ$ÈH‰Èë#H‹„$È€x„Hƒ„$ÈH‹„$È‹”$;uÒƒ|$d?w·@H…„$€t½H‹Œ$H‹”$ØH‹A(H‹D‹9„$@‰„$ „ËH‹L$(Hc„$ H‹IpHÁàH‹Q0H‰Œ$ÀHЋHH‰„$¸…ÉŽ`HÇ„$Ç„$œë5€< „€<„ ƒ„$œHƒ„$9Œ$œH‹”$¸H‹BH‹”$‹‰„$ŒH˜HÁàH‰D$xH‰ÂH‹„$ÀH¶B<u“D‹t$4E…öt™‹D$d;u‘é üÿÿ@D‹¬$ˆE…í„wÿÿÿ‹D$d;…kÿÿÿéˆfDH‹T$(H‹L$HHŠ H‰L$pH‰ÈëDH‹D$p€x„WHƒD$pH‹D$p‹”$Œ;uÛƒ|$d?w·@H…„$€tÆH‹Œ$ÀH‹T$xH‹A(H‹D‹9„$ ‰„$´„ñH‹L$(Hc„$´H‹IpHÁàH‹Q0H‰L$XHЋHH‰D$P…ÉޤHÇD$ÇD$$ë#fD< td<„¼ƒD$$HƒD$9L$$}nH‹T$PH‹BH‹T$‹‰D$LcØH‹D$XIÁãL‰ÚH¶B<u´‹D$4…Àt¸‹D$d;u°éCûÿÿ€D‹¼$ˆE…ÿt—‹D$d;uƒ¼$ˆ…;ûÿÿƒ|$d?‡ºþÿÿH‹T$pH‹D$p·Œ$²f!J€x…©þÿÿH‹”$¸‹JéÊýÿÿfH‹T$(L‹T$HL‰œ$¨D‹œ$ˆL’ ëDA€z„=IƒÂ‹L$A; uèƒ|$d?wA·BH…„$€tÒH‹T$XH‹Œ$¨H‹B(H‹D‹9„$´‰D$D„PH‹D$(Lcd$DL‹HpIÁäMa0A‹L$…ÉŽ¡L‰”$ 1íE1öM‰åD‹T$dë €< td<„´AƒÆHƒÅA9Î}?I‹ED‹$(IcÜHÁãH‰ÚI¶B<uÊ‹\$4…ÛtÎD;„ÕùÿÿAƒÆHƒÅA9Î|Å@L‹”$ ë!fDE…ÛtŸD;ušL‹”$ E…Û…»ùÿÿƒ|$d?‡Úþÿÿ·”$²fA!RA€z…Íþÿÿf.„H‹D$P‹HéÇýÿÿH‹T$(L‹|$HLº Aƒú?†E…Û…³H‰\$8L‰Ëë fA€taIƒÇE;'uðH‹L$8H‹C(H‹D‹9L$D„ÛD‹D$l‹t$hD‰ÒH‹|$(D‰$D‰\$èGöÿÿƒøÿD‹$D‹\$„ÑøÿÿA€u¥fDI‰ÙA‹Mé¨þÿÿ@E…Û…H‰\$8L‰ËëDA€tÑIƒÇE;'uðA·GH…„$€táH‹C(H‹T$8H‹D‹9L$Dt@D‹D$l‹t$hD‰ÒH‹|$(D‰$D‰\$è¬õÿÿƒøÿD‹$D‹\$„6øÿÿ·Œ$²fA!Oë‹‹t$4L‹”$ …ö…øÿÿélþÿÿH‰l$8L‰ÍëA€„ÜIƒÇE;'uéA·GH…„$€tÚH‹E(H‹D‹9L$Dt¦D‹D$l‹t$hD‰ÒH‹|$(D‰$D‰\$èõÿÿƒøÿD‹$D‹\$„œ÷ÿÿ…À„êýÿÿ·„$²fA!GëH‰l$8L‰Íë A€tZIƒÇE;'uðH‹E(H‹D‹9L$D„/ÿÿÿD‹D$l‹t$hD‰ÒH‹|$(D‰$D‰\$è›ôÿÿƒøÿD‹$D‹\$„%÷ÿÿ…À„sýÿÿëŸI‰éH‹l$8éLþÿÿƒ|$4…÷ÿÿéÖûÿÿƒ|$4…òöÿÿƒ¼$ˆ…÷ÿÿƒ|$d?‡ìøÿÿH‹”$È·Œ$²f!JéÓøÿÿH‹”$ЋJéøÿÿƒ|$4…¥öÿÿƒ¼$ˆ…¹öÿÿƒ|$d?‡ ÷ÿÿH‹”$à·Œ$²f!Jéñöÿÿƒ|$4…höÿÿƒ¼$ˆ…|öÿÿƒ|$d?‡õÿÿH‹Œ$ð·„$²f!Aéûôÿÿƒ|$4…+öÿÿéHöÿÿf.„AWE1ÒAVAUATI‰ôUH‰ýS‰ËHƒì8‹”L‹op‰T$(D‰D$,‰ÎA9ò}EBH‹½ ÑøHcÐH’;\—A9‰Æ}!DÐÑøHcÐH’;\—~çDPA9ò|ÁfDA9ÊŒÕAºÿÿÿÿ‰ÎE1ÛA9ó}GBH‹½ ÑøHcÐH’D;L—@D9؉Æ~!DØÑøHcÐH’D;L—~æDXA9ó|¾DA9ËŒ’A»ÿÿÿÿA‹|$…ÿŽœE1ÿÇD$ I‰îI‹D$I‹M½ÿÿÿÿJc8H€HÁâI– HcHÁà‹‹J9ˉD$$|;Z ½Ž¢A9ɸÿÿÿÿ| D;J ¸~=9Åt¸HƒÄ8[]A\A]A^A_ÃDƒD$ IƒÇ‹D$ A9D$rÿÿÿ1ÀëÐ@”Â1ö¶ÒÒA9É@”Æ0À Öt¬‹L$,‹T$$E‰ØL‰÷D‰L$D‰T$D‰\$è¯ñÿÿD‹\$D‹T$D‹L$évÿÿÿ”À1ö¶ÀÀ9Ë@”Æ@0í Æ„Cÿÿÿ‹L$(‹T$$E‰ÐL‰÷D‰L$D‰T$D‰\$è[ñÿÿ‰ÅI‹D$D‹\$D‹T$D‹L$Jc8H€HÁâI– ‹JéðþÿÿIcÂH‹• H€;\‚…þÿÿéþÿÿIcÃH‹• H€D;L‚…UþÿÿéVþÿÿffffff.„H‰\$èH‰l$ðL‰d$øHƒì¶F0‹^8<v"¨…ˆH‹V H‹GHcÛ‹R8‰˜1Àë"D¶Ðÿ$Õ8µOfDHƒ~ …:1ÀH‹$H‹l$L‹d$HƒÄÃH‹V H‹GHcÛ‹j8‰,˜€~0uÔHÁãH_(¿ÇÇCè µþÿH…ÀH‰CuGÇCÇëŸfHcÛH‹F HÁãH_(¿‹h8ÇÇCèÇ´þÿH…ÀH‰C„‰(1Àé^ÿÿÿ€ H‹FH…À„ÜH‹@‹h8H‹FH…À„¸H‹@D‹`8…íˆñE…äˆÏHcÛHÁãH_(¿ÇèT´þÿH…ÀH‰C„ D9åtbÇC}‰(D‰`1ÀéÙþÿÿ@D‰ ‰h1ÀéÈþÿÿ¹»®Oºk¾Ñ­O¿Û­OèâNüÿ¹»®OºŽ¾Ñ­O¿ ®OèÉNüÿf„ÇC‰(1Àé}þÿÿH‹F D‹`8éCÿÿÿH‹F ‹h8éÿÿÿÇCǰ éMþÿÿ¹»®Oº|¾Ñ­O¿ÿ­OègNüÿ¹»®Oº{¾Ñ­O¿õ­OèNNüÿfffff.„ATUSH‰ûHƒì H‹/Ld$‹Ž€ƒù„H‹FpDAHcÑD‰†€H‰ÑL‹K(I‰ÐHTHÁáH IÁàHÁâMDL‰LL‹K0HyHÇAHÇAIÇ@HÇDL‰LAÁéAƒáóH…ÿDˆLIÇ@ÇA@ÿÿÿÿI‰<$tpH‰iI‹$1Ò€H2H‹CI‹,$H…ÀLet ëC€H‰ÃH‹CH9ÐtH…Àu'H‹H‹mH‰ÚH…ÀuàH‹D$HƒÄ []A\Ãf.„LeH‰Ãé÷þÿÿ@1ÀëÙ¿ÈH‰t$è-²þÿH…ÀH‹t$t"H‹Vpdž€A¸H‰H‰Fp1ÒéÎþÿÿIÇ$1Àë’DAWA‰×AVAUI‰ý¿XATI‰ô¾USHƒì躨þÿH…ÀH‰ÅH‰Ã„8E‹T$LpD‰P E‹D$E…ÀŽ@D‰PMcÒJ<•茱þÿH…ÀH‰E„@IcT$I‹t$H‰ÇHÁâè)ÿÿE‹T$E…ÒL‰s8ŽÂM‹]E1ÉE1ÀM‹d$ë[fD¶SP¶O ‰ÐÀéÀè ȉуàƒáßÁà Áƒþ‰ÊˆKPtoƒþ„žƒþ t ÷GÿftƒÊ€ˆSPAƒÀIƒÁE9Ð}VKc HÁàI<¶wƒþu–÷GÿtÕ¶SP¶O ‰ÐÀéƒâßÀè ȃàÁà ˆSPë¢AƒÀƒÉIƒÁE9ЈKP|ªD‰úH‰ÞL‰ïègÛÿÿ…Àu8HƒÄH‰è[]A\A]A^A_ÃÉ@ˆKPémÿÿÿDHÇ@IÇFéçþÿÿH‰ß1íè™ÿÿë¼ÇE ÇEH‰ïèi¡þÿ1íë¢DAWAVAUATI‰üUH‰õS‰ÓHƒìhL‹opD‰D$DD‹‡”‰L$@1ÉD‰Æ9ñ}=I‹¼$ ÑøHcÐH’;\—9Á‰Æ}ÈÑøHcÐH’;\—~éH9ñ|ÅfA9È1ÒHƒÄh‰Ð[]A\A]A^A_ÃHcÉM‹´$ HkÉA;\H‰L$8uÒLt$8„D‹ME‹E…ÉŽ˜Aƒé1ÒH‹}D‰Î9òs/Ñè‰ÁD;f9‰ÆsÐÑè‰ÁD;~îP9òrØ€‰ÐD;‡…Lƒúÿ„CE‹~ AßE+~D9û„CI‹EMcÀMcÿB‹ €I‹„$ˆJ‹4øH…ö„D‹^ LVE…ÛŽšECÿ1ÒD9Âs8AM‹JÑè‰ÇA; ¹fD9ÐA‰ÀvÐÑè‰ÇA; ¹~íPD9ÂrÍDH‹F‰×; ¸„‘Icû‰ $H‰t$HÁçD‰\$TD‰\$PèS®þÿH…ÀH‰ÇH‰D$X‹ $H‹t$„RHcV H‹v‰ $HÁâèæÿÿ‹ $E1ÀÇD$H|$P‰ÎD‰D$è7Þÿÿ…ÀD‹D$x E…À„U‹T$H‹|$X‰T$è#Ÿþÿ‹T$¸ …ÒDÐé'þÿÿƒúÿtfA€~„þÿÿIƒÆéDþÿÿI‹E(McÀ1ÒIÁàD9ÊI‹DD‹8s-AÑè‰ÁD;<@9ÂA‰ÁsÐÑè‰ÁD;<~íPD9ÊrÓ‰ÐD;<‡t•¿ÇD$PÇD$TèK­þÿH…ÀH‰D$X„ÄD‰8E1ö‹L$D‹T$@Ht$PL‰ïèâßÿÿHt$PH‰ïA‰Çèb™ÿÿH‹|$X‰D$èDžþÿ‹D$…À„ñE…ö„jE‰÷D‰úé;ýÿÿ@ƒúÿ…ÿÿÿéaþÿÿf¿‰ $ÇD$PÇD$T賬þÿH…À‹ $„âH‰D$X‰D‹T$TI‹„$ˆAƒúH‰D$ „ãD‰Ò~#ABÿH‹t$XH …1À@HƒÀH9Èuô‰ÐA#…„HÁàIE@‹8…ÿŽëH‹L$X1öL‰t$(L‰l$0H‰L$H‹HABÿH˜HÁàH‰D$H‹D$HD$H‰D$H뀃ÆHƒÁ9÷Ž‘H‹;uêD;P uäL‹\$L‹L$HE‰ÐëDL‹hG‹tE‹)IƒëIƒéE9îu·AƒèyáL‹t$(L‹l$0H‹|$ÇD$H‹T$ J‰úèÌœþÿI‹„$ˆJƒ<ø…±ýÿÿƒ|$„¦ýÿÿ‹T$é¼ûÿÿDL‹t$(L‹l$0Ht$PL‰ïèYùÿÿH…À„…H‹L$XÇD$H‰L$H‰ÏëHÇD$PHÇD$XE1ÀÇD$éïüÿÿE…ÿ…þÿÿE…ö…ýýÿÿM‹´$ ékûÿÿÇD$TÇD$PA¸ÇD$ é­üÿÿº éûÿÿH‹T$XÇD$ H‰T$H‰×éÿÿÿH‹T$XÇD$1ÀH‰T$H‰×éëþÿÿE…ÿDDøéýÿÿÇD$TÇD$PA¾ é'ýÿÿfffff.„AWI‰×AVE‰ÆAUATI‰ü¿ UH‰ÍSHƒìhH‰t$ ¾L‰L$(ÇD$\è¡þÿ¾¿HH‰Ãèó þÿH…ÀI‰Å„ëH…Û„âE…öt€H0H‹|$ HL$\E1ÉM‰øL‰êH‰ÞèZ½ÿÿ…À…?¶Mº„Ét&D‰ÈH‰Öƒá?ÀèHÓæHƒÅ¶ÀH 4öM„ÉußE…ötH÷H÷SH÷SH÷SAƒ¼$¤~#I‹D$xH‹H!H‹PH!SH‹PH!SH‹@H!CA‹„$€ƒø„?I‹l$pLcøƒÀA‰„$€L‰øL‰ùHÁàHÁáHT(KD?HL HÁàHÇAHÇAHÇBÆD$HH‰\$@H‰\(H‹t$HHÇDH‰t(Áîƒæó@ˆt(ÇA@ÿÿÿÿHƒÁHÇB„ŽAƒ¼$¤ŽkA‹„$€A€Œ$ ƒø„½M‹t$pHcЃÀA‰„$€H‰ÐH‰ÖHÁàHÁæJ|0HDI46HÁàHÇFHÇFHÇGÆD$HL‰l$@N‰l0L‹D$HIÇDN‰D0AÁèAƒàóFˆD0ÇF@ÿÿÿÿHƒÆHÇG„ÒA‹œ$€ƒû„€I‹D$pDKHcûH‰ûE‰Œ$€IÁçHÁãHÁâHH‰KH‰ùHÇCHÁáLCLLHL?I‰qH‹t$0HÁáÆD$8 H‰tH‹t$8HÇDH‰tÁîƒæó@ˆtN‰D=L‰ÁIÇAÇC@ÿÿÿÿM‰DHƒÄhH‰È[]A\A]A^A_ÃfL‰ïH‰L$è“‘ÿÿH‹L$ëØH‰ßèT˜þÿL‰ïè|‘ÿÿH‹D$(Ç 1É빿Èèó¦þÿH…ÀH‰ÅtÏI‹D$pAÇ„$€E1ÿH‰EI‰l$p¸é“ýÿÿ¿ÈH‰L$赦þÿH…ÀI‰ÆH‹L$tŒI‹D$pAÇ„$€1ÒI‰M‰t$p¸é þÿÿH‰ß‰D$è·—þÿL‰ïèßÿÿ‹D$H‹T$(1ɉéÿÿÿ¿ÈH‰T$H‰L$H‰t$èD¦þÿH…ÀH‹T$H‹L$H‹t$„+ÿÿÿI‹\$pAÇ„$€A¹1ÿH‰I‰D$pé5þÿÿfDAWAVAUATA‰ÔUH‰ý¿XSH‰ó¾Hƒì8‰L$,èÆœþÿH…ÀI‰ÀI‰Æ„ìD‹SHHD‰P ‹{…ÿŽØIcúD‰PH‰L$HÁçH‰$è—¥þÿL‹$H…ÀH‹L$I‰@„îHcSH‹sH‰ÇH‰L$L‰$HÁâè$üþÿD‹SH‹L$L‹$A¶FPD‰âI‰N8ƒâƒàð ÐE…ÒAˆFPŽ<D‰àE‰áAƒäƒàD‰d$(Aƒá‰D$$E1íE1ÛE1äH‹CJc(HÁàHED‹x¶PAÁïAçÿu ƒú„×A¶~P¶p ‰ø@ÀîƒçßÀè ðƒàÁà ǃúAˆ~P„öƒú„ýE…ÿ„™I;N8„úAöÇtE…Ét6AöÇt E…ÉDu&AöÇt ‹D$$…ÀftAƒç@tYD‹T$(E…ÒuOfDD‰àD)Øx=A‹V 9Ð}5ƒê9ÐA‰V }*I‹VHcøHtºHºD‹>ƒÀHƒÆ‰:HƒÂA;F |ëAƒÃD‹SAƒÄIƒÅE9ÔŒêþÿÿ‹T$,L‰öH‰ïL‰$èÇÎÿÿ…ÀL‹$…)HƒÄ8L‰À[]A\A]A^A_Ãf„ƒÏAˆ~Péÿÿÿ@ƒÏ@Aˆ~Pé÷þÿÿ@¿H‰L$L‰$D‰L$舣þÿH…ÀH‰ÂI‰F8H‹L$L‹$D‹L$„¸‹C‰B‹s…öŽ–‰H˜H‰T$H<…H‰L$L‰$D‰L$è5£þÿH‹T$H…ÀH‹L$L‹$D‹L$H‰BtwHcSH‹sH‰ÇH‰L$L‰$D‰L$HÁâè·ùþÿH‹L$L‹$D‹L$A€NP€E1ÛéBþÿÿ@HÇ@HÇAélýÿÿHÇHÇBëÉL‰÷èj‹ÿÿE1ÀéÇþÿÿÇBÇëªAÇ@ AÇ@L‰Ç軓þÿE1Àé˜þÿÿUH‰åAWAVAUI‰ý¿0ATSHìHH‰µÿÿÿèˆD…À…w¿0è6¢þÿH…ÀI‰Ä„=Æ…×þÿÿHM€H‹•ÿÿÿI„$1ÛH‰˜þÿÿH‹½˜þÿÿ¹H‰…8ÿÿÿ1ÀHÇB@HÇBHó«‹B …ÀŽ—HÇ…ÿÿÿÇ…ÿÿÿL‰¥(ÿÿÿL‰­ÿÿÿëBƒ½0ÿÿÿ„ƒ½0ÿÿÿ„8ƒ½0ÿÿÿ„´ƒ…ÿÿÿHƒ…ÿÿÿ9…ÿÿÿöL‹ÿÿÿL‹•ÿÿÿL‹ÿÿÿI‹QM‹JcHÁâLÚH‰• ÿÿÿD¶zD‰½0ÿÿÿD‹bAÁìfAäÿAƒÿ…lÿÿÿ¶‰Ð‰ÑºÀèƒá?¶ÀHÓâH TÅ€E·äE…ä„ZAöÄ …íE„äˆAöÄ„‘ƒ½0ÿÿÿ„H‹ÿÿÿƒ¹¤Žð H‹qxH‰ÏH‹H÷ÐH ¨H#E€H‰E€H‹NH÷ÑH °H#MˆH‰MˆH‹VH÷ÒH —¸H#UH‰UH ÊH ÂH‹FH÷ÐH ‡ÀH#E˜H‰E˜H ÂH…Ò„CAƒä„¢ƒ½0ÿÿÿ„³ H‹ÿÿÿƒ¹¤޶ H‹µÿÿÿH‹½ÿÿÿH‹NxH‹H#–¨H÷ÒH#U€H‰U€H‹qH#·°H÷ÖH#uˆH‰uˆH‹AH#‡¸H÷ÐH#EH‰EH ðH ÐH‹QH#—ÀH÷ÒH#U˜H‰U˜H ÐH…À„fDE1ÿ…Û‰ÚŽÞ ƒ½0ÿÿÿ„‹McÇL‰ÀHÁàH…8ÿÿÿH‹M€H‹}ˆH‹uI‰ÌL# L‰¥`ÿÿÿL‹HI!ùL‰hÿÿÿL‹PM ÌL‹M˜I!òL‰•pÿÿÿL‹XM!ËM ÔL‰xÿÿÿu M…Û„TH÷ÑH#H÷×H÷ÖI÷ÑH‰@ÿÿÿL‹0I÷ÖL#u€L‰u€H#xH‰½HÿÿÿL‹hH ÏI÷ÕL#mˆL‰mˆH#pH‰µPÿÿÿL‹`I÷ÔL#eL‰eL#HL‰XÿÿÿH‹HH÷ÑH#M˜H ÷H‰M˜u M…É„*LcÛH‹½@ÿÿÿL‰ÞIÁãHÁæHµ8ÿÿÿH‰>H‹½HÿÿÿH‰~H‹½PÿÿÿH‰~H‹½XÿÿÿH‰~H‹µ`ÿÿÿH‰0H‹µhÿÿÿH‰pH‹µpÿÿÿH‰pH‹µxÿÿÿH‰pL‰ÆL(ÿÿÿHÁæHµ(ÿÿÿ‹FA‰CD‹NE…ÉŽ[A‰H˜‰•¨þÿÿH<…H‰°þÿÿH‰µÈþÿÿL‰…¸þÿÿL‰ÀþÿÿèÇþÿL‹ÀþÿÿH…À‹•¨þÿÿH‹°þÿÿH‹µÈþÿÿL‹…¸þÿÿI‰C„" HcVH‹vH‰ÇH‰°þÿÿL‰…¸þÿÿHÁâè6ôþÿH‹°þÿÿL‹…¸þÿÿSH‹ÿÿÿH‹½ÿÿÿIÁà‰•¨þÿÿH‰°þÿÿH‹C‹48H‹½(ÿÿÿLÇè`Íÿÿ…À‹•¨þÿÿH‹°þÿÿˆ M õM åuUH…ÉuP‰ÓD‰ú9Ú„pL‹ÿÿÿA‹A éhûÿÿL‹• ÿÿÿMcÇL‰ÀHÁàH…8ÿÿÿA¶:‰ùÀé¶ñH‹4ðH£þ‚Týÿÿ‰ÓAW9Ú}«A‰×‰Úé"ýÿÿf.„IÇIÇCé$ÿÿÿH‹• ÿÿÿH‹H‹H U€H‹PH UˆH‹PH UH‹@H E˜é_ûÿÿH‹ÿÿÿƒ¹¤Ž= H‹AxH‹H U€H‹PH UˆH‹PH UH‹@H E˜H‹µÿÿÿH‹†È¨@uHe€ÿûÿÿ„À‰ûÿÿHƒe€þéüúÿÿH‹E€HÇEˆHÇE€HÇEHÇE˜öÄ„ÍþÿÿHM€éÙúÿÿL‹•ÿÿÿHÇE€HÇEˆHÇEHÇE˜A‹B éúÿÿHcÊH‹u€¿H‰ÈHÁáHÁàH…8ÿÿÿH‰0H‹uˆH‰pH‹uH‰pH‹u˜H‰pL‹•ÿÿÿL‹µ(ÿÿÿL‹ÿÿÿ‰•¨þÿÿI‹BIÎF‹$AÇAÇFè›þÿH…ÀI‰F‹•¨þÿÿ„ L‹½ÿÿÿD‰ ƒÃHÇE€HÇEˆHÇEHÇE˜A‹G éLùÿÿH}€ƒÎÿºè”àþÿH‹½ÿÿÿH‹‡È¨@…¡þÿÿé”þÿÿL‹ ÿÿÿAöC @…ÏùÿÿH‹½˜þÿÿ1À¹H‹•ÿÿÿó«‹B éïøÿÿ…ÛL‹¥(ÿÿÿL‹­ÿÿÿŽ$ CÇEĉEÀH˜H<…èFšþÿH…ÀH‰EÈ„D4[McöJ<õ0Hÿ‡D JõÆ…ÖþÿÿHƒàðH)ÄHL$HƒáðH‰ðþÿÿH‹µðþÿÿHcÃH} HÁà¹L‹ðþÿÿH‰½þÿÿ‰ÿÿÿL}ÀHÆH‹8ÿÿÿE1öHðH‰µÿÿÿL‰0ÿÿÿH‰…ÿÿÿ1ÀÇ…ìþÿÿó«Ç…(ÿÿÿÇEÄC‹|t…ÿŽé1Ò1ÉH‰8ÿÿÿ‰ÓL‰êM‰åI‰ÌfDK‹DuJc H‹B‹4ˆƒþÿt.HcöL‰ÿH‰•¨þÿÿHÁæHr0èy…ÿÿ…ÀH‹•¨þÿÿ…tC‹|uƒÃIƒÄ9û|²D‹EÄ1ÀM‰ìH‹8ÿÿÿI‰ÕAƒø„dD‰Á~$A@ÿH‹uÈH…1ÀfD HƒÀH9Ðuô‰ÈA#…„HÁàIE@‹8…ÿŽÁH‹PA@ÿ1öD‰… ÿÿÿH˜HÁàH‰…8ÿÿÿHEÈH‰…øþÿÿëfDƒÆHƒÂ9÷ŽH‹;uêö@PuäL‹@8M…ÀtÛD‹• ÿÿÿE;PuÎE‰ÓL‹øþÿÿL‹•8ÿÿÿH‰…ØþÿÿH‰•àþÿÿD‰Ø@ƒèˆ§I‹PF‹A‹IƒêIƒéA9ÓtßH‹•àþÿÿƒÆHƒÂ9÷„D1ÒL‰þL‰ïèÛñÿÿH…À„òH‹0ÿÿÿH‰€xPˆžL‹ÿÿÿL‹•0ÿÿÿL‹ÿÿÿK‰1I‹K‰3J‹³H E J‹D³H E¨J‹D³ƒ…(ÿÿÿH E°J‹D³IƒÆH E¸Hƒ…0ÿÿÿ‹…ÿÿÿ9…(ÿÿÿŒÎýÿÿƒ½ìþÿÿ‰Ã…¦¾¿è(ŽþÿH‹•ÿÿÿH…ÀH‰B@„ìI‰ÆE1À1ÿJ‹T H…Òt'L‰ñ¾LcßëDHööÂ…³HƒÁHÑêuëƒÇIƒÀIƃÿu¼öE¡tG1ÉëƒÁ9Ù}L‰L7AÁéAƒáóM…äDˆL7HÇEAÇ@@ÿÿÿÿtI‰$M…ötI‰1öH…À@”Æ…öt&Ç 1Àë@L‰øHƒÄX[]A\A]A^A_ÃfD…ÉuÖM…ítÑM…ätÌ‹J(A‰M(A‰L$(¶J2A¶U2ƒáƒâ÷ ÊAˆU2A¶T$2ƒâ÷ ÊAˆT$2HƒÄX[]A\A]A^A_Ãf.„1ÉM…íM‰î”ÁéÀþÿÿ¿ÈH‰$‰L$è^„þÿH…ÀH‰ÆH‹$‹L$„LÿÿÿH‹EpÇ…€A¹1ÿH‰H‰upé’þÿÿ¿ÈH‰$E1íè„þÿH…ÀH‹$„¬ýÿÿH‹MpÇ…€¿H‰H‰Ep1Éé ýÿÿ¿ÈH‰$E1äèØƒþÿH…ÀH‹$„ÔüÿÿH‹MpÇ…€¿H‰H‰Ep1Éé3üÿÿ¿ÈH‰$蜃þÿH…ÀH‹$t!H‹MpÇ…€¿H‰H‰Ep1Éé6ýÿÿ¹E1öéµýÿÿDH‰\$ðH‰l$øHƒì(H‹VH‰ýH‰óÇD$ H…Òt€z0tEH‹SH…Òt€z0t‹D$ H‹\$H‹l$ HƒÄ(ÃH|$ H‰îè3ûÿÿH…ÀH‰CtÔH‰ëÏDH|$ H‰îèûÿÿH…ÀH‰Ct¥H‰ë DAWAVA‰ÎAUA‰ÕATUSH‰ûHìØH‹Gp‹nH‰´$˜D‰„$¬D‰Œ$ŒH‰D$pH‹L$pHcÂHÁàH‹‹‰„$”‹‡¨DÈ9è* H‹´$˜‹k8H‹„$˜H‹»ˆ‹Sx‹6‰¬$¨H‹hH‰¼$ …öADöH‰«ˆ‰ð‰t$$‰s8ƒèx7;C@„¼ ƒ{hŽ1 HcÐHÁâH‰ÑHKƒ9ÿ…ú HƒêHƒéƒèyêD‹cLD9t$$„í Lcl$$J‹líH…í„' öEP@…^ H”$À¹1ÀH‰×ó«öEP@„Nƒ¼$Ä„+ L¼$ÀD‹„$‹Œ$”‹T$$H‰ßL‰þèFÑÿÿ…À‰D$L…&‹´$Ä…ö„ê …öA 4~!FÿH‹”$ÈH<…1À HƒÀH9øuôH‹l$p‰È#…„HÁàHE@‹8…ÿŽ‹nÿL‹¬$ÈH‹P1ÀHcíL4­MõL‰l$(ë ƒÀHƒÂ9Ç~ZH‹*;MuíD¶EPAƒàE9ÄußL‹]8M…ÛtÖA;suÐM‰òL‹L$(A‰ðë M‹kG‹lIƒêD‰l$0E‹)IƒéD9l$0u£AƒèyÚëH‹|$pD‰âL‰þèhÚÿÿH…ÀH‰Å„O Lcl$$H‹ƒˆJ‰,è‹„$Œ9D$$%ƒ»¨ˆ‹D$$JíL‰l$8IÁåÇ„$H‰T$xL‰l$hH‰ÑƒÀH˜HÁàH‰„$€H‹ƒˆH‹Ç„$ÄH…ÀtHpH¼$Àèlÿÿ…À‰D$L…„H…í„åL‹kpHÇ„$°LuHÇ„$¸D‹eE…䎫E1äÇD$L1íëDH‹SH‹t$8¶ 2¶P€ú„·@€ú„W€ƒÅIƒÄA;nXI‹FB‹4 LcþM‰øIÁàL‰ÀIEö@ t ‹L$$H‰ÚL‰ïL‰D$è܇ÿÿƒøL‹D$ŽŽD$$J4½I‹UH‰t$F‹<ºÇ„$´H˜H‰D$(H‹ƒˆH‹|$(H‹4øH…ötH¼$°HƒÆèíjÿÿ…À‰D$L…H¼$°D‰þè±®ÿÿ…Àˆ0D‹œ$´H‹ƒˆAƒûH‰D$0H‰D$P„ñD‰Ú~%ACÿH‹´$¸H …1ÀHƒÀH9Èuô‰ÐA#…„HÁàIE@‹8…ÿŽöH‹HACÿ1öL‰d$XH˜HÁàH‰D$@H„$¸H‰D$`넃ÆHƒÁ9þ±H‹;uêD;X uäL‹T$@L‹L$`E‰ØëDL‹`G‹<E‹!IƒêIƒéE9çu¸AƒèyâL‹d$XDH‹t$(H‹|$PH‰÷H‹D$0Hƒ<ð„èH‹|$I‹E‹48H¼$Àè­ÿÿ…À‰ þÿÿH‹¼$¸è|nþÿÇD$L H‹¼$Èègnþÿ‹D$LHÄØ[]A\A]A^A_Àút€ú…Âýÿÿ„Ɉºýÿÿ€ù „©„ÉuH‹Sp€ºÈˆœýÿÿ‹P÷Âÿ„D‹\$$‹CxE…ÛxF‹t$$;s@„߃{hŽwH‹D$hHCH‹t$h‹L$$€ƒ8ÿ…HƒîHƒèƒéyê‹CLÁêâÿöÂt¨„!ýÿÿöÂt¨…ýÿÿö t¨„ýÿÿ„Ò@y¨„öüÿÿfDIÁçL‰|$é¸þÿÿfL‹d$XH´$°L‰ïèÊÿÿH…À„H‹“ˆH‰T$0éiþÿÿ:„ ÿÿÿƒÅIƒÄA;nŒ¨üÿÿH‹¼$¸è mþÿD‹l$$D‹”$ÄE1äAƒÅE…Òtb‹Œ$‹”$”H´$ÀH‹|$pèQ®ÿÿ…À‰D$L…QþÿÿD‹„$‹Œ$”H´$ÀD‰êH‰ßèCËÿÿ…À‰D$L…#þÿÿD‹¤$ÄD‰í‹CxƒíxB‹T$$;S@„7ƒ{hŽlH‹D$hHCH‹T$h‹L$$ƒ8ÿ…¯HƒêHƒèƒéyê‹SLE…ä„gE…äB "~)AD$ÿH‹¼$ÈH4…1ÀfD HƒÀH9ðuôH‹t$p‰È#†„HÁàHF@‹8…ÿŽ“E|$ÿH‹¬$ÈH‹@1öMcÿIÁçLýH‰l$ë ƒÆHƒÀ9÷~cH‹(;MuíD¶EPAƒàD9ÂußL‹E8M…ÀtÖE‹HM‰ûL‹T$E9áuÅD‰d$$AƒéxFM‹`G‹4E‹"IƒëIƒêE9ætâƒÆHƒÀD‹d$$9÷H‹|$pH´$ÀèÔÿÿH…ÀH‰Å„çH‹ƒˆH‹”$€Ç„$H‰,D9¬$ŒŽ­HƒD$xHƒ„$€HƒD$8HƒD$h‹Œ$9‹¨ŒD‰l$$H‹L$xé¢ùÿÿ‰ÊÀê¶òH‹H‹òH£Ê‚“üÿÿé*úÿÿf.„…À…(ýÿÿL‰ÀIEéÛùÿÿH‹Spö‚È@…[üÿÿéòùÿÿ¶ÉH‹sXHcÁHÁèH‹ÆH£ÈrOƒù t1Àé—üÿÿ€{e¸…ˆüÿÿ1Àéüÿÿ€{fH‹C‹ 0tщωT$‰L$è|…À‹T$‹L$uƒù_u±¸éJüÿÿH‹CH‹L$8¶H‹KXHcÂHÁèH‹ÁH£Ðrvƒú tL1ÒE…ä…™ýÿÿH‹ƒˆH‹´$€1탄$HÇ0é“þÿÿf„€{fH‹C‹,uƒý u´€{eº…@ýÿÿ1Ò룉ïèÔ…Àfuƒý_uÖº@éýÿÿD‰l$$H‹¼$ÈèIiþÿHc”$ŒH‹ƒˆH‹<ÐH…ÿ„¬D‹l$$H‹´$˜HoH‹„$ ‹”$¨D‰.H‰ƒˆ‰S8‹_ …Û~KD‹„$¬ƒë1Ò9Ús(H‹uÑè‰ÁD9Ž|9‰ÃsÐÑè‰ÁD;Ž~îPëÔH‹G‰Ñ‹œ$¬;ˆtfÇD$Lé:úÿÿ1íéþöÿÿ‹E …À‰„$ÄŽõÿÿ‰„$ÀH˜H<…è2wþÿH…À„ÛHcU H‹uH‰ÇH‰„$ÈHÁâèÍÍþÿédõÿÿ1Àƒúÿ”À‰D$LéÐùÿÿ€{fH‹CD‹$…^Aƒü t0E1äé÷ôÿÿH‹SH˜H‹KX¶HcÐHÁêH‹ÑH£Â‚Cƒø uЀ{eA¼tÄé»ôÿÿH”$À¹1ÀH‰×ó«é6öÿÿƒ|$L„ ùÿÿH‹¼$¸èªgþÿé1ùÿÿÇD$L1ÀéÎøÿÿ‰ÐƒàƒøEäAƒäAƒÄé^ôÿÿD‰FH˜H4ÅH‹„$˜H‹xè ƒþÿH…À„­H‹Œ$˜1ö‹QH‰A)êHcíHcÒH<èHÁâè½»þÿé€óÿÿ¿Ç„$ÀÇ„$ÄèÈuþÿH…ÀtuD‰(‹”$”H´$À‹Œ$H‹|$pH‰„$ÈèX¨ÿÿ…À‰D$L„òóÿÿéSøÿÿD‰çè…Àu Aƒü_…ŒþÿÿA¼é†óÿÿH‹”$˜ÇD$L ‰jé'øÿÿÇD$L éøÿÿ‹l$$H‹¼$˜L‹¬$ ‹„$¨ÇD$L‰/L‰«ˆ‰C8éæ÷ÿÿÇD$L éÌ÷ÿÿƒàƒøÒƒâƒÂéîùÿÿH‹‹ˆÇD$L H‰L$0éL÷ÿÿƒàƒøÀƒàƒÀéJøÿÿH‰l$ØL‰l$èH‰ÕL‰t$ðH‰\$ÐI‰þL‰d$àL‰|$øHƒì8H…öI‰õ„¼‹F…ÀŸÂH…í„û„Ò„£‹U…ÒŽì‰H˜H<…èTtþÿH…ÀI‰F„Ü1Ò¸1ÛE1äëf„I‹NƒÃ‰4ƒÀHƒÂA‹MDxÿA9Ì;]]I‹MIcôHcû‹ ±H‹u‹4¾9ñ½@”ÆAƒÄ@¶öóI‹v‰ ë°fDH…ítc‹E…À~\A‰FD‹mE…í~OA‰H˜H<…è¥sþÿH…ÀI‰F„HcUH‹uH‰ÇHÁâèDÊþÿ1Àë)„ÒtA‰FE‹}E…ÿ?€IÇIÇF1ÀH‹\$H‹l$L‹d$L‹l$ L‹t$(L‹|$0HƒÄ8Ã@A‰H˜H<…èsþÿH…ÀI‰F„—IcUI‹uH‰ÇHÁâè½Éþÿ1Àë¢f„‹E9Ã}1IcÿHcó)ØHÁçHÁæI~HuHcÐHÁâè…ÉþÿD}A)ßfDE‰~1ÀéVÿÿÿDIcÿIcôD)áHÁçHÁæI~IuHcÑHÁâèCÉþÿE}E)çëÂAÇFAǰ é ÿÿÿ@AWAVAUATUSHƒì8…ÉH‰<$‰L$ŽGH‰óI‰Ô1íf.„H‹3H…ö„DI‹$H…Ò„H|$ HƒÂHƒÆèEýÿÿ…À…D‹l$$Aƒý„D‰ê~%AEÿH‹t$(H …1ÀfDHƒÀH9ÈuôH‹ $‰Ð#„HÁàHA@D‹E…À~xH‹HAEÿH‹|$(1öH˜HÁàH‰D$HøH‰D$ë@ƒÆHƒÁD9Æ}DH‹;uíD;h uçL‹\$L‹T$E‰éë „L‹pG‹<E‹2IƒëIƒêE9÷u¸AƒéyâëH‹<$Ht$ è2¿ÿÿH…ÀtOH‹|$(H‰èPbþÿƒÅHƒÃIƒÄ9l$Ëþÿÿ1ÀHƒÄ8[]A\A]A^A_Ãf.„I‹$H‰ëÇH‹|$(1Àë¶H‹|$(HÇèýaþÿ¸ ë½fDAWAVAUATUH‰ýSHìø‹^H‹Gp‹W8H‰´$¨…ÛH‰D$x‰T$HŽÎHcÊHÇ„$ˆÇ„$”H‰Œ$¸H‹´$¸HÁáH‰Œ$°HÁæH‰´$È냄$”Hƒ„$ˆ9œ$”lL‹œ$¨L‹¬$ˆH‹T$xI‹CB‹(‰D$LH˜H‰„$€HÁàH‰„$˜H€xu¢D‹hA÷Åÿ„‹T$H‹Ex…Òx@‹L$H;M@„3ƒ}hެH‹Œ$È‹D$HH‰ÊHUƒ:ÿ…ÅHƒéHƒêƒèyê‹ELAÁíAåÿAöÅt¨„*ÿÿÿAöÅt¨…ÿÿÿAöÅ t¨„ÿÿÿE„íy¨„ÿÿÿD‹”L‹mp1ÉL‹UD‹D$HD‰ÞD‰œ$ L‰l$X9ñ};H‹½ ÑøHcÐH’D;D—f9Á‰Æ}ÈÑøHcÐH’D;D—~èH9ñ|Å9Œ$ nH‹t$XL‹œ$˜‹•¬H‹…ÒF‹D‰\$pŽhþÿÿHÇD$`ÇD$lI‰ìë$€ƒD$lHƒD$`9T$lRH‹t$XH‹I‹„$¸L‹l$`J‹,(HcEHÁà‹ 9L$p‰L$Pu½‹ED‹u…ÀŽ™D‹l$HHÇD$@ÇD$8E‰ïI‰íë.ƒøM‹T$t…À…` ƒD$8AîA‹EHƒD$@9D$8*H‹L$@I‹UH‹ ‹K‰ÍD)õ…íŽA‹T$,FD=A9ÐRIc÷IcþHcÍI42I<:H9Éó¦…o‹KE‰ÇÇ$D‹L$HHsD‹D$L‹L‰çè¡êÿÿ…À…YÿÿÿD‹CA‹ML‰ç‹T$H‹t$Lè‘]ÿÿ…À…9ÿÿÿ‹[\$HA+]A‹Œ$A;\$4}A‹D$,9Ã|A;D$@}L‰ç‰L$(èssÿÿ…À‹L$(…÷þÿÿ1À9ËŽíþÿÿ‰Ú1ö)ÊHcÉH<ÍI¼$ˆHcÒHÁâ訲þÿA‰œ$1Àé¹þÿÿf„Aïé(ÿÿÿL‰íE‰ý1Àƒ|$8ŸÀAÆD9t$HŒ„IcÞD‹|$PD‰l$@H‰\$8L‰T$PD‰ð+E…À~4‹t$@A9t$,ŽÄHcD$@L‹l$PH‹T$8A¶DA:Dÿ…?ƒD$@I‹„$ˆH‹L$8H‹ÈH…À„ø‹p …öŽíH‹\$XH‹P1ÉH‹;ëDƒÁHƒÂ9ñÉ‹HcÃHÁàH€x uÞD;8uÙƒûÿ„¨H‹uH…ö„b‹UÇ$ E‰ñ‹MA‰ØL‰çèßèÿÿƒøtz…À… D‹mD;m„ ¾¿èubþÿH…ÀI‰Å„7HcUH‹EIuA‰]E‰uL‰çƒED‹L$HA‹MD‹D$LL‰,ÐÇ$A‹Uèlèÿÿ…Àt8„AƒÆHƒD$8D9t$H›þÿÿL‹T$PA‹”$¬é‰üÿÿf„E‹E‹ML‰ç‹T$H‹t$Lè)[ÿÿ…Àuµ‹\$HA]+]E‹¬$A;\$4}A‹D$,9Ã|A;D$@}L‰çèqÿÿ…À…zÿÿÿD9ëŽqÿÿÿ‰Ú1öD)êMcíJ<íI¼$ˆHcÒHÁâèK°þÿA‰œ$é>ÿÿÿfD@¶+u¿DöHcöèBaþÿH…ÀH‰ÆH‰E…xþÿÿA½ HÄøD‰è[]A\A]A^A_ÃL‰íE‰ý‹E9D$8Œþþÿÿé]ýÿÿ€M‰êA‹”$¬éxûÿÿH‹EH‹´$¸H‹MX¶0HcÐHÁêH‹ÑH£Â‚ƒø t1ÀéKúÿÿ€}fH‹ED‹$…âAƒü uá€}e¸…$úÿÿ1ÀéúÿÿD‹l$HéæüÿÿGl-H‹}IcõHÁæèfvþÿH…À„+ÿÿÿH‰ED‰méÌýÿÿA‹t$@A9ð|E;D$4A‹Œ$}9ò}"L‰ç‰L$(D‰D$0è’oÿÿ…À‹L$(D‹D$0…ƒA9È~8D‰Â1öD‰D$0)ÊHcÉH<ÍI¼$ˆHcÒHÁâèÁ®þÿD‹D$0E‰„$M‹T$é(ûÿÿL‰íE‰ýé±þÿÿD‰çèg…Àu Aƒü_…ÿÿÿ¸@é3ùÿÿE1íégþÿÿA9t$@~4L‰çèônÿÿ…Àf…ìM‹\$L‰\$PéüÿÿƒàƒøÀƒàƒÀéðøÿÿL‹T$PA‹”$¬éÖùÿÿHcÁ‹T$HHkÀH… ;P…wùÿÿ‹T$Lë DHƒÀ;„ï÷ÿÿ€xuîéUùÿÿA‹”$”9”$ L‰åkL‹¬$€Hcœ$ D‹¤$ IÁåL‰¬$ØE1íE‰ïD‹l$LHkÛë@AƒÄHƒÃA9Ô’H‰ØH… D9(uà‹L$H9Hu׋P ‹@‰Ö)Ɖt$`…¡L‹\$xH‹´$˜I‹K(M‹[0H‹L1Hc HÁáLÙH‰L$8T$H‹Mx)‰Ѓèx8;E@„σ}hŽH‹MHcðHÁæHñƒ9ÿ…—HƒîHƒéƒèyêD‹uLH‹½ˆH‹Œ$°HcÒH‰T$@ÇD$lL×H‹I‹H…Òt‹R ‰T$lH…À„¨H‹p8H‹T$8H¼$àèòÿÿ…ÀA‰Ç…aD‹„$äH‹•ˆE…ÀH‰”$€„¶E…ÀC ~)A@ÿH‹´$èH…1À€ HƒÀH9ÐuôH‹t$x‰È#†„HÁàHF@‹8…ÿŽ0H‹PA@ÿL‹œ$è1öH˜HÁàL‰œ$ÐH‰D$pLØH‰„$ÀëƒÆHƒÂ9÷ŽìH‹;uêD¶HPAƒáE9ÎuÜL‹H8M…ÉtÓE;AuÍL‹œ$ÀL‹T$pD‰D$PH‰D$L‰\$XëH‹D$XM‹YHƒl$XG‹‹IƒêA9Ãu‘ƒl$PyÛL‹œ$ÐH‹D$H‹T$@H‹Œ$€L‰ßH‰Ñè´VþÿH‹½ˆH‹t$@Hƒ<÷„o‹D$`…ÀuL‹œ$°‹T$lJ‹;P ŒÕ‹•”AƒÄHƒÃA9ÔŒnýÿÿH‹Œ$¨‹YéàôÿÿH‹|$xH´$àD‰òè¿ÿÿH…À„·L‹œ$èé]ÿÿÿH‹t$xL‹œ$ØH‹NH‹v0Jc HÁáHñH‰L$8é^ýÿÿH‹MH˜H‹uX¶HcÈHÁéH‹ ÎH£Á‚êƒø t E1öézýÿÿ€}fH‹ED‹40…­Aƒþ uà€}eA¾tÔéQýÿÿ‹T$HH‹t$8H‰ïèÆkÿÿ…ÀA‰ÇuH‹t$8H‰ïè’óÿÿ…ÀA‰Ç„ûþÿÿE‰ýéóùÿÿH‹t$8D‹VE…Ò„uE…ÒC ~#H‹D$8H‹PABÿH4…1À HƒÀH9ðuôH‹T$x‰È#‚„HÁàHB@D‹E…ÉŽ£H‹pABÿ1ÒH‰\$XD‰l$pH˜HÁàH‰„$ ë ƒÂHƒÆD9Ê}iH‹;uí¶XPƒãA9ÞuáL‹@8M…ÀtØE;PuÒH‹œ$ D‰T$Pƒl$PˆM‹hE‹lD‰¬$€L‹l$8M‹mE‹lHƒëD9¬$€tÈë‹H‹\$XD‹l$pH‹t$8H‹|$xD‰òL‰\$0è½ÿÿH…ÀL‹\$0„ƒH‹½ˆI‰H‹D$@Hƒ<Ç…‘ýÿÿE…ÿ„ˆýÿÿé©þÿÿL‹œ$è1ÀéDýÿÿD‰÷‰T$0èe…À‹T$0u Aƒþ_…5þÿÿA¾é’ûÿÿE1ÿDëA‰ÅéZøÿÿL‹œ$¨A‹[éPòÿÿA¿ érÿÿÿƒáƒùEöAƒæAƒÆéNûÿÿH‹\$XD‹l$péTÿÿÿH‹¼$èA‰Åè…SþÿéøÿÿL‹œ$èA¿ é üÿÿffff.„AWAVAUATUSH옋F‹^H‰|$¿H‰t$ Ç„$€Ç„$„‰D$(èÛaþÿH…À„‹T$(H‹t$ HŒ$€H‹|$‰H‰„$ˆè …À‰D$|…Ž‹\$(…ÛŽ‚HcD$(H‹T$ HÇD$8ÇD$THƒÂHÁàH‰T$XH‰D$H‹D$(ƒèH˜H …H‰D$0HÁàH‰D$hHƒÀH‰L$@H‰D$pH‹t$ ‹D$T¹H‹T$HH‹>ƒÀH‹t$Hƒ<DÈ;ލ‰L$T)H‹D$hH†ˆH‹L$8ƒl$(Ç„$„H‹H…Û„,‹{H‹vp…ÿH‰t$ŽH‹D$p1íE1äHÈH‰D$`ëN@H‹t$H‹L$0H‹V¶ ¶H€ù„±‡C€ù„Êf.„AƒÄHƒÅD;c¶H‹C H‹T$D‹,(McõM‰÷IÁçL‰øHö@ t“H‹L$ H‹t$‹IL‹FpH‰òD‰î‰L$,‹L$(L‰ÇL‰D$èïhÿÿƒøL‹D$Ž©‹T$(9T$,Œ°H‹t$ HcÒH‹L‹ÑM…Û„iI‹PE‹C MKE…ÀF‹²ŽmAƒè1öD9Æs4A0I‹yÑê‰ÑD;f9ÖA‰ÐsòÑê‰ÑD;~írD9ÆrÑDI‹K‰òD;‘„øH‹t$L‰øHé¸þÿÿI‹I‰ÐD;…àþÿÿƒúÿ„×þÿÿ¸fH‹L$ ‹q…öuDH¼$€D‰îèTÿÿƒøÿ…«þÿÿÇD$| H‹¼$ˆèFPþÿ‹D$|HĘ[]A\A]A^A_ÃH‹t$‹L$(E‰èD‹L$(H‹|$ H‹FH‹t$XB‹°èu¦ÿÿ…ÀtAƒÄHƒÅD;cŒQþÿÿ€‹T$(H‹t$ HŒ$€H‹|$èí…Àu$‹L$(Hƒl$HHƒl$8Hƒl$0Hƒl$@…É-ýÿÿ‰D$|éIÿÿÿ@…ÿÿÿH‹L$L‰øHéšýÿÿf€ùt€ù…Âýÿÿ„Òˆºýÿÿ€ú „‰„ÒuH‹t$H‹Np€¹Èˆ—ýÿÿD‹xA÷Çÿ„¦H‹L$‹t$(;q@‹Ax„.ƒyhŽxH‹D$@‹T$(HAH‹L$@Dƒ8ÿ…“HƒéHƒèƒêyêH‹T$‹BLAÁïAçÿAöÇt¨„ýÿÿAöÇt ¨… ýÿÿAöÇ t ¨f„úüÿÿE„ÿy¨„êüÿÿf.„H‹T$ H‹L$`H‹L‹ M…É„ÆüÿÿH‹T$A‹q MQH‹B…öF‹°Ž©üÿÿƒî1Ò9òƒ¬ýÿÿI‹zÑè‰ÁD;9‰ÆƒŽýÿÿÐÑè‰ÁD;~êPëÉD‰ÑÀé¶ñH‹H‹ ñH£Ñ‚¸þÿÿéJüÿÿf.„:…8üÿÿ„é”þÿÿH‹t$H‹NpöÈ@…{þÿÿé üÿÿDƒþÿ…/ýÿÿH‹T$L‰øHé·ûÿÿH‹t$¶ÒHcÂHÁèH‹NXH‹ÁH£Ðr_ƒú t1Àé”þÿÿ€~eftñ¸é‚þÿÿH‹t$€~fH‹F‹uƒú uÐH‹D$€xeuÔ1ÀéYþÿÿ‰×‰T$èû…À‹T$uƒú_uѸé7þÿÿ1ö袡þÿH‹¼$ˆèMþÿéºüÿÿÇD$| é­üÿÿƒàƒøÀƒàƒÀéþýÿÿAWHcÂE1ÿAVAUATUH‰ÍSHìÈL‹gpH‰D$(HÁà‰T$4H‰D$pH‹T$(H‹‡ˆH‰|$8‹yH‰t$@H‹ÐHPH…ÀLEú…ÿuHH‹H‹L$(HÇÈM…ÿtH‹T$8H‹L$(H‹‚ˆH‹Èö@P@…Ä1ÀHÄÈ[]A\A]A^A_ÃM…ÿ„…ÿ‰ú~!GÿH‹YH …1À@HƒÀH9Èuô‰ÐA#„$„HÁàID$@‹0…öŽÚDoÿH‹@1ÉMcíIÁåë@ƒÁHƒÀ9ñ´H‹;uê;{ M‰èA‰ùußëDL‹SG‹L‹UG‹IƒèE9Óu¿Aƒéyá鎋²”L‹jp1Û‹l$4ÇD$\I‰Ð‰ñ9Ë}7I‹¸ ÑøHcÐH’;l—f9ÉÁ}ØÑøHcÐH’;l—~éXëʼn\$\9t$\ÖþÿÿHcD$\H‹|$8‹L$4H‹— HkØ;LH‰\$`…®þÿÿA‹OHÇ„$…ÉŽ–þÿÿH€Hœ$H‹T$@‹|$4E1ÒE1ÛHÁàD‰\$ H‰\$H‰D$hH‰ØHƒÂƒÇHƒÀM‰ûH‰T$xM‰×‰¼$„H‰„$ˆL‹T$@ë!f„€útHƒD$ IƒÇ9L$ YI‹CI‹UB‹,8HcÅH‰ÃHÁãA;jH‰\$(¶Tu‹|$4A;zt½€úu¸H‹T$8HÁàH‹\$`H‰D$@L‹t$hD‹d$\L‰|$HHš L‰\$PëIƒÆ€{„ÂAƒÄHƒÃ;+uæ‹C +CD‹L$4AÁ…À„€I‹EH‹L$@D‹E;J½I‹IcÑL‹ÐM…Ût®A‹s M{…ö~¢ƒî1Ò9òs9I‹Ñè‰ÁD;„9‰ÆsÐÑè‰ÁD;~îP9òr΀I‹K‰ÐD;…Pÿÿÿƒúÿ„Gÿÿÿ‹L$4H‹t$x‰êH‹|$8L‰T$èŸÿÿ…ÀL‹T$… ÿÿÿHƒ¼$„…‹D$4H¼$D‰æL‰T$‰¬$ HƒÇ‰„$¤èÖ‡ÿÿ…ÀL‹T$ˆüH‹„$H‹T$pH´$H‹|$8L‰T$H‹èQõÿÿ…ÀL‹T$…—I‹rH…öt$‹Œ$„H‹”$L‰ïèääÿÿ…ÀL‹T$…j‹¼$¬H‹„$H‹L$p…ÿH‰Ž·DGÿH‹´$°1ÒD‰Ã9ÚƒZÑè‰ÁD;$Ž9‰ÃƒBÐÑè‰ÁD;$Ž~êPëÏH‰îL‰çèÚ¤ÿÿH…ÀH‰Ã„ƒ{(Lk(„ðL‰êL‰þH‰ïè²Dÿÿ…À…ŒûÿÿH‹\$@‹C…À…F‹}H‹D$@L‹t$pL0…ÿ„ß…ÿ‰ú~ GÿH‹]H …1ÀHƒÀH9Èuô‰ÐA#„$„HÁàID$@‹0…ö~TDoÿH‹H1ÛMcíIÁåë ƒÃHƒÁ9ó}6H‹;uî;x M‰èA‰ùuãëL‹PG‹L‹UG‹IƒèE9ÓuÇAƒéyáëH‰îL‰çèä£ÿÿH…À„I‰éŽúÿÿfHcEÇC,H<…‰C(è¥UþÿH…ÀH‰C0„ñD‹EE…ÀŽÛþÿÿE1ö1ÛfDH‹EL‰ïƒÃJc40IƒÆHÁæIt$8è°Aÿÿ;]|Ûé¦þÿÿH‹T$@L‹t$pL2éÒþÿÿH‹|$8I‰ÞIƒÆ…ÀH‹¿ H‰|$ Žšþÿÿ‹}E1ÛL‰|$HE1ÀM‰ßI‹FH‹L$ ‹\$4Jc8H€H;Z޾;ZµHc I‹$HÁá;Z D‹ „¹E1í1Û…ÿŽM‰úM‰÷E‰ÎëDƒÃIƒÅ9û}eI‹$H‹UB‹4*HcÖHÁâH¶BƒèƒøwÒD;2uÍH‹L$HH‰êL‰çD‰D$L‰T$胀ÿÿ…ÀD‹D$L‹T$…Cùÿÿ‹}ƒÃIƒÅ9û|žM‰þM‰×f.„AƒÀIƒÇE;FŒÿÿÿL‹|$Héýÿÿ…ÿ~àWÿ»ÿÿÿÿL‰|$PL‹mA‰ÛH •1ÒI‰ÏëDƒù „D‰ÞHƒÂL9út+A‰óA‹tLcÖIÁâNA¶JƒùuÎE; uÒHƒÂL9úuÕ…öL‹|$Px%H‹L$HH‰êL‰çD‰D$èªÿÿ…ÀD‹D$…oøÿÿ‹}…ÛˆBÿÿÿ…ÿŽ:ÿÿÿE1íD‰D$PfH‹EIcÕ‹4LcÖIÁâL‰ÐID$8D‹@E…À~JAƒè1ÒL‹HD9Âs/AÑè‰ÁA9‰|9ÂA‰ÀsÐÑè‰ÁA9‰}íPD9ÂrÖD‰ÐA;„¼MT$0E‹BE…À~NAƒè1ÒM‹JD9Âs7AÑè‰ÁA9‰|f„9ÐA‰ÀvÐÑè‰ÁA9‰}íPD9ÂrÎD‰ÐA;tpH‹L$HH‰êL‰çè¨~ÿÿ…À…r÷ÿÿ‹}AƒíAƒÅA9ýŒ ÿÿÿD‹D$PIƒÇAƒÀE;FŒEýÿÿé2þÿÿE; …hþÿÿ‰óD‰Þfé_þÿÿƒúÿuºé7ÿÿÿƒúÿDu¥fDé{ÿÿÿI‹E(H‹|$(H‹D8D‹éwùÿÿf.„L‹|$HL‹\$PƒD$ A‹KIƒÇ9L$ Œ§øÿÿ1ÀHƒ¼$„°öÿÿH‹¼$°‰D$èíBþÿ‹D$é–öÿÿ‰ÐD;$†u<…Òx89ú}4D9ÂD‰„$¬}'HcÂHL†H†‹ƒÂHƒÁ‰HƒÀ;”$¬|èH‹|$8L‰óHŸ éŒøÿÿH‹|$L‰Ö¹ ó¥A‹R‰”$¬Aƒz~L‰”$¨HcÒH<•èQþÿH…ÀH‰„$°L‹T$t7IcRI‹r H‰ÇL‰T$HÁâè©§þÿL‹T$éùÿÿH‹¼$ˆ¹ó«éúøÿÿÇ„$¬Ç„$¨° éáþÿÿIǸ éõÿÿ¸ éÆþÿÿ1ÀéÁúÿÿff.„AWAVI‰ÖAUATUSH‰óHƒìX‹n8;®H‰|$L‹fpެHcÅM…ö‰®HÅA•ÇH‰T$H‹–ˆL‰4ÂE„ÿtgE‹Œ$ŒE…ÉtZMf‰êH‰ßL‰æèyWÿÿL‹L$…ÀA‰…ÿAöFP@t2L‰æH‰ßè7ßÿÿH‹T$…À‰…ÞH‹ƒˆL‹L$N‹4„HƒÄXL‰ð[]A\A]A^A_ÃfDHcÅHÁàI‰ÅL®ˆH‰D$I‹EH…À„£M…öH‹P8…ØH‹HÇD$H‰D$@H‹BH‰D$H‰èƒè‹Sxx:;C@„lƒ{hŽqHcÈHÁáH‰ÊHSƒ:ÿ…ÇHƒéHƒêƒèyê‹SLD‹D$DE…À„ïE…ÀB ~$A@ÿH‹|$HH4…1ÀD HƒÀH9ðuô‰ÈA#„$„HÁàID$@‹8…ÿŽŸEHÿH‹@1öMcÉIÁáL‰L$ LL$HL‰L$(ëDƒÆHƒÀ9÷~mL‹0A;uíE¶NPAƒáD9ÊußM‹N8M…ÉtÖE;AuÐL‹\$ L‹T$(H‰D$0L‰t$8D‰ÀƒèˆCM‹qG‹<E‹2IƒëIƒêE9÷tßH‹D$0ë„Ht$@L‰çè¨ÿÿH…ÀI‰Æ„A¿Hƒ|$M‰u„ÅýÿÿH‹|$Hè'?þÿé¶ýÿÿH…ÒI‰UA•Çé¦ýÿÿfH‹SH˜H‹KX¶HcÂHÁèH‹ÁH£Ð‚‰ƒú t\1ÒéŠþÿÿM‹v8H|$@L‰öL‰t$èÊØÿÿL‹L$…ÀA‰…€L‹l$‹C8L«ˆé þÿÿfD€{fH‹CD‹4uAƒþ u¤€{eº…&þÿÿ1ÒéþÿÿD‰÷èÎì…ÀuAƒþ_uÒºéþÿÿH‹D$E1ÿE1öÇéÿÿÿL‹t$8éóþÿÿE1öé2ýÿÿH‹T$E1ÿÇ éÞþÿÿƒâƒúÒƒâƒÂéµýÿÿfff.„AWAVAUATI‰ÔUH‰ýSHìØHÇÂÿÿÿH‰t$HH‰Œ$€L‰D$xÇ„$¼dH‹H‹H‹ˆÀH‰Œ$¨‹p@…ö‰´$”t<=„<.„þAÆD$AÆ$[ºÇD$8ér÷ÿÿE‰ßéñýÿÿH‹l$`M‰ÔIƒÿ…* A¶‰Ðƒâ?Àè‰Ñ¶ÀIÓçM |ÅH‹L$xÇéµûÿÿH‹|$H€ Æ„$¨L‹D$@L‰„$ ‹‡€ƒø„@H‹_pLcàƒÀH‹T$HM‰çIÁçN<;‰‚€L‰àHÁàIÇGIÇGHTKD$HÇBH‹Œ$ HÁàH‰LH‹Œ$¨HÇDH‰L€dóAÇG@ÿÿÿÿIƒÇHÇB„áûÿÿIƒ}…² Iƒ}…§ Iƒ}…œ Iƒ}… L‰ïè¢1þÿL‰øéžöÿÿAÆD$ºÇD$8éöÿÿAÆD$ºÇD$8éöÿÿAÆD$ºÇD$8éëõÿÿAÆD$é¤ôÿÿ1ÀHƒÉÿH‰×ò®H÷ÑHAÿHƒø…Ŷ ‰Êƒá?ÀêHÓà¶ÒI DÕH‹T$xÇé$úÿÿH‹D$@H‹¬$ØL‹¤$L‹¬$°‹P<;”$È„„H‹@‹t$`H‹|$@Hcʃ‰4ˆ‰W<ë¨AÆ$é½ýÿÿ‹L$8M8;MH‰M8AH‹uHcù¶>ˆ”$pƒ}h~;M,tH‹Mƒ<¹ÿ„ €ú\f„ð€ú[… ‹E8P;U@}&H˜¶D<:ˆ„$p„Á<=„{<.„øÆ„$xÆ„$p[¹LŒ$ L‹D$HH¼$€H”$pH‰îÇ$L‰Œ$ˆL‹Œ$€èo#ÿÿ…À…v ‹E89EHŽìH‹UH˜¶Aˆ$ƒ}h~‹M8;M,tH‹UHcɃ<Šÿ„<\„È<[…Ý‹E8P;U@oH‹UH˜¶D<:Aˆ$„† <=„k <.„L AÆD$AÆ$[ÇD$8‹„$ƒø„ ƒø„ D‹¼$€Aƒÿ„ Aƒÿ„ú …À…<ƒ¼$”…Y¶„$˜L‹Œ$¨E¶4E…ÿ…Vƒ¼$”…ƒ¶„$ˆL‹Œ$¨A¶Aƒþÿ„?A9Ö—À…„$…† ƒ¼$”uL‹L$HAƒ¹¤~JH‹L$@‹A@9„$ЄýL‹yH‹t$@H˜H‹|$@E‰4‡‹F@H‹O HcðƒÀƒ¼$”‰±‰G@…3H‹´$¨1ÀA¸f„¶9ÊrA9Îw‰Ç‰ÁM‰ÁÁïƒá?‰ÿIÓáM LýƒÀHƒÆ=uÏH‹D$xÇéþöÿÿAÆD$ÇD$8é‡þÿÿƒø„Nƒø„- AƒÎÿéÌþÿÿ<]„†<^„<-„¸AÆD$ÇD$8éAþÿÿAƒÿf„öAƒÿ„È ¸H‹T$x‰éOòÿÿH‹t$xÆ„$xÇé7òÿÿ‹E8P;U@ HcÐH‹E¶D<:Aˆ$„Ò<=„·<.„œAÆD$AÆ$[ÇD$8é<ðÿÿAÆD$ºÇD$8éyñÿÿAÆD$ºÇD$8éañÿÿHƒ¼$è„ÃùÿÿAÆD$ºÇD$8é:ñÿÿ¶¼$˜èDH‹¼$À‰Æè¥ûD‹¼$€A‰Æéýÿÿƒ¼$”„­þÿÿ‹´$˜H‹¼$ÀèsûD‹¼$€A‰Æé^ýÿÿAÆD$ÇD$8étïÿÿI)ÈA¾L‰ÁD‹ HyMcùD‰L$`¶AM…ÿxSH…À„nD¶1öE:të%fDD¶D1D:D2u HƒÆH9ðwêH9ð„<H HƒÀƒàt L‰öH)ÆHñë•H…À„ D¶E¶1öE8Øtéì @D¶D1D¶L2E8ÈuHƒÆH9ðwæ„e D¶7E¶ 2E8ȇ϶4A8óu4LD1ÉëA¶0D¶\ IƒÀD8ÞuHƒÁH9ÈwätH4E¶ ¶4D8Þrk1ÉëHƒÁD¶D¶L E8ÈtìL HÏ1öë E¶KD¶E¶ÉE¶ÀHƒÁE)ÁHÁæIƒÃMcÉHƒÇH9ÁI41rÐL‹L$XL)þIÂA‹4±‰t$`éòÿÿHÀH HƒÀƒà„€þÿÿM‰ðI)ÀLÁérþÿÿHÀH HƒÀƒà„^þÿÿL‰÷H)ÇHùéPþÿÿAÆD$ÇD$8é¥íÿÿAÆD$ÇD$8é’íÿÿö„$€„0ýÿÿAÆD$ÇD$8éqíÿÿAÆ$éýÿÿAÆD$ÇD$8éËúÿÿAÆ$é®úÿÿH‰l$PH‹¬$ÀE1ÿL‰d$XA‰ÔfDD‰ÿèH‰ï‰ÆèöøA9Æw A9ÄrD‰øD‰ùºÁèƒá?‰ÀHÓâI TÅAƒÇAÿu¼H‹l$PL‹d$Xé¦ûÿÿ¸H‹t$x‰étîÿÿƒ¼$”„üÿÿ‹´$ˆH‹¼$Àè‚ø‰Â1Àƒúÿ”À…À…àûÿÿé’úÿÿ¶¼$ˆèî‰ÆëËAÆD$H‹L$@ÇD$8€I0H÷„$€tIM‹T$8U8;UH‰U8”H‹EHcÒ¶Aˆ$ƒ}h~‹U8;U,tHcÊH‹Uƒ<Šÿ„”<\„°<[up‹E8P;U@ÆHcÐH‹E¶D<:Aˆ$„<=„¼ <.„¡ AÆD$AÆ$[ÇD$8Ç„$ôéÃëÿÿAÆD$H‹t$xÇé@íÿÿ<]„ý<^„â<-„“AÆD$ÇD$8A¶D$Ç„$ôéiëÿÿö„$€tÒ‹U8ƒÂ;U@}ÇH‹E‰U8HcÒ¶Aˆ$ë³AÆ$éXÿÿÿAÆD$ÇD$8鉸ÿÿƒ¼$ä„'úÿÿ‹E8ƒÀ;E@úÿÿH‹U‰E8H˜¶AÆD$Aˆ$ÇD$8éHøÿÿAÆD$ÇD$8é5øÿÿƒ¼$ät‹E8ƒÀ;E@}‰E8H˜¶ˆ„$pÆ„$x¹é(÷ÿÿ€ú]„¡€ú^„†€ú-uׯ„$x¹éÿöÿÿH‹L$HÆ„$¨L‰¬$ ‹€ƒø„qH‹ipLcðƒÀH‹|$HL‰òHÁâHT‰‡€L‰ðHÁàHÇBHÇBHL(KD6HÇAH‹´$ HÁàH‰t(H‹´$¨HÇDH‰t(€dóÇB@ÿÿÿÿHƒÂHÇAH‰T$8„lðÿÿ‹‡€ƒø„‘H‹WpxHcÈL‹L$HH‰ÎIÁæHÁæIÁäH42A‰¹€H‹|$8HÇFHFH‰~H‰ÏHL HÁçH|HÁáL‰L‹„$`Æ„$h L‰DL‹„$hHÇD L‰D€d óH…ÀJ‰D5HÇGÇF@ÿÿÿÿJ‰D#…®êÿÿé¯ïÿÿAÆD$ÇD$8éhýÿÿö„$€„ûüÿÿAÆD$ÇD$8éGýÿÿ‹´$ÐL‹D$@‰T$(t6I‹xHcΉ´$ÐHÁáH‰ÎH‰L$0èî@þÿL‹L$@H‹L$0I‰ÇI‹y H‰ÎèÕ@þÿH…À‹T$(t,M…ÿt'H‹L$@H‰A L‰y‹A@é˜öÿÿH‹D$xÇ 1Àéôéÿÿ¸ é{÷ÿÿL‹D$xAÇéÅéÿÿ‹´$ÌL‹D$@t6I‹8‰´$ÌHcöHÁæè_@þÿH…À„°îÿÿL‹L$@I‰A‹Q4éœíÿÿIÂéïëÿÿL‹„$˜1ÀHƒÉÿL‰ÇL‰Âò®H÷ÑHƒéƒ¼$”„¥A‰ÎH‰Îë¾HƒîHƒÂF4ðH…öìD‰òD‰ðL‹Œ$˜Áú÷¼$¤‰×D?McÒC‹4‘…ö„“D‰òD‰ðD‰|$XÁúH‰l$`I‰Ï÷¼$¸DH˜HÁàH‰D$PDÀH˜M H‹„$˜NTL‰ÕM‰âM‰ÌëA‹4$Hl$PLd$P…ö„A9öuåD‹]H‹”$ˆIcÃD¶ A¶ÑI9×uÈH‹Œ$ˆL‰ÇL‰úL‰D$(DˆL$0L‰T$ D‰\$Htè5qþÿ…ÀL‹D$(D¶L$0L‹T$ D‹\$uƒE…öL‰ùH‹l$`D‹|$XM‰Ô„­A¶ÁH‹´$ˆE\IcöADƒàüƒÀHcЋDH˜D‹4éôÿÿ‹´$ÔL‹D$@t6I‹x‰´$ÔHcöHÁæè„>þÿH…Àt2L‹L$@I‰AA‹Q8é—éÿÿHƒù…ùôÿÿA¶L‹„$¨E¶4é¸óÿÿ° éùÿÿL‰ùH‹l$`D‹|$XM‰ÔHƒù…ÂôÿÿA¶H‹¼$¨D¶4éóÿÿ¸L‹D$xA‰éDçÿÿ‹´$ÈL‹D$@t6I‹x‰´$ÈHcöHÁæèÝ=þÿH…Àt/L‹L$@I‰AA‹Q<éBñÿÿ¸ é¡ôÿÿAÆD$ÇD$8é´òÿÿ° ë”AÆD$ÇD$8éòÿÿHƒ¼$è„{òÿÿAÆD$ÇD$8é{òÿÿH‹L$xÇé æÿÿE‰Ùé:öÿÿL‹„$ˆ1ÀHƒÉÿL‰ÇL‰Âò®H÷ÑHƒéƒ¼$”„qA‰ÏH‰Îë¾HƒîHƒÂF<øH…öìD‰úD‰øL‹Œ$˜Áú÷¼$¤‰×D?McÒC‹4‘…ö„XD‰úD‰øD‰t$XÁúH‰l$`I‰Î÷¼$¸DH˜HÁàH‰D$PDÀH˜M H‹„$˜NTL‰ÕM‰âM‰ÌëA‹4$Hl$PLd$P…ö„âA9÷uåD‹]H‹”$ˆIcÃD¶ A¶ÑI9ÖuÈH‹Œ$ˆL‰ÇL‰òL‰D$(DˆL$0L‰T$ D‰\$HtèPnþÿ…ÀL‹D$(D¶L$0L‹T$ D‹\$uƒE…ÿL‰ñH‹l$`D‹t$XM‰ÔtvA¶ÁH‹´$ˆE\IcöADƒàüƒÀHcЋDH˜‹1Àƒúÿ”Àé»öÿÿ1öé<õÿÿHƒù…’òÿÿA¶L‹„$¨A¶é3ñÿÿL‰ñH‹l$`D‹t$XM‰ÔHƒù…bòÿÿA¶H‹¼$¨¶éñÿÿÆ„$x¹éïÿÿÆ„$x¹é~ïÿÿÆ„$x‹|$8)}8AÆD$é;äÿÿHƒ¼$è„@ïÿÿÆ„$x¹éCïÿÿAÆD$ÇD$8é!÷ÿÿAÆD$ÇD$8é÷ÿÿÆ„$x¹é ïÿÿ¿ÈèÜ-þÿH…ÀH‰Ã„éÿÿL‹L$HE1äI‹ApAÇ€H‰I‰Yp¸éŒìÿÿAÆD$ÇD$8é«öÿÿAÆD$ÇD$8é˜öÿÿ¿Èèx-þÿH…ÀH‰Â„¶èÿÿL‹D$H¿1ÉI‹@pAÇ€€H‰I‰Ppé<øÿÿ¿Èè;-þÿH…ÀH‰Å„yèÿÿH‹t$HE1öH‹Fpdž€H‰EH‰np¸é[÷ÿÿ€UE1ÉI‰òI‰ÓH‰åAWAVAUATSH‰ËHì¨H‹?E…ÀÇE ÇE¤HÇE¨H‰}˜t?H‰•@ÿÿÿ¿@H‰µXÿÿÿè¦,þÿH‰ÂL‹•Xÿÿÿ¸ H…ÒL‹@ÿÿÿ„?LM H‰U¨H‹E˜JÝHúD‹ ˆHÇE°HÇE¸‡ß HBÇ…|ÿÿÿHƒàðH)ÄHL$HƒáðH‰MˆH‹}ˆL‰8ÿÿÿH‰ÞL‰•XÿÿÿL‰@ÿÿÿèÌ‚þÿL‹@ÿÿÿ‹L‹•XÿÿÿL‹8ÿÿÿIcÓ‰EÌD‰]”HÁâM‰ÕH‰U€‹S9ÂŒH‹M˜McüM‰øIÁàH‹1LƶNƒù„„ƒù „«9Âu E9¥€„JM‹upL‰ÀI¶p@öÆ…µö@ …8@€þ„î‹UÌLcÒI‹}@€þB¶<„Á‡o@€þ…¿@:8f…´D‹`A÷Äÿt…ÒA‹Exxÿ… HƒéHƒîƒèyêA‹ELAÁìAäÿAöÄt¨tJAöÄt¨u@AöÄ ft¨t4E„äy¨t(I‹FJM…ÉF‹$¸‰MÌ„¸€A;M|ŽQM…É„± ‹U”LE°HuÌL‰ÏL‰8ÿÿÿL‰@ÿÿÿH‰ÙèYÿÿL‹8ÿÿÿA‰ÄL‹@ÿÿÿ‹EÌé`þÿÿ‹MÌL‰…HÿÿÿL‰êL‰8ÿÿÿL‰@ÿÿÿD‰æL‰÷èú2ÿÿ…À‰ÁL‹…HÿÿÿL‹8ÿÿÿL‹@ÿÿÿ„p D‹EÌI‹FA M…ÉF‹$¸‰MÌ…OÿÿÿÇE´E…äˆ1 ‹EÌ‹S9ÂìýÿÿH‹}¸L‰8ÿÿÿèñþÿD‹|ÿÿÿL‹8ÿÿÿE…Û…ÓM…É„.E‹E…Ò~61ÛE1äM‰ÍI‹EAƒÄH‹|è®þÿI‹EH‹|HƒÃ èœþÿE;e|ÖM‰éI‹yèŠþÿ1ÀHeØ[A\A]A^A_ÉÃf„‹ƒÁ9M”ŽwýÿÿHcÉHˉÇBÿÿÿÿ‹EÌ‹Sé\ýÿÿ€‹ƒÁ9M”ŽGýÿÿHcÉHË9ŒöF „!H‹uˆƒ<Îÿ„H‹U€H‰ßL‰…HÿÿÿL‰8ÿÿÿL‰@ÿÿÿèjþÿ‹S‹EÌL‹…HÿÿÿL‹8ÿÿÿL‹@ÿÿÿéßüÿÿf.„‹ƒÀH˜HËP‹‰Ñ)ÁM…É…Ã…É…`þÿÿéÐfDM…ÉD„ÍM…Û€„à1À1ÒfDH ÃD‹!E…äxƒyÿt ƒÂHcÂI9ÃwãI9İ‹U”LE°HuÌL‰ÏL‰8ÿÿÿL‰@ÿÿÿH‰ÙèÞÿÿLcøA‰ÄL‹8ÿÿÿM‰øL‹@ÿÿÿIÁàé$üÿÿfD‰B‹EÌ‹Séÿûÿÿf.„ƒøÿ„ýÿÿƒúÿ„ýÿÿ…É…bH}°L‰…HÿÿÿL‰8ÿÿÿD‰æL‰@ÿÿÿè•Wÿÿ…ÀL‹…HÿÿÿL‹8ÿÿÿˆI‹F(‹UÌJ‹DLcÒ‰•PÿÿÿL‰•XÿÿÿD‹ I‹…ˆJ‹<ÐD‰æHƒÇè ÿÿ…À‹•PÿÿÿL‹…HÿÿÿL‹8ÿÿÿL‹•XÿÿÿL‹@ÿÿÿ…ýÿÿL‰ÀI¶péxûÿÿ‰BH‰ÞH‹U€H‹}ˆé þÿÿHcUÌI‹…ˆH}°L‰…HÿÿÿL‰8ÿÿÿD‰æL‰@ÿÿÿM‹v(L‹<ÐèÉVÿÿ…ÀL‹…HÿÿÿL‹8ÿÿÿL‹@ÿÿÿˆÊOA‹H…ÉŽæûÿÿIWE‹ A¾ÿÿÿÿM‹@L‰pÿÿÿE1ÒL‰­hÿÿÿL‰`ÿÿÿA‰ÉC7I‰ÓA‰ÅDE…ÿE‹ ~HD‰î1ÒI‹{9òs3Ñè‰ÁD;$fD9ЉÆvÐÑè‰ÁD;$~îP9òrÔ€‰ÐD;$‡t0E‰ôAƒÂIƒÀE9ÑŽ}E‰æë—H‹}ˆèþþÿL‹8ÿÿÿéüÿÿfƒúÿtËAƒþÿtÈL‹pÿÿÿL‹`ÿÿÿH}°D‰öL‹­hÿÿÿL‰8ÿÿÿL‰@ÿÿÿèfÿÿ…ÀL‹8ÿÿÿL‹@ÿÿÿ…ˆûÿÿM…É…ÃE‰ôéwûÿÿL‹pÿÿÿL‹­hÿÿÿL‹`ÿÿÿé]ûÿÿI‹…ˆHcÉH‹<ÈH…ÿ„˜úÿÿHƒÇL‰8ÿÿÿL‰@ÿÿÿD‰æèôÿÿ…ÀL‹8ÿÿÿL‹@ÿÿÿ…ûÿÿécúÿÿf„@€þt@€þfD…Dúÿÿ@„ÿˆ;úÿÿ@€ÿ „¢@„ÿ@…pùÿÿI‹up€¾È‰_ùÿÿéúÿÿ‰ùH‹0ÀéD¶ÁJ‹4ÆH£þ‚@ùÿÿéïùÿÿH‹}¸è¬þÿƒ½|ÿÿÿuhHeØ1À[A\A]A^A_ÉÃH‹}¸L‰8ÿÿÿè‚þÿƒ½|ÿÿÿL‹8ÿÿÿtH‹}ˆèiþÿL‹8ÿÿÿL‰Ïè*ÿÿéÍúÿÿI‹upö†È@…Êøÿÿ@éuùÿÿH‹}ˆè2þÿ1Àé£úÿÿA€}fI‹E‹ …Pƒù t)1Àéèøÿÿ@¶ÿI‹MXHcÇHÁèH‹ÁH£ø‚oƒÿ u×A€}e¸…¶øÿÿ1À靸ÿÿE‹9‹UÌAwA;qA‰1„I‹AMcÿH‹}€L‰8ÿÿÿIÁçL‰@ÿÿÿB‰8L‰úIQD‰bH‰•PÿÿÿèE#þÿH‹•PÿÿÿL‹8ÿÿÿH‰BI‹AJ‹|8H…ÿ„oH‹U€H‰ÞM‰üèÒyþÿL‹8ÿÿÿ‹E´L‹@ÿÿÿMaA‰D$ƒ}´ŽxA‰D$H˜H<…èÚ"þÿH…ÀI‰D$L‹8ÿÿÿL‹@ÿÿÿ„úHcU´H‹u¸H‰ÇL‰8ÿÿÿL‰@ÿÿÿHÁâè\yþÿL‹8ÿÿÿL‹@ÿÿÿé2ýÿÿ‰Ï‰•Pÿÿÿ‰XÿÿÿL‰8ÿÿÿL‰@ÿÿÿèÂ…À‹•Pÿÿÿ‹XÿÿÿL‹8ÿÿÿL‹@ÿÿÿu ƒù_…hþÿÿ¸éR÷ÿÿƒàƒøÀƒàƒÀé?÷ÿÿD‹EÌI‹UH˜‰XÿÿÿL‰8ÿÿÿL‰@ÿÿÿIcðH<D‰…HÿÿÿH42HcÑèü`þÿ…À‹XÿÿÿD‹…HÿÿÿL‹8ÿÿÿL‹@ÿÿÿ„Ò÷ÿÿé>÷ÿÿAÇD$AÇD$H‹}¸L‰8ÿÿÿèâþÿƒ½|ÿÿÿL‹8ÿÿÿtH‹}ˆèÉþÿL‹8ÿÿÿL‰ÏèŠ ÿÿ¸ é(øÿÿH‰×H‰•PÿÿÿL‰8ÿÿÿL‰•XÿÿÿL‰@ÿÿÿèŒÃ…ÀH‹•PÿÿÿL‹8ÿÿÿL‹•XÿÿÿL‹@ÿÿÿ…ÙôÿÿH‰×H‰•PÿÿÿL‰8ÿÿÿL‰•XÿÿÿL‰@ÿÿÿè!þÿH…ÀH‰EˆÇ…|ÿÿÿH‹•PÿÿÿL‹8ÿÿÿL‹•XÿÿÿL‹@ÿÿÿ…¤ôÿÿéJÿÿÿH‹}¸èþÿƒ½|ÿÿÿ¸„i÷ÿÿH‹}ˆèèþÿ¸éV÷ÿÿAƒüþ„âþÿÿ@éöÿÿL‰ÀI‹UÌLcÒ¶péõÿÿIT$¹1ÀH‰×ó«é ûÿÿI‹yHcö‰•PÿÿÿHÁæL‰8ÿÿÿL‰@ÿÿÿè,-þÿH…À‹•PÿÿÿL‹8ÿÿÿL‹@ÿÿÿ„mþÿÿAÑaI‰Aé™üÿÿfAWAVAUATUD‰ÍS‰Ë¹Hì(H‹L¼$H‰|$hH‰´$H‹t$h‰”$„H‰D$`L‰ÿ1ÀóH«H‹L$`D‰„$€H‹”$`H‹v H‰Œ$€H…öH‰t$xtH‹|$hE…À¶G8…ßHÇD$xL‹\$hL‹D$h1ÉÇ„$ÌI‹C0M‹@(H9ÐL‰„$ s÷ÐЉ„$ÌHcÈH‹D$hHƒx„çH‹t$`H‹FHH…À„ÕH‰÷H‹vPH…ö„ÅI‰øH‹XH…ÿ„µIƒx`„ªD‹H E…Éu9D‹F E…Àu0‹w …öt H‹|$h€8x…Ûtœ$€…Û…sÇ„$€H)ÊH‰”$°…L‹D$`1ÀAƒ¸Œ•À‰D$\L‰ÀH‹PH‰Ç‹´$„‹€¤L‹\$hL‹„$ƒÂƒÆ9ÂI‹KD‹œ$„MÂL‰„$9ÆOðH‹„$ ÷Á@D‰œ$PD‰œ$LH‰„$`•ÀE1íHƒ¼$ ˆ„$p¶ÀA•ÅD 舄$s‹‡¤‰„$x¶‡ Àèƒàˆ„$q¶‡ L‰ÿD‰œ$XD‰œ$TÀèƒàˆ„$rè\ ÿÿ…À…[H‹D$`H‹T$`H¨H‰„$h¶‚ Àèƒà€¼$sˆ„$vH‹„$HE„$H‰„$uƒº¤‹„$„~1ÀH‹L$h‰„$<‰„$@‰¬$X‰¬$TH‹t$`¶A8‹¼$pÀ舄$u‹®Œ‰¼$ˆÇ„$Œÿÿÿÿí…í~ELcåK<¤HÁçèÚþÿJ<åH‰„$°èÅþÿHƒ¼$°H‰„$È„,H…À„K$Hƒ¼$°‰¬$¨Ç„$¸‰¬$ÀwL‹D$`Aö€ „‹‹¼$DƒÇHcÿHÁçèXþÿH…ÀH‰ÇH‰„$˜„Ê‹„$p‹”$€‰œ$ƒàƒøÀƒàƒÀ…Ò‰„$\ˆD‹œ$€‰œ$œÇ„$¨AÛD9ÛD‰\$pŸÁ1öH‹D$`ƒ¸¤”ÀHƒ|$x¶À‰„$ȸte‹„$È…ÀuAH‹T$höB@t+1Àë7¨„üÿÿ¨„üÿÿé üÿÿÇD$\H‹D$`éöüÿÿHƒ¼$ uʸ‹”$€D èÁú÷Òƒâ ЄÉu @„ö„~H‹¼$˜¸‰D$@èz þÿH‹T$`‹D$@D‹ªŒE…í…æH‹¼$ ‰D$@èP þÿH‹¼$(èC þÿ€¼$s‹D$@tH‹¼$è( þÿ‹D$@HÄ([]A\A]A^A_ÃH´$Ѓè‰D$t‰ÁHƒÆƒ|$tH‰Œ$¸H‰´$ˆ‡H‹¼$¸ÿ$ýèµO9œ$œ6ÿÿÿHƒ¼$ „;HcÓH‹Œ$ H”$H‹t$x‹¬$œ‹¼$„뀃ëHƒê9뉜$Œâþÿÿ1À9ß~¶¶€<t׋´$‹”$pL‰ÿèyŠÿÿ…À…¸D‹´$ÈE…öu$D‹¬$<E…ítH‹„$ ƒ8ÿ„fDD‹¤$€E1öÇ„$¸Ç„$¤Ç„$ HÇD$HE…äxHŒ$A¶H‰L$HH‹œ$€Ç„$D‹¤$HH‹kH€}PykD‰à‹”$ˆƒèxH;„$P„˃¼$xާHcÐHÁâH”$ „D‹*Aƒýÿ…Hƒêƒèyê‹”$\ö„ê H‹kPH…í„]H‹„$˜H…ÀtD‹›ŒIcÔH‰,ÐE…Û…ü¶EP¨…™¸ÿÿÿÿÇD$P‹Œ$HE‰åA‰Ä‰Î뀋Œ$H‰ÎA‰ÝH‰Õ9´$XŽl^;œ$D—‹„$<9Ã{öEP …ãH‹”$HcÁƒÁD¶‰Œ$HH‹E@H…À„jE¶ÀJ‹ÀHƒ¼$˜tH¼$L‰þè‰ÇÿÿH‰ÂH…Ò„ E…ö…‚D‰ë¶BP¨„Mÿÿÿ„Àˆ D‹¤$HD‰á‹t$\…ö„ƉÎÇD$PHÇD$Héÿÿÿ9\$p~gL‹„$HcÃL‹œ$ H‹T$xA¶A¶€<uIC‹|$pL‰ÙH‰ÖH˜H„$f„ƒÃ9߉œ$~¶HƒÀ¶€<tá9\$p„Œ‰Þéýÿÿ9\$p~éH‹Œ$HcÃH‹t$x¶€<uÙCH‰ñ‹t$pH˜H„$@ƒÃ9Þ‰œ$~©¶HƒÀ€<tå9\$pu é'f‹Œ$H‹„$ˆ…ɉÎx@;Œ$P„ƒ¼$xŽáHcÁ‰ÏHÁàH„$ ‹(ƒýÿ……HƒèƒïyìD‹Œ$\‹j …íŽÚýÿÿH‹¼$€E‰ÈE‰ÍAƒàAƒåAƒáH‹BH‹?„¢E…í…¹E1ÒE…ÀI‰ÁtNI‰ÂE1Û„A‹LcÈIÁáN E‹AAÁèfAàÿA€y„!AƒÃIƒÂD9ÝÌéXýÿÿ€A‹LcØIÁãNE‹CAÁèfAàÿA€{„ AƒÂIƒÁD9ÕÌéýÿÿ€E1ÛE…ÀI‰ÁtUE1ÉE…íI‰À„†I‰ÂA‹LcÈIÁáN E‹AAÁèfAàÿA€y„ÑAƒÃIƒÂD9ÝÌé¸üÿÿ€A‹LcÐIÁâNE‹BAÁèfAàÿA€z„ÁAƒÃIƒÁD9ÝÌéxüÿÿ€A‹LcØIÁãNE‹SAÁêfAâÿA€{„ÑAƒÁIƒÀD9ÍÌé8üÿÿ€H‹¼$HcÁH‹¬$h¶<HcÇHÁèH‹DÅH£ø‚Ãÿ „¡E1ÉéþÿÿfE1ÒE…ÀI‰ÁtMI‰ÂE1Û€A‹LcÈIÁáN E‹AAÁèfAàÿA€y„AƒÃIƒÂD9ÝÌé ûÿÿ€A‹LcØIÁãNE‹CAÁèfAàÿA€{„áAƒÂIƒÁD9ÕÌé`ûÿÿHÇ„$ÀH‰ïèþÿH‹¼$Àè þÿL‰ÿèãüþÿ‹œ$¨œ$9\$p‰œ$ŒTøÿÿ;œ$œŒGøÿÿƒ|$t†êøÿÿH‹l$xD‹¤$¨D‹l$pD‹´$„‰Ø+„$8;„$@ƒ¡1ÒA9Þ~H‹”$‰À¶€|…üÿÿDãA9݉œ$ŒÙ÷ÿÿ9œ$œ~®éË÷ÿÿ‰Œ$H@Hƒ|$HtH‹|$HD/Aƒüÿ„+ÿÿÿAƒüþ„ Hƒ¼$°D‰¤$Œ—„$¬†ýL‹D$hAö@8…íH‹”$˜IcÄE…äH‹‹”$ˆxFD;¤$P„¢ƒ¼$xŽCHÁàH„$ D‰â€‹(ƒýÿ…3 Hƒèƒêyì‹´$\‹S …Ò~iH‹„$€A‰ðH‹K‰óAƒàƒãƒæH‹„eE…À…1ÿ…ÛH‰Î„™1í‹HcûHÁçH<8‹wÁîfæÿ€„ ƒÅHƒÁ9êÓ1Û€¼$¬‰œ$…d H‹T$`‹‚Œ…À„üD‹¤$ŒEl$H‹´$€McíIÁåH‰t$PL‰ïèþÿH…ÀH‰Å„øH‹|$PD‹·ŒE…ö„^L‰ïèfþÿH…ÀI‰ÅH‰„$À„ÇL‹´$ˆED$1öL‰ïIcÐD‰D$HHÁâèÿVþÿH´$ÐL‰ÿIÇIÇFH‰¬$ÐL‰¬$؉œ$àD‰¤$äèÑ®ÿÿH‹¼$ð‰D$@è þÿ‹D$@…À…eHƒ}…Iƒ}…AT$ÿHcÒHÕH„$˜ë@H‹H…Ût öCP…vHƒèHƒêAƒìyàé›üÿÿ‹HcëHÁåH,(‹MÁéfáÿ€}„ƒÇHƒÆ9úÓédþÿÿf„E·ÀE…ÀtAƒà…éûÿÿf.„…À„‰÷ÿÿA‰ÌDé9øÿÿE·ÒE…ÒtÞAöÂ…ûÿÿAö …ûÿÿE„ÒyÅDéûÿÿE·ÀE…Àt®AöÀ…ËùÿÿAƒà tžfDéºùÿÿE·ÀE…Àt‡AöÀ…áùÿÿAƒà „pÿÿÿéÒùÿÿE·ÀE…À„ZÿÿÿAöÀ…úÿÿE„À‰Gÿÿÿ€éúÿÿE·ÀE…À„*ÿÿÿAöÀ…'úÿÿAöÀ t E…í„úÿÿE„ÀˆúÿÿéÿÿÿE·ÀE…À„óþÿÿAƒà„éþÿÿéûÿÿ@€¼$v…îƒý …_úÿÿ€¼$uA¹„Kúÿÿé\øÿÿL‹\$`A‹ƒŒ…À…ÿûÿÿHƒ¼$°„š€¼$¬t3H‹Œ$hº¸HуÀÇBÿÿÿÿÇÿÿÿÿHcÐH9”$°wßH‹„$h€¼$¬H‹”$hÇ‹„$Œ‰BtOH‹L$höA8uDH‹t$`E1Àö† tE1Àƒ¾ŒAŸÀH‹Œ$hH‹”$°L‰þH‹|$hèÿàÿÿ…À…® H‹´$(‹œ$1ÀH‹¬$h1ÉHDÅ‹ƒúÿt€¼$t…kXÚ‰ƒÁHcÁH9„$°wσ¼$Ì~3L‹„$°L‹œ$h1ÒKÃÇÿÿÿÿÇ@ÿÿÿÿƒÂHƒÀ;”$ÌuãH‹D$`Hƒ¸ÐtL‹¼$°1À1ÒL‹D$`H‹¬$hë+I‹˜Ð‹49ÖtHcö‹Tõ‰TEHc‹TÕ ‰TE HƒÀ‰ÊJ9ùuÎH‹¼$˜1ÀéÁñÿÿ‰ïH‰T$(‰L$ ‰t$8謅ÀH‹T$(‹L$ ‹t$8uƒý_…äýÿÿfDA¹éQöÿÿ1í…ÛH‰Ît<1ÿE…Àtm‹HcûHÁçH<8‹wÁîfæÿ€„¿ƒÅHƒÁ9êÓéžúÿÿ‹HcûHÁçH<8‹OÁéfáÿ€„³ƒÅHƒÆ9êÓéiúÿÿfD‹HcëHÁåH,(‹MÁéfáÿ€}„«ƒÇHƒÆ9úÓé1úÿÿfD…Ò„óÿÿ‰Ðƒàƒø„ ö„H‹kXéòòÿÿD‹”$E…Ò…U Hƒ¼$˜„¸øÿÿD‹L$PE…ÉtD‹D$\E…À„ øÿÿ‹„$H‹´$ PHcÒHÁâH”$˜‰ÁƒÀ9ÆŒhøÿÿH‹ HƒÂH…ÉtçH¼$1ÒL‰þ‰„$HèÞºÿÿH…À„uH‰ÂéPóÿÿ¸é_ðÿÿH‹”$H‹Œ$h¶HcÂHÁèH‹ÁH£Ð‚eƒú „÷1öéµøÿÿ1ÿ…ÛH‰Ît91í‹HcûHÁçH<8‹wÁîfæÿ€„SƒÅHƒÁ9êÓéèøÿÿD‹HcëHÁåH,(‹MÁéfáÿ€}„[ƒÇHƒÆ9úÓé±øÿÿfDH‹”$H˜H‹Œ$h¶HcÂHÁèH‹ÁH£Ð‚kñÿÿƒú …fñÿÿ€¼$u„Xñÿÿºé<þÿÿ·É…É„YøÿÿöÁ…×ùÿÿ€á „Gøÿÿ€éÂùÿÿD;¤$P‹„$ˆ„vƒ¼$xŽqIcÄD‰áHÁàH„$ ‹ƒúÿ…ýHƒèƒéyì‹´$\‹S …Ò~hH‹„$€A‰ðH‹K‰óAƒàƒãƒæH‹„_E…À…F1ÿ…ÛH‰Ît@E1À‹HcûHÁçH<8‹wÁîfæÿ€„AƒÀHƒÁD9ÂÑ1Ûéøÿÿ€‹LcÃIÁàNA‹HÁéfáÿA€x„™ƒÇHƒÆ9úÑëÁ€L‹œ$ˆH´$ÐL‰ÿH‰„$ÐHÇ„$؉œ$àD‰¤$äIÇIÇC覦ÿÿH‹¼$ð‰D$@èõùýÿ‹D$@…À….Hƒ}„¯ôÿÿH‹¼$˜èÑùýÿ1ÿH‰¬$˜‰œ$D‰¤$Œè³ùýÿ1ÿè¬ùýÿé«ùÿÿH‹D$hö@8…öÿÿH‹L$`ö …–öÿÿ‹Œé{öÿÿE1É…ÛH‰ÏtA1ÿE…ÀH‰ÎtoE1À‹HcûHÁçH<8‹wÁîfæÿ€„·AƒÀHƒÁD9ÂÑéšþÿÿ‹HcóHÁæH40‹NÁéfáÿ€~„AƒÁHƒÇD9ÊÑéfþÿÿ@‹LcÃIÁàNA‹HÁéfáÿA€x„©ƒÇHƒÆ9úÑé.þÿÿH‹„$H‹Œ$h¶HcÂHÁèH‹ÁH£Ð‚­ƒú „®1öé†ýÿÿ1ÿ…ÛH‰Ît:E1À‹HcûHÁçH<8‹wÁîfæÿ€„úAƒÀHƒÁD9ÂÑéµýÿÿ‹LcÃIÁàNA‹HÁéfáÿA€x„߃ÇHƒÆ9úÑé~ýÿÿ·ö…ö„éôÿÿ@öÆD…'úÿÿ@„ö‰Ñôÿÿéúÿÿ·É…É„ÀôÿÿöÁ…9úÿÿöÁ t E…À„+úÿÿ„Ɉ#úÿÿé›ôÿÿ·É…É„ôÿÿöÁ…AúÿÿöÁ …8úÿÿ„ɉvôÿÿfDé%úÿÿ·É…É„`ôÿÿƒá„WôÿÿéŒûÿÿ€¼$v…Xƒý … ûÿÿ€¼$u¾…²óÿÿ1öé«óÿÿ€¼$v… Aƒý …òìÿÿé‡ûÿÿHÇ„$˜éŽéÿÿö„ÓìÿÿL‹M8E‹AE…À„Q E…ÀB ~A@ÿI‹qH<…1À HƒÀH9øuô‰È#ƒ„HÁàHC@D‹E…ÛŽÃAxÿH‹p1ÀHcÿHÁçH‰¼$Àëf.„ƒÀHƒÆD9ØŽH‹.;Muè¶}Pƒç9úuÝL‹U8M…ÒtÔE;BuÎH‹¼$ÀD‰D$Pƒl$PˆìÿÿM‹jE‹l=D‰¬$¬M‹iE‹l=HƒïD9¬$¬tÍëŒ@€¼$v„oýÿÿ‰×‰T$(è_¤…À‹T$(u ƒú_…Sýÿÿ¾éßúÿÿ€¼$u¾…Ìúÿÿ1öéÅúÿÿ·ö…ö„Ÿòÿÿƒæ„–òÿÿé”ùÿÿ·ö…ö„†òÿÿ@öÆf…jòÿÿ@€æ „pòÿÿé[òÿÿ·ö…ö„öòÿÿ@öÆ…4üÿÿ@„ö‰àòÿÿfé!üÿÿ·ö…ö„Îòÿÿ@€æ@„Àòÿÿéèüÿÿ·É…É„°òÿÿ€á„§òÿÿéýÿÿ·É…É„–òÿÿöÁ…CüÿÿöÁ …:üÿÿ„ɉ|òÿÿfDé'üÿÿ·É…É„fòÿÿöÁ…ÙûÿÿöÁ t E…À„Ëûÿÿ„ɈÃûÿÿéAòÿÿ·É…É„6òÿÿöÁ…Súÿÿ€á „$òÿÿfDé?úÿÿ·ö…ö„òÿÿ@öÆ@…çùÿÿ@€æ „öñÿÿéØùÿÿL‰ÿèSìþÿH‹¼$ÈèfôýÿH‹¼$°èYôýÿ‹D$@éïçÿÿD‹œ$€‰\$pÇ„$¨ÿÿÿÿAÛD9ÛD‰œ$œ@œÆ1Ééøæÿÿ‹¼$…ÿ„!÷ÿÿé¼ïÿÿ‰ïèe¢…Àu ƒý_…‘üÿÿ¾éVðÿÿD‹t$HH‹|$PL‰êH‰îD‰ñè3ÿÿL‰ï‰D$@èÇóýÿ‹D$@…À„ÝùÿÿHÇ„$ÀH‰ï‰D$@è£óýÿH‹¼$Àè–óýÿ‹D$@ƒø„~îÿÿH‹¼$˜éùæÿÿHcÃH‹L$xH„$‹´$œ‹¼$„ë@ƒëHƒè9ó‰œ$Œ²æÿÿ1Ò9ß~¶€<tÛéÌçÿÿH‹k`éìèÿÿ;„$PxéÿÿL‰ÿè-ÿÿ…À‰„$…ª‹Œ$HéUéÿÿL‰ÎH‰ßè§[ÿÿH…ÀH‰Å…®èÿÿÇ„$ ƒ¼$ …UH‹¼$˜¸ é-æÿÿ‹E H‹”$€…ÀŽ=E1ÀE1ɉœ$øD‰¤$üL‰ÃD‰´$D‰¬$ôA‰ÀE‰ÌI‰Ö@H‹E‹4LcîL‰èHÁàIö@ „ºD‹HA÷Áÿ„‹…É‹„$ˆxB;Œ$P„¡ƒ¼$xŽÃHcÁ‰ÏHÁàH„$ f‹ƒúÿ…ÝHƒèƒïyì‹„$\AÁéAáÿAöÁt¨t@AöÁt¨u6AöÁ ft¨t*E„Éy¨tL‰úL‰÷èC ÿÿ…À…°D‹E ‹Œ$HAƒÄHƒÃE9ÄŒÿÿÿD‹¬$ô‹œ$øD‹¤$üD‹´$Ç„$é½çÿÿH‹„$HcѶ<H‹„$hHc×HÁêH‹ÐH£ø‚žƒÿ t1Àé3ÿÿÿ€¼$v…Dƒú u怼$u¸… ÿÿÿ1Àéÿÿÿ‹”$¸‹Œ$H‹´$ Á9ÐLÂ;Œ$D‰„$¸}‹„$<9Á|);„$P} L‰ÿ‰L$ ‰t$8è»ÿÿ…À‹L$ ‹t$8…˜9ñ~4‰Ê‰L$ )òHcöH<õH¼$˜HcÒHÁâ1öèîDþÿ‹L$ ‰Œ$ I‹FH‹´$˜Jc¨HcÁH‰´$àL‹,ÆH‰„$ØHÁâIV0M…턟I‹u8H¼$‰L$ èŠÿÿ…À‹L$ …H‹´$˜H‰´$àƒé‹„$ˆx>;Œ$P„>ƒ¼$xŽcHcÁHÁàH„$ ‹ƒúÿ…Hƒèƒéyì‹”$\D‹Œ$E…É„ìE…ÉB ~+AAÿH‹¼$H4…1Àf„ HƒÀH9ðuô‰ÎA#¶„HÁæIv@‹…ÀŽÖEAÿH‹~1öMcÀIÁàL‰„$èL„$L‰„$ëfDƒÆHƒÇ9Æ–L‹A;uéE¶PPAƒâD9ÒuÛM‹P8M…ÒtÒE;JuÌL‹œ$èD‰Œ$¬‰D$ L‰œ$ÐL‹œ$L‰œ$Àƒ¬$¬xXM‹ZH‹„$ÐHƒ¬$ÐA‹L‹œ$ÀHƒ¬$ÀE‹D9ØtÄ‹D$ é[ÿÿÿH´$L‰÷èWÿÿI‰À¸ M…Àt1ÀH‹”$ØH‹Œ$àM…íL‰ÑtH‹¼$‰D$@èîýÿ‹D$@H‹”$˜H‹´$ØHƒ<ò…`üÿÿ…À„XüÿÿD‹¬$ô‹œ$ø1ÒD‹¤$üD‹´$‰„$ébäÿÿ‰×‰T$(‰L$ ‰t$8D‰D$0D‰L$@è œ…À‹T$(‹L$ ‹t$8D‹D$0D‹L$@u ƒú_…|üÿÿ¸é—ûÿÿH‹H‰„$H‹BH‰„$évýÿÿH‹„$HcɶH‹Œ$hHcÐHÁêH‹ÑH£Âr,ƒø „´1Òéýÿÿ‰×‰T$(è}›…À‹T$(u ƒú_…ˆºéiýÿÿH‹MHH…É„¡‹´$H‹”$ˆL‰ÿH‰L$ DˆD$0ƒîèBòþÿ¨H‹L$ D¶D$0tbE¶ÀJ‹”ÁéNãÿÿE1öH9ÕA”ÆH9ÕAEÝékãÿÿ1ÀE1ÀéNþÿÿ€¼$v…\ÿÿÿƒú …Lÿÿÿ€¼$uº…Ïüÿÿ1ÒéÈüÿÿE¶ÀJ‹ÁéðâÿÿH‹¼$€H‰îDˆD$0èXÿÿ…ÀD¶D$0…¸âÿÿÇ„$ 1Òé»âÿÿH‹¼$˜¸ éŠßÿÿH]1ÒL‰ÿH‰Þè,ÿÿ…À‰„$uV¶EP¨@u2E1öéÜáÿÿƒàƒøEÉAƒáAƒÁéäÿÿH‰ïèÃëýÿ1ÿè¼ëýÿéõøÿÿH‰ÞL‰ÿ載ÿÿ…À‰„$u¶EPë²A‰ÄéSçÿÿƒàƒøÒƒâƒÂéçûÿÿƒàƒøÀƒàƒÀéˆùÿÿ¹®OºB¾_­O¿$®Oèô”ûÿƒø „‰øÿÿ¹®Oºx¾_­O¿$®OèÒ”ûÿƒâƒúöƒæƒÆéŠçÿÿD‰ïèw™…À…ÕàÿÿAƒý_…ÓóÿÿDéÁàÿÿ‹”$p‰ÞL‰ÿèjÿÿ…À…Y÷ÿÿ‹œ$‰Ø+„$8é1æÿÿƒàƒøöƒæƒÆéµïÿÿƒâƒúÒƒâƒÂé_íÿÿÇ„$éÇ÷ÿÿ;”$<„ HcÒ‹–‰‹x;¼$<„çHcÿ‹<¾‰xébëÿÿ„Àxƒ|$\„æÿÿD‰àÇD$PéUàÿÿE…ä‹„$ˆxBD;¤$P„¸ƒ¼$xŽIcÄD‰âHÁàH„$ ‹ƒûÿ…Hƒèƒêyì‹„$\é‘1À‹¼$„9|$p}HcD$pL‹„$A¶Hƒ¼$ t L‹œ$ A¶H‹T$x€<„Ýÿÿ‹t$péBÞÿÿH‹¼$˜° éÝÿÿ‹¼$@éÿÿÿ‹”$@éïþÿÿ€¼$v…ƒû „Ž1ÀD‹M L‹„$€‰ÆA‰ÂA‰ÃƒæAƒâAƒã1Ò1ÛD9Ë1ßÿÿH‹E‹<HcÇHÁàI‹HÁéfáÿ€xtVƒÃHƒÂëÌH‹”$IcÄH‹Œ$h¶HcÐHÁêH‹ÑH£Â‚ƒø …rÿÿÿ€¼$u¸„_ÿÿÿé\ÿÿÿ·É…Ét.öÁt…ötšöÁt…öuŽöÁ tE…Òft‚„Éy E…Û„uÿÿÿ…ÿ…þÿÿévÞÿÿƒàƒøÀƒàƒÀéÿÿÿ‰ßè¹–…Àu ƒû_f…åþÿÿ¸Déáþÿÿff.„H‰\$ØL‰d$èH‰ûL‰l$ðL‰t$øI‰õH‰l$àHƒìXA÷ÀøÿÿÿI‰ÖI‰ÌH‹/¸…²AöÀ…ÈH‰÷D‰D$(è‹$þÿD‹D$(‰ÂE1Ò¾1Àƒ=ñ)tð±µØ…Á=ë ±µØ…²=öC8„ŠD‰D$HÇD$HÇ$A‰ÐA‰ÑD‰ÑE)ÐL‰îH‰ßèÖÿÿ‰Âƒ=¤ð)tðÿØ…‚=ë ÿØ…t=1À…Ò•ÀH‹\$0H‹l$8L‹d$@L‹l$HL‹t$PHƒÄXÃfD‹‹QéDÿÿÿDD‰D$L‰d$L‰4$éyÿÿÿffff.„AWE‰ÂAVAUATI‰üUSHƒìX9ÑL‹?H‰t$H‰T$D‰L$@L‹¬$~ AƒÎÿ@HƒÄXD‰ð[]A\A]A^A_ÃfD…ÉxÜ‹D$@A9D$DŒ\…Àˆc¾1Àƒ=´ï)tðA±·Ø…¯<ëA±·Ø…Ÿ<E¶D$8D‰ÂD‰Àƒâ@€úEöA÷ÖAƒæE…Ò~I‹\$ H…Ût AöÀ„þ¨…1M…턃à<„øI‹\$0ƒÃHcÓH<ÕH‰T$8DˆD$0D‰L$ D‰T$(è“ôýÿH…ÀH‰ÅH‹T$8D¶D$0D‹L$ D‹T$(„ AÀèH‰$‹L$@Aƒà‹T$DH‹t$HE ðL‰çH‰D$D‰D$E‰ÐA¾ÿÿÿÿè+Ôÿÿ…À…M…í„äA¶D$8DsÐèƒà„uƒø„dƒø…§E‹uA9Þ‚¾…Û޾I‹}M‹UƒûA‰ØHE HWIJ‡ACÿH …1À@‹TE‰‹TEA‰HƒÀH9ÈuèE‹uE9ðs4HcÃHÁàH‰ÂIEIUDÇÿÿÿÿƒÃÇÿÿÿÿHƒÂHƒÀA9]wãA¶D$8ƒæöƒàù ð¨AˆD$8„[D‹”$˜E…ÒtI‹D$@9E…žD‹uD+t$@H‰ïè[äýÿƒ=”í)tðAÿØ…¯:ë AÿØ… :éxýÿÿD‹uëÇf.„öÃI‹,$H‰ßº…Í@öÇ…²@öÇ…–‰Ñ1ÀÁéö‰ÉóH«t ÇHƒÇöÂt fÇHƒÇƒâtÆH‹uHH‰ÚL‰çDˆD$0D‰L$ D‰T$(èèÿÿH‹uPH9uHD¶D$0D‹L$ D‹T$(tH‰ÚL‰çèÃÿÿD¶D$0H‹uHD‹T$(D‹L$ H‹EXH9ðt1H‰ÆH‰ÚL‰çDˆD$0D‰L$ D‰T$(è‰ÿÿD¶D$0H‹EHD‹T$(D‹L$ H‹u`H9Æt*H‰ÚL‰çDˆD$0D‰L$ D‰T$(èRÿÿD¶D$0D‹T$(D‹L$ A¶D$8ƒÈAˆD$8éÑüÿÿ€A‹EA9ƇXA‰Æ¾éýÿÿfDI‰ùM ÑAƒá…¯ýÿÿH9džI9†$I9Òw H9φŒýÿÿ‰ÙÁéDE…Û„MH‰ê1ÀE1É€óo AƒÁóoBHƒÂ foÑÆÈÝÆÐˆffA HƒÀA9ÉrÏD9ÛD‰Ú„SýÿÿHcÊHDÍHÁáHÏI D‹ƒÂD‰D‹HHƒÇHƒÀD‰ HƒÁ9Óàéýÿÿ¿º»éøûÿÿ@IcÖHÁâH‰×H‰T$8èŒðýÿH‹T$8I‰EH‰×è{ðýÿIƒ}I‰E„sH…À„jE‰u¾édüÿÿDH9êƒ~üÿÿéÓþÿÿH9Í€†iüÿÿféÅþÿÿE1À1Ûé…üÿÿǃêHƒÇéXýÿÿfǃêHƒÇé=ýÿÿÆH{fºÿé#ýÿÿD‹T$DD+T$@éúÿÿD‹T$@A÷ÚéúÿÿA¾þÿÿÿé¬üÿÿI‹\$0A‹EHS‰ÁH9уõúÿÿ…À‰Ãîúÿÿ¿º»E1íéâúÿÿ¹®Oºç¾_­O¿b®OèUŠûÿ¹®®Oº¾_­O¿J®Oè<Šûÿ¹®®Oº¾_­O¿6®Oè#ŠûÿI‹}IcÎHÁáH‰ÎH‰L$8èüýÿH‹L$8I‹}H‰D$8H‰ÎèüýÿH‹T$8H…ÒtH…Àt I‰UI‰Eé–þÿÿ1öéûÿÿ1ÒéøýÿÿA¾þÿÿÿDé¸ûÿÿff.„H‰l$ØD‰ÅH‰\$ÐL‰d$àL‰l$èH‰ûL‰t$ðL‰|$øHƒìx…íI‰ÍI‰ôD‰ÉD‹„$€L‹¼$ˆD‹Œ$D‹´$˜x[…ÒxWE…ÉxR…íDTt…ÒL‰îurD‰´$ˆL‰¼$€H‰ßH‹l$PH‹\$HD‰ÒL‹d$XL‹l$`L‹t$hL‹|$pHƒÄxéuøÿÿD¸þÿÿÿH‹\$HH‹l$PL‹d$XL‹l$`L‹t$hL‹|$pHƒÄxÄIcú‰T$8‰L$(D‰D$ D‰L$D‰T$0èÑíýÿH…À‹T$8t¨HcÒL‰æH‰ÇH‰D$8è5>þÿHcÕL‰îH‰ÇègDþÿD‹T$0L‹\$8H‰ßD‹L$D‹D$ ‹L$(D‰t$L‰ÞD‰ÒL‰<$èÈ÷ÿÿL‹\$8‰D$8L‰ßè§Þýÿ‹D$8éCÿÿÿfffff.„Hƒì(‹D$@ÇD$‰D$H‹D$8H‰D$‹D$0‰$èVþÿÿHƒÄ(ÃHƒì(‹D$8ÇD$Ç$‰D$H‹D$0H‰D$è&þÿÿHƒÄ(ÃHƒìL‰ $A‰ÑÇD$è(÷ÿÿHƒÄÃHƒìA‰ÑL‰$E1ÀÇD$è÷ÿÿHƒÄÃUH‰ýSHƒì(H‹ÐÒ)è‹þÿ¾H‰Â1Àƒ= ç)tð±³Ø…D4ë ±³Ø…541ÉA‰ÑA‰ÐH‰î¿sÇD$HÇD$HÇ$è-Ìÿÿ‰Âƒ=´æ)tðÿ‹Ø…4ë ÿ‹Ø…41À…Ò”ÀHƒÄ([]Ãf„AWAVAUI‰õATI‰üUH‰ÕSHìøH‰L$L‹t$áL‹|$D‰D$ L‰L$(H‰L$0Aƒæ Aƒç¶EI‹]Pÿ€ú#vE1íHÄøL‰è[]A\A]A^A_öÒÿ$Õ¶OH‹L$(E1íÇëÑ<#I‹t$PL‹L$(A”À¹‡óPº¤ÄPAƒàH‰ßèAÿÿH‹T$(H…ÀI‰Å”Àƒ:•¶҅ÂuE‹t$8H‹T$H‰ïL‰æè¢âþÿH‹|$AÆE‰t$8¶Eç H‰|$@<„:< „2<„}<…?ÿÿÿA‹D$8‰D$ H‹EH‰„$ H‹EH‰„$¨D‹t$ A¿ÿÿÿÿf.„H‹T$L‰æH‰ïè âþÿAÆE‰t$8¶U¶E€ú„Ž<,tc€út^éýÿÿfDIWéÉþÿÿ€D‹‹€E1öA¸Aƒù…ôýÿÿ¿È‰ $‰t$D‰D$èÐäýÿH…À‹ $‹t$D‹D$„fþÿÿH‹Spǃ€A¹1ÿH‰H‰Cpé²ýÿÿf„Hƒ|$ „äúÿÿ‹‹€ƒù„áH‹CpyHcÑH‰Ö‰»€H‹|$ HÁæH40H‰~H‰×HÇFHÁçHTHNH|HÁâL‰oL‹D$PÆD$XL‰DL‹D$XHÇDL‰DAÁèAƒàóDˆDH‹D$ HÇGÇF@ÿÿÿÿH‰L$ H‰1ÀH…ÉI‰M”Àéúÿÿ¶E<…ÆøÿÿA‹T$8<‰T$ H‹UH‰”$ H‹UH‰”$¨„ÖøÿÿE1ÿ<D‹t$ A”Ç<¹ÿÿÿÿ…=úÿÿé.úÿÿ€ú…ð<,…èE1ÿƒÉÿH‰\$8‰ËH‹T$L‰æH‰ïèÍÚþÿAÆE‰t$8¶U¶E€ú„N <,„È€ú„¿M…ÿ„/ÿÿÿA‹\$8H‹T$L‰æH‰ïèú×þÿA‰\$8é³ôÿÿH‹D$(E1íÇ é³ôÿÿH‹T$(E1íÇ é ôÿÿH‹L$(E1íÇéôÿÿ°HÇD$ éiöÿÿ¿ÈèàýÿH…À„YÿÿÿH‹Spǃ€¹H‰H‰Cp1ÒéÀþÿÿL‹D$(H‹L$H‰êH‰ÞL‰çè“ÿÿéôÿÿ‹E©„¢¶“ öÂ…’IÇÀØÿÿÿHÇÀÿÿÿƒÊˆ“ A¹dI‹0dL‹1ÀH‰ÇH‰ò1ÉHÁçDÅëF,Aƒý_tƒÁHƒÇƒù@t.H…ötö:tßM‰ÍIÓåL ¬¨ëÙI‹H‹R@HÂH‰Öë×HƒÀHƒø uœdI‰‹E=”Â=„É„ÒuI1Ò1öH‰éH‰ßè½ÆþÿH…ÀI‰Åt"A‹\$8H‹T$L‰æH‰ïè`ÖþÿA‰\$8é,óÿÿH‹T$(Ç éóÿÿÇEH‰é1Ò1öH‰ßèmÆþÿÇE I‰Æ1Ò1öH‰éH‰ßèTÆþÿHŒ$°I‰ÇH‰ÂL‰öH‰ßÆ„$¸ è3ÆþÿM…ÿI‰ÅtM…öt H…À…eÿÿÿH‹D$(E1íÇ é òÿÿÇEH‰é1Ò1öH‰ßèñÅþÿÇE I‰Æë‚M‹u0H‹T$L‰æE‹|$8H‰ïIFHÊ€I‰E0è}ÕþÿF<8E‰|$8E1ÿ€} … Iƒþw¸D‰ñÓàH˜H ƒ˜‹“€ƒú„°H‹CpHcʃ‰“€H‰ÎH‰ÊHÁâHÁæH40H|HT HÇFL‰~HÁâHÇGL‹„$ÀLnÆ„$ÈL‰DL‹„$ÈHÇDL‰D€dóM…ÿHÇGÇF@ÿÿÿÿtM‰/M…í„oüÿÿHT HÁâD‰tE‹t$8éÝñÿÿ¿ÈèÝýÿH…À„DüÿÿH‹Spǃ€1ÉH‰H‰Cpºé&ÿÿÿD‹D$ H‹L$H‰êL‹L$(L‰îL‰çAƒÀèŠH‹L$(I‰Çƒ9…ÿðÿÿ€} „¸þÿÿÇE1íéêðÿÿ1Ò1öH‰éH‰ßèBÄþÿH…ÀI‰Åtƒ»¤Ž6ñÿÿ€‹ E‹t$8é*ñÿÿH‹L$(Ç é¥ðÿÿ‹M¸ÓàH˜H…ƒ˜„˜H ƒ1Ò1öH‰éH‰ßèÝÃþÿH…ÀI‰Å„fƒƒŒ€‹ E‹t$8éÇðÿÿ1Ò1öH‰éH‰ßèªÃþÿH…ÀI‰Å„ƒ»¤ŽšðÿÿE‹t$8E9t$HŽðÿÿE;t$,„„ðÿÿI‹D$IcÖƒ<ÿ…rðÿÿH‹T$L‰æH‰ïèÓþÿF40E‰t$8‹‹€ƒù„ƒH‹CpHcуÁ‰‹€I‰ÖH‰ÑIÁæHÁáHTN40HLHÁâIÇFIÇFHÇAH‹uH‰tH‹uHÇDH‰t€dóAÇF@ÿÿÿÿIƒÆHÇAA”ÇE¶ÿ‹‹€ƒù„µH‹CpyHcщ»€H‰ÖH‰×HÁæHÁçHTH40H|HÁâHÇFL‰nHNL‰wL‹„$ÐÆ„$ØL‰DL‹„$ØHÇDL‰D€dóM…íHÇGÇF@ÿÿÿÿtI‰MM…ötI‰1ÀH…ÉI‰Í”À…À…íóÿÿE…ÿ„hþÿÿéßóÿÿ¿È€è#ÚýÿH…À„ÅóÿÿH‹Spǃ€¿H‰H‰Cp1Òéÿÿÿ¿ÈèïÙýÿH…Àt1H‹Spǃ€¹H‰H‰Cp1ÒéWþÿÿH‹D$(Ç éîÿÿA¿E1öé³þÿÿH‹|$(Ç éôíÿÿH‹L$(E1íÇéáíÿÿHÇD$ ¸éºïÿÿƒøtFI‹UH…Òt.H‹BI9Åt H…À…GðÿÿI‰ÕA‹E0%ÿƒøuÏI‹}(è«ÃþÿëÉH‰T$ ¸éoïÿÿI‹}(èaÊýÿ므}t H‹L$(E1íÇ é_íÿÿ<,…ïÿÿé’õÿÿH‹T$(E1íÇ é?íÿÿH‹\$8éãîÿÿ¿ÈˆT$‰ $èËØýÿH…À¶T$‹ $„eòÿÿH‹spǃ€¿E1ÀH‰0H‰CpéêïÿÿL‰d$8H‰l$HA¾L‰l$ A‰ÌL‰íE9÷Œ L‰ïH‰Þè %ÿÿ‹»€I‰Åƒÿ„ºH‹CpHc׃lj»€H‰ÖH‰×HÁæHÁçHTH40H|HÁâHÇFH‰nHNL‰oL‹„$Æ„$˜L‰DL‹„$˜HÇDL‰D€dóH…íHÇGÇF@ÿÿÿÿtH‰MM…ítI‰M1ÀH…É”À…À…]ñÿÿM…í„TñÿÿAƒÆH‰Íé ÿÿÿ¿Èè“×ýÿH…À„5ñÿÿH‹Spǃ€¿H‰H‰Cp1ÒéÿÿÿD‰áH‰l$ L‹d$8A9ÏH‹l$Ht.H‰ÞL‰ï‰ $èä#ÿÿ‹ $I‰Æé^îÿÿHÇA¸E1öé!ðÿÿ1ÀHƒ|$ ”ÀéYíÿÿ@AWI‰÷AVAUE‰ÅATI‰ÔUL‰ÍSHƒì8L‹6H‰|$H‰L$èäêÿÿH…ÀH‰Ã”À1Òƒ}•…„ éRD< „ E…íDt< „÷H‹L$H‹|$L‰âI‰éE‰èL‰þè‹êÿÿH…ÀH‰Â”À1Ƀ}•Á…Á…þH…Ò„ÐH…Û„×A‹Ž€ƒù„áI‹FpDAHcñE‰†€H‰÷I‰ðHÁçIÁàHt6H<8MDHÁæHÇGH‰_HOI‰PL‹L$ ÆD$(L‰LL‹L$(HÇD0L‰LAÁéAƒáóH…ÉDˆLH‰ IÇ@ÇG@ÿÿÿÿH‰ tBH‰ËA¶D$<…ïþÿÿHƒÄ8H‰Ø[]A\A]A^A_ÃDH…Ût H‰ÙëÎfDH‰ÑDë¾ÇE 1ÛëÄ1Ûë¿¿ÈH‰T$è_ÕýÿH…ÀH‹T$t×I‹NpAdž€A¸1öH‰I‰FpéîþÿÿfAWAVE‰ÆAUI‰ýATI‰ÔUSHƒìHH‹.H‰t$ H‰L$(L‰L$èòýÿÿH‹T$H…ÀH‰Ã”À‹2…ö•¶҅…oL‹|$(IÏ€A€|$ …f.„A‹M8L‰úL‰îL‰ç‰L$è*ÌþÿD$A‰E8A¶D$<t< tE…ö„Û< …Ó1Ò‹µ€ƒþ„H‹EpDFHcÎD‰…€H‰ÎI‰ÈHÁæIÁàHL H40MDHÁáHÇFH‰^H~I‰PL‹L$0ÆD$8 L‰LL‹L$8HÇDL‰LAÁéAƒáóH…ÛDˆLIÇ@ÇF@ÿÿÿÿtH‰;H…ÒtH‰:H…ÿtjA€|$ H‰û„ ÿÿÿHƒÄHH‰Ø[]A\A]A^A_ÄH‹L$(L‹L$L‰âH‹t$ E‰ðL‰ïèƒüÿÿH‹L$H…ÀH‰Â”À‹ …É•Á¶É…Á„òþÿÿ1Ûë¥H‹D$1ÛÇ ë–¿ÈH‰T$èQÓýÿH…ÀH‹T$tØH‹MpÇ…€A¸H‰H‰Ep1Éé¾þÿÿDAWI‰ÿAVAUI‰ÕATI‰ôUSHìøHÇGHÇG0H‰L$Ç„$ì¶G8H‹I‰OƒàH߈G8†¼1À¹H‰ßIƒýÿIÇGàóH«Çƒ€„RIE1íH‰ÇH‰CHÁçèˆÒýÿM…íH‰¾¸tfDÀ‰ÆI9õs÷hÿ¿èJÉýÿIÇÆÿÿÿH‰C@‰«„dI‹H‹(‹…¨ƒø‰ƒ¤„r¶ƒ ‹•p…Ò•ƒà÷Áâ Ѓ»¤ˆƒ ~¨„žHÇCxÀ¹OHƒ;„žHƒ{@„“Hl$01À¹ǃØI‹W(E‰îH‰ïÇ„$ìóH«‹L$D‰l$pD‰l$lL‰d$0H‰”$€á@•ÀH…Ò@•ƈ„$ ðƒàˆ„$“‰Æ‹ƒ¤‰„$˜¶ƒ Àèƒàˆ„$‘¶ƒ D‰l$xD‰l$tÀèƒàE…툄$’~.AvH‰ïH‰T$‰L$èȼþÿ…ÀH‹T$‹L$…% ¶´$“@„öLEd$8…ÉL‰d$8„~ƒ»¤TH‰ïèDÖþÿH‹D$M‹'L¬$ÐD‹t$hIÇG0H‰îL‰ïÇ„$ìH‰ÂI‰„$ÈHÊ€èÈþÿH‹L$F40LŒ$ìL‰êE1ÀL‰þH‰ïD‰t$hè8ûÿÿH…ÀI‰Å”À1Òƒ¼$ì•Â…Â…ƒA‹Œ$€ƒù„§I‹D$pHcуÁA‰Œ$€H‰ÕH‰ÑHÁåHÁáHTH,(HLHÁâHÇEHÇEHÇAH‹´$ÀÆ„$ÈH‰tH‹´$ÈHÇDH‰tÁîƒæó@ˆtÇE@ÿÿÿÿHƒÅA”ÆHÇAE¶öM…íD‰ð„·A‹Œ$€ƒù„I‹D$pyHcÑA‰¼$€H‰ÖH‰×HÁæHÁçHTH40H|HÁâHÇFL‰nHNH‰oL‹„$°Æ„$¸L‰DL‹„$¸HÇDL‰DAÁèAƒàóH…íDˆDHÇGÇF@ÿÿÿÿI‰MtH‰M1ÀH…É”ÀH‰Í…À„ÛÇ„$ì HÇChéß f.„‹ƒ¤D$\‹t$d9ÆÆýÿÿöH‰ïè@ºþÿ…À…¦ H‰ïè Íþÿ…À…– D;t$`Áé—ýÿÿƒ»¤$ H…Ò„„‹|$d9|$pN|$p‹D$\9Ç~A€yuÒ1Ò…íL‰Ñë*€ƒÂHƒÁ9ê}HcHÁàH€x uä‹A;uÝ9êt™H‹C(…íH‹D8‹8Ž{uÿ1Ò9òƒbÑè‰ÁA;<Š@9‰ÆƒGÐÑè‰ÁA;<Š~êPëÌD‹•ŒE…Ò…—ýÿÿé…þÿÿH÷D$@…þÿÿIƒ(……þÿÿH‹K1ö1ÿ1íA¹HcÕH9ʃHÁâHD¶BAƒèA€ø †RèÛ­ûÿ‹¬$¤E1äƒý„Љé~%EÿH‹´$¨H…1À@ HƒÀH9Ðuô‰È#ƒ„HÁàHC@‹8…ÿ~gDeÿH‹pH‹„$¨1ÒMcäIÁäLàH‰D$ëƒÂHƒÆ9×~6H‹;uîö@PuèL‹@8M…ÀtßE‹HM‰ãL‹T$A9鄃ÂHƒÆ9×ÊH´$ 1ÒH‰ßè=ÿÿH…À„ÃH‰CH€xPˆH‰C`H‰CXH‰CPH‹¼$¨E1äèJ¶ýÿD‰¤$ìM‹'I‹|$pH…ÿuëH‰ïH‹/è%¶ýÿH…ífuîI‹|$ IÇD$pAÇ„$€IÇD$hèöµýÿH‹|$@IÇD$ èãµýÿH‹|$HèÙµýÿ€¼$“t H‹|$8èŵýÿ‹¬$ì…í…1ÀHÄø[]A\A]A^A_ÃM‹hG‹tE‹*IƒëIƒêE9î…µþÿÿAƒéyÝéÿÿÿH‰ï€è{¸þÿéRóÿÿTI‹|$A‰$HcÒH4•èùÐýÿH…ÀtI‰D$A‹T$M‹G0éàûÿÿH‹\$ L‹|$(¸ ‰„$ìI‹/H‹}pë L‹'è µýÿL‰çH…ÿuðH‹} HÇEpÇ…€HÇEhèß´ýÿH‹|$@HÇE èÍ´ýÿH‹|$Hèôýÿ€¼$“t H‹|$8说ýÿH‰ßè7ìþÿIÇIÇG‹„$ìéØþÿÿÇ„$ì ëЉÐA;<‚„CHc÷L‰çHÁæHs0èp¯þÿ‹¬$¤A¸éêûÿÿ‹¬$¤E1ä1À…í„ö…íM~'EÿH‹´$¨H…1ÀfD HƒÀH9Ðuô‰È#ƒ„HÁàHC@‹8…ÿކDeÿL‹„$¨H‹p1ÒMcäIÁäMàL‰D$뀃ÂHƒÆ9×~QH‹;uîD¶@PAƒàA€øußL‹@8M…ÀtÖA;huÐL‹T$M‰ãA‰éAƒéx@M‹hG‹tE‹*IƒëIƒêE9îtáë¤H´$ ºH‰ßèÿÿH…À„µ‹¬$¤E1ä…íH‰CP„…íM~%EÿH‹´$¨H…1À@ HƒÀH9Ðuô‰È#ƒ„HÁàHC@‹8…ÿŽ©DmÿL‹´$¨H‹p1ÒMcíIÁåMîL‰t$ 뀃ÂHƒÆ9×~tH‹;uîD¶@PAƒàA€øußL‹@8M…ÀtÖA;huÐL‹T$ M‰ëA‰éAƒéxcM‹pG‹4IƒëD‰t$(E‹2IƒêD9t$(tÛëžHÇ„$ HÇ„$¨é´ùÿÿH´$ ºH‰ßèôÿÿH…À„Ћ¬$¤…íH‰CX„…íM~%EÿH‹´$¨H…1À@ HƒÀH9Ðuô‰È#ƒ„HÁàHC@‹8…ÿŽŒDmÿH‹pH‹„$¨1ÒMcíIÁåLèH‰D$ 뀃ÂHƒÆ9ú}WH‹;uîD¶@PAƒàA€øußL‹@8M…ÀtÖA;huÐL‹T$ M‰ëA‰éAƒéxBM‹pG‹4IƒëD‰t$(E‹2IƒêD9t$(tÛëžH´$ ºH‰ßèñÿÿº H…ÀDDâHƒ{PH‰C`„ÌúÿÿHƒ{X„ÁúÿÿH…À…¨úÿÿfé±úÿÿH‹½°¾{®Oè*éýÿ…À…uíÿÿ¶ƒ ƒÈˆƒ dI‹H‹*é`íÿÿèÁ°ýÿHÇ…Ðé,óÿÿA¼ HÇCHéTúÿÿ¾¿ è?¶ýÿH…ÀH‰Cx„öûÿÿE1öB,õ1ÉD‰ï‰L$虃øÿ‹L$tL‰ðHCxºHÓâH ƒÁƒÅƒù@uÏIƒÆIƒþ u¶éüìÿÿƒúÿ…¿÷ÿÿ€é¨ûÿÿE1ä1Àéíýÿÿ‹D$déÄðÿÿE1ä1ÀéÙþÿÿE¶ÀBÿ$Å0·O¾ƒÅéoøÿÿ€:AHùëú tè‡]ƒú…ÅöÿÿfDëÑ¿Èès¾ýÿH…À„I‹T$pAÇ„$€¿H‰I‰D$p1ÒéÐîÿÿÇ„$¤Ç„$ A¼ éùÿÿ…ÿu…ötD1ÒHcÂH9Ès3HÁàH¶x@€ÿt@€ÿuÆ@H‹KƒÂëÔ€8yö€` ßH‹Kë춃 ƒ»ŒÇƒ¤ŸÂƒàù òÒ Ðˆƒ éïõÿÿH‹Hƒz…áõÿÿHƒz„êþÿÿéÑõÿÿ¿ÈD能ýÿH…Àt7I‹T$pAÇ„$€¹H‰I‰D$p1Òé+íÿÿA¼ ‹¬$¤éCûÿÿA¾1íéíÿÿL‰ëéPùÿÿƒú@„|þÿÿƒÂ€…_õÿÿénþÿÿA¼ Dé üÿÿH‰ß¾àèëÉýÿH‰Ã¸ H…Û„vøÿÿIÇGàI‰éêÿÿ°1ÉéôíÿÿH‰\$èH‰l$ðH‰ûL‰d$øHƒìH…ÿ„9Hƒ=Ù¢)„H‹=Ì¢)H‹-å¢)HÇÚ¢)H…ÿtèPåþÿH‹=É¢)HÇž¢)A¼sHÇ•¢)蘭ýÿH‹=©¢)HÇ–¢)è­ýÿ¹1ÀL‰çóH«H‰-}¢)H…íu ¿è¼ýÿH…ÀH‰d¢)º¾Š¸Ot^H‰ß€ f¢)€èééýÿH‹ Z¶)H‰ÂH‰Þ¿sèÂèÿÿ…Àu1ÀH‹$H‹l$L‹d$HƒÄÃf„H˜ºH‹4Å ¹OHÆ ·OH‹$H‹l$¿¤PL‹d$HƒÄé>XûÿfDH‹-Ñ¡)éOÿÿÿ@Hƒ= ¡)º¾à¹Ou†ë¸fHƒìH‹ ½µ)H‰øH‰×¶R8I‰ÈIÁèAƒàƒâïAÁàD ƒʀˆW8H‰òH‰Æèèÿÿ…Àu1ÀHƒÄÃf.„H˜º¿¤PH‹4Å ¹OHƒÄHÆ ·OéœWûÿfff.„AV‰ÐA‰ÖƒàAUƒøMíATAåÊOýIÅü²ƒøUMäH‰õAäÊOýSH‰ûHÇHÇGHÇG¿舺ýÿIÄü²CH…ÀH‰C „·AöÆMDåAöÆ…"¶C8ƒàˆC8AÁîƒàïH‰ïAƒæHÇC(AÁæD ðˆC8è#èýÿL‰áH‰ÂH‰îH‰ßèçÿÿƒøA‰Å„ö…À…ôL‹c H‹+ºAöÄL‰ç…%@öÇ…@öÇ…á‰Ñ1ÀÁéö‰ÉóH«t ÇHƒÇöÂt fÇHƒÇƒâtÆH‹uHL‰âH‰ßè!ÚþÿH‹uPH9uHtL‰âH‰ßè ÚþÿH‹uHH‹EXH9ðtH‰ÆL‰âH‰ßèñÙþÿH‹EHH‹u`H9Æt L‰âH‰ßèÙÙþÿ€K8[]A\D‰èA]A^Ãf„¶C8Iƒä¿ĨȀˆC8éÎþÿÿfDA½H‹{ èQªýÿHÇC 벀ǃêHƒÇé ÿÿÿfDfǃêHƒÇéìþÿÿ€AÆ$I|$fºÿéÈþÿÿA½ é]ÿÿÿH½ØHì€è/[HÄ€é/ÂÿÿH½ØHì€è@[HÄ€émÂÿÿI¿ØHì€èñZHÄ€éBÃÿÿI¿ØHì€è[HÄ€éAÅÿÿH»ØHì€è³ZHÄ€é¬ËÿÿH»ØHì€èÄZHÄ€éáËÿÿAW‹F0D‹>AVA‰ÃAUATE‰üU‹n4S‰D$ôHcÅLÇIBH‰D$øD9Ý#‹D$ô[]A+F4D‰~4A\A]A^‰F0A_ÃfDA9ì~ØD‰ã‰é)ëD)Ù9ËE…Û~4IcÃû LLJL‰Ð1Ò@I‹L‹ƒÂM‰H‰IƒÀHƒÀ9ÚuåAÛ누…É~7G,#IcÃLÇA)íƒù IcÅHÇw*1ÀI‹L‹ ƒÀM‰H‰IƒÀHƒÃ9ÈuåA)Ìé=ÿÿÿDH‰ØL À¨uÌI@H9Ãw HCI9ÀvºA‰ÉAÑéE‰ÎEö„ 1À1ÒfDóAoƒÂóo fA fHƒÀD9ÊrÞD9ñt”CG,.H˜McíHÇJï@H‹L‹AƒÆL‰H‰HƒÂHƒÀD9ñãA)Ìé›þÿÿL‰ÀL Ш…ÙþÿÿI@I9Âw L;D$ø†ÅþÿÿA‰ÙAÑéD‰ÉÉtt1À1ÒDóAoƒÂóAo fA fAHƒÀD9ÊrÜ9Ë„§þÿÿBH˜HÇ)H˜HÇL‹L‹ƒÁL‰ L‰HƒÂHƒÀ9ËåAÛéýýÿÿE1öéÿÿÿ1Éëºfffff.„AWAVAUATUS‰ûHì˜H‹¬$ÐH‰t$(H‰T$H‰L$L‰D$XD‰L$<‹E‰D$€::¸ED$…ÿ‰D$ޤ‹EHÇE…À„9‹M…ÉuW‰E4‰E0¿è¦OHÇE 誧ûÿH…ÀH‹L$•À¶À „$؉E,¶€ú-„.€ú+„]…À”À¶À‰E(ÇEL‹u M…ötA¶6@„ö@ˆt$'…ˆ‹M9M4‰Ê~‰M4‹E09È€ƒ}(‰Â„9Ë„âH‹T$(HcÁH‹Â¶:G„á€8-…°¶P„Ò„¤Hƒ|$A¾tE1ö€ú-A”ÆIƒÆN40L‰u A¶ˆL$'Hƒ|$„\‹uH‹|$(HcƉt$PH‹ÇH‰D$@¶@<-ˆD$Lt‹D$<…À„,H‹T$@€z„€|$'=„B€|$'M‰õ„4@IƒÅA¶E<=t„ÀuïH‹L$L‹!M…䄞D‹|$:„$A¼?éEøÿÿ‹T$8H‰îL‹|$@‹\$LH‹l$P…Ò„-‹D$…À…lL‰ïA¼?è@ØýÿIŃEL‰m éþ÷ÿÿ‹E9Ø„ H‹L$(HcЃÀ‰EL‹,ÑL‰méýÿÿ€|$L-„ þÿÿD¾d$'H‹|$D‰æèüÒýÿH…À…+÷ÿÿéêýÿÿ@€þ=M‰ï„àüÿÿIƒÇA¶<=t„ÀuðˆD$'éÏüÿÿM‹!H‹º¾ºO¿¤PL‰ $èYFûÿH¼$ˆH‰ÆL‰áH‰Ú1ÀèA¡üÿL‹ $éÄúÿÿHÇEé—þÿÿƒ|$…–H‹t$D‰e€>:•ÀD€:ˆD$'éçöÿÿ‰ØL‹|$@‹\$LH‹l$P‰D$H…ít!H…ÛIDÜH‰ØH‹l$H‹\$L‹d$ HƒÄ(ÃH…ÛuáHcðL‰çè©ýÿH‰ÃëÊHÇÀÐÿÿÿd‹H…Û”ƒø"t#„Òu,1Ûë±HÇÀÐÿÿÿ1ÛdÇëœfD„Ò„XÿÿÿH…ítL‰ç1Ûè ýÿézÿÿÿHÇÂÐÿÿÿ÷Ød‰먹>¼Oºƒ¾à»O¿¼Oè}6ûÿ¸\H=ðÿÿƒ]¤Ã¸WH=ðÿÿƒ=¤Ã¸aH=ðÿÿƒ¤ÃH‰\$ðH‰l$øHƒìH‹C)H‰ýH…Ût;‹eM)…Àu1Hƒýt~QH‰ßHïr9èãà…Àx.H‰ØH‹l$H‹\$HƒÄÃ@1ÿèÁà…Àx H‹îŽ)ë»@HÇÃÿÿÿÿëÉ€H‰èH÷ØH9ÃråH<+릸H=ðÿÿƒ]£ÃHƒì(‹æ”)…ÀuHcÒHcÿ¸H=ðÿÿwTHƒÄ(ÉT$H‰t$‰|$è¶=‹T$‹|$A‰ÀH‹t$¸HcÒHcÿH‰ÂHúðÿÿw&D‰ÇH‰D$è=H‹D$ë¬HÇÂÐÿÿÿ÷Ød‰HƒÈÿëšHÇÀÐÿÿÿ÷Úd‰HƒÈÿëÈH‹¹•)¸H…ÒEÂÃHƒì¿H‰æèOþÿÿ‰Â¸…ÒI$HƒÄÃ1Ò1öéwBHƒì¿èb™ýÿH‰C—)HƒÄÃfD¸SH‰ûH…Àt6¾`ŽI¿€sècq¶ÿH‹—)H…ÒtH‰ß¹¾ s[éô@1À[Ã=µ)uÐèŽÿÿÿƒ §)ëÂATUH‰õSH‰ûH‰÷èÎÆýÿH‹[I‰Ä€H‰îH‰ßèEÑýÿH…ÀH‰ÁtH9Øt€xÿ,uB¶ €ú=t„Òu []H‰ÈA\Ã@€ú,tï¾,H‰Çè†ÁýÿH…Àt HXë«[1É]H‰ÈA\Ãfffff.„UºH‰åAWAVAUI‰ýATSHƒì(‹F L‹~L‹vL‹fH‹‰EÈ‹F$1ö‰EÌè•T‰Â¸…Ò…¶„À„¨< t0< t,<\H‰Úuë#f.„< t<\ftHƒÂ¶„Àtx< uçH‰ßè¿ÅýÿH…HƒàðH)ÄHL$HƒáðH‰Èë,f€ú „÷€ú „N€ú\„¥ˆHƒÀ€;t$HƒÃ¶€ú uÎÆ\Æ@0Æ@4Æ@0HƒÀ€;uÜH‰ËA¶$„À„©< t+< t'<\L‰âuëD< t<\ftHƒÂ¶„Àt~< uçL‰çèÅýÿH…HƒàðH)ÄHL$HƒáðH‰Èë.f€ú „'€ú „¾€ú\„ˆHƒÀA€<$t(IƒÄA¶$€ú uÊÆ\Æ@0Æ@4Æ@0HƒÀA€<$uØI‰ÌA¶„À„±< t2< t.<\L‰òufë#fD< t<\ftHƒÂ¶„À„< uãL‰÷èSÄýÿH…HƒàðH)ÄHL$HƒáðH‰Èë1fD€ú „G€ú „€ú\„UˆHƒÀA€>t&IƒÆA¶€ú uÌÆ\Æ@0Æ@4Æ@0HƒÀA€>uÚI‰ÎA¶„À„´< t5< t1<\L‰úuDë#fD< t<\ftHƒÂ¶„À„< uãL‰ÿè“ÃýÿH…HƒàðH)ÄHL$HƒáðH‰Èë1fD€ú „ç€ú „þ€ú\„¥ˆHƒÀA€?t&IƒÇA¶€ú uÌÆ\Æ@0Æ@4Æ@0HƒÀA€?uÚI‰Ï‹EÌM‰ùM‰ðL‰áH‰Ú¾G¼OL‰ï‰D$‹Eȉ$1ÀèhŠüÿÁèHeØ[A\A]A^A_ÉÃfDÆ\Æ@0Æ@1Æ@1HƒÀé¹þÿÿ„Æ\Æ@0Æ@1Æ@1HƒÀéÙýÿÿ„Æ\Æ@0Æ@1Æ@1HƒÀé ýÿÿ„Æ\Æ@0Æ@1Æ@1HƒÀéÿÿÿ„Æ\Æ@0Æ@1Æ@2HƒÀéùþÿÿ„Æ\Æ@0Æ@1Æ@2HƒÀé©üÿÿ„Æ\Æ@0Æ@1Æ@2HƒÀé9ýÿÿ„Æ\Æ@0Æ@1Æ@2HƒÀéÙýÿÿ„Æ\Æ@\HƒÀéQüÿÿÆ\Æ@\HƒÀéñüÿÿÆ\Æ@\HƒÀé¡ýÿÿÆ\Æ@\HƒÀéQþÿÿHƒìH…ÿtè2™üÿ¸HƒÄÄUH‰åH‰]èL‰eðI‰üL‰møH‰÷Hƒì I‰õè^ÁýÿHH H‰ÂL‰îHƒáðH)ÌH\$HƒãðH‰ßèÌãýÿH‰ÞfÇcL‰çèÌŸüÿH…Àt€H‹]èL‹eðL‹møÉÃAVAUA‰ÍATI‰ôUH‰ýSH‰ÓHìfƒ?xOH‹—ˆdL‹%L9Bt0¾1Àƒ=[)t ð±2…éë ±2…ÞH‹•ˆL‰BƒBDH‰êD‰îH‰ßè¢ïüÿH…À„Á¾ H‰ß茻ýÿH…À„ÃÆH‰ØëHƒÀ¶€ú tô€ú tï€ú#t²„Òt®H‰Ãëf„€ù „ç€ù @„ÚHƒÃ¶ „Éuß1ÛHpH‰Áë@H‰ÏˆVÿL‰ÁHƒÆ€?t~¶€ú\LAuâ¶yLA@€ÿ0„Ð@€ÿ\„¶@€ÿ1uÀ€y3uº€y4Hyfu®ÆFÿ\HƒÁë­@H‰ê¾H‰çè°îüÿH…À„'ÿÿÿ¾ H‰ç蚺ýÿH…ÀtÕéÿÿÿH…ÛI‰$H‰Øu@éÚHƒÀ¶€ù tô€ù tïH…À‰Î„»1Ò„ÉH‰Ãuë&€ú „ö€ú @„éHƒÃ¶„Òu߉Î1ÒHXH‰ÁëfH‰Ï@ˆsÿL‰ÁHƒÃ€?tM¶1@€þ\LAuà¶yLA@€ÿ0„Ë@€ÿ\„±@€ÿ1u¾€y3u¸€y4Hyu®ÆCÿ\HƒÁë®@H…ÒI‰D$u éHƒÂ¶ €ù tô€ù tîH…҉΄û1À„ÉH‰Óu ë-„< „6< fD„(HƒÃ¶„Àu߉Î1ÀHZH‰ÑëfH‰Ï@ˆsÿL‰ÁHƒÃ€?tM¶1@€þ\LAuà¶yLA@€ÿ0„N@€ÿ\„4@€ÿ1u¾€y3u¸€y4Hyu®ÆCÿ\HƒÁë®@H…ÀI‰T$u éRHƒÀ¶€ú tô€ú tîH…À‰Ö„41ÿ„ÒH‰Ãu ë-„€ù „8€ù @„+HƒÃ¶ „Éu߉Ö1ÿHHH‰ÂëfH‰Ó@ˆqÿL‰ÂHƒÁ€;tM¶2@€þ\LBuà¶ZLB€û0„×€û\„¾€û1uÁ€z3u»€z4HZu®ÆAÿ\HƒÂë®@H…ÿI‰D$„ŒIL$$IT$ 1À¾Z¼Oè̇üÿ…Àtrƒøtvfƒ}x8H‹•ˆ‹Bƒè…À‰Bu$HÇBƒ=I‰)t ðÿ …óëÿ …éHÄL‰à[]A\A]A^ÃIÇD$‡óPIÇD$‡óPIÇD$‡óPAÇD$ AÇD$$é|ÿÿÿÆH{¶0éÕþÿÿÆHƒÃ¶é$üÿÿÆHS¶0éýÿÿÆHC¶2éØýÿÿÆCÿ\HƒÁL‰Çé ýÿÿ¶y@€ÿ4„n@€ÿ1…ëüÿÿD¶IHyA€ù1„¼A€ù2…ÎüÿÿÆCÿ HƒÁéËüÿÿÆCÿ\HƒÁL‰ÇéŠýÿÿ¶y@€ÿ4„@€ÿ1…hýÿÿD¶IHyA€ù1„vA€ù2…KýÿÿÆCÿ HƒÁéHýÿÿfDÆAÿ\HƒÂL‰Ãéþÿÿ¶Z€û4„ú€û1…âýÿÿD¶JHZA€ù1„ùA€ù2…ÅýÿÿÆAÿ HƒÂéÂýÿÿ„ÆFÿ\HƒÁL‰Çé ûÿÿ¶y@€ÿ4„†@€ÿ1…èúÿÿD¶IHyA€ù1„¬A€ù2…ËúÿÿÆFÿ HƒÁéÇúÿÿfDfƒ}‰¨E1äéþÿÿ€y0Hy…düÿÿÆCÿ HƒÁéaüÿÿ€y0Hy…yûÿÿÆCÿ HƒÁévûÿÿ€y0Hy…^úÿÿÆFÿ HƒÁéZúÿÿ€z0HZ…ãüÿÿÆAÿ HƒÂéàüÿÿÆAÿ HƒÂéÓüÿÿÆFÿ HƒÁé%úÿÿÆCÿ HƒÁéûÿÿÆCÿ HƒÁéÜûÿÿH‹•ˆ‹Bƒè…À‰B…@ÿÿÿHÇBƒ={†)tðÿ uDëÿ u>E1äé2ýÿÿH:Hì€èg.HÄ€éùÿÿH:Hì€è|.HÄ€éüüÿÿH:Hì€èa.HĀ몃= †)tðÿ  r)…€ ë ÿ ’r)…r Ãff.„…ÿ‹ô<)t‰=ì<)óÃfffff.„ATH…ÿUStH‰=Hr)…Ò‰5øÿÿH=¶e)Hì€è!HÄ€éÕúÿÿH=—e)Hì€è+!HÄ€é ûÿÿH‰øH‰÷H‰ÖH‰ÊM‰ÂM‰ÈL‹L$H=ðÿÿƒ ‡ÃI‰Ê¸ H=ðÿÿƒê†Ã¸ H=ðÿÿƒÍ†Ã¸ H=ðÿÿƒ­†Ã¸H=ðÿÿƒ†ÃATH…öI‰ÔUSH‰ûu-[]1ÀA\Ãf.„H‹uH‰ßAÿÔ…Àt"HuHƒÅ…ÀHIõH‹.H…íuÜëÉf.„[H‰è]A\ÄH‰\$èH‰l$ðH‰ûL‰d$øHƒìHƒH‰õA‰Ôtm1öH‰ßD‰âÿÕH‹{H…ÿt AT$H‰îè½ÿÿÿH‰ßD‰â¾ÿÕH‹{H…ÿt AT$H‰îèšÿÿÿD‰â¾H‰ßI‰ëH‹$H‹l$L‹d$HƒÄAÿã€Hƒ¾u‡ëÐfH…ötH…ÿt1ÒéOÿÿÿ€óÃfDUH‰åAWAVAUATSH‰óHìˆH‰}ÀH‰U¸HL$HƒáðH…öu1ÀHeØ[A\A]A^A_ÉÃfL‹.M…ítåL‰èE1öE1äÇEÌ(ëfDI‹EI]IƒÆH…Àt¼H‹AƒÄH‰M°H‹0H‹}ÀÿU¸…ÀA‰ÇH‹M°tOD;eÌtE…ÿJ‰1L‹+y½I]I‹Eë»AD$H‰ÎL‰ò‰EÌI†¾HƒàðH)ÄH|$HƒçðèfÒýÿH‰Áë¸L‹I‹BM‹BH…À”ÂM…À„I„Ò„L‰×E…ä…¿L‰L9×tH‹I‰öG…ËE…ä„ÇM…ÀtA¶@¨f…ÊIcÜH‹tÙøH‹H‹BL9À„ÂD¶@AöÀt+AƒàþAƒÄDˆ@€JL‹@H‰PL‰BH‰HpH‹BH‰4ÙH‹XH…Û„ÿD¶CAöÀ„ðH‹HH…Ét öA…ì¶JAƒàþƒáA ÈH‹KDˆCH‰JH‹KH‰CH‰HH‰SH‰€bþèÇkýÿL‰èé.þÿÿ€EL$McüMrIÁçI‰ØMcÉIÁáë)@I‹>N‰9AƒÄIƒÇIƒÁHƒ„zM‰ðLwD;eÌuÕAD$H‰ÎL‰úL‰E¨L‰M°‰EÌIAL‰U HƒàðH)ÄH|$HƒçðèºÐýÿL‹U H‰ÁL‹M°L‹E¨ë‘f„H‹XH…Ût?öCt9¶Z¶Hƒãƒáþ ÙˆH€bþH‹H€aþH‹HH‰PH‰JH‰éÿÿÿfD€HAƒìI‰Ð…9þÿÿM…À„òþÿÿA¶@f„ƒàþAˆ@éØþÿÿ@H‹BD¶@AöÀt+AƒàþAƒÄDˆ@€JL‹@H‰PL‰BH‰HpH‹BH‰4ÙH‹XH…Û„‰D¶CAöÀt~H‹HH…Ét öA…‚¶JAƒàþƒáA ÈH‹KDˆCH‰JH‹KH‰CH‰HH‰SH‰€bþé9þÿÿDL‹Gé?ýÿÿ€IcÄH‹DÁøH‹H9xtYL‰@é*ýÿÿfDH‹XH…Û„ëþÿÿöC„áþÿÿ¶Z¶Hƒãƒáþ ÙˆH€bþH‹H€aþH‹HH‰PH‰JH‰éºýÿÿL‰@éÑüÿÿ„Ò…·üÿÿL‰×I‰Àé²üÿÿf.„AW1ÀAVAUATI‰ôUSH‰ûHƒì(H…öH‰T$„ìH‹.H…ít€eþH‹.E1ö1ÒE1ÿE1íH…íÇD$„ùH‹uH‰ßÿT$…À‰Â„+I‹$H‹HH…É„šH‹pH…ö„öA„ƒöFt}€H€aþH‹HH…Ét€aþM…ítcI‹M¶y@öÇtUD‹D$I‹7E…ÀAŸÁE…öAŸÀE8Á„VƒÏ@ˆy€N€`þE…öˆ¶H‹xH‰HH‰yH‹HH‰pH‰NI‰…ÒˆH‹EHuH…Àt#H‹.L‰àM‰ïD‰t$I‰ôA‰ÖI‰ÅH…í… ÿÿÿ¿ ‰T$H‰4$èÆvýÿH…À‹T$H‹4$„¥H‰€HL9æH‰HÇ@HÇ@„‚H‹H‹Y€IH…Ût€cþH‹YH…Ût€cþI‹$¶{@öÇtSE…öI‹uAŸÀ…Ò@ŸÅA8脃Ï@ˆ{€N€aþ…ÒˆëH‹QH‰YH‰SH‹QH‰qH‰VI‰MfDHƒÄ([]A\A]A^A_ÃHuH‹EéóþÿÿI‰€aþ€NE…öˆ„H‹AH‰qH‰Fé»þÿÿI‰]€cþ€N…ÒˆŠH‹SH‰sH‰VHƒÄ([]A\A]A^A_Ãf„HƒÄ(H‰è[]A\A]A^A_ÃfDH‹xH‰HH‰yH‹HH‰pH‰NéEþÿÿH‹AH‰qH‰Fé7þÿÿH‹QH‰YH‰SH‹QH‰qH‰VéÿÿÿH‹SH‰sH‰Vé ÿÿÿf„H‰\$ØL‰d$èH‰óH‰l$àL‰l$ðI‰üL‰t$øHƒì(H‹oH…ít~L‹mM…ít-I‹}H…ÿtè½ÿÿÿI‹}H…ÿtH‰Þè¬ÿÿÿI‹}ÿÓL‰ïèîeýÿL‹mM…ít0I‹}H…ÿtH‰Þè„ÿÿÿI‹}H…ÿtH‰ÞèsÿÿÿI‹}ÿÓL‰ïèµeýÿH‹}ÿÓH‰ïè¦eýÿI‹l$H…í„§L‹mM…ít0I‹}H…ÿtH‰Þè.ÿÿÿI‹}H…ÿtH‰ÞèÿÿÿI‹}ÿÓL‰ïè_eýÿL‹mM…ítWI‹}H…ÿtH‰ÞèõþÿÿM‹uM…öt/I‹~H…ÿtH‰ÞèÛþÿÿI‹~H…ÿtH‰ÞèÊþÿÿI‹>ÿÓL‰÷è eýÿI‹}ÿÓL‰ïèÿdýÿH‹}ÿÓH‰ïèñdýÿI‹<$ÿÓL‰çH‹$H‹l$L‹d$L‹l$L‹t$ HƒÄ(éÇdýÿ€H‰\$ðH‰l$øHƒìH…ÿH‰ûH‰õt?H‹H…ÿtèIþÿÿH‹{H…ÿtH‰îè8þÿÿH‹;ÿÕH‰ßH‹l$H‹\$HƒÄémdýÿDH‹\$H‹l$HƒÄÃAU¾Ð8OATI‰ü¿´¼OUSHì HÇ„$ ÿÿÿÿèuüÿH…ÀH‰Å„…€L¬$ HÇ„$ €H‰ê¾ H‰çè¨ÏüÿH…ÀtG1ÀL‰êL‰æH‰çècküÿƒøuÖè¹Øÿÿÿ…ÀHÂH‹”$ Áø H˜H‰ÁH‰ÐHÁú?H÷ùH‰„$ H‰ïèäwüÿH‹„$ HƒøÿuHÇÂÐÿÿÿdÇ&HÄ []A\A]Ãf.„¿Â¼OéÿÿÿfD¿Ò¼OéöþÿÿfDH‰\$ÐH‰l$ØH‰ÓL‰l$èL‰|$øH‰ÍL‰d$àL‰t$ðHƒìXL‹1L‹"‰|$H‰t$¾ L‰$M‰÷L‰çM)çL‰úè?°ýÿH…ÀI‰ÅL‹$„_H@I9ƆrIƒÅL‰+H‹EI9ҵI9Ä„-L‰àH‹\$(H‹l$0L‹d$8L‹l$@L‹t$HL‹|$PHƒÄXÃH‹|$L‰úL‰æè_µýÿH‹D$HEL‰òH+‹|$H‰EH‹D$H‰H‹uH)òèmÑÿÿLcøM…ÿˆÀL}¾ L‰}L‹#L‰úL)âL‰çèz¯ýÿH…ÀI‰Å…LÿÿÿM9þ…8L‰òH+T$¸H‰ÁL‹|$HRH‰ÐHÁú?H÷ùIÇL‰ðL)øH‰D$ë:fH‹}L‰â¾ è¯ýÿH‹MI‰ÅL‰àÆ HEM…íH‰E…ÁI9Æ…ÀH‹T$‹|$L‰þL‰}è¬ÐÿÿLcàM…äy«E1äéËþÿÿL;d$t M9Æ„áþÿÿMnÿé•þÿÿ€H‹|$L‰òL‰îL)êL‰$è)´ýÿH‹D$H‹L$L‹$‹|$L)èHEH‰ H‹uL‰ÂH)òè7ÐÿÿH˜H…ÀxHEL‹l$é7þÿÿ¹)½Oº†¾8½O¿ã¼Oè ûÿL‹#éþÿÿL‹#I‰ÆémÿÿÿM‰þéeÿÿÿDU¿ H‰åAWAVAUATSHƒì(赃ø¾¿î¼OMíIåâÿÿIÅ IEH)Ä1ÀLd$IƒäðO,,L‰mÈL‰mÀè­Îÿÿƒøÿ‰E¼t_1ÛLuÀL}ÈëH‰Æ¿%½O¹ó¦u&¾@ƒè0ƒø ƒÓ‹}¼M‰èL‰ñL‰úL‰æèîüÿÿH…ÀuÉHc}¼¸He؉Ø[A\A]A^A_ÉÃ1À¾¿ù¼Oè5Îÿÿƒøÿ‰E¼»tÑ0ÛLuÀL}Èë ¿½O¹ ó¦—À’Â(оÀƒøƒÓ‹}¼L‰æM‰èL‰ñL‰úèoüÿÿH…ÀH‰ÆuÇHc}¼¸éyÿÿÿ€AW¿½OAVAUATUSHƒìèHçýÿH…ÀH‰Ã„–Lt$E1íA¼%½O½f„H‰ßèHèýÿH…ÀtS€xuíHpL‰çH‰éó¦ußLxº L‰öL‰ÿè{qûÿHƒøÿtÅH‹D$L9øt»€8H‰ßAƒÕèüçýÿH…Àu´€H‰ßè¸çýÿHƒÄD‰è[]A\A]A^A_ÃèþÿÿA‰Åëä‹i)ºd…ÀDÂÃI‰Ê¸ÀH=ðÿÿƒ*vÃI‰Ê¸½H=ðÿÿƒ vÃH‰\$ðH‰l$øHƒìH…öH‰ót/H‹.H…ít'¾/H‰ïèŸýÿH…Àt(HƒÀH‰)H‹H‰‹)H‹\$H‹l$HƒÄÃ@H‰-y)ëÚƒ=)g)u¸H=ðÿÿƒtuÃHƒì(H‰|$H‰t$H‰T$èûH‹|$H‹t$H‹T$H‰$¸H‹<$H‰D$ècH‹D$HƒÄ(H=ðÿÿƒuÃ1öé ¸¦H=ðÿÿƒítÃI‰Ê¸¥H=ðÿÿƒÊtÃI‰Ê¸H=ðÿÿƒªtÃ=9f)u¸*H=ðÿÿƒ„tÃHƒì(H‰|$H‰t$H‰T$è H‹|$H‹t$H‹T$H‰$¸*H‹<$H‰D$èsH‹D$HƒÄ(H=ðÿÿƒ.tÃSHƒì ‹µe)…Àu!E1ÉE1ÀLcÑHcÿ¸,H=ðÿÿwaHƒÄ [ÃH‰T$‰ $H‰t$‰|$èz‹ $‹|$‰ÃE1ÉE1ÀH‹T$H‹t$¸,LcÑHcÿH‰ÂHúðÿÿw%‰ßH‰D$èÌ H‹D$ëŸHÇÂÐÿÿÿ÷Ød‰HƒÈÿëHÇÀÐÿÿÿ÷Úd‰HƒÈÿëɃ= e)u¸.H=ðÿÿƒTsÃHƒì(H‰|$H‰t$H‰T$èÛ H‹|$H‹t$H‹T$H‰$¸.H‹<$H‰D$èC H‹D$HƒÄ(H=ðÿÿƒþrø)H=ðÿÿƒÝrÃ÷Ç€ÿÿÿStHÇÀÿÿÿdH‹H‹‹ÈƒÂ·ÒH‹DÐ@‰ú‹Óê;P‰ÑsKƒÁ‹ˆ…ÒtA‹H‰û‰ÒÓë‰Ù#H HŠ‹…Òt(‰ù‰ÒÁé#H[‰ÉHЉùƒá‹ÓèƒàÃf„1À[Ã@ƒï01Àƒÿ –À[Ãff.„HÇÂÿÿÿS‰û‰ødH‹H‹‹ŠÐƒÁ·ÉH‹TÊ@‹ Óë;Z‰Ùs1ƒÁ‹4Š…öt'‹J‰û‰öÓë‰Ù#J H Ž‹ …Ét‰þ#r‰ÉH ± [Ãfffff.„HÇÂÿÿÿS‰û‰ødH‹H‹·ŠÐH‹TÊ@‹ Óë;Z‰Ùs1ƒÁ‹4Š…öt'‹J‰û‰öÓë‰Ù#J H Ž‹ …Ét‰þ#r‰ÉH ± [Ã÷Ç€ÿÿÿSu'HÇÂØÿÿÿdH‹H…À„‡Hcÿ·x[%ÃDHÇÀÿÿÿdH‹H‹‹ÈƒÂ·ÒH‹DÐ@‰ú‹Óê;P‰ÑsDƒÁ‹ˆ…Òt:‹H‰û‰ÒÓë‰Ù#H HŠ‹…Òt!‰ù‰ÒÁé#H[‰ÉHЉùƒá‹ÓèƒàÃf1À[ÃHÇÀÿÿÿdH‹H‹H‹@@HdH‰éXÿÿÿff.„÷Ç€ÿÿÿSu'HÇÂØÿÿÿdH‹H…À„‡Hcÿ·x[%ÃDHÇÀÿÿÿdH‹H‹·ÈH‹DÐ@‰ú‹Óê;P‰ÑsIƒÁ‹ˆ…Òt?‹H‰û‰ÒÓë‰Ù#H HŠ‹…Òt&‰ù‰ÒÁé#H[‰ÉHЉùƒá‹ÓèƒàÀ1À[ÃHÇÀÿÿÿdH‹H‹H‹@@HdH‰éXÿÿÿff.„÷Ç€ÿÿÿSu'HÇÂØÿÿÿdH‹H…À„‡Hcÿ·x[% ÃDHÇÀÿÿÿdH‹H‹‹ÈƒÂ·ÒH‹DÐ@‰ú‹Óê;P‰ÑsDƒÁ‹ˆ…Òt:‹H‰û‰ÒÓë‰Ù#H HŠ‹…Òt!‰ù‰ÒÁé#H[‰ÉHЉùƒá‹ÓèƒàÃf1À[ÃHÇÀÿÿÿdH‹H‹H‹@@HdH‰éXÿÿÿff.„÷Ç€ÿÿÿSu'HÇÂØÿÿÿdH‹H…À„‡Hcÿ·x[ƒàÀHÇÀÿÿÿdH‹H‹‹ÈƒÂ ·ÒH‹DÐ@‰ú‹Óê;P‰ÑsDƒÁ‹ˆ…Òt:‹H‰û‰ÒÓë‰Ù#H HŠ‹…Òt!‰ù‰ÒÁé#H[‰ÉHЉùƒá‹ÓèƒàÃf1À[ÃHÇÀÿÿÿdH‹H‹H‹@@HdH‰éXÿÿÿff.„÷Ç€ÿÿÿSu'HÇÂØÿÿÿdH‹H…À„‡Hcÿ·x[%@ÃDHÇÀÿÿÿdH‹H‹‹ÈƒÂ·ÒH‹DÐ@‰ú‹Óê;P‰ÑsDƒÁ‹ˆ…Òt:‹H‰û‰ÒÓë‰Ù#H HŠ‹…Òt!‰ù‰ÒÁé#H[‰ÉHЉùƒá‹ÓèƒàÃf1À[ÃHÇÀÿÿÿdH‹H‹H‹@@HdH‰éXÿÿÿff.„÷Ç€ÿÿÿSu'HÇÂØÿÿÿdH‹H…À„‡Hcÿ·x[%€ÃDHÇÀÿÿÿdH‹H‹‹ÈƒÂ·ÒH‹DÐ@‰ú‹Óê;P‰ÑsDƒÁ‹ˆ…Òt:‹H‰û‰ÒÓë‰Ù#H HŠ‹…Òt!‰ù‰ÒÁé#H[‰ÉHЉùƒá‹ÓèƒàÃf1À[ÃHÇÀÿÿÿdH‹H‹H‹@@HdH‰éXÿÿÿff.„÷Ç€ÿÿÿSu'HÇÂØÿÿÿdH‹H…À„‡Hcÿ·x[%ÃDHÇÀÿÿÿdH‹H‹‹ÈƒÂ·ÒH‹DÐ@‰ú‹Óê;P‰ÑsDƒÁ‹ˆ…Òt:‹H‰û‰ÒÓë‰Ù#H HŠ‹…Òt!‰ù‰ÒÁé#H[‰ÉHЉùƒá‹ÓèƒàÃf1À[ÃHÇÀÿÿÿdH‹H‹H‹@@HdH‰éXÿÿÿff.„÷Ç€ÿÿÿSu'HÇÂØÿÿÿdH‹H…À„‡Hcÿ·x[ƒàÀHÇÀÿÿÿdH‹H‹‹ÈƒÂ ·ÒH‹DÐ@‰ú‹Óê;P‰ÑsDƒÁ‹ˆ…Òt:‹H‰û‰ÒÓë‰Ù#H HŠ‹…Òt!‰ù‰ÒÁé#H[‰ÉHЉùƒá‹ÓèƒàÃf1À[ÃHÇÀÿÿÿdH‹H‹H‹@@HdH‰éXÿÿÿff.„÷Ç€ÿÿÿSu'HÇÂØÿÿÿdH‹H…À„‡Hcÿ·x[ƒàÀHÇÀÿÿÿdH‹H‹‹ÈƒÂ·ÒH‹DÐ@‰ú‹Óê;P‰ÑsDƒÁ‹ˆ…Òt:‹H‰û‰ÒÓë‰Ù#H HŠ‹…Òt!‰ù‰ÒÁé#H[‰ÉHЉùƒá‹ÓèƒàÃf1À[ÃHÇÀÿÿÿdH‹H‹H‹@@HdH‰éXÿÿÿff.„÷Ç€ÿÿÿSu'HÇÂØÿÿÿdH‹H…À„‡Hcÿ·x[%ÃDHÇÀÿÿÿdH‹H‹‹ÈƒÂ·ÒH‹DÐ@‰ú‹Óê;P‰ÑsDƒÁ‹ˆ…Òt:‹H‰û‰ÒÓë‰Ù#H HŠ‹…Òt!‰ù‰ÒÁé#H[‰ÉHЉùƒá‹ÓèƒàÃf1À[ÃHÇÀÿÿÿdH‹H‹H‹@@HdH‰éXÿÿÿff.„÷Ç€ÿÿÿSu'HÇÂØÿÿÿdH‹H…À„‡Hcÿ·x[ƒàÀHÇÀÿÿÿdH‹H‹‹ÈƒÂ ·ÒH‹DÐ@‰ú‹Óê;P‰ÑsDƒÁ‹ˆ…Òt:‹H‰û‰ÒÓë‰Ù#H HŠ‹…Òt!‰ù‰ÒÁé#H[‰ÉHЉùƒá‹ÓèƒàÃf1À[ÃHÇÀÿÿÿdH‹H‹H‹@@HdH‰éXÿÿÿAVAUI‰ýATU1íSènýÿI‰ÄHÇÀÿÿÿdH‹L‹0I‹žë@H\€;t6ƒÅH‰ßè;ýÿI9ÄuæM9äL‰îH‰ßL‰áó¦uÖA®È[I‹Dî@]A\A]A^Ã[]A\A]1ÀA^ÃH…ötS‹‰øÓè;F‰ÁsFƒÁ‹Ž…Àt<‹N‰ú‰ÀÓê‰Ñ#N Hˆ‹0…Àt#‰ú‰À‰ùÁê#Vƒá‰ÒH‹0ÓèƒàÃD1ÀÃAUATI‰üUSHƒìHÇÀÿÿÿdH‹L‹(I‹˜€;tQ1íëD1öH‰ßè¿ýÿ€xHXt4HƒÅH‰ÞL‰çè݇ýÿ…ÀuÙA‹…ÐHDI‹DÅHƒÄ[]A\A]ÃDHƒÄ1À[]A\A]ÃH…öS‰øtH‹‰úÓê;V‰Ñs;ƒÁ‹Ž…Òt1‹N‰û‰ÒÓë‰Ù#N HŠ‹2…Òt‰ù#N‰ÒHŠf.„[ÃdH‹%˜HÁèHPÿ¸HúÿÿwdH‹%˜HÁèºH…ÀHDÂH9ø“À¶ÀÃARRM1Òºd‹4%H9Ðu¸Ê‰Ð‡…ÀuñZAZÃfDVRÇd‹4%HƒÎº¸ÊZ^ËWH‰ø…ÒuóÃ@H‹L‹AÿãfDƒçu4dH‹<%d‹ %‰Êƒâý9Êt‰Èðd±%9Áu<‰Ðƒà ƒøtóÃHÇA¸ÊE1Òd‹4%HD‰Àd‹%‰Ðƒà ƒøtÞÉÁë§Hƒìd‹%‰ÑƒÉöÂu‰Ððd± %9ÂuA‰ÐHƒÄÃöÂuô‰Ððd± %9Âu%dHÇ%0ÿÿÿÿðdƒ %dH‹<%èI4¶ÿ‰Âë¡H‹iV)H‰Ðdƒ<%tðH±=RV)H9ÂuÝH‰Ãf„AT1ÀI‰ÌUH‰ýSH‰ó¾Hƒìƒ=AV)tð±5gC)…;ë ±5XC)…,¹ sH‰È1ÿëfDƒÇHƒÀ0ƒÿ0„À‹p0…öué‰ÿLL‰ÀHÁàHHp ÇFÇFH‰ÆHƒÆtMIÁàH‰hL‰`(IlH‰]H‰U@H‹‰U)H‰Ðdƒ<%tðH±5rU)H9ÂuÝHHÁàH‰Tƒ=yU)tðÿ  B)…“ë ÿ ’B)……HƒþÀHƒÄ[]ƒà A\Ãf.„H‹ H…É…ÿÿÿ¾ ¿H‰T$èQýÿ1öH…ÀH‰ÁH‹T$t‘H‹ZB)¿/H‰H‰ KB)éÿþÿÿH=B)Hì€èóüÿÿHÄ€éµþÿÿH=B)Hì€èýÿÿHÄ€é\ÿÿÿǾT)ÿÿÿÿÇÌT)ÿÿÿÿÇÖT)ÿÿÿÿÇøT)ÿÿÿÿÀU1ÀH‰åH‰]ØL‰eàH‰ûL‰mèL‰uðL‰}øHƒìPH‰uȾƒ=OT)tð±5µJ)…Çë ±5¦J)…¸LeÈLk(º°ÑIL‰îL‰çèxáÿÿI‰ÆH‹L9àtUH‹PHÁÊdH3%0ƒ=õS)tðÿ \J)…ë ÿ NJ)…H‰ÐH‹]ØL‹eàL‹mèL‹uðL‹}øÉÀ¿è.YýÿH…ÀI‰Ç„$I‰L‹s H‹EÈM…öI‰„³I‹FH…À„U1ÒHƒøÿtH‹S I‰æH‹:H‰U¸èÓ†ýÿL‹mÈI‰ÄL‰ïèĆýÿID%H‹U¸HƒàðH)ÄH‹2Ld$IƒäðI|$AÇ$_nssfAÇD$_è~­ýÿHxL‰îfÇ_è=‚ýÿH‹C L‰æH‹xè}]H‰ÂL‰ôH‰ÐdH3%0HÁÀI‰GéâþÿÿfDH‹II)HC0H‰EÀ¸°sH…ÒHDÐL‹rM…öuëKfIVM‹vM…öt@I‹>H‹uÀè—ýÿ…ÀuãM…öL‰s …ûþÿÿL‰ÿè>Iýÿº°ÑIL‰îL‰çènÛÿÿ1ÒékþÿÿHƒÂ¿H‰U¸èÕWýÿH‹U¸H…ÀH‰„¹H‹MÀHÇ@HÇ@L‹2H‰ë–H‹S I‰æH‹:H‰U¸è†…ýÿHƒÀ+IÇÅÐÿÿÿH‹U¸HƒàðH)ÄH¸libnss_Ld$dA‹MH‹2IƒäðI|$‰MÀI‰$è4¬ýÿÇ.soÆ@¾€fÇ@.2H‹S L‰çH‰U¸è/]H‹U¸H‰BH‹C HƒxtH‹C L‰ôH‹@éþÿÿHÇC éùþÿÿHÇ@ÿÿÿÿ‹EÀdA‰EëÑffff.„AVAUI‰ÍATI‰ÔUH‰õSH‰ûH‹?èÄüÿÿM…äI‰EA•ÆH…Àt@1À[]A\A]A^ÃDE„ötH‹;L‰æèüÿÿI‰EH…ÀuÔH‹‹P …Òu2H‹8H…ÿtBH‰;H‰îègüÿÿH…ÀI‰Eu®E„öuÁH‹‹P …ÒtÕ€Hƒ8t[]A\A]¸ÿÿÿÿA^Ã@¸éxÿÿÿfDH9÷t H‹6H‹?éýÿ1ÀÃffff.„AWI‰ÿAVAUATUSHƒì8IÇÆØÿÿÿHD$(HÇD$(dI‹.H‰D$H…í„mA¶I_H¾ÐöDU …ü„À„pIÇÄÿÿÿL‰ûdI‹ $ë€<[tHƒÃ¶„ÀtH…í„èH¾ÐöDU tÝI9ß„,H‰ÝL)ýH}1èUUýÿH…ÀI‰Å„Hx0H‰êL‰þ躥ýÿÆdM‹$$AÇEAÇE AÇEAÇEAÇEIÇE IÇE(IÇEdI‹.L‰d$ë €HƒÃH…í„'¶H¾ÐöDU uå<[tH‹D$L‰l$L‰(I‰ßéÜþÿÿ@HƒÃ¶„ÀtH…í„\H¾ÐöDU uáf„E1ÿ)…øë ±5[>)…éHƒ;tOƒ=ØG)tðÿ ?>)…ìë ÿ 1>)…Þ1ÀH‹\$HH‹l$PL‹d$XL‹l$`L‹t$hL‹|$pHƒÄxÃfDL‹5>)M…ö„±M‹>M…ÿM‰þt$DIvH‰ïèdvýÿ…ÀuI‹FH‰M‹6M…öuáHƒ;t+ƒ=DG)tðÿ «=)…wë ÿ =)…iégÿÿÿfM…ät3M…ÿL‰ýt+HuL‰çèvýÿ…ÀuH‹EH‰H‹mH…íuàH‹H…ÀuM…í¸Ã½OLDèL‰ïèTöÿÿH‰넾Ð8O¿°½OèÐXüÿH…ÀH‰D$uHÇ#=)H‹ë¹€¿èLýÿH…ÀH‰D$I‰ÆtÓHÇHÇ@1ÀL‰t$ M‰çHÇD$8HÇD$0I‰ÆH‰l$(L‹d$ë)¾#èŬýÿÆH‹l$8€}uEM‰ðAö$…7M‰ÆHt$0H|$8L‰âèÔùH…ÀˆH‹|$8HDÿ€8 u­ÆH‹|$8ë£HÇÇØÿÿÿHÇÂÿÿÿdH‹dL‹ ëf.„HƒÅH…À„5¶UH¾ÊöDH uä„ÒI‰èH‰îu#énÿÿÿD€ú:„×HƒÅ¶U„Ò„PÿÿÿH…À„ÖH¾ÊöDH tÓI9è”À„Ò„.ÿÿÿ„À…&ÿÿÿÆEH‰÷HƒÉÿò®H‰t$H‰ÊH÷ÒHzH‰$è¸JýÿH…ÀH‹$H‹t$„ïþÿÿHxH‰D$èX¡ýÿH}èôÿÿL‹D$M…öI‰@IÇtEM‰é¾þÿÿH‹|$8L‹t$ M‰üH‹l$(è›;ýÿH‹|$èáOüÿH‹L$H‰ =;)é@ýÿÿI9è”ÀéPÿÿÿH‹D$L‰étþÿÿI‹H‹@@HdH‰¶UéÿÿÿI‹H‹@@HdH‰éµþÿÿH=á:)Hì€èuìÿÿHÄ€é)ðÿÿH=Â:)Hì€è†ìÿÿHÄ€ébðÿÿH=£:)Hì€è7ìÿÿHÄ€éiúÿÿH=„:)Hì€èHìÿÿHÄ€éxúÿÿH=e:)Hì€èùëÿÿHÄ€éøûÿÿH=F:)Hì€è ìÿÿHÄ€éüÿÿH=':)Hì€èëëÿÿHÄ€éxüÿÿH‰\$èH‰l$ðH‰ûL‰d$øHƒìE…ÀH‰õI‰ÔtOH‹HºH9Pu*H9PtKë"@H‰;H‰îèÅîÿÿH…ÀI‰$u\H‹‹x …ÿuH‹8H…ÿuÚ¸ÿÿÿÿëƒÁƒùw%H‹HcɃ|ˆuÙ¸H‹$H‹l$L‹d$HƒÄÿ“½OèI¥üÿf„1ÀëÖH‰\$àH‰l$èH‰ûL‰d$ðL‰l$øHƒì(H‹¶B)H‰õI‰ÔI‰ÍH…Àt,H‰L‰éL‰âH‰îH‰ßH‹l$H‹\$L‹d$L‹l$ HƒÄ(éñÿÿ1ö¹X"sºÀ™O¿L–Nèúÿÿ…Àx H‹[B)뱸ÿÿÿÿH‹\$H‹l$L‹d$L‹l$ HƒÄ(ÃH‰\$èH‰l$ðH‰ûL‰d$øHƒìH‹B)H‰õI‰ÔH…Àt%H‰L‰áH‰îH‰ßH‹l$H‹$L‹d$1ÒHƒÄéƒðÿÿ1ö¹X"sºÀ™O¿L–Nèùÿÿ…Àx H‹ÊA)븸ÿÿÿÿH‹$H‹l$L‹d$HƒÄÃH‰\$àH‰l$èH‰ûL‰d$ðL‰l$øHƒì(H‹ŽA)H‰õI‰ÔI‰ÍH…Àt,H‰L‰éL‰âH‰îH‰ßH‹l$H‹\$L‹d$L‹l$ HƒÄ(éäïÿÿ1ö¹`"sºÀ™O¿¿Oèîøÿÿ…Àx H‹3A)뱸ÿÿÿÿH‹\$H‹l$L‹d$L‹l$ HƒÄ(ÃH‰\$èH‰l$ðH‰ûL‰d$øHƒìH‹ó@)H‰õI‰ÔH…Àt%H‰L‰áH‰îH‰ßH‹l$H‹$L‹d$1ÒHƒÄéSïÿÿ1ö¹`"sºÀ™O¿¿Oè]øÿÿ…Àx H‹¢@)븸ÿÿÿÿH‹$H‹l$L‹d$HƒÄÃUH‰åHƒì…öH‰}ðÇEøÿÿÿÿ‰uü~6Huð¿@âIè>‹Eøƒø~H‹UðHcÈHƒéHƒ<ʃØÉÃøÿuùfD1ÀÉÃfff.„UH‰åH‰]ðL‰eøHƒìD‹fH‰óAƒüÿD‰àtMcäIÁäL&èÑI‰$‹CƒÀ;C L‹d$‰CH‹$É”À¶À€ÃAWAVAUATUSHìø…ö‰t$‰T$ŽŸH„$àL¼$ðH‰û1íH‰D$éHH‹¼$°H…ÿ„S€?„JH‰|$ è¼rýÿH‹¼$ÀH‰D$(H…ÿ„vHÇD$0äùNHÇD$8H‰|$@èŠrýÿH‰D$HH‹„$ÈH9‚,HÇD$P¿OH‹;H)ÇH´$àº1ÉHÇD$XA¼ A½èüH‹T$H‰D$`A¾HÇD$p÷êPHÇD$xH)¸H‰T$hDHÁà1ɺHÇD ¿OH‹;L‰þHÇD(IÁæIÁåƒÅHƒÃè‘L‰ú‹|$Ht$ H)ÂJ‰D4 JÇD, —ßPJ‰T4(D‰âJÇD,(èþ‰9l$~8H‹;H´$°1É1ÒèDB…À…œþÿÿA¼A½A¾1Àé[ÿÿÿHÄø[]A\A]A^A_ÃfDHÇD$P ¿OH‰ÇH+;éÏþÿÿ@A¼A½A¾¸é ÿÿÿS¶ÀH…¸åIHìÐH)ØHœ$ÏL‰D$@L‰L$HI‰àÿà){ñ)sá)kÑ)cÁ)[±)S¡)K‘)CH„$àÇ$ ÇD$0H‰D$HD$ H‰D$è#HÄÐ[ÃHƒìè×€H‰\$ÐL‰d$àH‰ûL‰l$èL‰t$ðI‰ÔL‰|$øH‰l$ØHì(H…ÒA‰öI‰ÏM‰ÅHÇ„$ˆ„‘E1À1ɺÿÿÿÿ¾€H‰çèpÛüÿIT$ÿÆH‰ÙH‰ÞH‰çHÇ„$Ø ¿OèíüÿE…ö~ƒL$tL‰êL‰þH‰çèvœûÿH‹T$(ÆH‹œ$øH‹¬$L‹¤$L‹¬$L‹´$L‹¼$ HÄ(ÃèñS¶ÀH…¸}æIHìÐH)ØHœ$ÏL‰L$HI‰áÿà){ñ)sá)kÑ)cÁ)[±)S¡)K‘)CH„$àÇ$(ÇD$0H‰D$HD$ H‰D$èHÄÐ[ÃH‰l$ØL‰d$àH‰ýL‰l$èL‰|$øA‰ÔH‰\$ÐL‰t$ðHìhH9ñM‰ÇM‰Í‚ÔH…öLvÿH‰ã„®E1À1ɺÿÿÿÿ¾€H‰çHÇ„$ˆèóÙüÿE…äHÇ„$Ø`gOÆE~ƒL$tH‰éL‰òH‰îH‰çHÃðèëüÿL‰êL‰þH‰çèóšûÿH9\$8tH‹T$(ÆH‹œ$8H‹¬$@L‹¤$HL‹¬$PL‹´$XL‹¼$`HÄhÃ@A¾?H‰ãH¬$ðé<ÿÿÿèMU¶À‰ýSHìØH‰T$0H…¸?èIL‰D$@H‰L$8I‰ðH)ÐH”$ÏL‰L$Hÿà)zñ)rá)jÑ)bÁ)Z±)R¡)J‘)BH‹Êð(fƒ;xJH‹“ˆdL‹ %L9Jt0¾1Àƒ=à9)t ð±2…ýë ±2…òH‹“ˆL‰JƒB…í~ H‹oð(ƒHtH„$ðH‹=\ð(H‰âL‰ÆÇ$ÇD$0H‰D$HD$ H‰D$胙ûÿ…í‰Æ~ H‹&ð(ƒ`tûƒctëfƒ;x0H‹“ˆ‹Bƒè…À‰BuHÇBƒ=59)tðÿ urëÿ ulHÄØ‰ð[]Ãctëfƒ;H‰Æx0H‹“ˆ‹Bƒè…À‰BuHÇBƒ=ì8)tðÿ uDëÿ u>H‰÷è§;H:Hì€èØàÿÿHÄ€éóþÿÿH:Hì€èíàÿÿHÄ€éyÿÿÿH:Hì€èÒàÿÿHÄ€ëªU¶À‰õSH‰ûHìØH‰L$8H …¸-êIL‰D$@L‰L$HI‰ÐH)ÈHŒ$Ïÿà)yñ)qá)iÑ)aÁ)Y±)Q¡)I‘)Afƒ?xJH‹—ˆdL‹ %L9Jt0¾1Àƒ=ù7)t ð±2…÷ë ±2…ìH‹“ˆL‰JƒB…í~ƒKtH„$ðH‰âL‰ÆH‰ßÇ$ÇD$0H‰D$HD$ H‰D$è§—ûÿ…í‰Æ~Q‹Ctƒàû‰Ctƒàëfƒ;‰Ctx0H‹“ˆ‹Bƒè…À‰BuHÇBƒ=Y7)tðÿ uwëÿ uqHÄØ‰ð[]ËCt볃ctëfƒ;H‰Æx0H‹“ˆ‹Bƒè…À‰BuHÇBƒ= 7)tðÿ uDëÿ u>H‰÷èÆ9H:Hì€è÷ÞÿÿHÄ€éùþÿÿH:Hì€è ßÿÿHÄ€étÿÿÿH:Hì€èñÞÿÿHÄ€ëªUI‰Ð‰õH‰ÊSH‰ûHƒìfƒ?xML‹ˆdL‹%M9Qt2¾1Àƒ=e6)t ðA±1…Òë A±1…ÆL‹‹ˆM‰QAƒA…í~ƒKtL‰ÆH‰ßè9–ûÿ…í‰Æ~S‹Ctƒàû‰Ctƒàëfƒ;‰Ctx0H‹“ˆ‹Bƒè…À‰BuHÇBƒ=ë5)tðÿ uyëÿ usHƒÄ‰ð[]ÃD‹Ct뱃ctëfƒ;H‰Æx0H‹“ˆ‹Bƒè…À‰BuHÇBƒ=›5)tðÿ uDëÿ u>H‰÷èV8I9Hì€è‡ÝÿÿHÄ€éÿÿÿH:Hì€èœÝÿÿHÄ€érÿÿÿH:Hì€èÝÿÿHÄ€ëªHƒì¿È¿OèBAWH7AVAUATI‰ô¾Ð8OUH‰ý¿`hOSHƒì8H‰D$èGüÿH…ÀH‰Ã„¨‹HÇD$(Lt$ HÇD$ Ll$(L|$€Ì€¨‰…ø„H‰Ùº L‰öL‰ïèKüÿH…ÀŽÔH‹|$(ºL‰þè¢=ûÿH‹|$H;|$(H‰$„®¶HƒÇH‰|$<-…šHt$ºèk=ûÿH‹T$H;T$t¶ HrH‰t$€ù unH9èvYH‹L$H9 $sN¶JHrH‰t$€ùruL¶JHƒÂH‰T$€ù-u:H9,$–ÂH9D$v\„Ò„”Nd%I)ÄM…ätK€‹¨„ÿÿÿfDH‰ßèÈ>üÿH‹|$(èn*ýÿM…ät/HƒÄ8¸ÿÿÿÿ[]A\A]A^A_ÃD„Òt,H‰ßè”>üÿH‹|$(è:*ýÿHƒÄ8¸[]A\A]A^A_ÃfDL$$L+d$évÿÿÿfL$$I)Äéhÿÿÿ@HÇÀÐÿÿÿd‹ƒø t·ƒøuƒë°HìØ¶ÀH‰L$8H …¸ƒïIL‰D$@L‰L$HH)ÈHŒ$Ïÿà)yñ)qá)iÑ)aÁ)Y±)Q¡)I‘)AH„$àH‰áÇ$ÇD$0H‰D$HD$ H‰D$èHÄØÃH‰\$ÐH‰l$ØH‰ûL‰d$àL‰l$è¿dL‰t$ðL‰|$øHì(A‰ôI‰×H‰ÍèÕ7ýÿH…ÀI‰ÅA¾ÿÿÿÿ„¼E1À1ɺÿÿÿÿ¾€H‰çHÇ„$ˆèðÐüÿL‰éºdL‰îH‰çHÇ„$ØàjOè‘âüÿƒ$$þE…äHÇ„$àÐ'GHÇ„$èG~ƒL$tH‰êL‰þH‰çèÝ‘ûÿ…ÀA‰ÆˆÂH‹T$ H‹l$(H‹D$0HƒÅH)ÐH)ÕHÑèH9ÅrYH‹|$8H‰îèDýÿH…ÀH‰twÆD(ÿD‰ðH‹œ$øH‹¬$L‹¤$L‹¬$L‹´$L‹¼$ HÄ(Ã@H‰ïèÀ6ýÿH…ÀH‰t—H‹t$8HUÿH‰ÇègýÿH‹|$8èÝ'ýÿH‹H…Àu‰H‹D$8H‰é|ÿÿÿ„H‹|$8è¶'ýÿéjÿÿÿHƒì¿á¿OèUH‰ýS» kOHƒìfH‹±2)H‰ê¾ù¿O¿H‹H…ÉHDË1ÀèküÿëÙAWAVAUATE1äUH‰ÍSHƒìhHL$\H‰|$H‰t$‰T$$¾¿OºÐs¿ L‰D$L‰L$(L‹´$ èó,H‰ÃHƒûÿt%H‹T$H‹t$A¸$‹|$$H‰Ùè>&H…À……IÇÅÿÿÿÿ‹T$$H‹t$HL$0H‹|$A¸$è@%ƒøÿA‰Ç„=1ö‹D$4Iǃøÿ„9ƒø„ÅHÇÀÐÿÿÿE1ídÇAƒÿÿt Icÿ¸HƒûÿtxH‹ ‹T$\ëUDH‹PH‹ A½þÿÿÿH‰T$0H‹P H‰T$8H‹P(H‰T$@H‹P0H‰T$H‹P8‰T$P‹T$\‹q‹x9Ö„Rf.„‹A9Ð…²¸ÿÿÿÿðÁCƒøtHƒÄhD‰è[]A\A]A^A_Ã@H‰ßèx&ëàfD‹D$@‰E‹D$D‰EHcL$8H‹D$HÁH‰EHcD$éÙüÿÿ@H‰ßè0éÕûÿÿƒ}´OMDÊA‰úAÁâMcÒéÿüÿÿM…ÉtH‹‹@;EÌu\DH‹EA¿"ÇÿÿÿÿHÇÀÐÿÿÿdÇ"érüÿÿDAÇC AÇCé¾ýÿÿM…É„ñfH‹‹@;EÌ„àA¿þÿÿÿé3üÿÿfDÇj)A‰Çé*üÿÿfDH‹•PÿÿÿH‹µÿÿÿH‹H‰µhÿÿÿH‰…`ÿÿÿ‹… ÿÿÿ…À»¾º¸€½&ÿÿÿ„ïHcðI‹HÁæH‰„5`ÿÿÿB½L‹½ÿÿÿH˜N<8H‰„5hÿÿÿHµ`ÿÿÿ‰Ï‰àþÿÿL‰èþÿÿL‰•ðþÿÿèL9ø‹àþÿÿL‹èþÿÿL‹•ðþÿÿ„zýÿÿA¿ÿÿÿÿéSûÿÿfDM…ÿ…ÐL‹…PÿÿÿH‹}E1ÿL‰é.ûÿÿHc… ÿÿÿ¾HÁàH…ÿÿÿHPH‰…xÿÿÿ¸HƒâðH)ÔºLd$IƒäðL‰¥pÿÿÿé ÿÿÿ„ƒ}´„†‰Ö‰ÂI‹HcÒHÁâH‰„`ÿÿÿD‰øL‹½ÿÿÿÁàH˜H‰„hÿÿÿN<8‰òéþþÿÿH‹•Pÿÿÿ1ÿL‹Bé/üÿÿH‹•Pÿÿÿ1ÿE1ÿH‹BéÒüÿÿH‹0‰ÏL‰ú‰àþÿÿè4L9ø‹àþÿÿ…ôþÿÿé ÿÿÿB<½H˜HÁàHcÿH½ÿÿÿL_H‰¼hÿÿÿIƒãðL)ÜL\$IƒãðL‰œ`ÿÿÿé=ÿÿÿ€H‰ßè`éEùÿÿÇ5)ééùÿÿtÇ$)AƒÏÿéáøÿÿAƒÏÿé¾øÿÿ¿bÀOèÔûÿHƒøÀƒÈ…À‰ó)Ž”÷ÿÿëÁff.„ƒúH‹D$L‹T$t!ƒú u#ƒþuº‰öL‰T$H‰D$é÷ÿÿƒþ²tç¸ÿÿÿÿÃH‰\$ÐH‰l$Ø1íL‰d$àL‰l$èI‰ÔL‰t$ðL‰|$øHƒìHƒþ I‰ÍM‰ÆM‰Ï@”ÅH‰ûè‘NýÿHpH‹D$PƒÅM‰ñM‰èL‰á‰êH‰ßL‰<$H‰D$è™öÿÿH‹\$H‹l$ L‹d$(L‹l$0L‹t$8L‹|$@HƒÄHÃfDH‰\$ÐH‰l$ØH‰ûL‰d$àL‰l$èH‰õL‰t$ðL‰|$øHƒìXHÇÀ(ÿÿÿI‰ÕI‰ÎM‰ÇL‰L$dH‹H‹@% HƒøEäèêMýÿL‹L$AƒÄHpM‰èH‰éD‰âH‰ßL‰<$L‰L$M‰ñèðõÿÿH‹\$(H‹l$0L‹d$8L‹l$@L‹t$HL‹|$PHƒÄXÃAWI‰×AVE1öAUI‰ÍATUS‰óHƒì8H‰|$èmMýÿHL$,HƒÀºp"s¾L–N¿ H‰D$è{H‰ÅHƒýÿt&H‹T$H‹t$A¸ H‰é¿èÅH…À…„H‹t$H‹|$HL$ A¸ ºè̓øÿ‰Á„ÔE1ÀD‹d$$Aƒü„¸Aƒüÿ„ûIƒ?ŽI‹}1ÀHcÐD`‰—ƒùÿt Hcù¸HƒýÿtYH‹M‹T$,ë5DH‹PH‹MH‰T$ ‹p ‹T$,‰t$(‹yD‹H9ׄeA¼þÿÿÿ‹A9Ð…«¸ÿÿÿÿðÁEƒøtHƒÄ8D‰à[]A\A]A^A_Ã@H‰ïè ëàfDD‹d$(E…䈴AD$H˜I9|vM…À„¯I‹}IcÔL‰ÆHÁ≠$è¿týÿ‹ $AƒüŒ&ÿÿÿ„ÿÿÿI‹}1À9H‰úuéÿÿÿf.„‹rHƒÂ9ÞtƒÀA9ÄíA9Ä…èþÿÿ@éÕþÿÿI‹}H4…‰ $L‰D$è*ýÿH…À‹ $L‹D$tID‹d$(I‰EM…ÀAD$H˜I‰…QÿÿÿI‹uIcÔ‰ÏHÁ≠$è¡ D‹d$(‹ $IcÔHÁâH9Є=ÿÿÿA¼ÿÿÿÿébþÿÿÇÔ)A‰Äé_þÿÿL@$McÉHcöJ|AƒÌÿI°H9Ç‚„þÿÿM…ÀD‰á…ñýÿÿé¿ýÿÿÇ‘)éþÿÿ¹°ÀOº¾tÀO¿ÀO袷úÿ¨‰D$,uAƒÆAƒþt Aƒüÿ…Nýÿÿ¸ÿÿÿÿðÁEƒøtAƒüÿ„/þÿÿHÇÅÿÿÿÿéUýÿÿH‰ïèXëß¹°ÀOºe¾tÀO¿†ÀOè=·úÿUH‰åAWI‰ÿ¿AVAUI‰õ¾ÄÀOATI‰Ôº°"sSH츉lÿÿÿHMÌL‰…`ÿÿÿL‰xÿÿÿè'M…äH‰Ã„ÛL‰çèãIýÿITLpH‰U€HƒÂHƒâðH)ÔHt$HƒæðH‰uˆH‰÷L‰êL‰þE1íè=lýÿHxÆ/L‰òL‰æèkrýÿ¿H+½xÿÿÿL‹•xÿÿÿH‹…xÿÿÿHEƒçIúH‰½pÿÿÿH‰…HÿÿÿL‰•XÿÿÿHƒûÿt%H‹U€H‹uˆA¸‹½lÿÿÿH‰Ùèà H…À…ŸIÇÁÿÿÿÿE1öE1ä‹•lÿÿÿH‹u€HM°H‹}ˆA¸L‰(ÿÿÿèÖ ƒøÿ‰ÁL‹(ÿÿÿ„HÇ…@ÿÿÿH‹EHÇ‹E´ƒøÿ„]ƒø„±HÇÀÐÿÿÿE1ädǃùÿt Hcù¸HƒûÿteH‹ ‹UÌëCH‹PH‹ H‰U°H‹P H‰U¸H‹x(‹UÌD‹M¸D‹E¼H‰}ÀD‹Q‹pA9Ò„®A¼þÿÿÿ@‹A9Ð…ê¸ÿÿÿÿðÁCƒøtHeØD‰à[A\A]A^A_ÉÃ@H‰ßè ëàfD‹u¸D‹U¼¿L‹½xÿÿÿD‹]ÀHcÖMcÂIH…pÿÿÿIÇL)ÿI‰ÿA{AƒçHcÿHÁçHøH‰½PÿÿÿLøH;EvHÇÀÐÿÿÿA¼"dÇ"éôþÿÿ@H‹…`ÿÿÿH‹½XÿÿÿH‰xH‹½PÿÿÿH½XÿÿÿHƒ½@ÿÿÿHH‰8H‰PH‰•Pÿÿÿ‹EÄH‹•`ÿÿÿ‰B„“A42‰ ÿÿÿL‰…0ÿÿÿL‰(ÿÿÿHcÖH‹µ@ÿÿÿèpýÿL‹(ÿÿÿL‹…0ÿÿÿ‹ ÿÿÿMÇLcEÀH‹•PÿÿÿLúM…ÀŽ<H‹½`ÿÿÿ1öE1ÿH‹GfDA‹<´H‰ðHƒÆHúIÿL9Æ|éIÁàK4>JÇI9ñ‚¨H;•Hÿÿÿ‡¨M…ö„zH‹8L‰úL‰ö‰ ÿÿÿèfoýÿH‹µ`ÿÿÿHcE¸‹ ÿÿÿH‹€|ÿukHcE¼H‹V€|ÿu\Hc}ÀH…ÿ~5L‹FA‹$1ÀI‹0ƒê€<të;A‹„I‹4Àƒê€<u'HƒÀH9ø|æH‹•`ÿÿÿH‹EE1äH‰é`ýÿÿM…öt;H‹‹@;EÌt-A¼þÿÿÿéBýÿÿH‹0‰ÏL‰ú‰ ÿÿÿèGL9ø‹ ÿÿÿ„±A¼ÿÿÿÿéýÿÿDAòE…ÛH‰}McÒºL‰U˜~(McÛ²IÁãICL‰]¨MÚHƒàðH)ÄLd$IƒäðL‰e Hu‰Ï‰ ÿÿÿL‰…0ÿÿÿL‰(ÿÿÿL‰•8ÿÿÿè’ L‹•8ÿÿÿ‹ ÿÿÿL‹…0ÿÿÿL‹(ÿÿÿL9ЄþÿÿA¼ÿÿÿÿé{üÿÿM…ÿ…-ÿÿÿH‹…`ÿÿÿL‹UE1äI‰éYüÿÿIE I}A¾A¼‡óPHƒàðH‰}€H)ÄLT$IƒâðL‰UˆL‰×é!ûÿÿÇÒ)A‰Äé!üÿÿH‹µ`ÿÿÿE1ÀE1ÿH‹FéßýÿÿLP0McÉMcÀHcÿHcöMÑL‰•@ÿÿÿO$LL0M4¼M9ÎwrM…Ò„Uûÿÿ¹ÿÿÿÿéŒûÿÿÇk)A‰Äé«ûÿÿ¨‰EÌuAƒÅAƒýt Aƒüÿ…æúÿÿ¸ÿÿÿÿðÁCƒøtAƒüÿ„ñûÿÿHÇÃÿÿÿÿéìúÿÿH‰ßèëÝAƒÌÿfé³ûÿÿM…ö„=üÿÿH‹‹@;EÌ…îýÿÿé&üÿÿff.„H‰\$ÐH‰l$ØH‰ËL‰d$àL‰l$èHcÿL‰t$ðL‰|$øHƒìXLd$I‰÷I‰Ö1ɺ L‰ÅIt$ M‰ÍÆD$èQñIt$I‰ÙM‰ðL‰ú¹H‰ÇH)ÆL‰l$H‰,$è*ùÿÿH‹\$(H‹l$0L‹d$8L‹l$@L‹t$HL‹|$PHƒÄXÀH‰\$ÐH‰l$ØH‰ûH‰õL‰d$àL‰l$èI‰ÔI‰ÍL‰t$ðL‰|$øHƒìHM‰ÆM‰ÏèCýÿM‰éM‰àH‰êH‰ß¹H‰ÆL‰|$L‰4$è¥øÿÿH‹\$H‹l$ L‹d$(L‹l$0L‹t$8L‹|$@HƒÄHÃH‰\$àH‰l$è‰òL‰d$ðL‰l$øHƒìXHl$ ‰|$ H‰ó¾fÇD$$H‰ïè6Yƒøÿt!H‹\$8H‹l$@L‹d$HL‹l$PHƒÄXÄIÇÄÐÿÿÿdAƒ<$uÐLl$1öL‰ïèâH‹T$¸èH‰ÁHÂôH‰ÐHÁú?H÷ùHiT$èHÐH‰ÚHØH»Ï÷Sã¥›Ä H‰D$ëHdAƒ<$…tÿÿÿ1öL‰ïè‹H‹L$HÁôH‰ÈHÁù?H÷ëH‹D$HÁúH)ÑHiÐüÿÿHHT$¾H‰ïè\Xƒøÿt¦é!ÿÿÿfH‰\$ØH‰l$àH‰ÓL‰d$èL‰l$ðA‰üL‰t$øH‰õHƒì(I‰ÕH‰ÚH‰îD‰çèÉsÿÿHƒøÿI‰ÆtHƒø~2H)Ãt/HÅfë×fDHÇÀÐÿÿÿd‹ƒøtƒø t1L‰ðë€u:L‰èH)ØH‹$H‹l$L‹d$L‹l$L‹t$ HƒÄ(þÈD‰çè6þÿÿ…Àwÿÿÿë¸HÇÀÐÿÿÿd‹fë¥fffff.„UH‰åL‰uðL‰}øI‰ÖH‰]ØL‰eàI‰÷L‰mèHìà‰½,ÿÿÿ‹=+ )…ÿˆ—1Ò¾¿膨ÿÿA‰Ä‹ )…À„%…ÀˆmE…äˆIF‹5æ )Mn HƒàüHƒÀHƒàðH)ÄH\$Hƒãð…öˆVHµ0ÿÿÿHº/nscd/soH¹/var/runD‰çfÇ…0ÿÿÿH‰2ÿÿÿHFH‰PÇ@cketºnÆ@è;¦ÿÿ…Àxg‹…,ÿÿÿL‰þH{ L} D‰sL‰òA¾Ç‰Cè‹hýÿ¹@L‰êH‰ÞD‰çèx¦ÿÿHƒøÿtrL9è…ÒD‰àH‹]ØL‹eàL‹mèL‹uðL‹}øÉÃHÇÀÐÿÿÿdƒ8stŒIcü¸f„A¼ÿÿÿÿë¿„Aƒüÿt2¸‰Ë )éÅþÿÿf.„HÇÂÐÿÿÿdƒ:uécÿÿÿfDHÇÂÐÿÿÿD‰àdƒ:u¾ëÁfD1Ò¾¿èï¦ÿÿA‰Äézþÿÿ€º¾D‰ç1Àèœrÿÿé‘þÿÿHƒøÿ…JÿÿÿHÇÀÐÿÿÿdƒ8 f…7ÿÿÿ1öL‰ÿè@ÿE„ötAH‹E¨ºˆH‰E¸H‹E HƒÀH‰E°H}À¾D‰eÀfÇEÄèU…ÀŽïþÿÿE1öéŸþÿÿH‹U¸H+U¨¹èH‰ÐHÁú?H÷ùH‹U°H+U iÒèÂë¯L‰d$èL‰l$ð‰ÐL‰t$øH‰\$ØI‰ÌH‰l$àHƒì(HþM‰ÆA½ÿÿÿÿv$D‰èH‹$H‹l$L‹d$L‹l$L‹t$ HƒÄ(Ã@HÇÃÐÿÿÿH‰òH‰þ‰Çd‹+èñüÿÿ…ÀA‰ÅxF¾ˆ‰Çèîúÿÿ…À~,f.„L‰òL‰æD‰ïèòoÿÿHƒøÿudƒ;tæL9ðt‚Icý¸d‰+A½ÿÿÿÿéjÿÿÿfDAWM‰ÇAVI‰öH‰ÖAUA‰ýL‰÷ATUH‰ÍSH‰ÓHƒìèøWH‹M1ÒL‹E ÷q‰ÒD‹T‘hAƒúÿ„ïE‰ÑIAI9À‚ßHºÍÌÌÌÌÌÌÌL‰ÀH‹mH÷âE1ÛIƒÇA¼HÁêëIH…Ò„¬E…ÛtE‰ÒIBI9À‚—F‹TAƒùÿ„ˆE‰ÉIAI9Àr|D‰àHƒêD)ØA‰ÃNL A¶D9èuTIcAH9ØuKA‹y‰ÿHI9Àrÿüÿ¹ðÀOº¾ÍÀO¿ÛÀOèŨúÿDUH‰åAWAVA‰þAUA‰ÕATI‰ôSHƒìfDD‰êL‰æD‰÷èBsÿÿHƒøÿuHÇÂÐÿÿÿd‹ƒút݃ú I‰Çu@E1ÿë HƒøŽÞI‰ÇE…í~)AUÿ1À1ÛHƒÂHÁâfDI\HƒÀH9ÐuòL9ûwHeØL‰ø[A\A]A^A_ÉÃIcÕH‰eÈL‰æHÁâHBH)ÄH|$HƒçðèÝcýÿL‰úI‰ÄI‹D$H9Ðv5I$I)T$D‰êL‰æD‰÷è†rÿÿHƒøÿH‰Ât"Hƒø5uJH‹eÈë‰fDH)ÂAƒíIƒÄë´HÇÀÐÿÿÿd‹ƒøt¸ƒø t)I‰×ëÍIÇL9ûw“ëÃu7E1ÿéFÿÿÿHÇÀÐÿÿÿd‹ëÒ¾ÈD‰÷H‰UÀè­÷ÿÿ…ÀH‹UÀmÿÿÿë¸HÇÂÐÿÿÿd‹éÃþÿÿUH‰åAWAVAUIÇÅÿÿÿÿATS‰ûH‰÷Hì8H‰µ¸þÿÿH‰•°þÿÿè:ýÿIÇÄÐÿÿÿLxHƒÀHƒàðH‹µ¸þÿÿ‰ßH)ÄdA‹$Lt$Iƒæð‰•¬þÿÿL‰úèùÿÿ…À‰Ãˆ÷HEÈL­Pÿÿÿ¹L‰uL‰}˜ºH‰E L‰ï1ÀHÇE¨¾ÿÿÿÿóH«HEHÇ…hÿÿÿÇE¸ÇE¼HÇE°H‰…`ÿÿÿHE°H‰ÇH‰…pÿÿÿHƒÇè?Qýÿ¾ˆ‰ßHÇ…xÿÿÿèˆöÿÿ…ÀŽ º@L‰î‰ßè1RHƒøÿH‰ÂudAƒ<$tàHƒ½xÿÿÿ†rH‹…pÿÿÿH…À„bHƒ8…X‹EÀI9׉…¨þÿÿ…ŽH‹µ¸þÿÿL‰÷H‰• þÿÿè`4ýÿ…ÀH‹• þÿÿ…vI9ׄH‹uÈD‹…¨þÿÿE1É1ÿ¹º艌ÿÿHƒøÿI‰Æ„Aƒ8…ƒxh… ‹@…À„þA‹V …Ò„jIcVH˜H‹uÈH…HƒàðL|hI9÷‡Ò¿(èD ýÿH…À„»IcVIcNI‰ÅL‰0L‰xH•HƒâðHÊIH‰PIcVÇ@H‰P ‹½¨þÿÿèèiÿÿ‰ßèáiÿÿH‹…°þÿÿ‹•¬þÿÿH‹dA‰$L‰(H…Ût¸ÿÿÿÿðÁCƒøt%HeØL‰è[A\A]A^A_ÉÃIÇÅÿÿÿÿ므D‹KE…ÉuEH‹;H‹sè‹‹ÿÿH‰ßèÃúüÿë¼H‹uÈL‰÷IÇÅÿÿÿÿèm‹ÿÿéeÿÿÿIGH9„eþÿÿIƒÍÿéOÿÿÿ¹ðÀOº¾ÍÀO¿ÛÀOè¤úÿ‹µ¨þÿÿH•Àþÿÿ¿è"gÿÿ…ÀuÃH‹µðþÿÿHƒþgv¶H‰uÈéDþÿÿM‹n1ÿè­€ýÿIÅ,I9Å‚mÿÿÿA‹Férþÿÿ@H‰\$ØH‰l$àH‰ÓL‰d$èL‰l$ð‰ýL‰t$øHƒì8L‹jI‰ÌIƒýÿtO1Ò¹‰Ðð± …À…®L‹kIƒýÿt*M…ítnI‹E‹P …ÒtBHcPI;U wY‹@¨A‰$uvðAÿEÇL‰èH‹\$H‹l$L‹d$ L‹l$(L‹t$0HƒÄ8ÃL‹p1ÿH‰t$èàýÿH‹t$IÆ,I9ÆsHS‰ïè´ûÿÿHƒøÿI‰Åt£H‹ëŽfDI‹EéuÿÿÿIƒÍÿë†ó‰Ðð± …À„Bÿÿÿó‰Ðð± …À„2ÿÿÿó‰Ðð± …À„"ÿÿÿó‰Ðð± …À„ÿÿÿó‰Ðð± IƒÍÿ…À„þþÿÿé3ÿÿÿAVH‹AUH…ÀATUS„ßL‹5e)D‹-)1öL‹%Ý)H‹-)1ÉH‹eø(L‹ö)1ÒD‹å…(D‹ –)L‹¿)€HƒèHƒøwÿ$ÅÁO€L‹w@HƒÇH‹H…ÀuÔ@ƒúL‰5æ)D‰-)L‰%`)H‰-¡)H‰ê÷(L‰{)D‰l…(D‰ )L‰F)u…öÇ)•À…É• Ѓà‰=…([]A\A]A^Ã@L‹_HƒÇH‹H…À…Lÿÿÿéwÿÿÿ€L‹GHƒÇH‹H…À…,ÿÿÿéWÿÿÿ€D‹WHƒÇA¹H‹ºÿÿÿÿH…À…ÿÿÿé,ÿÿÿ@D‹oHƒÇH‹H…À…äþÿÿéÿÿÿ€H‹_HƒÇH‹H…À…Äþÿÿéïþÿÿ€3wHƒÇƒÊH‹H…À…¢þÿÿéÍþÿÿD3wHƒÇƒÊH‹H…À…‚þÿÿé­þÿÿD3OHƒÇƒÊH‹H…À…bþÿÿéþÿÿD3OHƒÇƒÊH‹H…À…BþÿÿémþÿÿDH‹oHƒÇH‹H…À…$þÿÿéOþÿÿ€L‹gHƒÇH‹H…À…þÿÿé/þÿÿffffff.„HÇ=ö(HÇ*ö(ès¸ðsHÇÃffff.„AUATUSHƒì1HÁâ ‰ÀH ÂHƒ=Ã)H‰$)uèõjÿÿH˜H‰¬)¿%ÃO»‡óPè=÷úÿH…À¿-ÃOHDÀ8•À¶À‰J)è÷úÿH‰Çèµn¿=ÃOè ÷úÿH…À¿IÃOHDÀ8”À¶À‰Ðÿ(èëöúÿH…À¿UÃOHDÀ8•À¶À‰ ÿ(èËöúÿH…À¿eÃOHDÀ8”À¶À‰Äÿ(è«öúÿH…ÀH‰!ÿ(t €8…¾‹ ‚(ºÂO¹øÁO…ÀHDÑH‰ùþ(…ÀtH¸%ÃOH= ÂOv'» ÂOH‰ßè˜Ò1öH‰ßè^dýÿHXHû%ÃOrá1ö¿wÃOèõdÿÿ…À…ÅH‹þþ(H…Àt €8„P¿•ÃOèöúÿH…ÀH‰Ã„ºHl$1É1ÒH‰ÇH‰îèûÿH=þ‡šH‹T$H9Ó„Œ¶E1í1Ʉۄ€û.uwHZI‰Å1ÒH‰îIÁåH‰ßè×ûÿH=þwWH‹T$H9ÓtM¶¹„Û„Õ€û.u8HZI‰Ä0ÉIÁä1ÒH‰îH‰ßM ìè“ûÿH=þwH9\$t I ÄM…ä…»H‹=þ(H…ÿt è—0ýÿH‰Ðý(H‹þ(H…Ût>H‹5Mþ(H…öt2;Qåtd„ŒHC81Òë@‹H‰ÃHƒÀ8ùQåtdtoHƒÂH9òræHƒÄ[]A\A]Ëâ€(éTþÿÿDHÇ•ý(é þÿÿ„A¼I)ÌB åI‰ÄIÓäM ìM…ä„EÿÿÿD‰%Öý(é9ÿÿÿ‹C‰ϳ(HƒÄ[]A\A]Ã@¿‡ÃOèžÐé,þÿÿD·‡°H+7AƒèIcÀHÅHÁàH)Ð1Òë ƒÂHƒè8D‰Á)уùÿt'H‰ÁH ƒ9uàI‰ñL+IL;I(sÓ¸ÃD1ÀÃffff.„AW¸AVAUATUH‰õSH‰ûHƒì(H…ÀH‰T$H‰L$t ¿àÙrèNÙµÿL‹%—ü(M…ä„üAºà#sE1ÛI‹H…À„Öf„H;˜@‚³H;˜Hƒ¦€¸x]·¸°I‰ÙL+ƒïHc×H ÕHÁâH)Ê1É뀃ÁHƒê8‰þ)΃þÿ„\H‰ÖH° ƒ>uÝM‰ÈL+FL;F(sÐH‹PH‰UH‹@H‰UH‹P€:„‰H‹PpHƒ¸˜L‹RH‹PhH‹RH‰T$H‹D‹z„€‹ì…Ò„FƒêL‹°E1äL,•1ÿDC‹ &H‰ú…É„Ÿ‰ÊH4•H°ëfDƒÁH‰×HƒÆ‰ÊHRIÒD·BfE…ÀuHƒztRD¶JAƒáAƒùtCL‹ZM‰ÙLL9Ër4fE…Àt L‹BM…Àu L9Ët L‹BMÈL9ÃsH…ÿtL;_v D;:w@H‰úöf„zÿÿÿIƒÄM9ìt6H‰×éAÿÿÿf„H‹@H…À…3þÿÿIƒÃIƒÂHM9܇ þÿÿ1ÛëGL‰ÈHƒ|$tH‹L$H‰Hƒ|$tH‹L$H‰H…Ò„ú‹ H‹R»HL$HH‰MH‰U¸H…Àt ¿àÙrèãÖµÿHƒÄ(‰Ø[]A\A]A^A_ÃH‹P`H‹|$H…ÒtH‹R‹zHkÿI<:1ÒI9úƒ¬I‰ÁëDIƒÂI9úƒUÿÿÿA¶J‰ÈÀè‰Æƒî@€þwÞƒáƒùtÖE·BfE…ÀtDI‹JH‰ÎI1H9ór¼fE…Àt M‹BM…Àu H9ót M‹BI40H9ós›H…ÒtH9JsE;:IGÒë‡I‹JH…É„zÿÿÿë±HÇEHÇE»éÿÿÿ1Òé¼þÿÿö€…jýÿÿH‹C|(H‹H‰UéWýÿÿ‹òù(S…Àt[Ãè‹ýÿ‰ÃèÔA9Ãtº‰|([ÃèÛA‰ÃèÄA1Ò9ÃuÞëáHƒ=ù(tH‰þH‹<$éJÀf.„óÃfffff.„H‰þH‹<$é$Àé[ïff.„SHWH‰ûE1ÉE1ÀHƒìH‹7HÇGH‹HÇD$Ç$HŽˆè““H‰CHƒÄ[Ãf„SHWH‰ûE1ÉHƒì0H‹7HÇGHÇD$¦ÃOHÇD$ LD$H‹ÇD$H‹Ž€ÇD$…Ïc HÇD$Ç$è“H‰CHƒÄ0[ÃDSH‰ûHÇÁþÿÿÿ1ÒHƒìH‹Ðâ(‹wL‹ †ø(D‹wø(H‰$H‹?èÒH‰CHƒÄ[ÃHƒìH¹ +JH‰<$HT$?H|$0Ht$(I‰àHÇD$´ÃOHÇD$(芲H‹|$(H…ÿt €|$?u HƒÄHÃ@èëìüÿHƒÄHÃfDH‹T$1ÀH…ÒtH‹H‹T$HBtÍHÇÚrHƒÄHÃf.„Hƒì8I‰ø¹À*JH|$ HT$/Ht$HÇD$è²H‹|$1ÀH…ÿ•À…Àt€|$/uHƒÄ8Ãf.„‰D$èWìüÿ‹D$HƒÄ8Ãfffff.„HƒìH¹Ð*JH‰<$H‰t$H|$0HT$?Ht$(I‰àHÇD$(莱H‹|$(H…ÿt$1À€|$?u HƒÄHÃfDèëëüÿ1ÀHƒÄHÃ@H‹T$1ÀH…ÒtH‹H‹T$HBHƒÄHÃHƒìH¹ +JH‰<$H‰t$H|$0HT$?Ht$(I‰àHÇD$(è±H‹|$(H…ÿt$1À€|$?u HƒÄHÃfDèkëüÿ1ÀHƒÄHÃ@H‹T$1ÀH…ÒtH‹H‹T$HBHƒÄHÃH‰\$èH‰l$ð¹+JL‰d$øHƒìhLd$OH\$@Hl$8LD$ H‰|$ ‰t$(H‰ïL‰âH‰ÞHÇD$@èt°H‹|$@H…ÿt21À€|$OuH‹\$PH‹l$XL‹d$`HƒÄhÃDèÃêüÿ1ÀëÞ€H‹D$0H‰ßI‰à¹ +JL‰âH‰îHÇD$´ÃOHÇD$8H‰$è°H‹|$8H…ÿt-€|$OuH‹|$0èì¹H‹D$0ë„Dè[êüÿëãf„H‹T$1ÀH…ÒtH‹H‹T$HBtÀHÇÚrë·ATUSHìÐH‰çH‰åè ƒýÿ…ÀuhHÅ‚1ÿ1À¶MQЀú w{¶U¾ÉH]ƒé0rÐ@€þ w"„ ‰¾ÒHƒÃLJжrÐ@€þ væÁàƒÇ È€ú.u5ƒÿt$Hkë£1ö1À¿ÂÃOèÀWÿÿ…À‰Ãy7ƒÈÿ€HÄÐ[]A\ÃÿïºHÄÐ)ú Õ[]ÓàA\ÃH¬$º@‰ÇH‰îèLXÿÿ‰ßI‰ÄèâWÿÿM…ä~£¸?Iƒü?INÄÆ„éÿÿÿHƒìè—ßúÿ€¸H‰\$èH‰l$ðL‰d$øHƒìH…À‰ûH‰õI‰Ôt ‹Åϵÿ…ÀtY·=‚­(ÇØ©(è+¹‰Õó(H‰-Öó(L‰%Þ(èÂùÿÿèmòÿÿL‰âH‰î‰ßH‹l$H‹$L‹d$HƒÄéŠÿÿfDdž©(ë±H÷Ød‰%ÐÿÿÿHÇÀÿÿÿÿÃUH‰åAWI‰÷¾/AVAUATSHƒìXH‰}¨H‰U€‰M è×ýÿH…Àt!Hx¾/èÄýÿH…Àt€xHX…v1ÛÇE¾/L‰ÿè›ýÿH…Àt!Hx¾/èˆýÿH…Àt€xHP…ÍH‹U¨¶¶©”8Є|‰ÐA8uA¶G:”„àD‹E H‹}¨HMÀHUÈL‰þèO…À‰E”HÇEˆ…H…Ût6I‰ÜE1íë €I‰ÄIƒ<$tL‰çèV……À…£I‹D$M‰åH…ÀuÙH‹EÀHÅHÁàH)ÐHxèÅõüÿH…ÀH‰E H‰Eˆ„«H‰ÇH‹UÀH‹EÈ1öH‰GHÕH‰HÁâHƒÇH)ÂèX;ýÿH‹UÀH…Ò„{L‹} E1öHÇE¨H‰]˜H‹M¨H‹E¨H‹] L‹e˜HÁáHÁàH)ÈM…äHL8Ll@I‰O0„ØfD1ÛIƒ|$ué±HƒÃI9\$†¡I‹D$ºÀPH‹4ØH‹EÈJ‹|0è½…ÀuÑI‹D$0HÇE¸H…ÀtH‹UÈH}¸J‹t2 ÿÐ…Àu\¿(èÂôüÿH…À„àI‹T$ HÇ@ L‰éH‰I‹T$(H‰PI‹T$8H‰PH‹U¸H‰PI‹W@H…ÒtHJ H‹R H…ÒuóH‰M‹d$M…ä…2ÿÿÿH‹UÀHƒêH;U¨†å‹}H‹EÈA‰ B‹T0TiÚàHcÛH‰ßè/ôüÿH…ÀI‰G„IHØHƒE¨H‹UÀI‰GIƒÆhIƒÇ8H;U¨‡˜þÿÿH‹E€H‹UˆH‰‹E”HeØ[A\A]A^A_ÉÃH‹M¨¶Q:’…rýÿÿ¶Q: ’…býÿÿHÇÀÿÿÿdH‹H‹L‹¨°L‰ïè’!ýÿHH!H‰ÂL‰îHƒáðH)ÌLd$IƒäðL‰çèDýÿfÇ//Æ@L‰e¨¶®‘é ýÿÿA¶G: ‘…ýÿÿHÇÀÿÿÿdH‹H‹L‹ °L‰çè)!ýÿHH!H‰ÂL‰æHƒáðH)ÌL|$IƒçðL‰ÿè—CýÿfÇ//Æ@éÂüÿÿHÇÃÐÿÿÿdD‹#H‹uÀH‹}ÈèÑdD‰#ÇE”HÇEˆéÙþÿÿHƒ}¨HÇÃÐÿÿÿdD‹#t|H‹M¨H‹} H‰]¨HƒéHÍH‰ÈH‰ËHÁàH)ÐL|@DM‹/M…íu ë'fDM‰õI‹EM‹u H…À…þL‰ïè¬ãüÿM…öußI‹ÐIƒï8èšãüÿH…ÛtHƒëë·H‹]¨H‹} è‚ãüÿfé=ÿÿÿH‰ÚH+U¨HBHƒàðH)ÄH|$HƒçðÆH‹u¨èÓHýÿH‰ßH‰E¨è÷ýÿHPHƒÀH‰ÞHƒàðH)ÄH|$Hƒçðè§HýÿI‰Ä¶<,uDIƒÄA¶$<,tó„À„ûÿÿID$ëL‰ð¶„Ò„0€ú,LpuéÆM…ä„èúÿÿ1ÛÇEºÀP¾]˜OL‰ç莹…À…ùH…Û„’H{ ºJH‰ÚuëYfDHx ºJtIH‰ÂH‹BH…ÀuêHƒìP¹Ht$HƒæðH…ÒH‰÷óH«HÇFèÃOHÇFHÇF ºJ„bH‰rA¶M‰ô<,uf.„IƒÄA¶$<,tó„À„3úÿÿID$ë@L‰ð¶„Ò„Û€ú,LpuéÆM…ä…ÿÿÿéúÿÿL)úL‰þHBHƒàðH)ÄH|$HƒçðÆèEGýÿI‰ÇéúÿÿºÀP¾ÝÃOL‰çè{¸…ÀtwH…ÛI‰Ýué»f.„I‰ÅI‹uH…ötºÀPL‰çèG¸…À„*ÿÿÿI‹EH…ÀuÖHƒìP1À¹HT$HƒâðM…íH‰×ó«L‰"„®I‰Uéóþÿÿ„ƒMéâþÿÿI‰Æ@é%ÿÿÿHƒìP¹H\$HƒãðH‰ßó«HÇCèÃOHÇCHÇC ºJé¢þÿÿH‰óéšþÿÿHƒìP¹1ÀH\$HƒãðH‰ßó«L‰#éyþÿÿI‰ÆéÔýÿÿI‹}ÿÐé÷üÿÿHkE¨8‹UH‹M ƒÊ‰T éSûÿÿH‰ÓéFþÿÿM…ítI‹D$I‰EI‹D$éMùÿÿI‹\$H‰Øé@ùÿÿAW¸I‰ÏAVI‰ÖAUATUH‰õSH‰ûHƒì8HƒÿÿL‰L$„M…ÉH‹„³H‹T$HÇ1ÒH…ÉtH‹HƒèH‰ÁH‰D$ HÁàHÁáH)ÈHH‰PL‰@H‹CHƒ8L‹`(t IÁÌdL3$%0H…턹L‹mM…턬M…ÿ„'Iƒ?„HCH‰D$(ë fDI‰ÕL‰çèýðÿÿE1ÀH‹{ÇD$Ç$L‹L$L‰ñH‰êH‹t$(AÿÔƒøuH‹UL9êtH‹KHcIHH I9Îs­Iƒ?tH‹L$ H‹T$ HÁáHÁâH)ÊH‹TI‰HƒÄ8[]A\A]A^A_ÃL‰çèxðÿÿH‹T$ H‹D$ HsH‹{L‹L$HÁâHÁàH)ÐHHƒxÇD$ÀE1À1É÷Ð1ÒƒÀ‰$AÿÔ…Àu#H‰Ù1Ò„ÇA$HƒÂHƒÁ8H9T$ sêM…ÿ…Lÿÿÿéjÿÿÿ¹ÄOºK¾ðÃO¿ ÄOèˆúÿ¹ÄOº-¾ðÃO¿øÃOèú‡úÿAWAVI‰þAULoHATUSHƒìH‹_L‹?@I‹møH…íu ë"DL‰åH‹EL‹e H…ÀuSH‰ïèÞüÿM…äuãAöEØt$L‰÷èôÝüÿHƒÄH‰ßL‰þ[]A\A]A^A_é{I‹}ÈH…ÿt èÊÝüÿAöEØuÇIƒÅ8ëH‹}ÿЀëžH‹Éè(ÄH‹Éè(ÄH‰\$ðH‰l$øH‰ûHƒìH‰õH‹?H‹6è¡ýÿ…ÀuH‹uH‹{H‹l$H‹\$HƒÄé‚ýÿfH‹\$H‹l$HƒÄÃH‹6H‹?éeýÿDH‰\$ðH‰l$øHƒìHƒ?H‰ûta‹Gƒè…À‰GuH‰•@ÿÿÿèÚýÿH‹•@ÿÿÿégÿÿÿD9{Ž>þÿÿH‹M˜‹}¨L‰sD‰{H‰K ‰{é#þÿÿD;}¤_ýÿÿ€H‹pÿÿÿë€H‹[(H…Û„SH‹3L‰çè@ýÿ…Àuä‹E¨;C²H‹E˜H‹µpÿÿÿL‰sH‰C DH‹FH…Àt0H‹V ‹X‹HH‹BH…Àt@H‹R XHH‹BH…Àuí‰^‰NH‹v(H…öu¾Hƒ}ˆ„»üÿÿH‹Mˆ‹u¤ëf‰òD‰èH‹I(H…É„¤üÿÿ‰ÖA‰ÅH‹Q H‹Y‹BC‹R‰ASD9è‰Q|ÏA9ÅuÅ9ò|Æë¾fD…büÿÿD;{fDRüÿÿfé+ÿÿÿ‹U¤A9W@Úûÿÿfé•ûÿÿA^H‹U˜E‹~L‹e€Dz‰]¨H‹]ˆH…Û…¥üÿÿ€Hƒì@L‰çH\$HƒãðL‰#èpýÿH‹UˆH‰C‹}¨H‹E˜D‰{L‰sH‰S(H‰]ˆ‰{H‰C éüÿÿDH‰•@ÿÿÿèD…H…ÀH‹•@ÿÿÿ„³H‹H‰B˜HÇBÈH‰J H‹HH‰JÀH‹H H‹@(H…ÉH‰JÐH‰BØ„uýÿÿH‰ÈHÁÈdH3%0H‰ÇH‰…Hÿÿÿè‘åÿÿL‰ïH‹…HÿÿÿÿÐ…ÀH‹•@ÿÿÿ… H‹BÈH…À„.ýÿÿdH3%0HÁÀI‰E0éýÿÿH‹XÿÿÿH‹½Xÿÿÿ1ÛL‰9H‹`ÿÿÿL‹9L‹/Hƒ}H‹M€HEMHƒ½xÿÿÿH‹½hÿÿÿHE½xÿÿÿH‰MH‰½xÿÿÿè>ýÿH‹}HƒÀH‰E¨è-ýÿLpH‹E¨J|0 è+âüÿH…ÀI‰Ä„ûøÿÿHx H‹U¨H‹µxÿÿÿH‰8èˆ2ýÿH‹uL‰òH‰Çè¹8ýÿM‰l$I‰D$º;JM‰|$¾sL‰çè¸iÿÿH…À…«øÿÿL‰çèÓüÿéžøÿÿ‹PA;VOûÿÿI‰ÆféEûÿÿH‹…`ÿÿÿH‹•Xÿÿÿ»HÇHÇH‰ÁH‰×éöþÿÿ€Hƒì@L‰çH\$HƒãðL‰#èPýÿ‹U¨H‹½PÿÿÿH‹M˜H‰CD‰èHÇC(D‰{‰SL‰sH‰K H‰HƒÃ(H‰Pÿÿÿ‹U¤é”ùÿÿH‹…XÿÿÿH‹•`ÿÿÿE1íE1ÿ»HÇHÇéoþÿÿHƒì@H‹hÿÿÿH‹½hÿÿÿHT$1ÀHƒâðH‰ HƒÉÿI‰×ò®HB(ÇBÇBH÷ÑHÇBHÇB HƒéHÇB(H‰…PÿÿÿH‰JH‰•pÿÿÿé-øÿÿ1ÛIƒÄMkìhO,/H‹•`ÿÿÿL;"sVL‰ïIƒÄIƒÅhèwôÿÿëâƒkM9ævIkÄhIÇL‰ÿIƒÄIƒÇhèUôÿÿM9æwë»é÷ÿÿIƒì‰ÃIkÄhIÇD@ë’L‰ÿèIÑüÿH‹`ÿÿÿH‹½Xÿÿÿ…Û¸DØHÇHÇéUýÿÿfffff.„¸H‰\$èH‰l$ðL‰d$øHƒì8H…ÀH‰ûH‰õ„ ¾ðTJ¿sèÊ·µÿHT$H‰îH‰ßè …Àu‹D$H‹\$ H‹l$(L‹d$0HƒÄ8ÃfDºà;J¾P$sH‰çH‰,$è²aÿÿH…ÀtH‹H‹@H…ÀHEèºà;J¾P$sH‰çH‰$è‰aÿÿH…ÀtH‹H‹@H…ÀHEØH‰îH‰ßè‹ýÿ뇃=:Ð(…bÿÿÿè ƒ (Ð(éQÿÿÿff.„¸H‰\$ÐH‰l$ØL‰d$àL‰l$èH‰ýL‰t$ðL‰|$øHƒìXH…ÀH‰óI‰ÕI‰ÎE‰Ä„—¾ðTJ¿sè¶µÿ¾1Àƒ=Ù(tð±5òÚ(…gë ±5ãÚ(…XL‰êE‰àL‰ñH‰ÞH‰ïè1xƒø‰ÂtJƒ=ÃØ(tðÿ ²Ú(…Fë ÿ ¤Ú(…8‰ÐH‹\$(H‹l$0L‹d$8L‹l$@L‹t$HL‹|$PHƒÄXÃHƒ=hÚ(„ºL|$ºà;J¾P$sH‰\$L‰ÿè6`ÿÿ1ÉH…ÀtH‹H‹HL‰ÿºà;J¾P$sH‰L$H‰l$E1ÿè `ÿÿH…ÀH‹L$tH‹L‹xAƒä…¢H‰ÚM‰ñM‰èL‰þH‰ïè óÿÿ‰Âƒ=ñ×(tðÿ àÙ(…“ë ÿ ÒÙ(………Ò…&ÿÿÿ1ÒIƒ}”ÂéÿÿÿDƒ=±×(tðÿ  Ù(…rë ÿ ’Ù(…dºéäþÿÿƒ=;Î(…kþÿÿè ƒ )Î(éZþÿÿH‰ÞH‰ïH‰L$è\ýÿ…ÀH‹L$t\M…ÿtH‰ÞL‰ÿèCýÿ…ÀH‹L$tCH…É„#ÿÿÿH‰ÎH‰ïH‰L$è!ýÿ…ÀH‹L$t!M…ÿ„ÿÿÿH‰ÎL‰ÿèýÿ…ÀH‹L$…éþÿÿƒ=ðÖ(tðÿ ߨ(…Ðë ÿ ÑØ(…ƒÊÿé%þÿÿH=¼Ø(Hì€èÈ~ÿÿHÄ€éIñÿÿH=Ø(Hì€èÙ~ÿÿHÄ€é†ñÿÿH=~Ø(Hì€èŠ~ÿÿHÄ€é‰ýÿÿH=_Ø(Hì€è›~ÿÿHÄ€é©ýÿÿH=@Ø(Hì€è|~ÿÿHÄ€é\þÿÿH=!Ø(Hì€è]~ÿÿHÄ€é}þÿÿH=Ø(Hì€è>~ÿÿHÄ€éÿÿÿAVA‰öAUI‰ýATU½@$sSë$M‹eH‹3L‰çèÉýÿ…Àt%Hk HƒÃ0…ÀHIëH‹]H…ÛuÖL‰m[]A\A]A^Ã1Àë@H‹3L‰çèýÿ…ÀuI‹}H‹sè|ýÿ…ÀtHk(H‹[(H…ÛuÓ뻋CA9E| tE…öt¯[]A\L‰ïA]A^é ÌüÿA‹E;C}âH‹C H‰ßI‰E H‹C0I‰E0H‹C(I‰E(L‰m[]A\A]A^éÔËüÿ@UI‰ðH‰åAWAVAUATSH‰ÓHƒìh¶H‹ÇPH¾ÁöDB t@HƒÇ¶H¾ÁöDB uî„ÉI‰ýt*H‹ ¨PëfDH¾ÀöDB u%‹ˆHƒÇ¶„ÀuåHeØ[A\A]A^A_ÉÃfD¶wÆLgM‰çH¾ÆöDB t€IƒÇA¶7H¾ÆöDB uí@„öt³M‰æëH¾ÀIƒÆöDB u‹IƒÇAˆA¶„ÀußëˆDAÆIƒÆ„IƒÇA¶H¾ÈöDJ uí„À„L‰ñëH¾ðöDr …¡IƒÇˆHƒÁA¶„Àu߯HƒÁH‰M¨AºA¶„À„ÿÿÿÿÿÿƒù‡®ƒâ¹AºJ<A¸H9ýséõÁâAƒã?IƒÀD ÚM9†–F¶E‰ÜAäÀAƒÄ€tÔM9Ðs|Hƒ|$htCE…É@t:L‹d$hLÀÇD$4Iƒ$é5ÿÿÿH‰èL‰ûÇD$4éàýÿÿÇD$4éÓýÿÿÇD$4éÆýÿÿ‰Ñáðùà…îƒâ± Aºé<ÿÿÿIƒútA‰ÒAÓêE…Ò„oÿÿÿŠ(ÿÿùÿ†]ÿÿÿé°þÿÿI‹H‰T$ I‰ÒéQþÿÿƒ¼$Ø„¿þÿÿI‹L‹d$(‰éH‰D$ +L$ ¶I‹T$ ‰ ˆ>ÿÿÿƒùw_ƒà¹¾¿H‹\$ HƒÃH9ÝI‰v(‰Á¶HƒÃÁáI‰ƒà? ÈH9ëuçH‹L$ H)ÙLkÉÓà 2‰BÇD$4é8þÿÿ‰Ááðùà…›ƒà± ¾¿ëŽH‹L$HL‹9éûÿÿ¹ÏOº/¾zÌO¿ŽÌOè×Oúÿ‰D$4éÔýÿÿHƒ|$HuyL‹T$(I‹B HÇAöBÇD$4…¹ýÿÿH‹|$8èi·ÿÿD‹¤$؉$E1ÀL‹L$P1É1ÒH‹t$`H‹|$XD‰d$ÿT$8‰D$4é|ýÿÿ¹ÀÐOº¼¾©ÌO¿@ÍOèMOúÿ¹ÏOº ¾zÌO¿ŽÌOè4Oúÿƒ|$4…?ýÿÿL‹L$(L‹T$ A‹Aé°üÿÿŠ>ÿÿÿƒù‡ŒƒâA¸¹L ¾M9Ñ‚HD¶ 3E‰ÌAäÀAƒÄ€…LÁâAƒá?HƒÆD ÊH9ñwÔHƒùtA‰ÑD‰ÁAÓéE…ÉtŠ(ÿÿùÿ‡ðúÿÿHƒ|$h„:¨„2L‹L$hL3M‰ûÇD$4IƒéÊúÿÿH‹T$(L‹d$ M‰øL‹\$p¿H‹t$@D‹JM‰&Aƒáë)IHI9ËH‰L$ ‚ë¶LVƒúw/A‰L‹D$ L‰ÖH9õuÒH‰l$@éÏH‹L$PH‹D$xH‰HéôûÿÿŠ>ÿÿÿƒù‡wƒâ¹A¼N&»L9Õ‚ ‰D$¶‰D$4%ÀƒÀ€…‹D$4ÁâHƒÃƒà? ÂI9ÜwÕ‹D$Iƒüt A‰ÔAÓìE…ätŠ(ÿÿùÿ‡LÿÿÿHƒ|$h„E…É„ L‹T$hHÞ¿Iƒé,ÿÿÿH‰t$@¿H‹T$@M9ÃI‰u5ƒÿuM9û…“úÿÿH‹L$(ƒié…úÿÿ¹ÏOºá¾zÌO¿ÍOèòLúÿ¹ÏOºà¾zÌO¿ ÍOèÙLúÿL‹d$HI‰$éáúÿÿH‹D$ L‰ûÇD$4éeùÿÿHVH9ÕH‰×v*¶ HƒÂáÀƒÁ€uHƒÃëàI9Ü‹D$‡ÿÿÿéôþÿÿH9ï…ÿÿÿH‰t$@¿é4ÿÿÿ‰Ñáðùàuƒâ± A¼éwþÿÿH‰t$@¿éÿÿÿ‰Ñáøùð…ƒâ±A¼éDþÿÿ‰Ñáøùð…lƒâ±Aºé:úÿÿ¶„$€H I‰.A‰ÈA)Ø>ÿÿÿD‰ƒú‡‹ƒà¾ºHƒÃH9Ù†ÿ¶+ÁàHƒêƒå? èëâHKI9ÉI‰Èv?¶HƒÁâÀƒÂ€u-HƒÆëà‰Ñáðùà…ˆƒâA¸ ¹é[üÿÿM9È…¶üÿÿHCÇD$4I9À„ÒHcL‰ÈD‰ÍH)Ø)݃âH)ÐI¶„$€‰/>ÿÿÿƒú‡€ƒà¹ºHƒÃI9Ùv4¶3ÁàHƒêƒæ? ðëæ‰Ñáøùðu&ƒâA¸¹éÃûÿÿkÒ é‰‰ÑÓà‰Gé¿øÿÿ‰ÑáüùøuNƒâA¸¹éûÿÿ‰ÂâðúàuNƒà¹ºékÿÿÿ¹ÀÐOºÎ¾©ÌO¿õÌOèKJúÿ‰Ñáþùüu5ƒâA¸¹é/ûÿÿ‰ÂâøúðuDƒà¹ºé ÿÿÿ1öHƒÆH3I9ц^ûÿÿHƒþ‡Tûÿÿ¶3âÀƒÂ€…AûÿÿëЉÂâüúø…ƒà¹ºéµþÿÿHPH9ÕH‰Ö†)¶ HƒÂáÀƒÁ€…IƒÀëØH9ñ‡äúÿÿé¸úÿÿ‰Ááøùðu!ƒà±¾¿éàøÿÿÇD$4éX÷ÿÿ‰ÁáüùøuFƒà±¾¿靸ÿÿ‰Ñáüùøu9ƒâ±A¼é-ûÿÿƒà¹ºéóýÿÿƒà¹¾¿éføÿÿ‰Ñáþùü…¤ƒâ±A¼éàúÿÿkÒD Ɖ7‰ÑÓà‰GÇD$4é«öÿÿ‰Ñáüùøu&ƒâ±Aºé¾öÿÿH9î…ýöÿÿÇD$4éõÿÿ‰Ñáþùüudƒâ±Aºéˆöÿÿ‰Ââðúàuxƒà¾ºé`üÿÿ1ÛHƒÃHH9Õ†¡úÿÿHƒû‡—úÿÿ¶âÀƒÂ€…„úÿÿëÐE1ÀIƒÀJH9Õ†höÿÿIƒø‡^öÿÿB¶âÀƒÂ€…JöÿÿëωÂâøúðuƒà¾ºéØûÿÿ‰Ââüúøuƒà¾ºé¶ûÿÿƒà¾ºé¤ûÿÿAWH‰øI‰×H‰òHƒÀhAVHƒÂ8AUATI‰ÌUSH츋^H‰|$xH‰t$@L‰D$PL‰L$XöÃD‹¬$ðH‰D$`H‰T$hHÇD$Hu"HƒhH‹@(H‰D$HtHÁÈdH3%0H‰D$HE…í…4Hƒ|$P…H‹T$@H‹H‰T$0H‹D$@Hƒ|$XHÇD$pHÇ„$˜L‹pH„$˜HDD$pƒ¼$øH‰D$ptH‹T$@L‹j A‹UöÂ…Qf„I‹H‹L$0A‰ÝAƒå½H‰T$8H‰”$ˆH‰Œ$ëQDHBI9Ä‚pH‹œ$I9Þ†U‹ƒø‡fˆHƒÃH‰œ$Hƒ„$ˆ‰èH‹”$ˆ‰ÅI9Ôu¯H‹œ$L‰âHƒ|$PI‰…~H‹D$@L‹h0M…ít6€I‹}H…ÿtèr­ÿÿI‹}I‰ØH‹L$0I‹H‹t$8AÿUM‹m M…íuÑH‹T$@ƒBöB…”H9\$0sfH‹T$@H‹|$HH‹H‰„$è­ÿÿ‹Œ$øE1ÀÇ$L‹L$XH”$H‹t$hH‹|$`‰L$H‰ÙÿT$HƒøA‰Åt/H9œ$…BD‰í…íu#H‹D$@H‹T$@H‹‹ZH‰D$0éƒþÿÿƒýtá…ít݃ý„Hĸ‰è[]A\A]A^A_ýéßþÿÿ½H‹œ$éÍþÿÿ…ÀˆV©øÿÿ¾Àÿÿÿ¹t9©ÿÿ¾àÿÿÿ±t+©àÿ¾ðÿÿÿ±t‰ÁáüƒùöƒæüƒîƒùHÉHƒÁH< I9þr‰@ˆ3HŒ$‰ÂHƒéÁèƒâ?ƒÊ€ˆWÿHƒïHƒùwäéþÿÿHƒ|$P…<H‹D$0I‹H´$ H‰„$ˆH‰Œ$1ÀƒâH9Ðs~A¶TˆHƒÀA‹Uë僼$ø„ðþÿÿI‹L‰àH)ÐHƒøÅ1ÉI9Ôv+H‹|$@H‰Ð1ɶ0H‹_ HƒÀ@ˆt HƒÁI9ÄI‰wäD‰á)ÑH‹T$@H‹B ƒ ø ½é“þÿÿH‰ÊH)ÂHƒÂI9Ô‚ÚL9t$0½ƒpþÿÿH”$ H‰T$H¶1HƒÁHƒÀH‰Œ$@ˆ2HƒÂI9ÌvHƒøvÛHŒ$ ‹´$ I‰ËH‰Œ$IÃþ‡ÖH‹D$0@ˆ0H‹D$0HƒÀH‰„$ˆH‹”$1íHBH‰ÂH‰„$H;D$tIcUH+D$ƒâH9Ð~UH)ÐH‹Œ$ˆIH‹D$@AƒeøH‰L$0‹XéüÿÿH‹”$IDM‰'I9Ô†ðþÿÿ¶ HƒÂˆH‰”$HƒÀëà¹àÐOº¼¾©ÌO¿@ÍOè.Búÿƒý„™…í…LýÿÿH‹D$@‹Xé°ûÿÿ…öˆî¹ ¸ƒËÿ‰ÚÓâ…òt HƒÀƒÁHƒøuëH‹\$0½HÃI9Þ‚ÿüÿÿ‰ÁºÿÿÿÓúH‹L$0ˆH„$ˆH‰Ù‰òHƒèÁîƒâ?ƒÊ€ˆQÿHƒéHƒøwäH‹D$0@0é¿þÿÿHHI9Ë„L‰ÙH)ÁH‰ÈA‹MH‰ËƒáøƒãH)ØIL‰ØH)ÐHcÙH9ØŽ´HƒøÃD‰Ø)Ð ÈA‰EI9Ó†büÿÿ¶HƒÂAˆEH‰”$IƒÅëÞHƒ|$p„ñH‹T$@L‰íA‰ÝL‹R0L‰ÓH…Û„¶H‹;L‰\$(趨ÿÿH‹L$pL‹\$(H„$ˆH‹SL„$H‹t$@H‰$H‹|$xH‰L$M‰ÙI‹ÿƒøL‹\$(uQH‹[ 롹àÐOºØ¾©ÌO¿hÍOè„@úÿ¹àÐOºÙ¾©ÌO¿ÎÌOèk@úÿ¹àÐOºÎ¾©ÌO¿¹ÌOèR@úÿH‹”$I‰í‰ÅH‰Ðé‰ýÿÿD‰ëI‰í€ãuH‹”$½H‰Ðéiýÿÿ½éBûÿÿH‹T$p½HƒH‹”$HBH‰ÂH‰„$é5ýÿÿ¹ ÏOº¾zÌO¿áÌOèÐ?úÿ¹ ÏOº/¾zÌO¿ŽÌOè·?úÿH‹L$PH‹ H‰L$0éåøÿÿHƒ|$P…oH‹L$@1íH‹A HÇöA…¬úÿÿH‹|$HèC§ÿÿ‹„$øD‰,$E1ÀL‹L$X1É1ÒH‹t$hH‹|$`‰D$ÿT$H‰ÅérúÿÿHƒ|$p„<H‹D$@H‹X0H…Û„ H‹;èí¦ÿÿH‹L$pH„$H‹SM‰áL„$ˆH‹t$@H‰$H‹|$xH‰L$I‹ÿƒø…¦H‹[ ë¬H‹L$XH‹„$˜H‰HéèùÿÿH‹T$@H‹D$8¿L‹”$H‹L$0‹jD‰êI‰M‰ÕH‰„$ˆH‰Œ$€A‰ÒƒåëDHPI9Ô‚H‹´$€I9õ†¾‹ƒûwLˆHƒÆH‰´$€Hƒ„$ˆH‹„$ˆI9Äu·E‰ÕL‰d$8‰øé‘¹ ÏOº ¾zÌO¿ŽÌOè>úÿ…Ûˆ4¹ ºAƒÈÿAÓàA…Øt HƒÂƒÁHƒúuçLM9År7¸ÿÿÿ‰ÑÓøˆH”$€‰ØHƒêÁëƒà?ƒÈ€Aˆ@ÿIƒèHƒúwãéWÿÿÿH‰D$8E‰Õ¸H‹T$8I‰H‹”$H;”$€…zƒø…FH;T$0…cøÿÿH‹L$@D‰íƒiéUøÿÿH‰D$8E‰Õ¸ë®H‹L$PH‰éiøÿÿƒø‰Å…A÷ÿÿH‹”$ˆH‹œ$éF÷ÿÿE…íu$H‹”$ˆ½H‹œ$é'÷ÿÿ½é÷ÿÿH‹T$pHƒ„$ˆ¸HƒéçöÿÿHƒ|$p„¶H‹D$@H‹X0H…ÛtqH‹;D‰T$(è~¤ÿÿH‹L$pH„$€H‹SH‹|$xM‰áL„$ˆH‰$H‹t$@H‰L$I‹ÿƒø‰ÇD‹T$(uH‹[ 먃ø…þÿÿH‹Œ$ˆE‰ÕH‰L$8é±þÿÿ…íu^H‹”$ˆE‰Õ¸H‰T$8é“þÿÿ¹ ÏOºá¾zÌO¿ÍOè<úÿH‰D$8E‰Õ¸éhþÿÿ¹ ÏOºà¾zÌO¿ ÍOèè;úÿH‹L$pHƒ„$ˆ¿Hƒé†ýÿÿfff.„AWH‰øI‰×H‰òHƒÀhAVHƒÂ8AUATI‰ÌUSH츋^H‰|$xH‰t$8L‰D$PL‰L$XöÃD‹¬$ðH‰D$`H‰T$hHÇD$@u'H‹T$`HƒhH‹R(H‰T$@tHÁÊdH3%0H‰T$@E…í…GHƒ|$P…)H‹T$8H‹H‰T$0Hƒ|$XHÇD$pH„$˜HDD$pƒ¼$øH‹T$8HÇ„$˜L‹rH‰D$ptL‹j A‹UöÂ…qf„M‹H‹T$0A‰ÝAƒå½H‹\$0H‰”$ˆL‰ÒL‰”$I9ÔtP€HJI9Ì‚eI9Þ†‹ƒø‡[ˆHƒ„$HƒÃH‹”$‰èH‰œ$ˆ‰ÅI9Ôu·L‰âHƒ|$PI‰…úH‹D$8L‹h0M…ítDL‰t$HA‰îL‰Õ@I‹}H…ÿtèÒ¡ÿÿI‹}I‰ØH‹L$0I‹H‰îAÿUM‹m M…íuÓD‰õL‹t$HH‹T$8ƒBöB…¢H9\$0seH‹T$8H‹|$@H‹H‰„$ˆèw¡ÿÿ‹„$øE1ÀÇ$L‹L$XH‰ÙH”$ˆH‹t$hH‹|$`‰D$ÿT$@ƒøt1H‹”$ˆH9Ú…P‰Å…íu#H‹T$8H‹D$8H‹‹XH‰T$0é~þÿÿƒýtá…ít݃ýf„Hĸ‰è[]A\A]A^A_ýéÐþÿÿÁè=„žHƒ|$p„ˆH‹D$8H‹h0H…í„HH‹\$pë H‹m H…í„$H‹}L‰T$(莠ÿÿH„$ˆH‹UM‰áH‰\$L„$I‹H‰$H‹t$8H‹|$xÿUƒøL‹T$(t«ƒø‰Å„]H‹œ$ˆH‹”$‰Åéþÿÿ½éþÿÿHƒ|$P…H‹D$0I‹H´$ H‰„$H‰Œ$ˆ1ÀƒâH9Ðs~A¶TˆHƒÀA‹Uë僼$ø„×þÿÿI‹L‰àH)ÐHƒø¹1ÉI9Ôv+H‹|$8H‰Ð1ɶ0H‹_ HƒÀ@ˆt HƒÁI9ÄI‰wäD‰á)ÑH‹T$8H‹B ƒ ø ½ézþÿÿH‰ÊH)ÂHƒÂI9Ô‚öL9t$0½ƒWþÿÿH”$ H‰T$H¶1HƒÁHƒÀH‰Œ$ˆ@ˆ2HƒÂI9̇—H”$ I‰ÓH‰”$ˆIË„$ ƒø‡cH‹T$01íˆH‰ÐHƒÀH‰„$H‹„$ˆHƒÀH‰„$ˆH;D$„IcUH+D$ƒâH9ÐŽQH)ÐH‹T$8IH‹„$Aƒeø‹ZH‰D$0é÷ûÿÿHƒø†<ÿÿÿéZÿÿÿH‹”$H‹œ$ˆE…ít!H‹D$pHƒÂH‰”$Hƒ¸‰Åé.üÿÿH‹”$½é$üÿÿ‰èH‰Œ$H‰Ê‰Åéüÿÿ¹@ÏOº/¾zÌO¿ŽÌOè36úÿH‹T$PH‰éüüÿÿH‰H‹T$XH‹„$˜HéÙüÿÿH)ÚHÁâIé¡üÿÿH‹D$PH‹H‰D$0éÒúÿÿHƒ|$P…‰H‹T$81íH‹B HÇöB…›üÿÿH‹|$@è‹ÿÿ‹„$øD‰,$E1ÀL‹L$X1É1ÒH‹t$hH‹|$`‰D$ÿT$@‰Åéaüÿÿ¹ÑOº¼¾©ÌO¿@ÍOèr5úÿƒýt.…í…;üÿÿH‹D$8‹Xé˜úÿÿ¹@ÏOº ¾zÌO¿ŽÌOè?5úÿHPI9Ó„ùA‹ML‰ÚH)ÂH‰ÐH‰ÊƒáøƒâHcÙH)ÐIH‹„$ˆL‰ÚH)ÂH9ÚŽªHƒú‡D‰Ú) ÊA‰UI9Æ´ûÿÿ¶HƒÀAˆUH‰„$ˆIƒÅëÞÁè=„ßHƒ|$p½„|ûÿÿH‹D$8L‰íA‰ÝL‹P0L‰ÓH…Û„–H‹;L‰\$(èNœÿÿH‹D$pL‹\$(L„$ˆH‹SI‹H‹t$8H‹|$xH‰D$H„$M‰ÙH‰$ÿƒøL‹\$(u4H‹[ 롹@ÏOº¾zÌO¿áÌOè4úÿH‹”$H‹œ$ˆéËùÿÿI‰í‰ÅH‹„$ˆéùüÿÿD‰ëI‰í€ãu(H‹„$ˆ½éÜüÿÿH‰Ð1íHƒÀH‰„$ˆéÆüÿÿH‹„$ˆH‹T$p½HƒÀHƒH‰„$ˆéŸüÿÿH‹”$ˆIDM‰'I9Ô†Ôûÿÿ¶ HƒÂˆH‰”$ˆHƒÀëà¹ÑOºÙ¾©ÌO¿ÎÌOèR3úÿ¹ÑOºØ¾©ÌO¿hÍOè93úÿ¹ÑOºÎ¾©ÌO¿¹ÌOè 3úÿAWI‰×H‰òHƒÂ8HGhAVAUATUH‰ÍSHƒìxH‰T$X‹VH‰t$ L‰D$@L‰L$8‹œ$°öÂH‰D$PHÇD$(u'H‹D$PHƒhH‹@(H‰D$(tHÁÈdH3%0H‰D$(…Û…=Hƒ|$@…–H‹\$ L‹3Hƒ|$8HÇD$HHD$hHDD$HH‹\$ HÇD$hL‹kH‰D$HI‹H9èH‰D$„\IFI9Å‚zƒâ…ZHƒ|$H„ìH‹T$L‰óë@HHI9Í‚ÁH‰ÃH‰È¶ „Ɉ,HƒÂ¶ÉH9Õ‰ uÔÇD$4H‰êH‰ÃHƒ|$@I‰…#H‹T$ L‹b0M…ät2I‹|$H…ÿtè™ÿÿI‹|$I‰ØL‰ñI‹H‹t$AÿT$M‹d$ M…äuÏH‹D$ ƒ@ö@…ÝL9ó†H‹T$ H‹|$(H‹H‰D$`è,™ÿÿ‹„$¸E1ÀH‰ÙÇ$L‹L$8HT$`H‹t$XH‹|$P‰D$ÿT$(ƒø‰Á„¹H‹D$`H9Ø…‰…É…žH‹D$ L‹0‹PI‹H9èH‰D$…§þÿÿH‰êL‰óÇD$4éþþÿÿ@Hƒ|$H„ÅH‹L$L‰öÇD$4HƒÁë*fD¶Ò‰H‰ÊH9Í„»þÿÿHXHƒÁI9ÝrHH‰ÆH‰Ø¶Qÿ„ÒyÔH‹\$HH‰ÊH‰ðÇD$4HƒëÃ|$4„Rÿÿÿ‹D$4HƒÄx[]A\A]A^A_ÃH‰ÃÇD$4é\þÿÿH‹T$L‰óëHHI9ÍrÝH‰ÃH‰È¶ „ÉxLHƒÂ¶ÉH9Õ‰ uÜéþÿÿH‹T$L‰óëDHHI9Ír¤H‰ÃH‰È¶ „ÉxHƒÂ¶ÉH9Õ‰ uÛéâýÿÿÇD$4éãýÿÿH‹T$L‰óÇD$4éÎýÿÿH‹D$@H‰éBÿÿÿH‹T$8H‰H‹D$hHé-ÿÿÿH)ÃH‰Ø»H‰ÂHÁú?H÷ûI)éZþÿÿ‰L$4éÿÿÿHƒ|$@ujH‹T$ H‹B HÇöBÇD$4…ÝþÿÿH‹|$(è—ÿÿ‹„$¸‰$E1ÀL‹L$81É1ÒH‹t$XH‹|$P‰D$ÿT$(‰D$4é¢þÿÿH‹D$@L‹0éeüÿÿ¹€ÏOº ¾zÌO¿ŽÌOèÙ.úÿf„AWHGhI‰÷AVI‰ÖHV8AUATUSHƒìxH‰T$X‹VH‰L$L‰D$8L‰L$@‹œ$°öÂH‰D$PHÇD$(u"HƒhH‹@(H‰D$(tHÁÈdH3%0H‰D$(…Û…Hƒ|$8…jM‹/I‹GHƒ|$@HÇD$HHÇD$hH‰D$0HD$hHDD$Hƒ¼$¸H‰D$HtoI‹G ‹8@öÇtcHƒ|$8…PH‰ûI‹ƒãHtHƒû†õ€x€‡¶PAˆU¶PAˆU¶PAˆU¶PAˆUIƒÅƒ øA‹Wf.„M‹&H‹D$0L‰ëH‹L$L)èL)áH9ÈHOÁHpH…ÀHIðL‰àHÁþH…öt9ƒâ…CHƒ|$H„A1ÒD‹…ɈHƒÂ‰ HƒÀHƒÃH9ÖwãH9D$I‰ÆD$'ÇD$ t4HƒÀH9D$ÆD$'ÇD$ rHCH9D$0ƒgÆD$'ÇD$ Hƒ|$8…gI‹o0H…ít-H‹}H…ÿtè’”ÿÿH‹}I‰ØL‰éI‹L‰æÿUH‹m H…íuÖAƒGAöG….L9놴I‹H‹|$(H‰D$`èK”ÿÿ‹„$¸E1ÀÇ$L‹L$@H‰ÙHT$`H‹t$XH‹|$P‰D$ÿT$(ƒøtfH‹T$`H9Ó…å…À…‰M‹/A‹Wé„þÿÿ@Hƒ|$H„·L‰ë1À€A‹„…ÒˆG‰HƒÃHƒÀH9ÆwåI´é±þÿÿ@ƒ|$ t©€|$'tbƒ¼$¸tXI‹H‹D$H)ÐHƒøÝ1ÉH9T$v)H‰Ð1ɶ0I‹_ HƒÀ@ˆt HƒÁH9D$I‰wâ‹L$)ÑI‹G ÇD$ ƒ ø ‹D$ HƒÄx[]A\A]A^A_ÃL‰à1ÒL‰ë‹…Éx$€HƒÂ‰ HƒÀHƒÃH9Ö†þýÿÿ‹…ÉyãL‰ëÆD$'ÇD$ é.þÿÿL‰ëL‰à1ÒfD‹…Éx×HƒÂ‰ HƒÀHƒÃH9Öwçé·ýÿÿH9L$wƒçøÇD$  ߉8é_ÿÿÿ¶)HƒÁHƒÃ@ˆ.I‰HƒÆéÌüÿÿH‹T$HHƒé±þÿÿ¹ÀÏOº/¾zÌO¿ŽÌOèŽ*úÿ¹ ÑOº¾ÍO¿*ÍOèu*úÿH‹D$8H‰éøþÿÿH‹T$@H‹D$hI‰HézþÿÿH)ÚIéþÿÿHƒ|$8…¦I‹G HÇAöGÇD$ …®þÿÿH‹|$(èä‘ÿÿ‹”$¸‰$E1ÀL‹L$@1ÉH‹t$XH‹|$P‰T$1ÒÿT$(‰D$ ésþÿÿH‹D$8L‹(éŒûÿÿ¹ÀÏOº¾zÌO¿áÌOè½)úÿ€âÇD$ „<þÿÿéöûÿÿƒø‰D$ ”D$'é½ýÿÿ¹ÀÏOº ¾zÌO¿ŽÌOè})úÿffff.„AWH‰øI‰×H‰òHƒÀhAVHƒÂ8AUATI‰ÌUSH쨋^H‰|$hH‰t$0L‰D$@L‰L$HöÃD‹¬$àH‰D$PH‰T$XHÇD$8u'H‹T$PHƒhH‹R(H‰T$8tHÁÊdH3%0H‰T$8E…í…0Hƒ|$@…‚H‹T$0H‹H‰T$ Hƒ|$HHÇD$`H„$ˆHDD$`ƒ¼$èH‹T$0HÇ„$ˆL‹rH‰D$`tL‹j A‹UöÂ……f„I‹H‹D$ A‰ÝAƒå½I9ÔH‰T$(H‰”$€H‰D$xH‰Ãt^fHrI9ô‚xHKI9΂ ‹=ÿÿ‡h¸(ÿÿÿÿ†1fÁÈf‰‰èH‰L$xH‰´$€H‰ËH‰ò‰ÅI9Ôu¤L‰âHƒ|$@I‰…§H‹T$0L‹j0M…ít3@I‹}H…ÿtè‚ÿÿI‹}I‰ØH‹L$ I‹H‹t$(AÿUM‹m M…íuÑH‹D$0ƒ@ö@…¤H9\$ s\H‹T$0H‹|$8H‹H‰D$xè0ÿÿ‹„$èE1ÀÇ$L‹L$HH‰ÙHT$xH‹t$XH‹|$P‰D$ÿT$8ƒøt.H‹T$xH9Ú…[‰Å…íu#H‹T$0H‹D$0H‹‹XH‰T$ éþÿÿƒýtá…ít݃ý„<HĨ‰è[]A\A]A^A_ÃHƒ|$`t E…í…´½éÚþÿÿ½éÐþÿÿÁè=„ŠHƒ|$`tÖH‹D$0H‹h0H…í„JH‹\$`ë H‹m H…í„)H‹}è<ŽÿÿHD$xH‹UM‰áH‰\$L„$€I‹H‰$H‹t$0H‹|$hÿUƒøt¸ƒø‰Å„)H‹\$xH‹”$€‰Åé2þÿÿ½é0þÿÿH‹T$`‰èH‰´$€‰ÅHƒH‰òé þÿÿHƒ|$@…õH‹D$ I‹H´$H‰„$€H‰L$x1ÀƒâH9Ðs~A¶TˆHƒÀA‹Uë僼$è„¶þÿÿI‹L‰àH)ÐHƒøn1ÉI9Ôv+H‹|$0H‰Ð1ɶ0H‹_ HƒÀ@ˆt HƒÁI9ÄI‰wäD‰á)ÑH‹T$0H‹B ƒ ø ½éYþÿÿH‰ÊH)ÂHƒÂI9Ô‚¾H‹t$ ½HƒÆI9ö‚/þÿÿL”$I¶9HƒÁHƒÀH‰L$x@ˆ:HƒÂI9̇’IL‰T$xH‰D$(‹„$=ÿÿ‡Ú(ÿÿúÿ†ÐH‹T$ H‰´$€fÁÈf‰IB1íH‰D$xL9ЄŽIcUL)ЃâH9ÐŽbH)ÐH‹T$0IH‹„$€Aƒeø‹ZH‰D$ éëûÿÿHƒø†Dÿÿÿé_ÿÿÿH‹”$€H‹\$xE…ít5H‹D$`HƒÂH‰”$€Hƒ¸‰Åé0üÿÿ‰èH‰´$€H‰ò‰ÅéüÿÿH‹”$€½éüÿÿ¹ÀÍOº/¾zÌO¿ŽÌOèÚ#úÿH‹T$HH‰H‹„$ˆHéÎüÿÿH)ÚHÒIé—üÿÿHƒ|$@uhH‹T$01íH‹B HÇöB…¦üÿÿH‹|$8èV‹ÿÿ‹„$èD‰,$E1ÀL‹L$H1É1ÒH‹t$XH‹|$P‰D$ÿT$8‰ÅélüÿÿH‹D$@H‹H‰D$ éyúÿÿ¹ÀÍOº ¾zÌO¿ŽÌOè+#úÿH‹D$@H‰é4üÿÿ¹ÎOº¼¾©ÌO¿@ÍOè#úÿƒýtC…í…üÿÿH‹D$0‹Xé{úÿÿHƒ|$`„—€ã„ŽH‹T$`IB1íH‰D$xHƒé!þÿÿHPH9T$(„¢H‹T$(A‹MH)ÂH‰ÐH‰ÊƒáøƒâHcÙH)ÐH‹T$(IH‹D$xH)ÂH9Ú~VHƒú7‹T$() ÊA‰UH9D$(†tûÿÿ¶HƒÀAˆUH‰D$xIƒÅëß½éTûÿÿ¹ÎOºÙ¾©ÌO¿ÎÌOè%"úÿ¹ÎOºØ¾©ÌO¿hÍOè "úÿ¹ÎOºÎ¾©ÌO¿¹ÌOèó!úÿÁè=„>ýÿÿHƒ|$`t•H‹T$0L‰íA‰ÝL‹Z0L‰ÛH…Û„‰H‹;L‰T$è…‰ÿÿH‹D$`H‹SLD$xL‹L$(I‹H‹t$0H‹|$hH‰D$H„$€H‰$ÿƒøL‹T$u0H‹[ ë§H‹T$xIDM‰'I9Ô†üÿÿ¶ HƒÂˆH‰T$xHƒÀëãI‰í‰ÅH‹D$xéüÿÿD‰ëI‰í€ãu:H‹D$x½éƒüÿÿ¹ÀÍOº¾zÌO¿áÌOè!úÿH‹”$€H‹\$xéùÿÿH‹D$xH‹T$`½HƒÀHƒH‰D$xé7üÿÿAWHGhI‰×H‰òAVHƒÂ8AUATUH‰ÍSHìˆH‰D$P‹FH‰t$ L‰D$@L‰L$H‹œ$À¨H‰T$XHÇD$(u'H‹T$PHƒhH‹R(H‰T$(tHÁÊdH3%0H‰T$(…Û…˜Hƒ|$@…ñH‹T$ L‹2H‹T$ Hƒ|$HHÇD$8HÇD$hL‹jHT$hHDT$8ƒ¼$ÈH‰T$8tH‹\$ H‹s ‹öÃ…ïI‹H9ÝH‰\$„ŒH‰ÞHƒÆH9õ‚÷IVI9ՂШ„ÃHƒ|$8„ôH‰ðL‰óH‹t$ë*f.„HHH9Í‚RHSI9Õ‚±H‰ÆH‰È·fÁɱ(fþÿ†ñ·É‰ H‰ÓH9Åu»ÆD$7ÇD$0Hƒ|$@I‰…H‹T$ L‹b0M…ät2I‹|$H…ÿtèá†ÿÿI‹|$I‰ØL‰ñI‹H‹t$AÿT$M‹d$ M…äuÏH‹D$ ƒ@ö@…®I9Þƒ^H‹T$ H‹|$(H‹H‰D$`茆ÿÿ‹„$ÈE1ÀH‰ÙÇ$L‹L$HHT$`H‹t$XH‹|$P‰D$ÿT$(ƒø‰Á„H‹D$`H9Ø…Z…É…oI‹H‹D$ H9ÝL‹0H‰\$‹@…wþÿÿL‰óH‰èÆD$7ÇD$0éùþÿÿH‰ÓH‰ðHƒ|$@ÆD$7ÇD$0I‰„æþÿÿH‹D$@H‰‹D$0HĈ[]A\A]A^A_ÀHƒ|$8„&L‰óH‹D$ë,f.„HNH9ÍrHBI9Å‚ïH‰ÓH‰ÂH‰ðH‰Î·fÁɹ(fÿÿ†=·ÉH9õ‰ u¼H‰ÓH‰ðé6þÿÿƒ|$0„ ÿÿÿ€|$7„]ÿÿÿƒ¼$È„OÿÿÿI‹H‰èH)ÐHƒø1ÉH9Õv*H‹|$ H‰Ð1ɶ0H‹_ HƒÀ@ˆt HƒÁH9ÅI‰wä‰é)ÑH‹\$ H‹C ƒ ø ÇD$0éðþÿÿHƒ|$@…ªI‹H|$p1ÒƒãH9Úƒ„¶\ˆHƒÂ‹ëäH‰ÓH‰ðÆD$7ÇD$0éuýÿÿL‰óH‹D$ë+f„HNH9Í‚\þÿÿHBI9År¿H‰ÓH‰ÂH‰ðH‰Î·fÁɹ(fÿÿ† ·ÉH9õ‰ u¼éËþÿÿH‰ËH)ÓHƒÃH9Ý‚dI~ÇD$0I9ý‚"þÿÿH\pD¶HƒÁHƒÂDˆHƒÃH9ÍvHƒúvâ·T$pfÁÊŠ(fùÿ†ø·ÒA‰I‰þHcƒàHƒøÆºƒ&øH)ÂIH‹T$ ‹BéÒûÿÿL‰óH‹D$ë*@HNH9Í‚lýÿÿHBI9Å‚ËþÿÿH‰ÓH‰ÂH‰ðH‰Î·fÁɹ(fÿÿv·ÉH9õ‰ u¼éÛýÿÿH‹T$8Hƒé üÿÿÆD$7ÇD$0é üÿÿ¹@ÎOº/¾zÌO¿ŽÌOè.úÿH‹T$HH‰H‹D$hHé¤ýÿÿH)ÃH‰Ø»H‰ÂHÁú?H÷ûI)é‰üÿÿƒù‰L$0”D$7évýÿÿL‰óH‹D$ÆD$7ÇD$0é“ûÿÿL‰óH‹D$ÆD$7ÇD$0éyûÿÿHƒ|$@ujH‹T$ H‹B HÇöBÇD$0…€üÿÿH‹|$(èS‚ÿÿ‹„$ȉ$E1ÀL‹L$H1É1ÒH‹t$XH‹|$P‰D$ÿT$(‰D$0éEüÿÿH‹\$@L‹3é úÿÿ¹@ÎOº ¾zÌO¿ŽÌOè,úÿ¹@ÎOº¾zÌO¿áÌOèúÿ¹€ÎOº¼¾©ÌO¿@ÍOèúúÿHƒ|$8t2¨t.H‹D$8Hƒé÷ýÿÿHDI‰/H9͆Åüÿÿ¶HƒÁˆHƒÀëèÇD$0é¦ûÿÿAWHGhI‰÷AVI‰ÖHV8AUATUSHìˆH‰D$`‹FH‰L$8L‰D$HL‰L$P‹œ$À¨H‰T$hHÇD$@u'H‹T$`HƒhH‹R(H‰T$@tHÁÊdH3%0H‰T$@…Û…ôHƒ|$H…IM‹/I‹WHƒ|$PHÇD$XHÇD$xH‰T$0HT$xHDT$Xƒ¼$ÈH‰T$XtI‹W ‹2@öÆ…œ„M‹&H‹T$0L‰ëH‹L$8L)êL)áH9ÊHOÑHrH…ÒHIòL‰âHÁþH…öt;¨…4Hƒ|$X„1ÉfD‹È…ÀˆnHƒÁ‰HƒÂHƒÃH9ÎwáH9T$8I‰ÆD$ ÇD$t#HCH9D$0ÒƒÂH9D$0ˆT$ ÀƒàþƒÀ‰D$Hƒ|$H…£I‹o0H…ít,fH‹}H…ÿtèÒÿÿH‹}I‰ØL‰éI‹L‰æÿUH‹m H…íuÖAƒGAöG…xL9놴I‹H‹|$@H‰D$pè‹ÿÿ‹„$ÈE1ÀÇ$L‹L$PH‰ÙHT$pH‹t$hH‹|$`‰D$ÿT$@ƒøtfH‹T$pH9Ó…/…À…çM‹/A‹Gé”þÿÿ@Hƒ|$X„ºL‰ë1Ò€A‹”È…Àˆµ‰HƒÃHƒÂH9ÖwãI´éÁþÿÿfƒ|$t©€|$ tbƒ¼$ÈtXI‹H‹D$8H)ÐHƒø<1ÉH9T$8v)H‰Ð1ɶ0I‹_ HƒÀ@ˆt HƒÁH9D$8I‰wâ‹L$8)ÑI‹G ÇD$ƒ ø ‹D$HĈ[]A\A]A^A_ÃL‰ëL‰â1Éf‹È…ÀˆæHƒÁ‰HƒÂHƒÃH9Îwáé þÿÿL‰ëL‰â1É@‹È…Àˆ¶HƒÁ‰HƒÂHƒÃH9ÎwáéÛýÿÿHƒ|$H…¹H‰óI‹ƒãH9L$8wiHƒûw)ƒæøÇD$ Þ‰2éVÿÿÿI‰ÆD$ ÇD$éÊýÿÿ€z€‡|¶BAˆE¶BAˆE¶BAˆE¶BAˆEIƒÅƒ"øA‹GéçüÿÿHƒûwÀH|¶)HƒÃHƒÁ@ˆ/HƒÇHƒûI‰w H9L$8wÞéeÿÿÿH‹D$XHƒéCþÿÿ¹@ÐOº/¾zÌO¿ŽÌOè^úÿH‹T$PH‹D$xI‰Hé0þÿÿH)ÚIéÆýÿÿHƒ|$HufI‹G HÇAöGÇD$…hþÿÿH‹|$@èÞ|ÿÿ‹„$ȉ$E1ÀL‹L$P1É1ÒH‹t$hH‹|$`‰D$ÿT$@‰D$é-þÿÿH‹T$HL‹*é­ûÿÿ¹@ÐOº ¾zÌO¿ŽÌOè·úÿ¹@ÐOº¾zÌO¿áÌOèžúÿL‰ëÆD$ ÇD$ébüÿÿƒø‰D$”D$ é_ýÿÿH‹T$HH‰é»ýÿÿ¨… þÿÿƒæÇD$H)ÞHñI‰éšýÿÿf.„AWHGhI‰÷AVI‰ÖHV8AUATUSHìˆöFH‰L$@L‰D$PL‰L$h‹œ$ÀH‰D$XH‰T$`HÇD$Hu"HƒhH‹@(H‰D$HtHÁÈdH3%0H‰D$H…Û…¾Hƒ|$P…¥I‹/I‹WH‰T$8‹”$È…Òt}I‹O ‹1@öÆtqHƒ|$P…6H‰ðI‹ƒàH9T$@†=Hƒøw$H\¶:HƒÀHƒÂ@ˆ;HƒÃHƒøI‰†¶AˆE¶AˆE¶AˆE¶AˆEƒ!øHƒÅ@M‹&H‹D$8I‰íH‹T$@H)èL)âH9ÐHOÂHHH…ÀHIÈ1ÒL‰àHÁùH…Ét&fA‹”ȉD•HƒÂH9ÑwíL,K,Nl-H9D$@I‰ÆD$ ÇD$t#IEH9D$8ÒƒÂH9D$8ˆT$ ÀƒàþƒÀ‰D$Hƒ|$P…eI‹_0H…Ût/DH‹{H…ÿtè:zÿÿH‹{M‰èH‰éI‹L‰æÿSH‹[ H…ÛuÖAƒGAöG…ßL9íspI‹H‹|$HH‰D$xè÷yÿÿ‹„$ÈE1ÀÇ$L‹L$hL‰éHT$xH‹t$`H‹|$X‰D$ÿT$Hƒøt"H‹T$xL9ê…z…Àf…_I‹/éªþÿÿfƒ|$tï€|$ te‹„$È…ÀtZI‹6H‹D$@H)ðHƒøõ1Ò1ÉH9t$@H‰ðv&H‹|$@¶I‹O HƒÀˆ\HƒÂH9ÇI‰wå‹L$@)ñI‹G ÇD$ƒ ø ‹D$HĈ[]A\A]A^A_ÃH9T$@‡ÎýÿÿHƒø‡ãýÿÿƒæøÇD$ Ɖ1ëÄH‹T$PL‰*ëºH‹D$PH‹(éQýÿÿHƒ|$PunI‹G HÇAöGÇD$u‹H‹|$Hè®xÿÿ‹”$ȉ$E1ÀL‹L$h1ÉH‹t$`H‹|$X‰T$1ÒÿT$H‰D$éPÿÿÿ¹`ÐOº¾zÌO¿áÌOè”úÿ¹`ÐOº ¾zÌO¿ŽÌOè{úÿƒø‰D$”D$ é¡þÿÿL)êIé{þÿÿM‰/éŽþÿÿ¹`ÐOº/¾zÌO¿ŽÌOè>úÿfffff.„AWHGhI‰÷AVAUATUSH‰ÓHV8HìˆöFH‰L$@L‰D$PL‰L$h‹¬$ÀH‰D$XH‰T$`HÇD$Hu"HƒhH‹@(H‰D$HtHÁÈdH3%0H‰D$H…í…¦Hƒ|$P…M‹/‹´$ÈI‹W…öH‰T$8tI‹O ‹9@öÇ…ÊDL‹#H‹D$8L‰ïH‹T$@L)èL‰æL)âH9ÐHOÂHPH…ÀHIÐHƒâüIH‰èåÄüÿI‰ÆH‹D$@H;ÆD$ ÇD$t#IFH9D$8ÒƒÂH9D$8ˆT$ ÀƒàþƒÀ‰D$Hƒ|$P…ÐI‹o0H…ít-H‹}H…ÿtè²vÿÿH‹}M‰ðL‰éH‹L‰æÿUH‹m H…íuÖAƒGAöG…SM9õssI‹H‹|$HH‰D$xèovÿÿ‹„$ÈE1ÀÇ$L‹L$hL‰ñHT$xH‹t$`H‹|$X‰D$ÿT$Hƒøt"H‹T$xL9ò…î…À…ÕM‹/éËþÿÿƒ|$tê€|$ tf‹Œ$È…Ét[H‹;H‹D$@H)øHƒøf1Ò1ÉH9|$@H‰øv'H‹l$@¶0I‹O HƒÀ@ˆtHƒÂH9ÅH‰wä‹L$@)ùI‹G ÇD$ƒ ø ‹D$HĈ[]A\A]A^A_ÃHƒ|$P…TH‰øH‹ƒàH9T$@vYHƒøw Ht¶*HƒÀHƒÂ@ˆ.HƒÆHƒøH‰v,¶AAˆE¶AAˆE¶AAˆE¶AAˆEIƒÅƒ!øéÍýÿÿH9T$@w²HƒøwǃçøÇD$ lj9é[ÿÿÿH‹T$PL‰2éNÿÿÿH‹D$PL‹(éiýÿÿHƒ|$PurI‹G HÇAöGÇD$…ÿÿÿH‹|$Hè²tÿÿ‹”$ȉ,$E1ÀL‹L$h1ÉH‹t$`H‹|$X‰T$1ÒÿT$H‰D$éàþÿÿ¹ÐOº¾zÌO¿áÌOè˜ úÿ¹ÐOº ¾zÌO¿ŽÌOè úÿƒø‰D$”D$ é0þÿÿL)òHéþÿÿM‰7éþÿÿ¹ÐOº/¾zÌO¿ŽÌOèB úÿSH‰ûH‹@¾€èNwÿÿH‰ÇH‰CH¸H…ÿt6¾:ÑOè3vÿÿH…ÀtHSHsH‹;ÿÐ…ÀtH‹{Hè¤uÿÿHÇCH¸[ÃDH‹{H¾NÑOèòuÿÿH…ÀH‰C tÌH‹{H¾ZÑOèÛuÿÿH‹{HH‰C0¾:ÑOèÉuÿÿH‹{HH‰C(¾kÑOè·uÿÿÇCPH‰C81À[ÄH‰\$ØH‰l$àH‰ûL‰d$èL‰l$ðL‰t$øHƒì(Hƒ?„€¾1Àƒ=èj(tð±5®a(…Þë ±5Ÿa(…ϺºJ¾sH‰ßè—òþÿH…ÀI‰ÄtwH‹8H‹GHH…Àt`1íHƒøÿtKƒ=”j(tðÿ [a(…ªë ÿ Ma(…œ‰èH‹$H‹l$L‹d$L‹l$L‹t$ HƒÄ(Äèkþÿÿ…À„s½ë¡@H‹;Dè›üÿHƒ=;l(Hh„™HƒýA½v"HuüH3¿rÆO¹ó¦—Â’ÀE1í8ÂA•ÅH‹ôk(H|h[èZoüÿH…ÀI‰Ät1À¹ L‰çóH«I|$XH‰êI‰<$H‹3豿üÿL‹5Âk(I‰D$@H‰ÇI‹6H…ö„®E…ítëx€IƒÆI‹6H…ö„I‹|$@L‹+èËÃüÿH‰êH‰ÇL‰îèÅüÿL‰çèuýÿÿ…ÀuÉ1íººJ¾sL‰çèöþÿH…À…™þÿÿéìþÿÿ€IƒÆI‹6H…öt4I‹|$@L‹+èoÃüÿH‰êH‰ÇL‰îè¿üÿL‰çÇ.soèýÿÿ…ÀuÇëœDIÇD$@½ë‰„I‹$H‹ƒ@PH‰H‹PH‰SH‹PH‰SH‹PH‰SH‹P H‰S H‹P(H‰S(H‹P0H‰S0H‹P8H‰S8éêýÿÿDè‹—ÿÿé]þÿÿ¹°ÑOºJ¾{ÑO¿‰ÑOè½úÿffff.„H‹6H‹?éE—üÿDAWAVM‰ÎAUATUSHì¨Hƒ?I‹H‹W(H‰|$(H‰t$8L‰D$PH‰D$0H‰T$@tHÁÊdH3%0H‰T$@HÇÁÿÿÿdH‹H‹‹‘(H…Ò„'H‹0E1ÛH‰D$HH‹@L‹©8H‰D$`H‹D$0H‹‰HH‰T$ HƒÀI9ÆH‰L$X‚fL‹|$ H‹T$H1íMßIÑïB‹ º‰ÈA‹T…H‹D$0fD9H‰Ãu9ƒÅT Md•A‹$…Òt=HƒÀI9ÆwܸHĨ[]A\A]A^A_ÃDL …íMd„2…ÒuÏH‹L$`L‰¬$€L‰´$ˆL‹¬$àL‹t$@L‰d$hF‹¹H‹L$XL‰|$pL‰\$xA‰ïD‰ÐD‰ÕI‰Ì‹€H<…1Û…ÒH‰ùt$H …I ëH‰ñ‹HƒÃHƒÀHq…ÒuëI<H‹D$0H‹©XHƒÀI9ƃŠL9t$0…4þÿÿ¸é/þÿÿfDM_@닸éþÿÿH‹D$PH‹™hL‹H‹D$0HƒÀA‹(I9Ær±1ö…ÿ)ë†;kw‰ê)‰Ð1Ò÷s…Ò„ûƒÆ9÷ŽcÿÿÿHƒÃ ‹9Å‚UÿÿÿëÍH‹”$àH‰¬$˜‰ÛH‹|$@H‹H‰„$èmÿÿE1ÉHLH”$˜ÇD$Ç$L„$H‹t$8H‹|$(ÿT$@ƒø„6ÿÿÿƒøt]H‹”$H‹Œ$àH‰é8ýÿÿƒøt!ƒø„*ýÿÿH‹”$˜H‹Œ$àH‰éýÿÿH‹T$PH‹Œ$èIcÇHÁàHƒH1ÀëÉH‹D$PH‹Œ$èHƒHƒ1ÀëŠH‹„$èH‹L$PIƒÀHƒL‰1Àé»üÿÿH=ÃZ(Hì€è÷ ÿÿHÄ€éùÿÿH=¤Z(Hì€è ÿÿHÄ€éEùÿÿH‹Z(ÄHƒ=pZ(téQZüÿóÃfffff.„UH‰åH‰]ØL‰eàH‰ÓL‰mèL‰uðI‰õL‰}øHƒì@I‰ÿèÆ–üÿL‰ïH‰EÈ躖üÿH‹UÈLpL‰þIDHƒàðH)ÄLd$IƒäðL‰çè"¹üÿL‰òL‰îH‰ÇèT¿üÿL‰çèŒ H‰ÂH‰¸H…ÒtlH‹BL‹b HÇCHÇC0HÇC`H‰C(H‹B(L‰c8H‰C@1ÀM…ät5IÁÌdL3$%0L‰çèàjÿÿH‰ßAÿÔH‹S0H…ÒtdH3%0HÁÂH‰S0H‹]ØL‹eàL‹mèL‹uðL‹}øÉÃf.„H‰\$ðH‰l$ø¿ÆÑOHì¨èeZúÿH…ÀH‰Sd(t¸ÿÿÿÿH‹œ$˜H‹¬$ HĨÃ1Ò1ö¿ØÑOèÇþÿƒøÿ‰ÃtÎH‰â‰Æ¿èˆÅþÿ…ÀˆµH‹t$0Hƒþ†¦E1É1ÿA‰Ø¹ºH‰5¸X(è3éþÿHƒøÿH‰ X(„´Hcû¸H‹=‰X(?$ up·WH‹~X(H9Âs`·WH9ÐvW·Of…ÉtN·ÉHŠH9ÐrB·W H9Ðv9·W H9Ðr01ÀéÿÿÿH‹=3X(èXüÿHÇ#X(Hcû¸ƒÈÿéõþÿÿƒ=X(tsèëWüÿÇ X(HÇîW(ƒÈÿéÊþÿÿH‹=çW(è‚füÿH…ÀH‰ÐW(t«H‹ÏW(1íH4(H)ê‰ßè¯ÆþÿHƒøÿ„sÿÿÿH‹®W(HÅH9ÕsH‹—W(ëÐH‹5–W(è1èþÿëŽÇW(éÞþÿÿAWAVAUATUSH‰óHƒìxH‹`W(H‰|$0H‰T$XH‰L$HD‰D$TH‰D$(Hƒ|$(¸„~H‹T$(H‰÷·J D·rD·jIÖf‰L$fIÕè8MúÿH‹t$(1Ò‰ÁL‰t$H‰\$ M‰îD·fA÷ôE|$þ‰ÈH‹ ìV(D‰d$H‰L$@‰Õ1ÒA÷÷·F)ÁDz‰L$H‰E€?„žA·uH‰êI46èùúÿÿ…À…¥H‹L$HH‹HƒÀH‰H…Û„O‰ÃH˜A·|$H@HI<>HTÅA·$HÇBëÅOÇBHÇB`IH‰B €?„A·D$IÆL‰öè€úÿÿ…ÀA‰Ä…>H‹t$H1ÀHƒf.„HƒÄx[]A\A]A^A_ÃH‹t$(A·L$L‹t$·F HTIH‰L$ HH;D$@vHƒÄx¸[]A\A]A^A_ÃL‹=aT(H‹|$0A·GE·gIO$'H‰D$èhJúÿA·o1Ò‰ÁL‰t$h÷õ‰È‰l$‰ÓUþ‰Ö1Ò÷öH‹ T(H‰D$@A·GDj‹T$@)‰T$<‰ÕF4+f‰ØM<„A·7f…ö„fÿÿÿ·Æ9Åv·öHt$H‹|$0èô‹üÿ…À„^ýÿÿEîDëD‰ðD)è;D$rº+\$‹l$<ëªA·<$H‹T$H·ÀH‰Hkÿhè7büÿH‹t$XH…ÀH‰ÁH‰„ÍA·EE1ÀH‰\$I‰ÏD‰ÃH‰L$(IH‰D$HcÃH‹t$AÇGHkÀIÇG`I‰wB·T B·| HkÒ I<>·*IH‰T$I‰W €?„üB·t L‰úI46è¢øÿÿ…À…ùA·$ƒÃIƒÇh9Ã|ˆ1Àé#þÿÿA·|$H‰ÖI<>èa•ÿÿé÷ýÿÿA·}H‰îI<>èK•ÿÿéeýÿÿ¸éìýÿÿH‰ï‰D$è€Rüÿ‹D$é×ýÿÿ…ÛtH‰ïèKuÿÿH‰ïècRüÿD‰àé»ýÿÿƒÈÿH9\$ …1üÿÿé¨ýÿÿH‹L$(·À·Q LdÿL%HR(A·$f…À„6üÿÿ·ÐƒêHcÒHkÒB·T"H9Ú„vþÿÿ·ÀH@MdDëÈB·| L‰þI<>è–”ÿÿéÿÿÿH‹L$(H‹\$H‰ÏèÏQüÿéÞûÿÿf.„AW¸ÿÿÿÿAVAUATI‰üUSHƒì8H‹ »Q(H‰t$H‰T$ H…É„¶D·qD·iH‰ $N41N,)èµGúÿH‹ $1҉Ʒi÷õD}þ‰ð‰Ó1ÒA÷÷·ADzH‹kQ()‰T$A‰ØIL…·1f…ötA·Æ9D$v#·öL‰ç‰T$I46H‰ $èQ‰üÿ…À‹T$H‹ $t=DúDû‰ÐD)ø9Åw¶)ëë­fH‹t$L‰çè#‰üÿH‹T$ ‰1ÀHƒÄ8[]A\A]A^A_÷IH‹|$f‰L$.H‹ ËP(D·qD·iH‰ $N41N,)èØFúÿH‹ $1҉Ʒi÷õD}þ‰ð‰Ó1ÒA÷÷·ADzH‹ŽP()‰T$B;@‰ØIL…·1f…ö„]ÿÿÿ·Æ9D$v%·öH‹|$‰T$I46H‰ $èkˆüÿ…À‹T$H‹ $tDúDû‰ÐD)ø9Åw°)ëë¤@·Q·D$.)ÐH‹T$ ‰HƒÄ81À[]A\A]A^A_ÃH‰=P(H‹=P(¾PÉJéèáþÿ„ƒþSH‹t…öu;H;äO(t:‹CPƒúw'ƒèƒøý‰CuH‹{H…ÿtèÖbÿÿHÇCfD[ÃfD‹C…À~ƒè‰C[ùPÒOº¯¾ýÑO¿ÒOèèøùÿ„Uº ËJ¾@sSHƒìH‰|$H|$èAàþÿH…À„H‹H…Û„¿‹CƒøþÀHƒ{…aH‹;¾€è¨cÿÿH…ÀH‰C„˾ÄOH‰ÇèŽbÿÿH…ÀH‰C„¢H‹{¾6ÒOèsbÿÿH‹{H‰C ¾AÒOèabÿÿH‰C(H‹CdH3%0HÁÀH‰CH‹C H…ÀtdH3%0HÁÀH‰C H‹C(H…ÀtdH3%0HÁÀH‰C(ÇCH‰ØHƒÄ[]ÃHƒ{tìH…ÀºH‰ØOщSHƒÄ[]ÃH‰ßè7þÿÿ€1ÛHƒÄH‰Ø[]Ã@H‹|$覊üÿHx1Hhè©\üÿH…ÀH‰Ãt”H‹t$Hx0H‰êèP³üÿÇCýÿÿÿH‰º ËJHÇC¾@sH‰ßèLäþÿH…À…—þÿÿH‰ß1Ûè™MüÿéGÿÿÿ¹pÒOºu¾ýÑO¿ÒOè÷ùÿff.„H‹6H‹?饅üÿAWI‰÷AVAUATUSHƒì(ƒÿ‰|$„šA¾E1í»1íëdIcÕH‹Õ`ÝrH‰D$H‰ÇH‰$èĉüÿH‹$I‰Ä¶‚6ÓOHlLåE…í~…ÛtI‹7H‹|$è(…üÿ…À¸EØAƒþ °AƒÅAƒÆAƒýtòD9l$uI‹HcT$H‰D$H‰ÇëDH‰òA¾E1í»1íëAƒÅAƒÆHƒÂAƒýtîH‹ H‰$H‰ÏH‰L$è‰üÿI‰ÄIcÅH‹$¶€6ÓOH‹L$HlLåE…í~…ÛtI‹7H‰Ïèx„üÿH‹$…À¸EØAƒþ ~”…ÛtpI‹¾e£NH‰ßèP„üÿ…Àt¾¡8OH‰ßè?„üÿ…Àu»e£NHƒÄ(H‰Ø[]A\A]A^A_Ã@IƒÄL‰çè”ZüÿH…ÀH‰ÃtÖI‹7HƒÄ(L‰â[]A\A]A^A_H‰Çé0±üÿH‰ïèhZüÿH…ÀH‰Ãtªƒ|$tgH‰ÇA¼1íëE@HcÅL‹,Å`Ýr¶°)ÓOHÆ ÒOè ¯üÿHxÆ=L‰îèû®üÿAƒü Æ;HxsƒÅAƒÄƒýtô9l$u´M‹/HcD$ëµH‰ÇA¼1íëDƒÅAƒÄIƒÇƒýtðHcÅM‹/¶°)ÓOHÆ ÒOè—®üÿHxÆ=L‰î舮üÿAƒü Æ;Hx~»ÆéÝþÿÿUH‰åL‰eàLcçH‰]ØL‰mèL‰uðA‰ýL‰}øHì0Iƒü H‰ó‡†H…ö„=¸H…Àt ¿`sèq1µÿM|$H‰ßN‹4ýàÜrL‰öè©‚üÿ…Àu5¸H…Àt¿`sèA1µÿN‹4ýàÜrL‰ðH‹]ØL‹eàL‹mèL‹uðL‹}øÉÿƒÒOHÇEÈHÇEÀèfKúÿH…Àt €8…01ÀAƒýº„-E1öJƒ<å`ÓOH‰Pÿÿÿt7H‹uÀH‹}ÈHPÿÿÿD‰êèËH…ÀI‰Æ„$ƒx0ÿtÇ@0ÿÿÿÿH‹PÿÿÿHûe£NtH‰ßè „üÿH…ÀH‰…Pÿÿÿ„ïHµPÿÿÿD‰ïèüÿÿH…ÀH‰Ã„¿Jƒ<å`ÓOtJ‹åàÓON‰4åàÜrH…ÀtÿÐL‹­PÿÿÿJ‹<å`ÝrI9ýtHÿe£Ntè+IüÿN‰,å`ÝrH‹=œ (H9ûtHÿe£Ntè IüÿH‰‚ (ƒóQ(¸H…Àt ¿`sè×/µÿH‹}ÈèÞHüÿL‹µPÿÿÿé‰þÿÿfƒÀƒÂƒøtõHcȃú H‰œÍPÿÿÿ~å¾;H‰ßèh€üÿH…À…Ø» A½ LµPÿÿÿƒû„—@LcãH‹uÀH‹}ÈK æ‰ÚèjH…ÀJ‰„åàþÿÿ„ƒx0ÿtÇ@0ÿÿÿÿN‹¼åPÿÿÿIÿe£N„ÔJ‹å`ÝrL‰ÿH‰ÖH‰•Øþÿÿè]€üÿ…ÀH‹•Øþÿÿ…–CÿJ‰”åPÿÿÿ…ÛŽÆA‰Ý‰Ãƒû…mÿÿÿ¸A½‰ÃëèfDLuÀL}Ⱦ:H‰ÇL‰ñL‰úèÍ…Àu¹:º@ÕOL‰öL‰ÿèÄ…À„”ýÿÿ¸H…À„r¿`sE1öèq.µÿé3ýÿÿ@L‰ÿèàüÿH…ÀJ‰„åPÿÿÿt)CÿéXÿÿÿN‹4å`ÝréýÿÿJ¼åPÿÿÿe£Nt׉ØD‰ë…Àˆ¢ƒû Dcu;@E1öD¸H…Àt ¿`sèô-µÿH‹}ÈèûFüÿé­üÿÿfDƒÃAƒÄƒûtôHcÃH‹¼ÅPÿÿÿHÿe£NtH;<Å`ÝrtèÁFüÿAƒü uËë™f„H‹½PÿÿÿHÿe£Ntè›FüÿHÇ…PÿÿÿéýÿÿL‰ö¿èùÿÿH…ÀI‰Æ„EÿÿÿA½E1äë€AƒÄAƒÅAƒütòIcÜHƒ<Ý`ÓOH‹„ÝàþÿÿtH‰ÝàÜrH‹ÝàÓOH…ÀtÿÐL‹¼ÝPÿÿÿH‹<Ý`ÝrI9ÿtHÿe£NtèFüÿL‰<Ý`ÝrAƒý ~”H‹=m (I9þtHÿe£NtèÚEüÿL‰5S (ƒÄN(é¯þÿÿ1ÀH‰ßHƒÉÿò®H‰ÞH÷ÑHAH‰ÊHƒàðH)ÄH|$Hƒçðè«üÿI‰Ä¾=L‰çèJ}üÿH…ÀI‰Å„3L)àHƒøtsHƒø „ÆHƒø…^º¾ËÒOL‰çè“üÿ…Àºtwº¾èÒOL‰çè“üÿ…À„¸H…Àt ¿`sè,µÿHÇÀÐÿÿÿE1ödÇé¹úÿÿº¾«ÒOL‰çèÀ’üÿ1Ò…Àtº¾ßÒOL‰ç訒üÿ…Àu¨ºI}HcÒ¾;H‰¼ÕPÿÿÿèv|üÿH…ÀtfÆL`éÿÿÿº ¾ÀÒOL‰çèc’üÿ…Àºt»º ¾ ÒOL‰çèH’üÿ…Àºt º ¾ðÒOL‰çè-’üÿ…À…)ÿÿÿº é|ÿÿÿº1Àëƒú šûÿÿƒÀƒÂƒøtõHcÈH9œÍPÿÿÿußéðþÿÿI‰ÆéËùÿÿº€é4ÿÿÿHƒø uCº ¾´ÒOL‰ç軑üÿ…Àº„ÿÿÿº ¾ÓÒOL‰ç蜑üÿ…À…˜þÿÿºéëþÿÿHƒø„ÆþÿÿHƒø„`þÿÿHƒø f„+ÿÿÿHƒø u$º ¾ûÒOL‰çèR‘üÿ…À…Nþÿÿº é¡þÿÿHƒøu$º¾ÓOL‰çè(‘üÿ…À…$þÿÿº éwþÿÿHƒøf…þÿÿº¾ÓOL‰çèøüÿ…À…ôýÿÿº éGþÿÿ¶„À„˜E1ÉH‹ ÈL‹Èë*f<_t.<-t*<.t&<,ft <:ttLM…ötA€>ucIÇe£NMcäIÇe£NJ‹å€ÔO„H‰ØL‹eàH‹]ØL‹mèL‹uðL‹}øÉÀ¿HÔOèÆBúÿH…ÀI‰ÆI‰„‡€8„~‹¸Î'…À…n¾e£NL‰÷èƒyüÿ…Àt…¾¡8OL‰÷èryüÿ…À„pÿÿÿH…Ûu%L‰þD‰çè H…ÀH‰Ã…nÿÿÿM‹7A½»@ÕOL‰÷è¨úÿH…ÀI‰À„%L‰Ç1ÀHƒÉÿò®L‰ÆMcôH÷ÑHAH‰ÊHƒàðH)ÄH|$7Hƒçðè<¦üÿHM¸HUÀHuÈLM¨LE°H‰Çè(úÿA‰ÇH‹EÀE¶–)ÓONõ€$sL‹M¸L‹EÈL‰êD‰ùH‰ÞH‰D$H‹E¨L‰ßI ÒOL‰]ÇD$ L‰T$L‰U˜H‰D$H‹E°H‰$èÞ"úÿH…ÀH‰ÂL‹U˜L‹]„ÇA€ç…(ƒz„L‹j1ÛM…턈Hƒ}°„ËJcµÕOI‹tÅ@H…ö„‘IƒÌÿE1íH‰÷D‰èL‰áò®H‰U˜H÷ÑHƒÁ HƒáðH)ÌH\$7HƒãðH‰ßè¡üÿÿH‹u°D‰èL‰áH‰÷ò®H÷ÑHƒÁ HƒáðH)ÌLd$7IƒäðL‰çèsüÿÿH‹5¤ÄH‹U˜H‰ØH¾‹ ŽˆHƒÀ„ÉuïL‰àH¾‹ ŽˆHƒÀ„ÉuïH‰ÞL‰çH‰U˜è1nÿÿ…ÀH‹U˜…L‹jIƒ}L‰ë„hH‹}ÀH…ÿt¾]˜Oè£üÿ…Àu AÇE4L‰ëA‹E0ƒøý‡TýÿÿƒÀL‰ëA‰E0éEýÿÿDIc͏)ÓOHÇ ÒOè@úÿH…ÀI‰ÆI‰t €8…Xýÿÿ¿OÔOèü?úÿI‰ÆI‰éÕüÿÿD‰æH‰U˜èåH‹U˜J‹<úHƒ…ƒÃLcëM}J‹<úH…ÿ„ûƒuØëÂH‹EÀL‹M¸L‰êL‹EÈD‰ùH‰ÞL‰ßÇD$ L‰T$H‰D$H‹E¨H‰D$H‹E°H‰$èà úÿH…ÀH‰Â…íýÿÿ1ÛépüÿÿH‰×D‰æH‰U˜èQH‹U˜éâýÿÿH‹}¨H‰U˜èë=üÿH‹U˜éÂýÿÿ¾/L‰÷è•uüÿH…À… üÿÿéwüÿÿM‹@éÏüÿÿH‹:¾/H‰U˜èŠ~üÿH‹U˜HxÿëH‰Ï€ÿ/HOÿuóH‰ÆH‰U˜H)þèäH‹U˜I‰EL‹jL‰ëéMþÿÿH‰z J‹Tê H…Ò„GÿÿÿL‹jéNýÿÿ¹PÕOºá¾TÔO¿aÔOèÜæùÿSH‹G H‰ûH…ÀtÿЋC…Àu*H‹{è=üÿ‹CƒøtH‹;è=üÿH‰ß[éø<üÿ„ƒøuÝH‹sH‹{èžÍþÿ‹CëËf„AUI‰ÕATUH‰õS‰ûHƒìHƒú†¯‰ú¸ ò ƒÿEÂ;…”‹FLcçJ;åàÙO‚€H…I9Õ†oH<Å@è'KüÿH…ÀI‰À„kHÇ@(Ç@0Ç@4‹UH‰hL‰hHÇ@ …Ò‰P8„7‹MI9Í‚1Ò‰ßë<D…Û…?HƒúFvRfHHH‰LÐ@‹H8HƒÂH9ц÷‹L•H;H‡Ìƒû wÄ@ÿ$ý`ÙOf„Hƒú@‡ÐfJ‹4å`ÚOƒ<–u¢öÁ…ŒH‹p‹ ‰LÐ@ë•@HƒúvÒ¹àßOºŠ¾`ÕO¿ˆØOè åùÿf„Hƒúvª¹àßOº‰¾`ÕO¿0ØOèáäùÿHƒú vйàßOºˆ¾`ÕO¿Ø×OèÁäùÿHƒú†fÿÿÿ¹àßOº‡¾`ÕO¿ˆ×OèäùÿDHƒú†>ÿÿÿ¹àßOº†¾`ÕO¿8×OèuäùÿDHƒú†ÿÿÿ¹àßOº…¾`ÕO¿àÖOèMäùÿDHƒú-†îþÿÿ¹àßOº„¾`ÕO¿ˆÖOè%äùÿDHƒú†Æþÿÿ¹àßOºƒ¾`ÕO¿0ÖOèýãùÿDHƒú†žþÿÿ¹àßOº¾`ÕO¿ˆÕOèÕãùÿDHƒún†vþÿÿ¹àßOº‚¾`ÕO¿àÕOè­ãùÿH‰Çè:üÿHÇÀÐÿÿÿE1ÀdÇ@HƒÄL‰À[]A\A]ùàßOº‹¾`ÕO¿èØOèiãùÿ¹àßOº¾`ÕO¿mÕOèPãùÿU1ÀH‰åH‰]ØL‰eàH‰ûL‰}øL‰mèA‰÷L‰uðHìàÇGHÇGH‹?1öè©§þÿ…ÀA‰ÄˆµL­@ÿÿÿ‰Æ¿L‰êè¦þÿ…ÀˆÐ‹…Xÿÿÿ%ð=@„mIÇÆÐÿÿÿH‹µpÿÿÿE1É1ÿE‰à¹ºdA‹‰…8ÿÿÿè¢ÉþÿHƒøÿI‰Å„¤A¾Ç…8ÿÿÿIcü¸M…ít&H‹•pÿÿÿL‰îD‰ÿèôûÿÿH…ÀtTHÇD‰pH‰CH‹]ØL‹eàL‹mèL‹uðL‹}øÉÃL‰ïH‰…0ÿÿÿè‹8üÿH‹…0ÿÿÿH…ÀudAÇIcü¸뻃½8ÿÿÿu²H‹µpÿÿÿL‰ïèÉþÿë¡dAƒ>&…QÿÿÿH‹½pÿÿÿèúFüÿH…ÀI‰Åt\H‹pÿÿÿH…É~FI‰ÀëIÀH‰ÊL‰ÆD‰çH‰(ÿÿÿL‰…0ÿÿÿè§þÿH˜H‹(ÿÿÿL‹…0ÿÿÿH…ÀŽNÿÿÿH)ÁH…ÉÀ‹½8ÿÿÿdA‰>E1öÇ…8ÿÿÿéßþÿÿIcüf¸H‹31ÀHƒÉÿH‰÷ò®H÷ÑHQÿIcÏD¶±6ÓOA¶ÆHD$HƒàðH)Ķ)ÓOLd$IƒäðH ÒOL‰çH‰…8ÿÿÿ視üÿÇ/SYSÆ@_HxH‹µ8ÿÿÿIVèÈœüÿ1öL‰ç1Àèu¥þÿ…ÀA‰ÄˆþÿÿL‰ê‰Æ¿èâ£þÿ…À‰éýÿÿéžþÿÿUH‰åAWAVAUATSH쉽äþÿÿH‰µðþÿÿ¿H‹èÂÖüÿL‹%;8(M…äuëT@L‰îH‰ßèoüÿ…ÀtM‹$$M…ät8M‹l$I9ÝuÞH‹…ðþÿÿL‰(Hc…äþÿÿI‹DÄHeØ[A\A]A^A_ÉÃf„¾.H‰ßè3nüÿH…ÀtL`¶@<@t„À…“Hƒ=â6(„_H‹å6(H‰…øþÿÿHƒ½øþÿÿ„XH‰ßèØrüÿH…À‰Át1Ò€¾4ÁÉHƒÂñH9ÐwîH‹½øþÿÿ…ɉÈA¼ÿÿÿÿLEà1Ò‹G‹OA‰ÍƒéHøH‰…èþÿÿL‰àI÷õL‰àH‰Ö1ÒH÷ñHJLIIÁàHvL<H‹µèþÿÿLt†ëfDMÆM9ïIƒ¨I‰ÇA‹6IVü…ö„¦A‹FüL9àuÕ‰öHµøþÿÿH‰•ÐþÿÿH‰ØþÿÿL‰…ÈþÿÿH‰ßèmüÿ…ÀH‹•ÐþÿÿH‹ØþÿÿL‹…Èþÿÿu–‹B…À„SH‹½øþÿÿD‹ É5(‰ÀHÇD‰ÈH;6(…¹1Àë €ƒÀƒÁƒøtõHcЋt׋\×D3E9Á‚ý‰öHµøþÿÿHÁâ‰Ûƒù H‰œÿÿÿH‰´ÿÿÿ~¹¿xègCüÿH…ÀI‰Å„ÃH‹…ðþÿÿH‹8èünüÿH…ÀI‰E„iH‹Ø5(A¼1ÛI‰EL‰-Å5(ë ƒÃAƒÄƒûtôLcó‰ßL‰ðHÁàH‹”ÿÿÿH‹´ÿÿÿèc÷ÿÿH…ÀK‰DõtI‹UÇ@Ç@0ÿÿÿÿH‰Aƒü ~®I‹EH‹•ðþÿÿH‰Hc…äþÿÿI‹DÅéWýÿÿ€L‰þL)îé!þÿÿDHeØ1À[A\A]A^A_Éþ@L‰çèz£üÿI‰ÆH‰…øþÿÿL‰çM)æL‰öèâúÿH…ÀI‰ÅtÂL‰òL‰æH‰Çè rüÿ…Àu C€|5„‚HƒÊÿ1ÀL‰ïH‰ÑH‰Þò®H‹½øþÿÿH÷ÑLH‰ÑL‰âò®H)ÚL‰…ÈþÿÿI‰ÎII÷ÖIDHƒàðH)ÄL|$IƒçðL‰ÿL‰ûèa’üÿL‹…ÈþÿÿL‰îH‰ÇL‰ÂèL’üÿH‹µøþÿÿL‰òH‰Çèz˜üÿL‰ïèò2üÿé“üÿÿ1ö1À¿pàOHÇi3(°sè ¡þÿ…ÀA‰Äˆñþÿÿºàs‰Æ¿èxŸþÿƒøÿ„ÌL‹-¨3(E1É1ÿE‰à¹ºL‰îè.ÃþÿHƒøÿH‰…øþÿÿ„š‹P‹@HkÒ HH‹•øþÿÿ‹J$‹R HkÉlHH‹øþÿÿH9ÐHL‹QQH9ÐHLÂI9ÅrLIcü¸H‹µøþÿÿD‰-Î2(H‰5»2(éØûÿÿL‰ïè2üÿ1Àéoûÿÿ¹àOº3¾÷ßO¿ àOèŽÛùÿL‰îH‰Ïè£ÂþÿIcü¸1Àé:ûÿÿH‹™õ'HÇÆ ÿÿÿH‹J@HB@HÁH‰ äõ'H‹PHÂH‰Úõ'H‹@HdH>àÜrH‰Éõ'tóÃDHÇÆØÿÿÿdH‰HÇÁàÿÿÿdH‰HÇÀèÿÿÿdH‰ÃHÇÀ ÿÿÿHcÿdH‹H‹„ø€Ã‹‰ðÓè;G‰Ás3ƒÁ‹…Àt)‹O‰ò‰ÀÓê‰Ñ#O Hˆ‹8…Àt#w‰ÀH°‹8Ã1ÀÃffff.„‹‰ðÓè;G‰Ás3ƒÁ‹…Àt)‹O‰ò‰ÀÓê‰Ñ#O Hˆ‹8…Àt#w‰ÀH°‹8øÿÿÿÿÃòD$øH‹D$øH‰ÁHÁé ‰ÊÁùâÿÿÿòð ‰Ð÷Ø ÐÁø÷Ð!ÈÃòD$øH‹D$øH‰Á‰ÂHÁé ÷Ú Â‰È%ÿÿÿÁê ¸ð)ÐÁèÃH‹D$‹T$H‰D$è‰T$ð‹T$ì¿L$ðê€ T$è‰Èá€÷ÐÁù%ÿ ‰Ð÷Ø ÐºÁø)Ê÷Ð!ÐÃH‹D$‹T$H‰D$è‹D$ì‰T$ð¿L$ð%ÿÿÿ D$èɉÂ÷Ú Â·ÁÁê ¸þÿ)ÐÁøÃÙ|$þ·D$þfç?f%Àð Çf‰|$þÙl$þÃH‰H‰èdH3%0HÁÀH‰GL‰gL‰oL‰w L‰(HT$dH3%0HÁÂH‰W0H‹$dH3%0HÁÀH‰G8é …öSH‰ûu1Ò1À‰S@[ÀHWH1ö1ÿèË…ÀºuÚ‰S@1À[Ãd‹%Ôd‹4%Ð…öu,¸º‰Æd‰%ÐHc×HcöHcø¸êH=ðÿÿwóÃ…Àá©ÿÿÿu‰ðëÓHÇÂÐÿÿÿ÷Ød‰ƒÈÿÃ÷Øë¿ffffff.„HÇÀ€HìÐH…öI‰Ð„ÎH‹H‰D$(H‹FH‰D$@H‹FH‰D$HH‹FH‰D$PH‹F H‰D$XH‹F(H‰D$`H‹F0H‰D$hH‹F8H‰D$pH‹F@H‰D$xH‹FHH‰„$€H‹FPH‰„$ˆH‹FXH‰„$H‹F`H‰„$˜H‹FhH‰„$ H‹FpH‰„$¨H‹FxH‰„$°H‹†€H‰„$¸‹†ˆHÇD$8ÀêJ H˜H‰D$0HT$ˆ1ÀHL$(M…ÀAºHcÿHDÐH…öH‰ÆHEñ° H=ðÿÿ‡Ë…Àˆ»M…À„²H‹T$ˆI‰H‹T$ I‰PH‹T$¨I‰PH‹T$°I‰PH‹T$¸I‰P H‹T$ÀI‰P(H‹T$ÈI‰P0H‹T$ÐI‰P8H‹T$ØI‰P@H‹T$àI‰PHH‹T$èI‰PPH‹T$ðI‰PXH‹T$øI‰P`H‹$I‰PhH‹T$I‰PpH‹T$I‰PxH‹T$I‰€H‹T$A‰ˆH‹T$˜I‰HÄÐÃHÇÂÐÿÿÿ÷Ød‰ƒÈÿëçffff.„GàƒøvéóýÿÿHÇÀÐÿÿÿdǃÈÿÃAºHcÿ¸H=ðÿÿwóÃHÇÂÐÿÿÿ÷Ød‰ƒÈÿÃAWAVAUM‰ÅATUSH‰ËHìhH…öH‰|$PH‰T$„ÓHÁâHƒþH‰T$X†ÒHƒîH‹D$PHT$`H¯t$H‰T$L‹|$H‰D$ H‹D$HÇD$`HÇD$hHt$PI÷ßHÁèH‰D$(HÁàH‰D$H‰t$HH‰t$8H‰ÖH‹T$HƒÆH‰t$@H)ÂH‰T$0H‹D$8H+D$ 1ÒH÷t$L‹d$ L‰êH‹t$ HÑèH¯D$IÄL‰çÿÓ…ÀˆÅL‰êL‰æH‹|$8ÿÓ…ÀˆüL‹t$ H‹l$8Lt$LýfDL‰êL‰æL‰÷ÿÓ…Ày éœ@LýL‰êH‰îL‰çÿÓ…ÀxîI9îƒeHƒ|$‡H‹L$H‰êL‰ðfD¶0¶:@ˆ8HƒÀ@ˆ2HƒÂHƒéuæM9ô„I9ìMDæLt$LýI9î†uÿÿÿH‰èH+D$ H9D$X‚ÝH‹D$8L‰t$ L)ðH9D$Xr!Hƒl$@H‹D$@H‹T$@H‹H‹RH‰D$ H‰T$8H‹D$H9D$@‡¹þÿÿë$HÄh[]A\A]A^A_ÃHƒîH¯t$HþH‰t$HH‹T$PHT$XH‹t$HL‹t$PH‹D$H9òHFòLt$H‰t$L9öM$‚}H‹l$PM‰çL‰d$ I‰ÜH‰ÃDH‰îL‰÷L‰êAÿÔ…ÀIHîIßIÞL‰øH)ØH9D$sÛH;l$PL‰ãL‹d$ t1Hƒ|$‡{H‹D$PH‹T$¶M¶0@ˆuHƒÅˆHƒÀHƒêuåH‹l$H÷ÝHuÿHD-ÿH‰t$H‰D$ L;d$HM‰æ‡ÿþÿÿM<,ë@IïL‰êL‰þL‰çÿÓ…ÀxîL‹D$OM9à„ÃLd$ML$ÿM9ÎwµL‹T$L‹\$ OOM9ÂE¶9L‰ÐL‰ÚL‰ÉL‰Îsë*f„H‰ø¶0HêH<(@ˆ1H‰ÖH‰ÁH)îI9ðvâH‰ÆIƒéIƒêIƒëM9ÎDˆ>v«éFÿÿÿfD…äýÿÿL‹t$Nt5LýéÛýÿÿLt$éFýÿÿfDH‰èL ð¨…qýÿÿIFH9Åw HEI9Ɔ[ýÿÿHƒ|$„¢H‹L$(1À1Ò€óAoHƒÂóoLfA fDHƒÀH9ÑwÛH‹t$H9t$H‹T$H‹D$H‹L$0IHD„ýÿÿ¶2¶8@ˆ:HƒÂ@ˆ0HƒÀHƒéuæM9ô…ýÿÿI‰ìéÿüÿÿH‹T$8L)òH9T$XsCH9Ð~$H‹t$@H‹D$ L‰t$ H‰H‰nHƒÆH‰t$@é ýÿÿH‹T$@H‹t$8L‰2H‰rHƒÂH‰T$@H‰l$8éüüÿÿH‹T$IÔéôýÿÿHƒ|$Mt$@—Å@„í…ÔH‹T$8H‹L$L‰à¶0¶:@ˆ8HƒÀ@ˆ2HƒÂHƒéuæL‰êH‹t$ L‰çÿÓ…À‰°ûÿÿH‹D$ L à¨u"@„ítL9t$ ‡ H‹D$ HƒÀI9ćŽH‹T$ H‹L$L‰à¶0¶:@ˆ8HƒÀ@ˆ2HƒÂHƒéuæéVûÿÿfDHƒ|$‡ËH‹T$ H‹L$L‰à¶0¶:@ˆ8HƒÀ@ˆ2HƒÂHƒéuæéûÿÿH‹D$8L ਅÿÿÿL9t$8†òHƒ|$„‰H‹L$8H‹t$(1À1ÒóAoHƒÂóo fA fHƒÀH9ÖwÝH‹D$8H‹t$HD$H9t$H‹T$H‹L$0I„Óþÿÿ¶2¶8@ˆ:HƒÂ@ˆ0HƒÀHƒéuæé´þÿÿH‹D$ L ਅ%ÿÿÿID$H9D$ †4Hƒ|$„H‹L$ H‹t$(1À1ÒóAoHƒÂóo fA fHƒÀH9ÖwÝH‹D$ H‹t$HD$H9t$H‹T$H‹L$0I„ßùÿÿ¶2¶8@ˆ:HƒÂ@ˆ0HƒÀHƒéuæéÀùÿÿH‹D$PH 訅uûÿÿHEH9D$PwH‹D$PHƒÀH9ņXûÿÿH‹L$HÁéH‰ÎHÁæH…ö„IH‹|$P1À1ÒóoDHƒÂóo fLfHƒÀH9ÑwÝH‹T$H‹D$PHõH)òHðH9t$„ûÿÿ¶M¶0@ˆuHƒÅˆHƒÀHƒêuåéúúÿÿH‹D$ HƒÀI9ĆÏýÿÿé²þÿÿH‹D$8HƒÀI9Ć ýÿÿé÷ýÿÿHƒ|$tuH‹L$ 1À1ÒóAoHƒÂóo fA fHƒÀH9T$(wÛH‹D$ H‹t$HD$H9t$H‹T$H‹L$0I„–øÿÿ¶2¶8@ˆ:HƒÂ@ˆ0HƒÀHƒéuæéwøÿÿH‹D$ L‰âH‹L$ëÒH‹D$8L‰âH‹L$é¾ýÿÿH‰èL‰òH‹L$é®ûÿÿH‹D$PH‹T$éòþÿÿH‹D$ L‰âH‹L$é1þÿÿHƒì¾1Àƒ=>,(tð±5\$(…¤ë ±5M$(…•H‹=@(H;=I$(t?HÇ,(ƒ=ý+(tðÿ $(…ƒë ÿ $(…u1ÀHƒÄÃf„H…ÿt¼è†"üÿHÇó#(ëªf„AUATUSH‰ûHƒìH…ÿ„ê€?„á¾=èZüÿH…À…ÎH‰ßèæ^üÿ¾H‰Å1Àƒ=e+(tð±5ƒ#(… ë ±5t#(…úL‹-g(M…ít/M‹eM…ät&H‰êH‰ÞL‰çèc`üÿ…ÀuA€<,=tHIƒÅM‹eM…äuÚƒ=+(tðÿ ##(…Èë ÿ #(…ºHƒÄ1À[]A\A]Ãf.„L‰èDHƒÀH‹H…ÒH‰PøuðéyÿÿÿHÇÀÐÿÿÿdÇHƒÄ¸ÿÿÿÿ[]A\A]ÃfUH‰åAWAVAUI‰ÕATI‰üSHƒì(H‰uÀ‰M°èÝ]üÿHƒ}ÀH‰ÃHÇE¸tH‹}ÀèÂ]üÿHƒÀH‰E¸¾1Àƒ=<*(tð±5Z"(…ë ±5K"(…L‹=>(¾HÇEÈM…ÿtQM‹7M…öt=@H‰ÚL‰æL‰÷è*_üÿ…ÀuA€<=tIƒÇHƒEÈM‹7M…öuÖM…ÿt Iƒ?…‡H‹EÈH4ÅH‹=ä!(è<üÿH…ÀI‰Æ„7M…ít{H‹]ÈH‹EÈHÁãM‰,ÆH‹5§(H;5°!(t H‰ÚL‰÷è«…üÿH‹EÈL‰5ˆ(L‰5‘!(IÇDƃ=I)(tðÿ h!(…Kë ÿ Z!(…=1ÀHeØ[A\A]A^A_ÉÃH‹E¸H‰e°H‰ÚL‰æL|IGHƒàðH)ÄLl$IƒåðL‰ïèì~üÿÆ=H‹U¸HxH‹uÀè…üÿH‹]ȺPQG¾€sL‰ï袰þÿHÁãH…ÀM$tGH‹H…ÀI‰$u2L‰ÿè!.üÿH…ÀI‰$twL‰úL‰îH‰ÇèÊ„üÿI‹<$ºPQG¾€sè×µþÿH‹e°éèþÿÿIÇ$뻃=]((tðÿ | (…~ë ÿ n (…pƒÈÿéÿÿÿƒ}°„ÞþÿÿM…ítFM‰/éÑþÿÿHÇÀÐÿÿÿdÇ ƒ= ((tðÿ + (…Lë ÿ  (…>ƒÈÿH‹e°é¹þÿÿH‹E¸H‰e°H‰ÚL‰æHDH‰EÈHƒÀHƒàðH)ÄLt$IƒæðL‰÷è°}üÿÆ=H‹U¸HxH‹uÀè܃üÿºPQG¾€sL‰÷èj¯þÿH…ÀtL‹(M…íu2H‹}Èèô,üÿH…ÀI‰Åt*H‹UÈL‰öH‰ÇèƒüÿºPQG¾€sL‰ïè«´þÿH‹e°éÿÿÿƒ=;'(tðÿ Z(…šë ÿ L(…ŒƒÈÿH‹e°éèýÿÿfH‰\$èH‰l$ðH‰ûL‰d$øHƒìH…ÿH‰õA‰Ôt?€?t:¾=è`UüÿH…Àu+D‰áH‰îH‰ßH‹l$H‹$1ÒL‹d$HƒÄé)üÿÿf„HÇÀÐÿÿÿdǸÿÿÿÿH‹$H‹l$L‹d$HƒÄÃH=«(Hì€è‡ÎþÿHÄ€éLúÿÿH=Œ(Hì€è˜ÎþÿHÄ€élúÿÿH=m(Hì€èIÎþÿHÄ€éçúÿÿH=N(Hì€èZÎþÿHÄ€é'ûÿÿH=/(Hì€è ÎþÿHÄ€éÒûÿÿH=(Hì€èÎþÿHÄ€é¤üÿÿH=ñ(Hì€èýÍþÿHÄ€éqýÿÿH=Ò(Hì€èÞÍþÿHÄ€é£ýÿÿH=³(Hì€è¿ÍþÿHÄ€éUþÿÿ‹Š©'…Àt1ÀÃékúÿI‰ÓH4ÖH<×I÷ÛE1ÀE1ÒJ‹ÞH÷áJßLÒLÀM‰ÐJ‰ßIÐIÿÃuàL‰ÀÃAWI‰úAVAUATUH‰ÍSH‰ÓHƒìxIƒùH‰t$8L‰D$(„ðIƒù„M…Éu(ºH‰ÐHÁú?I÷ùH‰D$XH‹D$XHƒÄx[]A\A]A^A_ÃH‰ÈL)ÈL,ÂIAÿH‰D$HHÁàH‹T$HH‰D$`L‹|$`H‹D$(O|=H‹ÐH‹T$(IAþI‹L4ÅL‹$ÂH9ˆHÇD$XH‹T$8HD*ÿL)ÈH‰D$ˆvÿÿÿH‰ÂJÍL‰L$@MÒH‹T$H‰D$PH‹D$HL‰T$ HÁàH9T$8H‰D$hã@H‹D$PIƒíL‹|$`I‹DO|=H‰D$0H9ÙHÇÅÿÿÿÿtQI‹/H‰ÊH‰èH÷óH‰ÑH‰ÅL‰àH4H÷åë1ÿL9à@’ÇL)àH)úH9Êw uK;D5vHÞHƒíHÙH‰÷H)ßH9ûvÎH‹T$@H‹t$(H‰éL‰ïèIzúÿH9D$0tH‹L$@H‹T$(L‰îL‰ïHƒíèÙbúÿH‹D$ H‰(HƒèHƒl$I‹H‰D$ ˆgþÿÿH‹T$H9T$8Ž!ÿÿÿHƒ|$HI‹H‰T$0x1H‹t$hH‹T$PH‹D$HIt5ITH‹>HƒèHƒîH‰:HƒêHƒøÿuèIÇEéðþÿÿH‹D$(LDÊðI‹XI‹0H‹HH‹8I@H9Ù†EHÇD$XH‹T$8LL*ýM…ɈI‰ûOÊI‰ÔI÷Ûë*H9臯IƒéI‰2H‰îIƒêH)ÆHÓIƒùÿ„ÞM9̘IƒèH9ËI‹(„šH‰ðH‰ÚH÷ñH‰ÆH‰ÓH‰øH÷æL, €H9Úv›IÍHƒîHËM‰îI)ÎH)øHƒÚL9ñvßë†I‹H‹TëøHÇD$XH9ц L‹D$8IÁàMÂHƒíx4H4íH<3I42f„HƒíH‹HƒïH÷ñH‰HƒîHƒýÿuåH‹t$8M)ÂHƒîxI<ò1íHƒîH‰èH÷ñH‰HƒïHƒþÿuéH‰éŸüÿÿH9Ëw H9þ‚­þÿÿH)þHËHÇD$Xé¢þÿÿr6H‹T$HH‹t$(L‰ïH‰L$L‰ $L‰T$èÝ`úÿ…ÀH‹L$L‹ $L‹T$ˆ®üÿÿH‹T$(L‰ÉL‰îL‰ïL‰ $L‰T$è›wúÿI‹HÇD$XL‹ $L‹T$éüÿÿH)ÊHÇD$XéåþÿÿH9Ú…HþÿÿéŸþÿÿf1íH9ËIÇ…fþÿÿHós9IƒéH)ûH‰îIÇÿÿÿÿIƒêHþHƒÓIƒùÿ…"þÿÿI@H‰I‰0é¢ûÿÿ@1ÒH…ÿH‰ø•ÂHÇÆÿÿÿÿH)ÐH‰ÂL‰ØéþÿÿòD$øH‹t$øH‰ðHÁè?‰H‰ð‰ñHÁè4%ÿ-ÿ‰H¸ÿÿH!ðHÁî0H È÷ÆðH‰u(H…ÀtCH½Èƒñ?ƒé HÓàH‰¸üÿÿ)ȉ¸Ã@HºH ¸H‰Ãf.„ǸÃS‹t$H‹\$‰t$ø¶D$ùH‰\$ðÀè¶À‰·L$øD‹D$ðfáÿ·ñ†Àÿÿ‰‹D$ôHÁà L Àf…ÉH‰uCH…ÀtKH¹ÿÿÿÿÿÿÿH!ÈH…ÀH‰tIH½Èƒñ?tHÓàH‰¸Àÿÿ)ȉ¸[Ãf.„þÿtçH…Àuâ¸Ç[ÃfDH¸€ÇÀÿÿH‰뺅ÉA¸ÀžP¸ŸPLEÀƒú tzƒút5ƒú‰ÑtNfDH‰ø1ÒHƒîH÷ñH‰ÇA¶H…ÿˆuåH‰ðÃf„H‰øHÁïHƒîƒàH…ÿA¶ˆuæë×@H‰øHÁïHƒîƒàH…ÿA¶ˆuæë·@H¹ÍÌÌÌÌÌÌÌfDH‰øHƒîH÷áHÁêH’HÀH)ÇH…ÒA¶8H‰×ˆuÙH‰ðÃDATUSH‰óHƒì Hl$ I‰äH‰îèÿÿÿHT$ H9Âv;I‰àI‰ÁI)ÀIƒÀ IƒøvöÃt3H‰Ú¶HƒÀˆ HƒÂH9ÅwîL)ËJ\# fDHƒÄ H‰Ø[]A\Ã@HPH9Óv_L‰ÆHÁîH‰÷HÁçH…ÿt[1Ò1ÉóoHƒÁfHƒÂH9ÎwéHøI9øH;tŸD¶HƒÀˆ HƒÂH9ÅwîL)ËJ\# ëŒ@HSH9ІXÿÿÿë’H‰ÚëÌAVL‹H‹œ(AUATUSA¶L‹ ÐM…É„§E¶SI[E1öE1äE1íA¶ê€E„ÒIQ „‹A‹I …É„„9éH‰ØtëHfDD‹E…Àft¶ÉA9Èu0HƒÀHƒÂ¶„Éuß‹…ÒuH‰ÁIcÔL)ÙH9Ñ~ E‹iA‰ÄI‰ÆE)ÜM‹ M…ÉuŽE…ít[]A\fD nL‰71ÀA]A^Ã[]A\A]¸A^ÃH‰Øë¬H‰Øë­fffff.„AUH‹¯(ATUSH‹‹L‹ ÐM…É„•D‹SL[E1í1íE1äE…ÒIQ „ƒA‹I …É„|D9ÑL‰ØtëCDD‹E…ÀftD9Áu/HƒÀHƒÂ‹…Éuã‹ …ÉuH‰ÂHcÍH)ÚHÁúH9Ê~ E‹a‰ÕI‰ÅM‹ M…Éu’E…ät[]fD fL‰/1ÀA\A]Ã[]A\¸A]ÃL‰Øë°L‰Øë±fDATUS‹H‰û…ÀtH‰ýëfDHƒÅ‹E…Àt%=ÿvîHÇÀÐÿÿÿºÿÿÿÿdÇ[]‰ÐA\Ã@‹F(ƒêƒú†ý¾ƒ=ê(tð±5 (…ùë ±5(…êHƒ=[(„”H)ÝHÁýH<­è) üÿH…ÀI‰Ä„¶H‹+(Hs‹ Í(I|$ H‹ÐH‰êI‰$¸ÓàƒÁA‰D$‰ ¨(è߈üÿ¶H‹í(L‰$ÐA‹T$ƒ=E(t ðÿ |(uxëÿ r(un[]‰ÐA\þ¿ÿèŠüÿH…ÀH‰¨(…Mÿÿÿf.„ºÿÿÿÿë­HÇÀÐÿÿÿºÿÿÿÿdÇéÎþÿÿH=(Hì€èÞÁþÿHÄ€é÷þÿÿH=û(Hì€èïÁþÿHÄ€ésÿÿÿHìØ¶ÀH‰T$0H…¸ KH‰L$8L‰D$@H)ÐH”$ÏL‰L$Hÿà)zñ)rá)jÑ)bÁ)Z±)R¡)J‘)BH„$àH‰âÇ$ÇD$0H‰D$HD$ H‰D$èêÝHÄØÃH‰\$àH‰ûH‰l$èL‰d$ðL‰l$øHƒì(H‹ƒ ‰õH‹¿(H‹P H‹pI‰ÔI)ôIÁìE…äu6H9P(†Ž‰*HƒÂH‰P ‰èH‹\$H‹l$L‹d$L‹l$ HƒÄ(ÀH‹‡ØMcäL‰âÿP8ºÿÿÿÿH9Ðt>H…Àt9H‹“ L,…H‹zL‰âH)ÂJ4/èç†üÿH‹ƒ L)h H‹P éuÿÿÿ½ÿÿÿÿé|ÿÿÿ‰îH‰ßH‹l$H‹\$L‹d$L‹l$ HƒÄ(éDDûÿ@UH‰åAWAVA‰ÎAUATI‰ôSH‰ÓHƒìD¶:AGÿ<}vHeØH‰ø[A\A]A^A_ÉÄH‰òH‰þH)úHƒâüHBHƒàðH)ÄLl$IƒåðL‰ïè§müÿI9ÅL‰çsµE¾ÿHƒÃHƒèHƒïAƒï‹‰uEI9Ås–HƒïD‰7D¶;E„ÿxA€ÿtE„ÿuÆD¾{ÿëÇfDHƒèHƒï‹I9ʼnrïéXÿÿÿfI9År¤éIÿÿÿUH‰åAWAVAUI‰õATI‰ü¿øROM)åSIƒåüHƒìH‰UÈèÔ½þÿ¿.I‰ÆH‰ÆèT¾þÿL‰ö¿,‰EÀèD¾þÿIý‰EćÚIEA¿HƒàðH)ÄH\$HƒãðL‰êH‰ßL‰æè¬lüÿHÇÂÿÿÿM…ödH‹:u[H‹UÈHƒêëfH‹7ƒÁ·É‹LÎ@‰ HƒêHƒèLbH9Ãw‹qЃþ vÖ‰ ëáfE„ÿuH‰ßè üÿHeØL‰à[A\A]A^A_ÉÃH‹UÈHƒèHƒêH9ÃLbwÌ‹qЃþ vƒù,tƒù.u‹MÀ‰ ëÑ‹MÄëôH‹7ƒÁ·É‹LÎ@ëåL‰ïè²½þÿ…À…ÿÿÿL‰ïE1ÿè_üÿH…ÀH‰Ã…ÿÿÿé{ÿÿÿfffff.„UH‰åH‰]ØL‰eàH‰ûL‰mèL‰uðI‰öL‰}øHìàHÇÀÐÿÿÿ¾I‰ÕA¼ÿÿÿÿdD‹8è=iûÿƒøt D‰àH‹]ØL‹eàL‹mèL‹uðL‹}øÉÀö…O M…ö„v¾H‰ßA¼ÿÿÿÿèóhûÿƒøu¶D‹#AöÄ… I‹E¾%L‰÷H‰…@ÿÿÿI‹EH‰…HÿÿÿI‹EH‰…PÿÿÿèƒøfE…äH‰…@ïÿÿÇ…Lïÿÿxz¸H…À…áHÇ… ÿÿÿP!FH‰(ÿÿÿÇ…LïÿÿfE…äxJH‹“ˆdL‹%L9Bt0¾1Àƒ=ˆ(t ð±2…òMë ±2…çMH‹“ˆL‰BƒBL‹¥@ïÿÿH‹ƒØL‰öH‰ßM)ôIÁüL‰âÿP8I9Ä„ˆA¼ÿÿÿÿfƒ;x8H‹“ˆ‹Bƒè…À‰Bu$HÇBƒ= (t ðÿ …Mëÿ ……M‹…Lïÿÿ…À„nþÿÿH½ ÿÿÿ1öèˆñ´ÿé[þÿÿHÇÁÐÿÿÿA¼ÿÿÿÿdÇé?þÿÿ€Iüÿÿÿ‡kÿÿÿH‹µ@ïÿÿD‹E…À„^ÿÿÿH½PïÿÿH… ÿÿÿD‰½dîÿÿÇ…ˆîÿÿÇ…üîÿÿI‰÷HÇ HÇ…ÀîÿÿÿÿÿÿÇ…€îÿÿH‰½˜îÿÿH‰… îÿÿL‰µpîÿÿMwE‹¸KAWàƒúZw‰Ò¶‚À§PH‹ÅÀ¦PH‹•˜îÿÿH`ÿÿÿÇ…Ôîÿÿ Ç…ŒîÿÿÇ…ïÿÿÿÿÿÿÇ…ïÿÿÇ…îÿÿH‰•8ïÿÿÇ…0ïÿÿÇ…¬îÿÿÇ…ðîÿÿÇ… îÿÿÇ…ÐîÿÿÇ…àîÿÿÇ…ÌîÿÿÇ…ÜîÿÿHÇ…ïÿÿH‰(îÿÿÿàIƒÆE‹>AGàƒøZ†M&Ç…0ïÿÿÇ…ðîÿÿE…ÿ„øHì H‹½ïÿÿHÇE¸Ht$HƒæðH‰µ ïÿÿèÅüÿHƒ½Àîÿÿÿ„~FH‹@ïÿÿƒ9„XFE1ÀE1ÉD‰½ïÿÿH‰èîÿÿM‰ïL‰ÃL‹µ@ïÿÿHÇ…°îÿÿM‰ÍHÇ…8ïÿÿ D‰¥ïÿÿL‹… ïÿÿëI‰ÍM‰àO$(HM¸H‰ÞL‰÷L‰…8îÿÿL‰âèJÅM‹t$ HÃHƒ…°îÿÿL‹…8îÿÿA‹…É„`"H‹µ°îÿÿH9µ8ïÿÿM‰ÄIMHw¤H‹…8ïÿÿH‹8ïÿÿL‰ÆHÀHPHÁHƒâðH)ÔLd$IƒäðIL‰çI9ÐHDÁIMHH‰…8ïÿÿH‰ÊH‰@îÿÿèŽZüÿH‹@îÿÿéEÿÿÿD‹½ïÿÿAƒïƒ½àîÿÿu8E…ÿ~3Ic×¾ H‰ßè8ûÿAüþÿÿ‡G;‰Â¸ÿÿÿD)à9‡b F$"A‹Uƒú/‡ª(‰ÐIEƒÂA‰UH‹“ ‹0H‹B H;B(ƒ`;‰0HƒÀƒþÿH‰B „ Aüÿÿÿ„ AƒÄƒ½àîÿÿt8E…ÿ~3Ic×¾ H‰ßèƒ7ûÿAüþÿÿ‡±:‰Â¸ÿÿÿD)à9Â‡Ì F$"Hƒ½ïÿÿ…¶=IN¾%H‰ÏH‰@îÿÿèjóE…äI‰ÀH‹@îÿÿˆr=I‰ÆI‰ÇH‹ƒØI)ÎL‰…8îÿÿH‰ÎIÁþH‰ßL‰òÿP8I9ÆL‹…8îÿÿ…XûÿÿIcÔ¸ÿÿÿH)ÐI9ƇDûÿÿA‹0Eô…ö„<ûÿÿƒ…üîÿÿé/üÿÿ‹µïÿÿƒîƒ½”îÿÿ‰µ8ïÿÿu7…ö~3HcÖH‰ß¾ è–6ûÿAüþÿÿ‡;‰Â¸ÿÿÿD)à9Â‡ß F$"Hc…üîÿÿH‹• ïÿÿHkÀHHÂH…Ò„”-H‹½ ïÿÿH‹•èîÿÿHcD0HÁà‹4H‹“ H‹B H;B(ƒé9‰0HƒÀƒþÿH‰B „{ Aüÿÿÿ„n AƒÄƒ½”îÿÿt@ƒ½8ïÿÿ~7Hc•8ïÿÿ¾ H‰ßèÜ5ûÿAüþÿÿ‡`:‰Â¸ÿÿÿD)à9‡% F$"H‹½ïÿÿè üÿE…äˆ9Hc…üîÿÿH‹• ïÿÿH‰ßHÀH ÂH‹ƒØH‹qH‹Q H‰@îÿÿH)òHÁúÿP8H‹@îÿÿH‹Q H+QHÁúH9Ð…·ùÿÿIc̺ÿÿÿH)ÊH9Ї£ùÿÿƒ…üîÿÿAÄHc…üîÿÿH9…°îÿÿ†‹ùÿÿHkÀHH‹µ ïÿÿHƶF ‰ÂÀê‰Ñ‰ÂÀêƒá‰×‰Â‰|îÿÿÀêƒç‰Ñ‰Â‰½¤îÿÿÀêƒá‰×‰Â‰”îÿÿÀêƒç¶Ò‰½¨îÿÿ‰•`îÿÿ‰Âƒâ‰•äîÿÿ‰ÂÐê‰Ñƒá‰„îÿÿ¶N ‰ÊÀéÐê‰×‰ÂƒçÀꉽhîÿÿ‰×‹Vƒç‰½Øîÿÿ‹>‰•ïÿÿ‰Ê¶Nƒâ‰•\îÿÿ‹V,‰½(ïÿÿ‹~ˆoîÿÿƒúÿ‰½¼îÿÿt"H‹èîÿÿHcÒHÁâ‹ …Ò‰•ïÿÿ‰Vˆý7‹F(ƒøÿt H‹½èîÿÿH˜HÁà‹8…À‰…(ïÿÿ‰ˆ8‹…ïÿÿ9…(ïÿÿ‰ÂM•(ïÿÿúÈŽo3B H˜H …Hù‡¦5HƒÁHcÂHÇ…ïÿÿHƒáðH)ÌHL$HƒáðH„€H‰…8ïÿÿ½¼îÿÿÿ+L‹á (M…À„ö*Lc¼îÿÿKƒ<È„ä*L‹V81ÉJÕHƒàðH)ÄHT$Hƒâð‰ÏL9׃÷5‰ÈF0ƒÁHÁàH…èîÿÿH‰úëÜHc…üîÿÿH‹• ïÿÿHkÀHHÂH…Ò„{6H‹ ïÿÿH‹µèîÿÿHcD0HÁàL‹0M…À„¸(ƒ½Øîÿÿ…h"ƒ½¼îÿÿS„["ƒ½(ïÿÿÿL‰E¨„o(Hcµ(ïÿÿL‰Çè?üÿH‰…(ïÿÿH‹•(ïÿÿHÁâHú‡m<HƒÂÇ…8ïÿÿHƒâðH)ÔLD$IƒàðH‹•(ïÿÿHM Hu¨L‰ÇL‰…8îÿÿHÇE èMîHƒøÿH‰ÁL‹…8îÿÿ„‘A‰ÁD‹•ïÿÿE)ʈÖ0ƒ½”îÿÿupE…ÒtkIcÒ¾ H‰ßH‰@îÿÿL‰…8îÿÿD‰HîÿÿD‰•PîÿÿèÜ1ûÿAüþÿÿH‹@îÿÿL‹…8îÿÿD‹HîÿÿD‹•Pîÿÿ‡D6‰Â¸ÿÿÿD)à9‡ F$"E…äˆ=4H‹ƒØH‰ÊL‰ÆH‰@îÿÿL‰…8îÿÿH‰ßD‰HîÿÿD‰•PîÿÿÿP8H‹@îÿÿL‹…8îÿÿD‹HîÿÿD‹•PîÿÿH9È…¨IcÔ¸ÿÿÿH)ÐH9Á‡”Ẽ½”îÿÿt?E…Òt:IcÒ¾ H‰ßè 1ûÿAüþÿÿL‹…8îÿÿ‡ˆ5‰Â¸ÿÿÿD)à9‡MF$"ƒ½8ïÿÿ„ûÿÿL‰Çè,üÿéûÿÿA‹Uƒú/‡t"‰ÐIEƒÂA‰UL‹M…À„&AƒÿS„q ƒ½0ïÿÿ…d ƒ½ïÿÿÿL‰E¨„å/HcµïÿÿL‰ÇèÊ<üÿH‰ÂL<•Iÿ‡>0IƒÇÇ…8ïÿÿIƒçðL)üLD$IƒàðHMÀHu¨L‰ÇL‰…8îÿÿHÇEÀè%ìHƒøÿI‰ÇL‹…8îÿÿ„i‰ÁD‹ïÿÿA)Ɉ /ƒ½àîÿÿu`E…Ét[IcѾ H‰ß‰@îÿÿL‰…8îÿÿD‰Hîÿÿè½/ûÿAüþÿÿ‹@îÿÿL‹…8îÿÿD‹Hîÿÿ‡×2‰Â¸ÿÿÿD)à9‡òF$"E…䈎2H‹ƒØL‰Æ‰@îÿÿL‰…8îÿÿD‰HîÿÿL‰úH‰ßÿP8L9ø‹@îÿÿL‹…8îÿÿD‹Hîÿÿ…¡IcÔ¸ÿÿÿH)ÐI9LJýàîÿÿt?E…Ét:IcѾ H‰ßè/ûÿAüþÿÿL‹…8îÿÿ‡+2‰Â¸ÿÿÿD)à9‡FF$"ƒ½8ïÿÿ„m÷ÿÿL‰Çè%þûÿé`÷ÿÿÇ…ïÿÿƒ½0ïÿÿ„sA‹Uƒú/‡&‰ÐIEƒÂA‰UL‹E1ÉÇ…ÐîÿÿÇ…Ìîÿÿƒ½ïÿÿŒb…ËM…À…ƒ½Üîÿÿft ƒ½ïÿÿ„M"H‹½8ïÿÿÇ…Ôîÿÿ 1ÀHÇ…ðîÿÿH‰½0ïÿÿH‹•ðîÿÿ‹½àîÿÿHÁúH÷ÚHÐH‰•8ïÿÿºHHÂ…ÿ‰…ïÿÿ…‹•ïÿÿ•8ïÿÿ)ÂM…À•À"…Üîÿÿˆ…Üîÿÿt ƒ½ïÿÿBþDЃ½ÌîÿÿuE…Éu ƒ½Ðîÿÿtƒêƒ½Ôîÿÿ „lE…É„‘H‹‹ H‹A H;A(ƒô8Ç-HƒÀH‰A Aüÿÿÿ„ÀAƒÄ€½Üîÿÿt ƒ½ïÿÿ„•ïÿÿ…Ò~3HcÒ¾0H‰ßè$-ûÿAüþÿÿ‡g‰Â¸ÿÿÿD)à9‡mF$"E…äˆD-L‹½ðîÿÿH‹ƒØH‰ßH‹µ0ïÿÿIÁÿL‰úÿP8I9Ç…5IcÔ¸ÿÿÿH)ÐI9LJ!EüéQõÿÿHµ`ÿÿÿ1À¹‹•ïÿÿH‰÷ó«‹…ïÿÿ‰•dÿÿÿ¶•0ïÿÿ¶ÜîÿÿD‰½hÿÿÿ‰…`ÿÿÿ¶…¬îÿÿÁâÁáÀ …ðîÿÿ ж•Ìîÿÿ ȶàîÿÿÁâÁá ж•Ðîÿÿ ȶ îÿÿÁâÁá Ð È‹Ôîÿÿˆ…lÿÿÿ¶…Œîÿÿ‰pÿÿÿÁàƒÈƒ½ðîÿÿˆ…mÿÿÿ„A I‹EHƒÀHƒàðHPI‰U‹PH‹‰U˜H‰EHEHU°H‰ßH‰E°èñ¸úÿ…Àˆ!Aüþÿÿ‡üºÿÿÿD)â9ЇF$ é3ôÿÿÇ…ïÿÿéÎüÿÿHµ`ÿÿÿ1À¹‹•ïÿÿH‰÷ó«‹…ïÿÿ‰•dÿÿÿ¶•0ïÿÿ¶ÜîÿÿD‰½hÿÿÿÆ…mÿÿÿ‰…`ÿÿÿ¶…¬îÿÿÁâÁáÀ …ðîÿÿ ж•Ìîÿÿ ȶàîÿÿÁâÁá ж•Ðîÿÿ ȶ îÿÿÁâÁá Рȃ½ðîÿÿ‹Ôîÿÿˆ…lÿÿÿ‰pÿÿÿ„=)I‹EHƒÀHƒàðHPI‰U‹PH‹‰U˜H‰EHEHU°H‰ßH‰E°èpâúÿ…À‰ßþÿÿAƒÌÿHƒ½ïÿÿ„ôîÿÿH‹½ïÿÿèÚùûÿéãîÿÿƒ½0ïÿÿ„¤(A‹Uƒú/‡…(‰ÐIEƒÂA‰UL‹M‰ÁL‰ÀÇ…ïÿÿ IÁé?H÷ØE…ÉLEÀé²ûÿÿÇ…ïÿÿ ébûÿÿH‹ƒ H‹P H;P(ƒ9Ç%HƒÂH‰P Aüÿÿÿ„PÿÿÿAƒÄéòÿÿH‹“ H‹B H;B(ƒï8Ç%HƒÀH‰B Aüÿÿÿ„ÿÿÿAƒÄéíóÿÿA‹Uƒú/‡d‰ÐIEƒÂA‰UL‹M…À„ 6A¿xÇ… îÿÿÇ…ÜîÿÿÇ…ïÿÿE1Ééßúÿÿ‹½dîÿÿHµPïÿÿº è-4üÿÇ…0ïÿÿI‰Àéøÿÿƒ½0ïÿÿ…ÜðÿÿD‹½ïÿÿAƒïƒ½àîÿÿu8E…ÿ~3Ic×¾ H‰ßèõ(ûÿAüþÿÿ‡#,‰Â¸ÿÿÿD)à9‡>þÿÿF$"A‹Uƒú/‡#‰ÐIEƒÂA‰U¶8èÀàH‹‹ H‹Q H;Q(ƒä/‰HƒÂƒøÿH‰Q …ÖðÿÿéëýÿÿIƒÆÇ…ÌîÿÿE‹>AGàƒøZ‡Ìîÿÿ‰À¶€À§PH‹ÅÀ¦PéŒîÿÿIƒÆÇ…ÐîÿÿE‹>AGàƒøZ‡˜îÿÿëÊöCttƒ½ˆîÿÿf„ß4ƒ½0ïÿÿ„§"A‹Uƒú/‡‰"‰ÐIEƒÂA‰UH‹IcÄH‰é…ðÿÿHc…üîÿÿH‹• ïÿÿHkÀHHÂH…Ò„'4ƒ½Øîÿÿ„cH‹ ïÿÿH‹µèîÿÿHcD0HÁàL‹0M‰ÁL‰ÀÇ…äîÿÿ IÁé?H÷ØE…ÉLEÀƒ½(ïÿÿŒ…M…À…ƒ½|îÿÿt ƒ½äîÿÿ„„H‹8ïÿÿ1öÆ…oîÿÿ HÇ…(ïÿÿH‰ïÿÿH‹•(ïÿÿ¸HÁúH÷ÚHÖH‰•8ïÿÿ‹•”îÿÿHHð‰µØîÿÿ…Ò…Ñ ‹•ïÿÿ•8ïÿÿ)òƒ½|îÿÿ•ÀM…À•Á Ȉ…8ïÿÿt ƒ½äîÿÿBþDЃ½¤îÿÿuE…Éu ƒ½¨îÿÿtƒê€½oîÿÿ „´E…É„H‹‹ H‹A H;A(ƒ(Ç-HƒÀH‰A Aüÿÿÿ„ËûÿÿAƒÄ€½8ïÿÿt ƒ½äîÿÿ„ñ•Øîÿÿ…Ò~3HcÒ¾0H‰ßè/&ûÿAüþÿÿ‡:1‰Â¸ÿÿÿD)à9‡xûÿÿF$"E…äˆû2H‹(ïÿÿH‹ƒØH‰ßH‹µïÿÿHÁùH‰ÊH‰@îÿÿÿP8H‹@îÿÿH9Á…2ûÿÿIcÔ¸ÿÿÿH)ÐH9Á‡ûÿÿAÌéõïÿÿÇ…äîÿÿ Hc…üîÿÿH‹• ïÿÿHkÀHHÂH…Ò„úƒ½Øîÿÿ„ŠH‹ ïÿÿH‹µèîÿÿE1ÉHcD0HÁàL‹0Ç…¨îÿÿÇ…¤îÿÿéÁýÿÿA‹ƒé0ëf.„ ‰LJÐIƒÆA‹rЉЃþ vèùljïÿÿ~D‰ÈƒÀ H˜H4…Hþ‡“/HƒÆHcÉHƒæðH)ôHD$HƒàðHŒˆ€‰ÐH‰8ïÿÿƒø$„-ëÿÿA‰ÇAGàƒøZ‡ëÿÿ‰À¶€À§PH‹ÅÀ¥PéÔêÿÿIƒÆA‹ƒø*„ "PÐÇ…ïÿÿƒú v-A‰ÇAGàƒøZ‡Ìêÿÿ‰À¶€À§PH‹ÅÀ¤PéŒêÿÿkÒ TÐIƒÆA‹HЃù vꉕïÿÿ½ïÿÿÈŽ%‹µïÿÿ9µïÿÿŽHc…ïÿÿL<…€Iÿ‡ÁIGHƒàðH)ÄHD$HƒàðLøH‰…8ïÿÿA‹éZÿÿÿHc…üîÿÿHkÀHH… ïÿÿH‹x8H‰…8ïÿÿHýHƒàðH)ÄHt$HƒæðH…ÿt,H‹…8ïÿÿ1ÉD‹@01ÀBƒÀHÁâH•èîÿÿH‰ΉÁH9ùrãH‹“ H‹B H;B(ƒl(Ç%HƒÀH‰B H‹•8ïÿÿ¶B ¨…! Ç…ïÿÿº¹A¸¾„Àˆ] ‰•ïÿÿ‰ÊD‰ÁA‰ð¨@„(H‹³ H‹F H;F(ƒI(Ç+HƒÀH‰F H‹µ8ïÿÿA‰È‰Ñ‹•ïÿÿ¶F ¨ …¿‰ÊD‰ÁH‹…8ïÿÿƒx0„*H‹•8ïÿÿöB t2H‹“ H‹B H;B(ƒO(ÇIHƒÀH‰B ùÿÿÿ„Ë÷ÿÿƒÁH‹µ8ïÿÿ‹F…À„L… ÿÿÿH˜¿ 1ÒIƒèH÷÷‹4•@ŸPH…ÀA‰0uèL9… îÿÿ†ãL‰êE‰åI‰ÜL‰Ãë5‰7HƒÇƒþÿH‰x „S*ùÿÿÿ„?*HƒÃƒÁH9 îÿÿ†™‹3I‹„$ H‹x H;x(r¹L‰çH‰•Hîÿÿ‰@îÿÿè&ûÿƒøÿH‹•Hîÿÿ‹@îÿÿu¥L‰ãéÿöÿÿƒ½àîÿÿ¸0E…ÔîÿÿIƒÆE‹>‰…ÔîÿÿAGàƒøZ‡ÑçÿÿéùÿÿHƒ½Àîÿÿÿ„\"IƒÆÇ… îÿÿE‹>AGàƒøZ‡ çÿÿéÏøÿÿHc…üîÿÿH‹µ ïÿÿHkÀHHÆ„HcF0HU°H‰ßHÁàH…èîÿÿH‰E°è*®úÿ…ÀˆZöÿÿAüþÿÿ‡ý+ºÿÿÿD)â9Ї=öÿÿF$ éëÿÿIƒÆÇ…0ïÿÿE‹>AGàƒøZ‡çÿÿ‰À¶€À§PH‹ÅÀ¢PéÕæÿÿ‹½dîÿÿHµPïÿÿº èq+üÿÇ…ØîÿÿI‰ÀéŒíÿÿƒ½Øîÿÿ… éÿÿ‹…ïÿÿƒèƒ½”îÿÿ‰…8ïÿÿu7…À~3Hcо H‰ßè6 ûÿAüþÿÿ‡º$‰Â¸ÿÿÿD)à9‡õÿÿF$"Hc…üîÿÿH‹• ïÿÿHkÀHHÂH…Ò„V(H‹• ïÿÿH‹èîÿÿHcD0HÁà¶<èå×H‹“ ‰ÆH‹B H;B(‚˜éÿÿH‰ßè†$ûÿƒøÿ…šéÿÿéõÿÿÇ…äîÿÿéõùÿÿIƒÆE‹>AGàƒøZ†äÇ…Ôîÿÿ Ç…àîÿÿéÓåÿÿIƒÆÇ…ÜîÿÿE‹>AGàƒøZ‡µåÿÿéäöÿÿHc…üîÿÿH‹• ïÿÿHkÀHHÂH…Ò„ÖH‹µ ïÿÿH‹½èîÿÿHcD0HÁàL‹8M…À„ŽÇ…¼îÿÿxÇ…`îÿÿE1ÉÇ…|îÿÿÇ…äîÿÿéV÷ÿÿöCtt ƒ½ˆîÿÿ„‘Hc…üîÿÿH‹• ïÿÿHkÀHHÂH…Ò„%ƒ½Øîÿÿ„%H‹• ïÿÿH‹èîÿÿHcD0HÁàH‹IcÄH‰éºèÿÿHc…üîÿÿH‹µ ïÿÿHkÀHHÆ„ÐHcF0HU°H‰ßHÁàH…èîÿÿH‰E°è Öúÿé:ýÿÿIƒÆÇ…¬îÿÿE‹>AGàƒøZ‡}äÿÿ‰À¶€À§PH‹ÅÀ£Pé=äÿÿÇ…äîÿÿéMøÿÿIƒÆÇ…ŒîÿÿE‹>AGàƒøZ‡:äÿÿéiõÿÿIƒÆA‹ƒè0ƒø w2A‹VINrЃþ w€HƒÁDBЋrЃþ vë…Àt ƒú$„ýãÿÿA‹Uƒú/‡.‰ÐIEƒÂA‰U‹…À‰…ïÿÿy÷ØÇ…Ôîÿÿ Ç…àîÿÿ‰…ïÿÿ½ïÿÿÇ~J‹…ïÿÿƒÀ H˜L<…Iÿ‡š&IƒÇHc…ïÿÿIƒçðL)üHT$HƒâðH„‚€H‰…8ïÿÿE‹>AGàƒøZ‡Lãÿÿé3øÿÿéãÿÿIƒÆE‹>AGàƒøZ†ëÇ…îÿÿÇ…¬îÿÿéãÿÿIƒÆE‹>AGàƒøZ†Ç…0ïÿÿÇ…ðîÿÿéèâÿÿL‰êL‰öH‰ßèr,A‰Äé’ßÿÿf.„HÇÂÐÿÿÿdÇ éußÿÿH½ ÿÿÿH‰Ú¾P!Fè‰Ò´ÿÇ…LïÿÿD‹#éàÿÿE…É„t H‹“ H‹B H;B(ƒ]Ç-HƒÀH‰B Aüÿÿÿ„Vñÿÿƒ­ïÿÿAƒÄƒ½|îÿÿtM…Àt ƒ½äîÿÿ„=ƒ½Øîÿÿ~7Hc•Øîÿÿ¾0H‰ßè«ûÿAüþÿÿ‡¶&‰Â¸ÿÿÿD)à9‡ôðÿÿF$"E…äˆw(H‹(ïÿÿH‹ƒØH‰ßH‹µïÿÿHÁùH‰ÊH‰@îÿÿÿP8H‹@îÿÿH9Á…®ðÿÿIcÔ¸ÿÿÿH)ÐH9Á‡šðÿÿ‹•8ïÿÿ+•ØîÿÿA •ïÿÿA‰Ì…ÒŽXåÿÿHcÒ¾ H‰ß‰@îÿÿèûûÿ‹@îÿÿùþÿÿ‡&A‰Ä¸ÿÿÿ)ÈA9Ć õÿÿé9ðÿÿE…É„H‹“ H‹B H;B(ƒÇ-HƒÀH‰B Aüÿÿÿ„ðÿÿƒ­ïÿÿAƒÄƒ½ÜîÿÿtM…Àt ƒ½ïÿÿ„¾ ƒ½ïÿÿ~7Hc•ïÿÿ¾0H‰ßèUûÿAüþÿÿ‡˜‰Â¸ÿÿÿD)à9‡žïÿÿF$"E…äˆuL‹½ðîÿÿH‹ƒØH‰ßH‹µ0ïÿÿIÁÿL‰úÿP8I9Ç…fïÿÿIcÔ¸ÿÿÿH)ÐI9LJRïÿÿ‹•8ïÿÿ+•ïÿÿEü•ïÿÿ…ÒŽmâÿÿHcÒ¾ H‰ßè½ûÿAüþÿÿ†:âÿÿ¹p Pº+¾SO¿HSOè—’ùÿÇ…Ôîÿÿ AƒÿX¹@ŸP¸àŸPHDȃ½ïÿÿ „ヽïÿÿ„¯ƒ½ïÿÿ„{‹½ïÿÿH‹µ8ïÿÿL‰À1ÒHƒîH÷÷‹‘H…À‰uíH‰µ0ïÿÿHƒ½ÀîÿÿtLƒ½ îÿÿtC‹€îÿÿH‹•ÀîÿÿH‹µ8ïÿÿH‹½0ïÿÿL‰…8îÿÿD‰HîÿÿèyÙÿÿD‹HîÿÿL‹…8îÿÿH‰…0ïÿÿƒ½ïÿÿ „™ H‹•8ïÿÿH+•0ïÿÿH‰•ðîÿÿHÁúHc…ïÿÿH9Ђêÿÿƒ½Üîÿÿ„uêÿÿM…À„lêÿÿƒ½ïÿÿ…_êÿÿHƒ­0ïÿÿH‹½8ïÿÿH‹µ0ïÿÿH)÷Ç0H‰½ðîÿÿé4êÿÿÆ…oîÿÿ ƒ½¼îÿÿX¹@ŸP¸àŸPHDȃ½äîÿÿ „oƒ½äîÿÿ„;ƒ½äîÿÿ„Á‹½äîÿÿH‹µ8ïÿÿL‰À1ÒHƒîH÷÷‹‘H…À‰uíH‰µïÿÿƒ½`îÿÿtMHƒ½ÀîÿÿtC‹€îÿÿH‹•ÀîÿÿH‹µ8ïÿÿH‹½ïÿÿL‰…8îÿÿD‰Hîÿÿè2ØÿÿD‹HîÿÿL‹…8îÿÿH‰…ïÿÿƒ½äîÿÿ „7H‹•8ïÿÿH+•ïÿÿHcµ(ïÿÿH‰ÐH‰•(ïÿÿHÁøH9Æ'ðÿÿƒ½|îÿÿ„ðÿÿM…À„ðÿÿƒ½äîÿÿ…ðÿÿHƒ­ïÿÿH‹…8ïÿÿH‹½ïÿÿH)øÇ0H‰…(ïÿÿéÙïÿÿÇ…ïÿÿéjýÿÿƒ½Ðîÿÿ„) H‹‹ H‹A H;A(ƒ Ç+HƒÀH‰A é]éÿÿƒ½Ðîÿÿ„) H‹“ H‹B H;B(ƒÑ!Ç+HƒÀH‰B éèûÿÿƒ½¨îÿÿ„Æ H‹‹ H‹A H;A(ƒ0 Ç+HƒÀH‰A éèïÿÿL‰… ïÿÿM‰ýI‰ØD‹¥ïÿÿH‹èîÿÿD‹½ïÿÿH‹E¸I9ÀICÀH‰ÂH‰…8ïÿÿ‹CtHÁâHJƒàHƒáðH)ÌH‰@îÿÿLL$IƒáðƒøöL‰ÏL‰Hîÿÿ÷ÖèÖ9üÿH‹…8ïÿÿH‹@îÿÿL‹HîÿÿHÁàHƒÀH)ÄH|$H)ÌL\$HƒçðIƒãðHƒ½°îÿÿH‰½ïÿÿH‰½èîÿÿ„äL‹… ïÿÿE1ÒD‰¥ïÿÿL‰µ(ïÿÿM‰ÔH‰ïÿÿE‰úM‰ÞM‰ïL‰ÃM‰ÍëBHcS0LcCH‰ßH‹@ñ'D‰•PîÿÿHÁâI ITBÿÀD‹•PîÿÿIƒÄHƒÃHL;¥°îÿÿsN‹C,ƒøÿt H˜AÇD…‹C(ƒøÿt H˜AÇD…H‹s8H…ötÀHƒþu‰HcC0‹S4A‰T…HcC0‹S@A‰†ë¡M‰óD‹¥ïÿÿH‹ïÿÿL‹µ(ïÿÿM‰éM‰ýE‰×Hƒ½8ïÿÿ„rßÿÿM‰èH‹…ïÿÿI‰Ý1ÉL‰ËëLƒúƒúއ‹µ@ÿÿÿƒþ/‡Ò‰òH•PÿÿÿƒÆ‰µ@ÿÿÿ‹‰HƒÁHƒÀH98ïÿÿ†w ‹‹ƒú~¬út=tƒúŽ­öÆ€u H‹5ð'H…ö…èHÇÇ@ëž‹µ@ÿÿÿƒþ/w‰òH•PÿÿÿƒÆ‰µ@ÿÿÿH‹H‰évÿÿÿH‹•HÿÿÿHrH‰µHÿÿÿëáút¼ú„)ÿÿÿú…xÿÿÿH‹•HÿÿÿHƒÂHƒâðHrH‰µHÿÿÿH‹2‹zH‰0‰xéÿÿÿÇ…(ïÿÿéûÿÿ‰ÀÇ…0ïÿÿÇ…ðîÿÿ¶€À§PH‹ÅÀ¡PésÙÿÿƒ½îÿÿ„¤A‹Uƒú/‡\‰ÐIEƒÂA‰UD¶E1ÉÇ…ÐîÿÿÇ…Ìîÿÿézäÿÿƒ½hîÿÿ„Ò H‹½ ïÿÿH‹•èîÿÿE1ÉHcD0HÁàD¶Ç…¨îÿÿÇ…¤îÿÿé)ëÿÿƒ½¨îÿÿ„tH‹“ H‹B H;B(ƒC Ç+HƒÀH‰B ézöÿÿ‹µDÿÿÿþ¯‡•þÿÿ‰òƒÆH•Pÿÿÿ‰µDÿÿÿésþÿÿH‹µ8ïÿÿL‰ÂH‰ÐHÁêHƒîƒàH…Ò‹‰uèé;úÿÿ…Ò~AHcÒ¾ H‰ßD‰Hîÿÿè ûÿAüþÿÿD‹Hîÿÿ‡Føÿÿ‰Â¸ÿÿÿD)à9‡LçÿÿF$"1ÒéHäÿÿH‹µ8ïÿÿL‰ÂH‰ÐHÁêHƒîƒàH…Ò‹‰uèéøÿÿH‹µ8ïÿÿL‰ÂH‰ÐHÁêHƒîƒàH…Ò‹‰uèéZøÿÿH‹½8ïÿÿL‰ÆH¸ÍÌÌÌÌÌÌÌHƒïH÷æHÁêH’HÀH)ÆH…Ò‹±H‰Ö‰uÔH‰½0ïÿÿéøÿÿƒ½\îÿÿ„¼ùÿÿH‹•8ïÿÿH‹½ïÿÿL‰…8îÿÿD‰HîÿÿH‰ÖèˆÒÿÿH‹8ïÿÿH‰…ïÿÿHcµ(ïÿÿD‹HîÿÿL‹…8îÿÿH)ÁH‰ÈH‰(ïÿÿHÁøé‚ùÿÿH‹µ8ïÿÿL‰ÂH‰ÐHÁêHƒîƒàH…Ò‹‰uèéÎøÿÿH‹½8ïÿÿL‰ÆH¸ÍÌÌÌÌÌÌÌHƒïH÷æHÁêH’HÀH)ÆH…Ò‹±H‰Ö‰uÔH‰½ïÿÿ铸ÿÿI‹EHPI‰UéÖáÿÿƒ½(ïÿÿÿ„bHcµ(ïÿÿL‰ÇL‰…8îÿÿèÂ`üÿÇ…8ïÿÿH‰ÁA‰ÁL‹…8îÿÿéÞÿÿƒ½ïÿÿÿ„5HcµïÿÿL‰ÇL‰…8îÿÿèƒ`üÿÇ…8ïÿÿI‰Ç‰ÁL‹…8îÿÿééßÿÿ…Ò~AHcÒ¾ H‰ßD‰HîÿÿèÍûÿAüþÿÿD‹Hîÿÿ‡Ñ‰Â¸ÿÿÿD)à9‡åÿÿF$"1ÒééÿÿH‹•HÿÿÿHrH‰µHÿÿÿé)ûÿÿƒ½¬îÿÿ…*A‹Uƒú/‡Ï‰ÐIEƒÂA‰UD‹E1ÉÇ…ÐîÿÿÇ…ÌîÿÿéÊàÿÿI‹EHPI‰UéR×ÿÿƒ½Œîÿÿ„ZöÿÿH‹•8ïÿÿH‹½0ïÿÿL‰…8îÿÿD‰HîÿÿH‰ÖèmÐÿÿH‹8ïÿÿH‰…0ïÿÿD‹HîÿÿL‹…8îÿÿH)ÁH‰ÊH‰ðîÿÿHÁúéöÿÿH‹µ8ïÿÿH‹½8ïÿÿÆ…oîÿÿ HƒîÇGü0H)÷H‰µïÿÿ1öH‰øH‰½(ïÿÿHÁøé/÷ÿÿƒ½Øîÿÿ„BA‹Uƒú/‡C‰ÐIEƒÂA‰UL‹E1ÉÇ…¨îÿÿÇ…¤îÿÿéÅæÿÿI‹EHPI‰UéˆÝÿÿI‹EHPI‰Ué˜äÿÿH‹‹ H‹A H;A(ƒ´Ç0HƒÀH‰A Aüÿÿÿ„\ãÿÿH‹‹ H‹A H;A(ƒ_D‰8HƒÀAƒÿÿH‰A „2ãÿÿAüþÿÿ„%ãÿÿAƒÄévàÿÿH‹“ H‹B H;B(ƒ„Ç0HƒÀH‰B Aüÿÿÿ„ìâÿÿH‹“ H‹B H;B(ƒ;D‰8HƒÀAƒÿÿH‰B „ÂâÿÿAüþÿÿ„µâÿÿAƒÄƒ­ïÿÿéËòÿÿƒ½hîÿÿ„©A‹Uƒú/‡‹‰ÐIEƒÂA‰UD¶E1ÉÇ…¨îÿÿÇ…¤îÿÿéuåÿÿ…Ò‰qøÿÿƒúÿ…ÃøÿÿAöEt…N¹p Pºõ¾SO¿0SOèÁ…ùÿƒ½Ìîÿÿ„`ßÿÿH‹‹ H‹A H;A(ƒùÇ HƒÀH‰A é'ßÿÿƒ½Ìîÿÿ„òñÿÿH‹“ H‹B H;B(ƒ—Ç HƒÀH‰B é²ñÿÿƒ½hîÿÿ„.H‹½ ïÿÿH‹•èîÿÿHcD0HÁàL¾éŠäÿÿƒ½¤îÿÿ„9ðÿÿH‹“ H‹B H;B(ƒ¯Ç HƒÀH‰B éùïÿÿH‹…8ïÿÿH‹•8ïÿÿHÇ…ðîÿÿÇ…Ôîÿÿ HƒèÇBü0ºH‰…0ïÿÿéóÿÿA‹Uú¯‡T‰ÐIEƒÂA‰UH‹H‰Eé·ßÿÿ¿ÐSOè‚Fûÿ‰ÀÇ…0ïÿÿÇ…ðîÿÿ¶€À§PH‹ÅÀ¡Pé•ÑÿÿH‹‹ H‹A H;A(ƒÁÇ0HƒÀH‰A Aüÿÿÿ„àÿÿH‹‹ H‹A H;A(ƒi‹µ¼îÿÿ‰0HƒÀƒþÿH‰A „bàÿÿAüþÿÿ„UàÿÿAƒÄé›äÿÿL‰ÇL‰…8îÿÿèõÁÇ…8ïÿÿI‰Ç‰ÁL‹…8îÿÿé»Úÿÿƒ½¤îÿÿ„NäÿÿH‹‹ H‹A H;A(ƒìÇ HƒÀH‰A éäÿÿƒ½ïÿÿ­ƒ½ïÿÿÿ„ 1ÉÇ…8ïÿÿE1ÿA¸” PéRÚÿÿI‹EHPI‰Ué¨þÿÿ1ÀHƒÉÿL‰Çò®H÷ÑHƒéH‰(ïÿÿé‰×ÿÿƒ½(ïÿÿnƒ½(ïÿÿÿteE1É1ÉÇ…8ïÿÿA¸” PéÐ×ÿÿL‰ÇL‰…8îÿÿèÁÇ…8ïÿÿH‰ÁA‰ÁL‹…8îÿÿé¥×ÿÿ¹Ç…8ïÿÿA¿A¸  Pé¬ÙÿÿA¹¹Ç…8ïÿÿA¸  Pée×ÿÿH‹“ H‹B H;B(ƒ= Ç0HƒÀH‰B Aüÿÿÿ„ÃÞÿÿH‹“ H‹B H;B(ƒñ ‹½¼îÿÿ‰8HƒÀƒÿÿH‰B „•ÞÿÿAüþÿÿ„ˆÞÿÿAƒÄƒ­ïÿÿéHíÿÿƒ½„îÿÿ…öH‹ ïÿÿH‹µèîÿÿE1ÉHcD0HÁàD‹0Ç…¨îÿÿÇ…¤îÿÿéKáÿÿL‰ëM‰ÅéÓÿÿA‹Uƒú/‡´ ‰ÐIEƒÂA‰UH‹“ ‹0H‹B H;B(‚jÒÿÿH‰ßèX ûÿƒøÿ…lÒÿÿéâÝÿÿ‹…¼îÿÿƒè ƒøZ‡™äÿÿ‰À¶€À§PH‹ÅÀ PéÎÿÿI‹EHPI‰UéÎêÿÿL‰ãE‰ìI‰ÕH‹½8ïÿÿƒ?ÿ„¾H‹“ H‹B H;B(ƒ} Ç.HƒÀH‰B ùÿÿÿ„aÝÿÿH‹•8ïÿÿL… ÿÿÿ¾ Hc1ÒIƒèH÷ö‹•@ŸPH…ÀA‰uèL‰êƒÁE‰åI‰ÜL‰Ãë>I‹„$ ‹3H‹x H;x(ƒÙ ‰7HƒÇƒþÿH‰x „¾ ùÿÿÿ„ª HƒÃƒÁH9 îÿÿw¹L‰ãE‰ìI‰ÕH‹½8ïÿÿ‹w…öt7H‹“ H‹B H;B(ƒñ ‰0HƒÀƒþÿH‰B „œÜÿÿùÿÿÿ„ÜÿÿƒÁAüþÿÿ‡ ¸ÿÿÿD)à9Á‡pÜÿÿF$!éFÑÿÿH‹½(îÿÿ1À¹‹•ïÿÿó«‹…(ïÿÿ‰•dÿÿÿ¶•Øîÿÿ‹¼îÿÿ‰…`ÿÿÿ¶…„îÿÿ‰hÿÿÿƒâ4•¶•|îÿÿƒà ¶…äîÿÿƒâƒà È Õ¶•¤îÿÿ ð ȶ”îÿÿƒâÁâ Ѓá¶•¨îÿÿÁá ȶ`îÿÿƒâÁâÁá РȈ…lÿÿÿ¶…\îÿÿƒàÁàƒÈƒ½äîÿÿˆ…mÿÿÿ¾…oîÿÿ‰…pÿÿÿ„é I‹EHƒÀHƒàðHPI‰U‹PH‹‰UˆH‰E€HE€HU°Hµ`ÿÿÿH‰ßH‰E°è“úÿéâäÿÿ‰ÀÇ…îÿÿÇ…¬îÿÿ¶€À§PH‹ÅÀ¡PéïËÿÿI‹EHPI‰UééÜÿÿ‰ÀÇ…Ôîÿÿ Ç…àîÿÿ¶€À§PH‹ÅÀ¦Pé´ËÿÿI‹EHPI‰UésÝÿÿƒ½îÿÿ„A‹Uƒú/‡× ‰ÐIEƒÂA‰UH‹Dˆ éÔÍÿÿL‰ÿ茅þÿ…À…/áÿÿL‰ÿè<ãûÿH…ÀH‰…ïÿÿ„tÉÿÿL½ïÿÿL‰½8ïÿÿA‹éàÿÿH‹³ H‹F H;F(ƒ Ç-HƒÀH‰F éâÿÿ¨„ âÿÿH‹³ H‹F H;F(ƒ] Ç HƒÀH‰F H‹½8ïÿÿA‰È‰Ñ‹•ïÿÿ¶G éËáÿÿH‹½(îÿÿ1À¹‹•ïÿÿó«‹…(ïÿÿ‰•dÿÿÿ¶•Øîÿÿ‹¼îÿÿÆ…mÿÿÿ‰…`ÿÿÿ¶…„îÿÿ‰hÿÿÿƒâ4•¶•|îÿÿƒà ¶…äîÿÿƒâƒà È Õ¶•¤îÿÿ ð ȶ”îÿÿƒâÁâ Ѓá¶•¨îÿÿÁá ȶ`îÿÿƒâÁâÁá Рȃ½äîÿÿˆ…lÿÿÿ¾…oîÿÿ‰…pÿÿÿ„W I‹EHƒÀHƒàðHPI‰U‹PH‹‰UˆH‰E€HE€HU°Hµ`ÿÿÿH‰ßH‰E°èI»úÿézâÿÿƒ½hîÿÿ„3 H‹µ ïÿÿH‹½èîÿÿHcD0HÁàH‹8Dˆ é‹Íÿÿƒ½¬îÿÿ…ãA‹Uƒú/‡Å‰ÐIEƒÂA‰UH‹D‰ é²ËÿÿH‹“ H‹B H;B(ƒê H‹µ8ïÿÿÇ#HƒÀH‰B ¶F Ç…ïÿÿº¹A¸¾é¬ßÿÿI‹EHPI‰Ué ïÿÿH‹³ H‹F H;F(ƒ“Ç'HƒÀH‰F H‹½8ïÿÿ¶G é~ßÿÿA‹FIVH‰Öƒè0ƒø vAA‹Mƒù/‡—‰ÈIEƒÁA‰M‹I‰Ö…À‰…ïÿÿ‰ Þÿÿ‹I‰ÖÇ…ïÿÿÿÿÿÿé³ÝÿÿHƒÆ‹yЃÿ ‡) kÀ DÐëåH‹½ ïÿÿH‹•èîÿÿE1ÉHcD0HÁàD·Ç…¨îÿÿÇ…¤îÿÿéTÚÿÿI‹EHPI‰Uéw×ÿÿƒ½îÿÿtLA‹Uƒú/‡‰ÐIEƒÂA‰UL¾éN×ÿÿA‹Uú¯‡ ‰ÐIEƒÂA‰UH‹H‰Eé»Öÿÿƒ½¬îÿÿ…èA‹Uƒú/‡Ê‰ÐIEƒÂA‰ULcéöÖÿÿE…äˆàH‹ƒØH‰ÊH‰@îÿÿD‰HîÿÿL‰ÆH‰ßÿP8H‹@îÿÿD‹HîÿÿH9È…gÖÿÿIcÔ¸ÿÿÿH)ÐH9Á‡SÖÿÿG$!é)ËÿÿE…äˆêH‹ƒØ‰@îÿÿL‰úL‰ÆH‰ßÿP8L9ø‹@îÿÿ…ÖÿÿIcÔ¸ÿÿÿH)ÐI9LJÖÿÿF$!é4Éÿÿ1ÀHƒÉÿL‰Çò®H÷ÑHQÿéÐÿÿI‹EHPI‰UéñþÿÿH‹•˜îÿÿHÇ…ïÿÿH‰•8ïÿÿé¾ÌÿÿA‹Uƒú/‡·‰ÐIEƒÂA‰UD·E1ÉÇ…ÐîÿÿÇ…ÌîÿÿéŸÑÿÿL‰ÿH‰•Hîÿÿèe€þÿ…ÀH‹•Hîÿÿ…¤ÏÿÿL‰ÿH‰•HîÿÿèÞûÿH…ÀI‰ÀH‹•Hîÿÿ„<ÕÿÿÇ…8ïÿÿé‘ÏÿÿI‹EHHI‰Méeýÿÿ¹p Pº+¾SO¿xSOè›xùÿI‹EHPI‰UééýÿÿI‹EHPI‰UéEÿÿÿƒ½(ïÿÿ¸A¸€ PO…(ïÿÿ‰…(ïÿÿéˆÌÿÿA‹Uƒú/‡’‰ÐIEƒÂA‰UL‹é#àÿÿH‹½pîÿÿèG¶H‹½pîÿÿH4…è“¢þÿ…À‰…ˆîÿÿ‰Aàÿÿ¿ SOèû9ûÿHÇÀÿÿÿdH‹H‹‹p`‰µ€îÿÿH‹@PH‰…Àîÿÿ¶<t „Àt…ö…oÝÿÿHÇ…Àîÿÿé_ÝÿÿI‹EHPI‰Uéjÿÿÿ¾-H‰ßL‰…8îÿÿèaûÿƒøÿL‹…8îÿÿ…ÜãÿÿéäÓÿÿ¾-H‰ß‰•Hîÿÿè9ûÿƒøÿ‹•Hîÿÿ…ê×ÿÿé½Óÿÿ‹µ¼îÿÿH‰ßèûÿƒøÿ…õÿÿé¡Óÿÿ¾0H‰ßèûûÿƒøÿ…ºôÿÿféƒÓÿÿH‰Ï‰•HîÿÿH‰@îÿÿH‰µPîÿÿè_~þÿ…À‹•HîÿÿH‹@îÿÿH‹µPîÿÿ…"ÊÿÿH‰Ï‰•HîÿÿH‰µPîÿÿèîÛûÿ‹•HîÿÿH‰…ïÿÿH‹ïÿÿH‹µPîÿÿHcÂH„€H‰…8ïÿÿé ÊÿÿI‹EHPI‰Ué-îÿÿI‹EHPI‰Ué2üÿÿA‹Uƒú/‡—‰ÐIEƒÂA‰UL¿é Óÿÿ¹p Pº{¾SO¿xSOè>vùÿH‰ßCÿȃøþ„´ôÿÿ…ÀˆŽÒÿÿAüþÿÿ†4Üÿÿ¹p Pºs¾SO¿HSOèvùÿI‹EHPI‰UéHôÿÿ¹p Pº,¾SO¿xSOèÖuùÿI‹EHPI‰Uéeÿÿÿ¹p Pº,¾SO¿HSOè¬uùÿ¾-H‰ßL‰…8îÿÿèhûÿƒøÿL‹…8îÿÿ…àÿÿéëÑÿÿA‹Uƒú/w/‰ÐIEƒÂA‰UL‹é‚ÉÿÿH‰ßè-ûÿƒøÿ…¢Äÿÿ@é³ÑÿÿI‹EHPI‰UëÐH‰ßèûÿƒøÿ…ÆÿÿéÑÿÿ÷ÚƒÈ ‰•ïÿÿ‰VˆF Ç…”îÿÿéãÇÿÿ¹p Pº ¾SO¿xSOèîtùÿÇÿÿÿÿÇ…(ïÿÿÿÿÿÿéÝÇÿÿL‰ãé9ÑÿÿL‰ãé1ÑÿÿL‰çH‰•Hîÿÿ‰@îÿÿè„ûÿƒøÿH‹•Hîÿÿ‹@îÿÿ…ôÿÿL‰ãéþÐÿÿ¾.H‰ß‰@îÿÿèSûÿƒøÿ‹@îÿÿ„ÜÐÿÿéjóÿÿ¹p Pº{¾SO¿HSOèVtùÿH‰ß‰@îÿÿèûÿƒøÿ‹@îÿÿ„¡ÐÿÿéôÿÿA‹Uú¯w2‰ÐIEƒÂA‰UH‹H‰E€éõÿÿ¹p Pº•¾SO¿HSOèösùÿI‹EHPI‰Uë;%H‰ßè«ÿúÿƒøÿ…Œ×ÿÿfé3Ðÿÿ¾-H‰ß‰•Hîÿÿ‰@îÿÿè‚ÿúÿƒøÿ‹•Hîÿÿ‹@îÿÿ„Ðÿÿéè×ÿÿ¾+H‰ß‰•Hîÿÿ‰@îÿÿèOÿúÿƒøÿ‹•Hîÿÿ‹@îÿÿ„ÒÏÿÿé’×ÿÿI‹EHPI‰Ué7÷ÿÿA‹Uƒú/‡‰ÐIEƒÂA‰UH‹fD‰ éÎÂÿÿ¾IH‰ß‰@îÿÿèëþúÿƒøÿ‹@îÿÿ„tÏÿÿé˜×ÿÿ¾'H‰ß‰•Hîÿÿ‰@îÿÿD‰…8îÿÿè·þúÿƒøÿ‹•Hîÿÿ‹@îÿÿD‹…8îÿÿ„3Ïÿÿé:÷ÿÿI‹EHPI‰Ué{ÿÿÿ¹p PºJ¾SO¿xSOèœrùÿH‹½ïÿÿèðÈûÿé9Âÿÿƒ½ØîÿÿtWA‹Uƒú/w@‰ÐIEƒÂA‰UH‹IcÄH‰é¥ÃÿÿA‹Uú¯wQ‰ÐIEƒÂA‰UH‹H‰E€é¥õÿÿI‹EHPI‰U뿃½hîÿÿt=A‹Uƒú/w&‰ÐIEƒÂA‰UH‹Dˆ éHÃÿÿI‹EHPI‰Uë®I‹EHPI‰UëÙƒ½„îÿÿ…‚A‹Uƒú/wk‰ÐIEƒÂA‰UH‹D‰ éþÂÿÿ‰ÆH‰ßè}ýúÿƒøÿ…òÀÿÿéÎÿÿH‹‹ H‹A H;A(ƒ‚Ç0HƒÀH‰A ‰ÑéÖÕÿÿI‹EHPI‰Ué%óÿÿI‹EHPI‰Uë”A‹Uƒú/wl‰ÐIEƒÂA‰UH‹fD‰ é{Âÿÿƒ½„îÿÿuXH‹• ïÿÿH‹èîÿÿHcD0HÁàH‹D‰ éOÂÿÿ¾0H‰ß‰•HîÿÿèÅüúÿƒøÿ‹•Hîÿÿ„NÍÿÿéeÿÿÿI‹EHPI‰Uë“H‹µ ïÿÿH‹½èîÿÿHcD0HÁàH‹8fD‰ éöÁÿÿL‰ãéÍÿÿL‰ãéÍÿÿA‹Uƒú/wu‰ÐIEƒÂA‰U¶8葯H‹“ ‰ÆH‹B H;B(‚DÁÿÿH‰ßè2üúÿƒøÿ…FÁÿÿé¼Ìÿÿ¾ H‰ß‰•Hîÿÿ‰@îÿÿè üúÿƒøÿ‹•Hîÿÿ‹@îÿÿ„ŽÌÿÿé~òÿÿI‹EHPI‰U늾#H‰ßèÖûúÿƒøÿ„eÌÿÿH‹8ïÿÿ¶A é ôÿÿ…À„|ôÿÿƒù$…sôÿÿ@éC½ÿÿ¾+H‰ß‰•Hîÿÿèûúÿƒøÿ‹•Hîÿÿ…LÉÿÿéÌÿÿ¾ H‰ß‰•Hîÿÿèiûúÿƒøÿ‹•Hîÿÿ…ÐÿÿéíËÿÿL‰ÿèÝvþÿ…À…VÙÿÿL‰ÿèÔûÿH…ÀH‰…ïÿÿ„źÿÿHc…ïÿÿH‹•ïÿÿH„‚€H‰…8ïÿÿéFÙÿÿ¾+H‰ß‰•Hîÿÿèøúúÿƒøÿ‹•Hîÿÿ…©Ïÿÿé|ËÿÿH‰×H‰•Hîÿÿèevþÿ…ÀH‹•Hîÿÿ…uÃÿÿH‰×èÔûÿH…ÀI‰À„JËÿÿÇ…8ïÿÿépÃÿÿ¾ H‰ßL‰…8îÿÿèúúÿƒøÿL‹…8îÿÿ… ÛÿÿéËÿÿ‹µ¼îÿÿH‰ß‰•Hîÿÿèfúúÿƒøÿ‹•Hîÿÿ…êÿÿéêÊÿÿ¾0H‰ß‰•Hîÿÿè?úúÿƒøÿ‹•Hîÿÿ…+êÿÿéÃÊÿÿH‰÷‰•Hîÿÿ‰@îÿÿH‰µPîÿÿè uþÿ…À‹•Hîÿÿ‹@îÿÿH‹µPîÿÿ…7ÐÿÿH‰÷è=ÓûÿH…ÀH‰…ïÿÿ„u¹ÿÿHc…ïÿÿH‹ïÿÿH„€H‰…8ïÿÿA‹é"Ðÿÿ¹p Pºz¾SO¿HSOèÏmùÿ¾+H‰ßL‰…8îÿÿè‹ùúÿƒøÿL‹…8îÿÿ…ÚÿÿéÊÿÿ¾ H‰ß‰•Hîÿÿècùúÿƒøÿ‹•Hîÿÿ…ÇÿÿéçÉÿÿ¾-H‰ß‰•Hîÿÿè<ùúÿƒøÿ‹•Hîÿÿ…øÆÿÿéÀÉÿÿ¾ H‰ßL‰…8îÿÿèùúÿƒøÿL‹…8îÿÿ…9Øÿÿé—ÉÿÿI‹EHPI‰Ué¹åÿÿHcÒHƒ|ÖÀ„ àÿÿIc‹Hµ@ÿÿÿHƒÂHƒâðH)ÔH|$HƒçðH‰8Lc ‹H‹ÚÏ'H‰…PîÿÿH‰@îÿÿL‰…8îÿÿL‰HîÿÿBÿTÊÀH‹…PîÿÿH‹@îÿÿL‹…8îÿÿL‹HîÿÿéHßÿÿƒ½Øîÿÿ„ØA‹Uƒú/wA‰ÐIEƒÂA‰UL‹éÖËÿÿƒ½ïÿÿÙÇ…ïÿÿÇ…0ïÿÿA¸€ Pé¨ÂÿÿI‹EHPI‰Uë¾H‹½pîÿÿèOªH‹½pîÿÿH4…è›–þÿ…À‰…ˆîÿÿˆôÿÿéîÊÿÿ¹p Pºz¾SO¿xSOèïkùÿI‰ÎE1ÀHÇ…°îÿÿé£ÜÿÿHÇÀÿÿÿdH‹H‹‹x`‰½€îÿÿH‹@PH‰…Àîÿÿ¶<t„À…Q¹ÿÿHÇ…ÀîÿÿéA¹ÿÿI‹EHPI‰Uéqåÿÿƒ½„îÿÿ…•A‹Uƒú/w~‰ÐIEƒÂA‰UD‹E1ÉÇ…¨îÿÿÇ…¤îÿÿéÄÊÿÿ¾+H‰ßL‰…8îÿÿè÷úÿƒøÿL‹…8îÿÿ…&Öÿÿé„Çÿÿƒ½„îÿÿudH‹ ïÿÿH‹µèîÿÿHcD0HÁàLcéTÊÿÿI‹EHPI‰UëA‹Uƒú/wN‰ÐIEƒÂA‰UD·E1ÉÇ…¨îÿÿÇ…¤îÿÿé.ÊÿÿH‹½ ïÿÿH‹•èîÿÿHcD0HÁàL¿éïÉÿÿI‹EHPI‰Uë±D‰þH‰ß‰•Hîÿÿè?öúÿƒøÿ‹•Hîÿÿ…–ãÿÿéÃÆÿÿ¾0H‰ß‰•Hîÿÿèöúÿƒøÿ‹•Hîÿÿ…8ãÿÿéœÆÿÿD‰þH‰ßèùõúÿƒøÿ…ÆãÿÿéƒÆÿÿ¾0H‰ßèÛõúÿƒøÿ…qãÿÿfécÆÿÿ¾%H‰ßè»õúÿƒøÿ…íÆÿÿféCÆÿÿ¾%H‰ßè›õúÿƒøÿ…Çÿÿfé#Æÿÿƒ½hîÿÿ@tBA‹Uƒú/w+‰ÐIEƒÂA‰UL¾éðÈÿÿÇ…0ïÿÿA¸€ PéÙ¿ÿÿI‹EHPI‰UëÔƒ½„îÿÿuA‹Uƒú/w4‰ÐIEƒÂA‰ULcé¦ÈÿÿA‹Uƒú/w$‰ÐIEƒÂA‰UL¿é‡ÈÿÿI‹EHPI‰UëËI‹EHPI‰UëÛf.„H‰\$àH‰l$èH‰ûL‰d$ðL‰l$øI‰ôH숂¾I‰Õè2ûÿƒø½ÿÿÿÿt0‰èH‹œ$h‚H‹¬$p‚L‹¤$x‚L‹¬$€‚HĈ‚ÃfDH„$à€H‰çL‰æHÇ€L‰êH‰œ$(‚H‰„$ €‹CtE1äH‰¤$H‰¤$ø€H‰¼$Ç„$À€Ç„$€€­ûHÇ„$ˆ€‰„$t€HÇ„$Ø€ ¨Pèø±ÿÿ‰Å¸H…ÀA•ÄE…ä…ÙHÇ„$@‚P!FH‰œ$H‚fƒ;xJH‹“ˆdL‹%L9Bt0¾1Àƒ=cÇ't ð±2…ë ±2…øH‹“ˆL‰BƒBH‹„$ €H‹pL‹h I)õIÁíE…í~H‹ƒØIcÕH‰ßÿP8A9ŸÿÿÿÿEèfƒ;xH‹“ˆ‹Bƒè…À‰BtDE…ä„{þÿÿH¼$@‚1ö脤´ÿégþÿÿ€H¼$@‚H‰Ú¾P!Fèc¤´ÿé!ÿÿÿfDHÇBƒ=™Æ'tðÿ uYëÿ uSëžH:Hì€è‹nþÿHÄ€éþ±ÿÿH:Hì€è nþÿHÄ€é`²ÿÿH:Hì€èUnþÿHÄ€éíþÿÿH:Hì€èjnþÿHÄ€ë•UH‰åAWAVAUATI‰ôSH‰ûHìHHÇÀ ÿÿÿH‰•XýÿÿH‰ýÿÿdH‹H‰…€ýÿÿH‹H‰…ýÿÿH‹H‰…@ÿÿÿH‹BH‰…HÿÿÿH‹BH‰…Pÿÿÿ‹‡À…À…^LJÀÿÿÿÿ‹¨…Ê'M…ä„ÚHH‹€ýÿÿH‹QH‹r@H‰µýÿÿH‹RHH‰•ˆýÿÿ€:ºHE•ˆýÿÿH‰•ˆýÿÿºH…ҕ¶҅҉•ôüÿÿ…^HÇ…ÿÿÿP!FH‰ÿÿÿf…À‰?H½°ýÿÿHÇEÀL‰¥¨ýÿÿHÇ… ýÿÿHÇ…@ýÿÿE1ÉHÇ»HÇ…HýÿÿHÇ…8ýÿÿH‰½ÐüÿÿL‰çHÇ…(ýÿÿHÇ… ýÿÿÇ…týÿÿE1öÇ…TýÿÿD¶?E1íE1ÛE„ÿ„Ë@AöÇ€…^Hƒ…¨ýÿÿA€ÿ%„üH‹€ýÿÿA¶×H‹AhöDP …ÒAƒýÿ„¸H‹CH;CƒAND¶(HƒÀH‰CE…öMct=H‹½€ýÿÿIcÕH‹GhöDP t(H‹SH;SƒhGD¶*HƒÂH‰SIcÕIƒÄöDP uØE¶ÿE9ý…ÛE1öH‹½¨ýÿÿM‰ãD¶?E„ÿ…9ÿÿÿE…ö…¥E1äfƒ;‰‡‹…ôüÿÿ…À…«Hƒ½ýÿÿt L‹…ýÿÿE ƒ½Týÿÿÿ„I:Hƒ½Hýÿÿt5H‹…HýÿÿH‹8è#ºûÿH‹•HýÿÿHÇëƒøÿ„£ýÿÿÇ…Týÿÿÿÿÿÿ‹…TýÿÿHeØ[A\A]A^A_ÉÄH‹½¨ýÿÿL‰ üÿÿL‰üÿÿèvöûÿH‹½¨ýÿÿHUÀH‰Æè¤…ÀL‹ üÿÿL‹üÿÿŽ©Aƒýÿ„CH‹•¨ýÿÿF<M‰ÜH‹KH;KƒóL¶HƒÁH‰KD¶*A9Å…ÑIƒÄD‰øHƒÂD)à…ÀÈH‰•¨ýÿÿé©þÿÿM‰ÜA¾éšþÿÿfH‹…¨ýÿÿD¶ Ç…hýÿÿA¶Äƒè0ƒø ‡H‹•¨ýÿÿ‰…hýÿÿH‹…¨ýÿÿD¶bHƒÀA¶Ôƒê0ƒú w0‹•hýÿÿ@’E¶äHƒÀATTÐD¶ A¶Ìƒé0ƒù và‰•hýÿÿA€ü$„D‹…hýÿÿÇ…ýÿÿÇ…hýÿÿE…ÀºÿÿÿÿDDÂAT$´Lx€ú.L‰½¨ýÿÿ†HD‰âD„Ò„úLxA‰ÔL‰½¨ýÿÿE…öu+A€üc„ËA€ü[„ÁA€ün„·A€üC„ªIÇÆÐÿÿÿ‹µtýÿÿH‹•€ýÿÿdA‹dAÇf.„Aƒýÿ„«JH‹CH;Cƒ³JD¶(HƒÀH‰CIƒÃH‹BhIcýöDx uÊAƒýÿ‰µtýÿÿdA‰t:IƒëA¶õH‰ßD‰…˜üÿÿL‰ üÿÿL‰üÿÿèåJûÿL‹üÿÿL‹ üÿÿD‹…˜üÿÿAƒì%A€üS†bëÝØA¼éÞüÿÿHÇÀÐÿÿÿ‹•týÿÿd‰‹½Týÿÿ…ÿ…A¼Ç…Týÿÿÿÿÿÿé¨üÿÿDHHH‰¨ýÿÿD¶`Hƒ½ˆýÿÿ„H‹•¨ýÿÿÇ…ýÿÿ1ÉHƒÂëA€ü*tA€üIu<€ÍD¶"HƒÂA€ü'HBÿußA€ü*tA€üItß‰È €A€ü'DÈëÕfDƒÉëÊA¶Ô‰ýÿÿE1ÀJЃù ‡—€G€HƒÀFDBжJЃù vèD¶ éÊýÿÿ€‹½TýÿÿHÇÀÐÿÿÿ‹µtýÿÿ…ÿd‰0„ÿÿÿfƒ;A¼ˆ·ûÿÿë<¶Òÿ$ÕH©PƒýÿÿL‰øA¶é£ýÿÿE¶äBÿ$åÀªPL‹…¨ýÿÿE¶8é¦úÿÿH‹“ˆ‹Bƒè…À‰B…aûÿÿHÇBƒ=ý¾'t ðÿ …9mëÿ …/mé8ûÿÿH‹“ˆdL‹%L9Bt0¾1Àƒ=¿¾'t ð±2…më ±2… mH‹“ˆL‰BƒBérùÿÿýÿÿ L‰øA¶€úl…ÚüÿÿƒýÿÿIGA¶WéÅüÿÿA¶€úl„ )ƒýÿÿL‰øé©üÿÿA¶€úh„)ƒýÿÿL‰øéüÿÿA¶€úSt€úst €ú[…ŒüÿÿöCtf…yüÿÿýÿÿL‰øéXüÿÿƒýÿÿL‰øA¶éEüÿÿƒýÿÿ@Ç…˜ýÿÿ Aƒýÿ„:þÿÿH‹CH;Cƒ»MD¶(HƒÀH‰CAƒý+Mc„ZE1öAƒý-Aº„GAƒý0„M‰ò‹˜ýÿÿ…É…ý÷…ýÿÿ…Û^Ç…˜ýÿÿ ‹ýÿÿM‰ÖE‰ïE‰Ãဉ`ýÿÿL‰á@E…Û… I‰ÌM‰òE‰ýM…Ò„£Iƒú„öAƒýÿt,A¶õH‰ßL‰ üÿÿL‰•¸üÿÿIƒìèGûÿL‹•¸üÿÿL‹ üÿÿL;• ýÿÿM‰Ï„PCÆ‹…ýÿÿƒà@‰…xýÿÿ„W‹ýÿÿ‹•˜ýÿÿHu¨L‰ÿá€è©ÅùÿH‰E°L;}¨„íûÿÿE1öö…ýÿÿM‰ù… øÿÿ‹…xýÿÿ…À„Œö…ýÿÿ„}D‹µhýÿÿE…ö…‹•@ÿÿÿƒú/‡ù ‰ÐH…PÿÿÿƒÂ‰•@ÿÿÿH‹H‹U°H‰ƒ…TýÿÿM‰ùE1öé8øÿÿƒ¥ýÿÿùýÿÿÇ…˜ýÿÿéþÿÿö…ýÿÿ„X‹µýÿÿƒæ‰µxýÿÿ…ë÷…ýÿÿ!„jƒ½hýÿÿ…e.‹•@ÿÿÿƒú/‡?.‰ÐH…PÿÿÿƒÂ‰•@ÿÿÿH‹H‰…HýÿÿHƒ½Hýÿÿ„Úúÿÿ¿D‰…˜üÿÿL‰ üÿÿL‰üÿÿèÙÀûÿH‹½HýÿÿH…ÀH‰…8ýÿÿD‹…˜üÿÿL‹ üÿÿL‹üÿÿH‰„ç1Hƒ½ ýÿÿ„„-H‹• ýÿÿH‹Hƒø HP„l-H‹µ ýÿÿH‹½HýÿÿHÇ…@ýÿÿdH‰|ÆH‰Aƒýÿ„1%H‹CH;Cƒ9ED¶(HƒÀH‰CH‹€ýÿÿHÇ…`ÿÿÿIcÕMsL½`ÿÿÿH‹AhöDP …‹µýÿÿL‹¥8ýÿÿL‰`ýÿÿD‰…˜ýÿÿæ!‰µhýÿÿf„D‹xýÿÿDˆ­ ÿÿÿE…Û„Ùf„Hµ ÿÿÿ1ÿL‰ùºèj›Hƒøþ…øH‹CH;CƒK9D¶(HƒÀH‰CIƒÆDˆ­ ÿÿÿë¹ö…ýÿÿ„NAƒøÿ¸DDÀ‹…ýÿÿƒà‰…xýÿÿ…û÷…ýÿÿ!„ƒ½hýÿÿ…Ú1‹•@ÿÿÿƒú/‡´1‰ÐH…PÿÿÿƒÂ‰•@ÿÿÿH‹H‰…HýÿÿHƒ½Hýÿÿ„ÖøÿÿAø¸D‰…˜üÿÿANÀL‰ üÿÿL‰üÿÿH˜H‰ÇH‰…@ýÿÿHÁç躾ûÿH‹•HýÿÿH…ÀH‰…8ýÿÿD‹…˜üÿÿL‹ üÿÿL‹üÿÿH‰„È/Hƒ½ ýÿÿ„†,H‹ ýÿÿH‹Hƒø HP„n,H‹½ ýÿÿH‹HýÿÿH‰H‰LÇAƒýÿ„5ùÿÿH‹CH;CƒfD¶(HƒÀH‰CD‰…˜ýÿÿ‹…˜ýÿÿMcÀ‹½ýÿÿL‹¥8ýÿÿM{Lµ ÿÿÿHÇE HÇ…hýÿÿƒèL‰…ýÿÿL‰0ýÿÿç!H˜‰½`ýÿÿH‰…øüÿÿf.„D‹…xýÿÿDˆ­ ÿÿÿE…À…‹½`ýÿÿ…ÿt"H‹…HýÿÿH‹•@ýÿÿH‹8HÁâHI9Ä„^$H‹µ@ýÿÿH‰µýÿÿ€HM ºL‰öL‰çè™Hƒøþ…fH‹CH;Cƒx3D¶(HƒÀH‰CIƒÇDˆ­ ÿÿÿë»Aƒýÿ„Ç%H‹CH;CƒLKD¶(HƒÀH‰CIƒÃ1ÀE…ÀŸÀA)ÀAƒýÿ„æöÿÿAƒý+„çAƒý-Æ…èüÿÿ„ÖH‹€ýÿÿA¶ÕH‹Ap‹ƒøn„$ƒøi„BAƒý0„(Æ…xýÿÿeE1ÿ¶…ýÿÿ‹½ýÿÿL‰ÎH‹•ýÿÿÆ…˜ýÿÿE‰ÁÆ…`ýÿÿL‹¥ ýÿÿçƒà€HƒÂ‰½øüÿÿˆ…ýÿÿAEÐH‰•0ýÿÿƒø w\M9çI‰ö„ÇGˆ,>L‰öIƒÇE…É„½(Aƒýÿ„Z(H‹CH;CƒáID¶(HƒÀH‰C1ÀE…ÉŸÀIƒÃA)ÁAEЃø v¤€½`ýÿÿ„V¶…xýÿÿB8D>ÿ„¶E…ÉA¸ÿÿÿEOÁ€½˜ýÿÿ…ÖH‹•ýÿÿ¶¶ÐA9Õ…+9L‹µ0ýÿÿA€>u ëPE…À„ÅH‹CH;CƒvD¶(HƒÀH‰CA¶IƒÃAƒè¶ÐD9ê…²IƒÆA€>u»H‹ýÿÿ¶„À„FH‹ýÿÿO?D‰­ ýÿÿI‰ÍH‰ÙL‰Óë$@IƒÅCˆ>HƒÃA¶EIƒÇ„À„ûL‰öM9çI‰öuØHûA¼LCãID$HƒàðH)ÄLt$IƒæðH…ö„?L‰úL‰÷H‰¨üÿÿD‰…˜üÿÿD‰ üÿÿL‰üÿÿèJüÿA¶EL‹üÿÿD‹ üÿÿD‹…˜üÿÿH‹¨üÿÿé\ÿÿÿAƒýÿ„JõÿÿH‹CH;CƒFD¶(HƒÀH‰CAƒý%…¶ McE1öéÒðÿÿÇ…˜ýÿÿéÇöÿÿE1öö…ýÿÿM‰Ü…°ðÿÿö…ýÿÿ„i#ƒ½hýÿÿ…Ë9‹•@ÿÿÿƒú/‡+‰ÐH…PÿÿÿƒÂ‰•@ÿÿÿH‹M‰ÜE1öL‰édðÿÿƒýÿÿ@Ç…˜ýÿÿéRöÿÿD‹¥ýÿÿAƒä…v D‹µýÿÿAƒæ…ë÷…ýÿÿ!„ü*ƒ½hýÿÿ…H:‹•@ÿÿÿƒú/‡":‰ÐH…PÿÿÿƒÂ‰•@ÿÿÿH‹H‰…HýÿÿHƒ½Hýÿÿ„óÿÿ¿dD‰…˜üÿÿL‰ üÿÿL‰üÿÿè¹ûÿH‹•HýÿÿH…ÀH‰…(ýÿÿD‹…˜üÿÿL‹ üÿÿL‹üÿÿH‰„*Hƒ½ ýÿÿ„-H‹ ýÿÿH‹Hƒø HP„ý,H‹½ ýÿÿH‹HýÿÿHÇ…@ýÿÿdH‰LÇH‰Æ…˜ýÿÿA€?^„k!E…À¾ÿÿÿDHÆH½ ýÿÿÿ†.!AöÁL‰Ïº… %@öÇ…&%@öÇ… %‰Ñ1ÀÁéö‰ÉóH«t ÇHƒÇöÂt fÇHƒÇƒâtÆH‹½¨ýÿÿ¶<-„ <]„H‹•¨ýÿÿ„À„ÊñÿÿHƒÂ<]„ÿ<-„¤¶ÀAƶ ‰ÈëÕH‹…HÿÿÿHPH‰•HÿÿÿéöÿÿfDAƒÿÿ„ïôÿÿƒ½˜ýÿÿ„YAGЃø whAGÑ;…˜ýÿÿÉôÿÿL;µ ýÿÿE‰øM‰Ì„01ÀE…ÛGˆ4ŸÀA)ÃAƒÿÿ„<H‹CH;Cƒ¶+D¶8HƒÀH‰CHƒÁIƒÆM‰áéjôÿÿfƒ½˜ýÿÿ …dôÿÿ‹•`ýÿÿ…Ò„VôÿÿL‹…ˆýÿÿE…ÛA¼ÿÿÿEOãA¶¶ÐA9×…D‰xýÿÿL‹ ýÿÿO6M‰Å@M9Þ„IƒÅGˆ<1IƒÆA€}E‰ø„µE…ä„ÄH‹CH;CƒˆD¶8HƒÀH‰CA¶EHƒÁAƒìIƒÂ¶ÐD9út¡L‰ ýÿÿD‹xýÿÿ„À…‚E‰øE…ÛEOÜIƒîL;µ ýÿÿM‰Ì…ÐþÿÿK6¾HúHCòH‰ðH‰µ ýÿÿHƒÀHƒàðH)ÄLd$IƒäðM…É„•þÿÿL‰òL‰ÎL‰çH‰¨üÿÿDˆ…˜üÿÿD‰üÿÿè— üÿD‹üÿÿD¶…˜üÿÿH‹¨üÿÿéWþÿÿ@IúA»MCÚICHƒàðH)ÄLD$IƒàðM…É„’L‰ÎL‰ÇL‰òH‰¨üÿÿL‰…˜üÿÿL‰•¸üÿÿL‰üÿÿè üÿL‹…˜üÿÿL‹üÿÿL‹•¸üÿÿH‹¨üÿÿM‰Áé}þÿÿ@H‹½€ýÿÿIc×H‹GhöDP…§ýÿÿékòÿÿf.„HÇÀÐÿÿÿ‹½týÿÿd‰8éÍýÿÿM‰Áé1þÿÿL‰ ýÿÿD‹xýÿÿéþÿÿDL‰ ýÿÿI‰ÌL‰éH9ˆýÿÿM‰òE‰ýƒòÿÿAƒÿÿt,A¶÷H‰ßH‰¨üÿÿL‰ üÿÿIƒìè49ûÿL‹ üÿÿH‹¨üÿÿLyÿL9½ˆýÿÿshL‰¥`ýÿÿI‰ÜH‹ˆýÿÿM‰ýL‰xýÿÿH‰0ýÿÿA¶uL‰çIƒíèæ8ûÿL9ërêH‹0ýÿÿH‹…ˆýÿÿL‰ãL‹¥`ýÿÿL‹xýÿÿHQþHƒèH)ÐIÇIÄH‹…ˆýÿÿE¶/H)ÈN0éTñÿÿ‹…ýÿÿAƒý(”ÂÁè ƒà…ЄUH‹CH;CL‹…€ýÿÿM‹ppƒ77D¶(HƒÀH‰CA¶ÅIƒÄHÁàAƒ<n…H‹…€ýÿÿAƒýÿL‹pp„LH‹CH;Cƒµ6D¶(HƒÀH‰CA¶ÅIƒÄHÁàAƒ<i…ÓH‹€ýÿÿAƒýÿL‹qp„7H‹CH;Cƒk8D¶(HƒÀH‰CA¶ÅIƒÄHÁàAƒ<l…Aƒýÿ„ÑH‹CH;Cƒ´6D¶(HƒÀH‰CAƒý)…iHƒ½ ýÿÿ„IƒÄAÆ0AºégðÿÿHƒ½ ýÿÿ„™1ÀE…ÀEˆ)ŸÀA)ÀH‹CH;Cƒ÷MD¶(HƒÀH‰CIƒÄAƒý0AºA¾…sïÿÿAƒø„iïÿÿŸÀM‰Ï¶ÀA)ÀL;µ ýÿÿ„ICÆ70H‹CH;Cƒ-<D¶(HƒÀH‰CIƒÄE…ÀtH‹½€ýÿÿA¶ÕH‹GpƒD¶(HƒÀH‰CL‹…€ýÿÿIcÕIƒÆI‹@höDP „*ðÿÿL‹`ýÿÿL‰¥8ýÿÿA¶õH‰ßL‰ üÿÿè‰4ûÿL‹ üÿÿMfÿ‹½xýÿÿ…ÿ…uæÿÿH‹…8ýÿÿÇHƒÀ÷…ýÿÿ!H‰…8ýÿÿtDH‹•HýÿÿH‹:H)øHÁøH;…@ýÿÿt*H4…L‰ üÿÿèn¼ûÿH…ÀL‹ üÿÿt H‹HýÿÿH‰ƒ…TýÿÿHÇ…HýÿÿE1öéöåÿÿ¶ðH‰ßA¼èÝ3ûÿfƒ;ˆæÿÿéŠêÿÿfDHM 1ÿºL‰öèÕŠHƒøþ…†H‹CH;Cƒf!D¶(HƒÀH‰CIƒÇDˆ­ ÿÿÿë¼L‰úHƒø…T!ƒ­˜ýÿÿIƒÄ‹µ˜ýÿÿ…öŽ[H‹CH;Cƒã9D¶(HƒÀH‰CH‹…ýÿÿIƒÇHƒ­hýÿÿH‰…@ýÿÿéÅðÿÿH‹½@ýÿÿL‰úH‰½ýÿÿë‘H½ÿÿÿ1ö蔆´ÿéBåÿÿH½ÿÿÿH‰Ú¾P!Fè{†´ÿ‹é™ãÿÿM‰Åéá÷ÿÿHÇÀÐÿÿÿ‹½týÿÿA¼d‰8éìäÿÿHìHÇ… ýÿÿLL$IƒáðéGûÿÿO¸IøICÀH‰… ýÿÿHƒÀHƒàðH)ÄL|$IƒçðM…É„xëÿÿL‰ÒL‰ÎL‰ÿL‰•¸üÿÿètüÿL‹•¸üÿÿéWëÿÿA¸ÿÿÿÿé\æÿÿA¶<-t <+…÷êÿÿAƒýÿ„bçÿÿA¶õH‰ßA¼è2ûÿé4äÿÿf„ö…ýÿÿ…÷…ýÿÿ…1ƒ½hýÿÿtxH… ÿÿÿ¹H‹µXýÿÿH‰Ç󥋽hýÿÿ‹ ÿÿÿH‹…(ÿÿÿ‰Êë r‰ñ‰Ê‰ñƒï„Ø ƒú/véHƒÀ‰Îëæö…ýÿÿ…V÷…ýÿÿ…ƒ½hýÿÿ…Q,‹•@ÿÿÿƒú/‡ö‰ÐH…PÿÿÿƒÂ‰•@ÿÿÿH‹H‹U°‰éñêÿÿD‹µtýÿÿL‹¥€ýÿÿë,H‹SH;Sƒ}7D¶*HƒÂH‰SIcÅHÀI‹T$höD tAƒýÿuÎHÇÀÐÿÿÿdD‰0HÇÀþÿÿÿëÚAƒýÿ„ûâÿÿA¶õH‰ßE1äèÄ0ûÿéêâÿÿD‹µýÿÿAƒæ…uóÿÿ÷…ýÿÿ!„у½hýÿÿ…@-‹•@ÿÿÿƒú/‡é%‰ÐH…PÿÿÿƒÂ‰•@ÿÿÿH‹H‰…HýÿÿHƒ½Hýÿÿ„šåÿÿ¿D‰…˜üÿÿL‰ üÿÿL‰üÿÿ虫ûÿH‹½HýÿÿH…ÀH‰…8ýÿÿD‹…˜üÿÿL‹ üÿÿL‹üÿÿH‰„§Hƒ½ ýÿÿ„.%H‹• ýÿÿH‹Hƒø HP„%H‹µ ýÿÿH‹½HýÿÿHÇ…@ýÿÿdH‰|ÆH‰é…òÿÿD‹µýÿÿAƒøÿ¸DDÀAƒæ…÷÷…ýÿÿ!„˃½hýÿÿ……%‹•@ÿÿÿƒú/‡ò#‰ÐH…PÿÿÿƒÂ‰•@ÿÿÿH‹H‰…HýÿÿHƒ½Hýÿÿ„ŒäÿÿAø¸D‰…˜üÿÿANÀL‰ üÿÿL‰üÿÿH˜H‰ÇH‰…@ýÿÿètªûÿH‹½HýÿÿH…ÀH‰…(ýÿÿD‹…˜üÿÿL‹ üÿÿL‹üÿÿH‰„‚Hƒ½ ýÿÿ„ #H‹• ýÿÿH‹Hƒø HP„#H‹µ ýÿÿH‹½HýÿÿH‰H‰|ÆAƒýÿ„×H‹CH;Cƒ6D¶(HƒÀH‰CE…öMc…À‹…ýÿÿE‰ÇL‰xýÿÿIcÐL‰¥ýÿÿHÇ…˜ýÿÿH‰•`ýÿÿI‰ÜH‹•(ýÿÿ%!H‹@ýÿÿ‰…hýÿÿD‹hýÿÿAGÿH˜E…ÉH‰…0ýÿÿtH‹HýÿÿH‹9HH9„~I‰ÞAƒïDˆ*HƒÂE…ÿŽû'I‹D$I;D$ƒÎ2D¶(HƒÀI‰D$D‹hýÿÿHƒ…ýÿÿL‰óHƒ­˜ýÿÿE…Ét­ë”D‹½ýÿÿAƒç…ë÷…ýÿÿ!„zƒ½hýÿÿ…ž‹•@ÿÿÿƒú/‡x‰ÐH…PÿÿÿƒÂ‰•@ÿÿÿH‹H‰…HýÿÿHƒ½Hýÿÿ„†âÿÿ¿dD‰…˜üÿÿL‰ üÿÿL‰üÿÿè…¨ûÿH‹•HýÿÿH…ÀH‰…(ýÿÿD‹…˜üÿÿL‹ üÿÿL‹üÿÿH‰„“Hƒ½ ýÿÿ„½H‹ ýÿÿH‹Hƒø HP„¥H‹½ ýÿÿH‹HýÿÿHÇ…@ýÿÿdH‰LÇH‰Aƒýÿ„õâÿÿH‹CH;Cƒ¹ND¶(HƒÀH‰CH‹½€ýÿÿIcÕMcH‹GhöDP …,‹…ýÿÿD‰úE‰îL‰áL‹­@ýÿÿI‰ÜH‹µ(ýÿÿD‰Ã%!…Ò‰…˜ýÿÿu*Dˆ6D‹½˜ýÿÿHƒÆE…ÿtL‹…HýÿÿI‹8J/H9Æ„ñ"M‰ï…Û~ ƒë„|I‹D$I;D$ƒ°)D¶0HƒÀI‰D$L‹…€ýÿÿIcþHƒÁI‹@höDx …i…ÒM‰ýu¯ëƒƒ½hýÿÿ…+‹•@ÿÿÿƒú/‡‰ÐH…PÿÿÿƒÂ‰•@ÿÿÿH‹H‰…8ýÿÿHƒ½8ýÿÿ…Šèÿÿé¶àÿÿƒ½hýÿÿ…‹•@ÿÿÿƒú/‡Ü‰ÐH…PÿÿÿƒÂ‰•@ÿÿÿH‹H‰…8ýÿÿHƒ½8ýÿÿ…+æÿÿékàÿÿƒ½hýÿÿ…7‹•@ÿÿÿƒú/‡Î‰ÐH…PÿÿÿƒÂ‰•@ÿÿÿH‹H‹U°f‰éªäÿÿƒ½hýÿÿtÇH… ÿÿÿ¹H‹µXýÿÿH‰Ç󥋵hýÿÿ‹ ÿÿÿH‹…(ÿÿÿ‰Êë z‰ù‰Ê‰ùƒî„½ƒú/véHƒÀ‰ÏëæAƒý-”…èüÿÿE…À„ÃßÿÿH‹CH;CƒxKD¶(HƒÀH‰C1ÀIƒÃE…ÀŸÀA)ÀéèèÿÿH… ÿÿÿ¹H‹µXýÿÿH‰Ç󥋵hýÿÿ‹• ÿÿÿH‹(ÿÿÿ‰Ðë x‰ú‰Ð‰úƒî„ç ƒø/véHƒÁ‰×ëæHƒ½ ýÿÿ„$'E…ÀEˆ)„-ßÿÿAƒýÿ„•%H‹SH;SƒÎL¶HƒÂH‰SH‹µ€ýÿÿ¶ÈH‹Vpƒ<Šn…òÞÿÿ1ÒE…ÀM‰ÌŸÂA)ÐHƒ½ ýÿÿ„gLE…ÀAˆD$„ÈÞÿÿH‹CH;CƒLD¶(HƒÀH‰CH‹½€ýÿÿA¶ÕH‹GpƒIƒÇé!æÿÿM…ÿf„zæÿÿH‹€ýÿÿA¶ÕH‹Ap¶xýÿÿ: …[æÿÿM9ç„$¶…xýÿÿBˆ>IƒÇÆ…˜ýÿÿÆ…`ýÿÿéÌåÿÿD‹­ ýÿÿH‰ËL‰öE…ÉÆ…˜ýÿÿEOÈé¬åÿÿH‹ýÿÿ¶I‰Î„À„0ÿÿÿ€½˜ýÿÿu €½ýÿÿ…L‹µˆýÿÿM…ö„ÔA€>…ÊH‹•ˆýÿÿ¶„À„ÊO?D‰­ ýÿÿH‰ÙI‰ÕL‰Óë#IƒÅCˆ>HƒÃA¶EIƒÇ„À„‡L‰öM9çI‰öuØHûA¼LCãID$HƒàðH)ÄLt$IƒæðH…ö„L‰úL‰÷H‰¨üÿÿD‰…˜üÿÿD‰ üÿÿL‰üÿÿè¢÷ûÿA¶EL‹üÿÿD‹ üÿÿD‹…˜üÿÿH‹¨üÿÿé\ÿÿÿD‹­ ýÿÿH‰ËL‰öE…ÉEOÈéäÿÿL‰ñH+ýÿÿH…ÉŽO"H‹•ˆýÿÿH‹½ýÿÿ¶I‰Ö:…Öþÿÿ¸ëD¶HƒÀA8…¹þÿÿIƒÆH9ÁH‰ÂãH9Ê…¤þÿÿA¶A9Å…—þÿÿDë'fDD¶*HƒÂH‰SA¶IƒÃAƒèD9è…iþÿÿE…Àˆ`þÿÿIƒÆA€>„RþÿÿE…À„IþÿÿH‹SH;SrµH‰ßH‰µ¸üÿÿD‰…˜üÿÿD‰ üÿÿL‰üÿÿèÙ=ûÿƒøÿA‰ÅH‹µ¸üÿÿD‹…˜üÿÿD‹ üÿÿL‹üÿÿ…uÿÿÿHÇÀÐÿÿÿd‹‰…týÿÿéÞýÿÿA¶EéþÿÿA¶Eé`äÿÿO$?¹IüLBáID$HƒàðH)ÄLt$IƒæðH…ö„ãÿÿL‰úL‰÷D‰ üÿÿL‰üÿÿèÝõûÿL‹üÿÿD‹ üÿÿéÛâÿÿAƒý+t Aƒý-…:ãÿÿM9ç„ZFˆ,>IƒÇÆ…`ýÿÿé¹âÿÿE…äH‰•¨ýÿÿ„Aƒýÿ„K H‹CH;Cƒê*D¶(HƒÀH‰C‹µýÿÿMcIcŶ•˜ýÿÿHÇ…pÿÿÿE1ÿL‰¥hýÿÿL‰xýÿÿE‰Äæ!‰µ`ýÿÿA8tEE…ö„ Aƒì„ðH‹CH;Cƒ3*D¶(HƒÀH‰CHƒ…hýÿÿIcŶ•˜ýÿÿA8u»L‹xýÿÿL‹¥hýÿÿA¶õH‰ßL‰ üÿÿL‰üÿÿIƒìè“"ûÿL‹ üÿÿL‹üÿÿM…ÿ…YM9ㄵ×ÿÿE…ö…oÔÿÿL‹…8ýÿÿAÇIƒÀƒ½`ýÿÿL‰…8ýÿÿ„<îÿÿH‹…HýÿÿH‹8L‰ÀH)øHÁøH;…@ýÿÿ„îÿÿH4…L‰ üÿÿè_ªûÿH…ÀL‹ üÿÿ„÷íÿÿH‹•HýÿÿH‰éèíÿÿH‹½8ýÿÿHpÿÿÿHµ`ÿÿÿºL‰ üÿÿDˆ­`ÿÿÿèãxHƒøþL‹ üÿÿ„9D‹…`ýÿÿHƒ…8ýÿÿE…Àt0H‹HýÿÿH‹µ@ýÿÿH‹9I‰÷H‰µ0ýÿÿIÁçJ?H9…8ýÿÿ„™%E1ÿékþÿÿAƒýÿ„DH‹CH;Cƒ D¶(HƒÀH‰CIcŶ•˜ýÿÿMcA8„‹ýÿÿD‰òE‰ÇM‰æá!‰hýÿÿH‹(ýÿÿ…Òu/Dˆ)‹µhýÿÿHƒÁ…ötH‹µHýÿÿH‹…@ýÿÿH‹>HH9Á„s AƒïE…ÿŽßH‹CH;CƒŒ)D¶(HƒÀH‰CIcõ¶…˜ýÿÿIƒÆA81u’M‰ôH‰(ýÿÿA‰ÖA¶õH‰ßL‰ üÿÿL‰üÿÿIƒìèo ûÿL‹ üÿÿL‹üÿÿM9ㄚÕÿÿE…ö…TÒÿÿH‹•(ýÿÿÆHƒÂ÷…ýÿÿ!H‰•(ýÿÿ„"ìÿÿH‹HýÿÿH‰ÖH‹9H)þH;µ@ýÿÿ„ìÿÿL‰ üÿÿèQ¨ûÿH…ÀL‹ üÿÿ„éëÿÿH‹µHýÿÿH‰éÚëÿÿHÇÀÐÿÿÿ‹•týÿÿd‰¸üéÀçÿÿHÇÀÐÿÿÿD‹…týÿÿdD‰éÕÿÿHÇÀÐÿÿÿ‹µtýÿÿd‰0¸üéÕçÿÿ¶ÀAÆHƒ…¨ýÿÿH‹•¨ýÿÿ¶éèâÿÿHìHÇ… ýÿÿLL$IƒáðéÝçÿÿƒýÿÿIGA¶WéƒÓÿÿýÿÿIGA¶WékÓÿÿƒø/‰• ÿÿÿH‰(ÿÿÿ‡í‰ÁH0ÿÿÿƒÀ‰… ÿÿÿH‹鲨ÿÿƒ½˜ýÿÿ…}1ÀE…ÀŸÀA)ÀAƒýÿ„©H‹CH;Cƒ[$D¶(HƒÀH‰CIƒÄÇ…˜ýÿÿéèÿÿHìHÇ… ýÿÿL|$IƒçðM…É„“çÿÿL‰òL‰ÎL‰ÿD‰…˜üÿÿL‰•¸üÿÿèŒðûÿHÇ… ýÿÿL‹•¸üÿÿD‹…˜üÿÿéYçÿÿ‹•ýÿÿHu¨L‰ÏL‰ üÿÿâ€è’D‹…ýÿÿL‹ üÿÿAƒà…öÿÿL9M¨„OÓÿÿƒ½hýÿÿ…‹•@ÿÿÿƒú/‡i‰ÐH…PÿÿÿƒÂ‰•@ÿÿÿ€½èüÿÿH‹t ó ëWÁóé­õÿÿH‹…hýÿÿH…ýÿÿH‹hýÿÿHøüÿÿH9…@ýÿÿH‰•°üÿÿHN@ýÿÿH@ýÿÿH‰ÎH‰ýÿÿHÁæèÃ¥ûÿH…ÀH‹•°üÿÿ„©)H‹µHýÿÿL$H‰éHÛÿÿHƒ½ ýÿÿ„ñE…ÀEˆ)„xÒÿÿAƒýÿ„ÆH‹SH;Sƒj'¶HƒÂH‰SH‹½€ýÿÿ¶ÈH‹Wpƒ<Ša…=Òÿÿ1ÒE…ÀM‰ÌŸÂA)ÐHƒ½ ýÿÿ„E…ÀAˆD$„ÒÿÿH‹CH;CƒK(D¶(HƒÀH‰CL‹…€ýÿÿA¶ÕI‹@pƒH)úHÁúH;•ýÿÿ„œåÿÿH4•L‰ üÿÿèà¡ûÿH…ÀL‹ üÿÿ„xåÿÿH‹½HýÿÿH‰éiåÿÿƒ½˜ýÿÿ…Êâÿÿéqúÿÿƒ½hýÿÿ…~ ‹•@ÿÿÿƒú/‡¯‰ÐH…PÿÿÿƒÂ‰•@ÿÿÿH‹H‹U°ˆéáÒÿÿE…À„Ý×ÿÿHƒ½ ýÿÿ„Á AÆ0H‹CH;Cƒþ/D¶(HƒÀH‰CIƒÃ1ÀE…ÀŸÀA)ÀtH‹€ýÿÿA¶ÕH‹ApƒH‹µ(ýÿÿH)þL9ö… ìÿÿé˜ÑÿÿHƒ½ ýÿÿM‰Ì„ Eˆl$ýÿÿ¥ýÿÿÿÿÿAƒýÿ„Ö H‹CH;CƒD D¶(HƒÀH‰CIƒÃE…À~AƒèM‰áÆ…xýÿÿpA¿éýÃÿÿHÇÀÐÿÿÿ‹•týÿÿÇ…˜ýÿÿd‰éwÎÿÿH… ÿÿÿ¹H‹µXýÿÿH‰Ç󥋽hýÿÿ‹ ÿÿÿH‹…(ÿÿÿ‰Êë r‰ñ‰Ê‰ñƒï„ôÿÿƒú/véHƒÀ‰ÎëæH… ÿÿÿ¹H‹µXýÿÿH‰Ç󥋽hýÿÿ‹ ÿÿÿH‹…(ÿÿÿ‰Êë r‰ñ‰Ê‰ñƒït ƒú/víHƒÀ‰Îëêƒú/‰ ÿÿÿH‰…(ÿÿÿ‡°‰ÐƒÂH…0ÿÿÿ‰• ÿÿÿéßÅÿÿHÇÀÐÿÿÿ‹•týÿÿd‰éy¹ÿÿO$?ºIüLBâID$HƒàðH)ÄLt$IƒæðH…ö„L‰úL‰÷D‰ üÿÿL‰üÿÿè ÖûÿL‰öL‹üÿÿD‹ üÿÿéEàÿÿH‹…HÿÿÿHPH‰•HÿÿÿéÙÅÿÿH… ÿÿÿ¹H‹µXýÿÿH‰Çó¥‹hýÿÿ‹• ÿÿÿH‹…(ÿÿÿƒétƒú/wƒÂëñHƒÀëêƒú/‰• ÿÿÿH‰…(ÿÿÿ‡½‰ÐƒÂH…0ÿÿÿ‰• ÿÿÿékÅÿÿH… ÿÿÿ¹H‹µXýÿÿH‰Çó¥‹hýÿÿ‹• ÿÿÿH‹…(ÿÿÿƒétƒú/wƒÂëñHƒÀëèƒú/‰• ÿÿÿH‰…(ÿÿÿ‡2‰ÐƒÂH…0ÿÿÿ‰• ÿÿÿéqÒÿÿL‹µˆýÿÿ1ÒéèÝÿÿHìHÇ… ýÿÿLL$Iƒáð鼨ÿÿHPH‰•(ÿÿÿé6ÄÿÿO$?¿IüLBçID$HƒàðH)ÄLt$IƒæðH…ö„»L‰úL‰÷D‰ üÿÿL‰üÿÿèxÔûÿL‰öL‹üÿÿD‹ üÿÿéÛÿÿL‰ç‰•°üÿÿH‰¨üÿÿH‰µ¸üÿÿL‰ üÿÿèŸûÿƒøÿA‰Æ‹•°üÿÿH‹¨üÿÿH‹µ¸üÿÿL‹ üÿÿ…ÖÿÿA‰ÅHÇÀÐÿÿÿM‰þL‰ãA‰×H‰µ(ýÿÿI‰ÌL‰µ@ýÿÿd‹‰…týÿÿé¢òÿÿHPH‰•(ÿÿÿéFÑÿÿL‰öéüÚÿÿH‰ßD‰…˜üÿÿL‰ üÿÿL‰üÿÿèûÿƒøÿA‰ÅD‹…˜üÿÿL‹ üÿÿL‹üÿÿ„жÿÿé)àÿÿH‰ßL‰ üÿÿèÜûÿƒøÿA‰ÅL‹ üÿÿ…5ÉÿÿHÇÀÐÿÿÿd‹‰…týÿÿ¸üé'ÉÿÿH‰ßL‰ üÿÿè ûÿƒøÿA‰ÅL‹ üÿÿ…³ÈÿÿHÇÀÐÿÿÿd‹‰…týÿÿ¸üé¥ÈÿÿL‰öéZÝÿÿH‰ßL‰ üÿÿè\ûÿƒøÿA‰ÅL‹ üÿÿ„ ¶ÿÿé1ÉÿÿH‹[H…Û…tíÿÿ€éD³ÿÿHPH‰•(ÿÿÿéµÂÿÿdA‹ƒø„îµÿÿAƒÍÿé]µÿÿH‰ßH‰•°üÿÿ‰¨üÿÿ‰µ¸üÿÿD‰…˜üÿÿL‰ üÿÿL‰üÿÿèÕûÿƒøÿA‰ÅH‹•°üÿÿ‹¨üÿÿ‹µ¸üÿÿD‹…˜üÿÿL‹ üÿÿL‹üÿÿ…õ´ÿÿdA‹6‰ðë‚H‰ßL‰ üÿÿL‰üÿÿèƒûÿƒøÿA‰ÅL‹ üÿÿL‹üÿÿ„Iµÿÿé–±ÿÿH‰ßH‰•°üÿÿL‰ üÿÿèNûÿƒøÿH‹•°üÿÿL‹ üÿÿ„µÿÿéæ²ÿÿH‰ßD‰…˜üÿÿL‰ üÿÿL‰üÿÿèûÿƒøÿA‰ÅD‹…˜üÿÿL‹ üÿÿL‹üÿÿ„Ô´ÿÿéºÿÿH‰ßL‰ üÿÿèàûÿƒøÿA‰ÅL‹ üÿÿ…ÇÿÿHÇÀÐÿÿÿd‹‰…týÿÿ¸üéqÇÿÿ1ÀE…ÀM‰ÔŸÀA)ÀHƒ½ ýÿÿu.A·HìLd$IƒäðfA‰$A¶BAˆD$HÇ… ýÿÿE…ÀEˆl$„!´ÿÿH‹SH;SƒH¶HƒÂH‰SH‹µ€ýÿÿ¶ÈH‹Vpƒ<Šn…ð³ÿÿ1ÒE…ÀM‰åŸÂA)ÐHƒ½ ýÿÿu#HìA‹$Ll$IƒåðA‰UHÇ… ýÿÿE…ÀAˆE„¨³ÿÿH‹SH;Sƒ«¶HƒÂH‰SH‹½€ýÿÿ¶ÈH‹Wpƒ<Ši…w³ÿÿ1ÒE…ÀM‰ìŸÂA)ÐHƒ½ ýÿÿu-HìA‹ULd$IƒäðA‰$A¶UAˆT$HÇ… ýÿÿE…ÀAˆD$„$³ÿÿH‹SH;Sƒ¶HƒÂH‰SH‹µ€ýÿÿ¶ÈH‹Vpƒ<Št…ó²ÿÿ1ÒE…ÀM‰æŸÂA)ÐHƒ½ ýÿÿu-HìA‹$Lt$IƒæðA‰A·T$fA‰VHÇ… ýÿÿE…ÀAˆF„¡²ÿÿH‹CH;CsoD¶(HƒÀH‰CH‹½€ýÿÿA¶ÕH‹Gpƒÿ„ìH°ýÿÿL‰¥ ýÿÿL‰½ØüÿÿD‰èÇ…ýÿÿL‰µàüÿÿM‰ßI‰ÌI‰Ýƒ½0ýÿÿ¾ÿÿÿL‰ãOµ0ýÿÿA‰ö¶¶Ê9È…ˆHƒÃ€;„UE…ö„§I‹UI;Uƒ!¶HƒÂI‰UIƒÇAƒîë¹H‹½ýÿÿ1ÀH‰Ñò®H‰ÊH÷ÒHBÿHƒø‡ ØÿÿH‹µýÿÿH‹½ÐüÿÿI9ÇA”ÆD‰…˜üÿÿL‰•¸üÿÿD µ0ýÿÿè%ÂûÿL‹•¸üÿÿD‹…˜üÿÿéÏýÿÿAƒþ t8H‹Èüÿÿé¹×ÿÿH‹µýÿÿA~0L‰•¸üÿÿè þÿH‹µ0ýÿÿL‹•¸üÿÿ‰é%þÿÿ€½àüÿÿ„dþÿÿH‹½ˆýÿÿ1ÀA‰ØH‹Èüÿÿò®H÷ÑHAÿHƒø‡fþÿÿH½°ýÿÿH‹µˆýÿÿH‰ÊD‰…˜üÿÿHǪè}ÁûÿD‹…˜üÿÿL‹•¸üÿÿé/þÿÿL‰ïèÂûÿƒøÿ…ÙþÿÿHÇÂÐÿÿÿD‰öM‰þd‹‰•týÿÿ¶„Ò„¨L9ãvGƒøÿt¶ðL‰ïMwÿèÿîúÿI‰ßIƒïM9çvA¶7L‰ïèçîúÿëéHCÿIT$ÿM‰çH)ÂI)ǶM÷ƒ…ýÿÿIƒÄƒ½ýÿÿ …þýÿÿM‰üL‹•àüÿÿL‹½ØüÿÿL‰ëA‰ÅAƒýÿ„lÖÿÿA¶õH‰ßL‰•¸üÿÿIƒìè|îúÿL‹•¸üÿÿéIÖÿÿM‰ûL‹¥ ýÿÿL‹µàüÿÿL‹½ØüÿÿL‰ëA‰Åƒ½0ýÿÿNµ0ýÿÿƒ½ýÿÿ ‰µ0ýÿÿ;M9ç„Ò¶…ýÿÿƒÀ0Cˆ>IƒÇƒ½0ýÿÿ„¡AƒýÿtyH‹CH;Cs/D¶(HƒÀH‰C1Àƒ½0ýÿÿŸÀIƒÃ)…0ýÿÿéËüÿÿM‰þé²þÿÿH‰ßL‰üÿÿè;ûÿƒøÿA‰ÅL‹üÿÿu¿HÇÀÐÿÿÿL‰¥ ýÿÿM‰òM‰Üd‹‰…týÿÿécÕÿÿHÇÀÐÿÿÿ‹týÿÿM‰òL‰¥ ýÿÿM‰Üd‰éAÕÿÿL‰¥ ýÿÿM‰òM‰Üé/ÕÿÿO$?ºIüLBâID$HƒàðH)ÄHL$HƒáðM…öt`L‰öH‰ÏL‰úH‰¨üÿÿL‰üÿÿè,¿ûÿH‹¨üÿÿL‹üÿÿI‰ÎéÎþÿÿ¶…˜ýÿÿƒðƒ½ýÿÿ tpƒ½ýÿÿ tL‰¥ ýÿÿM‰òM‰Üé+þÿÿI‰Îé˜þÿÿ„Àt‽ÀüÿÿtÙL‹…ˆýÿÿO ?L‰öD‰éI‰ÞL‰Ã¶„À„ÐM9çI‰õt^CˆD=HƒÃIƒÇIƒÁL‰îëׄÀt•L‹…ýÿÿO ?L‰öD‰éI‰ÞL‰Ã¶„À„ M9çI‰õ„•CˆD=HƒÃIƒÇIƒÁL‰îëÓIùA¼MCáIT$HƒâðH)ÔLl$IƒåðH…ö„sÿÿÿL‰úL‰ï‰¨üÿÿL‰ üÿÿL‰üÿÿèý½ûÿ¶L‹üÿÿL‹ üÿÿ‹¨üÿÿé8ÿÿÿL‰óA‰ÍI‰öÆ…˜ýÿÿé–ýÿÿIùA¼MCáIT$HƒâðH)ÔLl$IƒåðH…ö„<ÿÿÿL‰úL‰ï‰¨üÿÿL‰ üÿÿL‰üÿÿè~½ûÿ¶L‹üÿÿL‹ üÿÿ‹¨üÿÿéÿÿÿL‰óA‰ÍI‰öÆ…˜ýÿÿéýÿÿM‰ûD‰öL‰ëL‹¥ ýÿÿL‹½ØüÿÿA‰ÅL‹µàüÿÿéµüÿÿD‰öM‰þéÜûÿÿAƒý+t Aƒý-f…úÿÿM9çt`Gˆ,>IƒÇéÂüÿÿM…ÿ„çùÿÿH‹€ýÿÿA¶ÕH‹Ap¶xýÿÿ: …ÈùÿÿM9焆¶…xýÿÿCˆ>IƒÇÆ…˜ýÿÿÆ…`ýÿÿéoüÿÿO$?ºIüLBâID$HƒàðH)ÄHL$HƒáðM…ö„’L‰öH‰ÏL‰úH‰¨üÿÿL‰üÿÿèW¼ûÿH‹¨üÿÿL‹üÿÿI‰Îé<ÿÿÿO$?¾IüLBæID$HƒàðH)ÄHL$HƒáðM…öt:L‰öH‰ÏL‰úH‰¨üÿÿL‰üÿÿè÷»ûÿH‹¨üÿÿL‹üÿÿI‰ÎéÿÿÿI‰ÎéÔþÿÿI‰Îé ÿÿÿH‰ßD‰…˜üÿÿL‰•¸üÿÿèûÿƒøÿA‰ÅD‹…˜üÿÿL‹•¸üÿÿ…™öÿÿHÇÀÐÿÿÿd‹‰…týÿÿéˆöÿÿHÇÀÐÿÿÿ‹µtýÿÿd‰0ésöÿÿHPH‰•(ÿÿÿéë»ÿÿH‰ßD‰…˜üÿÿL‰ üÿÿè±ûÿƒøÿA‰ÅD‹…˜üÿÿL‹ üÿÿ…å±ÿÿHÇÀÐÿÿÿAºd‹‰…týÿÿéZ¡ÿÿH‰ßD‰…˜üÿÿL‰ üÿÿL‰üÿÿè_ûÿƒøÿA‰ÅD‹…˜üÿÿL‹ üÿÿL‹üÿÿ…ÐÏÿÿHÇÀÐÿÿÿd‹‰…týÿÿé¿Ïÿÿ¿È¨PD‰…˜üÿÿL‰ üÿÿL‰•¸üÿÿè:þÿH‹µýÿÿH‰…ØüÿÿD‹…˜üÿÿL‹ üÿÿL‹•¸üÿÿ‹¶Ø‰µ0ýÿÿƒîH…À‰µ`ýÿÿ…›‹…ýÿÿÇ…0ýÿÿM‰×L‰˜ýÿÿE‰Æ%€‰…ÈüÿÿE…ö„QAƒýÿ„G1ÀD‰µýÿÿÇ…xýÿÿM‰æL‰½èüÿÿI‰ÄH‰øüÿÿƒ½ýÿÿA¸ÿÿÿDO…ýÿÿHƒ½Øüÿÿ…èH‹µýÿÿN‹¼&àN‰¼%€þÿÿ1Ûƒ½0ýÿÿ„Ù1öL‰ÿD‰…˜üÿÿƒÃèŠÃûÿ;0ýÿÿLxD‹…˜üÿÿuÙN‰¼%€þÿÿA¶¶ÐA9Õ…×A€I_„«M‰åL‹¥øüÿÿë8@¶HƒÀI‰D$¶IƒÆAƒè¶È9Ñ…kHƒÃ€;„|E…ÀtTI‹D$I;D$rÀL‰çD‰…˜üÿÿèqûÿƒøÿ‰ÂD‹…˜üÿÿu¯M‰ìA‰ÅHÇÀÐÿÿÿd‹‰…týÿÿ¶éN‹¼%€þÿÿéIÿÿÿM‰ìA‰ÕL9ûvRAƒýÿtH‹½øüÿÿA¶õIƒîè“æúÿI‰ÝëA¶uH‹½øüÿÿè}æúÿIƒíM9ýwæHSÿL‰øH)ÐIÆIGÿH)ÐD¶,1öL‰ÿèQÂûÿƒ…xýÿÿHƒÀJ‰„%€þÿÿIƒÄƒ½xýÿÿ …FþÿÿM‰ôL‹½èüÿÿD‹µýÿÿH‹øüÿÿD‹…0ýÿÿD‰µýÿÿM‰æL‰½àüÿÿAƒÀD‰…øüÿÿ‹µ`ýÿÿ9µøüÿÿeH½€þÿÿÇ…xýÿÿH‰½èüÿÿH‹…èüÿÿƒ½ýÿÿºÿÿÿO•ýÿÿL‹8A¶¶ÈA9Í…A€Mgué™IƒÄA€<$„‡…Òt6H‹CH;CƒzD¶(HƒÀH‰CA¶$IƒÆƒê¶ÈD9ét¿„À„MM9çsbAƒýÿtA¶õH‰ßIƒîè$åúÿIT$ÿI9×s>L‰¥ÀüÿÿI‰ÕI‰ÔA¶uH‰ßIƒíèüäúÿM9ïrêL‰âL‹¥ÀüÿÿIGÿIƒìL)àHÂIÆD¶*1öL‰ÿèÎÀûÿH‹•èüÿÿHƒÀƒ…xýÿÿH‰HƒÂƒ½xýÿÿ H‰•èüÿÿ…Ùþÿÿƒ…øüÿÿé£þÿÿL‰ãL‹½èüÿÿM‰ôD‹µýÿÿA‰ÕE…öEOðƒ½xýÿÿ „±ƒ½xýÿÿ D‹…0ýÿÿD‰…`ýÿÿåD‹­xýÿÿAƒÅ0E‰èL;½ ýÿÿ„°1ÀH‹˜ýÿÿE…öŸÀA)ÆAƒýÿFˆ9„pH‹CH;CƒYD¶(HƒÀH‰CIƒÄIƒÇéÌûÿÿH‰ß‰•°üÿÿè_ýúÿƒøÿA‰Å‹•°üÿÿ…rþÿÿHÇÀÐÿÿÿd‹‰…týÿÿA¶$élþÿÿM‰ìA‰Õ„À…óüÿÿM‰ôL‹½èüÿÿD‹µýÿÿH‹øüÿÿé ÿÿÿL‰ûëÖM‰üé4þÿÿM‰ôL‹½àüÿÿD‹µýÿÿƒ½Èüÿÿ„–H‹ˆýÿÿO?E…öA¹ÿÿÿD‰µxýÿÿM‰ãEOÎH‹µ˜ýÿÿM‰ÔI‰ÎëQL;½ ýÿÿ„IƒÆFˆ,>IƒÇA€>E‰è„ìE…É„ÑH‹CH;CsKD¶(HƒÀH‰CIƒÃAƒéIƒÄA¶¶ÐA9Õt£L‰ñH‰µ˜ýÿÿM‰ÜD‹µxýÿÿër‹½0ýÿÿ‰½`ýÿÿé“üÿÿH‰ßH‰µ¸üÿÿD‰ üÿÿL‰üÿÿè üúÿƒøÿA‰ÅH‹µ¸üÿÿD‹ üÿÿL‹üÿÿu‡HÇÀÐÿÿÿL‰ñH‰µ˜ýÿÿD‹µxýÿÿM‰Üd‹‰…týÿÿ¶„À…;E‰èE…öEOñIƒïéëýÿÿM‰úI‰ñM‰ÜL9µˆýÿÿM‰çL‰µxýÿÿÇ…˜ýÿÿ ƒ¼šÿÿAƒýÿt,A¶õH‰ßL‰ üÿÿL‰•¸üÿÿIƒïèÞáúÿL‹•¸üÿÿL‹ üÿÿM‰üM‰ÕM‰ÏIƒîL9µˆýÿÿƒ¦A¶6H‰ßIƒìè¦áúÿëÝHÇÀÐÿÿÿ‹µtýÿÿd‰0é™ýÿÿIü¸ICÄH‰… ýÿÿHƒÀHƒàðH)ÄHL$HƒáðH…öt=H‰ÏL‰úH‰¨üÿÿD‰ üÿÿL‰üÿÿè_³ûÿH‹¨üÿÿL‹üÿÿD‹ üÿÿH‰ÎéþÿÿH‰ÎéûýÿÿH‰µ˜ýÿÿD‹µxýÿÿM‰ÜéÈþÿÿM‰úL‹˜ýÿÿI‰ÎéÏþÿÿƒ½ýÿÿN•ýÿÿƒ½xýÿÿ ‰•ýÿÿ0üÿÿ‹øüÿÿM‰ôL‹½àüÿÿA‰Ö‰`ýÿÿ‰0ýÿÿé^üÿÿH‰ßè%úúÿƒøÿA‰Å…ŸüÿÿHÇÀÐÿÿÿd‹‰…týÿÿéŽüÿÿK?¸HúHCÂH‰… ýÿÿHƒÀHƒàðH)ÄHL$HƒáðHƒ½˜ýÿÿtcH‹µ˜ýÿÿH‰ÏL‰úH‰¨üÿÿDˆ…˜üÿÿèK²ûÿH‹¨üÿÿD¶…˜üÿÿH‰˜ýÿÿéÜûÿÿH‹…ˆýÿÿH+…xýÿÿM‰ùN(E¶.Ç…˜ýÿÿ 题ÿÿH‰˜ýÿÿé¨ûÿÿN‹¼%°ýÿÿN‰¼%€þÿÿéøÿÿL‹˜ýÿÿM‰úÇ…˜ýÿÿ éh˜ÿÿ‹½0ýÿÿL½`ÿÿÿÇ…˜ýÿÿ0E1öL‰•ýÿÿL‰øüÿÿD‰…èüÿÿD‰­àüÿÿ‰½`ýÿÿH‰ÈüÿÿL‹…ýÿÿH‹µØüÿÿ‹½˜ýÿÿK‹œ0àJ‰œ5€þÿÿè‚üýÿHU‰ÆL‰ÿHÇEèlÄûÿHƒøÿH‰…xýÿÿ„êH‰ßE1íD;­0ýÿÿ}T1öAƒÅè»ûÿHxëæH‰ßD‰…˜üÿÿL‰ üÿÿL‰üÿÿè^øúÿƒøÿA‰ÅD‹…˜üÿÿL‹ üÿÿL‹üÿÿ„ÿ“ÿÿéQ´ÿÿH‹xýÿÿH‰úH‰ÞH)ÚHD HƒàðH)ÄLl$IƒåðL‰ïèkªûÿH‹•xýÿÿL‰þH‰ÇèYªûÿÆN‰¬5°ýÿÿIƒÆƒ…˜ýÿÿIƒþP…îþÿÿL‹•ýÿÿL‹øüÿÿD‹…èüÿÿD‹­àüÿÿH‹ÈüÿÿéèõÿÿL‹•ýÿÿL‹øüÿÿD‹…èüÿÿD‹­àüÿÿH‹ÈüÿÿHÇ…ØüÿÿéµõÿÿHPH‰•(ÿÿÿé½ÄÿÿHPH‰•(ÿÿÿé¬ÿÿH‰ßD‰…˜üÿÿL‰ üÿÿL‰üÿÿèA÷úÿƒøÿA‰ÅD‹…˜üÿÿL‹ üÿÿL‹üÿÿ„“ÿÿé±ÿÿHPH‰•(ÿÿÿéôÉÿÿA·$HìLT$IƒâðfA‰HÇ… ýÿÿé+´ÿÿH‰ßD‰…˜üÿÿL‰üÿÿèÌöúÿƒøÿA‰ÅD‹…˜üÿÿL‹üÿÿ„t’ÿÿéÁ³ÿÿA¶HìLd$IƒäðAˆ$HÇ… ýÿÿéq³ÿÿH‰ßD‰…˜üÿÿL‰ üÿÿL‰üÿÿèhöúÿƒøÿD‹…˜üÿÿL‹ üÿÿL‹üÿÿ„ ’ÿÿéý²ÿÿH‰ßD‰…˜üÿÿL‰ üÿÿL‰üÿÿè(öúÿƒøÿA‰ÅD‹…˜üÿÿL‹ üÿÿL‹üÿÿ„ç‘ÿÿé·™ÿÿH‹…HÿÿÿHPH‰•HÿÿÿécÇÿÿH… ÿÿÿ¹H‹µXýÿÿH‰Çó¥‹hýÿÿ‹• ÿÿÿH‹…(ÿÿÿƒétƒú/wƒÂëñHƒÀëëƒú/‰• ÿÿÿH‰…(ÿÿÿw'‰ÐƒÂH…0ÿÿÿ‰• ÿÿÿéúÆÿÿHPH‰•(ÿÿÿéSÉÿÿHPH‰•(ÿÿÿéÚÆÿÿf1É陋ÿÿH:Hì€èêùýÿHĀ鶒ÿÿH:Hì€èŸùýÿHÄ€éÛ’ÿÿAWAVAUATI‰üU‰ÕSHìØHÇÀÐÿÿÿ‰t$d‹‰D$,èÄûÿƒøŽªH˜¿­O¹I\úH‰Þó¦…ŽHƒ=nI'„À1A‰ÖA‰ÅL{蟚HSL‰ñE‰íHÁá H˜HsL éH‰T$‹T$H1ÁH -I'HCH‰t$HsL‰d$ €â…£H‹ “G'AƒÆHÁaAþø¢H‰ zG'…‚þÿÿHÇÀÐÿÿÿdǸÿÿÿÿé‡@H‹|$ ¾Àèѳýÿ딀¹Ø­PºG¾ ­P¿è­Pè?ïøÿ€H‹t$ HT$0¿蔲ýÿ…À‰jÿÿÿHÇÁÐÿÿÿdƒ9tD¸ÿÿÿÿë„HÇÂÐÿÿÿ¸ÿÿÿÿdÇHÄØ[]A\A]A^A_ËL$,HÇÂÐÿÿÿd‰ ëÞ‹t$,1Àd‰1ëÓH¼$À1öèaBH‹„$ÈHÁàH3„$ÀH‰~F'éýÿÿAWAVAUI‰ÍATI‰ôUH‰ýSH‰ÓHì¨H…Ét €9…E…ÀA¾A½¶P…³H…Û„H‰ßèOûÿHƒøv0HTÿ€:/u&Hëf„¶JþHƒê€ù/u HƒèHƒøwéITL9â‡+‰ÂM‰éE‰ðH‰Ù¾È­PH‰ï1Àè!Júÿ1ÀHĨ[]A\A]A^A_ÃDH‰ÏD‰D$èË€ûÿD‹D$HƒøI‰Æ¸LCðE…À„Mÿÿÿ¿¼­PL|$è¾'ÿÿH…ÀtL‰úH‰Æ¿H‰D$èD°ýÿ…ÀH‹L$tkH…Ût(L‰úH‰Þ¿è&°ýÿ…Àu‹D$(%ð=@„÷þÿÿL‰ú¾Ã­P¿èü¯ýÿ…Àu@‹D$(%ð=@u0ºÆ­P¸»Ã­PéÐþÿÿ@‹D$(%ð=@u…H‰Ëé¡þÿÿHÇÀÐÿÿÿdǸÿÿÿÿéñþÿÿHÇÀÐÿÿÿdǸÿÿÿÿéÙþÿÿL|$épÿÿÿH‰Ñº é³búÿATHGI‰ôUSH‰ÓHƒìÇB0ÿÿÿÿH‰D$D¶J AƒáDˆJ ¶R ÇC ƒâöƒÊˆS D‹GAPЃú wT‹wHoH‰l$DVÐAƒú w(HƒÇ f.„’H‰ýTVЋ7HDVÐAƒú væ…Òt ƒþ$„ùH‰D$@Aƒè H‰ÂAƒø)†/H‰T$Aƒá tÇC ÇC,ÿÿÿÿÇC‹ƒú*„´ƒê0ƒú † 1íÇC(ÿÿÿÿÇÿÿÿÿH‰Çƒ8.„€c ø€c ýH‹¶M'fÇCH…Àu!H‹|$‹B´HƒÇH‰|$ƒø.w3‰Àÿ$ÅȾP‹‰ÑHƒ<ÈtÛH|$H‰Þèº.ÿÿ…ÀuÃH‹|$‹HƒÇHƒ=ˆJ'‰SH‰|$ÇC@ÿÿÿÿ…<ƒêAHÇC8ƒú7†ßHÇC81ÀDƒ{0ÿ„N‹C…À„#H‰{¾%èõ-H‰C HƒÄH‰è[]A\ÃDE‰ÀBÿ$Å@ÀPD€K @HƒÀD‹E…À…˜þÿÿH‰D$é¤þÿÿfDÇC0ë×€AƒÉ DˆK ëÆfDAƒÉ@DˆK ë¶fDAƒÉ€DˆK ë¦fDAƒÉDˆK ë–fDAƒÉDˆK ë†fD‰Òÿ$ÕÁP€HpH‰t$‹p~Ѓÿ w!HƒÀ’H‰ÅTVЋ0HƒÀ~Ѓÿ vèH‰l$‰SH‹D$1íéþÿÿ@€K ‹HƒÇé‰þÿÿHƒïH‰èH‰{ H‰{HƒÄ[]A\ÄH…À„©þÿÿD‰c0Hk8éœþÿÿf.„‹PHxH‰|$ƒú*„[ƒê0ƒú ‡ÇHHH‰L$‹HqЃþ w(HƒÀ €’H‰ÇTQЋHƒÀqЃþ vèH‰|$‰H‹|$ézýÿÿ€‹PL@L‰D$ƒê0ƒú wD‹pHxH‰|$nЃý w HƒÀ @’H‰ÇTVЋ0H@nЃý vè…Òt ƒþ$„“D‰c,L‰D$IƒÄL‰À½éèüÿÿfDÇéðüÿÿD€K ‹HƒÇéAýÿÿf„D¶K AƒÉDˆK ‹ƒúluÚHƒÇH‰|$ë+ƒ?h„O€K ‹HƒÇéýÿÿ„D¶K H‹|$AƒÉDˆK ‹HƒÇéÛüÿÿrÿ‰ÒHE‰s0H‹1H‰D$D‹EH9òHBÖH‰D¶K éäûÿÿ@ÇC4¸é×üÿÿ€ÇC4¸é¿üÿÿ€ÇC4¸é§üÿÿ€ÇC4¸éüÿÿ€öC „ÇC4¸émüÿÿDÇC4¸éWüÿÿ€ÇC4¸é?üÿÿ€¶C ¨„ÌÇC4¸éüÿÿ‹PLHL‰L$ƒê0ƒú wl‹p Hx H‰|$DFÐAƒø w HƒÀf’H‰ÇTVЋ0H@DFÐAƒø væ…Òt2ƒþ$u-H‹1Bÿ‰Ò‰C(H9òHBÖHƒÇ…ÀH‰H‰|$‰úúÿÿ€D‰c(HƒÅIƒÄL‰L$L‰ÏéÚúÿÿ€ÇC4¸égûÿÿ€¨uöC …jþÿÿÇC4¸éAûÿÿÇC4¸é0ûÿÿH‹rÿ‰Ò‰s,H9ÂHCÂ…öH‰HGH‰D$‰JúÿÿéEýÿÿDHGH‰D$€K ‹WHƒÇé§úÿÿúÿ¸úÿÿH‹¬H'HcÊH‹ÈH…À„¡úÿÿH‰ßHK@HS4¾ÿÐH˜H‹|$H‰C8é¢úÿÿUSH‰ûH옋Gp…ÀxEH‹‡ØH‰æÿ…Àx1‹D$%ð= tqH‹l$8H…í~HµÿHæðÿÿ뀾 ½ E1É1ÿA¸ÿÿÿÿ¹"ºèÌýÿH‰ÆHƒþÿtH.¹H‰ßè*Òúÿ¸HĘ[]ÃH‹T$(H‰ÐHÁêHÁè âÿ%ðÿÿ Ð-ˆƒøw!H‹l$8 H…í^ÿÿÿépÿÿÿ„‹{pè(Ž…À„7ÿÿÿëÍH‰\$èH‰l$ðH‰óL‰d$øHƒìH‰ýèbwûÿfƒ;I‰ÄxJH‹“ˆdL‹%L9Bt0¾1Àƒ=ÅC't ð±2…ë ±2…ùH‹“ˆL‰BƒB‹ƒÀ…À…‘ǃÀÿÿÿÿH‹ƒØL‰âH‰îH‰ßÿP8L9àºtf.„ºÿÿÿÿfƒ;x8H‹›ˆ‹Cƒè…À‰Cu$HÇCƒ=2C't ðÿ …ëÿ …ƒ‰ÐH‹$H‹l$L‹d$HƒÄăøÿu›éoÿÿÿfƒ;H‰Æx0H‹“ˆ‹Bƒè…À‰BuHÇBƒ=ÊB'tðÿ uDëÿ u>H‰÷è…EH:Hì€è¶êýÿHÄ€éìþÿÿH;Hì€èËêýÿHÄ€ébÿÿÿH:Hì€è°êýÿHÄ€ëªSfƒ?H‰ûxJH‹—ˆdL‹%L9Bt0¾1Àƒ=2B't ð±2…þë ±2…óH‹“ˆL‰BƒB1ɺ1öH‰ßè»H‰Â‹HƒúÿtöÄu+f…ÀxH‹›ˆ‹Cƒè…À‰Ct2fHƒúÿtJH‰Ð[ÃD‹³À…öËH‹KHH+KXHÊë¾f„HÇCƒ=‘A'tðÿ u}ëÿ uwë²fHÇÀÐÿÿÿd‹…Éu¨dÇëŸfƒ;H‰Æx0H‹“ˆ‹Bƒè…À‰BuHÇBƒ==A'tðÿ uDëÿ u>H‰÷èøCH:Hì€è)éýÿHÄ€éòþÿÿH;Hì€è>éýÿHÄ€énÿÿÿH:Hì€è#éýÿHÄ€ëªUH‰ýSHƒìH‹G8H…ÀtnH‹]@H)ÃöEtHƒÃHÁëH4ÿE1É1ÿA¸ÿÿÿÿ¹"ºHæðÿÿèàÇýÿH‰ÆHƒþÿtHž¹H‰ïèælúÿ¸HƒÄ[]Ãf.„è+ûÿÿH‹E8ë‡SH‰ûHƒì ƒú‡·…ÉtF‹‡Àƒø|Xt9H‹¿ Hƒ@t+ƒútO…ÀxgH‰ß‰T$‰L$H‰t$è²kúÿH‹t$‹L$‹T$H‹ƒØH‰ßL‹XHHƒÄ [Aÿã€HƒHt܃úu±‹;çt§…ÀQH‹{H+{Hþë–H‰ß‰T$‰L$H‰t$è«Íúÿ‹T$‹L$H‹t$ë—@HÇÀÐÿÿÿdÇHÇÀÿÿÿÿHƒÄ [Ãè¨,ùÿ„UI‰ðA‰ÊSH‰ûHƒìfƒ?xML‹ˆdH‹,%I9it2¾1Àƒ=?'t ðA±1…®ë A±1…¢L‹‹ˆI‰iAƒAD‰ÑL‰ÆH‰ßè þÿÿfƒ;H‰Æx0H‹“ˆ‹Bƒè…À‰BuHÇBƒ=´>'tðÿ ulëÿ ufHƒÄH‰ð[]Ãfƒ;H‰Æx0H‹“ˆ‹Bƒè…À‰BuHÇBƒ=q>'tðÿ uAëÿ u;H‰÷è,AI9Hì€è]æýÿHÄ€éCÿÿÿH:Hì€èræýÿHÄ€ë‚H:Hì€èZæýÿHÄ€ë­Sfƒ?H‰ûI‰ðxML‹ˆdL‹%M9Qt2¾1Àƒ=ß='t ðA±1…°ë A±1…¤L‹‹ˆM‰QAƒA¹L‰ÆH‰ßèfýÿÿ1ÒHƒøÿDÐfƒ;x0H‹›ˆ‹Cƒè…À‰CuHÇCƒ=t='tðÿ ufëÿ u`‰Ð[Ãfƒ;H‰Æx0H‹“ˆ‹Bƒè…À‰BuHÇBƒ=7='tðÿ uAëÿ u;H‰÷èò?I9Hì€è#åýÿHÄ€éAÿÿÿH;Hì€è8åýÿHÄ€ëˆH:Hì€è åýÿHÄ€ë­H‰\$àH‰l$èH‰ýL‰l$øL‰d$ð¿XHƒì8H‰óè(BûÿH…ÀI‰Åu 1ÀH‹\$H‹l$ L‹d$(L‹l$0HƒÄ8ÃDH€¾ ¿I‰…ˆèÓ8ûÿH…ÀI‰Ät»1öL‰ïL‰l$è<ÜúÿH‹D$L‰áº L‰æHÇ€Ø`ÃPH‰Çè¹ìúÿH‹D$ƒ þHÇ€àÐ'GHÇ€èGH‰¨ðH‰˜øéZÿÿÿ„H‹G(H;G0SH‰ût*ÆH‹ƒðH‹S H‰H‹C(H+C H‹“øH‰1À[Ã1öè‘êúÿHƒk(ëËf.„USH‰ûHƒìH‹s(H‹¯ðH‹ HƒÆH)þèìMûÿH‰EH‹ƒðH‹H…Òt&H‹C(H+C ÆH‹C(H+C H‹“øHÇC8H‰HƒÄH‰ß1ö[]éSæúÿH‰\$àH‰l$èA¸@cOL‰d$ðL‰l$øHìXHœ$PH‰áA‰ýH‰õI‰Ô¾€1ÒH‰ßHÇ„$Øè°ÙúÿH‰ßHÇ„$(€hOè,³úÿD‰îH‰ßèžúÿH…Àt`‹„$PH‰îH‰ßL‰â%óïÿÿƒÈD‰„$P訚ùÿ‰ÅH‹„$(1öH‰ßÿP‰èH‹œ$8H‹¬$@L‹¤$HL‹¬$PHÄXÃH‰ß½ÿÿÿÿèoÖúÿëÇH‰\$èH‰l$ðH‰óL‰d$øHƒìH‰ýè’mûÿI‰Ä‹ƒÀ…ÀuEǃÀÿÿÿÿH‹ƒØL‰âH‰îH‰ßÿP8H‰Â¸L9ât¸ÿÿÿÿH‹$H‹l$L‹d$HƒÄÃøÿuãë¾Hƒì¾ÄPè²DþÿH…ÀtHÇàÝrHƒÄÃSH‰ûHƒì0H‹wH…öt¿ÙO¹ó¦u HƒÄ0[ÃHT$(1ÉH‰æ¿°èKHÇD$(è‹=þÿ…ÀtÖH‹D$(H…ÀtÌHƒx0uÅH‹{èý/ûÿëºff.„¸HƒìH…ÀuHLJ1' sHƒÄþ`ìK¿Èsè³´ÿ…ÀuÝëæffff.„¸H‰l$ðL‰d$øH‰\$èHƒìH…ÀH‰ýI‰ô„ì¾ éK¿Ìsèj´ÿH‹#1'H…ÛtnH‹{H…ÿt€{uOHÇCHSHsH{M‰àH‰éèÀô‰1ÀHƒ{”À‰C1ÀHƒ{H‹l$H‹$L‹d$•ÀHƒÄÃ@è /ûÿëªf„¸H…Àt‹=¨0'èÛ´ÿH…ÀH‰Ã…qÿÿÿ¾ ¿è€4ûÿH…ÀH‰Ãt!¸H…À„Lÿÿÿ‹=l0'H‰Þ蜴ÿé9ÿÿÿ» sé/ÿÿÿƒ=R0'…ÿÿÿè›þÿÿƒ @0'éÿÿÿffffff.„U¸SHƒìH…ÀHÇD$„p¾ éK¿Ìsè4´ÿ¸H…À„6‹=è/'è´ÿH…ÀH‰Ã„‹C…Àt8H‹CH…Àt!¿ÙO¹H‰Æó¦tH‰Çèö-ûÿHÇCH‹D$HƒÄ[]ÃfH‹sH…öté‹;H‰t$…ÿutº¿¤Pè-ÙøÿH‹SI‰À¹Ü(O¸‡óPH|$¾röN€:HDÈ1Àè4úÿƒøÿ„ƒH‹C¿ÙO¹H‰Æó¦…‚H‹D$H‰CÇCHƒÄ[]Ãè#hûÿH‹sº¿¤PH‰Åè­ØøÿH‹SI‰À¹Ü(O¸‡óPH|$I‰é¾ÄP€:HDÈ1Àè3úÿƒøÿ…}ÿÿÿH‹D$똻 sé×þÿÿfDH‰Çèè,ûÿéqÿÿÿƒ=˜.'…’þÿÿfDèÛüÿÿƒ €.'é{þÿÿffffff.„SH‰ûHƒì0H‹wH…öt¿ÙO¹ó¦u)H‰ßè‰,ûÿ¸H…Àt ‹=1.'1öèb´ÿHƒÄ0[Ã@HT$(1ÉH‰æ¿°èKHÇD$(è»9þÿ…Àt¶H‹D$(H…Àt¬Hƒx0u¥H‹{è-,ûÿëšff.„Hƒì8H‹5½-'H…öt¿ÙO¹ó¦u HƒÄ8ÃDHT$(1ÉH‰æ¿°èKHÇD$(èK9þÿ…ÀtÕH‹D$(H…ÀtËHƒx0uÄH‹=g-'èº+ûÿë¶1É1Òé9þÿƒùtƒùt1É1Òéý8þÿDH‰Ñ1Òéî8þÿfD1Ééá8þÿHƒì(H‰|$‰t$¿ÐíKH‰æH‰ $H‰T$èûÿÿƒøÀHƒÄ(÷ÐÃSH‰ûH‹ƒ{ v¹ÄP1Ò1ö1ÿè’ñf‹Cÿ$Å@ÄPfD1ÀHƒ¿H…€H‹SH‰[ÀH‹CH‹W0H‰[ÃH‹CH‰8[ÀH‹s1Ò[éÔ²@H‹sº[éÁ²H‹·8H‹{[écûÿ€H‹CHÇH‹—HH‰[Ãè«évÿÿÿHƒì8H‰<$H‰t$¿ðîKH‰æ‰T$H‰L$ èúÿÿ‰Â1À…ÒuH‹|$èû<þÿH‹|$è±ùÿÿH‹D$HƒÄ8ÀSH‰ûHƒìHƒ?uG‹wH‹W ¸‡óPH‹L‹ #5'D‹5'H…ÿHDøH‹N'΀1ÉH‰$è¥H‰CHƒÄ[ù˜ÄP1Ò1ö¿è(ðHÇÀ ÿÿÿdH‹é H‰\$ðH‰l$øHƒìH‰ûèŠfûÿHxH‰Åè>8ûÿH…ÀH‰Çt&Æ(H‰êH‰ÞH‹l$H‹\$HƒÄéÙŽûÿf„1ÀH‹\$H‹l$HƒÄÃ1ÀH9÷t)H‹RpëHƒÇD¶¶HƒÆA¶À‹‚+ŠuE„ÀuàóÃH‰\$ØH‰l$àH‰ûL‰d$èL‰l$ð‰õL‰t$øHƒì(I‰ÔI‰ÎèseûÿLhIƒý†µL‰ïèm7ûÿH…ÀI‰$º uëGDˆHƒÀ„Òt.HƒÃ¶¾Ê9éuèI;$vJ€xÿtDÆHƒÀ„ÒuÛf„M…ít;M‰.1Ò‰ÐH‹$H‹l$L‹d$L‹l$L‹t$ HƒÄ(ÀIƒíë˜f.„I‹<$è(ûÿIÇIÇ$1ÒM‰.ë«IÇ$IÇ1Òë—H‰\$ØH‰l$àH‰ûL‰d$èL‰l$ðH‰×L‰t$øHƒì(H‰õI‰ÔA‰Íè_dûÿLp1ÀIƒþvqL‰öHuH‹;èDCûÿH‰ÂH‰¸ H…ÒtRH‰ÐHEëˆA¶$HƒÀ„Òt1IƒÄA¶$¾ÊD9éuàH;vC€xÿt=ÆA¶$HƒÀ„ÒuÔDLu1ÀH‹$H‹l$L‹d$L‹l$L‹t$ HƒÄ(ÃDIƒîëUH‰åAWI‰ÿAVAUATSH‰óHìèH‹B‹P@H…ÒH‰UÈ„ç H‹HHH‰M¸H‹pPH‰uÀH‹xXƒæH‰}˜L‹P`L‰•@ÿÿÿH‹@hH‰…8ÿÿÿ…C ö…8ÿÿÿ… L‰ÿè6cûÿH‰ßI‰Äè+cûÿM…äI‰Å„0 H…À„' J L4€Iþ‡) J¥J­HƒÂHƒÀIƒÄHƒâðHƒàðIƒäðH)ÔIƒÅÇ…ÿÿÿHT$H)ÄIƒåðHL$L)äHt$L)ìHƒâðH|$HƒáðH‰•hÿÿÿHƒæðH‰XÿÿÿHƒçðH‰µ(ÿÿÿH‰½ ÿÿÿL‹U¸M‰øIÇÇÿÿÿÿH‰Ù1ÛE¶ÇE´HÇEˆÿÿÿÿL‰½xÿÿÿL‰½`ÿÿÿL‰½pÿÿÿHÇE HÇE€AƒâHÇ…ÿÿÿHÇ…ÿÿÿD‰•ÿÿÿHÇ…HÿÿÿHÇ…Pÿÿÿ…ÛÇE”‰4ÿÿÿ…ýH‰M¨H‹ÿÿÿëW€H‹pÿÿÿH9xÿÿÿ„ÕHƒ­xÿÿÿH‹½xÿÿÿH‰}€H‰þH‹½hÿÿÿL‹U˜H·‹HcÚƒÂA¶‰…Û…ˆƒE”Hƒ½pÿÿÿÿu¢H‹…PÿÿÿH‹•hÿÿÿL‹¥(ÿÿÿL¥PÿÿÿL,‚I‰ÆëFDM‰Ø‰ØãÿÿÿÁøAˆ$A‰]IƒÅA¶$L‹U¸IƒÄH¯UÈIFH‰ÁAö„ãI‰ÆA¶„À„IL‹UÀ¶ÀMXA‹‚HcËH…ÉyœL‹½@ÿÿÿI)ÏL‰ù€‹¶QHyLcÓM…Òx^H…Ò„ú¶71ÀA:3të'f„¶tA:tu HƒÀH9ÂwëH9„ÇH HƒÂƒât¥¸H)ÐHÁ똄H…Ò„~D¶?E¶ 1ÀE8Ït逶\A¶t@8óuHƒÀH9Âwç„ù ¶A¶4@8ó‡Ï¶1ÀHLA8Ùt!é‰f.„¶A¶tHƒÁ@8óuHƒÀH9ÂwåtH A¶4¶@8ó‚¡H‰Ð1ÒE8ÏuHƒÂD¶<E¶LE8ÏtìIÐH×1Éë fE¶HD¶?H‰ËE¶ÿA¶ÉD)ùHÁãHƒÂHcÉIƒÀHƒÇHÙH9ÂrÎH‹½8ÿÿÿL)ÑM‹éþÿÿ„HÒH HƒÂƒâ„\þÿÿ»H)ÓHÙéLþÿÿHÒH HƒÂƒâ„8þÿÿ¾H)ÖHñé(þÿÿH‰ÿÿÿH‹M¨‰4ÿÿÿ‹E´ÇE¨…À…DH‹ÿÿÿL‰…øþÿÿëKDH‹•`ÿÿÿH9Uˆ„ìHƒmˆH‹uˆH‰u I‰÷H‹…XÿÿÿH‹}˜J¸‹2Hcƃƶ‰2…À…ÛƒE¨Hƒ½`ÿÿÿÿu¬L‹½HÿÿÿH‹…XÿÿÿL‹¥ ÿÿÿL¥HÿÿÿN,¸M‰þëG€L‰Ù‰øçÿÿÿIVÁøAˆ$A‰}IƒÅA¶$H‹u¸IƒÄH¯EÈH‰Óö„I‰Ö¶„À„wL‹UÀ¶ÀLYA‹<‚HcßH…ÛyžL‹½@ÿÿÿI)ßL‰û‹;¶SHsLc×M…Òx^H…Ò„ðD¶1ÀE:të'„D¶DD:Du HƒÀH9ÂwêH9„¼HHƒÂƒât¤¾H)ÖHóë—€H…Ò„t¶ˆE´A¶;1À@8}´tépD¶DD¶LE8ÈuHƒÀH9Âwæ„¶D¶E¶ E8ȇÕD¶<1ÀH\A8ÿt#é~€D¶ D¶DHƒÃE8Á…êHƒÀH9ÂwàtHE¶D¶<E8Ç‚£A‰ÿH‰Ð¶]´1ÒA8ßufDHƒÂ¶¶|@8ûtîHÑHÖE1Àë ¶y¶@¶ÿ¶ÛHƒÂ)ßIÁàHƒÁHcÿHƒÆH9ÂNrÔL‹½8ÿÿÿM)ÐI C‹<‡éþÿÿDHÒHHƒÂƒâ„Tþÿÿ¿H)×HûéDþÿÿHÒHHƒÂƒâ„0þÿÿAºI)ÒLÓéþÿÿE‰Ïé'ÿÿÿH9Pÿÿÿ†ÌH‰M€HÇ…pÿÿÿÿÿÿÿH‰ÎéúÿÿH9Hÿÿÿ†MH‰] HÇ…`ÿÿÿÿÿÿÿI‰ßéýÿÿL‹…øþÿÿH‰ÿÿÿ‹µ4ÿÿÿ…ö„‹ÿÿÿD‹}¨…ÛA•ÂD9}”t(E„Òt#‹E”D)ø‹•ÿÿÿ…Ò…œHeØ[A\A]A^A_ÉÃH‹U€H‹hÿÿÿL‹} L‹e˜H<“H‹•Xÿÿÿ‹4ÿÿÿJ4º‹D‹HcÒA¶McËG¶ A8Ñ…xAƒÃƒèƒëD‰‹ƒÂ…À‰~…ÛÈ9ÉE´„ßøÿÿE„Ò„Öøÿÿ‰Ø+E´écÿÿÿI é~üÿÿMémùÿÿH9PÿÿÿL‰ð‚‹f‡RH9Á„IH‰M€H‰…PÿÿÿH‰Î騸ÿÿL‰òH9Hÿÿÿr"‡SH9Ó„JH‰] H‰•HÿÿÿI‰ßé±ûÿÿL‹•HÿÿÿH{ÿH‰•HÿÿÿH‰}ˆH‰} I‰ÿL‰•`ÿÿÿéˆûÿÿL‰ñH9PÿÿÿƒuÿÿÿH‹PÿÿÿHQÿH‰…PÿÿÿH‰•xÿÿÿH‰U€H‰ÖH‰pÿÿÿéEøÿÿL‰óéhÿÿÿ1ÀE1Àé…ýÿÿ1À1ÉérúÿÿA‰ùD¶E´é­üÿÿD‰ÎD‰ûé ùÿÿH‹½hÿÿÿ‰…ðþÿÿèöûÿ‹…ðþÿÿéGþÿÿè&UûÿHeØ[A\A]A^A_ÉÃA¶Á¶Ò)ÐéþÿÿA‰øé±üÿÿD‰Îé£ùÿÿ1À9…4ÿÿÿ„ƒ½4ÿÿÿtp¸éæýÿÿL‹½PÿÿÿH‰ÿÿÿÇ…4ÿÿÿH‹M¨H‰…PÿÿÿL‰½pÿÿÿé2úÿÿ1ÀH‰•Hÿÿÿë§H‹µxÿÿÿH‰ÿÿÿÇ…4ÿÿÿH‹M¨H‰µpÿÿÿéÿùÿÿ…ÀuƒÈÿéxýÿÿ‹µ4ÿÿÿA¼‰ðL;eȃhH‹(ÿÿÿL‹m¸HƒËÿI‰ØI‰ÛI‰Ù¶Må1ÉH¯UÈA¶Tƒâ‰UÀ1ÒE1Ò…À…’H‹}€ë5M9È„IƒèL‰ÇL‹½hÿÿÿM4¿L‹}˜IcA¶E‹>AƒÇ…ÀE‰>uSAƒÂIƒùÿuÁL‹µ(ÿÿÿH‰ÐIÖëE¶>IƒÆL¯}ÈCöD=t HƒÀH;…PÿÿÿrÞH9„–L@ÿI‰ÑH‰ÂL‰ÇëˆH‰}€E1ö…ötU…À…¡9ð…õþÿÿIƒÄ‰ÆéÿÿÿL9Û„$HƒëH‰] H‹u L‹½XÿÿÿI<·L‹}˜Hc7A¶47D‹?AƒÇ…öD‰?u«AƒÆIƒûÿu¼H‹½ ÿÿÿH‰ÎHÏëD¶?HƒÇL¯}ÈCöD=t HƒÆH;µHÿÿÿrÞH9ñ„ÿH^ÿI‰ËH‰ñH‰] ëƒƒ}À•E¨E9òt€}¨t D‰ÐD)ðéÂûÿÿH‹}€L‹•hÿÿÿL‹} H‰UˆM4ºH‹½XÿÿÿN¿A‹:E‹>H‹U˜HcÿD‰}´Mcÿ¶<:F¶<:A8ÿuS‹}´ƒîƒèƒÇA‰>A‹:ƒÇ…öA‰:~…ÀÁ9ðH‹Uˆ„%þÿÿ€}¨„þÿÿ)ðéAûÿÿH;HÿÿÿsH‰M IƒËÿéÎþÿÿA¶Ç@¶ÿ)øéûÿÿ1öHÇE ÿÿÿÿéŒþÿÿH;•Pÿÿÿt)H‰×HƒÂéìýÿÿ1ÀéñúÿÿH;HÿÿÿtH‰M HƒÁé~þÿÿH‰}€1ÀI‰Ñé=þÿÿ1öéEþÿÿ1ÉéÃöÿÿ¹ªÄPºk¾FÅP¿ðÄPèøÂøÿ¹ªÄPºh¾FÅP¿¸ÄPèßÂøÿ1ÀM…ä•À1ÒM…í•Â)Ðé„úÿÿL‰÷è Êýÿ…À…ÇòÿÿL‰÷èÐ'ûÿH‰…hÿÿÿHƒ½hÿÿÿJ¥J­„ªòÿÿH•hÿÿÿÇ…ÿÿÿHÐH‰•XÿÿÿIÄH‰…(ÿÿÿL‰¥ ÿÿÿéïòÿÿE1ÀéùÿÿH;•Pÿÿÿs H‰×IƒÉÿéßüÿÿ1ÀM‰ÁHÇE€ÿÿÿÿéIýÿÿH‰øH‰ùf.„‹HƒÁ…Òuö1Ò@‹<‰|üHƒÂ…ÿuñóË1À…Ét^‹W°…ÒtUD‹_°E…ÛtJD‹W º°E…Òu.ë8fD‹L—HBE…Ét(D‹D— HBE…ÀtHB‹4‡…ötH‰Â‹L—HB…ÉuÊóÃHƒúH‰øw0ë=D9pHHt'9pHHt9p HH tHƒêHƒÀHƒúv90uÓóÃH‰ÈÃ@H…ÒDt&90tçHƒêtHƒÀ90tÙHƒútHƒÀ90tËfD1ÀÃL‰l$øA‰ýH‰\$àA•€H‰l$èL‰d$ðH숉øúv)¸ÿÿÿÿH‹\$hH‹l$pL‹d$xL‹¬$€HĈÃDƒÿÿtÒ÷Ç€ÿÿÿtÏHÇÀÿÿÿdH‹H‹(H‹](H…Û„Hƒ{H‹H‹h0u.H…ít)Hƒ8t HÁÍdH3,%0H‰ïè(þÿA¶õH‹;ÿÕéxÿÿÿHD$_Ld$HÇD$8Dˆl$_ÇD$$H‰D$PHD$XÇD$(ÇD$ HÇD$@H‰D$HƒÀH‰D$ID$(H‰D$0H‹Hƒ8H‹h(t HÁÍdH3,%0H‰ïè‡'þÿH‹L$PHT$PÇD$Ç$E1ÀLL$HL‰æH‹;HƒÁÿÕƒø‰Ât…Àt ƒÈÿƒú…·þÿÿ‹D$Xé®þÿÿHý€úO»€˜O„èþÿÿH‰ïèP™ûÿH‹](é×þÿÿH…Ò¸ÐsHDÐH‰ÑH‰òH‰þ1ÿéH‰\$ØL‰l$ð»ØsH‰l$àL‰d$èI‰õL‰t$øHì¨H…ÿHD$pHDøH…ÉHDËH…öH‰û„iHCÇD$4ÇD$8ÇD$0H‰L$@H‰D$(HÇÀÿÿÿHÇD$PH‰\$ dH‹H‹(L‹e(M…ä„FM‰îHÇÀÿÿÿÿIÖLBðI‹$Hƒ8H‹h(t HÁÍdH3,%0H‰ïL‰l$`è!&þÿÇD$Ç$E1ÀHT$`Ht$ LL$hL‰ñI‹<$ÿÕƒøty…Àufƒøtp…ÀtlƒøfteƒøHÇÂþÿÿÿtHÇÀÐÿÿÿHƒÂdÇTH‰ÐH‹œ$€H‹¬$ˆL‹¤$L‹¬$˜L‹´$ HĨÃDƒøt•ƒøtƒøuLH9\$ @t‹…ÒuH‹D$@‹…Àuw1Òë™f„H‹T$`L)êë†fDH‰ÃºA½‡óPé„þÿÿ¹2ÅPº\¾(ÅP¿—OèD½øÿHý€úOA¼€˜O„§þÿÿH‰ïH‰T$è$—ûÿL‹e(H‹T$éŒþÿÿ¹2ÅPºe¾(ÅP¿˜Oèý¼øÿ¸àsH…ÉHDÈHÇÀ ÿÿÿdL‹éT ‹H‰ø…Òt9òu ë9òfDt HƒÀ‹…ÒuìóÃóÃHÇÀ ÿÿÿdH‹éUH‰åAWI‰ÿAVAUI‰õATSHìÈH‹B‹P@H…ÒH‰UÈ„tH‹HHH‰M¸H‹˜ˆH‰]ÀH‹°ƒãH‰uH‹¸˜H‰½HÿÿÿH‹€ H‰…8ÿÿÿ…è öE…; ö…Hÿÿÿ…R ö…8ÿÿÿ…«L‰ÿèúÿÿL‰ïH‰ÃèúÿÿH…ÛI‰Ä„¥H…À„œHL4€Iþ‡" H J¥HƒÁHƒÂHƒÃHƒáðHƒâðHƒãðH)ÌIƒÄÇ…ÿÿÿLD$H)ÔIƒäðLT$H)ÜHD$L)äIƒàðHT$IƒâðL‰…hÿÿÿHƒàðL‰•pÿÿÿHƒâðH‰…(ÿÿÿH‰• ÿÿÿH‹M¸HÇÇÿÿÿÿL‰ëM‰ü1öE1í1Ò¶ Ç…0ÿÿÿHÇE°ÿÿÿÿH‰}¨H‰½`ÿÿÿH‰½xÿÿÿHÇE HÇEˆƒáHÇ…PÿÿÿHÇ…Xÿÿÿ‰ÿÿÿ…öÇE„‰µDÿÿÿ…ØH‰]˜L‰­ÿÿÿëEL‹½xÿÿÿL9}¨„¡Hƒm¨H‹M¨H‰MˆH‰ËH‹µhÿÿÿH‹}Hž‹HcÙƒÁ‹Ÿ‰…Û…uƒE„Hƒ½xÿÿÿÿu­L‹…XÿÿÿL‹•hÿÿÿL‹­(ÿÿÿL­XÿÿÿO4‚M‰Çë?I‰Ü‰Â%ÿÿÿÁúAˆUA‰IƒÆA¶ML‹E¸IƒÅH¯MÈIGH‰ÂAö„ÚI‰ÇA‹4$…ö„KH‹}ÀI\$èßþÿ…Ày£H‹µHÿÿÿ÷ØH˜H †‹HcqLI…ÀxEH…ö„¶A‹91Ò;;tëf‹|‘A;|”u HƒÂH9ÖwìH9Ö„ŒI ±‹HcqLI…Ày»I‰ðIƒèt$A‹91Ò;;të]D‹|‘A;|”uMHƒÂL9ÂrìC‹B‹<ƒI ñ9úlÿÿÿA;|ñüaÿÿÿ)×÷ØL$³Hc×H‹½8ÿÿÿH˜HЋ‡éÙþÿÿfDI ñé3ÿÿÿL$³éÁþÿÿ‰DÿÿÿL‹­ÿÿÿH‹]˜‹…0ÿÿÿÇE˜…À…+H‰•0ÿÿÿL‰¥ÿÿÿL‰êëEL‹½`ÿÿÿL9}°„ÒHƒm°H‹E°H‰E I‰ÇH‹…pÿÿÿH‹}J ¸‹1HcƃÆ‹‡‰1…À…ƒE˜Hƒ½`ÿÿÿÿu­L‹…PÿÿÿL‹•pÿÿÿL‹µ ÿÿÿLµPÿÿÿO<‚M‰ÅëADL‰ã‰Â%ÿÿÿIuÁúAˆA‰IƒÇA¶H‹}¸IƒÆH¯EÈH‰òö„íI‰õ‹3…ö„*H‹}ÀLcèÝþÿ…Ày©H‹•Hÿÿÿ÷ØH˜H ‚‹HcqLI…ÀxJH…ö„¼A‹91ÒA;<$të"fD‹|‘;|“u HƒÂH9ÖwíH9Ö„I ±‹HcqLI…Ày¶I‰ðIƒèt$A‹91ÒA;<$të\@‹|‘;|“uNHƒÂI9ÐwíC‹C‹<„I ñ9úgÿÿÿA;|ñü\ÿÿÿ÷Ø)×H‹8ÿÿÿH˜Hc×I´HЋéÚþÿÿ€I ñé-ÿÿÿI´éÁþÿÿH9•Xÿÿÿ†tH‰UˆHÇ…xÿÿÿÿÿÿÿH‰ÓéKüÿÿH9•Pÿÿÿ†êH‰U HÇ…`ÿÿÿÿÿÿÿI‰×éþÿÿI‰ÕL‹¥ÿÿÿH‹•0ÿÿÿ‹µDÿÿÿ…ö„¶‹ÿÿÿD‹E˜…ÉA•ÂD9E„t,E„Òt'D‹u„E)Æ‹…ÿÿÿ…À…UHeØD‰ð[A\A]A^A_ÉÃL‹}ˆH‹hÿÿÿH‹u D‹µDÿÿÿL‹]N¹L‹½pÿÿÿI<·‹A‹0HcÉA‹ ‹LcÎG‹ ‹A9É…ƒÆƒèAƒîA‰0‹ƒÁ…À‰~E…öÉA9Ɖ…0ÿÿÿD‰ö„ûÿÿE„Ò„ûÿÿA)Æé[ÿÿÿL‰îH9•PÿÿÿrP‡6H9ò„-H‰U H‰µPÿÿÿI‰×éýÿÿL‰øH9•XÿÿÿrK‡ÙH9„ÐH‰UˆH‰…XÿÿÿH‰ÓéåúÿÿL‹•PÿÿÿLBÿH‰µPÿÿÿL‰E°L‰E M‰ÇL‰•`ÿÿÿé¯üÿÿH‹XÿÿÿLzÿH‰…XÿÿÿL‰}¨L‰}ˆL‰ûH‰xÿÿÿé“úÿÿL‰úé{ÿÿÿL‰êéEÿÿÿH‹½hÿÿÿè^ ûÿéšþÿÿE‰ÎA)ÎéþÿÿfDèZA‰Æé|þÿÿ1À‹•DÿÿÿA¼9„܃½Dÿÿÿ…£AƒÎÿéBþÿÿL‹•XÿÿÿH‹]˜L‹­ÿÿÿÇ…DÿÿÿH‰…XÿÿÿL‰•xÿÿÿé£ûÿÿ1ÀH‰µPÿÿÿëœH‹E¨H‹]˜L‹­ÿÿÿÇ…DÿÿÿH‰…xÿÿÿésûÿÿ¹RÅPºk¾<ÅP¿ðÄPè7´øÿE1öH…ÛA•Æ1ÀM…ä•ÀA)Æé¾ýÿÿ…Ò„]ÿÿÿA¾éýÿÿL‰EˆE1ö…À„$…Ò…§9ÂuÒIƒÄ‰ÐL;eȃÖH‹(ÿÿÿL‹m¸HƒÎÿH‰÷I‰óI‰ñ¶ Må1ÛH¯MÈA¶L ƒá‰MÀ1ÉE1Ò…ÒuŸL‹Eˆë8L9Ï„xHƒïI‰øL‹½hÿÿÿO4‡L‹}IcA‹—E‹>AƒÇ…ÒE‰>…]ÿÿÿAƒÂIƒùÿu¾L‹µ(ÿÿÿH‰ÊIÎëE¶>IƒÆL¯}ÈCöD=t HƒÂH;•XÿÿÿrÞH9Ñ„4HzÿI‰ÉH‰ÑI‰øë…L9Þ„„HƒîH‰u H‹E L‹½pÿÿÿM‡L‹}IcA‹‡E‹8AƒÇ…ÀE‰8…ÜþÿÿAƒÆIƒûÿu¹L‹… ÿÿÿH‰ØIØëE¶8IƒÀL¯}ÈCöD=t HƒÀH;…PÿÿÿrÞH9Ãt5HpÿI‰ÛH‰ÃH‰u ë„H;Pÿÿÿs H‰] IƒËÿénÿÿÿ1ÀHÇE ÿÿÿÿéoþÿÿH;Pÿÿÿt+H‰] HƒÃéIÿÿÿƒ}À•E¨E9òt€}¨tE)òE‰ÖéÁûÿÿ1Àé4þÿÿL‹EˆL‹•hÿÿÿL‹} H‰M˜O4‚L‹…pÿÿÿO¸E‹E‹>H‹MMcÀD‰}°McÿF‹F‹<¹E9Ç…D‹E°ƒèƒêAƒÀE‰E‹AƒÀ…ÀE‰~…Ò»9ÂH‹M˜„þÿÿ€}¨„ûýÿÿA‰ÖA)Æé/ûÿÿL‰÷èô¸ýÿ…À…ÎõÿÿL‰÷è¤ûÿH…ÀH‰…hÿÿÿH J¥„¶õÿÿHÈÇ…ÿÿÿHÂH‰…pÿÿÿHÓH‰•(ÿÿÿH‰ ÿÿÿéÿõÿÿ¹RÅPºh¾<ÅP¿¸ÄPè±øÿH;XÿÿÿsI‰ÈIƒÉÿézýÿÿE1öé”úÿÿ1ÒI‰ùHÇEˆÿÿÿÿééüÿÿH;XÿÿÿtII‰ÈHƒÁéKýÿÿ¹RÅPºi¾<ÅP¿`ÅPèÁ°øÿE‰þE)ÆéIúÿÿ¹RÅPºj¾<ÅP¿˜ÅPè°øÿL‰Eˆ1ÒI‰Éé‰üÿÿAWAVAUATUSHìˆI‹H‰t$(H‰|$ H‰ÖÇ„$DÇ„$HÇ„$@H‰Œ$PHÇ„$`H‹C(H…À„dL‹ Iƒ<$I‹l$(t HÁÍdH3,%0Hƒ|$ „åH‹\$(H‹D$ H…öH‹ H‰„$0H°H‰„$8H‰Œ$h„³L¬$xL´$hL¼$0H‰ÏH‰L$èûBûÿH‹L$H‰ïH\èYþÿE1ÀL‰çÇD$Ç$M‰éH‰ÙL‰òL‰þÿÕƒø@•ǃø„¾@„ÿ„µH‹Œ$hH‹”$0¿H+T$ H‹t$(H‰HÁúƒøH‰Ót…À…·H‹t$ HJÿ‹4Ž…öu*H…Ò„H‹”$P‹…Ò…H‹T$(H‰ËHÇ…À•‰Ñ!ù„Ét~ƒøtyƒøttƒø….f.„HĈH‰Ø[]A\A]A^A_ÃH‹Œ$hH9Ùuk€{ÿteH‹”$0H‹´$8H)ÖHÁþH…ö…½þÿÿé(ÿÿÿ‰ùºƒá„Éu‚ƒøt„Òt™ƒøt”@„ÿtŽHÇÀÐÿÿÿHÇÃÿÿÿÿdÇTétÿÿÿ@H‹”$0éÛþÿÿH‹D$(L|$0L¬$xL´$hH‹H‰ßH‰œ$hèó@ûÿHDI—1ÛH‰D$(H‹„$PH‹H‰T$ H‰”$8H‰„$pH„$pH‰„$PH‰ïL‰¼$0è`þÿE1ÀH‹L$(L‰òÇD$Ç$M‰éH‹t$ L‰çÿÕH‹Œ$0H‰ÊL)úHÁúHÓƒøt¯ƒøt…Àtƒøº@•ljùƒáé\þÿÿ‹yü…ÿu(Hƒë…À•ƒø@•ljù!Ñé<þÿÿH‹\$(H‰ 1ÛéQþÿÿ¹ØÅPºd¾ÊÅP¿èÅPèè¬øÿ¹ØÅP²“¾ÊÅP¿5˜OèÒ¬øÿ¹ØÅPº”¾ÊÅP¿˜O蹬øÿHû€úO¸€˜O„ŠüÿÿH‰ßH‰T$蚆ûÿH‹C(H‹t$éoüÿÿ¹ØÅPºŸ¾ÊÅP¿—Oès¬øÿº%s¾éH‰ò¾éóHƒìHÇÀ`ÿÿÐ=ðÿÿƒ8þÿHƒÄÃA¸;ƒþ;¹<D‰ÀFƯÁƒÿ;¹AGøøƒúFÊiÉÈÃfff.„UƒþÿS„•9w(„‚þ²Ž€DFÿº…ëQDiÎmD‰ÀÁøEŒYõÿD‰ÀAÁø÷êD‰À‰ÑÁúÁùD)Â)ÈAÁ‹GAHcÊHiÉ€Qƒøt:ƒŠ·GHiÀ€QHÁ‹G‰w(H+GH H‰O []À‹G1ɃøuÆ·G·ÐHƒêHiÒ€QHÑfƒø;v¿@öÆu¹‰ðº…ëQ‰ó÷êÁûA»d‰ÐÁø)ØA¯Ã9Æ„ÞHÁ€Që‰Dƒø…{ÿÿÿ@öÆ„R1íD·_ DVÿA¸…ëQA¹dA·ÃHÅfAƒûDCÖAƒÃ ·œ-QD‰ÐA÷èD‰ÐÁøA‰Ðº«ªª*AÁøA)ÀD‰ÀA¯ÁA)ÂD‰Ø÷êEJÑêRÁâA)ÓºgfffAƒÃC[E\ƒÿD‰ØAÁû÷êA@ÑúD)ÚE…ÒATEHÑAÁúE…ÀAIÀFEÀÁøº“$I’E E)ÁD‰È÷êB D‰ÊÁúÁø)ÐÅ)ÂD‰È)ЈŷW)ˆ©D·OAƒùv8D·„- QB·ëA)èA9À~!‰Â¸ëfDjD9Å} ‰êƒÀA9ÁwîHcÒ·ÛHÚHiÒ€QHÑé"þÿÿfD‰ðº…ëQ‰ó÷êÁûAºd‰ÐÁø)ØA¯Â9ÆuÁú)ÚiÒ9Ö…xþÿÿ½ épþÿÿ„ƒÂéOÿÿÿ„ƒÀé3ÿÿÿ„Áú)ÚiÒ9Ö…¡ýÿÿé þÿÿ„H‰\$èH‰l$ðH‰óL‰d$øHƒì‹vH‰ý¿ sA‰ÔÆlèáüÿÿ‹s¿PsÆlèÎüÿÿE…ätCH‹B'H‹ k'H9ÊP1ÀH9ê~?‰C H˜H‹ÅPÞrH‰S0HHDHÁàH‹€(sH‰C(H‹$H‹l$L‹d$HƒÄÃ1ÀH9éŸÀë·H9鸭1ÀH9êžÀë£fAVE1öAUI‰ýATUSè=;ûÿH‹ö'H‰ÅH…Ûu ë2@H‰ÃH‹CH9ÅwH)èL‰ïLdL‰æè™6ûÿ…ÀtAH‹H…ÀuÕI‰ÞH}E1äèþ ûÿH…ÀH‰Ãt"L`HÇH‰hL‰îL‰çèŒ6ûÿM…ötI‰[]L‰àA\A]A^ÃH‰q'ëëffffff.„Uº s1À¹ H‰åAWAVAUI‰ýH‰×ATLeÄSHƒìHóH«L‰ïHÇøÿ&‡óPHǽÿ&‡óPèX:ûÿHPHƒÀL‰îHƒàðH)ÄH|$HƒçðècûÿL‰áH‰ÂH‰Ã¾ÆP1ÀL‰ïèúÿƒø„WA€}<…úIƒÅH‰ÙHÇÇØÿÿÿë@ˆIƒÅHƒÁdH‹H…Ò„»A¶EH¾ðöruÚ<+tÖ<-tÒ<>…°H‰ÈH)ØHƒøŽ IƒÅÆH‰ßè£9ûÿL‹5\ÿ&I‰ÇM…öuë5fI‰ÆI‹FI9ÇwL)øH‰ßITH‰ÖH‰U èý4ûÿ…ÀH‹U tNI‹H…ÀuÍIèd ûÿ1ÒH…Àt6HPHÇL‰xH‰ÞH‰E¨H‰×H‰U èë4ûÿM…öH‹U H‹M¨„…I‰H‰pþ&A¶E„Àt'<-„§<+„Ÿ¾Èƒé0ƒù †„H‹Qþ&1ÉH;xþ&L‹%Yþ&•ÁH÷ØH‰×H‰IÁ&‰ óý&H‰ôý&L‰%=Á&è 8ûÿL‰çH‰Ãè•8ûÿH‹'H9Ów!H‰ÓH9ØvH‰ò'HeØ[A\A]A^A_ÉÃH‰Ù'ëÙ€<-”Â<+„Є҅™Hǰý&ÿÿÿÿL}ÎLuÊLEÌ1ÀM‰áL‰áL‰ú¾ÆPL‰ïL‰d$L‰4$èëúÿƒø„ƒø„nƒø„1ÉHƒ=Žý&HÇSý&H‹4ý&L‹%]ý&•Á1Àéÿÿÿ‹EăøŽ¢H˜IÅéÿýÿÿ¸IƒÅH‰ý&é]ÿÿÿH‰ Ný&érþÿÿ1ÀL‰áH‰Ú¾ÆPL‰ïèTúÿƒø„£A¶E<<…,IMH‰ÞHÇÇØÿÿÿëfDˆHƒÁHƒÆdH‹H…҄ݶL¾ÀBöBuÛ<+t×<-tÓ<>…ÜH‰ðH)ØHƒøŽÌLiÆH‰ßè¤ûÿÿH‰}ü&A¶E<-”Â<+„¬„Ò…dHÇpü&ÿÿÿÿLEÌ1ÀM‰áL‰áL‰ú¾ÆPL‰ïL‰d$L‰4$èƒúÿƒø„æƒø„ãƒø„žH‹ ùû&HÁH‰ ü&A¶E„Àt <,u4A€}u-H‹Ðû&H‹5áû&H‹=ªû&è!‹¿'…À…3A¶E<,”À¶ÀIÅA¶EHú%s¾”À1ÿE…ä@•Ç!ÇèÊüÿÿ‹=tü&…ÿ…”1öH‰ÚH‰ïè/?…À…Ç1ÛHÇ$ÇD$ H…Ût"E…䄇H‹s(H+4$H‰ÚH‰ïèô>…Àuh1Ûƒ='ù&tðÿ âñ&…Ìë ÿ Ôñ&…¾H‰ØH‹l$ H‹\$L‹d$(L‹l$0HƒÄ8ÃfDH‹}HL$ H‰âI‰ØD‰æè±éwÿÿÿ@‹D$ ë’ÇC HÇC0]ÆP1öHÇC(é_ÿÿÿf‹s¿ sL‹mÆlèùìÿÿ‹s¿PsÆlèæìÿÿE…ä„ÿÿÿH‹Vñ&H‹ ñ&H9Ê_1ÀI9Õ}3‰C H˜H‹ÅPÞrH‰S0HHDHÁàH‹€(sH‰C(éÀþÿÿD1ÀI9ÍœÀëÃfDHÇÀÐÿÿÿ1ÛdÇéñþÿÿI9͸|ž1ÀI9ÕÀë”H=¤ð&Hì€èäŸýÿHÄ€éùüÿÿH=…ð&Hì€èõŸýÿHÄ€é3ýÿÿH=fð&Hì€è¦ŸýÿHÄ€éKýÿÿH=Gð&Hì€è·ŸýÿHÄ€éYýÿÿH=(ð&Hì€èhŸýÿHÄ€é£ýÿÿH= ð&Hì€èyŸýÿHÄ€é#þÿÿAWAVAUATM‰ÄUH‰ÍSH‰ÓHƒì…öH‰|$„PL‹Mð&HÇê²&HÇç²&M…À„$H‹=?ú&H‹t$H97IHÿL‹ ÏL9Î=I)ñHºuýÚåî"ˆL‰ÈH÷êLÊIÁù?HÁúL)ÊE1ÉI9ЇûIQëDH‰ÁH9ц<J HÑèH;4Ç|çI‰Áë×H‹ ³ï&H‹5¼ï&@Hƒ=@²&„uD¶4H‹.²&I‰õIÁæH‹ ï&1ÉH;Ÿï&•ÁH÷ÚH…À‰ ¸î&H‰¹î&„+Hƒ=û±&„MõA¶EA‰D$ H˜A¶} L‹4ÅPÞrH=Bï&L‰öèÂ$ûÿ…À….I‹EM‰t$0I‰D$(H‹5ï&L‹6ï&H‰ÂHÇHÁâH‹|$ÇEILð€H…Àt$H‹1HƒèH‰ÊHIðH9þèH‹JH‰ H‹|$H9:tHƒÄ[]A\A]A^A_ÃH…À„÷H‹rHXÿH‰ÙHÁáI H9q}ÏH…ÀÇEtÃH‹1HƒÆH92u·H‹IHƒÁH9Ju©H‰ÂHÁà¹HÁâIDèITøë4@H‹pøHƒÆH9røu*H‹0H‹:ƒÁHƒêHƒèHƒÆH9÷…þHƒëH…ÛA‰ÈuȉMHƒÄ[]A\A]A^A_ÃfDI‰ÎI)ÖJ;4÷`Iƒþ vINöH;4ÏŒáýÿÿIFÿJL÷ðH;4ÇH‰Â})fH‹9I‰ÆHƒéHƒèH‰ÂH9þ|êë„HQÿI‰ÎH‹‚í&¶HÁàHƒí&¶x D¶hH={í&H‰$McíèìÿÿL‹Hí&J‰íPÞrH‹$M9ƃýÿÿH‹ 4í&H‹5=í&ëIƒÆM9ƃsýÿÿB¶1HÁàHD¶x¶x McïJƒ<íPÞruÏ@¶ÿH=í&H‰$è£ëÿÿ¹J‰íPÞrH‹$D)ùLcùJƒ<ýPÞr…ýÿÿH‹ ¶ì&H‹5¿ì&L‹ ì&é{ÿÿÿH‹rH…öŽþÿÿÇEHƒÄ[]A\A]A^A_ÃDMN M9Èv J;4Ï‚üÿÿIVH×ëHƒÂH‹HƒÀI‰ÖH9Î}íIVÿé³þÿÿH‰Ý®&éãüÿÿHƒ=0ì&u!H‹=7ì&èÚêÿÿH‰³®&é³üÿÿD‰EéVýÿÿ¹ÐÑPºó¾aÆP¿yÆPèì’øÿ¹ÐÑPºú¾aÆP¿°ÆPèÓ’øÿH‹= ì&M‰ÆH…ÿ„{ÿÿÿè+ëÿÿH|$1öL‰âè 8…À„!H‹|$ºL‰æè’éÿÿH‹»ë&H‰ÇHÁçH=µë&H;=Žë&…küÿÿHƒ=pë&…ÆèêÿÿH‹në&H‰ï­&HƒÉÿ1ÀH‰×ò®H÷ÑH< èøéÿÿH‰Ù­&H‹Zë&é üÿÿH‹Æ­&H‰·­&éxûÿÿH‹ë&H‹ë&E1ÿëL‰ùHÁáH €ytHƒ=Ž­&tmIƒÇI9×rÜL9ú„…M‰þIÁæB¶|0 H=Öê&èyéÿÿHƒ=Y­&H‰J­&tfL‹-±ê&éûÿÿ¹ÐÑPº•¾aÆP¿jÆP胑øÿL‹5tê&é2þÿÿ¶y H=„ê&è'éÿÿH‹hê&H‰­&H‹bê&éiÿÿÿE1öE1ÿéwÿÿÿL‹-Kê&L‰úH‹59ê&HÁâITëIƒÇI9÷ƒ’úÿÿ¶zH‰ÑHƒÂ@„ÿtã¶y H=ê&è¹èÿÿL‹-ê&H‰“¬&H‹„¬&éXúÿÿffffff.„UH‰åAWAVAUATI‰ôSH‰ûHì(H…ÿD‹-<ó&H‰•øþÿÿÇ+ó&„íD¶7E„öu,H‹=•ó&èàæúÿHÇ…ó&HeØ[A\A]A^A_ÉÃfD‹t&…Àt&A€þ/„\¾ˆÆPH‰ßèß-ûÿH…Àu®f.„A€þ/„›¿ŒÆPèÌçøÿH…À„S€8„JH‰ÇH‰…Àþÿÿè #ûÿH‹µÀþÿÿ‰ÂDr‰ÂH‰ßH‰•¸þÿÿH‰µÀþÿÿèæ"ûÿDxH‹•¸þÿÿH‹µÀþÿÿG47IƒÆIÁîIÁæL)ôLt$IƒæðL‰÷è@EûÿHxH‰ÞÆ/D‰úL‰óèkKûÿE…ít6H•ÿÿÿH‰Þ¿èBRýÿ…ÀuH‹Oè&H9…ÿÿÿ„Êf.„H‰ß¾Ð8OèóúÿH…ÀH‰Ã„«þÿÿH‰ÇèFúÿH•ÿÿÿ‰Æ¿èHÏHGH‰ßH4к蘯ÿÿ…À„@ÿÿÿH‰ßè¨øùÿégýÿÿ¿@ÆP¹H‰Þó¦„ýÿÿ¿ðÑP¹H‰Þó¦…:ýÿÿéuýÿÿºA¾¾ðÑPé¿ýÿÿE…í»@ÆP„JþÿÿéþÿÿDH‹iæ&H9•ÿÿÿ…,þÿÿH‹5eæ&H9µXÿÿÿ…þÿÿ„Çæï&éÜüÿÿHÁæHLÉH‰½ØþÿÿMl6L‰…ÐþÿÿHÇ…àþÿÿHƒáøIÍIƒåøAƒÿ„<HÁâH‰ÀþÿÿJ<"LïH½àþÿÿèòúÿH…ÀH‰üï&H‹Àþÿÿ„ßþÿÿH‹Ðå&H H‰ Ýå&HÐLèH‰÷å&H‰¸å&H‹¹å&HÁâAƒÿHH‰¶å&„EHÇÍå&M…ätH‹±å&HÁâHÐH‹•øþÿÿH‰Aƒÿ…» H‹Wå&H‹=hï&H‰Ù¾ è{.H;<å&…>þÿÿH…Àt7H‹=2å&H‹53å&¶H9Ö†þÿÿ1Òë¶ H9ñƒ þÿÿHƒÂH9ÂrêAƒÿ„nH…Àt+H‹ üî&1Àf.„H‹ÁHÊH‰ÁHƒÀH9Âä&wèHƒ=Èä&„"LeÀD‰½øþÿÿE1íIL$It$M‰çI‰Ì@H‹SH;Sƒ­¶HƒÂH‰SAˆH‹SH;SƒÙ¶HƒÂH‰SˆH‹SH;Sƒš¶HƒÂH‰SAˆ$H‹SH;Sƒ<¶HƒÂH‰SAˆD$H‹SH;Sƒ¶HƒÂH‰Sƒø‡ýÿÿH‹ ä&L‰êHÁâˆDH‹KH;KƒÞ¶HƒÁH‰KHcÈL9ñ‡ÍüÿÿH‹ Öã&IƒÅˆD ‹EÀÈL9-ºã&H‹ »ã&H˜H‰‡ÿÿÿD‹½øþÿÿH‹=©ã&H‰ÙL‰ò¾è±,L9ð…xüÿÿHƒ= ã&„ALeÀIc÷E1ÀD‰½ðþÿÿL‰µÈþÿÿE1íID$H‰µøþÿÿM‰ÆH‰…èþÿÿID$I‰Çé³@H‹Yã&H‹EÀHÈJ‰*H‹SH;SƒÝ¶HƒÂH‰SAˆ$H‹SH;Sƒ¦¶HƒÂH‰SH‹•èþÿÿˆH‹SH;Sƒn¶HƒÂH‰SAˆH‹SH;Sƒ<¶HƒÂH‰SAˆGH‹Ïâ&IƒÆA‹$ÈH˜J‰D*IƒÅL95«â&vIH‹•øþÿÿH‰Ù¾L‰çè’+H;…øþÿÿ…Uûÿÿƒ½ðþÿÿ… ÿÿÿH‹yâ&A‹$ÈH˜J‰*éÿÿÿL‹µÈþÿÿE1äHƒ½ÐþÿÿtCL‹­ÐþÿÿDH‹SH;Sƒ¨¶HƒÂH‰SL‰âHÁâ…ÀH‹÷á&•D IƒÄM9ìrÉH‹Úá&I9Ôs%L‰àHÁàHÏá&HƒÀ IƒÄÆHƒÀI9ÔrðE1äHƒ½ØþÿÿtIL‹­Øþÿÿ@H‹SH;Sƒ¬¶HƒÂH‰SL‰âHÁâ…ÀH‹wá&•D IƒÄM9ìrÉH‹Zá&I9Ôs-L‰àH‹Ká&HÁàHHá&HƒÀ @IƒÄÆHƒÀL9âwðHƒ=Xá&t-H‹SH;SƒH¶HƒÂH‰Sƒø „ÀHÇ)á&H‰ßè‘òùÿHƒ=áà&t31ÛDH‹Ùà&H‰ÚHƒÃHÁâ¶| H=Êà&èmßÿÿH9®à&wÔH‹•à&HÇ2£&HÇ/£&H…Û„FA¿ë fDH…Ût[H‹dà&Hƒë¶HÁàHaà&D¶`McìJƒ<íPÞruζx H=Kà&èîÞÿÿJ‰íPÞrD‰øD)àH˜Hƒ<ÅPÞrt£H‹©¢&H…À„ÈHƒ= ¢&„àH‹à&H‹lé&J42€:H‰ÐH‰Ùt#DHƒÀ€8u÷H‰ÁH)ÑH9ÙvH‰ =é&H‰ÂHƒÂH9òsH‰ËëÄ@H‰ÂH‰Ùëæ„Hƒ=€ß&u/H‹ß&1ÒH‹H‰›ß&H‰Œß&H÷؉³Þ&H‰´Þ&é÷øÿÿH‹ Hß&L‹Yß&1ÿHÇdß&HÇQß&1öHAÿH $ß&H‰Ê…öu<¶ZÿHÁãI€{u*H‹…ÿ@¶H‰ß&tC1ÒH‹ß&H;ß&•Âéuÿÿÿ…ÿu¶YÿHÁãI€{tH‹H‰èÞ&@„ö¿u½HƒéHƒêH…ÀtHƒè냅ÿu¦H‹¸Þ&1ÒH‰·Þ&éÿÿÿH…À„¹ùÿÿH‹Šè&Ht‚üHLÂø‹HƒîÊHcÒH‰HƒéHƒèuèé‹ùÿÿH‹|Þ&HÁâIHH‰yÞ&é§øÿÿL‹¥àþÿÿH‹=fÞ&H‰Ù¾IƒìL‰âèB'I9Ä…ýÿÿH‹BÞ&H‹µàþÿÿÆD0ÿH‹/Þ&H…À„ýüÿÿ€8…ôüÿÿéäüÿÿH‹…0ÿÿÿH‰ßH‰•¸þÿÿH‰ÀþÿÿH‰…ðþÿÿèT%H‹µðþÿÿH‹ÀþÿÿH‹•¸þÿÿHƒîH‰µàþÿÿHk5¼Ý& H)µàþÿÿHk5…Ý&H)µàþÿÿHk5fÝ& H)µàþÿÿH‹µÐþÿÿH)µàþÿÿH‹µØþÿÿL)µàþÿÿH)µàþÿÿH)…àþÿÿé$÷ÿÿHƒ=8Ý&…æH‹=;Ý&èÞÛÿÿH‰·Ÿ&éýÿÿH‰³Ÿ&éýÿÿH‰ßH‰•¸þÿÿH‰µÀþÿÿè0‡úÿH‹•¸þÿÿH‹µÀþÿÿéùÿÿH‰ßH‰µÀþÿÿè‡úÿƒøÿH‹µÀþÿÿ„¾õÿÿé:øÿÿH‰ßH‰µÀþÿÿèê†úÿƒøÿH‹µÀþÿÿ„šõÿÿéMøÿÿH‰ßH‰µÀþÿÿèÆ†úÿƒøÿH‹µÀþÿÿ„võÿÿéøÿÿH‰ß詆úÿƒøÿ„`õÿÿé¹ùÿÿH‰ß蓆úÿƒøÿ„Jõÿÿé‡ùÿÿH‰ßfè{†úÿƒøÿ„2õÿÿféKùÿÿH‰ßèc†úÿƒøÿ„õÿÿéùÿÿH‰ßH‰µÀþÿÿèF†úÿH‹µÀþÿÿéí÷ÿÿH‰ßH‰µÀþÿÿè+†úÿƒøÿH‹µÀþÿÿ„Ûôÿÿé«÷ÿÿH‰ßè†úÿƒøÿ„ÅôÿÿéIúÿÿH‰ßDèó…úÿé®úÿÿH‹œÛ&H‹=­å&H‰Ù¾èÀ$H;Û&…ƒôÿÿH‹=|Û&H‰ÙH‰Â¾èœ$H;]Û&„!öÿÿéZôÿÿH‰ßè’…úÿƒøÿ…RùÿÿéDôÿÿ¹¢ÆPºÈ¾aÆP¿yÆPè+‚øÿff.„AWAVAUATI‰üUH‰õSH‰ÓHƒì(H‰L$èûÿH‰ïLhèûÿLxHT$¿—ÆPO4/L‰öè ñÿÿ‹cä&H‹L$…Ò„ðHƒ=ÆÚ&†ØH‹|$L‰êL‰æH‰L$èC7ûÿL‰úH‰îH‰Çèu=ûÿHƒ=…Ú&H‹T$HÇ…Ú&H‹L$H‰‰Ú&„SL‹tÚ&L‹mä&E1É1Àë;fD€z uVH‰ÎI4ÂH+5dÚ&I‰4„HƒÀH9Ú&¶Rv_D¶ÊH‰ÆH5Ú&¶HÁâI¶z@ˆ>€z uÉE…Éu¤H‰ÞI4ÂH+5Ú&I‰4Âë°Çfã&HƒÄ([]A\A]A^A_ÀH‹ÑÙ&I@H‰ÎÙ&H‰ ÏÙ&I‰H÷ÛAÆ@ AÆ@Dˆh J42Æ@I‰HH‰ØØ&H‹ã&L‰%œ&H‰-œ&€:H‰ÐH‰Ùt#DHƒÀ€8u÷H‰ÁH)ÑH9Ùv$H‰ Åâ&H‰ÂHƒÂH9òƒWÿÿÿH‰ËëÀ„H‰ÂH‰ÙëÞL‹!Ù&éSÿÿÿAWI‰÷AVAUATM‰ÌUSHìøI‹AH‰L$@H‹t$@‹IL‰D$pH‰D$hH‹v0ƒù ‰L$LH‰t$xޏƒé ‰L$L¶„À„I‰ýH¼$ÐH‰ÑE1öI‰øH‰|$IƒÀL‰D$`ë2fL‰úL)òHƒú†M…ítAˆEIƒÅIƒÆHƒÁ¶„À„€<%uÌ1ÀE1ÛE1ÒHY¶I€ù0„£€ù#„´€ù-„оÑ1írЃþ v]½ÿÿÿÿ€ùE„ïE1À€ùO„ã€ùz†Â€ù%…H‰ÙE1ÀA¹é.„Šl­ljÐHƒÃ¶ ¾ÑrЃþ w¨ýÌÌÌ ~ؽÿÿÿë߀ù^t€ù_…xÿÿÿfD¾ÑH‰Ùé@ÿÿÿ@A»ë세ëÝf„E1öHÄøL‰ð[]A\A]A^A_Ä€ù7Žmÿÿÿ½ÿÿÿékÿÿÿD¶ÑDÿ$Õ8ÒPf„HƒÃA‰Ð¶ éÿÿÿ‹l$L¸ …íED$L‰D$Lé6þÿÿE…ÀHÇD$XÒP„åDIÇÀÿÿÿÿA¹AƒÁB€<%JIPÿtI‰ÐëèH‰ÙH‰Ã1ÀD)ÍIÅDÈH˜H‰D$PL‰øL)ðH9D$PƒÿÿÿM…í„…í~HAƒú0„ØHcíL‰ï¾ H‰êH‰L$ L‰D$0D‰L$8D‰\$Iíè.(ûÿD‹\$D‹L$8L‹D$0H‹L$ E…ÛtuIcéH…ít1HUÿH‰èHÓITfD¶;I‹t$xHƒë‹4¾@ˆ2HƒêHƒèuäIíHƒÁLt$P¶„À……ýÿÿDM…í„jþÿÿM…ÿ„aþÿÿAÆEéWþÿÿ@IcéJ4L‰ïH‰êH‰L$ èy8ûÿH‹L$ ë¦fHcíL‰ï¾0H‰êH‰L$ L‰D$0D‰L$8D‰\$IíèV'ûÿH‹L$ L‹D$0D‹L$8D‹\$é#ÿÿÿ¹H‹|$@1Ò…À¸DEÚL‹D$hEÈ1À‹wƒþ ÀƒÀ&H˜I‹|À@‰T$0‰L$ ‰t$8D‰T$(D‰\$èûÿ‹T$0)ÅA‰ÀL‰ø‹L$ ‹t$8D‹T$(D‹\$IÕL)ðF McÉI9ÁƒjýÿÿM…í„´…í~NAƒú0„¤Hcí¾ L‰ïH‰ê‰L$ D‰D$0L‰L$8D‰\$Iíèz&ûÿH‹T$@D‹\$L‹L$8D‹D$0‹L$ ‹r…É„F1Àƒþ H‹t$hŸÀIcèƒÀ&H…íH˜H‹LÆ@t8HUÿH‰èHÑITf„¶9I‹t$pHƒé‹4¾@ˆ2HƒêHƒèuä@IíMÎH‰Ùé£ûÿÿ1Éé³þÿÿHÇD$XÒPfH‹L$@H‹T$X1ÿL‹D$pM‰áHÇÆÿÿÿÿD‰T$(D‰\$èÆúÿÿ‰ê‰D$P1À+T$PL‰ùD‹T$(D‹\$IÂD$PL)ñH‰Œ$ˆH˜H9ÈH‰„$€ƒ(üÿÿ1ÀM…íti…ÒL‰í~,Aƒú0„-Hcê¾ L‰ïH‰êD‰\$Il-èC%ûÿD‹\$L‹D$pH‹L$@M‰áH‹T$XH‹´$ˆH‰ïD‰\$è'úÿÿHcD$PD‹\$HDL´$€E…Ût%L9èv fDA¶MI‹T$x‹ŠAˆUIƒÅL9èwæH‰ÙI‰Åé|úÿÿHÇD$X ÒPéÝþÿÿAƒøE„óûÿÿH‹|$@A¹ƒýDMÍ‹WfD…Òx AƒøO„:‰×‰ÖH‹L$`Áï÷Þ…ÿDò€¸ÍÌÌÌHƒé÷æÁê’À)ƃÆ0…Ò@ˆ1‰Öuß…ÿtHƒéÆ-Aƒú-„‹t$`D‰ÈA‰È)ð‰t$PÈ…À‰D$X~yAƒú_„nL‰øMcÉL)ðI9Áƒ´úÿÿ…ÿtM…ít AÆE-IƒÅHƒÁIƒÆM…íHcl$Xt1L‰ïH‰ê¾0H‰L$ D‰T$(IíD‰\$è¾#ûÿD‹\$D‹T$(H‹L$ IîA‰È1í‹|$PE1ÉL‰øD)Ç)ýA‰øDIÍL)ðAùMcÉI9Áƒ/úÿÿM…í„yýÿÿ…í~HAƒú0„xHcíL‰ï¾ H‰êH‰L$ D‰D$0L‰L$8D‰\$Iíè>#ûÿD‹\$L‹L$8D‹D$0H‹L$ E…Û„IcèH…í„ýÿÿHUÿH‰èHÑITfD¶9I‹t$xHƒé‹4¾@ˆ2HƒêHƒèuäéßüÿÿAƒøE„úÿÿH‹T$@ƒýA¹DMÍ¿“$I’‹J‹rƒÁ‰È)Î÷ï‰ÈÁøÊÁú)ÂÕ)Ðt‰ð÷ïòÁþÁú)òéëýÿÿAƒøE„¹ùÿÿH‹T$@ƒýA¹DMÍ‹JƒÁ+Jº“$I’‰È÷êÊÁùÁú)Êé®ýÿÿAƒøE„|ùÿÿH‹L$@A¹ƒýDMÍ‹é‹ýÿÿH‹D$hH‹€˜H‰D$X€8¸%ÒPHED$XH‰D$XéüÿÿE…ÀHÇD$XÒP„üÿÿé#ùÿÿAƒøO„ùÿÿAƒøED„vL‹D$@A¹º…ëQ¿dA‹HÁl…í‰ÈDOÍ÷ê‰ÈÁøÁú)‰Ð¯Ç)ÁÁé)ÊéüüÿÿE…À…½øÿÿH‹T$@…À¸DEØH‹L$h‹B·ÀH‹tÁ@D‰D$0D‰T$(D‰\$H‰÷H‰t$8è\ ûÿD‹D$0)ʼnÁH‹t$8D‹T$(D‹\$DIÅAÀL‰øMcÀL)ðI9Àƒ»÷ÿÿM…í„¥…í~VAƒú0„×HcíL‰ï¾ H‰ê‰L$ L‰D$0D‰\$IíèÐ ûÿH‹T$@H‹|$hD‹\$L‹D$0‹L$ ‹B·ÀH‹tÇ@E…Û„ðHcéH…ít7HUÿH‰èHÖIT„¶>I‹L$xHƒî‹ ¹ˆ HƒêHƒèuåDIíMÆH‰ÙéöÿÿE…À…‰÷ÿÿH‹T$@…À¸DEØH‹L$h‹B·ÀH‹tÁ@D‰D$0D‰T$(D‰\$H‰÷H‰t$8è(ûÿD‹D$0)ʼnÁH‹t$8D‹T$(D‹\$DIÅAÀL‰øMcÀL)ðI9Àƒ‡öÿÿM…í„qÿÿÿ…í~VAƒú0„GHcíL‰ï¾ H‰ê‰L$ L‰D$0D‰\$IíèœûÿH‹T$@H‹|$hD‹\$L‹D$0‹L$ ‹B·ÀH‹tÇ@E…Û„¼ HcéH…í„ÿþÿÿHUÿH‰èHÖIT¶>I‹L$xHƒî‹ ¹ˆ HƒêHƒèuåéÐþÿÿE…À…Võÿÿ‰éD‰ÅL‰øƒéIéL)ðƒÅHcíH9Ń·õÿÿM…ítB…ɸ%~-Aƒú0„ÂHcɾ H‰ÊL‰ïH‰L$ è×ûÿH‹L$ ¶IÍAˆEIƒÅ@IîH‰ÙéfôÿÿH‹t$@…íA¹DOͺ“$I’‹NƒÁ‰È÷ê‰ÈÁøÊÁú)ÂÕ)Ð)ÁQéÞùÿÿ‰é1ÀƒéIÁƒÀHcèL‰øL)ðH9ŃõÿÿM…ít’…É~*Aƒú0„ÙHcɾ H‰ÊL‰ïH‰L$ è,ûÿH‹L$ IÍAÆE IƒÅéVÿÿÿAƒøO„LõÿÿAƒøE„à H‹D$hH‹€€H‰D$Xé øÿÿ…À¸DEØE…À…õÿÿH‹T$@H‹L$h‹B·ÀH‹tÁ@D‰D$0D‰T$(D‰\$H‰÷H‰t$8èÂûÿD‹D$0)ʼnÁH‹t$8D‹T$(D‹\$DIÅAÀL‰øMcÀL)ðI9Àƒ!ôÿÿM…í„ ýÿÿ…í~VAƒú0„•HcíL‰ï¾ H‰ê‰L$ L‰D$0D‰\$Iíè6ûÿH‹T$@H‹|$hD‹\$L‹D$0‹L$ ‹B·ÀH‹tÇ@E…Û„V HcéH…í„™üÿÿHUÿH‰èHÖITf.„¶>I‹L$xHƒî‹ ¹ˆ HƒêHƒèuåé`üÿÿE…À…÷óÿÿH‹T$@…À¸DEØH‹L$h·BH‹tÁ@D‰D$0D‰T$(D‰\$H‰÷H‰t$8èûÿD‹D$0)ʼnÁH‹t$8D‹T$(D‹\$DIÅAÀL‰øMcÀL)ðI9ÀƒüòÿÿM…í„æûÿÿ…í~OAƒú0„+HcíL‰ï¾ H‰ê‰L$ L‰D$0D‰\$IíèûÿH‹T$@H‹|$hD‹\$L‹D$0‹L$ ·BH‹tÇ@E…Û„8 HcéH…í„{ûÿÿHUÿH‰èHÖIT@¶>I‹L$xHƒî‹ ¹ˆ HƒêHƒèuåéHûÿÿ…ÀºDEÚƒøɃÁHƒ|$xt H‹T$x€:u5H‹t$@‹F …ÀxH‹|$p€?„¼ H˜H‹ÅPÞrH‰D$xHƒ|$x„L H‹|$x‰L$ D‰T$(D‰\$èVûÿD‹\$D‹T$(A‰À‹L$ 1ÀD)ÅIÅDÀLcÈL‰øL)ðI9Áƒ¸ñÿÿM…í„õÿÿ…í~FAƒú0„5 HcíL‰ï¾ H‰ê‰L$ D‰D$0L‰L$8D‰\$IíèÈûÿD‹\$L‹L$8D‹D$0‹L$ …É„Z IcèH…í„¡ôÿÿH‹L$xHUÿH‰èHÑITD¶9I‹t$pHƒé‹4¾@ˆ2HƒêHƒèuäégôÿÿAƒøE„l AƒøO„’ñÿÿH‹t$@…íA¹DOÍ‹VÂlé›õÿÿAƒøO„iñÿÿAƒøE„ H‹L$hH‹‰H‰L$Xé)ôÿÿH‹t$@H¼$D‰T$(D‰\$H‹H‰„$H‹FH‰„$˜H‹FH‰„$ H‹FH‰„$¨H‹F H‰„$°H‹F(H‰„$¸H‹F0H‰„$Àèj#H‰ÇH‰ÆH‹L$`HÁï?D‹T$(D‹\$…ÿuMDH¸gfffffffHƒéH÷îH‰ðHÁø?HÁúH)ÂH’HÀ)ƉðH‰ÖƒÀ0H…ÒˆuÉA¹éçôÿÿfDH¸gfffffffHƒéH÷îH‰ðHÁø?HÁúH)ÂH’HÀ)ƉðH‰Ö÷؃À0H…ÒˆuÇë´AƒøE„+ðÿÿH‹|$@A¹ƒýDMÍ‹W Aƒú-„4ôÿÿAƒú0¸_DEÐé"ôÿÿAƒøE„ðïÿÿH‹t$@A¹ƒýDMÍ‹V éþóÿÿAƒøE„ÌïÿÿA¹ƒý‹T$LDMÍéÞóÿÿAƒøE„¬ïÿÿH‹D$@A¹ƒýDMÍ‹PéºóÿÿH‹t$@H‰ÙD‹N E…ɈîíÿÿD‹N(E…Ɉۉé1ÀƒéIÁƒÀH˜H‰D$PL‰øL)ðH9D$Pƒ»îÿÿM…ít_…É~RAƒú0„¡ HcÉL‰ï¾ H‰ÊH‰L$ D‰D$0D‰L$8D‰T$(D‰\$èÌûÿH‹L$ D‹\$D‹T$(D‹L$8D‹D$0IÍAÆE+IƒÅLt$P¾‰ˆˆˆD‰È¿d÷îB AÁùÁùD)ɃýA¹‰ÈDMÍ÷î¾< ‰ÊÁúÁø)ЉÂ¯Æ¯×)ÁÊé¹òÿÿAƒøE„ìH‹D$@ƒýA¹¾…ëQDMÍ¿d‹H‰È÷î‰ÈÁøÁú)¯×)уÁd‰È÷î‰ÈÁøÁú)¸d¯Ð)щÊé[òÿÿAƒøO„)îÿÿAƒøE„ÀH‹L$hH‹‰ˆH‰L$XééðÿÿAƒøE„ÿíÿÿH‹L$@A¹…íDOÍ‹QéòÿÿAƒøE„ÜíÿÿH‹D$@ƒýA¹DMÍ‹PƒÂéçñÿÿAƒøE„µíÿÿA¹ƒý‹T$LDMÍé‰ýÿÿAƒøE„•íÿÿH‹L$@A¹ƒýDMÍ‹QéeýÿÿAƒøE„qíÿÿH‹t$@ƒýA¹DMÍ‹VƒÂé|ñÿÿHƒë¶ é.ìÿÿ‰é1ÀƒéIÁƒÀHcèL‰øL)ðH9Ń™ìÿÿM…í„ ÷ÿÿ…É~*Aƒú0„WHcɾ H‰ÊL‰ïH‰L$ èºûÿH‹L$ IÍAÆE IƒÅéäöÿÿAƒøE„ÚìÿÿH‹D$@H‹t$@H‹T$@D‹H‹v‹R‰t$PA±~+t$P‰×‰T$Xº“$I’Çl‰ð÷ê‰ðÁøòÁú)ÂÕ)ÐD‰Ê)ò‰Öt…ö‰´$ˆˆM1À@öÇu9‰øº…ëQ¾d÷ê‰øÁøÁú)¸¯Ö9×u‰ú¾‰øÁú÷þ1À…Ò”ÀAémº“$I’A)ÁD‰È+D$P°~‰ðA)ñ÷ê‰ðÁøòÁú)ÂÕ)ÐAD…Àx ƒÇ‰„$ˆ€ùG„G€ùg„ ‹„$ˆƒýA¹º“$I’DMÍ‹´$ˆ÷ê”$ˆÁþÁú)òƒÂé¿ïÿÿ€H‹t$h‰×‰T$0D‰L$8D‰T$(D‰\$è!H…À‹T$0D‹L$8D‹T$(D‹\$„‹ïÿÿH‰ÇH‰D$ è(üúÿH…À‹T$0H‹L$ D‹L$8D‹T$(D‹\$„]ïÿÿA‰À1ÀD)ÅIÅDÀLcÈL‰øL)ðI9ÁƒwêÿÿM…í„Áíÿÿ…í~HAƒú0„ñHcíL‰ï¾ H‰êH‰L$ D‰D$0L‰L$8D‰\$Iíè†ûÿD‹\$L‹L$8D‹D$0H‹L$ E…Ût]IcèH…í„aíÿÿHUÿH‰èHÑITf¶9I‹t$xHƒé‹4¾@ˆ2HƒêHƒèuäé/íÿÿ€‹T$A‰ÈƒÂ‰T$PénïÿÿDIcèH‰ÎL‰ïH‰êL‰L$8èê#ûÿL‹L$8éðìÿÿHcíL‰ï¾0H‰êH‰L$ D‰D$0L‰L$8D‰\$IíèÆûÿH‹L$ D‹D$0L‹L$8D‹\$éƒïÿÿDLcÈL‰øL)ðI9ÁƒFéÿÿM…ítDL‰ÊL‰ï¾ H‰L$ ‰L$0L‰L$8D‰T$(D‰\$èiûÿL‹L$8D‹\$D‹T$(D‹D$0H‹L$ M͉èMÎ+D$X;l$X½OèéŒîÿÿHcê¾0L‰ïH‰êIl-èûÿD‹\$éÓìÿÿE…Û„1Àƒþ H‹|$hŸÀIcèƒÀ&H…íH˜H‹LÇ@„åëÿÿHUÿH‰èHÑITfD¶9I‹t$xHƒé‹4¾@ˆ2HƒêHƒèuäé¯ëÿÿHcéL‰ïL‰D$0H‰êèŒ"ûÿL‹D$0é2ñÿÿI‰ýE1öéÇéÿÿ1Àƒþ IcèŸÀL‹D$hH‰êƒÀ&L‰ïH˜I‹tÀ@L‰L$8èM"ûÿL‹L$8éSëÿÿE…Û„ÔIcèH…í„>ëÿÿH‹L$xHUÿH‰èHÑITf.„¶9I‹t$xHƒé‹4¾@ˆ2HƒêHƒèuäéÿêÿÿHcí¾0L‰ïH‰êD‰D$0L‰L$8èâûÿH‹D$@Ií‹L$ D‹D$0L‹L$8D‹\$‹pé`êÿÿHcíL‰ï¾0H‰êD‰D$0L‰L$8IíèŸûÿH‹L$ D‹D$0L‹L$8D‹\$éýÿÿƒý‰øA¹¾…ëQDMÍ÷î‰øÁøÁú)¸d¯Ð)׉úJdé@ùÿÿA¹…í‰úDOÍé§ëÿÿL‹D$hM‹€ÀL‰D$XA€8…DêÿÿéòÿÿH‹T$hH‹’°H‰T$X€:…%êÿÿé!ùÿÿH‹T$hH‹’ÈH‰T$X€:…êÿÿéÂõÿÿ‹|$X1öÇk@öÇu/¸d‰ú‰ÆÁú‰ø÷þ@¶…Òu¸‰ú‰ÆÁú‰ø÷þ1ö…Ò@”ÆA´1mº“$I’A‰ñD+L$PAÁ~D‰ÈD)Î÷êD‰ÈÁøDÊÁú)ÂÕ)Ðt‰´$ˆé³úÿÿ‰é1ÀƒéIÁƒÀH˜H‰D$PL‰øL)ðH9D$PƒàåÿÿM…ítb…É~UAƒú0„IHcÉL‰ï¾ H‰ÊH‰L$ D‰D$0D‰L$8D‰T$(D‰\$èîûÿH‹L$ D‹\$D‹T$(D‹L$8D‹D$0IÍAÆE-IƒÅLt$PA÷Ùé÷ÿÿHcíL‰ï¾0H‰ê‰L$ D‰D$0L‰L$8D‰\$Iíè“ûÿ‹L$ D‹D$0L‹L$8D‹\$éÆóÿÿHcɾ0H‰Ê餸ÿÿHcɾ0H‰Êé"ðÿÿH‹t$hH‹|$@D‰D$0D‰T$(D‰\$èH…ÀD‹D$0D‹T$(D‹\$„ÞöÿÿH‹|$@…íA¹DOÍ‹W+P¯P@PéxéÿÿE1ÀHÇD$x‡óPéÌòÿÿH‹t$hH‹|$@D‰D$0D‰T$(D‰\$è³H…ÀD‹D$0D‹T$(D‹\$„ióÿÿH‹@(H‰D$XéÍçÿÿ‰L$ D‰T$(D‰\$èJÇÿÿL‹D$pH‹T$@D‹\$D‹T$(‹L$ AÆ‹B é òÿÿH‹t$xIcèL‰ïH‰êL‰L$8èNûÿL‹L$8éTçÿÿH‹t$hH‹|$@D‰T$(D‰\$èH…ÀI‰ÀD‹T$(D‹\$„[ëÿÿH‹p HƒÉÿ1ÀH‰÷ò®1ÀH÷уé)ÍIÅÈH˜H‰D$PL‰øL)ðH9D$PƒŸãÿÿM…í„‚…í~@Aƒú0„THcí¾ L‰ïH‰ê‰L$ L‰D$0D‰\$Iíè´ ûÿL‹D$0D‹\$‹L$ I‹p E…Û„KHcéH…ít*HUÿH‰èHÖIT¶>I‹L$xHƒî‹ ¹ˆ HƒêHƒèuåIíLt$PH‰ÙéâÿÿHcÉL‰ï¾0H‰ÊH‰L$ D‰D$0D‰L$8D‰T$(D‰\$è+ ûÿH‹L$ D‹D$0D‹L$8D‹T$(D‹\$IÍéZôÿÿHcíL‰ï¾0H‰ê‰L$ L‰D$0èî ûÿH‹t$@H‹|$hIí‹L$ L‹D$0D‹\$·FH‹tÇ@éÕïÿÿHcíL‰ï¾0H‰ê‰L$ L‰D$0è© ûÿH‹t$@H‹|$hIí‹L$ L‹D$0D‹\$‹F·ÀH‹tÇ@ékîÿÿHcíL‰ï¾0H‰ê‰L$ L‰D$0è] ûÿH‹t$@H‹|$hIí‹L$ L‹D$0D‹\$‹F·ÀH‹tÇ@é¹ëÿÿHcɾ0H‰Êé9ìÿÿHcíL‰ï¾0H‰ê‰L$ L‰D$0è ûÿH‹t$@H‹|$hIí‹L$ L‹D$0D‹\$‹F·ÀH‹tÇ@é)êÿÿHcÉL‰ï¾0H‰ÊH‰L$ D‰D$0D‰L$8D‰T$(D‰\$è¥ ûÿH‹L$ D‹D$0D‹L$8D‹T$(D‹\$IÍé²ûÿÿHcí¾0L‰ïH‰ê‰L$ L‰D$0èh ûÿL‹D$0Ií‹L$ D‹\$I‹p é¬ýÿÿHcéL‰ïH‰êè0ûÿéÔýÿÿff.„HƒìM‰ÁLD$ÆD$è*ßÿÿHƒÄÃH‰\$ÐH‰l$ØH‰ûL‰d$àL‰l$èL‰t$ðL‰|$øHƒì8‹—Ð…Ò„}¸H…Àt ¿`sè)œ³ÿH‹k(H…í„Ô‹E…Àt=¸H…À„GH‹\$H‹l$¿`sL‹d$L‹l$ L‹t$(L‹|$0HƒÄ8éÛ›³ÿD‹³ÐM…ö„0L9uH‹EtK4öH‰ÇHÁæènÐúÿH…À„˜L‹£ØE1íL‰uH‰EH‰ÃA¿é€D„ 1Àƒ;+•ÀDÿ‰C@I|$ 1öIƒÅH‰{ èÇ#ûÿHx1öH‰{(è¸#ûÿHxL‰ø1öL)àL$I÷ÔAƒäLçH‰{0èåHx1öH‰{8HƒÃHèÒM9L`I‹$H‰I‹D$H‰CI‹D$H‰CI‹D$H‰C‹C9CWÿÿÿ1Àƒ;+”ÀDÿ‰C@éXÿÿÿH‹\$H‹l$L‹d$L‹l$ L‹t$(L‹|$0HƒÄ8ÃDH‹}H…ÿt èš³úÿHÇEÇEéaþÿÿfD‹C9C |‘…èþÿÿ‹C;CÜþÿÿfDétÿÿÿ¿0è ÂúÿH…ÀH‰ÂH‰C(„þÿÿH‰Ç¹H‰èóH«H‰ÕHÇC kLéñýÿÿH‹}è³úÿHÇEHÇEémÿÿÿffffff.„H‰\$ðH‰l$øHƒìH‹V(‰ûH‰õH…Òt$‹J…ÉtHcÛHÛHÁàHH‹\$H‹l$HƒÄÃH‰ïè(ýÿÿH‹U(1ÀH…ÒuÐëÜff.„UH‰õSH‰ûHƒìH‹F(H…À„¿‹p…ö„´L‹@‹K‹kD‹K M…À„·H‹1ÛëPfD„‹z9ùާ9ñDŒŽu;j DŒ~fuD;Jf~rHƒÃHƒÂHI9Øv`‹rH‰Ð9ñ~¬‹z9ù|Qu¬‹z9ý|H@„Š9ýŸfDuÀD;Jf}fDë°fDH‰ïDè+üÿÿH‹E(H…À…2ÿÿÿ1ÀHƒÄ[]ÃDu€‹zë¯f„;j D‚fD…(ÿÿÿD;JfDfÿÿÿféÿÿÿD;J@hÿÿÿfë¢ATUH‰ýSH‹_(H…Ût`‹C(…ÀuTL‹¥¸ÇC(M…ätA¿ 輿úÿH…ÀH‰Ct.1íë €H‹CL‰$(1öL‰çHƒÅè2 ûÿHý L`uÝ[]A\ÿ0èv¿úÿH…ÀH‰ÂH‰E(tåH‰Ç¹H‰ØóH«H‰ÓHÇE kLélÿÿÿfff.„AWAVA¾ÿÿÿÿAUATUSH‰óHƒìH‹H‰|$H‰$H‹†P‹…É„­¸H…Àt ¿`sè(—³ÿH‹C(H…Àt‹P(…ÒuH‰ßèðþÿÿH‹C(H…À„†L‹xM…ÿt}E1í1ÛA¾ÿÿÿÿ€M‹$ßL‰çèœìúÿL9èH‰ÅvH‹4$H‰ÂL‰çèUîúÿ…ÀDDóLDíHƒÃHƒûduɸH…Àt ¿`sè–³ÿAƒþÿtH‹D$L(HƒÄD‰ð[]A\A]A^A_ÃE1íA¾ÿÿÿÿëÁfS‰ûHƒìƒÿcv1ÛH‰ØHƒÄ[Ãf„H‹†¸€8tà¸H…Àt¿`sH‰t$è+–³ÿH‹t$H‹F(H…Àt‹x(…ÿuH‰÷H‰t$èéýÿÿH‹t$H‹F(H…Àt+H‹@H…Àt"‰ÛH‹ظH…Àt€¿`sèØ•³ÿéqÿÿÿ1Ûëàfff.„H‰\$àH‰l$è‰ûL‰d$ðL‰l$øHƒì8ƒÿcv!1ÛH‰ØH‹l$ H‹\$L‹d$(L‹l$0HƒÄ8ÃH‹†PD‹E…ÉtиH…Àt¿`sH‰t$èX•³ÿH‹t$H‹n(H…í„D‹E,E…ÀuUL‹¦PÇE,M…ätB¿ èð¼úÿH…ÀH‰E t]1íI‰ÅëL‰èL‰$(1öL‰çHƒÅè»üHý L`uÞë@L‹m M…ít$‰ÛI‹\ݸH…À„*ÿÿÿ¿`sè¿”³ÿéÿÿÿ1Ûëß¿0H‰t$èw¼úÿH‹t$H…ÀH‰ÂH‰F(tÜH‰Ç¹H‰èóH«H‰ÕHÇF kLé2ÿÿÿSH‹_(H…Ût6HÇG(HÇG H‹;è^­úÿH‹{èU­úÿH‹{ èL­úÿH‰ß[éC­úÿ[Ãd‹%Ôƒú~‰ÐÃud‹%Ð…À@tóø'…Òuód‰%ÐøføhølÃHƒìHH‰æè´…À”ÀHƒÄH¶ÀÃHƒì(‹Öµ&…ÀuHcÒ¸H=ðÿÿwQHƒÄ(ÉT$H‰t$H‰|$è¨^ýÿ‹T$A‰ÀH‹t$H‹|$¸HcÒH‰ÂHúðÿÿw#D‰Ç‰D$è^ýÿ‹D$ë¯HÇÂÐÿÿÿ÷Ød‰ƒÈÿëžHÇÀÐÿÿÿ÷Úd‰ƒÈÿëÌI‰ðHT$ȾTHcÿ¸H=ðÿÿwy…Àut‹T$ÈA‰‹T$ÌA‰P‹T$ÐA‰P‹L$ÔâA‰H ¶L$ØA‰P4A‰P8IPAˆHH‹L$ÙI‰HH‹L$áH‰J·L$éf‰J¶L$ëˆJIP$IÇ@$ÇBÆB ÃHÇÂÐÿÿÿ÷Ød‰ƒÈÿÃH‰ú¸ H=ðÿÿw+1ÉH9ÂH‰®&w‰ÈÃDHÇÀÐÿÿÿ¹ÿÿÿÿdÇ ëãHÇÂÐÿÿÿ÷ØHÇç­&ÿÿÿÿ1Éd‰ëÈHƒì(‹&´&…ÀuHcÒHcÿ¸H=ðÿÿwTHƒÄ(ÉT$H‰t$‰|$èö\ýÿ‹T$‹|$A‰ÀH‹t$¸HcÒHcÿH‰ÂHúðÿÿw&D‰ÇH‰D$èP\ýÿH‹D$ë¬HÇÂÐÿÿÿ÷Ød‰HƒÈÿëšHÇÀÐÿÿÿ÷Úd‰HƒÈÿëȃ=‰³&u¸/H=ðÿÿƒÔÁýÿÃHƒì(H‰|$H‰t$H‰T$è[\ýÿH‹|$H‹t$H‹T$H‰$¸/H‹<$H‰D$èÃ[ýÿH‹D$HƒÄ(H=ðÿÿƒ~ÁýÿÃSHƒìHÇÃ(ÿÿÿdH‹;‹…ÉuÇ‹W…ÒuÇGöGuPHÇGÀfƒDuH‰|$èH‹|$f‰GDdH‹;dƒ<%tðHÿßµ&HƒÄ¾[éø„‹G…À~±¾è/dH‹;ë¡f„SöGH‰ût6H‹—µ&H9‡0tvD‹GE…À~ ¾èóH‰ß¾[é•D…öt<‹?…ÿuÇ‹s…öuÇCfƒ{DHÇCÀuÀè>f‰CD뵄[éz#f.„1À[Ã1ÀH…ötHVƒæHÁêÿ$õÖP€óÃfD¶1ÀHƒÇiÀ?¶HƒÇiÀ?¶HƒÇiÀ?¶HƒÇiÀ?¶HƒÇiÀ?¶HƒêtšiÀ?HƒÇ¶HƒÇiÀ?¶HƒÇ¶HƒÇiÀ?iÀ?éuÿÿÿ1ÀëÔ@1Àë¼@1Àëž@1Àë†@1Àékÿÿÿ1ÀéSÿÿÿf„1Àé3ÿÿÿD¶E1ÒA€ù{„1ÀD8 tëfDHƒÀD¶ D: uE„ÉuìE„ÒtA€ù}tv1ÀóÃf.„A€ù/tE„Ét …ÉtãA€ù:uÝE…ÀDtÒ¶„Òt …ÉtÄ€ú:u¿HƒÇH9þt¸…Éft°€~þ:t¬1Àë¨@HƒÆAºD¶é^ÿÿÿDHƒîHƒÀE…À„{ÿÿÿë§DH‰\$ðH‰l$øHƒìH‰ûèJãúÿHhH‰ïèNµúÿH…Àt!H‰êH‰ÞH‹l$H‹\$H‰ÇHƒÄéí ûÿDH‹\$H‹l$HƒÄÃf„AWAVA‰ÎAUE1íATUSH‰óHƒìXL|$HH‰|$HH‰T$(L‰D$@L‰L$0H‹t$(L‰ÿèCôH…ÀI‰Ä„¯L‰çè¯âúÿH…ÀH‰Å…“A¼‰ÆPE…ö…°H‹u°&H…ÀuéÓH‹H…À„ÄH9h uîH‹xH9íL‰æH‰éó¦uÝM…í„f1ÒH9uéxÿÿÿ„H9Ót HƒÂI9ÕwîL9ê…UÿÿÿJíIƒÅH‰é@ÿÿÿHƒøv2A€|ÿ/uBIë@¶PþHƒè€ú/u+HƒíHƒýwéH…í„;ÿÿÿA€<$/½„+ÿÿÿ„AÆ,/HƒÅéÿÿÿfHƒ|$0HÇD$8tH‹|$0è•áúÿHƒÀH‰D$8H‹m2&H|…)H|$8膳úÿH…ÀH‰Á„$H‹K2&H‰êL‰æH‰L$H|(H‰yèÚûÿÆH;-¸©&H‹L$H‰i vH‰-¦©&1öA€<$/L‹2&@•ÆöM…À„°HQ(¸ƒâHÁêH)ÐH‰ÂƒâL9ÂIGÐH…Ò„›1ÀfD‰t(HƒÀH9ÂwóL9ÂtmM‰ÄI)ÔM‰áIÁéNM…Ût:‰t$ LT‘(1ÒfnL$ fpÁfDH‰×HƒÂHÁçI9ÑfA:wêLØM9ÜtHT(DHƒÀ‰2HƒÂI9ÀwñHƒ|$0H‹D$@H‰A„¨J|…)H‹T$8H‹t$0H‰L$H<9èÿûÿH‹L$H‰AH‹®&H‰H‰ ý­&J‰ ëIƒÅé8ýÿÿJÇëH‰ØHƒÄX[]A\A]A^A_ÃAµ1ÒéËýÿÿA€<$/… ýÿÿ1ÉA¸ðÝPM‰êI‰ÍD‰ñI‰ÞL‰ÃN‹ íÞPI9ét,IƒÅIƒýtJ\ ëâHÇAéqÿÿÿL‰óM‰ÕA‰Îé¹üÿÿH‰êL‰æH‰ß‰L$L‰L$ L‰T$èðúÿ…À‹L$L‹L$ L‹T$u¦L‰óM‰ÕA‰Îé¹üÿÿ1Àéxþÿÿ¹PÖP1Ò1ö¿ èóhAUATE1äUSH‰óHƒìH‹o8H…íuë8DH‹EH…Àt'H‰ÅH‹uH‰ßèˆÚúÿ…ÀuäHƒÄ[]A\A]Ãf„I‰ìH‰ßèÕÞúÿHxLhèØ°úÿH…ÀH‰ÅtPM…ät2HxL‰êH‰Þè|ûÿHÇEH‰EÇEI‰l$HƒÄ[]A\A]ùÝPºp¾+ÛP¿5ÛPè`Køÿ¹ÛP1ÒH‰Þ¿ èhfff.„UH‰åAWAVAUATI‰ü¿JÛPSHƒì(H‹ /&H¡¦&H‰u°H‰U¸HƒÀHƒàðH)Ä1ÀèÏqI‹$Ll$IƒåðH…À„ÙH‹PH‰UÀH‹U°H9UÀ…ÃIUA¾H‰UÈDH‹P H‹pL‰ïèPûÿH‹¡.&I‰ÇH…Òtv1Û€I‹$ƒ|˜(tYH‰ØL‰ÿHÁàHl.&H‹PH‹0èûÿI9Å„¯H9EÈ„•Æ@ÿE…ö¸×›N¿J&OHEøL‰î1Àè^pH‹/.&E1öHƒÃH9Ór“IƒÄI‹$H…ÀtH‹UÀH9P„PÿÿÿHƒ}¸tYH‹E¸€8uH‹©-&H‹H‰E¸H‹U¸H‹u°¿XÛP1ÀèþoHeØ[A\A]A^A_ÉÀA€}/…`ÿÿÿDÆéWÿÿÿH‹u°¿mÛP1ÀèÀoëÀfffff.„H‰\$ÐH‰l$؉ûL‰d$àL‰l$èH‰ÕL‰t$ðL‰|$øHƒì8ƒþÿI‰ÌM‰ÅM‰ÏL‹t$@t‰÷è_ýÿM…ítSIƒ}t#¹îPº'¾+ÛP¿uÛPè*Iøÿf.„I‹E H…ÀtOHÇ@I‹E0HÀL‰ïƒ,Åè#sèWŸúÿL‰çèOŸúÿM…öt AÇFè-hL‰ù1ÒH‰î‰ßèžefDI‹E0HÀHÇÕà#së§fU1ÀH‰åAWAVAUATM‰ÄSHƒìHH‰uÈ1öH‰}ÀDˆM¿è ýÿƒøÿA‰Â„ËL‹EÈHÇÀÐÿÿÿº@D‰×D‰U¨IƒÀdÇL‰ÆL‰E°è½ ýÿH‹UÈHƒø?H‰ÃL‹E°D‹U¨H‰Ž[¿0ÞP¹ L‰Æó¦…RAƒx…\fAƒx>…†A·@fƒø…NfAƒx68…ÁA·@8I‹p M40HÅI‰ÄIÁäI)ÔI4H9Ú‡ŽO$&M9æƒL‰óA¿ë)fDH ÅH‰ÂHƒÃ8HÁâH)ÊIH9Ӄ̓;uØL‹k IƒývÎHƒ{0vÇH‹sH‹}ÈJ.H;‡ÊM$0¸ ÞPë8€A‹ $A‹T$HƒÁHƒÂHƒáüHƒâüHT IMàH9ʇ}I)ÕIÔL‰æH‰ÇL‰ùó¦uÂM…íteA‹D$A‹L$A‹T$A‹\$…À…b‹Û§&…Àt'áÿâÿãÿÁáÁâÚ9‡3fHeØD‰Ð[A\A]A^A_ÉÃfDA·@8éîþÿÿfDIE1ÒD‰×L‰E°D‰U¨HƒàðH)ÄèÛ>ýÿLd$D‹U¨L‰êIƒäðD‰×L‰æèÀ ýÿI9ÅL‹E°D‹U¨…ḠÞPé&ÿÿÿDID$1ÒD‰×L‰E°D‰U¨HƒàðH)Äè‚>ýÿLt$D‹U¨L‰âIƒæðD‰×L‰öèg ýÿL9àL‹E°D‹U¨…ˆA·@8HÅI‰ÄIÁäI)Ôé þÿÿL‰Çº ¾9ÞPL‰E°D‰U¨èàéúÿ…ÀL‹E°D‹U¨„„ýÿÿH‹EÈxELF…A€x„óAÆ$D‰×è‡ ýÿHÇÀÐÿÿÿAºÿÿÿÿdÇé®þÿÿHÇÂÐÿÿÿ»ŽÛPdD‹"€}¿u)H‹UÀI‰ÙE1À1ÉD‰ÖD‰çHÇ$è™ûÿÿE1ä»8×PëÑH‹}À1ÀHƒÉÿH‹uÀò®D‰U¨H÷ÑHAH‰ÊHƒàðH)ÄH|$HƒçðèÌûÿH‹}ÀI‰Åè@›úÿL‰mÀD‹U¨ëŽHÇÇÐÿÿÿ»ŽÛP¸¤ÛPdD‹'E…äHDØégÿÿÿE1ä»àÖPéZÿÿÿfƒø„¨üÿÿE1ä»×PéCÿÿÿA€xtE1ä»xÖPé/ÿÿÿE1仳ÛPé"ÿÿÿA€xt E1仨ÖPéÿÿÿA¶@<t„Àt E1仯ÛPéôþÿÿE1äA€x»ÞÛP¸íÛPHEØéÙþÿÿ€UH‰åAWAVAUATSHìH‹H‰½ ÿÿÿH‰µ(ÿÿÿ‰•ÿÿÿH‰àþÿÿL‰…ðþÿÿH…ÀL‰ÿÿÿH‰…ÿÿÿ„ÆH‰ðHÆ'&Ç…ÿÿÿH=Ÿ&HƒÀHƒàðH)ÄH‹…ÿÿÿHT$HƒâðL‹ 1ÀH‰•8ÿÿÿH‰òH÷ÒH‰•èþÿÿöÑ£&…H‰…øþÿÿI‹T$ I‹t$H‹½8ÿÿÿèöøúÿH‹G'&H‰…0ÿÿÿ1ÀH…Ò„E1í»E1ÿëHƒùÿ„/AÇDœ$AƒÏ‹µÿÿÿ…ö…?ƒùÿ…“H‹ô&&IƒÅH9ÓHCƒ£H‰ÃAƒ|œ$täL‰èHÆ&&H‹½0ÿÿÿH‹PH‹0ècøúÿH‹•(ÿÿÿH‹µ ÿÿÿH‰ÇèMøúÿI‰ÆL+µ8ÿÿÿöô¢&…±‹ML‹E E1ÉH‹UH‹µÿÿÿH‹½8ÿÿÿèÅùÿÿ‰ÁA‹Dœ$…À„6ÿÿÿƒø•À¶ÀA ǃùÿ…7ÿÿÿéIÿÿÿ@E…ÿD‰øtHÇÀÐÿÿÿd‹ƒø…=D‰øHƒ…ÿÿÿ …ÿÿÿH‹…ÿÿÿL‹ M…ä„ñH‹…øþÿÿé}þÿÿDHƒ}t"H‹UH‹B0HÀH‹Åà#s¸ö‚uPLµ8ÿÿÿH‹…èþÿÿH•@ÿÿÿ¿AÆH‹µ8ÿÿÿètýÿ…Àu‹…Xÿÿÿ%ð=@„‡AÇDœ$1ÀA ÇH‹m%&étþÿÿL‰÷‰Øþÿÿ肦úÿH‹•ðþÿÿH…À‹ØþÿÿH‰„ÚH‹µ8ÿÿÿL‰òH‰Çèýúÿ‹ØþÿÿHe؉È[A\A]A^A_ÉÀ‹•ÿÿÿ…Ò„ܹÿÿÿÿëÓAÇDœ$¸éqÿÿÿƒø „ºþÿÿëÛH‹µ8ÿÿÿ¿ ÜP1Àè¢gé7þÿÿƒ=†$&„´ýÿÿH•@ÿÿÿ‰Î¿‰ØþÿÿèÇýÿ…À‹Øþÿÿu ö…Yÿÿÿ…„ýÿÿ‰Ïè™ýÿHÇÀÐÿÿÿH‹s$&dÇésýÿÿ‰ÏèxýÿƒÉÿé0ÿÿÿI‹T$H9ÂH‰•øþÿÿ„ßüÿÿI‹T$H‹µøþÿÿH‹½ÿÿÿèóôÿÿéÂüÿÿH‹•àþÿÿƒztH‹:èy–úÿH½àþÿÿÀ¦r„þþÿÿH‹…àþÿÿƒÉÿHÇÿÿÿÿéÂþÿÿfUH‰åAWAVE‰ÎAUM‰ÅATI‰ÔSHìHL‹} H‰½ÿÿÿ‰µ,ÿÿÿ1ÿH‰ÿÿÿL‰þè¡^‹µ,ÿÿÿH•@ÿÿÿ¿H‰… ÿÿÿè³ýÿ…Àˆa KÿH‹Åà#sH…Û„~H‹…HÿÿÿH‹•@ÿÿÿëfDH‹[H…Ût_öƒ@uîH9ƒ uåH9“˜uÜ‹½,ÿÿÿèAýÿH‹½ÿÿÿè…•úÿH‹µÿÿÿH‰ßèöòÿÿfDHeØH‰Ø[A\A]A^A_ÉÃfD1ÛöEuàöAŸ&@…ž H‹• ÿÿÿ‹B…À„qƒø…² Æ…ÿþÿÿD‹EH‹µÿÿÿM‰ùH‹½ÿÿÿL‰éD‰òè¡EH…ÀH‰Ã„ IL$H‹A·qH‰0ÿÿÿH‰ƒ¨·A8f‰µ(ÿÿÿH‹q f‰ƒ°D·i8JíIÁåI)ÅID5I;$‡tI‰ÊIò·ƒ°H‰¥ÿÿÿH@HÁàHƒÀ%ðÿÿH)Ä·ƒ°L|$GIƒçð·ÈH4ÍH‰ÊHÁâH)òII9Òƒ’ E1ÛM‰ÕE1öHÇ…8ÿÿÿD‰ÚM‰Ôë>ƒþ„7ƒþ„L‰öLÍH‰ÏIƒÅ8HÁçL)ÇI<ÿÿÿA¹KÜPéšDH‹SH‹¥ÿÿÿH…Ò„HH…ÒH‰S„“H‹Hs@H…ÀtkA¸ÿÿÿoA»ÿýÿoA¼ÿþÿoA¿HÿÿoA½<þÿoA¹)pë.f.„D‰Ç)ǃÿ‡bL‰ÉH)ÁH‰ËHƒÂH‹H…ÀtHƒø!ÖH‰TÃ@HƒÂH‹H…ÀuéH‹H…ÀtqH‹V H…ÒtHBH‹VH…ÒtHBH‹V(H…ÒtHBH‹V0H…ÒtHBH‹V8H…ÒtHBH‹–¸H…ÒtHBH‹–ˆH…ÒtHBH‹–XH…ÒtHBH‹† H…Àt Hƒx…wHƒ~8tH‹FHHƒx…HH‹†ðH…Àt6H‹HöÁ‰Ê‰‹ØtH‰†€öÂt ‹“ØH‰†°ƒâtH‰†ÀH‹†0H…ÀtH‹P‰“ÔƒâtH‰†ÀHƒ¾ètHÇFx‹}…ÿˆjH‹ƒ H…À„öHH‰ƒ ‹&N&÷ÐH#…8ÿÿÿ¨…gH‹ƒH…Àt HH‰ƒ‹½,ÿÿÿèüûüÿ…À…%ƒ½(ÿÿÿ„àH‹Hƒ¨ö—&@H‰ƒ¨…H‰ßèQ+öEuHƒ»À…öƒÔ tH‰}—&H‹…@ÿÿÿHƒ=î–&H‰ƒ˜H‹…HÿÿÿH‰ƒ „S÷ÿÿH‹ƒ°H…À„C÷ÿÿH‹ShH‰ßH‹rHpèêÿÿé*÷ÿÿf.„<Ñÿƒÿüv÷×G2H‰TÃ@é¦ýÿÿD‰ß)ǃÿ ‡™L‰ïH)ÇH‰ûérýÿÿH‹•ÿÿÿI‹HÁâJ‹4:1ÒH)þH<8èýÿL‹•Øþÿÿé)ûÿÿIE‹½,ÿÿÿ1ÒHƒàðH)ÄLT$GIƒâðL‰•Øþÿÿè.ýÿL‹•Øþÿÿ‹½,ÿÿÿL‰êL‰ÖèýúüÿL9èL‹•Øþÿÿ„B÷ÿÿA¹ŽÛPéfD‰ç)ǃÿ ‡ÚüÿÿL‰ùH)ÁH‰ËéËüÿÿH‹µ0ÿÿÿI‹M H‹F H9Á‡ÃúÿÿI‰ñM‹EH‰ÎA·y8L)ÆIuL ýHÁçL)ÏHÇH9þ‚’úÿÿIH)ÈH‰ƒ éúÿÿ¶ƒ‰Âƒâ€ú… þÿÿƒàüˆƒéýýÿÿöƒÔ@„‰ýÿÿH‹»@H‹³HH)þèÑýÿH‹{8ƒuè‹úÿ€»y H‹» èíŠúÿ1ÀA¹XÙP€½ÿþÿÿºI‰ØHE• ÿÿÿ‰ÇH‰$H‹ÿÿÿH‹•ÿÿÿ‹µ,ÿÿÿè¿êÿÿƒ½(ÿÿÿ…ùüÿÿ1ÀA¹ÙPë³H‹µ0ÿÿÿL‰•Øþÿÿ·~8Hkÿ8è=™úÿH…ÀA¹€ÙPL‹•Øþÿÿ„£H‹½0ÿÿÿL‰Ö·W8H‰ÇHkÒ8èÍïúÿ€‹€H‰ƒ é¶üÿÿ1ÀA¹@ØPH‹¥ÿÿÿéAÿÿÿ1ÀA¹¸×PëêH!σÊH‰ðþÿÿL‰…èþÿÿL‰•ØþÿÿL‰àþÿÿèÕýÿ…ÀA¹ØPH‹ðþÿÿL‹…èþÿÿL‹•ØþÿÿL‹àþÿÿ‰;ùÿÿH‹¥ÿÿÿHÇÀÐÿÿÿd‹éÐþÿÿ1ÀA¹¨ØPévÿÿÿHƒ=p’&…8öÿÿˆ•ðþÿÿè/-øÿ…Àuu1ÿèlH…ÀH‰Æ¶•ðþÿÿt_H‰H‰F¿¸ž…ÀtH‰ò¾H‰×èÎg1ÀA¹°7OéÿÿÿH‹’&L‰öHƒÀH‰ô‘&H‰ƒH·ƒ°·Èéõÿÿ¸ A¹pØPéÔþÿÿƒ o&H‹}ÿ¥I&…ÀA¹°ÙP„zûÿÿéýýÿÿA¹×Péÿÿÿ¹ÐÝPº¾¾fÜP¿(ÙPè^2øÿ¹ÐÝPº¶¾fÜP¿uÜPèE2øÿH‹µÿÿÿL‰ú¿h×P1ÀèÿXéGóÿÿÆ…ÿþÿÿA¹ÜP1Ûé²þÿÿ¹°ÝPºÃ¾+ÛP¿6ÜPèý1øÿ÷E „$¶ƒH;ƒòÁâƒàH‰»@L÷ ÐH‰»Hˆƒéñ÷ÿÿA¹ÜPéPþÿÿH‹5½’&H‰÷H÷ßH!ÏèßýÿL‹àþÿÿL‹•ØþÿÿL‹…èþÿÿéª÷ÿÿH‹³€Hƒ¸H9„ÑúÿÿH‹ƒÈH~ǃÐH‰H‹ƒxHÅøÿÿÿè‚ÚúÿH‹ƒ€H“ÈH‰éúÿÿ·‹°H‹SA¹ÇD$(¾¿ðÙP‰L$0H‹‹ H‰D$ÇD$1ÀÇD$L‰4$H‰L$ L‹¹è¡Wéúÿÿ1ÀA¹ð×Péíüÿÿffffff.„U¹°¦rº¨¦rH‰åAWAVAUATSH‰ûHƒìH‹5Û&H‹= ‘&èýÿ¿H‰c&莕úÿH…ÀI‰ÄH‰q&„ÈH‹L&HºÍÌÌÌÌÌÌÌH…OH÷âHÁêL4’K<¶HÁçèJ•úÿI‰$H‹/&Hƒ8„oH‹IÁæH‹=ÿ&L‰òfïÀH÷ÚÇ &¸ðÝPH‰ ß&E1ÛH‰UÈJ‹ÝÞPI‰ $HÇA¬ÜPHÇAH‰AH‰Q €8/L|…ïH…ÿ„°HQ(¸ƒâHÁêH)ÐH‰ÂƒâH9úHG×H…Ò„¶1Àf.„ÇD(HƒÀH9ÂwïH9×teI‰ýI)ÕM‰èIÁèN…M…Òt.LL‘(1Òf„H‰ÖHƒÂHÁæI9ÐfA1wêLÐM9ÕtHT(DHƒÀÇHƒÂH9ÇwíIƒÄIƒûtH‹UÈLñA»L‰øH‰ éòþÿÿfH…ÛHÇHÇCŠ& IÇ$t€;u,HÇ&ÿÿÿÿH‹’&H‰c&HeØ[A\A]A^A_ÉÃ@H‰ßèˆÁúÿHPHƒÀH‰ÞHƒàðH)ÄH|$Hƒçðè8êúÿI‰Ä¶º¿„Àt @ƒè:<HƒÒHƒÃ¶„ÀuìH<Õè?“úÿH…ÀH‰õ&tm‹ Í&E1ÉL‰çA¸-ÃOºØÜPH‰ÆèÞÿÿH‹=Í&Hƒ?tÇÅ&é7ÿÿÿè3„úÿHǨ&ÿÿÿÿëß1Àéeþÿÿ¹^ÝPºª¾+ÛP¿¿ÜPè¦-øÿ¹PÖP1Ò1ö¿ ècJ¹XÚPëëfff.„H‰\$ÐH‰l$ØI‰ùL‰d$àL‰l$èA‰ÌL‰t$ðL‰|$øHƒìH¶I‰öI‰ÕH‰ÓI‰×H‰õfD<$tQˆHƒÅHƒÃE…äu5¶E„ÀuåÆL‰èH‹\$H‹l$ L‹d$(L‹l$0L‹t$8L‹|$@HƒÄHÃ@¶E<:uÇI‰ßë¯D‹¤&HƒÅºÛÜPD‰áH‰îL‰÷L‰ $è©ÛÿÿH…ÀH‰ÂL‹ $„~M…É„ÓI‹8HHÿHƒùý†’HƒúvJHÕ¶E„Àt4E…ät%ëHƒÅ¶E„Àt<:fuîL‰ûé*ÿÿÿfDHƒÅ€}uöL‰ûé&ÿÿÿÆ$HƒÃ¶EéÿÿÿE1ÀºâÜPD‰áH‰îL‰÷L‰ $èÛÿÿH…ÀH‰ÂL‹ $tPH‹–Œ&é`ÿÿÿH‰ßH‰ÆH‰T$L‰ $èõåúÿH‹T$H‰ÃL‹ $HÕ¶Eé´þÿÿH‰D$è#eH‹T$L‹ $éÿÿÿE1ÀºëÜPD‰áH‰îL‰÷L‰ $è‹ÚÿÿH…ÀH‰ÂL‹ $„Pÿÿÿ¸ïÜPéèþÿÿD¶E1ÉA€ø{„—1ÀD8uëfDHƒÀD¶D:uE„ÀuìE„ÉtA€ø}t~1ÀóÃf.„A€ø/u:f.„…Étà¶„Òt€ú:uÐHƒÇH9þtÉ€~þ:tÂ1Àë¾f.„E„ÀtËA€ø:tÅ1Àë¢fDHƒÆA¹D¶éVÿÿÿDHƒîHƒÀ…É„tÿÿÿë’fffff.„AULoH‰øATA‰ôUS1ÛHƒì‹-T&@D¶@HxA€ø{„mD‰ÂH‰þE1É1À€úO¹ÜÜPtëfDHƒÁ„Òt HƒÀ¶:tìE„Ʉˀú}„BA€ø{„€D‰ÂH‰þE1É1À€úP¹ãÜPtëf„HƒÁ„Òt HƒÀ¶:tìE„É„ €ú}„r1öA€ø{H‰ù„{1ÀA€øLºìÜPtë@HƒÂE„ÀtHƒÀD¶D:té@„ö… A€ø/„E„À„E…äft A€ø:„÷1ÀfëHfD€ú/Dt„ÒtE…ä„'ÿÿÿ€ú:…ÿÿÿ„…í…ûH…ÀD„ÿÿÿHƒÃHǾ$èI·úÿH…À…þÿÿHƒÄH‰Ø[]A\A]ÃfHp¶PA¹é‰þÿÿDHƒîHƒÀëžfD€ú/t#„ÒtE…ä„ëþÿÿ€ú:f…àþÿÿf.„H…ÀuéÉþÿÿHw¶WA¹fétþÿÿA€ø}… ÿÿÿHƒÀH…À…Jÿÿÿ@éEÿÿÿHƒÀH…À…0ÿÿÿféyþÿÿHOD¶G¾érþÿÿ¶„ÒtE…ä„þÿÿ€ú:…ùýÿÿL9î„âþÿÿE…ä„çýÿÿ€~þ:…Ýýÿÿ€éÃþÿÿff.„H‰\$ÐH‰óL‰d$àH‰l$ØL‰l$èI‰üL‰t$ðL‰|$ø¾$HƒìHH‰ßèëµúÿH…Àu|H‰ß1íè̺úÿL`L‰çèÐŒúÿH…Àt;L‰âH‰ÞH‹l$ H‹\$L‹d$(H‰ÇL‹l$0L‹t$8L‹|$@HƒÄHé[ãúÿM‰þAÆ@H‰èH‹\$H‹l$ L‹d$(L‹l$0L‹t$8L‹|$@HƒÄHÃD‹5 &Lh1íD¶@HxA€ø{„D‰ÂH‰þE1É1À€úO¹ÜÜPt ëHƒÁ„Òt HƒÀ¶:tìE„É„”€ú}„ÜA€ø{„ D‰ÂH‰þE1É1À€úPu$¹ãÜPëf„HƒÁ„Òt HƒÀ¶:tìE„É„Ÿ€ú}„·A€ø{„ÞH‰ù1ö1ÀA€øLu"ºìÜPë @HƒÂE„ÀtHƒÀD¶D:té@„ö„¹A€ø}„1ÀHǾ$è_´úÿH…À…ùþÿÿH…í„gþÿÿIƒÎÿE1íH‰ßL‰ñD‰èò®M…äH÷ÑN<1„I‹¼$8H…ÿ…7I‹D$€8…Dè7_H‰ÇI‰„$8H@ÿHƒøý‡L‰ñD‰èò®H÷ÑHƒéH‹†&H9ÁHCÁHƒèH¯ÅI|迊úÿH…ÀH‰Å„#þÿÿ¶I‰îI‰ïI‰Ý<$„lIƒÅAˆIƒÆA¶U€ú:‰ÐtS„ÀuÝéçýÿÿ€ú/@t„Ò@t €ú:…[þÿÿE…öf…÷H…À„GþÿÿHƒÅéÜþÿÿHp¶PA¹éôýÿÿM‰÷‰Ðë‡HƒîHƒÀë¿€ú/t „Òt €ú:…XþÿÿH…Àu¼DéIþÿÿHƒÀ€ëäHw¶WA¹éìýÿÿHƒÿÿ…ëþÿÿ1ÉéóþÿÿHOD¶G¾éþÿÿA€ø/tE„ÀuH…À…Yÿÿÿfé7þÿÿA€ø:€…$þÿÿfëÚfDè³]H‰ÇJ0HƒøýwL‰ñD‰èò®H÷ÑLñé„þÿÿ¶„Òt €ú:…HýÿÿL9î„ïþÿÿ€~þ:D…0ýÿÿféÙþÿÿ‹ Í&IƒÅºÛÜPL‰îH‰ßèiøÿÿH…ÀH‰Â„³M…ä„–I‹„$8HHÿHƒùýv_HƒúvGIÕA¶U„Ò„Aüÿÿ€ú:t(IƒÅëèHƒÀéÿÿÿ¹pÝPºK¾+ÛP¿õÜPè#øÿM‰þ‰ÐéþýÿÿAÆ$IƒÆA¶Eé þÿÿL‰÷H‰ÆH‰T$ècÝúÿH‹T$I‰ÆIÕA¶EéæýÿÿH‰D$è”\H‹T$é^ÿÿÿ1ɺâÜPL‰îH‰ßè˜÷ÿÿH…ÀH‰Ât H‹¡ƒ&é8ÿÿÿ1ɺëÜPL‰îH‰ßèr÷ÿÿH…ÀH‰Â„qÿÿÿ¸ïÜPéÿÿÿfff.„AVH‹߃&AUI‰ÍH…ÀATI‰üUSL‹r…˜H‰×è¶úÿÿH…ÀH‰Ã„ ¶1ÉH‰Ú¿„Àt'f„<:”ÀHƒÂ¶ÀHÁ¶„ÀuêH<Íè‡úÿH…ÀH‰Å„¨M‰ñM‰è1ɺ²NH‰ÆH‰ßèYÒÿÿH‰ßè¡xúÿI‰,$AÇD$¸[]A\A]A^Ã=ß&…[ÿÿÿ¶L‰óë„ÉtGHƒÀHƒÃ¶¶;@8ùté@„ÿuë$¶„É„)ÿÿÿHƒÀ€ù:uì¶„É„ÿÿÿL‰óëÍ€ù:t„ÉuÞIÇ$ÿÿÿÿ1ÀëŠH‰ßèxúÿ¹PÖP1Ò1ö¿ èn>¹xÚPëë€AWA‰×AVI‰þAUATUSH‰óHƒì(„Ò…É‹FHÁàE1äIƒ¾(Hl„äL‹--&IƒýÿtpE„ÿI‹Eº…D‰áIƒÅHƒÁH‰ÊHÁâH‰,H‹P Hƒú†QH‹pHƒêH‰ïH‰L$èœÖúÿH‹L$ÆHhI‹EHÁáAƒÄÇDH…Àu¢M‹®¨IƒýÿtzM…í„E„ÿI‹Eº…¿D‰áIƒÅHƒÁH‰ÊHÁâH‰,H‹P Hƒú†ûH‹pHƒêH‰ïH‰L$èÖúÿH‹L$ÆHhI‹EHÁáAƒÄÇDH…Àu¢Aö†Õ„ÊE„ÿt‹CHƒÀHÁàHHƒÄ([]A\A]A^A_ÃIƒÅƒCHƒx H‹@ HBÂHI‹EH…Àußé#ÿÿÿf.„IƒÅƒCHƒx H‹@ HBÂHI‹EH…Àußézÿÿÿf.„ÀƒÀ/ˆEHEé¸þÿÿ€ÇFHÇ1Àé)þÿÿÀƒÀ/ˆEHEéÿÿÿ€L‹-&Iƒýÿ„%ÿÿÿE„ÿI‹EºuYE‰æIƒÅIƒÆL‰òHÁâH‰,H‹P HƒúviH‹pHƒêH‰ïèÉÔúÿÆHhI‹EIÁæAƒÄAÇDH…Àu¯éÔþÿÿIƒÅƒCHƒx H‹@ HBÂHI‹EH…Àußéþÿÿf.„ÀƒÀ/ˆEHEë™fI‹†(H…À„ I‹VhH‹pI¾¨¹ÝPHrL‰òè°ûÿÿ„À„8þÿÿM‹®¨Iƒýÿ„'þÿÿé±ýÿÿfM‰õA¹€I‹Hƒùÿ„H…É„¦E„ÿH‹…ZE‰àHƒÁIƒÀL‰ÂHÁâH‰,H‹P Hƒú†^H‹pHƒêH‰ïH‰L$L‰D$L‰L$è—ÓúÿH‹L$L‹D$L‹L$ÆHhH‹IÁàAƒÄAÇDH…ÀuŽ„M‹­ØM…í…PÿÿÿIƒ~0…QüÿÿL‹-Î~&M…í„AüÿÿM9õ„8üÿÿA¶…ƒà<„%üÿÿI‹Hƒùÿ„üÿÿH…É„pE„ÿH‹º…E‰åHƒÁIƒÅL‰êHÁâH‰,H‹P Hƒú†*H‹pH‰ïHƒêH‰L$èµÒúÿH‹L$H‰ÅÆEH‹IÁåAƒÄHƒÅAÇDH…Àužé“ûÿÿ€HƒÁƒCHƒx H‹@ IBÁHH‹H…ÀuàéûþÿÿÀƒÀ/ˆEHEé¿þÿÿ€I‹…¸H…ÀttI‹UhH‹pI½¹ ÝPHrL‰êL‰L$èùÿÿ„ÀL‹L$„¢þÿÿI‹Hƒùÿ„‘þÿÿéþÿÿ@HƒÁƒCHƒx H‹@ HBÂHH‹H…ÀuàéÏúÿÿIÇ…ÿÿÿÿéPþÿÿIdž¨ÿÿÿÿé°ûÿÿÀƒÀ/ˆEHƒÅéâþÿÿI‹…¸H…Àt>I‹UhH‹pI½¹ ÝPHrL‰êèãøÿÿ„À„gúÿÿI‹Hƒùÿ„VúÿÿéFþÿÿIÇ…ÿÿÿÿéAúÿÿDAWA‰ÏAVE‰ÎAUATI‰üUSH‰óHì¸H‹¬$ð‰T$0D‰D$4H…íˆCH;-ò{&ƒ¾HDíH‹Åà#sH…ÒtZI‰ÕëDAö…„œM‹mM…ít9A¶…¨uë¨@uçL‰îH‰ßè^:…ÀtÊL‰êHĸH‰Ð[]A\A]A^A_ÃfM…ä•D$/…â¾/H‰ßÆ„$¯èݨúÿH…À„€|$/„)H‰ÞL‰çèžòÿÿH…ÀH‰„$ ¾ÿÿÿÿt6€|$/L‰â„ Ht$PL„$¯1ÉA¹H‰Çè±Ñÿÿƒøÿ‰Æ„A÷ƸLEàƒþÿ„@H‹îý%H‹Œ$ HT$PE‰ùM‰àH‰ßH‰l$D‰4$H‰„$˜H„$˜H‰D$è ÚÿÿH‰ÂéþþÿÿDöAz&@„ÿÿÿI‹L$M‹D$0€9tH‰êH‰Þ¿ ÚP1Àè’@éëþÿÿH‹fý%H‹ëÝH‰ß蹬úÿHƒÀööy&H‰D$@…*M…ä„UIƒ¼$(„FHƒ=Sý%ÿ¾ÿÿÿÿtS€|$/H”$¯H‹ˆz&H‹t$@LL$PL„$ H‰T$‹T$0¹¦rH‰ßÇD$IEÄH‰$èÕÿÿƒøÿ‰Æuf€|$/t_I‹„$¨Hƒøÿ„ÕH…ÀM¬$¨„ŽH‹t$@‹T$0H„$¯LL$PL„$ L‰éH‰ßH‰D$ÇD$L‰$$è•Ôÿÿ‰Æƒþÿ„öûx&„Gþÿÿ¿°íP1À‰t$ è]?‹t$ é.þÿÿ@H‰ßè(ÈÿÿéÕýÿÿHTíH‹Õà#séãýÿÿI‹„$(H…À„aI‹T$hH‹p¹ÝPL‰ïHrL‰âèSõÿÿ„À…<ÿÿÿD‹D$0E…À…õH‰ßè%H…ÀI‰Åtg€|$/„Aö„$Õ…L‰âHt$PL„$¯E1ɹL‰ïè#Ïÿÿƒøÿt(L‰ï‰D$ èrÇÿÿH…ÀH‰„$ ‹t$ …ÿÿÿ‰÷è¶Üüÿ€|$/„ŒL‰àH…Àt ö€Õ…øHƒ=Žû%ÿ„êH”$¯H‹t$@LL$PL„$ ¹À¦rH‰ßH‰T$‹T$0ÇD$@H‰$èÓÿÿ‰Æé‹þÿÿ€|$/H‹Yx&H‰D$8„á1ÀD‰|$HD‰t$LI‰ïM‰åA‰ÆH‰Ýë^@H”$¯H‹t$@LL$PL„$ H‰ÙH‰ïH‰T$‹T$0ÇD$L‰$$è¦Òÿÿƒøÿ…—L;l$8”ÀA ÆM‹­ØM…ítNI‹…HƒøÿtçH…ÀIuI‹•¸H…Ò„ßI‹EhH‹r¹ ÝPL‰êH‰ßHpèóÿÿ„Àt«éXÿÿÿD‰ðH‰ëD‹t$L„ÀL‰ýD‹|$H…ÂüÿÿHƒ|$8„¶üÿÿH‹L$8¶ƒà<„ŸüÿÿH‹Hƒøÿ„ŽüÿÿI‰ÍIÅH…À„Q€|$/H”$¯H‹D$8H‹t$@LL$PL„$ H‰T$‹T$0L‰éH‰ßÇD$IEÄH‰$èŽÑÿÿƒøÿ‰Æ…ùüÿÿé#üÿÿIÇ…ÿÿÿÿéÜþÿÿƒÎÿéÜüÿÿI‹…°H…À„TúÿÿI‹UhH‰ßH‹RHPH‰ÖH‰T$ èú£úÿ…ÀH‹T$ …+úÿÿH‰ÐL‰êH‰×H‰ÆH‰T$ èÉÿÿH‹T$ €Šé/úÿÿH‰ë‰ÆL‰ýD‹t$LD‹|$HéeüÿÿHkÅHH‹€à#ségýÿÿHkÅHH‹à#séÿüÿÿIÇ„$¨ÿÿÿÿé³üÿÿº¾ðÝPH‰Çèü¸úÿ…À„)ýÿÿº ¾øÝPL‰ïèâ¸úÿ…À…·üÿÿé ýÿÿH‹¸H…ÀtaH‹L$8H‹pL‰ïH‹Qh¹ ÝPHrH‹T$8è–ñÿÿ„À„óúÿÿésþÿÿH‰êH‰Þ¿ÈÚP1Àè';é¿úÿÿH‹¼$ ‰D$ è¡júÿ‹t$ éâùÿÿHÇÿÿÿÿé­úÿÿƒ=á÷%…uüÿÿéùûÿÿ¹OÝPºª¾+ÛP¿ÝPèýøÿƒ|$4„™öDt&…ŒH‰ßèÃÿÿH…ÀI‰Åt`D‰úI‰éE‰ðL‰áH‰ÞH‰Çè¾H…ÀH‰ÂtA€ˆHÇ€DÞPÇ€ì€ˆé—øÿÿ¹OÝPº«¾+ÛP¿$ÝPèuøÿL‰ïèÍiúÿ¹×P1ÒH‰Þ¿ è)0€¼$¯t¹3ÝP1ÒH‰Þ1ÿè0HÇÀÐÿÿÿ¹ðÚP1ÒH‰Þd‹8èõ/¶¶f.„„À„«HЀù ‡†JЀù ‡™¾ÀHƒÇ¾ÒD@жJÐHƒÆPЀú w>G€¾ÀHƒÇFD@жPЀú vå¶DJÐA€ù w#„ ‰¾ÒHƒÆLJжDJÐA€ù våA9È„lÿÿÿD‰À)ÈÃJЀù v(8ÐuHƒÇHƒÆé=ÿÿÿ¾Â÷ØÃ¸fþÀ¾Ò)ÐÃÈÿÃffffff.„HƒìH‹=µm&HGÿHƒøýwH‹5´m&è/ùüÿHÇ”m&HƒÄÃffffff.„AWAVAUATI‰üUSHƒì(ö0r&…KH‹-[m&H…í„×Hƒýÿ„5L‹-Im&Iƒýÿ„ŒE‹uH‹ýÿÿI‰èL‰íI‰ÍéýÿÿI‰ëL‰íI‰ÕéýÿÿH‹T$H1À¶:@„ÿ„ˆ¶J@¶ÿ‰ø„ÉtzHÁç¶ÉH<9¶J‰ø„ÉteHÁç¶ÉH϶J‰ø„ÉtQHÁç¶ÉH϶J‰ø„Ét=H‰ø¶ÉHƒÂHÁàHȶ „Ét#¶ÉHÁàHƒÂHÈH‰ÁáðH1ÈHÁéH1ÈëÖ‰ÀI‰é<þÿÿf.„UH‰åAWA¿AVI‰ÖºAUM‰ÅATSHìH‰@ÿÿÿH‰½XÿÿÿH‰µ0ÿÿÿD‰LÿÿÿH‰ù¶L‹e„Àt%H‰Ó¶ÀHƒÁHÁãHH¶„ÀuãI‰×Aƒçÿ¿ÿÿÿÿM…íHÇE°H‰}ÈHÇE¸t ÷Eúÿÿÿ…$M…ä…\H‹…@ÿÿÿHÇ…8ÿÿÿL‹M…É„}H‹…8ÿÿÿH‹@ÿÿÿëf.„HƒÃ1ÀL‹ M…É„þ‹LÿÿÿL‰d$LE°HUȉL$ ‹uL‰l$H‰$‰t$I‹L‰þH‹½Xÿÿÿèúÿÿ…À½©€t¦M…äužM…턺1ÛHƒ½0ÿÿÿt H‹•0ÿÿÿH‹ZM‹}M‹mƒøþH‹Xÿÿÿ¸õÞPHÇ…`ÿÿÿ ßPHÇ…pÿÿÿßPHÇE€ßPL‰­PÿÿÿH‹µPÿÿÿA½‡óPLDèH‰ÏH‰hÿÿÿL‰½xÿÿÿHÇE4ßPH‰uˆL‰m˜èK•úÿ¿ßPI‰Äè>•úÿL‰ÿMdè1•úÿ¿ßPIÄè$•úÿH‹½PÿÿÿIÄè•úÿ¿4ßPIÄè•úÿL‰ïIÄèý”úÿIDH¾symbol HƒàðH)ÄLd$7IƒäðI‰4$H‹µXÿÿÿI|$è¹»úÿ¾ßPH‰Ç謻úÿL‰þH‰Çè¡»úÿ¾ßPH‰Çè”»úÿH‹µPÿÿÿH‰Çè…»úÿ¾4ßPH‰Çèx»úÿL‰îH‰Çè=úÿ€;uH‹å%H‹¸NßPH…ÛHDØL‰áH‰Þº]ßP1ÿèIÇHeØ1À[A\A]A^A_ÉÄH‹E°H…À„FI‹H…Òt ¶BƒàƒøtOH‹]¸E1ÿ¶ƒƒà<„|€‹‹1a&©…šH‹E°I‰H‹E¸HeØ[A\A]A^A_ÉÃ@ƒ½Lÿÿÿ„HÇE HÇE¨H‹@ÿÿÿH‹…8ÿÿÿëAÇD$ L‰d$LE ‹UL‰l$L‰þH‰$‰T$I‹HUÈH‹½Xÿÿÿè|÷ÿÿ…ÀuHƒÃ1ÀL‹ M…Éu·Hƒ} tWH‹0ÿÿÿH9M¨tJI‹H‹µ0ÿÿÿH‰E°H‰u¸H‰óA¿éÿÿÿH‹µ0ÿÿÿH9u¸tåH‹…0ÿÿÿH‰U°A¿H‰E¸H‰ÃéäþÿÿH‹]¸A¿éÕþÿÿI‹H…Àt ¶@Àè<tM…ätIÇ1ÀéäþÿÿHƒ½0ÿÿÿ»‡óPt H‹…0ÿÿÿH‹XM…ítrI‹EºßPH…Àu¸‡óPH‹XÿÿÿL`ÿÿÿH‰•pÿÿÿH‰…xÿÿÿHÇ…`ÿÿÿ@áP1Ò¾IƒÈÿ1ÀH‰hÿÿÿ¹HƒÂHÎHƒútNI‹<ÑL‰Áò®H÷ÑHƒéëẇóPH‰Ðë—H‹•@ÿÿÿHÇ…8ÿÿÿL‹ 1ÒI‹ëHƒÂL9$ÐuöH‰•8ÿÿÿé‡ûÿÿHƒÆL½`ÿÿÿE1íHƒæðH)ô¾@áPLd$7IƒäðL‰àH‰ÇIƒÅ訸úÿIƒýtK‹4ïëè€;uH‹@â%H‹¸NßPH…ÛHDØL‰áºnßPH‰Þ1ÿè¿éµþÿÿöE„zýÿÿH90ÿÿÿ„ˆöƒÔuH‹…0ÿÿÿL‹€ÈH‹¸1ÀH…ÒH‰•8ÿÿÿt5H‹8ÿÿÿ‰ÂH‹ÑH…Òt#H9ÓtEƒÀëä¹`áPº]¾ÆÞP¿ÞÞPèòý÷ÿE1ÉM…Àt(E‹L‰À1ÒA9ÑvH‹HHƒÀH9ËtƒÂëéH‹]¸éÜüÿÿ‹EH‹³`ƒàH‰µ(ÿÿÿH‰… ÿÿÿ…¬¸H…À„–D‰ÿÿÿ¿àÙrèÒ:³ÿD‹ÿÿÿD‰ÉH‹µ0ÿÿÿHkF0HH‹€à#sH9Ø„ H…À„ÎH‹@ëè¹`áPºG¾ÆÞP¿`àPè4ý÷ÿH‹•0ÿÿÿ¨H‹r„SüÿÿE…ÿ¸‰ßPA¹‚ßPLEÈH‹E¸H‹HL‹@0€9u H‹§à%H‹€>H‹…0ÿÿÿH‹P0uH‹à%H‹0¸NßPH…öHDðH‹…Xÿÿÿ¿áPH‰$1Àè‡#M…턬I‹u¿“ßP1Àè¾"éËûÿÿH‹•(ÿÿÿH;“`„؃Ëÿ¸H…Àt ¿àÙrè¾9³ÿHƒ½ ÿÿÿt dÇ%ƒûÿ…„þÿÿöEtH‹0ÿÿÿH‹‰€H‰@ÿÿÿL‰d$‹uM‰èL‰ò‰4$D‹LÿÿÿH‹@ÿÿÿH‹µ0ÿÿÿH‹½Xÿÿÿèò÷ÿÿé:ûÿÿD‰Éé}þÿÿ1Àd‡%ƒøu$ºdH‹%d‹4%HHxƒÎ¸Ê¸H…Àt&L‰…ÿÿÿD‰ÿÿÿ¿àÙrèð8³ÿD‹ÿÿÿL‹…ÿÿÿH‹•0ÿÿÿH‹‚¸H9…8ÿÿÿ„1ÉH…À„ø‰ÊH‹ÐH…Ò„éH9Ó„»þÿÿƒÁëãH…Û„ÁþÿÿH‹…(ÿÿÿH;ƒ`…­þÿÿ‹“ÔöÂuzH‹µ0ÿÿÿ¶†ƒà<t!ƒÊ‰“Ô1Ûé€þÿÿ¿°íP1Àè!é#úÿÿö†ÔuÖH‹•0ÿÿÿ‹‚À9ÈvyH‹µ0ÿÿÿ‰ÊH‹†ÈH‰\ÐH‹†ÈƒÁ‰ö[&@u1Ûé$þÿÿH‹…0ÿÿÿH‹HL‹@0€9u H‹;Þ%H‹H‹sH‹S0€>u H‹$Þ%H‹0¿ÀàP1À1Ûè3!éÜýÿÿ…À…Ë¿XÇ…8ÿÿÿ ‰ÿÿÿè\_úÿH…ÀI‰À‹ÿÿÿ„‘…ÉA‰ÉtKHxH‹…0ÿÿÿJ͉ÿÿÿL‰…ÿÿÿL‰ÿÿÿH‹°ÈHƒÆè̵úÿL‹ÿÿÿL‹…ÿÿÿ‹ÿÿÿƒÁK‰\ÈA‰H‹•0ÿÿÿ‹8ÿÿÿH‹ºÈ‰ŠÀL‰‚ÈH…ÿ„íþÿÿèþ9éãþÿÿƒ‹Ô1Ûé ýÿÿÀ‰…8ÿÿÿ‰ÀH<Åé-ÿÿÿH‹0ÿÿÿH‹ÈH…À„`ýÿÿI9Àt"‹1Ò9цÔûÿÿH‹pHƒÀH9ó„¢üÿÿƒÂëâA‹D9Ɇ-ýÿÿD‰ÈI;\À„ƒüÿÿAƒÁD9Éwéé–ûÿÿAWM‰ÏAVAUA‰ÕATI‰ÌUH‰õSH‰ûH‰÷HƒìD‰D$èæ‹úÿHPH¸‰¾H‰$èÍTúÿH…ÀI‰ÆH‹$„äIŽpI‰F(I¾ˆH€hH‰îAƒåI‰N8H‰ $I‰†ÈèY´úÿH‹ $I‰†pI–XI‰^M‰¦ØM‰~0I‰–€ÇAA¶†IdžxƒàüD èAˆ†KÿH‹ Åà#sH…É„H‰ÊëH‰ÂH‹BH…ÀuôI‰V L‰rHÁ¸I‹–€¿¾H‰ KÿƒÅè#sH‹.X&I‰†`HƒÀM…äH‰X&u é fI‰ÄI‹„$ØH…Àuð1É…öI„$¸t"H‹ H9Át@„ÿt öD$…ʹDH‰ ¶+I†¸I‰†ˆ@„턉H‰ßèZŠúÿHƒÀ@€ý/H‰D$„ÀH‰ÅA½€E1ÿHƒí€L‰ÿH‰îè)iúÿH…ÀI‰Ät(L‰îH‰ÇèF¿üÿH…À…ÉHÇÀÐÿÿÿIƒí€M‰çdƒ8"tÁL‰ÿèAMúÿHÇÅÿÿÿÿf.„I‰®8HƒÄL‰ð[]A\A]A^A_ÀH‰J1Éé5ÿÿÿM‰ô1É…öI„$¸„ ÿÿÿéùþÿÿL‰4Åà#s1ÿ1öé–þÿÿH‰Çè[úÿH…ÀH‰ÅH‰Çtƒ@H‹T$H‰Þèó«úÿëH‰Ð€xÿ/HPÿuóH9êHEÂÆédÿÿÿ1öL‰çL‰åèG„úÿ€xÿ/H‰Çt¾Æ/L‰åHƒÇë²HƒìHƒ¿@u¸ÿÿÿÿHƒÄÄH‹0H; U&wÞL‹‡8H‹R&H‹5ãT&L‰ÂH—(H-ðH)ðH9Ðr±L)ÆHÆH)Ð1ÒH÷ñH¯ÁH)ÆH‹G(H‰5«T&H‰·@ö€u€1Àéxÿÿÿÿg &1Àékÿÿÿ„HcÒH‰\$èH‰l$ðHÒL‰d$ø‰óHƒìHH‰ýHBH‰çH´`æPè-¯úÿûÿw2‰ÚƒãÆ@ÁêH‰á1ÿƒâ¶’ÀžPˆ¶“ÀžPˆPH‹u1ÒèÉÚÁê‰Ò¶’ÀžPˆ‰ÚÁêƒâ¶’ÀžPˆP‰ÚÁêƒâ¶’ÀžPˆP‰ÚÁêƒâ¶’ÀžPˆP‰ÚÁê ƒâ¶’ÀžPˆP‰ÚÁêƒâ¶’ÀžPˆPHƒÀé[ÿÿÿH‹‰U&SH‰ûH‹·PH7H÷ØH‰ÇH!÷H³XH!ÆH9÷tH)þºè†Ûüÿ…Àx[ÃHÇÀÐÿÿÿH‹s¹ÀæP1Òd‹8èõDH‰øSdH‹<%H‹˜@dH‹%H‹ˆHH;JðwFH)ßHÁáH‰<H‹ˆHHÁáÆDH‹ H‹˜(H‹°H)Óè^©úÿH‰Ú1öH‰Ç[é žúÿ¹ çPºŽ¾táP¿ÀáPè—ó÷ÿ€HƒìHƒ¿@tH‹0H; ”R&vH‹w¹èáP1Ò1ÿè0L‹‡8H‹Ò&H‹5cR&L‰ÂH—(H-ðH)ðH9ÐrÁL)ÆHÆH)Ð1ÒH÷ñH¯ÁH)ÆH‹G(H‰5+R&H‰·@ö€u €HƒÄÃL‹è &XAÿãfff.„UH‰åAWAVAUATA‰ÔAƒäSH‰ûHì¸H‰µ`ÿÿÿ‰Tÿÿÿö‡…¨…É„ öñR& …& Hƒ»ð…à HÇ…@ÿÿÿH‹ChE„äE‰åH‹@H‰…Xÿÿÿ…E„íH‹ƒˆ…_H‹Sx1À1ÉÇE HÇE°HÇE˜HÇEH…ÒtH‹JH‹ƒ€H‰MH‹@H‰E˜Hƒ»à„ØH‹“øE…äH‹R„‚H‹CPH‰U¨H‹M‹U H‹@D‰e¸H‰E°H‹E˜HuI‰ÜH~ HƒÆ8H‰µHÿÿÿH‰}ˆ…ÒH‰ÏLI‹$„^L9Ñs9f„‹wH‰ØHHƒþ…¡I‹”$àH…Ò…yHHƒÇI9úwÐH‹HÿÿÿH9MˆtH‹]ˆH‹‹SH‹KøHƒÃH‰]ˆëŠ‹•TÿÿÿL‰ã…Ò… €‹Hƒ½@ÿÿÿ…Å Hƒ»Xt H‰ßèƒüÿÿHeØ[A\A]A^A_ÉÃH…À„˜þÿÿH‹H‹@HÇðMé„þÿÿHƒ»ø„cþÿÿH‹CXH‹@H‹PH…Ò…¥‹µTÿÿÿH‰X…ö…c E„íHÇ@ MH‹ƒˆ„4þÿÿë‘Hƒ¿DEáéÏýÿÿ€H H9Ñ…qþÿÿH‹SPH‹MHB‹U H‰E˜éxþÿÿI‹T$pE1íH‹RH‰U€I‹”$€H…Òt#‹rHº«ªªªªªªªH÷âHÁêH9òHGÖL,RIÁåIüN,)tH…Û…ŠIƒ¼$8„{I‹„$ÈH…À„ÜH‹@M9êH‰…xÿÿÿ†VþÿÿL‰•hÿÿÿH‰pÿÿÿ„M‹uH‹•xÿÿÿH‹M€L‹½pÿÿÿM}I‹´$àL‰ðAƒæÿHÁè Iƒþ·J&¾ãP…?ÿÿÿé½þÿÿfDL)þIu‰ðA‰7H9Æ„¢þÿÿ¾ÐâPéÿÿÿ¸éëýÿÿH‹E˜1ÒéP÷ÿÿI‹EI‰GIÇàMéûÿÿI‹EI‰GIÇàMéZþÿÿH‰ÁI+Œ$èHJH‰és÷ÿÿHƒþ$…¦I‹Œ$H‰xI‹$HQH‰éM÷ÿÿH‰•8ÿÿÿÿÖH‹•8ÿÿÿH‰ÆéOúÿÿI‹EI$I‰éŽúÿÿIƒþ”ÀIƒþ”ÂÐuIIƒþtCIƒþt=1ÉIƒþ$”Á1ÒIƒþ”ÂÒ ÊA;”$…/ùÿÿI‹„$I‹”$H‰EÈéÆùÿÿ¹ëźL‰çè¿òÿÿH‰×H‰•8ÿÿÿè€ôÿÿH‹•8ÿÿÿH‹EÈH‹Š@éßùÿÿ¾ãPH‹Ë%I‹D$h¹¥áP¿H‹H…ÒHDÑ‹ HH1ÀèG éÂùÿÿH‹ƒ HÇ…@ÿÿÿI¿ÿÿÿÿ·“°E‰æI‰ÅëL‰ùI#MHƒù„¨IƒÅ8HkÊ8H I9ÍrÞE‰ôéóôÿÿH‹sE…亇óP¸áPHEЀ>u H‹üÊ%H‹0¿‡áP1Àè é¥ôÿÿH‹=¡G&HÇ@MH…ÿ„ÁôÿÿH‰Þèx…À„±ôÿÿH‰ñG&é¥ôÿÿH‰×H‰•8ÿÿÿèeóÿÿH‹•8ÿÿÿH‹EÈH‹Š@éHùÿÿI‹EH‹ãG&Hƒì0Ld$H‰ÁIM(H‰×H÷ßIƒäðH!øHt ÿºH!þH)ÆI‰t$I#}H;I‰<$èÑÍüÿ…ÀxCA‹E¿@bQs·“°ƒàÁà‰ÁÓÿ‰øƒàA‰D$H‹…@ÿÿÿL‰¥@ÿÿÿI‰D$H‹ƒ éÄþÿÿ¹âPHÇÀÐÿÿÿH‹s1Òd‹8èH‰×H‰•8ÿÿÿè‘òÿÿH‹•8ÿÿÿH‹EÈH‹Š@é¡ûÿÿH‰•8ÿÿÿÿÖH‹•8ÿÿÿH‰Æé@ûÿÿIƒþ”ÂIƒþ”ÀÐuYIƒþtSIƒþtM1ÉIƒþ$”Á1ÒIƒþ”ÂÒ ÊA;”$…PúÿÿI‹„$I‹”$H‰EÈéÇúÿÿI‹EI$I‰éîúÿÿ¹ëµ¾ãPéZûÿÿH‰×H‰•8ÿÿÿè×ñÿÿH‹•8ÿÿÿH‹EÈH‹Š@éŽûÿÿL‹¥@ÿÿÿA‹T$I‹t$I‹<$èvÌüÿ…ÀxrM‹d$M…ä„ôÿÿ@ëÕI‹D$PH…Àt^H‹p¿ èAúÿH…ÀI‰„$(¾ˆãP…ÆóÿÿH‹™È%H‹K¿H‹¸¥áPH…ÒHDÐ1ÀèJ ¿è°×úÿ¹ÀãPéqþÿÿ¾`ãPë¿H‰\$ÐH‰l$ØH‰óH‰ýL‰d$àL‰l$èL‰t$ðL‰|$øHƒì8I‰×ÿ&L‹-@&L‹0I‰ÄH‰-@&L‰ÿHÇÿÓM‰4$L‰-ì?&H‹\$H‹l$L‹d$L‹l$ L‹t$(L‹|$0HƒÄ8ÃSHì H‰|$H‰t$H‰T$H‰L$ L‰D$(HÇD$8ÿ ÿ%H‰$H‹H|$H1öH‰„$èÅ þÿ…À‰ÃuOH‹$HD$0H‹|$(H‰ÿT$ H‹„$H‹$H‰H‹D$H‹T$HÇH‹D$HÇƉØHÄ [ÃH‹„$H‹$ƒûÿH‰H‹D$0H‹T$H‰H‹T$H‹D$8H‰¶D$@H‹T$ˆ¸DØë³fffff.„H‰\$ÐH‰l$ظ=çPL‰d$àL‰l$èI‰ÍL‰t$ðL‰|$øHìXH…ÉH‰õA‰üLDèH‰Óÿþ%L‹0H…í¸‡óPHDèM…ö„…H‰ïèÝuúÿL‰ïHXèÑuúÿLxI<èÔGúÿH…ÀI‰FtCL‰úL‰îH‰Çè=˜úÿH‰ÚH‰îH‰ÇèožúÿAÆFI‰E…ä¸ÿÿÿÿI~DDàD‰æèŸ?€ILJóPIÇFÙOAÆFëËf¸‡óPE…äH‰Áuk€}ºÜ(OA¹‡óP¾¥áP¿I‰èLEÊH…ÛºçPHDÚH‹ÀÅ%H‹H‰D$H‰L$H‰ÙL‰,$H…ÒHDÖ¾SçP1Àèi¿èÏÔúÿ€Ht$ ºD‰çè¶súÿ¹Ü(Oéyÿÿÿfff.„H‰\$àH‰l$èH‰óL‰d$ðL‰l$øHƒì(÷ãA&ûÿÿA‰üI‰ÕH‰Íu0L‹!=&M…ÛtIH‰êH‰ÞD‰çH‹\$H‹l$L‹d$L‹l$ HƒÄ(AÿãHƒ=ð<&¸gçPA¸mçP¿wçPLDÀ1Àèýë«H‰éL‰êH‰ÞD‰çèêýÿÿH…ö¸`%st HöHÅ$sH…ÿ•ÂuHƒxt óÃf„„ÒHöHD=¢C&ÇHÇ@âLH‹Õà#sH‰x H‰PÃóÃUH‰ýSH‰óHƒìH‹vè+oúÿ…Àt(H‹[8H…Ûuë,@H‹[H…ÛtH‹3H‰ïèoúÿ…ÀuçHƒÄ¸[]ÃHƒÄ1À[]ÀUE1ÀH‰åAWE‰ÇAVA‰öAULmÀATIE I‰ÔS1ÛHìX‰½¬ûÿÿH‰¸ûÿÿ¶H‰…°ûÿÿ€„Ò„žE…ö~;E…ÿ„ƒû?HcÃA¾ÿÿÿÿƒÃHÁàHÇ„Èûÿÿ L‰¬ÀûÿÿA¶$€ú%t„ÒuL‰à@ƒû?õH‰ÁHcÓL)áHÁâH…ÉH‰ŒÈûÿÿt L‰¤ÀûÿÿƒÃ¶€ú%„Ž€ú „Ý„ÒI‰Ä…bÿÿÿHc½¬ûÿÿHcÓHµÀûÿÿ¸HeØ[A\A]A^A_ÉÃE…öL‰àt(€ú „wÿÿÿHƒÀ¶„Ò„hÿÿÿ€ú%uãé[ÿÿÿHƒÀ¶€ú%„Hÿÿÿ„Òuìé?ÿÿÿ€¶HL@A¼ €ù0„ù€ù*A¹ÿÿÿÿ„r€ù.ºÿÿÿÿ„š€ùZ„K1À€ùl„@€ùu„M1€ù%fD„½€ùs€t¹èPºØ¾µçP¿ÉçPèMÞ÷ÿH‹µ¸ûÿÿ‹ƒù/‡ç‰ÈHFƒÁ‰H‹8Lc㉕ ûÿÿIÁäL‰…ˆûÿÿJ‰¼%Àûÿÿèqúÿ‹• ûÿÿJ‰„%ÈûÿÿL‹…ˆûÿÿƒúÿ„THcÒH9ÐHGÂJ‰„%Èûÿÿé=€èû†ÿÿ…ÀA‰ÇˆH‹µ°ûÿÿ1ÉHcøº èzþÿL9èvDHƒèL9èÆ wôÆEÊ:ÆEË é¥ýÿÿ€L9à„;SÿHcÒHÁâHƒ„ÈûÿÿL`¶PA¾éYýÿÿIƒÀ¸A¶€ùu…³þÿÿ…À…ºH‹…¸ûÿÿ‹ƒú/‡H‰Á‰ÐƒÂHA‰‹8Hƒì0¸º LT$IƒâðA€8xL‰…ˆûÿÿMZD‰˜ûÿÿL‰•ûÿÿL‰ÞL‰ ûÿÿDÐ1Éè˜þÿD‹˜ûÿÿL‹…ˆûÿÿL‹•ûÿÿL‹ ûÿÿAƒùÿ„‰I)ÃMcÉM9Ù~IƒÂI)ÂM‰ÓIƒÂHƒèIRÿDˆ I9ÑéHcÓƒÃHÁâH‰„ÀûÿÿL‰œÈûÿÿéÃf.„€ùx…áýÿÿéÿÿÿfH‹¸ûÿÿ‹ƒú/‡¥‰ÐHAƒÂ‰IƒÀD‹ºÿÿÿÿA¶€ù.…fýÿÿA€x*…™ýÿÿH‹…¸ûÿÿ‹ƒú/‡H‹¸ûÿÿ‰ÐƒÂHA‰IƒÀ‹A¶é(ýÿÿ@L@¶HA¼0éôüÿÿHcÃHÁàL‰„ÀûÿÿHÇ„ÈûÿÿƒÃM`A¶Pé‘ûÿÿH‹AHPH‰QéUÿÿÿH‹…¸ûÿÿ‹ƒú/wmH‰Á‰ÐƒÂHA‰H‹8éDþÿÿH‹FH‹µ¸ûÿÿHHH‰Né ýÿÿHcÓƒÃHÁâH‰„ÀûÿÿHÇ„ÈûÿÿéµýÿÿI)Ãé˜þÿÿH‰ÆH‹@HPH‰VéëýÿÿH‰ÆH‹@HPH‰VëH‹µ¸ûÿÿH‹FHPH‰Véùþÿÿ¹èPºk¾µçP¿¿çPè»Ú÷ÿ¹èPºb¾µçP¿èçPè¢Ú÷ÿ¹èPºx¾µçP¿¿çPè‰Ú÷ÿf„HìØ¶ÀH‰T$0H…¸‹èLH‰L$8L‰D$@H‰áH)ÐH”$ÏL‰L$Hÿà)zñ)rá)jÑ)bÁ)Z±)R¡)J‘)BH„$àH‰ò1öÇ$ÇD$0H‰D$HD$ H‰D$èµùÿÿHÄØÃffff.„HìØ¶ÀH‰T$0H…¸5éLH‰t$(H‰L$8¾ÿÿÿÿH)ÐH”$ÏL‰D$@L‰L$HH‰áÿà)zñ)rá)jÑ)bÁ)Z±)R¡)J‘)BH„$àH‰ú‹=jð%Ç$ÇD$0H‰D$HD$ H‰D$èùÿÿHÄØÃffffff.„HìØ¶ÀH‰T$0H…¸åéLH‰t$(H‰L$8¾H)ÐH”$ÏL‰D$@L‰L$HH‰áÿà)zñ)rá)jÑ)bÁ)Z±)R¡)J‘)BH„$àH‰ú‹=ºï%Ç$ÇD$0H‰D$HD$ H‰D$èWøÿÿHÄØÃffffff.„H‰\$àH‰l$è1ÀL‰d$ðL‰l$øI‰ôHì¸1ö‰Õèçœüÿ…À‰ÃIÇÅÿÿÿÿx/H‰â‰Æ¿è[›üÿ…ÀxH‹D$0H…ÀI‰$u9IÇÅÿÿÿÿ‰ßè+üÿL‰èH‹œ$˜H‹¬$ L‹¤$¨L‹¬$°HĸÃE1ÉA‰Ø¹‰êH‰Æ1ÿèÙ¾üÿI‰Å벋‚3&H‰\$ØH‰l$àL‰d$èL‰l$ðL‰t$ø…À„ùH‹‚3&H‹ƒ3&¹H)×H9ÇHCùH)ÖH9ð†Ð‹ j3&H‹;3&H‰òHÓêL,PA·U·ÒH…Òt@H‹%3&I‰ÕIÁåN,+I‹UH‹ H9ù„{A·Mf…É…¬H‹ H9ù„aIƒÅL‹Õ2&‹Ë2&A‹ 9Ñ„ž‹Ö2&9Ó†L‹%¿2&L‹˜2&½ë9Úsv‰ÒL4’‰êIÁæK‹L2HÁédƒ<%tðÁ2&‰T$ÔD‹D$ÔHHO42· AƒÀM‰ÁIÁáO fA‰IM‰1fD‰dƒ<%tðÿ/2&A‹ ‹&2&9Ñu†A·Uf…Ò…øº‰Ðdƒ<%tðAÁ‰D$Ô‹D$Ô9 2&‰Áv‰Ðdƒ<%tðÁö1&‰D$Ô‹D$ÔH‰HÁâH³1&ƒÀfA‰EA·EH‰:H‰rÇB·ÀHÁàHª1&H‰fÇ@dƒ<%tðÿ{1&dƒ<%tðÿBH‹\$ØH‹l$àL‹d$èL‹l$ðL‹t$øÃfDI‹UH‹*H9ý„TþÿÿD·éIÁåN,+A·Mf…ÉuÚI‹Ué5þÿÿE·mH‹$1&E·íIÁåN,+éùýÿÿUH‰åAWAVAUATSHì¸L‹ 6&A·‹°I‹ƒ HÍHÁáH)ÑH H9ȃL‹%6&1öHÇÇÿÿÿÿI¸ÿÿÿÿH»M‰âI÷ÚëfDHƒÀ8H9Ès5L‰ÂH#H9ÚuìL‹HKT ÿHP(M!ÑL!ÒL9ÏIGùH9òHGòHƒÀ8H9ÈrËH‰ùH‰óI‹HºÃõ(\Âõ(Ç%0&ÇS0&LdHÇHƒçüIƒäüH‰=,0&L‰àH)øH‰ÇH‰$0&HÑèH‰…XýÿÿHHÁèH÷âHÁêƒú1‰ò/&‡”Çâ/&2HÇ…PýÿÿÈ>HÇ…Hýÿÿ ‹aùLu°L}€H‰M€H‰]ˆH»secondsAÇFÇE´ÿÿ‰E°H‹…XýÿÿHÇE¸HÑè‰Eèè”H‹=Ñ3&‰E”IG H‰]˜ÇE fÇ@Æ@ÆE§sèŒfúÿH‹=å3&H‰Ãè}fúÿHD(H‹5‘3&HƒàðH)ÄH\$HƒãðH‰ßèIúÿÆ/H‹5¯3&Hxè6úÿH¹.profileÆ@º¶H‰¾B1ÀH‰ßè¡—üÿƒøÿA‰Å„½H•ðþÿÿ‰Æ¿è–üÿ…Àx‹…ÿÿÿ%ð=€„¨HÇÀÐÿÿÿA¼wèPD‰ïdD‹0èÏ—üÿHµ`ýÿÿºD‰÷è›dúÿH‰ÚH‰ÁL‰æ¿1ÀèøÿÿHeØ[A\A]A^A_ÉÀú†ÇÇB.&HÇ…PýÿÿHHÇ…Hýÿÿé[þÿÿ€HÇÀÐÿÿÿA¼(èPdD‹0ésÿÿÿfH‹PýÿÿH‹… ÿÿÿHXýÿÿH…ÀH‰Pýÿÿ„JH9…Pýÿÿt8D‰ïè —üÿH‹ c2&H‰Ú¾˜èP¿1Àè_÷ÿÿéDÿÿÿH…ÀˆžH‹¥8ýÿÿH‹µPýÿÿE1É1ÿE‰è¹º謸üÿHƒøÿ„ÏD‰ïH‰…(ýÿÿ裖üÿL‹…(ýÿÿH‹XýÿÿHƒ½ ÿÿÿMH@IPMl IEL‰-%-&H‰-&„B¹L‰ÆL‰÷ó¦uFA‹P…Òu>Ixº(L‰þL‰…(ýÿÿL‰0ýÿÿèRuúÿ…ÀL‹…(ýÿÿL‹0ýÿÿu A‹Eüƒø„ŠM…À„ÿÿÿH‹µPýÿÿL‰Çè ¸üÿéìþÿÿHÇÁÿÿÿÿ1Û1öH‰ÏéOüÿÿA¼^èPHÇÀÐÿÿÿéöýÿÿH‹Ê1&H‰¥8ýÿÿ1öHBHƒàðH)ÄHD$HƒàðH‰ÇH‰…@ýÿÿè~{úÿH‹5—1&1ÒD‰ïH÷ÞH#µPýÿÿèãÈüÿHƒøÿ„6f„H‹i1&H‹µ@ýÿÿD‰ïHƒêH#•Pýÿÿè/–üÿHƒøÿ…[þÿÿHÇÀÐÿÿÿdƒ8tÈA¼BèPH‹¥8ýÿÿéKýÿÿAöÀL‰ÇL‰ö¸…*@öÇ…‰ÁÁ騉Éó¥t ·f‰¹¨t¶ˆHzAÇ@L‰þ¸(@öÇ…Í@öÇ…¹‰Á1ÒÁ騉Éó¥t ·f‰º¨t¶ˆH‹@+&Ç@üH‹½HýÿÿH½Xýÿÿ¾L‰…(ýÿÿL‰0ýÿÿèc+úÿH…ÀH‰+&L‹…(ýÿÿL‹0ýÿÿ„©H‹½XýÿÿÇ+&‹ ö*&H<8H‹Ó*&H‰=Ü*&‹9Ês‹‰ º*&‰ÉH…ÉtYHkÁL‹´*&H•*&Hƒè ‹5¶*&H‹L@øHƒè‰óHÁêƒÆ‰5œ*&IRH‰ÞHÁæHƒéL‰7D·fD‰D7f‰u¾H‹w*&¸I)ÜL9¥Xýÿÿs01ÒL‰àH÷µXýÿÿH‰Æ¸HþÿÿwHþÿv9¸1ÒH÷öH‹µXýÿÿ‰ÁH‰ÚL‰ÏèRÇð)&éûÿÿHÇÀÐÿÿÿéÿýÿÿH¸ÿÿÿÿÿÿÿI9ÄvIH‹•XýÿÿL‰àHÁêH‰Ñ1ÒH÷ñ1ÒI‰Ä¸I÷ôëf¥ƒèé=þÿÿ¤°'é+þÿÿf¥ƒèéàýÿÿ¤°éÎýÿÿL‰à1ÒHÁàH÷µXýÿÿ1ÒH‰Á¸H÷ñéWÿÿÿ‰ÐHÁàH‰…HýÿÿHkÀHƒÀHH‰…Pýÿÿé˜ùÿÿH‹µPýÿÿL‰Çè´üÿ¿¾ÐèP1Àèìòÿÿ¿èRÀúÿH‹ÙÛ%H‰H‹o,&H‰Ãff.„ATH‹g,&UH‰ýSH‹ŸHë f„H‰ÂH‹H9ÃrLH)ÃH‹BH…ÀuéH…ÛI‰Ôuu¿ðè2úÿH…ÀH‰ÂI‰D$tBHpHÇ>HÇ@¹|H‰ØH‰÷óH«H‹,&HƒÃHÁãH‰lHƒÀH‰[]A\ùHéP¾ éP¿ HƒÑ+&è\éÿÿ¹0êPºO¾ûèP¿éPèsÌ÷ÿH‹‡HH…ÀtTdH‹%H‹ H; ‘+&uHÁàH‹Hƒøÿt1óÃH;Bðs)H‹5b+&H‰ÇëH‹vL)ÇL‹L9ÇsñHƒÇHÁçH; 7sÁ1ÀÃffff.„Hƒì€=-+&uH‹+&HƒÂH‰ +&H‰ÐHƒÄÃH‹+&H‹ó*&H‹ ô*&HƒÀH9ÐweH‹9LJ1öI‰ÀI)ðI9øs7IÁàJƒ|tIƒþþ•À1ÒM…ö•Â…Â…òIƒþþ„¼M…ö„³H‹EHUÏHu¸H}ÀL…pÿÿÿ¹àML‰e€L‰M¨H‰EˆH‹EL‰­pÿÿÿ‰xÿÿÿHÇEL‰u˜D‰} H‰E°èÑßÿÿA‰Äè¹±ÿÿHƒ}¸…JH‹u˜1ÿèÃâÿÿ‹@…À…¸H…Àt ¿àÙrè³ÿH‹EH‹]ØL‹eàL‹mèL‹uðL‹}øÉÃf.„Hƒ=¸$&…?ÿÿÿHƒ=$&…1ÿÿÿHÇ $&é!ÿÿÿIkÆHƒ¸è#stH‹€à#sö€„íþÿÿ¹ØëP1ÒL‰î¿èÿßÿÿH‹È#&Hƒú†ŒHƒ=Ž$&„~¸p$sA¾ë H‹HƒÀHH…Ét IƒÆL9òwëI9Ö„ L‰ö1ÿL‰hÿÿÿèÄáÿÿL‹hÿÿÿÇ@é~þÿÿH‰þ¹ßêP1Ò¿è}ßÿÿ¹ëPº ¾ùêP¿ìPè”Â÷ÿH‹}H…ÿtãuÆ´!&èW H‹u˜1ÿè\áÿÿƒxuu¸H…Àt ¿àÙrè¢ÿ²ÿH‹u¸HƒÊÿ1ÀH‰ÑH‰÷ò®H‰ËH÷ÓH<H;}ÀthHCH‰ÚHƒàðH)ÄLl$IƒåðL‰ïèñ}úÿ€}Ït H‹}¸èbúÿH‹uÀL‰é1ÒD‰çèÁÞÿÿ¹ëPºƒ¾ùêP¿ìPèØÁ÷ÿIFH‰m"&éãþÿÿH‰Ñò®H‰ÊH÷ÒHHBHƒàðH)ÄLl$IƒåðI\L‰ïèx}úÿH‰]Àë¸H…Àt ¿àÙrèÎþ²ÿ¹¨ëP1ÒL‰î¿è:Þÿÿf.„AV1ÒAUATUH‰ýS‹·À…öt3FÿL‹‡¸H<Å1ÀDI‹JöƒDÑHƒÀH9øuæH‹E0HÀHÅà#sH‹CH…ÀtuH‹K‹yD:L9À‚¹…ötEL‹…¸1À@‰ÂI‹Ð¶ŠöÁuƒÉ‰þƒÇˆŠH‹KH‹ H‰ñ‹µÀƒÀ9ðrÈH‹C‰x1À[]A\A]A^ÃfDH‹C‹@TH<ÕH‰SèŒ%úÿH…À„˜L‹cH‰ÇA‹T$I‹4$HÁâè*|úÿI‰$H‹C‹µÀ‹xéKÿÿÿ@‰ÒL‹)HH‰ÇL4HÁçè7%úÿH…ÀI‰ÄtLH‹SL‰îH‰ÇHÁâèÜ{úÿH‹CL‰sL‰ d‹%…Àu:L‰ïè=úÿH‹C‹µÀ‹xéâþÿÿHÇCH‹E8¹ëP1Ò¿ H‹0è{Üÿÿÿ &ë¾H‰\$ðH‰l$øH‰ûHƒìd‹%…ÀuèÞúÿ1ÀH‹\$H‹l$HƒÄÃH‹- &H…ítLH‹EHƒø1wH‰|ÅHƒÀH‰E1ÀëÊÿ¨&H‹EH…ÀtHƒèH‹|ÅH‰Eè…úÿH‹EH…Àuå¸뙿˜è+$úÿH…ÀH‰±&tH‰XHÇ1ÀéqÿÿÿÿO&H‰ßè?úÿ¸éYÿÿÿDU¾$H‰åAWAVAUATSH‰ûHƒìXH‹‹WH‰ÇH‰EÀ‰UÌèÂLúÿH…ÀI‰Å„ÐH‹/&L‹{L‹%´&H…À„¹($s1ÒM‰æH‰]¸L‰m°H‰ÓM‰åI‰ÌM…öt>M;¾@r"M;¾HsA€¾x6L‰þL‰÷è‘!ýÿ…Àu'M‹vM…öuÌH‹½&HƒÃH9çM‹4$IƒÄHë¦H‰ÚI9V0H‹]¸L‹m°…•M‰ôL‹s(Iƒþþ„ñ1ÿL‰öèÆÜÿÿ‹H…É…BM…í…"D‹MÌH‹C(E1ÀH‹uÀ1ÒL‰ç¹AÉH‰$è ¢ÿÿH…ÀI‰ÄH‰C „ùHcUÌ÷Â@H‰UÀ…0‹ˆƒÁHƒ¸¸‰ˆ…QD‹EÌ1É1Ò1öH‰ÇAàˆè¬A‹Œ$À…Ét-E1íI‹„$¸D‰êH‹ÐH‹x(Hƒ¿à„ïAƒÅA9ÍrÖH‹s(1ÿèëÛÿÿÇ@è?ÜÿÿD‹uÌ‹u&Aæ…Ò…ÌM‰åëI‰ÅI‹EH…ÀuôI‹E(ö€t€M9åt*M‹m I‹E(ö€uêI‹µ€1ÉD‰òL‰ïè¦ÉÿÿM9åuÖA‹Œ$À…É„çM´$¸E1íE1Éë ¨uIƒ¿(…uAƒÅA9̓—I‹„$¸D‰êL‹<ÐA¶‡‰Âƒâ €ú uÀI‹·€H‹H…À„E1ÀL9ðuéÊL9ð„ÇIƒÀJ‹ÆH…ÀuêIHI‹‡xH9ȆIÁàHÇÎA‹Œ$ÀI‹‡€AƒÅA9ÍN‰4‚iÿÿÿE„ÉtH‹Þ&HƒÀH…ÀH‰Ð&„jH‹K@H‹S8L‰ç‹s0èÇ¿÷EÌ…’H÷EÀ…"ö­&@ÇÃÒ%…HeØ[A\A]A^A_ÉÃE1ÀH…À…Ùþÿÿé8ÿÿÿf1Ò1öè‡ËA‹Œ$Àéûýÿÿ‹ẼàA Æé&þÿÿ¹E1Àé ÿÿÿM…ä„M‹t$0L‰s(éøüÿÿL‰çèpùÿÿ…À„^ÿÿÿëL‹s(Iƒþþ„"üÿÿH‹}À¾/E1äèÇHúÿH…À…¾üÿÿéüÿÿf„öEÌ@…=ÿÿÿ¹–ëPº(¾ùêP¿JëPèiº÷ÿM‰ìH‹]¸L‹m°éküÿÿHÇC(E1öéiüÿÿI—XH9ÖH‰U¸t Hƒø†ÂHH‰ÇH‰M HÁçL‰E˜DˆMH‰U°è/úÿH…ÀI‰ÂH‹M L‹E˜D¶MtwI‹·€IÁàL‰×H‰M L‰ÂL‰E˜DˆML‰U¨è´uúÿI‹¿€H9}¸L‹U¨H‹M L‹E˜D¶ML‰ÖM‰—€tèúÿÿD¶MI‹·€L‹E˜H‹M H‹E°I‰‡xé±ýÿÿ¹YëP1Ò¾ éP¿ è=ÖÿÿL‹U¸HÇE°éiÿÿÿ¹–ëPºî¾ùêP¿ëPèC¹÷ÿA‹Œ$I‹T$0¿¨ìPI‹t$1ÀèõßÿÿéÛýÿÿ¿¾íPè‘Þÿÿ¿è÷«úÿöX&@tH‹P0H‹p¿¨ìP1Àèºßÿÿ÷EÌtAö„$uL‰çèn÷ÿÿH‹s(1ÿè³×ÿÿƒx„týÿÿ¹–ëPº@¾ùêP¿@ìPè ¸÷ÿH‹}ÀIƒÎÿE1ÿD‰øL‰ñ1öò®L‰ïH÷ÑLñH‰M¸èÉÿÿI‰ÅH‹E¸M…ítMM…ä„gI‹¼$8H…ÿ„'Hƒÿÿ„EL‰ñD‰øò®H÷ÑHƒéH‹ƒ&H9ÁHCÁHƒèI¯ÅHE¸HƒÀH‹uÀ1ÉHƒàðL‰çH)ÄLl$IƒåðL‰êè{ŠÿÿL‰mÀA€}…*úÿÿ¹€ìP1Ò¾ éP1ÿè©ÔÿÿL‰ÿè‘êÿÿA¶‡¨t)d‹%…ÒubƒàûL‰ÿAˆ‡ÿžÎ%Aö‡u,A‹Œ$ÀA¹é;ûÿÿ¹–ëPº¾ùêP¿@ìPèp·÷ÿ¹–ëPº¾ùêP¿rëPèW·÷ÿIƒ¿Hv”¹ØìP1Ò¾ éP1ÿè ÔÿÿAƒŒ$ÔéÐûÿÿI‹D$€8uJèmðÿÿH‰ÇI‰„$8H@ÿHƒøý†»þÿÿ1ÉéÃþÿÿèHðÿÿH‰ÇJ0HƒøýwçL‰ñD‰øò®H÷ÑLñéžþÿÿ¹–ëPº ¾ùêP¿,ëPè¿¶÷ÿUH‰øH‰ÕH)ÐSH‰óHƒìH‹H9Ђ‚H‹vH…ö„HT¶ÉèÈÿÿÿ„À…¦H‰ïH;H‹5«&HƒÆH…턞H‰øH)èH‰ÅHÁåHT+@H…À„ïH‹ HƒïHƒèHƒêH…ÉtãH‰=D&¸HƒÄ[]ÃHƒÀHÁàHH‹JH…Ét$H9¹H…¯H‹ '&HÇBHƒÁH‰ 0H;=ø&„`ÿÿÿHƒÄ¸[]ÃfDH‰øHÁàHTH‰øf„H9ÆsSH‹ HƒïHƒèHƒêH…ÉtçH‰=¨&¸é_ÿÿÿfD„É„þþÿÿ¹°ïPº9¾=íP¿HíPèOµ÷ÿ€HƒÄ1À[]ù°ïPºN¾=íP¿ZíPè&µ÷ÿfDUHºÿÿÿÿH¹H‰ÐH‰åAWAVAUATSH숃¯H#‡H9Ètö3&@… HeØ[A\A]A^A_ÉË´&…Ò…#H‹0H ÿH‰½xÿÿÿH Íà#sH‰M˜H‰ÈD‹`H‰¥pÿÿÿE1öH‹M˜Çr&E‰åIEHÁèHÁàH)ÄH\$H)ÄJíL|$HÁèHƒãðHÁàIƒçðH)ÄH‹HT$HƒâðH‰UÀH‰Ñ1ÒH…Àt&f.„‰ÜH‰ƒÂH‹@HƒÁH…ÀuçA‰ÖE9ô…, L‰ê1öH‰ßèÞ^úÿ1öL‰êL‰ÿèÑ^úÿ¾ÿÿÿÿ@ƒÆA9ô†pHcÆH‹UÀA€<L‹ ÂuâHºÿÿÿÿI#‘H¹H9Ê„AÆÆI‹¸AÇÜÿÿÿÿH…Àt[HPH‹@H…ÀtNf„‹€Üƒøÿt.…ÀˆXA9ĆOH˜€<uÆH‹‹€ÜHÿ9ÆMñHƒÂH‹H…Àu»I‹¹ÈH…ÿ„3ÿÿÿD‹E…À„'ÿÿÿ1Òë7A9ÄvEH˜€<uÆ‹Ü9ðpÿI‹¹ÈD‹ƒÂD9ƒìþÿÿ‰ÐH‹LNj܃øÿtâ…Ày¶¹ïPºÔ¾=íP¿xîP蕲÷ÿÇ&é¤ýÿÿfDAöÔ…Üþÿÿ€<…ÒþÿÿƒÆA9ô‡þÿÿH‹E˜L‹…xÿÿÿH‰ÙH‹uÀL‰êH‹8蟷E…ö„H‹UÀH‹…xÿÿÿL‹*I‹M0H9ÁH‰MÈ…EH‰ÐH‹•xÿÿÿI‰ßD‰e´H‰hÿÿÿE1öÇE ÿÿÿÿÇE¸A¼ÿÿÿÿÆE€ÆE¨H‰ÃDA€?…A¶…‰Áƒá€ù…ÐAö…ԅ¨„Œöó&…lI‹…H…ÀtUH‹PI‹… IUH‹@HÁè…Àt:ƒèD‰u¨D‰e M‰îI‰ÔI‰Ý‰Ã„‰ØƒëAÿăûÿuòL‰ëD‹e M‰õD‹u¨I‹•¨H…Òt I‹EHBÿÐA¶…A€@ƒàÆE¨<ƒ]¸ÿE9æEBæAƒÆD9u´†L‹kIƒÇHƒÃH‹UÈI;U0„úþÿÿ¹ïPºð¾=íP¿…íPè¹°÷ÿf„A¶…ƒà<u§Iƒ½¸„ªHÇE A¹M‹€M‹M…À„dIÈL‰ÞL‰ÀE1ÒëH‹FHƒÆAºH…Àt3H9ÈtH;xýÿÿH¸Hýÿÿ…òƒ¿ÜÿuËH‹FIƒÁHƒÆH…ÀuÍE„Ò„IƒùM•X†÷M‹xH‰XÿÿÿL‰•`ÿÿÿJ<ÍL‰Pÿÿÿè÷úÿH…ÀH‹XÿÿÿL‹PÿÿÿL‹•`ÿÿÿ„»M‹€1öM‹M…ÀtTº1öH‹} ëH…ÿt H‰<ðHƒÆ1ÿM‹HƒÂM…Àt$L9Át Aƒ¸$ÿuÕL‰ðM‹HƒÆHƒÂM…ÀuÜHÁæM9ÚHÇ0I‰…€„JL‰ßL‰Pÿÿÿèïÿÿ…À¶E€ºL‹PÿÿÿDЈU€M‰xI‹…ØH…Àtƒ¸Üÿt IÇ…ØE9æEBæAƒÆD9u´‡íýÿÿ€}¨D‰e H‹hÿÿÿD‹e´„ŠH‹uÈ1ÿè¥ÍÿÿÇ@H‰E¨èõÍÿÿƒ}¸…¿d‹%…À…D;e †-‹E E1ÀD‰eÈE1ÉÆE´M‰ÅH‰]¸H‰ÙA‰ÄD‰àH‹UÀM‰î€<M‰ÏH‹Â…"¶ƒ‰Âƒâ€ú…2Hƒ»(… M‰îM‰ÏH‰ßèH‹C H…À„H‹SH‹M˜H‰PH‹CƒiH…ÀtH‹S H‰P H‹»àè=úÿH‹»8Hƒÿÿtè+úÿH‹»Èèúÿö&@…aH‹{è úÿH‹{8ë M…ítL‰ï‹GL‹o…ÀuíèèúÿM…íuèH‹»¸è×úÿH‹»€HƒXH9Çtè¿úÿ€»ˆ9H‹»Hƒÿÿtè úÿH‹»¨HƒÿÿtèŽúÿH‰ßè†úÿAƒÄD9eȆ“M‰õM‰ùH‹M¸é¦þÿÿM9ÚL‰ÐA¹…OýÿÿéòüÿÿÆE€éÔýÿÿI‹µ¸H…ö„FüÿÿHƒ~¸¹t„ƒÀ‰ÁHƒ<ÎuôHHÁáH A‰…ÀA¹I‰¸I¸H‰M éüÿÿ€}´t+H‹¸ &HƒÀH…ÀH‰ª &„JL;5u &uL‰=l &H‹]˜Hƒ;„»H‹E¨Ç@è†Ëÿÿƒ=#&…H‹¥pÿÿÿH‹E˜é÷ÿÿH‹» èmúÿé¶þÿÿH‹U˜H‹CH‰ÑH‰é÷ýÿÿ¹ïPº¿¾=íP¿HîPèÜ«÷ÿH‹M˜H‹y‹w…ö„5H‹Fÿ‰ÂH‹Ñö‚@u"é€PÿA‰ÐN‹ÁAö€@t‰Ð…ÀuæD‹E¸‰ÂFD9Æt5…À„ãI‰È1Ò1öM‹Aö@u9ÖtA‰ÒN‰ уƒÆIƒÀ9ÆrÚ‰Wé§üÿÿ¹ïPºX¾=íP¿²íPè)«÷ÿI‹u¿˜íP1ÀèéÑÿÿéùÿÿÇþ&H‹¥pÿÿÿé)öÿÿ¹YëP1Ò¾ÅíP¿ è¸Çÿÿ¹ïPºõ¾=íP¿¨îPèϪ÷ÿ¹ïPºš¾=íP¿víP趪÷ÿ‹—H‹w1À¿ îPèpÑÿÿéÆõÿÿ‰ðéÿÿÿ1ÒféAÿÿÿH‹$ &HBÿH9…xÿÿÿ…-þÿÿHkÒHHÂP#sH…Àt7H‹ HƒêHH…ÉuHƒèëéH‹S0H‹s¿ðîP1Àè Ñÿÿé†üÿÿH‰Ñ &éæýÿÿHÇÁ &éÖýÿÿH‹5E &H…öt6ÀèH‹»H1Ò‰ÁL‰PÿÿÿƒáèCóÿÿ„ÀL‹PÿÿÿuH‹) &H‰ &L‹³@IƒþvGM…É„ M9ñ„M‰÷L+»(M9ï„ÓH‹¹&I9Å„ÏI9Æ„°M9õ‚žM‰îM‰ÏÆE´éXûÿÿƒ}¸u €}€uH‹ &H…À„ÐúÿÿHƒ8„Æúÿÿÿ³ &L‹-ô &M…í„°úÿÿI‹EH…À„£úÿÿHƒèI‹|ÅI‰Eè|ÿùÿëß¿¾ïPè‹Îÿÿ¿èñ›úÿ¹ïPº¾=íP¿ÍíPèè¨÷ÿÆE´éÀúÿÿL‰=ð&M‰îM‰ÏÆE´éªúÿÿL‰ Ú&ÆE´éšúÿÿM‰÷L+»(M…ítÂM‰îÆE´éúÿÿfffff.„Sö‡ÔH‰ûuO‹…Ét3¸H…Àt ¿àÙrèµå²ÿH‰ßè=óÿÿ¸H…Àt [¿àÙré˜å²ÿ[ÃH‹w¹úíP1Ò1ÿèÅÿÿö‡uã¹îPºÛ¾=íP¿çíPè¨÷ÿHƒì8H‰$H‰L$H‰T$H‰t$H‰|$ L‰D$(L‰L$0H‹t$@H‹|$8è+©I‰ÃL‹L$0L‹D$(H‹|$ H‹t$H‹T$H‹L$H‹$HƒÄHAÿãffffff.„Hƒì H‰$H‰D$H‰ãHƒäðHìÀH‰cH‰$L‰D$L‰L$H‰L$H‰t$ H‰|$(H‰l$0HC0H‰D$8)D$@)L$P)T$`)\$p)¤$€)¬$)´$ )¼$°H‰áH‹S0H‹s(H‹{ LCèj¦I‰ÃH‹CH‹$L‹D$L‹L$(D$@(L$P(T$`(\$p(¤$€(¬$(´$ (¼$°L‹SM…ÒyH‹L$H‹t$ H‹|$(H‰ÜH‹$HƒÄ0AÿãHs8IƒÂIƒâðL‰ÑL)ÔH‰çHÁéóH¥H‹OH‹w H‹(AÿÓH‹cHƒìPH‰áH‰H‰Q)A)I Ûy0Ûy@H‹SH‹s(H‹{ è¥H‹$H‹T$(D$(L$ Ûl$@Ûl$0H‰ÜH‹$HƒÄ0ÃdH‹%HøÿÿÿÃH‰øH‹¿@H‹°HH)þéüÿ€HƒìH‹H9ðt HƒÄÀ¸H…Àt ¿àÙrèã²ÿ¸H…ÀtÖ¿àÙrHƒÄéìâ²ÿfff.„H‰\$èH‰l$ðH‰ûL‰d$øHƒìHH‹–H‹H‹oL‹'HBI9ÄtH‹\$0H‹l$8L‹d$@HƒÄHÃ@¸H…Àt¿àÙrH‰t$èâ²ÿH‹t$H‹I9Ät"f¸H…Àt¶¿àÙrè\â²ÿëªf.„H‹Fh‹U HÇ`MH‹xH‹FpL RIÁáLHL‰L$(A¶AÀè„À„¡AöA…–H‹†ÈH…Àt$H‹@·P%ÿL@IÁàL†àA‹@…ÀuE1ÀA‹H‹Ž€HT$(A¹HÇD$Ç$HÇèN ÿÿL‹L$(M…Ét4H‹@Hƒúv;H‹EIAH)ÐH‰CHÇÐMé ÿÿÿ@H‰ðëÊH‹EH‰CHÇàMéìþÿÿH‰ÇH‰D$èo°ÿÿH‹D$L‹L$(H‹@ë¥H‹@Ãff.„H‹@dH+%ÃfHƒìHH‰$H‰|$H‰ÇH‰t$H‹t$HL‰D$L‰L$ L‰T$(L‰\$0H‰T$8H‰L$@èóýÿÿH‹$H‹|$H‹t$L‹D$L‹L$ L‹T$(L‹\$0H‹T$8H‹L$@HƒÄPÿ HƒìHH‰$H‰|$H‰ÇH‰t$H5L‰D$L‰L$ L‰T$(L‰\$0H‰T$8H‰L$@è1ýÿÿH‹$H‹|$H‹t$L‹D$L‹L$ L‹T$(L‹\$0H‹T$8H‹L$@HƒÄHgÿ L‹G0L‹OH‹W8IÁÈdL3%0IÁÉdL3 %0HÁÊdH3%0H‹L‹gL‹oL‹w L‹(‰ðL‰ÄL‰ÍÿâHÇÀ ÿÿÿ1ÒdH‹é¾fffff.„HÇÀ ÿÿÿdH‹é HÇÀ ÿÿÿ1ÒdH‹éž%fffff.„HÇÀ ÿÿÿdH‹é€%AWI‰×M‰ÁIG1ÒAVAUE1íATI‰ÌU‰õSH‰û1ÿHƒì(L‹t$hL‹D$`H‰D$HÇMVë DI‹$¶HЀù vM…öt A:„“LöKL­ƒíH¾ÀHƒÃƒÇ…íLlHÐ~)ƒÿu¼H…Ò…»M‰/@0ÿIÇ$E1íë „A‹…À~ ƒùŽHcÿH…ÒH‹ ý CO…/M‰/IÇ$HƒÄ(H‰Ø[]A\A]A^A_Ã@A¶v@„ö„t@:sL‰ÐH‰Ùt$éNÿÿÿf„D¶YHƒÀHƒÁD8Þ…/ÿÿÿ¶0I‰ÃM)ó@„öuÜLÛ¶éÿÿÿH¹è‰#ÇŠL‰ÿL‰þL‰D$L‰L$L‰$èMGøÿH‰ÁI‹I‹$H‹|$L‹D$L‹L$L‹$IÅL9èM‰/w%1ÀE1í1ÿHÁ„þÿÿI‹$I‰ ÇIƒ$é‹þÿÿHƒê„œH‹HƒÀH…ÀH«tèëÁfDH˜HcÉAÇL¯,Å COH…ÒH‹ Í CO„ÑþÿÿL‰ÿL‰þè¯FøÿH‰ÁI‹I‹$IIÅL9èM‰/w&1ÀHÁ„­þÿÿI‹$I‰ ×HƒÂI‰$é˜þÿÿfDHƒêtH‹HƒÀH…ÀH«tìëĸé-ÿÿÿ¸ë²A»é¿þÿÿff.„H‰\$àH‰l$è‰óL‰d$ðL‰l$øHƒì8ƒþ‚I‰ÌH‰ýA‰ÕD‰Á}k¸‚ÿÿÿ)ðHcØHƒû1¸D‰ÁHÓàHƒèL…à•À¶ÀA ÁHƒû„T‰ÙºH‰þD‰L$L‹'èE?øÿD‹L$KÿHÇÀÐÿÿÿ»ÿÿÿdÇ"I£Ìs%E…É„›H‹EHƒÀ©H‰E…ÔƒûtGû€~LE…í@u&ó¦ãH‹\$H‹l$ L‹d$(L‹l$0HƒÄ8ÃDó„ãëØfD©€¸‚ÿÿÿEØD‰ê‰ÞH‰ïH‹\$H‹l$ L‹d$(L‹l$0HƒÄ8é†>fDH‹E¨…]ÿÿÿºHÓâHƒêL…â„`ÿÿÿéCÿÿÿf.„HÇÀÐÿÿÿWÀdÇ!éTÿÿÿf.„¹ºH‰îH‰ïƒÃè>øÿHM€é ÿÿÿL‹'1ÀHǹM…ä•ÀA Áé¬þÿÿf„AWI‰òI‰ÈAVAUATUSHì(…ÒH‹AH‰|$8…HÇD$HHÇD$@H‹X@L‰D$(L‰T$ H‰ßèp0úÿL‹D$(L‹t$8H‰D$XL‹T$ Ç„$I‹@hIƒîf„IƒÆA¶.H¾ÕöDP uí@€ý-„» @€ý+ÇD$d„Á ¶ „É„ñ@8éHCL‰ötéD¶~HƒÀHƒÆ@8ú…û¶H‰ÇH)ß„ÒuÞA¶>wH¾í¶¨ÿÿÿ¶x@„ÿuáM9æ„„M‰çE1ÉEÐ< †×ƒ|$P„´Hƒ|$@…ßM9þM‰ýƒÌHƒ|$H„ÀH‹L$HH‹T$@L‰þL‰÷L‰D$(D‰L$0L‰T$ èüQøÿI9ÇL‹D$(D‹L$0L‹T$ „}I9Æ„ÈI9ć„ L‰â½ƒ9@¶2Mƒî0@€þ FéHƒÂH9ÐwçA‰éI‰Å1öéJf.„H¾Å‹‚ƒèa<‡:ÿÿÿfDAƒÁIƒÇA¶/é ÿÿÿ¶ I‹PpAƒùö„Ét4A8H‰ØL‰ÿt!é®fDD¶_HƒÀHƒÇD8Ù…’¶H„ÉuâL‹l$X1Ƀ|$PD‰ÍO,/A¶EtIxÐ@€ÿ ‡<0tƒþÿDñIƒÅƒÅƒÁA¶ExÐ@€ÿ ‡òëØ<0EñIƒÅƒÅƒÁA¶ExÐ@€ÿ vH¾ø¶<ºD_ŸA€ûwƒþÿuÑëÊDH¾í¶<ªD‰Í@€ÿp„ @€ÿe„£L‰èD9Í~€xÿ0HPÿ„æH‰Â…í~ A9é„ M…ÒtM‰*…í„Nýÿÿ…ö…½D‹´$ƒ|$P„f E…öˆ‰èD)ÈD9ðAOÆF A)ÆD‰ÈD‰L$HAƒø'aAƒþÔŒ‹L$HD‰´$…É¡HŒ$H´$¸ ºE1ÒH‰L$hH‰´$€HŒ$H´$ÐH‰L$xH‰t$8+l$HÆ„$ŸÇ„$Œ9ʼnl$p~ƒÂÆ„$ŸÇ„$Œ‰T$p‹T$pH‹L$8H´$ H‰œ$½ÀQOA¿H‰t$PE1íH‰óD)òH‰L$HD‰”$˜A‰Öë5DL‹mH‹EH‰ßIƒíH4ÅÈCOJíè¼SúÿE…öt\EÿHƒÅE…þtïE1þM…ítÃH‹EH‹UM‰èH‹|$HH‰ÙH4ÅÈCOHƒêè?8øÿH‹UH…ÀMlÿuIƒíH‰ØE…öH‹\$HH‰D$Hu¤I‰ÙL;L$8H‹œ$D‹”$˜„H‹T$XH‹D$@I‰ÙH‹L$xL‹„$€L‰ç‹t$pD‰T$ H‰$H‹T$8H‰D$èõÿÿIMÿD‹T$ H½œÌ H‰L$@Hƒó?…Û~7H‹t$P‰ÙL‰êH‰÷è³6øÿH‹t$8H‹”$‰ÙH‰÷èœ6øÿH…ÀD‹T$ …™ IƒýD‰”$„\Iƒý„ H‹D$@H‹”$MuþH‹L$PH‹|$8D‰T$ N‹¤ô H‹¬Ä L‰èH)ÐH4ÁèÓ5øÿ…ÀD‹T$ ŽÙ H‹„$HÇ„ÄÐHƒÀH‰„$I9ÅŽSL‰ëH)ÃE…ÒŽÜH‰ÚIcÂHÁâHHƒøfHÇ„$ÇD$H‰ØÁàFH‹„$…À~(H‹t$8HcÐHÚHÖƒèHcÈH‹ŒÌÐH‰ Hƒê…ÀuçH…Ûx7HsH‰ñHÑéHƒþH< ‡(1ÿH‹T$8HúHƒÇHÇHƒÀH9ß~ìAƒúJÇ„ì J‹ŒìÐWAuÿIE‰t$XH‰D$pA‰÷€H9éHÇÃÿÿÿÿtaH‹T$@H‹œÔÐH‰ÊH‰ØH÷õH‰ÑH‰ÃL‰àH4)H÷ãë@1ÿL9à@’ÇL)àH)úH9Êw uJ;„ôÐvHîHƒëHéH‰÷H)ïH9ývËH‹T$pH‹t$PH‰ÙH‹|$8D‰T$ èGKøÿJ;„ìÐD‹T$ tH‹t$8H‹T$PL‰éHƒëH‰÷èÏ3øÿD‹T$ H‹t$@‹D$XH‹ŒôÐ…ÀJ‰ŒìÐ~4‹t$X1ÀëD‰ÖVÿHcöƒÀHcúH‹¼üÐH‰¼ôÐD‰þ)Æ…öÙE…Ò…ÀH…Û„ÎH½Ó‹„$¾@ƒò?)Ö)Ѓþ‰„$ŽéƒÂ¹@)щT$HH‰ÚHÓêH‰”$IcÕD‰éHƒ¼ÔÐu8E…íx31öAƒí„D‰êƒé)òHcù÷ÒÁêHƒ¼üÐ@”ǃÆ@„×uÛA¸?D‹Œ$ŒD+D$H÷ÑpÿÁéA É‹T$dH‹|$hMcÀH‰ÙèéóÿÿéÞ÷ÿÿ@H‰Âƒí€zÿ0HBÿtðéúÿÿIƒÆA¶.ÇD$déBöÿÿIƒÆA¶.é2öÿÿ‹¼$…ÿ‰äùÿÿ€|$hA‰é…fDHƒê¶¾Èƒé0ƒù wî<0…¶ùÿÿ‹„$ƒíAƒéƒÀ…퉄$Ž–ùÿÿ…À‰Žùÿÿë¼@I¾FI‹Ppƒ<‚x„ÈÆD$hÆD$pÇD$P éöÿÿfD€|$p…IöÿÿA€ûf?öÿÿé+÷ÿÿóo×éÕöÿÿD¶+E¶$MT$D¶sëfDE¶IƒÂIƒÄE8ÝuïE„öt3E¶H‰ØL‰âE8ótëÝf„¶zHƒÀHƒÂ@8ùuöH„Éuçƒ|$PµD‹´$HcÖEÆHT$X)õA)ÆD‰´$IÔé³øÿÿH¾À¶<‚éSøÿÿ€|$p„RøÿÿA¶UIM€ú-„æE1ö€ú+„ÝBÐ< ‡)øÿÿ€|$h…ÂE…öEY=u A‰óE)ËAƒÃ'‹„$D€¾ÒDBÐA9É„$Œ2HƒÁ¶zÐ@€ÿ vÖE…öt ÷؉„$L‰èI‰Íé¿÷ÿÿH‹t$@H”$H„$HŒ$ÐL‰çI‰ÙH‰„$€H‰T$xH‰L$8H‰t$H‰ÑH‹D$XL‹„$€H‹T$8‹t$HH‰$è©îÿÿI‰Ä‹„$…ÀŽý L‹L$8HŒ$ H‰\$pM‰çH‹”$A½ÀQOA¾H‰L$P‰l$hL‰ËI‰ÌëDH‹”$…À„ÁEöIƒÅD…ðtäI‹mD1ð‰„$HƒíH9ÕPI‹EI‰èH‰ÞL‰çH ÅÈCOèË0øÿH‰êH”$H…ÀH‰”$u HƒêH‰”$H‰Ù‹„$L‰ãI‰Ìë…I‹EI‰ÐH‰ÙH‰êL‰çH4ÅÈCOèx0øÿë«€|$h…þÿÿéPöÿÿIMA¶UA¾éþÿÿA¶$I‹@hH¾ÊöDHu$IƒÄA¶$H¾ÊöDHtìë fIƒÄA¶$€ú0tò¾Úƒë0ƒû †"I‹HpH¾ÒIƒÄ‹‘ƒëWHcÛ‹4`QºGLŽûƒí)òA41J‰´$HÓã…íH‰œ$ŽØL‹L$Xë/HcÿIƒÄƒúŽßJýƒíHÓçH û…íH‰œ$Ž¥ƒêA¶ $H¾ùöDxuMÌA¶ $¾ùƒï0ƒÿ v®I‹xpH¾ÉIƒÄ‹<ƒïWHcÿëžI‰ÙL;L$P‹l$hH‹\$pM‰ü„ÂHrÿ‰ÐÁàH½ŒôЃñ?)È=€1 ƒø;l$H…íXÿ‰ÙÁùÁé ƒà?)ÈH˜Hƒø„3 HƒøG ½¹H´$)ÁH‰èH)ÐH‰t$hH<ÆH‹t$8èÂ-øÿH+¬$H…í~1ÀH‹T$hHÇÂHƒÀH9Åê‹T$dH‹|$hE1ÉE1À1ɉÞè5îÿÿé*òÿÿIMA¶Uéüÿÿ¹ÀPº¾ƒBOL‰÷L‰T$ è&Iúÿ…ÀL‹T$ …ãñÿÿM…Òt-I^¹ÀPº¾‡BOIƒÆH‰ßèõHúÿL‹T$ …ÀIDÞI‰‹T$d…Ò…áó3Òé¨ñÿÿM…Ò…PñÿÿéNñÿÿ¹ÀPº¾BOL‰÷L‰D$(L‰T$ èŸHúÿ…ÀL‹D$(L‹T$ …WñÿÿA€~(I~„ÌóÞÑM…Ò„GñÿÿI‰:é?ñÿÿxè‰ûƒç?HcÏÁûH…ÉHcÓ…&H‹L$8HrÿA¸?H‹ÑH‰”$1ÉHƒ¼$ÐuH‹T$8HƒÂH‹ƒÁHƒÂH…Ûtñ;l$HA¹ HcÉE1ÉH9ñAœÁH‹ŒôЋT$dpÿH¼$è¶ìÿÿé«ðÿÿHcÛIƒÄéçüÿÿH‹”$H‰„ÔÐHƒÂH‰”$éFõÿÿI‹@hHƒê¶ H¾ùöDxtî€ù0…µòÿÿ‹Œ$ƒíAƒéƒÁ…퉌$Ž•òÿÿ…ɉòÿÿ뻀|$hfD„jðÿÿH‹t$XA¶6pÐ@€þ vH¾À‹‚ƒèa<‡tïÿÿM‰÷é@ðÿÿH‹„$é:õÿÿAƒúÙ}:H‰œ$AƒÂ@éöÿÿƒ¬$@AƒúH‰œ$Žÿõÿÿ‹„$éO÷ÿÿ¸D)ЉD$HtãH‹t$h‰ÁºH‰÷èÞ*øÿ¹@+L$HH‰ØHÓèH „$ë¶1ÿé@îÿÿD‰È÷ØA9ÆAMÆéíñÿÿIƒÆA¶.ÆD$hÆD$pHÇD$HÇD$Pé<îÿÿE…öF•…@ùÿÿA‰óE)ËFƒé-ùÿÿHƒ¼$L‹¤$ H‹¬$¨ÕH‹”$ÐE1íH9ÕI‰Ö†ÎE…ÒŽ'A¿E)×t'H‹t$hºD‰ùD‰T$ H‰÷èý)øÿH‹”$ÐD‹T$ AƒÂ@AƒúúI‰ÕE1öM‰á1ɾ@I÷Ù€I9í„þL‰êL‰ðH÷õH‰ÃI‰ÕL‰àH÷ãI|-DL9ꇗH…À…~I‰ÎI)ÆIÕE…Ò…¤H…Û„ÐH½Ó‹„$‰÷ƒò?)×)Ѓÿ‰„$ŽéDz¹@H‰ÚD)ùHÓêH‰”$M…í„ÌA¹A¸?pÿE)øéÈõÿÿDL9ê…yÿÿÿ€HïHƒëIíI‰øI)èL)àHƒÚL9ņ@ÿÿÿéMÿÿÿAƒúÙ}ZH‰œ$AƒÂ@éùþÿÿMõs|M)åI‰ÎHÇÃÿÿÿÿMæIƒÕéÿÿÿƒ¬$@AƒúH‰œ$ŽÁþÿÿ‹„$éHÿÿÿDA¿E)×täH‹t$hD‰ùºH‰÷èX(øÿ¹@H‰ÞD)ùHÓîH ´$ë·1ÒM…äL‰à•ÂHÇÃÿÿÿÿH)ÐH‰ÂL‰ÈévþÿÿH‹¬$ÐH‹Œ$ 1ÿA¸@H‰êH‰øH÷ñE…ÒumH…ÀtL½à‹´$D‰ÃAƒô?D)ãD)æƒû‰´$ŽEAƒÄ¹@H‰ÃD)áH‰ÕHÓèH‰„$E1ÉA¸?H…íA•ÁE)àƒîD Œ$Œé@ôÿÿAƒúÙ}GH‰„$AƒÂ@éqÿÿÿƒ¬$@AƒúH‰„$ŽWÿÿÿH‰ÃH‰ÕE1ä‹´$ëšf.„A¼H‰ÃH‰ÕE)ÔE…ä~ÙH‹t$hD‰áºH‰÷è'øÿ¹@H‰ÞD)áHÓîH ´$묋T$dH¼$E1ÉE1À1Éè–çÿÿé‹ëÿÿ¹H‰øA¹)ÑA¸?HÓèJ=‹T$dH ØHÓçH‰„$H‰ùH¼$èSçÿÿéHëÿÿ€|$h„ƒëÿÿé´êÿÿH‹|$8HÁâL‰ÎèšBúÿH‹”$é øÿÿL‹¬$ØL‹´$ÐE1ÿéyüÿÿH9ÖLAÿ+H‹´ÔЉùHÓîH‰´$H‰ÖéËùÿÿH´$HÁâ‰D$ H‰t$hH‹t$8H‹|$hè'BúÿD‹T$ ¹ºVUUUD‹´$D)щÈÁù÷ê)ÊBéšíÿÿM9æ„òéÿÿA€ûp…èéÿÿé³êÿÿM…Ò„$êÿÿH‹T$8WÀI‰éTêÿÿ…À‰Âë!f‰ÂBÿHcÒHcÈ…ÀH‹ŒÌÐH‰ŒÔÐuáJÇ„ì J‹ŒìÐÇD$Hé5ðÿÿ€¼$Ÿ…&üÿÿE1ÉM…öA•Áéüÿÿƒ|$dHÇÀÐÿÿÿdÇ"„øÿÿóVÊéÇéÿÿL‹¬$DKH‹´ÔÐA»@I‰ÒA)ËMcÉIƒíI‰ô‰ùƒÃIÓìHcËI)ÒH‹´ÌÐD‰ÙI‰öIÓæM æN‰´ÔM‰ÊIƒÁIIÿL9é|ÃI)ÒM…ÒzþÿÿéhþÿÿH´$HéH‰t$hH‹D$h¾H)ÖH<ðH‹t$8èí$øÿH‹”$HkÊøH÷ÚH…ÒH‰„ ŽÀöÿÿ1ÀH‹L$hHÇÁHƒÀH9Ð|êé£öÿÿ1ÀH…ÿfïÀ„ÉîÿÿL‹D$8H‰ÂHƒÀHÁâH9ÈfArêH9þ…§îÿÿé¿îÿÿH‹t$8H‹|$PJíD‰T$ è @úÿD‹T$ éÅìÿÿI‹HpH‰ûHƒÃ¶PЀú vñH¾Ð‹‘ƒêa€úvâ<_tÞ<)…÷ÿÿH´$øHƒÇ1É1ÒL‰T$ èôó÷ÿH9œ$øL‹T$ „&ó±ÈH{éÊöÿÿ¸D)ЉD$H„œíÿÿH‹t$h‰ÁºD‰T$ H‰÷èE#øÿD‹T$ éyíÿÿI‰Å1öE1Éé.êÿÿIƒì€|$hLDd$8L‰d$8L‰àémçÿÿkÓÀÇD$H”$éJíÿÿABÀE1ÿ‰„$éüøÿÿ‹„$I‰Õ1ÛE1öéŸùÿÿ‹„$1Ûéïÿÿ½H´$H‰èH)ÐH‰t$hHÁâH<ÆH‹t$8è¼>úÿH+¬$1ÀH9èìôÿÿH‹T$hHÇÂHƒÀëäH‹t$@M‰ô¶>@€ý0tG@„ÿtMA:<$…5æÿÿH‹t$@ID$ëD¶HƒÆHƒÀE8Ù…æÿÿD¶NI‰ÃM)ãE„ÉuÛIƒëMÜIƒÄA¶,$ë¨IƒËÿëìHÇÀÐÿÿÿdÇ"éXæÿÿHÇÀÐÿÿÿdÇ"éÐôÿÿ÷ÚDR@é»öÿÿƒþÿtHÇÀÐÿÿÿE…ödÇ"tKƒ|$d¸€u1ÀHƒÁ¶ƒê0€ú vñ‰D$M…ÒóD$„>æÿÿI‰ ‰D$é2æÿÿE‰âA÷ÚAƒÂ@é úÿÿƒ|$d¸€t·¸€ÿë°÷ÚDR@éÀøÿÿ%ÿÿº@t‰ÂÊ€‰T$óD$é¿ýÿÿH‹PPH‰T$H¶ƒê€ú}‡ØãÿÿH‹pHH‰t$@€>…ØãÿÿéÁãÿÿH‹t$@L‰øëD¶HƒÆHƒÀD8ß…æÿÿ¶>I‰ÃM)û@„ÿuÝO|ÿ鮿ÿÿfH‰Ñ1ÒéVãÿÿAWI‰×M‰ÁIG1ÒAVAUE1íATI‰ÌU‰õSH‰û1ÿHƒì(L‹t$hL‹D$`H‰D$HÇMVë DI‹$¶HЀù vM…öt A:„“LöKL­ƒíH¾ÀHƒÃƒÇ…íLlHÐ~)ƒÿu¼H…Ò…»M‰/@0ÿIÇ$E1íë „A‹…À~ ƒùŽHcÿH…ÒH‹ ý CO…/M‰/IÇ$HƒÄ(H‰Ø[]A\A]A^A_Ã@A¶v@„ö„t@:sL‰ÐH‰Ùt$éNÿÿÿf„D¶YHƒÀHƒÁD8Þ…/ÿÿÿ¶0I‰ÃM)ó@„öuÜLÛ¶éÿÿÿH¹è‰#ÇŠL‰ÿL‰þL‰D$L‰L$L‰$è-&øÿH‰ÁI‹I‹$H‹|$L‹D$L‹L$L‹$IÅL9èM‰/w%1ÀE1í1ÿHÁ„þÿÿI‹$I‰ ÇIƒ$é‹þÿÿHƒê„œH‹HƒÀH…ÀH«tèëÁfDH˜HcÉAÇL¯,Å COH…ÒH‹ Í CO„ÑþÿÿL‰ÿL‰þè%øÿH‰ÁI‹I‹$IIÅL9èM‰/w&1ÀHÁ„­þÿÿI‹$I‰ ×HƒÂI‰$é˜þÿÿfDHƒêtH‹HƒÀH…ÀH«tìëĸé-ÿÿÿ¸ë²A»é¿þÿÿff.„H‰\$àH‰l$è‰óL‰d$ðL‰l$øHƒì8þÀÿÿI‰ÌH‰ýA‰ÕD‰Á}k¸Àÿÿ)ðHcØHƒû@N¸D‰ÁHÓàHƒèL…à•À¶ÀA ÁHƒû@„A‰ÙºH‰þD‰L$L‹'è"øÿD‹L$KÿHÇÀÐÿÿÿ»ÀÿÿdÇ"I£Ìs@E…É„¸H‹EHPH9ÐH‰Uvg¹ºH‰îH‰ïƒÃèÏøÿH¸€H Eû@~LE…íu$ÙnÂH‹\$H‹l$ L‹d$(L‹l$0HƒÄ8ÃDÙNÂëÚ„ûÀÿÿu·H…Ò¸ÀÿÿHØD‰ê‰ÞH‰ïH‹\$H‹l$ L‹d$(L‹l$0HƒÄ8éx„H‹E¨…@ÿÿÿºHÓâHƒêL…â„^ÿÿÿé&ÿÿÿf.„HÇÀÐÿÿÿÙîdÇ!éMÿÿÿL‹'1ÀHǹ?M…ä•ÀA Áé¿þÿÿf„AWI‰òI‰ÈAVAUATUSHì(…ÒH‹AH‰|$0…HÇD$PHÇD$8H‹X@L‰D$ L‰T$H‰ßè`úÿL‹D$ L‹t$0H‰D$XL‹T$Ç„$I‹@hIƒîf„IƒÆA¶.H¾ÕöDP uí@€ý-„¨@€ý+ÇD$l„«¶ „É„@8éHCL‰ötéD¶~HƒÀHƒÆ@8ú…¶H‰ÇH)ß„ÒuÞA¶>DEÐ< †ÿÿÿH‹&VH¾í¶¨M…ÒtÈH‹l$0ÙîI‰*HÄ([]A\A]A^A_ÃDD¶OHƒÀHƒÇD8Î…6ÿÿÿ¶p@„öuáM9æ„M‰çE1ÉEÐ< †Ïƒ|$H„ªHƒ|$8…ÓM9þM‰ýƒÄHƒ|$P„¸H‹L$PH‹T$8L‰þL‰÷L‰D$ D‰L$(L‰T$èì0øÿI9ÇL‹D$ D‹L$(L‹T$tyI9Æ„áI9ćU L‰â½ƒD„¶2Mƒî0@€þ FéHƒÂH9ÐwçA‰éI‰Å1öé:H¾Å‹‚ƒèa<‡Dÿÿÿ„AƒÁIƒÇA¶/éÿÿÿ¶ I‹PpAƒùö„Ét4A8H‰ØL‰ÿt!é©fDD¶_HƒÀHƒÇD8Ù…¶H„ÉuâL‹l$X1Ƀ|$HD‰ÍO,/A¶EtIxÐ@€ÿ ‡ð<0tƒþÿDñIƒÅƒÅƒÁA¶ExÐ@€ÿ ‡ÊëØ<0EñIƒÅƒÅƒÁA¶ExÐ@€ÿ vH¾ø¶<ºD_ŸA€ûwƒþÿuÑëÊH¾í¶<ªD‰Í@€ÿp„j @€ÿe„€L‰èD9Í~€xÿ0HPÿ„ãH‰Â…í~ A9é„M…ÒtM‰*…í„cýÿÿ…ö…¦D‹¬$ƒ|$H„S E…íˆþ ‰èD)ÈD9èAOÅF A)ÅD‰ÈD‰L$@AD=EþAýªìÿÿŒ¨‹T$@D‰¬$…Ò|H”$H´$L¼$À¸¹ÇD$0H‰T$HH”$H‰´$€H‰T$x+l$@Æ„$ŸÇ„$Œ9ʼnl$p~ƒÁÆ„$ŸÇ„$Œ‰L$p‹T$pHŒ$ E1ÒH‰œ$½ÀQOL‰|$`H‰L$PH‰L$@A¾D)êL‰ÓA‰Õë6H‹]H‹EH‹|$@HƒëH4ÅÈCOHÝèÁ2úÿE…í„›EöHƒÅE…õtëE1õH…Ût½H‹EH‹UI‰ØH‹L$@H‹|$`H4ÅÈCOHƒêè>øÿH‹UH…ÀH\ÿ„™H‹D$@H‹t$`H‰D$`H‰t$@ë•fDH‰Âƒí€zÿ0HBÿtðéþÿÿIƒÆA¶.ÇD$léUúÿÿIƒÆA¶.éHúÿÿ‹¼$…ÿ‰êýÿÿ€|$@A‰é…" @Hƒê¶¾Èƒé0ƒù wî<0…¾ýÿÿ‹„$ƒíAƒéƒÀ…퉄$Žžýÿÿ…À‰–ýÿÿë¼I¾FI‹Ppƒ<‚x„Ä ÆD$@ÆD$`ÇD$H é1úÿÿ€|$`…kúÿÿA€ûfaúÿÿDéKûÿÿÙîÙàéûÿÿD¶+E¶$MT$D¶sëDE¶IƒÂIƒÄE8ÝuïE„öt+E¶H‰ØL‰âE8ótëݶzHƒÀHƒÂ@8ùu˶H„Éuçƒ|$HµD‹¬$HcÖEÆHT$X)õA)ÅD‰¬$IÔéÓüÿÿH¾À¶<‚évüÿÿ€|$`„uüÿÿA¶UIM€ú-„óE1ö€ú+„ÝBÐ< ‡Lüÿÿ€|$@…Ù E…öE™ƒu A‰óE)ËAÃE‹„$€€¾ÒDBÐA9É„$ŒªHƒÁ¶zÐ@€ÿ vÖE…öt ÷؉„$L‰èI‰ÍéÚûÿÿL9|$@I‰ÚH‹œ$„÷H‹L$8H‹t$XI‰ÙL‹„$€L‰úL‰çL‰T$H‰L$H‰4$H‹L$x‹t$pèðòÿÿL‹T$IjÿH½œì H‰l$8Hƒó?…Û~5H‹t$PL‰Ò‰ÙH‰÷èøÿH‹”$‰ÙL‰þL‰ÿèjøÿH…ÀL‹T$…I‹D$0Iƒú‰„$„H Iƒú„ñ H‹”$H‹l$PL‰ÐH‹L$8MrþL‰ÿL‰T$H)ÐN‹¬ô HtÅL‹¤Ì èŸøÿ…ÀL‹T$ŽH‹„$HÇ„ÄÀHƒÀH‰„$I9ÂŽCL‰ÓH)Ã|$0ޝHcD$0H‰ÚHÁâHHƒø@DHÇ„$ÇD$`‰ØÁàD$0H‹„$…À~&HcÐHÚI׃èHcÈH‹ŒÌÀH‰ Hƒê…ÀuçH…Ûx6HsH‰ñHÑéHƒþH< ‡³1ÿIÿ@HƒÇHÇHƒÀH9ß~ìƒ|$0@JDŽԠJ‹ŒÔÀÞABÿIRL‰|$@M‰×‰D$XH‰T$p‰ÅL9áHÇÃÿÿÿÿtfH‹t$8H‰ÊH‹œôÀH‰ØI÷ôH‰ÑH‰ÃL‰èJ4!H÷ãëfD1ÿL9è@’ÇL)èH)úH9ÑrH9ÊuJ;„ôÀvLæHƒëLáH‰÷L)çI9üvÈH‹T$pH‹t$PH‰ÙH‹|$@è(øÿJ;„üÀtH‹t$@H‹T$PL‰ùHƒëH‰÷èžøÿH‹t$8‹D$XH‹ŒôÀ…ÀJ‰ŒüÀ~7‹t$X1Àë f„‰ÖVÿHcöƒÀHcúH‹¼üÀH‰¼ôÀ‰î)Æ…öÚƒ|$0…oH…Û„¾H½Ó‹„$¾@ƒò?)Ö)Ѓþ@‰„$ŽGƒÂ@¹@M‰ú)щT$`H‰ÚHÓêH‰”$IcÒD‰ÑHƒ¼ÔÀu4E…Òx/1öAƒê@D‰Òƒé)òHcù÷ÒÁêHƒ¼üÀ@”ǃÆ@„×uÛA¸?D‹Œ$ŒD+D$`÷ÑpÿÁéA É‹T$lH‹|$HMcÀH‰ÙèÙñÿÿéÅõÿÿHŒ$H´$H‹T$XH‹D$8L¼$ÀL‰çH‰Œ$€H‰t$xI‰ÈH‰ñ‹t$@H‰$I‰ÙL‰úH‰D$èôîÿÿI‰Ä‹„$…ÀŽM L‹Œ$HŒ$ ‰l$0L‰d$`A½ÀQOA¾H‰L$PL‰ýH‰\$HL‰ÊI‰ÌëH‹”$…À„áEöIƒÅD…ðtäI‹]D1ð‰„$HƒëH9ÓPI‹EI‰ØH‰îL‰çH ÅÈCOèûøÿH‰ÚH”$H…ÀH‰”$u HƒêH‰”$H‰é‹„$L‰åI‰Ìë…I‹EI‰ÐH‰éH‰ÚL‰çH4ÅÈCOè¨øÿë«€|$@… úÿÿéƒöÿÿH‹D$@H‹T$`HƒëH‰T$@H‰D$`éõ÷ÿÿIMA¶UA¾éúÿÿA¶$I‹@hH¾ÊöDHu'fDIƒÄA¶$H¾ÊöDHtìë fIƒÄA¶$€ú0tò¾Úƒë0ƒû †I‹HpH¾ÒIƒÄ‹‘ƒëWHcÛ‹4ÀQº?GLûƒí)òA41J‰´$HÓã…íH‰œ$Ž}L‹L$Xë/HcÿIƒÄƒúŽJýƒíHÓçH û…íH‰œ$ŽJƒêA¶ $H¾ùöDxuMÌA¶ $¾ùƒï0ƒÿ v®I‹xpH¾ÉIƒÄ‹<ƒïWHcÿëžI‰ëL;\$PI‰Ñ‹l$0H‹\$HL‹d$`„ðIQÿD‰ÈÁàH½ŒÔÀƒñ?)È=@‰D$0X ƒø@q;l$@…Öhÿ¸@‰Æ‰ê‰èÁú÷þHcÒHƒú?„O Hƒú>¨ »H´$¹?H‰Ø)ÑL‰ÊL)ÈH‰t$HH<ÆL‰þèÆ øÿH+œ$1ÀH9ØøH‹T$HHÇÂHƒÀëäIMA¶Uéøÿÿ¹ÀPº¾ƒBOL‰÷L‰T$èF(úÿ…ÀL‹T$…òÿÿM…Òt-I^¹ÀPº¾‡BOIƒÆH‰ßè(úÿL‹T$…ÀIDÞI‰ƒ|$l…¢ÙV±éâñÿÿM…Ò„‹ñÿÿI‰éƒñÿÿ¹ÀPº¾BOL‰÷L‰D$ L‰T$è¿'úÿ…ÀL‹D$ L‹T$…ñÿÿA€~(I~„ Ù±M…Ò„€ñÿÿI‰:éxñÿÿDHÀD‰ÎAƒá?IcÉÁþH…ÉHcÞ…›I‹ßHsÿA¸?H‰”$Hƒ¼$À…§ IƒÇ1Ò€I‹ƒÂIƒÇH…Étñ;l$@A¹ HcÒE1ÉH9òAœÁH‹ŒôÀ‹T$lpÿH¼$èôìÿÿéàðÿÿHcÛIƒÄéõüÿÿH‹”$H‰„ÔÀHƒÂH‰”$é–÷ÿÿ€|$@„çðÿÿH‹t$XA¶6pÐ@€þ vH¾À‹‚ƒèa<‡ñïÿÿM‰÷é½ðÿÿI‹@hHƒê¶ H¾ùöDxtî€ù0…›òÿÿ‹Œ$ƒíAƒéƒÁ…퉌$Ž{òÿÿ…ɉsòÿÿë»H‹„$é’÷ÿÿ@~~½@M‰ú‰è+D$0‰D$`t2H‹t$H‰ÁºL‰|$H‰÷è1 øÿ‰é+L$`H‰ØL‹T$HÓèH „$‹„$éŒùÿÿ@ƒ¬$@ƒ|$0@H‰œ$ŽøÿÿM‰úëЄH‰œ$ƒD$0@éô÷ÿÿD‰È÷ØA9ÅAMÅéýñÿÿIƒÆA¶.ÆD$@ÆD$`HÇD$PÇD$Hé\îÿÿ1ÿé îÿÿE…öF=@…/õÿÿA‰óE)ËF@éõÿÿ‹T$lH¼$E1ÉE1À1Éè!ëÿÿé ïÿÿHƒ¼$L‹¤$ H‹¬$¨­H‹”$ÀE1íH9ÕI‰Ö†¦ƒ|$0Ž-A¿@D+|$0tH‹t$HºD‰ùH‰÷èéøÿH‹”$ÀƒD$0@ƒ|$0@ßI‰ÕE1öD‹D$0M‰á1ÉI÷Ù¾@L‰ïH9ï„=H‰úL‰ðH÷õH‰ÃH‰×L‰àH÷ãL/@H9ú‡ŸH…À…†I‰ÎI)ÆH×Aƒø…¨H…Û„H½Ó‹„$A‰ðƒò?A)Ð)ÐAƒø@‰„$ŽDDz@¹@H‰ÚI‰ýD)ùHÓêH‰”$M…í„ÝA¹A¸?pÿE)øéá÷ÿÿfDH9ú…qÿÿÿ€IêHƒëHïM‰ÓI)ëL)àHƒÚL9݆8ÿÿÿéEÿÿÿ޽@I‰ýD‰D$0A‰ïE)Çt(H‹t$HD‰ùºH‰÷è“øÿ‰éH‰ØD)ùHÓèH „$‹„$éVÿÿÿ@L÷sLL)çI‰ÎHÇÃÿÿÿÿMæHƒ×éÝþÿÿƒ¬$@Aƒø@H‰œ$Ž‚þÿÿI‰ýë³H‰œ$AƒÀ@éiþÿÿ1ÒM…äL‰à•ÂHÇÃÿÿÿÿH)ÐH‰ÂL‰ÈégþÿÿH‹¬$ÀH‹Œ$ ‰Æ1ÿA¸@H‰êH‰øH÷ñƒþuvH…À„¾L½à‹´$D‰ÃAƒô?D)ãD)æƒû@‰´$Ž\H‰ÃAƒÄ@¸@D)àH‰ÕH‰Ú‰ÁHÓêH‰”$E1ÉA¸?H…íA•ÁE)àƒîD Œ$ŒéDöÿÿ~wA½@H‰ÃH‰ÕE‰ìA)ôE…ä~+H‹t$HD‰áºH‰÷è3øÿD‰èH‰ÞD)à‰ÁHÓîH ´$‹´$ë@ƒ¬$@ƒþ@H‰„$ŽÿÿÿH‰ÃH‰ÕE1äëÏ@H‰„$ƒÆ@éöþÿÿ€|$@„Íëÿÿéëÿÿ¸H‰ýA¹)ÐA¸?‰ÁHÓíJ=‹T$lH‰èHÓçH ØH‰ùH¼$H‰„$èUçÿÿéAëÿÿL‹¬$ÈL‹´$ÀE1ÿéüÿÿHÕL‰ÞL‰ÿèu!úÿL‹Œ$éð÷ÿÿH´$JÍH‰t$HH‹|$HL‰þèF!úÿºB+T$0¹D‹¬$‰ÐÁú÷ù‰ÁAéÃíÿÿH9ÚLAÿ×H‹”ÜÀD‰ÉH‰ÞHÓêH‰”$éPùÿÿM9æ„úéÿÿA€ûp…ðéÿÿé»êÿÿ‹T$lH‹|$HE1ÉE1À1ɉîèsæÿÿé_êÿÿM…Ò„êÿÿH‹D$0ÙîI‰éGêÿÿ…À‰Â ë%fD‰ÂBÿHcÒHcÈ…ÀH‹ŒÌÀH‰ŒÔÀuáJDŽԠJ‹ŒÔÀÇD$`éCòÿÿ€¼$Ÿ…üÿÿE1ÉM…öA•Áé üÿÿL‹¬$~H‹”ÜÀA»@I‰ÚA)ËHcÿIƒíƒÆI‰ÔD‰ÉHcÖIÓìD‰ÙH‹”ÔÀI)ÚI‰ÖIÓæM æN‰´ÔI‰úHƒÇHOÿL9é|ÂI)ÚH‰ÞM…Ò$øÿÿé¹þÿÿƒ|$lHÇÀÐÿÿÿdÇ"„^÷ÿÿÙ¸¨é@éÿÿ1ÀH…ÿfïÀ„>ñÿÿH‰ÂHƒÀHÁâH9ÈfArêH9÷…!ñÿÿé8ñÿÿH´$¸JÁL)ÈL‰ÊH<ÆH‰t$HL‰þè•øÿH‹”$HkÊøH÷ÚH‰„ 1ÀH9ÐHþÿÿH‹L$HHÇÁHƒÀëäH‹|$PJÕL‰þL‰T$èöúÿL‹T$éåîÿÿI‹HpH‰ûDHƒÃ¶PЀú vñH¾Ð‹‘ƒêa€úvâ<_tÞ<)…ÈöÿÿH´$øHƒÇ1É1ÒL‰T$èÜÒ÷ÿH9œ$øL‹T$„£Ù›§H{é’öÿÿ¸@+D$0‰D$`„½ïÿÿH‹t$H‰ÁºL‰T$H‰÷è.øÿL‹T$éšïÿÿI‰Å1öE1Ééêÿÿ‹„$1Ûé‰ñÿÿkÓÀÇD$`”$éyïÿÿ‹„$I‰Õ1ÛE1öéÀùÿÿ‹D$0E1ÿƒè@‰„$éìøÿÿIƒì€|$@LDd$0L‰d$0éçÿÿH„$»L‰þH‰D$HH‹T$HH‰ØL)ÈH<ÂJÍèžúÿH+œ$1ÀH9ذüÿÿH‹L$HHÇÁHƒÀëä÷ÚƒÂ@‰T$0éJ÷ÿÿD‰æ÷ÞƒÆ@é5ûÿÿM‰ô@€ý0t2H‹t$8L‰àëD¶HƒÆHƒÀD8Ï…æÿÿ¶>I‰ÁM)á@„ÿuÝOd ÿIƒÄA¶,$ë½÷ÚDB@é¢ùÿÿHÇÀÐÿÿÿdÇ"éLæÿÿHÇÀÐÿÿÿdÇ"éôÿÿH¾ÿÿÿÿÿÿÿ1Ò¹ÀH…ðtH‰Á‰ÂHÁé ɀDŽ$èÿ‰Œ$䉔$àÛ¬$àéþÿÿƒþÿtHÇÀÐÿÿÿE…ödÇ"„¢ƒ|$l…ŽÙîHƒÁ¶ƒè0< vòM…Ò„ýåÿÿI‰ éõåÿÿH‹PPH‰T$P¶ƒê€ú}‡äãÿÿH‹pHH‰t$8€>…äãÿÿéÍãÿÿH‹t$8L‰øëD¶HƒÆHƒÀD8ß…æÿÿ¶>I‰ÃM)û@„ÿuÝO|ÿ鲿ÿÿ1ÒénôÿÿÙîÙàékÿÿÿƒ|$lu Ùá¤éYÿÿÿÙÚ¤éNÿÿÿH‰Ñ1Òé6ãÿÿƒÆH‹Áâ@¶öÁæ%ÿÿ ò ‰T$üóD$üöD$ñÁâfÆÿ?fæÿƒà ЈD$ñ·D$ðf%€ ðf‰D$ðH‹‰D$èHÁè ‰D$ìÛl$èÃSfƒ?H‰ûxJH‹—ˆdL‹%L9Bt0¾1Àƒ=Ò¾%t ð±2…þë ±2…óH‹“ˆL‰BƒB1ɺ1öH‰ßè[~þÿH‰Â‹HƒúÿtöÄu+f…ÀxH‹›ˆ‹Cƒè…À‰Ct2fHƒúÿtJH‰Ð[ÃD‹³À…öËH‹KHH+KXHÊë¾f„HÇCƒ=1¾%tðÿ u}ëÿ uwë²fHÇÀÐÿÿÿd‹…Éu¨dÇëŸfƒ;H‰Æx0H‹“ˆ‹Bƒè…À‰BuHÇBƒ=ݽ%tðÿ uDëÿ u>H‰÷è˜ÀH:Hì€èÉeüÿHÄ€éòþÿÿH;Hì€èÞeüÿHÄ€énÿÿÿH:Hì€èÃeüÿHÄ€ëªL‰d$øI‰ÔH‰\$èL¯æH‰l$ðHƒìH‰õH‰ÓM…äu1ÛH‰ØH‹l$H‹$L‹d$HƒÄÃH‰þL‰âH‰ÏèBFùÿI9ÄtÔ1ÒH÷õH‰ÃëÊHƒì(H‰<$‰t$¿eMH‰æH‰T$è„þÿ‰Â1À…ÒuH‹|$è`ÆüÿH‹|$èƒþÿH‹D$HƒÄ(Ãfff.„SH‰ûHƒì‹w÷Æðîÿ¿uCH‹WH‹?¸‡óPL‹ ‚¾%D‹s¾%H…ÿHDøH‹­¨%΀1ÉH‰$è˜ÿÿH‰CHƒÄ[ú¾Q¿¤Pè†^÷ÿ1ÒH‰Á1ö1ÿèxyÿÿHƒìH‰þ¿0fMè?ƒþÿƒøÀHƒÄ÷ÐÃéë³ÿÿS¸Hƒì H…ÀH‰T$H‰<$H‰t$t ¿àÙrè™™²ÿH‰æ¿ fM1Ûèê‚þÿ…À¸HD\$H…Àt ¿àÙrèn™²ÿH‰ØHƒÄ [ÃDSH‰ûH‹WH‹wH‹?è€~t*H‰ßè"óùÿH…Àt+ÆHƒÀH‰EH‰ØH‹l$H‹\$HƒÄö H‰Ø8ÊtÙ„ÉuHÇEëÖ„H{¾òèéùÿë°H‰øëHƒÀ‹9òt…Òuò1ÀóÃ1ÒfD‹‹ …ÀtHƒÂ9Ètî)ÈÉÈ÷ØÃAUH¹W)QΠÈEATUH‰ÕSH‹H‰ØH÷éH‰ØHÁø?H‰ÑHÁù H)ÁHiÁ€QH)ÃHÞy/@HƒéHÆ€QxóHþQ~f.„Hî€QHƒÁHþQìH‰ðHº|ójâYÑHHYH÷êH‰ðHÁø?HÁú H)‰UHiÒH)ÖHº‰ˆˆˆˆˆˆˆH‰ðH÷êH‰ðHÁø?HòHÁúH)ÂH•‰UHÁâH)ÂH‰ØH)ÖHº%I’$I’$IH÷êH‰Ø‰uHÁø?HÑúH)ÂHÕH)ÐH)Åۉ؉]ˆì¾²I» ×£p= ×£H»ç3Îl>ã,é¿fDH‰ðI‰ðI÷ëIÁø?HòH‰ÐHÁøL)ÀH€H€HÁàH9ÆuHÁúL)ÂH’H€HÁàH9Æ…‡¸nH9ȇH‰ÈI‰ÊI‰ðH÷ëH‰ÈHÁø?HÁúH)ÂHÒHÂL €M)ÊM‰ÑLVIÁé?L)ÊIƒèL‰ÀMIÐL 2I÷ëL‰ÀIÁúHÁø?IyÿI‰ÅLÂI‰ÔHÁúIÁüH)ÂM)åI)ÄO$¤MêI M‰ÂO$¤HÑIÁäM)âM‰ÔI‰ÂIÁê>IÁì?KLáƒàL)ÐHÁè?H)ÁH’H€HÁàI)ÀH‰øI÷ëIÁè?L)ÁI‰øIÁø?L‰ÀHúI‰ÒHÁúIÁúL)ÂL)ÐHÁIAHÑH…ÿHIÇL)ÎHÁøH)ÁL‰ÐI‰úL)ÀIÁè>H€H€HÁàI)ÂL‰ÐHÁè?HÁJƒàL)ÀHÁè?HÁHöH4ÆH’H€H4¶HÁàHñL‰ÎH)ÇHÁï?H)ùH…Ɉ“þÿÿH‰÷ƒç„2þÿÿ¸mH9ÈŽyþÿÿ†”øÿÿH–”øÿÿ‰EH˜H9ÐtHÇÀÐÿÿÿdÇK1À[]A\A]ÃfDH…ÿ‰MuQH‰ðHº ×£p= ×£H‰óH÷êHÁû?HòH‰ÐHÁøH)ØH€H€HÁàH9Æ…‚HÁúH)ÚH’H€HÁàH9Ætj1ÛHà Qº ¾ ·CH9Á|H)Á‰uA‰E ¸[]A\A]ÃHƒê·SH9ÈóH)Á‰ÖA‰u‰E ¸ëÔfDƒÀ‰Eé ýÿÿ»ë‘AT1ÀE‰ËA¼…ëQA‰ÒMcÀUHcÉMcÒSH‰ûHÁûÃÛ@öÇ”ÀAÁû)ÃAÃÛ1ÀAöÁMcÉ”ÀL)ÏA)ÉØA÷ì‰ØÁøÁú)‰Ø,’l­)è‰ÅD‰ØÁí)ê‰ÕA÷ìD‰ØÁøÁú)ÂD‰ØD$’G$¤D)àA‰ÄHcD$8AÁìD)âI)ÀHcD$0H)ÁHcD$(I)ÂHcD$ H)ÆHÿHÇH€HƉèÁø)èD)ÛÓÁú)ÓHcÛHH[[IÂ]H…HÁàA\H)ÐHÁHHÁáH)ÁIÃf.„AWAVAUATUH‰õ¾«ªª*SH‰ûHìH‹‹OH‰”$ˆ‹WD‹G ‰D$x‹G ‰Œ$‹O‰”$”1Ò…À•ÂÁø ‰ȉT$@÷î‰ÈÁø‰ÖHcSÑþ)Ɖð4@Áæ)ñ‰Ï‰ÎÁï)øH˜HH‰ÑH‰T$8ƒá„1À?H˜McÀÇD$|<:H4¾H‹|$xHH‹”$ˆHcöH40H‹·„6 QH‰”$€ƒè…ÿH˜NL‰D$`ˆ¬ƒ|$x;HÇD$H;ÇD$|;ŽˆH‹D$8º…ëQHc´$Hc¼$”L¤$ðL¬$8H‰œ$¨HÁøÛH‰t$h‰D$01ÀH…É”À)D$0H‰|$X‹D$0‹L$0E1ö÷ê‹D$0ÁúÁø)Â’€)Á‰È‹L$0Áè)ÂH‹D$8‰T$DÁú‰T$TD‹D$THƒèFHÀHÐH€A„#þÿÿ+D$DHT$`H˜HH@HÆH…HÁàH)ÐHøH…HÁàH)Ћ”$€÷ÚHcÒH)ÐHD$HH‰D$pH‰„$0I‰ÇH‰„$81À‰ÃL‰æL‰ïÿÕH…ÀH‰Æ„&Hc~1ÀLcN‰ùÁùÁÛ@öÇ”À)Á¸…ëQ÷é‰ÈA‰ÈÁøÁú)Â’€A)ÀD‰ÀLcFÁè)ÂH‹D$XL)ÀI‰ÀH‹D$hL)ÈI‰ÁH‹D$8H)øH‰ÇHÀHÇHc~H€H)ø‰×Áú)ÏHD$`‰ù)ÑL$0L$T+L$DHcÉHÈH‹Œ$8H@IÁH‰ÏH…HÁàH)ÐIÀHcJ…IÁàI)ÐI)ÀLD$HIH9ÁžÂIÁè?D8Âu&H…ɈÎHºýÿÿÿÿÿÿH¸ÿÿÿÿÿÿÿH9Ñ~ HAÿH9È„ØI9ÿu(L;¼$0t‹”$…Òx^ƒ|$@|G•Ã…Ò•Â8ÚuKAƒÆAƒþ„1Ûƒ¼$L‹¼$0H‰„$8H‰¼$0•Ãéiþÿÿ…ҕ¶Ò9Ó¹@H‹œ$¨H‹„$€H+D$p‹”$ð9T$xH‹´$ˆN<8H‰ÈL‰>…²H‹”$ðH‰H‹”$øH‰SH‹”$H‰SH‹”$H‰SH‹”$H‰S H‹”$H‰S(H‹”$ H‰S0é×H‹Œ$8E1À1ÿH¸ÿÿÿÿÿÿÿH…É„ØþÿÿL‰¼$˜D‰´$ H‰ð‰œ$¤M‰ÆH‰ËI‰ïë.H‰ÝL)õHÑýLõH‰¬$8L‰æL‰ïAÿ×H…ÀtI‰îH‰ÝH‰ëH‰ÚHÁú?HƒÊLòH9ÓtjH…Ûy½L‰õH)ÝHÑýHÝ뻀I¸€H¸€L9Á;þÿÿHAé)þÿÿf.„HÇÀÿÿÿÿHÄH[]A\A]A^A_ÀM‰ðL‰ýH‰ÆM…ÀD‹´$ ‹œ$¤L‹¼$˜…H…ö…¸üÿÿH‹Œ$8H‰Ïé—ýÿÿfD‹t$x‰t$|Hc|$|H‰|$HéaûÿÿH‰ÐHº ×£p= ×£H÷êH‹D$8HT$8HÁø?HÁúH)ÂH’L €¸IÁáL9L$8…¦úÿÿƒâ1ÀHƒú”Àé•úÿÿfDH…À…hÿÿÿL‰æL‰„$8L‰ïÿÕH‰ÆéPÿÿÿ€‹t$@H‹œ$¨‹”$…öxx;T$@tr…Òxnºp, H‰l$0H‰\$X‰Õë@D‰ÅÅp, ýÄ „ÂH‰ÈA¾»ÿÿÿÿA‰è‰ÚA¯ÐHcÒHÂH9‰ØH‰”$(ÂÁè8ÂuƒÃAƒît®H‰ÈëÏI‰Çéýÿÿf„D‰D$(H´$°H¼$(ÿT$0H…ÀD‹D$(t‹L$@9Œ$ЄêH‹Œ$8ë£fL‹¼$(1ÒM…ÿtÔD‰t$D‰\$HH‰ÓD‰D$TL‹t$0ë>f„L‰ýH)ÝHÑýHÝH‰¬$(H´$°H¼$(AÿÖH…ÀtH‰ëL‰ýI‰ïL‰úHÁú?HƒÊHÚI9×tM…ÿy³H‰ÝL)ýHÑýLýë±DH‰ÚD‹t$D‹\$HH…ÒD‹D$T„9ÿÿÿH…À…0ÿÿÿD‰D$(H‰”$(H´$°H¼$(ÿT$0D‹D$(éÿÿÿ‹„$°‹Œ$”‹”$H‹t$`D‹Œ$ÄD‹D$|‰D$‹„$´H‹|$8H‹\$XH‹l$0‰D$‹„$¸‰D$‹„$̉$è“öÿÿH‹Œ$(HH9Ñ@žÆHÁè?@8Æu(H…ɈHAÿH¾ýÿÿÿÿÿÿHºÿÿÿÿÿÿÿH9ñHOÐH‰”$8L‰æL‰ïÿÕH…À„§H‹Œ$8I‰Ïéûÿÿ‹D$|E1ö…Àu E1öƒúL‹l$H‹\$éoûÿÿ€IƒÅE¶uA€þ uÉIƒÅE¶uA€þ uºëà„A€þ;t¼E„ö€„*M‰ïëGDA€þ;„†E„öxEHÇÂØÿÿÿdH‹H…À„I¾ÖöDP u&IƒÇE¶7E„ö„^A¾Þ¿ Q‰ÞèžÀùÿH…Àt©H´$p AÆL‰ïèeZ…À„‹”$p H‹D$Mcì‰Þ¿ QB‰”茉$èWÀùÿH…À‹$toA¶_Eˆ7I€û;t€ûuwI‰ÿfDH´$p AƾÛèüY…À„Ô‹„$p H‹T$B‰„êAƒÄAƒü A‰ÞAˆžþÿÿM‰ýétþÿÿ@Ê…Ò¸ÿˆ¿H‹T$B‰„êëÂ|‡HÇÁØÿÿÿHÇÂÿÿÿI‰ÿdH‹dH‹2€H…À„H¾ÓöDP uIƒÇA¶€û;t€ûu dH‰éAÿÿÿ}ÎfDëìfD»;éºþÿÿ1ÛfDéªþÿÿH‹T$B‹„ꌺÿÈ…ÀˆH‹D$B‰”èéÿÿÿâÀ¸ÿÿÿú€ºÿÿDÂé#ÿÿÿHl$P¾ÿH‰ïè"K…À… ûÿÿ¾.H‰ïè;ùÿH…À„÷úÿÿHpH»€èd¿ùÿéâúÿÿÇÇGHÇGÀè¥Ùþÿf‰CDé–öÿÿ‰|$é+øÿÿ€ú tHƒÀ¶€ú t„ÒuëÆHÇÇD$釸ÿÿH´$p L‰ÿè'X…À„ÛûÿÿHcD$‹”$p ƒD$$ƒD$HƒÀHÁà‰TfÇDfÇD5é:øÿÿ%Àºÿÿÿ=€¸ÿÿDÐéÊþÿÿH‹T$(H…Ò„«ùÿÿÆÇD$éøÿÿM‰ï1Ûé-ýÿÿHÇÀÿÿÿdH‹H‹H‹@@HdH‰éÛüÿÿH‹D$(H‹L$8¶éÿÿÿH‹H‹@@Héêýÿÿ‹„$P %ÿÀ=þ€tM€¼$P ÿINt/H´$h º H‰Ïèë—÷ÿA‰GH‹„$h €8„wûÿÿéjûÿÿ¶„$Q ƒàƒøuÁINH‰ÏH‰ $èÁ…ÀA‰GH‹ $…BûÿÿëŸffffff.„1öéÉôÿÿf„SH‰û‹¿ô…ÿxHcÿ¸ƒ£øüǃôÿÿÿÿH‹»H…ÿt6‹ƒƒøÿtHcø¸H‹»ǃÿÿÿÿèÀ„ùÿHǃH‹» H…ÿt6‹ƒ ƒøÿtHcø¸H‹» ǃ ÿÿÿÿè~„ùÿHǃ H‹»(H…ÿt6‹ƒƒøÿtHcø¸H‹»(ǃÿÿÿÿè<„ùÿHǃ(fǃ[ÃH‰\$èH‰l$ð‰ûL‰d$øHƒìHH‰õè“I…ÀA‰Äx\H‰â‰Ç¾‰1À‰\$èøûÿIcü‰Â¸…Òx'ºH‰æH‰ïè'ÃùÿH‹\$0H‹l$8L‹d$@HƒÄHÃHÇÀÐÿÿÿdƒ8t1ÀëÕdÇ1ÀëÊH‰\$èL‰d$øI‰üH‰l$ðHƒìHèI…À‰ÃxhºL‰æH‰çè¿Âùÿ1ÀH‰â¾3‰‰ßè~÷ûÿ…Àx*Hcû¸‹D$H‹\$0H‹l$8L‹d$@HƒÄHÄHÇÂÐÿÿÿHcû¸d‹2ƒþt1ÀëÇdÇ&1Àë¹DUH‰ýSH‰ûHƒìë fHƒÃèׂùÿH‹{H…ÿuî‹…ÀuèHƒÄH‰ï[]麂ùÿf.„AWAVAUATUSHƒì8H|$ÇD$ÇD$ÇD$HÇD$ HÇD$(è1Ò…ÀˆH|$¾è¥1Ò…ÀˆÉH‹l$ ¿H…í„ü‹t$@0ÿH‹UH‹MH…Ò„ÏHƒù†Å‹ƒøw/é¹f„ƒÀƒàüH)ÁHƒù†H‹ƒø†‰ÃH9Ù‚„9r uÏ‹Z;]uÇ·Zfƒûtmfƒû”öÛß므M‹$$M…ä…‹D‰èHÁàIÇHÇ@H|$H‰T$èãH|$è¹H‹T$HƒÄ8H‰Ð[]A\A]A^A_ÃfH‹mH…í…ÿÿÿƒÇHÁçè÷ùÿH…ÀI‰ÇH‰Â„XL‹d$ E1í1ÀM…ät…f„I‹\$I‹l$H…Û„UÿÿÿHƒý†Kÿÿÿ‹ƒøw-é?ÿÿÿ€ƒÀƒàüH)ÅHƒý†%ÿÿÿH˃ø†ÿÿÿ‰ÁH9Í‚ ÿÿÿ‹s ;t$uË‹sA;t$uÁ·sfƒþ„ëþÿÿfƒþu­E‰î‹CHƒé IÁæHƒùO47A‰vhD·C HC fAƒøvXA·ðH9ñrOfƒxu0fëOfDLÀD·fAƒøv0A·ðH9ñr'HƒîfƒxHxt+E·ÀAƒÀAàüÿL)ÁHƒùwÂAƒÅ‹éÿÿÿH{$HƒîH‰T$èMVþÿH…ÀI‰FH‹T$uÕAÇL‰ÿèàüÿÿHÇÀÐÿÿÿ1ÒdÇié9þÿÿHc?¸ÃDé›ùÿff.„ATUHÇÅÐÿÿÿSH‹dD‹eH…ÿt€H‹èhùÿH…ÛH‰ßuðdD‰e[]A\ÃfDU1Ò¾SH‰û¿Hƒìèæ#üÿ‰Ç‰¸ÿÿÿÿ…ÿxKº H‰æHÇ$ÇD$fÇ$è¶C…Àx2‹;HT$ H‰æÇD$ è»C…Àx‹D$‰C1ÀHƒÄ[]ÀHc;¸¸ÿÿÿÿëáffffff.„UH‰åAWAVAUATSH‰ûHìÈ‹WHÇE˜Lt$Iƒæð…ÒL‰u„¥L­pÿÿÿLe HÇE Ç…pÿÿÿf‰µtÿÿÿfÇ…vÿÿÿÇ…|ÿÿÿ‰•xÿÿÿÆE€fÇEAÆEÇE¨fÇE L‰eÀ‹;1ÉA¹ M‰àºL‰îèòBHƒøÿuEHÇÀÐÿÿÿdƒ8tÏ€¸ÿÿÿÿHeØ[A\A]A^A_Éɵ(ÿÿÿ1ÿè7úÿ‹µ(ÿÿÿ‰Â‰Cé>ÿÿÿ…ÀxËL}L­0ÿÿÿ„HE°Ç…8ÿÿÿ L‰½@ÿÿÿHÇ…HÿÿÿHÇ…PÿÿÿH‰…0ÿÿÿHÇ…XÿÿÿÇ…`ÿÿÿf„‹;1ÒL‰îèôÒþÿHƒøÿI‰ÄuHÇÀÐÿÿÿdƒ8tÞéAÿÿÿf„H…Àˆ/ÿÿÿ‹E´…Àf…jÿÿÿö…`ÿÿÿ …ÿÿÿIƒü†SÿÿÿA‹L‰òƒø†Dÿÿÿ‰ÁI9Ì‚9ÿÿÿ‹{L‰áE1Àë&fDƒÀƒàüH)ÁHƒùvYH‹ƒøvO‰ÆH9ÎwH9z uÛ‹r;suÓ·rIƒÀfƒþtMfƒþu¿ƒø#‡¯HÇÀÐÿÿÿdǃÈÿé…þÿÿ„1ÉM…Àu „É„±þÿÿHeØ1À[A\A]A^A_ÉùëÛI|$ ˆ ÿÿÿèéŠùÿH…À„8þÿÿHx HÇL‰âL‰öH‰…(ÿÿÿèƒáùÿL‹…(ÿÿÿHƒ{¶ ÿÿÿI‰@‹CM‰`A‰@t'H‹CL‰L‰Cévÿÿÿ‹BHÇÂÐÿÿÿ÷Ød‰ƒÈÿéÕýÿÿL‰CëÚfUH‰åAWAVAUATLe°S»ÿÿÿÿHìÈH‰} HÇL‰çÇE°ÇE´ÇE¸HÇEÀHÇEÈè üÿÿ…Àˆ¾L‰çè–üÿÿ…ÀˆË¾L‰çƒE¸è}üÿÿ…ÀˆÐH‹}ÀH…ÿ„©‹u´I‰úE1ÛE1äE1Éf„I‹RI‹JH…Ò„·Hƒù†­‹ƒø†¢‰ÃH9Ùs/铃ÀƒàüH)ÁHƒù†}H‹ƒøvs‰ÃH9Ëwl9r u×D‹BE;BuÍD·BfAƒøtQfAƒø„†1ÛfAƒø”ÃAÜë§IÇÅÐÿÿÿ1ÛdE‹udE‰uHc}°¸He؉Ø[A\A]A^A_ÉÀM‹M…Ò…,ÿÿÿEÌ…ÙIÇÅÐÿÿÿ1ÛdE‹uëL‰çL‹'èzùÿM…äuðëžfDHƒë HƒûvbD·B Lj fAƒøvRE·ðL9órIfAƒ}u)ëHMÅE·EfAƒøv-E·ðI9Þw$IƒîfAƒ}t%E·ÀAƒÀAàüÿL)ÃHƒûwÄAƒÁé»þÿÿIƒîMóAƒÁé«þÿÿH‹}ÀIÇÅÐÿÿÿH…ÿdE‹u…MÿÿÿéõþÿÿH‹}À»ÿÿÿÿëÛE‰ä¿D‰ÿÿÿMiì¸O\L‰ÞL‰0ÿÿÿèÐ~ùÿH…ÀH‰ED‹ÿÿÿt»D‰È¾ÿÿÿÿD‰ÿÿÿH‰ÂH‰… ÿÿÿHÁâHBHÁèHÁàH)ÄLT$IƒâðL‰×L‰•ÿÿÿè\ÍùÿL‹uÀLmÇ…\ÿÿÿD‹ÿÿÿL‹•ÿÿÿM…ö„I‹^M‹fH…Û„ôIƒü†ê‹ƒø†ßA‰ÀM9Ä‚ÓL‰ÒE‰ÊM‰ñI‰Öë3M‰ïƒÀƒàüI)ÄIƒü†:H˃ø†,A‰ÀM9à‡ M‰ý‹S ;U´uÅ‹SA;Qu¼·Sfƒú„gfƒú„pfƒúužL[E…ÒA‹{Ž7 A‹ƒïƒúÿ„ 1À9×uéû 9×„í ƒÀA9ÂfŽ HcÈI4Ž‹ƒúÿuÜHAÿ‰>HiѸH‹MHUHiÀ¸H‰‹…\ÿÿÿ‹RDÐHcðHiθHM…À‰Q~HFÿH‹uHiÀ¸H‰ Iƒèƒ…\ÿÿÿIƒø†€A·CI{H‰}€fƒø†i·ÐL9‡]LyHEH‰E¨HAÿH‹u¨H‹MHiÀ¸H‰òH‰4L‹}˜Iƒè IƒøA‹G‰B†qA·GL‰ùHƒÁfƒø†[D·ØM9Ø‚NH‹}¨L‹}¨H‹U¨H‹u¨L‰¥xÿÿÿH‰pÿÿÿM‰ÄHƒÇDIƒÇ8L‰M€H‰½8ÿÿÿH‹}¨HÂŒHƒî€L‰½@ÿÿÿH‰•HÿÿÿH‰µPÿÿÿH‰ËD‰•hÿÿÿHǤL‰µ`ÿÿÿH‰}ˆëL€fƒú„M‰ï·ÀƒÀ%üÿI)ÄIƒü†¶H÷fƒø†¦D·ØM9㇙M‰ý·SHsMsüfƒút1v§fƒú„†fƒúu H‹E¨L‰òL‰ïO|5L‰h0èV×ùÿ·ë†Iƒþ$‡xÿÿÿH‹}¨L‰òfLJ€H‹½Hÿÿÿè*×ùÿL‹}¨Eˆ·‹H‹U˜‹BA‰‡„·BfA‰‡ˆH‹PÿÿÿI‰O(M‰ï·é$ÿÿÿIVHƒú‡ÿÿÿL‹}ˆH‹}¨L‰òL‰L‰ÿM‰ïè‡ÐùÿÆ·éñþÿÿIƒþ$‡äþÿÿL‹}¨L‰òfAÇG8H‹½8ÿÿÿè˜ÖùÿEˆwCH‹U˜‹BA‰G<·BfA‰G@H‹@ÿÿÿ·I‰OM‰ïéŸþÿÿM‰óL‰áL‹M˜L‹mˆH‹xÿÿÿD‹•pÿÿÿL‹e€L‹µhÿÿÿHƒy„[H‹AH…À„$·0f…ö„fƒþ„HA\fƒþH‰A „èfƒþ „E1À1À1ÒH…Àf‰q\„Þ…Ò…ÖE¶{E‰øAÁèE…À„¨‰Æ÷ÞƒæA9ðAFð…ö„H‰Á1ÒDƒÂÆÿHƒÁ9ÖwòD9ÆtlD‰Ç)÷A‰û‰}˜AÁëD‰ßÁç…ÿ‰}¨tA‰öfoÿ×H<01öf„ƒÆfHƒÇD9Þrð‹u¨U¨Hñ‹u¨9u˜t€ƒÂÆÿHƒÁA9ÐwñAƒèJDD‰ú¿¾ÿÿÿÿƒâ)׉ùÓæ@ˆ0‹M‰ïé ÷ÿÿH‹pÿÿÿL‹M€L‹¥xÿÿÿD‹•hÿÿÿL‹µ`ÿÿÿ‹éùöÿÿHƒú…œùÿÿH‹H‹½PÿÿÿH‰H‹FH‰G‹%ÿÀ=þ€t€>ÿ…pùÿÿ¶Fƒàƒø…`ùÿÿA‹FA‰D$PA·éˆøÿÿfDHƒú…>ùÿÿ‹H‹•(ÿÿÿ‰A·édøÿÿHƒú… ùÿÿH‹H‰GH‹FH‰G‹%ÿÀ=þ€t€>ÿ…úøÿÿ¶Fƒàƒø…êøÿÿA‹F‰GA·éøÿÿf.„Hƒú…Æøÿÿ‹‰GA·éò÷ÿÿHƒú…®øÿÿH‹H‹½`ÿÿÿH‰H‹FH‰G‹%ÿÀ=þ€t€>ÿ…‚øÿÿ¶Fƒàƒø…røÿÿA‹FA‰„$˜éaøÿÿHƒú…Vøÿÿ‹H‹•@ÿÿÿ‰A·é|÷ÿÿHiɸHMH‰M¨H‰ÊéÊúÿÿHiѸHUé?öÿÿI‰L$H‰ÏéâøÿÿH‹½HÿÿÿH‰ÿÿÿè+ÓùÿA·H‹ÿÿÿé%÷ÿÿHA`A¸º éýÿÿE¶{D9úƒ!ýÿÿA‰×é ýÿÿHAdA¸º€éëüÿÿE‹C1ÀAƒèëA9ð„„ƒÀA9ÂŽ…HcÐI<–‹7ƒþÿuÝ…ÀD‰tcHi¸HƒêH‹uHEHiÒ¸H‰H‹@H‰AéCüÿÿH‹}H‰}¨H‰úéÚùÿÿH‹EA‰>H‰E¨H‰ÂéÇùÿÿH‹UéCõÿÿA‰>H‹Ué7õÿÿHi¸HEë®èAc÷ÿH‰Á1Òé’üÿÿ¹z Qº#¾ Q¿8 Qè.÷ÿSH‰û¹HƒìH‹?D‹K D‹C¶‡H‹W0H‰$ƒà„À¶ðEÎH‹s1ÒèSúþÿH‰C HƒÄ[Ãf„AWH‰øHƒÀAVAUATUSHƒìxH‰7H‰|$hH‰D$P¶†ƒàŸƒÈ ˆ†H‹†¸H…À„8HƒÀH‰D$`ëHƒD$`H‹T$`H‹H…À„ö€`uàH‹T$PH‰HƒÂH‰T$H¶ƒâŸƒÊ ˆH‹€¸H…À„ÁHPH‹@H‰T$XH…Àu!éªDHƒD$XH‹T$XH‹H…À„Žö€`uàH‹T$HH‰HƒÂH‰T$@¶ƒâŸƒÊ ˆH‹€¸H…À„9HPH‹@H‰T$8H…Àu!é"DHƒD$8H‹T$8H‹H…À„ö€`uàH‹T$@H‰HƒÂH‰T$0¶ƒâŸƒÊ ˆH‹€¸H…À„±HPH‹@H‰T$(H…ÀuéšHƒD$(H‹T$(H‹H…À„ƒö€`uàH‹T$0H‰HƒÂH‰T$ ¶ƒâŸƒÊ ˆH‹€¸H…À„.HPH‹@H‰T$H…Àu&éf.„HƒD$H‹T$H‹H…À„öö€`uàH‹T$ H‰HƒÂH‰T$¶ƒâŸƒÊ ˆH‹€¸H…À„¡HPH‹@H‰T$H…Àu!éŠDHƒD$H‹T$H‹H…À„nö€`uàH‹T$H‰I‰×¶IƒÇƒâŸƒÊ ˆH‹€¸H…À„ LpH‹@H…Àué@IƒÆI‹H…À„úö€`uçI‰¶MoƒâŸƒÊ ˆH‹€¸H…À„­HhH‹@H…Àué›HƒÅH‹EH…À„‡ö€`uæI‰E¶MeƒâŸƒÊ ˆH‹€¸H…Àt”ÀéÁøÿÿ1ÀÇ…xÿÿÿéïõÿÿH;V„H‰ñH‹qH…öuêH‹½`ÿÿÿH‰Æ¹ó¥éœöÿÿHÇÇÐÿÿÿÇEˆÿÿÿÿdƒ?”Àéjøÿÿ‰ÈL‰÷‰ÿÿÿHÁàL‰… ÿÿÿH‰ÂH‰E€è Áùÿ‹ÿÿÿL‹… ÿÿÿƒù‡¹úÿÿéDûÿÿHƒº¸„eøÿÿ¹@ Qºó¾# Q¿€ Qè~÷ÿ¹@ Qºò¾# Q¿õÜPèe÷ÿH‹•@ÿÿÿH‹Xÿÿÿ1ÉH‹Bö€tsƒ«À€ ŸH‹RH…ÒuÜéøÿÿH‹Uf%H;Xÿÿÿ…zøÿÿI‰ßE1äE1í‰ËA9Ýs,I‹‡¸J‹ I9ÏtH‹ˆH…Àt0ƒxt*AƒÅIƒÄëωÙé7øÿÿH‹³¸‰ÏƒÁH‰þH‹Bé{ÿÿÿHƒ¹à…RHƒ¹Ð…DH‰ÎL‰÷H‰ÿÿÿè¾îÿÿ9؉ÆH‹ÿÿÿ‡‰÷L‰ðHýM L9È„–L‹HƒÀA€ ŸëæH‹½Xÿÿÿ¹¨ Q1ÒH‹w¿ è!ÿÿI‹°¸‰ÉL‰÷HÁáL‰… ÿÿÿH‰ÊH‰M€èó¿ùÿL‹… ÿÿÿé¦ùÿÿƒ}ˆÿ¸H‹MÀEEˆH‹u¸1Ò‰Çè¹ ÿÿH‹½Xÿÿÿ¹` Q1ÒH‹w¿ è ÿÿH<ýH‰•0ÿÿÿH‰ÿÿÿ‰µ8ÿÿÿèÌhùÿH‹ÿÿÿH…ÀH‹•0ÿÿÿ‹µ8ÿÿÿH‰ˆtEHx‰pL‰öH‰8èZ¿ùÿéþÿÿ¹@ Qº+¾# Q¿- Qè\÷ÿH‹q1ҹРQ¿è ÿÿI‹w¹¨ Q1Ò¿ è ÿÿ¹@ Qº?¾# Q¿ Qè÷ÿH‰…`ÿÿÿH‰…pÿÿÿé¦óÿÿH‹µ`ÿÿÿH‹½pÿÿÿH‰FH‹qH;µpÿÿÿH‹vHDùH‰qH‹r H‰ÑH‰½pÿÿÿH…öt H‹RH‰VH‹M°H‹QH…Òt H‹I H‰J H‹M°H‹PH‹R H‰Q H‹PH‹M°H‰J H‹U°H‹J H…É„vûÿÿH‰QH‹U°éiûÿÿI‹T$€:u H‹æ$H‹¿0 Q1Àè#)ÿÿé8úÿÿöŸb%…fH}¸LEHUÏHuÀ¹¬MèÿÿH‹}ÀH…ÿ„.úÿÿ€}Ï„°òÿÿèkXùÿé¦òÿÿ1öH‰ÇèL×þÿH…ÀH‰Â„¹ùÿÿƒ=©å$…ûÿÿ1öHƒÉÿL‰÷‰ðò®I‹¼$8H÷ÑHƒéH…ÿH‰M€tHƒÿÿ„¹HƒÉÿ‰ðò®H÷ÑHƒéH‹îa%L‰öL‰çH9ÁHCÁ1ÉHƒèH¯ÂH‹U€HDHƒàðH)ÄHT$HƒâðèéÓþÿ€8H‰Æ…)ùÿÿH;ýÿÿ…pøÿÿ¹€ìP1ÒL‰ö1ÿèÿÿI‹D$€8uAH‰•0ÿÿÿ@ˆµ8ÿÿÿèr:ÿÿH‰ÇI‰„$8H@ÿH‹•0ÿÿÿ¶µ8ÿÿÿHƒøý†Gÿÿÿ1ÉéOÿÿÿ¹@ Qº&¾# Q¿õÜPèÛ÷ÿI‹T$€:u H‹zä$H‹¿ Q1Àè‹'ÿÿéuþÿÿóÃfffff.„AU‰öI‰ÕATM‰ÄUH‰õHÁåSHƒì(H¯(H‹]H…Û…H‹—øH vL‹GpH‹GhH‹RH‹@H‹LÊH‰ÊHÁê H4RHÁæIpƒùH‰t$…öF…ðH‹ÈH…É„ØH‹I·QâÿLRIÁàL‡àA‹P…Ò„¯d‹%…Ò…A¹‹6H‹€HT$D‰ $A¹HÇD$HðH‰þH‰ÇèšûþÿI‰Àd‹%…À…’H‹D$H…Àt1ÛM…ÀtI‹HX¶@ƒàƒø tN‹í_%…ÀuH‰]IÇ$ÿÿÿÿH‰ÞL‰ïè‚'ÿÿHƒÄ(H‰Ø[]A\A]Ã@E1ÀéIÿÿÿ¶FH‹^Hƒàƒø u²ÿÓH‰Ã뫹  Qº¶¾T Q¿x Qèÿöÿ1Àd‡%ƒø…[ÿÿÿºdH‹<%d‹4%HHƒÇƒÎ°Êé5ÿÿÿdÇ%A¹éÜþÿÿDU‰öHvSHÁâHƒì(H‹øH‹_pH‹GhHQH‹@L‹BH‹*L‰ÁHÁé H4IHÁæHsAƒøH‹H‰t$…ÝöF…<H‹—ÈH…Ò„»H‹R·JâÿLRIÁàL‡àE‹HE…É„‘d‹%…Ò…ÛA¹‹6H‹€HT$D‰ $A¹HÇD$HðH‰þH‰ÇèÄùþÿI‰Àd‹%…ÀubH‹t$1ÀH…öt M…ÀtI‹HF¶Vƒâƒú t:‹ ^%…ÉuH‰DHƒÄ([]ÃE1Àégÿÿÿ¹h QºV¾T Q¿x QègýöÿÿÐëÂ1Àd‡%ƒøuºdH‹<%d‹4%HHƒÇƒÎ°ÊéiÿÿÿdÇ%A¹éÿÿÿH‰Øé^ÿÿÿH‰\$ÐH‰l$؉óL‰d$àL‰l$èI‰üL‰t$ðL‰|$øHƒì8¶‡H‰ÕI‰Í¨…H‹wƒÈˆ‡¶„Ò„¼I‹„$ H…À„›öì\%…°H…ÀtH‹@I$L‰êH‰î‰ßÿÐI‹„$H…ÀtCI‹”$M‹$$L`L‹zIÁïE…ÿt&E1öf.„AƒÆL‰êH‰î‰ßAÿ$IƒÄE9÷wçH‹\$H‹l$L‹d$L‹l$ L‹t$(L‹|$0HƒÄ8Ã@Iƒ¼$tÎéUÿÿÿ¨…<ÿÿÿ„ë·„Ò@u H‹ß$H‹01À¿² Qè"ÿÿI‹„$ é%ÿÿÿAWAVAUI‰ÍATI‰ÔU‰õSH‰ûHƒìL‹·@L‹¿HH‹=r\%H…ÿ…ÁM…ÿtMM…ötHM‹IÁïE…ÿt;ö³[%u}H‹IFE1ö€H‰D$L‰êL‰æ‰ïAƒÆÿH‹D$HƒÀE9÷wßD‹³ÀE…öt0Aƒî€H‹ƒ¸D‰òL‰é‰îAƒîH‹<ÐL‰âèñýÿÿAƒþÿuÛHƒÄ[]A\A]A^A_ÃH‹s€>u H‹|Þ$H‹0¿Æ Q1Àè!ÿÿé_ÿÿÿè³ýÿÿHǘ[%é*ÿÿÿAWI‰ÒI‰ËAVAUATUH‰õSH‰ûHƒìXM…ÀuH‹_H…Û„ 1ÀM…À”À‰D$4‰ÀH‰D$@HDÅH‰D$HëDH‹[H…Û„ÚH‹S(H9ÚuꃻÜÿtáH‹D$HD‹l$4L‹ L9ãt1L;T$@†JD‹l$4ëDL9Ѓ5AƒÅD‰èL‹dÅL9âuæE}D‰ùI9Êv’D‰l$$H‰\$8I‰ÍL‰T$(NtíI‹H‹ƒ¸H…Àuëf.„I9Ôt[HƒÀH‹H…ÒuîH‹ƒÈH…À…ÝAƒÇE‰ýL9l$(w°H‹\$8L‹T$(H‹[H…Û…&ÿÿÿHƒÄX[]A\A]A^A_Ãf.„‹L$$E‰ùD+L$$L‰$LAJÍHtÍH‰L$L‰L$J|ÅL‰D$èV¢ùÿL‹$H‹L$L‹D$L‹L$M…ÛH‰\Ít"I4 K<C¶+L‰Êè$¢ùÿH‹L$L‹$Aˆ ƒD$$I‹é,ÿÿÿ¹ Qº/¾Ý Q¿ç Qè±øöÿ‹…Ò„ÿÿÿƒê‰ÑL;dÈuìD‹t$$E‰øD+D$$L‰$INJÅJtõL‰D$H|ÍH‰L$襡ùÿL‹$J‰\õH‹L$L‹D$M…Û„»þÿÿK43I< C¶+L‰Âèt¡ùÿL‹$Cˆ3é™þÿÿ€UH‰åAWAVAUATSHƒìXH‹¨X%HƒèH‰EÀˆ<HkÀH1ÛE1íHè#sH‰E°€¸H…Àt ¿àÙrè5²ÿH‹M°E1öH‰]¸‹…Ò„§‰ÐHÁàH9ØH‰E¸‡ŒH‰]¸H‹M°H‹Aø1ÉH…Àuë?€H‹@H…Àt/H9@(uñ9ʆô‰Ë‰ˆÜƒ€I‰DÝH‹@ƒÁH…ÀuÒHƒ}À”À9Ñ„k„À„X¹ QºÃ¾Ý Q¿ý Qè÷öÿ€‹MœA‰Îf¸H…Àt ¿àÙrèL4²ÿE…ö„¯M‰ïE1äDI‹¶ƒ¨t~ƒà÷ˆƒH‹ƒH…À„™öW%…£H…Àt>H‹@H‹HÐH‰EÈH‹ƒ H‹@HÁè…ÀtƒèH‹Mȉ‰EÿÑ‹EƒèƒøÿuéH‹ƒ¨H…Àt H‹@HÿÐAƒÄƒ«IƒÇE9æ‡\ÿÿÿHƒm°HHƒmÀˆvH‹]¸éKþÿÿHƒ»¨tÂöoV%„]ÿÿÿH‹s€>u H‹±Ù$H‹0H‹UÀ1À¿˜íPè¾ÿÿH‹ƒé.ÿÿÿfƒê9Ê…?E1ö…É„ºþÿÿH‹U°„ÀA‰ÈH‹ZøtH‹[H…Û„™þÿÿ1ÀHƒ}À‰Mœ”À‰EȉÀITÅH‰E¨H‰U ëDH‹[H…Û„cþÿÿH;[(u탻ÜÿtäH‹M D‹eÈH;t3L;E¨†¦D‹eÈë€I9ÀD†‹AƒÄD‰àI;\ÅuäE|$D‰øI9Àv—M‰ÁE‰àf„MtÅM‹&I‹„$¸H…Àt)H‹H…Òt!H9Óuë<@H9ÚDt.HƒÀH‹H…ÒuêI‹„$ÈH…ÀubAƒÇD‰øI9Áw©M‰Èé)ÿÿÿD‰ÁD‰úD‰EˆD)ÂItÍI|ÍHÁâH‰ML‰M€èÈùÿH‹MD‹EˆL‹M€M‰dÍM‹&AƒÀI‹„$ÈH…Àtž‹…Òt˜ƒê‰ÑH9\ÈuðE‰ÆD‰úD‰EˆD)ÂKtõK|õHÁâL‰M€èmùÿO‰dõD‹EˆL‹M€éVÿÿÿH…ÛuH‹E¸HƒÀHƒàðH)ÄLl$IƒåðéVüÿÿH‹E¸H‹M¸H]¸HƒÀHƒàðH)ÄHD$HƒàðH I9ÍHE]¸I‰ÅH‰]¸éüÿÿHeØ[A\A]A^A_Éù Qº/¾Ý Q¿ç Qè–óöÿ¹ QºÄ¾Ý Q¿0 Qè}óöÿ¹ Qº¹¾Ý Q¿ñ QèdóöÿUH‰åH‰]ØL‰eàL‰ÃL‰mèL‰}øA‰ÔL‰uðHìöŒS%I‹@hD‰|ÿÿÿI‰ÿI‰ÍL‹p…pH‹ƒhH…À„ H‹PH…Ò„éHfƒ:u D9b„¡‹B…À„Þ‰ÀHÂfƒ:tàÆE÷:HuÃ1ɺ èŒ3ýÿH‰ÂH‰EˆHÇE€ QHÇE2 QH‰×1ÀHƒÉÿ¾ Qò®H÷ÑHƒÁCHƒáðH)̹Ld$IƒäðL‰çó¤I|$H‰Öèg¬ùÿ¾2 QH‰Ç¹¸ó¤L‰áé ‹B L‰ïH‰•pÿÿÿ‹4I46èÏ€ùÿ…ÀH‹•pÿÿÿ…7ÿÿÿ1ÀH‹]ØL‹eàL‹mèL‹uðL‹}øÉÄ‹M…Ʉ‹•|ÿÿÿ…ÒtËL‰ïHÇE€D QL‰mˆHÇES QL‰}˜HÇE ÷êPèÓ„ùÿ¿S QI‰ÄèÆ„ùÿMdL‰ÿ蹄ùÿIDL‰îHƒàðH)ÄH¸weak verLd$IƒäðI|$I‰$AÇD$sionfAÇD$ `AÆD$èb«ùÿ¾S QH‰ÇèU«ùÿL‰þH‰ÇèJ«ùÿL‰áfÇ)1ÀH‹s€>u H‹àÔ$H‹21Ò1ÿ‰…pÿÿÿènÿÿ‹…pÿÿÿéõþÿÿ¹— Q²q¾ Q¿ Qèýðöÿƒ½|ÿÿÿ„ÐþÿÿLM°HÇE°¨ QL‰}¸HÇEÀ÷êP¹.1Ò¾IƒÈÿHƒÂHÎHƒútCI‹<ÑL‰Áò®H÷ÑHƒéëáI‹PI‹H0€:u H‹EÔ$H‹I‰ñM‰øL‰î¿` Q1ÀèMÿÿé_ýÿÿHƒÆLu°E1íHƒæðH)ô¾¨ QLd$IƒäðL‰àH‰ÇIƒÅèIªùÿIƒýtK‹4îëèL‰á1ÀéóþÿÿLM€HÇE€I QL‰mˆHÇES QL‰}˜¹ HÇE ÷êP1Ò¾IƒÈÿ1ÀHƒÂHÎHƒútI‹<ÑL‰Áò®H÷ÑHƒéëáHƒÆLu€E1íHƒæðH)ô¾I QLd$IƒäðL‰àH‰ÇIƒÅ诩ùÿIƒýtK‹4îëèL‰á¸éVþÿÿfDUH‰åAWAVAUI‰ýATSHì˜H‹Gh‰u„‰•lÿÿÿH…À„¹H‹@H‹—hH‰EˆH‹‡XH‰•`ÿÿÿH…ÀH‰…Xÿÿÿ„¤H‹@H‹HÐfƒ8H‰…xÿÿÿ…¶H‹•xÿÿÿE1öE1ÿfD‹BHEˆH‰…pÿÿÿI‹E0HÀL‹$Åà#sM…ä„ÙH‹pÿÿÿë„M‹d$M…䄺L‰æH‰ßèÿÿ…ÀtãM…ä„,‹lÿÿÿ…Û…—H‹…xÿÿÿ‹XHÃë D‰ÀHÃI‹}·CM‹D$(‹K‹I‹u0€?u H‹=Ò$H‹?‰ÉHMˆD‹M„ƒà‰$èéúÿÿA Ç·C%ÿA9ÆDBð‹C …Àu§H‹•xÿÿÿ‹B …À„‘‰ÀHÂH‰•xÿÿÿéÿÿÿ@A‹µÀ…ö„{D‰½hÿÿÿ1ÛE‰÷L‹¥pÿÿÿë@ƒÃA;ÀƒRI‹•¸‰ØL‰çL4ÅH‹4Âè ÿÿ…ÀtÏI‹…¸M‰ôE‰þD‹½hÿÿÿN‹$ éßþÿÿE1öE1ÿHƒ½`ÿÿÿt.H‹…`ÿÿÿH‹PIUë‰ÀH·B%ÿA9ÆDBð‹B…ÀuäE…öuHeØD‰ø[A\A]A^A_ÉÃAƒÆ¾D‰÷èu H‹8Ï$H‹01ÒèNÿÿ¹° Qºæ¾ Q¿ QèeëöÿÆE÷8HuÃ1ɺ »è,ýÿLEH‰E˜HÇE QHÇE m Q¹1ÒHƒÎÿ1ÀHƒÂHËHƒút&I‹<ÐH‰ñò®H÷ÑHƒéëáAö„$„ZüÿÿéÂüÿÿHƒÃLu¾ QHƒãðE1äH)ÜH\$HƒãðH‰ØH‰ÇIƒÄè¤ùÿIƒütK‹4æëèH‰Ù1ÿéÿÿÿff.„AUA‰õATA‰ÔU1íSH‰ûHƒìH…ÿtfDöƒt1ÒH‹[ ÕH…ÛuêHƒÄ‰è[]A\A]ÃDD‰âD‰îH‰ßèºúÿÿ…ÀºuÌëÈSH‰ûE1ÉHƒìH‹7L‹GH‹W(‹CH‹H‹Ž€HÇD$‰$èëåþÿH‰HƒÄ[ÃfUH‰åAWI‰÷AVI‰ÎAUI‰ÕATI‰üSHìˆH‹iJ%H‹òJ%D‰…lÿÿÿHÇEÀH…ÀH‰Ó„ŸHÇ…pÿÿÿ($sHÇ…xÿÿÿH…ÒtT@L;ª@r7L;ªHs.€ºˆéH‰×L‰îH‰•`ÿÿÿè·Lüÿ…ÀH‹•`ÿÿÿ…ÈH‹RH…Òu·H‹ØI%Hƒ…xÿÿÿH9…xÿÿÿsH‹pÿÿÿH‹HƒÁHH‰pÿÿÿé|ÿÿÿDM…ä„ÂIƒüÿ…„H;J%„nH‰ÙëH‰ÁH‹ØH…ÀuñHUÀHÁˆH‰\$Ç$E1ÉM‰ðH‰ÞL‰ÿè™äþÿH‰ÁH‹UÀ1ÀH…Òt H…ÉtH‹HBHeØ[A\A]A^A_ÉÃH‹I%H‰Óé9ÿÿÿ‹…lÿÿÿIŒ$ˆHUÀE1ÉM‰ðL‰æL‰ÿHÇD$‰$è2äþÿH‰Áë—d‹%…Àu%‹…lÿÿÿH‹‹€HUÀHÇD$ƒÈ‰$éRÿÿÿ‹…lÿÿÿL‰}ˆH‰]€L‰uƒÈ‰E˜HEÀH‰E¨dÇ%HUÏHu°H}¸LE€¹€ØMHÇE°èžÿÿ‰Ã1Àd‡%ƒøu!ºdH‹<%d‹4%HHƒÇƒÎ°ÊH‹u°H…öu4H‹M€éÔþÿÿH…ÛtL;«@r L;«H‚wþÿÿ¹È Q1Ò1ö1ÿèÿÿE1äIƒÍÿH‰÷D‰àL‰éò®H‰ÊH÷ÒHBHƒàðH)ÄH|$Hƒçðèþ¢ùÿH‹u¸I‰ÆL‰éD‰àH‰÷ò®H‰ÊH÷ÒHBHƒàðH)ÄH|$HƒçðèÍ¢ùÿ€}ÏI‰Ät H‹}°è;=ùÿL‰ñ1ÒL‰æ‰ßèœÿÿfff.„A¸1ÉéÃüÿÿHƒì(H‰ÐH‰ÊH‰$ÇD$ E1À¶„É„¬D¶H¶ÉA‰ÈE„É„˜D¶PHÁáE¶ÉI A‰ÈE„Ò„{D¶HHÁáE¶ÒLÑA‰ÈE„ÉtcD¶PHÁáE¶ÉLÉA‰ÈE„ÒtKLH¶@HÁáE¶ÒLÑA‰È„Àt1HÁá¶ÀIƒÁH A¶I‰ÈAàðL1ÁIÁèL1Á„ÀuÕA‰ÈfD‰D$H‰áE1ÀHÇD$è×ûÿÿHƒÄ(ø&H=ðÿÿƒ­SüÿÃH‰\$àL‰d$ðI‰üL‰l$øH‰l$èHì¸H‰çH‰óI‰åèÔÔùÿ‰Â¸ÿÿÿÿ…Òt)H‹œ$˜H‹¬$ L‹¤$¨L‹¬$°HĸÃIƒÅAL‰ïèDxùÿHhH‰ÚL‰îL‰çH9ÝHFÕèû ùÿ1ÀH9Ýv«HÇÀÐÿÿÿdÇ$¸ÿÿÿÿë–¸1H=ðÿÿƒÝRüÿø3H=ðÿÿƒ½RüÿÃ=ID%uI‰Ê¸,H=ðÿÿƒ‘RüÿÃHƒì8H‰|$H‰t$H‰T$H‰L$ L‰D$(L‰L$0è íûÿH‹|$H‹t$H‹T$L‹T$ L‹D$(L‹L$0H‰$¸,H‹<$H‰D$èbìûÿH‹D$HƒÄ8H=ðÿÿƒRüÿÃAUATUSHƒì(‹=è@%…ÿ„‰‹5Ö@%…ö„ ‹€C%…ÛˆÔ1ÒÎèßÞûÿ‹eC%…Òuƒøÿ„ º‰MC%…ÒˆƒøÿtHƒÄ([]A\A]Ãf„HÇÂÐÿÿÿdƒ:außÇa@%ÇS@%¾¿/QI‰åèÍ©ûÿƒøÿA‰ÄÇ$/profÇD$c/ÆD$t €=ï.…=‹ß.ƒû„^ƒû ¾½„K‹ ©B%…Ɉu 1Ò‰ßè Þûÿ‹’B%…Òuƒøÿ„É º‰zB%…ÒˆF ƒøÿ… Aƒüÿt €=ˆ.…*‹x.ƒû „;ƒû¾½„(‹.B%…Ò‰â1Ò‰î‰ßèÝûÿƒøÿ…¶Aƒüÿt €=E.…‹5.ƒû „dƒû¾½„Q‹×A%…À‰Ó1Ò‰î‰ßè8Ýûÿ„ƒøÿ…WAƒüÿt €=ú-…Ô‹ê-ƒû „Mƒû¾½„:D‹wA%E…Û‰ª1Ò‰î‰ßè×Üûÿ€ƒøÿ…÷Aƒüÿt €=®-…¤‹ž-ƒû „=ƒû¾½„*D‹A%E…Ò‰’1Ò‰î‰ßèwÜûÿƒøÿ…žAƒüÿt€=i-…z‹X-ƒû „3ƒû¾½„ D‹ ½@%E…ɉˆ1Ò‰î‰ßèÜûÿDƒøÿ…?Aƒüÿt€=-f…J‹ -ƒû „#ƒû¾½„D‹]@%E…À‰x1Ò‰î‰ßè½Ûûÿƒøÿ…äAƒüÿt €=×,…!‹Ç,ƒû „âƒû¾½„Ï‹=@%…ÿ‰q1Ò‰î‰ßèfÛûÿƒøÿ…Aƒüÿt €=”,…ú‹„,ƒû „ ƒû¾½„ø‹ ®?%…ɉz1Ò‰î‰ßèÛûÿ€ƒøÿ…/Aƒüÿt€=J,f…Ê‹8,ƒû „óƒû¾½„à‹N?%…Ò‰R1Ò‰î‰ßè¯Úûÿƒøÿ…ÖAƒüÿt €=,…£‹õ+ƒû „Ôƒû¾½„Á‹÷>%…À‰C1Ò‰î‰ßèXÚûÿ„ƒøÿ…wHÇÀÐÿÿÿdÇHƒÄ(¸ÿÿÿÿ[]A\A]Ë5÷;%‹=õ;%D1ÒèÚûÿéSûÿÿ@H|$¾dQè¹mùÿ¾H‰çèL¥ûÿƒøÿ…žûÿÿéüÿÿfD‹ ^>%¾½…ɉ«ûÿÿé1Ò‰ßè¯Ùûÿ‹5>%…Òuƒøÿ„Œº‰>%…Ò‰úûÿÿéêûÿÿ@¾½éÉûÿÿ1Ò‰ßègÙûÿ‹í=%…Òuƒøÿ„dº‰Õ=%…Ò‰üÿÿéùûÿÿ@1Ò‰ßè/Ùûÿ‹µ=%…Òuƒøÿ„Lº‰=%…Ò‰9üÿÿé"üÿÿ@¾½é ûÿÿ1Ò‰ßèçØûÿ‹m=%…Òuƒøÿ„$º‰U=%…Ò‰Jüÿÿé:üÿÿ@¾½é·ûÿÿf„1Ò‰ßè—Øûÿ‹=%…Òuƒøÿ„ôº‰=%…Ò‰YüÿÿéDüÿÿ@¾½éÇûÿÿf„1Ò‰ßèGØûÿ‹Í<%…Òuƒøÿ„創<%…Ò‰düÿÿéTüÿÿ@¾½éÑûÿÿf„1Ò‰ßè÷×ûÿ‹}<%…Òuƒøÿ„”º‰e<%…Ò‰küÿÿé[üÿÿ@¾½éáûÿÿf„¾½é"üÿÿ1Ò‰ßè—×ûÿ‹<%…Òuƒøÿ„ôº‰<%…Ò‰iüÿÿéRüÿÿ@1Ò‰ßè_×ûÿ‹å;%…Òuƒøÿ„ܺ‰Í;%…Ò‰Šüÿÿézüÿÿ@¾½éùûÿÿ1Ò‰ßè×ûÿ‹;%…Òuƒøÿ„´º‰…;%…Ò‰¡üÿÿé‰üÿÿ@¾½éüÿÿf„‰-ž8%‰œ8%HƒÄ([]A\A]Ãf„¾½é0üÿÿI}¾xQèRjùÿ¾H‰çèå¡ûÿƒøÿ…²øÿÿé÷øÿÿ€I}¾ŒQè"jùÿ¾H‰ç赡ûÿƒøÿ…Ùøÿÿé&ùÿÿ€I}¾ Qèòiùÿ¾H‰çè…¡ûÿƒøÿ…ùÿÿéVùÿÿ€I}¾´QèÂiùÿ¾H‰çèU¡ûÿƒøÿ…8ùÿÿéùÿÿ€I}¾ÈQè’iùÿ¾H‰çè%¡ûÿƒøÿ…bùÿÿé®ùÿÿ€I}¾ÜQèbiùÿ¾H‰çèõ ûÿƒøÿ…’ùÿÿéÙùÿÿ€I}¾ðQè2iùÿ¾H‰çèÅ ûÿƒøÿ…»ùÿÿéúÿÿ€I}¾Qèiùÿ¾H‰çè• ûÿƒøÿ…âùÿÿé.úÿÿ€I}¾QèÒhùÿ¾H‰çèe ûÿƒøÿ…úÿÿéWúÿÿ€I}¾,Qè¢hùÿ¾H‰çè5 ûÿƒøÿ…9úÿÿé€úÿÿ€HÇÁÐÿÿÿ‰Âdƒ9…áõÿÿéáõÿÿ„1Ò‰î‰ßè•ÔûÿéªöÿÿHÇÁÐÿÿÿ‰Âdƒ9…ùüÿÿéùüÿÿ„HÇÁÐÿÿÿ‰Âdƒ9…ýÿÿéýÿÿ„HÇÁÐÿÿÿ‰Âdƒ9…9ýÿÿé9ýÿÿ„HÇÁÐÿÿÿ‰Âdƒ9…$öÿÿé$öÿÿ„HÇÁÐÿÿÿ‰Âdƒ9…aúÿÿéaúÿÿ„HÇÁÐÿÿÿ‰Âdƒ9…‰úÿÿé‰úÿÿ„HÇÁÐÿÿÿ‰Âdƒ9…¡úÿÿé¡úÿÿ„HÇÁÐÿÿÿ‰Âdƒ9…ÉúÿÿéÉúÿÿ„HÇÁÐÿÿÿ‰Âdƒ9…ùúÿÿéùúÿÿ„HÇÁÐÿÿÿ‰Âdƒ9…)ûÿÿé)ûÿÿ„HÇÁÐÿÿÿ‰Âdƒ9…YûÿÿéYûÿÿ¹9QºH¾ø Q¿ QèØöÿAWAVAUATUH‰ýSHƒìHIÇÇÐÿÿÿH‰t$ÇD$0dA‹dAljD$¾ƒè0ƒø wLHT$0Ld$(A½ÿÿÿÿI‰ÖH‰T$H‰ÓIƒÆ1ÒL‰æH‰ïèS@÷ÿHƒøÿtL9èwH‹T$(¶ €ù.uC=ÿv‹T$1ÀdA‰HƒÄH[]A\A]A^A_ÃL9ów߈¾BHjƒè0ƒø wÍHƒÃ뛀ùu7H9ÕtºH+\$9@Qr¬Hƒ|$t È D$0H‹T$‰‹D$dA‰¸ë’|†HÇÇØÿÿÿdH‹7H…ötH¾ÉöDN „gÿÿÿë¦HÇÆÿÿÿdH‹6H‹6H‹v@HÆdH‰7ëÐf.„AWAVAUATUH‰ýSHƒìHIÇÇÐÿÿÿÇD$0dA‹dAljD$¾ƒè0ƒø wQHT$0Ld$(A½ÿÿÿÿI‰ÖH‰T$H‰ÓIƒÆfD1ÒL‰æH‰ïè?÷ÿHƒøÿtL9èwH‹T$(¶ €ù.uK=ÿv$‹D$dA‰¸ÿÿÿÿHƒÄH[]A\A]A^A_ÄL9ów׈¾BHjƒè0ƒø wÅHƒÃë“€ùt |²HÇÇØÿÿÿdH‹7H…öt.H¾ÉöDN t—H9Õt’H+\$;@Qw„‹T$È D$0dA‰ëHÇÆÿÿÿdH‹6H‹6H‹v@HÆdH‰7ë³AWAVAUATUSH‰óHƒìXƒÿt2ƒÿ „ÙHÇÀÐÿÿÿdÇa¸ÿÿÿÿHƒÄX[]A\A]A^A_ÀHt$@ÆD$@1í1Éf.„¾HƒÃ…ÀtDxЃÿ we…ɶ>t@„ÿtA@¶ÿ<¿DxÐ=ÿw/…ɈuƒÅƒý!¾HƒÃ¹…Àu¼ƒýÉ„1ÀHƒÄX[]A\A]A^A_À…Étäƒø.u߃ýtÚHƒÆ1ÉÆélÿÿÿ@LD$0HÇD$0HÇD$8I@M‰ÄH‰D$(€>:„4HÇÀèÿÿÿ1íE1É1ÉI‰ÞDÔ dL‹8M…ÿ„†I¾E‹,‡E…í„7D‰î¿PQH‰T$H‰L$ L‰D$IƒÆD‰L$D‰$è bùÿH…ÀH‹T$H‹L$ L‹D$D‹L$D‹$t`D)ÐÁå Åýÿÿ‡ ÿÿÿL‰àA¹I‰ÌM…ÿL‰áI‰Ä…zÿÿÿHÇÀÿÿÿdH‹H‹L‹xXHÇÀèÿÿÿIÇdL‰8éQÿÿÿ„Aƒý:…E…Ét]A€>„§þÿÿID$H9D$(‚—þÿÿ‰ëAˆl$E1ÉÁë1íAˆ$HÇÃèÿÿÿI‰ÌdL‹;L‰óénÿÿÿfDHƒÃ€;:„¿þÿÿ1ÀéVþÿÿH…É…JþÿÿL‰óL‰àé?ÿÿÿ‹D$@‰¸é¡ýÿÿE…ÉL‰àtID$H9D$(‚þÿÿ‰ëAˆl$ÁëAˆ$H…ÉtVH9D$(„ùýÿÿ)È…À~*ƒèHc؉ÀHÙIXÿH)öAˆ@IƒèÆHƒéI9ØuéH‹D$0H‰H‹D$8H‰B¸é ýÿÿH9D$(tÞ1Àé¢ýÿÿAƒý.…–ýÿÿID$H9D$(‚†ýÿÿHl$@ÆD$@1ö1ÿD¾ HƒÃE…É„|EQÐAƒú wG…ÿD¶Ut E„Ò„KýÿÿE¶ÒEkÒ GLÐAùÿ‡1ýÿÿ…ÿDˆMu ƒÆƒþýÿÿ¿ëž…ÿ„ýÿÿAƒù.…ýÿÿƒþ„úüÿÿHƒÅ1ÿÆEésÿÿÿƒþŽâüÿÿ‹\$@A‰$éÌþÿÿH‹‡Ã„H‹‡˜Ã„H‹‡ÀHÁè?‰H‹‡˜Ãff.„H‰·˜Ã„H‹‡ Ã„H‹‡¸Ã„H‹‡°Ã„H‹‡¨Ã„Ãffffff.„H‹GH‰þH…Àt ¿ÿàDóÃfDHƒìƒþ ö‡Ç@H©-%Hcö¶ 0u€ùH‹÷tè‚÷ÿf€¼7ØtæH‰÷HƒÄÃDH‰HƒÄÃHƒìƒþ ö‡Ç@HY-%HcöH‹÷¶ 0u €ùtè2÷ÿf€¼7ØH‰ÐtçHƒÄÃfDH‹HƒÄÃHƒì€=-%t èþ÷ÿfDH‰2ö‡Ç@tƇßH‰W8HƒÄÃ@H‰W8HƒÄÃffffff.„ÆÉ,%ÆÃ,%ƽ,%Æ·,%Ʊ,%Æ«,%Æ¥,%ÆŸ,%Æ™,%Æ“,%Æ,%Ƈ,%Æ,%Æ{,%Æu,%Æo,%Æi,%ÄHƒì(HƒïH‰æèàqH‰Â1ÀH…ÒHED$HƒÄ(Ãffff.„UH‰ýSH‰óHƒì(ö†Ç@t €¾ß…æHƒ{8„倽ØH‹}H‹3uZH…ÿ•Àt#€»ØuR„ÀtH…ötH9þt ¶½+%蘊ùÿ€½ÙH‹}H‹suH…ÿ•Àt7€»Ùt.€=+%„Éèt÷ÿ@€=y+%uîH‰t$H‰7ëµDH…öt„ÀtH9þt ¶T+%è.Šùÿ€½ÚH‹}H‹su´H…ÿ•À„I€»Ú„<€=+%u’H‰t$H‰7€½ÛH‹}H‹s…rÿÿÿH…ÿ•À„7€»Û„*€=Þ*%…LÿÿÿH‰t$H‰7D€½ÜH‹} H‹s …*ÿÿÿH…ÿ•À„€»Ü„€=—*%…ÿÿÿH‰t$H‰7D€½ÝH‹}(H‹s(…âþÿÿH…ÿ•À„€»Ý„ú€=P*%…¼þÿÿH‰t$H‰7D€½ÞH‹}0H‹s0…šþÿÿH…ÿ•À„ބâ€= *%…tþÿÿH‰t$H‰7D€½ßH‹}8H‹s8…RþÿÿH…ÿ•À„×€»ß„Ê€=Â)%…,þÿÿH‰t$H‰7D€½àH‹}@H‹s@… þÿÿH…ÿ•À„¿€»à„²€={)%…äýÿÿH‰t$H‰7D€½áH‹}HH‹sH…ÂýÿÿH…ÿ•À„§€»á„š€=4)%…œýÿÿH‰t$H‰7D€½âH‹}PH‹sP…zýÿÿH…ÿ•À„€»â„‚€=í(%…TýÿÿH‰t$H‰7D€½ãH‹}XH‹sX…2ýÿÿH…ÿ•À„w€»ã„j€=¦(%… ýÿÿH‰t$H‰7D€½äH‹}`H‹s`…êüÿÿH…ÿ•À„_€»ä„R€=_(%…ÄüÿÿH‰t$H‰7D€½åH‹}hH‹sh…¢üÿÿH…ÿ•À„G€»å„:€=(%…|üÿÿH‰t$H‰7D€½æH‹}pH‹sp…ZüÿÿH…ÿ•À„/€»æ„"€=Ñ'%…4üÿÿH‰t$H‰7D€½çH‹}xH‹sx…üÿÿH…ÿ•À„€»ç„ €=Š'%…ìûÿÿH‰t$H‰7D€½èH‹½€H‹³€…ÄûÿÿH…ÿ•À„ù€»è„ì€=='%…žûÿÿH‰t$H‰7€ö…Ç@t €½ß…1ÀHƒ}8„HƒÄ([]ÃfDH…ö„Ïûÿÿ„À„ÇûÿÿH9þ„¾ûÿÿ¶É&%袅ùÿé­ûÿÿDH…ö„çûÿÿ„À„ßûÿÿH9þ„Öûÿÿ¶š&%èr…ùÿéÅûÿÿDH…ö„ÿûÿÿ„À„÷ûÿÿH9þ„îûÿÿ¶k&%èB…ùÿéÝûÿÿDH…ö„üÿÿ„À„üÿÿH9þ„üÿÿ¶<&%è…ùÿéõûÿÿDH…ö„/üÿÿ„À„'üÿÿH9þ„üÿÿ¶ &%èâ„ùÿé üÿÿDH…ö„Güÿÿ„À„?üÿÿH9þ„6üÿÿ¶Þ%%貄ùÿé%üÿÿDH…ö„_üÿÿ„À„WüÿÿH9þ„Nüÿÿ¶¯%%è‚„ùÿé=üÿÿDH…ö„wüÿÿ„À„oüÿÿH9þ„füÿÿ¶€%%èR„ùÿéUüÿÿDH…ö„üÿÿ„À„‡üÿÿH9þ„~üÿÿ¶Q%%è"„ùÿémüÿÿDH…ö„§üÿÿ„À„ŸüÿÿH9þ„–üÿÿ¶"%%èòƒùÿé…üÿÿDH…ö„¿üÿÿ„À„·üÿÿH9þ„®üÿÿ¶ó$%èƒùÿéüÿÿDH…ö„×üÿÿ„À„ÏüÿÿH9þ„Æüÿÿ¶Ä$%è’ƒùÿéµüÿÿDH…ö„ïüÿÿ„À„çüÿÿH9þ„Þüÿÿ¶•$%èbƒùÿéÍüÿÿDH…ö„ýÿÿ„À„ÿüÿÿH9þ„öüÿÿ¶f$%è2ƒùÿéåüÿÿDH…ö„'ýÿÿ„À„ýÿÿH9þ„ýÿÿ¶7$%èƒùÿéýÿÿDHƒþÈ…øÿÿH‹³HT$H‰ßèÚöÿÿéøÿÿD1ÀHƒýÈ…ïüÿÿH‰ß¾ègöÿÿH+…HƒÐHƒÄ([]ÃfH‰t$H‰7éeøÿÿUI‰ÉH‰øI‰ðH‰åAWAVAUATSHƒìIÇ dH‹ %(H‰MÈ1ÉH9÷ƒ¡H‹šÀI‹‰HH‰ÞHÁî?H²˜H9ñƒ|E1ÒA»DD¶ ¾ÀHƒÀD!æƒþ@t+þ€tsþÀ„gA€ü/†½èø÷ÿ„Aƒä?M¯¡`LáI9ÀI‰‰HvI‰ßIÁï?Lº˜L9ùr’L‹mÈdL3,%(…ë HeØ[A\A]A^A_ÉÃAƒä?1É1Û„¶8A½HƒÀI!ýIÓåƒÁL ë@„ÿxâI¯™XIÁäI9ÀCÇD K‰ v’I‹‰HH‹šÀélÿÿÿL5 E¶äKc¦LóÿãA¶¹p@€ÿÿD¶ç„ D‰áƒápƒù „ Ž/ ƒù@„ ƒùPD„% ƒù0…äþÿÿH‹²°@€ÿPI‰Ç…Ø HHHƒáøHAH‹ I‰‰HI9À‡Zÿÿÿéçþÿÿf„Aƒä?IÁäI9ÀCÇD †ÄþÿÿI‹‰Hé¥þÿÿI9ÀAÇIÇAÇIÇAÇ(IÇ AÇ8IÇ0AÇHIÇ@ AÇXIÇP(AÇhIÇ`0AÇxIÇp8ALjIÇ€@AǘIÇHAǨIÇ PAǸIǰXAÇÈIÇÀ`AÇØIÇÐhAÇèIÇàpAÇøIÇðx‡½ýÿÿéJýÿÿ@1Û1É@D¶8A¼HƒÀM!üIÓäƒÁL ãE„ÿxáI9ÀH‰šÐ‡}ýÿÿé ýÿÿ@1Û1É@D¶0¾HƒÀL!öHÓæƒÁH óE„öxâ1ö1ÉfDD¶(¿HƒÀL!ïHÓçƒÁH þE„íxâI¯±XHÁãBÇD H÷ÞI9ÀJ‰4 ‡ýÿÿéŽüÿÿD¶8HƒÀM¯¹`LùI9ÀI‰‰H‡Ùüÿÿéfüÿÿ„·0HƒÀI¯±`HñI9ÀI‰‰H‡ªüÿÿé7üÿÿf„‹8HƒÀI¯¹`HùI9ÀI‰‰H‡{üÿÿéüÿÿf.„1Û1É@D¶ A¾HƒÀM!æIÓæƒÁL óE„äxá1ö1ÉDD¶(A¿HƒÀM!ïIÓçƒÁL þE„íxáI¯±XHÁãI9ÀBÇD J‰4 ‡ûûÿÿéˆûÿÿf.„1Û1É@¶8¾HƒÀH!þHÓæƒÁH ó@„ÿxãHÁãBÇD I9À‡±ûÿÿé>ûÿÿ1Û1É@D¶(A¿HƒÀM!ïIÓçƒÁL ûE„íxáHÁãI9ÀBÇD ‡oûÿÿéüúÿÿfD1Û1É@D¶ A¾HƒÀM!æIÓæƒÁL óE„äxáHÁãBÇD éqÿÿÿ1ö1ɶ8HƒÀH‰ûƒãHÓãƒÁH Þ@„ÿxå1Û1Éf„D¶ A¾HƒÀM!æIÓæƒÁL óE„äxáHÁæI9ÀBÇDJ‰‡ÃúÿÿéPúÿÿfM…Ò„.L‰ÓM‹’ I9ÀH‰ßL‰Î¹)óH¥I‰™ ‡‹úÿÿéúÿÿf.„M‹© I9ÀL‰Ï¹)L‰îóH¥M‰• M‰ê‡Túÿÿéáùÿÿ1Û1É@D¶8A¼HƒÀM!üIÓäƒÁL ãE„ÿxáI‰™01É1ÛfDD¶0A½HƒÀM!õIÓåƒÁL ëE„öxáI9ÀI‰™(AÇ@‡Úùÿÿégùÿÿf„1Û1É@¶8¾HƒÀH!þHÓæƒÁH ó@„ÿxãI9ÀI‰™0AÇ@‡Œùÿÿéùÿÿ1Û1É@D¶8A¼HƒÀM!üIÓäƒÁL ãE„ÿxáI‰™(I9À‡MùÿÿéÚøÿÿ@I‰8AÇ@1Û1ÉfD¶0A½HƒÀM!õIÓåƒÁL ëE„öxáHØI9À‡ùÿÿéŽøÿÿ1Û1É@¶8¾HƒÀH!þHÓæƒÁH ó@„ÿxãHÁã1ÉBÇD J‰ 1ÛfDD¶8A¼HƒÀM!üIÓäƒÁL ãE„ÿxáHØëŽ1ö1É„D¶0HƒÀL‰óƒãHÓãƒÁH ÞE„öxä1Û1ɶ8A½HƒÀI!ýIÓåƒÁL ë@„ÿxâƒù?wƒç@tL‰ßHÓçH‰ùH÷ÙH ËI¯™XHÁæI9ÀBÇDJ‰‡øÿÿé ÷ÿÿf1Û1É@D¶8¾HƒÀL!þHÓæƒÁH óE„ÿxâI‰™01É1Û€¶0A¼HƒÀI!ôIÓäƒÁL ã@„öxâƒù?wƒæ@tM‰ÝIÓåM‰îI÷ÞL óI¯™XI9ÀAÇ@I‰™(‡z÷ÿÿé÷ÿÿf„1Û1É@¶0¿HƒÀH!÷HÓçƒÁH û@„öxãƒù?wƒæ@tM‰ßIÓçL‰ùH÷ÙH ËI¯™XI‰™(éÄýÿÿ1Û1Éf.„D¶ ¾HƒÀL!æHÓæƒÁH óE„äxâ1ö1ÉfDD¶0A½HƒÀM!õIÓåƒÁL îE„öxáI¯±XHÁãI9ÀBÇD J‰4 ‡£öÿÿé0öÿÿf1ö1É@¶8HƒÀH‰ûƒãHÓãƒÁH Þ@„ÿxå1Û1Éf„¶8A¿HƒÀI!ÿIÓçƒÁL û@„ÿxâƒù?wƒç@tM‰ÜIÓäL‰áH÷ÙH ËI¯™XHÁæI9ÀBÇDJ‰‡öÿÿé õÿÿf1Û1É@D¶0¾HƒÀL!öHÓæƒÁH óE„öxâHÁã1ÉBÇD J‰ 1ÛDD¶(¿HƒÀL!ïHÓçƒÁH ûE„íxâHØéœüÿÿI‰Ç1öD‰áƒáƒù ‡éôÿÿL-oA‰ÎKc\µLëÿã…Ét ƒù…Èôÿÿ1öéáõÿÿH‹HƒÀ1ÉH…Û„ëõÿÿAƒäpAƒüID÷@„ÿHH‰Ù‰ÏõÿÿH‹ éÇõÿÿH¿HƒÀëÇ1Û1ÉD¶(A¾HƒÀM!îIÓæƒÁL óE„íxáƒù?wŸA€å@t™M‰ÝIÓåL‰éH÷ÙH ËëˆHcHƒÀé|ÿÿÿ‹HƒÀéqÿÿÿ·HƒÀéeÿÿÿ1Û1ÉD¶0A½HƒÀM!õIÓåƒÁL ëE„öxáé=ÿÿÿH‹²¨é õÿÿH‹²¸éÿôÿÿHì`H\$HƒãðéÇùÿÿèèûÿffffff.„AWI‰ÑH‰ÈAVAUATUSHìH9÷H‰ $ƒ…H•%A¸I»@Aº€¶HƒÇPýD¶à€úîvèP÷ÿH ¶êHc©HÊÿâDL‹'HoAƒø?wÕIcøAƒÀL‰$üH‰ïH9þw¯E…Àt½AƒèMcÀJ‹ÄHÄ[]A\A]A^A_ÃD1Ò1É@¶/HƒÇH‰èƒàHÓàƒÁH Â@„íxå1À1Éë €H‰ïD¶'A½HoM!åIÓåƒÁL èE„äxÞƒù?wAƒä@tM‰ÔIÓäL‰áH÷ÙH ȃú&ÿÿÿM…™ÀHcÒ¶<I‹ ÑtA€¼ØI‰Ìu @€ÿ…úþÿÿL‹!IÄéÿÿÿ@1À1Éë f.„H‰ïD¶/HoM‰ìAƒäIÓäƒÁL àE„íxàƒø²þÿÿM…™ÀH˜¶ I‹ÁtA€¼ØI‰Ô…²þÿÿ€ù…„þÿÿL‹"é¡þÿÿ¿H˜H|é¥þÿÿAƒìPAƒü]þÿÿM…™ÀIcĶ I‹ÁtA€¼ØI‰Ôu €ù…2þÿÿL‹"H‰ýéLþÿÿ@Aƒì0H‰ýé<þÿÿ@1Ò1ÉëfH‰ï¶A¿HoI!ÇIÓçƒÁL ú„Àxàƒù?w¨@tL‰×HÓçI‰þI÷ÞL òAƒìpAƒüÅýÿÿM…™ÀIc̶< I‹ÉtA€¼ ØI‰Äu @€ÿ…™ýÿÿL‹ IÔé³ýÿÿAƒøŽýÿÿAƒèƒèAHIcè<L‹$ìHcÑH‹ Ô‡`ýÿÿL-.D¶øKcD½LèÿàE…À„BýÿÿAƒè·HƒÇIcÐHƒ<Ô„býÿÿ˜H˜HÇéWýÿÿAƒøŽýÿÿEhÿAhþA@ýIcÍH˜HcÕL‹<ÌL‹$ÄL‹4ÔL‰4ÌL‰$ÔL‰<ÄéýÿÿDAƒøŽÑüÿÿEhÿA@þMcõH˜N‹<ôH‹,ÄJ‰,ôL‰<Äéèüÿÿ@¶APÿHcÒH9ИüÿÿH)ÂHoL‹$Ôé­üÿÿDAƒøŽyüÿÿA@þH‰ýH˜L‹$ÄéŒüÿÿ@E…À„ZüÿÿAƒèéŠüÿÿfDE…À„BüÿÿA@ÿH‰ýH˜L‹$ÄéUüÿÿDE1ä1Éë f„H‰ï¶HoI‰ÆAƒæIÓæƒÁM ô„Àxâƒù?‡üÿÿ¨@„üÿÿL‰ÐHÓàH‰ÁH÷ÙI ÌéýûÿÿDE1ä1ÉëH‰ï¶HoH‰×ƒçHÓçƒÁI ü„ÒxãéÎûÿÿfDLc'Hoé¼ûÿÿ@D‹'Hoé¬ûÿÿ@D¿?HoMcçé˜ûÿÿ„D·'HoéƒûÿÿD¾'HoMcäépûÿÿD¶'HoécûÿÿHo¶?@€ÿÿD¶ç„#D‰àƒàpƒø „<ŽÉƒø@„!ƒøP„ăø0…õúÿÿI‹‘°@€ÿPI‰ï„èD‰àƒàƒø ‡ÒúÿÿL-ôA‰ÆKcDµLèÿàE…À„²úÿÿAƒè<McøN‹$ütPv.<#„<”„Î< @……úÿÿI÷ÔH‰ýéŸúÿÿ€<„œ<…cúÿÿM…ä‰+üÿÿ€I÷ÜH‰ýémúÿÿ…Àt ƒø…;úÿÿ1ÒéFÿÿÿH‹EHƒÅH…ÀtAƒäpAƒüID×HÐ@„ÿyH‹DI‰Äé(úÿÿI‰ï1ÒéÿÿÿHƒÅHƒåøH‹EHƒÅëÜI‹‘¸éíþÿÿI‹‘¨éáþÿÿM‹$$H‰ýéèùÿÿ¶Ho<„vK<„ <…¢ùÿÿM‹$$é»ùÿÿ1À1ÉëDH‰ïD¶7HoL‰÷ƒçHÓçƒÁH øE„öxáépúÿÿ<…_ùÿÿE¶$$ézùÿÿH¿EHƒÅéÿÿÿHcEHƒÅéÿÿÿ‹EHƒÅéÿÿÿ·EHƒÅéõþÿÿ1À1ÉfD¶uA½HƒÅM!õIÓåƒÁL èE„öxàéÊþÿÿ1À1É€D¶mA¾HƒÅM!îIÓæƒÁL ðE„íxàƒù?‡–þÿÿAƒå@„ŒþÿÿM‰ÕIÓåL‰éH÷ÙH ÈéxþÿÿL9áH‰ýA•ÇE¶çé¶øÿÿI!ÌH‰ý髸ÿÿL‰âL‰àH‰ýHÁú?H÷ùI‰Ô铸ÿÿL¯áH‰ý釸ÿÿI ÌH‰ýé|øÿÿN$!H‰ýépøÿÿIÓäH‰ýéeøÿÿIÓìH‰ýéZøÿÿIÓüH‰ýéOøÿÿI1ÌH‰ýéDøÿÿL9áH‰ý”ÁD¶áé2øÿÿL9áH‰ýAÆE¶æéøÿÿL9áH‰ýAŸÅE¶åé øÿÿL9áH‰ýAžÄE¶äéù÷ÿÿL‰âL‰àH‰ýHÁú?H÷ùI‰Äéá÷ÿÿI)ÌH‰ýéÖ÷ÿÿL9á@œÅD¶åH‰ýéÃ÷ÿÿE‹$$éº÷ÿÿE·$$é°÷ÿÿAW¹AVAUI‰õATUSH‰ûH‰ÞHì(L|$ dH‹%(H‰„$1ÀL‰ÿóH¥ö„$ç@tI€¼$ÿIG8t;H…À„HöƒÇ@tƃßA‹…@HÇC8ƒøtƒøtièTýöÿ@H‹D$Xë¾f„A‹…0ƒøÛö„$ç@H5 %H˜¶ H‹TÄ t€¼øI‰Öt Mµ(ëNf€ùu¢L‹2ëëfDI‹½81ö1ÉD¶/HƒÇH‰èƒàHÓàƒÁH Æ@„íxåH471ÉL‰úèöÿÿI‰ÆL½ %L‰³M‰ì1íI¹@€Aƒ|$wLA‹L$L„Mc‹MÚAÿâfA‹$Hc€¼ø…ËL…‹ÀH‹DÄ t Æ„+ØDH‰ëHƒÅIƒÄHƒýužA€½s…ÐI¹ÿÿÿÿÿÿÿL!‹ÀH‹„$dH3%(…×HÄ([]A\A]A^A_ÃfDA€<(I‹$…xþÿÿÆ„+ØI4IƒÄH‰4ëHƒÅHƒý…ÿÿÿé|ÿÿÿf.„I‹<$1ö1É„¶HƒÇH‰ÐƒàHÓàƒÁH Æ„ÒxæH47L‰ñL‰úL‰D$L‰ $è®ôÿÿL‹ $L…‹ÀL‹D$„ÿÿÿÆ„+ØH‰ëHƒÅIƒÄHƒý…šþÿÿé÷þÿÿDL…‹ÀI‹$„FÿÿÿÆ„+Øé9ÿÿÿfI‹<$1ö1É„D¶HƒÇM‰ÓAƒãIÓãƒÁL ÞE„ÒxãH47L‰ñL‰úL‰D$L‰ $è ôÿÿL‹D$L‹ $A€<(…NýÿÿÆ„+ØéZþÿÿf.„ƒú.ýÿÿL…Œ$àH‹TÄ A¶ H‰Ðu €ù…ýÿÿH‹A€<(t¶éÿüÿÿ„I¸€L ƒÀé+þÿÿH‹³HT$L‰ÿèÝÿÿéŸüÿÿèÜÛûÿfff.„AW1À¹0AVAUATUH‰ýH‰÷SH‰óHƒìóH«HÇ…ÐHÇ… H‹•˜H…Ò„éL‹…ÀHµ¨IÁè?J|ÿè]OH…ÀI‰Ä„¡LcHL‹­¸L‰«HI÷ÙNlMu L‰÷è›?ùÿA€} eIDHx „ß1À1ÉD¶?HƒÇM‰øAƒàIÓàƒÁL ÀE„ÿxãH‰ƒ`1É1À„¶¾HƒÇH!ÖHÓæƒÁH ð„Òxäƒù?wƒâ@t HÇÂÿÿÿÿHÓâH ÐH‰ƒX1É1ÀA€}„G€D¶HƒÇM‰ÓAƒãIÓãƒÁL ØE„ÒxãH‰ƒhƃqÿA¶E1ÉÿÿÿHcHƒÀé2ÿÿÿ‹HƒÀé'ÿÿÿLPIƒâøIBI‹ é3ÿÿÿL‹¨ésüÿÿffffff.„AU1À¹ATI‰ÔUH‰õSH‰ûHì˜óH«H¸@H‰æH‰ßH‰ƒÀH‹”$¸H‰“˜èµöÿÿ…Àu7Hƒ=ˆ$tH5ðÓÿÿH=©%èá±ÿ…Àt €=©%t€=§%„Žè…ðöÿDÆ%€=‰%Æ{%Æu%Æo%Æi%Æc%Æ]%ÆW%ÆR%ÆL%ÆF%Æ@%Æ:%Æ4%Æ.%Æ(%Æ"%…rÿÿÿöƒÇ@H‰¬$€tƃßH´$€H‰ßÇ„$@HÇ„$0HÇ„$(H‰s8H‰æèÊñÿÿL‰£˜HĘ[]A\A]ÃDUH‰åAWL½PýÿÿAVAUI‰ýATI‰ôHuSHÐþÿÿHìˆH‹UH‰ßdH‹%(H‰EÈ1Àè9þÿÿf„L‰þH‰ßè%õÿÿƒøA‰Æt5…Àt1A¾H‹UÈdH3%(D‰ð…­HĈ[A\A]A^A_ÉÃL‰æH‰ßAÿÕ…ÀuÂAƒþtÂL‰þH‰ßèúðÿÿH‹…¸þÿÿH‰ÂHÁ⃼XýÿÿtRƒø5H¿@H…}H ¸þ$H˜¶4H‹ŒÅÐþÿÿt €|¨H‰Êu@€þtèƒîöÿH‹H‰•hÿÿÿé1ÿÿÿHÇ…hÿÿÿé ÿÿÿèÐûÿff.„AWI¿@AVL5Kþ$AUATUH‰ýSH‰óHì˜H‹WH‹GLl$H‰T$H‰$fL‰îH‰ßèõóÿÿƒøA‰Ä„ù…Àt%A¼€HĘD‰à[]A\A]A^A_ÃL‹ $I‰ØH‰éH‹U¾ ¿ÿT$…Àu»H‹„$`H…Àt#I‰ØH‰éH‹U¾ ¿ÿЃøA‰Ätƒøu‹L‰îH‰ßè•ïÿÿH‹„$xH‰ÁHÁáƒ| tOƒø'L…»ÀH˜A¶4H‹Ãt €¼ØH‰Ñu@€þt è.íöÿfDH‹ H‰‹˜é ÿÿÿf„Hǃ˜éðþÿÿL‹ $I‰ØH‰éH‹U¾¿ÿT$…À„ôþÿÿéâþÿÿ€UH‰åAWI‰÷HuAVI‰ÖAUI‰ýATL¥ÐýÿÿSHÀþÿÿRH‰ßPHìøH‹UdH‹%(H‰E¸1Àètûÿÿ¹L‰çH‰ÞóH¥M‰}M‰uL‰æL‰ïèþÿÿƒøt*H‹U¸dH3%(uH‹]ØL‹eàL‹mèL‹uðL‹}øÉÃèôÍûÿL‰æH‰ßèÐÿÿL‹¥hþÿÿH‹½`þÿÿH‰ÃL‰æè0ÎÿÿI‰ÙL‰dH‹EÈND H‹UÐH‹]ØL‹eàL‹mèL‹uðL‹}øH‹mL‰ÄÃffffff.„AVI¾@AUL-Ëû$ATUH‰ýSH‰óHì€f.„H‰æH‰ßè…ñÿÿH‹UH9“„´…À…äH‹„$PH…Àt(I‰ØH‰éH‹U¾¿ÿЃø„½ƒø…¯H‰æH‰ßè\íÿÿH‹„$hH‰ÁHÁáƒ| tFƒø(L…³ÀH˜A¶tH‹Ãt €¼ØH‰Ñu@€þt èôêöÿ@H‹ H‰‹˜éAÿÿÿHǃ˜é0ÿÿÿ…Àu4H‹„$PH…ÀtÆI‰ØH‰éH‹U¾¿ÿЃøtƒøt¦€¸HÄ€[]A\A]A^ÃUH‰åAWHuAVAUI‰ýATL¥ÐýÿÿSHÀþÿÿRH‰ßPHìøH‹UdH‹%(H‰E¸1Àè*ùÿÿ¹L‰çH‰ÞóH¥Iƒ}uL‰æL‰ïèJþÿÿƒøtèêöÿL‰æL‰ïèµûÿÿƒøuëL‰æH‰ßèåÍÿÿL‹¥hþÿÿH‹½`þÿÿH‰ÃL‰æèüËÿÿI‰ÙL‰dH‹EÈND H‹UÐH‹]ØL‹eàL‹mèL‹uðL‹}øH‹mL‰ÄÃff.„UI‰ø¹IƒÀSH‰óHìˆLŒ$€H‰æH‰ådH‹%(H‰„$x1ÀL‰ÏóH«H¹@L‰ÏL‰„$H‰Œ$@è/ïÿÿ‰Â1À…Òt'H‹”$xdH3%(…ÔHĈ[]ÃfDƒ¼$@„²H“´1Àf„‹tE@€þ@ˆ2ts@€þtmHÇD HƒÀHƒÂH=uÔL‹„$(H‹¬$xL‰CL‹Œ$0H‹”$hL‹œ$PH‰kfD‰‹°f‰“²L‰[H‰ØéBÿÿÿf„L‹TEHƒÂL‰T HƒÀH=…bÿÿÿëŒ1ÛëËèÊûÿ€UH‰åAWL=Cø$HuAVLµPüÿÿAUL­ÀþÿÿATI‰üL‰ïSHÐýÿÿRPHìxH‹UdH‹%(H‰E¸1ÀèÜöÿÿ¹H‰ßL‰îóH¥fDL‰öH‰ßè½íÿÿƒø„Ä…À…üH‹… ýÿÿH…Àt(I‰ØL‰áI‹$¾¿ÿЃø„áƒø…ÈL‰öH‰ßèéÿÿH‹…¸ýÿÿH‰ÂHÁ⃼Xüÿÿ„‘ƒø5I¸@L……þÿÿH˜A¶4H‹”ÅÐýÿÿt €¼¨þÿÿH‰Ñu@€þtè"çöÿfH‹ H‰hþÿÿL‰öH‰ßèûìÿÿƒø…>ÿÿÿfH‹U¸dH3%(…ÉH‹]ØL‹eàL‹mèL‹uðL‹}øÉÀHÇ…hþÿÿéèþÿÿ¸ë¹f„H‹…`þÿÿIÇD$¹H‰ßL‰îI‰D$óH¥H‰ÞL‰çè²úÿÿƒø…yÿÿÿH‰ÞL‰ïè^ÊÿÿL‹¥hþÿÿH‹½`þÿÿH‰ÃL‰æèuÈÿÿI‰ÚL‰dH‹EÈNLH‹UÐH‹]ØL‹eàL‹mèL‹uðL‹}øH‹mL‰ÌÃèßÇûÿffffff.„UH‰åAWAVAUI‰ýATSRPHìødH‹%(H‰E¸1ÀHƒu1èœýÿÿH‹U¸dH3%(…¶H‹]ØL‹eàL‹mèL‹uðL‹}øÉÃHÀþÿÿH‹UHuL¥ÐýÿÿH‰ßè‚ôÿÿ¹L‰çH‰ÞóH¥L‰æL‰ïè)÷ÿÿƒøt èoåöÿ€L‰æH‰ßèMÉÿÿL‹¥hþÿÿH‹½`þÿÿH‰ÃL‰æèdÇÿÿI‰ÙL‰dH‹EÈND H‹UÐH‹]ØL‹eàL‹mèL‹uðL‹}øH‹mL‰ÄÃèÎÆûÿH‹zH9~¸H‹vÉH;rFÁÃD@€ÿPSH‰ÐI‰Ë„GD¶ÇH‰ÓD‰Âƒâƒú v è¸äöÿ„L 1êA‰ÒKc ‘J ÿâ@H‹HƒÀH…ÒtAƒàpAƒø„Hò@„ÿyH‹I‰[ÃfDHcHƒÀH…ÒuÐëçf.„‹HƒÀë·„H¿HƒÀë¥fD1Ò1É@D¶AºHƒÀM!ÊIÓâƒÁL ÒE„Éxáƒù?‡oÿÿÿAƒá@„eÿÿÿIÇÁÿÿÿÿIÓáL ÊéSÿÿÿ@·HƒÀéCÿÿÿ@1Ò1É@D¶A¹HƒÀM!ÑIÓáƒÁL ÊE„Òxáéÿÿÿ@H‹HƒÀH…Ò…ÿÿÿéÿÿÿHƒÀHƒàøH‹HƒÀ[I‰Ã@H‰Þéêþÿÿ„Hƒì@€ÿÿt*ƒçpƒÿ t.~ƒÿ0t7ƒÿP@tè9ãöÿf„…ÿu,1ÀHƒÄÃDH‹FHƒÄÀH‹FHƒÄÀƒÿtÏèöâöÿfDAT1ÀH…ÿUH‰ýSu []A\ÃD‹1Û…ÀuH‰Ø[]A\ÄL‹%z$M…ät H=íò$èÓ±ÿH‹ó$H…Ût'H9kH ó$u ëZDH9ktOHC(H‹[(H…ÛuíH‹îò$H…Ût=H‰ÚHßò$ëDH‹KH9)tGH‹[(H…ÛtHB(H‰ÚöC uáH9kuäH‹s(H‰0M…ät H=`ò$è{Ò±ÿH…Û…Bÿÿÿè âöÿDH‹S(H‰H‹{èhëøÿëÊfDéûþÿÿff.„Hƒì‹…ÒuHƒÄÃèÛþÿÿHƒÄH‰Çé/ëøÿffffff.„UH‰ý¿0SHƒìèÍùøÿHÇ@ Æ@ H‰ÃfH øHƒ=Èx$HÇÿÿÿÿHÇ@HÇ@H‰ht0H=œñ$è·Ñ±ÿH‹Èñ$H=‰ñ$H‰C(H‰¶ñ$HƒÄ[]é“ѱÿH‹¤ñ$H‰P(H‰™ñ$Y[]Ãffff.„HÇF ÆF fN øHƒ=>x$SHÇÿÿÿÿH‰óH‰VH‰NH‰~t+H=ñ$è1ѱÿH‹Bñ$H=ñ$H‰C(H‰0ñ$[éѱÿH‹#ñ$[H‰V(H‰5ñ$Ãfffff.„HÇF ÆF fN øHƒ=¾w$SHÇÿÿÿÿH‰óHÇFHÇFH‰~t+H=Žð$è©Ð±ÿH‹ºð$H={ð$H‰C(H‰¨ð$[éŠÐ±ÿH‹›ð$[H‰V(H‰5ð$ÃfDH…ÿSH‰ót‹7…öu [ÀHƒ=8w$HÇC HÇÿÿÿÿH‰SH‰KH‰{fÇC øt+H=ð$è!бÿH‹2ð$H=óï$H‰C(H‰ ð$[éбÿH‹ð$H‰S(H‰ð$[Ãfffff.„H…ÿSH‰ótD‹E…Àu[ÃDHƒ=¨v$HÇF HÇÿÿÿÿHÇFHÇFH‰~fÇF øt+H=nï$è‰Ï±ÿH‹šï$H=[ï$H‰C(H‰ˆï$[éjϱÿH‹{ï$[H‰V(H‰5oï$ÃfDUH‰ýSHƒìD‹E…ÒuHƒÄ[]Ä¿0èööøÿD‹MH‰ÃE…ÉtÛHƒ=úu$HÇ@ HÇÿÿÿÿHÇ@HÇ@H‰hfÇ@ øt0H=Àî$èÛαÿH‹ìî$H=­î$H‰C(H‰Úî$HƒÄ[]é·Î±ÿH‹Èî$H‰P(H‰½î$éaÿÿÿAWAVAUATUSH‰ÓHƒÃHƒì8H‹BH‰T$ H‰|$H‰t$H‰D$HÑè‰ÂA‰Æƒê‰T$(ˆD‹|$Gt6ÿÇ$‰T$,D‰|$E‰÷D‹t$(D+4$D‰ýD9|$ŽÉDeD;d$|QHcõIcÖH‹|$L$óL,ÓI‹$I‹uÿT$…À‰—D-;D$I‹}M‹$M‰EI‰<$}}A‰î‰ÅDeD;d$}¯LcÍH‹|$N,ËJ‹TËI‹uÿT$…ÀˆÄA‰ìMcÖI‹UH‹|$J,ÓH‹uÿT$…Ày-I‹EL‹]H‰ECl$;l$M‰]}E‰æéAÿÿÿf.„ƒ$AƒïD‹$$D9d$,‰ ÿÿÿ‹D$ƒè…À‰D$Ž:H‹L$ A‰ÆH˜E1íD‰t$(D‰l$L|Áf.„D‹L$D+L$L‹D$ I‹H‹|$ D‰ $ƒ<$I‹pH‰WI‰7ŽÈE1ö½DeD9$$OLcÝMcÖH‹|$N$ÛN,ÓI‹$I‹uÿT$…À‰I‹EM‹4$M‰uI‰$D-9$~vA‰î‰ÅDeD9$$~±HcÍH‹|$L,ËH‹TËI‹uÿT$…Àˆ†A‰ìIcöI‹UH‹|$H,óH‹uÿT$…Ày'I‹UH‹}H‰UCl$9,$I‰}~ E‰æéEÿÿÿDƒD$D‹d$(IƒïD+d$E…äìþÿÿHƒÄ8[]A\A]A^A_ÃDIcìL,ëé3þÿÿ@IcìL,ëéqÿÿÿfff.„AWAVAUE1íATUH‰õSH‰ûHƒìD‹&E…ä„L=&áE1ÉE1À1À‹U…Ò„ãHcÒH÷ÚLdL9à„ÿA€|$ z„ƒ·C 1ÿ1öE1À1ÒE1ÉA‰ÃfAãøfAûø„6fÁè„Àt€K @€þPHU„ü‰øI‰Öƒàƒø †Ûè®ÚöÿfDH‹H…ÀtA‰úAƒâpAƒúMEñLð@„öyH‹@€þÿ„Œƒçƒÿ„¿Z…ÿu³H‰ÂH…À„ÊH‰ÐIƒÅH;ƒºH‰L‰à@‹}Hl=D‹eE…ä…ýþÿÿHƒÄL‰è[]A\A]A^A_Ãf„A€øPD‰ÆA¶øHUt7‰øI‰Öƒàƒø ‡;ÿÿÿH £ßA‰ÂJc‘HÈÿàA‰ÃOcŸMúAÿâHƒÂƒçHƒâøƒÿH‹…Aÿÿÿ·ÈH‰ÂH‰Èé@ÿÿÿ…À…Aÿÿÿ„L‰àéHÿÿÿ„Mt$ L‰÷è“ùÿID fD¶0HƒÀ@„öxô@¶8HƒÀ@„ÿxôA€|$„ÀD¶HƒÀE„ÀxóIN€D¶HƒÀE„ÉxóA¶V€úRt"€úPH‰Ætx€úL…?HƒÁHƒÀ¶€úRuß¶€úÿD¶Â…hD‰ÆA¶øE1É·C ‰ÁfáøfùøtfÁè¶ÀD9À…ÝýÿÿéÜýÿÿfDD¶òf%øAÁæD ðf‰C é¾ýÿÿ¶HƒÀƒâ€úP„Õƒâƒú ‡¾ýÿÿLŽÞ‰ÒMc4’MÖAÿæfDD¶HƒÀE„ÛxóHƒÁ¶€úR…+ÿÿÿéGÿÿÿfD¶0HƒÀ@„öyÙ¶0HƒÀ@„öxèëËfDƒÿ„gþÿÿƒÿ@„”ýÿÿèõ×öÿD1Éé;þÿÿf„HƒÁHƒÀ¶€úR…¼þÿÿéØþÿÿ€HƒÁHƒÀ¶€úR…œþÿÿé¸þÿÿ€HƒÁHƒÀ¶€úR…|þÿÿé˜þÿÿ€H¿éÒüÿÿ€1À1É@D¶A»HƒÂM!ÓIÓãƒÁL ØE„Òxáƒù?‡›üÿÿAƒâ@„‘üÿÿºHÓâH‰ÑH÷ÙH Èé{üÿÿHcésüÿÿ„‹édüÿÿf„·éSüÿÿ„1À1É@D¶AºHƒÂM!ÚIÓâƒÁL ÐE„Ûxáéüÿÿ@1ÿ1öE1À1ÒE1ÉéÚýÿÿ€HƒÁHƒÀ¶HƒàøHƒÀ€úR…|ýÿÿé˜ýÿÿ€HƒÀéDýÿÿD‰Àƒàpƒø t*…À„ƒýÿÿƒø…¦ûÿÿéuýÿÿ@L‹KD‰ÆA¶øékýÿÿƒø0tƒøP…ûÿÿféLýÿÿL‹KD‰ÆA¶øéCýÿÿ„ATUSD·G fAÁèA€øÿE¶Ð„ÄD‰Ðƒàpƒø „…~ƒø0tNƒøPtf„èËÕöÿ…ÀutE1ÉA€øPHFt5D‰×I‰Äƒçƒÿ wÙH5úÛA‰ûJcžH 3ÿáDA€øPL‹OHFuËHƒÆHƒÂHƒæøHƒâøH‹6H‹:陀L‹Oë™f.„ƒøt‡èFÕöÿfDH‹0H…ötD‰ÓL‰Èƒãpƒû„>HÆE„ÀˆZHƒÂƒÿ H‰Õ‡:ÿÿÿHÛNc$˜I<ÿçf„H‹:H…ÿtAƒâpAƒú„ÚLÏE„ÀˆÚH9÷¸ƒà[]A\ÃH¿:ëÅfHc:뾋:ë·@·:ë®1ÿ1É@D¶HƒÂM‰ÜAƒäIÓäƒÁL çE„Ûxãë„1ÿ1É@¶HƒÂH‰ÃƒãHÓãƒÁH ß„Àxæƒù?‡Xÿÿÿ¨@„PÿÿÿHÇÂÿÿÿÿHÓâH ×é>ÿÿÿ‹0éäþÿÿHc0éÛþÿÿ„H¿0éÊþÿÿ€·0é»þÿÿ„H‹0H…ö„ÊþÿÿD‰Ñƒápƒù„íLÎE„À‰¯þÿÿf„H‹6éžþÿÿ„1ö1É@¶(HƒÀH‰ëƒãHÓãƒÁH Þ@„íxåéKþÿÿ„1ö1É@¶½HƒÀH!ÝHÓåƒÁH î„Ûxäƒù?‡þÿÿƒã@„ þÿÿHÇÀÿÿÿÿHÓàH Æéûýÿÿ„D‰×HFE1Ƀçƒÿ I‰Ä‡GýÿÿH-ÐÙA‰ûJcLH4)ÿæfHïE„À‰&þÿÿH‹?éþÿÿ@L‰àéºýÿÿH9þÀéþÿÿfDAWAVAUI‰ÕATUH‰õSH‰ûHƒì·G fÁè<ÿD¶Àt9D‰Àƒàpƒø „*~ ƒø0„ƒøPtf.„è{Òöÿ…À…1ÿD‹eE…ät`E1ÿ‹E…ÀtEöC t"H˜H÷ØLtM9÷tE1À1ÿA€~ z„†M‰÷E…Àu>H‹EH‹UH…Àt L‰éH)ÁH9ÑrE‰äJl%D‹eE…äu£1íHƒÄH‰è[]A\A]A^A_ÃA€øPHEE‰ÁE¶Ð„ÓD‰ÒI‰Æƒâƒú ‡IÿÿÿH5¶Ø‰ÒLc–IóAÿãfDM~ L‰ÿèÄùÿID €¶HƒÀ„ÒxõD¶HƒÀ„ÉxõA€~„Úf¶0HƒÀ@„öxôIO¶8HƒÀ@„ÿxôA¶W€úRt+f.„€úPH‰Æt8€úL…?HƒÁHƒÀ¶€úRußD¶A€ùÿE¶Á…~1ÿéÐþÿÿfD¶HƒÀƒâ€úP„-ƒâƒú ‡aþÿÿLØA‰ÓOcšMÐAÿàDD¶8HƒÀE„ÿxóHƒÁ¶€úR…hÿÿÿë‡fD¶HƒÀ„ÒyݶHƒÀ„ÒxêëЄH‹é þÿÿ€H‹éùýÿÿ€ƒø„çýÿÿèRÐöÿfH‹HƒÀH…Òt$E‰ÓAƒãpAƒûLE÷LòE„Éy H‹f.„D‰Áƒáƒáƒù ‡ŽýÿÿH5c׉ÉLc4ŽIöAÿæH‹0A€ùÿ„ÕýÿÿAƒâAƒú„ý·E…Ò…NýÿÿH‰ÐH…À„¬ýÿÿM‰êI)ÒI9òƒýÿÿé«ýÿÿfDHƒÁHƒÀ¶€úR…Tþÿÿépþÿÿ€HƒÀéÇþÿÿ€HƒÀé·þÿÿ1ö1ÉD¶A¾HƒÀM!ÞIÓæƒÁL öE„Ûxáƒù?‡KÿÿÿAƒã@„Aÿÿÿ¸HÓàH‰ÁH÷ÙH Îé+ÿÿÿ1ö1É@D¶0A»HƒÀM!óIÓãƒÁL ÞE„öxáéÿþÿÿ·0é÷þÿÿHc0éïþÿÿ‹0féæþÿÿH¿0éÝþÿÿ1Ò1ÉfDD¶¾HƒÀL!ÞHÓæƒÁH òE„Ûxâé\þÿÿ1Ò1ɶ0A»HƒÀI!óIÓãƒÁL Ú@„öxâƒù?‡0þÿÿƒæ@„'þÿÿ¾HÓæH‰ñH÷ÙH ÊéþÿÿHcHƒÀéþÿÿ‹HƒÀéúýÿÿ·HƒÀéîýÿÿH¿HƒÀéáýÿÿf.„AƒútJAƒú„Bþÿÿè ÎöÿHEHƒàøH‹HƒÀéÔýÿÿ@E1À1ÿé°ûÿÿfD·Âé þÿÿ„H‰ÐƒàÿéúýÿÿDHƒÁHƒÀ¶HƒàøHƒÀ€úR…düÿÿé€üÿÿ€HƒÀé+üÿÿD‰Àƒàpƒø t#…À„müÿÿƒø…ñúÿÿé^üÿÿH‹{é)ûÿÿƒø0tƒøP…Ñúÿÿé>üÿÿH‹{é ûÿÿffffff.„U1ÀSH‰ûHƒì€ ztHƒÄ[]ÄHo H‰ïè$ùÿHD €¶HƒÀ„ÒxõD¶HƒÀ„Éxõ€{„K¶HƒÀ„ÛxõHM¶0HƒÀ@„öxô¶UH9Ô€úRt%@€úPH‰Æt(€úL…ÏHƒÁHƒÀ¶€úRuß¶HƒÄ[]ÃD¶HƒÀƒâ€úP„­ƒâƒú vèPÌöÿ‰ÕHc<«HßÿçDD¶HƒÀE„ÀxóHƒÁ¶€úRu„ë£fD¶HƒÀE„ÉyãD¶HƒÀE„ÉxæëÔ@HƒÁHƒÀ¶€úR…Lÿÿÿéhÿÿÿ€HƒÀëªf.„HƒÀëšf.„HƒÄ1À[]ÀHƒÁHƒÀ¶HƒàøHƒÀ€úR…ôþÿÿéÿÿÿ€HƒÀéºþÿÿffffff.„AWAVAUATUSH‰ÓHƒìXHƒþ/H‹WH‹/A—ÂwHƒþ‡“¸ÿÿÿÿéf.„D‹k(E…ítÙH‹O H; ä™$…ÙH‹G(H;{Û$…ÌH‹5Ý$1À1ÉH…öt8L‹ H‰ð€L‹M9ȇÔL‹XM9ˇßM…Û…ÉM…À…À·HƒïHƒÿÿ„‹E1ÉE1äE1öE1íE1À@‹2ƒþt1þPåtd„-ƒþ„4HƒïL‰ÎHƒÿÿ„˜HƒÂ8‹2ƒþuÏI‰ëLZL‹;M9ûwqL‰ÞHr(I9÷seM‰ÜA¾@HƒïHƒÿÿt[HƒÂ8I‰ñëD1ÀHƒÄX[]A\A]A^A_ÀHƒx„7ÿÿÿL‹@(I‰ÃM…À„0ÿÿÿL‰ÀL‰ÙéúþÿÿfHƒïL‰ÎHƒÿÿu¥M…öt®E„Òt?H…É„ÉH…À„ÀL‹P(H‹=ÌÛ$L‰Q(H‰x(H‰½Û$H‰hL‰@L‰h L‰ H‰pM…À„aÿÿÿIh€}„¬HƒÄX¸[]A\A]A^A_ÀL‰ÎI‰ÐéÿÿÿDL‰ÎI‰ÕéÿÿÿH‹G(H‰ ú—$H‰›Ù$H Û$H½Ù$L5æÙ$L%Ú$L8Ú$L aÚ$LŠÚ$H5³Ú$H‰ ÔÚ$H‰Û$HÇzÙ$HÇwÙ$1ÀL‰5ŽÙ$HÇ‹Ù$1ÉHdžÙ$L‰%ŸÙ$HÇœÙ$HÇ™Ù$L‰²Ù$HǯÙ$HǬÙ$L‰ ÅÙ$HÇÂÙ$HÇ¿Ù$L‰ØÙ$HÇÕÙ$HÇÒÙ$H‰5ëÙ$HÇèÙ$HÇåÙ$HÇÚ$HÇÿÙ$HÇÚ$ÇC(é3ýÿÿH9ðH‹hL‹@„UþÿÿH‹P(H‰Q(H‰p(H‰ìÙ$é=þÿÿ¶}H‰Þè[äÿÿ¶}HL$HHUH‰ÆèÆâÿÿ¶}I‰Ä@€ÿÿt €};„¤HÇ$L‹SH‹t$HL‰T$H‹{HÇD$ H‰t$ÆD$ H‹H‰|$H‰çè‚ôÿÿH…ÀH‰C „ÒýÿÿHcPH÷ÚH|èúÿÿL‹s D¶èH‰ÞD‰ïèÁãÿÿIƒÆHL$8H‰ÆL‰òD‰ïè*âÿÿL‹|$8¸L‰{éÙüÿÿH‹Ù$éNýÿÿ@¶ÿH‰Þèãÿÿ¶}HL$@H‰ÆL‰âèëáÿÿH‹t$@H…ö„Jýÿÿ¨…&ÿÿÿLc(H‹;N|-L9ÿ‚.ýÿÿHƒîL$ðIc $HT H9×sOH…ö„Å1ÉëH‰ÖH‰ÊH9òƒ²H‰ÑH1HÑêL$ÐMc $ND L9ÇrÕHƒÂLc4ÐN\5L9ßsÉH9ÎvIct$Ll5IcEH÷ØI|èñøÿÿ<ÿ¶øty‰øƒàƒøthG…ÀuM¸HL$8ITƒç1öèáÿÿIc$I‰ÄLd$8IìL9#sL‰k H,(¸H‰ké©ûÿÿƒøt ƒøt³è¸Åöÿ¸ë¬1À1Ééëúÿÿ¸ëœ1Àë˜ffff.„AWAVAUATUH‰ÕSH‰ûHƒìH‰t$·G fÁè<ÿ¶øt8‰øƒàpƒø „ê~ ƒø0„σøPtf.„è;Åöÿ…À…1ö‹U…Ò„³E1öL-ÝÌL% Íë9Hƒ}t!L‹D$I‹H…ÀtL‹HJ‰lÈIƒÁL‰H‹EHlD‹}E…ÿtg‹E…ÀtèöC tH˜H÷ØL|M9þt1ÿ1öA€ ztPM‰þ…ÿt™@€ÿPHUA‰øD¶Ï„$D‰ÈI‰×ƒàƒø ‡Bÿÿÿ‰ÁIcDLèÿàfDHƒÄ[]A\A]A^A_ÃMw L‰÷èt ùÿID €¶HƒÀ„ÉxõD¶0HƒÀ@„öxôA€„ ¶8HƒÀ@„ÿxôIND¶HƒÀE„ÀxóA¶V€úRt*f„€úPH‰Æt8€úL…HƒÁHƒÀ¶€úRußD¶A€ùÿA¶ù…M1öéÿÿÿfD¶HƒÀƒâ€úP„mƒâƒú ‡QþÿÿA‰ÓOcœMâAÿâ@H‹séIþÿÿ€H‹sé9þÿÿ€D¶0HƒÀE„ö‰£D¶0HƒÀE„öxâé‘D¶HƒÀ„Ò‰}¶HƒÀ„Òxæëp@ƒø„ßýÿÿè Ãöÿf.„H‹H…ÀtE‰ÊAƒâpAƒúLEþLøE„ÀyH‹A€øÿ„ìýÿÿAƒáAƒùto@E…É…ýÿÿH…À„Îýÿÿé¨ýÿÿHƒÀHƒÁ¶€úR…¬þÿÿéÈþÿÿHƒÀëåHƒÀëßAƒùtBAƒù…8ýÿÿë·fDL}AƒáIƒçøAƒùI‹u‘%ÿÿë•@1ÿ1öé—ýÿÿ€ƒàÿéyÿÿÿ„HƒÀHƒàøHƒÀésÿÿÿ€HƒÀéûýÿÿH¿é ÿÿÿ1À1ÉfD¶AºHƒÂM!ÚIÓâƒÁL ÐE„Ûxáéßþÿÿ·é×þÿÿ‹féÎþÿÿHcéÆþÿÿ1À1É€D¶A»HƒÂM!ÓIÓãƒÁL ØE„Òxáƒù?‡“þÿÿAƒâ@„‰þÿÿºHÓâH‰ÑH÷ÙH Èésþÿÿ‰øƒàpƒø t%…À„Ÿýÿÿƒø…üÿÿéŽýÿÿH‹séüÿÿƒø0tƒøP…ñûÿÿénýÿÿH‹séoüÿÿffffff.„AWAVAUATUSH‰ûHƒìxH‰t$8¶G ¨tr¨„ L‹KE1íM‹qL‰L$0M9î†OO$.L‹\$0IÑìK‹lãLcUI÷ÚN|A€ z„ÜHE1Ò1ö1ÿE1ÀA‰ñI‰Ç‰ÖD‰Êƒâƒú †è€Àöÿ‹W A‰ÕAÁí E‰íM…í„îJ,íH‰ïèŠØøÿH…ÀH‰D$`„7HÇ@H‰ïèlØøÿH…ÀH‰D$htHÇ@öC „n H‹kH‹UH…Òt#Ld$`fDHƒÅL‰æH‰ßèiúÿÿH‹UH…ÒuèH‹l$`H…íI‰êt L;m…TÿÿÿöC L5žuf÷C øL5¯éÿÿH¸ÚÿÿLDðL‹d$hM…äM‰ã„ÿ H‹M1À1ÒH…É„^1ÀI‰ÈL îÏ$L‰éLhH}M‰ÏM9èH‰|$0M‰|ĆŒDL|ÅM9Ïu$ëf@L+|$0IÁÿIWM‹<ÔIÇÔM9ÏtDH‰L$L‰D$H‰ßL‰L$(L‰T$L‰\$ J‹tíI‹AÿÖ…ÀH‹L$L‹D$L‹L$(L‹T$L‹\$ xžL‰èLhM‰|ÄM9è‡yÿÿÿIxÿ1À1ÒI‰ÍL‰ÁƒçIƒ|$„ ºHƒù¾†jH…ÿ„Hƒÿ„ÚHƒÿ„²Hƒÿ„ŠHƒÿtfHƒÿtBHƒÿtIƒ|ô„ìL‹LõL‰LÕHƒÂHƒÆIƒ|ô„ L‹|õL‰|ÕHƒÂHƒÆIƒ|ô„üL‹LõL‰LÕHƒÂHƒÆIƒ|ô„¥L‹|õL‰|ÕHƒÂHƒÆIƒ|ô„šL‹LõL‰LÕHƒÂHƒÆIƒ|ô„0L‹|õL‰|ÕHƒÂHƒÆIƒ|ô„%L‹LõL‰LÕHƒÂHƒÆH9ñ‡ùéQ€L‹DõL‰DÕHƒÂHƒÆIƒ|ô„§L‹|õL‰|ÕHƒÂH~Iƒ|ü„vL‹LýL‰LÕHƒÂH~Iƒ|ü„EL‹|ýL‰|ÕHƒÂH~Iƒ|ü„L‹LýL‰LÕHƒÂH~Iƒ|ü„ãL‹|ýL‰|ÕHƒÂH~Iƒ|ü„²L‹LýL‰LÕHƒÂH~Iƒ|ü„L‹|ýL‰|ÕHƒÂHƒÆH9ñ†]Iƒ|ô…ÿÿÿL‹LõM‰LÄHƒÀéÿÿÿ¨„H‹oH‹uH…ö„¨ HƒÅH‰ßèôàÿÿH‹uIÅH…öuè‹C D‰îæÿÿ‰ñ‰òÁá %ÿ ÈL9ê‰C t%ÿ‰C M…í…«ûÿÿL‹D$8L9‡…¶C ¨… ûÿÿ¨…zH‹sH‹T$8H‰ßèéÿÿH‰Åë]D·K fA÷Áø…H‹sH‹|$81ÒH‹^H9Óv6Hë fH9ÂH‰Ãs&HÐHÑèH‹lÆH‹ML‹EH9ÏràLÁH9ÏrHPëÅ1íHƒÄxH‰è[]A\A]A^A_ÃL“ÉÒIc ’LÑÿáH‹wèóßÿÿI‰ÅéÿÿÿfAÁéL‹{A€ùÿA¶Ñt!‰Ðƒàpƒø „ïT …Àt ƒø…’úÿÿE1äA‰ÒM‹_ƒâpAƒâ‰T$0E1ÀA¶úD‰ÓƒçH‰\$@‰ýH‰l$HM9؃^ÿÿÿK4HÑîA€ùPI‹l÷HE„ËAƒú I‰Æ‡4úÿÿH‹L$@L- ÃIcTLêÿâH‹HƒÀH…ÒtAƒápAƒùIDÿHúE„ÀyH‹ƒæƒæƒþ ‡ìùÿÿH=þÂA‰ðNc<‡IÿAÿçH‹0H9T$8ƒQM9ì†ÄþÿÿM‰æémùÿÿH‹l$`L‹d$hI‰RI‰CM‹T$LUM9Õ…•ùÿÿL‰âL‰öH‰ßèÌÛÿÿH‹T$hH‹L$`H‹BH‰T$HH‰L$@H…À„ûHlÂL‹aH‰\$0H‰l$XI‰êDHXÿM…äM‹:H‰\$P„{I\$ÿL‹\$@ItH‰ÙƒáKlãM,ó„H‰L$L‰úH‹uH‹|$0AÿÖ…ÀH‹L$Ž6L‹eHƒíM‰eIƒíHƒùI‰ÜtcHƒùt.L‰úH‹uH‹|$0AÿÖ…ÀH[ÿŽüH‹uI‰ÜHƒíI‰uIƒíL‰úH‹uH‹|$0AÿÖ…ÀI\$ÿŽÍH‹}I‰ÜHƒíI‰}IƒíL‰úH‹uH‹|$0AÿÖ…ÀI\$ÿŽžL‹eH…ÛHMøMEøM‰e„ˆH‰L$L‰D$L‰úH‹uøH‹|$0I‰ÜAÿÖ…ÀH‹L$L‹D$~[L‹ IƒìL‰úH‹|$0M‰H‹uðAÿÖ…À~>L‹EðL‰úH‹|$0LcþM‰EðH‹uèAÿÖ…À~L‹]èLcýHƒí M‰]èIƒí éLÿÿÿfDL‰ãH‹T$PH‹L$@Hƒl$XLlH…ÒN‰<étH‰ÐI‰ÜL‹T$Xé?þÿÿH‰ÈH‹L$HL‹t$hH‹\$0L‹yLxL‰t$HH‹|$HèVÁøÿH‹|$`H‹SH‰H‰{€K é¸ûÿÿIw H‰÷H‰t$(èÜýøÿH‹T$(ID f¶HƒÀ„ÉxõD¶8HƒÀ@„ÿxôA€„qf„D¶8HƒÀE„ÿxóHJ€D¶HƒÀE„Àxó¶R€úRu'é±D€úL…–öÿÿHƒÀHƒÁ¶€úR„€úPH‰ÆuÛ¶HƒÀƒâ€úP„ƒâƒú ‡öÿÿL Å¿A‰ÒKc‘LÊÿâD¶HƒÀE„Ûy©D¶HƒÀE„Ûxæëš¶0HƒÀ@„öy޶0HƒÀ@„öxèë€HƒÀéwÿÿÿH‹SHt$`H‰ßèñÿÿé¬öÿÿD¶HEA€øÿA¶ð…õI‰ÇA‰ñ1ÿéåõÿÿL‹cI‹4$H…öuéåúÿÿ€IƒÄI‹4$H…ö„ÏúÿÿH‹T$8H‰ßèrãÿÿH…ÀH‰ÅtÚéµúÿÿL‹DýM‰DÄHƒÀézùÿÿH‹|ýI‰|ÄHƒÀéIùÿÿL‹DýM‰DÄHƒÀéùÿÿH‹|ýI‰|ÄHƒÀéçøÿÿL‹DýM‰DÄHƒÀé¶øÿÿH‹|ýI‰|ÄHƒÀé…øÿÿL‹DõM‰DÄHƒÀéTøÿÿL‹}¸M‰|$éæöÿÿL‹DõM‰DÄHƒÀéË÷ÿÿH‹|õI‰|ÄHƒÀéÖ÷ÿÿH‹|õI‰|ÄHƒÀé÷ÿÿL‹DõM‰DÄHƒÀéV÷ÿÿH‹|õI‰|ÄHƒÀéa÷ÿÿL‹DõM‰DÄHƒÀéôöÿÿH‹|õI‰|ÄHƒÀéÿöÿÿHƒÀéœýÿÿHƒÀHƒàøHƒÀéÃýÿÿL,L;l$8‡oùÿÿMl$é ôÿÿH‹HƒÀH…Òtƒ|$0MEôLòE„ÉyH‹ƒÿ ‡7ôÿÿH‹L$HL-¬½MctMîAÿæH‹H9T$8ƒ°L9Ɔ ùÿÿI‰óé¦ùÿÿHƒÀéBýÿÿHƒÀé9ýÿÿ1ö1ɶ8AºHƒÀI!úIÓâƒÁL Ö@„ÿxâƒù?‡ïùÿÿ@€ç@„åùÿÿA¿IÓçL‰øH÷ØH ÆéÎùÿÿ1ö1ÉD¶A»HƒÀM!ËIÓãƒÁL ÞE„Éxáé¦ùÿÿ1Ò1ÉD¶A»HƒÀM!ÓIÓãƒÁL ÚE„Òxáƒù?‡8ùÿÿA€â@„.ùÿÿAºIÓâL‰ÑH÷ÙH ÊéùÿÿHcHƒÀé ùÿÿ‹HƒÀéùÿÿ·HƒÀéôøÿÿ1Ò1ÉD¶AºHƒÀM!ÚIÓâƒÁL ÒE„ÛxáéÌøÿÿH¿HƒÀé¿øÿÿ·0éùøÿÿH¿0éðøÿÿHc0éèøÿÿ‹0éáøÿÿL‹céøÿÿH¿HƒÀéGþÿÿ1Ò1ɶA½HƒÀI!ÝIÓåƒÁL ê„Ûxãƒù?‡þÿÿ€ã@„þÿÿ»HÓãH‰ÙH÷ÙH ÊéþýÿÿHcHƒÀéòýÿÿ‹HƒÀéçýÿÿ·HƒÀéÛýÿÿ1Ò1ÉD¶(HƒÀL‰ëƒãHÓãƒÁH ÚE„íxäé¶ýÿÿ1Û1ÉD¶(A¾HƒÀM!îIÓæƒÁL óE„íxáƒù?‡ÆýÿÿA€å@„¼ýÿÿ¸HÓàH‰ÁH÷ÙH Ëé¦ýÿÿ1Û1ÉD¶0A½HƒÀM!õIÓåƒÁL ëE„öxáé~ýÿÿH¿éuýÿÿ·@éiýÿÿHcéaýÿÿ‹éYýÿÿHEHƒàøH‹HƒÀé"ýÿÿHÚH;T$8‡YöÿÿLFéçöÿÿƒø0tƒøP…=ñÿÿfé¤öÿÿâÿ‰W é˜õÿÿL‹céöÿÿH‰êL‰öH‰ßèVÓÿÿé«ùÿÿ‰òƒâpƒú t+/…Òt ƒú…óðÿÿ1ÿA€øPu6HƒÀHƒàøH‹HƒÀéÜöÿÿH‹{ëàƒú0tƒúP…ÃðÿÿëÎfDH‹{ëĉòé—ðÿÿAVAUATI‰ÔUH‰õSHcFH‰ûH÷ØLlA€} ztDHc-5ºL .ºHF1Ò1ÿ1öI‰ÀJL ÿáƒù0„ˆƒùP„^„è˰öÿMu L‰÷èÜöøÿID €¶HƒÀ„ÒxõD¶0HƒÀ@„öxôA€}„¡f„¶8HƒÀ@„ÿxôIND¶HƒÀE„ÀxóA¶VH5ï¹€úRt#f€úPH‰ÇtX€úL…çHƒÁHƒÀ¶€úRuß¶HE€úÿ¶ú…‚I‰À1ö‰ùƒáƒù ‡9ÿÿÿL f¹A‰ÊKc,‘JL ÿá@¶HƒÀƒâ€úP„µƒâƒú ‡ÿÿÿA‰ÓNcžIòAÿâ@D¶(HƒÀE„íxóHƒÁ¶€úR…PÿÿÿélÿÿÿD¶0HƒÀE„öyÛD¶0HƒÀE„öxæëÌ@H‹(H…ítƒçpƒÿ„$Hõ„Òˆ$IcT$H÷ÚMlA€} z„qHc ¹L ÿ¸IƒÄ1À1ö1ÿL‰ãN Aÿà€I‹$H…ÒtƒçpƒÿHDÃHÂ@„öy H‹f.„H9Õ¸ÛH9ÕFÃ[]A\A]A^ÀHƒÁHƒÀ¶€úR…lþÿÿéˆþÿÿ€1í1É@D¶A½HƒÀM!ÝIÓåƒÁL íE„Ûxáéÿÿÿ@·(éÿÿÿ„‹(éôþÿÿf„Hc(éãþÿÿ„1í1É@D¶A¾HƒÀM!ÎIÓæƒÁL õE„Éxáƒù?‡«þÿÿAƒá@„¡þÿÿHÇÀÿÿÿÿHÓàH Åéþÿÿ@H¿(é‚þÿÿ€HƒÀé7þÿÿ€HƒÀé'þÿÿ€Mu L‰÷èäóøÿID €¶0HƒÀ@„öxô@¶8HƒÀ@„ÿxôA€}„ÑD¶HƒÀE„ÒxóIN€D¶HƒÀE„ÛxóA¶VH5“·€úRt+f.„€úPH‰ÇtX€úL…?HƒÁHƒÀ¶€úRuß¶0IƒÄ@€þÿ@¶þ…'L‰ã1À‰úƒâƒú ‡7üÿÿL·A‰ÓKc šN Aÿáf¶HƒÀƒâ€úP„ƒâƒú ‡üÿÿA‰ÖNc,¶IõAÿå@¶HƒÀ„Òy9¶HƒÀ„Òxêë,„D¶HƒÀE„ÀyD¶HƒÀE„Àxæë@HƒÀHƒÁ¶€úR…ÿÿÿé8ÿÿÿHƒÀëåHƒÀëßHE1Ò1ÿ1öI‰Àé/üÿÿfDLń҉ÜüÿÿH‹méÓüÿÿ@HƒÁHƒÀ¶HƒàøHƒÀ€úR…¼ûÿÿéØûÿÿ€IƒÄ1À1ö1ÿL‰ãéÙþÿÿfDHƒÀékûÿÿ€HƒÀHƒàøHƒÀéKÿÿÿ€HƒÀé4þÿÿ€I¿$é’üÿÿfD1Ò1É@E¶$A¹IƒÄM!ÁIÓáƒÁL ÊE„Àxàƒù?‡[üÿÿAƒà@„QüÿÿIÇÄÿÿÿÿIÓäL âé?üÿÿIc$é3üÿÿ€A‹$é#üÿÿ€A·$éüÿÿfD1Ò1É@E¶,$A¾IƒÄM!îIÓæƒÁL òE„íxàéßûÿÿ‰øƒàpƒø t,0…Àt ƒø… úÿÿ1À@€þP…ØþÿÿIƒÄIƒäøI‹$éÍûÿÿH‹Cë߃ø0tƒøP…ÙùÿÿëÍ€H‹Cë‰ùƒápƒù t1 ùÿÿ…Ét ƒù…ªùÿÿ1ö€úP…!þÿÿHƒÀHƒàøH‹(éûÿÿH‹sëáH‹sëÛAVAUI‰ýATUSH‰óHƒì0L‹5A$M…öt H=kº$膚±ÿH‹-Ÿº$H…íuéÅDH‹m(H…턳L;mríL‰îH‰ïèâèÿÿH…ÀI‰Ä„–M…ö„:H=º$è1š±ÿM…ä„§H‹MH‰ H‹UH‰S·u fÁîöE ….@€þÿ@¶þID$„B‰úƒâpƒú „òŽ£ƒú0„3ƒúP@„•èe©öÿDM…äH‰E(H‰*…jÿÿÿH‹-Á¹$H…턵H‹E(L‰îH‰ïH‰§¹$èèÿÿI‰ÄH‹ ¹$H™¹$H…Àt´H‹MH;vë©f„H9r›HP(H‹@(H…ÀuîM…äH‰E(H‰*t’é÷þÿÿ…Ò…Š1í@€þPI‰Â„“‰úƒâƒú ‡NÿÿÿL³A‰ÕKc «N AÿáM…ä„yH‹}H‰;H‹uH‰s·u fÁîöE „ñMcD$I÷ØOlA€} zt*1ÿ1ö@€þÿID$…¾þÿÿI‰Â1íë…ƒú…ØþÿÿféfÿÿÿMu L‰÷èOîøÿID f.„D¶HƒÀE„ÉxóD¶HƒÀE„ÒxóA€}„v„D¶HƒÀE„ÛxóIN€D¶(HƒÀE„íxóA¶VH5[²€úRt/f.„€úPH‰Ç„!€úL…6ÿÿÿHƒÁHƒÀ¶€úRuÛ¶0@¶þéÿÿÿH‹1ÀH…ÒtƒçpƒÿIDê@„öHTH‰ÐyH‹H‰CHƒÄ0L‰à[]A\A]A^Ã@€þPH‹mI‰Â…mþÿÿHƒÀHƒàøH‹ëÎH¿ë¤1Ò1É@D¶A¹HƒÀM!ÁIÓáƒÁL ÊE„Àxáƒù?‡tÿÿÿA€à@„jÿÿÿHƒÈÿHÓàH Âé[ÿÿÿHcéSÿÿÿ‹éLÿÿÿ·éDÿÿÿ1Ò1É@D¶0A¸HƒÀM!ðIÓàƒÁL ÂE„öxáéÿÿÿH‹mé¸ýÿÿE1äéüÿÿ¶HƒÀƒâ€úP„݃âƒú ‡úüÿÿ‰ÒLc4–IöAÿæ¶8HƒÀ@„ÿxôHƒÁ¶€úR…Œþÿÿé¬þÿÿ€D¶HƒÀE„ÀxóëÕH=ªÚÿÿH‰æL‰,$HÇD$HÇD$E1äHÇD$HÇD$ ÇD$(è …ÀˆƒþÿÿL‹d$ M…ä„uþÿÿH‹t$H‹l$H‹D$H‰3H‰kéVþÿÿHƒÀéYÿÿÿHƒÀéPÿÿÿHƒÀéGÿÿÿHƒÀHƒàøHƒÀé6ÿÿÿHƒÀé–ýÿÿAW¸AVAUATUSL‰ÃHƒì8ƒÿH‰L$(tHƒÄ8[]A\A]A^A_Ãæ°téL‰Çè‡ÿÿH…ÀI‰Ä„±H…ÛtXH‰ßè‡ÿÿH‰D$E¶,$IƒÄA€ýÿtSE¶õD‰õƒåpƒý „s…턃ý„f.„èˤöÿHÇD$D¶(IƒÄA€ýÿu­H‹l$H‰,$A€<$ÿIl$t@D¶eHƒÅE„äxòD¶}1ÉHƒÅ1ÀDD¶mHƒÅL‰êƒâHÓâƒÁH ÐE„íxãHDH‰ßH‰D$ èé…ÿÿHƒèH9l$ H‰D$†ÁA¶÷A‰ô‰t$ AƒäpA€ÿÿ„ŸAƒü „r¼E…ä…1ÀA€ÿPH‰î…|HƒÅHƒåøL‹mHƒÅAƒü „šÄE…ätAƒü…õþÿÿD1ÀA€ÿP„$‹T$ H‰ïƒâéwDMõL;l$‡ÈH;l$ ƒA€ÿÿ…aÿÿÿH‰î1À‹T$ ƒâƒú ‡˜þÿÿL51®A‰ÑOcŽK 0ÿá@Aƒü@„¦AƒüP„9ÿÿÿAƒü0…bþÿÿ1ÿè+…ÿÿA€ÿP„-ÿÿÿ‹T$ H‰îƒâƒú ‡>þÿÿL5 ®A‰ÑOcŽK 0ÿáf.„Aƒü…þÿÿéÞþÿÿH‰ßèè„ÿÿ„A€ýP„ÖAƒæL‰çAƒþ ‡åýÿÿH5æ­E‰öJc ¶H1ÿâ1ÿ艄ÿÿA€ÿP„›þÿÿ‹T$ H‰îƒâƒú ‡¬ýÿÿLá­A‰ÕKc<«NAÿâ€L‹mHƒÅM…ítAƒü„1IÅE„ÿyM‹mA€ÿÿ…OþÿÿH‰ï1Àƒú ‡UýÿÿL¾­A‰ÑKc4ˆJ ÿáL‹uHƒÅM…ötAƒüHDÇIÆE„ÿyM‹6A€ÿÿ„Aƒü „ÌE…ätAƒü…ôüÿÿ@1ÀA€ÿP„„‹T$ H‰ïƒâƒú ‡ÑüÿÿL n­A‰ÒKc‘J ÿáI‹$IƒÄH…ÒHÇ$„ÌüÿÿƒýHDÇHÐE„íH‰$‰µüÿÿH‹8H‰<$é©üÿÿLcuHƒÅé<ÿÿÿL¿uHƒÅé.ÿÿÿE1ö1ɶuA¸HƒÅI!ðIÓàƒÁM Æ@„öxáƒù?‡ÿÿÿƒæ@„÷þÿÿHÇÆÿÿÿÿHÓæI öéåþÿÿD·uHƒÅé×þÿÿ1ÉE1öf.„D¶UA»HƒÅM!ÓIÓãƒÁM ÞE„Òxàé£þÿÿD‹uHƒÅé–þÿÿL‹mHƒÅM…í…:þÿÿéKþÿÿD‹mHƒÅé#þÿÿD·mHƒÅéþÿÿ1ÉE1í„D¶UA»HƒÅM!ÓIÓãƒÁM ÝE„ÒxàéãýÿÿLcmHƒÅM…í…×ýÿÿéèýÿÿL¿mHƒÅM…í…ÀýÿÿéÑýÿÿE1í1Éf„¶}A¾HƒÅI!þIÓæƒÁM õ@„ÿxáƒù?‡€ýÿÿƒç@„wýÿÿHÇÇÿÿÿÿHÓçI ýéeýÿÿDH‹uHƒÅH…ötAƒüHDÇHÆE„ÿy H‹6„¶EHƒÅ„ÀxôLl$L;l$†Ôûÿÿ¸éúÿÿH¿uHƒÅë¯1ö1ɶUA¹HƒÅI!ÑIÓáƒÁL ΄Òxâƒù?w…ƒâ@t€HÇÂÿÿÿÿHÓâH ÖénÿÿÿHcuHƒÅéaÿÿÿ‹uHƒÅéUÿÿÿ·uHƒÅéHÿÿÿ1É1ö@D¶]HƒÅM‰ØAƒàIÓàƒÁL ÆE„ÛxâéÿÿÿD1ÀéñûÿÿA·$IƒÄé.ýÿÿ1É1Ò€E¶$A¹IƒÄM!ÁIÓáƒÁL ÊE„ÀxàéþüÿÿI¿$IƒÄéðüÿÿ1Ò1ÉA¶4$AºIƒÄI!òIÓâƒÁL Ò@„öxàƒù?‡Âüÿÿƒæ@„¹üÿÿIÇÃÿÿÿÿIÓãL Úé§üÿÿIc$IƒÄéšüÿÿA‹$IƒÄéüÿÿfAƒü@„¶AƒüP„<úÿÿAƒü0…"ùÿÿ1ÿèëÿÿé(úÿÿfDH‰ï1Àé,üÿÿfDAƒü@„ÂAƒüP„üûÿÿAƒü0…âøÿÿ1ÿè«ÿÿéèûÿÿfD1ÿè©ÿÿé“ùÿÿ@HƒÅHƒåøL‹uHƒÅé•ûÿÿƒý@„˜ƒýP„žþÿÿƒý0…øÿÿH‰ßèUÿÿé€úÿÿ1ÿè9ÿÿé†ùÿÿ@1ÿèIÿÿévùÿÿ@HƒÅHƒåøH‹uHƒÅé‹ýÿÿH‰ðéÇúÿÿ1ÿèÿÿéFûÿÿ1ÿèí~ÿÿé:ûÿÿ„IƒÄIƒäøI‹$IƒÄH‰$é/øÿÿH‰ßè¿~ÿÿéúùÿÿH…ö„MýÿÿH‹,$Hõ„@ýÿÿH‹T$(1öH‰ßèõ~ÿÿ1Ò¾H‰ßèæ~ÿÿH‰îH‰ßè[~ÿÿ¸é1÷ÿÿAW¸AVI‰öAUI‰ýATUSHƒìXH…Àt ¿àÙr踌±ÿH‹°$1ÉL‹¤$ˆ‹-‰°$HƒêH…Ò~WHÒL<Åà#sI‹H…Ût6@A‹GHÅL;£@rL;£Hs€»‰úH‰ÑH‹[H…ÛuÎHƒêIƒïHH…ÒµHÉE1ÿLd$H‹Åà#sH…Ûu&é“L‰ò¾@L‰çAÿÕ…ÀA‰Çu{H‹[H…ÛtrH‹HÇD$HH‰D$H‹CH‰D$H‹ƒ H‰D$ ·ƒ°f‰D$(H‹Ù®$H‰D$0H)èH‰D$8H‹ƒHH…ÀH‰D$@t‹H‰ßèãþÿH‰D$Héyÿÿÿf„¸H…Àt ¿àÙrè|‹±ÿHƒÄXD‰ø[]A\A]A^A_Ãf.„L‰æH‰ßH‰T$H‰ $è\±ûÿ…ÀH‹T$H‹ $„äþÿÿéÜþÿÿfDH‰\$ðH‰l$øHƒìXH‹«®$H‰ûH‰õH…ÀtMH‹Q®$f‰D$H‰çH‹ ®$HÇ$HÇD$‡óPH‰T$‹Æ®$H‰D$ H)ÐH‰ò¾@H‰D$(ÿÓ…Àu H‰îH‰ßèØýÿÿH‹\$HH‹l$PHƒÄXÃf„¸H…Àt ¿àÙr錊±ÿÃUH‰åSHƒìH‹¸*$Hƒøÿt»H rDHƒëÿÐH‹HƒøÿuñHƒÄ[ÉÃSH‹8¬$H…Ût<H‹{H‹Hÿ°8OH‰¬$tè$£øÿH‹{è£øÿH‰ßè£øÿH‹ü«$H…ÛuÇH‹=([$Hÿ§8Otèò¢øÿH‹=³†$¾Gè!>ûÿH‹=ª†$HÇ—†$H…ÿt%f.„H‹H‰††$è±¢øÿH‹=z†$H…ÿuå[ÃUSHƒìH‹»†$H…Ûu ë.@H‰ëH‹{H…ÿtè'H‹;H‹kèk¢øÿH‰ßèc¢øÿH…íuÖHƒÄ[]ÃAUATUSH‰ûHƒìH‹¿¸Hÿ`@Otèþ‹öÿHƒ{xtWE1ä1ífë#fDI‹}Hƒÿÿtè¹ÃûÿHƒÅIƒÄH9kxv+M‰åLkpI‹}èë¡øÿI‹}HGÿHƒøýwÅèØ¡øÿë¾fDH‹{pèÇ¡øÿ¸H…Àt H»€è¡ˆ±ÿH‹{ 訡øÿ‹C…Àu!H‹;虡øÿHƒÄH‰ß[]A\A]釡øÿ€H‹sH‹;è42ûÿëÙHƒìH‹í‹$ÆÞ‹$H…ÀtDf„H‹°¸H‹¸°HÆÿHæðÿÿèï1ûÿH‹°‹$H‹€¨H…ÀH‰Ÿ‹$uÅHƒÄÃHƒìH‹=õ•$H…ÿtè‹ØùÿH‹=–$HÇÙ•$HÇÖ•$èÙ øÿH‹=ê•$HÇו$è øÿHÇÏ•$HƒÄÃS¾1Àƒ=á©$t ð±5—$ujë ±5ü–$u_¾ s1À¹!H‰÷H‹—$Hlj©$óH«ƒ=Ÿ©$t ðÿ Æ–$uEëÿ ¼–$u;H…ÒuëH‰ÚH‹H‰×è2 øÿH…Ûuí[ÃH=”–$Hì€èhQûÿHÄ€ë…H=x–$Hì€è|QûÿHÄ€ë©AUATUSHƒìH‹—Ÿ$H…Û„²L‹#HÇ€Ÿ$M…ätPI‹l$H…íu ë+@L‰íH‹}(H…ÿt ¾GèÚ:ûÿL‹mH‰ï莟øÿM…íuÙI‹,$L‰çè}ŸøÿH…ítI‰ìë³H‹kH…íuë2„L‹eH‰ïèTŸøÿM…ätL‰åH‹}HGÿHƒøýwÝ舲ûÿëÖHƒÄH‰ß[]A\A]é$ŸøÿHƒÄ[]A\A]ÃH‹=Ñž$HƒÿÿtHÇÀž$ÿÿÿÿéóžøÿóÃH‹=A¨$HƒÿÿtHÇ0¨$ÿÿÿÿéÞøÿóÃH‹=A¨$HƒÿÿtHÇ0¨$ÿÿÿÿ铞øÿóÃH‹=!¨$HƒÿÿtHǨ$ÿÿÿÿécžøÿóÃAUATUSHƒìH‹=ר$H;=¨¨$u ë@H‰ßH‹è%žøÿH9ލ$uìH‹U¨$H…ÀtjA½à#sE1äI‹mH…ítKfDH‹E8H‹xHÇ@H…ÿu ëH…ÛtH‰ß‹GH‹_…ÀuíèÈøÿH…ÛuèH‹mH…íuÂH‹ó§$IƒÄIƒÅHI9ÄrŸHƒÄ[]A\A]ÃAUI‰ýATUSHƒìH‹OH…É„H‹W1ÛE1äDH‹p…ö~5H‹h@H…ít,Hƒ8t{HÁÍdH3,%0H‰ïè©®ûÿH‰ßI}ÿÕI‹UI‹MIƒÄHƒÃhI9Ìr³H‹zèøÿI‹EI‹UHƒèH @HˆH‹| èôœøÿI‹}èëœøÿHƒÄL‰ï[]A\A]éÙœøÿH‹W븹àÄOº»¾PÄO¿`ÄOèZFöÿf.„AVAUATUSH‹o H‰ûH…턹L‹e M…ätBI‹|$ H…ÿtèÐÿÿÿI‹|$0H…ÿtèÁÿÿÿë fDM‰ìI‹D$M‹l$(€8/„zM…íuåL‹e0M…ätOI‹|$ H…ÿtè…ÿÿÿI‹|$0H…ÿtèvÿÿÿë @M…ít&M‰ìI‹D$M‹l$(€8/uéL‰çèœøÿë߀L‰åH‹EL‹e(€8/„ÔM…äuçH‹k0H…í„¥L‹e M…䄨M‹l$ M…ítþÿÿ¸H…ÀtHÇÀ_ÿº üP¿dH‹H‹0èþÿÿ¸H…ÀtHÇÀ_ÿº`ýP¿ dH‹H‹0èðýÿÿ¸H…ÀtHÇÀ_ÿº þP¿ dH‹H‹0èÉýÿÿ¸H…ÀtHÇÀ_ÿº þP¿ dH‹H‹0è¢ýÿÿ¸H…ÀtHÇÀ_ÿº Q¿ dH‹H‹0è{ýÿÿH‹=ôY$Hÿe£Ntèf•øÿHÇÛY$e£NHƒÄéUSHƒìH‹£–$H…Û„Rf.„H‹{H‹+è$•øÿH‹{H‹G H…ÀtÿÐH‹{è •øÿH‹{H‹G H…ÀtÿÐH‹{èô”øÿH‹{ H‹G H…ÀtÿÐH‹{ èÜ”øÿH‹{(H‹G H…ÀtÿÐH‹{(èÄ”øÿH‹{0H‹G H…ÀtÿÐH‹{0謔øÿH‹{8H‹G H…ÀtÿÐH‹{8è””øÿH‹{HH‹G H…ÀtÿÐH‹{Hè|”øÿH‹{PH‹G H…ÀtÿÐH‹{Pèd”øÿH‹{XH‹G H…ÀtÿÐH‹{XèL”øÿH‹{`H‹G H…ÀtÿÐH‹{`è4”øÿH‹{hH‹G H…ÀtÿÐH‹{hè”øÿH‹{pH‹G H…ÀtÿÐH‹{pè”øÿH‰ßèü“øÿH…ítH‰ëé¿þÿÿ€H‹q”$HÇ6•$H…ÀtPH=°suO‹5o”$H‹8HÇE”$èp$ûÿH‹Y”$H…Ûuë!fH‰ë‹s H‹;H‹kèN$ûÿH‰ß膓øÿH…íuáHƒÄ[]ùPàOº¾÷ßO¿àOè=öÿHƒì¾1Àƒ=Žœ$tð±5¬”$…}ë ±5”$urH‹=”ˆ$H;=”$tKHÇ€ˆ$ƒ=Qœ$t ðÿ p”$udëÿ f”$uZH‹=e”$¾Gè+.ûÿHÇP”$HƒÄÃH…ÿt°èÎ’øÿHÇ;”$ëžH="”$Hì€èþCûÿHÄ€éoÿÿÿH=”$Hì€èDûÿHÄ€ëŠUSHƒìH‹Kž$H…ÀtE1í@H‹<(H…ÿt€H‹èP’øÿH…ÛH‰ßuðH‹ž$HƒÅHýøuÌ^[]H‰Çé)’øÿ[[]ÃHƒìH‹=…”$H…ÿtH‹H‰v”$è’øÿH‹=j”$H…ÿuåH‹=f”$è鑸ÿHÇV”$HƒÄÃAW¸AVAUI‰ýATUSHƒì(H‹H…Û„FH‹kH…턳L‹eM…ä„XM‹t$M…ö„ËM‹~M…ÿ„I‹WH…Ò„`H‹JH…É„ýH‹qH…ö„[H‹FH…À„šHxH‰T$H‰L$H‰t$è]ÿÿÿ„ÀH‹T$H‹L$H‹t$„¦H‹~L‹M…Òt01ÀHƒI‰øté‰f„M‹H(IƒÀM…ÉusHƒÀI9ÂwêH‰T$H‰L$H‰t$èÆøÿH‹t$H‹L$H‹T$HÇFH‹qL‹M…É„€1ÿHƒ~H‰ðu#HƒÇI9ù†dL‹@(HƒÀM…ÀtæfD1ÀfDHƒÄ([]A\A]A^A_Ãf„L‰çèHøÿHÇEH‹kH‹uH…öt11ÒHƒ}H‰èu·HƒÂH9òsfDH‹H(HƒÀH…Éu›HƒÂH9òrêH‰ïèúøÿHÇCI‹]H‹3H…öt81ÒHƒ{H‰Ø…fÿÿÿHƒÂH9òsDH‹H(HƒÀH…É…GÿÿÿHƒÂH9òræH‰ßè¦øÿIÇEHƒÄ(¸[]A\A]A^A_Ãf.„H‰ÏH‰T$èsøÿH‹T$HÇBI‹WH‹:H…ÿt:1ÉHƒzH‰Ð…Úþÿÿf.„HƒÁH9ùsH‹p(HƒÀH…ötê1Àé»þÿÿH‰×èøÿIÇGM‹~I‹7H…ö„1ÒIƒL‰ø…€þÿÿHƒÂH9òswH‹H(HƒÀH…Étê1ÀékþÿÿL‰÷èÈŽøÿIÇD$L‹eI‹4$H…ö„^þÿÿ1ÒIƒ|$L‰à…-þÿÿDHƒÂH9òƒ;þÿÿH‹H(HƒÀH…Étæ1Àéþÿÿ€L‰ÿèhŽøÿIÇFM‹t$I‹6H…ötƒ1ÒIƒ~L‰ð…ÓýÿÿHƒÂH9Ö†cÿÿÿH‹H(HƒÀH…Étæ1Àé·ýÿÿH‰÷H‰T$H‰L$è ŽøÿH‹L$H‹T$HÇAH‹JL‹M…À„kþÿÿ1öHƒyH‰È…kýÿÿHƒÆI9ð†KþÿÿH‹x(HƒÀH…ÿtæ1ÀéOýÿÿ€USHƒìH‹ã—$H…Àt»ø#s1íHƒ;…HƒÅHƒÃHH9ÅréH‹I–$H‹{H…ÿtSHƒÇè—ûÿÿ„ÀtFH‹{H‹7H…öt-1ÀHƒH‰útë,f„H‹J(HƒÂH…ÉuHƒÀH9Æwêè%øÿHÇCH‹=f—$HÇ[—$HƒÄ[]éøÿH‹Sø‹J; Û–$…`ÿÿÿH‹Æ–$H‹:HÇH‰èÔŒøÿH‹ —$é;ÿÿÿHÇÀðÿÿÿdH‹dHÇH…ÒtV¾1Àƒ=Ú•$t ð±5¬€$u>ë ±5¡€$u3H‹¤€$H‰‚pH‰–€$ƒ=§•$t ðÿ z€$u(ëÿ p€$uóÃH=e€$Hì€è=ûÿHÄ€ë±H=I€$Hì€è¡=ûÿHÄ€ëÆUSHƒìHÇÅ(ÿÿÿdH‹]‹C…ÀuHƒÄ[]Ë»ô…ÿxHcÿ¸ƒ£øüǃôÿÿÿÿH‹»H…ÿt6‹ƒƒøÿtHcø¸H‹»ǃÿÿÿÿ蔋øÿHǃH‹» H…ÿt6‹ƒ ƒøÿtHcø¸H‹» ǃ ÿÿÿÿèR‹øÿHǃ H‹»(H…ÿt6‹ƒƒøÿtHcø¸H‹»(ǃÿÿÿÿè‹øÿHǃ(fǃdH‹EHÇ@HƒÄ[]ÃHƒìèßsñÿHƒÄÃ%s version: %s %s library version: %s %s device-mapper version: %s1.0.0.rc16 (2009.09.16) static debug %s: Device-Mapper Software RAID tool * = [-d|--debug]... [-v|--verbose]... [-i|--ignorelocking] %s {-a|--activate} {y|n|yes|no} * [-f|--format FORMAT[,FORMAT...]] [-P|--partchar CHAR] [-p|--no_partitions] [--separator SEPARATOR] [-t|--test] [-Z|--rm_partitions] [RAID-set...] %s {-b|--block_devices} * [-c|--display_columns][FIELD[,FIELD...]]... [device-path...] %s {-n|--native_log} * [-f|--format FORMAT[,FORMAT...]] [--separator SEPARATOR] [device-path...] %s {-r|--raid_devices} * [-c|--display_columns][FIELD[,FIELD...]]... [-D|--dump_metadata] [-f|--format FORMAT[,FORMAT...]] [--separator SEPARATOR] [device-path...] %s {-r|--raid_devices} * {-E|--erase_metadata} [-f|--format FORMAT[,FORMAT...]] [--separator SEPARATOR] [device-path...] %s {-s|--sets}...[a|i|active|inactive] * [-c|--display_columns][FIELD[,FIELD...]]... [-f|--format FORMAT[,FORMAT...]] [-g|--display_group] [--separator SEPARATOR] [RAID-set...] %s {-f|--format FORMAT} {-C|--create RAID-set} {--type RAID-level} [--size [0-9]...[kKgG][bB]] [--str[i[de]] [0-9]...[kK][bB]] {--disk[s] "device-path[, device-path..."} %s {-R|--rebuild} RAID-set [drive_name] %s [{-f|--format FORMAT}] {-S|--spare [RAID-set]} {-M|--media "device-path"} invalid option argument for -%cno arguments/options given (-h for help) option missing/invalid option combination with -%cinvalid option combination (-h for help)no arguments allowed with -%c more options needed with -d/-vinvalid format for -f at (see -l)a:hipP:bc::dDEf:glxM:nrR:s::tvVC:S::Zcommands.c%s {-h|--help} %s {-l|--list_formats} * %s {-x|--remove RAID-set} %s {-V/--version} arguments missingthe raid set name is missinginvalid separator "%s"inactiveyesnooptions missing activatepartcharno_partitionsblock_devicesdisplay_columnsdump_metadataerase_metadatadisplay_grouphelpignorelockinglist_formatsmedianative_lograid_devicesremoveseparatortestverbosesparerm_partitionssave_spare_namechecking format identifier %stoollib.cDea%sctivating %s raid set "%s"valid_formatRAID set has no devices!activate/activate.cCan't get rebuild drive #!libdmraid-events-Un%sed RAID type %s[%u] on %ssupportdefin%U %U %s %u %u %s %U%U %U %scan't find smallest mirror!nosync0 %U %s core 2 %u %s %u 1 handle_errorsRAID set "%s" already activeRAID set "%s" was activatedNo devices in RAID set!0 %llu errorCan't get index of "%s"%s [%sactive]RAID set "%s" is not activeDevice suspend failed.Device resume failed.%s: invalid activate type!_err_targetCan't rebuild w/o metadata_handler for %sspare set "%s" cannot be activatedno mapping possible for RAID set %screating degraded mirror mapping for "%s"RAID set "%s" can't be activatedRAID set "%s" was not activatedCannot create error target for missing disk(s) in degraded array!can't find smallest RAID4/5 member!0 %U %s core 2 %u %s %s 1 %u %u %dchange_setdm_raid45create_error_targetadd_rd_dummydm_raid1dm_raid0dm_lineardelete_error_targetunknown%lu %lu %31s %nactivate/devmapper.cDMRAID-%sInvalid format in table line %ddevice-mapper target type "%s" is not in the kernelmkdm_pathdisplay/display.c%-7s : %s (%s)supported metadata formats:*ERR*N/Adevpathsectorsserialnumber%s:%lu:"%s"%s: %12lu total, "%s"dataoffsetraidname%s:%s:%s:%s:%s:%lu:%lustridesubsets%s:%lu:%u:%s:%s:%u:%u:%u*** Group superset %sSupersSubsActive *Inconsistent* ***-->%s %s%s%setBlock%s device%s discovered: %s: unknown device type"%s" doesn't support native logging of RAID device information%s: %s, "%s", %s, %s, %lu sectors, data@ %luname : %s size : %lu stride : %u type : %s status : %s subsets: %u devs : %u spares : %ulog_fieldslog_devices%s: zero sectors on %sformat/format.cregistering formatallocating %s metadatachecking %s device "%s"set status of set "%s" to %u%s: setting up RAID device %s%s: RAID type %u not supported%s: RAID type mismatch in "%s" on %s%s: stride inconsistency detected on "%s"%s: wrong # of devices in RAID set "%s" [%u/%u] on %s%s: size mismatch in set "%s", spare "%s"writing metadata to %s, offset %lu sectors, size %zu bytes returned %dget_format_capsregister_format_handlerno locking selection yetlocking/locking.cunlocking %sflock lockfile %sclose lockfile %sopening lockfile %s/var/lock/dmraid/.lockUNDEF%s: allocatinglog/log.cINFONOTICEDEBUGERRORFATALfailed to provide dev infometadata/metadata.cErastoWrit%sing metadata %s %sno raid %s with format: "%s" and with names: " About to delete RAID set %s coding errorDo you want to continueerasing ondisk metadata on %s%s.%swriting %s to file "%s"%lu changing directory to %s..datwriting metadata file "%s"no write_set%s: %-7s discovering%s: %s metadata discoveredformat handler string is NULL%s: searching %s_find_set: %sfound %snot RAID set %s already existsadded %s to RAID set "%s"adding %s to RAID set "%s"removing RAID set "%s"unknown format type: %sno RAID set name providedno hard drives specifiedfailed to find disk %skKmMgG-Ctoo few argumentsfailed to config sizefailed to config stripeunknown optionfailed to build a RAID setno RAID set foundadding %s to RAID setyou must be rootlock failurefailed to discover devicesno block devices foundstrstristripstridsetupbrokeninconsistentraid10raid30raid40raid50raid60raid01raid03raid04raid05raid06GROUPpartitionstripedmirrorraid4raid45raid5_lsraid5_rsraid5_laraid5_raraid6format "%s" doesn't support writing metadatawriting RAID subset "%s", continuingwriting RAID device "%s", continuingno failed subsets or no device in subset foundCannot find a RAID set to deleteFailed to locate the raid device%s is active and cannot be deleted About to delete the raid super-set "%s" with the following RAID sets WARNING: The metadata stored on the raidset(s) will not be accessible after deletionRaid set deletion is not supported in "%s" formatDo you really want to erase "%s" ondisk metadata on %sfailed to allocate pointer arrayfreeing devices of RAID set "%s"freeing device "%s", path "%s"lib context RAID set list not emptyallocating directory name for %sdropping unwanted RAID set "%s"metadata creation isn't supported in "%s" formatfailed to build the created RAID set%s: "%s" and "%s" formats discovered (using %s)!failed to provide an array of diskskeeping degraded mirror set "%s"removing inconsistent RAID set "%s"failed to provide a valid RAID typename %s is longer than %d charsfirst character of a name must be an alphanumeric charatername %s has non-alphanumeric charactersdisk %s is duplicated on the disk listfailed to allocate space for a raid_devfailed to provide a valid RAID set nameeither the required RAID set not found or more options requiredonly one argument allowed for this optionfailed to get the existing RAID set infodiscovering partitions on "%s"created partitioned RAID set(s) for %s_namecreate_raidsetdiscover_raid_devicesfind_or_alloc_raid_set_find_setalloc_dev_infoàC%s: no handler for %xmetadata/reconfig.c%s: disk is not in a set!RM: Discovered raid sets:RM: GROUP name: "%s"UNKNOWNRM: GROUP_DISK name: "%s"RM: SUPERSET name: "%s"RM: SUBSET name: "%s"metadata fmt update failed unknown metadata formatraid volume "%s" not found can't get rebuild drive !RM: REBUILD drivie #: "%d"Nuking SpareVolume "%s" not found Can't rebuild RAID set "%s"%s: can't remove a group raid_dev from a raid_set.RM: SUPERSET_DISK name: "%s"RM: SUBSET_DISK name: "%s"metadata creation is not supported in "%s" formatmetadata_handler() is not supported in "%s" formathot-spare cannot be added to existing raid set "%s" in "%s" formatVolume "%s" is not in rebuild state (current: %u) Volume "%s" is not in rebuild state create failed fmt handler missing %s: disk already in another set!%s: can't add a group raid_dev to a raid_set.disk %s cannot be used to rebuildingRebuild: raid0 cannot be rebuild Rebuild: a hot-spare drive not found for a volume: "%s". Need a drive to rebuild a volume. Volume "%s" is not in rebuild state (current: %u)Rebuild: cannot rebuild from current state! rebuild: raid "%s" rebuild finished Rebuild: raid "%s" rebuild failed del_dev_in_sethandle_devadd_dev_to_setadd_dev_to_arraywritopening "%s"misc/file.c%s: %sing %s[%s]creating directory %smkdir %sdirectory %s not found%s: seeking device "%s" to %lumk_dir_recursivedso/dev/zero1.0.0.rc16(2009.09.16),allocating library context lc_stralloc_optlc_strcat_optwhich sgpiosgpio app not foundsgpio -d %s -s rebuildsgpio -d %s -s offUnknown LED statusmisc/misc.c ? [y/n] :Call to sgpio app (%s) failed %s: unknown format identifier %%%cp_fmtsysfs workaroundmisc/workaround.c/dev/%shd?%s: I/O error on device %s at sector %lu0x%03x svBlockStorageTid: 0x%X%s: Could not find device in config table!%s: Can't find a logical array config for disk %x%s: Failed to find RAID configuration line on %s%s: Error creating RAID set for %s%s: Error creating top RAID set for %s%s: Top level array config is not FWL/FWL2?%s: Could not find current disk!%s: unable to allocate memory for %s%s: unable to read metadata on %s%s: ASR v%d detected, but we only support v8%s: Could not read metadata off %s%s: Invalid magic number in RAID table; saw 0x%X, expected 0x%X on %s%s: Invalid RAID config table count on %s%s: Wrong RAID config line size on %s%s: Invalid RAID config table checksum (0x%X vs. 0x%X) on %s%s: reading extended data on %sformat/ataraid/asr.c%s (%s):0x%03x block magic: 0x%X0x%03x sb0flags: 0x%X0x%03x jbodEnable: %d0x%03x biosInfo: 0x%X0x%03x drivemagic: 0x%X0x%03x svtid: 0x%X0x%03x resver: %d0x%03x smagic: 0x%X0x%03x raidtbl @ sector: %d0x%03x ridcode: 0x%X0x%03x rversion: %d0x%03x max configs: %d0x%03x configs: %d0x%03x config sz: %d0x%03x checksum: 0x%X0x%03x raid flags: 0x%X0x%03x timestamp: 0x%X (bootable)0x%03x irocFlags: %X%s0x%03x dirt, rty: %d0x%03x action prio: %d0x%03x spareid: %d0x%03x sparedrivemagic: 0x%X0x%03x raidmagic: 0x%X0x%03x verifydate: 0x%X0x%03x recreatedate: 0x%X RAID config table:0x%03x config ID: 0x%X0x%03x name: "%s"0x%03x raidcount: %d0x%03x sequence #: %d0x%03x level: %d0x%03x type: %d0x%03x state: %d0x%03x flags: 0x%X0x%03x refcount: %d0x%03x hba: %d0x%03x channel: %d0x%03x lun: %d0x%03x id: %d0x%03x offset: %d0x%03x capacity: %d0x%03x stripe size: %d KB0x%03x BIOS info: %d0x%03x phys/log lun: %d0x%03x addedDrives: %d0x%03x appSleepRate: %d0x%03x blockStorageTid: %d0x%03x curAppBlock: %d0x%03x appBurstCount: %dasr%s_%s.asr_%s_%x_donotuseAdaptec HostRAID ASR.asr_sparesformat/ataraid/hpt37x.c0x%03x magic: 0x%x0x%03x magic_0: 0x%x0x%03x magic_1: 0x%x0x%03x order: %u0x%03x raid_disks: %u0x%03x raid0_shift: %u0x%03x type: %u0x%03x disk_number: %u0x%03x total_secs: %u0x%03x disk_mode: 0x%x0x%03x boot_mode: 0x%x0x%03x boot_disk: %u0x%03x boot_protect: %u0x%03x error_log_entries: %u0x%03x error_log_index: %uerror_log:0x%03x timestamp: %u0x%03x reason: %u0x%03x disk: %u0x%03x status: %u0x%03x sectors: %u0x%03x lba: %u%s: magic_%c mismatch on %shpt37x_SPAREhpt37x_%u-%uhpt37x_%uhpt37xHighpoint HPT37XS,0,1,10,01format/ataraid/hpt45x.c0x%03x dummy[%u]: 0x%x0x%03x raid1_type: %u0x%03x raid1_raid_disks: %u0x%03x raid1_disk_number: %u0x%03x raid1_shift: %u0x%03x dummy1[%u]: 0x%xhpt45x_SPAREhpt45x_%uhpt45x_%u-%uhpt45xHighpoint HPT45XS,0,1,10format/ataraid/isw.c0x%03x sig: "%*s"0x%03x check_sum: %u0x%03x mpb_size: %u0x%03x family_num: %u0x%03x generation_num: %u0x%03x error_log_size: %u0x%03x attributes: %u0x%03x num_disks: %u0x%03x num_raid_devs: %u0x%03x error_log_pos: %u0x%03x cache_size: %u0x%03x orig_family_num: %u0x%03x power_cycle_count: %u0x%03x bbm_log_size: %u0x%03x filler[%i]: %u0x%03x disk[%u].serial: "%*s"0x%03x disk[%u].scsiId: 0x%x0x%03x disk[%u].status: 0x%x0x%03x isw_dev[%u].tid: %u%s: diskisw_%u_%sisw_%uisw_%u_%s-%uunsupported name type1.2.041.2.021.2.011.2.001.1.001.0.00??????isw_RAID5RAID0RAID1RAID01 (isw RAID10)RAID name: %s RAID type: %s RAID size: %lluG (%llu blocks) DISKS: %s%s %s: unsupported raid level%s is being usedmoreless%s: failed to allocate memoryIntel Raid ISM Cfg Sig. di%s: drive to rebuild: %s %s: no drive to rebuildBBM entries detected!%u not yet supported1.3.00iswIntel Software RAID0,1,5,010x%03x disk[%u].totalBlocks: %u0x%03x disk[%u].owner_cfg_num: 0x%x0x%03x disk[%u].filler[%u]: %u0x%03x isw_dev[%u].volume: "%*s"0x%03x isw_dev[%u].SizeHigh: %u0x%03x isw_dev[%u].SizeLow: %u0x%03x isw_dev[%u].status: 0x%x0x%03x isw_dev[%u].reserved_blocks: %u0x%03x isw_dev[%u].migr_priority: %u0x%03x isw_dev[%u].num_sub_vol: %u0x%03x isw_dev[%u].cng_master_disk: %u0x%03x isw_dev[%u].cache_policy: %u0x%03x isw_dev[%u].cng_state: %u0x%03x isw_dev[%u].cng_sub_state: %u0x%03x isw_dev[%u].filler[%u]: %u0x%03x isw_dev[%u].vol.curr_migr_unit: %u0x%03x isw_dev[%u].vol.check_point_id: %u0x%03x isw_dev[%u].vol.migr_state: %u0x%03x isw_dev[%u].vol.migr_type: %u0x%03x isw_dev[%u].vol.dirty: %u0x%03x isw_dev[%u].vol.fs_state: %u0x%03x isw_dev[%u].vol.verify_errors: %u0x%03x isw_dev[%u].vol.verify_bad_blocks: %u0x%03x isw_dev[%u].vol.filler[%u]: %u0x%03x isw_dev[%u].vol.map[%d].pba_of_lba0: %u0x%03x isw_dev[%u].vol.map[%d].blocks_per_member: %u0x%03x isw_dev[%u].vol.map[%d].num_data_stripes: %u0x%03x isw_dev[%u].vol.map[%d].blocks_per_strip: %u0x%03x isw_dev[%u].vol.map[%d].map_state: %u0x%03x isw_dev[%u].vol.map[%d].raid_level: %u0x%03x isw_dev[%u].vol.map[%d].num_members: %u0x%03x isw_dev[%u].vol.map[%d].num_domains: %u0x%03x isw_dev[%u].vol.map[%d].failed_disk_num: %u0x%03x isw_dev[%u].vol.map[%d].ddf: %u0x%03x isw_dev[%u].vol.map[%d].filler[%u]: %u0x%03x isw_dev[%u].vol.map[%d].disk_ord_tbl[%u]: 0x%xNo information about %s device on %s in RAID set "%s"%s device for volume "%s" broken on %s in RAID set "%s"%s: Could not find disk %s in the metadata%s: not enough space to create requested volume%s: unsupported map state 0x%x on %s for %s%s: extended superblock for %s has wrong checksum Create a SPARE DISK with ISW metadata format DISK: Create a RAID set with ISW metadata format RAID strip: %uk (%u blocks) %s: the name %s is already in use, please try another name%s: the RAID set cannot have %s than %d hard drives%s: the size exceeds the max %lluG (%llu blocks)%s: SPARE disk must use all space on the disk%s: mismatch in the number of drives found%s: only two volumes allowed per array%s: failed to get the first volume info%s: either not enough disk space or the requested volume size is too small%s: failed to update metadata on the raid_dev data structure %s: only one failed disk supportedASSERT file:%s line:%d fuction:%s cond: %s %s: second volume must use all drives on the existing arrayRebuild Drive: %s Serial No: %s Can't provide rebuild drive path!%s: wrong number of devices in RAID set "%s" [%u/%u] on %s%s: RAID set is not a t-group type%s: failed to find a RAID set in a group%s: failed to find a raid device in RS %s%s: failed to locate metadata on drive %s%s: the number of raid volumes is not 2%s: failed to get two volume info%s: could not find the volume to be deleted%s: failed to find all of the RAID sets to be deleted%s: failed to find a RAID set in the group%s: failed to find the volume to be deleted%s: failed to locate metadata on device %s%s: failed to find the volume %s%s: untested metadata version %s found on %sAbout to create a RAID set with the above settings. Name <%s> will lost. ContinueAbout to create a RAID set with the above settings. ContinueЃòÿ †òÿ0‡òÿÀ‡òÿWƒòÿ8ˆòÿ8ˆòÿ€ˆòÿ¸‰òÿ¸ƒòÿupdate_metadata @€€€€ @€€ @€format/ataraid/jm.c0x%03x signature: %c%c0x%03x version: %u%u0x%03x checksum: %u0x%03x identity: 0x%x0x%03x base: %u0x%03x range: %u0x%03x range2: %u0x%03x name: "%s"0x%03x name: %u0x%03x block: %u0x%03x attribute: %u0x%03x spare[%d]: 0x%x0x%03x member[%d]: 0x%x%s_%s%sJMjmicronJMicron ATARAIDS,0,1format/ataraid/lsi.c0x%03x magic_name: %s0x%03x dummy: %u, 0x%x0x%03x seqno: %u0x%03x dummy2: %u, 0x%x0x%03x dummy3: %u, 0x%x0x%03x dummy4: %u, 0x%x0x%03x stride: %u0x%03x set_number: %u0x%03x set_id: %ulsi_%u%u-%ulsi_%u%u$XIDE$lsiLSI Logic MegaRAID0x%03x disks[%u].raid10_stripe: %u0x%03x disks[%u].raid10_mirror: %u0x%03x disks[%u].unknown: %u, 0x%x0x%03x disks[%u].magic_0: 0x%x, %x, %x0x%03x disks[%u].magic_1: 0x%x, %x, %x0x%03x disks[%u].disk_number: %u0x%03x disks[%u].set_number: %u0x%03x disks[%u].unknown1: %lu, 0x%lXformat/ataraid/nv.c0x%03x %*s0x%03x size: %u0x%03x chksum: %u0x%03x version: %u0x%03x unitNumber: %u0x%03x reserved: %u0x%03x capacity: %u0x%03x sectorSize: %u0x%03x productID: %s0x%03x productRevision: %s0x%03x unitFlags: %u0x%03x array->version: %u0x%03x array->raidJobCode: %u0x%03x array->stripeWidth: %u0x%03x array->raidLevel: %u0x%03x array->stripeMask: %u0x%03x array->stripeSize: %u0x%03x array->raidJobMark %u0x%03x array->flags 0x%x%s_%.8x%s_%.8x-%uNVIDIA%s: bad checksum on %snvidiaNVidia RAIDS,0,1,10,50x%03x array->signature[%d]: %u0x%03x array->totalVolumes: %u0x%03x array->originalWidth: %u0x%03x array->stripeBlockSize: %u0x%03x array->stripeBlockByteSize: %u0x%03x array->stripeBlockPower: %u0x%03x array->stripeByteSize: %u0x%03x array->originalLevel %u0x%03x array->originalCapacity %u%s: signature recalculation missing!format/ataraid/pdc.c0x%03x promise_id: "%s"0x%03x unknown_0: 0x%x %u0x%03x unknown_1: 0x%x %u0x%03x unknown_2: 0x%x %u0x%03x raid.flags: 0x%x0x%03x raid.disk_number: %u0x%03x raid.channel: %u0x%03x raid.device: %u0x%03x raid.magic_0: 0x%x0x%03x raid.start: 0x%x %u0x%03x raid.disk_secs: %u0x%03x raid.status: 0x%x0x%03x raid.type: 0x%x0x%03x raid.total_disks: %u0x%03x raid.raid0_shift: %u0x%03x raid.raid0_disks: %u0x%03x raid.array_number: %u0x%03x raid.total_secs: %u0x%03x raid.cylinders: %u0x%03x raid.heads: %u0x%03x raid.sectors: %u0x%03x raid.magic_1: 0x%xBADOk0x%03x checksum: 0x%x %spdc_%updc_%u-%u%s: invalid checksum on %sPromise Technology, Inc.pdcPromise FastTrack0x%03x raid.unknown_0: 0x%x %d0x%03x raid.unknown_1: 0x%x %u0x%03x raid.unknown_3: 0x%x %u0x%03x raid.unknown_4: 0x%x %u0x%03x raid.unknown_5: 0x%x %u0x%03x raid.disk[%d].unknown_0: 0x%x0x%03x raid.disk[%d].channel: %u0x%03x raid.disk[%d].device: %u0x%03x raid.disk[%d].magic_0: 0x%x0x%03x raid.disk[%d].disk_number: %u%s: identifying %s, magic_0: 0x%x/0x%x, magic_1: 0x%x/0x%x, total_disks: %uformat/ataraid/sil.c0x%03x unknown0: "%42s"0x%03x ascii_version: "%8s"0x%03x diskname: "%32s"0x%03x unknown1: "%22s"0x%03x unknown1a: "%8s"0x%03x array_sectors_low: %u0x%03x array_sectors_high: %u0x%03x unknown2: "%4s"0x%03x thisdisk_sectors: %u0x%03x product_id: %u0x%03x vendor_id: %u0x%03x minor_ver: %u0x%03x major_ver: %u0x%03x seconds: %u0x%03x seconds(full): 0x%x0x%03x minutes: %u0x%03x minutes(full): 0x%x0x%03x hour: %u0x%03x day: %u0x%03x month: %u0x%03x year: %u0x%03x raid0_stride: %u0x%03x striped_set_number: %d0x%03x rebuild_ptr_low: %u0x%03x rebuild_ptr_high: %u0x%03x incarnation_no: %u0x%03x member_status: %u0x%03x mirrored_set_state: %u0x%03x idechannel: %u0x%03x auto_rebuild: %u0x%03x text_type: "%s"0x%03x checksum1: %u0x%03x checksum2: %usil_%02u%02u%02u%02u%02u%02upickelect%s_%dis%s: area%s %s[%u] %s validsilSilicon Image(tm) Medley(tm)0x%03x drives_per_striped_set: %d0x%03x drives_per_mirrored_set: %d0x%03x mirrored_set_number: %d0x%03x reported_device_location: %usil_%02u%02u%02u%02u%02u%02u-%u%s: only %u/%u metadata areas found on %s, %sing...%s: major version %u in area %u; format handler tested on version 2 only%s: invalid metadata checksum in area %u on %s%s: invalid disk size in metadata area %u on %sformat/ataraid/via.c0x%03x signature: 0x%x0x%03x version_number: %u0x%03x array.capacity_low: %uvia_%s-%uvia_%sviaVIA Software RAID0x%03x array.disk.bootable: %u0x%03x array.disk.enable_enhanced: %u0x%03x array.disk.in_disk_array: %u0x%03x array.disk.raid_type: %u0x%03x array.disk.array_index: %u0x%03x array.disk.raid_type_info: %u0x%03x array.disk.raid_type_info(INDEX): %u0x%03x array.disk.raid_type_info(MIRROR): %u0x%03x array.disk.raid_type_info(DIRTY): %u0x%03x array.disk.tolerance: %u0x%03x array.disk_array_ex: 0x%x0x%03x array.capacity_high: %u0x%03x array.serial_checksum: %u0x%03x serial_checksum[%u]: %u%s: version %u; format handler specified for version 0+1 only%s: I/O error on device %s at sector %lu. %s: PANIC - don't know about event_io!%s: cannot find %s drive record on %s%s: Cannot find physical drive description on %s!%s: unable to read metadata off %s%s: incorrect primary header signature %x on%s: using secondary header on %s%s: bad secondary header signature %x on %s%s: both header signatures bad on %s%s: incorrect adapter data signature %x on %s%s: Adaptec mode discovered on %s%s: incorrect disk data signature %x on %sformat/ddf/ddf1.cphysical%s: no RAID array name on %svirtual%s_%02x%02x%02x%02x.ddf1_disksddf1SNIA DDF10,1,4,5,linear%s: Unknown config record %d.format/ddf/ddf1_lib.cCan't figure out endianness!%s: %s with CRC %X, expected %X on %sformat/ddf/ddf1_crc.cSpare CFGVD CFGprimary headersecondary headeradapterdisk dataphysical drivesvirtual drives0x%03x %s"format/ddf/ddf1_dump.c" [%s%02xDDF1 Header at %p0x%03x signature: 0x%X0x%03x crc: 0x%Xguid: rev: 0x%03x seqnum: %d0x%03x timestamp: 0x%X0x%03x open: 0x%X0x%03x foreign: 0x%X0x%03x grouping: 0x%X0x%03x primary header: %lu0x%03x secondary header: %lu0x%03x header type: 0x%X0x%03x workspace len: %d0x%03x workspace lba: %lu0x%03x max pd: %d0x%03x max vd: %d0x%03x max part: %d0x%03x vd_config len: %d0x%03x max_primary_elts: %d0x%03x adapter_offset: %d0x%03x adapter_len: %d0x%03x pd_offset: %d0x%03x pd_len: %d0x%03x vd_offset: %d0x%03x vd_len: %d0x%03x config_offset: %d0x%03x config_len: %d0x%03x disk_data_offset: %d0x%03x disk_data_len: %d0x%03x badblock_offset: %d0x%03x badblock_len: %d0x%03x diag_offset: %d0x%03x diag_len: %d0x%03x vendor_offset: %d0x%03x vendor_len: %dSpare Config Record at %p0x%03x type: 0x%X0x%03x num drives: %d0x%03x max drives: %dSpare %d:0x%03x secondary: %dbiglittleAdapter Data at %p0x%03x pci vendor: 0x%X0x%03x pci device: 0x%X0x%03x pci subvendor: 0x%X0x%03x pci subdevice: 0x%XDisk Data at %p0x%03x reference: 0x%X0x%03x forced_ref_flag: %d0x%03x forced_guid_flag: %dPhysical Drive Header at %pPhysical Drive at %p0x%03x reference #: 0x%X0x%03x state: 0x%X0x%03x size: %llupath info: Virtual Drive Header at %pVirtual Drive at %p0x%03x vd #: 0x%X0x%03x init state: 0x%Xname: 0x%03x primary count: %d0x%03x stripe size: %dKiB0x%03x raid level: %d0x%03x raid qualifier: %d0x%03x secondary count: %d0x%03x secondary number: %d0x%03x secondary level: %d0x%03x spare 0: 0x%X0x%03x spare 1: 0x%X0x%03x spare 2: 0x%X0x%03x spare 3: 0x%X0x%03x spare 4: 0x%X0x%03x spare 5: 0x%X0x%03x spare 6: 0x%X0x%03x spare 7: 0x%X0x%03x cache policy: 0x%X0x%03x bg task rate: %d0x%03x sector count: %lluDrive map:%d: %X @ %luDDF1 anchor at %llu with tables in %s-endian format.Virtual Drive Config Record at %p%s%s%uformat/partition/dos.cdosDOS partitions on SW RAIDs%s: partition address past end of RAID device%s: RAID set %s already exists%s: filing metadata not supported (use fdisk and friends)opening %s: %s device/partition.cremoving part %d from %s: %s dm-/proc/mounts/etc/mtabUnable to open %s or %sdevice/scan.csysfsfinding sysfs mount point/blockremovable%s/%s/%sskipping removable device %sopening %s.serialmissing dm serial file for %scarrying on with %sopening path %sreading disk size for %s from sysfsunsupported sector size %d on %s.mk_sysfs_pathget_sizesysfs_get_sizeget_dm_test_serialremovable_device%s: State change after metadata write?%s: Error while reverting metadata.metadata/log_ops.crevert_logInvalid dev_dir value, %s: not an absolute name.Invalid dev_dir value, %s: name too long.Unable to unlink device node for '%s'A non-block device file at '%s' is already presentUnable to rename device node from '%s' to '%s'Empty device name passed to BLKRAGETInsufficient memory to stack mknod operation%s: Stacking NODE_READ_AHEAD %u (flags=%u)%s: Stacking NODE_DEL (replaces other stacked ops)%s: Stacking NODE_RENAME to %s%s: Stacking NODE_ADD (%u,%u) %u:%u 0%o%s: matchpathcon %07o failed: %sSetting SELinux context for %s to %s.Unable to make device node for '%s'%s: retaining kernel read ahead of %u (requested %u)dm_task_set_uuid: strdup(%s) faileddm_task_set_name: Device %s not founddm_task_set_name: strdup(%s) faileddm_task_create: malloc(%zu) failedlibdm-common.c%s%s%sRemoved %sRenamed %s to %s%s: %s failed: %sBLKRAGET%s: read ahead is %u../include/list.hhead->nlsetfileconchownCreated %s%s: Setting read ahead to %uBLKRASETFailed to get driver version1.02.28 (2008-09-18)list_addYou have a memory leak:mm/dbg_malloc.c%ld bytes leaked in total!"Memory smash"mb->magic == p!"Damage at far end of block"mb->id != 0_mem_stats.blocks_allocatedblock %d at %p, size %zu [%s]Huge memory allocation (size %zu) rejected - metadata corruption?couldn't allocate any memory, size = %zuInternal error: dm_strdup called with NULL pointerdm_bounds_check_debugdm_free_aux%u.%u.%ufopenioctl/libdm-iface.c%d %255s fclose%s: No entry for %s founddevice-mapper/proc/devices%s/control/proc/misc%s: Wrong inode typeunlinkCreating device %s (%u, %u)mknodopendirclosedirt->params= '%s'S () %s %s %s %sreloadremove_allsuspendresumedepsrenamewaiteventclearmknodesversionssetgeometryIs device-mapper driver missing from kernel?%s: Wrong device number: (%u, %u) instead of (%u, %u)Failed to set up list of device-mapper major numbersFailure to communicate with kernel device-mapper driver.Internal error: unknown device-mapper task %dFailed to create device-mapper task structFailed to revert device creation.targets and message are incompatibletargets and newname are incompatibletargets and geometry are incompatiblemessage and newname are incompatiblegeometry and newname are incompatiblegeometry and message are incompatiblemessage is required with sectorMissing major number for persistent device.device (%u:%u) is %s for compatibility with old kernelUnable to find name for device (%u:%u)Couldn't create ioctl argument.dm %s %s %s%s%s %s%.0d%s%.0d%s%s%c%c%s %.0lu %s [%u]device-mapper: %s ioctl failed: %sWARNING: libdevmapper buffer too small for dataFailed to get device-mapper versioncreate_target: malloc(%zu) failedcreate_target: strdup(params) failedcreate_target: strdup(type) faileddm_task_set_message: strdup(%s) faileddm_task_set_newname: strdup(%s) faileddm_task_set_geometry: dm_malloc faileddm_task_set_geometry: sprintf failedGet read ahead request failed: device name unrecorded.EbóÿŒbóÿ¨bóÿŒbóÿŒbóÿºbóÿŒbóÿŒbóÿ}cóÿŒbóÿcóÿcóÿcóÿŒbóÿŒbóÿÒbóÿdatastruct/bitset.cCreating directory "%s"libdm-file.cmkdirDirectory "%s" not foundmm/pool-fast.cOut of memory. Requested %zu bytes.Couldn't create memory pool %s (size %zu)Internal error: pool_free asked to free pointer not in poolkernel/proc/filesystemsselinuxfs%s/mls%s/class/selinuxselinuxfs security.selinux%s: hash table stats: %d elements, %d/%d buckets used, longest chain length %d %s: line %d has invalid context %s %s: line %u has invalid context %s %s: conflicting specifications for %s and %s, using %s. %s: insufficient memory for file label entry for %s %s: invalid context %s matchpathcon_filespec_evalmatchpathcon_filespec_add/proc/%d/attr/%s/proc/self/task/%d/attr/%skeycreatesockcreatefscreateexecprevcurrent€–B–B –Bp–B`–BØ—Bð—B˜B¨—BÀ—B%s/contextfile_contexts ±B µB@ºBWarning! No matches for (%s, %s, %s) Warning! No matches for (%s, %s) %s: line %d is missing fields, skipping %s: line %d has invalid regex %s: %s %s: line %d has invalid file type %s %s: Multiple different specifications for %s (%s and %s). %s: Multiple same specifications for %s. .^$?*+|[({%as %as %asout of memory<>%s.homedirs%s.localP§B§B§B§BP§B§BP§BP§B§B§BP§B§B§B§B§B§B§B§B§B§B§B§B§B§B§B§B§BP§B§B§B§B§B§B§B§B§B§B§B§B§B§B§B§B§B§B§B§B§B§B§B§B§B§B§B§BP§B§B§BP§B§B§B§B§B§B§B§B§B§B§B§B§B§B§B§B§B§B§B§B§B§B§B§B§B§B§B§B§BP§BP§BŨB’¦B’¦B’¦B’¦B’¦B’¦B’¦B’¦B’¦B’¦B’¦B’¦B’¦B’¦B’¦B’¦B’¦B’¦B’¦B’¦B’¦B’¦B’¦B’¦B’¦B’¦B’¦B’¦B’¦B’¦B’¦B’¦B’¦B’¦B’¦B’¦B’¦B’¦B’¦B’¦B’¦B’¦B’¦B’¦B’¦B’¦B’¦B’¦B’¦B’¦B’¦B’¦B´¨B£¨B’¨B’¦B’¦B’¦B’¦B’¦B’¦B’¦B¨B’¦B’¦B’¦Bp¨B’¦B’¦BŦB%u entries, %u matches made %as %as %as extensionclientpoly_propertypoly_selection%s: line %d has invalid object type %s /etc/selinux//etc/selinux/configSELINUXTYPE=SETLOCALDEFS=REQUIRESEUSERS=truefalseSELINUX=enforcingpermissivedisabled/policy/policy/contexts/contexts/files/file_contexts/contexts/files/homedir_template/contexts/default_contexts/contexts/users//contexts/failsafe_context/contexts/default_type/contexts/securetty_types/booleans/contexts/files/media/contexts/removable_context/contexts/customizable_types/users//seusers/setrans.conf/contexts/netfilter_contexts/contexts/files/file_contexts.homedirs/contexts/files/file_contexts.local/contexts/x_contexts/secolor.conf/contexts/virtual_domain_context/contexts/virtual_image_context/contexts/files/file_contexts.subs7Xs„ŸÐÚð )1:HeŒ¶°ÅÓô__default__%s/logins/%s*:%s: error on line %lu, skipping... %s/load%s/local.users2.6.22%s.%d/procnone/proc/cmdlineenforcing=SELinux: Could not stat policy file %s: %s SELinux: Could not map policy file %s: %s SELinux: Could not downgrade policy file %s, searching for an older version. SELinux: Could not load policy file %s: %s SELinux: Could not open policy file <= %s.%d: %s Mount failed for selinuxfs on %s: %s %s/policyvers%s/enforce%s/commit_pending_bools/booleans/booleans.clen%s.XXXXXX%s=%d security_get_boolean_names%s/disablelibsepolunable to write binary policyunknown boolean %serror while reading %sboolean %s no longer in policyillegal value %d for boolean %serror while re-evaluating conditionalsillegal value for boolean %s=%sunable to write new binary policy imagesepol_genbools_arrayload_booleansprocess_booleansepol_genboolsDeprecated interfaceuserinvalid entry %s (%s:%u)undefined role %s (%s:%u)invalid level %s (%s:%u)invalid range %s (%s:%u)rolesunable to reindex users: %sunable to load local.users: %ssepol_genusers_policydbload_userssepol_set_delusers%s: %d entries and %d/%d buckets used, longest chain length %d invalid MLS context %sout of memory, could not convert mls context to stringcould not construct mls context structureout of memory, could not check if mls context %s is validcould not check if mls context %s contains %ssepol_mls_checksepol_mls_containsmls_from_stringmls_to_stringobject_rrole %s has wrong value %drange overflowtruncated rangeerror reading low categorieserror reading high categoriestruncated levelunknown common %sSID %s was never definedunable to load initial SID %ssecurity: %d sens, %d catscontext truncatedinvalid security contextSE Linux ModuleFlaskSE Linuxunknown module type: %#08xpolicydb.cscope->decl_ids_len > 0dup genfs fstype %sdup genfs entry (%s,%s)error reading level categoriesout of memory on SID table initsecurity: %d users, %d roles, %d types, %d boolssecurity: %d classes, %d rules, %d cond ruleserror reading MLS range of contextpolicydb magic number %#08x does not match expected magic number %#08x or %#08xpolicydb string length %zu does not match expected length %zuunable to allocate memory for policydb string of length %zutruncated policydb string identifierpolicydb string %s does not match my string %spolicydb version %d does not match my version range %d-%dpolicydb module version %d does not match my version range %d-%dunable to find policy compat info for version %dpolicydb table sizes (%d,%d) do not match mine (%d,%d)ù*ôÿØ+ôÿ¸+ôÿ¸+ôÿ +ôÿ(+ôÿ}`ôÿ `ôÿÊ_ôÿ `ôÿ™_ôÿ_ôÿ«`ôÿpolicydb_readmls_read_levelmls_read_range_helpermls_read_semantic_level_helperrole_readclass_readscope_readocontext_readcontext_read_and_validategenfs_readpolicydb_load_isidspolicydb_index_others €could not write policyOut of memorynew policy image is invalidcould not create policy imagecould not compute policy lengthpolicydb_to_imagepolicydb_from_imagepacketpermission %s disappearedservices.cBadness at %s:%dunrecognized class %dunrecognized SID %dclass %s disappearedthe value of class %s changedOut of memory!can't read binary policy: %scould not convert %s to sidinvalidating context %sthe value of permissions %s changedthe inherits clause for the access vector definition for class %s changed in the access vector definition for class %s in access vector definition for class %sthe definition of an existing class changedñuôÿ wôÿhwôÿÀwôÿØvôÿ`vôÿÂxôÿâzôÿÍzôÿÂzôÿ¢zôÿdzôÿcontext_struct_compute_avconstraint_expr_evalsepol_load_policyconvert_contextvalidate_classvalidate_permsepol_compute_sidsepol_context_to_sidsepol_sid_to_contextsepol_compute_av_reasonsepol_validate_transitionsepol_set_policydb_from_filenull entrymissing nodedata count wrongWarning! Module policy version %d cannnot suport permissive types, but one was definedentry has both access vectors and typespolicy version %d cannot support MLScompatibility lookup failed for policy version %dWarning! Policy version %d cannot support permissive types, but some were definedDiscarding booleans and conditional rulesDiscarding range_transition rules for security classes other than "process"¥Îôÿ@ÏôÿšËôÿ@ÏôÿUÊôÿ¦ÉôÿÕÎôÿpolicydb_writetype_write@ avtab_write_itemrange_write entry only had %d items, expected %dtruncated entryinvalid item counttruncated source typetruncated target typetruncated target classmore than one specifiertruncated tabletable is emptyduplicate entryfailed on entry %d of %uavtab_read@ avtab_read_item•åôÿÈæôÿ æôÿxæôÿPæôÿ(æôÿðåôÿ°åôÿexpression result was undefined - disabling all rules. Found expr with no bools and only a ! - this should never happen. While testing expression, expression result was undefined - this should never happen. security: type rule already exists outside of a conditional.security: too many conflicting type rules.security: conflicting type rules when adding type rule for true. security: could not insert rule.security: conflicting type rules. security: conditional expressions uses unknown operator. security: conditional expressions uses unknown bool. user %s is not definedrole %s is not definedtype %s is not definedcould not create context recordout of memory, could not convert context to stringMLS is disabled, but MLS context "%s" foundMLS is enabled, but no MLS context foundinvalid security context: "%s:%s:%s:%s"invalid security context: "%s:%s:%s"could not create context structurecontext_from_stringcontext_to_recordcontext_from_recordcontext_to_string%s:%s:%s:%sprint errormalformed context "%s"out of memory, could not create context could not convert context to stringcould not clone context recordout of memory, could not set MLS fields to %sout of memory, could not set context type to %sout of memory, could not set context role to %sout of memory, could not set context user to %scould not construct context from stringsepol_context_to_stringsepol_context_from_stringsepol_context_clonesepol_context_createsepol_context_set_mlssepol_context_set_typesepol_context_set_rolesepol_context_set_user%s.%s: bitmap overflow, bit 0x%xsecurity: ebitmap: map size %d does not match my size %zu (high bit was %d) security: ebitmap: high bit (%d) is not a multiple of the map size (%zu) security: ebitmap: truncated map security: ebitmap: out of memory security: ebitmap start bit (%d) is not a multiple of the map size (%zu) security: ebitmap start bit (%d) is beyond the end of the bitmap (%zu) security: ebitmap: null map in ebitmap (startbit %d) security: ebitmap: start bit %d comes after start bit %d ebitmap_set_bitType conflict!User lookup failed for %sInconsistent boundary for %sRole lookup failed for %sType lookup failed for %scopying boolean %shashtab overflowcopying alias %sexpand.ccopying type or attribute %stype space overflowOut of memory! copying category attribute %scopying class %scopying common %shash table overflowMemory errorcopying sensitivity level %sconverting attribute %sattribute %s vanished!!ebitmap_get_bit(t, i)Error mapping booleansclass %s vanishedOut of Memory!expanding range transitionsnew_perm->classError during expandcopying role %scopying user %scould not find common datum %sduplicate TE rule for %s %s:%s %sconflicting TE rule for (%s, %s:%s): old was %s, new is %sCategory range is not valid %s.%sCategory %s can not be associate with level %sMLS range high level does not dominate low levelError while normalizing conditionalConflicting role trans rule %s %s : %sConflicting range trans rule %s %s : %sError while copying neverallow.Target of expand was not a base policy.Error while indexing out symbolsError while indexing out classesdefault level not within user rangeuiõÿ[iõÿuiõÿ@iõÿ5jõÿèiõÿexpand_cond_av_listexpand_cond_insertexpand_avtabexpand_avtab_insertexpand_modulecopy_and_expand_avrule_blockcopy_role_allowscopy_role_transexpand_range_transexp_rangetr_helpercopy_neverallowexpand_avrule_helperfind_avtab_nodeexpand_terule_helperexpand_terule_helpercond_node_copycond_node_map_boolsocontext_copygenfs_copytype_attr_mapconstraint_copy_callbackconstraint_node_clonebool_copy_callbackuser_bounds_copy_callbackuser_copy_callbackcats_copy_callbacksens_copy_callbackrole_bounds_copy_callbackrole_copy_callbackalias_copy_callbackalias_copy_callbacktype_bounds_copy_callbackclass_copy_callbackcommon_copy_callbackattr_convert_callbacktype_copy_callbacktype_set_expandmls_semantic_range_expandmls_semantic_level_expand%s doesn't exist, %s is an orphanUser hierarchy violation, %s exceeds %sRole hierarchy violation, %s exceeds %stype %s is a child of an attribute %shierarchy violation between types %s and %s : %s { %s }out of memory on conditional av list expansion%d total errors found during hierarchy checkhierarchy_check_constraintspullup_unconditional_permscheck_cond_avtab_hierarchycheck_user_hierarchy_callbackfind_parent_usercheck_role_hierarchy_callbackfind_parent_rolecheck_avtab_hierarchy_callbackfind_parent_typecheck_type_hierarchy_callbackneverallow on line %lu violated by allow %s %s:%s {%s };neverallow violated by allow %s %s:%s {%s };Out of memory - unable to check neverallowscheck_assertionscheck_assertion_helperFATAL: kernel too old FATAL: cannot determine kernel version /dev/null/dev/fullcannot set %fs base address for thread-local storage%s%s%s:%u: %s%sAssertion `%s' failed. Unexpected error. PÆD@ÆD0ÆD(ÆDÆDÆDÆDóÅDåÅD×ÅDYÆDOUTPUT_CHARSETcharset=LANGUAGEPOSIXmessages/usr/share/localelilolxlXIrc/usr/share/locale0EÒ E¥ E E] EŸ EŸ EŸ EŸ EÓ Eî Eù ES Eg EE EE EE EE EE EE EE EE EE Eg EE EE EE EE EE EE EE EE EE EE EE EE EE EE EE EE EE EE EE EE EE EE E; EE EE EE E E EE Eù Eù E Eé EE Eà EE Eµ En En En En En En En En En En Eù Eg E? E En Eù EE EE EE EE EE EE EE EE EE EE EE EE EE EE EE EE EE EE EE EE EE EE EE EE EE EE EE EE EE EE EE EE EE EE EE EE EE EE EE EE EE EE EE EE EE EE Eù EE EE EE EE EE EE EE EE EE EE EE EE EE E E÷ÿ÷ÿ€€÷ÿ"€ ÷ÿ÷ÿ÷ÿ÷ÿ÷ÿ÷ÿ÷ÿ€'+ýÿ€÷ÿ"5€                        €ÿÿplural=nplurals= €@O @Ocxa_atexit.cl != ((void *)0)__new_exitfn?ÿÿÿÿÿÿÿUUUUUUUUÿÿÿÿÿÿÿ?33333333ªªªªªªª*’$I’$I’$ÿÿÿÿÿÿÿqÇqÇq™™™™™™™ÑE]tÑEUUUUUUU±;±;±I’$I’$Iÿÿÿÿÿÿÿ8Žã8Žã85”×P^Cy ÌÌÌÌÌÌÌ 0 Ã0 Ã0 袋.ºè¢ ²…,d! ªªªªªªª p= ×£p= Ø‰Ø‰Ø %´—Ð^B{ $I’$I’$ Ë=°ÜÓˆˆˆˆˆˆˆB!„BÿÿÿÿÿÿÿðÁ|ðÁ‡‡‡‡‡‡‡PuPuPÇqÇqinfinitynanððÿø€-c/bin/shexit 0 dè' †@B€–˜áõÊš;ä TèvH¥Ôè rN @zóZ€Æ¤~Áoò†#Š]xEcd§³¶à è‰#ÇŠ d'áõÁoò†#ſt[Am-îj¿dí8ní—§Úôù?éO>•. ™ßý8/ät#ìõÏÓÜÄڰͼ3¦&éN|.˜[‡Ó¾rŸÙ؇/ÆPÞkpnJÏØ•Õnq²&°fÆ­$6ZÓB<TÿcÀsUÌïùeò(¼U÷ÇÜ€ÜínôÎïÜ_÷SølügròwÜF•o—–]—Š:¸ÙÃÄFGWæ”Áv‰ÈyµuD;sø(¿¡ª!Ó>pêÏ%"/².ûQ¼]Oá–¬í£¿®Wœ2Sqüç•üÃ$©…^c_ùàŽ²ä­«“*sf\wI”[¾i¬¯Cs¼™°F§EH—i¢s°Œ Š—Š«ŒÙ8ÒÁÔ4cð)r+[õ[!|n†ŸÂ‡N™ˆÅ5Å }LØ,ÌDÑî4f‰ûlá}öC}ƒÎŸœ+#ÇU>#×`Üe‹!Qô4Ñ\†YcÉŸ»+’1”è§*ŸŸZi¾bÄBŽtz[ã¾¥"ØŠÄ4ºµسÞ?¿ż–¸±ìîmõýkû1Keô¶6û•ukþG܉€Ù€¥¥½€‚( šfë1ü3j—~{jâŠ6h߸ ã<ÎbBŽ¢Q£uɶ°lƒuYD?eµ1ŠãVæ«ú5 ûRíÄŸI¼ˆJ@A€[^#óôIFÞ¨6ISÅs*½æ§ —¦Á”pGïIÛÒ[?l’Ô b®I9C-Æ£ô4”]0ÔÖÙ%à3eh ã?M}²ÏâI!G.ìTã‡î„u¶»Š‹6‘¡å¥UmÕ.sw‚ýBÑPê²·Qž,4˜¼ÚPÈñÖn†,4‡Iy’ÂiøÒJ.‘fýÇq-„§WëRU#Ìíûà†óᜠ8I´—4Á4ÞTlŒœ(¨§Cf»-ódËãÿt€é.‰ã”Á’oñ¨Ö(¨³»z–@ZíûR™D´à 毤¼¢‚ñ´dûtɺ‘«ÖÇÖ5ÿHŽC½DeV¦ÄU^h6LU3—†I«þ!½ Iþ\Aè)ô\=‹'_DjzµÛøpÊìØŠ4|è²E’lŠÝ¾àÞÉÇV}¬úÓ*@Þà|gu÷Õ ½ñ"¾’¹ú‡¤ΩoÃÒ$po?b¯(°îUxÖI>ØÜÅúN«çkŒÍw};u ´ù #6˜Œ'0åq'"”Öâæ(é÷¦\îò<¹a+–ë²H–¡Ë+ÎTq÷40¾¾{£&å¬)ãŒÒtJÞÕSܵ³è Àg*NrÔçzþŽšøAïTQàTQ»±)èkPr±)ûNW™åFaÚðÓl€¾åj¸“^EÂYÀ4|~Ú#H|ÎLè¡‹›u߿־Aãx®ß²gk#Í«¾=t%j¯×æ³Ê€.'‘•aH#,—‡‚ùKË„œøŒ/ˆÔæÝha¼ ÿAœ«T$²vN0{þ;G-DœêlOaðx¸ŸeëA®Ç0 ~”×Êë¡V•}ÙMP0!Ë ƒÕ¬ò*ÇŽ?:7‚ý¼B¨•2M(ÀŠaóO´¥Ãmz–Әȸ8þÜ ²NE ¹8‡–éÄÌÙ+ Í—20ì_e±%®è ôî}íoŒ9kòš;P¤”ÉC4µ²—¦uÁ¹P¬’[Ë<bàÿa—2¨BRêßÛʃë÷­çiî <h z¹!pút0tv§löŠûw뛡ìÞñº’·c¯‹È5ÞŒë¤éÕ7á d´@èÍч½;’BÿbÍó&.Ü^ ŸÈY]ý¨=u8Q)+ 9/€%ÙØ->Ø„ùt.‡z¯žÁ-TMíеùìuêb”ß <Å4¡® 9Ô¢7Š.úÈ~2!'¸{n $-à¾P¸Ô“X¹+1«"#+%? DÞ~b¿‰ÇÚr•¸¶*~xxð³Þ†«zîoôs“»{õì'~µØ÷Ÿj¢üÒè=ËßÉj‚r1|žÍàØü¨—”òÙAv0Á9ÉÏÄ&¿ÇѶ~j2=æ¯î_âŽ+0cî—mþ-X—%Ä<ä|b€ šµ«È7êžwû éÏÊ,5ãžPÈ6‚ÖxþPnx [¤Ñ·4µì? E,³W8à ÚÏé¦Îô9‡qIH•Ûš¡Ší’´¨¦¬•ÙlÍMP#Ï*±èûŒwgÌ:ë8ƒ£-ñjû¨@? Fõ[í$GÎéýtJLØ0¡s-–ÙÁÖë¢ëo«”|;#o€`Isš{Ž‘ŒK™ù˜Òµ6è5ÿÞm©1›–¼Ù k?ÌÆûf%(炸r;ŸvÖ=4t¦›Pü‰w¿Ü?j&ÖýA–®T‰N4• @SZ× ŽE3µå­¼‰‹TɤAc+;à={CŽí¬—pfÖËÂU,i¼eð.O\¿öOߢ…™žÝ­Ÿ9ÒØ^2XX%¹åãÔñôš-ÀVøNŒŠ ÁÈýqvÒæô4§Ìvò=×Љú‹MÍOT²à+}\ ·Iþ†ýA?7ß»•D!ýWè„ÕÓ¾ü–DGº¤‚ÉÊènžÂ®8p쇥p;3î®,äfÿ%kýŠ;ö´Ü‘y½ÇÙ¸ZNhÔ.ltH ”¯IcÜ/Í~=°o™téùgx¬!‡ìRJݼ-ÝŽÞW5øYÇA¹ÔV9ò T§¡Ø<«¶â!{>;b.¢•’w_£¼¥ W´ü5䯶(¹N÷T ]=!̇odI@B®u²hØ–´Ò‹ôcUõØ4Âpéhøÿù¢ä{®î3'"Ù»2I%%ÀŸ ¦dÍKE)0b 62 kg ÕÒª¦SP)¥¢E7J G |l”èÖ'5$5to_outpunctvfprintf.c(nil)((&mbstate)->__count == 0)s->_flags2 & 4(null)(unsigned int) done < (unsigned int) 2147483647(size_t) done <= (size_t) 2147483647*** %n in writable segment detected *** *** invalid %N$ use detected *** 2™E2™E2™E2™E2™E2™E2™E2™E2™E2™E2™E2™E2™E2™EÍ”Eü”E7—E£—E¯—EŽ˜Eõ›E¢ŒE»—E*˜EÌ›E,ˆEö˜E2™E2™E2™Eö‘Eö‘Eö‘Eö‘Eö‘Eö‘Eö‘Eö‘Eö‘Eö‘Eö‘Eö‘Eö‘Eö‘EöŽE'Eb¡Eÿ EV¡E E•£Eƒ¤Eò¤EK¥En¡E†E3žEö‘Eö‘Eö‘Eö‘Eö‘Eö‘Eö‘Eö‘Eö‘Eö‘Eö‘Eö‘Eö‘Eö‘EÎ¥Eö‘Eö‘EöŽE'Eb¡Eÿ EV¡E E•£Eƒ¤Eò¤EK¥En¡E†E3žEö‘Eö‘Eö‘Eö‘Eö‘Eö‘Eö‘Eö‘Eö‘Eö‘Eö‘Eö‘Eö‘EU¦Eö‘Eö‘Eö‘EöŽE'Eb¡Eÿ EV¡Eö‘Eö‘Eö‘Eö‘EK¥Eö‘Eö‘Eö‘Eö‘Eö‘Eö‘Eö‘Eö‘Eö‘Eö‘Eö‘Eö‘Eö‘Eö‘Eö‘Eö‘EÄ E“¥EÎ¥E½¦EöŽE'Eb¡Eÿ EV¡E E•£Eƒ¤Eò¤EK¥En¡E†E3žEÙ…EÙ…Eö‘Eö‘Eö‘Eö‘Eö‘Eö‘Eö‘Eö‘Eö‘Eö‘EïŸEÄ E“¥EÎ¥E½¦EöŽE'Eb¡Eÿ EV¡E E•£Eƒ¤Eò¤EK¥En¡E†E3žEÙ…EÙ…Eö‘Eö‘EØ‘E¦E¦Eå¦E¥¤E§E9§EIŸEïŸEÄ E“¥EÎ¥E½¦EöŽE'Eb¡Eÿ EV¡E E•£Eƒ¤Eò¤EK¥En¡E†E3žEÙ…EÙ…Eš¦E        ÀF |E0«F@«Fà³FаFÈF`¬F€«FðÃFP¬FpÃF°®FÀ®F®FP¬F ®F_IO_vfprintf_internalNANINFnanNANinfINF0.0001../stdio-common/printf_fphex.c*decimal != '\0' && decimalwc != L''__printf_fphexð&F[%F[%Fà&F[%F[%F[%FÐ&F[%F[%F[%FÀ&F[%F°&F[%F[%F &F[%F[%F[%F[%F[%F[%F[%F[%F[%F[%F[%F[%F[%F[%F[%F[%F[%F[%F[%F[%F[%F[%F[%F[%Fx&FÀ)F$&Fà)F$&FÀ)FÀ)FÀ)F$&F$&F$&F$&F$&F$&F$&F$&F$&F$&F$&F¨)F$&F$&F$&F$&Fˆ)F$&F$&F$&F$&F$&F$&F$&F$&FÀ)F$&Fp)Fˆ)FÀ)FÀ)FÀ)F$&Fˆ)F$&F$&F$&F$&F(*Fˆ)Fø)F$&F$&F*F$&Fˆ)F$&F$&Fˆ)F()Fæ%Fæ%Fæ%Fæ%Fæ%Fæ%Fæ%Fæ%Fæ%Fæ%Fæ%Fæ%Fæ%Fx'Fæ%Fæ%Fæ%Fæ%Fæ%Fæ%Fæ%Fæ%Fæ%Fæ%Fæ%Fæ%Fæ%F)Fæ%Fx'Fæ%Fà(Fæ%Fæ%Fæ%Fæ%F()Fæ%Fæ%Fx'Fæ%Fæ%Fæ%Fæ%Fæ%Fx'Ffxprintf.c(((fmt[i]) & ~0x7f) == 0)__fxprintf 0000000000000000p›FàF€“F@«Fà³FÀFÈF°•F€«F ™F F0ÝKP“F`’F°‡Fð?F@“FЮFà®F 0000000000000000wfileops.cstatus == __codecvt_partialp›F°oF dFPKF@RFðkFÐŒF0_F€«F ™FPnF€áKP“F`’F°‡F“F@“FЮFà®Fp›F°oFà]FPKF@RFðkFÐŒF0_F€«FðšFPnF€áKP“F`’F°‡F“F@“FЮFà®Fp›F°oF ]FPKF@RFðkFÐŒF0_F€«FðšFPnF€áKP“F`’F°‡F“F@“FЮFà®F_IO_wfile_underflowiofwide.cfcts.towc_nsteps == 1fcts.tomb_nsteps == 1_IO_fwide`tF sFÀrF€rF rFPuF°rFºJpÍFpFàÌF@«F ÍFаFÈF€ÏF€«FðÃFP¬FpÃF°®FÀ®F®FP¬F ®FЮFà®FLIBC_FATAL_STDERR_/dev/tty======= Backtrace: ========= ======= Memory map: ======== /proc/self/maps,ccs=p›FàF€“F@«Fà³FÀFÐŒF°•F€«F ™F F0ÝKP“F`’F°‡F“F@“FЮFà®Fp›FàF€ŒF@«Fà³FÀF`‹F †F€«FðšFP‡F0ÝKP“F`’F°‡F“F@“FЮFà®Fp›FàF€‰F@«Fà³FÀF0‰F ‡F€«FðšF F0ÝKP“F`’F°‡F“F@“FЮFà®F_IO_new_file_fopenstrops.coffset >= oldendpÍF0ÑFàÌF@«F ÍFаFÈF€ÏF€«FðÃFP¬FpÃF°®FÀ®F®FP¬F ®FЮFà®Fenlarge_userbufcorrupted double-linked listTOP_PAD_PERTURB_MMAP_MAX_ARENA_MAXARENA_TESTTRIM_THRESHOLD_MMAP_THRESHOLD_hooks.cms->av[2*i+3] == 0((p)->size & 0x2)ret == 0free(): invalid sizeheap->ar_ptr == avarena.cp->size == (0|0x1)lockedfree(): invalid pointermalloc(): memory corruption(bck->bk->size & 0x4) == 0(fwd->size & 0x4) == 0bit != 0correction >= 0 nclears >= 3realloc(): invalid old sizerealloc(): invalid next size!((oldp)->size & 0x2)ncopies >= 3(p->prev_size == offset)realloc(): invalid pointerArena %d: system bytes = %10u in use bytes = %10u Total (incl. mmap): max mmap regions = %10u max mmap bytes = %10lu malloc: top chunk is corruptmunmap_chunk_int_freeheap_trim_int_mallocsYSMALLOcmTRIm__libc_calloc__libc_pvalloc_int_memalign__libc_valloc__libc_reallocmremap_chunk_int_realloc__libc_malloc*** glibc detected *** %s: %s: 0x%s *** p->fd_nextsize->bk_nextsize == pp->bk_nextsize->fd_nextsize == pnextchunk->fd_nextsize->bk_nextsize == nextchunknextchunk->bk_nextsize->fd_nextsize == nextchunkmunmap_chunk(): invalid pointerdouble free or corruption (!prev)free(): invalid next size (normal)free(): invalid next size (fast)double free or corruption (top)double free or corruption (out)new_size>0 && new_size<(long)(2*(unsigned long)((((__builtin_offsetof (struct malloc_chunk, fd_nextsize))+((2 * (sizeof(size_t))) - 1)) & ~((2 * (sizeof(size_t))) - 1))))new_size>0 && new_size<(2 * (4 * 1024 * 1024 * sizeof(long)))((unsigned long)((char*)p + new_size) & (pagesz-1)) == 0((char*)p + new_size) == ((char*)heap + heap->size)double free or corruption (fasttop)(char *) ((void*)((char*)(p) + 2*(sizeof(size_t)))) + 4 * (sizeof(size_t)) <= paligned_mem(char *) p + size > paligned_memmalloc(): memory corruption (fast)victim->fd_nextsize->bk_nextsize == victimvictim->bk_nextsize->fd_nextsize == victim(unsigned long)(size) >= (unsigned long)(nb)((size_t)((void*)((char*)(mm) + 2*(sizeof(size_t)))) & ((2 * (sizeof(size_t))) - 1)) == 0(old_top == (((mbinptr) (((char *) &((av)->bins[((1) - 1) * 2])) - __builtin_offsetof (struct malloc_chunk, fd)))) && old_size == 0) || ((unsigned long) (old_size) >= (unsigned long)((((__builtin_offsetof (struct malloc_chunk, fd_nextsize))+((2 * (sizeof(size_t))) - 1)) & ~((2 * (sizeof(size_t))) - 1))) && ((old_top)->size & 0x1) && ((unsigned long)old_end & pagemask) == 0)(unsigned long)(old_size) < (unsigned long)(nb + (unsigned long)((((__builtin_offsetof (struct malloc_chunk, fd_nextsize))+((2 * (sizeof(size_t))) - 1)) & ~((2 * (sizeof(size_t))) - 1))))break adjusted to free malloc space((unsigned long)((void*)((char*)(brk) + 2*(sizeof(size_t)))) & ((2 * (sizeof(size_t))) - 1)) == 0newsize >= nb && (((unsigned long)(((void*)((char*)(p) + 2*(sizeof(size_t)))))) % alignment) == 0 !mem || ((((mchunkptr)((char*)(mem) - 2*(sizeof(size_t)))))->size & 0x2) || av == (((((mchunkptr)((char*)(mem) - 2*(sizeof(size_t)))))->size & 0x4) ? ((heap_info *)((unsigned long)(((mchunkptr)((char*)(mem) - 2*(sizeof(size_t))))) & ~((2 * (4 * 1024 * 1024 * sizeof(long)))-1)))->ar_ptr : &main_arena)!p || ((((mchunkptr)((char*)(p) - 2*(sizeof(size_t)))))->size & 0x2) || ar_ptr == (((((mchunkptr)((char*)(p) - 2*(sizeof(size_t)))))->size & 0x4) ? ((heap_info *)((unsigned long)(((mchunkptr)((char*)(p) - 2*(sizeof(size_t))))) & ~((2 * (4 * 1024 * 1024 * sizeof(long)))-1)))->ar_ptr : &main_arena)!victim || ((((mchunkptr)((char*)(victim) - 2*(sizeof(size_t)))))->size & 0x2) || ar_ptr == (((((mchunkptr)((char*)(victim) - 2*(sizeof(size_t)))))->size & 0x4) ? ((heap_info *)((unsigned long)(((mchunkptr)((char*)(victim) - 2*(sizeof(size_t))))) & ~((2 * (4 * 1024 * 1024 * sizeof(long)))-1)))->ar_ptr : &main_arena)next->fd_nextsize->bk_nextsize == nextnext->bk_nextsize->fd_nextsize == next(unsigned long)(newsize) >= (unsigned long)(nb)((size + offset) & (mp_.pagesize-1)) == 0(((unsigned long)(((void*)((char*)(p) + 2*(sizeof(size_t))))) & ((2 * (sizeof(size_t))) - 1)) == 0)!newp || ((((mchunkptr)((char*)(newp) - 2*(sizeof(size_t)))))->size & 0x2) || ar_ptr == (((((mchunkptr)((char*)(newp) - 2*(sizeof(size_t)))))->size & 0x4) ? ((heap_info *)((unsigned long)(((mchunkptr)((char*)(newp) - 2*(sizeof(size_t))))) & ~((2 * (4 * 1024 * 1024 * sizeof(long)))-1)))->ar_ptr : &main_arena)€âFPãF0ãF@ãF âFÀâFèâFãF÷áF@âFÇåF™äFçF¥æFBæF™äF™äF™äF™äFèåF;Gà;GÀ;GÐ;G0;GP;Gx;G ;G‡:GÐ:Gmalloc_consolidate__libc_memalign__malloc_set_stateÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿ  Unknown errorUnknown error ÝmG*nGÊnGoGzoGÊoG*pGŠpGznG&nGÆnGoGvoGÆoG&pG†pGvnG"nGÂnGoGroGÂoG"pG‚pGrnGnG¾nGoGnoG¾oGpG~pGnnGnGºnG oGjoGºoGpGzpGjnGnG¶nGoGfoG¶oGpGvpGfnGnG²nGoGboG²oGpGrpGbnGnG®nGþnG^oG®oGpGnpG^nG nGªnGúnGZoGªoG pGjpGZnGnG¦nGönGVoG¦oGpGfpGVnGnG¢nGònGRoG¢oGpGbpGRnGþmGžnGînGNoGžoGþoG^pGNnGúmGšnGênGJoGšoGúoGZpGJnGömG–nGænGFoG–oGöoGVpGFnGòmG’nGânGBoG’oGòoGRpGBnGîmGŽnGÞnG>oGŽoGîoGNpG>nGçmG‡nG×nG7oG‡oGçoGGpG7nGàmG€nGÐnG0oG€oGàoG@pG0nGPqGðpGqGqG#qG qGCqG@qGÖpGàpGqGqGÓpGÐpG3qG0qGsGYsG sGèsG3tGztGÄtGuG]uG¥uGðuG= 2handle_intelhandle_amdÀŠG ŠG˜ŠGøŠGàŠG@ŠG€ŠGhŠGЊGA‹GA‹GA‹GPŠGA‹GPŠG:‹GPŠG3‹GPŠG,‹G%‹G‹G‹G‹G^‹GA‹GA‹GA‹GPŠGA‹GPŠG:‹GPŠG3‹GPŠG,‹G%‹G‹G‹G‹GF‹G¹  ¹@ ¹€ ¼  ¼@ ¼@@!¿@"Â@#Â@% @)Â@@,¼€@0¹€@9¿@:¿@;¿@<¿@=¿@>¿@?¿@A¿ B¿ C¿ D¿ E¿  FÂ@@G€@H¿0 @I¿@@JÂ` @K€@LÂÀ @MÂ@N¿`@`¼@@f¼ @g¼@@h¼€@x¿@y¿@z¿@{¿@|¿@}¿ @¿@‚¿ ƒ¿ „¿ …¿  †¿@‡¿@ÐÂ@ÑÂ@Ò @ÖÂ@× @ØÂ@@Ü @ÝÂ@ @Þ€ @ã @ãÂ@@ä€@intel_check_wordwcrtomb.c__wcrtombstatus == __GCONV_OK || status == __GCONV_EMPTY_INPUT || status == __GCONV_ILLEGAL_INPUT || status == __GCONV_INCOMPLETE_INPUT || status == __GCONV_FULL_OUTPUTwcsrtombs.cdata.__outbuf[-1] == '\0'__wcsrtombsdata.__outbuf != (unsigned char *) dst((data.__statep)->__count == 0)mbsnrtowcs.cresult > 0__mbsnrtowcsANSI_X3.4-1968//TRANSLIT ˜O ™OÿÿÿM˜OëÅOJ°]JÿÿÿëÅOM˜Oð†Jgetgrent_rsetgrentendgrent*size > 0initgroups_dyncompat [NOTFOUND=return] filesillegal status in internal_getgrouplistinternal_getgrouplistgetgrnam_rgetpwnam_r../nptl/sysdeps/unix/sysv/linux/x86_64/../fork.c({ __typeof (self->tid) __value; if (sizeof (__value) == 1) asm volatile ("movb %%fs:%P2,%b0" : "=q" (__value) : "0" (0), "i" (__builtin_offsetof (struct pthread, tid))); else if (sizeof (__value) == 4) asm volatile ("movl %%fs:%P1,%0" : "=r" (__value) : "i" (__builtin_offsetof (struct pthread, tid))); else { if (sizeof (__value) != 8) abort (); asm volatile ("movq %%fs:%P1,%q0" : "=r" (__value) : "i" (__builtin_offsetof (struct pthread, tid))); } __value; }) != ppid({ __typeof (({ struct pthread *__self; asm ("movq %%fs:%c1,%q0" : "=r" (__self) : "i" (__builtin_offsetof (struct pthread, header.self))); __self;})->tid) __value; if (sizeof (__value) == 1) asm volatile ("movb %%fs:%P2,%b0" : "=q" (__value) : "0" (0), "i" (__builtin_offsetof (struct pthread, tid))); else if (sizeof (__value) == 4) asm volatile ("movl %%fs:%P1,%0" : "=r" (__value) : "i" (__builtin_offsetof (struct pthread, tid))); else { if (sizeof (__value) != 8) abort (); asm volatile ("movq %%fs:%P1,%q0" : "=r" (__value) : "i" (__builtin_offsetof (struct pthread, tid))); } __value; }) == ppid__libc_forkGETCONF_DIR/usr/libexec/getconf/proc/sys/kernel/ngroups_maxILP32_OFF32ILP32_OFFBIG/proc/sys/kernel/rtsig-maxª¹G•»GÅ»Gµ»G…»Gy»G?¼GíºGíºGźGźGźGźGźGźGźGźGźGźGźGźGźGźGª¹Gª¹GO»G÷ºGª¹G¼GźGõ»G»Gª¹G÷ºGª¹Gª¹GY»G»GY»Gß»GE»Gœ¹G»G»G%»G»GźGźGźGª¹Gª¹GźGźGª¹Gª¹Gª¹Gª¹Gª¹Gª¹Gª¹G»Gª¹Gª¹Gª¹Gª¹Gª¹Gª¹GźGźG»G»G—¼G»Go»G»Ga¼Gª¹GźGźGźGźGźGźGk¼G¼G¥¼G¥»G÷ºG¼GÕ»Go»GíºGíºGíºGíºGźGª¹Gª¹GíºGíºGíºGé»G;»G/»G÷ºG&¼Ge»G»Gy»GO»G%»G;»G/»G%»Gµ¼GE»G5¼Gª¹G¼G|¼G»G÷ºG÷ºG÷ºG÷ºGϺGÞºGíºGª¹GíºGíºGíºGźGźGª¹Gª¹Gª¹GźGª¹Gª¹Gª¹Gª¹Gª¹Gª¹Gª¹Gª¹Gª¹Gª¹Gª¹Gª¹Gª¹Gª¹Gª¹GźGźGíºGª¹GíºGª¹GźGª¹Gª¹Gª¹Gª¹GźGª¹Gª¹Gª¹Gª¹Gª¹Gª¹Gª¹Gª¹Gª¹Gª¹Gª¹GϺGÞºGíºGª¹Ge»Gª¹Gª¹Gª¹Gª¹G†¼G†¼G†¼G†¼G†¼G†¼G†¼G†¼G†¼G†¼G†¼G†¼G†¼G†¼Gœ¹Gœ¹Gœ¹Gœ¹Gœ¹Gœ¹Gœ¹Gœ¹Gœ¹Gœ¹Gœ¹Gœ¹Gœ¹Gœ¹Gœ¹Gœ¹Gœ¹Gœ¹Gœ¹Gœ¹Gœ¹Gœ¹Gœ¹Gœ¹Gœ¹Gœ¹Gœ¹Gœ¹Gœ¹Gœ¹Gœ¹Gœ¹Gœ¹Gœ¹Gœ¹Gœ¹GźGźGϺGÞºGíºGª¹Gœ¹Gª¹Gª¹Gª¹Gª¹Gª¹GPOSIXLY_CORRECTfnmatch_loop.clist != ((void *)0)p[-1] == ')'p[-1] == L')'fnmatch.c((&ps)->__count == 0)__fnmatchext_wmatchext_matchpÈGÄGÄGÄGÄGÄGÄGÄGÄG`ÆGpÈGÄGÄGÄG8ÆGÄGÄGÄGÄGÄGÄGÄGÄGÄGÄGÄGÄGÄGÄGÄGÆGpÈGÄGÄGÄGÄGÄGÄGÄGÄGÄGÄGÄGÄGÄGÄGÄGÄGÄGÄGÄGÄGÄGÄGÄGÄGÄGÄGÅGÄGÅáG¶ßG¶ßG¶ßG¶ßG¶ßG¶ßG¶ßG¶ßGàG>àG¶ßG¶ßG¶ßG¶ßG¶ßG¶ßG¶ßG¶ßG¶ßG¶ßG¶ßG¶ßG¶ßG¶ßG¶ßG¶ßG¶ßG¶ßG¶ßG:áG_áG@ïGÈêGÈêGÈêGÈêGÈêGÈêGÈêGÈêGíG@ïGÈêGÈêGÈêGàìGÈêGÈêGÈêGÈêGÈêGÈêGÈêGÈêGÈêGÈêGÈêGÈêGÈêGÈêGÈêG˜ìG@ïGÈêGÈêGÈêGÈêGÈêGÈêGÈêGÈêGÈêGÈêGÈêGÈêGÈêGÈêGÈêGÈêGÈêGÈêGÈêGÈêGÈêGÈêGÈêGÈêGÈêGÈêG˜ëG8ëG…HvHvHvHvHvHvHvHvHÙHþHvHvHvHvHvHvHvHvHvHvHvHvHvHvHvHvHvHvHvHúHH! "Invalid extended matching operator"regexec.cnum >= 0regex_internal.c16 >= pstr->mb_cur_maxupperloweralphaalnumcntrlprintblankgraphxdigitregcomp.cnode->next == ((void *)0)left > -1right > -1!((node->token.type) & 8)err == REG_ESPACEregs_allocated == 2regs->num_regs >= nregspmatch[0].rm_so == startUTF-8re_search_stubcheck_matchingpop_fail_stackre_copy_regslink_nfa_nodes0#H% H% H% H% H% H% H% H% H% H% H% H% H% H% H% H% H% H% H% H% H% H% H% H% H% Hà"H% H% H% HÀ"H "H"Hp"H% H% H`"H% H% H% H% H% H% H% H% H% H% H% H% H% H% H% H% H@"H% H% H% H% H% H% H% H% H% H% H% H% H% H% H% H% H% H% H% H% H% H% H% H% H% H% H% H("H% H% Hè!H% H% H% H% H% H% H% H% H% H% H% H% H% H% H% H% H% H% H% H% H% H% H% H% H% H% H% H% HÀ!H˜!Hp!H8%H!%H %Há Hì$Há Há Há Há Há HË$HË$HË$HË$HË$HË$HË$HË$HË$Há Há Hª$Há H‰$Hk$Há Há HJ$Há Há Há Há Há Há Há Há Há Há Há Há Há Há Há Há H0$Há Há Há H$Há Há Há Há Há Há Há Há Hõ#Há HÔ#Há Há Há Há Há Há Há Há Há Há Há Há Há Há Há Há H¹#Há Há Há HŸ#Há Há Há H~#He#H>#H>rH>rHprH>rHrH>rH>rH>rHàrHàrH sH sHàrH>rH>rH>rH{rH+ãHÿáHàH‘ÞHPãH= I= I I"I± I×KI&%h %e %T [%d]/dev/console%s /proc/meminfoMemFree: %ld kBMemTotal: %ld kB*cp <= *re/proc/stat/proc/cpuinfoprocessor/sys/devices/system/cpunext_line../sysdeps/unix/sysv/linux/getsysstats.cSUCCESSUNAVAILNOTFOUNDTRYAGAINRETURNCONTINUEillegal status in __nss_next/etc/nsswitch.confnis [NOTFOUND=return] filesaliasesethersgroupX"shostsnetgroupnetworkspasswd`"sprotocolspublickeyrpcservicesshadowpasswd+0x-0x[0xpÍF@åIàÌF@«F ÍFаFÈF€ÏF€«FðÃFP¬FpÃF°®FÀ®F®FP¬F ®FЮFà®Fbuffer overflow detectedstack smashing detected*** %s ***: %s terminated nscd_getgr_r.cnscd_getgr_r((uintptr_t) len & (__alignof__ (*len) - 1)) == 0LOCALDOMAINhostsnscd_initgroups.cinitgr_resp.ngrps >= 0*size >= 1__nscd_getgrouplistservicesnscd_helper.cmapped->counter == 0__nscd_unmapˆ"JÀ Jh"J¸ JÀ JÀ JÀ JÀ JH"J("J"Jè!JÀ JÈ!J¨!JÀ JÀ JÀ JÀ JÀ J€!JÀ J`!JÀ JÀ JÀ JÀ JÀ JÀ JÀ J@!J/var/tmp/var/profileGCONV_PATHGETCONF_DIRHOSTALIASESLD_AUDITLD_DEBUGLD_DEBUG_OUTPUTLD_DYNAMIC_WEAKLD_LIBRARY_PATHLD_ORIGIN_PATHLD_PRELOADLD_PROFILELD_SHOW_AUXVLD_USE_LOAD_BIASLOCALDOMAINLOCPATHMALLOC_TRACENIS_PATHNLSPATHRESOLV_HOST_CONFRES_OPTIONSTMPDIRTZDIRLD_WARNLD_LIBRARY_PATHLD_BIND_NOWLD_BIND_NOTLD_DYNAMIC_WEAKLD_PROFILE_OUTPUT/etc/suid-debugMALLOC_CHECK_LD_ASSUME_KERNELGLIBC_PRIVATE_dl_open_hook/proc/sys/kernel/osreleaseIGNOREëÅOgconv.cirreversible != ((void *)0)__gconvoutbuf != ((void *)0) && *outbuf != ((void *)0)gconv_db.cderiv->steps[cnt].__shlib_handle != ((void *)0)step->__shlib_handle != ((void *)0)step->__end_fct == ((void *)0)free_derivation__gconv_release_stepgconv_conf.celem != ((void *)0)cwd != ((void *)0)aliasmoduleISO-10646/UCS4/=INTERNAL->ucs4=ucs4->INTERNALUCS-4LE//=INTERNAL->ucs4le=ucs4le->INTERNALISO-10646/UTF8/=INTERNAL->utf8=utf8->INTERNALISO-10646/UCS2/=ucs2->INTERNAL=INTERNAL->ucs2ANSI_X3.4-1968//=ascii->INTERNAL=INTERNAL->asciiUNICODEBIG//=ucs2reverse->INTERNAL=INTERNAL->ucs2reverse.soUCS4//ISO-10646/UCS4/UCS-4//ISO-10646/UCS4/UCS-4BE//ISO-10646/UCS4/CSUCS4//ISO-10646/UCS4/ISO-10646//ISO-10646/UCS4/10646-1:1993//ISO-10646/UCS4/10646-1:1993/UCS4/ISO-10646/UCS4/OSF00010104//ISO-10646/UCS4/OSF00010105//ISO-10646/UCS4/OSF00010106//ISO-10646/UCS4/WCHAR_T//INTERNALUTF8//ISO-10646/UTF8/UTF-8//ISO-10646/UTF8/ISO-IR-193//ISO-10646/UTF8/OSF05010001//ISO-10646/UTF8/ISO-10646/UTF-8/ISO-10646/UTF8/UCS2//ISO-10646/UCS2/UCS-2//ISO-10646/UCS2/OSF00010100//ISO-10646/UCS2/OSF00010101//ISO-10646/UCS2/OSF00010102//ISO-10646/UCS2/ANSI_X3.4//ANSI_X3.4-1968//ISO-IR-6//ANSI_X3.4-1968//ANSI_X3.4-1986//ANSI_X3.4-1968//ISO_646.IRV:1991//ANSI_X3.4-1968//ASCII//ANSI_X3.4-1968//ISO646-US//ANSI_X3.4-1968//US-ASCII//ANSI_X3.4-1968//US//ANSI_X3.4-1968//IBM367//ANSI_X3.4-1968//CP367//ANSI_X3.4-1968//CSASCII//ANSI_X3.4-1968//OSF00010020//ANSI_X3.4-1968//UNICODELITTLE//ISO-10646/UCS2/UCS-2LE//ISO-10646/UCS2/UCS-2BE//UNICODEBIG//__gconv_get_pathgconv_builtin.ccnt < sizeof (map) / sizeof (map[0])VÅOp®JfÅO©J€ÅO€²J’ÅOà“J´ÅOP{JÄÅO@mJ°]JäÅO`fJôÅOÀ]JÆOJ°]J&ÆOð†JDÆOà¡J[ÆO@™J__gconv_get_builtin_trans../iconv/skeleton.coutbufstart == ((void *)0)../iconv/loop.cinend != &bytebuf[4]inend - inptr <= 7inend - *inptrp < 4inend != &bytebuf[6]outbuf == outerrgconv_simple.c*outptrp + 4 > outendinptr - bytebuf > (state->__count & 7)inend - inptr > (state->__count & ~7)nstatus == __GCONV_FULL_OUTPUT__gconv_transform_internal_ucs2reverseinternal_ucs2reverse_loop_single__gconv_transform_ucs2reverse_internalucs2reverse_internal_loop_single__gconv_transform_internal_ucs2__gconv_transform_ucs2_internal__gconv_transform_utf8_internal__gconv_transform_internal_utf8__gconv_transform_internal_ascii__gconv_transform_ascii_internal__gconv_transform_ucs4le_internal__gconv_transform_internal_ucs4le__gconv_transform_ucs4_internal__gconv_transform_internal_ucs4internal_ucs2_loop_singleucs2_internal_loop_singleutf8_internal_loop_singleinternal_utf8_loop_singleinternal_ascii_loop_singleucs4le_internal_loopÀàðøügconv_trans_contextgconv_transgconv_trans_initgconv_trans_endgconv_trans.ctrans->name != ((void *)0)__gconv_translit_findGCONV_PATH/usr/lib64/gconv/gconv-modules.cachegconv_dl.cobj->counter > 0found->handle == ((void *)0)gconv_initgconv_enddo_release_shlib__gconv_find_shlibLOCPATHLC_COLLATELC_CTYPELC_MONETARYLC_NUMERICLC_TIMELC_MESSAGESLC_PAPERLC_NAMELC_ADDRESSLC_TELEPHONELC_MEASUREMENTLC_IDENTIFICATION +3?HP[hw   @çJLC_ALLLANGfindlocale.clocale_codeset != ((void *)0)€úO òP`øP`Q`ðPàïP üP üP`ýP þP þP Qn- /usr/lib/locale_nl_find_localeloadlocale.ccategory == __LC_CTYPEcnt < (sizeof (_nl_value_type_LC_NUMERIC) / sizeof (_nl_value_type_LC_NUMERIC[0]))cnt < (sizeof (_nl_value_type_LC_TIME) / sizeof (_nl_value_type_LC_TIME[0]))cnt < (sizeof (_nl_value_type_LC_COLLATE) / sizeof (_nl_value_type_LC_COLLATE[0]))cnt < (sizeof (_nl_value_type_LC_MONETARY) / sizeof (_nl_value_type_LC_MONETARY[0]))cnt < (sizeof (_nl_value_type_LC_MESSAGES) / sizeof (_nl_value_type_LC_MESSAGES[0]))cnt < (sizeof (_nl_value_type_LC_PAPER) / sizeof (_nl_value_type_LC_PAPER[0]))cnt < (sizeof (_nl_value_type_LC_NAME) / sizeof (_nl_value_type_LC_NAME[0]))cnt < (sizeof (_nl_value_type_LC_ADDRESS) / sizeof (_nl_value_type_LC_ADDRESS[0]))cnt < (sizeof (_nl_value_type_LC_TELEPHONE) / sizeof (_nl_value_type_LC_TELEPHONE[0]))cnt < (sizeof (_nl_value_type_LC_MEASUREMENT) / sizeof (_nl_value_type_LC_MEASUREMENT[0]))cnt < (sizeof (_nl_value_type_LC_IDENTIFICATION) / sizeof (_nl_value_type_LC_IDENTIFICATION[0]))ÝJ¸ÞJàÞJÞJhÞJ@ÞJÝJÞJðÝJÐÝJ°ÝJˆÝJPÝJUo. àÚOÜO ÜOàÝO@ÞOßOßO ßO@ßO€ßO”ßO ßO  _nl_intern_locale_dataloadarchive.carchmapped == &headmapheadmap.len == archive_stat.st_size_nl_archive_subfreeres/usr/lib/locale/locale-archive_nl_load_locale_from_archive     `ÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀØØØØØØØØØØÀÀÀÀÀÀÀÕÕÕÕÕÕÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÀÀÀÀÀÀÖÖÖÖÖÖÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÀÀÀÀ     `ÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀØØØØØØØØØØÀÀÀÀÀÀÀÕÕÕÕÕÕÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÀÀÀÀÀÀÖÖÖÖÖÖÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÀÀÀÀ€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿÿÿÿ  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿÿÿÿ  !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿþÿÿ þÿÿþÿÿ þÿÿþÿÿþÿÿ þÿÿþÿÿÿÿÿ~~ÿ~~>>ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿ€þÿüøxþÿüøxÿþÿÿþÿÿÿþÿÿþÿÿ(àÿÿÿàÿÿÿàÿÿÿàÿÿÿàÿÿÿàÿÿÿàÿÿÿàÿÿÿàÿÿÿàÿÿÿàÿÿÿàÿÿÿàÿÿÿàÿÿÿàÿÿÿàÿÿÿàÿÿÿàÿÿÿàÿÿÿàÿÿÿàÿÿÿàÿÿÿàÿÿÿàÿÿÿàÿÿÿàÿÿÿ( 8HHHHHIÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿupperloweralphadigitxdigitspaceprintgraphblankcntrlpunctalnumtouppertolowere£NÿÿÿÿUÀàOÀçOÀíOÀãO úOjúOÀùO©PÀéOÀïOGSò÷N†ÆPH®OµmO=SOÀÖN¼¤NßÌO®OPPTP„\O\PdPlPtP|P„PŒP”Pò÷N†ÆPH®OµmO=SOÀÖN¼¤NßÌO®OPP0123456789I€ýOÀP =P`RPœPàóO@ôO ôOõO`õOÀõO öO€öOàöO@÷O ÷OøO@øOùO  "$&(*,.02468:<>@BDFHJLNPRTVXZ\^`bdfhjlnprtvxz|~€‚„†ˆŠŒŽ’”–˜šœž ¢¤¦¨ª¬®°²´¶¸º¼¾ÀÂÄÆÈÊÌÎÐÒÔÖØÚÜÞàâäæèêìîðòôöøúüþ   "$&(*,.02468:<>@BDFHJLNPRTVXZ\^`bdfhjlnprtvxz|~€‚„†ˆŠŒŽ’”–˜šœž ¢¤¦¨ª¬®°²´¶¸º¼¾ÀÂÄÆÈÊÌÎÐÒÔÖØÚÜÞàâäæèêìîðòôöøúüþ   "$&(*,.02468:<>@BDFHJLNPRTVXZ\^`bdfhjlnprtvxz|~€‚„†ˆŠŒŽ’”–˜šœž ¢¤¦¨ª¬®°²´¶¸º¼¾ÀÂÄÆÈÊÌÎÐÒÔÖØÚÜÞàâäæèêìîðòôöøúüþ   "$&(*,.02468:<>@BDFHJLNPRTVXZ\^`bdfhjlnprtvxz|~€‚„†ˆŠŒŽ’”–˜šœž ¢¤¦¨ª¬®°²´¶¸º¼¾ÀÂÄÆÈÊÌÎÐÒÔÖØÚÜÞàâäæèêìîðòôöøúüþ   "$&(*,.02468:<>@BDFHJLNPRTVXZ\^`bdfhjlnprtvxz|~€‚„†ˆŠŒŽ’”–˜šœž ¢¤¦¨ª¬®°²´¶¸º¼¾ÀÂÄÆÈÊÌÎÐÒÔÖØÚÜÞàâäæèêìîðòôöøúüþ   "$&(*,.02468:<>@BDFHJLNPRTVXZ\^`bdfhjlnprtvxz|~€‚„†ˆŠŒŽ’”–˜šœž ¢¤¦¨ª¬®°²´¶¸º¼¾ÀÂÄÆÈÊÌÎÐÒÔÖØÚÜÞàâäæèêìîðòôöøúüþ   "$&(*,.02468:<>@BDFHJLNPRTVXZ\^`bdfhjlnprtvxz|~€‚„†ˆŠŒŽ’”–˜šœž ¢¤¦¨ª¬®°²´¶¸º¼¾ÀÂÄÆÈÊÌÎÐÒÔÖØÚÜÞàâäæèêìîðòôöøúüþ   "$&(*,.02468:<>@BDFHJLNPRTVXZ\^`bdfhjlnprtvxz|~€‚„†ˆŠŒŽ’”–˜šœž ¢¤¦¨ª¬®°²´¶¸º¼¾ÀÂÄÆÈÊÌÎÐÒÔÖØÚÜÞàâäæèêìîðòôöøúüþ   "$&(*,.02468:<>@BDFHJLNPRTVXZ\^`bdfhjlnprtvxz|~€‚„†ˆŠŒŽ’”–˜šœž ¢¤¦¨ª¬®°²´¶¸º¼¾ÀÂÄÆÈÊÌÎÐÒÔÖØÚÜÞàâäæèêìîðòôöøúüþ              " $ & ( * , . 0 2 4 6 8 : < > @ B D F H J L N P R T V X Z \ ^ ` b d f h j l n p r t v x z | ~ € ‚ „ † ˆ Š Œ Ž ’ ” – ˜ š œ ž   ¢ ¤ ¦ ¨ ª ¬ ® ° ² ´ ¶ ¸ º ¼ ¾ À Â Ä Æ È Ê Ì Î Ð Ò Ô Ö Ø Ú Ü Þ à â ä æ è ê ì î ð ò ô ö ø ú ü þ              " $ & ( * , . 0 2 4 6 8 : < > @ B D F H J L N P R T V X Z \ ^ ` b d f h j l n p r t v x z | ~ € ‚ „ † ˆ Š Œ Ž  ©«­®µ¸»¼½¾Æ×ßæ23IRRSSÇÈÉÊËÌñòó¼ÆÈËÍÐÜ                    " $ % & / 5 6 7 9 : < D G H I _ ` a b c ¨ ¬ !!!!! ! ! ! !!!!!!!!!!!!!!!"!$!&!(!,!-!.!/!0!1!3!4!9!E!F!G!H!I!S!T!U!V!W!X!Y!Z![!\!]!^!_!`!a!b!c!d!e!f!g!h!i!j!k!l!m!n!o!p!q!r!s!t!u!v!w!x!y!z!{!|!}!~!!!’!”!Ð!Ò!Ô!""""#"6"<"d"e"j"k"Ø"Ù"$$$$$$$$$ $ $ $ $ $$$$$$$$$$$$$$$$$$$ $!$#$$$`$a$b$c$d$e$f$g$h$i$j$k$l$m$n$o$p$q$r$s$t$u$v$w$x$y$z${$|$}$~$$€$$‚$ƒ$„$…$†$‡$ˆ$‰$Š$‹$Œ$$Ž$$$‘$’$“$”$•$–$—$˜$™$š$›$œ$$ž$Ÿ$ $¡$¢$£$¤$¥$¦$§$¨$©$ª$«$¬$­$®$¯$°$±$²$³$´$µ$¶$·$¸$¹$º$»$¼$½$¾$¿$À$Á$Â$Ã$Ä$Å$Æ$Ç$È$É$Ê$Ë$Ì$Í$Î$Ï$Ð$Ñ$Ò$Ó$Ô$Õ$Ö$×$Ø$Ù$Ú$Û$Ü$Ý$Þ$ß$à$á$â$ã$ä$å$æ$ç$è$é$ê$%% %%%%%$%,%4%<%æ%t*u*v*0 0Q2R2S2T2U2V2W2X2Y2Z2[2\2]2^2_2±2²2³2´2µ2¶2·2¸2¹2º2»2¼2½2¾2¿2q3r3s3t3u3v3€33‚3ƒ3„3…3†3‡3ˆ3‰3Š3‹3Œ33Ž333‘3’3“3”3•3–3—3˜3™3š3›3œ33ž3Ÿ3 3¡3¢3£3¤3¥3¦3§3¨3©3ª3«3¬3­3®3¯3°3±3²3³3´3µ3¶3·3¸3¹3º3»3¼3½3¾3¿3Â3Ã3Ä3Å3Æ3Ç3È3É3Ê3Ë3Ì3Í3Î3Ï3Ð3Ñ3Ò3Ó3Ô3Õ3Ö3×3Ø3Ù3Ú3Û3Ü3Ý3ûûûûûû)ûþþþþþþþþþ þ þ þ þ þþþMþNþOþPþRþTþUþVþWþYþZþ[þ\þ_þ`þaþbþcþdþeþfþhþiþjþkþÿþÿÿÿÿÿÿÿÿ ÿ ÿ ÿ ÿ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ ÿ!ÿ"ÿ#ÿ$ÿ%ÿ&ÿ'ÿ(ÿ)ÿ*ÿ+ÿ,ÿ-ÿ.ÿ/ÿ0ÿ1ÿ2ÿ3ÿ4ÿ5ÿ6ÿ7ÿ8ÿ9ÿ:ÿ;ÿ<ÿ=ÿ>ÿ?ÿ@ÿAÿBÿCÿDÿEÿFÿGÿHÿIÿJÿKÿLÿMÿNÿOÿPÿQÿRÿSÿTÿUÿVÿWÿXÿYÿZÿ[ÿ\ÿ]ÿ^ÿÔÔÔÔÔÔÔÔÔ Ô Ô Ô Ô ÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔ Ô!Ô"Ô#Ô$Ô%Ô&Ô'Ô(Ô)Ô*Ô+Ô,Ô-Ô.Ô/Ô0Ô1Ô2Ô3Ô4Ô5Ô6Ô7Ô8Ô9Ô:Ô;Ô<Ô=Ô>Ô?Ô@ÔAÔBÔCÔDÔEÔFÔGÔHÔIÔJÔKÔLÔMÔNÔOÔPÔQÔRÔSÔTÔVÔWÔXÔYÔZÔ[Ô\Ô]Ô^Ô_Ô`ÔaÔbÔcÔdÔeÔfÔgÔhÔiÔjÔkÔlÔmÔnÔoÔpÔqÔrÔsÔtÔuÔvÔwÔxÔyÔzÔ{Ô|Ô}Ô~ÔÔ€ÔÔ‚ÔƒÔ„Ô…Ô†Ô‡ÔˆÔ‰ÔŠÔ‹ÔŒÔÔŽÔÔԑԒԓԔԕԖԗԘԙԚԛԜԞԟԢԥԦԩԪԫԬԮԯ԰ԱԲԳԴԵԶԷԸԹԻԽԾԿÔÀÔÂÔÃÔÅÔÆÔÇÔÈÔÉÔÊÔËÔÌÔÍÔÎÔÏÔÐÔÑÔÒÔÓÔÔÔÕÔÖÔ×ÔØÔÙÔÚÔÛÔÜÔÝÔÞÔßÔàÔáÔâÔãÔäÔåÔæÔçÔèÔéÔêÔëÔìÔíÔîÔïÔðÔñÔòÔóÔôÔõÔöÔ÷ÔøÔùÔúÔûÔüÔýÔþÔÿÔÕÕÕÕÕÕÕÕ Õ Õ ÕÕÕÕÕÕÕÕÕÕÕÕÕÕÕÕÕ Õ!Õ"Õ#Õ$Õ%Õ&Õ'Õ(Õ)Õ*Õ+Õ,Õ-Õ.Õ/Õ0Õ1Õ2Õ3Õ4Õ5Õ6Õ7Õ8Õ9Õ;Õ<Õ=Õ>Õ@ÕAÕBÕCÕDÕFÕJÕKÕLÕMÕNÕOÕPÕRÕSÕTÕUÕVÕWÕXÕYÕZÕ[Õ\Õ]Õ^Õ_Õ`ÕaÕbÕcÕdÕeÕfÕgÕhÕiÕjÕkÕlÕmÕnÕoÕpÕqÕrÕsÕtÕuÕvÕwÕxÕyÕzÕ{Õ|Õ}Õ~ÕÕ€ÕÕ‚ÕƒÕ„Õ…Õ†Õ‡ÕˆÕ‰ÕŠÕ‹ÕŒÕÕŽÕÕÕ‘Õ’Õ“Õ”Õ•Õ–Õ—Õ˜Õ™ÕšÕ›ÕœÕÕžÕŸÕ Õ¡Õ¢Õ£Õ¤Õ¥Õ¦Õ§Õ¨Õ©ÕªÕ«Õ¬Õ­Õ®Õ¯Õ°Õ±Õ²Õ³Õ´ÕµÕ¶Õ·Õ¸Õ¹ÕºÕ»Õ¼Õ½Õ¾Õ¿ÕÀÕÁÕÂÕÃÕÄÕÅÕÆÕÇÕÈÕÉÕÊÕËÕÌÕÍÕÎÕÏÕÐÕÑÕÒÕÓÕÔÕÕÕÖÕ×ÕØÕÙÕÚÕÛÕÜÕÝÕÞÕßÕàÕáÕâÕãÕäÕåÕæÕçÕèÕéÕêÕëÕìÕíÕîÕïÕðÕñÕòÕóÕôÕõÕöÕ÷ÕøÕùÕúÕûÕüÕýÕþÕÿÕÖÖÖÖÖÖÖÖÖ Ö Ö Ö Ö ÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖ Ö!Ö"Ö#Ö$Ö%Ö&Ö'Ö(Ö)Ö*Ö+Ö,Ö-Ö.Ö/Ö0Ö1Ö2Ö3Ö4Ö5Ö6Ö7Ö8Ö9Ö:Ö;Ö<Ö=Ö>Ö?Ö@ÖAÖBÖCÖDÖEÖFÖGÖHÖIÖJÖKÖLÖMÖNÖOÖPÖQÖRÖSÖTÖUÖVÖWÖXÖYÖZÖ[Ö\Ö]Ö^Ö_Ö`ÖaÖbÖcÖdÖeÖfÖgÖhÖiÖjÖkÖlÖmÖnÖoÖpÖqÖrÖsÖtÖuÖvÖwÖxÖyÖzÖ{Ö|Ö}Ö~ÖÖ€ÖÖ‚ÖƒÖ„Ö…Ö†Ö‡ÖˆÖ‰ÖŠÖ‹ÖŒÖÖŽÖÖÖ‘Ö’Ö“Ö”Ö•Ö–Ö—Ö˜Ö™ÖšÖ›ÖœÖÖžÖŸÖ Ö¡Ö¢Ö£ÖÎ×Ï×Ð×Ñ×Ò×Ó×Ô×Õ×Ö××ר×Ù×Ú×Û×Ü×Ý×Þ×ß×à×á×â×ã×ä×å׿×ç×è×é×ê×ë×ì×í×î×ï×ð×ñ×ò×ó×ô×õ×ö×÷×ø×ù×ú×û×ü×ý×þ×ÿ× %,37:>BFJNRVZ^aeimquy}…ˆ‹Ž‘”—𠣦©¬¯²´·º½ÀÄÇÊÍÐÓÖÙÝàãæéíòõøü !#%).38;@EHKNQTWZ]`cgjmpsv{„‰Œ’•˜›ž¡¤§ª­°³¶½ÄËÒÙàçîõü "&+158<ADGJMPTY]`diosvz‚…ˆ‹“˜œ ¥¨«®±´·º¾ÂÆÊÏÔÙÞãèíò÷ü !&+05:?DIMRW[_cgkpsw|†‹•šŸ¤ª°¶¼ÂÈÎÔÚàæëðõúÿ %+17=CIOUY]aeimquy~ƒˆ’—œ¡¦«°µº¿ÄÉÎÓØÝâçìñöû #(-27<AFKPUZ_dinsx}‚‡Œ‘–› ¥ª¯´¹¾ÃÈÍÒ×Üáæëðõúÿ "',16;>ADGJMPSVY\_dhmpsy…‹‘—£©¯µ»ÁÇÍÓÙßåëñ÷ý !',049=AEIMQUY]aflptx|€„ˆ’—œ ¤¨¬°´¸¼ÀÄÊÐÕÛáçìò÷þ &*.26:>BFJNRVZ^bflptx~ƒ‡‹“—›Ÿ£§«°´¸½ÂÆÌÑÕÙÝáåéíò÷ûþ              ! $ ' * - 0 3 6 9 < ? B E H K N Q T W Z ] ` c f i k n q t w z } € ƒ † ‰ Œ ’ • ˜ › ž ¡ ¤ § ª ­ ° ³ ¶ ¹ ¼ ¿ Â Å È Ë Î Ñ Ô × Ú Ý à ã æ é ì ï ò õ ø û þ          " % ( + . 1 4 7 : = @ C F I L O R U X [ ^ a d g j m p s v y |  ‚ … ˆ ‹ Ž ‘ ” — š   £ ¦ © ¬ ¯ ² µ ¸ » ¾ Á Ä Ç Ê Í Ð Ó Ö Ù Ü ß â å è ë î ñ ô ÷ ú ý         ! $ ' * - 0 3 6 9 < ? B E H K N Q T W Z ] ` c f i l o r u x { ~ „ ‡ Š “ – ™ œ Ÿ ¢ ¥ ¨ « ® ± ´ · º ½ À Ã Æ É Ì Ï Ò Õ Ø Û Þ á ä ç ê í ð ó ö ù ü ÿ          # & ) , / 2 5 8 ; > A D G J M P S V Y \ _ b e h k n q t w z } € ƒ † ‰ Œ ’ • ˜ › ž ¡ ¤ § ª ­ ° ³ ¶ ¹ ¼ ¿ Â Å È Ë Î Ñ Ô × Ú Ý à ã æ é ì ï ò õ ø û þ          " % ( + . 1 4 7 : = @ C F I L O R U X [ ^ a d g j m p s v y |  ‚ … ˆ ‹ Ž ‘ ” — š   £ ¦ © ¬ ¯ ² µ ¸ » ¾ Á Ä Ç Ê Í Ð Ó Ö Ù Ü ß â å è ë î ñ ô ÷ ú ý   !$'*-0369<?BEHKNQTWZ]`cfilorux{~„‡Š“–™œŸ¢¥¨«®±´·º½ÀÃÆÉÌÏÒÕØÛÞáäçêíðóöùüÿ  #&),/258;>ADGJMPSVY\_behknqtwz}€ƒ†‰Œ’•˜›ž¡¤§ª­°³¶¹¼¿ÂÅÈËÎÑÔ×ÚÝàãæéìïòõøûþ  "%(+.147:=@CFILORUX[^adgjmpsvy|‚…ˆ‹Ž‘”—𠣦©¬¯²µ¸»¾ÁÄÇÊÍÐÓÖÙÜßâåèëîñô÷úý  !$'*-0369<?BEHKNQTWZ]`cfilorux{~„‡Š“–™œŸ¢¥¨«®±´·º½ÀÃÆÉÌÏÒÕØÛÞáäçêíðóöùüÿ  #&),/258;>ADGJMPSVY\_behknqtwz}€ƒ†‰Œ’•˜›ž¡¤§ª­°³¶¹ (C)<<-(R)u,>> 1/4 1/2 3/4 AExssaeIJij'nOEOEoeoesLJLjljNJNjnjDZDzdz'^'`_:~ -------'','"",,"+o...... ``````<>!!/???!!? RsEURa/ca/sCc/oc/ugHHHhIILlNNoPQRRRTEL(TM)ZOhmZBCeeEFMoiDdeij 1/3 2/3 1/5 2/5 3/5 4/5 1/6 5/6 1/8 3/8 5/8 7/8 1/IIIIIIIVVVIVIIVIIIIXXXIXIILCDMiiiiiiivvviviiviiiixxxixiilcdm<--><-><==><=>-/\*|:~<=>=<<>><<<>>>NULSOHSTXETXEOTENQACKBELBSHTLFVTFFCRSOSIDLEDC1DC2DC3DC4NAKSYNETBCANEMSUBESCFSGSRSUSSPDEL_NL(1)(2)(3)(4)(5)(6)(7)(8)(9)(10)(11)(12)(13)(14)(15)(16)(17)(18)(19)(20)(1)(2)(3)(4)(5)(6)(7)(8)(9)(10)(11)(12)(13)(14)(15)(16)(17)(18)(19)(20)1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)(l)(m)(n)(o)(p)(q)(r)(s)(t)(u)(v)(w)(x)(y)(z)(A)(B)(C)(D)(E)(F)(G)(H)(I)(J)(K)(L)(M)(N)(O)(P)(Q)(R)(S)(T)(U)(V)(W)(X)(Y)(Z)(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)(l)(m)(n)(o)(p)(q)(r)(s)(t)(u)(v)(w)(x)(y)(z)(0)-|+++++++++o::====== =(21)(22)(23)(24)(25)(26)(27)(28)(29)(30)(31)(32)(33)(34)(35)(36)(37)(38)(39)(40)(41)(42)(43)(44)(45)(46)(47)(48)(49)(50)hPadaAUbaroVpcpAnAuAmAkAKBMBGBcalkcalpFnFuFugmgkgHzkHzMHzGHzTHzulmldlklfmnmummmcmkmmm^2cm^2m^2km^2mm^3cm^3m^3km^3m/sm/s^2PakPaMPaGParadrad/srad/s^2psnsusmspVnVuVmVkVMVpWnWuWmWkWMWa.m.BqcccdC/kgCo.dBGyhaHPinKKKMktlmlnloglxmbmilmolPHp.m.PPMPRsrSvWbfffiflffifflst+___,.;:?!(){}#&*+-<>=\$%@!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefgijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzACDGJKNOPQSTUVWXYZabcdfhijkmnpqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABDEFGJKLMNOPQSTUVWXYabcdefghijklmnopqrstuvwxyzABDEFGIJKLMOSTUVWXYabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz012345678901234567890123456789012345678901234567899023456789?libcANSI_X3.4-1968€úO òP`øP`Q`ðPàïP üP üP`ýP þP þP QÀáOÀïOÀéOe£Ne£Ne£Ne£Ne£Ne£Ne£Ne£Ne£Ne£Ne£Ne£Ne£N0123456789abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_IO_vfwprintf(nil)(null)á%Ká%Ká%Ká%Ká%Ká%Ká%Ká%Ká%Ká%Ká%Ká%Ká%Ká%KÑKË!K$K*K°+K|(KA)K”Kg*KÙ*K)KîK=+Ká%Ká%Ká%KKKKKKKKKKKKKKK˜K;K‰KðKKÿK… KéK K!K\ KnK,KKKKKKKKKKKKKKK-KKK˜K;K‰KðKKÿK… KéK K!K\ KnK,KKKKKKKKKKKKKKÕ,KKKK˜K;K‰KðKKKKKK!KKKKKKKKKKKKKKKKK|+Kä(K-KÐ,K˜K;K‰KðKKÿK… KéK K!K\ KnK,KïKïKKKKKKKKKKK%K|+Kä(K-KÐ,K˜K;K‰KðKKÿK… KéK K!K\ KnK,KïKïKKK-!Ka!K*KD*K(KK(Kâ+Kn$K%K|+Kä(K-KÐ,K˜K;K‰KðKKÿK… KéK K!K\ KnK,KïKïK¿+K       €OF@ K0«F@«F@RFðSF YF`¬F€«FðÃFP¬F`VF°®FÀ®F®FP¬F ®Fto_inpunctvfscanf.ccnt < (((uint32_t) (*_nl_current_LC_CTYPE)->values[((int) (_NL_CTYPE_MB_CUR_MAX) & 0xffff)].word))XdK¨`K¨`K¨`K¨`K¨`K¨`K¨`K¨`K¨`K¨`K¨`K¨`K¨`K¨`K¨`K¨`K¨`K¨`K¨`K¨`K#dK¨`K¨`K¨`K¨`K¨`K¨`KdK¨`KúbK¨`KëcK¼cK¨`K¨`K¨`KXdK¨`K¨`KúbK¨`K¨`K¨`K¨`K¨`KúbKlmK²aK²aK²aK²aK²aK²aK²aK²aK²aK²aK²aK²aK²aK²aK²aK²aK²aK²aK²aK²aK²aK²aK²aK²aK²aK²aK²aK­jK²aKdhK²aK­jK­jK­jK²aK²aK²aK²aK²aK²aK²aK²aK²aK²aK²aKmfK²aK²aK²aK²aKQfK²aK²aK*nK²aK²aK²aK²aK²aK­jK²aKWhKkdK­jK­jK­jK²aKnK²aK²aK²aK²aKµmK¦mK@fK²aK²aK`fK²aKrdK²aK²aKQfK_IO_vfscanf_internal€€../sysdeps/posix/tempname.cTMPDIR/tmp%.*s/%.*sXXXXXX__gen_tempname! "invalid KIND in __gen_tempname"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789SuccessOperation not permittedNo such file or directoryNo such processInterrupted system callInput/output errorNo such device or addressArgument list too longExec format errorBad file descriptorNo child processesCannot allocate memoryPermission deniedBad addressBlock device requiredDevice or resource busyFile existsInvalid cross-device linkNo such deviceNot a directoryIs a directoryInvalid argumentToo many open files in systemToo many open filesText file busyFile too largeNo space left on deviceIllegal seekRead-only file systemToo many linksBroken pipeNumerical result out of rangeResource deadlock avoidedFile name too longNo locks availableFunction not implementedDirectory not emptyNo message of desired typeIdentifier removedChannel number out of rangeLevel 2 not synchronizedLevel 3 haltedLevel 3 resetLink number out of rangeProtocol driver not attachedNo CSI structure availableLevel 2 haltedInvalid exchangeInvalid request descriptorExchange fullNo anodeInvalid request codeInvalid slotBad font file formatDevice not a streamNo data availableTimer expiredOut of streams resourcesMachine is not on the networkPackage not installedObject is remoteLink has been severedAdvertise errorSrmount errorCommunication error on sendProtocol errorMultihop attemptedRFS specific errorBad messageName not unique on networkFile descriptor in bad stateRemote address changedStreams pipe errorToo many usersDestination address requiredMessage too longProtocol not availableProtocol not supportedSocket type not supportedOperation not supportedProtocol family not supportedAddress already in useNetwork is downNetwork is unreachableConnection reset by peerNo buffer space availableConnection timed outConnection refusedHost is downNo route to hostOperation already in progressOperation now in progressStale NFS file handleStructure needs cleaningNot a XENIX named type fileNo XENIX semaphores availableIs a named type fileRemote I/O errorDisk quota exceededNo medium foundWrong medium typeOperation canceledRequired key not availableKey has expiredKey has been revokedKey was rejected by serviceOwner diedState not recoverableResource temporarily unavailableInappropriate ioctl for deviceNumerical argument out of domainToo many levels of symbolic linksValue too large for defined data typeCan not access a needed shared libraryAccessing a corrupted shared library.lib section in a.out corruptedAttempting to link in too many shared librariesCannot exec a shared library directlyInvalid or incomplete multibyte or wide characterInterrupted system call should be restartedSocket operation on non-socketProtocol wrong type for socketAddress family not supported by protocolCannot assign requested addressNetwork dropped connection on resetSoftware caused connection abortTransport endpoint is already connectedTransport endpoint is not connectedCannot send after transport endpoint shutdownToo many references: cannot splice_®Pg®P®P™®P©®PÁ®PÔ®Pî®P¯P¯P+¯P·P>¯PU¯Pg¯Ps¯P‰¯P¡¯P­¯PǯPÖ¯Pæ¯Põ¯P°P$°P@·P8°PG°PV°Pn°P{°P‘°P °P`·P¬°PʰPä°P÷°P ±P#±Pˆ·P7±PR±Pe±P±Pš±P©±P·±PбPí±P²P²P(²PC²PQ²PZ²Po²P|²P‘²P¥²P·²PŲPÞ²Pü²P³P#³P9³PI³PW³Ps³P‚³P•³P¨³P°·P´³PϳPì³PØ·P¸P(¸PH¸Px¸P ¸PظP´P´P¹P%´PB´P(¹PS´Pj´P´P›´P³´PH¹PÑ´Px¹Pè´Pø´P˜¹PÀ¹PµP(µPè¹PºP8ºPhºPBµPWµPjµPwµPˆµP¦µPÀµPÖµPïµP ¶P)¶P>¶PO¶Pc¶Ps¶P…¶P˜¶P³¶PöPضPô¶Pÿ¶P„ÚKˆ×Kˆ×Kˆ×Kˆ×Kˆ×Kˆ×Kˆ×Kˆ×Kˆ×Kˆ×Kˆ×Kˆ×Kˆ×KðØKˆ×Kˆ×Kˆ×Kˆ×Kˆ×Kˆ×Kˆ×Kˆ×Kˆ×Kˆ×Kˆ×Kˆ×Kˆ×KpÚKˆ×K8ÚKˆ×KPÚKˆ×Kˆ×Kˆ×Kˆ×KÚKˆ×Kˆ×KðØKˆ×Kˆ×Kˆ×Kˆ×Kˆ×KðØKˆØKÑÖKÑÖKxØKÑÖKÑÖKÑÖKhØKÑÖKÑÖKÑÖKXØKÑÖKHØKÑÖKÑÖK8ØKÑÖKÑÖKÑÖKÑÖKÑÖKÑÖKÑÖKÑÖKÑÖKÑÖKÑÖKÑÖKÑÖKÑÖKÑÖKÑÖKÑÖKÑÖKÑÖKÑÖKÑÖKÑÖKÑÖKÑÖKØK@ÛK¹×K`ÛK¹×K@ÛK@ÛK@ÛK¹×K¹×K¹×K¹×K¹×K¹×K¹×K¹×K¹×K¹×K¹×KxÛK¹×K¹×K¹×K¹×KÛK¹×K¹×K¹×K¹×K¹×K¹×K¹×K¹×K@ÛK¹×KàÚKÛK@ÛK@ÛK@ÛK¹×KÛK¹×K¹×K¹×K¹×KøÚKÛKÛK¹×K¹×K(ÛK¹×KÛK¹×K¹×KÛK°æK0ÑFàÌF@«F ÍFаFÈF€ÏF€«FðÃF`æKpÃF°®FÀ®F®FP¬F ®FЮFà®F_dlfcn_hook%s%s%s: %sunsupported dlinfo requestÞíK îK0îKÞíK@îKPîK`îKÞíKÞíKxîKîKinvalid namespace__strcoll_l((uintptr_t) table) % __alignof__ (table[0]) == 0((uintptr_t) indirect) % __alignof__ (indirect[0]) == 0mbrtowc.c__mbrtowc../string/strcoll_l.c__wcscoll_l((uintptr_t) weights) % __alignof__ (weights[0]) == 0((uintptr_t) extra) % __alignof__ (extra[0]) == 0mbsrtowcs_l.c__mbsrtowcs_l((wchar_t *) data.__outbuf)[-1] == L''%[A-Za-z]%n%hu%n:%hu%n:%hu%nM%hu.%hu.%hu%nTZ/etc/localtimeUniversalUTCGMTtzfile.cnum_types == 2num_types == 1../TZDIRTZifposixrules__tzfile_read__extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (&zone_names[info->idx]) && __builtin_constant_p (__tzname[tp->tm_isdst]) && (__s1_len = strlen (&zone_names[info->idx]), __s2_len = strlen (__tzname[tp->tm_isdst]), (!((size_t)(const void *)((&zone_names[info->idx]) + 1) - (size_t)(const void *)(&zone_names[info->idx]) == 1) || __s1_len >= 4) && (!((size_t)(const void *)((__tzname[tp->tm_isdst]) + 1) - (size_t)(const void *)(__tzname[tp->tm_isdst]) == 1) || __s2_len >= 4)) ? __builtin_strcmp (&zone_names[info->idx], __tzname[tp->tm_isdst]) : (__builtin_constant_p (&zone_names[info->idx]) && ((size_t)(const void *)((&zone_names[info->idx]) + 1) - (size_t)(const void *)(&zone_names[info->idx]) == 1) && (__s1_len = strlen (&zone_names[info->idx]), __s1_len < 4) ? (__builtin_constant_p (__tzname[tp->tm_isdst]) && ((size_t)(const void *)((__tzname[tp->tm_isdst]) + 1) - (size_t)(const void *)(__tzname[tp->tm_isdst]) == 1) ? __builtin_strcmp (&zone_names[info->idx], __tzname[tp->tm_isdst]) : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) (__tzname[tp->tm_isdst]); register int __result = (((__const unsigned char *) (__const char *) (&zone_names[info->idx]))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (&zone_names[info->idx]))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (&zone_names[info->idx]))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (&zone_names[info->idx]))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p (__tzname[tp->tm_isdst]) && ((size_t)(const void *)((__tzname[tp->tm_isdst]) + 1) - (size_t)(const void *)(__tzname[tp->tm_isdst]) == 1) && (__s2_len = strlen (__tzname[tp->tm_isdst]), __s2_len < 4) ? (__builtin_constant_p (&zone_names[info->idx]) && ((size_t)(const void *)((&zone_names[info->idx]) + 1) - (size_t)(const void *)(&zone_names[info->idx]) == 1) ? __builtin_strcmp (&zone_names[info->idx], __tzname[tp->tm_isdst]) : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) (&zone_names[info->idx]); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) (__tzname[tp->tm_isdst]))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) (__tzname[tp->tm_isdst]))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) (__tzname[tp->tm_isdst]))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) (__tzname[tp->tm_isdst]))[3]); } } __result; }))) : __builtin_strcmp (&zone_names[info->idx], __tzname[tp->tm_isdst])))); }) == 0__tzfile_compute/usr/share/zoneinfo%H:%M:%S%H:%M%m/%d/%y%Y-%m-%d%I:%M:%S %pŒWLÆCLÆCLÆCLÆCLÆCLÆCLÆCLÆCLÆCLÆCLÆCLÆCLÆCLÆCLÆCLÆCLÆCLÆCLÆCLÆCLÆCLÆCLÆCLÆCLÆCLÆCLÆCLÆCLÆCLÆCLÆCLÆCLÆCLÆCLÆCLÆCLpNLÆCLÆCLÆCLÆCLÆCLÆCLÆCLÆCLÆCLÆCLÆCLÆCLÆCLÆCLÆCLÆCLÆCLÆCLÆCLÆCLÆCLÆCLÆCLÆCLÆCLÆCLÆCLNMLLL½KLÉDLÆCL¦KLüWL*UL ULÆCLÆCLÆCLãHLÆCLÆCLcFLÆCLÕHLZKLµGLKLüWLÁJLmSL9SLøQLÆCLÆCLÆCLÆCLÆCLÆCLàPL´OLŠOLæTL«TLÆCLüWL´OLÆCLeWLAWL!WLúVL˜WLÆCL®GLÆCL}KL—SL*OLëNLÆCL×VL­VLOVLNULPqLXqL`qLhqLpqL€qL¨pLHqLcannot create cache for search pathELF file data encoding not little-endianELF file version ident does not match current oneELF file version does not match current oneonly ET_DYN and ET_EXEC can be loadedELF file's phentsize not the expected sizefile=%s [%lu]; generating link map cannot create shared object descriptorELF load command address/offset not properly alignedcannot dynamically load executablecannot change memory protectionsELF load command alignment not page-alignedcannot allocate TLS data structures for initial threadobject file has no loadable segmentsfailed to map segment from shared objectobject file has no dynamic sectioninfo[9]->d_un.d_val == sizeof (Elf64_Rela)shared object cannot be dlopen()edcannot allocate memory for program headercannot enable executable stack as shared object requires dynamic: 0x%0*lx base: 0x%0*lx size: 0x%0*Zx entry: 0x%0*lx phdr: 0x%0*lx phnum: %*u cannot create search path arraycannot create RUNPATH/RPATH copy file=%s [%lu]; needed by %s [%lu] find library=%s [%lu]; searching cannot open shared object filecannot allocate name recorddl-load.clastp != ((void *)0) search path= (%s from file %s) (%s) l->l_next == ((void *)0)cannot read file datafile too shortinvalid ELF headerELF file OS ABI invalidinternal errorELF file ABI version invalid trying file=%s cannot stat shared objectr->r_state == RT_ADDcannot map zero-fill pagesdynamic-link.hinfo[20]->d_un.d_val == 7cannot close file descriptorsystem search pathpelem->dirname[0] == '/':;ORIGINPLATFORMLIBlib64(l)->l_name[0] == '\0'RPATHRUNPATHnsid >= 0nsid < _dl_nnswrong ELF class: ELFCLASS32_dl_map_object_dl_init_pathsexpand_dynamic_string_tokenadd_name_to_object_dl_map_object_from_fdelf_get_dynamic_info/lib64//usr/lib64/ GNUELFELF/etc/ld.so.cache search cache=%s ld.so-1.7.0glibc-ld.so.cache1.1dl-cache.ccache != ((void *)0)_dl_load_cache_lookupdl-lookup.cdo-lookup.hversion != ((void *)0) (no version symbols)symbol , version not defined in file with link time reference
relocation errorsymbol lookup errornormalprotected [%s] _dl_setup_hashcheck_match(bitmask_nwords & (bitmask_nwords - 1)) == 0version->filename == ((void *)0) || ! _dl_name_match_p (version->filename, map)symbol=%s; lookup in file=%s [%lu] version == ((void *)0) || (flags & ~(DL_LOOKUP_ADD_DEPENDENCY | DL_LOOKUP_GSCOPE_LOCK)) == 0 file=%s [%lu]; needed by %s [%lu] (relocation dependency) binding file %s [%lu] to %s [%lu]: %s symbol `%s'undefined symbol: _dl_lookup_symbol_xdl-reloc.c (lazy) relocation processing: %s%s map->l_tls_modid <= dtv[-1].countercannot allocate memory in static TLS blockcannot make segment writable for relocation../sysdeps/x86_64/dl-machine.h((reloc->r_info) & 0xffffffff) == 8%s: Symbol `%s' causes overflow in R_X86_64_32 relocation %s: Symbol `%s' causes overflow in R_X86_64_PC32 relocation %s: Symbol `%s' has different size in shared object, consider re-linking %s: no PLTREL found in object %s %s: out of memory to store relocation results for %s cannot restore segment prot after relocgÔLàÔLÖLgÔLgÔLÀÕLàÔLàÔLgÔLgÔL ÕLgÔLgÔLgÔLgÔLgÔLpÕL@ÕLÕLgÔLgÔLgÔLgÔLgÔLgÔLgÔLgÔLgÔLgÔLgÔLgÔLgÔLgÔLgÔLgÔLgÔLxÔLgÔLØL`ÙLgÔLgÔL ÙLØLØLgÔLgÔL~ØLgÔLgÔLgÔLgÔLgÔLmØLWØL-ØLgÔLgÔLgÔLgÔLgÔLgÔLgÔLgÔLgÔLgÔLgÔLgÔLgÔLgÔLgÔLgÔLgÔLÐØLunexpected reloc type 0xunexpected PLT reloc type 0xcannot apply additional memory protection after relocationelf_machine_rela_relative_dl_nothread_init_static_tlsDYNAMIC LINKER BUG!!!%s: %s: %s%s%s%s%s fatalcontinued%s: error: %s: %s (%s) error while loading shared librariesdl-misc.cniov < 64! "invalid format specifier"pid >= 0 && sizeof (pid_t) <= 4_dl_debug_vdprintfgmon%s: cannot open file: %s %s: cannot create file: %s %s: cannot map file: %s %s: cannot stat file: %s %s: file is no correct profile data file for `%s' Out of memory while initializing profiler dl-tls.cidx == 0dlopenmap->l_tls_modid == cntlistp != ((void *)0)cannot create TLS data structuresresult <= _dl_tls_max_dtv_idx + 1result == _dl_tls_max_dtv_idx + 1map->l_tls_blocksize >= map->l_tls_initimage_size(size_t) map->l_tls_offset >= map->l_tls_blocksize_dl_add_to_slotinfo_dl_allocate_tls_init_dl_next_tls_modid/proc/self/exelinkval[0] == '/'_dl_get_origin../sysdeps/unix/sysv/linux/dl-origin.cinvalid mode for dlopen()dl-open.ccannot extend global scopens == l->l_ns(call_map)->l_name[0] == '\0'mode & 0x00004cannot create scope listimap->l_need_tls_init == 0_dl_opendl_open_workerno more namespaces available for dlmopen()invalid target namespace in dlmopen()_dl_debug_initialize (0, args.nsid)->r_state == RT_CONSISTENT_dl_debug_initialize (0, args->nsid)->r_state == RT_CONSISTENTempty dynamic string token substitutionopening file=%s [%lu]; direct_opencount=%u cannot load any more object with static TLSTLS generation counter wrapped! Please report this.dl-close.c! should_be_thereold_map->l_tls_modid == idxidx == nloadedimap->l_ns == nsid calling fini: %s [%lu] tmap->l_ns == nsiddlcloseimap->l_type == lt_loadedmap->l_init_calledshared object not open_dl_close closing file=%s; direct_opencount=%u (*lp)->l_idx >= 0 && (*lp)->l_idx < nloadedjmap->l_idx >= 0 && jmap->l_idx < nloadedimap->l_type == lt_loaded && (imap->l_flags_1 & 0x00000008) == 0 file=%s [%lu]; destroying link map TLS generation counter wrapped! Please report as described in . _dl_close_workerremove_slotinfo^[yY]^[nN]e£NÿÿÿÿÀïPÆïP‡óP‡óP©Pe£Nÿÿÿÿ.‡óP‡óP‡óP‡óP‡óP‡óP‡óPHðPHðPHðPHðPHðPHðPHðPHðPSºOHðPHðPHðPHðPHðPHðP‡óP‡óPHðPHðPHðPHðPHðPHðPHðPHðPHðPHðPHðPHðPHðPHðPu'¿¾õu'¿¾õ©Pe£Nÿÿÿÿì¡N‡óP‡óP.©PSunMonTueWedThuFriSatSundayMondayTuesdayWednesdayThursdayFridaySaturdayJanFebMarAprMayJunJulAugSepOctNovDecJanuaryFebruaryMarchAprilJuneJulyAugustSeptemberOctoberNovemberDecemberAMPM%a %b %e %H:%M:%S %Y%a %b %e %H:%M:%S %Z %YSunMonTueWedThuFriSatSundayMondayFridayJanFebMarAprMayJunJulAugSepOctNovDecMarchAprilJuneJulyAugustAMPMTuesdayWednesdayThursdaySaturdayJanuaryFebruarySeptemberOctoberNovemberDecember%a %b %e %H:%M:%S %Y%m/%d/%y%H:%M:%S%I:%M:%S %p%a %b %e %H:%M:%S %Z %Ye£NÿÿÿÿoòP”òP˜òPœòP òP¤òP¨òP¬òP³òPºòPÂòPÌòPÕòPÜòPåòPéòPíòPñòPõòPùòPýòPóPóP óP óPóPóPóP&óP,óPõòP2óP7óP<óPCóPMóPUóP^óPgóPjóPmóPÒPÒP%ÒP‡óP‡óP‡óP‡óP‡óP‡óP‡óP óP°óPÀóPÐóPàóPðóPôPôP,ôP°õPÐõPøõPHôP öPdôPtôP„ôP”ôP¤ôP´ôPÄôPÔôPäôPôôPõPõPHöPhöP$õP<õP¤ôPTõPhõP|õPöP¸öPØöP÷P˜õP¤õP(÷P€÷P¨÷PÐ÷P” P” P” P” P” P‚óP¼0„óP‚óP†óP†óP‡óPˆóPøP©Pe£Nÿÿÿÿ)Ò©P%p%t%g%t%m%t%fe£NÿÿÿÿxüP‡óP‡óP‡óP‡óP‡óP©P%a%N%f%N%d%N%b%N%s %h %e %r%N%C-%z %T%N%c%Ne£Nÿÿÿÿ ýP‡óP‡óP‡óP‡óP‡óP‡óP‡óP‡óP‡óP‡óP‡óP©P+%c %a %le£NÿÿÿÿþP‡óP‡óP‡óP©Pe£Nÿÿÿÿ†óP©PISO/IEC 14652 i18n FDCC-setKeld Simonsenkeld@dkuug.dk+45 3122-6543+45 3325-6543ISO1.01997-12-20ISO/IEC JTC1/SC22/WG20 - internationalizationC/o Keld Simonsen, Skt. Jorgens Alle 8, DK-1615 Kobenhavn Vi18n:1999i18n:1999i18n:1999i18n:1999i18n:1999i18n:1999i18n:1999i18n:1999i18n:1999i18n:1999i18n:1999i18n:1999i18n:1999i18n:1999i18n:1999i18n:1999e£NÿÿÿÿðþPXÿPˆÿP ÿPÿP(ÿP6ÿP‡óPDÿP‡óP‡óP‡óPHÿPLÿPàÿP©Pe£Nÿÿÿÿ@Q@Q©P  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿÿ  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ€€ÿÀ€invalid mode parameter;Zx—µÔó0Nm<[y˜¶Õô1Onndots:timeout:attempts:inet6ip6-bytestringno-ip6-dotintrotateno-check-namesedns0single-request/etc/resolv.confdomainsearchnameserversortlistoptionsRES_OPTIONSenv/&../sysdeps/unix/sysv/linux/ifaddrs.cifa_data_ptr <= (char *) &ifas[newlink + newaddr] + ifa_data_sizegetifaddrsDST not allowed in SUID/SGID programscannot load auxiliary `%s' because of empty dynamic string token substitution load auxiliary object=%s requested by file=%s load filtered object=%s requested by file=%s cannot allocate dependency listmap->l_searchlist.r_list == ((void *)0)cannot allocate symbol search listFilters not supported with LD_TRACE_PRELINKINGmap->l_searchlist.r_list[0] == mapdl-deps.ccnt <= nlist_dl_map_object_deps../elf/dl-runtime.c_dl_fixup((reloc->r_info) & 0xffffffff) == 7_dl_profile_fixup calling init: %s calling preinit: %s dl-fini.cj < nmapsi < nloadedns != 0 || i == nloaded_dl_fini_dl_sort_finins == 0 || i == nloaded || i == nloaded - 1checking for version `%s' in file %s [%lu] required by file %s [%lu] no version information available (required by cannot allocate version reference tabledl-version.cdef_offset != 0unsupported version of Verdef recordweak version `' not found (required by of Verneed record needed != ((void *)0)match_symbol_dl_check_map_versionsRTLD_NEXT used in code not dynamically loaded../sysdeps/unix/sysv/linux/opensock.clast_type != 0/proc/net__opensocknet/unix net/if_inet6net/ax25net/nr net/rosenet/ipxnet/appletalksys/net/econetsys/net/ash net/x25ÿÿÿÿÿÿÿÿÿÿ0123456789abcdefyîüÿîüÿàðüÿñüÿ@ñüÿpñüÿðñüÿ0òüÿxòüÿ±òüÿ óüÿ`óüÿóüÿôüÿXôüÿ˜ôüÿàôüÿDõüÿÐõüÿpöüÿÂöüÿ@÷üÿÐ÷üÿ3íüÿ3íüÿ3íüÿ3íüÿ3íüÿ3íüÿ3íüÿ3íüÿ3íüÿ3íüÿ3íüÿ3íüÿ3íüÿ3íüÿ3íüÿ3íüÿ3íüÿ3íüÿ3íüÿ3íüÿ3íüÿ3íüÿ¶îüÿ(ðüÿhðüÿµ÷üÿWøüÿKøüÿ@øüÿµ÷üÿsìüÿsìüÿsìüÿsìüÿõ÷üÿë÷üÿ4øüÿµ÷üÿùüÿçøüÿçøüÿ,þüÿçøüÿœýüÿŒýüÿ|ýüÿdýüÿTýüÿDýüÿùüÿùüÿýüÿ¼üüÿœüüÿ„üüÿdüüÿ<üüÿ üüÿÌûüÿçøüÿ,þüÿ\ûüÿ\ûüÿ\ûüÿ\ûüÿ\ûüÿ,þüÿ,þüÿ\ûüÿ\ûüÿ,þüÿ\ûüÿ\ûüÿ\ûüÿ\ûüÿœûüÿ\ûüÿ\ûüÿ\ûüÿ\ûüÿ\ûüÿ\ûüÿlúüÿÄúüÿÄúüÿÄúüÿÄúüÿÄúüÿÄúüÿÄúüÿÄúüÿÄúüÿÄúüÿÄúüÿÄúüÿÄúüÿÄúüÿÄúüÿÄúüÿÄúüÿÄúüÿÄúüÿÄúüÿÄúüÿÄúüÿÄúüÿÄúüÿÄúüÿÄúüÿÄúüÿÄúüÿÄúüÿÄúüÿÄúüÿÄúüÿ|úüÿ|úüÿ|úüÿ|úüÿ|úüÿ|úüÿ|úüÿ|úüÿ|úüÿ|úüÿ|úüÿ|úüÿ|úüÿ|úüÿ|úüÿ|úüÿ|úüÿ|úüÿ|úüÿ|úüÿ|úüÿ|úüÿ|úüÿ|úüÿ|úüÿ|úüÿ|úüÿ|úüÿ|úüÿ|úüÿ|úüÿ|úüÿÔúüÿÔúüÿÔúüÿÔúüÿÔúüÿÔúüÿÔúüÿÔúüÿÔúüÿÔúüÿÔúüÿÔúüÿÔúüÿÔúüÿÔúüÿÔúüÿÔúüÿÔúüÿÔúüÿÔúüÿÔúüÿÔúüÿÔúüÿÔúüÿÔúüÿÔúüÿÔúüÿÔúüÿÔúüÿÔúüÿÔúüÿÔúüÿüùüÿçøüÿLùüÿçøüÿ,þüÿçøüÿ ùüÿçøüÿçøüÿçøüÿçøüÿçøüÿçøüÿçøüÿçøüÿçøüÿçøüÿçøüÿçøüÿçøüÿçøüÿçøüÿçøüÿçøüÿçøüÿçøüÿçøüÿçøüÿçøüÿçøüÿçøüÿçøüÿçøüÿçøüÿçøüÿçøüÿçøüÿçøüÿçøüÿçøüÿçøüÿçøüÿçøüÿçøüÿçøüÿçøüÿçøüÿçøüÿçøüÿçøüÿçøüÿçøüÿçøüÿçøüÿçøüÿçøüÿçøüÿçøüÿçøüÿçøüÿçøüÿçøüÿçøüÿçøüÿçøüÿçøüÿçøüÿçøüÿçøüÿçøüÿçøüÿçøüÿçøüÿçøüÿçøüÿçøüÿçøüÿçøüÿçøüÿçøüÿçøüÿçøüÿçøüÿçøüÿçøüÿçøüÿçøüÿçøüÿçøüÿçøüÿçøüÿçøüÿçøüÿçøüÿçøüÿçøüÿçøüÿ¬ýüÿšüüÿWýüÿoýüÿ¥üüÿ½üüÿ+õüÿ+õüÿÉüüÿÔüüÿ+õüÿàüüÿëüüÿöüüÿýüÿ+õüÿ ýüÿýüÿ1ýüÿDýüÿzýüÿ‡üüÿ£úüÿ¶ûüÿ©ûüÿûüÿ£úüÿ×ôüÿ×ôüÿ×ôüÿ×ôüÿáûüÿ‚ûüÿûüÿ£úüÿ¼þüÿØÿüÿˆþüÿXÿüÿÿüÿøÿüÿýÿýÿµýÿªýÿýÿ˜ýÿ˜ýÿ˜ýÿ˜ýÿPýÿCýÿžýÿýÿýÿÌýÿ= ýÿb ýÿýÿdýÿdýÿdýÿdýÿõýÿI ýÿV ýÿýÿàýÿ¨ýÿ˜ýÿ(ýÿàýÿ»ýÿ»ýÿ»ýÿ»ýÿHýÿ8ýÿýÿØýÿœýÿT#ýÿD#ýÿ4#ýÿœýÿ‘ýÿ‘ýÿ‘ýÿ‘ýÿÔ"ýÿÄ"ýÿ$#ýÿœýÿhýÿ #ýÿ#ýÿ#ýÿhýÿ]ýÿ]ýÿ]ýÿ]ýÿ "ýÿ"ýÿð"ýÿhýÿü!ýÿ„!ýÿ"ýÿ<"ýÿü!ýÿ)ýÿ)ýÿ)ýÿ)ýÿ¬!ýÿ"ýÿ<"ýÿü!ýÿh$ýÿø%ýÿ¨%ýÿ€%ýÿh$ýÿØ#ýÿØ#ýÿØ#ýÿØ#ýÿ(&ýÿ˜%ýÿˆ%ýÿ¸%ýÿ„$ýÿÜ$ýÿÔ$ýÿÌ$ýÿ„$ýÿ¤#ýÿ¤#ýÿ¤#ýÿ¤#ýÿ%ýÿ¼$ýÿÄ$ýÿ„$ýÿ$ýÿ%ýÿ@%ýÿ%ýÿ$ýÿp#ýÿp#ýÿp#ýÿp#ýÿÀ%ýÿ0%ýÿ %ýÿP%ýÿ¼(ýÿ:*ýÿÉ*ýÿ¾*ýÿ¼(ýÿŒ&ýÿŒ&ýÿŒ&ýÿŒ&ýÿg*ýÿÕ*ýÿ²*ýÿ¼(ýÿ0)ýÿ(ýÿP)ýÿ`)ýÿ0)ýÿX&ýÿX&ýÿX&ýÿX&ýÿ8(ýÿP)ýÿ`)ýÿ0)ýÿ¬(ýÿ„)ýÿ°)ýÿÀ)ýÿ¬(ýÿ$&ýÿ$&ýÿ$&ýÿ$&ýÿ5)ýÿÉ)ýÿ¸)ýÿ¬(ýÿp,ýÿ0,ýÿ ,ýÿ,ýÿp,ýÿ,ýÿ,ýÿ,ýÿ,ýÿP,ýÿ ,ýÿ,ýÿp,ýÿ<5ýÿ66ýÿ`6ýÿh6ýÿ<5ýÿü2ýÿü2ýÿü2ýÿü2ýÿy6ýÿ-6ýÿq6ýÿ<5ýÿX5ýÿ¨4ýÿq5ýÿw5ýÿX5ýÿÈ2ýÿÈ2ýÿÈ2ýÿÈ2ýÿÐ4ýÿq5ýÿw5ýÿX5ýÿ1=ýÿDDýÿ8Dýÿ-Dýÿ1=ýÿO7ýÿO7ýÿO7ýÿO7ýÿÔCýÿlDýÿ!Dýÿ1=ýÿ»BýÿçDýÿÛDýÿÐDýÿ»Býÿ7ýÿ7ýÿ7ýÿ7ýÿ{DýÿnDýÿÄDýÿ»Býÿ=ýÿDCýÿDýÿ*Dýÿ=ýÿç6ýÿç6ýÿç6ýÿç6ýÿøBýÿDýÿ"Dýÿ=ýÿ}@ýÿG@ýÿ²Býÿ»Býÿ}@ýÿ³6ýÿ³6ýÿ³6ýÿ³6ýÿc@ýÿ²Býÿ»Býÿ}@ýÿ_Býÿ¼DýÿíDýÿEýÿ_Býÿ6ýÿ6ýÿ6ýÿ6ýÿpDýÿäDýÿùDýÿ_BýÿXGýÿ HýÿPHýÿ`HýÿXGýÿFýÿFýÿFýÿFýÿ€HýÿÐHýÿpHýÿXGýÿ$GýÿìGýÿHýÿ,Hýÿ$GýÿÌEýÿÌEýÿÌEýÿÌEýÿLHýÿœHýÿMI† 04ïÿâAF† 45ïÿ3AO† $T 5ïÿÓAC† FEŽEEŒIƒ$|Ø5ïÿ<AC† IŽEŒMƒ¤ð7ïÿ DC† Äà7ïÿ DC† äÐ7ïÿ AG† À7ïÿDG† $À7ïÿ=AK† $Dà7ïÿjAC† KŒƒRŽ$l(8ïÿyAC† KŒƒRŽ”€8ïÿ"DC† ´8ïÿ+CC† $Ô 8ïÿ[AC† EŽGŒGƒ$üØ8ïÿoAC† EŽEFŒEƒ$ 9ïÿ1AC† DƒD@9ïÿbAF† $d9ïÿùAC† KŒƒPŽ$Œh:ïÿAC† EŽFEŒIƒ´P;ïÿhAY† EŒDƒ$Ô <ïÿsAJ† EEŽNEŒLƒ$üø<ïÿÞAC† EFƒŒ$$°=ïÿkAC† KŒŽDƒLø?ïÿ‰AC† Dƒ$lh@ïÿAC† ELƒŒ$”Ð@ïÿAW† LƒŒŽ$¼ÈBïÿÆAH† HEŒEƒ$äpCïÿŠAC† IŽEŒHƒ$ ØDïÿŠAC† KƒQŽŒ$4@Eïÿ‹A\† GŽEZƒŒ\¨Fïÿ=AC† KŒƒ$|ÈFïÿüAC† FHŽHƒŒ$¤ Gïÿ}AC† KŒƒP$ÌøGïÿmAC† KŒƒP$ô@HïÿtAC† KŒƒP$˜Hïÿ±AC† KŒƒKŽK$D0Iïÿ¾AC† KŒƒKŽKlÈIïÿcAC† KŒƒ$ŒJïÿžAC† KŒƒK$´JïÿŽAC† KŒƒS$ÜøJïÿ+AC† KŒƒ_Ž$Lïÿ,AC† KŒƒZŽ$,MïÿkAC† GŽHƒŒ$TPNïÿÐAC† EGŽTƒŒ$|øOïÿ›AC† IŽJŒEƒ$¤pPïÿ”AF† EŽHƒŒ$ÌèPïÿ¨AC† EFƒŒôpQïÿ.AG† $€QïÿAW† EGŽLŒIƒ<xRïÿGAC† Dƒ$\¨RïÿÿAJ† LƒŒŽ$„€SïÿŠAC† EIŒŽJƒ$¬èUïÿìAC† KŒƒaŽ$Ô°VïÿxAC† IŽFƒŒ$ü\ïÿŸAE† KŒƒM$€\ïÿ7AC† KƒŒ$D ]ïÿÈAC† KŒKƒŽ}$lH`ïÿ1AC† Kƒ[ŽŒ$”`cïÿAC† IŽEŒHƒ¼8eïÿ'AH† Dƒ$ÜHeïÿ˜AC† EOƒŒŽ$ÀfïÿÑAC† KŒƒKŽY,xiïÿuAF† LØiïÿ¾AJ† $lxjïÿ™AC† EFƒŒ$”ðjïÿmAC† EEŒJƒ$¼8kïÿ°Aa† KŽGƒŒ$äÀmïÿ.AC† EŽFEŒIƒ$ ÈnïÿòAC† KŒƒKŽR$4 qïÿZAC† KŒƒ[Ž$\Ørïÿ`AJ† KŒƒSŽ$„tïÿéAC† FEŽEJŒMƒ$¬ØuïÿúAH† GŽFEŒFƒÔ°xïÿ-AJ† EŒDƒ$ôÀyïÿAC† KŒƒ\Ž$¸|ïÿ‰AC† KŒƒVŽ$D ïÿœAC† KŒƒR$l˜ïÿ0AK† LƒŒŽ$” €ïÿ´AC† KŒƒKŽe¼8‚ïÿ!AC† ÜH‚ïÿAC† $üH‚ïÿˆAC† ELŒMƒ$°ƒïÿ=AE† DƒDЃïÿ”AC† MƒdP„ïÿAH† „P„ïÿ(AH† ¤`„ïÿAH† Ä`„ïÿAH† ä`„ïÿZHX†  „ïÿAM† $„ïÿAJ† D„ïÿ;Hb† d°„ïÿ AG† „ „ïÿ AF† ¤„ïÿAC† DƒÄ„ïÿPAH† DƒäÀ„ïÿ8AC† EŒCƒ$à„ïÿ’AC† KŒƒQŽ$,X…ïÿAC† KŒƒUŽ$TÀ…ïÿAC† KŒƒKWŽ|¸†ïÿAF† $œ¸†ïÿ%AC† KŒ]ŽƒÄÀ‡ïÿ'AC† Dƒ$äЇïÿ°AF† KƒOŒŽ$ XˆïÿÓAC† KŒŽDƒ4‹ïÿAH† $T‹ïÿXAC† FŽFFŒDƒ|H‹ïÿJAC† FƒŒ$œx‹ïÿfAC† EIŒŽDƒ$ÄÀ‹ïÿcAC† EFƒŒìŒïÿ.AC† Dƒ$ ŒïÿmAC† GŒTƒ$4`ŒïÿxAF† GŽEIŒeƒ$\¸ïÿØAC† JƒŒŽ„pŽïÿ AC† $¤`ŽïÿJAC† KŒƒK$̈ŽïÿQAC† GŒSƒôÀŽïÿ"AC† Dƒ ÐŽïÿAH† 4 ÀŽïÿ AC† T °ŽïÿDMG† $t àïÿeAG† ENƒŒŽœ (“ïÿAE† ¼ “ïÿôAG† Ü ø“ïÿ¤AG† ü ˆ”ïÿGC† !x”ïÿAJ† ðÿ)EC† ä2 >ðÿ'EC† 30>ðÿ)EJ† $3@>ðÿxAG† D3 >ðÿ*EF† d3°>ðÿEC† „3°>ðÿEC† ¤3°>ðÿAJ† $Ä3°>ðÿÂA\† EŽQƒŒì3XGðÿ†AH† $ 4ÈGðÿ”AP† LŒƒSŽ$44@HðÿAJ† KŒƒKŽZ\48IðÿAG† |48IðÿWAJ† $œ4xIðÿ‹AF† GŽEGŒDƒ$Ä4àJðÿDAE† GƒOŽŒX$ì4LðÿAC† KŒƒYŽ5ðOðÿAU† 45ðOðÿJAR† $T5 Pðÿ~AC† EEŽTƒŒ|5xQðÿ)EC† œ5ˆQðÿ1EC† ¼5¨QðÿEJ† Ü5¨QðÿAAG† ü5ØQðÿAJ† 6ØQðÿWAH† <6Rðÿ6AC† Qƒ$\68Rðÿ° A\† HŽLEŒMƒ„6À[ðÿ:AF† EŒDƒ¤6à[ðÿ)AR† $Ä6ð[ðÿTAC† KƒUŽŒì6(]ðÿýAL† WƒŒ$ 7^ðÿÑAC† K]ŽŒƒ47À^ðÿAU† T7À^ðÿJAR† $t7ð^ðÿAK† EJƒŒŽ$œ7èaðÿòAC† IŽEƒŒ$Ä7ÀbðÿŸAC† GŽLŒQƒì78eðÿSAG†  8xeðÿ@EC† ,8˜eðÿ&EJ† L8¨eðÿ&EC† l8¸eðÿ$EC† Œ8ÈeðÿAJ† $¬8Èeðÿ~A\† EŽJŒMƒÔ8 jðÿLA\† ô8Pjðÿ½AE† 9ðjðÿ-AV† $49kðÿmAC† KƒUŽŒ$\9Hlðÿ§AC† EWƒŒŽ„9ÐmðÿAU† ¤9ÐmðÿQAM† $Ä9nðÿDAC† KŒƒKŽOì98oðÿ¨AH† OƒŒ :ÈoðÿAE† ,:¸oðÿGC† L:¨oðÿAJ† l:¨oðÿA\† FƒŒŒ:pðÿAR† ¬:pðÿ-AV† $Ì:(pðÿâAC† GŽGŒFƒô:ðpðÿÓAC† ZƒŒ;°qðÿBAK† 4;àqðÿeAC† Dƒ$T;0rðÿ¯AC† EwƒŒŽ$|;¸zðÿ—AC† KƒVŒŽ¤;0{ðÿJAR† $Ä;`{ðÿAC† EEŽGŒcƒ$ì;H~ðÿ:AC† KŒƒKŽK$<`ðÿ±AH† EGŽEŒOƒ$<<ø†ðÿ”AC† KŒƒKŽO$d<p‡ðÿçAG† FŽXƒŒŒ<8‰ðÿ!UC† ¬<H‰ðÿ)AJ† $Ì<X‰ðÿ€AC† GŽEFƒŒô<°ŠðÿWAF† =ðŠðÿ¾AN† 4=‹ðÿYAC† nƒT=ЋðÿYAC† nƒ$t=ŒðÿAC† KŒƒNœ=xŒðÿNAC† ¼=¨ŒðÿNAC† $Ü=ØŒðÿ4AC† IIŽGŒDƒ>ðŽðÿAH† $>àŽðÿ AE† D>ÐŽðÿxKC† d>0ðÿŽKC† „> ðÿnKC† ¤>ððÿnKC† Ä>@ðÿBKC† ä>pðÿA[† ?`‘ðÿAP† $?`‘ðÿsAM† D?À–ðÿÀKC† $d?`—ðÿÍAC† GŽEŒDƒŒ?™ðÿAC† HƒŒ$¬?øœðÿ‡AL† EKŽ`ƒŒÔ?`žðÿ†AC† EŒDƒ$ô?Ð¥ðÿtAR† IŽVƒŒ$@(¨ðÿ AP† IŽKƒŒ$D@±ðÿ2AC† GŽHƒŒl@(·ðÿIAL† Œ@X·ðÿ AH† ¬@H·ðÿAJ† $Ì@H·ðÿ–AC† KŒƒKŽO$ô@À·ðÿ™AF† LŽ_Œƒ$A8¸ðÿyAC† KŒƒ]Ž$DAºðÿ<AC† KŒƒKŽOlA¨»ðÿKAP† $ŒAØ»ðÿ°AC† KŒƒKŽ´A`¼ðÿQAH† Dƒ$ÔA ¼ðÿ‹AF† EHŽEEƒŒ$üA¾ðÿùAC† HŽEFƒŒ$Bà¿ðÿtAC† YŒƒ$DB@ÀðÿµAJ† GƒWŽŒ$lBØÁðÿhAC† KƒKŒHŽ$”B ÃðÿšAC† KŒƒYŽ$¼B˜ÈðÿDAC† JŽGŒDƒäBÀÉðÿVAL† DƒCÊðÿAAT† $$C0ÊðÿAC† LŽJŒƒQLCËðÿxAP† $lCxËðÿ_AC† ESƒŒ$”C°ËðÿHAC† GŽFƒŒ$¼CØÌðÿ§AC† KŒƒKŽSäC`Íðÿ"üCxÍðÿDpÍðÿ ,DhÍðÿ DD`Íðÿ \DXÍðÿ tDPÍðÿ ŒDHÍðÿ¤D@Íðÿ˜aŒƒ†IðÄDÀÎðÿ AƒÜDHÏðÿJ†ƒQ ŒüD¸ÏðÿµA†LG°!ƒEXÐðÿ‚^ÀAƒŒ†DüIåðÿJåðÿBŒDA ƒ†4J€åðÿ:FƒLJ¨åðÿWAƒ4dJðåðÿEBLŽE E(A0A8Gàƒ†ŒœJèðÿnD$´J`èðÿíe€"ŽŒ†ƒÜJ(íðÿ6AƒôJPíðÿå4 K(îðÿhBBB ŽE(A0A8G€ƒ†ŒDK`ñÿ¶N`†ƒ$\KñÿSEŽT†ƒMŒG0„K@ñÿkJ†ƒG ¤KñÿkJ†ƒG $ÄKàñÿ9TŒ†ƒQPŽìKøñÿgDLPñÿ:LxñÿY4LÀñÿ LL¸ñÿdL°ñÿ¨E^0ƒŒ†„L@ñÿSJ†ƒG ¤L€ñÿâJƒ†TÐŒÄLPñÿ ÜLXñÿôLPñÿ MXñÿ³JŒ†L ƒ,Møñÿ§JŒ†L ƒLMˆñÿ¢JŒ†Q0ƒlM ñÿ „M ñÿ=N †ƒœM8 ñÿREŒU †ƒ¼Mx ñÿMJ†ƒG ÜM¨ ñÿ«BŒN†K ƒüM8 ñÿíJ†ƒQ0ŒN ñÿ„BŒD†D ƒñÿ¯BAA Dƒ†ŒYH?ñÿC,4Y€?ñÿBBA A(D0Dƒ†Œ4dYà?ñÿBBCŽB CB(CŒF0A8Eƒ†G4œY¸Bñÿ¬BBCŽB B(A0A8D@Gƒ†ŒÔY0CñÿC,ìYhCñÿBBA A(D0Dƒ†Œ4ZÈCñÿ¨BBCŽB CB(CŒF0A8Eƒ†G 4TZ@HñÿœBCBCŽB B(A0A8D@Dƒ†Œ$ŒZ¨Hñÿ&MŒƒ]PC†Ž´Z°JñÿVACƒD0ÔZðJñÿìZèJñÿ[àJñÿ[ØJñÿ4[ÐJñÿL[ÈJñÿd[ÀJñÿ|[¸Jñÿ”[°Jñÿ¬[¨JñÿÄ[ JñÿÜ[˜Jñÿô[Jñÿ \ˆJñÿ$\€Jñÿ<\xJñÿT\pJñÿl\hJñÿ„\`Jñÿœ\XJñÿ´\PJñÿÌ\HJñÿä\@Jñÿü\8Jñÿ]0Jñÿ,](JñÿD] Jñÿ]HBƒ\]hJñÿ1ACƒ4t]JñÿòBBB B(A0A8D`Jƒ†ŒŽ¬]XMñÿD4Ä]`Mñÿ*BHGB B(A0E†ŒŽA8D@ƒ4ü]XNñÿ—BBB B(A0A8G°gƒ†ŒŽ44^ÀTñÿBBBB B(A0A8Cƒ†ŒŽD€l^ØVñÿíMŒ†L° bƒ4Œ^¨Wñÿ¦BBB B(A0A8GÀ%Wƒ†ŒŽ$Ä^ ^ñÿ…MŒƒPŽI@H†ì^ˆ`ñÿRVÐ kŒ†ƒ _ÈañÿULƒ†LÀ _Œ,_cñÿ#D_ cñÿßAAGÀ cƒ†d_àcñÿeL†ƒNPJŒ„_0eñÿbM†N@QŒƒ¤_€fñÿKAEƒD Ä_°fñÿFAEƒD ,ä_àfñÿÞBBB CŒŽA(A0Cƒ†Gà ,`hñÿ]BCBA C†ŒA(GÐ@cƒ4D`Àjñÿ5BBB B(A0A8G€jƒ†ŒŽ4|`ÈlñÿBBB B(A0C†ŒŽA8G°Áaƒ4´` qñÿÃBCBB B(A0C†ŒŽA8CƒD@ì`8rñÿAAGÀ _ƒ† a8sñÿEVÐ gŒ†ƒ$,ahtñÿM†ƒMŒQàKŽ,TaÐvñÿÅBCBA A(Cƒ†ŒGÐ@4„apyñÿÔBCBB B(A0A8G@ƒ†ŒŽ¼a|ñÿrN0H†ƒÜax|ñÿãMŒ†QÐIƒüaH~ñÿJb€~ñÿ 4,bx~ñÿl BBB B(A0A8Gnƒ†ŒŽ$db°ˆñÿPAM†KL° Vƒ$Œb؉ñÿ2MŒ†^°%FƒŽ´bðŠñÿ‡MŒ†I Hƒ,Ôb`‹ñÿuBECŽB CŒA(C†A0Bƒc°‹ñÿ|AM Iƒ4$cŒñÿBCBB B(CŒŽA0C†A8CƒD`,\cøŒñÿ“BCBA A(D0Eƒ†Œ$ŒchñÿöM†ƒ[PFŽŒ4´c@ŽñÿBBB CŽB(CŒA0C†A8CƒDP4ìc(ñÿóBCBB B(CŒŽA0C†A8D@Iƒ$dðñÿÂM†ƒX0FŽŒDd ñÿ\d˜ñÿCAAD Eƒ†|dÈñÿACƒ”dÐñÿ¬dÈñÿACƒÄdÐñÿ,ÜdÈñÿ¨BBA C†ŒA(CƒD0 eH‘ñÿUN C†ƒ,eˆ‘ñÿ2DDe°‘ñÿ­M†ƒD0$de@“ñÿM†ƒZpJŽŒ4Œe¨–ñÿÛBBB B(A0A8Cƒ†ŒŽDp4ÄeP™ñÿøBDB B(CŒŽA0C†A8D€Mƒ$üe›ñÿSHƒ_ŽŒ†D`$$fPœñÿyM†ƒMŒL@FŽ4Lf¨ñÿ„BBCŽB CB(A0A8DpRƒ†Œ$„fŸñÿ­MŒ[@Dކƒ¬fˆ ñÿ YŒ†ƒI0JŽÌfx¢ñÿMM†ƒX0CŽŒ$ìf¨£ñÿWŒ†ƒSPFŽg§ñÿB,gȧñÿDgÀ§ñÿ\g¸§ñÿ&tgЧñÿ1Œgø§ñÿ1¤g ¨ñÿ>¼gH¨ñÿ1Ôgp¨ñÿ8ìg˜¨ñÿ5hÀ¨ñÿhȨñÿ 4hÀ¨ñÿLh¸¨ñÿdh°¨ñÿ|h¨¨ñÿ”h ¨ñÿ"DCƒ¬h¸¨ñÿDCƒÄhÀ¨ñÿ#ACƒÜhبñÿ”ACƒôh`©ñÿ°ACƒ iø©ñÿVN0C†ƒ,i8ªñÿfN0C†ƒ$Liˆªñÿô\†ŽŒƒNPCti`«ñÿŒih«ñÿACƒ¤ip«ñÿ¼ih«ñÿACƒÔip«ñÿ3AACƒ†D ôi«ñÿ)DCƒ j¨«ñÿ)DCƒ$jÀ«ñÿ3AACƒ†D Djà«ñÿIDCƒ\j¬ñÿ3AAD Eƒ†|j8¬ñÿ*DCƒ”jP¬ñÿACƒ$¬jX¬ñÿJM†ƒ\ŒŽD`$Ôj€®ñÿmMŒƒMQ`Jކ$üjȰñÿì\ƒŽ†SPCŒ,$k±ñÿýBBCŒA C†A(CƒD@4Tk`²ñÿÉBHBB B(CŒŽA0A8D`Hƒ†4Œkø²ñÿÑBHBB B(CŒŽA0A8D`Hƒ†Äk ³ñÿ²ACƒÜkH´ñÿ“\Œ†ƒI@FŽ,ükȶñÿñBBCŽB A(B†ŒA0Cƒ,l˜·ñÿON C†ƒ4LlÈ·ñÿÀBBB CŽB(CŒA0A8DPƒ†„lP¹ñÿJN C†ƒ4¤l€¹ñÿ}BBB CŽB(A0A8DZƒ†ŒÜlÈ»ñÿ5DCƒ4ôlð»ñÿ;BBCŽG B(CŒA0A8D`Iƒ†$,mø¼ñÿ9BGŒAC†A Bƒ$Tm½ñÿñBDA Cƒ†Œ4|mè½ñÿµBBB B(CŒŽF0C†A8DJƒ´mpÀñÿJEHƒ$Ìm¨ÀñÿHIŽWŒ†ƒHPômÂñÿ\AC†ACƒG nÐÃñÿrM†ƒI0KŒ4n0ÆñÿMACƒLnhÆñÿSIƒMŒ†D ln¨Æñÿ%ACƒ„nÀÆñÿ6AACƒ†D ¤nàÆñÿýAH†ACƒD0ÄnÀÇñÿaAC†AD Eƒ$änÈñÿ\†ŽŒƒNPC oÉñÿ7IŒM†ƒL@C,o(Êñÿ(Do@Êñÿ\oHÊñÿ HCƒtoPÊñÿ•HCƒŒoØÊñÿ(¤oðÊñÿ HCƒ¼oøÊñÿ!HCƒ4ÔoËñÿËBBCŽG B(A0A8D€Tƒ†Œ p¨Ìñÿ_N C†ƒ,pèÌñÿ{M†ƒL CŒLpHÍñÿcVPFƒŒ†lp˜Íñÿ)HCƒ4„p°ÍñÿíBNŽBB FŒA(B†A0CƒD@¼phÏñÿ8ACƒ4ÔpÏñÿçBBCŽB B(A0A8Gðfƒ†Œ4 qHÕñÿuBBCŽB B(CŒA0A8D`Mƒ†Dq×ñÿ®DCƒ\q(ØñÿACƒ$tq0Øñÿ­M†ƒ\ŽŒD`œq¸Úñÿ¦M†ƒI EŒ¼qHÛñÿ½M†ƒI0CŒ4ÜqèÜñÿÏBBB B(CŒŽA0C†A8GTƒ4r€ññÿBBB B(A0A8Cƒ†ŒŽDPLrXöñÿÓM†ƒV`CŽŒ$lr÷ñÿ=M†ƒ^àHŽŒ”r0úñÿ'¬rHúñÿ Är@úñÿÜrHúñÿôr@úñÿ s8úñÿ$s0úñÿ2óÿ"H €ùÿÿÿÿÿÿÿÿL´ú?óÿ€G€ G€D€€ ·?óÿ =?óÿ"H €ùÿÿÿÿÿÿÿÿ$$™€9óÿ¼AM† \ƒŒŽL™>óÿ<AHCƒ†D0l™8?óÿ $„™p?óÿµBIŒAC†A Cƒ4¬™Aóÿ˜BBB B(A0A8D°`ƒ†ŒŽ4ä™pEóÿÏBBB CŽB(A0A8D°dƒ†Œ$šJóÿRBAA D@fƒ†Œ$Dš@LóÿBDA Cƒ†Œ,lš¨NóÿBBCŽB CŒE(B†A0Bƒ$œš˜OóÿªAL† HKŽKŒHƒ,Äš WóÿBBCŒA C†A(CƒDPôšXóÿ4 ›(XóÿL_Zóÿ€G€ G€D€€ 4Zóÿ "Xóÿ"H €ùÿÿÿÿÿÿÿÿLT.Zóÿ€G€ G€D€€ ëYóÿ êXóÿ"H €ùÿÿÿÿÿÿÿÿL¤ýYóÿ€G€ G€D€€ ¢Yóÿ ËXóÿ"H €ùÿÿÿÿÿÿÿÿœ0Wóÿ?G°4,œ¸Yóÿ‹BCBCŽB B(CŒA0C†A8CƒDP4dœZóÿ6BBB B(A0A8DYƒ†ŒŽ$œœ^óÿ5AC† GŽGŒDƒÄœ0aóÿ$Üœ(aóÿW†ŒƒN@Ž, bóÿ.BCBA C†ŒA(BƒD04 cóÿ1AB†AD GƒL4 ióÿ€G€ G€D€€ ãhóÿ -dóÿ"H €ùÿÿÿÿÿÿÿÿL„ Ýhóÿ€G€ G€D€€ šhóÿ ‰dóÿ"H €ùÿÿÿÿÿÿÿÿLÔ ¬hóÿ€G€ G€D€€ Qhóÿ Ådóÿ"H €ùÿÿÿÿÿÿÿÿL$ {hóÿ€G€ G€D€€ hóÿ -eóÿ"H €ùÿÿÿÿÿÿÿÿLt Jhóÿ€G€ G€D€€ ¿góÿ ºeóÿ"H €ùÿÿÿÿÿÿÿÿLÄ hóÿ€G€ G€D€€ vgóÿ fóÿ"H €ùÿÿÿÿÿÿÿÿ4Ÿ`bóÿZAHƒLŸ¨cóÿ´AE†FCƒD0$lŸHeóÿ®BEŒAC†F CƒD0Lt hióÿ€G€ G€D€€ =ióÿ }góÿ"H €ùÿÿÿÿÿÿÿÿLÄ 7ióÿ€G€ G€D€€ ôhóÿ Hgóÿ"H €ùÿÿÿÿÿÿÿÿL ióÿ€G€ G€D€€ «hóÿ góÿ"H €ùÿÿÿÿÿÿÿÿLd Õhóÿ€G€ G€D€€ bhóÿ ùfóÿ"H €ùÿÿÿÿÿÿÿÿL´ ¤hóÿ€G€ G€D€€ hóÿ Ðfóÿ"H €ùÿÿÿÿÿÿÿÿL shóÿ€G€ G€D€€ Ðgóÿ §fóÿ"H €ùÿÿÿÿÿÿÿÿLT Bhóÿ€G€ G€D€€ ‡góÿ fóÿ"H €ùÿÿÿÿÿÿÿÿL¤ hóÿ€G€ G€D€€ >góÿ Gfóÿ"H €ùÿÿÿÿÿÿÿÿ¢eóÿnD ,¢heóÿzAwƒD¢ÐeóÿxAzƒ\¢8fóÿhDt¢€góÿ䌢Xhóÿœ¤¢àhóÿ¼¢Øióÿ5ADFƒ†Ü¢økóÿDô¢ðkóÿ £økóÿ$£ðkóÿ<£økóÿ4T£ðkóÿIBBB B(A0A8Cƒ†ŒŽD`,Œ£póÿÜBEB B(A0A8Fƒ†ŒŽ4¼£¸róÿBBB B(A0A8Cƒ†ŒŽD`,ô£ vóÿ´BEB B(A0A8Fƒ†ŒŽ$¤0yóÿ<¤8yóÿ4T¤0yóÿ…BCKB CŽB(CŒA0B†A8CƒF`Œ¤ˆ{óÿïL†ƒN@IŒ4¬¤X}óÿBHB B(A0A8GÐQƒ†ŒŽä¤@šóÿ L܇Ÿóÿ€G€ G€D€€ \Ÿóÿ Všóÿ"H €ùÿÿÿÿÿÿÿÿL,VŸóÿ€G€ G€D€€ Ÿóÿ Gšóÿ"H €ùÿÿÿÿÿÿÿÿL|%Ÿóÿ€G€ G€D€€ Êžóÿ Ešóÿ"H €ùÿÿÿÿÿÿÿÿLÌôžóÿ€G€ G€D€€ žóÿ Hšóÿ"H €ùÿÿÿÿÿÿÿÿLÞóÿ€G€ G€D€€ 8žóÿ ïšóÿ"H €ùÿÿÿÿÿÿÿÿLl’žóÿ€G€ G€D€€ ïóÿ õšóÿ"H €ùÿÿÿÿÿÿÿÿL¼ažóÿ€G€ G€D€€ ¦óÿ &›óÿ"H €ùÿÿÿÿÿÿÿÿL 0žóÿ€G€ G€D€€ ]óÿ ›óÿ"H €ùÿÿÿÿÿÿÿÿ|§¸—óÿ½ABƒ$”§`˜óÿ"BEŒKA G[ƒ†¼§hœóÿ_AD Eƒܧ¨óÿ/ô§Àóÿ\ ¨žóÿb$¨`žóÿl$<¨¸žóÿýAC† EEŽGŒDƒd¨¤óÿ1,|¨¸¤óÿBBCŽB CŒA(C†A0Mƒ4¬¨¨¦óÿÍBBCŽB CB(CŒA0C†A8DpEƒ4ä¨@«óÿ9BCBB CŽB(CŒA0C†A8D@Mƒ<©H­óÿ§BCBCŽB CB(CŒA0C†A8D€Eƒ\©¸²óÿAI† |©(³óÿ/”©@³óÿB¬©x³óÿ:,Ä© ³óÿUBHB B(A0A8Kƒ†ŒŽLÔ+ ôÿ€C€ G€D€€ ü ôÿ h·óÿ"H €ùÿÿÿÿÿÿÿÿL$ö ôÿ€C€ G€D€€ ¯ ôÿ ø·óÿ"H €ùÿÿÿÿÿÿÿÿLtÁ ôÿ€C€ G€D€€ b ôÿ ¼óÿ"H €ùÿÿÿÿÿÿÿÿLÄŒ ôÿ€C€ G€D€€  ôÿ (¼óÿ"H €ùÿÿÿÿÿÿÿÿ4«´óÿÎHƒS0DŒ†T«@µóÿ M†ƒQÐBNŒ$t«0·óÿ-AC† EIŒŽDƒ$œ«8¸óÿ*AC† KŒŽDƒ$Ä«@ºóÿPAC† KƒfŒŽ쫨 ôÿGFHƒ¬à ôÿiAACƒ†D $$¬0 ôÿ*AC† KŒŽDƒ$L¬8ôÿ:(AC† KŒŽDƒLT-8ôÿ€G€ G€D€€ 8ôÿ P6ôÿ"H €ùÿÿÿÿÿÿÿÿL¤ü7ôÿ€G€ G€D€€ ¹7ôÿ ,6ôÿ"H €ùÿÿÿÿÿÿÿÿLôË7ôÿ€G€ G€D€€ p7ôÿ p6ôÿ"H €ùÿÿÿÿÿÿÿÿLDš7ôÿ€G€ G€D€€ '7ôÿ L6ôÿ"H €ùÿÿÿÿÿÿÿÿ´­5ôÿíAC†ABƒD0Ô­à5ôÿíAC†ABƒD04ô­07ôÿ¥BBB B(CŒŽA0C†A8GÐEƒL _Rôÿ€G€ G€D€€ 4Rôÿ •Qôÿ"H €ùÿÿÿÿÿÿÿÿL\.Rôÿ€G€ G€D€€ ëQôÿ tQôÿ"H €ùÿÿÿÿÿÿÿÿÌ®Qôÿ·AHƒä®ðQôÿŽGàü®hRôÿGà¯ðRôÿ‰Gà,¯hSôÿŽGàD¯àSôÿŽGà\¯XTôÿŽGàt¯ÐTôÿŽGàŒ¯HUôÿL„‚Uôÿ€C€ G€D€€ SUôÿ NÝôÿ€C€ G€D€€ ÏÛôÿ Íôÿ"H €ùÿÿÿÿÿÿÿÿLœ>Ýôÿ€G€ G€D€€ †Ûôÿ BÍôÿ"H €ùÿÿÿÿÿÿÿÿLì>èÜôÿ€C€ G€D€€ 9Ûôÿ 0Íôÿ"H €ùÿÿÿÿÿÿÿÿLõÿ Òõÿ"H €ùÿÿÿÿÿÿÿÿLÌWbCõÿ€C€ G€D€€ k>õÿ õÿ"H €ùÿÿÿÿÿÿÿÿLX-Cõÿ€G€ G€D€€ ">õÿ ¸õÿ"H €ùÿÿÿÿÿÿÿÿLlXüBõÿ€G€ G€D€€ Ù=õÿ þõÿ"H €ùÿÿÿÿÿÿÿÿL¼XËBõÿ€D€ G€D€€ =õÿ Dõÿ"H €ùÿÿÿÿÿÿÿÿL Y—Bõÿ€D€ G€D€€ A=õÿ õÿ"H €ùÿÿÿÿÿÿÿÿL\YcBõÿ€D€ G€D€€ õ<õÿ Gõÿ"H €ùÿÿÿÿÿÿÿÿL¬Y/Bõÿ€G€ G€D€€ ¬<õÿ õÿ"H €ùÿÿÿÿÿÿÿÿLüYþAõÿ€G€ G€D€€ c<õÿ Ûõÿ"H €ùÿÿÿÿÿÿÿÿLLZÍAõÿ€G€ G€D€€ <õÿ ¶õÿ"H €ùÿÿÿÿÿÿÿÿLœZœAõÿ€D€ G€D€€ Î;õÿ ”õÿ"H €ùÿÿÿÿÿÿÿÿLìZhAõÿ€C€ G€D€€ ;õÿ +$õÿ"H €ùÿÿÿÿÿÿÿÿL<[3Aõÿ€C€ G€D€€ 4;õÿ ó#õÿ"H €ùÿÿÿÿÿÿÿÿLŒ[þ@õÿ€C€ G€D€€ ç:õÿ !&õÿ"H €ùÿÿÿÿÿÿÿÿLÜ[É@õÿ€C€ G€D€€ š:õÿ ¾&õÿ"H €ùÿÿÿÿÿÿÿÿL,\”@õÿ€G€ G€D€€ Q:õÿ q'õÿ"H €ùÿÿÿÿÿÿÿÿL|\c@õÿ€G€ G€D€€ :õÿ H'õÿ"H €ùÿÿÿÿÿÿÿÿLÌ\2@õÿ€G€ G€D€€ ¿9õÿ w*õÿ"H €ùÿÿÿÿÿÿÿÿL]@õÿ€G€ G€D€€ v9õÿ T*õÿ"H €ùÿÿÿÿÿÿÿÿLl]Ð?õÿ€G€ G€D€€ -9õÿ ë*õÿ"H €ùÿÿÿÿÿÿÿÿL¼]Ÿ?õÿ€G€ G€D€€ ä8õÿ §*õÿ"H €ùÿÿÿÿÿÿÿÿL ^n?õÿ€G€ G€D€€ ›8õÿ +õÿ"H €ùÿÿÿÿÿÿÿÿL\^=?õÿ€G€ G€D€€ R8õÿ K+õÿ"H €ùÿÿÿÿÿÿÿÿL¬^ ?õÿ€G€ G€D€€ 8õÿ N+õÿ"H €ùÿÿÿÿÿÿÿÿLü^Û>õÿ€G€ G€D€€ À7õÿ c+õÿ"H €ùÿÿÿÿÿÿÿÿLL_ª>õÿ€G€ G€D€€ w7õÿ -õÿ"H €ùÿÿÿÿÿÿÿÿLœ_y>õÿ€G€ G€D€€ .7õÿ ñ,õÿ"H €ùÿÿÿÿÿÿÿÿLì_H>õÿ€G€ G€D€€ å6õÿ y-õÿ"H €ùÿÿÿÿÿÿÿÿL<`>õÿ€G€ G€D€€ œ6õÿ V-õÿ"H €ùÿÿÿÿÿÿÿÿ¬ôèÃôÿÄôðÄôÿ²Üô˜Åôÿôô{üÿp õøÅôÿS$õ@Æôÿ1<õhÆôÿËZ0MƒŒ†\õÇôÿ°N0F†ƒ|õ¨ÉôÿÖG†P@FŒƒ4œõhÊôÿ@BEB B(A0A8DpNƒ†ŒŽÔõpÏôÿÚAB†ABƒD ,ôõ0ÑôÿBBA A(D0Lƒ†Œ$ö ÕôÿbAACƒ†D ,DöpÚôÿ{BIB A(A0Cƒ†ŒŽtöÀÛôÿ—D4ŒöHÜôÿy BBB CŽB(A0A8Cƒ†ŒDpÄöæôÿRÜöØæôÿ\DCƒ4ôö çôÿkBBB B(A0A8DpRƒ†ŒŽ,÷XéôÿÕMŒƒT0†4L÷ëôÿGBEB B(A0C†ŒŽA8D°Jƒ„÷0þôÿ`MƒV0JŽŒ†4¤÷põÿ™BCGCŽB B(A0A8G€#Qƒ†ŒÜ÷ØõÿAFDDƒ†ü÷¸õÿ‰ø0õÿACƒD 4ø0 õÿP†[0MŽŒƒTø0õÿ‚MŒS0Pކƒtø õÿ[Mƒ†N0NŒ”øàõÿ@MƒŒI P†´øõÿACƒÌøõÿ÷AEƒäøðõÿžMŒƒN0S†ùpõÿ=M†ƒD $ùõÿfACƒ<ùèõÿM†ƒN@TŒ\ùÈõÿ>S DŒ†ƒ$|ùèõÿ×MŒ†[@PŽƒ¤ù !õÿHM†ƒD 4ÄùÐ!õÿ2BBB B(A0A8DPMƒ†ŒŽüùØ#õÿÚAB†ABƒD ,ú˜%õÿøBBA A(DPGƒ†ŒLúh'õÿ2ECƒdú(õÿ2HCƒ4|ú¸)õÿ#BBB CŽB(A0A8Cƒ†ŒDp$´ú°,õÿ^BEC†ŒA CƒÜú¸7õÿDôúÀ7õÿ¼ ûh9õÿ|$ûÐ9õÿ!<ûè9õÿÜTû°:õÿ lû¸;õÿWN C†ƒŒûø;õÿµW BŒ†ƒ$¬û˜<õÿM†ƒ[`DŽŒÔû=õÿOìûÈ=õÿàü>õÿ™ü?õÿÑ4üà?õÿqLüHAõÿŸdüÐAõÿœMˆ†4„üPBõÿBMB B(CŒŽA0C†H8CƒL 4¼ü8GõÿBCBB B(A0A8Cƒ†ŒŽD€ôü LõÿëJˆÙýðLõÿu,,ýXMõÿBFB B(A0A8Fƒ†ŒŽ,\ý8Rõÿ—BHCŒA C†A(CƒD0Œý¨Sõÿ¤ý Sõÿ¬ <¼ý8^õÿR”ŽEEŒEƒˆÃEÌEÍEÎxŽEEŒ¿ÌEÍEÎüýXbõÿÜþ cõÿB,þXcõÿRDþ cõÿJ<\þØcõÿe¤ŽEEŒEƒˆÃEÌEÍEÎxŽEEŒ¿ÌEÍEΜþhõÿ5´þ0iõÿ&GUMƒ†Ôþ@jõÿ{ìþ¨kõÿ{{Œ†ƒ ÿmõÿQ$ÿPmõÿo$<ÿ¨mõÿ9BCŒDC†A Cƒ$dÿÀmõÿCBFŒAC†A CƒŒÿèmõÿ¤ÿàmõÿ—AOƒ4¼ÿhoõÿŠBCBCŽB B(A0B†ŒA8DpNƒ4ôÿÀpõÿBBB B(A0B†ŒŽA8D`Iƒ,˜qõÿJG†P LŒƒLÈsõÿVALƒdtõÿ |tõÿ ”tõÿ§¬˜tõÿ ÄtõÿAC† HƒŒ4ä€võÿBGCŽB CB(A0C†ŒA8GÀJƒ$XyõÿQ\†ŒƒQ°UŽD|õÿ™\}õÿBADƒtP}õÿMAFƒD ”€}õÿ=[@E†Œƒ$´ ~õÿNAH† LƒŒŽÜÈ€õÿyAACƒ†D ü(õÿDM0õÿ2M†ƒN0HŒ4P‚õÿóAIƒL8ƒõÿ-DBƒLDn/„õÿ€D€ G€D€€ „õÿ Lƒõÿ"H €ùÿÿÿÿÿÿÿÿL”nûƒõÿ€D€ G€D€€ µƒõÿ jƒõÿ"H €ùÿÿÿÿÿÿÿÿ,°‚õÿßBIA A(Cƒ†ŒD0<BCBB B(CŒŽA0B†A8BƒD`4D00öÿ¢BBB B(CŒŽA0C†A8DpSƒ4|¨4öÿzBBB B(A0C†ŒŽE8CƒD€4´ð6öÿv BBB B(A0A8G°}ƒ†ŒŽ4ì8Cöÿ‘BEB B(CŒŽA0C†A8BƒDp$ EöÿBS GŒ†ƒ$DÐGöÿkBAA Cƒ†ŒD@4lIöÿËBCBB CŽG(CŒF0A8D@ƒ†4¤°JöÿÂBBB B(CŒŽA0C†A8BƒD 4ÜHPöÿJBCBCŽB B(CŒF0C†A8D Wƒ4`TöÿBBB B(CŒŽA0C†F8CƒIp$L¸WöÿÜAC† IŽVƒŒ$tpjöÿ¿L†ƒ[pFŽŒ4œröÿkBBB B(A0A8Cƒ†ŒŽDÔ@vöÿ‹N0G†ƒ4ô°vöÿBBCŽB CB(A0A8Cƒ†ŒG$,ˆ„öÿ\M†MƒŽN@LŒ4TÀ†öÿªBBB B(A0A8DpPƒ†ŒŽ4Œ8ˆöÿƒBBB B(A0C†ŒŽA8G°Cƒ4Ä–öÿ€BBB B(A0A8GÐFƒ†ŒŽ4üØœöÿ BFBB B(A0C†ŒŽA8G€Bƒ44À§öÿ´BBCŽB B(A0A8Cƒ†ŒD4lH«öÿ¹BBB B(CŒŽA0C†A8GHƒ$¤ÐÊöÿî AL† LƒŒŽ4̘×öÿ)BBB B(A0C†ŒŽA8BƒLà$€÷ÿ3MŒƒMŽI`P†4,˜÷ÿÕBEB B(CŒŽA0A8D\ƒ†$d@÷ÿrH†RŒƒN€[ŽŒ˜ ÷ÿ/D0¤° ÷ÿ/D0¼È ÷ÿD ÔÐ ÷ÿ D ìØ ÷ÿ§AC†AD@Gƒ4 h ÷ÿìBBB CŽB(CŒA0C†A8G°tƒ4D ÷ÿÞBCBB CŽB(CŒA0C†A8DpMƒ4|È ÷ÿ BBCŽB CB(CŒA0A8D€Cƒ†4´ "÷ÿOBCBB CŽB(CŒA0A8G°gƒ†ì¸8÷ÿnM†ƒI IŒ :÷ÿtD,$p:÷ÿ.BEŽEFB R(C†ŒK0Cƒ4T0=÷ÿBBFBE B(CŒŽA0C†A8\ƒ4ŒH?÷ÿ BBB B(A0A8Bƒ†ŒŽGÐÄ P÷ÿ\D ÜhP÷ÿdD ôÀP÷ÿdD  Q÷ÿ D $ Q÷ÿD <(Q÷ÿD T0Q÷ÿD l8Q÷ÿ„@Q÷ÿ4D œhQ÷ÿ´pQ÷ÿD̨Q÷ÿDäàQ÷ÿDüR÷ÿT`R÷ÿ,hR÷ÿD`R÷ÿ\hR÷ÿtpR÷ÿsa0EŒØR÷ÿ_a q¤ S÷ÿsa0E¼ˆS÷ÿsa0EÔðS÷ÿìøS÷ÿH0T÷ÿ¸DpØT÷ÿ4àT÷ÿLèT÷ÿdðT÷ÿ|øT÷ÿ”U÷ÿCM†ƒI0HŒ´0V÷ÿÌ8V÷ÿä@V÷ÿüHV÷ÿ‘N G†ƒÈV÷ÿ4ÐV÷ÿ›D0LXW÷ÿd`W÷ÿ#D |xW÷ÿ ”pW÷ÿD¬xW÷ÿ[FCƒL¤†Êd÷ÿ€C€ G€D€€ ›d÷ÿ ¨]÷ÿ"H €ùÿÿÿÿÿÿÿÿLô†•d÷ÿ€C€ G€D€€ Nd÷ÿ Pa÷ÿ"H €ùÿÿÿÿÿÿÿÿLD‡`d÷ÿ€C€ G€D€€ d÷ÿ ®c÷ÿ"H €ùÿÿÿÿÿÿÿÿ$´ÐV÷ÿ‚BAC†ŒA Cƒ$Ü8W÷ÿ°AH† IŽVƒŒÀ[÷ÿD$È[÷ÿmAC† KŒƒN4D\÷ÿ:BBCŽB CŒA(C†A0CƒG°L\ˆþo÷ÿ€G€ G€D€€ Óo÷ÿ Hc÷ÿ"H €ùÿÿÿÿÿÿÿÿL¬ˆÍo÷ÿ€G€ G€D€€ Šo÷ÿ ƒg÷ÿ"H €ùÿÿÿÿÿÿÿÿLüˆœo÷ÿ€G€ G€D€€ Ao÷ÿ …g÷ÿ"H €ùÿÿÿÿÿÿÿÿLL‰ko÷ÿ€G€ G€D€€ øn÷ÿ Ói÷ÿ"H €ùÿÿÿÿÿÿÿÿLœ‰:o÷ÿ€G€ G€D€€ ¯n÷ÿ ¿i÷ÿ"H €ùÿÿÿÿÿÿÿÿ¼\Øa÷ÿ%Ô\ða÷ÿ$ì\øa÷ÿ:BDA Bƒ†Œlmf÷ÿf…šRG „mhf÷ÿš‘šRD $œmðf÷ÿ½ŸšRLŒ†^€GƒŽl]ˆl÷ÿ„]€l÷ÿ‰Gàœ]øl÷ÿ–Gà n÷ÿ&8n÷ÿ4@n÷ÿLHn÷ÿdPn÷ÿ$|Xn÷ÿXBFŒAA Cƒ†¤n÷ÿžM†ƒI KŒÄo÷ÿ$Üo÷ÿVAC† LƒŒŽG.Ð4 Ps÷ÿBDB B(CŒŽA0A8Cƒ†D`< (v÷ÿ‰MŒƒV0Dކ\ ˜w÷ÿgN F†ƒ,| èw÷ÿæBGCŒF A(GÀ@Lƒ†¬ ¨x÷ÿ Ä  x÷ÿ $Ü ˜x÷ÿkM†ƒ[`CŽŒ$!àz÷ÿ9AH† MƒŒŽ4,!ø{÷ÿÄBGB B(A0A8DPƒ†ŒŽd!|÷ÿ|!˜|÷ÿ”! |÷ÿ¬!¨|÷ÿaN F†ƒÌ!ø|÷ÿsa0Eä!`}÷ÿü!X}÷ÿ"`}÷ÿ,"h}÷ÿD"p}÷ÿsa0E\"Ø}÷ÿ¯AD0Jƒ|"h~÷ÿsa0E”"Ð~÷ÿ¬"Ø~÷ÿ•GBƒÄ"`÷ÿbHBƒÜ"¸÷ÿ]HBƒô"€÷ÿÅGBƒ #¸€÷ÿÅGBƒ$#p÷ÿÅGBƒ<#(‚÷ÿÅGBƒT#à‚÷ÿÅGBƒl#˜ƒ÷ÿÅGBƒ„#P„÷ÿÅGBƒœ#…÷ÿÅGBƒ´#À…÷ÿÅGBƒÌ#x†÷ÿÅGBƒä#0‡÷ÿÅGBƒ,ü#è‡÷ÿ{BBCŽB A(B†ŒA0ƒ,$8ˆ÷ÿ[,D$€ˆ÷ÿ…BBCŒA A(D0Uƒ†t$àˆ÷ÿRDDƒŒ$(‰÷ÿB$¤$`‰÷ÿ*BAŠdÁBÊ$Ì$h‰÷ÿ"AA„^ÁAÄô$p‰÷ÿ %x‰÷ÿo$%Љ÷ÿkDL‘M7üÿ€G€ G€D€€ "7üÿ ª6üÿ"H €ùÿÿÿÿÿÿÿÿLl‘7üÿ€G€ G€D€€ Ö6üÿ ‚6üÿ"H €ùÿÿÿÿÿÿÿÿL¼‘"‹÷ÿ€G€ G€D€€ ÇŠ÷ÿ ‚‰÷ÿ"H €ùÿÿÿÿÿÿÿÿL ’ñŠ÷ÿ€G€ G€D€€ ~Š÷ÿ à‰÷ÿ"H €ùÿÿÿÿÿÿÿÿ|&èˆ÷ÿ'”&p5üÿ…Ajƒ$¬&èˆ÷ÿjBEŒAC†A CƒI0L´’¨š÷ÿ€G€ G€D€€ }š÷ÿ ¬Š÷ÿ"H €ùÿÿÿÿÿÿÿÿL“wš÷ÿ€G€ G€D€€ 4š÷ÿ œŠ÷ÿ"H €ùÿÿÿÿÿÿÿÿLT“Fš÷ÿ€G€ G€D€€ ë™÷ÿ Z”÷ÿ"H €ùÿÿÿÿÿÿÿÿL¤“š÷ÿ€G€ G€D€€ ¢™÷ÿ ”÷ÿ"H €ùÿÿÿÿÿÿÿÿLô“ä™÷ÿ€G€ G€D€€ Y™÷ÿ W•÷ÿ"H €ùÿÿÿÿÿÿÿÿLD”³™÷ÿ€G€ G€D€€ ™÷ÿ •÷ÿ"H €ùÿÿÿÿÿÿÿÿL””‚™÷ÿ€G€ G€D€€ ǘ÷ÿ E•÷ÿ"H €ùÿÿÿÿÿÿÿÿ)@ˆ÷ÿ),)¨3üÿ×BBA A(D0Gƒ†Œ$L)(ˆ÷ÿAE† KŒƒGŽ,t) ‹÷ÿºBBCŽB CŒA(C†A0Cƒ¤)°‹÷ÿ4¼)¸‹÷ÿçBCBB B(A0A8DpGƒ†ŒŽô)p÷ÿAC†FCƒD *p’÷ÿ'M†ƒN0IŒ$4*€“÷ÿÈM†ƒMŒQ€vŽ\*˜÷ÿ´M†ƒI IŒ|*¨˜÷ÿM†ƒN0MŒœ*(™÷ÿˆM†ƒI MŒ¼*˜™÷ÿM†ƒN0MŒÜ*š÷ÿˆM†ƒI MŒü*ˆš÷ÿTAC† +Èš÷ÿSAC† PŒƒ4<+›÷ÿ BBB B(A0A8G°Pƒ†ŒŽt+àœ÷ÿ†AKƒLà”+P÷ÿ D$¬+H÷ÿßMŒƒ^°F†ŽÔ+ž÷ÿAKƒLà$ô+pž÷ÿMŒ†^ðFŽƒLü—¡÷ÿ€C€ G€D€€ Ò ÷ÿ ËŸ÷ÿ"H €ùÿÿÿÿÿÿÿÿLL˜Ì ÷ÿ€C€ G€D€€ … ÷ÿ  ÷ÿ"H €ùÿÿÿÿÿÿÿÿLœ˜— ÷ÿ€C€ G€D€€ 8 ÷ÿ åŸ÷ÿ"H €ùÿÿÿÿÿÿÿÿ$|xž÷ÿ™ËšRAE†AGðXƒL™Ê¡÷ÿ€C€ G€D€€ ›¡÷ÿ š ÷ÿ"H €ùÿÿÿÿÿÿÿÿLd™•¡÷ÿ€C€ G€D€€ N¡÷ÿ È ÷ÿ"H €ùÿÿÿÿÿÿÿÿL´™`¡÷ÿ€C€ G€D€€ ¡÷ÿ ® ÷ÿ"H €ùÿÿÿÿÿÿÿÿ$,}PŸ÷ÿŠÚšRAE†ACƒGðL,š"¢÷ÿ€C€ G€D€€ ó¡÷ÿ ¡÷ÿ"H €ùÿÿÿÿÿÿÿÿL|ší¡÷ÿ€C€ G€D€€ ¦¡÷ÿ ¡÷ÿ"H €ùÿÿÿÿÿÿÿÿLÌš¸¡÷ÿ€C€ G€D€€ Y¡÷ÿ ¡÷ÿ"H €ùÿÿÿÿÿÿÿÿ$D~ ÷ÿéšRAE†DCƒD d/`¡÷ÿD4|/X¡÷ÿöBFB B(CŒŽF0C†F8DpEƒ´/ £÷ÿ‰Gà$Ì/˜£÷ÿŸM†ƒ`°CŽŒô/¥÷ÿD 0¥÷ÿ7AC†AEƒD ,0x-üÿ"4D0¥÷ÿŒBBB B(CŒŽA0C†A8D tƒ|0h¨÷ÿ†M†ƒVPCŽŒœ0ب÷ÿtM†ƒV@FŽŒ¼0-üÿ"$Ô0 ©÷ÿ“AC† EEŽEIŒlƒü0˜¯÷ÿ†M†ƒVPCŽŒ1°÷ÿmM†ƒV@CŽŒ<1È,üÿ"$T1@°÷ÿµAC† GŽ|ƒŒ|1ظ÷ÿ=$”1¹÷ÿŠL†ƒMŒNPIŽ$¼1h¹÷ÿ£M†ƒ[`JŽŒ4ä1ð¹÷ÿCBCBCŽB CB(A0A8Bƒ†ŒDp2,üÿ"$42ð¼÷ÿUAC† ELŽJŒeƒ$\2(Ã÷ÿ™M†ƒ[`EŽŒ$„2 Ã÷ÿ~M†ƒPŒQPCެ2øÃ÷ÿZ`EŒ†ƒ$Ì2øÄ÷ÿÂM†ƒMŒL0LŽ$ô2 Å÷ÿŸAC† KŽjŒƒ3È÷ÿÊYƒŽŒI0R†4<3ÈÈ÷ÿFBCBCŽE CE(A0C†ŒA8CƒD@t3àÉ÷ÿ;AGƒ$Œ3Ê÷ÿ€AC† GŽEEŒTƒ$´3`Ë÷ÿ|AC† MŽEƒŒÜ3¸Î÷ÿKM†ƒU@DŽŒ,ü3èÏ÷ÿaBEE A(A0Fƒ†ŒŽ,4(Ò÷ÿ#,D4@Ò÷ÿ'BBA A(D@\ƒ†Œt4@Õ÷ÿc4Œ4˜Õ÷ÿ©BGB B(A0C†ŒŽA8CƒD`Ä4Ù÷ÿDGDƒÜ4HÙ÷ÿ"ô4`Ù÷ÿ , 5X)üÿµBBA A(D0Pƒ†Œ<5(Ù÷ÿT5 Ù÷ÿGAGƒJ t5PÙ÷ÿkAGƒG@”5 Ù÷ÿ?ACƒM ´5ÀÙ÷ÿ†DPÌ58Ú÷ÿbD@ä5Ú÷ÿ}DPü5øÚ÷ÿ}DP6`Û÷ÿXpEŒ†ƒ$46`Ü÷ÿ BAA GðFƒ†Œ\6HÝ÷ÿ Dt6@Ý÷ÿ”X EŒ†ƒ”6ÀÝ÷ÿ$¬6ÈÝ÷ÿÚAC† E[ƒŒŽ4Ô6€å÷ÿBHBCŽB B(A0C†ŒA8CƒDp4 7Xç÷ÿ¢BBCŽB DB(A0A8D@Dƒ†ŒL$£å÷÷ÿ€G€ G€D€€ º÷÷ÿ é÷ÿ"H €ùÿÿÿÿÿÿÿÿLt£´÷÷ÿ€G€ G€D€€ q÷÷ÿ ýè÷ÿ"H €ùÿÿÿÿÿÿÿÿLÄ£ƒ÷÷ÿ€G€ G€D€€ (÷÷ÿ ·ô÷ÿ"H €ùÿÿÿÿÿÿÿÿL¤R÷÷ÿ€G€ G€D€€ ßö÷ÿ Žô÷ÿ"H €ùÿÿÿÿÿÿÿÿLd¤!÷÷ÿ€G€ G€D€€ –ö÷ÿ øô÷ÿ"H €ùÿÿÿÿÿÿÿÿL´¤ðö÷ÿ€G€ G€D€€ Mö÷ÿ Ðô÷ÿ"H €ùÿÿÿÿÿÿÿÿL¥¿ö÷ÿ€G€ G€D€€ ö÷ÿ )õ÷ÿ"H €ùÿÿÿÿÿÿÿÿt9 å÷ÿŒ9˜å÷ÿ,¤9€%üÿÖBCBA A(D0Mƒ†ŒÔ9`å÷ÿOM†ƒD ô9å÷ÿ  :ˆå÷ÿ±N G†ƒ,,:(æ÷ÿ¦BDA C†ŒA(CƒI0$\:¨æ÷ÿ’ AF† hƒŒŽ„: ñ÷ÿåX@FŒ†ƒ$¤:ðñ÷ÿ•\Œ†ƒN`LŽ,Ì:8%üÿ5BBB A(A0Dƒ†ŒŽü:H(üÿ§AAD ƒ†Lü¦øÿ€G€ G€D€€ ×øÿ âù÷ÿ"H €ùÿÿÿÿÿÿÿÿLL§Ñøÿ€G€ G€D€€ Žøÿ ¨ù÷ÿ"H €ùÿÿÿÿÿÿÿÿ¼;8(üÿ",Ô;0ô÷ÿÜBCŽBCB A(E†ŒA0Bƒ$<àô÷ÿTAF† LƒŒŽ,,<ø÷ÿ¹BCBCŒA A(Cƒ†D0$\<¨ø÷ÿ„AJ† }ƒŒŽ$„<ü÷ÿŠAC† mƒŒŽ¬<¸øÿäAC†ACƒD Ì<ˆøÿ4ä<€øÿ BFIF B(CŒŽA0A8GàCƒ†4=è øÿÖBCFB B(A0A8Cƒ†ŒŽGÀ4T=øÿBFCŽI B(A0C†ŒA8GÐ^ƒ4Œ=h!øÿ” BFIF B(CŒŽA0A8GðCƒ†4Ä=Ð,øÿ BFIF B(CŒŽA0A8GðCƒ†4ü=85øÿGBCMB B(A0C†ŒŽA8D°^ƒ44>P9øÿSBGBCŽF B(A0A8D°^ƒ†Œ4l>x>øÿBFIF B(CŒŽA0A8GàCƒ†4¤>àFøÿBGEF B(A0C†ŒŽA8GÀ^ƒ4Ü>ÈMøÿfBGBCŽF B(A0A8GÀ^ƒ†Œ4?SøÿBGBCŽF B(A0A8GÀZƒ†Œ4L?ØVøÿîBGBB B(A0A8Cƒ†ŒŽKÀLd«vbøÿ€G€ G€D€€ Kbøÿ c[øÿ"H €ùÿÿÿÿÿÿÿÿL´«Ebøÿ€G€ G€D€€ bøÿ M[øÿ"H €ùÿÿÿÿÿÿÿÿ$@ðYøÿ¸ACƒ<@˜ZøÿÃM†ƒS0JŽŒ\@H]øÿ 4t@@]øÿFBBCŽB B(A0A8Gàfƒ†Œ¬@˜aøÿÄ@aøÿÜ@H#üÿ:$ô@€aøÿAC† KŒƒKŽKAhbøÿÐV°†ƒ4AC† eƒŒŽôCð†øÿz DX‡øÿ$D`‡øÿC™øÿ€G€ G€D€€ ™øÿ e“øÿ"H €ùÿÿÿÿÿÿÿÿL\² ™øÿ€G€ G€D€€ ʘøÿ <“øÿ"H €ùÿÿÿÿÿÿÿÿL¬²Ü˜øÿ€G€ G€D€€ ˜øÿ n“øÿ"H €ùÿÿÿÿÿÿÿÿLü²«˜øÿ€G€ G€D€€ 8˜øÿ e“øÿ"H €ùÿÿÿÿÿÿÿÿLL³z˜øÿ€G€ G€D€€ ï—øÿ Ç“øÿ"H €ùÿÿÿÿÿÿÿÿLœ³I˜øÿ€G€ G€D€€ ¦—øÿ P”øÿ"H €ùÿÿÿÿÿÿÿÿL쳘øÿ€G€ G€D€€ ]—øÿ Ô”øÿ"H €ùÿÿÿÿÿÿÿÿL<´ç—øÿ€G€ G€D€€ —øÿ ½”øÿ"H €ùÿÿÿÿÿÿÿÿLŒ´¶—øÿ€G€ G€D€€ Ë–øÿ &•øÿ"H €ùÿÿÿÿÿÿÿÿLÜ´÷ üÿ€G€ G€D€€ ôüÿ iüÿ"H €ùÿÿÿÿÿÿÿÿL,µÆ üÿ€G€ G€D€€ «üÿ 8üÿ"H €ùÿÿÿÿÿÿÿÿœIøÿ—D,´IøÿBBA A(Cƒ†ŒD0$äI€‘øÿ~AC† IŽEŒLƒ JØ”øÿ†M†ƒI IŒ,J(üÿŸDDJ@–øÿ\JH–øÿ84tJp–øÿÐBEB B(A0C†ŒŽA8CƒD°¬J›øÿœÄJ›øÿÅAIƒÜJHœøÿË$ôJøÿìBAA Cƒ†ŒD@Lü¶÷ øÿ€G€ G€D€€ Ì øÿ ÉŸøÿ"H €ùÿÿÿÿÿÿÿÿLL·Æ øÿ€G€ G€D€€ ƒ øÿ üŸøÿ"H €ùÿÿÿÿÿÿÿÿ,¼K(øÿâBLB A(A0Qƒ†ŒŽ$ìKèøÿÊBIA A(Cƒ†ŒL üÿ[AAD Lƒ†$4LpžøÿoBAA Eƒ†Œ\LøŸøÿŽGàLT¸öòøÿ€C€ G€D€€ Çòøÿ ˤøÿ"H €ùÿÿÿÿÿÿÿÿL¤¸Áòøÿ€C€ G€D€€ zòøÿ à¤øÿ"H €ùÿÿÿÿÿÿÿÿLô¸Œòøÿ€C€ G€D€€ -òøÿ ñøÿ"H €ùÿÿÿÿÿÿÿÿLD¹Wòøÿ€C€ G€D€€ àñøÿ xñøÿ"H €ùÿÿÿÿÿÿÿÿ´M0ŸøÿüHƒS0IŒ†$ÔM øÿÝAC† GŽGŒDƒ$üMÈ øÿbAC† IŽEŒUƒ$$N¢øÿMAC† KŒƒKŽdLNïøÿM†ƒMŒG…LLºÏeùÿ€C€ G€D€€  eùÿ \øøÿ"H €ùÿÿÿÿÿÿÿÿLœºšeùÿ€C€ G€D€€ Seùÿ 4øøÿ"H €ùÿÿÿÿÿÿÿÿ$ OÈðøÿ^tAC† KŒŽDƒ4Oeùÿ4LO(eùÿOBBB B(CŒŽA0B†A8GRƒ4„O@hùÿâBBB CŽB(CŒA0C†A8CƒGà¼Oøiùÿ $ÔOðiùÿBGŒAA Cƒ†D0üOØpùÿAACƒ†G°Lü»#sùÿ€C€ G€D€€ ôrùÿ æqùÿ"H €ùÿÿÿÿÿÿÿÿLL¼îrùÿ€C€ G€D€€ §rùÿ rùÿ"H €ùÿÿÿÿÿÿÿÿLœ¼¹rùÿ€C€ G€D€€ Zrùÿ rùÿ"H €ùÿÿÿÿÿÿÿÿ Øpùÿ[÷šRM†ƒI CŒL ½ sùÿ€C€ G€D€€ qsùÿ irùÿ"H €ùÿÿÿÿÿÿÿÿL\½ksùÿ€C€ G€D€€ $sùÿ ˜rùÿ"H €ùÿÿÿÿÿÿÿÿL¬½6sùÿ€C€ G€D€€ ×rùÿ „rùÿ"H €ùÿÿÿÿÿÿÿÿ$¡xqùÿ8›RAGƒuùÿ€C€ G€D€€ uùÿ Vtùÿ"H €ùÿÿÿÿÿÿÿÿLÄ¿ uùÿ€C€ G€D€€ Âtùÿ Mtùÿ"H €ùÿÿÿÿÿÿÿÿLÀÑtùÿ€C€ G€D€€ rtùÿ "tùÿ"H €ùÿÿÿÿÿÿÿÿŒ£`sùÿî"›RAGƒ¤T€tùÿØM†ƒS@CŒÄT@uùÿFICƒÜTxuùÿmAACƒ†D üTÈuùÿãaàHŒ†ƒU˜vùÿwM†ƒI CŒACƒG $”sÐHûÿ$AC† EEŽEEŒkƒ¼sØKûÿ ÔsÐKûÿîD0ìs¨Lûÿt°Lûÿ¡MŒƒQÀI†$t@MûÿªŠPNŒaPõqk„,‰j¯—j‰6ùHÛT„‰Ñÿ7œÿ‹µqáYIŠ‘ÏƒŒ7 q¤ÇR©>)ÃO¾qÛÃN´9ùN¤ø±€‹L(ÃíÝK¿‡å@²ÉKîé箂CAk[SÚžóˆ ­ûÿÿÿÿÿÿÿÿ sÿÿÿÿÿÿÿÿÕr€hO„ ­û@Òrÿÿÿÿÿÿÿÿ°sÿÿÿÿÿÿÿÿ`Ör€hO† ­û ÓrÿÿÿÿÿÿÿÿÀsÿÿÿÿÿÿÿÿÀ×r€hOÔr@cO@cO@cO@Òr ÓrÔrðNG*G 7GÐ.Gÿÿÿÿ@?ÿÿÿÿÿ‡óP‡óPþÿÿÿÿÿÿÿÎL€ýLÐ-JÐ,J`,JëÅOFÅOÿÿÿVÅOFÅOëÅOÿÿÿfÅOëÅOvÅOÿÿÿ€ÅOvÅOëÅOÿÿÿ’ÅOëÅO¤ÅOÿÿÿ´ÅO¤ÅOëÅOÿÿÿÄÅOÔÅOëÅOÿÿÿäÅOëÅOÔÅOÿÿÿôÅOÆOëÅOÿÿÿÆOëÅOÆOÿÿÿ&ÆO7ÆOëÅOÿÿÿDÆOëÅO7ÆOÿÿÿ[ÆO€úO òP`øP`Q`ðPàïP üP üP`ýP þP þP QÀáOÀïOÀéOe£Ne£Ne£Ne£Ne£Ne£Ne£Ne£Ne£Ne£Ne£Ne£Ne£N@eMfM@fMÀfM êK`íKpíK íK îK]ÆP]ÆP MÿÿÿÿÿÿÿÿGCC: (GNU) 4.4.0 20090506 (Red Hat 4.4.0-4)GCC: (GNU) 4.4.0 20090506 (Red Hat 4.4.0-4)GCC: (GNU) 4.4.1 20090725 (Red Hat 4.4.1-2)GCC: (GNU) 4.4.1 20090725 (Red Hat 4.4.1-2)GCC: (GNU) 4.4.1 20090725 (Red Hat 4.4.1-2)GCC: (GNU) 4.4.1 20090725 (Red Hat 4.4.1-2)GCC: (GNU) 4.4.1 20090725 (Red Hat 4.4.1-2)GCC: (GNU) 4.4.1 20090725 (Red Hat 4.4.1-2)GCC: (GNU) 4.4.1 20090725 (Red Hat 4.4.1-2)GCC: (GNU) 4.4.1 20090725 (Red Hat 4.4.1-2)GCC: (GNU) 4.4.1 20090725 (Red Hat 4.4.1-2)GCC: (GNU) 4.4.1 20090725 (Red Hat 4.4.1-2)GCC: (GNU) 4.4.1 20090725 (Red Hat 4.4.1-2)GCC: (GNU) 4.4.1 20090725 (Red Hat 4.4.1-2)GCC: (GNU) 4.4.1 20090725 (Red Hat 4.4.1-2)GCC: (GNU) 4.4.1 20090725 (Red Hat 4.4.1-2)GCC: (GNU) 4.4.1 20090725 (Red Hat 4.4.1-2)GCC: (GNU) 4.4.1 20090725 (Red Hat 4.4.1-2)GCC: (GNU) 4.4.1 20090725 (Red Hat 4.4.1-2)GCC: (GNU) 4.4.1 20090725 (Red Hat 4.4.1-2)GCC: (GNU) 4.4.1 20090725 (Red Hat 4.4.1-2)GCC: (GNU) 4.4.1 20090725 (Red Hat 4.4.1-2)GCC: (GNU) 4.4.1 20090725 (Red Hat 4.4.1-2)GCC: (GNU) 4.4.1 20090725 (Red Hat 4.4.1-2)GCC: (GNU) 4.4.1 20090725 (Red Hat 4.4.1-2)GCC: (GNU) 4.4.1 20090725 (Red Hat 4.4.1-2)GCC: (GNU) 4.4.1 20090725 (Red Hat 4.4.1-2)GCC: (GNU) 4.4.1 20090725 (Red Hat 4.4.1-2)GCC: (GNU) 4.4.1 20090725 (Red Hat 4.4.1-2)GCC: (GNU) 4.4.1 20090725 (Red Hat 4.4.1-2)GCC: (GNU) 4.4.1 20090725 (Red Hat 4.4.1-2)GCC: (GNU) 4.4.1 20090725 (Red Hat 4.4.1-2)GCC: (GNU) 4.4.1 20090725 (Red Hat 4.4.1-2)GCC: (GNU) 4.4.1 20090725 (Red Hat 4.4.1-2)GCC: (GNU) 4.4.1 20090725 (Red Hat 4.4.1-2)GCC: (GNU) 4.4.1 20090725 (Red Hat 4.4.1-2)GCC: (GNU) 4.4.1 20090725 (Red Hat 4.4.1-2)GCC: (GNU) 4.4.1 20090725 (Red Hat 4.4.1-2)GCC: (GNU) 4.4.1 20090725 (Red Hat 4.4.1-2)GCC: (GNU) 4.4.1 20090725 (Red Hat 4.4.1-2)GCC: (GNU) 4.4.1 20090725 (Red Hat 4.4.1-2)GCC: (GNU) 4.3.2 20081105 (Red Hat 4.3.2-7)GCC: (GNU) 4.3.2 20081105 (Red Hat 4.3.2-7)GCC: (GNU) 4.3.2 20081105 (Red Hat 4.3.2-7)GCC: (GNU) 4.3.2 20081105 (Red Hat 4.3.2-7)GCC: (GNU) 4.3.2 20081105 (Red Hat 4.3.2-7)GCC: (GNU) 4.3.2 20081105 (Red Hat 4.3.2-7)GCC: (GNU) 4.4.0 20090330 (Red Hat 4.4.0-0.31)GCC: (GNU) 4.4.0 20090330 (Red Hat 4.4.0-0.31)GCC: (GNU) 4.4.0 20090330 (Red Hat 4.4.0-0.31)GCC: (GNU) 4.4.0 20090330 (Red Hat 4.4.0-0.31)GCC: (GNU) 4.4.0 20090330 (Red Hat 4.4.0-0.31)GCC: (GNU) 4.4.0 20090330 (Red Hat 4.4.0-0.31)GCC: (GNU) 4.4.0 20090330 (Red Hat 4.4.0-0.31)GCC: (GNU) 4.4.0 20090330 (Red Hat 4.4.0-0.31)GCC: (GNU) 4.4.0 20090330 (Red Hat 4.4.0-0.31)GCC: (GNU) 4.4.0 20090330 (Red Hat 4.4.0-0.31)GCC: (GNU) 4.4.0 20090330 (Red Hat 4.4.0-0.31)GCC: (GNU) 4.4.0 20090330 (Red Hat 4.4.0-0.31)GCC: (GNU) 4.4.0 20090330 (Red Hat 4.4.0-0.31)GCC: (GNU) 4.4.0 20090330 (Red Hat 4.4.0-0.31)GCC: (GNU) 4.4.0 20090330 (Red Hat 4.4.0-0.31)GCC: (GNU) 4.4.0 20090330 (Red Hat 4.4.0-0.31)GCC: (GNU) 4.4.0 20090330 (Red Hat 4.4.0-0.31)GCC: (GNU) 4.4.0 20090330 (Red Hat 4.4.0-0.31)GCC: (GNU) 4.4.0 20090330 (Red Hat 4.4.0-0.31)GCC: (GNU) 4.4.0 20090330 (Red Hat 4.4.0-0.31)GCC: (GNU) 4.4.0 20090330 (Red Hat 4.4.0-0.31)GCC: (GNU) 4.4.0 20090330 (Red Hat 4.4.0-0.31)GCC: (GNU) 4.4.0 20090330 (Red Hat 4.4.0-0.31)GCC: (GNU) 4.4.0 20090323 (Red Hat 4.4.0-0.29)GCC: (GNU) 4.4.0 20090323 (Red Hat 4.4.0-0.29)GCC: (GNU) 4.4.0 20090323 (Red Hat 4.4.0-0.29)GCC: (GNU) 4.4.0 20090323 (Red Hat 4.4.0-0.29)GCC: (GNU) 4.4.0 20090323 (Red Hat 4.4.0-0.29)GCC: (GNU) 4.4.0 20090323 (Red Hat 4.4.0-0.29)GCC: (GNU) 4.4.0 20090323 (Red Hat 4.4.0-0.29)GCC: (GNU) 4.4.0 20090323 (Red Hat 4.4.0-0.29)GCC: (GNU) 4.4.0 20090323 (Red Hat 4.4.0-0.29)GCC: (GNU) 4.4.0 20090323 (Red Hat 4.4.0-0.29)GCC: (GNU) 4.4.0 20090323 (Red Hat 4.4.0-0.29)GCC: (GNU) 4.4.0 20090323 (Red Hat 4.4.0-0.29)GCC: (GNU) 4.4.0 20090323 (Red Hat 4.4.0-0.29)GCC: (GNU) 4.4.0 20090323 (Red Hat 4.4.0-0.29)GCC: (GNU) 4.4.0 20090323 (Red Hat 4.4.0-0.29)GCC: (GNU) 4.4.0 20090323 (Red Hat 4.4.0-0.29)GCC: (GNU) 4.4.0 20090323 (Red Hat 4.4.0-0.29)GCC: (GNU) 4.4.0 20090323 (Red Hat 4.4.0-0.29)GCC: (GNU) 4.4.0 20090323 (Red Hat 4.4.0-0.29)GCC: (GNU) 4.4.0 20090323 (Red Hat 4.4.0-0.29)GCC: (GNU) 4.4.0 20090323 (Red Hat 4.4.0-0.29)GCC: (GNU) 4.4.0 20090323 (Red Hat 4.4.0-0.29)GCC: (GNU) 4.4.0 20090323 (Red Hat 4.4.0-0.29)GCC: (GNU) 4.4.1 20090725 (Red Hat 4.4.1-2)GCC: (GNU) 4.4.1 20090725 (Red Hat 4.4.1-2)GCC: (GNU) 4.4.1 20090725 (Red Hat 4.4.1-2)GCC: (GNU) 4.4.1 20090725 (Red Hat 4.4.1-2)GCC: (GNU) 4.4.0 20090506 (Red Hat 4.4.0-4),à@t,o`@W ,ãÀ@<,¢!@¥,¿J°2@,öZÐ8@¦,¯r€J@-,wŒ°Y@“,s”P]@Å,hœ _@Ñ>,„Üž@,ÿ÷·@˜,»0»@Ô,9 ¼@q,ðÀ@Ø,ª#pÉ@Ø,¨)PÊ@ ,;.`Ë@¬(,]ô@g ,u€Ae ,ÜŠð AD_,jÛ@iA˜ ,ËòàsA­ ,¥ AŸ ,~!0A,L?P£A/,g\€¹Aô ,Ft€ÅA—, ¥ âA7,Xµ`äA ,ƒËpéA…,RßùAâ,óóðBk,B `Bù,S`B” ,‡*)B8,J5@+B¨,[Cð,B§,-K -B},e DB´,klàIBÇ",¿Œ°lBh,«‘ nBB,÷—ppBomainUot„perform{save_drive_nameõhandle_argsFaction\prepostuã¿ valid_formatÁcollapse_delimiter>str_tolowermbuild_setsÝactivate_or_deactivate_setsN¢!)€libdmraid_make_tabledelete_error_target*(change_set€¿J7 dm_version  dm_statusw dm_removeÈ dm_resumedm_suspend©dm_reload dm_createxmkdm_pathUöZ¹"list_formatshdisplay_table`display_setìdisplay_devicesY¯rÈElog_zero_sectors›init_raid_setjoin_supersetfree_format_caps[unregister_format_handlers©register_format_handlersalloc_privateaalloc_meta_areasÎget_format_caps…register_format_handler,check_valid_formatScheck_raid_set¬write_metadata(alloc_private_and_read§read_raid_devEwŒü×unlock_resourcelock_resource’init_locking)s”õjplog9log_alloc_errFhœ@˜get_typeget_dm_typejget_set_type‹get_statusÙcount_devsxtotal_sectorsspartitioned_set´base_partitioned_setõget_set_name6count_sets”get_formatªrd_typeñrd_statusFlist_add_sortedúfind_set_inconsistentfind_raiddev write_devq write_setñ format_errorC!process_setsã!get_raid_setW"find_spareA#count_devicesÇ#free_dev_infoF$delete_raidsetsÇ$erase_metadata &free_raid_devO'free_raid_set°'alloc_raid_set(alloc_raid_dev\(alloc_dev_info+file_dev_size‚+file_metadata-rebuild_config_raidsetÅ.discover_raid_devices_sparesÜ/find_diskÀ1find_set&2dso_get_membersä3find_or_alloc_raid_set{5create_raidset:parse_rs_args;group_set­<discover_partitionsß<discover_raid_devicesl>lib_perform„Ü{del_dev_in_set·find_group*check_busy_diskshow_raid_stack>write_set_spareÿadd_spare_dev_to_arrayhhot_spare_addÝdso_end_rebuildGadd_dev_to_setæadd_dev_to_arrayg_rebuild_raidsetrebuild_raidsetddso6ÿ÷¼ Rwrite_fileÑread_fileÄ mk_dir4»~dlibdmraid_exit”libdmraid_initÉ9 · tlc_opt³lc_inc_optlc_opt_argSlc_listƒlibdmraid_dateµlibdmraid_versionc free_lib_contextœ alloc_lib_contextø lc_stralloc_optq lc_strcat_opt  init_fnÚðºùadd_delimiter3ledÅfree_string™ p_fmt\ remove_delimiter­ replace_delimiter remove_tail_spaceI remove_white_spaceÅ mk_alpha get_basenamee get_dirnameÆ yes_no_prompt#ª#þdsysfs_workaround^¨)“â_dbg_freec_dbg_strndup¶_dbg_strdupë_dbg_malloc_dbg_realloc;.ä.õregister_asr"]ý<register_hpt37x"uÀšregister_hpt45xÜŠŽP¨!register_iswjÛaéregister_jmËòÚ.register_lsi¥ ÙJregister_nv~!Κregister_pdcL?register_silg\ß9register_via FtÚ0æregister_ddf1l ¥8qddf1_beginningºddf1_cr_off_maxpds_helperøddf1_process_records¯ddf1_endianness?Xµ+dddf1_update_all_crcs«ddf1_check_all_crcsƒËÏxddf1_cvt_adapter´ddf1_cvt_disk_dataðddf1_cvt_phys_drive_header,ddf1_cvt_virt_drive_headerhddf1_cvt_virt_drive¤ddf1_cvt_spare_recordIddf1_cvt_recordsÑddf1_cvt_headerddf1_cvt_phys_driveKddf1_cvt_allÃddf1_cvt_config_record Rß¡ddf1_dump_allóóOSregister_dos+B  remove_device_partitions8S4f removable_device=discover_devices2‡*à ¿get_scsi_idÚget_scsi_serial)J5Ö end_log3 revert_log![CÒget_ata_serialô-KÚY dm_log_init† dm_log_init_verbose´ dm_task_set_majorù dm_task_set_minor8 dm_task_set_uidw dm_task_set_gid¶ dm_task_set_modeõ dm_dir dm_set_dev_dir¥get_dev_node_read_ahead¾set_dev_node_read_aheadrm_dev_nodeLrename_dev_node“add_dev_nodedm_set_selinux_contextiupdate_devsadm_task_add_targetÝdm_task_set_uuid!dm_task_set_nameådm_task_create)dm_driver_versionždm_mknodesdm_get_library_versionÃdm_log edídm_dump_memory_debugLdm_malloc_auxdm_malloc_aux_debug%dm_bounds_check_debugdm_free_auxüdm_realloc_auxqdm_strdup_auxÕklT dm_get_next_target¡ dm_task_get_nameä dm_task_get_uuiddm_task_get_depsRdm_task_get_names†dm_task_get_versionsÀdm_task_set_roôdm_task_set_read_aheadDdm_task_suppress_identical_reloadxdm_task_set_sectorºdm_task_no_flushîdm_task_no_open_count"dm_task_skip_lockfsVdm_task_set_event_nr˜dm_task_get_existing_table_sizeÌdm_lib_releaseêdm_lib_exitdm_task_update_nodes%dm_task_destroytdm_format_devédm_task_get_driver_versionödm_is_dm_major-dm_task_get_infodm_task_run¨dm_check_versionKcreate_targetÐdm_task_set_messagedm_task_set_newname^dm_task_set_geometryádm_task_get_read_ahead= _dm_compats¿Œì3dm_bit_unionŒdm_bit_get_nextdm_bit_get_first8dm_bitset_destroygdm_bitset_create.«‘LÒdm_fclosevdm_create_dirA÷—š¸dm_pool_end_objectdm_pool_abandon_object,_align_chunkg_new_chunk´dm_pool_begin_objectdm_pool_alloc_aligned™dm_pool_allocØdm_pool_zalloc'dm_pool_strndup…dm_pool_strdupÖdm_pool_create6dm_pool_grow_object¢dm_pool_freeídm_pool_empty(dm_pool_destroykòvà@T@SÇint©Q'iâ8id¤²‹WZ´Hw_šÏ ¡PÏ# ûÏ#¦` ð  ‡#s 5 5# 5"ä# ëû# …#; ;U U Þ[ ±Þ ¿eB#cmdf‡#( Õiá#0 ®sñ#° :u‡#ð 5"v#ø ¤Jx”#€ 2|Ê#ˆÕ@û U ÞêSB /PTW# KUW# GVW# ½7W5#»(Pw ¸Q5# ÒR5#vX#]¡str^5u64_^u32`^Ñ[Êopt\;#argaw#zá „{5#¡ñ‚¦‚ð±,;à@T@h•;LÝh•ret;ÌlcU‡pVv`@·@ÙQ'idSÇint©²‹;Â^”Ž^‘Zž‘ Ý kè l˜# æoW# z:pè# valqW#WÜÓBâ8B¤´He_ šF ¡PF# ûF# ` g  ‹# s ¬ ˜# 5"P# ëg# ‰# WÁ Á JDZJ ¿ e!# cmd f‹#( Õ iÀ#0 ® sÐ#° : u‹#ð 5" và#ø ¤J x #€ 2 |©#ˆL¬g Á JV !à‚àlÃk[blË ˆ » Ã Õ Nä S! /P T;# K U;# G V;# ½7 W˜# »( PV ¸ Q˜# Ò R˜# v Xà# ]€str ^˜u64 _ùu32 `ù Ñ [© opt \W# arg aV# zÀ „ {˜#€Ð†à†gN  í7VTµ…DBG oÀc€Æ€€t€3€Ò€ <€ÀÍ€€^€€e€€¼€€º€€Î€€ « €€Ào€€€ä€€€Æ€€€…€€€6 €€€€€€ €€€À¦€€€€¾€€€€ü€€€€8 °=@] ¶+ŸÌ,Ÿid ½C5Ö5" Â\«$ž Œ( ÊÊ N Ëæ# 4 Ì# id Í+# 5" ÎC# pre ÏÚ# arg ÐW#  Ñõ# WÚ WÊ Wõ Á Wàv 5¸E& |:/“£ß EÀs€¸€W€}€€a€ ( K»‘MXd À=€  °ÔL( rX ¹{ ñ º# " Á# ö Ë# Í Ì;#0 Ç Í;#4  Ï‹#8 Ü Ñù#@ ‚4 Ò;#H E& Ó#L  Ô»#P ( Õ|#TÆ ÿ”nþ [Ø -` ³I W#! ‹# ‹#ª ‹#¦ ‹# Ò ‹#(ô ‹#0_ ‹#8= ‹#@> ‹#H ‹#P¸ ‹#Xˆ "ž #`  $¤ #h  &W#pˆ *W#tO ,p#xž 04#€y 1I#‚D 2ª #ƒ‚ 6º #ˆ9 ?{#Ø H‰#˜ß I‰# B J‰#¨î K‰#°õ Lî#¸£J NW#À  PÀ #ÄP ´ — ºž  P »ž #  ¼¤ # : ÀW#g ”‘º †` ‘Ð † ³(? ÝW# N æ# Iæ# Îæ# 8!í# Å$õ# arg%W# kRh strS˜# N Th #N æ¢RW£ lcRÁoRWaT£ Ð ² Wë lc ÁÝ ë p¢‹  ²‹‘ †ñ èW$ lcÁ!¦W`@@%X "argWU!**W@›@q™ "lc*ÁU"arg*WT!íW @±@½Ü "lcÁU#argW !IDWÀ@Û@,! #lcDÁx$E&DW›!.Wà@û@Ñf #lcÁ$E&W@!í>W@ @v³ "lc>ÁU"r>‰T%E&>WQ!¿òW@®@ #lcòÁ#argòWD&vô ‘€‘ †O'ÊW°@,@ge (lcÊÁ³(argÊWé)cÌ‹ !™W0@B@/¹ #lcÁ{#rs‰ž$E&WÁ!7#WP@`@äþ #lc#Á0#arg#WS!±7W`@j@v?"lc7ÁU"arg7WT!0Wp@€@„#lc0Á$E&0W1*ÓãW€@Ô@TÔ"lcãÁU$Ýãë  &påÔQ\'m¸Wà@ð@Ã(lc¸Á(arg¸W2'ó§Wð@È@Ui(lc§Á¡(arg§Wý+len©î'!WÐ@[ @Y «(lcÁ¥ (argWî '{ÁW` @ƒ @ í(lcÁÁ] (argÁW€ '¤YW @a @£ V(lcYÁï ,ÝYž8 (defYV” +len[î)d\V ? '}Wp @Ñ @9 ­(lc}Á… (arg}W» -def­‘°? ½†' oWà @+ @Þ (lcoÁ* (argoWM -defq­‘@'‹W0 @Ú @p {(lc‹Á¼ (o‹Wò .] @µ @/Žž()p‹K*i™Wà @ @nÁ#lc™Áº$¶ ™‹Ý­hWõlchÁÝhë aj£ *1²W @·@H#lc²Á_$•²W¨$ݲHÞ0o´W'0ret´W1ʶW‘¼2q > @Ī3Ž 3ƒ 4`5˜ H6© P @¬ @Éû3Æ 3» .P @¬ @5Ò ~7Ü ЖN2Á™@Àç-3Þ3Ó405êÇ8 O@ è3 ë 9ª;‹9 IW9I ‘¤ 9 ’¤ 9N  æ:Ã!¤   r˜£¹†:é,© À­rÐ Þ†1³Î  ©r\† ;Œ`ô9ª;‹9 IW9I ‘¤ 9 ’¤  ¨#H ¨#P¸ ¨#Xˆ "Þ#`  $ä#h  &;#pˆ *;#tO ,#xž 0P#€y 1-#‚D 2ê#ƒ‚ 6ú#ˆ9 ?˜#Ø H¦#˜ß I¦# B J¦#¨î K¦#°õ Lp#¸£J N;#À  P#ÄP ´— ºÞ  P »Þ#  ¼ä# : À;#§Ô®ú£ ®£i;À@š@6¬lciv‚fmtiVËretk;îpl¨[l¨$sepl¨€m\¤ ¼ )—N®¼£ ¬ãX¨ @2@í>lcXv9strX¨\ ÜYp’ Y\µlen[pëp\¨!FM@@@WmsM¨£!ØF€@Š@ì¨"lcFvU#"F¨T¨$ö.@½@8Ýlc.v„*5;À@7@º lc5varg5;O% ;@@ü@˜p lcvärs¦arg;P&I ‘ä& ’ä&N ›&I ‘ä& ’ä&N ›)Wµ @¥2@õQ'idSÇint©²‹;Â^”Ž^‘Zž‘´HeÜÓBýÃI‹ ÄP€ ÅWãÆ^_¤ü1-Š 24 4;â8B [Ø -ë ³IW# !‹# ‹# ª‹# ¦‹# Ò‹#( ô‹#0 _‹#8 =‹#@ >‹#H ‹#P ¸ ‹#X ˆ")#` $/#h &W#p ˆ*W#t O,p#x ž04#€ y1I#‚ D25#ƒ ‚6E#ˆ 9?{# ØH‰#˜ ßI‰#  BJ‰#¨ îK‰#° õL®#¸ £JNW#À PK#Ä P´ —º)  P»)# ¼/# :ÀW#ò ‘E†ë ‘[† š„ ¡P„# û„#[ ` ¥  ‹# s ê  ˜# 5" Ž# ë ¥#  ‰#Wÿÿˆ± ˆ ¿ e_#cmd f‹#( Õ iþ#0 ® s#° : u‹#ð 5" v#ø ¤J x£#€ 2 |ç#ˆŠê¥ÿˆ” !‚àlÃk[blË ˆ » Ã Õ Nä S_ /P T;# K U;# G V;# ½7 W˜# »( P” ¸ Q˜# Ò R˜#v X# ]¾str ^˜u64 _u32 ` Ñ [çopt \W#arg a”# zþ „ {˜# ¾† [†¥E& †:/“£ß EÀs€¸€W€}€€a€ ( KÅ‘MXd À=€ S( u  ñ v[# 2 x‹# {F y‹# ´ z# ´ ~A 9 # Ü €®# Ë ‰# £kptr ¤‰n32 ¥ n64 ¦ h Š ñ ‹[# ö Œ[#  Ž‹# di ‘#(fmt ’ö#0 ( ”†#8 E& •$#< 9 —#@ ´ ˜#H b š;#P ´ ›ü#X  §A#`Å ® p ’ö  o˜# A p˜# ƒ q˜# (9 r # 9= wè # = ~ #( ¥+ ƒ# #0  ˆ# #8 Ä< > #@ n< “# #H , –i #P É o #X Ñ ¢Ó #`log ¦† #h%   ° L( rX ¹Â ñ º[# " Á[# ö Ë[# Í Ì;#0 Ç Í;#4  Ï‹#8 Ü Ñ#@ ‚4 Ò;#H E& Ó$#L  Ô #P ( Õ†#Tó Û  ç  m  " rs # #rd $ # à3 %# kK  )5 ¢0 Û  .j rs / #rd 0 # N 1 # ¬: :‘ io <¬ #rd ?Í #W¦ ÿ¦ Û ‘ WÇ ÿÇ 5 ² Ñ Eì =  é  K5 ùe E ¸, ^ W – XÓ  ]ª str ^‹ptr _‰i8 `¹i16 aÄi32 bÏi64 cÚu8 dóu16 eþu32 f u64 g â ZÓ Ü [4# |O h5 # è ÿÓ W ÿ Wî W# ÿ   > ÿ ) Wc ÿì c ‰ª D j † ÿ u _ « RU A Õ E&Õ #fþ #E&$Wø ÿø  ‹Þ ÍM ‡Ä W: rd Þ  WV rs  ¼ S;ž rsS !^6SW"retU;"rdV #$/ (,0Ç Ç rs0 "th2Ç « ™/þ rs/ %ret1%rd2 &t-new„'û„'¡P„N(jrs( '´('ä (min(Õ”Wˆ rs” Í F;Ö lcFÿ!´F( HÖ"maxI;(Ò I;;¨rW#lcrÿ'–?rø '^6sW'2s˜'9sU *J'Ð*by*;·ØW›lcØÿ'–?Øø minÙ'OÙnÚ;'‚4Ú;é W lcÿ!–?ø rsž !´Ÿ!w Ÿ;!ØŸW#$¥$š#)±)½)É÷ {W: lc{ÿ rs{ õ ‚Wc lc‚ÿ rs‚ *Åd;@›@sG+rsd ¿,^6dWT-retf;â-rg .: @&@lå$K /V D@™@r$s $h 0D@™@1 X1‹ R/ `@l@Z$/ * RW @«@(‰,9OR‹U,®R‹T*p [W°@»@tË,9O[‹U,®[‹T*ª wWÀ@¬@À0+lcwÿ +rsw ´2^?xc 3ð"rd~ 4< kW°@é@l€5lckÿ¸6–?kø Û5rsk þ7“>‹ð@’@! +lc>ÿm+rs> É8ret@‹vh/ž @4@E$° 0 @4@9» *geW @@H+lceÿ”+rse ·+feš-retgWI:®h ‘Ð}-fmtmöl;Wš< ‘°†þ4N UW@ @¢5lcUÿî6–?Uø $ 5rsV G 6ÐV˜j 4cW@!@  Y=lccÿU>–?cø T=rsc Q4“ ]W0@A@ì £=lc]ÿU>–?]ø T=rs] Q*$ 1‹P@½@8!þ+rs1 „!-ret3‹º!::4þ ¨ r˜*4 s À@0@Ý!Ï+lcsÿ)"2qt r"2áu„»"22u‹#-rdw :#(×xW? ß äšN@errš @/þ ñ@@–$!$$  ‘߆ Ï4é>0@â@…#º5lc>ÿÑ#5rs> $5min>c$Aret@™$ArA ¼$ArdB ß$B-s@@E$^$S$H$>C-ª@¶@I$^$S$H$>*;ð@•@%;+lcÿN%+rs —%+min&-ret;<&-r _&-rd ‚& äWlcäÿ'–?åø rså 'Œ)æ'Oæ%rè %rdé Derr E»$$ $$ö$ìEÆ$/ #%retîWF2ï‹Eü$$ $$ö$ì#$K ;*œ &W @M@¥&+lc&ÿñ&2–?&ø :'+rs& ]'GŒ)(;€'8min)v°GO)É'@err<0@? " úšNH;¨@@3»$v$k$a$V$L3À9ÿ'9ŠH(I”J@i9Ç‘(9ÒÚ(B: â@ý@ô;$K KÛý@€ô$$ $$ö$ìH g@°‡$/ LÛ}@à$M ‚)$$ö$ìH#+@/Þ$?$4LJ?@@/$$†${$p$e$[ ‘"†4Ð }WP@@¥)á5lc}ÿñ)6–?}ø :*6^6}Wƒ*62~˜Ì*6œJ~+6´~^+69~+KÛ³@p‚$$ $$ö$ì4Ñ †W@Ý @¹+å5lc†ÿ,6–?†ø a,5rs† ª,N'ˆ;à,NœJ‰-N´‰…-ArdŠ .Ar‹ =.Oerr· @? õ ›N0b@ @AretWs.N2‘‹Ï.K: …@°—$K ‘õ† å4 ÂWà @ê @/D=lcÂÿU>–?Âø T=rs Q*¥ ­Wð @Þ$@Q/Š+lc­ÿ/2–?­ø 0+rs­ /0(دW:® °ª ‘°G´±×0Gw ²;F1-r³ 2:h ³ v°-rd´ J2G` ´ ¦2@errp#@? Š ñšN.jR!@U!@ËV$|.›k!@à!@ÐÝ$ç$Û$Ï$Ä$¸$­/ˆk!@¤!@¦$¥$š0k!@¤!@)±9½39É%3Jà9-ret×WH3G2Ø‹¤3/Û"@#"@à$$ $$ö$ì.: I"@Y"@Ö[$K H: œ"@êy$K . È"@Ø"@û›$/ .Ûá"@#@þÑ$$ $$ö$ì. '#@=#@ó$/ .Û=#@^#@)$$ $$ö$ì0’$@Þ$@-retëW4G2ì‹o4LÛª$@@ñ$$ $$ö$ìPv eà$@L%@¸4ô+lceÿ5+rse M5GFg‹–5? ô ›NKú ÃWd lcÃÿ rsà !Ðà "retÅW(–?Æ‹EW $° #)» #$.$#*ŒçWP%@M(@Ì5”!+lcçÿ6+rsç a62Ðç ª6-ré 7Hù¾%@pa!$! $ $ 3°9- O799 «7HÝ%@ðÌ&!$#$./ž ø%@ &@Ï$° 0ø%@ &@9» ÷7J v!"rdó 0÷&@`'@"rd ˆ B‹" lcBÿ rsB (ˆ D(FE‹(2E‹(–?E‹Q "ˆ Derr`#$Þ #)è )ó KxW¨" lcÿ!–?ø rs !´!+;(ØW(®  ª E "$¥$š#)±)½)É#$|*ï WP(@b.@-8ú%+lc ÿy82–? ø Â8+rs  }9-ret¢W 9G´£ü9G+¤;X:-rd¥ Ç:-r¦ o;:Å §‹v¨Dout @err ø*@? ú% »šNJP‹$-i«W¸;:©«Wv€-idx«W'<G¼ ¬ ƒ<:m¬ v:^?­ª ‘°L”!ä(@ ½$±!$¦!3ð)¼!1È!v )Ô!9à!ß<Rú!ž)@1ì! КN/Í ä(@:)@H$Þ 0ä(@:)@9è a=9ó —=H Á*@@©$$/ .ÛÙ*@ô*@ã$$M º=$$ö$ìH"Ò+@pð—%$["$O"$D"$8"$-"3ð)g"1s"‘ .jÒ+@Õ+@I%$|/ˆ*,@l,@'$¥$š0*,@l,@)±9½Ý=9É&>3pG2õ‹I>HÛ-@ úÞ%$$ $$ö$ìL: -@Ðú$K å¡ WX& lcÿ rs !Ð "retW((W#$W$L*Š6Wp.@Û/@Ë>'+lc6ÿ?+rs6 †?2Ð6 A@-r8 ü@Lÿ%è.@ >$'&$&$&30 93&2A9?&´A/:Ç/@Û/@"$W$Lœ ‰Wh' lc‰ÿ rs‰ "ret‹W(–?Œ‹#$° #)» *«Wà/@²1@ýA*(+lc«ÿIB+rs« ËB-r­ MCL'0@` ¾$6'$+'3° 9A'pC9M'ÌC/ž €0@”0@–$° 0€0@”0@9» D7 MWÀ1@¥2@'D­(+lcMÿsD2ÐMŒ õD+vM‰QE-retOWÓE"rsP ? ½( °šN ‘½(† ­(SI ‘/S ’/ « ì(† :A Ü(  ±rSI ‘/S ’/3‘ ³ °2@Á8@ SÇ€ 'Fint©Q' 4miâ8d²‹mÂM”ŽM²Z´H‹ÜÓs™m_¤²ø †þ ² [Ø-Ï ³IF# !¬# ¬# ª¬# ¦¬# Ò¬#( ô¬#0 _¬#8 =¬#@ >¬#H ¬#P ¸ ¬#X ˆ" #` $#h &F#p ˆ*F#t O,–#x ž0[#€ y1-#‚ D2#ƒ ‚6)#ˆ 9?¡# ØH‰#˜ ßI‰#  BJ‰#¨ îK‰#° õLÄ#¸ £JNF#À P/#Ä P´ —º  P» # ¼#:ÀF#Ö²) †Ï²? †:ºt ¼  ÷ ú ß  ß w ¡  + J 5 sY , D È  ´ (eS OfF#ž gF#… hF#;iF# 7Nj;##Nkb#/Plb#Kmb#î nF# p;#$ Š¡P€b#¿Š#ƒš#b𠆲©† š Ò¡P Ò#û Ò#© ` ó ¬# s 8 ø#5" Ü#ë ó# ‰#FMMÖS± Ö¿ e:#cmd f¬#(Õ iÙ#0® sé#°: u¬#ð5" vù#ø¤J x¹#€2 |Â#ˆØ8óMÖâ S:/P Tm#K Um#G Vm#½7 Wø# »( Po¸ Qø#Ò Rø#v Xù# ]™str ^øu64 _tu32 `t Ñ [Âopt \F#arg ao# zÙ„ {ø#™é †©ù †óE& a:/“£ß EÀs€¸€W€}€€a€ ( K ‘MXd À=€  °¹L( rX ¹`ñ º©#" Á©#ö Ë©# Í Ìm#0Ç Ím#4 Ϭ#8Ü Ñt#@‚4 Òm#HE& Óÿ#L Ô #P( Õa#T¹²v †€j5D UFÝlcUMJ U¬ UÝtWÝ ä WÝ! Í dÄ k dÄS’ —F lc—M"P dmt— –?—¬þ¨ ¦Fq lc¦Mrs¦`¯ §¬, §Ï§¬r©FKÝŽ dmtM # .°2@¶2@/Fâ $U.FU$¿.øT$,!.FQ%f.øR&#ƒ<À2@Ù2@{F 'dmt< ÇF(ìK%Fà2@j3@ýF  )lc%MIG*¿%¬lG*Ü%ĵG+ret'FþG+dmt( 4H,v 3@3@-(ŒFp3@û3@jH) )lcM¶H)rs`ÙH+retF"I+dmt XI-^?º‘°.vq3@ / tF4@½5@ŽIZ 'lctMÚI'dmtt ýI0–?u¬ J0 uݵJ1,!wFƒK2nwF¹K2retwFÝK3œJxtv@3Üxtv¸4nly¬v°2py¬&L3J yè‘€54@û4@ˆ6¥6š674@û4@8°8¹7«4@¸4@8Å8Ð/Ö µFÀ5@¼6@ILw 'lcµM•L'rsµ`ÞL0–?µ¬M0E&µFpM0µ¬ÌM3¯ ½f‘°~2ret¾FN2dmt¿ ^N9vË5@0 Á:ã6@` Ä. 6 6 6ô5! 46@b6@È6\ 6Q 6F 6< 62 746@b6@8g (X  FÀ6@Ô6@”NÈ ;lc MU;rs `T* ¬àN<ˆ ïFà6@õ6@O%lcïMU%rsï`T<b çF7@7@bOD%lcçMU%rsç`T/^žF 7@…7@®O©'lcžMúO0–?ž¬CP=q 37@  >Ð ?‚ ŒP<ø ÷F7@Û7@ÂP 'lc÷MQ'rs÷`DQ0–?÷¬gQ2retùFQ<ð ÔFà7@'8@ÀQx'lcÔM R'rsÔ`BR0–?Ô¬eR0Ô¬›R2retÖFÑR<m ¬08@Á8@ôRí'lcM@S0ø‰S2ret!¬ÒS2dir"øT@ ý ´›N²ý † íAI‘A’AI‘A’µé Ñ Ð8@vJ@ûQ'idSÇint©²‹;Â^”Ž^‘Zž‘´HeÜÓBýÃI‹ ÄP€ ÅWãÆ^_¤ü1-Š 24 4;â8B [Ø-ë ³IW# !‹# ‹# ª‹# ¦‹# Ò‹#( ô‹#0 _‹#8 =‹#@ >‹#H ‹#P ¸ ‹#X ˆ")#` $/#h &W#p ˆ*W#t O,p#x ž04#€ y1I#‚ D25#ƒ ‚6E#ˆ 9?{# ØH‰#˜ ßI‰#  BJ‰#¨ îK‰#° õL®#¸ £JNW#À PK#Ä P´ —º)  P»)# ¼/# :ÀW#ò ‘E†ë ‘[† š„ ¡P„# û„#[ ` ¥  ‹# s ê  ˜# 5" Ž# ë ¥#  ‰#Wÿÿˆ± ˆ ¿ eŠ#cmd f‹#( Õ i)#0 ® s9#° : u‹#ð 5" vI#ø ¤J x£#€ 2 |#ˆŠê¥ÿˆ”« Ö¿¸LÊ” !I‚àlÃk[blË ˆ » Ã Õ Nä SŠ /P T;# K U;# G V;# ½7 W˜# »( P¿ ¸ Q˜# Ò R˜#v XI# ]éstr ^˜u64 _u32 ` Ñ [opt \W#arg a¿# z) „ {˜# é9† [I†¥ã tÎ.xSETv “5¸E& õ:/“£ß EÀs€¸€W€}€€a€  9ùã¢( KS‘MXd À=€ S( u˜ ñ v[# 2 x‹# {F y‹# ´ z# ´ ~Ï 9 # Ü €®# Ë ‰# £ùptr ¤‰n32 ¥ n64 ¦ h Š­ ñ ‹[# ö Œ[#  Ž‹# di ‘­#(fmt ’„ #0 ( ”#8 E& •“#< 9 —#@ ´ ˜#H b š;#P ´ ›Š #X  §Ï#`S ® p ’„  o˜# A p˜# ƒ q˜# (9 rP # 9= wv # = ~– #( ¥+ ƒ± #0  ˆ± #8 Ä< Ì #@ n< “± #H , –÷ #P É ý #X Ñ ¢a #`log ¦ #h³˜  °© L( rX ¹P ñ º[# " Á[# ö Ë[# Í Ì;#0 Ç Í;#4  Ï‹#8 Ü Ñ#@ ‚4 Ò;#H E& Ó“#L  Ô #P ( Õ#Tó i  ç  m  "ž rs #ž #rd $¤ # à3 %#© ùK  )à ¢0 Û  .ø rs /ž #rd 0¤ # N 1ª # ¬: : io <: #rd ?[ #W4 ÿ4 i  WU ÿU à @ Ñ Ez =  é  Kà ùe E ¸, ^ W – XÓ  ]8 str ^‹ptr _‰i8 `¹i16 aÄi32 bÏi64 cÚu8 dóu16 eþu32 f u64 g â Za Ü [4# |O hà #¤ v ÿ­a W– ÿ¤ W| W± ÿž œ ž Ì ÿ¤ · Wñ ÿz ñ ‰8 Ò ø  ÿ¤  û ªC ñ «[#fmt ¬„ # × ˆ ˜# ˆ # òž #arg‰#-ž ÿ‰ 8ÔÇ lcÔÿfmtÔ„ Æ{˜ä str{˜ )W6lc)ÿlh)6*®*‹h,6len/®< ×C û‰srsûž fmtý„ !Ø "‡@W¦#lc@ÿ#rs@ž $rBž %´Ð8@9@>Tä&lcÿŠT&arg‰­T%­9@-9@ÐT"&lcÿU&arg‰?U%o"09@^9@bU`&lc"ÿ®U&arg"‰ÑU%–‚`9@à9@ôU¨&lc‚ÿ@V&pos‚„‰Vrd„¤ 'atà9@Í:@¿V(lctÿ W)E&tP AW*¤vwW+¤ ):@À:@z!» !±  ,bWÐ:@$;@šWh(lcÿæW(argWX-5ß0;@²;@?XÌ&lcßÿ‹X.êß‹ÁX.–?ß‹÷X/nlá‹vXpá‹%?À;@\=@-YÆ&lc?ÿyY&lh?6ÂY.?® Z0.AW1)AWgZ1Bž°ZpC‹2sepC‹ùZ1YC‹[3 Ö ñN4ä @<@ P!! !ÿ !õ 5@ 67m<@•<@6) ‘Ö† Æ%/\`=@?@S[m&lc\ÿŸ[&pos\„û[2di^­1\8‰=@n>@K9ìa}‘~7€>@?@/fmtm‚‘° C }†m ˜’†%!‘ ?@B@g\ &lc‘ÿ³\&pos‘„]2rd“¤ E]8P?@iA@@9ì–°‘à|:Ç Ž?@p ž";Ø {]4Ç ®?@  ¢;Ø ž]7€A@B@/fmt¨‚‘ :Ç ˆA@Ð ¯;Ø Á]4Ç ¼A@ ¯;Ø ÷] C °†  '(B@´F@-^[(lcÿy^(rsž Â^<ö;vL<)?;vHÇ ¤C@p l;Ø _>Ç YC@  Ž;Ø A_?E/C@à !V5 @`w_4Ç CC@@ ÿ;Ø ­_8XE@ˆE@úArd8¤ ã_5p Bfmt#‚‘$o-;>Ç F@  /;;Ø `?Ç ÌE@Ð /;Ø )` CšNÀF@éH@r`'(lcNÿ¾`(vN‰-a)–Nt¯a(topNWb$rsPž ArQž b*CRWÃb+sçF@G@R!!…7çF@G@@› c¹ªlc¹ÿE&¹Opos»„¼‡ E&½O# ñ¾„#log¿»#0Ì=ÀÁtÄÑD ç»ÿ„ª TцT ‘ç† ×-ŽìðH@vJ@hc„&lcìÿ´c.E&ìOýc0öîW4'wI@õ!>!45@@IFdE‡‘€@’|dE› üNFI‘/F’/FI‘/F’/ÄŠ1 €J@­Y@eQ'idSÇint©²‹;Â^”Ž^)¸{œZ©œ+.‹´HeÜÓBýÃI‹ ÄP€ ÅWãÆ^_¤ü1-Š 24 4;â8B [Ø- ³IW# !–# –# ª–# ¦–# Ò–#( ô–#0 _–#8 =–#@ >–#H –#P ¸ –#X ˆ"?#` $E#h &W#p ˆ*W#t O,p#x ž04#€ y1I#‚ D2K#ƒ ‚6[#ˆ 9?{# ØH‰#˜ ßI‰#  BJ‰#¨ îK‰#° õLÄ#¸ £JNW#À Pa#Ä P´ —º?  P»?# ¼E# :ÀW#5 œ[† œq† šš ¡Pš# ûš#q ` »  –# s   £# 5" ¤# ë »#  ‰#Wž± ž ¿ e-#cmd f–#( Õ iÌ#0 ® sÜ#° : u–#ð 5" vì#ø ¤J x¹#€ 2 |µ#ˆ »žª« 쿸LÊ” S- /P T;# K U;# G V;# ½7 W£# »( Pb ¸ Q£# Ò R£#v Xì# ]Œstr ^£u64 _*u32 `* Ñ [µopt \W#arg ab# zÌ „ {£# ŒÜ† q솻E& T:/“£ß EÀs€¸€W€}€€a€  9sùã¢( K²‘MXd À=€  oËõ2 S( u ñ vq# 2 x–# {F y–# ´ z*# ´ ~G 9 *# Ü €Ä# Ë ‰# £qptr ¤‰n32 ¥n64 ¦* h Š% ñ ‹q# ö Œq#  Ž–# di ‘%#(fmt ’ü#0 ( ”s#8 E& •ò#< 9 —*#@ ´ ˜*#H b š;#P ´ › #X  §G#`Ë ® p ’ü  o£# A p£# ƒ q£# (9 rÈ # 9= wî # = ~ #( ¥+ ƒ) #0  ˆ) #8 Ä< D #@ n< “) #H , –o #P É u #X Ñ ¢Ù #`log ¦Œ #h+  °! L( rX ¹È ñ ºq# " Áq# ö Ëq# Í Ì;#0 Ç Í;#4  Ï–#8 Ü Ñ*#@ ‚4 Ò;#H E& Óò#L  Ô #P ( Õs#Tó á  ç  m  " rs # #rd $ # à3 %*#! qK  ); ¢0 Û  .p rs / #rd 0 # N 1" # ¬: :— io <² #rd ?Ó #W¬ ¬ á — WÍ Í ; ¸ Ñ Eò =  é  K; ùe E ¸, ^ W – XÓ  ]° str ^–ptr _‰i8 `Ïi16 aÚi32 båi64 cðu8 d u16 eu32 fu64 g* â ZÙ Ü [4# |O h; # î %Ù W  Wô W)    D  / Wi ò i ‰° J p Œ  { û ª» ñ «q#fmt ¬ü#ä Çé ptr ȉu32 Éu64 Ê* Y ö€ #W  {y lc{rs{ i|;Í|;µ};u};O~;t¨ newšûš¡Pš ˜WElc˜rs˜ !iš;"Íš;"uš;"µ›;"O›;!rœ !rd #$l $` $T $H $> $3 $( %˜—W€J@ºJ@²d›&lc—þd'2—–!e'(,—£De%ÈêWÀJ@ûK@ge&lcê³e&rsê f&rdë ‘f'‚4ë;g'E&ì;\g'(,죥g%†| L@ÄL@hÁ&lc|Mh'æ}Û–h'þ€òÌh'Ù‚ ïh&rs„ i&rd„ [i(n†–¤i(ret‡ Úi–Û ;Áò ‰áW ššø)wpÐL@M@jU&lcp\j'ƒpU’j£*C‡M@zM@Ûj©+lc‡'k,©‰š]k-tmp‰š€k.E’W€M@ N@£kú+lc’ïk-ret”WKl-fh•úlé .þ­‰N@~N@·la+lc­m+who­£Lm/Ü­Ä•m-ret¯‰¸m.®Ë‰€N@¼N@îmÎ+lcË:n+rdË ]n+whoÌ£“n+nÌ;Én-retΉo%ÖWUÀN@³O@5op&lcWo&fmtWüÊo(iYWío0ƒZ–6p(pZ–¥p(ret[Uq"[©1 € àŸN œ€†p.AhWÀO@AP@:q+lch†q+fmthüÏq-flj+r1 ' ðŸN2y P@P@s$œ $‘ $† ’ œ'†%FWPP@½P@ar&lcF­r'F–ör(flH?selcrs ¸+(;‰íMî‰(,£"M;"´*!rd #"¿$;;( ‰WM  ‰.%fÄWÀP@åU@us&lcÄÁs&rsÄ Ct'¸+Å(Œt';ljût'íÈMju'îʉÿu'(,Ê£v(rÌ ßv!rdÍ 3¨ QQ@pä $Å $º 4À5Ð Nw5Ú ½w5æ ,x5ò ›x5þ ÷x5 Sy5vy6 òQ@¸$( $l $` $T $H $> $3 62S@Pß$Õ$É$½$±$¥$š$4€5áåy7ívˆ8ù4°5gz9ˆØWðU@W@°z¬+lcØüz/(,Ø£X{+rdÙ Ç{+idxÙW#|/²ÙWl|-retÛWµ|-p܉ë|:tmp܉vH;outóW@.‰øWW@œW@!}(+lcøm}/(,ø£ï}+rdù q~+idxùW/²ùWu-iû;÷.ž¹‰ W@$X@-€§+lc¹y€+who¹£Â€/ÜºÄ /2º–T/9º®-ret¼‰Ó%i 0X@­Y@ ‚º&lcU‚&di%ž‚'!ðç‚'Ü ÄCƒ'9 *{ƒ'¿ ³ƒ'” "üƒ' >Z„'^h¦„'(,£ò„…=^?» ‘°>out@³X@>bad>«X@‰Þ%ÞäêÄ*» º‰öW"%‰>%‰(Wh %‰êD?I‘E?’E é ˜† @Yˆ à±r?I‘E?’Eøóˆ °Y@C]@©Q'idSÇint©²‹;Â^”Ž^‘Z´HeÜÓB_¤Â‘â8B [Ø-ž ³IW# !‹# ‹# ª‹# ¦‹# Ò‹#( ô‹#0 _‹#8 =‹#@ >‹#H ‹#P ¸ ‹#X ˆ"Ü#` $â#h &W#p ˆ*W#t O,p#x ž04#€ y1I#‚ D2è#ƒ ‚6ø#ˆ 9?{# ØH‰#˜ ßI‰#  BJ‰#¨ îK‰#° õL£#¸ £JNW#À Pþ#Ä P´ —ºÜ  P»Ü# ¼â# :ÀW#¥Ò ‘ø†ž ‘† š7 ¡P7# û7# ` X  ‹# s   ¼# 5" A# ë X#  ‰#W²²;¸± ; ¿ e#cmd f‹#( Õ i±#0 ® sÁ#° : u‹#ð 5" vÑ#ø ¤J x˜#€ 2 |š#ˆ=X²;G !Ñ‚àlÃk[blË ˆ » Ã Õ Nä S /P T;# K U;# G V;# ½7 W¼# »( PG ¸ Q¼# Ò R¼#v XÑ# ]qstr ^¼u64 _Çu32 `Ç Ñ [šopt \W#arg aG# z± „ {¼# qÁ† цXYt°Y@ýY@‡…lct²Ó…rest;†[mWZ@UZ@e†Ylcm²±†resm;ú†iBW’lcB²retDWdirE‹outT{`W`Z@@[@C‡lc`²‡ YÈZ@h!j"0#të‡#mˆ$ŠðZ@%ë)@[@A\@¶ˆBlc)²‰res);^‰&5"WP\@C]@”‰„lc²à‰res;<Š'I‘â'’â(š³ ° r¼)lfW H²r(n;X `²r'I‘â'’âñ ¤ P]@_@/ç(8KHH®#¸#З#—#i îf-Q'dSÇ int©²‹ÂΔŽÎ üZ   ü´HÕÜÓ²_¤â8²_1H[Ø- ³I Ç# ! ö#  ö# ª ö# ¦ ö# Ò ö#( ô ö#0 _ ö#8 = ö#@ > ö#H  ö#P ¸ ö#X ˆ "R#`  $X#h  &Ç#p ˆ *Ç#t O ,à#x ž 0«#€ y 1¹#‚ D 2^#ƒ ‚ 6n#ˆ 9 ?ë# Ø H—#˜ ß I—#  B J—#¨ î K—#° õ L#¸ £J NÇ#À  Pt#ÄP ´— ºR P »R#  ¼X#: ÀÇ#  HünH ü„Hš ­¡P ­#û ­# „` Î ö#s  #5" ·#ë Î# —#Ç((± .± ±¿ eˆ#cmd fö#(Õ i'#0® s7#°: uö#ð5" vG#ø¤J x#€2 |#ˆ ³ Î(± ½ !G‚àlÃk[blË ˆ » Ã Õ Nä Sˆ/P T#K U#G V#½7 W#»( P½¸ Q#Ò R#v XG# ]çstr ^u64 _2u32 `2Ñ [opt \Ç#arg a½# z'„ {#ç7H„GH ÎjUÇâP]@Õ^@_Š3lc(«ŠUÇ‹lfÇP‹¿™‹,!Çõ‹(9QŒoÇšŒlÇ f 3x ap!™‘ð}!Mõ]@`."^ =#;Çà^@_@®|lc;(úwho;Ž$I‘X$’X$cG“X³H%ö È À r £$I‘X$’X$cG“X@íÒ _@ñ@¸Q'idSÇint©²‹;Â^”Ž^‘Z1ô ¶€ ¸€ ¤€ N€ €€ €À Ú€€ ,€€ Ø Î æ õú ‘ Ý kD lô# æoW# z:pD# valqW#W´HeÜÓBýÃI‹ ÄP€ ÅWãÆ^_¤‘ª†ü 1-Š 24 4;â 8B [Ø -¢³I W#! ‹# ‹#ª ‹#¦ ‹# Ò ‹#(ô ‹#0_ ‹#8= ‹#@> ‹#H ‹#P¸ ‹#Xˆ "à#`  $æ#h  &W#pˆ *W#tO ,p#xž 04#€y 1I#‚D 2ì#ƒ‚ 6ü#ˆ9 ?{#Ø H‰#˜ß I‰# B J‰#¨î K‰#°õ LU#¸£J NW#À  P#ÄP ´ — ºà  P »à#  ¼æ# : ÀW#©Ö‘ü†¢‘† š; ¡P;# û;# ` \  ‹# s ¡  ô# 5" E# ë \#  ‰#W¶¶?¼± ? ¿ eA# cmd f‹#( Õ ià#0 ® sð#° : u‹#ð 5" v#ø ¤J xJ#€ 2 |É#ˆA¡\¶?K«  ¿ ¸ L Ê ” ! ‚ à l  à k [ b l Ë ˆ » Ã Õ  N ä SA /P T;# K U;# G V;# ½7 Wô# »( Pv ¸ Qô# Ò Rô# v X# ] str ^ôu64 _Ëu32 `Ë Ñ [É opt \W# arg av# zà „ {ô# ð††\N   7 V T  µ …DBG oÀ c€ Æ€ € t€ 3€ Ò€ <€À Í€€ ^€€ e€€ ¼€€ º€€ ΀€ « €€À o€€€ 䀀€ Æ€€€ …€€€ 6 €€€ €€€ €€€À ¦€€€€ ¾€€€€ ü€€€€] ¶2 Ÿ Ì , Ÿid ½J 5 Ö5" Âc «$ ž Œ( ÊÑ N Ë# 4 Ì # id Í2# 5" ÎJ# pre Ïá# arg ÐW#  Ñü# WáWÑWü¶Wçã ' Î . xSETE&‰ : / “ £ ß  EÀ s€ ¸€ W€ }€ € a€ 9¨ ù ã ¢ Ì=EÑ E&F;# ÊG' #(K ‘   M X d À =€ï_) AND » ×`R (a;# 5bÑ # ok õ 2 S(u° ñv# 2x‹# {Fy‹# ´zË# ´~ç 9Ë# Ü€U# ˉ#£ ptr¤‰n32¥Àn64¦Ë hŠÅ ñ‹# öŒ# Ž‹# di‘Å #( fmt’œ #0 (”Ñ #8 E&•' #< 9—Ë#@ ´˜Ë#H b š;#P ´›¢ #X §ç #`k ® p’œ oô# Apô# ƒqô# (9r # 9=w§# =~Ç#( ¥+ƒâ#0 ˆâ#8 Ä<ý#@ n<“â#H ,–(#P É .#X Ñ¢’#` log¦E#hË °  °Á L ( rX¹h ñº# "Á# öË# ÍÌ;#0 ÇÍ;#4 Ï‹#8 ÜÑË#@ ‚4Ò;#H E&Ó' #L  Ô¨ #P (ÕÑ #TÆÿ n þóš ç  m "Ï rs#Ï # rd$Õ # à3%Ë#Á  K )ô ¢ 0 Û .) rs/Ï # rd0Õ # N 1Û # ¬::P io@a@À##/þË˰a@ìc@9”s0lc˶…”0rsËÏ á”?´ÍËP•8rdÎÕ 1–@Ïa@2b@>8rÒÏ –2)èa@Õ#O#D#:AÛb@b@¥#÷#ìB0É8minÛËÖ5)[b@`ߟ#O#D#:AÛ¡b@ªb@¥#÷#ì2gPb@Û#x3À%‚%5)Îb@ðé#O#D#:AÛc@c@¥#÷#ì308iï;k— subðËA˜;c@[c@ï#³#©7;c@[c@%½4È¡—9{ýWðc@üc@×—´Clcý¶UCrsý‰T9vWd@ d@#˜õClc¶UCrs‰T9ó ôd@d@o˜6Clc ¶UCrs ‰T9up; d@?d@»˜”Clcp¶UDñp;T=retrWRE©s;Q9.¬œ @d@}d@™Ê:rs¬Ï S™Fd@€d@êd@v™*:lc@¶™:rs@‰ š;öADTš:argAWšWD¶‰W*FpIðd@ie@暪:lcI¶2›:rsI‰{›;öJDÄ›:argKW œ9íŸ' pe@’e@VœëCtŸëUDE&Ÿ;T¨ 9·«Ñ  e@Ëe@¢œ@Cs«@UD(«;TCcmp« Q) G'»Ðe@+f@îœß:lc»¶::to¼;ƒ:new¼;Ì;½ôž±n@À“##34*5®46k®4B¡®G_v0o@Ào@ê®F$:lcv¶6¯:divÅ ’¯HOXo@µo@x#]7Xo@µo@4hȯ%t9eYWÀo@Øq@J°Ç$:lcY¶–°%ðr@`˜#5%#*%34@%´4L%µ4V%hµ%b%Õ GÀ¯@t@Êt@ĵ”&:lc¯¶¶:rd¯&Y¶H€t@Êt@±#7€t@Êt@4š¶%¦4²$·F‹ÈÐt@[v@\·':lcȶ¨·:rsÈÏ Þ·Ç3ðr@Ï##„KX²Õ €@Ð@ÜÍ¿.:lc²¶(Î:di³Å qÎ;(9³ô”Î;E&³ ·ÎÒ•€@»#ú#ï#ä30%KG™ýÐ@k‚@¸Ï_/:lcý¶Ð;(9ýô:ÐÏ +ˆ?Ï 7áƒ@éƒ@+Í BU+k BUK9Ï ðƒ@ …@pÓ«1:lc¶¼Ó;ñ;Ô;ôNÔ;¼R —Ô½2ȇ@ #Ë23À4Ö2WÚ%â2%î24ù2ÙÚ9dHÏ ðˆ@܉@Û³4:lcH¶[Û;I‹¤Û;¼IR íÛ:rdJÕ Ü;ñK;3Ü;þLÄ4|ÜDM‰‘á45šáL Š@UŠ@û6#$7 Š@UŠ@40/â4<eâ7A‹@R‹@%65%B57A‹@R‹@%O5%[5NGó‹@mv7#Y3À4dÁâ%¤P˜ ³rNÒ'@ðšž7#õ#ê#ß@Ü@ï@ú7+Í _U+k _U7Ü@ï@Iå_p5÷â+¯_WNG Ž@0¦;8#Y3`%d4¤-ãP˜ ³r>ÒìŽ@«#õ#ê#ß Å(KÏ=W`@ÿ@œãæ8;Ü=‹èã*c?W’:Š”@ ;#¯:#¤:3p4º:«é4Å:Îé4Ñ:*ê%Ý:Pé:v˜4õ: ë>r–@Àó#„#F:P—@P™@zë­<:lc:¶Æë;$:;5ìI2<‹¤ìÕ vH:lc¶ƒî;¡°Ìî p«NBº=*p!‹Ò«š@0)#õ#ê#ßHHš@Mš@ #e#Z7š@Mš@%q78š@Eš@%~%Š‘!>† >',(Wf>(lc(¶)N ((p)f>)Ý)°c9Ï[W ›@ñ@]ð ?:lc[¶©ð;N [òð:p\f>;ñ;Ý\°ªñ&>Z›@`g#Y>#O>#C>#8>Qª;‹Q IWQI ‘æQ ’ætM?† R¥b? À¡r =?ô}?††R*’? `¡r g?°§?†R5¼? ¡r —?ÿÑ?†EÁÁ? @³rQª;‹Q IWQI ‘æQ ’æwH ž@·@Î#Q'idSÇint©²‹;Â^”Ž^‘Zž‘´HeÜÓBs™;ýÃI‹ ÄP€ ÅWãÆ^_¤ü1-Š 24 4;â8B [Ø-ö ³IW# !‹# ‹# ª‹# ¦‹# Ò‹#( ô‹#0 _‹#8 =‹#@ >‹#H ‹#P ¸ ‹#X ˆ"4#` $:#h &W#p ˆ*W#t O,p#x ž04#€ y1I#‚ D2@#ƒ ‚6P#ˆ 9?{# ØH‰#˜ ßI‰#  BJ‰#¨ îK‰#° õL®#¸ £JNW#À PV#Ä P´ —º4  P»4# ¼:# :ÀW#ý* ‘P†ö ‘f† š ¡P# û#f ` °  ‹# s õ  ˜# 5" ™# ë °#  ‰#W  “± “ ¿ e•#cmd f‹#( Õ i4#0 ® sD#° : u‹#ð 5" vT#ø ¤J x£#€ 2 |#ˆ•õ° “Ÿ« ῸLÊ” !T‚àlÃk[blË ˆ » Ã Õ Nä S• /P T;# K U;# G V;# ½7 W˜# »( PÊ ¸ Q˜# Ò R˜#v XT# ]ôstr ^˜u64 _u32 ` Ñ [opt \W#arg aÊ# z4 „ {˜# ôD† fT†°E& ¼:/“£ß EÀs€¸€W€}€€a€ ( Kû‘MXd À=€  oõ2 S( uY ñ vf# 2 x‹# {F y‹# ´ z# ´ ~ 9 # Ü €®# Ë ‰# £ºptr ¤‰n32 ¥n64 ¦ h Šn ñ ‹f# ö Œf#  Ž‹# di ‘n#(fmt ’E #0 ( ”¼#8 E& •Z#< 9 —#@ ´ ˜#H b š;#P ´ ›K #X  §#` ® p ’E  o˜# A p˜# ƒ q˜# (9 r # 9= w7 # = ~W #( ¥+ ƒr #0  ˆr #8 Ä< #@ n< “r #H , –¸ #P É ¾ #X Ñ ¢" #`log ¦Õ #htY  °j L( rX ¹ ñ ºf# " Áf# ö Ëf# Í Ì;#0 Ç Í;#4  Ï‹#8 Ü Ñ#@ ‚4 Ò;#H E& ÓZ#L  ÔQ #P ( Õ¼#Tó *  ç  m  "_ rs #_ #rd $e # à3 %#j ºK  )„ ¢0 Û  .¹ rs /_ #rd 0e # N 1k # ¬: :à io <û #rd ? #Wõ  õ * à W   „  Ñ E; =  é  K„ ùe E ¸, ^ W – XÓ  ]ù str ^‹ptr _‰i8 `Äi16 aÏi32 bÚi64 cåu8 dþu16 e u32 fu64 g â Z" Ü [4# |O h„ #e 7  n" WW  e W= Wr  _ ] _  e x W²  ; ² ‰ù “ ¹ Õ  e Ä _ ú RU = E•ùǸ'®15 WH· ø f# E&!ú #rs$_ #rd%e # 9'#( ~8(#0di*n#8 ,‹#@(,Âã E&Ãú # öÄý #Wý  _ e ã t2newû¡P^WYdYlc _= j"W‹lc" rd"e yÊWž@už@ÔòlcÊ  óhÊVórsË_ ŒórdËe Õó  ß°N· ‘† !îW€ž@>Ÿ@ ô’lcî Wôrsî_  ôrdîe éô"ðð’‘P ² аN · ¢† ‘²†¢!,_ @Ÿ@ÙŸ@2õ*lc ~õ#Q_ Çõ$tmp _ ö$r _ Fö$r2 _ |ö!…WàŸ@M @Øölc $÷#e €÷$rde Ü÷%—[P @£@ø>&lc[ ^ø'_rs]_ v¸(´ @á¢@)_rd`e ”ø*Âa_ vH(n¡@É¢@+”ke Êø+ól_ ù((¢@½¢@+íwe 6ù!uÄW£@.¤@ù¾lcÄ Ëùvĉ'ú$retÆW–ú$rÇ_ Ìú$rsÇ_ û$rdÈe —û,×éWÿ-lcé -rsé_ .retëW/„ìE !W0¤@"§@Íûhlc ürs_ bü$din«ü"„E vH$rde áü0C_ vý0½ ˜¿ý1†¤@°¸2&221T¥@ð,à2&221\¥@0-2&221¾¹¥@`:C2Û2Ð3À4æþ4ò°þ5Ô¥@ 92&22!J@W0§@Ѝ@æþÝlc@ 2ÿrs@_ Žÿ0”B˜êÿ0¥CW30„DE i6å*W¨@ð©@²v&lc* þ&arg*WG+Q,_ j+”-˜ 3P)rs1_ ü3€+5e 2+œ)6¼hÇyWð©@Ù«@±úlcy ýrsy_ Frdze $ret|WØ$tmp}e €/d~_7logf‘°8err¼š«@12ª@°‚72N2C1-ª@à‰_2&2292àª@óª@•†2N2C1÷ª@›®2&221C«@P«Ö2&22:2ƒ«@š«@¥2N2C;õ‡Wà«@Ú®@G&lc‡ a&rs‡_ ª&rdˆe ó)retŠW<*”‹˜v +QŒ_ ˜)crsŒ_ ô*e v˜'logŽf‘°8err @®@3€*^?”ù ‘ <Àß)tmp—e *(Ô¬@Z­@+´e s+¶´e ©)idxµWò=K­@Z­@»2&22!§×Wà®@ °@(álc× trs×_ ½rd×e  "ðÙ’‘@ á ê°N:eP¯@¯@ß2€2v¢!;&W°@&³@b Rlc& ® rs&_ #j'¹S #Ø'e œ 0')˜ø $rd*e T 0Q+_ "  b ±N3ð"¶.º‘Ð~0P/e ‘ 0E&0Zí 1c±@ oê2&221ö°@`_2&221ë°@ ^:2&223ð0½<˜6  ‘b†R!Y#W0³@¹µ@’  lc# Þ #Q#_ '#'$‹p"+&_ vH$rs&_ ¹$rd'e ï0L(W83 0Ae º0œ)B¼ð€WÀµ@\¶@9lc€ …rs€_ Î#ê‹.rdƒe !ZW`¶@·@` lc ¬#ê‹Ï$retW"Q_ v¨(¬¶@,·@.iœW"¡ ‘°$rs©_ N ¼0†>I‘:>’:>I‘:>’:?dsoW ÔÞr¸ ¸ r ·@(»@Ï)Q'idSÇint©Ä†BV‡;7ˆ;%‰B²‹; ŒBÂ^”Ž^F•^פ^F©^Y´^)¸²ÿZ ÿ+.î´H‘[nãÜÓB yf ëzÀ# û{^#_¤â8B [Ø-K ³I W# ! ù#  ù# ª ù# ¦ ù# Ò ù#( ô ù#0 _ ù#8 = ù#@ > ù#H  ù#P ¸ ù#X ˆ "‰#`  $#h  &W#p ˆ *W#t O ,§#x ž 04#€ y 1I#‚ D 2•#ƒ ‚ 6¥#ˆ 9 ?²# Ø HË#˜ ß IË#  B JË#¨ î KË#° õ L2#¸ £J NW#À  P«#Ä P ´ — º‰  P »‰#  ¼# : ÀW#R ÿ¥½K ÿ»½ š ä ¡P ä# û ä#» `   ù# s J  # 5" î# ë #  Ë#W__èe± è ¿ eL#cmd fù#( Õ ië#0 ® sû#° : uù#ð 5" v #ø ¤J x#€ 2 |Ô#ˆêJ_èô SL /P T;# K U;# G V;# ½7 W# »( P ¸ Q# Ò R#v X # ]«str ^u64 _tu32 `t Ñ [Ôopt \W#arg a# zë „ {# «û½ » ½ yD ,ð e -e# ? 2†# ò :œ# ² ;‘# ˆ =p# ^ >{# k @W#$ - Be#( ª G§#0  KÍ#8 ~ MØ#@ c X=#H l Y=#X ( Z=#h  gð#x ^½yDÅW,0ÅÅ,Q8W·@D¹@„+lc8_Ðwho8 8W<29ù˜O9ËáÜ92=99`fd;WÔret;W o<f=  ö>6# Ð?#ã@<‘ rwCLœ'6+ èL½è ÌcWP¹@q¹@¿Ñlcc_ whoc.2cùQOdËtÜd2—9dº º\W€¹@ž¹@ÝP lc\_)who\L2\ùoO]Ë’Ü]2µ9]Ø!5 W¯ "lc _"dir #retW$ù#sù$ % ¿ 5 ÿ¿ ½¯ ™)W ¹@(»@û‡ lc)_Gdir)£^?+‘°~&©¹@P .7 ''(P º@ /'k 'a )À *v ÿ+ *Œ [+• ,   ±N-I‘-’-I‘-’zô"’ 0»@¼@¢+Q'idSÇint©²‹;Â^”Ž^‘Zž‘´HeÜÓB_¤â8B [Ø-ž ³IW# !‹# ‹# ª‹# ¦‹# Ò‹#( ô‹#0 _‹#8 =‹#@ >‹#H ‹#P ¸ ‹#X ˆ"Ü#` $â#h &W#p ˆ*W#t O,p#x ž04#€ y1I#‚ D2è#ƒ ‚6ø#ˆ 9?{# ØH‰#˜ ßI‰#  BJ‰#¨ îK‰#° õL®#¸ £JNW#À Pþ#Ä P´ —ºÜ  P»Ü# ¼â# :ÀW#¥Ò ‘ø†ž ‘† š7 ¡P7# û7# ` X  ‹# s   ˜# 5" A# ë X#  ‰#W²²;¸± ; ¿ eŸ#cmd f‹#( Õ i>#0 ® sN#° : u‹#ð 5" v^#ø ¤J x£#€ 2 |'#ˆ=X²;G SŸ /P T;# K U;# G V;# ½7 W˜# »( PÔ ¸ Q˜# Ò R˜#v X^# ]þstr ^˜u64 _Çu32 `Ç Ñ ['opt \W#arg aÔ# z> „ {˜# þN† ^†Xt"0»@m»@“”lc"²ßƒ²p»@¼@•WaÝ—lc²Íð Í ®k ® !å$¯W‹*-I‘â’âdso WI‘â’âdso W³ ˆ$_ ¼@À@Ù,iQ'dSÇint©²‹0Âc”Žc‘Zž‘´HjÜÓG_¤â8G [Ø-ž ³I\# !‹# ‹# ª‹# ¦‹# Ò‹#( ô‹#0 _‹#8 =‹#@ >‹#H ‹#P ¸ ‹#X ˆ"Ü#` $â#h &\#p ˆ*\#t O,u#x ž0@#€ y1N#‚ D2è#ƒ ‚6ø#ˆ 9?€# ØH7#˜ ßI7#  BJ7#¨ îK7#° õL®#¸ £JN\#À Pþ#Ä P´ —ºÜ  P»Ü# ¼â# :À\#¥Ò ‘ø-ž ‘- š7 ¡P7# û7# ` X  ‹# s   ˜# 5" A# ë X#  7#\²²;¸± ; ¿ e=#cmd f‹#( Õ iÜ#0 ® sì#° : u‹#ð 5" vü#ø ¤J x£#€ 2 |Å#ˆ=X²;G« ‰¿¸LÊ” !ü‚àlÃk[blË ˆ » Ã Õ Nä S= /P T0# K U0# G V0# ½7 W˜# »( Pr ¸ Q˜# Ò R˜#v Xü# ]œstr ^˜u64 _Çu32 `Ç Ñ [Åopt \\#arg ar# zÜ „ {˜# œì- ü-X 8– ö—.#.²7J\Oo‰¿\tlc²o\ñ\¼@*¼@³lc²Uo‰O½!\0¼@X¼@…lc!²Uo!\ÑO;¼@V¼@#j`rV˜`¼@x¼@SlcV²UoV‰Sé\7€¼@œ¼@‰’lc\²Ul\\Õ øu ¼@ú¼@ Õlcu²Uargu7T!iw0 @~½@½@Wlc~²Uarg~7T T„½@$½@£Ilc„²Uarg„7T ž‹0½@k½@ïƒlc‹²Uarg‹7TÈǘp½@z½@;µlcDzU×Θ€½@‰½@‡çlcβU o½@¯½@Ó% lco²argo7U +e°½@¾@xc lce²Äarge7ú"¹¾@8¾@ œ lc¹²i !o»\«¢²@¾@Ò¾@Ÿ ì #Ý¢ì ë $lc¤²4!$f¥ò j!‹}D˜à¾@a¿@!\ lcD²Ù!oD‰5"argD‹~"% l  ²N ‘l -\ '˜p¿@À@Ú" lc'²&#o'‰¨#arg(‹Þ##(ž:$$ret*‹–$% 0  ²N&P!$a-‹ò$$end.®%!len/® ‘0 -  'I‘â'’â'cG“â l -'8˜\ 'I‘â'’â'cG“â(8˜\  `´r¶›&³ À@hÉ@§.ç(8KHH®#¸#З#—#i îf-Q'dSÇ int©²‹ÂΔŽÎ üZ 1_ ¶€ ¸€ ¤€ N€ €€ €À Ú€€ ,€€ Ø Î æ õÇ jü´HÕÜÓ²_¤â 8²_ 1©[Ø -u³I Ç#! ö# ö#ª ö#¦ ö# Ò ö#(ô ö#0_ ö#8= ö#@> ö#H ö#P¸ ö#Xˆ "³#`  $¹#h  &Ç#pˆ *Ç#tO ,à#xž 0«#€y 1¹#‚D 2¿#ƒ‚ 6Ï#ˆ9 ?ë#Ø H—#˜ß I—# B J—#¨î K—#°õ Lz#¸£J NÇ#À  PÕ#ÄP ´— º³ P »³#  ¼¹#: ÀÇ# | ©üÏH uüåHš ¡P #û # å` / ö#s t d#5" #ë /# —#lj‰ ± ¿ev#cmdfö#(Õi#0®s%#°:uö#ð5"v5#ø¤Jxo#€2|þ#ˆ  t/‰ Sv/PT#KU#GV#½7Wd#»(P«¸Qd#ÒRd#vX5#]Õstr^du64_“u32`“Ñ[þopt\Ç#arga«#z„{d#Õ%Hå5H /ȃÇlcƒ‰Mƒsƒdlen…ztmp†ö öæ¶ÇÂlc¶‰M¶u¶ÂO¸Ç“ü×H«Çlc«‰M«Ú«öend«öp_dÇÇOlcljMÇdÇ_OÉOü_H p_uÀǧlcÀ‰MÀuÀ§ ­ ¢ ˜!¶"%ÇÕB%dà%Õ K"J¿Çù__c¿Ç##nÀ@ªÀ@K%3$ptrnU$cnüT%led ǰÀ@ÕÁ@—%¯&2 dã%&( Ç,&'fd ¯u&(ùÇ«&)comµ àÞr žüÅHc#H•àÁ@Â@á& *lc•‰-'+M•P',ŸÇÂ@ÀÂ@™'™ *lcŸ‰å'+MŸ(*sŸdQ(-ret¡Çš(.;Â@€!£ a V L/Ð!!j0uÐ(1ÿÒÇÀÂ@“Å@)G *lcÒ‰R)+MÒ›)*fmtÒdä)2-retÔÇ*bÕö-fÕö‰*3ÔÕö¿*4apÖ™‘Ð~5 W  Û²N6Ã@ "èw : / %/`"7C‘ð~8×SÃ@iÃ@ã§  ý ò è8_!Ä@#Ä@ð … z p9‡!Ä@#Ä@ ­ ¢ ˜:!Ä@#Ä@7¶‘ð~.‡#Ä@ "ô ­ ¢ ˜/Ð"7¶‘ð~üW HG 11cö Å@¾Å@õ*­ *ptrcöA+*ccüw+-reteö­+1TwöÀÅ@Æ@ã+ *strwö/,+wü‹,*cwüÁ,-syö÷,#¡Y Æ@jÆ@i-I *strYöµ--s[öë-1fGöpÆ@ÖÆ@.Å *lcG‰Z.*strGö.+ÜGzÿ.-cIÇ5/-inJöX/-outJö{/#¿=àÆ@CÇ@ž/ *lc=‰ê/*str=ö 0*len=z01ì'öPÇ@~Ç@Ø0e *lc'‰$1*str'öG1-ret)ö}11 0ö€Ç@íÇ@ 1Æ *lc0‰ì1*str0ö2-ret2öX2-len3z{21“ÇðÇ@hÉ@±2…*lc‰ý2+šdF32-cÇ34ap™‘ð};yÈ@¤È@f3ãÇØ39Û„È@¤È@ í.¬üÈ@# É ¾‹#H ‹#P ¸ ‹#X ˆ"Ü#` $â#h &W#p ˆ*W#t O,p#x ž04#€ y1I#‚ D2è#ƒ ‚6ø#ˆ 9?{# ØH‰#˜ ßI‰#  BJ‰#¨ îK‰#° õL®#¸ £JNW#À Pþ#Ä P´ —ºÜ  P»Ü# ¼â# :ÀW#¥Ò ‘ø†ž ‘† š7 ¡P7# û7# ` X  ‹# s   ˜# 5" A# ë X#  ‰#W²²;¸± ; ¿ eŸ#cmd f‹#( Õ i>#0 ® sN#° : u‹#ð 5" v^#ø ¤J x£#€ 2 |'#ˆ=X²;G SŸ /P T;# K U;# G V;# ½7 W˜# »( PÔ ¸ Q˜# Ò R˜#v X^# ]þstr ^˜u64 _Çu32 `Ç Ñ ['opt \W#arg aÔ# z> „ {˜# þN† ^†X‹pÉ@HÊ@!4Élc²m4dW¶4fdWÙ4len®dev‹"5I‘â’âI‘â’â+µ PÊ@ZË@­2ÜÓ8d'intZQiSÇ©Âs”ŽsP¤_[Ø-r ³II# !’# ’# ª’# ¦’# Ò’#( ô’#0 _’#8 =’#@ >’#H ’#P ¸ ’#X ˆ"°#` $¶#h &I#p ˆ*I#t O,z#x ž0B#€ y1e#‚ D2¼#ƒ ‚6Ì#ˆ 9?…# ØH#˜ ßI#  BJ#¨ îK#° õL-#¸ £JNI#À PÒ#Ä P´—º°  P»°# ¼¶# :ÀI#y¦ PÌ ?r Pâ ?ÅyPÊ@ZÊ@X5ptryUÜ`Ê@ªÊ@¤5cÜ-ð5I&6ret\6¨f°Ê@Ë@6¶ptrfË6lenf-7reth’77œsË@2Ë@Z7ëptrs¦7ÝZ@Ë@OË@Ü7ÜZ-UÏ`PË@ZË@(8^ptr`UÜ`-TI‘¶’¶I‘¶’¶à.K,¿# `Ë@ ô@˜3ý%8S‹ &JÇ€ '\intã)n©ü1€QŠ 2’' 4¤iâ8¶d²‹¤Ân”ŽnéZ´H½ÜÓ¶_¤u$ Þ* é 1‹ ¶€ ¸€ ¤€ N€ €€ €À Ú€€ ,€€ Ø Î æ õ [Ø-W³I\#!ã#ã#ªã#¦ã# Òã#(ôã#0_ã#8=ã#@>ã#Hã#P¸ ã#Xˆ"•#` $›#h &\#pˆ*\#tO,È#xž0’#€y18#‚D2¡#ƒ‚6±#ˆ9?Ó#ØHá#˜ßIá# BJá#¨îKá#°õLû#¸£JN\#À P·#ÄP´ —º• P»•# ¼›#:À\#^‹é± ÞWéÇ Þ šð¡Pð#ûð#Ç `  ã# s V $#5" ú#ë # á#\kkôq± ô¿ eƒ#cmd fã#(Õ i"#0® s2#°: uã#ð5" vB#ø¤J xð#€2 | #ˆöVkô« B ¿ ¸ L Ê ” Sƒ/P T¤#K U¤#G V¤#½7 W$# »( P¸¸ Q$#Ò R$#v XB# ]âstr ^$u64 _«u32 `« Ñ [ opt \\#arg a¸# z"„ {$#â2 ÞÇB ÞE& ª : / “ £ ß  EÀ s€ ¸€ W€ }€ € a€ Ì= EÓE& F¤#Ê GH#( K ‘   M X d À =€ï _+AND » × `T( a¤#5 bÓ#  om õ 2 S( u²ñ vÇ#2 xã#{F yã#´ z«# ´ ~é9 «#Ü €û#Ë á# £ptr ¤án32 ¥™n64 ¦« h ŠÇñ ‹Ç#ö ŒÇ# Žã# di ‘Ç#(fmt ’ž #0( ”Ó#8E& •H#<9 —«#@´ ˜«#Hb š¤#P´ ›¤ #X §é#`m ® p ’ž  o$#A p$#ƒ q$#(9 rj #9= w # = ~° #(¥+ ƒË #0 ˆË #8Ä< æ #@n< “Ë #H, – #PÉ  #XÑ ¢{ #`log ¦. #hͲ  °Ã L ( rX ¹j ñ ºÇ#" ÁÇ#ö ËÇ# Í ̤#0Ç ͤ#4 Ïã#8Ü Ñ«#@‚4 Ò¤#HE& ÓH#L Ôª #P( ÕÓ#Tó ƒ ç  m  "¸ rs #¸ #rd $¾ #à3 %«#à K  )Ý ¢ 0 Û  . rs /¸ #rd 0¾ #N 1Ä # ¬: :9 io ^ öu#?ÿ ø™#@Y$ ú#Dð ûu#X… ýu#YÍ" ÿ‡#Z¡: ™#\$ ™#`£ ™#dô! u#hû! u#iÆ" #j ! ##Š€" ™#ðk! ™#ô¶! ó#ø¯! ™#€ ™#„(! ‡#ˆž 3#Šu Þu Þu# Þu3 ÞeuC Þõasr zorb {#rt |o#€± „ ¦$ E" í"ýÝ© " "5 5ååasr5ë 0%5™!rt7o!cl8åb C *? x*?$!Q'x!Q—#Då\asrDë"#Å#º"$Ð$Ú%:"Þ«z&clÞå%¬å¸&asrë'i \'j \'rt o‚4f¤Ôclfå%|$O¸ &lcOk&rdO¾ 'rsQ¸ %Gò\S&lcòk&asròë'iô\(Lô\'rtõo%t"-\’&cl-å&rs-¸ 'asr/ë'd0¾ )Ô#ÓÛ&asrÓë*2Ó\'clÕå'endÕå'rtÖo%B?\&lck&rd¾ &asrë'clå%€!ã¾ r&rs㸠'rtåo(»Dæ¾ (!æ¾ (8ç‡'iè\%j$c\É&rsc¸ &asrcë&adë*!d¾ (W"fë'clgå%#=\V&rd=¾ &rs=¸ 'a?ë'd@¾ 'clAå(@!B\+=#¬# "$¸$Ã$Ï"#p#e"${$‡eϤžasrÏë!rtÑo!ptrÒž,mÓ¤!endÓ¤u@ "ÓÌ 4"å,×$Ì+Ü Þ% "A\&lcAk&diAÇ*×-Aá'asrCë-•"ˆ`Ë@¤Ì@t8J.clˆåU-$™°Ì@Ð@À8É/×-™á 90cvt™¤U9!asr›ë1rtœo‹91i¤®929!¤Ñ9,1!ž¤3ÛÓ\ Ð@(Ð@ô9 4!ÓðU4F!ÓðT3¿ è\0Ð@$Ñ@@:5posèðU6newèðŒ:7'<Ð@0#ê¢#88©<Ð@`#F#Å#º9 #:ÐÂ::Úå:;\rÐ@„Ð@êÄ#n<'ŒÐ@à#ê#88©ŒÐ@ $F#Å#º9p$:Ð;:Ú>;3éü¤0Ñ@ÔÑ@t;š6rdü¾ À;=µüáö;'clÿå¬T3\àÑ@ïÑ@›<õ5lckU5rs¸ T5rd¾ Q4µáR?¡#…\ðÑ@Ò@ç<)5lc…kU3m 4\Ò@wÓ@3=/6lc4k==T$4N µ=@rd6¾ ë=@asr7ë!>@cl8åD>@fwl9åz>7'*Ò@ %8û#88©*Ò@P%F#Å#º9%:а>$Ú$¬)ß T&lck&rbT)ç J‰&lcJk&rtJo'iL¤)®#,®&lc,k&cl,åA‡#j€Ó@ÚÞ@{?‚6lcjkÇ?6rdj¾ ý?@asrlë @;/ÖÓ@ýÕ@o$#H#=BZÖ@ËÞ@p#s#hCÖ@ËÞ@:~C@<‰ÃÙ@0&b#¢#—3É!\àÞ@ ß@f@Æ6lck²@6rs¸ Õ@DKûß@¬ß@ø@ƒ0lcKkDA0asrKëzA0strKã°A0lenKûùA1clMåBBE'!ß@Oß@M#88©!ß@`&F#Å#º9&:ÐxB$ÚDWã°ß@)à@›Bã0lcWkçB0asrWë0C1lenYûyC1retZã¯C3#+ã0à@Bà@åC35lc+kU6rd+¾ 1D4£ +¤QDE&sHPà@wà@TD{0clså DFÌ=v{  ´rª‹ Þ%$s¸ 3 &lcsk&rds¾ &cltå'bufv3 (2vã'rsw¸ 'ssw¸ 'fwlxå'asryë+ #É+ #É"#Œ"$˜$¢$¬éC Þ3_#¥¸ €à@(å@ÖD·"6lc¥k"E6rd¥¾ kEGO"§\´E@asr¨ë\F@cl©å¥F@rsª¸ îF7'¢à@À&©!#88©¢à@ð&F#Å#º90':ÐpG$Ú7çà@p'°L!#%#9°'$1$;$G7‹Ná@ð'É"#³#¨#9 (>¾‘À~>ÊvÈ~:ÖòG$á:ì;H$ø;¸’â@â@˜È!#É;¸-â@8â@‹ê!#ÉÀ À´r4 %æ#™ž+&lc™k&di™Ç*œJ™«'ret›ž(ÜœûAA#±°î@ìï@^Â+6lc±k[^6di±Ç·^=×-±á_'buf³ž'asr´ëGœJµ«6_<Å*Ùî@à-·#í*#â*#×*9 .$ù*:+l_â(ê\9,lcêkdiêÇasrêë,{ ì¤!iì¤!chkì¤!rtío"#g"$r$|$‡$’3T báðï@ ô@_H.6lcbkÛ_6dibÇJ`6szcH.¦`=9cN.É`=^?c¿*ì`(Üeû(™$f«@asrgëa@clhåEaJK!KP!ð@Ky#‹zð@Lout“”ð@7Â+sð@`.¸-#ç+#Ý+#Ó+9 .$ò+:ý+Ža$,:,bBV‚ó@¼ó@#gC‚ó@¼ó@:rYb:|îb:‡c:’4c;ܽð@øð@û-##ù#îC½ð@øð@$<'Ðò@à.…#88©Ðò@/F#Å#º9P/:Уc$Úû«MI‘›M’›F(,ƒ. ø¢r $F""ƒ. £rNh  µrN¤!tÍ  µrMI‘›M’›ùh0Ó$ ô@wA;Q'idSÇint©²‹;Â^”Ž^‘Zž‘´HeÜÓBýÃI‹ ÄP€ ÅWãÆ^_¤ü1-Š 24 4;â8B [Ø-ë ³IW# !‹# ‹# ª‹# ¦‹# Ò‹#( ô‹#0 _‹#8 =‹#@ >‹#H ‹#P ¸ ‹#X ˆ")#` $/#h &W#p ˆ*W#t O,p#x ž04#€ y1I#‚ D25#ƒ ‚6E#ˆ 9?{# ØH‰#˜ ßI‰#  BJ‰#¨ îK‰#° õL®#¸ £JNW#À PK#Ä P´ —º)  P»)# ¼/# :ÀW#ò ‘E†ë ‘[† š„ ¡P„# û„#[ ` ¥  ‹# s ê  ˜# 5" Ž# ë ¥#  ‰#Wÿÿˆ± ˆ ¿ e#cmd f‹#( Õ i¶#0 ® sÆ#° : u‹#ð 5" vÖ#ø ¤J x£#€ 2 |Ÿ#ˆŠê¥ÿˆ”« Ö¿¸LÊ” S /P T;# K U;# G V;# ½7 W˜# »( PL ¸ Q˜# Ò R˜#v XÖ# ]vstr ^˜u64 _u32 ` Ñ [Ÿopt \W#arg aL# z¶ „ {˜# vƆ [Ö†¥E& >:/“£ß EÀs€¸€W€}€€a€ Ì= Eg E& F;# Ê GÜ#( K¦‘MXd À=€  o¿õ2 S( u ñ v[# 2 x‹# {F y‹# ´ z# ´ ~; 9 # Ü €®# Ë ‰# £eptr ¤‰n32 ¥ n64 ¦ h Š ñ ‹[# ö Œ[#  Ž‹# di ‘#(fmt ’ð#0 ( ”g#8 E& •Ü#< 9 —#@ ´ ˜#H b š;#P ´ ›ö#X  §;#`¿ ® p ’ð  o˜# A p˜# ƒ q˜# (9 r¼ # 9= wâ # = ~ #( ¥+ ƒ #0  ˆ #8 Ä< 8 #@ n< “ #H , –c #P É i #X Ñ ¢Í #`log ¦€ #h  ° L( rX ¹¼ ñ º[# " Á[# ö Ë[# Í Ì;#0 Ç Í;#4  Ï‹#8 Ü Ñ#@ ‚4 Ò;#H E& ÓÜ#L  Ôü#P ( Õg#Tó Õ  ç  m  " rs # #rd $ # à3 %# eK  )/ ¢0 Û  .d rs / #rd 0 # N 1 # ¬: :‹ io <¦ #rd ?Ç #W  ÿ  Õ ‹ WÁ ÿÁ / ¬ Ñ Eæ =  é  K/ ùe E ¸, ^ W – XÓ  ]¤ str ^‹ptr _‰i8 `¹i16 aÄi32 bÏi64 cÚu8 dóu16 eþu32 f u64 g â ZÍ Ü [4# |O h/ # â ÿÍ W ÿ Wè W ÿ   8 ÿ # W] ÿæ ] ‰¤ > d € ÿ o ä Ç´ ptr ȉu32 É u64 Ê ~% S T # ·% Uó# 4 Yó# ( Zó# ´ [ó#lba \ #î% .  ë$ / # 0% 1 # % 5 #$ % 6 #( ›% 8 #, ±& =ó#0 M% >ó#1 E& @ó#2 V& Jó#3 °$ K #4 6% L #8 % M #< Û% Nó#@ ª% Oó#A õ% Pó#B Ë% Qó#C …% ]0#D #% ^@#Ä ó0† ´ @† óP†;*%pWx×-p‰hptrx ‚4Ç;›hptÇx(Eg¸hptEx¡%ÍWélcÍÿrdÍ 0%Í‘tnew„û„¡P„®ahptxstr‹len®£ ;fmt ˜E&L܉hptLxÌ=O‰ >™† ´ŠÚ!rdŠ !hptŠx"retŒ"di#¿ `Wô@3ô@ìc$pos`„U$new`„T#ÛhW@ô@jô@8dX$posh„U$newh„T#É$Wpô@›ô@„dÆ$lcÿU$diT%×-‰Q&Pqô@/Ÿ'a(à/)l*Y%Ô ô@Óô@Ðd*$ssÔ U%Ô‰T+hptÖxQ,~Àô@Îô@Ù'-¡;àô@òô@ek.rd U/µ‰T-!Wõ@ õ@heÆ.lc!ÿU.rs! T.rd" Q/µ"‰R-m 5Wõ@Dõ@´e<.lc5ÿU/T$5  T"rd7 0hpt8xf1› õ@00;'¬2å%ƒWPõ@aõ@6fp.lcƒÿU3g%Lpõ@Êú@‚fÏ4lcLÿÎf4rdL g0hptNx:g0elOÏpg´ -@%,WÐú@ýú@“g4lc,ÿßg4rs, h3ÞW­lcÞÿrsÞ ssß­rdß háxhptáx5{'Ý'Ó'É5' ''ö5¥'Ý'Ó'É6' -Ž% û@ý@%hì4lcÿqh4rd àh0rs  bi"ss  1(û@`0'H'>'4'*(À07R«i7[j8~~û@ 1ãl'9é£ü@¸ü@ò—' ''ö9¸¸ü@ý@ùÂ'Ý'Ó'É,¸ý@ý@ï'Ý'Ó'É#0‹ ý@qþ@cjÛ:lc0ÿ¯j:rd0 øj;£ 0;.k›;ÿ@P2±'¬>apÿ@2²D'r(Ð2?}  µr1™Žÿ@3¶'¶'«(p37Âço7Î0p† @I‘/@’/A(,± £r˜Bó$Bd P¶rB»$r àµr@I‘/@’/¼í3Ô& €Aå A%>Q'idSÇint©²‹;Â^”Ž^‘Zž‘´HeÜÓBýÃI‹ ÄP€ ÅWãÆ^_¤ü1-Š 24 4;â8B [Ø-ë ³IW# !‹# ‹# ª‹# ¦‹# Ò‹#( ô‹#0 _‹#8 =‹#@ >‹#H ‹#P ¸ ‹#X ˆ")#` $/#h &W#p ˆ*W#t O,p#x ž04#€ y1I#‚ D25#ƒ ‚6E#ˆ 9?{# ØH‰#˜ ßI‰#  BJ‰#¨ îK‰#° õL®#¸ £JNW#À PK#Ä P´ —º)  P»)# ¼/# :ÀW#ò ‘E†ë ‘[† š„ ¡P„# û„#[ ` ¥  ‹# s ê  ˜# 5" Ž# ë ¥#  ‰#Wÿÿˆ± ˆ ¿ e#cmd f‹#( Õ i¶#0 ® sÆ#° : u‹#ð 5" vÖ#ø ¤J x£#€ 2 |Ÿ#ˆŠê¥ÿˆ”« Ö¿¸LÊ” S /P T;# K U;# G V;# ½7 W˜# »( PL ¸ Q˜# Ò R˜#v XÖ# ]vstr ^˜u64 _u32 ` Ñ [Ÿopt \W#arg aL# z¶ „ {˜# vƆ [Ö†¥E& >:/“£ß EÀs€¸€W€}€€a€ Ì= Eg E& F;# Ê GÜ#( K¦‘MXd À=€  o¿õ2 S( u ñ v[# 2 x‹# {F y‹# ´ z# ´ ~; 9 # Ü €®# Ë ‰# £eptr ¤‰n32 ¥ n64 ¦ h Š ñ ‹[# ö Œ[#  Ž‹# di ‘#(fmt ’ð#0 ( ”g#8 E& •Ü#< 9 —#@ ´ ˜#H b š;#P ´ ›ö#X  §;#`¿ ® p ’ð  o˜# A p˜# ƒ q˜# (9 r¼ # 9= wâ # = ~ #( ¥+ ƒ #0  ˆ #8 Ä< 8 #@ n< “ #H , –c #P É i #X Ñ ¢Í #`log ¦€ #h  ° L( rX ¹¼ ñ º[# " Á[# ö Ë[# Í Ì;#0 Ç Í;#4  Ï‹#8 Ü Ñ#@ ‚4 Ò;#H E& ÓÜ#L  Ôü#P ( Õg#Tó Õ  ç  m  " rs # #rd $ # à3 %# eK  )/ ¢0 Û  .d rs / #rd 0 # N 1 # ¬: :‹ io <¦ #rd ?Ç #W  ÿ  Õ ‹ WÁ ÿÁ / ¬ Ñ Eæ =  é  K/ ùe E ¸, ^ W – XÓ  ]¤ str ^‹ptr _‰i8 `¹i16 aÄi32 bÏi64 cÚu8 dóu16 eþu32 f u64 g â ZÍ Ü [4# |O h/ # â ÿÍ W ÿ Wè W ÿ   8 ÿ # W] ÿæ ] ‰¤ > d € ÿ o ä Ç´ ptr ȉu32 É u64 Ê ™&0 … 0%  # %  # %  # °$  # E& ó# ±& $ó# V& %ó# M% &ó# ; (… # ?& *ó# «& +ó#! P& ,ó#" 3& -ó## b& /… #$ • †‚4l;² S%l;(@gÏ hpt@Ï ´ tnew„û„¡P„®MhptÏ str‹len®£ ;fmt ˜E&GÜuhptGÏ Ì=Ju >…† ´K»!rdK "×-K‰#hptMÏ $¿ XW€A£Aypú%posX„U%newX„T$Û`W°AÛAÅp9%pos`„U%new`„T&Y%ràAAq‘'J&r U'r‰T(• ÷AAu)¦ $Ê&ÆWA;A]qæ%lcÆÿU%diÆT'×-ƉQhptÈÏ $¡ò;@ARA©q$%rdò U'µò‰T*m W`AŒAõqš+lcÿU,T$  T#rd -hptÏ Ar.² pAÐ3)à /&DWA¡AwrÎ+lcDÿU0 &°A"AÃr,1lcÿs1rd Es-i;hs-hptÏ žs$ƒ&øW0AYAÁsm2lcøÿ t2rsø 0t3yWÕlcyÿrsy sszÕrdz hpt|Ï 3&4Í)ø )í )â 5)¦  $v&£ `AºASt¼2lc£ÿŸt2rd£ ût6rs¥ juss¥ 7m„A4¬)œ)’)ˆ)~8`49¦ u:±/A;Õ jAA‰ )ø )í )â 7• ÏAÀ4~)¦ $+‹ÀAÑAÖu«2lc+ÿ"v2rd+ kv<£ +;Žv6len-®×v6ret.‹ w6hpt/Ï Vw=æAð41s)6)+) )8 59AŒw7;AP52)6)+) )8€59A¯w$i&ÝWàAüAåw%lcÝÿU2rdÝ 1x<²ÝWTxretßW$'&Ò AQAŠxE2lcÒÿÖx2diÒùx*`^W`Aå Ay?1lc^ÿhy1rd^ Äy1di_ z>×-_‰|z>^?_?Øz#hptaÏ ?² ÐA°5má)à ?MöAð5n)^8 6@i `¶r.… AP6q)¢)—86A®† BI‘/B’/C(,t £r˜D&d ð¶rD¼&3 €¶rBI‘/B’/ŠP„7Ò, ð A4iAò@ÜÓ8dQ'iSÇint©²‹MÂi”Žib¡¡ ¬Z ¹ ¬ ,Æ 1( ¶€ ¸€ ¤€ N€ €€ €À Ú€€ ,€€ Ø Î æ õ´HpýÃT‹ Ä[€ ÅbãÆi_¤ü1?Š 2F 4Mâ88 [Ø -e³Ib#!¦#¦#ª¦#¦¦# Ò¦#(ô¦#0_¦#8=¦#@>¦#H¦#P¸ ¦#Xˆ"£#` $©#h &b#pˆ*b#tO,{#xž0F#€y1T#‚D2¯#ƒ‚6¿#ˆ9?†#ØH¤#˜ßI¤# BJ¤#¨îK¤#°õL-#¸£JNb#À PÅ#ÄP´ —º£ P»£# ¼©#:Àb# l ™¬¿¡ e¬Õ¡ š þ¡P þ#û þ# Õ `  ¦# s d ³#5" #ë # ¤#byy ± ¿ e#cmd f¦#(Õ i£#0® s³#°: u¦#ð5" vÃ#ø¤J x(#€2 |Œ#ˆ  dy « P ¿ ¸ L Ê ” !à ‚ à l  à k [ b l Ë ˆ » Ã Õ  N ä S/P TM#K UM#G VM#½7 W³# »( P9¸ Q³#Ò R³#v XÃ# ]cstr ^³u64 _Žu32 `Ž Ñ [Œopt \b#arg a9# z£„ {³#c³¡Õá E& + : / “ £ ß  EÀ s€ ¸€ W€ }€ € a€  9J ù ã ¢ Ì= EsE& FM#Ê GÉ#( K² ‘   M X d À =€  oË õ 2 S( uñ vÕ#2 x¦#{F y¦#´ zŽ# ´ ~G9 Ž#Ü €-#Ë ¤# £qptr ¤¤n32 ¥ƒn64 ¦Ž h Š% ñ ‹Õ#ö ŒÕ# ަ# di ‘% #(fmt ’ü #0( ”s#8E& •É#<9 —Ž#@´ ˜Ž#Hb šM#P´ › #X §G#` Ë ® p ’ü o³#Ap³#ƒq³#(9rÈ #9=wî # =~ #(¥+ƒ) #0ˆ) #8Ä<D #@n<“) #H,–o #PÉ u #XÑ¢Ù #`log¦Œ #h +   °! L ( rX ¹È ñ ºÕ#" ÁÕ#ö ËÕ# Í ÌM#0Ç ÍM#4 Ϧ#8Ü ÑŽ#@‚4 ÒM#HE& ÓÉ#L Ô #P( Õs#Tóá ç  m " rs# #rd$ #à3%Ž# ! qK ); ¢ 0 Û .p rs/ #rd0 #N 1" # ¬::— io<² #rd?Ó #b¬ y¬ á — bÍ yÍ ; ¸ ÑEò =   é K; ù e  E  ¸ ,  ^  W  –  X Ó ]° str^¦ptr_¤i8`3i16a>i32bIi64cTu8dmu16exu32fƒu64gŽ âZÙ Ü[F#|Oh; # î y% Ù b y b ô b) y   D y / bi yò i ¤ ° J p Œ y { äÇÀ ptrȤu32Ƀu64ÊŽ §/ e=O(gb#t4hb#B-jb#lunkb# Ë/mb#°)o[#Ü+q[# s‘#?-ÓÀ þ)0Q©{FR©#š(Sƒ#ú,Tƒ#(Uƒ#Ã)nƒ##%p¹# 3¹¡ƒÉ¡ ö*4t~/uƒ#ä-vƒ#ƒ)wƒ#è)xx# /ym#Pm#þ*†m#ÿ.‡m#'ˆm#ddfŠm##%Œ~#Õ/Ž#0ƒŽ¡ƒž¡ ¤-T‘7r/’ƒ#h*“ƒ#Ø)”m#-—m# Öm# _.žm# õ&Ÿx#  - x##%¢¹#map£7# ÉG¡ Ú.¤§¼*¨#Ô+©ƒ#é.ªƒ#(«ƒ#c-ºƒ#.»m# È-¼m#!tid½m#"4(¾m##¿'¿x#$û(Àm#&”)Ám#'#%Ä(#(volÅž#Pm(¡ƒ8¡ iswÈ5sigÉ5#'ʃ# \)˃#$*.̃#(*΃#,ê+σ#0G.у#4P*Óm#81+Ôm#9-Õm#:¾)ÖE#;é'׃#<%.؃#@¸.Ùƒ#D2-Úƒ#H#%ÜU#L4Ýe#Ø3E¡mU¡ƒe¡"Hu¡È(§š b' ì& "* ç,U *ŽÁÐ*Žby*M‚-0ŽýÐ0Žby0Mt2Ž !¶!«O*,xnP,mmax,b"mm.ZU/m#min0x#max0x#mm2nm8~$~¡ $L*CxÃPCm !! #d$Z ·r%$'9úú&dev9ú&map9&add9- G É%g+Búc&devBú'volDc'mapE(Q!í!á!Õ !í!á!Õ ž%ù+m’)lÉ'ib*Œ(9&rs9 &div9&sub9+’(;þU<#,div=#,sub=#-’(? 'fE0 m mÃ0¡ Ã%2/ƒ;&rs .À-K  @€.L/` €€.s,e € @€.Ü-z€ @€+†+U#Õ#-†+Š'so#š 'i'bƒK¡ ;ƒ`¡ P ;ƒz¡ j … ƒëš¡ ë(ïs½(ïM(ösõlcöyrdö /4øõ !± H*š*!&rs &volc%¢)uMX&devuú)*uú)/vM¡TMrdT µT¤%+*`b²&lc`y&rs` 'rb r,cbødevcú !• !! #d$Z ·r+Ix7PIm !! #d$Z ·r% /ƒbl&lcƒy&rdƒ &dev„ú*‡*©†&rs© %W(²bÓ&rs² &isw²Ó-´b-¹'´b'rd¶ 8-8ŽÐ8Žby8M !Ý!Ò #ç !¶!«*0' E&rd  )Ü -%à'™-ƒ&isw™Ó !Ý!Ò #ç !¶!«%J-íbÍ&lcíy)4íõ&rsî 'iðb'rdñ %Ã* b&rs  -P¢m(!{ #‡ 'rs1¥ %6*Èb“&lcÈy&rsÈ 'rd1Ê 'rd2Ê (x!£!˜ #¯#»#Ç -Í Î--k Î-%§'†b&lc†y&rs‡ &rd‡ 'idx‰b-Š 'isw‹Ó'devŒú-4õ%~(LsŒ&lcLy&rsL 'idxNb-ô'Nb-D(Nb-(Os-P 'iswQÓ'devRú-4Sõ%Ã,Èb×&lcÈy&rdÈ 'iÊb'iswËÓ-{F̳%¬+¾b &lc¾y&rs¾ 'rdÀ *‹- ;&lc y&rs  'rd  %Z*$ bÆ&lc$ y&rs$  &isw$ Ó'rd&  'r&  'ma' (Ÿ!8!- !W !Ý!Ò #ç !«!¶%w(àbû&lcày&dià% &iswàÓ%Ô'bC&lcy&di% &iswÓ-4 õ !±0Xð A Aûzo1iU1sT2£,[M A* AG{­3rd[ U4µ[¤T5l,ƒ0 A` A“{ 6isw,ÓU7end.ƒß{8p/ Q7ret/ƒ| ƒ5$Sú` A² A8|í6iswSÓU6iSMT7devUú„|9€ A¬ AX!:€ A¬ A#$#0;À AÐ6HÂ!í!á!Õ9é A¬ AL!í!Õ!ámapU±}?ÜVŽç}?¿ VƒC~7iXby~7divYmœ~7subYmå~;’ñ A7[: !·!«! @@7A A$þ P·rB6c A€7]!H@À7A#Š$S  ÐN$€ ÀÐN$™ àÐN$Æ ÑN$ à·r@8A/ù5—/tŽ0 ASA/€¨!?4tõ{€>rst ž€>devtúç€7nvb0'divwm'subwmCO,xŽfCâ.xŽ‚8rdy UB’¶ A08 !·!«! @`8A }‚$þ P·rD'f b`AqA³‚Ü!6lcf yU*C/mF"&lcmy&iswmÓ'doM'ioM'moM-4põ'devqú 'mapØlc yKƒ>rd  §ƒ7isw ÓʃBÜ!¦A8 !õ!!ê!@À8A"„A "\„A"†A"j†A+" †:8AÈAA8"Ö†5FbðAÇA‡r#>lcFyk‡>rsF ´‡>rdG ý‡?µG¤Fˆ'devIú2r.m³ÐAgAˆÓ#E²/m³ÛˆiobFs-ob7‰GI)pÓ# `ßr¬ä#H¡ÿ2/‰õpAñA¹‰O$Iisw‰ÓŠIdi‰% NŠ@ð8iŒb/4õFI)޳qŠ2Ž/›õ Ay A§Š®$Ilc›yóŠIdi›% <‹Iisw›Ó…‹F4õ¨‹5m Ub€ A[!AÞ‹e%>lcUy*Œ?T$U¬ †Œ7rdW ©Œ'iswXÓC4YõòŒB½¶ A 9_!Ø!Î@P9Aâ;J Ô A€9û!±5¿ åb`!A±!Aq»%>posåþ½>newåþó7iswçÓŽ5%/ À!A+"A9Ž&>rs …Ž?{F³»Ž7rd‘ 5Ê. M0"A¾#A'Ã&?. Ós?w* b¼?<, Ó?[+ b(?”+ Mq7i bºC/ bÝC,( ú‘CÌ' ú#‘5?+§bÀ#AV%Al‘Œ'>lc§y¸‘>rs§ ’?h.¨úJ’?m.¨ú“’?%)¨Žï’7tmpªŽ“;û$A°9±i'!! :¤$AÐ$ACã)ÄH“5¼/b`%AÇ%A~“à'>iswÓÊ“?³9”7iƒb•”5,*IbÐ%A‚&AË”b(>lcIy•>rsI `•9ø%Au&AN!œ!‘:ø%Au&AA§©•5E&É&A%'AÌ•)>devú–B²‘&Að9 !ÃJ„À&A@:g!•JýÀ&A€:E!!@À:AdN–$Z ·r2©-0'A‚(A„–P*Ilc©yЖIisw©Ó,—Istr©¦ˆ—Ilen©-ä—Intªu@˜Inumªb‰˜IdevªúÒ˜Irdª ’™¬Å)fmt­³#Э³#Gg®P*‘ Kf³`*Ê™J²(A;½!ÃJ„ (A0;g!•Jý (Ap;E!!@°;Adš$Z ·r )`*¡  )2Ħ(Aè*AIšö+IlcÄy•šIrdÄ ÞšIdevÅú`›IntÅuÏ›KlenÇ->œKretȦaœKidÉbªœKiswÊÓóœF4Ëõ)LokÜÉ(AMð;‡+KiÏb˜Jø*A@<Ï! Jý*Ap<K!!@ <Ad-ž$Z ·rJ²ˆ)AÐ<Í!ÃJ„¡)A=g!•Jý¡)A@=E!!@€=Adcž$Z ·r5˜,š ð*A”.A™ž¤,>lcšyåž>rd› .Ÿ>isw›ÓwŸ>dev›úšŸ7r B N 3Öè,AOoutØB7l+AÀ=¸!_!T!I%3ù e-&lcùy)(+ú )Ô-ú 'düM-ý¤'iswþÓ'devÿú'rd 'rs 'ss -)¦ !à !• !! #d$Z ·r5V,F  .AÓ1AÇ —.>lcFy¡?Ô-F \¡C(+H ¥¡B¤,*/Að=q!Í,!Á,!¶,@0>AÙ,'¢Aã,p¢Aï,¹¢Aû,£A-^£A-ª£#-$(-v°B²h/Ap>!ÃJ„€0AÐ>g!•Jý€0A?E!!@P?Adó£$Z ·r5 +±bà1A©2A)¤G/>lc±yu¤>rs± ¾¤7rd1³ ¥7rd2³ *¥P 2A62A(/-Í ·--k ·-9lh2A2AÀ!z5.)Ʀ°2A>3AM¥‹/>lcÆy™¥>rsÆ Ï¥5Ò(ªú@3A§3A+¦ 0>iswªÓw¦?ª¦Ó¦7dev¬ú/§7i­be§@?-Í ±--k ±-5ö-q¦°3A4A›§_0>strq¦ç§'rets¦7ends¦0¨5ö,ÙM 4AÆ4AS¨Ã0>lcÙyŸ¨?2Ù¦è¨7fdÛb©Qž-Ü=‘°5`s bÐ4A 6AT©+2>lcs y ©>rds  é©>dit % 2ª?×-t ¤{ª?^?t +2ת'iswv ÓC4w õ «;E‘5AÀ?ƒ Ï1!W9Á¤5A»5A›!Ý!Ò:¤5A»5AAçV«Rš¤5A­5A2!«!¶9½é5A6A !Ø!Î:é5A6AAây«R 6A6Aû!± ’ <|,Р6A·8A¯«3>rsÐ û«>iswÐÓj¬>devÐúƬ7rtÒÉ"­C?)Ó³·­7rÔ &®B„H8Að?à!•JýH8A0@E!!@p@AdI®$Z ·r%¬-îb:4&lcîy&rsî 'minðx'maxðx'iswñÓ(š3!4!) #?#K(Œ3!£!˜ #¯#»#Ç #y#…(Ç3!  !! #d$Z ·r(ô3!• !! #d$Z ·r(4!ß #ê(4!{ #‡ #  -ù)J4'fmt³³J4¡ :4%i'ƒbÛ4&lcƒy&rsƒ 'bn…¦'rs1† 'rs2† S,š(À4-Í --k - -Í “--k “-%“.Ói5&lcy&rs -à' x-D, Ž'isw Ó'devú-4õ-f(¦ !¬! !• #·#Á%©*dÓ6&lcdy&rsd -à'fx-D,gŽ-(+h 'rdi 'iswjÓ-Ñ)jÓ-h.kú-m.kú-f(l¦ -Í š--k š-%,C ˆ6&lcCy&rsC 'rE 'rd1F 'rd2F -LMGb -Í O--k O-%'½b'7&lc½y&rs½ &isw½Ó-+-¿b-ÜÀ-'rdÁ 'devÂú(û6!8!- !õ!ê !Ý!Ò #ç !«!¶%D$U b®8&lcU y&rsU  -w*W b'iX b'idxX b-¹'X b- (X b-Ü'X b'retX b-”+Y M-'Z ³'rd[  -Q\  'di] % 'isw^ Ó-.^ Ó-4_ õ-Ë+_ õ-,(` úSr(y T)¾8D$S._ SÂ+] (M8!8!-(w8!W !Ý!Ò #ç !«!¶(‡8!8!- !W !Ý!Ò #ç !«!¶¬¾8¡ ®85ð(3bÀ8AäPA®@>lc3yË®>rs3 ¬¯7ret6bg°;'7ú8A°@C;!D7!97@`A#O7A[7±Ae7Á²#q7$}7v¨#•7A¡7÷²$­7v A¹7@³AÄ7´AÐ7´AÛ7„µAç7͵#ó7Aÿ7Y·A 8|·U8V-8øAAV58çAA#‰7$8 ÐN;9>AB! :!8!-;E">APB! :!WBÁ&>A€B›!Ý!Ò@°BAçë·Rš&>A/>A2!«!¶;EFAàBE ï:!WBÁ FA C›!Ò!Ý@PCAç¸Rš FAFA2!«!¶BFA€CE !8!-@ÀCCl9É1¸B3[?APD@!"3!3@EA-3^¹A93º¹AE3)º;±DA°E ú;!4!)@àEA?»AKŒ»PàDAöDA¼;#y#…B†ˆGAFÐ!£!˜@@F#¯A»û»AǼ;øõBApFþT<! JýõBA FK!!@ÐFAdK½$Z ·r;„DBAGýª<!•JýDBA0GE!!@`G#d$Z ·r;Í[?AGô=!ß@ÐGAêͽP¾?AÐ?Að<# Bi[?AH¢!{@PHA‡)¾;O4ë?AHø=!l4!a4@ÐHAw4_¾A‚4-¿AŽ4‰¿Vš4q@AMI~=#Á4#Í4@@I#§4#³4;i5áGApI u>!†5!{5@àIA‘5jÀ$5v@$©5v¨#µ5#À5AÌ58ÁAØ5ºÁAä5OÂAð5«Â;6áGAPJnc>!46!)6@J#?6AI6@ÃAU6cÃ$a6v@:…HA•HA#n6#z6@ÐJ#ý5# 6;Û4àHAK?!ø4!í4@@KA5åÃA5TÄ#5A'5ŠÄ#35A?5 ÅBƒ)IA€K!¬!•! @°KA·/ÅAÁžÅ@àK#,4$ 4 0£rBˆ6rKA@L!°6!¥6!š6@€L#¼6AÈ6ÔÅAÔ6CÆAß6ÅÆ;ÙwKAÀL¿Û?!õ!êJÁwKAðL:!Ý!Ò@ MAçmÇRšwKA€KA2!«!¶BµKAPMÒ!8!-5‰.]bðPASAÇ¡@>lc]yÜÇ>rd] %È?²]bÈ7ret_bÊÈ7isw`ÓÉ7dsta¤6É7srca¤ÞÉ-Übƒ%e)žÓ‰A&lcžy&rsž 'rd  -<,¡Ó-.¡Ó-`,¢ú-i,¢ú-¬.¢ú-(£b-0,¤b-/¥M-Ü'¥M-ò.¦M-R.¦M'i§M(wA!K!?!3 !K!?!3%D'sùA&lcy&rs -(s-N+M-T/M-´Ž'rd !s!i5,âbSAÉ]A:ÊšF>lcây†Ê?[-âò AË?^?ãi ŠË?µã¤~Ì7idxåb´Ì7retåbýÌ7rsæ œÎ7rdç Ð7iswèÓ/ÑC.èÓžÑ7devéúYÒ-4êõW×TA%TA;C!ô!é:TA%TA#ÿ;¡@0TA MîóC!¾@!³@@ðM#É@AÔ@ÈÒ#à@#ì@#ø@AA]ÓAA>ÔAAšÔA(AãÔA4AxÕA@A›ÕALACÖAXAØÖW!&VA8VAåÍC!K!?!3B!¯UA@NÙ!K!?!3;EVA NôqD!W9Á¦VA½VA›!Ý!Ò:¦VA½VAAçm×Rš¦VA¯VA2!«!¶;¢VAÐNô”D!8!-W“WA€WAûDX»×!°!¥:WA€WAAÆÆ×#ÒAÞØAêXØ#ö;²hXAO#nE!ÃJ„G]APOg!•JýG]A€OE!!@°OAd¡Ø$Z ·r;àXAàO7MF! !@PPA+רA7 ÙACÙAOþÙA[¹ÚAg(ÛAs—Û#B‰AàXAÀPV!¦A!›A@Q#±AA½AàÛAÉAbÜ$ÕAvHAáA«Ü9XÏYAéYA !s1iU9ŒZAZA9!©!ž:ZAZA#´A¾ÝAÊcÝlc@ yøÝ>rs@  AÞ>iswA ÓÞ>devA úæÞCT)C Ó/ßQÜD -v¨C²D -eßWÙ÷]A^AF ¯G!õ!êRÁ÷]A^A:!Ý!Ò:÷]A^AAç›ßRš÷]A^A2!«!¶B;º^A@Qa !c!X!M@pQAo¾ßAzáß$„‘ ;Eº^A Q( pH!W9ÁÖ^Aí^A›!Ý!Ò:Ö^Aí^AAçàRšÖ^Aß^A2!«!¶B4_AÐQ5 !8!-%Ô*f b]I&lcf y)(+f  'rsh  'rdi  -j ¦'iswk Ó-h.l ú-m.l ú'numm b($I!$! #/(BI-Í ‰ --k ‰ - -Í Œ --k Œ -5¡+› b`AqeA'àîK>lc› ysà?(+›  Ïà7rs  Öá7rdž  ¤âCŸ ¦&ã7isw  ÓÎãCh.¡ úcäCm.¡ úøä7num¢ bAåW Á`Að`Aà MJ!$!:Á`Að`A#/;’HaAR« %K!¯H!¤H@pRA»HÃåAÆH2æAÑHŽæAÝH׿$éHvH$õHv@AIFçW pcA²cA• óJ!!$:pcA²cAA/µçMàRK#CI#OI:ÐbAàbA#)I#5IPŸaA®aASK-Í Ø --k Ø -P¶aAÃaAK-Í Ú --k Ú -P0bA;bA¯K-Í Ì --k Ì -9 CbAˆbAÍ !$!:CbAˆbAA/ëç5x'S €eAÊeA!è2L>lcSymè>diS% è<ä*ïÐeA[fA³èM>lcïyÿè>diï% 5é?×-ï¤ké'iswñÓCÜó-ŽéBEçeA Só!W9ÁøeAfA›!Ý!Ò:øeAfA#çRšøeAfA2!«!¶%Þ(ýb¤M&lcýy&diý% &iswþ¤M)e/þªM)Üþ°M-T)Ó-+-- !õ!ê !Ý!Ò #ç !«!¶ Ó Ž -55.&¤`fA4iA±éÍO>lc&yýé>di&% Fê>sz'°Mê?9'ªM²ê?^?'+2ÕêQÜ)-vHCe/*Žøê7isw+Ó.ëYoutL.hAYbadH hAWÆÁfA2gA8£N!î!ã!Ø;M2gAPS9kO!TM!HM!‹#H ‹#P ¸ ‹#X ˆ"…#` $‹#h &W#p ˆ*W#t O,p#x ž04#€ y1I#‚ D2‘#ƒ ‚6¡#ˆ 9?{# ØH‰#˜ ßI‰#  BJ‰#¨ îK‰#° õL #¸ £JNW#À P§#Ä P´ —º… P»…# ¼‹#:ÀW#N{‘¡†G‘·† šà¡Pà#ûà#· `  ‹# s F ô#5" ê#ë # ‰#W[[äa± ä¿ es#cmd f‹#(Õ i#0® s"#°: u‹#ð5" v2#ø¤J xÿ#€2 |û#ˆæF[äð« 2 ¿ ¸ L Ê ” Ss/P T;#K U;#G V;#½7 Wô# »( P¨¸ Qô#Ò Rô#v X2# ]Òstr ^ôu64 _pu32 `p Ñ [ûopt \W#arg a¨# z„ {ô#Ò"†·2†E& š : / “ £ ß  EÀ s€ ¸€ W€ }€ € a€ Ì= EÃE& F;#Ê G8#( K ‘   M X d À =€  o õ 2 S( u`ñ v·#2 x‹#{F y‹#´ zp# ´ ~—9 p#Ü € #Ë ‰# £Áptr ¤‰n32 ¥en64 ¦p h Šuñ ‹·#ö Œ·# Ž‹# di ‘u#(fmt ’L #0( ”Ã#8E& •8#<9 —p#@´ ˜p#Hb š;#P´ ›R #X §—#` ® p ’L  oô#A pô#ƒ qô#(9 r #9= w> # = ~^ #(¥+ ƒy #0 ˆy #8Ä< ” #@n< “y #H, –¿ #PÉ Å #XÑ ¢) #`log ¦Ü #h{`  °q L ( rX ¹ ñ º·#" Á·#ö Ë·# Í Ì;#0Ç Í;#4 Ï‹#8Ü Ñp#@‚4 Ò;#HE& Ó8#L ÔX #P( ÕÃ#Tó 1 ç  m  "f rs #f #rd $l #à3 %p#q ÁK  )‹ ¢ 0 Û  .À rs /f #rd 0l #N 1r # ¬: :ç io < #rd ?# #Wü [ü 1 ç W [ ‹  Ñ EB =   é  K‹ ù e  E  ¸ ,  ^  W  –  X Ó  ] str ^‹ptr _‰i8 `i16 a i32 b+i64 c6u8 dOu16 eZu32 feu64 gp â Z) Ü [4#|O h‹ #l > [u) W^ [l WD Wy [f d f ” [l  W¹ [B ¹ ‰ š À Ü [l Ë ä Ç ptr ȉu32 Éeu64 Êp $C ³ %e#d0 &e#ù/ 'Z#jm€ >4 #¿ Z#m Z##% ##"0 "e#?0 ( # +3# ¤J -O#0°" 4O#1G0 5Z#2ë$ =C#4B? AS#8ï- Bc#@ë/ Fs#`#†O3† C†OS†ec†es†Oƒ†4f;žmf;ï-lWÕjmlÕin;Í ”! ”C ‚4‡;ø"S%‡;(;Ãjm;Õ#tCnewà"ûà"¡PàE&C8jjmCÕ$Ì=Fjšz†%´rp˜&jmrÕmSWÓjmSÕ$¡:UWpVÓsumVZZ'¿ zW@iAàiAôín(poszàU)newzà@î*žQiAÐS|E ¯+ T,¹cî-žˆiApT| ¯+àT,¹åî'ÛWàiA4jAgï×(posàU)newà³ï-žõiAPUƒ ¯+ U,¹Öï.Y%@jAfjAEð/J&f U/‰T0¡;pjA§jA‘ðp1rdl U2µ‰Ýð3r;ñ4jmÕR0m 'W°jAÝjA•ñé1lc'[U5T$'ü T6rd)l 3jm*Õáñ7øÀjAÎjA- 8j0kWàjAñjAò1lck[U9 0>kA™nAcòz:lc>[¯ò:rd>l åò3i@;ó3jmAÕ+ó00W nAÉnANó¾:lc[šó:rsf ½ó3™Wlc™[rs™f ssšrdšl jmœÕ 7 , !! ìf '[0¸f ÐnA$pAàóÛ)lc¸[,ô)rd¸l ˆô;rsºf ÷ôssºf -¾ônAðUÁ í ã Ù Ï+PV,÷-õ<ÔoAðoA¨ 7 , !'‹0pAÔqAcõª)lc[¯õ)rdl Òõ=£ ;õõ;iW>ö;len ‡ö;jmÕªö>bufª‘ ;ret‹àö?‹÷-ž‰qA°V, ¯+ðV,¹L÷‘º†'â/þWàqAüqAÎ÷(lcþ[U)rdþl ø=²þW=ø6retW'v0ól rAQrAsøU)lcó[¿ø)dióuâø0`zW`rAŒsAùB:lcz[Qù:rdzl šù:di{uãù2×-{‰,ú2^?{Buú6jm}Õ@CÉrA0WŠ T+`WA^ @¸rBøårAùrA‰' CzsAW Œâ 'ó/çWsAØsA˜úæ)lcç[äú)diçuû=×-ç‰*ûjméÕ<˜³sAÖsAí ©D³sAÖsAE³A¾Q,Ç`ûFI‘‹F’‹G(, @£r ôH04À ð¸rHQ0Z{ €¸rFI‘‹F’‹Öú?è0 àsAAžSQ'idSÇint©²‹;Â^”Ž^‘Zž‘´HeÜÓBýÃI‹ ÄP€ ÅWãÆ^_¤ü1-Š 24 4;â8B [Ø-ë ³IW# !‹# ‹# ª‹# ¦‹# Ò‹#( ô‹#0 _‹#8 =‹#@ >‹#H ‹#P ¸ ‹#X ˆ")#` $/#h &W#p ˆ*W#t O,p#x ž04#€ y1I#‚ D25#ƒ ‚6E#ˆ 9?{# ØH‰#˜ ßI‰#  BJ‰#¨ îK‰#° õL®#¸ £JNW#À PK#Ä P´ —º)  P»)# ¼/# :ÀW#ò ‘E†ë ‘[† š„ ¡P„# û„#[ ` ¥  ‹# s ê  ˜# 5" Ž# ë ¥#  ‰#Wÿÿˆ± ˆ ¿ e#cmd f‹#( Õ i¶#0 ® sÆ#° : u‹#ð 5" vÖ#ø ¤J x£#€ 2 |Ÿ#ˆŠê¥ÿˆ”« Ö¿¸LÊ” S /P T;# K U;# G V;# ½7 W˜# »( PL ¸ Q˜# Ò R˜#v XÖ# ]vstr ^˜u64 _u32 ` Ñ [Ÿopt \W#arg aL# z¶ „ {˜# vƆ [Ö†¥E& >:/“£ß EÀs€¸€W€}€€a€ Ì= Eg E& F;# Ê GÜ#( K¦‘MXd À=€  o¿õ2 S( u ñ v[# 2 x‹# {F y‹# ´ z# ´ ~; 9 # Ü €®# Ë ‰# £eptr ¤‰n32 ¥ n64 ¦ h Š ñ ‹[# ö Œ[#  Ž‹# di ‘#(fmt ’ð#0 ( ”g#8 E& •Ü#< 9 —#@ ´ ˜#H b š;#P ´ ›ö#X  §;#`¿ ® p ’ð  o˜# A p˜# ƒ q˜# (9 r¼ # 9= wâ # = ~ #( ¥+ ƒ #0  ˆ #8 Ä< 8 #@ n< “ #H , –c #P É i #X Ñ ¢Í #`log ¦€ #h  ° L( rX ¹¼ ñ º[# " Á[# ö Ë[# Í Ì;#0 Ç Í;#4  Ï‹#8 Ü Ñ#@ ‚4 Ò;#H E& ÓÜ#L  Ôü#P ( Õg#Tó Õ  ç  m  " rs # #rd $ # à3 %# eK  )/ ¢0 Û  .d rs / #rd 0 # N 1 # ¬: :‹ io <¦ #rd ?Ç #W  ÿ  Õ ‹ WÁ ÿÁ / ¬ Ñ Eæ =  é  K/ ùe E ¸, ^ W – XÓ  ]¤ str ^‹ptr _‰i8 `¹i16 aÄi32 bÏi64 cÚu8 dóu16 eþu32 f u64 g â ZÍ Ü [4# |O h/ # â ÿÍ W ÿ Wè W ÿ   8 ÿ # W] ÿæ ] ‰¤ > d € ÿ o ä Ç´ ptr ȉu32 É u64 Ê ý0 H Ä0 þ #1 þ#¯0 þ# % þ# % þ# V& ó# å4 ó# Ò0 ó# .1 H # óX †lsi #< E1 &<# ; 'ó# (1 (ó# š0 ) # ¡0 * # E& +ó# ¨0 0ó# ‚4 1þ# #% 2L# «3 5\# ë$ >l#` V& @ó#ð å4 Aó#ñ 71 B #ò ë/ D}#ö óL† ó\† ´ l† ó}† ó† Ú0;ªlsiªX Ž/$ÔÔlsi$ª ž´ (VW÷lsiVªE&FÜlsiFª!Ì=I >/†"t^new„#û„#¡P„*®ªlsi*ªstr*‹len*®#£ *; Á ž$¿ ]WàsA~tAƒû%pos]„U&new]„Ïû'p_ªQ(n_ªü$ÛmW€tAêtA;ü^%posm„U&newm„‡ü(poªªü(noªÍü)Y%·ðtA uAðü˜%ss· U*·‰T$¡í;uA9uA<ýÖ%rdí U*µí‰T+m  W@uAKuAˆý.,lc ÿU-T$   T.rd  .lsiª/·0^WPuAauAÔýb,lc^ÿU0‡0 puArzA þÏ1lc ÿlþ1rd  ¢þ2i";Åþ2lsi#ªèþ34$ÔvX+1W€zA©zA ÿ1lcÿWÿ1rs zÿ3¾W—lc¾ÿrs¾ ss¿—rd¿ 4lsiÁª5l R G <5ˆ 6 ¹r Á ž $1Ý °zA+|Aÿ†&lcÝÿéÿ&rdÝ X(rsß Ç4ssß 7ÔzAÀWæ B 8 . $8 X9L:÷@{A€XÇ\ 8°X6 ¹r;/|A+|AÐ R G <$3‹0|AÌ}AYÃ&lc3ÿ¥&rd3 î<£ 3;$(len5®“(ret6‹Ü(lsi7ª%:^e|AàX:`  … z o7°e|AY/ Á7e|A@Y& ž7^Å|ApY;  … z o;°Å|AÍ|A/ Á;Å|AÍ|A& ž$c1¢WÐ}Aì}A[%lc¢ÿU&rd¢ §<²¢WÊ4ret¤W$~0— ð}AA~A]&lc—ÿL&di—o+`eWP~AeA’ 1lceÿÞ1rde '1difp=×-f‰¹=^?f .lsihª>÷º~A Yu 8ÐY6 ¹r† $>1ŽWpAA%_&lcŽÿq&diŽ”*×-މQ?I‘/?’/@(,Ž H£r˜3P1d ¹r30M  ¹r?I‘/?’/ÕcCæ1 A/AkVQ'idSÇint©²‹;Â^”Ž^‘Zž‘´HeÜÓBýÃI‹ ÄP€ ÅWãÆ^_¤ü1-Š 24 4;â8B [Ø-ë ³IW# !‹# ‹# ª‹# ¦‹# Ò‹#( ô‹#0 _‹#8 =‹#@ >‹#H ‹#P ¸ ‹#X ˆ")#` $/#h &W#p ˆ*W#t O,p#x ž04#€ y1I#‚ D25#ƒ ‚6E#ˆ 9?{# ØH‰#˜ ßI‰#  BJ‰#¨ îK‰#° õL®#¸ £JNW#À PK#Ä P´ —º)  P»)# ¼/# :ÀW#ò ‘E†ë ‘[† š„ ¡P„# û„#[ ` ¥  ‹# s ê  ˜# 5" Ž# ë ¥#  ‰#Wÿÿˆ± ˆ ¿ e#cmd f‹#( Õ i¶#0 ® sÆ#° : u‹#ð 5" vÖ#ø ¤J x£#€ 2 |Ÿ#ˆŠê¥ÿˆ”« Ö¿¸LÊ” S /P T;# K U;# G V;# ½7 W˜# »( PL ¸ Q˜# Ò R˜#v XÖ# ]vstr ^˜u64 _u32 ` Ñ [Ÿopt \W#arg aL# z¶ „ {˜# vƆ [Ö†¥E& >:/“£ß EÀs€¸€W€}€€a€ Ì= Eg E& F;# Ê GÜ#( K¦‘MXd À=€ï _¿AND» × `è ( a;# 5 bg#  oõ2 S( uF ñ v[# 2 x‹# {F y‹# ´ z# ´ ~} 9 # Ü €®# Ë ‰# £§ptr ¤‰n32 ¥ n64 ¦ h Š[ ñ ‹[# ö Œ[#  Ž‹# di ‘[#(fmt ’2 #0 ( ”g#8 E& •Ü#< 9 —#@ ´ ˜#H b š;#P ´ ›8 #X  §}#` ® p ’2  o˜# A p˜# ƒ q˜# (9 rþ # 9= w$ # = ~D #( ¥+ ƒ_ #0  ˆ_ #8 Ä< z #@ n< “_ #H , –¥ #P É « #X Ñ ¢ #`log ¦Â #haF  °W L( rX ¹þ ñ º[# " Á[# ö Ë[# Í Ì;#0 Ç Í;#4  Ï‹#8 Ü Ñ#@ ‚4 Ò;#H E& ÓÜ#L  Ô> #P ( Õg#Tó   ç  m  "L rs #L #rd $R # à3 %#W §K  )q ¢0 Û  .¦ rs /L #rd 0R # N 1X # ¬: :Í io <è #rd ? #Wâ ÿâ  Í W ÿ q î Ñ E( =  é  Kq ùe E ¸, ^ W – XÓ  ]æ str ^‹ptr _‰i8 `¹i16 aÄi32 bÏi64 cÚu8 dóu16 eþu32 f u64 g â Z Ü [4# |O hq #R $ ÿ[ WD ÿR W* W_ ÿL J L z ÿR e WŸ ÿ( Ÿ ‰æ € ¦  ÿR ± ä Çö ptr ȉu32 É u64 Ê¡1 #  V2D &ü ¿ ' # >4 *ü # ¾2 ,ó# Ê2 3ó# +2 4ó# 82 5ó# x2 7 # ~1 Eö # £2 F # Ö2 G #$ °1 Hö #( ç2 Iö #, 2 J #0 l2 Kö #4 2 M #8 m1 Nö #<  P #@  †nvx YÀ J; ZÀ# Ü [ # û" \ # ¿ ]þ# ˜2 ^ó# Y$ _ó# Ý1 `ö # 2 a # Ó1 dÐ# F2 hà#, ‚2 j #0 `( k #4 óІ óà† óð†¢  ; nv  (Dg9nvD ×F9 ¿I†txnew„ û„ ¡P„&®Ðnv& str&‹len&® £ &;!i(;!sum) "#E&UÜnvU Ê2WóÌ=Y >†m¹WBnv¹ !sum» !s¼;$¿ ƒWA³A·%posƒ„U%newƒ„T$Û‹WÀAúAÀ%pos‹„U%new‹„T&Y%ò€A€AOú%ssòL U'ò‰T(¡+; €AJ€A›J)rd+R U*µ+‰T+nv- ç,Œ2ŸWP€Aa€A ~)lcŸÿU-·2Vp€A‡AV.lcVÿ¢.rdVR Ø+iX;û+jX;D /OZ‘°+nv[  0a\ ‘† (m =W‡A«‡A° §.lc=ÿü 1T$=â X 0rd?R +nv@ { 2/‡AZC##30Z4-  ¹r(˜13W°‡AÙ‡A± ë.lc3ÿý .rs3L 3úW@lcúÿrsúL ssû@rdûR !nvý "#l#a#VL (§1L à‡A<‰AC .lcÿ .rdR ë +rsL G 0ssL 2ë%ˆA`Z ####ü3ÀZ5$ 6I'‰A<‰A #l#a#V$3‹@‰AbŠAÙ F7lc3ÿ% 7rd3R H 8£ 3;k 9len5®¡ 9ret6‹ê 9nv7  :xT‰A [:Ü#©#ž#“#‰3p[;´5½V<ð‰Aƒ‰A.#`‹AÀ[µ##3\4-  ¹r2ЋA@\¶#á3\5ë²4ö à¹rÈ $Í1ÉWŒA/A^7lcÉÿZ7diÉ[£8×-ɉì9nvË "?½ŒAà\Ð##3]5-X58Ž@I‘/@’/A(, P£r˜/»1L¦ °ºr/Ž1Ža @ºr@I‘/@’/ÊÑFH4 0AN£A‹YQ'idSÇint©²‹;Â^”Ž^‘Zž‘´HeÜÓBýÃI‹ ÄP€ ÅWãÆ^_¤ü1-Š 24 4;â8B [Ø-ë ³IW# !‹# ‹# ª‹# ¦‹# Ò‹#( ô‹#0 _‹#8 =‹#@ >‹#H ‹#P ¸ ‹#X ˆ")#` $/#h &W#p ˆ*W#t O,p#x ž04#€ y1I#‚ D25#ƒ ‚6E#ˆ 9?{# ØH‰#˜ ßI‰#  BJ‰#¨ îK‰#° õL®#¸ £JNW#À PK#Ä P´ —º)  P»)# ¼/# :ÀW#ò ‘E†ë ‘[† š„ ¡P„# û„#[ ` ¥  ‹# s ê  ˜# 5" Ž# ë ¥#  ‰#Wÿÿˆ± ˆ ¿ e#cmd f‹#( Õ i¶#0 ® sÆ#° : u‹#ð 5" vÖ#ø ¤J x£#€ 2 |Ÿ#ˆŠê¥ÿˆ”« Ö¿¸LÊ” S /P T;# K U;# G V;# ½7 W˜# »( PL ¸ Q˜# Ò R˜#v XÖ# ]vstr ^˜u64 _u32 ` Ñ [Ÿopt \W#arg aL# z¶ „ {˜# vƆ [Ö†¥E& >:/“£ß EÀs€¸€W€}€€a€ Ì= Eg E& F;# Ê GÜ#( K¦‘MXd À=€  o¿õ2 S( u ñ v[# 2 x‹# {F y‹# ´ z# ´ ~; 9 # Ü €®# Ë ‰# £eptr ¤‰n32 ¥ n64 ¦ h Š ñ ‹[# ö Œ[#  Ž‹# di ‘#(fmt ’ð#0 ( ”g#8 E& •Ü#< 9 —#@ ´ ˜#H b š;#P ´ ›ö#X  §;#`¿ ® p ’ð  o˜# A p˜# ƒ q˜# (9 r¼ # 9= wâ # = ~ #( ¥+ ƒ #0  ˆ #8 Ä< 8 #@ n< “ #H , –c #P É i #X Ñ ¢Í #`log ¦€ #h  ° L( rX ¹¼ ñ º[# " Á[# ö Ë[# Í Ì;#0 Ç Í;#4  Ï‹#8 Ü Ñ#@ ‚4 Ò;#H E& ÓÜ#L  Ôü#P ( Õg#Tó Õ  ç  m  " rs # #rd $ # à3 %# eK  )/ ¢0 Û  .d rs / #rd 0 # N 1 # ¬: :‹ io <¦ #rd ?Ç #W  ÿ  Õ ‹ WÁ ÿÁ / ¬ Ñ Eæ =  é  K/ ùe E ¸, ^ W – XÓ  ]¤ str ^‹ptr _‰i8 `¹i16 aÄi32 bÏi64 cÚu8 dóu16 eþu32 f u64 g â ZÍ Ü [4# |O h/ # â ÿÍ W ÿ Wè W ÿ   8 ÿ # W] ÿæ ] ‰¤ > d € ÿ o ä Ç´ ptr ȉu32 É u64 Ê 4 F G3 Gþ# t4 Hó# »D Ió# % J # V& K #” &`  ' # G3 (ó# V& )ó# t4 *ó# »D +ó# % , # Q3 - # œJ / # ’3 0 # '4 1 # e3 2þ# ( 3ó# E& 8ó# 3 <ó# M% =ó#! ¥3 >ó#" :3 ?ó## °$ @ #$ ç3 Aþ#( y3 Bó#* ´ Có#+ % D #, o3 E #0 4 L`#4 ´ p†pdc   ñ3  # G3 # % ! # Q3 " # % # #$ [3 $þ#( ë$ %#*  M #€ ë/ O.#” m P #ü ó† ó.†Õ ?†YU *fÐ*by*;‚-0¢Ð0by0;t2 ![!På4;¿pdc¿p"‚4&;ä#pdc&¿(GgpdcG¿mi ;pdci¿ik;sumk;pl; ;4•W^pdc•¿%®£pdc%¿str%‹len%®£ %W !³r,NWÀpdcN¿$tïnew„û„¡P„"3¢;#pdc¢¿%r¤; !R-8eÐ8by8; !‚!w &Œ ![!P'¿ W0AYA×§(pos„U(new„T'ÛW`A‡A#é(pos„U(new„T)Y%,A¹AoA*J&, U*,‰T+ÅA@]/!×'´4ÀA8ŽA»’(rd4 U*Û34;T,pdc6¿'¡æ;@ŽAjŽAPã(rdæ U*µæ‰T,pdc远'ñWpŽAŽA¿>(lcñÿU(rsñ T(rdò Q*µò‰R'm  WŽA®ŽA š(lc ÿU*T$   T%rd  ,pdc ¿W-Ä3qW°ŽAÁŽAzÎ(lcqÿU.h4-#lcÿ#di#pdc¿%i!;/4"- ! &&&&1´ )i4ZÐŽA’—AÆö0lcZÿ0rdZ H+ÎÑŽAp]\!ò!ç!Ü1 ]2þk2Ž3—A;—AU!4—A;—A&2&±21Ô5‹3äW —A&˜A÷Q6lcäÿC6diäf7×-䉉pdcæ¿'º3øW0˜AĘA¬¤0lcøÿø0rsø A8°$úvX5,‹Ð˜Aâ™AŠ6lc,ÿÖ6pdc,¿ù7£ ,;B9len.®‹9ret/‹Á:^јAÐ]1[!!…!z!o;¢ý˜A™A'!³<^S™A^2!!…!z!o<¢S™A0^'!³5<‹ð™AšA÷é=lc<ÿU6rd< C>£ <;Q5E&VÜšAgšAfK6pdcV¿²?Ì=YK Àºr<£šA`^a!´ >[†'`xWpšAû›AèC0lcxÿ40rdx 0diyì@×-y‰H@^?yC¤AÛ3{;í%pdc|¿BqšA ^~$!1ð^&2&#21Y3£”›A¶›A—!´† '3€WœADA0lc€ÿÛ0rs€ $0ssm0rd ¶0pdc¿ÿBÅœA@_ƒØ!×3ÀïœAA!ã!Ø!Í "3±W #lc±ÿ#rs± #ss²#rd² %r´W%pdcµ¿%idx¶;%ma¶;/m· /°¸ ! &  !R"˜,J #lcJÿ#rdJ #pdcK¿#idxK;%rM Cœ3xDoutz !´'Ñ3Ò PA^¡A[ t0lcÒÿ§ 0rdÒ !,rsÔ _!,ssÔ ¨!+xA€_Û!:!/!$!1À_2Eà!2O<"&[2g«"2rá"2~#B *žA`À2!Ô!È!½!²1``2àO#Eê  AEòòŸA+£užAÀ`X!´+ïÒAa¶!10a& +AÒA`a¨!R'14W`¡A|¡A‰#Ò(lcÿU0rd Õ#@²Wø#%retW5±3ú €¡AÊ¡A.$6lcúÿz$6diú$5ü3‰Ð¡AN£AÀ$!6lcÿ %6di/%7Üž!x%79ž'›%7^?žC¾%Fret ¿v ma¡;Fsub¡;vLG4¢;&?.3¥- »r?3©= èºr9s¬M=&Gà3­s&HoutØ;AÖ¢Aå¢AÆ!R® ;=† ;M†;II‘/I’/?(,‚ X£r˜8ò2d °»r8]4` @»rII‘/I’/©Jê6 P£A¹Aï]Q'idSÇint©²‹;Â^”Ž^‘Zž‘´HeÜÓBýÃI‹ ÄP€ ÅWãÆ^_¤ü1-Š 24 4;â8B [Ø-ë ³IW# !‹# ‹# ª‹# ¦‹# Ò‹#( ô‹#0 _‹#8 =‹#@ >‹#H ‹#P ¸ ‹#X ˆ")#` $/#h &W#p ˆ*W#t O,p#x ž04#€ y1I#‚ D25#ƒ ‚6E#ˆ 9?{# ØH‰#˜ ßI‰#  BJ‰#¨ îK‰#° õL®#¸ £JNW#À PK#Ä P´ —º)  P»)# ¼/# :ÀW#ò ‘E†ë ‘[† š„ ¡P„# û„#[ ` ¥  ‹# s ê  ˜# 5" Ž# ë ¥#  ‰#Wÿÿˆ± ˆ ¿ e#cmd f‹#( Õ i¶#0 ® sÆ#° : u‹#ð 5" vÖ#ø ¤J x£#€ 2 |Ÿ#ˆŠê¥ÿˆ”« Ö¿¸LÊ” S /P T;# K U;# G V;# ½7 W˜# »( PL ¸ Q˜# Ò R˜#v XÖ# ]vstr ^˜u64 _u32 ` Ñ [Ÿopt \W#arg aL# z¶ „ {˜# vƆ [Ö†¥E& >:/“£ß EÀs€¸€W€}€€a€ Ì= Eg E& F;# Ê GÜ#( K¦‘MXd À=€ï _¿AND» × `è ( a;# 5 bg#  oõ2 S( uF ñ v[# 2 x‹# {F y‹# ´ z# ´ ~} 9 # Ü €®# Ë ‰# £§ptr ¤‰n32 ¥ n64 ¦ h Š[ ñ ‹[# ö Œ[#  Ž‹# di ‘[#(fmt ’2 #0 ( ”g#8 E& •Ü#< 9 —#@ ´ ˜#H b š;#P ´ ›8 #X  §}#` ® p ’2  o˜# A p˜# ƒ q˜# (9 rþ # 9= w$ # = ~D #( ¥+ ƒ_ #0  ˆ_ #8 Ä< z #@ n< “_ #H , –¥ #P É « #X Ñ ¢ #`log ¦Â #haF  °W L( rX ¹þ ñ º[# " Á[# ö Ë[# Í Ì;#0 Ç Í;#4  Ï‹#8 Ü Ñ#@ ‚4 Ò;#H E& ÓÜ#L  Ô> #P ( Õg#Tó   ç  m  "L rs #L #rd $R # à3 %#W §K  )q ¢0 Û  .¦ rs /L #rd 0R # N 1X # ¬: :Í io <è #rd ? #Wâ ÿâ  Í W ÿ q î Ñ E( =  é  Kq ùe E ¸, ^ W – XÓ  ]æ str ^‹ptr _‰i8 `¹i16 aÄi32 bÏi64 cÚu8 dóu16 eþu32 f u64 g â Z Ü [4# |O hq #R $ ÿ[ WD ÿR W* W_ ÿL J L z ÿR e WŸ ÿ( Ÿ ‰æ € ¦  ÿR ± ä Çö ptr ȉu32 É u64 Êsil ~ %6 ~# ö5 Ž#. 7 ž#6 .1 ®#V 0%  #` Ö6 ¾#d Ž4  #l ÿ6  #p ã5 Î#t y6  #x .6 Þ#| 76 !Î#€ ¨6 "þ#„ h5 #þ#† ‚5 $þ#ˆ ž6 %þ#Š 6 &ó#Œ R6 'ó# 7 (ó#Žday )ó# ³6 *ó# ‰4 +ó#‘ |4 ,þ#’ @6 -î#” V& .ó#– E& /ó#— =5 6¹#˜ Ý4 7¹#™ 5 8¹#š Š6 9¹#› r5 : #œ ý4 ; #  5 < #¤ ±5 =ó#¨ ¿5 >ó#©  4 Bó#ª q4 Có#« ð4 Dó#¬ I6 Fó#­ ¹6 Gþ#® T5 Hþ#¾ 6 I#À ^5 Jþ#þ óކ- óž† ¹®† ¹¾† ¹Î† ¹Þ† ¹î†ƒ ¹þ† ó† ¹†½Œ)W=sil=ö 7ŠW`silŠ=m]Wœsil]= sum_W!¡:`4 paœþ"tÑnew„#û„#¡P„n6àW strà‹lenà®nà‹iàWÒ5-=„lc-ÿdi-[$i6-„%b /;&i/;%öF/;&j/;&sil0=&tmp0==´ÓrdR %£5 &ret &sil ='(0E&KÜûsilK=!Ì=Nû > †o6æ‹lcæÿnæ‹iæW lenè® reté‹)h((ø(í(â'((ø(í(âZ6Wélcÿdi[#×-‘‰#Ë‘; sil“=)á(q'*|*‡*’'(T+¿ &WP£Ay£AÏ&+,pos&„U,new&„T+Û.W€£A±£A'm,pos.„U,new.„T-Y%:À£AߣAg'ª,ss:L U.:‰T+¡z;à£A!¤A³',rdzR U.µz‰T&ret|W/sil}=Q0Œ5úW0¤AA¤Aÿ'9,lcúÿU1(=gP¤A§¤AK({2sil==—(3×?{‘P ¿‹†+m ›W°¤Aæ¤Aº(ë4lc›ÿ)5T$›â ))&rdR 6silž=L)-55³ð¤A ®Ao)F4lc³ÿ»)4rd³R ñ)&ttµ‹6sil¶=*7d6ª ®AÚ®A7*ƒ8i6ª„ƒ*2iª;¹*+™5‘Wà®A ¯A(+Ç4lc‘ÿt+4rs‘L —+3BW#lcBÿrsBL ssC#rdCR &silE='(Å(º(¯L +ì5fL ¯Ad°Aº+ç4lcfÿ,4rdfR b,6rshL Ñ,&sshL 9Ç4¯Aao(ú(ï(ä(Ù:ða;-<¢°A0°AR(Å(º(¯1®p°Am±A=-H2sil=‰-2str‹Ò-2len®.8£ ;d.1&‹p±AA²Aš.Å2lc&ÿæ.2rd&R //8£ &;R/=len(®u/=ret)‹˜/=sil*=Î/+à6WP²Al²A0#,lcÿU4rdR P05²Ws0&retW+Ú5 R p²Aº²A©0g4lc ÿõ04di [1+`QWÀ²AÚµA;14lcQÿ‡14rdQR ª14diR[25×-R‰b25^?R…26iT;¨26maU8 Ë26silV=î2>i6V„p3?badpɵA@  ³APb[~(3(((:b;?ò3;U;4;a^4*k*w*K@ŠijAÐbh×(œ:c*§;³4;¿Ý4<´A"´A(0<ÓC´AW´Al(äAC´AW´ABï À»rÈ 7¹4õàµAÒ¶A952lcõÿ…52diõ[¨58×-õ‰ñ5=i÷;6 nø‹!i6ù„C ¶APcü(/(&(:€c;8J6*CDÑ5¶AO¶Aìî((ø(í(âEѶA¶Aë((ø(í(â1Ë4³‰à¶A¹A“6„2lc³ÿß62di³[(78Ü´„q789´Š”78^?´·7=i¶;Ú7F^6¶;8Gstr·‘° sil¸=3i6¸„v¸HoutÛ§·AHbad×”·ACh·A°cÇ(¯(¤(š(:d*ºICh·Apd•;(TE`¸A&¸A(qA¸A&¸A;|38*‡;’V8® ‘ †JI‘/J’/3(,Ï `£r˜KÃ6©¦ p¼rK 6éa ¼rJI‘/J’/Û¡NV7 €¹AtÅA»aQ'idSÇint©²‹;Â^”Ž^‘Zž‘´HeÜÓBýÃI‹ ÄP€ ÅWãÆ^_¤ü1-Š 24 4;â8B [Ø-ë ³IW# !‹# ‹# ª‹# ¦‹# Ò‹#( ô‹#0 _‹#8 =‹#@ >‹#H ‹#P ¸ ‹#X ˆ")#` $/#h &W#p ˆ*W#t O,p#x ž04#€ y1I#‚ D25#ƒ ‚6E#ˆ 9?{# ØH‰#˜ ßI‰#  BJ‰#¨ îK‰#° õL®#¸ £JNW#À PK#Ä P´ —º)  P»)# ¼/# :ÀW#ò ‘E†ë ‘[† š„ ¡P„# û„#[ ` ¥  ‹# s ê  ˜# 5" Ž# ë ¥#  ‰#Wÿÿˆ± ˆ ¿ e#cmd f‹#( Õ i¶#0 ® sÆ#° : u‹#ð 5" vÖ#ø ¤J x£#€ 2 |Ÿ#ˆŠê¥ÿˆ”« Ö¿¸LÊ” S /P T;# K U;# G V;# ½7 W˜# »( PL ¸ Q˜# Ò R˜#v XÖ# ]vstr ^˜u64 _u32 ` Ñ [Ÿopt \W#arg aL# z¶ „ {˜# vƆ [Ö†¥E& >:/“£ß EÀs€¸€W€}€€a€ Ì= Eg E& F;# Ê GÜ#( K¦‘MXd À=€  o¿õ2 S( u ñ v[# 2 x‹# {F y‹# ´ z# ´ ~; 9 # Ü €®# Ë ‰# £eptr ¤‰n32 ¥ n64 ¦ h Š ñ ‹[# ö Œ[#  Ž‹# di ‘#(fmt ’ð#0 ( ”g#8 E& •Ü#< 9 —#@ ´ ˜#H b š;#P ´ ›ö#X  §;#`¿ ® p ’ð  o˜# A p˜# ƒ q˜# (9 r¼ # 9= wâ # = ~ #( ¥+ ƒ #0  ˆ #8 Ä< 8 #@ n< “ #H , –c #P É i #X Ñ ¢Í #`log ¦€ #h  ° L( rX ¹¼ ñ º[# " Á[# ö Ë[# Í Ì;#0 Ç Í;#4  Ï‹#8 Ü Ñ#@ ‚4 Ò;#H E& ÓÜ#L  Ôü#P ( Õg#Tó Õ  ç  m  " rs # #rd $ # à3 %# eK  )/ ¢0 Û  .d rs / #rd 0 # N 1 # ¬: :‹ io <¦ #rd ?Ç #W  ÿ  Õ ‹ WÁ ÿÁ / ¬ Ñ Eæ =  é  K/ ùe E ¸, ^ W – XÓ  ]¤ str ^‹ptr _‰i8 `¹i16 aÄi32 bÏi64 cÚu8 dóu16 eþu32 f u64 g â ZÍ Ü [4# |O h/ # â ÿÍ W ÿ Wè W ÿ   8 ÿ # W] ÿæ ] ‰¤ > d € ÿ o ä Ç´ ptr ȉu32 É u64 Ê 4 8 ®7 þ#37 þ#Î7 þ #l þ #'7 þ#:8 !þ# 8 2þ# `( 5‹ 4 6´ # 8 7ó# ý7 ; # Ü7 < # ‹7 = # via3 @Þ >4 Aþ# r7 Có# `( D8 # ‹7 EÞ # m Fó#2 î †¢ W via ‹ (_g.via_ m’ó_via’ i”ósum”ótŽnew„ û„ ¡P„8  ¿via i";ret# ·7,‹via, len.®sum/ ret0‹!"Ÿ!#ª#³:®jlc:ÿvia: str:‹len;® ½7;‹ £ ;;!"ÿ E&iÜ’viai $Ì=l’ >¢†%¿ ºW€¹AÓ¹AŒ8ù&posº„U&newº„T'p¼ Q(n½ Ø8%ÛÊWà¹A ºA98&posÊ„U&newÊ„T)Y%Ñ ºAFºAZ9r&ssÑ U*щT+¡;PºAvºA¦9Á,rd U-µ‰T.via! R+m BW€ºA¤ºAò99,lcBÿU-T$B  T/rdD .viaE Q0ºAšºAH""1-8•W°ºAÁºA>:m,lc•ÿU2ê7[кAN¿AŠ:Ë3lc[ÿÖ:3rd[ ;4i];/;4via^ R;+'WP¿Aœ¿Au;:3lc'ÿÁ;3rs' ä;3rd( <5µ(‰*</via* %k7W ¿A]ÀAM<Ú6lcÿ™<6diÏ<7×-‰=(viaŸ ;=8.À¿AÏ¿A¤"?9À¿AÏ¿A:Jq=:S>+79W`ÀAÀAO>3lc9ÿ›>3rs9 ¾>3ÙWtlcÙÿrsÙ ssÚtrdÚ viaÜ !"‚"w"l %¤7ù ÀAýÁAá>26lcùÿ-?6rdù ‰?(rsû ø?ssû ;´ÀA°d"M"C"9"/<e:W.@8_¨ÁAÀÁAé"‚"w"l%B‹ÂA§ÃAd@ã6lcBÿ°@6rdB Ó@7£ B;ö@(lenD®?A(retE‹ˆA=½7E‹¾A(viaF ôA>¿ ÂAÂAHD"Ð9 ÂAÂA:Û*B:æMB#ñ8Ž ÂA?ÂA/"Ÿ9 ÂA?ÂA:ª–B#³?–ÂApeL“"W"L"A"6"+"!@î –ÂA e="ÿ @ÚÂAÐeN"W"L"A"6"+"!8î ÚÂAëÂA="ÿ +Ä7W°ÃAÌÃAßBA,lcÿU3rd +C5²WNC/ret W%›7± ÐÃA!ÄA„C‚6lc±ÿÐC6di±óC+`›W0ÄAtÅAD^3lc›ÿbD3rd› «D3diœôD5×-œ‰=E5^?œ^†E/viaž A®ÄAfª""0j¾ÄA×ÄA«"{9¾ÄA×ÄAB† €¼r† CI‘/C’/D(,“ h£r˜EC7Pd 0½rEò7„ À¼rCI‘/C’/Ö0YR®; €ÅAâAœdQ'idSÇint©²‹;Â^”Ž^‘Z1ô ¶€ ¸€ ¤€ N€ €€ €À Ú€€ ,€€ Ø Î æ õú ‘´HeÜÓBýÃI‹ ÄP€ ÅWãÆ^_¤ü1-Š 24 4;â8B [Ø-G ³IW# !‹# ‹# ª‹# ¦‹# Ò‹#( ô‹#0 _‹#8 =‹#@ >‹#H ‹#P ¸ ‹#X ˆ"…#` $‹#h &W#p ˆ*W#t O,p#x ž04#€ y1I#‚ D2‘#ƒ ‚6¡#ˆ 9?{# ØH‰#˜ ßI‰#  BJ‰#¨ îK‰#° õL #¸ £JNW#À P§#Ä P´ —º… P»…# ¼‹#:ÀW#N{‘¡†G‘·† š à¡P à#û à#· `  ‹# s F ô#5" ê#ë # ‰#W[[äa± ä¿ es#cmd f‹#(Õ i#0® s"#°: u‹#ð5" v2#ø¤J xÿ#€2 |û#ˆæF[äð« 2 ¿ ¸ L Ê ” Ss/P T;#K U;#G V;#½7 Wô# »( P¨¸ Qô#Ò Rô#v X2# ]Òstr ^ôu64 _pu32 `p Ñ [ûopt \W#arg a¨# z„ {ô#Ò"†·2†E& š : / “ £ ß  EÀ s€ ¸€ W€ }€ € a€ Ì= EÃE& F;#Ê G8#( K ‘   M X d À =€ï _AND » × `D( a;#5 bÃ#  o] õ 2 S( u¢ñ v·#2 x‹#{F y‹#´ zp# ´ ~Ù9 p#Ü € #Ë ‰# £ptr ¤‰n32 ¥en64 ¦p h Š·ñ ‹·#ö Œ·# Ž‹# di ‘·#(fmt ’Ž #0( ”Ã#8E& •8#<9 —p#@´ ˜p#Hb š;#P´ ›” #X §Ù#`] ® p ’Ž  oô#A pô#ƒ qô#(9 rZ #9= w€ # = ~  #(¥+ ƒ» #0 ˆ» #8Ä< Ö #@n< “» #H, – #PÉ  #XÑ ¢k #`log ¦ #h½¢  °³ L ( rX ¹Z ñ º·#" Á·#ö Ë·# Í Ì;#0Ç Í;#4 Ï‹#8Ü Ñp#@‚4 Ò;#HE& Ó8#L Ôš #P( ÕÃ#Tó s ç  m  "¨ rs #¨ #rd $® #à3 %p#³ K  )Í ¢ 0 Û  . rs /¨ #rd 0® #N 1´ # ¬: :) io [> s ) W_ [_ Í J Ñ E„ =   é  KÍ ù e  E  ¸ ,  ^  W  –  X Ó  ]B str ^‹ptr _‰i8 `i16 a i32 b+i64 c6u8 dOu16 eZu32 feu64 gp â Zk Ü [4#|O hÍ #® € [·k W  [® W† W» [¨ ¦ ¨ Ö [® Á Wû [„ û ‰B Ü   [®  ä ÇR ptr ȉu32 Éeu64 ÊpÒ=]™>4^e#crc_e#!A`™#‰9a©# þ;be#( ce#,Q;dO#0ì8eO#1H<fO#2`=g¹#38hp#`<ip#hn9jO#pj=kÉ#qt8le#tü9mp#xÖ9nZ#€0<oZ#‚À;pZ#„:qZ#†F:rZ#ˆt=sÙ#Š=te#Àç=ue#Ä,;ve#ȼ9we#Ì»:xe#Ðå;ye#Ô;ze#Ø‚:{e#Üù8|e#à<}e#ä„;~e#èô:e#ì¢;€e#ðÞ=e#ô 9‚e#ø…8ƒe#ü~=„é#€O©†O¹†OɆ,OÙ†Oé†5Où†ÿ>=ˆ…>4‰e#crcŠe#!A‹™#F;ŒZ# c9Z#"”;ŽZ#$®9Z#&`=™#(g8‘…#@O–†¿È8•>4–e#crc—e#!A˜™#”:™e# t<šO#$n:›O#%ÿ<œ#&Y$$#FO$†O5†¹ I8@¡ˆ>4¢e#crc£e#Û:¤Z#Ë9¥Z# `=¦ˆ# O˜†3 =@¬!A­™#”:®e#E&¯Z#œ)°Z#ܱp# d:²#(j=³#:O†O'† þ=@·z>4¸e#crc¹e#Û:ºZ#Ë9»Z# `=¼ˆ# @9@Á÷!A™#Y=ÃZ#`=ÄZ#E&Åe#œ)ÆO# £=ÇO#!j=È÷#"É#0O† O†P9Í@>4Îe#crcÏe#!AЙ# Ñe# þ;Òe#$Y$Ó™#(;ÔZ#@±ÕO#BPÖO#CZ<×O#DÜ<ØO#E¯8ÙO#F¢<ÚO#G´Ûp#HÜÜp#P`=Ýp#X)?Þ@#`¿'ßp#€¢8àO#ˆj=âP#‰eP†Oa†vA:`ûJ„<üR #Ï;ýp#€Ý;ÿJ#ˆô;ÿJ# C=P#˜ Í8V#  ®=\#¨pdsb#° æ9h#¸vdsn#Àcfgt#È ð9W#Ð K= W#Ô Z8 W#ØR ù–5˜'za ×8›'<® #[:$p¸à3$p9BbÞA:Bz iD;! 9‰"lc["di·#Ðô5 “tLA:“z$pd“b$n“; i•Wˆ=œt±A:œz9œp pdžb iŸW%¢&9&/&$'(B'&É'(Ô/9¦WöA:¦z$cr¦t$pd§b i©W idsªöe :O$pO@<W`$one$two xW%X& '& !“<‰š"lc["di·'&&û&ð‘9PnïA:Pz$crPt iRW'&9&.'(D%å& '& !z9‰)"lc["di·'&&û&ð‚4Ã;E$crÃt!Ò:ä;•"lcä[#×-ä‰)A:æz)Û:ç;'&É'(Ôô<¹pìA:¹z$cr¹t$pdºb i¼W'&×&Í&Â'(á(ê@ -Ã4-b*×/$†æ#ö}$lcö[$diö·œJöp retø*Üù %u&¬'&¬!>;ïW²"lcï["diï·#A:ïz+$:zW€ÅA(ÆA©EC,A:zzõE-pdzbT.nzC+F*ç8|W/i|WaF0j|WU0nn|W[ ids}ö cr~t;1‹<cW0ÆA8ÆA„F‹2poscàU2newcàT1eW@ÆAOÆAÐFæ2lce[U2rse¨ T2rdf® Q3µf‰R4æ:˜WPÆAaÆAG2lc˜[U1m vWpÆAÿÆAhG_5lcv[´G6T$v> êG7+=ÇAÇA H2lc[U5rd® YH1i<qW ÇAMÇA|Há5lcq[ÈH5rsq¨ ëH+p;`WPÇA2ÈAI€,A:`zZI.pd`bÉI,9ap%J*ç8cW/icWnJ*:dö/jde¤J8Ê<e€ÚJ/cfgftKp1éZ;@ÈAÉAYKs5rdZ® ¥K6µZ‰ÛK9cr]tL:L^ÈA0f^&h&];`f9³L&$&/;Àf&5lc$[!P5rd$® jPCA:&zÿPApd'bDrs(¨ v°~E¸ÊA@ÊA*Ð!&ÉFÊA@ÊA<ÔHQG´ÊAPg@ò%&¹&­&¢; g<Å‘Q<ÑíQ<ÜIR<ç•R<òS(ýHvÄ~Hvô~G`‡ÑAðgá‡"&}&r:Þ‡ÑA h&&û&ðG•GÌAPhóõ"&»&±&¦;h<Å`S?±GÌAÐh¼&×&Í&Â;i<ê©S(áGªËAPié0#>9T&/&$;i94W&/&$;Plpn^:$ºÖAÀn@&I&?&5;o(T<_¤^=›æÖA@oþÏ(&¬?›ºÖApoù&¬!â('W<*"lc'["di'·#A:'zAi)W)¼*p)Ü+ Apri,JAsec,J)Í:-P)ø=.VApd/\Avd0hBbadÖ%š)&¬%¥)&¬%Æ)& &'&&û&ð%Ñ)&¬%Ü)&¬%ý)&}&r'&&û&ð%*&¬%*&¬%*&¬%)*&¬%4*&¬'&¬M¸=U*"p‰15:ýzÐ×AßAÚ^-5lcý[&_5diþ·o_5szÿ-¸_69ÿ€Û_6^? (þ_6[;p!`CA:zj`BerrNbad„ÙAE}.ØA0ØA++&¥&š&:ë(wØA o&)&)&ý(;Ðo<) `())(5)(A)(M)(Y)(e)(q)(|)I‡)ÙAE<*zÙA„ÙAÞ³+&J*E<*iÙAsÙAÝÕ+&J*E<*XÙAbÙAÜ÷+&J*E<*GÙAQÙAÛ,&J*E<*6ÙA@ÙAÚ;,&J*E<*%ÙA/ÙAÙ],&J*E<*þÙAÚAH,&J*E`uÝA†ÝA˜Î,&}&rLÞuÝA†ÝA&&û&ð:ï†ÝAp²& &:Þ†ÝA0p&&û&ð 1T *‰ßA$àAa-5lc*[[a5di*·¤a5sz+-ía69+€6b6^?+ (bCA:-zÈb!:"YW'.#A:Yz"rdY® Apd[bAi\W%ü-&×&Í&Â'(á(ê%.&9&/&$'(B'&É'(Ô1¿ jW0àAâAc_05posjà]c5newjà“cC:l® ¶cCi;l® ìcG-VàA`pnw/&»-&¯-;p<Æ-"d<Ñ-~dE±ÕàAáA^/&Í&Â&×FÕàAáA<á´d(êG¨àAÀp^L/>9êd&/&$;ðp9/f&/&$;r âAWäAÅjQ'idSÇint©²‹;Â^”Ž^‘Zž‘´HeÜÓB€ ÅW_¤ü1-Š 24 4;â8B [Ø-Ê ³IW# !‹# ‹# ª‹# ¦‹# Ò‹#( ô‹#0 _‹#8 =‹#@ >‹#H ‹#P ¸ ‹#X ˆ"#` $#h &W#p ˆ*W#t O,p#x ž04#€ y1I#‚ D2#ƒ ‚6$#ˆ 9?{# ØH‰#˜ ßI‰#  BJ‰#¨ îK‰#° õL®#¸ £JNW#À P*#Ä P´ —º  P»# ¼# :ÀW#Ñþ ‘$†Ê ‘:† š c ¡P c# û c#: ` „  ‹# s É  ˜# 5" m# ë „#  ‰#WÞÞgä± g ¿ eË#cmd f‹#( Õ ij#0 ® sz#° : u‹#ð 5" vŠ#ø ¤J x£#€ 2 |S#ˆiÉ„Þgs SË /P T;# K U;# G V;# ½7 W˜# »( P ¸ Q˜# Ò R˜#v XŠ# ]*str ^˜u64 _óu32 `ó Ñ [Sopt \W#arg a# zj „ {˜# *z† :І„ S( uÕ ñ v:# 2 x‹# {F y‹# ´ zó# Ò= ]" >4 ^è#crc _è# !A `"# ‰9 a2# þ; bè#( cè#, Q; dÒ#0 ì8 eÒ#1 H< fÒ#2 `= gB#3 8 hó#` < ió#h n9 jÒ#p j= kR#q t8 lè#t ü9 mó#x Ö9 nÝ#€ 0< oÝ#‚ À; pÝ#„ : qÝ#† F: rÝ#ˆ t= sb#Š = tè#À ç= uè#Ä ,; vè#È ¼9 wè#Ì »: xè#Ð å; yè#Ô ; zè#Ø ‚: {è#Ü ù8 |è#à < }è#ä „; ~è#è ô: è#ì ¢; €è#ð Þ= è#ô  9 ‚è#ø …8 ƒè#ü ~= „r#€ Ò2† ÒB† ÒR†, Òb† Òr†5 Ò‚†ÿ>= ˆ >4 ‰è#crc Šè# !A ‹"# F; ŒÝ# c9 Ý#" ”; ŽÝ#$ ®9 Ý#& `= "#( g8 ‘ #@ Ò †¿È8 • >4 –è#crc —è# !A ˜"# ”: ™è# t< šÒ#$ n: ›Ò#% ÿ< œ #& Y$ ­ #F Ò­ † Ò¾ †¹ I8@ ¡ >4 ¢è#crc £è# Û: ¤Ý# Ë9 ¥Ý# `= ¦ # Ò! †3 =@ ¬ !A ­"# ”: ®è# E& ¯Ý# œ) °Ý# Ü ±ó# d: ² #( j= ³  #: Ò  † Ò° † þ=@ · >4 ¸è#crc ¹è# Û: ºÝ# Ë9 »Ý# `= ¼ # @9@ Á€ !A Â"# Y= ÃÝ# `= ÄÝ# E& Åè# œ) ÆÒ# £= ÇÒ#! j= È€ #"  É #0 Ò † Ò  †P9 ÍÉ >4 Îè#crc Ïè# !A Ð"# Ñè# þ; Òè#$ Y$ Ó"#( ; ÔÝ#@ ± ÕÒ#B P ÖÒ#C Z< ×Ò#D Ü< ØÒ#E ¯8 ÙÒ#F ¢< ÚÒ#G ´ Ûó#H Ü Üó#P `= Ýó#X )? ÞÉ #` ¿' ßó#€ ¢8 àÒ#ˆ j= âÙ #‰ èÙ † Òê †vA:` ûÓ „< üÛ# Ï; ýó#€ Ý; ÿÓ #ˆ ô; ÿÓ # C= Ù #˜ Í8 ß #  ®= å #¨pds ë #° æ9 ñ #¸vds ÷ #Àcfg ý #È ð9 W#Ð K= W#Ô Z8 W#ØÛ‚ ¾ ! °    :>-+vd.P# B?0P#WJÞÕJWê +$!¹qx!¹x>&ó âAAâA¿fºA:&JUœJ(óQh)Ó N>:ÝPâAyâA gøA::JUh<Ó Q%>GW€âAäAWg© lcGÞ£g diGÕìg!(,H©[h!A:IJ~h!K=IWÚh"iK;Ii#ç8K;"xLè’i$VFãAiãAQ%gh>WäAWäAjý lcÞMj!A:JpjptrýÒ&I‘&’&I‘&’'kX–> `äAléA‘lQ'idSÇint©²‹;Â^”Ž^‘Zž‘´HeÜÓB_¤ü1-Š 24 4;â8B [Ø-¿ ³IW# !‹# ‹# ª‹# ¦‹# Ò‹#( ô‹#0 _‹#8 =‹#@ >‹#H ‹#P ¸ ‹#X ˆ"ý#` $#h &W#p ˆ*W#t O,p#x ž04#€ y1I#‚ D2 #ƒ ‚6#ˆ 9?{# ØH‰#˜ ßI‰#  BJ‰#¨ îK‰#° õL®#¸ £JNW#À P#Ä P´ —ºý  P»ý# ¼# :ÀW#Æó ‘†¿ ‘/† šX ¡PX# ûX#/ ` y  ‹# s ¾  ˜# 5" b# ë y#  ‰#WÓÓ\Ù± \ ¿ eÀ#cmd f‹#( Õ i_#0 ® so#° : u‹#ð 5" v#ø ¤J x£#€ 2 |H#ˆ^¾yÓ\h SÀ /P T;# K U;# G V;# ½7 W˜# »( Põ ¸ Q˜# Ò R˜#v X# ]str ^˜u64 _èu32 `è Ñ [Hopt \W#arg aõ# z_ „ {˜# o† /†y- S( uÐ ñ v/# 2 x‹# {F y‹# ´ zè# ‹Ò= ] >4 ^Ý#crc _Ý# !A `# ‰9 a-# þ; bÝ#( cÝ#, Q; dÇ#0 ì8 eÇ#1 H< fÇ#2 `= g=#3 8 hè#` < iè#h n9 jÇ#p j= kM#q t8 lÝ#t ü9 mè#x Ö9 nÒ#€ 0< oÒ#‚ À; pÒ#„ : qÒ#† F: rÒ#ˆ t= s]#Š = tÝ#À ç= uÝ#Ä ,; vÝ#È ¼9 wÝ#Ì »: xÝ#Ð å; yÝ#Ô ; zÝ#Ø ‚: {Ý#Ü ù8 |Ý#à < }Ý#ä „; ~Ý#è ô: Ý#ì ¢; €Ý#ð Þ= Ý#ô  9 ‚Ý#ø …8 ƒÝ#ü ~= „m#€ Ç-† Ç=† ÇM†, Ç]† Çm†5 Ç}†ÿ>= ˆ >4 ‰Ý#crc ŠÝ# !A ‹# F; ŒÒ# c9 Ò#" ”; ŽÒ#$ ®9 Ò#& `= #( g8 ‘ #@ Ç †¿È8 •˜ >4 –Ý#crc —Ý# !A ˜# ”: ™Ý# t< šÇ#$ n: ›Ç#% ÿ< œ˜ #& Y$ ¨ #F Ǩ † ǹ †¹ I8@ ¡ >4 ¢Ý#crc £Ý# Û: ¤Ò# Ë9 ¥Ò# `= ¦ # Ç †3 =@ ¬‹ !A ­# ”: ®Ý# E& ¯Ò# œ) °Ò# Ü ±è# d: ²‹ #( j= ³› #: Ç› † Ç« † þ=@ ·þ >4 ¸Ý#crc ¹Ý# Û: ºÒ# Ë9 »Ò# `= ¼ # @9@ Á{ !A Â# Y= ÃÒ# `= ÄÒ# E& ÅÝ# œ) ÆÇ# £= ÇÇ#! j= È{ #"  É‹ #0 Ç‹ † Ç› †P9 ÍÄ >4 ÎÝ#crc ÏÝ# !A Ð# ÑÝ# þ; ÒÝ#$ Y$ Ó#( ; ÔÒ#@ ± ÕÇ#B P ÖÇ#C Z< ×Ç#D Ü< ØÇ#E ¯8 ÙÇ#F ¢< ÚÇ#G ´ Ûè#H Ü Üè#P `= Ýè#X )? ÞÄ #` ¿' ßè#€ ¢8 àÇ#ˆ j= âÔ #‰ ÝÔ † Çå †v =? ç !A è# ÷> éÒ# Y$ ê› # H? î§ >4 ïÝ#crc ðÝ# ñÝ# Y$ ò§ # E& óÇ# %? ôÒ# ‡? õÒ# `= ö-# )? ÷· # Ç· † å Æ †A:` û¯ „< üÖ# Ï; ýè#€ Ý; ÿ¯#ˆ ô; ÿ¯# C= µ#˜ Í8 »#  ®= Á#¨pds Ç#° æ9 Í#¸vds Ó#Àcfg Ù#È ð9 W#Ð K= W#Ô Z8 W#ØÖ} ¹  « þ › :> -vd .,# B? 0,#W&ÓÐ&WÆ  Z? CupD‰#crcEu# ÜF®# ¸G˜#ݬ>®”>Ø>c?Õ’?unew!Wc$Ýn$Ýk$Ý crc5ÝE!crc5Ý!buf5…!len5Wn7W"’?8E#¡$¬  ¾r%¸%Á%Ê ÝU†ÿ&{?X®rA:X&&µ>¢W®!lc¢Ó!di¢ÐA:¢&"ð¤ß&è>sWê!lcsÓ!disÐA:s&"ðuß'r?LÝ`äAåA“jß(lcLÓßj(ciLßk)ß>NÝY*retNÝKk+ÕyäA rQ#ü#ñ#æ,Ðr%$ `ãr+”yäAs:-¡nk,0s$¬  ¾r.†äAÙäA/¸¤k/ÊÚk%Á2'‡>lW åAyåAl^(lclÓ\l(dilÐl0A:l&¢l(idxlWÅl*rlÙèl1cil2‘@'?mW€åAÙåA m×(lcmÓWm(dimÐzm0A:m&m(idxmWÀm*rm×ãm1cim2‘@ '3?€WàåAmæAn;(lc€ÓRn(di€Ðˆn(ci€ß¾n2u?‚Ýôn' ?WpæA¾æA*o´(lcÓvo(diЙo0A:&¼o(idxWßo*r×p1ci2‘P'0?œWÀæAçA%p-(lcœÓqp(diœÐ”p0A:œ&·p(idxœWÚp*rœÙýp1ciœ2‘P'Ï>°WçADéA qT(lc°Ólq(di°Ðµq0A:±&Øq0E&±{!r*ret³WDr*crc´Ýzr)Ó>µT‘ð}*cËßÖr3®»èAÜèAÙ#Ó#É#¿.»èAÜèA$Þ 0¾r4réA?éAØ#—##ƒ.éA?éA$¢‘° 2d†5Ã>æPéA_éA s«6lcæÓU6diæÐT7A:ç&Q8œ?ÞW`éAléAXsö6lcÞÓU6diÞÐT7A:ß&Q9I‘9’9I‘9’ËK[m@ péAõøAŠnQ'idSÇint©²‹;Â^”Ž^‘Zž‘´HeÜÓB‹ ÄP€ ÅW_¤ü1-Š 24 4;â8B [Ø-Õ ³IW# !‹# ‹# ª‹# ¦‹# Ò‹#( ô‹#0 _‹#8 =‹#@ >‹#H ‹#P ¸ ‹#X ˆ"#` $#h &W#p ˆ*W#t O,p#x ž04#€ y1I#‚ D2#ƒ ‚6/#ˆ 9?{# ØH‰#˜ ßI‰#  BJ‰#¨ îK‰#° õL®#¸ £JNW#À P5#Ä P´ —º  P»# ¼# :ÀW#Ü  ‘/†Õ ‘E† š n ¡P n# û n#E `   ‹# s Ô  ˜# 5" x# ë #  ‰#Wéérï± r ¿ eÖ#cmd f‹#( Õ iu#0 ® s…#° : u‹#ð 5" v•#ø ¤J x£#€ 2 |^#ˆtÔér~ SÖ /P T;# K U;# G V;# ½7 W˜# »( P  ¸ Q˜# Ò R˜#v X•# ]5str ^˜u64 _þu32 `þ Ñ [^opt \W#arg a # zu „ {˜# 5…† E•† S( uà ñ vE# 2 x‹# {F y‹# ´ zþ# ›Ò= ]- >4 ^ó#crc _ó# !A `-# ‰9 a=# þ; bó#( có#, Q; dÝ#0 ì8 eÝ#1 H< fÝ#2 `= gM#3 8 hþ#` < iþ#h n9 jÝ#p j= k]#q t8 ló#t ü9 mþ#x Ö9 nè#€ 0< oè#‚ À; pè#„ : qè#† F: rè#ˆ t= sm#Š = tó#À ç= uó#Ä ,; vó#È ¼9 wó#Ì »: xó#Ð å; yó#Ô ; zó#Ø ‚: {ó#Ü ù8 |ó#à < }ó#ä „; ~ó#è ô: ó#ì ¢; €ó#ð Þ= ó#ô  9 ‚ó#ø …8 ƒó#ü ~= „}#€ Ý=† ÝM† Ý]†, Ým† Ý}†5 ݆ÿ>= ˆ >4 ‰ó#crc Šó# !A ‹-# F; Œè# c9 è#" ”; Žè#$ ®9 è#& `= -#( g8 ‘ #@ Ý* †¿È8 •¨ >4 –ó#crc —ó# !A ˜-# ”: ™ó# t< šÝ#$ n: ›Ý#% ÿ< œ¨ #& Y$ ¸ #F ݸ † ÝÉ †¹ I8@ ¡ >4 ¢ó#crc £ó# Û: ¤è# Ë9 ¥è# `= ¦ # Ý, †3 =@ ¬› !A ­-# ”: ®ó# E& ¯è# œ) °è# Ü ±þ# d: ²› #( j= ³« #: Ý« † Ý» † þ=@ · >4 ¸ó#crc ¹ó# Û: ºè# Ë9 »è# `= ¼ # @9@ Á‹ !A Â-# Y= Ãè# `= Äè# E& Åó# œ) ÆÝ# £= ÇÝ#! j= È‹ #"  É› #0 Ý› † Ý« †P9 ÍÔ >4 Îó#crc Ïó# !A Ð-# Ñó# þ; Òó#$ Y$ Ó-#( ; Ôè#@ ± ÕÝ#B P ÖÝ#C Z< ×Ý#D Ü< ØÝ#E ¯8 ÙÝ#F ¢< ÚÝ#G ´ Ûþ#H Ü Üþ#P `= Ýþ#X )? ÞÔ #` ¿' ßþ#€ ¢8 àÝ#ˆ j= âä #‰ óä † Ýõ †v =? ç, !A è-# ÷> éè# Y$ ê« # H? î· >4 ïó#crc ðó# ñó# Y$ ò· # E& óÝ# %? ôè# ‡? õè# `= ö=# )? ÷Ç # ÝÇ † õ Ö †A:` û¿ „< üæ# Ï; ýþ#€ Ý; ÿ¿#ˆ ô; ÿ¿# C= Å#˜ Í8 Ë#  ®= Ñ#¨pds ×#° æ9 Ý#¸vds ã#Àcfg é#È ð9 W#Ð K= W#Ô Z8 W#Øæ* É , »  « :>-vd.<# B?0<#W6éà6WÖ $!Ä]x!Ä *¹xx*¹°?>péAèéA¤s´A:>6Uhdr>ÅT¤@MðéA~êAðsðA:M6UhdrMËT @Y€êAîêA‹#H ‹#P ¸ ‹#X ˆ"Y#` $_#h &W#p ˆ*W#t O,p#x ž04#€ y1I#‚ D2e#ƒ ‚6u#ˆ 9?{# ØH‰#˜ ßI‰#  BJ‰#¨ îK‰#° õL #¸ £JNW#À P{#Ä P´ —ºY P»Y# ¼_#:ÀW#"O‘u†‘‹† š´¡P´#û´#‹ ` Õ ‹# s  ô#5" ¾#ë Õ# ‰#W//¸5± ¸¿ e#cmd f‹#(Õ i»#0® sË#°: u‹#ð5" vÛ#ø¤J xÿ#€2 |¤#ˆºÕ/¸Ä S/P T;#K U;#G V;#½7 Wô# »( PQ¸ Qô#Ò Rô#v XÛ# ]{str ^ôu64 _Du32 `D Ñ [¤opt \W#arg aQ# z»„ {ô#{ˆ‹Û†Õ S( u&ñ v‹#2 x‹#{F y‹#´ zD# áÒ= ]s>4 ^9#crc _9#!A `s#‰9 aƒ# þ; b9#( c9#,Q; d##0ì8 e##1H< f##2`= g“#38 hD#`< iD#hn9 j##pj= k£#qt8 l9#tü9 mD#xÖ9 n.#€0< o.#‚À; p.#„: q.#†F: r.#ˆt= s³#Š= t9#Àç= u9#Ä,; v9#ȼ9 w9#Ì»: x9#Ðå; y9#Ô; z9#Ø‚: {9#Üù8 |9#à< }9#ä„; ~9#èô: 9#ì¢; €9#ðÞ= 9#ô 9 ‚9#ø…8 ƒ9#ü~= „Ã#€#ƒ†#“†#£†,#³†#Æ5#Ó†ÿ>= ˆ_ >4 ‰9#crc Š9#!A ‹s#F; Œ.# c9 .#"”; Ž.#$®9 .#&`= s#(g8 ‘_ #@#p †¿È8 •î >4 –9#crc —9#!A ˜s#”: ™9# t< š##$n: ›##%ÿ< œî #&Y$ þ #F#þ †# †¹ I8@ ¡b >4 ¢9#crc £9#Û: ¤.#Ë9 ¥.# `= ¦b # #r †3 =@ ¬á !A ­s#”: ®9#E& ¯.#œ) °.#Ü ±D# d: ²á #(j= ³ñ #:#ñ †# † þ=@ ·T >4 ¸9#crc ¹9#Û: º.#Ë9 ».# `= ¼b # @9@ ÁÑ !A Âs#Y= Ã.#`= Ä.#E& Å9#œ) Æ## £= Ç##!j= ÈÑ #" Éá #0#á † #ñ †P9 Í >4 Î9#crc Ï9#!A Ðs# Ñ9# þ; Ò9#$Y$ Ós#(; Ô.#@± Õ##BP Ö##CZ< ×##DÜ< Ø##E¯8 Ù##F¢< Ú##G´ ÛD#HÜ ÜD#P`= ÝD#X)? Þ #`¿' ßD#€¢8 à##ˆj= â* #‰9* †#; †v =? çr !A ès#÷> é.#Y$ êñ # H? îý >4 ï9#crc ð9# ñ9#Y$ òý # E& ó##%? ô.#‡? õ.#`= öƒ#)? ÷ # # †; †A:` û„< ü,#Ï; ýD#€Ý; ÿ#ˆô; ÿ# C=  #˜ Í8 #  ®= #¨pds #° æ9 ##¸vds )#Àcfg /#È ð9 W#Ð K= W#Ô Z8 W#Ø,Óp  r  T ñ :> -]vd .‚#B? 0‚#W|/&|W]·@9Àlc9/di9&A::|(,:ôÀ@ý lc/ di&!A:|"ð5#A ùA‡úA$|~$lc /p|% ô¹|%9!;Ü|%|O!‰ÿ|$len!;"}&p#‹'i$Wk}#{ADúABŽ}»$lcD/Ú}$dhD#~(oAêW B”Bl~5$lcê/¸~$diê&î~%A:ë|$idxëW4'iíWW'shî5 r ë@p]lcp/dap `A€lc€/fg€ø@Œ¡lcŒ/pdŒ‡A–Ãlc–/pd–Ô@¢ålc¢/vd¢#&A¬lc¬/vd¬))A B¥ Bþ*lc/€*di&E€+A:|h€+(,ôž€,iWÁ€-ˆ¡B`s¢.´.©.Ÿ.•/;pBBÉ.R.H/]BfBð.t.j/mBo B.–.Œ-¡š B s:.¸.®/Ãú Bü Ba.Ú.Ð-å" BÐs„.ü.ò0À{ Bt!.ä.Ù.Î1@t2ð P¾r(MA¸W° BâBä€`$lc¸/0$di¸&Œ$ddf¹|¯$idx¹Wå'i»W‚'x¼.>‚3:½`4Ê<¾f‡‚'cfg¿/½‚9D5I‘_5’_5I‘_5’_K`”B ðB[BuQ'idSÇint©²‹;Â^”Ž^‘Zž‘´HeÜÓBýÃI‹ ÄP€ ÅWãÆ^_¤ü1-Š 24 4;â8B [Ø-ë ³IW# !‹# ‹# ª‹# ¦‹# Ò‹#( ô‹#0 _‹#8 =‹#@ >‹#H ‹#P ¸ ‹#X ˆ")#` $/#h &W#p ˆ*W#t O,p#x ž04#€ y1I#‚ D25#ƒ ‚6E#ˆ 9?{# ØH‰#˜ ßI‰#  BJ‰#¨ îK‰#° õL®#¸ £JNW#À PK#Ä P´ —º)  P»)# ¼/# :ÀW#ò ‘E†ë ‘[† š„ ¡P„# û„#[ ` ¥  ‹# s ê  ˜# 5" Ž# ë ¥#  ‰#Wÿÿˆ± ˆ ¿ eŠ#cmd f‹#( Õ i)#0 ® s9#° : u‹#ð 5" vI#ø ¤J x£#€ 2 |#ˆŠê¥ÿˆ”« Ö¿¸LÊ” !I‚àlÃk[blË ˆ » Ã Õ Nä SŠ /P T;# K U;# G V;# ½7 W˜# »( P¿ ¸ Q˜# Ò R˜#v XI# ]éstr ^˜u64 _u32 ` Ñ [opt \W#arg a¿# z) „ {˜# é9† [I†¥E& ±:/“£ß EÀs€¸€W€}€€a€ ( Kð‘MXd À=€  o õ2 S( uN ñ v[# 2 x‹# {F y‹# ´ z# ´ ~… 9 # Ü €®# Ë ‰# £¯ptr ¤‰n32 ¥ n64 ¦ h Šc ñ ‹[# ö Œ[#  Ž‹# di ‘c#(fmt ’: #0 ( ”±#8 E& •O#< 9 —#@ ´ ˜#H b š;#P ´ ›@ #X  §…#`  ® p ’:  o˜# A p˜# ƒ q˜# (9 r # 9= w, # = ~L #( ¥+ ƒg #0  ˆg #8 Ä< ‚ #@ n< “g #H , –­ #P É ³ #X Ñ ¢ #`log ¦Ê #hiN  °_ L( rX ¹ ñ º[# " Á[# ö Ë[# Í Ì;#0 Ç Í;#4  Ï‹#8 Ü Ñ#@ ‚4 Ò;#H E& ÓO#L  ÔF #P ( Õ±#Tó   ç  m  "T rs #T #rd $Z # à3 %#_ ¯K  )y ¢0 Û  .® rs /T #rd 0Z # N 1` # ¬: :Õ io <ð #rd ? #Wê ÿê  Õ W ÿ y ö Ñ E0 =  é  Ky ùe E ¸, ^ W – XÓ  ]î str ^‹ptr _‰i8 `¹i16 aÄi32 bÏi64 cÚu8 dóu16 eþu32 f u64 g â Z Ü [4# |O hy #Z , ÿc WL ÿZ W2 Wg ÿT R T ‚ ÿZ m W§ ÿ0 § ‰î ˆ ® Ê ÿZ ¹ ä Çþ ptr ȉu32 É u64 Êchs 5 Ÿ ó# à3 ó# ¨A ó# ÃA – ÓB ó# ÜB !þ # E& "ó# B (þ # œJ ) # ~8 * # dos -Ð žA .Ð # C /á #¾ 0% 0þ#þ óá †½ 5 ñ †…B{]B{9{ÃA5 ãA›WY lc›ÿ rd›Z à3›!tˆ new„û„¡P„æBàW® pà®ÆBà5 :BrWÑaBr®"3,W©#lc,ÿ#rd,Z $ÆB,%i.;&B/&«B/&B0&´B0%dos1©&øA2®'b(Å'w(M(C(9'Œ(M(C(9'œ( ()(¢(™– *—ALWðB9Bó‚+lcLÿU+diLcT,×-L‰Q-dosN©.aBO®?ƒ/fB|W@BKBuƒS0lc|ÿU0rs|T T1$B’WPBaBÁƒ‡0lc’ÿU*®pBB „2lcÿY„2rdZ ¢„3*C4Å„2str‹…2len®W…3E&- ….³ ˜é…*'‹B©B†2lc'ÿk†2rd'Z ´†3aB(;ý†3E&(- ‡4len*®C‡4ret+‹f‡k‚T À lc‚ÿ rd‚Z -rs„T *±A©W°B)Bœ‡Z2lc©ÿè‡2rd©Z 1ˆ3]Bª®zˆ3à3ªÈ3aB«; ‰4r­Z /‰4rs®T f‰5ÀÏýB5ðAÍíB6ñ oBrBÀŒ( (7(rB€tó(M(C(97(ŒB°tÄÚ(M(C(97˜BàtÅ («(¡8 u9µœ‰7Y¹B`uÈ2(|(q(f:YóBBÉ(|(q(f*KBæW0BlBÒ‰~2lcæÿŠ2rdæZ gŠ3ÆBç°Š3´Bç~E‹3aBè;Ž‹4retêW±‹;ÂBë4dosì© Œ-p1í®-p2í®ñ åBëB( (*1BhZ pB»BCŒÅ2lchÿŒ2dihc²Œ/`žWÀBpBÕŒD?lcžÿ!?rdžZ W?diŸc@×-Ÿ‰Ã@^?ŸDù%dos¡©Ð AÑA]pBÁBŽ–2lc]ÿhŽ2di]cžŽ3×-]‰ÁŽ/{BfT ÐB[BäŽê?lcfÿ0?rdfZ ŒBÑÞBvu(î(ã8€v9èCC9'1D3vH9?ìCK(ù=´WBwTQ(Å=(IB0wLy(M(C(9Eñ :B<BC (( =ˆB`w=Ã(¢(™B(ÞBwK(M(C(9FI‘/F’/G(, x£r˜HpBi `¾rFI‘/F’/ æc^C `BYBxC!qop"q# #q#NC$q#|O%x#int$C˜1ÍœJ2Í#~83Í#pno4q#óB5Ô#VC7Ô#T¤çä ä? Z'QidSÇ© ²‹ü  ”Ž ç ´H ÜÓ ýà  ‹ Ä € Åq ãÆ_ • ç ü1õ Š 2î  4ü â8[Ø-’³Iq#!@#@#ª@#¦@# Ò@#(ô@#0_@#8=@#@>@#H@#P¸ @#Xˆ"Ð#` $Ö#h &q#pˆ*q#tO,*#xž0î#€y1 #‚D2Ü#ƒ‚6ì#ˆ9?5#ØHx#˜ßIx# BJx#¨îKx#°õLQ#¸£JNq#À Pò#ÄP´—ºÐ P»Ð# ¼Ö#:Àq# ™ Æçì ä ’ç äš +¡P +#û +# ` L @#s ‘ #5" 5#ë L# x#q¦¦/ ¬± /¿ e“#cmd f@#(Õ i2#0® sB#°: u@#ð5" vR#ø¤J xF#€2 |#ˆ 1 ‘L¦/ ; S“/P Tü#K Uü#G Vü#½7 W#»( Pȸ Q#Ò R#v XR# ]òstr ^u64 _»u32 `»Ñ [opt \q#arg aÈ# z2„ {#òB äR ä LE& º:/“£ß EÀs€¸€W€}€€a€ ( Kù‘MXd À=€S( u>ñ v#2 x@#{F y@#´ z»# ´ ~u9 »#Ü €Q#Ë x# £Ÿptr ¤xn32 ¥°n64 ¦»h ŠSñ ‹#ö Œ# Ž@# di ‘S#(fmt ’* #0( ”º#8E& •X#<9 —»#@´ ˜»#Hb šü#P´ ›0 #X §u#` ù® p ’*  o#A p#ƒ q#(9 rö #9= w # = ~< #(¥+ ƒW #0 ˆW #8Ä< r #@n< “W #H, – #PÉ £ #XÑ ¢ #`log ¦º #h Y >  °O L(rX ¹ö ñ º#" Á#ö Ë# Í Ìü#0Ç Íü#4 Ï@#8Ü Ñ»#@‚4 Òü#HE& ÓX#L Ô6 #P( Õº#Tó   ç m  "D rs #D #rd $J #à3 %»# O ŸK  )i ¢0Û  .ž rs /D #rd 0J #N 1P #¬: :Å io <à #rd ? #qÚ ¦Ú  Å qû ¦û i æ Ñ E =  é  Ki ùe E ¸, ^ W – XÓ  ]Þ str ^@ptr _xi8 `\i16 agi32 bri64 c}u8 dšu16 e¥u32 f°u64 g»â Z Ü [î#|O hi #J  ¦S  q< ¦J q " qW ¦D B D r ¦J ] q— ¦ — x Þ x ž º ¦J © 4Cq lc¦rsD rdJ aBzio-fdqûB/q`BYB5‘Ü lc/¦‘v/xÝ‘ ; /q&’!£ 1D o’"rs1D ¥’#À ÈBYB:$Û $Ñ %ÈBYB&å s“'ï ‘€~'ú ‘ (ðw& ©“)I‘Ö)’Ö)I‘Ö)’Ö0ÜeHD `Bô(B¥yQ'idSÇint©Ä†BV‡;7ˆ;%‰B²‹; ŒBÂ^”Ž^F•^פ^F©^éZ5DD ã#Hã#P¸ ã#Xˆ"ª#` $°#h &W#pˆ*W#tO,§#xž04#€y1I#‚D2¶#ƒ‚6Æ#ˆ9?²#ØHË#˜ßIË# BJË#¨îKË#°õLe#¸£JNW#À PÌ#Ä.D( 7¨ ~D 8ã# –C 9ã# ‰D :ã# D ;ã# ¤C {# k@W#$ -Be#( ªG§#0 KÍ#8 ~MØ#@ cXº#H lYº#X (Zº#h g<#x ^L ½S(u‘ ñvÜ# 2xã# {Fyã# ´za# LmD¯SGOLDxDÌWÛ0ÌVÌÛ]ÍDW lc€ fdW di‘bD©WC lc©€!2©ã"«ã#tr new!û!¡PÅCCã½ lcC€!2CV$retEã"DEã% Í ÅC éÍ ½ ½ &wCUW`BÔBß“? 'lcU€+”(2Uãt”)sW]‘Ð~*¯dB xY+Î+ D$㬠lc$€$ret'ã"žC(¬ "?)² ,"Í 3e"k 3e,"å3¸ "¯3WpG¾ --r àB• B½”f .ƒ •+ /˜ hçr/£ `çr/® @òN*? áB`xG+P 0Àx1Z R•1e ›•1p Ñ•0 y2| 2‡ 3±D½W  B"B–/ 'lc½€f–(‹G½ã¯–)ret¿Wv¼)bufÀ/ ‘°4Àãø–4ÈCÀãA—4’DÀãw—"†CÁV5f¬ ­—6 O  òN7outÜ…!B é? ½ éO ½? ¶CçWÓ lcç€ diç‘!2èV!èã$retêW$bufëÓ "’Dëã"ÂDìV$fí¬ % ó ¶C éã ½ éó ½ã DWO lc€ fdW di‘"VD;"ÜB,+ +ü+òÜC`Wà lc`€ di`‘!2`ã$retbW"{Fcã"Ocê"DdV$fe¬ % Ó ÜC éÓ ½à 8¼CW"Bª'Bã—(9lc€/˜:2ãx˜:ã ™:BDW™;fd W]š;ret WÌš<‹G ã(›=di ‘v˜6 8 NòN>out#Ü#B? s"BPyÐ+, +" 0€y/7 v˜?ø <#B°y˜+ + + 00z1' ^›12 Ò›@á‹#B°z¤5+ +ü+ò*O ¡%Bàz¡+t +j +` 00{1 mœ1Š ïœ/• ‘2  1« K/´ pòN?C ¬#B€{À+f +[ +P AT 0$BÀ{+„ +y +o +e 0|/ v”/š ‘1¥ §2° 1» ž/Ä WòN é8 ½(BïC1W°'Bô(B˜ží9lc1€äž:­C1í-ŸoutR:(BãTðCI‘°C’°CI‘°C’°¿ Zi¹E )B8+B·|ÜÓ8d'intV[ZQiSÇ©²‹iÂ~”Ž~I¶ ? [´H…_¤ [Ø-£ ³II# !¸# ¸# ª¸# ¦¸# Ò¸#( ô¸#0 _¸#8 =¸#@ >¸#H ¸#P ¸ ¸#X ˆ"á#` $ç#h &I#p ˆ*I#t O,#x ž0B#€ y1p#‚ D2í#ƒ ‚6ý#ˆ 9?›# ØH¶#˜ ßI¶#  BJ¶#¨ îK¶#° õL-#¸ £JNI#À P#Ä P´ —ºá P»á# ¼ç#:ÀI#ª×[ý ?£[ ? QEX,T,E-I#E.I#ÕE/b#E0b# ‰E1B# F2i# F3¶#[E5T#sbp6T# E7i#( 8i#,ÝE9I#0ÇE:¶#8(;b#@Fb#C÷D?B#D E@B#FÏEAI#HjEBi#L^?Ci#Pb §/ e×O(gI#t4hI#B-jI#lunkI# Ë/mI#°)ow#Ü+qw# s¦#â88 š  ¡P  #û  #â ` , ¸# s q P#5" #ë ,# ¶#I††Œ± ¿ es#cmd f¸#(Õ i#0® s"#°: u¸#ð5" v2#ø¤J x¾#€2 |û#ˆq,† Ss/P Ti#K Ui#G Vi#½7 WP# »( P¨¸ QP#Ò RP#v X2# ]Òstr ^Pu64 _×u32 `× Ñ [ûopt \I#arg a¨# z„ {P#Ò" ?â2 ?, S( u}ñ vâ#2 x¸#{F y¸#´ z×# 8mD ›SGOLDIE¿cmdTlen-'FyI)BV)B½ Vlcy† ¡fdyI,¡ž-yVb¡ret{I˜¡ ýE}GßD~I#sEI#lun€‘PZ ëDCI`)B¡)BΡÔfdCI¢#ECT=¢ðEC-`¢!iEÔ"›n)B@|I#³#¨i9ERI°)B¶*Bƒ¢¼ lcR†Ï¢fdRI£diR}a£E&Sƒª£retUIÍ£$3FV-O¤$#EWT˜¤\Š åE]Ö #œJ^i#%E_Ü ‘ pbì Τ&€|$w-i-¥IÖ IT-¼ e ì ?e ®E*IÀ*B8+B:¥~ fd*I†¥#E*T¼¥ðE*-ߥcmd,~ ‘`%TE-‘€"›Õ*B°|/#³#¨bŽ ?'I‘ç'’ç'I‘ç'’ç VkIF @+Bè,B“~Q'idSÇint©²‹;Â^”Ž^‘Zž‘´HeÜÓBýÃI‹ ÄP€ ÅWãÆ^_¤ü1-Š 24 4;â8B [Ø-ë ³IW# !‹# ‹# ª‹# ¦‹# Ò‹#( ô‹#0 _‹#8 =‹#@ >‹#H ‹#P ¸ ‹#X ˆ")#` $/#h &W#p ˆ*W#t O,p#x ž04#€ y1I#‚ D25#ƒ ‚6E#ˆ 9?{# ØH‰#˜ ßI‰#  BJ‰#¨ îK‰#° õL®#¸ £JNW#À PK#Ä P´ —º)  P»)# ¼/# :ÀW#ò ‘E†ë ‘[† š„ ¡P„# û„#[ ` ¥  ‹# s ê  ˜# 5" Ž# ë ¥#  ‰#Wÿÿˆ± ˆ ¿ eì#cmd f‹#( Õ i‹#0 ® s›#° : u‹#ð 5" v«#ø ¤J x£#€ 2 |t#ˆŠê¥ÿˆ” Sì /P T;# K U;# G V;# ½7 W˜# »( P! ¸ Q˜# Ò R˜#v X«# ]Kstr ^˜u64 _u32 ` Ñ [topt \W#arg a!# z‹ „ {˜# K›† [«†¥E& :/“£ß EÀs€¸€W€}€€a€ ( KR‘MXd À=€ S( u— ñ v[# 2 x‹# {F y‹# ´ z# ´ ~Î 9 # Ü €®# Ë ‰# £øptr ¤‰n32 ¥ n64 ¦ h Ь ñ ‹[# ö Œ[#  Ž‹# di ‘¬#(fmt ’ƒ#0 ( ”#8 E& •±#< 9 —#@ ´ ˜#H b š;#P ´ ›‰#X  §Î#`R ® p ’ƒ  o˜# A p˜# ƒ q˜# (9 rO # 9= wu # = ~• #( ¥+ ƒ° #0  ˆ° #8 Ä< Ë #@ n< “° #H , –ö #P É ü #X Ñ ¢` #`log ¦ #h²—  °¨L( rX ¹O ñ º[# " Á[# ö Ë[# Í Ì;#0 Ç Í;#4  Ï‹#8 Ü Ñ#@ ‚4 Ò;#H E& Ó±#L  Ô#P ( Õ#Tó h  ç  m  " rs # #rd $£ # à3 %#¨øK  ) ¢0 Û  .÷ rs / #rd 0£ # N 1© # ¬: : io <9 #rd ?Z #W3 ÿ3 h  WT ÿT  ? Ñ Ey =  é  K ùe E ¸, ^ W – XÓ  ]7 str ^‹ptr _‰i8 `¹i16 aÄi32 bÏi64 cÚu8 dóu16 eþu32 f u64 g â Z` Ü [4# |O h #£ u ÿ¬` W• ÿ£ W{ W° ÿ ›  Ë ÿ£ ¶ Wð ÿy ð ‰7 Ñ ÷  ÿ£   \ E•ùǸ'®15 WH Ö ø [# E& ! #rs $ #rd %£ # 9 '#( ~8 (#0di *¬#8  ,‹#@\F @+BŸ+B¦3 lc ÿa¦log „„¦pos„ͦtmp„§>FW +Bè,Br§Á lcÿ¾§log„¨dFWP¨retW¬¨dÁ â¨rd£  ×  óN\ ‘× † Ç I‘/ ’/ I‘/ ’/Î÷l«F ð,B—-B€ÜÓ8d'Nint[`ZQiSÇ©²‹nƒ”Žƒ` gà ?´HŠ_¤ [Ø-¨ ³IN# !­# ­# ª­# ¦­# Ò­#( ô­#0 _­#8 =­#@ >­#H ­#P ¸ ­#X ˆ"æ#` $ì#h &N#p ˆ*N#t O,•#x ž0B#€ y1u#‚ D2ò#ƒ ‚6#ˆ 9? # ØH«#˜ ßI«#  BJ«#¨ îK«#° õL-#¸ £JNN#À P#Ä P´ —ºæ P»æ# ¼ì#:ÀN#¯Ü ` ?¨ ` ?g g. ? g> ?' BN ?â88 š‚¡P‚#û‚#Y ` £ ­# s è U#5" Œ#ë £# «#Nýý†± †¿ eê#cmd f­#(Õ i‰#0® s™#°: u­#ð5" v©#ø¤J xÃ#€2 |r#ˆˆè£ý†’ Sê/P Tn#K Un#G Vn#½7 WU# »( P¸ QU#Ò RU#v X©# ]Istr ^Uu64 _Nu32 `N Ñ [ropt \N#arg a# z‰„ {U# I™ ? Y© ?£ S( uôñ vY#2 x­#{F y­#´ zN# ¯‚F ã; ã#{F #b& >#(ÑF ³#.üF .#6š0 ó#^ØF B# ÃF B#¢F B#¤F B#¦G B#¨G B#ª¡0 B#¬æF B#®¨0 #° Bó ? B ? B ?§sFNð,B—-B©—lcýd©fdN­©diôö©retN?ª¸FIbufuªòF—úI‘ì’ìI‘ì’ìÖMn\IIQJ -BDB`SÇ€ 'Fint©Q' 4miâ8dç+‘¤¡¡é ®m# ¸m# Ðé# Âé# îi†Ä†V‡m7ˆm%‰²‹m ŒÂM”ŽMF•MפMF©M uZÆ>ö9C ´H"XRÜ Ö zÜ ë {N# û |M#_¤ ð u[Ø -Á ³I F# ! o#  o# ª o# ¦ o# Ò o#( ô o#0 _ o#8 = o#@ > o#H  o#P ¸ o#X ˆ "ÿ#`  $#h  &F#p ˆ *F#t O ,8#x ž 0[#€ y 1-#‚ D 2 #ƒ ‚ 6#ˆ 9 ?C# Ø Hé#˜ ß Ié#  B Jé#¨ î Ké#° õ L¨#¸ £J NF#À  P!#ÄP ´— ºÿ  P »ÿ#  ¼# : ÀF# È õu¡ Áu1¡0J .< B^FêFê :Ùt ¼  ÷ ú ß  ß w ¡  + J 5 sY , D È bé¡ byD,Î e-ö# ?2# ò:-# ²;"# ˆ=# ^> # k@F#$ -Bö#( ªG8#0 KY#8 ~Md#@ cX³#H lY³#X (Z³#h gÎ#xMÞ¡ÌJ(1 œJt# ~8t# E&o# 7Io# ¡P1# Þ1Tv42 v13rL8  ¿vÙ# Hwb# —Jzb# }b# 7N~;#  b# #N€b# :Jb#$devƒt#( …¨#0 ¯ †¸#° |OˆÈ#± TSH P Z} E&#F# 9O$o# Ÿ&1# aK&1# î (F# #N)b#$ /P*F#( K+F#,uid,#0gid-‡#4 ¤J.’#8 8G/b#< ©I0b#@dmi47#H N5o#P ìM6o#X ÞO7o#` à38t#h ÿN9F#p 4N:F#t uN;F#x ¬OI°HîGèãÛIHÓ ñ}# E& # 9Oo# /Pb# Kb#$uid#(gid‡#, ¤J’#0 8G b#4 ©I b#8 ÃI o#@ ÎK Ó #Huâ ¡yDÄF 0ÃêÃ ï ºIN- !©M¢"TG` #pos` #ptr` #strê o v/ž !Ÿ.¢!©.¢$ÉGW `÷NÎHâFÖ 0áê¢Já"èGáö%ùI»F 9O¹ê8G¹b©Iºb&hH¼b"ƒIES &¸GF¢&óHF¢'nopGS ()!  *JL -BÂ-Bw† +fnK1U*øGTÐ-B×-Bw´ ,USFU-J¸Fà-Bé-Bwó +dmt·ó U,/P·FT -JI¿Fð-Bù-Bw8 +dmt¾ó U,K¾FT-'IÆF.B .Bww +dmtÅó U+uidÅT-éIÍF.B.Bw¶ +dmtÌó U+giḋT-jGÔF .B).Bwõ +dmtÓó U,¤JÓ’T.ÍI•ê0.B8.Bw/ŽH1@.BØ/B«ª 0U/Fäª0¿/êy«0,!0F«1f0êå«2ap2ë‘~3_G3F.¬4šIFà/B€0Bd¬Þ 5¡I~Ꜭ'len€¨&%Gê/„GY€0B1Bø¬,0OXo0­1lenX¨y­09OXê­6£H`F1BÅ1B ®¥59O_êl®72a¥‘Ð^7^?bï‘Ð~8â ,1BA1Bf) )õ u¶9¡ÿ6'H:FÐ1BR3Bµ®P5ÃI9êï®5£G9ê8¯7›H;¥‘À^7ëH<¥‘À¾7^?=ï‘À~8â 2B.2BB) )õ 6 IuF`3B 4B¯¥59Ot꺯:fdvFݯ72w¥‘à_4+G‚F4B›5B°59OêL°58Gé»°:rƒF±:fd„F`±;ùH…M©±6BJF 5Bt7Bá±¾5E& ’²59Oêݲ5/Pb9³5Kb¬³- ð|<B)S )G ); >- 0}=b)S )G ); >f p}?})~ )s ?ó6Bÿ6B«&Í &¨&k &¨@ À}')! 4úInF€7B8BÀµ59Olêùµ58GlbB¶5©Imb‹¶4¤HfF 8B8BÔ¶L59Oeê ·4(H^F8B9BV·“5ÃI]ê··5£G]êí·4ÁHUF9B×9B#¸59OSê\¸5/PSb’¸5KSbȸ °~NÅ)! @zà~K)ø)ì)à)Ô)È)¼)°)¤)˜)Œ@Ö @÷) )ô )è F€H ‘D@ÀÐ);)/F€DGGQ„¾D\AÀJÜFð?B?@Bº¾Ý1dmtÚó ò¾0œJÚt;¿0ÜÚtq¿0J Ûê§¿07IÛêÝ¿2tÝ1QAH©F@@BË@BÀ!1dmt¨ó 8À0¯ ¨êÀACG†FÐ@B BBÊÀå1dmt…ó Á0…êLÁIpos‡oJ2ˆ¥‘°]2st1‰ï‘À~2st2‰ï‘°}Kâ AABVAB–Â) )õ Lâ ZABoAB–) )õ A”Ghó BBÐBB•Á)0E&gFõÁMdmtió >Â4AH¯FÐBBtCB­Âž5¿®oåÂ5Ü®¨.Ã:dmt°ó wÃ:r±F­ÃNout¾CB4ÝGšF€CBúCBãÃ5™êÄ:dmt›ó dÄ:rœFšÄNout©¾CBAÔHbFDBDBÐÄG0¿aoÅ0Üa¨+ÅuW¡ GJÌI'¥ à¾rJH)F pçr7‡Iþ} ðÎrOI ‘O ’OcG “PÔII1 àÎr` r\IµQJ DBÔIB¤†SÇint©Q'idÂB”ŽB†ZÜÖ^_¤†¶ e¼ † [Ø- ³I;# !€# €# ª€# ¦€# Ò€#( ô€#0 _€#8 =€#@ >€#H €#P ¸ €#X ˆ"Ë#` $Ñ#h &;#p ˆ*;#t O,j#x ž0P#€ y1-#‚ D2×#ƒ ‚6ç#ˆ 9?u# ØHh#˜ ßIh#  BJh#¨ îKh#° õL#¸ £JN;#À Pí#Ä P´ —ºË P»Ë# ¼Ñ#:À;#”Á†ç e†ý e0J.*;¶;¶ >K8$˜û%˜#¡P%˜#~8&#id';#¿(¶# ,!);#(0%*h#0*-íèJ.W#÷J/W#ƒK0W#^:1W# ŽK1W#ÓJº; DBOEBNÅLtot»^ëÅmb¼˜!Æstr½¦‘°c¾WÆRKìhPEBžEBÆsêÅÆ¿ê¶ûÆ,!ë;1ÇK:h EBûFBgÇ%s9ÇÇ¿9¶È,!9;YÈnb;˜•K<€ptrY€¢ÈiZÅÈKÝGBgGBûÈmbÞ˜3ÉЀziàVÉptrဌÉÉGø àøN2K{pGBæHB¯ÉüpzhçÉptr|€VÊi}ŸÊmb~˜4ËÉGã öøNfK«hðHBAIB£ËqpªhÛËsªWÌ¿ª¶GÌ,!ª;}Ìr¬h Ìmb­˜uK€PIBÔIBÃÌÓstr¶ûÌ¿¶DÍ,!;Íret€Ö͆ã e Ó†ø e èGK3ž çrž6˜ €çr`K7˜ ˆçr I‘Ñ ’Ñ ÔIýP 5t\I‡MQJàIB§lB]ˆSÇ€ 'Fint©Q' 4miâ8dĆV‡m7ˆm%‰'Oв‹m ŒÂM”ŽMF•MפMF©MZ9C¡´HÂXR–ÜÖzq ë{î# û|M#_¤ FŠ _1š[Ø-f ³I F# ! #  # ª # ¦ # Ò #( ô #0 _ #8 = #@ > #H  #P ¸ #X ˆ "¤#`  $ª#h  &F#p ˆ *F#t O ,Ø#x ž 0[#€ y 1-#‚ D 2°#ƒ ‚ 6À#ˆ 9 ?ã# Ø H‰#˜ ß I‰#  B J‰#¨ î K‰#° õ L=#¸ £J NF#À  PÆ#Ä P ´— º¤  P »¤#  ¼ª# : ÀF#mš À†f Ö†0J .áçF„F„ :~t ¼  ÷ ú ß  ß w ¡  + J 5 sY , D È ´ ( e O fF# ž gF# … hF# ; iF# 7N j;# #N kb# /P lb# K mb# î nF#  p;#$BO sN ¡: tb# #% ub# »D vN# t]†ËK y”dev zt# ¡P {b#  |”# £† Ú ¡P €b# ¿ Ú#  ƒê# bê† ù†óO byD ,ê e -‹# ? 2¬# ò :Í# ² ;Â# ˆ =–# ^ >¡# k @F#$ - B‹#( ª GØ#0  Kù#8 ~ M#@ c XH#H l YH#X ( ZH#h  gê#x Mú†ÌJ( M œJ t# ~8 t# E& # 7I # ¡P M# ú 1pv4 2(v1 34rL8 ( ¿ vÚ# H wb# —J zb#  }b# 7N ~;#  b# #N €b# :J b#$dev ƒt#(  …Z #0 ¯ †j #° |O ˆz #±pSH.P Z™ E& #F# 9O $# Ÿ &M# aK &M# î (F# #N )b#$ /P *F#( K +F#,uid ,2#0gid -#4 ¤J .'#8 8G /b#< ©I 0b#@dmi 4S#H N 5#P ìM 6#X ÞO 7#` à3 8t#h ÿN 9F#p 4N :F#t uN ;F#x ¬O A U)¡P>‰ Î*œJ?• Q*~8?• R**L@› X*7I@› Y+tBMTt'÷K·„ JB)JBwÕ (dmt¶Õ UÛ ,P :'BNÁ„0JB;JBw(dmtÀÕ U'5PËL@JBKJBwL(dmtÊA U'RMÖº PJB[JBw†(dmtÕA U'ÓNáº`JBkJBwº(dmtàA U£'JOçFpJB}JBwô(dmtæA U'·LîF€JBŒJBwD(dmtìA U*8GìbT*©IíbQ'¤OöFJBJBwx(dmtõA U'©NF JBªJBwº(dmtA U*à3tT'÷N(F°JB½JBwî(dmt'A U',N/FÀJBÍJBw"(dmt.A U'mN6FÐJBÝJBwV(dmt5A U'N=FàJBéJBw˜(dmt<A U*#N<bT'óLátðJBøJBwÌ(dmtàA U- PÝKB'KB/Î-ÿOæ0KBnKBgÎ.OmpKBuKBw/WP@€KBLBŸÎt0dmt?A ÿÎ1tAM5Ï1nAMXÏ2{LkFLBJLB{Ïé0bufi³Ï)"LiFÖÏ)NibXÐ)éLjb{Ð1rlFžÐ2ÎLëFPLB§LBÁÐJ0dmtêA ùÐ)¿ê/Ñ)Üê=xÑ%vìJm3QL‡F°LBõNBÔÑ4¿…„…Ò4…„ÎÒ4[L†Ó5flˆ`Ó6nm‰9 ‘°}5cŠF¼Ó5num‹bÔ7°MB»MB8Í ”=8k ”=9?LýFOBnOB*ÔO»Fr7Mº„/PºbKºb!buf¼ :;D ;8 /MÛFÌ7MÚ„/PÚbKÚb!retÜF8­LÝ':;‚ ;v ;j <ËMFpOB]TBbÔå=7Må‘ ^>/Pb›Ô>KbÕÔ?„7øPB@ $L;« ;  @(@'‘;O;D;9A BZ‘ ~C% `‚¾;D ;8 Dr‚';™;Ž;ƒAЂE¤$ÕE¯“ÕCW ƒëF‚ Ö;v ;j öG†ÿ2&PF`TB–TB{Ö-)/Pb³Ö'FP~F TB…UBwo(dmt}A U*^?}oT~"›M“F²#dmt’A $S ”A %r•FHOÕ"PŒFÑ#dmt‹A "•NIFw#dmtHA $5DJw%dK}%dirL„%rMFI;:$åVƒ$¯VFI[:$åWƒ$¯WF:$Í X=$k X=Jå I ‰ T"wMeFã#dmtdA $S fA $ÎKgº $¡Phm%riF&out†"¯MæFn#dmtåA $S çA %t1èM%t2èM%réFHIM%IS$Í =$k =:$Í =$k ="nL1(±#dmt/A [-/mL0m%dmi2("SN¯(v#dmt®A L®m$´K°v$¿±{%dmi³(%t´M$ÆOµ%len¶=%b·‰%e·‰$¡:¸F&badC:;w ;k ;_ :Kƒ K K› K§ L± =Ð í "ÇJf‰ #teM#oute‰#ende‰$ËOg‰%sphŠ $Oi=%lenjF$6Lk:;Ó ;È :KÜ †* 2bLrFUBøgBüÖ¨0dmtqA ­×1dmis(ŽØ>[-tmIÙHkO Mbad×ébB@uàƒ†È;‡A„E“êÙEŸYÚN©WB@n0…“;˜;Œ;€A†K¤D±‡4FÏÒÛ;ÃA°‡KÛKçKóEÿAÜK EÌÝE!ÓÞE+¡ßE5ÂàNA¸aB@M Àˆ±;w ;k ;_ A‰Eƒ ÜáE KâE› ”âK§ N± „aBD‡p‰2;¯F£<ã;™Að‰K»BÇ‘KÒKÞBê‘à~D· €Š„;Ó ;È A°ŠKÜ @ãàŠg;õA@‹E«ãE -äEväK#N-0`B@²0ŒŠb;Ä@Ñ`Œ;ãA ŒEï1åEûzåEÖåKOµ`BÃ`BêPP7µ`BÃ`BK!K-7‘eBžeBPP7‘eBžeBKAKMDŽ@; ApE¬æE¸hæEıæKÐNÚ&fBQè ˜bBébBÌ; ;ú AŽK E úæE* |çK4 2gPFhB¶hBÅç;$›K;=?M;‘ $¦L„Mbad9hBDÀ @Ž$;ê ;Þ ;Ò AŽEö þçE 4è K†?2¦KEMÀhBjBjèÐ)œJCt¢è0lenCtëè)E&C„4é)7ID„}é1tFMÆéMbad^¢iB2àMF jB‹jBüé0dmtA 4ê)ìM„}ê2NüFjBûjBÆê^0dmtûA þê)Nû„Gë2ÒOFkB9lBëá0dmtA Éë)ç3„ì)y3„tì)´„½ì)œJ„í%len=2xPœb@lB§lBOí80dmt›Õ ‡í)8G›Ðí>9O„îRëK=mS‰L>m ¼çrSÔK?m ÀçrSO@F ¸çrSFLBù ¨çrS NCF ÏrS\NDF °çrSçOEF ÏrSMFm ´çr ™ ü†SôMT €£r ìTI‘ªT’ªTÔIÖU¢LO ÀÿNè…x\I¦PQJ°lBnB SÇint©Q' 4bidÂB”ŽB‘ZÜÖi_¤[Ø-} ³I;# !‹# ‹# ª‹# ¦‹# Ò‹#( ô‹#0 _‹#8 =‹#@ >‹#H ‹#P ¸ ‹#X ˆ"»#` $Á#h &;#p ˆ*;#t O,u#x ž0P#€ y1-#‚ D2Ç#ƒ ‚6×#ˆ 9?€# ØHs#˜ ßIs#  BJs#¨ îKs#° õL˜#¸ £JN;#À PÝ#Ä P´—º»  P»»# ¼Á# :À;#„± ‘× p} ‘í póO ùWþPóP;;3Q:Wbit:;ÃP1°lBêlBwŒout0íUin10íOîin20í…îi2;»î–PF;ðlBImBwbsEíUºPE;TbitG;RùPG;QHWQ T'ÐP_;PmBZmBw8bs^íïáP,`mBemBwgbs+í'ïQípmBnBJïÑmemÿ‚ïQbÞï nb!ܘ'ðbsí]ð"I‘Á"’ÁHbz\I1QQJ nBbpB@SÇint©Q'idĆ^V‡W7ˆW%‰^²‹W Œ^ÂB”ŽBF•BפBF©BéZÜÖ^z$ ë{Â# û|B#_¤8 é_1H[Ø- ³I;# !ã# ã# ªã# ¦ã# Òã#( ôã#0 _ã#8 =ã#@ >ã#H ã#P ¸ ã#X ˆ"R#` $X#h &;#p ˆ*;#t O,¬#x ž0P#€ y1-#‚ D2^#ƒ ‚6n#ˆ 9?·# ØHh#˜ ßIh#  BJh#¨ îKh#° õLð#¸ £JN;#À Pt#Ä P´—ºR  P»R# ¼X# :À;#H éne é„e0J.•±;2;2yD , e -j# ? 2‹# ò :¡# ² ;–# ˆ =u# ^ >€# k @;#$ - Bj#( ª G¬#0  KÍ#8 ~ MØ#@ c Xû#H l Yû#X ( Zû#h  g#x B eyDÄ;Ì0Ã2Ã̱>QK; nBsnB“ð%'DJ%ËðVQL;ñ%QM;$ñ=`Q;vdir2ãsãrc;r;out4HQ:;€nBbpBmñ$dir92¦ñ^?;±‘À~ ØnBênB@ß¿³ +0A<!`"G#Rò#[^ò#eºò$npB%I‘X%’X%ÔI „–*|\I„QQJppBvB©‘SÇint©Q'idÂB”ŽB†ZÜÖ^_¤¬†· [Ø-„ ³I;# !€# €# ª€# ¦€# Ò€#( ô€#0 _€#8 =€#@ >€#H €#P ¸ €#X ˆ"Â#` $È#h &;#p ˆ*;#t O,j#x ž0P#€ y1-#‚ D2Î#ƒ ‚6Þ#ˆ 9?u# ØHh#˜ ßIh#  BJh#¨ îKh#° õL#¸ £JN;#À Pä#Ä P´ —ºÂ  P»Â# ¼È# :À;#‹¸†Þe„†ôe0J.ÿ!;¦;¦'þP(Ù{ ô#²# ¡Q²# zR# 2R# ­QW# ô#² Ú€#end€# û²#{òQÁhppBpBwpÀ!Uc²RrÃhó=RËpB pBw,pÊ!U”QÑ pBµpBwgcвU´QÐW9óRÖ²ÀpBsqBoó´pÕ!§ósÕôcײ_ô¾Q‹;€qB'rB•ôpŠ!Íô‹RŠõcŒ²_õPTRMh0rBÒrB»õ™pL!óõsL<ö´QLW…öcN²ôörOh*÷orB¢rBIX$RHhàrBêrBwØpG!`÷sGƒ÷»R-hðrB-sB¦÷'p,!Þ÷s,øptr.h7øjR!€0sB‚sBZø…p !’østr ¦µøn ëøret"€!ùÓQ€sBÝsBDùÖp!|ùstr¦²ùret€èùR&!àsB‹tB ú6%¦kú…R%´úŸR'ýúp(! ûR¦;tB}uBVû¢p¥!ŽûµR¥±ýûŽQ¥Füc§²ünc§²Åü ¨Rs€uBvBýípr!nýptrrhðýct²_þvQhvB5vBw(pg!•þci²¸þ âQ:@vBvBÛþrp9!;ÿc;²qÿpr;²ºÿ!I‘È!’È!ÔIô% $ > $ > : ; I$ >   I : ;  : ; I8 &I ' I I  : ;  : ; I8 '  : ;  : ;  : ; II!I/ .? : ; ' I@: ; I4: ; I% $ > $ > : ; I$ >   I&I  : ;  : ; I8 : ; I8 ' I I : ; '  : ; (  : ;  : ;  : ; II!I/ (  : ;  : ;I8 : ; &I.: ;' I : ;I4: ;I: ;I 4I4 !.: ;' I@": ;I #: ;I$: ;I%: ;I &4: ;I '.: ; ' I@(: ; I)4: ; I*.? : ;' I@+4: ; I,: ; I-4: ; I . /4: ; I04: ;I14: ;I 21RUX Y314 U54161X Y741 81RUX Y94: ; I? < :4: ; I ;4: ;I? < <4: ; I?  =4: ;I?  % $ > $ > : ; I$ >   I : ;  : ; I8 &I ' I I  : ;  : ; I8 '  : ; (  : ;  : ;  : ; II!I/ (  : ;I8 : ; .? : ; ' I@: ; I4: ; I4: ; I4: ; I4I4  : ; I!.? : ; ' @": ; I #: ; I $.: ; ' @%.: ; ' I@&4: ; I? < % $ > $ > : ; I$ >   I&I  : ;  : ;I8 : ; : ; I8 I!I/ ' II : ;  : ; I8 '  : ; (  : ;  : ;  : ; I : ; : ;I8 &I : ;.: ; ' I : ; I.: ;' I  : ;I!: ;I"4: ;I# $1%4: ; I&.: ; ' ': ; I(4: ;I)41*.: ;' I@+: ;I,: ;I -4: ;I.1X Y/1X Y0 141 2: ;I3 U4.: ; ' I@5: ; I6: ; I7.? : ;' I@84: ;I 941:4: ;I ;I<=: ; I >: ; I ?4I4  @ : ;A4: ; IB1X Y C1X Y D : ;E F4: ; IG4: ;IH1RUX YI 1J UK1RUX Y L1RUX YM1N4: ; IO : ; P.? : ;' @Q4I4 R 1S4: ; I? < % $ > : ; I$ > $ >   II !I/ &I  : ;  : ;I8 : ;  : ; I8  : ; ( !I' II : ;  : ; I8 '  : ;  : ;  : ; I : ; .: ; ' .: ; ' I : ; I: ; I4: ; I 4: ; I! "< #.: ; ' @$: ; I %: ; I &': ; I(.? : ;' I@): ;I*: ;I+4: ;I,1X Y-4: ;I .1RUX Y/.: ; ' I@0: ; I14: ; I24: ; I34: ; I 44: ; I 51X Y 617 84191RUX Y :1RUX Y ;: ;I <.? : ; ' I@=1RUX Y > U?41@4I4  A4: ; I? < % $ > $ > : ; I$ >   I&I  : ;  : ;I8 : ; : ; I8 I!I/ ' II : ;  : ; I8 '  : ; (  : ;  : ;  : ; I( .: ; ' : ; I.: ; ' I : ; I4: ; I  &I!1".: ;' I #: ;I$4: ;I%.: ; ' @&: ; I'.: ;' @(: ;I): ;I*4: ;I+1X Y,.? : ;' I@-.? : ; ' @.: ; I/4: ; I 04: ; I14: ; I24: ; I34I4  41RUX Y 5 U6417 8 94: ; I :1RUX Y ;1<4: ;I = U>1RUX Y?1RUX Y@41A4: ;IB4: ;I C.? : ;' @D4I4 E41 F4: ; I? < % $ > $ > : ; I$ >   I&I  : ;  : ;I8 : ; : ; I8 I!I/ ' II : ;  : ; I8 '  : ; (  : ;  : ;  : ; I : ; .: ;' : ;I: ;I.: ; ' : ; I: ; I .: ;' I !4: ;I"4: ;I# $1%.? : ;' I@&: ;I': ;I(4: ;I).? : ;' @*.? : ; ' @+: ; I,4: ; I-4: ; I..? : ; ' I@/: ; I04: ;I14I4  21X Y 31RUX Y4 U54161RUX Y741 8419.: ; ' I@:4: ; I ; : ; <4: ;I =4: ;I > : ;?4: ; I? < @4: ; I % $ > $ > : ; I$ >   I&I  : ;  : ;I8 : ; : ; I8 I!I/ ' II : ;  : ; I8 '  : ; (  : ;  : ;  : ; I.? : ; ' @: ; I.? : ; ' I@.: ; ' I : ; I4: ; I : ; 1RUX Y !1" U#41$ 1%.: ; ' @&.: ; ' I@'4: ; I? < (4: ; I )4: ; I % : ; II!I/ $ >  : ;  : ; I8 $ >   $ >   I &I : ;I8 : ; ' II : ;  : ; I8 '  : ; (  : ;  : ;  : ; I.: ; ' I : ; I.? : ; ' @: ; I: ; I4: ; I 4: ; I !1RUX Y "1#.? : ; ' I@$4: ; I? < %4: ; I % $ > $ > : ; I$ >   I : ;  ( &I  : ;  : ; I8 : ; I8 I!I/  : ;I8 : ; ' II : ; '  : ;  : ;  : ;  : ; I(  : ; &I : ;.: ; ' I : ; I 4: ; I!: ; I" #1$ %41&.: ; ' '.: ;' I (: ;I): ;I*4: ;I+4: ;I,.: ;' - : ;I8 ..? : ;' I /.? : ; ' I@0: ; I1: ; I 21RUX Y 3 U44151RUX Y 61X Y 7 84: ; I9.? : ;' I@:: ;I;: ;I<4: ;I=4: ;I >1RUX Y?4: ; I@ A1X Y B UC: ;I D: ;I E4: ;I F.: ;' @G.? : ;' @H1X YI4: ;IJ4I4  K.: ;' I@L1X YM : ;N1RUX YO : ;P41 Q4: ; I? < R4: ; I % $ > $ > : ; I$ >   I&I  : ;  : ;I8 : ; : ; I8 I!I/ ' II : ;  : ; I8 '  : ; (  : ;  : ;  : ; I : ;.: ; ' : ; I: ; I.: ; ' I .: ;' I@: ;I 4I4  !.? : ;' I@"4: ;I #: ;I$4: ;I%.? : ; ' @&: ; I'4: ; I ( )4: ; I*4: ; I +4: ; I,.: ;' I -: ;I.4: ;I/4: ;I04: ;I11RUX Y213 U44151RUX Y6.? : ; ' I@74: ;I 8 : ;91X Y:1X Y;.: ; ' I@< U=1X Y >4: ; I? < ?4: ; I?  % $ > $ > : ; I$ >   I&I  : ;  : ; I8 : ;I8 : ; I!I/ ' II : ;  : ; I8 '  : ;  : ;  : ; I.? : ;' I : ;I.: ; ' I@: ; I: ; I4: ; I4: ; I I .? : ; ' I@!.: ; ' I ": ; I#4: ; I$4: ; I%4I4 &1RUX Y '1(1RUX Y ) U*41+41,41 -4: ; I? < % $ > $ > : ; I$ >   I&I  : ;  : ;I8 : ; : ; I8 I!I/ ' II : ;  : ; I8 '  : ;  : ;  : ; I.? : ; ' @: ; I.? : ; ' I@: ; I4: ; I U4: ; I4: ; I? < 4: ; I? < % $ > $ >  $ > : ; I I&I  : ;  : ;I8 : ; : ; I8 I!I/ ' II : ;  : ; I8 '  : ; (  : ;  : ;  : ; I.: ; ' I : ; I.? : ; ' I@: ; I : ; I1X Y 1 .: ; ' @!4: ; I".? : ; ' @#: ; I$4: ; I%4I4  & U'4: ; I? < (4: ; I?  % : ; II!I/ $ >  : ;  : ; I8 $ >   $ >   I  : ;  ( &I : ;I8 : ; ' II : ;  : ; I8 '  : ;  : ;  : ; I.: ; ' I : ; I: ; I4: ; I4: ; I.: ; ' I   1!41".? : ; ' I #.? : ; ' @$: ; I %.? : ;' I@&: ;I'4: ;I(4: ;I)4: ;I *: ; I+: ; I,.: ; ' I@-4: ; I.1RUX Y / U0411.? : ; ' I@234: ; I44: ; I 54I4  61RUX Y 741 81X Y 91X Y : ; <4: ; I? < % $ > $ > : ; I$ >   I&I  : ;  : ;I8 : ; : ; I8 I!I/ ' II : ;  : ; I8 '  : ;  : ;  : ; I.? : ; ' @: ; I4: ; I4: ; I4: ; I? < % : ; I$ > $ > $ >   I : ;  : ;I8 : ; : ; I8 I !I/ .? : ; ' @: ; I .: ; ' I@: ; I4: ; I.? : ; ' I@: ; I: ; I 4: ; I? < % : ; I$ > $ > $ >   II !I/ &I  : ;  (  : ;  : ;I8 : ;  : ; I8 ' II : ;  : ; I8 '  : ;  : ;  : ;  : ; I(  : ;  : ; : ;I8 .: ; ' I : ; I : ; I!4: ; I" #1$41%.: ;' I &: ;I'4: ;I(4: ;I).: ;' *: ;I+ ,4: ; I-.: ; ' @.: ; I /: ; I0: ; I14: ; I24: ; I3.: ;' I@4: ;I 5: ;I 6: ;I71RUX Y81RUX Y 9 U:41;1X Y<1RUX Y=: ;I>41 ?.? : ;' I@@4: ;IA.: ;' @B1X YC D.: ; ' I@E1X Y F4: ; I G4: ;IH.: ;I@I J : ;K : ;L : ;M4: ; I? < N4: ;I % $ > $ > : ; I$ >   I&I  : ;  : ;I8 : ; : ; I8 I!I/ ' II : ;  : ; I8 '  : ; (  : ;  : ;  : ; I : ; .: ; ' I : ; I4: ; I: ; I.: ; ' 4: ; I .: ;' I !: ;I"4: ;I#.: ; ' I@$: ; I %: ; I &1RUX Y '1( U)41*.: ; ' @+4: ; I ,1X Y -.: ;' I@.: ;I /: ;I 04: ;I11RUX Y2.? : ;' I@3.: ;' @4: ;I5 6 74181RUX Y 91X Y :: ; I;: ; I<4: ; I=: ;I>1RUX Y?41 @4: ; I? < A4: ; I B4: ;I % $ > $ > : ; I$ >   I&I  : ;  : ;I8 : ; : ; I8 I!I/ ' II : ;  : ; I8 '  : ; (  : ;  : ;  : ; I : ; .: ; ' I : ; I: ; I.: ; ' 4: ; I4: ; I .: ;' I !: ;I": ;I#4: ;I$.: ; ' I@%: ; I &.: ; ' @': ; I (1X Y )1*.: ;' I@+: ;I ,: ;I -4: ;I.1RUX Y/.? : ;' I@0.: ;' @1: ;I2: ; I3 : ; 4 5 64: ; I71RUX Y 8 U941: 1;1X Y <: ; I=1RUX Y >: ;I?1RUX Y@41 A41B4: ; I? < C4: ; I D4: ;I % : ; I$ > $ > I!I/ $ >   I &I  : ;  (  : ;  : ;I8 : ;  : ; I8 ' II : ;  : ; I8 '  : ;  : ;  : ;  : ; I : ;  : ; .: ; ' I : ; I: ; I4: ; I !1" : ; #41$41 %.: ;' I &: ;I'4: ;I( ): ;I*.: ;' + : ;, : ;I8 -4: ;I.4: ;I /4: ; I0.1@11 2.: ; ' I@3: ; I 4: ; I 5.: ;' I@6: ;I 74: ;I84: ;I 91X Y: ;1RUX Y<.: ;' @=: ;I >: ;I?: ;I@ UA41B1RUX YC4: ;ID.? : ;' I@E: ; IF4: ; IG4: ; I H!I/I: ; IJ1RUX Y K4: ; IL : ; M UN : ;O : ;P Q4: ;I R1X Y S : ;T4I4 U 1V 1W1X YX1Y : ;Z4: ; I? < % $ > $ > : ; I$ >   I : ;  ( &I  : ;  : ;I8 : ;  : ; I8 I!I/ ' II : ;  : ; I8 '  : ;  : ;  : ;  : ; I : ;  : ; .: ; ' I : ; I4: ; I  1! ": ; I#.: ; ' $4: ; I%.: ;' I &: ;I'.: ; ' I@(: ; I ): ; I*1RUX Y + U,41-1RUX Y ..: ; ' @/: ; I 0.: ;' I@1: ;I 2: ;I34: ;I44: ;I 5: ;I 64: ;I71X Y8.? : ;' I@9.: ;' @:: ;I;4: ; I<1X Y =: ; I>4: ; I ?4: ; I@1RUX YA41 B1X YC1RUX YD E41F4: ; I? < G4: ; I H4: ;I % $ > $ > : ; I$ >   I&I  : ;  : ;I8 : ; : ; I8 I!I/ ' II : ;  : ; I8 '  : ; (  : ;  : ;  : ; I : ;  : ; I 8  : ; !I/.: ; ' I : ; I  1!4: ; I".: ; ' #: ; I$.: ; ' I@%: ; I &: ; I'4: ; I (4: ; I).: ; ' @*: ; I +.: ;' I@,: ;I -: ;I .4: ;I/.? : ;' I@0.: ;' @1: ;I24: ;I34: ;I 44: ; I5 641 71RUX Y 8 U941:1RUX Y ;1X Y <: ; I=: ;I>1RUX Y?4: ; I? < @4: ; I % $ > $ > : ; I$ >   I&I  : ;  : ;I8 : ; : ; I8 I!I/ ' II : ;  : ; I8 '  : ; (  : ;  : ;  : ; I(  : ;  : ; .: ; ' I : ; I4: ; I.: ; '  : ; I!4: ; I" #1$.: ; ' I@%: ; I &.: ; ' @': ; I (.: ;' I@): ;I *: ;I +4: ;I,.? : ;' I@-.: ;' @.: ;I/4: ;I 04: ;I1: ;I21RUX Y3 U441 54161X Y7: ; I8: ; I94: ; I:1RUX Y ;41<1X Y = >1RUX Y?1RUX Y @4: ; I? < A4: ; I % $ > $ > : ; I$ >   I&I  : ;  : ;I8 : ; : ; I8 I!I/ ' II : ;  : ; I8 '  : ; (  : ;  : ;  : ; I : ;  : ; !I/.: ; ' I : ; I: ; I4: ; I !1".: ;' I #: ;I$.: ; ' %4: ;I&41'.: ;' I@(: ;I ).: ;' @*: ;I +1RUX Y,4: ;I-.? : ;' I@..: ;' /4: ;I0: ;I1 U24131X Y4 5.: ; ' I@6: ; I7: ; I84: ;I 94: ; I:1RUX Y ;1X Y <1RUX Y =: ; I >: ; I ?4: ; I @: ;IA4: ;IB1RUX YC : ;D : ;E 1F4: ; I G4: ; IH : ; I4: ; I? < % $ > $ > : ; I$ >   I&I  : ;  : ;I8 : ; : ; I8 I!I/ ' II : ;  : ; I8 '  : ; (  : ;  : ;  : ; I(  : ;  : ; .: ;' I : ;I.: ; ' I : ; I 4: ; I!4: ; I".: ; ' #: ; I$: ;I%4: ;I&4: ;I' (1) *41+.: ;' I@,: ;I -.: ;' @.: ;I /4: ;I 0.? : ;' I@1.: ; ' I@2: ; I34: ; I 4: ;I5: ;I64: ;I7.: ; ' @8: ; I91RUX Y: U;41<1X Y=4: ; I>4: ;I? : ;@1RUX YA B41 C1RUX Y D1X Y E1X Y F4: ; IG4: ; I H : ; I1RUX Y J4: ; I? < K4: ;I % $ > $ > : ; I$ >   I&I  : ;  : ;I8 : ; : ; I8 I!I/ ' II : ;  : ; I8 '  : ; (  : ;  : ;  : ; I : ;  : ; I 8  : ; .: ; ' I : ; I4: ; I.: ; '  : ; I! "1#41$4: ; I%.: ; ' I@&: ; I '4: ; I (4: ; I).: ; ' @*: ; I +.: ;' I@,: ;I -: ;I .4: ;I /4: ;I01X Y1.? : ;' I@2.: ;' @3: ;I44: ;I5: ;I6: ; I7: ; I81X Y 9 :41;1RUX Y< U=4: ; I>1X Y ?1RUX Y @1RUX Y A1RUX YB41 C4: ; I? < D4: ; I E4: ;I % $ > $ > : ; I$ >   I : ;  ( &I  : ;  : ;I8 : ;  : ; I8 I!I/ ' II : ;  : ; I8 '  : ;  : ;  : ;  : ; I(  : ; !I/ : ;I8 .: ; ' I : ; I 4: ; I!.: ;' I ": ;I#: ;I$: ; I% &1' (41)4: ;I*4: ; I+.: ; ' I@,: ; I-: ; I .: ; I/4: ; I04: ; I 1.: ;' I@2: ;I 3: ;I 4.? : ;' I@5: ;I6: ;I7.: ;' @84: ; I94: ;I:1RUX Y; U<41=1RUX Y >1?1RUX Y @4: ; I A4: ;IB : ;C4: ;ID4: ;I E1X YF G1RUX YH41 I 1J K1X Y L1X YM.: ;' N : ;O4: ; I? < P4: ;I % $ > $ > : ; I$ >   I&I  : ;  : ;I8 : ; : ; I8 I!I/ ' II : ;  : ; I8 '  : ;  : ;  : ; I!I/ : ;I8 .: ; ' I : ; I.? : ; ' I@: ; I 4: ; I 4: ; I4: ; I : ; I!: ; I"4: ; I#4: ; I$1X Y %1&4: ; I? < % $ > $ > : ; I$ >   I&I  : ;  : ;I8 : ; : ; I8 I!I/ ' II : ;  : ; I8 '  : ;  : ;  : ; I!I/!I : ;I8  : ; ( .: ; ' : ; I4: ; I  .: ; ' I !: ; I"4: ; I#1$41 %41&.: ; ' I '.: ; ' I@(: ; I)4: ; I *4: ; I+1RUX Y , U-1. /410: ; I14: ; I 24: ; I31X Y 41X Y 5.? : ; ' @6: ; I 7: ; I 8.? : ; ' I@94: ; I? < % $ > $ > : ; I$ >   I&I  : ;  : ;I8 : ; : ; I8 I!I/ ' II : ;  : ; I8 '  : ;  : ;  : ; I!I/!I : ;I8 .: ; ' I : ; I.? : ; ' @: ; I : ; I .? : ; ' I@ : ; I!: ; I"4: ; I#4: ; I$4: ; I %1X Y &1'4: ; I (4: ; I)4: ; I? < % $ > $ > : ; I$ >   I : ;  ( &I  : ;  : ;I8 : ;  : ; I8 I!I/ ' II : ;  : ; I8 '  : ;  : ;  : ; I!I/!I : ;I8 .: ; ' : ; I: ; I.: ;'  : ;I!: ;I"4: ;I#.: ; ' @$: ; I%: ; I&4: ; I'4: ; I(.: ; ' I@).? : ;' @*: ;I+: ;I,4: ;I-1RUX Y.1/1X Y01RUX Y1 U241 34: ; I44: ; I54: ; I? < % $ > $ > : ; I$ >   I&I  : ;  : ;I8 : ; : ; I8 I!I/ ' II : ;  : ; I8 '  : ; (  : ;  : ;  : ; I : ;  : ;  : ; !I/.: ; ' I : ; I&I : ; I!.: ; ' ".: ;' I #: ;I$: ;I%4: ;I&4: ;I' (1) *.: ; ' I@+: ; I ,: ; I -4: ; I.4: ; I/.: ;' I@0: ;I 1.? : ;' I@2: ; I3: ; I44: ; I5 : ; 61X Y 71RUX Y 8 U941:1X Y ;4: ; I< : ;=1RUX Y>1X Y?: ;I@: ;IA.: ; ' @B1RUX YC41D41 E1X YF4: ; I? < G4: ; I H4: ;I %  : ;  : ; I8  : ; I8 $ >  $ > I !I/ $ > : ; I  I &I : ;I8 : ; ' II : ; '  : ;  : ;  : ; I : ; ( .: ; ' I : ; I4: ; I4: ; I .? : ; ' I@: ; I : ; I!4: ; I"4: ; I#1X Y $1% &41'41 ( U)4: ; I? < % $ > $ > : ; I$ >   I : ;  : ; I8 I !I/ : ; I <  : ;  : ;I8  : ; ( &I: ; ' II : ; I8 '  : ;  : ;  : ;  : ; I( .? : ;' I : ;I.: ; ' I  : ; I!: ; I"4: ; I#.: ; ' $4: ; I%4I4 &.: ; ' I@': ; I(: ; I)4: ; I *1RUX Y +1, -.1@.1/41 0 U1412413.? : ; ' I@44: ; I54: ; I64I4  7 : ; 8.: ;' I@9: ;I:: ;I;4: ;I<4: ;I=4: ;I > : ;?1RUX Y@1RUX Y A1RUX YB.? : ;' I@C4: ; I? < % : ; I$ > $ > $ >  I&II !I/   : ;  : ;I8 : ;  : ; I8  : ; I8 ' II : ; '  : ;  : ;  : ; I : ; ( .: ; ' : ; I.? : ; ' I@: ; I: ; I4: ; I4: ; I .: ; ' I@!4: ; I"1RUX Y #1$4: ; I%4: ; I & U'4: ; I? < % $ > $ > : ; I$ >   I&I  : ;  : ;I8 : ; : ; I8 I!I/ ' II : ;  : ; I8 '  : ;  : ;  : ; I : ; ( .? : ; ' @: ; I4: ; I.? : ; ' I@4: ; I4: ; I4I4  4: ; I? < % : ; I$ > $ > &I$ >  I I !I/  : ;  : ;I8 : ;  : ; I8 ' II : ;  : ; I8 '  : ;  : ;  : ; I.? : ; ' I@: ; I4: ; I4: ; I4: ; I? < % $ > : ; I$ > I!I/ $ >  : ;  : ; I8   I &I : ;I8 : ; ' I : ; (  : ;  : ; I : ;  : ; I8 <  : ;: ;I : ; : ;I8 !I.? : ;' I : ;I .: ; ' !: ; I".: ;' #: ;I$4I4  %.: ;' I &4: ;I'4: ;I( )1*.? : ; ' @ +: ; I ,: ; I -.? : ; ' I@ ..? : ;' I@ /.: ; ' @0: ; I1: ; I24: ; I 34: ; I4.? : ;' I@5: ;I6.: ;' I@74: ;I 81X Y9!I/:4: ;I;4: ;I<: ;I=: ;I >1UX Y? @1UX YA.? : ; ' I@B1X YC1D41E.? : ;' @F UG41H41 I4: ; IJ4: ; I K1X Y L1X Y M4: ; IN : ;O4: ; I? < P4: ; I?  % $ > $ > $ >  : ; I II !I/ &I  : ;  : ;I8 : ;  : ; I8 ' I : ; I8  : ; .? : ; ' I@4: ; I4: ; I : ; I: ; I4: ; I4: ; I U.? : ; ' @ U4I4  4: ; I 4: ; I? < % $ > : ; I$ > $ >   I : ;  : ; I8 &I : ;I8 : ; I!I/ ' I : ; ( !I : ; I8 : ;I : ;  : ; I : ; < : ; I.? : ;' I : ;I.: ; ' I : ; I : ; I!4: ; I".: ;' I #: ;I$4: ;I%4: ;I& : ;'.? : ;' I@ (: ;I ): ;I*: ;I +4: ;I ,&I-.? : ;' @..? : ;' @ /.? : ;' @0: ;I14: ;I2.? : ;' I@3.: ; ' I@4: ; I54: ; I64: ; I 7 84: ; I9.: ; ' I@: ;1<.: ;' I@=4: ;I >4: ;I? : ;@1UX YA UB41 C1UX Y D1UX YE41F1G!I/H : ;I J K41L 1M : ;N 1O P4Q1X YR4: ; I S4: ; I T4: ; I? < U4: ; I?  % $ > $ > : ; I$ >   I : ;  : ;I8 : ; : ; I8 I !I/ : ;I< .: ; ' I : ; I: ; I.? : ; ' @ : ; I : ; I4: ; I.? : ; ' I@ : ; I 4: ; I 4: ; I4: ; I 1UX Y 1.? : ; ' I@: ; I 4: ; I!4: ; I"4: ; I? < % $ > $ > $ >  : ; I I : ;  : ; I8 &I : ;I8 : ; I!I/ ' I.? : ;' I : ;I.? : ; ' I@: ; I4: ; I.: ; ' I : ; I4: ; I4: ; I : ; : ; I4: ; I 1X Y 1 1UX Y ! U"41#41$ 1%4: ; I? < % $ > $ > $ >  : ; I I&I &  : ;  : ;I8 : ; : ; I8 I!I/ ' I : ; : ; I8 .? : ; ' I@ : ; I 4: ; I 4: ; I.? : ; ' @ : ; I.? : ; ' I@: ; I4: ; I 4: ; I .? : ; ' @!4: ; I? < Õ«û /usr/include/usr/include/bits/usr/include/sys../include/dmraiddmraid.cstdint.htypes.htypes.hlist.hlocking.hlib_context.h à@ÖO  \Úy‚KsgWt@û /usr/include/bits/usr/include/usr/lib/gcc/x86_64-redhat-linux/4.4.1/include/usr/include/sys../include/dmraidcommands.ctypes.hgetopt.hstddef.hstdint.htypes.hlist.hlocking.hlib_context.hdisplay.hmetadata.hstdio.hlibio.hcommands.htoollib.h `@ŽsKåX"V>Ut!s?Â<==ZUº==ZºL³¬#UwG#ƒ`Í{J qtXqXƒJ‘%)))))))))%))) !-=Z JKZtLx¬KZ°tpN=W³‹ËyfKZltiq?­[wôyt(p*jXós=.ã/==fq#U?­g”Ö$T†ó\)åPã0I/%vyX±,YiX%vyX{H,YtŸs=ƒw9MYƒ¢ôžsLœ>ƒglz[¾w ø…]tŸ=hk”Dû activate../include/dmraid/usr/include/bits/usr/include/sys/usr/lib/gcc/x86_64-redhat-linux/4.4.1/include/usr/include./activateactivate.clist.hmisc.htypes.htypes.hstddef.hstdint.hlibio.hstdio.hlocking.hlib_context.hmetadata.hformat.hactivate.h @ä%™A¸}žËÖqƒIA7nXÃ}¬ÀºqÉIOEÈàt%SAx%SA˜|t¼v¡ÉÛ^xž&xJ6zºw0ë}0!u=Ѭ#*uõ8xsºLòE‡öKŒ CjTt@òu®ƒŸÉ®:„,hãyyÓ<<@-w<<"M§=ƒM IŠz<ƒ‡yKŸHäIŸm¬%g0KL‘IvºÈ”  Lê¬Ì8žN¢*@Ü./£äR‚7ê°Kz<wX‚n<>&™z8éJIK—zJÚ‚Žž Jƒ’åS ÷~6µt³t¢Kz< f”®}‚"kÅf,û display/usr/include/bits/usr/include/sys/usr/lib/gcc/x86_64-redhat-linux/4.4.1/include/usr/include../include/dmraiddisplay.ctypes.htypes.hstddef.hstdint.hlibio.hstdio.hlist.hlocking.hlib_context.hdisplay.hmetadata.hformat.h Ð8@!Wuóx.!su­ X!Wu×ÞJ½É4E£)%)èt“+½'Ý~¬4Ÿ&¢3ö!KWuYŸËÚ~t­MÉñKÉÉ‘Ø~žfLwGM%,­;KafžoX˼¬ueYÊ’%`X(x+åf˲LoO<K@r%Væ Xj!6%°KLNVo>M›M¾[X!ž@[<%J[º&žLrØX<&JßVhXzfN‚2tNž2<Nf2JNX2<N‚2J—×.”GK„?­KY«=Y«=ZV>mf„þ~º—]ä~‚œt¾à~<œ<@à~< JYß~#¡<­rß~Ö¡JØ:Ážçu«Ëpt’Î~ ²tÎ~ž²<Î~f²JÎ~ ²<Î~f²JÎ~^°º#2½rž"äfe 0¢!¯ ‘¯v=I…e.ZXÇYqK-[‘òž?ÉP\É=Y=Y#G(G…((3PJK= @û format../include/dmraid/usr/include/bits/usr/include/sys/usr/lib/gcc/x86_64-redhat-linux/4.4.1/include/usr/includeformat.clist.htypes.htypes.hstddef.hstdint.hlibio.hstdio.hlocking.hlib_context.hmetadata.hformat.h €J@—!WuuÓ~ž";‘…gA­Ÿ<sä‘?ørt–äN8¾8J°»/H]†zºdä»Y…H>,Ø’|ò#+ç×u;>V2jpjTN»« Èzò(‡ ò19J?ÌU0#+ËG‚?×M„ä£ Ap‚Ê‘Ig=Wig"IYsÇ¢å|6xXJDÉK¯ž;M;ÒJ[G?©ÒäÚ*\­Ç&zJ4Ñ3ú~žèF†F@8NYÇ¿LfØ^x=wfZ®Ž€ ‚ö8ÙV>LE^z<S‘ žѺOJ=È®&LMÎyCLƒz<xä »¹K­/M01¹ž/¡G3;åÿ„áÖU SÖ¬ º\AÖJ$ Øþ\fCZ W‘D‡Ö"8@i!;ƒY=;ÌöF@Pg†Ä ò½M:0=kxº¦zJ^µä"?G?¥zäÒt %v<å ‚g\YiJ…iº­ÁNi9»r‚ŸoJ‚û locking/usr/include/bits/usr/include/sys/usr/lib/gcc/x86_64-redhat-linux/4.4.1/include/usr/include../include/dmraidlocking.ctypes.htypes.hstddef.hstdint.hlibio.hstdio.hlist.hlocking.hlib_context.h °Y@ôò=W=‘¹ÉKxXò=W=‘;ÉKrÈ!Wä=õŸ'^ä…ë2Öeò¡YJØ“0ƒ?矷8,a$ôd> J\uÖ0Ëó®sŸ6 …5û log/home/mauelsha/.ccache/usr/lib/gcc/x86_64-redhat-linux/4.4.1/include/usr/include/bits/usr/include/sys/usr/include../include/dmraidlog.clog.tmp.o.10137.istdarg.htypes.htypes.hstddef.hstdint.hstdio.hlibio.hlist.hlocking.hlib_context.h P]@4y7'¡kgs“m­e)[Z¹stožÖutä!u× \û metadata../include/dmraid/usr/include/bits/usr/include/usr/include/sys/usr/lib/gcc/x86_64-redhat-linux/4.4.1/includemetadata.cmisc.hlist.hstring2.htypes.hgetopt.htypes.hstddef.hstdint.hstdio.hlibio.hlocking.hlib_context.hdisplay.hmetadata.hformat.hctype.h  _@ëwÈ fw:]nfÖ;nÈ ;ÌjtNtk…T‚,º»PÖ‡û‚¢)t4å\ä&.:LJ.É5òÉgFº‡žû\2< ÖY@!?òɽfÄX¼J‡Jû‚\<<ùV¬,ä>Ì¿<å«9JŽäv>]v>]„ã‚8$F@#µ<"€>»;Ë/Xž‘’»;Šž‘’œå»;Ò;K„ ò+KÙI,é t9?_yº—ÐÒrJIM;® XÍÖõG#/`Ÿ¡U1±sX»‘Z’I=-Þ<#9?1$kzX4x.$†{ò Hj­bÏy…-ƒž²zJ¤kåz0 ‚&z7ÈŽÈ!W»-K®NÉÇnEƒ*g. ‚IŸIüutÁ|8%oÏyX3o£v0Ûz¬èTNÉ<ƒåYeÇ~ Xïò19JM]aA³<õ6ƒZ„ÉgL"ŸµÄ.Y&½‚®[u/N¡Ÿy‚Æ "w<& O‚ -Äu.»qXhXvJ .pfÎ XrÈ t„Hh,å}ºóYpxueŒASXá ¬%uzÈ3Ë&#­³yJ‘­Y X ºn<"½MOT‚‚g#óç1jž/(QJ/.O¬(žt‚‰~f$T\b¢"âMïNCöutg?ƒ’Èöä‘Zƒƒ‰ä¢»ihu&‡Yxò ÖY[Y¹ig.‡3ŸŸužZHheKV"ò$~éEx=.ÇkÈ/I=‘LÔL */øÉjº ƒIŸYƒÇ<1?Z[g¶y‚iG19ç!e=W\Gi›~÷"IŸzÈQ¾.1UJ?ÉuLuqƒÁc½ò1UJ?ÉuKsˆBò1UJ?É! y>:Z’ º"z< $vò%ýä"i9?É,HZi„x/;=–Ñ1ìf=¼:>3çê:­tX,)J/WJg vJ®Y†‘>ÆaÖgW‚ó tž®Y½‚‘0ŸI=Ä‚[>ðvV€Ìxä"G?l‘hY­ 0Y iGqt fÈŸ«¯§änçÍ f[p w9Z­ZšzJçt™ztè<˜z<è<1yä ò‘¡G[xä(xJ6l ðy8Í7tO)y ‚w‚ ºw<ƒcJK« J9u=o<JLg÷7*_TtòÄòÌT¢?wšzò;M;ßJ JÇ<#9È?2!I]xÈ%x Dcf1Ÿ +ztóÿ^zJBíz $F@Y[b‘…?T<#9çq[U…KY{¥1n Cny ƒãò»YI=-×I=-À Ö&zt4“€ =‘C[q–»Pãv kY,fJ.hx=zÖñ}t’Èî}<’<5£Ÿ0L. tu0„ËÍj0+fEJ;XsäÍ|H"MqiÈhäi19M/MYê=;Yæã½f$Ÿ~J[œää}ä»@ÚXÈŠÈß~tËN=Ç0\U…‘« È×j ÿ\Ã@¢Ì3‘òÉ=ZÉKñ<‘‘÷G\›‘’ƒ ‚e.ƒr>zl{uJø JKKw<ƒLsOˆuXIö XuƒŠu‚Kø <f{;4#Ž®Xýf)0×É~X¢žCyJ¥Õ~Èæ‘K¨<r#0»Çi«fw÷ò+C8  Èw.‘øyJˆ<‘÷yJŠJöytŒÔQX"ó-J3æ¸LŸøy"ˆJøyJƒ=K‡<­säu‘häå ž"9i†Gt=žÊuõsX×I2)O£ XP ­*Ç„ rtÉ3Gò?&›Gä0KÇ„ýHû metadata../include/dmraid/usr/include/bits/usr/include/sys/usr/lib/gcc/x86_64-redhat-linux/4.4.1/include/usr/include./activatereconfig.clist.htypes.htypes.hstddef.hstdint.hlibio.hstdio.hlocking.hlib_context.hmetadata.hformat.hactivate.hreconfig.h ž@ˬÊZ®5¨¢ È$pxL€Z2k!S5w. 5 JçUM‘ƒåZ#V~ƒ¬nÖ‰~ 1[w«PzJ^z¬4¹~ž"ÆZ,ØY+4u@Íö4É@Π%H®=@Ätºut$òÂä²zJ¤kåz0 ‚®+z7ÈqfÖ"x…›M .‰zJñJ‘‘—†z<ôJ–7‘‰zLYø<¡ƒRyXQz<ƒƒƒ~QõyX‹JöyJJòyžK‹J÷yJ;ŠJõyJIM;ŒJÛOyJƒL»tÆÛQW³}JÆJ…uK~K¸}JÌJ~O²}JM;ÐJô¸fòxy¿¨m8,º8]0ãä"=†[G?ŸÇl® ò†u‰ô„½u€X.FȃMŸæ# *ÐY„sòZ1лb‚JbXgÊ(iGiɹL“ż,@$~è*JNY;Kn te‚<eJ$‚»zyäQy<™h<,4¯ÓÏû misc/usr/include/sys/usr/include/bits/usr/lib/gcc/x86_64-redhat-linux/4.4.1/include/usr/include../include/dmraidfile.cstat.htypes.htypes.hstddef.htime.hstdint.hstdio.hlibio.hlist.hlocking.hlib_context.hstat.h ·@9 "vuf Juf fw¬ J’6vÈ JsX Jst XåR…uºAyt@„huƒ=JJã|tXã|X‚ç|XM….]Öx 'wJÊ×WK^ÉØ<^<{03ÿû misc/usr/include/bits/usr/include/sys/usr/lib/gcc/x86_64-redhat-linux/4.4.1/include/usr/include../include/dmraidinit.ctypes.htypes.hstddef.hstdint.hlibio.hstdio.hlist.hlocking.hlib_context.h 0»@"!-­YŸŸ„I=-g‚“®:0É¿†tÈ0 Êû misc/usr/include/bits/usr/include/sys/usr/lib/gcc/x86_64-redhat-linux/4.4.1/include/usr/include../include/dmraidlib_context.ctypes.htypes.hstddef.hstdint.hlibio.hstdio.hlist.hlocking.hlib_context.h ¼@!W=å ‚!W=y.K;D3ž!W=É¢!W=fp$F@8†!>2!s=uÛs#uup=r>N­5t„‡vŸ»»t‚!W­Y¼:vŸ/ÎtžjŸŽ–=;aÈjTNÉ/·’0»;»;g0=[‰pZäi9…9ig/Wó"½­[g­ ÈržY²hs‘ ¿Nû misc/usr/include/usr/include/bits/home/mauelsha/.ccache/usr/lib/gcc/x86_64-redhat-linux/4.4.1/include/usr/include/sys../include/dmraidmisc.cctype.hstdio.hmisc.tmp.o.10200.istdarg.htypes.htypes.hstddef.hstdint.hstdio.hlibio.hlist.hlocking.hlib_context.h À@î!;=Ÿ=L–‚(xÖÂu;=[£^|K³jt fqyu÷~ò»ƒYv÷h <f<h<É/^žY¯f¬ƒïÈ‚37t¿1p¬Jpº‚ŸP‚[=2ÖMž:Ð?aJ ‚Jòg! "Jn /‹còh  ÖFº6¬xxtpwäׄ #U?ó? JjF2F/IƒLgeKÌ[tt=’Œ¾=WLi¬j8j8†g!/¯Mi¬/ÔæÉ×rjetƒK„­•/WKƒ®Ùz ^òQyt‚`^¤¬Ü~ä,ËužJqf"tä-?û misc/usr/include/bits/usr/include/sys/usr/lib/gcc/x86_64-redhat-linux/4.4.1/include/usr/include../include/dmraidworkaround.ctypes.htypes.hstddef.hstdint.hlibio.hstdio.hlist.hlocking.hlib_context.h pÉ@¬A[/eYå>åZ)OS ž=suX t‚ç¡û mm/usr/lib/gcc/x86_64-redhat-linux/4.4.1/include/usr/include/bits/usr/includedbg_malloc.cstddef.htypes.hlibio.hstdio.h PÊ@ùL–¬f=Z:>uËÏf¯Gº?åYÚè»YIg-f.!W>kLgRû format/ataraid/usr/include/usr/include/bits/usr/include/sys/usr/lib/gcc/x86_64-redhat-linux/4.4.1/include../include/dmraid./datastructasr.cstdint.htypes.htypes.hstddef.hlibio.hstdio.hlist.hlocking.hlib_context.hmetadata.hformat.hasr.hctype.hbyteorder.h `Ë@ˆ:KV#G?å;=$;=$;=»WZV1=T?$:>$;='Ú&zJæuY0g/ZYT$:0$9?$e=$eg$eg$eg*ŸLVfof­;/'„i7Lv[V$;=$:>$;=$;=$;=$?å;KÕ\gó;KÕ[X",>ž!I=Í|Jtr<Ê‘¥XKYV JÍ|‚tr<ÊYW²=Î| ² Î|.Ãä"H>Œ|JwƒI»Ÿóð»Œ|¬ô.Ü¡?û.!s>®{<ÉK€|trJ"YÓfIŸ»u!*¡G’WK\EJ¬|ò±ò#/„°ò577767779É9^‚56777766S7776666%/L<=I*77ÉI*6666666»I×I­5558+I­5666*cJ­5äŸJ!-uô¹xXktrJØåfY¯1W2k$F@ƒ©Ít!I=KÇ|. w< á{f£¬Kƒ…ïM…É;=Ô{f°¬K„4‚ëzÖò.·º2Õtu j@±{<£¬¯tKÓ~‚!I=‘!ªÒ~Ö¤JVºv' & &èL",„»»I/ß{t": d0œ è­;ôñòN)­K½è~fœ<=KÕóyº[+?€Jüy<„JzÖŽX[˽?[­WK;\¤ Y;=mÊ~tƒèçžš~;SºÈ”yºuÊñXÉ|Xv¡›å X ZYrJ†yƒvvRxžKWLw>LKE=jƒI=Ñ}ºÁ<çóþxJ‚JüxJ‡Xùx< ‘„XZzX ž¤~­èçžš~f;SßÈ…çK í Œ ¬K¨}<À|tát,.·'+¬jNFM­IY—|X&zäz1À‚§w"Ùt¶w<Ê<¨w<ÊYÚX”'׃R‰wXítyo>NL°ˆwtøXˆwXú;Y¡:’¡uÙGhÈœz@"gt®x­I‚¡…‘I^¬øžb¬ƒ¿ä tX òvt Jõ¯¨%îtZ­¤g¬MÈ=…µÖm(,v#,Ë܇¿ ž´ºÚdfJdžÖ!¾<ìPµ~ätr~‚÷¼‡~¬ù.ÄÖ!s>H<$~…ó666677776667777¾YÙ38888w) JwÖ ÈsfK0!-uóYX"pf<µS'LrhJtfX‚Ù×v$#h‚th‚thXsº#‘°~òIM;¬žâ~h"nJtnJu‘I ž; <lž Ö;XÇÜežYI7öäQyä <z n!ñu1útiU…q“ }fã}tä.ƒMsK˜}J‚×X©}<ØÈ?Xf(JZ&<ZJ ¬N<“­[Ö`<‘¡GZ‚Ê}0É1û format/ataraid../include/dmraid/usr/include/bits/usr/include/sys/usr/lib/gcc/x86_64-redhat-linux/4.4.1/include/usr/includehpt45x.clist.htypes.htypes.hstddef.hstdint.hlibio.hstdio.hlocking.hlib_context.hmetadata.hformat.hhpt45x.h €AØ‚1iÛ‚¡ifH!s>y‚¥=Ѻ#+?#i?&f‚„ò"H>½~‚É‚®µ~XË.8f!s>T<$~ Xt< ttfZ„ó34445555'Kã *­555'Kã Iž!ãuô¨¡G?p.<}R'r‚.YoX‚ÚvN‘™òIM;ëž th‚th‚th • "sJ tsJ‘N qž÷ .ÇÎjÖt¨äQyä <n!u=‰"·ii׃LFÜ}t¤‚A×}t©X×}J«‚å}<œÈvh‚t“"¨¢Fà}ý <>_‚²Åe†Zû format/ataraid../include/dmraid/usr/lib/gcc/x86_64-redhat-linux/4.4.1/include/usr/include/bits/usr/include/sys/usr/include/usr/include/scsiisw.cisw.hmisc.hstddef.htypes.htypes.hstdint.hlibio.hstdio.hlist.hlocking.hlib_context.hmetadata.hformat.hsg.hctype.h ð AÔeKÊ”IKÊ>Ît;$*=?E?9¤e†.IKôf‚ qJ‚qº=æÖq Itq‚euñu(J.suñuñuÀAwJK?NKŸ=Yzz<>N+M»;®XtvWY\Èw’;;Z:;JKB§{<#ñ~ºXKIKLá~ò;666666777+9­66C׃)LHLVm0“=zZ====××A/fif[G?;>>>>???4z.®??A‘å:>Vm(qf‚q.Ø>??????—Ì@BBCCCCC89¯YŸå6Lðkg2K«¾[ž(žRXJH÷ ´xXƒzHo fèQš\‘v¬£;E ÖSÛyò ‚>:¼/él f  Ÿ•6tZ®ƒ$ <19J?Íþ´EgNŸqžŸv<óJ/ŒqXòJ0w 5u.!IYLÉ=I=¦¯G[=‘Iì€ . w< , >‰u×KMKzYe  †p2 äV„,L,>:˜S…yJ"LG?=vZ;MrÛ~J¥XÛ~<ªf’‡ƒ¤ ¬iº ‚¯L€„ƒÁ~ò¼¸ZH´äv@Îyä!;YL!Íz Å ò!¡–zºÊ-ƒ¢ûëäÏqžÇ~ ¹‚Ç~<À —~,tStuuu*ò¿‚Y–~fuïÞxtOE JE…211uIY2KI/w‚€ %uJ .¤XØfþ~,tStuuu*òVòuŠ<%My<@Mj <&2»g÷þ~äV‚,tStuÇuÇu*téºí~ºsuÇuÇu–žKI=Kɬ×~<=•òËò"qw[ÓM2a4È"bLdå‘‘IY„–õ»ƒƒ fztwPtMcå’‘H[IMK‘1ƒILIKƒZÈEgžì5v¬‰@ sX Ö$=I fKKIK]F†šžŠäÁÅzžÂP ,L§y_<JKK’]‚宸>ÉzÖ·<ÉzJº./K•7A–zt,tStuuu*ò´žÙfÉyu©´òòuòÉc …ýM žãuœ}"iGÉu‘ªIwÖY  ¦]ƒ} ýt­¯þ|J‚t1ú|<†t[ö|tŠtMò|<Žt[í|t“tyé|<—tÏ XŸŸe=•yòC¼{J#Uf?¡[@Ä=IY…Ûº&z.ˆ,$½ÀHug¹­‹ º"zf–É>g¬&™l<éw\é8 ‡. Jzz.5zÈÞ0ÈB³È­tðÖ+tœ{žäJœ{.š¬±tt’r>u W‘YZù/.æ¸~.Ö¯ÍzºÄpÃ{ÖƒY)WÃÖ òºiJ&ZŸgZº­Ùlò«JæiJ¦ïž‘}X’JÜlV¡”[»=yKgŽ[ƒ¬Ž~äÀ} ¨¬à™äöFUºŸ?ÊÄ)ƒ»J·òiJµµ¶cº„v)%„KŸ—n‚Ÿ¯PEYÕKYZ:Lgwf@HsXö8“‡ÑX1ªtWtøÈæ|¬ J/v< J»uøŽ1”Šyd>‡iYe‘¥žÝ‚=¢JÝJu¢JäÖœääJœ‚áJ? u¹KA”Xï  fI?:Yd[ÿž¨y*`‰}J˜îÖƒÒ‚®yJÒž‡É”òÉ‘Lç…¡¼r|geK˜žFòK-K…×;=gÂ6KsKƒ…¡‘ÄvX¾ X…Ô}/„ªL®JŒzš‚‘Ó~ ìxFsuuu*ò¾ ºÛ~‚½w u†È¾=åmt¦“ÖxYe/;KZ†¨>V ’…ÌKÚKK:L»pXÅ<L<œ‚nº˜öÖLKƒ€NYîpJ•J:L9îpJK“ K-KTÏ(‚ƒxtosfÓAn¡‘;[“•N%YÚ~ÖåñÄòE]ä”é­Ê,\ ¬\h/JÖ0t ºl.Ð~.»ñät1 Öõ€vw‚ <vtY)&b)Œžåñ´ ±?2))Z'+) *¨)¾'Ü*ÿp,!ãu1™‚«fÝP¤|ž˜ÜËJ?G…H°Mg)NBz<^.¬@±I" ‚ØÏ}‚Ò‚­×EMG?Å„4û format/ataraid../include/dmraid/usr/include/bits/usr/include/sys/usr/lib/gcc/x86_64-redhat-linux/4.4.1/include/usr/includejm.clist.htypes.htypes.hstddef.hstdint.hlibio.hstdio.hlocking.hlib_context.hmetadata.hformat.hjm.hctype.h @iAú!=uJ .u< JuKƒºH"V>’ج"H>“~‚õÖ,®:X!s>R<$~ÈlXL„ó@A76667777,9¯'Kã GiXfiJ¬“­Ó¡GÚ~#ý?Òò~Ès–äÉ+û format/ataraid../include/dmraid/usr/include/bits/usr/include/sys/usr/lib/gcc/x86_64-redhat-linux/4.4.1/include/usr/includelsi.clist.htypes.htypes.hstddef.hstdint.hlibio.hstdio.hlocking.hlib_context.hmetadata.hformat.hlsi.h àsAÝ!I=¼lØ®z¬Az ²AIKU°ÅtH!s>­3fñ~JJü~Ö vX <Ét!s>A<%}XqJ‚q.L…  v<å2:6996:6ƒ7>=PP@@mBt998¸ž!ãuôY¡G?s.<}]'…Œò÷‰º÷<[vŠk‚tk‚tk µ‘Ò~òIM;äÙL,Lgº ‚=fž ‚AÎj¬<d< ‚@ätQyä <n!u=Ë"·iiåƒLß}J¤tyt£Þ}¬¥ž@H„½­ý¯G•~ò!ÿ?h)û format/ataraid../include/dmraid/usr/include/bits/usr/include/sys/usr/lib/gcc/x86_64-redhat-linux/4.4.1/include/usr/includenv.clist.htypes.htypes.hstddef.hstdint.hlibio.hstdio.hlocking.hlib_context.hmetadata.hformat.hnv.h Aƒ‚1iÛIK%®ätH!s>Ÿ6tIKLÉåðt!s>¶<'y‚tqJ¢…ó:445554p4Jp<‚Õ\ãKj ƒÆ]/ÇYædY);­41K;j555544444444444³žôH>~‚ú‚/†~äófMg8jä!ãuôc$¨”à@_ÈLðL$<`Öv žl‚tl‚tl vJ¿‘—~òIM;Özhtˆ-=;\ <Ì`5û format/ataraid../include/dmraid/usr/include/bits/usr/include/sys/usr/lib/gcc/x86_64-redhat-linux/4.4.1/include/usr/includepdc.clist.htypes.htypes.hstddef.hstdint.hlibio.hstdio.hlocking.hlib_context.hmetadata.hformat.hpdc.hmisc.h 0A•‚…i‡IKgg ž O!s7Q=•!I=LÞQq º¢@sfw f žI#9=L­Ù‡‚ÊhJHLˆvÝ!s>h<I 7‚H‚ó2:6:6;9>:::9==9=>::::::9:::9=’;==<& O}OzÖ ’|‚î<•|fe[ä‚Jˆ}ž'yX{ )d„º(xÈ´xJÂxžg‰«jWª|8z zòtJz 4pž¤zfÀ fPnºtë!I=K.y {y<òl<ÖwrZ–Öò{ Ž<â0Žvõ{¬eXƒ>iä1= Ju<ƒLZz .tƒ‰’K+>usKÍX“M`tX ñJtŒtdÖ·iÎJ‰}.ƒ A¡EQyä <o!ãu1¡‚fuLmºJ>kXJ)ObJÖ%ÈKtfLdXg?GM2U(/äQupÖiG~ òs¬!ÈÈ+û format/ataraid../include/dmraid/usr/include/bits/usr/include/sys/usr/lib/gcc/x86_64-redhat-linux/4.4.1/include/usr/includesil.clist.htypes.htypes.hstddef.hstdint.hlibio.hstdio.hlocking.hlib_context.hmetadata.hformat.hsil.h P£A¦‚…i‡‚õi òH!s>×=<"H>LJqttu tí!s>Â|<(xXz8óÕ¬’½“ $~Xmf.mž „ó26664644648888w8€88888888888877788888ƒ2…88Å}È!;=ƒ;Ki=Iã¬!ãuôR¡G?r.<}X'LðL…v•‘Ð}òIM;¹òj‚tj‚tj ¿}t^Ñ(~…yJ5y ò¿71L,L!.ØÇÏ›ãäQyä <n!ãu1Ä‚OS]§O[ÖŸ f*<Wt#d ºM<Êue==ƒH;­‚ÚJsM€¨JËsJòϺ“í{º–<,L$°äIÅJ‘ äuÖOò`z^3 ¼ƒ}¬XˆfJ twžÒ@hz‚ Ö­s=sjfGä±S¼½ qJvJM5;<EJÁºq‚f´3¯. É8®tÒ<±f:Xåè/ädMX'ž­ŸIYH%Ý+û format/ataraid../include/dmraid/usr/include/bits/usr/include/sys/usr/lib/gcc/x86_64-redhat-linux/4.4.1/include/usr/includevia.clist.htypes.htypes.hstddef.hstdint.hlibio.hstdio.hlocking.hlib_context.hmetadata.hformat.hvia.h €¹Aº!I=K„éôØakAÛ‚%$H!s>K˺IKLuºHLœ~‚êž…ÈÖ!s>E<$~ºafZ„ó458:;;G;;>>;5/:Y49'Kã¡5¨ä#w $è~¬#+w tutv‚I=IJ[×<y.;ŽX!-uó¾X¡G?r.<}\'LðL+v¢‘¹~òIM;ÁÈ j‚tj‚tj Ô~ä?GM]Jõ-=W X:<P"žÖOž"òP…efäPä8#¶ÈQyä <z ¢!u=ç"·ii׃LF£¹}¬ÉÈÊ}<·‚?Iƒ½­²}"Ëä¡G%Bû format/ddf/usr/include/bits/usr/include/sys/usr/lib/gcc/x86_64-redhat-linux/4.4.1/include/usr/include../include/dmraidddf1.cddf1_lib.htypes.htypes.hstddef.hstdint.hlibio.hstdio.hlist.hlocking.hlib_context.hmetadata.hformat.hddf1.hctype.h €ÅAúK-ƒ°zJ& „*C;=;==×",>ž¤z B,.!s>Ý}­-­¢äHv!ú<†~.úffoªJÛJ™ªtÛtf¯{"Ñž±{JÏ<¯{<¼Ó%„ÆY‘YÿY¿{Ç<¹{J0!Žv#tµ ÑzXÊ­ÛÖó{XÈó{fZ"gÖ<ºB7øNY7K@;ɾbY“Nݬã~ä®{w¿J>‚BXÀº!Ež®…uf XŠJ“­?Âíž”tì$”<èz6òã¾Ü'×À{ò<ò(gIôJŽÖgß|èWå—|tÒ`âz‚ètZTß|ò´/ HhL»æå‘I=¯û}ò&zäz1΂¡yßt¡yJ®­çÈ¿Ñ"[–s=;˜‹…HLGA/¼­‘×÷­‘×õjâxfšJ= f×xJ¬ãxJtKöH=×¼‘ÝxfH¥¬ÛxJ¥tK¾Øxt¨.ØxJ¬XcKƒƒ@ƒb@B<>=BJ>.Ô|JÊ:Lè{XÕJÞè{<Õt«~<Ø<¨~¬ØJĺ$ƒÊHº}ȃÇ<º¬ wX ‚¡j$.$wŸ„Ÿ~¬¹=;–­ÙKŸñ™ºr­²~¬YÏX°~tYÐX¯~tYÑX®~tYÒX­~tYÓX¬~tY“X¡£~ å×:Bt‘>¯ Ö†ƒ#—ç­Y&è­=†Y ¬$ òåDD×6u«% ¼6\XH@$P*öåû~º‹G®Vv#]+—*öåá~º¦XW­=W–: .q¡Û3"G“(zÖ(8t!IYI“Ö{ä"­•¬ dZ·|JÉž·|­•¬æ·|Éž·|St.fRJÈSÈS19JiYŸKX‚H‚Hfgt.gt$wwwstÈx1xxÁei‘gŸG X¢žàòx<­TJv:æ/X!W>wf!->"Kû format/ddf./datastruct/usr/include/bits/usr/include/sys/usr/lib/gcc/x86_64-redhat-linux/4.4.1/include/usr/include../include/dmraidddf1_cvt.cbyteorder.htypes.htypes.hstddef.hstdint.hlibio.hstdio.hlist.hlocking.hlib_context.hmetadata.hddf1.hddf1_lib.h péA>K10YYTOSå;/'£K1&;/$;='OK10YU$;/'JK10YU$;/'OK2;g'4ò$œÔ>vd÷1U$;/$;='Lä~fœfWNnXt\PzžC¿~Ö!=i2Ä$;/$;=$;=×IƒeIKe;K"IYGƒ€¡ƒ~BzfOƒ$eg$eg$eg**eg$eg$eg$eg$eg$eg$eg$eg$eg$eg$eg*-äKi=YV$G?rñ.@ƒÙåÙ»„»„æwƒŸ¼=ǃW¯ÙƒŸ¼gǃW¯×vÈvtqtx£tùœLd <w<ÍjYs=ÀG .už ‚xž$WK$WY$WYÛSŸj9išKej_Wƒi2i&Ie;ƒ[f&t,Iƒm•ð~ k;û format/ddf/usr/include/bits/usr/include/sys/usr/lib/gcc/x86_64-redhat-linux/4.4.1/include/usr/include../include/dmraidddf1_dump.ctypes.htypes.hstddef.hstdint.hlibio.hstdio.hlist.hlocking.hlib_context.hmetadata.hddf1.hddf1_lib.hctype.h ùA!%‹‡aÖOux J2Ÿ¯¼,ZJ=W\IŸp-“&34ÉÉ4455566546888887777777777777777ÿ.$à0æ,„r ×566777×!;YgIYG>Ÿ'M©Üä¬~ ÔȬ~ºÔXž¬~J»×V­ååÛ~t“)56×777œ7ê~t)56×67‘7õ~t)567ˆ7óý~ž‚äþ~‚‘‘6777üÖ?‡t)567ö7­žðä‚‘‘7677êÖk<tgtògt±òkô&ž]È&56×66777777766666666::77„d?ï…K/ÿKÇK;=« û-û format/partition../include/dmraid/usr/include/bits/usr/include/sys/usr/lib/gcc/x86_64-redhat-linux/4.4.1/include/usr/includedos.clist.htypes.htypes.hstddef.hstdint.hlibio.hstdio.hlocking.hlib_context.hmetadata.hformat.hdos.h ðBÌ$Œ@14ztŸeÜ£"V>t!s>‹}<"I‘’Ye0Ž0$8°~¾*NbjóAÅüt"p¢1M[$”TK‘’°¼J <#XK\Ji‚ƒÇ<ôÙKº03¼J¡MGY’8äÚ~§X;Ú~J§JØ~X[;¦JÙ~‚IM;Y§XFX„Öž"yJCytQy‚CnÌ#f5Ø`fZ9žs¬ï~t‘fT.>Ö©l‚ žƒ×~È!Çu4²tËq?U?õu ‚u.Myz‚Mzxû device/usr/include/linux/usr/include/bits/usr/include/sys/usr/lib/gcc/x86_64-redhat-linux/4.4.1/include/usr/include../include/dmraidpartition.cblkpg.htypes.htypes.hstddef.hstdint.hstdio.hlibio.hlist.hlocking.hlib_context.hmetadata.hformat.h `B/†F$ y]fyJ%íA…K-=kMc="e vT¯Mfû device/usr/include/sys../include/dmraid/usr/include/bits/usr/lib/gcc/x86_64-redhat-linux/4.4.1/include/usr/includescan.cstat.hlist.htypes.hdirent.hstddef.hstdio.hlibio.hmntent.htypes.htime.hstdint.hlocking.hlib_context.hstat.hmetadata.hscsi.hdirent.hctype.h `BÕøJˆ}täø<ˆ}Xø<‹}XK!/Õh0i tižtiòW×O‚õ»Úu`t×?!q8‚÷t"w­;=&ÉÊóy………j#Y¥6@k7¬•“›žé0x¬ôJ²‡¬;æÈå«=I¯·?9ý~fÄxÉ{égt–‚‡~‚ù<„~Jƒ>eKý<…„‘gžaä)É %†‚¬ò~Ö×8ÓÖ=;i¨@F‚½ŸŸs’K¹‚Ç~.¹XÍ~X®©¬ÿ~XŸãr8—fã„:jȆs9ʬˆzfê JA"¹ŠÌu“uXsò?.Ø3û device/usr/lib/gcc/x86_64-redhat-linux/4.4.1/include/usr/include/bits/usr/include/sys/usr/include/usr/include/scsi../include/dmraidscsi.cstddef.htypes.htypes.hlibio.hstdio.hsg.hstdint.hlist.hlocking.hlib_context.hmetadata.hscsi.h )BùDxt|xJRÉŸ×=e=^¸%I;Wf&J^<9KK)JY<'J×g ò‚r‚Xr.OMw‚vIR*vKuug€.û metadata/usr/include/bits/usr/include/sys/usr/lib/gcc/x86_64-redhat-linux/4.4.1/include/usr/include../include/dmraidlog_ops.ctypes.htypes.hstddef.hstdint.hlibio.hstdio.hlist.hlocking.hlib_context.hmetadata.hformat.hreconfig.h @+B õ/I=‘V°¾O/¬×-=ilXƒQ¼Kuu. <uJ‚®gf96O3Eû device/usr/lib/gcc/x86_64-redhat-linux/4.4.1/include/usr/include/bits/usr/include/sys/usr/include../include/dmraidata.cstddef.htypes.htypes.hlibio.hstdio.hstdint.hlist.hlocking.hlib_context.hmetadata.hata.h ð,BÎzXJBó=KZC†vȹ=Ç @¦û /usr/include/sys../include/usr/include/usr/lib/gcc/x86_64-redhat-linux/4.3.2/include/home/mauelsha/.ccache/usr/include/bitsioctl../include/linux/usr/include/selinuxlibdm-common.cstat.hlist.hstdint.hstdarg.hlibdm-comm.tmp.o.30263.itypes.htypes.hstddef.htime.hstdio.hlibio.hlibdevmapper.hstat.hlibdm-targets.hdm-ioctl.hselinux.h  -BËY®ègâž?Ë?Ë?Ë?Ë?½Èš{òö*t@Fˆz<,õ&%“»s'„:ôg'>ytÀä#9@ã .•vÖYZBÌ{<"VJ>:>ŸõÓ1GØgÕ/I‚X$~°á‚¡J“¿,yÖ'yt5Iò£7}kÉ…òý~JKuã ºl2 ºê/yf,sº\'"¢8¾"@)H#•õ£Y)=M»o(&t*Aà0…9Ù&zXB f"K^J"f=uuuuuuWtZ;KVZVŸ|‚₞|Jh­®us<ô{JŒXbÈ3©|òÙt§|3!2» ò¡9¡9MUiU9Bzf¤¶XÌ~JKuãù1ùÀ.À~<ÀXÀ~ä=¿‚Á~X/ã2„k'k2t>BÎfO.1tOºü~<,äÞ|‚€‚€|4¿Ê/uuuuuuuwoäŸy.*Á.¢*Ö@T@˽Û/;YZv%c0¢*@#D/„xt½»{<KZ µÇû mm/usr/include/bits/usr/lib/gcc/x86_64-redhat-linux/4.3.2/include/usr/include../includedbg_malloc.ctypes.hstddef.hlibio.hstdio.hlibdevmapper.hlog.h  DB¹À×${yž…VŸhóT žZ-pJŸçpž"òK—Iß'Æ~2pAßX@l JEIQLLlz/å†ß~òM9i3Ÿ¯xX&©[û ioctl/usr/include/sys/usr/include/usr/include/bits/usr/lib/gcc/x86_64-redhat-linux/4.3.2/include../include../include/linuxlibdm-iface.cstat.hstdint.htypes.htypes.hstddef.htime.hstdio.hlibio.hlibdevmapper.hstat.hlibdm-targets.hdm-ioctl.hdirent.hlog.hdirent.h àIBÀ^guuvKuJL tçȉ…¥i i i iv”=?¡vMºw“w“w“? ÈvúK­Y¡IÚKY»Y®ŸŸÿ~tÒuòw’IKY‘¨_ŸZŸZŸZŸZÉ[-=-’XxX 66aY$ð~‚(xJn^É‘?¯vž X‰{¬^ztP²zÈk äƒs ò?ó,jX/–.@’pžu;K‘vJBîòL ž_sÈ“ƒ»ÉJ%\e=S±ŒÈ÷#‹tõ¬ ºâ~òžäù}XˆK'áò¸òÙòד+PôØ=¿É$ü~ž4(åÉ-=Z“$H>ø‚ˆ~‚øtˆ~.ø<ˆ~‚ø¬ˆ~X‰K9%A’tå-?[?ÊB /¯$çÖËçUvÉ-/iåÉóôŸŸŸ=$ÙÖ <³¡+ç“~ɹl‡±Pz<=uuuvY;/Y†ó¹l‡N8=ƒ„Z€1ƒƒOsƒY®„,0ksƒY®ó­,”Ùç{ÖÄÙJ§|tLKIVLV^× ºëf¤%ë{<±¬QhºÉ)È äö‘;iç̰K}­KIKOƒ¾YÌ È,vY®ƒƒƒYƒ„KLrOº~JÄž¼~J"rĬ¼~‚…9,ÿKll„ŨA­KIƒZ>ƒxJƒJýw¬ŠJ¬JÔ~Z;ZLÔMÅOYwJ X˜…ƒÞäÇ},Y; <xt´xfkØŽN­àÈ‹~J½ ¼…~º„*#òç‚3,äÈK)2‘Y‘pX‘vZ1u˜y?EO}÷ tw< fyfüžå]Xɶ~.ª3n;uY¢ž0"ŸþBê~ òÐùAÅ|äÒ~tæ)¦$¦-ßž…~.Ï)­ÇnÉ @wº/JÈ"B3 Ö7/;= :MÑ~†/oX<pº@8\º?¾Y]=÷=L€Kƒï}ž’J낆|<Ú»fIòXcž ȃ«/Y‚m.žt»K<¿0ƒsÈ=æ:>læ:v%=Rsò "‘‘Ÿg.*^"´ä;=4S)st;=4S)t%Ÿ;g&/(+ &zž$€ºMnçg JIy“'2Îû datastruct/usr/include/usr/include/bits/usr/lib/gcc/x86_64-redhat-linux/4.3.2/include../includebitset.cstdint.htypes.hstddef.hlibio.hstdio.hlibdevmapper.h °lB0Ô#Iƒ-  7AnXf/-=;lÈ’9Xx‚^_yX òLòiòY;YI HJhiY°]:>2u$ìeóû /usr/include/sys/usr/include/bits/usr/lib/gcc/x86_64-redhat-linux/4.3.2/include/usr/include../includelibdm-file.cstat.htypes.hstddef.htime.hstdio.hlibio.hlibdevmapper.hstat.hlog.h  nBÊY;/])3»®/W=W/I/dÖË XYý0û| Mõ)T( tvt!=uÉ!ƒ #4 ‚k‚É_yÖ!ƒ(ÖÐû mm/usr/include/bits/usr/lib/gcc/x86_64-redhat-linux/4.3.2/include/usr/include../includepool-fast.cpool.ctypes.hstddef.hlibio.hstdio.hlibdevmapper.hlog.h ppBÀ@q=u@#ƒu#=½[G?²…ƒKI@pž~5'©äY;@ƒvYʼÛw$rf¸tŸ;kY¡½ËwÚ q¬rtdòÖ=Z:>/ËmJƒIÖ=Z:>/×Nm$;=:>/¯R0V>VLr"Z:>6GÚp†×;ZLt‚-ùt¡9g>iv?®w­¾­’q‚oItŸ>­²KYKvJX2Fuf:5I=-ÿÿÿÿx  -B"Ð-Bà-B ð-B .B .B  .B 0.B$@.B˜aŒƒ†Iðà/B Aƒ$€0BJ†ƒQ Œ$1BµA†LG°!ƒ$Ð1B‚^ÀAƒŒ†$`3BªY° ƒŒ†$4B‹JކYPŒƒ< 5BÔBBB B(ŒŽD0A8DPƒ†$€7B—J†ƒK@Œ 8BoAƒ]0$8BrBŒVƒU@$9BÇJ†ƒ^`ŽŒ$à9B5JŒ†L@ƒ$ ;Bk€"ŽŒ†ƒ<0=B½BIB B(A0A8D`ƒ†ŒŽð?BODƒ@@B‹J†ƒG $Ð@B:J†ƒTÐ"Œ$BBÀA†TD ƒ$ÐBB¤J†ƒP0Œ$€CBzJ†ƒK ŒDBNÿÿÿÿx 4P DB/BBB A(A0D`ƒ†ŒŽPPEBND$P EB[BŒZ†D ƒPGBgDPpGBvDPðHBQM†ƒG $PPIB„J†ƒK Œÿÿÿÿx pàIB5p JB p0JB p@JB pPJB p`JB ppJB p€JB pJB p JB p°JB pÀJB pÐJB pàJB pðJBpKB'Dp0KB>DppKB$p€KBBŒDA ƒ†pLB:FƒpPLBWAƒ<p°LBEBLŽE E(A0A8Gàƒ†ŒpOBnD$ppOBíe€"ŽŒ†ƒp`TB6Aƒp TBå<pUBhBBB ŽE(A0A8G€ƒ†ŒphB¶N`†ƒ$pÀhBSEŽT†ƒMŒG0p jBkJ†ƒG pjBkJ†ƒG $pkB9TŒ†ƒQPŽp@lBgDÿÿÿÿx € °lB:€ ðlBY€ PmB € `mB$€ pmB¨E^0ƒŒ†ÿÿÿÿx  nBSJ†ƒG $ €nBâJƒ†TÐŒÿÿÿÿx € ppB € pB€  pB$€ ÀpB³JŒ†L ƒ$€ €qB§JŒ†L ƒ$€ 0rB¢JŒ†Q0ƒ€ àrB € ðrB=N †ƒ$€ 0sBREŒU †ƒ€ sBMJ†ƒG $€ àsB«BŒN†K ƒ$€ tBíJ†ƒQ0Œ$€ €uB„BŒD†D ƒ€ vB%$€ @vB?A†DD ƒGNU C 4.4.1 20090725 (Red Hat 4.4.1-2)short unsigned intlocking_namesub_minorunsigned charlong long unsigned int/devel/dmraid/1.0.0.rc16/toolsargclist_headlong long int__mode_tlib_versionshort intlib_optionsargvuint64_tunlockdmraid.cprevs_broken_chainLC_REBUILD_DISKcheck_activatet_group_delete_sets_shortbufLC_HOT_SPARE_SET_IO_buf_baseLC_DUMPLIST_FORMATSEND_REBUILD_display_devicesNO_LOCKGET_MEMBERSsave_spare_name__off_topt_idxNOPARTITIONSt_linearcheck_actions_arguments_IO_read_end_filenohelp_IO_backup_base_create_setsUNDEF_IO_buf_endstdin_old_offsetLC_TESTDMERASELC_SETSt_raid4check_part_separators_init_IO_markerset_actioncheck_actionsLC_PARTCHARfound_devs_IO_write_ptrLC_DEBUGlong_optscheck_create_argument_sbuft_raid5_racheck_identifiersM_RAIDNATIVE_LOG_IO_save_basef_maximizet_raid5_rsLC_VERBOSEcheck_spare_argument_lock_flags2check_activestdoutcheck_optarg_eraseD_INACTIVELC_GROUPM_DEVICELC_REBUILD_SETLC_OPTIONS_SIZE_IO_write_endlc_optionsoptindHELPt_raid0_IO_read_ptr_display_setsRAID_DEVICESneeded_IO_lock_t_IO_FILEs_setupLC_IGNORELOCKINGt_raid5_la_markerss_undef_display_set_display_sets_argt_raid5_lsshort_optsallowedANY_IDoptionDEL_SETS_hot_spare_add_setMEDIAdelim__func__LC_FORMATD_ACTIVEf_partitionsROOTt_undef__pad3_hot_spare_adds_okmetadata_needoptarg_defactive_typeLC_COLUMNprepost__off64_t_cur_column_IO_read_base_IO_save_endf_setLC_SEPARATOR__pad1__pad2has_arg__pad4__pad5RMPARTITIONS_unused2s_inconsistentcheck_separatorhandle_argsNO_ARGSt_raid1s_nosynccommands.ct_raid6save_drive_name_vtable_offsetLC_DEVICESt_partitionM_NONE_IO_write_baseBLOCK_DEVICESLC_CREATEtotal_devsbuild_setscollapse_delimiterprocess_partitions_change_settoollib.cA_ACTIVATEactivate_or_deactivate_setsstr_tolowerA_DEACTIVATEactivate_typerd_tmp__list_addreload_setdeactivate_set_biggestrd_addndevlib_name_dm_raid0_bolget_dm_devsscopearea_sizerd_list_smallestfmt_typeuint8_t_dm_raid_devsdm_unsupDM_ACTIVATEsegmentsrd_remove_err_targeterr_namelast_minGET_DEVICE_IDXdo_devicerd_ref_dm_raid45_bolDM_REGISTERlibdmraid_make_table_dm_path_offsetGET_REBUILD_DRIVE_NOdm_whatrs_need_synchandler_infodm_raid45UPDATE_REBUILD_STATEdm_register_for_eventerr_target_nameadd_rd_dummytype_handler_dm_unround_downswap_rdswap_rsdm_unregister_for_eventcreate_error_targetdm_raid0dm_raid1dmraid_formatrd_firsterr_targ_pathGET_NUMBER_OF_DEVICEShandler_commandsactivate_subsetFMT_RAIDdm_partition/devel/dmraid/1.0.0.rc16/libt_scope_localrd_actionA_RELOADALLOW_ACTIVATEevent_iodelete_error_targetuint16_tdm_undefreload_subsetget_rebuild_driveget_rdsvalid_rdcalc_region_sizevalid_rsFMT_PARTITIONunregister_devicesmb_128_dm_raid0_eolt_scope_globalCHECK_HOT_SPAREdm_spareGET_REBUILD_DRIVEALLOW_REBUILDGET_REBUILD_STATEmirrorsuint32_terr_targ_sizeGET_STATUSdeactivate_supersetactivate/activate.cevents_dm_linearevent_rdlast_dm_raid1_bolDM_DEVICE_REMOVE_ALLDM_DEVICE_STATUSDM_DEVICE_INFODM_DEVICE_LIST_VERSIONSDM_DEVICE_TARGET_MSGDM_DEVICE_MKNODES__s2_lenDM_DEVICE_CREATElive_tableDM_DEVICE_REMOVEDM_DEVICE_VERSIONactivate/devmapper.cDM_DEVICE_SET_GEOMETRYDM_DEVICE_RESUMEdm_createDM_DEVICE_SUSPENDdmraid_logtargetshandle_tableuuid_lenDM_DEVICE_LISTvalid_ttypedm_taskdm_removedm_suspendmkdm_pathDM_DEVICE_RENAMEdm_resumeparse_tablesuspendeddmraid_uuiddm_infoDM_DEVICE_RELOAD__s1_lenrun_taskDM_DEVICE_DEPSread_onlydm_reloadtarget_countdm_versionsget_target_listDM_DEVICE_TABLEinactive_tableDM_DEVICE_WAITEVENTcheck_table_init_dmDM_DEVICE_CLEAR_exit_dmdm_statuslog_rd_nativefmt_listlog_stringLC_DISK_INFOScheck_nulldisplay/display.cct_devrs_namelog_funcformat_listminlenget_format_namelog_fieldslast_loggeddisplay_tabledmstatusLC_RAID_DEVSsep_sav_list_formatslog_uintNATIVElh_sizegroup_activeLC_LISTS_SIZEct_sparelc_listslog_uint64LC_FORMATSLC_RAID_SETSlog_handlerdev_typelog_handlersct_alllog_deviceslog_fieldcount_typelog_rdlog_rslog_disklog_formatunregister_format_handlersf_setup_rdread_raid_devfree_format_caps_write_metadatalog_zero_sectorselemalloc_meta_areasdev_found_qanoperationalf_set_sortread_infof_check_contextalloc_privatefindf_file_metadataf_read_metadataformat/format.cregister_format_handlerregister_fh_check_raid_setsubsets_raid1001join_supersetf_is_metaalloc_private_and_readinconsistf_to_cpuinit_raid_setget_format_capsf_namef_checkFIND_TOPf_create_set_rs_statuscheck_valid_format__loff_tFIND_ALLf_devices_contextdev_tot_qanunlock_resourceinit_file_lockinginit_lockinglocking/locking.clock_filelog/log.cgp_offsetfp_offsetreg_save_areaoverflow_arg_areaplog__gnuc_va_list_prefixeslog_alloc_err_prefix__va_list_tagrs_list_ISgraphunified_statusbuild_set_free_dev_infos_free_dev_infoget_raid_setget_dm_typeprocess_setsdiscover_raid_devicesnew_rsadd_sectorswhereget_set_typecheck_size_ISprint__resgroup_setget_set_namerebuild_config_raidsetcheck_raid_setslist_add_sorted__a2closestdso_get_membersrs_failedcount_subsetsraid_typebase_partitioned_setdm_asciivol_namestacked_ascii_typers_tmprd_statuspEnddoublers_nmetadata/metadata.c_ISpunctcompare__accept1_free_dev_pointersf_sortparse_rs_argsget_type_indexraid_set_descr__a0__a1sub_rsdmraid_groupdelete_raidsetscount_sets_ISxdigitalloc_raid_devdiscover_raid_devices_spares_ISupper_free_raid_dev_IScntrl__accept2__accept3_free_raid_devswrite_devget_stacked_typeascii_statusget_statuslen1pSizeUnitlen2find_sparealloc_dev_infowrite_setfind_format_count_devformat_error__strpbrk_c2__strpbrk_c3_ISalphafile_dev_sizeEQUAL_want_formatraidlevel_ISblankfile_numberrd_type_ISalnumtotal_sectors_ISspacedsp_ascii_count_devicesget_format_find_setrs_subcheck_raid_levels_numberprocess_setprocess_partitioned_setpos_rscheck_rsdfind_set_inconsistent__result_ISlowerrs_loptsunified_typestatesis_stackedfree_raidsettmp_spare_rs_discover_partitions__namefind_raiddevget_metadatasmallest_disk_chdir_ISdigit_dmraid_readfind_or_alloc_raid_setdRspcount_devs_free_raid_set_want_devicefind_diskstripe_sizegroup_rswant_setlib_performfile_data__s1get_raid_sizechangescheck_allow_rebuildadd_spare_dev_to_arrayspare_setEND_TRANSACTIONADD_TO_SETnew_rdchangealloc_entrybuild_metadatahandle_devfmt_handstate_tblshow_raid_stackadd_dev_to_settmp_rddisk_nameCREATE_CHILD_RDadd_spare_dev_to_raid_rssd_rsssWRITE_METADATAbefore_rdcheck_rdchange_typeDELETE_RDDELETE_RSadd_dev_to_arraydriveRebuild_rebuild_raidsetnuke_sparewrite_set_sparecheck_busy_diskDELETE_FROM_SETret_funcCREATE_RSCREATE_RD_rssdel_dev_in_raid1hot_spare_rddso_end_rebuildadd_dev_to_raidmetadata/reconfig.cdel_dev_in_setst_ctim__path__gid_tst_ino__blkcnt_trw_file__ssize_tst_atim__pad0misc/file.cst_blocksst_uid__statbufmk_dir__nlink_tst_sizest_moderead_file__dev_twrite_file__blksize_trw_spectv_secst_nlinktv_nsecorig__unusedst_blksizetimespec__ino_tst_rdevmk_dir_recursive__time_tbuffer__uid_tst_gidst_devst_mtimlibdmraid_exitlibdmraid_initmisc/init.cinit_versionalloc_lib_contextlc_inc_optlibdmraid_datelibdmraid_versionlc_listlc_optinit_listslc_strcat_optinit_cmdfree_lib_contextinit_optionsinit_fninit_modelc_opt_okinit_pathsmisc/lib_context.clc_opt_arglc_stralloc_optp_stryes_no_promptremove_tail_spacemisc/misc.cmk_alphagrow_stringf_savbegin__argp_u64get_basenamesgpiop_fmtvprintfget_dirnamep_str_stradd_delimiterremove_delimiter__fmtfree_stringreplace_delimiterremove_white_spacemisc/workaround.csysfs_workaround_dbg_strdup_dbg_strndupmm/dbg_malloc.c_dbg_free_dbg_realloc__dbg_mallocdevice_countrefcnttruncatesvwbclnraidcntraidtblraidlunsvBlockStorageTidnewest_raidseqfind_toplevelssavesecresvercompute_checksumirocFlagsres1res2res3res4res5res6res9intervalfind_logicalhandle_white_spaceraididsvpdirtyverifyDateasr_readtestnumcreate_drivemagictimestampsvwbdlysb0flagssvwcacthsdtypeget_configdisk_statusridcoderead_metadata_areasasr_event_handlersremainingtestflagsle16_to_cpusparedrivemagicasr_raid_configlinedev_sortblockStorageTidmaxelmdump_rbdump_rtappBurstCountloffsetdontres8newestbiosInforversionraidlineuse_old_elmcntclcntcarebad0bad1addedDrivesraidstatefwTestSeqNumspareidfind_newest_driveb0idcodelundsaveasr_formatsmagicfwTestRessvrcacthasr_checkactionPriorityssavecylfstrsvrbtstxt0tstxt1firmvalis_asrsvtidUNTRUNCATEspare_arraycurAppBlockcompose_idASR_TABLEtop_idxnewest_asrlunsaveraidmagicin_raid_setfwTestMagicraidchnlcvt_configlineasr_reservedblockelmsizesvwbmaxserNummaxErrorCountsvsdtimesvseccflASR_EXTTABLErchksumcleanup_configlinesraidtypejbodEnablesvwbskipasr_raidtablefile_metadata_areasasr_writeasr_grouplcapctyraidhbabad2svhbanumasr_logjs_namethis_diskregister_asrdump_clssavehedformat/ataraid/asr.cdelete_configlineread_metadata_chunkfirmblkle32_to_cpufirmblndo_stackedappSleepRaterecreateDatestrpsizeupdate_metadatae_ioreservedsvwbmincreate_configlinedo_spareraidFlagsstartTimeasr_sboffsetASR_BLOCKtotal_secshpt37x_formatis_hpt37xformat/ataraid/hpt37x.cfiller1hpt37x_event_handlersmagic_0boot_modemagic_1fillercheck_magicdisk_modehpt37x_checkraid0_shiftsuper_createdhpt37x_loghpt37x_readhpt37x_errorloghpt37x_groupordermismatchboot_protectreasonhpt37x_writeerror_log_indexboot_diskregister_hpt37xerror_log_entriesno_raid10hpt45x_event_handlershpt45x_readraid1_shiftraid1_typesuperraid1_disk_numberdummy1hpt45x_writehpt45x_grouphpt45x_checkregister_hpt45xhpt45x_lograid1_raid_diskshpt45x_formatis_hpt45xformat/ataraid/hpt45x.cN_NUMBERverify_errorsfailed_disk_numrebuild_set_nameadvance_devset_metadata_sizoffnumber_disks_statuscreate_rsN_PATHis_name_uniqueisw_readupdate_raidsetregister_iswcheck_sumget_rebuild_statefoundcache_policyold_devdisk_oknew_isw_sizecache_sizeinconsist_qan__statusfailed_disks_numvol_rebuilt_idxnew_devcng_master_disknosync_qanhost_nomatch_hd_arraysig_versiongoonis_iswget_rs_status_find_factorstotalBlocksisw_event_handlersisw_config_mapname_typeget_raiddevisw_read_extendedisw_createcng_stateisw_format__FUNCTION__ss_namemax_size_isw_get_versiontype_nameisw_serialisw_tmpmpb_sizeupdate_metadata_after_rebuildnum_data_stripescng_sub_stateadjust_lengthh_cmd_per_lunfillowner_cfg_numisw_v1migr_statemap2blocks_per_stripfmtsisw_diskdev_rebuiltgeneration_numN_VOLUME_isw_checkis_hd_array_availablemin_num_disksisw_write_allcheck_point_idfailed_disk_idxenforce_size_limitisw_config_vol_isw_create_second_volumecheck_capability_isw_delete_allisw_file_metadataisw_mapnum_membersis_first_volumemax_num_disksrs_groupnum_raid_devsisw_config_devdev_real_qanisw_dev_idxadvance_raiddevisw_remove_devstrip_optionsisw_dev_offsisw_deleteget_number_of_devicesbad_free_new_diskSizeLowd_queue_deptherror_log_size_get_raid_levelfloat_find_groupisw_metadata_handlerremove_diskold_iswtotal_sizemin_dsisw_groupold_vol0old_vol1is_raid10display_new_volumeout_used_create_rddevices_per_domainmpb_versionsget_device_idxformat/ataraid/isw.cN_VOLUME_FORCEget_scsiIderror_log_posdiv_upmigr_typeverify_bad_blocksbbm_log_sizeSg_scsi_idisw_config_diskscommandreserved_blocksisw_serial_lenround_upisw_erase_metadatasg_idisw_vol_isw_create_raidsets_raid0num_sub_volrd_metas_raid5blocks_per_memberget_rs_basenamebad_free_new_iswmigr_priorityorig_family_numisw_read_metadataattributesnew_isw_offsfs_statedev1dev2dev_info_serial_to_iswisw_write_isw_create_first_volumevol_rebuiltpower_cycle_countupdate_metadata_isw_devmax_dsSizeHighold_isw_offsnum_domains_check_map_statemap_sizerd_by_serial_get_stride_size_isw_logs_raid1dev_metadata_qanisw_sboffsetcurr_migr_unitpba_of_lba0_get_disk_cal_array_sizesg_scsi_iddi_serialrd_idx_by_namescsi_typedisk_ord_tbljm_writefiller2is_jmrange2jm_checkjm_logjm_event_handlersidentityformat/ataraid/jm.csegmentattributejm_formatjm_grouprangeregister_jmjm_readlsi_readlsi_loglsi_formatdummy2dummy3dummy4unknownregister_lsiraid10_stripeofflineget_disk_slotformat/ataraid/lsi.clsi_diskraid10_mirrorlsi_checklsi_groupseqnounknown1set_idis_lsimagic_namelsi_event_handlerslsi_writeoriginalCapacitystripeBlockSizenv_formatnv_checklba_tnv_groupstripeMasknv_event_handlersis_nvproductIDcapacityformat/ataraid/nv.cnv_writestripeByteSizesectorSizeoriginalLeveltotalVolumesoriginalWidthproductRevisionnv_array_basenv_readraidJobMarkraidLevelunitFlagsregister_nvunitNumberstripeBlockByteSizenv_lograidJobCodestripeWidthstripeBlockPowerstripeSizepdc_event_handlers_group_rdbegin_sectorscount_meta_areasend_sectorsarray_numberunknown_0unknown_1unknown_2unknown_4unknown_5headstotal_disksis_pdcdisk_secsbad_freeraid0_diskspdc_readpdc_checkregister_pdcpdc_groupmeta_sectorcylinderspromise_idpdc_read_metadatapdc_diskpdc_sectors_maxunknown_3pdc_writeis_signatureformat/ataraid/pdc.cpdc_format_pdc_logidechannelraid0_strideyeararray_sectors_lowreported_device_locationsil_file_metadatasil_read_metadatastriped_set_numberauto_rebuildrebuild_ptr_highincarnation_nodrives_per_mirrored_setsil_logdrives_per_striped_setchecksum1checksum2vendor_idrebuild_ptr_lowminor_verregister_silsil_checkarray_sectorsmember_statusmirrored_set_statequoratesil_readunknown2sil_groupascii_versionsecondssil_formatassumed_zerosunknown0unknown3unknown4unknown6unknown8minutessil_validfree_sils_file_namethisdisk_sectorsmirrored_set_numbermajor_verproduct_idmonthtext_typesil_event_handlersunknown1asil_writeformat/ataraid/sil.carray_sectors_highis_silhourdisknamearray_indexenable_enhancedvia_event_handlersformat/ataraid/via.cis_viaversion_numbervia_checkserial_checksumvia_readvia_groupbootable_name_suffixvia_writein_disk_arraycapacity_highvia_logvia_formatcapacity_lowtolerancesum_serialdisk_array_exregister_viaraid_type_infoddf1_phys_drivesadaptec_modeadapter_dataworkspace_lengthvendor_lenprimary_table_lbabg_task_ratesecondary_element_numberddf1_disk_dataddf1_group_infocfgsforeign_flagdisk_data_offseterr_driveget_phys_driveddf1_formatget_offset_entryddf1_virt_driveddf1_config_recordpci_deviceheader_typeerr_virt_driveddf_revget_virt_drivevendor_offsetpci_subdevicephys_drive_lenmax_drivesmax_phys_drivesvd_headerdisk_formatworkspace_lba_andrd_poscfg_drive_idsget_config_indextry_to_find_ddf1max_primary_elementsto_bytespath_infoforced_guid_flagvd_config_record_lenreferencema_countddf1_event_handlersvirt_drive_offsetadapnum_devsnum_drivesregister_ddf1badblock_lenconfig_record_offsetprimary_element_countphys_drive_offsetis_ddf1pci_vendoropen_flagddf1_sboffsetrd_newget_config_byoffsetbadblock_offsetpci_subvendordiag_offsetformat/ddf/ddf1.cmax_partitionsanchor_offsetprimaryvirt_drive_lensecondaryseqnumsecondary_table_lbadisk_data_lenrd_groupmax_virt_drivesguidcmpgrouping_enforcedraid_qualifierddf1_checkforced_ref_flaganchorno_sorterr_phys_drivesecondary_element_raid_levelddf1_groupcfg_drive_offsetssecondary_element_countget_offsetscratchddf1_phys_driveadapter_data_offsetddf1_logddf1_readddf1_adapterin_cpu_formatvd_numreserved2reserved3reserved4reserved5get_this_configddf1_writeinit_statepd_headercond_freequalifier_typesddf1_headerdiag_lenadapter_data_lenddataddf1_virt_drivesformat/ddf/ddf1_lib.cddf1_process_recordsddf1_record_handlerddf1_cr_off_maxpds_helperddf1_endiannessddf1_beginningcrc32_vdCHECKformat/ddf/ddf1_crc.call_typecheck_cfg_crcddf1_update_all_crcsUPDATEold_csumupdate_cfg_crcsecondary_elementspare_check_crccrc32_sparenum_sparesvd_check_crcddf1_spareddf1_spare_headercrc_infocrc_table_initdo_crc32record_sizemax_sparescrc_tableddf1_check_all_crcsddf1_cvt_adaptermax_pdsddf1_cvt_virt_driveddf1_cvt_recordsddf1_cvt_headerle64_to_cpuddf1_cvt_phys_drive_headerddf1_cvt_config_recordddf1_cvt_virt_drive_headerddf1_cvt_spare_recordformat/ddf/ddf1_cvt.cddf1_cvt_allddf1_cvt_phys_driveddf1_cvt_disk_datadump_topdump_config_recordsdump_virt_drive_headerdump_adapterdump_phys_drive_headerddf1_dump_all_dp_guiddump_virt_driveformat/ddf/ddf1_dump.cdump_config_recorddump_disk_datadump_sparesdump_headerdump_phys_driveis_dosboot_codecylinder_create_rs_and_rddos_partitiondos_file_metadatard_check_endfree_diraw_table_entryextended_part_startchs_endregister_dosdos_readpart_is_extendedgroup_rd_extendedraw_partdos_checkdos_formatdos_groupget_part_startformat/partition/dos.cpart_endextended_rootnew_start_sectorboot_indchs_startis_partitiondevnameremove_device_partitionsblkpg_ioctl_argblkpg_partition_remove_subset_partitionsdatalenvolnamedevice/partition.cd_offdm_test_devicesysfs_removablemnt_dirmfilemnt_freqdevnodessysfs_get_sizemk_sysfs_pathd_reclenget_dm_test_serialdiscover_devicesdi_ioctlfind_sysfs_mpdot_serial__dirstreammntentdirentd_inosysfsdevice/scan.csector_sizeinterestedioctl_typelstatmnt_fsnamemnt_typesysfs_filemnt_optsmnt_passnoremovable_devicesysfs_sizeget_device_serialfour_in_oneold_inquiryhost_statusdxfer_directionparammx_sb_lenresponseinterface_idget_scsi_serialset_cmdsg_io_hdrcmdpsb_len_wrdurationhost_uniqe_idtimeoutiovec_countmsg_statusdriver_statussg_inquirydevice/scsi.cusr_ptrresidcmd_lenpack_idioctl_funcresponse_lenscsi_idlunmasked_statusdxferpdxfer_lenget_scsi_idactual_lenrevert_logmetadata/log_ops.cend_logwrites_startedget_ata_serialata_identifycommand_set_1command_set_2device/ata.ccmd_offsetminor_rev_numfw_revmajor_rev_numcsf_defaultata_identmodelcfs_enable_1command_set_extensionslashget_dev_node_read_aheaddm_task_set_name_store_struse_stderrdm_task_set_modeNODE_ADD_build_dev_pathdm_task_createnew_name_do_node_opnophupdate_devs__PRETTY_FUNCTION__dm_mknodes__devnode_op_tdm_log_init_verbosedata_sizedm_task_set_uuid_rename_dev_nodeold_maskdm_driver_versiondm_ioctl_v1scontextcurrent_read_aheadsecurity_context_t_default_logoldpath_rm_dev_nodeNODE_READ_AHEAD_add_dev_nodemknoddm_get_library_versionnewpathnophtread_ahead_long_open_dev_nodelibdm-common.cdm_task_set_uidparamsNODE_RENAMEdm_task_set_minorGNU C 4.3.2 20081105 (Red Hat 4.3.2-7)_pop_node_opsNODE_DELdm_set_dev_dirread_ahead_flagslist_delold_name_dm_dirdm_lognode_op_parmsdm_task_set_gid_set_dev_node_read_aheaddm_log_initdm_task_set_majordm_log_fnpadding_stack_node_op/devel/cvs/RedHat/rpms/device-mapper/RHEL-5/device-mapper.1.02.28/libdata_start__modedm_set_selinux_contextdm_task_add_targetdm_dump_memory_debugblock_serialnoblocks_allocateddm_bounds_check_debugdm_malloc_aux_debugdm_free_auxmemblock_mem_statsdm_malloc_aux_taildm_realloc_auxdm_strdup_auxblocks_maxmbytestsizelibversioncreate_targetmin_sizedm_target_msgdm_names_dm_version_patchlevel_dm_versiondm_task_get_namerepeat_countsector_startbufsizetarget_typeno_space_create_dm_bitset_get_proc_numberdm_task_run_do_dm_ioctldm_format_dev_dm_version_minoroutptr_dm_compatold_umaskdm_task_set_read_aheaddm_task_get_driver_versiondev_minordm_task_get_existing_table_size_ioctl_buffer_double_factor_create_controldmversionno_matchdm_task_get_namesdm_get_next_target_process_all_v4ioctl/libdm-iface.c_create_and_load_v4_reload_with_suppression_v4_open_controloutbufdm_task_set_message_cmd_data_v4dev_major_control_fddm_task_set_event_nrdm_task_no_open_countdm_task_get_uuid_flatten_version_checkeddm_task_skip_lockfsdm_task_set_newname_process_mapper_dirdm_task_set_sector_control_device_numberdm_task_get_versionsdm_target_specdm_task_no_flushrevertsp_size_control_exists__ino64_t_lookup_dev_namedm_depsdm_task_set_ro_unmarshal_statusrepeat_ioctlcmd_data_log_suppressdm_task_update_nodesdm_task_suppress_identical_reloadtmsgout_spdm_task_set_geometry_version_okdm_bitset_tdm_lib_exitdm_lib_release_mknodes_v4dm_is_dm_majordm_task_get_depsdm_task_get_infodm_task_destroydm_check_versiondm_task_get_read_ahead_aligndm_bit_get_nextdatastruct/bitset.clast_bitdm_bit_uniondm_bit_get_firstdm_bitset_destroy_test_worddm_poolnum_bitstestdm_bitset_createfclose_faillibdm-file.cdm_fclosedm_create_dirprev_fail_create_dir_recursivedm_pool_emptymm/pool.cdelta_align_chunkspare_chunkobject_alignmentdm_pool_begin_objectdm_pool_strdupdm_pool_destroydm_pool_end_object_new_chunkdm_pool_grow_objectdm_pool_allocobject_lendm_pool_abandon_objectdm_pool_alloc_aligneddm_pool_strndupchunk_sizechunk_hintdm_pool_createnew_sizedm_pool_freeextradm_pool_zallocwwtvU:\Hi\Ttvh7M\it\Pw w -v01w19w9;v@AwAKwKQv@HT`awaowo{v`tU`jTjtQ€ww›v€”U€ŠTŠ”Q ¡w¡¤w¤ªv°±w±¹w¹Nv°ÛUÛDS°ÖTPQwQlwlÌvPˆUˆÊ\PaTÈSÐÑwÑÖwÖâvÐÛUÐÛTÐÛQðñwñôwôvðùUðùTww vww vUT (w(+w+tv oT€w„w„v€‰U€‰T‘w‘”w”hv·U·ÜSæS&^S¼T¼ä]æ$]&f]pqwqtwtûvpUÍSÓïSp•Tww#vU T01w19w9v0ZUZ¶SÀ÷S0_T_¾_¾ÀTÀÿ_0_Q_„\¸\¸ÀQÀù\~¸\Àù\w w qvYUYoST€wwËv€ÉU€TÐÑwÑÔwÔzvÐýUýiSÐýTýn\ ,]!x^€ˆwˆ˜w˜¨v€U€•T•Q°±w±´w´W v°ÓUÓ» _½ W _°þTö T°ÓQÓ³ S½ W SéðQð P P7 Q PQ v Qˆ  Q_ Š Q « Q« ³ P, 0 Q% D QéûR}  P® ² P½ Ò Rá î Rî ð Pð " R_ R ® R' , Pô % P% ? R? D Pw | P¦ « PN W R5 { RÒ á Ré U¨ Ò U ' Uo µ PP p P| ’ P« ­ P7 9 PwwÚvUÁ\ÉÚ\'T›P¬²P*-PBºSºÇ_ÉÚ_;ÉvH"?]ºÃ]ÉÚ]àáwáèwèrvàUà T hSàQà R p_KVQþ*\*VTVj\€w„w„¿v€“U“»S»¿UÀÁwÁÄwÄÊvÐÑwÑÔwÔývÐáUáðSwwwv!U!K\Mu\!T!2QMXQ€w„w„<v€·U·.S€¬T¬2\€¥Qww›vLU ™PHQ ¡w¡©w©«v°±w±¹w¹»vÀÁwÁÄwĬvÀUSUESG|U|€S€¥U¥¬SÀT TGqT€ TÀQ QGlQ€›Q°±w±ÍwÍév°åU°ÊT°ÚQðñwñýwý’vðUYSY]U]’SðT[\]’\úGQT]Q ¡w¡¤w¤v ËU ¼T¼ÚSèS ËQËâ]è]…ˆPÖæ^û!^‘w‘—w— v¾U¾ÿS”T¾Q¾R¾\ww!v01w1;w;AvPQwQTwT½vPkUk»]’PÀÁwÁÄwÄ0vÀU\0\ÀíTíS0SÀQ^0^ÀñR*]RüvHe]e0vH01w18w8âv0bUbÕSÕâU0bTb’\’âT0bQbà_FÞ^YÙ]™ÌPðñwñôwô•vðU\•Uð)T)0S03T3[S[•Tð:QJ•Qÿ‘^]bŠP ¡w¡¤w¤M v ÚUÚß Sé ? S ÞT áQ«/^R å ^- E ^°ã ]é C ]˜H \é ü \- A \Ú2\H á \- A \¹ÄP% @ P- M PÚ/^¨ý^ý R R ^¼ Ò ^é ÷ ^÷ ü R- E ^{ ž RP Q wQ T wT  vP ‘ U‘ Ô Sï ô SP l Tl Ð \ï ø \P ‘ Q‘ ç _ï  _P ‘ R‘ Ø ]ï ü ]P ‘ X‘ Ü ^ï ^P | YP ³ ‘³  v  w  w Ý v J UJ  ^% Ù ^Ù Ý U f T% } T´ Ý T n Q% / Q  _K Û _) O \O  _% + _+ Õ \Õ Û _O n ZŽ ² ZÖ ù Z % Z% ‚ Z´ Ý Z  SA Ó S2  S% A SO n PØ ñ P % P% 3 PO  \% + \à á wá ä wä ê vð ñ wñ ô wô Þvð U * ]0 ˆ]ŽØ]ÞÞ]ð  Tð  Q & S0 ²Sf„SŽÔSÞS1gSƒÞS ( \I L Pf†\Þ\1g\  P0 9 ^9 F PF ð ^fŠ^Ž”P”Ú^Þ^1g^ì ¹\f†\ƒ¤\! ( \¹†\1\gƒ\! , ^Š^1^gƒ^s µ RŠ µ P3fP• Pª®PfP! . _Œ_1_gÞ_! , ^ªÂ^fŠ^1^ËÞ^ª¹\f†\¡¤PàáwáäwäLvàöUö\-;\àT']-?]P-7SPQwQTwTMvPtUt“SMSP`T`™^M^PtQt]‹—]«]M]‰È\GS\È•\SX\›\3M\ÝvH«vH3MvHëP3EPPQwQTwTbvP\U\(_*b_PsT‰¬^¬ø]ø^$]$&^u]ÿw^Db]P|Q‰‘Pø P P>\Pø S*VSÁÄPwÂS”\ø"\*\Pb\wD\Ê X€‰XŸ SuSšXª¾XÆÚXDbS‰ŸSø SèwSå‰Sÿ SÄSÂýS*S÷‰^ÿ&^Âý^%^ ‰]ÿ$]*Ò]ÂD]]`P S7uSS S*DSê2Q:CQCPÑôRBFQFNPN~QSpP‰”\ø"\\(R(u\uwRpqwqtwtÛvpŽUŽÁSÉÚSÚâUâÛSpŽTŽ–]–T¨®TºÅ]ÉöTöÇ]ÇÓTÓÛ]pŽQŽÃ\ÉÜ\ÜâQâñ\ñöQöÇ\ÇÎQÎÛ\’Ç^Éà^Ž’^ºÇ^%>^‚^·Ç^ÖÛ^%^>‚^·^àáwáäwä²vàU2S2:U:ïS÷‚SвSà T 4\4:T:ñ\÷„\в\ý(](6]:ó]÷†]в]*:vXH²vX~¤PÀÁwÁÄwÄ¥vÀÛUÛS"<SBtStU¥SÀ T"-TBPTp{TÀÛQÛ \"@\Bx\xQ¥\ P8@PnpP ¥Pwwvww)vU#U01w14w4ºv0MU0BTB†\Ÿ¶\0YQY]Ÿº]ƒ™\¶º\ruPŸºSÀÁwÁËwËKvÀÈUÀßTß\E\\EK\ìïPKSPQwQTwT vPÇUP»TP©Q©ò\òK]KU\UW]]f]f \P©R©ï]ïô_ôûPû\:P:W]]c\cf_f ]cY^] ^jyvLKRP™¹P»ÑPyƒXww v"U"ã_å _FTFQF~^€Ä^åó^õ^FRF‹SÁÓSåõSFXFÛ]å ]{~PÄß^å ^PSPå \ww$vQ$X01w1?w?EvPQwQ_w_evpqwqtwtÕvpˆUˆ¸SÄÕSp”T”´\ÄÕ\—šPÄÕ]àáwáéwé+vàU!SàTàQ%\  P01w19w9wv0TUTmS0TT0TQTq\06R6TXVYP€w„w„v€£U£ó]ú]€£T£ø^ú^ÆÉPúS¦©Pú\ww0v.U#T01w1LwL]v0[U0VT`awazwzŽv`ŒU`‚T‘w‘”w”v©U©ºSÖS«TÖþTwwýv,U,ù]Tû^/õSwwTv1U1RS%T`awadwdâv`€U€Ü\`€T€ÚS`Qà^ðñwñôwôŒvðU^!Œ^ðT†Ò_!O_ðQ8SS{ŒS?†_Å_!{_<]]{Œ]C{vHIS!{S‘w‘”w”DvžUž¢S°ÑUÑDST°ÌT½T´ÌTPQwQTwT¿ vP¹U¹S¯ÕUÕ¿ SP¢T¯ÂTj¡\¯ \ÈËPè™P™©^ÝàP™¥]ïòPÀ Á wÁ Ä wÄ ä vÀ ý Uý À SÊ ä SÀ  T ‘ \¸  \Ê ä \× y P¢ ¥ P¸ Ä ]j œ P¢ ´ Ps È _¢ ´ _˜ Ä ]@ r Py ˜ ]¸ Ä ]! ' Pð ñ wñ ô wô vð USSS]U]bSlSð *T*W]W]T]4]luTu]ð QY^Y]Q]h^l^ð RU\U]R]d\l\N[_0j_H]PbvPw‹P[_]˜_0_‹ÿ_ !w!$w$¦v CUCgSu¦S CTCk\uƒ\ck\ƒ¦\o]u¦]ww:v6U,T1Q@AwADwD{v@vUvà^àæUæ{^@vTv|S|ŠTŠÔSÔ!T!{S@‚Q‚Ø\æ Q V\V{Q@vRvä_äæRæ{_@¦XÐXCoX@vYvÜ]ÜæYæ{]€wŠwŠDv€ºUºS,DS€‡T‡ºP€¸Q€ºR€ºXº"],D]€ºYºõ_ *_½ÀP,D\§&^,D^PQwQTwT‡vPdUw‡UPiTiqSw‡T‘w‘–w–úv§U§ø]ªôS­ö\wwv(U(I\IMUM‰\GSM‡S K]M‹]‘w‘”w”þv¦U¦Á\Ëþ\²T²É]Ëþ]²Qµ¸PËþSww<v(UT5SQ(TR(P(:\+:P@AwADwD3v@_U_z^|3^@…TgnS–êS3Sdv]ˆ‹Pœ´]´¾U¾3]g|vX‘ôvXô P 3vXgr\ÙÜP@AwADwDÁv@XUX¢\¯Á\@dTd‚]™­]¯Á]gjP¯ÁSÐÑwÑÔwÔ=vÐêUê+]-;]ÐàTà)\-9\í'S-7S@AwADwDe v@ŸUºÞU(ðU0UW¶U$ 6 U@›Tº§]­e ]@˜QºâQ(,Q»çQ²¾Q@”RºøR 9R»åR²¾R@†X†Í_ÍåX(/X»È_ÈòX²¾X@†Y†º]ºòY,YW¾Y$ 6 Y@|‘|©^©­v­e ^_7S»S² S£ ³ S‡ ” Sâ(Q,»QBQW²Q$ 6 Qà(T*»TGTW²T$ 6 Tå(X/»X=XW²X$ 6 X9»R7RW²R$ 6 R7£S­»S²S$ 6 SÕ5PSÉ\Ñ¥\­ö\þƒ \ e \ÑâQ(,QÕ Q $ _6 ‹ _” e _ $ S6 ‡ S” e Sp q wq t wt … vp ž Už u ^u { U{ … ^p ž Tž  \b { T{ ƒ \ƒ … Tp · Q· i Si { Q{ … Sp É RÜ í Rb … Rp É XÜ ê Xb … X m \ƒ … \¾ q ]{ … ] ‘ w‘ ” w”  v ± U± î _ð ý _ý  U  _  U ± T± ì ^ð û ^û  T  ^  T ± Q± º \º ¼ Q¼ è \ð ÷ \÷  Q  \  Q ¼ RÊ Ï Rð  R  R ± X± ê ]ð ù ]ù  X  ]  X¶ æ S  S ! w! $ w$ ¤ v Q UQ ‹ ^‘ ¤ ^ Q TQ ‡ ]‘ ¤ ] Q QQ  \‘ ¤ \ Q RQ _‘ ¤ _ I X` f XT W P‘ ¤ S° ± w± · w· -v° õ Uõ ?\M-\° õ Tõ C]M-]° ý Qý PQ%P° õ Rõ -v¸° õ Xõ -v°° õ Yõ G^M-^° õ ‘õ K_KMvM-_° [‘[v-‘° “‘“Ýv Ý-‘° |‘|Ýv(Ý-‘;SMS(-SwwMv U (S/FST-\/B\PQwQTwT¥vPpUp}S„žSPhTh‚\„š\°±w±¹w¹v°ÍUÍ STSZSÔòP P'P,<PBEPŽP \*X\Z\‘w‘”w”‘v§U§SU‘SÌT T ¡w¡¤w¤“v ½U½ÆSÆÌUÌ“S ÷Tww…v›U¥ÀUÇØU7…UuTuS!…SQ\!…\›R¥ÇRÇR7…R›X¥ÇXÇX7…XuYu^!…^‚›T¥½TÇÕT7fT€…T}–Q£°Q !Q7XQ{…Qo]!…]‘w‘¯w¯ÅvÁU¼T w w8v UPQ$P$8Q@MwMVwV~v@LUEOPO_Q_dPdqQqxP€w‡w‡bv€®U'8U€—T'3Tý!QÜÞPÞâRêñPñõRûP§¹Q¹ÀPÇÎQÎÒP×ýQ8BQBFRMTQTXRpqwq€w€£vpxU}‚P‚‘Q‘˜P˜œQ°±w±´w´ƒv°óU ƒU°ÝTÝ^ƒT°ÛQÛl]rƒ]Éj\rƒ\ÒhSrƒS‘w‘”w”Ìv¯U¯h]hnUnÌ]ÅTÅ\Tf\nÌ\ÃÅ_ÅàSàî_îS·S·ÊQÊìSìQdSdl_nÌS9 P\cPw‡P‡­Q³j^nÌ^2DUDUQUsUs–Q–·UÍèU nU‡»U0GT­¸T DP­ÀPÐÔwÔ×w×Üvàäwäçwçìvðñwñøwøúvw w v !w!,w,]v PU`awadwdÊv`‰U‰‘S¢¸S`‰T‰–\¢½\`‰Q‰›]¢Â]`‰R‰ ^¢Ç^ÐÑwÑÔwÔIvÐùUùS7SÐùTù\<\ÐùQù ]A]ÐùRù^F^PTwTWwWrv€ƒwƒ†w†«v°±w±´w´ v°ÓUáçUî U°ÓTÓS T°ÌQÌ\ Q°ÌRÌÑ^ÑÓRÓ ^  RÄ]wwv.U.S]SWUWy]yU0T08^8ATAU^UWTW}^}T)OSWuS0IPLOPWdPor^r{P€w„w„±v€U€šTš«SÀÁwÁÇwÇ"vÀUÀÑTüTÀQØóPõûP !P01w14w4) v0`U`ß^â' ^0uTuÓSâ T  S0`Q`×\â \OÛ]â# ]0 1 w1 4 w4 2 v0 R UR , \, 2 U0 T T` c T§ À TÍ Ò T" 2 Tµ 0 ^M ¼ S9 R ^R T TT µ ^µ À TÍ Ò T" 2 T¼ * S@ A wA Z wZ ¨ v@ t Ut = \Y ¨ \@ o T@ e Qe ; SY ¨ S° ± w± » w» # v° é Ué  \° Ê TÊ  ^° é Qé ! _° é Rì  SÓ  ]0 1 w1 4 w4  v0 M UM ]0 D TD  SP \P ] X¯ ó Xö  XP ] Pw † U† à PÃ È UÈ ó Pö  U  w  w {v & U& oSy{S 3 T3 \Jq\y1\@{\ 3 Q_ s]y@]c{]‘ © PÖ JP¡P@PR w_y{_D \ P@`Pl „ U‘ ¤ UÌ [UgyU”@Um{U< u^y{^ q\1@\gnPŽÂPPmqP€w„w„ v€‘U‘£S£¥U¥ÐSÒS€­TÒÝTçóT¢¢P¿ÏPœ¥Q¸ÒQœ¥RµÒRåçRww v%U%.].4U4ž]4T4=TEHSHJ\JƒSƒ•\•šSšœ\ ¡w¡¸w¸¸v âUâ‰S“|S†¸Så^“‚^†¸^å‹\‹‘_“ \ ._.~\~„_†¸\Ý]“€]†¸]*LPOVPðP.6PZfP©¸PÀÁwÁÉwɆvÀàUà‚\Ñ„]ã€S‘w‘”w”v²U²] .]í]ßTß\ T\ªS SÝíPíõP PN²Y²ÔYÚâYN²P²»PÚâPß].9]9Ø]Úí] !w!$w$ªv @U@Q]Wª] ETWeTEISIM\qtStv\v–S–¨\¨ªSEWvXvªvX°±w±ÍwÍ;v°øUø7^°íTí5]]vH]‡P‡;vHüP(.\.]Péï\ïüP4S48\81S13\@AwADwD}v@cUcw\@WTWrS€w„w„|v€§U§ßSí1SXrS€§T§å^í7^X]T]x^ªá\í\®ã]í5]mv]€w„w„ýv€˜U˜à\êý\€¤T¤è]êý]§ªPêýSwwmvUM\Wm\$T$U]Wm]'*PWmSpqwqtwtävpˆUˆ¾SÈäSp”T”Æ]Èä]—šPÈä\ðñwñôwô¡vðUu\‡¡\ðT}]‡¡]ðQ^‡¡^9…_‡¡_DGP‡¡S°±w±´w´nv°ãUã`\°ØTØl_°ÛQÛãT°ãRãh^°ãXã]Xd]æéPpqwqtwtÓvp†U†–SœÓSpŽTŽš\œÓ\àáwáäwä~vàU3S=~SàþTþ;]=~]  P=~\€w„w„v€§U§¯S¹ýS€˜T˜³\¹ù\€§Q§·]¹]«¹PÎØPww;vIUIQScS;S,T,U\c\;\IQIY]c];]IRIa_c_;_IXI]^cì^ù ^IYMcPv€Pì ^;^•˜PàåZïôZùZ@AwADwDlv@oUoì\þ\(U(l\@„T„èSþS4T4lS@oQox]x„Q„Ÿ]Þð]ðþQþ](Q(l]ÞáT(T4VT_lTÞô^"^Bl^Ÿð]pqwqtwtÛ vp–U–³S³½U½Z Sd — S¡ Û Sp¥T¥¹^¹½T½` ^d ^¡ É TÉ Û ^ô T©µ\Ê\ \d ™ \©½Qê Q ' Q; P Q©·]í^ ]d › ]»_½b _d Ÿ _¡ Û _§®P½ÏPà á wá ä wä °"và !U !ˆ"_Š"°"_à ý Tà !Qà !R !€"SŠ"°"Sð #!]#!)!^)!À!]À!s"^s"„"]„"†"^Š"™"]™"°"^°"±"w±"´"w´"K#v°"Ñ"UÑ"C#\°"Â"TÂ"E#]Ô"A#SÖ"G#^P#Q#wQ#W#wW#ä#vP#f#Uf#¤#S¯#Ö#SP#f#Tf#­#^¯#â#^p#¦#\ð#ñ#wñ#ô#wô#˜$vð#$U$@$SF$$Sð#+$T+$D$]F$U$TU$–$]3$B$\]$”$\ $¡$w¡$¨$w¨$Î$v $Ä$U $¼$TÐ$Ñ$wÑ$è$wè$ê%vÐ$"%U"%›%_%ê%_Ð$%T%•%\%ê%\Ð$%Q%“%S%ê%SÐ$û$Rû$S%]%©%]²%Ú%]&%.%^.%0%Q0%3%^3%C%QC%™%^%¦%Q¦%²%^²%½%Q½%ê%^S%—%]¦%²%]½%ê%]ð%ñ%wñ%ô%wô%7&vð%&U& &S&1&Sð%&T&&T0&7&Tð%&Q&&Qð%&R&&R@&A&wA&K&wK&?'v@&g&Ug&5'S@&C&Tj&¥&P ''P.'4'PŽ&7'\@'A'wA'D'wD'Ê)v@'\'U\'¢'\ª'|)\„)Ê)\@'c'Tc'¨'_ª'‚)_„)Ê)_Å'(]((S(c(]c(¥(S¥(»(]„)Ê)]À'c(S¥(¸(S„)Ê)SÃ'€)^„)Ê)^¸(»(S»(½(]½(÷(S÷( )] )z)Sz)~)]ð()P))PÐ)Ñ)wÑ)Ô)wÔ)¼*vÐ)*U**S)*¼*SÐ)ý)Tý)*\)*¼*\Ð)û)QÐ)ø)RÐ)*X*'*_)*¼*_Ð)*Y*#*^)*¼*^ **P**])*¼*]À*Á*wÁ*Ä*wÄ*80vÀ*à*Uà*h+Sr+80SÀ*Û*TÛ*l+]r+80][+j+\z,„,\š,,P².í.\/80\`+g+P4/B/Pw/‹/P¸/í/P`+n+^4/G/^w/Ô/^Ú/÷/^`+n+^…-h.^/G/^Q/w/^÷/80^…-²-Pý-h.PQ/T/P÷/0P -S-Q4/B/QL/Q/QŸ/°/QÄ/Ì/Qõ/÷/QŒ--_-­-Q¿-Ä-Q/%/Q&080Q`+p+_D-h._/G/_Q/t/_÷/80_B+N+QÏ+!,Q„,—,Q‚.¥.QB+[+\‘+”+P¬+±+P±+!,\E,z,\„,,\h.².\ü*ÿ*Pr+|+^+N+Qr++Q,E,Q„,—,Qã, -QG/L/Q°,µ,PÀ.Ó.Pù,-P4/B/PG/Q/P‹/µ/Pí/÷/P@0A0wA0F0wF0ß0v@0c0Uc0¬0S´0¸0S¸0Â0UÂ0ß0Sm0¼0\Â0ß0\•0®0PÂ0Ú0PÝ0ß0Pà0á0wá0ä0wä02và0ô0Uü0Ä1SÈ1ã1Sï12S11a¬12aH1^1Qi1â1Qï1õ1Qù12Q 2!2w!2$2w$2è4v 2|2U|2†3]3è4] 2^2T^2Š3^3è4^ 2|2Q|2‚3\3è4\í2 3P3A3P]3f3P3©3P 4/4Pd4{4P¢4§4PÆ2K3S]3~3S3Þ3S 4è4Sð4ñ4wñ4ô4wô4!8vð45U5t5S†5!8Sð4 5T 5|5]†5ð5]O66]'7«7]ö7!8]j5|5]í5ð5P]6'7]«7ö7]77T]6|6P®6¾6P7'7Pë7ñ7Pm5€5^€5„5_?6O6^]66^–6§6T§6¬6^¬6®6_®6Ý6^Ý67_7'7^ä7ö7^15X5\j5x5\†5½5\ý5'7\_7!8\0818w1848w480:v08S8US8¿9\¿9Ç9UÇ9ã9\ë90:\08b8Tb8Á9]Á9Ç9TÇ9å9]ë90:]ê8ú8P 99Q±9Ç9Pb8Ã9^Ç9ç9^ë90:^J8½9SÇ9á9Së90:SU9_9Pû9ÿ9P0:1:w1:9:w9:W:v0:F:UF:Q:S`:a:wa:d:wd:ø;v`:Œ:UŒ:Ý;Sç;ø;S`:n:Tn: ;_ ; ;Q ;å;_ç;ø;_Â:ß;\Æ:Ý:Q8;J;Q´;Â;Q‡:Æ:]Ø;á;]ç;ø;]Æ:ç;vHg;u;P›;¥;Q¥;°;P<<w<<w<Ñ>v<3<U3<’<\ <Ñ>\<%<T%<–<] <Ñ>]<3<Q3<Ž<S <À=SÀ=Å=QÅ=Ñ>S<3<R3<L<^s<š<^ <ó<^ó<=T2=>=T`=ü=^Ä>Ñ>^d<‚<PŠ<’<PÖ<Ø<P»=À=P÷=ü=P8>Q>Pwwuv]UduUVTdrTMQdoQouX;RduR€w‹w‹>v€ËUÍU7U€ÆTÍõT,T€ÃQÍðQ'Q@AwADwDÙv@]U]Ì]ÎÙ]@TTTÈSÎÙS`Ê\ÎÙ\`mRÔR`mPŽ’PÇPÎÔPàáwáäwäMvàøUø>]@K]KMUàT<\@I\IMT :S@GSPQwQrwrvP‰U‰ú]¸SáöSþSngSÉöSü^þSn¸S%öSww.v"U" \%\%.U$T03TwŸT­²T.T^",^‘S#S "^"$T$^ŸT­²T"^".T‘ S#S01w14w4" v0\U\9SK" S0aTaE^K" ^ÞáPK" _ùüPžõPõA]Ka]…Ï]ÏöPö" ]wÝ\5=\aý\Yü]5A]a˜]y†P P5=PK[P]aP–˜PÊÏPøýPù Pý P0 1 w1 4 w4 Š v0 _ U_ i Sw à Sî Š S0 L TL m \w Ü \î Š \Z q ]w ä ]î Š ]Ð î Pî ó Pc u ^­ ° Pî Š ^ ‘ w‘ › w› ð v Á UÁ > SL ð S “ TÄ Ç PL ð \¹ í ]: F ]L € ]¹ ð ]Û Þ PL ¹ ^ñ F ]€ ¹ ]þ  P P€ ‰ Pð ñ wñ ô wô Ù vð U Ù ]ß Ù ]ð T × \ß Ù \ð Q Û ^ß Ù ^Š ¯ X± ´ PÍ ê X " Pd g P  » X½ À PÔ Ù X‚ Š Q” ¦ Qß ê Q0 4 R@ b Rq Œ R¥ » Rà á wá é wé Úvà U RS\ÚSà ý Tý T\\Ú\à QX^\Ú^U`P>KP\€P‡›P¹ÊPßìPP,<P¿äQ/QpZ_‡_¯Ú_èþP(bPþPTbP,QZbQàáwáëwë vàUBSF SàTD\F \à8QF[Qh°QÊðQww&vUUU½SÏÛUÛ&SHTHÁ\Ï&\RQ©¬QÏÛQHRHÅ]Ïç]i]BH^©É^Ï×^&^HZP‚…P˜»U»ÆQÊ×Q 6QP·PÒÛP¡ÀQ×P]PHÉ^ÛòPi—P×^fÅ]Ûç]+4]¡]jÍ_Ûi_¡&_¹Å]ç+]4i]&]01w14w4¹v0bUbZ\h¹\0bTbVSh¹S0bQbb^h¹^i^]h¹]©f_°ô_ŠP¦ÃQóQQAMQ­µQ’¹Q€ŠPP©ÈP©µPPÀÁwÁÄwÄ\vÀîUîSRSÀîTî \V\ÀîQî]Z]`awalwlv`‡U`zTzhSr‚SÈ,_Rp_×*\Wj\ww´v6U6"S4´S9T/Q/^.^4´^oRo*]4´]oXo¸_4e_{ª_oY‚‘‚v4‘4{v{´‘ruP4´\¸Ë_2_e{_ª´_“¢P4<P².^ÀÁwÁÄwÄávÀßUÀßTÀÚQÀÕRÀÒXÀÏYðñwñôwôvð Uð TðQðRðXðÿYww˜v*U*Œ\F\J˜\7T7Ž]Ó]Jd]FdP‚‰P(.P–˜P‚vX¢˜vXww=vU7S@AwADwDÔv@hU•ÁU@oT•ÁTruPÁÔSw w vTT !w!)w)Hv 2TFHTPQwQYwYhvP]TfhTpqwqywyŒvp~TŠŒT˜w˜°w°êvðñwñþwþvw w v (w(JwJ[v`awahwhjvpqwqwwwyv€w„w„Ÿv€”U”S€T ¡w¡©w©ðv ¶U¶îS ¦Tðñwñôwô(vðüUü"\01w14w4Âv0LUL‹\›Â\X[P›ÂSz”]ÐÑwÑÔwÔQvÐöUö/S/@U@QSÐùTù](@TÐöQö>^>@Q@Q^`awadwdqv`‘U‘­S­°U°S.U.qS`“T.T`‘Q‘ \ .Q.M\`‘R‘,_,.R.q_z¨]íðP÷$].q]¨ð]˜(^.q^wwv !w!$w$Ev @U@æ]íE] 9T9á\íE\TWPíES{ë^íE^PQwQTwTwvP_UPiTiuSuwT€w‡w‡0v€„U€©T©ûS 0S€©Q© ^ 0^Ú]%]¡\ 0\01w14w4v0FUF[SeS0^T^]\e\0^QctP˜·PÛâP?HPSZP¼ÇPc_e_a_]e]ww.v$U,.U$T,.T$P',P01w14w4ˆv0TUTkSksUs€S0TTknT0:Q:†^RTvXTgPgxvXxPˆvX‘w‘”w”ÚvŸUŸÖS£Ø\àáwáäwäFvàU.FUàþTþST.S.FTàQ.FQþ@]ò>\éD_PQwQTwT³vPvU¨³UPhThqSqvTv­S­³TPvQv±]±³QÀÁwÁÄwÄîvÀËUÀÐTÐìSàëPðñwñôwô]vðUðTE\O]\+.PM][]]`awagwgØv`äUä\]bØ]`äTä^^bØ^äñP$HPblPä_`_bØ_wwØvU™S¨ºS= ]QpPŽP”¨PP¨¼\ww vwwZv/U/P\/T/X]25P`awadwd±v`oUo§\`€T€¯]ˆ‹PÀÁwÁÄwÄâvÀÑUÑÜSðñwñùwùÿvww v w wDvPQwQXwXµvPpUz UªµUPxTx³_k«SY­\p¯]ÀÁwÁÆwÆÈvÐÑwÑØwØÄvÐ6T¯·Tã÷Qó(P¯·P3GQC›P·ÄPÐÑwÑØwØtvÐüUgtUÐãT P6?P?CQCKPK]QgrP€‡w‡ŠwŠv‘w‘›w›¡v°±w±´w´v°ÔUëU°¯TëTÁò\ö\ÊÞPçðSöSƒô]]Ñ¥XëX/6PMZPZcQckPk~Qƒ…PöP !w!=w=zv vUvpS gTU¥ \]x_€w—w—­v€«U€«T°±w±½w½Lv°UHU°ºTºÑX°ÈQÈ PP°ÌRÌT=TÚ X3XÈÞQPQwQXwXÉvPwUw¤\´É\PwTw­]´É]{²^´É^†‰P´ÉSÐÑwÑØwØâvÐÜTðñwñ÷w÷vðU U !w!$w$Èv QUQd_fÈ_ ITI^\fÈ\Œ—P—žYžÑPÑÔYÔÞPîóPóúYôYB”^Qb^f^^]\SffSôÈS),P°Ñ]]Tô]*4]„È]I™TfƒTÑýTTô"T4^TÄÇP*]^„]”b^4^^È^%P;mP4?P™ŸP´½P½ÃQÃËPËÝQâçPðôPQ\S·ÑSfôSÐÑwÑÖwÖüvwwyv&U&qSqyU&T&w^wyT 8\8?QL]\]aQfs\u]€w„w„8!v€ÂUÏäUõ3U¤©U€ÂTÏ×TõT&0T¤©T€ÂQÏéQõüQ¤©Q¦šS¤¢S¢S\S” S” › \› Á SÁ ó \ó 8!S²œ\¤Ÿ\S” \› Á \ó 8!\»ž]` ^¸¢_¬¯Pc¢_¢üQü _ ™Q™³_ãñQ `Q`” _”   Q  Á _Á Ç QÇ è _è ó Qó 8!_¿ÜPóPÁ à P¸ÂRÏéRõúR¢R¢LS” — SÁ ó S¸Â[Ïé[õ8[ÜæYæÿQÿ?Y?yQy~YcoY¢[Z1[1wZwñ[Ej[jvZ”   Z§ ® QÁ Ð [ó ù Qù þ Y!!!Q¸ÂTÏ×TõT&0TcoT¢¬TEzT”   TÁ Ë Tã è T¸Â[Ïé[õ8[co[`” [cj^Z” ^¸ÂTÏ×TõT&0TcoT`” T¸ÂUÏäUõ3UcoU`” U~ÝPl p P‚ ” P~žPóp P‚ ” P¸ÂQÏéQõüQcoQ`—Qü” Q¸ÂXÏéXõ8Xæ~XcoX§ ® Xó þ X¸ÂTÏ×T×éRõT&0TäTRVTcoTó þ TRcR_~U§ ® U¸ÂXÏéXõ8X©«X«ÕPcoXorPr8Xa’XE~X”   X  ¢ PÁ Ð X¸ÂPÏÒPõ P&8P<oP¸ÂYÏéYõ8YcoY¢YEqY”   YÁ Ð Y¸ÂUÏäUäéRõ3UcoU¢ªUØóUNUNSRSèUEfU”   U!3!P 8P +QúR&8R@!A!wA!S!wS!Š!v@!ˆ!U@!ˆ!T!‘!w‘!”!w”!J#v!Ó!UÓ!Ü"_Þ"#_#J#_!Ó!TÓ!Ð"\Þ"ö"\#J#\!¿!Q¿!Ø"^Þ"þ"^#J#^!Æ!R! "X#0#Xª!Ô"]Þ"ú"]#J#]U"x"QÏ!Ì"SÞ"ò"S#J#S¹!Ó!PP#Q#wQ#T#wT#Œ$vP#‡#U‡#ü#] $X$]b$Œ$]P##T#ô#S $P$Sb$Œ$SP##Qy#«#_ $`$_}#‹#X$‘$w‘$™$w™$¬(v$Ê$UÊ$C%]M%“&]º&½&]à&¬(]$Å$TÅ$;%\M%‘&\à&¬(\$–$Q$Ê$R$Ê$XÍ$Ð$PM%¬(S%%P4%7%P‹'´'P%;%\‘&“&\“&œ&]¢&½&\½&à&]p'´'\%G%^‘%¸%^Ú%¬(^%%T4%M%T~&ž&Tº&Ù&Tp'´'T)(B(T\((T=(a(PQ(\(Q~&¬&Rº&Þ&Rp'z'R/(9(R\(n(R%%U4%M%Uw'´'Uww#v05w58w8Zv`awagwg‹v•w•wÃvÐÕwÕØwØâvðôwô÷w÷üvww4v%P'2P@AwAKwKQv`awa}w}ºv`´U´‚]†º]`¥T“€\†º\ÿ~SÀÁwÁ×w×ívÀëUÀëTðñwñôwô vðU*]*4U4*]F ]ðT"S"<T<SFŠS¨ S&\Z]PF \4QË5QF]Q¨ÚQñ Q.^n.^F ^  w  w a v H UH _ a _ ~ T* < T = Q=  ^ a ^Ž ì ]õ  ] * ]< a ]™ œ P * \< a \A ü S a S= ‡ Q* < Q¬ É Q * Q< L Qp q wq † w† Œ vp ~ Tp w Qw Œ X ‘ w‘ ¤ w¤ Û v Ù U Ù Tà á wá ä wä g và  U × ]á  ] g ]à  T Ï Sá  S g Sà  Q Û ^á  ^ g ^à ü Rü Ó \á \ g \à  X¡ ¤ Pí ð PB G P‚ ² Qá Q 0 Qww#v05w58w8[v`eweowo†v‘w‘–w–»vÀÅwÅÈwÈÒvàáwáèwè vðP Pww!v01w1MwM¢v0Už]0~TR§^h ^lšS°±w±ÃwÃÙv°×U°×Tàáwáäwä:vàU]U"]àTS$T$áSÿS\BEP^O&^@AwADwDQv@zUz _"Q_@—T@mQm^"Q^§] ]"Q]²µP"QSq\"Q\m QÇÞQ"?Q`awavwv|v`nT`gQg|X€wŽwŽÑv€ÏU€ÏTàáwáäwäe vàUÖ^Üú^ e ^àTÊSÜîS e SàQÒ]Üö] e ]àRÎ\Üò\ e \àXw w v %w%(w(:v@DwDIwIpvCSRkpRFnPpuwuxwxÂvˆ­P­µQµÂPÐÕwÕØwØÝvàåwåïwïôvww4vCTN4TÏQUÅQÞQ/4QzRUsR8UPqQ\fý\/4\kÚYaÅYÞõY/4Y YPqP\sP¿Pz¡PÞäPæíP/4P¡ÅPæíP@AwA]w]cv@dU@T=TDcT@×Q#=QNcQLY#cYSÆRÆ%X%4R46X6=R=NXN^R^cX’²P¾ÍP##P6<PNcP× QDLQpqwq{w{v‘w‘­w­ùvìUïÇ]5 C ]êó]ÝTË_ü÷_eC \C ‚]‚ü_üó]>c\eÉ ]É Í PÔ é ]é í P) C ]C T \† P SS [ S[ _ P °S°´PÀÏSÖ„\Œ•\•™PÒ \ P5Œ\ÄÓSÓñ\ñó]C ` ^ËÖPÖŒ^Óõ^`† SêïS` Ö^ŒÓ^C † SÏŒSÓïSww×vUUYÄUÈ×U,TY’TÈ×T:QY QÈ×Q!RY‡RÈ×RàáwáäwäwvàöUö(\WcUnwUÿQR7Q7WPW_P_nQ€w„w„v€ŸUŸ´]»]€ÊT¤¹^Í^ww‰v&U&A\K‰\2T2I]K‰]2Q58PK‰S‘w‘”w”kv¾U¾îSøS%aSµT«ò\ø\%e\ÁÄPø#]%i]ßäPPpqwqxwxÁvp–U–¼]puT±SÐÑwÑÔwÔ;vÐU;UÐñTñ9]9;Tï5S@AwADwDÎv@_U_JS†ÎS@XTX4\†Î\@dQ@dRdç]†Î]@LXL0^†Î^YPJMSç‚]kŽPŽÜT†ÎTÐÑwÑÔwÔfvÐU‡_‰f_ÐúTú]‰f]ÐQƒ^‰f^ÐRwS‰ÈSÛfSÐXö{\‰f\swSÈÛSpqwqtwt×vp‘U‘]£U£É]É×Up‘T‘Í_ÍÏTÏ×_ŽÅSÏ×Sàáwáäwä’vàüUüŽ]Ž’Uà6TJjT~’T ŠS ¡w¡¬w¬5v ÆUÏ5UåP/3P@AwAMwM’v@ÀUÓUU%,U@JTJÊZÓZ’Z@]Q]ÅPÓðP’P@aRaÊTÓT’T@¹XÓöX’X@ÊYÓçY’Y@¡‘¡µRµÓvÓîRîv%R%,v,ERE’v@¡‘¡’v³ÃQÜÞQ’QEsRŒR ¡w¡§w§ø v ÙUÙ‡]‘ø ] ÙTÙS‘ T Ù SÙ é Té ø S ÙQÙ‹^‘¡^¡¿Q¿ø ^ äRäðZ:QZ‘" RÙ é R R"P² Ì \ó ø \Üô[7Q[ª ² [Ó_‘ø _ÙPx{P% ² PÌ Ù Pé ø PÜéTx‘Ts x Tx | Q| ² TÌ Ù Té ø T= x QÌ Ù QÆ Pà ä P!!w!!w!¤$v!8!U8!Ì"SÞ"¤$S!3!T3!Ô"]Þ"¤$]!8!Q!8!R8!Å!^Å!"Ta"Ø"^Þ" $^ $($T($j$^j$¤$T;!!\! #vH ##\#¬#vH¬# $\ $¤$vH°$±$w±$´$w´$ã'v°$Ñ$UÑ$'^ 'ã'^°$¾$T¾$'_ 'ã'_…%œ%Qu&x&Pò& 'Q4'6'QN']'QÞ'ã'Qd%'] ''],'o']Ò%&Sò&ÿ&S,'6'SB%'\ ''\,'ã'\q%Ò%S&&P ''S6'o'Sq%'vH,'o'vH'ã'vH«%ß%P6'L'P¶'Ú'P¥&Ó&Q''Qð'ñ'wñ'ô'wô'¹(vð'(U(³(]³(¹(Uð'(T(µ(^µ(¹(T(±(\(¯(SÀ(Á(wÁ(Ë(wË(N)vÀ(ÿ(U+)7)UÀ(ÿ(Tÿ(5)S5)7)T7)L)SP)Q)wQ)T)wT)·)vP)k)Uk) )]¤)³)]³)·)UP)g)Tg)¢)^¤)µ)^µ)·)Tk)ž)\¤)±)\i)™)S¤)¬)SÀ)Á)wÁ)É)wÉ),*vÀ)Ô)UÔ)*S *(*SÝ)ç)U0*1*w1*6*w6*Ö*v0*H*UH*£*\©*Å*\0*N*TN*w*Uy*Ÿ*S©*Á*Sà*á*wá*ä*wä*°,và*+U+l+^r+¦,^à*+T+d+\r+ž,\à*+Q+h+]r+¢,]à*+R+`+Sr+9,Sƒ,š,Sà*+X+p+_r+ª,_\+`+S9,ƒ,S·+Ö+P ,,P#,6,P°,±,w±,´,w´,Ç.v°,Ó,UÓ,ÿ,\--U-“-\Ÿ-Ç.\°,Ð,TÐ,-^-—-^Ÿ-Ç.^°,Ð,QÐ,ý,S-/-SŸ-Ç.SÛ,Þ,Pï,-P-(-]Ÿ-§-P§-E.]E.T.PT.Ç.]-8-_…-™-_§-E._O.T._§.º._/-‘-Sm.›.PÁ.Å.PÐ.Ñ.wÑ.Ô.wÔ.ôFvÐ.ô.Uô./S/ /U /Q6S6€7SŠ7~>S­>½>SÅ>_?S_?ú?]ú?œCS«CôFSÐ.i/Tû/0Tk56T7:7TF7t7TŠ7‘7TQ8[8T:/:TÕ>Ü>Tö.ÿ.P //P>1Q1P÷67PD7F7P77PŒ7‘7Pù78P8 8P99PtCyCP—CœCPEEP9F>FPû./\//^G/{/\ï/ò/^û/Ÿ1\Ÿ1Ó1YÓ1!2\!2'2Pc2Š2\F7‚7\‚7†7^Š7‘7\8Q8\B:Ÿ:\æBZC\yC‘C\õ23PŠ7Œ7Pû./\Š2/3\Š7‘7\û./\40o0P/3^5\¾78\848P9:\B:O:PZ;“=\-CPCPoCyC\%0Ã0] 3$3P^7„7]8Q8]B:Ÿ:]-CZC]û./^{/ò/\[0E3^^5k5\^7†7^Š7‘7^÷78^)8Q8^R:Ÿ:^^;“=^æBZC^oC‘C^Ô0+1Tª1‡2ZæB-CTû./]À0Ã0Pß031U¦1Æ3]Æ3y4Ty4 5] 5^5TŠ7‘7]¾78]9:TZ;‰;]‰;º;Tº;^<]^<Á<TÁ<Í<Tè<P=]P=“=TæB-CUoCyCT‰C‘C]®1‡2[û./^E3^5^¾78^9:^Z;^;^94c4P<E<Qû./]u56]—6F7]Q89]:B:]Ÿ:Z;]“=P>]Å>Ü>]ä>]?]]?o?Zú? @Z @æB]ZCoC]‘CœC]§CôF]¥8æ8X99X/:B:XŸ:«:X·8Â8QD9^9Q/:6:Q::B:QŸ:«:Qû./\÷67\'7F7\,?/?P@Å@UÓ@æB\ZCoC\•CœC\.D1DPE.EU.EjE\ÍE€F\û./^÷67^'7F7^Ø:Z;^“=Ÿ=^û./\÷67\'7F7\Ú:Z;\“=¯=\û./^÷67^'7F7^=;Z;^Ÿ=G>^Å>Õ>^‘CœC^û./\÷67\'7F7\=;Z;\¯=‚>\­>Õ>\‘C1D\JEjE\€FôF\b8n8Qn8³8R³8Â8Q9D9Qj99R6:::Q¹56Q757QQ8b8Q: :Q5½5R×>Ü>Rû./^67^'7F7^‘7¾7^T89^/:B:^Ÿ:Ø:^Ü>?^•CœC^jEÍE^ 66P6—6]‘7¾7]Ü>ä>]û./\67\'7F7\‘7¾7\T89\/:B:\Ÿ:ê:\=;Z;\Ü>/?\•CœC\jEÍE\û./_÷67_$A¥A_ZCoC_•CœC_ D#DR#D+DQ=DIDR­DE_NFcF_û./^÷67^•CœC^ÁCzD^JEjE^cF×F^û./_÷67_•CœC_ÙCÜCP EE_JEjE_cFºF_û./^÷67^qDzDP EE^û./^÷67^$A¸A^ZCoC^•CœC^ÏDÒDPNFcF^g>½>Sû./^÷67^>Õ>^‘CÁC^JEjE^×FôF^û./^÷67^ @A^ E.E^4E9E^??XjEEXû./_÷67_@¥A_ZCoC_•CœC_ E.E_Û@à@P??_?R_?÷?S÷?þ?R @@R.E9ERQ?þ?^.E4E^û./_÷67_'7F7_¥AæB_ÍENF_û./^÷67^'7F7^¸AæB^ÍEéE^!F>F^û./^÷67^'7F7^;BMBQPBSBPÄBÌBQÌBæB^æEéEPŠA©APGGwGGwGŸIvG6GU6GcG]mGŸI]G@GT@G_G\mGƒGTƒGŸI\G6GQ6GNGXmG€GXWG_GPG¨GP-G[GSmGŸISWGgG^‹G®G^®GíGUíG§H^§HóHUóHI^IdIUdIŸI^ðG;HTlH§HTóHITdIŸIT I¡Iw¡I¤Iw¤IÙSv IÇIUÇIJ^J JU JSP^žP7Q^­QR^R+R^ORöR^SÙS^ IèIT JJTJJR IÇIQÇIJ\ J'K\ M*M\M!O\#PPP\žP¨P\­Q»Q\ÏQR\OR¥R\WSºS\ÌSÙS\ IÕIR JJRõIÿIPINYNPžP¨PPðIJ]5J7J]™L¹LPM MPqM›M] N*N]œN¡N]²NéN]_PaP]lPxP]xP„PP£P¨P]QQQQ?Q]SQsQ]­Q»Q]üQR]&RJR]]R¥R]öR S]ºSÇS]¶IJS JJRJ‹LS M×MS*N?NS¡N/OS/O#P]#PBPSžP¨PS¨PQ]Q=QS­Q»QS»QÏQ]ÏQëQSR+RS7RORS¥RWSSºSÌSSÂIíIPõIJSJJ_ J,JP7JDJP’L M_ M!MPM¤MPÔM×MP*N4NP¡N¬NPîNøNP#P-PPžP¨PSOR¥RSõIJSªM N]?NiNSžP¨PSOR]R]õIJ\'KRK\jKKUK M\žP¨P\¥RöR\ S%SU6S;SUESWSUõIÿIP¹M¡NPëQRPWS¯SPÌSÙSPMJHK]HK¤KT¤KM]žP£P]ÏQëQ]¥RöR]SWSTõIJ_IJ™J_™JëJXëJãK_ãKLXL’L_žP¨P_ÏQëQX¥R¿RX¿RöR_SWS_õIÿIPJ¼JPžP¨PPÏQàQPÉJ KZ¯K¿KZæQëQZKKYëK LY L LR1L_LY_L~LY¬RÈRYîRöRYK$KQÎKñK[ñKúKT1LML[ML_LR_LcLR¥R²R[²R»RTîRöRRÙKîKZîKõKU.L_LZ_L~LZ¥R¯RZ¯R¶RUëRöRZ·K¿KQ LLRLLQ.L1LR¬RÁRRÁRÕRQëRîRR¹LÝLPõIÿIP‰M›MPõIÿIP;MKMPžP¨PPõIJ\*M›M\žP¨P\õIÿIPOM^MPM›MPeS“SRÓS×SRõIÿIP‚Q’QPR+RPõIJ^7Q­Q^ROR^öRS^ºSÌS^õIJ_:Q­Q_ROR_öRS_ºSÌS_õI JQ/O]OQÄOPQÕPÚPQQ?QQSQ€QQ+RORQöRSQºSÌSQõIJ\*Q­Q\ROR\öRS\ºSÌS\?Q­Q]R&R]+RJR]öR S]ºSÇS]?QXQP–Q­QPRRPõIJ_O#P_¨P:Q_»QÏQ_R+R_ºSÌS_/O#PS¨PQS»QÏQSõIJ\!O#P\¨P*Q\»QÏQ\R+R\õIJSBPžPS­Q»QSõIJ^SPžP^­Q»Q^àSáSwáSäSwäSVvàS+TU+TŸU\§UV\àSTTT2U_U¥U_§UV_àS TQ T†T^ßUV^àSTRT U]§UV].T1TP§UVS†TºT^§UßU^ T&TQ U UP9U£U^éTUP V!Vw!V$Vw$V[v VAVUAV WSW2XS[PÜXðXQYYQ"Y%YP8WuW^X8X^’XÎX^ßY*Z^:[d[^ýVW_X:X_ÚXMY_vYÂY_zZ£Z_ýVW]YÂY]ýVW]cX’X][‘[w‘[£[w£[Ú[v[Ø[U[Ø[Tà[á[wá[ä[wä[k\và[P\UP\a\\à[K\TK\]\Sà[H\Q \P\Xp\q\wq\t\wt\D_vp\Å\UÅ\U^_W^D__p\¨\T¨\E^SW^D_Sp\±\Qp\ž\Rp\À\Xµ\Q^^W^D_^Š\Ë\\Ë\è\]è\]P]…]]…]¯]\¯]¹]TÑ]^T^/^\/^3^P3^I^\I^M^]W^h^Th^{^]{^¡^\¡^¹^T¹^»^U»^Ô^TÔ^Ö^UÖ^ñ^Tñ^ó^U_ _T __U__T_$_U$_2_T2_6_U6_D_Tg]r]Xë]^XW^h^X°^»^XS]]P3^>^Py^~^Pw w  vT QP&-Q-1P;DQ|ˆQDJQJQP]dQdhPq|Qˆ Q ¡w¡­w­ôv µTª·Q·¾PÊÑQÑÕPáôQww&v05w5=w=gv0:T:FTFHPHLQR[P[_QeePegTpqwqxwxv€ŽP›P ¡w¡«w«±vÀÁwÁÝwÝYvÀUW^À T~U]øS\`awasws‰v`‡U`‡T‘w‘”w”äv´U´Æ]ÆÌUÌÌ]´T´¾S¾ÔTÔ‹S©½S´Â\òõP´Ê^Ð^ðñwñôwô”vð UðTðþQþ>_@”_l€S‚±R±þS'lQ<^@”^ûþP@”S8\@”\EKQKPP\cQchPqwQŒ’Q ¡w¡¶w¶¼v ®T §Q§¼XÀÁwÁÎwÎ vÀ UÀ T ! w! $ w$ L v \ U\  ^! B ^ \ T\  S! 6 S W QW  ]! > ] N RN  \! : \ \ XP Q wQ e we ˜ vP X UP ` TP ‡ Q– ˜ Qƒ “ Pwwžv/TFWT(PF}P ¥w¥¨w¨ v ÃT°ýQ¼âPww,v05w58w8Yv`awaiwikvpqwq{w{v‘w‘­w­’víUíŒ\ÛT½ŠSÉŽ] ¡w¡³w³Év ÇU ÇTÐÑwÑÔwÔKvÐôUô] U ã]ûK]ÐôTôþSþTÔSû-Sô\25PûK\ô ^?ç^ûK^PQwQTwTì vP{U{c _e ì _PÁT‹ Ò TP›Q¤_ ^e ‹ ^‹ ¥ Q¥ ì ^Ñ[ ]e ‹ ]Ò ì ]ÜßPe ‹ \Ò ì \yS Se ì Sð ñ wñ  w vð þ Tð ÷ Q÷ X  w  w a v _ U _ Tp q wq t wt … vp ¬ U¬ L ]V w ]p ¬ T¬ D SV o Sp § Q§ H \V s \p ž Rž P ^V { ^p ¬ X ‘ w‘ ¥ w¥ ­ v ˜ U   Tww#v05w58w8jvpuwuw‹v•w•˜w˜ºvœ²RÀÁwÁËwËÑvàáwáýwýrvà8U8l\à)TÇ ] P7n]BLRLOUOwRjS€w„w„v€§U§­S­³U³S€¾TŸ±\³\ !w!3w3Iv GU GTPQwQ_w_¬ vPUÔ^Ö3 ^G ¬ ^PzTzÈSÖ SG Ž S“PÖ$ \G ¬ \­Ð]Ö/ ]G ¬ ]° ± w± ´ w´ Ò v° ( U° " T°  Qˆ P6 ” ] ¬ ]¶ Ò ]A D P¶ Ò \æ ¤ S¶ Ò S÷ XT z Xà á wá ö wö ü và î Tà ç Qç ü X  w  w Q v O U O T` a wa d wd ü v` œ Uœ  ^… Ê ^Ô ü ^` œ Tœ s S… ¾ SÔ ü S` — Q— { ]… Æ ]Ô ü ]` Ž RŽ w \…  \Ô ü \` œ Xý 6 Q6 V Q… · QÔ à Q  w  w Ÿ v U o Zq Ÿ Z  T K Xq Ÿ X P Qq ’ Q P Qq ’ Q3 E Rz Ÿ R3 U T‚ P Ÿ Tww)v05w58w8Wv`eweowo‰v‘w‘˜w˜vœ·PÁÏPãPww:v8P@EwEHwH]v`ewehwh~vp|P€w‹w‹‘v ¡w¡½w½b v ôUô` ^ åT ^ ]Z Sô 3 Qò  Pp q wq y wy ö vp ò Up Û Tp Î Q  w  w ” v J UJ ^ ]d ” ] J TJ Z \d ” \  ¡ w¡ « w« ² v   U  ÿ Tÿ r S„ ² S  à Qà z ]„ ² ] ~ ^„ ² ^  P„ ² \À Á wÁ È wÈ Ò vÀ Ì Tà á wá ë wë 7 và  U - U@ A wA G wG Ëv@ i Ui Ì ^Ð §^®À^@ i Ti È \Ð £\®¼\@ U QU Ê ]Ð ¥]®¾]@ e Re Æ SÐ ¡S®ºS@ › XÐ Û XAX'T'ARU   QÐ é QD ‡ PÐ î PÐÑwÑÖwÖvÐUC]M]ÐT?\M\ÐQK_M_ÐûRûG^M^Ð X ;SM¶SÙS !w!$w$.v HUHR\R`U`.\ HTHNSNdTd.SJRPFYP“˜PH`vHz.vHHJPêþP5PBFPHV]«]QT[ë]ë.TH^_¢._H`v@ .v@ñ P…‘PH`v¸ .v¸01w1FwFLv0>T07Q7LXPQwQcwcšvP˜UP˜T ¡w¡¤w¤v ÚU ÉTÉ4^8^ ÎQ ÚR ÚXÚ6_8_ÕñS).Sø2]8]\%0\Z_\f\ww)v05w58w8avpuwuwv‘w‘˜w˜Ñvàáwáëwëñvw w WvPU`awadwd–v`xU`}Tu”S ¡w¡½w½P v UJ \ õTãH SP Q wQ W wW Š vP b Ub ‚ SP b Tb k \k o Po „ \„ Š T ‘ w‘ £ w£ ¹ v · U · TÀ Á wÁ Ä wÄ  vÀ ä Uä ö ]ö ü Uü ü ]À ä Tä î Sî  T ¼ SÚ í Sä ò \" % Pä ú ^? ^ ! w! - w- v ' U' š ZZ * T* ù UU D QD ù TT d RR !w!$w$ñv NUNÜ_Þñ_ bT `Qq{Qƒ†PÞñSLÌ\Þñ\wwvTQX !w!3w3jv hU hTpqwq|w|Švp£Up£T£>_@~_„Š_p–Q–6S@vS„ŠSpyRp£X9xR5•QØõ^<^@|^„’^ ^ny^tšZ·(Z’óZ ^ZnyZ~ƒZ½:]@z]„y]Ú(Qß(PœïP@GPY„P„’PxÊRÞïR@„R„’R‘w‘”w”‚v½U®T®e]o‚]¹Q¢^So‚S®Î^Ñg^o‚^‘w‘”w”/v U f^j/^½T½b\j/\½Q½R½Xßd]j/]›¦PÄØQÂêPŽ‘PwwSv,RCSR`ewehwh v ¥w¥¯w¯ÆvÐÕwÕØwØövww$v01w1;w;AvPQwQmwmÎvPªUªÌ^P›TÖÊ]‰ÆSÐÑwÑíwívÐUÐêTÐúQÐßR !w!&w&Ýv ™U ÙU ŽT ÂT XQ ½Q/XQ ½Q13X?DPDGXG]P]„X ¤P¤¸X13R:zR ²Ràáwá÷w÷ và Uà Tww}v4U4F]FLULe]4T4>S>TTTS=VS4B\ruP4J^i^€w„w„' v€ÊU€ÈT€ªQª¹ _» ' _F · ^» Þ ^ ' ^Ò³ \» ' \ìïP» ' ] ± S» ' SÝäTªB ^© · ^Þ  ^¥²P²µQµÏP0 1 w1 F wF L v0 > T0 7 Q7 L XP Q wQ ^ w^ ¡ vP Ÿ UP Ÿ T° ± w± ´ w´ ô v° ì Uì   ^¦ ê ^° ì Tì ” S¦ Þ S° ç Qç œ ]¦ æ ]° Þ RÞ ˜ \¦ â \° ì Xw w ¨veU¨UQ¨X3¢S°±w±¶w¶¸vÀÇwÇÊwÊÏvÐÑwÑÛwÛávðñwñ w vðHUH{Sð0T€w“w“v€T ¡w¡·w·Ív ËU ËTÐÑwÑÔwÔ²vÐ-U-‚S‚ŒUŒ«S«²UÐ T ˆ^ˆŒTŒ²^ÐäQä„\Œ²\3Q{²QW¦R«²R8XK²X_Š_Œ²_ÀÁwÁÄwÄ“vÀUiuUÀTixTZiQ“QêeSiS"6PŽP+ivl“vl8`PŽPê Pi}P ¡w¡¬w¬âv ¹UßâU ÚTßâT ßQßâQ²ÈPÐßP¹ßUßâUðñwñôwôUvðUðTð Q SQ+S-USðR`awadwd v`ÒUî  U] h U`‘T‘ _ ªTªç_éî _î  T  _†ÜRî # R] v R‘ÜPî ò P] a P<ßSéî S ] S±  Ss\-0P> N \± ñ \î v@> V v@± ñ v@]]hã]éî ]> V ]± ñ ]IT 3 TV X Tñ  Të.Pç û PN V PòtTç û Tl ¼ TN V Tî vL> V vL± ñ vLLwP ^å^é ^© ç ^6 R \R X Pb l Ql î ^> Q ^± ñ ^á ! Q  Q % P6 ? Qs\>0\´á\éC \‰ © \l î \> N \s\´á\7  \J © \ 6 \‹ î \> N \ºëPé P>€Pl ‚ Pî vL> V vL± ñ vLš³PÀëP­î vL> V vL± ñ vLGIQIP·Q·¿PV ] Qñ õ Põ ü Q  w  w § v A UA   ] E TE – S E QE „ ^„ ¥ ^9 › \° ± w± à wà ú v° ø U° ø TwwvpU³îU)T)„^ˆ¯^³^)Q)†_ˆ±_³_TR³ÊR’X³ÐX±àQŠ‚]ˆ­]€\ˆ«\³þ\àµQµ¹P¹)Q)~Sˆ©S³üS)yP³¼PwwJv1U1Ú]è@]:T:ÒSè8S:QKâ_èH_>Þ^èD^PQwQYwYvP~U~] ]PyTy\ \PVQP~RP~XP~Y~__„P SY[Rg‡RÀÚRA\QwQww¤vLULe_g¤_LTLUSg¤SLQLa^g¤^LRL]]g¤]LXLY\g¤\OYPg“P–¤P°±w±¸w¸—v°U‡—U°µT¾}^—^µT‡—TálS—ÔS‚S‡—S&:P¡Py\‡\5‡v\<UP—¡Pá$P‡—P·CSewS‡SøPjlPýQEQ v\,PelP·öP‡Pww!v01w1;w;Yv`awadwdàv`âUé™U¶ÑU`¥T¥€^€„T„²^¶à^`‡Q`’R’zS„¬S¶àS`¥X¥~]~„X„°]¶à]¨|\„®\¶à\ª¼PéùPyP„P¶ÔPàáwáçwç7và0Uà+Tww¾v U9TyŠT¹¾T—¹P-£R¹¾R9;T;{P;Q¹¾QÀÁwÁÄwÄvÀ UÀÉTÀýQÀéRòS !w!$w$yv jU )T ]Q IRRwS€w„w„ v€¥U¥S€–T–\€¥Q¥ ]­·PúÿPww^v\U\TGQ,R<SR`awadwd®v`¬U`¬T`—Q`|RŒ£R°±w±´w´äv°ôUô†\Žä\°9T°Q„SŽäS°@Rˆ]Žä]IPQwPŽ›P¡·PÆŠ^Žä^ðñwñùwùÿvww v w wxv€‹w‹ŽwŽvww~v€‹w‹ŽwŽîvðûwûþwþ2v@AwA\w\Fv@„U?FU@YT@Q?FQ@uR?FRþP?DPPQwQawagvP^QPWRWgXpqwq~w~ãvp¤UáãUðûwûþwþ° v° ± w± ´ w´ } v° Ç UÇ s \ Ø \  \ } \° Ì TÌ  S } S° Ì QÌ p ] Õ ]  ] } ]s  \ 1 \F h ^D I ^« Í ^, 1 ^€ w „ w„ …v€ » U^nU€ Ó T^nT€ ¨ Q¨ Û S^hSn…S€ Ó R^nRÎ È ]È å På "]n…]Ý Pn…P nTÈ j\n…\w w ‡vBUBH^c‡^;T=Q1RXJ_c‡_×BS‘w‘”w” vªUª \  UÆTÆ S  T ! w! 3 w3 ” v { U{ Ž ] * T r Q c R× õ Sõ & ^& Š Sf Œ \  ¡ w¡ ± w± ¥v  ê Uê ‡S  Ö T  ¿ Q¿ ›]  Ý R‡Ÿ_°±w±´w´âv°òUò^Uâ^° T°-Q-MS°RòüSŠâSòüSMS‚ŠSò]h”]áþ\Ã\w w IvP(GPPQwQYwY[v`awakwkqv€w„w„v€¸U¸ÚSìS€³T€¸Q¸æ^ì^€¸R¸â]ì]€¸X¸Þ\ì\€¸Y¸ê_ì_ÇÏP P !w!'w'¹v ZUZ‘\£¹\ ZTZ¡_£¹_ OQ ER^eXmpP£¹SÀÁwÁÄwÄ9vÀøUøS19SÀéTé#\1•\ÀøQø/_19_ÀøRø‚]ý']ÀøXû/^/9vHý#\’•P»ÅP}P@AwADwD|v@ŒUŒÉ^Ï|^@pTpÁ\Ï|\@|Q|Å]Ïæ]æîPî:]:EPE|]@ƒRƒÍ_Ï|_@wX‘P«±P¹ÁP5:P½SÏ|S€w‘w‘Ëv€ÉU€ÉTÐÑwÑÔwÔ€vÐUt\ÐToSÐõQõy]ÐýRý~^ÐX€w‰w‰Ñv€–U–ÏS€†T€–QàáwáçwçkvàU†Z¦#Z3MZàTÇ_Éb_dk_þ¿SÉWSdkSùL]L}Q¤¦]¦ÉQÉÖ]Ö Q-3]3MQM[]Á\ÉY\dk\wwùv'U'YSYcUcùSETQÅT¢¬TBQQÐQ¢¬Q"[\cw\ T']')T)9]9@T@]]]cTcp]pÅT¢¬TQ[\wù\Q_^»ù^wwtv"U"J\Lt\*T*FSLtS€w‹w‹5v€™U™RS`5SóZ]`q]á]±´P`5\ÇØPÛûP(P@AwADwD¨v@gUg<]F¨]@gTgD_F¨_‹ä^%@^Fh^jmPF¨S¨«PF¨\áäPh¨^°±w±´w´J v°ÊUÊw\…J \°ãTãƒ_…O_•6__Ì_9A_7ó_°ãQã{]…Ö]•,]g]¤»]°ãRãg^…_^•Ÿ^©Â^ÇÞ^rÏ^9X^7l^»ó^l{]ÓÖPrÔ]9l]»J ]g^u©^ÂÇ^ÏÔ^ïòP…J Sl…vLð©vLÔvL9lvL»J vLl…v@#P#©v@ÆÔv@97v@_lv@»J v@DTQ|„QÆÔQ Q*7QE J QD_^ÆÏ^UXPóJ ^DO_ÆÌ_‹ŽPó4 _Ä_^•Ÿ^ðóPÔX^7ó^l{]ÄÖ]•©]),PÔ9]l¤]P Q wQ T wT ” vP r Ur ó \û ” \P r Tr Õ Sû Š S^ ÷ ^û \ ^a ” ^Õ ñ SŠ ” S| õ ]û ” ] Pû " _a ” _Í Ú Pû  P " Pw w VvU T UQTS")POSP`awauwu¡v`—U`T`‡Q°±w±´w´¶v°àUàŠ]”¶]°T‚S”¶S°Q†\”¶\°R0P2>PHZPpvP~†Pª¶P&-RFZR”¨R’_”¶_ÀŽ^”¶^CZX” XÀÁwÁÑwÑ8vÀëUë.XÀTÀÜQÜ.Yww_vU T ]]]_TIULR\R_U S #\#YSY[\`awadwd¨v`}U}]¨]`TS¨S¡R± R5R[iR\¨\x^¨^ww§v#U#u^{§^2T2m\{§\2Q2q]{§]-y_{_58P{§S ÊwÊ8wð ÑUÑNVNXUX™V©V*U*8V ^T‰ìT/T £Q cR‰ôR/RA¡\ô8\@AwAàw@XUXuSv…U…àSàûwûpw àU,\7e\à÷T÷'V7`Và Q "S7[Spqwq}w}„w„%w°!p‡U‡íVî$V0NwN²wÀÁ0dUdð]ø²]0aTaàVø²VÀÙwÙjw° ÀæUûýP!jVp“w“ûwÐp¡U¡(V(QUQ]VvûVpœTœq^vû^Ø(S9bSÊÏSóûS£¦PVg\vû\Ì(‘HVv‘Hwwww  w(  w0 w8Ô wÐUJwJÔ ‘D/T/ \ ® \µ Ô \/Q/ãwã ‘@ µ wµ Ô ‘@/R/ãw ã ‘¼ µ w µ Ô ‘¼/X/ãwã ‘¸ µ wµ Ô ‘¸/Y/ãwã ‘´ µ wµ Ô ‘´JpS' « SJfV4 G VG P PP  VpÉSà õ wõ w wÀà  U r \r w Uà ' T' h Sh w Tà  Q m Vm w Q€ w ž wž ï w0€ ª Uª î Sð ò wò  w  w b wÀð  U _ Sð  T a \p ˜ w˜ 7 wàp Ú UÚ  Vp Õ TÕ 2 _p Î QÎ - ^p É RÉ ( ]p  X # \p ¼ Y¼  S@ V wV u wÀ@ ^ U^ Ò VÜ u V@ ^ T^ × \Ü u \‰ Ü ‘X u ‘X€ « w« w€"€ Ë UË "\B\€ ¿ T€ È Q€ Ú RÚ —w—Õ‘œ^ÕBwB‘œ^€ Ú XÚ :_B_€ Ú YÚ SBRS *]B]XÕ^ç2^B^`Õw¸!çw¸!’w’›w›wŸw Ÿ w( ¡w0¡¥w8¥MwଳV³Å]ÅòVòþPþ*]*-V-?P?MVÅ<^?M^PTwTŸwP]U]‹SŒžSP`T`hUPcQchTPWRWhPPhX ±w±+w  ¸U¸ðSú+S ÀTÀõVú+V0NwNjwÐ"0RUR V8jV0ZTZS8jSpqwq…w…‰w‰0w p„U„òVó0V‘”P¯éUéñSñóUó0S0JwJÔw00RUR¡]¦Ô]0ZTZœ\¦Ô\]`P¦ÔV<—S¦ÔSàõwõZw àýUý8\=Z\P=ZVì3S=ZS`nwn}w`sU`jTwwww w( w0 /wàV]/]ES/Sb³Q/Q04w4~w0FUFtU0FTFoT0FQFhQ€‚w‚œwœ w Ûw €©U©‘S˜ÛS€©T©’V˜ÛV€›Q›—\˜Û\ã°TöQ°QàäwäGwë/RðôPÿGPð6TPTwTÆwP U_Ui~UˆU§¼U}ÊR%QR§®Rx­PÎÒQäQ1<PJiPˆ¢Q§ÆPeT%XTiwTˆ–T§µTÐäwä!w ÐæUæSÐæTæðUÐèQèðPÐðRöV0EwE´w 0PUP~VŒ´V0PTP‡\Œ´\0PQPiSŒ¯SfiP¯´S,T $w$GwPTwTŽw ¢w¢¦w¦§w§0w  ´U´+\«&V¸%S06w6jw0VU0:T:;S;<T<QSQVT]iS0LQ0ERX`PpqwqÇwp—U·ÇUp€T€žZ·ÇZp€Q€™P·ÅPÅÇQÐÒwÒÞwÞãwãèw èéw(éêw0êñw8ñwàÐöUöÉ^Ì^ÐÜTÜË_Ì_ÐöQöÇ]Ì]ùüPÌ$ScŽSÎØSP@HPKePΑ¼ $w$Žwµwµ} w€"¾û‘¼} ‘¼¾û‘¸˜[‘¸ˆ} ‘¸¾Û\<\[\©ž \ÿ > \¾ËS<S[S—j Sÿ S¾ûw°!<w°![w°! ž w°!ÿ > w°!€ w ¶ w€ ˆ Uˆ ¦ S² µ S° ² w² ´ w´ ¶ w¶ » w » ¼ w(¼ ½ w0½ Ä w8Ä w€° ý Uý ‹ ]‹ ½ U½ ˆ]ð]ðU]#U#o]o U ]ã ó ^TŠ^`cPX=^hþ^j^}¦^[‘^Ç^ê ƒw¬ƒ“Tåw¬=hw¬›Êw¬M_w¬½w¬  Pœ ‹ Vy„VVIhV ‹ S¿ ì SyƒSSP]S‘PëïSGoSS?XSCHSSIhSCMS³½Sj}S)US—îS‘ÇSó Š^c^?^þ^î[^ã ì wÐì DST[S[wÐ|SwБÐ~ðwÐ?SXySØ=wÐh½wнÕSÕþwÐþS`‘Ð~`jS}¦Sî[S„VÄVîõV$£V…V?VX³V½ÕV`jV}„V).V9‘VÇVT„V|"S">V>SV/S…SØåVÕÜS`Vã à‘È~à"wÈ"¦‘È~¦wÈð‘È~?‘È~X=‘È~hÕ‘È~ÕþwÈþj‘È~}¦‘È~î‘‘È~Ç‘È~†\Ä\î \'Ø\…¨\?\Xå\›±\½Õ\`j\}¦\".\1‘\Ç\¤¬QfiPy{P{‘QÇÔQ¤¬P{‘PÇÜPTŒ_ìŸ_… _’P½Õ_`j_[‘_Ç_TŒ_¼ _Øå_Õþ_`_yŠ^+.P?X^=h^j}^‘Ç^y†\Ïo\‘Ç\y„V›©T©­P­×Q×PVPXQXoV?XP‘ÇVÄÌPÏûP¦ÝPµ¸P¦ìS")SU_Sy„V£¦P¦¥Vy†\14P—î\y„VFUV¢¥PHPP¬ÌPáîPy†\,CSCH\ÐÕ\ÕS\y„V,HVÌV .w.Öwà@JVgjP@ES¯Sà w 3 w0àU•]Ÿ3 ]àïTïš^Ÿ3 ^àQ\Ÿ3 \àR‡VŸ3 V"%PŸ3 S@ Q wQ « w @ T UT q S{ « S@ \ T\ v V{ « V° Á wÁ !w ° Ä UÄ á Së !S° Ì TÌ æ Vë !V !E!wE!Y"wÐ !R!UR!­!w­!Y"‘@ !]!T]!ú!wú!("‘¸("Y"w !]!Q]!ë!]ú!Y"] !]!R]!õ!_ú!Y"_ !]!X]!ð!^ú!Y"^`"d"wd"Ç"w`"ƒ"UŒ"”"U»"Ç"U`"Œ"TŒ"³"T»"Ç"Tƒ"Œ"U—"¶"UT8:TQ8:QXP6:X ªU°µUÀãwãhw0ÀüUüV(?U?hVÀôTô\(h\ïüP(DPÿSGhSwSw U$SBV$*S*5P5JS`~w~BwÐ`ƒUƒ’V’ÅUÅBVˆ¢\CT\TaUaB\HaP‚‰PÏØPïPˆšS SÏÝS÷ùS P05T5EPPfwfw PU½V½ÚUÚVPrTrÆ\ÆÚTÚ\jÁSËS&w&·w HUHšV¤·V@T@Ÿ\¤·\)xSxŒQ‘¤Q¤·SÀÛwÛbw0ÀîUîFVUbVÀéTéP]Ub]ÀéQé\P'K\Ub\ÞASUbS/P<FPpzUpzT€Žw޽w €–U€–T–³V™œPÀÚwÚw ÀâUÀÌTÌ \ÀâQâVåèP 1w1mw 4U4NS <T<cVKNPprwr€w€‹w‹w pUë\ì\pŠTŠéVìVÏçP“–PìS ;w; w0 MUMÌSàñSñûUû S MTMÛ]à ] MQMÑVà VGÖ\à \„–QÇàQïñQwww”w "U"-V-7U7oVo}U…”U"T"q\qxT…“\“”TnS…S ÅU£ÅPÐÑwÑÕwÕÙwÙw ÐÝUÝ VæùUüÿSÿUô SÞéN W Ø Ü }   { ÞéN W Ø Ü }   { 9 G % N « æ | ¤ P u J Ú 9 G % N « æ | ¤ P u J Ú ï ô æ % ¤ « u | ÝP¬BD>¨«ð À Ä ¼ Îھƭ°¨«ð À Ä ¼ Îھƭ°É+ ð / 3 ý ð g m { } } ž À Ä +/6??ˆ 0 ³ Ì è ð Ü ã … ‹ Ž œ @YŒœªˆ’ªÅÈ˾‹3M«¾‹3M«Ýë3M´à3•‰ÂD°`xä¯*Dý `xä¯*Dý `xÁÅÑÙÒsw²ة®‰¦€ƒv~Òsw²ة®‰¦€ƒv~DPw(nwhnè0@Ûè0@Û*вz@ç*вz@çÁÈÚß"AFiy{~ƒˆÈÕªƒˆÈÕªpÅ(PpÅ(P¾ÈÎÒÞ踿ãçÚÝìï÷û_ y ¨ ´ Ô × ™ ‰ ¨ ¬ Ÿ ¢ _ | ¨ ´ _ | ¨ ´ s | ¨ ´ Ð ¨ ´ ä = @ F J ü  ' +  ! §cx¦§cx¦Ñ›$ 6 ²°ÀÑ›$ 6 ²°Àr›$ 6 ²²$ 6 e ²$ 6 e  ” e 6  £ $ P`P`¥¶JX 6 6MSV|MSV|„‡  %@b %@b×Ü@b×Ü@b¢®¼×·¹¢®¼×·¹ .xƒ>PÈÔî! p°;Xw’02p°02p°®Ðìãè\°Ì| P8@€8m{‘œØð¨Ë ¢‘œØð¨Ë ¢Ðß Ðß Àõhü; xäù”äùôû   @!u!" "u!"" "u!"" "+(8(;(>(¨(p)t)y)¨(p)t)y)×*`+í./p.¼.x+ˆ,×*`+í./p.¼.x+ˆ,Ó, -G/Q/Ó, -G/Q/. .R.Y.2.;.€/Ÿ/ð/÷/€/Ÿ/ð/÷/Ì/×/Ú/á/ø0ü0$1'11!1 1111j5m5°7ö7ˆ607ö5P6j5m5°7ö7ˆ607ö5P6á6ä6 7777Â:Ð:-;¹;‹;;“;¥;:<D<`>Ñ>>6>à<¹=†ŠÊÖ¨¬TXv}jr\`¹¼ " … Phð5¹¼ " … Phð5ÔÝåðÍ : P À è : € À   ) - 4 C J ÷ ú   ý  C J T [ :š Ú`K“`mH©à&cgž©ŠŽöû". ëò ûàp&x¸S 27%*<P˜<P˜Q^˜ÈQ^˜È‘0q„0¤äž¡„0¤äž¡ˆŒ)R˜ ˆŒ)R˜ “º}ˆ“º}ˆlr”£Ü°ÀÜã°ÀæÜã°Àæ,›ÀÄœ®,3ÀÄœ®6›,3ÀÄœ®6›ÜYprÜYprÊÊÑÕÊÑÕƒƒc\ÁÈÌïÁÈÌïB{prBIprM{BIprM{‡Š—Ç‘‡Š—Ç‘îQÈîQÈó÷”„ˆ"múýó÷”„ˆ"múý_fðôrâ_fðôr⸻¤8!¸»¤8!¸»E  ¸»E  Ö  c Ö  c Ku§ ® Ku§ ® Ku§ ® ‹Õ  § or‹Õ  § or¦ª¶Î®³¦ª¶Î®³wEè ó wEè ó ²!¹!Â!ê!¼!¿!²!¹!Â!ê!²!¹!Â!ê!9"@"}"†"s"x"9"@"}"†"s"x"y#Ä#h$Œ$$L$y#Ä#h$Œ$$L$%%´'¬(˜%p'%%´'¬(˜%p'p'ž'°'´'p'w'°'´'z'ž'p'w'°'´'z'ž'ad‡Š€†gyad‡Š€†gy02: .5&_: .5&_nuz‚6 = 0 @ A ‡ 6 = 0 @ A ‡ ¢ É @ P  0 ¢ É @ P  0 + 4 X ` ; = ` e P g h u ` e P g h u ~ ‚ P è ð ’ ¤ ‹ Ž ~ ‚ P è ð ’ ¤ ‹ Ž ðø .:&-G.:&-GOQ[cfmq fmq »Þ(@»Þ(@PXksbgvƒ  vƒ  ’™( e   ’™( e   ¡¥­ Usq Usqsðà4sÈsðà4sÈzÈà4Æ=NÆ=N¶»ìê¶»ìꤦÀÆèÆèäè&+à.4¡©(5Ь¾Ð×(5ÞÐ×(5ÞÐ×(5Þ'0’07…’>u07…’>u07…’>uÙÜð ø Ì Ù / ¸ / € Ì Ù / € Ì Ù / € Ì Ù ˜ Ù ð ±¸Ù ð ¿ ±¸Ù ð ¿ ±¸Ù ð ¿ |!‰!°#õ#:%ö&0'ã'' ':%ö&0'ã'' 'x%%' '&ð&%&8&&!&&—&' 'ž&Õ&&—&' 'ž&Õ&&—&' 'ž&Õ&†)Œ))”)¡+¤+´+Ë+X._.º.Ç.f..X._.º.Ç.f..X._.º.Ç.f.. /k5oC•CæBZC^;“=B:Ÿ:9:¾7Q8Š7‘7}77F7y7 /k5oC•CæBZC^;“=B:Ÿ:9:¾7Q8Š7‘7}77F7y7I4N4p4s4R4j424I4N4R464I4N4R464I4N4R4<<2<6<<-<<-<2<6<<-<2<6<-<2<P<S<9<L<k5F7•CôFZCoC“=æBŸ:^;:B:Q89‘7¾7k5q5•CôFZCoC“=æBŸ:^;:B:Q89‘7¾77F7u5÷6k5q5•CôFZCoC“=æBŸ:^;:B:Q89‘7¾77F7u5÷6Á:=;“=ñ=Á:=;“=ñ=˜=Ÿ=£=ñ=˜=Ÿ=£=ñ=9J9/:B:9J9/:B:9J9/:B:T8«8j99T8«8j99T8«8j99k5q5Õ>Ü>u5à5k5q5Õ>Ü>u5à5k5q5Õ>Ü>u5¹5k5q5Õ>Ü>u5¹5û5µ6Ü>ð>‘7¾7û5µ6Ü>ð>‘7¾7š7¡7¤7­7o6u6x6}6ñ=Õ>NFôFJEjEœC EAAFA$A>Añ=Õ>NFôFJEjEœC EAAFA$A>Añ=Õ>×FôFœCµCñ=Õ>×FôFœCµCÇDÏDÒDÞDð>$AjE°EEJEð>$AjE°EEJE9? @.E9E9? @.E9ELAæBÍENF EE•CœCZCoC‚AÄB>FNFÍE!F‚AÄB>FNFÍE!F‡AšAžA¢A‡AšAžA¢A‡AšAžA¢AÅAÐAB%BBBB B@JƒLSWS¨RöRÐQðQ@JƒLSWS¨RöRÐQðQ¿KÇKL LúKþKÝKëKÎKÒK­L²L¶LÍL²L¶LáLëLÍLÝLxNŽNÌSÙSWS¡SWS•SÌSÙSWS•SÌSÙSWS•SÌSÙSðN(PºSÌSöRSRPRÀQÐQ°P°QðN(PºSÌSöRSRPRÀQÐQ°P°QðN(PÀQÐQ°PQðN(PÀQÐQ°PQÊTÍTÐTUÊTÍTÐTUÊTÍTæTýTDUHUVUlUWxWöZd[zZ£ZZ*ZvYÂY˜XMYWxWöZd[zZ£ZZ*ZvYÂY˜XMY×XàXÿXYðXøX÷[ú[\ \B]0^¨^D_`^h^B]0^¨^D_`^h^€;€;HJ–Ÿ•r{TqMQHJ–Ÿ•r{TqMQµ·ðòÁ亾µ·ðòÁ亾´·ØäÐ×ÁÈ÷¹´·ØäÐ×ÁÈ÷¹IP”SyIP”Sy‰ ¼ Ç ‰ ¼ Ç Ï Õ Ù ä ô÷ïKçîØß7Ðô÷ïKçîØß7Ð`q}€`q}€…Ê Ø … ˜ … ˜ å. h | Ú á ý  Ú á ý  Ÿ§¸ÏŸ§¸Ï•Á; ¬ 3 : $ + à •Á; ¬ 3 : $ + à Ä Ë ú / ï ÷ × Þ Ä Ë ú / ï ÷ × Þ Ð Ö à ü ä ï Ð Ö à ü ä ï ï ô Ø à ˆ ° ÷ 6 ï ô Ø à ˆ ° ÷ 6 - 3 x - 3 x `do„¡ºÓU ¡ºÓU ¡ ¨ Í  # V ˆ   # - 3 ? á è   ë û A D p { ^ e S U A D p { ^ e S U ÑÓ ôûHJP.”BHJP.”Bú˜.Y…*B#ú˜.Y…*B#EM˜ªQd¢§®Ë¢§®Ë¢§®·ä ç    ñ ø ' é ä ç    ñ ø ' é ½Ø˜yؘ߽yßtx@YÞtx@YÞ²ÿp‚²ÿp‚ /Ž˜j%+ /Ž˜j%+js+47q}ipZawR47q}ipZawR ? ï   1 ï  Z Œ À à . ; ° Ð ÞRpˆÞRpˆ$(+R$(+RÞprÞpr4б   ] ðî 4б   ] ðî  N á   N á  ÇÊð  Î.ÇÊð  Î.ÇÊð ó ÎÇÊð ó Î*4>o8;*4>o8;Ûß Ç ð° 3ëð÷Ûß Ç ð° 3ëð÷‰ ° ‹ Ç ‰ ° ‹ Ç ù} P ‰ ù} P ‰   P q J } " .   P q J } " .   " . €“º€“ºˆÂV ] ÄʈÂV ] Äʈ¢V ] ˆ¢V ] !%Y!%Yim-2') åš¡z–im-2') åš¡z–:Hð4K•:Hð4K•fitx:>KR÷ ÷ <+<+Ö—Ö—(25U(25UÖ—Ö—¬r€¬r€ÿ  ,ÿ  ,¬ç€¬ç€"¹"¹"y"y¡ ® Í @ º ¿ šºÂß"BJg{‚ ¥‰™{‚ ¥‰™‚‡œœ¨8k¨ý9€À¨ý9€ÀÉÎÞêÕÙÐãHRîõû îôdk]`ÐRºüþöùîôdk]`ÐRºüþöùgvèðYgð8FÐÖîôLYFJüþöù»¬ù %*"ˆ (xÖ©û’™ˆ (xÖ©û’™ºÐáëaˆ˜aˆ˜ÜD»J @l* 9€ÆÜD»J @l* 9€Æ+D»óAóJ * AóJ * LOÆÔd|Ðgl»Ô9Ðgl»Ô9nr‡‹u„8p˜¶ÕØëóÜètzÄÉ®¿¿ÄÙÝÉÑÑÙµ Ô   Ý c j m x >A`eFU’™@M¥0’™@M¥0ÐØÛæ¹Ð@M$0þ¹È@M::B@MWkØMp kvMØp ÔÄ̃³~€àãò8æéð(G.Q`ˆXc€> }   ÿ @Ÿø€N } E I Ð ÿ ¥ Ë ÛÒÖÃË@»ðøŸè€Ÿ¤ÿ > ˆX  >  + X   þ ùûêòßâ©Û¤¦êò  þ ùûû   \ / T + - ð # æ î Î á ¿ Ë œ · – ™  Œ z } V u G S + ?  # × ì Çî‘}¦½jP® >Xå@›uó y× ì Çî‘}¦½j|®Pw>Õ  ÐXå@“›|uó y× ì Çî‘}¦½jXå@Âó T× ì Ç‘î}¦½jXå@cÂ]`I½²T ó ‚¬Ëä[‘ŒËäi‘cfœ¬’”× è `Õþ4bà1£Ø•Ÿ× è `Õþ4bý1àõ£Ø•Ÿ!%!%o‘Çj}=p@X(+‘Çj}=p@X5`$(÷‘ï|ˆqyGi.?›¦î›U—¦"²µk—U_ø"Ýì¦ÕìÌã¾Ä"U—î')ÜîÌÔÀÃ¥½Ÿ¢BU4:.1¸î PU°Öš_Ždg°ÖšŽtjlKQhyØàB8#Bíù£Ø‰ž€„gsadPW.symtab.strtab.shstrtab.note.ABI-tag.note.gnu.build-id.init.text__libc_freeres_fn__libc_thread_freeres_fn.fini.rodata__libc_subfreeres__libc_atexit__libc_thread_subfreeres.eh_frame.gcc_except_table.tdata.tbss.ctors.dtors.jcr.data.rel.ro.got.got.plt.data.bss__libc_freeres_ptrs.comment.debug_aranges.debug_pubnames.debug_info.debug_abbrev.debug_line.debug_frame.debug_str.debug_loc.debug_rangesX@X )x@x$<œ@œBÀ@ÀøsHÀuNÀuˆZPŒNPŒØs(ŽN(Žy@ŽN@Žh ¨Q¨˜“@Q@¡HQHºXQX$}Ä|™R|™ÂÖ r 0Ý0 r0 Ðã0 r0 (êX rX 0ñˆ rˆ ö  r  0 ЦrЦ¨x§rx§ §r §Ð6 €ÞrpÞG %spÞ80pÞÄ94ð@HtøÚXN‘ d߯ä}rÃ-ƒ“~HÁ ‹0ØÍÊR–¢ Ýÿ¡ °¯À»u%c È0áãX@x@œ@À@ÀuNPŒN(ŽN@ŽN ¨Q @Q HQ XQ |™R r0 r0 rX rˆ r  rЦrx§r §r€Þr%s !"ì@ñÿ0 r*X r8 XQKˆ rX@n€Þr}ˆÞr‹@— Þr0ñÿ£P r° x™R¾ˆ rÊ€uNàñÿéñÿô`@-@  @À@*@ =à@K0@X@ž`°@|eP@r`@ yp@Šà@Ÿð@صÐ@‹Å` @#Ú @Ñçp @aôà @K0 @ª ©r  r(À­r`2ЖN@ñÿJ)—N X@-k@@¼wñÿ‚@›Ž @ ¤°@ ¼À@ìΰ@9× ±rÀä @ðî@}õ@þ0@P@m¨ r(À@p5äšN C0@²Mð@¥[ @­dúšN rP@¶}@͇›N •à @ ¢ð @î«ñšN ¹›NÇP%@ýÔP(@Þ»šN ìКNúp.@k à/@Ò°šN "ñÿ.°2@9À2@B4@½OÀ5@üX 7@ed´›N rñÿ|Ð8@0‡9@-’09@.›`9@€©à9@í·À;@œÂñN Ð`=@´Ù ?@oàB@$çüN õñÿþà±rh àŸNðŸN&ðU@6ñÿ@° rJ`²r W@[@^H²raP\@ófñÿlÀ r8vñÿÀ¡r8Œ`¡rPŸ¡r`¬€d@j¸ðd@yРf@1ß°r@ŠîÐt@‹ý`v@= ±«Ny@±P«N,Ðy@¾8z@c?{@žD`}@,M€@ÐYp‚@”eÀƒ@.nðƒ@x§«N †€²rd‘`†@Š›«N©V«N·³r0À`@ŸË@7Ù@³r âP—@÷p«Nñÿž@uß°N )ð©@é:аNHà«@úXê°Nf±NtÀµ@œˆñÿ·@´— ±N¥ñÿ¬ñÿº ¼@ZŽ@Ͻ@Ú0½@;ç½@ð°½@Pý²N ²Nñÿ àÞrd)Â@°/Û²N=ñÿJñÿW`Ê@Jdñÿj`Ë@Dy°Ì@ee Ð@€0Ð@ô‰0Ñ@¤–àÑ@Ÿ µrpªÒ@g³ø¢r»€Ó@Z ÃàÞ@-ß@œÍ°ß@yÒ0à@ÚPà@'ß ´r ê€à@¨ô£r 0å@, `å@y% àå@¸/  ì@J8 ðï@L ðì@ºU °î@<i À´rHu µrˆ ñÿ€ô@#e@ô@*‘ pô@+›  ô@3© àô@–õ@ ªõ@4± àµrp¿ põ@Z³£rÊ Ðú@-× û@Í ý@Qä €þ@ñ  þ@KL ðþ@‡ý  µr8 P¶r ñÿ€€A#e°A+› àA&' A+© @Aª`A,1 €¶rp? °Ar³£rJ 0A)W `AZÍÀAd àAq AQL `A…} `¶r ˆ ð¶rž ñÿ© ð A¤  A· 0 A0Á ` ARÉ À A › Ð AÓ ð A4â P·r ï à·r@ 0 A# `·rp €Ai³ £r–ðA×% ÐA—< `ßrL pAV  Ayª€ AÛ€`!AQ_ À!Akl 0"AŽ„ À#A–“ `%Ag¢ Ð%A²Ú&A•¬  ·r0² ·r0'ARÍ(AXº ð*A¤Å  .A3Ï à1AÉß °2AŽð @3Agü °3Al  4A¦L Ð4AÐ  6A* À8A$5 0£r? ÐNQ ðPAŸ[ SA9 p Ð]A7 `AaŠ €eAJ“ `fAÔ¥ ÐeA‹·  ¸rÊ  ÐN × ÀÐN ä àÐN ò ÑNÿ ñÿ€@iA eàiAT› @jA&© pjA7ª°jA- €¸rp kA™³@£r  nA) ÐnATÍ0pA¤' àqA0 rAQL `rA,8 sAH> @¸r(I ð¸r[ ñÿ€àsAže€tAj› ðtA© uA)a ˜ÔN ª@uA k  ¹rpv puA³H£r~ €zA)ˆ °zA{’ ¹r Í0|Aœ Ð}A§ ð}AQL P~A° pA· ¹rÊ ñÿ€A#eÀA:› €A©  €A*Ï @ºrpÙ p€A’³P£rª‡A›à  ¹r0ì °‡A)õ à‡A\Í@‰A"þ pŠAŠAQL ðŠAœŒAŸà¹rH °ºr2ñÿ€0A)e`A'› A)8ÀAx© @ŽA*–pŽAªŽA@@»rpKÐŽA³X£rS —A†Z0˜A”ИAÍð™AÚšAWdÀºr(L pšA‹oœADyPAƒ`¡A€¡AJ–СA~¨»r,¹èºr̰»rßñÿ€P£A)e€£A1› À£A© à£AAå¼rpðP¤AWª°¤A6÷ð¤A° ³`£rÿ ®A: à®A)¯ATÍp±AÑp°AýP²A'p²AJ0à¶AŸL À²ABàµAòTÀ»r8_p¼rrñÿ€€¹ASeà¹A@›  ºA&© PºA&ª€ºA$xÀ¼rpƒкA~³h£r–P¿AL‹ ¿A½’`ÀA-œÀAmÍÂA§¦°ÃA°ÐÃAQL 0ÄAD¹€¼r(Ä0½r×ñÿÞ€ÅA¨ï0ÆA–@ÆA÷ ½rpªpÆA³p£rÇA  ÇA-‰@ÈAÓPÇAâÚ ÉAB+`½r06@½r KpÉAeTàÉA¯€0àAç_ÒA—j0ÓAJ8 ßA”L €ÓAU ÖA:tÐ×A±…¾r™ñÿ¤ñÿ¯`äA¾¸ ¾rÁ`ãrÐ åAYÙ€åAYåàåAïpæANÿÀæAN çA40¾r#ñÿ.@¾r<ñÿHùA‡QúA†] BtiP¾rw° B2ŠñÿðBI—@B ¡`¾rppB–ÍB™³x£r¬°By¾0B<ÐpBKL ÀB°ÙpBQëÐB‹õñÿñÿ`BtàBµ-`çr;hçrD@òNRòNK"Bš`NòN nWòN|pòNŠñÿ‘`)BAÀ*Bx¨ñÿ²óN ÀñÿÆñÿÕ@.B˜âpçrëà¾ró€0B1BµÐ1B‚!`3Bª0 5BÔ?ðÎrI`÷N b ;BJñÿp€çrvçrˆçr‡àøN öøN ¹ñÿÇÏrÓ¨çrÞÏrê°çrû¼çr Àçr$°LBE5OBnGpOBíU€£rÈb´çr~¸çrŒñÿ•ñÿ¢ñÿ© yB.²pyB§È zBçÑ€}B ààçríðƒB«þèçr ðçr`O#0'HP/˜7@F8PD_€Oq ‡Bp„‰B;“PŠB®p‹BSŸ԰áÀðÈý¨  ÐŒBE*Ïr6@ŽB'DpB]Y –Bo0–BŠ@–B¥°–B¾À–B¯Ò œBè°BúpO@¡BÎ ¢Bb€¢B:+À£B¤8p©B-=´B¯CP²B´À´BC=µBC°¸B¬`¹BC=°¹BCð¾BœJ èrÀUèrhèryÀÃB]‘àèr¤`ÄBò¸` O0Ï O7çÞB#÷áBbÐOåB]7 éBEOW€ôBÅ\@OnP÷BÔ|%OŽPO PO²ðüB ¿ýBl Ê8O Ü OîC2üàOÐO  O2°OD`Ïr€Tp+C&a +C1mà+C1x ,C>ƒ`,C1Ž ,C8™à,C5£ ¦r@­P-Cº-C"ÆÀ-CÓ`/CVáÀ/Cfï00CôøP1C@3C`3CJ°5Cm&?O 8 8CìB9CýS€ÚD9)€ürF)xürX)]ÚDg)|ÚDv)›ÚD…)ºÚD’)ÙÚD¡)`ÒDu¯) ür8¾) ¨Qí)8ýr*ýr8 *@ýr*•îD *´îD.*ÓîD<*ïD¼L*pýrS*hýrX*˜%s\*Xýrm*`ýr~*%s‹*õD aPýr™* õD¥*@Ñr¼**õDÊ*÷D˜å*pEí*`=O8ô* =O+À>Ol+À?O8+@O+ @O+:@O#+>@O-+@?Ol5+€@O ;+ @O aýrA+ßEL+€ýrR+þE`+El+ÐE6{+¨ýr‹+ ýraÀýr™+¾"E¤+Ý"E²+Þ@O Ë+ü"E×+#Eå+:#Eñ+Y#Eÿ+àýraðs,X%E,`Ñr0,w%E,,–%E7,µ%ED,Ô%EO,ó%E],&Ei,1&Ew, Ñr€,AO(,à9E…›,p©FÙ2°jOó2`©FŽ3ˆs3|ÊF3ps#3—ÊF03¶ÊF<3ÕÊFJ3 wN`V3˜sc3ss3 ²F½ƒ3ôÊF3€s£3ËF°3.ËF¿3IËFÎ3hËFÛ3‡ËFè3¢ËF÷3½ËF4ÜËF4÷ËF"4ÌF/41ÌF>4PÌFM4kÌFZ4ŠÌFg4¥ÌFv4ÄÌF…4 @Q³4 °Qå4 sø4ÕrH5°s5`ÖrH+5Às>5À×rHN5ÀÍFÀ^5kOw5ðÔF‰5, s“5ð¥5 sˆÆ,FG°5P?G2¾5H sÏ5°ùFRÛ5P sê5X sõ5 s 69FG6ÖF²*6XFG86sFGF6ÐÖF[68 se6PŒNpz6ÀŒN†6ÜŒN”6¤ sª6  sÀ6>G2Í6úF\Ø6@G#æ6ÀCG^õ6ØFËý6À s`7ÐØF°7€ÛFÖ!7`ÜF@47 sD7DÙrQ7°€Ok7 áFÚs7’FG€7±FG7( sœ7€ãFª70 s²7` s0½7ÐFGÊ7ïFGÙ7à€Oó7GG8-GG8îF—8nO 680ïFy @8@ sJ8˜ s\8LGGi8hGGx8¤nO ‘8„GG 8 GG­8¼GG¼8šnO Ö8ØGGã8óGGò8ÄnO 9àüFÕ9ÀþFG!9®nO ;9ºnO U9G`c9çnO}9pG™Œ9HG™9)HG¨9 G³9DHGÀ9cHGÏ9‚HGÜ9sï9øs:HG :¸HG:ÓHG':òHG6:IGC:-IGR:IIG_:hIGn:‡IG{:£IGŠ:ÂIG™:ÊnO³:ÞIGÀ:ùIGÏ:JGÜ:3JGë:RJGú:ØnO;mJG!;ˆJG0;£JG=;ÂJGL;õnOf;áJGu;üJG‚;KG‘;2KG ;MKG­;lKG¼;,oOÖ;‹KGå;ªKGô;*G<ÅKG<äKG"<LG0<LG@<;LGP<WLG^<vLGn<•LG~<´LGŽ<ЀO¨<Ð.G=º<€/GÇ<oO á<€3G>î<oO =ÐLG=ëLG&=oO@= 7GHQ=MG_=!MGo=rNG>‘NG->°NG;>ÏNGK> HQ>„O >`O$®>°%s²>0[GÆ>ЉGÝ>à‰G—è>•O ?€‹GŠ?Oà!?à–O:?GG?ˆO `? ŽGJo?¨ su?û–O o?° sŽ?ΗO o?¸ s§?@˜O À? ˜OhÆ? ™Ohš.ï¢GÌ? £G·, ¥G@Ù?¦G1å?P©Gkû?šO@Ð s.@À s>@È sK@è sd@Ø st@à s@¬žO ›@à·G°@½GZ¼@ì sÌ@pÃGrÝ@ðÜGŒç@k§O A€ãGy AêG™A Hœ*A`§O CAV§O \AÀ H\qA0 H‘‚AÐ HcŒA@ HœA  Hæ²AHüÄAHYÏAðHåßAàHZöA@HBBH; BÐH§BŸ®O6B€H–PB HÀbBàH#|BHB°HÇ B€Hœ«B HW¼B ºOÕB€HÍêBPHõBp&HÈ CºO%C@-Hì8C0.HGC@/HeaC°0H¥ yC`;H@ ‰CPHH¡C PHº²CÀ¹O ¾C°RH8È(xN^ÍCs@ÙCðSH ïCXHqD€YHDZH>8DÐ[H¢OD€`HzbDcHv ~D€oH‘D rHBžD»®O¸DptHkÇDàuHËÚD°wHÂíD€}HJEÐHE`…HÜ!E@˜H¿7E HkDEp¤H‹RE¥H`E³H\wEpµHª‰E ·HƒE°ÅH€²E0ÌH ÊEP×H´ßEÛH¹ñE@ºO FÐúHî FÀI)'F®OAFoIOF=oI_F 2IÕnF\oI|F{oIŒF®O¦F®®O ÀF9IrÑFšoIßF¹oIïFÐ;IìG RI GÀPIÞG°TIO¾) ¸Q/GàoIB8G@s8DG>¼O ]G`ŽIfG¸%swG€sG s(ˆGê›I”GœI£G œI·,@œI%²Gðs¾GÖ¨IÊGlÙrÒGœI:ãGèsêGäsòGtÙrúGàsHsnHxÙrHpÙr#Hõ¨I/H©I;H3©IGHR©IUHªIž^HÀ²I‰oHÀ´IæHеIk¼B)½O È(`xN…‰HåxN”H s ¦HyN³HZÍI¿HyÍI¾) ÀQÈ( yN×ÍHÈsaÀsÛHØÝIçH°ÑI†6÷ÝIõH°s IÐÑIç Ià½O *IÞI7I5ÞIFITÞISIsÞIbI’ÞI¾) ÈQqI@âIS‚I@åI —I ¿O¨›/yéI*6”éI©I¯éI·IZëIÂIuëIÐIëIÞIÊìI¿/åìIéIíI÷IzN"JÐsJ°ñIŒJ ÐQMJ0zN"YJPöI“fJ#ÀO €J ØQ²J`zN"¿JðýIµÍJ àQK°ÀOKzN"(K€ JU7K èQkKJzKðJŸ†KðÀO  KpJ|¬Kðs¸KèsÁK ÂOÈ(ÀzNµ×KÀ*JâKÐ*JGëK +JküK+J?LÚr¾) ðQLèÃO.LÄOGL€{NÖWLàÄOpL;JOƒLðÄOœL…KJ¨L¤KJ¶L`=J’ ÆLsØLsÝLÃKJêLâKJùLLJM LJM?LJ&M`|N5È( N§¾) øQÈ(P€N"6M€ÆOFM`LJÜTM@MJT_MrÆOpM PJ¹{Ms†Mz[JGH™[J’MÊO¬M@Úr ¼M ÆOçÌM s¾) QX*àÊO€ÝM`ÌOöMÀÎO N€ÐO*NàÎO DN ÐO^N5ÑOkNÏO …NÀÐOŸNàÐO¹N ÏO ÓN@ÏO!ìNÑOO€ÏO!OÀÏO"7O ÑOPOÀÍO'jOÎO!„O@ÎO'žO€ÎO!¸O@ÐO ÑO`ÐO êOÐO"Pp¶J¸a sPV¾JPºJ *Ps6Pu¾JDP°ÑO]P(sÈ(€€N:iP8sxP0sƒPоJ¾) QÈ(À€N%P@s–Pð€N¥PHs´PPÉJxÅPPÒOçH ËJ ÞPpÒO¾) Q÷P°ËJ QN¥Q`ÓOh)QàÓOh?QÖJªEQÕO4VQPÕOoQàÙOh†Q`ÚOh–QàßO¯QàÚOÇQÜOáQ ÜO¼øQàÝOLR@ÞO¸-RßOHRßO `R ßOwR@ßO4‘R€ßO­R”ßOËR ßO@ìRps÷R sS°s SPàO#Sàs0SpàO:SàOSS€ýO$eSÀPH*wS =P$‡S`RPðJ—SÀêJ¤Sxs¬SÆûJ·Sˆs,åûJÄSüJ6P#üJÏSBüJÛSaüJéS€söS€üJTŸüJT¾üJÈ(°…NŸ TO†N,Tn†N¾) QÈ(†N[:T”sasCToKOTŽK¾) QK-@ Küœ-@ KÝ©- Kb]TÆ[KiTá[KwTÀ§P[ˆTÀ¦PðšTÀ¥Pð¬TÀ¤Pð¾TÀ¢PðÑTÀ£Pð_-°YKäTp PþTÀ¡Pð„.  PUÀ Pðq- ¨P¨"Uü[K0U\K@U—ÐKOU²ÐK\U`­PvU˜sU ®P?‰UØ­PÞI›ßK¢U¶ßKÐIÑßKç1(áK°UCáK¾U^áKÌUôãKØUäKæU'äK@/.åK€/IåKôUaåKV`ÃP¨V`æKFV°æKm,VàÝrh9V°èKe8 éK3DV s PVÀs[V`ìK…hVÈsØLÌslVðìKhqVÐíKÊ}VðîKhŠVªÄP £VÐso?Øs¬V2ÅP o?àsÅVRÅP Ž?ØÅPÞV€L4íVÀLèÈ(ð†NGüV€s WˆsW s`W%LÀ)Ws=WsHWi*LUWˆ*LdW§*LqWÆ*L€Wå*LW+L¾) (QœW¨s¬WÀ%s¸W°s¬ ÀsÂWÐsÎWØsÚWÈsåWàsïWèsõW¸sÿWÐÑPXðsX˜s*Xs5X sBXðÑPUX¢ÆPnX°BLµ ‚XcL—XàgL¤ªXqL˱X`rLW¾XÀrLÍËX‰ÆPÖX¨¦rÞX8síXðÝPùXÞP YvLÔYÝP5YpwL¢GY°¦rUY ¦r\Y yLÞaYîPzYzL‰†Y0ÞP ”Y ÞP§Y9ÞP ¶Y~L.ÀYÀ¦rÑYÀ‚L1èYÐÝPZ°ÝPZ¦r(Z^ÝPAZ —LÒPZ°šLlZpÝP…ZПLI•ZOÝP¯ZDÞPÂZ@sÈZPsÒZHsÜZ°ÞPõZšßP[¸LÉ[©ßP 8[à¹L¶D[@áPR[`áPk[`æPLt[ÀæP;ƒ[ çPœ[çPµ[Xs¾[ÙOÐ[pâL·ã[èPü[hs\s \˜s\ s$\xs(\€s.\ps5\ls;\ˆsE\`sJ\ŒsR\0êPk\pêP„\PêP\¤êP¶\àMÅ\ëP Þ\PM½ì\–ëP] MŠ]°ïP.]¤sB]ïP[]îP t]@‡NÈ(`‹Nè¾) 0Q‚]øŒ]HðPš]@Q¤]@Q, M…›, #M×®]`Q@,°AM…›,@DMǹ]ÀQ@ç1ˆdM°U£dM¾U¾dMÄ]eMxÐ]0fMÝ] fMè] gMô]0lMÿ]¨s^`MU^ˆs)^s2^€s;^xsC^Às O^às˜Y^°…Mûh^N({^ Q‹^ 8QÄ^ PQ_z Q _¬MG%_à¬Mš;_@ QT_  Qm_h Q †_°ÅMM_ Q©_ Q Â_PÏMÊÏ_— Q è_° Q`€ØM>`ÀØM$`˜s(`”s7``QÜ@`9Q Y`@Qb`PQo`ÀñM`°s–`òMAª`àòMxÄ`óMmÙ`üMá í`ðNÐþ`ÀNÄaNñ%aN{7a sJaP!NyfaÐ#NM„a *NšaÀ*Nx·a@,NjÉaàs(Öa såa sòa`1NÔb@4NHb9N:7bÐv"@lLFv @§Rv@@?^v tvP]@…yv€#En‚v3C*•vP´Ig vÒB¦¶vpˆGQÂvÂMëÔvðŠICÝv w" ÆIÅ wp DÇw€JB 0wà“M{ÀC[Q{Ð2C3e{ r{ ‰B|{pŒB\–{ÐéIФ{P!F2´{ %CMÄ{"€ŒIÐ{ÇM Ù{à¿JÐì{"€{Fðñ{@D©þ{íF{ |VC |à“JS@|#sP|È!sd|€KF}||PL Š|!0Ùr™|àŽI‚¥|0ñM´|HÑrÁ|"€:I/Í|EªÜ|~Geã| ò|"ðÜMü|`ŒI}à}GR}аFJ&} ¹Oˆ;}pbEbH}`ßJ›X}"@‰G9c}àÖE:(p}ð~B˜‰} ¶G¯}pCø§}…CÓ»} ðBEÏ}ð6FŠÚ}4B‹ò}%D¥~ðêAn"~ðÃF'5~À¬F6A~„IdP~€·Cf~¨@`v~ ÌL¨’~p2DW¢~@fM[ª~ ¾J¼~&JcÓ~0=B½ß~ÐÉJÅò~vFEü~"¼Is"ð/EÜ€7B—1àÛJWC€ rP Fgf#suÀ™M‘„°oFr—0,Gž§`Z@à´"`FFš¹0·JÃÏPÏBBÙP-J}î«F"ù"pŠIþ"L#€ÀL©€PcEý€ ~BÆ(€@AO<€À@wX€à"J'm€" lLt€sBMƒ€!E®•€À6@Ÿ€€èJ3§€"0ÄIŰ€0,Gž»€&Ö€"€`E_Ý€"`xF™â€"àŽI‚ì€0yEBû€“F Øçrð-B ,PHF½:"€‰GCIpúFkW`íK `8Ñr{"sŒÐ'G@“ÀfO(¤"@‡Is«ÃFj¾ÀàOÓ"PlLÚPóC—ê ‚%Mž‚#s&‚7@1‚`@O K‚"ðÀIÅT‚" »Is]‚p3@‹g‚05D|r‚ ›GM‚‚P+C–‚ÀJ@;¤‚@ÒrೂX"sÈ‚ð DŽ×‚p®J÷‚ …I4ƒ0ÎL[ƒ@ÙB…2ƒ`çB5Iƒ@"sPƒÀæIaƒ TGnƒ€FŽyƒmGƒ"ÀL©‡ƒ°œGNšƒpcL§ƒ"ðFÞ±ƒ"@+E¹ƒŠB ȃ°kEÍÙƒ€vBX색B ÷ƒ9BÇ„!À¾P „"Ko&„Ào@6„€åKØE„d@ Z„`ýP@k„#s€„ -B"Œ„°*J Ÿ„÷L{²„"ІI¹„`öOLÔ„ÀrE§å„ÐÍIû„ÀçJ…`…@ÿ!…0»@=0… H… Cd…¼@k…ÀíO‚… #sŽ…"@'Eœ—…à¬C3´…°ëIÄ…p+EÌ…HŽNÙ…àbM$ï…@gM~ø…pCP†ðHBQ†@vB?/†@ÈI{8†ðCN†`éA b†ðEZo†°J=††ÊIB›†DB²† ˆàLC\߆ÊM¼è†"ÐbM ò† ‡ÐJF1%‡àD15‡ 1C3R‡@ÂB_‡€ÄDk‡ÀÁD@{‡ñÿ•‡ðßK8Ÿ‡"pcLª‡dÙr±‡PÔF“LJ"°•Fá؇ ï‡À;C²ˆ&ˆð.J /ˆÃBEˆkLBVˆ0*JDiˆ°'BDzˆ"À½IˆÎL‰žˆ&NY°ˆ°¢CîĈ áˆhMëˆ"¢Gßóˆ LFD‰";I ‰P­G‰+E,‰"à"G‚4‰€ÏF§D‰0lLM‰ CuY‰@¶C’m‰ðÀIÅx‰" †ID€‰"€…ID‡‰°"s™‰ ±‰‹C ‰0D؉" ™F7è‰" »Isò‰€¡FˆŠ"PxGR ŠÀFŠíF{(Š"0F÷/Š`4Fç=а›B KŠ!xsTŠÀ§rà\ŠÀÁBVhŠ(#s|а]JŠà!C­¤ŠÀÂ@ÓªŠ&ŠÐLhËŠ³0JÝŠÀ®FïŠÀJB ‹ÀF@)‹ ˆIs‹,FY(‹0ÂB<‹€\C8R‹à'Lj_‹`gO¨n‹p$Exz‹p%D‘‹C¤‹L"s¸‹àÊIoÓ‹`ÃIÅÞ‹ðHJ•õ‹0jNï Œ€…IDŒ“F-(ŒP–BX=Œ ÂBWŒp1ChŒ@*D¸~ŒPIB„ŒŒPCþœŒPúL1µŒ`…IÃŒ ÖŒ B äŒ" »IsêŒÀ4G×ùŒ0Ïr Ð@›'"ÐG /àÆ@c8°ëAN€D3`èyà¡J "öJ—©Ð!s¾MËÍZCíÛxså`‰B ö"@ŒIüÀ@ Ž ÃB!Ž"°©I&Ž"à}GR2Ž" µGP8Ž€¼@@Ž"ð/EÜIŽ@ÜJ `ްŽAmŽ0æI}Ž ¾L ‘Ž"mG—ŽÐJB «ŽКGB½ŽØ!sÑŽ"¼I¯ÖŽpB9åŽ@²CöŽ@øO¨ð?BO$€÷OL? E?E`s8[‚B™h€™@˜~P%D•êJ5£°Ê@Q°p‹CÉ`ñIÚLâ M~쀉B ÷àÖE:(!PÞr ð?F¦0#s*p¦r?pÃB_pÉ@Øp°IFÝzP™@'Ž@çJz¡"à'E«pCS¹ ùC|ÉPDáÚ"P«IVâ@ÞK[ì©Jf ‘I‡I‘ÉnL/‘œ@5‘àôODP‘ ÍFb‘ðkFZs‘ÀÞI´~‘ÐCyŽ‘`$s¨‘à®Fº‘pBÑ‘@ýJÐÞ‘"@+Eå‘@+Eì‘ éJWø‘"ŠIý‘ Æ@J’" »Is’GBg4’ îKI>’ âI U’ óAÍb’"VGàj’ ‰C…’pˆGQ’ùCš’ †ID£’ð6DÕ°’"²G¶’"ÂIÅ¿’:CÉÏ’p­GMÜ’ÛD{ì’€ž@¾û’°®F “àuDº$“ð-N“;“ÖK E“" FgW“‹Cn“À¾P‚“0³@‰““!À¾P“8#sª“ "sГðJKã“À D)ø“0!Fÿ“ˆ%s” ‰C')”)BV5”ÀÿN@”ÀhBSN”ð®F]”ÀãOt”`>EŠ”ð$Eh””`›BC¥”ÃB¸” Ï”ÝM¡Ý”°D¬è”PõL•"ЖGQ •ðYGŸ•p¼D2-•ÀÃD7A• V•!ðsl•P÷CŽ~•€yE:••ÀÁIÅ •"ÀG§•ñÿ@Q½•ðÜMÉ•"àïK2Ö•($só•@Hyý• pB –@“F–"` H8)–0J 3– J–"À×F1]–  FŽf–€ My–"P´Ig‚–@ŠB –@Lž–/N‚º–pŠC"Ô–PnFZã–à"G‚ò–"ð/EÜþ–Ð9D° —€jDç$— Ma8—àq@ÆG—"°9EN—0\K^tc—"€èJ3i—)»Iz—‡Iƒ—"ðYGŸŠ—`ŠC¥—0íIöµ— M¤Ô—8Brä—ðÒEGõ— ˜" ˆIs˜ðµG!˜.B *˜@L{2˜p%G[@˜à:IL˜"€[E W˜"àáITa˜ùO¨|˜("s–˜àáIT¢˜ÀNþ¸˜!xsÀ˜ ŠBΘàÒD^Û˜.B ë˜PÆAù˜ð‰B ™+CB#™@&D:6™0FŽ>™ðVC S™ Ln d™€-Cu™` C†™пC3’™Ë@"ž™"`ÃIŧ™èKw¶™ d@Á™pTC7Õ™cM?ñ™ÐtN‡šàjO¨špÍF+šÏr'š àIˆ:š`·CKšOG¼Rš"plItešPõDµ{š"€ÄD…š0Ñr™š"ÀÝMžšÐèL¡±šЮFÇš" AM К`JB åš"°”I:ñš@¸I9þš°À@%›PlL ›`–Mõ› ›@Ñ$›ìM7.›à0I38›°6D?F›2C)^›@ür8m›"`I›s›àÂB‰›ðƒM›@#s¦›âL¶›ðÂBÑ›ÐõItã›°:I/ð›"°»Iø›`Lœð†J 1œ°|GÜ:œ CUœ"°©I^œhLþrœ`Lœ°êMFœ€KBœ ªœ€•M›¹œ0ÑFªÊœ°-N✠MþœªIàìAsÐ'G@à-B 1ðD2D€ DÄU"¼I¯\’L$k"ЊIqàçJCˆÀ¯GM™À«GФ…@G­ІI¶yB¾x@tÍÐŒF©ÝºFñéPE4÷ð†Iÿ`¦rž€«Fž JB /ž0|@+=žÐ0JÚJžG‰Qž %NÕ`ž AFŠržfM|žÀP@%‹ž QC6©žÐñMÁžÈÝrÏžÀ]J ïž`šMþŸ$"sŸ VC•$ŸàçI™1Ÿ@äKî7Ÿ"ð»I>Ÿ€ŒIJŸ `Ÿ€ÂBŸð›F*Ÿ¥Ÿ EB[¹ŸpeGëÉŸ¢GßÕŸàwB"ìŸ"€“F/ÿŸ  "Ð8F¡  FM¿7 0ÉJM À|Be "ð#Ezn `ðP@€ )ˆI °ûDÏ£ p3Fï´ ÐŒCíÄ à2@ŠÏ à¾@ß  ÁFë `Ùrò ЈGoþ Ð+J†¡ CO )¡°>Fí2¡"àF)D¡`fGuK¡À;F\¡ §If¡"@¿Duƒ¡€@ Ž¡ íI™¡ 0D °¡¢Gߺ¡ $FWÍ¡ÙrÓ¡"0ªIXÙ¡ЙBv÷¡" âI  ¢ %¢Mˆ9¢(E¢"°:I/P¢ÓF¶d¢0£Gål¢Ùrw¢"ð†I}¢òKu‰¢0•LÀQO8­¢`FFš¶¢à!sТ°KŽØ¢€FC9袠ÑBíý¢à¶C{£ЊI£øL7,£°‹C;£8%sL£ÀpB³W£À:J¢e£°‘Go£°úBã~£ JB £`-C¤£pwMá «£s8°£`i@h½£ˆÙrÈ£!sÑ£À@Ø£°,Núö£ñÿHQ ¤¼F ¤"0yF™ ¤P`G'¤`-F6¤`AC¤ ¯FQ¤à÷C™h¤€õC)‚¤­F<”¤·Fü¨¤@2C3Ť€¹@Ϥ ÏrÛ¤0+EऀJ£÷¤°îBÃ¥À‰B ¥PcM8¥"PŠI%¥Ð2¥"sI¥" çFbZ¥ÀyEUw¥°lB:„¥plIt™¥°«C¦£¥0J”µ¥" ˆIsº¥0KB>Æ¥`ÞrÚ¥@Dó¥РIfû¥`I›¦áL–¦À D@+¦€N@<<¦p­GMM¦"@½IsU¦0B9h¦"ÀÈI[q¦Kœ†¦`ïKަ@¡Iš—¦Ð2DH§¦ 8Bo³¦@‰G9À¦WGÑȦ â¦`Q@ó¦P¿IÅÿ¦"0FŽ §àüJ§€ER,§ KM:§`RG G§`VF›_§ðMox§"À“G‚§°ºA§€E.£§`¥G­§Ð'G@»§ÀËI'˧0Dß§Ð#Duó§°‚B+¨ÐÂB&¨"°µI 7¨ðG§?¨­F3P¨À"sl¨@It¨G‰€¨pXGqˆ¨"`ŒI¨"@ûJ†–¨€ŒFH®¨àsB«½¨pÇIÅȨÐÐKOרPLFBä¨!ˆÙr©"}GB ©"ÞM”©ð†G{/©|BA?©à GóI©PÍFW© %sn©`TB6}©àýLf†©"P!F2’©€êAn­©€‰FË© w@}Ú©°ŠCô© C‡ªÐéIŠªàçI™ ªð/D4ªðˆ@ìKªà"G‚UªÀ4G×]ª"pI°gª õOD‚ª@lLŒªðËIjžª"ЀF¨ªð¾I]±ªÀdO¨ÌªØMa㪠áL]øªP(L« ‡I « ÞM « ðK*«€SGW3«€ïBD«`ýCCT«è!se«·Cu|«à;J ’«PE´Ÿ«PLBWº«°ŠI«”"sÛ«°J;諼I¯ô«àG ÿ«"ÀF•¬à/B ¬ÀmLX$¬ÐJC2¬"¢Gß<¬€ÔOhB¬LB:P¬Ð:@T]¬ðLFDo¬ðÇ@x}¬p½@ Œ¬ DB/¡¬"0šG™©¬" ÿEíì0:GÚÒ¬€{FðÛ¬"°ÉIRå¬Ïrö¬@ºB¨­ ®F­ F¿(­àfG/­jO¨I­00DGc­ÀM"l­ ‰­"púFk•­àaE/¡­0JB ²­pGBv¾­Õ­€DBç­"вGÁì­&®Ð2E®  FŽ!®ÀçO8®"@”ImB®`'N!Y®…Ig®}Bj‚®àïK2‘®pOH"¦®p»@”µ®à6@¿®@ŸPÓ®€­Fé®PŒB þ®`ëAB¯Ð`@Ó¯ðVG™%¯üL€4¯€ßIH¯CÛ[¯"ÐìJe¯H#sn¯ÀgMu¯0rI ˆ¯NFmž¯@Ùr¸¯âLYɯ"kInѯ" ”IÛ¯@oL—æ¯PP@mù¯°ÖJR °plL“°ŽI °€„I 4°@DD°"P5FMJ°€uB„W°L#a°ûCÒx°@eMD°p°F^–°°0J¦°`øP@´°"°šF<°" ŒI‘ǰÀÝMΰ î°ÀžP$±PC±À‡I_±"€SGW%±ÀPè2±à'E>±@ÇFKJ±PuAW±ÐL@7h±‰Cƒ±ðJB£±À[Jä½±P#sűPŠIͱpñMÛ±"°êMFå±ÂD‰õ±0ïI‰²X#s²` H8"² ßBe7²°MA²pQC%Z²`#sn²€¹IÄ€²ÀN@ó²ð;J±¥²"p+E®²"ÐPG|´² в"ðlI.ز GH¡ã²ÀõCßö²ÀPCM ³0.B³"`L³` D06³ DIJ³ ÂBd³"`4Fçj³ñÿpÞrv³`_@>‚³ŠI‰³ ƒId³p-CŸ³ °³@‡Is¼³ðSFÒгP{J” ð³@Lú³@«F$ ´ mG¬ ´ +´ D´ {@ŽR´"@HyZ´ ‘G e´"ð/EÜp´à@tu´ÂIÅ€´píLÞ’´h#s¢´0šG™¬´€˜O ´ñÿß´@?D°ó´! ºP µPyBµ"ðßK8µp›F|)µðôA@µ°¼D]NµÀCfµPåIßuµ"ð$Eh{µ x@mеð!sµH$sªµ"ÀµI ¹µ8ÏrÔµ" KMÞµ°ÃBýµ"ÀL¶…Fж0æI*¶ :¶ÐBàW¶PÇ@.d¶Ðe@[t¶"@ÈI{{¶pºI…¶°ôCr™¶ ŒB ¤¶PÃBö"p­GMζW@ŒÝ¶"0:GÚå¶"p$Exï¶àJB ·"@ŒI ·°ëI·"`-F"·pñI71·ðÐIº>·p#sI·¯LáZ· Q4e·"@‡Isl·Ð@B:}·ÐÏL1‘·G·"mL¨§· nL›µ·! ºP Á·t#sÒ·`‚EPè·ÀÖIÿ·"à0I3¸€ŸG ¸ÐÞr¸"à Gó¸ðWF¡(¸ðÅFE0¸@'Eœ;¸.Nr]¸€@Te¸ð(E5s¸ fLUˆ¸€`E_–¸˜L¥¤¸ C|¶¸  FŽÁ¸°ÂDϸ"plL“Ô¸ÅIÅ߸"°ŠIå¸àJ™ü¸e£N¹ð©F%¹ðÆDk %¹¬G·2¹@¨I–9¹KF1T¹ЯF g¹"àL(q¹p†ITz¹¼C¹%s8–¹ð#Ez¡¹€1Ds­¹"IFš·¹°CUιŒB Þ¹À„Iï¹"òKuù¹0§@ZºÂMºÀfM`!º" »Is(ºpüCÝ5º" »Is=º°8OQº¡8O`º"лIfº .B wºP¹@!‚º _@âº0«I—ºP=FU£º ÏL¤»º@”ImǺtBíÛºÐçríºÀnLsüºàdM] »XÙr&» _@8/» ›B;F»I½IY»PQG!`»PKF(s»`%DŠ»~@k¡»àbEl®»`ŽCí»»0ÃBÕ»pD2ê» þP@ÿ»@ŒI ¼€;J!¼ 6¼`MrO¼  Bh`¼  §rk¼@ÝC(z¼×JÄм`fGu“¼`×FS§¼`²C]¼¼0"s̼@¾@’Þ¼ÀLê¼"Fí½pI°½"s'½@jLH:½P‰B J½ ÍI)]½ÀC—l½"ð6E´v½03F;‰½ ¡Lû½ ºCÓ¹½лIÁ½"ðŠICȽx#sؽ þP@ë½PËIk¾kB9¾0o@(¾ Å@9¾ I¾à÷OLd¾0²Cu¾À-N!ˆ¾ð¯Ft‘¾ sNª£¾(ŽN©¾0F·À¾ÀtD̾"€¡FˆÛ¾©ˆIì¾QCS¿píK/ ¿ppB ¿"€{Fð#¿`òAÀ7¿`ŒB K¿PJB ]¿"ÝM¡i¿"0,Gžr¿ðFŽz¿+D¸‘¿PxGR›¿€D÷ª¿€°L1»¿ð&CοÀ+D¸å¿ +EIü¿"€FŽÀC¨Àà-C#*À ™F7>ÀÀÅ@XPÀ" TG[À0_FbmÀ"0 MtÀ dFãˆÀÀD.žÀ"€[E §À@@B‹¸À0²GÇÀ0ÝKÛÀÀ“GçÀP1FŠñÀ`Bù Á@„G&%ÁPÇJÛAÁ¤PWÁ"@~GJeÁ€2CItÁh$s†ÁP"sžÁWC!ªÁÀCOð ±ÁWFçÂÁ@ÎJºÌÁÀŠCáÁ"à½I•êÁØýÁPºI Â" GH¡Â°ñM)ÂP“F#7ÂÙr>Â" »IEÂ"°©ILÂÀöODg "sxÂPŽI €ÂÀ›B_ŽÂpKB£ÂÐâBFÀÂÀ½IÉ †IDÔ TBååÂ0f@oûÂpœIÔ@1ýD,!ÃÀÂB<ÀhO¨KÃ"ð$EhSÀFŽ_Ã"ÀM"fÃ"@gM~mÃ"G‰sÃ" AM ~Ã"0²GˆÃ°eD;¢Ã€&D2ºÃ"ÀèJ/ÀÃ`M"ËÃвGÁ×Ãà:CÑçÃ"pOH"úÃ"À¯GMÄɇIÄ@‘Dæ $Ä7@K.ÄÐÅIÅ9ÄIFšEÄ€ÃB\ÄðéAŽoĨÙrƒÄ"pwMá Ä@WC˞‰C»Äð|BÕÄàoL”æÄ€½@ øÄÈçrÅ"sÅ€s$Å@‰IH5ÅpJB DÅvB%RÅd@ _Å`óM#}Å@gM~ˆÅ"p%G[ÅàÒF®¬ÅpvNIÆÅ¸ÙrÖÅ ÉI…àÅ6ÓO øÅ€%DÆiL¤ Æ"ðèJN'Æ =Æ;I HÆ0zFýNÆàêLYÆÚIÈoÆ »Is|Æ @’ưöLØ¢Æ$FŸ³ÆPCÒÀÆ L ÌÆ"@éJ?ÓÆ@KâóÆM@jÇ"`4FçÇ€*J"1Ç€OF˜EÇ`’FœXÇ"0F·mÇ"íF{vÇÐD¯…ÇÙrÇ`xF™™Ç@ÄD7§ÇhÙr®Çð»I·Ç€Ç@mÃÇ"¼IsÍÇ€F¥ÜÇ€ñMüÇpïKaÈ&È„M'È`JF;È`DÞOÈ€#saÈ" ÀIÅjÈûLj{ÈP€B´—ȰˆM! £Èp™M¯È"PL »Èø!sÐÈ0+L¡áÈp;JøÈ" HɲGÉLFBÉðTJŠ/É`,Jb>É"0«IDɰÌ`F‰IÌèèrYÌ€…IDaÌ£@.qÌàÙr(ÌE5‡Ì ÔKâ•ÌBó±Ì HÁÌ€ªFrØÌPh@âÌ ÄB1øÌñÿÈ%sýÌÄM¡Í ÃB*Í0\K^t6Í"ð›F*CÍPKìOÍðlI.YÍP MkÍðC|ÍpC‹Í€$sh Í·ÍÐ8F¡ÄÍ"ÐKÌÍ"Ð…IDÔÍ ŠCìͰ¾JÎÀ|Fä Î@õI†Î"p+E#Îà1L¥1Î`-F>ÎpÆ@fQÎ0[F›ZÎ"à:IdÎð¸GnÎ Î"ð(E5Î –M6žÎ°‰C2ºÎÐìJÆÎ°äI†ÔÎ ŽBîÎÀGü΀‰GC ϰõC!Ïøs*ÏðèJN3ÏHJåIÏ KMUÏHÏrgÏplL“sÏ0ªIX{Ï2DkŒÏàUCšÏ0¤A§ÏàÜrè¹Ïˆ#sÅÏ`¬FÙÏ0èL“åÏÃB ÐÐÉF¬Ð@~GJ(ЀqB§=ЀßLtNÐ#sXÐJÊkÐðFÞyÐ"`µF$ƒÐ€¦rÐ`BO#¤Ð@NCrºÐàeOÐÊÐÂDÛÐà¡G-æÐF’õÐ"@¸I9Ñ0èJFÑ"ðFÞ#ј#s3ÑPªF+MÑðóC8`Ñ êK±jѰ@{ѰE1€ÑðñMPŽÑ@‘@ÈœÑ!ès¨Ñ ÄÑð@¢ÙÑ€²JîûÑÐ2EÒ e@+Ò`RHD'ÒЩI0Ò nL›9Ò€¾IbBÒà[Ò qÒÀ×F1†Ò€™M:œÒPéA±ÒºJFÇÒ}GBÔÒPC­äÒÐ…IDíÒ ºP Ó"ð6E´ÓðFŽÓ°àI0ÓÙr:ÓdO¨OÓÐNF¥YÓ0FŽcÓ"ÀmLXgÓ"pÇIÅpÓpL¡{Ó !Fu‹ÓàïP@Ó¿B&­Ó`‚EPºÓàgM%ÁÓp›G=ÕÓ ·OqæÓ ‹CIüÓPEBN ÔãKôÔ@ Ja#Ô „I2Ôàs<ÔÀO@TÔ@½IscÔN@nqÔ€áK‹†ÔàŸPšÔ kCϨԀJCJºÔp"sÊÔ@%s×Ô ÒO‰êÔ€âA€ÿÔÀÊIÕÀæI&ÕÐMDEÕ©PSÕ #saÕÂB|Õ@-D–Õ€éJ¡Õ€ C.»ÕzF$ÂÕ §IÊÕàÌFbÜÕðìJ*êÕEòÕЄF±ÖÄD7ÖP!F2#Ö"ÖK +Ö ½C7?Ö@ŽNNÖ µGPTÖðYCccÖÐMvÖ"L1}Ö€J@:ŽÖp¿@œÖKB'«Ö çFb¾ÖøçrÍÖð‹B ÜÖ" L æÖ"`RG ñÖ ŸG2ýÖðlBY ×Põ@×àÝM+×"€¥G‡8×@òMPF×§8O a×8$sm×P¹DI×`ÊI*—×Áã" ÉI…ÉãpGVÙã"`4Fçcall_gmon_startcrtstuff.c__CTOR_LIST____DTOR_LIST____EH_FRAME_BEGIN____JCR_LIST____do_global_dtors_auxcompleted.5801dtor_idx.5803frame_dummyobject.5828__CTOR_END____FRAME_END____JCR_END____do_global_ctors_auxdmraid.ccommands.c_display_sets_arg_create_setsrebuild_hot_spare_add_hot_spare_add_set_display_sets_display_setversionhelp_delete_sets_erase_display_devicescheck_spare_argumentcheck_create_argumentcheck_separatorcheck_part_separatorcheck_optargcheck_activecheck_activatecheck_identifiersactionsshort_optslong_opts__func__.5091toollib.c__func__.4152process_partitions_change_setactivate.cget_dm_devsdm_register_for_eventdm_unregister_for_eventget_rebuild_drivedm_sparetype_handlerdo_device_dm_undm_unsupdm_undeferr_target_name_err_target.5923add_rd_dummy__func__.5975_smallest_dm_raid_devsdm_raid0__func__.5659_dm_lineardm_linear__func__.5481dm_partitiondm_raid1__func__.5808__func__.5962activate_setdm_raid45__func__.6040__func__.5942deactivate_setreload_set__func__.6385devmapper.cdmraid_log_exit_dmhandle_tablerun_taskcheck_table__func__.6009display.clog_uint64log_stringlog_uintlog_rd_native_list_formatslog_fields__func__.5372log_disklog_rdlog_rs__func__.5496format.cregister_fh__func__.5792__func__.5305_write_metadatalocking.clock_filefile_lockingunlocklflocklog.c_prefixesmetadata.cascii_typestacked_ascii_typeascii_statusprocess_setprocess_partitioned_set_free_dev_info_free_raid_dev_free_raid_setfree_raidset__func__.5661_name__func__.7356file_number_chdir_dirwant_setdmraid_readfind_formatset_sort_find_set__func__.5856disks.7769build_set__func__.5939__func__.6926rts.6758check_sizeget_raid_sizers_lopts_discover_partitions__func__.6162reconfig.chandle_dev__func__.5646del_dev_in_raid1__func__.5681add_dev_to_raid__func__.5660__func__.5541check_allow_rebuildfile.crw_file__func__.5284init.clib_context.cinit_listsinit_modeinit_pathsinit_versioninit_cmdinit_options__func__.5360__func__.5326misc.ccom.5613p_str__func__.5556workaround.cdbg_malloc.c__dbg_mallocasr.ccvt_configlineto_cpudev_sortdevice_countcheck_rdasr_formatevent_iohandlerasr_logasr_checknamejs_nametypetypes.5943asr_groupspare_arraycreate_drivemagichandle_white_spaceasr_writeasr_readread_metadata_areassetup_rdfile_metadata_areasstates.5875asr_event_handlershpt37x.cis_hpt37xsuper_createddeviceshpt37x_formathpt37x_loghpt37x_checkhpt37x_grouphpt37x_writehpt37x_readtypes.5370hpt37x_event_handlershpt45x.cis_hpt45xhpt45x_formathpt45x_loghpt45x_checkhpt45x_grouphpt45x_writehpt45x_readtypes.5350hpt45x_event_handlersisw.cdevices_per_domain_checksumraiddevcreate_rsisw_config_mapfactors.8177strip_options.8138_cal_array_sizeisw_formatisw_logdev_info_serial_to_iswisw_serial.6672_get_diskget_diskrd_by_serialupdate_metadata_isw_devisw_config_devrd_idx_by_nameisw_checktypesmm.6603_create_rdisw_groupis_first_volume_isw_get_versionget_raiddevget_rs_basenameget_scsiIddisplay_new_volumeisw_createfmts.8684__FUNCTION__.9437isw_writeisw_metadata_handlerisw_remove_devisw_deleteisw_readisw_read_metadataisw_file_metadataisw_event_handlerss_raid0.8131s_raid1.8132s_raid10.8133s_raid5.8134jm.cjm_formatjm_logjm_checkjm_groupjm_writejm_readis_jmtypes.5363jm_event_handlerslsi.cCSWTCH.48lsi_formatlsi_loglsi_checklsi_grouptypes.5375lsi_writelsi_readis_lsilsi_event_handlersnv.cnv_formatnv_logstates.5365nv_checknv_groupnv_writenv_readis_nvtypes.5380nv_event_handlerspdc.csectorspdc_formatpdc_logis_pdcpdc_checktypes.5393_group_rdpdc_grouppdc_writepdc_readpdc_read_metadataend_sectors.5441begin_sectors.5442pdc_event_handlerssil.csil_formatstatussil_logfree_silssil_checksil_groupsil_writesil_readsil_read_metadatasil_file_metadatatypes.5398sil_event_handlersvia.cvia_formatvia_logis_viavia_checkvia_groupvia_writevia_readtypes.5399via_event_handlersddf1.cget_config_indexno_sortddf1_formatddf1_logddf1_checkget_config_byoffsettypes.5781qualifier_types.5782get_sizeddf1_groupddf1_writeddf1_readtry_to_find_ddf1ddf1_event_handlersddf1_lib.cddf1_crc.cdo_crc32new.5534crc_table.5561crc32_vdcrc32_sparecheck_crcspare_check_crcvd_check_crcall_crcshandlers.5644ddf1_cvt.chandlers.5975ddf1_dump.c_dp_guiddump_headerdump_spareshandlers.5767dump_config_recorddos.cis_dosdos_checkdos_format_create_rs_and_rdgroup_rd_extendeddos_readdos_file_metadatados_grouppartition.cscan.cdm_test_devicemk_sysfs_path.clone.0sysfs_mp.5557ret.5556__func__.5558__func__.5724__func__.5797__func__.5761__func__.5610scsi.cold_inquirysg_inquirylog_ops.c__func__.5295ata.clibdm-common.c_default_log_verbose_dm_dir_build_dev_path_rm_dev_node_rename_dev_node_open_dev_node_stack_node_op_node_ops__PRETTY_FUNCTION__.4899_add_dev_node_head_mem_stats_tail__PRETTY_FUNCTION__.4962__PRETTY_FUNCTION__.4891libdm-iface.c_control_fd_dm_bitset_version_ok_version_checked_dm_version_minor_dm_version_patchlevel_get_proc_number_create_dm_bitset_open_control_cmd_data_v4_ioctl_buffer_double_factor_log_suppressbitset.clibdm-file.cpool.cfini_libinit_obj_class_compatinit_libdefault_printfmyinvalidcondefault_canonconmycanonconfl_head__FUNCTION__.4968hndoptionsnotranscon_array_sizecon_arraycon_array_used__FUNCTION__.4892getprocattrcon_rawgetprocattrconsetprocattrcon_raw.clone.1setprocattrcon.clone.0prev_r2t_transprev_r2t_rawprev_t2r_transprev_t2r_rawprev_r2c_transprev_r2c_rawreceive_responsemls_enabledsetransd_opensend_request.clone.0default_selinux_auditdefault_selinux_setenforcedefault_selinux_policyloaddefault_selinux_validatedefault_selinux_logselabel_lookup_commonselabel_subs_initinitfuncsstatsget_stem_from_speccompile_regexprocess_lineinitcloselookupfile_pathsselinux_policyrootselinux_rootpathfini_selinux_policyrootselinux_policytypeinit_selinux_configfile_path_suffixes_idxfile_path_suffixes_datafilename_selectget_bool_value__PRETTY_FUNCTION__.6252process_boolean.clone.0save_booleans__FUNCTION__.5504T.48__FUNCTION__.5284load_booleans__FUNCTION__.5367__FUNCTION__.5437__FUNCTION__.5215context_initload_users__FUNCTION__.5242__FUNCTION__.5620mls_level_dom__FUNCTION__.5143__FUNCTION__.5182__FUNCTION__.5788__FUNCTION__.5737policydb_compatcommon_indexclass_indexrole_indextype_indexuser_indexsens_indexcat_indexdestroy_febitmap_initcat_destroyperm_destroyrole_set_readtype_set_readcat_readtype_destroyrole_destroytype_readrole_read__FUNCTION__.6856perm_readscope_index_readmls_read_range_helper__FUNCTION__.6337mls_level_to_semanticmls_range_to_semanticmls_read_semantic_level_helper__FUNCTION__.6428mls_read_semantic_range_helperread_cons_helpercommon_destroycommon_readclass_destroyclass_read__FUNCTION__.6762__FUNCTION__.6112__FUNCTION__.5780index_fmls_read_level__FUNCTION__.7364sens_destroysens_readsymtab_sizesavrule_block_readread_frange_readuser_destroyuser_readcontext_destroycontext_read_and_validate__FUNCTION__.6543__FUNCTION__.8098__PRETTY_FUNCTION__.7979__PRETTY_FUNCTION__.7129__FUNCTION__.7246__FUNCTION__.5017__FUNCTION__.5044sidtabpolicydbvalidate_perm__FUNCTION__.6629constraint_expr_eval__FUNCTION__.5988context_struct_compute_avlatest_granting__FUNCTION__.6189__FUNCTION__.6388__FUNCTION__.6326validate_class__FUNCTION__.6656__FUNCTION__.6865clone_sidconvert_contextmypolicydb__FUNCTION__.5944sepol_compute_sid__FUNCTION__.6514__FUNCTION__.6449__FUNCTION__.6753mysidtabsymcmpsymhashperm_nameavbuf.5025type_attr_uncountmls_write_semantic_level_helpermls_write_semantic_range_helperebitmap_writemls_write_levelrole_set_writetype_set_writeavrule_write_listwrite_cons_helperscope_index_writecat_writesens_writecond_write_booltype_write__FUNCTION__.6105role_writeperm_writeclass_writecommon_writemls_write_range_helperuser_writecontext_writeavtab_write_itemspec_order__FUNCTION__.5268cond_write_av_listcond_write_list__FUNCTION__.6822write_fscope_writescope_index_destroyavtab_insert_nodeavtab_insertf__FUNCTION__.5415__FUNCTION__.5629cond_read_av_listcond_insertf__FUNCTION__.5491__FUNCTION__.5259__FUNCTION__.5335__FUNCTION__.5552__FUNCTION__.4212__FUNCTION__.4433__FUNCTION__.4247__FUNCTION__.4191__FUNCTION__.4162__FUNCTION__.4133__FUNCTION__.4104__FUNCTION__.4323__FUNCTION__.5174expand_cond_insert__FUNCTION__.9027__FUNCTION__.9178expand_state_initexpand_avtab_node__FUNCTION__.9007expand_avtab_insert__FUNCTION__.8856type_attr_map__FUNCTION__.8097user_bounds_copy_callback__FUNCTION__.6010role_bounds_copy_callback__FUNCTION__.5957type_bounds_copy_callback__FUNCTION__.5904bool_copy_callback__FUNCTION__.6676alias_copy_callback__FUNCTION__.6066__PRETTY_FUNCTION__.6072perm_copy_callbacktype_copy_callback__FUNCTION__.5320cats_copy_callback__FUNCTION__.6824class_copy_callback__FUNCTION__.5727common_copy_callback__FUNCTION__.5546find_avtab_node__FUNCTION__.7314expand_avrule_helper__PRETTY_FUNCTION__.7522expand_terule_helper__FUNCTION__.7377__PRETTY_FUNCTION__.7374expand_rule_helpermls_range_eq__FUNCTION__.6395mls_level_destroysens_copy_callback__FUNCTION__.6759mls_range_destroy__FUNCTION__.6482context_copymap_ebitmaprole_remap_dominatesattr_convert_callback__FUNCTION__.5441__PRETTY_FUNCTION__.8286convert_and_expand_rulecond_node_copy__FUNCTION__.7727__FUNCTION__.7767constraint_node_clone__FUNCTION__.5653constraint_copy_callback__FUNCTION__.5869copy_and_expand_avrule_block__FUNCTION__.6990__FUNCTION__.7213__FUNCTION__.7123__FUNCTION__.8454__FUNCTION__.6886__PRETTY_FUNCTION__.8402__FUNCTION__.8565role_copy_callbackuser_copy_callback__FUNCTION__.7880__FUNCTION__.8006__FUNCTION__.6225__FUNCTION__.6519check_user_hierarchy_callback__FUNCTION__.5683__FUNCTION__.5296check_role_hierarchy_callback__FUNCTION__.5642__FUNCTION__.5239find_parent_typecheck_type_hierarchy_callback__FUNCTION__.5368compute_avtab_datumcheck_avtab_hierarchy_callback__FUNCTION__.5413__FUNCTION__.5585__FUNCTION__.5518__FUNCTION__.5724check_assertion_helper__FUNCTION__.5170__FUNCTION__.5258check_one_fdstatic_slotinfostatic_dtvstatic_maperrstr.8064plural_evalfree_memroottransmem_listtranscmpoutput_charset_cached.9297output_charset_cache.9296lock.8726_L_lock_1307freemem.8737freemem_size.8738_L_unlock_1423_L_unlock_1478_L_unlock_1535_L_lock_1997_L_unlock_2007plural_lookuptree_lock.8127__elf_set___libc_subfreeres_element_free_mem___nl_loaded_domainslock.8680lock.8674_L_lock_140_L_unlock_165_L_unlock_367read_alias_filemaxmapnmapmapstring_space_actstring_space_maxstring_spacealias_compare_L_lock_550locale_alias_path.7728_L_unlock_683_nl_make_l10nflist.clone.0new_expyypactyytranslateyycheckyydefactyyr2yyr1yypgotoyydefgotoyytableplvarplone_L_lock_19stage_L_unlock_151_L_lock_177msort_with_tmpphys_pages.6329pagesize.6330_L_lock_15_L_unlock_112__PRETTY_FUNCTION__.5702_L_lock_247_L_unlock_343_L_lock_501_L_unlock_598initial_L_lock_12unsafe_state_L_unlock_23_L_lock_48_L_unlock_66_L_lock_92_L_unlock_111_L_lock_134_L_unlock_147randtblrandom_poly_infostr_to_mpnround_and_returnnbits.9074cancel_handler_L_lock_43sa_refcntrquitintr_L_unlock_69do_system_L_lock_103_L_unlock_134_L_lock_262_L_unlock_300_L_unlock_386_L_lock_419_IO_helper_overflowbuffered_vfprintf_IO_helper_jumps_L_lock_182_L_unlock_311group_number_i18n_number_rewrite_L_lock_897_L_unlock_1034jump_table.10880step0_jumps.10897step4_jumps.10933__PRETTY_FUNCTION__.10895step1_jumps.10928step2_jumps.10929step3a_jumps.10930step3b_jumps.10932step4_jumps.11082nullhack_digit.12234_L_lock_22_L_unlock_46_L_lock_127__PRETTY_FUNCTION__.11689pa_next_type_L_unlock_41_L_unlock_15_L_lock_42_L_unlock_102_L_unlock_143__PRETTY_FUNCTION__.10376_L_lock_36_L_unlock_116_L_unlock_205_L_unlock_238_L_lock_34_L_unlock_86_L_unlock_137_L_lock_46_L_unlock_181_L_lock_49_L_unlock_103_L_unlock_176_L_unlock_199_L_unlock_233_L_lock_54_L_unlock_255_L_unlock_381blankszeroesproc_file_chain_lock_L_unlock_14_L_lock_66proc_file_chain_L_unlock_113_L_unlock_520_IO_proc_jumps_L_lock_38_L_unlock_188save_for_wbackup_IO_wfile_underflow_maybe_mmap_IO_wfile_underflow_mmap_L_lock_884_L_unlock_1278__PRETTY_FUNCTION__.9039_L_unlock_1476do_encodingdo_always_noconvdo_max_lengthdo_inCSWTCH.45do_unshiftdo_outCSWTCH.51do_length__PRETTY_FUNCTION__.10766_L_lock_28_L_unlock_59_L_unlock_80_L_unlock_142_L_lock_32_L_unlock_74_L_unlock_132_IO_strn_overflow_IO_file_seekoff_maybe_mmap_IO_file_sync_mmapdecide_maybe_mmap_IO_file_xsgetn_maybe_mmapmmap_remap_check_IO_file_xsgetn_mmapnew_do_write_L_lock_1859_L_unlock_1911_L_unlock_2056__PRETTY_FUNCTION__.10293flush_cleanuprun_fp_L_unlock_24list_all_lock_L_unlock_39_L_lock_808_L_unlock_835buffer_freefreeres_listdealloc_bufferssave_for_backup_L_lock_1670_IO_list_all_stamp_L_lock_1737_L_unlock_1776_L_unlock_1807_L_lock_1937_L_lock_2009_L_unlock_2081_L_unlock_2259_L_unlock_2500_L_lock_2578_L_lock_2613_L_unlock_2662_L_unlock_2738_L_lock_2790_L_lock_2825_L_unlock_2910_L_unlock_3001__elf_set___libc_atexit_element__IO_cleanup____elf_set___libc_subfreeres_element_buffer_free___IO_stdfile_0_lock_IO_wide_data_0_IO_stdfile_1_lock_IO_wide_data_1_IO_stdfile_2_lock_IO_wide_data_2enlarge_userbuf__PRETTY_FUNCTION__.9242ptmalloc_lock_alllist_lock__libc_tsd_MALLOCmain_arenamalloc_atforksave_malloc_hookfree_atforksave_free_hooksave_arenaatfork_recursive_cntr_L_lock_83ptmalloc_unlock_all_L_unlock_117_L_unlock_125ptmalloc_unlock_all2free_listarena_thread_freeres_L_lock_192_L_unlock_201disallow_malloc_checkusing_malloc_checkingmalloc_checkfree_checkrealloc_checkmemalign_checksYSTRImmp_mem2chunk_checkmalloc_printerrmalloc_consolidateglobal_max_fastcheck_action__PRETTY_FUNCTION__.12438mALLOPt_L_lock_1461_L_unlock_1481perturb_byteptmalloc_initnarenasatfork_mem_L_lock_2100_L_unlock_2403__PRETTY_FUNCTION__.10335_L_lock_2483_L_unlock_2560munmap_chunk__PRETTY_FUNCTION__.10832_int_freearena_memaligned_heap_area_L_lock_3205_L_unlock_3356__PRETTY_FUNCTION__.9534_L_unlock_3699_L_lock_3729_L_unlock_3742__PRETTY_FUNCTION__.12144_L_lock_4270_L_unlock_4420__PRETTY_FUNCTION__.12881new_heap_int_malloc__PRETTY_FUNCTION__.11723__PRETTY_FUNCTION__.10525_int_memalign__PRETTY_FUNCTION__.12754mi_arena.13215_L_lock_7760_L_unlock_7932arena_get2_L_lock_8289_L_unlock_8306_L_lock_8320narenas_limit.9738next_to_use.9741_L_lock_8414_L_lock_8627_L_lock_8638_L_unlock_8649_L_lock_8825_L_unlock_8861_L_lock_9040_L_unlock_9053_L_lock_9080_L_unlock_9096_L_unlock_9108__PRETTY_FUNCTION__.11484_L_lock_9270_L_unlock_9303_L_lock_9388_L_unlock_9402_L_unlock_9464__PRETTY_FUNCTION__.11384_L_lock_9553_L_unlock_9580_L_lock_9656_L_unlock_9670__PRETTY_FUNCTION__.11287_L_unlock_9745_L_lock_9803_L_unlock_9824_L_unlock_9876_L_lock_9884_L_unlock_9897__PRETTY_FUNCTION__.10934_L_unlock_9951_L_unlock_9963malloc_hook_ini_L_lock_10020_L_unlock_10097_L_lock_10173_L_unlock_10195_L_unlock_10269_L_lock_10277_L_unlock_10291_L_unlock_10313_L_unlock_10334__PRETTY_FUNCTION__.11184memalign_hook_ini_int_realloc__PRETTY_FUNCTION__.12573mremap_chunk__PRETTY_FUNCTION__.10869_L_lock_11234_L_unlock_11251__PRETTY_FUNCTION__.11069realloc_hook_ini_L_lock_11594_L_unlock_11697_L_lock_11810_L_unlock_11830top_check_L_lock_12267_L_unlock_12291_L_lock_12412_L_unlock_12417_L_lock_12574_L_unlock_12588_L_lock_12618_L_unlock_12667_L_lock_12939_L_unlock_12965_L_lock_13105_L_unlock_13130__elf_set___libc_thread_subfreeres_element_arena_thread_freeres__next_state.6072result_type.6073buftwo_way_long_needleintel_02_known_comparehandle_amd__PRETTY_FUNCTION__.3667intel_check_wordintel_02_known__PRETTY_FUNCTION__.3533handle_intel__PRETTY_FUNCTION__.3585init_cacheinfostate__PRETTY_FUNCTION__.8035__PRETTY_FUNCTION__.8041__PRETTY_FUNCTION__.8042to_wcto_mb_L_unlock_88compat_callinternal_getgrouplist__PRETTY_FUNCTION__.11373startp_initialized.10131start_fct.10133startp.10132startp_initialized.10133start_fct.10135startp.10134__PRETTY_FUNCTION__.10278__sysconf_check_specend_patternposixly_correctinternal_fnmatchext_match__PRETTY_FUNCTION__.7954end_wpatterninternal_fnwmatchext_wmatch__PRETTY_FUNCTION__.9086__PRETTY_FUNCTION__.9282re_node_set_containsoptimize_subexpscalc_nextmark_opt_subexpparse_bracket_elementcreate_token_treefree_statematch_ctx_cleanfree_fail_stack_returnfree_charsetfree_treepop_fail_stack__PRETTY_FUNCTION__.16944re_string_realloc_buffersre_node_set_mergere_node_set_add_intersectmatch_ctx_add_entryre_dfa_add_nodecalc_firstbuild_wcs_buffer__PRETTY_FUNCTION__.9001re_string_context_atpeek_tokenbuild_wcs_upper_buffer__PRETTY_FUNCTION__.9096build_upper_bufferextend_bufferscheck_subexp_matching_topcheck_node_accept_bytesbuild_charclassre_compile_fastmap_iterfree_dfa_contentutf8_sb_mapregister_statere_comp_bufsub_epsilon_src_nodesre_node_set_insertcheck_arrival_expand_ecl_subcheck_arrival_expand_eclduplicate_node_closurecalc_eclosure_itercheck_dst_limits_calc_pos_1check_dst_limitslink_nfa_nodes__PRETTY_FUNCTION__.12211duplicate_treecreate_ci_newstateexpand_bkref_cachebuild_charclass_opcreate_cd_newstatebuild_trtablere_string_reconstructlower_subexplower_subexpscheck_arrivalre_node_set_init_unionmerge_state_arraytransit_state_bkrefsift_states_backwardupdate_cur_sifted_statemerge_state_with_logparse_bracket_exp__PRETTY_FUNCTION__.13413set_regsre_search_internal__PRETTY_FUNCTION__.16610_L_lock_44672_L_unlock_44701re_search_stub_L_lock_44838_L_unlock_45060__PRETTY_FUNCTION__.15905__PRETTY_FUNCTION__.16020re_search_2_stub_L_lock_45893_L_unlock_45912parse_expressionparse_reg_expparse_branchre_compile_internalexchangegetopt_data__PRETTY_FUNCTION__.6238allocategetmntent_bufferonce.5629m.5628_L_lock_890_L_unlock_1612_L_unlock_2041syslog_lock_L_unlock_7LogMaskopenlog_internalLogTagLogStatLogFileconnectedSyslogAddrLogFacilityLogType_L_lock_410_L_lock_470_L_lock_742_L_unlock_768trecursetdestroy_recursephys_pages_infonext_line_L_lock_35fork_handler_pool_L_unlock_51_L_lock_112_L_unlock_209service_table_L_lock_175known_comparedefault_table.11601nss_parse_service_listdatabases_L_lock_1490_L_unlock_1498_L_lock_1710_L_unlock_1721_L_unlock_1819backtrace_helper_IO_str_chk_overflow_IO_str_chk_jumps_L_unlock_162_L_lock_45_L_unlock_115_L_unlock_166_L_lock_39_L_unlock_154pw_map_freemap_handlenscd_getpw_r__elf_set___libc_subfreeres_element_pw_map_free__gr_map_freenscd_getgr_r__PRETTY_FUNCTION__.11404__elf_set___libc_subfreeres_element_gr_map_free__hst_map_freenscd_gethst_r__elf_set___libc_subfreeres_element_hst_map_free____PRETTY_FUNCTION__.11261serv_map_freenscd_getserv_r__elf_set___libc_subfreeres_element_serv_map_free__wait_on_socketopen_socket__PRETTY_FUNCTION__.10309get_mappingresult.8337buf.8338unsecure_envvars.8241do_dlclosedo_dlsymdo_dlsym_privatedo_dlopen_dl_open_hookinternal_trans_names.6718__PRETTY_FUNCTION__.7434free_derivation__PRETTY_FUNCTION__.7645derivation_compare__PRETTY_FUNCTION__.7671_L_lock_310_L_unlock_351find_derivationknown_derivationsonce_L_lock_1919_L_unlock_1940_L_unlock_2040_L_unlock_2057_L_unlock_2136free_modules_dbempty_path_eleminsert_moduleadd_modulegconv_module_extadd_alias2lock.10618_L_lock_754__PRETTY_FUNCTION__.10636builtin_modulesbuiltin_aliasesmodcounter.10541__PRETTY_FUNCTION__.6740__PRETTY_FUNCTION__.11683__PRETTY_FUNCTION__.11536__PRETTY_FUNCTION__.11250__PRETTY_FUNCTION__.11128inmask.10587__PRETTY_FUNCTION__.10861__PRETTY_FUNCTION__.10615__PRETTY_FUNCTION__.10131__PRETTY_FUNCTION__.10294__PRETTY_FUNCTION__.9822__PRETTY_FUNCTION__.9682__PRETTY_FUNCTION__.9424__PRETTY_FUNCTION__.9161__PRETTY_FUNCTION__.9018__PRETTY_FUNCTION__.12546__PRETTY_FUNCTION__.12389__PRETTY_FUNCTION__.12087__PRETTY_FUNCTION__.11954__PRETTY_FUNCTION__.8559__PRETTY_FUNCTION__.8228__PRETTY_FUNCTION__.8843open_translit_L_lock_93trans_comparesearch_tree_L_unlock_123__PRETTY_FUNCTION__.7752gconv_cachecache_mallocedcache_sizefind_moduleloadeddo_release_allrelease_handledo_release_shlib__PRETTY_FUNCTION__.7688__PRETTY_FUNCTION__.7624new_composite_namefree_category_nl_current_used_nl_category_postloadstripcodeset_idx.7857__PRETTY_FUNCTION__.7862_nl_category_num_items_nl_value_types__PRETTY_FUNCTION__.7366_nl_value_type_LC_CTYPE_nl_value_type_LC_NUMERIC_nl_value_type_LC_TIME_nl_value_type_LC_COLLATE_nl_value_type_LC_MONETARY_nl_value_type_LC_MESSAGES_nl_value_type_LC_PAPER_nl_value_type_LC_NAME_nl_value_type_LC_ADDRESS_nl_value_type_LC_TELEPHONE_nl_value_type_LC_MEASUREMENT_nl_value_type_LC_IDENTIFICATIONarchloadedarchmappedheadmap__PRETTY_FUNCTION__.7784archive_statarchfname__PRETTY_FUNCTION__.7520translit_from_idxtranslit_from_tbltranslit_to_idxtranslit_to_tbl__restore_rtenvlock_L_lock_11last_environ_L_lock_81_L_lock_222_L_unlock_316known_values_L_unlock_440_L_unlock_479_L_unlock_568_L_lock_654_L_unlock_666next_bit_L_lock_436_L_unlock_483_L_lock_723_L_unlock_861jump_table.10912step0_jumps.10929step1_jumps.10960step2_jumps.10961step3b_jumps.10964step3a_jumps.10962__PRETTY_FUNCTION__.10927step4_jumps.10965step4_jumps.11105_L_lock_11249_L_unlock_11334_L_unlock_1571_L_lock_1649__PRETTY_FUNCTION__.11123value.7980letters__PRETTY_FUNCTION__.8007_L_unlock_108_L_unlock_122_L_unlock_164_L_lock_188_L_unlock_241_L_unlock_284_L_unlock_126_IO_mem_jumps_IO_mem_sync_IO_mem_finish_dlfcn_hookscheck_freelast_resultstatic_buffree_key_memkeyfinidlinfo_doitdlmopen_doit__PRETTY_FUNCTION__.5974internal__PRETTY_FUNCTION__.8038__PRETTY_FUNCTION__.6529compute_offsetcompute_changetzstring_listold_tztz_rulestzset_internalis_initialized.7695tzset_lock_L_lock_1979_L_unlock_2000_L_lock_2018_L_unlock_2029_L_lock_2066_L_unlock_2122num_transitionstransitionstype_idxsrule_stdoffrule_dstoffzone_namesnum_leapsleapsnum_types__PRETTY_FUNCTION__.6488tzspectzfile_inotzfile_devtzfile_mtimedefault_tzdir.5634__PRETTY_FUNCTION__.5797__strftime_internal_nl_init_era_entries_nl_init_alt_digitis_dstlocal_strdupfillin_rpathcurwd.8995ncapstrmax_dirnamelensystem_dirssystem_dirs_lenadd_name_to_object__PRETTY_FUNCTION__.8963print_search_pathmax_capstrlencapstrlose__PRETTY_FUNCTION__.9279open_verifyexpected.9809expected_note.9815expected2.9808open_pathrtld_search_dirs_dl_map_object_from_fd__PRETTY_FUNCTION__.8546__PRETTY_FUNCTION__.9323env_path_list__PRETTY_FUNCTION__.9199is_dst.clone.1expand_dynamic_string_token__PRETTY_FUNCTION__.8892decompose_rpath__PRETTY_FUNCTION__.10145dummy_bucket.10172cachecachesizecache_new__PRETTY_FUNCTION__.7945__PRETTY_FUNCTION__.9358check_match.8551__PRETTY_FUNCTION__.8554do_lookup_xundefined_msg__PRETTY_FUNCTION__.9160msg.9205errstring.9182__PRETTY_FUNCTION__.8383__PRETTY_FUNCTION__.8508receiver_dl_out_of_memory_dl_debug_vdprintf__PRETTY_FUNCTION__.8308runninglowpctextsizelog_hashfractiontosfromsnarcspnarcsfromlimitdatafromidx__PRETTY_FUNCTION__.8727__PRETTY_FUNCTION__.8514__PRETTY_FUNCTION__.8592__PRETTY_FUNCTION__.7878dl_open_worker__PRETTY_FUNCTION__.9825add_to_global__PRETTY_FUNCTION__.9525remove_slotinfo__PRETTY_FUNCTION__.9381dl_close_state.9430__PRETTY_FUNCTION__.9444__PRETTY_FUNCTION__.9913free_slotinfodata.6941not_availablecollseqmbcollseqwcnbits.9085nbits.9073dlopen_doitdlclose_doitdlsym_doitdlvsym_doitydhms_difflocaltime_offsetprofil_counterpc_offsetpc_scalensamplessamplesotimer.6753oact.6752res_setoptionsres_thread_freeressort_mask_chars__elf_set___libc_subfreeres_element_res_thread_freeres____elf_set___libc_thread_subfreeres_element_res_thread_freeres____PRETTY_FUNCTION__.7206openaux_dl_build_local_scope__PRETTY_FUNCTION__.8132__PRETTY_FUNCTION__.8735__PRETTY_FUNCTION__.8571call_init__PRETTY_FUNCTION__.6972__PRETTY_FUNCTION__.7059match_symbol__PRETTY_FUNCTION__.7165__PRETTY_FUNCTION__.7325call_dl_lookupdo_symlast_family.7197last_type.7198afs.7202__PRETTY_FUNCTION__.7207max.6135xdigits.6565_Unwind_DebugHookdwarf_reg_size_table_Unwind_SetSpColumninit_dwarf_reg_size_tableuw_install_context_1execute_cfa_programexecute_stack_opuw_update_context_1uw_frame_state_foruw_init_context_1once_regsizes.8815_Unwind_ForcedUnwind_Phase2_Unwind_RaiseException_Phase2fde_unencoded_compareread_encoded_value_with_basebase_from_cb_dataobject_mutexunseen_objectsseen_objectsframe_heapsortclassify_object_over_fdesfde_single_encoding_comparelinear_search_fdesget_cie_encoding_Unwind_IteratePhdrCallbackadds.8623subs.8624frame_hdr_cache_headframe_hdr_cacheadd_fdessearch_objectfde_mixed_encoding_comparemarker.8001__fini_array_end__fini_array_start__init_array_end__preinit_array_end_GLOBAL_OFFSET_TABLE___init_array_start__preinit_array_start_nl_C_LC_CTYPE__vsyslog_chk__have_o_cloexecselinux_raw_context_to_colorsetsockcreatecon__recvmsgsepol_context_clonestpcpy___sprintf_chkadd_i_to_amls_setup_user_rangeinit_fn_nl_C_LC_CTYPE_class_printtsearchsepol_sidtab_inserthashtab_destroymatchpathcon_initsecurity_commit_booleansadd_dev_to_set__morecoredm_bitset_createdm_createlc_inc_optexpand_module_avrules__getdtablesize_IO_remove_marker__nscd_getgrouplist_nl_current_LC_COLLATE_used__libc_sigaction__isnanlhashtab_insertsepol_set_policydbmbrlenstrcpy_IO_wdefault_xsgetn__fcloseall__syslog__setstate_r_dl_vsym_dl_setup_hashdm_mknodesget_ata_serial_IO_link_in__daylight_Unwind_Find_FDEunsetenv__malloc_hookrole_datum_init_dl_debug_printfgsignal_IO_sputbackcfree_raid_set_nl_C_LC_CTYPE_class_upper_IO_default_finishsetfscreatecon_rawsepol_policydb_set_handle_unknownmkstemp64end_logbcmp_dl_check_map_versionsregister_asr_Unwind_GetIPInfo__gconv_transform_utf8_internalget_raid_setrole_allow_rule_destroy__malloc_initialize_hook__default_morecore__libc_argc_dbg_freewaitpid__longjmpsepol_genbools_policydb_dl_receive_error_IO_file_finish_nl_current_LC_TELEPHONE_nl_C_LC_CTYPE_widthreset_selinux_config__umountgetrlimit__printfdm_bitset_destroy_nl_unload_domainioctl__nscd_getgrgid_rselinux_securetty_types_pathwritev__connect_nocancelscandir64ddf1_cr_off_maxpds_helperfind_spare__dlinfosepol_set_delusersdm_pool_alloc_alignedif_indextonamegetfscreateconpartitioned_set_Unwind_GetIPstrtok_r__mpn_impn_mul_n_basecase_IO_wdoallocbuf__getpwnam_rgetgid__getpidpopen_IO_fread__register_printf_modifier__syslog_chk_IO_list_locksecurity_setenforceuser_datum_destroysysconfprintf__strtod_internalstdoutrebuild_raidsetcontext_to_stringvsprintfselabel_opensepol_compute_av_reason__iswdigit_IO_seekoff_unlockedrandom__iswupper_nl_load_domainfree_raid_devdaylight_IO_default_doallocate__libc_multiple_libcsregister_hpt45xgetdtablesize__fsetlocking__strtoull_l_wordcopy_fwd_alignedchange_set__iswalpha_dl_important_hwcapsfree_lib_context_IO_new_file_xsputn_dl_reloc_bad_type__nss_not_use_nscd_passwd_IO_least_wmarker_IO_default_syncavrule_block_destroyconnect__register_frame_IO_file_sync_IO_vsprintf__tzsetsepol_context_check__strtoull_internalset_matchpathcon_flagsget_scsi_serialcontext_to_recordsave_drive_name__mpn_impn_sqr_n_basecasedm_driver_version__pthread_oncesepol_compat_handlestrtoull_l__fscanf_IO_seekwmark_IO_fflush__mpn_extract_long_doublewrite_devgetkeycreatecon_raw_IO_wfile_jumpscond_destroy_bool_xmknod_nl_C_LC_CTYPE_class_xdigittype_datum_destroy__pthread_mutex_lock_IO_file_writerd_type_IO_ferrorregister_dosstrerror__init_misc__gconv_transform_ascii_internalgetseuserbyname__mpn_sub_nsepol_sidtab_map_remove_on_error__wcsmbs_clone_convstrndupgeteuiddm_task_get_read_aheadlsetxattrinet_pton_dl_profile_output__getdents__mpn_cmp__mbrlen___vsprintf_chkcheck_assertionsmalloc_get_stateargz_add_sep__iswlower__x86_64_data_cache_size_half__mpn_addmul_1selinux_getenforcemode__strnlen__cfree__gconv__umount2memmove__gconv_transform_ucs2_internal__printf_modifier_tablematchpathcon_checkmatchesdisplay_table__tcgetattrsepol_policydb_read_dl_new_objectgetopt_long_Unwind_Resume_or_Rethrowdm_task_create__callocsnprintf_dl_make_stack_executablesyscall_IO_default_xsgetn__new_popencond_expr_destroy_getopt_internalis_id_enabled__endmntenttype_set_init__strtok_rmunmapselinux_homedir_context_path__libc_stack_end_IO_new_popenfileno_unlockedtype_set_cpyselinux_failsafe_context_path_nl_default_locale_path__gconv_get_pathprocess_sets_dl_debug_fd__nss_protocols_database__register_printf_specifier_nl_C_LC_NAMEtype_datum_init__tsearch_IO_vasprintf____strtol_l_internalftello64__nss_passwd_database_IO_file_seekoff_mmapunlock_resource__nss_next2__libc_fcntl__gettext_free_exp__readallshow_raid_stack__readv__isnandelete_error_targetcheck_busy_disk_dl_load_cache_lookup__nscd_getgrnam_r_nl_current_LC_NUMERIC_used__write_IO_popen_IO_fopen64__gettext_extract_pluralmalloc_stats_IO_sgetn__mmap__mprotectavtab_destroy_dl_use_load_biasget_format_nl_domain_bindingssepol_sid_to_contextfree_stringstatfs64re_syntax_options__gconv_path_envvarsepol_policy_file_set_fp_Unwind_GetRegionStartdm_task_no_flush__dprintf__add_to_environ_dl_initial_searchlistgetprevcon_rawalphasort64getenv_IO_file_seekselinux_raw_to_trans_contextwcslen__parse_one_specwciswcntrlsepol_msg_get_fnamefchmodregister_jmtype_set_orsecurity_check_context_rawdm_task_get_deps_itoa_wordregister_nviswpunctpolicydb_to_imageerrno__getmntent_rdm_log_init_verbose__sendto_nocancelstrtold__tz_computegetegidhandle_argsstr_tolower__pthread_rwlock_initplog__randomrole_datum_destroy__tdestroyselinux_mkload_policy__rawmemchr_dl_profile_fixup__getcwd_nl_current_LC_IDENTIFICATION_usediswalphacond_compute_avdm_task_set_read_ahead__res_ninit__mbsrtowcs_l_Unwind_Backtracerole_set_expand__pthread_key_createiswblank_IO_init_marker__strtol_internal_nl_category_name_idxssepol_policy_file_get_lenbsearchselinux_auditddf1_cvt_adapterwmempcpycreate_raidset__tzname__woverflowpolicydb_index_classesexecve_IO_2_1_stdout___register_printf_functionsecurity_policyversdm_pool_strndupvsscanfcat_datum_destroy_IO_new_file_init__mpn_mul_ncond_node_findgetpidgetpagesize__pthread_rwlock_wrlock_dbg_reallocjoin_supersetcount_devices__strtold_l__gconv_lookup_cachesepol_sidtab_init__wcscat__readvall__dup2_nl_C_LC_CTYPE_class_cntrlqsortconstraint_expr_destroysetstate_rfscanf__posix_memalign_IO_flush_all_linebufferedfgetscond_normalize_expr_nl_current_LC_TELEPHONE_usedsetexeccon_raw_IO_fclose_nl_current_LC_PAPER__gconv_modules_db__strtoll_internal_nl_expand_aliasiswxdigitget_status_IO_wdo_write__nscd_gethostbyname2_r__getdelimsepol_genbools_array__readdm_pool_zalloc__wcschrnulevaluate_conds_IO_default_underflowsepol_av_to_stringavrule_list_destroy_dl_rtld_mapgetpidconfini_context_translations__fprintf_chk_IO_funlockfilesepol_mls_checkgetrlimit64_dl_init__gconv_load_cachegetcexpand_avtab__mallinforole_allow_rule_init__gconv_transform_ucs4le_internal_dl_platformlen_dl_tls_static_used_IO_switch_to_wget_mode__localtime_r__realloc_hook__hasmntopt_Unwind_GetCFA__exit_funcsre_search_2__gettextparsememcpypthread_cancelsetitimer__unlink__strncasecmp_IO_default_xsputn__re_error_msgid_idx__mpn_lshift_nl_load_localeargz_count___printf_fpselinux_file_context_cmpexeclmls_compute_context_lenpolicydb_from_imagesecurity_getenforce_IO_fwriteget_dev_node_read_aheadsepol_context_createddf1_cvt_virt_drive_header_IO_default_setbuf_IO_sungetc__posix_getoptsepol_sidtab_shutdowndso_end_rebuild_dl_try_allocate_static_tlsebitmap_get_bit__dlsym__gconv_get_cache_dl_addr_inside_objectupdate_devs__gconv_find_shlib_IO_fwide__connect_internalstrtoll_lset_dev_node_read_ahead_nl_unload_locale__DTOR_END___IO_new_file_close_it_dl_debug_mask__netlink_open_IO_wfile_overflow__libc_memaligninit_lockingputs__gconv_translit_findgetseuser__libc_dlsym_private__overflowdup2mbrtowc__btowc__mpn_mulcompat_validate__strtol_ul_max_tabactivate_or_deactivate_sets_dl_non_dynamic_initgetuiddm_pool_strdup__internal_atexitdm_remove__isinfiswlower__memalign_nl_current_LC_MEASUREMENTsystemfeofhasmntopt__mpn_submul_1_IO_file_closemyprintf_compatdm_task_set_minor__IO_vsprintfargz_stringify__malloc_trim__dladdr_nl_current_default_domain_nl_msg_cat_cntrmalloc__libio_translit__open_IO_unsave_markers_nl_C_LC_CTYPE_classisattyis_perm_enabled__nss_networks_database____strtof_l_internal_dl_load_addsdm_suspend__gettext_germanic_pluraliswspace__llseekdm_statusebitmap_or__wcsmbs_getfctlevel_datum_destroyinit_raid_set_IO_2_1_stdin___nss_group_databasecond_copy_expr__gconv_transform_internal_ucs4__get_child_max_dl_protect_relroselinux_init_load_policysecurity_load_booleansoptarg___vsnprintf_chk__strerror_r__asprintf__bzerobtowc__wcsmbs_load_conv__strftime_lvsnprintfstrtollgetexeccon_raw__mpn_impn_sqr_nis_selinux_enabledgetprevconadd_dev_nodesys_nerrregister_printf_modifierdelete_raidsetsopen_memstreambase_partitioned_set_nl_C_LC_ADDRESS_dl_wait_lookup_donedm_log_init_dl_mcount_wrapper_dl_deallocate_tlsstatfs_nl_C_LC_CTYPE_class_graph__mpn_impn_mul_n__nss_lookup_function__current_locale_namedso_get_memberslibdmraid_exit__pthread_rwlock_rdlockhashtab_map_remove_on_errorlc_opt_nl_C_LC_CTYPE_tolower_dl_profilerandom_rsepol_set_policydb_from_file___vfprintf_chkstrtoul__dso_handle__mpn_construct_float__strsepsepol_genusers_policydbdm_realloc_auxdm_pool_destroy__wctypemls_semantic_cat_initddf1_check_all_crcs__new_exitfn__nscd_gethostbyaddr_r__libc_alloca_cutoffdm_get_library_version_nl_current_LC_NAME_usedpolicydb_load_isids_dl_finistrtold_l__nptl_deallocate_tsd_IO_switch_to_main_wget_areacond_index_boolrole_allow_rule_list_destroyselinux_path__dcgettext__libc_csu_fini_nl_current_LC_CTYPE_used_IO_ftellstrftime_lopterr_IO_str_init_readonly_IO_file_seekoff__nss_aliases_databasepolicydb_index_decls_nl_current_LC_TIME_dl_discover_osversionselinux_booleans_path_nl_cleanup_time__libc_init_securediscover_devicessocket_dl_nothread_init_static_tls__frame_state_forsepol_get_user_sids_pthread_cleanup_pop_restore__offtimereaddir_IO_adjust_wcolumnre_matchsetgroups__strtoul_internalpvalloc_IO_str_seekoff__getgidhashtab_mapsepol_sidtab_search__iswspace_lxstat_xstat__serv_map_handle__pthread_rwlock_unlocksepol_set_sidtabsepol_msg_get_channel_IO_file_setbuf__lseek64_IO_new_file_fopenmempcpy_IO_printf__libc_mallinfofflush_IO_new_fopenselabel_stats_environprepostlgetfilecon_dl_cpuclock_offset__gconv_btwoc_asciimls_context_isvalidp_fmt_nl_current_LC_MESSAGES__wcslen__syscall_error_1_IO_default_writedm_task_no_open_countdisplay_set__libc_read__fxprintfselinux_policy_rootrange_trans_rule_init__tzname_max_IO_strn_jumps__initstatesepol_context_get_typemls_context_to_sid__have_sock_cloexec__libc_disable_asynccancel__iswgraph__gconv_find_transform__gcc_personality_v0__xstat64_IO_file_close_mmapselinux_set_callbackselinux_default_type_pathrole_set_destroysepol_context_set_mlsdm_strdup_auxsepol_genfs_sid_dl_allocate_tls_storage__exit_thread__nss_rpc_databaseddf1_dump_alllseek__libc_reallocselinux_validatediscover_raid_devices_spareswmemcpymk_alphaddf1_cvt_spare_recordcond_list_destroy__libc_tsd_CTYPE_TOLOWER__gconv_transform_ucs2reverse_internalclearenv_dl_tls_static_align_dl_scope_freepolicydb_init__environgetsockcreateconchownadd_delimiterselinux_usersconf_pathmmapstrncasecmp_Exitlc_liststrtol_l_nl_intern_locale_dataregister_pdc___snprintf_chk_dl_lookup_symbol_xbzerodm_task_skip_lockfs_nl_cleanup_ctype_dl_tls_max_dtv_idxsendselabel_lookupsepol_member_sid_nl_C_LC_CTYPE_map_toupperdm_task_add_target_nl_C_LC_CTYPE_class_punctabort__libc_setlocale_lockmatchpathcondiscover_raid_devicessepol_context_get_user__sigjmp_save_dbg_strndupsepol_policy_file_create__stack_chk_failwcscoll_dl_closegetexeccon__printf_fptzname_IO_new_proc_close_dl_bind_not__libc_enable_secureselinux_file_context_local_pathsysfs_workaround_IO_wpadndiscover_partitions_nl_postload_ctypesrandom_rmls_to_stringavtab_hash_evalcontext_is_validtdelete_IO_fputs__gconv_transform_ucs4_internal__open_nocancel__recvmsg_nocancel_init_nl_C_LC_CTYPE_class_digit_IO_str_pbackfail_IO_wfile_xsputn__nss_nextmls_from_string__gconv_max_path_elem_len_IO_default_imbuedm_pool_abandon_object__mpn_divremstrtoqstrtol__sigsetjmppiperemove_tail_space__libc_lseek64dm_bounds_check_debug__dlmopen__backtrace_symbols_fdddf1_cvt_allstrnlensepol_policy_kern_vers_maxrawmemchravtab_init__lxstatebitmap_readunameiswprintrole_allow_read__getgrnam_r_nl_find_domaindel_dev_in_set_IO_default_readexpand_convert_type_set__register_frame_table__getline_IO_file_close_itsepol_policy_file_free__sys_nerr_internal_rebuild_raidset_sys_nerr_dl_platform__x86_64_preferred_memory_instruction__nscd_get_map_refcond_av_list_destroyrename__res_initstampsepol_policy_file_set_memget_scsi_id_dm_compatcreate_target_IO_iter_begin_nl_C_LC_CTYPE_class32____strtod_l_internal__srandomselabel_validateselinux_users_pathpthread_setcancelstate__gethostnameavtab_read_dl_get_tls_static_infombsnrtowcsstrrchr__libc_check_standard_fds__ctype_tolower_loc__nss_hosts_database__after_morecore_hookavtab_search_node__mpn_construct_double__iswpunctcalloc__start___libc_atexit__setitimerstrcasecmp_l__libc_enable_secure_decided__fnmatch_align_chunk_IO_file_statre_set_registers_dl_start__pthread_mutex_unlockmalloc_usable_size__sscanf__strtold_internaltdestroygetcon_raw__tzfile_default__register_frame_info_basessepol_policydb_compat_net_IO_wfile_sync__libc_pvalloc__strtoll_lebitmap_cpymls_semantic_range_expand_dl_runtime_resolveerase_metadatastrtod_IO_vfscanf_internalisinf__lseek_nocancel__fchmodrindexsepol_policydb_mls_enabled__readonly_area_dl_tlsdesc_resolve_rela_fixuprename_dev_node__guess_grouping__pthread_getspecificwrite__execvedm_task_set_uidwmemchr__libc_valloc__re_search__strtod_lbacktrace_nl_C_LC_CTYPE_map_tolower__fork_generation_pointer__backtrace_nl_locale_subfreeresenvirongetpidcon_raw__dcigettextdm_task_set_gidregister_ddf1getfscreatecon_rawpolicydb_lookup_compatsepol_context_freefprintfrole_trans_rule_init__tzset_parse_tzlevel_datum_initsepol_compute_avsymtab_init_dbg_strdupiswgraphfputs_unlockedcount_setspolicydb_user_cache__mpn_construct_long_doubledl_iterate_phdr_IO_str_jumps_IO_str_finishmyprintf__nss_group_lookupsepol_sidtab_setstrcatre_compile_pattern_nl_normalize_codesetdcgettext_dl_tls_static_sizebind_dl_debug_printf_c_IO_default_showmanycstrtof_ldm_task_get_versionsgetmntent_r__get_nprocsled__isattyif_nameindexlib_performinet_addr__regexecebitmap_unionrole_trans_rule_destroy_nl_state_lockreadvselinux_contexts_path__profile_frequency_dl_lazy_dl_debug_stateselinux_user_contexts_path__nscd_getpwnam_r__re_match_2umount2__gettimeofday_internal__gconv_transform_internal_ascii__stpcpymls_semantic_range_destroy__mmap64_nl_parse_alt_digit__gettimeofday__inet_atondm_task_destroypthread_onceif_nametoindex_IO_str_overflow__deregister_frame_info_dl_initial_error_catch_tsdmadviseddf1_cvt_header__mallocdm_task_set_majorcond_policydb_initcond_node_create__send_dl_init_pathschdir__collidx_table_lookup__new_getpwnam_rinitgroupsfind_set__statfsfreeconalloc_dev_info_IO_file_xsgetn_IO_cleanup__hash_string__umask_dl_argv_IO_default_seekposdm_task_set_sectorfile_metadata__gconv_open__free_Unwind_Resume_IO_new_proc_open__dlclosecheck_raid_setrange_trans_rule_list_destroy_Unwind_DeleteException__fpu_control__gconv_transform_internal_ucs2__netlink_request__x86_64_prefetchwuser_datum_init__printf_chkfseekmremap__getrlimit__nss_ethers_databaseselinux_removable_context_path_IO_new_do_write_nl_current_LC_CTYPEdm_malloc_aux_debug__GI___strtok_r__readdir64is_selinux_mls_enabled_IO_file_underflow__nss_services_databasegetdelim____strtold_l_internal__gconv_release_shlibset_matchpathcon_printfsetstate_nl_C_LC_MONETARY__read_nocancel_nl_make_l10nflist__fopen_internalsepol_netif_siddm_versionlc_stralloc_opt_IO_no_initoptind__strchrnul__libc_register_dl_open_hook_tens_in_limb_IO_padn_IO_file_overflowmemchr_IO_getline_info__vsyslog__pthread_initialize_minimalbuild_sets__chk_failsepol_msg_set_callback__readdir__parse_one_specmbstdintfindsecurity_canonicalize_contextbacktrace_symbols_fd_nl_current_LC_TIME_used_dl_runtime_profile__libc_respre_match_2_IO_str_init_staticscandir_IO_stdoutumask__strcoll_l_dl_dst_substitute_fpioconst_pow10_IO_puts_dl_tls_dtv_slotinfo_listdprintfsymtabs_destroysecurity_load_policysepol_sidtab_map__chdir_dl_allocate_tls_initsepol_node_sid__tzname_cur_max_new_chunk__gconv_close__wcrtombsepol_genboolsdm_task_get_nameclass_perm_node_initmktime_resformat_error__prognametimezone_start__deregister_frame_info_bases__stop___libc_atexit_IO_flush_allferrorstrstr_IO_new_fcloseregister_isw_IO_iter_fileavtab_search_node_nextavrule_block_list_destroy_IO_adjust_column_IO_flush_all_lockprole_trans_rule_list_destroyread_fileselinux_logrand__nscd_gethostbyname_rsecurity_set_boolean_listgetconftelloflock__libc_errno__nss_have_localdomainmalloc_set_state__correctly_grouped_prefixmbdm_bit_union__re_compile_patternput_entry__libc_init_firstreaddm_lib_exit_dl_error_catch_tsdpolicydb_context_isvalidopenlog__libc_readv_dl_signal_cerrorcond_node_searchalloc_meta_areas__new_getgrnam_rsendmsgselabel_lookup_rawiswctype__mpn_extract_doublestrcollcloselogebitmap_destroyrm_dev_node__argz_countstrncmp_nl_current_LC_PAPER_used_nl_C_LC_COLLATE__iswxdigit_IO_fprintf__secure_getenv_nl_explode_name_IO_vfwprintf__strverscmp_IO_wdefault_doallocate_dl_tlsdesc_resolve_relawcsrtombsregister_via__run_exit_handlersalphasort__libc_malloc__linkin_atforksepol_check_contextcontext_from_stringmatchpathcon_indexselinux_customizable_types_pathget_avphys_pageswmemset_IO_marker_delta__nss_not_use_nscd_services__ioctl__libc_freestrncpyunlinksetenv_IO_file_underflow_mmapdm_pool_create__iswalnum__gen_tempname_IO_sungetwcprogram_invocation_short_namestrcasecmpsendto_wordcopy_bwd_dest_alignedlsetfilecon_raw__opendir_IO_str_count__printf_arginfo_tabledm_is_dm_major_dl_openfunlockfileddf1_cvt_phys_drive_header_IO_file_underflow_maybe_mmapalloc_raid_setsepol_policydb_from_imagehashtab_search___fprintf_chk___printf_chksepol_msg_get_levelfind_or_alloc_raid_set__pvallocreallocaddmntent_nl_C_LC_CTYPE_class_space__getegid__register_atforkfclosealltowupper_IO_wfile_jumps_maybe_mmap_dl_check_all_versions_dl_debug_initialize__tz_convert__mkdir__opensock__argz_create_sep__strdupsecurity_disableavtab_read_item_dl_tls_dtv_gapssepol_sidtab_hash_eval__gconv_alias_compare__cxa_atexitdm_task_get_driver_version__pipe2__nss_not_use_nscd_hosts__nscd_unmap__libc_send__wmemmove_IO_file_xsputndm_set_dev_dir__brksymtab_insertreaddir64_nl_Cdm_format_devlist_formats_IO_wmarker_deltayes_no_promptlibdmraid_datedm_dump_memory_debugwcsnlenregister_printf_specifier__libc_mallopt_IO_getctowctransobj_class_compatselabel_x_init_IO_default_stat_IO_new_file_syncmemcmp_IO_file_jumps_maybe_mmapsepol_msg_default_handler__profil_nl_current_LC_MESSAGES_usedmalloc_trim__mpn_add_ndm_task_get_uuiddm_free_aux_nl_current_LC_NUMERICcond_node_destroyfork_nl_current_LC_ADDRESS____strtoul_l_internalsscanf_nl_C_LC_CTYPE_touppersetmntent_Unwind_RaiseException__sched_yieldmatchpathcon_filespec_eval__strcasecmp_l__re_compile_fastmaplibdmraid_initdm_resume_itowa_lower_digits_IO_marker_differencesetsockcreatecon_rawddf1_cvt_virt_drivecount_devsstrncat_dl_get_origin__nss_group_lookup2mls_sid_to_contextsigaction_dl_phdrwcschr_getopt_internal_r_IO_free_wbackup_area__libc_malloc_initialized_dl_name_match_pre_compendmntent__res_initcheck_valid_format_nl_remove_locale__poll__getpagesize_getopt_long_only_rcond_expr_equalfreaddm_pool_free__mbrtowcavtab_insert_nonunique__dlopen_IO_free_backup_area__syscall_error_nl_C_LC_TIME_IO_file_initsbrk__bind_nl_current_LC_MEASUREMENT_used_itoa_lower_digitshashtab_replace__libc_closestrdup_nl_C_locobj__srandom_r__underflowregister_lsifree_format_capssepol_policy_kern_vers_mindm_task_get_existing_table_size__gconv_get_builtin_trans_dl_nns__flock_Unwind_SetIPinet_aton__libc_csu_init__asprintf_chk_dl_random__re_set_registerssecurity_set_boolean_dl_unmaprange_trans_rule_destroy_dl_scope_free_list__get_nprocs_confget_format_caps__gconv_release_stepstrtoullindex_pthread_cleanup_push_deferregcomp__regerroravrule_decl_createpolicydb_index_boolsdm_dirgettimeofdaycond_init_bool_indexescond_av_list_searchselinux_file_context_pathfopen__bss_startget_dm_type__pipegetoptcat_datum_init__pthread_unwind__libc_open_IO_wdefault_xsputn__gconv_transform_internal_utf8localtime_IO_default_uflowmemset__nss_netgroup_database__pthread_rwlock_destroyfile_dev_sizefnmatch__wmempcpy__strtol_lmain__iswprint_dl_start_profile_dl_origin_path__wcsnlen__wcsmbs_gconv_fcts_c_nl_current_LC_MONETARY_usedexpand_cond_av_list_sys_errlistset_selinuxmntftell_IO_new_file_finishddf1_cvt_config_record_dl_tls_setupmls_semantic_level_init__vsprintf_chksrandalloc_raid_dev_dl_tls_generation__gconv_lockget_phys_pagesselinux_netlink_setenforcevfwprintfselinux_file_context_subs_pathmbsrtowcs_IO_new_file_attach__snprintf_chk__nptl_nthreadsselinux_trans_to_raw_contextget_basenamelist_add_sortedwctypelgetxattravrule_decl_destroysetcon_rawselinux_netfilter_context_pathgetgrnam_rwrite_metadatamalloptinitstatedm_task_set_event_nr__chown__vfprintf_chkfclose__fortify_fail__nss_lookup_dl_clktck_dl_cache_libcmp__mon_ydayopen64dm_task_set_name_dl_relocate_objectmalloc_infotcgetattr__libc_writevsys_errlist_dl_dynamic_weak_IO_vfprintf_internal__nss_configure_lookupregexectimeactionopendir__wunderflow__uflow__random_r__register_frame_info_table_basesperform__initstate_r_nl_select_era_entry__libc_system_dl_dst_counthashtab_hash_eval_IO_sscanf__assert_failpoll__iswcntrlpipe2__nscd_getservbyport_r_nl_C_name_IO_least_marker_nl_find_msggetgrouplistsyslog_IO_switch_to_wbackup_area_IO_list_resetlockwcschrnul__xmknodsepol_sidtab_destroy_tmbuf__setstateebitmap_cmp__vsscanfmls_semantic_range_cpysetkeycreatecongetopt_long_onlystrcoll_lhot_spare_add_dl_call_pltexit__dlvsymllseekavtab_insert__lseek_nl_default_dirname_nl_POSIX_namemountdm_task_set_modewrite_fileget_set_type__twalk_IO_getline_dl_allocate_static_tls__setmntentdm_pool_grow_objectselinux_page_size__libc_recvmsgfread_unlocked__x86_64_shared_cache_sizeget_typesecurity_check_context__sendmsg_nocancelstrcmp_IO_wdefault_uflowsepol_context_get_rolerebuild_config_raidset__mpn_rshiftsepol_fs_sidselinux_translations_pathconstraint_expr_init_nl_C_LC_MEASUREMENT__libc_chown__gconv_get_alias_dbpthread_mutex_unlock_dl_tlsdesc_resolve_holdremovable_devicedata_startpolicydb_write_nl_find_locale__memchr__malloc_check_initsepol_context_to_sid__fork_handlersalloc_lib_context__mbsrtowcsregister_printf_function__addmntent__printf_function_table_nl_get_walt_digitgetkeycreatecon__nss_disable_nscdsepol_port_sidstrtoul_l__fopen_maybe_mmap_dl_rtld_di_serinfosepol_sidtab_context_to_sid__mountgetcwd_dl_sysinfo_dso_nl_C_LC_TELEPHONE__libc_enable_asynccanceldm_task_set_geometryfree_dev_inforemove_delimiter_dl_starting_up_nl_C_LC_CTYPE_class_alnumsepol_change_sid__deregister_frame_IO_setb__dl_iterate_phdr_fini__register_printf_typeexpand_rule_IO_file_fopen__write_nocancelpolicydb_role_cache__dladdr1dm_pool_end_objectfgetcddf1_cvt_phys_drivesetkeycreatecon_rawdm_task_get_namesgethostnamememalignsprintfsepol_context_set_type__mempcpycond_read_bool_dl_unload_cachesepol_mls_containssepol_context_set_role____strtoll_l_internalasprintfmls_semantic_level_cpyscope_destroy_IO_new_file_setbufreplace_delimiterstrerror_r_IO_wfile_seekoffstrtof_IO_wfile_underflowcond_policydb_destroystrtod_ldm_task_set_uuid__libc_waitpid_IO_file_doallocate__wcsrtombs_IO_fgetsremove_device_partitions_wordcopy_fwd_dest_aligned__gconv_compare_alias_cache_libc_intl_domainnamestrncasecmp_lavrule_destroy__gconv_path_elem__libc_multiple_threadsavrule_init__tens_IO_init_wmarkersetlocalesepol_policydb_writeiswdigit__libc_tsd_CTYPE_B__getclktckregerror_Unwind_GetTextRelBase_IO_file_readstderrumountmmap64_nl_C_LC_CTYPE_class_blank__hst_map_handlemkstempselabel_closedm_task_update_nodessecurity_get_boolean_pending__socket__lxstat64dm_task_get_infofind_set_inconsistentsetlogmaskgroup_set__libc_setup_tlsselinux_media_context_path_IO_file_jumpssrandom___asprintfprofilstrsepcfree__strtof_l__waitpidmls_semantic_level_expandsepol_context_to_stringisnangetifaddrs__libc_forkrole_trans_readre_compile_fastmapgetpwnam_r__close_nocancelexpand_moduledm_reload__iswblank_IO_vsscanfselinux_x_context_pathddf1_cvt_disk_data_dl_init_static_tlstimelocalavrule_read_listsepol_policy_file_set_handleset_matchpathcon_canoncon__res_maybe_initlibdmraid_versionselinux_mnt__new_exitfn_called__fork_lock__fcntl_nocanceldm_task_set_rodm_pool_emptyget_set_name_Unwind_FindEnclosingFunction__strsep_gvalloc_IO_str_init_static_internal_nl_finddomain_subfreeres_dl_stack_flags__wctrans_nl_category_name_sizessepol_context_get_mls_nl_get_alt_digitisinfl__nss_shadow_database__re_matchfputc_dl_mcount__nss_database_lookup__libc_lseekcollapse_delimiter_dl_next_tls_modid__isoc99_vsscanfsepol_fs_use__wcscoll_lisnanl__handle_registered_modifier_mbunregister_format_handlers_IO_fopen_dl_mcount_wrapper_check_IO_wdefault_finish_IO_new_file_writeregister_printf_typemallinfocond_read_list_IO_stderr_IO_feof__ctype_b_locoptopt__mremapget_dirname__connect__printf_fphex_Unwind_GetLanguageSpecificData__strndup_nl_current_LC_NAME__res_iclose__nscd_cache_searchcond_optimize_lists_dl_init_all_dirsiswupper_dl_allocate_tlsselinux_lsetfilecon_default__res_vinitfreeifaddrslocaltime_r_dl_tls_static_nelem__tzfile_compute__gconv_get_modules_dbre_set_syntax__uname_IO_sputbackwc__gconv_read_conf__libc_dlclosetwalk__gconv_close_transform__sprintf_dl_tls_get_addr_softsecurity_get_boolean_active_IO_file_attachargz_create_sep__timezone_sys_nerr_internal_nl_C_LC_NUMERIChashtab_removedm_get_next_targetdisplay_deviceswmemmove_IO_unsave_wmarkers_IO_file_openddf1_beginning__res_randomid__nscd_getservbyname_r__re_search_2_dl_map_objectsetexecconpolicydb_reindex_usersfind_groupmls_convert_context__mbsnrtowcs_nl_archive_subfreeresgetmntent__libc_tsd_LOCALEmatchpathcon_filespec_addfwrite_IO_list_unlockdm_task_set_message__closedm_fclosematchpathcon_init_prefixdm_set_selinux_context__fxstat64type_set_destroy__mpn_mul_1hierarchy_check_constraintsaccess__getuiddm_task_run_itoa_upper_digits_Unwind_ForcedUnwinddm_bit_get_first_edata__snprintfrequire_seusers__xstatwrite_set_spare_dl_load_lockqsort_r__path_searchselinux_file_context_verify__re_set_syntax_IO_switch_to_get_modewrite_setselinux_getpolicytype_end_dl_fixupselinux_virtual_image_context_path_IO_vfscanf_IO_do_write_fitoa_word__regcomp__strtof_internalpolicydb_destroyhashtab_create_nl_locale_file_list_nl_current_LC_COLLATE_IO_getdelimvfscanf_fxstatsepol_policydb_to_image__gconv_release_cacherewind__nscd_getpwuid_rstrtouq__tzfile_read__new_fcloseremove_white_space__wuflowre_search__sysconfpthread_mutex_lockinitstate_rif_freenameindexsepol_policydb_set_typevers__sigaction__sprintf_chkinit_context_translations__libc_calloc__argz_stringifyavrule_block_create__curbrk__isinfl__gconv_compare_alias__vfwprintfload_setlocaldefs__libc_poll__tfindebitmap_containsrole_set_initregister_sil_nl_global_locale_dl_verbose_IO_default_seekoff_dl_dprintfselinux_virtual_domain_context_path_IO_doallocbuf__strncasecmp_ldm_pool_begin_object_dl_signal_error_dl_phnum__nscd_open_socket_IO_vsnprintf_flushlbf__stack_prot__strtol_ul_rem_tabpolicydb_index_others__libio_codecvt__errno_location__closedir__libc_messageget_nprocs__collseq_table_lookup__vsnprintf_dl_profile_map_IO_switch_to_backup_areaget_decl_cond_list__dlerroradd_dev_to_arrayexit_Unwind_SetGRparse_rs_args__free_hook_nl_current_LC_ADDRESS_usedlibdmraid_make_table__gconv_transform_internal_ucs4le____strtoull_l_internalrd_status__regfree__munmap__writevtowlower__libc_tsd_CTYPE_TOUPPER__pthread_setspecific__malloc_usable_size__netlink_free_handleddf1_update_all_crcs__gconv_transliterate__strcasecmpmls_compute_sid__fxstat_sys_errlist_internal__strtoul_l_IO_sprintf__nss_passwd_lookup2_IO_stdin_IO_wfile_jumps_mmap_IO_wsetb__fprintfbrkiswalnum__tzstring__isoc99_fscanf_nl_C_LC_MESSAGESlgetfilecon_raw_IO_vfprintfwcscmp__wcsmbs_named_conv__re_error_msgidsepol_policydb_createdm_malloc_aux_IO_seekoff_dl_aux_init_getopt_long_r_dl_hwcapregister_format_handler__libc_sendmsgalloc_private_IO_wfile_doallocate_itowa_upper_digitspolicydb_readrole_set_get_role__gr_map_handle__use_tzfile_nl_category_namesddf1_process_records__libc_cleanup_routine__vsnprintf_chk_dl_tlsdesc_resolve_hold_fixup_nl_C_codeset_dl_initfirstselinux_binary_policy_pathsepol_context_from_string__setfpucwsepol_validate_transitionfilenovsyslog_IO_str_underflow__sigprocmask_setjmpfgets_unlocked__ctype_toupper_loc__funlockfilegetlinesepol_sidtab_remove_IO_stdin_used_exittype_set_or_eq_dl_tlsdesc_returnwcscatlog_zero_sectorslc_strcat_optdm_lib_release__malloc_set_stateselabelsublistsetfscreateconwcscoll_lstrverscmp__alloc_dirdm_bit_get_nextregister_hpt37x__getsockname__getdents64_Unwind_GetGR_nl_default_default_domain__libc_argv__libc_start_main__lll_lock_wait_privateexpand_cond_av_nodelsetfileconstrlenlseek64dso__x86_64_shared_cache_size_half__sendmsgopenprogram_invocation_name__nss_not_use_nscd_group__libc_dlsymselinux_file_context_homedir_path__libc_write__vfscanf__fcntlebitmap_set_bit__isoc99_sscanfmls_semantic_cat_destroyselinux_get_callback_dbg_malloclock_resourcesepol_policydb_freeregister_format_handlersvdprintf_IO_initfind_raiddev__gconv_transform_internal_ucs2reverseregfreeset_matchpathcon_invalidcon__fork__libc_sendto_nl_C_LC_CTYPE_class_lowertotal_sectors_dl_all_dirs__setenv__clearenvstrchr_dl_add_to_slotinfo__reallocread_raid_dev__gconv_alias_db_IO_iter_end__malloptselinux_colors_pathfputs_quicksort_Unwind_GetDataRelBase_IO_new_file_underflow__data_startgetsockcreatecon_raw_dlerror_run__malloc_get_state_dl_sym__libc_fatal_IO_proc_opendm_check_version__get_phys_pages__sbrkmprotectsepol_policydb_set_versdm_pool_allocmkdm_pathlog_alloc_err_IO_default_seek__tdelete__access_r_debug__printf_va_arg_tablevalid_format__malloc_statsclosedir_IO_wdefault_pbackfail__netlink_close_IO_proc_close__sys_errlist_internalmatchpathcon_filespec_destroy_dl_osversion_IO_list_allcond_evaluate_exprmk_dir_Jv_RegisterClasses__argz_add_sep_IO_new_file_overflowselinux_default_context_path__libc_dlopen_modesepol_transition_sid__unsetenv_IO_new_file_seekofftype_set_expand__mktime_internalvasprintf__sendtorecvmsg___vfscanffind_disk_dl_sysdep_read_whole_filestrchrnulsetcon_nl_current_LC_MONETARYavtab_allocmls_semantic_level_destroyget_symtab_destroy_funcfcntltzsetsched_yield__iswctype_dl_addr__get_avphys_pages__handle_registered_modifier_wc__open64_nl_C_LC_PAPER_dl_catch_error_IO_un_link__register_frame_info_table_IO_file_setbuf_mmap_dl_make_stack_executable_hookmls_semantic_range_initselabel_media_init_dl_inhibit_rpathget_nprocs_confselinux_netlink_policyloadre_execdm_create_dir__nss_publickey_database_IO_default_pbackfailnext_entrymkdir_dl_tlsdesc_undefweakposix_memalign__register_frame_infosepol_load_policyselabel_file_initavtab_searchddf1_endianness_IO_vdprintfwcrtomb_dl_correct_cache_id_dl_sort_fini__new_fopensecurity_get_boolean_namessepol_genuserscontext_from_record__nis_hash__libc_connect__wmemcpysepol_context_set_usermatchpathcon_fini_IO_iter_nextsepol_debug__vasprintf_chk_dl_close_worker_dl_pagesizeddf1_cvt_recordsalloc_private_and_read__valloc__memalign_hookdm_task_suppress_identical_reloaddm_loglc_opt_arg__resp_nl_current_LC_IDENTIFICATION__geteuid_wordcopy_bwd_alignedvfprintfdm_task_set_newname_IO_2_1_stderr___progname_fullrevert_logpolicy_file_initstrpbrk__nss_passwd_lookup_IO_switch_to_main_get_area__lll_unlock_wake_privateraise_IO_seekmark_nl_C_LC_CTYPE_class_alphafree__towctransadd_spare_dev_to_array_nl_get_era_entry__res_nclosesigprocmask_IO_old_init_IO_file_jumps_mmap__gmon_start____libc_register_dlfcn_hookgetsockname_dl_map_object_deps_nl_C_LC_IDENTIFICATION_dl_nsavtab_mapsecurity_canonicalize_context_raw_nl_load_locale_from_archivewctrans__cache_sysconffopen64dmraid/1.0.0.rc16/tools/Makefile.in0000644000175200007640000000364611254123773017135 0ustar mauelshamauelsha# # Copyright (C) 2004-2005 Heinz Mauelshagen, Red Hat GmbH. All rights reserved. # # See file LICENSE at the top of this source tree for license information. # srcdir = @srcdir@ top_srcdir = @top_srcdir@ VPATH = @srcdir@ DIETLIBC = @DIETLIBC@ KIBC = @KLIBC@ INCLUDES += -I $(src_dir) SOURCES=\ dmraid.c \ commands.c \ toollib.c TARGETS=\ dmraid include $(top_srcdir)/make.tmpl ifeq ("@KLIBC@", "no") ifeq ("@STATIC_LINK@", "no") TARGETS += dmevent_tool endif endif DMRAIDLIBS=-ldmraid ifeq ("@KLIBC@", "yes") DMRAIDLIBS += -ldevmapper_klibc else ifeq ("@DIETLIBC@", "yes") DMRAIDLIBS += -ldevmapper_dietc ifeq ("@STATIC_LINK@", "no") DMEVENTTOOLLIBS = -ldevmapper-event_dietc endif else DMRAIDLIBS += -ldevmapper ifeq ("@STATIC_LINK@", "no") DMEVENTTOOLLIBS = -ldevmapper-event endif endif ifeq ("@LIBSELINUX@", "yes") DMRAIDLIBS += -lselinux endif ifeq ("@LIBSEPOL@", "yes") DMRAIDLIBS += -lsepol endif endif # We just link klibc static and get it over with ifeq ("@KLIBC@", "no") ifeq ("@STATIC_LINK@", "no") LDFLAGS += -rdynamic else LDFLAGS += -static endif endif # Dynamic linker library LIBS += -ldl all: $(TARGETS) .PHONY: install_dmraid_tools remove_dmraid_tools dmraid: $(OBJECTS) $(top_srcdir)/lib/libdmraid.a $(CC) -o $@ $(OBJECTS) $(LDFLAGS) -L$(top_srcdir)/lib \ -L$(DESTDIR)$(libdir) $(DMRAIDLIBS) $(DMEVENTTOOLLIBS) $(DMRAIDLIBS) $(LIBS) dmevent_tool: $(top_srcdir)/lib/libdmraid.a $(CC) -o $@ $@.c $(INCLUDES) $(LDFLAGS) -L$(top_srcdir)/lib \ -L$(DESTDIR)$(libdir) $(DMRAIDLIBS) $(DMEVENTTOOLLIBS) $(DMRAIDLIBS) $(LIBS) install_dmraid_tools: $(TARGETS) @echo "Installing $(TARGETS) in $(sbindir)"; \ mkdir -p $(sbindir); \ $(INSTALL) $(STRIP) $(TARGETS) $(sbindir) install: install_dmraid_tools remove_dmraid_tools: @echo "Removing $(TARGETS) from $(sbindir)"; \ for f in $(TARGETS); \ do \ rm -f $(sbindir)/$$f; \ done remove: remove_dmraid_tools dmraid/1.0.0.rc16/tools/commands.h0000644000175200007640000000242011254123773017027 0ustar mauelshamauelsha/* * Copyright (C) 2004,2005 Heinz Mauelshagen, Red Hat GmbH. * All rights reserved. * * Copyright (C) 2007 Intel Corporation. All rights reserved. * November, 2007 - additions for Create, Delete, Rebuild & Raid 10. * * See file LICENSE at the top of this source tree for license information. */ #ifndef _COMMANDS_H #define _COMMANDS_H #include #define ARRAY_SIZE(a) (sizeof(a) / sizeof(*a)) #define ARRAY_END(a) (a + ARRAY_SIZE(a)) #define ALL_FLAGS ((enum action) -1) /* * Action flag definitions for set_action(). * * 'Early' options can be handled directly in set_action() by calling * the functions registered here (f_set member) handing in arg. */ struct actions { int option; /* Option character/value. */ enum action action; /* Action flag for this option or UNDEF. */ enum action needed; /* Mandatory options or UNDEF if alone */ enum action allowed; /* Allowed flags (ie, other options allowed) */ enum args args; /* Arguments allowed ? */ /* Function to call on hit or NULL */ int (*f_set) (struct lib_context * lc, int arg); int arg; /* Argument for above function call */ }; int handle_args(struct lib_context *lc, int argc, char ***argv); int perform(struct lib_context *lc, char **argv); #endif dmraid/1.0.0.rc16/tools/VERSION0000644000175200007640000000003011254127047016116 0ustar mauelshamauelsha1.0.0.rc16 (2009.09.16) dmraid/1.0.0.rc16/tools/commands.c0000644000175200007640000004771611254123773017043 0ustar mauelshamauelsha/* * Copyright (C) 2004-2008 Heinz Mauelshagen, Red Hat GmbH. * All rights reserved. * * Copyright (C) 2007 Intel Corporation. All rights reserved. * November, 2007 - additions for Create, Delete, Rebuild & Raid 10. * * See file LICENSE at the top of this source tree for license information. */ #ifdef HAVE_GETOPTLONG # define _GNU_SOURCE # include #endif #include #include #include #include "../lib/log/log.h" #include "commands.h" #include "toollib.h" #include "version.h" /* Action flags */ enum action action = UNDEF; int add_dev_to_array(struct lib_context *lc, struct raid_set *rs, uint build_metadata, struct raid_dev *hot_spare_rd); /* * Command line options. */ static char const *short_opts = "a:hipP:" #ifndef DMRAID_MINI "bc::dDEf:glxM:" #ifdef DMRAID_NATIVE_LOG "n" #endif "rR:s::tv" #endif "VC:S::Z"; #ifdef HAVE_GETOPTLONG static struct option long_opts[] = { {"activate", required_argument, NULL, 'a'}, {"format", required_argument, NULL, 'f'}, {"partchar", required_argument, NULL, 'P'}, {"no_partitions", no_argument, NULL, 'p'}, # ifndef DMRAID_MINI {"block_devices", no_argument, NULL, 'b'}, {"display_columns", optional_argument, NULL, 'c'}, {"debug", no_argument, NULL, 'd'}, {"dump_metadata", no_argument, NULL, 'D'}, {"erase_metadata", no_argument, NULL, 'E'}, {"display_group", no_argument, NULL, 'g'}, # endif {"help", no_argument, NULL, 'h'}, {"ignorelocking", no_argument, NULL, 'i'}, # ifndef DMRAID_MINI {"list_formats", no_argument, NULL, 'l'}, {"media", required_argument, NULL, 'M'}, # ifdef DMRAID_NATIVE_LOG {"native_log", no_argument, NULL, 'n'}, # endif {"raid_devices", no_argument, NULL, 'r'}, {"rebuild", required_argument, NULL, 'R'}, {"sets", optional_argument, NULL, 's'}, {"remove", no_argument, NULL, 'x'}, {"separator", required_argument, NULL, SEPARATOR}, /* long only. */ {"test", no_argument, NULL, 't'}, {"verbose", no_argument, NULL, 'v'}, # endif {"version", no_argument, NULL, 'V'}, {"create", required_argument, NULL, 'C'}, {"spare", optional_argument, NULL, 'S'}, {"rm_partitions", no_argument, NULL, 'Z'}, {NULL, no_argument, NULL, 0} }; #endif /* #ifdef HAVE_GETOPTLONG */ /* Definitions of option strings and actions for check_optarg(). */ struct optarg_def { const char *str; const enum action action; }; /* Check option argument. */ static int check_optarg(struct lib_context *lc, const char option, struct optarg_def *def) { size_t len; struct optarg_def *d; if (optarg) str_tolower(optarg); else return 1; for (d = def, len = strlen(optarg); d->str; d++) { if (!strncmp(optarg, d->str, len)) { action |= d->action; return 1; } } LOG_ERR(lc, 0, "invalid option argument for -%c", option); } /* Check activate/deactivate option arguments. */ static int check_activate(struct lib_context *lc, int arg) { struct optarg_def def[] = { { "yes", ACTIVATE}, { "no", DEACTIVATE}, { NULL, UNDEF}, }; return check_optarg(lc, 'a', def); } #ifndef DMRAID_MINI /* Check active/inactive option arguments. */ static int check_active(struct lib_context *lc, int arg) { struct optarg_def def[] = { { "active", ACTIVE}, { "inactive", INACTIVE}, { NULL, UNDEF}, }; lc_inc_opt(lc, LC_SETS); return check_optarg(lc, 's', def); } /* Check and store option arguments. */ static int check_identifiers(struct lib_context *lc, int o) { if (optarg) { const char delim = *OPT_STR_SEPARATOR(lc); char *p = optarg; p = remove_white_space(lc, p, strlen(p)); p = collapse_delimiter(lc, p, strlen(p), delim); if (!lc_strcat_opt(lc, o, p, delim)) return 0; } lc_inc_opt(lc, o); return 1; } /* Check and store option argument/output field separator. */ static int check_separator(struct lib_context *lc, int arg) { if (strlen(optarg) != 1) LOG_ERR(lc, 0, "invalid separator \"%s\"", optarg); return lc_stralloc_opt(lc, LC_SEPARATOR, optarg) ? 1 : 0; } /* Check create option arguments. */ static int check_create_argument(struct lib_context *lc, int arg) { size_t len; len = strlen(optarg); if (len < 1) LOG_ERR(lc, 0, "arguments missing"); if (*optarg == '-') LOG_ERR(lc, 0, "the raid set name is missing"); lc_inc_opt(lc, arg); return 1; } /* 'Check' spare option argument. */ static int check_spare_argument(struct lib_context *lc, int arg) { lc_inc_opt(lc, arg); return 1; } #endif /* Check and store option for partition separator. */ static int check_part_separator(struct lib_context *lc, int arg) { /* We're not actually checking that it's only one character... if somebody wants to use more, it shouldn't hurt anything. */ return lc_stralloc_opt(lc, LC_PARTCHAR, optarg) ? 1 : 0; } /* Display help information */ static int help(struct lib_context *lc, int arg) { char *c = lc->cmd; #ifdef DMRAID_MINI log_print(lc, "%s: Device-Mapper Software RAID tool " "[Early Boot Version]\n", c); log_print(lc, "%s\t{-a|--activate} {y|n|yes|no} [-i|--ignorelocking]\n" "\t[-f|--format FORMAT[,FORMAT...]]\n" "\t[-P|--partchar CHAR]\n" "\t[-p|--no_partitions]\n" "\t[-Z|--rm_partitions]\n" "\t[--separator SEPARATOR]\n" "\t[RAID-set...]\n", c); log_print(lc, "%s\t{-h|--help}\n", c); log_print(lc, "%s\t{-V/--version}\n", c); #else log_print(lc, "%s: Device-Mapper Software RAID tool\n", c); log_print(lc, "* = [-d|--debug]... [-v|--verbose]... [-i|--ignorelocking]\n"); log_print(lc, "%s\t{-a|--activate} {y|n|yes|no} *\n" "\t[-f|--format FORMAT[,FORMAT...]]\n" "\t[-P|--partchar CHAR]\n" "\t[-p|--no_partitions]\n" "\t[--separator SEPARATOR]\n" "\t[-t|--test]\n" "\t[-Z|--rm_partitions] [RAID-set...]\n", c); log_print(lc, "%s\t{-b|--block_devices} *\n" "\t[-c|--display_columns][FIELD[,FIELD...]]...\n" "\t[device-path...]\n", c); log_print(lc, "%s\t{-h|--help}\n", c); log_print(lc, "%s\t{-l|--list_formats} *\n", c); # ifdef DMRAID_NATIVE_LOG log_print(lc, "%s\t{-n|--native_log} *\n" "\t[-f|--format FORMAT[,FORMAT...]]\n" "\t[--separator SEPARATOR]\n" "\t[device-path...]\n", c); # endif log_print(lc, "%s\t{-r|--raid_devices} *\n" "\t[-c|--display_columns][FIELD[,FIELD...]]...\n" "\t[-D|--dump_metadata]\n" "\t[-f|--format FORMAT[,FORMAT...]]\n" "\t[--separator SEPARATOR]\n" "\t[device-path...]\n", c); log_print(lc, "%s\t{-r|--raid_devices} *\n" "\t{-E|--erase_metadata}\n" "\t[-f|--format FORMAT[,FORMAT...]]\n" "\t[--separator SEPARATOR]\n" "\t[device-path...]\n", c); log_print(lc, "%s\t{-s|--sets}...[a|i|active|inactive] *\n" "\t[-c|--display_columns][FIELD[,FIELD...]]...\n" "\t[-f|--format FORMAT[,FORMAT...]]\n" "\t[-g|--display_group]\n" "\t[--separator SEPARATOR]\n" "\t[RAID-set...]\n", c); log_print(lc, "%s\t{-f|--format FORMAT}\n \t{-C|--create RAID-set} \n" "\t{--type RAID-level}\n" "\t[--size [0-9]...[kKgG][bB]]\n" "\t[--str[i[de]] [0-9]...[kK][bB]]\n" "\t{--disk[s] \"device-path[, device-path...\"}\n", c); log_print(lc, "%s\t{-x|--remove RAID-set} \n"); log_print(lc, "%s\t{-R|--rebuild} RAID-set [drive_name]\n", c); log_print(lc, "%s\t[{-f|--format FORMAT}]\n" "\t{-S|--spare [RAID-set]} \n" "\t{-M|--media \"device-path\"}\n", c); log_print(lc, "%s\t{-V/--version}\n", c); #endif return 1; } /* * Action flag definitions for set_action() * * 'Early' options can be handled directly in set_action() by calling * the functions registered here (set on_set member). */ static struct actions actions[] = { /* [De]activate option. */ {'a', UNDEF, /* Set in check_activate() by mandatory option argument. */ UNDEF, ACTIVATE | DEACTIVATE | FORMAT | HELP | IGNORELOCKING | NOPARTITIONS | SEPARATOR | RMPARTITIONS #ifndef DMRAID_MINI | DBG | TEST | VERBOSE #endif , ARGS, check_activate, 0, }, /* Format option. */ {'f', FORMAT, ACTIVATE | DEACTIVATE #ifndef DMRAID_MINI # ifdef DMRAID_NATIVE_LOG | NATIVE_LOG # endif | RAID_DEVICES | RAID_SETS, ACTIVE | INACTIVE | COLUMN | DBG | DUMP | DMERASE | GROUP | HELP | IGNORELOCKING | NOPARTITIONS | SEPARATOR | TEST | VERBOSE | RMPARTITIONS #else , UNDEF #endif , ARGS, #ifndef DMRAID_MINI check_identifiers, #else NULL, #endif LC_FORMAT, }, /* Partition separator. */ {'P', PARTCHAR, ACTIVATE | DEACTIVATE, FORMAT | HELP | IGNORELOCKING | SEPARATOR | RMPARTITIONS #ifndef DMRAID_MINI | DBG | TEST | VERBOSE #endif , ARGS, check_part_separator, 0, }, /* Partition option. */ {'p', NOPARTITIONS, ACTIVATE | DEACTIVATE, FORMAT | HELP | IGNORELOCKING | SEPARATOR | RMPARTITIONS #ifndef DMRAID_MINI | DBG | TEST | VERBOSE #endif , ARGS, NULL, 0, }, #ifndef DMRAID_MINI /* Block devices option. */ {'b', BLOCK_DEVICES, UNDEF, COLUMN | DBG | HELP | IGNORELOCKING | SEPARATOR | VERBOSE, ARGS, lc_inc_opt, LC_DEVICES, }, /* Columns display option. */ {'c', COLUMN, BLOCK_DEVICES | RAID_DEVICES | RAID_SETS, ACTIVE | INACTIVE | DBG | DUMP | FORMAT | GROUP | HELP | IGNORELOCKING | SEPARATOR | VERBOSE, ARGS, check_identifiers, LC_COLUMN, }, /* Debug option. */ {'d', DBG, ALL_FLAGS, ALL_FLAGS, ARGS, lc_inc_opt, LC_DEBUG, }, /* Dump metadata option. */ {'D', DUMP, RAID_DEVICES, COLUMN | DBG | FORMAT | HELP | IGNORELOCKING | SEPARATOR | VERBOSE, ARGS, lc_inc_opt, LC_DUMP, }, /* Erase metadata option. */ {'E', DMERASE, RAID_DEVICES, COLUMN | DBG | FORMAT | HELP | IGNORELOCKING | SEPARATOR | VERBOSE, ARGS, NULL, 0, }, /* RAID groups option. */ {'g', GROUP, RAID_SETS, ACTIVE | INACTIVE | DBG | COLUMN | FORMAT | HELP | IGNORELOCKING | SEPARATOR | VERBOSE, ARGS, lc_inc_opt, LC_GROUP, }, #endif /* Help option. */ {'h', HELP, UNDEF, ALL_FLAGS, ARGS, help, 0, }, /* ignorelocking option. */ {'i', IGNORELOCKING, UNDEF, ALL_FLAGS, ARGS, lc_inc_opt, LC_IGNORELOCKING, }, #ifndef DMRAID_MINI /* List metadata format handlers option. */ {'l', LIST_FORMATS, UNDEF, DBG | HELP | IGNORELOCKING | VERBOSE, NO_ARGS, NULL, 0, }, /* Delete a RAID set option. */ {'x', DEL_SETS, UNDEF, //RAID_SETS, RAID_SETS | INACTIVE | COLUMN | DBG | FORMAT | GROUP | HELP | IGNORELOCKING | SEPARATOR | VERBOSE, ARGS, NULL, 0, }, # ifdef DMRAID_NATIVE_LOG /* Native log option. */ {'n', NATIVE_LOG, UNDEF, DBG | FORMAT | HELP | IGNORELOCKING | SEPARATOR | VERBOSE, ARGS, NULL, 0, }, # endif /* Display RAID devices option. */ {'r', RAID_DEVICES, UNDEF, COLUMN | DBG | DUMP | DMERASE | FORMAT | HELP | IGNORELOCKING | SEPARATOR | VERBOSE, ARGS, NULL, 0, }, /* rebuild option */ {'R', REBUILD, UNDEF, #ifdef DMRAID_MINI HELP, IGNORELOCKING, #else DBG | HELP | IGNORELOCKING | VERBOSE, #endif ARGS, #ifndef DMRAID_MINI check_identifiers, #else NULL, #endif LC_REBUILD_SET, }, /* Media/drive option */ {'M', MEDIA, UNDEF, #ifdef DMRAID_MINI HELP, IGNORELOCKING, #else DBG | HELP | IGNORELOCKING | VERBOSE | REBUILD, #endif ARGS, #ifndef DMRAID_MINI check_identifiers, #else NULL, #endif LC_REBUILD_DISK, }, /* Display RAID sets option. */ {'s', RAID_SETS, UNDEF, ACTIVE | INACTIVE | COLUMN | DBG | FORMAT | GROUP | HELP | IGNORELOCKING | DEL_SETS | SEPARATOR | VERBOSE, ARGS, check_active, 0, }, /* Display RAID sets option. */ {SEPARATOR, SEPARATOR, COLUMN | FORMAT, ALL_FLAGS, ARGS, check_separator, 0, }, /* Test run option. */ {'t', TEST, ACTIVATE | DEACTIVATE, ACTIVATE | DEACTIVATE | DBG | FORMAT | HELP | IGNORELOCKING | NOPARTITIONS | VERBOSE, ARGS, lc_inc_opt, LC_TEST, }, /* Verbose option. */ {'v', VERBOSE, ALL_FLAGS, ALL_FLAGS, ARGS, lc_inc_opt, LC_VERBOSE, }, #endif /* #ifndef DMRAID_MINI */ /* Version option. */ {'V', VERSION, UNDEF, #ifdef DMRAID_MINI HELP, IGNORELOCKING, #else DBG | HELP | IGNORELOCKING | VERBOSE, #endif NO_ARGS, NULL, 0, }, /* RAID set creation. */ {'C', CREATE, UNDEF, DBG | HELP | IGNORELOCKING | VERBOSE, NO_ARGS, check_create_argument, LC_CREATE, }, /* Spare disk creation. */ {'S', SPARE, UNDEF, DBG | HELP | IGNORELOCKING | VERBOSE, NO_ARGS, check_spare_argument, LC_HOT_SPARE_SET, }, {'Z', RMPARTITIONS, ACTIVATE, /* We cannot undo this on DEACTIVATE ! */ DBG | FORMAT | HELP | IGNORELOCKING | NOPARTITIONS | VERBOSE | SEPARATOR, ARGS, NULL, 0, }, }; /* * Set action flag and call optional function. */ static int set_action(struct lib_context *lc, int o) { struct actions *a; for (a = actions; a < ARRAY_END(actions); a++) { if (o == a->option) { action |= a->action; /* Set action flag. */ a->allowed |= a->action;/* Merge to allowed flags. */ a->allowed |= a->needed; if (a->f_set) /* Optionally call function. */ return a->f_set(lc, a->arg); break; } } return 1; } /* Check for invalid option combinations */ static int check_actions(struct lib_context *lc, char **argv) { struct actions *a; for (a = actions; a < ARRAY_END(actions); a++) { if (a->action & action) { if (a->needed != UNDEF && !(a->needed & action)) LOG_ERR(lc, 0, "option missing/invalid option " "combination with -%c", a->option); if (~a->allowed & action) LOG_ERR(lc, 0, "invalid option combination" " (-h for help)"); if (a->args == NO_ARGS && argv[optind]) LOG_ERR(lc, 0, "no arguments allowed with -%c\n", a->option); } } if (!action) LOG_ERR(lc, 0, "options missing\n"); #ifndef DMRAID_MINI if ((action & (DBG | VERBOSE)) == action) LOG_ERR(lc, 0, "more options needed with -d/-v"); if (action & DMERASE) { action |= DUMP; lc_inc_opt(lc, LC_DUMP); } #endif return 1; } /* Check for invalid option argumengts. */ static int check_actions_arguments(struct lib_context *lc) { if (valid_format(lc, OPT_STR_FORMAT(lc))) return 1; LOG_ERR(lc, 0, "invalid format for -f at (see -l)"); } int save_drive_name(struct lib_context *lc, char *drive) { lc->options[LC_REBUILD_DISK].opt++; return lc_strcat_opt(lc, LC_REBUILD_DISK, drive, ',') ? 1 : 0; } static int save_spare_name(struct lib_context *lc, char **argv) { char *p = argv[optind]; lc->options[LC_HOT_SPARE_SET].arg.str = NULL; if (p && strlen(p) && *p != '-') { lc->options[LC_HOT_SPARE_SET].arg.str = dbg_strdup(p); if (!lc->options[LC_HOT_SPARE_SET].arg.str) return log_alloc_err(lc, __func__); } return 1; } /* Parse and handle the command line arguments */ int handle_args(struct lib_context *lc, int argc, char ***argv) { int o, ret = 0; #ifdef HAVE_GETOPTLONG int opt_idx; #endif if (argc < 2) LOG_ERR(lc, 0, "no arguments/options given (-h for help)\n"); #ifdef HAVE_GETOPTLONG /* Walk the options (and option arguments) */ while ((o = getopt_long(argc, *argv, short_opts, long_opts, &opt_idx)) != -1) { #else while ((o = getopt(argc, *argv, short_opts)) != -1) { #endif /* Help already displayed -> exit ok. */ if ((ret = set_action(lc, o)) && (HELP & action)) return 1; /* Handle arguments for option -S */ if (o == 'S') { if (!save_spare_name(lc, *argv)) return 0; } /* to create spare disk/set */ if (o == 'M' && OPT_HOT_SPARE_SET(lc) && OPT_REBUILD_DISK(lc)) { *argv += optind - 3; return 1; } /* To create a new RAID set; arguments are handled later */ if (o == 'C') { *argv += optind - 1; return 1; } else if (o == 'R' && argc == 4) { if (*(*argv + optind)) save_drive_name(lc, *(*argv + optind)); } if (!ret || o == ':' || o == '?') return 0; } /* Force deactivation of stacked partition devices. */ /* FIXME: remove partiton code in favour of kpartx ? */ if (DEACTIVATE & action) action &= ~NOPARTITIONS; if ((ret = check_actions(lc, *argv)) && OPT_FORMAT(lc)) ret = check_actions_arguments(lc); *argv += optind; if (argc == 4 && lc->options[LC_REBUILD_SET].opt) *argv += 1; return ret; } static int version(struct lib_context *lc, int arg) { char v[80]; dm_version(lc, v, sizeof(v)); log_print(lc, "%s version:\t\t%s\n" "%s library version:\t%s %s\n" "device-mapper version:\t%s", lc->cmd, DMRAID_VERSION, lc->cmd, libdmraid_version(lc), libdmraid_date(lc), v); return 1; } static int rebuild(struct lib_context *lc, int arg) { return rebuild_raidset(lc, (char *) lc->options[LC_REBUILD_SET].arg.str); } /********************************************************************* * Perform pre/post functions for requested actions. */ /* Post Activate/Deactivate RAID set. */ #ifndef DMRAID_MINI /* Pre and post display_set() functions. */ static int _display_sets_arg(int arg) { return (action & ACTIVE) ? D_ACTIVE : ((action & INACTIVE) ? D_INACTIVE : D_ALL); } static int _display_set(struct lib_context *lc, void *rs, int type) { display_set(lc, rs, type, 0); return 1; } static int _display_sets(struct lib_context *lc, int type) { process_sets(lc, _display_set, type, SETS); return 1; } static int _delete_sets(struct lib_context *lc, int arg) { delete_raidsets(lc); return 1; } static int _create_sets(struct lib_context *lc, int arg) { return 1; } static int _display_devices(struct lib_context *lc, int type) { display_devices(lc, type); return 1; } static int _erase(struct lib_context *lc, int arg) { return erase_metadata(lc); } /* Post hot_spare_add function */ static int _hot_spare_add_set(struct lib_context *lc, void *r, int type) { return hot_spare_add(lc, (struct raid_set*) r); } static int _hot_spare_add(struct lib_context *lc, int type) { process_sets(lc, _hot_spare_add_set, type, SETS); return 1; } #endif /* * Function abstraction which takes pre- and post-function calls * to prepare an argument in pre() to be used by post(). * * perform() is the call handler for all functions which need metadata * as displaying, erasing and activation/deactivation of RAID sets. * * The necessary metadata describing disks, RAID devices and RAID sets * gets automatically generated by this function. * * A lock gets taken out in case of metadata accesses in order to * prevent multiple tool runs from occurring in parallel. * For now I just lock globally, which will change when I get to monitoring * of RAID sets, where finer grained locks on RAID sets need to be taken out. */ /* * Definition of pre- and post functions to perform. */ struct prepost prepost[] = { /* (De)activate RAID set. */ {ACTIVATE | DEACTIVATE, M_DEVICE | M_RAID | M_SET, ROOT, LOCK, NULL, 0, activate_or_deactivate_sets, }, #ifndef DMRAID_MINI /* Display block devices. */ {BLOCK_DEVICES, M_DEVICE, ROOT, NO_LOCK, NULL, DEVICE, _display_devices, }, /* Erase metadata. */ {DMERASE, M_DEVICE | M_RAID, ROOT, LOCK, NULL, 0, _erase, }, /* List metadata format handlers. */ {LIST_FORMATS, M_NONE, ANY_ID, NO_LOCK, NULL, 0, list_formats, }, # ifdef DMRAID_NATIVE_LOG /* Native metadata log. */ {NATIVE_LOG, M_DEVICE | M_RAID, ROOT, LOCK, NULL, NATIVE, _display_devices, }, # endif /* Display RAID devices. */ {RAID_DEVICES, M_DEVICE | M_RAID, ROOT, LOCK, NULL, RAID, _display_devices, }, /* Delete RAID sets. */ {DEL_SETS, M_DEVICE | M_RAID | M_SET, ROOT, LOCK, NULL, 0, _delete_sets, }, /* Display RAID sets. */ {RAID_SETS, M_DEVICE | M_RAID | M_SET, ROOT, LOCK, _display_sets_arg, 0, _display_sets, }, #endif /* Display version. */ {VERSION, M_NONE, ANY_ID, NO_LOCK, NULL, 0, version, }, /* Create a RAID set. */ {CREATE, M_DEVICE | M_RAID | M_SET, ROOT, LOCK, NULL, 0, _create_sets, }, /* Add spare disk to a RAID set. */ {SPARE, M_DEVICE | M_RAID | M_SET, ROOT, LOCK, NULL, 0, _hot_spare_add, }, /* Rebuild */ {REBUILD, M_DEVICE | M_RAID | M_SET, ROOT, LOCK, NULL, 0, rebuild, }, }; /* Perform pre/post actions for options. */ int perform(struct lib_context *lc, char **argv) { struct prepost *p; /* Special case, because help can be asked for at any time. */ if (HELP & action) return 1; /* Find appropriate action. */ for (p = prepost; p < ARRAY_END(prepost); p++) { if (p->action & action) return lib_perform(lc, action, p, argv); } return 0; } dmraid/1.0.0.rc16/tools/version.h.in0000644000175200007640000000012211254123773017315 0ustar mauelshamauelsha#ifndef DMRAID_VERSION #define DMRAID_VERSION "@DMRAID_VERSION@ @FLAVOUR@" #endif dmraid/1.0.0.rc16/tools/dmraid.c0000644000175200007640000000205211254123773016462 0ustar mauelshamauelsha/* * Copyright (C) 2004,2005 Heinz Mauelshagen, Red Hat GmbH. * All rights reserved. * * See file LICENSE at the top of this source tree for license information. */ /* * See commands.[ch] for the perform() function call abstraction below. */ #include #include "commands.h" #include "toollib.h" #include "version.h" int main(int argc, char **argv) { int ret = 0; struct lib_context *lc; /* Initialize library (creates a context to use it). */ if ((lc = libdmraid_init(argc, argv))) { /* * Parse command line arguments and run 'early' * functions for options which set library context * variables (eg, --debug). * * Initialize locking afterwards, so that the * '--ignorelocking' option can be recognized. * * If both are ok -> perform the required action. */ ret = handle_args(lc, argc, &argv) && init_locking(lc) && perform(lc, argv); /* Cleanup the library context. */ libdmraid_exit(lc); } /* Set standard exit code. */ exit(ret ? EXIT_SUCCESS : EXIT_FAILURE); } dmraid/1.0.0.rc16/tools/dmevent_tool.c0000644000175200007640000001551711254123773017733 0ustar mauelshamauelsha/* * Author: Brian Wood (brian.j.wood@intel.com), Intel Corporation * Date: 8/07-12/07 * Description: This is a utility that can be used to register/unregister/check status * of device mapper RAID devices, see the manpage for further details. * * Copyright (C) 2003-2004 Sistina Software, Inc. All rights reserved. * Copyright (C) 2004 Red Hat, Inc. All rights reserved. * Copyright (C) 2007,2009 Intel Corp. All rights reserved. * * Streamlining by Heinz Mauelshagen * * Portions of this code (and its underlying architectural idea's) * are borrowed from LVM2 and Device Mapper. * * This copyrighted material is made available to anyone wishing to use, * modify, copy, or redistribute it subject to the terms and conditions * of the GNU General Public License v.2. * * 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 */ /* * FIXME before releasing in RHEL5 (Heinz Mauelshagen): * * * Likely after 5.3: * o integrate code with dmraid package * o support metadata updates * o remove any limitations to SATA, because dmraid must be device agnostic; * ie. the devices being registered with dmeventd have to be derived from * libdmraid metadata discovery; this essentially means a rewrite! * * FIXED: * o symbols naming consistency * o white space / indenting * o removed bogus sysfs access code in favour of "dmraid -s" for the time * being; maby share code with libdmraid-events later ? * o memory leaks * o remove code duplication * o programm exit codes * o cover error paths * o stdout/stderr in _usage() * o any (naming) limitations to Intel Matrix RAID * o replace memcpy by s[n]printf/strcpy/cat and check for memory leaks * o variable declaration consistency * o streamlined in general for better readability * o command line processing * o avoid displaying slave devices in _dm_all_monitored() * o most of the functions transferred to dmraid library */ #include #include #include #include #include #include #include #include #include #include #include #include "libdevmapper.h" #include "libdevmapper-event.h" #define ARRAY_SIZE(a) (sizeof(a) / sizeof(*a)) #define ARRAY_END(a) (a + ARRAY_SIZE(a)) #define DEFAULT_DMRAID_MIRROR_LIB "libdmraid-events.so" #define DM_DSO_REG_TOOL_VERSION "1.0.0.rc3" #define SYS_DM_LEN 256 #define MAJOR_MINOR 10 #define SYS_DM_PATH "/sys/block/dm-" #define SYS_DM_DEV "/dev" #define SYS_DM_SLAVES_DIR "/slaves" /* Command line option counters for CLI processing. */ enum option_type { OPT_a, OPT_h, OPT_m, OPT_r, OPT_u, OPT_V, OPT_SUM, OPT_MAX }; static int optc[OPT_MAX]; /* Usage for dm_dso_reg_tool. */ static const char *options = "Vh?amru"; static void _usage(const char *cmd, FILE *file) { fprintf(file, "Usage:\n" "%s -[%s]\n" "\n" " -V Show version of %s\n" "\n" " -{h/?} Show this help information\n" "\n" " -m[r|u] List all currently active device mapper devices\n" " and their current status with dmeventd\n" " for registered (-r)/unregistered (-m) devices\n" " Syntax: %s -m[u|r]\n" "\n" " -a[r|u] Same as -m, but for devices with UUID only!\n" " Syntax: %s -a[u|r]\n" "\n" " -r Register a device with dmeventd\n" " Syntax: %s -r " "\n" " Example: %s -r isw_abcdeh_Volume0" " libdmraid-events.so\n" "\n" " -u Unregister a device with dmeventd\n" " Syntax: %s -u " "[]\n" " Example: %s -u isw_abcdefgh_Volume0\n" "\n" , cmd, options, cmd, cmd, cmd, cmd, cmd, cmd, cmd); } void _test_user_id(void) { if (geteuid()) { fprintf(stderr, "This utility needs to be run as root.\n"); exit(1); } } /* Increment option counters. */ static _process_opt(int opt, const char *cmd) { struct opt_def_struct { const char opt; /* Option character. */ enum option_type type; /* The option type. */ int root; /* Flag to require root crdentials. */ }; static struct opt_def_struct optdefs[] = { { 'V', OPT_V, 0 }, /* Display tool version. */ { 'm', OPT_m, 1 }, /* List (all) devices. */ { 'a', OPT_a, 1 }, /* List (all) devices with UUID only. */ { 'r', OPT_r, 1 }, /* Register a device. */ { 'u', OPT_u, 1 }, /* Unregister a device. */ { 'h', OPT_h, 0 }, /* Help. */ { '?', OPT_h, 0 }, /* Help. */ }; struct opt_def_struct *o; for (o = optdefs; o < ARRAY_END(optdefs); o++) { if (opt == o->opt) { if (o->root) _test_user_id(); optc[o->type]++; optc[OPT_SUM]++; return; } } _usage(cmd, stderr); exit(1); } /* * Process command line options and do an initial argument check. * Covers help request and command line error. * * Return 1 for failure, 0 for success. */ static void _process_options(int argc, char **argv, const char *cmd) { int err = 0, opt; memset(optc, 0, sizeof(optc)); /* Walk command line options. */ while ((opt = getopt(argc, argv, options)) != EOF) _process_opt(opt, cmd); /* No options specified -> request help. */ if (!optc[OPT_SUM]) optc[OPT_h]++; /* Help may be the only option. */ if (optc[OPT_h]) { if (optc[OPT_SUM] > 1) err++; /* Only one of -r or -u. */ } else if (optc[OPT_r] + optc[OPT_u] > 1) err++; /* Only one of -r or -u. */ else if (optc[OPT_a] + optc[OPT_m] > 1) err++; /* With -{a|m}, no additional arguments, only {-r/-u}. */ else if (optc[OPT_a] || optc[OPT_m]) { if (argc != 2) err++; /* With -r, we need a device name and a DSO path. */ } else if (optc[OPT_r]) { if (argc != 4) err++; /* With -u, we need a device name and optionally a DSO path. */ } else if (optc[OPT_u]) { if (argc < 3 || argc > 4) err++; } if (err || optc[OPT_h]) { _usage(cmd, err ? stderr : stdout); exit(!!err); } } /* main: Process command line options + arguments. */ int main(int argc, char **argv) { int opt, ret = 0; char *cmd = basename(argv[0]); enum display_opt display_option; /* Process command line option (covers help and error). */ _process_options(argc, argv, cmd); if (optc[OPT_a] || optc[OPT_m]) { display_option = ALL; if (!optc[OPT_r] && optc[OPT_u]) display_option = UNREGISTERED; else if (optc[OPT_r] && !optc[OPT_u]) if (optc[OPT_a]) display_option = REGISTERED_WITH_UUID; else if (optc[OPT_m]) display_option = REGISTERED_NO_UUID; dm_all_monitored(display_option); } else if (optc[OPT_r]) ret = dm_register_device(argv[2], argv[3]); else if (optc[OPT_u]) ret = dm_unregister_device(argv[2], argc > 3 ? argv[3] : NULL); else if (optc[OPT_V]) printf("%s version: %s\n", cmd, DM_DSO_REG_TOOL_VERSION); return ret; } /* End main. */