From 4fe7ca021061aa20ce186b24f6addeacace98a42 Mon Sep 17 00:00:00 2001 From: X-ljy <17637938901@163.com> Date: Mon, 14 Oct 2019 16:19:25 +0800 Subject: [PATCH 001/329] =?UTF-8?q?=E6=9E=84=E5=BB=BA=E5=BA=94=E7=94=A8?= =?UTF-8?q?=E7=A8=8B=E5=BA=8F=E6=A1=86=E6=9E=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/book/25-Patterns.md | 52 ++++++++++++++++++++++++++++++++++-- docs/images/designproxy.png | Bin 0 -> 58606 bytes 2 files changed, 50 insertions(+), 2 deletions(-) create mode 100644 docs/images/designproxy.png diff --git a/docs/book/25-Patterns.md b/docs/book/25-Patterns.md index 345e46dc..16eca6f0 100644 --- a/docs/book/25-Patterns.md +++ b/docs/book/25-Patterns.md @@ -78,7 +78,7 @@ public class SingletonPattern { } catch(Exception e) { throw new RuntimeException(e); } - } + } } /* Output: 47 9 */ ``` 创建单例的关键是防止客户端程序员直接创建对象。 在这里,这是通过在Singleton类中将Resource的实现作为私有类来实现的。 @@ -103,6 +103,54 @@ public class SingletonPattern { ## 构建应用程序框架 +应用程序框架允许您从一个类或一组类开始,创建一个新的应用程序,重用现有类中的大部分代码,并根据需要覆盖一个或多个方法来定制应用程序。 + +**模板方法模式** + +应用程序框架中的一个基本概念是模板方法模式,它通常隐藏在底层,通过调用基类中的各种方法来驱动应用程序(为了创建应用程序,您已经覆盖了其中的一些方法)。 + +模板方法模式的一个重要特性是它是在基类中定义的,并且不能更改。它有时是一个 **private** 方法,但实际上总是 **final**。它调用其他基类方法(您覆盖的那些)来完成它的工作,但是它通常只作为初始化过程的一部分被调用(因此框架使用者不一定能够直接调用它)。 + +```Java +// patterns/TemplateMethod.java +// Simple demonstration of Template Method + +abstract class ApplicationFramework { + ApplicationFramework() { + templateMethod(); + } + + abstract void customize1(); + + abstract void customize2(); // "private" means automatically "final": private void templateMethod() { IntStream.range(0, 5).forEach( n -> { customize1(); customize2(); }); }}// Create a new "application": class MyApp extends ApplicationFramework { @Override void customize1() { System.out.print("Hello "); }@Override + + void customize2() { + System.out.println("World!"); + } +} + +public class TemplateMethod { + public static void main(String[] args) { + new MyApp(); + } +} +/* +Output: +Hello World! +Hello World! +Hello World! +Hello World! +Hello World! +*/ +``` + +基类构造函数负责执行必要的初始化,然后启动运行应用程序的“engine”(模板方法模式)(在GUI应用程序中,这个“engine”是主事件循环)。框架使用者只提供 +**customize1()** 和 **customize2()** 的定义,然后“应用程序”已经就绪运行。 + + + + + ## 面向实施 @@ -161,4 +209,4 @@ public class SingletonPattern { -
\ No newline at end of file + diff --git a/docs/images/designproxy.png b/docs/images/designproxy.png new file mode 100644 index 0000000000000000000000000000000000000000..ceefd64fe6149afe98ddd81a19fabe2dbcbc7140 GIT binary patch literal 58606 zcmeFZhgVZw_bqG(l#X-=9YmUlLVyHBz|aIK(u;tI^xi^~hh76x1PLG@Akur0qO?et z-b<*V_ulRa_&)c(zklEx-?-N?3?$@a@3Yt1bFDSk+zEcA2qU;lbNAY{YXq_~QYzQ3 z-GpAdcHIp34)97j=0z>=(XQ#Ji0n|LDxdsNev67$kQM#L{mkRgA!=dxcZa!eJ%+1?cG=^B2s#oF zd=6cB{MkYc6zh1obM-u=U|27Z)_Zj zpU1;+)0Zu!)dqfVMa{BHD?eRIx0YC@iE0n&o>dZyQit!hnoD)R*7$Mh@cIAS;hC|2 zIZ-4+RO~H{3E|W7*RXF_s&t(yb3wOb#d+_nv6u>@!f17b?7s8#eTPxR35XA6;_N_1 zri|v3U!cx gq^m5K2gNSeEYNXX60 z-pOzqgTZm0wU)$C+$=PYCMmm~EY`k_{CijXNacxev@Z^kB` I?elQL)^5! 3PN=w7c7azuJEAZG5}#R9)u=S zr(qIGly^6U%;t34m&%PeT)J}blE%@LY`Ahp4aIQ>b~G~DFX@DQ91`Ohx@Th|G>okl z9~k7-Gu(36GL{|r-eCoO#`S?aF%*QCvOtF)$l{fW?^gf&GQug)|24yH?E0i_V)w*w z>JmbxZG +qtSMt2V6wb#zC3;%BrEK>0S@a8vb>TV2d&ID+`;#9D(qP=7QE_Qm z_v?Ae>FdwkU%P32Usc=xPSkGB{QGW1xw?<#cz)UyLcy;-jpLk>9(5s&^VoiqamRHm zOu$cg@v{IOeAv+N8UCjd9_{PVU|wT ME|OH14 - zrsw4yKMQ93vHkJhmrMkxl$8Pc`y%31EuEl|8kMM>3e{6$_-!$|f5e#ag!kILpDhi{c(U^E5NtiFq+&tI<_)Mzf7|uA z@;9;;Upif4sQB5EQe$N5%QTe8OyNvniGksLV$NK)J ulZby*(?DI9Pnia)2@ z_)9!hjDJ!@EpI1h$y4{TfFiE ^^2YrWdw#(c#h2!G)S67;}F%OuXy@i<#pW5P$Q&%-zBfq 1TvKVn$AhyhpW@y1Q{q zggx%oKjcIMeu3m{ZpdE#_uUoT&3P@oZh{IO8`&UrQG@vrnmkNvLMX$@Z=I)G>EsMo zh-Gz!GJEft;0qyXi$M?IX(c-LbvnjRv+D2X7n0`v!B|`J)F11$dyazhnt7VZ }Hf6cQFA>Z5bHL>?aT(J8mQdccB$MtAOThdZ;SnCqE1D~9G&hon zdH+5 lrm`H6LsoVl!)ZAqY~_7EInB8C3CdLn7IVSmLA* z?=?KPVN=_$Qvi!Tc67bBV8{JmX1N?sG7U4r8 O)4v zrw2YhG6|=xDD s P)uaBF-X{N6CdH!651oyuw8ZcleFyQz=e5fC3PVh%$h-7t@F#_|4ACID$ zFKX9zb;Mq5v4{;CA>T24$YxJJBm0w)3b(@OM$ykeMol(!#Y@CaSxWToaw< ?+Y!5ccCsoty*J=YIzEYg-n zYzI=I>l~A%!d^-)Ewb{K9>{Bx5+cNpq`)i4lEx?)137QiYVT&7MS=Q^-Q=QyS5&@n z-~HHkd1_~B8J7!bEA{Uvx$JP_J8Ur8IJ$lK`(_!QCeDj5-GQ>3+;wxLXm=bBaXg%D z=F|rD(#6q7$Rn lqsQ`9U|gS^15-d6c=He{FS}lR)@PTuk3I>?|9)yVE6P z^AJ_AcDQ#x^F)1QX?*Zoaei!PQv^8Ghiq7Ti%c3}B6}#a%Ze7b8?h9*d9|HYuMo7r z&xvt`99rcdmi_wy@k7fs&9@SoL8RQe6-xDW=-zf-0*9v4wQ|(@QYF%zwnED9uASKG z7)Nf^;Ag`Xs|q|Nu`@N1PqWpOdHZVV`MwzC&vOL79=-YV)Al&Q^y~J?LYF9;&pyKY zOrU0G@`tQuq}ZZ8h{1STS9z$S)MV1S sTuNy@p2bKkq#;8RsY^k{%zQly8JjH6SI-@stmiV7#|(b6ghV!RgiBNE zJh7}E$wX(HCg+bwL$kECSEKKo9OM3T>)wsjsSoGqX-Oiyk}g3D@LE`3Bdtv>^&KMm zk8~bVw{C=1BD>v$UuO<{bI%LC-4pGnM9U>swMh+qXGsbj@KfTMxe6!>|M4ArkR4|p zCZUe7CmOl;Kzr0E)Pb2qWK^j>{P*uxyIVKYX1-hG6FPK@Dh(SKK)G@txtY2iOKj-m zlXZfM@ne*2n^{&sIs(d$hY+81w$Ns3@bR9>=4foqN+w+hUgWE2*j@r%?0ymtJP>mg z*YhP$ptY&vM7s8N_nm+(3+nbi-|wnrQFjenEAYP1IczTQN|;IZM&Cvc&w5cPip #BG+4dR!ad3X}5Roh~X*V;$KFKiS zg*X~1;uJrC+Im+{vA(6La5l*@%m_4oX%uMRU-zJ=kI{n}RXEycYz=7>dRUHl;QT_0 zUjSJ@D*#!@irVs;CYJOf8@k$=f73%!dr)Ya>3Y>i#-IFU|FC6|^W+sdMl^+;CH3X! zKih6)G2ZDAvKh8Wsf{N7B`kh2?$DsUl1uMA<$x%h6{;r@oOFyXJP)8{4TOj0mE(Uh zaFZsr#l1DtA% 0}<4$Ko^-2L{`GnVx(t4nt z^GlBq7HMX>zzt7NV`L^oeKN4~FP!U@&sf s2{?OQ)vj>&?3Jo21skqEpDRySv z;?><*y;cJWb_vPmKcBm1Gr9Rn1`t@a81m;|p}5FjP@RJ);`KxePztdzyGnUEfR37a zQe4iDJ_m!;B`LJuqD$cp(-PuxITB6A-U;(@FArKM`(4LZg@jH8xhprH%YJ2aJ?tIL zDX6FDf?m`Vj?(00xp?wc&&_NGicfyLMUiG)#73dSCF^-|Adkp7oBqiVFtUhb$*oy_ zXjpHvk ;92FOlFbkm<78+D0N-Fhw) ACg1y <75(S=zxpX+bKz<_~S&(-R&eDo2e!8cs0U>bS)5|owZ z(;gNyOApJ!-z?FQ;V)F%gR=ZEt+&H7$c2RWimv_M`_0i{bbgx>NLVQJ9is{d1a-1t z<8w_@o*Ph3%jQ^(yA>CE7b@V5UGCb|$7ZkR5*CwR9?jCJ2N6R(M#4|xO1je>aI^A^ zMY_c eXZ=i*Xb52t5A|qn6-w+pXNx?cC+WUdiMUL zOG*sRE&79w?|t|9YU8)V9-yNqr;a9F8fTQhF-=zD#KMB F>W-|?Hu{ScSFf~ou0 zR|X%#S>G&^K-i*;&2B3OAN!Sx5p_Pim&2#Mgr)&61|>^V=sd}@ui0-|k;NyusG>|( zV)h~blIVT$W3FPf%S!aLPV31Y_v$7s~)5_^}$&-k5Yz$u({_lw|hwwnS+cd?j<& zP2-MXqj`H;C|?{XXI7gOKPFwOd;XI_vQ&4a-R#FNhPM|d-8Tr7#LpZnPu71l8k}!` zvh5OH^vn39FVZ12<$(r%kwcWPRV^kP#=cg^t3O+_p`8pi=a%=oHN;^PluRHr`5;)l zjslf#38_ZKkv|m6{8_|sj`_)|9#c=sX1hIQB)cmEM8_cY!x)eqEluNp)s0+Ci$(f9 z(W*BxwOxT^iC&%y&Zt;AxisRiQL9pC+i~>aS`MgY^J2 Xhtlx+?&$PBlaFy_pv0cjhmrjd(8c1xBt`<%}g zc*i#3rNI l(uBIq~Iy9LKAqZ_ONXk~@}PC3uSR`k7R5>lNv z?(xKfOe9z7T^hE~hh$1JIr^(RTerogpHXX}jX6_QjbslQ;j1jxK_D)VZPfT>k^wvT zn^ptXR_`&E4n=y<4pQWO^8xRa^ K6-|u~*97-JE|qiDKe|Otw61bsn?%L}%B_Mpxu>t#VJP!oPmX4Ms{2PkFcI zG=x`QeLf@$`38|mgsuLbdOD;ZE!Ay|fKt@$mlgQW$La7QT_)X@xU2xg9H!+GZRajg z&|Y&}&dzGsL^t-$S~bmwS~E01sX}zupE5($U0SqEGf{gW_nEETW gfL3sPoW zvL@WLn|1-eXU{-Qa=gw>x){xcG@SCX(Z0_ZbdS{j|8#acZ4zi9E8O J^5mvz<;a&Bg4{~X&bc<@!aFl%> z8HVn3Fx;C*WNotvWHisdzsFZ>3ug@%f6^vLG?zqQSJ)y)lp{QMlLQ63c4+z3dpd@k zL` ##Nwjx`ptji_^7ly&r)&LW!RP?CE;_#d+!D(qW@e z|0L&0P9*%;Y>DJYfwwVgSChf}Nh}=ALg3*OQMl$jEQTkp{*Uv7XT`1;S=u@p#vprx zol?|Dc3O=LI-dRjtqRY|`i${8cTEI38vjS4>d+$qv??g15#&$YG!=vC@IYtf+;~VN zDJ0Ut7D>Vx6z{n|RzZs3i{J7u+u;R^&kgk`!7-zq-C-&&SZ>@V(@np?b1-MuDZjX=VDrhIO}^4W&cLH>)Tcg~lcAvt zk-Xha>SghZqi(~B31@jk9#2`nidp;Ag7Eflmd4aT&}T8_&UBlN`U@{oF_&>W*dfs8 zVNefa4nyr9s?ae!c;>p5dPfSk!I!UUtCH4;XWk{ax$$96-sj03G}WF4si+Z5N~w&9 zIz|eCNy&8v2#f5$6#VlpW1TddKz+qp@~8V18RQ~yRTv*qrhx}r%ssvWU9%RsZ)#4L zxj6NZE`C4Bl%NUa;CT_8MWnb)o3R-Z=COUaadFN8+5F?X1f`#JNB3~`qHC$Wc7!}N zsjJtzz2*K1LbZasmPt%}uECcRviiQ0*0V8do=r!OARzni52t;JdS}g}* QGZf|Tv8i2}XYcsqj99*=~X^O!x>IdG!4nFBqf*mSpD6vuX z_F1bd@?iOjbcv1J83tlnNty8@N{Er{>YP+lA)A;PCvpW{GiD3Dn^o$>8}p2bcX4K% ztJ_jI5DebU9i5(D(M=>giQI|FY H*1C^b>wMTU3{O3HBw80L5x z8`ar|Vn9` 9zBcge}Sv{{sjv?HaP1eRzYs^ 0?UvkOy5XezT Mcfd;gJKNemt9py9TS8%g%*X@_Vf{GwMmp`dU2YGioQ#~~gzZblktk$bG!6dXwQelyI zyxRlaFSfl6GQb92d#~@d&vK;pxxOrKGBy}u16Hc!rJL1#(I8N80#F!gxaSfxcTw^i zSXy~V5t*@(kQcP7e^saios{RQ#kJuWRt*=GK1W@VG`rmY=HzyqIE0}4<&(~dtggE* za4&chS{k5vpBCoL&cMQvVUe<7if|ULG*f%u-?9-N VvP4m+jfAbian;V*urfkgred(0KRxPueo 6zDN7LO8<%8 zdV1^6;+C$I(lPy!teog$>sXuerO#0hIr7t2NEH(@ip{x2*OY>oGo`q!Ta+w^%kPWU z@b&*RN0h%NgGdHEU3^uixOnMhnRoy7vH_`X!@!Ft!o^kbMcl!k)khAQ#pmqu+kS9S zJLQgUA!A+M(MU@K2EBQpoBlLzo6C@yqCK53uFarB!{#%IkAP1> 9Gzg83aC z@( +NNt2&vB254u6lt048o)kn)bb+Pts6#QwB9j zDFkb%)881Hr1Qv4$3zsRsVV#*UvTqf`_;E@AKKAP9{L>hm<%erDaHOPIyiZY?C4m> z0c{MBhOd)9PG6Bp6Zf!=11s=DqLNwRy~g%zOwm2ke~SvMe~Sv|08A0L@GAMcG+0B{ zef4_|TZaBGx^%~5W?0KV*3~+9K{mch!uQYRO l 7NA+W-5rv=Tw- z5zw?MC@WL}Srw|`u*Kc#KExwH5}Va`z02k+8}Ss=ezh?)s%@(Y5ww)@Z+sDEf7La_ z`*$JtgFrnZb5-fqBMq$xqpSvQMczA>uDoKI6jsS!I&Ca+7a=-bWre_kq+?qBBQm5S z$VJsR8J(qmH1vI+_PN^0V?Y11IGQ=Y;+U=2Hh!Gt9h{k~aMoQMYWVmdy9HwHo{wXt zFB 0j8sk~Pp*GRu4<34qxWNgxLY1*&pR4M?er=9+XC z>sWHxA>V^ZnhTuiM!|6zl}XY%f@_A^icPx1rP6pQ<+qf0(r^g#ZC&Sr?gmC&WrV7K z-Bc bzp9Nyy&CX{#g3U11FuGQA;E)($;EHEl7=JEfe zN&1A1*`Axtl~}|`diA}3)~05nXH4Gn%lOs9gTB&Gl(NAIH{SN#oZm$7{ki+ke(_VZ zN?V|b#iH|_wY{7o?UA?!hq$JfUAmZI*yw6ogx&--sWc&-w(qnoqO9t&S!4aTWuGS4 z)3@oGXwr)AN;)WikSf5t9-83__>sTK)1F>!8a+ `FDsBaK xhJ*p>eRz)$^iaNYTJa(f-+18_^ z(5mSuU|U|H0rW4mEJX@2cxt=( z(|r+Tgui(TtDR|rEf@tp(j+C^D}4H^_w$z?ep=X3XF`gFR)_)Lj(zl(Y kL)^C`fOKu zk55HM(#c@Zj`hx1SojbPkTp?thRBYadw0b12eZH;@Qqs{2pVPi7G%fN1fvL!=s*GZ z)V<7}I`6VQjI^{zi}U?Zj?>djzAUrOo70aT*uA0xzkhR&kP6I*AG9}7?|t#7z@WaV z&hvzQKlrrJCS_A%F3@wPJZiO%;^C@l62lW?RhnS_39qeD-4dl!fTwf`jMdN*RuIzj z#b~`x^=|-@QiYY=LUam&*%zQ}05AV#-ct|U03B5OoF6t(mEC-%?mlSXeP-LnndMi~ zE%t*q*`Z6AM>FJ8iKBikgf@B1E7_@QBsim#2g^#>qWvk^^=*IM4hFASc8gz}mO>B4 z9aJF`4E0tt`;$3axg}k4-1NTtmHXWQ)u-;(LT$>L>~*|^F6~p~+U^hIT M& zeV(KOOBiuijN9kgkC=S2YEeOQHk+Wg>EFh^3+BozRnc^tkL`1ACfCTd)X+5aFV*up znpcIC3tNe}jg&Q;FZM?-JZ|TX))W~W=r1$Vkmo5=BNYayIERc*o}wmF^!J>6^Zzjk zQfMS9{SZ#e1+jmYs&~ZM6Y}*Gnf+^N8vk tlFSk%EW95QfewPVijt{0)T#Lsv# ;obZ=3H+v%y*#N1JQZ|Tt&%Ln571B05k zs{taFRwol{Z4t7+k!Nzrr^ds(i3H{cP_q!r>ZMG>=$C@BZ@mGI`~8c_v(`qbh*-^# zM69{TZ&<%hO0=nxe#xC-RW+cllabeEG2t}y5@9a8*#TJE(3e0^2E`NnW8__8hJ!`b zq6+oA;eaMjc=pRSLKO;#N~;(;rXA$IN^*WYR4-Wm3M;{LWdEBbalyqdPIopJ5^VxF zl3kf0Kz9P&17mopb9gw5P!jOK7weIDXBKzZud2lMy~eukXn~cK4ena82+&4K^WTd5 z_ggtq6c%H9*W?t#Ef!dbutZ{7+w-}@oo?|Ib$WWhYkH3U#+_VD&kyLUdXne1+RvBz zTGkACUX6I}_Q22p<%SRN_Xg6to0SyIi_uDAvJ4@G^WTe2#wZ*K;?v8FC&&f6ndhSe zg|ULVoxi9tt=mS8GblV%q)oT8erx?}qh-wnDbM}=l#5dito*C<7SY&ELNMdmOWL;A zCR__ 10VXabq=gKNl>+eUW;`&H`TLn^YjD(PtYlj!UI)ZHe zyt!m2*c5S#2 fCZ^3lrfNDvlLArheVB!ja z5>-PCWhqUh>ooAXv5`nzmjo(;c%pf9d5y8$WkO~Pei-?nr;c32Qo8Q3Gk}yCL{yA$ z`(HPYM4tdNv^$ UOOIUW=7+iEUPavtS`)~S< Py<>hW9FoGi9d;}ACFoT zJe42&@0 0?OO`3ApVO1)!!z0=Q^4&rT@_@D~wzl`|n|%KAfTx%SJB894K=J~;gb zKvHu-YPxp-@Ata^2o%GO+5^IpPC=b}cE;HV+TnugEeT(i2rx4~9k}pg`G3#zx{(y3 zOcuGRIfi2JMxOI_tH|@bCV8C4e-ZYSOUxp#O#N`p#yipPK9?94bZr$l|1Rh4Ao^Ru z 0Zy81hl0P2y2zx9a4;v$1F8z D_+p0U6 z*a*1CSMw+g1g+i*xtx(B^sg^d=WhA{MwkiZ3ji2Tku85pecXb&WAhoVf|`%z7l$Zu zfG*FA0eSy8KVE4BU_~qV1PEqXt|36HV f`^>Ye;NmsN!=c=WFZJ)YvPCD;D$ z5`}wzKiv5;X#_U-?Z0OFafyy#y1pC#pH0IN&(@Edo?cQvS(u&&Z6aXuVfqMIcPtg& z2ewblo^o@=+iS{x5tyC>Ot!}`CX6y7lFcw;pM`G<84*`#V%+{PE8X+ekycL$(3%SX z6x>W$Bu397#I3`Y0MHi5h59`&v%N>(j&k!4y&GNor!F4l1g^dTtRH>AQ}xI12ZNR> z($5M_bkow=EJq4?2=YbNzcDPYJcLPg1DKVd4#zG}AEEt^2g8qOttBeU^8SG;p)IX+ zS5W|Z_N-RSh|uW)!mbFyn=G$q7E`<@6|M=>sggR|T7^gKOU%Ql`?{yRFU|^qwh3F0 z1F#>ls@zNxwG#j3DQA3*@lzL_ath6;#yTm&)7?HLu6p{2{C`40ut1-vk442g)PiBi zhNQLhJ0R1uj&?+O5M!XodTz>%lbBiejam(@rK*j(lLi=rXMgT^lA`GWtDv%R`LScL zi2B+ogtri71@UjE7&9h>X#mk6z450^>l?%0hv6iWs~-C!roqQ+xhW5IG)30ARc}5% zq0zJwEj8>qmeKi|lCvQokM;imAe#WBxenMo6_1Qvt!;G4(b;Cfb38yGpbzylZl$t? zt(i%|*o!m2td$vUS;V%@K=_|n$7e R7H+$hf0`9s)2!eon z;>hU0wr?;)1qK*EX$(J_)Dk~A*hp!MvYM*%>^p%VAlovUKyv*Nb2QKAO|1_!zpyzE zFd6HvOHO#FOElZYm=X~0HTGvQc|t1EkD*3QK~G+o)%0q1Kjb_A&_t-SHp>Sf*~uRb zH#*fzN4wK u&q`@AQQYdX8ptJvMp10ake3fogl;MG!7aj zeyqHV3IxI5gXbb88 |B7gU1~_;=MzxoFLqVYP{<|cnK?)=g6_8FJ?GrusM;eh1 zUDOMJ%Hk1FGJMS|F~;`F8vnV+OGTmeHmVSl7Rt_Bv)RCD>2sR`7myWbn4=;O{rF1% zJn#Hng^Uh7xHI}#mHHJZl&{Ve8@`jEex>fK#2aQkM7TQGAl@s_mjozZ+XFJ #KK6zP?`3Hd;}J~9|(DX_xQ{QU3QJ3b@gT0qN*0gk9ik|SmUU5`-Z-LpRGf3RkLFF@uSt)IcW$hUpKl=wftD*E z09;i3{DjkrdU)i!)gtpZp~w>r>h}!aJ2(wus~ko%q=<5$q|pAHQRo@FI7)aeN~G-U z>Bi72J8p7b+MFVgkvtwMxmf80tt uaJQmcz?>zWQWF`HR-eRP^n%08v)B2|}efrd407`hPgKSRvQqI+cKh3@} zi@9??`Fy=rTkAW793^bEjV-0p0_*FWW@UG84)Ad&%_0T0zAKGYI4q#ngoCK}%X)n~ zYk;FPy(nxiB@ e`!J9jhPOH}klY}O~U70bM^?Z+KBc4GB) zz`2x+*yMTuQkJOJbbYI!sLU}P&34a&!Qv%ZkM*j>ha0=PcFpA3imAuJLw4Ov5BxRK zN1vAoe#rY8UdY!2)Y9z$E-Spg1ZS}CF`O1ru_bX+3gJXN@y!XOmaLzdmtJPyhA^|u z1boyD8&uXRro?h9CgJD;?=y>%!?aOn8^5+Mx9C^$O!}fX8}9M>VMSTc$$&odmBE$D z#nfbY=WKDOH1P>8$m9C?8-DMaVeBFUy%J!N4d)7qcdF#2fHN*k@Z2qj^g%CI>T-sd zggZuOUF|A%!@Y4NV%VBSdr8Y>!l_RV0afZ3uBCQM*xld8n7zq>r3Jb?zUE|U^}~1+ zX5o}=EX;GCT_;DD^|zQIu |;g02t}vO?g Vu`>NB=)Jswj64hZ z(9`%)+ s|rqlkrotFA5uQb3pzR!@ ;mviut038rHV}>-(#~7XygYHAR()!y}V;!BPHJel2RBM@O0VdRu~3&^91nb z9z($5yZ3 1A%~X4U)<*=K@j8~mcNDtx5nyJ}+rUEv zJMgssCLR^gtw{fInW|tX$_YH!KEXZ($@~n$-Wmb$K>z=4?f-vPtG?#=Mi@rJ+FwNb z8z6)~zSw!vZb>`8yMop*@T5LI*kDi;JDPihqI2*gQv|0bU=lvM1+#&u3r3i>3y@w= zHF~_&MXS`D)RlQR3vr#m+KR#9q&GWFjGfOsfEwO!t$d945=J(>FWfU2DpuQ*w91oy zbv+pC`jHhN_U8>tsm;j!ij2 `^o(jT$93X<;Ng-BL{W2gYcMkFUQt%0hXGbg2Gq28K=hSAJgA?F zaNaL*UEOhou4ku;FPxP&1r*O4NP@=NGh=8D`aFw=Ao>n5+jH@8(`i}vo|)S4e-NTc z46w?c?MK~d9Db|&y~rx2uOJXmAp++pfrGc^@c;$f7ebT Sg9Q1l{LM&y&P8(-cqAgG8iA+g|%`K$yQQ;bgP|BcvQ^-HE>F z+L`)D&!;nA!sAQ{ &Tze`wrQ7pAiZ-LIbpqrh1ocOF|F6C4c0 z*z9{_RZD fb1D6VFWEHfk?{T2>dto6nwQ7E<*(#?oa# zgfrPHF-yQ<;<-D|?tK46^@OS{qGU;XU|3KtsZ#8*4p17TT$1VlRmwvLXkW;C(jR{d z&v4I07)ThGjyAu=Z(kZh1)L21{5WM}`YSVgyWC`|uybcnU$8!KzgYC=0-$g7-Nh=9 z%cs0f3cEyB{IGh+>~qIlw<>!t(>NPgHpIy<$w3^ wL#a8N>*$poj?OczV5 z)*H%OQg`_#T_oMD-X|{AP>cnLF_EU&Ye0!x%AeZmI+?6=WXAd_w!QYHk}={4@H{tJ zrQL0&sz<+fdNP5K6;km${#1Wzf~|kBdcKcR-M~N;vw|Ce)f Dc4bs>wVqVpJx}0J`^VAoN&!b) zUtY?=l(#n+^ToG;yQG8klC%N5_F+JM+`4GJvr}AOeqcev(5#ba!;t>VrI_A=z=E1> zdsl#rQc0=@3dAMh1rnAQYNImpzN2Cu04JPkGgX(J`+Cy39_=EG*b^uyF-zRNe*9oB z{c(C1_M9}9rs6Q&0B8jzl#}9){XDWJER%g@$!0)?CZlv^5ukwXw=d3@cB`Kh)KA(H zw2}7)h@b8Dh4`|fatFnpLxgo|qMtfq{-`0ohR<3TTmU6Wlh_DE;mABGNx7WfIC_GY zq2QBMhRaG`1^ZS#kO28bD~fQ&sqU0_R|)2xt=0$*(QEdB`-hX&&Wl-g2}U_Qv%D|7 zS`l9i7^m}szI3i6#Seb*`lW962R7+-vi3wUgFnQJYUidw#E~m!gkC`lWa+?Sj(?%b zEvfA7Bt@>?JYFQwBI3rLT}MZVp2w{#DVV4m8z`92?!4yi6FHLW__UtrxlX>FI2)tt zP>D$xM5kp%r~1$|HZ7w7Wp^wx>!r}dliK^WSk@#QI2dkO-1;Kv=Syw2p}dw%Fs*Yu zt!1H?CRW5sD$h-V?fw>G)o^=52I3%#O2UKum9nm0=pZT_ow-#f((uxV+GMFba3%kT z;&+F(8(uq!Q~2J;eJKwKwRL=7=N$rwOsgomRyv$7c$d~%W^9yI4>7fBQ~2wSYHsI1 zLk*AO%U(gCvfU}fb|<#eyjAqE8vS^n0_mOo44B9s7@bFD Xfy( zY Vq8h{e01ZoSF z>PXoA)^_+x9_>kUH76gf&3KH`c4^NGS~V{XQ_~o$G43+eqB!tgVcxE5uGOU5;!B2a z5{FMp57@C?H>cr)!C_&m{2zsJcJHG#t%vE?Q;J*O^>KhxobU40?tYwuX{NG#@64H~ zxI>Fri)4~)0KAZ9P}iX|fdAoW&7P3un>L-*id7q`lhzkS)>z42fE~XDgK!n)1lgLT z&MMnlptF=aAhCVgSKAgiolLu4yXG9(7FY9jUW>1auY7!k-R{SAXU2d$dX&|=`wmY9 z?oAv5Ig>#kx9S7(Qpd-S9( RZ9qx=dF5Mc{mfANboG_`n!HY@brf^Crfu@@mTrs?)J8k zXJtJQU6c0*!KgU<3>z2qAL}vB_evbcPz!67XUIC07Y||Iiq)v>;;r7j80(T78dbWl zL Rz_bral3zAaZ#t=m--$i)h73qPX6qjIsYD$<}&48;c(oFF^#008Ew}i z IMw?)}ppu=_o$kP3G7k1%eSqTkfw=?5k#G$7 z9)>`!{K_ cy}kyKUNDiVlPu_rTdlWNS88y4*&m7_3* z&op59j;sBt7)!m*%&xJ2s;*;jW8ckB()0~^%^%!P>(p_7zcWE1IQZkYT(>l(Ud*Tr zPq)#~U8!!MpOZMMu^!Xdzg|r%KQC4`oVI=!z2IW 81K_!$fi$EngTOfuswiVZC6oY?SL9hH8{aLl53tynC1 z_hR3rPS38qU;oJc(QHe&{KnoBu;X4R$dYey_KzOGxW(?Gb$2@G6-8%vZP$+${df3k z7zdK_Ryehs_diR&v$J$hA}t*Xh#@=saGnbGQ?CC$yWRx3*ei~Cr%~9;_Z~rMfIOeO zxzW-q)Gv-b)V$l3*@7QVD?E0?4#R*{Vn8 aig;XYu>g-SAD%wd0 z#NPAK91N%rw=pnAG&t&RIo0N~AEciqyZkyr bXVAmc+qya&~Pc#U5+8k`iNWuR|&HB*7dAYh_r~_?QG yBY(GqGiJ_#M-yMA3 zM5Z$J1yQ#(n3$da&7kbweBx&L=yxkVbMd k9dPXV#*yK2>H3O{rh8e&-(MT#z;d+F6 Ij5>&3=v53)Zqdj=VeDG;Xz=Y|$2XIhSC6%Y5 zE3?+w-4!?jn^EA^dZZ0s%816q`VLP1;(`I+zX6cbwpa;;&rO`nPt~Xh`oy;4$&-@3 zXA?mg)g@}sib0A)t1 Pn=uoZp95#L0`H~ZpwjfV#DL$W%#6>Aj-B7%rD zw!J6T4ToyZF~5HP@_jyae)iFUf9l2#2a51Vkmp=UFCZxoA=GM|T6$lgDv?4XZ2z_r z$XU70d{BPsdY)x-zxNoxjCOw_f5kfIiJ0fn-RHgH7scgIofG3TEIzv z31Jd-e)$!&W#q1WTq-*}7v?UK)`)c-uXXQlV)$fU&h~U@E>`GWv1$i@NcGSCxvLA{ zUh(~guz%|fru#8$9Z&7lM{0tPD@K)A80MI#>eQLjvc(^_)bS@#{jmmMAk|E~4=dBQ zXCVcWscF9!W5kgUh@Hz1cPOaz!1qb0+2`K?fR@0IAK9*6w^rM$kKo1%Q*ikg&rF(f z8Z|7aC*#e&%4tt|S-5j5S(CfV4b9m*)u-x%Oj ^Y@5T^F!y3>PzZ8ieF!WV8>hzSR9FhwJsfTw0y{x)zPgVCG?7w)WU-bBy!rE-gR z8D(6^n|>lS=1ydLs<+sy);@{OT^+YQ;}sQA{Zv<66=r1fzW8Lp8v7PRc-o>{3Rii= z%2;^G{+VeaoHr;*{IxE=OF+m!BjZbmsDSbxgY?%>KURycLaVz~^HQ2GS|i;Bo2+KU zA5A&vffjNx$Ch}!B5=#R`O@rZfz#F52KBT}ND%k} sjYR+m=)R0aQn*sVr=ir7_ zb#&6Um1_UBy>{@T@H>=Qk-0OO2$?E|?5(~=%urZ!V@GVcd)P}0a7%U3-C+P72}Qn~ znl~`e)R5iuTirtBLE08w8kQJ JUC5{(QdWGJxcFm 5uVGiY#CWX4j)AjD$9@JIw=TkkLnC8gX+ %L_t#*$Sy6jarlGCH z$$JVzG=~g=w?@M6(D&fP>_55#Vs5O_?$2Kc2Wy0t)?9C|e)j0jH#1p%w{6JKzKDKj zY9!@^UvYh9Z@aFlOi+RQLa~otTa%#N12OK0dfsVsZxz6->LWA!{u&x%5`Zm@C^|P7 zkd>1I$e#Y!9j|B33Y;1xP4q{0x04tLl0Cn9XH4Hg?tW1V2)1|z+SFu`anB0J$7G-Q z3dFxgo>lPGOjQ>?MjQF5x@J8^1{DfriM*JzDTueAQ+SYu4UA~P(f;&qPT%A4A67ig zP8AtQzDN|oj-U~|53sF*Qy!AolW7wW(q;R_6!!M6^0CKY #~as2lT(6{ajJ~q#N^4$@NwRWpowg$6ri6 zdghxk*~tZbA*E6JIftiDePyzl@pUVo<-Cgz!;59#Pi;Ymw(Et`ut{dFmW^XC=E@y{ z;}b;njU9}t+$_i&ykC+2Gdec`F}kd%QapGGNLANX)}*Ycq46O0UY!gkjW}k|Q5X&o z;*PxM_kUBy<0A<0wArR<|&-Lo${ zlS+LHMg8m#z7Ch6Ud(BgTdj4f7uUG*KdK2y@_D&! !dgTLPS_MfeIi2qIB!{|HzDW^X=WUQD%%$O*wBM-cO(eagLf2TY0 zJ$WaDJgb(p`DpQQ?zMya%9F )1plQ-0Yg z DJzw7hkr*Yo=_N4^E|DW@^* zHZvVb2qKePF+TFO6&C<+1=}?LVM+~Qe!z)Hl|EJJC~3kidF`drI%v%Edl4el5LM(; zE(((^exQa;tkg@y91Jx5E8qvoXTlK1M|&WrJ&~l-3XiAyzh~dqm|T!YyBGx`$B1>t zXFZv=cImjjil|b7=jZFqbw88#llds!8lkUXbvcd~g=B00Qc2|F7LZqZ*Ai6v1Yqxj zUu!}rT|okYt(R>NI_8I`YkaY+OVyRvuViZ{!?TBC2&WKJa@W|Yy{a_i(~VhCF^`D? zu;N_r)G+k1CuCQ?{xjLY4+9Tc1 K$Di4FJk zhmJ(jmOoC73l(!WdH+6%%Jy4GyqsqGB6UOZ{>;J4J~BdopIugUrqC^fgY-RxqoJHD zllWfELk-qZX+?ssXMs?N1)|Yt!^G9zk8tv>Om;Y=qND%YRwMS`UP0+Ql)66S4b%sm zAJ71$;Fdg&A2TX&KV+TuS#Cete#a&}?y}j}&W$!T#eWda$@s_O_LVvFSHhfq+GmD{ zGa0{J2Ix|;*H-cO|FR!yYtBZqTp&eIxzvHW8gx#zNzr*eu)fiyrC%0p8hBXRn%9UD z;|VsPX2AQJKbFDo|Ic%7^#iVMP1D?vq oXj9#}AAF#* z_tPeu{gg+t+)OL{BC0w+p8kzf2Pp*`-Td|hA0BjXcWl&Fj9RSb!PpUi{8~p8@L|y< zHQ&51SKKdt(j5C?nU4*1@dkYTL ^0izu_%#?t!^6Xj^wVYAux2_}|^E zZy|$3VNsEaLFZA_iaS}FZS3+qvU6}tCUIo @fk62eQlqx fmUwhhd9-asGgb}uTMLI5wo`!j8*&p(;n^G_$ZSw+8T>f1Q ziu5?y1m>RHaXNR{`TZB*8I^<2@kb-$9(^rtyE0%tp)v?KOtv?z8O&!HmLFH4P~DDo zrSFvquc(CBOxtOnaon7>yA?Ci@|zUS?>aESqIn`IYBb-HUl}tt=E^i#Qi=03Dd1z- z-gL_598&POr=S#Dz&9T|@N7-D#n2kO(s8!p7IJyM&{JNTcYp5!V
>XF93~#bETa?n%Q_S2O%KuS(@C_qHho(6wkq&~m6($#>xVssPyEOwlX02Aw zWzgS9$qg1{jX28kn(E-NMe`*LC?9wyDA+g*DU6zaqQ++KZUFn(2r1n%mETRqjfP+z zYx%36l$}+Rnd7TiOVm8+xxsW3+@0V_vL>IFeP4zW>{Oth7a9!MKT)($R^}_e)6V2B zCgz+LK-;5xPhsYXjAdoG{+%&ZxfR99g_e+O)yLsjoojWQ)Nw4MwZGUOK?n69L+ERz z*Pv8BTkwYExY3`l@wNI)Ji^cBcv*jNi&(}g74+GZckZQkmRTZ@v&oTLrn{IX?MCjV zBFdKg7CrY&&z`dk5M$ozMg-l*JRV=nC_Cq*I$+S4pX}94KYBI{=8LN@5#~5=WgO>F z_+k3OO-p}mP^_oim~dn6+N4gXxT03PFkm6Rm+tCGT{PksULj)e%K+});Y=>8*GwQS z5^=6i5(-&}tf4<7h2{lZo&8T_`#)__!0! ;Zq-=(0R&a`FtyJ88P^`~mfFuAm5_DQ}byHtvck-GZ6fQ9=D={m; zmct#?7o}tEw>$N=V=J|ORW? fx3`)3zLpTXRu`=?K^55~e~ zm>DPRK1447jRz^vc+kqK;ztiQ7vH|}e!YBPI?PPL+_#b8l_0vk(-2|qnDbyr3V^{3 zJGcK@fQ9{ywYd~$HgiR)6;m>kJ+AHV!)2&Z!ynUlR+G@?=r=FJbiy9MQ=7)?mIfF% zyz;P4 h%*8tRGBR~S6(JA4W*qc48znrH8=m@Z7#VJ1$1j$M{_%1>vYuCu zxFBjF6?94t&lRZgThEdPdk>BE`%QHf)K9lOg?j7A)IV>bGle%(Sxn_@r7zs2XAe1y zsr~O=2kZ6R_J6pQEmaqllTT?1>7r{%LY@8O8!#c@jrmQU`CT=$H-)Q=8?|vIfGvs# z6*1m5vb~DaJX9`5ijzcPSNTc`k1mV7dRmmQCDqW`L=v97B2_}RKI=74YN-?oW~**p z-+C*&dlVYQMxiazrZW>XqLADGW%(-IR8( @kb*JpD7 za6&Ytc#o(FM(V-2EN*!mS@<+v>5~@I#RsMsrX4 za&LXohn9`+;sRZ}_=G%CTe$7<9hz|i>ppgi;SK+%v8_gV96Ftw $np|z=Y9%a$E;wL?a_Jgy zb3u@vj`9dOmD`-@&3Z%krv0oWHBHho5&24 !NBc{BX zvmzUHf%~Q#>zn9BHvOga-$VK)^b)uyzxoFUW@r4`M(_BUj9v!esuFB}?^6h~CW+o< zuffxQeP&JlZyx$To-r;-6fdNJB%nf9x&j!WY(dXhe4klA^eXdzo>?)hnJ#Xh=L(NI zdTX_OU~wSxhLt-(0pLQ|)&!kUxz@Dly>3WV+Vr&a?v+dx?gad!_eQMs-OZ+dorMbu zBVD$n4_bJE6O}_}O)FzhYdXv_$`{FLQk`c0X7+ED)w??)orI@%OWEn89;Z?*?F?p` zV9{&)PL++r*i8f}oyMj7Y0uIBC~Cm}#nv3^f&uM}RQ5l&mPl*|7;>m1dtuUMqSO^S zs%R0d@FaEjboUaJ{Ta7dD?VnWj>tCK%M&*Qec5@wS5Iv5=KFKcnK%D!|M#FY+G|qd znbK=^ < z+=aSFpVTOZ;x?6F%Kth$FD2cY4>W9(_|vFmabIBPyWdI=KFbTW&J h{Lo7rr8Al zIH0t2%m-*lu7~*QK#vm_my?(<$1=6Fd66h8E1|tQG{o&23|pk0@Q4#)1)&D(4?;;V z`5(3ZvvcubMtMvm(S{O)4ne4!vzW5F2h}79qZb1;#T2Q_4|U*;`Ydkw)$Ur5X%own z 1WIE_eUv5~-*!u)Y6`4Fs zB}dHGempt$*vWAGR!%=|7!1*$-pJK5b(x@w2{ x0gEz1lRt|S;sc_l<(%wNfE|#_9a=+z^~sY zBpTJIPeRYR_fv`1bj~WM{^>#-My`I%y-C^H(+@fG@+{jGEAuq5`pR}^1#%7!yZ8lf zN(8iJ@-u-nh$hqm;}bkh_1gy=kaW@IEpTzZe0gVs$B}JKp}Z(_zG#x~N#Gw5+t#$h z2cFph+?E>^O52uLJU}}K;5}3lOR}bZU*gA0wD>wl_;UTlb^jXHkg+Dv=UsKJMDK_E zQz_2%7WT8%wlR2NiCEZjb;~E*bhk!gqAMVfAtd!4F<(gC4C6J@ zB3o0Rg$r#Z@jdUTn~+XnR}F$ujyq`+!pqt2c#swDi@q^tq+Ee4O%}VcTI{Kw-r6-2 z9z%VkKKTip!@&4o_=y(&FK1ZRn^pjAYgnH0@$DP!9^7wnh`7|-t#oTYnF}0-w77 1#_Gc{%6(G;8yoab02(zbjEJNsl>grPIzeAyHqG*8*x_g7x2mwM^P7c{r=H6-xy z;OqU&?Y}e8<55h1Y_15VF3PWb;-FQ{?1v)(d}s&eY-m2!za{E%H@ed>uSnwFbKRkf zCEvQsvwpr}%p1`_Ci6I!Q_XgBhFB42VTUVb=1uSg&j zOw9T~DYsXzNsL+}GsaGqd9F$KZ~ip}ATd^mfC9=RXO@CEPafg5UY!TK(VmNJ0w61d z{Nie&)M@;Y#GqRPuT#`jSDQAT0jo69Wvtkq0?m3w7v@=@JHGDhivM;jWu_#vFvP*V z-V!p9F3%zAT>APOGD5JrReUYxaSN&A)F$bwRnyJ7o<;$7N1HkUbSb#p>rk`xH>rbe z@akjblTCe_xr1%noa0}*`}f3Sbrt)KJ!RYSaY+s8%m(}QH4yJaS(B_ FRjoRYO1hbOH6)2@}Xy_C1vEj#EVw z=2Er#3|OTUzY}j}cN3W|j88H>X5Aq=RShVnHYUM)6F{fhHk@n@`rvS|yF-gC8Pa` HTsJ zz27}qvtd~A-47kAIYuU_ Tr;S>c6$>(b-Op%7b`nO*q<)VjqRS`$mZ;?-KQzv8f+i>e%y|8`Bf z+HH)e2}KFT7YeRN?h;JyZI?bSBuq|W?<6(pOK;etyLxYo=sbkO(;(CvF{epp nNbtbK%;iVz_Fh|YH=9c2*n_x@=zc~L22xt$cWYCo#etQeqv4=~ ze|gpMoIlF*FF1%LB9nz8jfhz{ozu$Ddl$Z0R-5_m@Vwt3;$3*1`;h$LP&u1`2QXxf zI4l{0xs_{gWj85XEz%f7PI4xYBVa*Z8#&2gKfKxfcE%q6qt^>c8h#V7lRFR`-}p;s z7!t `YiRtkL#;c^l= @mTEx}Iqqy1`zjTjc@nTBxiT;*U#?3#cU6 _It&q8PKH%Dy?)cYl~W7+D`i$tPSR;5pFmgY9g>lHzN!-7+~a2f?s`X=^_Q{U=BW}XtF9@u(*F0+VX z+u?U-iOR${35a0nFFzdquofqJ|8GS;!MJ0RnJWw9%l~fY9^z>9n{(JC?QZ4*k~2F% zO@6x6CQ-^;Ac_j~^c;1iGQ1%_{)A^#Z?kif*6u^#SW_RLjyKqy2VucA?&2EmC4zpi z|C{evn+<0{#uX#7JW*1c^IJsf^I<{9ru}Ld61Rb;9?ri^)6iA&v$v4|B;Kv@D7) z6YtZ*iblSVA?jH1f`>!Lwch`=ZtSJ<4Zwk=yylwfx#LdH-k1mtA?_1oT1O4mxf&l> z4rcPmc*)Hsm3xJ{1YEGVU>U@7fq8R#9S88DqFOxljGmgv<)feruDh|_VW9Z{dkV+O z9z84nGlr$_r%DtkXxx^`KAuCAhvpR{vxHi(MaV5W5&;ywo;>Gwd%)`p#~E+AW{-4i zMFfi mT+m`z@{NL;hT z%M_2jPekN}(S^E}heK{$dZ$mwMN;=-+Tr_NJA7mXh z0>0sB7R?N6QsG}4a66UYAA(_G#B}brq7c5(Z*Sc{Rt@0zPyR5*_-U}&Ecy 1JJS8_w=bq?aEFwA>;}y|`Iw;8De8HcxW@@G=(*XI2SH%iU7r5~|?Zs@5k;0o{ zlQ2tK?~UAdZ?;5Ii7v@D7)zs1Vz@DG5IxD8H~HRgOC0rg>9M2|57RlsM)R==*8i4k z_-Yy31f7TZx7h4~HbPHE?mNXF!70jZ1}M7KmGW)I5iL?{4f^f+1ktrGai11p?>HQK>{S7&nDVT#4bnLL_AW(MT I&Q}TPrV`WYRwF+y zkhLGD0by3}BCHKZQk4V^QbmrnJ4@d5F-nCofU$DNDsmsTsAq)ssEw}3$TiOl_5^>( zi~hPg_6VUSwzt7003DhJd;aB^QYEhLG9u`LoNy;7roJTpK;;2eumY2K()~Ra`A$u8 z`pd9@#SZIbjL%Tfjg$DP90vQgAM0c6wf}8#Bma~84-S2FN-NgcjtNtm`s)ii8~(;J z_}r8Q1FTZ?uAf=6F^LHsiDIf}bP9AbGGgM8a+c^Rzs s=(`Pa z;S!KTvm3-R4QWF&wrI{U&S5dTNTN&?_LWi$-8lJ3d>9D{;+!)`jfF~vSm_k?Qe$4! z1pPpS0)O-)G(7 VOq zq?xt%Z2VHYb-4JPr0EnOOsjc5=)nVme+mh3`kzJ+t5|Mj9VQtM6-q#UKps>U!T+l? z5S4gpzAS3EpL*Nj2}JPiq*#~<-TK%pCuMf> V^BmZMqud$Bo)%}Py#D`s;4-+e)(P&YPPJi!c-Fchf XO_{M> KpXIr}@w_Ju#yXHF dM$-=v zN7mTTy_n=|;#WBMyXE>vACImtmVXu7EJ7f
k9o5~#|4eP (SgdvtzkGzF*pwg7_BcD@I4z+S9x;VTq#Y{-NB<7vB%M z8SOOOBGph%aX9oSnT?7oGX01NshOqn`P{Y(EuhG;p0vFpx|ktm-ybKHAR}?c^kgrk zJz6| ydaypKfnh%Fx`i%2X(ULZ}g{nV)a3OZoD za9 u+$EGOws5p2&7fO%YY$`&^=~o^4k_t0&&pCcfv59NsSg8EU81J>eK%)S{mVE zZG(4jEo-=E1R7IsL-``EpiD019yr27?VKoBfk+Z>5IO1Xx(O?F>L$jyhhxN>jK4_u z&gu4}#Pf%J+fOYF@wKnJD5Tc9zH@)3?HV#$8Rhh8CYdf6E|UX4S>}FamXBID@<8W< zXT=M@`?%G}ztNG8K8i-^_(OKdC0ZCJR3DFOY*J5h7JT%13VQh|LRPhXR3lp3YTSoY zPzLXA;-|?78VY)8TCPN3=!t)u(f9IG*!iM=EAMIl0BO;8&g9w#JZIIjB&oA6zj4Gm zm7M;4#3z}IS9J>bcUVTBNTk_W(L(LvlNZq(Koc8#Sz=R+aiUeIs7@vbu0gRnX|{P8 zG%7k`!gYlHX0&9p6nxebv6@%^1>syARY#xy Z{0Bj!*B_ zX~_K9yCGMUoC07P-OZ5iH(h3%d4lCi-7V+*9`-OypdfBVya0_k zKrM e2BAgmPCkSfS_6q}Fpi%nY}u_` ;7Q5PZa zI=rK30hWq;=$Duu&SXjPK*O{*xm!1NBAtn}As?l|<3l>8%F6NfABdSy_yH*}kR7nn zfgI-^3nRw(0TE_o8wrHcs>NrEFGZD?b;{)VK_>ed4vwRaU+j2&N Y6oSJf6`4)D z%lA1*w?MO9vwmtjF$d0sMlAT^j4ezdwZ3zzRc zc$TkFp}SS5kEK{;vT!VRF$MhIA_&{+x^ 1Kq4YkOpXnxlN$Dgf2D&mlwy>Yi$A}9~cnb$t!J10p&yZmbf zQ%nTWOTE*PprsjcHn_)(*P)6Zhd+)uP6jEEZ4K5p`ODna>_Lz#suE|0nIoa8BGW|( z*a8{%RvfJN(H?WYT3c!M=7tW1(XUkQX)YU`GDB&6K(A;F8}9~=bdu5UNAJr88U^_` z>Orn Wkhrc=V1)b`e!$a_ty_A|3 zb*s&UyAEnO<2FoCe(Hft-=ff(o`p+$?SR4sc(od}dsLH39v5pah0MRiFyl5ZB?AX4 zTKN}iwiSWOv;2FZK=pg;F=_gmbY_<+ucp~h dI>ooIWktex3qpxv z^nSvZ$HpA)W!&y9f2I6VGE61nAH-%Tl@{UEOw#arNLIXS<%SqUyaKbr2(f6Df-^t! z<%#Jg;|yC`hDgi|@f-zH>eVf~4i*9`@#w-nZgwU~5+@nfR;q?rifYTOS-ZUmX49a} zD3!Qb-)t%p=%K(ED(J;nnC(h1tlj(x#(a%1^ij1#6um A24m1#E19tLMM%)=IfuGFq)ga}<*``r<7O_ZLFqClDJ=6#N zRX}3BlC5mvpbT`AobMhq^U&5OHyHDku^_5mpUdN$RSLJ}T+zM(sbxy0A)5y(zfgB# z-gzIAvl`~VsF-mFa|fs(RGGSKNrvc$2{-+?askWxnrKq@<){y>EhHIl-{`s*uSGWy zsrW{n8dL7H1^TK_lW>$U(X52{_M@r$E;H3{B#*z^Cy^zjipkTmcLT}=QB$h(9)>R< z-4GPS1F3~gb%Xe5eE1}rzn58QtB&wr@gE>}Cjmv#INnbD hI3D9)xxMdm5qfH9SGH}NzB*4{6&o8F C?MtectsJknYI9$c)izCM(Smq{^ z425hMEfp>CEn=1>CRY+O$7J|uAF lMNHtSe#j!6kUnOb>EQSfbS1=j4+YXWj`emr2rH24BtUmizY7f zzvKaC&;nrss^#7B+uDC0Q@osr#Myqy7wTuu*K3g;h^kM+*)HY_SK>Gokp-mPTJi%C z^;~RJ sct@u$u;{AqP1ls|EuRI$uNz3DCWQ<=1Ii%cG&$QRGO4}=b}Hw zs3n5=ZMI6b5+Rl(IED=@W}+(qI{et6F}Km0ji4XEFu Vn%|O z8pzQQ6bz|+K@)W{(&{tf~rwz zChFSDN-i%Yq{vomy;Ji0fNn7iRT4X|4ATmejb;i`OI1)|#=n;g%`k0$!S&y2yi_df za^3TJx%~DNT#S2OuvRCBu;1cU#w*pyLq*O`nO@0$_9E6%Mt lV*l2H<9 zFdZii`#Tz`q$3;r LXV7 ze$;6v-`d%<@`ZSJ|0=Uf5+8xV?q1fr^;swM;W{}y@KaSc-=hCyRiDRjBM;kdy1)0> zgdE^ JKugToU C`=8Me{GHooU&wHp> znFQEyFP2ceFVT=^LRQc) _toI$wBddndnaAh@niUL@}ko`HCu# zpwIrcw^^dtN?AaoIf~{&W2*C 5@M0|`q;{giTl2( z@%^M**}ieat2r1^bB3Zn%QM{m&S4=}gElOCo$%i;86w0;&MVG;R7;fi@GxA)pA243 zh~TCtiI34~!BCqu|7hsI$NHrl#PbzMkJ_En$UiUZBLftbuz_wsu;HXZI;0V4KJJi> zisXDYTko%|V9&^8IwjKVM4+fhk7jeDKGo0kVmD~IdEWPW)>EuzM%qmwq=FPgB$L~l zJHyzzEvL}xgq8G;w=!lAO_lKOQS{aZ4=4*Nq$*Sl%-mk4jcTG$`j4xr(RWv0(fzY# z@m?Ks<;~Z0@9(e%PiT}YVa2D51DOhON*meld>(1D*@OrZ=-)wYmLgsqJ>xTI8Zh#S zef >f8J4$)UHzB-O_Sdj!%+$VlWtiTmR zgvfNvHRe;INQ@RmQy}V-JhG*imvpw)EJ#2ku)PQ(IymYJM!7uGAAG}v6~-^-IV65$ z_mEgJj9CvHMk#1Rz|tW2#EAP8=+o_ANTO(rt;I7~Zk2eC6{-x%zWYjki?;w6kSWmW zohRZ9fva1f@4w@k5LN&J*8%I}j0(S|TE@`Zp96HN3)zpkjnme0fg5rQS|KqP0G5g3 zI(aVH3uDg)aKbzw07d|H+Hv}wr_ALY#hX=P(nyB8U@A3g+ewAplmOdx20nyTcVWUL z^Dt?{`tL&P)Drf $M*S-5+OgLmEHl0-x<=Ohrz0U( zM=)G|ROGcIU!lNrRE1Q1 S%AO1FW{SQ$81Cj+JiLS0j0jx6pHB2rFU`fk?nR7r`-eJ}RDfeWIR~fm9 z9Q=l_TY?HZUt)mc-)YhZ&V|te;LPWyR+2k_HFD`11AJW9b61eZ+Gp0m)~!7XzS0{3 z;G~3Nasdyw+$9^mJ00c ^LB*E{CNZu?*ZIaX6#ErTBqb<~aBFuN5UA*S zdjkI8l7B#MBZt3Zu6NpG0-OeZAC9bR(V-d3Yf-$s88G~?oxo9{hi7$@@5%7m{Dx=k zy~##8bqTD%Povqu1Ftal7Nz U9n!yHD3USyeTHE0{>nA=LL1%GbWPA|<-FLcsG+(B$Seb?X{>MJdT!f> z>N*{U#n8@2Ezf6wSLT@*YoFt7c>lv^2pssm`Yg}wUwag1i&V*mo3umnq<+fG&;pg% zmC2%(^0#10aB886|0+a+SA14=&M~g=k$}C-G@iJZl-DE!zoeaUgsBU@MwNlwC;tNP zW|xzuPL9#i*U)$6=QmXIfnlv)VL_D8Go=ELB@qrT0apT5)8~G+fs{{RHL kcd!)(X>LzNeXfQTHIEa*N}w=wFJDmSLGnBsL_s z;;2qPh}kt!5l4AJ1H FiMAiQ|Gi2+pAqh>!CC%i!fo2rc5%U{K_E0M$ z8yd`wjhm&BUNq5@eESGdW#isd(hW+)@XzZkw_gBv4+exDJ}9N4eNT^K|MLg<8KiLd z0$}wXfJ2*xMkSBUVmQ%;t5>D~Bn>}y)8rw)@uAukT!RUpVf9Nn7WDyAJe<)TIVn(( zZvJj7I^ZQchV(!?V~@Ez7Q*FDh}~n~0Frax%lqST014m%paswKyn&fq#|*9}x&yer ze%l}Ah5D*!v}2b0{Wr}^k$4O#V2_a zxsGpCrB=9C-FZc*T}hBDai!_dx@Sr8yYj;_SX5B21$X7VkN4WknItD?P>{*o19m(snzo5ePNS_WjXS~o&*J5sJ!)vuNzYwbpQkBA z@*kjcK*}TG&Zg%`v>X7NBEI?IFkct0D3x~=mBX=L2{9Zsi?!aDd<+$$s@Ws-HwO zwCnqmfkoi3r3MOt-;8U`ccWRFD}ag^&JN&%ZGW1H;J*phw2H^L9fto|dNBjbb_!>e zx@#N#y~NV_9hoxW?n$;+hT2lD0Anu&`tDlSfUpCK>B(ov1R2!ih2On&sf0g^-<5iw zpji>rp2EA?Vo5P1TVxhJE8ghz#n4G|doFKv!fHso z# zw9@(s*Iiu};uV4?nzifmz}|9?5ZZlKfkDX>bZ|XDK5QzHH^a9^JE_M5G{*=DI|$+YJ}+x`LR5bVOQ;0 zQA39@Q9HiKkg-oh`E|df5xG>zy1JY=6Ng!{L!+6Um&M;d^Z+~MIRt_^NND;vhGjg5 z`sB_W7abCpY1x*6)TmIer~~^SBq+4s)0B;7nJ8w1!`QzZd5IUWpyd>*hIcfa8uNYJ zrvu(FJD9M!0EaLY5&SIz{V5- 3aycK%B(ox1fkXrxcN(LdiMN(R7 zBy|AJz5s$x1t`(cY*qM0gNb>d3Wk(s?nSW&Lt=72nY<8)3A@G=#oPs7N!y>VvV3J6 zNZ&4gr&& R4eEf@b^pV~W{iz0|!ea7{9pizT!dIaN zeNZIc7#t(g@sI1zAi(ZTH*teq(cbzkSRn)C@Ufyapb4RWfsR5uftZT@R3CElE?i9p z0E3INa%b23112J4e~ gft$AI4}HesEBvZe!LeY zy2To$N5ypdE2Qgvs?$K`TdllyPwHqOf$HW4z(v>9lRte=#+7|;dg&R2m7=F!Rb74Y zTKd9KTOO?AMvI6WPx$wTRh`;f|4Kk)z$EBNkqv)#eeuvHG13&vd#ufB6hfzvDwxMt zq8LTR`gtJ9o<^+eDKt+p$S7p#K+5D0HeRlDODIJb={{G@c~%rZE`mc%id<&2kCH&5 zyz2g2{d9-?4oK4 %&C#jF*!Hxw_1#vIqCVC#OPoWoDM2dcdlCD%)O<-E26iYT z))ayry{4WHyq7BKr_r3_0w1X6y$`n)%;5J03V+YJA&-~tVO&)yt8J+O_l}g`k748c zNUg1ytDl#Kk&_ee`89BS^|VOcWkc&|l}3FxrIUn!0tHyMk8TUVe2SD!pU{zwi}@|R zrqjk})%$T$*v^JW#4@Y(EfOJz}_Hw-R!qbpar%4=tM_W10@V_rs z2ACPWM$$PCe&S$bwz$Sr!QEsrE5K0)-8GJ!EGMwg^JGJ34X=PHaOsc>B9(QmA08|{ z!>LALf0 jEGHT2CnAF80(MvMnoUbB)@Bgo^-hpvZ#c`Cq>IY;PCfqk! zNn7#x9s1$>#OktcTBM#r3AQ()`BrYv@(GhrZPoEtS0I^m?idG-uVnOjBzRGl1=0=6 zgp1)s!(zH@i$n4Kay{|pL5|U)%Hf-qR#Bqk&oT~c+N04+FCOZH@&Yh_` B>wz+bMej;%MghT>)c?CtnR z;)Vr?%+O)|B~MA_^la&YW$qbo_V(9H+Fp<4he}*$Mvwz<#D$4vqr*uH)hRT4m8loD zNBs03$D3xxJ=KO|lfSsD7So9B1F0Uj=3AWSfMEY{`I{Oy7f%G{@Y`wWMg4R00}JmT zm)j7YI3!G2eE>8ty9((n=U$6hF!`s9Rou<-8BPnnQFWvYCPWg#fGr%c>{n0>n`3UB z #6wzDX;;^CqW;+T-AUtSF=VTsRC=7ITHypbixl6m(Ww!Y|eq0_C%@a z6~gPb#9(rF5U=H~yCa0aUl54l@FYTQxoM8lw+*9=YB+BM&&-W*tc- zBSw=w)7+cw+vzD%qwUv{Jp!;YUM$^(CqMtIXx3^!KOv^tk{r@9cN+Jr#VBNjIDLcR zBTMT6t6ckXH1L(s^XWKO3^%8`{u_^yvV@u|td(l|yq>h`Vm>EkRoRLtK=D}&5 vr?n(ShTo15o#?bssE7u%5S=B)zx5O&U?yA5#H~DFZ9un5D7;O$xh!C}> ziHJNH(dcU+@c%;GXL?Id^=`O~sVXW?%PT07HeOEs`nG>F@FvGyRl^)MnatBjcQ67z zEi!7v$3H3=Ubh8=Txcbo;U4Diem@Ieo85&DK&aPKe`UWHD8F~aW)7p@iP=5jS$cAA za$q!BcjU-UlvTh3{y|lT;>6oPDA?b_4;D7xu-sR_6uYunm5#e@Huy^F7Z|$Qa+H9J zHkMpJb}-1As9tY+y`_Kn%?-w;d?ebIFcX@2A|`woQmuJ #I*0TtrP`I+ljw+>l(-zVkGn{7FCm0zN^c>n2Sqn}^6op4&5eGD=$cUL_68 z4 PZnrZtiXn!}hWDr1dzi^jw>hx6ZPX zf&qe?tezj&yF=-Lw|OnZXu-s*a)YvO}n>wsZ5QGk6zqD9*%luOH ztxj5yq!y8~oUnoZ0!#~SBU;3?Oxi;-MQA$>@M~;_xyW0}y zS4o5^o|ltAD05~BZPV-{QQFLRST*hXm|eaa?Bb))G+GI<*3RF2LpMb9lkr|3tz>Vr zdzlrb92$pO#@2gpw ix=y9x#y H5ut0X;xY$b zLnf?Z;r+``di@7%cbqrf3*NIzC%iev&kIaU8bu~moxVn)PDT5U?se7~{;*x_DL<3b zyL_?eRjBNN>RmAM!u3P`6$no2dB3KZ!Ftt;;LvfNUwFFi9}H=D`KR7N9j3Vg+iJIy z8+M&e!%POTO Sq^3O05GR}gNdze$%N zdZkn3qTrrER_m@c&u@m3;nT`Gt8e(}*#z7Kus=L6l{R&nn0fib-${O~qVd&c=7-k( z=HP7}{iU<^%{w@i(c{GKH{f)|7V<8H^9KR;JS(l|X33g8^#tRcI^ENXobHN8i9CN3 z+C?!vw~?NUdrELKrPuz}p8N6Xg9Z~0UGIK!jA_wUY@sSsWox;0&D98B=ousagjmti zv=Rb3`3YW$^e*n7T` A!uqGzX6^FW}9`H;At3prVeLk0L>%XXnuDi>}s-2c5wXs@HNz@0^@6P!X5(`lj6G zaRY12fEp^jIC n-xH1mo*%C%B&%=RfKVT3K|P#!=d{%I%yg% R_-=cH1{+@bQTftMbuLO8#P__Lnvh@K%jq zPew?qCiX^pauMz|Lx1ZobWL*M+9uP>!`n-COOZ6?gw$$&!RV~S(h9@*;%MH>r*5-- zPd(0vXlc)mHqrsc{vc<3lMTq~!=Gg!JeQ}RN^gi%XdSuJHPtmJm)jp~ykZ@?t(THE zVOT$O`s=07mWRdQz^S{AWcjI|`)R0q9ja1t@&HyHxn%U@r}_^=3) U9For$)XH2vjOiD5Hr6)aQ`~PaHLfua^>Pv_w-z~D%Zw6!u3QM0 zAHtJIGYj;Fa|@*P3~8C4=|O5%z!*83`6y=AbVM3V}3i77d6z$?R<+{DIf^bY!aij6MsR{#bQzb|$EcjotV%<~pOFh$^TqC}A= zX<|Y(QTn 6aeRzIM2#O*-a9j_Gy|&@jG&md> z(a__p*s|)HtaHA*?~-11eRSkE$DDyC5rv&}teWn<+qk_}Pkr@Siu*vALXw-s?+R2v z$!WtTWPI5}AXf t@Duz@RDtAr3x|%dVcvpz;zwLfj^)kgJ ztrw`#ECzqN tdp%%P~*UEU_KRBUyCZ6E_4KAgv_4% zRAU?3=H+7qjv@+4L0&9Hj>xw!zA><+{tYBf7#{5-19=C})f%njatg>UKM;y4(|tcF zR&fZe$x9P?N!{{90z9vPGD(u?e?!isT0>UnydmI;MYXh7IdicrY-F(+;LfVKQqX3V zTHo@T*3(9C#LB`!msv9cBvc$l^E0|L!@17cDYARDma ExJ23a;bV8nyi(PRz}wFe`0o4JC*+uX{%q02YG!KHfKwFV#u>t zR)?N<>6`ubO}){_vLaAArfWffpln |uU{#@O&)r^U70$$Up6O}fC#Cy zRT%o=J0=y)ze5AojKMZ;4K-oC!hf54mCp>;ELl95-mT3cqhl%lelE@E64X$v?b_%m z9SZuu7D-?o=1$X*Ty=Yx+gZ2NKCX5h;im7;HRlT>m-H~c^M4;&%$-U^H#aPX5$j6m zp6?I)SDRjZm6TK(bXsqr+qh=rEmIb8^Ap9oNh`H-o~n5CM`mND#F{Lq%nNq)Y`)TR zfH^CDlt*BEAtV1W!>Cc=>Z=K~Bk}B{^O7&CZqRYBl|p+Wcua! C01{zB=Y&kbibVPp4T#$n>|UGUtH3O zaMwMx$M#SbpG};ooA4I=DIKR1YOCn;xU>UjWp~^HJfGASVEx?1$oFg>)!4p!?|sXY z9llMO=?y(QDDCQ;;46~-@A4atk~tUd8&A@oAHG_taP}!^7x$lXtZ*oJWROuYcO*e$ zlUr$?E5*3%E$hu>p6iXSQ~&+Cj`Yui Twe0U*rBGD08qqYb};$GCULC$;hprm%qFQ61*|s;0B|J 6OuKet+v?#i59b#g+Fy?4w#73Y@Q J-=pfh9hRz9>}N6mPt ze3B;pbu)PmwfY{n>L>96+PJ)P7)7+N-e790w8h8m`!6waX^-n*L5Qy7Q0|amp6zm^ zhl^Jl%GnxNKv%V*9foz_R#93u@YBVn!cNcEow94v6>2&7EZSqn>7ctApdMl-Zf`lJ zoi3|>HdhLR6jqIqhUG})|2nhEO@9@HF+3#Evk`^6=Upf}zcPl->p6rwa1G0cU_`GJ zioK9aS~^nW_y2#_KC_uw{)U_G;1R1~N$WM<&Nh7im3B<~%XPDQ%f-D7V<$PzyzEiC zf@F@-d?aeLLx #%Xw~icv!F8}a)i>=Q9=*26|k!5bq#jB6U#9ZPmAGP$_dFe>=m+R z%8*5s>>&kZSpqCF0o?j^Y4XK;wzHR#YJq1YS+;Y1d)ufjB7KgfniBOfAB_SpJ&5hE zo!4HS7uBkuT|Y0BHPhgzS4vJ%=`xjO$VJ$-F#NYiDQ}`?co6opk aptO^tg6nVN)`0)-V4;->&IiJXNhOcE0YX)p6U#%P$rD7DWWgr;cK^p=;i^ zQPn81>9J?0%}?^;C4kE*z|i|p9yVSf`fwyScC}_cl;cZ HQkEE(J4dq4`H4?k+T1L4HBcGq`(hr06LjJ z;xT2eeS`)VH|{Ysfc)!G72EYqP#0U>E?b da={nsc#~3Q}qzPs7b^?h(XKa>LC3(%LRT9 zd1M_JfIP$Fkd&C#N~UC<$-a2^<$MDVrU4zdU(Lu_0o5T^W_qvWap{fxvgTy-G^!hj zyWQDZPR <(bf`~p1|K0Iyu$nR3mSysd(LokLsOsGF zD3V%`y}s)CWZx~VjZeeWZf!JBB! k0^rLW ~13 `~-{x{&KPoo=78|~ tmXv*^c`k9 Hxz zN~tS)RHG)1c90ZQ)cNx5{}6;VJ7Dn(YOD`!8TGzcp&SlMt_wP|iJ-e@*;fhV!?$ux zQteZFWNYfyjdBSp!4(6RF1TRA07XhW+$!f!Q`q^QwlUYNgod{a;kU7}SI-8|)+|C^ ziw;98rub+Ul8(~TxrH{!B92mdLeg} (&Y @ue}>*ULOZOZwHSfh|#scWGOhnNO6!Z8+@E2@5xw z@b&Q_OF5IDuCxx^!kP#bE4-xbKKS?kx!S(N&-A@Qj$_TOD;S+-5yyWev;Qor|JjG3 z|6>omvBl1<_TNaE{&S)NN3O^J$Zr30*G5AAM@0JHe`o%`9|L~m|946L&t2j{4iw1O zPd eB|zjH4!K9g8#h^&ot#p%xX!V z)X124Djg$S>Fwm-s>ocV*MPrw^MnI-YL8`dx#Pq!So|JIfppi$IT&5!^o`UEat~kh zF5jkzkb?rNdK&G^2 wiJOMOn8NN3 zt4h+VeC?dFoEzl3<&^B~ =E9Sy{5x5>C(ELGAkC)GuFV%lj?)v_W7 z)8dcr*SqnxEqvl_|It}&o&N5hbzuz)Cy0yPctst>#8W%Ds`RTDW0YgwY^li~-&(Rw zl~{k-jL`fAl%X{`iE8HRH_lLM7a#@S-D{_3or|4ht YG%tpz0Ow#pPjhB>~KUcrz8qm zM W?Lhi>p<%eR)L<6X4f%2Cvotv1p8JfzYa2>rfz&PcinR|8fJH z2dT32n$r<^kI*E{sGZJLWv8frn?!Q`flWGX{fz=o^8U!DveteXOt8dsCCI7;tbMno z#9vPLy(;c!p+WpRo?_mtIW{m#zdRzCx$3Dx7uN2KEKR|Y|MZAv;G@_d+iL~mS5Vp2 zbWCRD=FG<+_)-b2Q>%=aQ?>u%Sk)rQ hsX+gqmLXMyN`nw$F|lMx4pFV7hm z3WFYM>GG-wqcKKj9TlVRSy49{hB+ubp1RcKTQ`t`1t!M&Bp=r}q{NYh8)mP4ecnV} z0s;X@#PR|J>Wy(lwYv@*_i%^z@ZZ-pPK5LXM3QH2%=8b4UM5tk+ADc+X21Dcm0j;z zc-hBH#45Gh=RcRB{EQInE!Ft@(e3zC(W}!P^1Z-;oDORa=kF!If#%y?`x9k}`ON3C z#=dvk4qQPm*k3p4TtAT->KNeFu!o7;6ckh-+#78ovJaFwQ}sZnW~8|eCa34~FPW&d z&LxfrD%5yPX#)qsaYRnKr__Gn?&6!?04TjD(?m9++3;%TsMwQSQ40gB`sb3{EnB4? zIeq`;PL7CKeMiziD3aHya=BxBDoZKhq(CWT>_*9N1EUl+@}d-Rd&N&k%~#D5LrBX9 zv*0JBlgekWDO}o(W?o+o)?iL4A qG9Mbej!*TGbDQzwX;kg7gtI3s7VQFi`lKqe_a`|4djRL(~lQVQje`d`4 zuUmr#O0)`-!R6 MdWS(Chs5wC?I`Nl3Kl zte_r7
9BS)l2GjF_~X0v zH`>S>0i`7Mlm4>iP>w83$VV5@Ns4{!K?$S!+8#-tXn~_6erwY2-FZTmhQnP4jR9)= zQch?D)q5lB_Mfe}356C#?<0iL>bW Tn^^i9h6!P{nzhgRkNoP2 ze(P?^P8-&W$J<)7D(!J@T}~W)$en`Kgl6wo9p2USeJ}5sdOP*^l+>Phl?fV(RBXoS z=Qmy5?aMK2+@0^_e$pSS#gqBo;l?fr%#@kX%t!qP2 4EqRwR+#Zt5%nE~yiR8;DY&vgRwdSK zfr^5;ReypJ*r_@jZQLJWigY-Col!v~|FY@xtu>L99B~nczT&y=j!gI(NmaiIdX^F0 z4B+nuo(qR|eMlOJt>gdEe?l{#dQi`-8C94Mb_*--nDJOJxv}`}+n>zmafkWaY~x#` zA8@kz2(a-I6}4H}=Vf!Ri`fk i2yG0Vo%6T^C!h>Q^vp${9YEIdMiT4=f| zo31#}kc?2nr>rbj=8W~)H_QyuDj}SDVX>3coiX(!X0G{{Y~!K#5$NdD-^*)+5wv{9 zru>n~JiOtlB5dK1!QJ4=uTB2w4ci71pNm-f8zns7jX~7{eBDDqOkvEpldE~l_p)(u zYIe-)$}F5lUfr^9m?4d5QAi@^A#=s6o|ll1zAHnb3E6H1yuG#+bsPp<`4!;|_W79^ z<1md#B}K}L sioQQ`tc`wSzki@qeyr15zr44#Gor(8uA_{y%24Rq zQnPW)|Mv&3UP{M2`$O%6qo)9;!)k{{x5(atdUL=Z`gX5yJZ5NwVxDY1=0*;ydn4(E zW^(nHxsywZ6yiJK2c>)Oxu5L&8fs# b#h5#D=!&FRQ43}Pb9$96fwc_psi*T#`Ilkq;vqy4rJ8% zm|`&jyWLrgTCbn9SRYW`M*p{g%lx@&c@gC&M}!5zDwjjjoqWZXRTj4xdEp7cV#DIb zsw5bF-pTMF1dU(T!zy)t|N3N5om~yby J2PcZAOaNyvX0MCyODb;ulJrRA?UCzv>Q-&LkVJYJB2`OG7P>tWeB$^&pmr ziid=xX&ZPBgDb6ZBdbTgbS05I1$k3J1`d6_=FJ3| |Ktb{c(hASO5T zm)KK$)9wsuC+~f|HtsaGF16|GjL+`7Nv8hx-74+83@y$-?ztATJOOeXoER=MHUw6a ztXJ&|6FLM6wDRb`e_v&MKS5%6b$*`en&o0TDFzbtL?uN&5vv+WXLnBhFTN9zCC;q# zx0o5O eqwmWh8Z0OJ1!6Vt|6q2}D z^&W|7uM`)ZuZSrnIyy I#@ z7$c!`UVM7LN#-t z1xJFE2j_;zQ*>%lhjGO#)1HCw%1I&Ebp>6sYs2wByFX@$LE47CT&+gW z&6K|^z9Gc2EUq|*i9Un=ZX2ELy# 8ND#}tQ?-C0vp)}(b#yCA`#qe~_{-25#pEe$auM?}vDmMshaj0sag z2MN}#SeJk|zXsSj5b&y*XIpvcb_5DE6l?snZ|DIc_5Om_Ay=!m2Mq5`BTIP0-Xx7J zE{I+$iL57Oa_oh)*Bj%M(2J#GL=8v#Z0WQOP6@_YBb(!d&QZ|Qr@c{bzX+GIFmaXh z&$ElXQ>47pcM ;1f K2`Oy50V7+ow3PYaQ=CT`VWj-d0E& z(ELKnsv5~g_?G& bPgVDu8ffo# zkFe9t&zlB|5Y?Rgv7~#T0a8jBiE=2WPkN~BE4)@HpKHLt{>#c2^KA^`)zb69?cw&J znQEy;;darN)sZBGaEXCZ@5v+gRAs$} b#*A4A7 z?F0v~1i2o-aYqeo4HnssU5n4C34QtVv|zt@_;k}GQO?K2|FQAd-?WZ|j<)CHbacII zKwQ2`d2^Z |)}N!!K>TI0X9H#u5`9fX<9P=$*~oaFoIlKUdOjS1{}e!!{7_;2=6HFcC96M-|;p z ikVwSUNZC+BmWeUVV_$n8I^>Wa6P2!ooPBj>>` z@~A&y^; ^Q@GGj@vnxM0?>X=9tfMgQDbQPq@3-tKQ%A{Lq#zP`&f=CR)2uk$u5o)A{P za0zl^FoVnEpJ%nw3n$PS8MdDmxZTgA4FisPyK?&fP9BG#TcMuR&lLg@?~ui| 9_D91(+=V8-c`r(1VFF#WpWTuq6n zr1klq-(1iDOq%E1>CGWD;0B|dExyORkBl9h6?rb#drsd#k>+(4vdS<;f3T~&DqU>o zcCaPfoLAIHO83c#cSj;)WR~-W2@vXe?SGto0+b#vXn){jmA?$9hD>{3r`j!a3uiTE zmXAM53G&=&WW`JWhDKzGh_C^5p$+*< eM8#2#(=~Gmde@ZGXUCIkUN9^|vG(z+ZK6gZ^E7WQk*)ASbiB4< zJgrNi>dbd8L&q&aqlSCSz*h)}u}8Ni9j^i@0tR~}n0JFI^5(|w&l}ON;xt}$AI_c4 zT(OKltkmBKFY8em^*-3D8W5Kio^mo#^0(U$^e&zM WjT;A4;3Ee-YqA;JB=-`_^zx51!7&4XP2cra8T+>phsiyc8XOGB0tm>p$0* z4tXR$cz=zgWkF3u>L1xr)OpQjXlLx@l9UDWSgY^!Ws%)pc4CWwdc>(1*NwR|m#~B; z?%|~8cCGO68sMNNZ(<+*Wp-=HxtMm_=zhyR_Hdl8GQl4~aC2aB0`5F;a0Y{ME&dRb zl8p9HN`*R F#SPMpoYk_Wj$IWfe z9XtfRyPOkgp`u#gfLzP&=Pe}Bl_K@4kgy-3tE|$6_=TQZWv*l9jo#>@!fWR<|9t7Q zJ()imq8GtvwA##ssN}D`W@T=c+x9Ec+o6O_y*KqCvWC5G+kk&ZW0JJK&Gx((k&F5| z)Apk?=>B#Hoy(;6C|KPZNDk~?Id$|9N=vV`*md