aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/phpbb/install/task_interface.php
blob: 794cb164827f56727e48b3e41c63347a68a3ea91 (plain)
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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
<?php
/**
 *
 * This file is part of the phpBB Forum Software package.
 *
 * @copyright (c) phpBB Limited <https://www.phpbb.com>
 * @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;

/**
 * Interface for installer tasks
 */
interface task_interface
{
	/**
	 * Returns the number of steps the task contains
	 *
	 * This is a helper method to provide a better progress bar for the front-end.
	 *
	 * @return int	The number of steps that the task contains
	 */
	static public function get_step_count();

	/**
	 * Checks if the task is essential to install phpBB or it can be skipped
	 *
	 * Note: Please note that all the non-essential modules have to implement check_requirements()
	 * method.
	 *
	 * @return	bool	true if the task is essential, false otherwise
	 */
	public function is_essential();

	/**
	 * Checks requirements for the tasks
	 *
	 * Note: Only need to be implemented for non-essential tasks, as essential tasks
	 * requirements should be checked in the requirements install module.
	 *
	 * @return bool	true if the task's requirements are met
	 */
	public function check_requirements();

	/**
	 * Executes the task
	 */
	public function run();

	/**
	 * Returns the language key of the name of the task
	 *
	 * @return string
	 */
	public function get_task_lang_name();
}
̪~Jtfǣ]ڡ/86%)MZGM)LL Iv[T0MhhLUqiOݫ>!ꏈg߮0|k]o #Mz~}Y@oA+ߡ4v.Q^FCf7tY+t"Sr{s;oWKJ|BzE8%r^8LOu oBm\;+Vכ\q.ERpЋQC;-+l6[?pGT@_Ǥp}8{PwfҖ73s'""'ߜt f&NƮj-^~5tf &G'cNWkF |Uqs!WPHF*xSwgТk*~+VDv =kHV.r^ 5BA'JgSlB%#O %P軶/} Cg$'H61˘mw*@" ۆ|Pm\IH .62/rb8x5k{xu .D ڍKb "";|C2nc2l7nYvz37rE^@bnA)`WO:jBGn^uj 4LHH+NyJ(X[CwInG2ěyr:.ٔ3w2F : FM4tGz92L\MOK`r <+F(zʖJh9<F wpC<20[-OZ"G{vn* Lo>\g i~t?]i DQ˙Qڃ'h}8FߩF^jn sY}5|u[r"N7bS1`IUbx|އA,`$ʥ`!avbOCGX!NYI/WZ+s7_PohP]ONXȌa8;f<2Y fHin?RPj]XC p?b} feI1N)/?]&[2r 5S߶'w ~%̌1N62R' 2C7-Q~n)kτE&szbJT Y!cZY p"$94ut5VzP+yp7K7)79l~"g||N`'F`MZebaa1+1%kHuS _Q\"(tvz&>e;2 >iJ/C 7NB?(e+=c/qBEfk=$<{q,i*3ip,~c=fj2Rx#ĩ D")ۅ%3P~d.%:lBWO wmxUtEJ4Ψ~chjۖa9'Ca%SkT b 'K%1Rolf3܍aW!d H6,˙dSIћ0p-/盷_}-)5ϜVpU"h<}жx `fNQNyb,Wfwư`$uuc) K y@N\DyBMy.0e\z$s z@>RmqQZ9,Fٸ<Qpv|lMzx ]AsoVƎ%LJtj0].& ]G7>I6*,N J 19u3@Ыp%-;΂U_x2)oq ( V5r5H^})sU3̑sw`NF8TBBr8s\¬z LCEfˆYKw29ڱ v1^'fc=3 جuU>%&q:wu~v!*/cl+"2j5qZ9ᜡ)]V1[Asu+> *'v XYlgz%/lAۊ `RqMg]C_wU%rmUzNgoq l H0I_{cYd}uҝhG&_e3𙚐nDv/1DHHBTvHH_=rYF+({WWdWJ;xGzjB^j1Z,Ż9XǕ&'Z"QoTZQvliF88(Kyh`"ߍ.(7 FkBdu[▲<9s<0DdDD%bu},RsET_v nՐsq,:TxVh=H+Kje&c#M^su ;<5MFLe`nͺqI%@ӕ.(tv sU1-`wawp"|-ANd1q=h› |UDx0j{pܲ,ȰJT64~²֘kD";Z guު.er,9FO!E%C\ m tWXvP?~y{9F}J7J5>9q/ =RަKeU|Ԥ٪N<`lٵ[-Ӟ@igHJERU#6YMz_mH/2u' 8FJ*bT,8M<(W"ZMS{sua. JRE.Wb/B&ih]fnqRřF6~'ƀ>Φz l&sKD̳&daL1 #>kxZ/qĽ #Q%Lc;vl18ȍHm3rU!GoHS42jaЈ%w*4@0#}\,CB] VuOvd8pvR]9mMS歳9]cPI ?HR%t'[#?фd;/q^nEWc)OCcƍc~kx.DpQeh|D⽐n`LIʻDԚHfu[;^ h)xt:q 5,'O µK<8ʊDuyDO_b7bsDP];6Y`8Ie⴮rEfIEun*;,Sj22 8C=m{cB$Y,XLXuZMQDFSJHM-PL`?pz,uۺr Q K '|{*l ܎#|kon)Vad)ӏ[ǣ%*ä߹q!0lFjmJZfH* 4'`GTf347O R_IRb OFjR{u`Yq4t5?#G`6.(Ӫ@!/2fl3@rkeG5`HTvi`nx/&28y+^O\\WG<}"+}1?t^O}u|A }`M UsNI*2RgDSp\Jɸ9Sd2qJUu.Dj(^vO y.">ZpgS0¡- gh҂O^JP ߚ m@gY rIGo뀢 У.{1N6ܩ|R$Ka6GVx_VGmIhZ~YMkˠQ%m-Y>1$c:TA%+UL[^uئGpAS㲤\z-ZlȁGB}w^dL D/A wj9$Cᅇ3r? /JzNG0=',0ЙfnM!st2.=rD*0z鑃8U5}{:)F,<" p~D3.cY$<6)Nk\eVI~'ɯƅ_jYu/|)72l%ޠݽL^7Pzm'$8n"Y@ZETz*:l2IT*ϽzS yC>0#EnJtIe.C\2nJRUKqGyptc]-?jdQJMc3;&?q@&jBMbrm3*ȲUem RORh766VxX{+s˄}<4 >WRA)!BEl^+wX,dC\ P/#G[`!~Ns"aW|:6}Fʛ(9xhn&IO=0!$LۜOul2XDʘtbzKP!cLbЉP6iQ}=Z3=Oa!w鯅<2>_L1U=0T~]k8V6MȾHTG)w* x$P8/cwi4~d2g(/!/w̑ e8C%i8*!ʺ.r#MsǦ[Ėz@\;S3uu8n|=|z} .{^hTO#W# E(Dx<7KKD6>it #>(0x+SKVV٭TnS2bbk%$1RLX̲qQDŽB6cATv)u=W)bADȃ$)"w퀁jUdP1h]A\[lGs^{x͑d+XGl?T63ItuB"i Yb'lAsuڂA\9d}τK,:ȞT~lK:8]uE9%`C̄ۖ|sױg?zū)T"&%yL^/CL<C8hëxZNHS+:ܲȕ4fAVtU E<*F9dʌT0[AG\R.@ltVDgb2iyBP.7Ad6R皃~!Pي20],*Ir=m`S*$;> *tYYPa lS&࠯6RaMI/ YF|dHBӆܻŵ9jC H8 k U[8VEL8-hW †*LAbP?Jޯ ? u$'U# ##[x %|ۢnHj͉={Bs9KɽmPPTstws M|#w@87SùP;X3zOxB!3a V R&ä {7s DEZBWHdžqEWWM2/f&flX$XԶ2?z_ogmKR4B",+^C8G&Qn5#Ÿ_%əwAe\Pg&l&D7evРC_Ml]n*MHt;iz05*==SAl򲍁e`kdED7_f]v{9 #oL+=aIZt8|ּAޓz3mDC6b_hoS Q@ur)+ aE(iӹpC^"=h^09`T~I6ypKc.6;]utldhVnJ7"^Sxy&78di3Pc,7 |UF]D %kEW:3C調җEs HԼ+v8/˄]0T~KDΚ`BxֵS18 ~Ǟ/\B6*gt"& )JP@ǦR<)Eq{N͢p7Ev,;=눱P@paЬ~L+p!#DM(h"c*4ۓoNH$ M]8(UB28*d : Q\XfG.@ГWuڰf$6ǺVM;8.Nn}Y춪?Xu*ɩ(Da0+Ga1ʇUUD~ϧ]k'>\|ru{L4{> {>gT=/tPyWOz-%&hW\H0<؁ aBf`Z 8 "؝4nxc}ݯ{AC?1"o+ʉE{dDRIĿ,+€FxY̟%8= = tHl/EYPMW)fRêװ8if|XX.qt'3R(.AGiNM ̹ Ia@Ġpں)GQo:"٣GF6вEjzgӓo]F IS\Deu1!?g$\įST3ywdkA0g658qE _;7s-~KaMЌ`y=\9y)Xt5smSkF7/3ᠱ0~g'Sk}vvK ܦᖮmEucFbvc iv>>Q_>VlٱnQOh @GIFKQ$V$sk\ce|q&dʽ\N6:0tU-&e &W.OIV&0#P%t-+r ˠ% ~];GpK`Z`< s;V-P]LG1쾵-;Y&w7 uΛg6f@GI]#B̸Bvvr_ 'riZ>&<,|eT6Й$z:*eXDVM"2& \4VXSPI0 ?U[j fG 4|h9f OEJ0k1Y?XO]ur/ݑW^FЋa~QLѠa" Eǒ{J`1nm H982=C7:fBnq֞%JqK_# 1ooاG!jnC(eƆ*`(iXf(G2oA8V~q|{{pO@# i$A+p(-:5c<즄0!\+w7R€\7{|dvKoCZi- pWq֍ȃL+w ;z n!bxh7DbꢖB!:@(杯Sg'nP XQ"'I|8|@, ;\+ ` @73Hj l,~id9sDH3 )--DYx"IQ.'Acw 4y.mteo( Ww+J: ~0L#q[방ؽ4tU-`c0hD5}TBK|6bz_Z] Hxϑ#xxI%@ &֐*[CKmhTVJ< _ҿn:t`T*T wpցMPRJu{\1ᯁe1~wbQyvOo!֕PM⮲H,0fq1 kd[ y(nUNū|EbЙ2@;۹WQhRzwp STux8]pN~ l賨,给t:ͷzoK|i>{2T?߿GAB`sLp'%ndpf>ipOcArUqiG1iQNV7oMGw+DSw(;ƹRaΤn[_)r)S'tOIٹ+ `%9vZv:*yt c+MX$yig#l絲ҭėT8S4P\}fZNԗT^p)@g\Ԓ^$dFY i`}~Ts!iRZ"_r-~v=6P!*@eUG ȨN-6f)QiKH6Ʉ^t(X.#|L^U7X}|IDphXVEotgpCtuk޼NEOiyJW]aR^28SLŏ]wˬ2U:8 nzDS9RL DNSe}eRa@x4`.6, e8MwU _rUNO/Ȯa];z%>xp'lԶV6|d)jjAd:D?.B*È3`_*NrS5# P)0Ha (9U7&Rh)];~[Bt3JpfO'Sż:q_8#!QXJPS>ΟYfjApX7*kW>8GdTYჶ]G Y~rd-T']JЂ*:Ez@Ӆ2zj ҇[@FwlV Ǒ L"3Şc.&Iy;#)i[-WfreY_ڝ@Ctށ@b&1olBÎ 4d`MЀŷx|Ж;#brSr#l71rs1ei_PfT۝zyޝmVI78ϳC`DE^*d$$0aj.#9 EBVŒI$pd%C-,gP` ]vk}YfOǓz됆+I*@Tu2I]H!xGZCόRW^B%-1''VAqy7L?R`ۀsZ˝;2+8^\`BHPeRDAi~,my9bVi'=s0B}NTK$-kB\6$b͏ Z%/ӫ}dLs1uqeւN̒wIbTGH#6ytv0h3ܳgi. "x-N]g[ة4 ϛg8Aw`Gw$~lX=rPJ}WImhwR{a(/>t[hxE{.j%27>>iaٵ8/i֕˱84:˿:҂cNC?S "ڜvfI/zv0B} bZ0SRPZ̚evj$vި2u}=ὸVGo` q2Ym0a}HRfqDW#~&ݽAiHX ;Tq)o8 .GԴ=\C?V{$+lVD|O^^u7љ!~:cuNg.qi ZFvϏ8t#.Sv;ƿ֒)ѹ Nʟ!Xm]/JYoj?u䁃%ͣVhV]a;B[f@ *TyV>yQ@HNpuC>e7:J 1$!`$Ѝݥ5ӬwinMHɏ'wpZ?u^nk<: 1H㵤o՝쌻U5(N:>0I >2]r[eI*vWCq _zI$ ן窂Ɍj .$Dǎ|ߵi=\DAzڱo 6 ks+eAbqD. Ҥ>-+Rz\Pd.0~;epOln `nr , zO8/f\!&ǷmqU_y aU!Ëb2!m=,/kW[>y:c!aҙaE~4,WF@UޤikU$`˲z b^@"~4EQ[`1Jb|߲@|Py"EDWlߌ:jA:aX Ę3uh6WofL*<#`#-֕ŐB<3ȱ8p乜- T3V]^Α~GZ9vUH [s!͝ÝtFWĕ'E1Hk4})&5 $)p+uoR};r.mR>NL0C hK|bI*hkY|tD3MG |p ̤nPbo'nL4jc"H[ѷ=o]HcyoR$4f[ޓPyyl0KnEbtUA?man\:Jڥ HM]&[ƕտVĶKkj?#z/On.)ԝAؽq۠ va:L"VPvj0fy ; oh%{L9X>SL\nKݖUe]8&@K*,uݡ2H(:, MySkOݻ X^="L_1W| j{) y?P*qSc8GHГ#=DI)1NzS&j$YSy3\U/!z} r2V(aJϲ:#Ts\Frx㙦Bm@ɆV\DEZ$y}4dCj 5J#6<(-vwT>2Кrmj!i9M߈w >M .RaZp;2Zg)W#FYMz8JY1!8KϖZ/TJ| P_`,ՓB@BCD))Y`҅ZF^>řN,$uPS|'맡%Ҡcp%05cɭUAry6tߑ?Hu%=GԈg|I$ ^I=GLQk{v5扈KmFkYP njl`1)og<n〈UTvwau\,s߼=US0AY  G xLMta=3Z '\F3J23- WmZXSz>`,y8. ~+Zm:VtQ>8J2垥\]bC'yڶR7n\GzU~Y õie=ʮ: W(s!~)@x?GKయiI(2Kb" wp>c6b"d z\XgT~ iҺtYkx(1ip p#CPmE= "W$anNdU-dV3Si8^ 5.N}E^_J3Rk-sjOaY>"N}2Iޓe%|r 6Vy@  -ßߔ3:bUcs(1IuC.%fAOt?`R>(duzZg;ȱɣFK %W1%UݯLS//[l;94'φ+Zo@| hrWFDaX.WrcVE*hh-AI ܳV^3&.{H?"Ћ#6(DrEAO#@ RZJ+ASZVQbKnjUa%lY3$`*6ÓXG9@\:}QjaJqA X]. wfY†RUm^Q )NJ<ð0?Nh\[er/hS c:ǂyjZ"ǽ.8߸hsJrF%VĪ#~n@' c.#Gy9 bj:LJ໇Ke^[paH]NȬV|[ܨ^kRI+pfw:Xc_}+:JŎ+ >1ƺPׁDgxNʒp 6k>f؁/oBE9ܛSocu93qEJZ,$YFq0Ŵ`!.;NC}"z)[a3]P0$ 9fi: yXE򺾝bL"T_c8v FkT[gM|&Ho֓*]e ɳGY]j|Xz kZG|7]ʈfRث2a8|Xz$ ߶9=CKj?W@~ BW{+P AxŊ AZ.'dj-,|+ `\aBk>Qh-@K XٹI48ͯb]_vNheͶ6$)Ux%J@"kSX$pSDYS7 >g6UF[qdNp-`u1ORb6֪iIS2b|Y:tAyF}&o[e `F2bg=,-jR7Fr0nDo 0 ͔Gf!H0CFi rl4Bni#2o% $sL"tm (dSVoaV>)1 J[.&}8qn/}b`Iiu}7L] 7&xhh÷yiA3aSɓ>'ba$W\4P J]"(c>C %씾F.a` 5&7 YAֶF}Jecz%oz;eX\h 4fa/He* &ᓓk8!\"WQ$5F^hUҊKzOt)?W>S`qBcsH+ 2̠ŤPsu[؂ܗm&qhgßf$FCD #'K06E|sWk,x)JJpZ,u+HuVGReнQhSgw k+(+tVl ,FvB REV-Y΁G[. +d0}齜^ >+l8Q.#G,gv?tnp:1-@.9m .q+v G} P%d\IXend~Ena.QUKtW//2M_[\ފ?K-͖CkIuDBBI&~v~oG`4|=bݸ яVP(Q{__:e8PgڃnõW*yV/Y^ZVZI:$^m]J a(,0&RW@O$mWMkʺ|VHskW4&!knLj-y8xJ]S~c|9N/mć ֳAB%+O1.2xyYzW~lc_czӝ!lWҢv^tз;΀VSf+WkQt*+<0HӤ<h8R;녨 zݐU6}=9ł;$`7Bq~Zyann|@y+mfzWiŊi?']w(k)sNYRznmT w?.^<-A ͢?S޳ y跠Q+f4@_9̵V4™m{VZ!0OK*b*`x2e HY'K (V톏iAQ%]\Y"`,d*M/g:et OZS7j7^I=~ #o;9Y #x5,7Snƴ؇hb~,fMb0n`qKMT&E+G:ue0\v׻M 9vX%:{G;Hij"Unsm|+} w^-ZnL,=?X/'Tu8 @ Ibg9[K’  ;OERLFoύdC gG|3a u`bE}Gd2k;|o1%'bO$[u$nK7@Ek2iMKč]m;P Jա Ʈ1kB^`4'聠,~5J;2Ollֹdx eŒ]=jAUteUq_LEǎ[ LX7?wwe%'нb6#?XX=mckxA*y1ܟ l4(Nͮ ^qoQH QgCᵴd3"0$OL^ jKJ< $&KF6͟waj~&m}lTSتBu`s`Є V,֌ -n)cV eto'j{c(~&MK˵2d2P~ryNǐBORXpk:BM<ώz׵ĽEڼd [>('8eJ%SD@n0'ӨZls(%sOi&R4]o/U'(p d+Hf#јL'Ϟ!{ڀb<hw3dJ;bk -zQi` {/0N.|َؚ*rZ粮U$˔RVW<31d4<4bֲiI\@7j9ur ΐM22XwnHaC 4j@ v|36;jv\ d {nѽbJu;Y^Jmwm䕬2utÐMOP(eh=8 ԚHZaUVs [ë;N؆ucl؊}K441Zs#x7K֨՛UAn[y X_L*+5>H¸t@~,Bu0 T+;|VF C[˽$6DPf|ڴܶ|ɖYo`qیx'6DحM]ZA&rҮث&= 5/ҿ `rƽFp#Ύ?kܿiy3 ߩUĪx,_t& fXMq>DFVh02[ް1KGw8QӢ0k|8{(pO E Ad…w?qc\e0W\S2 @S;w,9wk݂D Z^ةV:]e]%ߚྮH͊+r0V `\QEgY&:q:TddSP*Iz/ %"=gXn},J`,xM}/wA Ds^Dk&³Ep;P^~Ml6 &NJ79P$`CWS^n\@>$+ "۫3 A] t1BUȸ݆X1֕5gbcB L!Sƒ yV@Sɇ?ƻ<`:#JXi?R?. TCȊf#F}24!䲰Kn8>Udp `dX]UѰsCEXv[xkyL-碌lH|Gd3l)5e;\#GcGt>5KgjҀԍ!a8/^4ͪV8]y1clٌ2ZT+@8G*xz`Zf6ƗL.F:3K{Ey|PxFXͶ w@mG>KFҨU9ORt~[6a:L"74$3MyገKd0L5žP*5d53UlY)&Fn [z*TpѢsPXWrp8S& <԰T6c ^n)!E>u7ބ4z5E2Tcbdc}RwӘ`E"CLޅU~s^W ypëhLU9ca2X<~C.q瓹n hЁ,L#νwH?wHW;~zP]>vOd1o~:#9}l{e]Iv-z-p.}.jD&RV9M H:yT?%x̐&%jzYpS^3 XRHF+򕳗F\Vj-nGL!Hudp@K*laRu!7 (C2RY(nf5t$LrƧlwp#;!f8t9 g@l Z~I炦IkaS092x)XF}<9th ,aгP],# oU8~Ke ׸ 4\dQn0m L J*&`ƎY)4yFCջ8IG'?7:M&Z82%U MϣG.Xjtdz%68_#MA5 dӘ&%&}-wP {/YJ :)r߰ Xr7نne۔'A:G/=4$|7v~C Hq+9>ݩv]r/2UY,poKn]«'޳`qEO(}R[-xH3AA˔{An/>ĥ- 4>?U PH 9~dr)u%RDS4Cl!X+Y5hfYM')ÖBɽ< ]ͥGC XAl> ]d NU僗OQodT)$߶vP~ M 6ťmqPd6O]9cI-*Do#(5Jh}+ܵ5 X LX&j 9_ \ ,U:/'ss9ZRH5Ҍ8bPEŤ/kG``UWI]˔d^3V"rbl(kT@lO-+υ9 0H˾+7aD%eC'pg)wDEH I􈒢ЇS\?2\q!0-U`뾲0k7)Y¯3q)cCA e[$ kĭ'9i>胆{egvq>ry*Z3|V#' c,OVxuӽb}NU NQy*24rS !J\ΐK @ pPTk5#0zZT֨tgn}oprQT!\bR up]-ӿm$Ks̤^7Q&^cRS**kX.f丯.Q`@e9n]`!谔vQ6Y9w(8^QVLk=eUQJa1AqGxyBEq,v%07 f=boL2Ar1r f៛?w R* v孁p @EҜò~Fnm_Seį¼!$9w5〞=<DhW+jhn#i33PD6uG19/P .m6fq& mEx7,J'BG S C WSƟS\c).; YL[{3/S&e~0ېr V.=!VѻΎ[vbmY+&>`a>O:oΜ8o l8R 6.Q l*5qk ~O^M($$S!|Ӭ2;!JƳ~u DOpblf(3@h`Ju֢2 F  |PxR[ꄧx9Z9l0u["G[+uC0M.}xNK0|n-s5'AGn>D3 ?ޝIٱBJ`~6<+na ;3'@%e&^/Ң2NYH!O tTnu>FTua/(Ch[/' _{nQagoA8RRГ|DK%d ߤߟBH̚:}Opi$m[SBA yLt3$RTM&YKѬ0{ф&I C"QF*T,C01=Hr,OsϷ၌BLS{*!i[&"'-vWWy|x<#>:Eo?FZV0 J-¡ ]Ft9?)Uߛb:?啴`NE"Q#.>aecjX%qzMÚJ t= :ױ>{)/+NEYOȬr\u_1TB|gt}cHǏ;|ti졦Ǟu ։\a}(Eu [TtĶٸ"婤%J0 k=+6hGZtUG տ3㸞L!Z?*@}l2 Y`+kS^f%Z(ޓJTc ;8Ri6w$)T$1ס8/?j=Qf-m(˃h9QeD{Bn7Mk+f~`4@Rx֨d @ ~3$ c#T(qm Sﮒ-kՓ●@YB wesLէInXt < d 2;Z !޼g7>Woߌ}FQ:kL?0r_r7ir`/-;%i>R1v nFߛMmW#5SaӈwajƉlwoz@My{qV]Aͪow=SFu;YߵaAv8l EȌcB3Y. NCzL+SR [9*1/t7*L<'6b+;"pTm +ʁpKάy *@ wiX;jcA9:qh`GN~ZS,T=b`r{wi?M ,%P WeIMrρi b/- >ӲK<5 tNb)(H&]Y/#1ڄT|TRD*TY[9iԛ*H Zr )2,8Mx@:dYCn(UA; ʶdGFWA,NJ Oÿ0mnk!Z}%*yeOMfb|PRsHyrFWӅH6,c[Zgt Cl+ aaNυ`EjQ6nw}裏lZg.$41i5u*V3̎" )d)da:NگivdN@Iޜ"V28m=˜ۯU!q)cGah PtX!5  >v)G[O%{i+Zgއ6SzEx˦z|Lj>u=zFSb;t峠X Z6z%m] = DêU.c![ %3JゖD\҆CS z<4'PSC2+P)NaS0eJ\ 46d~>jNn}q~r2si L^6Ȝ"[,>NCK'͉=Aƺ8onp#]KԿ_%?Wyb:$#&4c?# _.WNbna N}j (m~/wD4-a]u3Oxmg!4#JHQf>E嚕0w BWHx*"vyIvu-_W+\!A*7lmە`+_" Tp+]囥r 8VLx-*D?'}n Q[iUt[.t\FuБ]I`wlXj_iE̴IR+eJ"1⹼6/ze-"R/1&. ganMl1-r#”)f^in*?})'dQ* E 엟%d(m_|'qNOh^ݽ23pɕEcu]MU! 6[z}Pa楦Ĵ8: (Ѷ],h{ڽ 3R˚YPA)*M7COIhIXfr5 J0ZMWHpU*NƎL ZݮXW֓.FZ3 Ζ{"8K:"Tf^J7:;27àz@/̣ˣ>&BlFg/7Zq)PsKQ5"P';;mI\XPb643nrPD>ܚN2B` i-Xʜj!nG5u`1^~PeuNvճ{N^`9$Pn0 ;t~ց*}0pa/stORt2$