summaryrefslogtreecommitdiff
path: root/src/misc/realpath.c
blob: 4cc7e7debe281c11b6979e3f3bbaec73a4803a59 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#include <stdlib.h>
#include <limits.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <errno.h>
#include <unistd.h>
#include <string.h>
#include "syscall.h"

void __procfdname(char *, unsigned);

char *realpath(const char *restrict filename, char *restrict resolved)
{
	int fd;
	ssize_t r;
	struct stat st1, st2;
	char buf[15+3*sizeof(int)];
	char tmp[PATH_MAX];

	if (!filename) {
		errno = EINVAL;
		return 0;
	}

	fd = syscall(SYS_open, filename, O_PATH|O_NONBLOCK|O_CLOEXEC|O_LARGEFILE);
	if (fd < 0) return 0;
	__procfdname(buf, fd);

	r = readlink(buf, tmp, sizeof tmp - 1);
	if (r < 0) goto err;
	tmp[r] = 0;

	fstat(fd, &st1);
	r = stat(tmp, &st2);
	if (r<0 || st1.st_dev != st2.st_dev || st1.st_ino != st2.st_ino) {
		if (!r) errno = ELOOP;
		goto err;
	}

	__syscall(SYS_close, fd);
	return resolved ? strcpy(resolved, tmp) : strdup(tmp);
err:
	__syscall(SYS_close, fd);
	return 0;
}
|I$gŪ )ӲodhEe鹽T|I?œM=RVǍ;ee\eW~EרowY8#$-J7"'sG_ -L vsIu3W!㕢'uvDدH&/a$3?;YNTe_e/]vo!M2t RATk 8Rxt@, @.9$j>^ /vN/D1'V03 *̂sZ鯜O*]a¦ws쾺OvaX.8#'G-'d+lPTfk#?Xbaqy^ >?JɔW]?@8/夤ƀ#3nwّVkXYgtvhWx7e5 _Gve$?(Ȱ*i) MT˻g׬U?#= s ĶqAz^9Q6[ZS4J}kq[ |N[ո8m5* 1ep0S K " v c= 0n)9mv{8ƖkwGV*'Ge" NZVj*7v )٠]q@{ $ QR&*M. - em@ow1"Y+PE}˿-PT?ZئWLTۆYV"f5\mq[y8vQ-z'+9kD0 ?Ez~ZE\^y9ZK,´a\4_"d̀qeBq1 ̄FC.} 8kٯT}_f\N{S^J|ݢ Q#N0G_XJ%%%INBgN""Y6A&#uyE<%t:,;wan"RB.5,oE [ꮉ_|uF9FlԒF3bΗ݋rl)}@P-e +TS`7R[xKRD(Oܞ:TD8hS7n*Aꐟ&q.&C/$ cWNE_W3) _1w_|k6mF'T SϢXmG**{R>K %uOĚh-Smf&=+qO Im1X[ x M&lx `;Sֈ$\\:e&zZ@^#Ex? O Hh[I}2iܔ9,C8y)!{`[;҂)jbH/("g<`pE>VRnz կݩvmo+2LڕΙ,2Qt5N@N%R_!"ZJR ;Zquؚic{K3p.Bۖ<>E641V@{]d>302{֟ieX]m';/uC 4qv 3}FM_P-4uM2'B_e+QCKܘgI2j=^P,[JU)p] C68یZIjU"G_崉=]iHf<+T#^,cYW3)wȠ#Z 'y0ɥj!;^iqerZ('j(m)4bUTH.dir/4c̅ RꝅOf l:!~OTn(3JCy"\INơ˞x\H)qEI 7"{nщ'3 g3S5'׺HI8۸W)8&FBqÆ E4 },CʮJRs;r/;m`u`s"_Q,'3% <_C\J%9[ЄBʯk{UvX49V(l DRBu~>2c27ppzVuswTA\G&25pLְ:"iD0KLǤ⢽ ]ZO{o7oqVM\CZb%C71'WyFB÷3kIqD_|ЩDp^t#QPP+"&]8aq#Ke b?;%BN D*6ÄwD98uhAo..*AŔIEJrn:RL5r }?i cvQUC&{&a1sFBxC{=/I  %[(,yt FW!]D`ociR2_v2\d)}ǥA6Q$h/81 |=_),Ñ* Dnv$eӘ'"ITm|c{%m>D+|AO&ќ i! >"&4 =&eTC,ءB,G0)qsqqK|>kk=TʢPn8wv/,{nӨDsSH OMnP.,iˤRI6{#齇9+_ }kQ\R fKxJ;3g V2j+*Ɵ1C17D> =9mEM&]IM`M@h0}>"m4 F> z|Y8wcxKS"<]Rؽ$RS)wRL^3tq?#s]a`ؼ]ߓ^ѭܔ `3,N $ aN (t")Jq_TX:GUy+PG癗>y>>.,YKuqed"EawN$1Yqh$(e]ޢ)ʂ٘CWEQq~Ȼ\ h!%^,{ٓ^B9-ʑK^daE?302) +-7%)4) Q* ]60)g DfM?%nYsZ|La.l99ǘFOkBkWfђ6xqB'ip!ک#R5_y \|ƪC/1|I=瘿֘ஜLytf 6 @9V U@Y{dbȓ3] 3I$b=mJKʒ )[YuʃNFoЍ5tNӑI8 >%)HK(EBVA{7܉Np>݁>0{IC,p00hx;ϱ#Rk?ѩ78. ~f}AM.DKz@)2 60!5HA+`'H|G+@G՗7lBݱM?Wɋ_l )FYEQ]2$IYXgt=ٸQ@aHpbQ-xBs\ئelT?h_[mS*2P 3 R^-%LĻ^HbC [龦 3M*IHvّʀ%-!XlH $y'@?p8y{h .H.ਛ)N 0(FA %2f y5mB\yqE \Ju)`qwiy!}-x <.#tY C Z':"S }! d5 1xbm7^:jI ";UEY 'E;>#%/xU 8!we*TLC*1ZhݪޜXJ`ȩ F xLdt2J_ÒUDN\k̹P7ְtVs),F UTY|ZiWnb鲴} P"[p*th_aYGK"l_:ѕC]Wsa]"P #ct?2BM9@$l)4.Sb%ēED2"]/9xcƾ);> k;17,fo- {%8(TtFR1:bQ4f#a S# Д{p`Y̒6NCqT*88 jN`Wڛ5Am[GKLy8/K ji'&I1nOo6M*ɂ= (Ve!:dhK`p4qڬjwi"bO;ΌlUa*an=^9L7?MS,H[^3)!x t/w/PZׅx]-nn|ִ)ktHdvK $<ɲ]QrNhS\C)QΏѕR4Av>mwdq<`H.s ,_W3B, NjAQ+K^AjTN2@woL5")eJgP@ԅRv>0PPs[IיYЄ8FD ѺB\Yؤi&8};M]p HA۽y {ι7Y PخL~,6":\,1dY`fhj&Ts괆:d=#nٖ5 iVu%NS!Ej1bl _.7W[9UEP9({1\t2'KFYxaҧ`ﳱպ38ّG ?"/n C){KB@7LŠ@)ooVzuXŷ/p r@8y V#[ ݄'&855I\fӶ@&OnR>% P}ehtgKLoGOa\`8ƗMD!k.dG;nb:y8TʑdigUDd+K(֜ruwYDQ^&Bz+| {_B++ zB9MJ%ޝ} 7YJCO6bu[fuZk{։ K ^\X<_h{ 'H%x&UV9"2Xfa,K(JYY:I_QЅSKqyˑ BOk÷^o~7{CLnKfFgȦ#qTl_4bѻĉdp(IhI(Tӣ0(ɒs؎͒ F\1% B8 QGAi,Σd>EOHe/{.u語P+w XVCTߓ$e>)]KZ%#)sxoYrn1GbrДBxN}]ֱt Q j<7Vt-PBƶ!Tbu.XΆWZ;}`(y˞V_B>A ]SnQ |t^!3ya,MrÓmy}#aV a%XUh7c ȩ+V>~[3&YC&5o&V_3 ;Q;wHVO#NV[&VFKVaeiGw4hcEldLzƔs(M)I h&q$|qmy> ƝA&K*IBCK;FRmXTJ_#/M9zRaxrL`%.aQkr`!͊M57BA&TX,mV%"*R`BZ>us,Ō㼴[bбi|c8ZuX mJMAZpd.ی GRY %!a3NI7ߤ7d!Iu1 [x"c}'țSCYyGqZB`DCM#:?卫٬'yR"WY*XWSL!V"ߒ0Lv{;R^;XDF,ESLW`=eZZ 4]OKUqM!A"[jh#D&s [Fz Ќ Mbht8Sy)V'7ЖJvUB,mw}:ilyoC3ݍ;!Pl%~k7wS.R/2UqJyWttJ dEy `t>st;-Urz &|hMpxʉ ӈWHURT%r!|l)^Zg M9f,'zpm nbaX1>(Bќćx!]+>c8.sb֎@Lsғ_עXJ%+kV챈#&{/efErWBpĔHJ$r- +e%39]c=B-f E^wG-+c"CsMFedʝa| +/Y$sp]V6hJ "R?mJP7 MHhԏaJP+h(ͫI'f9f\xw=_zuKJ;Y;:%,pkI=/6(bH##Hfo*cH&ˊBmWXE6`dF={s  LUf 0%]3J&80_QE)HDKt,5kZTOaWqhy= ,f>y?؁y&g7A^1gc WZӅDp/NZt<$Ŏ05|)(M!It|J3NPC\2*$.NBaK c,ETTCƚz-|ÒUwO{@l(q;ma} '.NW8F2#X:YqcB9Ò*S*5$O$DҪa"8$!Gߤ|[N+ }B5P.]S6@6^a\P37x `%](3Ntڀks%a 'DVI]W6": IҰ&,oh M@3O'b`+iUF,)3 %հYzM >/!yFʠ4PHzRrOKi&3n(np "Yw+/rllp:J́MOi3zd`ԅ'%c}!WEf(bv ˤnJV;Dg&Ak~h)9WV4lBxTlhd!sg9BOl?ر{F9FMQcJI a+߲)dF@/XF@e%ѸNjo]y>B#. rݞtՒe#.iܰYĬ~iseK t,ՠc:libZ8YD 0~be;KC o2-t ]K"NY|$p f]qL]c:dUmG<5 yl)&3(?&9]<41NoA2`͖;Do]0НDy)t9X;W{OtTTƱJ~S6FQ3 EbO-}.eO!-ppE߄=0|u[#Y/Ӥ/_j+@k;x5/m&]:GG,%ָ1sIzKЇ~7,ݓJB zVdk8>Y&EI~koPh;""1KR8mFBuvc¶J_@虔V8ΕP <24m=cѐJ:V=[q{Zʯ/əWkU0tG^Ñ$E=#!7CJt3~i Da{)3ŻO8.7ڈ 4Xmnk{U/B6 <ܮ k+/z `^ip k:Ͻy#~ln͖'-xؖ Ȁ?Dv410:aGP垌b$ iCgG^(C`!+=HA O"y ކ/NM39 .9J0Tرy%:_7@ eOWR12JHkK{.G:Q6ILH`9/wcj63MFް!!~a -O׫l͗w.<n;E -; ؋#PS :wߙy@ 9 PYDTHC2>jQ/EOԑ6DE:R"U.V-B@^jۗ&7CyI+0Soz*H})jb0x*uFz7~XKE'hk % "]GUTF=TQʩ${it:h hW.BLb DK% 7*)/$^cpJ[ۮp3Tu6< j؉#6f .)5|ޖnD@[׭fU:e蚳؆C~/恤3 Muy(E{G'[LF*l:Jt*O+^ue`a8"[P*zFL6WK,i`z#e;'"X+Kd(8IlF˫2Lu$~ $Ԑm[4=P5DPV>)ҥ,'E,?>Yd| u@F#¹כ5p}I],/¾He} %^ @p+5`瀂p $Tɒ2Wy^> eD{ȌW2daZ|t>-o@Y=Khz 9T1)Xdt:4dQZji*8 l1RFIVqYӯ&bLM7SL] 6IAG5~CٶJ4 0b$A6K;)wS:9E\t:`e:/x{~u|V /~}5L'Q$tk&t\b (֛NUV/A"ӁĊ`so!M cd.#ԝuZ9kJޔ$lcEb{vv©=-% ])nǖI!IeP_44 8Ch|6ZE9>. q'vu_BX"qIi,ç6x ^(s^"@%{ʐrE2н[ZIe!Xӄd&g+ Z'^m=mսVgc û #Yq *5aHEdr0f8>#uS: >8taQGͳz>L2BAXRF7Y¾( ki j['νʊ]ޟ{kMza@.'NPFur64' Wn1l~>Y"8輈¡]XMP- +r :eի9ۧ,.)u[ [>f@c/Hc3 [\ּ9K-`rKW0 GLKg^QpEXӱ` c|R18Y?M:QWku 0,8 }R@c r*bQ彋d!]3N8zC6=$\nye IDdApy`FE}'$ d;%ƴ{OOCFcDwdt \~>|"N*JǾ~"ai"ԄפV>d%;DnoZCDCYTѣ, 6I8/5&_d$F8pDc8*Pjb(AcdَR[Ƿ)lC9gj4w*zYRJ$5j$ 'aa177ѭXkjF0ֱp 2Ӊ 4/ $a@1[=b1clS(!QZXϙezJpC7쨧83:\ N,n/6p ..(B b\?4f!s_jvxlj0eUtEM.(t. FJmBDk08n{λƚ@{yWONå2Y_nhR>@|(F[ $)fY E.@s A"c(|HGJCI%LDRL1 hVKB*^q+="ŗ iÜNܪVsa'Fnє|kx%]8I.1]bR=[ ^0_ *&sZ^/.X-Ɣ? +eUbK;|B24XtgбRTO#=y$Leؿ4CD6'K&dUV1-zH+8(]r'v\ WHCp+&C3!:ꐘz0ꦑJe(ώ2xx]NQ<4ȰvqCH>tIq-jpl"l:AݾV8gX%Z qwUfwUPMƔj'q)UZ[{"@ԶޛP8`q h5̿4b@ MxBGfxGPאKfb&KbxyKV:CX8\ƞĬ@ðB_i>Zl(ZoT|{Ay{@ipua^c|]kjRaTw )Jr !ԄR==wN6pΉG9jؙbT;+d@ݭ6R]A7g)~c_Έh[r4J:ӽX]LǤRGJt1ȁ)P 8!?_wrrÑDNEU^[kPD'NX,7$X:JI#ځoe0O{쵡׬h%F#S{xZUB8 8HRI!\tDRvi:>(9@⾛_,ס~J; Tn+RŸ0^CKHɖ$h v#4Y#}h *>:o0\=n2ACDϢ&,U^!ZA. d9~>f=HEzuK<9/e19-[@MLbFRwH8 #Wqߋ}P "mLDT'8' kI ?|F^U$9 hoL! /Cl/}Vf3P(V*VB=@~,Mbpy(T5Ŧu Omtq2[Y ~5K' H ].!e5(1$B\yh|##| YIwIhnx3-|#Ί W䖦M£5+x+Q;Td$JBw]WnPSH1DYf;Ec96}nhN։X)`Yz`3xDuLwm$\/92"oFNW,⟎Uz!= dc:lGTtv>\g+=~"P8'KYWeV]z%'{$ǃj<Ϊ!9Q}ea*Ui<Ԝ;ax$4 < 7t#7[E} _ɵ.jVH=|M}:c@@amg [Ta 1ljoMà zFm6k 6FI 䂛%hƑFJy1Y_;i3!v8tauн6 yAc9Dj^;6E%>0I.hXrc8lZ0t/ڋ⩈LtwΞ$5²;!QL-^MÙWh5:ָaf/gaP%측Wb/U*Xf|,92kl0#9XV2N\f(2 cR3# 4T WhNJx+I$ '0h+D3a|f;G)y0*k\X.tssRz\V`$mgzy:[bn\^B "-;d q'j3 ]d2mi/&ޔt=xJC 1Oơ+7dX1F|}'̺IP c/;\ ]XeIi]}M>}ICGF4=\QF3ס0Wx]m+K0MG(N%ˎt[Ð$S%e#(x+;XT%H8c҇op%Fri:˃J!yq5#;v.5P()x ܑ*#ΕJ~(=[8 Qo"&UOǭ_K oQӡz=VaSIJdR댯|w1_153.mnɅbun!G[RbC#!_iR@c[FzheWtXMQե 77./ʠPI'BD8*_< g(9/ 28C4^ ;2gYZ\\+zfuU[hW/TjD=$XFIޠQ5Ҳ )9h5i MB5h](AES* * ߤf)_lA0"/bC`B55 !y6]jbddmmѥXhV|Xe+$t3\H=Z ;æIŌkUX~umTXɆA bySD^_0)1"j^uX&Q"oҤ0&#vWT!](" =RnO ۃFsPֳM1G/G$DfJ.dż~fOI".à;Zox})fꡲT3*X ^2yG)ێ&}䋻U'ִ^.o+ nGBc' IϕD$~{!'Yvςx=uQF%!ta9mM%5z|'nȁ\ٙ^#_ sGF]*"|bu.Yj֎v[AHUFxA Ӧ! Sg%I4^],B+.E5;nPI/lůXz#jf/Pcv{4ht@^dK.9{4H ASqՐKdkCoЬ9. V;jXs14/u]q<⚜ +y;ptiФ? QL>$-Ģ keAgDWw–?GLʻ"xI֓)Rp/ ʝڠym73O#v$37l5^*r &hA1yD"=}E+"⽘d"P:Vy@JSlre0zvnɂf:QuȌRI@B/ԓV|ʭĚVbw)J ؿaNLlB#mTH{LyDDž[\G8q0 QkЕ?KFp"b‚;u=Mz.+Ɇ荌v:)_T+n9(]j1.:$ }kĂ%sRGt.q9fleOW6SCSЩ?B[ ֭pPT sq}|r$` ep͑--DLԼ Z>qޝ4ʐ \,⾕i'6"3M~I6v\D֜0ˉTZ%Ft@YuB=-ǟ2!qQDJ͒|@_"y;!-QGSlw>l!|$VM܇)TRHgv(?BHJq601֨jHz{HUmpS<`'66P(QףcgZvkK!xJ"{+>1J^x+gxZGےF/6ib N #j/koN1zRk2+#'v4DRW9!:cHVbɛv˔1< XCL(L||q&etSc"R`Etp.1Xz"qoXdдR%YRXq(Y1Ě>2tq,.X>Ra²+@b]Lm;]1: i CfX{)P,Dk:E Lj$ u3K5H҆ F2h < h%b7uހ5:-d:?ʦR$#ԧWHKy|C:lAݡQtA&'C<[ UB,ħB- 2h,|9I(&ܣ$Gxoݝa^Fǐ{yc#knoy~ ˌԠyt#V7G/r1+!Jpy763]?IOy y̳u6˟:W6/V,tt! F8NW+"2[$d/IgyӅd&[w 7D##K&97Z ӵBǬ;zyeN~DAq@hf#:3I*Psm6LJ Fw1_I".E!o~o0h BC!t'Z e_zkdES{XT7֝n$G{u%i=Ɋ }/=Ƒc,E^؃U[rYё9R̻-U¬@:3)luz=h5/@0QctBie9Rtװ^O~Ղb3ExiH\}-3& 墌NeJ:)眦)wAs)/]l⚄X,|M;hֻFQIJ1)i>J6]YFy`jsfH/V/ـ4gD0),8g{͌)\]b!쮜{rʈz;:`lda8]b) 1~=T6BHutiJbB P3%RzrW8'7sfÒݦaG2u'f DJ4*;WsUͱ,-|QEjVRz =54U/ El~,::ټ_~" 9EV:(]S :%#D1c8Ebpݞ<1Q~K0KNER5}%leBf2Ŋj_&eQrD(L,?hv%H=(L2=-Yҝ^?D&fl{E36h$ TK .*~<] AĮpD'L&F>XI3`(jh;CVUaͧ鶦nFb_/$D, ڵYL+rI9„_lNKe{>'}C(-Є a9㻋elǾ$0mN wSn@)DXC[ψA=h -_0%TIfW=.Jɰ.6Bbڊȵ`ek 7[xB 4;!qeXEȥ.2tcQ** oZ*)$m8KwDQ;u$,Jh NchS"*Dp`0#*._=YE9 +*#´+D*.~di;Ncؿ t=P-W=oG5^ryC,YG(i֥[MxN𜐸vbL.C 6Xșer%.I1OefD~D]qгQZ7uPiH$p]Lmp•vQ愱%H.QWӰ21:UxC6x'?[d4xXGoS,,y=c㩐]#FI_P 1Q<844qP]걄@t eHlP DžS- 1!0`^!K0]HuWok1 ZGNMj07lSXs,3f n̓,ZC` HK.\j(<̃I?d}0T w" AP6퓅Lmo2̤5%k͚y,5bžkp! !;Ʈꤺ×nXMn?*&%4:<8+?9+B0ޯ~>?[*+nɭ!X(|^lpVJ}_vC/qY ߭T)G?KR=v[|_8j/VnwO2&C9Ɉ[F&gH~)/?3[o:yy2nyq]yn;7Ue; e]:K&&џD#5;yQz&u]T #lہo2LTKm_Y͕p+`zGs/]ڍGxEShp6~C~oa%vwk 9&l&fz9(~%0gf I^fR|K]T^}WqRןd~{`ERSU7TW̻fZRA;`QY/6w#(+$,4ZSė}A~UڹwbHbmMI?8)b)ȱvhG0Ng_@MLcߟH=irw迢[ <}z5/[B$i N ?1b(\O |4 y(y*gh9DOY5zh4Ix X| o꽣æ7}:Fցwwkv3JsORH O-21vh:pQl?Ե"uf4"2;GnYk >2H@ K` 7nl G 0l;0ZC ֮OdGm1SÐ-:81Ș J%:hkQ;q5z0I-9$WKpRkd傤 \1saRNzI, \։Zͧ47(ֹVERr5HoVcܣz?HUK _ ^nFvpջm]LQM djܪx4{Cdr' rn>"9y7G=+G-kN÷݆Q2Q)w8~Ņr'-e\"~\T|ZmEۥRJnaRwTr]*o>`}xRK~R8W {ZL_(ߧ ZnJ8,V`(rP)*rrP>,B+|w n(%ثVYEX*+DБh[5Qhc_>rJxy^yǽ8x16h6$Եw*́lXݖв XI%jzIA-vO[uժ~{0u0b[xyCv}b+ ga=t֣[A1$_~A/;t!hC'Kʏ0޲/'}\Z#[:*S|Dq?JL?Ƀ?N.QD#1_6`^I,5hА1xGS-ˋ#<h{DyG>˅$_><#y3$)/p~DLZ%F"< BJ.~^lʉ`!d%Q4Dbh)+NTķoObN# ?2}L>jJo$Bmi ?H壑&$D pry^Z~ѫ4E!d=cfDR?xG?pʉ_.xz/?I7ş#yϣ8i LF(`JJQIE'@8$,ϣ] 4z=џOϔ}N'>lGQhfɒYsyqڑu2Uzҁ_&vdp _A]x{3M;[Ը3p V['~ isUwTꐣB^C=lw77OКuEL4:kQ=Zf7XNP7c6F]b|מ=X4z4:蚉3L4zt?4zޣF>F EG~s=zB9dR4zҼYỉH+dN\llp=<؝jY*5GQ?TF?=M0..ǫ@5G1L{+>ЧU0]WK #ǾרD!'rN%(^J♿ gbG wg0 --&q5b4qDOAzD`ZK@ ?o,yG0Gkr'| :෰0e!66 ~I*f!5L8[ʃ<#tY0u|QeAH 1D5V{S'_rrRѣ@ďnU P 9%xv\w\ 54ߐ&rp#4YjR 1s,gV)gRάbRްM~Wv(Caգg9KfQq9E=jȝwT ~q3j|~~swnOھ>p^7KێL@E|cs>5pKM,b}E@`P քʔ>S ( VI phytP- VgDY U ` 5 XMtxt=օ\ E# sbh4LE]̀e8yzLZg`Z,}\֘aaK.探OI]> g[ڀwtc5I=:S+Z] ȵ8d"U* ӭSk,۹TCNof.:%۔씭/W!n $^²md.'٭^OdkloboCH+z^z>Aw6JL<NةػΊex@@b#X=hFSz!vaUI[EbuMqVW)8 j٩/ ONh-Trj9 ny!sc+~.)?쎊_9VG`1PV7Q0 F몳otٷ*Pqٷ{5jHz -sViaIs`wv1r̩3+$z8h [{w:V89J:)~u c X6Dk F󡽙%C{ڃULb8CkD8KDbž;9chZ,(shc1 $K[@rPC\8_,rNi6ds dȧ&yj`֐ํr 8` v:iB.*k-ƨp@ôrQ6`n"@QbX5ΦCN6=PmlدYx6\Vg .?$\ {cS*ǦU=d (Bbc#r; fl*R!G7o =)Hl h%b^ [_S_O0ƐOSJ '$B㧩k6O/M߮Mm2ѮMs2t G_J*lM7AR7& hצH9t).]1M=%I s$Nq]`u@'U!Hsvh3(ɩ*PDdք˳U;e$'`Ɂf@%(=9=Xy d~ ɞ˰Lv~B%_V39 wmv'I"4- $qnB`I۔md@mlgæo1VM$u@æp$`M*MDgצs|30SDxѦz%t Kl6ge*'@"MΣ $D]ޅtZ6 $#jzb!̩|҅t*&u!Iad{\*ldx)Q6"1٦KH ,kSM" ˢh(X!ݦ=$HPL@ @Z nYhvI?0$Ĝib@T%O& $ӚM8Ή.ڄDE`5 ;Y*] lO!, LM.09AK䀽Ȼ `&^B|WO9irbBVN<6= y!E/(GړBÀ#ַi h8K26q Φm6,qL6\F/&sMҌ.+D [MC~Yy?.GV?gxL# z)mw kta5S;I׳T͚c@QkM7 fxww6ڕ0Mi6~뉾y݅_)UGv{2`Vv^9oVY|-lKdpeҝh K|v}8.sLZQ"TVsquWb hi Ύ[ =Vd`Ơayg[,m8k뵛'Gi Ꮖzc#NoOa8:t tUk-I{5jC#kg=oy_mz4T#k,Sla۰!>dկ !]meO4z27P|.G;##-4!h/\s 88Xr;Ky0Wlܵ_h</\xOĂA#1c0 P7L*+Xݜ3N'j2)w58 N+Gk.ǛŹDl!2$U,^ >:Xq79獳xT2sFts Z⊖pZZX!~yEy+7j\t`_@q?S;:%>GߢsVHF?K3PXJZe/g T2)S_ʟ1_9s_0VB&_eė%y ٠y|6'Cd->E03uᷓnu>xnp/W_U?$㿹[]7_8yUJOxH~5=߬Q 6mMϧhmrLpGh=xy5*pя^;{/DgG;T:zBE?%yW_rI?:f~?mxsIZoٌXj`rVrI~c6^7xpխɬ2ˏ+hDR[jFEkѨ٬?BVxv Aە.^7$Ïv,7˴x~LK-%G5XhY R҄ q 6M'HO5DԙIr_P%&h5sdu"Fv쌌Lf Vb5uhՄ3$3]lmm61NA$WŜmV%;[RrXXak67kfbLtB fk-ȉ#`.4ԡ\z]֨>+T޽WcpO 8Y^o}=?Bt??/J1fwB5SyG]c".KTn 33k6pot]jB|'Mp䩜6Z6S+kTY+NJT/=^;f  <_3hQ(fh)*7 l?dlȇQs6_?ozwVRMHeN%uSU:_^Un1.&:sU2̲R>0J>HkSG%QG%A??_<c_HY*WO(NXCS35 >+[ߺ}c? [qTz]o֔bkAmZ(N>JU@N]+Rzfi9jwEh k >2H@ K` 7nlqzЬ(^A ck'V)b66l6U[tX6| D-F]k1tb% 8hja9WiM3If. Z͠47c&н1ӻTޣDK`뎗ek(I7Y1@z'(,Ga? X肷u{w[T7=T u$NG 9T!@[wv7Z>(w1!Y'<r#Pϐܒ{w{.~_cSeU=#":T LO4Crd^;蚂:F3C&Cw|d|-9'~iģ? OIOQ+=gmt 6RrM3S=,jrPvj\v|Xn`nXP9b- p` _=W>P/dfojwB\-xpP8yw~Nt척1zN6%ZE@,RPeQ\RCCz&|ZJ1z/ G.뵞7xʺS.ڰ۳#,b5 8ZY[f('2jTA@P5 ۷aEذ-6[9Qh6%<1Jf#Q\$41LmU!1L@,jI&M Bx႒' _j8ҋ{59x6 e(z[zwޢ7x[sX,ޱz"H[ M7JXx? ǭ_0`a`k*J🸴xɕi~* -?ztf-H]X_?t{N'AC+ӫ4=B:7hH f{AE/-OX4|g ~|n!ES}{GWZ^uZ'VO}x~y_s0- )A{napq{/%pDSo=Q3iI0f޶uKyO*<hב%:`+VQ,6&uH&2Z@)=H2 d=^Ko8jQ8vc&b'υUa?]YeϪO~ Q$KGsϔ&g$ɰN-25}( FG:d~'d/i)a57[E.( ޤ4 45Tߐ&rp#YjR 1s,gV)gRάbRްM'Cۡѳ4'Y! IF5zm>?(΄r/}z'8k%z+|x޲VO[)䷬(x+%"V2ulY)F>-+hh-7r Z]-ip9Z.Ŗ~jEѶpXo`̥Dln^}e_@{oّ1ymفS(!P8{+q"dS(r̾.aXSDbF 0Rr2Xw[N\+H*v$nVj4KoU&' [dT]}ڲʏ.;mAj11-;|<.M\vxLX-@оQЧ>J jwG8 ?/hMK1"-;;iD\ؿݲG0f.VfmAܣbvNˎю{|ˎ]o$9{nsuh5F[ObH^̄%karԗi'֡f%X֓hH]WQf'Br+qS6A5WkHt]d{|N&sMUbDܮk{5|p.O'q8 R}LmDDqnbue\Ц[zùI(lfXիq0 >^&W d/qAgx2DH.էe…\hC'$Y}AD[g'te,5 s d nyN"dDazCµOY@k_`uHO)sCP)ucX0#.1n2/b#,= =(4!i/Y'17aU7EZo:X]0665a4 Z6I1_x6UAg;B=T^/&Q-Q{J~ɋ dS+*&.M_0T9Ma04b6!vqi`Dc< }S7&`oS$AMM,qWေI%a$x$bpq]C 62t}'`A.Ɠ)t"=P$k3sX-&f$-}O3pS*@H3DqQ-B E< ] ߲IjA,miY0_1M4)Ahm!L[HM,,hLd8 <0 ERtAYNµG|^Ѧ06M7z#9wƐr()&`}N(P0A;T;.{i &wͯ1  eMbdD3fSżUAE Ϸ6%eI,h,RJ@A^V9CTsEh&9M1h/F M4#l0[6Ko<)vx `!"@mR@(T$,.t$<Ί/hDXAaAi > mVѦ8N"V$6 +chLP%q7M9nXZX #jlq9dzGUxmB2hӒY^HAvѦ D!bVӡ`LDEN`ڤ#)l@&qfTaW)6&a@Ȉm-M7z#EnD-VhS}і$xnmjF Rd*&%.71REЌ7!Ԧ3/tX]lNm5aل&$#^LHGXL(;*&`PJ6y X~&-!˷)˹^ǘl s.h[@ާDUfM?B"f0F`\K6x<+p%xȔ,q|dS޾$hBJPൿ]B,a#ں+oD`tR$Dt8` #@0 L( dSi%-؄xæB@ "|%sl:W~,ӫdSEtPNUxw!C"2hb9x,FL"EP%Cٻf WP3*T'$H%Qq%W@@⍵MrrZ'>M4k2T])Am"U/ڴğY\wb+ٔp2Tֿ- Slvl x,A52x_eYâ-(˦E,Z.TRȖK6lt C½c2dtH)YO:`o_U๿`{lX6X&Fxлc.l;YRvq`842"t/f"Z*J6%ShӢF$[4ѯzJ6HԨbi@ŒaڔiF!4dSAWS8ﴝn ${4Qpl& C6<0b6}JwE(\j2$D8{06*BJ9Ʈ{t*0줛4a2Ld*&3mU%3R3*C9Y$sT2zyد`MOX8dFh!R'K4+`?Wk=mǯk;g,̯ܲw+_@J«R#;hYFNъ3hI#; C : u4-:ј2MlP4EVث>:' ť`eh37k ʟHof+;e,D l,E*~ǯSrB1Ea 3 сqpJYQNDPKd_}`WTI>ao]Pb^sl;l-Qʼn;/&)BX[qP1JW_q܉HcJXvS{w,9j q\@nUˉ"ֹo$p 5>vjHNxhjL9Ar >98AO}S<$ef֯?xz=ѓ i9t~y -~-~NrT!5$W<\柂x@VKYg{9KSyQQar߬˜t5,;e}r8 jATܿd _R1ǯytQ"oA'VhlV'n*DkDuD;Q\i| .8W;kz8԰ƊYB|珞1pz4*&U0 GEs/8鿧x0]fq cFl,gǭvpm2l9S/'vyp; 1! kt۪\zIkuZca^4monQ\>jG>tUU=׶_mz׌#[h)FưwmYsՇ?%+ZYZVso4],$\|)vve ya}4۞pu 'a=_Wj5IS ;W):Fjfˏş^;f~,o?eRvBjNB,!Vevww7Cow9* w5@L'ck(U~\_BiN駈Sq3XվFo`8 wPV侯%hɎpZZ@pVWn2r?S;:%>GߢsVHF?K3PXJZe/g T2)S_ʟ1_9s_0VB&_eė+cr|gYL UsGivs+V585޵MC\"XMG{]?$*a_N?bIs/Vq_bB\t<ţ=vWvJ['Vl:þ*kc<&0Vm)\-ЬǠX{yTkoźV8֞mNjw'8mj#Y4kzs8i^ݽ:8csm1iKC3i| F=fR<: Y ʛ4Cf9^ }fSja!N Tջܮ-4Gֱ6Ӟ|Ƨ~hf>ݳv1v@ҧjG3oi#.v;jB5cfVcn,}Y6"gPoec-Zh4CAdA:,|X-/+ _3A@kf VXګ],C21fh6 mHS}HE@}H4uZ3Ɛ~S3ice]ԩFU?\֌y~wMfjwk(hI'!&ZҀV.\miHobҡ ݹV3(͘tI%;= -Kdk(I7Y1@۷_<b5 gxԂnzx ϚprΈ0V71l;Fcj\:F0q myK6; Zdt^朼u둿|G_)}g)^BygֳhgspR! :1$՜ ə6Jxѓ 9n*pM)깩"]Xrkkؒzk^Uİ 5>V{^ҏEz,&+fv\eV,@O? N]$״H>aPu#F hIǀc XEtφt|aj,#!% R6 0 ^1ӏZNuN7M^3lgEQ~hu%3RW̙w;+ i~Ɠ6i sz? y5<djق͹:Qek5DL:tsF*ݞ(ߜ|Pa5Z JT]jI.~S"ђ\d[>_*[[jlŭ2WoҾqa 50pM^c=Q2z:8^N}X9l 6{l1ְ5:YB mۤ+A0)0h>ZKk"Վ5 nSz`3vp(9}6xKqӁtn9t0–v)Zs daejǰq2QSn~ٮ  )HtyuZ(,7A:V~ymM_B m(-h8РqU=} jǧ^]/ִVmhdjKo96+PXA:퐎7h4 6#&l~ɷO w'ɷ5px{x蘾~^k=vbMpbm]c,NL.=4m4jdؓH 6ǮaR591GnQ@9Gģ* Fcజ@#&M>v#ueK덚¿Xc7~@Uk`kb5 'F˖iׁ[j@#vxlNz2›H(TDٛLoշ?|?֝u|OPz| C_ryb F3G9ŧ4 |2)=ݐ ~H2]+4 ~N=o]WєdzuEf?0]|C'1aF#`ף_HS8Z$LZ6`t)}Ч?\F'`O,z 8J:\S*KtL@t/a|vdBavd z!>?y4GGC_*==ɣ?c ͑PB DzL_qix*PGb"fPs;2(ne9M* xG{;BDn N SKy7M, Uj+4@I*1;1R>*3Uuq\Q~:@(e U=㠬 W5u+T Z8e}n񑀊Uh=,HcܩQ4&]h(oՠ~7~7qv^oTRנzJ.*((.:N9J]H6 LWo`v^k+$dzӛݔ`AN;N$z?$$ $PDzIa9FBG=\8f9"*c!OP-~y:q8}N:gޠ{֯7sο$18l<Gf:85$ӛa/Фf80(p]s>ԙ8vbYcz?LkZcN#MI~u+8n(o|?-T??,c /Χ#{_O/䑨F~PxB٫p'\?"u,:'lfkkkg4_ތ./煻 W;oٗ˜i2i(ajᬍX>]k> WwM.Mv]YM.`M: ֣K祉V/jv_h#cڋpܸVM W'a1킢Yň7 v>Ih< -#"|Q/mQW3UJÛ7A#ՄΜ ;/hK՛{[|V`Kofn wtӅclroK3ZѥL@Vu9[?\h+<ʢ}bIFJEΣ .Mp |"'" ?p_ɩ#Sq)ٛR1ӑ*?3ygofY{D_$a앶(v|g/C.O?p>/)+cCD85e:yMd ]ww:s5 ؗ4e33]'GU2Sq&y,ܠ"emfF^ĉi8 k.cw&p8|3іXܵ Gxk Ԉ` ~D$-swLt_vcY|o6~{8E C44 栥9j6Z@9jK9u7oxXC.YV:kzu<ϗ_A/y?O$\\ L]߰ k4x0CRby? 3͢,NurLD8W^7O< 6S0 5 M R4 R2*I>eR1!G=ZĐ} r` z qAh49 ~ 9 ~?~Vr>Hc9gXX M>gɓo/3; D=&KL nG;NŎ3]Ɏ3`㠆$/OQt2 57p,PNjh",Bj`rBL/P5ISw"38JF_ S̉Η 1&z/!V+:*GiU wP=>R"=q*Kp6'ǎI }vC:s1 =*M?)./xz6"x_U"<PrKR/6ikz%%rܐOj W:5I"f^D!Fyn`n"} eE=Vk"qHvyAv 7t= >m4}PN%4okPqOۧ" L^ Si mDx.vYOÓ8 vDv!Gg(^< M>LX;h3,Y4+H쵨eMF&'=%Hm74ĮEpp0Ģѣd=DGgJG=i1PKhݐz_4z'ѣN-$LmQKf%^2'#9qA!RtWi?&?\Y)(\NX¹)X-4\8盵s=]_:K<`9:bq^:2"V+ e_얢hMp[r/&5` !U0D'Z{E㟞pDEA P_h5 >qB 6rB+ + @|s>|I@kOd~C&'&q D FCh /c0x`iOh\kڛڭ"|ЍoN}uDYCx |7䀯H-"KCj!f*,YʙUYJ1Rz(ףgIi cUOC,/f|m4gܿ=R2g,'=`0ye3^'Q5'&3VKfj0l`3y4 #^*طހf:R|h&o&zjr<]aa$0"ve9[=.k 9tju8F( yY`AE TJT!V#1LE XgjnODV-s-.6o1HSlX}^L%Yv1d&[]X:szxT /ijrN0l/Q\neBX$`u8H*'tU ERI]EXF >OC`l1ݞ_`(|y`,E;NoȦohQ /U^.Boiĺ&7E\p1U+ve ʓ} baXFhGzA@M/,?KB/hso6QN~%1Z1 CteΗz$' 2cs$Q&/p'`aؿ=&4.Vf 91J؂{od=(%L,khoUu̦յu@0rqAf!V AV':<D\MC `SpJ FQӡ(֡5 n ,v "pD`b!Dɽ4BX0q (d~J0=V0QM^] <>]&gXM^P Bl22(dM!Vǧ&MkaV^`?lfjMbmtr86| kfׄU\LD Gt6HnfLkDPaMG%آ-צ!ބk7AG#ߵIɉ%\<Of!ho$( qkӔ$7ݾ%I$n 7܅kqXc#m*[pmZstkӚsmb[#A&&%MnNHFb MMqE{mz qS`$iӜ%2W>_ Z{ p\t TbdW elRUɛ7&RM[MrՊN`u|kӴ F @lӵU@gkSDB0k,c5z?oխ6u ifmv1vu ,&n/t˭~ػhKo@Jp?, hP 3 ff `lڨ&e^ -̄{DŽZfk1I2F) tU? q YlfY>Zd R9+5ZӐ6XIA^yɐ0EPR7txmB`#1 p(mRy[Fe7Og> W (p~䜯dvM`La ftKl&wb qni#2@L-B@+T5ÈM E qcMM$naTH7׼j_(liRan:-?$= rZ1Kʁ KhyD3x!PMoĽK&FM_!/\[&SumR<:ٔ|d%>m,>xV7Y=obQB:mrY ӫm/DH_n!y^x"e7X Ekm;4D#^hHLfuaJ)" wJ6՜-%:,ټ''$V$!TcsMu]1lXf%zFkĘw.NhxPmӍS/Mc[s` LKf0? @lƪ6*d, QqVcU5Tiǹ JUknic. Fʯ9<+>ݠtpNn6W ؟R 6^}T'wN.Okrws s;RP0iX| a#^oe7h̼ZYٙfWL>_z`NWYL?O.>b]'k|N[u.qS/f?sv\+ʱux~kk^AZiH.Vw ҖؿHɝ/3;ļ{r(9KR]<>B5AWS<"e#1Fsaby<~daϜ/.Wkd񭜣Eb~IaH?ga¿82G*u/`>+g.&"|Omn ^_lnl{G6={03tM;3VPirvkԆF^Ӟ7hwl6lkd}4K#Kc;6,@Z]DhJVHj9u'|vA9ەCR5Ke8ovJ#+U-vEw8wyx; >EKuKQ*+_~R0|z^=_*~XU~`@ Dwe36T5H/$uGW;Wyp ٩AmOM9qɼ}g}:[&Ct?4WS_@ͧUx>}^HWSHrʯ̗<_!&X('U\YD'7#kҳ*:9&?~Gh()&|y'lS8+W-̮o(EA"}km?a%~LJ]V7z}qϐ?<;) IZJLh4a%GO>G#uo>7b~N暑=(2E @C +oyOZ_\>O|ދAS_ߓQ8TN&tG&uԢZ&QIbQICX`%]=?_ ?bc[qBY9V=jl=O=8lz~هpnr&z:i;>_auC/ CN÷݆SkQϚg{X.T+r5MR6_"A>tPm#ǺU+PNh="A1Ip8[(%ܳ==XZy7Kz~5rg+sʕe,g+ۅϦ7[?Ћʹr!.yAPk6G8wյNQ@Ĺ @y!E|N$q9+eĦ`t5lWT'*a 7o/ع4o^eK`8+u2~ sz2FN, [a4eȜW\0׫h!뿝XS\.Gblu] |)pz o>+-S\_Vyazng~L?wOpe; hz7}go]1nva?kx?28{ flq,H˂$f9tؑVDy3ݭWZp>~<]W0A~aD@ icP.d1:l68181kSkZDX?[ʕ|5 z_[JGBeNnwOfxIz0~cuކfF pE‰% RBEq" F+np@Vց`^Z w섻ћĿ ГJNr&z=/@Pi /q=Y:#6b/29*ЯN?2ng9IRt7]D+q?Rtû&.'K]A@0<4An )`RʌDH]Xf,C0#u=U2 $40DCU2pY'$*3O%ǘ3;nd-K .u+$9 -Eڼ hHKae|Yc<_E1si=XCXARNZ%iV,v2X -0sS 1R >.RIbQ]o2gZ'4$T( [X=xjځ9vJIkq%68:8zA3I1{fn 6] j:}8R*#6U5!-% ]n.KyU.gE"8k&>9C1v8]b1Z[&t[ 1'6NhqVipFClrPIiqP ̊Og(fMgssJ^+6k͉?% tn˙?n@n`d ć08\ w)659ٜ%hy Mdv"^$yt:Xy#dk3 4 M'o[O`t­mwj1-eRC'F*[S{# ):'U8OnVc1!ܴ `՞2%*Ds9r?'(n2lZ]mnMmͭtlnA`V`I6F#M3hiy3gi$sj"+iPIB,j6MhT f5 y@eaۑJ\T6#72z)_vuné _LعmF0r.aq>>2/܋:gOg,v3 W`1alpf/t6܁]mss1!W&ąf0dϰ`K.Aʪퟻp) d e5FH&:T( o{6"2n?FE:sR)tZ妤•yjs{R‚2PPHhAX[jܸϙ6JJѰ[֑+Pr6lK(rܺ+NK-{h:,ahll ;Mp`ŗ=.f|\A( 8T2W0enl`YEΜ)#3 RWG\j۠$@Jo@ۤ750%Z'iEBUƃ8n vmUXƫM+U`{}.pU"[V'N3[k  3F w -#D&@H5*৘Q]|QuUV:)Nl1nsNϒp3e7NѸ*{S [8s)ZR0Im7+L?du'lfgyGqh"`ƞnLwaYCmLFÍPaI^&0LPݓnpf Hu]+6oo0 ռQrBxJStGnJ4c/S@@nN;U]06n v`]\s cl.0V 1MO. @ӞB78Aql (@ps!ߴu8Vpi(ihO䜭y +0sk#g&LXlʷy0ڎoAV, =!pԜ Rle|I R2Ig;IYXCcDxerTv2ؼpcL |ڍCpKn hV Faʷ}Or[(\xu[FZ.ņ (ۙG +),.M N7<ߏ0-rsJN[IMJx=h\$8WM$'9Y7Ϭ Rh۠Tj;Y?_*nWnUyۯz߄D/sS\-$~i<:Aƣuxg)<3];#qW]N vBNsV\=gUkH+DP 4nk߆no: o`͚O=KOs+z3isł:Oה#"wԇ*4t}jEj*S;gAEVXJ(2c1g,8 b\N^@>?EL#_)E'gIt1&$K$,yw^_pr.W:̌5hy1o(6v"jD^4%OJ'dz.Qw=o _oϤ/rl lܔS?Ԕj170u]/ y*_4 D =j")<VGivQh_?ZͪëS7\KD$Ǐ0BwRD,'` l}gDLhO-GO쭿/Яԍ&7|Hlwi5;)AU' |. /UhzΟGb6wAcI.ՏM̢Q V_ ڰ]{3=].O4kaLݫ4?gߚҳ-F=rk_(VgrMENnV?;L)CVGx^kh,Y9јWΩ{rrm#\Rm(z}ȵܰڌK&w^wCWؼ!CNۮVbdMfzvFEG f<-%=.ǫI(f6l h"\_fTV~ $jN&Do&cR_\*:[u8i|8`׃4K{]^`,S\+dAS#} \+ 7Bxռ:,G׻|;[w#3*qhwy.Ip|>oGJjH(GD_ +g0>OohB}0^-'QvQ1{w+K3`mR p?ɱvCߛH13M*9ARU{CCiZFܺ`6jʹň[٧%V~SiFly"f^Rf\ I}o.^]7]5+hOcFϯ#^& =>JA|mx.^i`V>)5kڀ%N^c:4$A|x-vQlًhiG/ްS!O_7I(P7)y:o*ig(W Bt"ZE:vA|C&)EDcۈ`a,@3_[lΰ ʠB\fFQ+WP#(j]tymF|`{QD@]ًrӦQߦÁ8]=@ڋ8[Q9/Jt y!7%%:T[zacaYuH7(XՋ4jbBA)נ~5]I %AlT%̰e:IExA\@6`0LMƙAI H`B6j^Oxc b!n(H ]Y4Ov>TxH}], 25+?L8%xEpRiZji"SulA ʛJ%0:!x0/gkKãՅ&HpڜT!B`$ 9埲X-! ͒ R2 oXmyN[0oLPTmXx+ܛӔ_ ieS& ڕ۞'+Q Ϻ(i XJ:FSxU;OVFiԂ` `¸i@f8vIi,jSZ^-A o FғH2m}5~a4LՁ{+KW[lӰjKm<`)$h2XkxrDFe"T0u+ "4 XZBԃڰ9"ktaZ-!(Z0 *d,l٠{tBOc]zMWDXS@g{pqvxlȽ^0l\Jkn0?t&Gt4i?dVNsT^*rSRr=B5ߜ U›J)"TLSeWZv(8>(MN$i8Ntli}AJ|LxuJP;9V)Z/[_a{ʃ\9JXkx07kԽ>%fʿ<犅bP*yT s|KK)JnP?Nvn se]eTN['`bs_KvN x`uiOlE;Lzk<+?o˫R^8^J8gH?mt {?}-K)%8¡ y, xt+J29V:|'9vv\'5MȎrAO9N-U?QLAG؅M8wk*լ5h#=bFo.*ư+j-bPlqS3UNdr5_T+=ajvWpY^YiI C {_W"˸׃!UZ(=Z5XM׃^%O}V4ް:h@AKw`yVe)=c3rciA` X9 1Yv6(L#16@U6^3׳a6IA?3ZJتj3" Bg>6(}"2!Q3AzͣDM*oK˖qe <H9GN&}[Mr&HOi읠ۥG]۠Gr0hr~DVg~Y zY1 g4=<z}X Zz0~X%jӷÂNpQkLZ=uVM+JXf%nԛ(Џ- kFajΛg<JEkZ?T csZDA4H;[ZDAc&[fF/Ei5*,WЊ K֫+9. G1/$q4ϵJ#'9N&fW~\~ ߎ}R蟳I0wpF(::nE_IA[pbT6*2Pqȟ;+ycG:[P #?-T8ye[뒍)ŹC<|(^Ϳ׽?W̰_䊍j]~k[2JҩI]cP8'Avxf:h ZmQ24u_1;ooS\>.^ n=Y1ޫum~;#vE|-yXAQM15 8<'brDؚD8{DWD5g()h>QR\yXq4l8Gf޳k?=^nOx$ (whE)sŦqڮ(\=NlMd%UeEۑ}?7sd+&_hA7 n@h{ 1;DS@E<(v;x] -v`J-}1x*Ζr&BI|~#e f( VlHD>.4D8"|Yl|/%O)w8ׯ~"q~rry%3r=f0/X?O4):` (U=:$LQa90g+VQF\9zPj ?qQQ}gYra|B4wnk4&g^̒VD$'N|eNvf |og߮y3Lu`]ܤ5] I$}oe3K,+* *J)(g-TkK]|f?~g>,λbAQ+|&HE#3j~(K(u[ a.5nrȊ +qV܍G @{y-J ȡxBy&xG Pݪ|,GqCNrp81W U **ZauG1x <"3HyKDH"׏@NÎ!ODdLۚ|v4y?rI[w'oH~*b|Ar}!Z6姇Z~b߰\MOr:~٨.PJbEXF]_h6·[$E5н5uCqiP7͏tth^LIj}%{9Bh@XwЍ K/Þ[M28z|QI+Y0!i 7}CHRQ4a@j_ǯoo=?c> n\U\qUJ⋷IԷ}CVys\)c><=lR O/GbK9=BF]8V^TLcDkg#<*TM%5NsIHN8Jh9 ]x@сZ~+@TQ Jw>L`\@'BnՌ}-\"ɽ LWN?H(VROys) s3 F·$rS7 vXhg 3*?,r( ] Dᔧ/&An&3 'UvXS~aiM /6km=k*KVZowe}ZUu+~5! ^ ƭ/qƐ~9z^[_Bp=}xkY-fl;[-OZd2[Xp=ɱºdmoCb j)įvI&ZC t_.Lm7ro:JUC͖+7߲7ށ`{3RT4;iٓ#^MRO0kh  +YEWꎗX 0ug?s8 ^cěFitũBq %t2[7O7U㻌"&kdLfmϮY-/WY yb&kv!=A5|VfקTm8Y݄4FnCF=( =F>i64&dmܰH$k 7Fd f"kem4ۘHF@}Ddmٮy8#lcnYŇ}m#93M 纙)yP*h}P2u Ndm$|U|MVYZss\'j㬚fR̀s74hrrHhHGzSJm̒UՑ7[}̣kjwQm4OCGqɛvȚϭiȹ _iLv O5$7,j߮w{m$ Ȓ֚\ۍoȊ |}=`HF\w]m+}h;ͶogӪ!y}XE@M3C5 ]xj%>g-qDqnDj2ÛM$ r96neﻕ HFV$kP@6>qװ;6sPH!@]k :qQW_RG>qjzt#HFC+ ׇF.p5͒ ooǫ HF,{\vY-@r]x&:K׺HmmF Z7]h~VClg,+zr<_u\3ox1kHF?pph2 Y-a} yIJ]O4 nٽ[6;/:N YMgف8u!jp$3xޏ @r=á݄ T{dmfzݚ|}ؙyDr]l[ÎS[elg_g@r{+INA Mr ¬smgV{~lbug@yH P@q4 \HcOzhsf! 8HQH Hhӻ$͊M@x}3l\)vVnT R&Lr 8gReRx?Sg06w}xu!U] P@n?$_@u|4 0_M[ DX"gHَcs.3R 8ǷH{?. ]ޚf( K5"C6Za$k#HgXH3 H>@a$kk <0}J"#&k }ȑэ ƣux:ѐxX/ǻ789&3^dm7cq&!{nO'9)HF3jDj k&"$Hg8fKWE1Lvx:k?h^?cp. < Euf( Ycs=D&g*jBޘHHgHU ԛ i'3d팍8gH]H>ݘ';@6;p \f8>.3|AEHgXh H[CM(~w ;ٜ\$5HQ(:`W.@6z+%ù 8#%gY&a_Dt=`kh@qk HiE-_䫌MqLĒ'9dFn D}c!eHV9Mǫ4l4@w=x;ڈyCɥ595( Ե$8܌kZ8T1FҚb*vDcP@rZܻ0z%]===ډ5 * ش+j6 a@j'wXCȞ3Ҝ> *6$R?];pBU3k~!@H@;Tv=FIxk@j@j @Y8Wɵ~Z!/@Drf6 D I]+od%H.p\$GI-iokkj+@]١*nS*S"6{5fE=+,Kݤ)5`sf#7. Ymd Mq"fD@T仞Ydr9VR5';"x59̀dmU`@rM$nԵ[ "@^k`C\{g ^X$הH2Yu@0yȵ#u큔H=LֆBR?q}pzfK<+Dj| Y ]|$f7vηH7yôH|,q큜   +Bd_ r=?U'_6dKMex^(NEBLO'~Uf6 7jHMw^vCi1kj" 둰O9jj"23ӑO}°H|/x>]FMA NK W)MXwƱ/Q$-} DcdqFzآF/_%&[K]aRillFv;FY@%ݡA=Ly&!DУa$tfnF'fK飦ߔtZ6^#h(-.÷ۂW Ϸd44a*}^ z=~sԫ9k9 PzCpny^}YmZ I3L#UcjfXLJzD\0$ d@v $+FRXFRE2HmI&s[W_\>H/jyOܨ(# .F0.aQ!F(*|fn) %v2H92H9\%)GLvM.U0l(U VݶK"2ɠ-ܜA[.TsKQbg ߚcsψd(.2lIGit p pޛ}lhF%3CɕRr5#+qff[, ˯oh.VKI/FoIYIݎaw>,|{͋0Ԑ镂z km?ЅVa />v=7\ OaG!GI5ƢDN_Yj є,a2?@oXdG>j{W2e6Hz$S_D 3FaW)e~IwNZwG j]=O_E<@}}UA3-( .' A3xبпn?q~ߥ/OIؒ_-⽴|O/20'n4My_J$Td>Cŷ';x~z;;ױ&Y<8q1.8fQ_F OiyJ_:'tgl _IOw8>=>yӛV'ɯz;[o$ bfK*N2h%9[n%^IQy?&j_˼Yx k~UHho6$s;($%{~m&t:[1jJtxg}uNڎ͝$% [Hέ* ?NUCP\d'CWSL\yVM/M+P5e+8==|CR+]Gy SGB;Z^=؞W3`{!*kkx;׋#x-ߞx.cbZ|yut𭷖8a=p ;kZ|kk,rw;~ )C|b,\X&9^ʻDIKa'A~zvt_oG+CO cd|ӑh%k}i;`[szv?Bn CIvb[~cW,@^@8 {zYu:oάOQᘶw[{jh*(yi4- 3|MT32Ώz# 'z/Á!$[GnGx4'h^34gtogS6 _˚)Ux~7_Mwә 1Hs>6?Kn=t^Y'I2BMܓܙzABo}/Fi=Z"f< PRALz\;B=]x DsgؼN0ZP5CY4d_Zϴ1z~A!ߘA=Y > /C I f^R08I2K%ro$PMq$ A3"twfC9DY[D_p:Nٟwx bO2 3pt39tmZ\Nȝ:o[/R 3 "!~8-'I ۣ~zʉ݇uIdRuÉ;% KdJL!7`6/E$3fd"K-j3~_9@BHB9PIgg~ cҳKAOIШYyaޭB@nŋ E~:9lҿ ?ߏ 03sC 3~,}v9L${o՟"zu D,;nl>GDcRZ  DȄ/YM,;dlp'vD]~CU*p:+)p ğ Bd1^@XR/6 2K+l(+dX@p.$jU8 p pOX3.¸zl+b )<+؞ߪ[|ۑp~u%$>nwƿɲ%-vP#m=b .vZ;sI%5螜A'mBFa|)PIV[PJ7%"I>Æz믡L3k&:W cy푯Қ!jҭX]jD^zuwy^>yR/?~zTJwr?JbϿ_/O9߮  O1^O}?jư ,IykS?(NjÖj/ȧMPl_J߱P|Ov\]N5?p;™x- ݛb?_ok#$ΐyYp\?x]͘z$7322NrDN&rB(Or>/7+% =1MQz+;&!)s^B|oa)R + Y}6WF|Ïn~9RW vrܿئCvZ? }ߊ4ިxa"O*=(N'eVZb-+I,O9 aj,{*JfʍzzMCVEoMN=5 +XJm$ӃKFЌ$TP{zjکM(+Q!~d9X#t쒒zLRĶ𻼷cȊH|Y fй ؈ΰ>$'Y\a넥+Al.:xI:W^/u^ttPtt=Ze:=:9oC^ī!Yt {XڔtXVlSy 9(o6/¶/,8 :jmE8fm^ <ۀ(gVH|!+j^zUVXt%ӼyYDk2VldE   t){ٲBy I6jJҪ)j,[AǐaPQ` F\PP[ <ߐH},pdjVpRXl;W'VVK_aQkPWVE uKs#cۊPK/z:VovoT,>o0ˋ(lN R;r1?rs)}MR:Q=70Zza(TE u+2Tp)U=ldl%XI3 ]Jln۽u={nkş FTxO*ɵDK,^ zf?C?ʕ'b0`8=ox{QbtX~VJ6knfjb:NK3V.jXvBFNV,WTJсxrC sZ@ZX8ER.J SťęD]vS9fb(UKBTTjS5r1{Vtc|3JEX0 PPXϴl .\'FW4f >X^=3xol}<ƓvW 1X>::o y#^TOZz_?_OA<~'q7hߜOΧg)șoqjg?^_'0]> #@ TaWawY蘒1 g23Y琕syAI.E(3xbu{r `{B:O7bxC6 KnA՗F~ЋN.7— DWA˄rEb[j)c4mFOhSPQFFE)`4N+B]oHޔJxj/Ic߫n?s Dtn.qd!4bLV-Y{*I3{WXrz_0ݡtJK7Qwx-m:0bjA8p@خtYŦ^ )$ 8¡ .;:JǼ *o+]fO st\'uD"aVKI-  \n@Wzj]EUnBwþq6Sqh  ~eIԬ-RhΑiE D+0ԕ̝-}3u(:v3kȠ=lCc_30"EvdaHYt57_20P;}ӝߒ<(t|9 { \u Qs(- }qM=[\춖gʮm뾪we56#waI',G[Zbwtd4:+f#63rd9CQa5@l9LXE=.=:XřjXqENрJu]]{aO #f~ff}HX?P3֋}\ lŭa(La$.Gؠ2!XNnX\.]譣 3hAQer i2.ǑA8q/5XMr?.gN/.)z~<ЫE0$ѹSrJy( r ؏˃:?\yG7 qX݌Sv1vW^,ݰ_̥/@zQ~M_,-dVlZMrO5tFFB[-tQ ]]K.ar ,7"x]nyn*p{kn;,6Kav8;Q.UCcK<.-yq5aWxh]ysvVcRaѬG/ZeOxlC7}&lB+lG+L6l~>BkV#pv/,֠ XcP@)cPekàoyW[U