From afb7bc309c03562acf5066faa8b3c9f1e43950a0 Mon Sep 17 00:00:00 2001 From: Ludovic Marcotte Date: Tue, 11 Jun 2013 11:21:58 -0400 Subject: [PATCH] Added message submissions rate-limiting support --- Documentation/SOGo Installation Guide.odt | Bin 156516 -> 156932 bytes NEWS | 5 +- SoObjects/SOGo/SOGoCache.h | 6 ++ SoObjects/SOGo/SOGoCache.m | 85 ++++++++++++++++++---- SoObjects/SOGo/SOGoSystemDefaults.h | 7 +- SoObjects/SOGo/SOGoSystemDefaults.m | 40 ++++++++++ UI/MailerUI/UIxMailEditor.m | 69 ++++++++++++++++-- 7 files changed, 191 insertions(+), 21 deletions(-) diff --git a/Documentation/SOGo Installation Guide.odt b/Documentation/SOGo Installation Guide.odt index 45b1b98207726e4ca23f4f41d2d0cdf275365f50..8b1b5faeb51d71a9a466ab85b39f75d024bedec8 100644 GIT binary patch delta 50735 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
xhw(n*KgT7=r#Qh!h3gLuT^5wZ3 zUPu5nAp|$-Y{&lucz+M;#diCBmO0FNbl$r+kKDq8 zSfy_b8bU5)P4);uM<3?nqQ8aG4e6|!whmy|b8`oeOu94vri%ebe4=47baM^p>-!m# zv8sjDC0y>9;I!Kuyji9N&{i8dMfbnlUs`6FjZK+4bK(Jp!(Op=rv`Ou)KQnSNG^^Y z#|R|gsBb73gIpV2_hPytLN@#0R`(=~)ROl;uYiqh<^$js+cNp>tI779On$}mfUjz^ zV>xDY-S_5p-3#LX1zlV2O*%Z_J2n0G`mT)!?`+bG>Q9wC+-Gd~l0~SAm4G@dp9j_z z!tQ7~b!7tV_Mo4Lkh}ngVGqKzZ9`oJkIqoVx^ovIb2C$+{$N@}AR&?&uTB2PZq3q!3*S&;J`o#OupOtu<{9QB4hJXnwMY z1W~+RF$}!rDs1H3LPSdyO}%ws4v2YTdWC9Kg8~8cn}9e;{uLYy-Ap#8JT=aoX2Ey5 z0%Xkcr>&bC`wc$j+e$Uf*|dLGBd_@^_lDU6eg3fQ;Q!!yH4Ok%4(ufeSpo$3F9{S6 zV(^SfNmuEka~HP~iYA3?1Yw{HB{&Ydl8)5;>16cn9wiFQ4b zd}2#PM^z~(vDSfeEnYItSKjeK15XpGgLP*&Uc>G4Y0N5JWaaD$uXqqI2C*=b^e!4^ z2U&nHGWzqb`1{g`y8`3yKXCOwI-Mz;h#?vBEAsi~Bokc?CPBL&IAQ!u%hT_1;zqRq z5N%19w`6n2l|1+RSZ1@9kHLf1NcUW^1WO1<_@{)?n$Zk!XX%FMbk2KD z*a$k!qAXA=H>E_T5iW81Pd?{z8$gmh^gANGR=Ve(t6O(g{F%?3*87TiDc{-2n0~Ad zE07Pytu~#Ifo&wWH>wlcHK-5C+xv4sKIv6sP76e3hRQ4r@wO9GQ_aMJunkg4Bq=En zs5p0uV`o(VU&B124hZBp#(?nPAj-9)`QBO2UL;>~;do@NQB%YiA1eDrmUeux)hPn$ zJLF;D;y!Y@yb3~+gk;Xd*_d!3X=Q3b^JW*vNRLaKCn{3Ya4HQi&0yjX2MKJzR#JJq zB#e#hz&2Fr7VVg(4%prlfvqHJv{tY}e;1s}$m`#adn556pJ$faF03p%NS?h$6D3em<>$*g^-eMLs|of<55TO;K3;o8a^xcHOpjMiur!flr- zjlY>-lQ*Hj236d!*=4DU95Igo28L8_WBgA|e0lNIY!O9cWvB?*7(YsH_DCp)(Wk_u z#oc!>IaILr!Y5jkvXH0BoEDB&(^LRgDJrSV&*SQ#@#X2EnpJ~o((%e-AuF-Uy|7(` z5GENLN$l*UfJDEJnt+E{)Lb9sNi8rn-KNGXoQp@ zDH$;#0g?1J?Dbw-nfpamU|2Z7wC%~X4QzY_wZxmM7j6sdf%p^Tf;I?5m*k`*s!xD& zm6r#qMMhg$8<6ti<`?JyZjoyTnDccQ7GTj&u8oj8fGxvJBiak-@E_TP$#@lsK;ni6 zh^IADbX+o#`$(%yY8dSX-gXNnrGo)lS^;4s%BOWonh%%ulXh>esMC>hpy%S<1>3h% zU~mQQjHYB-diwn#TYHp@3=SJI)=A{33=;CqlQOK7~HD3 z2a?I5yqwvwb#-;4k>Cr-4KWZ)u|MG>u>#O>79vOpI=PJa4gS(-H8@A(rgA#EXT~0# zJ7a5h2Z*$^KXb@{!AFWfhKL(G-$mo}izT>a?3Ujp9F?^3&rxL6OCNLzoBIJENR6*J z;D*1u;B{t5JL<&DmeH zW_lI%fM%VKt2^Gy+~s4M1a`X9uc6WTPg+9=l!~0rtqv6`q94X+#U4dL8N%E%qtCpA zLEkIV^ZCdC1!czx0gjzARt2)M1%AVpSbY+ieD~DVex;%do<DQT>QX#wlh#k>;q$ z>)4yds$#&`G^$8ll+k_%-Y+G8F1+z{B$W|;Vx*1(EYNBU3v3s}9>s=s3}BHdwSusA z^-7NNO>euZ>U?aMLgzj&N2}LjCv$(AtNQ_V_0T+zPX3LoH$T2l)za(3$GA<&u|=eK zG-3-KWld#gW8;7_YY?YdY@FCA#aU@e(*4OORA~w@H>eaj{ji6eQNtYG zAQS+(KqB~A{@pigUNfF9_FZq}mIrI^Q*4tRc@W#xO=sY%=B^Czm-*uo3$*#Cy#r(~ z<=L@Z6k(btwIMIE{HzehKfteWSgLQH5sPgDL;)oy*z#&!>}3`XNXmuN6L_SqGIwh( z4qW~%9hJ@sAuFi3TL##kfZBaLZ&L}i4>|yCXQRb^~%gkpFT3MW2%RCd%&dc=6U)WV~2_V*$SHR z=`$g2ClAbs@Av+!RpoYsr(5KWoYEE&qjqk z8D>U=*Hh;i5wB5$r=QqM*x1{=>@t84fL+EnKtnb~7QFN;!GrRoIlIBX%mc!`jJXez4c**;mXeU1%EzhdtirHjQE;VV5v6&|jivW*$#&?+bXLBNIPAbE;cpY%^6r^tY>OJ@C)In;Ni!lx9H7 z(5)G%aq5=ea$Bi&X|D3BMil(Znqm~Z!6{N$x6E$vktF;H8|x)^f1(uy7T1I5!T>OH>hp?Jj9UR8ez_h?Kg@R_>18jz?u{DiSI=!P5X2s- zIf~Kg_o?XfKR2G4u(1z4Ek1vw+-zSLK{aj$^@v%u4Gs5Y!^nPd26xzGKO`?|FlFU9 zEh#W}o>pXtsema6P`LOmfdlQA&U}6zZ0=dIK_K7(q#YXj}l> z@GL0u3y63TtXYYuCB{k+B6aF5--faQ$U^*N2mz);Hc>FJVJcA9q}&g!X8zw2c*whj zY%u-^Yn1O4&S0)73QdP)jHSh2tU7+oImckLudrcnHUi8oaqcaCn`ry;x@6~+7dB6I zrQ@Kwq>Av7pGhcm4gkE9D|C)-PNs{T5I{eLw^3Ez3u{+K;j^st_DE+)sElWI&pjOv za*9$-AtEkt-e{(fA9%S+SkuyW&wv|NScl-t;wT`@ijtY^O#XJdO(h&yzT2epyupMP zmZ8GaH>!)LMO}YedAq%1vX&TCAt!h5?2&QzO_yhGzJHA(|`*w11NiKkY{Vr2ZAK0!?;UY1xb43+hfTFB$Gt6`-A3`4*i1#&p zC9a&;!PX~1ddJDwEMGXa*kY*!YGe%uI>s*jSSNcQYcJYdk}Ti5Bc%XOb2W!nR+H;u0{N{l4$aS7WHam8m+i>1p)1-^e1c>sxf@%p*A{K>Y-%l3tWG7YCMN7Mjb21=50nrt<`|arY_4SKIajkh!ovv zB51LqdM}hV65*&0M%3tY>TjvSn+u%X#f9DgwyDr_!9`9Pw^AX&-@mIMHE_0KVKJT5 z58$Z1oY)j^WmKs?02S&Fs3Z z4}vHPWfn0q2u5g&bdH05Cr)=mk=5{xnY-c4OSG_+akW2Pcr?i7#DAw;oBEKH*ntlA z?H)w^K}XGTwx(!AdVamu-N;jG{zg)QMb5#}lba)wZ<;_TcOKM3Ikj#Gj%*r6-j{@} z1MpUqWsAap*(7*7bLM+i#05v8F&DIP>Q+gJ(h9hdfeu9Rr@YouDxaOYkumMblne7OP<3S{ksfveOFV+`F`nvg-cna>okepaV3;iJh z#J!5#Zz=n`0~?fud^}0Ttdy;OlMjC6N^U@6+#F^Wk-lPw7d_dS6_0MJRsB6f=OMS1 zHoI6?JF>n|Lw<<(`d@qRwEv$yXq2MuLPhgCeg=l{Dzs6GLorN~!J`!6agecx-Z-X6 zF3|A8pM6YX3{2BM#4+i}gZNIOr`A4ZWnh@8#=yXXH1xp05Hj65o=MsoqzHKwi5o>x z;RHs8a98#CRqdCU?u}>*JZ!Y(NGf538WsHr11fAt$ji zzqCX*IWajS6=o7-*k!t40??$}Ueomxn54i1EI>XpaO`AyjTe)w7P6(NBPjAHt_|>+ zzA=GG7j8f=(14FX1E$L)GI7C0j{-$Cy_sZrkd2*QkO;K#FHkDcn@M{5Dxd~MkdKhf zmqF$*82d6!pYF{hkHwf=pwvZ>F;+nh{eKdZ1jq=}!9 z((}SH_0qo;^=hR}i3Sh?5|)PJwI5F`+2VOT`@>vQ*PToe%RKGb7FTeR8fFboc9<{t z6s33Ki5_1E*R-PV!RK?*7(%4JN9xWdvaIa>Xjv9YwAtbwT})vXGs?6oyRfuPac2bj$ zKfNA*;LeRmDjv+4w-t_Oq6Crt%-snjlTDpPL)g*?(dAYXx&F=hI`_DH#(*LBZnSg> ziM<$PAf;gFHIM%&kAlb&2C8BBVJ6ze{p02S{q2Eg#U0~dY4G?rA#E5RAVi8pUffU~ zu}QdQ0H@owKn@88iwU_HC+%`Na>0-m4(hBIoQ}=VI*6oOj&J#=I0tb?T+3Bjy8F+n z^0o}V&v=%4EQvU*PD;%=HqIHAk7LL-DpMAZzc3qVbLR(F>A_|0^YRX3w4!|+!EA% zhc2$yj;}vxt9?&;`@9jG!8O2tRE{EfUlR?#fMq2hp}h6%l)iw0kbpwKfPntJO`xEl zzPCxTZWu5%S^`NxMu6Bc5G8Ff2?Jj`hZo8t2xoG37%(>AH=TjqEr_^7f=ka!aNRbT zVF*%kUEB6rvx7UHr{%j-_#7odF1}vMAmKzQguyYAmq3+-)|B-YcxjxIVcJ=%;jiOX z=(7}`^>$^zo8t!MSS1a3@{~)@dP;$IDGho!Lij19V%_M=#Dvtq#s)WbUdHW8Zdq;d zR+&J*iqInjRm#&(@s<;>C2Lb_j2^kFlmfS?!v;({ZdX9XWi=eXdv(f-Bl1Gzj6Q`o^4XO+JVXMWzFzL?Qs z^Uj@s2|2u_Sa-|7QnP$fgBGnNBQcwwyvfQ-ZQdu<(>bF}AMfQk4_Z7Rz`4F9`Nsml za}IQ!7xZt|RT|2lpkOhGJ=je3o>dWt#WI0j-tRs#q`w2&F6jW?8(%Z})jl_7Ax?z?SLemv|Au zjL|f}dG_f5y%_NKijFq@6l>U-Q;Lo%%x+Ho&5+7CLo|AOz9VYY6AzXLj38CkK8=>F zV8DunB?(c|LR)jIbtJ$PREPzI-is>)w&qnC(dRigjS)MAYf&sN2fWGDN2Zu)6=6UI zc#0_={prpBr=!K+9LH3GIt1PAy~Tg_c^JRg7d{t-bHH}}E+h&zPbf1pk+@`JhXQAeOrDFO<9qWF8wq- zVQMKh&%)#Zn_a=2l1b!KfHNO`CO0P=z-vbiY}T3Lx7CO;I|cQZSPjX|Tt@3FHO0z& z#t1(ZG~=?zMtgbf6X};iM#@5)thc1-e!oED-+MSs*O@wKFTgFqi@ASwRyQ?%{ zVsb&EqPr|hV;0WtE_L^#sfIcTY|rJsE{>K2qYeVUtXKQA?Pj5v(eF~;THrQlzy=EO z#Ays^4(E?Oq?CCPhBP@=&c|Yfw2t0#eD3ca67gP2;*4gAkO6_%*=pV)sgpy&;L zW**JO=}IupfTDLOT!;*M3+92p`=i+G!zWb0x7idUk2Df`CpCYQ_t=DJrN(Dxfs93VqYly-jJ zI2cvh-{q*IUg0eoaRH;?3qz2SL832I!M~y<@{&cgmu{_=tb`qFnEt_}U*WKk$Wz$? zt8XtBCh!dW13CxbKQScvd=B1eLXhxQODp>p(lvGruYs?$LR^QOLvVv%M1#hg(MjeK zHTO}}9&Ksgr2&hEvGoTX4nV0P8-_PdMID!Ib=d{lF;H=}ywEl^MJUD3GmPg~VwygJ z7y!B3iB(9;`_>1o(V7h|y?myECxO>t+2p-Jy4FQ3sifMT!h~!PyjB#U?iahU&v;hF zilRs5dEtNCw9Ap+YS3B8Wr+t8nbVlb94Yr`D>zLclg;n(9{P&~xa>e<(ds*$3i&5mii@n}0a_u%a5Kt=F|5EF{ zVt@$%YjJC$aTL#;I=&Mtb7Yx)hH->F;pPQdlHz4?Qbh?Bl1@^YE5ERyAjA^*e87ED z^&=zIc&>QI`^qmm?^7Bk);@&+;$Gd}eXSmX+X6l$e14Mhy4g&HBtFe_)3yi4C)J+(TY=)~qn|9lx@uUiE!7gupgB$X!-%X5c#nJf{UXKe? ztC(Gp4GV88B1PW-WaVc{!!K_bzDQOAPBk3BL-}1UsBE^R)0Sq+fXY~XS35V(+b7_D zU|?Wx&)}g(&S`x{sAKIydwNZ`SNM9v@lgGKp}ScZy|1S|+`Ym3XICbJ&J^eGcUDeP z57rYVHYQU?9hvj8Cx+1oB!qm@oL_^j=~!&Xd(V%o5Gzehzd{-_k3U^UvK;BGw@E*a z4mtb5UE-W*-dQ22`dErnlSjIu8eIUmFPdpH0 zr#Bv*IYVJ#u<4zMH^3xI;VmHmF^x+z=rzsjS{nfLX@6fnD|>U=L;BCl=y3ufVc1`7 zuO|s4AD>-Jeu;Nt|7?YU;y1L@LV2YSXH#JXPH-7KA+hYx?%r%D*yJ)9>Dcxy&2LEdX3l_se zlYJrRh~>S0qV3Do_i8dW8Mpy}PAufw?EWauXz9J&5x(7ni23v)%eMUDgO&7jdd0B= zhfn>^Hu-k2l3CT}awoP`b87NKR_$e_zy5Hh$wa&WgCrl{KNZ09^t=|nknfrDdMK!( zAiQm}*bqHoFhH{8=uj1%8M-NX;@_pV^f}Aobau#F==Dstio2B=odO3)0S24(VCJ#e zK>W>c=KE5VTMUcr)pWqXV{(`#+JoXBV3UOK%MN0^!5~{wY75Akow=))f3PR<>HL=w z2w=K6>Pc%K=TkQsrPa=I!*&)P2vGM{QwLXpfV)KY>+)blgf&g=Rr)D3dxE(-L?M0l z#vh&>_=T^iv(Bl*dW8cJ+_^xzP2LzU9JSw;sO#jbSRlZ11v|@^&goA9R*7p-oqb}( z*hXX8@&I<_JL4{joe-V(*O939S_?v;_F+B*iN*jC>-dpX_9uQ)(1Ksvh2FiT|B=9v zpK+4&;-Vxi44n-RmjLWRycITId1887;c)x29)#uNVb&DcT3;og=BKm~_NRX8GF8?Y z69EKB%~8fH^uF5bRj*<0m^(vO3WbVhFL-K3ODFWa?{9Br$dd7;bfpTj?u20Y zlBdhz`YBpgF#aaF3YOLzj7kpdzI62l<*Gd#YtC6(2QXyLub}?w@L|WLi4ONv&bRNY z+Ze?|59wXco^}_|qAFjfKDR1d4MSHqxkoV1WiIk|)nekV^elPSU|u(;%Ccarv0(mE z?4BBhas*LVK9Jg*f6T4dR{ZLdF0NPHX5|a&H3U8*P8fW#O!KO!JGg7Gl`2oZI=lqZ|m>e70h0<+&$T0z!V$tg9wimxtNF3h)s32lI1{8hn;oGdFfZ?Mjf1(Xem zzJ;+^0L*6yIE$;}-C5Gd2H!h5f8Q_@nb2ql&;IEli8rF8N-r83l!lzjN zU9GHQreHQVr)}cTRl7jropWxO(JC$VVVFKY%sv5#VN*m@vW-!}0d*!j?U4U6P2ZD; z{{dFTNBeEm$I;ZQBn4_Wh}TYQtD(Cu(2WRq7^xjA6_dbR zBpT(aZ2X6?U_q*8R>e%+QAQABW4;h3ROlh#fULd(i?V=_v3vR>FIGp*6vQOO5bnibUS<1z z88f0##jR&6qV&Y8(?+%hE#tTQ0gS<-qv)dFyiKJEI9D^|lthIj*1EAm5FS7h7WZ7{l;opq4KJlWF<2qu%f;XvDA@ zYDtXdN8=LYs3qiu{|f;AZ^-`)%zpcb$A9}sefuzfi~N5K0RDeb{ojkuu{7d}(YI#K z7hsH`XgkV4(<@s8hOLpcO;<;`ksFMOZR~><;gPlL%PQ0z4g}jOjJduf!)07&D$OG= z%TigfGmS6jaVt)dPqs^lA2rqrZnm!&AuNxmNY4bpw?7Fk1i?R`C(etn+g@Wj!w zXW^o0_`1nFd-B~rC~uEWG>x`ik5v?0`5VD{aMF>=X^qAKYz)OPh2Tjm<|Zl&7Ou_8 zMiX5Yxuy+Ql^WXQ`AthMl&zH@iqzZb{1voH9eWhlP9YRF=*TyJl+#10H6?g05{x-z z9FIhuC_q!40o4X4>Rdjb{@%;_%|bFuKjt8Ns?3xqPe1V!#-VZvCU5y-BPA>CVWCBt ztL4tG(Iw6Tpk%?Kyf$1fY;C`>DORae(ZIN1p09j$n0-vSV6I2x+E!kwyk;cTu*ys1 zKhj;&hPGANO&Jmyunxe^MoXzrr?S67`H&{VnnLPr0^wbgw9P!{rI+e~w{ zB$jZAl7A=|Y?*RWLvIZmjqoy<%ML;&OBjC?>*{1tg8!y z`j7Dn@*l(U<6nkDiyPvhZ^(eiKFZok(L5iW?a_584BSU?(yZebB%%(v&v-s%wqjITjNH&zlpEmHigZ~4_oXL{DTUO zpD+L-NST^@9=!+t4Lv6S!nt&XhpvnH256hY8UAvn`cwDid@H1L@gh$(R|Bc@F>!3= zS%U#mm0nSs=tjOdwMm)tskwD2T2X8GI!|U}t9E^To^D22{y zBH&GcmFSUQtRciEm^JrL82;+r4E@C@0%fP^l!x|eqE6N&V$%+Q_<$nUkGz1HdLvck zq^H8s| z9a?#d3Li)7=Ko$~^hBGLcHGiDm~)Xo7^s_9(MU*zW=yEjnW4P`kjPl^hx!!qPYUNxvWl|wc4Q6e7VFCh?5kL=v_s42}EE zujc#j1*L9ahDiQrrZ8!6d-k8jo}b0kbpKXJRLAz0sN$CBke4v9JxMevRWUb%rTb^) z#cBUfA`2A%nPCzCk5A+*Cg5LkO8Nf@^uOi&4-~beG&)p#iCDS^(=f-_3C42G@4k3o2BtslQVas!h+g}rb2Xkla)%k-8F$Jyc#!=m zKmz>n;6MYC0S%6KIj*PvxWqS0cTP*m`Cr_3o(}AQ-%miZ44=d_p9d?lP2A{>Oc%i8 zvW|o4J1;!Z9s5?bpkzHXbwG!ULNzvdZ@f63$`;vIdJuvBlw0=T$a`&I2bi1;0Ny*C zp+&f2>HKMfsdqGdm*O62FqtW*srd`iD_9f8hGmscR<3%K2qu{NE6)x5?=lhkGs7+v znh^jHlo$^Ye0p6@Jw7EuUO1z!ruZ=O5x(c-ia}AS+`^CfE$O8j6dJEyRRLmuI)*sh zpvfn_?qdvWkKj15$6gZpx0_~+I2A<98=)J9zN1*vLeSAyj8nnp##b|VFSYYznL>z} zGctt?&&;F7^Jl7W+V$<`u`WI^xHvoS?;ZibT;j;j_bTNz6wJ6hr`!Z~Dtbnb7=HEf zUk{OnyYCv${X{CW7&+ZWliWVMh@{gIW_iBw*w{ZoMTZAIy2~Mh(kySobwhX9IMCH2 zY*RaB-OW>3xt@k>*M$u>#k7g75^||%Pln#qC~YR2ki*|{k8&Z zChe_R!r9=e{1(MBJh`@a#L!`t@leGXIL`}dY)t|?h#I1=*Tj>l0k`$wXpI+eH`fxm zKMkVSjzP(kdS3FZREa$IL!>|mn4TOTKx@{?flYb`kA|>a8%{Dp!w25O9*vmw!CZy0 zqLTGwbn9uytVe7I0KHRen3!{~K_A~h2F`=n*+k!xhNIntcTvIPHR_S}sM}}WGr57IZuyvJsGTyT3;x6PrF_{woLe?n^NpZF9n5&M6+V7MR6-W1fvPT*GOK-V{%{2%%=TVfD+` zwx1m5x6g6hxYjt~;&r+muBDk?UDwO8c7-kE6`YxVo_}oD%F zvU2b4dABFXZ_0lgcV7ZB8O~1x&NQ}iL&h`uh62@TUHH{bNyRm4YQBEhbhf;SI}j%p z`iPF$AXt$QaUauJ8n3T~c9QCW?x2T4YLBDEba$}8TlyL2AjOyp8;&!VYaYflfN6xc zE6%Vg5K3*S?}ZQvN4#DcKh1V5&~C6=Vw^EQj zY$sQbSYcJP4ALBnbD!DsZhGn7z++ZO`O^#H!^WV4=?sKT9^;_ZHqv}%hontWp&o88 zz3*VrrEZ-?=Ry(SGM6Rb@^>tvX)7ke#dhAJZTP(K{1~tM<4ggfhu+AIL$^+g;fb|+ z#rwA6f~dMssONr{ARvIkYCO_#fFLD`h_EdQQDe!(2mrW6D2PPxCZkWfkZ6^_<-wd$3t6_Y+-zg}_S4F}$$OQX|= z|Cmci5L#$qTHe3!%%24=5o}Y5-$|H1JiF7d(1+pJ*WviQc)A1ADxl5j>G5z4PI)E~ zd{vI`y~GS?*Vf?qtPFi-MU}Ok=+HWGejJ8>Y%b$r2vMR~Tw$@B0$M<06Sts`Z0tlk zJs+{NI29symZf~A(zW{>kZ#nauhxvmV`few57j8v zEiUJdS6Wc7v)WHRuY9qAfT)MO+QkK0@fWlO0$Kqq7@3<8`;zI$DJBb8ADPR#5Wf(! zK4qpUw5_F;FHO;FQ{9D@t8Q3LtUeL=amEU5nC{!AH_IrWhq_1LejwXRstJAl$?W-NhFsOT>HrPZIV+vVsL%g5GB3vs@=F($*S85GJDBF zM(hH7hDI{KAM)?oyQSa}+cEwaLIP@;ohlV*KVWJRQVC8aLAMB+ABGgJvaR9gme)$Cx>NFp&=E zu@E|YZ{prN+*^|{io_*8G^nB^KCSSsh&So?DDTPk1pJSZyK&pW4O*Pm;&?9OBAVI6=0Yw~siMyNQgufqQ0; zf2Fwe2Pxw`)?LH36DbD+RB^JsXUF;XAs zo1HfwR(131Puy_Q9QY65*M@n=M)x)i;=U+ebd5yMiZe?|E;;$hOCSH#Pn}CPp<{YC zVKI=G)BkewE`rtkxCvxQPieF^*pxia%EGD!QF(eFCQgPU>Jp|iaNc*>N&^V3Mc>rwlbb=wR5Zqe% zYaIyq;`Wp9=XF8r+pk`du4QgV7hiljH@(3tXCb09jzHwRKFN(m zwF&WuukjeU@2w75qg+~oU^VY3_G=@gK znxdKJLHk6`o+CLixrf!9F*(L_V9UP88$;Q;K0F#!g@pR}{Cf8Q@*C#c$*42IX}NPs zjuvd|Fu&wbF0$^d{kp4GSzLBC`g+nq@GzRNLC0zM9vWLTtc_i20LydFy5;2$;~Jz5 zxhNPs;;On~+EefSq^-}tuDbIweq&;`9A$NG$ePlAV@UdY-$%Tb?}y;YgWnc3orpX8 zH|0j}-#9lk-B57kR{Qqsw?*D_Ac}DGFaE#rZ{WH5CLKewK7QLCSu^V1HVZ5nu-7;E zedxLD`i&sqbh-5uI{hnFEdJ#Gfd4xP8+~*AzcZTc`_AZ_|33u(C#lK*$E0`)?Knng zhum0Y?EjUr_4la&xWAEqa$Xk@l5nAKeg|}Y5RiwDiP>|A(UFfFqz??n@BfotoF+UZ z-kmsI@p#Ms;mp=BG^I-&Wa7qZvL^rQ^G}L#{{(9yY|*@?ilM(xy^?g?Vt$6XTG$H5 z@G=1~Ab9IKbY`RuP4bvPIrO>9c_p9daMO%48^|x;EYmX?XhkX?@Jpi|i~G3RtBH)@i_L z6_+wBO$U;<3#;72P)&--yx7Q5O~lKmSmOW;hIpQi6wv8)9~s13YZET3=7)jO^; zViht$Q2SwcNvHbrrfyT&2C>sDXH7s~MA_a`FZ+_Cye^L0(bb?3p{GxNV6ysuNO%C& z-13?p9!HndFU}JwHi}9X)Ro4nWh=ZNPrplAtI-USyrW0XJ+6mol<~VP<<`_V@YwXi zX^X{1oeGZ$rwbBZLf1!E7&|^j)x3IzL*?Qr+yS0amO+>qj?w|v7oSee1FpDTQr}*V6fv zXOM22t)|f~?D&r6&CvBr_b+1<**^NLG*dTjyRqbSN&#%w;+eITuH(K8P?M?`L zbC2@8cQs3+jxwt02J0!bW#VJ8%NxfLLq)kR7*$bKk%!41vxeNm`!#v#W9ycC05h}(xvrS*pNH4pnzgN{#KGB`5uLqL>W ze6qvK)3ZG4Ty4Ql1Oq)d+T|Cn>Jd6v`)tA% z;0@ux{xmJgFC`;C8_k4lj1ADV-&m8j`nPnxGgkP*DSAI9rjHh7q^n9@(6C-xJWEGzHNxUq_P|oEiY!-$I6wQF75T z(ND)xPH##!LeNmEbYlR#V#)1t3w2Lq2dLDAf?qjeLpB z4qB*6^UR8BHAg#(ByRvO$ccg}J<1b6 zjavR>6Gd3yQg!V)VoYJe{P~F(%x2096sGD2;8JO7tUuD6-T32;mm>X&6tt%cu!8b) zPLeQ~OOp;#Qnb0;w`pD?&ZKMjo1xuHvxzq{{z@!i_L&6zc38SpZr<c>#+p|yEq`gciqN*FfwTcCCS=sEY?4UL``Vr^;L>0)Zr=6Q4rX z6~I6TLBzabDce-Xg>uDf%5qs!BJ}bK-}%8dV4?MuxlMhmFu;-HZivrE%Kt7WHQ0UR z;cRS;=lnt%Bgw%gTX;tCtPM5Z6o=kxNB!6rid|R74)9dn5KR18D&u77LTN%{eG$o< zd1+>XAmS;HBU4}3mcX0`hQ*qIvakJ63vgH27`nudLM&v>Hg$2Kv@5v0+&GwMXpNrW z!BrFActat`D0doaxphi+5b45}EYs8!Of1ThH9T5!DZl<4`+(-o37C&0 z*KH0a7Gud0?XWt(C%f%?n(QswoFGHl*a-gVR!lwC(jv3BnaAo(>9jshv&Buojn9@Ry@q5rO;_*g>L&+7xS!t$7SL(PDhF~4%e%ddj0AA zTSb6NYx=Xvofz?4{`0sc>Z5K>1>pU4@g={xeq2=8Z0YBHd#UaGWGndh5G7Q3LhA?N z%*IC@9St_hp&Oqicc52hnn(T$m)6l{Bj+y3Jk_8W1wM{_{@N>)*f}{uP%|^ENm7qY zeJZ`6A(!Vyq38nWrwA@Yyk(5GEeDXf;jN|=f~0^U!LvJip21ycWoKF&Dxl78M@jxq%FVsIXTV&qg5w z#xNhoXyhE59zdtg3#-$)wc69;ua)(4Scu1lK!1lcxBby8P zdWJ})=ieuNb2=H-T}pQB)(be)6eXIgUz130M{1S_f88t8!zX#4j#DxR@BBZZa(X(u z310oJ)e~S8lLwDfO8Jl9E$Ld@cjn8@Id4H|c`IJX*+aEmDQYD6|g9Jw=g5M_ec zf{tv_9mDm4Q+}qxg#4J)CXqBo=?0=_PqY=#GAjAq{kwZatmdk1l6ZCa`s`D)ndCHV z!YVJwNMEs#jR`Oqc1dZ$GNegC1H2td&Swvd_X~@;Vs1}yOMx%c&Fkgp$NL%lar6}u z&3&@l-DQ%o?q>LJO$bQ*D+0-ANuT33CAncP1RaC|3tGsM;tXn(k8oxf3C043jdbD} z%<9sE@fRqHHeEZ=RV*Sb6iMF-e_J|S&W`sn0!BQhFIT{5_=8lHp4dA@`|HQ=FP`4* zOOnpx8AE~1aS~(U)WR15SL2Y}Gsy(sJ8IB0aEk(^X9JVNo^c8+cD`w?@jn?RyaZBw z7<`ou(r^>q&im26h)BEkqt>}}{@r+t#!9ZQ7SM>E5eT+Jw(=HsHsR1+>5^L8Y@TJr zJu0T*OKSjezdtApOo(!p%b-JWi+s^rp`Cax;i;RyIgg@WxqBy`4F~jg;s@b6{1L1x zr{KKA*$LG)>Zm2yIyHYSWvV1-Y@{hB5b#5RVCUR#Dxx0ZEF9gCg157DHdqvrcl{(`*7*ajIjw)WuF{*nu zAS3|RgQAQ$RHcQmQdB3vj(?@Ivu+6eSQQN>VvWZgCta&S0Z{V2dk)$1$;L!@gO7de zeBxtLwFvI;6iSLP8)yk7n?~EtjF$s)?mlD#R0vqvD?hnH2}4 zMMSr4XZH#leuvrh-hV%eufZ$z=%0t@t&9Q0SWEUfO^=Dc02O1tV9`Nu_Nd1=s=a2k zps9MaZ-PBmkILT~Gvb|Poj~tCd#~t@QRm0-lln(^t;xfnRS;kRRwHliA5?? z!$~MNBKca;Aucn>X=}f(uFIPs648xV?Y!{wLZyH;U!H1G3Z?n_!5o7WAyk+mu-gHk zPonvH!&SmTD3UhiJEhAp4z~}mK22HblU8L}8aB*aG#;$kXz$LP+V5Xd7;7u5i5t?w zktffZ11h=OQnx-%umjMB?nLPNOeu2+2sAgURfASJnkpW5p-}H=JiZu=Sb0l)5P^sF zD9>5=phlff4|fPnsi);r*PUwxep>yFrI4vWh?+vL@k=U2;!? zIYv)BiqA2y4~LiI3Pd+FXa_7bYqszA!1Qq%SiDqW2px6A&f#IVQ0}n!bh&hd58xMI zh(vy8qWc@EQXtI+4jXVr@GZJ^qh)9ZPg|e0VS|r+Yr<4FY8RdmV#rYaCJlhMmvgky zWb}w*5z3RRt`G9vjUcVX1?L8cud2@J1BXsw&P7AfGsr_aM&bi~l`XDGpCxA^GO=o` zAImca7Ex1qx&b_2pC85H7IRr%LeQFs(E9sv53zcZZfqoP_{!NJEN;EMmHw=HLnrU> z%tnZ#S}3IcDOw?iz*n#k9bf>)KV)}$?7T}>ZuVIMX<=HECIGGlv54W8CQo5D)3ZnRt&EBcOi~oF)4Dba(=oN;vQ-Qx)DV zWB&-2F7!HPnff6qFI2L|TFPeDC!%zyLa!BrItQrX zrT4iz@q(mB;1kGeYv%97!xlP2%&T&l` zcPuKNX*Fn^m0`c9E8iWfN1mJ%O_BYbAIs^E6j>^CRdaB=YxM(=oG!WK)Cn7Cd!HH8*!N@d zJ!~`f$GfRJjTTH4Y?=o$GlaHL$|eRlGoSwfuo78@8vpoQv%Bj>2Sh2hdXv(bBQ`c7 zPlbj8*Tg)W`ThzZr!g%|F`Rv28M`>`!n&@q%v>F7&-bIE6{!+A7OhG5( z*``g$(6z%YivLot2%^}!sOL0q+AK3OWAUzP(Day%;G_LTe2~re(ONkA2nd?IClC5= z^6Z*{JLt;<+{&DFFIYQjOgM{Jm`yn2C_U+XrKXO;% zP)8d$O2c@<5NClq-48nLWV>%0$|~`S(`LXejt*AJYV2GJ8c1e|>N5&6Ux}KV>I%(O1@4)VUgJ zp8CEnK{e^nq$ADU!x}@+y`C{fx)N7pt!G#S3eZ?mRJ}{Yq#k zN@Bo(0iCRu%ZQ4h%!cGMC`u%#VHE%{fF1NzgaC@*_YLs2l0SjZ0W;6V57%U}kxU#Y zE<57QQ9pAxxPZ(&*Z{bPcAML`7v=a*M?W`rW*Kh+>v2sCGV=*ir#CYhkv@0l5F9E#6EHWZ=*Q(&{?fTL#UHv*+SenC^oVBV~uq2u^(J}1~mML}Ul=DoU#oh^j`E?!u zdSU1eYSUw4;R!au#yufmp+YowVMKaU zi20OS`niI{4ArN}U#T$n;Yr`0dQ+MyZK+1(1ii0Ok&)QZgaaGOZqZAAzLn*-nF#&* z{=3q}sh@*Z$f!a30(#P{1m zpR>}7phZ!Ne~xwT(1J;4{(deK7{{L;yXQnn%L>(~h~LuXj2MVpT%FwpL#(R(0Dt8? zYcQ0Q>lZOlOA=g~YY&k|fmrzNGstxg6ZXD7tk$NYz}|~h2WD;7J0fK^CX6#F=fvoT zw4S27kHc*ZtThS*sr3;^tqe%ZuvUMol<_}0l4P=m-6T9dQzJ}a#N3v%Lu=`T)?|zj zM2Yw@aL+w2DjE6}TXmW2Lv-_-fOb(zpfnkGamSQ35#=0@{Rl8%+VtnE36uDeqb!hZ z;VbK9dB_lO*`puR;24Hfpb9cIkwY!Iop!+fO1?8(+D^85tD?nNA5jy8m#}Qi6(QCr zqfta5YHqPTB4|hToSt8uZjYzgNbNJJ?-GkyCs!_>Jn!wE{X%)bE?Er-0B%gCC3ni> z=76YN5drC%GnjqNitsPEE)g#li?95XVN9mIv9UB%hYJP=^Q`60?mvw8(S(;n6A1P0 z(m3q22*gfe6gzQ=VDMN`I~diAND5g}TC&xdsgS69;c$NkUEv6^|9HM-FdzqHih>eS zlk9_y_xbDO~8?)%CJ+3j9eJ{O)!Do*}MDCCHd#`rPXMWWz!-Xi3X^(wG&=SB+OSp#oj$i z3GNHB5wrecpnl3J1B)S-S$FJ7__Jng2e7wfE)+dwz+QtAFgB1I6Kqmd-E1m*Png{i zPg>ycIOtKGxO_3y1uRSzud^(@4TRY#oM@umtiurxjOfaau#6jKv4RNI=A0)LQwI}i zA$#2bVbUoKf(eEC*WZ1*9^Oz`jJ@|Z^Tq&k*ql8Gt!o1JN*X3y2ZFp~W%j8KgR1c5 z`639=W2hl`i*wcIcIv-+EGc8#rJ=#}js2};W-SIVI+B$Y0Y3SI@m}G9U@Yev5`T5m zK+xuv$pVr7)@4)yiS}1dqXvGiEEX(??%rZTs*4XzQ${z+eVVr6{TvE&QQjNo^YU;nOUm~mkM_YW&h+YZ@Cj5#Jd*E7d&e$JI z8rzsSuk-10ixiSRJ9+2E*xY?T@TxF;Fe-UP7N$vp^4eU{vvW;iFM)4)t0>;Fv&Q_1 zyerDuF?=o8?eJU!AQgcozBXH+J8G&R(qG>t0bKC1)_g+VpLSKAA21lCCak+W%=s1o zgoozr&Gp>NApf4KCxUGerIvUF!q{$+)nDE1RAdaKn}5JfgAqWuHe#VUKoNUzuL*?< zSb(??naD-ydlx1Tc;6ZOdhbQ8I~nlLB^*GIb@eYvg9^Hjg1u~wL>4d*%AYUo7;a# z;Xd4p+x90QJ-G*H?NXsgmkiB`QKh8(0WiY%qkx9|+T3|C3Tr!t6u^#2mO(=#$x&dt zUs!f1fv#R-U+XArgBAQK^U@O_)Hdjvm7HjUq~CiLQ4kM9A6vLB64FN49_>g+C%sK! z-)6c$DS27U*aM=WkQz)Q2`BUxVQN^6(|aR|^cysF`j?~t9JBRUX!oO9xAlQRAE3M3 zs6H^x%`Jlhe2@Vd+wF|%uzeeHzUeS=AuqdroH%WEW@j|;w{T0~vo<$p9+?pEOIKDpt4F_E14Gz*v6?@4v9gvLh27Dbx48b@ApA9-R#Exh zv{_lYx>ls@d6>=}LzX7O1x5h@Q2c)IP@fwfK?Wi7K_)eRO+nR9rclx{D6;i7N>N1NHZHcdW5I-&v&1^9 zz-G%*qG5K5AO#)CzAlZ&t&oxh%x4~vfMlpCvfD%OI(|t#g4xW;tX5#Su0UjXs;b=- zn8Jf9y!Eo?C|r6=vmO&YnW<8V^GR6d8=&~!jSsgA3yq6MAE4X4A@_l1>c02K<_*mi+h+hj2*w^l)Q17 zxUL=H9F^*)C|tFRyoCxF_Tqu;kUHqJ5)?>BK0cbd*1bLN9{Yv>f(}UJ#_8CGVv5-w z8MQismGLd9b`yY(y-{oM1}Vp|G;cm%ob~>F#tjEcem3@4VSjk!ODuHA1D7O}4{FlA z7-QN?7~;zihEG&d9~XiI%AkT#3lMu#^14f~eYg2`?QWlT7(%XUH~2ulAN~a9`KDIb z4DFv!qCSKg6uH1pX$4a=&_!wY&u+9Vg7;0rYsqktx*34ePOzB6LlDt?Wx@$lbTMXY zye0;Hx$S;L$}5kiAB8hThK;)+_9nD=cXyRNv56|^e0@sw)%}zE(8Xarr4}ali}hj9 zd^GqK!_PbmA2s#aTzq!I{5AV!_9ATgcag_;Zm_w6O9J8G%G(^SO%1^G88PC)+yf z{N;TS!D|owyqV#1?2$5#BRD1dg^@)jpmWePPmwDv=@FE?^@`ZFo1~|8GS%J!vRl9c zRjrbDi4nif96*97as#UzkdSJegu!W2b!w-#lbQnfyn_>Q9?lcCXY_*!G(sJ9qVIGS zx8gcz@td)W*v%JXUP42_Ny!V-A?bj6=kUiD2$9la%@v?qe0KzE5|w&-m}0ZEk4!Fv zbUhWY(3drgd?EUax^yY<-~n=5$EA|xYtN-e-0@pP5dE~K`}aOyWp86qaUg_E}Xz@H&N9P$1SfJ!Ivj{N*^+#WX3FOS(=|6;dL?6k@@SVWS=)~ zO0?Tv4c1ig?}J}My>-5d5_S`~&9f5ZN0Fwlq{+SLOcnnZ0DC}$zhba*m@8D7po?rD z4Ox7|2UCYb_sKTDDjucD*ujBFO`^ZqBJbE{ci#bsKMQ{c=Fh;uJ@%~eJjPaec{HC2 zr(;52bQ&8)Iu(8wGj-Txw?nw`w0B2Jw2>cLDgm(l-oPC{|!qo`b zna4m58UQnclTB_0PXA~0H5U#8go3-^IB`?biQ{aCm6tQvEZY~J()ZBUQQ&060SU_j zf}+B;8tH$h$JH1;TpR{fU`S)HdRe`zR)nfF$BPJq;w1U&yUUwvHTKriCzcw#*X_Aa zA{w(W8Us%A1B;4lY%=waMe@HmFjTyEfnVRc&ewSyDUSjnkw`v{c^U*P6-Ssz0+BbC zI--vYOgiZnt3WTKn=6&>_SviVA7U>PedOcU$Tf0k`jWv@RY%!12&k6 z0B?U0t8FzjB-}uP^_6NnsOj zI4L+l?2Wk^`mSSHh=@QRVeT^KBSRt7`+D;X!>fJW@VyuzG@wgvecsR%PX|Cat%dX+ zOS(sAM~TTq$`tP86W0D7h6&=HMwt2O&E0=-ODG3>*m{DAm+hp9WuH!3PPJj-B%V&? zPEIA6C2n2wLH8M`5ZBJZYR2d$VTtKUoB!S2HAqu5dD17yjY625@o#ZSMUs>0C1f%T zCKjQ&TnPzFty6?jm@yQgB*LNmxpba%g~&&v$}0ix%T4~Pc*4+pDYLNh7*a0IDbIi4 zqcL~Rx9N`K`3aQ^K;<5DVT;HvcZ9fX;Or@(hsdF@If9+AsQ_$xH<;cqU&r{#Bg3YN zm^Q~9B7pIjlR&KuGbIYb86|eZ2(ddMR3Qj;JL_AfaiqMK=Kj>IHne+B_3-{5gu&Sq ze^59>vV+sz^DeQv7jmv6#OqajcRzpFc0#KpT3tIMXXYQSnc#|NUJ8QD2K+iWxUCc6 zXnYwMjfN>bBG(N3HzUpeTYs7D=i_- zWp~1Q5DZAgKYqpBL8uXsqXG{JjDA4xDY2zb7Mm@zn5>)gr~BSA>&?2ReC~fAEDz8> z$e78qhy_(ej%#6F6rLW5d}vV`2~w+(P>kX5PNY(Z ziP4N6CAd~TM61$>DnXS9=p%W=NE}+oLe66&cMbK6nde@3V;K4ZCxr>NH{XS8k;Ihp zmxt-pX>q)e1Lm0EbsQMw!a{$3m}iW5&*8=i_8Yjs?;32E6XpWJy?D>E{C*=>sfy`fzvTIt4k-liNSZ>`0qfZ znnmjSJhH&SFFYoDAU$$7Z_swnbZb2jP7HMuk8(J-uh%E-c^a0w+}D3p^2A6AznHRG z73G>J2qGQ?g-K8_fi6#ng$3Vu+D8+#TB`c3^ZR6xY?m|QjgH!iqqH#p4KH7GW5TMS zf}hSqan1zOsRQx_<}SNq_TUYkkN1urph?TZKYx{ZsL3YCf05|L^bLe8ii*nfwXaXeRqtmh8=vcpXEC8f; zG)MXl85-IV`pyHZh-|-X;mqPuguX{3=F0r7j8}9KhA}ijua%9;hCy?z0gFXp4J$^z|jX5^BM8 ziGbBKxM;LiDr(ni4Yl3aq{8{8q7uKR%pns|#U8o`(KFOB3diB@I~iMC;tgVC3kbN( z9;ASF$qimQ#8=Jm&nA0}rtw_c;5E$hK6k4dET3WKYVv=Pmo~`UhVu6jb_emzh)TN1 zJdbtxu#khe;tF$C3hd7Wv>Kni0j?6SGqmO{5=ecH*Qf<^g2)D%RC50o0*Gr!!dv{P#vq>&EgEK zAg1+mtUBf4Fs+n>2}~;w&5SWP4)T3*u@hC^&Le+k29)cQ2t7XzddzLvGI;~dTUNLN z8an~q4aU)Z)bB8ez_b_^+;ylHqHreQ_6wT7$MZA zMq__9$y#>1l*AX3Z7p7u5g*k5F!I0qXAo*5&s2O?QL5GIzbvB$2YqsjsZLS+$-UO? z(F`=;qdBut0m>4S7g@OYiNc%!lrwRt8{F)|Z*DibajJJ)HMOC(8rmM^nk!fTb*(U9 zTBdGea_`v)R>L+FZ+gEnW1Qpr*E2uU_Z@$+lsEPW)}E)uTdcm3r@{9OQ_SaR@Wad= z>8`2U`DCW#ZDga<{#`^kU}tZBDXUh?uFB4J_#-}m^t-@uI)J!hB|+* zs7oHmQqH3txg*$&U3AoXr>WIy-9>hRZ)u#^Di;5rmt z&Yp*ogu#9w3{Ne6E~B*cneUt%4w`<*)sgHq9>Z#i?BuqxB}SRIV<4?>F&F)%Wxdwt z_pWYxR2;&1@~nopji$&PCqt)JDLKi+HNsLDNw=?C*7-o6OEV!kPLb6S*bILMh4SH! z^3DyE0TapJ9G>S>!o?RcGFWfk3oCpsbj^)~4&4V~=^_kG#ZG5rcO1HmQK=5galXu^ zUgWN+Fo)CwJ`IN&`^p1e`L#LElywkCAW2Jk?N}jeQ5>`|mjju_7&LJ=X==xm5+l8qT<6$3SuM~ zXyDM@uCujVMld}Qh65lBw<0}mkE|L85*MF^HUwmW+hfF053~Ie!jcJpr$@ZqY&W}F zx1O-voR0YEh#$rgzne|5rVSg&OS?nm{oy?|zhRg6bc=EC!O@m?(XoHKyQ*>-d>QXS z=3pLB>_NnpiBCA5-#{eb$atx(1=klBubv6FO1dPAds_a;EN|hFxax{O6jv?rhy02w z{*2#Z#h;10p!mb!_A36EF6QK;B^NOKHQp{RTpliXkvhqBh)X8<@Y5GpH|@kE#5Iv{ zO>26@~dm z^*Q?8VMja^RrX>U8tEK??KK_yk+0@DC_8;f!D zFfY^&7PGnV-O(~EX7w2ki!~2vrK0XgW=5m}qrhW5!7J44tw4XxobiZO!5wo0<8*fJ zuPxiog<6Q&rjdQ%M*ZxSC{>uFk&3CHl!@bJmv3-d)f|7I@1DJSH$)s5m|=J}AV`H@ z5s36>lCJeFtXRq^dTyXcpnZk?>=@*@wEQ3k8s?d{D84f^UC)mn1%chi7Qt9bBZaZ} zZD>pM$#QJG6X{;hq+|Iw1!KE)ab4rge5wX*u?J?oJX0kiqt-dm-7n{!kNLal8E^af z^G7!Pf$0M{6rVrWyK24mxvteZYOU31v|!YD(MW%hsTtjd7J5c!xIFy|XpJ*0owk4+ z-9WYnoFS(rQH36nC{l-5T(d#L3L4)A%tLv)!tahKEx9tXoW5=?T&pX=5R?&u#<7*V zKV2(*9VA0rD*KoVapq1j!t9yHm{8TJiq-luSgD|dF=7g`rK1vKicq(KW6Us{-gAt8 zgQb7@3vtWXkZ1HI-vfCgp$9p5b9^8EzRc zGHz*<1i~Br7w<%6u9tyrF>8g080@gsEez#3Oz4w9L7P>R+ z@8o4^Sf5>4Y}bZ%5qmGRo0)^HX7Oq3?v{UGaQblXZZ2QOjyiY*bhSm>TKP%dS@R=MgehQShEc61E>k*<8jtp6{B0A_!p zRrE|e8@p`y@(hpOi;Ii8+OF2%|J7eKI-upIJr&c_UllN26ZebzXJy@N(~Hzg-Ew1) zZv9)<#?Lbhb6f8OV!}#(nvz;K$ysGVEn(^Pa9?qQ(R2)~gcxQJIbhl#Sy)!4^6TL| zesX33&#efSBWmd&6Ab*4(QOXpc7uPjKlmXH*%RG2#vnwxrZe*t1AX9KQ(uTu$53$| zq|URGRFJ(Azg$W1I%lt{-@pIl`D`j}=P^!=?6tDMkHySkW-jw*F6NZ7<_er-7k%&h z3{&gVDtV4T#~tam`Kz8yet2iYzIZvL&16g;*X>eYdvAcyC|krI7uh{$Kx(o9u@RK z(O*F+Crs(SfO1vk2V@B*c_|69o5c_5q#tEBH$pC)9d%>RHjES>+9|@ks+iNKf0b86rlYr_w;XYwZe7W0Z(&A$u21~ zz=Dz>)e9b#woZQ!Uf>=vHF)7lXI)ndk)b@qjjx4wHP%trNvkPDMsU!Xv5K5bc*S#$ za_Ym-Z!QN6J_ zB}_2w2TWri5rVD=Wo4abx~OBw-^uegz{JdWBST(artbx1sYKt(Y>EhvXeH`f0U||B zPcc`q2NOuWX<;E-ff0PTAgO}v-Q)Jtn2L?JlEQb3Bks(1LN8ECp~3v1py0Zr5)&$7 zhbC5!EAM}abJp9v;!e>#&?GzVtGt34-uD9Ou*DAem&$BCTm7s@8bBc&VP$#5=G+QBExCh3AFgw5K?jOKeoDERR zR>g!`kFD&iC!0zho645G zB`-#oP{H4S`_En2QD8u{Lt`e6#E=CUQz9mhU-9|MnMo9mD1CZK0lG=ZM~W zZf}3+5F7THW6iNyJMvS>h?5M()()6wfDBJ1O{(x_h}qK??6 z^Jr?kx;+VcfGVr~06O@w8TYW@3FZi6Dp~AH%Z!M~P~)x}yh>dJBli^;@WeRPXl#Fh zRAw=Wc7P~uJPnCcE3WrxQv)A~xy%tKtdv{@rI=StB_rZs<7RVSR(yXM4UZWoBHGu% zAP2v`A@;+)u(-%43~`LG<+Qi!_cob_;-L1HVi`Pf7xlNlg34+RmB_sroO+RXYaoaK zZ@fSXbi)N*fG`AUigaxpM004I&}4rFnxy0_c|tsCt)v0r{U$HSjHpu;GDXz+_nzEL zv7IdUxJGbYj8CqO6>Ck5un_@O>9&da)16xS5kw7(mCG*UglC8>G4ZkNATbRlHcWmX; z$9FPt1Q#O%b#yPVZ4Uy!82o?Wj^0=B!e3W-*p+M(+&0iqkFg4lXyHQz+R_b%v8O?v ztDw;ogNTKsfs+!UwdC4|&*BpZP3$K$&4#8FXnt&X8lYuF#+H~vqG^mmldBEM)j<7Y z7o{h%mXEcY?16nVbnWiln?JuZ(|aUhQe{srE!=(K+dDj525TJt!(%wR>~+$0?N%*VR7v9G^O7%Y2^d#y&ivGLvKh1Oty=>e?k9(ep*>Oc(2w5N_ zODKxgK6@49F<2clRmW5elwFOYAH78&#(GOO5 z5I#8O0Q6Y)bqah7r@+Sgg9$__Be_`vI+e3?5tsKOd4-kzE~j=DX3PL7CUZl8{IdvK z7I`$#R{tru3_yUVe?xAwB9#Uu-4IE6?}xVXSsy+ED);`RGKhPfpENV4}Ix$^Z##v{QUJ4=2BgiDyo zU3jcA&*plNA0e&6TCg_eKad$S_`l%y;WF~Iqcz7&yX%}|uoZ_Yz@<371yj60?5|cTOUXa&RamtRi=J*JKa5zx;R~Qj2w% zgsno`HmYzP?yX@w1c2lb=uqyhdF| zDodBv$Z-LeCQpym>uUSeyZl~7ms1Xdnx#!ai5yuH`i-&9vuw*RJO#60J2PJi)J1=+ z{%n|(E(O;xNDBhFl{o^0nIELa7f6m-MVVSU=DnkFE6QY`(SOdxZ;u`rKzGmKFOqM( zv0lOds9KBu)#_?Q?um|y<`NISfKyT(Rr#N=T8}q=PRY)7yzP88wPs$BP|A_F@P}(^gs4} zJk*co7qdEW9+=_yRmUAm=G$ZfhK0eW2tX2g-rI!+O^^z~z<0W6fogKZb_XS(6f z$diIwK!VrL1~VoNC6;b{p)2h%e3|{?2Ii8ZLNt7BkAUKlXN!l`5b>ax-sFFIh0>-a z7xgnnG-3C^ zPb+@Bi<GZ%O-gQjyC=Kl*YX5Ztp!h)tJb8ePI z4k?Kx59)SdDQO|?A|>;t@{HsiU|WN8%66<924;-Siw!inQyeNHNi^Ttff@Y;wun?j z5j5cGn%7nUSx6CbA{iN6NvX(-*8|DXcR}~@5AG(2?gl(r-WxH3GO~ZqMSU80;X1Ps z`i2_8BEoFMG8<69vAzrPMCj3^RzzmLu(`L9hx5%s9CJlx?b@WXo^Y3rcQ}kXg{`*? zsg2aVeW_%~?MaRKTOTt-%L#4PI`Sv*{+9}aB{*}&vZN|p?CamMwuydtI{eEH|3sfo z;j@D{=E)RuFguSYlQVz(Xrgu!7(~YJm`6g&Hxy)!HUT|utLM=dq3QDt*2m(J4v}Q_ zcEq`x_>7MJ5Obc}K5{|LSLoquTDV9{!%a}0uoOhDvHR%uKAjSUf=-826wl`Q{CN;O z^NlfC6~yu}i3i?L;w@r9ZtZuX%q;;VbbYS}tO3Q7`v)1*rQdQ? zFF2jQ_2)0*Kzks$8wmRlD}Mj&FTh{9&ou@@(Oy$&WI~ANf!~hfMsux2qL6q!F)qaM zB>L1GI@bFiK4G8G6Luxk0*Or=D2lzouK6p+fhlvTIuBn6*9C$A^q2-I zJp_mw#MRFermV*lJgf(SBz~CbO)}P%)CP-k@S0B2%pHpejp2w$S&NY&%myMd<^?l@ z$l-Zh{@zHecV;i6^Q&N)1c~ODZ9SHlZWDWY^vQBqZj*m-JCajdgy95{PFMh!m%b$_ zhBPUFGz;Y_0r!P;%oQrf6$I-9{qg)j941nk^5&k;CW^%#nB`?p-rZW7yt|bvd3P&s z^6pmN-mRh&dm{ztaT)m?h{%B$dw8=AvwW|<&Fj#W z{vb*RqUC?-Vmb*=m&u(q!a}|a#fikZdt`ln&o|U#ap$|`e66iGUvXHs;UrdI-JfR6 zonNDEs-QXciko9HqdXbW2oFNfwIDZvth*kR!iwJIpm2{jGhE#kVpre`gz>M7Wf4W8 ztT0Vr1Q`)M)9n1u_lc1ki$g_X*8rVn{hTD6zoI~9_jTh zBC2_$w6L7uHv)yJsvkuZlfaJ|1t`cDi#moTADL8u8WNS{*#-%tO|mKt&CyH*lISSk zq&N+~j^wqfDbHrMa8u8XtSOS&I0>{Ln2sJk2sR)E^cny|6C#o4<(Vo$jz?yqyI;;J zS2BP9mUr^`^G7z6J$ zpvIYGO$Q`J4>m;x^ax_3V}9I-^vF#CT;;1Q`13E?0i~^fI73ez6Bm_IxQ?{XuM_J9 zh~#JZL(`gStF3j^X0y?3v}+BudzPH~b-jOn7U|)941i$n3IftuA=S zi}x29T;<@r2DG0eQPPV(V}gn}2;W8pATxT?z%L(W9$TM3iPkjKzvf#{L>+Lrmma5y z`d1%lQyw(k9kuY!MlEiVyx|~0Uq8QRUM_d5a1gY$1vbqM#kMq@~g0O)!hz)7er-LwuCqIZ7`RGPXlDz(?OBh zo43r)Dc~(CV_E!Jj*I^N=(xp%auka_=>=?#?0o*<9OTIy!?Xyt#|hONr*B$^2-nH_ zi5)CZ-v(yELxSiUo8Xbb_*Nekl$5VnC{NeUYxfavJ7?b+Y4LF}ZxMfvd4M=2L~LX= z(3~+}`5#K+nR=Y(xM%vs#98kQ zuwee5=Jev$!P3GC`V}8GoToHVW8FLt7T7&ZQ@m>aX$KI9R|&g!{EZ^V2|zb5cv%>P_B--CrV=3G5MNJsMI=7fK1w#e*z7V#*TfjavO zO=!h~2%-sg?UC@x?^Q3Wch$V%39Zdzf+)Da*0ES%Sn|RX^H@kmT2&~!F;6ZT&UWD| z3KOvzrZYuPT6Be<=wGn-rW*+r+a$mr=NeB-d_P~Ph#`|YhoxkH|Lre^P8n8os%Et1 z_`SNi27p6ke3|od1>V?s^px2&nhl0W zYhkeH(4}KE2t$x5@Xl7=-Grg0l*h7nM`K3-10v2ADKvOGcbokM#Y6a4k!=sMmH@}l(&D*L78-bf z^@u4ggou{q8RrotK?O%TCv4M)vA%J+XVT(?wQ6SHo}kuCDZqqHO##O9ET%` z?@TX5B7K6kLX5saDFf#m7L}oZ6d4^iHb-MBSPmOfkHt^%OdC;{3#dhNuy`0h1k}|W z@HGY5TSb2)FzxZ;S-n&cY|uBK8)cBd9~h-#J6I5G&cj4a9_NQCfciXUNYrqbQ7mF& zVa`|rzK_X(WF!$K@(>?zAcTd)I3ABijOI$AN{+{Z?yAa9KrjeWDB7^0L+B+=(8h=L z#}7a9Jt3oW>Pg-FY%aO|y{8yh^r>5hF@zd&hl77Si5$oKGVd4t1js#@x`OH10Yo4!TwM}jn$34{E3h3{OXtOe#;69*p9&xLRMz(P~T!9#iOnIjC7kBpgIrv#SEMyBVZ zXe)o?<9ruh!B0$yLeW_wZc%clFqoBx(7~n~Y(TgL6w(-*>_KKq)-B6ZM6fi^Y=XMdU5Rbm+-n-3-oEz)~g)SJ|@#1BDr$HPk?m+ zT+VU8NXDI91mGRdkQxxPC?~~~%eDsy=V4u!icAiIoGZeep=p>FT*OOI2EfVG7mk0! zvaoYi`GnaC{h3XaO5_vA<83=4)|2lx1^)Y(+>LJ=Ziwj#xXirZWB_b{*i86wpsdeW z=+6iXrCZKOnE(+2+9nf(`3lAh`^wa`rw)=eIv;bGtuyg5BuxF&%;90hAm{`7W6E)H z1f9N5If#_o@9)DD8F4IwQ<7(U?y!Hn83NOFF?}9YxCHSDr6-v@BQ7OG>RL*Pfr4qr z7@&*diA>wK&`y$a+zh1KQ(tgAo-S)a6ait5aq7W0&ks|C=tvW8UFYju`CiI1_w+q1 zJp*bkfLB*QP*o(59fPXc4dmj3{0>$4Urx~S#G3?Hfiyy@=ZSL=eU(R8-9&#M2w4J{ zKNHD5Q{h3WFJp`)AT2#vjIY9F9D&S)vQ)w@`0^$UgQlbuBIlvpKa!F0kfP9G8v(f! zCqa~G>ElN9fzLi&{CX#Yl6ZG{bFJpp5j%zJh%}9a*qJG<02Qp}dB$P81$S|UhQ>tC z@i=lycoyU;#L#!SS-hqZXRLp~6=u__@&UJ47lOZJWpTxfH?X+u0>sYOvE)j~7=vbl z(MvoYa1yl%UlXNvqHJuFZvJ5T-)-9m7P;HD4}ANF(e`t>z-_wl^ogaO%YBHkdfXE( z_6b~|T;fz$XAy<+G4Y5V<}%{HaRL=d3LKPKkLlB>Z}aLLWa5ah*q(no8!*IUK<2w^ zWopevSobQhjU=riK(*h0|8AmBn|SDNWQ`$|4-*M>WEqiF;C?fi0+%uIehH=#187jd zC@3zneEPSSH^JSRoWng~f(G7g?T+WI}H-%Jy1RPEvYN`jL}dE_RxmTnhCU z*$$!>&-Wixb&{DDqn3XFE`|fYLg@;rr3V1ly)Pc2S&$zjf|DenP{G66^|R{lI_HZ{|1^1kVRoH>?EP zPP;?lX&X}2cZ&S4ES^g`_0g4w+Vy?!_Tt?w?v2fpd3!-Y9$6hP4?XIofR4+NsKv=V zCsMNtb20@RkwFYcB7FABn*q7`57ZrSRT;`A^JaW+X-enkwsQ`PWp4OWq=)Wf-{Ei9 z0qyI5=RGGY0{efM_6WZhwFm)2&d;ZhfKn((dd|qnI=N>ugCh`9Y)2+vFDPaBJl`T= z73Uvl{EU;ht#`9!d_`-QFq9y(QS`yj!uBQ0Z@A`Y><77)gGz9qn}Z|;)2Z;J%yXg5 zMx`WDbvI(d54w9{nf;6D$os{*z(L{9&*Q#c#SvocBT9d@^ub^O8%eDe<}NBY)d$vX z+kx$m(IhjYDoQGHML}+vCV-muCN1eq>I)5CgcVU6YT^T=@{@s?B zMvIfh+O>Z#lO!N@`*@-sNt%AKKw`$ZzQF(d1Nrq+QFyJ{P{WmcMk@4q%17fpWJmzS z=lP*`_tvohpE1F05i{lAuCM8dHXeU*VP~)6zr`x_SBoni(wsk|Jdl6EcW7`1e#IBQ z`|a_>cw*L>C!Cq8#`9>?MR1_hd&2G+{z!ioYvyOqbKPE=3#y$f6;wNKCa8Aa zJlE~iJlEOp_1jzIvMwx#YrE)N)*&$}Xnwt2WUrPPh3Wn}DhlE$^_<8RBU&Z`^BRd^ zf&gZ*Wv9#mZ}&;0uA~o+lX75^W6tJ5O3qR!tF^ia@iI;|nJ*_UjYh4tg!adb5qomZ zX&-+=4sJLt&BCy8ktG&&UW%LH*5?I3MU0XrNjg8AJ9)~pXzFaCfQuS!UIs;C$=Tvc zYN3Zq-Ry8VG?OK#tFEc7bUEX6xC%O43GwUOIbgz!We>um#$AR)2^lE~#tm7kkeCXv zZ?G2VrKP)*gE>C8jn!nBFgW9Z zqDl{_8H&0~I;~WBMyE_Voj^n2TI4Lpxf2ICDUcB0ooItU47dD36?8QejeRL6q5Y?x4+O%!JdCk zFz-4q94PBZn)ZU15@ON>iE)(D?!>Vgjp~`S^p*Rq*2u4B?#%w6!-jq5GGXl&Itkk4 z<1RomS{yf2t?ask`b5=Ouw#-L4evIn80m{;ChFvq<)i#FsV#$lNw%z3Qwm@hV>qe? zoK)Zz{%3x(@N(u4JL^6*EEBeP$)|tGC;!a9Pnp($m*6-Lx<7~Rv-eBO&DU+>WUU?o zsT+CU;6_C*mq_4{l!#xf8jkD2VX%U_blgA=Q$X5O$o`56gjP|sHTQnF{CM}~{v}7- zPxo&-{IBm;WxU_t{iwR!rNjvw$^Uen_l7igAriWJ3*=vK>l39gm8@3A&QdF5 zCzqA6lh?}F$!lfo1I|`8%jtP9>|7HOzUTD=&W3uv1ZS zbm4N6U=%NHxrqu^7>;kOp4GRkS_`P%-lAx&9|m4+jlrAFqp4xdTA-kF?xVk2ndtBW zw{b6dGDr~4RHXj0iL?(gP{Ls?ijXH{+X~s%gviKK|U6tA~soyO85%Y(@ti?Rr9gE0W^n4LtR2~Lmm z&Hh}38Qjaq>??3VAALP3Uw{bSngai17zFZBM%2mo=oPoN(q6q=Z`B+1rY2PiWQ?W_ zOTo9|n|8C^>}uV5dJ%uVTD~HDoi>Ib{MTBI-1s~*<7IeX@KB9DTPj)L2{L`IULn($ z^}R8?NB;c}{3KOGYLTb}A667{!>cHhfhI>;wAx{%@UedmOT(lp1y9?s7bYwx zDfb+m9R=wvaNtM@gk=MZkgUaQQ_F|$h-4kXdBvS)U-5vFQ3G*@*I%{Bms%79#Ol&$ ztTX62FLgKPCMpWKLTo3LN9RUoIzzR0v9{nd=^?vr-HSz~Xz`V`&Ehq5)_*@(OnjEH zT{PEQ)+VWW^F@DS<{Q=LQPz;4YT=_3|J{iH;*q%(MCQ^OVSMm-^5ooD%Wy%1d|22m z6g0e2^Bi5llU@aR606P#@$JFn8AtuSKiaV1s>u!U@oAif%x4J zqi4k=G3Ws)VMR$rUkd5=;Hrx?@M9nx43ps*Q9ae$3gV0`*c7Gsd+L)c-k>`0v7saOg!2CKkla=9CDhrMeCV7>L0y1x z%%}{Yyi9_BdSxYqQ<9dIUC>r>Wz;u7sG3wV>qQk^w(*RSF2j#h2^B^nd__$D9*9v+ zb9sNZ79Y@=a(ACB8(751jWItter-=XB!za@9)=6WZv&g!mRr zJ9g0Y3iLD<_FC;#TTO3!CSJ$HKw>f7^zv?L^jHpxxRYlnQPkbW;v44D(94dHQuhT( zDev4ZU{=!;Xwu&~PB~5C3M{B|9490oisgTVK=2k|nUhS4MckAFDwPL$tXC=jiz^J@ z?#ZMOnIw7c+O#ledf-gB%6s+cZi#SI%x>}x0cK&DW0Qf~w2?s9(~@{BhD6@M{J&ia zS~YVMN#kXSB;Esiw`fBM6%lEVi3?8e90gVQYLH&bTQ5ovS|Z+cNggwgjzWp#gUO3FT9<2d2OZnAQHz`;acwRikf@1 zA`Fv_zd6bb^WR5~Mb?rjz*!Oj9^7u<@Ju~F0_j{#iP!R$Q~Xt-iT5;Gj7AZU=?BO2 zLpt3tGG)LE!_p-zE&~2BZ4#6emLGqRa%JQ(V^0(X4;@_sc(O^ox=U1Xw4N#~T)Z+z z7dxgeX^?d-aQD>M!z##~l~Jpyk=DK!Qkx))Kby9`s}#Xk#7YdJ*mpyGVRwuWPo_v{ zBRIei*$Ih=>Tn1_p2U;@X#V}TzYkp}nEd|RKPvc(EWXDYHi!O9WrGNJi>QBuNQpA_ zMnZ8?`w&75$S zc(5_r2O?$KR|PUCZ3z)Q9nFl8I9Zj~lvs^1F?&^{qc1{HU57UtA&N_={?}8X`~#wb zndBKYzN(mZLmY3%Dis$LJ0)T+EHpB~@dv>+k+E@0al$ zsp95L@qV>ZW6mua#?)aD-Nc$*$DI}$N@V@Rcq{SgLIlX!f`9yeMijk8%a{p8!*YJP z>J>Yqcto;<@fPQ|ona1P?s1Wx{wsz4!vg=eX+Zy4&6SE0{`~I3aLKz0SYguw5 z$|hviA--T16%l-JDu92b#_FYn=w`BTI$kv04~Dkm8{V7sh2_8hQqw>bIlmkf1t z`isxWF5t?Zl#S}}p1WIyEjvnD<;I~Mup^de7>KSql9iI1YRZBdl=ao7oo4ssu+chd zw~mk6-NU1kW^-XlX(-K7mXtR0;apq5(LgYER}Qdq*))9#k1wD4;9hnT~CpQJE%Ho$jCgbnA#-1 z=5n+gRJlTmiIxvuA$*J(f-mTw+*9r2!_q$3J4C_f+$mfT>H@b}l&Zs5Ir1x+RPq#f zQTx9NV^@D-gT&kOn>*1FE3(0HC~h1iRF%BznQ;Af6HRz_n%sK3M{Ymg_dqqikJRT5 zk=LVaW-FWZCYAUCxW&tY$rJU!<0d(aY>L-HWjiX=t{u24Uw!q_vt&{3&d;Vlx*G2! z=`FCQ1>&SRsIVHgoFUbDo3;$J#ME^~G#@p`2xNbjNIXomqD?rhMDcO_0bJlhOFh}t zWTC0vY_txKS|{+YGC*IByKLJ=wM(n4XZdtkM!4?bqMVzoSB&L6CAhY@eVsBI6*aZl zo-gPq>9e6Uvod@^N2PU2v=hxW<6XuqusucDiepnXCUAf$fU?6oD?$X@@Pqhc=oFM) z9ngPHz;NTv_=AASmWeCozc|IM^w%^SSzSW#jf_4a_(rj=Lb%8x?w^mPC<5Ggd4Tjt z!k4Z(@C6wCojNYZ635ftMmGmyIpz?)YK9L`mAOuPi`+u1jVdtF`7qE%UnpcVtob7$ z1jCSZ94+K#s&yQhhO4^T2y4la?|jaY2_Ju=Ca2Wv9AS8+UnvZ;`qAk7C%7Q+9^gaNpk~ ztF4R)w%Rkim|&$<-vmpta4!kw;oc0E*)}=&ThyVCuIi1xQ59-{`3fH_mAUY zlf!1KaoB0kB9n7{4(#^qjqe7=OG`~SfQ^fXC+x;L+w}dPTVfL3#ZTq5)o6b-_D91< zQ>G?aaLmQDNd^%WW!s|Fm5A&21D`B1hJW2!e6^^uD({M2va-T3esAPF_kz9vALa|U zcW+y(VVrhHeT8Ax`J`aQ8&NM(N*3`jxzP(Z8o#42&TUK+F+FUx+uf6H=WrVeYjXkB zZtL{~RQD$5qC5JzX7%vN?J|Gu97BNd);v0D9UiafEz|9EnvG7YdD1#*;63=HbzD|P z@N)6M>0}?SFXkKoROvLPN^b#;iQl2j#`BBY^=Z#(6yMxAb-PE0jm}B)XhjR2S=sVp z*6zlQ7k8kw8r`G4A;)J?rXkm9H#?g)*otZn*z)W$m#L4ve#oyMFsFaVamU^xeQ@>F z->$AG$-rA8y6I17_t}Q8yyv)za!%OB%7ZAJP+-r7?NQ_4eD>Z+_po_*eAql*A-4BP zbbFg`^E|!jd*kP6(Nd}BOu+=zddMN%PNt)5-ehoK1aZHnPo?2l$JP7tlFLLXC%fx@(7M@KO2@rTWyOM4z5$zC?d4#!X0(uc&Vy;{J~( zs^%+>EfDi&28!Z;6e8p%6CO9jll`ieWc|eQjy##9w5Qw>C>Lu%%LN}OnOYxRb2v0Y zm=FHMAytuo&yDjeS?(Vke;tnscxVyW%J1p+*4vRZ1x;R|E z-|jglRZ~f)r+bo4Dm8gp=8EtK<1|q%vm?TsdD|=IcjSr-G}nTTdEP%;5|@8_TN>fP zfei!1^Sw&%Aot^|_%YBxs0a|0dZ|Urh+I&cO}h$j&(4GVY{(tj{&SrN^u3@dn2kRu zrpJBkkVh*I%NKlh7(c`5MUGDuO0v()kkg}QK*Za>JBAAGnW`blcRBevRzB5Od(#qR zYxYUX=~~utAE3*e3O$JoGw%H^cc=WF_9St?`vTB+SiDs} zJAJ|$mp0FmO^x}9H3pR9qu$wG?6zFRmBuCEYijpwLn^fwNcYOq0YI_VjCdS-WU+Qm zQwykILbw^`QP*Vx>9+?w&g8Kb8PqUWr*tr%pow<=zQhP*Gjv9}o`zLiaLraCLZbJi zM?y;Kvj#v@>(T`Kgx8X2pS9$9)wXwe{XnF4cQyY?|9UX^r!{{6YFg9I(wOMBZ)J;g zf5FnqV(SI&f>&DSc%0+pp}QH!d_@jx+FlSgwQgJtfP8Wbo8b}cc^z)kA$hW+F7YvuVwW1I#yrOG!$}8OQLytCChE3{rCdi?heZ4xUMcdcus;dI_f>H+Uf$9jx(d; z_Q@&4MpvfuyK)1hJ)7~`9WIJrM_KZbINs)Qceq9T^0oNmUhpZpc^GDC7ygdYnGmh( zql|+U0@2AgpunU3&sRo}T05yfG%Z)~Yv++j$RRHnT>%Ku;X`1k6JvuhP2YPq;NUam z3P11@Y{bLeXZHNqHD1_{Pzl-qE-NcL#m6W_Y#{VRHnOa~BeD8sxqT{0Q*vFuZT_$>`D%FTY>@! zyU~}0_6zo>@00pXB}tEa6QKn=klgFm^A|;z^q$jFwvU`+|mNXIh1vS+-2?ehj41{h&(1!ZZ<~MCjM1F_j)QfX4CHdU~z8ovP zvU#W-v6V~H8Kq`%7|}5^vALCdO*v{e*GYz81MKFk=KDZT*FO{JIJT0K(TU5BrTn2GiIf3$k+7y!>jBomafTbn z@J6B?3yM{%tpawka$V$G)<0Q^x>qNsh9l*-XumxqKr7Z`G#lRhn6OIWvpk&k%IZ#>|n9Ba|WFCxkm zytVw_zNairm+L+F8fNT@|o*)d}6w%f@N(7g^+z(cO0>n7W#9TNe8B*UqmSP z<16?ehMS|PIZ%*nN-9|h6VW6zKZAIKBIvC!h$H=59os#>7&WvRJp`JP&ox;CUGGf*?eCeA)HOn488To3pmYG z<^6I|Ud5ydTeZSwgkX+306`!GEvS4j_C9 zf~+GdM#2k3TAdMQcu&C!$p3S)7C&T=tksnN!=e3cvkGmnI&PXgAQ+V=7rJO{7XQid z6ht|CZ4!Ej%*s>iVyCSDzsL8IzNN7Of9>3l`3dwYxONZ*&88B@S&fCAB*^Y;q?dph z3SZR~_^g}oUU7E;wV~;O-dA%`M9~BLZE6rCB`}x$c+3F>W$JqOkDERIZMzFniFH;* zZ(JjcOuu^jty7O8!M57gnrm2EU8GzvEL58HL7hb04izPe`0qFmq>vmz`KP)qZrc`x z4qn2+5JL_^nqaD)aR1sfrtzRD{``t)Obf+7K((q=;I=LiUQ!xX02D6X&rkQWD+{69 z$G9kDTonjb9L!1n^0wuE97TLZOkJaBMF@tZE?9my<{DOo6m1q96IojDx+YOJ7#Owk zpYLEqvi=Ur50zwo zK!cB*Yr~Xl6jP5EqwJ{mTOV~l%dCRvx`EHr8u`R6R*u!QNYHbP1DNtid=;D{J zs;N{cIu8W4A(Qvz{_D+R!A?bnb0$xh2_eFDrc8Kwn!|9t9a!g5c;J6sD z3tHK%w1`yTi8go-@g9`ljAj(EgAM@GsOJ7Aa|NFlGrYfO-B1&#dYLQEG1Q!Nk1jI`1x^a&&djzLe0w z&s-HT0Ls$KxR|ItbHrgozNokhll%U5I6X=93AP^Xq18aWB;5DveB6z@SY73CB-1%t zSF3C}_Lt3qSFjmQ%6$m0vY%S6+7*LHb}9dmlUnvhFzPJDI2(orlT0BEu(YOD4m;6{ zeGAswT>elVKNEMRm#EJ02Xr-|^5ccdU$KmIDNS)b_bfT}NsVDz_lx&Y?CN@QggJH;cP7)3o9S+ zRn5=HX+_HNXlj+jC3WX87UkcRo{pn8@U>upRbxzZIwBpo& zMC%flb!)7Vm&%!gJ(x4L1D!}QR+Mqw>EtY=K{_iu{j_~kM33%8uh>X2gxmmTNQxG` z^@mTBCKuZu8@Z0BTHG31VahZ%(yeGjX#?f1{69m2u7*Y z#&Rk7@M5n=NNsw0PU=T?A+N?W4d4BbUV^ahoG^cbZGfGyJ7wB>faRnqUK9n%6F+1r zQpQ-lp8Pri9Z2llpS~Gr&{pIY{hHd|P3AfHI9!)Fmf#-{09)bq1;BkL7VBc0b~Pg4 z#pdJUK-AA~H8JDO+C!A>m}?J1ee4 z^y!0izvhdYBElfV$^3TT#yX#l`b}cjxc-m0B6%1ldEe%I=UU*8!liKDg(c}L`8gph z_m#8=G6loNNMN*^GY%00^MlENFTE$<{k7qCpA?% zUY~AsXh|JGhnI6J{Lp1NvShqxC=CC+U?OT=;Y-;2-v1Xyp*2salq8r*s!Ms>{YQ~W z#!7ova;hWl=oN>eO4hrT7@DH1NJQa|P|oV9`*)-i2VlwKz+X8lcSWbzpQxuj1{yZ` z5dm=h-lBNrEvM1OlH02@Oxp)-zaC@bX}`C`*dRQWYWryILrmlVfd{#Ml;J3sJdMw_D54Dc9(vssR`raKpJ zKCb*;bq4(UFu*63qfyUPT<#+=V#JoE47sa=hg{>|<`H)c%(@1`Jk(h{2pJZ)RXOxk zo`^rn>)zFO=tr30hr?-%uGyEZQ$xs66Ufb%Iuif{@_sk-}sG{MrWS8}V4lp6jn=^tJ*ba}+u+QVBlbOC-H{KB}k(+ye8s#a& zj*JrK@OxHBb6CCo#k@O9@hqDmDUMHBEg_AFhFiuK3KOl7^Ydp2-JG$=zTJ>H8ElM3!AcM$eV>hp6HV(zP?4D*S(qM2 zFtB?nwdqz})#aJ4Mi|w43%@c^C%y2`!vbezZkk+6RlZD`OShJ1ZHIxH>kaP~T`hr% zLAKm)h5C_M8(qVX$wHKgAyk6Aq6M}Tbb=B#(>=a|SVTyz2!&IbEJg`wAJcnfMS9T} z#r<*{Ws9^?F?6^*e6jmXCTT_T-=2Jrlfe4G`d@E1>(7~9!#{jdpYgC7e~+f5!$#V6 z`vl|L@*UG+9^gqlIN7rJhPqnj;Y{e9iF?ZG$5~fDAEBK=4G*EpGmBFf2x1)QseYjv ze;Z-whW0Ru4#5U3901|Em$*HUlqZ3$Tvdng^1La(BiNPtS*mCa85TaAXx)rWK7haR zZq`QGAuWH@dCj;hIEuF=3f|yqXm&789Ax5<$77EQR{o(KUsbX*s5qN&vZ5kd)!rnR zAxBvEp#6)i;8`Sq14w4Cn=%CBnyLS(0%b!N6kCCGEOQHqq%Bmd1TWc*3{YrAL2f5i zIXFEmTV@6L4b0Yulw1>vC$MAyIDkER3hW%==qF*+vt*%A8M|(FYU}M8@_af9hwY>Jm;yBpu#?* z+*MnbBB{g-i?G1Q-j-`=40m`=geVdtd|Q(?snC$_fDb9&xclGh;d`dY)j)2|damq|NCngIVq|w}sLI2j z@)rtBiP2DT<)Y7@4`ROup*~2d?Bn$<2j5;hTMm8+VFJNa7d_vFF;vKrdMQZAYY@Rh zE#Kk<gr_7DRW#~CG|yO39`FvPKMiYw^~{Vh zEa041Uj%EZ&%X#Q@*BTX_!GQSW@yZr*2cHn_i%#|ZEK!n)2XGlBI;ieDun_HbuQ3Y zgfrn4MhU8`#ZEPKP%QVj@PSQdX9WQv|_K!A5^OYMEE+IO^|j!NC?e022UC5vFBdOkv`8+Sk>W^r_p3&~d< zUyc`rPgZPrgC(+7PYiwWH_aQR*1ped%QyOgJ!{kflbFo=!DJTU9i8x-cu2+b2Z#kT z-w|TBT~|-angAKb8~%H*Rx>XywC+>l_V8}W#&GYPd=mX@2p~W(@4lPcYg)`Fj4R=9 zH=ROYT0;qH@Djee)(XK?Wvg{{$FcSU=N}b*Oatq1J=cNIP8Y-$mQb=j&fA8HGqcce zZ?h;)IgX=~_U)x=D=0(p-O3!R?GZ86jVE}Q6;UvUCT;D^K3 zjJX$B9;CCmCohZl38#{x_c+6b{OjfEho{T%V{fT;w>L77XNBBW?~G`*(erbtmDR&M z+qlB2m4R#qR{dlY?EXhlBTq|0br&6y;4aty=HWTuAb7Ci}PiF)nE3uV122taLl(8-x8w@1o&53X1 zgaJM+qaF&?@0tD~nplM(FN&<`ML4hfFi7Yg>oOKXBK|%(ij^W=KPLMFq zm{!o^=@3f&R}K{VjOxLFF=QG}pJ(lg+g-d=YcOIUMFGY!LA<%Ow@wUZZ};^9Mn%yP zn==j@4y*%ck%~Iu0TEv-Y;v(t3X89rka9~tdOUs5(I^2ldl0sud6`1Ppi9fe z-+?_ex4CPx%uXKs*P9(HoOV2M6@76r>Uhq7OK~vzm#a#q=_w@)tez8T3mgIGE2>eo zXsoHaCie0;^h{^%cWkYg_ed}{hTPZSlO_kaU@em2)Q`kUWkRrB$;xy=1ETd}%H-`# z;-wkCBM5z4tzOgrU3A ztmA_R>};G{=-?q%)X@|s$c@g|L$s_7v+nqj&%yDM+X5{x zgSM`2cIDVhtt&;l7K~&9oDl!YgScr>N^=OFM3HagB<0dj{}S4lHdq}!;ER=70GGjd zouX}nTdX!P{c#h)cHZw=KIU59#fUC+@ZRx@52&>2JTf&|__1>is~(~>Zi;lg?~C)V#)g+ z^62(3J%NE|IANBqK4~tAZGMPIi6Fm+-G@{;p;s^hRqS_`0jc$KBuC#7bpTkUV~~}oK3?(7~_gwOj0Vi z+?*g)?q!mN|6G;%_rZln_C6y+X+wKS>!|KKeO}-XKA|YhJ)$kK)DZtAw>@mwtnm}& z@jZA9^hLc~*AcC}_JnoVzAj)flz7b=f)#5c;{f+#M^zo;fazqxgrAE7KeYZq0`w;uUs1fXP4iWCmGZR0&C^QB;6e+$XEODUOxk_0|`TQN& zmK>MrC{^$ri3yB#w@FzJ4Wo43#UH_K>VViW?Xq+S$$PFVXc&n=!jUC#s4+KUT7pXcOEkB4D#Jj~ZV^Yb}vGdwGVs*BpqLY(Sjcojt zxLvnt4@ERZ9vvt5=|dnkmx2!13Mk*IdsS79|Nffx73y?2%m7cWWE6 z6;OzvfN23(iLD)vZ`mB-AVfLPA!KVGY7wChE-)>&Xm&T*I*C2wFgFm7MlFx6`Ks#E z;O9FY?mp}dc2eeyIvCYegLz>NlyS#X{eIUMt#Xjtg$#o1DCodq1gAS-Bs!Dh7!ing zq;0>LFywn0k6}na1EdiiHaoMz8QMyIP~nRZeV#)7u@@0#V-!zSNw?q6=Me)fod)}k zj9XTT460RoW}Y_7rOX?cnQWDC{yifcSIfN>(T~jEQV|03=^JbmaZ8)MB>;R^A(-Yb z4<3?p8){clod{5cZhnyR{6r*~sqrZKdkXql?UGFC2V=G+-bQI%!HyIi=JZ5WnQAsn^o~nS4%{t(05;#sIx=b&oqm}qt zd#;-3*oF`}2dEInkP;eMmVrkCQyneG$ChcRBO`Et$;xQk5vPy^o|N#yqx_k(+$E}J z#PioT7%V-a=cK(*L7+8sGX`kz{{8k4U6Zs!ZlNYpuG=XYx(naZ zWVPLJvSA2TG#~P44g9KB*}HeO6ScWehA;FNv-V&qiuNU`GIA|l|KAzGLJt`A-{lbu zjA_V3GbxFLM-G@xMT038`SK}vTIGpm3-gNvZ!{gisZ(?XLcD5GOSa`r%tpIWD zt5&L$!9G!aUOy3iOYpFpCf0DFS(s)l5QZkQb3=Y%etz$=O`GIhQa8O=Wj_Qe)QD>k z8N0>|a*IF{LL5ikQ+0Fs=+Cff=UEy4jwtl~?z-Le`t$Jf=J&2R4PfyoDjm$8d`|}C z;K0a8>}_{{-?e!{@Pk(e*{U4+SonBklP}wW5|%1_=4MWZ$QaBT=nM3=%1agYf3Qq< z)#xOq#jhbJ>_ug@ww707`<)1+5MMDt*Y^R{ulJ`KSrpwvqZ0x!3V^K%a6uGm?kMGd zjKrSL9gA}+kLcT;u@z+8Cny#!`F~!nOH1`vv6@>P(%;fCKF$CA)}WYxvJh*AsElgn zRMwool1MPtpHrGtGIp%JBKM zqGya1O+$->NH4{$ZT|+8JYFo{01(w7UV4~&yAF*k%KT%0SLeoO+_TU_-iDhU&d8yxi)-wybC&br){sb)(A#t zj;l0}lvYL803aR035BXRL$y#!FuQ`-3`^AN1}GIPrkRyW{Hg;U-iR|tH!Mb1D~rD!pa=x_}2~Eb04hQA0u&RWcKWUXyT@(Xgv7@2Q3CCy$DdZ|O}&Z(h`? z8o@hdtE1efq;0})1+cg?3^RGR`bMCej}(lGhk8uZZh;0IQCzAL=mwL68&u&-DY`FF zHZ9KPN)FP_j$eqfMX3jw?uA^AX&koFV>XxFZD;4twOeriui#Xc+2IFwEHWsxjBYFe zJJ6IGVjZstFfGmt_U(GB9p3$P;1dXzn^AuQWrv7ObcJjvM}0U$7sd&RY#1&KuA3xq zXmOnM4k++7+1d_6bKZ$%8=?VH1l(v2j#r+asS?Q7zXVHBSIMe`&y!!Dp#og{(re!> zAjw$Vh-FP8S%Zwy*Rg^gJ3j9KSwjt|gpqgYMF|YoX%`$?0N_|YDIuNdHR0|y?PH)J zd~QQ2jjLL>d=be4;`}P)d5Q7sz3W{8*F8iRFztixIn4p4_0UUDS8|)nc5=_tq$U~0 zGVw-%omUByNr=tLjDC0`b7%@iIDrACl_+GI72;rjnK#Xo841_BSGOMjT1G9=0*qI- zPykb|?Tm(WoRAvw`GiJ5t+~iA1x^PwA}`^lqe!CCMS;|y#>t2;G|u|Jh95tJ zmOi(tZfc-Na=n}jV$U#c8r5EqXgF^nL5f3q3tdlt{a3&tF0;PTy-Je^%~o9cupu0YMR2;{LdWcAEv|S`fsGp%>r7dL# zZj-?b{d0Cv-hd# zn+rDQ^^O%l8QRAR8o;3nvDyzXF!}pUm^Y~DRRLCd%p(RzCi7h+ z<4fv|HXB42pUHJP{2!CG#ZU$GEl!6>S;isYMNl{$DFzI5Zy8b7GsXihfDTLL_0bX5 zQ@)uc8J*q@7hVkvS?L4Qd$dw<&JU*<=DvIy|nr%Xi43CnALm)Bv#q-ic~6yI~1 zK^IRb=;Ea#?cvqz^=Bbebcv5_7ARcmjU?GbOvkW{FmSx4*mb=#=``)fH}0g|P-VuI zNHtk%kKw-c4OHYZK zYJ+3QnK1;kSevgeqVUQaf^;FWU`7^fG80nul*7{Lg;F&2BSYG8IyRB!4q=KwQO)=y zq_o|F2(7V<$w*HB6o}X?If$6J6Wl>(Yslq>@azO8PMv?a+Aq$(_oRD4LH1h81ZMMEQdKiAm`T)SFl zDfvu`TfmlDJrwSJGTDa&QiS(cgG z*H*Vt21XR7lA19*(O7z-d(qLkNuTQf;%qvppG0B>&(Rzuvl%adm)`x*9{2DnYwnkTB3z(|* zFQ1}K;p+zagsljhxLV0SbIpkcH`Xx_QXvd)3;|2VKy1GX;X&{oX^N@%Z&co~R5XC{ zKCTM$671)S+<9Oa$W-aGZvMFoCn>I&q@~4{^>nlCzH^2Jc!^#YAXBF8IUeM&QodaO zt%=@O=QDx%%$o`nmentz*#ca^vWZi5UoV9XBRJqzrZ}?aM5)c(Z+D^9@cdS6!6?FJ z)d4n^j7a%%AyuK&hZ^QzTQ9FSAKh@0{1O1qDm;vKK=pfkrWFM?SAaTtB*z?|B>wT) z`&r>x2+m&Bhdsq2n#@veal{=qh7mX|v!5nQr6?CqE?C4l=E}9MMuxou>e`zh#MzY? zyjENA7jj|(L)JAEn^xE;d}SP@T5|>@TLO6CcZew}XIP~rPQdy$Y-M~^qE(E8>I653 zvCpQ5S~+L|{Z$<p3*F9_7=Q1!>4yeOA6Ps`R8i;90#*c(VRX zA(?4dO#|8!8{iPMvDf@Z^{slzu;pbVTMFI~%FYVnQ)|NJ3v=XRo z(|i*ho~f>tg1+pyjIK~KplLmJ5Kn=lzc*!yL8BB4Vq|gxQH%Oxxr2D@lGyh319LEF zBzja$Kl`aIB)9GP;#REPW5qJsqzPPV%5H7)0v!9(EP293`ohsX!?8VP`L7&qNlm7Y zvXVXNPI{HWid(>k!aNSqz%Lkr%T*v2LFEh=h|pI6<}vUl>8Fj1G5OQ7^B=gb_8uv& zy4KG>pZ1k46Lq0lsv21Jb1y>guAcfU4WZ75pC729nNSvcv@`WmU>f>%W&$`t?J+xY zlTai^xDgf$$LGmm{=@>&^?g6@c9_Zcf=e3ye1)Iz3se*X4cxeN2XIfO*{p$`y)`~H zArHj>H(3cgW)UT9l^L;K(4_}%nw5Fylf^*V-G!2p~( zF;0$0GzFN!^lWqohu_>7^w*^)$@>o;e;f6pNMN(ge`YP(5)^jFd1KK-Y*@e}>sasc zfN^N4(OJ*bbOgcA@U!oPGM{RKBBIkTN*AC+g&L4epnNxq!3bgz!hwoYCR$H{a4B?ZP6nFTU`J6FxTMgK%7bHpUrk&);b6b7e^xLErv1tjaRBf$nyJN zqy)*us@@6W5Ng73O~O!F)NGSg#fwd`ofxMLB)^vWvk6mc`&d0dfq#so1|n=VtF;Ge z^*VGvfEMlo)w7K>#W%KfaOy-HzGbg)X4yUZ}9mLXXSIxKkx z@Q1#lBB38XqcFT2PCN*^nL zUIq{FS|cq)-e`C@vWt6J?v_Hqe=O!BSL6r<3Ib990Qnz_K|@3TW3giy059l27Mqg; zkf!390N`Q&zdcj+(j5>kKF%y>2mkk@4O46_MPw?0h%3oy51t021Jaq;md8Rv zqTj0%bFHj&%Pu5{CR2wEBn0y@i*~8-w1gf z=ct=9_RmEoV@LS6le_otsUrA!=caEyO)F7)f#BanIsn$4mX5Q@Z-)@%>FL* zW_wZD;XyzIV_3PH!a7=+IRQOUTRGggKv>Ph(&~CKK06z!{VNcT6a+{;vp<`xmVY)? zM?#3VmafgXJr#M@fZIJ2=AfY^Hp;7ja=nX@;oPzOr5osccy%6sI%-jOj%-HCw^o4f zcW^-?!C);=cf3A*qs{bE!F!C9wZyN)-X0E7rqIq63z7fR5W8QdN-?Ki)TiNOC5 zvG3mzx^i7Mwlb4mP`za1zmapd4#qNj1eOE;0H#Q-4QI>=X9-^yLDVtFyw6ghoD9ty{=~A?=2Fl6<{x zJ8ne&k+ z-^VA({220MYWu$N0>v=ODFmX?%HsY=@mLEg8oK{#-mKQNpccYEnYc8jz8;%=S`l^Y;Bvq@YR$H%X(2-VZyZH&#nWbbO}@fc_^@ zAEqcY=Xx{IWExNwfvi|qi&A1OY#yWKNGb#xhDJNvqtueGkjD5X7|&)*q{Rck^;{tAdg&W$`vu!R*CIZUI?oK0wypa4(%-bK)hV2r$R zdnP zz6mbdgyT8*zH$f$w2(jB7GZNnSB^ERogWmX4=NGo+ZnYIdCE4hUm&x{q|ofU!8dtT zabejMsylkh2%kl`iCAQhh+j3y7$5C=_qM;X#P3bj{3YkFtvKGBB(|lgoI?_ZhRnOt zrq0DIjwW?r5S#}|kHTQexf|=L@llk`!$~5uNcbmzxutM~WGWa(v6;&*f@dS zdr9m~6?>u-uojT}YYllGwcbCAr;a)LGK4y8{gE0Ai+V!J!BknlrKXU&5!5c};lH!_>kn2Q{LhE^2i?G~Je}NpzT{ba@p7q>A#&H=lV*fW4NdFTC(}B$krAW2TH-qB9uh+b(!Mh>z|3hDD*)3WVORQ*&0TdzzkF;cq$1 zn0vnjj#jP3Oy+zw7qwQFk)77|?bUHgti%Kn!2I?gK^E4YKe_6=8W!X(*da43l#; z0UgrN&gbzn{s!f-sZ!Cr_yFt(gQ@b0g`@im1QD4<&+MN;_R<2*R}3Sy8l2`=;n!X! z{jZt0+lFUcp@eJ77{G}^joM@MVOjvZO9!VJAMd#xw85T&>s($hYg!HYOr@_9c*W%kYv zYJk-a|16?^J9A7?!(Hcx_wJ(rPo)9gx7z_HeKyY1+AUm0-WF?N2Iv0>a(K9-$2@h>HMh8PtnVwd3Q#2gCok>|js=r%v_J^=`@-*;SwF7rGptUV>JL%zbwgPx5gGu|id zK_{x1Y(J**CyH>H($<&Gf2f|;YttLnP@QT<&oiYk@prJ-?Z4OZ@0A#he%-m_knv_t zFm-R)c;12tC((#L(nt!i(H7 zlv#Cwsg&Heu!NTd+lTTizLB5HhFpt=ukq!+O_i7DCD=%NwAzx!zw3Y)>V!L_0oF>B zxk=wW_l4YR+ir%!jsK9pq2-(eSNrWP+*?F!v(oqw-J#+#?$!f8rduz>)FhfC1Z=_e zNNw29=!B|iv&ug{2<+cRS0MV2B|bJ3ed1}9-6Pzad4sWy%z1}933-RVJto|aw61ol z;vGIPJY-j%U(kNLSv;lr$~^DSj;|o<_mKP@`$P8ncqth86-rH~g~vxb_KlX<$sKxw zFSpj~U2&tc5Z(?r`k4!Bj0h}MIE?aXo{K?|C(CP_53uUaN7Xz)61|NdiY$})VdW7l zbYWxWRwz@N>p4>fJ~~ef$g)gput~k3I*xJEB+HMOO3Xsnn@^`ud#*B9X|x1s>#mvuw9tCxaZ->;0p0x{D2Di zf<~i28By-y?LNy;OmkT5TUFDk&+U)8S*C9z$Pxwwf!&0{-2BB-F#-1J>uA^?F)kFk z6@@WrRae+7%)9M42SLR{deZ@hrxNfet0q8SCiaStN_YiWm)Pxq9u=83B?N({e_4_i6Bu!X0Ok-; zc@Q@NS?1kgK0mb6$YEz{P!tFd;8$mD+YrT~8`UgvJ=Cc#2yP79tuDk)0~V&NZ&o1nkD@mv+gJPeb-SnswZURhN${C8l{%^b1+yZ-ap}dK z9?Wv8NU(_17p^ub610fOfo5y5!CTcBGE!0?iw>leqZJrqLJcANnM2RVZ(#MBOGlHX zs-^v}=o2EhqTrRQG$h$Roe+F>uEcU{7C#|l=z3X2D}gK1igHX6#?CQVJuiZ6I z+tg$%O&Pes&|Z)Z8q?qJqg$pQ@b6R6Mbe0d6p7@MMWistLHp6M&kP+%^!StaGTZ2tZHt4{dyl+OPuw0+LP%0s;^6ubXP> zh7kad_n%Jx3Npd{YabB1I8YGNANDTh_AZPbcD72gpa67`|HYtES&RYrfJDwzMPmRZ z-#?1}6?^&j(RL*PAhyPyKU`fHOpQ&yoByw-|Hfug>;KV2DxErG48Z*dCh<4R{|teCRN!4!0>-ki!!M>UsC@^!^@@~{SS?7`lVG&HkHv7KuPkS zTJir)tCuVwRY@K|1pjY0{9g*1WK+Ap6#O&5KQ!3cSJz&70A4Dw836X5v-D flushed after the completion of every SOGo requests - * groups value = instances of SOGoGroup > flushed after the completion of every SOGo requests - * imap4Connections value = - * localCache value = any value of what's in memcached - this is used to NOT query memcached within the same sogod instance + * users value = instances of SOGoUser > flushed after the completion of every SOGo requests + * groups value = instances of SOGoGroup > flushed after the completion of every SOGo requests + * imap4Connections value = + * localCache value = any value of what's in memcached - this is used to NOT query memcached within the same sogod instance * * [ Distributed (using memcached) cache structure ] * - * +defaults value = NSDictionary instance > user's defaults - * +settings value = NSDictionary instance > user's settings - * +attributes value = NSMutableDictionary instance > user's LDAP attributes - * +acl value = NSDictionary instance > ACLs on an object at specified path - * + value = NSString instance (array components separated by ",") or group member logins for a specific group in domain - * cas-id:< > value = - * cas-ticket:< > value = - * cas-pgtiou:< > value = - * session:< > value = - * +failedlogins value = NSDictionary instance holding the failed count and the date of the first failed authentication + * +defaults value = NSDictionary instance > user's defaults + * +settings value = NSDictionary instance > user's settings + * +attributes value = NSMutableDictionary instance > user's LDAP attributes + * +acl value = NSDictionary instance > ACLs on an object at specified path + * + value = NSString instance (array components separated by ",") or group member logins for a specific group in domain + * cas-id:< > value = + * cas-ticket:< > value = + * cas-pgtiou:< > value = + * session:< > value = + * +failedlogins value = NSDictionary instance holding the failed count and the date of the first failed authentication + * +messagesubmissions value = NSDictionary instance holding the number of messages sent, and number of recipients */ @@ -545,6 +546,62 @@ static memcached_st *handle = NULL; return d; } +// +// +// +- (void) setMessageSubmissionsCount: (int) theCount + recipientsCount: (int) theRecipientsCount + forLogin: (NSString *) theLogin +{ + NSNumber *messages_count, *recipients_count; + NSMutableDictionary *d; + + if (theCount) + { + messages_count = [NSNumber numberWithInt: theCount]; + recipients_count = [NSNumber numberWithInt: theRecipientsCount]; + + d = [NSMutableDictionary dictionaryWithDictionary: [self messageSubmissionsCountForLogin: theLogin]]; + + if (![d objectForKey: @"InitialDate"]) + { + [d setObject: [NSNumber numberWithUnsignedInt: [[NSCalendarDate date] timeIntervalSince1970]] forKey: @"InitialDate"]; + } + + [d setObject: messages_count forKey: @"MessagesCount"]; + [d setObject: recipients_count forKey: @"RecipientsCount"]; + + [self _cacheValues: [d jsonRepresentation] + ofType: @"messagesubmissions" + forKey: theLogin]; + } + else + { + [self removeValueForKey: [NSString stringWithFormat: @"%@+messagesubmissions", theLogin]]; + } +} + +// +// MessagesCount -> +// RecipientsCount -> +// InitialDate -> +// +- (NSDictionary *) messageSubmissionsCountForLogin: (NSString *) theLogin +{ + NSDictionary *d; + NSString *s; + + s = [self _valuesOfType: @"messagesubmissions" forKey: theLogin]; + d = nil; + + if (s) + { + d = [s objectFromJSONString]; + } + + return d; +} + // // CAS session support diff --git a/SoObjects/SOGo/SOGoSystemDefaults.h b/SoObjects/SOGo/SOGoSystemDefaults.h index f2c2feea0..cb705f560 100644 --- a/SoObjects/SOGo/SOGoSystemDefaults.h +++ b/SoObjects/SOGo/SOGoSystemDefaults.h @@ -88,7 +88,12 @@ - (int) maximumFailedLoginCount; - (int) maximumFailedLoginInterval; -- (int) failedLoginBlockInternval; +- (int) failedLoginBlockInterval; + +- (int) maximumMessageSubmissionCount; +- (int) maximumRecipientCount; +- (int) maximumSubmissionInterval; +- (int) messageSubmissionBlockInterval; @end diff --git a/SoObjects/SOGo/SOGoSystemDefaults.m b/SoObjects/SOGo/SOGoSystemDefaults.m index 07264eb64..0457fae4b 100644 --- a/SoObjects/SOGo/SOGoSystemDefaults.m +++ b/SoObjects/SOGo/SOGoSystemDefaults.m @@ -513,6 +513,9 @@ _injectConfigurationFromFile (NSMutableDictionary *defaultsDict, return [self boolForKey: @"SOGoEnablePublicAccess"]; } +// +// +// - (int) maximumFailedLoginCount { return [self integerForKey: @"SOGoMaximumFailedLoginCount"]; @@ -542,4 +545,41 @@ _injectConfigurationFromFile (NSMutableDictionary *defaultsDict, return v; } +// +// +// +- (int) maximumMessageSubmissionCount +{ + return [self integerForKey: @"SOGoMaximumMessageSubmissionCount"]; +} + +- (int) maximumRecipientCount +{ + return [self integerForKey: @"SOGoMaximumRecipientCount"]; +} + +- (int) maximumSubmissionInterval +{ + int v; + + v = [self integerForKey: @"SOGoMaximumSubmissionInterval"]; + + if (!v) + v = 30; + + return v; +} + +- (int) messageSubmissionBlockInterval +{ + int v; + + v = [self integerForKey: @"SOGoMessageSubmissionBlockInterval"]; + + if (!v) + v = 300; + + return v; +} + @end diff --git a/UI/MailerUI/UIxMailEditor.m b/UI/MailerUI/UIxMailEditor.m index 6cc5c5819..0c695bcc8 100644 --- a/UI/MailerUI/UIxMailEditor.m +++ b/UI/MailerUI/UIxMailEditor.m @@ -46,6 +46,8 @@ #import #import +#import +#import #import #import #import @@ -659,12 +661,57 @@ static NSArray *infoKeys = nil; return error; } +// +// +// - (WOResponse *) sendAction { SOGoDraftObject *co; NSDictionary *jsonResponse; NSException *error; NSMutableArray *errorMsg; + NSDictionary *messageSubmissions; + SOGoSystemDefaults *dd; + + int messages_count, recipients_count; + + messageSubmissions = [[SOGoCache sharedCache] messageSubmissionsCountForLogin: [[context activeUser] login]]; + dd = [SOGoSystemDefaults sharedSystemDefaults]; + messages_count = recipients_count = 0; + + if (messageSubmissions) + { + unsigned int current_time, start_time, delta, block_time; + + current_time = [[NSCalendarDate date] timeIntervalSince1970]; + start_time = [[messageSubmissions objectForKey: @"InitialDate"] unsignedIntValue]; + delta = current_time - start_time; + + block_time = [dd messageSubmissionBlockInterval]; + messages_count = [[messageSubmissions objectForKey: @"MessagesCount"] intValue]; + recipients_count = [[messageSubmissions objectForKey: @"RecipientsCount"] intValue]; + + if ((messages_count >= [dd maximumMessageSubmissionCount] || recipients_count >= [dd maximumRecipientCount]) && + delta >= [dd maximumSubmissionInterval] && + delta <= block_time ) + { + jsonResponse = [NSDictionary dictionaryWithObjectsAndKeys: + @"failure", @"status", + [self labelForKey: @"Tried to send too many mails. Please wait."], + @"message", + nil]; + return [self responseWithStatus: 200 + andString: [jsonResponse jsonRepresentation]]; + } + + if (delta > block_time) + { + [[SOGoCache sharedCache] setMessageSubmissionsCount: 0 + recipientsCount: 0 + forLogin: [[context activeUser] login]]; + } + + } co = [self clientObject]; @@ -691,11 +738,23 @@ static NSArray *infoKeys = nil; nil]; } else - jsonResponse = [NSDictionary dictionaryWithObjectsAndKeys: - @"success", @"status", - [co sourceFolder], @"sourceFolder", - [NSNumber numberWithInt: [co IMAP4ID]], @"messageID", - nil]; + { + jsonResponse = [NSDictionary dictionaryWithObjectsAndKeys: + @"success", @"status", + [co sourceFolder], @"sourceFolder", + [NSNumber numberWithInt: [co IMAP4ID]], @"messageID", + nil]; + + recipients_count += [[co allRecipients] count]; + messages_count += 1; + + if ([dd maximumMessageSubmissionCount] > 0 && [dd maximumRecipientCount] > 0) + { + [[SOGoCache sharedCache] setMessageSubmissionsCount: messages_count + recipientsCount: recipients_count + forLogin: [[context activeUser] login]]; + } + } return [self responseWithStatus: 200 andString: [jsonResponse jsonRepresentation]];