tgt-1.0.85-150600.10.3.1<>,hg3p9|kLGAqb=j6RtY ^_ Ԉ;D|6L¿Q l:VgE.0APLaךּjlfg^q<2DsnLH\?HLd   @  *08V   ,, (, , 0, , ,,\,8\,  ( "(#8#9#\:$=9>9?9@9'B9/F9;G9P,H:,I:,X:Y:Z;([;,\;0,];,^> b?6c?d@]e@bf@el@gu@|,vA,wF ,xF,yGzGGGGGHHHHCtgt1.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).hg3nebbiolo SUSE Linux Enterprise 15SUSE LLC GPL-2.0-onlyhttps://www.suse.com/System/Daemonshttps://github.com/fujita/tgtlinuxppc64le 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 fiS10 2F <&> G5 ?0 pF &AA큤A큤큤A큤A큤A큤hg2hg2hg2hg2hg2hg2hg2hg2hg2hg2hg3cccccccccccchg2hg2hg2hg2hg2hg2hg2hg2hg2hg2hg2chg2hg3chg2hg2hg2hg2hg2hg2c79c06ffb0e7a099cae470f5af01faee1dd4678f32dc69ca75db53fa9e77ca22f7e01f945e0ff741ca95f846b08e33f435ba778063c060175feb3d377a1b3a3bad134eb288df486608c6803526bde6f79f878be9279b91d1f59dc25532aecce4a3e964685b00174cd0fe553ea09d1b605a461c19019a4bb81ba84cc49baa309dae302bf756e4e8e3a0fa5963f5718a36ab237ddd736598a90c92e90a7952e3e5c56f2c3715a47c854a0535872a175cf906d852378a90e93ee21075900f201102b0fb8667a82e36e5ba4c4dd0f989ba187316cee6bb23c79e5b70e0efd188f2d525c13cc7806654a05528428ff80e27eeb717a3c45ff3b7f85f089c885919797be149cab8cf002a1dc8137af0e5c189eb83f82dc22944f084e1866ad0c283adf624548942e8f9fdfeddf4d3087c24e3f3e7270a785174361d9eec8ead09012dd2c18ae4418f1f92d1d04a2e1722a884eee7f808f717c531a303b41f71bf07cf70472310f111e0ed859ee94c43f14b409c7c81e27bbdd5b9e9917ca3d223100c78b955bc5c348bca24d6bbc4373e9ce4918502ca4db6f802b55eedae6ed1d93124c74f5a624cd8751a83e15faaec9f41935d168ec36bcbf64ecd23013ef7b594b124fcd150aff0e76adffb7b7231f5576057c041251f4fa0df555252026c68ae076b9ea8b4ed14ec6570bcd1e20cee7b3447acb1b1f2ed1bed1a62c89d845469dd358c96210bc9fbd47a17bf5234f6ce48770afa24cf7f9af47ae73c44e10487807bd68eb06d28ea37a256a7bad6d2064aa9cdc6d9734e977d8dcce102de306888a18f7df082e84f4f1291ea0305aa0f9bc2e49e1b2686782cb73905047b81979e65e66a9e05f340baee7fc1f01340803d561b3d227cd793bdd58cd966d1ca108e63b361ad831f9ec5ce2dcde7f07ce80e3cb94cd602cc24be14a86293dc2b0e29f58f2ae4042a63e7724ad929e75d16e52147c42ec01c852792d111f2f39f4dbe97a876093f2d556538b804aeea42394d13a764b60a28be4b3cc50061203553c07668f8fb349a21bfd15621701b4ef6e05c6ca201ef4820b58c02eba1ba13c5251a78f61e0e55448a661d86cfc66927199724a93a0787fd232fc6e19f00fbf7e9ab936e2102dfba3dd904d1f19ce821e7a4e75264044e0f5814ed6a0123ab50c1dd46bf80e9f9a38ed61745a871ba7419d0e10fce8c969d513424379ed54bcaa8c14582750d02759956ad2c803a299e34254c72d05157af2cb472d2b62b7bc680b6a83bb7380a09e618d28dd8d6f1ff2e42b82d9092ba1736377f629cce2a66dd1c1937effd19d4c27f469edb8bc99aaf20ae0c65c0d404add77ec1add91223788177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643ee90c2b93ab1421224420ff706dd0bd2784c84527de9313fbecd7f37e6589495ec6e8b950c258c5f14f085c33e04956a84cb11a7e79784e297b7efb75ac8c79a827de2229ae6a0e7039bcc93b384c96a6e2a04582741dd36a3ee474a108486f794c09339af2d9dbb60c598a3df5a0a8663870bde8691c24d454e63683439d56be8f725164ea3c0997d186c01a838bfae06b68551151026f3f087890302345dc3aa40831c0c1cf434d19b473efd0898b56e8a9aa26687f51a1ff2cbe5fea64e65servicerootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootroottgt-1.0.85-150600.10.3.1.src.rpmconfig(tgt)tgttgt(ppc-64)@ @@@@@@@@@@@@    /bin/bash/bin/sh/bin/sh/bin/sh/bin/sh/usr/bin/perlconfig(tgt)coreutilsdiffutilsfillupgrepld64.so.2()(64bit)ld64.so.2(GLIBC_2.22)(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.17)(64bit)libc.so.6(GLIBC_2.25)(64bit)libc.so.6(GLIBC_2.33)(64bit)libc.so.6(GLIBC_2.34)(64bit)libc.so.6(GLIBC_2.38)(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/shiscsitargetnebbiolo 1751615283  !"#$%&'()*+,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_Updatedrpmxz5ppc64le-suse-linux     directoryASCII textPerl script text executableBourne-Again shell script, ASCII text executableELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, interpreter /lib64/ld64.so.2, BuildID[sha1]=963aba8c718c577b339e627ab12a3a806d99e630, for GNU/Linux 4.3.0, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, interpreter /lib64/ld64.so.2, BuildID[sha1]=11c63ae149c601720b4788e421c8961aaeb8cdfb, for GNU/Linux 4.3.0, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, interpreter /lib64/ld64.so.2, BuildID[sha1]=0dd052c1e3b2d65e57603da6b2c30f85800b8fdd, for GNU/Linux 4.3.0, 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 RRRRRRRR RR RRRR#m[7JL,x&>systemd-sysvcompatutf-8c0a83049cfb68ccd20cd889a18e4b44d1953640cea3547677d0666ed6539c00f?@7zXZ !t/s]"k%j|io# /DX2MJ9Bs3zAj_&bȶ|珩2*K@UVr%5s"onP jb[b(l V4]4/Nѧ?6~ɦBSp]@j?%2 v5LUM`vh("W6TZQ.JI9c8Ocg<"$Ky@"Bp195JZ}qsś݃ya_= Eb1e:6{!G@-Pâ$gXoS!f4!+YdEW`ְČ\b GiJw3v&@ ~OWb??vG6E]?OVPk? m5muN4Ier'q?w[&-hL 'D8k0jyLj'‹* M9, "OlЍ`s%b\qE],im8txbKsZ>$&!d}@\#h"ܤΠX/z>Gey'ݑ^r镐PNBTN2\_Iz%O^pRU-儨h4ˀ40 qv֏)TP656DRKJbGCb5UUL&#W; /:XAi -Yc0;R= 8{KE8H$ 79a5d1]ݟ R.+wR;<"4\c!wD*XYgAdBI#`l@O2h#'B f/֮j6Z&ll`>5gxD"k Ղ;VL!3־LڍM QP9$\#ۡm={7q˕ՙ8-2Ǟ:[ PBkL'CT%u@:KZ͆;kgOw>Ȋ cVIER V5պcs10I$c~ҳ+'J|:7hp߯&|TsYxhwD Nۧ$['K`FHK^ q` K}I9=2]bᇊ򛗕{ t8Ia߅|IcJy{/y%K h3]\w^b='lӭ&V>JE^\M&xG c C}~{p3Y;LTɰ46c˗XDHT[=}f_aå4m,'1k}=2%]Yۇʹk-o5x'mXDY=^YF SVŢ7N& h7\3V)7W?%9 =`Lx֑,֛ ;?w}W ^ 0>fG^W]?1het5f 0pg\Ȉ{ Ir&nj/`ogjXĦq>)xq `/>H% #Vv >A0̷ˆ<1~[ a6e 4452yY;֖o K88ґOvuxV)م9| <~),%Uw lW!!M$/6Dr; H?6^ ~~-?/̜[{}up;oC}y]Vol0O6M|@[/>Qː{S{e|E: Հ\ |VµIL9=Se4/dڎ\;&go`bUU-&/j5oˑUm~|K,;Oa8U'9c&bn̙^j{ Q$E OOʗsOT a#'0o.d?544hv'շ_ ry"= 8Q#65Vy!| ֢5^v]N vg]ゃB825/1%.1b+@jA|$PM*yF3 j0IWR!ɡ=˶dwI58,$졧@ K:o%Ae2p5躞/;b߱~5p;X|Յ6!脰=XmBl VRHIZs"Z'CǐB7\ 'j#Nm&Rr'X|z(IK`*rVB֑̏; >[en W$ո}:Y Փ 5-ލ˘+2 lwx `W٣D?:@b>S4ص%ŒJLv?t^ iKx2ԯYY'7]I5C]yeja<.Se{nϧPoXFAeQSfFJDñR1eX;ީ %H|9q`F \N+ -{M;;o ?N|2q_U0bB5`ʷ{2WCpl֭$dwofshx#tic5?ItR.~}2ʮ+.Iy,d'5$?LdG';pc5MEu?`Mh 4fLmp(8TSd_"KʿKO}-yoD`A4gf'VfS 4{u |y+wmX͖۪\6uչ☆#x]<%4}w*|H E1ZvM~{]C6 Ggmeo"tnexV΄%v^-_Yw&N[G#@H/WɥU,RLMQ8w֒t֯%()ӛiS6b,֭uLuzLbvO ,qW+#;LRdzޙ ٌ* #q=E30W\X;W!tY#z^!iP)w9_L`dV$K桾 t|vW,/iG8=m/T}kI@Mڠ,bF." sU yQ>ׅ;W7ιŞvISǨM&[ >.7he\7E pق h bXܝKy1U;,"yDNa ,kcp\A %qڒUݎ5iq9K;WK3# Jw|+B*jK$PpL%4>Cˀ1d,G"}q@ӚrÃx`4=pG۬q{G?Zc:U<Ĉ#|"՘RvgDH} ԇKc4+ÀmEMxxo'(zSf~tcKUcKs?Vrù\I޾O d[@Mҙ#y_B$~ӯ[9ˊZۃwWuC0:,(΋:97P SaNVh aR_þ3˄z_7DF4r]I|nGK%$LyxĿ|j~7_bNt@pb-l(meLSfϢ ::kF%Am]sj&48/ũg܃NorRh_ܭ+\i[98iJhBxV UX_E;tI{x\sS"I㟁軒$y>q`bbz% Zjh.nlϊ* .+E$2hl)дc<50Vcf)4ۇ-@8s JfDzNɪ*\b@~(|JTN, tArc bs즛3”ekBKӅN:gpY1_I P1Ѡa$f4ZP97̵\ȁPY҃ڗ;E5ݧ?oA +p yѡv첧'$V[~j`MԿWLg;1)7zqFf$BU'_rCEwX됛]CB9.djCM,$ n o> ߪUآP"3}AM"v+m=jwfu۶a9*?mlTgMB1UPiw jX֨>S}uϫy)r ) 6T' l #uva¾,5Ќ(Kx^]xU{k$ /h 1PG㏴@]঳04?> 3)_f)E7'.eѠs43%FrB]xDGz/zH u$Z25 0"*7#*]uOACܡ. c)- /_3 p@Cjk2ݳϘQ)zUs2\t2m2ZM!?{8φcb+ߊƶLۢ s/;+}{\LrOO[D&UpFыe,vA#zWC%ңX,`cxR]T~RVֵۣ i+`Tʁvr7⭸ AaIJN\ i( BEߗ' _ HK}'%Zoɵ wY.XކZ TWǽd (w(V';V 8ه̔B;뿀&Y/SDHF0\}@u}A?c_pl&c<+ȲO <մ|+G l:o+A\)3U*W#5zR:~WK~ !W#CBdliN'5zhD>-s'kzp.QRtW($ LfL[S.Jid!FQJH&x!spGhAVhpma9q-IXhHDX1n& |:Z=CU[n;Y'{P`A~bu #ݲ 55i\C ̆^AX6]|hG\Dч#ʹ֗uXH5Q-rILvM|b|rʓ ~Yj SY wîJH(L&oH`KNk2`rpa0 C k؉vQc|n өa5v(bϲ(uU]\E1/lg\~h0TycdQkʇ6rmO C2;.wϱE% Bx8 $|%eh(R73; /Oznطf\ mU%i) 3Q_N f!KU6v9l^BkjW~+_򻊞qƼ"Uz:Ԋfx{!@^} rE W<Yv":lEQ, Lg7 Wh*ض UHeD:)2U -0P_ji Z5=#"xIf6%s2]*JjOC/+8oy{"hy*u5Uz_^1Y[ў_\ۿSY)O4ڎ i}?d)3;>MJ@(} $K<َUpňʊ1NMA%էX.B6dlQ۰!zT̫Tr:N@/3QQ䇹oP)?ըqO6_ hGpH sT[M\nt2cg:x_xVٴBSQJe}(olr *˳YIMYxG:G?{m GLkuHppa$?vkrSQ+Ih}9w \i>*v542BA#y G k`u=׃>]81fsa:p> /&"mqxS8`I eo$̟,یwې!St )ת"evb5+YWKrLDl7]|4 W$"a'd H:HLyؑIw<fsnFͰo3נ{a/&P$uK.qI[qC w2 ̙!C ~ ։Y-*Őn `#$Sa;8_79e\i]eU}NW#l'e2Յ_:Gǫ1Ǥ伊} @|8l%;}k $d%^BIBط}6Ǿ/s0fD$.7ܱBQ+¨>h?J ݡIy#|2>zDƟ;#B(<65 9ZZ^%6@U,V<Ex sXHW|e2|/FKsHVΟUm`k7?mz E}Wt~NZ#/WWğ* Q-܇bEz%Lew*sD~&)zXtroO%J<~.2OABz(h~9Ll5lQȞ N92zr:W.vࠬJ(MJ-qvGgᳰQw5,dTs?@ 5[u T fMz(y<{'D2+/ ׀ \ڌ'|ѵ=\ȝnAŮ- /2^VRopuSj4I܍n_zAZ{8TIiy 'hvpHԬcuP|KҵpD$t =KV0E-Cebۄҙ~D gەtQ3lHr͠I Etqx VA;2E`V =,L3A#2toyq*kXʗvSbIu96S#l$掇=ɓ:x , y+3r6?kKa:Cmqq4j%.db/(TަNe*M$7T9&X76o>'=kQ{~F-4/Tu'4IRo%AsHp?;eߧ1_s^ίW+7@E2Zf9jo5829 eQzƆ "n0ߓ4E{U;ޥ5vSyYcF cavP#$pZ>ɔmef*Q(C"mrI5UH膚ՇDnO~OP 0>; g#rzIcEdž]bZ2["OKϓWxaѵzGgvȯ%t-Pq)%;za)3 ؕ'E0ʃ#Zj!%Ц6X~WC*`8mȫƳ 6Э54Z"W-`5U,(< c;sf@U̵ QTJiCÛ}>`e;wyuKy5OGfrӘ/}JMCŘ1ږc(h7ׇtpg-&w=댪&=/\LF?w"y2=CL8 "϶2[?&d je_TŽmErL }^Mb7"`Ŋ:xQ;qP]l+*c0@@sGt|hzdp*V0]Y"3X#ަY9@%1x=8aҞP+?5L;.gjFQ>~ E8˸֎3-/R3!R޶( XcI_7Uܹ؉V_"`cf4{X/xnKG8C&t>6B4CSPDf$hL o6g57FounhUduuz]|̛=64ָ M{$\wԚ(֑ mN3ѱ_i:"=>6 S1s[J~I#և+,谢[C>nEY []bFNU@Ŋ&,jrPQ络k]P%6k* tx5n!(*xP|k\=_IJu,f&F||nXyP'IX(tWe̚/fF>nO cf>NE'9hdß̴ċ%iZ:P\7i;bsڡ>[9ֳyMRO {Wݣdʰ0yVH*jdN3Cպ2\Z|=Ղ[y> 7of{lrSߧ^t=*ddžUw=?# \{sAgz9A5p ݗs飆 5A Ӷb3n!Ɇ(/Sa'b>nf;#N v<dIsǁIVsV ف{I +[#N6,[>"U𜠢n h)[[ xu* T{$"HD!_bIr]iȃwΘ:5k_ R8 k2Ҩ^Qʭx N{ʠV)M+ |TkV~" *”?+ Ko(1Id%E_alvQ*s@\_~yO19>xPw HAyfwiû9etv#PI%9M)Z^w<-UHdvWܣ@ф(7MOl5y D"p.%Dh#n$|Tk_gev<ũ>縎/QmVou{9E|E!bgNyv,[:@PW ؊S'хF~cD@)ٽ-[aA==RO aEsv0><;B 8DXK6Go!6칢xFY V V$-*,DĒ:߬+d0nKІHYͭJ_rS\/0%bD8CdS`Bd̆h?jaӯذS^,2u SJQ[ZY0_ F:zV1kǍlV[,k;@-LLzn^CM0{YkCFQR_fӶV0v0nEKBwH1($K6As-̐^w";lۼţ+gd%ןC xamU!"Ga՝pU{] hDF w:[ggy35߃6EG]Ay %汎T ;,A'쑴um%*-<-!_׾x,I/Ӵ?ߪm_r-&󻉧 (ߴD?C9=},$-#Wl{^\1J ń!KL`OcxW]lFɅXJ݁hII_;,|ylMn51gW9I>Z=sOwѳ7M7cO 512?zm%ޣMV6_iq Ҟ (c^ jJ۴kGqpws"L* T7:hn _zPC,`Y/Ĭ{/QJ_Eke (p_I;˟R"=gnȊl;mXݱxsl j0N2hR;yw7AM E G ;ЈDXY;rlLUx)`; +"<[xXdiH(XA{ccA}w}LpG<5SKcXqn"+}>+n{󷄄9£e H^ʶ{onUwZwd_)v,[ %WNB`AELT~ >3O8k%S}?3l^ٙ]izG?-: ;oKX&4HԞ)i~VZnDǢu-Y+MI(}ȟwYb>DRa?^}xߺ="Z~"Y62Aģ+]$v"9frxE֕$Ty+w~ 45UiBI9|Ԏm+6C6 o?yGFja.LG:i-L@Y'ݑg$nKT%b3z6άi&$B+xh];D=/,6].x.?zR!ךͳZ.}3¡y?!.xo }tO 8C[MjUis?wW$֑a`#p^KY>ϳ rT̗:F@CNn0Y+Q%T{(*{ؾHsVMqO$x\%^ܺZ0'T+!\ȸᛝ>q108@'{)ӈu0& A%0-Zg@zXa~eK(а8%^Jq˚Hy|3; btђc( ^}-pݡ]xfJodSkސ䗩 5QSƤQ@4Zr{Dۿ(}9nCwVmn%8hG`*o=&DQ6X\c ^CJL4f.0O5{:뎸0Re9E-[&'ýjxc*iǓ'2RNt0F8W8r I3_837( P3 sHӖ&d?,|ѽ_hrogqỷVS;U烟Ajh3aAqkCLԙQM?_M)"Pu-Icp.:J\ //s2ݳå;]4`<5xJ!X , l7)tڎI3mC῕f Js. T%A~Q3,O77,ZoJv򀒽 뮵?ufn.ub{!wN'_T!7HÆ ݺ仝fÙy6DY!/x{3kfS-޵UlZ&O£e.V_T a_bHveH˜ zV 3CXpl&єԜdrGc])t$D_2[Vҥ풪1uOxkI>+4Yԕ>Ioԅb.Pr;Fi :au O3vAu2/p! m3 wS L̆?槣dDM7 *`vxq}CGcKokN9%xzemlZI?!g/#:k|2kuReZ/q| : ";jڈPPcF=M˃5e=QHPtҾϣ%G]]u>Ғ+`<5,ȥn&ÊXNrF6]ܼ'2&Fciz(NH-O򫼖M$M,V]Ao$f8Xz9g˻HZE{J;$ŋ71{Ր鱠<^t!Ie֖e{3Hy,F)ҍ J/[֙ ĕzuk8l7p (A/%2go 9[X]e`S۱M}$9u >}LH hZj%ꮯڛhAA-~yt||vONtV~l[1{E[f iĦ=P&-^2E:xymU܌g>/b.<pDE7,0"1A3j HDXv1ejHnƞ⅝eeq1Q56᬴&UOk?botR+35p8ɡt~حMn){?߈{7 3 -_ {Vfe$9wXe3YrCTXT#@75~aYOT^qoۭ&;+7Ify ݣø74ލfS{ptM2KE2Pӵpucmhіv:$WsbBbtY⛋K #<LAY5U({Rƒ5D雒壈B9G|p!qWreZ5{~#xaƨdY1 3ɮ9K~$hM]n2)i9EuLT҇Zfe&GhE#RKqcb9K:Nɝ7t"^TlkSu*V6J;y45x] %Vm2ȆS/:R3Mi#/R`CoXsEpMtnPDnZ*Eh3?Od~VMq2F&fgD%P&%ZvX/X{@!?Im2R['It2Ԉ_YUք|M?5^ ΛUyOL&Ds_>Ӷ]w#^a@ e}Gh '3sf=Qo"4MPg7#Ͷd\o}].=FVX-/>{,]Ni˦R+##eN-c4>uiv 6DT!0{8~gMwގg.W dȒW(Īɧ!\FK؍s2ZQN*zØgZ'ZA7^@lsIK_Sq={XDr=C?nLMwfZli]:떜n%XU#e{h.CtED v zI_Z튼=`e\!sp-b^cc%C-ԄW8@ 'ZÄ3YShxX7bçSc}t:bY~0-PUjHzjX P8rR]`p\Q4K_z2?U-&%1hz]da`gh:F1])Ⱥi=c4=Lg-JcUJ#ȆItYHgRqZ+fM2 `{#j ϭym}EKgf+nX}6zuEQRWo im.QzZɽpe ]9MW||rxMoIe#b zwrBwm<]ha)d0 Ӽ[a ~\iaU {ZfMQ?rIە{ 02<(%LV'QdVY' F +xe۩~ALsGr\NO7=#Pƫ @\ u(!lᬂA[}d"٣pSN_QwdiGd*T]2{BoE_ HIGzn#ܓHn 7VccWaW_>LY D Yquyq䰦y$8nMFmD|%U+ fN0#::?P4]4GGLp|̘O}]fP%4WoH66Nd[П֦tu31JE})<[x ߸PVe^orB ?YjN >Py$;#Ҫ_tU_M˟}AǙ! d˫T,holevw&T.پ w{qȊ̭PSڿ[qY0Gd]PRkp:?.jRERqC%u?q^HvYpvb -jLDdE@>bj6@'- $8Nw~G@sҲ{-2lKLgi1 ъ1FP#3qw/#fuސ{BS8D^Wݥ=oqL /' =QŒE} xaEo{6B BO_7YyҥPAyf6x*Q gn!¹ϔpo˜͗t%0+3G~ۘkӳ+S8v/3LrפWx!AD jRAX B6ې˟ 7|̑PZ]xd ܞHd/߽҅e~6 0hQeaYKnRʑ!ј1e)`"Ȳ'ʀ3hAz6߼uh%VQ&%LPXߵQ25"y$?7C-Wą%ODw}l)P}6āk²Ûu'LX(PYR?HtaN,1$ ؉ ]g5ҕ&$8ǦzͿ`_yf8|NHO)%PǓfoge/}"Ŵ Cap#}˜+چ# M2D})BюFT?l{DmD0ءmjJ _9]7*ض{'uӴO[ɔӦV![HT>/ut3~E ئT\%S7q5ʍaL\JP99LS)d0g𡛌H b)//+o2g_zy„]m}䜔S,12ОLHuϬK3[ B(2ArX+\zCKb+۽_gfw*W7Zc )^G߼"-z2{f!F^[]S`@M*ʀm赸 r%SH{Y. yA1t"D"J'rb~*[`: _-b ʟ'@"Wd]l#ե+;f|Gч߼$iQw@JE.=AqrPVk.'O]'_тD5kiRti MsZJA"^-P8Xt7SOpĂl7iH&='p+,+[_,d Ǜ)YN](|=:㓅r9ܹHXH 9xSB/B?W~)[XD,'/. ugCO $|{zX?'Hyt` CD`r'u%L.roDj #@oS]  9bn$X5{&zg fw#j䩌 cH_ &?{[P''}#'\K?VVx[m8"8fS$sBg']e4@ Z +H yN6 ׭e!*^_7O5slr=TkNo8 z v~Q?Ah7|4%<c5k(&զ><=i!S`}ttf&-]0a/.3 h >`~ͨ]Ղ ְ)z2fy6EYc07z, "LJ\)S/礒_$ќ cyZ5.iv^em{?TQ&#ͻӵ"1H%B`H/ɋ Vc+_R2CH%)-{-X݂<ŔmبgBCEXꫫ|Y@퉛~IO vw7t'c*8Y6"Jj"gWa8Vt*xF-<:4*,d -_j8g ,_n1)P&=MK[ +'}T!Ж30:7Y9EyF*WP3'W EvlwH&C U"6q rYדӎfT,B KjvCt G<~9f!2~We^ +۹Dm 0yBLP1vf൰zt݌X3*k9da ~$ȢXF `(^<([TVa?}0oo`.JAdlL|1Pw{jIhUVVǎX_D'GFOJNVkg)ze?qH2%bHSŌs=%a-oɯ(|Z 1*J$+kLpEYnmFr~7ۃu?:!Ʊɂ/eZ1? )mU~q:4k*8ehѵ LƺK:;<}@=Z7f{8,q.$9?n B1R|e,f t!7_]_8^(_J~ĕcuM ti喇O鯮*j"RX6E?[7,49is&5ڀ=Q#2lڊ .m2M Vo&O/f1G6tfEdduVXp 0DcVh+suɺj =q5 "Q!S!^4$_JJtQKWU3sy}0*=$`zdZp(YnF%NX#[djVÓ5cJ<[XQh}SB;7p7^K?m'iI+Ҙ[ DO^FV$UČ)+ 1uyvP[w.gʊ]D 4}nsc/b5㗆s]O(ğlwvej_)+?6q*za"^S N<yƌ͡G&` s I7 .vghvӐS+okF 59mvLDm M%λ?_)jW EQcjkuI]IN DtE7o`z*v35kRPj,s\ U)}pisx 9[fZAc?@aOY Cz˜HpD94Gj~%zH>ޭR1=òHt᮶0,*|vxSEMIO/~l,Kf 0jdy[)Dt{ꡘ'i{Fk9(J(^VϬغDEijF(t>sXw.ciD,ݣ<s6rK@dI + vXҍ0EĦ[*9}i.p{OX4wDa( %7Tfg߱dOSŕIrc\r,SM5 ,I O#oy_a0Iy%h9ޚU{`_$0sΨGvHHw`U7"dC\Grz%G*1lqgpk+@tY#|F0TxA iJi9$x5m47c?e`tRa? P:po[wy0sϛ#XRY# V!S*κ ;9R(T'+fS졢W;VLt: .drhQաu%(eӰھҏĸ{UlA6- EUC|"yӓwJ&Σ8:q3P;h3R9YhRi%z}6cڶǑ^ء\kہ׍ H(z9!uE*}fvQyyzQܣC`[`u/C$"]6sr'P*m@R(|U'_Q$*@,uPp`Rv-ES@|VԠtglH-6 3#,UM8eq'`DoVǮ8Eܪׯʸ1[I=!O8kxY7z$8,d$lx1`D *rTk|#(z ޢ*M f X.!uAzf]rnhj_5iY5EZ2w٩˽NӟC}Vo 6g[A@]-/`-b<ie&#%f gX] EYCd"M&ͩrcq`;rNPS'{Ϝ4(nF;eZR\Ы.7BjyJ~Yd{/jKn2 L]oKP棾ӓPnS,k][0moݨ"myDl趐B,Pe?iB PSM(q\ƟpƤMqYWXTg1'MNQ= dljDvޜ OIEuZƧjW[>E4$ز\vgfmG}ABQѫ0H5~t*fκ^__[>3T8šM}}9E `D Tn9X,L~ȯ{g%HDtWr1tZYlݲI\^}1١ ݁"P뫮_z+g" ұm,˘Z 'OX>}R[_4"u #=qwohNB@hCM 'Rq6{Jq-s.z'G(~rCm>[(TlM~,ĪOAj13ŐhHmq+q6-3gx&)4F+}D}*igxĕꩍ RHV\4“uuOn| LY&j,iTd/4[MnUbўXC8ɩ{moxps+m5T3 Y.x2P߾yt1h%ʼK@PT6ߖ̗]S{#*߷ꦂ`굍?r G2i {‰~*x9m |]D2f-ecU<^&\EKTf᫲\PoSCp tRJ]\FFΟ%9C_ߵh&ѵn3`8cLByvu1F_YR-$ Qf8Sϑ!̓6ȯwoCqmיŐW,6S `<['ZPs D1^9K @$5.D&stj):y˅m1;&͇O !eV{,ִx=oY*%| HlܙΜw\9 Q꘿fq$$/C^F O 8!E7Y(g;BkŃ>w@[(]g|(L1DA" ㊕ς].J^IRGs`ab:ul89Qq3`wњ0x4n_d1pzL%8_AD6, S7"4b;|$qӘlwi4IЌ0Ĭ!&,wW-"wY[G u?P͓?&cJDyZI%p|$At޷@ߤ-FK;f\H, ~7SJ3G%(G4-ɖc/# e,m+Lt{AM%7} Q_rӔL 78@%9+G(^B,ДF݋jJ <|!ku^I֕ky>uIdB kaU~ pF7jy;=ʰXY fW^dg:>~&_gګL}]?ɶd3dF`5]j͍O"_iY9'wKבZ/}D1Pз+@?jpYCIYjZ8'R FRIv+ vQV2y3@q|NG$O80oZShze/ZxKpRg.+yqw8@K79ؾ4nߥnSIl/Q01T$?BXGei$p-5g1眼u5v%S ^*JԋNܫV?+3k[QTCML??'ks/zP>\z?ߘs ԥ"jx*ڽͷIMDލʘ YZ