trousers-0.3.15-150600.10.3.1<>,p܉gp9|FY{;j*6NSo%E 6x-YİkR9j`Lgz 3*EcZx"sphajnH1?1 d   V!BO e{ g d ( T  B `%<(D8L 9t :` =$>%?% @%F%G%0H%I%X%Y&\&D]&^' b(}c)&d)e)f)l)u)v* w+x, y,dz,,00001Ctrousers0.3.15150600.10.3.1TSS (TCG Software Stack) access daemon for a TPM chipThe trousers package provides a TSS implementation through the help of a user-space daemon, the tcsd, and a library Trousers aims to be compliant to the 1.1b and 1.2 TSS specifications as available from the Trusted Computing website http://www.trustedcomputinggroup.org/. The package needs the /dev/tpm device file to be present on your system. It is a character device file major 10 minor 224, 0600 tss:tss.gnebbiolo)SUSE Linux Enterprise 15SUSE LLC BSD-3-Clausehttps://www.suse.com/Productivity/Securityhttp://trousers.sourceforge.net/linuxppc64le/usr/bin/getent group tss >/dev/null || /usr/sbin/groupadd -g 98 tss || : /usr/bin/getent passwd tss >/dev/null || \ /usr/sbin/useradd -u 98 -o -g tss -s /bin/false -c "TSS daemon" \ -d /var/lib/tpm tss || : 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 tcsd.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 [ -x /usr/bin/udevadm ] && /usr/bin/udevadm control --reload || : 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 tcsd.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 /usr/bin/udevadm trigger -s tpm || : # bsc#1164472: adjust potential root ownership to allow tcsd to open the file # as unprivileged user. Be careful not to follow a symlink target. system_data=/var/lib/tpm/system.data if [ -e "${system_data}" ]; then chown --no-dereference tss:tss /var/lib/tpm/system.data 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 tcsd.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 tcsd.service ) || : fi test -n "$FIRST_ARG" || FIRST_ARG="$1" if [ $1 -eq 0 ]; then # Package removal for service in tcsd.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 tcsd.service ) || : fi fi.\W"#]~^^A큤A큤Agggggg^S_L^S^S^S^S^S^S^S^Sggg^S^Sgeb009b7d1132ac33411e8f838c7e272606c8dd1d8944bc8b82ee28f9114e82fcc56f762ff401646eae0b25769c79234e22cabea3e3b4f4c7bc581a23787b36f44b635e9ae00264cd370fc62921814265679e2a15fa6d6ebbd468e40f00af48f42efd45c76b2d8d1201c09ad47f379c8f555b43e4fd00f37250ff97ab219eba08fa066fc32ac644d28c5ae56f62feae0e3b8639565dccad1cc4345dc71577970ffccf2c7a906ae571849fc1bacd98f3e070e4da85b2ec6e937aa45ca1323b55ef1ad596d12e7471549663c03e280b5b5d084a2e853fb86e4d766109818f9d7dae4a6bf595610b97b05728f4615d54faf290fac3f8bef836a5d919de070f3cecc4842cff0de213dbcbe03bdcc03c3dcfaa48e03bf45eea9d18e970cef4411f4458686e9d62dea2df5433d4a435602c3e0522b3bb68a2e75c39c80552d6bdddd948e10fd3096b3fca327b01803d91959817028371fe8d9e1970256bc56aeb1bdc1138547b7d669844a1d7d5b9075872b6f5117996c0a21d78e383e79ce7eaedb8c07ef598700d70a9cd14ba28950c7b048cf21ec2ac2297013e5789830b58ffe8baf09355ad0bc2e91d802c18654c2b9219ac1a26cab805879a784eb8a030e02c437cef9d8224b158378505c02b77fcdaa05a2f9ecc1552e95ad6d71b5ea96b690219a3b32565147e2a9d085f67d3c83fd4b93dad037fb966cb0cc5499d8fa6a568d7c26f86aeb0e601cd2358475047161b619bb46872f84569448031f3649619e35e3194d734c81d99d6cb679ed5c24ac97652b068ff12eed215e1ce382a4fb7dcservicerootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootroottsstssrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootroottsstrousers-0.3.15-150600.10.3.1.src.rpmconfig(trousers)trouserstrousers(ppc-64) @@@@@@@    /bin/sh/bin/sh/bin/sh/bin/sh/bin/shconfig(trousers)coreutilslibc.so.6()(64bit)libc.so.6(GLIBC_2.17)(64bit)libc.so.6(GLIBC_2.32)(64bit)libc.so.6(GLIBC_2.33)(64bit)libc.so.6(GLIBC_2.34)(64bit)libcrypto.so.3()(64bit)libcrypto.so.3(OPENSSL_3.0.0)(64bit)pwdutilsrpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)udev0.3.15-150600.10.3.13.0.4-14.6.0-14.0-15.2-14.14.3g@f4a\>@^˳@][GXh@W,@U@U/@meissner@suse.commatthias.gerstner@suse.commatthias.gerstner@suse.commatthias.gerstner@suse.commatthias.gerstner@suse.commatthias.gerstner@suse.commailaender@opensuse.orgjengelh@inai.decrrodriguez@opensuse.orgmpluskal@suse.com- make sure that udev workers have finished before daemon-reload (bsc#1231071 bsc#1236457)- fix runtime requirements for stat and udevadm (bsc#1221770). On minimal systems this can cause the %pretrans or %post scriptlets to fail because of missing tools.- update to new upstream version 0.3.15 (jira#SLE-18269): - Corrected mutliple security issues that existed if the tcsd is started by root instead of the tss user. CVE-2020-24332, CVE-2020-24330, CVE-2020-24331 - Replaced use of _no_optimize with asm memory barrier - Fixed multiple potential instances of use after free memory handling - Removed unused global variables which caused build issue on some distros - drop bsc1164472.patch: now contained in upstream tarball - adjusted %setup macro invocation which seemed to be wrong- fix a potential tss user to root privilege escalation when running tcsd (bsc#1164472). To do this run tcsd as the 'tss' user right away to prevent badly designed privilege drop and initialization code to run. - add bsc1164472.patch: additionally harden operation of tcsd when running as root. No longer follow symlinks in /var/lib/tpm. Drop gid to tss main group. require /etc/tcsd.conf to be owned by root:tss mode 0640.- Fix a local symlink attack problem with the %posttrans scriptlet (bsc#1157651, CVE-2019-18898). A rogue tss user could have used this attack to gain ownership of arbitrary files in the system during installation/update of the trousers package.- fix wrong installation of system.data.{auth,noauth} into /var/lib/tpm. These files are only sample files that *can* be used to fake that ownership was already taken by trousers, when other TPM stacks did that already. These files should not be there by default. Therefore install them into /usr/share/trousers instead, to allow the user to use them at his own discretion (fixes bsc#1111381). - implement a backup and restore logic for /var/lib/tpm/system.data.* to prevent removal of validly stored trousers state during update.- Update to version 0.3.14 (see ChangeLog) (FATE#321450)- Check for user/group existence before attempting to add them, and remove error suppression from these calls. - Avoid runtime dependency on systemd, the macros can all deal with its absence.- Force GNU inline semantics, fixes build with GCC5- Cleanup spec-file with spec-cleaner - Update prerequires - Use systemd unit file * replace tcsd.init with tcsd.service/bin/sh/bin/sh/bin/sh/bin/shnebbiolo 1738925487 0.3.15-150600.10.3.10.3.15-150600.10.3.10.3.15-150600.10.3.1 tcsd.conftcsd.service91-trousers.rulesrctcsdtcsdtrousersAUTHORSChangeLogLICENSELTC-TSS_LLD_08_r2.pdfLTC-TSS_LLD_08_r2.sxwNICETOHAVESREADMEREADME.selinuxTODOTSS_programming_SNAFUs.txttcsd.conf.5.gztcsd.8.gztrouserssystem.data.authsystem.data.noauthtpm/etc//usr/lib/systemd/system//usr/lib/udev/rules.d//usr/sbin//usr/share/doc/packages//usr/share/doc/packages/trousers//usr/share/man/man5//usr/share/man/man8//usr/share//usr/share/trousers//var/lib/-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:37368/SUSE_SLE-15-SP6_Update/acab3358446069a4d3709cf4ea8d3d73-trousers.SUSE_SLE-15-SP6_Updatedrpmxz5ppc64le-suse-linuxASCII textELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, interpreter /lib64/ld64.so.2, BuildID[sha1]=9f72808c8a7fa7320e6df7e82a126a35023d1e56, for GNU/Linux 3.10.0, strippeddirectoryASCII text, with no line terminators (OpenOffice.org 1.x Writer document)troff or preprocessor input, ASCII text (gzip compressed data, max compression, from Unix)R R R R RR RߍjÆn0Ʃg# this scriplet and the counterpart in %posttrans work around a packaging bug # that was present in all trousers packages since around 2008 until 2018. # /var/lib/tpm/system.data.* was wrongly packaged as runtime state data # instead of package resource data in /usr/share. After removal of these files # from packaging, during updating they will be deleted. Since users could have # created their own versions of the files already (by taking ownership of a # TPM) we want to keep those files in place. # # to achieve this we use the ownership of /var/lib/tpm as an indicator. # Versions that still wrongly package those files also had the ownership of # the directory wrong. Therefore if the directory is not owned by the tss user # we apply a backup and restore logic. [ ! -d "/var/lib/tpm" ] && exit 0 OWNER=`/usr/bin/stat -c "%U" "/var/lib/tpm"` [ "$OWNER" = "tss" ] && exit 0 for data in system.data.auth system.data.noauth; do file="/var/lib/tpm/${data}" [ ! -e "$file" ] && continue cp -p $file ${file}.rpmsave echo "saving backup of $file" done/bin/shutf-8dfcd7d311ff56891b8720557c819edc0b75c8a47d51aaa1397ec9f12f1496018?7zXZ !t/_=:]"k%460c>ͱ;jAmInqӴYЇ[įG` 0E  |oZJO6SѼm X*AV he_ʑGL:#u,ς;$o4pd'mB5b5A3H0naj g@xU,')|m4kƞH`tiթеy&9r+"}aRÑa% !ҳ2kϙ^N08h DNVdpBJ0 c}׌.▭.Ḳs[,GLcp b%˫$j.0d$uiz1ņYq~UuV)-;"e4h% dcBꂨ0Lv(Xu t ZIp[W րA#_F#{nʵcMe\ZЗfݜW^s׌Z5}} ^F ,1+~"X=17VZR%`Oa |# #+G3;nʉ ۿSח%[s^]9Hp(Fn@JDOJ y"%<b!2zNc[` Q(q?|)o'8X;ŦgZ`3᫑+`,{zR#6@$,< npsQLCƯ;Io(4ک=f4ċ8 H<3⽼7wr2om[%qP߬| f2LKd}@_P=x%{ww&*=o~Py:6 KѢ]`D=A hugZ*o3;_'R.:)[L^CoB[KR}!g1/I#nX)-t*<ڷ,)lu$h_6iDs"41 bEytmbܩvrE^O#7k7?usN\L<b7=gާuڰc:!IC.?YE\͋]F޵cB@<+ެ;? x3vDht7UdSGcn};A Áb==={k/ޮٞ9e0ˣ<+@ `e/Z5"  L߯x5 ɚy=E<1 `seMսcE**0E i6(h4Ds8sS17(p '6иVw(f%7Bt$<.qQ١R@U!])VNLP9˯ɝlo b_ *4τ<5HGݹEhdpycYY %c;xqemH6jICcì J 24>ԋz6]2a=J]N3:'l`G-Y=]^@]kb8`IGr݇+ R XY}4!r;yI+Uaq- ;l{Wo I\.=A;2j^ٖ[Z|S^qtWpqw˖cDnQJ_]@}h*0KPsE0'bMMH"ؤy-.?$>+$|+GH}W EUi{䤢'&P.}07!<3؋  וĺn7MRlqVgL 63ܕZ*B(Ȭ)ˮ(6Dq RɱZH'%V!2~`!Tehl[XN21BCr%on.1$%WF[*OKHNi&1B#"G,c;]˅|qYiȺzkC(X@kavDWQ_}zĶ$*G$FU&UebaHUGQCMYdQ#9v8пlz\Kp_bfE9T(41?DNyl9Ua6&YZ;R0$n1]s.aťvx" O :d7 }iΨF <r">EL k7l",<%T .D}s4sURټz О/HoL񕙝-dRꈒ\z !GVYp{VUΔq 0ъ&(+F^ԧ'(gJ`"6!gk 6{^«qO)6[$+^Ru"U| dH U$4UFʍ %O^lu@8k4mԹִ$EWY.6)8iU&1 V:Z /jY^a-SǸN]z?]S7~CLFѠqFLC&A<:gkɪO9[Cֺ(`TL*ƅ֋~z{i=L.z7#چs=rAhb+9"w_cXvH0anzf »: pbyfikGN%=ON?ZvЕI3jBln3BbL-Í:[\c'BiTIcBlt@[ eњ:e $Q8i~״ 2"ě(QXBDC'c@f 2Nt5~;Ѵ4ti{TNL+q}<,#ڭ $f"OK; ^Qz:iy;h} i Gu5I-UipkFWDm% -,@4@͛i.OIޔk|,FH-O=A Rď'fynZRZ'>o?]_mg (%^mЉ p< {ڠd|U%`eHDۖ%XV5J"18Y?aˣ*u5Ht,OU5I I aBzŔ@ ꍃ*[~J`'hM2KV'R#XcBE,U|u Hi>YίŁw @yb0 Fm/$^#?jO 7qqЫty!N?1M\P ) 2H;t?1VϸdՈkQq9Q Gx ٬f^|@jH7^RUuf D]w/5 הRV)q`q1u.@tߖݣtO" ®&SxoMF1J?3};SUQ Ϭvkri`$Z/,=Hp[ޱuTF2MoM1S Nc(+D_napk$Q7K[8^PZ{~ͳH>7G7}XpE\[\7Oqdr\#S /asGpΒ*a( qƛ)}u66-cT36 At h<)=~ 4%w,Y@Io~?VGmO'T6;W1 +r0Dn6p:]V9v)jUJ<~.|[t&]N17C,7u!/ }=!\5hx-7ޜZtSN9Xe=?юlyDEeR!y).0KO5>n9p ҈t{xkg' 9Yu']<+P̙r#CMڐ_'{Sp|9շoC?*MKcGԛQ%f+_7}#H$}`?^cHqCPǀK-Rk2"o2;e-5qצ\(^FHc|eyXญQrET)*3t*ԋZ|_KB6h,WWαTܟ4^]O.eif91=w 1/Uѱ_ܺ'<6Tp݃ݍ/(gHr7Y 5%D<\]:rɍW]1A6h?#ʰQ fTD;3u;lgYv2@]5tGz ^|K1/8KJ.8%r *Pb:*!e[M<:{[J`dKϰO]P u]xψw_X,q1VJ".\.WF~ )NxiD;gi3w`T~ \ЯHݷ3:LB)s$*6F될>m&EGY#NP3U=^ӓy10O:Z^m<4:gIE{zdƼ-Q6xtZhlB;Cu#!f*D(f%9HH``%~k/:a>j!&g/aw>9/ t}wD+xz[gAQHwc!fXjVus29MnLZIM+xsՁ ZhPfLk?ߙ^O;^I(184=-Lwc?g?jt֏v~Kز毚v&1<0s,V@$&:s:7m4߃z 5}Xnp QEY%/= '(O s7)X_ܮ sӶbGe:,6 |jn(K1(}d{l15q¥s_>ؽ4FMB[."&GJ Pl e;Lе9[L;g/+VTT?[wJw#Ji@d] D"LZw$yRR\;D}4/Z\x-y顀 t'89 nl 5]ǩt%R f1ц΋1:}[vUqœ|FŴI$DP[ ĈC,j5XO oyw]@g]]da:*~Uj2f0E t2cg?o93k-LwZ e)O @ۿN$\t*{ˇ 'MfCeQԛ$2V͞0 Ocl:9 Q%h lϷRgavℳbI.}S;M1@bEA"S-7 );Xlg60sOԱ=@^Z&Pq ֟&wDuWH)Va`3,CW3{WGw_C.G2+<{4@~k>dƬ!`}9pʇ5xg6RxlꌞC#[/4tl]4opnkf6,[Drtuv[ Ռ;p#f:^YhN9^Hcɠ{1qYrU}"D `G>a -Vf :b '=?]VW8aRR_fkK%7kb}93w$Zw45JŚBG wn"%o2!bAxn#.Zi47\hrvK9f/afHq$Q`RA@ v-/6zȷpRł&/L[C@RV7C )r*ꓡwxy:bOZ|H^]/c{$^}:5VVM A:,+^xە0ǝOnrM~S  n`g=B9N/Zݱ7]㬉<ȵ>M&#Ў,anj :tn/U{ySsԾsEcZ[ncb[z[2|sNEFE:d|N8 \LoZ|[cOa|.~ޏ(e⓶h,BJlrQylA B((k ZNԦDfp`H HMJn9DW'IH(󹈘?8J{}i6}w66hJ/zO$Y1>44f13zaJB㒚#D]Ζ7oYommu܃጗zݏ_z;^0섗b@YqÅ 2r0úr&6ߪrC#ÞSTD`Lō6bmqy2`C" *ƇMDd{%+MQΌ*C, Sί&LH2.j(wi(8É,NqI=Va88#$E _.)c͠PY`M*AI.*S҂HJ<K~q#XR\ z+ I3O]62Ĥkʪ8'=@˯ht>~(}@lٛ5_ BҮwLTO^A]ħ{b'W6.Pv,Sbpqse(I DQ)XkJjsDW k7a$1خV}IJ)DɊCNu}Mc+syxBرqeBcfak>zu [kfmVPn{[~ .զEp ge[G/F*"/ }tBbĂQ {b|Lr'0aR!heBƔǡ7<=}1BXJ+auѼ #Zl@8_ qae[=PY~x~D)H[ܥ`f9`%^Kmd#pmG@CF$\4j'$Z]&]^Ѯ]aKB2R2!EV8*jfLMq8NkrD|ݿ駐e'4*V< 8@!  vNpM)nLJ6 MJ8!M> x*|} ҵ^Aٓy*bumc:YOl &ÊP=j:'3DJr㲵Fm]̑Rm$2F$խG5ѯ6Q.?9r1ILr2 ўMGn[Bel'lɖ}pB˶A ==xh{yTF)K -FD$p|kLzy&kќTf(=&iSICLF]hf{I;a6R-ވRffN# Y1+;"koӜcvz_y,ͳQXˀ.NNf,<@B&qJ=#-D61_~qo پbXsTʈ]VE"c.0;04Dމ54 /(ܤi:?~1| 4Iz yJs#kr_K YnhWg]z.ɘ]_ yg\&wKgOq4=4Ine m75Dޏpgb>q̃~?Ru%j _-0LVXzyBW_,oڄH܌Fcxj PE15Y(i2hgQS%38j .zEvѿ4mKky:zU>ˤt3hdi)AO˅wԔڊo1]Dס39jx0fHA^3vOq5NLDxXγ8P:CP$ K"B, Rz#uC.~y~w "ŷ;_pi0&al 1p3M` A's  8ݱOݾm  ڡ/j(;Z\!eX-;xܚ^}6odZh]jɭ|N9~t;S{4;K=2rՙ]c+iņsN(bMyM-?W*gJ;_-?m_ BVtQ0{3#)I4Abu |$qcLέ"_s+.y|mBeezRb$*C0=lnV_d>2}7\ǔ^o)J"鋯|,v!UmgBmV&˚]u]uI)+FP}]\l>Ǔ|fCmwI.ybhDjbKȧ*C_?,9>]uۗgN.iR]kFVs28Mڶ˲)>t3s/HZbohlE==K ȿW%9dx6ˤ?Іm|[A; Ȓ,j&=2}l[MSrEk bWp:001mf(83qW(i-6RYgZ)x=-Ӭn+T{Cnǵ^Ѵq=UB} /?|,xҠTU-U$f1Nxjr2H5)72,zy'RlUSPiIW~hj4ZyWSas1N {guؽ r*9>C#D۹D83Cr2 DcU55_W9q=5ܫ-,nY0K{l(ј!dU7y̰eT3͢i*n{JcxoJ>}}u&{1P !P :ެ;Od&bBY컆ʚ,62Il W dTM 7O^,CoJF| ʉQ=dBY!DJev7 uyCU.X6c#chl!B~Όah `B-6[LuY8P %3*ļԆ7L>7iOIv뒹VxDs¬({}a{s9QϬiUw4o 珍G ks)QaogKf{b3+գFk;섊ʮi/\O{ ˚'y@:S|5N)0sRA4W<[M<1;Cr|} 6厈\5cӾѪk ^',gaO)+2GE2?Wbܪ@q@R Y& /T0F=l&Yt`I 0Gnr9ijL?{S&Gs;Sls(pEϾ"`lLj 8jPp5;; '@gO, X4}K+z flbd*#Z:ȼk[W K-N9+I1>?=촇 U.}P"Wf uNֵVi^Z㿡nEU:A uz e0"-"JZU"F<o/WBA%/F|w㤈tkQu @S_FF7f'ds"`Hjb`4DAVxNd ʘ{9.~J;}f`s퐏;u ǜ H8d vmP!@mV<BO.2A$C!$~f28f! \Qyk 1a bٖL.eÎa'T&A=Dhd1\I%nFSSE/'mkXx D7Eoa@֜ی v[ YZ