tgt-1.0.85-150600.10.3.1<>,܉hg(p9|^uJ%ND6Nf`–l[W2f ]9dRj lT޴1;bO5n`9aәϠuW=~:Z#m2;.,Vl>.3L0; @zלl@ R3o¡7jXE%xR&* 5 Gm 騶f36sec ?o-hJ:S2_]OΆR1>LI0?I d   @  *06T   ,, (, , 0, , ,,\,8\,  ,& &#&(#8$9$L:%=9>:?:@:B:F:+G:@,H:,I;,X;Y;Z<[<\< ,]<,^> b@&c@dAMeARfAUlAWuAh,vBwF,xG|,yH,zHHHHHHHICtgt1.0.85150600.10.3.1Generic Linux target framework (tgt)Linux target framework (tgt) aims to simplify various SCSI target driver (iSCSI, Fibre Channel, SRP, etc) creation and maintenance. Tgt consists of kernel modules, user-space daemon, and user-space tools. Some target drivers uses all of them and some use only user-space daemon and tools (i.e. they completely runs in user space).hg(s390zp3a 5SUSE Linux Enterprise 15SUSE LLC GPL-2.0-onlyhttps://www.suse.com/System/Daemonshttps://github.com/fujita/tgtlinuxs390x if [ -x /usr/bin/systemctl ]; then test -n "$FIRST_ARG" || FIRST_ARG="$1" [ -d /var/lib/systemd/migrated ] || mkdir -p /var/lib/systemd/migrated || : for service in tgtd.service ; do sysv_service=${service%.*} if [ ! -e /usr/lib/systemd/system/$service ] && [ ! -e /etc/init.d/$sysv_service ]; then mkdir -p /run/systemd/rpm/needs-preset touch /run/systemd/rpm/needs-preset/$service elif [ -e /etc/init.d/$sysv_service ] && [ ! -e /var/lib/systemd/migrated/$sysv_service ]; then /usr/sbin/systemd-sysv-convert --save $sysv_service || : mkdir -p /run/systemd/rpm/needs-sysv-convert touch /run/systemd/rpm/needs-sysv-convert/$service fi done fi PNAME=tgt SUBPNAME= SYSC_TEMPLATE=/usr/share/fillup-templates/sysconfig.$PNAME$SUBPNAME # If template not in new /usr/share/fillup-templates, fallback to old TEMPLATE_DIR if [ ! -f $SYSC_TEMPLATE ] ; then TEMPLATE_DIR=/var/adm/fillup-templates SYSC_TEMPLATE=$TEMPLATE_DIR/sysconfig.$PNAME$SUBPNAME fi SD_NAME="" if [ -x /bin/fillup ] ; then if [ -f $SYSC_TEMPLATE ] ; then echo "Updating /etc/sysconfig/$SD_NAME$PNAME ..." mkdir -p /etc/sysconfig/$SD_NAME touch /etc/sysconfig/$SD_NAME$PNAME /bin/fillup -q /etc/sysconfig/$SD_NAME$PNAME $SYSC_TEMPLATE fi else echo "ERROR: fillup not found. This should not happen. Please compare" echo "/etc/sysconfig/$PNAME and $TEMPLATE_DIR/sysconfig.$PNAME and" echo "update by hand." fi if [ -x /usr/bin/systemctl ]; then test -n "$FIRST_ARG" || FIRST_ARG="$1" [ -d /var/lib/systemd/migrated ] || mkdir -p /var/lib/systemd/migrated || : if [ "$YAST_IS_RUNNING" != "instsys" ]; then /usr/bin/systemctl daemon-reload || : fi for service in tgtd.service ; do sysv_service=${service%.*} if [ -e /run/systemd/rpm/needs-preset/$service ]; then /usr/bin/systemctl preset $service || : rm "/run/systemd/rpm/needs-preset/$service" || : elif [ -e /run/systemd/rpm/needs-sysv-convert/$service ]; then /usr/sbin/systemd-sysv-convert --apply $sysv_service || : rm "/run/systemd/rpm/needs-sysv-convert/$service" || : touch /var/lib/systemd/migrated/$sysv_service || : fi done fi test -n "$FIRST_ARG" || FIRST_ARG="$1" if [ "$FIRST_ARG" -eq 0 -a -x /usr/bin/systemctl ]; then # Package removal, not upgrade /usr/bin/systemctl --no-reload disable tgtd.service || : ( test "$YAST_IS_RUNNING" = instsys && exit 0 test -f /etc/sysconfig/services -a \ -z "$DISABLE_STOP_ON_REMOVAL" && . /etc/sysconfig/services test "$DISABLE_STOP_ON_REMOVAL" = yes -o \ "$DISABLE_STOP_ON_REMOVAL" = 1 && exit 0 /usr/bin/systemctl stop tgtd.service ) || : fi test -n "$FIRST_ARG" || FIRST_ARG="$1" if [ $1 -eq 0 ]; then # Package removal for service in tgtd.service ; do sysv_service="${service%.*}" rm -f "/var/lib/systemd/migrated/$sysv_service" || : done fi if [ -x /usr/bin/systemctl ]; then /usr/bin/systemctl daemon-reload || : fi if [ "$FIRST_ARG" -ge 1 ]; then # Package upgrade, not uninstall if [ -x /usr/bin/systemctl ]; then ( test "$YAST_IS_RUNNING" = instsys && exit 0 test -f /etc/sysconfig/services -a \ -z "$DISABLE_RESTART_ON_UPDATE" && . /etc/sysconfig/services test "$DISABLE_RESTART_ON_UPDATE" = yes -o \ "$DISABLE_RESTART_ON_UPDATE" = 1 && exit 0 /usr/bin/systemctl try-restart tgtd.service ) || : fi fiS1x@XH 2F <&> G5 ?0 pF &AA큤A큤큤A큤A큤A큤hg'hg'hg'hg'hg'hg'hg'hg'hg'hg'hg'cccccccccccchg'hg'hg'hg'hg'hg'hg'hg'hg'hg'hg'chg'hg'chg'hg'hg'hg'hg'hg'c79c06ffb0e7a099cae470f5af01faee1dd4678f32dc69ca75db53fa9e77ca22f7e01f945e0ff741ca95f846b08e33f435ba778063c060175feb3d377a1b3a3bad134eb288df486608c6803526bde6f79f878be9279b91d1f59dc25532aecce4a3e964685b00174cd0fe553ea09d1b605a461c19019a4bb81ba84cc49baa309d3193cb86bbc8c544e9b6a45199d82a8c58093801144b8caebe83e1b1159afa7abc4e336850c22b3b783bbe8c6f4944eb003c5358ef894bba231b98f79914dc74c245113eb1aa23ab404c5a36f2f5547c6b8646edda6656c69eaf427881d3fe5125c13cc7806654a05528428ff80e27eeb717a3c45ff3b7f85f089c885919797be149cab8cf002a1dc8137af0e5c189eb83f82dc22944f084e1866ad0c283adf624548942e8f9fdfeddf4d3087c24e3f3e7270a785174361d9eec8ead09012dd2c18ae4418f1f92d1d04a2e1722a884eee7f808f717c531a303b41f71bf07cf70472310f111e0ed859ee94c43f14b409c7c81e27bbdd5b9e9917ca3d223100c78b955bc5c348bca24d6bbc4373e9ce4918502ca4db6f802b55eedae6ed1d93124c74f5a624cd8751a83e15faaec9f41935d168ec36bcbf64ecd23013ef7b594b124fcd150aff0e76adffb7b7231f5576057c041251f4fa0df555252026c68ae076b9ea8b4ed14ec6570bcd1e20cee7b3447acb1b1f2ed1bed1a62c89d845469dd358c96210bc9fbd47a17bf5234f6ce48770afa24cf7f9af47ae73c44e10487807bd68eb06d28ea37a256a7bad6d2064aa9cdc6d9734e977d8dcce102de306888a18f7df082e84f4f1291ea0305aa0f9bc2e49e1b2686782cb73905047b81979e65e66a9e05f340baee7fc1f01340803d561b3d227cd793bdd58cd966d1ca108e63b361ad831f9ec5ce2dcde7f07ce80e3cb94cd602cc24be14a86293dc2b0e29f58f2ae4042a63e7724ad929e75d16e52147c42ec01c852792d111f2f39f4dbe97a876093f2d556538b804aeea42394d13a764b60a28be4b3cc50061203553c07668f8fb349a21bfd15621701b4ef6e05c6ca201ef4820b58c02eba1ba13c5251a78f61e0e55448a661d86cfc66927199724a93a0787fd232fc6e19f00fbf7e9ab936e2102dfba3dd904d1f19ce821e7a4e75264044e0f5814ed6a0123ab50c1dd46bf80e9f9a38ed61745a871ba7419d0e10fce8c969d513424379ed54bcaa8c14582750d02759956ad2c803a299e34254c72d05157af2cb472d2b62b7bc680b6a83bb7380a09e618d28dd8d6f1ff2e42b82d9092ba1736377f629cce2a66dd1c1937effd19d4c27f469edb8bc99aaf20ae0c65c0d404add77ec1add91223788177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643ee90c2b93ab1421224420ff706dd0bd2784c84527de9313fbecd7f37e6589495ec6e8b950c258c5f14f085c33e04956a84cb11a7e79784e297b7efb75ac8c79a827de2229ae6a0e7039bcc93b384c96a6e2a04582741dd36a3ee474a108486f794c09339af2d9dbb60c598a3df5a0a8663870bde8691c24d454e63683439d56be8f725164ea3c0997d186c01a838bfae06b68551151026f3f087890302345dc3aa40831c0c1cf434d19b473efd0898b56e8a9aa26687f51a1ff2cbe5fea64e65servicerootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootroottgt-1.0.85-150600.10.3.1.src.rpmconfig(tgt)tgttgt(s390-64)@ @@@@@@@@@@@@@@@@@@@    /bin/bash/bin/sh/bin/sh/bin/sh/bin/sh/usr/bin/perlconfig(tgt)coreutilsdiffutilsfillupgrepld64.so.1()(64bit)ld64.so.1(GLIBC_2.3)(64bit)libaio.so.1()(64bit)libaio.so.1(LIBAIO_0.1)(64bit)libaio.so.1(LIBAIO_0.4)(64bit)libc.so.6()(64bit)libc.so.6(GLIBC_2.10)(64bit)libc.so.6(GLIBC_2.2)(64bit)libc.so.6(GLIBC_2.25)(64bit)libc.so.6(GLIBC_2.3)(64bit)libc.so.6(GLIBC_2.3.2)(64bit)libc.so.6(GLIBC_2.3.3)(64bit)libc.so.6(GLIBC_2.33)(64bit)libc.so.6(GLIBC_2.34)(64bit)libc.so.6(GLIBC_2.38)(64bit)libc.so.6(GLIBC_2.4)(64bit)libc.so.6(GLIBC_2.7)(64bit)libc.so.6(GLIBC_2.8)(64bit)perl-Config-Generalrpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)systemdsystemdsystemdsystemd1.0.85-150600.10.3.13.0.4-14.6.0-14.0-15.2-14.14.3he@c@c@c:@bL/@a)@]:@\f[p!@Z@X|@VI@VI@UUe@UpU>lduncan@suse.comdmueller@suse.comlduncan@suse.comdmueller@suse.comlduncan@suse.comjsegitz@suse.commatthias.gerstner@suse.comlduncan@suse.comlduncan@suse.comrbrown@suse.comlduncan@suse.comlduncan@suse.comlduncan@suse.comp.drouand@gmail.comddiss@suse.combwiedemann@suse.combwiedemann@suse.com- Fixing CVE-2024-45751 bsc#1230360. This makes random numbers truly random, adding: * tgt-chap-Use-proper-entropy-source.patch- update to 1.0.85: * remove duplicate includes * Fix blank documentation line in service file- Some cleanup (bsc#1206639): * removed patch setup-tgt-conf-d.patch, since it's upstream, and having it caused duplicated include of user config * renamed setup-tgt-conf-d.patch to tgt-install-examples-in-documentation-dir.patch, to better reflect what it does (since it no longer sets up tgt.conf.d) * removed the sytemd source file we have, since we get tgtd.service from upstream now (with a patch) * added patch tgt-systemd-service-update.patch, to ensure SUSE-specific changes are in the service file * dropped tgt-include-sys-macros-for-major.patch (obsolete)- update to 1.0.84: * fix bug: target bound initiator-name but client cannot discovery the target device * fix use-after-free in iser_conn_free()- Update to version v1.0.82 (from 1.0.74): * tgt 1.0.82 * README: minor improvement * Fix FMK and other flags. sg return good length and sense len. Not needed, additional condition. LTO streamer not work with check only ILI flag, need check FMK and may be other. Without thois check working fine. Test on LTO1 and LTO5 streamers. * tgt 1.0.81 * README: use markdown format * Add LICENSE file * replace sourceforge with github * tgt 1.0.80 * scripts/checkpatch.pl: escape literal left braces * Replace __packed with __attribute__(...) * Avoid passing NULL pointer to printf * set INFORMATION field on COMPARE AND WRITE miscompare * add helper to fill sense INFORMATION field * Clean up error handling * target: replace bzero with memset * CHAP_AUTH_STATE_RESPONSE belongs to auth_state * After rewind option, la->tail may equal la->head. This causes the old logmsg to be lost * tgt 1.0.79 * fix coding style in log.h * tgt 1.0.78 * tgtd: support pid file for tgtd daemon * iscsi_tcp: add support for listening on random port * iscsi_tcp: fix compile warning * iscsi_tcp: Replace deprecated valloc function * tgt 1.0.77 * spc: implement spc 0xb1 and support rotation rate * tgt 1.0.76 * fix segmentation fault caused by scsi_sprintf * tgt 1.0.75 * Fix gcc7 string truncation warnings. * Update README This removed the need for the following patch (in the code now): * tgt-Fix-gcc7-string-truncation-warnings.patch The SPEC file was also updated to match updated filenames.- Added hardening to systemd service(s) (bsc#1181400). Added patch(es): * harden_tgtd.service.patch Modified: * tgtd.service- removal of SuSEfirewall2 service, since SuSEfirewall2 has been replaced by firewalld, see [1]. [1]: https://lists.opensuse.org/opensuse-factory/2019-01/msg00490.html- Update to version v1.0.74 from version v1.0.60: * tgt 1.0.74 * AIO backing store now reports a list of supported opcodes * tgt 1.0.73 * Update tgt-admin * fix build w/newer glibc * Display nop_count and and nop_interval * Quote $backing_store variable in system(), execute() and backtick-calls * Buffer size is stored in struct concat_buf.size field, so use that instead of BUFSIZE since buffer size can be more than BUFSIZE. Also, remove BUFSIZE since its not used anymore. * tgt 1.0.72 * smc: fix snprintf warnings with gcc7 This removed the tarball v1.0.60.tar.gz, and replaced it with v1.0.74.tar.gz, which can now be gotten using the new _service file. This also updated the SPEC file with the new version number and the different patch set. Remaining patches were renumbered. This following patches were UPDATED (refreshed): * tgt-fix-build * tgt-include-sys-macros-for-major.patch The following patches were REMOVED (no longer needed): * tgt-handle-access-of-a-target-that-has-been-removed * tgt-missing-module-directory-not-an-error * tgt-compare-pointer-to-null.patch And the following patch was added (and submitted upstream): * tgt-Fix-gcc7-string-truncation-warnings.patch- Fixing build issue with "major()" and a pointer comparison warning while I was at it, adding patches (bsc#1181571): * tgt-include-sys-macros-for-major.patch * tgt-compare-pointer-to-null.patch- Replace references to /var/adm/fillup-templates with new %_fillupdir macro (boo#1069468)- Adding documentation files to SPEC file to silence rpmlint- Adding upstream patch to silence bogus error message when backing-store directory not present (bsc#954801), adding patch: * tgt-missing-module-directory-not-an-error- Added upstream patch to handle possible target removal while accessing it (bsc#922526), adding patch: * tgt-handle-access-of-a-target-that-has-been-removed- Update to version 1.0.60 * No changelog available - Update homepage Url - Use download Url as source - Remove tgt-git-update; fixed on upstream - Remove depreciated AUTHORS section - Perform a spec-cleaner on spec file- Fix rctgtd systemd service symlink; (bnc#945604).- Allow to add options via sysconfig (bnc#828214) - Drop invalid ExecStopPre entry- fix tgtd start by giving tgtd time to open the socket (bnc#934642) and use bash to run multiple programs in ExecStartPost/bin/sh/bin/sh/bin/sh/bin/shiscsitargets390zp3a 1751615528  !"#$%&'()*+,1.0.85-150600.10.3.11.0.85-150600.10.3.11.0.85-150600.10.3.1 tgtconf.dtargets.conftgtd.servicerctgtdtgt-admintgt-setup-luntgtadmtgtdtgtimgtgtREADME.glfsREADME.iscsiREADME.iserREADME.lu_configurationREADME.mdREADME.mmcREADME.passthroughREADME.rbdREADME.sbcjukeboxREADME.sheepdogREADME.sscREADME.vtlexamplestargets.conf.exampletargets.conf.vtl.L700targets.conf.vtl.MSL2024htmltargets.conf.5.htmltgt-admin.8.htmltgt-setup-lun.8.htmltgtadm.8.htmltgtd.8.htmltgtimg.8.htmltmf.txtsysconfig.tgttgtLICENSEtargets.conf.5.gztgt-admin.8.gztgt-setup-lun.8.gztgtadm.8.gztgtd.8.gztgtimg.8.gz/etc//etc/tgt//usr/lib/systemd/system//usr/sbin//usr/share/doc/packages//usr/share/doc/packages/tgt//usr/share/doc/packages/tgt/examples//usr/share/doc/packages/tgt/html//usr/share/fillup-templates//usr/share/licenses//usr/share/licenses/tgt//usr/share/man/man5//usr/share/man/man8/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -gobs://build.suse.de/SUSE:Maintenance:39566/SUSE_SLE-15-SP6_Update/8145ce2a07d834bac2c24e5cb6eed5e1-tgt.SUSE_SLE-15-SP6_Updatedrpmxz5s390x-suse-linux     directoryASCII textPerl script text executableBourne-Again shell script, ASCII text executableELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, interpreter /lib/ld64.so.1, for GNU/Linux 4.3.0, BuildID[sha1]=99176f57b36f4b7872b79395143fce08410c0692, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, interpreter /lib/ld64.so.1, for GNU/Linux 4.3.0, BuildID[sha1]=979dcc3a84abd72738bf2382bcc57e60db9a7538, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, interpreter /lib/ld64.so.1, for GNU/Linux 4.3.0, BuildID[sha1]=54ea0dfd27d6b446ff90adbd6ce6713ded3fa41d, strippeddiff output, ASCII textPOSIX shell script, ASCII text executableHTML document, ASCII text, with very long linesHTML document, UTF-8 Unicode text, with very long linesHTML document, ISO-8859 text, with very long linestroff or preprocessor input, ASCII text, with very long lines (gzip compressed data, max compression, from Unix)troff or preprocessor input, ASCII text (gzip compressed data, max compression, from Unix)troff or preprocessor input, UTF-8 Unicode text (gzip compressed data, max compression, from Unix)RRRRRRRR RRRRRRRRRRRRRRR RR RRRRRRnrAvtX:Hsystemd-sysvcompatutf-83bf308fe37165d162d25de4ff2d852136cb62aff5c2104c58e44389b5c8de218?@7zXZ !t/z]"k%j|io# /DX2MJ9Bs3@R"f!ϡf#YK);7m>°/`Fy)b*Q\c>e" ;nmxBܮ|k^)EH Io[0!P%;IƫzhH=*ޕ2>x+K}/` 0zr-(v#/v^1m;tyml[úH}%4a=B9VE^R(Jh[~2B~ ݫv@BKmZؗ(ZD!oƝ"]騾G$T觻uWTݯޛg'n[7!_M}$hG2͞#oxRh!j AX'Q6"GIӚ| ѠRQE8=ۼe|{[!ԕL]q$?HZN]-k.ʸ*oJMr[tY7" P30G 4}##p&d1Ae&2 p+w }GVo&\F"4jw3^W2X „b/W%`V LԾ\k;bnE~_rEz^ I),4D\Dx/KtM34ul-ټ#UC93l8& T7sUS&4 EۮiޥQVtb2mZ]^ G 1V;H 4[4/2[y#~l M[ITO7.Y u^^ޤndC"?Dy)h G k)GSZnWDH[q>%f)#WmmܴAV 8Nw6-qxO8)Emo!D|9\#բEiQ2pEztdrcTG+=V FĀMxHɂ 5L&(JGx&w*FJ 0.X}\;x݄"Y)B#!ŠN"?OG`M 6$ jR蠋fxa4,,!"#DI[wWTWB ܚ!TB>|5)^&ç{ZA] zOtMoVw |ܐuhbF_봾o$3(m-iAiZD2IZɇi؅IY;h<8I4ObLO1su T6|iüaT 6z5"T &iHYE* #k'g`7a?<>&5.ycŹ簊W`cZ5Ndwg֑*I/{+Z/ᝎcfCer9耠^ٚ"n5E p*~ھ`B[:GFG3hVrqܭȵH~FZD)bO~aCNWIw.mDDq̬:ZJ+8]dS9bNa:LςŠXIG݅D-x@MRTvaHm7DvqiݐVTPG풙 H$4$ur˝ZY"ҥ۶$yňO:`=+jKBre憸MX`JQ0K.ُX}C^q]s6XIldiz;_H8R,Flk)谊y.%([#&Ao{r_`%:Kj(esbc˹`8)^s" Є]8?$-,wةlZS pVfs~5)Z5 ܯMFwM0u85||qX>krMfe\j9z?ď_#vS4O@г%j\$?$#<{ DR/f]l=19] fUG& -u1I/w96:2v"HXUa 57ݞpp,ǑcDDRP3~TC~uYkuC`9#"[N˻9ScgEPŇx:}iݿ'nC[['\.vӂLuN)p5guOARԘd\ Q4o٩\Q($s Ҫ^^k)ܮ٦Aܳҟ$`Ѽ{ujM܄ P H17 oFG4%_ƖZ|V0Fy^H$rS?}蚫څ~lZ!1䘡4 ,9'߱⠠"(]e<'Pg cTB^F:/![q㶕 EJXNZ r^vz'X"|̑fopyJ ^ 6)xrhMM€b;15^ k,=R:+YJt|+rJ Xݩܢ`W=HVjЕ!9YVP:vl,s0aY]4YbEוX~m QTu{1T"|(HeI0`H|yer^%9` v><؇_F갣 ˱?.'-bx!)ސtAhrGI\_ SW/úFSn(Cxw_1{q!l O1YcLJnՒ ,\`e҇{!] X1۞9;N,AT>+ Z #oѬu#Mn !U#qLSMB\MYhvTw nsd *y1p!^2 xҋb3TRȃmú/NgUe_]=7[iAg)5 T9oOR+) 1 =IX([{R_IS=a#FC:Jr Sef>, xB0̵i凫cë4be,wBݏt2s( A^ʹiByjcLT>v(߼jh7lj;99p<;'5}T7UVɖqӐzNua50;ܹВs5JaP`FG 0)Cl[57|M1&HodfP5uC줍mEI <?:P3r4яfz#˦17WN{PoɘUBͱ/r+  ݾ}h zˆD(X6^`[D\ u+NL'^puڿI>gV%6][NcXwV"Aҧ%(J"9-v(Ip۔p)f۸9˓Y t~^ȫGӖkBpcytRk:H#D{v,$qu]nˑTZ;&J qvr߱N@Uվo Xj.=>DXOٶRGAA"k{Nhעh<-{E;Hgor0ZҘ'(a#5F.M?B~]Q@];y3 r0x&4y((T3d t x@e?Yc#&d_ HtF'浡#k IIUa+Jm罚4}(L/SJ vյ4놙Ě: ̢ŃXg"=}C Yg2}X&xYzw k&&N aX{~H8T OI'6suL*]o5(BŮ9}a1׉vG2NUSO$7rha:~u54/QS.\עS׃53ī )(톭@e5{Z^G4 3&n8Ok ;{B\5:T*r[oS'kqc-ExdEK)RUO0glEiAm̌RުȝW:!LJ&#El[y y)ɱ!1G%adiQ'6SJCoqgD/t\wHeE S` '* >^GGVpA3ބ'oۛS![Z$5DW&q.616[B~P/1c2_ ߤpTxjS'dn6KBY}1l1^[Ӆ0y|9d 0;LW|aG@'6YE+ -ӦqQ=[0!tbe l>%ghJ9EK m gN$+" [Hcl a`Sd\U mxHF̾0u:a >)bES :_b.D?Sr ; ܿ?!mA1Z8$b/g=HApk Er ;8 R3ޱE892K m=/[C {~l8c3 _SJ NUcC,_;x V0Z0Mhro-z'~I6Z]TAeyfRnKƈh 3ʧ 4>m=.dH|{n/N5S iB; و.Opux),̬DQjG!OK'Xg&Amm&Pw`kMQbo$^>$'L49kbuM>U >,V_(q7 #Kɧ,|b ?%$GH;zM)k1KQ_.Xiw FoB9 C(ُ3bB>  D-T;>Ǵ0* jޟ QmЫ墇֯o9t'A =Dߙ1SWt˴NVR߮s=^G;z"kؠޓ&?9yy@D-|!-T֝/{uգ3۶&k@XÝWXBEO̗JЂ!Kx{aӑRͺ O^o0C"/T!*F *+:K \u=ɇYJ mJ|=\%~1 %W!hx=f :)?u ?L&NɵM5>99M>Wx>-+s@ $RPt0"|헂 erQ̔{;ox97D%SC6Kɣk vP\JDǎ+=J}`+6ptk[{pZd CR'f)܄D-<<1.4O MuXƋf٪n/Q^S,f>ԐslåT%ٴAvD|YAPX50v̓]kTw~۲ ۵$xjNA2 6,DK{UK ZcX:gjk3sybcR$I8 Uv826~$'_b zY?ƖGA6ux*0(ѢuO%g #٧W_y&ˌ-^*g~9 a7i܇5yWSPQ"mk:`ZV\$CeҮ3Qٔ SE}dA~|ߕVPW7r}}/oڟ;hcW rK,sb ~".q̄QmU@*<|K~[McbIbQi9]Q5Eg SnmFL?Pk@D/m] G 3#:[ DF1LGWa;x'+@G=ʜe'=57_ p?H2:.?zrmXxBޮXأUGgqC仆呆!ETX57AJ.0eCZwɀmtHD+ꈵCzx8C4;bKڇ7!֟6IY*8ma'%f3n.猷V]ؼ d]UÚ2b,=ܪQls} # [x\2=Pn2kX/&&\zǯ׀-Ly]- Ӧo\b>JOIdmVYHLu2|6=)AǮ]?3X'3} O@c.`HUn/0 3?0QlEU~;rPqC2mcݻd=͔䒈 'o~kwQLu=5Wh1%K(:M֓uJ>8($A+B0{kBla{1Fo$m\߀>&X0 dX10rr5'̀;=b>l{ˈ\i]MjJD)l6o; LrG 3> B!U2,e"8;𶘬C1S=cQNBq{$Y2h+HjTݛnl>z:N& Tz@ެ9!ӎj%v ܹytx> +}G+ν!A(]r^bJ ti ky[[-CUg@ǛS_x_M3lyޑ?,oQ&C}k0FG*0;􈂈RM1 N7;tUgC"\Q\쬆$ʓR¤.E3mp4xѦ<S_ٖg/Oڅ@LTdvqzY\PPP@zn_=Zml.yN/X40 Zh{ň -OrCMafJi[͙O,.*oY9?>?Kedzɝ7LfͭhQ.j5w['2<,?P4o<< - p0Y3S{u"3m1[ ڂhzK}Yb;8}T{6u͐f2hj|fHPڽ,U=mnf ^#>::_*qeZ-3wod(Y>o3CKH٘&۸cbus:TG6L/Oʝ̛u,ꍚ&/+mct#M\o-Z:!<+Y2*SaWkLfjVSȩ|fўrPM:K{s{]L=mOux8}Zj{]4wF~E䋤ϸaoHb.ŰPK_sW6!WD^Y0ye: iAΡ&,#MRb~F;{nl]6hऔr"#hucX 3q&edF!޾GҀE~L̃L=”$ ]$G0'H%ĩs1ǔ/%)ϐc> kBDfeחQ>J2˨,;kFs&Z[nN5sݍT:%9#GZ1ߠҒ\]^D_ByK*^( v'r{VXY5BrM%v]aP6>ƾmt0A5,閈b25_d wƴ䑉{0&hZ5D C~6}gAmDh!ł,@g&1vyD4azT2,k򓖜j>!S[x ^H)sONn\WY|%h"{nMpн)!.'a>Ս!ߊ7ur+h^j)>,ky\5_s[Jijۭe(m&7`8`{~n2!%E7E.aGp6?ȶpW_Z`gx=[pApo WT>1Sf<sYn^uzx88b4Ը}QJ=i*FIaCYoIKs =!fRkbd /ǏϜ+ D, 3.(yP|^=,;*wf"5XEU<{RV>|R|YsxF6\`ǁHxۣ[&&(ϰ2XP6!7 z B_GvENDs1౰YouL(b`z3}Ile),+y2BE=zKEۈ:ٷm3o{_pngpF\l+{Ƀ鴤84g7Q4Uq؞5fJ\zUNJ=4NE?a^Ϻ}J}f.([,V w+k“/u*.- B,ڨxňL gFd#[Ń wQC`h"$w z 0FGR KLPT%iמX= 6R/i7Dg|d"=d̎${ɲAL>dႨO;%[C+@֒$B)y|3$YU_xt'j/LU&ӓf4s?f!.ϊz,P(רN7;i zDOYSJ2D~&H7vM/z K@ TvX!eұ¿MR/+c g|lwX=w)& u"JnY `Jy`HcQQαÎoKD-6lL;:˸p3{*I, 'Gz ,3YEc"<>s? mDP/R:u: 6xcT帎_ߥ?06RLf9ݴLZ|+r fz\x~: lzne=?/6'(L߀ _Ǥ$p[@n,EzYN*,W$Ơ)ΔməfZ6,jx*]s#\P`,8KNhSZI5"gt#4"/aRPZCl[ Icb \/9[v}_R)3 o=<"Am8[s*)ug(C XAYL45_ 7 S ng}_X_6TdScAG#9TO@zʴ8YAo> U*p+GACWIW-=M.,Iax:A^ b<7ر T?/RIVT s *9OU Xt괊(*`!;ֵ 8jGrDVF:]nyLs KWִK_Vp++ W帤E,=m4ƏY vhEyxsכ_re+4F pG7jf.̨(15{ǛF^NV\@Y6XyRfC![RBkNrρ/)^~8ˡ:a  LHC9lDM!N9ub! +R9=ũ/vQ5Rsob 3dRV{ `G Y̛ a2@Ly} fc'yp5_E{S _5PBfv!IHL%:-xd4lb2_fpwv5LQ Uj(du ySlC.gS9U& R5!?dHD @޹o\4d]J)k1NPڟڒMsm/Ȅu;k4m & x$<$rЍ])R$qcyA <uqɻ.fvĠj3G[2v㞕r8OMeh6;THǗ/7Ju؊%8ٰ:XE!W*Xx$[< ~<VW{j&Etqeq^lŤ2M2kAۛ LI=Pޣ9h[ }LlJ#ҤE6-1IX:_ij3tLܣ L[rYaw69A @wگgjON\K#]yRۈ]J}eLGa^xQ8D`Ng{NR}q&WO@̝^t;Six۔k 890wv¾'>ł%pĈ /[*k4z^l`tf8G~~zI01H*v>&>Xg40cm6 6clW J&s4 'd=#b%6r\t3w 5q$jJTG](];1@F4U<:7|M^,Gж׉2X?C$[=<6Q[V g/ I^qGtUY9ƁJحR7O!j](+@ ]+cO Z*ҩGMqf&5U hmC]Wc! O""Ԫ91R4=wqa-PƐ5*0VK3%`Z*l j[h6>ˎ4訑{&~Vٺ4c}cl HɆѨh"!AܕYZr#q~Xڔ8ˆy 51Y0; Aw6d Vgi?=-+{!i7W'Y:gfkOmqtnJI+SM-{]hV>96E9*R[U5ۃÜƻ8 T*.;Z5 O~ P afnW'nc QǗٍ#dB\$_#/n`qUw珌Rj h?'ݮI644_LjUmsHzKmBkZ}KHUջ&P/j{ E($5&Wjl Ur8$WkSǡ&"UFmO 9Kk1)bVf⟢?I %BuN>-lJ ߕ'b޳4,ȑ>^i@7]i8{<«)D@%UtflQ˓,)6\L)j6HJI"uôslW>bm&А[Njj6$G60c3cҔ-O8i@}BrnuH,R#VF7tG6Bsc_f?dD(pĂRhC*ٺf&"*iVK!8AM9"_1dnSHB]`qR:d?QxE% rÓ' tʡ#8w|gOoE#Bp?ꩶPވewvYY=qgFV#$'{> עTS^)Y6ǯL{m*YO;ÀkG,Qx8:R2'oeh<m?3iVTԧnSx1*?VgW&Q%`gxtA&=WvE0~&·n аZ22ᣤNeU {C5}CS'Ќ4!@]7.zsz< Cj 3I@K3J ͐%M~ѹR nSe^I\Gz ARϑdI2 4ZOb<޸Nu50AoЉ`0i'Xxu%RL/>cx˹^bd  }Ly80QC}?"5.bAKVW_+y quO-@TѦo$8pyi8hmٗ5P,}3:“dD`8tr3A>5 pN`H4).hP lD:R[{kO8?Q- 5evQT.߂m <|{'G ?ޝҳ_A, h.ٶU`Gg'f!X ѺzA =9P\f gE ~/_5L"Z!1ϞJ1T|`inE4h(5AՔ4#W<#bkM*Ǫ*FO5I33waRwLq7qPeHىʷG=Fv^2"( 9:3Q`@#=랭S{e0)WǠ z߂]Gh@c&lE!@'"-P jv~ {@"}Ve5F_ &,H8^AҢ7F: y3o9^ZE6:Vkb# ٴaS|ᭊ+%@#6iYԙ:&8W^AILS3FDIm ܩ[RpN^E2+F#$6=% (c5z.tFȡ@\g..OP+Z u;koſ:'(Z-d"{s>cG!@Kh;rل m\y,%fʻװbzDٞ)=S޽x$!uRqk8uh0ZqcmwR9yMjiNA {MT+]iv qa;3o AX@!=YH.yVpA ! 50#㽉‘@vc5bK#zxlA~5Y>SSp C͟HK0x]QU-S+06NmM&u|$5 (zY;ktD-O3s'*t$;X^{{@LM$^q)o1\icʗ%VsK$eN6#aA*i?fU)/o$n~ HFy8ۓ#AANBNvmSA ⢂m]MNa_Gn&?-)? rLQ#ӳ ɐߒfdŸg@(ǣx`g5.9nVX.> ˪$˾bYr/BN cϹvK͏?b6o/ƒ':ifb8Ŏ8܃1"/~fS Cj|e`{c (I).eA5^9D'&a<h<е\0Py`ĶKD!nA5D)pƱ`:mmW_F(G:"!bM33 M[45_<sPǁ/L#N>"3ShY% C 7ebz[Crs) {K#ӊ0FbG7_RLB2s$rTz3eO?=$>Yyw| ,>}#y8|MK1rhb[JB2z;َY4wϥ:)(R24~`d5s"7Ա|q߁\0lTXf5V1>`a#jR}Q"30AƲ]#K^PRzA5E \¼-"&`? fbĚ\},n3'eA:R QM!1BHwUF_!# 8ŀ+md♽ 34aku bR\_ ;') o D+h_hxN(Ș93BO>nOmjx-DgH tIàm\UPAf 7vj6cVV9W8'z&WVhӹ#?l!"!N:_fN=i4CDʟ*!sI]*N`DŽnVa xFQX+z9ɒ( ZQR\@VQ-sM$T)!;'2vP~ 0S?jxAD9n,5fuC5} ۵c:'Y%]jEF;DdzSs%-LbY5r2Exԏev6w&e ;^@ Oz#TBz=%8Ud".Kk΁ʤWeD5䅰F6W"Hj/1ZjzuOw4䬝b_TMIꂤͭY P8!i/ZfU[3ywXpsb #e~YA8f/_0DeJ&X!C74(? wg> ɿۭDiXH):M^SMc11uじ^:,)a7ϟ{+x`!4 d4+1U_bH*]kMՊHxצ(]޷猑gNܞPѬm烬0ۮdC5J p`:Zi̶kfMB5DYR|/HWcM g\΀&<;̵ٖ^ѿAfDhFP~8vzq=YFYZa7Uue'k76rd9-tWn,a䀢ə2G ŢlO/>kU_H*WǴaM Ƙ{{3 [@L{[2x I J׎ ImC WgZİͬ"cXd YCjPXVfj)p2&}V 8}Y'a Ir>b0!+u=f S*7_o~'oy='WyQ|C>Tydpɖ@ -QBpmD+e% dsH|.Wv] 13}!l[Wt$zI W -ŴW-KGv92UBi2\txr2V3s%o][Ȳn*$RF\T!P5d]5OSƙ-e\RF'ܷQ@̓/TDX:HV[o‡7l*Gܑۤ8}3[3W n$At(1@sD{JG=m/ꯆ tn1EẌ_Ց/sLzHy K q`ᑀ9^q5Xݱ./bfuF6_Гalm1kVBrq Mzx*:zTxե׌U៌X>屇F0%Zpe:m75~˭Lnv%p4:jj?u,tilwƖ-'9%" I1 1K '+fNOCw`܃iNV[=F=B5ڟSB=vl 9`_󃭜D+URФӀcFg[7vԳZ䒮1V&za)a~؏=J GK`|tQFbVDC쟂5ęYYN _?KP h]Xm9NJzDXsCxs3_x&]e 70Y_6X~MQ/⡋9Rv&=1υk Nئ ppQcjQ WF\A!n3IˁQ\ K1 tE!9p2~4|& fNAׅi sϪ z B%PC3F7neD_@OV"bWy aA "g'% Z|qU.7NplqBr顙==n7ZF3-àqRIV2%:wfʚIݝ}]c߮CSb[z[Ya#Tӭz<`Êr#N )k*%.2Q#́S~yCؠ:`59N`Oo^|m|h2I#&`E2p8D`I"Tm(ia >>˛ts<`iA![D]6KCbh-̯sy :LzZҽUkS#Et 4! /6)hP9,-L mv c`Lgf ywkkuҔ,۷GV3tHC !^Z{NvTt_rXM#" n[qTc-g94CwW#0K;@ q]]Dtuś@m}A|>ეBD|+wg:?kMmdnc MR^`#VYmXHG>Lpn"" JXFݷnR|͋0cn.,mx!3m}Y)j6ESY{IbaOyO [l$dn,BYC:<4G‘oIo۪z$fpD@T_ŕG*)8!LgA2m6oE k50юJ ^<0/.#Jԓ~ ^ֺR<ܘf"x5JHgIH_vH2(i7 <H#nKѴ~{"$_#%2Nz/ $^Z?qQi%Zfs._aE禠:W m\oϒq1:ј/`"5Ho iWObf4Mr1pX0nd'c)X HNOJK84FL lsU`@ɛ/2n\&Ch@U I@yB.޹'N0__oZ\=%`1N-zU@Gn7kbڬ {v? 1-8ZidK+ǝ>Be|jl+ƺ#:ߴy#  AdI3U Nϣѻ_vh)9-: / f MFo!F<2&ii&OPj]&L*.*%[VV sBU͂зIxǒT# 4 .%3O㈺Dgw}08u L )i D(Ia 9?*Ex/~ѩO<-~*Olp2sr7sN lXuxУ D,"~H3ǣ;il ZP!B1JB;WFLlm1"s=:ih3%/;-xg.0}d&,S0ſ;&Ά*ѴJ$oW9%Fix6=@#, /uh=#G!MPׇ"&UmYh9(jĂpcj<]'K!)Ȃ8ӿѓq^`_`w9A kr_-]$kvTw<}Wj|!ޯ HЕ.jQ!X5Y (ӜN xKrX.?ZbhI2FbZYyV3:nE"[} m92cAH$udԅP ݦG 'J8$hzn4,\v<'J{H<~YC QӉr"z r '@OևVv2n*`R?ss(Q؄Ro<l^LWMJ~;zrI^TPwQwLT$teaR:Џipd^ uO1&Pn)E^` >"mѾ uid$\q:[ uxNh,әR;":p熞 0t0-Ng3& ;Uwy*w `e,J}ZĘaaQ]}J4C<`/[m|Gm,j/kh~ 死"o  a^}o]\Pr&oŐϑR w9hl/\⑨bXxGgfA γ?կl[:S@(NYhm4FzYx!;=L 8[3%t Og3yoN\oyAN8Яu-$TW ĴB-pH?Kp[۸˺ ŻZ>R1=0|(/5ي%,CdS7W H:9A1s\7-)as)D$]pEYE1袇/.`Q 7ѝ BBm$4*Y 2p79Iuk'``Əȫg o8KFYDK~?LcdLwMViH{_YM9"[F`-(អ *,ΒjK|(mi }عyKpr#+ȣ#WzϪgAkv:bhF0YkՙK/ 8(zhwjpqE܏5k*K{#8J0Λ "$ v\,1B2؄" (O;8+?e@$?P_3G, Mhd#iىBCOC1tfpChX\H-'h#ݢ¬Ni^, O/phQޡ=F ?inmaB&d5H;${ 6]n@vXc[~=q{PXV\έCMFbs Q:>ҭ>j[vHr7$='bPFcy)$n|(Spdm^Ox"}yarQJ84 Y{txݰL6#[Xg"UxB@bl.Kؼ/M%T8myDŽF]hS@"=5d3{@O-Rn11w)ԩSz26 -Lt%#!эQHHqWs_+yޅ;w"l-uVQ{C%;1+Q>?Ik 7rO/#Y~Yi9a怜?Hg0ʊN ׶GK&?Tx0͜Ay1f`a C/u\Po$dW?,;^Q8ΐ?Qv~a-׋5 Gڎ(AE-XzfY KJ58#,ػAŲ2E dc1EcŵQJd1$_ɾ4fO ͿϣGV a_›%M[{Xc݁s"aP0% n|Mٻy']wnL<!>0L[+k9/JÝ:E YZ