From 5a767904189e784c45425b6414e887ebaa2ffd5b Mon Sep 17 00:00:00 2001 From: Wolfgang Sourdeau Date: Tue, 16 Oct 2012 16:56:48 -0400 Subject: [PATCH] Added support for SMTP PLAIN authentication --- Documentation/SOGo Installation Guide.odt | Bin 156256 -> 157242 bytes .../Appointments/SOGoCalendarComponent.m | 32 +++-- SoObjects/Mailer/SOGoDraftObject.m | 8 +- SoObjects/SOGo/SOGoDomainDefaults.h | 1 + SoObjects/SOGo/SOGoDomainDefaults.m | 5 + SoObjects/SOGo/SOGoMailer.h | 15 ++- SoObjects/SOGo/SOGoMailer.m | 112 ++++++++++++------ SoObjects/SOGo/SOGoSession.m | 1 + Tools/SOGoEAlarmsNotifier.m | 5 +- UI/MailerUI/UIxMailView.m | 8 +- UI/SOGoUI/SOGoACLAdvisory.m | 7 +- UI/SOGoUI/SOGoFolderAdvisory.m | 8 +- 12 files changed, 142 insertions(+), 60 deletions(-) diff --git a/Documentation/SOGo Installation Guide.odt b/Documentation/SOGo Installation Guide.odt index b63476e27a587b3d2926d3ee08c6a132bc3b0112..5d3c11b8f3e43c26838b5aecd906196e3e732b07 100644 GIT binary patch delta 49036 zcmd411yCf*_wR`e?hb>^;Lace4DN1&ySuwX;qLA-xWnM??(R0YyW4W_@7~@2i+HgS zFW&#fZbfC+w@!Zg#ZLg7x;BQg(@6%q$=vEVFU9CSN0tpl`6# zv4J;ZpyQ%5B0P5_CKgHdZShO-`C2ouqVmm+@%VA)#BBsAF7YP@nqsx+k^9_&;P7^- zl-_Rj%J|Rz?7ZuvE*?6zTO>v*lq536(<~I{tFt9|t)pAl*AhoO%RdKp@+UtKmsYPw z%dJlaj-Nhh9o7K3lTxTFQZWM)m1nH?@B2>j0M4w@;G3yX2WD9l9i@mZXZxk{SP4|& z{i+U=)jB%IvU(ExX@j$>#;*lb<#SE?sj`_GFDUW_|1Kf1jAqw$m8u^}gr03r&c!v1 z?HtB6UZv&q1%?1EoR^kj$8p2N-cm@={@930^R}9JjxE6U)HU|B#Lp_(+}fbtCaSMW z2Z&|x#0GRak|;9LiI*HEY6V0_x&7)OA%*+l+N9XpI%bGl1xocD^#>|0SXH0)2A7=P#YbZajF^Ly*#tM>20Yw1h& zhI_yAtZv<1@QYh=!WiUE5bQbvcU`W29XYSYKLP=_!5z-GdAd06TPzaYY!pHFMyz-ErWlliKzH(XhVj4Tv@SaWkQ8Q5A8bC z^(bI$etWNWzpX^mYLxF8!BaVCq`ZOV<-0{e%?5~gH-=cbmr>?p{mz637`?iu+3~@c z)$x5JcKvBW?(GYx}dwwGmGjJzX4fQ)R&96OEG5k`_M6PXWC^JpGfi`{TDCiFjKs+RS-W*iGSDkTDrH^Y)Mj_f|A2&(v=JF ziZ$_r(|fdS$ZJ*NJ{&cB3E=%X)@ZLD6cJs#p(@P{BKDpO)L% z;K&aDFvPksxOS%+?Y)li+m|eE6SHAh$m?NH{U=q=f;R$UuSPsN8@`#-@Z#P7~ znawT(ncCWKP>P3*igIKkz<0B){??Z!b-8(f`KJR{tDmg&DlKK0pSEk2Q|P8u09Y&2;7}4P2+=zaecl!Tf@c1 zrl=W=z-3iyu=2dx8ESSshWzv?nOdXOrP}TG2w?nevBdZ&r!+V=R{k?r*v`%_jl~j? zkbAXQz7P`Ovw^X(ObTP)z(Aq%`MQxDwQ>cg%f;r)SF z3((B`=#-_nxOlE`M0ZaQ6BCp9eA!a22oj8f(l_VKgap#I;hNtkTU$T-1xSlU1S~90 z8f~`&5%HdOTh=th-SY5fOd;%GVyB zymNWAJJMf4l988}*B6GB#*qXgL)Nsp3FsvJ<NAT41s0=fWJrkXb_8p8celaT zM>iRXSb6#Q_%bsy`w=FizY45--mfW@tF_%Nn@=mLsi}=5(i*!*3AH0J~Eh2hbGA1e-IyNpb-`5 z55CNQRoZ)~w_F)D{zyMnR2;cX{kq_C-I7?y|NQnKzQ*Zn^@rQdL2WHFJw3g?!N;Yo zGhblYm}O8>X|&n;7(|A3AD8g+gqw>C+cnFC9~9D`?d=Gp<&QD(JS{>0k@eG$3j*Ak z3kwSm!wQ|xbJp`Kue7;4OG=I=P%B$x#wJ`}U5)lo;K$l2@$>V$xw(DhzC^KfC+qFQ zyZ!$7=~7K$dcE0P$;Tk1`SL}lKOCpVXe@T_BX^MmT%YmqXaYQ+4huihw@|5_RFj;N zLRmPom}B9%KaQ_IIWVw4TPzP07Z=+_8t!ioL}f7vsDG2M3p{H+(kN z`smEZfcY(LVq)_8bZhwj@d5_}vs9%kP^wg(C&9zR^CS6}w&q<*ax$CIX!1ua$!R0^ zSF83DLs!R@9R%3eAJGmt9?vKIAq>q+Ct`}e#93Nvao%O1qAC#r!Z1JPhSqO`ko1!D z^mJm8NM`GGjq%G0%@zZQ6wRF_0xma&ay7;AjZh3~1J(M3FX8x~)p0oDyFL=&cr+_E z-o{`#NV3rG=`PXLlw=9@F=Z-#xZha}skO&7q90ebea#S+cCI z^m=)))z;qlYyPQP(^(GfkOWeVgin6d%Q$!zD{b4 zJ@9m63IM^HBde8XLlMW(xjF` zJWoAn*ryV0p7@Gb-tc?T^IJoa_w8UX3UPSA!NI}msz#ISaNff(b){q$_ZoImW4W{X zP3b#O?wy}adps7=vshys^-4BQTr3jR(9p2TqOYXn-=Y(FrRbvMJFDPZ_iGDA{-9j)(*$E&3VT%9e`aL9ns!YB&720POO^)t zWHR9zz%~No5nOS{EsHMdB1;?XZy)%g{b7XW+xyWsfZo(17q=X$3myK%tpR}>#h(-p z1t-XF`ft`k@e~9!yf19D zG&Cf3X{A*#;4_i4F=&u`znfjuZFlT-wEswT8#hjY@fE|EAS~wl`R*RchT) z(DZ=Dle|>SQnse^^J#lG~xOnv+{E%zs~q*fM?$<58JM3|n8SOisVIXAN}{n|Mtk0{6!5#U;(? zY1=aOs6n3#oAyWC`XT9y=)1iu%9byyGzV5YE_lM0YTWF~j&Nl!dw7A6i&`i1s=4~gQJ^6L`Og^}jLC)8EBZQ{E>dv8*FVHxUPuXyvwlAMXE!_fP3g@5~SYZ3_ z?Cb`#cT1f!P089}M@%yTutV^z3{I7kOP;=mEi;dUtZ9j_f7C`36;Ru$>wDUzla05e z9dJ>$3{Jo&L4K?bneQI6$=vj7&maUrZ>2U|6OW?=Z9R{Dfq`VrlDTX^Lx<_S>6Hwn zu)u3eu#1`r2R?H*LOeR#mExZC8U&tpytmxD3G?+#sxa|hqsCD7r zMw-tjI3*hBtx?;fyngZwY)GFagC~P}^aHgXz#94n)3XmmVh*|FuQw%|R3DC88Uug0 zIKd8@EWMM|QF}e0QnIWQB*)I&)6i&ms4nV+K^GJ#l+k#{-Nk>?iGyo)z+bb8gZ6&^ z{n#`kRi0L{AI);Jcfiz=w)`YK5i(ob(Hv^mnJ`oCQmc?OEk!gyrOI zvTEYT74a&!PAb%#R7VK0Y$**NSReZZmMkMzSEVFKS~z;(0`gONR2knhO`y0Dk^OnT z4oN_gu&+*vw`f;G7;k`q3aS#^;oYa2!Zc1a_N3b1Bx>q4wakqgE{^`#%UA=9-m2zF z3lcG|Z++;CClfE;5n(+QDQJaqQb4n$CC0?9DF~X+vOWK{{}avY`Kq4opc`A33Pl6- zj`GdI&?g7LZVv*}2I}o$igAjpqM_t85mchxu}l2!jAp;rs3H4+rL@k7=grS}En+iC ztxl8McV!;m`wg zErP5)$#uK@bm`%x2bFc1VtB>vm1J+e=$c)rcj`~G`r zgp(&gdT#D$7EuPDUk$UaT*;EwrYK>#@HA$0mw!fdPVFaGVm#D)HLb$WI55$P+Pqdq zlQTslwq|POy~7uDP)U?4oI5`vE;J^E%z0qgHeQn8lsYEN`YacQ@*>N6cFyU1l-&4v z!QDP@`Vg}kya~;)YhI;8AEgoXKKXX_KF%FrfwP+^?ENL#dK*$@BqJzu>k)PmfndeF z)HwJ>pQEjev3`j{tiPUxSf8Ujfge*)U1?};**p4Fq2)FKF~F$&=g5hyi6T^fWv#m9 zow6ELHhk^VlCs+*r12cSvJS*83lOi(DgSPPi zX$NfoIPo|B&Zl zJcfVU&cj6h6*B({<$s0tzry%mVQmQf^ET(dP1Yx2|EI*+U!KW1q~<@tVQrfzncp^* z80h(t162oV0{p%DPp?DKYs~~S&?5zuQMW4~VVT#3wb21~+z)5`{c4+skvvmed!KIl zx%A`WM5wVd*c6sCkp@{A=Z(qjP`Zfqt0eEI1{ew?+x;LKw`htrCew05ys&(XHCfcg z1#9n&7_-x;N5W^H*OcZh*6tt~v(@LcTB;cpftK}B*tF#LPT3Qm=pw2e^E(&xOQV@VuO!Q%d#5&4HH4s_l63(@$aWo52Af?3~93Hqzm~FzHR)2n6UhV@QwY0u-j`3S}*yIr>Pfo zBYrfnKSnFB3$;?0ZP1nawYR>etm8Zu8CXd@@o{wzuF`ZOOAD#8EVo))npm%Etcf8I zIDH!?5Qy+9jQe3#_xJhSSafQe)?W6mv?C1o+F@|FbWD}*oBFUx3+*Aae7Z9_%+@hF z4DGx)9unYFZorYId}H+&4RYqYIvOpG0hPZgtj=Gv@YN`uwSb-r66gN6W)S%$-1 zezn4H`*X^&TEQOb?LS#V=|g4i&aAQD7SGC9jLlAsh@Zt-W49thtHR-c|l=(W(}%eOpF zGkkwcawkQm?)zvW|D7-xQ{l*Nxq88$USBJ4_)a_|*_sU{n!-`Hhy9k9Wm)UmYWJW+mM; z$)0OP5wD=Zuus=bUFrWt0RO4uE!ju1-$1Q%2?8s36EeFr0K2bHj1hP)ldXE0*ISk6 zvo=1HYCv@hGOr<;ZH8B{T+90v_bzBVKwr$WNdyopuTwt9H4v-dgw)U?UdF+O+db$ z+!&I`m1B9k;()kmI1w-EFjVG$rENhyvR+D%1x70TpVXa5YkQ>{iA(g`>ZzA#tEQz4 zj#-yW>sGbeVt&BGCpL#TylOcc9#P;@kK0FUA%M0ZN2 zmciC5_1TuY`O0BG|Ca`M&C4+-lPF^V1rOEWRsamYJ}ulymZOX(%M_2bG?m3K@D@ z(^DM>nR)b47-`pLc@_@@88-{DCgF0=v@IRRh7Dy@U7)4zl8LM$PrfyS$c_RE03LD zT%j_J5J;%iL$4v%O6Xr#0K~vUDR$(SLLiMJXwAXH9_lpV#I>Xne+_O?T`97Wz3_1ukoV$e)Yppxu)4a=iF(x(+DLX@V&m8QRf)FWl&J-aXFDnU~C^X z{TXb{*s}NjPfm+2>sd_~eH~4!TC`8+>J5iXR`?E5`bx$mA^A(GHK2*boQ%xBMQ#rg z>I!8(l*xC=41yv2TZ?D1jd%R*dKRf{Whn$HI`END_u4wr%5lYb$~jTL8@5m9g$bRD zyqfTl^$@h?i|jPW-mpM~br}>W6JR#$)$D^2k62)_f*~5-K?~icjx|4_>~+ZAyftr% z>2{*t(Y^gf!WnXL2!x!eH`na2_TbA{+$FrH5-h{($e-38sZ5w5#%X^y7F!GaOHhthT+AelQnCrhaC*z5$3Hh1iSK` zl?2}bO-^ayD}rnAZn80f3O4+D@PxyXT9&`w{XSWZ0@#&v4J=vuHXxa^U?97W z$#2VQ?>kY3M>9W5ZJQ=fn2l7{?a7%F5E$sSLkaiwE9*U14Iy?j9Oede19n@SZf;Zj zcsy=?Vf}7ZoX)3NC)PiH2DkBAv~FUoeh$>T=^l53I}xBJYfhgFrPN@CL=t&ME|tS3 z{m*-_dZBSPHGs(OM)0RzJMmwaQPdsP1U)iVo}$^Oun zLD9Kqlr0G{Nzca>sez4HD+1&g=aL@}S(i*s1JVP+%mu0e&jfH}BdK$;?xxJS%--d4@RvWa;QZe+sccDjfKcVfp* zqs*+j8lb&8xZGdVr&CO*FuSC(1X+dmx=CU@+TAN1^YwNmzaO<9WFBt4(tzE(N=Q1Q z@-Wk(DR{Sr#J;W;yvyaj&NA$2x~bPIwC=3Uy;#7S)Q^hs~^)I7r;yTEUM2nS-HTdIx#3#c6FG>?&%V+%b+4}FT z7P~WF$~(2}zfu?}fVWKt*=ruw6R1SC*!ZoPl);jy{L;CIiYH_WgrRxn29kNHwRfH! zu*;xcH1u?om3o(X*TTF226NfqF`_PyY5F+O%s&2uK5G3n5w-3W-Am!m==+s`%s@{- z`1S8T1rB3>bmL!xvd4x4B?Z?R7IM9{_QKzVcug%JDR7sqs-a)=lixr|)))3AqtwKu zaO}=QNg>gFq+r76F)iumKu4lFkYkLe)0=LzLZ4JvHiX*R-G*PPnMVpo@%*OUDzM|7 z-q_OeSI*BT@9Yn`%u%eI@3JHS8A|-;By=&UK&fOj}9f83Dns=oo{bQHO*-=+8gYi&I(*z+Unijq?j%NB0O2qG4g8+ zrz}}K&aH|}UfwdnYAL3BbXmwZ>eR@x~!n*{PkjB$`?sgcD~ zkii1Ho;3~j?t94rb+9umt)mz5Bt24K`2787PmWp7UB$UOAhy%3i5bPv^LWf(?|3A? z*g#FYb!nKXN!G0?9@!AcV$FgaspiTmW$jU%8`B#zt`pp5fjvm;o9-`7EE}acS1ZVb z=w^BK55w?elA@@|nvrQ-e6)J?S665_G^!T0ZaM}~s;^kX`kb=R#kZJVj>cjzyy?v1 zp*Y9SdMigDCtz3mV7fQ@&=0#h7FTJ|6i0MUZ_w!O945YRUFQK#YczLsGQ`41+ ziyo?P?qB5esxfsEA;`a+u=~@6MujQ9%592>fiAMba9zmpm0H{nNbyg^NGe>N%&k~q z9?vE;`Xy=C>={)*X%alpVy3zB!w(WK!J$bLxb|lSI%mJ3d(AJmy~ld3t6Te6#)P0U z41BuY=Xev|Aw~nT%1i{n!g_~R86ZIk#@>$@IJz!AH)Y;ZryHHvGh?A?B@=$7<)fq* z>iEpmo3aeV(38$#;i+ftyNR>q>Z-@FiV!gQ>Q~89tDOK^_@)JgJni*``Xf{Lqw2j| zhbf>O7o83Y1g@hBZ_U@(_VFD-cM7j>(u7ftO*#xj7Fd9!o_D28@K?QG2O{D)Y_{ah zx)3$~6E5#0z`9Hg=b_H!#SHO=@1h&~4z;i5a{w4l@{sQhfHJycvnmnk&Zo$ZcR#{) zX1@67`+KuTK!wjG_0M@-L>j6f0~76$6f@A)^}Ibq&1jKe+$jqBB$i<8{A57q?a|b$ zrm@2bFAG%5oq6inWFt2nK%{YfQ_p^|G4mrRx+J{(K^yy~V7i&EC2)RuYr*MYsomPc z!^0rV&U^6jH=YdvWC}DPbLlKlTl@optPpAUxn-u4vKYYl-M+XS?+C4<`j( zOHjmrLE2sV@;zlWKI$V;_dgIWi~oxBQPX7ret+y_HJswvkU~e!bhrNtL$76f_|e2i z2)Vtk9|#iee?dGhLnY4t6D8^R-%+~!7bHws<0*)d4yw(N)$}^M;jdV45_6K4pM}0lO&2uX z^g$~ZUuQS{)d2Hf$?)6zs{vHzB>DThdB#O^&(DqeTvhOIe(!hZeMkZe=>fpzz6Zx* z*s`-V_o2^2SbYPvl!B&Xu+sI{e%oNIRuMc-+e9dRQD{|G0#B_SUENk5%R-Wun&UIMI$5 zHrmxX;*P7t4l%C#6JDvUa%sesSOcAKg_rk%(Zg%yPnnlsHArd`ll zteX1lM$*|*A2Aq9@d zCHlRwgT4YuGz{ zqkxWESqpd#Y*m3X2pJTl%_RG^MrEK#cs~&)nq_87XR8$%wIcD-f{>7~)Oo!2$j!Ns zB`6ATGhZeLNi*|)4VQ1n{^jFzd_~*@0a_HIT&h}sBa$#(y8%3FgG`HgdkoGXr!j@s z`C3i4+Rtf^T;PVlcck=QIA$rt1b0o?0{2>V%G#S}w`P?KDm!O&39FiN`x9}6#usgn zzlpyXlV9v>6%Z-^Y#eSVR*Wx`4$|=`SW+#a#&O&)Z$oSP@3xDL3A=@bL(<@eYW_f?bUu27^-*% zlFl>I#>5*LhiZ`QRGCNq?(`vlT$=^ACc%FwiQ@oaL);{}&w|}F5(AO`gjK8-l3i>C zY7+YrL}jA(43|m*l?R)8_vTAB1o##E7SwcPi`n^LFODt>7maKRLs1pM*Drh(3&Z?aH|l8G}7 zW9a>9?8*X75Vw-q(uFQLj6tq>hi{_tWK~zU&;TN zeglhEfed<@6=`mCadxV63as4`_RE0i&OHTZ2VEIZotK;(tbxEzwAPj7D%Db!NZZap zJkKrtffmamCzfGYX!9BrR)>~{iXb|g#HzgfU59H@qnR!=G%EsBIKLh4mS zb8;*Bk-K%<95^}d6^H37L#@j7@F?bZ!sovWL+VJ!3FMH}#{eT>OI> z5!2Y#5W(~C&CKVmU@iP$*u}(^Y^_HtoAe+Lxv$um9Y~Y3C{P9W-1jULO2fkZzWAHtDOnUajy_mLN_>RWzgg)7Wl*Dq(q9^|u}Bq*87rsE$JvDEVbq zlVh7L)!Cf1(9%(Qi4?cZfc_p1=BO)IhNK34v@W5K)u)vC92<~Zs~`@z*bKN4e5`MpFrUm6v&zxJXKN!Xe zWswiB+xe7|yUdIbq`5wdf!Jj&!!8|ppP>qb2S>fYlr7>$6 z2oC5WBk%7mBQG`u!{}uru6T)J@P5s7D&^?}%DiJV@Z8RbsZbv7Y{)D~H0>LY^cFGI z?%rmxO`9vrFt; z`8X24Z83adQ=sL0?=H^?a7idwFT_FpO!;d=Fju*$d8W>auZ37uq$rD*&)RRATgMBi+75HChcdK! zd+3~ftlgfr4VfJClK0AxoZxq&EzrVevq1?zTXA_O)1qpIerHZ#X2X41fY}#TDgxXf zh;=^sH>TGt7rA_~vBs&P=IoXL`$V`6&dH!LtF}sAwTZMH0`-zfe=B|A$o}V6TuYQW z=NstINheODRwI<#3t#xD8-$YE^+6`*5tC5rMIWr*R#-oHTObx4y)?WhKie0fvCF1% z-245}Ya@(P@rD76Qz%(5ZzvPLdki1~LikqELn6l_?3{LuKn`LgAiPsB6P83cT@;Fe zgFptKI(h4IWW(FQ5^E4ai(h^tvn$1vQ1_Vl6n>T@ThRCEnR40;V|+q@5~o-+@XSOY z4~A{RSC3Nc#(&zd&8F#SF4j<-*efbVsGtmn#)1qIb3P6XF1Lt3{JCO2^%ZczcFpC+ zGF7owz0_~mE;)dIUKpMfeV$D_ori+`JiWPeQkw;TCZYM`H;%n)ScKha zMoz3(>1Fb4qImK~(g%b)-?E;0b=B!zf(_v*j!HRtG3&@%NLRYvBSz!Z9@y^ zJ&5C$M!h0@?eU6t8&JmSTR)Ddt#Z)lF>)DJi$o&ot&+8@EFUY2or5g0(Jm;AXiXck z`u=rL8`&yfjmXK9(Jw$N96-!&1L~XkE-q0M8sLfA5nb9jwx*`d#{-EACI#X6qS1q< z9ovI6InH~8JK9=YN$HG(af)xTV&k_1BZC#i=%#@A{JKf8XC~zS=@uu1-=uiZftM1} zUse{+HI3C#^xPibiZQz=0k^)SOl`{R{dA&KWdtOglVm*Wa~qJw>jT>SQats3ctBh7 zon;ie2!7{&LnH_^M-udL)+x|trDuNh9N8vu_FXh+UQy* z+lTHzl>%A+3~b1bn+q-HKd{uZE5^4lbJ5+S5#Bnc_;VB{XD z|8V(U;A*~IiuTSdyr<;Wi52iY#QFA z2DY3mkn|4juQuxW<=Rt$!(djfVd}EOp*b~Ac{CUit*l=zCZTBkm6M~7M|j!eJ1@XR zxjhelO?(EJNt(NH>~h&65bC=zY8YJ@S2E^ci@9TS>Cw*HC)2iepF1-i{Ct|n_Gbva4j3n;?Pe1v-N25NV9aOKsMG2oeKUs zp9oa?tQl6(WQzw-QmdH6(qwexX@rX3S`|VBO_!7JQfM+WWk^t?B<=kyR>e+GTk|Si zH(>^1Q4L^entqz!5@}Eco@BVyELbzgQ8K@y9@jxg&O|OL_hhC{J4$5Y^ML3!!%oc6 zS||;GIW194&}@TM({O98cMEzvvYQ>>tBtvJY)B8EwVN37hdGJ&Yg%F%uXPfq-YRjR zq+C~iChcCZDuhan(BDER8Q972;1ioMzikFy)p&|c_(BUFe$5g7V5?A)z3%4nn-?*;{=4^~RpyER)!5vS&;hdyW zQ}thqU`qlj%&IbD7Bm zMUP6OZKcaw?UWCV;s}$KGVv{(?|Bn2Nuoq_A|Vzx5?;&B7F@Rl<^8G6);igc!DWn{T@1s+pS( zC=)Oxvb)Lnpv?Ltj`OkN2>G*it`ZUEigvF+k;H6 z_*`tZ0hXn!?FipqYJ%C3wC`iwSdhQCTrrtO{Oa?kJFu}L$GWrerJeBpE6*E6Sz7+W zp>A{F#cOHOEl%a)Tx!-xESKQ2e-TWm0hCFq;b(tUi(Zv($QRl{Fqy2}a}9Vuu^65^ zN&e6vi>jO`wk0K^$t{-{iK5Fx@AzRC8B+Oa(F4=n0=CbYbo6hCa6JX_2L0f;BqK0!bAvt-lkQ)Ab(A|Hde1l`}I4m|37C`WTlv z;~9-dY4cMn0N({rME$r>OFYwI2w?(tWh^X2plO}x1m9a)Y}}zr1B1V7y){`l=)zI> zjmL3aA!9LJ&G8~)7ty*T)XuAUp_n>~JihET(JZ)?*J@s|C(KGmP`cfyPb)R3rb zJJhYspTL^+{cXR5^+1U_koXGB_e*d*CPc%8X^_wj?DwnyI(UziSsb}8(KAY~14q#r zZgC8>$G!R_aYQlIXF@`eqld(U&B=a~Tg40=?|1tb<`2Cyp75^Wn+d9`k^4;C-NS^a z!x*PszFjq7P>CTUzs%j3vd1PLP}lHx^@( zW#%^ftQu%XsRroM5cE!9WG5>T+eS-sV@r8vW}B$rhf_yUMqk5@!1vqQLqN;hey`qr zT&D6Dj%OSR=G32B)d*44Zw{~|zX}Ewx*#cgHwC6sthFkW6 zbhR-B2v_YbngujVP>SK58{W~&RI8-E!c7lB`RXAha@>My=~685vv=}SfvD_@QG(c( zck*L~9z!Gf5-pqhUA%M9r95Y6=|REh-XHEw$ZK;(*&3dlG6v?}QJ7?8vEtcM=n(biA@0>f0M zuDTHh&JACj`;w==#=A>^^F8*>#%yVa|Em=&YF0N)-x5mTg^90=QiBtV(~uUgtOzk` z>Ag$7UsDZx%Tu-w6{wj`a^Qt?hveF3+QbQ>WggCZ*!XPiS+u$doYy5)^NDFC>p5r` zK$>imlGN;j<$@6t##Pk9Cc-Iq$hpLPs&4=*J`nP9^x zUEl@p1hN7`83V^Rl#y(j!!erf7Ej9Ex402W4br)Y~VXw=E}_75_jdLQUdK&TI2Sy?=HZ)#<+aSLG(>6aM{Y9L+yI7|iJ zo~4^Dj06gl*rOhjmW_^axm|pyNJr z-m0J7go;ieL>Jp5DTcN{$c&?aq9IeIg7i4?T=rEtC9ji zwd`cwuwNzd^2(8^S#wN0ABsz{ruGEWHsL49{rt-DJ$bEJQsjPu*1Fon#xqFGnTfjqC5IK+!;7E(7+k9K|@8e zskX7%?0Fo?M00idJUsCZ`5uL(%QxWdV%13CjTjFd%YV_IWzuop#f*Fn4x=7Pn%;L2 z@Y~MuOI8GJPub%^w?9r)f@AT7c9%Hs`PZ00W778hIb#y$ zU#E&DTPADDM6s>g4Az34fXUL9FXXQj#)3BqzDO56Z=2rI!kjX&{Pr)ws#-+~yw$#Z zZ3p~3Xg|?h1Rilh$QkWof*Pa7IgRtgW7CN*0g)>tmt=+Ws~WR-Vx#n56SW*G_(%2W zHt@#cFUdDcp(GSEF9AYy5H(SPG_Hm*hIclMwjw^|>nP zOi-1UgS&!y$4jjG11mrmw4%9hLsoaRl%_&ng33oxP%xNKrELuF_9^9R^_t(M=r`RoBtol+tF`?KZtnrq9H38%>W@DFYw@=p|y zB!(eh3Pbom^J|02{+bq`M@zao7_TLol6v(g2JIM$gRR^I&h(i1HFo2~RholaZ06w$ z!vkMLl(rPPOU(A^L=hQ2tEz?3_kBwoS&KFwD8tbUV3DUV_KJ^Ynu^8}FA0|Dp^S{LbQa z532js-jg)|NTprRX{27yjmCeJk0VX;$1y|Qan83~GYNG8I*o!shNBlseCC3d04GNl z*LokPw>r7Cy@YMuh0cP>nVH<@O;a_So*{<~=O!mw3)W=^p9AcUeg*!{(BlWO#S8?w z)*No>nft|lL)KEVvrj^o@-oEq!9P2WM z=kua$d*^)|dT1B7L%na=R@a3>8o;c{nxB9DI1nX3brRVrRexQZb2T>eUM0nRr5d9{-0Iz~!^@-kRe^PgYU@4K?2As3b*5h@f5An$t$2{q0MA_4CR zEOE7s?AF__WXJkuu%JYttr*izJI?vRKwHg{rm7Pjg3?`(IvrN$^=B8r|gYa{9UuzpKP{XfBh=BZw zOLtp{{wp;Gdd!&?0UOy_ECUZ#!X#2wElk15@Uf)0L^gE_Lvp-{S4SYsBXXzH#d@%u zU;r_mCh9@JcN|!YEC-cl;xEjbD8Fym1LGC3dbYdW8Q?QTvZ}xdyEx|xr+w5P9XE~I z1T%f=D8=vH+->Ok;<| zl%~1%4#+>echd=9Z*tCRf((y@aBj}%##NXYgdjaD3TPY7WtA1cS4XUanX|s6_4<)x z-c!so!<$h%hU`vyw62aWO~&lQ7FuXyKw8FJ*FMP+s@7|_?nRUMPPIQu_rp<4M%X6j zcer@d*#N7|oFjRw2E$V`#TbyTV6S<734Ubor;3-dgNQ$lC|HVd&}x zHeUl4V@0DXs@fPM?1$*z;xj&2IyO^vtgo6+MMyS45Q*je^KJ5)<%>}bLHv`*fA|UH zy3dZAuVT`c_X`WCbDT_Zm^p#|fAv7b#fW%-z#m|6>~uo?Xdl$_fIC3TO2cN9TRsCl z$ONecButSm?(k>KNf9wCgln4+Epb=U0V|7P<=GSt%L&AN+6|1g6F8|vpqgCR79d6VxFWJv$iR-aO#m(&Q%LpWkQVM^DT>z zY>A@M<1VupO=eC-g0RT-wcR_6=)|A^Fj*fF3L-~|3Ruq#@6R{)nZ{xo5BQpgM@Eg( z-<|#OjDok{^C|{gh`q6Jf2+WAZ5t8s2R4MY%gFN-J@9TYm07eIkLNQPFeG<>NYDA1G~( z(pEyQyFiIMPL<_EO_xuVGPZIHsck>01aFb`8di3ck9pKHm1&Tv{2??jlZM)4la1wi zHuXoR+%eMf28uC!i6Y8LRGq=nqag!Ud#{E4|pvyPa5rypJKz9QPPpPn-hMyY6LzNMeuxc9R;dddK1*W2_iw6j~< z#l>_u9Rtyftm@Lm<`IwU=KtVmyrzvPz52*Pe_TX8Pr#ARf99g;*8|}oXY<_jgy{ua zC~23whNY-f(yn8kjjE`mOP7=Jm<3Fm!MZ#=ffB21^XdhbsWIM^np@wZh7Xs|xkzmV zDb1}vr>ZJbK@Rj#p6g{@{>sjf3D_d!uH$tIc+|H?ktrO_omg567Rq6a6o?5{@GvYu zrT}F4mFxQ!e+qV`K*!oz_5F6MU#oX&iT#@DVdJ`Vwd%X@{_ns22WH-AzyJ2X`2Kk2 zWYV#$9p~dGISdce$vIT&03)y&KYmJMCN6*^dUT-XT-3ZWQEUq-`I;gZeBN5NB5KvJ zIZ{Omgt71Lm?ukZFrFzX>VxQ5osFD38r?8SiH5b3f9?;CiGl)RX=>mu;}hD{(sgJ# z53c<{b<0J4mpOz|ut`?4K&Turt0YG>7c8G$n{6Xbt-KqTdadV@+X3a=o%KLk1@p$1 z?@MJv=k-yd+C&kKRkceIFr~{faLfA~iciiH=Pe4mwPCd&f zpLt2W)Zb8kEa7n&C@89`aTs~LfS@c*8Rmowe>_hEv`&LB?bC4e#SgrOF;fH77Uq0e z=_Xk_yjX=YGEVp&YiXu$8J2+^z30~T>$O4t%UG=TMmy%U6g~|V*ziXcQFMXRA4e|! z-ny}=?A&2%bXXGTR5P6vGVjI3*r_t+nx{dl1i2sPK|IF5MUL%MJ zzqDMvTaV@dMol%BGk+ErC?yGzpJUAwwnvC05FiMVEZj0Ca5%`HN~#>VZz1k`Jq1?u z1<(-R+6}(Toxw6#nbs{U9Rt%GgVhA{f9L^PRufSFEt_F~7?*k!DE0PzQ5ABoHDeIF zk)2yg*7Gl7@;EpO$2u;Yc9)+YsuE5ZW}QCDY~)A!=TB29oWMnY6~d)%*YsP zZgTi|RBESyX#3fEtTbDzS=O@anMHgdUDM{x67WI&@9u(c{sojw zxWQIaZaD=3%copf>1=0cR#lX2S*DGrmvM^vfem?%@U3n{b?|at*);0STBF`;^qx?y zIrsEm*Xjb6ZRrlyvYFn&W>`+`X7DRZ)5J-0+~x@Ye+YEjO1B;H#pfxYb*3+_0ZCFGiu~e{ znd!brt;hbrVzDdg;D;-}^4UCH$;>`ESDdvZe*&X=&8v>` zHb%0jVW=OARy-C(Z(@V4gXLBZV|f1+tE%h=W6-s+vdgGJpecellNbet&`E}ZNvSy* zN4;L}xBB%~zww0EWMy!TB|gamGdVC5#h83|b|w6PADmnFEZ~jkcf`09ZW6#8+=r&i z)${xee&0=DgHlaP(SbB|BD~h`tKZuuk zcqNk9q}b*?G1Ys`G>Hg&p}AauwR*qZt~Z`bWefYBj8m#=ah(i1Yf~5_W(JZDB>Qz1 z*2@T{2ga}kjNwZ6e|_v#J0MrbmZa*Z;SC{M;7%Gr>JzaYp|q3#ev>3#@6?)&ZoSj& z97y~?;@e5$*Sx1HGv$rlw#xqKlA2$y%S*cXWb%--S}3koBHS3gK4* znfQX^MFT`jlax2wozTy5`u14FIMNkaJnZoYX8UuG#6?&9f1$W&i9h5QT=8f84lDjl z+yuoRhId!-$8;?he}tEab9aPuv77GVg2i2ueE8+w(=BIVHgOvy!Y5zt2wiWhh5J2N zUe{EKfpTY_o2V03xsv5CV*yx)2MfM(k1Y3{j9{x$@GFfrWBJ9}@s|(pzO|TbeuP0& zM~|Tp{>Q}3f9>_(!WLc$n;Bzhrk+O)p4Cp#1Kq}ALdU7c1WqFDl@ru)PQ><3KoVwK zSjL)36>Waw7nK2faHsG95IgNnuiqxuS?>u?~Rf4V6n-gs@~6Ld?-@zGaL4uRqY zuo?=UlM>A}749)xa?_zNtRpNQxsZ0+T+OS1?7UbSfrf`?q7CHfMi48zU1BHJbbU?h zOZ%F}Yt)L$oaibSt6kCEH0sq&@<7zo*L3b_7X`u55K=0|3fmAqte_wc^(tf7$L(x95C8S~vye6wy46cKwG7ZKxafcss=r7t3Evy$Qxd9{Y?5wB!9G*2Q;d9I3ELMdk#`s-fXu+sPXfmA&X`LM3j;T) zA1qQvx{k2?lckMA@k;Jm6t?5q{_(#JK88|We|w`D&NrGgqMf-KOMup=Zxy8gUY}a# zH`!{rBI0Ky;VJDBgT|a zmS&Mfc~gh7X=O!z+$`=-G@>HT6NVE|%TH`alcneM+aKL&$h<0ooCDtU3b{#mD_No5 zBA#V%T^jz7(rt`wlfd!?xjF@X7HJVof5y20b&L|{@##teQpASDY}COdn0lC!2^ukA zj)%A9LxvURM28+Kf$ZIZsr##*j(L7?uy;qQlnYHoO4pWSFhMth>mx?Py;lcHyTDN5pxwee|lo^fBP#HoPgtvA7n~ zhUwxerd2o-Ce_d9E>q04;fj!kf-x#!HivRm?R#Y67I_r~qfFyBjKOf;Y?xPn-lQGx zI4|qK9_#;Bgzum+0*7at`Xnt|NE~ND!z(gaT-Pf&*qr9*pIx5ua;o^Cf6&NtilO1W z`LbMzD>PADZG?$PYuxOF1T;$5ii7M`;gJ`$)gmJ%E4oESOk&e#Bu2G&(#9$Q$chGC zuT}B?s}~xN^zG0HEH>0~-kxhbYCHBuLv6kYr~6adkJI4jRlT3uSRk7|RHtK&K2Uzd zL=J{;-C7>l2`2j4#=Im?f0)_%?jyRNb>+6|mP$UuSNtM3@;y1i79cu|Zo;h9TK6&; z9?`TarK{Sd>xV7ju)Hk>s-b9<4lgnWs8lz8Oa-*80M|W{x9>_k<=91`Di-c~V=A2` zukDU+RimWX9v1mh1q8*bm=^!4swr({#$Ym86I%kb5^YQtLf`{qe4;fpXq7 z!J@sz-X;|F#`nU98evl`J*i0VE5b?MZ&W70@>(OD`!IB<>XLsLT!9uR@5@P4riNjl zG?Gdip~=NN&JAoGO=sz!NO$Gl=p4QM{V)HnIDTmE{9k^$e?|09lhv?vfG>{q%ar9G z2JPCf-=*8eqTdIx1GD-?lrLbQIC6%ONdCy05GGj81NvAcLQwS=S*rF}7ySbGZ<78@ zES!Y?Zo1>K0za(tEXLNR6GV7KD^V~S5J~k%#V&>(EMWDPZ3SW37(QK?XCX)Txw|lC z#p5-wh&ASje>)A_=)Q=OZCDT%?q5eLG2J9aG_eBLSt$Ka0gq!3$F$QCrWK>n$BwwZEq~@2|`~n=W(d+%ZI4>>uCp6NcgpuhYk{k z3EUI}knkP6!W>c~cqN#$gG_0?mxRl&@jBoQa7Kg0e>~~AfU`L85Od``b0b5$!{Wml zfFI(+)b~AsH#LH(r`w;(!3Cu2a25Y3{##A6hlPvEm5g(V;{_?va6OM#C8X=QIadrP zOw9L#p=`mv)G8<_>>g#-Pa#)sZhuU#Og~DmOg~C*(T`Gaw8cxcB~0!2-~Li;qGaC* zOeniIe=bZ}(6;X_x;cJ@@rn#ru8*U);N$rHw?E5!8m>1Ng}Un7XmkrYH+s^!Ax`Nh zjw;2*E78NzE62mpO6TFo#xUbL3I&Z|bcF$WyJ(^sn(?9fgtf6SoPkI1s~-1wNI?{b zB4U@6c%1gpvUsNU(Om44Yfs0{(zmN;w9yP7f1GFiU@-qdrjRyRVg1=d+F;i?7qKLw zO_7}?EpSlY0+$zy;>o;@d5VVcA1*?JK6FQ&dndZus}skfTL6%pyCMd3s`-f>p7 zv*_;`&&%X`zaNI{h$~ARR+d7JTiOftqVt4iE}TTzDqAHA-=Rm{BI8WaF-K-ka;`3LES)PAHb! z)*uJJvLW%qL%X=jC!BA*1?J&w*PrcTf0oKtovk0}cniYspZ@k&Fn6t6O}Q%rsu%gU zreFg6<2hEK8=mWP3_+eEV;s%(y%7&+LTHkZ&Gd|T(q72}=wkA3e?4%3bVrM+X5rbE zW)c-TT-Epxch?K2tX{azxAr_X3$}@$54lwmZJsPqbeD08XN~OuR=H6)gc`XJf6oP@ z!{=elvNBc)IOfMvJM%@2D8A14U}*j488Bcrn_z*ak5n<@Km!FdDE|>Kluw(LU#7(qp+~p;m4UCMNd$uA28I|9om6YWWpDI zW4JYlfy)umZ(+?dnKN}b&h^Lne^1gp-A2j>^BKre4T=-d1F@jG7->h$A__zx2EZ(e zH2nRyKhw44@4x+}vMlW!-oY$Ngao{XAxZEg7{P+Eft>c?mKc%L=XrTsKNgTIt2>G` zL1b9WjDjDq8yIE}lA||Gl`R0qifcxK6(;8>@t5(`oG_RSW4=Ix#84=Ee-;O$749fn zn*=Xk`AGM3hsw&z9CGA%(3cX-_>^TZcA0SH#TZ_kW4pK=B4VI2bDnBJuye9SV?Y*H z6Nq;D7VEK|4Eat&L=x;uoN#s)=A=e^m8i5xTS%KM=Vy zqBAH3mfcz+y@vM>QRb(44k(!pCB->xnMRO&*MU-md~-Y>H(pQTaNz3?T)M=!4o86l{lq#Iq6m%K!B$Y3r(2eC_$5 z$6x2AK1>$qmQ4++FsFzg3Km#h98lN3!i@K?1*%vWf_fyLjXZYy=4ccIlh>!GkJi0a zHQfhhxIxwRf9_7>^;b{jnO++s27)^ULggDcwgvugef?ZX(EaGj#&RK!h>%R(2&Qx+ z!Y!Qe=VNoqq#Ds9hL?+!c9b_vle1sAM@soQt^K-=$UCt#vRAjn&p1}qpe>f>Vpi(9=Rav!W;@Q5@QWT=0kNK|w zmNSzJ%J;SMPmuj@GzMF6XN;w)-9IQSw<;Y=8>EcoQzT`|uWwHwCnub?05XG5~tL4lzE_!Vh8i(4Jb;qkd*99|P& zf4&@d8uQRd?LAhN=h261{Y4%sMuJGkYs(q0)VR=?(8r$%G9uxUyPbSt@GG}Xz@6}H zh=swRx77E+;ngX5N(~E)5$_hm;bS>iS(QZMAu~G-?kiEATasi&2a7oO`)_{+*@pE* zJgm9I@203j5w_iUd==hYyPle$uf*H(f72nxZAAb6RW5P%{l+eB9?H31% zW^ky4bt3^4ZHr%hJM0lOEQ9>1JOFn_Jvj}~#e+2+hYy&?xvo6ht-v~6pcnC~SBM0N zJpA^P*f8~Moq`4LS-)}|m@tpZIP;BgJv>ZniJ56JRvowT4w$kYQ;=A<0!f0Xe>{Mc zSu42>R&V9Szom;gmJ$)e5mDy|1u=7giHvyjmN0c@7T0}qsnqWDjk>-Hmf4hOj^+K# z#eSjL&{KV~9G01?w5>|9Xtd{xxG8noL`^D5dpdS%;ys#3e;^|V4uVC>j5wCL5?>W6 z>mDX+gyZo%Uk);9=ZHqG)GE+Ve_s%;v$P;wCsRSVPS%2Oova1nI*A40mcL!kP)Ms& zpjce5tYUGUvWvwbgBWn_^aCiTXVL)QzSTyR<5pkfHRu9;u5V}5<^TyrZc>zB;a!iT zo>Oy0t_9sa#@e1gm0;{_L)YC-?)qsfu}4-iuOSMqN98^gWJL5#^0mKuN{no714iat z#5#<;vBu1umWGq%t@27Ok*_p^4ETb>ut>xxs$+S>-6iO=z;^@+Q+Ej28kxeYNpBcp zbCAegGuFRSH);BixMbAre_7gBMjPyuOQH8&0mzlmbTCKJ-(~*FFjZt72e@9;Ly7E1O}d0gv5ss^uCv zZ!fK@x&_{=KcWeb7w>qzZ^^bW*Z~C3SzgXZSNe0?$cyW0AQjdA!T%jp&#KqeEa*Ja#6oH6A~96IGh! z3Zo3w<32o``}g1eZ0O|Z<6T<{&ObQ2zUD>jzkI$}HnqZKflB}z@i6wwo@MI0gkk{u z58uzw{0u~g6YMt=IVCwGLZt*$7!){Wr0NobcX-(pApppwe+cWds7;NpT}`_C?*~= z0Cz~9kuy~0g7ZRFq?PeYN#Wzw=Q9w zAgtUp{KKao_?Zmwj1mdB7|8;CAdHrv2JfLJjxxL|=Qxf~rmHRb6F~G}=^Dn-Vrg{P zJr+jbng%xJ<-TDI=JBTy-G<`>+^K|z%d_hY_s$^)bDX}#O2QU(+3(1~UnXfI}K13z!b)i?^T<`Z7BM2qAe_E7GQLbekl!lQ4*NvBj1g=V*!zeC3 z?kk?46POpz0;CLqCW!jR9m9GxEI3FSFE6YC%YLv-(Y<0Gcj&T}z~fM3GY|#(eUT0Q ztUu^qs}2jQzHe9Qc&~AdNz_`A#eOV_SphIaN3U{72h{x>`H~yG0-_7xa)J{op5088 zfBu07$%I@>m82M6=lFndKK3lANGBAP0*$0Id>TcDil{Maj6I&fxrxG|yy0Y3`-1n+ z!PFs^BtlA&yd78c65*#UswEkLI5s>GOI9tK`XOZiY=GH}IXO^-A7)$v=vay$&=+mk?uwuJuYV3Zs8jB^iuctPZf(vc@zdG6Pl_MOycZs>iiLzNl4f4T;W zswRQ#8kD(h%FTy^GK>FvoJnK_wRj@2qLV-SL0d; z-N~gyDk^F6a}$K)PAD2kCxxAKeQeeu85$|?Lej$t+)Y7nfWnT^J0L70Q~3%`?9OAn zWsGFXz7#c_ig?^Zd@;zMlx9gZNleCn?>;h8mH3TZvHcHJxQ=l?$<5Ce6b&HWsb~Cs-{cwec;4p(*KQfYEX3AwD$Uy>(IQK!> z&ttSA1tW4&g%Ho$d2ikx@~70%V!}6@x_==*TUzPKiQ}FC444=FDMDU`ICk{6=YlBz zzY~(_B1aLvFVYnOLrzX6e~*At$d#}OUE0MR%WEg#rT88B52CUtud;0tc5(8F=1;kZ z)Q!^7MiN?gK>e`IpM}LF!+F8P8bxJM!^|>J^gv;QLs0)6e@Ds2#6_mYU@Sc# zcf{WjP2lKk=6`4|`vJX-VUNAjW@F)n4!kfn+bNfo>ZCuR)B*q@%K|FH_7k*!g~!A= zolwo06FXpDAu@K#B%^O_)EbFtDWi~voq<6JPLPGr!n(bW9`;+tPfc1S=t6k3Up`+X z<<3Ur&I?&e=JSjFfBN(k2YHSE^N(2C)5b%8-EK7-^aK6RPsnF}n(!(32!$5>X>k3m zYXcVJT|7Dl^Q<^+&Muk;!Tbh~-p2p_dzn2uzw=vK=T9j4%h~uf`Yu3-aRB7q{OaTK z#T;VwX&0WFjmD#WcsR{m%f=`Ih~)bt`8!yUJ{qUHG#aOye<>QLn>8Azn>8AzTd+N2 zcN^L>cFT^qi5OBz>wA*!j3GBiM(VqYCmJ1Cp>alfm*9tKJRu2dz`G&Rp)1LgmsYZby6WvlCt2M%5LZdW zwWx8u7y=W1E60pTjbAv6IC!ZD#ywZ714~8uoXAkBEH1>57gr)`V4j!~itA*fnSvVc zfp$uwo%fhbd}iz3cx%Y#s=1mC69%UwD2hi#15qT8f9SMR?U+|W5?7Y+AxJF>wcyf; zJj1WVO<-3c<k>&SQ*WWju4y=k8;Euc_WoBNkAtFqKPgBy^KJ;7k0%IYMog;D3uQTxaf- z8~z>>e-3S7ZlLQuem6X&y>oxo%AtE`DpZX*pCmax@t%TGkY6uzXe>TiKFhz5MPmNz z;+NHGLIkcc0xC3s2tg18Kk>_hH`Cy@x9(NLwg3Z`yt?@0U-Q`u ze>(7bnH+e%tPZ?hRtH`$Q#xHQQ#xI*fOD@=mR8s++qtJCW|p+TC-Lry8|zb9NLw^Z zT2@eyl)XFK9qM*02?+xXMT@C$2&pU*!?Z-TFs0~5SWkp?qVILdXNM6+$+voQ5?epxTPEb$HrQ)jDD1%4p)LWBoE^ zbZd?Fu$o&jmK>4i;uo#^v-imIV6n%toGnE#2KY_P1tHJ`m&fJia3xPJ{d%Bh1!j_to3YcB9v?^;<%vN5N=0uoe7Oywj;Q8{K-R z*-1~=6V^gq^G#KuokE1rk{IxJSSOtU}=QoD-E`X3l~E&u(GoRX@6ZLZh& zGprW>y=uAGV20=%U09q^%w*qSe_A+?mKGWhf5Xrz>4`w0mAcxw)>?AKVX1v36j>C( zr;*f3_*ATZr1MJjtmO3>&fLo6YUJT!;Gp2KB~Cn^EAp5yu?ULiiffvwf$Myt7*I)= zc*N{0QX+W|s2!Fp2Om|1i#N{YZE0=<~!NmHyK7;qth_kcYzhy8J89?n@vWp!#+|WhWN)UFsiYFs0&<8&EP%A z->vFSQc!MIl^(tqP4{V5Eff5r(@53sBm2eodNi^QA&WNsBL5hKIuVc%$kR`Qvyk^8E9E$+ZG)gt<-m{u z^Rw`N&+?q5WUepeo`^4;rUqtodzJ|X z2i0^G`R66BDW*{8^r8Lu{yH{Hs5$fMSxAi$u<01gGz#uoNmE^oa|cp>j%G+jC^*)c zqy$V9DW1yp!lqg&m4-^aXGEpEb2s{%=y6kEL9I@5i<<;Qc-js(dygh@n)}wW@y@d3 zh9?CP2m1-ovPkO{f89^G|BqK4GU9paOjabo$hK{|Gpgqn4Mpp27etZ`c1S9RspM{u z6u)WOc|3V$W^&=)Sq?R^M^q`jaZ*t}lF-MViV}->2~l;0hv_(aSnpp(KTz4O`Ad|j zH^8x}l;F&xD=psP@T*NQ&Vy|cb34nzFckO2VP+WFJ#uZ*f0is!XC!v*g4-Q3-!k); zU|YE9;cI!tgV$wuf&-2g!%?i4^S$c_A)am-ng+5}l&lMgg^)OIQmG#d&L`o@OO>$$ zQWOL_x&#oiak;upSkYdO6*ewjTfmEhyxeNE`zOmWw-w{K(yz8@#-1&rlAbrl`ZJb@ z5K^1$a3rO~e*!9sN{A;)5&r($pYJ?(I{E##zf|xKnJA1oJ5krl`KSSSkusmK-W#@k zMgowL53**ax=gHQW>Mjs5sT``@s=|@KnbgbiRO9-3@(PjGCUgnUsw}ocd!|KT=VFw zi;j=v%a=u$L;VkLB~FHXqag~QIaUr>R}kyo zQM}x?;@XD=T$2s%6H!gn6cmlEeBU*!sD>XG<5f*bcqEcL5y7`}1r%2Z`1j+;7fqT_M$$5^zD@(bQ*{x5dwB34PmSSAc&T9_f|db2`9i5O=X@9%z@y1}wK zS7GhA`Rrr-o_|?r8FM#(u$&*?Ul)UsdI40zc*&tZZ!o+n_qd2pe@YP++Nd49eU+-! zb$xZ4KoCO%=8-!uj3}3prZT}m1c}RlEIeS&e=4HFqp2#j)K)L0E5U)JKi0i_{u2Lr zIK2bG&HSVFX{>WSUKWg^lT?A=p(1wjLgEOSb71(k-J&q{~BAJlG+70tT*aCK_k ze7K6r)uSSW0kiIuA{nC|%2n+OJ3la!e?r2RRYO*?Yn9w_gfFg#62oXkS&E{blv5J* zl6TR$l(ChXKMp2^M@6WM)10p!x(Y>8Dzf=2Yo^Z2?=Q{E?`O)(?`O@+?`O@+?-wkr z+24l3n*FkK@8{9Fq*ZP_0UsMmh<-cBIEcqD@$E_GRMir)4c4a$Hfx=3uhVPye-pC+ z!zz9$vjEqWn_A`}$0RP?X`z_PWxq_vMiuZn@ zk_K}K|787xw*_m?v%>!v`|1m9m2-ofora*kP)EHm|^Ryq}4 z$q$7IYg8&CH~%AoXj;ZYH`+3oQ34P>6c60g^mn&P}xNoq^EUdw8X!xtH?armN` zIgX1gVvm0*MNr_z%aasIf3#TEGM}WrII$?s8@ak4zCanGChaX`u4^P8s7V|cs3%1M zVfh+le4)acFytwY7V>e*Q5spy(>-H^S)fRU0k&6Esx4EWJx_Gh4Moay$TwO|;Zsgn z5LRcFx6AobVLyC4|MbtNF;@MgCCZTki>Q(1QDDiobWCcMMt|ike=;}y(Pe1l4x1x3 z-1mzlwbiOwdyW=kq_pbG-qG8_71B8kD~i#RQ}9cap>sOoixQy>3>SE?l!|HZFOrPQ zl9;N+uv6q#ju)?da*K?oouahWK55n3j#s8!a?OO@U@3oDv~kw1uP<=un~Q7wmbX@> z?&l&zlNa}aFTQ-fe^?%nv~VBQZ?x<6e!WpjRmx6-ZgTPvlV*+eiJw|rE*oaGaPAzv zJw1*3h4lN)1j0?}1fk8Yo=!lc;Fbz&1#4lF0Q!Pcs!*=Cny3E|*#4Wjnjc$ogNJOi zy%lVf;};k{K&Xy7hX-sAIPb>XZ-z-|r$Xg*qgJaOK*K>(rXWcG zb1`9(fkQ=6o2YcDSF74^8jwQ9D=a?QO>0qERi1@ivaG_Z*6We`cs(78`kvh0_CGoH z>gp@oBfUgBe=3n-8VhdK{1G+Bqx*UvgU$SKqpFFX98?zXOP(mN8ufO)*XXtSwI>i* z-5QVAib!x}M3{IxEU38h<*{#r#$?CELF3#66(c5}8TK{4`Lsm4ND#GFy;bk` zTkYi?8Jdk2=z0BKvgw;66mvOK;Bh>kza1<%11L{se@yK=MIAf*hC<5D1{dq2Ow)+F z1nAVdop!(0UICp2mhx;$?#6W%@78G4dYyy*#$i#W{?=;NTbtI?iV6(a^87NFNsWV8 z$S)Q!2+Q@x{tZ2N|22485mAy}w}f}oPpIxWEYL3bZHjhAl}IsFi9*&j*fVo{>av+n z&8ycMf9+1A5C606dR*8^a3-twDU~Z~z_dE4Qvl~+Nt{QI#qTgYnCl}1bb?qxX z80`qDhtbVoI034FWfZXS#PuRt7BPZoG+~e~e+;#W0Qq42Jb64tk+GcAi;|J?<98p% z`lJO99A4$;ng+R+p&`44nW_1-D#_Rv}c!h_|uBD}U+-g*B?j6Ws_j zm)9Iw7$~~)qH8f;5Z&jEmSlewC8)-i5jZ=8qR-DSufmkpRRvk1`ZBBD!n!sK`28K$ ze}uU5*sb+7Pb5>ZvSvjHAsu9zsUU-ugg6Y4dPEN#{3pIfsc%F{XM+nZ@N~!533Pr1 zU$GpM7e_)8p_^kYx5aC1@V}`I7T4ssruO;U0owf3zRZ_#V7?F{(T7}eED6z>&~jxG z4zCaLpZR~Pvd>k8@@=RC9Z%TsMgIZnf0$DVJMi%L#5&;dWMa>>2^OvN(O~3hJ7Nmm z9D@eR|DcFCUarj}DDk!PA7d|yszv(HXO2NtIz*bGu`mzs;bmG6mO0gJQO-@}D17G# z<+)vFwv-RY*bh>KfvSE(y6i_2s!c3-uOP=hf6R=kC-q=kC;t=I+#s1wxjj1;NHUrE26? zz-w-l=B$O+H^?c7Qz<;a8?eBxME41$IpXR!pl~B}p50wr-->({z`AD6ny5?Aj+{Q1 zt~o6c@k(6cx=Xe(t(>0YMLU>(f0Ts@d&=#f>C{^_>hHeg(O?5TmYThh`yqxYs2ja0 z>y&a+wssEfaxRm7XE!o%ou&K8F<}6z_0kN$m7cc@R9sX70IDxw;?7BdW|_K2UKV@R z>T;tO`w>2kD$+m#p9#$%GG5|B0IsYK%Q2H z0`W+VIdgqVrpDZ>5XAW3tx0))_me+wj1o-s<Zp^ zGqKBc?4afG#b=+Uf$h5Y*Z9F_HnFi%_=5UzjIQgbR5UX!S|+-4e`8+7a@vS&-d1M; zMpE(1S&wg8M#p2GmVk*YwoT*5Wx&TzJE!Mwv$qFv@dB*3KU(Z@z#ATX!lGs`9}^X& zL@K(xoSV>2Wc!D(UO8`$!-j;r;dc4WNa*|*onEMIXY5iZO_lM*g|8?FmUN(bnEMJO z(B34eT=Vx}c_uynf7aIT?y%d`SrF*PXiW7iuRIIehXCNd1)x{7>*?@kur(^$7YBP^ zRkU|{fQ{3vUs>4o2zRA_2V@F2D-ZH#>NOg_t^kUa1Lles2g7Y7-x5q3Xae{%=2Or~v$PmoW8;ZcW? zCm{pFseF1F(`7T^yI za$x;+K+wESne^u}F7pli7*|qce$?>3p9LdLd zg9hpu@4bu6)p)|W+D|xFJ*oD~#(?;glQo}mvQD1K-p$>~5;^Ka7sSpMW)Hn&H=;;; z9gLW9|1t!MhL!Vq3zqrRUtjxW$~;Rp&Sa0;%En-6!pyp@PQTsiEf!@+6K3{=5@W18 zQ{4{hfATy9X86-J5*@v2$h^?$p_3zk)8e!$qks zHiQmiUb2(?(xRc>kMFN5vZWGQXr`&TFo-wze=YBBBeL@!EG~EBS9U)vT-oJvGw;4j z;`z155W591=fZfm9GT;Z28LKW>Vi?5Nds6|AS!W#P;u~5S<_+3{(WA>u-R_*n&?z` z0==+PK#;|SW{wfoCm-0%2$-25BvVK2ujxoav+F?jf*Y%>jw|I#2lOJN!X9@KnEFifaoN6hT!SZ`JG~oe^~S5> zDo5{tUge_Kd&k^803Xc-FXTxpLs-+O)fzcJ_)0t)lgaH=H--ft`Vr7#fC+s)#4CS+VY?3AM|Mlhfn3e-}5WhiBgmh^zOf9}jQdesh^^_AH(W&2(bYVg80oysKrB;4k7g~evLYcqS(i{j~mlNP;W*uQA3TYk^e??D}If=?HxpoMT zxdWtWV^bs4caBxLV(YJ4#_JbP{fa$WR*u)}ve$bDdf^i>!f0*nV2(CM8>m7|U9DUL z276=hEx#qNUwiiY!SW3rMO;@lyOLc6FU`n>D+SMXcn9ZAFG{jC!SdlVN z^&w>CNe9Fq_*ho_7P(2H4mgQH3iPxBt2T}y%VkR+Eqy3cMMMYDXWVZN_Zw_c`v8ca z?KJ!3ke|VSM*MG!_*gV}a^+h#H6eejxQ|tSC&oyE$=&h*?MKudEmZZd0Xt+x#)|Ut zo6Xm|8{4n9e>Wewylkyp%*661zYB4>o4bk%(_wAK$1W>V0m&y>H1hG2%A4l;0yIn` zv*Lgd69iNJ?bm-232o>2>XY!dU;kw=+8V%(eUXWrGGw;FrPTGbAB2%iSaye_Wb(|9 z8)={J^#dyzNA9EN$tgEhJ&*+GD`d~FcXqa4?Y!Q3fAiScGjPw9bGF|Jdj@XRB!_-x z&;Op3^N4g`SD5{8V7$jlIi;0fXzMb%WoRXpwU$>~uiw0Wx%Jq~dnAR^6e`n``+VE@ zQ=*E4CP`v4oL3^`Q4vM_;gh6^kD&YJOD2MBpL&@T7;-gi$Y$G3qw9E?9{I4jfkt4o@2dJ46t(7e;h*JGZGi2wD&2gy-LsWY2dLC zkuiMY9_U&I8388vor=fjQKa=dafd)*6PMz7s>KiI?Of+Byw`1g1yp3avNrDS?(Xg| zxVyVI?(U82;LHGIz`BC=3w_NkdK?QK{&U& z3fKgu{~IjiJaSsHRhDS-{UX<%JZvc637*q{Pg!>CRxIxRaXBs5apX<9hQO=%=zesA zb*6&^HLBs-TrLcH+35(`0DJb!F(eD;UOQ(oxr9>;ha(9BJda$XaqG+zzYhiK%vrR` zK5SMqMszH2GfOPV<OZ3n7|o-7%iEBLBT`Sp}@hWC@0us%fFS5gtF=txmy5{H>D1%ru=%2uETprEtl z7b)s^Nm6U@5b$CRlJRPnyoQ>DCOw+y{!RF+oNxc((&;qJYqOp&R|f>XbOfm;F;c1? z@DFCM=F7;=O#Dx~tfPYNkd;Fn5{{-_F&NS3l6@CFy?4@xZI)PC&--3?w5uMTa`7QO zWamyR?_6CvS^<05a$yUMgm^(l*(>rQEV%EFdYyy6U|eN0z?jr#5(loM{TMk9%5=ti z=@iFt^usV&8!#1TGg>fYc3TiR2)c19fUye1&OJ>vj=Pdt%%X(QBhb4~R`+UdPEfk( zS+_kFp@tXp0&WCux@$XBiW|5Q2;DW(G8=wN==q*Q*2LG|^^_uNTD?0v88Z7Qd;Cn<0%wjj8ZNLXgItO| zzi)5@gKlySAeAygna$?7F*>1}u|S?z6+stZ04pd^^O)HmN>x|QBVodO-ZM-3b3095 z+dfJ7DJ^Kv<~iQ2a0qPwu>FTkc!W;)t`(0c*Oaqm|0C=qCX`+gy=vkYAf%_VLr<yUxNOQB$_=6E#Fa$}k_UxwBQ<>ToJB+4U1)cs%|t_}Ej zW($pM9$@3e_zIv>GcY(d!+pI<=H~xmpXrzt?hl7vx9=Zm=4$0;EOfj;)+MMaWB|)- zajXv>W=GA@EnK6Wt&B?n#I2=i^1vmDcqcXpF7s$zd>l{L3fJ*Fh>30AEm4fCEW2_>deh!r>y$yh;#n$f*8Q zc!EKCBkk}hmQW2nHiwX$Wl#pSBKOFDyrj{7mMF(vfTJTuJl-G?p8HlTuCnZPvdCcmZ2>>+X^^sPhFPTYM$K zhWkmJ({46rrLlT5ej}-I5Pivlm5|Y^^(p1P+IReunPs#Z;nTdK_b}BOCjLp|nV_(GkEVb| zyMxCVNOlpwFvxUt%cootTe69qXkl>Tz3lv>$25R7#U)q$cFVHs^cQCmLD;Y=?reAV zW^0()G0@cT;Ejs1o%s}oYI`3-UoQ(4hop1GOvGGK2Y{J@EZbj}RTw-&b^{&|Z50}$ zGT-A9{meWGj*!VqV*ZBqDF><2>~z6O8`-w(LfS*(r?H={v3H^9;rDMiP#6is-K2{9 z*!@*1SXYc=HS-+iIdWX`dzBm`C~_g^E__2eh`=bgxLKq%i@Z{}+`#6s8GZ%zU@NnO zFs$7O85BZ$)V`}532x&U1cvvw}5m~2noU;M z9sq}1ZX|OH1zW8B_Kpqec?|LrK{GLANYDv@rwBtTS{BK245`N0u?#_`ukOi-nGXhZ zgno-W+*Gt^iaJi5P6I7qS>;F6Hh}TNrN;SKwi%x$aeZa*mdPKEf+dG0LCIw?E$T&T zV1yvbPS1IHNAq2_LrKJ1uJATI9C@)K1E8O%`$QEx0s3Id}8Yz9<+ zp_O>&JiqscE?FQNO~&``4dy91ck>+f3O+$dO@ZpP+KIba_*G2(N>yazu|0q+bA%gWTKo9;PiVE`ke-(eMIPCYu23ZUd&)W+S6{j z=BwFyPK&~W(a$|k(cOYP#`2A9#cdAhsgH?FjHT)i3YsaaGMK-3-GW{U4Pdcg!bhW7 zz6;ztzMtN8Tln2FXn5!Q8g!@sWwLjn#vOvJNQz1!h^Ku*4NQ&)wg6To@7{+NL~nZtEhdA1FJ zme;)V)P(RExCAh0m@%VUO)Ki(4T}^627`kk`Gyg^>e;yRZrzpnSd!#)>QAjuvN_;+ z*cWedE*x;IJxaeQL)j6WTMVK+#CUY7wGyf+7iSP;Q1vNTuD6DH_5**8l}4z;N+hJD z6k;N%F*&2d+dHVh`>ZU95ftbJ7=Y9%iizV~8Nw&h7w)l58aW)Qkq8TkNiBMn224gJ z(zVn0Q0@i5h)S_ExaJn<7xszrb7yh~`I|N%5E&Ja^#_RPH|VAmT&As!)w4lAc`|mW zKShLn<70V8;Y7^vD-pzHYP=a`}s(+|QUIR7Gt z1^mVemhBcNersX2dC|lr;-WJPYB`C>B>aQk)tLaxMG`3a0CwU)K78dMG|7cKTr?eF zjFlH*(XUT4;>qFF^O-}12fbx_KD|H$uMS#(jgcPgA(2!$-W3?yPd=9AB6a6(h)(gD zNwm5dUNllITx@Yd>=Svy?&YYPD|b5=`f)&aG|nLBjscX}-+tn|bYmPpJpLIXGfld>Y*`3a+KfRBbLtEzzW!44?+)EN`480eOZm2L#w}A4i!%;M##^t+mt)iR|`+*TDtAi^iC&6 zMDqR~d|kT&z)f!vDOcA#13%heL|ot8Bvy>sD+UIm+^&U@-3`7E4J~}y7rM)OTJ368 z48FXjg<2t^!ZHv4k&sxtm zgpqdR<~ISsLHLibD~M`{&#B(x=i9sar6oOX#}-z&z^=ZYW40Nxqji%8Fdb~6cC%5z zH#Xo|oCRrCz8JmZEn!&>2T$WsyuMu)s3}u)DwbZPSXC3C5pLJbmJ1=RMrc6&$tKkq zfEffOVcro~KSga_E-XipgB;P%QbNai>(QBDUb(t2^kM(c&}Fx+ZbTV{rz|Tq9%umpI0Bq++H4)zIN6#k|`j! zBq;iVi;9$?G$0p3M@q1VYt|5gUePuUE!itSkexS08|_O~KVh%|zLz2Yg&a`wicb%* z9($fS&6^;~bYzb(QuFdY;;^o zQct*GYmA)0qx_r`L_2&KeJ&6-P)OfjAgq%?77U|v9*~S=ko>})&GWTiU8)z#5P?4~ zJXj=oRGM^GVRvO9FXN7Sur6UvtfFi7j_l6t;jLm zbdeb;hw~uc$Hm9cTSF~aD$%)r$=LC{hWK?>rSFB4D2@D=)YB^FK~m z28Oh1?0DyLRwBJE>>+{gk1Jl{6lLR?dJk5~My}HeT9j^|lDLY8uNLD6s3~5X*AH%l zg}-~1!x-0)N9K%YOVe6L+Tkz!4jJbTnvWk4ENIgARysja$Ci{`z)bt?6kO?HxT@%# z+G<4&p$K4bDfXWb_Uu)vt-#x=;2aul5R~22PtMP3h^u3B(md6AXk3PJRT-zTG$p+ykctz zZbAT16p7)|<|JeB??@Oib}3L9r0j{0sPDY82}Uk^f5iWH%b3pxsD59_n+SAZS5&YM zF@tWHME2}ifib0E7}!z22%!^)`m@XOdSb{cHb_7$Ag>I8C7ze6I6X7S$F5+3vWUNO?@KJ zw5&4P@nsMA{+$9D+a(@0Q(mgcA3V!Xpr*8}ng&t@J!_= zJW9~ZGVu0C#n|aA*^ti{(g-=Ng#+#eHs_FgR>B7$l$H>|?}6UEsK)}<0b+*_q&hk# zH8+D#1qK*!0DNRFe0fUyL&KSNJUtz!Eg}_VoE$NOSPI)r!im4&G z7{q}&mEwzm8`9FN+oPo8h)WGS4tWQgGN%m#(Pu5MUKptBgwph5-P5_Qb3T_V*&4MFzPm4h2j^1ws()=2PD_1TL3nN9#9XnAD&^Hlsaqs1FRcYj`I z0gB{wTn0O5$md>VL`k` ztC^WoM_&O_;X)$K`{rgm^1xC^#O#tSGn=YzdhS?QFIwYG>FpaQTG@dS2ei~Ln9+iQ zo8%+ksQFi0RFKvvQq0oa6?hM%+*F1Un5b81zG=@zzPXDoo_D(+w~9QT3=YjUy1{_-nTsEn-u^C)s`##@%) z5_!UaCS&|rb<5?xa#CE4f`SX1z*r7tO?Sk7Yz;*tlWtxMKALRtf>=^at3N6bRYCcD z$r%oP=ANo$kV*H_$*E59Al{gt4qeY^t&&muRd&ZQkWVxi1G_m9MmyXkNu~E8x71(z zaiA~0h)ujc#TQW?MEamqC*KXw-)xIB@%lL^z)2KBg^O}qW?Bq69g?Dp3n*0&QdJ^i zXv3BgpgBn)ULu-an!p~W1|R{WnDQ7cO1M5j9bY9&ywen7m|>zw;(9!@{8I-{_M z^kEHgax+I|)F_aB18qX2&42OV?ueOioD0LXt`Rt!-(4`_LBZ1I<5Hk|4SqbhlP6fc zwmLs|I&&(itX2*oyKT}z-djFoRZT=;Z74GoM2lolsM(wsF|i~z!WhY7=GDRE>678u zDqyj>ZE~p=mtO9||5gSp*2>ZJP_w{vR;$TV3gV?3LagC0XTerrlMYA-ZskmIB>RwHJLpig|aMhLc@4^j`U(O zRxKRWV}=@XtY7uJak7GpUWeAMS5WoPxmztpyR`vz#wk;aQD=PNuXOi4>R@u%?A-I| zL&gmuKfhcj>GVTcM6kRQnoi5WbpIH$`NYO!UEXhUXmQeVtzf(LLH)hk2%Ihap1yW@f1$4oVOr_pqI=i1dErKpUB-6Hh>-*e$f4*o)AD?v zL#h=T-YD**s~g*)7e(s9k&(%)AhC|T7W?^VqG%cO_+axaYOVO)=$Kh^Vmo)zuv-ww zc*K13{v9VQH(SLrRVIGI%rshP;VuD^&K5HwurSK6m?#BiIWo3Yj5d+^-P znz{%vJS@a2(*l|LCkl2NVjdc+(`!vCfRLQZM zoASoode$V+b*Q#_#F90bWyr8vXwG&OMlf$3>lsFyWa$%~2selgz4p3Sj2@QW2rMzT&iK_P&K0UKP<+AM&knng3^V*jeXu`vi^e5q~3 z>=oMUqMpO-W%$qArG(U{E-}(#7A3PYcK@a2*RfGx52?=0?4KgseMsh{y@IF#EoZ5R zZ{41i48&zWI7q6}yr>Y22TrEMy$6xRy(0*52d&0(sMdES1@A0Id$c-DjvSR29g--S z{7F~wM44~Cly*gDqzce|j{N2kHBKOb{a{hkV-98Z0UoiUAQ@Z1wg|>Kya9QqKHmww zab0E#tW3F)AzyPt#CjFkbW4J@5~&W)q`)%CxMB{dZJF0;w??7UU1^RQZ!e}hV~=Wk zZ3zKktDOtgJ;S3;#Kz{L83EJiwFu+h0h1SE>zYepg)%4T^4s?mgWfM0!st_t_jm{z z4Fa!%Z`FhXsdudSzcz3}zxV%vR8@e5Thz(`RxPH0feqM0gQ+S&LSccy!NGy;mZ^$? z{UafK4yCa}JKQfFI z-BhTk66KVyYG0*4>0N`Mq_^C4tj;=DZd1zYF+e{rrI6lfR^n95gW!*Bj zTVxK$fJt%xFb7ni6#Q5i0q!VU^ruZFFWP0(gd&J1zP?ptl z^3t1Ld?a#wrfhxF$=Bcs9JUkk~V@_AHgI7i!clw zkoQhD>*WAwU7Bp$cFB_8KZ@}LxYf(tm?T|hfxZ@7(ZdCl{aij?aqs|F7^*cFOiu?` z&izqub=EE!XhZ#}L<~hEX2YKPQS=xaLnc|?CUZK=41rJtEfe8anxg*t?LAWjy!>rw za(rjVz?>`M{n~+Ag$}DaqilQSC8Hd>U>v?SH$~d$4HL}t~&7pByQr0^am0$K#P7yak zZcK!yQj(OIPl`Ql#sZ>R8IrklqSuI>^?C7Y&b}Cw;V@jyq2UVxDYIhU$sx&^DpVa- zV8a*p^REh!Xnox}Ev)wYhb7Zn19)ZN+Noz~maCmW@}Te?$Vo_4I+)~B7?fLt^ZDRo zSBs=3=}(g30huG%DO6*^4w$_C=+BWKC(!%DLPI`>iNHoE=P_QX`n3dUd)%+_;c%ne{a9s>DEC)|VPZ1+#}}w2=fdkr2%a0|O)J ziQHaNG>5rzv%SIJk>LaE(ynQKp7 zp^0P<5cwv=u>5+ON0 zW9er?=d+h5Wbd~yL0x;HwspXbw0x6z0rIKD?7bSX2WIZ!t-gl`vQ7w`s(zt9nIB1J zh?e@%Lw;$v5GX<-g-t5GFhr;AA$LPXE@UUbY=^yxOUx&Z644a%Kb>@{Co9k!6K@CNsu{^J5!jW3tP$vN z=3kc3@H_}5$3@l`Wnqrt6<%ZynZh~3b$R^a)r)YT+*e{Pz#_=T;R>Qq9LkSX35h@p zSa+D=F}cOelipOD3RqVg-)@4X4uLceV)|V^$b#e)yIODm?l0lS}sQf;Qyc5tszCT=y-yLaT!ivVMhSM

