From 529ae9aaa08378cfe2a4350bded76f32cc8ff0ce Mon Sep 17 00:00:00 2001 From: Nick Piggin Date: Sat, 2 Aug 2008 12:01:03 +0200 Subject: mm: rename page trylock Converting page lock to new locking bitops requires a change of page flag operation naming, so we might as well convert it to something nicer (!TestSetPageLocked_Lock => trylock_page, SetPageLocked => set_page_locked). This also facilitates lockdeping of page lock. Signed-off-by: Nick Piggin Acked-by: KOSAKI Motohiro Acked-by: Peter Zijlstra Acked-by: Andrew Morton Acked-by: Benjamin Herrenschmidt Signed-off-by: Linus Torvalds --- include/linux/page-flags.h | 2 +- include/linux/pagemap.h | 67 ++++++++++++++++++++++++++++------------------ 2 files changed, 42 insertions(+), 27 deletions(-) (limited to 'include/linux') diff --git a/include/linux/page-flags.h b/include/linux/page-flags.h index 25aaccdb2f26..c74d3e875314 100644 --- a/include/linux/page-flags.h +++ b/include/linux/page-flags.h @@ -163,7 +163,7 @@ static inline int Page##uname(struct page *page) \ struct page; /* forward declaration */ -PAGEFLAG(Locked, locked) TESTSCFLAG(Locked, locked) +TESTPAGEFLAG(Locked, locked) PAGEFLAG(Error, error) PAGEFLAG(Referenced, referenced) TESTCLEARFLAG(Referenced, referenced) PAGEFLAG(Dirty, dirty) TESTSCFLAG(Dirty, dirty) __CLEARPAGEFLAG(Dirty, dirty) diff --git a/include/linux/pagemap.h b/include/linux/pagemap.h index 69ed3cb1197a..5da31c12101c 100644 --- a/include/linux/pagemap.h +++ b/include/linux/pagemap.h @@ -250,29 +250,6 @@ static inline struct page *read_mapping_page(struct address_space *mapping, return read_cache_page(mapping, index, filler, data); } -int add_to_page_cache_locked(struct page *page, struct address_space *mapping, - pgoff_t index, gfp_t gfp_mask); -int add_to_page_cache_lru(struct page *page, struct address_space *mapping, - pgoff_t index, gfp_t gfp_mask); -extern void remove_from_page_cache(struct page *page); -extern void __remove_from_page_cache(struct page *page); - -/* - * Like add_to_page_cache_locked, but used to add newly allocated pages: - * the page is new, so we can just run SetPageLocked() against it. - */ -static inline int add_to_page_cache(struct page *page, - struct address_space *mapping, pgoff_t offset, gfp_t gfp_mask) -{ - int error; - - SetPageLocked(page); - error = add_to_page_cache_locked(page, mapping, offset, gfp_mask); - if (unlikely(error)) - ClearPageLocked(page); - return error; -} - /* * Return byte-offset into filesystem object for page. */ @@ -294,13 +271,28 @@ extern int __lock_page_killable(struct page *page); extern void __lock_page_nosync(struct page *page); extern void unlock_page(struct page *page); +static inline void set_page_locked(struct page *page) +{ + set_bit(PG_locked, &page->flags); +} + +static inline void clear_page_locked(struct page *page) +{ + clear_bit(PG_locked, &page->flags); +} + +static inline int trylock_page(struct page *page) +{ + return !test_and_set_bit(PG_locked, &page->flags); +} + /* * lock_page may only be called if we have the page's inode pinned. */ static inline void lock_page(struct page *page) { might_sleep(); - if (TestSetPageLocked(page)) + if (!trylock_page(page)) __lock_page(page); } @@ -312,7 +304,7 @@ static inline void lock_page(struct page *page) static inline int lock_page_killable(struct page *page) { might_sleep(); - if (TestSetPageLocked(page)) + if (!trylock_page(page)) return __lock_page_killable(page); return 0; } @@ -324,7 +316,7 @@ static inline int lock_page_killable(struct page *page) static inline void lock_page_nosync(struct page *page) { might_sleep(); - if (TestSetPageLocked(page)) + if (!trylock_page(page)) __lock_page_nosync(page); } @@ -409,4 +401,27 @@ static inline int fault_in_pages_readable(const char __user *uaddr, int size) return ret; } +int add_to_page_cache_locked(struct page *page, struct address_space *mapping, + pgoff_t index, gfp_t gfp_mask); +int add_to_page_cache_lru(struct page *page, struct address_space *mapping, + pgoff_t index, gfp_t gfp_mask); +extern void remove_from_page_cache(struct page *page); +extern void __remove_from_page_cache(struct page *page); + +/* + * Like add_to_page_cache_locked, but used to add newly allocated pages: + * the page is new, so we can just run set_page_locked() against it. + */ +static inline int add_to_page_cache(struct page *page, + struct address_space *mapping, pgoff_t offset, gfp_t gfp_mask) +{ + int error; + + set_page_locked(page); + error = add_to_page_cache_locked(page, mapping, offset, gfp_mask); + if (unlikely(error)) + clear_page_locked(page); + return error; +} + #endif /* _LINUX_PAGEMAP_H */ -- cgit v1.2.3 :.z5۩IJV4PY:V *>$s:gDa1e/oz5;^0/=^ռp1EK-|gXa| {N0<]R:Xi5k/(.N&u?ljM|8(^WoSsh+rljNa4Z rGeJh):I#C şW/(QԿ%yPտd{usyɫwW}U},J 1ɏ;{; ,|iq+P7 cQ#"8%gM׊ݷ_M Y[M1}}PY; ҺRH ߀+S+/YSrpXc@2CO'HģiF : M6>kHn_4ْpoK_i.Yxwz^/;>->6bڃO?Wa7xu\&! DWxX! uUF9={H(*ӈ`8 T/缨hMtR̦ZTPg3tQd4؄!nU[|舑3 ޒBP @̜|﹣1aK+͡"〢`s6/=/f]Xq|?OTJɜ-Jd{Hk$g|fR)Dh.o";Xɖ<- [d[s_4v_C/F $z]pRl_<0$ akd"к쫋\4]sL$5~Bp'r4;Js B;,=Dq҄$ z.]['=ӍPހhS9Z; SڒIi\RieenFo#`ҨΎ YὼQUd/E$]e6; a_W~NPJ:8{n܉lh&Q}Z|0R`_$QoO[v yUsJR:ڹϭ=xdQ>(2}͏mU-%-*>ca7}9R-6RR(Y"kiZzRI.J IG /5z!f6'>nR2?KUogm>^TH$L3k~ttV|Pلt`W+Tk xj `4HuX₋>$uN[10AOjdkS椪^ӇKd/@#n$QViv`&U,V]-s;{%-f_MLj%R:u-39OwsbZrv#oRY+%#M) _ ,N65Ek1q޸DJf/iD" /'"kbRP=lHXq\BBo|d-ҝ'\ y*[kS~iaBjSX..oHE~hҥ6|<@8ms. 1Y]Хch̢>EFWTj{"H'Kyl;^z IMWٽEzNZr_8v ]25Sd0OL&x5)y -\MR:j$~^*AceL>o䳶y2A F( ?M='"K匸GzNe^f;74_yS̨ٛ-=x> P1m&}w hh^ z5SXyxD [{@t;o=<847)2SDwbzUq)K(9; F"OH~&+t:/JV4DF!8BDNh))sp1Pb~:h k*L,V%tA-JRJ3.<#.>e$ᄜTi~2@xYfY-QKk"b|щT_hTeeEwYώc?O{_H0ksb3idC"ł v毋?Oٟ2RQ$>ngf2 91^htݺ6# S-?b*x x앪SIB@&zk'v ;/@c2QCcJTx+3p`,UrUV V׃e:Bgm^nGGbT2h\ qaMN֪1Cy#Tp]f,;7چFl`@MWDG] ]z23?)t|OcߪD8L̆~b\3*vkE:ͰH"؝^ӅN JZXtoxnthYS`Y4_[I?^)$*WpKПXy;6Si V :+z$gpC傦Z x\'JФXQfdkh&؟%np Op?*) 6}3[BA %|5gIϯ_޼} bWN;.Apad- _O3[ #=J[Hʸ$L9i]($ G7N8mg_ҵB(}uұ=SkRUZ`S\w``"~b%ϱcc(MIU>V ogގ۶2iEVkxJ\rXs#˱ۼ;p_ttCdRȄBHKU1,K}Twxi@g}[eNehtR(0 8M}ͅ?#W\jmȵL!`x`H0؍pVFFZ}!R.Ӥq5LJd=݄E>̤dTk76S׺=,aA:9p񀘺 ݗFZVphMlox)i%"TftI&lǎzL=3]ni*{Q!] @Rh^OYEU\g "6TX<>cHDym"Y{n- Vj 3bm Cr0{DF[̟4*3tY0yКQB B ]x= G5pl]oa`kgKIۯOʮcZ\,(°`A 0&iHt-}`"#}܆8Vh&M[Ty;l>^BsBYʈTf4T66Goy(vmAjeKŃCp;p<'lb;^" cEq(~`Jby'7y(aY~ 7>C~ĜH 8*QZab#ɧ 1<nᚠbG$lj]%]#fWСTt12 }Ckz4qg] ,&Io VJXlZ"n͎Pf?Nd#,EC}עJ @8DGd-6d|{k &YKY~_l,]Pc]YU8[ k$&^KݡmTg7p=OBWo:{@$tt`g<0]GG+a( xJ#дMG6H }IJ,CzFcRdnt!aM٧xU]4멸kO75'IH\y~o:iV=7J )w|S;:v׉#Me%,50x9ne @X /߿|w7Q;\!&VlOF$Gs$L68w{ay܃gw2_Haڑ.V:w[tu-E (h#bNI8Z' f|N-g7OR6ke]e|p:G*쏝݈iKKT~vדoֈפؚ$uE׆?wFדD\CyŔ ɱPWc7Na|pnphs0{ ;'l 3":MzEu; r&U}$tK 8yrq(`/TKH5s 1SH# ԝZQ!U@5q@E^.c@u UxE@=^n7@d>Zפݖja)ֱ#otq㟥#;>3:pK۷ ]"KJç0%5 6z\Kޘ5}Dhu@ =eJsFqe͗`2LG E[܀G;tV޶/la2s]kD*Q`<(- QP/EM`E rz,$xݧi{!ş=Gd1$/=j#tc^RQS`BTIDzHBօ@1GDikkem(p;kLRq_H0>z 0t6Yjp+l=׼܋.݂"i=\z8OX_j>C+,Ѕ" ATIC)\$p_ V6dIkƯ#rQ8-{\pF02{Z Ipdu~FK܇62"%o9?lS5@DfVճT9 nn˧k}F;5Y&DpUn$46x΍_/뿺t/O[1O# 0U$S)Q)+o.K`XC󓕯t}&? @}O,#)b”[[ I]( 0941_Ae*bhAf,(|(}q}?5ܶxٿueI~EGi)`9]^;~CR ׏0W[ EVN``9DrCaѯK$Ƀ #'ԏ{Fi},/4Yfxi?w; ]oS, ُ p'Iu ?9Bo.^ˇx!ޛKaK(-']>S ᗱ,d`[൹:;x+͞4g*<ޑ>4wEj~* anAD/E M&v~Bmݏz߇_%~c8$I3g5ϣ>sM#SGP'1rfmԝC41#IZ鐂{uECxåͼ4c(g1wa G V&]Y>\5jyGY5K_$@q)[11P78Jɽu;Istng7A@6n̥ ޼!V@c7oE>,|<0`[{Lj~]t8o'㋻{oT[jx7:cg) H i$_N$40eO֢@›I0ipcJ]0.x8ٳ-|'V>=A3ߚQ`qx]C6!wb(>~[Tg|e滳{j}PcŊA4bu6K[n7<ų:5P&hcߔ޼ښɏjCJa|3Q/o )oJg:j`0UXQlKWI]z"t2"{e^ūNۚan4u{wc|r~Guf[>}\ySsqx\,sc& SDqWOE#@,2ySƁb`&cKn'ƔHכ&?V*OOOXM}Y*,+ƒ umGKjj@RKZNqL[KzHB&0w[4]LȀO&q]*gVH/Q'!AL{3 =tx s9ҐRMVҝ+8a2xИWƸRͣ#լ>8ڔ@Un6$ \$&o-}I3b+_x\fRݍf*A펧}Wj|{J %Y )qNÎ燥gIƓםF|4g[n2V! Gz=;Q3ٹOG]u1hhQ _*/i&&}C?ǡo\9[҇k㠀f![ixPcn釫./.oJ$IH4f((UI=Q#xq$<0f= t"$=}1~,3MFَQ->jݨ6݋ IF1= A Gc%ĻJD\2eȇ] z%3pM8uΨ⎷+۵*Ё- dډ0/0idr}L^CV' 後|r4FpTNNmIs599O:{Ѫ-:=,e׏i#sv/>ֲfy>)c{G[Vf|O?e"ZKD2=si~nS}&H$ϸٛf8<|W:? .J}kW;Ֆm#UkAM0a6Zh4hg48s+|a'K?@,t0AH%ʇd@4iZDK=-v%<c&j^ ? y cutyܑ.Y VƊ@nhlZcSFT5H\Ԩթ$3mk:C"E GjPUԴvC F%WlQWMZ0^:컽8SX#> IwZA:q/Ue0IG'0o+_wu c[4BTlv*|B8[0q@jŘ (~F9jk*ްBZXL  h "?-.\]tX*I- 3**b9ku"eQN Y+v̀duLӂE=ljs NF>RkM^4cH5ێ K)(΋*rw, ! Ep@!tlYUx7y4Jl*ٰ4+7*w,?whmxmnO~&tJjiWSt}#ڊE% 4Z 7;{.*73wNh%kGVR$vĦ硉sUouK~wߠU t'W/[}θ6shr.=Y`Xu/6b=rhbZIb%i8B.*7KҚڣ?>!y%Fxnxʟ#lK_OF~<ˆIl0 QMQ:DgtA>ҺHuT:lU2sDlextzFrF "Hx&=?dRt!M} evRJpOJ>ꓺ^IuDʄfUZ7CLH\&}yMّwc떺]a4Df}$yXuM:Jը2.0" mӣUͅ8zN\OH#nщ:I˖#(o 9QkN+gz2~ )b>LgF?Քez~qvyH`ڴW+ $3Ct >F6GIѬ(h^DE e2w`D+L{iMU~>sqO`J*B صh-4Arr-ݐLzAYn$Q@ߢ5>#SwB+qrN{)^[Ts6h`UUm{鵏1>d_D+1;X^LE*s%5ɬb]m|HI]l(6vp.GWqD6G6>,Y{\vюrΌvߠ]Eރ52{7A{ZkkVf0l;)M!ۤxڦd˄ ͜vĆt#LlUjB.-҃lC1\wY_x/afIZ/kw{/+_SP̶6FUrC;xLﺴYa]NYԹ3$|αjt: %^?1 mV1xO`peč?BZbhdF>2=@G+p2͂b̆[3y"slNu)2yV]$TzӒ%%UuL9u꒕s3]v 4i*,~ds[<A2ĎDPg.8 Vՠ-ˑL@%b=mU!{adgTnYuم;Eu-[dn ٠g=vGݕ|+e7ω/CDC-Yg_0 @6YjfrTL%ϳQ`qbwK>HBID(˛5IfH_49.U:*d{5w3jX 2Ȇ-`͎jTi*B2CO/,a%mMܙe/˝Gv}t{>۞B\Yyi{r"{:Q-98>?nkV:i̩NjlVմ=j9V"bR6T?t)xPEb2Z⡓L[CNɭ(p60 a{̮OѦlB(b.ڲ'\ga ӧ{M(^8"-]ҤJ2/SYӐFnU̳wOtmm7H#MzUwͫ&m_Ӏ^¤EBmGf~O:*EvLX|piLZSR|YZ jz~Ja1ävg*:qJCHuڪSӱjE@Hj8^!B3 /"ڍߵv1*W*2vOC=ɼej 2]6IC:b RQ(ucie1-  ,ZJ!-q(/m|2mxsD_Lud#HIܠCѺ]/ZҌ(%l-l Go!ܓ8x9`sS/v Wf솦3- MiN5v5Q3fT] _䝟 ̶SR U%*b2 SK^|֣B"Q2@OJZ! (+Z@L}h)'pR/vLl8I] x=w߈k0_ V"p-0T*g#zHZ9ur~s}1J|JƯL/LuVWd=]2\0QqΆ16N3hcJrԦdt Cvkt!Z-7{buo .dڻ8Eذxr2a7p,ȤIZ9eHcH(ЩG[9XS"Iȅ;Qvm3ZOvx"& v",X!K`M?v4=s!C.[4Aom*vD{JwOdeV$;IKuZS'6Jæ")JKSF,+p ϻdj^3s}'=o3΅Gc!u{]' w~uwC~&wk,=4&pE.y+ }K٫϶m!n'*Gj7V҆nW`G Zp6j4QRc> ժ1Y={&=&%-h) l Odx /rVD'-[Y{6I[l/l(~F7Zd;?& |;26U4]lLB@vakI PYdMCa t}Zv؉T^ԪdŁ .Z8 xn說٨?NI}ˍrZاAWˋ+xÄm}La)Jv=4Ј+fW?0JE Ǽ_R6w{^KsӈlwC轁;J1h!"my0͔0E! \j^tpdk!^k(ޑ nV~lh<%>I۱hO9K{D;u b<OˏydLGӖZ8ԕX02QIM'`I{թΨhoL:d8h7NHUR6ΨASp9Pl<^#z$Byt5$ YxEӊ%;ZzBw^^b$kiHr \O-26$BS>H\,; 䥹 ,G?ЏOejڐzޛ j ךR:&#Zi h8?T(ז^EA3I[x\irv̱=Nm;riq%X"59]pN]`m 윾sכrUqLb3>?ՑXtLOdA\zCWf9M s;ḥ]GtdX'I\&OIJu`'#j֨;P7U7݃^WsRZΒJiR#apX=tPr7\Q6մ'2O}]e#LWT5B&O.?k],6(mlhF'_GYhMm| ԄHl9ޝwl%E $0RDjd|[22O$ hц,?2DrMTF: lD'#[eR]y̛gC\ {$kTӵh Eյҟm`('Տwg#iVQg? л,4=; S0?9Os B0{-S,WP!bL!I}8Nު\gR zh<ջ @Z3>;\ߦ6_Ğb:xP5AD)(DӾ_qlKvi!ifG+nQsɵ͕<=ƣ"*B!*86^A.dXtG9QvIrýލ+|~Q;FFo;\XNkaʌvuZ@۫賣>GgFʶ:› C(9|+Va_OeqeCgFzI=jjO<}6:F7 <5$ѽY38{[h ~h8 01kfgloC2#qIh3~qcOKRw&]U3A ;T^t(nd6I.1o*@!$xaix./^ 㘬aHKV9I/-Q/ iG"Ib3ƏSOA<Qەsuw_@Ga>]=$gk'zd<Լ? Sq!*nhU>< #QP*V*i(Tg٪T}\LPc4Fn۫wT3ڴNtSVZj\Uk0l(p dܚbg [.aZF >'zySSpͣPoz7Psj$ېHcmO|x9WJ55X\b6ZQ͂m,lڿTixgj̲POu6LWZ_ķMь`XܐUI՟Jz|~s-L(3wV:L](<?Y 7{`t^ RGb{x@ GzƏU9B2e VDylp%Hݨ9BW $.9zKcRe5ջf̐Ofb{22F.(Y<DT5Xatg, *t-cTD4+O#k-ִjܽ&0 If,+"\f$)$#-+TnږM^U̓* _CQ{]d_Pk@r&Yp9zh1fH/I s_W~0wH$5uaȂvv}`˗#nN.')r*MylzYӆFf4 > ӛ 9&9!R|cg3|cE1S Tݱ|'fv>F5WT=H6M5դڴn7դ]5E J >E,QI9B:tYș59-H%EߴwWh`JQRh) uvwVks,QVֆZuuExs%6-vBuN)ӎxYʒWSRSmhb󹕍z` XU4 QjK9sajUy&ť|Hb.XBQf|z'i[V?ĞKO,ԸiYޖ?Z,&Zly ',eOjE[> D9S>iv+CM£Iܧǘ&o[:\%z'$?pL'pp87O IR&~{3LD\ ޚX%P~µ5: y5#NjBrR j9v׶dް-]!wYL&&)0>~9_I3+qt=Г7E1_ ,٥\es2iJZݐ/CN:e-{>ͫ-%U3&kYmT?]*k5{a`σe!rD ѡ 3ɌΥf9,I `P ?$df[y) ]~/!CuKO?;[CiA_n~Y"hgX=%U) g";h>Jxjp)c.!:2y~;CZfhp=k^cE|f`̣,2z1?~ I]XxI6sUmt/~(' ~~}HSc,i$Q~OKAŃ&Kph6> S)0-c| .OVֽ[(June{kGh;嶢 G c'O6GaߗC9*|FZg'^ˎYJahZ69Z\!sW&VKj)caFf8XLW4$g0cvTo>gQ?7iЀߴM<ܮtRd;sJ(~kN~IW #PD*ī8(2 9 pam1Ѱ }` #?t(Eb^+MK:wDr^EFT0g xgnƤA.NSQ=JȰ +Z}+)6؏ip皋SئEUEeEjZ6hꕞ\A6C& 2Ƶzv{Loq5Jreal|4Ž|+uER?Z#b7>/ 5$0Jdqo˚GEvpq=)FР{ӥ/; vL k :P9׬v aA/%[dAxiVd:{5Lo@u؞y>9ɱdI5E';t`+ԛv!?_=ԧޅ̧Y9dTMEEVpFίf-1s5)|4$QOeI ~> 5:g0|XeBrZȒ.\FL)݆w6;?Q^Na$צJ}Ww9A3:1;Mi_2p4OO('0j"oS6X/,-V2>Z; &Ey/F]"hȤ ^E:jG}@aIw?/i0A1=6R&]8{<0EfQCyk]T}=Y~bbk@+ ^=R_6:^"wi~-ׂ²P3Áw 𖚬G[ږM YVȜt-N[8[_M_+>_m&SCXvhOCAV "fubܕZ+%}&HIL.R n5 de=gE_<-m4|AwS8.7 3"y׹WIS-g.\#ޡ6DP+pcʃ|J=ה$ p҄\m7/jMN+[svkʸD{BKW+~@YFϪp)#̪%4/TIjcIMxg{@K25]8E0U9l}b<H9G4d&M4MؖM;Z{ZA0d0;`꾤H @݀Ѯ@#OjJ0Wu!;Y60xhzYru][)->$LU"3,W"(}A<3]$VՂ 2KQĖkBOǃ}/ 2$hCd5pdH:*#s@O*G͠$nWѺk{ȧZn2Ҫg&ݷkɡA,L}V mֱ J.'r^)#1Ϥ -5`FCu6UwckDmnIІ00zYx>S6!D%nkxb4D-;I?DVފީr*%O4l8EG}P!F䲺Ha?xJeDPpLM;Xh~lP+ Ck<%!WDJ.?L5(OW΂qlr9bv儯ޔթp# :[z'b yFiG}FZ0L4 G?P iRQ<=axbƑEFKZAWiաoL8aٱczm0RhPg8𛣽s+&!>)azMuQ \PZ|->6!UMc-҈aɿo #cD/Pe}HSd^*r+}DxWqmJ3\{LqPi>r@}cHȀ+' zΤEEĕ@]+%ZHjńyf5V;ݲii{͓ߩ%Iyu./#KCelO!u$p3z`C4( N%[N>uz::D Vqv-)v1Aϣ [d:+vaԤ!GV.B#76pM%uq 8?2?!"TW+NG{9ɴi$NUtAx&-P? EouMKԖ#, pCTÊX}zvܬ*!U=?0Hu[?r4 J4^SbNII6gqR#$5o dlbz(d%|,ɞoh:%/WsCo uuw{ 1 h6Z&{s&m@s3M"\,y3,Od^b4ރsw()sk0;ltUrR\]ӿiu+|;[K<^b ^UMӭOZз20 yҘ 蝉_ BxAzߴ,Jn0Աn>f}HK`B9OG9fa;3xqyC@_?MMM}0CZ4j_DE.q#^z[m"$:jz9#E$Z6SvF~!h˭TFT7s,'+ufajU |)DJBi j|l~0Y0w_Kc{<RKaD׍/)=a"N_sCbej&tiѲS;\"ʃ{muҶms?4 'DhkfAv72S:V{2ÂwurB4'RA:\A6 &5Ncd;:rؤ%T zm[UkTpJ>nεg 3''s:V^jAOsԑ8r^& wA\ jwɠ1jkVMk4Z6uPȒ UdT:*3N9ZhO/Au/Az }g󑿫tSb|>}l\ICIJ=%QVj6cDgce̍"<3!{$&t,r@}ro,[W`iG66u䗅|-xܑr0ᯏ:ʬlJ[, ڎXžR HIg8Xa܈GS\LZֺ$_pyc10$[K;MܸΣi'?f9 ߲6ߗPR(.g:*L889 TPcbzMcdUc#! ~BI}Bk[ Ma\<["38f[ɥS[ꊺZCwߤP%gZUHcZ#?}33 Z_{ڧ;OkBŒ޺8U_.Q*Ik>V{r:RѧI]7Hpp5[Qt.1ԫ^ʧs# ?yϼOycp~m@$?# nYӈRĭ} /D6Q+2"REt \U2sxgBL]dyf{g` cՇ<]*籥M s`%Sz4װp}禣}(zXG5ھ. 4_t^Jy;nÌ&U |>"5띪MrPA;7w;]{E6\9saɡ=KKYRu5 X\!R[}\1i^NJ6_j4Id'yf F(~KAӯM֞OL_Hv(9́%5.3s#%"]s;j,X*PR˖{~^-F)+@4ڪnc{%`N oQGڔ4loFh|{UjHۨ':$ ;Ehsdlwi9Hgcl]^n ޵bjn$iNiWIH##FތaD};ړ`oDXk )6̲8PW[k/AgmIޟ&鄚B.>7[ e+Jw @t1028jZ ol OU`'z⃫$a;sLgewd-A 'A2iIH6$צJcEIzYd=lX矓Ef!!`]&9<75@a.ì*Y)2 ՚ӎX.R scNy\GHR$$AO s+)*$AlmS7S t:ieY)SEPD&kIv7oxoǠ .=aekvV.W Ur(gQnGݕ }V`FnL"%]xCNh&"܉ݾT`2FMu[G8+;2׿Epsګ?RGDdwΎ.nC+l_U9)ݶ juL9o_nezƌ2+h F\6)+u ]OxU]h5;F< ts [q[*kR?xA-$lj\ߠnLi%430Uv9_iqDnH7p p]W6s4nL`$UUn'Iв`Ǔ-d#6(q*=?:-s W4Ю[𖢲S(yUp%:}5!? &GTܛǵk֠Jjs nZ-Rt[RAsjTiW Sx9Kzg]krKGĨFGxι)s.û\~}r|J3 DA{s!R^O?c %Hu6g>%127lWVB`X.Ƶ&֬NܮWJPV"#(a3t1R9gkOJ9GTsh[b|D#[vx`\N/ h'9U90/C֒a%҉6eX.̏'?PKSOw ɫK& `TZI(}8.0CܙIʄrWUtdgǓ-oa.?ZԸ[۳CJr(i'Ve%C( (>q:,4|*^z=Té $Hf1#Do6;O}$b'$Y./`K j-9 d|ۖtqWm QW^Aò|3I GwC%olLp{6&lcU ͝IB%#1"G/p'y?1>*eePCscղlYd95xlt,g2 7ߨ:(~`_,VAW]ՙ( d<׹( xXs| N]\\-)!p%RiFv(Ir .J୨i#aF`f Ƹ\k_aMv6 G $?"sBWY%]&̵)e]nBԌ'N¦cR@9uNlqflGoK,)˪qD({9=.1}I}[|3> -_L|_g.,$ῐfGû}/͊,6w.4 nGiQrq{d_|9K*e֮T^&s!4HKj<~ }csjվ=@i 3bC4` aCUo贉ik7nRoX4y Ieg{CenDҸ,Bv!k"jr6=zzMDac 9!X憣9HqBv^ 0ןseZl6$mC (̒ ̏Yd17tUf9}^(:*E0?tIj;4D7J($7ߵU7>1-i6AQuNqb# ܒyR '4Թ=&V٭V{UpvƨZ k!1R4PQ / rQ{Ꜻ/qOKMINA>nK"SoϜf٘FwB]vHP)A'A*Yox:U2|W5B=4,׈Jz^f2AbNF{U}&#])i(U &cVWjTN;N~=S?,1ەdib(3JQ\hK.g9w '& A ׫S1t |ʪi՚fVdY{)KG $>*bFiGNm=6f,gXN<>d$c Wi)Cm[>rvWKBv 쬴~Qp倻?@9R48mư:m;XFjm5JuZc5d 7MDEfKZpǂK.`My2Ƒ [pJ$iR-H]l}a}c4I2LVƤn[>>$IE./l>q=3~Х<9Wz |+P46UFAr!ӠkmK0%?$+4-]J+Nu<u& Ytfo3R &["nv괄"6@ 5 m ŏm]TKѫUI/5ܒyfE9<)8T-?H` 1>V B؏L IR:Fnf r9:.J%v>8\:6QФLБ /ܚ?DkZ2u2]ňۣMu~hs;f [ Z"N??S r|PU_]?H8pIg[6kIT 7n# O6=Xh)򠉄lwZc^"bqPdjZdsfEFYOa{Pj4jSCV9[/k cKal^^VQY#m=[(:O65t{K+9m?y94Yy CSvjWk#c] ?@ {GJfF$fӌi#Jr$T_aIC]}0lt;㆚ISO{լi4RIc )IxK )ݙfOhp^$^dB8*L||G3Oe$lՄy=hGosE)ުc1LF\܀ ſ`ugC|M5vUm9bEݓ 9|tF0ۧzGX R}RJFVNM,O%2&QT6_$OYT8ZV!>`9R #@ BL# 3+– Ӫj=oӱ3IG [gi%OO4ـp1:!cbz5-6&ej|"aBխ̋H{X\(/=iPl^Gx2EBa8;s oqo\k'loAF4§+^,ʙKP1s?d5(B]ڥIYIU?҂k8NHLS[26I79Ȍp!k, Т)`γ_EqyIs$p7NT'΢x߾E+]8C!Z/nȈYU2j\Sd^L ظ;!՘44aJ.u5{zկzK}Z}u W$Ȟc78+߸?Ъ5R]u?;.^i/kJEh!ӢωE gn rZD# y;4!be MQ;q{zw_|6ME"w6"d`ݼInի>眻܋6ڲqRt-^JW#_G?'-of>$=~ymIGNGr/{@($׽Nh#x/}w{`A?Z-B"@h/>G=6[Q&ˌWPՕp\&ת5}y.8>SzdC_ؓFWnumihN5$r.R80RӀ‡Ks-c`xmʸֺ:(x,.* heClŖwI 'I*g#{*$3&*eq4%#5aڬVH_8ʏJQ#U€ rHV(%Y- MԋX SD" N]mV])PMHߥV"V6粏sҤɜR\^AUpUK' <#uٸUa]¾i~쐮f Almcc{F:B/~I_i@un0{=T:Co_CI-IU5"%\V/)77#L-vad&/=iv;n}5kI))Cf$.R(!M13)oњ䤠e9Q#ǘ2C08i!.?ᓒdFZu񢒜;"NFC͵rs5Y8pcL%Gt*\q`Rh?}O( yRJQ]ίf'&yM ȡm҆1ԂW-h:'$N4!=x(/H5G[+2x1 Npj:C煋TOr |+!B=ҫu&`H^99 XӉK_:EӸ+5'p Zr-T"U;:wb? -Cr_hYLo;gezi{7Jgͪ lcSIi_.i᯵j6FoB=f5gq)ܒVhVnC[B~Kz9_}7n&5ﯷ#V,<~!R2%%]ѓ u[UIԃ)<>58X8P.|f==2We'GBPRҒ4o-eIzKdďK֙Rhp>ВmF3&&Q9CT^»ojgAPk 礛t"K6ofZ)D*;Aok\eu,(n ƾ+Y"FÖSF7hF&zT3$Wv:HunѼ_跸Cu @C^JBOz@D^C/\IjLD1hрSNc"yx]HcYphb/Dn"v Q<3 FI˹ ץ]݇(|;Kv1-l@ۊdro1JG&J jPhNUoqd:]sa FI?iAe?'aj]VdIJc[jV(HK[|$nSs } K*c>I?]z4˃|vz^]}7{0te{hrݖzDIo`qO>/!30锞m1jVZ:+#GtcC dt1F7 ml쫼DY(~*<5`|yq L$;YpQ#1O>"] eIcHFޤag@xz}~hom[Yw@Ni5i  ~UI?vIK WK_8:/x HĈWRRJһ񝄗A`r?WXpG r4 [tnz'G{A_@ U{_ !G=ZPOߐ^qmd ax4kt8$K'Bj׃`KO^ mq~KW<7sz zRj+7=W蛢%^`fآ% >|"R tJ۫s[=+*z@n L#h$ 4(ךa2J`:K2aZI & $2Y h8 6A)Ϛustqy𞕦y̹Uk##EVX&n k;p8ѷ³,2$]xX‰NR8 E$9M!h&0BH!k}4^0ޫKXlnVv"1/iJPN[쾟;Tb{8[k}W_hG@d5րrB7N|ˣq+jjvW/%UiR IѝI)<wPж$=xq͝C#4?[h9qL~$v\.fo z6My1ک:*BF.*Tvv$1"NeLj=(1ߪqjԋseo;[k97B R9iFB=$#C#I4|ō麈òJ(()#zb [li{885-vRmr]C\ Ő?̦u1xݘ$*2p@}sQf,`P_;O$˿ l[Ղ". rSqfK;ۻ%(cQ'=]/z!I[y~MWZt*t7e /KypktU'n4RdcxaG倖gÍ&0iJv%@'gg>vԕ!zsZޛhsHG?s*YyBi'1}4bay䴊Gְ^'VkU٩qdIU"I?o6j PpA]v_ h,/42-ne(:W+1Q&i6S]Dm%] ?OJN/ .)ёdqbiDrK֤jj)UZAUr7˅JI+S -w_~}2K g%cMB[546-^,tmd9HeO㍺ZU81v@xS2\Mx,7z9U/K3OY>~%b~e?zV;NHp0 Nݏ' ۫IAG&MvͩLUFv!i8Cq"@|\Ko U'~*AaK}kV?X^AU)`L:G"+fj9˴T@].eV6% sЧ0 5|>D2i&i'$X2 ᥊CHuVY>,0GWZ$X7RoJ0'r0^y9@%se/ hK]YW\.+6;׬/&@X†֥LĽ}{ #Cq0S_YS)0s+3e/K5LúZR %Oh>#,?{uS_׭j0L#Du:lVE\ml\iiA @g&k2a~ pmA[gHMy@Dv7 u;aRKo(DnU ݨȬ󟚭 5 $Gϓ4=EGbD:6uK9CW @$UNC+vFzB%ݝX]jkwuyFe,'j:-j1ؓrsI@R$DZ\c7Յδ֭~MLu}[Y{j>VjT{,nTcB8hP8PNXY]T3{Dk.N9W$ҒUh<+I5+͗&R`s?YR]VC$-mb+yF3$&Mp(93z}9ӣᮿru <gINïjnV"H;& D W@mSDncK$czv0clG_ȓ (U!nHU1s $:9͝/Z?ܻKۮW}$xPT2Q$܏_H=A-'0I*MVz zk~kk?} 3Yh4;7Dّ}(6)`ߧG ikd@'4ҾkքVΘt̂~w8Qԣ͑Ȃ赛d r6*?Q/z1SΖY.d b&YE;%`I lTܱ8X̲#46gq2 ,{H7SS; 0ߊ]ȅ<uIr-tD & &@:QSa:?'h#FZ};邹=΍3>Үh(D}K?׺4sGny$6~m;x}<2`O {>:~z:y42b`}PnUI+6Ž]lk;qyA*Zb}bժW@OEۚ(ܫ6Iu>H^M%a%+$MI7vtHqis:Q?Vkj"~Nè#ښvc@ ۃjpԛ |fE9V'Ѫ־ ;1lA-HLI]s[)~.W58hB0t$h;a{ҝP40h*[m@$HLh+ZC:@Srr]Mi秴9U? %(q GP֭$X 9ƞ]xD~QkZmza1%3:n9W8!KZGL t1CJ>3ze<\&^/"R7)~@l[,h#˳SbD.uՙKBtxQhliD~o늴幪鹞9a6ʼVLQlalBgCx}"©m'NgLgu%!?ФFB ̺La0mZLaVK } R8`$Jfn$+F ?  ֮]'cY86ϹuN ـ:Ya#LvYeǀpɨpVemY46Ɵlܔ꠷?%iq-Ppſ$g =QgH|DZe0}`l[{넂|MfM[{I: ߌ{z+IKC2u}./! IKi avjlp+c'Ǒ0'S$8btn9bڻ!Z%YvM;8Ix侓~4 L c :1c?ʁ1,'RNIbґL0HWEn{5lb2xn1ʻ!"Z>\ӵ_eTIYm„,.jH3DZf*%jW|!EX^]OM%q֔tVO.t‰ 9C'~.OL0I!{?Hzܤ? 2'̭IFIO@.䧄RjZ+##J-OopjҴG\Y N4l$e4h%_zf%wY"u*v!?& ^Zxi]/NmIg\'exHjcpCEaL=j4J,436 w0w^1$;vٷZ2sko|I+fl,+EH5wh:l=+nKs4|r)y|EЕ; 鴭RzN絅ؖŌ)|5/ۙt4Df$"Z;R,b'} V=;S^4ov2.!`)wnhyRr%3mcJXꐬ(4fGtT(sn2%CYǫj&‹b_JγqG4.%oSobzsC/Q%](3.WL'wSy`L\N ҁ"[RhCW$"#!'2|hc4r>N @4J&HɖGbq)og¿:~)_oZVXZoziLufgfW]_C oyuuwC*N٘nf|P/%[g,edM+,at ZVGkp⬜=\; kdy2IliW8 P|v$s&&fK\R/f@pGOu|R䵥KChĎox$WΓnڅk6Q \Mr衛容(!"f6zNqBϐ/vP(E) H39(RSWʳnXXC9kC˜Ȅ.ڴ9y FX r4rp2.\qKFKdDIUlUQQ@Hrs٫yͭ܅q߳}+_B!)gUf>Q}dNCQ;Rl(}yt;*v_k6,!`qBWIS5np#D5}>KxMy5 .ju ՘LǪ3y2%3zoV7ulOUmH[8C̷ۙ{KƁs!OJ};6 LnJh Sr~}+8xOwW96KjzSO&Qj Ԁ RӖ,mY֧Ev{X_;FquJQ3w'עO 0P$t }X_^S3]7I-$̏%5r>vk;<4 b:桾^f@-q(\?Q{~V~#P0,tfߖfvNY7kAzrꛮQ/ gÖڕ|[&\j jW*AسUIB úpBm s\|wW" E+;ZDG|;[WL6il:h||q{EPJ/\"O b%@zDƬAuy:}koAЁ^n6~3-zvv-, $B; q8yTWϠdV!!*R`[mPGapkD*>8:@Cj'X\z8LVH.L,`VNc#3"H4t,n:ar{=Tz⪿,cN~ }HT$cҰlW%qf3 C%l:] p8\n>F۰ZvKZZn.$7ɼ68M9N_:NP!uraٛ ^pyɯ$qeQ4Q^tNѶ4Ɍ^ʲV̐yʰts.u  ##3Ep1THTt%c4B:jOd$^Y/fNOA^"#lo D҆.F}٨}>X{Q~KmBۚ=rFHl b0򠫐)kRqXaD&1,HJdHa '`4(Eq<i.qR<cVz0\W^gZAq.0R2 h+gfǤ|>7ٿu kJkq}܂9zW5IlZ))u@uI5!:h*!F k|Fb ̽z(v;Tg+4%ϋ?:"7 j=t;gMOsv~1w Tmm,z#Z]v"z8<53v:7n4d!CfꝻ8 s/hbٞW:?")dv>t[c+ j(#4Ä 5cuVM!1j4+MOWF)3MLu?%.8R&5ă{[C~\IT3w#Ka@Ku;FA $ kw)thokr^22}MNʃݪ$sKģ^#D`c,,Ge3+L< a-}J(!%t4:$a+ D$G:uZYL(z=o: pۓӂdtG558=kg]ZA'ANvKz;aa%}i\ ^%|'q*?y4 ,ĘI||@]ޙ)fL TCPWACkлJ㩭ZRh58-X3'@{Ö_kƠ%.F.TT9}}Nmk(_eZ {{ hh ZN$!`PWnL) a5rZ0+XQ(RG? e<^uHjsjY*YZQngjWHM r}h:l3)JQ{p|6sCEd<k͎ mUT;$e;R?5Y{q) &Id-19 M61ps2`xmFA!)՚u,RhlT-%2}J=g[:x89`;g4s;$oL /{lሲȔ9{wu$1/FhpKi`DCQLc%žruv)ӥ,MgWى1}.wygΡK\@`Cs63dAnZ-B>mvϟՉX?im^hԣ9r4cT5 kpDFC #h@d>oPI`Ǟ7(K:rIdL㲸// p4;پW}vief|l%$QE)9NU#ŋK682*0´}axHsQ/^ZWay r:C~αK۴_^ޞ^"˳w'Z*d|{S8 ԭDkZ8C{Kߑ->z_~wZ \l/1e۪ %~nZ*8̩+̘vrgaC#Vkic#}̜ #Ϟ jUP29W[PG W;tk8, qx" /F:JiRDx 6RS". IcR%EV)qnz1fG lHJMW&j'<КhCrb{$)R++j"+_儊,L9L80\qRc j|+OC#om& }u~ DF-ϒ 蚱V$mz-ISES9_B.wRYK' ~$P5P8C˼Aϣz?cO :"="M׽Q)&wZKGU<6G/@9̶99%{j*wބ c/$i"{G)Y/dN 62,=l>)䛴V&E~{/jT?R.apAv|RQVTؖ¶[ƞ}|[+_ru5\].rZU/ኤ㋐.4?T/ӹfA'\+]S8ej)]\U#TIIYzM|1>ZA pSr>i,}WV_ኛN~Фj}i^EAY [l=& #s]ZrG0}s_(C*zhu;d\Za֦VrJ3uwX}lyE " \{d031P6`Dev-[f tUQ[m!L5ڣՙP^ LIݣ.^Q,bY) UC6wIjGFAy~bݢ 5?"bGYR{QF'Ri(5qvvjUR_Ka.3' sYk(rt^-`Mgd@nrYt=}A5ר> fܨLef~oGnX/huwW?BMtpoquB:WwhqJ1*_9qq9d@h89A喾.C-}`$xf-Kr09em0)shki]dyc&;0-6P0m6ɼJPm|wGC5弌(J.?^EDK]r\jf w(}؏L̕OS+=pa6-4+6Nq^HFf>O;,`1ZoYMcK)~$۴Fas4&#u2$/C^d'.PKaD}h5Yy=N쾰ۇS&>?䆉sL\vG)%z{\9H T漻ik8Aĩ*uEk~hktYkDn쇺%GE#0m) idKZ)\ <`6IυCɐrv}ӥ(sxK햓c"4GX؏"`A62͗)Ga;(eQB‹ p+&h3ZbKFB5Z7fSQlQ"yup X%uH4*yܗ ~!(Gӵu:>kPfzX5Hm H݂a 4Buq]gi1ihXFY ~n~ ,D"R iH*~VFހS$~:HSɴV6&-5Fڇ ߐ1LdߎYvpz.iN*vQA_3FNt= $) }RGOU2Mq JU ޙP4MckʜQkD;q'$3xo{DP&xVnEٚĂ0y7]&JW0\gs9A[nezW;O'5~YS[ժ`JEw?_CwZK Q[Umr\s JJH:ժi?2?tۨWDmid Ss\n!%EB JJLf.|ZR۝#K>Iw!'՞F%G+=kkyoU ZAJRJ۔:8m9R+{4"RTzh *Ig,$fu Va(! Aff8@ݶ*0IKkoȻ펐';J̆j;M5q E i+}+r%Uoۯ}I_DF@$[`m| mK9ߧϒhmr5>{<4)b٫Uim.aK.ĜQ~ Z\xe?7`L9ǷBXGЙJR|لevt-P큦K|*gw_ f`%+?t5ЁWkغ&#`GxA/WWfT^$Cڲ.ɞ&bܞrj6Խ* |TM u}(׺jmeC7汇)(BIcN6M^H5$4wH"9ȇ_"ep4҇Ee]] $8Ӓk~M^M&9#}tomĻe>co`%5D7ieO+#r>\3,W^5Wð9zUѠa Az|cj4 -mD%DufnZd_՞J^.n/'=dy+C7HtW> }$n% Gf pqga#:BμBPx~{"3H:B6mf OIAZ'>: ;t8D ΑK%hFN+Nl1(q5H)=s8 RJ+2}NuA1kTg%RЪYӌY4@tۚ{/)Uj{kA1-`n\t1u\ VĹ!u.0AĦӕF?_9ȂtԦ)hn5܅)|4p_/J-xnxn{c&ê2MdVOG)1*lk7#l}J`nl 94& gd" ,4^|/Um^kw\z[Ԉs`s5mQƁRHF,2-V##?*{6'ҍIA L-VwXbMjIF6_lwTu2OP8Ee!Lk_>$T9b=sy8T0!(6 $wVbԭ/"B>N@%V#d(?պ/#.<",6 {u2OH}amoU ",wĘ &xE$sJ>/GЖw\e~i0m)I/[$*er"ܢ/ݕK9 -ݡ$1a=5CkEr;yjvzϰLJoPX[kOP/UVɈ<\۱<+YzT[mt:b@*/&t`ҢU ncK(wʇ(9.D3P\:o}_k8&? J{@|$q.<6v} MN_H8G#UT-DZ6;P)bvxq}oS}|@w֧ 0͆bHֱ4٩5#x1VvE{~;KUw#._JiC}dLD?$18AyJ"rRFM>v w`ZIGfvvֹy 3̨&V5jp`HKO׆ ej="U: ` D4*|yΟJ>e~E2<.fWj^`'1?,y '}RV- b)zU<]TG^ uAm>5@!$*iTdEr~f4L(M=zBgfp&Sr1_W@(1jB`r=d.Uڷ o1>`m|Q@{k3‘)Av,?p- W2٭61m&1&"tk$ߚRzkp g(Ž>wesRe6UF{YsT vt8rϟ O˥G322> .G†RSӵ.{D ڣ]WpMxQeBEK.Ai5APkUcgaƨ&lD[uSY:%ފČm#fc񘾛f$$)/(a،z`WƾƵϟtn.`T7XqM\RTEssnv:s$IoInO`-KS=0-ZJj5ʏ m]sKa3W'j%ٚqci5:-O-+>yp>LG%w2fx'KyzD|-Ic>bҬO 7 nC)-V ZzPL75V$!u.'n03V_QIc%Gგאz2lR~ `aX ~bbc9ѬO \o1`a]®ϿY0 c>(!/N= Z=ٗkAI% O#[jwBw!S zFBQO>s4p ?ZpρI') I|c yƵm3N9e|Utz"H M;zRs Ѡ Ə\}Z#ed mԇHuur@ ?=RbJyB챍|K:K ɼ-%W."hsSM^[?Kh's5UT2tlIa_u}޾ WHg)sԴ (X8yo%DD@ƃy J+hڏE"=P/{YfI|8$H'y]~#Qm "}|dpXwMN觩yW̸ҨNtC۽Z]udvźѫxR68CtZ{1d{آs{o| {r xy&]G]{!]vIsMpnpt͟fzt{[Zz5Q/'\zFħ&g|MN.h'yRHO[8]vZBeZ| YRkza$oAB^lXQo⧧:`9Y.Cǯ ?t<' |+ٖuKlk phM-'[βRH*~k Ws~p# Dio{0$y-R. WKlB2h%^0(Ϟ}"`R}C4q(e=:P]87X=K͔ %$:SV"%kf`CeE&ꚯ?:pD`oY5GYcI h@4[Bf{wRozpݑ-Dyv),Xy=)'3!!ay|J<4q źBh s+ՓK% 0rTN~trq-N*&P1r O=(4lwh-4ECRq'fmPPB8d- W˥tl HLN]Mlװ1$V<"`یrWO3$CƉX E@!mLcZaix\NFc.xDp)I"kn(|ϳAFStE@Ne%%Smu&5»I. |?Pݔdwυ3NG?> 2w<:|A֮Qjn@ݝ6iOP01@]$Z5)II[º\*)֪\> L-$ΒKj5wu, h"d@|N'X۶Y}QΊ\[OuHPP<]O9w6d*Tw,%)K凜Uz$fvp$)DΆ}hJ7 c+",e^ޔ7(B2\-ΣD4&p~'?h֋ ,Xв>y9/We_B*2Bx\J,"%5Vw` 0/nDIE8#i)d}>&&$k\o4HكrtjPyo?C'w^pVzJmN`ކD\B: i@Z[Nס('Vѷ&=3Xy]{w_@Z=g9/S%i{OMEǥ?azZkӉI5VD:ϏVXZ_9;PϜ=Lo]j}5n-;&dl%hQ7a>DX}7yKwBohXH1C$-Eq?Vv I(fk`˃bJЇ'REa7-3An햪$iiHFG=:c˥j]k(WV(ܥ~>P]ɣROj'% >8J B&ih9R[W=}j?8k^km^_umz \_dJg2J0K_BZZR]z(S ^ۖeÎO,?;]~R7 =0X88w{x\k*cT53{{P_U$hN#q(>q=!e6' r /B_]fj 'OK?tϼoYn2  2e\PLg;cbn7˿??M-6b՜=Pi]k::-6Zviݞ7;D'/%7$)J@ovwZ-:l|X% `.uZ{?PKw; />kZbw]kVwۗi%3"ke/Ic` >zB:q"Mi0m:E\`Ha>9"Yo +/$PX˿aÍKX.l -*}Ԍg|M8xsOV*`e{F@}q':MvI?; %ӗ"{yP @n ][ڮDpvVs ߼Qڕ7d<}DHR7-㥖\^NGBС$=88f`*xXr:P|Ge\T-fEG/31FЄ{ݙ  -?x\gp3MA+SQb({GSl7*_.D`('w|:k\;wwWJg%{V69E̟w^o]xO.}6\+Z]CGa-Sجu$u$,˭V8@Fk 3 ?!TUJ5֞߱d5,O?+D%4e;Ԍ%G@|}zs%}ΫJD.F'\ǀ^fXӋP*{XOi]@MD*Ay…\)ȏH˭*śI#- N'eDZ^䍸~dw- *7,+`?7$V[p9V@WBMBZ'L)6y}- q׈~!u9ma_YW*skv<Rʓ''˯t{e2'J$g#N%Ozeѕ|ϫOO:N׭ş:W[ֿ >7NzRuPuMc%}k˼L}7]o)ˠ\N~HW2رpT.M[nf&nq Q4-$l)p+q!R87# pbjO2.=S~_R/m=}Z}o$%30A(X#ae M>XtטZ~)b#Q?ıEfMhyH}ЇUqXv_9~{kjxכ[u+u+ߪ6B  v 5`TN&(w M@4L<Ǽےwsv)Ѐ4&E#cwăCvW$j|z\W\`oSoFr)^X@}i?۳s,Ye=C% LWc31âCzZwi/ ΟN釵*Nt؁BPɔKl_K^ m dʿ$buL?%g }I}K]Ha¸Mn0yIYݙkO<*N>_} ׉=K8.Og?qHZ_qe󟿵OϞo'I޿d "f !M= Uտ~SR eTeԜ]+"22%BUh.ʌ0ǁfT`H}W͛:^=~\u534`RxgDVI~7o0kBg_}H>߫ݜK{ZT*~wnĨ:uTn]hV4Oeo] *  n ;~gSB{J;m޼ArZ# 6t9-@iCGd* ǂ.4jEC05~6/ xY+a/-a|yiJR,&Wm=gNa3DHpg6_ z^T3uԄc8\* C$Ve#zY+j HA"SCN44\VVwվ|L n|Z.xeiVDY=%="g>ݜzRZy9gX$a@?Xzwc)PyHɉ=L! )Zgnza^bR=/peҬ0_]B ) x>HI/(xx#ӢCoGJMt]XFSP<6Ho?lL6~^km 7ynm-8xYqM9x6 ÛbG[a45hT{z}{xH݈xټ+1wޞ ,f|o!WB/ɒZB#OudD!T'ORLnьnxHRܗP| K8V>G q)!:>[.a"=+I4Ƚ 2b20kFdƬEjAoF,[w"emUMK\ew!, {bu: zD%fN1AkG/-Ń E"Mep!J#CM(h"Get`>Q5q^7c,:I#ѓ9wib^EϜ#l~ͪRT ϩ`q+Wkh,WfjZ`v)3kN]Q[NVϵ8}bZ7Z`Fx**In& }L[e#HB3əcy)%I%yA,񵒽^8,!/TFo6^ӡz^ jj?'(CuP*=(_Z=P B7#)$r΢LuR+Ps~sěfQ*`2x"br\A |E`/.|Ugxh(': †Ad9<闲AڎzCaE'pփ 3Ih(E6D[W %m,L X $@@HClS|G5HB)ǟs=;ظ_ hL yD3ʥ`u`'5iϪ-px.X{Ɠ,5*Y@aq‚.a6 6vi1uiTT`n6վƚv= A`ЈNe=&p))r'wwE~F_EN8!}ޅ #RAFgD ߠyI3)uV>AwL Z@!'2 " G;L'r㙐keKz$'#./quyl W账&%pɾ}(Xf/kb퓳&*SI6% &V/s5!T  T_VdAcU%* , +1MTD#pz ָ%4Р%F\xUW d rЂ35qſؠ(5.B 5ԄR" ЎUQVt,r x_?Ut瀉 3ƪj54T0Qzd0u@59l1|N%0Y~Q(|ĝ=Wձqx#ipL̙-s/{OZeħNP> a!4qg)aQ8<"d|;ͽI jņ{:L+wX"`A4T[-"νX' 8l XH $J]5zs㧵Q[ Rr1UcJ+S=,C NnUFγSKЌ>Cq7$ ?=I.IeHUV0F}?E!Zs/D*3qΑ8lq:-1]}/-WPLtw[纀= ,J&.컐oك1.ۑG${"qErCcMKSW/[nXb=ukJ6q+fO-}d6 Pde,;]kK.-Dz]D<y`)<"Kom MX3A f_Ay\٪?^o:wAk}OҘR|wo4xTMWϤqid=ZX$~k^=GX$2DB/͚AON&H*)mĈf"HQ_HZa] o*pHؾ|xdZ5 Ǵ$wq"]TJu}>RZ'j G lQ,"4,\YErh0a< &Ʈݬw1}N\Gf8$3 |?X{CbdN" kv=|lîx=:aҁ46W4g2=Iu6ru6DpM$-;'66>p.J"cfz5`$e^'j˿*N.RFu4]