passt-selinux-0^20240806.gee36266-2.el9> M Mv ĉJ4!!%joLne)Ip-Bm5 ']g*8releng@rockylinux.org p-Bm5 ']#B<IW;Iax! on]XQLK+PU~c̨g Y}1.k7-"%۫-@מ)qȰI cΞoZ>-U5 O =ߩ+56 |X Rzr32%sL'@P k2Gj]rl_x'>A2*4RGB3F@9Qn$`qCc~^/၃xv6!7QWNJ֤+" TJ򴱒`}w/OB׽O~;m%}|(=!1}_˼Xl`,ݣ@]naT qGʹD%hZde965b8f1c61e75b1ac05154187a84c564b4fc9b9a1dc2422a2579376250a6446a43459a365ed31f9ac0551a4e124f5afc10249bfy9NQiV=Ms>B-i?-Yd$ * N Zu4 ( 4  :  @  L      / > h t   ( 8 9 p:=(W>(_@(gG(pH(|I(X(Y(\(](^(b)'d*e*f*l*t*u*v++ ,,,,--Cpasst-selinux0^20240806.gee362662.el9SELinux support for passt and pastaThis package adds SELinux enforcement to passt(1) and pasta(1).g*ػpb-f080ae42-75bb-4836-b82b-be8e1b9367b8-b-i686XRocky Linux 9.5Rocky Enterprise Software FoundationGPL-2.0-or-later AND BSD-3-ClauseRocky Linux Build System (Peridot) System Environment/Daemonshttps://passt.top/linuxnoarch if /usr/sbin/selinuxenabled; then if [ -e /etc/selinux/config ]; then . /etc/selinux/config fi _policytype=targeted if [ -z "${_policytype}" ]; then _policytype="targeted" fi if [ "${SELINUXTYPE}" = "${_policytype}" ]; then [ -f /var/lib/rpm-state/file_contexts.pre ] || cp -f /etc/selinux/${SELINUXTYPE}/contexts/files/file_contexts /var/lib/rpm-state/file_contexts.pre fi fi if [ -e /etc/selinux/config ]; then . /etc/selinux/config fi _policytype=targeted if [ -z "${_policytype}" ]; then _policytype="targeted" fi if [ "${SELINUXTYPE}" = "${_policytype}" ]; then /usr/sbin/semodule -n -s ${_policytype} -X 200 -i /usr/share/selinux/packages/targeted/passt.pp || : /usr/sbin/selinuxenabled && /usr/sbin/load_policy || : fi if [ -e /etc/selinux/config ]; then . /etc/selinux/config fi _policytype=targeted if [ -z "${_policytype}" ]; then _policytype="targeted" fi if [ "${SELINUXTYPE}" = "${_policytype}" ]; then /usr/sbin/semodule -n -s ${_policytype} -X 200 -i /usr/share/selinux/packages/targeted/pasta.pp || : /usr/sbin/selinuxenabled && /usr/sbin/load_policy || : fiif [ $1 -eq 0 ]; then if [ -e /etc/selinux/config ]; then . /etc/selinux/config fi _policytype=targeted if [ -z "${_policytype}" ]; then _policytype="targeted" fi if [ $1 -eq 0 ]; then if [ "${SELINUXTYPE}" = "${_policytype}" ]; then /usr/sbin/semodule -n -X 200 -s ${_policytype} -r passt &> /dev/null || : /usr/sbin/selinuxenabled && /usr/sbin/load_policy || : fi fi if [ -e /etc/selinux/config ]; then . /etc/selinux/config fi _policytype=targeted if [ -z "${_policytype}" ]; then _policytype="targeted" fi if [ $1 -eq 0 ]; then if [ "${SELINUXTYPE}" = "${_policytype}" ]; then /usr/sbin/semodule -n -X 200 -s ${_policytype} -r pasta &> /dev/null || : /usr/sbin/selinuxenabled && /usr/sbin/load_policy || : fi fi fiutf4g*g*2a672844e4ac5e57596b511e24e141810e07aa6d4c8a2479d11138fb434612b0da84603a976f7f01b671de22d087595719f41d440068bf550c2d89ce1673674e21002f72d04d749ec70c0bc73a9c6c1df798250b0e856c68717edd85c673b072rootrootrootrootrootrootpasst-0^20240806.gee36266-2.el9.src.rpmpasst-selinux      /bin/sh/bin/sh/bin/sh/bin/shpasstpasstpasstpolicycoreutilspolicycoreutilsrpmlib(CaretInVersions)rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsZstd)selinux-policy0^20240806.gee36266-2.el94.15.0-13.0.4-14.6.0-14.0-15.4.18-14.16.1.3f@faf@fy_fM@e|?d@d@dQdd@dK@dcctclcdcY!@cY!@cV~@cS@cJc5c.@c-cc@c cc@cStefano Brivio - 0^20240806-gee36266-2Stefano Brivio - 0^20240806.gee36266-1Stefano Brivio - 0^20240726.g57a21d2-1Stefano Brivio - 0^20240624.g1ee2eca-1Stefano Brivio - 0^20240510.g7288448-1Stefano Brivio - 0^20231204.gb86afe3-1Stefano Brivio - 0^20230818.g0af928e-4Stefano Brivio - 0^20230818.g0af928e-3Stefano Brivio - 0^20230818.g0af928e-2Stefano Brivio - 0^20230818.g0af928e-1Stefano Brivio - 0^20230222.g4ddbcb9-4Stefano Brivio - 0^20230222.g4ddbcb9-3Stefano Brivio - 0^20230222.g4ddbcb9-2Camilla Conte - 0^20230222.g4ddbcb9-1Miroslav Rezanina - 0^20221110.g4129764-1Stefano Brivio - 0^20221110.g4129764-1Stefano Brivio - 0^20221104.ge308018-1Stefano Brivio - 0^20221026.gf212044-1Stefano Brivio - 0^20221026.ge4df8b0-1Stefano Brivio - 0^20221024.gc11277b-1Stefano Brivio - 0^20221022.gb68da10-1Stefano Brivio - 0^20221015.gb3f3591-1Stefano Brivio - 0^20220929.g06aa26f-1Stefano Brivio - 0^20220924.g8978f65-1Stefano Brivio - 0^20220923.gd6f865a-1Stefano Brivio - 0^20220907.ge2cae8f-1Stefano Brivio - 0^20220902.g7ce9fd1-1Stefano Brivio - 0^20220830.g0cb795e-1Stefano Brivio - 0^20220824.g60ffc5b-1Stefano Brivio - 0^20220821.g7b71094-1Stefano Brivio - 0^20220820.gf233d6c-1- Resolves: RHEL-54268- Resolves: RHEL-53189- Resolves: RHEL-52638- Resolves: RHEL-44837- Resolves: RHEL-37647- Resolves: RHEL-19590- Switch to copies instead of links for pasta: previous workaround unreliable - Resolves: RHELPLAN-155811- Explicit restorecon in scriptlet as rpm(8) mix up contexts with hard links - Resolves: RHELPLAN-155811- Drop user_namespace create allow rule, incompatible with current el9 kernel - Resolves: RHELPLAN-155811- Rebase from Fedora 39 - Resolves: RHELPLAN-155811- Drop (pointless) patches 20, 21, 22, actually apply changes to the spec file! - Refresh SELinux labels in scriptlets, require -selinux package (rhbz#2183089) - Don't install useless SELinux interface file for pasta (rhbz#2183106)- Refresh SELinux labels in scriptlets, require -selinux package (rhbz#2183089) - Don't install useless SELinux interface file for pasta (rhbz#2183106)- udp: Actually use host resolver to forward DNS queries (rhbz#2177075) - conf: Split add_dns{4,6}() out of get_dns() (rhbz#2177075) - conf, udp: Allow any loopback address to be used as resolver (rhbz#2177075) - tcp, tcp_splice: Get rid of false positive CWE-394 Coverity warning from fls() (rhbz#2177084) - tcp: Avoid false (but convoluted) positive Coverity CWE-476 warning (rhbz#2177084) - tcp: Avoid (theoretical) resource leak (CWE-772) Coverity warning (rhbz#2177084) - Fix definitions of SOCKET_MAX, TCP_MAX_CONNS (rhbz#2177084) - doc/demo: Fix and suppress ShellCheck warnings (rhbz#2177084) - contrib/selinux: Drop duplicate init_daemon_domain() rule (rhbz#2176813) - contrib/selinux: Let passt write to stdout and stderr when it starts (rhbz#2176813) - contrib/selinux: Allow binding and connecting to all UDP and TCP ports (rhbz#2176813) - contrib/selinux: Let interface users set paths for log, PID, socket files (rhbz#2176813) - contrib/selinux: Drop "example" from headers: this is the actual policy (rhbz#2176813) - contrib/selinux: Drop unused passt_read_data() interface (rhbz#2176813) - contrib/selinux: Split interfaces into smaller bits (rhbz#2176813) - fedora: Install SELinux interface files to shared include directory (rhbz#2176813) - tcp, udp, util: Pass socket creation errors all the way up (rhbz#2177080) - tcp, udp: Fix partial success return codes in {tcp,udp}_sock_init() (rhbz#2177080) - conf: Terminate on EMFILE or ENFILE on sockets for port mapping (rhbz#2177080) - tcp: Clamp MSS value when queueing data to tap, also for pasta (rhbz#2177083) - Fix up SELinux labels on install/uninstall, require matching -selinux package (rhbz#2176813) - Resolves: rhbz#2177075 rhbz#2177084 rhbz#2177080 rhbz#2177083 rhbz#2176813- Import from fedora to CentOS/RHEL - Resolves: rhbz#2172244- Import from fedora to CentOS/RHEL - Resolves: rhbz#2131015- Upstream changes: https://passt.top/passt/log/?qt=range&q=2022_11_04.e308018..2022_11_10.4129764- Upstream changes: https://passt.top/passt/log/?qt=range&q=2022_10_26.f212044..2022_11_04.e308018- Upstream changes: https://passt.top/passt/log/?qt=range&q=2022_10_26.e4df8b0..2022_10_26.f212044- Upstream changes: https://passt.top/passt/log/?qt=range&q=2022_10_24.c11277b..2022_10_26.e4df8b0- Upstream changes: https://passt.top/passt/log/?qt=range&q=2022_10_22.b68da10..2022_10_24.c11277b- Upstream changes: https://passt.top/passt/log/?qt=range&q=2022_10_15.b3f3591..2022_10_22.b68da10- Add versioning information - Upstream changes: https://passt.top/passt/log/?qt=range&q=2022_09_29.06aa26f..2022_10_15.b3f3591- Upstream changes: https://passt.top/passt/log/?qt=range&q=2022_09_24.8978f65..2022_09_29.06aa26f- Upstream changes: https://passt.top/passt/log/?qt=range&q=2022_09_23.d6f865a..2022_09_24.8978f65- Upstream changes: https://passt.top/passt/log/?qt=range&q=2022_09_06.e2cae8f..2022_09_23.d6f865a- Escape % characters in spec file's changelog - Upstream changes: https://passt.top/passt/log/?qt=range&q=2022_09_01.7ce9fd1..2022_09_06.e2cae8f- Add selinux-policy Requires: tag - Add %dir entries for own SELinux policy directory and documentation - Upstream changes: https://passt.top/passt/log/?qt=range&q=2022_08_29.0cb795e..2022_09_01.7ce9fd1- Pass explicit bindir, mandir, docdir, and drop OpenSUSE override - Use full versioning for SELinux subpackage Requires: tag - Define git_hash in spec file and reuse it - Drop comment stating the spec file is an example file - Drop SPDX identifier from spec file - Adopt versioning guideline for snapshots - Upstream changes: https://passt.top/passt/log/?qt=range&q=2022_08_24.60ffc5b..2022_08_29.0cb795e- Upstream changes: https://passt.top/passt/log/?qt=range&q=2022_08_21.7b71094..2022_08_24.60ffc5b- Use more GNU-style directory variables, explicit docdir for OpenSUSE - Upstream changes: https://passt.top/passt/log/?qt=range&q=2022_08_20.f233d6c..2022_08_21.7b71094- Fix man pages wildcards in spec file - Don't hardcode CFLAGS setting, use %set_build_flags macro instead - Build SELinux subpackage as noarch - Change source URL to HEAD link with explicit commit SHA - Drop VCS tag from spec file - Start Release tag from 1, not 0 - Introduce own rpkg macro for changelog - Install "plain" README, instead of web version, and demo script - Upstream changes: https://passt.top/passt/log/?qt=range&q=2022_08_04.b516d15..2022_08_20.f233d6c/bin/sh/bin/sh/bin/sh0^20240806.gee36266-2.el9passt.ifpasst.pppasta.pp/usr/share/selinux/devel/include/distributed//usr/share/selinux/packages/targeted/-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m32 -march=i686 -mtune=generic -msse2 -mfpmath=sse -mstackrealign -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protectioncpiozstd19i686-redhat-linux-gnuASCII text if [ -e /etc/selinux/config ]; then . /etc/selinux/config fi _policytype=targeted if [ -z "${_policytype}" ]; then _policytype="targeted" fi if /usr/sbin/selinuxenabled && [ "${SELINUXTYPE}" = "${_policytype}" ]; then if [ -f /var/lib/rpm-state/file_contexts.pre ]; then /usr/sbin/fixfiles -C /var/lib/rpm-state/file_contexts.pre restore &> /dev/null rm -f /var/lib/rpm-state/file_contexts.pre fi fi/bin/shutf-829d956ef1f21fa5f4a6367193f5d24839f689644f83baeca520ac514080abb887a008a13c522b4a3b00c206463443cf12da6dec155f81fe14d59e4c964d88f76?(/hԎʍLQ֐:俫((((++$HGNR$v$LƄFP72\ W>H.ٚج'P۶)YqpXNg@N 4j@XtBbģ3E Uqs%7Y-ujT3dRZn;^ǔNVWq줶k7T4Bqc ?i;(iz 溔BTe*(;Uov~,Se7ž5~=>;gòjWB̲,W*ٚv-k*4h)W uQjVoq+b+ׇ8$Z̄aЏwV|B,cYו߭Dyҏ8{1Bit_Ρz}Z}p>&;E9s¶mG@O@722 ϥ`5NRj汝:P%}*)3@XOKa,Hy5 F?m,p  g !ZUqsȣyb+nH$Je#Yvs"YU;X9|m'6R (&dYNpT4!b7;CUZ'Hgg%^ Y:h2]\_LNdn #S&-K#kY%۝t}27AShz>g0`emnzjW\.5Aմsg}lT.cd`R7N۹F"=+,7͟P8 K0:@©R/ 130 0NyEԌS0x L 14h 8DA"'RAjH~pa1% 1!dR3.$f\hΉCJufVJlt!RsSG] D!) >YTyC#OLolA'mY|R 6qd|سOf?^ҕ3#RV8!&}[O;c^Lֆ҃p | ֐nLIfG|HnAv0)uvabT"ڤJ,0>7{Jr>G:B꣄u|pG/Vv@"'}D,C&'#$ 2л tUg OkG6_Fd QŝI*!9s0 Q$)d8C ˅$Asy̜Ap$XE!4 KC2135'b.Ț.ʶ|((idȒ~,y+%.DzAFqpsgts ss˱66FuJLLd|qϛ^5F!GUs:P!5.upՐ.I&pΚ81ny-0;C80S-t)1q8 tO> ~8c&檩18!p{†?yŲboT\d*̅6͜]wF3l>Q) _O/u¿{|B*.ߤDQdz)0P.Mh 3d Œ$=ju.`Ae 9nST ?S{egla!G˛ %9@U$ݎި!r;\Gޟ1jN^R. _Yap4jgVIjR8S4x/^D/jY~P(ȅqvr[a[XJ]v*+bvtrĮ0& ,A9TҥrE /"pُQ!ŒgK<}[. \,n |\fřxFҪ2>$1+pH*$T2Ōu6\}ΐl}|V}bOpG FSI<611L;otϑ%%g((9 po-Bb',*P:1 Q ,xN!f s &!O\cjX(d9nJyS&M3N=!k!HZП/DD66ֈ6Ꮟ˻.jiRz|LsN cviI#0Hy'R,myhBlH&9 ʦ= uԁpf.M: Yi;XadErx6XT<(\'MCYmMaWQzc["HuPc %_1+Ǜ2 ^Խc=GOGF* M?N A\i1ͻ^aR&G],XRdF,cYpEq?EѪ:r)"$RiOL.|v+&sm(K&e6¢do'v%mC17cMqDR] |Q2H>՜pVnW+>}m纪3ׄ2ߠ/^Ep:|H̭x*ˑF#I_`U89%W4b%1ǻ@sI/Jwuo+) *_wֻ~G!6{E >9&z+>sG@NU$ gFG;?{- K뎇dx8Jѫ0DjfSflaaGC: t35!&(t (/$/P\"RꈎJT-ʮWU9hjmΧ%e@*κ ,%pBk6/1sR(kXQIOVd=o&x̨Hip2hhL7`ܫ)B>`%q:ʂ4L5^vUS|֝_;=s5 *e[p~v3Va 18HѨ8)6E:!BVAwJ_2ff|(!"рIʌ|E癁i?F:5Q6 O )PFQX[F03mqjv!R4f 8[e^p*Ұ#G[ma1 A/{FFd >JX"ȕ}o׷L2$NH#$}Qk͍:Ϡ Qbc;tG&=豥vȉl+:7`z&5&wV4퇹S?Ziry B=}+6ʩqFA5P]5JYh4q?U5݇UQ4ORg0!od9(G^i)eD{>>nZ-hm!"hd6h aY̥OOdƒ4A2{j\|Ed?ab ވi)iy^C]j>zVMPe*ROŭܛrS˾.׀gtP@O*܃euE0TWF2̩FMfrc2SqXUyK `IU/FrKM`V4J.UtB1@S+IOr{^+#a.ӗe4F^uׯq#޵~hf@{1[Z)vn&fγXA~{X‚x>=aܣ,8^;Vwźo .yr鿑4pu۾li9caf֐kx9c u89M%ƶeuE,h$M*K6ZinE{Gs\z"bΨїQL־>Ɗh۵9CRTL(}PCE7'hh.Nڭ!y0uxa{Bs|ޣÛhJx3J$XC҈VY:CB7c0x$s-|Ϸ{}+!s :*C0%Q~ur8ALvYJ0IAl Dnc8P`5@"n```6&cq>Z G%THfVm8O%@גgP#3p7iܞ.x~}?o8`c+/C\(AMP; ^9=+GL*%W>"UÐղ%ɶ[5ơ)}Hߓ١hS!~@~ O{!}M.%rsrLl6UèY(VDȿ(ϙj<̤P\=pEc wUX/"r.Io|5EN|/dvjo [B`$dZ X"3yzQk*"鑎cQI# AVX ts ve4bYLfaŊx4EDӌ}C`3bWX2q.^h2;Gx ( 4A^wVf#>l@ b2fgi\jYKm3Ս{./uFY2>hhZTrf#߼ZOHcZ1Ve4FAm['6Rx2aJZF~s)/Nʐ%Rd4 7O2AC/JHjb_kj4Qq[4Hz!LKʚ=d,Qx%2?z&t+$EF'6*k6"KFTUN%BWѕ,V[1y̕ugV(صѱ0`@ lmDA nqm`! $`̀8(v@hH[q}W{Rg%}z\Ģq41kj#,5St(V :jQ'Bvz WO΢ c4U},U i$5Dw^"SEp"Xpq<"H)HIQ$N:>7?AOdh_]dM X"+/*lG0HF;2ٛi*'',>j *79ۻ pr° 9^Pc(U9|nJ%xМf*Kng~a`lB]gdW1rjћq%lR!O|%G"s-#DKn/wl<6:z"nkn5og`cH:JkYƁM g#r$xH-|'m$2|LϹ_J,rעS[ ll:쩸-?r<*p i`_a)oӾ$7XU!%ǯspsԡ9m1w}|Nu[<{0"<#H*f{|֜EieB`ISi 48*>ba&Nt "G %@J~~vLMj4")Ѩ,31ΚzWy׽YUՐ܏uΐ9E'E{"j{E+tJddր cԹ_N`ŁU"=dv;քrThIPSѽ[MfOtb,FjKEV kXxeTZASr(S%f\#0a,JͽB/-_76 KPbc#5Nh1r\ wCzL";+of 9KN(߇>dNbG0RLlR7E|HS&҈VF03r1+<Z"h&'3X>uwG H?FfnA ؁r7Ntt  pa ibalge   tcpcme dcsdn  ssmcnodfdtunbpf hxdp ifv p2PpD!Q1 D03!"9iZ,ZA k+#J.E+8Iȓ.wݩ;!W,ʹެds]pa@>g#Tnf h|Z4CCLqacr2EP G[8 k_خ{Z'NOƹzOXj2hܐ`8I9Mkv& :eP2-^;DuێG4`c!'=#mNâNwo,389:6yyH}F?._u}8%nRppЊ*'5﷏4<_Xۑ w8.o `I7n$ɰ&Pc宛MH'}s'_0>9'u ^0GVFPY^Ev2lS A8bt͉j($"11XD4abƀעv9lEvcc!`<% f*7f˾\&؉FΑzLjʷVGV5 U~5>B|\9߰SH\j[=Պl҄[@Ls H -8Bϧ1碑@y=𡀭g/ l@PT,A6CP4_, =tK@x&Xy-ʹ(H+˷X^ \@.U"<}38$R ސ >E vZ'|q$E7I(/ݴJ lŰhbRɦۀ_Smg'p}MD)oQ8j:|!K"&$$]NBVaD5,_T @$I0C@D8?VzrBrL'LhQk{#ptDr.jM[y:AoZ¨v"VWumX_-) R %MK篊NLNW"fB !5,%Vx;,:'$ ۴'뾀fC~E(M:_c`O3!uK\9DD &RPWDINB‹k8K*|GO1s謣;E[%=2|a„;/DRK(_e6 #0-$㩰sLC΂#DN%p'ޥϔ6  R ƨf&yeF\PZA{ N0{ J !pO .F1];T^#M9V@@  !xjuV)cPEژ3FIB8[piȧ#\d5qMDY#v$|$\t6Xs/y]F³xRw]Qsv󺻱/2vWz>+>K*On~j')4O_4yYx|?)w.pΞ>}ĭ-+~w/mvۯwaĚ~EP< x~)?RFI=W؟vŒ< wH߀7A`]iL4?='uڏLbzwR-*C+F_"E/⟑XVdFYsgRtWlti2k )'a4FşnLL#N`+I %Qh*PK ץ/񠛵 {o-:}n}\ߠK`7 tOLZHX4y )`:T~#\~ȷUB)0hu]n6!I:W90]LX8D=72LDf&_ ˯܋P4-s_‚pGn-O3B P8Ei8rt)7vm|_p'9+D:Txph{j$M`Mv_oV#F`yUdOaP+d=2>7}fxF^Cb=5O+kƉs[Wb,&tl(aY6#C5a BR1-bV('CRP:N2- ;h-d?H,z%'S;( i3' ȻWS㻜f MEvއC.Nn{G7}l6nHk$Z&EQL&b i9F^8[jÔ ꓐI-'IE{y4A-PӢȳKTTZeN"L垳<+J6_yЇ\iP_&zכ({009[!ͱP9C/"*9rÐH'hzJ{1: D?FXHK]ºզ:r|W 5<#M#qıVJI]9y\T4Äſ9t@BAm}3 d8M8Ü):}Nl-> ğ0٭bkPRzPqth_-@8Y񙲾&×9ަ:ݴsm0KoXu;- ,:ڳlDaHuE yk|zGt|3CdɌ,)bio9|Tf/xHF_93 `֯X#$(<6aPlP8GAM܈O+2J& Ңqn'/B*0+O6$A sBD:°DC B D$hFDJRe3vxehJ^KҬG U-D\]GHOubwq$]]齊$1dTGPKb+x5z!\8WG+$dx~`v@or=rE#A6CB'dHAI7)`r.{å߉@)={CK9'G~QF(~VN/AjDmexFQcz2"u:pN&\}@ݑ&@#"8QSK*Ŕvf1B[ ˏZ"Ca(Dh2J  K  B! !'ɰb)pp!9-B9M6(PC u[ALYH˕WbB9 &k%hjU=iˁ@--gD;@|b$xI^}}bIKU:2([TL R<,CT6#:@.Ie Ҍ3{[g6654V%4 OeY"?PCTSUk1Z 6)^Q]oyf}B cXwSjmqiASU! QA!uqRˣyc8WyۦL ~ n'm閻5iQ[=Y /`6AWUzC8:e/Oi8暦k^kV>BߌPc*~x y3,;8BJ_֔Z$h}D(f];`e^L =5U׮q{p[..µ6\ؾX9  G;bu .H7Efy ڡl_2 Ի񡮫|}%