From 5b415abb41c52ec2da7dc4a785f6c3abc316385d Mon Sep 17 00:00:00 2001 From: Anish <80174047+athreesh@users.noreply.github.com> Date: Fri, 13 Mar 2026 17:08:13 -0500 Subject: [PATCH] docs: rewrite architecture.md as a clearer system architecture narrative (#7022) Signed-off-by: athreesh Signed-off-by: Anish <80174047+athreesh@users.noreply.github.com> Signed-off-by: akshatha-k Co-authored-by: akshatha-k <33278067+akshatha-k@users.noreply.github.com> Co-authored-by: akshatha-k Co-authored-by: dagil-nvidia --- docs/README.md | 2 +- docs/assets/img/architecture.png | Bin 188244 -> 0 bytes docs/assets/img/dynamo-architecture.svg | 119 ++++++++++++++ docs/design-docs/architecture.md | 196 ++++++++++++++++++------ 4 files changed, 270 insertions(+), 47 deletions(-) delete mode 100644 docs/assets/img/architecture.png create mode 100644 docs/assets/img/dynamo-architecture.svg diff --git a/docs/README.md b/docs/README.md index bec756bc2..dbf5f1bc7 100644 --- a/docs/README.md +++ b/docs/README.md @@ -302,7 +302,7 @@ Place images in `docs/assets/` and reference them with relative paths from your markdown files: ```markdown -![Architecture diagram](../assets/architecture.png) +![Architecture Diagram](../assets/img/dynamo-architecture.svg) ``` ### Custom components diff --git a/docs/assets/img/architecture.png b/docs/assets/img/architecture.png deleted file mode 100644 index c285b70aa6f374346025bd5611fb912c2c272b24..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 188244 zcmeFZhg(x^_5~_MiK5b!BE5?QFrXCaO+c!m(m@iMQUd}BRTQLyfb=FHSdiW!w9pAf zn)Kc~3BBKwna}y0x%0b!z! z#h6b-zmJJ{@GmnYe>ed=Ty{{_bGmSWbpZcEK%7(zT(Qgr6$RO+2!ge05|q)i_}cTV z{RtITKT74a{R!K9$rR>VvUEQ(x-vPDvHJl_H#&*y2WYdsRxwo|L=yzWc<0jrJqc$T!3sECiR8We6!h z{J#$GMapbHTo6k9|2RdNg-T1;h3&t;{vXfEs1x6au|}I){2w2JKM8n?>;HR;e@?^y z#^UdF_`k9E-&p*&;PbzA@xOKPzjg7yoQg*+|HBu5?}Y!2#s9|Qzrp$cKdlS>Umr(1 zD6NQn)Dwj-=2>(m%#Y1iQz-6dgYUB3q$auJfBH&mJ>>6o@OP&CAj9=3e@$WNB_Zg` z>R?{@K(XVojE? zGXq&{(<7yS&%T5tC;#PT{?NGGZC2tIjkit6uG@% zi|w@?EwyFvI+%vH^L%M6XknuFXL7TmPH>GvR^`wU&o>3rv@`}%%})C>cY(9i6RB;u zSvlCjsZL#Da9kUAO8^CXy8UDg^4LzO_x%b-zSnF*T=`TPb_+mK(KZq0C#Q=_XJF7Ib>HNtO3czrzIyg}on?kc-y1R{85qmN^2PdL4{6DJ!} z&vw4(7F#{u`_;rt$Lc)W96IcD*v6e2GHPEd`Ti;$rH(Pu9JQNc-el`;< z(46PBn|;v0d`3Ro5>6%&z3iR+JTdhO``zt*DoqKB)8qZ{!P>K3IJSw#GJ-D8t}lf> z-)?p#u5#%c!fZjir&_&eh@sA`dl-iKk6UoL=o7lUkfpe7(UZ50gnV7)>0#T^pSWq5 zBTq<)2nBA!8hp~PObGf+N(~N3JwI8*mgITz8G9Yhucd{^Jh1xtNp$r`5wz|NfgYmy z-61gS!Sk5d7Hv(*n+WX8w8y|Rou&vSruYWfy~5#Y!O`|;-dW)Hz)g=uarmfh*+n)X zR%y50m75t4LxX^uf%u~k%bBq=8&#WKYFwHr3?dT<*qHbEDK;Y9gM+_%rDR_aS;KQ&THzDy#w|KPy7QD;V_)&fd9{kLgSg zswPkEJmz^#0&ns@H={TVwfBG-zV1&B2wfohZp%{T$iR)r>AI7-WZ#<^=sc_%l zfY=P>GuR(}j?xICw<~8I!~&zpUg^9_Z4WH-GT*MD$5mkNKj!0)L!WV38B?UI)`aGW z%vWGN&r#f!`2_Q3)A!$zePw+MaWn~uqKEIZ;Tyn&&g-LF0Oq)xn? zSdamKk5zl9#&wS*rKeFOMbP|_u`-zt9h~NI84!ISua|z(O1iziK3G4=c?Qp{4m}O2 zI|JsNKe!#-z8~g_VkeKG=m``sN}j4Ch0}{~X*C}o_obe_E<-3D(u%NOq7@}=40D;tZX`7SSWIz=K)yO`o`x7TGGG63oTPwf|kdxA;( z$fQpk#yqw=;YZ6~T6&b2$K&plw#!SvX2hu);t!g-CAQV5V=s3~J3f_T(lq)`ZGk}PendPcN+B3soMW>GJvV75|mw31C<&B9tbofc9qVLyQ?KRa4= z3Lrmvqa7AeQ*bL^=+oV6N@u)9gp@iR#<7ifh_y35oH zn(=MaEi_Y6OOX&OQ=$!1iQ;M^^FC;ZyKnv6&~@AyzBgU* z=oQ-oDH7s&v;+2K52F%sQ=&@g1+{^u5zpAYsD#`sXQVg3^2J2`*K7VD0|QoyNK8LL zN_aUM^u3YSqCgTYx~7J=z6qeQBg)q85a z&o4FUj!X{}S#~4FSB+!+;86a_*L~_fgWHx;+wrs#2#3ATcCFWa%~7eB{p;WQ76)7I zgmIyR$V)SH@{A$wduzJo4yJqg&vhprr~e<9IK)Vtuo?Ey1~$npbNebP21{%QLFK>x@$IZoJCKP>d5Ut80hY|=WfS~$0I3E-Ylm_E31E_ zztm0|V)A$*_Tmh7wxuN;h&6HIu6FVkW~PkPpbk)bNuxz>9(3il1V#6^QI0VtogP9=rceOhe2dn~{F7u#L^lRgn@E zv>oQb#qpiQZ^iabOt_rM{s)VbCtZ6MdNvas8G4j~26hw7%QS|M&pGcA?!FK0)INLO zQ)%9^)L*GnY(2o4aNj<;w5(OGh;aMtE@tiB-_W`)EbjqV6;Y53MU0-A-OP6SXA*a@p$^7&N$&P*(;HrOSnkaf6G*96VnUjAg-cf5abEq!=PpY% z1MNvy#I~}B6VKdd75PrZgaLMVAO-uwxqJqEnxT#bvPnmRye>KTxnNpmlsy60TAWRHKTa!fm_I-u+lUG*P7|!oR>+dKnC!+2ovto> zKzD4sm2K3{g)?bteMj=)@;?m41)>vg1nX$3&p&^dO`QYN`ktrx<#B=AX)gkaB`Pr6 z-QnB4x&5`wyy$sPcEfZ}?e^EDak%blt6}b6w)(e7pR0%Ksd6>0-R#bMK$FGBQ}k~U z|M)Ht<~~?=PqqxM` zk~Q}Y1)=6JJxrq$X?`c*EqyvJ9Jah)Dw=japrVz+SXR3gUU2tvQ@`S6%1q?7P3Ol+ zl5J`-*W33Du$bNOI#jHKvpfWTOIaI>Cd#&o3j0i8k5dd^|aF`RvI@7 zk*a5fX;2gMiYMlZrJbHRLys%M3vX6AJ_GIEGfWoP+>!oUUh*MIkU6cL75`K)bXW;u zVX2+xvu|U&lLjXD-vqMTnyrD(*@|r=6_*$Gn#kCPi+aAJssh#bNDFtH9zE1G2GVC( zOUMN^&=rXgSMzjR;#KxAQMU0D+je6N2(!zH%2WzxVnpy1eVE?#K0jtiq~i)z@7Jur z1A~e%Jk;+JTV$B!6`}rg_*ZCiCYM1sRULfdZ-^?}V(rN?|1uZhVYajBrgmgVLCOB@ zGvYRPpxB~bfyHCBxa}7q-t%d3H4bt=M$5U763mP(%sV0w79@}TSh19_ts%3mwr6LC zVvX@vJFoTk0Zi-fzX%RC*YUTsj9goVj;)E$ZnRAX_q4#u<&acJb{6Uj<8nlkzq&(KScR zY~rI%DIBEiaAgek0_YTU=z*a^GN&X_R>f3A7f0|=ehr$1p?4g z!J35CJ%SlhsP}X+e!I+QB0O&WK%k6n6BFGMfQ~aQ)12XFPi?)sNsus>zLrS2I z$%C!*e}m74iaZ30_?b?7FQ=r3)JD50bD90^z6?F!Vxq$)!Xdu`F)He6HZ ze}HikHXyVS!TVj)yCvOr0a2h$0SrsWe)Re}aDX2j^=nky5jwPWMJn{IXoONf9E|3{OZ!`DKj?wWF|Ge@0wN7YzdJEKS^BW|8wWke(&~noqdvLj+jkChXw_I%~ zSY6Ddhyzp>=(6ng)z--)L!>E~bTd$e^gL2w^ky3=!Z{}En1l7mmte5D)!0739hMvy%?$MtJwpIty2bjhemYf2Q+eGN0=*MnGvYj6Le-1UpkAHn?+Ur;-CK z(wV7CWH$aA4FQNczYNgnCk&J<1WHH+3?*#xsx~T@dNWl$mQ_vK3nFWe$2Tpe%fT{( z6;6xbtga+6q2O-;-3S6I)x&n)ysJPkPlCZPk*iFI zDW47>sSk@I)_I-Nia}+s8~7@9esAa_keU6waPsU2yB4m9Qq`buC;o9M)a%xR-&J>( z?>;~>Gc!{yp7Z>&(Jfck^5-bxdR&Rbu}yrG21Q?cxkJ5E9AaW26#_8H;UPz1EZV z>P68+nLwgNHFD%7i#rPbJcSPI65Ay0xS}y0XaaEt^e)#1Vk+#G# zSyNr(RCH!{Q*o1KrdO#d+sQZh)5%(mf>a%jsxP0de^7r@D_a^fm7$DQ;@n&;DX^Lk z(M_?Lq+KndH4-5xd-N9$0GuEU0YGI(*7$g`O^ThLYLymV?tOj+-|iG4Non;(u-I+k zxiWB8?^RG;mUAmTCJdk2Z@ zGKoe7m>e31WsX%fq_r8iy>?@amWU4wML}YIAXOzE%zDqH#n#3*POw8AVx1zl#(B6p zDml+Ym!+Xy?M;xv#R~Y##Pcu$qi_u0Z~-UIz+s{*iFTjlisNgzV-cQ#u2R=v3rFyv^nt0-{@-V3_obU@-ZN zX9)NHs>%5gpD`w2z_*TtHJzP>*}4BQ{Fk0(6QqS9syZGUl65`m_eF_oytzxeu3xIo zRH39;R!Y(mRN}O4JwL)(@ZzvTx5!J6GA2CeT@@3(fPg34lh=Vcy=mj!q3^1aK9<_H zr@zWxSdVH&337E*@fqtPl&Jj-Y`8BGPcHB!nmo3xs8ITvlww>D!khP&o z7GC#}`T}Yboy(QEbjG7xe;}#LsE0D9hxe(yzDHbmdwZffpoWO#dI+AE5DU9o;7jq8 zLi;j}PkzYPN5&EeYl{`^b=x**-r7V3y6%Y`OEQ4YCuFKHY$TN0Nn?jRjP!{&Gn>LcUp!z6Ep5AB z>FH>0HxAWe7~f=sAAPdcE)RMaMYA0Ufnm45b%j>+5+rK|PppTl3unGy;As{#ZrIl8 zXbqk(`80pSJ-*m+J&7Z(TZ3)$I|r28a=w2mVOJIENSUCt<6#6WtZ?~CfmY*Q>nEwk z`maserG=2(Wt}sK7LFIp!>f6bEY%evjiJVsZgyb3`_h3UiGDDB{aB_-0X-o|b+<~o zAk^J%;{5lp;JLBOr3~Y$@$41s}iHfsN#V7cKvSHa@_Hq5@T(_R2Y(J_zp+-Rf$B ziM}juV=YJGHq6(3E!ubwQM4oLZ#lq|sAw&Tm(!=%MU_-d)_c#n3WWJ8tGv8^7?#~_ ztI3X{vByo@`sP2<=8GJ0*Nqj@R$GKYaWhrgA&X!7(%*E#mPg=i+XrVH{3b~-sWRIh z$$7h!#y3mfjvGlIx;-t-z`eE zRbqfEB)N>dj8_?6toj}FM!EB)Ugj|B?`fuE>3H5d*2cwB7t>2`>Zo*ha_VO)Zf>=& z_nDeq-8_81)SG309SMO?Fsj%X)n?+NR~Ir5nl%@PIvP#vG?J!o2(X(hf12j7D9Q4DD(oFb(%u%_(cvsXZFFBpI5m_tf#zwLO^hw8(YwwS3xpRzLR=Txx$$ zP9CMqkzt~jg0sWmw8~RSKBL5YnvjUiz^bg1N!@5Uh2lpOEvrMR)Elc4F1lBjyjNz#bY(_qcAj&;W$YPQ%jb(3FquWFUbN35=VO%jm3oLs zaCalj>t%hl3VBKbF|O@dr|q5~KmBEG*`Z)D6+0|pO#hDB-TxWM)DDlp`Im!8l6F8p_ z2xhkN<(W)`in?Ba0Q=5wnf!&TLVsooAc8jm6l&3+K>EfW^(?y@F+4_~YON3fC_%H| zzNB0sHie2%^~D`@mT-(TYaec>o_naJN=f<;l;hfYi}qia92n?SH)?uK`_a60mB@Qp z3z`4E%J%UREqV~J zD=!OJsPp1e6b#ybj5Vj0ncq2S$63ziwwWlygK0Pl4vLq4X6aDIS7o6(VV&>iRg}GM zGo?DqUonE)7h2nfXkt?gxa=2ZNemgQA239qqRBM%U5^w8+Idv2dfgr_yBmzcXpdqd z_i=^youCcxOO_L6@5?Wrzn_bi5ceyLOHo**HZo}JS0u9_vw+?&d*sq-Bqp|zy0^=b zR2EWi6jeU4T)y@JWpUabSGt9r8$Z$d{_X=^wo}Kv^EaXFUwoa=LuryoJ$qPLXi(Y_F_E&oVh0CeAK1NE7q6{3p0y#QN8dazF)~aY{Wl z+(U6a-!2(6PON^=t`n2 zcwQNeMIr88?u??5WRe`Yrde95#1K|=Prdb(;R`qg69Gyo!j0Oyg-L6MN?m1i<5)0yy!ba z-PFuH5$ctDm-r-U0glDM&r@<0N4O|X13$9w7RWW`+Vpk*4v%;tWT+;Hi~Ta{(S`0A z%M>IRX=>v`FO0!NB+Y8}O>)9rz;#e`_hbkbZr(k)-lUgxtx;FPP5NY-%#vbXN&4uq z@$1brf2J#Px>KEMU<+R;RDddx4of{vPc}bXWZ445)uJyrJfUvOQi{DlXh>!6xoVIB zh|QrZSN7Nm*}-HCqIZMaK^XCw0trBWJ{a!yijfadi@VF}Keq(vFBxlh|Apogo5nL$ zei#+HJVg6^LV58*UKjCKLN4dM31hpS5m; z&m}mWs(j+NopMH5?Uw77yUF3)C*n|H+UIxZJxcs`+t}UCzPGSP-mb0ydyXUt*XFrL z*N60XSzKgHWE<|681{LCy3=HAT(A*l2m>4j16Mr$R1IYqfy}h}W+uz_GRseX-F%h+ zRYUZXowZ>h{W801+l6%-*)2saMHzFfgn~Yly3BUeMVzy*+bD{+2PlYUDpzwc(?WoK zVbk37D8|4pP>I>|UYOL;66%0y7bvS;h{%?Cw0kulX^Z>*#EWvd{!O^8r(7;hfG*y9 z?ODa?tD&n3@Rjrwp>7GG{mfrl44D^cncUY3d=`a+3A*BixSe>8J%4MnFOG?YNgH_L z9ErZ=N_0jlC%!emr?paIG}rld$2xK4v{=u>I96fG*#LL%b#xDSQC@8#sokB&aM)$H zW)R1MsQqO;YA_D9pnD@2ko;wC%LZGyw{};rplMI5(|H-ie8@K zWcQ$Qr|Y3NrDLU?P9UcS)qx{L9OqiW8mSKG%K$m_b?f%LDFJ74zUH%;P z)`7O)&r(o0SGRzTv~6yEqT1cq>Vs$(_yPj&titOrfJZ40iIqjaVmZ@D5`~bi2B1R& z$wC>OIU6@k8{W^~WynL}9)(qSG}Bp{rB&pf*!{WA{t&9`CS(Bjh&`=e_1Go!i>b`u z{E!xYrdkBUrW!hfHi9N1Ubm^yuGzgjMnMm4IaM8^<=LZ1(*zjUaHQ~f-Bu2iPhe`u zg^;rQP`m8sIfbG|s_t`5s)xgtsen}n)Q6DTR2Kcv%Re#jj)bhsxSdR5OU6R2H6nT5 zU}fLvUzqH-`ua~Opbj`%DtNwbSUR(DQ9%jqr@|P;Eht`F(!{ZM2~OW5_q?o)or}_J zex_seEbj}yFnN1=je_S;GwEY$2uhGuE|%u_Yj*BY>pPLxo)bfO3mq%(*3`oet{Wug zF86w_2VZ0RH3^uYhGEEGKlH9(#IN)_{u%y$FFzT=D!j64SC6t6dAk)Hy8-wIXy0AB z)?N@nU-Z*hzWSjSqoA2`5>Ug!yCwJM{Pwqknn}waL~l_6PBctG3O)NAHAQ?Sd1SWV z!isSFWMillu9dy$g<)y5tFINY3sg>9`mMucjVES<(Tn>j-ZbZEvjjlV1;3Lp>9YgI z-0rvk{lX}%Ug1qx>ImjMW?2`&HaHv=bC(JT))rSa(&%roZ`kFnO1kfLObcw(9B-fy z%;~m(REOSUK0j!|8(fGqr<=2&Fqon_j{OGS57a%;HvlM2V^Q3iU1))6fi2yM_`9^3 z%>6zsf~1FhCN&cN7t{FAW^uo_!rz1Rk1NapAS!Y%-H{jp7n)XQ@XvWHFjo$D(@)7B1>pZ1(b{&ld7>%YN1Ju79#QtU9XhHz?Iv;5)uk77_lGxvbqyc+n$g{pgH; zbk#jCyDPG6&AK%=^2_5M@ncMBWLb@E^zrJkp^ni2k{1{h;Fe=gqvzX8aT7ml z+9f=4^O7GKJc@sh(^=qIAAF|dx&F9jF0VtoBByYoT_W0caJS-P_Lz>I{rn!|so}`i zA7wV#d0p)&;8x??yUnFHGZ|9pXSDQcK7Ql%HkVoff2&mUJZv@Di{3BH>3=qnJt|C|R$s4>y*a+r83rg?UMbKw}VVGEx^ z>tXPYk{6bER~xwg6m=4GleaJ*6H7+A|12n{Dt*%vF%6X9JMSwK^ zGs)s(&{{TeLgsN&z(S(%XZNJg0>^>&p?nu-$AyH%&A>}!Oi9UE<^DD{Xfc2HeWQ7s zUqddPfP-?a8ov!E3WjH6Sh=X)L)V51#I81feVkF~kIlXJ128@7{Z!OyVy6u^r3QgD zHL)+e07s8wly9ociEWUA`_3ld(QJpryxa!R)@Y$9bDCg^=iV@bKOKF*HKXjM(GTMu z5cV;=krbKMc)U?1kXv)KGKHy$Q3$c{eK`X?Hm~Iq^PRs)NAq3%o-$n)onqsbd|CUbMshJ+TA$Sm$`6gjUFJ?A2Nc$!XX^IP$k@Q9 zV&tJMA#_oaUnok*9xQ!Y>kOhj>{S&ouXmqojSy?b<({!M5#8FfwP9@*Tpzdt){dbe zWy9HxBwSF7a{~7(Gpzs08EKpny{%tn#q94Q&8@M1o@O=iL-CfAWK9{@qRGD{ygDhx zPjqSL`ppe}(l_~@mniQ`<@BC;?>!lRn5YdX!_vAQEJEF-;~ck z@6yLJQl<#uMP+s57W{aNkk1qr6y?j}CZ!+@!ZsYJl8*rI58e}%KQxi65rFnR{EBfX|h&RNS)t;^&s)#$;uQzA*KuwS0b@f-$&7Cv?`Js=cCHMbGbim;;rH^_6 zzkaC|6JuYsCPu?H!#&*YkSX@KS>M|aBbkk-5o9E;-QP{{-jkPe1-KR8(k3%&^ z%6a7Ok|I>uuX(Vj5lxG}zeXQ(eBL3{J*UNT?FM}CI(Z!t13@aX^Ieeoi7MHX-d@kc z?dwlpQvBxzd|&q|2QZ*4UNA-uNgNfx=w5gN4s z6=gtu6YMfoGWIm^F2g$$qkOV(xJ0RXRm_Fij->2exmSbwrndjK2mXTVFD3zM8D$@C z5~UX&y8)mBptyPAg+e6Wxq6Y184^qpgS^uI)@RHpTKXCX@ny#piJ zM3BwuNxtg;3N99jW^DY>42yTAzS;;I#0RIl~Ts{IwI4p8B z9793<$@g0!YD56f19OL(73Uxq2WfJ8L9~T$s$5z z4RL~PAtJMDG?w_1*n1rf|2c_wFZ)l){KPBo+UaF>|1lH4@4sISs01v`j=c#a%)Y26 z#x!WLWHAAP{%{6ueZ@Cp(09CX+8E=s&=KgqQNc}GS?t@7g!7=$uxhL>2H(DMag%d*(I?)Sh8Q1(4@m({2<2O7Ql~2Qfvnv>^!Gn+{S*F^OMX7MfMbiJ z^fGP#$b&49AU1+t+ssus21ok00u^FPWuwkS^5yBc4>W*jvJIPZIb3$lTw&o+S_O~o zTcY5bP|VJ9U(wI8Y@NI;o8HRb>+9dw6vt01;G;qxI!~D?^rHYjHw>_9`h2ad>H}QI zvw&x+W10(J1~DW+T}R%;X{ar-%D*==jsHpeCDqIAH89I<)up`0ZK5A^JMz9Ye0W;A z`j;g2M}_;(Lz{45`R;)jUmRm8neJI>dCX9ywxapHfqOCleU(1y2?un@lvXx=R-Okg zYvomHL%r8oMKvBQe?|cLKVAEa24L&gX$0(J1qOcRAv`G<01ypB6Pf?7a_9>lNi9+e>BUHwH>mwzY;7c=^5&(o}ASCLZmoz1v%@@CTCJEUn z1$uAR#)$(?Yk*#!lNlcX4cKm5YbH}AzWsHyySgpl4AiYr@)QLQe556mgn=f7TOw%* z->Gb#|Inr2)ychDBaWceTNO)mv5Hlo_myR&7H%jH zTqZ6JBdOIj^N6z)6@EGr%(ugsi2O3SQ=41BPR5|@Ekbs^Hj8Jc$1O=>PEa5{762_(<4iFy-i#BV zJ?ldq6U!T|UBIokU=oSi=~dOUnUCeeo1l#iZ&FyBJOVL-KeX>(O;;)Ko<{p&M<>sO zb-zZNU{Kr1n<0Svs96B$9snn7VWKOcXY45wK&6kZBO?1p?_8ey_-Y}GHYwE_@?hG( z$Os_44e`x&dZG#ldcdxXr#4&8q^EtU3NI)z9~ir>6|~^qy`Zi*#h9E$HYg`M|I&lE zamJd}U&V&dpcy^+X2@V}c|1Ga88UppC~6e zf7gRocL8Thho|`AT$Gb?Hk2}*c00ZRcI_R$|4Q}}=uNlOu?;@)!vRulzQ$$sSI*Pe z@L-^aL~7A=jC^V8noh3y6uRLRg^L+aWrV?~}wgfaVBrFI0Tn2ipvXZB5np(l1PbBOXV`FTRO$%_c_%rkGRPtz6%^?W6tE?sTlpf}(>f68=+J7__T-@wOyOh%L|&gaw+a?hS?}2WWuG5!{nr$LrYI^W$1L(BHRU3#tYNZt*$# z26P|a-6#rJ-)C*@-3`v{no8N;Ycq8>qCY`g*uRcDV))`ogE7=(MiP{I4zZQ|fEHux zo7LQ34HUVbj$CVxjm8`rt{KRABm;E~GQ^6+l+N@7FTm7HOzAwi7PyLca?Hw<^XF=U z=v)@!E$z&4`0gE`-|RdpoN7hxwL+u9n};4As|J$^bgUZQc%z;R_CuEb$Fc9dI_FdM z4fxiTlb`Pd2L{G7IQM)ua8w;PlpM5!ktVqKipRZ%Ong54&7(L@Wyg*RQ#^S7h9M!G!NT z19c%$-xs-s&$s-gJGMim&ikZKwWVseE@X2M&*QZUBtv{Q-jQ}QhLqvAehD;~_|2c% z$n4K=I5@SdON#W4-D3oL1`ii2+|xA;`<+-lc6yXr@V$Uwes;N#TlZgS#=#QtY2QVh z!1s=CyQb%g_HYz60iEe}3Qz=TJ*BLf1Fpusfqvq{y1at?jzYhDznqr5GArx%d}dZ^ zGO4b^Ie9}i=3QLhYl&Mb2p-&r2n8`*RICR==n1tw3|ElDF;ahNMOH>`szEz{Zkm8A z9qcJ{qrM@|W9W^JV2U$>i#<|{W`2p(wvT`J3Ab%g=w@)_mtr5jkBR|G_p(ervd$5k zf2W!hk@vqIil+{TqiE|>fG`&i^!6-%Py^{9+}ObEYb-%CneF?O6Zu17G7lw(NQopa zA#c|$0!w^%SYwDryv<)dgG+GEX0g#}|Q4CGwHo?h{eW2(2)aD|fvSGVc~e z=i{paV)3nb)bp6~g78MebfXc0mgmDQUN#vf9c6;4tvU;2NX#OX*ZF4YH9xzl>2}He zu_#8?+wV>hDcdhHIdsvX*!eU@2jQ!DB#t{b#V@E`${KHQ;%`^kJ1?(d}HAV&@)wPYNi#W%# zy-%20mj8X4(}L2^a0wSs*lM)OB=Nl#Z#;y z-=y}y=A1l3!*u{Majw+~QTcopWDUztO>OJbG47WH#OM=iI$v5}<;EwJGl*&B^Lz@5 zU>Ydt@m3J$RpLpLe7O_Zx`$Vr-W7r#7W;t|# z0tf^eLLw4&dExeGd>$mh+2NQ0%N|p7u4IdTWW#u2coqO-Xi8l zLR8#z;>)}pyN4NiV&@(RSBz`UPAsLPXG(DJ5?jk}z{onv z2%l2`>|$vW`=Q_E79n#w?`GPXAvNSez;73X&$uQ49QK9EnjU~03OYL_Xj(aZ=N)IC zDD90G1_tZd@ozayTO=of8vQEmVqAh{h1u{Ns|ck`h^(5tFY8Cbw-*UPms$NkT;s6Y zp@_R2U*CO9AxRM|n#Zoj{^)#G`V2HM4`eEMrQ69MRhP~y=L$fp{Ut82$ z3W!PoO+d#}jfhi%}nn*{G&X|XJn zWY3_{XcAen>G!n-M4Qv?3Su?;2-XBGrU(!LDdYwL<8u%XNNh-rsZqMw&vT1Sp=m(J zBw23)aClTmtZQ}SQvsNZH9?!%WoB39hxtJrLqr(F9fl;0va^?+^=2 z0tms<5Y|Cm034=x@VDGvydnyTJuoMBdMkEGRj!;oJ&PlZ7X^#g#7jLj7PAB-$o#17 zi>EL<(c{*64n{gbS`sjseHNI6l(_&;l;NUwps!+mk5bT+aeb6|G2{IZopCqZBY5! z5AS~lko#66V%VTRsim=5$!zbpP8HIP<)m5aw7CBt_TD=vimhEA6+{?Bgdrm^b2gqp67X4=%y1uQQJ(iTYKOVs*>v@bu6D-!#%+Y$EF1rv8{?UB%0kU z4NL)81$9NFjijZ}OakbGfczt6bhBd!YeO!nV?p*#5Xo6VO2AKii#*cu2i`<17c3NW z@CbA`fhe=~c9qh~H}&%7I&)3!Z@S)d!ZT^Tlr$`Nn(=&#iMHIvEqcLk3@PHZ^}L%| zUJFip(+4cDGIqVwctMY4caAEDii080oF(y&UGz z!7gdby{s@RdK|8vlBfsj0gyK?vCW#X3`;zxJ8K`E=uNPl-}IqR?q z@meAvu_aCCS*Cg=*mypf|*oAnQUH(Y*OYL5l)@m{mhqXm{sur=pR$8ca zf7)J>fOv+eI45}Kts6B-khy#n7-r!;r=&^SuZL_W9#g8{i#S%g6kp;}qrI?kptWC; zSsrR3?~f*iOlBnfZmP4;-1cwwM7w^)zP?^7j*8;EPjVqP0}jvHnX9`1P)Z`%vRrDH z8h_UEFs8U3X7@Kt=^Qk0kHezUt=p`n-c>y*sI!>TLz3Ph<*dS4vPsVNa)0zsB7Zpg)wQ7WM0O|%A2^FN2b>Jf-EnT4 zAPf4mM_a2Zjz@74+!XdZ#5{N<$UF4)E2JTe9JAmQ!Zy7F`rvrdDyhIf198!{d2FpAH zf-EgiRNXce>__uRjjqL`@z1@js21WSzcA`o!bGF98)}dSBX9<3_fFo@DPuAyQ_9%p z>vq;hsp*7X*6tmJdsdsP;$s}&cbn~@1&a;bCu+MF$}C}S9(FVRdG z_Y}__PrqAm1Rd_hXT76sJDGY4iY;$#y@nR%ObtYiAj`^Iqg)-Jrq$6v+@NsRjSeT# ziWDU#Hbo1Epg=suEqVfGBk z)O1YOd;^Tbd~GM@JW*x%ZqBpg=VHr#b=>0lEZ#cFUI%&v*54I#c;}cr-h?-T-;Rax zA)k6bn+po}R!m1mA@vvD6PtommE32YU=b&}CDe4skR}dOP%)cBYe#pRNShEDE(9_* ze4Vx1!p(zrm*p)B9*eVuD5TDtY%Ynw;DGsniF-&3j{;U-Lv|i4>+!~W*~tM)r~~3h z`h(O$WwY1GlhiI}`wl%lUWuQF2tvu`C@jV2JF4E08uV1fGs;K%ZMV!*o`SPeB}1uC z$27$|f-knysNKrZ>I|TUM3wI>0rxB^;4I#=@W^6g^t0eQMKSCj^)F71ze**J5?Ln1{w?+vYgF;3RMr_?bl){RhYr$CecO z9ZB!?)Y3wL1b*Buaxh5U4TJ_G$N`X#^Q@TS>pX@N!`Mt!$+1|K-ART@yvL~?oJXnHDu@)`ILO}$n1P$yFSfsg;c<6+=SkPgrlX;g}W6j9UEiZJTZXpQ8 zsc2eManY_=SE%VZiC}WI+_@C2RX7EqNlRljH1^OzrH&&Bl^WQ7J(WNygrMeN+#V|) zTEneJ8`lm0m5pF(Jq|kV+-a49zVcxA8tket`C`W_Dh^kul|t=djd19 zO9m&?Qg{F4glzBdfI4occOT-N{x<0+h^Dn_6*pSa1x@j4iM=G!2Y>wQEY#uA#^8pq?8=53bYUw0_3GqJ9sTb&zv5hTVo_e#oOMu z3g32$mS(s_IGN`XU+sr$TzijWac#gtL6~Wd3IDYiN$f+24TuP+3u!j&s5Jd{YP(5h zNt9I$B#gQlT0BZ|8F$aak92g8dk=9D$F&agnKj_}2Ov@qxIDr;M6PY%YeZ`lH9vqY z(|6ufKI67DEl82D%m2`g0x&0x;3U+8^6*c}3KRtxY6SQz8u(N#5o#%S?LEE7?zxWG zk~-z(j(;#GBP15|0W|2n#8StkNv4v#^Ddz7p&AH(ypShpV=vR?lP0?R%ZE3OXC~*d z(&)IC9Yhn6-(y$8;NHY!KG)<^JqsG6>8!$zT4#_(pj6P9()U)QB6; z)Z7P2$J!1&6Oo_3E53lq&@i`=+onoIGkdT|v{D5*`9>VeoAg@AkSo&Q#Dt`(URHU^ zi?!KPPW+BOgfi2tkVLpBd{D~ZkN$ERBp2r2OSuH!zcAK0A(6C8@##)&DIZpoF%&Qh z+zw_05)Oc|yJ?|Wg;VF)W!C*e-(=&lW3I`ra27I@UN6L~Nq^0zcgM36OLMxWnj!jo zz;B7h+5zCoB`R?(`VBdq?^Iz*drBXiom1fAiy#Nv7W1;!LbPS?BTjz?E=gL@nm@vOandx&Z8}&U6fWr& zB;G7G=oL%s@QU4^JEKQ(-=(1mA5&N!y5YS#Br+c}M7hOgoHMEJIPUW$TE%pUr$xwri5Y)_mYnA2j1aZA?YC_cIYzNOZ`)hlB@bm0 zIt1sx>$Fd9^Nh0yIvw4>Cz%k-*Cz28;y?b2G6X~jH+yPRDhq$fzof&L;@fVT%K<}4 z$*57ksK0wqIQ`Txo^-Y7?PKAmkgD$@ORpGg|tbQz55Ftmg_UH2wS?MQsN*SL0oV|xIf6( z>dp5yuNyA+#SK_rlrl8qFjH+Q;kic zvbFR_|LKS5{(v@GDZ!mOr3D2v_bYu1(u<7FHBhW>!B$Fb9hMNWD#DZ8lN;22;SZs8|{Cdg7 z1md>6Z6~=pXV|)v4qxE6%S`hu%imQD_!jD|1O56uJ9N0a!pORMQu`$CKz6@C%ldsL zO?9u;+8px@(@)V45!&*XX(UoVEN`ul8+Ucqagm&ZpMw`?n|C_=Y;Oy0qFbY|*Wu2Z zE%x*fYd26*Mb70+Qc4yrGHW3OB$cUdy$@3p-Hc~VJ6`+rpnhtO zb?o$tM`M|G3T6kYUv2XN4^@h2{c>3nBT*dcDP{`xKwOLX(K9nlobrI=1f1gTHZKBt$KfWA?Tud)^K21b?t9A5GnWCo6E6GV;#KcnuyegWd zyy$eWqi%$WfurVn&AY#51&`$(o zrngiq$@jY~jv4U2&ce-{tb4lz*=oZCN#P9Lr-)y0;_6MsSrRbwbwJucSqlCOK z9y>u%EN^tO8kj!Mu}3f|`G%yKYm#=q^e%K(yp|KtK|HvjW_F^x6ilNQNU8(gF?5eo zszF}><#KVNb7Xj8=F~-Re&2Q?I|Y9?*PIH;Vw(1{2(gQL5HTvsBDtYM z?YYZ+tU6W4s*JU)`xGUvyDLad>PQ&VS6gnE8!C8nAE`H;S;H}lES@Qw8A<2PFlEPDBnaE z2`6Sw*e$;LCPAGo5Q#twWU`Fsndy_aX_0ZDI{G4dS%EeiGLlEzyVmLv!M#!lt*2-4 zCBKzw9rEetyXe~-9az7 z>Qtnw%iYOZu1O@|rce0b>iE&jk3&{n)zY}9jy9v8HKWye^Y{CnVfR8c|6cpAf+Zy3k(CX@+jnz!zPdY?W@Qussy#@#Y+ zyH%Gu7WTUdK{=p;r`3kH%N#v>|NC+B79o|+M@>AY5UOz|*;g%N4~LbJa+sDLY8(oq zl5qdw;C%Yi5=NH@f28qQ%%|pn@wSOnp*^r9sa-K~3CS!4_(pSh16Grf^y_a$NhBTm zB}lh!o%D7=N-=ZWypnqXj}G+=-!M?(OB;@Osn@1((&QOZ#=^F1(oLijmfbl|s7hPK zGCc@cEC~-_{y8X$`2c}Qb;OkXZl7@ue{S6((e+Z+0o7)>7p2pGHm!v&M!e&qQz)oAbjHow^6UF(+r+YW@=tav73|`?_ z$*0%R9OaWIE^2plXh4>B$ZIHX?hC69fw zgk$}?)AOWFq$9Mt+a;2(d_Z#lr|6MjAdT&AD`g4f6fp=rF-$AIp_4dYnAmC~Hz zia(a?I_k`g(}*$-fxxE;h1W4~>FE9?uM#*gUN-BOpT~a5ECXE?`SldQHb|Fqjla4EjdQDS?DUXxAk; z&RfnD#(cnjFj+ zoo;g;OG3n_B7mu~&121_;=i3MgW);j9@7i+Ux12ehsh*0ykQJOYwzk&``;BI*L^t< zYGUF^wUZ*@9senq+Jn0G$n>&}Qzl+XPl1Wa(1PgPc2aeQ%gmdy1APO!`#QT}kZQh5 zOeiZ_bUs+xA($b$Dwzu#Tl3KRq9pqSZDxoSZ80xNKf|=@n}&K-*tN@yL)|KoCd1*< zb)!kDW*3aUTR5f$9*a&;54B{zi8sEYRY9u^xT&|VufA3u|B&!Zh;SCM+sBpwy?mB+ zDe#cPEbN}{!v`cd3S>-#3<{q_rfBA;qrOh})X(@F?k5)&74bfKkj#6I%3k;N=$G*= zI^Xo~KFRbrcrUZY&ZzTUsxY)kwfsK(fz}`uhGj78h?rGo@BT(Ee3)?~;`DlNfp9DW z_1+j20e=@$V&dXZtTD;?L`xQ{A(;AL4Agtr6v+aLZHSQ!1me zkX3xpt zvx@ccgzICma2l`Sb|*0%D*x7G^;D^X=JQru|b4-)S z+A~RqAlk*(=3Sog9ul>7(9Xx*?;zt^nI&i1$P02DFgm-uvdsh@L+ z6>81w&Gh!Q&;}t<*_jH$C4KLgLv{=$!Y~~ERjV>+W{-f;yS>iOwkNJ{=PcP&6D_dO z$aSP`wxD{^3qMLf_yH}3F|h`s>f))-Q}{^W$QHe?;jYgOdI!8HZV&Ym%Z_oxHl}7% zCerq(&2Sv>OguBvniiWr)_`D|`?GXyj7T3Mgd#yhG|U-K@I7|A)K}r}FWh~PCH-&x z%GVnsSjnTGj>o`Y3* zr045!lyI`8bec!oxm3OBcq``=e>aP@ec%g?wM#qu8e;nV2df?*T(`~{C5Ji%a)|Xv zbRhAKCDHXpA7agR#5#A~@deE=qkA=D1j0R5{$5g6Ptsk+DsO|tR^==eP#&v`?XG2fQR{PF zK9GR?O9t%r)YPs6>Vwm0c4KYXd&$$%#R1e;NxClIcV{3Kss4V}HNmw~P6z>aS#8bS z?$K0cy$iypVQh@EHZL$gg*f3#z8cx0?h)U>@1O3_D2%na=o6{8$a><5 za;-5+h9hhcX@O-LPL(~$(20ZkzHq*=U1hpjqtPiqJISWHzKgLk2C>Q$>w)Z6XLfnF z-q)~a{}qZ&KglIdTdz4iHOJZ}yD^>ma@Rr+Y(|P2m4L_n<2VU_8M1gW`$^aIIu8Hs zh!@&qKgXa)&uDXCB@b?MW-90Xz*|F zxVyCb$}vgBoiyq+|4_Q;e=HJUom?%IVZsM}bZgRVr~mpsn0W}f`P#K5EbGGzDL?${ zdJt0hH+OU3%4A@YUOTozYi1+G{`)P0IGE&*w=sVE6SHGZ zrBDC;82`GskD~cyrT3l<&m#C=Pw~I}q$$B;rB;ip1&XMYLx%$@&Ej`X!P-1qXVgA zT0dL7i2ie;|20rAQ*zm^Ucz-HroeYM^{c~4f?zBbg@uJ9V`I+&G5gZ9v-(yRe-jIf z_dDW=chl6Ls;Q|J^Ko)^9;I(hPEMMunVL?&zh^7AmZQNo{_&n6o}cj()1zC-H$EHu z^I=cYU-}Lt?~0w)K1<@f`cfNTO4uOqL~q}|#RL&Rih&jl6N@QkjsVha#Zt%2%;`$; z9e%hug>qljl?22CYeyI&8T zA(xu32z>lmMMZ^(RmZI_pFW9E7(Q0P4}z6W-I=IFZ{|I=;AKDisU{SN&vq^@MaZTX zf6_(YQD+=GJJ$6g>Ca(m`p)+9gRx!TMhvr@{WBr$FTh;De+#UJAPzs8#2GZ&?g}xu z(J#4G4iN0U2zy{ZS-56^z4wE)FGb_2f>yVyi=&Ir0kOmHSpYMMiID)RYVo9F%W zDag}HMA4Vl#ruQ~*KeAHk`Urv{0^_Eq%d@Ym&9<}m$u~GR^PmO%_ zefHqspg7VRIY>-QY;lt~C;XU#n%WBU=2VTv@k%c3lyN7BRZ@hj#ipdpOCL-XJ;^%PB?4`xuaDBAD^98*{r>Rd$B#kR zt%m}}L+#?68vxq1Ho=6s@V=#riHV7!rZ1Oly|fAOP@D`o*LObD4ayYnnYWY+lt=H> z_NsZ|T)5%nL4L9j1Jv-uH+Zds?iel)qvW{6M_xuv6E35_7yIv*cyE%6#jR%S$~rS0 z5#nzGZ-dl$fWM!>shiLFZ@I($f@g2hai}cqIq`9DD%iOB2W+BpH|z<_Hh|QeVBIpyCNqz4w}~ zLshNkDcp`rsU>VU$?Kig)k>^3zNd z!jzpGl`{~SMNZ@xe(mMSXyZ5_G7(%A{U89~bA$+SQOBPG2)> zU84e&L`tt9t*95jJ~P=^NlJm^W&pr!_{`xNmy7vluU7c1mA zo0D31>d_r>Z>RD%D&j%(-|(u^N-O+RDkvJwRUXqj>2YXjf4!I;Pb)S0+i=t{zidp% zmh3)PQR4Lqeh>u=Kj4IbBm-yq!30GR_4}hMxfxRTw5TgaxxCy3fH9>C8IJQ?U`08M z37t+Z%h>+<^-Dg3efI!h`W9aShb<=5_^a8Fm7X=JobUuhg~G(6OTst4W3TYQpf+LK{#!X){h5-A6#yE> zgcP3bfAHiq`|_Ca6o9YNq z0X)S4$C}l=rZpb3<49(|D_I2QpES&GSDwKvF;+L<0G9CwesYmX?FbdWvE7y4xuUq) z*&KCnA;5&Yz420baNO)-H>Gv=`p(aqY4YzqcZ=)JN~fLPWv~dSgD4h641=@?^b!pm zl*S3d9u|G3{o5-1%QiUMT{+Kt8R1HNFcR`=H5gP+tZtrR3p7{>%ABZlssxbge6SHA z11zv~ZLc6h7+`3eQrG4>WiLw30ZI%>3r~C>vKcuH+hP$(;g* z?5;yFNUaST{{yzg@{?tkMXV9%3RA&TR40T!zUsj;e4Jca$DY_11p4YnMP#QfSpsV0 z2ZM0|_s%pD?+=*^q}*>2Y1!!$opAuLv$7bVsYk8}&{Ke!alZi|7%;y*21GgF>K)@*|4+zj|KMAh61n8(-fIwin28REH6e*BhCd zLSULO-6a~EezUw5IbLg-S%4xVfhQF^I-WFy`pc6^1F4tp+n zB`H#jp_@5UHt<-80uP!Hof8~12cO(c=dx+Da!|xm_71x-I8^QnP={unFmsE3&bgT| zHdbV(cv_l%$SOa;>G5WLn|?B@^aLFz<_{=ggqD^JI5YiK43cCPMo+Qw2tK0K{2#UXj=A2lOkWLj0 zEp+3?U}JB5?*TFoc1;iJM#kE-TbtkZh&C|@c?$3Z(EzW`N5paVYJH(O3aP>Kn%?ah)n}g=ugHpig^Zh|%!$BG_df`QUC|(=YQihELX^34;I)c#r zYm}=6>=kiOn!&MN_Q|7Eqcm&es(OWdVAHDtslEyWX%f|4gn%ZUJ~mCRdhTmftKdlarEe>`*iVEC?;) z7M>PfYjW!zryO5S%?z3lgAm;iw7a~hQ7$;CtCgVH^XG?$ol zTIrKmYwmEF@3>Jy3#PK5olRNgM1Hk-5piYaEclB z*kbl2MJe0OXKOi{<66>a1(`LADR|`+Rfq+i2W$n<9>%kvbGh^Wj?10Rvpx!zx}z5B)g93e|HgS*Nc_opP+|{~AO>**x98`fU0DVbx0s7zI1sz^7QAi(xA2SA??U4Gb zg$Mvt+ckiOuMm*;-n>?<9wx#D+ax=V(gtKbTW+%?r$EghAu}IktlNO55KdRyD2`WT zIgI4YaV&Er>m=E8bv)ttVNh9}^S05MOgeuqkud zW?8eOAy%1Lgxq9=8Smj9UAdkg0d3Fn`d#Uh1;0GYzN0H|#7p;VWi790$zhvK{ZrBcGk`rFMjv#d&3nN*~ z0_0r|uCQG&Q9Vbm2pFeO$t^7!6+G@!{X0RJD2NKMh+S>7#f|N;ZPl!gym7-tvP>|~whT-UG3uNAy696`xcFANeICRq`0P)(;lp7eg{ zb<&l9CYQvblzodMJhkx~A1*|BV$&DZ+nYrvO8Ju+#XAo|aQCvWa-Y5UCZM%kOP`pj zM0cOSf8^SLdHk+?E%4~damicbMbDmc|FLFb@$OtV!6Ws{m7Ay#m?yC0v~-|&E3EHz zKBfo3o8uz$f+sE#>|2-J^+!-xjn(D5f+HftVhNiil9f)a6soLmMqg(~vF5zhLbdte zJ(nR+U0Cnmyq*;JPN+ij?`ZIE1NBD^j{l~~lpW4wuQSFX@Dh*I=JYK(`MK2e0je@I zh5Vp`9{xv?`9HoF)`*uZ$tt=|UkXpbOsdC#syqk_Iplcd(}-LCpZWcN{j3b2t9n?A zhkh;8;~@=4+{t|rD=B~GivP`M?1jC|Ygr*?|Gz0TtgrwH7*S}zze`a6?K1!RJ#ev* z#c6F_$p7lFt~^%|KQ38vt@a8~sQh29bM<>UCm`nA{Qqz4|D_{lV{2OYrxw7!LeT$D zzSgD(tgp%MWF#bqFB4(r&%obHj4u|K z5M}I!F<%=D>`6Fr@5-n7_SOveiS4I5Q2sNhe=i3F_16v*>{aUF1-{dF#=V|q5$<2h z(H~Sq%Kd~hAC<5L)@eW`2P1ctNtoA5)8D9be61*(mXI(q!B1&Q&U}-6TNJnY7%?(g zJt5)x;%hl}7UlPi{)z`AcF1B zc^U`XHCyAT4o*H<+u>`!K3FQ5+kqdL)Um-;R~2dX zV&t{YUjuhtpZYP{-O|gj$a*C|-pr zBiB9W4uYYGD(X*Dd&?fzczSW+=vn9{mMhZS(5vDOCvLE^+<^S8J3fzjfkL-C=tGtO zjl{usvVWTK6)0{b(+czrw+e7SKm&y2!^QWF|L}MJIQ3xy90!5iQ@%gzeE&$@{&iXm z1$@@&?hmuS2jYMFKWWm}#go^W3aS3FKK|<|ItB1T{)iRmKX3o9wCN9<3c2zxIIs2p z8kzsm8)2@h;tf)J|GNkM!&#ABRoJgRxGKH=V*vj1^nm?!<5u>G8s15^+#8l-sO?Ot z@WrhsZzjMs!Bb&w5}?b1UB-@0+ikk5 z@&_hD&TwFJ`>o9H-sYSqB~Cx;^TF@G+bKc?CTV7g{#DmI>G$^|$EY4A&r z@48}Z>G`-<-HW~y)KA}eDq>`x)8*=hb#U!^?m0JnXy}_WmNk9gF)>y=Qn~Jx@aWy2 z7i=Qsc-i(gUC(^6oyb9d>{wsNFN1O+`oKP%>WkwOi}W?dQj-|ysm98Qv}k^~vX!eF zQ6X1g-NaM+Z`MyGKTj=TM7tu|AepjV6JD_~jQ2&^dEN4-QYyVhp1{|?plT5nzfkb9 z{{Cbf@ZfB(#`&P5Tb5Z-g~zbu&{OJi$uNBFC(Qpbe+3o@9~eS*P27*}AX|lMihD1f zUl2ngq(&}PeI9A9G3tobrjL$&?w)X1+$1P`U-+|IjSAf*JpGJsldIwBxz&W}R_sS7 zB{?$d9mW}7+zh=L-kAgi2(Sy+iDae1r?spf-8)b;F=}#%>-D# zaT+){`O9Ljq+NSuADexiA1B?VnSJbHq#Y1MxsV)&b^OWbwf4aHh0z*+v2EpLw?3w( z_3ecH`BHiI=vZvRw?H?U*t^R2%VhXD%}`i39|($5>*P3VW2lJlNP|TyKm0tIQXQ4c z+3+hbM!W+xBJDJ=Rn@*WURiT~I;tY6MwCB6IP|TYl_O&V<&k$2yBGn>pYbcI;M*VY zkqmrp|Cw=b*GQ@cp+z-NmcLf~PEzs-?Zki+D&jyToiqBaZKnpJHiqtg-^gQG2OgeF zhnS7p)|hkYUnK=meY0QI8`Z<&O%{?&wMLas{>!*yfF%p@G?56ov!MAv-ZZF>7yBT$ zPB$*(d2t77jWqO8qM3tU2XFb4`Pj0O+yJXM$GSn{t!+Q03#9!QNjGs5P4a&AZUlCA z4WjmwG0=mWpIt(QvnK_XAFk9@EaK#3YDUArhPr)w0K$1UE!Zz}ndm%TFFTBN=*f6x zfXIQA-%tAX*PRCK5}#zx`sLLJwmYP<|MnIacw*VHd~Yo|)$7M&)6O{J&fw+59wevx zt(tU6W-o?RwaQt020R4CM?LS=IjkFH?}993XHF5KtFL%DXX-MB_i=GIrdKBFw%sZ2 zm(nwfMt;lqsMqpIOJi0`JN_sgE#97K+R`;W-4zh*U%TPx_bU`DLibqPaX!k{ z=y*k3U*yG`8RsIG!NVPMl}{r@PrQFdQDD@oG6T-ZHtt~-YC0}$eFR57?&gWzAgVKA zhzKFL)?1#-VQP`k*^8}%qsH48`$xE;Jw(p$R z%=39PP$2vb6?1>!iBV3+#v$M2SOj5sgo;`xRe$l|4dJOL^oyD{^}j0X*TDCa7COS+ z^9z4u=8BIDj@cD%zD%O*b0cv7Ea?*i^u@X9^}v1-r)8tJ^39p6*F}d<;t-C zUu90+jzw+F$o-MY_-?gov8v;0CCKA@Lz!)>rh!2f?vJXkSMe{jnr2K4-bncRgZ1;< zi7%7>FR&+Zd!B5Cc^i~olV{)&G?V{d4&@p9Ych>KZq=n@3UK}r!Y^97agnOltM9Vn zb263e=+YRW-t^okiPK?$fc|MYG4TcLQHcic6MEPbhinn+UUEwBp_^CMuUfg9FRMzj zB$eYI2Gxu|WX|Qdw!ARLOik7OtSllFO%NYVIVz`EWREgl$b5!CAOeKz`d*}q`qmeD zH`Kf?`f3+eWM;0xAnEU)Y1Y&0!CdpB=po9x`dGxjw}78Q%cHjQX~F1yE6l1R_F1DN z8Z*lBdtOwKjmfb9oTygqdMK!O?WI?w7s6BS}8k_KWX^; zU|^^5%UO+GLW<6;!ui91^LsLADaT>n^!o=6Jbl^oqlWfh8~m-fiprheCdEC)1YIMq z%b=e@O>?K~pH%$7H;a3hX`i4PyKi4`^9%gRym}=3)uBa{@Mj0V=8b8FafUmeFaOi^ zhEZP4vd@y?HdfndWRQ~5R#um+$z3&jEHYUk?wMxQillX~j{eg}v++V@t$q=MQ>xWZ zmNZq<`ijJ6Vrc?PB;Tr?-H^#uSm+-)3Ex=kmOOVs+q(2P%&pLRj_(aTF8*)?Fb&HYoZE0-`+}Y^*leZ=AC%;eYm89+Z5}8>Y|B^NvA5$cj&H)*~|*d@y^A{ zI#Gj3lCVV>H~; zqO`BQUnKj^T)(q$%{PzW4aYG{@+ezxcWf0a13jxJdDiSi zFN&Uv6s>l~=v13t^miCw#u#J|u}7Jvp1II$D>V+2)gi~aX(u+Vy&6(KH-}0yBHoz` zE8pj%CXQ;gW|A4!oazl7-05aJbX`dz6U!=_d!Lpb*KT<P82=12~k#uNYC)6 zo)!f#{Iu(-oO;%SD#Qv&PBvi5?M?8^^v*MgdhQ40o=`Sg$aEALBpu}jAG9{tOM8kcbU7u@GH zU%s;zKr6}f>n4u*y!b1_?}{a>`;GH$!8QFglDaf>P%p|3TIF$+@dEH17Ln< zvkjCn2KQb|DI)!8U37RoG~iC&`tPoy`8;Fmvd*k^5h>D~;^i3G&Jlw~I}-R2)c*NS z!TlAZ|Ex;|SzK+-6tDk$kA64oPTHG>EK9cafIKnA+@2BfDoqV&nGcgD6I0%3qhjLM zqW2HUlwF>gDtWtgTv^ll*na5zaB`=!`n7My)Xr|_*BXyX$xA&|0$;?(XSJ+YBa~~aJB&{z};SDOgy?4CI`_i31NA=EQ z8Y)J^K^gO$jlcTS+%hHg5{#LqpA~MzK&0JsWY>IZCQwc5mtRv}uWL>oH(o&8}+%;N~BGY^NfhQH!oAwoQpF|CUVKDt(7Q%5v^n!A!1bhLU~70)3i>f^+^ zfpM<}Qsa4#bKKs(X{Q=*F4T-oG zB`KL-Hk^QY2)7ZHrF9fou1(F{%5i%CB_A=XS!zaGg?{=v+kQi)-XQ;&Xvdgl>+NTj zve^r-AX$d{BTDckD~O4}NRj>0)AyAz1-z-)DzV01GiSi`*&l?T<(;N7#frL~&$ny| z>J@E!@|T{DaysZu!SykVy_wE+zwX6V+Il929%oD6no!yr6Y)J8G`0K!|5QIi%|7Xv zS17m9zrRjhS>1H$=;R^TFu0y!m*01U47?aCnm{iV2#jLYvoBAE)3z$+Ug_4_Zlp** z^(iyU@7tCU>&lBsUq^UbSbUp#bhs|tNHg!F`NzKCzpb6Q_Z2!!>eS>V!OmPle77>Y3g&{8cw{QM1(O|DsXfNa9q_^I3a4|Cy=7faCd>LM-xG zPFB=ZvR@q1$D%XyAW?;ka+!L35!(oXOi8)6h#xF0rB7A!5b9`Cva5`bf9}L&d5j+S zxJ$qvw(CkdOt|B6KeJ{$Yo#ma4RqO;G#Ay~mF?p8CF6 z*Mj@^kz2grb&PfT>i@IUqd;dIH%KbMg>j5*lpZvKa1(XPeT&(k$K8A-5b@G>B zmjk-T{l|%yjI-`<4wEt)FAf+8ql1qGa+u8eE`_CS+srl`@U)zUP`7z3ja|g!4cb} z;M>_DGv1qESuyMMwJbMIr}vT^1xKbCj55FaCN{RxFGsl}d8Fp-QY1yK{16S2sf1qU zs($?QtWtND2;;&Ywzmq*%te|6qNpopHsS`Cjxr)u#xn@jOoky_2wMa{{m>%@P)i)V zq1m+1r@M#2T8)GM5cHna*gfm_pbYufug>zR3GtuS)|U1mw2#+y6qGjE;QQYfZQ{7@ zI3=iPc@TKlOQH&d*3TCe;=W!6NmpX2yqM@(=?BP?Nm_Au68>e_@I$ZRG%`Sl>nxYE z&s>>TMZ=-n*h7jqb;x{+Q-PVRdP(W-syt@$SDPe-rbOPvMA^}3Zw0}`l(HCIlmp@@R zH`sd`)qOgbxf0)Lm9KGNPv1znHRSD_Ta$-~BARY=+c}}l&YM3Y4W0Tq{mlL|WSef9 z#GB3S%Ygad%1~hDb4th4BOSL_D>2swJap;8hj;BRR{<_$;tJ17tK zlFg1E(ZzX7O88|4Dy*Jp{YRz5TIf&pq59^P3kPIl~Ve&RFeK49ZKpkjEim6Ye_*E9W~;abF8dsL~?qH-rDi&cX|a= z%NAdsPcQVGfqy+~7@dU<&lYZOj)Z*AOuV2M8m)w5eMYOL`LZ}?7~>0X_b8h3I1Bnj zN_u`YHOT6t4GfcAI=)^MC)yO}YTM;!+Ck;znvdvmj0#`Vz6Zs7YH*$?nK)7S9V@^P z{#ODhw*_(@U$Cx?*^tDvn=}$(@u`5?is2;gjEigntj!lLaIbxq@`1~S>8=HoP16n?pf|hoDlS?S16Q-n!YSLPoaq5Sq!%%21HBJ_*Nol*wRX)mqFbu;sD` z)f_NtEv~HaqB66V2o~tNv%7BWqwb)&qP;}ta4ue~pT%uC5lt=A+jm#Ns!11IYp4^0 zsp{@SU9!y;e(a}J{fQ@ygA9@!b0G0^b_u>_L_2fBC;E3Qe?l)-?&I{gg;vi?J@pKV z>dJ+uX!R7=UfeZX)8aYyPzcXXSWc|(=T==t+XWs&b2yj%$ym5wyjaV?EYE%`6aIK& zW^se_{Po1Z{03xEvd`?|R6e`sSmUC!R)gPW25$7itoY$atp9j4iSMy-I>y((sobc* z9ywf{HK(h@+7o7GN-bKB1zMm_?n#%XY8J$Eub$`G&QMjKnQhay7>zNb9=tJ<$T;Nv^}=n8R`sksz%qu-VG7s$#>p1Mh~!ih=_R zXiN3_{Opo{zKTUca0=(Qv2*QIE83qoOmRkK;F%jT=i!a8u~T+a?DjVz*v|Dn&U!$f z;;%X-Q2xAi9Vi8d%X8j7=lE^s5q6BvIDO>r<>#GPK2)FVb7*i@dCDg)&R$^iK`P@n za!2{_#v=6ujn`MxLcbpudu#d9H}hIGGxqQ$pPxuh#mm!7%POe|)uIy`+R;vQNkl{VxZdN@|h2lNZuCRn+mO zmY*HZp?}uwevk(_yP*ei64c_bh+tWA*bKGjwBr}gnROPMdKG$VMB=Vx+%&_of_?f- zFZ`CJ{fT&$+U#V0DaO|3n}#Y;kAvk-`~{wFTK&&$g6!Pm@C!UWx70gPpx*~D#VU@6 zlq%xBGEX95M;q?5>5rZoZlWNIV-c^v?WeEQ)@AgrEOL3C>S@cI6F|94f0d7A%^<#L z(7Jt9(apxVDVflRhZir0ee?S|bmN(XUr!;CGIV>mn%za5tx#eq; z89`N9+qG=RfB3uui7}nk^WrPN`;jOZ?wj9M{JN+Wo6u47UB((C82cmp=*84R{LiES zhDYmg+AZ+HW0}jnR+((~`jq=UMSa|7=hW+dpW}$LW{QFp2y5`igXRCD_AX#~RcI45 zkv1guh#$#+!*mnBGngy+nX8w3k8bRDh!Y#^u&vG_rdCFVfT^I$Ji0M)$y<`ewoZl8 zWD_jLug{5m{gAK*MxUS{%}>-xkyqhNKq#NeMX&3ZrtwXMSxE(CV7IlKs9jgTLmStI zm`qj=$YqdTC9}tP4=!6f?1^>{>~vZ~558xfVuCzooF(lTt#!g=Mc(Sa_@sUL*WBAv zZ_?_9F)S}}7*p`=td_-Amd>rpgm3FMrWq~HZP8FajN3nCN<2Pmf}ZGU@hFxH=?TAf zb-US8Ek@;X4G)?m~aT)SixfT#UqOKw2{wU`6wn0y8lDodqy=Gb?u+hq)A6w z0!cucB2^(k2)#)Yuz(;f6j2ZYf*_sH2?;s4&^lATbJ2QIEJ zmU^=N_9=EOnA%{XF>*EBQE_AhW^V?_`2O(W>zX6^akdBMI|FUkMeqEnO7`q)))w7bcc9kppT`sTsW zy#Uj>JvjfkqvuRIb0)(3*X`MJDfWs?H;H2ldE|ur8Na`ahjIX#w!6l;H6_70T~QXl zh0ipbZgrt3m9@a;rJUTIn9&H6`}+@-#lNZ|^}9E~*4|$D%~;3l*aFGl>i#^&YIlCH zsNy8)ALK{E|72-)-}(02tC{Gks>I8+zWnt2WOKYMkL;aUQMm=cj`&^gT8&H%#M_uo zz-F&mwESzQ$sLy{7n;d(k-Y7)pLa!cs=`(8#2O^dA8$0BM%+H{sQ{(~&rMGZ%(-8e zu0pJJDSY}dVo5j{PRgv3dSuOV7PGtBdwehDbsUud&)*`)r|Z~k-Y0^7HE)R2r^K#n zn3KC=<<*4$=ya_>r0McZ&%Xawd|}{poRzsa=^Rz3>#~uO)AWrj)%%H~-rpSj0%o!? zy_x^Kaat}QQ{`=RR{Hl;$>0}gPsP>IBb_%d-Z@m6)J%sC596*m`)3s6y#vi?A~as& z+ozoIZp)Tu>$x59zs+~#-|SDG*?GoTj0glc&L~c0kk-Kq|875p;$I|A!|!T797=N4 zL;dpA>P{Kh665r*-anMC_4+g$2>)&AMC9N^3H%T`4PI?OyhWc`Jf?`0w=go<{uBCa z7clboWq4g>e?hf)rvE0tkAK@2`0uumUFN!RySA$KlN5!@b;_3pU%BTE+$jV)a())& zI)Cw*$w_x{pFj4$L~9pf|o9!{Tv`J3^n-?ZV?!CSz=XCt&qNeV__QPYq;N+CVr`k#G51czy zw@bFq@kk4}@p#4W^U^(m*91?WrJkFwgBgoicCLK=)+RH(^;h5&*|X|v`uWSp>NZOr z6Fd2-y+&_cz09#4`lZ?1E{Gs`^E4F8yR@Ml?Cgw-9`|n^*;k>_lhKXlp|?e0E-qe; z7GHiyjlEkmG!Xmqvyc1t^dnB*w?y_5 z^K7J;cElSVV4W#8yB=3}SbS18yDPdIvFdQ9fs9rt-yZdEdXuMl!NYB_@p!1Lq3@ut zrqFE7KsV;V*#as2+x(edGuK4%!MeaZSe<1+iL1eapiI)}L$L$)_}%f_ zbUFS-?T(B8kYAkTCK``_S?SDE{p;8K!@B&Bc%e<8B{4P;UMGkJ%m^flc=F4Sj*1-; zq<@Sl45=^YCU48MO^4-vo4ob*@Z|5{)$iV44G!O~iYaVS{b^BJn=vV$Iv>QVvv*?M z3<+B7IXY)tj%nMwFTQZoiG>0-f3ogXJJ*%Q{Kg(9a&P`TfB%C%iu=pIQvt+UF2@SF z+i9GtLXq^9_qwc`ginH7`0Jw+D`9QHQc_obUpwaY_N@?ddE&KH#%K743I6+~dnF`! zkzPMi9=TjAH-GH;1JOilb;=L-UM#Ape}4~4|MKs4nw%$jTy;HPl9_^Bq15==Btge< zKi}t^9;>^ew=8PqqvtKE!M7RV@oU!&j!^HPN)hZ^cWPp4 ze*N4!P&|oZid*~s5wSAyQ1hYzWC!=u`d&RA8tF4??(+I8!3FTgz_`GI)T5!gY>>die&CS=sE$Mo^Hw{8JG6y zO3iOLdKIfafBxk`cS-WWxg#~isNmGmcSEl`xl_=q_Kf8g7#exav ziAE_FsH$mv$(M`o22q}?KYkti>_`eGY+G=TQapH<5t~EnD_mKgA!+O#KOfo(|3>*Y z9Ph;m50L6JU0$jBQr%M9Yx!)gvT`ps$t7(e?j}S#%}paz`uJYm*XR45%-ZSiL~lHN z{2czwNxzD2tos2X@yd&@AB{HMer>U40v&pWtUeah8^v{G0n#m_wrjUPy!>a5HK>8F z9+?ivN(OnO-orOlcmA*)j;9bC#SW+3v3i;CX|~(@fb`=i<1Hy&VuwvrL?DK|sZc81 z#yG_&JIhZ;JVuj0QnWWCr80Yf8}%f*faG`i#$DRsBRJ>Ofdt}@Ap z`zSmiCzD(G_l=3h#%^I|Wu@M{%vT4@=&1UEsPvdCt79;BKNju$k189w?~%v* zAEt(>p{$V+KUXzM#IUOYxr4di@*j-gwk+%ii|K5#3tgS#o%R4tACt#g8kU$J86f{7JN2vkxjl&MY?2Wi+e>!IJd#Y|2g;) z3;y-H{KWmi5q>+?k(2kf@U(TOJ#e#pnV(b;>Ym8Noirz&H>KOT@p96s3t1W5-W}#B zEb72C*^>B)g)&A6XfO~qY&jp0ZgigKl3e*j@qd1ecqM4Tj%=yhV&yHnbf=*MkL5kk zwCErE6LibT`=Od!V!!nL6U3gb^_XX#9|rB)-{PBKtR155+?RhbKJDc7!L2+g!O(IF zjwn56{V$yeF=h}|69@D>G(DTG;T_MPy!I}?-DjS3{JID{x$o4~K0CdiG4j`5!TW!$ zVgFrHQnP|G&aKP-cY^=FKHxuM6XMa4y6cxl9{T@T+d`DK6e0ibL@)pIHrM;aF@sn| z?fzT-@t@E6&lBQ>B>vyNP*bc@y!7(!d|hop`e>Ek?2C~k;y6`PmCo-=>sJyt=)f6r zi^;sMtmh{dx2o4@*e$|8J^#)3?*rMthexJ%Wme$2UP=XVmfm*0Ju*0Gqpq$l{d`zx z^xYvrMIkj-x6^ndGHxWgUh8uIdBx|w>Z`#E{?nr_O>J_GYe5Q&3g(43y1CK-U&_me z?&;{d^Vc{rxK=`PoEi9HZ8c2Wb`bn>hIedC#qq&TsYr z=`Y_;PkrTy%?C{#bja7@%qp)vJigsFtL&zsrFHJzs(vI_ThGkBO)Nz|W6>15X1@;a zx58mI{`=-7{;StyNPU9i02?=*nV-Bs-B^j1q3EAUut~sq4m?mt%LR6-4Uj0{*}7G3ya*acOENgxOwwtVTugR&_cvGIQ_P&>PnSl`}T2sDxaS%}eHhQJFK#!$EAMo`4OJd3tp7y{k z(L>;=iKn%WHhI`xl2O~&cWZ49@A|f^Zr`lE)mNx&^oq|<@BP$aQ2_G?u=OUce^Nk zp#9I6#X(9wJ~hN8C6xKzy?aF;K79CGk(9*t!pW(E7;J9cyeWCU^4ihyw7RfU{h`6Iak_P^hT-<~AmNu8yw8_6#h zF8H=wL^l1+7rb#)KMMnh$lvhXUX)}>csEkSDqzbJ_>kaF#EdIAP1k)cwI&A7N+KMy zKb*)-Ss#^%e|h_CWNHf7D(-Bj+lto|IMvH+U3O|Bo;~-=U7V(W+{GPVHigaL{>!)Wu=w8XWLnB-4-aq&GXL;w^zT+P=Udp$1`Nse}X!TK7A@9 zazd}3yRY_6yIe&2HK%mzqUl;yTnI6XdqmKFVT^qCRgL85Rl?R~Q~W6u>xwb@r;3w9 zmVCc<$#Ln<;r+@xjt_eP&WLR{qEbfg*6s9HLbo12wo7kwE*eZ*5Hs7mI z{+3tJc_}RahTBfN3$<~EJ-8izR$dQ;i}L0it&!t+qZ8$iR7#? zzr$&E-T+fP(bc~95(5{)vELd}h{p{XOkSdj!1NGSyQsTMEy8|8pxu^Bz)70IZao?P zXb~H}?}}-~f-c^@AAaRia(3zA&L~f`uyE5-BLnVSwyNWa6m0S~#@b@E>-Qm|KlrI5#+xiEHP4YR(HNx7Yz2Ea4ZZ_iNqxo2G$FV3?CDALJD{iI+$x94H`5 zjmWV3x!7$CBBhiDdx3rDfQ-s)E`{LkQzFg8g|WtfNSKUGmT1#s3z24Cpw(A&KDoqu zUh)Eeyt{8~%+gH8R>FW2m@fnq_!ity;eHfxL4>1p@0HXnEJgu8Hp4n9=FRxr5j5aO z1^z|EY&EwN7l)8SOI{ygvI5RM-w(`fK*I86n=yiu1S*9@t;y6K>s4h1m!Pbg;Po+- zV+ruX>b_8kAZX3!iz3ygj>!$m3$q&Pe z5xHA<;=NS&nW|Tt>aN-wdfZ;#=Rp!e!;y0CGL$h>>0WWvUPsTA<=Mt#YqZ1&W4=kR zG;mcG^Y>MGkRNIh$SZO-lh!N|oYsLO8NG^L7g}%!E&-LAU8QS$jQuV5T~ALt4E&j2 zrn`wOtW&@x8iX=s)eZ z>gO(n3RR~MYyOe_t>+=7x&}2gv}!O_0}GVV6)aEx@&Epw=%S+xRkacb4qsErKD4<3 z!ay*5DpTtPnYEV9H!%Dv^eVuGp}b^^=gF4--mXrORchTg%81q{z2%qaTc|tqA(hA& zYABK~oyR%s7}_ksprXsFN+kTy2%+$Xg7ko{_5@A}E!l{5Ut{)c8v}aJl`D<<*aTXYwax4}jUiz1Spq}act)KmrpW-1lR!;25!fF&)P=8za~tO& zLC;2DPW3>%=KE=q<4Mx?I>XlsGCzRU8A3uX=S9}6OYQLrR686SQ{QXZ5WutLrB2q zYo<3aHYEHg1l1h%jLrSQ{X}zBR0_@P~utMt0(5R1J5F@M^JdmE5%M5)|mne#u-pB#jrtQ@4UQ5&o40Kqm*z zGomLxe=VZcM0(a0b@znSTL`tL!Aos@O0@bIP7-~}g<+ZsQ348(p2X{jQg45_#(RfT zz5=Dy?IhF9p%`I?7Q;kNRb)K{B3y`G%#7CEdnf=`L?BLiOR!bMc|L)s`YNSY{d=zDC!W|q7&LRYwS)oXhWI0Mf`w&RevAO5|*!#UxHob?+g@NkY12q zr01!~bZ6c&shsIk#>pVC`)jn&`)qcuQ`P{dAd1QRAbbfh&AP2NvS&*(kz%u5{47Pe zMmQ6md#%;+&3Ih&zXYyV!|P{mp&C9~e*1S96*w>_5EY~vve@w8y4v!*>#tRXKh*m4 zm}~li^ui0g`n)!L19?!X2!{w7s(xruDs=$`3Fqq4rR&ng5%!`)mgl3^H1rTE3VjF_ zfhtqE5yRfbT>X3sMAS$co0z}|V;b{%#TrgUd3&Y7JBpqMGeX>*P0oog3hk$eFEa+| zL=CxvSLVo#=%t^!Hc&ulglsoj0(KisL;2|;&U2;nLLz)T4bmgngP8K851OzHw@zVC zqRk6M5><$=23Mr!TPE%K(DsnIXjI>rf`VTda?jc)aNkRSSbiqQ%Xq=REW zyBg36SWMV!z!$Be3PYf7M7r|U!80jD=wBS&P<1`)d7R+3DvX!+eW}JdRDp`A7e|fG zsc)9CVPpD?Hg3JXoeRvMQBo?n1|N7t;2`0$4muCDV@8NaRzPPE~H$--C|+J}Hi3v#ssU`WtiCi-v8j(R+O=QJ!O zRw8!oVMv($R=?$`{V7s(zN+_Jxk9Q9xsiRXS)&!?r*68}N40%B zAqu&;R)Cgk>|XtSz(wIqH%?WN9DT3WkeKw((5wBLiET)VFx+iKI)eO!+*2|M%64D$ zgzR{bV$ej?uVXI-zG~92$8iF65dDjQkb*YX5fjSZKtWl|pjbL6rS_6;We=2s`j?0` zF-fC0orEzSwVdVYld@rrfee03eRthYO|<-wTvsQ$ym6Q2CGB1C$n8XR8yNCu3y%|` z&iYz8$j!;Yr!$P?tlc@oYB#C&QGzN1R^Nfk3_@QAu&`??PntyfQafve5uEwZtj%&m7PrSRhc z9Iq>4`~nx5PZ*9DJlGcB9Z)U?Im3?{7{cDH8@DRKTwHeoZx#8UZCX-}l-Pk9H70sW z(@IfK$Fxtz3#wDKdA3%@NHn)Xxy?Dtr#S2`5Wu0A9B!BpIz-gsl@oS9Z5wmf7$z5? zu+V=g=dA8uDs))4K0WwHIu#5c0Wttt(q%)a)9Ws6tEhyaKX0V7r}F`s(x31kG)-Ff zTCy4>TC$>pAHGq5%0cg{H8OIBXeoQ&AP>B>o^Nn$jBAikG3U485~LisT0q-I1@IQR zUI27>E1Q_Z5>_5@fEv=cA*jznt;|Pb0d*B=Q~t5@V>5U+WGI*?zwh5(0QgG+DKroo zMJ1Vt(n5`)A_j~bj~gSKWt+wq1~xL!wj6@^=@l^?7+@Ep7!vQQ6gg=Bh6!i}yqm7M z^0{RXCFKn1O#2JXt;qEDGwsVcf{sftr`I+#goAi_^m(_l73VSTfY1U1|NR8z8*5*m zx)vyoV=CvDc-iWinBv@02;_q7S*XhT82=o_HNIAgA?n>2*Q+cOO&olU31#bMDW&Pn z9FdLWFxOshUoJ{O7PV$NT+>7;C6LnBQOZ5qe?=;jI-ODW5+ryvoEx90BR@wKKoD|I z-@98U5T`?)%(K30fQ^Q$zG)|M97&S4`}eXb=GjHQM6MPmK&p1z;_OQqItr^&XjBw;}zzmrYHq3StTBm z3#?u2gCPjg-U!zSSsW-5emWX(HY&a{*E6Pi>hOupi4Ww$2X$Hp%%^ZC}1B`IY;?e+f+U9aUrcJ!;e^l%t6aU%?qT+d>Hcyubrz@j5DL)xFv@R+MwA8 zLk&}?uWc+%FI86wv{ke+2X{;Ga4JR=PT{P$Pslu*FaV+5&|8%OYpNg`;!)ThCQe_- zu$QnXj~)|bT!xC~3wF+r^|BgoZ33~SX-E~$h`@B!s*gIHB_E2d)z8Kbh<=zbaclTX z%rlL^Crq2<%fT>A2TGD^Jrd6!!*T`yjX7wyy3q0|)_mDFWlYB| zh)5E=J6Vi7;4gw!x?HS2u(CeX5A%b=rBq?-))ec9KWk=$D{0WL$n*kzOjk((h-rp1 z2hH7!0vfN8O>}$ZGnlkOHOa$~mE=K5@2H?Og`!21ZrS)V68X7K zcs(-wfFlw==!sDVjzTR4*h}na1TYO~PB<~rvU-w_BUkDQvlQAB$qb4Dju_{VT( z*C)sKK^OoqVx&=`r9;z}H#>=d^coMVoZDiF32WCKkKllQ=zgj<4b7-XE<MkZKAxekq){=NiM36LZ8JMeIa94dT zdluQfPDTLsF6B5UHdQWJi$H{Wkd&#;OfF0f9DJvG0gD`qv3xw%pfi*>1;R_iXK+$K zpr0Q2oSY5#y!CGHp%Lf+df|i>QVtjhuV4|lF+s+c?%yiw*DJY^=g-T@Sp!|%;;Rt! zU(1oH-HU-lVJiFU#^}Rw%_#_AJuMTBHJT7%Yb#^^{r6p~chZzm;{N2Fofh;7o6D{Y> zFuF@6_=O^43Uy?uEU7$zFRBKVXUhYu__}0Q1_V;v;Yv=b9~RSmt@M0YU7te|Zxs^QS{;Z0tlq$Uacc8&NPF?MT3{<+YjsL|ajYGlLQG7y zOO7i0O5-=!&}Tb7bpr~07~?$X4E zAippIM*{G*Y(_bq2f}5lu9OpwlUfWp52lqFb|eFG0DPrJw9!v7ip0pt_Mx~szuq6C z=elGs*QUSUPmhT-mvVJSmzCU(>cM&ctPbbyuIc^8HcEcV?VRh6p+lQu5@wHDWg0!` zD;vWI&&YJEtm%EWth*1=78O^SFv2*ARhnLF9K#8~Tqyc1-cR@d%E49quXbO0*`QxM ze<8(BuK(L;+kzCT4>f|C69bAZv?rn%iiGw`%-1ihLF(s!g5wvaAW!C$@@SipfX=p$ zD=3y>V-*fH)_Q@hEMMSDpm_T2bdhFCps5-KZ=fr>J=z%4ggOY}Q_rT0AXkH1)AlMJ zKjU+5CDC{`j}mW}tQ7n~M@d_d_7fTgU0Q0>X4>V=9X%ht5LHA}AvMPzgsUQAtx} zMqDj{s4(nNY9?%#kj2qWBImN_FjvBkqMt=bgkd-L;0N1kK_LC$C@TIlImQbxr68iSBQ@cog~XKf*cu0uamO*5wUD6)*cf|)DCPOq zuIF@nwm1t%`wkm$N(8@46W+R2v00vZ<}_BobYt`+hHaw5v((^7uMWaiit$GT@Y*Cx zbbBEb5GzX5@@tA!hGGbsS{xs#AR>`?WR$mI@Zf#d7$(tN8^g%i=3?*X8qwGvgo(ik ztMEDJI1#ufg_7&$JI_^W#$?u9Hdd;-&zq|jOoCH-ka5UpB_e;J6tnnbNmE|7(nyea zgkZOmnqg`jt6R(5nP8o4Hz87_Y(<(KS=Xd6pV4ue33!wG`VnEd@30-dBpSgyy9Fb1JQZdLYNqXY)80}6wS$0vT zkS(|=`$!{=(`*Ync2yM0A7hlAbm7*jX_d?DWkCe=8qVNL@PFLb>)5i z_WR`*lK$fvzG%S>>&!3(1Pw9`0a}#YDP9WYMx>R^qn|pVz5x5iXJvVaw^M?zFErd* zev}`$SrUYZ`lp2LKUrNL5VflzvzYDC4wkhmw+J_TW?0!tERPeNR!+EkdFd4lp-^t9 z1nfK_HmoFSQMb{%Q9`YspDXE^3{VuP*31r!b&6buLWpkvP3w_AkRh%QkcGm;RhbuC z661`-w71PdwV|(|#!!Si>9`cyANwwGrG+6Y}!lNzumFrJhoB%Z%NPm_G+@S}vWjS<0XX5&L(%|M&B z^4N(B6egVKT5{@)X=Lusuc*EnD}UQ1NqAqV5u&TcI6-}@nSbL3;d;Y+2^C8S&wU2! znxlHGOHy0qp3GS=w}kq6Me<&U+`bhbLIE?IlIa4COZH=y2s{g}T-cS;Uvp>$*a&#f zqZpOy#FNG?t%7%hpAlDAI{OIw#HJ$~^FfQP4`Llno=za|#!SyVtm?S{gj}*$H~|k4 zZ9xJixg|XhK+9HQ(#*>dg__e5VQNbQU%kpB-9BRd$bCv#khJoP$Ur-s;^f}E$#4QU zQsFOBl>!j)L%{8NY53w(-K|?xb!x;8DZj>W|GzHFivPyqm?~$H7s-c}m9rzV@&Alb@V+175LCXYek8(5-W;@LW*{|5yL?)M_euwoob}t*UGqu{3l`YwGbqvn3f`27)Ho_MTnF!?G z4VOhfGnkq^1^{I7WwZTbe8t_`=7ZEy z`G$~F-N*{HpQ075k}-|{?K7Rf?ROY(vGQB1c%&xY>D%ueg~9PdzrNJ{ZUy(=ZudU- zjI5_6ILgT$-WpS-WMB@no;9(01g+Y=b8x1_(M%>3s za(-933jvwy^4@v-Rj-dQ=8-T>X@UZT=~ugoq7^KxaM_>l{v#S+!P|R6C_edOR%~q$ zvFeZG76hutXQk17SL2&<|{TM13m&37l64s3nb+vO6uin2=r36phalSikGHj$(5hNt(b z3}0zAmB*0r(=CwYMXl1)2zN5~rEIOT^ofzK%2JsZ=w_(r&R=(=;?4LBGyX_xOGDB^ zd+}~AVMFV^7WNw(Iak>pAo}Kll1d=wUlN_7PbDF!B{IrEgfj&)^sU&4F3hZfS(aGD z9BVj!V%lv}-FtT3L@l&v&gaT)9vkX;1I$2~qKYvT`$#jz8d7_$6l(|aR-LobP9pSu*rGqp1qHH~4du5-egkd?ZJ`ZJw2cJ(u1B{x znbO-P{tbo2(gLY+d%gyE5*{QMErt711Q1wK5O&FIRNydhDCA51yD}k^Pw)xZxFgF% ztWQ`i$+43BP%X~Ah^`t7F4HnNtu9;3sl_4o`EPUVy*~;0lWXAdL07!BQSuiabDi5S zxGYYhMIqM)1uE4ceMR z<|=Vk$T)X5xa>Hy#g%xG`$QO!_EBb}nV`$&!mcqo$M(&^9)NF;v`lruX1y@Gz8{Lg zVtr&2Sh)jg!#-XH+5kpWn)<2r!*_%`97FoUG3UybD)fYFlCBB>pH9ebD!qRJoaC#> zje)*GdGCQ*Smxj_z0)R&eSXn(s`lm}p!s5k!_)_7)07-+$x%BmK#h%71}CxPfJ|5w zJBvT>Xz=SbPm~Bb1+T8jk3-(J$Pz?Mj5KXKTT!#askNww3gm)zyewXB?_Z4{+bzcK zOgo8`F9$X^JCoW1b48&G@j(uXj#Sz_`+Bp+wWllc&fOlh?k+>;Q>e%}JrjrI_xt(4 z!2wIh$2*i0(#v$7vFW(it!7gz{bHOx;Cs~CkKo#xK7poqzZR*C^WY+MWV5;`{Y1->Ujv&MpHrc(Smk&{Ci` zbl7lg-^NEz>3yG)G*kHYp`agyjPR5LPGTb1fytd?#kqU)8G`aM4g@km?^30h!0%RJ zKN)eJmIl@raF8h^P>`}%3Wy3RFtX`3Vl+R%Se>QS8r|qZh2EyVSKLd9P*D>PvK`d? zdFNQ0g=cBeLo(4;T398E&{cQZCFJAjfBupfVj|VA@RKgHQt*_qt5e=$O*{%96a+-w zBd75%>sO6j@?YlMEi78|no**^@p&aHS3QWIq3EXJJulI$v3T|ewl7;=3Aj1<-JRHQp%#-A0lSzx!Z*~TRvG&Q5(Ttm+oci}6O~w1 zSamyBWYy=YqhQ+e3+A059r*}IyQYO;-peJ1d`3j9Q|yh7?}C5BY_G^Hsl|ndEXdOD zm73=&sDactJhEpP{fA|KWu!07N&Uw5;keB|(vCtjVy{=%hx>j!yx(cni8c7j2RN5- zawi>`yVL5fsK7g0~EWGw!O&ptPA+3ok!+pvP z6`z7o%Ki4Fm_Ot@!t_)mR5wI^JHFUg!LYhi{b<%LJMWiS|1(Ek+LKL7OzK=&GRR!C z$Z;;DRZ}3p;)n6?eNB+Iy;2A9ufO$IVT1OghAg9)BU9>|LCR-oh7QzXOFZzdu@YCl?oLw8Q7OYQxbC7Oj zLB8JPvO#v-PRd!^QmWyAg#B%}p~EV&$*?LMP6*`R)>A;L2E(T6Vrv*D+CzV~t663h zC-BUE!8L{GJ;LwZDw{WZ>yIzY$Qh1n0g{r#_6J8D1t)?$mFY9$hN(%>1eGu&o<7UY zg7;NokiL4L@7iZr0CUz`*L;z|e1Z|rq39V|GCK}LAo1o;7REUcM&@Go!7eI;Af<=h0rpU|f0yGg@FBJv9 z_6TjAt4--`%;vTWa|jB2Gh}IUA51qE2w7$v6r3$Tm_M8=F{LG8bWiL$GcX&>haCu~ zDft5{$c~wqEl#hBv608c{V4HLo&DgClixwj6U=U+eCq-GJVnA--;aPknTh08n!cME znK@#X(j#v=mc=LuZUAbcc?TO*ezKbda_<|w z3XAr(kCR#CI%Gv?NI&}cQaBSQPm}&P+(E{Lpsj3DxKnhm<#FUf9pmE^l$U`Cj}jFG-U#d8OE}YpC5llo z2}GGB+@PSK2&!lg0qWi{j8CbMs0Q4;#xLe=+a&{i8vn-?d9`5Ag-@J~NvT8GQF&ea zknY|MHFDeQQ7kkf%{P%%1>koj{fk_)5Uqq@Mb@yXKg|vM6fJaaXdjSW=qjt^2it6= zy=yvZ5@~-wDDe}E##A3eu3x7$iTxcLCS)e`cq!V+mpOBlw~tZf(=D32eMSHs`74J5vFRgJW^v>_fT5t=A{)_We3 zsPz4P;ED(u}}%N@W^lZHuW@MzDyHyNerW zVAOR$h5Mr-68v;GRF9je1ohDZ+p4{!-%tw(+5KRkq~z-2Y9Ix=!eFa&c(p76bH#ob z>%K(IqzZ@!9jl!7&#oz6NYv!?($3qH< zyLy@0Y$f-Qv2;K%x{!UpUomBfu__!QP_19HU=&E8XD?(qWWK?+e{f9)?gqKjK$V@k zO2RQ5Y$13e_V>_CY&8GFf-X z&TIvumn>Ff{J7EW?AdV!oxHQJ#9F!!FXm0P{9&KRQ{L7Fx%k`aNe+oY4Fa-es)Di= zsz5@~p^x^JUv}PGHPggBom5~vRO7P-9p>$IDc!7drM+ustnR~-SJIevwT zF7f^6u$)0&M#2?u`|r0M%gIKy`cmq%`JL5>!ANz9k3MCvIJHLgrh8_AwA!N;N-I4d z73uv)q-UX?wnf=~v2S5(Qi)_FbhX2&F<|XOpSnXI3CoS74INXM4~NvQj6sdm%K^cX znblg-%sV?lrj2QCgWq0>{?1%w_^ZLLEWoCfYDV06RFw-gne;T$AF>|O_+=_(Qu4X3 zc=x6U`7m$`QtW4EpdF@$Dx};6cT{)h=tMF&n{^I#8t*QX(4+nsW)#3~)n9)N#p%qL z6L(ASBf6Kb_m^Rr!=be#(&JtbGLJc58mo5MU49n=yK}w!+f~l>^(LG{D`lsLIH^WG z6-SV9xYEo;f$IhlaL3OO5{CI={bDHEdcOI4=zin8;NJpy8eLs!9c{aXmXLL+%wyej zw1lH|S>QhHe771pQi0}inT2w-EpJC|PzNL^k}^sr;i14IU&%N`d;>XZKgCHx+a?&( zs7h!E>HsFN3M2~63keI+n@C7~{7FPcEZBy0+-#;vcp#t`tFId$i_*T)Nx>pFD8aNW z&%$M^GT;0>keav5aF(@@odv#8-<BSrPD_mt*xj-FXd(Dg%lXG`RgF?$$%=Mdx{4{Kb5}g$HglL#L$!I`PG(kRb z?m!`SN7d5#dOk(gG~4NBKZ8_Q!2OZ&5UPDLTD8uW4a!iead07+ErQazLy(649;A;m z!%*mTZjgzx@UmQ=`u@E>NCp{<(z|sxJ@;#3n>%HE(OR$t7TH9zMD>imW=fWcD@JdtVCDDitFNw;gfUJts>Nyv zT{Nq{9E=D3V=lnk}45vT89G|#r_Cn@W|2a%$ki&LPorREv^eL zrM5CnD1N)O4rN$jB&3H!0Z~9QhR)ocxa3zjij8`&Ht(-eNu|5>XK|#Gu5{H9F9_wD zd&Tu_Y!U9Z>%An)c6~q`hy$f?2pAi5X$Y;<4U!Aw^iUF5;AKA~MM&;Es*myvxn?C| z{FD#*yvGcJwQ~!lR8y+ zIt%^;OP!_paKfJPWkgrp9$ix$PVgirBk*t2&|8I|=Ngn1m;4QADP!}jD7EjUTJ@Gk z{h8DEYY_g%2FC`Fe9(p&1o=~L5QU0tCelx_@ z-XtrY)8nlVCfk?5L*$(`Ew3`{=khGwFY{_e* zMvR_h2?BhoL2X?~p^oTX?+-L3TUZJW;(aYr6Vz z)t{=i4tCnzEr}p$b$`O0ePR-vug{`n9{#~1vEd*J))1lOTRVh7wJ{AE2@z$tZ@PE)>LuUm z^{pR7Mt46-Bz)lLPIym_yD!647}H0{JQ25lZP=cXj7_R{s;K4p`aV^6JcXY1%~b^u z;jQ5mCNaJD$!;e@H{4Cf7kOl7er5 zGvF*`swZhGo;`p0D>s9d5sLzz6_{Ur@oDyP{OM?X^_xyUA0-+VWGR@Z&c4uiY1O!G z@x=?1evcV@X+yQuhmHh2Wx(6N9rl{W={*-sl-x2XzNOl2%=q;P)xq#~fCzyB`^eCTG8#njAL#Fs?mKs*0{F4OOjw zEnWOAU2Fn-iZFqWP?mbaxI^+SD2Ajd$`TX_E%7cEDllq~tg}0ki=6C0O0bVQhO}A3 zQZ#fuRg&)vfV!h3c@S2cdXQ=?wO@iKBedg7t${YH*Y_Tk1;FG=!y7}uOOHhm+RJ;P zAY(twPcJZ&{@@bi&ub)8%FIK1LD>KW{=hw4pa_5{z{&(^@H!OyL!qbgGj((TNxU0S zvP4LRgYA=5`1l9JT<_ap?~q!mj9MX;Xa6n=?~8l^kprPC>N5h5Dj&&~q&rkke?i3+ zWugg1-e{eG1oZ=ibqVb$1%H@}0xksi%|b2!if3AXl+dleP{<{8xjP^u)|cxWno`k> z#1-#>jF32Kbx~&RVJ1m1-_+PLWjzvjf~Fp8&wP631b8yFivDH2=Mq*kRFp(Yl5`!4 z>$T7UlpsjlGd5ij`uK+vYKICF*p{j%%)*0~1RTTc>F2Yolg9}DF+d?Pkv)St!+$Th z&Sy^vA&NuW-g9q(52}C9<#oPk@HDX(8*578WY{6T6fe|-5z^}^_5_0b8+>DLn=basc| zKF|oAiA#)4R`E#kqjPTv3*`x}%jqf$?l0gWU1kF?Zch#x1NRFWgON;E3Eo_;wghrN zX2BWVk>0s~eI~8_lr3O_cvgsZgVzQ(?h0`nDKK~(zuQsB+OOu3Lcu%16On$BOHs;K z+D!>yVg1Aw5XctBfyP%Zo$|rx90}4k7}h@ZHK31e9}q7cJHE!c${2wr zL~bT^nMDaevIdrmr`lw17J=GrZ~;+OA8np?Z8rNN65XMzA`Hw&ozxacUhp$)s1s@Iwj5|Iit-4=I5*L1mc57i24y00LX~aPq&nZieHKHy(B!lsasKkzjSs#CbOE?t?qW4yc*_I(~SV2 zk7}6I;HPd6VQzG(4;MV!A)|^WW^W?TR_YiLD^R_vjrA^FTIV9GB+F;JrDE)RB`GuB zY-y=NRB(HxbjJnYC+#$s+|DB*h;R1F=gH6cfvx;FbvkpBF`g93rYz+o)!Cgy30I9@ ziZbOS7>jigDCmb{@KuwZ^cHOvL7H2KM~5GIo*Q&%J0HXlekpLsqwMZ?y58jkB!d{c zu>qm}9S=9svkamLh(g-Dl-5O9yUeF#vJ&eg$WZ+1)=?xV=3dlQM>R{ENtu0BF2DDS zVL3X#;2Fcz_AwMDRh;-Fr~8q4Bl&{(K{~6X)6OP;59eGeokUq@ku4G-Ll!DxU(vsJ z5+s}rqdu(Y^y4I0^qOo_>89JaDPibVK*t-TAWD4FdF0M=@AljIfd6A^pEM6@)VQm0 zE($^;n%xll%GOnQZv#~Alw#MH;`_A2tH7ft34-nHU51A-)Dkq4?2)IaAO5E>2l3Ds zo6s=5c*8}+12{ToECZirGw(2+`J>%(lj`2PXRWZh~^$mH6meEyGNlI>#WVbeL>$8 zuuwLIG1-SixM)=SWY4#f%Y}4IsfnAVWp$*C)OI!Zd#BzQ-ZpyQH*V!e%?mxBp*^!y zW*Ef=Dst!;eM_Md%4!q5tBLjm#%157l?Dt69-gv zwaQdavs1AxT?CJ=+j3l!RO$;Kutu?G)fUU}C@-vkrP7I_QTV>xJCsba=i(t*Ntx)B ze@BMK8^sw-IlEy7v8g=Ddi1Lsf@^ZF!6SQSl_c_OxhT;MB=o^sQX68kj~YAUN%vwy zDY^sc;3xq}x1boZbDk({3FXHaI1yqzZ2bCsJGf+}CO~&)-@5yW7)UXTxQGI|a;+q$ z+l27%Y+4Rt$^suY+A|+KY|5uIE$pP`m?4cj5st09jri;bW1Yt!m!0dkY9N650(FKo zhMJiMve9t_r&bzEjW1f2kbTyx^K_tet#}~zXFs_2@_Mi|i5lEnLZ@al6Xt$>0o0zf zBxQ$?*l9*XVLcozoL$dim$)iy113U!x|qGwZp$}g21lR^ZUJn(1uW0ebannG2%Zdm zwS}l=-K5u(Of&8|fLC6J4^zhoD@h9tn8V1<{{e$9TeJ8lVs4CjWz+UBXY)7*)eh|$ zYzIdIcX*KB+jfnaF@^Y#_@%$34byu^YS8>&;Yzph1!9KIp07Bskvv+R%iu9lkZajl z#6mMMpACug0n=Oq-xS1?^qqT0?66eD&(6&B4PlIzmJ%Ll2RK zi{-n4!N6@74{K6+1wL*32;PBL`PTXV>|N5_%Y1DgFofqfBNbOsNy4{=&n0Jg|Jkh? zicf}M4GhOSm@tZXB0cwZNbAwOe%AbR{l{5-aioabqQ|8M4rqz>ZAuok!NmCJ zdRfR%FDM2j05Vl6MDQI3hR?@9mVUxi#SqnUhqe3F8;MTP?YpNF=T0L1CBEl}OUi|C zenhT@ElvZSPwS$oiOz`X4*_E-hCh;eXzpwHt~kq}9RYrK#+*Q9obhilUd ztm6vwT&Vu#?6v2->B`k$WF!dDr$A9YqoI+?ftUsjJ|h$lNa3v*W^&{cxeXx2j`sZJ z5_U@`&*FUedA!GxRU=$^;Y&5D=tLeWCq;(PGkAPZQO8~wbIo-xbJCA57L*YT9HdCi zOn%+h3f@icg|u|W@RX)RBeICWOGoRt-3*V_7#Qbh<)XEJK!DdVZ7P1gS*|O0_=vPb>G3(p4eM5%lVqO7x~%@&UHyvNDF2YM<)V<R<7Zesdx5Bz!6b`yi8#$%K9>+Apf zNnfQvpU@qp*^J7F|6^FlUtRBe`NTdWfwwZBE_u0X9C)q~Cvaa3<^MX-mp49AtdHI+ zP~X|)9G#q;e9+e?b8~lxNnd`?b}=;IVEI=4#MBg~(kIH!qnO2D6y)Hgau)ul*bbG|tat7`b>o6W+!SpO z7bDTy>0~9A`rQ9@@mQc=Lt%})4xL`dio>kEVbBN5m|0kae*i z#yDp+kckPkapkLa)34lc_yVs>AwZIPg%%E^e5bP7cqq;m(%(8=!|RfTFYv#vbrLU_2=YRxo+tMuCW zmLap8_xYW0o?sA z0;Mditx?faUd&3*ORb@_Nx4Sn{mQ8X(gG558w*gUiA9U^bfuLWa~wUc$;jtO4!1!= zNL0q562iIS=;S1R^TxybZoi1qfY0?}TS{#_gO^<{gNJqQ4JLm9wLZ|kIfw`q=qMfC z&z>}`Gw6f>%VT`g;dxKN8it&qh})hZ3I?T*$)~bW56k4xuR&P3=-Bt|7~eO0AmCl( z31&#bZwCa3qb>)K%MK%fd8C4gFj$Jq%OmE&qFOo%#Y-ZfFtx$9ZSbLI(}K59Vwa&{~|nW`U+efe0^Ug?JP>S|3FKx$#yc_bPr8 zq%-)?WG26JP%xPn&)sUEMWZj+La?K&%135Q4HPu#I|%(lWAICf z+??~)K%`O>gn=fYwzf6};ktPzNxKIQPX|5p)5QQS$K32~U{D`C!?JkWspo097?A2{ zIFX_E@n(%|OXSWz!)Z=)15)kpOl8%LiAN5C9z(B+shihz)@?c{Ekli2L3~rBTg6uf7e9!3zUq^cl>U^zu6*tb^(U-eNe}R zkHPZGxbq{if>FD5@Y*j(HYBzk3?sRrn}LzjF!tdI0u@!fl;lgXU`4yVJMY6n0In7( zWD?#(!`>AMUYEdJC@0ro!Hd{D)Xm4t}68U23@}PZ}br3nM_{LIpA1fur(_1hH{e+`--QaQ>WZ_lC+dF8Z;ADz8 zp(Q?PK#V#X(kQ6&)qbe>+W;10x;~1eYK`M3NO+`v3!%fnf3394vK~*+gU@yu4XJeQ zZF9ZMJwyhX0`&o(_QtcxhBj~*)cPLCvxkrjQ+PZE-x6YC`F%ZEZjSBhLtys`0?-0X z=d1L|9@$0xM8ZUDv+M>4VqZPJus2j6^dBS%0F(d;fHFWjFS&3DTHjkXgJapWQ}5^d z8m}4C=|cI~e469zhoNjSKknGVrcfW9pexVE>v^M9^vcFHFL&X&&gc71v}nOQGoO!{ zf}U>mKMJEjA#&)w-Z#$PctegMnjtz;w|m*%f_lLL3Q!TnWC+K?sq_=G(o!k*QWsPZzsAXEC4yS*nJ@|#)=b?&XBYGjr;~u;08!uErw=dPO!` z#=;sc8m6R1onAlODePpVn1z_cQ@8n6ir1qysO8^kBnI3F%RXIDJXJm4RR!NbXeeSq zPvM=n;Zgycg3y?5=bQbpV&d?Ksv(wADxizC+sL($Yk+=v1K^7ggs?}+aAY3P6 z$kM^g)(39}UU+A8qrzT9y$dfpP5S|MpxJWR=^52uwvQbTRx*p+=0sv zZ7lNeR81~*HC_8Fl}S%Lu4Uor0|~f#Lym^{N)pNol8K%%5#Y;s-58Lv&PQH ztGznP)De+}m;jzs$XiNeIzjK!RxHbhWn$K~tY zk(*ZB94`pu?*oo2h3$|znThp9l(aWJLAviLt-B4Z-Loiv?52+EFoyb zy1la-On|c&_`2WW<6})|w}z$jJa3uMB*5hH944gOo#o?sm51Gl3*NliDHnGV3 zUKDz>;}s^(RD9$-xh#MRKnbt~03iRXfTK*9mMMU6gTs6?IhCY5cFY<+VEE(K>lCUBjrE15TVf zE;G$AV7**P;ihQ%ZPK7t+M#9o>O3w)hH3Il}~=d-fs* zdgcO_B?5O^^PGId(7ZWq!sCq@x;bsOGR45OQjnMFt!)T6?eBGqFov}kkvh z3Yr5Vz*PAHw(sTAv^CCYW}=+7^+p9Su)2l()j)TG2hlz|BVc7U9Up1(Ma zcgTeC#)uOzQTqPHkFpj+=#JoIC0YXDr60Vvjt}w}62i#Lr$wD7=f*l8qV4bl@YanN z)aTO*ZnH5l)1i^|m8n&Pr61U3IuiF$<|}qMkZ4LFrM5cmPnn57E?QItww`wI#~pbL zz5~5r_yeQRfM|gJ2`wGtA1(kpYN&2Gw~(Xrt--;&_)}XzV(>$WU_DA7)6cf6DcKGE zryYHYB%%9-aYL@{?9DjT2vBg$L89O^uVCn)E9w;Wh;b#xtvtCmF0rld1=;gCncbF< zanB>7SGwJEx1s-w!*7HE#c>)zD2Quu%J;XY+GQq6&N{sBP(M3<&H7Kw#ZrsTQX^2i zxD_%b9JP7!Y7+xVON6WBhYjch*H&*@GRpN_r7qEs+5=^s?+Rn%GUnDNUpc)Y!<2e@ zTa?XM${ody7dMomW@Ny%Da@y>kFozH&as9N_DFrBAsC{BgagCA>jB2{YArfNq(gx) z=TeHz=rta}6HgEtI(+We#&sPKZ&-qWd=8K{6z<;!@E*z*UPYhVmKRL$egf}FT6Ta( zZQxOLLe~9LP@neeU-abdJq zNhib=>65>%CWYtcq85|bq+qV4WZpx}fN`!~k6)XC8?p6LA(bqpoL6p{>DU%0eo)ww zC9+TNe`VXB`KD4FQBG%10Wfo(ts4c$%QOMdp~R`Nle*2ELJ^grIcpo>bveF z;v*QkFVvcB9Mz3SrT9+kI4&dMs@lvsYzEEan>DS8ODu@VRo|l%*Bp+D#6)l_@qSzMB z+`*IOFWdovZF-vbvWP~+XfFJVC8NY-20>3oFW15UpdbGMl%e_yN9pC=xQhfs{i@I- z#Q%kMc$kf-X!$79WOuG>@MU4DF>MyGZwu)%f|!Qlhi_=t{$tlj3c&bAw z1X{%g(GI;bi1?A<@9{wTHU`fn4%IcT-zjW_(}Nc)2F5;gu^xH~Sx&2T}E??J}<*g`+tM3_q@dXNkPzL&5^#v#uMj^D5~k0oJPIO^hsFFfjc#mPg8 z)z=N{{FSgnwDdEAv9HGt2sIKB5T0car75{bytthV`>lg533)mo zvku0D>d<=39}oBE0+c5CaNUr7dE7ZkyWQ4+4+9nrJn+>F2%1oxrnkZQYsbqy|Nkm8 zkW5wWy)OnnCE}-=$dL#ihqN)A0~O3FOq3C<1Qc}B zebWm_Uu6YMe4Wv2@6I#wTj_(9diQ^a&S1$Q=nAaQ0Wh*lO6*nm_BJUD*$-Hq&piLD z>iBz$e7VCRP#$-9$`+BYl8?{p9i@qoO27YhCKLeBUrXKIbURPJSjPXr9{%n8_)cTI z_*h0|nxFqJx%eXw|MtvZZ+Fp)LEK<^*fsJ0L^A&4Nd?IlV;fcRIrWeE{V&58p}&lb z?ty3Zf9w-v2YEa|N9~;P($%QZM$cu8!Su z={uw4&uTzIa&qv&!NCV*WqYl;evyAn_D_j#5UAX8p_V$z91I25wRUPKt;{BNvgR zJ4kD~XZX)vuWwU)(9t0-muY)vCsPNY^OxuQDS+IzYt5s&6O1uM zm8XT=+JiqkdN@n~*_C=kWLV7xWMV7JL3ZdOUg$Iv@}hF?gy~JWGB60EIvjoGikdHP(g@Rw)tz60ZZlwzv zVZ6xy{Nvh(Rm)&BuzLG|eg&ftIE>P6!rwbrXll~F%q;kp z>3O>hdq*x;u&aUdQqaWQB<}Ykq@1R@u5ZM&uua)v7qUJ1Q-L`woku)7Zg-|ehTtn3 z(fJqO*hu)B={JV*GH(unhU+yE*Nvv8Qg`G9-VzL+cjy!4bllvuj!s_#cT1DbWTqW9 zt}Am{$Q$t~e}3D!>Y7vjCpjrCNpAEWSHwu%Xt}z|dDZ0Z^yRAjr2NGtujz8q!z$Di|MC;?ocEnBKBrSD2g{)wM-|ePVW$)3Cp0EWrp311M5Ao)wHX&-)&# zTf-gr>I9uU2~VMk=?X2Pje9zc?n1)Y_K`Uqrk^Ta=qU!hzDbUZ1vGnGJC zLV2?=@KF%+Lkkm7c|QLuwFJTZ%yljUPU@{Ckh~wzeKcs0Lp~}rO78vu-7ZzVrVA4E ze5`P@7>l3WntR)vnsFyEC}bTIhr#Up`(~@xZJTk5cs{IS=!YDzQ@V?Iv$3DA;QAsRbo#JZ~VS;6hV5IS@5 zLi|zhd7{)&uZKg|ID6Q!UvAQ#a~tH)5?kcBPoMv*QntlJ$H)KG|5=lIK?_XPbxaWj z1KkGqDSSuNm!rmmj`YdozrX5-@$0|_f)As%bAEwXK+)r)Xc%Y>;0=gOB3j4Hjdh#+ z8%+|Lp&fLG`6Z%W&Abo-B})Cb#goYt`8bpeZ1CU$lGhAhaszMsRCTOXCGMq_ri+SC_QiiJ4F40t{r{$uC-nt9 z@HLBO$RbRVf1aIKS#pGywSzQ}h^cY;b##D))_G+{2V_7oWo`p*505siso_V=gg#_q zy}1|+yb!?}p~W=W`(vm6)7kJ%xwK048Gh$z{;epLecpPj)f==OV~}n8V(5r7EF% zg5wgrMpS+@3PGmcOKzY#cRHUjE*=LI?BW!d}$D;nJ+U@X+{=>0_ky zF=WlKk7Xl~Bi-9c3hc?SFF1VdnWLJ$LSHJh1`SPDUPE$4fYZ2D++dEh{~<-2-sA(3 z^o{cunElVO1MQ+R1h0S5i7J3b=}~!M78wAJgYrdy{Cxyk{_UNFAn0pOpZ(;cN0>}n zZP;YfzehD9_N5$6BsWs*MtA+D8gts^*Exnt6O1Od{2b^y*vn@7qzB~rBJ8aZgq5|Q~napJs`BmP8UfHo;9$Z zbuv(1*qoU74&lhZ`DC`gKym?Z-qklcLLW+`pk6A3y{DKY(7fo9jJ#f zO&hK=hJMUzU=P+b7;9os-C3?~-p~55^!+UbyVOHoVBh&4sUzluju3~_N+Ho_Q@@8# zL`h|$-466jLuhcCw^$bVUE>ZCiLzyrbZGMXKnR}_g5oF@wt@FhqN3zwSNxWra(jDM z5|h^iqJS_K-L*t5=JgogI`>(y59$(sR@EadqGmn@n~pvbqDse4-AyC<_=K9=_$vhq zSFX;c@H%{c$?p~y7bDKj&gNA{RsN&L@qHWpUWJKUTPvk-K3&+3ZQn=_(cz^oGuILf zEA-iWJDVlN)wl02RM(svV1zH_s#?Vk%(<$L^qABMVjO632Ny;iw|rL$*eX#fT$Ndo zR3==^;qewp(X@kHOcfA1vUcaRwD987+9hQOU821#$Zb2QHlB*yh>)HSLb;Bnf5sD4 zxyk8cW5eE64M;mz4`!$7cqa$cMwfY0n$NQvRJpo4F;T-jpKY6W~gxk&+CEV7tB6l}z4b~1%ScE4pK zJ*S~ai5@=$BHECoam|B-oX2Nu@|f&w=6=m2;rnQ%57hq(gCx(#iCGf^7^Gmj*Pfvw`ZZZa0CI9YMd|`rc6H zh2;o&d@kOP2#I}Os;ahy52P6&q0sx@??8pdu1U=5^)>50p7?F=(}hYK9aim8bOv^* zK^4R5rv>H3-o(L%1kkW z;N6bto+z%Dx_ADLODL7>bxHQs7Z@C+Y0c{#!56?u_#%6+(7^Whw;!(fUeEVV@auw#Q$@6U{ar z-hS0Ew(7>HvpsOJb^T~Z7ml9yxnrPn0o;EWCQQ6p)D-M7ADy87qw8O{vJjyLB6`|n zV!zu=FKNkg3J$&hsNXtPGzqJY0cRk-@i9^ZW>Ob+OZs<@Eg=#VM`m;h+GjiRM#s!1 z`W3(y&YqJk(b@12aBRy6~C8E`f=W@F){fm_NEj347(uA|9Qd8lpdQ~OS z{a*`sE#e+~WqQrcffU_`stV}|d8HpRxCI@5&xSi5E3Z!HZ|{VPtuS8HifbGt%j5RB zy29nC*KVA^7-E^k@d>-^jy&6HZeY_JZyA9>bJVVHE(YioVmD7!7sraxcMfs14n6?O z$al%#DgP|C2m&T959gJ-RO+Y#k!K4WOc(|9tCr`ao@f#mfSNbr%NMf>1vODv6r?jn z4esi{PHaMdvQIYkcr*xF|zz0?~nB#`Q2}n)$fjhwV{is<<;)7qQqJu2NdI=E+@^ zVQRWvBU<26gk27f__eTkoyL2gP&}R-+o-p+q`;?M%zme~ACD`$`})gi>75lrk8JA` z!8)HEMGB?bMY+UOxG&9v8h(E4XP9)E zD&!qzisUA^BQR{yurA?hNaX%1hOp&xC^T_8kY;6UCn)3KcQFfZDDTVbcu^G;K< z8#}Urnozy*i=awLjcz9=*YA*@*84Qsa~gW$N(I1}y)RI=5j@N#Nha5~xvpVLc#H1N zr(|oWQI8&Za=S=@Y;QHxoxOina8KM_R{=YP!RbRwHSMB#e7bDU0iC^&rM$TGyx&EQrFLi};=x2rJyu@aep1Ho+H@I;mD zFnz!RQw?|YV_GSX&>_y)4~CRRlie8d6BdX^RwEFnJy;6~<^Q!nJe26P7s^=Va;-a? zpJrFd0!*Esc;Z~Ze9g8!)EjBd&O?UR%hlC)1J$L!yQ}MV#OdL7E=C066T-CV3MeI$ z#yP{htx}ZiQWKChyMB=kcNKaHtv&PYWSL#F=h>&~m;=$`W$;2ZnBoj)NPmB?Ks_Wn zi8ZVfdGn!aY%hr3ME2t@ zO|sNW4Fn5fNg}zY)}EZ@Ro+std!@z38*F|qNM$zY00C{rxU$;0eGQDa;TBZS!Wz2w zp0nne*u}4F?OU{xgw&;dGcZgJF@5E;7!JMY2=00`vDQew(CFaOB*dvBPLCu9mF;?H z$$Xa8P`R0|wp+`Ky{#Z{mQG=~aQ3K45P!75N^P$I;~D7oKISw#NPhe+W1`DZb#R~& zER#6TMA1=E_MS&7M>WPj{xF~pPGHoZ&x36DPJ zWL0&jx+YI?wkK}y*1!6U>U69v_QjNP>-0|`C;ZAUWs)sG3j-8w2^RTvw9o&^^GB|o zo*A+%jTZ}MEn}v3?`3NT;bLopSt-Z#&cTjLMvAZF77OQFn;&u_(dWaT>CrFXHht!hZRHvqDSyj#5qZGq? zgRTgd)tQXUfhZ_9U-TN(l+9v=RC}^1F(JSnWvwPK;ostJ1p(+{}!m#!s9rU~z|xOkc#=_MG>dRxR~l zX$nQ=jHk{XO?x!oM1}wZ#Wgqzm8xWu(yz4R@lFj=yJL5zJwS|Dyy2UT)Oec+nb)}8 zE1n}_KfVVk7aV`cJm8-Te#e+zu&i6$)S16FlHZ3cWzHu{gl3I%?qQRn<5u_};jIO` zy;JJlkw7{`v+17Y6^&=`02x0?`O+aTqpSH&sEI>?nL=D# zGwqS3r(V62od(N>TO#_4M;>z_GpEXsP(ZkFrzcc*V4p^*K?g}t30!BtYKAnxEBP} z+S;DXph=xSH2m~h@zli#Una&y-Yxk-it$5H0_n)1sFS-P}hRa!6}(vk>xceUW| zc*3xY-Z&*8?I&Gu939jb^G0 zq2tH6Rz)Yv@QY6vLH)c|v9vqang&x$BRhl`$B_9aEItu4e%LNUUOc3@zNEpJi*MMN zB4qRupz==8u6H+pr+$W9iu(&eV8Mn)uNQZHr{!`y>ykt?xH#6aJ5eG21=lNCzEjso z(dg&QRmy-;v)xpZTZGd{p|^%Z2+l@xrv3!<4Sz3A-BU8I_V`@NOqty~cJ37I{+@?~ zv)d%^DdHTR%Tnh+f~_%3^EO}tj(o&rfQaTj+i&@Kk8jNulD`fakWJ-V0CKa1!$6Q> z=nsmMgbO%|??gQet6m~>H&xFnJCk{K-X*)bo#k+6js31@Hf84n zSm|){AZLeIV0`xK6SXGQeBc7bU{%Vsrl%gTKi( z5!A>`oVW^Y62oi!c~citS*If+5Ie&(b=OAEE%`i{PMD2Zv+_+{Y%OQYEfstv0)a1uc@D?f2q5z~aeiqf-d(p=(`pbNAoEn6{}_7?B^bx9%P z9Ow|ZU>RE|pSjelrTMO5WT*GY4lm%1rUVLJwc4KQjBW*U`1%SaYpd;Dm89$;JjTVS zePg$TAb*;=gvIsAD(R4S;Nsq#)UV2AcblKf5B4eF1Z`Jmw5g~0H_LkX)AVsr;U?d- z*e@SV%uWLt$}4h|OlF+g3OiJpm$mbzcpa9Nt=z7#Hm2WNRI!`9d#9T;H7?;=YSQqr zWIo)1nvO|rB7*%yur#mW$~yLx!Pq<-YuNbFN#2pZ)_C*2=kQtxtsTZ<#jtfA&rTqul+#Wxe9LXCPz33lc&*;*%&pkZQt;@YIef z4SAUxWsr`MHbtz0aSdCqe#d^cVSV(qQx1iYCGAglwp&#N&N@YhB6`lD2VTLu>htEJ zzeqOvSJvWNqiJHt>w3T{LWE@pY+IBhw;Z$SHONTjM%P=uro=d25?y%EjMZ3Wiu>Ii`K&HxXK{tq{vrKPu8N0Q z3w}Nvdu8%LhAMMVR;l;6AK8kAqrxy2v^M+;lR_W2`|yA))?|E*UQd?CeahZ|U({|) ztd>syH`!vddXgHESX`Y8i~cZ^HTB!@-QstIDSu=Uo?KGaWS@}CgKcC5`mtRqK;bEchg48X0u z?w4(lJ^@cQvf8}2ny0X|P;^hpeTR%YwCHTVklVE0QurHh@=J0=I-hgkAom&xml=ku zMBr~jI!L8PnGSJbVs?r6#W7*}v*?yd{6)LK_E3+r?xX((-qN!?J>=evjwP~m-o4 zmR(k=1JMn(=5D<8p|;E*bL`hEmAo4fA9T4mEzLh0nMW^_ypz~03f+nQ`8H|j-;Q6= zD<}{br1;RY24s+zsMjpu6Y>Mql4_bx$WNOv8%;%KJme{g;f-nkJb&xX^Ve4F_~TLL zFw0dUMppo{DTun??;x~RfP}WkB~1!~Kr>(x8Md%AiU=kwR5MG;3=wJ;3E*k%;N}!@ zt3L&0CtaUa@nP zg}PQFS35=7lHSllF<%ETd_i06gNTk~hw{%IX@a!EyR0e;9OV?6kdMjCB0IqaSavmc z)(4g$KjUnYmqR!lXNF~pr8Ug*h^)d?fQL4aOJVH2iFGH~noC$ij$HlSr)Rgh=Q)aR z@Sn2Xx9<$qN4{usS7EWP&=Tv#d-qom7`obS(U1SkP>!$=*Ai-fEQ|eA$)rhzM8h>s zK)d4<3iM)58t>hSbI`s@f7jt61594ohOie~)91{;$s^V@XN<5P;ezM8a?57I;tX0XP4>^BZfm;?{y7qv2B#Fm#RdbEJFv zz>%xHvs3IYYJ5*r;jBS8ZaQ96CnJ-B=)oANa{;bMa#+MMR&&}yJ(prq*OnMt9hq=O zko32A_7x4P4mnX-$8N2~szzBlvZ@EiB$0JZ5&w^{uZ)UoS=vqr0Rkboy9Jj(fFQwL zgS)%CTL>g*aM$4O?hxE{umOeugA5i17#zOIz31Hbyt3B!gT>mj_TJrHT~%FOUHf^K zm&yWOw`X!+^;$>kC}h&5;w7V{PUwfV4FKGP@a73de+2tbofkvJUK6Uf_J{u| zd=GadNBipx=}%}LjPvywJ|z+JCb`Y)2_X1HQ?mrGe$fDv{?0)aH3OUzEc;PT61BC( z`nWpTVyY)!AI>0Z?ntP1kf-6ax`Y+3eEsW@ zpCuJNqH^{Prub47&i9z&kG!6a*s{4)oi@Wl@nDrc^^Gp-yt7f#{$N2a;d!H-kyPPf zg!lyy*Ot02pX9*Qa74Cnl2Z|E_9P1XaEHnc{BS4`}d!x%Q*lwzMRTrD%Gw;P6J&B*w(KbAG{lo1sOL!`B z?D1i*Aw=c$5}c33Zny+%DvPf+(+}hicu`yKO^0$nI0r9l5hCHR{q=G8XRMLexaoDJ zDp9q{4o~$gap}Swns)Xn0%fFF38Ajn~lh;?nlS_haho-^q0qfJ;rz>~_b6neM zJ-fsX!~`8%`>_?J0qc6nMoR7^gQl!cC`F(zOmIhQY%fMca(KP&*Ge*$; zCF5bDfc4y{z)mXj-M}UX<|e`}=JpfFzTM2v!zkU)0UA+FcHC3jsN0)Jh|zWSwf@2S z?gpIaX4GHNELgjAswasxrcK)x(y9>R?~I8fEpj7-CMBI)iWy^u?D*U?DJ_$7h3|$> zVTLfTeJo8~|D~T7x~vLZOZK>Bx$z&~Ugly&!VjUbRypwD#Tx&~I?^Kq50vFGY#OyG z)Od>_A~TB4IBJ)(C19BId<0f0UP9pE%rn+ak&&IalE&7FWftK9y(X;H&nTT|gI41i zmjS+mP~G@Mg8ilug6%h3+Qp7ezVGh+&xOMr>N$miP^-!DnL(V%4A`nWHu6^~+CO)o zU#Sb&Q&j=XVs7>KkA`e$3oh}cQe+2n-<+?hr3g%Dx-(qHFAW|8<%=UXyA{ms>XLc_ zkPE*X;Syjc*@{5&$1h$VC1TGLvY$HWQIG?nFLmx0qz=vfWgCdrVenETR+`*S>g-o) z!u3Xkh-m(9&4Z zK!wTUb&LFz5~C4-$<6RBhK_hcx}n7=ZlsC~YtGG}k-w$*#dPj(*gnz=Qy-1vho2gn zThw(OJFAFaH_1OFti z_lq(%d+SbN#}8hxBn<2OY(^~&zy6GGPqW&qR99~Vw&_EUR&T@JZ#*hQ)nvN_s;H<} zUHDz{#KIV6x}QgAOI0_P=IDef6_9Cho)hi5WKC+rlxF=M>o-Ph34+lW*GX!y?nFL$ za7HZ#n1FMhUa_D0h`7bG4K8i94;jI7j70@HXy;UwWCOcp&h@}FKBA331C6(HM{WI# zTJ=d7&2F+%2^f!GNDi{Aw1%AL9JRl*ZSjaO2lb$IH{I<00vlYRln9yVmEP=#O-g1^ zo8&_Ltal%|6aG~1C+POq|CbF&Z6eZO?%ia}6p)xCx0}zgu7*3t%S{rDYEjmE=DoQ& z1xPX3fz?{;%(9ahw@Sn%YAdB&uAJ-Eq!s24qdIhhsCcnzpqxeaw(SL~30#z^#H;qP zoS()%M1r?W>hIquF&mW|^wCRv;nLFVU8hd*Y8GUC>N-sThWo5i-Qz$zu9{mT6cqtq zsoT(S>BU1^E*mAVT}3ZFT#KANTm2VHz@}y)GE1YY#*XP@@g)}bBBvNC@6-%btgoei zoE(4b5buI~`}w|3LFfzfG+c;-tG>Hf$uV}AE)Gj< zoM0c^hF69+%Qas@SwDz-XVZw?;W6g;EwIUhqg=|8+Dk4XkJ0LX8?k7RtxDcn~YWk@lyz2^5V?ZOxz^dMap-Wv97N*>EUY~ znmYtk;WJdLL0p?ms=~c)T&wk)h0~MHk{rfHa{o@1!)W4$@B@`t^eXF~8saa^5vglc zj>}gmtaAz#FU)N^iVn)IEf)snBwa*3J+=d&r#-55VE&42y0+<6%AgSf+j~K2x9>|$ z+H07_$p)ANBfO_~Uw65u!+w&sC9Vp87;KYgVLYc7XX7fi8WO=D1zvvBC>hzT|HMi$ zvt*mIz^X&sU*09Wux1>!MXoO)37HUllkX)Gb#pxHY)pxKc<_M8@8bTuS~)s%$Ym5U zZ;CVqs^e_w;;Z@6v1ck8?e+!o1`h(Cxq>tjyIgqMkf4QK72oU$Y>C^jX0g-h+sHvh z|4E8QMt@_3dUe8hT;>+3gI(gi67#!D55hKhNfddTgW2fcXS{HWan{F@Id^5zY4_E8 zL9(P+^TAH|6{CeXR&C)r>v($d>a{(1BUet=hCnBS{%4(*W+NFtKg~_}CF^1*w?^t% z&E}0t-!H&)0R8Qa)Ai$ChWn*+f6Vo^#Wh88h1eJ1DU@1yhcVF2gX52{@PhspSJkpJ_*K3%2 zhq37S(%R+XRz#b=Rg?&2@A1J)3~7(YKt)aAAc0U2MEK|7cF_GAJHvGm7h(|BU`W0xObDh$iX`7t0)inT7Q%bO<`BX;q;F37t=~sNK|#t zlL7PnL=_&Pt4I1N)^2b)2zW67Q_}GjCL2|ffkat7mYW|XnJ$wXuH8832tK9y%W93z z!M@b$oAYLF8n>Yjt^aiP*a%Re(o?wu<>h;;UTFBQOel|F>+N)-tWJeH<>3CB(mp+k zk$7;?tCM$RfdJWOEWND8V=q|~PIU*9b8T*t*kzJ0z@Q27osGyz=ky?^|-hB&4+j#X$~<*ak&QRyMJ4u$MUOPJ_s| zWg`XB4x<&Vt=(~v6^XN;mheNvo0h4a%(?~sWp)8mm2BHYKt0knU@e_GVTA#6yw;QP z%;0CCIy9lCoG7*rdh-|h58-qCD55aJ79!rM99K8eT*3wvA6FW{OdY=?gv8ZXg4796 zXSj2A4bSftPk!m4pKD=^vAZO*>vt3A!6V4pi|JvRYD>$+wRdse+}7`QjV!27Wpl zlz-MP;7F;TCLnr_c&rw$MWh?TLldofGcEHcLoMS#H2#m8(BSRpXQ6M|m~Aas8*HbQ z#Z7{F6eG;-q^kDOj`MT`;+@v7?BSVF1zJz|N1h}u1a+pTv6sGkmW(f54XC_u+2vFq z*k=M|N0s|?&s?r#(^nSn^}Q9VDT#NGy*-X&C5*Mk$}M!F=b55ZQTBdzx;m)xYTQ&u zG}*@qZ|!+L3hQJ!;?A~dTiDVF>*Odgq%&(_Hx$*1ycw^Tf-W>2qf9$Kd38y(X@#B& z##gT=_$8u%+{|6>D^xZfWonxlWAWlCOS0bFNYH*nmCJo}*tqf@SttFOAHf?A2Spn{ z%AZ*UF_`*CRa#Tvsob~YHW*@6GWVk>OOWg-CaOQwdyi>T zb~Rrit4^$LS-RPCh7a;;j>Au+&FL=9umDgambqKNM-WDU>HxlCr)<4q)WC((FA&X_ zCOOU{2P3j%JxDeJ$j=Mp?imvl1KrIc9{ca=ffsK!m5lSzxUQ-pMz3f%qfv z9hB-nS$?(RGB1L1WZ;@wUv&10@$>X-+k$X&*peN^Cl#M^=E!5wugOp}#6Z2PH?VTMv)kQRUDoqb7tb4i*F#c9cml+)tDb9<6T;U$EBjEbQfyY zXaoy;TSkhI0#kWMKB9#_-j_2=Orhamz4%T>qCS0S8YHG-Ss?YFTIvuiPqDaz*Co z*EgHLyY&)=j1nOtP`#o{5-(Hd+q*ahokLO#BUKT~)HQtHERdXhyvo`;x`X8S!Pc!P ze6T9mkK+c1>J6T%i8M((C_I}{R$ zzT=(Ki{Hwdz3w+6?u2h=96v4uxm~@0^hW_=*;G4R*N1HNw%u;0wt5l)UQP=EG5AO@ zWN0jEE?GANCEoANR;4Re%bgYE6Zo~ zzk@bb={RI?0kV2q0T)!51JHc|dMp)6OcX?fV3B|QlYaRe>Gg~Hy5*JocE@XGfBpiV zqbf9`HBUwx5(}-FAHnh!IJK`MwJ|NjDhVK~cIF|o<)Ra8(;ZzZFg(=*CET{CvE*N` z=u7I-0l`a>a#)d3A+;LGN=*?^^}{Q=#i*J5{!Un1!5ML9g%!SW4H@EnGo_8 zCai@OqOU>@@3o>90L>b z@A1oQ0&>Ckb^>_276fwZ25(LMq8w(8JIgARAZLu88TVAO$Lm$p3q?q3ZSjBWMzA}g z>J>6~hUBF$ETjMJCYU6GmaLOE7Y&LoqW<NXUvF~i)%dUtSnA-C5|B^SXsOTDwE#Nw9Qbg!!kr9a>K8NADO1g=$)eQ(3sSs zrK>n>i=M(GBiSLslybN}?-PY&7q=W2JvipKdm-TPt5CivJgeA0QiLUS%hP0~sd`~W z^(kRw%S%Hm7iCqB-UhE~HO-c!u8gpYff#G5>Da+`n9V_)AjDGhEI6coWJRZYh<=ri zt9x@}ULZ5o4)1E6r^&dE-G7M*+ou6{W0Ja!i1yNsm>IIa3OhC&|BTD`5c#5hTanU!Isia#W9RC_R7L&Pr3wN5%4})%}`_t-fH(0 zP$64lgXJd>xw#Q254!s41v$WpH(KhJT|QBlR}+7+u(rF0X>_>ouCpLVtP4O}^ub4M z-nip3hd9fZg_ySasuCK)sS)#33DY>tWvDk$vjVp3m}B*9Klb@94`8Gp3j-zvxgZGxB;=U=J4SnWr51e*@{@@)d zamc1O`rqDA^?_^0A={F~1w%ymvb&Io+mSoCrS|m5E5AvHE2=d$KUWU>?m*mcp+u{> zvue6+!>6P&N0mn@uB{mP$%Bl1;}%(IH;({ z=>+m={gRwH-qOPO6>KAoF--E?mGv(p>?`8_W_i6);A)q&g)4^WN8Op}!vv#75a{T) z{u)ji%%c>f6;bA$94nOmn0;4P*i%f2PhRY_w?PGH!MF}ka|((&@z|)#i1tc$I1NYx zg&cM8etH=%^$tOlC3Y(jC-3Ed3|oZK*&WlE5^=V@!bbbe6Hw(yxod8ZtA zB6(VV@H`HQAFnzx`8*HWEDIh-aMxO1dyLZOi&pG!hYVYkozcXvGfo?hn9G=|Vyl%8 z1=M{=XGsv0CGX+9t5qoE9blA$=rfipv%o9Q+Pe%X)Qpzwe&uj$V2l&gu1AcilLb(l z06RZ)3-BGjd)=peSBl0-ft~d}TxGSpkOk&v@4uYMAgm!3J7pc~1n!`Zzb)LU2$F?! z6=*h@g5t^7XM8(J$$sPx`$1Ku#Dx52U)MjZL4c1;uxN#OMIVkHVc-Uc{w5*&0DODq zXGEEPm18ul#IEr2B*|dhoK>vV8_F8l0t%96iELF-%hWo#`I=;^+Cy(ql1h;K;@@5( z#t(6yoYMVjNike&V@Vi2UlKIfjut|KB<$_k^}Cjg8SV6lQ49#PC?SxKZw*0y6Zk3U zCa1HEZ1ikGisqP^xk>neyXePa|HH-iyN9erjMK?PCOr(${E5?YN_)^O*?=*)?5?A) zCd8xAK^Zvu5wRh4ZplJsmD}6epAdk8SSMJntc*zTUkiM2Z@hHx>E65}1f%HN1DP8G z?-Qwf_f=uz>5<)GSwh&ka^c7dZBKWi9%t5a{ z(e>IN<&vBQG~*3R6%G){B|18_F)*n)xhKd}@lU}|%sSYMlEkvRB-y%BVFxtn(}3i| zal8uu9m@oZ7_%dY-{rX*cb>|EeoP-c%*Gjn7=;~IAYYyIunQ$^e~V(QvVQWebxpXx zvm19FZeaa*e5K8aKAK6&tKT--?M?CUM})W2DiVbM6k)6M4`t?@rLlxO*=FLlmFaP7 zDn0coO_@~HR(YYG(r-8xESkg`Rdxo+Sv1O`_8;gZ zz4U|X@psPAc>ObI3l`yr+jL0**57LPmtn^cAt;oX&yqZ1>!3;D#&sM-5_XHfZ@4zx z6B+YL{Sh`k4#UXo6jJ26yxp#-|Xf*cH`S)QQ>T=Fl?%43j1DMQpANjW3 zDPwnJ;VSq`bO;g_;Q?sac<_wsAK_>4Hp=rwP&n>Cg#F*&{*NnCPIw0>IMw6d{qqI? zxZ!U%4wuF=#4p-0AkqIWwEyd>*W^!FY|@99{+9*+!$78&f9FZjaFkWBi#Uhzh`;rdU#ehMg1A#l3BV!jv$MMY0q)E5~&<`IXW<%k9 zy5>N6t*t55oD80Bys?mXx9ev`zi|DJVfG_^1m5a-j zRiI)-4hm(Z=W?<~AXA~BM={ra5{XUwvc84kD)v3ab1_6)=>?4t5<+nASy*px?`I3E zot6B0`QzKf$3$ze{kr?hI{*6z?EJxh22Ai__j-#xv*nx5S@BK9883*}otnxrPCQp` zY%AJZ9q3F?Nss4adiDG4q9VN6p9ArFX<=jD{LuC(7i^AK8W*=jFN0K@>bD7=uUp@IRDgVAcC;QkO^0Xw z{(kdcBOAs+@Ft914E+&CRB*FGr1xQU_)kW}cC26c1?t zay;Ze&vV#f{_qQDGhKjVYtjBM)rxtBP~aDxsEdjY^>ZKgK~$2!eK&-)PqD9tCUqK; zVfNAqb9@-}rj+-8J^4TS7W^&}9=Mua3`j2jk9qjtmO{!5HxnVv5$Ue~@2&99^1o=4 z7tpi)eDe=8`#*#a*K+MYCRHaU1o=;3^*{UgcUO#~so}R0essa|{6Amy&mV_TgDF#D z@t`VB|NQm;?6?^&{MO<9h^X5CuTg){L@}qRh%DInSC@t;5MC_u&e*I6RHc}>_>cwd z@#_BZO$8Le&&Nkb>W?PG#>Ym89)86npdce5ReJpxzr7W}o&EgCDJ5%;CH1eK4Wl8v zfGf2fU;4|9STgpi7|%a8vn)-S7F!qerr_ltU68}vpZ)CbH_zN$_3P#MIMdurR-ez` z)*3HnZ2UvH5Q>;-LWaX8`(rV#-n+qAanicyObi^2^KNH+N9n>fU*P9qh1cR=s=IY&7elB;h_NI=W zGh@=2KnA9N>6ExAyiIFE%^Y>36&|;rbDsjpP_4)27Y!ULDgrBojx21FRVLvk9zG-4 z{4Zg}pdfTTyx?hb&Pd*2odK~-w!bRh4Sz=R^-rHvq$#U4rOCER|A-`p0P*(Dud1nH zig?uvDAE(v9g|utE%2|&A;d$uu+5hV^sH{WTGZ=#9G?q{e-rZzpOAIEqcYDdOva)? zI~2T`CK>bZMrjc~LVD`CIw~t#6bFYYhiM`llJMYDBu(%~J=nTceBmvUDx=8!N{)}W z(IJlK;-En3TRL-x6;%C^JSyhMoVFkrmwdS%Tdxb2(2g2)Dd*SJDQ@fqGA6*o6GY>33^Lz|%06sf>r zWkZ&;qI7X}^^{@2r3U@SQMVx?D{VOHuy4vk;J3}M9LI-;4RdpI;?xmdryCAWQ1&NN zGBPq4m_2AkN#MA#pZase)mH*T4jDHT^Kf14P&cSFORAx786H0V2`?;uRaAh&X9vsg ze3G}StZdYBG6Q^^BNT9J(&SgT_1*VPG~7EQ57EQmKH=}-z!f$c3sJTIDA4Ypymp<{ zslC1;=*Ln)>eRUJ?P^s;&8iYZ#}IxhNN9vNHhxz!?XM@d34^;I$tw<*t@(6H6Ba&AYpn0+$PF$2|`%PrJ4& z7jonQ7bd-YZ@6j{lO7D3dK>9VfS60j;n~P zBz1$s@cZfaTdqw@Elgnu{{B21RnM=&UNH2{{F`$z`d+rzMk!^AR*j(p=zf>CtBWBS z4HY#j9He}1dd?tC84gwn{6gLN4++3^R9w859&J3=Rke>alj{s#-I9*&b9vXNK;d{? z-HhJET-hA(J^O=mrUjkct~j%h>wj!S8u_`0@k)9dkH=40NY9iffRX1lttDuo*{M^-qC6)rQKd|`@kcBd(lYH-?FE8c@0332#Fqmgc zQ19c`qMp;GtJQSQ137>#1#957iN3zRAWI+mJAt4_fA(C?T%TPcdIuHV+`!uda{h8- zh?AY28y-UA6{9kNiUnN5%tJW$cY5(n+On z;6R@Vxgixb-K!^^=SuW2dc}a+^{Kbdb2--HN2PIinuC>g6o?! z0SHdO{m)p{I22PR96Wd5Mx17}8JOg%4_iGewm+_J%2o`j?G8?IGF6}>&%?n1{N*}G zF`xS~(Wjs(x9}yZK4`fh8G*vme88 z)*Ik>3hdT^a*bwJupGTeSVA&pdQBHBqspjfqr9Rbo5P^hInTgz#lq3=431RYMmM-S znVH@C2uGN<@|R-u2PbQ-!cnVDNqFpQ-KIY-H9LV$E_30?fjnL(`t(**4mcF%GWw>X zqxu>e-~mPt(IGL3`54;Cw0Hd{T~~%6O+7t3yQS);(B(%s{O+NJD%){B%hpPpTghJA zPnWsI3BdRZ>#rv-e3)dSoVhz7P0QI7>+TdQc2xB!nsA- zOi7{mmz)vzaX;XYyc9=pxaO3KK$T}^e$Q84>D-km2aM$eJ^BcfgV`-af8@t>A2$Q_ ziO?Bu??6u*$rJWrrH^+#Pkvf!k300jE`D#qcVD96FSmOfuCZ-_Q;j@b@r&3bScmidza$ZfqMd=x*JughTK7Puj5rPEql2+i{NkHA+b;%F$VExPHU~Rhu5o1 z-MeR4{cs#+lxbi%#U-AW{;z?%!4@YO!%A4P=Dg}Zp6M%r$a951ATSuRw{9ZPo2Ihr?G~~^bViI9nzZChqD_e^ zUZSXu%pgCBvlL$_aD6DDGOeRs;>s`9E}Kj8XT z*m~fXh%g~>yK&QT^Kq?>Xc&-OIMOsZK`0NZsVO3}`b6&a0KK5_n8k?gh>iMK z4;*eYD@p3*WBRoJP?f|dQyd(R{4d`=(2J^`ldVx6^rb?nmQLID$UEQ^4%yG1;FK_j z7C6X+`Rco|Zms5{*eyUA8Bg{PhElk}pIBlU)>L%3D#|vohy0SU7D?izb zvCTL9Mzr=;RRe179Y;Mc)oeHGJl!8?N-YeO2_$6~PdMGk3{wzqc-?%%afM#C8`u5z znAUCXn>arQ=SzfBQRDrZ4*~R%mgwCvFyYk;Cg~fi8GcOD0>OI}cJ$!BLyuLSrwH(VXM<@^5UJt>U+=|#(+ug zr4Lxq^+X7SU+}kZ0jxW0J4}e|!;h1o`|mgn3~nk44Iin(sXVCcRL%o$#*I8H-h>0; zers-bI`@gZ2|A-D%_l2|V%dG34y7upYq*AJ^*|#3n3MN<(1mo+&Hxt-CvGIJuk?H0 z3rUV)RZkn6vUNCx#0E@)JGwp%Cibbod}!!J$7_40-|62-k)2rBA1{=j7S2u35Q6+&? z;*Pge*he-X{&$4uNcpd1Gh<}LCLn=_rLPIgmfkn@a9Di-TPeo%>%c1ggC4cOx^|VdikLG{jp2PZ z_WbG*Un1GTT_fwf*}@P;JOeee+Oc}4`h3B)U!$0Bp~&WM%uRx+nuwk}#{Qsr2dJ(k zRUr$K&*RA3WOngbE>t(UD$2cU;vcW~DY9sWX1_mMvU?)IE`E}qiMmo* z9loQLzb(D-1g1pQu5)?d7zR?N9@%X{$hI!qQ&FkZ#^} z(z*uLO8DIH`PB1{XgsZ3twVs;OAH^;DJtV#7Q&>AL8qKI7kN?92yZ@%h}DawiQ$X0 ziMxxTh+A*HdaWWS2d4n+W{6TDFSs7OOLJY0!9&cY`j9wy`ypkTAt8~|o1Ov@ni1Oca%@W?{fGo(o31PuX5jtntJ1#fH5_PmTh3&mxAaQ{ z)|WId6bIEgq*au&Ow1$9nVny;&H3hV@D4Z+NpfPhajkJ5!jk|T0aOrUhdbiy4dtQ@ z&fYVzY}ecXn2z7sAi+nBcQYHbh8C?CRjfnju$r!tjM|)shtEsyfP0Q`v)7c zAxEZ}ya%e80tX7rQ^_Dbtq_OufVs%?w=4JcT$ObNi<-wi8|`-_M@i7b#{6p*)=$l= zivS@99~}$Np$igw(?@mSO6$}{m7mT{#sZR4g6U-atG0QKMR)WaFmSPHShxLZ|KuHD zckPIpnOVEACVg>Eqik>*c04}K*erYVQ{1rGfxo)UZZFKH+|f|+nys;D-f<4yJl3H) z2++*k4Gtdasla%7?Be0v6DZRau-@IPl0x2DNKf8)5jnH6exDI|dZWa0CE$|W?tCs{ z={fq+b1X@Zh22l=HgEfui&iT(NBhi)W4XG{r<~90h7YHT)+>el1AaMHS>ovDj+&nF zRX@n(5{s%@cP>Au)KXdv3d*s#%g;oUpVsVIwWzofwDdRzV%&8{)_YsOZ!-=CA5f`y zIaP3bII4k`x?4t9AUIZK!rA4ZfC_GR$E6OKPY*o^(8Z&6TarG=PyWpeSJ1=mDCnjP7D1#>=M@~jsv99 zJBLCy8ln!l@2*2Sl~B~io7Hvb6Po6Oux z%W|KSHN+d93H-fxK69Pmy%n$n*GiwA+L(-gZ>@X38+&1nZ$nw!rr%S_8tL>!c+Rf* zRZ{xpua16yOIvY&sORY+$P=#&XrERDvkQ}B3gIwrB3BYYS|O~Wa<+imKk@u*Jg z(=|5ItV6fA>eF!Iig&Sln|f5WF5JY1wcM8O!{fB|)pICX0MKi%XK+bUak_R8dg**D zwmdpv5@j4?UfEMrFT zJRF=O#7L&nVTIROBbw#)Xh7#lcsqjsK(aKpbDSw5c6mTGH8@OA$AV`Oi&QZ&BJ=A^ zXxX%%LHdXEo}<*`E6=Hk>HT1ky<{e&z&mYj31l+4uCX}N4P??=)Ri1}Jv_qF$?z0a zxcjg?_p3Tynwi4GqBJ$b!1e2G)|2v;T9t2Y>y)ho%lv%8neMdyQ6TJ-klAfEwePg++|AALleq?@=fKVF@`w9qqkz5W!Pj!XkS@csA08+b zzrwHct~=R<9E|l!yoEpy6{m7guucu=fVF z#=$rxrM7!h*@xw3BQ~9>bzz?s=tQH%A`?D|ihoH-P3>@U^GzSMg3@_>!f=7FEy9F! z=i9NuClDJH<0DE+Z53T{ON>+oW-7g#tcAo!B2L~FrM7`l(*TNxed+b~kUl z*_oT@-CQi$o3Ldb*FT3(uG-Ry@C`o46qa$`_avx87VpIehn%-2vH*d3eC2M@`5k(> z8vrFjo35T))@PPx-OyL0w~S05;bN>tbt`6o@iEyYbkmDpsK5SryAF#~%z&THB@;~Ir3*@0 zbXT|k)?{wNdAn|0BHQ(fFFsMn@^rD=mbD6 zG44kKrCqHe>Ie`};lJ$DI$elS*l2L0{x$r-pRv^Hz^x-`we&>wuAT3j;24IG&e|u4 zFvK-08ROo2^tt#`0)NWGt+3?l(%0Q;NH;Lc?Gc%6#OG6tJFe}6l5_8?=T~m?CTGRt z8?4sAh;9(A^xKaX8bXypdIFLPEp%a|1gE3D9FHHP*XJj>J-%4xurPHlxjgSFmLTK?nT+(83GKVC>tNy>S}5Ja%iIR8j!UglA>-ns>i@9EmFfvKlXKd2f*{{0kXrtJ((N_S+e-4-piBj#G(Ogx?8b~&N$FK+Ze?Q)odHzOTgu}oPMd2AdVRV27 zSPy!7fc@FLq9Y4UVS=>fj$*aHxzn*>OE`*go(s9p3PXSBOXWSlfKDB*9q=?`Y{6uq zgi6*xn4Ey@ny`q%x%3U@`ErB^8@q1fh{g&-t_r8wQ(qlvA|`ND06dw+HxIn;eSxw3 zhm7h&`s;7^0T8uZSFsHLfv?#7;TAK5WQ^h9Sr>BZ$iH$^DzVSTsN*ZBof^2JD(i1N z{5l}?#EAHjBiVFlk<1qIF5THYm!81c*45R_ocU)S-(Y*PSQ;gZ7CJr~g6NTY<|K8p zA?M^Rt!eLnA;$L=38fujV$CdeY21*gOUKB3VN}ALU=h-L0njhYuP9;&TxZhNI{a3- z;mOV35YzpZ(eIEue8XZ;hl^W8alQ17OmLbU_3|w^x%f$f%5MHHEc3eouy9e=rh!}0 z%eBw{3Ak}zjB+qaoi&XcZwQf0#+!)G_x^TlZOBNm!sXDqqokS1Sy|A*2Pp1F${YSnk>9a~e7_zrNuAbFiA${mIW3<0P9BuIH94^l*h~6? ztxAFYQA;g@t1bArBK}L|s@WHo+^nDkq+?YF2I0^ky(|1*YmiHe@rs5|=JMabQKh8- zN_`FtV{*+d?4L@7IF29$bV8DxytGSSt(qzs9 zarukSN$m}s=N{ir)w?POoMa#y7Vm*dB-M&sgb ziBUIsHiFs5FCLc*IzD|i8G~F#4kLIgowKXvRATdJ0A##Z1)W*cPIh`)$+wxTkf@H2 zmW%Hg;=80QrQ+c*In)j3Zp8=7j&`Sh(l;>Jq%BFA^7paXiQF&u>5*u_Y{#Y|u|0Y7 zh;FXm07r)^U2cV07*LpAKh;jpT>RHFzS_mN~LZHy_RK?!| z!};eLw_iFAJWp55p`~!34#Wj)4qS4~)&0pon+3h0{_>ZN!^4Th24Zur-fBmnX+?Qp zk*IkyQWzaI>!E|?XcU%9>Be1qq1v~tAjG?v)i#Hw1&(5idJ z@u*!tmm~vPC{mgo)72E zb&u~D!OhkgF7ZiIOW~WX`Yuj*j;uV&kw=D#05~8n@7mKM^CyAYw?FviBb8c;)SMdX z^S^4+Ype(Wgz@q|Rb5-k>UdVL!V9yIeie;@*o&I%Md1~^=pL~V;Wf!t=jOSK(W;f@ z7ToMqYWLjKpCTnhnxO^0;aQ}J)8zN|I8c&&OHCUP$w=X`5r%W*kv9cQ)V^kBi zX}F-oa&jr&T57D;FuHI9&NeDY*rei&HpopaUf$_uGNMI@ecV4(>mExZ`EyWs@P!4Fg)+BYBnpt$@9^nt1oN)sg&WGSeb#(9BmKw z0gg$&Z+OPKP&-XCBfM?Ty3gOTBPL)2RpjZ~c|CcHa(oYvu*97QkG^h`QP>8Um z^2^?j@3nVJqkEG&uSYc+M+=@FAJff{r(e{7&iJj>bUH-(mhRAE`68% zf?;*WPEM$Mt45=!haOD^-L*Ju3E9KLMFW9`=I$+%%pJPNy5<-)Pj=Z$8X*mysvbjs zaz%wSpT7?Z-}ei*#&VdyJ%BS#y4;~HjC)@tPzJ&IiJoRHrx&@!&EL_!E#wM4hm#NQ zF&RKbQOy9)^5m&02G~NmXc=}G3g1gWhlL+qj0iEE_S{_w6E034Pfi8d5!oz0O_O=8 z{i5Zthzmzo^)3}|I9MR1h1K0rx=g_NiM9sbOE`#ysu3LLk;QFb_6&%0 z!kH(tTfTFCGMRsCsyrqUasP)}K8HX6bFA}nQEwggqUfDDKUj@?7)nGC zb>a>-y|3221cI|0iS)3ih|bi8bDwT<1x&tUaDgTHVely2|7coN;;-~P2NG6qe^XP3 zDDV3>>7YkF|%GCfG}0Ut$A*}5rYO>8HZPbAQk(}kH-FHZb3TkGwk@{78|O1 z^!j{n*^OcDoKt7RPflWQ)W?nLyUjX~HleZ1y0oswF^bIkTagUKYF>6GG%|b8pFXOL zd)9Xd@y%}Ue^fUff1kFk%_$N+p+EY$a%H{waq`u-z_Q{Jg6wjeVfiGll&<#e!1!fW z909Ax{<`GdFQ#@Ux%=Rz*vH=vN=D(Ufu983`^;QCTN5&0z~al*4{p~A>V zv=EBt`BlxzQ zh}x-S?Ax}HB&^%cO|smO^Hk{4WshGa%40YbT9F-R@$HS9eHO!#EWF$(2lB{OR$bJL zpSM=s?UgUHu!57STV{ISUmS!R-wgn!XPH&fWVAPjR~qK=7%?UIc3U5dD6l5?`m&+NyhQn-l(|lz@fr0Z z@w}wSbf)_^j)?{8kl0eA(I!dX(yjjvlufYTudf9Bed(nZR5I+{*QWFeR3BvR zLq=$o6EL=LU$R93>F}{I3q~IcrDQBeKFO$HBQo6JvuJNFk{npnQzYELNvL3Vo1t*7 zprqb`q_npjU|dR3WQcvmEPs|8yyTD(!`|X1vE$Fi8RWUl$~IG!*=%rKW8~e_?1~0 z{J3-Y&0Q(qzl|4OVAPAQVsawEn28_3!G>ufs74FLtM_795OHs5vi47TQl5JpW%?kI1lH#M5uNB;JGt2iYBI~^q*n|H zU;qoYr(OTJDhjV{UU#ew@D+9Eo()G0<2?1aT_IA1b-*m1F=m%qksxrRc1_dv$9G<^ ztQuSD+@Ta!e{PDeeMm8haJ6Xj5##&KsYxdMye=iCX6eEqT?_PVAh)(q|0p5{Te9*# zUmJXn*%*f%xvQap!F+o9p1V!bmJR>SeP?a1Nd-)>(lz&@Y__4KkD8xpsIH38dg9;8l(|6EnQO5UD8OyraJ_ryHmPTq`N`7ySqV2 zflYV63-9|p=Q-aw=lTEr0yer>>$>JOW6U|mauV8QOW{4U)h=&37#Ymm#c$}8LL3ym zT`f+gn3I%jl3nd45dE%0etJV@Zd+Gca$9Tc(M-MWQbhNS0f%I<)Z$B|#6*u{Ba!21 zT&I)jloXW~w@COXBe!Zdr0<;RIF@Fg{(_2rkCn~9uAf9izE##|B=K^uf zrF&~qh$f-mS|vPYDXH}C?(8k4A6Q+l-2!jtST6)ldFTu36+D(d9{D-emqaZ#eL_6+ zP_Fb^CWe&BgIiio=zpo0?~Jr6^=0HPywAiwX%*@-?a;hnJ0EaS6t=N&SNC`{*jr-1 zDFHFOoezcHO?=|IJL(&$mP zRvmtl=C(bp?R1F0T^=z9N9@sJ%$gKGl}%gb=NoP)ky+BhF@FZFQvkNU8uVhW_Y1*m z7NmM)7JJjy9H!tozuYc*R+6}&gr+v!z-{TL*0w4Xk&mcztLKg=^_lE>JCgd}9v^xH zhz8efymkew_~aYzXc_B>wV#K^8n4B6|1oER{^lO(%vO1+R zZue@OHjdrA;dEO!Q(>@cP$lYLBG5sP)-EobB#wUQCY1rVDsEm&;$J%k=XeM+t1MX- z#+YC;#>bQ>s9?2K8)2bdgW7UUQk91kH9{)HlIt1{k!zcVx-4T)uS*As%>_Hf{nN2i zFkUj({-#52xf4yn33I+q>US+Ip>G@CYVxAWU24-5?xUpcs*1CTX5#t;eTi=YSu6|4 zuNe=9kHmISX8D;>Shy04D2Jm^A?1*(B2YA4^Bc$Mo}UW;c5`fDZfsqi7^aew@{ePx z^b@d4mIjlD;1SL1R76n_^>K?P)j1wabbWNexl#$Hn}sSnrO5bX7xAXG`aX*cz*P2B zUHQ9f+vKsaQVGD7vgkb*2Uv;=8Dw@han6BiTi}*O5!l86mt(EQaN;g^&`yHV)PYpc{>*l)@Y8^IzcV(5)7L_3?`U8){_2<=l3V>Qq+ zZnt>IRDX8QUcaj{auuv2J&+AHX!2W;tt=@YO?Ig#8f8FZx7u4GI))p5TNN;7=8$_z`E`3G zZgt8=cTrL2OvhfQ)P1@vD-O{p8hjS4}6rB<-Ql#z);IPbygF zXxh=hNB=0S&rCKA*4BV8|NNqS!=K@Jh4}iFeuMO00Zn0$W-S`%H6$Q6u?b8z`<6RZ z)zo_lG@}{|ANcB&En%!WcwGhA(TUyc=kgq*{&)GoD$-hyNH>i-Qw0jxYqpfrWpX>h zs1_ZSt1<(qq&UdokqTKCC0tvWcssW z*}(!uUfzZ?M&nO*)j6OkBz(pETl9v9y~dKB$aCU{u|lQtxh@fUv3$610V!J(6pBe> zq74C!+xi1>SwU`YBBWuzmDi?et*g}^J9*F!CZM}WM>c)VA^sm#+U5rJzqppEF0~5w zS;ofqCOlDxwqSsYS}CBH^&ziw`3=J> z^Qjm!#hBtJ;wTJm{^Di&LbWFEo;O@g1(}+)tL;#*>b;#8oWf>@W1ujW#heH1qa zCE$0EL3)i`2N;)K>Mw1{tF??x3hpX*2<*-US~>7F#fzE?CcYgoxdI z&*Ovzazsq%ekH}WOh3bPr;uRwAS9nq4fPi1Li?V!k zKC!+ye}!15>W8kFSSgX#dU0AQuIm0Z%8__~I(gXz-Itw9f|eOYp|L69rO4p<8GRQ; zt+~RnV(X>6I*uEm+5i^{($7?d%MPSDPMU(fr1867&q;UhjMP&|D=ro^E6V){EHT0+ zFU`Nc*b7>wJb_hTC1Y_3f{0a2C4KlMQV+L4omvpO9p4%9$ovUhPvmXK2ZC@lHaxsS zUsJD&)7Y&Jco)VUiqf+>qnS_m;OAf_{y)=9z$h`$JnjA#5&E}B>qUh6NL6O4VNnjb zuY--?A{8W&xS(3E0{gXlY>aydFZ=Ttu{mRxc8U2~)m9CtX;op$v#I!t<9 z^%ezsbD~rSn<(JFslRfV-P%-RzP7?Yb_yM)pVarS-YRcU+SA3RP9b{|hdnDXUz@KK z<~&enx?1sM`s#G_!;MJVvlHvNxYu0FWMRJ zW-MEmsMA@t#HbRAMbi!^kg)nUv0Y9l#lK~&C_bf>rE6ZuvuaAM;<=hGnqkq~?7v*I zj-Ptx4Qpueekd<7jXd6}`c3z%DshbhyG4=dvN$8*meX3PcpfEGn6X4f=W3$c+5$OF z8I?Cw1?BH&>bvko%vliw{Y86+W0XqUTm&8;>~jeD7G|2ETOJzoOx~@rKg_u5V3REu zyn^3fbP6V9_*~2Oc;}{}N;?a?b!BQ*UanqdvDzkdiHXly(vepklcm4?5o(;_}0?gVkvAAe&v!^jx)Y(HJF2Cwe}{5F}F7auH(%;%sDVbjn+kO zDw|gfym6xwx6p`hG>e(Ecb%zVYE0dZ<`nU_&llhQVcrlTy)>=^CdPk1wyZtGp>E!} zRaA*}c`i<^tQ;Ijw(amH?VOkf^XlU^!9xfZzOJx~Z2s-oeA## zvI?t^b`<@%IHh6h3To!1bQDiVA6p;U3%ynMZCbF8xy1c<8)V;SGtef&kw3-|6lFSw zApl@Gq4Hp%omv*x6x>eX=~SIX`(Rz%EnT6ergC9l$wMKhqMtS+(?LL~6|b8J5o4m< zDOJh4ay6n<{EB+Z3qjUPEG&%%A|s}$bP^1;7v<7Y?2B3}jnXtFbCwgE765E3C-Id{ z5_*FjIfXGMb4!a}zD6(%lQ-Y$G)W>)6#wd$L=K^TnNaM?{v^c zCjP;rd-0$O_f3k{l2u&;iK1))zotM-Q6J z=h`2g@Y#kopY6ysj+ZYC&km>%PkhI%U`olqrNm)~$_>zuqZgOdN$y`!5>-6HSh!7D zT*$S!zmt3Spp;Hzt}qT|pmUUPWaqHNO|w=aDB@ab3>ryw_BkrvUnZY)$^G$* zXdkjhPkM*ing^Bf2$VodV4ldH8`*SMzx&6tgOx!l5r!dl;V^lMqC-0LvvVtQuTNBo z@48&xY39Q9&A6I!OZ(rsR6ov-CZCvDOm(`IAKpe_r+ch!zsXqmnUEdnlSM0xs z)Cpg~;1XV1XfPKo`}okQLRf-Db8BqATNde`>Th}DmncmsE3n2YLJ#X8e^#|P$<8#B zPbwDuEn6pfwoT)eSv;r)&q#YFYUJp+IHZSfS3hkSC(gG*eCw#(QjnAE7zUSZy04s0 z>ZQ&EKl8@+8))A!br3fSoYyBPU>4HBfk=8_CWBswC;~s{XgMw9Pb(64buP+g1UL5vU{ z7U9W6#`N@>GN}7i?_0%QBU5~4rBsF5(sGyH?F6k&=o=T(w;;0FIX(vdeK>lKGd^^v z9cdZIqLeTW`&Rhf^heq8!n5)1S=^tZ_+<~RWIBIh7j8EEIHNN$MZjm1NaM(0cWrss zWH2-w>}G2*gOTdgYjw_+0(F))#SAf5_@(LNaG6q`m4uHiE4&FfGOcu?Dn(w4c>$UV zjP`F==yH#zzvnuxZx&m1ja!@Kx{ho+NFB>Yi4Y1pVoRBYN0Phf61i2M>NHIwV%SLVHkTP+d$(0WTq;AJP&2_;Ih{!q@hV zx-R$FD`QsoT(9Y*Va7*e5Pl0G_YhT7@-gm2%O+#QkWEB%iz6=fx9RP%fS~;MF z&TfUzdJB-2#Q)5gB1I@j{Ym3|+BwC%UvhVK!BQI~TD-Q9H3p)xYMMNe6isZbAi0u( z>Zd1-*FQOs0}^nua8}jNO|1^fbJ5D|XHG@vGyG5C*^UplopNeC#QaXIsVtjnG45TF z+kt#`W#)&N-;_D>xhN>ud1dyvs@xR3rb4p*B@s4dq^|5xulPu#^yTm3&>yPZ)$8Lw z9o&ZY>#Bdz$1g!n(09gRBv;2PM^{Ul!J$Kmy#~)?5$`tMrE!yvM7FBn`2oFp>Cv;YlOLvC} z+)uJaj9^Ev0Tq{K+3DYWiV!KHGUYp0S|hm$kb`ZqC3Vu!BwZ@P zZ4eDTR9Fhm9R>EnP$E<+T%0pNba7UgdoXWXJv#a_Nd*973p(XV>z8<`(+qK4=dXtE z7QVOE2<+`Qry*29yC^(3r6=}1CRh`tJO=rUrAe9~*EQuiqz=04>>1x`xTqKN7|&1l zS0~q1f*3A@=yuGyTWWu~9Mz{7HBGE4Z6zI=y2>Q2mb24ez_oqP47d_=(_Si?F`mWg zPxMWLgT445w=@$px9?*Uc>1Z9zJ4oyO?3@S72{gJ7^B8_fEqAQ1Ox$Lbb*z-PDI8Z zo%Jm(D>|;b6itw-p+E}l1}~AB<+-_?ZhKG9R-8mNGu7yzFg8M` z*jQM|)>r9n;DSu&ci9yc#~wwy5hx*&HN+PukAvR|R#$bF07glvM(v<1|HHZ9D@S|# zY6|iXdt1Qh%#@DYUMpwUey$}(9Vo8LX|czN50k)lve(xasvhM8dQ#^D_ra1ms7o04*RrH45hQgm`Q+Qm5zf3S&ke1Ts7TkpNe#V7P|L>5 zrWVs*=H_Txi#xt6D=PXkn-VfqrgyB;ARkxPoVwL3i|UBQs6*eXAggdp^O9c7hLIK_ zJ_MGkB4T8b?qlGE-zL3eL%b<1eJq9DlnWz_vQy`aDPcjaY|cI5qBo_gQX{u80sFyL zC_2vEOF`ecqYu6-cJuIVwi}ak*hnbeP=F@}Sh=oWq;Gj`Wbux1?R z0O)#lKZ?l+>!_TR)5sIqeu(gZhPJB9zIlbdNE*gk{e_i=tvdLMsIYr>=6<#=@17;R%duZG_|rwjC4ZJP!OY_?tffNu^=Gmrluu>I3sk}rXdQ(cvbI%WQ@a&o zP{jHV)xkBQ3o4I2?r+=+J9jfS)28UN#?;P;=2VTD^bxMmMR)^B|N2N?EYgy3Ayd?6#l!viWs#3Kcw2UFobY|WJidjQuf zI^^k_GJ)D9VRlwT@mNXOTPwJy@~^!$rw&<=9mK4!DLllx@USU(!sy81%jj`$nqIAC zi<}o*5Q(l`x+_4be{B}m(-+t%Nu8DpD_2{qfEuL`jw(L&`SS$2DnVBBsmi8vD62?aO|$NKS>6)KrTxKv`|YZiv1NB16Tdz}g1% zaO;dm@clUH85rsi8JowgC_rvt_Y+YIE2~;eSqMuAWhTFzZ2{+*O@0ZW}NzcDbEugI`C8mM57(t(3 z%4NTO*FOhC(?7Rl-85p|xJ$`c4RAyON+AFI!_}J2+TH3E1Q?^PYp~z>P&vxH*+t_A zL;bJ^kTYN5Xz6ypU{K1Jy>M(h=_Qao9L?Zel5`#fQGQl$ax7g6ea~jLoPG8I;GZ^a z#z;34wPt_!1Q?PKfF0#fjB@J7dO@f4V>~k8-k2bVlhcQ!&lkCm5!|}G?>kS0x}(?W zk3i(qOvwEV%RA1CkNjOi86f%SAlEcCIXX`xLES8YJ4wISy44>MF_cqM4&^s=q=5V# zvX6{*w|I{}qzKaQQGWGtFo<82Bg$L&UbHvrf^UFYrC9YQKYX?VD^mlsjf>DqS=u9qDs}(ocECZ-+jrL7=ekjC9e%ZBy!B5T7+;U;W3Tz?q*wsO=sl@%+jl#yupy)3#E_ZU?&Z)mcoX{Sxkej()aj7Qjeyk*R~&i z+}bHlu6j-hZ|nRjY0J8Tlhky(6`gj<3#PH12I8?F=v$Dat5j_CeLqT!n^zOb_2koK z;*su>Lc7XAAqI(Bi5F%e%fs4v2MSN;9f_rCiJBfFHr?k}3^_XhWzY(sZA4(ED9??L z>+(OIL>|<)J(SY=V6w4z4nJ+R-Q&>G)7J(Od(MY|`!xpr$+fEtLj<+F&QjNEOfp=I z<$DnSFpQUW_@7)-nGFIlbJwnWInrtZEz63E?DX$w!8f6?%Ta|-J5Tq-R8|X-r?`q( zlh^ zfdtl{1FAVb=tLkq>%3sjXHWh;o>dvz{tM|RN-5jlcGIY!X5p#NOCC#6;c#IF z5{{8(KW_Uuw90)KeV$MxU>K23^he zZ$HEz-SzWr&i|@7rE`^BUDF(DwduNuzq{@$|HG=`=`J3 zC-I7M3(~|EAvN40u%Y8Hqbjk#rQD|;*C4vP>pK&K=Iystqv5%TD{=Ej5Mi|P`7P2B z4#&Jn#ayb>vN)g$zxGV@MVKtrtY17_X-ePhNr2MFhQeiWnD{R0c)4KWcChwv=yWjG z_E`HofLq35Oje{V<49vm>l%Evu$m_lr^#^cUW6@RL1zpQB#t1FWC zG6`T9^4r%kUy|H21S51lgwmEB+dW=@pJqHC&oa4B5Mk-wT^}|beNgv$X3kO8q@TTD z9;xhxJCXT_Hv7z{otc|k@%87O?>gAgRt|Fd+jEIAD8oNm{t6q;|mB9S?>WD zfsF~zBEj<({%r~W@}=(;6g01qiuRhN=3?EgeoDbHziDU83tzPFr+!f#XbDmAw5p{w zp$DH-+sNJBc-IKWUp6{3E1aFakLG+ zp02!(9MP8Q2BfvkwIvMU%`vdCiEsMFAwUI`gIN`|Q;=3!{sTY-(!42%LznxAy#QCO z)k6yXk;F%VG@GgSHFQk;(Y%xZWp$=AHlq%N9bZlF8x)_s6jj1N-$_UEsj5j;65JKVk;yU!pQ zRIsONOLRHgUI0ICfj`&|vnvl*8;?}AJ?^(T4k5o;pZAkz$0isH(E{*gpNE-p&zYrm z8#G`TgHVxBGyDtx4)iaKy9l1=L+0`^yZc|(^j{V_f(r_dvd6A|*fMAIAdy0>jWz)l zT#JMd>;Vm9R3)(Viyg&?iJZbnw>&D>iAVo>tVKU?@D{b+S9lmz@AUv;WjIt)&u`Gj zkb?!2Ob3G3_W=r&23|ff*iEqTO3h!*_;rS&h6#i0@T6hk!2oky0bUP#(2uUS&c~mF zdGmvV;vBFzN1?jP4QLbO`khm_Y|J$4#bu3yLqZh8T;7CvvV)|({uLK~Q#u7y9>jeD z{gmWvJ5Z79tfQP=SY6iy!ZZd?KJ>8N4nnfRX~JdMu6cx`Z#TJeI719hVgoCJD)Ou# z;sa@DJDX%g5~gp4by3Q6{cYY~l0;4X{Afui{ebq+-3|Q$-cbJ~!DrEhVHff|P=es~ ze9k|4l>fyx#j$+CA+V_*TIRQ9QY{+PMP+AmC6>F2+0%3UkMBSTRhX0L1VNB+o~7KL z51LhTx%%JxNgSDpb0YlSLQ96Uz}O1t@B!irvR{N@Fo{JdL$yk9LCj_xH!l@`p|-wSQ_$Q9`6Byn?2H=7K9jNqpC@kAyT$awy&Pc=-XkYk zjSV6gXpo2qxr!FoT`Tw8+>gNjyYl#t2RQ;8D)~S~EzTmAQU;?^%els!YtxPdQ6bOR z$Vd}B^I^YW?NreDP`J#-R199ll1ZM(K>VdG!bwOBwjy2_932zGGZkBRq0bRs`^^#| zs$S?5qm`tDQvc{Cch386rq{Y9j1p*B^W0JI2o&RAL6gLvu!^-H?nyo8(%7!2obq;m@yVqaqW=P(Hye`GPMCYo0bPsGNRtlmDl5rm*bdW35Pst zb|B?M-TCEBZw<~~;BoHPsI_^$pFK!?2-pY;X+X_(i7YcvckU!{^UMVH1RNb#vMg^w z+ez1Unm6l79_Fp^(AOhz;%81SU$27jUwFxXI*eoy-l-pvgg3uBgWPESb^Qe>C~`I= z-o+Q9dYNFScS+-p{bcmI8L~EenT#O$x?@PlZeDR2$f6G&kWNBtd!FtypQh+>D=OPz zp=n`*Wh68Q17Kt%6zaSHZ|y{J1Z1~IeSpdgNoa1jRsG7gKRXOdM&~?Oz*3k+_^=B1 zt&spvHf-Q{FDaCbA-tA^?R2l-^#mtH@OJlAasV_S$KbLSp^qoZUWWs)s_Qis$ourA zUlx8{PqIIIrkQ^lB80D$aj8MhWeH&yqKpL%VZM6bIu+Go>8D018zDY1%q+?EuJ=Y( z+j1lF6a!Ka#$RX8L(UU+X}kJ(=k;`S$ch|s&4EcPa{1WrfXbp1@hpBv>=2y&kMZsQ zv}k~KEd~p-$I`?-(m;qJj?G4QHI9B9%!JE9?c9e-q)JJhel6^jt~FfJ>Z+&HP?lKhMg;dg>nwIuNnFSvUQFCZWrFu_Q4gev5$-;)Z4Xv!0Z|yV z(6+vd4;-tx!KKogQKI(t>urC+%g}RQyF?GVK)5=D)@I=pu+xfzb*9gXXbh-=q=_U! zfz#eyU#3IIonz%oY;4a!r`NQk=U@`!Cw5eX$92ZX&H-C^eaL%IE6KKkrXOZsh48~!H~)p4QEF~q3){o3$K$~9>H zYKj%a>xrkJEE09h?};qbPt} zZr>n&{6(yVkUnpK)`io0{0bZwIe# z5-9m;-|L}VcGQopl6>zoHXICG1qsofe|O{;OJEgl=GTd9{|K=Cspp?V9{2)!2e+1h{NcQ^{n zmz4|Ya{EC*-)cD)N*{ymYuwD%uRxreKYkcD6Mo!8G?9&Thn?g-s>;IW8xTj3bk~;5 z7#upHp2xQ@OyAFS@1}8j$>%ygMo|1 z;yDC-(gmQtTV0}br+@aff*6K{m4%+0bt%;DwWaHX(EglP*8L)?TIF9upk%=>gik)o zR6}<6YXDCBQ(83h{rd?rwSynjQse3oabmHr2TM5c=e+Z+G_Q7ntWU^057^UKERvFNW)9zd*ol{Q8FF@@H*1UqGqjEvO{1 zc5El48RLw!$PN1G1a8|}IKLRySN-GU#i4wr+j)jGnl9%98~e_q7>9_@--c902C=Y^ zD=^G{vy<$oWp`S4Ft=lj6w7}4KqTu~^DLPaK@D{d4kyuQbX;t@Xp^|m<~aavHv9$D zyiSfLI9woJp@&lhSQuMp#cavv9k4{}kLm<*6!+(0r<>=?waA!n@nwGXu>2mP@z=e! zqP0hsSK8;#)RiZ4fD@kHg5lkdXN~*$a+tWsjOCj9Wog@FUJ25Q|C#*+WK$4eaE0GH zSl12C=F>}uRg2=M!=GPXYRJh&-aQ?T*|>ZWBT@jG0RJMzW&#LFCTtnXR`{k(OV#zM zpJg}v*=0f{n8sU;_wP(>)8*aX9)|S4F?3PKEMclY|BU+e{%=Dd#_&08l}t!Z&Q|>X zbQ>j4bke1%p$2v8Ze-CH8EZ9fV*}4dmmZ7qARF>8sS%g zb1>Q0>#UjQD!uJ?rW}%Nl2HlpdDWbp>SMp>=H@yA1Z=BKT^nkj1FNokP6n9EZ+>xfy}vso@-RYF9B-nppAl!D zc6bsroS*1Wx8udTM@RKIVE2huK(l2rR*uhXDqpT%nxUaP9?)!Gg-pZlWd7<*vv)FPqPb+-R>S~#6oMX z*#V+%O=#$A@FwaV>R<|sQRp1%i7esP))oq`izshAajjOWaC-dzAv2`twz%b}X^Z!ps`u8$I zcbW9XubV;Iay3cG5RXIq%xc=QADypXziw`c%15h2E9&X#DPwvZkn>z0G!8bMZi*V9 zO8*jrIhhFdY=|8%NV70EPg4sp4N%*@2JUV;&%=Ua<9wk+nP3w(u6A-D>a{^vGUe>o+mABp&v9Ys%P~Zjxak3wqj#`%n z7VB4ChlreizKncZ%L4Po!=r^BfG`h#Y@pmdOKn;8D&4L<9;~Ik5Wo58db^wdr&GxP zxWQkyysULM5$U;^!z#i>&T_GljbwITTkbJ3TMo8)#xl~s1bPSN1bPQG2fjbr+p9YA zIC2wfQlQNqggqK!Xd1Q!AS%y!W6sm;I|_iR>)}b-_#YF%zduA5`PSIDNJC4jog2=A z`<+wroj-{ZiK@aI;Z31$Ky&{?2)E5DkLo(#)BTxjjgV0FZ{i{Y3H|A=Ij~m?=42%Q z6Y;^6^O@>i)8yFxz}08jhSw40aO>>f7-@$=tCUB7w;@`$0i z5R>noY0O4&dq4S~&iI}5aeNbhlsBJBHT?=C(5elOe4lgijI#J&1L{x)jA6L))Y+Ys zvcY=68vs1GGBYuh$mkT$oH11pccLg3e;*y`-o1p-5W#}q`8M}#fGQKxZKtP~RjOXy z3uJ*{PCXQ&n#cf*5VFcg38u)aiD%ij?5kxF!~b<6|LvHPg}*S@fPmzG3OVOdm5_qO zB%|tWnoj~_d!JF7hZ*og{Ih#?JY3$rL2!QMo;B$~|^pO|hS5>r*mJ4@6DQo9asXm~$$i8zc+1Sd!_bpWN=3b1xvF6l9R( zx1HxQxLKXPWxJU{BGU|Np z$2#Gf^>`leEb6ADgcgJZ6hF|%4a1m2i%l3c=gca6Dm1EJTxqq$?)Qxs(3)Jn^xXhe zwmn{yH+_0V&cxT-{jtRvPx$!sE!11m^vg-2687L%RmrEAj7D*zo098LnD7R1Gvtc` zEm6HSVVnxiN{kL!x_Jy3xLVXR?;QzIdC#Nff~ry;3Yr03!V2(mi?=f#Ab(oPLnA8; zgZ^(j{LkHI!bcNe9wOH1amF`*izctj>QCqMXw-9iY4$pK5G+J=hIbm@?WuVBwiAmb z@c^xs(65|jDQ06p4o`C3{?;=>^zE?YBWDEveY)gs-)Xu*tW|e(R1<`ZLWKE95(%v- zYD`V-Go2$r)EIz^9X^e%x`{1((l%?Vwo@#W%B3SI^hbjiLF4jkH;e_|!}Ga&{>R%! zai_?~!_2$=$6YXQZ%eDeHGy@$BWS+Y+lr}I*G?7#3Lz>=el$zD=-c3$yNa1qs&G68 zg>A&1_T>bh+fnUy%Kl1Enn|nMVT00>nw+R;&tYwk+AS*;eG@VrCrX1%Ajc+W@;KUV zGgB1)INDt^6SJyZZ{ZdW6lucQzN-WQ2?)mD8x0LgNB|!G<^TS{XAJEn%V!crV%Og! zcOy2QvG0>vjHF2IpNn0$&1msS#D{laK}u$}q{70F4|zg(CDS`6qvZ{ zZ2hVcJy#%WyrH1*&HPNy578~n?~VZ3Pze#1Et-C$z|FjzS013xBtFFM#~pDpGLB4) zuSF<{x8ZLV41NpGvgWW{q(&p7pv_JP8}k~zMXkxuYA6YSb%|hzyZrVAE_rA=S&T22 zgVYUQKRFTAmoZo1U3pf*6MV4R=#vFGa=?FltmkJ$!Gwy+_GXGp zCx&=x>g$0xeTG3Tos3ZBK>eyi`iS!p{B!{hQQM~YGL%4Ht!dprf!->(YCJQBQ7K4i zGG;OW4%U}a7HAggR^)?PaSkEE>;CPwo0~|fpBxVU;)CP~Ae>6-2L~&??iwbHa=Nx^4e^58VUdql}(au<|v!qN=01n>Qmi znvWxJrhs(Kp)i7p{5PuSG4$OK_%TL`>sXPu%FhO9`fZ51Mzu~8Ql=&+P8oqeic>O+ zSY6_hv*C>c5UUg*`$kV}jx`l&hpt&?SqUU#U(@( z`w_NX;pEqb0>Mg)WP=}-KYdz=SJg>|*Q<)B76t@Ioyaj#N-T6X;nat@`W-f-7Cut4 z8u5NthD{8+IA-D35yL(02!j}~M0dRWp7LSjx3A|$L7(O3&zxIzmoF=xV^@F8ML8)SwEXl2CHHLCZ z>`H&dJYGFz`kwNAxMsL`?B%oIsYCyu;)RYO{2!G@0VC|7UdJe7YH>~$fAn_IsLL$Eo#y_9nW_OT!pyvrVKxkfEb zX(kJ)pvhw3iqV27+OuijVDBagp0^ELWs67+_7j1z{oboj- zi&DL1(clu{9lXWUCZH(y|8bN5Ja4+rqyjDoI#J?cU#t-#euV_9q{}_~qWoeK?f>@I z0O#Az00T=)LgMW&zz32~LzR+%``=#ppO^oqe||>@BSMEWS{sx1Z%+GP{<%-HfIu$O z={k!9!kmzQ~^$A8>Ck}8bz5GU~-d=VBb)UT#v1M}z0`TPof;YsU0|G7tC z9~(+Y_nHKx?{ckeU#bTDjz`qnySb%>H+ty)-KRg6hr|I>;Wys~jDMa-)6<2wc^@8H z??WJQPc-2}6!gIMa>Bs>Yy*0tB~?`{R;V3sF#arkzcla&J6lH4iooAQ5{K!(-uwNV z3F=EUb=L`_fCcb}U%*s&!R(j^_z3`&^}%w()cl|q)~G}5^D`sSLji^7ZeD@={P;SJ z8Su#_$8$WpyOrPuo-`00%J4(C2`;^+G!_)_ONiJDg8uAo%bC}3FUwTpy513%<`zDO zJY7@ts3Uw09ts)Y*#O(<*?+z9K~nnvUVnjA(DTt_2zZ13eDVM8a^AoK_k{TW?+X&@ z!M{nqc&jHpX%`^@6I#;$r2KI7>A(Q6>qlI|#s9tnoagYIGOEg!Jv~OPSb9#sPiB!a zVSU!u6=^Tqlpb=44%WS!TR{uwnCw9*Bj65~j2;|LvT8RzoYGwmEkBU^%dzZ>4>MQB8_I6!gkj z#;zUy%@vlWn^Uz3ZDjT7WDzux7da|gr8_xTyA&{se>qV9^Mgxpdv|m-BOS;W7J6p*xS_>}mS=Gp;i3rd6z zl_DjE;;+T&!hh*Iu)e;&vT5brVGA{vk&!`ypld+XzY!4;L0(@|GYuS8$Jn9sUp!~0 z>8SJ(StizDp3v#pj8*#Xhx2|bsLA1|Z&6hedVzKc2ykDk=-`Turuio6tC8(BC=4Sc}}ulevUwq@r=IqXVnl4c4cZ|7&ef z*r3oW4(BVo*a0YHWo5-o%2&F76`f3MzCaO5 z?!(M|IUB^D*I94fAeD}jl2i*oDtB;Dzg8C*2+RF&K2=&>&3eH42x$07_Dw{~!OTBr zEdbn3`LLU4RbsH-9ipP6ld(OR!JTw8yf8g&_>2Zv0Rm^nqiJT(2~Xp<*p$EWVmrDZkh_GHmDMQ%7S`jt#`>{ISXL)MTfPMt*1DV!CsxJq}=; zhb&ZEovimT?Z(wr+f&OYRn;X0@wf5r^mf9YKSLlb zdLhFdx8!<%-5Frz0z}VFACpj3S$_PRe2p%ajZWrMv5&q&MXzn$Rk zwNK;wjomoKKZ{|o5NXNz;wL9L@QRdSR$yR`oYmL5u3waozW;E3hsT~Y=mM0<7yc`o z@-Ij50I$nvX84jHkeVAaoL94?e38AjOEzq5pa$3?jBSD`Fu-YY6r zyu`_+=U(;7 z5=2FIi>qi!gP|YK!*S2}y~y@=s?32{s(jnu5jGo=M0F5WV%PO-P{=}10c_Z@+ck6V z&+6l@<@wxmtPM48&yWTjI<=@T9djG}4d^3ZKV=xN_cD1zkEOI@G^_Ems1rXjf0pw7 zr*q>G1ak5WE%-u`zw9y~@`WG(3HXpZU;&P1U1YL~rC(Rd2o1^pQJnu);dLW|1Q;ln z;>iQ+fx|z52{1)@IoP)j33$RU_<^$V{F+sL_%}3Vf6(|3;Ozm53G6v+ z7uhb|cQ1JE^_+KH>%{mYvMr}-3<~jNuvusJPSTpxXse9X3LLp zYny!IN5cT~JrWG-mY^DK4wDGC=U0tsw7xiRDB9V`w$38~?+vHpU)OB+cfjzXwbQb# zIKEsV&8&}X_}zhxm&LMaZ@$p%+1ndnf;YqCVIM4a#>6PcD|os=rOxVH)mrX(QCx^x zWjB|oUEGTJCujkcz%r0E@+}8j@cm`kxY+P$1wyaSNYo57UnB^`4pa6UYGlK08!`zF zDlYmqhQnOqXnhuZ?L8n**&Z0za(CFIl!xu zwsYf=C~QMJ-aANj2ndu!m5pe33pBVSZv{jIUdyBS8$?~hto{}lKp*v??E^7Q|K)^! zZovQK2dRK+kw<_R~3<{8-bLquozf)ze8<6*(qEn&^%e4 zGLjNj5IzHfl}q7X;{nxs{60{wI>%jFpIjCyvSNDeuly6$-vYemQo_HyI;ieZ`WEuX z?8fNCY=W(=dr1?itd66X1p=xRN9{{0gFP1!mf(kVV|PpNF6F5_?Y5TbDl?>geRbk$nBS(@Rr@7iP1* zP2%~g6PsA_^8fMm)d5ky+q%REgES}&LyAfa-3skCtd_jCLXv3{Jk&#V7s?inf0u4nx zQOh01V>3PzO;x-7)+?ty%8%5HI~Eh{A?bMK*EAMu9@zao`KoPUcxntOvG*~FYmZwu zPZj%B6f{r|Z@wP@z&d>csJ-Gqs)rSatt7d z?7l5x7%3TwX@pMq;3XM;U<4QQ<=hXl;1bNzwH{Ifv`O}m~$^$p< z0-*SClcW4CW@VEmnNNk(m^?fo_F{0Z1I8c~DFx@E4aC?;zmr>{_JBz1u9X%f-I0H~xghn7V8R+Wt+tr6Icox2M4zyV^%7uc=Ir4;sd?1agR*A3w zg;)%{&rxdpqc6j}lz_)V@(e=RL2I&)CWiZz-wKJR!o;r(#W`e7RV=RjTdo+0kwe>J zIEe$2^EFG-(4H7qvQ)J3={#YzKQf*@Aufy5C&Kv{2hMkx>|GhzVZ}#c5XDf5-rc5- zT$Vay@IcNmj1TZ&eD)PZyhoSuIHBF2pwRLMBnWs8#2oqM&TvWta^WG(Qh-oiw&o*PVsfg#Z*{@e>rnI1LSH>VO(6c7WZzRTLOf6o~* zoKQNTs2fUW+DVOb{oMYh{#eb-*pOzHR3xZGNSbS7(ukcDb>P^Nu#Qr6dkw~Cvn{-oA*PAe3`-hmXwF!QDon??wJU^C zZtsEl7x|GmZ0^haurR`arB{WVs8)VhDTD{sk#xew%sH^cZ>#E6mfUHis3PzK_iJoU z(VzNJHJcyfr#J$&6ArjAh%dD{A;ItZ)m3%9D2T6|fzeHQJfj`^9kQl2HP~S>GX>-V zcBP##iD9HtbZryah?IU{QQidZnGh@oS4p5Dn$xA4Uo{oHc09a|e@wLW^HR}EJ0zSM z%j`&>P-`^SqUWUWDs1N%m+q3rj9Rueo~MTqW+|!x8L>4;>XGn0t6hK{8(VDM51nTuK&yk>%V@LA0K=xWP1tt_5D~ZJyqQ6( zrQ9~JNWu&;DhbQw8TWlt?t_G8!joT!pyNEerJ+x1lm+T1Q3LUpe=3vMEG5hBY?YJ> zG*1)LLSlQ!@^p>8UG5u$N+bKTA+9a}*SB+1;ih>@XI7NJgSyX&)GLk*Wr;_GayY(# z9Ji+E?b41|6cG5^vnIy*t0S$wm{QxN7F&K0xRW!3gg&vXD7N6wk}~VE)F*p-5Zmb~ z+*gzvhI~xrv}GMmcATB2iHNj15B5j4O*;_{C8aghiHUfrqx!d{+slI4^Pl0{)B`;n z@3-WY$!2;Uc6Yt=jvkC{Ia;CIZH^jxYTgm8Ap@EFu#W9Woa#GnTg8E(vU&9LKjPr) z+BB0PsDSyOI5O{7^pW`3*Pn85C&y11QuO}-&d#VnWB%^)KZ@AL` zq(L}#awO-{yGnWB40iH&i40PEMqIQToA`Rrab&8>-*IKYq4sqEM(=SV6lIZ5&%wC| zhR{7=ZM9~DJ;>UQ3Cr?#p2SukW6ShJO)j^&0Zka_O(N^|83Vl6g{h9SN88%4M>!CP zKvE6ML)raB%e&6Ax&v|MQXWAFMTpl{QPtE3FD|DhoI-brP!|?TeVB-Lek#9LlfU=A zlCmLTNwyay?U+gDIdZvO0IJfeJEy&qKS=ZS-{(58JxbHHbQS*rndIbI$>dpME~bDP zMfbuM$aTOY0N2b7M+=PJ@;Uku9vOU2j3e>-0c$7`H;w_$(*T2ZGR)BNWyY2lXVh}3 zMOh!%hy@$`m?gzJ0daf{^aU8j@xc zxqcZZIZAl;g`p{aca=GD_5m)t6!|aE5*aNlR~le%+-p*%3gTD73lgi%VXOEYC>4!` zh!jzEqjOdud&~<;Cur#W93sc8%^*HQ9^_4z`!}m@p~1$m941h=JH?ZvMSCv?PPR2D zPAGVp8L!4bYk|%|%9^eyO^ie(ty#^Waga*Ov=YQl*({>8%57hhBE**GY=;3p{S#DABypd$BJ*45kM}yYeF<7WF^aqE|9}0 z7A!jiA=q605+EQrjSVGQ$|h}=>sinkXt~H6m`0D5L%)|-?1Ls^UZMR38hL4blfpFb(}3Fo zgRe^!`qT-S1Y)Kk-d4O z9oxG5&6(vfMIpJt@OB+RDp^0TKDK0UqU5i zyGmTikneB1&w;+PE!_;-K}0`R;4F{Kk>@7APXB` zwTg=@4N*FKjP#I(m_0ANva>?}laCLk(fxKum6oS%Xv4-9$2ZX@af(R-`W-Mes9`mq zDFJqmhGAJ*jp@5@X7H5`w-?79DKX|X&Uj4wQ9JwQ>gneH6`=#EubDWaIOGlOQ_wLv zUcn#=Re7c|6|2c?dLtA|9-E!2!p4KVEB9f1QDw97i(z2u!GjB0_8V1q@1?teF-;t9;4LuS4d@5$l$`RT*_tINY#QS=m@lhc_4cNOt3XqA?$ukS&3 z2A3p>?~OtAL&51Cn^u}9qN(#Rh*bwhEwuTRWMRFmZ2u290r)Gq|9US0&~bA|&e$(b zHZ|Td{17+}!F^TGvE)pLgfC@Xkmaw>cxikdkq1%Jmh*Y>;d`AkpO~rde+mW)tWCZ) zb%wD+%%JInX6Cz`Ig(5UI@{^^)Q|4}jij4o$o)Wf8nSeR7WqFnt6LKZM1+f@oics? zi4FkZj}j;ih7SK`QnrawuQ?`1l1dA+VBwG%#J-g3LXWRQ`REO-EH0M^uQ)$8QeGs2 z{j-&@#=GZ-pNOz=88o|55qtj=Y%0hxdj<;a6D#QZ@Q@Aa{6#4Ka=7#&)M{QG+AjAvwPv0Ff*113CRp{C6p*e=8w!4FCpY z$Uji(_1pL@fxnkh)>R|Rx38HoT@N`~V&$`BiHqEIpT1aX<-59X=8W`$tF{vxljDW`YG$AR zRSNi8)9Yy8a}#+p?AYURg&zw^I8UX!UplW|DWC1=?tA9k@d2?e(A_Ncwz{`5_8 zRdSUDzR#}z6lVY9bNr8IIEw-Rn~RV~jQ_#J?91L)w^{|`m}^Oq!Gz<1$; zk|q9COZ#(khDQKGdTPUcI8q{+Ao#HIpLg=lmdBdDeQEQG{n5MYf6C$mA{RrNk%un; z_=r!PY#?UH)G50{9Z0ke-}%93jb;ZQ{!O}&+MqYuLR!$sUlceBGqEg>-y+%7O8#D! zfeZ&=+X7gb9RR)mm=f`nYx%8zy)PbbgXQj0CL|{$+&X^|GK^Dg1WXA=jgNC(38(Yc zq3#0^VFy_g)vl+}pE?C!I`A}7>BW`T|08F_)deZgB&Peca(25q`j3l|C zmeBxZAnu+b?x)=A+cbe^ssP%<_Kk!!V6hl(0b8B)rU)_cqyQm68t0sbLrnKyWSGaQ zV7c5d^?SKocV7No0+YLBE52Mo`h!?M=NR(myci-bCQQ#H5E~Hh@{VI*AkBmie))7- z>i6Tvns4~Jtb43NfFErKr$7=wQDBP)PdPAKL!9g%McX zmJ6ud`rpIn-@D;IZi$A1m>tz3zQDbDcXXbNnQTn1!_~&mE{pv$eVow49v!+F@ZXC$ z8D1NuOVPJ4VOnv&leDUer%1+!YMUfH-7uMi3f14M$J$XnrH?r6(J&i;3Jzd zJ2!sTqQlqtpL4$OUR3&ezsO0X23`ABqUe)(nl0ROM8fk!5e%GavF}W5`)JZbBxhD? ze4@5h27O*#;bQOnR62v`;5%ao;PRP5s9&l9)Q$g#Ig2@fm|t)`QW;;3Z+LC4lK#r( z1EO*{30j^Zy^+~#Bl78xNb>CSkD~0?wYINM2Buyd+0Z`+=4WYEkN3Nc5pwy!zNQ(! zc~prIv+O~Cv38yP2hVud{#rYIis2T-V5m>K=f+H<>ESHLUaDUeapdKY8)O&}Mk8zpRr@>xgKs zSFv%m}xxYh4MfRqaI>aSAL-xS9sPxhhQQq(BYVT53+o7xz zS(>w^>1g)$aT^D3^STM@EKh&ugKILBr7BVMq`d&@F`HM20wqPht1t4Nsy2hEw* z?j`>DMJS#B_RCWq-_LP<_$O^TPYvxXIBqxalrmYtRCIg4JLgT9az-^`PyH?r-Kx4l z?`uCUsWTpuBw({X2CKMTzL65*j5%;gtSm1VC$IT!QDI~@_Y|7(#9pmR%5L3Y`e6QL z_-73+7yZ}35z3nP1^c#;RK%1USo7MBLlo)b~$kcDa2Q^PgI#9Stg*yo}GP%bi;LlCPI| z#N#+uU!MQFJD{)>ReUh@jqRX2lWINX;Ulp%d$jwom~T)t%_vb3;Xe3huQI8URGAvCKgTd_lHlL+djHr z`1B{1GW^h$ymL@c(&Y86=fo*6Dm9)NC z`{0>wGL;T{mXLVLz-2oZ7GZ0#x2O50D$aQVK_I3q_B){x}#6J+?qStLn6y{Q(jm z^!DxB$h4eVyAucD+(5uRhEn<$_7BC=hfQ)A%DkZSR$2{qRQ(-*Ss_DtF8M7wZ_i zoyghylD5F1;%>aPcS~Pw`R!M3#zhV(%_>LXa%pGx;BJqp?zhiI?@`(vP%s&nhO9l* z#1j3{!@A}6#fk&5aaIHj0iE)$gBx$-4Q$B^(7Jg>+Mi{z%aXGnE<4Qi6D01yV zt8Gl&n=U0_(<(XaE3&?zd~GQ{=v_OKUtGrN##^b$ncHcn!vzPT8|uS@_(Q-(8T`Sm zInJfhILV(m{&;%42Xd_oSp&CP2~LUws@0!91tMh@Ww}cGFl-)>BiTpIvfW1h=N$$Y zt+bZ`4c0y-NaNh9$%k`MK6!3h;)Gj`AFVTOt&Q!pyOz;CA?voyA+nPGhNi=Hc1|7- zqpZjqUm1*{*p4Z|x2TgnPQu?N8(~^^bfDi#IS#UQoE~W$YW%PQRk?V)TzrNOXvuV$ zIEX8<^%xQi()D<`{6M7O&|T7bXr!KLuhVr7{cUt8uL^E>K#*ze{grZ}!=v$rh;Iwx zePk*zwMS}<5vT7(ID5a2CPT@U_EN3Sul zrV~_o9`3DH7F#s*8XT#N57rFkjbvEnYt#xR-t@3(vA69#JkgP8dJ+HlLYoh8tGp>{ z91s5Af#fb8HfOR8msEF^bEt6DxAM5edFkOJxNqmwr%ZV-#BknZcx*71(a3IP5&AHX zvYPX_`-pe+x*zZczvu(6Z*HgyXHX8N;VQ+& zcg5XMU)mdA-`X3ZxZWU5Q)&KE2bO!=mzJE`i3Rl!&y}FOC3b~Z%z;K80*W_xdpet zn4)drk!L;6;^^xBW6YB$WfB*c^p-kIEV2{kS)+JL;JCCrbi zH#Qid;xtE;j?RDEPhQaYPJ1w7VAKCosjKph-Hrf_z1U7|OXrjpZzN~!+qY+Gnu!v$ z>WKXW>OD_4=`&&W39hG2L}<9wbZY>(Ii5TaKZjc?MNiQXLhY@P*Yi}l2|e+ zZ$56?P*=Eltt($rzHYSAjaMUekXrN1Z8{T^+QL;w)Injh3E!i}*WB%yE9Fg$E6hUV zhMaF~tRE(0za=2$EcTQV9FxkY8Inkx*p`0b28Eul@ASa>-ZnPyl5ClNk5|h5U}f^n z^(E@Ksx@d_r{haq_1Fhjp9KN8#1U2L1FdX;6<_oCTl)V0Ckj0W?>m>t*vHxKQ4aze zzWamJy1Re!`xO3DXOYp)iQzjwoq`Dk_H|hZJy*Mm&T`LWxJOU;@?Krv4!nOxda(Q9 z_i-~>6sltINVevds&$t!9R6|vI%KmmL~oACb*$2}QTYb(?C3v0Bi|7Ki`qZ_y>{>7 zlOJTvnd@q}+t$!bC8oBi_TtmqEjzDYRHxk+?IY@Y9{rl}`_Sxu!PqMHi~DNp=bwB! z+zBGy%1&=U$0SF)-l>e9qLRI*GJf1PpOEV{uE$()?Q$` z4+x8Hj81H1*3?g}OD7*k5dOXi0rHDrU*Za!zggb@Vjli2{(gdAf$+d6`lD1YYQ2?b zwBACK;oHlVo+?bjwnDwja{rV+L- zd+U{jtF)XJZh71@6C6##+M4Ey-IA5=d(I-B6SrN@Q|Jpn!ph=N_F|mR z#&%0lgTH6X9;H_oy?I|fbo%zKw4z6PR8gj_pmK&4TQ_I^y+?KM8>vW}57U)VJZiQ; zj^nx;L@ymtJ0Y0!14F~v`1Mf-5CmTtd)n{K7b}LZZ&hSQJQ_Y#?4NsicCp*#U6dxp z<(UZ#YF%VMtT8e&uc&afb=dX%s8Jx@629gJUp!pazDN4J1$>LpjmxaY;ai5#|2q{E ziv-JsJQXmr8X@U#u&s>VLk8lO?|ej48g)cwy-nA+*tN*SAbqyyqh=u@MXuRUNw_n)xTWFM}G*!{fgA(^1Alw zm%_hp{`WKYzYL267bjeOWAb%`$VI1`MBRKVhQ44Qw}T~Fw8GouTk%P%J#}88rN9R@ zsqrc+UE**f=!-g&mOubBDe<=7%K@CRj7g;vH$F)vvRk_l?$bP0JMva}+rS7lcZ>ds zjD!WLHmmv9_$IYVsg32SgDJ*>{s^v1UucYDT-0ZpG=VhPvCGfvW9IW;wDyuWZFjad zG-)Jh8)kjJ-L7xSi>_dSn<4fug*9MvULDo{Ir_k-Q8uRrsSL) zUk~G~dQ*5PKu>RLyN9py95s{c_@qnSZc}e|oWxiK5#Q46~6csGP0`QOJAQP6y%yuk#ywIMwk-_ ze2!|(At1oR{@+g^W>T`11G?5;N!^+|1DzKY@rpd)8BM6*;H-s!m=|)dgcY#7uTDSo~v~RH)5n%8^_ZLZ=b)AypD3 z9m}*oIey~b&hW*2)J0IGVa4S$imL{A=mk<7eS?&X%&#oVWgCyj3JNt~nHU)fhOU}& zn~CYIvk2k~ykTii-ZO7z#zPmMEdJ0nn%W?lz@m-Ey*$?!VDJISY!cuhe0|S?gK#$> z^LXPV6?M%^gFF3r*N__V=7;BhmzIPa2lR}C!wADQ%vxrslc|CX`uL(^;q+o5IVh(Yuz4yjaqM56!k#%P3K$}|Dp5QgXxt< zQSKGWi`WMdm+;Up{P^pZ5nB?m>ypnTRHOfvKZ#@kJ0NYeDZc%u1RMPd1kRI?l$51< zOb$y-OwSl^7PQ84s zE;3o`V(kkE`gc+VOf+DaosLbaPB2BjD<#&$cUq{0goMy5gE_W9M{GMkobNJXV`>4j z{;sTDZ@S^lSTgq;J9~SrOR7db>ml~91qCNTK7e+5XFoqwCe+c(s@tVWw7kC-{gJJa z4JRJW8fx=CG5&X)4^kyLFE4LleMQo&75ufhSaX-=%9?)9ZxZNq7-BfjoOOFpI6K@m z;tuSM!zeis3L3EoW-*Z~Kfd{RDzBuGA&r4GTHdONv;4bP9k9S;&vx|d-&WKEOsyZC z7C1%VxoC;CyOK*O<`m)T#^5fX7h)_E=pgv9+r_m32!=koc}df9GC|b=Nbzb9be)7# za_0GE^5Y7(lcn(Lm$hy-Uik#(o-c_uS_3*A8haF=Dc5n^dnWnQ&3Ma&H{Sc7fbX&x z;tyLhOP61;I6)?tyK`Sy!9K+)Bx#V=@tM7D3y>YPvTwYotxX5k1**0I&$7mwl4wr}XW7F5Q=Ve=rgapAMm-;cZf+2C1sL*&z(8F7$*?+rW?;M2lUg8o%Fn5^b$+rp zEHS`nKuVxyQ2WMuSB0#dVcBx&Y^xDb+zbeyG>*&ilY-9Hzct#~pbAT`wM@3{WBdJa zop(&V0g+i%88{$@Z0$W^((cBO7m&)&&wJ0w?~0Ff;b6=6>TJKNdF$r>gZ}2rJ0uP_ zU4UrM1PYcTbMw4Ab9L`5ht!hea`uLIP1Ih!m)NYqX~MoNGIsp=nL?JyHI~Ac{OH|3 ztvFL;%%54&cL9+?YveZ7)tQ)7szN3z}RxU)k|O|>DV{li}l=fKocedwcjJy&+aq_j5RI= zgrhkuX856?rs=CoH_w&qP|R*OvNRen2#1`4v{jBlX}#m^hgSjTG`GD#23HDY0f@)zNWg}YwXX5!&AfphV>GR z67YjlX-5muxBKLy73Q4wh>b(MJMv8+odaz?JIzcx*})n=c^!!)kAO!QckY+Aa$fGM z0OVjL$bX}s(!Cv^p%!^xQ@Y;MmL&dDSs~8|=xcw7S9ZcjJ--@CREf5b@rs!@{W|Ik zjB0;xbo>+0$rc$kdh?DyTMc;#E*FbRH%KCq`IiH1NH6J>0zOzm?bP6Z02FNT} z6yGU@DE#6wh<1o*A2qd!1PBK3G3{~KP`^*?;l=Ujqui$Sk~v+;34ffq-YlL910C*L zsF_eTvk8DP$fP^N5i^-H3F5KT&4Nn2&H~X`$uku7V*U6Tas7^m`jkS+eC8S}VcdN4JBzPa@SkG;#G+tv z_@qTfJ7{ch9cndAku@260dmhkXU_Koo`|US%I)uXL42-YdXGLp2GcVXX`zLI+y)rvVd5V0BPmGYG_Jl^iXk6j zKzGQHQM%aETUVGW45L5miIOUd-+92$5-q#kgu8l&vjHTHW<~5t1uLTXWx(pOQL@+a z3mZX{nyR(seJOx3clYYsoeC@inj0yZbJ)0E)FZb8($b2a6yqXVCCY3p;3ffvUeMD( z==u%H5*)$4wk@)S8By_2d$Y8}7Iz2pZhHnV4(HMkJryd+Yifjv2?!}y%v(@CI&WXO zR>q$hZ1@^t=iRDf?>ml<@lYYS`0|KzY{wj0HTESu^S9ya^$*Eoo(4<~3bj{w(@laa zpUIH+*G~HAAkOt4C+!C&dqYk`{y6>u)cME{&+(xLZdo&vCx-uz^1^D5cz|sHPrG~} z#R~a8`6~q(ts^HAP-<*T!l;SV1=#2cXdPe=h>zs#5+GBe=pm1#fGbkP|85fxklv4I zie^qYAyB`!gC$N>^UxRPF^)3$1@Z+GX^0ZDUr-MRR|@k^ZoK9rC7#hbP%Kh~6Ztsc z`BE^favzUAT4kn3f`(9DZ6?xZzCB8f_Vr2%aZ-6Qo2uRtJNQPG@%bDz0jWSs z=V9<&Ii^&kiQ)+nc-A~dTBInW=e|JIYKM7qEUAftxzVYFR)=s%|8!B|tPCL#k%+I39JOQPVV`slY9I@cJW-;bHD?Cw`kwt65D z@pN$JF$8|E0p9@W=Cx?pINB8@gArIRIZ2TH*)D)zNh{kzSDhNBN%p;v@<)$0A6ie< zevJ)!ME`yznAFe2lE^2+CEMos@xolk_KnzF(<|KJ?_oW%ridNEb3A674?Skc=XO$o z1TZK~?5D^WTuZ%^-wjV=L&Gt88ZN$$UEO@)TnDHl? z5^Dk$`kFp{1FQ~n0~mL@JM>o4Wv&SI*yTHAH;0aa%oM8X+!*z{zU3+n1DV(WigJCG z<ndk#|Bot7W1PE7V+Y3DyueoYj$^Mm9Q@iN;Y+v!#j6vwT5Kbl{J zD}HNV-bjb418)toCqTmJe1^%4A(>jy%AfFA&Aq($-||U58XQnP$N}UD$^?A|6~~5y zJYc;FwPr>MeOH?>~+i+1m^^?f!}T6aP?|dYHk`82$W{^e+pjIU2&?NN^~ zRF{OFq;cK&S1lSv<^3{}C$}(MqEsyRJHK#rQz_i?AnQ&KtjjHJBi(&QD!iK-%IR2Q zek^U*K1a#IzGFd#LJJ`~OZv&OCj0^m0iqo_LRl8hbDD+Qa6ilf&JJ8WQmY9X@~ss$ z|AW~@JoH;0)H@cR390Dj#S+Audv+~E3~NaZb(yD(4WE`DX{M9GtB)fUIc~kyKP`Y! ziPAQMWN`r=GXhJ+E|L{7O&Z%M?=;W#F&kRzRL^YNOzsQ9`(9?fF`11;Jxr%VTLLrMeQJ=1x7Z6H*SGy4rU4_NKz`Jg3?{COxM(3 z6&JUskMeQjJ?@rS=V+EcWYa3U4^5N*dJi#^Uk8u%?FiaG&Trk~PudW8DW$uThg{qn zPa*ewEtLQAG}&DsWNY7jl~~4Z%r(9$cFOC$x~%56}SQXg~in)A;mAg(D-!M zKPy+3wvFsPXozeahA&9!FX7MKe4pnHTUffJo83)A4}B&WSE^BDJ`|f%p67z#y$3vz zn{VG=PL31RB({)4DK8EaV&^PFYJQ};vkY!6;2{Xd($~NurX`M3Cx!*UPGjraJ{;ao zDHjRQYcIDu&7sZ}RT4gf^^vFVRSU}V*_aW7rV1gfEZ}*}^Mwy&Aj)&63ucn0AktJz zvRb6o zkDmxwl=`l;Qpz7ww436V?!{K19qDXxARQ&^z>hUC(7hZ=E$=L97`F&@>hTM^(`+u- zU64p+$|bO;?y^RF7>r$s%_aMly>3z+$a%?l6&};NBuLH9Q`>Hje~v}tI7|~j1>a_g zL1h*SGe$VSDSjQ0B^q41bydd?@p+WU9Uf~Khp zrQbvylvyxNG(8Z}nvz@DGw>%B?WoD_6Q9!ZyF7OAqHcKKczd7N#Ho!&7kcCkQ z@a0<)|5h0-457E3j6TsEs=V{D@(Vmy7?ojr`;%wamy^%GARnu~=XTxsl@6O%RWvlX{`}nWZhUZCX&Ai;+U`nEjy1mbTO!cd+*L0E1Q!1xh&U;xP$s=m2<>6dv+;gVijSFF8wJ|RX^W)p!tnW`e!tq zhYst&h*0BN?%AM7t>ya)7rP1$1BBDrTw_&y$my~wkP7U^Ioz(myN+@J_6Qkvz{leO ze3WCHUAtNFvc+wLgnDKyOC4suon z6Se11YgNraX$T9>0p$$YQG=yc-%=_#-x=Bk7UJ9PI&aVHa8J;mcZGB|k{FL#CQx{L z0gqEjVu1&+>yo+Q`3GLd5P^0USTpf-TROakY6UL@x0iB+)VKK{D_GO9UP09B%J69X zn2ztKRjK7U?Ru;Io)TG*xM=vbMn(QK`-%oc)eS{Ca`PwsRhv{{oJ|0Os!y1k14kg8 zcN68s@%U^Nz9{!x-iF-z&5Q~FS)YjqZ%?aRX+=L~Ilt4BM)mv2rGP+QJWR zr9Ja>Vzr5gsJrxXw4i88`8em4Ca`NJ>9&?3l6@%l_3nA5?p zDFd;M5Rrjvuk|@f)7xt7DHzoKMx5_+Z%Q*Q#*3|~n*QIc1OE#pzotmJaFg_Q8TotI zl+8@bW%AGt@K1uf1azIsbAx)PWX~w7<&{O=GHYPb>=FR8-~$X7Ls^_?S_u7-Z#c5p znHLOCXII`TnM0l?XNd%e3B)qrC%9C&a}oD&fW}}c-;szmb|T%pKK2Kw7IaFMiJVhp zR?nkzT2*nqMf~yB&s$HEPCBF6WGd%;^KdnjS4#9HX!~J@fq=2Kx~*hLT_tRcDl@4ug3!VSpdj z2O9#JSkl7V+|}(!ymCG0$Zevgq^-#Coqc%{2#%vFd9=S^wSaLU3o7?-E2J^lL=^A{ z9Cq*_u@HcaV;Zwfj?R3AX2M(o5(1fF=9#~mLTBljNq4lRUXobt zw#TuXd7nt!a4ck(B4D*Cg(;VL6T;q3TB=2O)x^J@MQRfy){ZE#dt=4GQ%vd;!e4kB z(OK665fhAVz~s=6Bzt>NJI{#Lv>!i+cAihfSoHBjMgl6zEcZ!k9uoZZFyu3hv@-NB zsKw(Xhufp1+B@gUy?jgKf!UcAo9g{SnJc-Ql9@N8nhC}W9^TP;7dg8F@Ups(ZgKh; z0K~Y^%W2b?cz+vCgQeZ?a5y3Td+wE#KHBB$c*9Y^gm%YGu)GkwYK z7)DzNynb3RnOf3ud_!rcGxMcazy`*yLU=q`Pv0?>QTp@^0N)SW$Te=lN*ia&KmXQD z+rKSoI`KRlGdWP!Dwr@1S3gi6aSVuW6)x6JLvWR?4e`64wtgGMIF5`RMhjQwS*KEt zWr%$8Ns4J~Cs@_w%$`2Tyqw!4FQvfKWz}q>|SU2DEg*^~(aqo%eh6NNcJF(Hg)Epl0b($B0x-p86DPHZ0@hY)H zPAL+|z4-C{>CVW*$mJ-v`7>qGa~AQeF^WDbq&LO$U`ra{*agVp ztPce95D%pY=TLUU$`5Gzsaq3=`7s+3%&?FlhgctT%5lb8L=_VD#5TXhvq=vn0y0qQ zLwO@IhxkOIDcBQ!(FEZ8h6?_$V#x);uzwl3$}hi{5i z2@~n){sP9-9KuXHrj=YZuG4kE6%%2@2_YDUjV$DVol(G(HZ@1Cg6Ww?<#{UkHc!>RPAE*m`}A}0S0zGyzn zw7810aKrm)*1}+$wk@J_R#A)5r#T-47-w2T8&(u6`Pb(~u~L_gJz?dj<1EUN8}&`1 z+e?y{Nj&of2R-(zUaY>P=ZCXZ*iquYflmQY!*y(Z?^)1keUt4kPlA@5(EF?_?LGtO zN5n>tK8^!q^Uu9>dnc2vPN!SLwdt|mzo`lluWVl$z@67?_ouC09z1_LIK2?(T$t?? zQndPF=E_k)$vM8bb;|He(4e#zAyY_Wk*s-TEaI4(JVommU_~KonQ=MS6!Rg|`Ken% zauyoHA)w>AdJ|v^kFVrzsi(=T-S@Qqy#s;d8`2D-_aER(s0rjMO z;PcNj4-ewfZPx}TT4va%hC;X3~mR5iXILP$~2P~f70 zLn8h45q;g%KBSHtnO0eG!6rMk(ONzh7X)-0u&us+&GWY^7K?K);6VU;**owGIEgu- z6K{@z<7NPJbW=EUL{?Ivk*a!tLm2`bORz$)!0f%+!H;7Y@H)U1M>IeMrvZ!=_$<N;NSuGeN`iEEnM3bhB>ITDX@l7#|=x*7X`lbSo{ zMLSjUBB_6}oEbSXFn!>~rv^S5Y#hp=xU|<3;9QInj8?@LPT@)~NwD*dv3<&H{hlE9 z;5*x&cBb@k5f`n~CSR-hlPX-$vWKO%JJP6TLk9DRi+O@uUQ~O^y;Gz&Zz-|c} z6%ns`{Oy}agEcxDXA%0i5U{@8mpN$3s#pFjBrZn7iu*E-KCO_H7VWZ-WmVbcQ;4h1 z{Q2Z@Al=L6$oEWW7rW@Wh!n)0E8)ib{K)fysosWm0cK;ds#E+dlZd z?fk{$2tCf~))y_1oj0VSa9YC6q8Ad9v{d?mS-~F_X$;2-hF2zbBTki&*5X$psX{{0H6Rh-YEkp(}j%E zYwu$S);9Lg7RxWL;I2PC3ZodL2MH!$)32uXUP55^i=OD~{IDTvd{Ph799I#spTw;! z@{W(MV%umft>Q4N$=koXWxS~0A$gwOsFG)%)=g{M5lL%bv6!j!V4>B`N-N)X{G^s~Imr3t;uAZ?k~43kzImbPd_2#p-@58$v^f`d za;MkS;}x?4d|+0q>gRJyxELPDfdR8Tq>9a0NeixTN>>F&DUa-V(9*}rqn{pbFB z$C!h$fVt-U@{Q+v-}hl3#n^PBhB4q{&)C&2Cz4A`EvEFDYx5^=DBWAcH4VHrMqxw2 zj2%UvqOpY6F+Tii`4qzc+4<*c)F$6Zr|$Pe-ZERLaVzgR4?Wc&G5Z`wT%SjI7ux8Z zw0f?s-=PYQB-qpuje*K5xvW(6rwp64=3C&vHoePYlj*8dW6a2!K+pE`{6VSD;m1R= zCbR`oz7!FLJjVCmD5IJeF~^&4E}HXdOYIzj1U9wCBsW={eh7C?#g4{)BA!1bFAwz~ zLgiLlR=n2~=E3?MFnnFH9>GTVu=sXy3Q4j8`owMa0b$_%Y3s{*BEMww`JvrzP!(Uj zE*v|6;G?RI*$PZ*&Tf}2sspQx@Gdk}q}8&cY(UB@y-G%2gW{GC+o=4N>D$+~t%0;n zcl^5Fz4pE<>=-TLNIiOMwsQyVQdATi&NZ%8W3ASVgBru{UOGeQE`>Kj-mc`bT%#Kd z5*X}doH}=z`||IKVH(A7U2He%x*?1X%9f46*1X>zbHY4{7qIxzyheXX-DYI|^W zsInpT$uEW+oVw7nX}#F^9lM0@gpQqVg>DJxw={a9B3j;ZqTWFzqepYTi^_@0^O+|_ z61`shJ#L&Tk1CIny;AApT++|?WvGEN;rxC_=Q;Xo^dxf%xdGDqvdKAQtI1ia56ew( z#;^s)Wdr#v&CJZ0m>Dq!va)05NKE~k%u(dHVi^g>2_8$^Kh0K$lB3=W5JY{|8+ixi zAGH8D(9yq3oD)08_u}EG8S%};-um8B$7sF=ll19gzW4PDiTEeH`&`NXFVPFixJH6) zyFz&|xkqsK`c(Gr$gKblohT)Gx`U8iW1Bg23iO6rke}ZzP7JqZq_2?_=rSl~5#^EM zvjr5$!BYDvc&7fF9L`Ig9l9xG?`dfUgErJ%sod=wzmuldN_KrAx{nj%93WvoFB^f$sU`=@7_L@+PvS+X3hk~7Yidw*?7P>W=Yt2@R1Sg0!GG76V!z)T=+xM zjInj_mKOqUwudTk7_=KjooYU23acf7dG3-FVx)m1X`z-%phVINRVu|u9#HD)t@uHo}`)bMIJBDS`DoVnrnP(1o%XGe%4QptU5naz;PEGHiR z)bQZUio1;0BSyPlD7PW>Mzp%PiOcWtEZKE=OF|#{g_vQ4invN$AIxT#^03kDOZ{6X z%!3y)&g9?H1NN~m9-5wE*Jtbg4i7V~VUi|p#|qp7_1VP?yPuS*+7p~TX@T(q zxui>4`<{LiIA2!F~3Is&OFg;G>pt2whY-1NA;? z6i)uxE-lSjpZmzufnFN)g}FZWB_1NGU<8g#5aF*b?P85Nk~e?m%<~YVnXuP{!`^Xj zst9b}g<`joPd;fQocCieScAJ+--cq}1Y9i&!&;#jk0T6L6`ACjuTknT9HMq=LA=S3 z?^y2uDt)j7tO;PsYe)_m7J3=_%RA=6uB2(vnI`Oe;e~kAQCz2Fn-2uv`;Pf}GYJ{S z!9|>92+bb~U22n=i$H}pB_&C3{AtSVYDKWiqOuhIR+L76QNA&W060)?xl)c1kK%#AQ`_9mzSaQCul+@akoaIzMn*DtCa$z z(H_*B7BNtDN*xyUO3Pqqnl-X=OKC>83ngprfI42_88VrMkQHXmgCOIZ``1nH`TVF( z->zNfG&oK!xV+V}FG-{fB#ffJX(hxP;NPm;=aXaWN86xk_ah53zBlH%14TyZ*AnH((;0IE z^&$|6iOR^cNy2a%*xqYHV(cK^MD~mEE(?fn8KbN!KM6lFhvLG-QF zh<`LMmYzA5X4E_xfk>egJ3FPuIS&@SZWJoLt*&_tBbF-8HK?8;y74Cl?91fO8Gu08 zjD587UX8D6Hp$!d1I6fQV5QH;y6?0lV&Zg%`Bs*GGU@+hB)WE!t?{d)_745(9vKZ$ z8qH!{;hz2H$D^L_5_R zgCZ->Y2C&d2cO~OX{t`P#j(eu(V4VrW48PIr16_$gGqWmwWB?5lf2N*Hysx@=ltdc3;rH%==7A z^XW|km-Csh*5}bgTd!`|;Ra%EKnUlDl+t~GA;omT^A&!l3x*1z-NI0~MSJT(^nn>i zA54(iT%nmGe~|k^?!B3J`F^>XV{;gOG=He|ecfYs(YYIZ=S;J4ibY{MbF|e(ch{#5 z9Gx)9#T*3`n$?9<>B%X{&DHfJ+N4P-FWc;$L!y)bvMbE@72JiU2G%ihv?<#7~fNL-DB@#ui`0T%0)9Nx28?uCYZq}TXTMtZR4M#iGn$%?o>{$3v5_)Hg??DuIWT-c9KVowTFD>e1?` ziKE&b{2%y^Ofu-C3^*N@`Z%iDicl3ZSJ0`%7jFQ}zkNk?NI8;8E zKmMR#ff+91k9wa(c`2P`H6?REV#uVwR>E%J4n7}dvTeE&VcjYyAA7aEGqas3x#P7O zsMIQCK0SX=n4fBOjcr|7lq|M1z3)@rn1VFAyfk{}1N$bU=uUR2nWnwF)Fo5y7w+3@ z$5~rrYtdQ7O$XEc=Z!X-wPt=NJsvTZqP`zt4RtUtag7Yav%Q}5jVAu#?`ErdFvWtP|_0c1r*Wd)BQ@N5js@0M_+Ovi=mRmk_%QX|f0Urfl(Dys{ zh0v)K`E4HX53eQA>OnSlID}@JhBEvN?-H=}C+I*S6>NCUBEml_T`z*VOx##U0MisD3D#y9M-;~lt2Hyi zv#l4(zE6HUn97V#l8CoKVCv8$q}Y=~({uOuL@|17`&jU8|Kk*{yVQZw62Yp!mRctu zBw9OVwwZ7~efhmYISS?K z$3=#>>Yj^p(5k&SiDUB%D>d6v3|Sq!gPse9@y-Rt%V(^iBMAD-cZcGz5g1^aQdmaqI1nQqubZRt`{MRW$C8>!* z7v~kKdaO>PHVs?N%myhZu!!h^=CTI@5)izXtc!?*4dL-^Y=_Y=DhML zg^po~#b^~4`HA&~d*sy|zzWSHLVc991Pszl9_TMl2K6F+-Hv*dS zldx;*%l_cFA_O9>vl*BM&X|AuS$5cHt~8A!JqMQv3t`zfHZ)gIJVRqQ&<$}tN+o66jg>-2HziCt6A$OtEXY7zw-}X zt|0m0@ZXm5@4@S`NBedSr~$)KN|o0 zK7A%M(nM|&<(K#VXH!8JwD3@I;979yf~^1ApQLnYrZ}E!D>1Qvj~^K$J4}nSXLp2V zAHzE`uDlb#{!G?KuXLYXx=W-0USpp?wtLMwOrNWDCjab2VeTPI_DRcO8p_P7*11CQ z+us6m0mnT{Z)UM$G`aRsWo4zdnc1h_WXYk0>#t|Ga3WPc^iQGoXJ>XeY$^n8tNhi)+a#brsNFz(z{^re9l*==2@hZp2vVXsV@P+&Z6X{(11? z$UqmZ%$>$BD-{3L@x%*kWo@;9k9o*(vHybe?2o?w{-jdxFIci$k>K^bXqlzyYesz~ zcjj=cl4WJo)S`ozaf}Ndf?oaz@=yAf4l;$xC>6(HR~ILGc6KERNlEoP?1s(#E+0C5C#S+L9A)t*!jK? zVm0x2K@<~61~%6OHqT^aYq=nDP1U60Jp0-ZtNOJdWjtY14E9h=Y?Ae>6}XK!pddv$ z*NA-U*Dw3=o(B&eY@05e;lk6YLCXLMns-5pXj^MY7>D7EWkIgrRKCi}0;`71mx;J| zXtx5&2}H-Orq@v7JRR~Y`D0wEIObd5+rKB`DZ|hWL*ozc;ili~ujLC%b|h+2=C{}6 z$bWasw~)oL;j3p!PUFBSN$I&|`;sNw^7DRlv&clWW&YqGNpZ@^Nm_7JvjnGY+7iLoxo%Y$KJVHrq( z6u`u+tSsH7oGkv8wlE?+R`T+R3EhIPUxgpcMB2*V{`?3C)>jhVxQ72@D(9Y%jWv2z z7a29rByt(N2Iy@3^3qaGY&4z3Ya{_Nng0$T7v9*~s(ME)qzh<^Bn}7UH1+kx?}~;j zAXC{=Q&XcX0NKa3{NfF=NUOi zzqzSvo$`Fn;6_lu;}T8XkMXiNo-YuryQn*gF0%jD))o#%Y)TpFLoT#Twcq=oUg38IY%gLawI4rz_dTx28VB+4kOHj|=%j6ZZ}|6{eeRou z@+6&YkZeTNi#F2)knD}->jF4wCP=0r3x~PJ=IkTO>`%n_9^PZo^wJrKQ*MXaPQNy~ zIUhwPOeSVzNF4t>xc0HK>H_e;gcm5Zy%~T-cjw(f1N#pgDi!Hg$4Q-GsUBmmsHV?4;>LLaQGXA71Y%-*TJv88!4hv(PIy5AV&AnjP1SRRlEZE-o%2 zkpz%OLw$i%ec$u|OP`CY>)l23l%AfR=aYoGw!v*Cqja3SVhXi@M~)IdV(*`IA#@ym#khSng^87ACMdEszO) zfq`gRkBUSMz4sI*p*CreX-9ywt535?cX@q}FNe*2$a8VvqulnC*iOR`t2HGBMV%)| z+06KLb$zi@FR2Q$YmZWF3|{Z7{=w|&YXQV#Q~Bj^9rjykMUq_|4qhwTTV7knt2+#D z+B<*UMSa_cahgVQ^FWqr*vUol_c9Sc_1#;4SE;9N-hA7_%!F!M!m&?o;lyIx-n#3q zoSmL6v1E)S_5s@jCI(T~vY8fomQm2EehKcM=3{yWid3^~9EAFgt%R3JLh>OxYbz8A z6&*}=yt}l>WUB$FqOG+Ql^Q5l6A&Wn2YHF^a+d<@qCKl{& zj_optob~k5t}dEy>d6Xpi25%8CDI(%=6? zpY&?yd*Lto>)o*9NTbVE3;rRgbFg^JIrX4pLd|DS>z5Pt)VgiewvsYIurv;QP0Tey zAE=i1Bwd6{Iv&0mRYcYmLA3qSn$hokxmR6Qw8c$s$(_n>N9sOTqdJMA%Q823E{t5K zv99Qsv65|NzHnUhA|^jVuBEm9DJRHNEa1rO1qFT_0EJ!of@?J}SiE?E>ZiS_;jM@X=q3IY)Gr^RYq0!_-a*%Cp zkH!_E1=;4)5Po!#tkZ@^$>q$%3!imge77wQL6-tNTxtx*d?6YaDvZg{+v3$w=<)qB zDB!`vX%mmJ8Eg%NQj&kGO=j5QzCO#k86UUcnM|hYM#TQ6ou?rEEOa$DZllF6fM zEC1>FXr&hA#Xgd%d{~bD7vKLKmokn3*_0;+oyVVIB-b}ZSox57OU_45GBWDg z>RU0Hc~YoX9U0eVU+I8GQYA$b`Oc*G$C-b^3ZgvS7{#bTeG1yny>hF~09tb8;XS5U z2wjR7mJFt!DfY>ky1y3Digb(v1n#%g%UCIWcrzRVS3BQN49%!5WTZ6Lnq25nXPmsi zmWyy7l*&l%otkJKy(`;X)tbIh1U9xR$2+J=KDhPb2+!;*<2%UX0%qCvMlKMW)y3u8CHntSINB^R$AREo028GpjRNlrjabl4=Bc34l^z**t^zUP(pr{;^b2`FXi+nVYtFc zBB!3~3uecMGMW8_RuR>Q4r8t5d z(1VZy+$&`<-w@2XJ_(w3A*$qu00zn!Q5QHJVeO)fU#nG`NhiGxa>F8h9t)gj?bzpz z3|31~)XJLKC_)fRk?;4Y`>VkB|Foo{)cpaA-_jzQ5{@XeI_KB;wY)>_lET|y(uTPjsrvD> zYSgfTzV)Q$^XK*|xxv&X_++)6+xPl@KQNs>larGftg1Jbx;D=^AS0F4WgHk5(D=GN zw__MtYOVd;Eh6zb??g7ycq~dBbLL7Y;ywT=_+c*_Nr9gljGl~3e%2Z5}(by{@rS`(r$3Q8C4Enuzb;&hr=Hx-ukBNcYHr!STGR>xt zvmb9#F4S2#h6+56)`$DBQcMp44I?rYUyVHX>*e`I$z+(+<^1y-2%TjvFXho~g0qh!>aVQI2cTy*VQK-u6aCDBnrhl5#3=z&dyf2740S^E{%p{z z{n&;h;pq!!k%beku=iQNeMRB`xVpa})j6TVS*?+BB>Br%FXzL*0^-C+T#!*f2&gV~ zRY?{NQk-qILIXK`l2d9`xmQ5i{fuqRJf@|XLmiY&)Nk7<%jxKOsigg!f5nV3#2$F? zWPxk~{6Wc@G?mSuBnRcMPxepu(p;YXvC2vw*ZCmhp)#OsnqP!_cNp(`hBzFfmPs;)l@ZqS}x{#gBao1PQ{xzH1c=T3q$l^a9M3{Eo{vL?F4H_1%^O})&gWL0%j zTk;gPDaSH#2pSPSzHl1O_A0OlE%k+C@RkQDf~eXvUxu>ttkBb$b?#@~oMqK3?6J=L zs0+;D#&{j^UEe%LmWNYB^5(36a;DKM0|OIdRo!P@gG&;(F)D81V6^$#rFzWRM`DF) zlbzL8!yZDxhhZ+6H-NB)sPh=ryB0-mPP{2`S>WUUphHwqqNA>)6b7Gw&~BRLvr6Qu zoImOX=8oC{>K~_|(`#}JbN!A55<*9`rPDUt3>zqs^bZ!?4|Qm|oyx|t31CUb65=N;>)(|5b2K2@p{{Ka0nILnWb?)Sv03gD|2}E?0RCfX+>UJT^K^8Ya|X_ z7FR%PB|HoEizoF}9GjvB`U;xY;XTPo#lcfh2EzsKidQA&n2bDpoUp@8*ZvtwuJYAz ziSMunx6^Y8+%|-A6Ic`(-24h=nM!dWvY&u}U}Sc7r{@`d?jua@`$M`xIwO@GyYhAu zde7`3kV-8g8wu884Q+@7A`#M9xwG3RrZ?;SH)Zka2?L9^xr>FHwq`cMht188eBsvY z?y3nBNfk7papaC?e{sq_c2i3dZ^E(!EG^a)i#X zzPAkvEW~ZVU^nw9@590^$!Nr1^QnE*%y8dXeJ>$jk)nMnn-wO|56pp1)w^{ zq$J9{+LyE>Tt>B`QhReKdVy#=aX;If_W4dmdDh zi4%XSDCTsOo%{1%woCyhh8(&1h-Dn5V$8p^*C*`5lM_8*8mN`PIz=-(D{JZ0)ReY@-Hfhio9Vh?-}9lY2@v*ZoppVfx78AG>v(#{ zcNAyE??A}U4Ac~Hi9CC1j-M}fh5f5!<&c_Rfdi;bc;eCzHvkqa8^p|>O?`oB!|^Tzzci~xPo9f zz2YEnY5aQ-)>cyU<(H?xENI$$XQ%4kA44m)G6C=FgDTN^w1ZkyTS!N3X2y`kSKS@u zH3KJ73&2e@2EYWRD7Nh2X}ipu)|+%%a*%GwL20gcm6iYKt8~!xLw1B0wPBf=bX3p7 zw`kci;pu|(?bLsE#GFAo4HvgZ3X~Hl%+K!uWIUqmTwKu1Ogb-s25bRfq?%15ckH*O zD>Q>JHG}dUPzyN4r>YK^Khs^KSWvL&U46J5b8P%ybf|X(8rw|9v*g` z^*O1X^++FiN1j%@cM=^<_{j%zGWT>VeASQ!(Y4|bu@x2P^5Qe|r^`!k3n{PcAD7Qt z9aD+2Tah~pAFY9)p2sqxx1@o9ehe&6W)qQanH!|<-m-j;c-NB3ukxQJ?c0_$>}Td* zq*eElGrRmw-29MXlktOkDW=w;+@K>Yy!*+u_(>@vS>(@q||M)q_sRf;@R zhowl0m3#+qE_?7KB_`J0*#>6Ys9&eFU`gX~Dy^t<7tRRzbYw(?^=y+5s9RM%p8DvG z;-ra(%^DIjJCDv_LXHj(8sbGC;gW@R$xqtfLK3)^e_dT1Xo&SM?oTe>F2j?=_L5C` z6^tYL$e#l?Q4ufTjoE-Q8C-HFF9DGwC|wrbN$$W#%&(Gc%161qs5qaH(sMHFck`I4 zu`ns6LtXOhv(Jv#tP|eN^FLP5{J9$s-;>2lU5xkF6)pjq&}opee%*~TjNpJ^J~I25 ztg1o~(T?y^2`KtU>HI-(2lv?5g%#=sK5jM+KNZGBX_!2w7Rp z@|#J%{q%z9ILxJDheK&TB~U=&HJ7fkpwN_kQ1CLo$K&*x%{WHd7efCKp#KT88|PpT zD7FHusz~AS<8CVmZ-`Dr;h|1qWJVX2esl}pm zZ)pMxP_zIK`t*B>&4I9j1@7i1oU&;b!*WaJc`B2@#z3M7`iHV~5wmZZ|58(bIcL}?hEXBSQtg4M9Wz03#1b33C6U@Rh;&cll< z!?VX!?I3n$5FS4y7CTwzQUJgrgyca=zi?TiEawUTy<|aZp;_;Wij?f^UVKXk_K;`L z>JWX(MGY&%q&f2*D3c>n4=@1(O+Fiuh(+?EHL0iU(MZVlRO3=ixosZZ!IFqS`!(FAfd0w@>B%I?^!k<>Ks3Beg(o3r zKk2#YxJHydjzv}wj*oIEp=NBAN|8eW)#rwIhR!OWre0jgX6-GX;0ptYJAz8(NdDgt z_kUlF#(_A`IKI?8i96bzZ|kE7YStjmb+7Zg@wLQ}k?{byI9EZ+!mc~@Ngkbw&vruI zosIDR!hQ-v{9KM@~t zl>~qvEeWA+1||Nu7E_wNwlr#1`p0~tdM6te5sA6K5K*r?4*&z~7_ceyAqOkHX$BI8 z%uu&tx}hvE;)nEdM_`oaNJ-{kdA2>Z@;oo!{okIM^8|$8QBDBp?lqttOeV8f<5k^D z)M?q;+S0^|d@FUmDCH{4j-dstc+FQv^A_}EL@|5fkmFq3lFHI-i_q$?GcKbBtKO+b zo@);-w%wXH3I&pHBRuJSPfhB9FJl1V?pvEZi>w|P zBXwPazwm{yQwOO=1Y$ujpISa%SHa;m5|K*2h$y-i~3bH zE@2$Ou32c0X6xXvXLW#>yZWUh^_o0f0uN`z30MK3kCD^-MPsJ+>Js)KME- zW^y;WTGukDMZ%!0cZR6XfQYCf^4$#rK)1l^1%eMDpL>OI^?~gWRKOGUgG6*jov0X{ zzbDJBjb+$+IEHBk!4xq2^i}l@0oVO5j@QQl7rzn^rZ(zr=bxa8E4}dAUhKGF#o{YX6-4^YMwD!IY6t`prbE@Gg8yoLNo2#lx-Hhj0^&E z{|G^jfhsHN&UB;^eIw#Mj?J@#$d>yI*<#VmfP@Sk_yLa}w^-^>L=$R@JG4TLUtp%@ z%Iw*3;^tOnXS1r(n?TqBx{G)4{MQ$&O^aXq4!x<5)Ru}03!M$yH$^+<)qVHlxAh@p z8s5u_Bq!Y03*7p&2-20aNJ?(OOs~avLZTPA5o0c0Q4lYLE5r+E$7bHNI$)bykZK4( zF!>vksY^laXQO0Y&yl(=GRSSDEpHB3-du_PL|VI7P1#i^J7p(#eJyHa zuwHupKy-{0A0Q3$xqVW5H0nQ=$9Njfcgec;Yv~({3}zgjy&+RYaZ0}%E;KuS*Yy=L zpa7NRj!H|Cg~Y8k3f4XtNux$|htoITJcD*n!O@_TOW`GMF=FazRiv@rlsalMRih!* zwk0Na|7xu`jLaGihl4=rSqa8OQ_hWSY;fMOy(%)}0K{eLcq>9+#W%C9PG=@E{DRdR z91g`m;pI{9sIxR!b7OmZ#bQ!=hVs9fXKbt7%i!OppsbQ`Ag{Oa}Q9% z^b^%!vFTO(F*1Jaia7rku!Sk*7~olN_*HC6XYA7mU}3utUgqp~?Eb6;|I^C!mzt}1 zX4N99>seHp-}QtYcUM7n$41N7oc#M22LGLr6_wN2kl|fRC>?Bv#G@pWG!5Z^9f?C?d7opGzriRwOT z^T|>(i4WDhE;Y#Dx6WB0>-v2p7$eUxN2JStEjHzYfF$;oQVqT4 zpon>zOME*LTb~D2O0uB#{IWpIsKQFv8V|C_-%#FaVPataMf5pR_3$O4P#6bg>n9s5 z)A2*o*2g|GN%N*=!YlW)X|ee8Qm$0%qw4DFDk2u*^Z9XC3c=WB-HyWr8wng67}oX@ zQ0S@2m@vC(_#op_BCvOvbc87joGgj-bhcI5`_txa9U3BtzZOub`e#jEzSnJT#*&QH zj5Pul{-%ZbB2XwF=eHGAdU$wfXMer_={&dZ zUv`wVC<)kFYM;Jn|1C-b1Ut11uTpaAn)6%sIs3jdqoe?QRbMZV-TU*h9|s2(P1axk z1_B_bwu5xerV62(tA39@e&!>kUO^uaVgEG3g^keoZc7-MKIH!ELH~H10?vI>oNCqw z^#8)IK`ZsCfXXhxcdL5%_uK#3jNcz#Azgq8!VI*3f73r-`Hv3)>~bK`EMdM_^KU)< zcQXZiX0So}o|7Ln=Kj^yzrXDF3|k;O&o?!k|9=(HzeW~-*PO_p2{C6}aLoAEYt+`1=k$;U!%gd+!Ba})pbjXsy9bo50 zQNe*O20@1}`*B_ViX~xY33xws7Y^^MFq^j1(YrB3$4Nt-@p(`kfJet8HFo3%;}lIV zZ7ugdL!;DBP&>r7e{z0F5q+#9GvW=$qwrEX#0IP65y3wPS)M@-+uXup{O31~qU`LJ z3Ejz}!pff#{juBMsF`AA{quuP;>-2a|Lp0HQ0b?GvU<-CM5v<)7HAD{e|@=AW6WcG zkru62={Jy{+grZ5S*Y^7XdNXWxPw#7JuhLYZ=fpX0~Mo*2u5foFxvGS(MeB}TlloJ zxKWP4WHXpy{~Q^a=t(HhZ|yIf5Cta#-N{Yg?lIXvMD=ma>XG+CHWj3yldr0lT}IUJ z3aO}u5+qr5q4_o+t=d)0Se5j08=2I4cx>wxnmiCNCf5F*4j<7BH^V0}6MYfmlU;(|(lt*tSi5KH-C#i?ePc zcw(0oT7Z8)W*DYT=|l7S3!#a)HVle9qmP0lT_|WDZ52ui z<^|_wzK>sDB72_v6WzVHHwH0G^`LrUv%JclH?dUw8_T6V@F!3NIik3yH8gX>irk3|VFWsXKD1V=2#4@5!>7~w$ z@|g<^zuUvMijGlIxcI$l9{bPQok}Q0et4q@gpDdWYE%F3@W_7?vi~9aoWQ%z(w~3J z{%d1`0s7Ai1&F>8@&Ehfzdu))8*H_Hyd+$t8voxHco5D1*9WyMF@vyCW;g!`u6x+% z{5h2C!N^yFvk0FVLwt!0_J2viKV>!5V+OhyWZ2W$l`kGTT6|Lsc|2Ko@SXz*w(5{r z3!=k`bx`{B9NyorUQja>vLoNYX5x|4m2U{_j!K4D<#roZQGX)C3VB`mLWX~e!GB1V zIU4LaF*ST6$567i)8bEdVyn`dADGB3iD-n4%d`N@?xxr7nj@H+pamtC>RcQ zc6c}c8XD$}1`|q*eA@`Ro9Y(rE`m>IjI4>hb5gX-X)m z7o+8wpuoQd1<1bzTM((<6@Q|w79{iHEf^^>C4a4LvzkC|1CNC}1t2dW;E-j`C*+5h z#d*w^(Oc2qI)^^-^2V5}%7n!<_-7DCPVyLD@2VC1Gk3MC;txMWOG-hR4O$=u0m0rT zb1B~tpkV(ad+`-J_!Elq<9izliVD`wsD(E zVpRa96K!!vY*O8(zrd^kHrSL26Ui>=L&&E^u#npVDmST-f(>IC9A+H=nzM*X~p} zh70B%-PbmRA@#jsO!C6>fnZ-!p>+7NWiK?Fd-nVj7AL8VLy09f-Ht@ZMMlgwM8l%x z#Ok>)q0+V`{wFh^)VlGN@LoFw9hXG1uTbR%7-miwqauMJZz#*c4}LIokxX+l#9aBI z1?T4dhB-AgW2bVce@wO$Gi(??<6CYY$f(hMWJ(6peDu%#qOXXib1e=hT$0143iKbc zMD#ws8j^x%1ucebYYr$E&eFnhDC9iC7bymPK^0%MaKSk|ZP!v_Bc^g2YzxypMtJu_ z|7RaU_JcY-YijGRFt*`}uN9x6xyj>qw6apWq{x1QilP2YDVz*jy!F;(_rtMImjgn< z%Xic_O92+X_aWY1O^tzwcez%KkBPTbxn0fFVO=C|`y*>Y(o5UhXLyA?1wClj*&$3t zBU8;ot%KVI57T(x*2XXQ!%q2DKgqqEWA6|v_pf}IhTuJvG;NeSf__``)4gc9E?BRU#FbZlt(Ii5J z1GJVu$z9&b3jAbJAaCF`AwdN~X%rh{PCZj%Qi z{6FzY*5zv}Bo+zYV$7A-?4#=GA3bM>XM_k=3|{L&uYcW``N$C`vfQ-(vfNnFiE*Mk z<*?GgO$=OnnwVyQ&r6uZAuN13zZb`yqRmdXuxv6py7zG9@lY^!Rq=Pc)36*yh2>fc zw~0p@bd~vm9cpvdTVhrvbXQWmQVbkfuuEY*?C#_8J7Gzl-_79 zs}=Vo?2HYaW{6B?zf6Y?E*1Wu-VA-^w?eVzb2TPqa^2*kBmaYSVnv~_ku)m_-jYj-2EagG&9xgDRc} zU1CntDgS{PIH z%JgXQ(|RI4%9)ZccqJv$y1nIF_s!{OJ3wIYKO81aH1aaEuGX~Y-f7d~2L;4oZJNmj zZzSgZDy~0bvWz^7O);$Ov`yWk9HGRK`Sq&0GoU&)!!3#PYXjW1>I!pVhj8N#4T;Ay zOIyu2&ce&=Y2ih`vg7L@;((cemb6lf;jBREiiw#wzEj7}g<-!)gPu8O6s4R!Vp(@| zpy8ejOer9*OOq9|(Swsgo3A{m<)L=uN0j%R4$og1LD9@_UHC`^^HkF2SiETYh)*dW zYEO&4P*rg)WCn40-sjw2GvvweN0u7;=Te&8q_L?8qU>#T8J=1EdD}b}8R;j|*mQ%k z87-@ogCuo7XB)-Dy7>tQ?Q{np>PcL|1*dVI8;sDtlAS`7$~&{Rz1#Aj4v`s|#|ah} zF!cIn^D)H4Zf zJ4w;+RJQm?sChy1#FOeON0_hsQkcEF#qy|8kGLPlBt@aY<9l6a!R(v1$OMaq1NSKE z4eqYu(!2UJ5%@%NReI~|?<#nr_X2L*eHKc-ImI`7>G5gqR1YN`JmI-c&Dog3po7rU zw<{DVHn<)H4cR;%hV5lm5K^Y!btucD*|{eLQz%w*drgeWQCJ60)btrVu9S$3e5$vX zx*>0%vK6{!^qq#i&FiPy)T2`RokuT=i*fa{ANK0`pVZmu;7w$|l`2_+G*J59S~z&P z+ksIE)f!lpecS67EVBF7McTZW$R@Ogz+^l?IogGsRwCjgD)G7zYThGJQ+jBkZ|{Y- z<9DG1_we}%T$jHroLK*0i{4v*;R6Ac%(3L#u@$O&kE-wLK5r>5@E!AHAhmmS{*8bM zE{uJ2pG6ym*X?2S>OHRtlvXt?`BbwmJ}y~`+1E*fQ8bHI8Mk1xLo}!D2`hcU$!^UF ztG&Uex2tV>n_U;~bE4ro<+eafBbG5#^rr?sO?67%{xt2;6-&0B% zZQC$+=ki`Gbw^LCzJs&Cw?#iKXjUy>N=Nm$@?sjVwlrxpM9VQiD4bpWscPCN=(bBu zHqAQk+eqyPB@nM`={?36P;udFu3W?-0>Bq=cP7rA}(gxBhnoOh*eDF zJJ?mCg|GcQMH{c~D|4)e#46~rrrhWitUc(&N>t_d@SZ84p;525&weL;oEN)%XY4P2*eOBp{FEpU1U<^UpUlzb7Ko*67sK& z`=xYIsuqyFR$<*f5Gg60ti&*t^bX%tH)Fu?LDc5i9c#7sHfES|QJ)*1;2&dbdeL>> zW7iIjI*}QrPp+OrEUj=c`)iy9=?kNY!XkO*EtwKdbTmYPDai9R3(9b|$-;Lil8Mv4WK$TaFG3XQ znD4-w*LGK~K0O4te~~wFjZmnD*HqA(qR@P7l=VD4XjG1HT`k&(-H@9kJ#I?a8{yjL zYGG_~ix{)4`7`i(}N=iTlr3V;l zXc%Hh>F#cjuK(rpzVGLa_4}^%U+XT`9axKd=bU}^e$GC7KM(yXl}&7m#p8J@c+5>M z*ve2I0shVSiimGrhLS7n6QR7Q1fDI#IAWA|!AfLOlpA|mPwJiD-RTyyn%nAfCX7$wHfE;{0~y}oTJBT7UAde$Xcrfti{7;nkD z$s|Q@V7(#V+wWbJmn=a+?U!m={wq>eoGq8{1Vcm!Zw?xovpakJJNcHb1Z2y)MF0Gimb_c8l3yNv9e=H!f^H&rV{5kUbAJ(1 zZ|C6sFegl8Q&u%uIZ7I1(8uhk!8Ajoqv*k+o&LrS*w`STi6l@m5ic7`YQJQNHCRcm zlkdQYS4o=c50uLahU2+NuebQV@`ug2!o|$@1g>!#WnT2+PWI$b*&atp1WP*C>kAw& zY0e!L)9i`yJ8AN8{8EUUe6vX)S*;i2Jo?x*%&v2t4V8wUy{0+c*EoptnZzGC_lXGF z@hr+oRc=<)jG@HeeKaIX6BNy=W~u*%T26DRxwy(`VIZ()H@K9m8oT9pkxJVm*;`^2 z`tKCjWyAsR31Brg3~y988=AuhNG57qJE-$C%|zaS3jIJ5MSi&gDP zu_g$!*+B~>WF}C2`!UY$%*CME-FK241K3D<9^;;~LFUx%In|#r%Xu)x=;Qz2SbsrV%Mt?IJh+%(xy7Hb0=4P3w7kk6m zvgZTpu(Q{DB(oQ&VD*k`S&s+w|H)&tu$=2rzisssPcXWK zw=<sBit4y&2?81ob=#e5h3yf>Tl=CE zY#kque6=^H*^SEc(KVk$=t>%Oo1OWyB?I@B^@(p_4Wn?tv4aFZ6pCg62H{k+}z1GBbQu! z#4dQSN{;Lu<&eE-2{YdYnuFy`xDABA1Q+2t&E0wtKv@86EV9&QvzDM6Znv`jZR;SF}%xa)1JldOb z*=u_y24V-_%z6Dc<$7|o>`j$ ziLk=0DLWfHS)ToGs#{+u4L>eg4zS-Rb6Xr)C_X+>5wjDUb$PtMNogo)_?m%jx9s7c z?++GFVpj7Q$ab60dK5$r(T;*SbQ5*@joV!EFY%`wuR=THX8msZgTpSF+N2InDcZ!? zM3eC$bb6jG(VY)V;HO`F?sJacZ_^DCl)yc>DbIJ#)O`_?;@0|R; zx0}~|LMMY+&ffL2uPw{@w4DqW*Ec{7&4LR2$EF#_I& zX_vEZ=#~R?<%xWBrKEg@av{59AP8Dm8!Eob3v;QOj(fBzXP#A4*EN^BAk{hK>N&D; zYM+9qHLL9-ND$3Uu9vxx*NdXDL!SodcENTtwJNH2xe|d_?Z{P?F7d4&;f6(M7`3yx zM_iFSjQwa=DiC{(&Eu)A?E-82vqNviYAZz5~G9fNmlsdHODAd=HJO38$-d&JbfPXT%J;4|9XK21uVMC%PoBuL^Mgz3|giZ%zz8eRXRE;FCtm&%xmb{G=hhn)2#*AVLgGTzZj8#4xi55Vz zO&E7$&hS^6d45Cq`-RFf-kh&9M08{ro2>=*4=-YY&(;`FwG^6Ex$)6SBmXG={VVAj zS6V3a_t{e%H|8^n)8@bwJdF_&eLSKM88k&+9p2GQra(S;bhNLtVD)ndI83*N@j^{MS3u3Wjm!%SF_3C+V^UQu|_F1 znScxvJ7rZUg3LiOOLim(lry=cYy+vZ@jdjdy&@cw)6W4K;A2e_qLQijuG;=^``mz0 zchcyIj_t1QE1^zm4!1=&DzCS7^m;16^Lkq_Ia4qtp|qr3pxPJ+trYy2w1_81d4(J#VKj-T2QdO7>3$W-UJ!$==2Rqxr%O}J=8!}Gepan_dEnhw7)fFemc z#UNxnr3TSo+w3lX@W@^I_W22CXo?#}%c8uc2-o-dN2LfVo!?swJ;*qQi&t&uILXhw zFem1E9%jZwg7H{(+YX+=6bZBYcEZ*$B`sb$x5Npo;bXn3s)3SF5bc&)F}jikIPkH7 zt?F8ooMS{TX%uD>v0PG;$E4C_@AJau_4%E;D#P~3K5sc2Ow(X=(0|jcEu4OBhB^s~ z)y3m^|6xomP|3n0V2JAU<(Ot^1{%XP@q9HIIn@b$tGfuY=$S{mdh=;rd3VH+KUYo7?Yeb+bJJ);U*e0a}sp?)u<<1l_1oP5ewCQs@ z+f+Zu4c9QIp0zE4*q*j@T7*2vScZJ@RXqAJ8S#^F5>Qy0{}M`((+PAjn*Mo;j3a;Z znoG;Nxp4A=TkDyt+bK2V-yH2054 zhn|l3aY70wVGR^gcqzsV9xAVa|KZOsRPXV%*l>7-Tfgr4rudiv{yw=&0@Kx7Mt`1? zim5g7iPuh5^ZQU|6PDHP?hjcC)E)H8jbXw_Uqgx_qh*}6$KWXK zvB#(L(!-w7jqMpkou84H1Lp`;HEjZX8u@Ab;_v8Y!sM$Yj|+q+B>Eu#5klvI^!z{0 z*#5Cmm7FC0n%`op%;DAE-lb`j{p-61U64@~4mzroSO=l<#y0!Z9xji7bG$L~EKzmWT89Olpy!QRy3(dSFP zqSE(PW%N}%J6_AwgYid7tOjAWQ)J^}wo+FJ4Iiqueoy+Ox%&(ognhg7UYLx6w30@+ zg3a4tvSkl!%48C7>PofKBssl2j|ik;$L2P$-u2Aaq^!1Iq`981W&8*7HYBkX)h7c* zyUGEIF)A3e&9<$sNqsW?xwI{877ZoEvV!Nm%1H(K9Qp5Wla}*fht%16qIgw;as|a2 z4>gA&#G6zVGdrqN{9Kkvu8$9}%u;=E7tedc%=v@LjXM$`0Zj1{xzu(yNou|O43(rhLlOaE?GE%Tqb;vZX^>?dI3Ycc%}3p6uc}Ys z*UkK2sl`IHM!hH+x^A)ASc*gE1*s5K%-By>=9b5uyq>ciRV}X~r*;%+oeSm{z;?t0 zE)Gq4UO3Xvy;2x2<1(feOiblJVvv1&pk`LdnNxzt;L0J5v||@_OGu*G=H)eTtC9$H zZXhgkikLCDR5qiU!{ByeXlr2MDrghp)z?L+mEu$OM-|~7xqZJ>eSS5;$0ZXCQ$bicGw$R5N9};)Az&v7|OaHKTN}!BA7H& z3$hgb)4iHLJ90v8%LtcT7N6f#Azc*XpEZTveAE>?GIon^31u=!fzk-Qi;Wa?sH@fH zfJ!|Doz!hdo6fb!1?5`Zs_r};kJ;Z1jJRs=oBRR)NGiLYDtM~zxwT%kO<|BV63n_Y znrc`jL|RqtAwNw!?Z<^mne8l`qpG~eF&^|-tn=nJ+Row9fwk|;hpo*Uw=^v%)i_58 zz5XK4=e5O3WaOhMU7zThLkbRAzVSC~R&F-CV~z|fWR5!ir=fQ1GQ+)ixG3A;n{gk< zN64+n%%0_y%8V$C6RuKLp&+?y%~8<+s2c{Ygk`)3TSF*ptyUeAwrQ(0+l_ejOu=!% z#9yScXb(IqV9;Luk)CXII_na7E=C=>$h@es80@!w&#R?5ZsI7HM(C79<8Rgx`as|; zvTwdwW9(nYZ<~yg=T8@c#+SglK(bc2%>6h@fuYnTR92-#)hpgc$X!|_&w(HXBzAih zH~XdSrZp-rR~LONG*j*yYF`k&O}7x}`ygZZoB&_aY-LeTp>D4I0}&|QVWP53A^mFx zHl&JBdL%xxm%nP!o;sA8&_8^l6+4bnCn<1h+c-Wx@jOgtC^+ zFhw6fGT?PsoStK}CLzx7DcP0LEe84)(Vv2*V${XG&1Ypdf`#~T>K^!;orf#AF&~Oq z{~*`{zLK9ZY*F0~Ce1(F6dXSeL8Y^IO&FmbcV_nK5=d-Qo24f)c)Ah59FCf7MP&Oe z^?MjTf55fF8Z!pf&GhXCp|fxGpg7>?qymh6Tu2}8$zx*%ISzZx=-lnD^AA>RS+y=Q z^gfN}Yv9=|dHw5RLTYw{wtTjHe@VnBZa}qPyu@6FJX&ld@tb_trHHaky3Mx7o?8G7 z0slDbJ00h9ab~u))}=3z)q}L(1e`E)1h31Jr@m}VbT;h<`JQoaZ3x8(N%*lXbNs0% zE(w%d-@3Qh*&#?>Dr403U^J9v~mozurUqr9<&U@8OxOm zk4vk%$sEhp&MG_sJ2F}NjB+S6Rp)vZd78LPxY)$v`O1Rv;43)mz=cBQ{;h%gTkNth z10fCzwp1s&wuPdktPC%F_v4HWqCeB;dV-%L)jf2jR8noyFI@kJI01)8;rC!R7|DL=#)9{E7`ec&iVhiurB63zieJc=0ov6pCb_8UKTB>Fxzh8kdn8Gp zV0_n(rYg2MmLI{Colz2aNqBtwQ$-<_*r`LYKwbME@sL0^vTPa8vuu62v3VbN_->$M zXHTzf6vm`fdY9ZoEqdK_JY;j?qe5Y$j^+oDh$ys+10LEorREnAa#x*3&+a=InEAi` zYFgq>dmUUecxZfY&6!Hx!d6gpJ(Ib-*;((31jVwzok5e(7J>9Bmli>r%p~0G)9xj?U=s+Q!^7Ry66+|U&;$^v)N|x#SNZCP4 zhe5Fz+>UUas_5()c+CbkeU8??C}@p!nj1IksC#pv_42lb{1V5J>YhN#@+aZj4tHep z@Pr!uR2n}O!b&~3a04Aw-2*wkgk?xLVv^D5$;S2|<~{bmY&;T;0Qe{>7urQ1dUVSi zhUp^q_8VK?nAWX)WnbPmB{=yiJRTaA-jg|0{zY1_+>0_VEp7jWiUo}&1D>G3`6FaA zgLagxT8wvCo5!?`{|RZX)DKzi*`b$(#HK?J2oR1$5a(cW?@vcygGue_IGv@a66%|g z8h3UlB{r$%Mhpot#>gwkTvxAC-;uZ9(I?7F=8m?Ot~%`MYI?Du4V?ze%t6*Xv4}C* zOc5WBTeW+cG21S)a%y3b-1_^MeFUqF7(OvYEtm2g_pVpm(%+D-fjQ6OXtw6TTr3TA zhw*!EBzrZ37@|pEXS%`*ZQLYp|2`)Oy9ZRth#Q zhSdkU5CgvLXS)y+Rj@(zbTWoivUnAfcBegk#l*3{OZuKXL+nmWRfg9SoloWr$qe^b zUp)%q9q!WyK)oIQ1dW5q9Buq6(Ss`^XP$AqiL;bo91zKC zPWuwM-5b)|vCxO#_vjm8A=$gaR&DVhr#$}6i|Fy6marVmr!i@b?kWqM)HJR)wXNW3 zU}u=~l8DD{%hsU%z1gL7VPWkY^yw)+4bX^v35e6_+m?1y1SsRJGrm2;*Nb~~LA!>D z0dB*vU#MH^Tz6YqGoPu$BYc$|?~-m8i45WXVXXIYy`5qy;NER(_}7@X8{R%9rgSwm z;-;S!Iw+|_=;;Zitk%xWYs%yG#fPL@71AA?o^#+b$xRRPs=O2K;~hu~jZ;$`}?#moaS zmav-H*LVr5hD+WiM6(6O&FKe=r?egEf`_b}{3MLLP)bC>2KHQR;f^xCM3X+Ib7|O$ zOrQO#`<__eCR5PZL>H9>6;H>8@oxBJXC{fQBCeWU z!eI{W+EI3#ZTFwTm{pL&>_*v+EA-^Xk}4OF@e znt#?JH^7#vz&F`Q>wHApB&v5W9!5Z}cOp!;GQEwR^+L%}gSjcwa{|L4R75>Lrz^Grb`?D<`OPpztF`;PevUf) zqm5-e1!fa7Y6HaVlKWA30BhIdKpN-o4*9(keq60}v`4jg4Lc*}bxG|fzKVVMeHxQe5G(IK(E=$D2-DNC>oRu_UZ z1$mAYx%PGgxFlN5HJF3g1e@eK?YvRTwbv41sR_!s#5&Gpy8 z-pnPGgcum!h#xw$BvxKdKRiWAfXN4Pf>!YSe!TrB`Ul#4snA|N0diMqmQsu%} ze)#fK1pfUX8E%1Gi|^H0ig_!%csrdEtgtuMnz8p-_nae4YKY$J4VO0_-YSh_hpJab zQ~98wJj*;mMep{otr;FlRoPEkw$I9U4}?S0T4^KO+^o1c;qii{r|2Tz6-jvm_+AvE}6 zrM>iaW%ItYV1bpNn}~;C5uFOsb`9IYQ@1(4i$)A}c+C2DHUKp<%C0lRu{zJ&gqP>v zG@EFUhu)J}G#@uCPR@xtQ;P;mD$9#}k z_XfrG3odwyW1iFVXkbI^m5GA;QsI32yzX&(N-=9zj$QN$GRm$;-+bRHeqQTuO7WVl zCrDvHjh@p%tMI95ex?yc|AG98*YI$@cQaq=Gcj`Wq|lm7mmM*nrF@&t{-~DD8@J`n zH!r2Ae0LQBG za1w`FrSZPbevMm7gHbmfoc*C)aUr|@0kx&nXJq@2!DvV}eYdl1^~?37A6e3EnIU7X zt<}|UB21&&r`}v}!y1dtqG#@HMLpjSmKZ)ql*?`ek;>D}8p8Q+A2tlGRF@lLb$bzs zACAY`LL$2V1akN#pWzRQM@EVooCtP2v3H=mMOz&((EB{EPwe7e6moDW-xJC&p!JfC zkA+iM?5=fG^6A6*HCs>5x}EW|RsuS4+nSmhfMU`1{QNw1e1>(BIrg|%zpk*XY|wRY z)(+@rtZZo^-on-!yf<=23GBDU8EI+$Q3wvetdwocPc4I7+vG9EQnkvRrJ@hGi#l-l zN$jM-1al5P)Gc;Nz3h!69@uqp%HxZerV&p_#!N~d8vR)9OImZ(J$IVUY`|OGzyr5P zcM7XSJZBRKDqQ+8n*r8>(Z8W>nc#NwG5ppZkD-XPYsoSp8mkpPdQm~kZ2lD1J)8OT)H|y22z`or`ZA9m6S~|xp9fE zsZT|mNQY%nk=xox-g>~^bMq_P({)5VBy0Z#9H$fn|I(#5VGq{m%otDe`%3FiUxo5$ z?O^Z^Ai8pW4svc5@DNC#IUTb8%2a`k_Z8xsK#ZyuoDMOagEwrd8gbX1hwWHsSw`x* z?_-&|3xo2aG9R5+ z6jU~;t(x@Q>C!tJ`ZW>)g@%KB=1%Epc^KgosX5LlE^@|acp_La%A&g%Z#`t3Iq2lB z)9B?#b7N?G(6*7)17j(dB5@m3{t^x#N<`>9At0dGv^^x3SlQI+;X%)D@8`S6$?e*^ z&!=LM$$!H0Bi*cr(Ud!^{Sjak=-!}3lV;&G4TP(#Uz8~UwKQC#bimyqhd4?G&|B+#H zmFgO{1@UJHDx3fpYE{3a-w_^_In#gRGI0KSDRF^po~=IvyJX>V0CVb*Ye~3)8I3dB z{m{#Up}>@97qpN|D=8^XOSfjsNNv|e@4!7e{pu8wz^~oG#B&(r%lCElC)oK(@kCYR z_yu!!rB4sA;wQ{uex>PyBa60OUEsUWp5bR+$VllQI$YvbuWiWFO{^6kv=VMw@a6B!0S5*eE-y(< zOcQT%BwUXE+lg$9ASji|!{B^7mBL)LPiz?6pene7^;tH} zx}O6p+4vU4^ycP%t)#K}z0}~eM|4%_X2eJQ?lSis2D1FHn)!8om*?Wb)A5@_TF3-E zZk-M)E!tX@S~QtUxead6M)4v0MW%DXFFzBa*<)ii+J{+D>C>f{PYyS>htE|g&Lev^ z?c2`muL*4pcRfHub}HXY^`^(kaaGho@t%{n_lUwH=PPSZbbb&ep*c`r-^Qs^2WK=9 zIKHxI<(K*DO?;^%15_F_vvm-AgOLX438rBMbg|epoJf@hlHOW|dzvfy81aQsy)uQ{ zj;UX00+9dLL%`sOhTmD(QGlErA8rXeH&G24}PG{wWcr~7$$RHeV?Xxe11i7fl za3vc0x}Qxssm?(0Ri_ZP@GNo~#E6uSg62jhcR&wJ3_Ivb8%a}-oFOXru0vCzx!KzS zplFWPTcO%9!M_RI>NmRw#lK59kzAV*ViO$|7!8NGdvYlNwIT4<#U-4u@w$vPN7vGO z=}WoPQ)TW{oId-N0}mLSuj6keuW#ZZDlu5C_M!D{b%37tmT5V0{l+a#bF~}(F2uaX z$^`66Q1?EoMRf6O+kZX0{Z#%!l#FDJs(oVSPyeo1*tn30s_iQ(im;u9>u2Onsml(u zmxN)-QlQekY(g1uDg(OAl{c01GpZz>UiWCME20Xj)@fn;OA&)ov4gSwFShMl_V*|U z4PB0c@ZRz)rI#ejyMHT@xUw^=AoSQx zOsBR_s${}u#`ja|w)`jB5GlM-zM#VD&hlw$(Dc>NCNJ_!k>LQho8Y)zkg zz449n-c`nVlp8Wij|*sXR(~g{_U@D4YZ5i5KB2YsnYod|-PY`1b-!wB>waD6Tnl-t z?9{i^`Pl5ZocNr0&U&l6O-t|=(QeH#WsG~FWXM0-l5NI}^s#z1Fbi8W7A_vXV}M?y zR8S05xs`p>(l&8o{^l^%n;I-E(*H|ZklVYoEK~f~ISD!g7@at_$qB`-^;G%GJ25LL z3n#4eu?v2tyI97h*n8Ir^8$f0ps`;=ERk`(|C*cf7uJ!BTR~oy#)HathryDdpe9TP z$@H@>jjWBuhqQD0&*$4WA^BQWYySpyCpSZG8 z)%kqPSv0gZ#F4>sEh)a$&zMA)w3n* zsdur4=6QX*ix8Rw6|*Am4cmp0qW-ri(K)evH9b93A-jToi?wiHfPf9+6=70+>wEVY)Iiq_SPMvtMNl;u)!3q%=gOV=9Bcq)xW)ZYF; zRv1((rCx2ot{?dh%{+0hF5jT5HKb0T<#vry)i?doH??sT$b`4zud+Y#T(zWQ|9+B!Noo8Xkl$Po0Dncut zod%?^6L;WK#U32}(uvQ7LqSSciADteO1!{I`^V*+a1YJ?*UR<@gNbj~`T(~#an-fH z1Y%L*Kq1^cC{1h3n2O<`U8S@Dw;u(qV7h7_22(iI3*$c#C$cfvM7-5~(;u0k#iIUt zbFX!{=wc!~%Ye7@C`bIyaW3uv#-B#F%Rj<-@FCU;e$Pn}LC+b9mm@ z1@Z!QbrE4x{Vuf0B`;@AG&`E$&&TAx^Am6~^Yhj91g`yB7x1>6Id!`4LQGsBsJ&I1 zTi)pDDTG2{Vf%WP*#uU3DAuodoF3a}eM!DI7kz*?WH)BTtiexg4ZjioF?zHqB%YWc zEHaqrZs0kn(rOIC9jYsM=uCW6))0EpmPID=%Ej+pEm7xWRf2MfImw)O}&4 z=7aMRzsr?j1LU`hVt>*)VoFQTtCgd$mqWiZMBtr&vOpzy>=x^uSP|a$-(sS$BW+hD zcp6dBtU=m)krVunddeBBGkR&r@9#xiivN&lN~tbZD!Dh*M(SU;L~+a1|~Gn^3#@aOQ^b-?6R>S{xfb zi401STu+G-J)f^Q11=9C@8`||9MFpF={;4=oSw1TZqWN=frnNI@NEq_0W2fQ$D><5 z6QrZ%!AINqFIo<_zkU&xp~sZ|>sl4`H!wE;inN3qrlzh?+TI#XVZ(CWbbV`X8as#5hiKoBjr=%Y%Kl-WP#8Cu72! zzJW(}#}!x7a1i(5OG|Qx19B0E`Hka0t3E4hKAwO8^3JtymDi5<*J}(roAZM&CB&t{ zjn&^H1^Odzzc+q_R9L>tC++hD1xbRGjL=z&t4$_8i55F{$ud|{wbezFaE9Q_Es&$qMP_d9&BA2<<_z$odLSg zgKh?Uijh{|P$YvsqV~n89c>}!1nu3* z%zY)Px1yn?U+FO*uT85AD=D^F2qx#SDXP>2e8r>Ql-Y;IP$fduC_H~K=szwi%rIoX z3n8D^Zu?fZVdn01KpsoZOr7B3Oo2HyC zLX1fU+7j}IzMBdw75ydnR_AV9{(UuVKatei%^`Jre25}!$PIBV3Ck%@@Yp2y_tUkA z!%DBLpH4jdr*HYEli>=%c}FDl`jCP)JB93Df8yct&2e;F|Fn^i1yqNM*n|LY0z@L7wJ#y?-|Uq0~fkEUr&hBt@FhgV1a zV`IGiqHi<3PbMy4JHg}z`N+mUzlTHH`Xp|z%>A**o&i4CQO7J^?ngb@d#mh4^IKWP zlxgT%Mq-!MA3Jf?S(;$8X$wBe4uFTbE@q~1H1Y7etacyUe@@na-lyziW_oP?JY3I> zO#&E;N<;zC>y?F2Iu3x%*8#fUjE#~Z6nmHHb=dWx#i=B$WSqs$=WV*IxIIVjCr9aSSI$G5Y=vVNXETpGIEktrQXm6!xKx#&0I`?SO zvL*K_+pE2Aj* zrz{H%5^5)zat21CPkvq}2N=Fxnk`7OMJYX|AHp4(-IB!WK3C07w-~47IV?mU zbEElLWJsfMpqS$exE{`Fv&5>R>HzKFg%cpPPNp0TfyU)G0CR6Wi!fp0-t_A5 zoOrx`*6Fxu>|w)cy@RYV)&R7cf(ckFr`uSaC+qX+re&qw>gbs#CGlB8tbiI@W71QTz!ZueKo$^w}g&J zfxVaQ%|b%BL7h|%h%(%6%XEl5Ai=KtE0lZBB!^Qy!|i|v#rD=vk)y_pRQ1^I>rLg& zk*58^3lK_L4qSXEp4@%hMy$$4uK!W}1Nsq?%0W+VTWI2R(5j#}vU2o&0b$myF|V3&Wfj?}cuRU6`sRlOp~xKuLhGoKaJZor24-8vGBN#b zw&R+-jyTnxvcpVtY&O_YDmK3PTMOtjI77psFO-^ge<=RfHwU91VWOdLNUsFciEEMR zyAQ(7&=o&3C8rPL1Vw7bmyYo!p9z#dA&mc=yr=D}O+$1T!CIU@`*SVB&EWWn&rsUz zJJ)gJP}t4I*4TJ$i?(~1F7c;O7Wc!CPo*P&_H3p3)dMVjV}iYHTX-DRU%{|;=7wz; zsvBG4toiU_tkI{fWxEGy?z$(ii>R^$@^bO|ph%rp+f6em(JxZT58lx}uWv@lY15`F zp8)Q-2Lm%*k`31M4Ys(LmZ+@d;W=hnR%+p6!bkY^6+qJTUw#tFj@H<#SE_e9poPl8 zV}GNm3$29xh7}}6^Us!E0UWDri>t-(N$Yl*jgZG|tpl>i?1)llj0{I?Ux4|wd#vH4 z^6-u{(zd*ppYL-kV5|D=MlH)$prs;$0M@da_V=^EZY>gi2R0`g93M`S1nM*#Bt@O8 zt#ufA+Z^O$Pf6s#W91E3KNl_i%mAU5K2(_40GMT+c>TrldH2;!S9^>3!Y+r;sdnU` z10!F^e}M&vqiQsHoM$jpC;$V z2>(J3&H$?RsO(VM_i{56G%bMxQF-pYp1U=c#}Yoc zuF}&UfbgOgHu{DWi>J{N<3o>-~2}e{Oi?}Ki#$-HKii zVM)x616nQC696eFN&(=oWMS!leHLWkDsvw7+#d?i?iCS!Ir`dmN4UsG5_HzLG-v}Y z^^rJVPFP8`%%miZwP=ypvoFy(h_kD>W>+0*L^8eml-L5Ra|Hc^!1 z&i@Sge5flYDer`o>s3q15v^fm)x${1^QEX5qbTxHlK9Dez zs|7axn>L6!rlOzm)oM2Pk(xLpzdetPcnTi>bb5r(y!-RT*RJ@{1Sgq0C$e7niTA&Z z>ECZ)^xz@A<1D0uhHtwAV5JoplhZp$4sM)h=;N5JCuX`6RavPRQYpw5cQ^5*Say7< ze*QBrljTlPorYNetq%xDhlwR#-<2{&YeogA`^}FJzBX+9Nb9~M{)ElAP65{5=hq`W z3qqCOjezpEM_QY%Rq~h@awbvbnEkhg!R1^Vk3Rt!UcvV~`8oriJU^ zstJRT&8Dyn87HF+_D`$>i2hKGSExoMJl|~b%i*fg_ckLC>R;8@vwQA6O{?bMt!A?o%T{&LtFdIsLdBWo{j z*UT7Y=ggCIerz{f?vC(!3ffWS6_fy30iUylp@^TVwr1Jf{Il*$#^J4)8wJI+zr?E{ z?}N{|6hN}tnT#nzFaOsD{|U3O;X9o4ZxB!y%VB(Uor>wD~LW%BA z=YTb_0t~FW&_Nq9%DG=mV1f2YC@({bBx2koa%6xMj?avfmF?wVef-n8`c>-9MToA# zAz_we(8>a@V)%c-%l|+u+%JuOe|yE($77tFe_8BSUm*U{p&H_+@SAUe8esITb=v%y zrwQ?lmm_-)gzT#z;-oSLwyLq0+RsJQtX&AS^6gjd|KgpppaUFtd90oFf8fafdSr?W zraRsp4qu_!b5|gB2iR|yFXj;fhz0z1n;Dm}qRbvV_KJagonaHT+0itbB7x63+0^qx|N%G0+T4hS-7{a=$S_*jx!->HkKV4x0I{)sfMil*)@nq|nyO=}uLdeJxwElRs0G&T}Eqs|& zQ4iP@97Q_PUhXye>iAwCcNCq%(s1Ukcim8XKBslU#l-D+o@~?+L`fYj&)P!%%fA0( zN$ETtz+9M(0EGv=;gsezPQm6O)ST@A4Bm`18KWa( zgq^b`w5@4PW{>5vkgrXMRRzh{O`K!2_DafHoGZ4uX#2%4ZN&(BC{1~Dh4|m^{Ky1e zeUNFsnv^^xxhSQB_fp*EF{B*O!_aNWM(An*$|@m`hIFbQ*hN=uysvX&s6qDciLM}-=?`UxiF1RvJ*_2Vgg z`cno?d$IQ^ewa58RdGX{E^3AhGz&=x3%Hm?ScklIHRw^C=2d+{9^YDT)RKn%8;C;& zYn#Bb5#W%`pY;Jag&dK&n*n$n`LwS9XJL2UwdI&9=(^WI>2`iE2{^nDvxW1bot2jcUm{PaVmh1(&< z#z$D?iJ!O457S*eB9{1McqFa_kNyA0z-RSNt(PwM86R(Trpi^VZkY#nHJn zuJBN?O4GvQnYxC_K6x9lv^7`Q4G?~!SAG=~|8h>bXBLC+Mw2;p{qhnBbZ^HfI{pB` z`#pTZBJFYU;q>bUVqZY>kZi83Rex5oIoD@R$k zUOJvTm7(lssiAopuJ6wQtv5AIeU}lZCNyl44kL%duipTI)EYe?k{<`$-bJ9^sWi*d z{-8!cFJUW@mpiG+hMJ?{Y>}nd9`FdqYdzh>SH4$EbXsVqyjkZ;q}`TJjR0U!>7s;# z!lwDC=KWH=Jb2y;fkR?zV4kQkS!~=$To)^P*!fqYZbVbJNc`+Wb)q(^$hq;n*I~0) z+MAJ!xHUZcZljwqhBVF(UoYtcKGYc149Zg}*Bx*T3%?g9Y!?P%+@=ST-=>uO;QgVq z+13^CSPi=Tk?!82)2))m1}{KVip4U^+qJ&=e6*^eQv5S(%i;8+_zEg?MrNZTNbA9x z#4S`T2H2Jmj;3idmO#vyikyKM=0Tb?g+CBK@&c~7Fk}CQaO`(;H$L3k;+VA~^PAA! z+^4T(jQ(@I8x=ovR9Af=2q;!Im&AYWaY8nQDH_)MJs>ruRY`6gM~ zZoChZEX~MEq^|)v!lUjy@#CK`KmdJd4Q=K#{3mSXa!}^JdghsKpWDm1l7IyXfX+%I`&XmgipS;e#>PiihrSn# z$MA)mmoyjSb=ND86a6oCY^Wz2ZcYtEE>0^OskDyqhiBC;cymSVjlj=w3NT*~9#UGr z;mke&_TfdUifi#^JqAFyeV~oydVQ3e+;}lLXBWk7JLSP@=e=1};?~$-6ytyB?%oUN zOsuf1-n2?wwZ1T>G@Z@m2)Yyt3;q4W6*^Vdyl}tkp(2~QJH&KqOUUyMrrcio-a0TW z9s;5ukm5cA{x%Z{JAMnq;FHB|bp;v?847S)5zVItn>qX!JA`d8i|un&{UFd%*VgHs zbejzgOj|$|fES0gWA(cl`~u>K_$S1h{8>AIx>RastdxWGxy8F=@56H_-vPCoblm{{ zCVy2l6J)x#bvBgbcyiL$w&wX?vXi*CS(npmze;C)w~v$PY-3>k${dR@A6TsNDpPiv zwoT^2li}E;;T;D%_`&81ckam-eT-h{an-f>=~!z+d7p5>NgDYv0CL{Lr=3t9M{+*l zJH7lX*os9G*VFe=Sv!Cq$yIFys`0_7qZj&D9V$rF1lQoM(gT#=(g)e)-IVo^gRR+h$S?y z@}J=>WeYRCl*r1R93DCElWWWT0Q~;y+eFu+>;N~K5~YO~VUJZF<6z0A_``+Dp8gST zURw}IS zP_S;0FUU29VT};b#+vMS! z_jo8Rac(HuYcJnpfYYMFGG zOFL23-=xohpJ%6YkA<9f-_OazQ&Q45gS|2=9a%&E_S{Nr*bp^@v7;=fWRv>@p-{;UJzTafaqTTR8OR*PUiv|Y!9<=CW6GI{ zy2C~pv4@X{TX>{MsGv+8+*1|7cxe;GoX808UKwoz{;dL`#WPn#TGfSl3?FcsfpE6- z1o94Pqgj*l^tZ;}XyMiBOM;6UidF(oSF5gfq{lp|h(#yNl@8#mmER2QivK^x-UAxW z_3QgjL=qyR%n1^VUZRU=F}e^@Q}j-hV3Y`E)DVJb3DJTPoCHDi(ME64Bf3$d4bj`^ z<$q0n<$0g;p0nQnT3K0GiMeO)>)zMi-)nzA`&XJwQJri~?!1HB5C$4rh8|2enQS3c z#>-V7^Gl=(j7*j3`{zbI0M&yQ}?r z>np1oK&`Vl$gMlf?dYy*ra9gP7RS0N<2}&3FA;cX!X?&t8t;R_yFAo^?vVJvurXbwjAKv*3~&ePu6C9B=a~6 z`OQ@9Fwex7-frCM#_t226&7<}mx#M4L7nf!$Qe4d{9`apKg4gUur62n2(RZc~EqH&syC#)+ zCiRTfl_}getPn<{!XZXDFDFPWj+{bl(_N$~;V!az3%>XFW75u500~;pS^6kiVkXq< z`Dp-!&&MnF#F@_iM_8TgpEnd%v{Ci)KS#k}-mFxKYXdbmMhCX4?Z6StQ?3k0j{BHj z8qPe<-dOC?MdE6bd}0lvaL9l-n75%%ifYC{c`N7 zOnDtvsxLw%0|K{vQy1o@1X*1y59dUcD6w$u!30QA3ZN^*<@O~3`;_`zZ2R2+l{8Yx zMp_cCLV{oy`@E5=I_wTHEowj?{5Mg{7M836#^E%ey7Bo4ixyh z$)^~JQReN0?Qv0EW@_vv0Qq?+i?sYn)M{oG<(97Z2*q`2oHV@BSNbRtRd+a8z~kx5 z`H@tZ)#Hog$KJy~YtOd*PqkL7CGP;KWh}&Sllkn1*?5?{z$24yiDxjzQPy93K+o50 zs!mi4dSnTq>S3UinFZ5~Y#AT#{tOW88%(hle7#jkqTA{Nscn)_+p2IG5)kXSNw#Wl zR!17!`r~*maw(Cy@!7J})PZLHD@NE?Vb52M5~{5oK94SO;i*&i?R4OP*%S>mVUX!>M+}4M((n^iF9c693Gwd~o@bsBx zE0E|T{xNi_EucQQZk@;AfRN-2+P3rkatU*sb}-!9?0V}4q^<3}6I8TlVE=9ugI;Sp zMp#AoS^IHdnpda=Yk zETIa$DP+@ZBJMk|x{oh$-yWf+M9*eb;AHgzjPDtAA9j7p=(POCD!6`o z+3c)pH#ss&zHVp~UOr)OyqR`9#}yZgSL3Gir~xV1S9b~M4)(5X)N}Q$Lt8dm4tCf@IIp+Z;qD;rF5BEC@YjwerK?~E=_>?eAtIAJ3X@z zp6KukvU|f*xH7J2vMbi1mO;wy+mWyPlD&Dm`#8|0g2Xm`!p;d1=U>_hsT*wF}7Q-`=>=ouJs*;U{htOFY z<2Vuju2;@Jv-Iw3A09W`8j}V%4m)ppOpLR1NaDI8OQassnfd4HO<~E;`O~Wj;wuk6 z$_QtL#V$d_Uco_<;RH|C4x=)vIfTf-BekQ>$$o+uM3xk}saO4E3lvYk=G>MbX%|(t zL8m0umgIr(!AFJ2n1@hd2j`u`%41}5`VY-fKiP_UM|L@_mJy{BQb#*|o6FN$IMi%L znPBv8*kv;?^=%1bky#ZP<{o3tl0tsERoE}wF5vN@Kgb-vR7Y>Km4hv^UKPcS-SLa9 zM#8j<%@}d$VhM=MgrkdF3r74J4qdsZFP1hoW?MHq*?p-kz=Ojf#p(_JlGs|5yCb~G z_>8d)_nO{%#V(BBG)5SolrNL3bwu|8(%QcH5#Hrk2M&mqJVRXTBjH1r^CCjT829K7 zRwUjHAM0?P9?na+GgMX1+GJU^&`B!0+`iV@dT4cw$5vYz8JN07IXlD%3!zu=xm3$p zv*RPb(yS85i9J0y!3NgFNED^G9P0K*Td{lJL4xRnp*cB=1mvEtZ8fQ##-d4+jZNh` z!*XR=Q`K~9qG(6eFR96H!zrU7MD;@&q$2!f7OiEbLTCg>jFgY=`xkHEs55JSjpB4>JF0Ya-abMRipt* z*J(#ICrRl9zSV@%2o#fE(3A_i&@4(6p=9ntr25U3Rib3h5*3mX?g0&Rd@5KJwD199 zjNWW!w`=EZ%?>B=ph_ZP+1kW$I8lc5t~E1RUf7h287BP&Mx7g%Z#r=le(AqR>>5C# zg4qY7WDEtF5msK6_gM@fZOyxEQB>;hSu961Q=ku?Q)Ltgm?I9U?%`wYzL*Avt_B&J zmLIk%+CJc#qw0uE7G}G$**a*;wIT32v^|Im`jR^Rn+ytyVM?8YJl#nO=_QQZbP zG)9It9t~(opG3YQlc0qMnFUh33++Bk*O+a)#QLKzm2Q0L6Qo5eiTi>PpdMWfeD~2BT5;~VRZB&(tON)Kwj+gu8kg`857M(^l6>7DBk#a5qU+Xd6a6?Hy)!Z_9^=2!_j*>luJGua zip--MJ|N4;XFxm})kKKO2sGn|5ld;w3LOry2{rJM3Q1-y{~xq?%AL|)u~~Ce)i<}4 z8y9G|hpy#uc-RkjGVFL_*Cx=De=@Mtr|fFJ9sF83k9#$nJ9w*L%h8Qb(#d#Ve7cv8 zR}lkW-T1+Am-<(?vsFmBt9Ep)k$0CFM)v!O{VV`BbHe0&gmR||$LXvnVEjv9mcZ#|ie^cZrECt8oJ*uid^!4CPP4e?7&$bWADna_D z%NWOeH>a*d#lxrYwvj3u^?W3v)SXt#!%9ql@iJQU=upoX1iQ$ z)p%$#vGuaOJ@uOd-%e9XG0nGd+1ljHkIB^VoK9r4=)ghf_BbbBuk_85 zEbEBW;pOV}pXeTnEKwhh^;+A)oti-W{iW?1^X}am;gQM?mld_ibSeb?#`O1&|517C zi8+1}kA!7FV9>b7RpE|Yh?wvrqq`5g+Qo!BNX4iEUDPnl0vj<;P|P!dld9-ghxYav z*|Tlg;aF#XsQ|8y3QA|L1T;l_D8<$nm1@}MvNo9+2CC*T?&;Qcj)0g%W-8fGNpwjZ z$uE%tjSQ-QZ2V)t#=x|f5FKMVN+**$`+S1$BJV4@u>DC@wdq3jih?Rcg~=j{GB7#( zI<|<>{zqCnqarI=ff}@)_%5wVvoNh1%o$N*AHL5bh$6m4l%piU!g@=Qq2=Xw)vM1| z!uW_S73!*X9-onR3UnFUwa>D4j!=!0w&O^3iS@0_QIvxwm|Gzw&3+gX(-qe7!lsL1 zu)_x_Gw@r@uWC0xxQo2{W|I<;?y7z5GI}u@E>T^-*`u3Luqpl(^LnR$-;U|B>kDK6 z*49+DS&WrQzV9MSQS5|(cBuPGE2?HGrtKoI%aIOG18!4z-CCIQq?0@)0QMte1_cuJ$Jm{hFN zq1z$c7O2rRL{poL1F9^zP_+=PJdOJteiwTzlC|l2-tl-G5i_#-IyzYaZqlfALU&DE z)FQ~-GDawqoT;=2&R=;pOjF5WG zAU*{382c(S#XF?YSZ!5**g>;eR;07~eod-_j@uzpWRHpIJPrcJ6tUdyHU6EIR#>H4dQ2w+ccgsqQ=Rut^Bt%38%n!!+pSs`0qmsWYo*p!qYk8v9Q~l-@=OK6q3y6ooSCX z2N3eqc_ggF$_nIK+WwH<&}t>7#<*A~RYnZShwRK+PWBxX?Ap@=kFZN;r|V~?T5DlZ z8ph11(%ueqZ;kui^SeK2*98Q2;`9|ulg3S4zD;#}8xEqTr4gW9X;Mb6?^f@B|Ll44 z3=OeO9heEYXc72Q{;JiwcFgX8%DHD5F=RIihN8Saz-4&*1#Cvbl8biMo?^vVsfykr z*afdqZ}zD@ipCtyv64mGsC9ooSqPMaGLQ&Ava+m(9P5_*w$=&bCs&5z=NKJMV&^uC zO{7;%B;7(QvKYl6#+zaSIL6j|DB2s(>H9D(;qazb+Mr611GY<)!C1eF5{^=BHZ$!A zlJ(f=naA6uB-gCi!KIuc?m649&SsITp2qk3oe2A(%Zv6#Q(`H|+_!~9Tb<}O2A*d5 z22~Da4J`~gEoasl6-Sz-$4#~N6vwvsx_K*E*9HwraoarG6)x`5%0|BeF_ofs47qev z%w7w1t`6IM5+(PH^gG*7V)3n=h?4$J@<1`ovUlfCmnYUMN^6mxB29N!Z77_P3OQgt zLe%vWixAKDgNB_4DgiYa&1S&3<7teL;+Hr+z!)uu?W_ zZEC>fs0J1ooi}kFS#591p88tP-gxMo&dMeG>U3Lv^iYNHe8rm9(1qnV(Kg9K`h%tC zO&y(kukmI^+X}^E)T8-1gnBKP4wm9K`$ElgdxPn0lgWWG5sa1rda~A_sQX7(x;*mP zOqpwZwFM!MJqquZ_}US__RtY2t%~9O?}1PXrOVbm*fiCzps|ak5GAfofruJNHi;*( z7!q04zRo^&Q8M}}Dg?HUL9E<;$TdLu2-{nZbSVw@lWp*599ClFS`_$}OnHt8`ymSz ztALh#Xv?G}CkXv`_Dl98i${*+)z5{9-SVw`8QRN1e^^q`?}V=s3(Cgo%AUXPH;K}4 z%(?DA0P%qC|YMSb(f#yS^UuOZtvevWjfNh0P1RkhdV#!CiLC-_8!r&K$JDkxlzuIr;V0 zpbfaROII>vOo+lrTCqqF2}%##wexK`>qHK9>zWQ_Wj_jB^W3AHr{srjI=sfq-B@58 zvT(@S8oIn7hb~)BZx}k~5LCr!_`__9zSb=@R#Nb$=A+5I>+v-!LX6LRzv}ob6!AXm zA)MeZ=x2TUw|-71LYz`hr3Rx5r&Nw`q2}y5-xqwYxv5*LHB3~q6zL;*z#=>5no3JP1UJYrL5GqI#B_OWbr%2mjbF*_ys$gqP-{?7cFqh1zSXnShK z*8*Zi7N&uF=B;lK>ZP2E)U(Ej4d%hitkvN$0WpUrK8W?Q1~l3PG*WmbZ!&96-+Loj7JKKnQD&3T_@8$IsDVV@#0T)34D3+ zVS)6x;R#-G&um%6+xf_7%KOYFt!P*#fJV{RRo)V|qasDO{rQf{2}XyT+REW{i%xv6 z*_DGNi3|7oG;}Z5bo$B;soHiWhuc7>1`$!FhsIloD z>O?U!X+Ev4r$j>M`)+enx0;rX z>I|8}dR9ai7#_oP7?brMz#}&dl7?Q_#r1hk&aBMk9DNo*6_u&@@6^RTj6U7wamexK zGc;Y_*ZAc`J^q6&VRk&x7$$VgHSdy{?$&@TjA_ns~2rEZ3+_tt48gWwI!wNch=-A!CjI z(fDcnaM5Do=IDoP=a^dj?UqmFd9c>zy}-@#$@_<^9LCC0rd~(dBJ*`%C0AMs~9U*PCl0g*9z4e^G5c@Du!v# zYw%@W+cMsyn8T~qyXb_m|MuVDZl9lNnA1c&@6&w3Dj*Ty!K$1x%fG<&Gw8Ai4yn%zmXx99EqU6%9~16t`ETytaE zw62j7_g=EVmdVbyw^t>EpI3ksz@Sbr^%gVh@aK)Pl-!|del(gG)*uLFsKCl26nS&M z$GZTsXz`3cgaa?LC^z3!5YUo?Lw<|}NB9uSv$D7DQW@dhKF-YTE;1rcZ82&G5e~Fv%;rz_oqfezwog<0~v$ zb5?6(=cSZ2GW-L5>nm56>7xDZ)aD#nfv? zrlJ^US2=?#mnU53rV&e9<(1j~W1|SqJx*cL)hDIJVT@!bFFMJ7;Li(|JhtLfACT1n|-S?ac zPTk_vZ)*A;{lVWmG*^@AqC{1_ahdz2e!g;xfLK>#6SY)uxFMpI%>B*AEmgemGB@?P zRdKB@{2-uwdf50_ToS<&i{gff%|SjmuA$>dN|$EiZUG|5DPi`nk`lYov1gq2*Xx_lEDyh+Eb8Px%)4y=dN7nPu{f z{L{0XTvE+Zp8axlBP=;hQ@F-Cr+l<-*_@jcsx+6pt)g;TIk+w|Ni<^dtBJUD7Z$B- z!7J&+&;(l>wP1YVlkAPSf4DyKsJ6SkitUV`p@|YjxlNVSdgfgp3QXd##;{L4%tXSB zRPu9rk__oZN^CK!rt`(9-$l(H;Q@{vHAZ}@VC{v5;9mvwR~ z5WjxKu}l4Ds49$@g9w#2kaF;^iy7j_ToQxZY68ZJ5c zA}+mnWLk+`G{Nu;ZksHb#fR;#tUJNh<+I*kF}eL(DML&=%&yx>HqDl+dQ=`3Lt+B@ zs$8z0A(=nu;og#U1jKAM&-SOCzF@T4HlB<(^Y5Z+3l}R5EAm|FvLL!upfe+@x%(^@ zVSSoxMD3*iGtcyd^ZDo`)bJObu&j&N(2CG{nWAya!xNmHAiW3E^KUHfD~#ee0jJgw zZ63j7_Sw_XUOzPYmY|dnrTvBN)2CNS({V14;)(GMZRiZwraq%1^^9C{elHG{_~uZJ zmxM>-E8jxYvHLZB=1%T?kl~i23|tIm(yVjwq-~=#Fh! zU)oL^jCQEe^;sVFV%02GrcH)Q_c_Bah_j7b(ziUpAe)2Dn9xOZwYU47t@h&W4BLn)WM`k>*`S(!e@?+DQCMNe;eFW zk=DeTA)Y!@?aNSA(9+i+s|qG^V58l_aUgtEX-7xuSqF(%fkH+QkApSOplDmDM~dalQ`V7 z9SR>qXpdG{-)uC$kJcD_f*$?Kcw{I$n8WZ;2{q~0t~hRYWGIOpTprY?O!am0D8)2W z(+UM$Y$U%1rdA*God!WPvri7E&W`-`Tt6q63C2#IipS?ujKNpRu!$v~28UOQ3iJk? zd~S-bE{b@sF6S4N_jZdN85y|mZ7o^DQReBU$dS%9-MZQl9LE7Y*Y2`P=RyrW7j7kj zH5?Ut-7JYbgxh-*sX(ob(nbejyhhUfC&R2(*1P++#EcG)`s(UNdCa`WVDG~B)pi!F zHTKW866%bd*}qLm+_6Dh6gnCRgUu3d0_Rq9W<97Cvz=5^X>bZaI*AJ zm;MB9c$vX%slKRO179|)dm$s;k_ z$X>lU{HP^5ImmL)E%4{@G{yi?^lqTdM*RN7)f1+(S^ok0k$kuXdOX5?+xxla_OPJu z_)Cos?nDo@ZBi}l|I^0mdher2P;Zx=0ufcSL*X3pk9Hg9n|4O)rwuX=y)B1b)bAP` zlygkx%44S{F*PTwraLHN3SG^lQ!yjcN%x>PlU||Rn3_7^Y1UzBRuzf1#$S!Uv~(tC z^(oa4x8%6HC^DTXo>NWAT7&h4=GDgcp0;Ar^mq$2OjGo~O(h$ioQUo1Y1E!>I$L`$ zZyWfJjWc}XM80=_cq^^<0tX&}$BJoB+H{&Dv8TF27Zb=BXz!0~AI^n!c&mm|O}>lS zJz9u|pMZ=w@Z+#t7`e#JaNWeCOLr@g2gvr7>nl`;+cbx3glBUHopbsK+E5u2>8s)aVZJmwTOAR}d?T zRy}Sevd2F-pS>V>DNRs0{Qng_7^vv-A#e;ah2 z?3vxMbcvWP+W(FtUG}v=`b~WVr3E`e?2xqfEwMsU7dKyr9G=`0JHE8%vYNtupc1=h zHzYcF5G59FkmIb|5w+(Udcq=vBH6bN{C=k~tulT2#`#8JQVX`ycl5d?ya&P2g(@go zW|?X;?p1J%qw|#WM^t(9Lj^E7x4rQ)`QGbQ{iTApY6_2$Jum6cR5MjTzu{t$x&|S7 z{_Br6=|&HPUPs*k^&F-XgX1T{+-kwnyc+BkFj*XHWlPXoLexqmmn+|{A^)vp(rFR< zOl=ikr%(HM44Nyld^W?)@+i=FhL^iO*A{Fu-Jj&mlPdZ680j_2j(pZ z?zj9vKoWuvT?J-SJe2Fs(ep=@lt8DoVcrcF%1AqB;e0k+$p-mSjazxt>IeU>tHE=z z$R>A(ow>CspP~!4lU20$oTVSCopqE1+5XOcU+-Ua22SF9V0z-Bf_bRJij@BSD-_ch z;D`D0efe`iNbVcY75Q{U(&hdss!0qihO`6vhfl*r+5sUu1&f20n2^}#Ld@Kd>NbbQ ze&i}b*5AUvd2UpMjE%1s`ZY)Nzc(AoB{T^pfNxII53bn?MDX-H`Hve{gk4UK9d{T^ z>8i)gGkr@__GD+N(r0(nHlf`l`}Q;yhRjU)DNV>|LCg!S%5>OFMBj7fhdzR^1?r0w6@fhOs+vSznb`KOkA zK8Rf)cY0z-aY*kbd+k;SZzrJ_hTtK6K8ak2BN%fBt&pkiLpi2BmO{L<4XH5qK{j^c zhoi6d5zJ^*b3fR50z{qWm1_ssL7v#EtC48~<4}|6M)* z`a%ds1dB$pIfEWv>n3vXJku^r#CpYS)M25tg0R+83heccnJ_L?w&n9}ea_qBR7r~% z(0v=%Ek1>z%+v!fzO>rK`+-|p@Ja{UiS^L^PIBj+SZ@zth=x^@W}W`eV)##-{MSz; z6+R+)_r#TVIE2XFHM~mtzS7_gnt|_Mk43V3|NI(q8kRmDWSuTNCISg(`et{boAD93DB|Y^UIIG>$c~{(u-K?%JJ9E;tjJJ_JU(FVkYpaMXR(vtW`+ z0FtmbUYg#~7&UUL{1m^=zt9j~KIP{LDA_J8~xK}8f~NihxSP{<}Linis%iMdwPh;JfFt6t1TipLWyR0IY;@9IacS*)=B*vQuzFenK$_J5sLYb83FCUtSoC#e4w~p z+yPuf@6EdR|L830BqoV%G$Ju^1y-eaIC}K+m2S6AK2*ob&%x?`O(_j-iyID&z7RKL z7=<`h7BHV;59<}JI8X7{q*ksm->m1_<+Ue&(W1<aSwa613ik}+~V&cTPfF^2@;({+eXX1U~@5B$8DGZvFe$<|Ge8r}lW8kG9;)Bl_q z{dM8fbrK_ftO3`>Ji(o=!s!0w04H8&p!iTd>Gr293D7n1>L0++sJ({S?%4`AJI+XX z@k4b!N@|Te1nOls3M}3opo?0#`a`M%J_`L(Y7E~kDzvTN1WZ#!=e0clE86_GUxV<4 zc?LBw3SGA+iMU5&@FxSX3(Py19T`^c&xGeLY<*64GOS6YHS^hgxXDbzwGWJ$ISS~@ z_*9RvXY+HhS^}MXCF*6{lyN)lVI9euX-Ujj6A?rTsmtAiDhAGZ zis6BqAgAvk=`y2PLV@cu# z&dqwe-(jvVkvwU@d^VW8?^$ORr{{Nq3VdyTc8#uL`n0g*+i`@0C6CxgMK_ zm#SZvqyoMtC``P_s}5buqv%Yb`(===4cpZ91@O0P8XKY2}gHE0mr5i|@x@OZwc4Vvo@Ng$0Q zUX0T-t;7I3Pr>AOf_;O$%;E^42{g-~Z{QypDYN3J-B#OWv74sr@qUs#7MubN<$eM($g z_qUese|dxQq%ZE?u3R{vWxAD|hmbSy9$l3R`4D`mTSjn&S(7>pNgE!*2YYpSMH=8H zbc8r>LKsQk20gKW2+ig5KDpFquo&?v!L*7p6MP)ylU~8Y+lR{qW&}7_=N+wu&8|O^ zo32Ua0rv`9SsmLd7`hRqe4A#*w)c(Q`s;dN<V)*l=;PMcvNdb^#hfR*ncAA@`v3B@n9A43Y5qd7m&h6TOj~ycExa9uhs) zs>b#8WMTgj&>`{ln46cZxG#(;J+KrxKR6|`#}&wK5%XmH|Z}o z@qfi)W@4JFfq!$M|9X+cY+{h+)xB4NBL9S)?DSg$pA26trv?uQnNzt{M~!5H@7tLC zF&GffM5kE8`L@2mM!{7H5mwkQJ_1SWFB#9jzBNywWIi_q4D0htxdj4*hm3_8#G+$s zkniyldN8ktxZkUNtSR})*mJ@ibZ6iCP5mJli*vmWfO$S1Fh7c}dmV>@2c zJL!u7q{>5xVlQx6Y-P!w0*L zItT!TwrSbZSy|;s4iRU9>v+h(Hf~VQtmbz@0=%hA0r*?Da|x*zPs4kPe^{J}nZ#>V z%U^%D7axNg&ev_^0VN{9_qv+9OWajnAgCX1<|Tsd{qG)v?YrkQ*ab(Yj&b6H7xoFNEwYJzQk%x)Mc;2 zh=Fv{NevK4Q1wc3l(5Noe?uql_^0dAXOP$%k6?*ocT9uz%R3pT5cD|3;r&z)nO zS5=aKQn`RKiU;{R&uvKIn+kmsxx zQPMWr0T&m4Ts{obRukGm@U8oXCHsP={e-F0-SR<*3HLSVbbh|;OXu-qIt%1Dg~i>! z`%J(GwSDb;I!};1CFJ1at7~7KS~t$%ht15a1gC(3uJpsavrbi5Wbd+oCxX&f*Xa$w4*mx*LU6j?8qVXa=PeOu;!mP zl5!1b({EAAA|LuMJx==qrpy6+iEjFP?(Y6W0LQT*pV$Z%^hwVvY`k*8OEx;8&yiI? zcps#o1*nlj)hDeA_DILJQ~IfW<@pAOahbdzek8$$(&7a>JDEDGxzgG3Qxzct#5SIS z0zZ82{0E1xIpXIK0{(ylkPGcZM0uwBVIsUsL>iy7z1#bz@FuMF@*E%Wg?HuBe-?x# zL@eCu%1l(*24=X8H$qo~y2~;1{P^?!Fk1rRpco_>y1mv43xs#7ppQeU^WneO5uB?s zKAIyJ6|yQC8eJ$+NSHst);V={x|e(Z1khw^ub`SAiUD=wG6LWkbd=_GG)i%)xf8fe zDO`GQz1#|tmI*ocPE?&lSwYVj7*qQd3>LFoo7Vn})#SlCmS|iLM~0*UWQeFBieSNt zOyYM!hw!~|hZ{#+e~41K?bmugJCXw+CcNHmi?x+_Lc8kcR&H_-PJ>9F0?qpG-+bZ; zaZn=yl${QW;UHM%HY;U(4*6E*Lu?nw*6{dS#P7xl{9W8?$9CM_HcJS@qZU)5?1YLg zOe$$F;90`{c*`YFumI}8?ANoDL<;J*a7M4i^!a>eUkCg^4fwFWWOuP0fOMLhV7&SA zosX~0R`zIg$-rR>L8~yj9z59Vw_Eb;q(Pg6DrcUB7{t0!9qm?ga5daovL`RdrDmr6 z2xeDcd^h=TR~T>V>Celu`bkIhM+9fpJP4Mkp%xJDD+uaLu-+a4u@ofOU=FI|0_aar$QoT=Yk8o{ zbp9;b|JbU#1Z+yWMP^-&$Dv!z4#q`u=VcxuG%tu-*@CAm;z6Z_kuUk+)vM?- zM@T-rWGcL3!r^h}?1UOB?5&|c$uGhon6(qV4Xhz-GX`GaeZVJrsa44yH4n0JhsZSe z)v%-1eSl7qkL=~^3PW_BS!;z&*F;Y@2{BQT zd*k`_+Ca+o$GadU`0DCoR1wB$vlUpTb^pp{ymX2d!xZODaS>@DO#{}?LKM)ga>8Mf z@Dl>*>g$l!@gLZPg)NX98!9?(xX@S`jDpR+;7z`gQ^uF7_beGa!>}(#)w8QLu7l#6 zQTP%LEIX20mG1+btR%C<2-(~hk-Ei3243Vc@`9DEz!_^enl<)$kI4cEu1 z+}XUTMPdKm?4(-+Gx~OKlu+WV%qRa(U&3E99p!iDUlk|O)buYc^Az>9tny7ZAZbBr}Y5v0|Ahh!A^hobKAs(jTGPkC$nA6tChuF|&;G1UGW7NuzA&u=+O{ zz%t3byaViKJ;lJxPQD~8{pOpEkgV1#?H2zIzvp2;8+cEtG^^JNbKvw%Q8zwl^ zY}2>}LaIS90#1oacHx@~Jq$fIJLu4}U!*F^lm4TyY}8rn6zWR|GHK83|0(57j3f^F zyg$b!Yf$sVXpxMSYjZEs*~jX-H)&_%LrMwK3XCOEY@2SkIMoFMcrMqcMM*mOsU%28 zezOPwsLx3Ht(L@ekYUK(77v;>gOr~X{`*aXMjsgKPF9^At_Nv}iBU`fEi-wHs9mlscZ&ZhUy>rgM?$SVo=H4wScgF4qx80 z5XigKs*t)Nq$emprtetTaOpa2fpz0C5FQK&S<&Gbpiq9Eprh+mZ;M^sc84H*dVg*z zNumD=$NG<;7IEdgX^R3IViC(04SRIlovEWwJej|0;X^zpdv?&P)0GNCJ||E6$?`l# z`?}JDUjT0?NMI2lK|IcF%hRt@(lGrVqz&J%4*vGDPyGqp<6F~(F)@nw+b(j`Ebm$B zsNN599KX7q3`ZN_zcKbg(T)BjvI_T|S>1w1PeLkXAX6=$T3hrf@vfBgM*GyW)>lK1 z^rw3v28m=dHLxXd-AQ__BjE)WfzP4^?z2w*|8J=*Q~jlR=i?;vTU5_T6HjI`VEm4X z&VJCI4(hn*yGz;6f2eZl^o{{8M$KzmJJ!#z4%MY$O=tR*#qOqUw3$$R)@UyD=xBRH z1{EW-+%M<*tm|k`RJUU+L`P8V#Mx?YqBcHD+)Pj_4O^m z%t-?3Qpi*0{>Z=IUP%I`A(YDUU9&Wr7Rsg-O$E{%3g$Bei@a-_nDl>IH2(Jgjw+aM zm~)nVs(kVfxh)8$OmMu)1tR2a%peM-=BcM=>)J6LtRtkJSkqN(c)Ed8ySFQwQzzM4RU0$SIEHMp8I8&=`bQv&cuXT1D3CWK{%t2>!c z1trg-Ohf+jr2e~j|99bC!R!KAY7(u&W)_Vd5YU3Dn+xh{4gOY_m=~H3i zmp%EV)p@XxW>(V}wnvBO%&5D}V)@EQEfP*w>*qAM|H+9* znJ_%E?D*74tjrh5bT{A^8*Jxx`#+tw0Pbw+IjX(Ax-;MFF?&FJ-fGwKD}HUp{G7o2 zoCj5=pc;SK6Y^;nfYOWube`hZFZO4d&h-6Gmdz5##YR3l0@jaCC^`$?A zr2&|M&x96?BT#1NyW%`Zow(HmYhI8SxB`9qJwd8-1Vos5aEQY#KJKDe31D7d7I}_a z!R~KL&>Y8Pina;7RRYGX^l%u|?>vFBpbBlVU8R&*2PuPnNFg=x5P`Qk)W4Frs(sn+ zvhvkwwwVK+&aH(=!^SM;DNI~Sa1|%dbj_6y@5`zTSP&c zMC`(E&vibI`>1;7c)v~7^q#o_`}%x=&pfYAsWo;!!OZk@-t6=fFki3VYSw`E0KLWM z0NkHPC<4Y+nc5vW|0P6DUE(y$|1j&O?yHKf$6mSl=r4hD1WZtqYj#LsJ8#m$4uOYQ zOh_yk9QS)XYaa*06*#^10I8P897;&tFEH)P@dJ6HO{dpvvSw*Z6GJGlzI=yc$L|vx zV!|4gb_pQ26>thy#*~=q+Im9=#)UpIdUPoqoD)|wxHeOjF*sWj3A^qSye!CxWm7!@ zgJ)~%6ziW0?QkN_o(h)}T)EV+PvHOLo1I0r6AFu9^Ng*8+MQ1~uiW#_H(}8hVv{3_ z-EuzLb+%s4FaK&;Lr=EuJ$3ZO<+w%AugFU~nTg=UPSxTc3=sqSAs@)5t5=m>g%DkOeN#I~;2 zDCGPEny0{Ght~1ddn^y(o` zan7foue1>o>|9&EcZr_4hnUd!fNtS@0Ai_eCnR4wJ1V>D@rSmryQKNVx*0j1GaM8P zghoAnfVXwMt~!4NoT)JW_zh6=J_;Uqb?t8Ul`LXM{0Tv}B8XLzAV@5HD0IA8r1y;^ zWe0- zMd7^Y5cpsPct`_M z2~t!5BqRGh0-*42bi}J&Ffin!gVq0!IG{?@JnnzG;Qw_q7WwH-wD*+n-u0P}A?@&@ z7Ml4?rW3o!O5WFBo2?9tts42Gbp#t{*Q(b|rIUjlnEAH#=O3zfy`Q6Mow;B#as|~! ztiG9uWQRz%km7!IhzxlgoOCCTN;yvvPE=pV>J!c;=}2aHHe}&ukmwQM`1@>+nb=0;d?Wiq4^XA%PE#WWsrd-uJ%J#; zc(Fp;;`+0k)74BhNl<`f+(I|@}TE$^FHuH$@?$O`R0Q3F$8x)Zo;k2xc&CF!5qQ*_OY^D?KP^=1H4f-F764xn74h`Ki_= zbE|#isM=m>)nf`hY(Du7L-8?8GIgG7{SztFX=PMx@RFC}DQjUB0FA5<7Se5zu+8A= z!S>O5(<^hZpi55GEQ-LD11YA?n$sihv^)RLh6oMfP=Aa$X@TVtwNqGkkVeLBi+6T> z%EIZ}1YwOrdPm#0A_b%L?bhSZztd1rKVjjd@}dp$B~Bk|ftEv^%hQG@r%vrnE1~_+ zn}{yqwgI6lGcshf@(e>?zh8kqSa7C5v*mpS*(ct@50=Q0!9|5toE@1C2qZT4Wodo$ zuxqk1jv$TO3xYK*AQLnR7E?i}S(m9o?MT}UyPD&kwvr7DD7Q{`A5h^eQ5C;F z`s2vgR7;eZiESgz9{gk0q)Y^^Nap}BfxtvCPr&`wJs*Er`23^$q|;O%xbiD1nhrk1EU*jbM(kI>XiFz;82pOQS#Q!%1#mU!=6hn5q z1b=LauHcT_t2=GOH;y@=?!)Q`uL#u+uD1vJV$1Jtt@^?B{6KRgPeRhGJ3`i+yM7(d zs%r1s-2BylMZ=}s7g>Ltx8ht}?U6d*f)S0DC!jO%yAI4)!LDA(@v;7Ud42fn z=el|~zjgZ8Eb97`CnWGnm~hutK)L5B@j>1pqN*d`s8|4J=Scr9?q^n4h9 z!J6oxdlnxH)VnrM72j=`D|cNt|6aR)!alwacXo>!)l>%qkC(?j(I%(tuuqBS)32{H zH9S;u5{0V@x9s_J`~K|X+wQfW6)c*4V8xv2OMLP-#qLz|GgI8XRq;J=2=cMire*=J zFTiB6`ZQ?zYPI08MBs6ZtIW2SU3tEFTh-eax#fO!d1VhTo?lWv+s=G;C@@@S(?PKqXuX$wUIbxr}E&Yiv&<_6w2KIQH6q|-Ve=v?-Kl-~}DVzX>n{2xjk zk=zFiwJeQZV6$-1vF3ZgfM0bzSJ)`py7{JI!0+Ou=*_FQuWj76weHKa&y@ylx%2=2 z&0MhSNp?(h-R+K(am-5_Pn~d|Am-%!LNL+v8*mxNq1Cku%Gg(#-%j&UkUMSsZ1P^r zUMy6^Aed?Uog(j@z-1CyJ9Uz@PJ$&*w;ej*>}BRy_8} zLFxMnbKqqwz{wgpi6`c&;wcTfI8sJ;FEOWv-TMGwXQq zu_S}2!}sN2_X}W60ARsqnM~_@T1M+6m-N@1ym#M`b6%7Xj rEfRmaIbw@@)X2u3J}6i7Pv--Z?KfYcKgTe~DWM4f!tsW4 diff --git a/docs/assets/img/dynamo-architecture.svg b/docs/assets/img/dynamo-architecture.svg new file mode 100644 index 000000000..fd1cf7ab6 --- /dev/null +++ b/docs/assets/img/dynamo-architecture.svg @@ -0,0 +1,119 @@ + + + + + + + + + + + + + + + + + + + + + + REQUEST PLANE + CONTROL PLANE + STORAGE & EVENTS PLANE + + + + CLIENT + + + Frontend + + + Router + + + Prefill + workers + + + Decode + workers + + + Planner + + AIConfigurator + + + Dynamo Operator + + + Dynamo Graph + + + Grove + + + Model Express + + + KVBM + + + NIXL + + + Local SSD/NFS/ + Remote Storage + + + + + + + + + + + + + + + + + + + + + + + + + + + + + request + response + observability + capacity, placement + fault tolerance + lifecycle, handoff, + blocks (KVBM) + model + weights + cache visibility/ + KV events to router + (Reconcile) + Runtime Resources + KV block + offload + Model weights, + KV block onboard + + KV state + Checkpoints + + diff --git a/docs/design-docs/architecture.md b/docs/design-docs/architecture.md index 524ee088e..ee7e02a5d 100644 --- a/docs/design-docs/architecture.md +++ b/docs/design-docs/architecture.md @@ -2,96 +2,200 @@ # SPDX-FileCopyrightText: Copyright (c) 2025-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 title: Overall Architecture +subtitle: Architecture and components of the Dynamo inference runtime --- -Dynamo is NVIDIA's high-throughput, low-latency inference framework that's designed to serve generative AI and reasoning models in multi-node distributed environments. It's inference engine agnostic, supporting SGLang, TRT-LLM, vLLM and others, while capturing essential LLM capabilities: +# Dynamo Architecture -- **Disaggregated prefill & decode inference**: Maximizes GPU throughput and helps you balance throughput and latency -- **Dynamic GPU scheduling**: Optimizes performance based on real-time demand -- **LLM-aware request routing**: Eliminates unnecessary KV cache recomputation -- **Accelerated data transfer**: Reduces inference response time using NIXL -- **KV cache offloading**: Uses multiple memory hierarchies for higher system throughput and lower latency +Dynamo is a distributed inference runtime for generative AI systems that must operate at high throughput, low latency, and high reliability under changing traffic conditions. It is backend-agnostic (SGLang, TRT-LLM, vLLM, and others) and is built around three cooperating concerns: -Built in Rust for performance and in Python for extensibility, Dynamo is fully open-source and driven by a transparent, Open Source Software (OSS)-first development approach +- A fast **request path** for token generation +- A responsive **control path** for scaling and placement +- A resilient **state path** for KV reuse and failure recovery -## Motivation behind Dynamo +This document presents Dynamo as an architecture, not a feature list: what each plane owns, how requests move, how the system adapts, and how it remains correct under failure. -Scaling inference for generative AI and reasoning models presents complex challenges in three key areas: performance, correctness, and efficiency. Here's what we're solving: +## Design Goals -There are multi-faceted challenges: +Dynamo is designed to satisfy the following goals simultaneously: -- *Difficult UX*: User experience is critical for distributed inference runtimes because managing large-scale inference systems is already complex, and poor usability further complicates matters. Developers need a clear, intuitive way to define, optimize, and update inference execution without wrestling with low-level infrastructure details. Without simple UX, inference runtimes remain inaccessible, prone to errors, and inefficient, hindering model deployment and innovation. A modern distributed inference stack must consider usability at its core—empowering developers to scale AI effortlessly for agentic workflows while ensuring correctness and performance. +1. **Latency stability**: keep TTFT and ITL predictable under bursty and mixed-length traffic. +2. **GPU efficiency**: disaggregate prefill and decode so each can scale independently. +3. **Compute reuse**: minimize KV recomputation through KV-aware routing and cache lifecycle management. +4. **Operational resilience**: treat worker crashes, restarts, and overload as normal operating events. +5. **Deployment portability**: support Kubernetes-native control paths and non-Kubernetes runtime modes. -- *GPU underutilization*: Traditional monolithic inference pipelines often leave GPUs idle due to the imbalance between prefill and decode stages. Prefill (which generates large prompt embeddings) is highly compute-intensive, while decode (which generates tokens) is latency-sensitive. A disaggregated approach that separate prefill and decode ensures optimal GPU utilization and increases overall throughput ([DistServe](https://arxiv.org/abs/2401.09670)). +## Why This Architecture Exists -- *Expensive KV cache re-computation*: When requests aren't efficiently routed, KV caches (intermediate states of transformer model) often get flushed and recomputed, leading to wasted computation cycles and increased latency. KV-aware request routing eliminates redundant KV cache regeneration, significantly boosting efficiency.([DeepSeek](https://arxiv.org/abs/2501.12948)) +Modern LLM serving hits recurring bottlenecks: -- *Memory bottlenecks*: Large-scale inference workloads demand extensive KV cache storage, which can quickly overwhelm GPU memory capacity. KV cache offloading across memory hierarchies (HBM, DDR, NVMe or remote storage) enables models to scale beyond GPU memory limits and speeds up latency. ([Mooncake](https://kvcache-ai.github.io/Mooncake/design/mooncake-store.html), [AIBrix](https://blog.vllm.ai/2025/02/21/aibrix-release.html), [FlexKV](https://github.com/taco-project/FlexKV), [LMCache](https://lmcache.ai/)) +- **Prefill/decode imbalance** leaves GPUs underutilized when traffic mix shifts ([DistServe](https://arxiv.org/abs/2401.09670)). +- **KV recomputation** increases TTFT and wastes compute when routing ignores cache overlap ([DeepSeek](https://arxiv.org/abs/2501.12948)). +- **Memory pressure** from long contexts and concurrency exceeds HBM capacity without multi-tier cache management ([KVBM](https://docs.nvidia.com/dynamo/components/kvbm), [Mooncake](https://kvcache-ai.github.io/Mooncake/design/mooncake-store.html), [AIBrix](https://blog.vllm.ai/2025/02/21/aibrix-release.html), [FlexKV](https://github.com/taco-project/FlexKV), [LMCache](https://lmcache.ai/)). +- **Dynamic demand** breaks static provisioning assumptions ([AzureTrace](https://github.com/Azure/AzurePublicDataset)). +- **Real-world failures** (pod restart, partition, hot-spot overload) require first-class recovery behavior. -- *Fluctuating demand and inefficient GPU allocation*: Inference workloads are use-case specific and dynamic—demand surges inherently cause unpredictably, yet traditional serving stacks allocate GPUs statically. Dynamic GPU scheduling ensures that resources are allocated based on real-time demand, preventing over-provisioning and improving utilization ([AzureTrace](https://github.com/Azure/AzurePublicDataset)) +Dynamo addresses these constraints by separating serving, control, and state propagation into explicit planes and control loops. -- *Inefficient data transfer*: Distributed inference workloads introduce unique and highly dynamic communication patterns that differ fundamentally from training. Unlike training, where worker roles remain largely static, inference requires real-time worker scaling, dynamic load balancing, and adaptive memory management—necessitating a communication layer that can efficiently handle these evolving requirements. Contemporary libraries are built for static, synchronous operations and lack the dynamicity needed for inference serving. While UCX provides high-performance networking, it requires deep networking expertise to configure correctly, making it impractical for broad inference use cases. Developers need a library optimized for inference workloads that can abstract heterogeneous memory (remote memory or storage) and dynamically select the best transport mechanism via a unified API. +## Architecture Overview -To address the growing demands of distributed inference serving, NVIDIA introduces Dynamo. This innovative product tackles key challenges in scheduling, memory management, and data transfer. Dynamo employs KV-aware routing for optimized decoding, leveraging existing KV caches. For efficient global memory management at scale, it strategically stores and evicts KV caches across multiple memory tiers—GPU, CPU, SSD, and object storage—enhancing both time-to-first-token and overall throughput. Dynamo features NIXL (NVIDIA Inference tranXfer Library), a new data transfer engine designed for dynamic scaling and low-latency storage access. +![Dynamo architecture showing Request Plane (Client, Frontend, Router, Prefill/Decode workers), Control Plane (Planner, Dynamo Operator, Dynamo Graph, Grove, Model Express, Runtime Resources), and Storage & Events Plane (KVBM, NIXL, Local SSD/NFS/Remote Storage)](../assets/img/dynamo-architecture.svg "Dynamo Architecture") -## Key benefits +## System Model -The following diagram outlines Dynamo's high-level architecture. To enable large-scale distributed and disaggregated inference serving, Dynamo includes five key features: +### Request Plane (critical data path) -- [Dynamo Disaggregated Serving](disagg-serving.md) -- [Dynamo Smart Router](../components/router/README.md) -- [Dynamo KV Cache Block Manager](../components/kvbm/README.md) -- [Planner](../components/planner/README.md) -- [NVIDIA Inference Transfer Library (NIXL)](https://github.com/ai-dynamo/nixl/blob/main/docs/nixl.md) +The request plane is responsible for request/response execution: -Every component in the Dynamo architecture is independently scalable and portable. The API server can adapt to task-specific deployment. A smart router processes user requests to route them to the optimal worker for performance. Specifically, for Large Language Models (LLMs), Dynamo employs KV cache-aware routing, which directs requests to the worker with the highest cache hit rate while maintaining load balance, expediting decoding. This routing strategy leverages a KV cache manager that maintains a global radix tree registry for hit rate calculation. The KV cache manager also oversees a multi-tiered memory system, enabling rapid KV cache storage and eviction. This design results in substantial TTFT reductions, increased throughput, and the ability to process extensive context lengths. +- **Frontend** accepts and normalizes requests. +- **Router** selects workers based on load and KV overlap. +- **Prefill workers** compute prompt KV state. +- **Decode workers** generate output tokens. -![Diagram of the NVIDIA Dynamo architecture for distributed AI inference, including User Requests, Planner, API Server, Smart Router, and Disaggregated Serving](../assets/img/architecture.png "Dynamo Architecture") +This path is optimized for low overhead and continuous token streaming. -Dynamo enables dynamic worker scaling, responding to real-time deployment signals. These signals, captured and communicated through an event plane, empower the Planner to make intelligent, zero-downtime adjustments. For instance, if Dynamo detects an increase in requests with long input sequences, the Planner automatically scales up prefill workers to meet the heightened demand. +### Control Plane (adaptation and orchestration path) -Beyond efficient event communication, data transfer across multi-node deployments is crucial at scale. To address this, Dynamo utilizes NIXL, a technology designed to expedite transfers through reduced synchronization and intelligent batching. This acceleration is particularly vital for disaggregated serving, ensuring minimal latency when prefill workers pass KV cache data to decode workers. +The control plane is responsible for desired-state management: -Dynamo prioritizes seamless integration. Its modular design enables it to work harmoniously with your existing infrastructure and preferred open-source components. To achieve optimal performance and extensibility, Dynamo leverages the strengths of both Rust and Python. We built critical performance-sensitive modules with Rust for speed, memory safety, and robust concurrency. Meanwhile, we used Python for its flexibility, enabling rapid prototyping and effortless customization. +- **Planner** computes scaling targets from live metrics. +- **Dynamo Operator** reconciles Kubernetes resources from Dynamo CRDs. +- **Discovery + Endpoints/CRD** establish liveness and discoverability. +- **Grove/KAI Scheduler path** provides topology-aware placement and grouped scaling in multinode Kubernetes deployments. +- **Model Express** is an optional model-management endpoint when configured. -## Performance benefits of key features +This path is optimized for correctness and convergence to target capacity. -### Disaggregated serving +### Storage & Events Plane (state propagation path) -Disaggregating prefill and decode boosts performance, gaining efficiency when more GPUs are involved in inference. For example, for Llama 70B, single-node tests show a 30% throughput/GPU improvement, while two-node setups achieve over 2X gains due to better parallelization. +The storage/events plane is responsible for cache state visibility and movement: + +- **KV Events** publish cache lifecycle transitions. +- **KVBM** manages block reuse, eviction, and offload/recall across memory tiers. +- **NIXL** performs high-speed KV/data transfer across workers and memory domains. + +This path is optimized for cache reuse and cross-worker handoff efficiency. + +## End-to-End Request Narrative (Disaggregated Mode) + +1. Client sends request to **Frontend**. +2. Frontend validates/preprocesses and forwards to **Router**. +3. Router chooses a **Prefill worker**. +4. Prefill computes KV and returns transfer metadata. +5. Router chooses a **Decode worker**. +6. Decode receives KV state (typically via **NIXL** transfer path). +7. Decode streams tokens back through Frontend. +8. **KV Events** update cache visibility for future routing decisions. +9. **KVBM** may offload or recall KV blocks based on pressure and reuse potential. + +For flow-level detail, see [Architecture Flow](dynamo-flow.md). +For request transport options, see [Request Plane](request-plane.md). + +## Control Loops + +### Serving Loop + +Maintains low-latency request execution across frontend, router, prefill, and decode workers. + +### Planning Loop + +Maintains capacity alignment with demand: + +- Planner consumes runtime metrics. +- Planner computes prefill/decode targets. +- Connector layer applies targets to runtime resources. + +Planner supports throughput-based and load-based strategies. See [Planner Design](planner-design.md). + +### Resilience Loop + +Maintains system continuity under failure: + +- Health checks detect unhealthy workers. +- Discovery liveness removes stale endpoints. +- Graceful shutdown drains in-flight work. +- Request migration/cancellation controls in-flight behavior. +- Load shedding prevents cascading collapse under overload. + +See [Fault Tolerance](../fault-tolerance/README.md). + +## Kubernetes-Native Realization (CRD + Grove) + +In Kubernetes deployments, the same architecture maps to declarative resources: + +- Dynamo Operator reconciles `DynamoGraphDeployment`. +- Discoverability is derived from `DynamoWorkerMetadata` + EndpointSlices. +- Grove-backed multinode deployments model worker groups as `PodCliqueSet` and `PodClique`. +- Independent prefill/decode elasticity is represented via `PodCliqueScalingGroup` with separate `replicas` and `min` targets. + +The diagram labels such as `PodClique A/B`, `ScalingGroup "Prefill"`, `ScalingGroup "Decode"`, and `(replicas, min)` represent this grouped scaling model. + +## Fault Tolerance Architecture + +Fault tolerance is embedded across layers: + +| Layer | Mechanism | Practical effect | +|------|-----------|------------------| +| Request | Migration, cancellation | In-flight work can continue or terminate intentionally | +| Worker | Health checks, graceful shutdown, endpoint draining | Failed/terminating workers stop taking new traffic safely | +| System | Request rejection/load shedding | Prevents overload from propagating across workers | +| Infrastructure | Discovery lease expiry, event-path recovery | Stale membership is removed and traffic reroutes | + +This model assumes failures are routine, not exceptional. + +## Performance Rationale + +### Disaggregated Serving + +Separating prefill and decode improves utilization and enables phase-specific scaling. ![Two scatter plots comparing the performance of disagg and baseline configurations on one node versus two nodes](../assets/img/disagg-perf-benefit.png) -* Tested on H100s with R1 Distilled Llama 70B model FP8 using vLLM. 3K ISL/ 150 OSL +*Tested on H100 with R1 Distilled Llama 70B FP8 on vLLM. 3K ISL / 150 OSL.* +### KV-Aware Routing -The disaggregation of prefill and decode phases offers valuable flexibility. Since these phases directly correlate with time-to-first-token (TTFT) and inter-token latency (ITL) respectively, adjusting worker allocation can provide tailored performance. This enables optimization for specific service level agreements (SLAs), whether prioritizing faster TTFT, lower ITL, or higher throughput. - -### KV aware routing +Routing with cache overlap + load signals reduces prefill recomputation and improves latency. +For an external production case study, see [How Baseten achieved 2x faster inference with NVIDIA Dynamo](https://www.baseten.co/blog/how-baseten-achieved-2x-faster-inference-with-nvidia-dynamo/#how-baseten-uses-nvidia-dynamo). ![Two bar charts comparing Random routing and Dynamo with KV aware routing for Time To First Token (3x faster with Dynamo) and Avg request latency (2x faster with Dynamo).](../assets/img/kv-routing.png) -* Tested with 100K requests to R1 using R1 Distilled Llama 70B FP8 on 2 nodes of H100s. Avg 4K ISL / 800 OSL +*Tested with 100K requests to R1 using R1 Distilled Llama 70B FP8 on 2 H100 nodes. Avg 4K ISL / 800 OSL.* +### KV Block Manager (KVBM) -Existing routing methods, including load-based routing, overlook the specific properties of LLMs that could improve performance. Addressing this, routing user queries to workers with the highest KV cache hit rate (rather than simply the least busy node) allows for immediate processing, even under heavy load. The preceeding figures illustrate the effectiveness of KV aware routing on 100,000 real R1 user queries, achieving a 3x improvement in TTFT and a 2x reduction in average request latency. Depending on traffic, this approach can also enhance throughput. +KVBM extends effective cache capacity using multi-tier memory offload/recall. -### KV cache manager - -The Dynamo KV Block Manager (KVBM) enables KV cache offloading to system CPU memory, local SSDs, and network-attached storage, allowing more KV blocks to be reused instead of recomputed. In many cases, KV transfer is faster than recomputation, so KVBM helps reduce time-to-first-token (TTFT). The following plot highlights the performance gains achieved through CPU memory offloading. In a scenario involving 20 multi-turn conversations with 15 users, KVBM with CPU memory offloading achieved a 2.2×–12× improvement in TTFT (depending on QPS), demonstrating benefits that extend beyond basic prefix caching. ![Line graph comparing Pure GPU prefix caching with vLLM and KVBM host offloading for TTFT (Time To First Token)](../assets/img/kvbm-agg-performance.png) -* Tested with different QPS using Qwen3-8B on H100. Avg 20K ISL / 100 OSL. +*Tested across QPS values using Qwen3-8B on H100. Avg 20K ISL / 100 OSL.* -### NVIDIA Inference Transfer Library (NIXL) +### NIXL Data Transfer -NIXL streamlines data transfer through simplified synchronization and batching and simplified source and destination abstractions. NIXL can abstract data movement across different types of memory and fast storage, whereas other data transfer libraries typically support a single tier of memory. These enhancements yield significant performance gains, accelerating both time-to-first-token (TTFT) and throughput. +NIXL reduces KV handoff cost in distributed serving by optimizing cross-worker transfer behavior across heterogeneous memory. + +## Implementation Model + +- **Rust** for performance-sensitive runtime components. +- **Python** for backend integration and extensibility. +- Modular subsystem boundaries so routing, planning, memory, and transport can evolve independently. + +## Related Documentation + +- [Architecture Flow](dynamo-flow.md) +- [Router Design](router-design.md) +- [Planner Design](planner-design.md) +- [Discovery Plane](discovery-plane.md) +- [Event Plane](event-plane.md) +- [Request Plane](request-plane.md) +- [Fault Tolerance](../fault-tolerance/README.md) +- [Grove](../kubernetes/grove.md) ## Acknowledgements -We'd like to acknowledge several open source software stacks that motivated our creation Dynamo. +Dynamo is informed by prior open-source work from: -- vLLM and vLLM-project +- vLLM - SGLang - DistServe - Mooncake