* @license GNU General Public License, version 2 (GPL-2.0) * * For full copyright and license information, please see * the docs/CREDITS.txt file. * */ namespace phpbb\install\module\requirements; use phpbb\install\exception\user_interaction_required_exception; use phpbb\install\module_base; /** * Base class for requirements installer module */ abstract class abstract_requirements_module extends module_base { public function run() { $tests_passed = true; foreach ($this->task_collection as $name => $task) { // Check if we can run the task if (!$task->is_essential() && !$task->check_requirements()) { continue; } if ($this->allow_progress_bar) { $this->install_config->increment_current_task_progress(); } $test_result = $task->run(); $tests_passed = ($tests_passed) ? $test_result : false; } // Module finished, so clear task progress $this->install_config->set_finished_task(0); // Check if tests have failed if (!$tests_passed) { // If requirements are not met, exit form installer // Set up UI for retesting $this->iohandler->add_user_form_group('', array( 'install' => array( 'label' => 'RETEST_REQUIREMENTS', 'type' => 'submit', ), )); // Send the response and quit throw new user_interaction_required_exception(); } } /** * {@inheritdoc} */ public function get_step_count() { return 0; } } -. {AI/hZ%Q69B%豋bCg/>E B19z$}Hw{N_ \w {:Sl q(R['7+PpQXU?pӆOX BNfS@GVt(x*lkx\kG:񖔲w3>cYDDa,Â]H'WOFmvD8Em`5F8%.iBƎiQy! ,?ZEkG i>['rAurn"4gdf&[Ƨ@|A=3>& d54HR& 'qyxwgMwY Yz}HH1{/n*E<1[f8k Ȗ`<;5ZDnj/p;Mb%| <8,M{åc={2oi@ޠw}mŶ.!r5&mf}?ܓ,ï #a5%=}BIU{Oʌ|?K3H})cp+|Ct[13lvfmcV$},) 7WfK (&(oc|p6\/*daQE捣6YHz|gdk=K',-?)wzh '> 0:#M4RSAįFyZ Y yP`qhF{t)BҒ jQAB|}gA0M$=xe+@6ꍡȵCM{02,GU| -{RR#sel]"u,0eͼuw rpD;`5DL^BٴIֺP~`ʴv& P9-#%O w($8ι@y,)!QȾTysXgc]b-J{jN="`j, rPةF~l;="Le힂M<>b0]حk/5q}<}?Um_f 3s7ֶح=2?jUWZcCgi1x 2ڰY{Ąk_ >՞ xR[(/X!Xm{;5VE#KR>E[S@Uar'B7B惤+ƒwU)(1PvQebQbL#A7c%׀?K(^/_]=Aۢȿ3@)TSeZewCVSL~@<^D[bW-knu(CHCØǰL !Md@H3Ѫacԙ}:&FHU}<3ݎ빐θ f{F" _,YAikdGud}ǹotD/bQK7 h Ek/*r췞u{VJy"M׃{^4%KR{]N-: ][B{ISxK\j+p!6<@pc:On6!Ţ394Qd#8!]U^D,P;~zg6MN}v%{lX3]Ho8v Nlh']Ws@NJ3D!t xN3MH)Ys`1Ȋ#Q>2E{FƑ:~0'u煟(1v ~IS`.Ю{i{Q3VEY]qQZ,cbkqcV2͘O-:?c7 e`/Ed;IQ}SiH7$ۜd%WTZSp49)SdwOpOP$ Wg@Ma>3>|ZZF_sUp4a5J@,Bm-+ʩo/\IN0P4+IJj{S.Ӆ{CMCrI|ۭQNsjvE;;3z=#,xvrTDlء%\^,2,4#^OR& z@3pWwOR#:*X䖘՞$g!O- 98/ 8{Cc*.J|HcY{Dw-kuk\0.y۰3l6nd¶ۦF9dMGw1x޷yHQͭblB6Jiج٬>es8iJ$.zv !0$ge!׀&TQBϔ,]zOYY{$"(0Ā>A(BtLa?xt"}$PWE *:V`-s[(~h]J4pa](/ūBg$R6pɀFɎDDΨjKVeo$  rsD[vz鵍?[:θعT 5e9^OX]v u~J/@K)TBŤؙiRzs52 I!=w [BCt;ي156h>/Ŧvx/܅G (50XvZ 뵓8MlfmwruKIFz&bmM=2 p/+ ?Rz k<ŶڤeXhY\&KZjշ(`*qm,)SތNQQyQ|n{CT!Qp8

f/pXţ]T.|Sv:rΙ"u3/ޯ{-4|}YGg?l BKȱ?>;(¶v\A2Yb4alvބ8n.E983s\f-O Ԓψft<-qvnת+rc`x(O,gsz'y>sH7L!.}ߺ#/AQ;$Vht$՝oEOE: %&69l*tKؔ)nb0z?.j&JV6!^9E/V4 {*Er2P3>Ntƨ(AɭpFGHhC̤Eai'iFI`5Oh]LSX|a+kDr"4zC5N^k1E+V{8Kzڕ~ю]X; :c﫸 L9S|Ō8" "[fnsfd-$=*ypKMx=E#۸Jn6-`iYkc~F_=l`.ԒXBN,+AEOW %WTH9=PTL|6rz !3պ <lk/>eb[Q`S|g8nuFUƛ^*1%W9i )H0d L&h'~1젞ĘOQ&+~7`6 ;q }7@Q롗;uXy*1$y>-ktRw/0 yES?c|9ν%s{~ :'JZ!QҘYpj/U<2=&s7cңJAS'%KcL0#gT|X奘7_.|y.)R WAi8vZ<=@߆)'>zvg!oxn i T֯OOS^ײ7no֊Fx_BCݥKdW#9s9~BN_9 &EfUŽ++6o?WxAGϪ{fC9wƷuƃuݷ |f`~'i|ic5ԫ6G|| xGwP-86V -OPcy"|N܌(s dƟBB'5\WEሑإnGwHYadw9wߺJaۇQAQ%{`MR_lQUHGjoKTK/` 1=P.|nZÿ{Y9ImlQ*dKшٝ-vi&6$kKs#\hA]q-FPJ5_/MJ]h>SKj ǹfI59&G\UI]r|3xu vy._!n5m:(а{.jAv0oyzӡWF;r5d87O:s9c<[P)CBzm_I+e F̺^ӯF{mtq< "gZL Yh%'5Svu)_&I$6F?ݏ?w8i;'eY,Qϯ2LGg"Ya| >dS֦A?i9r *Z󫕾4'A~(Ж+7}إ$`ׇEe*nZx>Vx.[ern|x ڞ}DDW*/dɍ!'20P2ͨ9Fb.kJ &j\.CBpHyRJWߘKKo,m;fj! UA[x,؄ h^K!ZVD9G$Y>QPzY`Xg4uMŴ ~$i,Yn7-WvL=j+L{U@m@28̀-#MͲvC{1}Y+ >jP!ٴ&xww護 H~e-`bG@y-L$hBO4=`HDzxBfm.y1͞*L̿,>uuFi9cYIYzxB,Ĺ2ȽcQy(!u[ݍUwU:N_v\5 l~A4M:v/H ?nƛK!lGV: vY%^a\9y3WOoy~tZP' !05iҡBs[ѵ:d.r0 ؤ{Oz37Uܛ2Jx)^]1y(9|4̌ieMI~fUL(Au'J@˼C=EO&M:V'Yϥ*8 Fr'™_^aiT*هU}|!lB*cu'@T Ӫ ᛔrd(|X5Ppq[4 6Fj$4 1,rL6-, ^wϝo*2Bϝ쁼|IJ+cw[cOx8UR((/nq]nJ;26(Fa$_|EFF4׸y`0<^QT"+%vHD{$xoˎ( V>J/j%7*_t/Ud~SDb?#'/M#%\8יl0T0AiןS#lO#CUBV!LK [?(7mM$r@ZoCΪsJhg\P1s *8xD~_GUQsc}}Z~G;*4Bzif:CصZ/_Ǘ}<[a8#QkL_GfiKNX'"۳Οy-q"gȈ"J/Vanp  >QWO=IVԌS%EAYۅ<Ѵq7W"L9k@D;fva&~3nǰr7f00k4vڇZ 0ln;* Y$tg}0))VwholQ:T7U̲*(u*0k_'vlhڤ/]K ~2O;S4z )yh@ޖQNSqJq˞5̀n[*w|l6tu&&UR]Dn(gy2tlT1s"HAme{9cʢ6ͧv嶤hH_{Jpev]& u;R,$/ DC*叅8^g-g6 xcrgPBFP t!fЎH>zJ{Z?}(>_ Cn8=VAgI? %,JOpVu؛B6KCvꐭ=s6*mh xdgh^ ,@7 HӠ7{r>/'yn( C&8+N*T\Zyz$W,,cBOSJA]*jGxΜۖ3)vsV 8BҤt+5\ER"7!PN 6(/h! _(IEzGb~W_PAKHWj8L_4XUWpaNDǟ\dÄg5 <|EL! KhΠ^&z2E5N-eY 2DڍьLhi>&ѻ3|LHm] Z9Q|rإ,[AnmWkj8+~.i)N` NAމ6ɧ)da~{QQUmUFB?͖VI`5#Ţ`v;6C'q~\۲<LB}ykFEWHj.8&6 ACݒ^wHgEx%_84Ε-ABSH Ax뎔t7x bDH$6؍JA|0z\4ґ\s`nFS!Y6<_h) խ;I%:% Y|b (PU=16,NBn?Ckj\;FXɕag63p7mα'$P)ŮONn:DŽT85 GUG]qhS>ZtY`£^._[nj\nO˪ pEY._522(}r{*qFmbm!i׈k*[eZ/'X>{\Iza e\ƍrOlc1atɀO39GT4X<8<dLqOe2795/%G5MA`ڄeEۺ-9Vkvʫ\,5ޱЅm~vDJQݢq6V=H*dڿ)C7V岢9Uhs 1I48}Ѩ <;6ELq82ٚp5No4/{DV`Qry8)Y8gdHnX8$31OǮn6= HGB}+QiyTchQ,XZgZPpi7jAf !f%򉉿 ( -sA pd͒M71X췩$7~;XnX0h%<5%PCpv}<銡@YH}╻){͗ʹޫ Wz)ew,s@YlT1 Z +̶2Q)'-Ҭͷf^x_,E(F_VY-UO\@p7뭝w%I 1uDjd\!eJ^_(@3W`颭fhdz2'/nFNЋ2jܾj/MegDi3ȶ$+v[㴊f&~9/i jܱT\2T1SēC ~$ y#Sc/ɜsXB <=CMއE)73/Z?wn mK?a~R"|:?K"Ğ κ̀A[n@p?dYwtP#gtSK®iܓ z0lC?ƭ i=DZ/oCE\2DZe/2*NVZ @+_O˖H7ڐEDȈ~~}R0 ~_ m &kX‰K2e"^ѥ57\mu4XW#q?z)@Sɨfa1߮~Q<0nۅBVw#C'՜]GBUH$3жf4,7w?pLmQarICX<I1kVSG,ͺџ d(&ލהjH2Bw^<[9}46)IۨR 1%dWDgՉ/!Y G\42Ne,T|w: 5z)^{rB-/*Da^H6PAs!V5 {?=!X ю:riNZD;nǸMNW8/ے͙v;]xZ(Ws/.19_ 4" `XG= `Uu^CY]*rjĉ8 *N~\ϟxKCl,ZЉQKKq>³,[L]MC_({]O%BSڤȡ"TU?*%3{bNDhTϡpW?_!v21Sʹ `l.V>7@VɸNg薷uϨ+1 )YWG.>0kmP&zXcZ~GoIlS'F/#RF ހ!yt lB|u0K/UB4 N Q1 e 1gUU2C; j#hK.k%RifAׇҒcy庱w+f#CRaCw "8t*<LǤvxulnѱ7۔BC,OٮHǬ]B`C-i l"1`Q>c _G]p~e#+@V@fP*g}UdEh3fĤ,NЈG~@kbZ1'̈́G܇~%SӐ11rhCs,>]IhWu Zi-4=N Kf_vGoŴڠ+BG,$ `^NTvyn|͋^W5;{"m"0Ps^oj=I2i({ߧasIDi!{O2 TlЬ- 1җ v?2=c:2mCa~ӯƠdaK Wh޼˞T.pw/c~D^j|d\ +4gäsѲgl$`fb:._iEA1omW%7ctCߎFmpCHJ칙GQΖE: D4;MThV_I3/1n@}?ieQf137_` 'П=Ugbr)J;)z OտB.]nV\̺w2\>}E"<&Wi[p8f(O~ nд TwB)ϐ@9KWw}QHƜ~%)[GJu_cU- [EGn).B{hB[BF1;v`sJμPi,AwvH"ݦրMи~ PKB+\ Sf]s:bSVpK9o>f $tDz?x~3B۝$'b\ӎ yZD]V}>(#Y)e䣷ߖc[Zk0u@oj˞7O W{QPť{]jZo’}YVtW𘬘POo'7[ps@6K't(ٷ:pD}8&"FR6_ˁmfN|[2oc &AUp$ Nep+痋B b1^hRJwлǛ[ ~F΢|=qW01rD䛥J̈́raE)Ce^=]ZVP0DJ[ 0߆+MWvY A_{~~a~UmҠ 1:oE-?+<$4Ck:e#W97sP,ȏ#=>ɶlq8O.2?v!>?A3JmeYB.Ӽd|;h~!+[f*a#Ej:KV@t | AcOz8MYIKABg8Jm@YywRd2|<ٲ"N*OF/U`0Zl-~o1`ϕ%/c?ac\ZX.V杆AYq1_c@8lGZ:W9K1~˛\-Z&X"Yf\?7TP=ma38=vP fpB lʹEc"v4as1 s Q 2,K<1zz0ɦ2y\5iqL$ ;3' CV!۰b )K{>M<ƃY29Ui:zпA'kݽhsEwdѭ#x1!I_BaN96"Z c< Ni6+J$aBTe^%Q<1EдZFw򩅳h){s  . `Afۓ< '0 U 5g8,}I=@'$⠵uw w3QaX83ڠGh=bfy%i•E0֞UCӹxl8].6M&mW G- Uƒ4Vftu0^V#a p Ddx|܂@P㡾ߣ̋k+"ط9g:gY /:ѿ!vYdq+t=ՄHp9:W4ROuMNAҾHc_;1GiP6Vyq^k6jʞQ 3V(^կDW~m0^Naaz .݋8RpN@h>ы(| ؛p/XVV3/BNFlc$قDDY5o7Qt.d]ۛw}d-Ϸt[UҎ;.RF{ T~{NN#zmmj B|BK^*Q'k_v lǖmsXIy2:~41dw2FB2uA7iqؙm B͌˃hܵ.bDR0)H1ٖ=k5Ckm (fv}Ё@p= X=gU9\.|![u2O$Vж0iT΂c?%?0r9"AHKGQHR hUJwW K3ƣ K0pV8ou _/@Qm >`޹̋yP 4OQffw `h'ΪbKA{/{'!~xBY<%(sVVh|'7ͨ=LkEw#6%R^͵#!ZuXtۤ8VT=^{(^gkDQ^f0MmqgXn (pKXw>27͒{#LwN4 (bɷDҝ GWo3Vн4e!PX6WNeN0; dXo s܂M:c) N&L|䂞8|1SP"МHT;^GdL)6fTpYi K$>zx,+<And8:l=m-U?A_aNۓXs!}2GGc‹`ߜC(X_s*T+q P QR̐<#z֤Qk*0ĂKUs-lP>M-Бs ݧLv_T~'E0`vbj! tJ*qQ8)Wq $'8݃_SyBە,Q6c wR^ sGΡWzαޔ&P8_Nn~#pT٭n?ߵ}Eu=WTu&p[[@bULu `YySܟ fCBZ"2hWwp>K]_޷"bBǩIGcGe ]{@YC"Reya 3MjL A^|ؽ&"֐=̛[&8:~ *}׼9(a0ٽBvz:̧Y>dk$ $m[I#K3gs(LGhe B\D(lo`z1mc1 *b˫w*ܖz[[f̍"kQq 긳y9X.,7+zųs[fZ e8ii ɰ-Zل%l!C"c붴iv)`ra84dMp~Teh6C<0=;//WwHo KyGlb}+&k4Kn5p{;Y5nj4&+#21UȸHjvͻDbԊ8vb}f9"[&fš \59@b- c`%3 D=fc^~2B{'=v`J&`n1q[ 5J܎2*;6lhQΝRGM$DMo9hbc%gm=3Yu5 Mo:}Ǣ+K/052m3)Z4x:7 ˃Q=Uz,nq:`u@;Nu;GE,bi,aq">V,lG3u6r9b.sgp~?l.jN\ $nnH[jr"1uԧP`ۛ3d=Zԗ M[]p/cІ!;("\mc4[7M99YJwzSwkʏ:*MKJM?,nNns$桍G86ooG 4ZICknպhUy;d"M5ɻ{ؑB˯h9NLlɁ75ˇuJ|eRxw}h*ᡔCq7(>^i40-./7;]u|?XEˏke&>EBy`#I-.RO?-ѲHSX"uc9' sU\!;!2τ7( (ϓ һڶAWdj/V%D<Ϳ PswM4"x$ ;`DP$@W}2Pk/Gɧ+[)Z²|$"9p}nL c2i֞jƲ{,r"zbok1IK^|)][Mc-HNLxB,*=(miZ8cfc,(2v_N&GzTG6&W~쥈##v9%S,Ky_0!2zւ}qqfumpY=tee`&GXUg*; kMU4?`!% e߻JBiRT cgIS`iͷ%['x~^}uhaϒXw(\O$*`~2+#ni(ȇ%6 <^ fsg,ATF%a#@@/U'$d`ҳH[u;ݓ"?A$.Scaկd8P/o5.[ l]52g`5kJCM~"'EU'Jqߑ&ZtgՔSDEif@頶AϗqIu#?c8,Zm.Mx9𑥱'dF_ΣgF0+!5tYŶ쾠W6ZE-#O0C9wd~N3iiJB\Ms݌ 險r$3BH`uGÁ瞚[F~s79P!s`)ZWQ}0878<{;/?.TzԖ5%VC+w97JLk.׵RrLb~չ,|=Xxb;Զep6rNq,)>j-|@zֶk4nKrEԞH@<]k4{»ϐm5w~a'bx ZK@1ҷ1;Ėx2e]KMȧwL e<.mq*Ai+%Et ܽ|-r`owg*r| i}xK@NYG nBKmWyCR:·&oAzR<'vHJaMӼ^&PAT"[#Y⾥tY=@fs_F(Yf?/}fVt+9Na`<(:Nr<ԇt#ݺX\pl#Q3EF k-Q8lҺiV2PxV_^@%XNUallXkU* 7'ay(2RJc>=L>$`e,u,6TTr2;3hc5o_IoA F=.#^$t{F,RN.pj$_ lcԢ65焓'o{AU1OϦ%y t(B]k@r0hiΖ/W{l]u,\,!sr|,| qmQv52+GFK?%:}k;y`oGy"U_b]!YW`?kڶ5c,~Iʄ$K9n N]E>4hv0疈+[y/mKsG-RA|ƏrF f dƯs$kU9,ΊKC' p[w~R3W]q1z0P&BSw--r#^ ˒αb?%"tӬ8lo+K-Appuߴ%NʍC*"Rء4="_BmėK6+DdsMsw7L@E[m.2]~D&˸w|*bNuf:@[i>::灼܏%%jsP҂֌N3)8)T=>omT ޅB8~@)qܐ3$0B)Ehj" Ӌ/cm rtEQOpG^|ˠ}rˎ{VAGfj/q [sEWĠ}.}=T-esP[2(9T[f࡚ϐ&iO/]LЗPtSWIX&n ڇS..)nct;%Zp6 +lz*,_}8lt3QЊ w7Ofda*B=Go9}gg[V:P̈́oXQWwS/~;j[ bC~!7beT x.pJ/m'g )>Mx@D)9hOyNRE'L_&%ղd i,v* 9 Gp~gtlvhhv?Xh_SUj}jb)Ɵg B% 7vPS4㼾¼҇`:10e>/P/iW姚d7eW406tR:g$ y8+sRO\6xnʧ0FXue/օx)B|H._.B4UIULmݩK*rrҋ fr#XXeZ5(.p`9Zgw=[>jg*f8vzDRzO寒ј>( ]FaX5e 3v&ۧVihPֻH6ǭÊ Nmkhp+lu!Д%M7 );I>^{is$0})ﱞ ʎ@bύʅYm32ϕI9ï;΀ycxVyDXu՜'Ug*]F ~^j50,4IM $PFM%e֞R ^?΅GtN ɨ~N"],XV ,IoKy^ZD$@q B@}=)G,?>_)HdF i JV9d<To>y"Q;MJ$%SN `i΂xN?emc(.L*܅;MĒ[afTYhyl_d \ʟ,ײW|ë&B~QXclNi`gr?^pFpuRFajzY ^#  Y)S+fCJ"[_xPpUѰ$9>Ҹ[m &FIFU6%9F0G?@hϧЉ| bCX/MtCΫD_~JË]Yv{%x=e- ɰe^!3KHn)[y[_E.R4iZA=u#= \yr_>,/z}=5jC8'.*JΞ JM:Z^ v ǠU{yH$CdJ -G;Y-^-tE\9@^ U!I<٬iEGn@~Z%u ? ~M,iģo%_; `F!wjZ8d>\_ ,[$,IW24M懑m#I>x ~P9y RzC _x`e&;U`jH"0+vse3E  a5doO: xj_ m臔auTb҇i1C]bVN4|5!6GE77SG+A:x$4Nݸ*|D}X'SSxlm 5D6kyTs3zbgY9Y@oGTH۳ed<\Av.FWCΉgqa1C*4GnھX&+7XR5OWT'{78c[! L FvvoM}3c1B5X}\GA9mdąA/51Z?zXȷIx9s>R8 y4q$r?(͑PЇOݒ=ҊPR;*MN Y4՟9)CGaD|nW&:~mF-:c.Pr9n d6AU2V$jܨKӵ AbW%B5͖ D>}$=Rmdy@mpeid^ VP,u/N3N;Wxu 8BgR,#Xam/ZŖV a ƍ|[eV'c aPS;sdTLh :tg(ww-i~t>5;_?mlĥ%y 47/$񠧋W b< %wsi1d B+7p#o% pt (aB5$h6__HehޗJq_7BF<#$٩LWݚG<2i8,E./<9IT!m ?`}*84\!"%(+"u$s/ 7$ KЄk, `%6eZ+ |8 ;3Py-2׌EZ:hꗀO %rjiþi$O6}FszC%||v 14J7.]z|JXoUBbIK"!бu"O&T2x|*O(3V*C"~.uZCx1_wn(eǞxe)V䯅jȯCfnM!GU%&#YFc`G1mg5A\TR:}zI.[#&ٱVBIjpW82Mc{L7G?PNXctPR9>qv=$gdXgCyj~19i5pK7}@6͛qirQquY:;;!ZdJsUCD2]NVTnSOA |ń*RpR) Eo `-93.X~d|Xx>. w@Q@QS *GG@w0 0&RAZ֘.9~ssav3|i\?Ӕ0ܼmc[>ro C+U‰Kz,Jp'cP,c=Wx|?MXwF+V!;Զp.T=U!ǀ@dEЁyS7H +)!H QT+Ui%0;x:e5:@l))65x(h0./B!IM`FZ|_*SChHjf4*HhH8G|i:jͫRwYn7l8T6qhhY]vҳZ{G{LCj#TGkXHUrI p7uf)ĚN1[+;N%hi&m#+.3L%&;Ug' $$QD2d|rW2)yJЇqe~<5\DPK~ШzGFMFhL? Zq${ÏYuQD9~AqρʵcɺVՙ_ocrdc=$y lW0Kq%ܞR YQ yZܨO(̓T% .tϮ`<{i>ބB2SSiX?IKZgҵ' Psw$4AOugH ,DYPP  "e[_ +8jQ/G䜾J )BD C$^Q%-~`饐kÚhq^n@^@{>0I0c)u8o*hPLq蚼 Q"!6aW)Qm#[`>m4s8[m~U4t"a Eg/QD&ኺKB&lK,BDԂ@0b$l@}\&yG`9!fJ4\u!J˵,^4@,1lZ27TQ2j4wXOmDs^- }o& QOqbc @^t< k??"c{0FPI7/'jU{~fDN:=v eM#*L ؆rw& ħ& n=P a>`Ff4K>/Ri@ $ a[KvET}Erv/"ܣJ d^$)s^iT PVduФ-]^b" ˥eT }\C+7+ K^GU"_a5КJFbҳu(S)R>>kIGBo`ں:E,}T[sPs?&MqG4rɠYH H*ָ-n&舉a^#LE >J|k Mbc2j rbjqao/Co4Ss/jJFmS,iz+c@]FXqrqNǯP"uc`RơHA8@꽤Mj=V@t}t:p3_@`DS:OC+]cT) J$ajY]::*4ofjăh&޶#t8J~W31}v^M?th7k* :fƩ4~ݥ>rF@$ (s.}\B["&חl`֙Lj}-y1{q ^25a5u4B`Zs]* ؔp_5 =9RR ,p3>Kd-$ɽqQNG2&F]e{\߄ BTmɒ- %9T(-[_U7~MDZ!Xy]w&/rNCLv |ywk*v5,ZCVw&zW/Q˝ N 5̃\|!\?Yҳnj/~H E@O*Z 7bC^d+,z>(F̯}NoH6-X.]UR䇧17y[Hb$M?̥?1bIhZw-f82R4J \'2k>b6s7Dgѝ.ls=rVo'brO񼥰xksu1x$n-yGͣIV-isNin*T&I1tm@n{PZ,ve7:aL 4JN D L o'aRY{Yo֌G3Q-ϭ {rGؾܲuϜq)P]'}J8bÓR]V]Jn_eW($.= H*CuI*N(v>,6-JU~?hy򹛵 x͒;ŀQy6.zqhZ x~ox%-owuoXq|dҼw?e[g|c pj`z*'r:I[a15-O(}7 Lȥ)UQbr&amWu \˭ΰEcT/tM}$LR۟5?czn@ݖs/ꎪ9?I8xq#^afS |S=CELɸ48>cxT Q|uX]VccƌÖHL6i𼦆} Sl d&v-30 0lQ:.&"&~)"b!vqMW_BehW{=oVsEƅy`>\ē֬nhzh+pGB!hh_Lq5鲡J!njU‚4fT>;sV4+yv;=fa? ?N(6˖ h~vuu>EYnHwGB 5d:M\ j$,`6z:(~Mm2A TOż*@{:YE3eO27"e@~ .#ހΐ\ICAlϡ8b:<|@ UcyeҜrH-HH1hm: ;0㴾fWEr+%͡6<s +p|M#Ӛg_5gƇV(IVAEwnWtQզJw{r.vuSDQRLv^t~s Q/" QЭx|^L>c؂MHFl:1d? B3dJ+"c⧧}\~\BKpQ}?uS7Ej]k%!9zzuh% Bﶧ鼿Y - IĂE>IN2n\8>Hx,m{c>ymwr۽I>Q98+xzaQGfYj{5ȬCV&HM;J{0YeZ>H,묝uu(D;,l@#D(0UnXŻ%GF|"[w tܖq# iz[1t6kP4w0ړU7GƮTWQǷ&AՕgoOuDl -ʉ+ zI/ -7|"pm*mKkWʧ 0> k źW}z;IFarvKNq51:?yM<wlΜZ?m5^7kpIN8)r v86IVtnQP,R/_v.ѝ^ý?YBNC#>!eqW[b1KN8Vg',}c8Td侀Ya[n%gbk' 79FgSD"GF*oIW: sK4]+ʿ ٩J@f.)hU%xءΊ iEw/y-kBaD&%IJg#mE!~"MaeK=44M)UlEmml9(|\JkQB"]fs;]D $G33"5/wABuK҇F )"7pRQJ-τ]%%OV7ĝ2 )GfΛXХEgps83g# qIR{mYwhAMfIeIƨ"TaH v*#,T ;ʜ[5Ţsة|^tb}WH2k+&B>>Fɵ#X AOK2i~h;zN}8ntƾEש~腐<^s/7h.q]3NvN{tƈќÁw'MsZWWWתB" C`tNm<*L~AO@cw[> ؘ;9 k7L.FmE{&)|"B-Y#(M7]ʼnc}E*>1` Xwj3DA5NlmPm+ph m#,>c584)pb$MGq :c(r6ZDpcϑ:7@W&pb})0yI+M.-E^ZX9kDZ]4Tg#ס[ZmHC"\es;ZJvL# @"#񒨆ISy_AB\y(j3B~stm.ҬF]X%vJ[ [}).X~~J% 7wPR9J53GSzj聳ms.r#U'Ps(ŦK̵VTTO/D14Cv$zRJQHBRbF)ߙ kuFj3R< |vHXոԂ&Q6LX`( :$({XAr.Qae@jЫL֏GcM\:ko8jXC f{ ~d?*{p]o%NW ձW-DAF~m _6ēŦ%ݎM%Ԗ0)0KVY}~ꮑVnTp= ĉ7({FvfM9 Q|#69`-2)]aO֤L#F(UD=Y|u}߆Z eJn}V$\ V7l+=<-|/`̅廮:8&dxCc98kÛ  j "[*I#"7d[v#Sx|DnC)= <ӻΑh-aq`81&mR0k\}feOfgz`éڸdmSZc.zUϯl#;Vўzo,+K"Eo;";٤۴VRz1zZSِS4c_`dKk+8W/5=a{6G.f< b-}DamGۄ'[?3 !#YJG9#2ߊԕX<{B낹yZ\@o9{_5(6ڠ86,I8S0Ȅŷ7j a w =Qݢ+#¸mE N-#*Fi sQH췣r"lD6eZ̩ =&>Zy9Zƃ4ze\8RF!^k<[IRn i>!̤XG60aêCYQosɓZ[%VSB[N}> OɎXS7~6̟h6;ͬΪq۫ےV$`ahVlIs" ɩp+^9łLPEh饏^ 6B՚5X6ZXCӍжj(Ydv7l:ȄyuṋիW*HGԗ}5>ea9ZέZN.YL+E0j+q{ DKL~e\h7*3ӄ3̪gpa=[.ځ5awdWw{*(c"P9'"ӌ (؅!N/Yn4YԓfwgtHcA1-wOWgr'Be"xKM)"]vX|ͰU :m )O Pt{LAjY7XN{bXjH ? kUjHu)s@:¶WmR.`^B퉕M@LGٻ7iba%^ڕ0[$eQ{ozK+ZIQ鯘[螊y܈cͶ+!!r|jtq [ ͏BFAD7_'&Ǭ!. RnXש[<͇NCQt]oKj _S.fIr5q)¿I>m"k54TzDy\X84 uxEMN4RRE-\WuG F iԦA1S~3'  R~;{OPvO9`̋OF$Sy0C"\jtaᕳhkMeI$rBU0jE@8v\pK fFv(핁5O7VQ  x`Bp;qi i//rP*dH޺ւC' :c6J] JIf)@ղ=zOIrɊV*`,:VM\B7W[ߋÓkkf}8M^aiPx;HȪ>hU}mDaeGdh Z5Wg2EjQV:vS֯ 0>m\a}ĝf*aR-QKH9nR0]4@j "dx VQ<=W -Y-WxfrIHlfܚf٩"$ 9e.@G>=opo"`ڢ6 MXII_XN~cƬ00]Ҵ5դΉ"XH63FsՃf GS'=$Ƙƙ,j0㶮vOR~Xc𞲜'.[v6PFjtk*H ֺv-Z9OĞzD_+sĦx}S='@QF߻'qmP}k`I3k4Ҝ'-e!\C%˰=Н4odpaA-?ܺ#P*>j\Fg]pHIȈ3wWvK E"e+l WbeLԶ6T!.kg. #-[O0R%w?7#k>ms_^Loqm|:ޑ -k2u>`se*<,l?tIN"tVl[w.O$#)Q>ŐgJW/QڽAC\SgNIǦ:.?tEG +(P3un5X %>׹)<$=h݋!ե2ҩT?@H! B,ٛ73li.g*Zz b61q'du' `Aa'0w㲄02Pk[MFt͌ "qV Ж%.*1~,)R"q&.w:_"ޤ>=a*Q+<1-w"X<(_J%f`cddʇ.i`.#"IkVSXƷSwn{` HU7H>߉v!/$Բ>)p+ jLpam4~SɼjoŞZzL>n ڧT"I": u_9QeTnNfQx*n? OsE{R&!_~+wO6Dէi15h),"2F7O^5ᆃ!&0|)vR)O_+bیR+{r0eV8)-%WVPGa?; 5吹_a&'|` ^r(x π:;xUb,0ʳGK5FCC]E4RۘPMpD5c%n~K%LبDI s))}׋1d3CNIAJ=ѭqfd󮓥 4Z o٩ԧ(A"vlmy+\/euƝЕ]rIfoG>d-Lo,O$]p@kRNVӼp:_+ N*F48tiO]01.Ňu$( vJ"A^8W1# ,[ RgzQ![yGcPH,2|()z5s;fM x5>nGROYLcjQ2,%,)@LE*cZ,9 ?E&ܶsA\ƯO5`{Wv+ S5v'"6vt9FpvTڜ۷y \i!f- !{^8Ɛq DV7H yzPX eD-ASwUђ߷ 8s`tB`]X \<#v ?+V\V Xu8N Km2sGQY o~NҶr7eVC=k[o߫m%y,ʺ"x'^:,`P]%A @F9Bow#]2 k_ q$w= ~'UI{{`ib _![#=ҜJHScC'up?JN%g㊇gP kS͙͍S=6X2^߻}]F 725K.?;?5Dk}l t*']$3aөCl8dJs\ Otd,!쪅Pk ɇ}?7/aNbb oݒ eN7N3AbZz'f&I@8bLi4vGH2~~}f[[ht D Y /LKcXef} _#G|+gX9.\ˠ嚱(} ( :Ge* XM@۴l.H!t!Rg MЮaUؘCe>\Bl&nQd^D]Y.4D k-ulN?&?v+o"gxNOoku'zvc=T^ kHPrs{ k5+SE9^uUW;ZdODyswP !ftf bi~$x rW<*dϽJӬ8Gu:4tw*fRq{:$q>_azӝ:/kp~nB1&-w]XX|0Rb2QbC(um/qqs%PR{!|,ڤ:-D]B)35Gȏ~RQ-Z}`79u td䗗Ŧ^ 8*VPTcQ= L  ܘTG,UgYKث%= .}շHK?Y-~{Y|xo\X2(JFyjgI7ohj!rQlK+#Bmg YhbS!b$I{(@ЁtifAl(]1&0ֺuW.R` |22"OI%\g%Q* i5LG']{7G rp[_7\'=$6uӕsȨcxэ']UL)_`s0Yޑj@JR/ֹ_kHljQ:֥26w+1Z\~о 9ƈ͌36ODGkVUN)-h pm2c%,dc*q7ֵ.RKx"繝%'~N>Y;45W@Tio(EKn3υ AAQKWjgxy!خG@+Y~nGvP<9ϻetK@fM [ʁ)-.`ټ?_!{+ZYIld^2_17%Q:2;?=,jwNh#4v fCC.vpkqY!AiXX-8]Wmo]%] yqN*a|tiJ缵57)Hg @ovQNw;i[] 5N"N3A NU7/6nk=qf/AS |e ݡBi+%8W##H%kkk#ȯQi. xSa̬kW!V9SWкL&Ky 3g:!oNHoY&/߿X1I,e 4k N}AG1mذ4$m%w|S͝1bjDJT@yJOX;v[1MwFd}3Uu4:'\R99q|bGShuG.evh8~| mn `{^0u鴧L^H+Iк*]LU]*`f~M_dDYeD1P'uzyg350J%qf1լk U24iN%e9qD!7/Qv~@qC*F3í:nHڐlzFͼS2q1*rh v.ڎizӴMhn sP&ZhΓ_3ZӷiM!e҉NQ{0āL!=QZ@ ?끁t~jvx%НT[1O*E>L#㌰$Z6AVV`3Wk$)hD!x85nPX%QSˡG ceJQTÄӳ3L*iVp 8!iumrwCb6't;rQusuI'oRD_:9vȉ験9›>}$갸ːʲN.M>!9g.å@r8\T^N-aS oYN4$0Y*(fZQO;6aivGqim`f.>ɖ+p ђґ,)!J *t H X\`Ў&_7=9jrDgS~7SNjD%pO`Y^0W_6AnhD/ P/dKt'\]t r_-w!0;t#BD@iN|_ltsfx"X#.O;^n5ĕ䛺6W.'vx]Q@X +hҜoY޿)[UV EU(C IJ+j4Y*z;iM}v~?y6NV|m%`6ߙ$=V~2etٺ>?'Kti"ň"4$!Ӱy]0P7S@;2aq y#\GG8M\sWw 3.LE Y?`2%Q. 'LT(M Gbh،I檷y,rΧ6LC:rX*qVq"}82oKַ4e/JS`-~)ƞTlBUOvQ{Qw.qiDAok?>(E4PmU7u! ~350Ô5/EoJC0Dd$aRb? P~OgM$@Ŏ\ H]@_IZ  m&GN2Je!~SutI~&vf#yDdSW濴Vw P}gѪCyS6vo {>M'p;MKn2s?:A69H ^18B>X<ޡdH +Ё&;ڤSFRdy0n4O}W0h3,kƵLh0tH=HE 6_xp emHU9<|^nK ^߸V_\T0GWt YS]wQA4F!W#?A _S\C扄i艿t6 cUL]u6\3qÇ /VhGqeWd:_iv%0{ *t{|*Y21UO <ؤ$*Z2;M-4Q}D$asF'`H!'8⏩Rrϑ2|5 -tYJU9dI߹ \}4<ޱ8wxA?tF@^.iO(_b Y=f+VS F@=Ӏwp`q{61dh3R]k<>Zbslp&)Y.dQ#[k賳2<`oabS̗C`l$uc6hcP͌uʄ=S4l5NE(<5:aHãVG!Cg>V Zd(j0fB8ȬbEf`ov?u>gEC#P'[\0Z` +YL4h#HCvumaTR 5@Os/^h镕SП$"ŏ?\^ HD[JJکmAAsy"}6Ug?Gur߽qHc|-^$4ZF0IWneo񃒻FN_}g$ii-cgapDwᙖW^؁#& Z.{Ur(,e!4;*TOL0o&LUmg翚[ h*y~mUWknyf! !g{^u矛`8no<z^3x!3i_d G07[Q6Ν~Ĺ6. P# ц*vxص,VVG2bS]JY#Nv Sñqb^r!4|7Qkؠ<(@HIZNCe/ ek:Q{„=nKphև餜j׼@H6Rs 7ꆼATͰ H#(D.Ձ=Y|ouTPUyaZz'J |S4bgrdZݫ:z9PQ* LnEH$~@|A3#}_zQy="sτi# Iu.8 1mk[Z<ݩiQ]z8g joᲓqh2T=z?kgcRʎ9*Ix*.רWg&o8ox˼lw 7oàL{xr^̘`,7]F\}2'AG{ W}HR_-j0S{lh31@-c"Nx7'WXpo^tX-@{fZ:ԵB}aڇރ-N-hNn C7e'-ЪPs.nlq2ʠNoNLKNP6m(i S_@eL8H$EdYzs V{ |8m*""\rz?^TYgZ+9#c՟ϸyέ W> 1w~Zo pyE,4Gkoiq-oIbx7BDy_!Ji?vg&J gj/!ȵ☈2[xM%KN<.u&4̽n 'XdӍJ|dأ8/.fP]l\uaG!쁉սid$%Yo z1!ql@ߩl1Y|+aƣ4?jzv'fBӬ sK֋3ſJ1hFErzysSK|w[?_9@jbw~ցi_CC@_Rt [".%r#Is%'G1Q,:d k(8*;zQP7rB K祂WE1`oOo&Kw@*B1o&% HysZd;eHzu 鎺<NݭIH鯉HY7BArA9U5ٷ K%9ϒ$jW廽>3`#H0ny+ľs;EZ7w"B;3r`Wigs$|~]Ŝ@PWѝ, Ϗi3.S5IË7T]oOD:5fW7ѹ㗽eo?~S(XǛȞo\_̬vI$A}YsZNtx/ձN@ M5BE3126 3vGbq۶hIU*x$B]GAK~ʭ!Ubc[c0b| ~Q;2h>br93,n4u-ͯq[ŬLYo H7~<ڂ<7?Xrp"!KDf2c``Q_߳;]˂ pnQ2+!9]KkT  ֈK'cAx+B,;Z/zEH5C `S n _UE=W[XR\b((Ox܅6@41YM`fkZJ@ےaDZ)<6=px'nv54&;cR$q;ױ͸t.n;cw ph0'ύօu KzOv(R"Uv4s^hE<=zNęY+Ѷ;D J[cg|7-P9AEq[VWXi]A}]cг$^SkÆtIJ WR;/¯t*4fCH܋'0v*ѩwq G{XQlcʜ8bZN KD {2HD-Q;^p>zll24^\bD)5 hS 9p@ ŗK[6Aѭ/I$L?] Thx͛FL+^4qǮnuGԧoe|9YLNl^xb&^MΛWؾ]W!Km(ڼRݩ;qS}ĭ+L^hD_:IfnA:߶<0+dJ6Vb-tD ,D[ۘy/J rM e-qXӲNXc(ԡdD2֞&QJ PtJ9+}郓GF lB'PgޅoX m LjET"" GR'tys+yvu6pHHÖ¡U^82&Pbx4^I w¾d1j<תwmJ{=!E0Q[>%Ÿ:i+IC&oLYd[NS@BC%10 A 4 *? 6bbێwJ6RVL֌ R&m嵎aqg>w*k!TK*'c\ݵC @Cqf?HPg:K )Ҭj>MuV.Em Ұq:'W3 #p;QvdP16ڟiYr=`dq(cPk2uBA/-]QQxn@ӈ{u[v#oCcAֹN=FcYq2A:B E"GZ : [nq6i{jڵYv\X LxoSR#++bow% !\}|&XҲx3o ]K݈~ķr8xz}Ʃ)o}SnODtz *e_NӍfk9Ŝ/ڀL2 1LEUë0g {1Y4萮`+_3+Pј]yOD9n˙$ԡC_݆q-y#z5 xbs~3;okCݧuS]0>ŕŨτ֜7j -)]q DC+`}p:Dv?R´mm%+(LZ]OG`n}+HKO{kcDB^QWB ۋ&/y 7`u 7{r&jUS5|+"ʓ3, E :F9M;@b^1 h_}WtgTˋ~<CvC~&[簉]xNV{yXٽG b XKLA[40G+pQ񯚍c੫qHsHӊ#nX/wMVl,K:[o^t443oU^5zUȆ ^O$ULKqrpZ+N+Q:LRQK"(|fl/}vN? =!2&3!F0+ v"gQz`Œ9.Q!Ps y+SAai5G|Ee^ܖ hiMcbf8ewt'nвeL6,3ۇR6-3e9`;5[K' QiI*nǪǸ/7q I~;}e U|Z:Q} ^NXЪ"@r \f]ˀsPSޟVOm_G72?TO@pkM,'e8P+[Bcdbq.|n\fdLWFϖ L9l[ms:-0% 9ƲA2N"=L*bȏ&rs2hqu/|XZ'x눜ݪj$ejdDZsj0=`C;yE(2FYViD%;a'`R<4c7R`o[kwL\hF$fk Ij42]%ؑ&FW0_5ۭh:63O ym\KUr.fŌ|c`$_FpBOK W 믩.b$(GO&͆}5 4#h6Uc̠ &+T=._i.i}OIO ,QNZ-Fk@u69AUݜO"$M0RVӓ4e`F}Z4|m&dO`o6j*݇6 vPˈ#0a)[ϕ !7W yn-/-%jȚ`̝oP|6"\mȈasz&IhQG )44wKO*Cő{vwgM"3 G#zǗ2 Xt G?T"f-5#ΟV˷;.Q?wt3e}kHx)7cz *> ӎߟ#4,`m%{nfG%$\ݭ F H/r8v({"6}qbJ52Jr;"VhTPj$khѲ 4//N#9k :͝ļu,3Csd*lZO7OQ788VpgVt%ijڥE,Lo~k՘6y)X13N@6&~X{ F ;TWWPKWEcʉW[BK ˊe&X`YOM\B/m߬D(S"^y)z_g0m:G\'V9?:x q_$fQ~M3}CX55KԤ`Z=z[eI$X eh3kTʊ 8h6Rz;o܃M!ä́7ѡ9 E,t. h pHwKOKϑ;f1Az9y̬0ЩP }-T`o`,aTOΗhQD}HZ@Xȃ*CH^J[ F| "RI%lr1@ FZCu :*L&7e /kv1(fnA@g,eU}>Aî,ea47r!ir='a۲7dX.z&uY/=gjٺT\wQc?ňXwDJANQ<<#Cjnr&onA27<؎O)0FGsHdn$N0[93\wWѼ;>IS>bxquasѼ˖3 >ϙJ3xzOXTwVl}2ôV@V9_q}Ԥ3E{ja;O\ԣ^yyR׌\%FXlgTKĎyF`;S8p%½=12w(__)\K! Ql-Vƶ)JE v"N.فzUHz^*"n$i