6S;v&J(6;!RReQoHYB7Yq6EmC~nh;su!Xhvzq0*bhWIL9I-BiZCaDrWwcN(8O zvTX?{fqv+AU5FX9$AoQkps~Y_*P=O|n88kiq5JiOHlqImBXP^O`wWC>`MPvZY}+`E zFuS3Od6bx0pwq$W^$5z!hbZ6xD#5 zV^?P}`1aCZa^$v6o1Ll@$|ke`K589*x2lI9 zGif`u%L0h=4@Rmw^#gkKn7e?u{m1lU>^#@!zS!yGLbdc>%P&ET9GbUv$f-0GFg*6` zDeHNU{5VfT&M`J1tm)fC+b4t1V0Qr(!LM@~5w7XsJ0^QBKho{$cZz4STPN zmcnDfeu$pwsIf)WGGs=ioC9eGQcjD%wKR}LkCM00JXze>@f6w|6JUKsF`f{t$DN-(jVRUB zsitb@z=G+!U(9*ec;>CL$Yp=S`a)ZdQR_joUv)v}w=43kI4;;Ad>fsnPs<)nKdG*p1JYN{GAlHC-)hl%a63&I?sQb;^Le?_( zu2ja`!o;FTWeHSbN5yr-hA*4dU=H=?3aBfzpB&CmCoX_ju53ZtfYB%V{-#1jP*h;B z1H?wobEd-a@~@S^BHP5A9`Xe)nG|JEbLBFeoZ8;r{{0K}$)t`me_&%*T|EhEqBV^@ zuvYIyA-66Gle1{fna*L+Psyf+pjg&{ctsz^{|)=Av{j7R|vRKT~l^`$96?oA2K$tw2m`arTUr&8WMdGFv6j;e3i(G)0Wq*0{T5om-EJ* zqF<XOy5oab{(Yi3-5YTCU3Mj_iMSh+=vi|q9zdyr-|e0{Bo-)bta zvy|?K36Q7Lh_U$W&x<7YdJqXd1-s;jC4U8~^8t^F+{pm%Q!|ubeC2-NoX7Uy6^w+M zkJV;M9bx;GC>sA!tkgH*W#+Y?5?^34fe7q zAu3z(>BR*E(4>_CtV4z#3h8+&?f8` zYjHo02^sGv_UM?3PhHiCU3-|MADEn)Kw_G*i~g#nx_tAVT@&ehsF%oh`-&U5$9+JU z`FoJqDB^w94|9WjUcASNw@*7U0YEM!5ywmC3gOg=*9y?gjS_zC<=ZS?VplX!J6Xmx zII6Ks%|zLb`$X~n@zMozD1>1~c=={q4ChKRsz;+|@dB$SMC%OC8TJhC`zj#a+&^bf$z0&_1laWBv|PKfH)>)_P0vQ9ng;e; zXlS|dW5!$ucbwH(3vjky!cv=&)UUD0-^R6NI;(e7hpqVK#aZ?hZwqUdyDCmF-GQeRE$UG=F;F+q&q`mK-bl{MH0)W{h>r%TQ2U#mtk~<v8k18;e@gQn!ELU%SP6vBFI534V_9_3c9^By8;GvNK@t*aaUl2&-1)_H zuk$A~JpGRdrM#0IKjnkxgrLPll5g+pDE`zvVRdP5JPgM%c2_Y2e~54@wNkn;(a1=$ z?rWl1sv4T^H1&%lH#5PaJ3qQ%N*$lbc(}`mLGn-u)=?zyv8;B&h=8MN;Fd|&2r(N; zw@;EU-0Zt;>9?MlHwm6}Db+eiw3gIi>TWd6JR3<@k=CVcRQ=xhe7EP?rO)htOYhY6 zUHZo-vrUS&%4by{Ab$iy_mmc!s{Uh~=Gq9NrF1#9grmSA;i(ys9QVa$rS5@@*Pt2H&U8_R^|c`3HPLz|h@VDbe%=p5vGZ9=em{}^ z#njz|WjO8Jo5k*0tZ&4GQyv$mp*jC+_5R+IySLkyOO$_SUcv~V^3^*c+BxA2an)Si z`lxjc!2Plo7rY80aBWkn@40^Zj`dRGs~+E_cw;+sxc8emQnEaHlZqfS|9!J|3tgbBC`m0_X5k+WkCMh=d=#z|9N&@S{D9h&WgJ6`@LAL(OLsY~Gwy2Ofg;6S*@ zN&vOFYs7c7473XxMpD3upeCuEr|!h%U~Q>gafebH^xf070k9L-|ETrZ7yR|S7UXyS zeD=N3i<=aY?yI4CvlD|5xA2MqLmL_^;;K_2JKp)Y=i4vc)34~o=&Nhen@H*Ol8Q!c z14AupRLL7G7fm(oXh)@5k50w{Ol%c5%R$k z*Q#NBv0eVn78>fmY0X}dFkk~mv+5L78UfC*EHtnB)dA=_zA#ZuBATcXgCJmNJ5TNE zqf$aW)f*sR#9ks^@w%vyh{3d!L{W(>ewSr_;5^)H=%osMMTiw-@P(yeMoEa0=OG?j zMek;;64|CoS7`pR>3b_Dl`{i??N`@Ixg>q;Q3Ae|+TsYEx!`L@#&=km?#-KDGCHJJ6%Q5i5oyxFGUbeobi5 z;c3x3O2uZ4i6|v7mD~V3Pf1VZMxx!kf-~fJuqx1Nw6!fw{mNNOEZ`| zUq(qoV(DBOm+`yTi5~&7@=DX(i}}>gJeXn>>RP}97z<&B;h1j`kf-!*Frwls7`4uy zo7B|4H*qY4e6{A+{&tuFzV%!bw@IO@>-7qPHs?kDjw+GeVKxcj#x{_)?m+299WAQ& zrLi0|#Jx(_d9(nKUaKh*oyW5;^tB8KbpZ*y$L#T>f=Ay#+9Q&@bO{$r&bd?u;LlJ& z?8E_!WVB>z=4|KD<)Z}*5n7J;EMaPbiN&xm<<1Vy_U2{q6gd~N6)O^QUGk}5IG8mT zw3k)A^_mxcR`9ESKg8)s$kl`K#+}c&Y6eDSR+w5pi0Hl`uQCSU@>%UVy}gA}WOlFI z8=E`SU!-7Q0bS7wz4YjL>P%K~)AAe;7g&G`N_{9l_$8?Z1fQw)7~XQ+ z@Yu;^v3`l5eJLU5)~y%(#V@hu3cdhlSnzozPFh|yCFV~SBVvH^Eb9KZ<(%;#3dqzB z413$IzIE4oNOZpdB4UGxAagc*Miz`kfQ63*jt+hkW?!)erO8z#6*dnSp0hx7aq=1P z0}&{{#sPAcbz_nwOEJ?%FYxrD;Fs;=&o|B^n1|mB@|v(&?Jd@Zq3*S<^Y`_FZO)OA zJp#MJf(}5gd@QbQv+v^FS*eLPI?rR1HBz;63?VITMAxCDqvldYimO|OL3rAffR2qn zJ9}qW&e|uu<-ev`g{oeHUgln5Kh!f79Q*wQg9kJim@wtv`WXxk>|eIrZ78Kddnhn4 z`}R0-h*WTpgCqnK3OALat&^vZi7p?H2@e-2PZ9zLk(0s?M!3NlB4hnax4vzsNeg|nxV zhcE>@8z&ndNK6`nkcExwf1f)!J289P*m?lmUCb;1%oa9gZe|u90JpzsxcRvFxIxC! z5EH=vpBWnI!wmfqEYH>o;O@cVW@$B*+V2#`h7@@zB!xANW(o>H5JtKea#Z<ccjp6w7=5j!pi0}S7&00rY zz403HtzBGty&W)!>50KZB&n4?n3N16 zc&R!doYZtL@tn!@dn6N%v(5ET<&S3*Ed3hgRlo)v1B02_f;`WRaO_{)GBz*%`AbP~ zU7|_Y{WQ{-xM1=R92ARg#@V~RL<7~^3g)-uQFCo#DiLV~nWN_4)67Dzc9hT=LdG2< zpQL)mzB`741h)iTRcJ3sDZTBU677mq{`zH(y>9vg2@VDp2Kj#^pBe&Ap2`M}1^Hpo zPo;(s_}4uIocmw*OK|e!XNgd|gWDlNCDy|*kn{T;@RTK$(`Mdq2T3e>i?7oz>34^MNX3^Z+96y5y3`SPAvA(NePAgapX%R6_k1NGJ3Sv!?I;e z5?hq{?lDJ!+)moPk8q_5#1#pb+41|u{rki$gsv~?Bm_ArljP2y+1=A!;&iB{dzPpk zhj0vpZKjiY)^)Eqztc)PYN&j-^h{^QjQXzwZ{dM8}CA)to zC6KTT1R-e33<62`ua>b`k>!6ro(6wN`L7-KpH%)q>tN>V?CHU5VP;_i_&@AHWTp^= z5I<2;T_Gre(j1cF+#DPnEG|ygf4BR4HGO!U{_S)^{7?5Ex!pQ&FbiiV4}g=$U!JD_ zOZd+>(7$|A|4CP35dZK{sVV^fXJY>5_)pdN-{0v~?Sl~D;bH4!{V(U%-z@*0(toSY z5B2%4Dg8IkDjf*0zqH=}Z=kV!|JafL%}~(rgX|wl?Ef$X{V|3hg!D0jNF@a)X8dpQ z{+snjhV-8Wum&Rt(6tE!(_b6+e|k9o=ph-L7$jfM$C4uJsz0s{g9?;;zECktPM{fuUf7z`%gOxyXuu zd=;?&R9}S(1SHAc1dJLP9OVD9PRi8%GE>q8L;L>*2{i&kfd3y4NprejY|#I&yZ`v% z_%HUqmSx6ZaQ_$f>nq!T)$KZ9y#MLMog=Zruy8T6a)`5Y!~$6U0?3U5$e@*3z?bsB zG5((jK|m0`I#vd5woZQ-j0}v-O=PFKrNDk+Ky7WN@J$%6gy4p>z`%)Uipn#?cSk}} z2#RQNku@bdi87%CR!*^cK#)UV3kXY-cJKQvjYRD}Z!?-ceK<~}d!!(+;;iurw?c*J zxP3l%{lNMeCVU9e1SAX+eE&tp7#d=Z$~6_(Q3jEEW8VsbAn#jglyU69O}P<*yc3t~ zXaMS<7H_gm3!xkJAkSMHFD@?!izc#wltU+l7?pcz{wj&m1&2A&(W;pN)1X!U z(G;fFu;~0cW?pab&?sHXmdBjgaJz9)`P=orjPLBbdGJ5N3Bl%@9<{p=3B&I)p|*x1 zRw3Hi<|t~SqHCz+WR#hq)my|0($FydenZZmUkhXUwUhs6=U~3J_dgqcSpiA{tPUko zKMCsjDr8;6$SYu6VymsL(=Jyy*bXl=?ER~lo&5z0CW&f-q7RyFtU4G~e8`6UZYMX^ zc1Bp8w|T(zQ1k?TfNxr!kRt2{@pFwjmeu3ntVWo`(d3}zu;p!6$SZSYh49vM)Jd0s z<1~^yk|)SgbK*QaFPh6%4ocz^xV!m$l5pW~KzLaD6Zss^(;d3a3;L$!UrG4M^LgJt zz2=zN+G6`WN$555cIbP(mcb(7eXs5H$}`@d_0-)n@y63$=1o{NDY6iKy}s1=Lj5{+ zSMySTeEg^(G~i;OG(S0Lvk)!x`Y^l{sFO8u*QM#VQ)|tWrAr{|r~mK<+}(YAba-!8 zv~HaLcH}0=oT()35`WsTx>&wT{GHC4wr%|JyLN*=;ZjZ`+bj@yQ$@t#U>5b3)i#po zh_2{lbKP_xq;)mEoQ1L_376|=|LMA6{A_TQbKbVdomrA6uKSqc?dPYX8|t?!c((tBgr;8330D&pA1tGQ7fEPJI^QqV1Ctn2E_O@3yY~+LE&>-n4tc z{(E+-{eY&;zUKl(_DA1ff zt{4p7rfJ6@tLV3qq}XmXDWa2`>=J;OY`CEM+TalnJkGKShZW{I|(lD;z@vwgYfZfz)$Js^p86g3@ze_ z1gId~(cx-0P1oWLFlJBq!R<~{KwTvK$?nMv_1m3w0nyozwf8~qgZwaP+bHrgvh`}` zh}wExfE$~ZZqdX}fP#WMW;BDpLsq+8mgKCxid)7#?geQjG7(~H}gHx8<*0>iFW48vpC5f@Kmdrs_OfM;Av&0q}V&06Sm5OY!Tn3oC0}m zy~I}N+0u*Ch+Lr{PfV*>e5-RU$L>hSs!UOWRjbYAw)g4W)|A%a*((9Qmw&P$jE_#E4=VmlQFfh4~z(Mc6twzL*GiJ{uarc6XeXFxW5 zmL6g`%!&IHhGmS8+Yuu2+0DPf%s_}jb?BI?{S2ZosE@HhX7*?pcFb`Ui=miaftsq> za`=4&!%`O=Wdc&Wz*wmi>-OA_uyn@s<|8|LsnbdV$eE;mu*+IwPTsq1hd(Cw9L0z_@FB#Ao&PY{|jIe@whSJ$BNY)pZ^1|0^hr8V=VDpt#LXxOR_c7 z54dP$?(HVCmf`m#yP4jOF5lQwUki$uUVFkqLCoapH*PyK_MdqsG8~)r3`(!9Q14kU z3qy!tcUn`6&1x$fy$O_^$sWfU>l!aNy|ik;3hn47RPQ&a#ec}*S6tW1W$5RKul=Yf z<>ix}OOtJut6-m&i(2aknjeeD9GY$^QkM8{l^V8<(5J%ZoI&T#-U^R@KUKcd-PamB zxH)K(rd$>|2J-K1TBzl3)X|Y%s??a*yN}9{p1o{cfVKz zSWxj6J?!(*7UWQ?w8Oz_IOc6N>I_0l$2=PJ=mss5_FR!eC7++R!AU37$e8{n>|5-K zwW`Fn9a%~1vO~4E(YMr6xJ}#C;Wf*y$h~{=b=7HQ7#V>5 z#N7bZfN58P|8VG!>kv=jj+l}T?pR@n#|Y5mi}q-vu@q0}yuvN!Ve;D@bEx7(Txj@Q zJs0?nH1YP{_KV+Or95XYHzTDNSlV0}FWIY_(B`E)<_FF-E_A53_QFB;3)w*H!r;c4 zi-V=adQma>)FN_sbL%V34g8wIpHmt#IPRqx-tA%WZ=v?GA1o{rUF{~_0d9Y(q=N7S zsJv6}t#-5bC?W=b{U*Zl3a^a)bPfh^TfE2uOvGuL-QM^64Tdw87Xr0OZ%z~HUS>J+ zuM&^4NeXN}65DXc4L(j^Hxhw1+;W4;BrUfi>+v)eoV^7kk9&+?Z^{(Pl@TY2;U1S^ zEFVp*Icnm|tBG}^fCzO$Ge&J0Y&Ym6__x2jSZ!1~=T}Qi(t+ld6>9qAB63MA;eDM-U@!)Vu>t8ue#pwzrSnav!8hsjtdsd{V zyai>dAP&6(WqLmHYzs&?(zr_vOAQfCe+oYLZNCwlcRrp&;ZpqC)n~_C@7NafSPzQc za~drlMrzD;e0H-LV~v^XNdWtKk=Ph1z9#d#?po>iHUlD#(oWkzU5bN_aOXwZ0hVeKw#nJdvhX z{V~rEu^um)Q3-rIfl5qO6uBUq;_5IFCkEYpCtgUrP-M0{4 zw^KUK!x2^XkCE}_g+-%@dLlZOdr~G{O+Hoqf|N$2$1tF9<|OGh61_t}XVR5}qAy9A zqWRoy@}+w3C9h`cVNtcGRO4SE=clzL<)-*KIji|XXJaW^>-*3>W=9aB93#AHiqu`Q zR&q*#UU`*6_K)|4Su^x!a4MONz_S40e!!`kr=EcG%~%JuUc6>dgunlz`>*tq??s^Y zby732`YzB9+c59@d}(mc6gALtUVFqh$^!bG1?Ll?c~A08;zRZ!Qe)dogY#g-sIA|= zYb;AEGRqdkZ={iC(*crb*Ou-r#eLF#s8_d&8D8L_d~@sC4l7gi=}z>KVO{bWQEO=R zjO~--)uxiUmA=)B@F=Rpo4w(7@~$Tf9D#G?4b$whrn_li?X zpOd$Z>wV~xPFquN91ax{Pg@(RAExtT8>P(hudgExXi=;!MnO6UtuFgUEZFls&S{?I zO)oyPdEZ)nII%R|tT+|Xu_v?B@-CHNWL2uC-&yV|Ho<@1d>k%`=h5KNSH-75#wUpL z_a1Ns>++rP!ozfvrOrxi6DA3#Jgb`FW;ob8cwx2g zOR#xg-sM2ZUR?4^bZnVKNI-|{*FrzmOeVk@o;Ji(O&K+mb<}maGwE$FGWeHC?cWpA z?8#95_*t%iT=4Mb0L3RSZT_XBzA32=bK!|i3NH4{HYS_3|NLi^evzc zyIkT{D_fnoF^dp&;`*IbrPHUVXyd|ZR%;3ozQr?)8hGEZOIy(^jZw_{EwLMmj*%F% zo8NfK%>b=M8u{FF(3CK6DA;dXIck;9Qw><#BQf^-QsA|xnnwv8*(TEVkN*7oIp$R+(l2VAT7q{j?tn`d*u=LSF_SL=Na z0`&aQed{x&3)u#484I%)o1EvgtbVB|FLbFm3$n7shCOR7O7Lsp_y0 z4m~d=cuT+D(KdYXH)M6FBn!K}#T>gv771ai3j_&)r1Way$7kr~0m*0jPG`*Whj5U= z0*A6yqFVW|sg8I*=ZkaYIWK^TKYd!hZP4B-M=bZjK?eIGFt|cAq$}ryVjOtuTee0a z?^2X*7DO4dJyL|L*AS?`;sriH5?w zx7LTV6&s=Z|5TOXzX~r5&n_>~@6<^N85Si&{f2x9f)`=Q!#he4NIwOn8t=Ot))Mf~ zR4sK#M8f>Kg%rKVa4BORysnvj<*J7spQ)GHuBDrO->Z6eutq5KF(>w-#0zqt^NlD6 zgA&7Yuq$Pph(lp3gZuF{?9w|0v!YaM@=6nx*8NBo)5FOmtW^oiQpeqDWN~L1a27DE zr7Zc81PSxN*EUE%N@>HZ3%1+vlw|*m3BA zSb>0l>mQM@a2X(0ZO!(G(AqMf)jmzCv$DIk+2A@XY=mrwnql;#f#J&etKJX0z(!jN z)2Y$Op)*NB7+LX7+YWzZcl{RJlU?TJdMikOq?fSEHrPKtZb6|}Z@A4^Gm|!-TX!m~ zYMRJ}>^Nzt8wINdUwx3OKnZS^WmmsAaRBR595Fp^0Td-$Yy)UHyIiIFX2gGzdd!~Y z!^!EUtVfG&Zn<00I|~srT^!Y@U;u0-r- zl%WKSotzzslgs{sK8xRN{2){$XOsbq;nA=RpO0CuktcYoofc zr(sAmG}*}S`IZnM52M4(D*H_WD!gNSfnl^0l?dD?XXv}iYEQl(%CSB0q=v&X(MQK5 zWXC7v>P15C$n0M3OH1xQ6eb=vXQHi}EiIe@{jq})TR8M{saUUBW)i7iyusx8^PIyU z=-DSbS9jAcIDTfr1PLOxgiafQ0fPO@SOK-p&iNuG9WZ+FfPFtngx6Da!w?wKmsqkR z`Lz@q^=`6lwhhcdy^bu|=x#lMx3i%}vIZig=MnwI#XvBgEPV1X;>v^gH6|0@a!=p7;kL+@(iw<2g@8jNEL3uHrkceN zs8l3frb3eR2!ctsFGtpZjKPf6u3yV%3XefNZaoFg@j)&~MRF{k0M${jIOXBlo*bpU zihX%CDIXDv#CNy<`8;U{A0JAVTzd$BYeTmTn&r;wLVH9d)Q44`eXg7*)Wd(ZAE!2z zWw*xF)vsUj_$8ml)%I6k@?>0%DlqXH7&S7fahJHzd&JQBsdk?>%}>n;-EUH9ew*Dy zfRQB7H{ich11vr5VJ1C@*z-^`dPt>z=|8KkvzyL{If*cm-g^fCs>-H6NMWNQ_RC5; zUjw`bNB$2+(5=6~LqYpXpNV$(1rf6PU&t^WW4r&3gM#)$JU4RK=!e1X|3Kt*?T?8u zlDT~;oAmjfJ#PcR>bnCxS0s<5h{|(die=u=s+CjmrjL_{SLcedb8~+pRUE)`; z{u}?D&pnn!M6Fl<{^#pEK*Y}oJ-(maOu(K*6&?va{@>{}pCR!c%xfbhIDYy3|BL*X zjxl(q`3tQFl-y=F|HlFQe^$f);6Dy9*prn0%ZO=bL0>2%)BAsJb-qbl_YQGjZxcW9 z=pjAiKCIh!;V(q<7Xmk8bQabAg0D^!1pXPxV^#0@!Jgk{Z_FAxxa|)??`tsA=pGX* zZ_2GF-@9f@bmo2!ciU9`Qhxrml~n-kwhtUXCOYC1>g-gEt4^Q&3)iIJIKcC`3V1wH z+{`{mzl;B5&@6aXgr6le+Ht4qHXPVN9J{c|GFqK=pG>~#!~${hT8afWv`m>nb+s>@ zdd<+M|28PuA|3OkJ~g6`vQ!6KX!S_7*VRo{k!EGe^K*LJD_3T{T$F2Nbu)$#a|1s+ z0uj~s*#JKQ_T@i)GS5G`{F;fn(kdLcPuj3G>PQ`am{~qlp=avNRK82R)GuqjIu-$U zigh-#n)l-EDJD7oc}cc}LQ~dhKYz{=D)G5wR6Fq*8B<;Y`gH7zfYN>b)z{b8mvXks zFP5`p{Bcl-Fzo^MOje-F8yLXVLzouEZ+-hYKmx*XZ6PrE*IR)`_VwoV(~ltoawwP| zv6^R4-SUWXluxZU5}`9;=xS9GLGMu#GZg0y&4qXldK~j&qYN3UT;*azeRQ3|>4Vk7 z6-vmQj1SDg84NgfI>B<=iIPY7@aW08N=z6H14nBhU~BuUNrd<(4`?=H{0ErMAh24Aq+~fgHecX!1!B;1GQiphDqb zfWG4qw%P-WjW;!m0<^#FRpCd~^!ZXfug`(oQV>41#PM0#dHTn#0Vhz6bSqnZ=VU5$ z_Le7nRUDEZKb$Oi^)45_@sP}yAA7fJ#qD(~Hx@qL+sOWfS6)y3SZw8x6jXMyg!(VY zV7?spKcJ)j$m8C~_RaM8#im%aw18F*CB%P>XMuHKKN`U50F$}sz2yC*Ee4qe1N{Lu&1x6zMy)N)_K?jI6$Dl$9xWq{_K#OVp{bD(qfZy> z65M+!4=c^J{EMWM$FF<`>l$YrHIfxW;Gv7u9S`l0N04*vOWf{Q61)t)Jk0s!CAC&~ zeEwN6=-2$oU5V;YoA=Gpf9$VM&MbBjG=?Lg06zEtiB;%7U=7i=R>|2a#<0xvdOdFM zW!^fKR#9raZP676+CNuDzB$dvZNEfg<5LZN!;48~vaP7I>~ha;_LLrSAG2kegqw&7 zE$BfIszD_|wu`K`+2ap!R{h@L{h86qes}N5JKr8Tw>Clh%yj6ipOJi_+$d~!pe4Sr z3kaqi4}7~MG7*4A0NL6>Z#IWAjd$B~)Sv2XB0nF!{M7RBD$#0yQpBAXwY??K=ugF= zB9gSjOM8LVnc9wj7Hr$KJi8qmX$p6v(3gLHQgpe~T3e15d~-0xx#0Jgni&pTJFHUX zV)un3pdeRIRgr17!SuE%$cZT&MB0F*}?`#u*#Fk9-5)-;GWe z*~PL+rDO{p=-#2P_?N@9zDYl|S(gT@gBwjhneVX#Uk8zakjs55V^*6o&VH)B+4i1N zj(~SF#x6iIV5{?}WI`UC?C?*gg&f}0t)KO}R*o{IID0}tEMvJ`Ld^o-YU%x3-JQ&mNKAh2HV6@lA*dJ(Z3z#Z)i`7}JoDw`IY!S(2d64q&l z05VbS?VrVCknG1yy#c;GggIkJE_~Yr-@jm{~MH;~^h>Q^{#DRYw1m|_J zJWaC?z3p0;v)$Y!bjPQ_c~qg3G()3?0t*?>bE~9;w_Q|-=c$zSl?=g>0sij$GZ!1X zHNzg!RUAKCyWtJNZ%#cotb?&m!i0OWg2D)_U*oXM zW_3AsiLIM*lR$ym+f+pQWP~S^K%G>b2P=bO?EE%*NBS^=jM&>5a=iQ%+SMolZ$N&W z+N*-y+b~u0csL+B>t&rc1dIlLcL4XihEPY!1|Q&?=JlF56HZw?S2Giu+v?1e{Cq-c z4E!+B>1Zc|DZ{@;jt1?{v4DNSW`sm6P8AQr`>>JFN zE6x!BmZt+nwkd}U7Apxh@|G*n*$^PeQxkfN>{vMWX4e#fH4GgMR+d8;^w_Lm=x($z zIQC?OeP@4oUCQ)*2bloyzx6sKT&}RPULK%kh3)#mMRe z%Q$zZ!O$4R0Lld9FNz=1;0NeULGXT>a4Q^Sm#=B~DCT?EqN0a?WvAI7=Sf2CY)}}X zm{4O;m<5;N>}pU$wHHOI6_O58jWPWS0?HzBq^Qg6JGcRbKN}QIYB`;ryoGd5m&q&R zhnRRH1tzYHFBx@@!eZ3&c9K{4Wsn-d^D{qAW0Ju#E;&lYdHQz>UJ6z!$&lR%+~uc1jsAM-birl#t9TnuAovME)C zK_+&77D}Es9z49C-iPqE7nUO?;<6r)qnv9bfLqV(d|m{RNBGLPaO(tnfI zzH!g|>gL%9?pRWN$wEF`KAQ+oc>y)7ajVp+S*yzAoZ_q(Wnnl55dl*_5AvHUYtL$+o?OeI7d1_J)vPPAZ)*T3BYuR+ye) zmY<-(WRcv->OC9TI03O|>znW422-TZ8k^U5A06ZNjpK)O*n2FcZsBSfA%qtKNvWV1 zLI!D=1T6;N+n*q`x&QPoNmjEl>gs(mE7n&BSFOamFEvsq1VC`Rgp60sZ>hL_c}m*gXPRg+j=6j^~7g# zAcBa6Z;r{aGZwN*rwJ!QwE8t7syI55>!;(M8Os-b-iHzh$hN(Hw+%`Xg1i{R#)e{v z6DZ}kEf~2~WpvvZp_|mA*mo-hq!_(*2z6B97A*-#6osy%tmoU?Er=R5BfVSaEh$Z^ zb^0umG(giTs!!Yva?|7uR*uqyT0K>MOxW#juw9;L^L4%ybJSmUd@@X%@1mC_Ta^lP zX=XUL&dP%X_kOE+Ndj2zMEuQBnCZ)LF1Obko)dcqUqT(#9P? z`5g#P*6#x|U01B?ndKt^w3e>sf0=bU3S|ZhyginVA3e_V<7dO2D;$q0c4k;<>!tG) zi-gWV5bORb8cX@CS^R-QWlZ?toIT!MHBa=dpg#emdRe`j{XE%=^Q@UBqj7KL8a$@( z^h#T&$2oz1E2;eCjFk};C^g)h2c;w%<5JXWoW5Xh8JAO}JQkzE*1cnMxNvXezr1+l zwFcouO$+}KNw)3S$px}LP<@3qZ*-&Ckzb7a2kPCxC|Q{+2cnHdLn#y`^jzFB``rLy zg~+O}uSHBgs@KnBvDX8sC2YKzNh^jfwoy}?!uI=h05gC$T|A?Sa~jzA6v^gemb&Kj*qvFMaM3C1(@D-cig(TR=pIny)_*xF!h8crgkoIUqh z$mds;sOPr!3qD}|t;N(8dl=|*QlgK&j&c(r-JJk@1*8e*y%t|AbtTGNF{iOm{c!bS z-zFU_wfT|rnvk=wb%n)xwm;tTm{s~RZK7P%f)WtQVkz`&C}8o?629FSTN!^3EPR&4T2KJKrfc@_s1>7MU-2xuJ%+E} zpL1zQLcl2;wan?9m6_Tz(b$5ucmRe3rB$m1By(l^f&nJ93w~Cx`i~iH96GHWV!PCvkXh!Bzd$-#MRLRzQ+hZ9=DMn?E;1Ry4`h_dzO?Gm!yv zFMD{j-?{xz9P{R}5PQ5?1H*2811;`Eq+=WFgwR*oY}Tn>4o6sEw>?!fk<)s-JSBHN883ub z2p#-MDMn^A8y-fWF(VPKiL{Psa@V&AC3fj8zSTi-c@KZDTV-OYzPU(l*l6n}*OP{k z%?Efp+-pwDGpqZ{BGQu>E&%m*hcubY8sXcm=T)xC^xl21A)?I@;>mVcqtE1=J-J}A zPUl4dpo?%J-P6*<2PX*fHnOd5th=B=AC=BB&ci5}6d%kZwco&N5-n4Y$$mqH4NAz8 zPbx6>pH@cn_dYd)Va!^5Lz)?ej%%KD#IQa^-yJc6+H32P^0!~pt_1>9n((&a3kF$p zd)2o%7ggu4tPT1?)3>w!hHxs{lxOE#;E(za_X5Ts9TrM&{$KPlqUtlW$fY^D4-ZuN zlqJo32zk@k-TpF0NlFJvkY_f5vstqv@dI51o>u6aUg!%n8$Zp85aS2KUIL7SD+)%N z9DKm%ru}dQv=~OK7ytt<&jqBs?zly~8xkkc5Y$WHwvhN)Es?=4iMl9UsD2Y$P;prG zOjeWCFoxW3l^;ZN8q4-IBKRp7akD}GgQ%J>Y#cjJzxbTPdwVk3Aku_^spHzai!nA9!-QfZFubZ!||>c+&e*Sm+dPC8A~TvpCHqZ`tmKs7~Jq+ub&Y*!Hh9 zv=016!{K{$VNZm$`lNc+s_!K6{!D690r3cvz?yXhjHjVFxzx3PoIUHkkq5K~J_&`x zZ>nZ=HikQo6u>bW?Z<&VGN{Rm)-SoreT>>#%Is_<@LZ+pkXbcDF1gd4P|xg=8DZ>a z^QIBhTAcu00RCZ|Tzsy!lc!(G)FM4o1+F|ILk2{P3s)YsQ>pv* zg8}$mQTP+fas=`eKlZ>#5&k0L{{HhEx;xFx_%r%)-2)K!Ez;L-()9#egnam>c^R`%>7Q!knL7DRcGpb%f$|E*$K56k@AgluzLc3!q~!VEhf4ioZB##= z=6}Rx11~mh%+xivqd1sqOfcHU=sxU;Hd>w5+?zsG{q5mfArE%&hys%*$xUiay?vzp zng*i?UI)Nr2^4%`tw*smShr$3grUo%ubS%%7=uJOMA-%D7h9@;whnE2Q&xB_tsz%U zMps4x+vg3;G2 zzbH#rkDO=Q_-e8B@k&CcHIXDH42^_|t6Itr@(>u2C;Y|YiSg`Gw-U$?y%CN$eTlwH6Ayu2WeiVO!fZV5_X@I?Nac_s#sL{{57~3B)tGJ& z%eJZJ{ek=hv~9t;gY-G}-s_(Vhmz1h*uI4>yy97bun5Ie?W_0DA?Q)Zl!8B7S>RU4 zRsdeX#Q#u4(bvf&X&RQ2I3SLHBwwrhN_%}Ekbt%ai{fP_JY}k-#N^+fd$s~@8Y-Q|wfMIWudo(2msWB9xDuXFtGUitJ?%hf>C zpad;;GGc|n@%N?Uk%iT4)RDm;Uy~G=(t?jYM?pe&=;4YOR~RVFLk-{d;_^nM{32qS zq$b$LPe0gy3w4{`P~jYops{j>U!n*aJFgml?w&WTSQc8Ot8hd5X=JRuj z!?E6HC_$_M`fb(}{G)O{`;(ow9msjJt=%+t+WgZJJzeS$DnAVi8U`wY&IKD6Os66r!wMtLvx@6iEOS$&)_(38lc$HR0do$nl$ z?rMA-?WGxXU&7U1s>Avv+>s~$z@=L&zWJbH{W6ep4ndBO+1BER_@2YL(ZUvD#M11d zV&8UOx9GfGCA;#XreY0vIaTM;Xc5C5&qYdXR8y^f*e5j#L^2(&ty=vGQ5#=q2`7Ae z-iPMgC)6{EPvC@Yl?vG4A#}U_*G2ADROLc6_zeKPb=-FZ^lP7v)%W7p7lx&>ZC}Xln8S^8tLzkq>CvqqTLn zf$+}^-4>ktqSd$G%aT=^f?VN!>@6%NPD}X~L7h_>t2`%_l^I%ANIK4KY*oSZRKnJv z@VvjOKV584TE@N3ixwA6sN8l})KAPj(9<*Y;t9Oi=zfm$C$T7KBV%7gE~y~YAm%Lk zl4k0Vp61gUXK2F#8dR0v7c^9cIKAw2rTkCN{Gb*~6#ZYX-=ixYVWU0?(&*2KJVSj z37KTmpv4c*t`!4F2~Av#b%7kTse=l&7?zGxn2zpyi1@%_zOm|7*hfma`$=U!(H0N4 zfaE6W0a0z`@0%Tqrpak^m25PhJ{87=`ii;F?*x>4KR{NyJ;+BOF{AAMNM>U%7*khy z%@`a<`Aqo$!96plIDD#lk^b$~EAK5i$Qmi)gX4-Bfqx;7Ls& z$6N+uBOHUZFWLiZY)0f0n6I~Nk=MZ38K)ZMTH~$*>~ei@u5{88gjbY9?TS2#n9-wY zv-e=0=qRy}jo>Vp$%cy%G&#|9ewYZPQ2_d1)zOo_R|1dlRm?4Ngb`2Uof#NkXy6$>4Y|A z(Zi7g=)A%N-E7=dXe8rhGzd|-oK@+S#PC;HnCZ(DW{k&!O*+Nj@>nZgultoi*KsR< zMhG&FkW(dSFM7WDv?OrTE1Z;u#N?X~ni8ccrlEP*lXUIeKMH=@4Hsg&{_61P601xf(L?>o%V@5Eu!O$o>? z7nr_34qbltPq<8bLc2WsWHW(hGN{fdrkz7=0pG1YB1%n0DRfx`*=hg&lV$nm9U#ac z2<&DQ7}Y8dzLY&H8yLeY|5b1ATq3K~sBW6G3kR@xkcIqZ9+&N3HDqRPy!Anyg5rK7 z!c$EN5gTjJpa~AP3k|w1Jx8pJZ{=Fh_@DPtC1E&e6Mp{UdVk?Fb;6Mzh=sJz zh(i9P^~ZJd)D)YGlJ@dbu$USt5pA!LQ)JL#*0=`X^d8b-fi9tm6a?!W(5H^21L19Y zu|1ZpjX0g5q#*jm8@rSt5#MNK+S%JW*XqrP!u9#}EkQqUoP+_VhhAJUi_U|3SZCxd zb#s-i=7vb~CvtqyBi0fAAGWRdWAa$%y}QlQPzb|1M3C=70Uu=F$qWycDAWR@r0_#) zu-?RZEQ)xeq-3lYArlG#QBula;IuSs-e{xbg)Wcniz?1wm|kAVIIW!8&YU&oxSmd! z%}2;x6F6GPm7p4rnD5mm_*eXdKM+h-7`IJ=_7;zQ?5PaFLQdlt-m5gI9UO zU=*!JrESH;e9rB^KJiR8?FzqTk@_k6D4EH#LoNYLWfgu!Yq7fOObPaHv-&j)aA=q3 zm{xkf(>my;<~Sc~yqm=b9%l_h?HtPH?;G0T&aGrho06jsl(M5jRpcQXLNM0YKeZ%w z#Vkap=RB}lR>@f1Ko%SuFo-(c(2;iPx+vt58LK?53SPYmM3rlbjVi)hihZP$Vy_h- z#{9Zj`S^*^N{wy}ArebiHsn%Q7jwTMWA_HaSR;}$bn7V)C!`Pp&=$pGjWsm*CXZcm zlxWOcL->Q?NLMH}(LJ)`bI{C0=oXx~e>k4o*xfXpur@$gIZD@=!x|t5DBaT7$Dyt%G4ryojRjVPGV@ ziF)K&QQ~S+iUS5L`SQ?!C{Ju`>Pw^lm1#dEdqF|xl*5JgYt%_}_zi>fQU2CndR5;v zhpti!&q?h$Pdn=df1LUUGHr|IOz93N49~^|!r!=G*BLqhrUc{+Y@tv%WHB7oMMg2> zc*fHZgW){fdw$`;Kx$~Ju=wlF0Bq>egsHu@yZF3nzJCiv&}UeA#A0KZ8)kn?VGy<8 z-g~~MYVR(u$rTBlH9$vhXX|B;D*m!QvJk9cAP-*oac@(CGA3m^S%2%gKxm~pz%)^1 zp5_2k*FMGqu-RVlDtK2dwQB|&>_S(9q^GUv>9kO8!pfQ-~t{023Q$ z?~ov3LZ*h755nC9o36Fetn3x>5Yhye!Kd^+=Xn0XNk^4i#aR*P3g<*bpmz*Nr7ZIS z`&$x~&DHOoM$`aa_`I(9V4GskYiteI+b`L8<*hqlFg9Gs?LoFb(6gcMPg z92j}om>d6r?0KBKG-Q%}@{4!))gk>z63X2g)=O``RPZMjOu3174Q(6cZ*<n3&}VbTgURJE244^;!~HkPV7*57DUUic{_yTcl*nzpz^ z83BuA(B7=v+tfCgRI6rRYwBDq?;5HIgtP;|IWU^40P8h6F{_eT$^*Pts`ami7`7s{ z^~NO#G5hB>=hMNaaGY{x{gsAn>Eh{U<^a5Ns!eIhu^P|%h^9#^^!h=Xtk#0YZnI%} zrnfP9<{95YWO0m6w`HnnFng-_Eh#^?V$t)$EU;P(qux-!rygbM4PR;isgicPsh$W_ zcx=B`9*8tN_AAz4cg5+ob^i@^6MTv?kj?+fI0(7eI8DxEc)rZQ+1#!8b7o6)s)a5} zSzWCPHAja%SG~TI`W`CkXK^~f1JQ9 zCQ05L74YEm;7~fl+cbizHT7jq^Kt=3rq(de8@>yKtw;oX+!?yOM0!^uf7({j(_IZ> zxYZP4f6n73|N8}XTROq7j6D1q&dXIvIkJjAY#5j`L$7(Jj!_;O*@!ftP2stHZ$_Vb zqjCkQlSUgJvGS2Z_LnVGUjJLh9#yitW{hneUWRxj-x2@b`I4^*fx39T^Ij=XOSk>$ zaT>8+>(dy%iQKCABmrV;hnvdid&qxTY&-)nIj*=Lpy6SC^AUm4x z!#zESuGOe$!ebT9pY`li{z5%LSQtnsTfL84|K^^0xO4#qT6Xhm!{`UKhVro{_mFSD zVQwO49>tQnQslg4STw#+2)30g<=>h7u7h^^`O-0ZTxfzRLn&NpV}Ea;k;jvuoc>IW zl_5XUK*B0azE4JI#@je+dDe)-EW9#*R3G0|}8xx?c@ZLf09sT!Y)Dj#n)T7l~Al+TyBcle%y&n|tNq-T)*Geqp z*0Ns)LTVEzTD(^)K>9#f@6rkV<1AH*LE-P%1!%J>T>dp=S&cs+rrnI3`1*^oO0fiv z8j;N?w14G#u(5JOeT;LnJ39q@NP+Rw(Qx45z}5hEG5|8tm)&tPPkh{B@X&F6Kv85c zWf0^up5&RwqWMoyUf0G$5t{X>na$0hz>kV?d*~>_P!Tn&ux0wg`M2NZl{u?lMehTzR zVtFn<_5L$B{326}AH3%I4WyB3$(RKk(|nBCI+6{G?*aPo3Cr!1je4y89albxmg?Z zB;u-fOP<*SZLuaJ1_m*d^|oSYLknFAz~7Za^vkUZF(=-NW8%-j=T?PeOD6W-XYsg$ z+B}HEEp*}2*`%@$<3X|%gKjY&{|l=Ojgcp{O*!v zij%Qk(6=(=r8Khyq*MuryN=_gJS45(}A1U{lB1NRMUOG6&gK4O1M{h zy&<2Ut<&vj?hJlb@I&3fgMc#|6Or#jo+jAcbY{ZNjKP>wDz-Eb_`|lKY7?`hK2}Y; zIfE_`{qd4Hs1_YAHUY&}8IBru@onMOP3}eM)$VhUDk?1D5m7(_$Kp;O7Y>cH-)89s zc$~(0jud#1tvJ%z38gue|G-anAhr@5{yzY2K#{-6{EYA%Cv(saG@c(CMkW!@6-jzx zO@I3<)s=u#kDqTwYcaOQ(u+yrQOB?s z8ft&@WjNiRvVNQeN3WX0%*F!Q^r1Q(>(qgQA|_ifW@~JDU?-U9P@D21J7E^*t9R&S z)|H#8F;#AculN;ixbRkuy`#-r=bj#4lgnW zsNyz$Oa-y50O6j=Yj-7ta_XY=6o9+lluCbL$t%0#v1*i*Tf-_}s)3+*7SrON)itFr z%oI!}Yi7$0twjryB@g((m^G`IR#XC&`ne!zBGs1h@?eSq$z#argyC&eH)_hKaxaYu zGd|%(=BGMab`JT5h%8PshLw}%@4IR=xN#lWv6veti8 zbmrS9Ux_uz!Skjis}vw_e`UZ&E`#}vMQsQL4Tj1cYJVp@Jo46aDRA*S`fu1XkQ=@x zPjRL?7nB^ZWQRx#hR3I^-OItzvgC=m1LeF~B18wP?MW!ujjx3dHNl=%dQuVIXM~fy zf2d4%<>f;-_hINz)g}KhxTY*l-j{!qs7wuGKWQYDHbRq&w~ITsbu^u&edWb1XMJb|$cJbU=vjZ~Q7HSlR)jnfh6&sZbdm5KyuuvPE_f-Jtb@!6-b+I9 z=Xgu-0vM*jVh;8~o3lFb2vg%cb1Or;qw>QVfFI(+%-2AHH#dU0r`zwV!38Au5Q={m z|E*_P!^-{TT7HU@Xt+>$GX6DB6|!8f*GUuwk@6n6JA(WifuE4Q#eW>BRc zWl*IbWw7c;DLLBerCJL2`tti<%1xB)JAnyh`^A+hOWO8>RX4|PFkYGAs`YUUR(u>^ ze*d$)r{Q{Y*colj$2Gw{tI@vrN`8i{xqfpQYMpqc1 zw~H>Qp&1{lPgn;F!x?{g=)US&kB1aQaVR22NeR5^9;L-Cb&r-}oLqZ8byDB1pB(t_>UK%K_9v!vPIVT zSSM4si_}}q(VA#<)1q)99q%~n+FA7Xf+u5gz26VRb;Ok=4l93a8^*R3A~4g> zqqR(j>v6n9bmnPU%qcu~|A;QQs>0x+aCAfiIJ#`Z#&P_W^a@F+k;bf3o?1>AQ_JF0 zN^>0IJzs2KQT1KH$cKvfePo{%frcTJlWMelwCSmKhW|1 zgWo*;?XO_yT4PPQB?F2VDYvFz0Q}=6HlQ1x>vQ}-ej=kA&CN{@4@iPYl8~+Rcv#Y1 zOaF8s`M19ws6W%eVj@|1vXxmvWsX)gImC_i${DNItjm85JCDth9p0A%ZIwKl2g?E7 zV~pY{VY`o0ZWIEcMk~Yp2~aUhK1ik6bC!!H?*-5GgM?DgCC_%anij}l^JPUL*4C&%I3Q_uYZm6Clu_$WFo zcJy(EM?rrS6!8Z- zIEL|EpgCgLlf8)Vmldukf=%uthkT;@g~MWHu?;zLJito{TztsN7JE#e@(v8|$gv09 z{?IDeA?7l1g6!thiMqZlpeE4l^d**CJsI(ZhN$TiA@b7JFn)td!-Q2+Yq6RUj>~Js z91wqNGh&Hs*WJRR@X~}scR0q4$LJgGY}a^!khR~QUB9kr@87*f$$I_q+rw#YR;?*g zZWqoFDN!btsM$BD)?msNnpp^~C`v%8H!s?7IOa^pEJG7_;jl3`VU`7+!|}=EJM+(Z zeY%gETucwDfFUjZ^!i%W!*u&zU-;T5#%6yi#fG9*lv;@@pG0IImEcngMVVw{lUf$P z<|GA81pA_b7mL6pSo}cb#)vMT6gW1vMEVSG2%^kS^BfQ|6GDn(*ey*U`Bnqv2f5sM zwr#vD#NoI%9=CLJ@5BjfVA>n(#ALEcr%Xd5<|09*1T=c`@x#U8j5nV#2D9(N`BHyS zJ+H?ei)uUQdKnLrIfl0&p1fncSy*Y;*B4};-JE^6xw%+hhy8G(c%rD4NVVq7zI8p= z$mye>=*F(EZJvpuONgU@e5v|t3a*lTrtT0ZqNC0bvN?LF*I`X_!=m&)T!L9os56+* z9pbs>xDKmnGh4?x4K!~}o0?tvpA&!aw@(iYPoJK^zeuU{CwdM4r`7Gzf4j|=5;>sG zidKyeZ)nG?ep~1Ngw^`|<7ZT{PsfH#$1{8GhY8TGbcGu(>B>|IkLRP+N4<`ywGIP` zXA}0B|La-O(pCTW#`8hnzRnAHm@LpOn|e)QrVu|AEStJIpssy}89zN2sA7L%aOshF zHu2c_#nB`PX3tMg@2yW(-E{Am;RbcryFHCpRXvqwdTmS?i0ljqRczqc68OLM&2uH~ z?mJg@hzoHC7=f5GrgU%!)96LnFTGSh#;c9qcpQTh5 z&&Gf0!|IwW?=f3WE(P+aBKB?ECZ{B4HSx$w&5AmR;msPdU@9bls_92q?QzFzRFO>i zOf}g}js&YBG%Dso-W4posk&%PmvQDMitfOeE>*uW=~XH-s)zknnI3=4J&>>rK3&LE zlwU#o$`*uU5HJVtN`_RUglZ?d_xtU#$kC9g|Lj7qll-flH^3hKJav&A6cE z?C+L2Cy+v9#44xFD}`+=WV@8BcEE+rp&3-c*gpq_F~IIj!LE5<$s@-@c{qjhQh*Cl zdl`Q4-1#k*`8L8eL}h=lR$4KC6Q(TbYGyU@l22^m7m63UTuNoA$<*;8gPn`uqxgVI z$-_(~(%Okf`$Ef5RE9q0zXn*EOafHwYvrFH-d|`8mf$WJ%T$MdX{8`9 zKhe*-^3|1Dr_inG4=Zk+T3{&?v&%;TdLbZ}24+SG3q~itUg4bMJX)oyG z&$Kflfs(tLd|~7(H%q{q@MwsE!JuR6;Nb8&lRP7a1;&K;ec}6KIani=#Ni>!Is@h_ zA)LFBI7P>b825kW_dkPN!@3|I)=uL0P}FG%+h^QA3vZ}hPffK~Vrh9XdagS0s)_VD z46Kjdf5b6iBpgcU-14T2?}=vcO$qBi0wUTLzv6b-J?K^jc~E(9?SlGh8lZy*8#)Fb z@QygHJlb8rIb9$Z@u_Es0*E^No|9NGbzPl{NUrMXBoCYhf@&ew{p&ZL;h+&ARRfHm#Ilw?Bya7v?`Lc-X zyoFS0cm6_!uZA@-C6Z%_K6ACTXFlXqpQP_)u1ag`QYTv7ZMV-IjQt zCDI(oxPgCzV38Ulj%BG#SB*-uhe;UWcsy^HZ<(}jM9)=f_vdFX>efpw>ekCu)UB7d zs9P^@QMaBb>Xzw-B7Kl%jv86L5_RAPRn>v(Rb2-T`Nla{SKorRdM54h-GeqN3b+0? zuSJ*WOD#F04hBd+a*?9O3h!GSwUb(^UoFV-KGuKD{Gp^}Zx{OJ_Nwlii&*!^IrA15 z=tbH+7*`7rlDmuWAc|KCbMj=rzOY)lda;7$0A7>uD;uGz`Lgcjueb|Koiju&^{A$Y zf{cisNpAON4~db5b*L&avLFzfF!IKlGIw4XPF4rym0JB?>GK$HfWxRr#3(9JdBgoD z=)`}(cLWMk;|JOGm?Eo5ofu)?kH~*B)jv~5X!?-2WYn=)B+2n^w!DTcsy+49Fb1_B zb3;3xJ0grTH?kJg=Ms7%f6sIbyuqz)r8Y;VeLRbrU%Z8_`5d|AGWABjaY38&vEQ$V zJQtL&W6Kpq!{e4bx7lh-6++`K@~F7qc#eO;Cl*4L&}e|n$InyyIcU{K_(!wRY7G0G zcC&f33h_m=d8B-JGJy?Z-WnqA4pv%iSa;09TdNFS;MK1Ur_g6gnWB6j`kChI9);mm zv2BSSWkG@~n_&e3kBvFma!sALj@DJ>0(IDXH0<%N9dGn4+42Rud*DIK`}pV6VN4;$C34Cedz7 zHvc4|3VBiy`x9Y}N0Hq`Rb;uwC0S zR@f}C3E(3hMu6FiTs@Ug4q$KLPYZuEO9Rop1bfLuj!MpnP%8l)1|^Oe>AJ+>9bOAX zNC0v(0(=&=pz)O}KHgs|5+vee0d~}>ZK{^Q*`m)3{15g>pF8r%M=ZE!!slvQV;~z$ z;+B>C0dIinWsVVV1dBv5^Oym+LjsK)q%!-PSEeGhj9*d;|A*yKry8F!ys>`=vXr)_IT(4FeB;fA-TC=+s&kLN&Kav0Vt;H89W|X1gp!07B~z4V zSp=nFq`-CK#UFvIQdcmFj*t70XXqT}6|n#*!%Y)JedA66UJVNilFG|VX#m)FmMJ<@ zEaMJcztZ+N)U*slf&Qt?f_~BO^v`vN1$E!I>vX)=2xAhp)?|MbA4_6Z01VO5>wKpJ z>THgD$&FqC(FOZ*f)gqp-&~abmIuv*TuYUt7;5MEfN(zcBdAF)6czl8q%(XP1%rwZ zGU{$Uox!<@@}Rt#WL^7+H`2k}A(kYfNRhl9SM&+tr!C4L8G$%9JP=D(DVqBsWx(D5 zvzc;oplCnLw}gMKb3IDLz}$Xq3QP#3p1i#ZG*pTMZDu($7ug!o#{!^rr+$VQnm^86 zt~-NG4Cs%6rh)|B5p`M6wX5%LB411#%YaJq9MAO}>tn)ZdLG{FQkpULeFN=DdTHWX zf|6V;H3nc-7?m)aF;q|Fjq-A5O2NwUFpzK00wLNGnwWosRc?G@oO|%Y3nE{Xjy&PY zb3ZS%@1#C+L+@kVsodMEYoMrVa+6(yvbIgR_|TD1hyTmDwLI8@_EjK_(CWE|7SUI` zht*BN@Zw4XmR-A}hP=u9L6Pn;!4k5TbD3;jef8tFplPCg}4QAv|unjjo^M)5&9DeR={V`b-UC_xKNf!eZ-OT|yrB}O{g&H2^o+bcW- zhZ)@Zk-_^iUoHZ_9=f(3jh3hGScffLrjlTxt4C4OGrvOny{TH zXJrKHzvC!5nFwTN493y}az*?d(cq2FX8DJ9+7IYu4EyJuwp%MN^x%c5+06)6rjve; zQVTW+Sr$+kHkhFGD?BE~>4a*|oY(>Lijc8WCK)}pQEMcorHn!vb`Az1I6)pl3yXj8 z-h0?f89y}%O3;PyXg_|qNXnp%$ekCil+5Q>`}yf94)PrT=by2Zr;UgHyxVEF=m+|r zpOMe}JmXXF5lR94{`~rlYXcVJWjs0ti$I(;a~Dm6V0nQ@FXMmzqs*aQUip~d{23*G zH4DE+-vtOUz5zuSzy7#K#F#MLTBTrNS9 zLS4;ntCy^W9EhtT;#yV2b`Hv-1SZ^Bjv0{}zlRoK^HM*IJG9mZoQm2yk^NL#1;mi| zSt6KVnV1qP@8qMIl8W$wb}E0Oo!6Lid}iz3bZ5xts=b~K69#7_D2h`>yHVtt=(JMp zn3qWsH<|DuNG*!M;L?d4#?QnBUuXcK6W(JsyVEhofi926QN4a7+1KR7RJK$J$NA~? zH4h`&FS^sqPDuN(mTL3Z9gNBJM%raKk10l*@gzr|dzJZhr+RITSU`V;#8fW1m5@$! zjAt^u*CTj`E?O7voE!We6OL?QPoT>^ekVMq#c@B@+Mx$%3)GDzUnDs^@qU7mk)NkI zGFG3Y&+>0%a+v?V`enVI5PEA&fXob_GT`*V&-~Kh#XJ}fHoa=t794TPtE*4`jlZ7& zmT>c&gu|b}@Y%r4Ic7?LmPl23?u4D0_lnWx>8dq?U8vhmh{TNuQTDtSe$qgVN zU#aAL1ptxL6#d2L-=BTBetq+TqwU9=Hv|5!Z?rX}U-XVK#ZMCtl$7y;f0R;f&E+HA zYK5v7Ue)RNp%5KQ*J%lL%6M2o+{p}Vh}`$SHMM{hB2QORAD4f=&l_@;?zz)ZFr)WQ z7MoPuc*-3jtxr};%IeP>r26v)x%_#9y#BmFUVq*|`19htJpJuF>2-q=PQ6xD+TfsS zr=F6(xqASn>wMw@`&8D|7TuE43JQ{vcWb*N-Hs(CVZ5PeF%=FWl|`$4Lzb6^YAB_kO%6Y|Ob{#Hy(b#|!K5t&*wlgA(>b|LA291<04i z;G%F~8Da{{S@2lO^*UdR=gG&T8Og>coT*8ZpokI41%V>45z{#)435`5l3?dW^w!(?0O9dbk zCKdtmTx-oTH4OWn;z1=<;t{jYNQUH5pte}DKzx5xGcMjVm$$@SaQ_emz$01{Zew(y zJDa0%yPW@fEJI8;t$R5mR}`z<^qKGEd*5UjW{obveBT9DVCMuaU^bggT!+1*@(b~g zSzy#-MNwDSmzuVFkg_|~m!zbYw(({IrLAxpmh4Zm#qJ|D%{KKJ{p)Xk-BK%(dRP>m z^Q?b}_fY2y)H`Opf_!L2d(+GpBuJ$H!AJU27&VO(W*#7|4+nK?0JKf6j%B|N)&0E!CA=b zkd<r7TBz;L!*x-e=s z9;-5UNhH}~>!fO!O5xT?@oT2N$CF29CKv9l zjE6>vny|?xM{?TBO3QztqKDTHCnLVl5QBKjaq2FP<2OWYYr;URL&SY0Q>Hsq zijq7i2dpcJb+0HeZdY;b?Fz2RM)rxQCJG6PE?2(q8dg-ekIU=2rld0x$(@K0+oh_B zYb5#W>1?9=7S+D|OH6X_Q!?cDSX0O%kCSLB!<#cJ*;fe(95G)ur`vzB75$b{V6+!m z$2-nBv50lWJhs!98M+}Se~bm(D7oN;=KpGEE@+iBjAg%>IF~*<0VG~y}+oe!s8-7{V79OXsdDb z@>!-f*v<8=1VK8TGmn4Vd0{xYj5L+m1tLOR#%bXJa}E*}A@3#c&QY8Axx=3_h zgi=rxC>8(WP8{u(o2`g=0q9non6Xn{22}N+W{K8E))Iy6kuk|rN(@;Xn``K@qA?vr zs>UD{`=yDCCZAtl-dt(dJQKWJjcY9CKsWWgF9Z!NQp_pC6*L`kJ}d3|epFjK)->z# z?bWGu^Y$t#U5|hI5ysKFa|&>bx-8eVE9?TnOo|jstBkCq)+&kPxW5PwWrYz$c?zVS zR8t=Hl6Ta(lp&XzKMiK3N5x$ir@357bRCLj)NhMd+02}jKTJ)^ALdHRALdQUALdQU zA0{T{XSd^qyHHJYSast4GFtB*l*!rm*jz&N-a*DeJYIitp}LlkZLm2ZaM&F5+P!9f zn3(Pt7XHYX?$<3=(+{(?a7l?GE^tHRU%sP_EX?`Oz%xog6!E%5Xh?X--eoEZt!!A? z1fyK^`uJtjhE;b2js(W;!H44J)w^p=ni-%NNVQ7_=_pDDQ8V516v4_hyi1h1_e&Kn zSVH&*>l%Mt5^Jw_4=a9re+|6qGS-H4S75u5?YU(8u{c-V(5klxVx7)?-l-vp$#2OW zIw;-fH^ps9x5AYeBT>VhcmqwfS%uAHqe{FI!R&{CI#jZl@W(234*Wy>7+Qt0C@@+m z=!V`@trQfGQU*(SYc5vuTs`R0cEc-A9|xjxCS8A8@CW7X5ugiY)axi^x%ikjp6*YS zLFw<(qvGD?x16%K|9Ak~32)3&xE!x8k=eFsHu9QJ@I_Ah3BD+2Kp~K2EU1r_$PZk2 zwICN-x}$ zTzEGdM$e7r0qJABB;JEvw3ZcB)mhTjiYmNly`H%D*YlC6$H>iU|Gi_cFN?7=!b`Lc z5}ALophL}{P^U7g8{}gUkRPs7HN=x+fa1NQQ^ZxfF>JJZ!{!5st3KyMT10<Ljgc%=NFq}0<*}vgzf3V1`UVJ z73DVCo)wPrXd3R;6&7!7pt^rwjq@;BM6QQW!e@gesuJ0_~FDqiAPTH4@WGDC$^)B{RpTc8JAP zKah3ZUTX;dv+KHD>!921ExEpNJ%fd%fPMs3<@L0x*w}}o)*8nc+r59K)(@Cq>n>9; zFWflutSL4nj1@9d^Bm(zt)d@+`T_!2n5KKJMyK0suIjIQX3iZ*et$`xTrxA)wXgJG zvV$52lZkhEWz3tI5Nt_L$#&_jan! zI`F{ZHCnD|kZTzavV(shZwR_UL>#%FqmY(*6wq=l8ahxB8s2OSZ~v*84^|SM&U7Qt zTwWPsWuWK+jPA&I*=nD6$&t-5lt3C^M&0ZUf<8L0ylQ8un$Ze__1C?Hr9xJ)`#VhB zzw+4F`dlPx)5c()INt)K9nq%*|B0_riyxw+v-5uoE%0>5*JUCBfoqhK%x)1)R+-mGQWlwYxr;c zKXuuQs79$Y)Fq7PV)&vMJhd;Wh3!!IdtyR(Je%1IZH5&DeY6O9Mvj<5H>aRv@;@lp zjhEE&XgfHN{KtRTi=u>#KJuAkP{{;Q($`p-hxb`Btvkz{>$WJlr7{k_a@@|PRp(?L z8PmV|rPIIg3g&Hi1(P$=>joa+@FUk;ET`2dg^rbM8r~FQJSO+;$_-G|lL!uh;uA8E zw+cf%hb18`rKMl>{g&M*4K#NN zzE!;jcmq~DmFPaB3`T^03tBbq&ZB!{n>&$;(yTfag}geKt~sv|@3xwU61!NN65#Y4 z@7BS>qx4ExQsMjb-k{y@4Ts$wkN!H>W0}}nx%*+5TDsN9rd}ntU>oPqE|(J5_jV!Y zu9Lcs0uz4*pg^Z)_O11->p5l1rzs91hlJEJPJcG6h3`WNP)3^U^eK)ckJVb zi^m2n0d3Y3Lvx*Q;I+^B;wbo6mdn7D{4r|dNzT6?LzJp%YKH(`!QEzCzHEmTVYPrd zoJd)6L3N1ya6X;ttn2ElReto@`*~oy?x$<~-~*f4 zSh0CU{WwPVbX2mJnHGVGp4^y2v6?OqTes6$fI(9H?$zUKmcj6tl_j=B);y;1<09bQ z`@K{0ci7K^n0Nt}+Yc7IKj&rV-(#V&Cy#%Jibf)}Twb9~s3x)oe^@k{H!fi#!rXAR z{6-{n`im|c)H^YDnUkf|^D5wLDtslKXA#c61_!hk+VLA(zrDqlJ!e6n8xxFUtZ7%C zh0PXVg>PVYYTEUD^b1%7HSME=4TNgiD?PyOQ`T=R?2+)`a^vxfrdCg_Kj^#+`D=d% ze>Zm!%2i6kyVyH<|H}A1SwvMcD%gQ{kr>_Jn4soT8TUJ}QfUVit0eM4mSg1M513#z z3oG8spoy?koz%S_=QDY*vpHQ#xqhmzsB&Mz*q zZ0(c<#wq??H>r6{tWafma{4@QvC)5#v2rZH-e#7!+yf~OR!1$I)*DrgqnGC#?wG&t z%kTeN`(X(vUx5l+H>?|XcoemI8ZjHt51F>f0<6zpq49R$U2k0PUiZwW&$`BZp-8l` zVBxyI|ivYJMHj7`- zZ!YlCYd1Q>_Mq2alOepEMI688FOVTz^qRk!^QOAYT&)M3tNVa+HIu5dY;6-CadsuZ!@4;S!4^P$^cFvJss7;8w#39KF-%*W zx%+4{Hye*Ob?fn_Za>D>GcP+&r6qwrorH z7TE6m%rM-!v&W7DU9N@;OkJ!8y}`V4Ci$X8AF`ibU)N*8^MTwxIp>N{FktXe=5J`sKLoI)5=zZL5g_zZ9SAbc~ z18P+nlz=h~@az5fN5*#10eT~lDTZD50ITF&;=YR>@t&|wFadju-N(3E?^#`Igtahy z?RpM6@}fLCHV)WWF*YJ1z90X@_Qd$&{&-WvJZrGHEE8Vj*$6y84pzjGQ^eISU}428 zTXxz#G`k8_!Fzu|i|b$XcslMjbo;sPEt0N*_s>WnwC?~HR(SBm>R7P)d=WlX?D(!ug)Hpb{!Qzlgv{5N8ZlnA8W zU;!+Y5~R3*e6X4BW3u*`ha%H^t}(~_10L%uD^zWa8a99R_yweFdaq?20JdTrM8?PF z1W=4AKG()`$B02n;tV51!vH6-Sw8!9jxl;E;l>Y0zJLGy^S{4Tp*Rq1NrIJ*^mD+% zTi3JL-o@-0A>>h{-6)n%0PmAao$5-eSqiZ*J;Z!(WCc`vl|#9y54+B3hNd;C=ASQP zP;K40oyULkLJkO820_D%A3E*DxocNdN%i4SRVMNo06ed&7a{K!>W}^1n+E=W2VG~o znE9G`i^NYG7!Q`KRI4`b66EO?atuRb%LwDqBpc0S9%qB6s0n-Z@!N~H=cP50!gb8v zzkBoc)$4aRZ_h3s4T!4`Z+|$udHv{W+3Hyw_)LHGeC9^?KYbl+2BRJhT;{-Ko+6id z^f18`F7w7??Ay7&5T_(lxONa)bmMS;I%?3SzVLY&b;F*Up%Z5e%h5)#9(cgr7}T*U zJxdFnJ@>B6#;Pf|10%-s+gD~yi3OQq^$F<|5(P;@ClVDzVulO9n zx;uaF*R=k#eW$x!mF`G$@5kfs!64iZ*Nf6h4(2$)*n+S^(nzVrfHB<|e9OO*GDb7fyVcN))`;z)>{k+4pr6V`u_^&m~qec-Vy!!3Uj zlSFZD(t$$Iqq3;VIGU_sEiYy1q0AH!O*;>mUm50C*b{d9XdiFwx_7A0!9Sq=qoO^Q z@m*ZmxVZIg6y(k`%A4xy^jFIvD#}+Zsx3`Y#$&_R^odt`7(5<2=xpnL4!Q5lJE_fr68+INN zkZ(~2H+!Adu+`uFJaw%9wRQRRM1(NNq$=g`K?r}9jPsn#TPD2vH!$7~0(*a>IPrx& zE~8nddQiA@TeH#bwEBhmc|IUd3^J!36lNx$(;eUY#1bb}^21=7RR3eAI3m8dmkjao z`(1W92ju>@*Hq5S*1hR|#0Q9;4rHO6jC6de6ZDuG!2^hSBn$=lZ8f6hrvLx9cdg59 zBUk!WQ2LRQQzW5_XCf;lWi)@5HKU0vDV99R>>n2hKqPDs-~gZ`CY7qZ!T#94*{Xe( zeUv=Op6{G)pusCHlrLFlQZ`Hy-KV=xpZjI&`0{GK|ER{)OJaV`*lro5)}1fnGC}qb zCm)C*Bxpt%PG>t}aIvzr>0SF<$5$_J3=}wvL%P&O=Tli#5z>U6UEF_FWA#KkTgUEv z`-+wCyx2N!pAoi+{u;bJq??QabP-LV^y-!ws-9br=Gl2{Vjhu}TM9z?QfSjB7uGaw z!U>`Y^S^oCn5&lgHFNAUj%d|5`S$$8lMWM3_|wf<5Po?`ndji<3$cE3?j33T!QGrw zD~ugaT5xiaO3*WhfLDL1%p5(}x5iR7dNtN6Toopjj^l`%!q6A!ft%MpFK~Mnl&>gS z7e!Y&SU+zhbr6$`oOHBVl`n6M?`;JGoNF3ngt3k+qm9C z{AgmQqT2b4MQrtWLRSwmZln3_VLbA=i=O?%<=Zs#$M!|g2Vu8yuJ)~(FtrWf-k#ef z*uI>bYJRc;TKWLM_G53F_dguY|L#ZM0dvGp_ms^oo@6ZEg{0JmM_YSxJuF)GT`-tP zdq3-DG8)kiE7*UBE3Vh`7h+0;2{9z374GhqMg!OFs6uN2BmtKN)u350`~rl~CuR54 zC;EfZp(u<*BV>|TKKPR&Dw^i%t;3usY8f zH(8j8n3rb=Mo~NOMlFXsKQ)J&1YXPW-fnt87{Px}FLUA@PmWlB>Ui!EFd2UnGB+p8 z=2SuC8B-DLN1&>mr=IiLNz;co@o45>iN<8pmSeh3bTT2iJIc5oY;#I&JSqc;I#yZw z&Co%-(}`AAH?kqP`;pAjiWV4;0d{uGyrJz#saov!klr@2uiSd|$l5=6(PW^7r0VY< zlSzMpwUB84+INRe6r>|sOFGIL5jpPE`}(%v1-pB{>+R5gyNySqD^Oxo_@L=vNKgF_ zxS@`$laZg$)v{lcl15@%*m%gqNrxo>`IDN%m1X(ASAM%Hp0ri$UXy?qbS1+fEo*q| zHM^V4ft=`V9iQJ>(|BS%I8la&gfknQFcg2~4n+*om{opMA{Zp`WX$c5g>v(&>_1fY zVh1MQEQs6;N!OZIVkF6?V9T)YkgB-WvnDGm8zIi}Dg-b_AQlkkTh>R}e-WXwvSeeYc`Cca@+mfItyn%yd#l6Z$EUDGJhg@5qu4Dzjx}TP8k*-?(wStu|WYs(6|lbp0h4(TC!*l z;#b+?|C4MX`0`b{_`;-%2CvtZNM_c)Ne4;pp0Jny=GHf&e)$>4eBr~A; z>)joy1#lpn1oClsYcfZYA`d5pC1hEUwjM}ihrWLr_pG-Z9sdvzq(~?NE^niJMm*8Q#1sG5NkFXZ8HNqxK@b^{$H+=k zB+s!P!yx)_s8$gmGIUFQHcWr~yQ3{+S!VGeAi_$%6Bt(KBQJ{wof*V*2dZc1xMPic zClXMdOsBNR%}UOhLS!kxG{UY#1KQ=GbMLFVxRWUObwc|&ia~Xd@uDolecD&1H`ruV z1c#lK`armteT0J49hJJkhvS3~D7Q{S8(m@P998%?1e{0?SAxI;Mg@P~BKB(P;R$D? zMINVlDlCyLDrMi$Kpc3^UfY3{PSeaESvb@@39W=#090+OeasNUu`%#AJouN-&8+{L;aSNlAoX4G!P2p8yYi?+N-+eFn)G zd!I#$_}->#W?X=j2xWiWP(H>+L0p>pCK2uWJ{JiOsUMO6!4yh!h` z{xmJ#Yl5j>X)6U?y?|4Ton*Q$$5WNi5`c8rKFDXP11It&JL9qMBzX#GvBZygBlbUw z8_^JoB{xD{hMxnXc0m|q)6Wpj1w9u0EJuy|KnS()JwlHW-HLzv^~s(5uqY4t)uRJB z;;?zQgV{ZWxsQW=Iy%yabgH>|&0AFUp5*rf`T7zZ<;j)iz^0hCBYB#{pgFZ@LG0M| z?_Mko89N!H#CqLWvFqJ$M88^;{1YdZ8g&D?KYr%g!z>$nHfHI0oCDUwb14k0hW>c` zc8r840B**$br653mN&kf&1S+q+gYefh5DklMc`l zq?uNcjJtmkNNg+r?&j4+5KSIcwyjrd-rG{2Tyq9iV^HUG6}`JX*g77?9^xt=rzN>< zU4I|_rj*Sp%Y3x(#7Cd_L@+(Cjj(P&4mK?fMT7>(NALm76ceANdFcrHEzLm+STGr( zL`WD@*gQ>nEsP@DGzlzLy9V^95 zs_~gjRWf#H3as1SR}K+YqglMiGD{UY`(l-$bDpFS%|d~L0^*fNP8;hEKgjA!$F5h$ zf`86l^b#PtmHKA!YOt3Xba;9r7?Ha3#xM3#v7met0vrk9?*t*H<`EREE43bc5IFA1 zReOJ%nc$!TY_*Lp#oe#m>9atYWWuu6JJ;^U-1>a8 z_4x!Dp9o;6a4hRDm7>vszm|q$Ci`R&29w947!YWM=d8JIF2sWuYa_<+V*wn;vDv1_G z4G3c~B9xLuxAuS*)J+pKVuqDWB2}|Nl{o{sLV*;R`V{$ZG(}-0!4z~%$&?s&G|A>L za^>w?J@-B-GEBP&2?#Y{!7f>9MU~XBF!S%DH($XG+UO@(Hfbi}(6QOP67h{1nA zm?9D#DM0DNsz`DI%V&Q6oeCBCR-cCF=Y5Xz!U%_zN$qbf{okzD?^`0J_9RX0v>!yg zAzfdpDt05JD@YQQf_MbkK>?z3Kch%xt|*h_5merTHC3rDOi|B z=-PoIX&_YHCAx*rv_k;Z-#`}FK(BuRvpi15ij8@Q9dx<6J`$uB*L*aH2yW(T3i3yP zil~jnNVS}9)Vbkv7xl<$(>YwQv(?m>-Nl4xckB4I6FCEj=rjAVDsSI)!K|b0%60XTU*^bE5BS;_tAgqKB$OHt9xp> z(Gim_KWTO&>S@$k!_vfejcmJhysa194sI;nzactHBkSL{;qmgD#p(W>d z@5TNC&QazTsGY1eXbpdJlH*2gUV=Hl@{-oP1lw4Lm;4kDBkQ#KJHkLPOCttSVC zk1oHEN>4vVH{T10#=}SC4nb!tDTWu5QK@SvYByJUQF#_l6>EQ)S~uCm3rfm7+eBcU z=PSXDE_{b{U{O*C>>u8qTaygIA>d3{5&s-30>bD@vnHD$WEdw1s?Hts(=p8MCC-sr ztXQ)po_9F-D=8|xNdzr{-=VEToD8?C6E7uOeJvrRmJ3P>LofG36uY)|H%c&T6?^`- z%N5hJ3H_!Yhjo9LIutwoo;3_#){>8m@P+d*aFA5t7 z8ry&yzjNxI``@`!wQ8-IH9g%k zJ=3eI`?qGi>6%@oI+rgJ91Y`=(xHe?`C-0Hc5`W|l*{UCy!ODRYP z4a6s(gJcj&Cq`tW8jVC}!X-aQWCuIG`hczL(dceX8Cr zYdns~3!~J*Tl-d2bHkg%a90$5q^G+N8t>S&z++2dWy&pw#Im(-i?dn6dajif15RSw zz(tT*q|p1XO|(KM$1lCT-5!bL0~HTV1*o^BeLgi8caiPtg!xGZClUq+9%_V$V1UPP z!DY@I4o*t55Dw@wKI)-BCE{v-Ka@hmCE3^6&U2Q?eovOB1T@4S{dvn5IX=VG4;wvD z-|tv6y24yl zsBGZQ+{vzEmS=j%tH*eJt$NiG0gn-c38lJUmSk0o=RznrcRxeIv}SI#$?y5=c=kL!FS=z1#I@3)!~7a*dxu8=OCWJBZ2276ZGf91Y% z079z6BM72T4HXJwPyUQ<09k3J;)$)|Gfh~1{#=EST!1lC55C5mCv$CRtw?P(6#dhw zFKh`wp&TOQ91EMwi5sK*y472PG^>%Y5b#~5m! zjN|U5nF=}{qdd@yP#Ql+fcrC_$^=StLD<8y3&_9H#&wYo?z7+jUw5E#jhR;rCh{y4 z7&a%h_D3o<;Ep|NacaeLQF}iUlto=s;?*=L%NLE}@aqDxvu?+&c1ZNA`6rJIzvn-N zA{t%9SlHJZ(aS6-(sg;+^}H@_VUOairO0W5sb8UErD(O-#R00hLEs;iWl#$&6gltk z>!S8JH6cux->ck*VJ`U}JNTOOPxxF^5agsV5pUKsVHJkj(OzKi3>(d^zZokFtj4WB z^X=x&(2>?BE%?(lJ( zlwNRzqAnfZ&5^U4PrEp&pdT4uPmVe+4^(h5Wc(5eY8SK_?UFGGK*!>`meC%V*L5lc&xnNCe^wKi8grU-6kz?PoP+NI4^m1oWRJ zPfHJCorSSX-Rz0ou1oXd#;Dcy9Q<%#P5+)_PR3y(?^xl;Z@F$|M$^kUBZ@z%#Ff|k z`m$l(270$!iOs6P&;7-wu|cFo=;G%xAczb~t+Q1`fEA zmf`7@l(1;un8r*CLVa6>a{LO>8VAKJB?JSB+WLaT_-qJ97}XzE=6xF;cE9vml~~do zR6UbS!06asUs}z7^RwsAN1Mf-sPt)As&3sXDn@H_(8^>repr#*W69y30I{3IA7O#85D2hJFBzT#Y#t>dxT0(o-k6PvmTApxCayy^` z6tc~8;p2d>xDQ4YocH4h@IoY1IU3i%FS~hgQ9s*Y+S`@seo&-!51LFwz;9zx>=iIu z)chKgEvjtm&MSGSDBjPKHTENVODT4NqYf=4p-dd~2pBLU-0+TW+n`z#q}yS4B_|)x zN<;vbAW1cwynLw^D4`LKTCnL7UyaU-po6ANyQ>5z30Q9TqVxmF(uJixw<)<5ht_1I zcKA|7s)eUC42RgW5gVrc8W|*9lFyX)J3}4&N?E=+UZ>D%#Lv)9<9=~z!Wbtb1^LI3 zGL%?;sc5Mw{a&PM$8#cTb}-u^7e_+Z5K1!~wGN-idPO#g!`{FX4E4hFDKIPqFy=*z zf$9MQfH)S%02uLE_qI{!!mJcqDA-TSsCB6Z3MP9Y2M_@lOug$ z!4vO*=bC5^-7-!h@{~xkdjz&yTTMAR4F&jIdgQD}90UWG6zP_A-S@ryy{+C5XAP~M zd9#51c%+O-WuHW49t(R}%N2Da`YNO0yi~#g*8cF{i?ZxCqQ#Pc^HHR2a5M7a-*&;^ zmwWKoRO`sexKXrcCP}i48rD{mazIPp)8a>;4_I-q-8UqA+aHgkTw%F6ry1bnve&r6 zA5z6-wL$}m#jRW?v*li~6Wr_$xB%*@oNZ;Hn$x?UtB-}lLrSpL(bb(zqWpzSS;Q-(>7p_p(NRkJodLC zXw~;F-HEg_{!IY1wA3p**|8wx9}kFnVhIox;V2`=tIU!toMnEdFIO;d#H#3-IYkDx z*~a`RvDiJQl-iC}g_9vf( zTh9O#N_yKr0Cucx=wISFUy`8DZ0buu?bYk9uQ%bH;uo!M98KEsF2&?^MV>Q(fv}4)J19cO zfn+m|?m9u93OpYN^X@Opoyj+@F0(nzp7+vEvH_yN@dK^}>k5e7&@y zO_3wrlFvWRp}R(!8=-^1mm)ykzGj`J>Jj>Iv%#yvEXV*X1q|pMO`nHLBP~$JErzJL zt6uPgfZUZL9skJJmTRm5j{ znH^|-s^{F~Y8K)pP>TDM`;#7t!QD|m7kekA43L;9OEele9V!v5Nm37D5-ue}R$Gmv zCrXkZMdl0}Z*o?1k|FBPk2?H?OV^Jg!sokF*CSIVZb@F?7NEP(*z9%^dnlNo(z}po zku`&Hl}@+n&6H76;(u09$5&i!d_c=i-G7U%V9}tjMBIyEvw_>Jt5QP7cYakM>z3PjMrR!dm0w5u~&-!WPrHS zmYGT+wMeDBbz%?MHmmKu`Jk1%YWjishnCww2~}B-F=1(?Bkl*#Q^4u?V-r{Xt~n9$ zDd8z*S%rQG>2a{92{1e=l?FFF^IG4ufj=|I#-kF`Th1L>Z z+gf6+N6I`lHW@A-X&G8%*94bjg$L&V%FVsCKw|kxulkYTi+t%lE`_>8` zy0mG6s;!{5H0_X5GQo9*V@5J77Dee^Tu#m2nNzi zXe7RSXqJDN22j}ZJILQfABoZzjS)@ZS)`v@SWVThWmw!%IWNZ!Q1ur&`Y4m^V!Oua zP}=%m`)1U(mAfAypxqW)Hu&kAVlO0UxN!E3$WN$2yZ#XMEiMJ>CZ3<}DU~((r5-Ib zFMws90^HA)_>7*H-(IJNBmHl_K^6e*%ueervJKLtgn-XZ6eKUq<|0BMBPwL?Lfu=% z9poUNyownzKlR@%N>;EcaBMOT>g@zuxlqG zH=6!FF4O9s`}zGC>b1y7#c+QfU`n}y+8dkEeWBgKLXgV$W3;wz0!sBG6he>kOcQVx zD`vB?+k?ktjsK}a6!=*Auo_)A_6k?f><~ai~ zaEE0m(3SR_q_hPqtxC(wq^67(K&YPd z8J1(#P_NZ{&p>cj&gVpHNb{0L0c9m@e_5w*lt9Nh2q=DNkzz0_?A^b(b3&QX{`O^q zk?Hw`m8vfLDR zhGLY?2Aa6LZUdyHjTO+4WU458R1Cf;ssBkNg;(B+Yb2oQ9vKBd8L~W>v#>+tJ9G=$ zik+ZQTYV{bPGHZCWyJLwK`FR>IZ6xDxbwX^ixTz=Qm^8JkZ@<1G&P8H8=y3x&G#)8cF&kXRj@GD?4ypPIS2Y1@Tm>2#GvdbwtdtkW*_en6 zRC5+wa*?tQeV_s|UrcZtY-BLEtOweD(@J{WW2!EE^Lj4+E?Un?6!kMze4k3hRzN|L zsYMEIzcTTIya-*#xvMv)5m;{SS@Oyc-IOI^q)XBnC0HNm)Tjpkah4ZD-U!?;1yB{q ziI=hQ>CUBOk(5bguV>>{*5tFV*3Ysf_%$CjhcM%|^DGOR_+cBU_7Q5`A8G5gBJss4 z_03o`!dbfHm{B$6^0&X}FI(fCT67l%1}%31im@%d)GxGDqwb2*>HN!_>Mz z6}6a`fUOv|LG|!g8umLiLl5A%X~a6ZO4JQh_3uH=C|xXmmmgIRI+u*W7zvwkLZ+mT zj%z@bqiDv;wm@5gV5v5DQ<*N*d3mzjyIw`DvqG=ryj{j6fCej|f_J`qKnf~}rrisI zpbM>~50^5^ht7b_Ivi*#%@#V+5T9!JyZUGIKMBD%|%Q%^Vy6iy1WHCK%=w z;r<>76t#;lkQ5%keq@P|rF4q-TI#C~gu3|%+u|SS0|N#Az$*JjJzX2l6-f%gxVvg(=J*R@Byt zqL59hpjxF8o(oI1tQoxjiAtLawjR1$Dj$q@*Y0Qm7~en=f?m=gE$;Q6>HrZWAmjv) z9Z%w~!?_X!2dtk{V6}&pDNlN|AV%ABc{1>z3}nbID%P3@?r*HA7;5&2Ln2@0-`)jb zPpFAPag+>m1g*Z-XSod|PyfcqSsfeKvKFg7?#EgR5!fd4J^(XTVW2ty94IXxH{G)h zVfjV@wutIS_HlA`Qj@-CaLaoa2@+S39>*V;-!_JzOfD9L*5ZnHGg{Qti5XIsU?*(} zSH<{a0&v7_e1a0U*mE)9;LG?ODE%q_c)5WHkuvVIDb#L8_px@oPJ?Vs8gwTSg3E$~ zaVftkb`fymdwJV1Gdo~P+38!Ls^6$lVi*Py);OHNG4<$oRqj!ooG{g{+QJ6 z&5YX=;l9%3pAu&iX(-Y$1$JYBXdmySUe4qHK2vj|owvaU*~e7>LI7`zLS=eTN5}rUWK2=hky0;@6@hQ^5&iK&-ZDF=s=sd%j|(c(pP){1H^vo7z-Vi2N2kzKpR zHS7sRfq%V1_PegcTGhT36xz!*VqqBG?up~I9P1{Xj4w6g`O6bVu^;q(^bV>r8x0S7 zcxh2FpB-$rHKdsv(&zdqt5tualA6JEP4=ZNySM@3IaUt^RfsLUopepRiR zTLvx!WA!KUBV$-S-fBLe0SwrNwP|aQ*-V$MaV1RI*m|LW4@Zi^zy$DTkug*rq>sA{ z9>rq8C#`JMr36?i+>t>$1I?uH*~7tDUItiK=SGz&U5%_Ag;2XGYBD4aMNV+BGf$e% zZh7+;owbuu)&lF?OL9kSaUbGCL1}(x8{o#4_1(ds<>t&)eI`^U75v)owtU@fZNRFC zx#sDW45n?lPZZxFr^5#mzNESrvrzN#iz$s{Fj{>|KBzC|oGZdA$o*v(H+RtR%f z?j#=(WPx#CV@Yj|6{CiIIQDZo>BGp$BkGXs6Ta9r%huC}#-5>DBFj2Ogy}UP#v(XY zGdr!7-Cezc<45pB`3zDqhC!tk|5^QIF{1}%2qpezK2;!a7d7)6(}?I2j3Cx4p~TK4Rjm~o+3BsXx>-eNoXKY&4U{bSUY?Mi1xHC%(Vay#%klRfmAigPp&5zF3pQHN*% zVSeboolkyMePSmTe2juh$H#-+9L76-0|ct@SpG%6eFvab1&Z zAI{DFm<}z?`CYc0?d(<;p^McT3tx0bi8Wb6F|Yak|>WbYsdCdS*@CNFn~`}u(DdddHYb0t#d`_s$nL@&D` z1$)Y!Fa07w0_beHOT7%%p^9X-gh6txm@o4M&X7bl)`Gr*UIqtwi8d#yVOz734M223 zd>5~T&Qv6;oM&jUY6YI>^_(5YE_jdD0+#d(iW}FY0Jov@vqz-gKkJhz5{IDT1%Ss+ zA3#86OzJ)|A&v)$;8-xc*GOBp z=}9Vbo$Ki5qM(^4E_a`60#<~cAh<`h+6}54px9n``jO96+)NP0T`18CEEqSNd16bT z7FJ@V#$q4cW^|1M;+*P=|6@tl^)$Z&yZ+ws{Ki+1U$f|#3cACm;C&ZP$H=fKEyb<$ zO%jY6fn>o_iCgg3GFQH;^5odORZ7F6+5NCQ1Fk$~IcTEJy?Q;>Jkmq&uy4sA5(P{D zv`=@Q$m+U$D0KOnx#99wqoz=&mpAMAWZe>mCE}q+bX|q@GyW~A&#{Gn08t+-#*m$} zIo(yhI<0(&A^Frg{{8#?m6Cy&B@uK67}G_h0(iV!sg(e>5S-IgzG;zf^pxYbj99zpH!X6U6%^+SRmk+C9TcuY-b zPlqEucp~l0*QM1p&HyXWwfjgo9k$GEDEZLtv8rU}O0CZHw0n-d<9BH-UNKF?VNd&? z7a$TD=iMoIS#VNAB6_0y=iX-ixa3>mHws~hrBnKG``Cj=(d9k*tV3t3U!*kJjZRMb zNsLkhg~PdlY7vUcT5J&sd-Q2$hrEGwWRl48OC9tRlFGF<(suz$#0n`v*$6NsWu6;- zy2ux`?x=Ww#G5pBYfSJfUtOV}BVQ}Zt{}Mk&4P?yU;M@y_R22=2!y9d z?h+q`w-bDgW>JI`E~HBJl4kytX8rs?zca&Lim@F)vp8Qqpr(mVBJk3aoeD` zH_b?wr6k>}v2fU5r??4>5Ro=m@G>}afT*31V1b4DKl@)l>saYypytF#E6(lTuvg%z z!C7GkB{e{+yyg(TBvr*aYxLJePJ-ftbw@Ia`L$})RAzCeu4*Qi{5ZAir~>FUcc^vq z2X38-DngSS)he40F=16Tpqw}eA}LbY@V|Vkuo#}cZP-0JSax!KKIO?2=8wgmilwmd z2Fs+5sj=mujTuI^tXWE&1Aa~vrD!Y(ytRtbQh+NayOxMXc5C8D*U+jx^DWa?2B$fn z8#S#lB5G%-Um{3GN!i)nu?XFx+VM!{-;HG zgn5XPbi^9oV{)-4Wv6&bRCk%v&NC(5s<;a#%$H4kP87&1f-rcC0YrS=uflAZ2A7z% z$&laN^w*bt`wGdBh^&zSk@qFA3{n+YJr}e3tIpmBdU!`(k}7RQ*0LB^x?)gs!BLGd zQIs0CVhe-VylPUQ4wi6sg1ta2PL!90(BQn&a{8lGCHufZ@@56FSlPU#8{xy)(JL^y z?oK^*x=e}$OFesKZ>3>Xl3XJ24Xh#XauQuw&l%2e&(-aj#iBx&Urzz0Io0i`DNGmq z_N4%NFk(Ss59<$Z`zepC#Vpm4Iy2db00SZI5XXJ-u6KF30YA7`RT7(GPpN>_IrnL> zIe{c{o&qmZqx~QN$$@bvv$Z}im8#@0`eBs$_1<7SNAa+k-%a<#P27JZ7Q7~LH&m(h zA(b5Tvo^Y8hV4(lD=7Sy__ZA|JuXkZM43o}@A;6hAJrRAulPBkMQ$l+xyAS##!HV- z6e4LQFt6`>1*s8oWL%DyBe97R(Oj=2j+V%&b5* zW=|JeS7rxObGCP%3-CRYrm6*C`oK=9W^d)07OMroMrLQRW96k3b+fWHWnyDVtI-0O zL2{;HX#-3V*gvzf@NshSv9YEFX#?CL+0&l10r>bFJmjQyX0Aqj9uCf?OePL)_O62D ztSsytoM}KE00DrVJ1tiSK%JJO11Q9TfcvjriC-D=L?J^!{Jn6~z8C=r5`rke$RHVU zk5q6TUvf7=+-v_9cc%P=mXZ_;+G+Yyn#pQCS2J>vZ_#F^Y zlQBP^$6p9sbX;^_G~f^6!hVthyS$@5OFt$8jHMC6$>>N!3%}t0-^_sjf8qLXrr`g( z9WRsay%sQ$f3!iDrYDE)fPV(lJT}KC%hIB7t-n~Zl#7Dsr?YZ!&XBA5rGK&g^ddbL zsCIp9A0Nx_T7~f~_WxVR8+FY9@4s49wbf$8PjEUHKewMRM^2Xir9BwSy{UFHu_dGs zh>~yMy9D*CR`~4C*mb~Bm$H|a0)7JzSl16{9xSn1Z+vU1GzH4{+5lS65 ze|GInl{df|fZ-ZQt&IUrsf;7BBh1BOCuinjnB`zg#!mzY57l{Fs7kCJ$4#9rzwgLw zR%0$ibLhgJm$mDA^&3+&>dk4LRDT>%TXAkQh6)#CQ7GTddA9QB;ZmA@#*6Yoe;g%m z{%lqKIc8oPkCxhTvkdi*DzOjdovYA~LqlSVr17Wxra%3=7XyP}Gm5eis^Od0Wo853 zrlvLL^tP%i!+u1+Gm))7%TD>Hd$b9kgZX}bZr>Y09NtgwbbkZNV<=qJUX_LxlE==Q z`0Vecs+kd_S7hKo>qi&(`M#@n;x02JESIV5CDLi7`{KYGMn)n&lIyzbIc zb&JK4g|tjs#fTle+3+^%GD-ES@#@!0X|QER`g}b26%5~rj)Wp35$vsTeSw%KwCLLE zA*G0(6iAbo?pyobV^t)XI=&?RpO5KN2lh2ioYF+M@>lMB>%ZSvQDn;U)_NoBKdOC{ z=qy#$pA{x$C8^<*#8W*$VoFcp;N<3F5Fw~owA^0|1~7wJV!f#HRGpjKR#CL#&PvxC zO7g?oGSl}E2s0l0MM1yr)x@@o$2`1L`ss*;Sw|;rqBV;3{VqyZ?d3Wa3S(5fm7%zW z+)ul{9W3w?Z1TKJpB$j*=rHgo4#+^?Hngs$V!tadt#2CT@M1J8gUxQV_1Qt8qgp9W zn1lW?A{z{IAKiME^NXlrOy2~^kO*pHQp?L}NQK?hgJ&S2y z|KYR{5i#EA3z{OQ<8<-V%c>Bz*g)2wT~}$NB(a$s@4k4Hi5m(Zg0#0ccYYl@W=KfR zB(kfjwB#Lg1224$0ZBT)y0n3bJ(Wbf>N2EdC&9=~sq7X>ea{|OM@^K6ubMd#j^CtZ zoA$ak&O^!DGSAfw6CE`Bf^}xif7;{7l%UeB1@lx`l2fy(F4oixwp zWe<_l9gKCk9^Dg?t><|Oct^{8z1c^9PBnZ$h)=fW^wG{3xQ@gjgbQMs7f1v#rM)Qz z6N4K)ZTD6sK;=}l-B7#3h*)+9S)ux39eR{S+I4~kia=kjp0|Y4%}c`ll6z9Rd3<~6 zT~2((E4LN^Gh7%xGNC0slk^1D8t}crq#veiv9>mX(=T4o0baJ_a*KW}CMnf%Y2Ngo zK;>qbHyVS7rwF=3b1&M)PV3z`aXq)1;5)z1hXU^c<8eG?h5cAE^EWUe(%;J1)APG2 z!ni93@4ZmTkZ}J#dmnEG>18BW~_WLH#l z;T$7_`QF4_V2#q7hF8;8ueyocvdME^cBatvIa-UnTxL3&U?rG90%T2nwNn6QIJhW( zQ*_o$X2v}5M;h1AytOjA{b4y<`e$G*OSL*9Nt=byyL2gS3QiJ4pGG2VZ*=Ep6J>C; z{;T(Sx#%6?p_Aoxzs$@tolXQEJl!js#h{6e!J{Lw&1e+Vtqd!iyGWSm@ZcsE0A0Jq zaqGQ^Z-so<2}%r0s>E`8X7~lZ>tcMXa(b8xhF3)&I{Y|_PsA=T%d>`h{$xT~nD&0Apg^PR2XTQA|qa;5|e6cH1kQ6Z8p$ zW|U6$7*mng(c`$hJQNgAS1yb}9$d_9f}V6;-mIafgACTXWu^ILj8q18)>$mUmY16l z10@*u#aD8d2)-Smya{MO+im^0$=&#TuD^v1oQ&H=yLQx%tGeA&^kQ|`cdL`84>Zk^ zw9oB!mUs+ZjO!T{I17L(4w%|RU*R1SKREvcN{|q$*3Nw{IZ-WPX4cbLet^2>ed;1X zk|X{e|9Jq-%Sm1K^(GjcwwSZhTKB8LT8?!%JJ^V<46bPL2*+Z|AfDAhX*Zv{qWP?9 zo#_IhU-5iaLz=!|@L0a3WGXv}uWCr8XLqgojI$%IMU5>k$7}V)CFfdue|fY|6!cxf zrl4N_8+OJ4^H{Ed75}w@*mOW@;=2*dh~;yT(sLX$ipB9+#!dtW<|V8qrU^TH@O4(R z6CIZGS-<}y$Y@PRXG`z2@*|jf1tr_a!stFu8ljKf@`hK8ZEt@lf6>)5M?J1fwl^Wq~nT0K~-dk0{3DZxV*r$B0;_Yyk>_N)28 zM;yZwX<0j56NWMF&d;5hy8`(hE;?)bQFp>tPE7*IUWxPZa46lCQ&zay2lDL=SnI=_qn&|TjO#H5Z!nxws{L+qb zW-pP|6=$%m*XYx2QXYcO1ur~hkx*jal;`yCcZ^=@@owI@&u6(86%vtmaoBcgvMm`w zt%DN8{Tskl(ow0)Byr+_^+H+)00(ZM0O=!Dn`Go z-Y7x*N_IeNIxXJgI-QwnstjeY&m{Nz&<$lu3M4)MPAu4;n9cXS&Jjp#(qK9*G(%=x>3 z4@=vwXDkkBVlQ4GQ^!yEOqt#~w>!8eSBbb9bXgKXRXs62U;7U|OHSv%e<~6f4gk}P zWHafE=`UMvWMZ=)j6E=zmtg8*6e8EmuKC}EH#xWLZyDK`#hh`t z%((;td9b+N&2$Xyt6yLLN8orGjqn!OlZpApv2>4FDct=0ZsnlAX;Mmv_Zp36EJd6O zFA?3%$vZ|du@E`0VS3)yMJr?Pz}No3%~Aepb9LjGB0fGj^WAWBYB1?doCxu@Q915< zO6rgcgucJ)sG{OMM;wSE$ibKn)9JeJYOdQvQKTi`VJ%j6`zg~ApLz5cMg zR&#jl{%(POm0&a~MH{ei@Ofz+<9lRf?A{8VL&E}OBqAU2TE@dxmC`DCl^c>|^h1BOgvLI4_I1?8e>R;)$n20>cUE0t=E`|FEgJKvYG$7> zLF^=^OxH_)6waRuDyQnnfUwMhwE$zcev=BElNxlCB9U?xqkWSR$saSmpULr ztZx!ckQh=(uJOL;dXM<`_BB^W>zh@5n8FaVNvsZMrP zzoCZ`%s9*AX^F9gN>F{AmI&ME7XkgIXv6giqh-cpJzhk~*|-=M`QKLge_QhZADLI! zmByeO=+m6f#N z7Y>(a>QflkgeGE{gWXLJGckJv>Y@*VX2v=lGu~6n4L0XO%wkSlutmIMJ~h7jS3f>I z;X3lR-Rp-|^~Kz`-Axh24zGn-fAJ>_X=i^Q7FA?5O;* z0*o85##qq}ZqMYAt6_vmYw&TfmjBFzjT1HaxN}7~U#QvL)x|{Z!5#NRJM8ORT5)rH zUyXV>nV=VMPwnKcLa!Ei{I;>|opd4UvOUk`v_#nB-r^qrO6LfbA2Yf9RKLE`B?YW- zL5^xE_0l@=H@FVUtzj?}i|(8xYKS~S2B!^GsM*`w%Px8h>amAqoqu04T?P_a+@-*p zXPVvDySk|e{kY@aO0qgA9$zdPukam$Rn@&A`$`#fkUR>1!~{zr4k_==`OSFb@Ea2W z0uFvI%NM_eVfmw=NgPpZtX3pL_+Id7ag*4rJz&T%o#;@BJ0<(! zH3AoTbk4n7L4`<4ny9&Ni9=-|e=YR3tdbkmf~No0URQg9yR`mZAGp8fr-Sn8ivy`8 zU3p*IDqDp-*?Ip=ho&?t=(n-z!&{QXx?8{L_4m*_8$b?kG$3a*UwR(h#Mm=Jp7gPx8 zqx8vH*;5uzka^P_TBgP@D3MI<-`-p`?v@5%>|t$@g+cpEDersMha~Np`GVmo8tO}y zvO0&oaZ#nAeTNeeQQXKJ6I#h&6{!7COJK<$g^b$HJ>@yJ8I{$kd>^P|3loA%vT>!v zioS+ecU0$*b5NG0lnsAS)#Z;=z$iQY%Kia1E5OeB}?+j3>5nj2fBusLrpzUt1D%Q2=+M& z)+ms!)aRh>@Suq{rVNF8pEG4d+b|#vL!moGbdPHaXvS}-Hn|^ zytX8cETDuTkn>p(GGNUEa&C{&PgelYsyuY^B7AYj6E>@E{B1B*3ePJ+PF94(Kd_Hk zZU%wTF{t)4J!=0Q^tDlBAlza=mbfA~u4#KW1t!&h-~4I7bV6JVGK<$n=+v@5VXPh$ zl4+;>`G_25W$Zpli3$v-p>FkJ07Jp;^>cxU3vgMR8^%9M^e( z@NvF|<3HQpysHkBa(huHJDDk=hwH5orx3rk)0G?DH6s~|z7}e4JgU%Q z7G`4sEvt|t+;F=rGe-5&OtgeT7A;=A;d5~qv-3j>rQk{{TXX{I$maB&_!bg|r$204BI8byD$!1vTVeKw^(cHe1~>pp*_>x>C!L#PF9q zNG{fH*+hJUxCFEc(S@V^%k~e&Gym{z#M$7BPEEart3JM7gO*A?QWHzeoZjSXx4?eO zslQjpBj9^UU64Seq#tcWqqxfry3DTVpr%lXpA&Jpn4mOA~! z?k8?jA68q+Jr2!EJk5$ih)AKw3j4?yb=LPIIXA=4ER@ta^ITg*%GLl?HbZ#AWBo>B z-=?ch16Mt-UC!ZYAFx_EJW&ByL&Z+I(1$}Q!&}sgvgAMMp@Ji}7M2W6%!9=}E%?HO z))kXj#{wl&J_t)vm))B>E{lP~a)qUT^*$BiOVtbKfrO4O4;cd)2R?6E5XWL}Y96S2 zgdI=)D4ysp`eFDvl&__wzMB?owo+g1NaU}}JZ2#~L_kf@b`pDHh< zBQC4AcI&)Q3GX8n`87%w^k(&6RgG6Q22?C=&#jb?lxknWwsFujpL&ExN7LMnH1G?r zvYY1{iZ-GBH{d8#d`ZrXJGTsSrN%w}D)m?RbWIK<1cVm+U!_6PM z*rEOc-7ZW31W*bP5NShZ01B#q;DLWN{*Da%SEBhJ_y4+uyjOKH191F{*v}L|06CHN zNgqIz=4c8)_;-r{NQg8~69CP>O5n}jdGNiL(3kz zf70?6XSpH`)7B{5MDl69;=&GkaH{r=2bMAIg6Q|9{11{+n2u74YAX zn*UJ#Bkezti@$*jgnyI0Kbf-uAY5F%Y|UK$viyhcU#d|5&$z~WY~y`~{6}&XeP{U| zQ25`--l_gu+~7ZGARx%40BM0n04nXj8u(A+@)v9R@3gD-E|r<9tChXQf0OH<{`}_* X{%d^xoy>I7KAHn)K1k^Oou>Z}c6MG* diff --git a/SoObjects/Appointments/SOGoCalendarComponent.m b/SoObjects/Appointments/SOGoCalendarComponent.m index a33d5fb4c..e40bfd306 100644 --- a/SoObjects/Appointments/SOGoCalendarComponent.m +++ b/SoObjects/Appointments/SOGoCalendarComponent.m @@ -862,9 +862,12 @@ /* send the damn thing */ [[SOGoMailer mailerWithDomainDefaults: dd] - sendMimePart: msg - toRecipients: [NSArray arrayWithObject: email] - sender: shortSenderEmail]; + sendMimePart: msg + toRecipients: [NSArray arrayWithObject: email] + sender: shortSenderEmail + withAuthenticator: [self + authenticatorInContext: context] + inContext: context]; } } } @@ -946,9 +949,11 @@ /* send the damn thing */ email = [recipient rfc822Email]; [[SOGoMailer mailerWithDomainDefaults: dd] - sendMimePart: msg - toRecipients: [NSArray arrayWithObject: email] - sender: [attendee rfc822Email]]; + sendMimePart: msg + toRecipients: [NSArray arrayWithObject: email] + sender: [attendee rfc822Email] + withAuthenticator: [self authenticatorInContext: context] + inContext: context]; } } @@ -989,6 +994,7 @@ NGMimeMessage *msg; SOGoUser *currentUser; SOGoDomainDefaults *dd; + id authenticator; calendarName = [[self container] displayName]; @@ -1039,6 +1045,8 @@ /* text part */ mailText = [page getBody]; [msg setBody: [mailText dataUsingEncoding: NSUTF8StringEncoding]]; + + authenticator = [self authenticatorInContext: context]; if ([self->owner isEqualToString: [currentUser login]]) { @@ -1047,7 +1055,9 @@ [[SOGoMailer mailerWithDomainDefaults: dd] sendMimePart: msg toRecipients: [NSArray arrayWithObject: recipientEmail] - sender: senderEmail]; + sender: senderEmail + withAuthenticator: authenticator + inContext: context]; } if ([[self container] notifyUserOnPersonalModifications]) @@ -1061,7 +1071,9 @@ [[SOGoMailer mailerWithDomainDefaults: dd] sendMimePart: msg toRecipients: [NSArray arrayWithObject: recipientEmail] - sender: senderEmail]; + sender: senderEmail + withAuthenticator: authenticator + inContext: context]; [headerMap setObject: o forKey: @"to"]; } @@ -1074,7 +1086,9 @@ [[SOGoMailer mailerWithDomainDefaults: dd] sendMimePart: msg toRecipients: [NSArray arrayWithObject: recipientEmail] - sender: senderEmail]; + sender: senderEmail + withAuthenticator: authenticator + inContext: context]; } } diff --git a/SoObjects/Mailer/SOGoDraftObject.m b/SoObjects/Mailer/SOGoDraftObject.m index e1770d0dc..e335bf13e 100644 --- a/SoObjects/Mailer/SOGoDraftObject.m +++ b/SoObjects/Mailer/SOGoDraftObject.m @@ -1569,9 +1569,11 @@ static NSString *userAgent = nil; dd = [[context activeUser] domainDefaults]; error = [[SOGoMailer mailerWithDomainDefaults: dd] - sendMailData: cleaned_message - toRecipients: [self allBareRecipients] - sender: [self sender]]; + sendMailData: cleaned_message + toRecipients: [self allBareRecipients] + sender: [self sender] + withAuthenticator: [self authenticatorInContext: context] + inContext: context]; if (!error && copyToSent) { sentFolder = [[self mailAccountFolder] sentFolderInContext: context]; diff --git a/SoObjects/SOGo/SOGoDomainDefaults.h b/SoObjects/SOGo/SOGoDomainDefaults.h index 2e44b32a0..d7fce3bad 100644 --- a/SoObjects/SOGo/SOGoDomainDefaults.h +++ b/SoObjects/SOGo/SOGoDomainDefaults.h @@ -53,6 +53,7 @@ - (BOOL) vacationEnabled; - (NSString *) mailingMechanism; - (NSString *) smtpServer; +- (NSString *) smtpAuthenticationType; - (NSString *) mailSpoolPath; - (float) softQuotaRatio; - (BOOL) mailKeepDraftsAfterSend; diff --git a/SoObjects/SOGo/SOGoDomainDefaults.m b/SoObjects/SOGo/SOGoDomainDefaults.m index 4b1db7b0f..1b822b487 100644 --- a/SoObjects/SOGo/SOGoDomainDefaults.m +++ b/SoObjects/SOGo/SOGoDomainDefaults.m @@ -218,6 +218,11 @@ return [self stringForKey: @"SOGoSMTPServer"]; } +- (NSString *) smtpAuthenticationType +{ + return [self stringForKey: @"SOGoSMTPAuthenticationType"]; +} + - (NSString *) mailSpoolPath { return [self stringForKey: @"SOGoMailSpoolPath"]; diff --git a/SoObjects/SOGo/SOGoMailer.h b/SoObjects/SOGo/SOGoMailer.h index 52ca73cfa..6ebc0ef7d 100644 --- a/SoObjects/SOGo/SOGoMailer.h +++ b/SoObjects/SOGo/SOGoMailer.h @@ -29,14 +29,17 @@ @class NSException; @class NSString; +@class WOContext; @class SOGoDomainDefaults; @protocol NGMimePart; +@protocol SOGoAuthenticator; @interface SOGoMailer : NSObject { NSString *mailingMechanism; NSString *smtpServer; + NSString *authenticationType; } + (SOGoMailer *) mailerWithDomainDefaults: (SOGoDomainDefaults *) dd; @@ -45,13 +48,19 @@ - (NSException *) sendMailData: (NSData *) data toRecipients: (NSArray *) recipients - sender: (NSString *) sender; + sender: (NSString *) sender + withAuthenticator: (id ) authenticator + inContext: (WOContext *) woContext; - (NSException *) sendMailAtPath: (NSString *) filename toRecipients: (NSArray *) recipients - sender: (NSString *) sender; + sender: (NSString *) sender + withAuthenticator: (id ) authenticator + inContext: (WOContext *) woContext; - (NSException *) sendMimePart: (id ) part toRecipients: (NSArray *) recipients - sender: (NSString *) sender; + sender: (NSString *) sender + withAuthenticator: (id ) authenticator + inContext: (WOContext *) woContext; @end diff --git a/SoObjects/SOGo/SOGoMailer.m b/SoObjects/SOGo/SOGoMailer.m index 619d62f9a..f792669ac 100644 --- a/SoObjects/SOGo/SOGoMailer.m +++ b/SoObjects/SOGo/SOGoMailer.m @@ -33,8 +33,10 @@ #import #import "NSString+Utilities.h" +#import "SOGoAuthenticator.h" #import "SOGoDomainDefaults.h" #import "SOGoSystemDefaults.h" +#import "SOGoUser.h" #import "SOGoMailer.h" @@ -51,6 +53,8 @@ { ASSIGN (mailingMechanism, [dd mailingMechanism]); ASSIGN (smtpServer, [dd smtpServer]); + ASSIGN (authenticationType, + [[dd smtpAuthenticationType] lowercaseString]); } return self; @@ -62,6 +66,7 @@ { mailingMechanism = nil; smtpServer = nil; + authenticationType = nil; } return self; @@ -71,6 +76,7 @@ { [mailingMechanism release]; [smtpServer release]; + [authenticationType release]; [super dealloc]; } @@ -112,15 +118,16 @@ - (NSException *) _smtpSendData: (NSData *) mailData toRecipients: (NSArray *) recipients sender: (NSString *) sender + withAuthenticator: (id ) authenticator + inContext: (WOContext *) woContext { NGInternetSocketAddress *addr; - NSString *currentTo, *host; + NSString *currentTo, *host, *login, *password; NSMutableArray *toErrors; NSEnumerator *addresses; NGSmtpClient *client; - NSException *result; + NSException *result = nil; NSRange r; - unsigned int port; client = [NGSmtpClient smtpClient]; @@ -142,36 +149,57 @@ NS_DURING { [client connectToAddress: addr]; - if ([client mailFrom: sender]) - { - toErrors = [NSMutableArray array]; - addresses = [recipients objectEnumerator]; - currentTo = [addresses nextObject]; - while (currentTo) - { - if (![client recipientTo: [currentTo pureEMailAddress]]) - { - [self logWithFormat: @"error with recipient '%@'", currentTo]; - [toErrors addObject: [currentTo pureEMailAddress]]; - } - currentTo = [addresses nextObject]; - } - if ([toErrors count] == [recipients count]) - result = [NSException exceptionWithHTTPStatus: 500 - reason: @"cannot send message:" - @" (smtp) all recipients discarded"]; - else if ([toErrors count] > 0) - result = [NSException exceptionWithHTTPStatus: 500 - reason: [NSString stringWithFormat: - @"cannot send message (smtp) - recipients discarded:\n%@", - [toErrors componentsJoinedByString: @", "]]]; - else - result = [self _sendMailData: mailData withClient: client]; - } - else + if ([authenticationType isEqualToString: @"plain"]) + { + login = [[authenticator userInContext: woContext] login]; + password = [authenticator passwordInContext: woContext]; + if ([login length] == 0 + || [login isEqualToString: @"anonymous"] + || ![client plainAuthenticateUser: login + withPassword: password]) + result = [NSException + exceptionWithHTTPStatus: 500 + reason: @"cannot send message:" + @" (smtp) authentication failure"]; + } + else if (authenticationType) result = [NSException exceptionWithHTTPStatus: 500 - reason: @"cannot send message: (smtp) originator not accepted"]; + reason: @"cannot send message:" + @" unsupported authentication method"]; + if (!result) + { + if ([client mailFrom: sender]) + { + toErrors = [NSMutableArray array]; + addresses = [recipients objectEnumerator]; + currentTo = [addresses nextObject]; + while (currentTo) + { + if (![client recipientTo: [currentTo pureEMailAddress]]) + { + [self logWithFormat: @"error with recipient '%@'", currentTo]; + [toErrors addObject: [currentTo pureEMailAddress]]; + } + currentTo = [addresses nextObject]; + } + if ([toErrors count] == [recipients count]) + result = [NSException exceptionWithHTTPStatus: 500 + reason: @"cannot send message:" + @" (smtp) all recipients discarded"]; + else if ([toErrors count] > 0) + result = [NSException exceptionWithHTTPStatus: 500 + reason: [NSString stringWithFormat: + @"cannot send message (smtp) - recipients discarded:\n%@", + [toErrors componentsJoinedByString: @", "]]]; + else + result = [self _sendMailData: mailData withClient: client]; + } + else + result = [NSException + exceptionWithHTTPStatus: 500 + reason: @"cannot send message: (smtp) originator not accepted"]; + } [client quit]; [client disconnect]; } @@ -190,6 +218,8 @@ - (NSException *) sendMailData: (NSData *) data toRecipients: (NSArray *) recipients sender: (NSString *) sender + withAuthenticator: (id ) authenticator + inContext: (WOContext *) woContext { NSException *result; @@ -209,8 +239,10 @@ sender: [sender pureEMailAddress]]; else result = [self _smtpSendData: data - toRecipients: recipients - sender: [sender pureEMailAddress]]; + toRecipients: recipients + sender: [sender pureEMailAddress] + withAuthenticator: authenticator + inContext: woContext]; } } @@ -220,6 +252,8 @@ - (NSException *) sendMimePart: (id ) part toRecipients: (NSArray *) recipients sender: (NSString *) sender + withAuthenticator: (id ) authenticator + inContext: (WOContext *) woContext { NSData *mailData; @@ -228,12 +262,16 @@ return [self sendMailData: mailData toRecipients: recipients - sender: sender]; + sender: sender + withAuthenticator: authenticator + inContext: woContext]; } - (NSException *) sendMailAtPath: (NSString *) filename toRecipients: (NSArray *) recipients sender: (NSString *) sender + withAuthenticator: (id ) authenticator + inContext: (WOContext *) woContext { NSException *result; NSData *mailData; @@ -242,13 +280,15 @@ if ([mailData length] > 0) result = [self sendMailData: mailData toRecipients: recipients - sender: sender]; + sender: sender + withAuthenticator: authenticator + inContext: woContext]; else result = [NSException exceptionWithHTTPStatus: 500 reason: @"cannot send message: no data" @" (missing or empty file?)"]; - return nil; + return result; } @end diff --git a/SoObjects/SOGo/SOGoSession.m b/SoObjects/SOGo/SOGoSession.m index fce46aa5c..1c8f9abbd 100644 --- a/SoObjects/SOGo/SOGoSession.m +++ b/SoObjects/SOGo/SOGoSession.m @@ -27,6 +27,7 @@ #include "SOGoCache.h" #import +#import #import #import diff --git a/Tools/SOGoEAlarmsNotifier.m b/Tools/SOGoEAlarmsNotifier.m index bb5982b90..cec6e425c 100644 --- a/Tools/SOGoEAlarmsNotifier.m +++ b/Tools/SOGoEAlarmsNotifier.m @@ -122,9 +122,12 @@ message = [NGMimeMessage messageWithHeader: headers]; [message setBody: content]; to = [attendee rfc822Email]; + + /* TODO: SMTP authentication for services */ [mailer sendMimePart: message toRecipients: [NSArray arrayWithObject: to] - sender: from]; + sender: from + withAuthenticator: nil inContext: nil]; } - (void) _processAlarm: (iCalAlarm *) alarm diff --git a/UI/MailerUI/UIxMailView.m b/UI/MailerUI/UIxMailView.m index 48dac90ba..0c8e20fca 100644 --- a/UI/MailerUI/UIxMailView.m +++ b/UI/MailerUI/UIxMailView.m @@ -478,9 +478,11 @@ static NSString *mailETag = nil; [generator autorelease]; if (![[SOGoMailer mailerWithDomainDefaults: dd] - sendMailData: [generator generateMimeFromPart: message] - toRecipients: [NSArray arrayWithObject: email] - sender: [self _matchingIdentityEMail]]) + sendMailData: [generator generateMimeFromPart: message] + toRecipients: [NSArray arrayWithObject: email] + sender: [self _matchingIdentityEMail] + withAuthenticator: [self authenticatorInContext: context] + inContext: context]) [self _flagMessageWithMDNSent]; } diff --git a/UI/SOGoUI/SOGoACLAdvisory.m b/UI/SOGoUI/SOGoACLAdvisory.m index 3023d46d7..e5d1c0787 100644 --- a/UI/SOGoUI/SOGoACLAdvisory.m +++ b/UI/SOGoUI/SOGoACLAdvisory.m @@ -234,9 +234,12 @@ [body release]; mailer = [SOGoMailer mailerWithDomainDefaults: [activeUser domainDefaults]]; - [mailer sendMimePart: message + [mailer + sendMimePart: message toRecipients: [NSArray arrayWithObject: recipient] - sender: from]; + sender: from + withAuthenticator: [self authenticatorInContext: context] + inContext: context]; } @end diff --git a/UI/SOGoUI/SOGoFolderAdvisory.m b/UI/SOGoUI/SOGoFolderAdvisory.m index 83fe5f434..b0b14ad68 100644 --- a/UI/SOGoUI/SOGoFolderAdvisory.m +++ b/UI/SOGoUI/SOGoFolderAdvisory.m @@ -205,9 +205,11 @@ dd = [activeUser domainDefaults]; [[SOGoMailer mailerWithDomainDefaults: dd] - sendMimePart: message - toRecipients: [NSArray arrayWithObject: recipient] - sender: from]; + sendMimePart: message + toRecipients: [NSArray arrayWithObject: recipient] + sender: from + withAuthenticator: [self authenticatorInContext: context] + inContext: context]; } @end