tgt-1.0.85-150600.10.3.1<>,ՠhgp9|gQ \>(/InRۢe#]9`~ϦEA4҄~Ʌm}H36})^!zsPjXDB`WC)}_D@ &;TކEnԋ:rSMDo9ejIP/ږT&ϫXxϼ1(yƨɔX-l2rq5+JwėĞXLzx&v,{ Ld8"J~lBVʺuyu>LI\?ILd   @  *07U   ,, (, , 0, , ,,\,8\,  (& &#&($8$9$`:%=:>:?:#@:+B:3F:?G:T,H;,I;,X;Y;Z<,[<0\<4,]<,^? b@:c@dAaeAffAilAkuA,vB0wG,xG,yH`zHHHHHIIIHCtgt1.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).hgh01-ch3a 5SUSE Linux Enterprise 15SUSE LLC GPL-2.0-onlyhttps://www.suse.com/System/Daemonshttps://github.com/fujita/tgtlinuxx86_64 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 fiS1hWX 2F <&> G5 ?0 pF &AA큤A큤큤A큤A큤A큤hghghghghghghghghghghgcccccccccccchghghghghghghghghghghgchghgchghghghghghgc79c06ffb0e7a099cae470f5af01faee1dd4678f32dc69ca75db53fa9e77ca22f7e01f945e0ff741ca95f846b08e33f435ba778063c060175feb3d377a1b3a3bad134eb288df486608c6803526bde6f79f878be9279b91d1f59dc25532aecce4a3e964685b00174cd0fe553ea09d1b605a461c19019a4bb81ba84cc49baa309ddc3f209d84aff28b809767cb3ee43767ffd7561954378bfa3af22f7d3153f98eea759829c1cd52f725192937fd1d7c94e912b0df65b202a60e7b147885f9a7701db9a6bddf9268bb6f948bb47a0b81720156f073c25f1e664c16eeab37d5fd5025c13cc7806654a05528428ff80e27eeb717a3c45ff3b7f85f089c885919797be149cab8cf002a1dc8137af0e5c189eb83f82dc22944f084e1866ad0c283adf624548942e8f9fdfeddf4d3087c24e3f3e7270a785174361d9eec8ead09012dd2c18ae4418f1f92d1d04a2e1722a884eee7f808f717c531a303b41f71bf07cf70472310f111e0ed859ee94c43f14b409c7c81e27bbdd5b9e9917ca3d223100c78b955bc5c348bca24d6bbc4373e9ce4918502ca4db6f802b55eedae6ed1d93124c74f5a624cd8751a83e15faaec9f41935d168ec36bcbf64ecd23013ef7b594b124fcd150aff0e76adffb7b7231f5576057c041251f4fa0df555252026c68ae076b9ea8b4ed14ec6570bcd1e20cee7b3447acb1b1f2ed1bed1a62c89d845469dd358c96210bc9fbd47a17bf5234f6ce48770afa24cf7f9af47ae73c44e10487807bd68eb06d28ea37a256a7bad6d2064aa9cdc6d9734e977d8dcce102de306888a18f7df082e84f4f1291ea0305aa0f9bc2e49e1b2686782cb73905047b81979e65e66a9e05f340baee7fc1f01340803d561b3d227cd793bdd58cd966d1ca108e63b361ad831f9ec5ce2dcde7f07ce80e3cb94cd602cc24be14a86293dc2b0e29f58f2ae4042a63e7724ad929e75d16e52147c42ec01c852792d111f2f39f4dbe97a876093f2d556538b804aeea42394d13a764b60a28be4b3cc50061203553c07668f8fb349a21bfd15621701b4ef6e05c6ca201ef4820b58c02eba1ba13c5251a78f61e0e55448a661d86cfc66927199724a93a0787fd232fc6e19f00fbf7e9ab936e2102dfba3dd904d1f19ce821e7a4e75264044e0f5814ed6a0123ab50c1dd46bf80e9f9a38ed61745a871ba7419d0e10fce8c969d513424379ed54bcaa8c14582750d02759956ad2c803a299e34254c72d05157af2cb472d2b62b7bc680b6a83bb7380a09e618d28dd8d6f1ff2e42b82d9092ba1736377f629cce2a66dd1c1937effd19d4c27f469edb8bc99aaf20ae0c65c0d404add77ec1add91223788177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643ee90c2b93ab1421224420ff706dd0bd2784c84527de9313fbecd7f37e6589495ec6e8b950c258c5f14f085c33e04956a84cb11a7e79784e297b7efb75ac8c79a827de2229ae6a0e7039bcc93b384c96a6e2a04582741dd36a3ee474a108486f794c09339af2d9dbb60c598a3df5a0a8663870bde8691c24d454e63683439d56be8f725164ea3c0997d186c01a838bfae06b68551151026f3f087890302345dc3aa40831c0c1cf434d19b473efd0898b56e8a9aa26687f51a1ff2cbe5fea64e65servicerootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootroottgt-1.0.85-150600.10.3.1.src.rpmconfig(tgt)tgttgt(x86-64)@ @@@@@@@@@@@@@@@@@@@    /bin/bash/bin/sh/bin/sh/bin/sh/bin/sh/usr/bin/perlconfig(tgt)coreutilsdiffutilsfillupgrepld-linux-x86-64.so.2()(64bit)ld-linux-x86-64.so.2(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.14)(64bit)libc.so.6(GLIBC_2.2.5)(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.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/shiscsitargeth01-ch3a 1751615256  !"#$%&'()*+,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_Updatedrpmxz5x86_64-suse-linux     directoryASCII textPerl script text executableBourne-Again shell script, ASCII text executableELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 4.3.0, BuildID[sha1]=ab410cc875d7444d1433c5bf7ad91b9379d97c62, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 4.3.0, BuildID[sha1]=66c00f30f436acfb93143900215471332081f78b, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 4.3.0, BuildID[sha1]=88f4e3f274805b94dec831247ac7ba58c2e35856, 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)RRRRRRR RRRRRRRRRRRRRRR RR RRRRRL-GZsystemd-sysvcompatutf-83e309a621eebe37696cd2ffb78534cb37974a3d95ea9cb1de96097c008819bd7?@7zXZ !t/]"k%j|io# /DX2MJ9Bs3 JŰbsƵnTLi>N}U@|6KYU,g f"R!Y ?R^F:nRk[ LFgߣ\Z@^d  DeD[̉ XZ0؜MA]~BTV[Z{r5aUf[D/%1%ۜ&}=ڃKyd^-$XdKNr$~s4&$O@a5:.atʜBhs ,Bʿۑs-#by_L!t5x}'xzMUWZCVgnbзG,?~rQ?  u,^fEofNL }ֻ1kZvI`^I>0'WC+Aj U9oi2JVD[40eIaMc?1g|Vaԡ$[>U}s[ߒTڞnbn􍈺s:۫kH)4*CjoID[gKySmC6g;󱈥״/v1>rn+H^u)'%!r+RZA 530@ ^EN^ͼhyΞAg䘷) Kt├9|?ةf!(wG̥{ssR4lh3q%MmZLݿ, オWը.Lok7X"lg\#6wmpȹE F)+CˑIGP9 VN+gV\DtH( `\ߖ~!SO"J5)c &8PDFvʔ |=*9ywr~]dmE<< z<~JfaT%K*uFsfy[j|9Ir pG*J2M Ú2d7:dѾ}; ﱭS-`%lv$L{{џ!7%'tGpTK8xQ%> oOyd9fxN3_fReWK0u}i|~, M@( JAܙGPW|Buqw!`(A&Q*;=fW#ܐP&w͹3*>b f={?T,ONRdM)}$'bny`#CSxL6ƠB|V$֐2NϨD•/C~N8-WIO.K^?g"q5Nū 0qjKx ^Fs}<+OFĂ3xN!K0_JPKNFe*L4,\=PhkQ H━ށwDy:`MIDGr9ŏQ9lLd.EYkpt"x9JbV 3:M?^㳑3ll-:\@syeʲll}{R(K1T#dH#Kf9ʑBҩc8~w^n'ŃO>OeY%m|iW9X*fGU3W/=P "g>+⭀S"cs\'/of 9. %0V`x]77P7+CG<1GMX3/ԥiMҗ vdR$}Ak BAHv*^ f]սAtd6vrK>̈^B+Ki)d!Ht4͋ʯ03f98: gEK RN3eI?GEeL~:%})c'pPګ1U[^.n+7Mui< >O7 tBo|tμ@i7ܗŁ^d$fť[L;v:5ك]YծȨC ltRJdٺ'* i =Aۙ1L.Wu4C׾qmiXSg-KP| +lеg@'P[)wnY}V9p+|"rYA9 w=)ϱl_Jp*K~YIhسMHE[BɃoU~Qg9B~ )&AQVyVO]4jYZ0@xj-i>eEL8G@z'#԰/5U~"ۡ{ "CQ&rLEBUl*fyzMeؾ3JcǼ 5;nX;)iu;Eu$]fTeGiF|/ʃSk"oI2ջ[_콶MF*юwɈRGťړ., 785 $z$4AlTzX?-hJ; i𑫢VD cxT4u[E3j9 Q'eO"|GA$l/"l{ ?|ivde}ryuzymItG\bć=e}>+ɼ\4KHkAn]n[Xӻ{ekX^m ,` .^X?e kHmus>:xgb?ÀxlǔX(hr]jl)O[?,Gye {mLV j:%hO3U ~=J:~3&|{DT%!,l!~|[a_ĮCD[G%}Tzu%R4{lx;/8s+d ] kJ!ϬW/Ї<"V_5_)O"tϲ?݉y"t=$bgSHT,׈x &U#L)@ޔ4G5ΖM͛$R6{BGO (8nBSa#<_OK؍X:t Cu=tmNrf^7m'ʙyqpI_jAh+ڪ*{cVz15uĹ'*^#Wz = H.uJ#0SR8uB)ǡ9M `xs!:[SVf 37](z(G~R IcORN^Ph*`!I+(F:HXoY'2$laT,l|\`ۋ3-NyChkYck cBDlVT@7`Ѝ-̌1z۵-OJ#2UT?La!s.$_ҎjXZ( K:i5';5`"`7\1-+'{ڏ̤z AuGOq'WCN?|vKoZE=[qf>fdjuEz:fĸ*foSI\Bdon3_~*ˬ\id4j]9`!OYq@R:{aaF_Eyya C$;oKPpw{~DxoBcr^J5N"q2HKTe*$%ʆE%wbC ;LҊ^F#Jq<3`S+qE6):cydy$!\4j&:煰*޴K4:YN$Q}*Q*ГmUyFkXM^tF Eto'Kn8_ P,u5+rY`eŎB\,=>fU_Ee BAz® #6|I6y2s6 0X'?ҍ;a"ÌʹO蒈.9nZ_w=0$8BF4\ZO?{BSЦfwL#,T!\ߕH\DJ#XӷϺ-bvy'<>Vᣜ7IuP_g[ e #y7 % /U;:jԱ2c_D qH/smՐ:'ߧ[4eE{Dn/5E=,"Y_z]LaG}Y3!R[¡`XJM{աl8)0'4\uaGTc tWDu̻Fefo' { j<şo{}Y@swI-Iр` ]bOUʢ$#Q"954Ca&a9cB&ۃ7e#yk@jIp[ENSVs`d%ic+,@Hɗ)`~g#;Gw}/M'zV^ wH1iaͭb0ػDKh +µ C̱?ܵZSynWŚnT&]X<凋mݶx Kh$kyQw& &al]TM/Sct?0*1K΢*^#)o'c;`#Y[ d62oNBqQ]@8;wvI|\6&:`f>pcb+[J1SvF&fWhKlĥwY%*۵:c 4ba<7SʸPÕ'ĬOHar+eۺ/ 鹬 ^QR\ak8Ng6~bFcOv9l+ɲ39{~}lo@}":ɥBDvaBf! cgߪtVYџqSoCϪ:CVȅJ7T=?C`] G}Z/0atsPMI.:T19*]n&Z7dvS0by[Aq%A_ ~8@+am˺L1i?8e^Pxסެ L.|X|r'푡OA'"mw U|gĆH-e>;*_0| &%@d^{9ctY* l-NҢ`{ .80c3!Aq%H(`U=K]1VWD=pgtSϩٯȝBHߞ%*o!dAʑ 7 ,~DvRѱeT"{vdI"4INjup58T{kXY#C_ !4gwx/ƚY y3| ""OTfxFG:,GW߃m+uMA{r9=֤K6!BuEnMβ 5rEU~X,hJw6Q_)r7,bp)!?LQAڊYbcI]f "Ⱦw re qtWU%4$}* ǚ(3<Xpiv dHu,LXSQ?P>V)K+֮#+G^SK.+Gh08{D*VBFtXp0:usCʔ7O@Ӄ LwJy9J*Wcg>w^\9.#gF|(43`R0f?ɡ t̑9UkhTJ$Ee'{[%b]PLfPֵ=<K-vՐφ{ÅefR6ЯR~}{9ǙvH0^T]rv4'7O~wz` tO1%,G`p+f4PeIv\pH)pEH #](3MZ˱3?N|Ew] !-N_Ϛ!HHHv)p FN)j@֣f$#")X! HY&nhzb(n-v%^9$Qm+懇33InW+F(UyNG&BPP]=pE6MI=hh1Xh2RXa=+rWM1q<ٵN{5޳۰ˣ~8KMμ37NmY{$xH*7sCQLkzJe^/ka(}@'=]_*4_cJ:nm`UѐΉ܁lJS?<>>8y 0o_WoՓlz F/_[D.s0E. TJt f^0,SrdT{%Dd2znrK)&My-!F[4 =wV 593 >(&~p`/flQ N}Gظmex>'Q߸yxSX˙&绎 wǧe ^oD,=YYx>ygi@p_ Sw--w1Y<{3a!9"6br1&-tA,]Ka&9''?46ϸR'q6l l}BDKl<#f'.Y"1I85iu\@? F4줮Xg'W3/ /,ozU#by4J܅?3@rP'Щh8dL3 U%Cp13< W@X_T$VD*BXkW^}M7iJ _YX.ȥ0K4pxg׋* [Dz8Q:|CkpCܧH]e9>mkl 4{7U ȣQ,6bB=Z,5-GbګU!l[iߔ7kU 3X8 Rc%YUZ)۹4DJ\-;Pu"֧MeR|tº2$|Pr3:EEw^Vp8 +QbP J}+uHIZg g ]<_.]$eKg;0 zbF#IJsN45 rPY jP3"}7"@x3|'BXR]uqUAh2 V1 wҞZb Me^:3EPsL at5#jBNr;^;t>Zq:G'ATht ɥrVEPO`ܬ]7 KAeI3d4(z44Л6>,G](Gޢ 7ȶ%SFR@HCSG1Si_eeAa$Ѫp͒xd`sB@G>KQکaT'N8k_v~:%[Y"EjꉇkE_3A?!L/HPČ &c \=[龘XU/&IGB76U2 8x̿s#Cz7,vp%sU`扄ԁx<=emB#\"ϼ2Q1I4BS),$s`3p!lz,"o.k]2 G݇@97!Ȟ/Ą.H>Fz ">zR7Bi6t +2D o ixlt:Zf$K\Cpwe"q0뢶\1}@ٚ;e"nIpᇰVK+ ߄ӄ);)-jWm5VmwTiM 2}tO;}%Rh=ligA/f~0`/2%dSE'L§Z̎<,l~WU?0>؝` 8nԞh5-C_A%!d cH@2@!&;:$kY1l~W rX`.B}l[]Qo1s@-- q#)՝ls6'A#Da9XC^հ` ZG[Sg0*h|=ȮS !?T'}(ҝܳ1W#~]0/FC힚- ~"& rVAшvUee=.ݻm:)j- ֞G%酏 E Ŋ (_+U(\NI2I޳C2bĆ!<ҚsܚwNxyl[oB\3UX䡴}~JD($@V)!U3N'C.ԀJwZ9 0-LUE?K[,&S鞗թm܃\AP@뺓)w-Rx#FP+uL!el383X' JCU6%jrOWjDRc/L%y1NN OWx,mH˜VV$_T,J2ꉟOuySZ=%_g}~ 741?]5`$gHipқaU&Ӟ\aK.%\v! --XQ`F4 Kc^ͷX/Ohn6;C%?l;1P踉~y% $$Hҟf0ȇ#E/' 0g2~se\ȼNӎ&ӓu3GaG)m#=D rӒ'rnShcFT~FiheTbB{|HB:ȋ;䘥‡ܖWn oe0n`! [ΑB:(ُ5B)lیeTP:_è杓t׈6dQ6mH͝3:7ww]9bNgU . 96W[ceȤКǠ+u|LB'ˈ97WdEz'5[n$堾Jf8ʚD4agLNh:Rs*5HIw#br꬐^wn6>ߑe*bG؈^q ɝnNvO\p|{ ЈV9π!|nH.䀰lmG] ᱤ &%hda&!&#ۣf Àn rYK%>B9J>@|(0Jfa>LpRcLʹ4nv-kQI`CsX#FڔtR$|Dt({CrHv1[bRL7__P?^F$z r9V>!ܗrfE_p3NimWy uJd Fa07HQœ'ӌy[l-!'tw)-JHq"!.~$x1y q6:^&!҆PaBD/w>hUR%dlUG^sTG"7՚⮷NF+*?SON*(~@= ڵ<>/\-P:oq1f%o⓮zv<4=ELCbC̕lC1t!\68\Ӝ>eMK?#9at2w4<#@Ds)^1%;*~I0t5mٻ3/^ @ۧU?ln8 #2EX ]"| A"DF n+ ht;AE<%c ${.AMQ >R:SF3K> n@b7r9 1 -f.-$Yk#pnyOTpĻr`׫:]>Po 2q wkhڧ  KsAHRe_\_0BXcJvU j-bPMIjVhކMR<;7Qmoط7Jx GP!]~.xM >./?+p?uZA!CiЋT@exT줦a0m1)>^\L'jk AR,uwĶ`+Jc+f k3&i<'Ll߅NJG+J\r?9 Ps")R\ Gg#ޑUͫ2800QqvI.:#Q[G9 K5+_E,jAA)"ݦT8I^MQۗ5/s p Ƈf--?Ǜ}FIGM>3@iVzu#Y:ݹB['Z[$y8Un bM,hGMdMm5ve"Ѳc7Sew\N^~H=M/Cأӱ^BP%pkCޅh:٩ݐ'WAk6?VI$0`* !i-e#?s_*ݥ<XPp3h\fAͶO/Qn}~#衴piX;B9 XrP" ΃8}B@y2UV&_5%^ GG+tb>*_ KZZ|)[Պu%P]QdmyrmU/'fs,|d1[Môk vAU 9:NOL g>Ha`y=gL1vGLѽ`bMʁ& SrCgjǛ Y8<,YB E ql%!7dg-NO-'+[ UV ς=$*sn[G~M/gYԓ(]f ۠2cM A]<8S9r7g0I6ƒH'C G(>!kl6Rs`ѫMo~AD*_8dZz@EUDnEU}FP|yZz$P5}NQN@!#W,1pjYYUvѤ=c %/"a@>_>Vv nu3+]Cib # 'H_V$W@XK"W9ۉɟ.ĵaMcr{O}&(r wI{;t;V6hٸnX5^ e93KWp㕤"f޸ǩ3a=+k|S>,(>sўx4DR3A=Ju.PzVpE'M bmm"%s{y3(g_?oq5 i0= R'=U q-OP_\5§|%jH!)Ɨc';Tk( @+:B)U߰ci]RC^l&4>W6u,Vq@A ovkjzP]*N6c8]a7M%gDU U>ǡDx.Ŕ/o/!Q$ޘl&ؗ;hM=XQu(2-ze8;vg 啎1pn/58]oX"X@$M.!% /1YI~8WWlhveFTH0Őy>&{3 jDg[aE&{0p]u7 ? ~3V:`N Al%{/.uUc7־0wJHR h/ieEP_A~Gt|mRd4몜h;ߔWlk7D0{ J v~ifҖ 6 z_YE&bʈ.%Zfn@vBu 7 zϨE*`8Ik"DgGch c^@02˂d$N#ʇs\}Nj9LVZJg.tYET3ʹ}=g؇cANGj0=9Q^D;cpG.?؆%ꆕѩr=H0fib>/! 4vQ/)/d+vv4yzojsh ^-\'T+:lG4ŗW) nz—T{qaXzm987P~jD͞hDTGݱ/x{}n1iT؝7=XpAҵ2kޜ3D@"H۽Cy9#YTk<.0ȍՓEƫbo_2L LHuこTdޟq2&fQn&D ̏D\r!7ڣLGrƾM]g׎LRVPkf!uz3voPPy>p1t;8\4<*|'Do,>{^Bpa!Yy_-w&C+}ceLA*jti=6u~ kahWI/6&qf'saivªdz`vIGxc}jT L&# >?)@[Haiy0ޚy(4/H3]v9l2841B|~Ed;QE՛}OKv]D婊+9ic.)6[nL=wk1vy[?@]N%}> Gz%B&bL4)@_GR߼sst{_w[PZf)%iim:LƗ%şu}oMφ}:Ojb/TulTxOguRnO#tvk}aeyr,AK0";4 Pxcy \؆55+T!.V'Ƞ(0Yo02K5Qhlz#P2ah]Wca H?Qj|ښ@'rwe.Pj0Txю5E+h%CVVl~oAՌC{YTmK^%Ьcs@K:a#+r]0,?儡p Xg뫌ȴ24'CDwLޣ))TL{w曇x<퇞^x8[_Ka9mk8|W=>$|Ž(Q?+WLw EF] zbӴ5i4KL7M1nRc6p/ GW֐ڟT9]CXzh4vR HJ\E xorY cB5%:!рM{#Qa5sUZ{HAj,nPe~SsKжpp֯1&WZQYQ Hr0^vNifC &w{7]9ט(Y :9-~hXPm =CjT"NgQ2\oWa)y19#Z NgŅu^B)R?g>{SmZE7hӾ(ho3D7gN%{!0Wu"vWG2cg_n92@=a <3_Oq>˅nC[YqYi'KϱNoF˫5ZfwD3(qa Yp͌X'wxs?f?v5镊Ye#A] sUG&>+_QZNEIW)5\-&9'̻D(EYx4X%[Œۓt*=` 6@tMmyrܤ7VMDBz|\?;7-LcEǀ;[Fr$ _([GDGȪyV5*erз$u% %?? B]җ<@1òIa_wp,GI,#JGJC!]ǣŒ7:r(h(qG&z8Ԃ} 6V%Hdo0)AdJCl pm8"jE\O~sQCFgbJ)u[UW"iyP(hc^VHa6V vG&W~ 8 +Ex?VE!+$gՇ>! ґ8Վ@ Sw;&? Lm9eFG`"Z2~ !AISK2OT}{U }}GA]ԟ ᄪ?&Hb*[C7펯܈Bd l-kTM&ɚ=}:*f =tMcYB}%bI埦DrYW A\)ß^pVU (kpq>>ejqN=/AtO{H06_Hфq#UF 4yIUg|9lا”{$j$ tnR;q8R l[Z0Yt죲)SVhä, KƲ.oآ/NGzAS\DՈq^^CW6b`%Oq7kj:EOq86?Z.& oeyX1dzv z4dݕ=Cj׹ehҥ|ɑ#Guۦ>׭d&/s2Y/aYCw@ϳ:;HG j)7F=PV-ݎyuEɝ m ]dG_ ۾p`DL?-Иn]g#v\ѺzӸJĨSґQ} =Ks+LLF->UrbhA\#KI ^*NUTVNӘ333׮Y$>9nӮ Mu@No>̑Ed|B'0%ySH@>jޅ@"MݎKQ`! QHA'~>Pz6axuh0i\!`aF_gI6mQ<t,2]}%^U\K2 _ >i徎LN+j*ݭtTt3ݭ{v:3ז>ĥE~Jޘahs@0,'V{Z[*9"~#\F鷈/B`#zdPHqA8YTVvD֘~Uv]RW2}.yxQor38<^`7T=Inد9u0ZnI3)s}lEl0?rnN{ ^ Lڃ`=fҴlnwՔ\>GM-eSBG WWk454qc&<Ł37oE %-^!nRz9TzdI C'HE@"կ ,q[3EcvJZZnZJn;U7?-CdziB-Yat#0F @Q4AG+,*$N3]Raa&^X~B'-m{oHXЪՒNR-gc܍'W޶ƾ2ɭk;.7&vuy%) Ua^fR&"sDc6tVVWvthDvw+#$\|i^5?;Vp|YG%yBʜvA8G-:bΥyTdq]x֠Z=E.[Z 1 ꁱ/_fPyvˆ~19me.4ˆ6Fݼlg|BganjaNe'91lDF:K~xH.Nlo%F8T/?[SD# -@HA-#p^Pd(J+vo'a, )x]T{H%7Ayp>,}"l!b$zB!rk1d?"aVX5M4XjK@ o"ts=R[zX\~3hyTc"YCvAqac#k046V9LxKj9gPqs ̸kf?tYةZ)V"vW x3f7%?V؀ɰ$yXj}O eU}۱  3ZbhR3WD 9_Vf#T k'DG?/%>f e;`$x}=Gf5=z8؆F̢wD@,gW,3w(EgxGo"P-\WsTE*C\A ) >F8B8ޕ|B'KPޒzɳU3n`7H(#i=o,+0߾}h?Ij%G~VZѲxg jhv>j^*gD{m*ans{(jZ!X‰=Hk :@O&}G=sX)\&U[TNپgO-Z12TdskxIgј 鑏=:{s MY 'gޘ >&\.S h9Wd$"4ޏ'S{J)23 cZT.`FӪ^nclLZ 2<`-2a7wA^gL2q|Me4|7%ÊŜȆ-g *ҍ9#!xVz-X%3 EE70qu`p0rN6*D\SՍ Y߸{1c/P\8 WLvϜ'KW_/+F>2roZ"}%״Q[gn|ɧ*E%yPǠ醹,$l4h]#^t+)ASyAQZ1Qݥ21 ÚX%*_tw?!P)R=,PGyfbeч;&@pv]6:eC2'}/_ M饞]œۢ{, dArXdb}u)dB{wջv?P SIF::&|=\ }.lw>LkORSKAl*H2-*ȁ/#-ϔ9}Y3BD] ~Rz+}6tuӞ Z.VT+ F f'iX{xbڃC{} owbfS5$߯Gk^ s +2'[d2"2S:%sbx"n8 p4d t]S 9(8)CjE٣[GV.)db4ڃ? ,@C]7'C%elӻ4LK{=@pWAjɊ7\-ί`|nᖒ7a[s  #h"rIM]w`1}2AP%Ǡt-;= AQ*s3 2?*FZO+Wq$ϟZa619顃'ě7 9] W(lZM]6Mdꗕ.}LiMǴ`G:}R-ZTF@ÇE>cPbg0X &Z&^yIzi3dSĭYP1..4"' TޞM2KG CeW}"ɶ}m P, oU7xV ?k<ꓤBP[o== W\a1MPOށ"Rw~B#^H4tʱ"pk~\9T~{8Z!suylR9Z+BqsR,r %X- {v$m N]|X@񥯂u=pkX;8s ߒ9PC^. yU1Dwdg1T&F_ReKF4p`s8Afuh\BoJrm 8ijnbztҦR溱OdixJ~n4Zqk)?ϗN%KGAb˼̨,{pZJF:/A$FϴHfAnw$$K @C6s QZ \+:4FI)k^CT Zβg#"9T\ֆn>4 w6;ۻ\)ׄISWŊzݖWypicaЬ;* Dv6&(?"ĩF8L=rVN6. ͇s9CHB^PbƚKEz݅oaMgS|V&!y$E9j ,tB]wl@F PZraЖnmЬ2EUG `$Z~$籓{X&GßʿN*¯a [,ԐrCg6jYI( e>-6WYBcEMn'(=MpŹ: >/>ۿղO`@JIt l|;܊(B& C}x;pxcC1wF. YjZ.DEP/5:NeyD[.Is`9]JoQhm&Ċ_H';5qȌ`ch*W?.|5J]c}C[>\3r¬8:3ug"sJӋ49^ā,Z,OQߚ'6(Ml~x{v$(KN@?+|m}(jwE}؃l Oݪv76x @5_aϾR+|/afeNNAhTN1\q?wDpN(1#rQ}AɷJ7̼^&EC#QALOHo&T8"wX}20mcU 0'^zsim t BrL>t$KLZ}%(`xl)m"ξ^ᕨ"^ 4ELoRm:db3'bA]OZ3C c%%Y[< L%&StoZح@~k [VĿ4-()b瑉&)UدwɭF %O?|ӌdOnpdP NEyDbA1295yE&$;b}^<%..GFQbYq~UcѰH|kk>)3h12$(#CMkPl1 % B1msDWe}Ny%滫& wX0@M`{C#t^+Nbj|JSv"]v~MU.rwd" pqi>maD/i!uQa,#1"[hi$2xS5\>6nH;0-ztZѮ+ULLMA8RpQˢWu3D}{_t#\ 1qHkKF߹eڪO]{fhMfJ yκ%,<>Ǎ ԥ!hsǼ"FyAo.Xכ=[mL8Vh dDfumi2h9Z;Vez6Ǹw^FUp-  4&V`^S})3R{5lW}1,4Cakr6zUhBOLf3ElC GI}O*Hű? }J!)|+Ep H#M1@]u\Q}a1ϲe;H"vWpԅ9BP:HLZnIׄPVMT)P(_z ֫F;g'>]7PqZ %boթsF߄Xs UwQw3/\m;׃TqbzG9FҝD@sr@c+Z< 0Dʘ@RF |{%aࠋu4! tQ#Ō4RA ].ˣBu_yv"p+ {:^ef*HPlty>fs\|9@#Xfm76-WHSf:v'P}ܣ ֵj՗k&fLu(_q5rI4la:9UbM>N#M8Ub[1 @vb=!,10Bt~WP96dYL$G=TnYpAaRJJZb ?9}<~ϐ$ a頑PWW@W]u:wQc!sJ񱃄Y~{FPRupEC08g%#|-|1)БtyN=S) L4: pXb2((kȒ|[r˦R5tނUcrUpϔihLjd-=^)_k-rk.XŅYz1acEޗ ~(ҧ%i%e p}g$qof[ۥCh.H3| _ !N}jW rF.s#gڣ WunϗZ7Qul86qz:~rQQbt`wfj$+w`EFVmTOZM_hq<P$n&nr"EDz9Nn1&qby7ݟh:#P1XatM ntף-ؒ]?B#ܞ%[:vI2Kr@ZMZ陒͍EKzp97gu)g|U^T;g Vn+Pbc0>&\>Y5dŁVUL ~zsn/ȬM6=[K y4Y/7Yzem'S/=G˗nVW ֛cք *ydcPtC [pۇ#O PiUx4"GO)27{ǙEɖ' ]ezq%?4Q`uJDE}{^PqC]yno9c9 VޣݖDeR"X;N:9p pwsn.SOxns`A1sJt0Jm[Zթឹ>eL_A$vq$ݡph?"NR]_ERcLx\4$>8ECi`\j? klWIY!_4u nUOɩؖC> 5gS/ɲ0eIϱΐ,ԑޒܯVszp-W_, ei`9heY<0`EOY)C?-eglnY2Ae]6ZI (jk؃F(r "UYp7I י'ΓaK\bd —4h:%YTP/ܱ}el! WhAAUi@EU PӁ2˼ɃϾ&n!tICw |2sFA/ɌUK N$) ~N͐&fL2̰/3RA(ȿ}.,S8 ySrrdiAuTQ:]ڣI(dRy4Li Ra[z.\EdG{uLP^y/2줹̧ vn^vYTy㗯 Mza2FӉ>+k+F~-9hoBs_XMԶՅfUakf9'n`D :pL~5[%[>I]n>^U}0I[q]6Ux@h ~qש&8_#F6"H[U7'0GxNUWi4L;LrSlzw#sr鉴s|A"!rtaqMmtI) bCQf&ao WRU } >.N07}n-~T݈[h7Q1tKO ,*PZMV<C D&#v$8֘{P|'F x [| Vdh_',?0;sfտ47} #aǞ|)ƩP-QQ T`Omf3K= Ƥx'-߼ tč_!ڣ,AoAe+ "g-)I= uL"G,Qiv^Ovå iCp}2hQyg]O^ȡSI<3( 1֟R5@}8}Z+K| kNN_ڊʹ6?jiKbW S36zk =HɈRs nh_:;=.f*r3|4;>Ɍ 䈿y?yr\_]cjo%;woA/21Z: 9K^sÙV8&MxN+\Q*zL.Nfx;䉆E"63jםVqm^&{_ qAM2eZn$[5sZh9O}sTVʻw9{0!4Ύ?R YZ