summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Dumazet <eric.dumazet@gmail.com>2010-05-22 20:37:44 +0000
committerGreg Kroah-Hartman <gregkh@suse.de>2011-11-07 12:32:52 -0800
commitbfd62064efe736c254679f66ee37cf087ad60a72 (patch)
tree64179f207b690e7b02a219b4e48ae645faeb3071
parent5cabd386ccf73b4a267f8c95e3a0b6e88f297188 (diff)
downloadlinux-bfd62064efe736c254679f66ee37cf087ad60a72.tar.gz
linux-bfd62064efe736c254679f66ee37cf087ad60a72.tar.bz2
linux-bfd62064efe736c254679f66ee37cf087ad60a72.zip
net_sched: Fix qdisc_notify()
commit 53b0f08042f04813cd1a7473dacd3edfacb28eb3 upstream. Ben Pfaff reported a kernel oops and provided a test program to reproduce it. https://kerneltrap.org/mailarchive/linux-netdev/2010/5/21/6277805 tc_fill_qdisc() should not be called for builtin qdisc, or it dereference a NULL pointer to get device ifindex. Fix is to always use tc_qdisc_dump_ignore() before calling tc_fill_qdisc(). Reported-by: Ben Pfaff <blp@nicira.com> Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-rw-r--r--net/sched/sch_api.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/net/sched/sch_api.c b/net/sched/sch_api.c
index 903e4188b6ca..7c8c4b16e51f 100644
--- a/net/sched/sch_api.c
+++ b/net/sched/sch_api.c
@@ -1195,6 +1195,11 @@ nla_put_failure:
return -1;
}
+static bool tc_qdisc_dump_ignore(struct Qdisc *q)
+{
+ return (q->flags & TCQ_F_BUILTIN) ? true : false;
+}
+
static int qdisc_notify(struct sk_buff *oskb, struct nlmsghdr *n,
u32 clid, struct Qdisc *old, struct Qdisc *new)
{
@@ -1205,11 +1210,11 @@ static int qdisc_notify(struct sk_buff *oskb, struct nlmsghdr *n,
if (!skb)
return -ENOBUFS;
- if (old && old->handle) {
+ if (old && !tc_qdisc_dump_ignore(old)) {
if (tc_fill_qdisc(skb, old, clid, pid, n->nlmsg_seq, 0, RTM_DELQDISC) < 0)
goto err_out;
}
- if (new) {
+ if (new && !tc_qdisc_dump_ignore(new)) {
if (tc_fill_qdisc(skb, new, clid, pid, n->nlmsg_seq, old ? NLM_F_REPLACE : 0, RTM_NEWQDISC) < 0)
goto err_out;
}
@@ -1222,11 +1227,6 @@ err_out:
return -EINVAL;
}
-static bool tc_qdisc_dump_ignore(struct Qdisc *q)
-{
- return (q->flags & TCQ_F_BUILTIN) ? true : false;
-}
-
static int tc_dump_qdisc_root(struct Qdisc *root, struct sk_buff *skb,
struct netlink_callback *cb,
int *q_idx_p, int s_q_idx)
`Jj " ٲxl!VjB0}s'EtWG_fAR  ZDc>sˉZAm 1i=#eY|ϽI}-T:'5- &1H R0M(iXROm8&*q0ImtlKKfhwGK lٶéKXmgwvl͝ifyy|k>צFk~2[*|T[ÁDf LF1O:*e:gk}ҷ-ЯL,vSjMBBŏiݯwbtm4&2Ԛ|m"H]}ѻSk0EjQ7px=ߟ*ҜSz:Kƹ!hVuJO*^)XKW˾tx^8߷.5ϲprgVeoF{+o4)m5YT]}l?m}qH5;}}bQeo[xqog1iޣߗ.+]{+Zx,I)XFZ2y-,xQK4kkN1=80tuO[Y+ĉܘ#Z?w:0vN qSZ:Yy+SGlҝڥ^VQyĞRU76ʛ3ST⢚Kec\ڜW: .{"¾\uUzVls ®j^/h[=yY{٨:@{Rם؍WtmC^Y.K7??@=6?*`I,XߡV Y/Cߛ_ >ö&BĞoܭ-(~?@e\wwPOsu:9óf7{_*b(0()B @''ӅKHw=cQ`s#Պ >%OaZ~6]O՟~??nGX3^J/jf/ՒQ)-ߋÆ\Xc <;5y +)?EO>G>'56̔#![)ʹiˡ|DT(Q5*4L$ß6%!TRq8A6ډ)u5 Ga VUJJWqlRR)*R쫺{Wk`/E ׯi\|_a z#+*V?+eAfwrif_ڹ 8jٲu` ;[6*&xvΛrUg|GajT.fRHr ^\Bі5#Cpl3j^U~_´/φhsĎYpl1 q mCj %ŚBiHCRVz|ma{N1=執ϑC#ɷi‰t."F-:݂z,əAO0m^'GSV6Z W'wE>^Pz;W_orNNΚtwnV[]ڕelۼ5jY%p+.+ |q q)X};SȪxVQt_P__*~_[qa*8=U%Mc7owq.ԫe𫗥SA#tE񌴯jSAdZue,-6®A# XdW7/ᥤBTVt$˖xߝᙆC*j.D/Cc@. vܱ'od+6ZX9)%3( ̮+.]Zup]O<{ApD0L 3J!YCczlL(!)BEAجLÑe$ CCF9]oRنYakՔ=jI#9dN*ȧEjVv8 ;ؕƗՅ]hP?NQ^qJO/8sIӊ=oœu?zGю~Nz=-ґzI'_{lh=ĴSi:~|=_nw˨wi64j6Qub/ CVTQʼ01u[k>^Cʊ"b󯞗R~HyNC'+j(=;ʇi})l0w{ t};=g?9=qԮ{b{{sYGGҔb=j]WKVzל \bQxUX;< ,c6aV ka򷪝 =b;((ݢEyzU ߒKJN]n4oC.=M+tlԘZ֜-H*xqnڜWeCn ĴicfaB81J1T?!uG}u>K-  B=Pj>7ҚYqlba_`/h9w&Mj!Hs+{Qa_x?٧X)|6xK0eBDφ( Wi\sw"GiOOz+qEl庯kԤ 19v %AN#-tBq7 )QN)̙hZܪn4cƮ],VM(gl-z*ѿY'm]5UѳʚJ9K?k$@/> ^V'v(5[Zc g _SQ oP`^k`Ϛ:[| cP)D*?ps^HΆhjJepΧ)"soX9{VZk'dW.'fl?ˤgR676s:ZQ C('>t>5w>쟦 t?%e~Ooa|Gܧn9#;C@\$THp6qlPC'fh9 q~CC`;ԆD7U!Y}5'NY1'='UBEH!@#^Ɂ 0\ț(}2(n'yٱ[)kq#=}:Kڏuu)kNP!جg<ƋZ%9߳S\t $ߓRQ]vWi3lַYu |B?/X;ev<,J/rxo™ؗEas|z򫝳UD~s\Û櫹Ys{w?%NK^'ڟhxw?z+]Rɹl %ԉ cߦ)ⵝqic}z|/{-΋h!l u6}ޏ}]xI(ȏJ| ׃~?WJn,o#}^Os_Vþ;^q"sŋ'y eMt⬰'5uٞ~@2r7|ů`z3Y~({u#$':ޢ/r5n=绨ڮ~*0:riWш'z}ޟ]U9Z_.mnOO}Ge㱇{.6<ߞ iLw{.S]Ei= zO@w=_?*Y8Qq-Ay8ߍ5 -}(C}29:Ub/f~UmϤrGվXKzS /xFg%H۸(QV2{|"$??+[ NCzO-m?=s8OOu+}iUf;.&5nۂ4CēnbW=Evߓ;q BIX~lu11) m15Ev:_K4𑻉2r8 S|9);-udz Z;qs~үlpt"Uj  `߼QݚX;xDY`8Ĺm/,-_(i @Å@ z/b*tT0EO?GlN?Cl[wϯ-r4!_&f_M wv"O]':i-r4&?'^}TV>ɍx0JMB!C:b0` {ld_@ONbIi sD?W{lP (u0J~KD >`c:xkX3 FUN{K_?k$?PtF "6Q;' [`IeSLԮҪ$;r.3Lt`BJ Ar}_x{܍ p 0fOi%d4W@}GʃhK@LMdЂf`XX(b] "1" 0D_!Ǎ*CbEH:+(IMy蒃 OfkZ`+0 cN-7; Wxa4]:~o F #1YL_ =Ksyh a&Hȶ98<h]l0ABB5ǚ Qx@nDw>p=}-!u6WMx`+030Sslܒ[s+Y b% 4SG䢏]u(.,0ʘ'el'0p8 ,d^\P h>MᅦFjjUсn%xe᪵s;_j]f|1-wQkʬs7807Gׁtc竱 r:@?d2СGtw`\8M=m.u@ju0bŔUMM5Hz4/2phexcvo"-^aÞ*mkEcT3WۛǃЯ M+ԇ.Ѳ^+][N7nnh>t'nqd5@r9ķb+0Z3B -bGlt#K0O{ugK/%™@ Un0^JC YcF:}]RkMBTC R32]a˝[o1 JU]ʉjCC.Q~4/sFKE<}9Bv{.岣ɇ_M׷Nvhmó$檒 {油|>漄ۿ[`/-;a v kېSP&҈تx*Tƒ,0ad G&ff3M+-"ACT ɖsV+#Am!J蟈FO}}|vNeJlHTr R8C8a`i.Ÿko鶎2xYTfngBg_-#J %fҐ,CnutE4c2S!Hd88Ys v keSæ}7  BRvfŵ5#˽f5 `"[ d[ WpU8_6[M-lkΔH?bS;67Ds y28kZi%RFP$vY(KYo*JMHPzTA!ug>Vho4W{u9E~=oW;cӽTQi_?/+N 7 [1FV -Qq;Ջ3U1Q)FE{7^ (ESǻ%Gg"nc eBDedYJZ)1݁hxG1?eRd) 7 H1UG8)z.{f#[7wAۂu,mR%NI"a-ĠEU `!ӭY>샨4̾z̆V#!f*QZJ hbi 6ZjHbL).HTL4B jC*O1Ho*#frn&hƽ@^` LdW|B!q:  0l@m# `ඇSs)r0ba'k) :^)5PDˣ'&Ӂo9̒%T![L7ģ1PagEmїi # Q™j,,~.:BXlL_ŽeB_ղLtw$Pc_q dxmB>":-L'M,!i[OӯR2!0No5]vrSl:Np:H!HG"h.E͕D CWmGʒhƎTɠ,al%.Z]ulB)>Njؠ %2vqZ`"RiؠKMI HB(%V2L63.H% 3,SQ*’y)2'ND4P1\I%Eu$4!%] 5xxZ6(QdTQ41 4X` fݿx[D]iwbvz}~3}) w'^~OidCrR*d\#IDM 4ȋEYY[8l8Cinhźi.]PMkJ`":w[ٷySUoW2W~M{e3=2oOc8lS7'c79OqxT,$0 JSb4eMJHA&Q4@x2F֐d)N2xQtAJ-0~Sý j܊׏mb>nhʿ G{n}C8ݹxw PIU[})J[7q]uωMyXLɗx\bHEҋ6>l8f }UPhRj95*ʗd? g6LynTz%\4U1_˂Q8B}(HW."iD8b,o wHἋx稠'¬I HASD&w:=o5%pz)˱4C4hؽD Y¥wiQq5I)M~1O C%x|6DP FV_hؠvU9vthC}.&N![Kum=fpܻ8dI LH`d~ zyJ(VZt`؁7eӨ@9/j~/٘>2Dtfڝhm|kvr 3 o6Mr G47D ]% -:g6k O$I lOVɩ,K!|'#K_/qy$jhç^BmѴg$r, {ƓM Ĉߧh,IlT A' &K#etob /ys &YI+DZ!@r,EKP P"De ~V17 (͗qk+)1.jQ0E`2 f.+ f-W oo-y^}+Cvp#G7Cz=Ca_p&QÝ- CΌBbr]+#"PMB-bUPqh~@8O=>kPaq8qq3P[%x- "V_B< hN7`$ *[C\)tl`Qm:T9tۺj1130F(]2)R`1a3X&-^zb$QQͿ3-0U` >?5k.˭5o~\pq%&p$}fڭZ(vqO0ٰNlI~I@qjH"Atbqҝ~_gqK(wSj>U~r. ';Q\XDaÞv->/Wq[n="`gՖƣzQ@a.P-,j*y(vaOT"5d)I]o^os 4h@#x B/P o Yu '/(G2.@< D ߼vFn'дBw2;G3dH*^}S] @hGTyHr瑄&3+X 6 \C O/ bAG6G77V?Y.GF7 |wV5Q2#r'E{yR W:.T>U_9~=;gCNB!ʪ|u鲇(W*ߧm^>?"Tte0,$8rdRh*X* `3"lioD|(Hb P /M{^yN*nOC(68(I6O G;HMrlG~n *5tR}@i7[PU5݆SV{|e4Zs*M;'yiW_o4vjOQŒ ['Ň.)t}-/;{> Jr%d } 7 $ `\L (W,<(=lӯģ]ugޫɠrO`I|9rBT!chSPBa!dQUj.DJZxBTƹ}ڸ}]dIb$6`"C}S·e)lV]G"jDRCU3yObx5h>545c[U{КAW-TTi}uV,]Xʜi3Z_j@-k5NCۯV bK>.lJKXƀ{n)/.#S Q7Vk'd\q5_4#+`Lxg > crI 6'-rM)bىp F擏T>U쵼UE"أu0Q4oswZiҀ2دH +oO{/N8nE !8nޡm\΄q5ڦC6oN!ykz!L;n}= 'Cs/wKyIyMP @LCrd_ˈoϖV~hGN?>ogrp~ >~+'n>BQ".ƈ[E!_fN'G T|6Q >|n~W.}}B{z;sxQ<'7 GVr5hkDFX TBCJj1V\C]N7]*}"\MwyE/CʑJO^taJ}۾9@`v ޫHd1~5 @Ѣ(a+3VTQLK:V.lSa,ŬNCƔL)Z9r:h9ݕI ลѿq[ko)\240/YbT5׶n4Ci&|b+2W=**"*yfd*D(ϒtZ_5:{}>>nFLtTfT8Ql{`5G7nͦ[ VU21*d0a,;\f4}=}F]a H7^tȨU }mv{xL*ۼc^1V4O/[T]2^c=ǯ|_d* 4N.LB%|.,J-[*S_En,WqB6,҈A4Ą!5)#[ 85{4 s08._WTpm[^_ vrY|'gޟ?zT;LȲ"@$1N+ yb-ӯ4qUUN qWk:|~N9QG! >Q)#{?{Xsaj HsHȸFv e;|\8 :&c⦎ A!< D'/To5#(qf]Ӱ?8_Qݧ\TGN֡jܐX)T%5*< TB&{\wN E#" "|WS!WZ)٨}{Wgtѳʴ!0>%H{o~J& ^!I)љ5ItSv 94rA/LR.TY0IަqJ\eCDj8>Ft3Q4<Oy-D?URj;؈Pxfڑ׿;1RqBTqO6dvZ57Hwq)U" E<>^קe8a,5EB%PRp17S+cEmTG&$WqAf|m h>[D㚇ι<>^]BX\{|yXJOO~bؤ8|H~!}^K!UY8p|*(^}y_\-_]``ԅ& ]AU KVТ;)k! 3VLG&gGR7P/Q yD>aQۣ{q|^ ⩝bsQeUCÀXWq "BT<1Q)QR0PGo^qvn>V.φ8[r(7][ _̂#Ӛfn҇EOb<ˣ ~B3˲zFQ{ǧiÅM\B]~|{frtRn٠co1Zb6E Vb4M"(Ac QMC xNm*J>-̿?2榙) U ULA1KεQ3FdW8oB{>5y2ȇjod o} OlK8 ]fXJhxb3_NҐň%aFG m B6M J,VIk~Tرi*s'R$1o> >EQ k%@FȸH($0 z]5l05,҇1 BS( 0Gie'͠8`ȵ#Bzm3- 3?l;?MUWH, >KPKz9*#a?M(rlMM|KMI4e F#j]ꢔ F L clP3M57]@P.~#kHDfLNO|^=T웧 gi{g*,WmDuaQzuUWE^_](liZ-Vm*ЦUL,)lee (.(VDvM*م.vd3٥’’(TUb~[-#\ȌԜ" ^eZ֓sDD]Sց jWbFLf^)(e!twp%@2F)Y4 F,֥4 |ԸDLaE;QBmhk"hR&a#Fݦ0ZFE $XdP(lfuʷuk0'!E0G-JJb- ^QS[5\(Ȯ -ɸPε`0y83,8gͳMr%g ԃA骶!/e{AIGΓWz> > :6Qʠ4}4j5:P YF;[ګߊDz4 ]\1*o"᪎j%a TP\F4 v J TDڷE 1n A BՇԚQaURErsEa!f= giqG&eF*Qo QJ$DA@cGSg) s:";#F=Z[MKr< Z  MOQo)ew1Z8ȹQq5_קr3x'y^+9 QFtVpUFR;PU#+۸ql`EsAxh=BUX6U/o2l.vosTBywoG.ž{f_uBN>V՝VT tb%|/:qGj9\-=<h@@ I OVDq eƖIzm.^jP.\-I*ˤXaԁUD,±m'c8 R!K͗lHshJw \_gB$ܳex6y(XԨvhW-sSiػ#>V}b0 Ln!Br@ ~"jNN?(0@]q  N򞄤c_IhU&&Vav"A!&OelJ‚Pe^nsbMKMIfDX _"2|W*u5,,>N4ln|21cNmgqv` mg&!H;t;~1H0b^NMGFE1wkuN7續޽Y~5|~qQ춿ܞS PvS؈@tSg c\6Y!xqQs8QE^>J=MSMߎO"N!Hma+%1@$b 0+gz,aTY]y(±QzDL&_-FŬ!iWUu_ז "6~mcax+ʃ$z#V;:m'٬9/FO'AJ7dtц E0 6 $3%RL~=NW͔=vH %:ruR?򷩶elhch2 Ş@̵񂎳zWM_szg0jVL* g[t7~`}x~I0T;69$"Qص :bȠ(!8)PHSr@Z]<HvǑR=ExuꨂwG4ZzxjU)yzgqzJQ ڮlq+H\/N(Gko3Ux:m\^}Y5U[jb75Xc%ZT,= JiѮ[t"MphzUdʻRVqFJS%!'=aR? O) I?% UbA\ E#i5E{8^7gڿ# ė%]tx[/Mr$mOsD+)HQNm[vRLߑ9Ӵ]k0dzz#CS'ѹneX]W.\tffFv%Q6݌utUפ[FlԧKn5cj]:f LՊ UA3_vt;qoښe~G,]4Gw)Ί7aZ{8ȩ&Lԅ1`7Y3B6lT&l70LYC4_hKT:\VuJ/jdc2Bֳ8u8=rIMIa CL-n,G:5g=Re*>Wr4]/ $B=Ebu)ӟҾ(;T4_w7P ^ߐ+ TJOV-#ΘRcA;Wػ0jM{sOeըhژqЀt}7A/R,{!nuyNJ3+vJ~ԗݝQ$bA-X(J;LFlĔc4j-fe>%jn=S=~-EyrY%t >b"lϲ%owmQ88ᚅ7r_~elT/&_ų4(VYCp+4T0}qOeE,kZӲ,OaB1(1K4v7 F(Yds*AZ.o%L0v_@[osУ4>4*/I{ O?uu\mFQfKNk`VeOԞQWfJaYE[ZrS줗 [,Ww~v(:SqP̊AauPGziߏ Q{T@߹iZlul42gÚ4H-gQ)%кդUm(sf=gfd2}&J(U>=g8EH$6tܟ+WLT(yq ]Z'l>U~?w,/csc`וeUD@aઆBfAsG}S?..䶞UxGjd ) fwwB)ʏ&Svx5B0"j+3^JɨF 9FTA00%(v*bh$LƳJURQhe RC_#RAj <3d<֦y7ouAq̰8<(0=O*Sh=k{xM=_j H?țV=Ny/0gudV^uq犘O?o=?]ޟNŽI棺5gmn"(EB F)?IGQPGֶvǎTeO֨O\n3m@tu)!7z;+j!vg5ncߎ_FΧF 3:j5" 7yQa#m ,rॴi{>%Ͼ={-„\*bST*ƒ{NJʌf#iJ.cSo=r#VézEMOYEQj)]' ;m{ntMc,ZoqxFG7Rl8jjLa sNɟSAekn0|_{aG|g0{(;/Q}T3ݻcZ${)8PnOiko."Rn! ֜Rʶ: D82xt'ᇨ}?/7UQH\t-HQn&!Xy,Gklw6Ž5.V@N%d+kG5_z]iz"A*yN6QaaaHp`3 U؏z7(8UM=ʴj9 7m: v:!|%ߌG^ ؉AM$(bI1 Q\12̭t+(eT*gn{'yj;TUT }~GwT`P0b_HM=-Cr},N ʻﰽDݿ:VO"'\ Mೊp5HEƀTǑlB\B ! #lV=WqePOEiec>c;xʟ#K& ȻD-Mаd(ʟB܄…/Ə3'f [!t>Z:w"H0dXĖT%Mn+P5 hdu lm GU>NZ-I0`w .%4ڜ߆:_m&c7ma@"H 7`$GOwt 5D׷>Gϙz5=IA1ћT+CUcǡw AhI͂yH추[ @ <-oeur)aە5lY9(|@1@}L9&;}1k]څ]ZvZHiu/m>M:p > AїKZk~M)|,%Z.Gυ;fh"6ߩraz¥9QQ,P `#4KbaڮaJ*=PzP -He]A_gmoe:{c苟-{ɢv# !4 簊֯O-*iͫvaL#r֖vٔ6C.%N􁗵Ex'dz=s|?[\R.@İEC=z@9K&E8n/?~Wq|wϝT>WDbykvzO<' h^` ǝEhORp<Ҿ F d)M;cFa򬥥zkќ1&Ea+ܴ{T5/B R߁n{+_ -~R* ?1aׁ #z魜}@`%\y6v:⚫(Eg)_J.a~cd zC68cr0T #Y%qJ:̧m6gz:vR13D#&\$o[yo| t\Y UJ0[^UhhfB+Xjt(;cbv0oOp)r{펿:=#:z_@bk-4XS;c8jGk5Ⱥ*s6'?o>E83B:(ǀ'^Hҕw7Q B:U?Ps҆T(98nYMߘ2pcx)$vP,AP6OgŷomvtAiuH|?C"YSgoMgG͆M;9-MGN~)S=:Ie77,_gjփF[W0[zV*Ie݈ӁO+\gMN7 n.$ B *3[/,#2eEЁO͸QT}Gr~eI|Yp lU= Asۢt6AaJJ_Y IlQ;}$ywh"t(>SNuaRn'XIV (4|a[+螚łn?6M?T272-(44a3nz!2.0 ,t,h>7ZP*RHl ר!מ֒6dž]J&EC`ctf.M9,M;MN)j?fn)Q2(AbpᔢmzUy=,~C^cϕ j O_s" _lSYz/=kGcmZ @J &m:*Ou醊^{K]%3F ot~NΈ7x l?O9c sQ -bX zc.9uyP* 9o/*3quu!yiiUZY_== y 1 YU0-~8vk&hg!h6 5(vrrmJw7GDQM\mĜ]A^oIa)3i{EG`7ZL f?>z !yp:<1J+tB/dŅ?h3Kg`"0W]_2#d$!F>/s B0&VDP"ېViUWÛWljDE碑lUWԩ.'Qvq?)T^M:+2C[TzPˬcQwgmsuNPF^jيT&*VukW>5o{Aݮ~^x?]3҃K#aDNrw tbgA I@ UgqL=;.@?-!uWw!6+}hRUC]7ـڸW#3Q&VN+(ʈKj|=='h\:2j[ڶc rU%88@vqpҿ|KK㽹2{o ws#:hԲbδ#ߝ~A? wŬl+>E*,'DCbS|֎еV@: DWҸ@0u^,,Fe(*Bn5g¨8eذ:qV^z/򰀘#1k=((NI˟&p֕/oL -?UهjXn'P҂ϑDy,;9?$Bh2U5:v?l™֝:U6>'Eb@K/ž$qcY<枏+G{3zU tRa kYOnhFn^ Z,C)Y}Tt+‡*bqX^+^7wSFS.vVie&f~?ʷe;-& jUIn[gZ E7ueG?#?FuXz(hvo+K|@v -/GVW =K t  wOoZ ʻ2CJibT BeÞ4ϰ& o=}9]}?c e M\/} dxLɠn޵V?[?P'CgFt{ PKX8[28Tٝ@%U)4Û ;P 8"m2Sk1-m)0Q%A@I;E?j<`7n?(7Ϝ SF*Fz/o@=0y- _V~c0[KxY]k >¢1s;$v⚟.k!o–0Szh^j.9dԹeFK5z/xyrMGeQQoܱҪ(W (Vt 농"JDU:t#'?1VOBY@ѳx Y= }J-W9nEkO9N=Ҩe)XLhr_UgY[iS3P._x`iG(F7w?6Af䤂PQοI#wg'p~Bn1^|QC4*.T`s R:+1 L~B7|r~/[Z{k-hV~J4`% N*0SZx.mݠ)ݟ>xhɹ)$tyW~)F 1?d ڷoO8Tyc+~wv:VZSǘ;a/޻"]Gߣsx~GA56bgagwˁ&VuQB~۳;?UXo?BƖj<3`z)z Xz-i7k9[~)U~XY|*kΰJyvösHr#VEAՓP48j=ʾ`\t\ k;U3]Ξ =/=g*-ɢu f}Z2QsʇUER25?}F4:~:8˳\>JcoRXs,(^4//T^ )Zx sQ7%aJ)*p[se[d9)22/'nHT^]-56 =}ζX=~1/>|?0nxTgsQKҌYVU R݉Ob"+c)) w g9Z%m# o#[ Whqc`d@p3Ryջqe(@=Lژٓ<M914*gnbg@J~{ Y,{(,/ixOV3c6僐[muتi"R@]OKq@HW\zL\k`B(ooMMBC$ᅮjy[P. m>b+uPJ /MXtx`C +-&+0/+s 3`(r̒Mվf0ծFxmi-a@k"'YIj.rY~a\0G(QX4b#MM[t"MBki!&W SUqYP]Fip0<1zgml&qؿ⼘boHY~uQhѤ؇VJHd 9kWUK<WOcպ)ENٴF/K@f`̣n0w uS#y_AۋLvʱF1UfV1&;~Z4+uzZV#fPi%]wSV|,J?~e$JwOo5B|n[OKbh *噝Tx)OMEǹ84Ͳ;0FONx j*Poa]Tb4ZՖâswLhm-`x:?!oZʧ bC޽X2p.K5IoNDf*<ͽݕFjOIvrz Vezf%L-ΘbzX}*B1ڮϷyۅB4Wd~4A {3bbv?z:GG|H̥d~~C>[xw͇E  QhGf PW5,ʡK$o?xqG-˵V5j}7{͡.ݤD~,,Iʒ  >?fF{8<&]]Q&ב:msK/)z}X`ƻ.?Pj޷փ2IuĒ  (bez(>[ᮯq0HeU _ *u5?NW͊ݿ^݌h\Z)dQ_Z_Y|}M>]wzi0nn Gց]b#sW>\c7`|s* c>O5:c1m?x֞nu4hϏSv к7tY#HQ yvag)>[~!(|Æ;Ҍ 8v8 `4I/wjmnwwgo> _Zd@~P+Pm=6eAs@hĤBj}tP1@ӧ_ߙ,<]QhVP!ա:1WѤjAYTSri'7Z**tov!xÅ90jFO+ౘeyMvEPR D RQZqX`r{e?AdVˢ7Gؚz~H>W^ߙE 21$9DDMJ]E"TDrqUO+.dz FMݍkZXQ|@dzY7@!G|*O脠=Pr:mo5sA||g. MǼNXP\?B|~[݊ ]M3%42#^,1+|!N14hȰ6N.jYVcP2.%:.yųZ:t(lׁ\yՑiR) -4 _8较@xͭ 6Eˎ8ݬ1Ő%n?A -dTy8G ϝiSGAcx{֌t?6:v[wl K;713+>5.KOW6©W]N +j)}Sq,#o+MtͻPa@YLB*N%GҟKtґ󑙦{υ>=~zUb[H ;e{o0 ^>E=1Q<;ۖUːNc9zexyzWC8=;"ϧ2mOo XВd s81I c+p!FHbp.~w^ i཮#EĒ6pQ[Iw߿d|7vA5Ku vSNpÛ*UQ2MhTAx'L=_͈T477 wy\ISQ ݉~Z$8D$UWߢ>ыN=ڍ*prv~A,2tݛηqUJD)oJ+}|3q$fE{EևfT~Әi)grRebO5ԧ'y)޾ã%}MMCn8`PcWi j %VKs4źcsQQ_>J FSO%ݥzr9Jh2~kiƮgi1<VG RnM[a˖oT" 7󶦚ڴX!o܅~txۂ<NΑ @?paT/ޕ)]ϓ :;>c̓?eĊߛWwrVl|e szL޾uhBpe@_]FJq ր\bշтkBiU>B)a<"݀/ڳu(QjP5)QF)ݭ[-Qhr-#;p&E*s\ecvɨ <݆oO3״i5 @i{Zr3acH'{/&@zx~L:-Ih$TF=TIEū|kv-E} ۖ}j)DdGb ţ*CE;Y~5(xz.MCTNSΦПh3ܻu6G墷FOt!)K>VZ$n=u'O;=ഖʷ|OþR=ЭnpKw[Mzj>X,Դ.AA\0!Gi+z@HAGr{IvX=}{LHMG0G@+2 t*UL[hjmƅR8.@S#>1,(hyGtVO1qJG^R"ȩ `b/VZsup/ Ǥ vЧe6EG3f+Է(1hN8(J**ըGm~yZ/f[t4 RI$L|w٪m? U{)oAͽT~b-FO|$oU쨨՚'䈚6.|*Ew\ Hj\y3z Q$I 5e'֢t R2ABE#aa 6!(UL \ekŘsuP6!TfXZҍ8`GYqs2CBahhծ&XaƂ lX8\N[ר_6k2XVWA,|Ճ6Y)5IjgÇ:B>[ޜv)9cYhE4:NhUԷ|3V&)<)\kZ}nwcnMGy0U]'QFBuTŚ {?>x:zMB1j³?3&Y 'ŮCO *"%$%X +l.R:Ki}2.30`%](TI-'I$$ȪYHdU[u屖ߌ%+]Ro~AsC9T=vK \܈ T9PHkǮPaZOhY߆Ch]^gpUn6O_-"[tՔ:a,׆pRydG}_1M+w! ΍OTR]Prl;#G+0*#!@/)ҕDDV{_yzز^Mge4fJ+#^ܓ(t{Rh>J= |w~%NZ(2E_ٟ#oЪu軹9Z1Ev^!N* \|T7}`04V]gakxY>&^в0)^u,EU$TOV"!&5#*=n5P(/Nص|H-ke. AG1 WFV0\-{AuRu[]Ej p9k6.GB10BG>Z*=XksYGַi"ler_D45K6 ZZ>olAV( ִVA"mEsiZW t}1K$#F0Z+FT6@E`&lt\UVHO[Ȱ@s :Ger'1Y`(@-}W}0jϵ~ZNT-MN 0 t"XRlNA#`|Ѭ%YTt\Ǜ1r aH7 NSRĸ'!` e+"C]{no3*66.}^F]8?fi@CT9f]}][QbJۡkͭ;!Pxq[ZV$0~ʏn:djj>Dtޛ̠-#xOBB0[6"o#FZh>G\Ӻ#Buo t?ǴQFQK4gެ.a?!x {t}얀`aVfV<}>XZ"jF*PG@_WㄺSq1L ATF%1i{EݗAۍf_*?FiJ6 /=Oŕ$5mf90HJT2d@Sk6xI uٽp:3)]^Jǯ4@5]6HZnVE14[!c۶;ء1}*ق{K=-ih8UATwp܋ZM\[nLkge4ֻл?#h\AϹ!1F` ==- z4w)'~|MוBΡ,Cgп#2lpoUA=8O *hzLnWsygʠAϠR[NU;C)^ʈ*|SϮ@\p5 xJ^BFW]p;~TV=?jzfHZzTp8!_v)?KI%M k趣ܣ HzrC^w# }LN˒:"*BnHy 2=uP kEw7&9075^}@l *8@_\j;y\P<)i ӟ:OP*k|XG?ӵ`=_j¤{kY _ @bJTx(syO.@J=sxr>/lF8Ri׶=+z\`^Ϸ:.sGХJ2r?)oSKӶ镡 v)AhXږ)seJߥQ̗ kl `򎨟x'M,ߟ:#nHXw*o +EhӜSa&]SvG88Eڻ J7αa7T%> Ɓ@ R;[_[9@[V mP˪E\[iuh#W&펉HwVܺQ֚b\vЦ"%8~\L8z{V95XD:!a:RTo A0j|̵Ԩb2VWYZiE>_;I=:? 5T z&iѐͅGmiQE]6O8UJ^+Un8061KExD(ZؘP6I/*X;@V#h4NmZDQU NP{]V^ j`UwASh˗Ӵ @A( 2XȁSy0o=WDIP`OUD>>ڱW/ZFuF!GUbA\2udC|JROaih @bc Yʢ1NRp?c&)'oMfeb#V.ACi&r M|&u+6b޶7["ȈZ۵hH:ЫP ֡i&~K|ovZ'66[|ƼQTE› 6c*: 43fxL-bJgfj2߫6)5؟]t V-n i;:n 23Y9CҺL\cxL77+Wr,߅yz9뾀#I>|f,);=Yds O D0fYaR"E S!I/lF?^B\ՠIN~w߸AMw]x&SJ[q{ T0 ΡDiz?].͕?~TM|2^K[\l@4tvm#ڢl!e:(Jn׽Ă6û2/\0+R<,*"ӆ|,oY0__omNޏb0yDnQHU0E;{g00z ~wMRiR*Gw,vgզTy*;1W -oJ c7BG=TwrQ4Z+@T_t. p+  "'_y!MKiN(Ձݛ+<3Aݞ o`Ժxޯz |-@Q]RA~W>fi 4P{_Wơ߻2F [ӁAHP2& (= 9ueT3**,QxR͚Bѕ)@2_cj^[2##:|ܦHW{h":з_:QlN,(gT/@.1~":_q;ϙ=pbWA<"f+ٻO˳+&-FJBJ/e6}}%5~W4= b؅x~Hb,0Xı*Wk[1(20(+ V&UuoQB%v;:V{x>Mys`K }}⬘gAB<9m3WVhxIUuie1Ūͬ+JHd{W_!Z]#5gFvyF'b70,+S†eko* ;wPzJDz} Gpњꎐ #7BfVA򢢤ʤ: e %˗ٳ {;FڀX^gAd1uj,Çg3je"3Y0~se _qQz~R";hSV:Zh9ŤR=_5#Wl¸rbQ@CWhddˎ8:Vm{3^f^XZ~uu{3ؾi6+a:2TVl‡!ٶ" TJǤS&Bl0 ZLOlBC7+بQ{_=*}!Q?|q0+neH!VPD+'W!i⁹><5hd_~BA= wCB]ڑAʏLi [PN]i 来):\L& mZXP/n;Sej?~jy<Ҁ k-[>ouB4=6yzG@eE~h ]W@>;6-a;J woqhĪ&sqU{WǓl_@1`[@T5i!UVQk"|uƇEze uDzT20svN4dk̭~^ʿ߭M,cuȩf `"wAKv P̂#;b4 (PNjҩ}T1IՏ=#sgѱF _e(Ŷ->vy;Yѭ}c!#=qN3n6za - yw ,>*= Iل,iT])\}X5Wũ|92v#5ϰvfÁ#SsX1^ !mq JlGp"ߵŕP__@M~^@AB;hx/m0(n\UBUTV8=W&TBG n%}_,dFgޱ{>g?5=OsXſg£Q;q tS^z-ӱbSojەw )iAxD|j7vh2=4թ,S qdmGp=n$P^FtvHP@f =B,?P88(˖jՖIˀڏӉ?mTOn2D-$e6Qm4b30wn_@ $X@p\bĤ9߂i 1ڦ_onxOO]֝+=>?Lz1 1#Q* нlS/*qo3y4:FMM y6aHZ9Cͧ{޶4sgo#)vwÇ ms_d){I:ڕ /ӯ_C*7tωZnSek"#K|?g,֜7"Hg᳏ _7zΪX6EE 5n\7bgZq"iq(w.V5U+g(M &lVAp&T+oHpIms2YBEmVUe r 1V@:ŵɍ nDw-d88drbCTEF!W *ik8q)y'ysg9v q#a[9`DŽ9.U;t1Er6%8]apI)g[Uqm[]e_ӿ6F Kwy0g`C5Ce;MĀ "y"ؐ—ySKر.jRjɬ54#H6>`&Zmp0Co*312-UԂM!Ni*h j7aaKFbm=/muSusg3hZ~[8Ҷb,{:1mb_a +9ruޝCL^ZŪD2ޥkfjyY8즜,Hs hbw4MuY͌mʆզTP醾5W Z!ccE$"ѱW{2EZʔ UFHi$:K RZZ"ë:@ XTd Eaj+h CupϦlPu 6I8H,kK!`k94L2 \ʋuR[, /%Qڍ$ɛC ؼRm%qL̆Ȅ.ͅe)&rk\kWIQKLa6Җ?H_;h'If2%pF$QW`AfqA `&Kp6gf}&u4naɜc"gXƅA6Xk#b* #D)aBLVkq6APV7tPqUUKF+).:`jފ릐qdj[=| mH0pG.xGNLQet)k0uU@*D3>^l/Z֔ȝ^[FZ1I/BL|=V+^k]91Hff#TZ.-ESVP ݼ6-a&-6]/՘԰{bj\2[jtm櫍0ft!2 DKUgh-4jVt jPn4P@`0.YN6%[UdYT(ƍ-iJYQfB {qk)JF  m/$>꧅ ;bT$Rod+@*(4c nfVĥS \>VxVi2,y2QBSGz 2stIq[E!0dE]Z+LЂaU@;:7Jɻ z eރ $3ݮyڗȆ*hJu?14P!AJzD浙5&[KTM)%mQbֵRsWtnkzeX&f$=/֋^9QzmٰNqĂf7ʚalbYjji{Uxx 3L@؆X^t]QMQhEqF"^eoO-YXPyẌ!;TV*VՕiY%vb p';QZޅ*֎y~%TV(!%79 6~P ^2UefoEs:+F¨vWiݲ~FOzӎV"#rfVۍoCgaR &(тH+jBn:bx%q_iJ `;To@#UT;XHeR=0ht΋j S, `_W$!"! ]¯m5m-HЎ4T4ӍcvW.$YݞxkVrc IyxI{Qk¬^eR= ȶ:@"4*(΃bw[-JTD(P6(Hæ_8 [|ݖA5`S9 E2@Ώg'qqEmrpTJ0Vd5PRHؽDi{9{)ظ+: v5y>̞TgzA]B,H!bVOamKh9⿰ AHءyMqJj׹N.k¶u+OЛ\}Yg:׍Սh>6hv>Q=R=M> %x"y?gs}UNvP`SLAV)4rQ<+\R^ʽdJck?RbԍdPпyQ 6ЬT;?/kY*JCqc 5닎!Em+-&"YP^\Te@E1 p֍ bŁWfʠ!W.,yu94XD[%acWC$ˇే } ]t .E-Mb7LכHȽ \{Hf0>Ώ!FM a#Hk!NjA`ʴ|҅%UO**'j(gcC 4)lGH=ONrZfTټURvEAER~)T_pKx7 b#dX@ !u 7zH`WdcL*1bF@YQ4m~nͨ&1jQQ5iشmrW0o6d5\C2Ꮶno-l}d{WGGS^@Z]$4n$Px4>[Qm-A=Q~XQc5."ҩF|?{>{𮤚T@u 0qI*!/2=zkKqKp7*q0u2Q-yBSb|e˲Յid6`>zV ]վ.UujvO|ْē; -#gV̒\̠w{xRM=:]X9QQ}3~`rp: #}}yv]qDUS -{ G$`[h=%mXw}l$C˔'3"WiXKct$۝ETEt IYqT {KPi13KU[4WA+;|aƀA9P +3#`M#;U/ER.e)M/o0٧QY7C:Ujk`C'*ib}pl/ 8usΘf2 ! .{-_tKyݼPJN}l;մf͏O +Sh)t~Q.\Q:D&y+jSqhŢ^ -<,Z? R&e*=|oSPB[32*QyZ1?mNU{+چߢ7_p@qn!fr7">E]e/mέd>HzZTBjSࠁSʣ$/$NTds`G誡MW7/kt1!bK*K^sÓ0bU@@a~go GĪߵQʙB9%a;G Lv5Eaѽ,iҞn)z']E}<Ρƹ_Zf o[X].dTW/$D@q`-G>+Ӱ |=Kۇ Wއ:VvRAsj/ˁ L|/xGPw?a@ݣ2qZQPzZ"Wz|gkvˈeⰪB: u5V Vk(޹/>- C"v"4?A?5Ieռ W]jg)P(/it"5ť-J~ёqc\D֋mbeM\৕%5K@8ڶY*M H,Y]" x֢ckPDR]zv*]YC"nFGTTߍvպuII0YBQUBЋ_%7>G{gƭ|QqZ|"*ܔށIms/*ݳGA_oksãcEuu6)u|ߍ]͊ -Ghp+f!I"mᅱ܈]%+9L3ͩq۞rҷeHF:*_mp) hwzA]>N#/fr0;9$^nxnʉi#mz76'Ϗ};m+>s}^csZ Gbzl4&"5E:aw&/54Ҵv}wjhapqD vid)è1z̿4Qح[R'}["ᲈ; x?[Ie‹1npۈu6U܎<@4PYL!6jv* >x3DD}T5'&z/W~qYUi5PXb<Ӛ19PT =aTL~ƂF4] JǞjK1rզvӁZ uqO]s{54hٗ YAiUۄAxDQD]ऺcm_a` XGoIjOqR! JSU})?b.~ )Q=ؿyi6@=7[{qk<(EYU%.+>8͢hjK3)O{ J Y^6 R6ePovG)b6TrffѼͤ/-_SUSeIBh*q &O5δl+ͷ./iQjٓd̍f`F`>`1 rP+u*B,FfW[7wzZѣhm!R?}h N0Z2UW5Vgi .DKOd n:K20F`Y2AH!:t4?Aɨ^#vL ".+b5r)S9_фv8{Wǘq9HN3RXXtt  +hPb4w֏ d>hiE%e^@":_ Ć86~ҫtN#|p %L meLIf˕QZM<?Ձ]S%t`Wb":Κle60m;¸4`zmp8APͨ%jr\MXdzt &yV ^ZgGUU6Zά!4 PZZC 8h!=ө+Jkbb.``[[h.R0\}weqwgO}('>*ԧf؃NF2*tem2Ѳ.eymX]N)n@T?<} W87&X]\TV-eov7JfΑR:U( kPMg I6P d “Rf/VCLRcD8[!Ёǯ*`]$) 5>'`aM|0 ?|@,K] q,J dgE횫#ހ0a d PRO _AM*f*^j=)H{3_"*6GZOsƘ\eћvFG {dA}}ñF*IS5FH[ʲ]jB3HF?>d Q`~Lrz7C*Fq] 8[b".[-#+>myo}& "D|jAwM =Аzt?'nv=!Ѻ#%J43+앵ݤgj(Os72gsb~#?Ŷዦݚ XhʦJ(*sɢ$?2ٌJᩴ0F}T&-Ԅ7|~>~r=l>9HPm y(`2+CH(z?s\~Iwc=xc0 !# y=1 e#hw>Y U F AK[wF?? OU:'IJa"*'GnRZ,5SY Fo$>Y}û/H?H@?~~w{y`9LISJXh&&o?{=-X◕SF?+.>Q+J@ c\'W7@\}w€d72.o0/)0]4)jZI6UCGnA8u`kɯ*rLMveC %F'z9IQ\2HzUTnУY;K6*Dd1믂XtVE r;ҥͽN"J}cLn鍿)K7 |ÓQB 6|(И߱@l?FYC:Vʰ2MYAc0d۪&8."xWg3TDIroNNdltp=?*^*!( E?t|<+B$h#AUjE?B{x}Ϊ6?H|GyJCCB*&fV< l.i" ,\pEaqݲ/pA!"Q"$A1V; 3q GԀ9wDC5a)EU6ʵ15_a6bFo?;.&?YӊWw]K q1Эa|%u?\Á&QوL{|5@B@٤ I$APS4ɕ4#/cPKW 0ei|.+O1oy!A e:0Wgͦ$ƽ~BY?IS'=ГYI0WTA5ڃ?E¢")߃AG~A%w8{&eP;,?r>2-vۚ 82yϧLծFa ) &ʟs c{ChhhkGC#-&OvHSuVHɮ#+M=BJs7vc|?f vgEP0Li|(AԁHz(f'!]DFD˲ę5vɷe&nB7yÁ0Mbc֬Ys5uh֗ , ad2n-A/4RC&FH{4h<R#DlY;n|6Tb11; qFZ,16ބ5GMDTPmLC^FxX 2b0ä>*a>js&yTpᅣ %{0#9VȩR 6e?ےҙvCQBbAJWk|2C+V*8$D瘲Cf!n=R *Sâ*͵P ObYgo)^;eaufVgw/؞:.>vp-i|,|wl>R J2Be$cܘ>0~M]:G,\*eSFҧ(0`Q9\<bQB0mT7l Ys0&0upKOcYNT0Kg핢U 6 A^](%ȆQ_-rB"I06p,U^T!'d) &_NM\iu)$9+WLN[ ƪp-ɪS7F s)b0Z=Z.P䣷:k*Q 6q=΃ΜQV &cY6Rm- &pvm0S5:0Y1 n,fߠ#; "HmqMVMZBŐśI F!+mLFwVۙyPi)Q`#YN( 3!l:JzV%ZBC;gQ?B>n;tsupS٭+_;|Ϫ,|}*>㍟]9hӓ8;CCŏ&~y?Cn5k^o_->~Z_-.ĽUr=onQ:;*\GߺE~}=$A(18VAN!:զ͘$ [4Z1=3{{'٪CɴkmN{CT~Dz V^#?`6~?js<2_mf]8W4@ᴗ&_Nmɠ]tpQN (=+g},^JBJuwRM6Fd+}St.b AH}(~<|gό/c)0b|kqለ #0=lkb'(XG}Xw?#BPyQdF`,(0iBHXxU /3|<J(b |tzU?V6P}j &C \~dΥ (LMD*MPz;8‘*0>dDOOL;t οt=? wCs@Xa0H q?+I ]'Uz>|Zx`=-~ĔoBLjPB$eN0}b8s][{t_,E\`5oV^Y3gkj2$5Ǵh^n-gUE&Ek5 J–wQ{ga BH{jnymh _?|TЦ8QnL2Gpn+s3ܘAwp.6BM,:.#mfPAXj^B&]J/ ar*"M)yhv }Ьg EQ(R8b/RO:+MȲ0B: imH$*\MUR+2q8؟3C9`QϢ ~=G65b%eQ/K@Z@Q Ѡ}6YdSfz9,ضJ!GH>A`6,U-4S ɿ := lLE%)+i?m=mp*,7P8^iۨ9N-tCq$[ûzMŽuuґeIcƉ&;+VR/]kWE34伛v𿛎{ qLʱim߷[%1ceSusPtYOW$͑KNZ- @ tBBFWD֮7Q3cviiNEfn*51yCm7 tC-ӴLXmqex@S5?W5D GӌJdBCj6װ`ŹPIiTvEb[ё2=VcF=k( Ͳe8 JaV,m Dfqp"sQ:kf)̀t rX rךu K5T+8BDmw.qr@$J̙3ZJuz)U#e]416g/k3 U=izPulcQWԽj;p^= 雌9~Y^=SZ""DL4\,K2*&SjY:,/C}C:(w6TCeZ! ʸq*\ i5ٙKEE>%!kن Th(= V(-&3aYSݍ>^9]o8q35߲C;|;W[pQҜ3$|KB;3_69!tz@V Y9î(8$ =1k(Ay3  YR!<`5!_!q񬾍`ߗ~kmʣh)TOCSެHÄ^M& L=!"-yzw}POKzoS:_/qi_~{T4xٞSf!}l9ࣖ9MxrZ\V"Q[0bޫ*ҵTkhZ40Zߙc{*ZyοfOr7 >5UP3[־E1F0Q_tf)^+)کChT9_?w0M{`sjF/fVlpLH͇0rf4o{^so?O_:*hl+@0\|0E6=8 f86DFۆhFn +eY֕K=}#}ٲ<+a(n8~^+kՁ i!o of b3ǟD |Wѽ%bHrO~ %D & G[c cr+_{5ݻ+uk\eɡjcOuosQ:N+lB v';z}V. %TݞmAS]ZK\&{wAm;Qw L*! D8Zlއ H3c`D0qxxTo<J$|`jxcCL Jh ˟?3=dy`.'RL{Npqh_nC&~= \\OhQEå'I i%) jy;|E+զћCmgc7EB8 "Y]h+6Q0BIϴ. !V5c9e0D 2 HB:]Lj^5ei_>ďpÏlc*ʁvꇜvBOgHTNeK=$XB"2##3/ռH!F??fN)mHH#}ӿ? r7܍\]uNCZKr(ɝU ̀3(T{ ;e.}E%#Х&=W1D*B` :=X+ 66pSUTm`"LP׶Ȏf/`B+ UqjG>0F@b !jt,D2nfeiNsU M&44`syߍe==&ξ-]& j K# UHgQa8~18mT$C@ ^l_h?$,FX$ f@HDM"&ɺV,I$`;d`;kݭ&9cc3n0$:ZkyǂQ4 > x'O7ٔ"*cX`9B6y };dDAPGҍi~Vˆ" `. Tev, K:A"!dDL;7 Ͷq.Sf@6p %0?>]9opסA~G|^eu e[ '%}21Jr{g cb WK^*8@Pz'~\g%5Q DWFPרNݯۍGj$X(Pwu䂃)8$dU3{\mVt@Iuڶ*FNqV=M,p6ToL}r~u۠ r#OSB fXv*(aGiX'P<bel l퇯\_=%?(pݴ7xѨPa#CYDETG;hbhߊ[SPD {  #|V.3"Rz)f⯌zNl~QOzXb͗(E_m6̸Pb