summaryrefslogtreecommitdiff
path: root/crypto
diff options
context:
space:
mode:
authorDavid Howells <dhowells@redhat.com>2012-09-21 23:28:05 +0100
committerRusty Russell <rusty@rustcorp.com.au>2012-10-08 13:50:17 +1030
commit0b1568a4536ff287a87908d7fc35c05bd7736a53 (patch)
tree2e2eab236c2fa23d568e0ee7179fbfdc5cf2b3ba /crypto
parent612e0fe99965a4028359cd1da5af56b7f6caf7f6 (diff)
downloadlinux-0b1568a4536ff287a87908d7fc35c05bd7736a53.tar.gz
linux-0b1568a4536ff287a87908d7fc35c05bd7736a53.tar.bz2
linux-0b1568a4536ff287a87908d7fc35c05bd7736a53.zip
RSA: Fix signature verification for shorter signatures
gpg can produce a signature file where length of signature is less than the modulus size because the amount of space an MPI takes up is kept as low as possible by discarding leading zeros. This regularly happens for several modules during the build. Fix it by relaxing check in RSA verification code. Thanks to Tomas Mraz and Miloslav Trmac for help. Signed-off-by: Milan Broz <mbroz@redhat.com> Signed-off-by: David Howells <dhowells@redhat.com> Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Diffstat (limited to 'crypto')
-rw-r--r--crypto/asymmetric_keys/rsa.c14
1 files changed, 11 insertions, 3 deletions
diff --git a/crypto/asymmetric_keys/rsa.c b/crypto/asymmetric_keys/rsa.c
index 9b31ee25a459..4a6a0696f8a3 100644
--- a/crypto/asymmetric_keys/rsa.c
+++ b/crypto/asymmetric_keys/rsa.c
@@ -224,15 +224,23 @@ static int RSA_verify_signature(const struct public_key *key,
return -ENOTSUPP;
/* (1) Check the signature size against the public key modulus size */
- k = (mpi_get_nbits(key->rsa.n) + 7) / 8;
+ k = mpi_get_nbits(key->rsa.n);
+ tsize = mpi_get_nbits(sig->rsa.s);
- tsize = (mpi_get_nbits(sig->rsa.s) + 7) / 8;
+ /* According to RFC 4880 sec 3.2, length of MPI is computed starting
+ * from most significant bit. So the RFC 3447 sec 8.2.2 size check
+ * must be relaxed to conform with shorter signatures - so we fail here
+ * only if signature length is longer than modulus size.
+ */
pr_devel("step 1: k=%zu size(S)=%zu\n", k, tsize);
- if (tsize != k) {
+ if (k < tsize) {
ret = -EBADMSG;
goto error;
}
+ /* Round up and convert to octets */
+ k = (k + 7) / 8;
+
/* (2b) Apply the RSAVP1 verification primitive to the public key */
ret = RSAVP1(key, sig->rsa.s, &m);
if (ret < 0)
ZӷJEW+C(fѣ1U3_\= 3)PyJ@)H>hk_6 Pq GK5&NY`~/pLwv?{p*Z#`. j,_ip+l=ז,x1 zŹwqv ΅*VkLP7&hT$^]H*VYU>XDoԎHJuc2O:i-h:uS .E[F tY0&IJ }OUBJ:dPz"u~BzpxQ¿m}n\%#c+LHǛKzb%|$:m^BZZg,lK2SdفH9J VHipCc+#v LS:_ ܓ"wP7䈃Y T+G04\8)3 G>iX(h”J5V: HV62h m. 7[MZ݅@j{ .خlc[1>a ǽ/caCrMAq %iײYZoVwqNc\Wb=n@!h;/ŴĢ"kAY=Aҗ i+XN9MOs#LDK} .Kp;d7j{0)O?9vIws%\Ry!>亢?{Hb5W(D:= ;rzZ{/(ǒ91  fH[+WF>|P;Gm#j뒜N0jGvDIa7wV(G=?^ălB+4 1ltY?8J:mCJCuBv  62Q_H@'z~6۲Uϧ̗-1=i,? ;` u5r$ZQgKf Ŷ||rN#.on;D=YI3 WK*CRిjdM'o>E:=}A~Y14O4WC@?>蟲}n C?BNշ*?"՞G;%U%ٺן'N48wz = 'x`iZq ~KdWd=nzR`cH[=EX fwjb=WO+2N!S(xѿ'yeKF]nt\qqBN.Y!\2Hc8'-H؝dy/X?E'f_:H3Rc/9`?Y;"Y=vFYwWa쟒(9]lC#Wea/ǯF^/_w-G3Tw?]ݾ_v-{:&Idl! h *ُo|8竇K`(Ay3rR 1q T:=5Ok+}bUC~Ʋ \ZdmLWbB<~7$"y>EɂE L*tyx o\^vLT;FW>(\Hv}?+V.MI8Xȴ1eN@ƠprlD,*GRW* G!{՛Hӧ2բ8*B%jd^k ZwW^$U\mES1^LiYV5'.>S\휣-99_9r bB O)zB ?LT~9d6 ؛ɏjq}7RHe~Q .;UC+݀OuN['];?.6z*j,8Yq֊"`pdY̗OFo? +1dRv[윹{hpZ[k7(へ+䧢 /`ʄU>:)t11҂upbI86?jOOO]BMUM Yר݃لT3Ԥ++N w-[+zHBHG<6<>O&IT]Mά^FQ{7}$vPRJkJMoM_R4qq\Αd<{=6 zG <u`&capH]U+<㈞yy:}恵aJ*QaE31s ~^Ť׊>,^3 iY2_֊',= Tԣ~@)5R΁IÎN©Ci!,2#/=c[UN]: j#Wo T${u8q(0rB7hDd9*ɲ|\!xUć]nv%k3,D8uΨe6:f.o&}4h9݃bF&0"/#!ÊCc{òiarYL 7̧G!F<%8rHnK2Dn55Tsc$F3udؖl;o\gG,ҳQѪI:DWꛪUti)sSUiOZjTG#?{sΚߤ4 xWmi2Gjt[ z^[M[7RqڳHuZͩ Mr9QAf[^|NƓM:L_+3;DFW0<@f:&h|#ŗ<ʦ|:fRȚodV ٜ NnYW1<[B.iMncRP>4OuIG?` ^e;jqV;nF4@-X-5Rcx6U>on[!ʾ?\1ߠ7fWP\&;-@җ?DuڪrC{,tIW]Akhg'^EOh;&r1XR8%^N~k>^7VHn)c*h;Ø.{`z04imTZ[hAgTTr]>vY!?Mf " z }1`}lW-^4cCljKK)(΋*r* ! exDl\H!nYS&@x74͚n5/o{l)P|W/j"]s ES |T2]a (wve H٫]̽隫hуUb+"E)&ydN'j{xoЮiz#~M^ ãMW孁MHHgX kWց,0ϩT3ca4$4!qHTRi|F`sucuqAZ.2YU7}ì}f螫>3c nEsnWd+. ѬL"uj*fқt8{qm1]a-Eb GZKq-/+8{q=k#?]]cg>(ް/_t~)ٚ՚tŰ6ş9^lӛWS&Fޑ^q{Y!Y]2\ Aa701İ9IdEA4j(#uZa\ -&o*YyJubȮfl)Ҏg0hi%lfRK -w!_] lZ92.8u4Rw)7 ϊHtVeI%*^=ZC݌_T^eqz fٗ/JL%9S9ઊ\I5II>d|(HNx)GIF.- GX҇>>,xޞuq/ʞ ΜFaH]vWkg|j1^&gLL(Kf3pRCBHםfG3)#5)2aBB!R[{+ b .]֗ 9HX0#Y3ԇ 7<:j !ȼ3N1[eclqrcKBJұzuh7}di2>3ۧ~NրVv3  >AEaee?;RH!m#GO[phIĤ#܀ Nj">>UZj7&ƒO_FM5 (M Xc<)\ tW-Q14r&Tvqs)t#iVPf=MX|t9N[sDhvmSiw#Ыb K]l3$>Vo|+ew//CDC-Y0 @{6]jj:_ +&fc 0~QV=Y})*7Q7#req\7}|5IQ7 U]X޷YIhG\?XQgeEGVmf]#)y;V7w{fSm%Ty<E/TrɊ-}|J^umC ]`bQZ*שvZjA;m6|q| b09ToCˑ!橻HBRCF5(t ry骓[zqzV߹uG~'SԸժYg2T 5Q&bZ5U?t)xCPMb2Zt{C| Tr_ ? I|q؞h-g`SZP|,J尘mI(]A3GK %˜lK4Ja!닶fTZ >v?Vy䉮#w &)w QnyuyP=Ht },&YlNhQC.M)k[}u" _heVvSo$Je۝4T}5(ڔD_W Ҟix!iE{Wjb\>0ԃ_ő{1~`^Y.#%$=Y#)v _tzvY qP^D0Tjo|T.{Ncإo鋩^t)Iv=Tc7ZZC^P [R# 22L̆-5 C5}9F0vnՎ9ʼp4{e6}5?FdWcu1ggz @Ae)}10)ݮ.癑1մuҬ꯶(0X?ȦOu,Es+<ߣ*f1ȵT.;YY'W2jyq%,UHdiMR虾F4^FWsIGKnY2q=Cʑ۫q.mHH4iuERI:eaD!'|tz4?$HmzA֩0B6Yjg_HݓN[ vcFY:IX ɾwȦ2^pxز^ф:C֑L!ˠ׊[ɚGQ A&,$20d%".}S^_& wtUj6ʟTkrtb%xutF9-Ri Ƞ%(yaطG&u(`~VdGsGgLBekDON~oxu;1? V)X& u=crOR_[!Jԋ5wj9o}`_e|4#p={)`W{>YbET4c0<94 fCyJ#fS?. rW dZ؟VNjY[>8GGӖZ8fX2*QIJMg`i{mGhoNd8i7GMIURٝISp9P<^cz4By|3 YdMӊ%ZzBwQ^b$kHr \O-r6"BS>L],{ 䕵 ̬ٸO?ЏOet=D9^k#8g_.-pZq)k?)K=r6ʌ3{! nyT k$IkPHCWKPԤ3v{AQbSkZ֔>t`z>`K(GNg#JjUJ 4L# zhrXӫ=>>.=M $Ts"9`jW]&kl6Q)j65$mJZg{)pNH+K1v8J`b> ˁ {wcY9dAEͼL@HK M}q= ohn',8X{Eh b< $-A mFHhK:sӟ"&3CЍanO:7/׉Zp:%t-Zx'iݹDA:$:~f}wGB?(]lMpiJF`O)gdE".BA;68 A?s">"kLY<~D0n`#tgh𶡐xq?zk-O xV/.׍a=Eomo-ok8\6 8!tEf؇rO.KATrVlTW?1ϡ$FyPlcMͅotodꍼJ FyuC,{Uw7 6!ߑx$MՇv4͉ gi ?<"K҃x)?>VdK2$+An4{8bZt]^t K0Ίt*7Mq%#h:˧(K u#HL} zH'Su\֝-;';(*qRɯ{/>kOL\nJ;ḴFj`{HT.5eI6|;J0n}u;%}:WԟL2t sӘ<҈g)JO31Ps TCG75rի7mZYC5&M2pu']enf}&fQS SXU@wuXH%mk_hCz-z#<ҼB-q<7H2@mH$$v*X,bp5[Vk/liF}d%aĚvtʥ{gjYŲPOu(LOW^_w,ь`ܐIԟ/{rqUÔ@,La&+~-w V':L] ]\ |_T+dWb:ׯF 1oUCF }aҊ~U[(<if-4V{mUU@KH`f/ЊXxzy/gE'#c쁦W[O>5MT.R܀}DP'{rڎQBP}#zt5얽Frg큕Zy&NHmE_r%KUYONL"} F@G3XhSZ<:OMѵ*IuN'ˑIM dg9i 2HD$3V^~U.7 XTgk\Z3k+gMlA l ɸ35ljTџI>S_ImY yt)ԛi<+c-Cķ`UH@:HTҖݦwcr ;OGFN [7!BMv2ǖVDqRET7GB\Uóc$5E8HPL8qЊ>ZNbn,ܡR%d7We OΐEdpnsÆ+8D,AOƮH9` BUd2cqyږeWni%ӑZЎ'`O .1 ` цVEuAA(쭄\&]NCfL~rWNВ'F.I ILp1OsMzUAePeNJc f S"wEM89ʳU?#hHX3PLФ +pQ BgZo$|STs.jM($ɚﰲ*7;cUeqy'}:Wd}A7`%E66pw-&2 c# Ek}>N~=\\UIZ{=Ԯp{q'o SRXz)㡻d҆<!_+xt _Uvi}yUUBC"k=J$D<ɼEdp(h^$3-?KߨIɭ$2Ms&OM]I=%{3}nRЌg8 >! ?-{&CB^kyP_0+z_^sUBOWooYedMUM3 ( p8.n0ڳ6Ǣǿ"L `/˒||y9gU%abiڂtt%I>+\ ]Jh(>g#YRAPoREVa'qAEMqswaΗwA3> ;FU%ʊxLj Iw䎔Bm4JO'ߧEx}jUWH)S}6BajBf0hJջ*lHt{ ~ryE R6(^~aJ+ILm;F$橽(2 .bwX6:P E3TzAP}o̩Fم\XSIGkLUcN[t?:ԎlF lAv65uj[4tiAr"w z 5נb()/XZgq ٺ2*0{ap K .!+:!J)~y)~lǣ ޚFIdZOVǓNJ4'ktɥ<wbԆ(s` wӨٟTtbȰTф\ofKuSnBY.5#ADϵ_gvրjg܁<}*(-#$ ,J#/R( >WZeHAڎYi^fiOpzUΜ}ZTLǑ,.gr0,!IS?udkށf:qh =x9yH @݁2#Ox2JqU aϻLX60IʈFUk.tY)#!#T"bs,72? [^6@+vz%qLIDKHM.b>6Ap` & 4!2`߀?7]7sOA8#lw޵.v_)QލδFm5(fSu{ ⨷Toc9IϴgS( Rj+1rz4Qi~r@/ޖ B,MQKw?ps|ˢ3[4iQox'=cR/mR9-13 8:|TڊBڠ"Oi߸1j a *!;Q,\7thIs9%mdjw4ol9‚^ōF]!pQq<2IW]oL/rlF$q`pr~  QZV$&J{g2uf=s6jLM2ըPrIK ;Ma$8?ChΔCZOkBeq6I,IMIWLhm̜:fSٳym0RhQ0X3ٯ@WN 7hDiZ6QmE=pse'=Vv4{aoCQtڤ’5HFB̍_"ʂ,ɴѭ^GEj`:H\c3e]A)~u]I誏!uYZ{ WujVh!1˙LW=g!^^9pUc/?w NzVzui4@Zp{D/ mmnh?YL;֓@:fځʈ,T;]$!8U)avatwYq9mGrOC؝zI*G+t5ɂsW4I#C:bNE< os+A{C=Ĭ۽>B#b9!nWIcܥEs9_E`K,,"Jӷ`oݺk+Nk[?0NF]t&gy,W7oV ZWպğ6pD6udn]Y(% "fO˨@0c9,y6!OtWQo_7Yx+DߡƺiGF֚(1}G&.mī訉(t!Rd=Qݟ_0i_Drods3eo^fgQTmDnӝ˜ds߳pB6]k\ӕHRiw˕zWF}nMQH8NV;eL,Izh+h j1=)#ʃ% 7 "j-W~m<Ha/U+P޽B<6ؤmk@)D@;1j9WAHq#vPyJW3׵cܓD.NO/T'O+D .tLåbo ^~j9]h<#3UI-jnh.}Sqw>k|9cөvx;Qke,8~6[ tP ,{hk2eu xi]}hF @d wػxF0+=]aҨk0м c36бA]BCQb,YRY4 `v*jrS9ajRZ"'#wz{7W׳rAJզ52IlXov0k%9)ҫȨ4:3N9YhOY/Af6wfYWq2b|l\/>lJ$VI ffLj)MspA̅C$.U!ogr$2;Ĩ;ȲSrek6(d2G~UXl)#ZLZ1rg\ʌ- Pv?1=rP,J&ZtSp%Oa-3Ō[d=X{cJsCƍۑZP2ȭ}y9#x 'zꙍUPv]lll>K3qT,8>ޚvl;fKO&kH"/̤@2zQ[Nuf?1,k1yG6[A/C?fPVT,u{),\" kC]*x4fYZ/NO((9c&^b᱕֒(R}f(izzf2;<`Jw-rl ]8Tԯ\V_ƗQFU}1VhZ|X$$n&% ڶv%̼T[Lkdpr,(/zg]Gs:Q7RM} {)ܪ74CQa )36]QქE167_C⯲~n8 b \y ;tBwb 2vM**`u.GsݧN?NmNwhT`阄i[ yUwz8d05EᐲV&ZJsO;sL#Np̫8ti{u8l33:{ 241Ts+7JZ[֧;x@kq#ŒS8?8\^$}1lM5ãOӆo5jUM%}KZۨw[&{f+щ%?U OPЇ28';le_FE 9\37@OȌJ*K!%r1VLf>*l 9t{7s<[@뤪>or[ 8)X17gAJK͠wiڇjD EJ@I:69lbXfW iPյОި:rtU 2ܥ"@jυ{R UXr6XlhhƂ5׼9GbLqiOz*ۨ;*f'zvSM";.,;ldتd4fg *\T[ ~m0~fBBBC%LLD>.qdY[-ٹVOTER9zL^vL˚ėhq]5, Hܠ4\O(D/ 4K.Ae`[."O`eޜ!f`:发mN %uHv(`6|OȞٹʩrz,f'nڕkb kHӞZl.F$G$ýIÈN| 9߈ 9vkeIn_Y6e!AYM]  5\C=nB?p1v$@V,#(HYa`\%-:tf ojvΕ `'z⣧$U&G.w[OFؓUҸB3lrMi⫓k!<7 ;z";2%:?իBC JzMuA X#g 2zө51l(r 'زߤ¿Nw-pXHKa bxO,R02\.:c CRalu ρSk6&Y2RӦ굁f@R㑪ꐌ LIk6\9nԕ9!k27UӬwj-RhbP8S:e[69}j$$|wF|]cF(N@V0Bqi@k@% 'G޾P(U@Z39 %VjZQ1z\G'HR5$$O2婇Ú sk%*W$ab27[/ uhe])+3EHD&kINhxǠJ.H!-d].0]IӢ٨aYFaL"]ѧ|CNh͓&2ܙAITsL[eC:uDԔӭaWpwD)q$LirlQ)glf^?\T`Q<\b88Ԯy0d8ծiw;$hEmIg2ɀ|R8_cQ+CMŊThϫ]+QY)`gپ F08RÓ*-:IWmMAkGMn{Qj4lpTo<)p /gYuR! xZ1`yqjzQ>s^|ܢCh+C_h< ꮳ C8tP^O?kG {%H 6g>1;v܋^X.Ƶ&֬Ή®WJP^"'!)`s|URgkOk2TsfhG)jrT#[~xx\/ h9U0,|%Jm 7%<&Ly .EHyhmdݰ9dC!)Oe|$!MeW$L(qn!%p]ZGaҔ 1'NltTtdwϓ-ona><:ZԸ{w"kG(igVe%C&-&=u:,3|:&Y^=TSH< Uջrb%"FGlwD-NH\U_ P~YX%$s۶~#`rDA_^`~$Kz}qnesZ_ͼ|t2!u,bJ}h bCP0?XM2Iқ| }w(/5 %ĈM.U'blWE&A yV9qe_ִ%BQYP$ &~᪴G}5 []vl0KQHysY5 dpb,^]]]ٗ=)!p>%RiFN$Ir *𭨣i#QNRf 椚B@aMv6  W 4"sRWYU[F%[FԌ'NfcJ@2ػuN:kqYVlu#S%Veոr&=k\p;>_l\{>K/{wHtׯIXyQWb^HJbf'd[{c_xŻcL86J} >ܕEievhTɜh. "_B?ܧf}`ßF#PZ4CU0eE'6 \ΟtD|(ıdIfME3E g̙PγN{0f՛Ǩ7tsr4FZ4n2nX4E oH˥e{CUnDҸ*BN#g!jqw=ffCDac 9!XFHq"v^ 0_sml6$m# (̓N ̏]d1wt .CtRS gHuM񙓚;[KΨ .i*#$H%2_~N&Q\FF`\[_esٲvPS&Xu}J.*Hɘ61RSq\{~ɟ"AgMخ%K['Wir)] NFLOLܯAP gS1Vt ʪmjgx~| Ndϕft5dB,b#'u ߁s[+3h.Nn9+2d1Pث.e-CDbh{|%%@a;HXvVV#Aڀr[dc.2ISuFIsdnx:QqZaGMFÆRD g4Yq)x?Mrx3Uڔ=\2xȪ$_XpXh~㜴45b{{Ŏ`e5HVrs%?;D7X%J@0 2yt-J&d#ںtV]Q;쯨+F!%h]Rr ҪknL֒3uRzCJ?zۣ`i.„rxdv7pe`] Bvy y~W(ܘ&dL:@?Y}[-j ZhH SXGǎjKѫUE=-.FC5ݓyǕVC;)=#-?H` i1 V B$- Ir:faf r9ܺ.F;v8<:QФLБ5 ?Y?D͞LoLr=St_,-5s&YŰN%ةaƁG.i3hl{f &.8 ҋ:LXT[&{jOOm~BᐙeWi~y$" hpDۇRr-"AB?f%)`{W/kXZsO,KIke-YXzgp*LKw=dyW E (>wCDE1]RyXARNidH$F7js8 KJ's#ripz%=kDȁ찴蠮v>5{IS<7FPgj5h4[dδ9Wo2ӕv^Y8̳rp6Ɇ_P.F~MCpRwV)NjDvZ!r*js7jAͻS G?-1? I65M<ȾD-O GP,;!Pk%d̕j? 9Ht1ȯk摊tHFF˝6Ţ cu1(Wzj.G$z&EJH$}́LZp_[hkZ YzCTZ/Qj zRgALSBZ=@!d^;" %p8Aci(! JL9#+Qvf?j5D.BţkW"s*J'7%>ݰ/n9"<]Z (^Z^hk(ٻo9V2t%UZ{vD `&+GD[x Ј9Y>HrB-Zˌտ+Tܪ)?$eBqVJ<$""#Y1RrD2ih>v[~CM`g b:5OpD߲-cV>zuWXy4#]RvK-cg7"TTW4AA w?}㴺9؆/>'+T-jNR7shܛzmE&bf]WS>k)V G8bQRpBdPH6_VBi6m. = z^<3<ёv;_"@ D8pu8yuյ)%xX8Nk<.op/u*jǏ4Ȃc5@NY2?.p!ըx}( +m_!MDN$_+ƫ?/oa!=VEmEMƳnWr {D n >w,o]xp[1܂[D-BE=e!rE;T·>p/l\0 椸Xn6v4qKU Gȇ1j z]NQl!7AR[up"ywK2yHl Yԧ! V[vû *ƒq r/\|x]Z{7=P\ M=;YtA]@$/p,GdyHnʔڱ"}:;j1AAE:< _V*t4]YZA@c KgRuË@TNe톤rs&N[Y\>n,6fJHuHQo]`b(N?eEPyO&CY쒮޿# Q̐ScF>/yI_i@ma8AK9uƟ߾S46k4&-iR5&%\l []J[ˋQ/җ4.o1H԰ɴH!RqUR]Nk%,~k[euJKl;hm}c5=(UpDa'LM:·sw?_^=LaIijR: OG#- xQI*}N'䣡tJ\1r:^5p9K6&)p_pn zjv "-{#/7onӬ!U,j@if"W 9֒瘟0vZ/HF[*2}xe,KNj0#<Orx\W4CFY{o&&sH ~5= aܠìi`7XeꞸu 0ge ^Zq~#4]flq!|9F/RO,o 6cA% uUyVm䃶[͋ۢ1zuFx9s|v$Zv,/Hoyq:P!_ Z-Ha>bҸ4li 1RXB|: 3KD.-Ы"`Zi~yg%P!h!%2>rMso঩gQ;lL)~b%; )}Ԡ&5HC, 6ih:miÑ6kŤ;[@g!i{ Q@MsVHW7ٖQ,8P9rDwǣɓ_ qByծo7eNWTU{tfB $AցvK{NkR[vn}aXŐ~ CϯBOëc%{GzEBV~8> @,::7#1N߷V^{0`I{$9y'[ϧ1+zY2g_5.Sy5@MX/Dž[m_fl%/q̆[:i5bzZ}<C╕$Cj7[{LA3s34vHϋktn\>dH3NZOK*`Zc>E#kH*5$F\Ɉha T*Qn[Id[]݂v;PcSu5\[uJe&%1"SFēe16 48}w`u/j-~u%{QA2ͩHҬ ~;aqc.$$ J^ևخhߦ6+NMu]bơT@B@иTESbd$O/#*i]L!^7!3e ]^]F9)1iRv䪿G%kxqNQW^f:"lgiݒ3gu)}Ji" ;k#rUdYKޑ8Ea>ES k$ۯ`㓮SJލZ," |-?YK,XlxB̨Žɏg:cKFOg\Rkգğ9,`>x4ѓc0SZzZMAV{hm괺4HU+fU6 g cgՐf:"V֐{u:XQ֏؆.%'Cώ_o'ideZvvU2%WUiɜt$LRr#%Xw eUiUX.ئn,)`E`&$#4 mФ/z~J"Q< 7jiUL9 ɤj]W4ist:UṴWV-<4C|Af[8!08 < 03,m1j͆]՟Ngj6hصfj&3Uz;um SuDqC/=.W}#K+_XUk6`[ixJʬ *7 EXW`aͮjTiIy '(9x\( - k6*Oa9R[|-hZnJ܌@/aNva=;SS`g9rP:ʠXжoUmEtK_Ckpp0]kGSY{]lI৑|O*}QP$K1GAj;SS/4u9bа}^c%3rQb Zyƒ߃<ɗ!i\R9eKKyi+ntf ư7 y\} R]b& PօԔG dGPGS&_VNbّaP0ߍ4{̺P^Pbz$|lncXtd)@nrXm׀ Q:xD\CTk?b_SXHCuAwg0 VW'e}qNK"XnBnZ/)W 3]m̆_8CCi2S鳮Kr4Ooڝ 2'jTꌐܫ#c*d;} sHkn^l#ԞCNNFl}a[5ԏI Sx We=#tVn,žIPpN/-%\ŷST3 ;wY~J1M 5e5DRВ/Xl% 3l~_=2f|UĤع %Ãu&_owz2v|y5iX8,TKѭz ]DV)q̄a!Hᚖ;0Rh1km4~MUvٝmQpv2zx{Jɘ(f V95шq}D e?r!}D'( D+G֖M u!-ڳ}M10+~"Ioq9V!U\Խ.8ROP)IARcN./1:j&!ߚLN2L9$;'4hJ| kbVg2,i5mJ/utc5D {ݬ N_BO1Ej#uc!61bݱjce}j8"WMG͞:3m33NaJ*De=҇2ťIU{hp﵍1Lm:;^/:COt(3־Uا3dpF O4cW2{%#ep%ݤPE֗fl$Gf޳2 #TQj' i=Gg(*;D'LC:[g-8.WSc6pT0%2tsXs`9.9Fɐ !GN#OaD, mS++v9#B֩N!9{1cߥp霿V<[0 HFxiFeZuswD['oJ[BQZ~61{4OsGiE$/ӻ8յ-V0؋_n RR Iw7WvBX6LP(ť'~EmB]upbb +ym2YO;.Ba_ Xb1(yCfsaq҇Bb6 MvalB1ӽeGp2~34;C:*ܥ]6U'7p:Uu\. \4O}"7eKH{VIJW{8ώ}Ϩ"oѵk^Ӆpl8;T\"&A0[IYNJZ> =/=4H:Zr7 gIneS+Go%4iiږNs/ʥ0ɲC%|q$z8:%Rvp *ƒ"mYu8:\3 n ) =Fh/]4+Bi 2w9 =`XFnYsIEY\ M!H?Z::+u5afG]{I:1LI8VK5o`Q''(s_o4ϩ=z /@r`_4DsdtcѪwhaBL~X`dzTpUh).gH׃q v:vN4H/t]V9CXE"u[BiAe7zE[;\'ȈzdEω258Qg[ Ze4f;+c7 i9H4WѥBݑ Y"- P9 pU[/}4n~g)9syZmq<$1}<ث!(~ڜ5B@BdDjiЙ[0!9PU: koLzE+fllћ4R3Th:<+k=d07&vys{2Z)\9AI YWs:"!TnB`ehEJуŁ,/a[Zz 6U@W,!Uax~=x9DORRȑ bJ$VZi$.2j7K[Lg }I By6 P.Y n%ԛ^(LԞBT.uWV&ш'2pwSu K!og2v!`m,T5ufRsy5AZ;:O1B_Sܝýsd' aQʽBҌG? u7y_ E fCahs"A C# m؆=_9C8}5cdr8Y"X~6ê8 8 Y0 {Sqe#XK;!:ԋ߾F>CLQQ >b= $iYZW gXH 8rTV>HRG#XC(&Ӗj_6 D-}>yCy˵Jz}Ҝ{M՜&;y2;mFQ?w̔9-pJףּvȪ.{8S bG&wSx[,5Qe өjtհC5$âԬ&c.ڀë쏍Y/aGsru{Q${QlF` gy-4B`&%nXl S,$ V (x;r8خo$p0HX^yC2ġd˦4ܝ̣NJ1,tˣ,E-=Z]үݪFJC\#^T/ [rԊopr1ᛡ d]5ͯNbV-ohLÉ|ppQeb˫nâ{-"c+z46="&Ž2kei̧jBc ;"b~:.7h!^?-zl{KjE8fg[1P]pvB=Mf;/Eqx;R\Bqlw"??!i]ܪ:}:Oj{#3{nbD]ή\p4~w@הp] HCRd,%OV!PD&R`)`D;C]Os''t0Py$f~7az;V?5`ZN30 8F$& ipxvS8wrC/%l:]#6qD}$_vQݬ*^[봖dgnMpL񜺦.%q@@)dU!foF Dg9}D۲g&3z%Z9IZ5Uw))Я?/Ap%dZ#Q N,ҵB};|mD{w)):=\|r?[<]ef|ډAmo$- (z&k{9l ?gs*a!˃B=8p֥34J. E@|rbgZ_!zU/DԮѠˏ9| LI aes}ZviK@Ll|c Cv|pc7.@׫Kg{a6p81iCٜS-7[l!Q~<#=}U-%L(Sc{M]R,M5޲j~OW֣' @>8߹׶B!=u`MOsqy5wKBm lz#Iy]]tq"Jz8<5>~6n4{ra<״Cf*$K =bNot$DRjzc'1(37tQ-À!1j&'%ѓԻqƧLqyϢ@ TEEI{MOԦ_!+z.y[&hR,d$;O+PSv8 aDɟ'|(}_`};2WOdy#tXLDzhx; 5=C._,ڙn楺MWza38Z 9Ko&`?:3ػX30Ax$2huUE@H52K!J)}y$VQ$Gr-!ųg1;zk^C-sSN[h_H1,/ $KУ,F"VV55^#mf-K/-塐LBF&{_3 >GN;}3 rE lϖܗUr->&!oсLss }p|M B[Zqh1\z^v]r\K8E/*OQع2Yk̺016iaDx.-n_zrhT͢8˔rƽCtiUخ *$\/IySFX VE N;-h"+TA+]5="iC/Bis-A__ { ZP TjWv۪٣t?Supuڊ) KK#*eOw7d,ɣPfeL FAJGl_5cO ' H]Ֆ%f )m)94Z;/.-u5nhgy$R6rQX9!q޹NY`%ϴAؠbhyjb4DѤ2,վ.z5h!7c75p}U٦LnoSyfn$?V>NFQi-RI'K?)3mڟ3Nal+LZ$kٌ)0C@h⑲9~u!Lfo6K8 ಝ.w|v9Zm~8V5@Nnk*0Jos/NlyDO Gou{f9ؙD5f9TX{FC jHARvpQ醯uϼPe}iиQ@/zٮ-JhNֶI@<4{&88j >WB Oӽud\ћQʆ~uazO?i8=-\ M-oI.yj5+ԁUQ]9\ s|@^ q~_-!!@]'ZB- :B'k`f, ܽc{WP!{{ƟH+Ҹ͍\Kek hNڱWCmg7bfi3 ^4PJ^^GPY(z:ϳ'(񕺴b#1 8C(;-0wv;zJtJ"cPJ;(%rYJeU]Ί2Pd; )! D)i;Hu8 cw _X#h6wrCJ|bf&(>.׉^ĺަF(( E,-ظl[כnmZ#ojOZuX{*p Ou BLO߱'x¥Feɍًج|?;4={c~1Bq?m?qI=zr_X7gș,؃ͮTˬyƁ͠Y{W Ŵu85Ȱ-<4OoZ-=$5svagnջѕ 9vda+ eem:OFak)I1g[z@cyJfS#CA%Zt|ϥf]c,D z L{ kUHjte2*8;JM9&U3{#=:dy+(kam պ?->QwV@ZcO4-k_;_^a*dmqV/[iEB!IadEZGtWD>Jeɹm҂mR=+4z]D.0K+|zKRz;>~HM;1Z[pN/ +ICl:Mz:}ٓ޸۫&Q{Tu9Roh6{,"'NeB#K2!_Qj|.y s8H=*?RK[tǤRW9Kj0|/j8~@LJ0 &nBAN+Y"|%p􄪵x.^O C_Y:)a '5 J/S-ِJgZuLuBz@F9p@è WŽ2_;)L|ə`,LsC~-lFFKF9=$L+#G4/f[ kj"ጵS3D&DQe51jM4bi }B<; u\i,OAqS}0equ56'cWBA7%㣶W/W& Tf'ohKIJe :9gTL7 pz/nwCr,[µ\\(/T/Glvi.˽2@ć G;P} {ŐdQ_NGu8vΊ=KP9+4^AG8j:Y+ O翈!3*M#V/4/kCyY۬J(い@9އ:=+^<+n\4|\rޭ{q%y&:{lW(Mzf^Şv_oGC5䢊(J?NDD9+]Rjn (sC4-OK̹*=pQ ,4+q^HFiH+`CcOV9햱#?K̈\G)Dz{\ ;H)T漷 ik8AxR"dK I6u$ǣaq.: ~ѥvr M7<]EHb$N2񛉚L\i9M |֚{M܍89xUAG뒺$CՉSܕF=I֚ /b"{n:f.Vs}A)OG_6R(΋P!1A79EHe.svQ3 {Tڐ:5EWK;Ƭu uaZ "ݒюPz4OVV- p%Q1y #,G0\ _ F g#0 wk}kP-ZN2FFL$!TNńs83_4|H9Ijkf㠶Rli*7JE2o Arx+V(F>އ!ahCpMZ5 LzS#UFrR`BMH]6yZΟ}Z5vYlVwz{2j徔C`ifzq?d fvun;՜YLkUccV} dJIdpii׊ w0 葝6M yzf{5m$M\N铲=zYƠ%2h ,S`P2_ǚ-UT4>fi54\SنoO9Sc'\Re@A [_u (6d/&Ȼj>TOuԢ]fFx=,+6ʬ)eՃb fL -Q{mrX\rJJH9תqe?r?tlWTmi S ZZkI>ř[iGAT$\bv{gOdE}$arOL?ХT$)gp}v(V6>h "Eij|0"TXH&@ 6g#l HgA$Xͬ4p$]{ U&0aȑސw!3;O v1iX@W:7..>WT~ъl ? }M]kQրq}}.Q,9;JߦPM3Ié!܃* =;`#}=}öy9/Iܶ@+Rh, M~h`eN\.(y@Gh @@ >$_\N 4iw~W$0' !+GL*W? lr {O}o '3\}ZAfFEw>SŲizD+Q1z\) 8tBp:8΄=FRe"=R>|L ^ɓ|wRE.rd5 ozs.@!R>m@nu}A727i|RWG)_ELEC']Ke/\%zR}/TlVu@cbT ik#%tW'gDOfAR VdڞH͉!%NנUӉW7s뙞-)4yA88~;ҋ%o :SIh:0ԧ›v0;nV2#/xev(w1 jB[}Uqm5J3t-k (kO,ifI`C}vAFWei">Uש;Fp*>w{219ԝ4dl6woUJi K~$20.|RZLƋ(}XT6*@9;Ab]ˡ+3XU 0pHJ[G>;wU`iBrJEhq(n (elo.{|&^+jo |4%f#Y,8uskQk8̣As3Q#AF|Ti6!-CkT5$Luam-M2ԁJ^C}dy+C7Ht> }$a fpyg a#:B.RPx~]g&3H]hZsFפ K-Aw;F!Dĥp lqE6ĄPJ$̔.9]%H@lm)ope25s50 )m^#gF^ oPL#8F$]mi{D"ch/'qnHxQmll-,O7. =+z!Ei1Z$x ,oiIh5pFioT.,^PbpXUɖ J$%X@spe\,MT,Ѝa:$!6 # Xd%kr2EEOyPr0]ƚ%lدب@dA`mxk>16~G쐻hbݘđ lm%ִֈddsHINWէ>L St\]¬;AA8-qvzЫu1pQC6Pl<4Io0J  N[Y_DB|NKP~ iu _OG \xDXhHm ~G=+!wOSq"6H)~c# 6Xt mSz |Zv$>zɂo+izٚ&P)[3P,'6}\J(.i$ akY]ʫw7be WzǒX?AUf1ͷeu>RyV\]D[ou:bD*/&t `Ҳev;%uycߜr"9IP(zfJAcm#0<Ǥ?A |țOY1_Oi#} N īHU$9@ Ϣ5T:C 8 lGh_M+Ճi h)rvyܑ)Vv-;ifK Nl`I:&Ʉ~nijI6m=ԪOIwaxaJП:3PH@sYc%ޜ;y U^9_Yلuih%vqUKZW>Etj-/jዱV-OAsURJ#V*%ai,t SPt񗳚0jzU6_;x-{~c& UDu8VOƬxhec  :o6{KRG,Wz6cUC_'o%i5 1CXCC}>juWoZqsnOM홪"ߞRF{p g(Ž>wmw7Re>ƗY T /Nh6)iI5>v{Ķ0Sc0kTJD]f{)[N!Vpoښ)<-ݼzAɌ-ѷkHd<2lӒKs!gkhMuDj.o#h{~+7<$VU[Sm|"w|֢00%E<^\O:퍢_XCF:7?eϚXL™ggYzq`c[.2^F/N''):-0tSLE0ՙCߔ*U X K5_"J'53уiO)px䟅">vɎ֌nmӈglY)d=-iO1[Y37 6'kYUtHJf5lR8YT8d~*Y"dmA1Ԃ[ ׹tԞv)ZALFo$bjJ:\^CZIvPgW.qwa)7j]aD SH߂cwB>ѻ4cϿY0-cᷯƣƯ cD^zr/'f#ݗ/kAI% O#[nwBw!S WzF|!xs  ٝs< v 2t?;iRax3'ul.t&$,E><~Js8Oj{j;lA&} ާlt .vE=iJ /#e$5 5phpUi@?{zD G.)^0Ua(ok1R!1HeQ?^]Ofw[8(ͨ-ʻ @>8ɶٗK24zǴ N(5&>V#bo6=ɸ@SUv[jTjJ)h#; g(rv/_nWA /4EiQ-TB(a,nj!?OYFvTOSp~vHl,DR;3R_hxtQRKWj.2bOmDEZHm(rA jZMjYB;K ͵cO U8WBߺmKfIFڲ|s ]FӤ~+!J72.L(ܢY?(A>, Ü9!#xiS4q =?XBW/VӀIlN1kʼn,5芙ԚY7dDvco6TGln^jOm593N)N@ -ꚾ1:'P8`I'p؏w*j: Yur5UhGdx;7V?_GgygNW+OROz{CD+H܄mR}ғKI}b+ғlSoVhq_sYxKnhV(5-Y£ ˀS:m^tY|,'#}(5_N2Tl%۲|tC33:PWF" s?r_ֆ%՗Cg3Q''ux;> IhG=F$qE"P ZID 糧VH_LeTP:-vJzn8T4Nl1F|{3#HI*xΔHɆPeQ+k熺h-;V{f$k ^7x 0<:{{<s|NJM/bS;Ұe2=bZS.#|kh#%\ZUdFC5sW4$d"l> ^8l(M]dAC6Y(wvNb.r#r}$aQF\*։ԏU .YIe0˴7$ ۧZenMFF܍v&Ad)$ن٤eV]z5Λ 15<iϙy3ĚGdSR hԐy9k!R~Q2dm: K{L~T+bmϵ+)}$Id ewIy>h*0 D]xd-ΤudnҶ zk-T7%0jssуǏj6wJab:N"@uTt=4m;V3) &5Ȱ0D%%)QKXw>_H2Z51rYHycjHK5R6o"p'J^+M Ic|>O"1yђRrB _@҆ R"t45ePJp1HOTNтD=gH"uޕوGGshpr3UkHws yRYAM^XAG[<-l7d!׿+Wr:}eHkU}("d Bԟ27_Iz,hy{M^TvƲ/Pq!c u!PWs@W FZ U?Cy0V[7$"4I=V#؜g:FtVm4M@EDH"PRb|v_pVzJN `DŗBB:h@;Nס('&=|f.V|w_HZ=gG2%ijRMEǕazVkӉI5V#D:?VXڵ@9;PLo]j}m*GS2R7X0Ӏz"F^Jɋ%bqBo l[HcFo=IZ~~ az~MP ;wVGŒT!)Or ^_VD\-SIY3{^[ 6|վ.P]^7JPkW}x.GqNJ%} q0=ԩ#?SLS)0sl;=}j|u7$I^_]uk_],W|mlY!b` $a"R{W'gdy3 èѦQ׋J5r.-'ԕjQo>&C5x{ܽvg U.],oo*K醗dE[Xwr;P: p##]@ҍIZS6kMK{#ɴ#Y? fqy5-i䫛bCЀB;gjxN>Uh:Qebh2SWYR8C^ɣc/tO;yyFY2o]w騟ؒj }0yGZ$ \LAӇ lTT~ 8} UޏYUM0$4n1P;>{( E ~2ҳQGNԬdlT(%cǜ"ɰ3S U}\'_Wf AmA+STS/)z])@ѷVM,Y.z.tTIsV?#I _gҺ$Z֢#X4BLPSQ[q<h@R[|ޣyʜh1ť11x5Y⭡]0ubpIƛy&K]Ѳ/'( W/|xol99*niP7p=^cׯzM*\V?;L _A&F8Xo*,[ Y/̓;W4|G[gsVNI6jA B~vY_x]Ƹl"H/䳤1=˜2)ykԓxO'(1%('4E7G(^' biWb~)5~/ 61 /l ,\Qty8*ezb:xDq{+[/𷭪M_Y~ iFk`}S՟H?pIJRZcpQ 1Qb/Z⌶t^^.(0DBZNW>RvpRcTe6p"KM5&SOp?CqPŵ .y="4{,:^׍y?zjM\-Zֺe6ltZU^vnѫ@ n٪7mR5 jo47}s_T%t_r?߿4?i}wڧo҉?|zڤ9իꫯ]ͯ ^Yԛ QI>?]5k@7_̦?_ݎy%fɫqp0;ES?!{7ezoEv`:J!>$gbIl7DB-L7W.rop\s' 6H GG=jNk.H&+ LF a{Fa@} q't:M~^i?) $*uT  n$r_-/xwx:KΏo(nڛNFD: "="c]ћV3O.K/u#giP O]N][Z0$=8NfosbfG`r6‹u9y>Pk?3 2Yѩ1r۽zڣ)B2g[50ǃ +HaՊ;k2;sEҷD.ɶa i&$7~0 BsaPޕzɛﲁb3%#HS9=QIaf@ lz:f ^K}Q滥Ly>_+Q;.г:M*t4j72s`3ᓗ|ƕ=hX#;P"h j/o}#/="Mx7U?=X:C1rn3$}Yn $./*_o!Sϴ”"7(#Sٍ7,͆H< ORґ08dĩ@=|ʨ!oc{h|t柟ҙRM zB2s,?Pq!ND8 9fdⓎRwųo]5LYm0Fw):RIC@q Vu"Lm@cOr՟{t1*%Īd~q,X$[V2 ZPyd&Ċ#Mo[l>U%UEc@/3E(=a. }X_i㢚PzGIVMޤ/y/z&K2N_X W.jF\.F^TvD5[+ +&3flQ8k?DGٺp,EQ d; ŊX{@GF=:* R%2Jk2c^қ4.(]T +O8 Ro@y"xV^Te鍥։楒Bp`+ϐ]t$H0߼{lQ[Bߑ١<z7%ݕB~06%oe%}JftgO"4[1]V,}Q[ӣ,ޭWתZJ>L=o2I,/ƫO\] |uYa5VVR_ 6#:Fh?OF, Q*M"fVSɊD=R5tVASo$)دUH?;λX>|J{Zr=_x@F>%W:l"K y$jq9AސayzQ'ng%3'ɚIp S"f[q `H& ;\+$JAuP?#=Fs4i5cOߑ>g{cC7T+ԳDp#ޢG]8M-`K!?P}_>Wΐsy;pw owG@U:L.cC ̴'UT}S/^[Q܏>Q"G;gm%^\n rzR}O]~~u,~%XGթG6K5~\O\KTbpdaRn?XJͪ]"4Ŭ2 g ~Ď-T-^mϊz./fkͺi _"F&k~au`uN~[F7[ex+4ꦠ~`>_ݪі!锋//󭸫x5 Wv"9--+dӾv:5(VKyJYSi9c2" >o-LDz-.@on9 σ5ߘ ng)]G~M![wEFVitYk$YTB0Žq"nDW9eouk@=yB}ޟodh+=E,{>Kٜ5*5تlg $A%`bАw7Oq))L񜮴H ;Y x'N^Es KqlXӜ¬JkciD!jə2)G$E-e/ۻQn衐ptZBQGZ]]Qv1bT~9ӏ$h#pOxGcP6g. RA&nU*Y QϗHʘՠ 𸊄)~Zh7K!A%0C8",ҥPWxD HK+y28 ߤ$ѹ\ )Wq2{^8d.'ԲPyraL20V%SB$OJ{$Nq/Ȱdr]=\9V cȀF1Bns;u 3,Qy/˖_8`Io͇({V8#c;(l ݺQ( v6HlB !1$u8U풭;jgt sNW L[Lm?E\G/&3Q)_Ǒ Ц0&RtБ7GRl^ԧT E kh㠣aL ?G28P;_/С $i&6Uۍ( gwˊcMJOT4ksPZo0F, eULpԕ6#Y"ZԕNdmVώȘSMEb1M9BĩjSZho|>?/Ng_}{k' ?')/9+a+\ ˵6w5.;H1ZC46,^\-psZ[4NKw4iR5[ߏr[!:0c{޺PI'k!쇐|?}xHd! :鞽2;@9}4xXMaFSu"Y|v$/gkJCa?!Ul;-m!8q;~I$qvXAɦWx<\';$=4fEWy@|b/l_ !/F컀~"iL)zI4hT&ƻWx4,,&~oA^ۜ/+&D4oXCIn4UA0-e8BQ^3vJΎam-?.Q٬"D`}3 ңzȎ޵kaIJGQ]T=/+2Rwf&2F&'<LFpd)|lqb|cQD#|c6?`0ј-{KJ3iӪ9'kBI4ZnS/gN" ݎh{*% dܽߝޟ# {=B0b R=Or ?a1p,Y[/7~p_Ӗ8vTS{PU<#0sDƴ5.hbF-qT+Rv™-%Qaw] KT6tJcrvpX+fN R#MVa媢 z.puDf>)1 FS`8%Z;on K+uG1O؟ tNW&s,agF@I3Tb$W{H֩)E Bț9SҦަXP>1Vgn2aU$LzEeRE { $\eTy UE 8g*e[^/L.RD78l\hB*Ѧ_>afwd`%_\.$4MwX^wz'A񗞛 l6crf._!ɜ׊O@M ^@JB#)W,ɵݰd̹},7Ùo ^9vԟD=Bc{#3,J- \FD`ʜ녀\ (3xGkur0ǝ*gϧ~TccI+{ R VU{'H;aW_kIGU$4L\vظ: 6&ʩPF;,TYW蚈1;'66s5OwCMZݭb?82`_ET}HX4VR0f`1&C mN^ZcIu`G$`B{뿼≮l>qgWRЉXns(ı Sl|壜*jt{^Si!w;-=sۯoPy_]>CJgf15WO|^~lOz8}G)落!zR,tkm/<6Um\V_}Ǽb"8 hlxiL[{ '46౉tgcP? {CgXR׮;K%w`^=$ƅ4$Pp}d<4x&3f|޸aҾkry,F*wDKrIUndCr%c\H5yg"7%ۙ䬠wG?kV~px"t|919NȬ#3ߴ\~ԩXz[%Y>4:-Hh^99U^|!8:3a_ 66^~0_!#J7OBD{1G]Z$n/%r± ٚqLSP滣;hf `=\{}XjiKs$ 7kͲX lǁ:c.Q2SlYI3#z-1#LwٿG>=TȻA` w}&Bz"$>\:a,! }(x`:?Vsfzo7p Fb}~2+EaΝB.h_8h.ר"~WD ;ze$Z6|٠,n6{2La&m:3Xz1C=\8r]n>\E*ۚ;8~p&yh46?iK s ?ϯST2N\f[垎{PDV1n? Uޙ5&4C!k>|#:*)u@TI`ћ\olgjx04@z,Vd$XYF^I!WiaF18_!Hz" wH $qA2(_&"$3}M'\7H %+ #\pu0- #({ڊAx#aǝYey$o_3./vnY1g{{}k8oc5O%gyr!~ٴA18NkGe%PMHc3'PۯIT/(9-tƧ5Rv6$Ӳ''-S|Sy"y %9wwHfm~;>eO۽oۏCEN7IwڏGHy޻qBwpzY^ hlv|#4;;.⃳;Y$Al%?ڐg}cǶ /vQ,#ldzUs$ZJkh@>q/L} - W L 1$]s|e}㠱SUc+6!6qQ x׎C7ÕrTn?amW`Ai& Q%lm[[X w?\%q/0TZYX?iKx2gMz׹Ζ XSx1{qe@WKV^} 5Vi