From c305aec5fc47c438c818a42a0c126c0ed77996e8 Mon Sep 17 00:00:00 2001 From: Daniele Teti Date: Mon, 16 Jul 2018 12:34:07 +0200 Subject: [PATCH] https://github.com/danieleteti/delphimvcframework/issues/137 --- 7z.exe | Bin 0 -> 455168 bytes .../Controllers/PeopleControllerU.pas | 2 +- samples/renders/CustomTypesSerializersU.pas | 2 +- samples/renders/CustomTypesU.pas | 2 +- samples/renders/RenderSampleControllerU.pas | 76 +++--- samples/renders/WebModuleU.pas | 2 +- samples/renders/renders.dpr | 5 +- samples/renders/renders.dproj | 23 +- sources/MVCFramework.DataSet.Utils.pas | 113 ++++---- sources/MVCFramework.Middleware.JWT.pas | 2 +- ...Serializer.JsonDataObjects.CustomTypes.pas | 53 +++- ...VCFramework.Serializer.JsonDataObjects.pas | 250 +++++++----------- unittests/general/Several/FrameworkTestsU.pas | 2 +- unittests/general/Several/LiveServerTestU.pas | 1 + 14 files changed, 271 insertions(+), 262 deletions(-) create mode 100644 7z.exe diff --git a/7z.exe b/7z.exe new file mode 100644 index 0000000000000000000000000000000000000000..d02b0ae825955222a6ccc22d5114ccd9ee32ba4a GIT binary patch literal 455168 zcmeFad3;pW`9D6%Ou}S=3CloO#8F3$ge5g9lMLuwG9z~&ksvNnQBZV*x?z|JAd285 zHk0dETD7&-w)WH7pKaYgt>B&ovao|2OI6(J2_pzD7(lqc_w$^4XC`dz>-T+q|NHTJ zk-5t`&w0*sp7U(yIpDf*W!N6r}sZs&Cj!*>*D*LK3BlM^Pal`zrIhOFv=}5e(&Yq z%jeCROR$c`ygFd9-27mcW&Rg;Tx-7DXF1D~mua_H+R^*VGWl^q7p@EF(#Q9FjaNh; z`j=&qUjO5@_aXi|dI7bWE%L4fk z0N5aI8)>mnqS=;|V6mU4q~y)tvw4cA}SwthY1&v?%v1P?asRJCuzqt%vwTUD)(8r^G; zw&|)iI$Len6Yfu~iZ0AU!lVVi4Lc*-RLwzv31Ihgc(%T@xiLeHDfXCB5K{)JS_`!k zt909EprI1A!|!$-)pbDKUfQh2(u#H{g?O&3(H57OHPm8Rp~k0{h{sN+E3FNUln~1N zPrVYbT%agW@}YuVoX<5^yRPRV$G&%o*S1IM8o$D= z%66_iqU-g|;nG)0hKim2P%l>Rew^wzG>09sq}C}e1d@qN42!mzhWN~jtd{7#?h;FQ z6cqtP>WRh01450x2}l^5O1COr#%1@NJg)TSPpLPLo0lFD$0f)%m$@%BM)4|-7`DY6 zA7hBur@vRlq0OgyUnF*%;=LB9t_p{2omj*Vesmo(ch%&$RcZSwwNF)Tf9cM$YweEu z)1b64u|rYM7)L_^ZnQRoeE#@tx|Z;J*VWyPNgvdPXoo$+!UI*Bj;h}5DUAG}NkS{$ zBTLKTlQR^r-)&!56x8zF;M+{Gb)dyk-WKkstuaArUndHTN{K$kg}x>j?I`p<>wX3u zsr|Lzo49X?8o$h?#+}^UOSA37f^6 zsQ62=_+%7s_aCuj1T-M!FK$&FulSGV`n}Cb=oM7_0a?5d#T#cH$>{JOvC%|D>B^&a zy~|PmH(;fAg{yJhum#sjv?s&S(19!JXDB*h`uz(>G!2>_)GCh_h)2MMF~IP)-P`BI zjP4c`Gy3w+O=xY9Y>i+BHJck^tXi`655vK2l7$QNQO9IqZyTlv^Cwuib_9*pHqBWr16@*=648aCw)ngowHaGf@WMB}ol&0pyg$6F?5iX5RqHE#| z#e0R@9v)=8I z*CcH4e?%X(VJ8WjJn=;?L0Bg~#Baj^5;i0_@TdwSb>ZuWbp7o@x^L(T4^!jU^i*ma z{TejJ2SR(n#x?&$5ISHr;$KBPzpmvID~st_^c(}Xf~z-&&+^Ag)Od|ujfLH=%6Q+m z59)eAYX>N5e-EHR9_>_P*IP;tC}m-{-SObxQMFWO)&S1Y`wA`hU5a^da6Pr0Cn6A# zkacz~P!J0gCa#Yzv0K7ttD2RjZ)8M3+gNE#DzFDhxqXLOI8IKSFL~>YoZcw*<#L^( za9Bz>#;feY_7kf`Z&#xocEwAGJunZ$kpTVPQR7u5Vmpe1buwSf_^)|GixXMIt%QIa z``)}`yq}zUFZC*H5U4{>Qhq_Hsag(=&KW#9@xFGD6(jT-jhguKIXOl;G{_2QvJ&yV zape*TzM8WT-S`Mx0<8#@L|j5D3Cd9$4V7e?0&k%(QScS~f=x`V=wVynk9e5I_gd9# zW`L$2NW-5UD1QNm0GJ`+fw_J%J>NPstur- zqPHkNeA=?x+SJ;-D>I&7klE!QwMALhS`ug+7}VRMhjRVe)&=j-li-||Kx08rZw`Q7 zPBoryQ}wQ<45iV6XG*k1k9@6QCIRQdHt2Y?>U*7}9~!OHx>WDFg?+@`H1c-@O1G-O zrnamyKGW?|850^nMQ;uM@QHd1I$g@L7NC;{bX4F|sjXeGo*o6~v<4dOjL%lWr_$z1 zL&$G^C$i7L$9G*Dx~;qlv24*=5?1uOMc5)eiq=v!XM4M?z*1@55!BZOv{t2Mw@r!e zazOOuDskUd1Cv{S3%!|C+w!YGY2eXX=xy9xFeQ;wpQZu32-?GT$J&FxI(x5;)fJ1>;K``2! zNkd#{46);tjF1wu&|@CuuR;n-NIA|8U5j(tGsmcUtNO$C?kq^!_1)Gx3_FjfTe>BC z2)2T%trZ_)&Z{uFm*dxu=~B8A1kbEJSJj4uqUC2sMusLu@0|qW-iblbW0T<-jF<$j zL6wW3+{$Lz!(*fn8lMG7F~7S;g?8)5;;>Wv3Mz+m8_BJWqJA{bgpye|B+X*twqA3t zMhqiBJl_moMP2^YG7JO>3sxYCCdk;q?ObAO!(g2&hQiM+)qUk1k*sb37dvSI&K2j} z4p)<3Y@!#-?{ydL()Igmv%25rf@CFr1iNO%@*^+8=XKOi0*fv`@)BQPglp30HDXC$ zmOn66VH4e4*B?eFKmP+McUUAvmGOt%oxs(vHLKbcpaovf6~btJI2oQbq6|7(MO)hrO;mG9Dsq|isWL5GW}`8hbHx|)P&(`` z+Oikg&|jCYy-#g;#804)D=~T=$qbRn+9vN0jt65Ho}dQSZ}U4=T0(wrM|e=kAIsER zRLn><+M4OzSo?Y67Q*bRRI5|D)f&R=1Md%YmsV-5DB*X!k`q!|KCwGqQ8GgQyiULh z#O#>7FtKTdd*83!ncyDereNuSvZ6a5e<27a)WQPsQES5Jk}8JvM*;2QN)W*VlKZ@y z>IMb1=FoDFel(IxavPAh*M6RNsrEevC z2jYw&bHN!+9qRJc%kVrIFJJ*<{7LENc-36-5sbo=Uhgf3$iFLZGxfF!Bdva%SX2z@ zT_o*&RgE~*dW!m0s@Rcy54};OI|sDF$Z2Sf42Eeq_@~({ay*R~NYVZm8w``^>LQ9u z=x1+lq1zc8y@92v9rRpdkJw<<4~7k;J730YZyTZ~9sT{#sClnO*YZWl11}cpc3KSR_q^kWf zdel#MmZ8CDkFNDZ-eS|yMe-en zH*NE4SsU-mwyXj(kbkE89sXuzc@N7f2Pqh?dH-oJa>0^Zb(5%u!N~kkB(^{YHi6Mr ztK9o^Jrl1g64$nv8u_P5k&?qq|XE zcldi`2eV;?tXQsdw@0a_kb06;5%(HoK#T)qFy_T}#7+{$$&$5H(yw(8iCDT9i8&mr zVwwCb3S(et-hl^i0GbB%9^n^+arMddHPLZEvq{Gj%oEI`Z=hnS-!jg1{5;#5d`~pR zpl@FS=GR&&5N(cot2yqu2=s_SP&J7>()&;wzs7(AJkJd|Cr}sE3{pg>GpO~5r`bqA z7iHM*I!vLuw=jha+ZbilIcteJF7e6%Nez(Hr8}!pN)8$fS94r_5NL@Z0nTzJAkefCGinRzC*5_q+5OZzgMyE!~tsR&QPa-lGG-8-J6J1NJCd~p?;wN*x5-6AmrCbeYHluLP2#)PqJ)cP<+zcp@~B+3lZUMb%kR6 zNgFv<_762|jeJhN1jmjsOfC)$e*$eW!X47?gH5^`8gNZ!$op}4dMJAM#@hb)d(XnG z_<~&tSdxeDUziorzD?viR<6^XzBj1b`$AFu#@dnid(T3|lD~E(2H^VsI+WR@J4bMt zo{;y4$bb+6n2*YtXUKKT%KhtM`{yJ^1<=7D(1d*|anFJc-Rz1hZ%-Jy(7LR}<#?qF zy={r)H|4@OuJ4L$crgRw3A9P%6XgoYWCj4JWRS+2flf7t|BV7DMr~{fG-djma)T(P zw+6~v!e>%b0G_SHRTq4YrcO8o^uPvh$fcBbMeKkZ=`@=m7yzCNOrhFaGXW+P@V20x zmT(D>?YV#9`AO_0P#a$MhU$2wCFJdlXgHO+H1rjJ&uksVwsqyQbtT#m(N$ zbxy^)xmQWC9eSK4ys1~s=0Iu~VQ)bIcR)4cUq?kgX==30NE_-lh35|PTn~B%h7loa zgTT~Vmw7Ca1ELhTRBER;SygyWjaK+im>ckqJ520poQ%Hi&@RVt927dRLLKN%o=qpJ zX0ERkl^)=QpMyTn`P4K7NweP0O?&UouNxY_EJO5sPsD~j}|5|!SPj@Gg3VP2?1m=OoV9_^=g?>vHAl_8!=!EK>Sz`cv%-bGBssGE>cS$3Ep zCvk^RDFtS`Lk-}+{ox^q8iXb;vn;rZ47(D(h8Z(a@TwG*Rr#th*n9kPI?z ziGif)3|zpey>S8^~m>1`DCIp~nqgf&X@}$vVLmwok|n+a_SO6bzQwQ#>?0 z%&&px-%+iw5p(>-ZJ6ES!r$5~=gpF6~&M%WtgO@wM+aAmdLT9rOMhYUjMa}E{~94HuCsJ&3R`|dWk;7O#3%1 zW=O`wtjU2oPR@Kwk+A+4xXmceEzt&H+?yLmYfGxwnvLT2tQq|f+lR9h&l>tMR(P^|&yw!GX2bus7EGTIE z0VtmVVU`)NMDfW1_0ntKfUjXS2pvJ*PsAGZ1$rZ>O@MC>k8%Vw#wMU9{`Hs*>+qw! zp$@+nfrX&9nh;C5%LYt^maB`jXWh#nPZf&beG?y4T%~mr@VNlakd5BHPvO8Q0Q=(s zc;oqA@KI2EPt3<7*+5Zp1z*l1Mf2IKG`nA$gl-SO)P}b5p(U)c!3tl*G@!{R*Ux1g zlq&5CDP?x7g!=qiSJ;s@9A);%cf3SerFABut`lQ>K{`%)b$21-pKHfpteqX$MH%Z6_Od5 z3J}q%zBaNK$l0y~a_Ml7(PxhUh~ec!?LZ!pFnInELdH~sW}l*q^D`VPA(0O*I9=-C z@~?^gS$kbam$B13CR3OSmHTu+nBpoF!-AfVD8%qmb3v{J6|s_GLY1co)gcMxU7TMx zf)Yd^GB)j%GY$G>A6-fjrGbQ#;pn^vtf6JZ_rEl$Xc&P>eWoV$WSOBSM?g;!Z*ZQ?K$17yT7;~2>xEH;? z)?y*(=@aJ!_Q>x(!>F6~2+Po>9*TNh;e7nfrDQX2P9$56wq+(zWxKlN zFqZy@(~=e9@x}0b1}TQj+6&H3nNcd+P#Fzd!>(Z5Uwsq;g<*OarY9$oqeew08Bt%5 z5tWZXHe{s_Y{q63c+8NK#HfyyhbSs~Jg+_sliduF!cU7&$t3Q$8JJXR&_0j0@B;)%9axGHxRi z6W)JaHl8ZQ+d&izbPm1n7Xy(&3Pw9$pR*7*#3SJ>@e(O#5Cy)55~cUyQ_z?UmM{L9I<`8koqb-^yXKrUIpWYvdcHxGj;1 zd28)#X!bkQO;~DO)Hl#*8w&Hz?+w~(TPbX8&SmY8qHR_vZ)Ll95q=GgHpbRp+!42p z2YrL_K}&-1{0h*F<`8_2?puBiL-#-T?Q#V8QgY69LOEy3>78Vc?uHQrX|X?iplxxAoR33e7VU*Wf%Yik+#tYI9BdJ;H$1AsA00dLlRTmmC*H90aZ7N-bF<37rHby zVj8F(@J_MUZcd*k=r`r6l8%C@7$iINkn}^ZQ@lQV1Qt0IhC_GW_Y8;Y1AgsROpM#? zrF+WmwAWn(+-a2(YtKDU0u9ZYSafDUTTP+ijp8|2Jm{JB9^LGNO{-Yz}RFZ@IbfG(ou#N*9 zdLnM!If$>rwFtp1ua-{LY*d*Yz6_aK?>z+0@mA#56sh8?51p>%z!u2lQ zISF_v-ga$YWSs6iTi!V8w*f3LjZdRKKg6wc)bkJbd?(mzyX4tek>;aNSF{ z>dxQ%8HkqejX3;evPH*ZElBEc1Nn#xxPEe(#B~`^2d?zPxQ-)SP1^b!FQBC%UwX1K zsEGv^q(mq$&EmllP142mK&}8IyR=_?#3CNN(b>@=ZvhWV(2Paopoeq=LW5p@_acS^ zcr>*s5pSfK`p<21=U~ z=Z7YiSr%T1wU*!f<~KtZdZ7P1C&z8eSeq-+?vjADSt*8aY+g7bU~M7qg4KA5Wx*N~ zj-oZUl_I!q-V@w%hC4C%D!|gep;g|Nh2;c&8lbBk%_I^KUfv8r6)bM4B=}Xm;lF9Z zgUCAueivfv83;^oj`rl#ji3m1v?q&#^S-V`U;O<8-O}^FDnGP2Dcx^7I9Ykgnq)nw4*7-M;+IHoo3`ae2JBJ7-EL$+Rs$r+2{(k@t;qp*L z%r>L@G2BdOc0ABUzq=OXDjegr`4Z(5_R$?&AB)YE7(Jnf?kG-aD@cr-@FU$(Ak$_~ z6ihhkh*F+`vITqJ_aTOomTdRbsua2~xJ2~%hJr@FO899MJ(Ma6ax6T)7w|6t*g}9 z#cVDQ?>{!pPK$pI=@4MrNpI4KT}WdhwZ#1m2ZPJlh#fr{9+&cl4)UwohidW1FeFv) zk#GQ^6RZX_XCkzTeC3}^qn>0P~WNTqj8cmS2mvbg0V8`UAJ6t5z$ zd#@$*-=SIgkie|;9zpQMQU3uzDlc84yu8e@5^InhnadASD+_WPX+^601zayb$PEtH zT9h-pT12*zxpuU#aY{xbds5vGp@=`eoDc~Bk(q?@)sB^Yl6Xu}T6X0UXn!8o$eW1; zFcVwEfYAkwnS7P6oY|sewl+@6z-{16B;I8QGF$P`-#E#N7f4{SHNwPqYj~AE+SQnu zh6{={PRW#|tSE){9S!3!YvELB>tZ+9+ie*f;YtRQNM$dZ*l=?;gk>Lb`4?D{&JthZ zhm**(`DSzs&;49AYXM(uRh#a*Cd4-K7V*Ujj9-2s0{zWYMZj zS`pp|RD9*_j)uR{EALS_8pt-ON!){Cmtb|sdo*$zr##DO04-Bq=kr|n<(zCw_|@Z zFX0jZIe**-KgT*HKFBBjMZxoAWNH0+#BEDy`3L??PAFP7Dm)N>FA4XBHw880ZLQrc zS7f1ZO1Fl*t>L0jba7^RX^OBC2E~bVZcZbikOSZt zHmQOIkgr@=M6KktiAb*BqYQA=uK_r?MzB_kTO5rmaR-yQbSuh*-JTf(A_F`#3c^`_ ztutY7Xm&LG3I#kf`bX%do+LlLEepJUR|ku zS-L0K^0{@{l7Wb?W@E>K4P@nfll&rJ9?lbQ!nQ?|#ff3dCR%Q!Nr*{S^E;kodp;#o zIO3pG@HKWU-P^qj?6ogr5yiV7ksNHx!p@IJdAhjL%o!}J?veAhw7ER#xT#+GV ziZ3!Cy0|1Gf>k92t=q*fNKDf#Px==Wyxa}5rtBJ5-S|>{*~B|$10_|v6mHCw_{~RH zC1@uU|B1Ct$bl)0Vt6R!iFMe$H@Irou@S=TP0LeSTjE>f=_)0q$bxPTBhEe@ZRajq zTwsX|f`6H@upeB`iYt6-c)0YFfXmtC+aix0MVprWrTAr%_D*4%BJEkKR*__x6 z6K%J9m$+&_mxLfa2MQpkiN~MDzJ9A3M~~xodsIhYUn$mRy33Zr5ZzUG7Iiq=-?S#E zy$i5b(T*@Lz!nnNHoJGJz4l{+zH(n1AS0jQ1oX1kT}bqrIE(3(P2{T7Y<+?nQ|o6~ zF#@$ld_n`7qL#gO!wINm&H?hi(fcs`}cN2DWiw7K7KU3b_>d_@5)@N@gRI3tLO%a<`l-G)IakSb@PO>!eRO6n;Eg? zSb`$hY*Qt!1Lg5{F27ab9bzKSk|i#TF11_3+fblV^I@x_T|6&$QuJX1EJ4Qp1*j*c ze#Eoq`Pa!V)7#2!usbfj0f8oBKU!vI+g3bN!;^r!q;U;z{$P9)+xW|roFLcr- z728Tg{x(byULD6%f9V04Kz-l?dg^!2MN|%nI<#{|8-!?Ur>KT4QK@Z9SOcXyX{l4Q zR>nqja!9G&uIig2Z^@-f!>#L;Pd!`IK9REaAqYtprtL+XEB;39!h|yR87fy`%u=c1 zysd0Ig66cFv!$DiTXoK2T>l{V|NUF;|JzGg_1<=QIl^$!0Ujc!!!nveUl& z??_gXG+2(I%WUyW0xs!dj<*quNR2ssVT#Gi?1y8<{8~F~XN>te9`iy*wNGqTKAz4g z-GlA4uOf5JBJ}sT_tcF=)QxdL9{CaH8Jl>14$3;e(0J*9 zriy`$mkz{qJ75HnV;6Mlv>6m4U0)yhAE{hD>2VAm{A2n#UtIq9srX}&Xd(pD`Geyz z=~ zvtz$+{d>e*oYZ;w=ScWPXeQx3Tz5N2MKnPI(uDk(VLShhi%dme$1g*ivQ8arM>&(8 zeV5omdg`~eTT=Y2wEA0->)HX7gN!Xx$`+_Fxg-?{>j_X{5X* z>OV%XL~KL6jVVxquq{7ZZXAXkEm=DCeh4bp`$_&-wUtyBK#5V%~VDBO}#? z9bAR9Rj;7lE#k|9dd zei-|{Cej|_cR#S9FinkmE#WH3&L3_;We~ZD!~-&&X-%wCcwr)uvaQsb<$j#s=VXHX z!~IRzF4*B~LR52|xQxMtkuPX$`7~98DGJi?)WCzkr>4^9dM{m|G#w0T`+zBu0HpAm zMCHNtrVJiTm_3HAHSHAz8SNGQkuyDjOoE+3Fhv2FLoDkdEZ-;O=Aj3^#@h;fjZ69) z1Ke0K0L}Lj$_A!syp9Ogfz8L@$ucQLQz@6VYwg&6Ts;Pcjuo-R(}R^|6i5WM>nPV%}ci_MJ>|| z;FwG9(^i~eXN2m>MqzYTln+=hPQ2t0k7#^2)?(->L~0Ttx0B#(&b-ibHB zS=wm5*q5xcXp2V#$>okuEfPL?Q7C8|-3paVD|Gz2?#HQ-G#kl>YIZT|7p8ocuxTwW z#c^Z?#IGq(W7v}g;2!ZAc|p|54tY^1ZZumFat=K( zzRWI`Y>*?c0KXW4m1Z~SG>ut!W+G|)rsFzW{QKvp>dRd2OKY->?8^!HTuk_oNEpAt zptv>}7gjZXH3BA6?P8>Sdo{eXsfFT2CVc#A1miItV-Il6t5w{2gp2Pue16J(iPd6M z5-+oh>3x&qklm}yvF{7T4Mb0tuLR@R_eJ7)cti3%$G=WGnDAI*Kf%gO?CyLBIqyd) zJM+bLfDj`)6Y-`8f59pl%O5k{^Iyf<4`QzL9?O^zVQg+rr-0R5_)*wS50f)bjY$m? z$53zE$&{J_nqF2Yeu~)wiq8N|!5IRpmUIW2f?;;>9rh#6KcPXY>gyN2#v8Sj2pEPcInh@acV_*qWsEv138+i^Q4m4UMrd*QX6b zpTWO?P=VS}K{h<{j$QJ{O+R?bD}NmoyoS?JaREPt(b-Yqk>z~y$Imao56L}2>GGUX zN93UG>>{eA)U1zuTw?dD?9A@tcJN?aMa*9)THrBYXs#mWFA|r0EANQ;vA2=#l7fB{ z`p1HPH?~rml$5{e^qMUmBm|Otdn~FFn zY>rK09#$3n+Ab{Z-M3ifMO4@#Y_KNalvmP@N-G?*>p9R{@kv{ zr-9xu|Ah~;8bAroY>|LPOjp(76XVJ!ZcQ4)VnQbkC1D%%8m8%a{Ai;%gMahL16I;4 z;?wSuSs;qOLDANeNvvuUI@uck8D-J?%N8K5nmdofi?A;$M?AlqyB@Lm8y5`3+9sKe z(~8LcS`8B*0VzKXR`WaJ6}mgUSAjp#qkOZ#W4Obh%ugv;ih(9|Bl#`Aq;8&sH}IZ$ zV{gpl4b%QzlpIy*jUZO%K~aw=hCs&Z{cSGCga5+Fnz1<>7{1>942^ZP8G8%lnlZa^ zo5Uj+X?P&926`<=^-=dzbi+ei@Bu(JlgRVoKmAtHpKAQC!T*_bGaLWs;y;F!JUWc6 zm&xciQs6tv?PEH~PA>)5x7d@}NV=__x zu1@Qk`vaw)2g+`=M@FdetY0EkAQ-EdjUd>9Y9kUs$SWZ&KX342$|f$|xxYWR%7UI!-rQ<7Y$oStL_Cs<#IbXz_kq+u5Km z8WFG1y**d~(7yE}x>b`XAn5WEp?*9mJrHO(;Han2r@!f0w+bu+^?SmD74LVokX0~t ze?*L-9t#3d;#vxdGhyxo=lVfgkH2iDdqM<(3?f${ye@vqe5Yt_SO-;RS`_2~A=msG zv;op$expN(mNDtqv`NyxiC=vkk_V)}P3N+05O4g{W}(5*+ZFEt#{)N^i1rV65s<9J zuM5A4GmHl&_Q@A^^9iv9a($4G&`sFwqWSoHo`U4F1Mm5w5newO(?jlMcrN}zGw0PB zx;)$p>@fLi$f@FJ&3y95e*9j#xR~VxIIuetW4nt|I|zWR0BEZSL>P*VK$C^%hq`NoJ6wlZB;w4;0k7hdR-^2^p#Y3WpaRw9_i^O>pb#^rT58cga!&|WG zy=yGV_`>*PWZ|cTJkYxdzc7eD!~|pY55^fsY>KYehzmJxuuVGj`BVdvg=P-*7zy3* zx;n*N6oPJs?AT1TTw+GI5k{&JHqL-}!oS$|dZ+rZ?O^0%oqb;a3Ib7W`Jy zFV9(m=@Ubs8ruEt%QN6|69R}6P4_iof4;x*cJ~Y@7_2C%2(dsI7X+|p07)mlrbjsg zMa-cgtDJK)ZS4Os(C~S99K~Fe=xT_vufa;Rh@T#GnMPp`kY+M|Q9Oc}1fk%;EssHo z7{iyRCUA}cB?G@iU}D+tku!p={v^>(eu!1NEOm+27f|J-da6WBiJEfsM6!6k81*0C z|9k(*;cGY#U=pEx()QR@%P>Z+U?u9~neV_QB z=gpU_qj?>`Ma!}X3Uqtl!5NTFq;lYZ$g&!2Hlo8Do9*61wR^pX!smP6shsm=9rm1m zi|{X&a08Yp+Mr!vBV_Eh77!~5D|m;N^PvB(x7ThXN|>>C(d>U!F_VUw1BE${HcZI1V6r6hLa-j`KsQ z2jWfORl2jhEkXwfAP2FXVssmH=S09jNE#lRalECe|IM{Y-syHw+?QS-iwGNaXYMgo z&72n~_7bd(QFKG=d!lXtjfaJb2<(-{kUC}iP(Oh%`y=w8j8Jflh2^*Jy2B*&5N9Rv$w*& zpr4s7Co>Ug#fNm7b8R_fqPYTvXswSbz;Wm74a%_kncKQ(Kl*@JaW z>}mRHE(=4pbPj5;kX~9+YRkky(k?DaC)PSjx4vq@*+9Cp z1dCB1*R`tls62`iC{N&U$U}UuJL~SXS&++%oVp96hcX=xJb-2@HEVp5POBEa+(mZ=_RL;?DD;l8W~c6)~bJk#v5Nq;ri^Fih!|PS*yaha~O5=+krq>dG~R z(xpiP8*+ipjs<~dCkc!b{i^6pCOE9!YDWi#Ul*NaSoYjkx|3FMOUd~!0i|gOGKmK% z`whf>4L?3?+(G&R=Eihh>+4Z*)JJ5t_uKGHQdp|E6u$ln7;g&A7}>22;)_f85Xy0< zgp6~#AOiqHcYcpm1?(s1JF)6Dl61Nrc2#NXt2C_AlW(XyJ5h*EPHE%2mvP5=AG3Qo zKPmF1_!4PIs>r?1B$P3ieMBI3TzOxv_@@UX*+v8zXf${$ngB!5*)20TFozBoi7Vl3 zuYfILb{K~BCh^_Hd`O^+YN8PAQ?AR%Ql-ydrNd6(xY1kjKJGZdfKx(~^9OhqiJR^< z@%*6`^xqfGMiwB**&V>RL6%WmGktaMp!jjTi8u*f-MMOU67A_gdn%0+)(+sl9*6cs zi8k^x80n>4Gl}%LUPzx|BCV!zYH!^Cvc$warK6Y+`Cu?4nb7vcDnfT3$@dDn>fsb0 z@Y8TC1tQM>9#$W9=Z}lH4}F^2x*rA=a2Oz#=pFUTa4p$x6Zja$DxIyenl1srhV{zK z^LIAltUQ{i9SUUC#rZ+R)F+&aY4Uw?&YB`IjZ$j7?{oLtAlUSUG&?#WL*jh@ zCGIOV0o&A3-wujU2YP=P7BOy8{`g>sLlT&pud}M>Fchcp5pz6gFBvl!{ zNmyQ!hGj$yA+t+$wB3-5_fgpPH`cB;TKCp1g}dpPb;xE9aT= zd|h&;%+{SQ+)X4OFig{?N=}gwH zDiU`tGW&%@tD^3er~t+}z7N}ly8w!yM-LBurXb?P(QW;syN=3D2@Fo1 zAW;U1fTK7zMw0!U4wuuA2oJ5MuIcH5Y@H}B=dPI&;Zd%c?AU3&I_BuzvEF@pVxifm z?z1rYs6R+H(w$QPkq=~&=ZAC79@Y>{D=C8_N(T`;XQSs;wvDhg6%jp`?i`G|{2Zf) z4W_d&Hvaf^y0ZMR71n~|SIzJ_$SjhH_NLuh6vSNNHFfbDW>{a-z6j!Q9}uaA0|xzm z#?ieE@kNvZiS&X+A_H%{OY93EvvE>}9X8P-sKX|hv&In!$Bz%K+e@}7fg^96noZ8* zCUF;}chfdz7xBUW5_ zcb~uMQ-q#$=N16dwzYhgsXO1I%bwE1EnnvA&cEWuuL*zY*QJ1de}?ukE9i}4Gy3c= z|I$(aAm&g&d#_U4q`XeH(tkQHbW&qwzN^Z*sjB$n$UCa{>q(9G=DWh@V1szDwrK+~5Lvv7V2 zg-p)wQ6BJqV$u+dW_d@r@2fQBb?4ezBU4zsT2RQPowI-2KY9~{a((Rj3a44I+3C^`Xk=MqKitn;N4w0MgQ zXc+frLFE<2r|39isnGjA4&QtlGXxRHA_@q&q^U27h^i&x0fK^{SdsE35k^HE!$lM1 zSK}a4gtt9>CP_UAmAgR(XrP8QXh(N`HlHGWYaI3OP^)_!_3NlIAo_$Gp7jdvUejLk z5wz7%Qi!M3Q%0ebqCVYux&d(>L;Qt=h{1!5h5!4au6KWE0Id-}(7DfXBUaT4?ttpX z{sn5WMm!86BA@d#RWl0Qg37Ghed1bz^BCZuV~bi6Hs6^aC5v60Dprci#2vEfb8)RZ zGbBC{*u4+2gCZ6fIIIFRak0b!V`03_kw^f2BL=qX1%Mo>J?VZCHMTe@?7^&5STS3YtC5bGmAeel*-{-LA(KD;Nr ziuQ^`8GB8Ml6fBTud&CzQJ6!DQog9G}?zI&}a7 z9?@O0#5WpUs}?8sP`1dOr$;ve88dFV6| z9#D<0#Z+ujFrrqj7dEWQ2Ibi5(?UQ=9{l`!;2(XNh?@L9Bz0!M$3 zjSQz<9oRLxxFj>;2u1J792>FI{Iu{1e@1*XT1G|%R>>&M-i~!7cz+Zir74ySkS1jc zc!}u8E@+T!=5NR%c?o4nRkx7HfdLgiH|1PlBKbJ_`Hy+9u8{H&_3Dw!;9{^Mc8T-g zFQ>a0E&|XAy9EKrfi#g&8!}#ZhK>4kCssZ~Yye0!W>vIo5euNE-|bgp0WfqWEf7}~ z(8U$FD1<(mskVIT!u@R3xvjE-fH4Do05HIG>s+QH9mh-!PN2t?u?oh|jT}aoiija0JG#BX4VqK{Prv(u z_6i^qt0=@Zc2ah#u{=)ycoGC+tf(D2&j3xuod;lQbl(E0nv8RUnYWN^#25gbb>d$u zu{gHG-ly&-a>oHGb)gcNTK!HGqb3ME7?}!j^^mtyx-e78g;A+GxgMO;0y`94e5Uuf z@8iut+r_I#L!ESq&xo+A{+V~9^u=-F9Dj4E^!bZ9L4m<;y&b??(Dvq z{6fAFeV>LpZ!=Y-{%2hWKeG()?b;sW+b+E|jn;JbO`JX!woXvo1Wa32VH|C}5wa(B z_Qt3ap1mPyN{4uDCz$~-;au1t;$kQYinq?NBi~vS%IFBP+&775knRKTU<(F^TzNhW z`+LyU&^Z_z&Zj(XEG+1Fv}ZuCvFLsTz_>1=8!o~DJLSZIKY<2d1Da;tcT)*d#x~Mq zGG#1Jw1e1;DPlM>nc8#Ie?kRtHq@;A*erW&)}Yv|g4nDPu~~(&S+2%e?#5YXbE;7M zO1qei!HO@)@HH;Pvnso2K8=I!H;2lu&yU>TSQ&sHTJLTKzz~*HTJc-XSF3R~69;}h z>2Ajrg-Q`Gt(T|zgMpEW_7K++pJC#G9|x-1L-K9R0V};bo+bM*n}-@pfPgStln%)7@nGcw^nk421lHv^yK zLtV<$0R_bvM0n`SJ)49Tvzo@0OylLZy1oV<0wl43B%dTWosgfyJw>Ng@eTQ*G$zd$ zAcDx#bGCR5wSi@|=ShAOUPyR@>!{9AOhq)*@EfYaPv-v-Z81FZolgYsrwlLhqAc%2 zd61fLxzMOOTl_D44}OSTTzcRAC%}IdV+1Ae>l+ORK^3-C-GfibW@n3qsk)!z;flmh zF<#Zto<4Phq+aTaFhn&Cn2JF}ACUt`ofU(@+5Gv8%Gl}b*?`A!P$G5nw**Kcxgyz6 zzf?m@=socqO1s1zxC77aB%Zar7RbsK=5s#4bO_3RVo5C->K#w>8SB0MOnBbfX z&X3|QTHgmJ&?hQ-m2W@3{3uJRXrr7Cd|00$zi3d!S#W1CT@db`j1+ovHaWk$iHsGy z?)-8VEht7{Q}Zk`q+Sj}A$%i*&PQgU*kXID1jJH^%$egq&4PZWDqvJ+v;(S zxn#6&e+LP0$qDH#haRjF=!{KsG1n6UVucx}@Q8n+_KE}!c0#ZPgp}e}%=ivZ5xh=5 z7>oxLkzT%<^h&x>n{L}+ujH@6-cUv-KI7jd_Rcc(vEdf>(%102Px&7EeL#_u!=Eia zI^}y++<7Ya@>?E{^ahdMKa5kdK5TZ4(hGRikr#JKCwKUWA1oa{3XS1sv;3h1R@`lq zKcCB=UGhiJPrL6c{NIDQsqPckg9*VG9BeHT#lQzPc3%=+@X-D@qrNSS#YYNB|D*4jKAN%O}hPG#QSOZsVTe{KvW)sH!Ye9_Io6dqbSwEcd#<4c5Q@Bh zfM?L_2u#3!T80~V)C1{w()WKu5U>fLo*#oz$j1H$Roq7vA4OSjhvR1t;g_^>k;q4+ zU`3#GPpOWbJ&@lClIfO600(f~CQB>@X^?N5A@dT$)B?cMT!%xFwr_SLAQ_p7v=;n& zbEbukGQcN%j@JIo@7?QjJPJWVZO#M?Fay5ff(wKx60numiA!-KS16BLfHinGjqWn< zQ)>#mX~w`4Evv81M^FxNEeNv`bSsFX62Ub!;L94&PX>SK0(nnp551}Z zmp#^uxI)x8ms!giIXD|e8k2C95yYp)aKwKi&KwihlQ zR!BEcWwKVOEpZ2cpsCpz{UAez;gSwtd)rj2y&>;`cV32<1s)&A@zW#-4h;H2Ux0Ra0c5CAu}2i(p%bNC#p!b6L5 z8G#9WG&OpO9=RIH9y6rBPzy)?xSX#3u#I6&opW-4u+MepC<7!0LKS-+B|g4Hm!mPa z*K%l@R_v`8RdK`Brf^|?<=w+BRlBAjN#f<7S(*Ww4qSdmRDdcJp%mz|@}|W{88I8g z{t{%#5Vr)hHIUfI+Q#XG*jr~Zk9f+cwj9-%ZMwo2sc~DL@BBTAcY_+6T;OOR+b;!# z^3Z}-N+Dro9$Rk1w=?vO~ ze^#*g!(+Yg zm!rn!p$d+^bi#G;dFJ8c(|Nd}=@h$dSukD!!x&l`7tbKP2IhUu=IcXw=|wJpVjJK0 zN`~(I{Bp1?R#bjXPl5AXU*m$D(5o|1q@o~HhPc4@k)@%sX_=8lq3Hd#v5~uRlO4GY zH@W2zge30bkOY08@*y`_TJ$N#9{#O&?<1ga{Cs5C?!pblE%+Di*{8Ti+#>d@``@?{ z(}trTSeL;}GAaUrgcV5oJh$aI8gvxmeUi6RAVY%TF4E01yfnJ`ltp&4h{}TmF5PL7 zeSEAL@Ea>~D0jw8HmxY={tFeP4VcFRh6%`@FE&710Gf9>Nw9yN&ZINJBBXFqCwLBIHq8K=gk7Wm4)51+>c&r-{7D+ps5e4Y4T z@Eg&57n1-wh8|LWHk=3I8pC-o)=`Kp=gTeY=ma(v!I_5EQ>f%JF%3+Knb5RNY{?;_ zKuv6HywolhK;m&;i`=RUk?T|Gb5Msii?UYG-k(W?7#}rlh<&M#WiEd(+5@27RoZ5mtOTuG)E|c( zj`M4o{uoa5zuXp|WXCttylWQ@SC;pHs!u7eBgx>Y@X!EqCkLUzC{$oW&P?79Me((^ z$XCJm6sV9^IwxpX^pL%Fr(@+*J5KnVn(J7(ARiZV`XNidAlljkNF9@Hpot~YKYGYk z`;umjw*H8hw%BCbftHNOQ)vE4t+lvC@wU`H;yciu5s7=hSr{vRU-7?TFGjU^I)jpgLH6 zmSC?Q$cQce#aM2I?#n8h2nN)KsKJ44!@HuN*y6YMFHpUA*~6f-gFf+{FUH5wr4A4q zJ#5&cc1#9N$cjW88^qTS;a%)5J6R2yqf%P~YxUdA(FTS1TJm~T3b-15G~sJiCG%!^g} z_yU+w#blu4grSpM$vk{1rr50HkeVtsBdjIAmfTDugu^nS4BsLD4(3N{{}WXe1YTH!m< zG@Hv0(@{zr#gJ_>9REj@>OKQ+j1PYL#By!}hN(~738CX{yN^SLKG7V57eA56?<1cR zCyLSuntjAG^!#jmd0JiIfM!zh!Qj{kh0BQ-KVW~JfGtNc;-dM)MGBY_dlAsee31_= z53z}*P`Z0~A8K^}9B9dV`o0cTtEOuBbrJJPRg4W9U>}B3E$%_U3sCw}t!kkXlmwRH zXA(!j9%LH}caoj_+J-7^^=p4N*r^)prYZ|)qk0ZkH*S9X8nFHs_!@(-s*%lz<*RAz zj>)qpry(uYAoHU-w)SF=wD;J7G+=6yF$|9*{r!AV_du`8z2R3?i>s3FP2B-Zci>YU zm&I*9=s55)sOAHz7ID*KfMqVPug8};>HD8JDfQ6Ia3TJV!#N<3(IKsX0eSQ%Zv9w)Tkh(lMSW%tzK zD;;G@?HTxc?ZV-buaGvl*v3c9F1C%sCqclX7CyQgc(CR|VPrLJr*C_djf+g8TC#ZN zxX1-md2D11ezN7m>~WFPOZ8A$86+_TBff7GEwew>&(B4HF7|MD+o+ z-$eDn3->@OlfwTMEL^c4ngyD5`zqKl7H?18FsQ&Ykc}!07 z;wSeqzRSHc;=)~i1>fb*!6!}2ruXAo{n98yAp{}{UJym5ph}7&6XXfv;#Q0)dSO>q z+0l&zO=8>FFg`~KY{EluwlnM?MSKEF8L7E_CdK_0^Gr@UcKP@*qjPqzUD%h}Do?{D z4UhAB;X$K|e$(itMkY17Y4t|+syBk`F##~Jgf^<@($BcC6^F1({@}QcxF3Bi-CBcy|;J}?0^Ikpbql59E5p8 zC9U+yK9~Vy0=x^um$0EW#I5jy@Ieu+c~QS9@k%9AT*VI-+i(zm77Yii0HZ8ApJErH zR*GGSS}ArRYW15LK8=3Hg$FZHbofZfoF%YBqRm+e%zW&!U5wtxRr?RyhBu#O^qhU4 zqL2b#I;0Rc`^$2`Vf6i;QTQ9o#F+Srqj`kJMx698TRzOjsj6g$CaxC=iZ;=h^x<=} z5>v$yU_ke;k^7Y>Lp2lb7@j9*_JTeL_}Tbdo^dr3_-#FFOG1vNK|PXB97c2DBxBCY z!>1>aen20-#(B;=F}WbiyQFrJOJctCU;t0^fFWth7y%B`K_euRYPx z=a*t|Ct=Se#;-s9j04x=65EvH*uyKwbyLa*|Y(#=< zh_=-6$R)5NiCdr$NDLhs7a8MNsT>7_@I{P538OHI3*&psWfl@0=mOLSrq6(orW^&Z zOnht$NIomi+-ANu;z_3iD&!3rr#K4?+-4qHfk5+eP%VkmZI$q^sTuIvM3*Hp73b!w zHkw|bS#mC2$cS7Dtcx)=IOg0s=$Ty6^N4PQBUV(x`ocb#E^!#M zN81J><1>a`;_PLV%hmlkrV_p+bPd@+HDVQ2ke8o8hyW&My<=~}{q%w$iLY>pihoB% zBqIA@z~L_i&^%c5t|5$g+uSB`7Lvi}rUro(F&H-tpho;X1?wpZ3u~Q_6mO8Y@P6f} z-_CR42=e|n;Yz#?V~=8?+i;WYT0g>6c@u#@Ji}fmtN{k%w`4%dIs#uYHdu3-E4%XP z!^vLd_3G6bDNF`SOx~kNV%)htNbBjF#GikO)hh4p=w*LD91EkH2z$&;>!%lmlKmWu z8>63XON~p9ScOZ_jM9Q2qUPWPkX9Hc7|Bd@awVD4Ab*kA056rvUnE}ZV)Aoddy!a# z`UsDYXY8otpRlG#>ud*Tbg>H1CEkQF3oSid3__5HPeX|;q~{Z5)gRG_coVfy278At z+zsPZd4uI>HNG}_1|)@o`RHgEMu_2v9wZIn$zmYb&<ZPXI%@_=ATWVg- zrngkEM#Pw#BSUF2)rda;79-*jk22WARbW2_;VMGsY@l=MIrcWDL6Y}g=Gn_|C#T>} zz$N?hi+Znwruz&Y@z%ws@+oS>?@#$2{XgaV8gauZ-+RQxr+i-{MxOG0kvNJiWDvwB z$p=xzN2h#WBi>5BH*EqL;KF*0IFs2gJd96|pdb#8ke~?hI`JX`1+d&RWq>km-HQ|$ zlFfs3j?i|bUm{2%cJjz0FPK#BMzLPrUW5~2A(MxdRoElh9{9QuH*UenIEQ4Dn1%+p zS;^Y##Kq|?8ebYEJ4UVta%_fkM7T{Xu;HZNP8rWY4C5Bef6@Tq2o`$rEqc5f#bSe1 z$6m}LAS|cc^KiYHV^#41OAWcj2J2soc`~%1uy+==k|L)QM|!42KhL8g7G&T=RlF(7 z|ANH>i7o+Ocm>T?5Ro16A~6qvlf>!NaFJ+Poi6z9M{Uft8OhpzLsW(G=pggfiLP&1 zo(&T&%xzX}A$mMTRvL*)VlB!;;i1~VF$OW^a6up?>QK%35R z5}8dr^<7F`B9C_wBeE86;jzg%KazSPlh=wlc`fYL*7cHb9j8gW2u0B72Iy(O5XF+AF8&*Xu`;RhvWjIZ4wVNC`0r973~;O z<>C~mQe1*r@ezb|;#>xc33H;@)XU|knoBr;@09O7qBi-S6T!EXc6DEO#K@Mc6qOSfW`io#n(i0<(B-4J?1HZWqPx^t{i<$F9NKCT*9_<-;e^Ioj;J)*bb2t{O{7W53s$J^F7uJ?$ zMSJp=4%3|#1eZM7Xpi&WebJsF^u`zYcPQ3B6q}xj|2F(bgqA++lX#C{le@tvW{F?u zm}~3@n`<-3eK?3bD0COm^x+CP>fQkU_E|a#e{+_W;cwp3k@)LaItG6SE**fsgO;9w zzeAR0p`dRA{CQeF%7DN<9J4$*!hiP~|93ZHG~CtvGm;<0geB zB-Sg>6k-X0mMf5YmZTNO(x^vpD7aJo#T#6CF}A^2@yS!U3@7(xp!eXB?V=yL4X1s~ z#D11O%OWGOyl^|F0vP}7kF(fN15<;u#k<3B?&7gvfU^N7MENwlhaedYOuiGa)6!yu z$+a))BYzhZJ+Y%ZltnB9e7f@wU^nmxmjCUH)CU(cQY${{h14a4RQflYdc)q0-a`wg zffutNXVT%`FX4K6!~JsTiQ$5{c|6^=hjYb4fDVG>Sulx0!x5mSJy5jINV0BfJj(|1 zRt;3SMphYU!Ql!gDT_!tIfN)YS{8O<4Wn1-RIJjMEK6~I;Nrv3|G%W233!y%)%Yiw z1O@~qBGD+IqsBUlOEjnx#$|>~ArVkv&M6=5czxCAFiCa+VewYIjl^0ob1 zYum3{t!!EXXcA<11y|hajUx&!EH2FdckX>>2?AfA=g;$ydEfVL=bn4+x#ymH&bj?D zPv}#*!zZdBsxBhk!-Sf+Gc!~E*V8orA)KU`0>h=6GUW^OH*IP&l+l3hIRy_rSrwkM zyX<%lW=AZ#{IG=^!#m$z{^8(M$)VRjzim?{)9z;aM%>RWT8lQ1w1~YTOmxw3M`!1j z;<2egE}c-kD!g+`@DxVbl+Fs7sVn+NcW$wke|VU6{qwE&|I#J*vt?F0L$w7|cdP)(ptg7w zNC)L%Zl11dXM9$~Io{qK@s3>|wpUs1&0TIzuOaVjP;%j)tQwK_fsjcNHiHM>acOKq zT@V+5-vdgRORQtn;Y?4=&tqxqaB{fg6Vd&6rtIW&xApBkt;JPE%NDcd!+XpDCumu9ah zRtwNYr~RS{LZhmRne6E!jZZztngUeeU}x-v`WjFWJBIBFYEGIEewJ+^;$C6V#D~l; zeD2fR8?B%738yDd(IK#(?%L%R5&7 zCf!CV6PeQK!>b}vHEH2cOAyEEvhl;`+=1?`vuJqdaf#3zSLtob9?B%$VxQ|>NPgi0 zjmzIIbN4)2loX3rSw^@C%?_7fGAgsY&*YX_y~y>`vL|8FEP9FSdk)cdAJ=T5aJ8dHNfo zBsc|tulBbbkBNzWKFq0sf|cAxcyXmiJ^y3f&Ev9nHu|T(W)5U?imoV|AP@fZL_E^| z5x@$Nud^m(_lG{hhgVL+NR54B*SIoQ*SLdS-Q$J{El2FZTfi%3Bn(;&lJoN)OBbrF znoG;#N6P)07{1@mtv*9DmwI|%m3f*tmouYvJY{5C%TydMH`#7kVG1aN>4fQS4gTnPKryM^U+ZAUiUA!I@X^c$GkJM&PLO5DYJ5&s;0-$nh}*)Q3unp5j9u&TMlE! z`YgMwo~vp{2=WMqe3gItR%fINW@%ytb+1zwQ3nIW{h-f4DfSDQMt}N6Bj@bJso0Th zU+jZK)Vtr8GWmNyPS6_;*yCj$ebV#;CThgK25-tMDmuoEXs;d7F>Yjg?a15(AGw>H z2Be$|J_>nTv-)3YU~k@rUE!RM+G#(xAhEFG=7i1TXW?ZG38KJ`Fqh7pB0-i3P9`yy zEs3?v^-WQ8`$mIDU8sTQ{zrbvO`O`~%nBkj`=y$1mj;=IrH47C2Njg|hnEQ_sINK8 z+qQs}Se6Oy6#5ZJXpdFKWn>vyf@5us3nVGH8$t?_vGdv6sLMN7TvKJ?3YEit04Jml z`GoLaC-PbArbJ#uIFW=eKL$=}n<@#-k@l*>TJ7$_T1Qe`*2vJ5bBK`4sgoRt=+1s0 zCYvtjV6H3M-tVclcZr~d4Aab2@}lwZs{i2>&H?k^q(_oZX{QY_(%!(kxntgBy(ORZ zCCOT2vLe80(9ffd^ySh(%$S{+QXl0@$!UzF$HR+cXJpdX~0WcweIX?MDs~ zxR zX}XF+o3ILz+(qUT`ztiDYUzJb!X33SYT$%%qEEH7%jE_d%D2)&1UtFFG_WN z+{5SjX-uZ2Crjl;a9gEzH4ENNtm7*6A#ZS99p*UV#^L8mz9W0m?g6GR`O1NRhGK%$WnJS4BM=B$T-6g9fqnUci{laq9?)p{nOt8 z&g|h=7S{aP7hq0Va*9hmGJ{duCC0m( z%o+HriHUvnEMcm3@R4D&geEMtjFRxiDqR0_0pPxZR^^*!8piei8kY_M?S6qeCJ~xa zQYjx$=^xSDzrc1Vb@q`PKM_LJ^CqCyO3gaXTtNMFI=CgtGKF5fNl-1tn^%g&8!Js+ z!=aBE; zgjNgb*sty=*kd7j`qhNXvIL){ zAtVLPY$2J=QBnH1Tu+zr2W@%x??u+c;(MJsvP4uO@lq&1J(Hv-ewIse>!jHGe7!yY zb*oz!;EwQ%Jn1t@yD*=&F`rh3Dl1j~oqXCqO&VXh4-ZYt&P~?vRo1c3SxIlE*2g}z zbWt&4f5BAHwv36eFJp&&m^Ir)+Hw)OPs@l}7lvF5$^%PXt}@qRHs-`_>gA4e=6BdT zb`yTZoMGs7y?RI1hqOoTYD7o!Ym%(s$LN1z{b9D#*i1#Bz|ooV#iS&5{YW259G@wF zgx6q~D2@96s}u;+2YVNG4#tP9mHc7vgq8L-8{0PL>Wi%YTJ(pwvm*J;IJ)|^z~xo3 zae>QEi*wMjt2lPH+`~Rx6oW(MPk#)r+^y*tKFkF1DS1*T z=8h&022B&BKR!L;AFW`-gYXvlkenFezZK)?Z3t%I$7Ra5bKVeKsR3WQH{h>nz&B}) zmsXKFdd0+YpQ@o+?ZZkPfBO&X$mtvzj%G-iA^ue6GJ9Mx7|4_lqat=SSII7TC;*4R zdBpf!Ga^GQ{IgiDBbB(ra_R7E=H(<=0qwgh7YNxhC3Frni`o?ZVdtZqIr@@Cpr&7@ z{2R_f7>j0oxMy@+Q$_l=qh)eTB@kuG+sOnhKN1i`F&zS)daapW{R%JY<4vCIBfC&v?X>)d?QnamqpOB)d{*jaM(I<% z*y!$v6Xbd(t}3P>F$r9x>G*WVFshP{vVI&Y@_k6un2mCTe!j^|%#0nc4e#8!;W#M+ zO=y$Pto~f^G-+8L@6R6gpCQJ8u;z3&;LT2F6gx7qW{^HNNGWX((Tmi2y+`(D=j*-R(iJKuki%Tv+2GMA^K zcYQ8TMehtJkI@m{6z7&3UAyS^qkQ?sjOpjC5Cqqps2I7D>r`uH&ob3ciXgh{)XN9W=g^e5pQ$4PEl z@Xiyt-3ne~#dPF0A-q}o1mOi`KP?1iLW9Vxp2Z2T)q2Nitlif%vgnk!#ItK$z#28q zLLWm0JBPzW*{47^x06Cm-nRFo75g$avlIQOg_?z|m+AUr0Rh_ECW4eb zuGuOYXZ0Qr<=ERsZMT9GE%AoC*%ULNsn4F$)8VpA`QUQB8V46^`WS03wl-C;16?0 zwyP{C^h?7Fc~U-Vzof0qXO`Y>3rJyB#C zS!8iBLs54b)pUk42d9rf=y0a9H@lwJVbjfeDsz>6NIv*8Y#>$oxQ|QrCi#pgbr&zl zPa;Y^UacQRlxj3zE3EFYAN=9q#!8x;WbwZ#IjOmQ(sevd<^MEufB*r;j*tcTVEH3H z81B}UEWdue2v=A*FZ9!k@JdLSVinFBEN2hS`ANM!se;2A3H~u^k~rzH*hGUX#2>q{ z&O2@e?vXUY4j^hmBOt}Fi;aN2#`>a(K6J71lCE+7B3bg>k=#j2POoJq5BweF_~zWq zsn-i^)L)NAR!ml|jgDFc6i~Be*H#g9V>!l}MON@4Uj+S0qd1t4C;rMs2EZbyo6Rr- zaH6b!FwOB<;1IY4K2~FaP}U6=5g-5Y88Qr1Dy%SkfHgsPc(W|t0PocxgezK3s;`Mw z#79N~(WASAPDQgeItnGbQshuj(QA^#%dhN$-#31N3%6*JahOWYkD>52w*)kPn0k+ zqn6k6c$AFdcS#5|0E6Jx=I((n+-wOcnkM^2zWrjkT4%~)x!Dq1NJ9mbtuI1=*p}~M z4{XYy+w2H)=X9H)A*3mKs?ik64O7S&CYDYHxn_LDj1qzj$biWz4g>ZBd_6qmTLR}8 zXuU$yIwSD>&5poXX^6c{6T4~jLOD98;i&sU39db7rmY$M7;E>VJ-;)@$`Y2q@Iw&xYu4;Ar=Tyi}K*%<@7un^_}o5!F!Qf)Psv@+e}K_5TdvBUu^J;MZ6|X+ z&!ghvSyJqhLzwdNBUvX#T%y@IeqzCsC2=;1hmiRBNa3KX)z=qmIj6L%zbj2#nKTc? zpUq7Ly-&iZfi6@Nq99g*g&BJaIhDk31|KPXC|I06oN@AK|2I6#MKIDiO1p}Yoy~Y= z&xFbOrO3)5Y5fQk0^&=KoNSF+X>Ht zn>~!taH);hkTB(7cNR7eRWin=aS;Ta`lK2dDrP?t&gXQgK6Z=)PLJ|Z2dt~A6{WFD z%j4d6Udk$}ndtG(`x(zQ70xUDw85OzirBjMWXXgJidP76u1@N)HJy8YuMM zFT9BGtFF3HX3G)oSoOjdxM6TZ`T@(dGLu&5Y-#pP*NE)kP;ZGt`p6qyAomo*7?U>* ztIi~EF2fpP`P;>6b-gT(?$n?blwERer55Wi!Uh?i6O-t7X366Et1Xf-BJpPj-@-F8 zz>*5!5}9u-(#`z5wO7`jGI#cEH#DoCNVU#f5K)jYVA_awb1*z?I;w#3XP+!ZA%Rj- zPUw;CTSgNS>|AUrIi1)jBe(OFLIZf&niTLd zpWa6fK-izM>AkunJAyUp^DA{p)|V#M7wMdFuI@dI1PzPyO=MkrfT|uZ znb8iz@Yp$BzKbDBze(Ur8J~#lR-b+%vN17aB%?-Do-a2S@a0|fh`meo^9@k^&sVr7 zfnrg{|Kl4}YSlYx;+~eHL}iNN&>rTP7MvoKh0=q2L*t(5?+P0p&!xB#ZE#^3y9=y% zq?Ja%5j&!g);-z!t_w>o2GeFr>$cvMwxn509rBWBaY`yhMheJrc9j!0)GxNnoB(Xo znn_iC0X5L>(e(SXH-t3D?aI;Sj*sbkYT_<6m|U!=iDz<#$PUkzpF+M(Og#D|c-nUi z&XBqv7)?5|iwB9ZVRFwb#+6a#wqLubrc7&dWD~~Ck~eSF7A-50iS!!0#0wf&h1D`J zhY4$GYV3}5rPvptJs#FWFk{al@GQdhxYC2|v1N|OS! zswfIj_9l2}a8vBy_F8O)iPe#;9f;b2s7tc2ioSZSvWQ^`)?f{iHw!=E~130n;=UedR1|JMY)VwGtfc3I-9^6Bp{rC&s5ym_EzNWD9l z%&5JW{~M2@(wS1!z3o60!r~rcZ6Af*a?8NPS0%W0el^rgT}!x4ge|D}M0nex)ZAjmJW^rCG;#G7Y zmUrQyCjWL&hSFrHd0V=u`t0Z zDr6ExurllBNvchcs=-<^d;QLB7lK0F7&Y0;rzA&@#r{#7M6#uVZ-Ps% zQAPU&;flRMI3Ez^o38GR&O-32!#lXU;&Dnofqf*+X(jpp@{&*-woL_qyEOxaT15{uc9>B)k$M(@I5 zC}!5F<}Y;T9Z1F*-iwjAtl+{&76G&DgN64Zp2K_V3wUp%zAHP&d)KP?)Ew_^RIjfV z#6x5SezAEvOL4c;Bklv!QO5z(Ep`9reTaB3`6-|-I6!$jC4EzOgmP76<(a(IuGS4~ z?+#ax6CN2Z>tY0#hmsf94n~Lpvx3w#)R49m}4m zcZdjDUR4TjXZ>c!gr)^YsOTbMMFRf3-E_7*oinSs|Lj{)sPj_CfuM1e}LMeEeP z$hFy-y60SnO0s73eR!Q;-Bpx>Qxqf;g)-BOK9xBsV}jLncHEFd*+EAu!X1ho2peh9 zgrn6eBO09Mv|uVxB0FOG@j_A(sp_N05v;F&|NvNdeGN#rA>qX{PpR2H$g3?iMWCMC2y{_y16xd0X)(#fEv`6&P$w}y& zL>-1FaM#CvI}!G9lJ1G0BBlzVEQ0!*QGdsi>H=ZpT2F61SyYsxn*c+6o-~JSm(Cc2dKPYXWW9aC>y1yr2D?7Th9h=%_$g?kRm9Oc`myNOfsb7&d*qAxP;{8({?r=vDinVZ@nK4-CH|bjs1vg-H-vQ&_wE%Y4<$?APM!bk(Ng=9qSyBai4wZ11+CgX-)psM72YpG@to%!cN+8d|zMA;m0*`%pMfFy&JNGsG4v>vv;V2#isnMf0 zVi8jLC@-!H>|tB1;4PjRCH9-?BWE5i%7#Xaw=}7)Q}08n(B!$Z-cJ3vD432f3)^u| zG}TaMzl4@dxsZ6xtpHco0QTHY>Di%{Nc~J3N70?;NaLAwlWZ|wkg(LhZ)TIumDUpK zQ#)4-QuR{WaqXJRQ>{lTKp)DUxJ1&#-4aDPz`=kI(!jl}&V0k|(rOQ1p@=J5wajrx z5SSMJ02BDOkB2%O`3x~|e3|k(Pd-)ZJXNW$#+lTR+AdFBwT+@vXj1Pw->0h0`bi5S zId>2(HTU5k>d3F?=>BA8ZO>GuzWlNi*gRCJhs=Xd-ESVsR7yXHgA^BywaSZG({x?4)Q?TRsp|XY zp;29F9zyCO^H8NOFb_TzHVy5PuH?DC2@t?at-|b<;qj<~h%ulw zXFKH5$@S_9tw7@3k2o_tl1Ez<80UCrzau||_-|BK@6O`RE=qKMgH026yRSr*dh6gs zO);MAH3Q?gn(3P^Wi2vr5ob2s0n2~2F8CY^g{aF`N!Wwu)VY_ldFR5>i?0WJ$98u%jyG4HTwy`L|ES^&zHHq-#ojXU~wb(vo zK2->-RHG5B<~vfA7N7ovbV<)el3MV;QZ5Gbk+*ecI0?;aC6Cy8llcl4`IcV=;2NIPZfbg39Np-JmF zUb6C%rY+)X>h$qdYJhnV$qFL;YIFg;XzRJ0F4*8v9WCg=Opk>bTk}JlHy>~C0_UxY zw<;xi1j!lVEu?zot)sTFeOx2o#L%Hhz2xMW%G*@cZSX7yK!>GO&FoF5>o z|G}B^pL5E=>d`;T+I2=}z0|iU1ahOI)$_>Ci09Yc+H>|$a=NdJ*$6^flCo& zB{s`2iz*VlEXC@bm(4P~MDirh!bY0*o2s|g+v&wVfKqW&Sfuc2vW=}YE>9y)(0r#y ztENmdYEl^bYaak~jdPd-RI^EZXz6@xK{96ezF)>C1zrsnex7@U|~~z1=WP zE%`i4LpeFe;BB{vQ=i3d5Y$P_c;5&H9n>{~v03V+(=_U)sx{`JQLQu&A+^LjRH?_z zgHJtd9?H~1=E0@z*ALt~$1ezfz(F|R_TAfXYR)FY-kiFiSjJnc2Q%f=g&V=t&sarOZs-GU+AS2>%fMaP&__SUJv@YL?ah~@@k{jlUB(}W{CQJpE zItwzLZ}!;oS_Y%Aw^eTqK6@K#e)+Pl3N)ljuPNrb+aHy17J56X9F!9r!p)L$>J7L_ zYD8c$6=%49qJDGmjcnO_P1$3mEP)zan58>qO}wAeTx00TkxMz-p9=XFij~lRwanX&7;bfk; zic)IlZ?^Vnaxt(~{d{VAiM@_^F#42CyNFd;!Dr)BvH#^$@Y&ea7BTXwB==NuPuRn~ zL2{}jgCZFjm-#wlc3j?BpB>C*>L;htLxai$kD&5y%%FRZkuHhxpRq6yJNMO@ z@}yMH@fMZ;2*F$I9Qb+zjd09b0Llf$nev9cKq>75%4IoFQtPsyxbvXwIz@xhDIcXPf7KU~=uM9O zp!S*ZF1(E(^O^W5k@g>gReN0>7kooAkkV>(+fE%fyO}!Z5&mRTk^w1<=KbQz>x|~T zNx9jFnJVcsilXG%_&nwu9-8H{u4raW{O1--v#NS4+9j$8zEp^)1t(___2fr=5cMaG zx4p+ONv1+Xg~^pi)XxMx8d0m(WD#|qX+RJ)nn%d#8yARrL3d1s>c|`fqx(W|+&&@b zzZV3{c+W#{a1MfTIS8IUDM!%%;1SKk<=>*s$I^ZKb$y>&mr7l_U)xt_`}Ko-tyl6$ zze?%XK3$UX>%8d3U;a4DLJU;{zkt6YHsLRHn`ipp1mwbfEj!w#oV=iS^1IQ(gcqG5gpn%W z^ygBS`qNPi*H&)MiC5O!VE6B6-vAG4ACK_Dv(nEZ5s=s7VhQfl(FqnjvweKCJX^Ec$A8b{XpRr!A{}B4 z^0zeJFZq`Rl$S3tp5-EWo$X;c)r<|YTmQ;$GLiq@>3n}ie}6ESf0Oh5b^TrHH1!A{ zirr}0t-s^}=lPl+d*Xw-6MrCss7TWn6YzwkDF$lq(^oO5*AbX4`)>V`TeRZeskd>U zDSzu5GZ*~o93iw+`M>YW4#H5@_BBaev(q&Fj|~q69{wp0-up^#_}@}jS8Z`oN9p%? zYOi&N+HYWi1#J(zBdllnwK^%^iv@5Op|l*ku$*y=f7XQ{9$(f=VWkoZ9p)d zm%a7gvoSY4*ntu-J5>@AKlRqLJ6&-PcBQ?m8NRT6aVP%jkxt0(;tg6x@~cCr&Ojul zLUI8ap>I?vI~k)?pC+G?McP)y%Fhupn8Cai`0qWQEGs!%(r;Tv5q^5dTf;Mn5B4Ow zOU2e(v^c4evr)%r!$T?a2;2{q|LNMcrYyKK{=Uc`Y&gq5|0;{fq1!Yfm)>hgC7?cl zPp`4B0BEUVxNa82HJZJ0&K^t73jf%f$5&1#Drya%diOhmHWWXv%ERQ@9<)vNPPvp* zq-3|2k~x)iq-1j>`*&Stt@;zctiGF!Fsen|-k_fI5hcY2Kd61~Z@{BSI3%t_bXCH9x zzV`vgvJVKUwbaE!m3qcJ_|#JUuvR_JFQR=Hnn_wQeSU~|v}AW9pW7M)1%_4Q7C z0+}ZHIU+WA1EsZ7TLvq!OEA%3TPUs=+`@AN6Ch@0p>)Qub;Vze=+Og*WJk z&wf=TYB|j|uQ^kmM1dkRvRA*!(>R`(Ct}udDP$?7J&FNn?Ea!*_=vyR21{Fc3_1 zaXm$MnKTysZ2G!1lqb(ig)P2Xru zmfMj}ww8ZjG(DftB7j)-Xgno%NIZ@q>bRrnI0u6x`GqT?Hx(77SH32mnc7E-Vn()b zTm$OgUY!wLN>qB<;Vn07VfMymwVz9xs6MK4X#FJ zFmI9N9Lly-D;j|L*l+lV3wF1TPoZx;+F&`@Q}6cb`6GF+^9i-zr?L7kTFN+Aq|V)X zv)jJWQ*XZ;?e3EA*vxtp!;!Wk9Zywmp;2TWIjS-0UvcdUzA>Yw-YypNmQeiEDChi; z&o&Zd>mF&pwbIYKNO-*a!jBb2xsC+HpUCi~FKmET&WI-VWa9np&l>E{(;+G03ojPN zf$cI)ZIj&BVeX{ibihhi=zIkoCG?ysrh}Q4(abYIo$a0XPW11@Xb{VURQZ+v&SGnf z(zN?-N0#)x#4ua~B(W+El<4IIyQH&$csr@`g*oCaHHH2+SLoGeh2Uk(uPHqG$xi2j zwL$hz_rIN;@A?MG2)g!)Z)=boYa&enY;CGv!z%c@9`9X$VHE0Qw^Qe8fEcl_s;ho4 zOc1GJ@14!0MeReq3kT+H-#NA6>Wb;{#_-dmQs(`-RNWp-UyJXUIke+K!blGeqv}%E z!KK7ajO&--<=)JySV?szJ#d-k-AHR+^Lf?~6T_cMI5n_$hf{UM;hOV3-aEAkU#fv& zMa0gA=Kq^)jQKKUY~t+ZqvI#S*|z|KoGnCfG39jwufkuf9Cg-xz%b3yB|`B4G$S-F zG?Xvw7bQ-l!vus8W=&~B!_}+QW;UPcfG&S*{HA=N{kM3YFn5+QlzoT=GA$ZlbeXPb zf-qungeNnLymuyU>{Q-u3N<@|x7oR~jOkwI3panhN=cr6#uF#t62jF0#F|gJ;mB`tT?s(p1MXKiIB~&y$QN1Hwfyf33S;F+Gvyu4uJ_r@1U)Z{D zO0uek=lIE{$H!1b)IJ|>@3H1A7eP>nG~{%2!ZNq3*W9REPtiop(cZboQ$p}DP1T<$ z>@{_FWh=$hz;`sWm2i_p)s!4n>VC;Va{+JLPN(WBQ+5z=)u$fRR{%TMEs7#gV?jd5 zP*$KY5x#26@Zt+6Yb#_t1g>eyg{DGpm#WlHkI;{I>v^LRyjczbs}|>_Qvkc(d3jV` zu5?}&$je0MMYi2)tn<<;FK6f%>EtM$bb~(S(;pwKYy|`1%ri1;>Vn^A1jRnE_c!o& znG8O)>u|{CPO0W&p3<}BYn6J3XDV{QeUY~uxZTc6r<7UZyl8O$=DaMBlm*U<2KQ&q zORJ>ZrC$WxTX}N8y@^MGFLs*PaX=M$27edoT)}#ks$|q4skLopZdR$?4EY*VV=}4s zF+B_CrB6NiT6SJ$7l6X_Y3ly}BYnc#w4T`a8B2;?(WSZaS{@|snZzKLx$cMyyO7d3 z@j5H9yI9Paz&@R+I9_a-^mZoo6l_bAoFrV6Pl!pvVc8O0-^rD@f`qPd76DZz2GlYC z7VO|Os+!sMLhEw8d-PlS@jkuAn;LA4v+%RPVK_Nf(=NY4yUDQ?Lbi>%vO3Yh*oU?* z@xxJE9FNagQN@#(kNHICJenonvir3z`XzmI2`g<~AicHAMD`Fp@;zm|tF4nED&jnu zx0RyCu={ni6RyeCe$N_;qAI`=2-R5oe7;%SRGPYHgOJHDblxLdmxcraZ<{!ovDQA` z$ZN}NF<(wty2Kz<0{2x0bn63D)k8&WOk!+{oo|@?jG)dYfo9^lgc`yF=2=fr*E4-d z`ZTAW>^hJtzf}0GjE;H&3&QqhhL7wJ3BXm=!=_#bsM)mQg1JQA#`s15aqUm&B`$gvj z)h=pXG?ivR>{kAQ*hgpa>b*;1QG#6h?^hMLT=Pe1f}AlAHl`H97TN7jmssmGE~A|K(b##Xj0pwdI0MwykZI zt-PC^EA+@p(4&53Ai*q;F9BuCYtH(2jhcD3W6mE?eqD{gawJb?u#p#orh9j?Hx}gV zdxKbrXZC-u90<>Tb&F8Pe)xf%l0K+k59^a9U%!)nY`zJ@GejRFwxr32rTCRnJcYL5 zimm#gN}c~P4>q<3VM)S{R0ZT=@=VWMbn9=5hU#6>Ba6d8qKh0SVGWga8W^n0tW~A_ z&fOszs=T&l`yps+a?);Ahi-|GqD|p8vrhWev0B2uj0JeLI*exytUs=q>1#pNODHz3 z&9+NWGodnM5cTrR><~oM+~kRuvudl3Gqng4CucUt2AM*VNuBlvt>KG+Bi)U@>3^r2 zglxD=JRx-yl;nezGM_B_V~JV>p2k%$Y5gK(`GT9hi4RER-o9+psXCaOa-hNhwar`y zY)f=b%cE{ROhe*rOX@m}hFUr)REtzV5UH(U>3lAQUYnGFdO@e?{^n~YR2_ZnQR`}@ zn9*{p2ZqYaM4}vw^HG%`B|;o`u_Qy`9T)9tKcJd=X;Eqj0uMVADiBfAjXDBDfd;jN?)0b z+{MEdb3Ru%%3a|b%={b+-(WSyEUHI+ihQ6~=74(TVCT`V*6`@C&zZjIzk~SuDx~xD zE&7r3Up&zK38?Sn(z7_&E%AW}p+k@D)Oe#~80mlguhnML4GV4U4E4InL zKKt`IA6dekvhsBUmZJ71ZBfqNtik@Eo;^xq*#0EKZzOU@#&S(h4DrCxl(?Fw_VwO-Vxsnf7bpUH)W#q z?ycnDA#A@D{#P0K83dWy;ovLYyJSU++K`9QtkK*4cDRu{n;$NUUrtCA;dMv?0^cd0 z)1=L28@qRE6$k~=C=SYl9i8b+MpR-Vb~^*wsJ?fW!xepMsDNUc7Cf?pdUg6d`-hcH z_4akL;!7L1u%w5BpTwQb_(NEaN&@y~n`n`BadvhYyz@!KE^rnhnSwoD`fWd?EEuRss&AanxC>QgA4FwwOAP%9z2mZsuFq&O~Y`>%Hq6Jpwx$ z>`!Dls;aYZEp<(_M}KXMRUaFYhg6m$jzcg`=uv}#v)B|cQo-VSK4w4DqXoV$P7uN9AWs~dD(g3``JNMFY7`4>CM?ed>W$F zQ@l!jK3K+TG7dzR{Z;sBYNCy|BqZ+#gyen0N*FC$NVIHGf-(Wk5Ved#qGemiFS+BO zhJB}c*wlq3^4ZUX-CIrBqoPztse@Efms+jn=u)4=Ul+wQ*EX1_n=*O#A;<4aUT;+A za{cc9*54F1Pmdh%Jlm)KxPJfq$xg}iQm+l7kNG9OkiUi0zrH$9`#yF4|6Tv={nuZm z`u*SKgZnG*z&|{np3_l>FV&H#X0d4v|BFsCExsfYEHu^)HNII+xE;V;c-U(^Mrk>gJoVI$O$y17FmfkzgxPk{VV#9x}TqLUYOHHRSV zIwFCGH^H4_M?~5eF4w4#Pn-E9C&lwR&8Is18@^(P=3+|NtsFnN!dm}k*%c9vj3q)X zfo02!=v1csyfv~IJR3i!&fa61_$3Bku_09P01up2|3=O$YyqrE06Wj_xRT#+aBb{V z)O%H7`;9cFR&dVpU*lAvaimUo0f1BG&&RU}+Vdy~BHA<_b`*9|8G0U~aOlbFee&b5 zw{9zeIF7CBU})DNB3!J#VFSyEh8N2%$l+Au(UMTQ5KWhQNA|XW)c)5>=`^(o!-OCj zW25+s6pzc&oE5V2MeNno8EJn)=hT{ewfaLiEtyTPddL+!s-V~gr&x8T$^IbO$y#R< z#yiG39C)ORKE#J6?x^Y?8^m8M7Wg|L?yl?j!k$=_3X4_s%z=@1vyV-eC3g1{SVeIi z?s%44v^!QLb`NYfn#-{FzGsbfM`>it))+<+H}dKiiDL%o+L63z@ieGKi!%-W{4#$mu*ONlr zA}6xoT$W-(7jBGW2T}^79?0LgG@Hd&@Au=eg zVP)JCZXMerNCvSX6sVn4i^?{@r;GWmvd^zzU*#v&r)tsG>V5V$GF89UJ`wXdcHLW` zzcH)Z35RcZB-ae6)=g`2f0y30jzBj~!mAYpZa7pGbEA$BR zMRxK~Mic4EQzcmW#iKMTE5mKuWpP7W`Rjn50bTP1oT9FI+vP{M)o38P=QF;D)la{` zFDLOy&px@r(E#LR`XZlcKsFO{k;&w9GKuQWsp;r!rX73>IL2{p%K_NCP=f-env$Hi zg;YN18zYnR#H2V9_`3iU@86|gxe9!qv_szaOsYU4sq!kR(g3ONm{b8lQsq^;sVShN zeJbFz-=p}bd)2C6d*xM3%Om3icRZ{mu zlD~ZUOXKhiG>((`t(hA4TtJm1gFwP`sPd8xEf$$?GcpWLUbZCG@jeQ&}#@7-4mE_N5+J^%*j zoh#Zg$SV?fG&}a?Prg=wkGI!oe01EH#mAG6fRFmryj|4GPC|wBq4Pb`O=l{rn>Ofq zTo-t}Sy(5Oy@^zzY?_(neA+CZBFSYH0Fa+er<*sK_sowf^XAN@(dNyWJ4pHhct^X8 zZFtPO_ItKdV~n^UFsgfmETN2tb*7iXAhAsPTofCcSoTZ( zFd(r^%~QR{tp5;!akxH2^4`%1$F0`GRRQ0o4wq2XXw7ZFFK;faD@? z+XKANp(>=E+-zC-oc{L1T=l<{>Jz*Bd*{k#m8GVsd!7seRk(tPi{8YAQjP43k?ZV1 z{0`t6^wVOaWP{vEF7?4k%tv$~y}#xY8LHs$;K@7p5M5l$ge{0-8WOZRn?xu)!$9-q z53`*eXrLJozg#$F*nUL~87lz8HGeJ|nbc)d8UJSBgAil zzkS|xo_pu9Z%^#@c-wC00o0svgEVZ68@kPcJMWh2B9-_PNHI2c;=gNS0I(b-ioF`O zLxBFd)DL9GmovL7u=@&$YQl$xhOIF7H*eA=V0g2dSbuo6YVobBXn*m1v@;0p`uZ&VlLY<Ok*KdmP{q zqXq6&Ni1{mXQSa8;D*EJ`$6rmOwocMk-JDr9`b#Z5YM~xk&r}x+2>=7G4 zM2EC@$~jlMV*RF^bE+(VnNIIQjDuDbPvLm~{YbKCWk;A0c$3O@Z0ZOf-hjw^>~r#1 z(J;J|&z|~YSL`50J|Zx&>7u^ge=*(Htcf7(YWo~*$EaQX%CIq)5XS#xJTX=5+bXI-jmTcC2J(spp1gX&YrTHWr!kzvwJ+oK|TDAYw#&p9loR!yK6@ zFU`XucS4xtDn9D#A1vd1iMGnBDVou5k#L-qEfVn8U4 z8|l>X|F~Wt$H1)QPo+%PoKF50wJ!dhR3P^YMJ@5`V>OVtu4yjj#K2wRAVbjssU`o< zVpmj_x5+Ji2~g6m{M-|yOMAvwtNOM2n#--Ygs^>zrXqm{q)Bg^gd(%-IkM{2+g6n* zg&U*67rbq)CYQh$n<@Q;T-aF85wP{Cfo1uhjY?-r z_Y%ceJ}X^A{&QGg!q5<0+2D<=Fg1GrzM}g1=+15R?j8+@s3zHEffGT8FOLcfRP5dV zE#K~c0lw|zd;!*=b)P8RyS`0(*H;h^(^-U=Cr?xgqPqHVF)H=Lr@O;QLM+o@9^(D> zwUGq6#Q?)hEpCsjk^{e3arzA5z5XfZgj|HGGYq+Zf{Qcb+~w_xIZh7!xJHuP{mmr| z#S#}u*z<{P@J-=)A#JGbkVs#?d_*eCmrZQce6$?n)&C@978b3ziVrVpbW>@HMvQ0Y<_h!oP zSj5f%HtiV1wt9dI=7P<9`Pn(xjszSNeJP+iP~pzc1-R=xNWaO!=_LS0seZXqiZs#s zYt;QhzclQtMG;`5K}OY?J0dRv$tPMJ*P0v%;CS)-pCSXW;B!#U8McaqnU5v;HLOtk-(k*%`?+NW?;I1 zmrjC0FR)1Zl5b%=i0bXbJMQ$6qds+S1wT7Bu~0S~`WB zTMaGe_(K(|BaUS`{!nH7hI2SdES@TWNSGF3w*z>=VmI)ZYjNO-R2T$eBH5(vT3BK%2b1EYz-RmM$O9ZX?+3o%<^RA+U4- zKi;_usgf5VKyTY4`ek;Nw`~DWS~jY=xy;*kuYQxuVlXgr4v%H2lr?Rd(2`HC|7#~# zc+t81wSQ(&pF|Ls3$b5`U6OdJvX$>ev4J`WPVZqPTec~pmL6K{3XSQGow}qyd8n-_ zHP!=6n*^r14f3Jh&Ke2W9;vzf*N?dcY#FckNJdwX0Jh}aG%moa(z}YXxnjqYU9c#p zPdd9*l< zQ2S>gejy+MSM>&jvyHbHadHR=$Sek%?1VCnA?`KlBOF<>Eh(6-1@b|anXk`h*Yn(b z-8*Ilk;*T(tVED&HxN1kLQE{Hsq#lKCd-sT-H5*CF0EHYILk{BS}4r%2cK#0&1`#4 zT!HL*2a#?jf)SZ&#(VaTUsR%Q-o7V;YbSWvC4m#f^nhk1eo=|~^Uq}>9;D`w$4Um1 zGX|Mm$7kLf>j;ax>ND>hB|YK}V-+Pi4^0%r2)OjJdTyBy%Z<5r34ZZetFt$TH-0!i zbtMjJwtHM^#L%$)WnFNy$Z5WrQ6hR)&KOZ^*KgWYTQg|W^dU37^73_UP5q{l7Iq;k zYlD$ZyQceQ_OA`bHhn$guVxrdMR5$w<$x_`MTT zSN80R+8nogG|P@A4~k&%6izJ9M9Enf+!#%2e`epzi3As|oN*NT`>;)Y;hI4k1Q2=o zI$Tq~K?A~4MdWm<7Ffc;TYG?oJA`|7Va7{{829rIEE`+?DG0DvYdE~~Zf1lG(dfNs z2w!dQ9WlwTyB&+p0>E_|oQOwQob!@fVoptV2k>Kjj!i?C8mdE76cz36~jRuAr zfq}te@yXrUuww6Jcfy&n?Dja}-F|n!j_ZImi>$6tW^stPUNZjX-iB<%Hnif|yU(~N zO)^LfId%%Z9V=i{rSr8TH55=3D^0?PB?^B=3!{pf&#u*Ry z67lnsnCc&UB>ZY0N53vzXs!Aezc?_lPsT~=G5t}(PZ;mF|K{E3eRO-1Z-#w4u6_ru zeX3J?b7Acl?NxiN)DC~h*}h1xe4*1bVtlD3Gl}D6Zn!0kqJ-7<=nDx-!yR0{DSp+V zsVu49Cs{2yDa?cuPtS+_x#Ne1+Ak(P8`Gz-n@L5u+}l0VQy{qSeK>g>TnY~IBC0l{8=y|0 zn{t0!jJqOwWu36}AsGgU{IUy|e`cq{|6)Q(IN++_SKhncr0+P}$Y#dh z0OaACtMIPoD$7afTA1qPtVVKed8T~)|FX4Ti4|K20YaSROaCJyp5_&sZn|u9)O( zh5OFVxUk^HuFpS|u1O>&b8&=O=j>-N;r=BgkW+btnN!5SMy%g%C2np;bUFcw>I(T0 zF|GNkm#8cA6JHT+Wi6!=86ru`X^n8w5HW&Dl$sj(B-)-P=T}stI#08DSmz=8H1!)E zyV@$}NFu)?WVz5m-_4IusHlZPVwXnP)gS*s4AaCu$+UFnSM0`mrKFH|NIv>i6l0Zo z`)Vz*b&?cbBr*8ySE9_ZbFOzP7;Gwd=}RgQ3KzJ0cu5~IWy!G`MnAFVnd8pZ?HSa2 zfY1y}j(DFm8ghvz>X&V^!Z14I*r2Et(ed;Kr(U5w1H)5MZqdInw@YcD{i<L^oz?>*Aa7R6Mc{=7GiOpvuT71hHY8wP)`y?!iXn1OiTJ zc81t@m2^WCul_qrN4a%|p5^sD z+V8s8N0w){(jI#kh}!@ZYynw^+Zm@GEje zcWni8gB7LD-@0fBj0GbCHs2jQ)!RPtZXJXMAIr&yNlG8BX^?H1yipBT!4jo^?v><=M4tst|6FP)2rYHH+?uh+~?A#WRN$Z!x_DcfDCGU#>=$%_Z9RXvL8mnz@ z(`Lu@Df8=Oz5n|~MB(zz-AWZ?71<$P;q{|mMgD{}8P0=9unNghyuO|-2|lHv^4>X( zFCr}r;ph(w$~t0UA;(A9O0-;AjY)Z3>RQqXjr*dApO*V2WMcxd@w8T*j}IxF&J$h? zjIQ)iBCB#p6hE{s_-D^l3Y}$thaUqYgQ&OXPNUGOt zWZ!2v%(v+HOgzU%qUCFs7TJhod%Klt509_*cMLZm!DbYr=6eV!uk5|ef$lzFBJVg86Gx2JvwQF{`;c& zB(pBLP)rVz3rFym%s&0%*MCovPpNyv>_F9PaFYu|I>pj|i4);UO|VqYJ3ZSL#l%+}8-ML_KD$rj|MBaE*HNz`H*~3>zPIE+CpM~;X@1btel!L zAeOrNEE+Jx0v9UeL6VNG>jBe=b#=h>X0_+c1JyrOy?MZNY{UOhxaRhSZ_e^oXhmI? z&$4&=0!g2pZ({FsAvtx$zSFq}{P%@z_g&BJh9>Ys{Lc-!$+j2%B%Sz|ed^e|eW7*r z7S?Ln`I^)B%lOP$?vZhwnXh8+@>3=K*JtEVymz`#xSGBH^ma+Vaeb}}dzaUA72JRM z9w~n+a>0J!muaGI+<*V{1o_49a%kSWeVH?A>0$6Aho2STr%65eRu*t0H)|iJzDo9N zZ1F2_U38*||Klz#)=L!eH@FeW`TCpq_vxlnyO7pFRDt@$)_q541bY1f%Fj*u^6 z?fp+KRL_LDfX#>QK<);{V@L0&<@w#*b6M}G+;c_mQMqSN?`Jro3Y|&*%P1hv96Nf< zeta+4XR|eVvG5zq-Wh(1N?7cPX|4BKUz<%{LJ(Z2Wbml(y$Mp0Cokt0;Q-4CTaQ9i zf4B9Bog>ea9~WL{*?U;wsZ|X2KQ~7A37@I8KuSHxsnspD?$EVLCiU4H(weR50>$_*kUlM3-ZADH#(QCNFkd!K92(Z>$fMT~M?ZQH8P*KEDq^(`;#st>@n z-6|Yn?d!V9@zc~w=V@x+Y(!-1Q`7jSz1|!5deJzOP7HI0u{c8ZqWHz}n{; zA?c0khy$iKsV}PzR32IPfa%2gK4AJZb?I+&3}i1J+zb!Z7_81`>D#|K%NGcSFUvQv zclx7}e%AieH4h*D(LQ;gwC@q3dHgpy5cjTss-(YiY7Rwvr)wU*aR2F=DF3pGx#RH2 zoNmteTM%b!vCJv$hqfK}o(5ZKU);^?6$mNEPJt7N9&%WTtw!lM+Aq#FOanIglSFZX zO?8xC3ddiFB$t{gst>E89RG-Bl=)SkTq=DbUF0GroA3vUNHZ`9-Hhf8eVZv0pPuw) z)5^R2N-Hl?i)JsAmkI}SYRLjC3~3+0dek4BY94f|dBL)u(qcB%Nj*npW>=zdE+ltMR-c^RD5o>{MmDktP1P686lK7J{?-gO`5flfrQElv z=G)2Ka+3X)5SYy89fQngTRurc(Ma+s$LW-+j2|g_5!<+i;>CsLb$vLvK50J4jTpJI z`N1>|*dl`Jh(WKYxetg@~F`uUt0aYeoq>raL}d zRHg1l5sf)MdqHhDMjltIZ4>ph^Y87tRk&v^wAN5&+gx}0dy&AkwYY0^*4t~b1}jtd zx-%Jlpn?lOcV>T|EpW%m-iv{+_4bf?k(0Ja$GheorS4h0n^1A0=la_oc(fRwaMpEt z$|_SIy-Xk2<^58yklp2-$Cf*{%adYf?m;U+DZ582d%0?pqnB}>nsHjQyX;c;{Ymw6u)hl>GUw z_`)|w?f&Ad+!S6k(qxVb6T~=}76_;z(U5zt=3Jw@_ed#>cV1JByQJ}fE+@2yPJftm zb4ve}4?IGK%~8PB7()Rq7=wvPO}CRX)E=v3zaOid7U}p{enb0(=)3!a=u89A-882` z@x+fNK3cdaTcg-#HAm4?X<;|=K2vtM0o?)li>tCATLQ8M?rpy97Zi4wg2`_q=P#53 zIYkAa=pKguStLQULw!M6jAmyqQ2r|i%F{<>LAjJ~;Tl6R-nnv9t0oq!<|b?_#_-As zJ*$mg8omZHIeo{r0){SWyl7>;aPRP<%jGY;UI-Hd3u={2-ZpVl!pcI5=d3J(4g|AQ z)7vmZXjUkQpQre-z-K4F>TF4qw+-@kij(s}UL?Sv)GmBX-YwcSYlsu-J>CpKzu}&ww8#6 zW3EUDC2}tB@CNK1f6 z+V~Mf&C0d;wVb28Ns`R0aFE~*{LVOC-2Rz+vo5d)brK9mI88eV=5>G?x}C$fuJ|!J z0ECoGKNA|WBaYd_eYygf1hZ5`+_|JRGbb)_6Wk!%Fk|D4y&jX@XdUL`AFttjP%|MJ ztXU|#PUJL!FcZR;Ec@)uR&Yyy(?YbWonsEY`j~e{U2D<5qicOa^XAwEVeY{swn$r=686hkcAVH% z5+9Olv&7z*9*oFhWpqkNJi zDL^P~xI6lMnbPtB;$KAb$wn@=)26($)L%0$*ZdqYObyqx5H=?}I`Q+vFiWANl30+! ztvuD-r#XuR%awUw&wk5E(UTZ!Abd^6xVXC^IeJpkl#v;uC~Jybj`B`GT)-EBOhA?v zg_bc`?BbYCG~<5pJE$jLCm`zxoN$+L=0cx2OBD{{4>5>;21hFpZzX4x8BKg2q+4Kk8(;#po{qOs z=YE&|0g};RykPm)*MT>wzh1(kCF?)XYfMC2`@TG3hCUncwp+>*XZ1Bm12LZjoc)6K!>Nnry zEAqCTDUBDQvRKQ>RXyIwi3t0}J-FP|FOCm+SXGCD>?u>ezxV7P@2? zxKdN_TvgB7=3~?|utPolSr3*CdQ#=?5bJ*6V#?};`?h*d`9Z7t_Drp6&B)|U7M~8cj#?2@E4j-*Hjg*|Ql76r)E+b6=E*2R{zF=C*K8Q|U=*Gn4@HuKG zauCgF3I+~F5%^Uyc3i9>TROzaY#XZRi(f4?#tzYGhTTyuEpg=t42NhWAGj_u))s^Fsg0kGEj05YwX&3vzjU?UZ z->w-Mu8aX|Ly+hjTp13}2CPYgT^r`~f^T0ezAPDC?THlQvbNgTMqhiE`%WTRF51>$ zW*l)WmgMguZYy z(Dt#Xi)?rM{?wSNlJazlXzn%ax>^Ui5-OTK8db>b&ikJ#yta%aW&83WeCFbIa zNnB8``2;5B5;M^qP*H(7h`&I^fj6Aw!7irtdZ-N`z8&nVs&fL6qvk1=MQzK0ggECk zO4bWgw;%N1liq`$kj3*To&HKywsR9v3imz<-kPL8a>TX{vPKf6v^hvV(|2i^Ks#ii;?D zQUy`WzQ_J=mD%^L$RX}kU$XsH0_UBWEWgyC!1c)b*cDk=n{UnnL8=WYW!XD`SZuAM z`nTq9FZ1_hKwvxbV<~FaHWZota*q0N+Aa&iwXz3m2FsS6_AkL zR9|evGAltsdiEHQGGWl%_7^~+wuf|qO>kP<3;5590C||z++aa#MUT??1d?1 z^ODM%Q(BE-E}Qcj^f`*3wBdRl8h{e!BV zA%&`mvdGFU+wsQ)nE6(M1anssn3Q$|6c&YAgFEKgK)WlBZGNfjj~$CzX!a}#AxPAS_nscZtt9&scGk5G6x z7CesLjZDN1MBqMo#PG`<)f}#*X=2}io^#$qUQmS4Wzhh<1@(Rf+(1&1lB#T+K7`NN^zAa#8|2=D6&A%%2djAk|gs=x)|X zNvR6I;t5lby(tM%~Y)G8lJVJce8>XP5lyIA}W|$9ga_po`0` z1c_^r{OXA7Xy6*J%!w@V%KBM=%7ontR*J*R&Gs*5Pwv83oK@7U2dgj@6J&)2;(XY+DUA2oXb+cl--fpa3(o`-aC_;s@@&QbkVW7R9$GE;taYzrJ=;-V?^ z)d1|Mz7$|Q#z&wc?h?JwiV_(Q6ks|0c5Mk1;jZ5)+9upjG4J#}luK(a9W$s*WWnqV zn~*bIjdObA?jARgEEjF`MlQ!T5Lx-PTse>QK)hZ+de#j1QNhU{!59}ckCau+A%POM>LklWPwaJ;|<9o5~yV528kBNBy205vvBpRwgN-iQ&@^X4dZ<5MKv zFy38h@@8>I9JTq4oh9KV(yNXizZ^}!YiFRRdYuKnjO>_h+>K(WxlnQIT7jALbWVX-D9N(91M@lU1HVNV6h#alu<3x37~GrX zSI36k1TY-j9tq-ObrpzCI(8trGAcDE4jtYya~?@Hl2Ub;B%m8#>QE5v#!xDf`~1~p ztTy5cz0nNdQMlP7UkO|cDM{_F8c6_Pl9fnyR8!hOYjJXx9=w}%PnB4v8qmX|EL2md zTv|VdCrKn(p32K4OD=^Z6pU2QBq14xYm9@{3oW<8Gjke?o#|B9R{>5sx3n;-!ij49 zL_)`a)Uysefsz6^;ihQrYGRwPWlFh{56i}6`}{~rnV3iKmZ4+Y$uRwf|BycVxapPR z2t3(!3O_>Ofs`pePGn26r&fSDLz_+mGn66yZ%3vzxa6R z5t5sj#FaZyMJj%0c#q$|UrbMFT*~+u5xKVadpV^E3HWCEo@Je+MSbc;~q3p#S5gC+648M7E^*RsTMa zxch?YlkV?CB9s}#y;xd1#eeg%qv#tdRp}Sat^9ECeMRXP&29PVvF@cN-*?9oEqCRq zJAQzaQcvfIEyCe)!@mSPL88bYG}}zWf3MlHB}d#2O}RhLsfj zRtwu>D}6Xd@P+E_E(v$qOI%6tRu5Kw;O5jLf5^nGP|Fh9=+!L#y_DUvMn3%T4a}K| zj=Ekc?U3WwDQcEDnfGuK_D#qp?-oaRjJub9lDuO~rWxjrAs^E|M$16d}zSGc+fiDLKT4 z5HM&mJJ+h)iRDG!BZ1Dqyi=0ZhAplc&S}HuL5At$A~D=>@=#DenM1|@e$7G4FVrdm z149R)(tM6Bj9fldb*>kFXxbh`RA_r<;GWR-jKEE?b%9a_EaPkgvW4zXv0^VS8rP*V1e-PfTYd zPKz#wD8?aQ`WyCy=_2e6xOu>qnenF~m{^Q4IBNY(9g{wnkSJ2tTx-stqv_iU;&ew} zf{+rr^8$t?a$uC$_d60k_WVY;8U0j(Opx*MYUWyc$vHz0t*A$IS}+rc!Rca{Us7(N zqmoqLh8=zAe10?@$FI+My!x{K=k>{ZNoZyAb?i^jK@-C?uE5}Q@y=jKUOJs7Bju%2 zhlTCDM>nX4xl=B_tjE~o|F-Stu^6SKyJBwfHDlzs znRAKG6b^`q=p?>JZ0FW;^54jZctuEbrrPEFy{vbK*ry&VP)3m_f8jl1m^yLB5s_3uLlEnmor+jfpjl-JgNsXaJh(Re; zFv)#mq4J`c!t3Dy^^wC?`?wD9Uq^a)vm-qu`J^#?z1(%ur_zN+LxaeO1nlYHQ$rRf z{3$sS{*=UZevBLZH(Y@9WM4||+F|K%%W{+pCEU$7{govyu$LIE(qZ8N_#WoJs=F%E z;I4~Yvh4|Ok3uUbVe$n)BP?Z2O4_{oJ%_2*{Jn;o^0+Ogn#kwih(d+R-jEJmq`OkQ ztM=lNn5tl;+<(!<;Y-|+a@-2JpT~(zym0^rbZ!D1@m~r0=amY~w6>3!MtXPPKi@zg|W=S|LufjL) z5V(0ocse|YVDe<)<{@pAB3+J5V+h`^B3*{cNcazmbZJ(xIeJq_P9uQ8&4X<;UQ*z; z(XK`9ZlFzw&@n9=x`?y&#Ke{g}2DhsitIOKWvT(!2<5by?h2rq@@rM6|AP!mohJv^-y@)@?#C&nu`{`-QM&@~B zU>C4U*ah;{CZO6ZV%UbuyAhQ7mkx|zR$Pq zIkY;l%p}2&upQ#X11Zxzk#70`c%no34r|l}9eDxPr`Va--w4;%mLCoCo`f;PXW$;} zopz`d;B*AD)*G1uSAqw*@ataVL$C3l+((WldQ-1*2d);COv~ zLp00y7&4tcWo_vg#C_86b(U=lyddEr?@ima!D}4V=cBwf_dptSX^wek64<(i?HOKU zP3S8d94%~V^$uO*8N71KcDUAz)i-Rng<88gs+-XhG9w-}kQukMYD3pBo5xlUKaaN0 zHDf)}5bbK1w%hCaWd)R*P%rM+9L0MgS}b%V+cBnD=1^FBBBe3U;LVQLw*YCY3Glww zb;@Rm`lrUn5_ym7qnYp1bDDH|qHXzFi>*UBcwd`#=CRwK()Q?s>g{dz0XxQP`w-7E z7;Ckm4IWp$$5CAGvu(h0F!18(wKeNQTf89roVpC3?Zeu1pY8pUp=*LaM!OZ&_CL>S z10D^!YmH-G2=X9L!*pLbGdH0{pobTIyx+Lo2`-w2>Gi39=;b-6#}9=ps)A1wcp3IO zidV9h(+f6xY2OBi)RA5p_|4K|E9-it*Y?!;g!;N5T&dLi;IEpZip?8_V{-}L+7~#n zs^WTqQ-gxjm;|G>A9>esD2%v2*B!;5lO3F0b#Go;pqFkN2frk%MAjHvTGhQnU<7Q8 z8-@s<@qxH~v@I=MJWNlYJ0^X-pRD%?P`s&~5pkf&3NA{;3@AK|%a;tF;@~u&@?D8085GC>$=Y z-N=EC84Q--M(=vSB>j3rD_zt%^_~rg*7cs7blb|PBbNQ<@8Em4UY}B*br#rFh<>M) zEDj-DZ_@07`>`f1r|OYM;k_$@+;Cix1)_wOeXBn_KupHW1TQaS6O(+{;jZRE-B^cZ zPg`Dy+~QLYpM3HI01FNs;18cBaF7$zhoUSD(okNxl(ObC1hI16xVjYM0PE95sJN4f=>l<n-iCIQwsJ_(~0 z{&tv5<(nqO`951_F8j`nk3!w%#oEL!rMAr;1$`73S~(C|oNwhocIx9?tBl>$oe?^a z+I&5_$XJg%g0bv(5Qh0>XmzlZD${L>IgxXHCuW*lcq(!^JjW%3m>#j{R_wqyd zHnr)lhM9X;fU!WtuJ=1U4Ip3qtktF4Y>XF6!h1GdX#cqCJ%Y?@3Ut-P7sP?=~_LK8P*#_mfi&`eHvmgXbQJJ4PV0>_mE{@;FAXqK>;+ zw;j-3>t}XH$u8hG@Q%nCVEMO-o%!Ikfb6ZV_khhxt_=fs*SeWD@A;b%8?<|?HwSDu z$BJAUGa5FDp3PDaRzI2i>78~Ymfj%jJ&`&Jn556h*d!vg>F8j1d>$Lgbc58ieV^)) zhag7er|CF|G1i`$mR1h;qAf_TLU)fwmo#u(CBNhv%X#TBwzD6E-}uoJ8SSR*>ICN$ zdy63nmZlo=%r{oavS+r^FbTi#1f4 z*TNx4;N(x2Y8GwHz3^@pMxFpFp3zl z4MuzL~3dv!A!}V=P78Q zAhAu`-vV|8Kdr=s5H$;7RM`vf1`~;Gx<$cgG@56ywu3ocPruQ?Z{uAmP5(7`Lmk{myJ|@0z4ew z${HN6L6oW&`K$vIR4$*!#zxOTCzS(pS2H_(%qm`>hT|u^l~&u2I?k>7^08OnSNPGI z-w)T8Q*8AaxCD1V-~YAVu)U`kgeLkUPdK0HmgakF+wj*up7+IoBA>DPO&n;Tx{bKb z=iC2pWIaLb!JzpgPsyytYI)CZqm}kC(yC_XPQ}q#L>9aj_9nQno#lxX^?Jogtq2T@ zW6|m0TYL27*)J7;b$9=liWNrs{_o^e*N6V3Z`!Hbe$pFucGVpotfIQH28vD{3$I#Q zbz1}bZvQ^+(r!Sd%(99PTio`;O(rxOiXh7#X1N4eIF{x@pXj4}`TWck_<=~Y0e#|y z9>KBnDyLY~jv^5AhG3V7v4q~BLG;j;cbCm-5kFuv811bt#Ju7Zm$Cw=INsRL-w%nb z(JnF-3@D>H6V#D6JOub5(m|V*hbt#l65PkN;Ls!(iKl@pkc`ITJGuV!GcXEZsz9ny zPaln&2CEU=h`%-XwCm}YQZ`HS0Vvys(JzFXVt3t77KRXIb)!u@3$*>l0CU;ItH1B- z*fHcmzV-bYhE+dFBWOszwoASji2%~a2RQ`gf+e#>7)JyA7 zXjP&eY2xaqkMK>ON)TuoL^QiTqFW${8N7E6NqM~(@(eW-Op-e7GE3*h{d9bUad?Hw?u)|I=`nnGHe0zNmQ^+C<_$bDi}mYrRTnl8 zl^TtJ3B!_7+DcH@d$pI}?hk8I3;5`bxvz0^(i=WlKw-eqke}2te`EEw0G_!WlkdmX zAU|q%EFI%CCYD1|haPBBj@-P6xAxMnL2)Gp3lDCCJc{8ypDr9Ak>}MF-wt0Jc)`;t zo;(CLaPLiN@M(*jlKW=#uE{mgpRm=s0RtBFSC74`xa-PciTs z2a1%AD`ah`I}b`GxY=ffO+c(_)=lUExGKVIb3iIa$9nFDd(v1|v?r8}6_};Z!3QjP zDLUa}bK~>XZ`k*+VndeMXf>{KOCSJS&iD#54&N1egqtB8P+%@hB?Y=w!;5bB8ynbg z>Tr4Ho+chg_oKygS6AUnHrm=(qM79A@-6omZfO*DgEB1E6sxbgBrUja=+>HT_w)u+ zC9~Wh_LzDZ)omC<SGO6g(&SA+JH^>Jv~@>y?BjyfBqg}J3u_o7% z*?(j7R4Ae0(>_;jP~GBpb?ApA*WkX#@hx40qcieiD`l79TT%mxU-u;M%1J+)rZe%A zl1mIplt|up%5km0BD5mLofF2iW>fGEt~l=3$Lci=c+5kFOBn8_!o>`CQ{f4$-$^az z>0!n4@UdRBU=ZmC{gUJs%zw;kfxGr1jH}s#D16S5q5x=ad^keaqKiPC1yBx@)C$r5-c^XcC@UoN~m(WB|WXRTY^zCCyBf zWB4di=Hm6KEVM`iHaTXNpE-;ZGxx6~#RLa7YzMDhFK$(ER`JXWpBs@W+S5$C3~BFR zqnS2hW}XDK#?19M2`aAxsM8dvN;6Y+GANr$TWqFPAPstUaEp7P-)qucA5rD9UgYu= zDU#g=O%Ojdg0N4<0k#d!p5uI}6x^-t0G13c$MRo%P1dFUyVP2RCH<9xQpo;ncvqtq zRc3@Q&3&YKD4^jq&dl-5)}6d^k*bsFk~<)mM;{mhDzn!a7B2} zJVIjQXsgt|VCw1sP`_e-@;Z}?_Io7K+N!N0^hsfODq{~sZpi6Fs9`|o0g)V z&?f4TV9f^StGWN9ZcNF;Gr<0E5U<_^aVKwTDgLmMU+wh4xGjhOb&nq|@yKZrnhuU- zT-`|;GV>b1qpF9h>*ct_vR33FLOf%TT-$xH?91{fli6DX$Pw;F7u!c@Jh&M7d@$d` zq*A&N`@$0AhzEwtT%~kFc{=m)2HzqX0deChxGi$x1F8~_fir@}z;F`;7O{=$xGHgQ z6^CFQ<7>w1wmy>kt0c-pk*gruVdm5B^8YPNyncpT?ce!F%+MY8@iu~P+;2~3^EL#| z#M7qvzM)MzG*DS-GjI)uI#Z7!fW4yzj!d8&nv)O5eY%eG4Zo|^@z6?bK<9LFSeJ9Xo}-H2{-24n8{u|%Xv1p+J zt$>7~Z4MX1ao5ZoK*HacLdzY5AI3vYoJ9dJK~XM@U4h|~z}Cr_``H#l8@9g%BwFJ7 zF4)~XK8&8=#U+*ABh+D{qef-doO<{^r$k!Sp6*2ls+e?dp)a=D@0zST=FI@@x3NeH znej+douM*x3>sO}ww+i(RTn4CW0grV57CT9^~|lM)jLKN9kS2=AEG5sYoim`xuhy! zMl$k;XRyC9g_EQ3nKZ4Ag*)?`XQ*=1pr;-_fuAO=56XYr_n%2lZ$9solD-IS5lx+^ zbEbWNZgB_#E6xcD^`WhGT0TsHhT~CJ zD6a90o!k+~Cp3{E54VtUP=*aojwsvC(_=SU6uH^{+v`@TeKV>^wP)dDSI06zdF)pb zD|0bP=>wz0Ens@f6$c$)%HseGi#9QDuq|yx8upZ;3?V3gT~Io;JE~jIYN>zHmQ$l& zn+|CO>NQvWw4Y()z=^ieSm}>sKijuU8l161_2zi3nGX^6uY=CIpoQw&FZOSqdvN-K zE<+qOa{=y+f4NRLO2jRp?6y=^=|SA*JE4jcpay)I1ZIcw@q4Y zmM>Nh4Ia*vC)BMBwitUn#&<^4Z~I<(^M4mDmm!=?iLax$4)0nO>=#=TI_#YGd8~2n zkycbPZT+j*%x)BaJi~k))>8Gnr#Ar;&g=#ploc|_^+@ic-en5L6>c7mxag0+@+3-` zxGj;{GFb~%+WQ5&YKA*2I)saQ&x^=qwnqGEeU_tK=9cfZ&@WxNn}Krzc<=wEi{moO z*oWhz>Ue|hOt7YlCs6~A!&c3fb#zOuL(ht45&ajD$ygt1@8Wo>!L^>|J18B!{=>U<_u|P*T5O7h^OHsyJ{+?a4d(Ppyg+rE@iAN$c=V=|)3Z4(#|a zH9z4iYQ8LS-RW|96#uF=?FeyHNPDt8>#eG8;&CepmS$)hZLzMD4FvVy&W*3vuGVtw z<~6u_Hz&%LvjKT%tM~z-UCSkrLD4+G4cBM`|a;vk+nZJN+!5MQ$qk22M5U$= z2P8j9b;x6CJz9m$RHi@jTn@?B@A~(2^SQqwC~#mimXE>E!*jW^!1=9@ZxLoO$_Tsh zLr1CI^$|}OA{;0b-JM_&VfjWqiRaVPC|}H18JmzXEHg$OKG&BpQ=;iz+h>@jUe_)) zoA~Cqj)kUPj{Khq)o(n_@+EL*;re*S)pT#S8mS&E6U@bVrfdv2+c3`%(X3_}PF@hv zKt~xYq1DwF*JhsLi>>s#HcxBfH7Wu~_@edVx)Gd}c0MPr5%5e=PIGB!rLG|-U4}=Yd5<%NqRIM z;7U)7;)Xg;tF>R|hV~~*Ci+L*Xb+q#+!EJWFgKzku_j)xi}f;RQoSac zK*X%{Xhhly0T%NXhanN(>FR=&6AD<2<3^fNpd6S!yau7CaGrvFZ8^3TvZ^*ZBT}2A z>U%i1c9U#4nXs|$QgRF6gu8N1?WeVUDcyNP$iw{EAg>OhQ_FRl#f1L=>bWOJ`9T{g zAqhgtHX+TDki2P)-d@-$_>5gTJd2h2T)VJ^Aj31{RYXttX3)wwAe+v+h?G5PNU zj)Rq=Y-Oq_nvY^^IZ~1@RvtIK zR6Kj!bleY%r<*dSY10?lQ4wEPsmE(mgyfnn2}v!Laau~h`S`TtH};!z^{H00m`vt; zxND~lU_ZIIIT*@5^b7k@Y!hs#FbeZfJq9QBV-$-#4VqlP@v zKcdpf*<j)linz(djem|3Q3p()Vcr1|+bvBljQixtVk91FKN;Wa+7fwM2X%(#7T zUP*XPKK_7VD*yPEgg@h}Hkvc=I(-MAvDV{aplgpkUNQ}C9| z;C~VC{u1xhaewC@ag5bKII5-FD(ZzEt_4n(YRIAj^m+#>=zzV+w*EiI{wfF}@w!cF z@fjbRgdFccNA&>J&v@3ZgRZP8@V~34{|i!@)h!rupwdCb_P-C6(^61@X&YV^^pCh1 zYP#zoqxnZXZ%20pAQ(Y|G<2n@qdQ$UB8&&_QdQSVwbwO>klEyXGir8A^4GCu)i{|q zjJFfRW3V<)&S@%^J^_%DBU5lVrtNFGH_*pZ_&i-#2JtH4YHS>lm{wcd3s|%w6bSki zD8H+Qvbkga6)bH$tZKRfHQ`l5tWXc0LZXeZjKmO{JcWYsFw@N>aqCv<7*bO<3OBa5 zU=C~%+%2a?e{-p^U~daRU21st#&vc)<8zaZ)wan8+Dsmhs+du;C?&3=R!%XR zlq~Ue#Cpk4%1~M4xzf)?oZY;acxNciCX?eJ2+~9^iL)oCTC0`z7PrQ2hvjgnCZ(ct zj8-J+36Ix+w#ENH0F7Q{%}t*xxjh!kN{;*Q_5cV1bY}_eom5dq|8{6 zDl<|xOqT0P#dbJw>r`%pT)6Id=}NAAF*Qpv{4!COn%JTKd~xgX(j#2pMR97DB=`|7 zuHvjt(;>I^h$kwYsdYCXp*S_)A5xk=^YpAqqvkEmxZ93dc>*Sjyc_(&osiGMw(zW8 zh`kb5i;Z0?oWvl)1bT&~od-_Zu%+yUZo-KCkedZuz5s@p~Qu)HZ0leUfU z>U>c%UV6v-oVeQiesGz2&~4e2bG)p7iFO-!lXYi-bq08>^a}ASqNH@XO4kN$7j3beTG2Od&24vd&$pOMQh zfHC1fOpl(TI!j6%Vidue-e1+1adds!1hp@rMatYATZuJo z6{z*|)*ZlWRmMRWM(c2!!Ud@bf*09Cwe;YxH}NY?zT5+2W6v+XhMfao9Jj~URK(7d zpxg{_i3#77tMhsFZh#Z%^)Bw7O9vLCag&;=JGtJ0l!k<%agYw!7k!VJ%7qKvH#?te zT~lQIS=837Lwj)fOkQ<&gEV1RJtoW8=nq%4E0l12meu6OAmGYPs6J00x<2@|9#J0o zg}`O(f*(+>v$PAvcwBdHfBn$|FsGPqisqT~Loortm3RV-U>C=WoSxHRz)J_!x_{VT9eo;T}WBd@91rNbck~)@tgiAF8&?Rv3vS|Ya zjusj?V(b^F(GI73VI6~q$recW=%8-h;cbwY08vlAgpJ|C`6Uz(CB{13i;yVsC8Xsa z!cV$!9h&z(Y~RtQKqlT<<&8+x=N1nhLW5Sp0E`59GzV8RKEV$n*#BRTBAxMZQ@ZN+ zdy6Hgw}_G$qPZELyQ7f9fF2=ZCDCifkMa`Jb{v7oD=Rq0^x}BebHI-a0QJc2i%iVo zj&31J(EjIhJo2Q$?H{hsQh0b$?oHrAj)$d{9^-p>lcE}^3`B!Y{!H55`u6`!4^(|| z=G3RVElp{(Z$L>z9JW&}2>_(47JP6HRPy*8ezmX7ok~UT7l9scN-g*qD1**-^Bf7k z9-b;08*28+IqC4M$IEXpQ-wjWu_Sjfo4S85J~5~@^{^Gju^JgTnoqfx|DVwKZZ&e$KQ!P312 zKd>{KQD+TYVE=`9MS__2>I7Fz48T|fMuKsh1niYnZ^Hx_nZ-Goq<;#&KM{w}#jv36 zN+{@pa>QU?uu&sJelHAfd`4;Ji?k*vYw*Rd2+ zLbuT=VfdaF><(I$sbhG|ZZN_}Q7Ak{ur4>OegEDPi#3jE2L^b;i726i`WVP@$cvjK z57pO>!8M^ZQ|ie}&Wv?K25JJa69sBXk7WXzM^U{fy%qL#a&am3;IL!fR?uh^lwl^H zhvbEvLhwrp`^ANACzzWgS-4*!brDnFlmxm@+7OT~Rrtgb!9*(gua|B$2~T2<;Bx>vH)QXqi&L5e8?LFy5&+sFZ19jMvxid=oE zYvZ(Cegg_plhoUW$Xu-PSy+}YY}W=;E#0NYM$jK|0_+CRE{9 zG(xt(J#|GPq!`9hgOfs)kESci37pUIVHWXV1$z@;1er3xvL|{-ysjsni9EsI#EV~X z{Nn3zPG}D5DTF~rfLZ}elD-?HU-pzm`fif`B<3k&^Vkt(coRcxA82A-L@GqCR4S}O zUa{_$<2Iv+c(nZ)V6ACQT?URNRaYvGfCh3t_ziFzynKS11MB{C&85e$dF?*dd@4J) zQ{;Ph1ObNxR0c$QB~uG8qAX|MVU#7QAAxgT+>yIIx1z+c^jm-UIq8L%zpcy$G7abS$_+g#|xh|8dm*$h8S(dPYOrryTAZ??RX_7Y|E$ zwGkW9VdksFkrKPOW)~Wb)$Z||q~oEjO+|JT#v(F1*Y29tYsQ7v#;ODvaBLKsWlszA zqi+viLn~mxz@S;oA>RWZypnms1xIhbvSeYo`NE=c{LNRd-T$-ASE3)e=h}RuHHh)O ziGJhN=!pY0ps78oGq@uP?X=_Bu++{d*{M1s0w7@1Td^;~n999Q+g*r*%?I|TG@PKZ z5N@rD8(AGrYQ;4S+&Bw+QFOXh3$_cWrKv+L-~XU$Ig7Q#SPRVS%v$=f7TQ0+{$f1u zdKQxXnI_bq;C0{%Qc@67ADqCHbKaydKZ9$u_(Los4J_Pn^W%5sM>}aEHFImnsEE;m zDC}J-UysG!At87oV{qW}k@ziKlw#E$TZqKpBGHO3lJUk^XDaBiImzEBGyhXaoXS>( zoRs$q3SktSiQ*}94Oy>^XMKYh;GRyY_^c}z)`S0N-+)B3$c&H(p<&Qe^25}b<|*+2?UDUnJ|^O zV*-`eEs(B6ardr_@p8H#zLX!FD9i-AR|T0LZm#=6Dox)wW|I!LQ3$b6fA<%3Hrx?3<%EuOqvKlmF2TjQ zSoGX@f%jM-3g2TUfVWZr+yemc|CE7E>fF^F!VW89oZM2@F4=9n4#sJPxf1jek$wv? zg|fsYr^nZyj_JaNsuR;IrMw)xvwp(h#iw6NdKC~A|AupBi&oLm_VHJejk-yL`J_SW zyCPkF_YsK;{0`G`)M94mfF=% zzWU)rL{4&A{BYXgN72?&IfueaCD}!uCgbL2xIzyP4c}%D-_{H4G)oMcEJ zA%hl%?n!jQV*ZPd1vx#W%i^>Xsy#o@6u(w(C2xas7L708jy z8~sUjroxN!#tS+WIXS6_)in9ru{=9p>`%Cw?3gZj31u=D`e)rFSF2Pa1dpE=cZejmumcc!9+F&X{B<_4dUG6Y%u46xug9dQ=YPiK- zx7*Jf=jt6y>2FQ16+@xZ1qU3TMV402k^LJa9L4|(^JRcrxaa3ZKTsNWc-&4fCv|XD zkWS%jqsKesvu(?;5J@f32-tuGdPvK!wkHtjG4^nQ0Wxp*MoHdvoUPA=6-GLUE_kQw zm!P@FSw;-@IHW1?DMmB5dyK*{z|n@bHT8GFCHpG1Ig$m>$--~|Yx!|_3v6+JnbF_1 zYDU(kUD`X?&BD(;u8#lN?}eb~@R$mh za1FV+#D)|RR>!-b88@QkLaoaHy2owOLy28m26HyL1V=wDLqDl24XX*j;8F$^IK(}e zU18@4`Bz3=2@!BJ-yJtkx>R&H2r4|n%e*6kcD%kSLBM_ZvGM|>dH&B;v>sVQcV!N8 z{JFlirV2P3S}&Vs54Ee9xx_wFQvOaB0&vP&uvuI|I)gH_U^7I>EK#IBr>evY@C8j9 zv@4G4k60w~{BnXoPn6?V1}bC#JyCA;4E!$asbdQw# zjQ+Vtw-WD(56{&@Z#T25AUtsbo$Dl&2|PRM*n#EjXR}k5BU_rsCVZjQc8_a`qz1=4 zoO)yKD%vnl-aWQm?Fv$Gm@oV%qqo88OBHBx^Q0syg7i;0*BQmOTVs z)NXQy^K{NRhf;L@Txk(n`FV8L3nB^o+*L)*&V4U z%FgHr^6ZWvds!d{OB6r0D-=8H+>Y=*hwzos$S-)lK8k&;$&D9Hov+)aj1 zvYQe0$RlooILeO}768E6Sl#{MIk+h^XQ4m*`^BDcuvUYw2b1;N)|2h!Q<1V*!ZzWa zxe0>aZb+4Vai9|?lkca^iw>j53Xb}xKX&MX6$i{NXqmuKm-bx|Q%XL2FE)e)`@o$R z12IozhJ0LX3BqOrSE6=*WO|{c|AIFaXooh+n`t_313N}HQzc(5T|6jVykx{w$orrT z#u1PwGAn&W1v_Cd5P+tD`~1Q3L<@b<t@g6zUm2Frp-Y+6ZDcox0&tcpbZ$$LEG4c zU8DvrmhDI`x_wuNqHFh?MO&|6(T7k};ikEc%y2^OGZ5+y*xwp`#Qi^Ir1@-neM5H! zcbizEw?`yudLBm|5=jc)Rc1{-tb7m%erMHFDeD$`AQw2&ujm-{LOF zecpm?ek{mo$b*Z#xP4&fs2D{$Pfb}8=wV|Oav}&TGFw@@m0h>to~g?3v#s$B{V4bq zx1(}YVY2J3YqTm-roF<`x(RC z3xUjB9d4^4Uc47^%sJz8cp81EHXrK&pTvMX0r_r9xt2t&hnFfJB1Le^sB)^yL1?1n zITv*MZ%Qwk<1%9YM9T22W2ujtHFWz{411%>0r_Aoo$Wt~>s^ zL`u@58RxIn!hdMT1ljEi=i8ExfPCSuTJ2?raGbIeb7$0-I7BJjZO)rpV{3e&#vHRE zR~yvl`Bv{u`-?T4n)FQmD4r z=Xco-D-&ym+XJUVH@= zlQf>iuWm#=#{S6l>DpVw4-Cr%hN`_SkOo46g~>3{cUMN57MguFy4v9loSo(it;zI3 zIw1f0!fdQ6?z8Ri58V@7QL|67wPdo+H1Yffx8vA4YSA$_*MLRA)i zyi`y(TA=Qhppxpo(=2d#YJu~u0zMXiy@xe#8`?m(jZoa=p?8j@xJm3IBg$sVg%U|y z&5r4EZ8IEbs@&ow?L*D-<2o&mw=}jxenV{5uX^VAxG4p~jYp52-yjCS`iUzwK{y!~HFz_)xg0mu`9rdI zpq@qe6#FS3#A#^=HtEo*!dQd<-OaL9$OR7_P%3fbSq49C3{{9DS0gL;)s?0ebs@nG z>q&O28_cojQm9b(Icng88xR)c<^y$a^*6!Z%hT$yySo>L0S-?ywV_3o@_$G-u!h5u zQA&N5&b83Z<|4*z6u09?%8`X;Tt0OOSnW++E|Q&I<9*C+>1T4IcnI=_v0G|VgZ&Hk zxeKS?6g+`lCHE!vXjjO=MYLkGV$ct4KW@~?JU z9&_{4&yF|uD#Rmkz`TbJZ72kg4g@N=%t1_R!7pjF#Aqv_qvM~%+YPXXz^i6WK|7vS zZ>w=4BRAP;7%q$<46P8*-r^Tej`^k-f7J_Q3)JIdFMo=+*PD2=S4HT!f0iX?A=cOm z2vsN>?IT`I{wD1bviK3PaHTa3@?kad0Y}yhfegg=B|USH{N1p}3h;wOgdfruemwXg zAkHrF4J`iTlqloZi4*ySJbBCmxfelFGS+8p#2mZhzHeZ5L<=?D7>Mm8Uh^+u6E;r9t@q>B^xBaPj_RucaKzXgNA+{Sm)#4kb{cvY+a0Ch;Ij`l3ETCFqk5nWw86G`#FMgF0cn@C z@ZTAxRIQr2UR;kD9X^`T^=vX!Aua)nSoE;Up@2vG>HuF;L7dF`XdhA~J86}!^js3d zbC%No%#$+7?^2~5HP@pcqY$as5SC`Nd55Dr?C~v$v z4Uu4P`v-@}>eV4*(9@`d!`*f<^kS1uxu3s1*kSn1!Y?{Ja3g!M9XY`Tvcw~B2uV1M zDA+uCMBm`~BgW?h&c+crh63)9`>F#YJ4%aBHsd&Xu*v*n%pS({wUm-F>b*^J*grfk zY1lsiUo6-*a#i3K4jtu9@$v+;fTvPv#1AO3Fb}{N?<46GCz-Fr%OS=X*36d*KeeF| zJ2xhGKpry1J75$D2VLq7X~0KBnNqe_~^fm8eG|fC#1B^ zk80bdNQASOU>h5sZI}2|o6?yE$ZQ+E1vA4!#ECc5LYKY0hZ+hQ=~Ja@{)F6^3y&gW zaPZ{NTeAP{!5sA58)kk|j5t~558guhu0|OuSgPp_g;=0hN{6)Gl@fh5tKC= zMI0(*la0GzL-N4gfwcI*N$|Bdfm>NcOH+y-d_TG9@T8(qxUs8N6a-3=9fA7D@I(af zgIH*#Ny;!0S&{qBRe2P$l^_8#oT*eT=6ATL2vTT zblZieut!X;wBc{bcrLKA4^Cw7mYn_Rl#*PnFmR0yg7H(UZT+Nb{ zoZq?4j+rBKPDW0gHMsUWsw+VN9NJbn_C99AS1rH(p}roHU-3L4=*Vy}Rv<^PI|39^ z0@LKB8fyavM$bioDIQEhnH6`{Oh9N^D^kSm-)E#jG&nn+7596cilf{(%;YF?aj?qK zo2slw-82UriDnPgHWTWhOUR#1?iz)I580l@tnev?`7(q9xE2gOym~fVu1v|x5FpC} z%aUO|odRnGbXREne;?LOfW^+Imn&XBB~4+mgeq`1*W_jd<*0mtQF+&mFQ}nu z5DklpCd=QkYwL8ozG)Zk63v8*V(cN%5cCL4=%lAEn%?962b_;^nfX|svRSh2hV9*8 zXaCbmIQ(xG?>@_&MSCoJGP2269=4SjdrBOhpH)2qET87_5T)@Xo8PrH2p=F^$Y1-l ziF;P`RF6@w&5iXtVZx7mPh1PtccHL^RsHklaLgAvY@0pRS~HfTB}#BJ8@W8K`zW+@ zE7ZmCMxEAt(qi@kBBuWu447*sIW3N#97}P!s5%C2^$faY!Q;a!0(IEuoavi;gy>Em zsM}&*+YWSCTN~t9a-F+AtYC#A56?x~v(3hH=B;Ct0C>PaPyr zwD>tDpi%b4fC=vFHkqs>ke)B%)Q&x4WXTa#SMX#~V3ZnfCE8H`>jsv7C{;Pg1yoFN zL5MYviaB_PvKO%Q7`tFvI$KkQkCMON3D=~qrrCK$GdE9+N}NE#w(eH=Ww;$B>OS*e zWw{g1TkF20M0_V`vlN+w{n3O^^3ViK2^|rl7Q&R@1+COms2y@C6`IS?`3TZ9hr@s% z=^Fka(>%4$$*I8N5})^BiNyCq`52N?t;y{jO=6+44dlA9)h!%^lC*_S?B^un>|T1P zVY|I`@MI11E^H#vE#i%@xQubkKHJJMTLVYs>}{gVx?500JO(icvpKs9+k=uaayED% zwkYtg9LfF$l1n`I(-fKjg1O?Y--$@BrOk2_t1X~t)5gMlH*I^8|;OOL}Ny?qLu@%LH8~j4f=-I;~0U&fb5XB1;W$&K_p{<6w-=cPwjA+ zTP7OEI57cS5*Ilf)ekTSUNv5b-@sMqwU?x85VP8|RkpxjBs^#)$O_;23d%_rE`qRZ zIfey3RV|JVq{>KJ3xG4~2%HOTg(XH6XL7o-C*s-BM47#dsw;R78!aojWTfn76PNSw zg&9pVC`|Qkj(Kl$s}9a>=I)!4+lDV@3u2`)X=C>YbJXU4gi%u$1a9j~Op>@kB>R~& z7$oZodQ1KM( zr)Xi&T9wXbU^+1?8jBSkD)#%%0DReF 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%0Amo5f1~OsE$}Bf_%#bB{ zqWT<{6*E*8z{?(JrzO9kU+0~Oe$}HB%2MH>x(Qo{5(pQ7kO{$03XO_wksV4;V9zI= z5Ygl)HiV}OE*c-Ji)?)}I7BY=-*VI;^bT&l;0 z;lJ=%aH4Q2L>s^7rZP|Da8CQ|J=#!BY6u5i(C=UXjG0jgCO>E1&au zpgQC?uCZPniY=8-O+$=1N^A8(tiT}~-Mdk%U5lY#ij<^e52P+_$uWq<5T&->g9y{1 z$L{U~wgMerQM!THfzcj7%jE{wX0o0~l^ z4VGve4RioxCzs=GNLcZmfdz z*rYLf2Nucglj`w39^Xsx9fj{@_>RVRhHg$OL%Nyxmg74M-!b@Ji{*klh^zj=_$8iT zd}^b(3mOi1j9~np7E~c_g`coTjt1-y*Z?f4OkB8ux}GyRd|76 zL9OjVWUwG7$Cv;#$1g8Ry8NCo9_iMSuu>a>(@1=WQi*#BF2K5HKz8I>loQorX$2c_s6 z^TS1`AYpwT#6hf6xNFJiaJ0!7K9kS+Gt3$$8s3cZUF-LheJtci<(n_A0ah{TK z9+z;bwtMYqD3c4M=jkBYey>7^ zwqMhkc;gf$KtxU_RsEZtA!cW2$z+JoX(8%iWaD(Z^!IY`-8@2FNtc5iR;zDzX>C7~ zLv@ol*Dmu+yUa0}GLO$Hb27^0ThR7YJaV(O65b#-#kqKXW&T97pi2};gLbWJ!!T89 zO>3tT_%}|qTKgIuZ0%YV!q%>)lO6QI$*^XG)n=Z!9YK8e1v8-w!;Pj)PxHqbplR)Q z!zny}41U_rCtVYrwXs`D1F>6h8vK?rxS=w-#ht_(8d9=h_7GMmeHfgzuvd)B#{Kas z3QrlUBiM(bD)|7sA+eYF{cP z0=zL@H9%BjbaQkfGpJ+@Zx1`!>$a@iV?L*I8~Znks4!l z=GSy6aWzS2Vg!`j1XqF$Fv&A1y+}R^y?G-+5m$bp)^HTZYycitMI91=yH%QAv5*c@ zQ$&T3nr@&o@$V-o09YY~URc1D=bIbFWR=veAcrPY`^r^{UU3{9EPl8OVey0Mv_{%^ zR06A~68i?G1h#fHD$LWWdoWRS!X?)NH*tLf^Va;C&aDS7@xaPfBLPS1l9LLU@_UNG z6g)V~+>bcEjMT_21eOHZRw?q11Id-jWQvj-1CCiOOqJU?C9v*CIr#kwQH}fqOQYi+LaXg2W5@m5I zOv2d!7R%>0&H!4N%+_lWk1`to-$pD%JDqmk=$=7Me@bRm0vYrzz3Q#7J5afxE_{lP z)uP$eB?jm)p*fPS{&XGDm2m2MgDHLsWy8UFvAnu=RcEfj#s2 zT(NX(ODN?8&3FABDlb;?od_BCb$lUqrve7I$BG-tpJ_;IN#pC=!Q)479uRi8oF z??@$&oDv_V9y=T;KJRnnVevN{Nc0rEh0S;m4mCn=c~M={@8xr0Snxe77h(o#st2&p z?XdGRRPjeiGH8PZ5i^I+%Ic(7KFjSS+4r@MWV4+klNV8esvp9~QaQ=~Jpvt?-M@Mq z`FzvKbJvTv;LM24eYLg%3AL3@trz zuo#Jz)(y;}7MvYLkUY5H!g20E5qn@KB9o`-Rg~7^0WBSbJp``5YO~j0JuIIYu()+; zt+UZu)G#u9I+j!n4$%UrTJCp4PnYSw0M|AW{;Gu5_77Ex)fCy0SU__v#I{CmqD)0>M6L!ry8w?-i76EU zO_;rxmNmmAZajhG1?ziyuCP3H^h~onK6?D{V8&K-A$#xNSe{%(CGM6@ZI!i>7G%d+ zX~ns(XE%I2+Zwm~bdz`lRvu-!5}0?&vVhrac_c6|TOJ9_DtOYsfV?Oxr}Yv_xPh@~ zZa~;mft)3yonRwsNc+9Gk)uVa146`dU?*UU4TKtgp!~V3xR!&cuDkD11svoQ|OMu$W|d zBqdf^9!ZH~nbYnB%v3oGW_Cl7N$nj0ej@mtbq`W-HLVQ6N)eIn^Mb3cp4iZTYUxUNVj^L<&mxS zTOQf!vk8jbY8I7I60pssDw=H`qMUY{4`!HI6A9iUO-S9 z#NS#T3F0p-j|6c!bJ`#tsAJ};1O&1{Ic*>h&@mHLie7OJ9RzZ`oqd)#na)JL1d`1^ z%8qIjhr!9IX9XA}PXIh>eV-u1gmB+T2_KKu+*CH7(TZCI^2V*NG_bYJRX5*hd>7B3 z#^*S24U<#k3WSQse#e_Fmt$J2@fl`efxn=+&Tsy$vbkKk z{N5kcHGOQ$h2v83+Z_Ia&nQ2Vi2U9Lqv;`AK(eJs-upa|fTX|3M;f_eOdZSqkZVhU ziK5ngMSn2`5Lr96_Qt^KSs)$&@N$nj4>Oi1MHt1g=B8U{S|foH&{c%=9p$td*{6JV zzZ{SUKcUj}ivOg8J@bGHA^F@xr?vK4eUuzH#Cq1^>N!pf!i#jcwam$(2W`OFfYoxs z0Q@(-0*O|gqLUjCex&Ekqo>fskUhcRyAys&krcU!#1-)4z^xvSIBKsc=e^{mFC$1| z1r0KM5d1d>JacrdwMB+Iu-fpouEQMv4(9iF0_K~6$~krOu7d7?>IhD$uybLcvtcu) z*_jWc4;}9$p@zi~GiS9~_`3jPjgG>TtJ_-(iDm5kpG^8^Mt{MZP)1@Mq`U#|w7RCJ z*$NU|pz57)nMEsxsCyEditXVOWFzg_b0^A3f=W~~gP2FtO|Mu-tTBPsHWaJW{R!y6 zk~RxdxH9(Nqf!E9>mroO9_<-v5eV$|D(6P=tR2=U9#c+>XdYC)LlVtxDowAr#m>s^ z6tk3%lyecCiPj^bUz)|Jqu`es6x?l4$Js~5pvQ~%8#$cXCA=FOyQmodb@;ExJ`9yG zIMK?nzY`P{@_wA7*uk-1yZQAV!~196bXE{M$8Ev-w%G8#YMHw$MnLTHV(N6tL3^~c z4(C%SG+jm|&cU>jVAad)Hy_Or*~fli4v3S`^PC$<2O9CQnpDk6DdN*g3l%RuygMuAGW+Kag_6nM-Vq4>>@=&FPN)Vw`p@_B% z!+|G`omjOCd;?@1idW;zdCBN$+@2z_vN1u^K(qrS=tJBj@O@rSQ@BLGNK9-*hhcV4%S^}R)BqJIfl%}r&#;GzZfd3nCP@Tnk;Is!RZJc}fx3`KEx zK-iZj!UzK`)&;u*GCdY&A#}zH;7yMQ9qp=L^bQ;#TPlY>ZZR^!{Q$TY? zxlA@=xg4c_&*Y;c=jxT`yCR;TeE-nt_XOuhjt*50j2s?<{vrgTWDdQfGg-o)V*bF! z_d~KwfPw>?!HOPI2bZUMRhQQ00u=`r;Y}@Ho+huQuBJ0sv6i&kf>cxE!!Rr+XE=m< zQy{aB8lbVS*>&c$I$3~5 zjbTl`Paz$ug2ZMV#|mNVG}?iZgB2Sv9btF}y*;;Gj%TYw6}V$7n;b-wHwP=;2o`L` zyepo4$$@^9s%E0W1`Tf>)K=hxfofC^^j3wyNCK~IKE7VJo+QHnd6vW5 zIajN-PES~51f+y2Fz8y#I!XIblxmAlMUDCkL~5;ft#NdxaYBCHu2ir9DLXOnu**y; zZe*3-KJD(*5Yoh&khe3WP3l~Y;Ji>lXRUcrU2S~iAoj&h1Wk<>0iI6QL}2|M#a<)V z*Lt_lh19TH*H#s@Oejx9aOdb<1U7wUXSJtrz*>uX6u7Fziq>lj`t0G3jCT92e$!f= zSWlyBR)C#`b^wE?zKY7RQQ_v2yb}RD$+-((siET#YX^*+HWlzh@d_pbnY&RgCx)by zX40X_5jl}X(wBrGEaYJ2Rh{8;fwfMQ!lnLPY>D9xIWb{6{M@Cr6~>(wNcL_m(ORX^YQ6a!PsU!y+2)#AB*e-4`ra!~Fu%Om?%iyAMZ( zS`%|^2nHRzee)`U=7!pewR%UP)8nvmwT`MTEHa^wBFJG_wyE|L68a)X>7F8q*A?)kD{De!Y#5V}+q;2KR94j) zDQE7G*@fxfZn?JjOvzY!?lL*1>IvVp2Z2w$}DAf|58iV>52m>g17RBim4DatI3HLzJBy z${2b$8BHBvwNwkb(2S%z;3=$>VNx$B!=M+ehF)+o^n&V47tUqKX^ycRe?2IhidTO9 zAR^45y<)|mq*hFUjV&1r>JXH3Ory141dc#B$wja+%vKYN!HQQ|9$_V7@({!$P5tn2 znnQ2x3Qv-J3KI*sVF31%0;P}-%B46dPl3s!wzXI_f>EJj)*y>DH{y=8i(Nu*@=U9k zi%`r(Rx!0%#i%*hPR=eSL@1EJttMOZZVL}1gJuooY(uQt4WSa#IA&#}4aIyAG>vki z_|h=+^c#4MVyU$t2ttI!y(Vrw#1o;BXN`*@??0$JTl-nB&llU0emFTCB z+Q>o1#$W>?719D-eu|XKC3=bd>U*wGNOyrr?4?L}E~D9fQLjN=0fHLpWCu0~V*t9?c0qlFLF%E!`&O}@kFiTF?7vjSdq|FXbi6#zHU~g+dj+)l6q+r3*qL9(Vu(4p z%D|V960-$L^Gf3_5EcHC|CWlxmeywdYO06}2whI75@(5L|fwgYkvODZAtH=4M z@F+_?ZeYU;LwVi+%#v&%l>Gd_tXe&gsI~t32!uhlm47Xe(X_koMNpt)qdcY*9*x2x z$4Zzwx**ezA%E6j}r78YkB(UIo$Ge(o+ZzaGUPFFpes6 ziLjq&u>yr3kUCDp9jTnuiH&%K%7%=LO~I%Z>K3#|gL$VEyG|Y*z@A3Ni%YqMhjZ>F zqo%wpaX`a5*6?ckqs5}O;GTxo_BXO9)WKvSOaX3uwdiIEuG(r0crH3xYwJcxpz>mu z)(RaF$mV>PS~1{~wqZg;*`qC12*f4r_%JD(u_GqOi@@eLYj<-qAvYIbqy!MeZIS6* z*ojp|3g>dcXa+sv*D^pQLkgGpX>LHVXwAwZZiB~e3U7k&)p7}PTP@~O$|0&jeh+T4 zXst^C9@>V(sq^7tAdFGYp|gFtJO!?IOm%_22##L$YPcSWM}{xRJ&YGBP@Eg@9+LyD z{3XGsA-dp38@8ZRZe0m_0!aH7U282yuRX(2 znZx;R<$=js7KR>ljUM7t>!4>rOyU7#v?z=mIT+AHMzTG3GbI^EN zqgxCu+yT)1kA4;c3?Y5enh3{6%X1;C7R>PNAg)rCzds) zNKnZ6muTU9JG&ujlyjq~f&=D%DvygS;K*ncC#x6>)T3=*7N{ZI;@O8~d|4=)kNsce zu*iLf@)6!GbSknSV_!!0{Sv}pTs5(HAgO_sKVfHIfi{VUZQr3QzfC2B{@+e7ku^*C zSouYEgsgTFd@$-(Bx|)rxE}k;GFCoZ@nkc#PK&8!PG56m<=N#M;;RDL{Egxh+P(Ds8vqbzqi90MWu3D za8}s9e+Fm1O4uv*j1r$Esw#qRdV&5i?x*h?v22+UH;8NgFkQ{yUx8otK9EkIK0b_iL>%oc~Zx z3-SkSUl!yC95{1S!d}r}=a8^prhJ5bDxHaiausihmJ<*}b|ja3r&%5;T8^?jQnV~# zPJ1Qw-{_+qsqdMOeY8b6H;VOkSfhAJIjxpHW&5&PdVoHPsbsyP#ZE8V*`$1I=XG>i z18Xt{gcD&`0tv!kP?bb>;G|ND6wvq7tiSm=Z=?1^2oEyb9JFHP` zR8FhGf3kf!4c<>2yX*KnA+jr=uKBQX`A!&gRA`|TR@z~IY%w+a9ENI9TFxkt2(&O;Z23x{{xemqeqzFWLi}DYy zjOGESY1|F~3~Ahc`@Ql=+EbXWy6DpNxK`vJ$rsDCb7;6FaO? zEU`;o0q8`t?Q4NAy{gH&>Y*g^X)0N-Fzoaaw^hnV+@3~f;)-vw$Y>;j(oNMYk8Enb z<&jPO>btC_{x|r;iz*-6`LuFw6pz_qjpAXuSlP~Hw(rpGyj~^i6|?O0vYi(wAKN*} zj#$Q#QVE}JK+6dcJjdKk#-2<(E>k}PEs!Bi)k#A*S@E^A#C^Guxij=$-2aSjQtg~_>bIZq5cEb-9AFpTm|A5t&1H-Ru1Rgmx+ni3e{jhig^M7;xLF4!BhlC1tk|IEvc+$TTJYKaSTlVs(O?_~UKwFkxjQ;fgl;PGUD;_QRR zKgIriYhD^Zwtdt^pU44+i#wJLO&q%0F5buGVAvs+rf9vWIaE1XYbAoWisxxrjXBS@Bkxg>Lm26^B1hPfO)8S6EuNoYMg9Pc$T}}l zk+h5P{N+~UPCL?rP$PctGKR-#6nUXM{{p8+45daunO$OxdoXP-y*z(7HfFeEjAKE= z3}*6(1yCv&@fXM`{ITn>NEiS+PcAdsi2%Z|6nEm#oId-ylVOhB?617W9hu4e4dOAZ zR(Y8Zo_g^Rm#!gm0}L}7@#(CFe0JrQy_}U$1oTEqhr!@+UrP?oeC4*YK^y~TGRWN6 z?AjpSpDt0MYoV990R@Apc>SX`ZlDjX@*Bj(S>+G6%Wn`{zp~2rh#uQnE?$HaYoJ9h zx3GaTZA-Bj7`bBuc7dx_qve@_yHC7Fj5uU`gZOsUq4L*@KOZvQ5YHbnzCk>Yjp8X zC$-PB)y!$c7WfivB!ws}vPTv^*9^DtvlMJKHm6_YIbww*2bA(QExtjqq}G{E2}Teq z=M~5pjH}&kaUH2AJ_UQDN;xbpzD8O*9+4{f@)?{Pm1g5m$WYJ%t+99GX{OlapbTsQ z;A}Uqg74CCMnc0_$lLD;m#q4W&2{KXx7FcUJPtheJ|l<0?bFWUrFy&*QIQMuf)Id~Gx zT{*`YKG~dtp$OE?$DWUOZ@8FaXJR46q+apu-@i{qYn*sQ%Nco#70VX|_O)YcPz4Jc zX1jnHr~;7l?=bc*E|t!S<@z68i11g=ayAW;j}j*?cjB1Ar}|3{Xb=46r}nK$U;9mE z9{yDFr;0yb{!GBZAfE$2x`SRc@uspG{`mP5FnCNDvE!NKO#Yn3pR@UME`QGB&p9xU z3mbtL%kEn9W#PLIG-zH?4jZb`-HxU!DknMT9#=65c02$+uraL10Ojlk;7ol4QYT^f z7T1MUAg(qt{M(;8@ZQ-Ia=S%qy<-6IAS+QPADChrQX~iYE3b2E(aR8TUgG4|ta%}QGijZ_Qt1je*HdM3*}j}G9*MVy|x5WQsY zy_#Fe6&`;8sK;qEd7HLvBRYp?NA3q`I7WXl(-f77y|*wC52Uw!g%mIqXK)d5E>E{( zd_qj{;~OtohofZb{RWt0-WUcS!UU@J&8&vVa7z=8qhsKrIGu45o&~|rEdE?e95#x+ zl$-@8)^o?0f)Ooaf_FADx*2rk)K|L@EWG#PaDT@`5@J8BUM-bWi5-1rTmcWa=KB~Z zXL1BSDpM$^h?#Bhiy|mcU=Z8jp|sU9^~5@s&?yu1Lb#2?C0`R4hB>hu$Kv@E*DKK< z99rv1z)RbwT3Zn?M-1*_%i_3TiLb(RnF4yFsqpfTfBay&Dy4(^}6?A0A2Y90@pz*0uz#$0lJr z+SWeF2UkqGbhv2uq+|K(g}d9>a)i@}O#-1zt(PMS zesM3g9r3B)8|sv~SgZov43K(;^jf5UHu6b~m1i%1i9%OyfIO}0Etn#hB%HonlvqKPo`;U zlXTj&RG4n){ui1KMon6)6tv~aA~BZW*(BSPsph(zYX0MU8=tv`X3;ab0T#(-?7^aE z_&`Ux3N2GbVNMlQnJV_VJ$A5mq&t6Ya$fGhAy_$uq(@TN2Y!c5gCwq4WZzNCBsk7W za3mAp1dU8RNRjNI2p;;p)v5iot9>d?F1`Yxn?gyBwu4f)`pc5Z)VleS?{dVlOg!Hi z`#J%VIH+vy7QbA88S7y2an4iX=Qxp_l_XPsyw)Wa=SBj=?D%qV^`YY9a%%e7w+Ai1 zPK-KKe%M8S>2XlO!Qh9?dTMUrIq(rbZwebfnYF<;`N}$4GdDMi zVP9d=+1+7sPHV3{84DPk?q+p={hKxF%f&W26Hg(VmCKX2#XgPRF#M=;3@G5uvh#F z)D6h@!-4{HAzr=h^;c}*>v)nxa4O{D%c14q^-H(bNa%vNbnsTj4%$t{=*cg_>D((Zv^Z9Ok9^)MoZ8|qvA9UW zv;+emLf{#=eWZLpR=)hFaAy+ac%^>1O_Eu323^Tv|7FvWeB5!si%Nh+zfRN89U6w~uXiX-hp)&cn@^or3P18I=#> z+<1p7Y3pCDl4!+U{bgWQw%SX@xlAnitc3d-5Cz8=;l3p8E=^2HyPXN^O>sa5Wz>3e zjS(O66rRa5x&-b}tkIvx0xK`NQ>%?%irb`kCBmV@SodnsT;A55a5_e>`DWXQ&ayz^ zSiQYQ-6}wY`KlE@nc)RidKDIot}Q5=g7E0a1<14a_9wOH-yb};$Xv5ol(~v7)Z6s} zgbbQHq+?B)vvX&@4C;@dfilR^xwBud_Y1&Gby{^E8Fsk&niXXpC^4%be z7_eBd4Rx$5z)cCv0uJ*nBosg4+83Q<={X2mIcS74*!Fe@ES&pb?l3;tS*aIBoRwI* zyaTWUW)};;`Buoyo8ZS|)&sRxuq(QTYOP#W!Q~ELiQhBBd`*3Z)^-mB}*aWl0(-#6m5 z3nz=cLZO39lC;V(G7Cw;47W$1&qj*Zpdm^g$ywMXUSn!-1dOu{Vz5$G&5~owdJBcv zMB|a2_|&^esd;k`N6(&_aA2BGt6c|KTG4eKjAv*vsU$ieq zfyOm`Mggw>PVaLjR6{2xr^O{K~=(yzrdr((yiKbWNcV-P3Qr(D4gn-7IL03n+9ny@ssG zzp)(~#Cacok4HiB^CHK$+*OblIhxn`H;6wVH1Q;11xN@;JSh98&hS;W~wA88b#*tT_;`l>%M|9;LVsRE#Xk9PMPh?pI%bl~V& zyu|yFBQNnPLMo>f&LjDsg#fl?9%|=pxi#jrLixs)zd|p>6tL^DsN*i z%>&~q`R+rEoO7A)Naz;*FjNji*ZZN$Gz#7li;yW4AM!pDAxg@%8z7pOV{Xo)h+d4Z zcpY?sM9=M;h>=W$ed9dwI}#7TxDM4r`v})XtQ0RhmNX+H16HG(&;f2T&*-YHd|0FJH$!7FHHMnW+oICm?n4+>v@kU2*hV&<9c$tCRqO z2_pq(bgq5MktI`JOs1K&9@<9c_eF+S@L&;O2cA9n@H>HDa#WvKi6JVNICbK2I-vr7 zl(G23J4{rS(JQsV6!P!H6M=v=ya)#E(8DYEl3B^A+-*VcY@xc$UVC`NpF;A~Qy-(| z+8VKP;p7a7x;^3yBtUzPK@pGtK^1Y2RYV;#oy$zpcuC^lz{oLN<~n_6q!MlL_{|fw zRkswz15R)EJQ;c`LT5)8_RkAT?<{z6&@0}rbO%k7^u(JT{>tOS#RXW4klh~9w98_* z%_Ui^mh}!oy|`c+FA4lrLAB>ot6@6i)hD*vtwhpyWlTw_m9P(9#TrjR8BjR3ZkO2G zAl6V{j&&0xdeI(P>`6$!sY8wi@ht-OmaVY6>pc*0EzhZgP<%a zuQEwSp5@!-FG0-7#O)hjE^bKYl{}d9J|=uKh;z4puf#-gE)6#3$8T~v%#B9Zdj;Z0 z+py7erxU>M4iB{+w!``&*tN4j{1i8NxXXPr(ikys?8YK%%PKa$2c3b9W?+qfraEcEV}A5KJd-0{|dID)ij}FP4$ft1((|CVsLxQt)-N z1`H*9Zcy!NRIpoC9hZRzFN@w;nisjw#KVqw&%5;***2^V{n{#j-QL*{AI3(GP&ODF z#CO;RWy<7{jHrkdKaGttZnwX0MQ}T(Aurr0$74YsOr>D>qcps|RR=w?)JFHoDzMo* zhf*K+-&Ol(N1>4^Cph6zGQZ*NyA3lS%U_A|lOvS-O}a6gT?is(+|yV8kWyNa(3`|2 z_Wy`Vurv8kM2~n3Lq;k^D9=%ozZ?Sal(_$9Z1@&+Gg*VU2!+T&V2CqNisYjW;@w#| zppbe+V%J0u(hh5VVmXKdIA`w|5XSsi^1-5OsBHSUw`p3{`_A0a*v$D0Ug~CbhByJ$ zrPeZvw?gZ9Q^-i-fl=$ctm&x5>!v2&pU0B~y8wAT%`ZLi2A}}NjE9VKqC)2`dV}W3 zFS&&+Nac4U5r^)q7oE}I;^l?pJeE7132NI?cn>K)Wa#yHG0B{?`}tDz z32AHi9pJF>sk_BkCPUR_R@HX3#jLg%k*wBWu5kEiqpn9Qtao<|hoaQsRyu^CjbuIwON|IGR-X0&-a0vY?&LzEb zAI8bS%CGf_;kktafb8-O@$mlnF$Rh+Z)E|6Uy z?rT;&`L~#v#%;j^LD!%|mH{GthEu}s!!;q@SDS)i;p~yVuE*@AGI~yHWjY9 zNAdDm3oDBcdl<{mLOu0HTj#?3)LJ_t6fZ*rh7iPA8F~BRc@~kDcso}3WABc6 z&-pRj8_aHhY}gV&kr9{GJIV6xb~j&24#Iqi`F`{}$2{ERJl*_m^XJ&y{=U|H4SWj< zQZh1e4u(OrI~DoRh|hocds8#}N7tre17aA=dni^XEfr)d$QYdEwPn<{0+nqS@VgB8F2PTt5>@w#(mthVP zbz4Zky+-U<%qRJ=D~iMs2#GC(J%Ik+?_vv`duq|F@^poJN@@ zD-D>Gb3fgch@B{TpPU!nGZJS28aXtxXj|!}oZ_W>?eRfHmn_Sd7FW^smfMT-@CE~j zs$85103{zS7ej#o$eLvohX8*BeFc>Q5~WIJLLLOq!(p1i;&m9f0`p?#C;KEj8I0!n zW+Z+Np8_fUn;Cc9S2!^Zmz^LJ&$rb3r{ghi!H~=5rv6Z66|}4kpzdS!R1cm$O7%pr z@+G2ic|A6{G&#s{Oe@9v?y+g5wQZocYM5Q9E)Ew2V-CH$nyVs+rApVK=*>u@0^?Gy z8@~`E-$NI~FD?$nX*OYlcofoO^oM+{m8%tOXh#mmtZ@Z+!$h2!C{6r3Le&Ae^If7C zN=KMw$4g_{(iTLR=a;9}dlQkPqZ7+h@E{Xje1)a=bpGT_7-nX$eUh$R41QN)lKTj_ zL?`;dS*q5O`^cRIgxrCC^4?ND_efaGw@PeC4$73NI%H%o+7W%(u;nHj&-~`%`hlNh zXoS3vBQg7RZ7iqvfI=Y;fQoT8kk2=Be-$r+dh){KvPI@@EHKns9s=|EQxiT&s;}lz?CI=tIIe2W#Vl z!+G2x;q(#C3I9VlL;o!}!6fQg+sYl^r@;lLB;`Gie%>F&*FvTDPf)ywoF-oK08S^# zvZeQu2D)d{eGu$t(ZvDqAHF9G|Kv%o=&6OUAwJxzrUYe9Dm=B<6okdexRg znI#!r2zTwPNj&Hybxu7POo*XBs5-$jsT%@2;BLZ?^f5#HY$#rM1D-{a@^!fw4hjKR?&G|7KD6-`haSA)`xJU8{|xqwVM}-Wv4`{+ z#Fiw^0>|xM#~w*>qWe|J*RA`)%CE4;+pr#xJG*O~=m9JOK_y^ZJJ&;ExDygXK^wkK9x}jtQ82mCE!Uw#ZXtch z*;#H6So1TcNH$z-LT;P|cTy0vPQO_6ot9kyRS*YF@xBaIK6!aB7UKuQ@S5U$=yRkL z@_eJ5JI5gOM|tVcM^q@EB0Vh=`ePXy8DzwcOVv2#`_1{jycUU%D!Qz&FGGaW$iU(I4>5fDK{sMiPenZ=>YDD;8p9`$et9`oR-Ehi#K65 zs1xTB04eup@DHgLGgTYp$A5&!7+oJ>2Yi4L{mcoW)iB5OH!#o+N9JPTkkD@wd%Ce4 zdONZWqMeP_#D@q2?$o{&u@)?%PGf=6X@s4Qc+pD8pyDS;hgG&0ds@50eI~J40_|%;TA|iKAb*)D!#csZ^7w$st)qW zHg*iev|^}QQWu~SEvw@}RUoMoS09!)pe1=6^sHFJ>Uf%_s3#aVux!REyX2SOV?!=A ztyC^&SYP^$EhQza%M%$62%X=0W*2$AG*zn zH%Pva>&@-+2At8Ez#apYQ30H*4#NgZaR8ewE^45#ZW32rkL|+(=v1$9YVijomjP#j zeCSfU^^kj9=owfpxwfpFKPU6&6#i83XAF)4xOpDnbetu)w(Jc4jN{LE{+vk-m!~7g1fq^%&99zylX7Gqj zGQ$+ibIjhUe8uVPTcJ}!M`4zG#pzw>YkG+wd&DegO_upqfm?HFbpd=zwcD`IY@It- zZ^2e`W-Q9_m>H|kl{|gOc#rtEbUgS8Hk-iOieW1epJ}Cf%k8c_7>G;dgIl!RetaJG zlT+28cZcDqcELt*sv0TK-gkt4VnaTG8*Y{0^B{xCB9a~Pk)H$C!+*YuuHT?ek zbq_TS;Kgj5(ZNxtu2nc*Z|Cg0BEbIhFGR_y|YkYT3&#_0&dYG{scXNI{r2lbkipu z{~Hcd4Z!)W0rFmJvIq(=r?#qd2p(>3u}}$2W#gz$oWYVM4lO#*F|LU|v|{z0j>K4r5WvTs{nK$rA965?0aZY7WBzbRuaACw1sw z3tq*`5CwBfWAN)KNy-p00pqOeQeGnIs;bfWtniy zk`9}r8scN5=jAKK@gBm$TXJ5U;Y1bEX^0=QHgGdQzFuoJ<#sdA_$FGUvj!DU=)=zV z6rXoFr)HTS7dOirpV~7;qoD`Z9OcrwS5q_#sg1^Mqh5;cYn{8h%)2C z-sj6d!sZ?O&Ih=6h^gmbyoYPQ#do1W2jfjj_rL0o=vI})p4-bQXMv+`ubku7mdLA6 zrjG6{PvPbqo`5rJaRFmb(;%Z_k9V%S>7(R)1R)rQazPN~?1e?dWNbls@+xzR8;C>h zo2Z#pjLWuH-yLugLz1!GiF>L!X(8*QgTeAj2%(kJUbunf?R^2`w8otx2oJDt?1f|O zP8W$xt)lGdHqBRbwd*Li1hBc-iTX)~kYcd+2>nI+EGcdm|0R6terHL?4+wg{&U1qi=b%0W4qCL;6sh# zRa{$ddTp5>j3LClJc!+BzD2WVo5Q@XJ={%UbzBq z4QxzW;5~u58C}h2mx_J?&9R~>W8*sWwPkhk_X4>`%zk2?I(;?SEi<9B+%ij~nH#Hh zLnB9EGqpYj)Bp?f?}Q!XyXLXi>cpA;A5!4h2AL)(b)#4c%Yl+vy2Vw`QF-b8qw0Xg zcY(x`Gs)xJVj`lJB`;8(O6h^%$(S+HgR{LX{jC~HG4B?`WVlO(|0xsx{c4o-LO-Y! z@B+B`7ez~Nt><+iYygtN52_-{nt$WCLvY!hAdrLb3BnEUL|;D&=gBZcS(O-Z1ve7yWBdu+;{dfu;w01f`{yK16oXT8 z(63T3%}jGM01%r+VECt!r~?oZz<9~Zq(k0ETxvnQK3q*%-Fy?9+OpgV!_35C5OM~U zp=Ob8tCTW_-DySlC=E=ZsRx=kLpViE9mpk%aW7Xhzgbfq%LE9BYUA#lb zbl4Wk*Y2K)5Xed9L?5;md+^GSXH^yYGCa!6-z*+=L`JBldpFriJ9S053fYj`mC>Eee0}mz4e`CeX$;w=^L$Yv-NGUzU|g`nf1Nj`mV6Pk6PcS z@YO3;9V5jD>3R>}jmm{<;(CWcOCn&o9Ja8)iZYsDubkCHTt zl~|itF@&SphsFc{ zLHtj~{}g*x#+T>FxW@!b7}E53Jp?N&DKFShb}&7rsybiQ7vZZA62yrq1nH|w&>&84 zwRz&OGk`Ie-0-f`+IkTjhaj`$Y4CP%F{07Ho49f%(ae>^PAt!<>0C#l8)cP?SGU7b zJYc~3;%g51PL#nI^ss}^Awlr~8}&|8FUHO-BRt~PkJ;^z5vIh89^~O9%yC8Sc4mF` zFccxqzZm=sD>sQ`;Q~adZk)CvNWtjKcoYY{t9!AQTs$2cnCJo z36s?O-tUR}YjFMt_kz6dgip(n;~+m6=J){yB=%y%JWM=;)MUwz;|s*R6T$gxHuXVS z3Y;FX%yvTXPqQN2(R>=1<>29e9sZ{i;f76pL9US%a9oE?jc^7y=1b_rco&gy+*jZ?*Xtd=AAD8owANps65Z37QV-NapXtC>-ChQov=lQ5h#b~q zR@Zfj!bct9<8+Uk`Xlu^i@K=_&rYOItjCYf(=-c@K--C2s5L=Jl{qA9#lqL2o?Vdp z@9C7KOnJAJQZi$el6*MXq*pffn|~7tXD5@ymrBtQ@Ee+cGXU)e7G{`*P%SpP!o@7K zKh#=om7fAYdfLqXG}>LG?72 z1n&gPJ4AW8;9x8bBGtx}p@UkqX(tPl)Q^%BiL{p0TO}7WlbZKHpGXC>!#2siLyT~Z z!tV-vIZO>?gdjosip=3)Y7jfI;KV`;Drrtazj=pJy_~2_rwH$XCbw#xPg~y24l~4U zPcmR{*ad0LhqBiHyadpdtUfYJLOOi9l#p2VP2Z*GgmaLSkSwzxx?g@V4;%4wHpj4W zQ@LsuT7!pgG9ZTQpDRT&@x~L>SPJ&H%my+X7Hf1uQk#mL>Jhz2G0EUFR>3svIT#MM z>{CP4`-A@1xuNEFj99@| zktd26R>{k7h%?~1r7m29OFi?32jk~A_+!^QF?C>BR&Ks2+|&dT*+l(a67_20F+||S zH0tsJX7WU)Yi7CuJ2D#whB(Gf*DU`0IGclx48?9Nm)Ch9YFv*aPkij+_*BUQ*r(%t zpNl0-b*XiW!0{Y;+Twalut}d%vt7?ZfM^%G0aKnmJz~D=5nX6gdV0hdpfLsU=oVOM zd6Fmx{b6}nl3c|_!&3Dw>|#uY+%h3bs!%irKK2f2(6Gy%0O!t!|m05)DhM+ z7R2MXU}J}gPkzJJZW15h%e$_adpL`|0k6efUbUUlE`%lMV;1}5Fpf_`^e9p!24xW( zPOw@WBLfQh`Op*U)hLCKT!wEpqnm8k?-A$O&TK{}RmO=c01c>BYo%NkG~3W4dBK9V zZKNdcx`qEEi25E=5cS}j4bf`&E#y3DJ98j%V0oQ*4chDHW}$vDQx> zcnJer6|uSHvAOQpTr4Z*dSY{ZvAKRoxQ6K9YMr!#Q8W{SJa@4Cvmq3W|EwNpKuI3) zEQUpTj6CyaoAy!1sOPQL;2ia%5CdxJDr=@ka8(a+pJ8v+ys!>(IFE+soa{m%qz!bs z5v$?Bd2Cn5a2GE&w-o;_97}`odAztu@j+nL=-px{%mX9PC>8sO4eU+;(RYG!vmNu@NB< zG@jXIUw}K_1d}^pjZn}BFb1Ii;l>c(X!=Q%V*h9*xgV`G3rvP7^dVs!_$r?K;~?aW@{ z)5!ba!IF1jDj*lbtYA$pkz;974D&ej1HE#8;v2&fx)T?G-qfsc9g5{_1J+lni2d}a zHOq7dtl0r&?l;4H#TkYbrm6Mvw*$e!OgT`j`ZL~O* z*7#6j!0XF-!OA~SV!-2>^vInlYl~1m+V_8R0=wZCs^wSXn>~SD0Ke7tNw#yJ3G8~z zS-9C$tHd2_rV(;+Db_^)HvxWbg#!5Z_+|tA3-~R7@3Woz0KA&!s@1|NeBfDxU6tVW zp_)aGmv!yhXW#tu-%xDoZ*)&|Atmgdp_{=4F(oMqz#2q#I(c|z!HNC1Y~sOrd?+5J zq-ex&sH=NoF-ya@RF-lLIddz z;aoy6`bueX1Y+~^!j*`1BKCBskgPZ-H;azP2>~O%REjaF5(oA=+B$D9k~_SXT&YWy z^f12{U^Lx>3#pWNz?L47su({2A{|Ar>20kUx`ZoSXFyTC4CyE}mZDRjDplJjq82;h zys$Vc>5(5oajG3l)?N-FiZ*&w0V*j3+bl1)j#w%GSOKnaE|&q^rhEnamh#OxBuGMf zw^Rt&i9*Bci<5pt zdAfus(wJ(|65=@LtJ+53(MIG+(` zKZ|Q}lVs&r@ihmH$35-$FGv4G4}5lv=Ql=lpxp}?f^XFWIaOrA zkMoAr|2+R~2hAU+(oxiWo`b@y^3|IJqYoax0@N!C4jPZUrN5kcDEt{>@jr>b`jGJr zqWX~W&0^Fc;w}7M^6v-1uN8mxq2sZ&UM{*Z;4L!9;7{d8yhl7ZBaMbkd>r^$oQbdq zI1_L8|NRGnFAjUwOFqr%yxe_%i~e(yWXfm#`G=@K9_REcMrZQNdq(PjWY#^SMW5_~ zq(P3h6JKcIxyN72WAh&yWcHAoV2#T2(r%O%9ty`EItHm}*5g$G zC{4z4q~Pp>3n+QQkgI!ZE)rGBS8~IzAVAqk&V+hOf5`>7s2Ba+edt@Bg|)05c)PyJRN z7)|j|9zsd{8j1WJe>36_Q%f@Y`I)F>uvh{H;q6{9n=lGAM?42y;Aw!haz_ypE5p7} zYfUS~XbHC!b)VF@cf;T^CrIK0cU>w0x&AEnrR@Aa#c8CfzeOgo#%ooMNEIuIm-GXe zHsqr44XChi+7S7O(&vzm9*N&4;K6x_=TBxGR)YJp6PWOHfN1^?Yu^IiRI#<4-k<_C z1&LNf4O%q{Xcg3!pe8hhL{cfD0*YEi5$_ceEF##F7FssZdiVE=$IIb(Jj(G3qEarl z#mYrggo7UNKB1zhN93a9f8RBGCuy;s&+qyAJk8#-XJ*aJnl)?ItXZ?Bt&7I7pdG@O zI_f#NdG!>&nO_0ygxsaZI$W~Ng-HRz6d=$UYuClGQGj-6*8}|YBJ^qa6z;WDdVUII zRV$O|wrQuXPHKY6MAM4BrV5Bn;DNEPFxK3g1wRs+u#ob}eLxEL0FlX8^r+s|hPQEU zkZ!{=#ESD9_~JEIa$oyooEKR+X;}Tx@jj>|nG+an!+~L)Z6L%*Z_ypu;ejylw?~a^ z#%Im=3uSn0=K&W;?u)16flI`R8i$*E9|$dAKmP-cT^Nw5p;9kqMJP4ny*s&^(j2~l zSBifY0nnDQ)e&Bz87ct>ml5 z`Tj#OOttxt-q~cK-J#uLdm442A+t~hRS64aSHFYy@X)#m{^lh3tCHZK0Cnt3M+)~{tX4qDx-vC4tCol3f_C2<< zO}-S?g&}J)MeFUvAWi=C7!;D`*6q4hAqY@x68Qlm-rI)naM$hBax5Au2l zc~n1Cgv!iC8qQ+z!eO`pVNV@4 zHTfOzACh>Jidzs+j{q~2|0m1n&x9|2#B$fQfing?@i&KN3E?pD8E6vvz`VlIC83Gd z{^WPKAozs9@~<+yZ_?(&oAIAOWC!$zx^@90m}OHxH_#jS3M`XYHFn(4uf5bid6 zZG^}m8L{r( zHF98deVM>{g#}P5e5DSt!ejaBHU1sDuNSzm`}+Q0i-pQ*_1J3Cb58+=H1 z{$?FwMb`2ao^NB_Q4y?CT|iWtea@3+M+);vOGE#fv-|!BF>Fg99cpOoXTyRmm7OV} zKU3L}$k7gKLo9%TwE;TB%J$={<_Z&fV#v(T&y#+&`uBpC-4+kVIrX~P>!lSK!=O@s z{cLJMaKnvLo3*f$4rt!xY!NnRxhX9oJlJbzBRVk@)%?^p{7XWArVR^` zqg@*wv;ayQ>UD^1n8jD!h9<8ceb>2o}dN6rA|H46Rb*XN-W*iGjq}D#`dZAjh06 zhK8|q9I_x;_zQ?x!u1k^tUF@by34>%#z?(>FgnEW{NX4}p&!ns=weEVOSP6@JpqzG zs2{)E9|vX`7BTcWfMHJ28dR!B5Hy>(5qr|}YVr#~g|KkHg)+*~zIiv~SNMi}5A_PU zkGesUXJH7%{)*%h&9WPiN!@xIrkWs(!Stlij9t}i|1X>TFzPz?U4Q+2xuBk@xj0dm za#fAFrCjJ4napQ}`K-h<&QGoNsNAX8KWo&=N4aN*mZgHr4@zmZ;0 z5I20)f4KZaiYf&7q|S%W2J^{#EeQE(^SRJ`K946S!9{rbqYtQ5n2!R@v}-Fv96&9Q zB=g1iN9{gRE1xFgBW>Wy%_r@5ywUTnRr~6-kRu}+6Q$gaLr4@k9>0FSDd*5A1gCU} z*`j}n2n;+UmHLMH(VuLP`j;7~U|q3QF6Xes0^rs2=Fo~7G4Hcs(K#-Jc2UfT2jo8dAV4V2u%8Z-&{e3~w^S9y7en z4EqrV1F6D;Lvp@Xd>p8Elh+&^kQT!;C;ZL>)5>FMIJ7$8n>MM{x}z^E0`6aSMUn zrw#cmpckVT5+#h@k2NPwQiGN3Mh-k|C>W1SJUn&S_W*FlghO0ig>KSX8YtB-D#H>a zSLH6nOj&q){w;6`{&pTRg+}^@#KXh&LMMDS45cg5nu^QQ%veV-dOge!9$@>Z<$e!z z(uUJZ{7C!uHR=s~;qx_IHe+lR1~L_igNB?RFEv70Hk3fO>e!`1;{;Q+$Yj-YsC(XA#=sGh4n!do`~Tp-9mAC~Z8{@j z!??T$9n_&bJR0=lK0JK$(A($%dyNfn06SHB#MXXhm@x)37{ygSOA!;l>Bysc@1ezp{BGiO2 zrQm3wq(n$?bhH%`9Q8yfful?_AUOJEwh3Qw6uv2eqkl6Zb`*BhNtVEm0xJ02i6`jL zgGZ=@ETBag@xR%aW32>iO9dd9MyAZmDV=$J?q8^%Lg0~vdr)mLMSsS)`^&1Cp&={J|7>j8&0=yc|)v-B- zaM?@LG2LV(5?e@p7kj=f0Ee2nGVlObsh4C-ttUs3g!`=NESJ%*R*T5nOPEIwVHBY( zFr2mwur(r`5*v1iOW>Oqe4P;D4G-a0$ffo$w2>9J0oJ@Z#Of|eb%A5o1d*534@AAW zf$HT#a~SJPNH;8#2~A)lP#(nLfpM%d#}cE<7%f~F0Y78d!;JAzM_$O*2uK79cq||4 zTCi^c?&E?O0aV;O4`yO()hetObbUv%zR6Y*Fl!WVSdeH^4+24wMto5ZRDs7mD%}f@ zs``ahW8cEtJvvRlgC7a}2C z5Frf61BFj=a2@{<}D;LG63gHK?S z0aY_1wmh|sH}MnOc(r8uvkc@E$jzliDu^7*GZ9GlD zS#7L*J++OOeURG5Y)NVLR=F5)>e5rKnc*v>W9uUV?$5Tq6uH>?5pzrqR_o7)KVGx-ORWfL=hgSf?So5mQ`&xdJ#?thA8;DQ zz6%s%C3Ml^&45ZQhM}(+92pNsAb56K&>auu1>kA*G61K4b?ZM{%Zy>#2$N}FW_Pg01FDzEF zkD?*Td&RsG}?$6PUkrq#73Wz1-Bleo3OtDnv?x^F=IeN9j zpz62O>=-UX;*LHzj_0lK0t{!PcY;W%K7i2mM_5J$1=2NdpiH7^S0!8fXPHqWa&g2g z#LfbPXrA6B}TOmR76$mBJe1RDdG>?#U7MkCg zm_YN%jEEI+{T_9kid!m}pG}QBCKe(DA|(sK#+SWTWABqQQ?a)ZN-%XlWV!zd_D)=4 zVsG)S{~PShMlNFSHay#5?^*$8VeiF7sYH7Jd#TtvM^akYJJkva_Krm;fxSb`fMD++ zNoQeiuH`|$Qtg~Z?Cpc8dC(Ar-Xh>ivlTIon2^DuKnWK(SogF*iu) z1!#WRN4;L<^qnZAIhXqAoE^y!w*j^~^IfxDGB!U8nW0?v;0IPnsOues2vX*q#b!XL>+h1zqOKEh z6NAYD?_osjF)}v9%BpE8*QZU|q7kki%&(6v!&moK`jeiY zfb$JV{}5|ktylQ>>CIMr<@!Y}dw{hE#W4-jlA=@;HwMaAS>xa<;i+5sb~t}u zX!$aZfCYd3(^`Rs4i$nVVG7Ngd<5Zb2us#-W-VjUEq&5xX}SRKC=-Pz)p85*%`^sW zWXZo_K5W1yX$u0OK(Y!8SlKEK2c{<)4r;+n93G4C4MjAh6u~TvqP86_Wt`q6*+@)c zW~F#5fj9oK3=INN8B>WLbfIA2=P71Lu=I@;B9_!*XYo9lPOLu?NipC>x3y`Q5$RZaYtnwwvBut*P z|GAbL=OU08l7=ThqX-$g79IO68|KO zMm%F(Q3FC1I7T}-Ga15t8DZ-yGpK7ABI~ zdf{Z%%$3reoF-YPKq<5{<{TXjSz-p!=0vh>31iUU^{v-ls zBa_H~c(y~pwF1pTz>CkOlIi^`QW0>Dq_hxlsudCh9E(r_0f(9aLBK(h&O*T4aR~(M zyn(lKPl0M)bi_Czl;T)mY>MK z?DzA__<1TB*Rg$#gdgcVUXTCI;}hkdlT4FZ|3v)J|0O<7YjWL3zng#S@5f91S0>{+ zwl7is6Uj75_-6lXne^ZL=kk>N*jvh_~abrOCwnl1GATBqYL zQNOtBzqJ4N<2iGyBQET;{#@j%r;>R);zy7F&f^pHyF8gD**;tu$M!vPb*JSE{T!Rj z+p&C!A9-J=^euwi7bhfe(=mSm+qbgwc&Xo0oyQCRh;$y`Nc>LxFY(2l#|!)!V>-o; z^j}8j`DK2Y@j|Eh6aBO7_ymrU{bSA_PbK3z;xCc^j%1qD{E7I>|4aNiDe?NwBzal^XSn(FfR9hTDy{ zEV;%5DGL)`vttIc92XfQ_V@59Uezkyd})i3XV36J>l;JR)2R)}ox z0uN8Ve5d>#6Xbq%=!VGlj8HKCZs-jBJLB($ukjmqFGQ&U_xjK!*j&caIGFELk?)~9 z9GMb#4&rj#a0Njk^+0Y#x2^XZ)jB_Xvm0e)I{UZZA-mja>U=3pJ%^Bd=jo=j9cDmX z^R3xe9_cI7!Tg{`Z?pJQX16qBOxkQ!OSrVMg}OASgGcZ>I`g(5rcFB=pP07OzVZJr zaoM4-8&HnWPWk^0ygCcsvrBN2&}u;!|i+-mMGP1jPWkqPPYtd4Af^!f9QKW z(JdHEdvGNX9DWy#;yo7O;>5*3@Jcz2+nZ|I<-E6zS4(cf^*+1@;V|6o1G`Oq(?Q;9vn$knP-AgnX0`qPMtE6(4}~5K`>NCU0j7`l zYq#JReX|}9i~_p*>0RZmy1fC82F~>w7z2?#@eo+!Y|a5Zbzh2}DL}Y|8G&$k0n*qG zz!O!5@jmW!4H&KTR^_6rQK|I|Ld<~M!pOd}OO1I8k(IDBaSv31AKp5{$9t>Z(9G(* z$ZZpBxBC%OX`Bm3>!29CZ)-6aO6xEF)!huH`W+5&eM1!>cUMQ5bJZ3!GNOvTO(yqbbQ;m-m`!^9kl z?+2;JV1R(3ad3Pk9W~&NC}f?|idzZArx$J(fPM3aztYh#^&B>Jss!vc3s?i=BOcfN zmna&vBfg)Oag?CD;H&HFjEt>XVIt)XNZe3nQZseHF@qy|Hu)Pk zWSsbu8*X@~j$_r``$DH0urn*VApZh*rw~Z1ufe99*q#BdHf^4e^mHr{g5};_bo$NE zMKKCu<;iCh_`|Jv*I^#>CSzaIcg0f8PQs_vEi*A1=(?0)D2SqC&DO%1qGSEOl<`f2&i)PAz!imvKxtbet=J^2bn2octEga1)3BdZ_%a= zHIf8$P@%u?S`7#ouE8`K(wm>1>Sk0ob|;{WFnp*MwBHQ^`p!l?)NgJ%m^nYcilI@u zKIT+qKuOQ9J)hEw^i#P{#&ikjh3eXUR6=s6nW)JS)PNY#|6|!SfM5poh7}Tk&m$Co z;i}~M=5t9H#7!0V=~Th|a#fF4QgxZSLq1B<0Z0mTe+L{hu3Sw_q#BPmac~^jcd@;e zrAV(`Wq7ZGumL(AUS{}Oa`9dThU_zZbwCAf9rGI+52p$qtaiB3uc$oRVFTbqUENYw zsmp@Tq%K#ozuEP-Cke!nOm&-1HI%79S{d+ku&+yKNMv6If6fUNMD}$J^@;3r*lT|Q zrM-mti+H>l<;T9p2Yo4$Q@za(AK?RXhEIg#@JtVP^X*O|-k7r!t))em(c7fZ+fjko zUnO2)`SPxBiOaBA_pKgQWhDXo;rD<%19;a+S_kK4Pmy1DjR?)CFE zJxuor-4P0nW9_q0`|x?B^z6vqc*qwt9@vCZf`AH~&e_H)!7{;|UDq3gwSPzKyz|R-3CFN`JP4j#=RCqsbMz4 zm+4?n2FF@%xxhS2m{vi4(~8%dXM&#d~~?84{K^V)MRjykPY?-$C}lsQhepwT9M zEw~_szP4=TcLD0bYf|{DUbP6d{XJc~$nYt5*Ev-m^+$ZwFUrCVI4+;$y{UW|cT@#Z z<2u5xP!F`r+aW$G1AJ=xBq{KtRcMDA(`h{Bg)`bma*dMGzCv~Ae~I7aIH3L=*7plB zE3{kR%ltv1s`}eHQUzT9yEt={7@v8K-NwH#aWr`fY>~Yg_S%=3AnISNj=2(@6^X~W z(R}AN`Pz4x-zWlec_Nc!4Bt~=F=dEdj99hyj3fzo)V7Hx36!bF&WAa@G2sc!8FQGD zbH=$w=4Py`HAU6kCsJKo*LnH{LKjXnmLAanIE^QdNPv=?a#L<~flA%ml}_9_LFOV~&PPr~!vD1>>VdFz&tEZ(IxywUFQE z4Rh9M@iI1FlHS=ONpVS8HC|{UT3~#vp7<48V!Unz!Xb-XHd^ZNuwK636x&H|mYmN}c-CPwz9hmVym8rNXP$x*etkqTZDt5fNz)Gbzk9rno;FDve1HI#Z-8p|4U!W!( z7~g>&r-RfEq(|?C-isjR%jJ9pni_dIA1}{}4cbyiETT^f)x%gEgPFhy_=J2{WPb)` zf0?<4m;D;o&Ut=9(<1xP*Y~rHkzdi-FW?P+{MO^)$6-V)Jz&q#W1HWYj?RW4)HWnw zL>ncxHFPrjwh-u3EB3OBkU=^Zeziuii(+(K;5T>!AM+xoP=>oTbS`gcz*Va-oW+vq zL$!A;^6y0cQ*|Bx!u(Bb7e@A{hmT?x`*jy%?e?DP7hoUr;wM5aM1$@3V{sN;D5b$2 zDrXZf@8K!a1YfAmC%lzbr}Fx@%e3@qEt}bW9r#HT&b@c&-wyo)`>ziD)A3$O$d~%g zXN>!P;hX%?fsL?%(ms#jIM?w8_4`67cHSJY1r;jOZMNfr90en|~`sD24qNBt7c zeDzCsDh?j29>PP}CU9g%4HB&SNmiuwOUaD<^-CM|Lk3FyQW=N!OE>9{+w?=}$4)$& zBfIgdE3%a0o2PCmcZTrb5ehtLrH=rkE`*$8M zIPKnfJW;7mSzwWRLhl3`{{6e>zqy+#!*^)2ayFDpP-K8qkB;qNCqx~eRV8Ab5*zv) zUzaAocGG#_0)9+(>~A{Lfa*l1wjTr}qjO{Pbo5)v-0$gVEcT(T1^aN^os3(QjC0~T zyQt&mI}%{;OUAj{&Olr&8CRK%D`?5VndZgBdtU6CMEbng zBZ>6R*r>#JXAH853EvevGx6OOyFT%~Aa-=(dqHeW;(KANYvOxh%x!)bzS5C@W0MJ5 zMA8gBSayXhrClQHq5CT|5tv~Op~>&fKphgR&m}PNRX<}vvwC9%a5#7k7htv8K+&k zcQ#HLKUsa!~Ag%#6s<$B#G&jqFhO4*=iW*zk^gj4D6fo$&MFhgGgNEK- z`!{?PokvM+Vx2L;bfyCMxSsI2tx9~Ev^?!>wX>bVkM4^Go5%BGze{jbxn};BrXa(*gjx& z)RL2ui-H2xiliVkitcs8Nhx=kO`;~+`%eh?EB(+K7I6K%8|7Lu_9aLRG3<4i-+G5^ z4PUAKKp!q3HU*Hbx39jEGvt&*IW1-c>u0#yG6Hbph0|D^Ujnc@##$ZATDgZ2@wxbS z;y({0>I%5mS+@c*YoPupEunu=B1({RP%c|lV72Ot6Jf7FY^K&9yHZmBUZ}mC9pmcY zNkAyUu*v56s$ZZcso4_h3LVe4c&%C{8-Jk-5#Iyyt3-T&2z?4-2(r@YA{GpXG<&kq z3REJi;dE&s+*@zy=*Zf8^_g_@wPD0)(F0x_0tmEXu z0O+~lEIqqn-rOt@L)~yFmqtNu7_nP8XruqwgzGs}Lr#YQoh_;b`To~d9=5VR;5Bb9}=a94k% z(r<%j1~`?(XmZ(X&U8GT=pdVS3978!@1s`ga@Yjms_WVf_z1Gsgq9a~e2biG6lz|afVE|@42ttyzIk(Pd?k6Rk6#is|7~%{lLBp<2?%1X1sXyv zfL1L_W2Hi;qs>{7-D%+gUi<5xXys>iD%BgKWjI}c3@-iSCf+mKl`shFL zxcl<5a93abt>fxPOz=mRQTDQh`un3fwl(Rn9RC-ZF~XSe43_Y78Ru=v%s`nrpTEc0 zR}gFIa{cwdDy#k1VZdanhGzjl9;o3-^4n->f$Eb56enad&IzgU9<`T@u(S9mN4h%V z!GuiIF@J%2;}7y1(QVBCy%&QcSwu?tI)3Q`e*pjDKZ0NCQTMb5&h}YrF`#Wb#y1v_ zdM#F<_YM5AMo4aj1vpb|j-D$$?pMDRqPFNobS2ly$6(P<9l0lcYOZw?eW98UcHS2A zNAG8qI|4r=no~V7+PMQoYXuo5eR0xyx7%H=e`bkA}~4A^I}{C4n6ffD7Xm z5IOzn4~OA{=F8O{vKL`oMQrG=aytYj>?rTpkR)0Hne@}%x&|WtJ*-bX;3q+4ac|l*I9*iD0 za&`+y;rms~Ii6zbTEvrZ(Ba&-~XH2{?b)InXER9B>o zFZy|Y*g}@yw2|`1A(qod%C7qTtgWF+QJsV}l*s7t)0&XcS0>)`VmSYAes{+Ho_Ke~ zo=ChG#O_VJ7slqA?=t4bCGam}4oXtlesHO`N=a%m3g$rvC9XnAW)6%g{duZ<7WKJH z?PmZ32di>Y=f}tm%y|B$F;l39erdA_=_P(rapF>4I0}RzVG}x5b{4WjwuI&k6to!z zC`BW)!;=!GC&t?4pJl53Ly@Ys(QoVy9TOdnUF*st!SA!-%oTU8j{dd2XZ`3*2+z6k zmgy7&;_z?p&lwD(f>83^&N15?H;Pw|Su&riq4C2jdoG+2g*YM`-+@ zE$*K}!*m5^G7t1%&iGpQPq!Zig>rUuO#7nOPTvVG;e*AC-2K%mW!}AwW!lxX$j=xU z#f(T4Yw2@b#^C`Yn>!SPVYo5?OPh;8uQ*w-ZvrR-cLIk`m{;N)GTa&JzH8GFjgf8p zS#J%X%-)>@Gm_`VC zWWp-phe3_Vhid`jrS&sfO6q5<$Nz_=#`g#=#Oosbzv45lDCD*Aeq%~D1XDyoaQ%gM zcCUq{P`V1bfiN&l$ZDM5z3`3GGib;_#U>eS0B`*qdw$qJtutd!$0?LzWTJ1IDtu#{ z)>~_U`=FjMo$fFiavo#xFad-P^BU_|46do~ZqHIuVeC3bM$PD&xqthrCK7mrahVLxs7zQu*8kza<;jlb_jtLl}a@Cbk z4zXiGS-?`;QQmnYoL=_N!HNFi_byy*7|js;!#T|(c%a|b+?6C7e|_czln_ZjeOj2Vn4Zk$I^ zgjZVBUROj4$5Bc^<#Gbl1XtTFs{gsf;ik5XQe!J-l5v!x%7XQMTX4TH0vyhb$QnnL zf1UEAAA8RW06`Z#2snc-I&Ip;%h-^B0heAn-pD+OdCP)EJ_zugOoVYj2FT(qWIgiL z=`c^=;^$yo(aa_i_{ui8`+i5R>CJg8hy&{5urd8!iP6l~=6j8g`EkEQ9c;kRGNHC-o1N^#Sm(Ve2+%eos=^7~N8t%qkfV^&N>&rJzQ*FKY1{oMW zxcJ6p8HP%}KLU{;6EL0eG;mMf^ETdc8yF*>Pg(J$tdEfy79Ehy>EAsjZ@91Z* zd5rMTc^I#nswJNLdYn8;ihTLFfBr56>BM=`u*gu)knmt4q*1=Tr^cPmbC%d+@kZ9A zaiF;9sS&eGD+FViFM4?3rmLHz8MN9nZ;y9Zb6V(7Z{(Z(W^(hy=7!TrySVi=9_j}o z2yv+J>YMrbG@_zq8$R-$WDY)h?&fD2eg$?@?E{s+KVvnk`IG%-;O8g%9hog&U?>{| z>J(BpnVLnkLisYRV-O>N0bP=s33#yo0=x4Yzj)zQ0QabVoe^oq(uK$FK%cY#3-HXH zDCQ1F#i^L4W{|yfOmcUgS4SnVchL|9lR}-SOq)+W9^|sk30> z*nq=!oLZC1!xRZoi$y6iQBXIvG0m$|X94IT@AhObh(H^gH?k{6f2ur7kumr0We>#Mvy7Bw##>eXp zuN$9MKRUgBbeHJX!X)VFVB6gfh(N-F=wh>z+LvKbfH7 z`x#%z`C>rrYBJvfgilPvkBdJi+3Yn>1I6*xAs_w^iLVad2puJ2`ls3dAL83Ci|kDc zW!7#8Ux*d&MZ>W$j5=<8OcMn=k8?4f%DEY`ab$10y@tXIa)o=dCOsg~cK2sA;k z*|wQwES`08@#iG0b=E51b=Y(p4xOL~-n5G9;$7SuK(OSgQzvai^@eA+9ZKD4&(hj2 zL$Kq{#5}s5>zG_xBCgDJ&&;;ZhGS<8oV6eZzh&na8z8b#)?+17@wXq;1gv^^h9a>$eqB$G=K{l?*^h{6q^EL z=3*Xr2-FuVHATs~2>TO}Jz3$*sQ1^EMox5TIt-NK%OiWz>vO6Qu;0_TQm>l;?sC@7 z*i8Q!z$cY8%h{QZ@4uIwnxl}UuWrDnkLU)#bOBwdo(Bz~`rNR@aT6qSAQ@y(fiV*x zQ2XZq1Z|Xc64o_YKl)hM9$1n{s8BGt*VJsTaLhh!dq2F#AV3ZI<*jA3vTwjRm_ zbshC9U}wGl0dAai!yDrLI@brwVA!L2+Nv!W+bs)Rju|!ebQA8fjc=UP> z$iw}K+%?Hk6HeujhNJZmZaES8(xpBTrxXTMZFzoUCT5j&YBZDKI^$^0Q(%B`$EDbe z;vx}I7fIA6kuBwQBWvqPes#!etIEL>Y?#Z+%T6IUtZqI90--)!mBY<&tv#gusi)nF zI)x9y#`N7EEGDV@$}eQOnWMsqN?>8DPB{VKb+}din}RTEbe-s)v3=93TKNgo&ptEP zoxy0RQ$P0uY|rF*dNT zf|PBHK_=8xGQa~liX027X;l-Y%sW6>Cot%ts@xb0Pr+GFn()rjsnKbz>hxp{IR-6V zfOJMcLn^R&UQ5GX9a8@U^)Y}IpeFADnCG-zX4PLnh&5rNfB(it-%)4_c|0|{@Fmn$ zy@8B8?c_Kd3Dqj@q8VdpL~wOGFe4B`25A#iuLR?{K(joU@9wN!zCZP;GH_7PN; zPDN)bM%MOMg#&G={z6y~Gt5N>VXg(q!!D>$YCX!--Z@D^2Pc3(jm??3V}F}23|o7SALV_WTH8O-^+%t?f_8<@#av20=b?1)-0RdP zhrqR2$)N)GH4_fP0{2-fjP1&};~^7r2#_JI)}gmM)nmHU`QIk#NGp-3uuEF{1dJa7 zh6)-udAKJSJ*)L)>UFU$p&NV0ji99lBkKix#O!6#PADq|KV;w_%Mc4n!?~JKJcU^C z6kC7SZhX^|)az`o@r3@cB{Z2MVVQix#b-J14S49yMtn4~PIyVWVMF!j9Ky!Gq>EO3Z4R13ELqwq zv{T2AOPv-;j$=!iNJ>Z!XD=-?FrASMR{c|xL4}kt31u|+qj!yCw;La+<1wYk7AKDk z0dG$H9}IqUkvGk@L|O=$?({Od6@pN8dLK}BTUWe1gKjOls}Z24U_m%nQwR1Wy|1RV zWtW_`Bc{7u&is*%a{W-23XKigpn5#X8f-*exSUnfDac{yVs6kMhEgYOBq+y_uW`rK zpw#BMWyqrOJr@$5Z4$B1+;+4H0QgOf#HcWT^w2VCJIlR;%^>N zrYk+duWO8b@Mdqe{+8B+wTMo6YgS3kj_~2Yj=GX^nxKUZ8-?@SkVo+1R5gF$T=4G~ zQ^&J(@r*Am-U~9iv>hR((ou!lUe%6{+VK(*T_Ms9tVIESD55I-w46Kvu)#$p>r&&@ z-;jL4MXHJacw`Zg9FHvIBVx{8=nt zF-Wi(zc<_m<(Bd_4gIe2N{3oOr$e1b0nA^v=a7laSPeT3jCu)oydW;|*)`0XW| zIN*-VMl@unC-Deix~n~z#DRml>$ubTfeIrG6W6Gt1?*K_gAm3S76>t>vxFhac37(L zl-ajQiO90p$9~|w{~*IC_sHhk8K0xWVJLo*Kk~NB5%!wTfRFmiJoL?3msfuoB$na+ zNw|nPKD;3Ij?lpzO$T!{9lXsh!|Gk^`%EaDY0e{6bb%fYw*E<~D9tB*bDn;k(=Fw5 zm+>(MVVTS%`WOxcXOYUrf*vDsQ>iUJbxI`#9QwlQrq3PP@mZQqtZcL#qeP`^wGcEEGkuW75Yo|NE zOwQq&_G&kHVYWqKC**|b7&#kG&8g^V#KWlFJ~#_B(u@z{Wu7*>k@el*rB=z+r_=*o z>1wK`sZ|<4IPp}kBERfsV##aC^T`Rql&+$uKMQzCdC$L1W(OWA$C3hNI%&cJ`SJur zq?(Ag7c)D^nfKh@4gr)yx%-tokCFwarw8s&vk^vC4l3lGw-eJBuAefXwU>3ay;g3y zk5^Ad+v=(-2Izk&GCa5e-o%8W zk*&qIb{l;ihng&Kn>`*@R&8+o8iyXU4)3i0pj}|Oe;Ev0gtcBy8aD3-U;1jl2^||W zZsd(YHflXuRS1)ST-@5KsxdctfBDc0@@>MtPj+N~_bDsDPEVz}M^tFg{9llN654T6 z9{dI*U=+wiLPZt;x@CqFbMg*TMtd4IYFX3BwlpC5kjOI(?DredDm>N8pIM~+9u#1q zi}V_@K&1E|Ii#^GvtE5B!&r7G4H!;6u#IS5r=~b{XHedrZGO8UltID?{QsNt{?foTcuO9@OQ8AXMw6gn(Fy(HD0_1;m4_2q8Tzecz%k zX1+wl?KQ8XeWti&uXzpu)fXvZ3)pO3Z1q0MBswy(ufn=y@pXaoB&mhOiX9%vqQP47Za+DM<%9@u6?Dt^7#pT zwvyb6cO&c6XAhWC*8WQvYj^3{ya}P$%Dd0FOW^sP9B010{$U_V!0QP|;-`drd0} zH3^KXtK-x_Lcn_F2pm_IZZrw>bbKe$a`42^g`gya%S?8h21DnZ0)(sKdx4wy+=oEZ zO>@Zz(s08(T!Q$G7xm!T!9#|Z6>3#V&OR9$AAx2ec&mRB`&4$WQBCrS`w;nT2QQ`I zp6U)sriaj2yc?Ifs%9Ny3)`z^Il+5&4bS(4(O!>kZ<)R3L)~6IiLMmrmN~;8ZB~9S+Pf06CiGN_D;QRdkqL z;s(XceqYoj&*v`$225KPU~X^{tUe$v1|J`*^PnxKy+77j78R=RARojqagdW%0UgP# zpw3qj={GDcYOi@*GLnNHatiUXW)m|&URtY~Bq{nIPhA`!k%H9vezHvz!Wr7o1;5L0 zr=3P%RREUcw`<4C7*FuqNq}pP`3DbWtu*jcq*(pl74JsY@&)Z@TK^wx1-Ij`F7@>$ zi%*!cLDiCKv;a-q9D+_@$u_=2%*xZtjJZO|m*}RX5#( z-p^`zqJ6{l9+h5ifSUf*q^@jU|2s~lVlnTN`B#4))WzyKtIpA_^DQwOCQIQQ~ zQQoS~{08VTBn~?xz(L&c9(F$|5iOK1S*I4@X=I(E$LM@jx;^{gy+K_IU-u&wrvm9}IS zrxjrW_C=>WFBbH9NSbu|s z<7f@m-p3k1_zrK;4f(m#CYKD_;fv19){5RcnOlv4vNQnWB3Q6a$O8THaseIl1LPH- zaY?C64f#1ouhLxm%pw1 ztiKgMPm0iKXX)bB4WJ;aKYc7x$>ZCIBW^3o*SO=p_ZeStv8>IzGWZl`J7TYv$(PZ9*IP<@4O%AL`)cY)cd%U1`( z*-)PnqXc87i3l(AFW=VX+~@_azN)EYKb(ZzC=8^mBx8sAp)acV2QrzpYjwwzvs4!H|z>b*42U2Or1o6~`g1>PB=et!>`P_QJOq zWTQ*DfsNXhN&BDAABU%}P)NjHGh46$n*^|8s~z;9;0*Z)5&PY17#yfB?!q#HcpJ_d z3hBU}blt2%iT4@H1O0KpaNRW5OHPjCK1kKp*T2|l{t+ny#hwQyF)kP*3=rK!t9lF4 z3aUeLqLncA>P1P}stV;v9SQmi(`+yBRQ6$#4q!GjW}P`7VHg)!LzQyMCB8Z^#XzJH zy}Vj|36iqd%;}M(>^K`2yY~w8XwHWxlH>P^J2C*T4fJ`hp41G+s~@otgBnBLoA_>t zH#z=zF?td+*iRrBBdhem_B2~SymvxRzk7h^pHLi><-{SIb|`0kSL+@&+WZ{&BxAJ0XjD8t-SbEiDU zVPWoqn7SiO!&uZoSb%r4$PzLwTc|76b<^i0L?3$%Gy+`YZDXvxMutrEBAFDPWA%)S z3WCw$+4_7SO64q-rtXmC>J!Yweta~CSZh`H@fn$=8#D_I>W|yp^XR$~XBHjXUBvu4 zwIB7zcPBoznxESArviMc`9*M~HtA0;<~|1B=bK3z^>@&s;|lZBKky0CF>9lGN>${Y z`%2eA4JR5)ty6ZN*#+LFkEkNdJYr3ArUk@O~ScA7set?D+Q9jb<5xlP_YeDLO0-3AKEubPhEUO0H{1Vum^dTTY8 zDATEwa5fdY;9C;54#tQAe_AmHmwB+mv>_85<*8mGm5dadpi5$z3~AkGa#Dp`PBgv# zaBm%iKiHGI_;Zq2&qE}nzZVyeC)3Fbc7HfMh3|v3(A0K|{dI)k6lQ!R)-!Z2HkyXu zzdx+=LUJVPiSvMzsN%Hjyja@9wilUu1V-kVU~y;V2}(tcQ@=;-X*P4KX|+>4i`ySEWeib zAVIYVDldu60J2hL=?-uz6L3C1nd`#INjO&s(k(cHEI5>tQ=NQjceJDiXuEi{;z_K{ zaK3Fdk8Nm$UZJ|;1Pq2PMeseTjqEi#&cuY=z*oPzfte!l@~PY{n0g$CD||c&(v~At zTYo=@7xLCdo&0_9^R~m#!(cSz^m*FpnM;*J@Io;Kq2576K#^i9w&49K-d3cY0pXh; zWUi_XBBD0Ys63kU1=fsl$F-nMbIQ0QYtKYoQ9`708|}VtA^| zP^i-1B_B-~JF_3!=@36({YUYBwIUJ!dpgD+u%#F@HURN-QRLz#J*{~4`UU&~ElD?b z_W}l-+j+$QReBrlw+Aso146z18ihmgIPnW%j}%&dHwK05QnX)Hw6FJh4=3r7BPJ?l=OBUsf(zKZul;^Br8i)NIk)Kl`B=m&lw~5E*xTCt=x1_=Xsb z=Dg=58DP2wsPz&{A)5wgv1gFN+Eb{yEe(6i!*Ir#vt9^3&RWRe-|hz`z(?@vfoTqh zDg1Gd*GE_8?saax>k10-!(xfSl?$fh|GA z-#HIOv`wtmCvb4qXJevO6SG)?L);t&MKHDe)z_8}tzqvVk z0RPf{c=A-2=2Y5F(huU*UQU~xj0>ILqnesh)3nQvd8AA|`-k!6YR(_VSExyy#+L(r zo*Le1JpBY!0TXIavKiL+bonPjk!0+l&A?Ass^WA9&G{nVWk*(m*=X;+eP9=yr_Ra% zmB2_@4VITRY5<;4C}P!Z7s`T`J(kBf(>FC>PY3MHwaE611v^7v;{ZuJ*q^1Fus6xe z8nqtJ+IV;!dLK1MCl-%uE-vS*tS!x1*OVhU$5U|JQ*>?iw84}oVUyUmi!ri5mH&bP z<<1Ca4%*O`VT>8fVTB{gsuJJh?}&Tlo3U26>c2AKSEc<@2`4joEE9u;%9cuSAS_UK z(-m$EYYyMMYx8_{&&y#k9^|E!UWVlVi7GeF548dqgfj@d7_)g9&W|^4@Emh49 zd(EX;sB1LmT7KM#K8OYJ!DmbyTs0#TLhoE+0M6gxTM_@_9H5L_`QS8k(SbK7ne{jy ze1OBDoH&pf4+s=FXsWj((`LgND5HC1&)MNq;X$Ab?(_~u0#?XaPyN$4wfh*1B*XC) z+>3zT3Si&A0yq1;gshQ06wIHj+UywkoGm6}dMwZxKhBTS-12bGX)yC*198R< zjd>J+)FVJj1CvcwAsZa=*1(eda)4yb%z8vw!fwwr?1nfdv+!t6(FtVr87N;$iRP3M z)>goZ9fQ=t=zaMfpag>V`8+}ekC7$wx|hsb?rl`?-d0xNje5?szt&=ZZH2dLcQ^a6 z7H?fQZ`EgZZ*(-`yotCyI_}&woDED5z#SY^4X=8ehycf@HM;j$P~36ra^T`wu*OM) z8Yf}ZSje9tq)HDc$_C8Fx`wWSMCgy~$%Kb==`4&w5h-!BUit-YZ>Z|$X-rChg>C0m z-2tK3k3&`<2?|Ax^M8#`qD0a*sOk>L$yoF9{1v07C!+GIaOVII>Olx%%;i>0#C?#x zb}6be37F|N>8wL+`u@pD(AsV|7RIsXMjw?CP&E_VD;be@b3uHR&0%-Y7lO}tV?}=M zu1$SbSABM`tULSD~ObbqE1U^eJxLA1AGw9Qd-LcaVM%BZEIVNgPK^o_$hktkR465@c%1blXZZevR=k@uagnXf76xiA+shZFH6aJx9(jnL`)^7z5o~DLjeXd*(=6mw zBqs|AX6%dIAoYQN{M#v6di+s12e}p_hiEw5WCHk_GaUu1N{ovbj8|;N$N^w#?yLRN zj^jFPrhm{D+G>KRvSHGex)e+MkxQ`@Km`PJ3IL(rU*c3qY&-BE!gU6RBi5qx^Q-Vl zecuOuVNnarEslNFn!*_ocijIr+WsZVpvhbg(}tK zMOR>!3!)l>c5r(dbFYhY@0Z_m?(G^r)tEW}#4Gy+!ZC743LYLHJp8A9VAbGV#s|Rc z7swF9fi+viogF@{T`sU7v|MuGod4%Pre=Gd+1`|FJ;G<3#ekjlgRtq8V5GThj>f<&ddy%DyqW|kZPPh#UP*-G{0C=@Qb><-s)b*UhBLlWYy=z!x%&EE zkgFwKPe{+fXx1!z2&dN7(=nM zbTeu|t-)Zdt>TW`-r&HW+kpC@3l<#3#1@vNrZ}GX6sbCd! z^b~X$iwW;&R&glG!5vK4O0w6|;)~k~0VCK2HzF-rh47#qsPj>P}mwo~9b z20T>|v;x_n>N~0pra=UGTMEc$bsT-!9mpDJHkkNJ;{vJe3U8LJ^y%O2BTo$RU7%01$WF3^d3%k<6{Cn9t}~55L`u)X1xKFXmZX zt`S8a85pOg{)YvQ^r-9fOM$vVzc|%6zD%5o?OymH<(l;ytcS5?{XRPaXQZYRQoSA? zD0#3R&X<=psxO}KMvC=tca$w2Ut`&fv+Q0$mvWv>bKoVyR+nN16o));UBQh~uhF$W zW8R2N$g5}$)^ylM>5kPIhzo}}sr(p-i63Zk`RXrm86yVN7Y~3ky1ux;7%{lMc(8bE zq}3JIv{dECRzuRVx?G;gem6?X)g)Fx=6owryLj%3sO>P%)@e++0N6~Lj*HiBnN!lq zm$ukzv<+!rj>e|b*r(un9-Z<3@I?(t^_vP7Bc7ie7++*4R zV|aPd@Tz8`4A3(oPqdz_F4}{EU{?r6%jwF zxT#bpv00tsu2OLK!Yl1?2h3HHK?xyv=WT{gRK|xWqdls3nxKR(g;ry-YJfJOux>*B zP)pUEZRaGTRn2AUA~d9}fZX3wHG9+~AXQwYj00~$TClPvaFdV8Ny^ktpb%5%Gngg# z!K1oEdcmq>oQ-|rh??Kalp6_SRfK?KE;W>u8MFoLi8g|zgLvyw0fBq$uMh4zsd|5v zZR(l0nJMAquNl*ePJ`^m3QyhOZ1bozGGc)nX-+3F_vR@}+?z3jfyYCMz$$*lqR0qw zu6!qJD=c=6dKG;t-^5F4tw)&!dUm{)&`8qYO zV?6A?Ub5n4446(8*p;}G1W}?4f(9Fo6$&x>;$@)o@GMZ}qxnSRv|Cc9B?vY__}|fU z(tNS?*V7WmE&cFgc^*DhmQDI309S87_ZqbrQ-vS_lgp!vFuAOBYxq+ZP$rStqXyrx zQs4|hgO~QkukC1s?979Ti4N6vLusRXYkvL$d{e5|uW{_V7r-|VrsMVa6sYeK z#L{k)ykao}A0fF|=HZd2AARxgN9T)TPF)3N3>G#Yt}p@Z&|l0@8AE<6ZZboAF+nwW z=Dm`?2#^PD@C^Ae+{YIkmW5F_kxG8RU^(hx*xb?$#(nv`GaYx9ozgc+96CPoym~gX46tTt6!CK-$UraRVOAT4_G3@C;%-T7_zQtj#2uy>xlc05cf0@UUX-pzEAJ@ekouSCT> zL-yKhU!g<^v@JrXs*Dj3KM>f&z*RpKflW$Q^$SXx=^-A((q{KS?W6V6`rZJIaO+tsK`s*+1xj!CwR-qWPir@ zejE`+WzFi_kiqIa;*!ct^k#7KZbrWVVg)0OtX^RqtYi={%H=aI%>gORv(?q) z3lQVJ{6>680ILBNG0?za*}9i?1-4t51fUfM1j6NJn5h_^Y=%i*3|E-pMua_eZ|3jh zchsRp;y1E@-FQ`pqBKt-thJFo1R3~jocsFxCX&}0HA&Fz_<%v|SK@YxxZ|e36Fx|6 zjk-png~W!+>pC?!1>d|Lh^VEaOKNH1|AY)kSqfq{T+W4i`HE`t=c8Nf^KqKn=8aB< zC%SL#H9fj9XUY<*9J7xev^>5ah9LLZ^ z^!YOACLp?PAeN+PpAA@4f9)@0H5cpcTmnA_HIfk~u{SCRYh>g zKVu_#0IWs08hwh6ywT( zoOqc__dt+sK=T?AuO7l$6|U6D+}0zE2UW{>e8SvFwT-E!Fcm{P8M+D~%Bgkp^V5Js zKC|(JsMP}x$i;9R3yl#?P_bYQ<`3{1dwg&PUIv9RSdyj)>zEY_L_9$^tzYZYo{QWuP~Z}nuJba_9}Fzo_5DvWo4I? zN>a|31oqme&8n_Pa^&y9{6);q4?6#`?eqJynR31)2p!C~1|+rDTntFeSZ>xE^Zmqj z1-~d6A(z{0A7Ce1Fg(mfwCmR9J^ugMd-M3HimZRQLuiOV>?pLNg0>Pg3Tia!Bm^`q z4Rka}6x28}m=J;qO9)9f1lK?ZNOS3t8BtMD8Hbr+MxT)pMG({kF#*|e16OdpF)pac zB5J?i@2R@oHx2mA@BMs!f4wi7K2>#2ojP^u)Ou@?SX|!feFC+Oz6eN~^%5jxb~}+( zaHE&EmwpaJTLH_`!*Za?%wE`fQMXpazJYn6BAlkZH|a^M)u)ay*Qtia*sH*VkGT4PV6DP1wjQ7)XU*S@`(r zh{>4#X7j6N6+grUPi2!=>xUID1Gi>%?Qv4u3HZF{ntcWgNk!|4Xk3M!jqiO^Ad3$@ zG0PMmC8MxPYP_3uBQrcw9at&-EJZ-*p0?xgyL=m1c+`e@=R5eurR39;8<)}G$EnT}18uZeY2D;$yd^xI*2)GKMs`3KeJG9~0CcNrJj{H82{v@l} zTBw#SSE}YLKX(T%h+T(9Xag9#5b6Ni{M?N?ls+cLag92IOW$&egZ|bXEweY?4?jtX z2Yo4l+sw+3+3}((NJg}t&c{h3D5(u=(u0~nNclN#x$AncTh5q~)ON21@{c+`Hddix!8#Iom4wvzwOe7t(gDh!4wFjiXL4H z0~aE&00-=7B?U>Cj*C^L_Jt_sg1u}lOXV)uZ}CwP?;3rk?oa(Xg_h~T)CLEa4se(E ziRQZ>aY(Y&+zE)?FBsgR?KIcJCoL{p1oQ9vWKg3AD$4|iGM9nMBaF|AMzNf?+6OAX z`|+rO3X;!G=3FP+pM03Z_B?OyuoPG5U#P^bck|PQ)Tm!7aG$_SPRz<$Z|p=>>7*}g zm-Jcor04zKp7h%NGIZW#9{CU%Y0XTrF)LTw~|+d^ zJS^ocxY@3}b>C^_B{2r&%lbc)Z{vGPz9zu-@;!r)xO{)Y{!pn#GL^hvaF%?t$-|Ow z-%WP;&avbxVGPQ5KWE1Oz5dQ8Z|LuA!1nUF$T6nB@7nD0{qQbvmVBSV7n85BoqV(Q zY5g@Z2Ic#KZL5|K&FMwQsvEo=3tM|pH|CKw#G3_(_7oph*`5Z-EGF7b?L;dQoF&>d zjBly#`5W!3`{G-x{xb$eEBZeY?c3c-v@ZbTqV0w+F4~$e?OJFq=- zutYN$gQC5J@r9)|v?!U!)EZip?xM9(WDTtq0Ah4@IEXVg)Z0L^i|OsmcEWiCX9;&Q zIatEoJ<6`PXTH&T`(~FG&SMkqe=pJ(5RJk;0~puaU&t&bTBy~ox7mWTM4Qg|mS`W3 zw2Rim5^W@7P;aw2MELJ(!x`ia*}4O^uMJ7$7?bZ4(=OjH(rw6Is7GAkUX6|4f&N$5M*N?EG+y<{0=)^NU5lh0ilv zj*mC*jNgNl@LefV2je%5c-%z1THE$mpVo=CeS?fdWKH_oi? zKk>d(h;mXoO2nI+w#D+EnEnFFf9vPRF2C@v`RsW58}2d3#~F)u+vykg>YQ9|MOIq~PT&Vnr}@m)IOUG7{BoX6?RVh3 zfuF&%I|NST4eQaSXrs3dThD&P%2~~6zJ87JrTmoD9+-U8{kI1oI`;Wua4>WD zT#r+C3yI(vjm+6Q4V-`4U5lM;nC#;VLU0o+BHZfuBdf?gSYxraM!aj1@hHYOx=S+P znn|A7!c*idhLB*9$2-*`qwx)OA(&=0X5(8f4<8m_XC5V|;0JPBYFzyep&~~&`J)^1 z8nS{vqLEnh2euiTzU9;xc2vAq_uwK&zfIodnFseaeVJ;!{v!Hhd>cZ%{55d#Us78q|Bi3`JHF1( z{bBl#I7gJ*hHOtfFb*HxjAs8qWN;S}d4~;QB((|;LQ67HY!QM~FQV09-c7#U3$o=P zTisW}aAZ(z`hdDOf*QI|cHuV$g{4{LHW-!X%fS}!n1RaD#}nEeNlg{pee_5E7>&A^ ztiP$X$BUR3I846Xi*&PP5w~A(`K1v)exSu7FV-m3 ze4VZOc7)3zWZV~l7+4soZ)3GWlwClX`^RAdxYkc9TE}o>J2SpTm?Dn4`^P8)?x_1Z zlF&|vpt(0TMBl(hiHN&Mh;jd5RB-^?0F2;lO`NGHP4uRXkQcN2?EpSwY5ID4pG(I< zQQn2~K0tocr=EhYdqK*D3tVIYEr0Ie$>FZwA@EHJ-0Sgo-2gUJgum-9e?MG8k-7=X zueg@Vbm3z>#+qDrScZi_U%%h!i#d>JVp4no@`>p zi6vR7V%`p(67xY(Vd@B#22bWL1K~B19_NDpB|7B?5QMQ3W`GOR>&P&Y+6gE#42j_W zzOx93MZ4Ow^_6RQ z1lU%u?dOFiav*v1d7(lKBWumnZLICsb=*-o3e6*1B_z-MUO6(&R^{-Rdz2&1d`CI( z-Bld8I|>k|j2^b1GI|zaS|+|TA~$(>{H3csFk3t~f_u7VWB8$}+qZnP<}*kc;^MeJ z^mPiKud%PXjFXhMnxmN#-mGZ}kq`g1gt(@|e+A(cG=YNfQ+ovbRcr=Lc6?hd&c3Ss z6B$y?!+u0HQ^>n?O&;9p7?g~?Axt(x5{^QtIm_EysH83CRzOIDvA025^JNJ)GU$Gm z?$R|BvprXpMI7FWAFxtf>onKeI9Jk|<%%n8$6=0E?nB6+StxFvUsU_pR-yXG-uwu` zhM31Nt^^Hpam_qiMJ=Y=O?T`x;TLGHEc;1#4@32q*h_Lt%CvI7(T3e(Sl-3kWH=fL zskfQ;Nx`JSYG?d|4cVP|>#M*RgO{~>;ED}=Q7~V_nl{GHX{0U@>J4TNAi{{Aw;4CP zznULfkCWK1b<7=;QvJAUfAf)psJkEdv1if=j@B>H4zrEr`DT={ ze%q#q+h1fKm%5-H_oVoYR`e+R5)LKiJi=lROyaFjV=3Viq9q)bNiC7|pNdHO=3EKi zX5I^!k5*S~16KjHKzClWR%D~(K274)ARaf_Y%_0^sUoDiE!6HR;_X{g03`x7T9f72kh_a+~?Egl{wd1jyWq z%_6tE*>=f@AX(@mpvT8IaGDacgAbhKR09m&37m$j)=ynsgEXV=BF%gtn2I9srm|E~ zz8Het-)JFe5YKa(8oCEBVD!X&4Jj%xMONpCJ_pNGu*Wf;Y3K7i;ZP9u$WTO2a3xE4 z{DQR{ZeV*YC3lRcdbe>3?vO%1#sg4Sq>4FiSA>%gMGP_9OnTjl{R(1-&{sMFxIWQ+ z7$2^g!@qG{hh7bq)cu!7AtAE%RfNHnpX=}9&)hcrO6URc4# z?#^Thl=H=^HTiynwBPuklcL*9`<}DI>P%`IPVZbJ%jGzUie_6*bz-p`2P@0DVtxVk zZ{~3@jt|v%tUe7YyDr6i2(01SY97EIP{KI~K>zWg>OW*VS!=aQKX$gA`(Qg6$JZTu zvGF}+z<^sei5m>-Q74I2PJh7of=1E?sEx#9eh3e~l-!9rcMJ|`?K%8MbNFYRLz=l* zI2f?Ac19tBVk4D^AJVtL$J=+7{dH%wo4~TavfGA~?FH><67gwf7Y@v&k6_(P#Cyyy z*}UmKMDB^>Lxa2X8glX)W+dUS1OAf3GdhNGW||Y;E^lE|M8lmP{GE-zKKSd4zw_{y zfxq*c2cMJFJUAVH=i=`Iu(&f5f0y9zQv7A{X|3>`+2K3$!gu@H@@)y~g5#5#@?wi9sbC7Zro0lm^q1lfP zT>5Q(h^OuSr4ut}qtp1&I_W-GY4bJY1SgqLDUdguT|2<_1{{6+M&LH{bHLeO^VGn# zab@m6;4$xDK#^g4+n;}d;xPJ(IQ?8+3wzO%IR_~xhD&(53^yngA&d`S`SBV$hGVj^ z&P;z98|s=v`;aqihz)V9$A8Ts>I?vzxPXWlG9aA06IHTht~CY*zlVh%zPvi8h-(-V z_9-V4cAjLVr(W#ngx+|8_4-B*xxphg(I1}XxvQ93%iOg9%GF4Kf5*JE!Ct3|q)wi5 zB}k81=L&(xJv=X2buO_^@=k5JG#+D8Sul>wKo;f_$WjB8l40a^iCLSNyRwi8}M(}n@d zEM^V{9xyp&&8s<94zKA6van2@!fVpuMo@+XQDNaVxCWR(%uHCOZQ(UO6-09gODh&$ zGm1ed33ey#FBVB?`wPu`azPri(PP=6h&p#x+|DHbT>pzrFgV+aI5&Y(Rr~*l3)P-I z#b)$8$fa}b&qSlLJD(KS;FRW2IRvFTssPOwFph2x)iJ0!G*d8=2f2}rlBs|8dXOh6 zoD+ZF?|8C(1XHGL90uiTfo?sl1u}}6e6~!?v@C5HbSPPpv@FdbUeE|1Z@t6JlG;s> ztbM;q*;33oICB)&Z+qF*HLPa8nK2UkxGe9e{tu@_j=J~+{ol*9b@qSaK>r7*`#+qS zmcS7lIIF>}8v(~@yLZ!Yb6V8ZIq2`x@OKjaPR3t%{Po~XWX;~wI3741e`nyY7yf$t z!!tb1-fqC9;_pQKx$t)i{!Yc88+Ve;$OzBK49~a>uI%uPyzmTPv)9k!C^YBSV^$Jg zvjN49`m$LW#C8Dl?`)qDwnw4%Du8(%O@{T$tk)E@Q4pd)34T%(ta0X8)y5lX^xQ~~ zs$Jl~dSzaXAVgt>0>EPn1UxAUfLCh>1}ZQ}fh!f@CS>696z~F|S{_vg!)uCw39q4n zh1ZND)iJB3-7X5v1HbjI?r`=U*=84PQ$4m_5npJIg;tM;pV=hpU2#v0MZ5ITw}^7@ zKR#YmTXTH8XnUj$f9y6hD;l1Wh6bTkY9a>=&xi{xM|eh07*%*iI&za?F2)44d2lui ziQ`557T~Wid}mSk&e3ochwm&8-#H26$}0R#JzB@@^T)pTOl~03P<7e zX}mMKHKp}7tG}~kL_5mHRV{BtocCHSt&v}B4tS9*!L^0vC3KY5U>eF}qL|k4nCM_M zNbSyvqO;y&et!n9L*8Qkx*Cnf0Z!|1@bo));K(pdI(WX(YCXO{a|RjJ{5<4Mi$YZP zye{(=NXlOHc|^gdCe@1`Z{B8`Ll5|kIWz_u7;YPCU;K&Y??tSw<_&;o;9j@SnXg1x z`}Vik+Y)zhVyTLddiq) zJ|%(iMapk~Rs5wc#MkNCjUup0%x{)_&K!e7Sw)v6S#R<$Oc*P(4T6r(R~_bHop`QF zoJ+DKGW$umQA_t(beFCvSG+OWPvBa76xXj`P+9s65LqHu5}9u?Tn}LWM=lUBq&0bo z;iYR#0ak-ZZB7S2R%2iT8$2ChFTg*EEkrck%8KgERNVu_t?lE+iu302p zI0H|}zyd+o)zV*cO;=o*0TP)#7#=a|=pKz(FK6{twpo2lVdH~DK;KU6~xR`)x{_EgRREl1?{0AilS z`sXpHGEl8{Wn0T?t;_MLgm!Fi%c{^irkU5o=I+PBXPd9r+Ur4L{6h0zzlkq5KVAxP zR9h*wdsE`rH|s!N!&Hn4rec*~YBK&h;}324)U@!_p5dvz;PQm0W`w8qm%eK&CZ-q> zLTBs66|N}{*HndT0{-v{7E5?VgZyIA6us&SmRfiPOFq0}F@qw?B<8BfD`+d>6*Ro? zinaL7Ygo~!K$8ON6nGUNynID6m**sH)N3Vf!(7YeXj1PRCV z&7qI+i{T*8LI8ZO0GF?!h!y()0lrhLOz$F}+c#}U=En~fw@3PMMx%<_Q^YZ^tz^!I6AR_Rw z0F?{#I)r33wpMwR8uF<4F-K&ki49=bmSHYj0;TXE195hh3HHO;ycVhV#aDE2aQmSn zv{ugMCIwE#v=WslQ(%=SuF(*xV{A+H@wTOMu!Z6M88!DSz7RVE z5^aeVqTk1%PYK>kUC3fTg2=f|kaY3jABk}FCBj~l$-;a7KJRk7Fb43OG#`@Y=WY&I z9}Q3+t=O5+JB|%r4bU*83a-K8!i;E(`R2L5qRiI^dg+{F`ZD!&8uWZog!$qqZVG~r zeT;eKbQJcyL%y6czialR(3*F^`d}}ZI5-c8KF#ouhFH782kQ4}pFG*_ zn)5LN)Um`mxFBbP0y27m@ooSWB_S3MG-LO`7PDvCuhDvJWSWIA=#(*%g0%&(h&nij z7$@;)s5-}k&$s9C_zvZ`I?}Dfj@BW$J&Zs<{@&fu*wNMzhs~0Fx$A;^hhRG%6iQ0- zk*Rz#TJg&_HkxNXjmA;-8sJ6_5q#D#)Eaa?ZB)gnZ?)6$zEf%%Ht>b+;GPXfVMC5*42X#mYyR4H!C<;+j1Q4jhL6 z1+6PLWVwbMV%OB=f7oL2Gkpe%H0nNOGO4zi-y=U+2Xca*X+vcQ&)SS44nI(#8|Q?VK*YOzW;{`Y36lTxj|3$%jEgEpqSS3Hpcpw#M)-g zVR$6fK%n{a^_=nJj4qDngEe|{9vI@k(A|DmL%(EL!$v<&31&hqzDS7&jX)lT{7J@5 zMNFjWZJeW^*~i;qJ#Juyq)~SklFPycp3%Ss1(C~pBQ@7w&#ZBJ=XGjJ z_RfoubpshnGTQ9T{iyl_#Psr!%>xtBxsE|%H(}1Y&HUjhe8)eMQgiw$O4sjIZW>gC zTR^CuiqQdU8DLe;EKH+ukxtH-OxK+MASSL4#&>Sqh^Q;?TrQd$LohQBr zf4w2T6fp%=bZ?W5r5~vL$W3W69zU$*JxPnj>V3F>WsdFX|!{x=01au8XD# z3A$L0fY3d-162=X7GS6!bw7zv<0jk~x6KTRiC~KlR31VwuUF2w2gilq2WwO&mLA%7 z+E9VS9nU22;B>yxtD_$xSHUWH|8hh@ z`iZWU8^t_&0MjK9gErMnc z_)!RyhgW^(LY`SwP@p&3l8+rpzFg#L)`bjMOUan|d;ZC`To;MC8N(4DcIwdnz0qc0 zSUHKO>0>s48KABPxj{cKZDEaZ&BBQmL{v4OY|jH*rLvPusvt{5+h)2D4*d=>4*GHi zU3oFiVb9?_%pbY@k_*vB7^vgab3NvKQTMOql+mj1CVa+7Pw1y4+}#ul-HA~4w%g3L zFbPb>xgN(`eEZflc`U{J4~PnkGx86zdZu?oxT>8Gv`b(veR`nbH?B=Hw?2UiAeAj1 zjCZwma!_GOb%SC7dR&Y>Ts+&%^OqqaFDqz<&M&|DB4l%x2WpqG15)5v$ImfDPj7CE zYxZEM)=Q176^v^R9`eIjh(*LkaEtkuq+g?$Fd&mRBXJe>A6x?wI+PTooq72@_J-S` zi7tw4In=Dk9z@jG4aHk6g)9cG!jFyNF$Rp`?*iW9TLm}!I@*Ma^RnDP0W)AWTGkFBl6YZSJ%#raT00&6!gW}$1zVUY! zux^~r`5T*hTm?a0;u2fTy~z0)p`i(dWxldT$9)Ll%ILQAr_rhXS(gvIz-DwV1V-Iq zmGWw8AN#)O(>B36=j8T=Q;X|vltrA0)Kuv;{)(L^ zR+cuH4?KFT96ieO7rHE_lvxGemxY9=Y+%^m{*Pz_1t8i`q1(*c5LcJ3Qo$D7S%rv3 ztaN*WBe+ZHo+j>X=8sEN=`xDx`)j+>y%>3Bv&8X5>(G-pxab_b9RrJ{Xf)8A;N38e zEeZ_0tcsg0I4p#e`!K3u4m*aTeimCk{FGAuM(U(IFCizZla%U&Gq;JxHn`yf)ngq<^1= z-)RvJ0h*&QYeoz1Tm~`MC!JUA>W^QTQ)|A6$7q zLoD4MR=UA1xEEnNP)Tig&kZ*jz{xUO0GXIvBmCwxr0tuBQ|?I42UdOr78qL#4CizG zSa02bBLHg{c3#rV{5yFO4G_)HYn2%QZCZb~UqL~(y zSi*9R5)(b+4AjK67<=j2BQD=x$wq;iVPOp0gQ#|E=pQS)L+4A`wGx25h~!JrI1k6vtF4hDv6kWQT<|l-8&U zjfoty(9}^86k2wy(5^*)$wC{gfB4o+&4k&gG*LxpJyjH?KaZT->ZfG z@#5cPUJW`-me?wTITYw#e1a-e2AP9=oE~C)Od$biZUCGbFq9etXjEW5K=$JFVbE*f zUhi78yIiR;T@)BulA#73Cc_#9>KcgH{fx&vvJHzUui95rhp+z?52b82-$LJX+?f3n zVp0~fJ7TuVQ=<{5p_dWbHO?t$Ld_d->Tkikg<=8o)*X;F6gR^%F+`k@`}VIa)Y(63>k zhTMukd@&&kmhzf+Oym#&Jrn}X%Q0(2?NKP2D;hSv-ya@X!eQ>UA?tc&G~#F)$Qq$( zbNW0i8}WTk&G8=?G59gZV~(u$O;q!;8?`F;li*n>NLCQu@48TBL8osXtYnh{pG0`; z6p4VBI$$sCW$UkiA+6p(x!p`fm%QrY^_m_Q1pLM!uIT~4RxBeQFL2^153J|n!t9g< zsGscR8s?rRTDi|7Ky@zW*_iDW7`?0e(o%1O`klAY84m4%77D_Tnxc#qtaAn7SIQC9 z*YFB82{07^fwcb(mV{gnH8#xci2$n~o!h899LI%aVmC-h}d8FTkeI6OD&%7>dmDa;k><^gk`-sfOOUHH?%Y^d1Dt@CT5s^*#;v z0}fa7rR7K~Fs&f+oFYa;ybK}Cn*&7TOeW^jZ~ek4ihZ3l-$?_|>!g3aN>&Ef%JUjb z63bkYbee`K8agyQMD8d->2(a*6emLj2BROxMp%6Z5Ilu^bHgvU-Efnvj51hqB*X(o zQVDejqJ{wR&TXF*e|&UtXpQu11v&DrJI=0Smo4559fDy$M^?4q8W@SY5*MDs=KNqF z*IEu>pK|}hs8M_+JM|=V6jApRSaD(aof3|Pw5{d>ac(fn0p%%>A-P}pTt3wO%X7dI z<3w^TCg~88hNOZdO}kF<{hxQpcbM>fh*gJ#qgavATK5p%On#b>c@!CCCfS9W?CV7^ z!<<*@n3aoGBr!cK+%VdC60Nm}^bZlwXa^oq+*hh-tc-z6C7P@LF=|huzKP~M>i)Ni zN*YF8qodx5s7z)ml4ZGA>D?=lW~fL~V2CtFM;fZqTSEG5a=Y9Xpas527-TC3q$J%C z&A_SXSrr3UseBG1{_BS%{}SF`N&hw$a-;5jHY$Jqxs_m>%|}(x{=OUjjGAy@hb%b71P9bO0(4cKIUx!XG z`}>`Ii%8wDld9c0iaNEH*0z}+N|A0b9|x`GL?+DgwCl+8GIFX@oW7Q?M5*8GAg2b+ zNwfo+g__eS(5jVzHn*jDC>`@xy)wZGS|c;a54VXEG_45xSpT*^GaFmYn*n2E{Z(LK z4nYXEFsUK)aoE*KO17y(nr4?`XGbdYz@PX4kR@hZU{1^bf&#_e5jlfy>D9r3OC~OD z#0R9@F9N--?>QLNpZP0}3|d{~?b-Z-hp`}w&3qKBMN(75k&K_s9RRVJss3DNbjvm? zLClPP!svS#eY8Z!wD}EnFSDM$?Zu<6GD=M24KkuI7=3i=0=i}jx28&6X*~dZ&$vYUS8aAT>i55(|!GM@lt-L9v?69J0H*fBN2(e zZNzc;OZmTm14WkX@}4mI;KR6fdpcWrxk+a-OTg$|DFN?ca4vK3(yeU%!`HC|@6M^D z`)+Y>GH+2OW}Ro`LmV@|qAY$K$1mo#FRbUTI*HRr=V{WHI3H2IWcc#=+{~4?qS@l% zeZ+E@t8mk&v5OsHD+j4-V3v-yOV&gQE?C3Gl(s%9u$KySuR+aqw4I2rdkg4ril2@0 zB6!VAa5r9Un;r`|3jwPnN@*;tYb;Feo0fR6K9UWDv^klF1Ow}Pj|&bs0qxXsAGNGK64zVmy)Hp}v4yCPPQ+S4y0 zeIHG~@qeeUB|WaZM2V-~p9T*;_-mwwt$j6stZ1^b5XF92yfHZ$Xrddckb>+^V;Jvx5^_{A3}rPIhp#vgO8~b$UaBd-&h1? zybO%_byz9mH9%VIB^GPznt%j(joxz+jmwQgz@kRn8w1_U3gOdx0t0A%sr!&x)IBdB zD^oY3Mcia|6=T?7-l|i250bRuIVLJjat4;qHhYUag(6&duNSdm!)kDQpv!2K<9_TJyZ<`^uN zg9YxP!Koo*x0W_|bM{OeNOAi%{p zXu_Sb|KW_rgWLPEjiQ7+EsE9L7Ig&BA3n(+z8)=%w`cfzPXiqp;p;QUhjBUyI6z_`5_Z`-D)=0^hQNdY{)rk?}; zdw&R${6ll6RDZO&xfA4n2sQyQqS)JSe|UPi+&bkMhDocuRcqWwwE4~)TK2HQmSIKk zTCc8KXCa$fE-V39Opmyoj-!R z>)3jD?gsk^KG&GtARn&xYRqf6tD9#vhBWv9*U{t1ZK}Db-v;A5W3WGGZ~-4~!?CGq zWYrky$9MTWJlW=nuJcE?%G+%t{kYr}6vE%U_dYNWtUhc{dedWh?EEujYXKMBk*VD5-)*Q_n5r^YZ(&fF!y221e_U{AkspOj0>`IsW+HV3c6 z^M^TemlHo2cyyEZu?(YbJhd$Z7s8Iy{5f+MkObC;OAB)5Hqe6#*BS0QxLx&QkyPHi z5B!nouxeb#(8(8`hR@-dW*T}p?|=^jebh6sIYU!|5aJCQgXQJ&jthBZ=k~8 zHhW8_JOb~7Y~}a@hHqYQ2kdufO3u)3!4xhwJc%BO*AN*e(wvju@-*Rn>S{>X@`CNtUPYxecq zW9DJ~!-oRGhF&6u^jp89&3ME7nu~G~=gxK1*oZ2GyuszS$jwZ-%KUeTv2H8(CEw=9 zgTBncG$$Tj4?c>tSU~J;h86qJdZBkHNM|wSK#2O4bW`{oajG6YWIa-xSmHhs9*XlEPw1 zVqsyiFtab|MG<0$<{&Jqh+TK|g{KTeo8V8lw$|#CjMb*dwVRiPpeQ-oOM`}@?pa>S zyUiRUV&R?;ycq|Cc@qW$s$*lnV)4=4AF3SJkgvvp%BDdF7*{YNBT`Hs1}|_N@*6le&aTQIE%vZIQuP@%Ige8;x$$hsyuEUnDel;7MK?)> z;^YAO+F^&;4!pF70j~PR`1Ko+T?8`OtE)p9y}_10!%SHxE$$Vv7fE6;k9U9q!$-*4+W|^Q3q@33rroLL0eoCB91e@o-hG zAA1SiX@j_>8v`t?W+`#`rnl>b4`*T)f>-7axUTz92tOK#N~tcANPMW#E=R3--EM0k zBG&g>g(1&09!4=x&yGM3>~i5rvb6`LJaG<`j?gQ#E=Rzxls^&uJCuT6Q}n`Fyzzvx zKMeH|7Ik;ScQ~rl6s2u4_W)`=UV`ph4A1IgmFAA6zkgp9*Pj}D@siv>#Y}x?AYUC_ znfwY({UKiI0{ce|mKzB0#F;r43AbT`+Wis<^SqZS7;f2|Kw?E_UJat7>q25$xQ7o@ zX6FuY7*gK|1N(@)U|msnZ!$|rIW-~W3Q{xWeJEeQp}tQ;MXzx<1Nf4q7Y_7PeJqdF z8M*IpH;blSjd9~JqCX_pnV`ljLm8KDI9=ia=Zm${U%0cmR*JDM?USn@UTXujW7~_=@6hp?S`_D*+wyBGDE@g?h120GgF#47A>wQz+glC!Oj?DUV*!z>Rz5n20?s6d|Yf8gLn_^B?2v~ z3E$k8nDK{sSq#F143D_SBG4cCqf9g=AkUWjQa0JfgQ^Y*T8#2m#*X~4C(`m8Z<*_* z#9yr`95k7iUr4>tMWZnFFLtMBKeNNTw^PYVG3p5GGcOU%zLm zsx|;!$BA`oM2Gk)Qe>4Qt`Rz_Efm{AlZ>ebjk_K_CW>G8I9G_JjK)SA4iB)Vc>VyY zimOBSJx=|frv2RMoGR|EX6uZY1r4Z0p5hY=_KoqmHu{Qn1CFwtEL;hOPV%rn=btPH zS3Pd9M3QlP$$hQ8y>w!}bN(%ZRX-ey5G!~U982i90*+;LTnLAZdDG!o#gH@LXr$w0 zI5yC60vs}~ITzy^rf&8|UbGv-uSeI2NiZpM1-d7H|iJS=JDAGVGouWU}@e?Ua_EGUSx*fHm{F|nh!vc z33ecDgnfpFUILdMT|Op>{c1qHTjySNIa{F68fB0t;%btfew^bs8(@?uXY9QHBPfJ5 zA3x_bTK?I~snG1OGodd%M!KInRJujNHBZt-?{Hcyaom-T>oPGg3@4c-_adGfMIBqjmCR7j^bUjiiz*XB-`Ly1r zE`u`a-(z1nmkMFqPW;Qx+l`Rf)Frm2?QgP&X>vt@z=kXymURt8i z8?vm@!Vvur_JN_j+^WoV+hXO0^`^Sj%qKPz?+A3ng)>wA=*~Kg4-IexF==rBeI$1kyl-7DPT3A?oyj{gUQDijgzUNYCFFM$RwyvuL zlp#PW3U6bx#;n!h+kBF!YOeutQwS^GKIJnor-pR;jacWjI<~_xfsW2_l);hn1PuX(jYjBgu?5__ zLR+vJKK6}r<#v3+f=uC-YBa1krV-B0%U)d$7Qyr2sDmSLra$s0ezn9cf6`t2yE9(v zZ3*Ty%RO>QdD&}7pXYj@#Ty=oWofxqF6vIEX@xu4*E-vrtMrm*Hmi{|#0hKD&Uf*t zPFAk9hcA12BZ zuiL>)H3sZF?Y#E2d&9F*k576YsbK_z$L`Hbu*RSbkL%6WT}Q@lBfp#Rea^Kh!7GiX zCbL6iQc9As#ox5IgSm1F4p82i0=*v!bocSt9Bah}To2K~{JcBMqpSHcX#C;a@WgJs z;TGR_E^7c`#Ge#~m(z6_P|0hn3F~hd?O<})l!l>5&Oh0%qH3d4DKLJL8T$jRSl-H+ zjGZ%|x#s+g@+~la%*VOX(BB>bcb3+%18= zW=j=TIC4M3E4apk3*ty~8^T#v{{fi$0nxEY=sew<=W+e$RdWv}pI{ug(r-K?OmU@8 zrd%>^jKN$cbt&l3eq}OMoaqpzZ_qhK^B)GtaaN4`N#PLxK*^NF{dDs-1m$J(1~=7TiaZw~FsHKrU6@>e>lVLab(zgfuD^(xlm`4IA;UR0fl@r0 zc?;H;!5nLHs?cr*g&HBYTP=&PMcKwk)+$Uvq;KXyTqPGCmtKrh2UutBhXK;+G~~n_ zIf>N=d+jg+%3a3;!O->wbGgifwqxLv4a+wlyB{~xMDFv$jS=frSP(;vj<4Z-{}o1= z!Z`z+)hN?GN@zbHC^jEyvBn8{7;2j@@QI8sCqk%@?OlO(A1Pw1OUPHz0eilly&#sa zJIUhceC?8nCG#Z{zSsUN`N~lFx*h#QyL_D<%U2;duL2cXv-O#_tl7su#pb%^-_F;` z@qFP6TM$1Hqb=jj79Dyo|ZZZmh;?lTFyLvyUIOcEr#AI zfk6gh6n8mGR7Mw1U}*$jUq|r(Me5_<;(?Pb=z9mes=g`UP{BNe8UCJ4tg~Qgti~ShFWz0*7cwZTK+VteQCQserlEAHX zhbsdk>JCp046Zv|6Zl=-;b5R&-QgMB!@|jDS4h!{<%Fo(L~@A&7p&<7{kHXKJ9|w> zI!;#uf$nQ?f&<@DWyE1^DG@g7E3jtDB|?8}sl{eT5zITU=^r1z$UFjeo3amR2KDwQ|Gu|T%} zJQ={AVo1QY(8oujZd1a%t_QI8pW5dezGm>Y`3eNaqHW$hGmxr@qwbeM$q(Ns;7#TO zNStsgAjj*SSMg=0p&6NI04AmTxz9h3bEWLz9Q3rJy9@S5E03@CKS1xuTYh**X7Dr_rxf53z3c*m zF$~0ou4{37dH`?QVLRy(>I966*sv597)#YPN;o}G#RcE;{FWhkAmJp)i*Y(G=)rM` zIt1|Up-%bzhUDer{V!}&?KA{#3+bwV5G45qzH8r@X`P|tETpifq0Su4-e{Pv`ny5J zD-5p8dN1GT)NhmVMt<^*nfRpX@fl5g=G&9c2i+dp$&;Ha^k8T0;zmDm{Bakg}V;-Bd!k&EiDI1u!RE(TYP6V|n@20Ft*ub->F@ za=Fj7nf93BJ2B26Vawobs2M^bs_Jz(pOQPU)faAwhE7B76>1rrNopZfNlUh2f7wjD zP({h$awqBdJ%#3zZyc8LVqu}!{7DoB)c`R99m1GCg9etDZ7o`WpG?Ox(R`wfCu5jf zk+MrLET=u9?Dk<{vcTB8+K;r%iDj%=hgfyOom*rC?h^Tq!q=vnl03xQa@-LUKx_bX0k!1@0alQ_8=UlS&CGCzLWBN|_F&Os7%~ z;O^JsDus)T5mk@5|KMolpnz~KR!l){XRUF{qLGf1Ga}FB!zZE`0X106x+ofijWMrU zgXN+@dmo)`-mxlCf3W;uGHRpW*x{9p7HF-~V8$EqV4Zn3GA{K8ORZTufvIB$yjy~0 zb%Fgi>Q^N7a&#b3_uM{+5OJ^iCjho@xTnyMJb9wq2~P7z{8)V1fL%_np+U#l>J9#I z>Wg%$#R|3$vv+EFUWWu*({bvn-9OY>g#SGjuInRexbbdKww$oyBZX43MT0QVKa*qQ zyy;nfqshO+^yhA$mf??X^e6A|AKc;Zv%{bJM)j##8ztW!UnIXH_UU*;?%=6*m0)m~ zwK3{`gE*^o(fMcU>jEcPDw4dfP;^{_vH$arL<4Q?bUo<}qy6!vXL`duz2OtWX?j`G zKeE7R%4#HDjk&zxqK@9MzneE)n8MJ!G#QE^xCep}x3HIvD#@Tcda~kWq9J14bUo=a z-UxS0_Zhn-p7E3GNuWDoZ!0#yG_|D|8~W~petgEJnV&dZ4#&*B{PhCtb2+;1!q(1i zzOEaau&N(%M*jg!Q)>$D$?_W8$1fN^et|Ei@KCTzPVLV@r!S{xAPw7ZLXF)*KP6Xx z_99xSC{+V70@p`h5Bv^)E;W#Z-DX0IJzw>P4tJ`)g}=dDLPuORqr576Mk8%IM&qo$ z95l}0<)I^;sxQE$I&FO<=2;T+tk98OfgYhF=LTG%Bj*LWgpOQ}o3f5v5$tpfZuZh> z*PhEGp66qKF-i{IC2otk3NF1whp&M!A1QZ#3m0jQYUveU$uul#Tb!><>6PGK`V*xbFzW3(%oERcXX(-{#F&c&zvmH7DA4Y?ltGd!(nx#tvXc0JEB< ziv5$o9^4+Ux0Y5_eJqH$`+zoU=Wt`4@w%}tx^9OV+MARgYV3G$_sqSX(5kPqpwAtx zp*=|lcl8y2ld(aF{%;b@{E5qBs6;=zW{pEOuxfU1Ym&pex)H%*&t9YOXNZ~RTKRg@ zmnmMOO5Ps4Uj^?=2tEYT{Rp!&$&YSC=plp#A4OHV3<>%py$8XN zuqFL%6Dkiozm@F*y&K^(v$*lXNPQncunU(DC)ZQA5g%`RsBBW%uo6IzNdMY$rJtWw`xli^nxPEC}O7JlxiO;tDM%V8r4keB)b=#-1nDu`lzvKDO z$}cXSQi8iy?(Z9=0_I1U^DHPOYrbSXtKfM@*8JHj*G*7~=;FtjdxgAywvhVEqyV^ei#7W#beCl(sAb**64B5 z4p(%?FNki#QNudqqt=z*?|sr&VU87jyX|wVvZ~PoW2246&>gX1UTWaL#PBaZeh3f8 z7-x6}_T}R*1oZ zF@?r-Y#gU!d-F>VVQOkMiGJfFzw4QI{mFPy5_v>6@PVr~&EM}sm1kp%OIOW z{n)xD(iR=^hpYDa!?k8XxOh)NxO~@eqZR8gqGGI2go`$Wi#DS#gc&W!{qSynMfOJD z%1{28`74gTiVUQ;eg0dba)QaeE>Yf|1xBO}*@MVfKF}f`R$q6N$ZVevtiv9z(a11o zxAMYi!0R)-htOhg!xw}XQUB1oU}$JoBDZ-5nv*d7iClZgy!RHab_|BzIp5(-mnK2Q zWxQ%GL{yCnzrK*ufDE_K3O*PDk3Z-+5PbgD^&$ z>jD9C$d#NbM%xzl+yA3qpkkt$H6Ih}$7kU2sI*drt$qhq2 zKOmqW40H6sJg};ehskQDdH?J9W_k#0FT=wS7)eImgFqK`zW|GCJIy$Rb+TgYI3S`w zg0T2{A;1E3IADu9h!PT`w+a(b>ML3n?5aWbcNi%qVzAT8{KKo!zNf$w?VBRMKb=bV zr}FzYLKKtO!h((GW>ij9JI618eWn$Jd!!dYEh)pZ-Yb9(dKUECKHPQn8)XGXufFJ* zaHipnnp4JmXMXJ1H$3vFV;@#Vo0AzDM5RYuNRQ@sJvZdHcEvtA%569gLlhLi$!PP@ zm-l-w$SikL_c4N#c}CY$=uiEW{;>1McllZOUPZIaqWOaUuyZ?*QUxJzR%6!2W@qrNBu6qZ zR{{cDMG$c==GuJNnFC)|V?*i<3VEplS&Am0Xf9N~E*aRN?>rwKtZFzjRN!!sG&?VV z2hEf73_x=0MP%41AmZ#RG${yUM3>MsJ5K~;9Qq+oc{&;W^rj-}po!XSeh^*TheTf? zkTHJ*%xY|QexQly2hp<^l4zq2G&RvSKt|dN7NFAkAaV%NOda^7CaMNx zB>J13WyCf+0|bb&5$oU0&f7`S>?~2ZDg`E}z;W~;`b0nqHcR_U0TE0z_}tBP^ssY` zCL&~-guvb^sa&H2uh&F{faFX+h%ObPfttvt0uT44d>K0MDizpKD9?w7Hh3u@4de_W z!_NKyVdq8oMPc*R?h|uhO0zqW90FcvvafF?JRuS%#2nK!;p+q9gfd@wP5disD0aB!C@!;z!m`8>}-OE`Fd7}nw`uR{Z9dgo&SShaQzoRgY)nBMZ7eLcN&z#LijTR zh54U|RelhCah~LIzJ)aumVRJgQ`k8cmX5Hq0l!FWHb8@OCVoMAzoHDlC#lphIP9b! z*r^IzX<;WTEd9WaP}p({OGnr_0l!G)c7O(FDSkP$mvLz%b@nbytq*;JL02R-q6QWj zt$u8e()bARyA=Lz3!f3kKSum2g`aHUQ{wp7h+m}ef3WZ-UxJOKQlYIqu9LB6Z@Nc~ z5ck=1`<45%caX7Y-*38cJcBsDDF26+zc=^;zt!^JsQfR(|NsB{|Dpym?&pVNhhvt8 zl^TxG@EQ#d{aMkaY5zbCEuGDOMBx`}_%96`HQcOW&j%IV9ok>6;V2ES)-YYeZW``; zSjGEL!)6Wtt>J?j-lbushNCqs&@fxW3=L1z@W3L?U&E~$KBwU$8qU(NO2g3_`Zc^j z!_zf9QNs=z?t4h3^Rb58HC(CT5)J2TIPU>P|A>amHEh=KO$|TS@PLNhw4N`}Fk8c+ z8jjL%f`<2KI8VdH8ZOsxy@oqA{8GaXTF#R-JV(Q94gDI9(Qtx>cWG$ZPiN(*J3+%P z8e;m)e{~ONsI=jz!wM1q)yXe@KGgPU`MYU7bkK1BLKX8%4d2&ry@ty*oUh>>8dhmI zUc=vOSg7Gp4F_u2L#KDC_Gf5#riItAn}!`V{8`th{ThC$;l~jO{&d9O_Hw7g14ummjW&E&_%q?R@Qj~5As(NuJsLl1 z$`sF}DV4W-YNl5NO3McTCI9j(OQ%#?8lvI|M)p*8Fsg85Mv2tSNl66Ev4p9x8b#~QyQWnz2zmjmz7 zc&yquCfV?$&xYT^GiG3NJbpI)z+3zof1eG{_-oD&z54H`Cy^@QnZI)Ht5{ zUIjnX!NA^e75;9#Zm?Q<#}>cQhG+aqHazJE2IBlF z?{*uW^3J#6Nk0mH3{you;x{MY7sBtc;kyOn{2Bkv1bkrvz6bpF`12F+MG5#_3HW6; zJoVduT0DKa_9WovC*TLdZ>7)r;+P(f&z5kp4NuH68=h^j2YwHsu5Z5Dczo)2mkm$( zmfP@5Zyfv{K+E1!X2j!5{k7rQ)_d-V9yR&4T|ZM-pJKJLBn)ZXf9K0EbjpquTa~(G}b1Sl;RIlg{F^ zI00V{zsH8(m4IJr!!zByyW(9}>L>BfCEyF;Cw_2sSxKPGUs64;prUf(&5ntV zGDo$e62FriS&mDgsc~>k0;T$A$$QAgkNH^-zX#C5Uv_s~9^xJF+wqGM@Z&W8qQK-T zl9LZP{CrQG50(!d8$efR!*{HU+oXxt=G(trW!KJO^6LxWg4{+V$( znNAw~OvjRAaRR;^evihd0Nxdf$H#(?V{=0MuWWe92mDt2B+#eV$Kw;fKLI~F0pA~f zD?aJB+wionaW*{pFP+_<|2X*b5Z?1EAATK<(P+i5!mss@`DXbv&WXokz4gPN2S_~Y z_2#*8JQmd*+ktNYtk-;NE&ijg8jU_e5*Q6PNaSB(`HY&1(vnHO>WXP)2q9nE!M<>u z?|JZ#YG|L|9!4C0GV${iepp$+S5Y%@XmwfH$f}akvLUrM1B-uOt9(ug20T;7dnT7n zo>Dyn!B+XspC9K(mmhwQ4ZkY^zc2xxhGkgmAIoD;0)9~fejNNB&@p|s&qepe<8x@V z#D*t7$AUPX<+}*<9zaWezYS0Np70aD>-9YRqW{)#pN3DjsPM(wzx`^j&@I#cUCj!= zbiIOWHGa}-%AdYTL64^US;u?sGZjAYQw6_z>uLx8m2Xx4&07?->b z{bS$2e`EKl^0WNK3I5Ru{-Ol`s04pug1;ca?@#div_D0Oauac(lUJdXV{b)$7F<+z+F{RQv=|bT#CQ(*!Y4-lh6xHg1-uG0LK*K%O;~YayUi| z9qJfy9US;)m2=NO$IF@a`6P;aPtQ7RK>- zPRLOUdJiDu6O;Ww9FP5Kj=Ml_;gjHBX2X-R7=AncQyZT0EZ2B0>hYgX+q-4=%d~&e zCwYRm^pN*pTn_R{gWn?*`loyMl$4aNZg=;*yu7abhk&jKN=b3^KX*!ZAc5}M6`t-0 zN=ac9y77+@NQxj*;hzd5bi08{te^cq&y$3E=z3eLp(WDN{i@zA(QvVb3pJ$fSboe) zNBk`@6@8J$r)jwB2Nk|Z!{wT;PWy{AEYy%Z`A7cz=xzUpAV-0w!)v|tI$D1b;Kg~dOQ_WwuwgMslEUUJ3QGKIx=bMa3S|2Wi%=@pd{#<>sM>8h#K zwKMLR?ugGPhnG}&N~cVoTv9m>_>$nbKw0giu@&WtT= z#P~?Rsu~f>#wk{aQ{q9rpIlK{5+5rvZd`7pI~lWD&!h@YgeR3<)MYT+2v2EwNp($G zz*B}9^SBDkq$$^hHKjFrj>}me#;LY^SsWNXwq}ZB>{vjwC1atGu_e%3c^R7z8SiuM zSW*)N7G-nErH-1i5=W+98(GqowWxjk zRW>~NHzwc*!f%g1>fv~Nalvol>3{!`IKB`3cL7fuxv{b)SXG5}1QZ1=LrS)$;*K)l z_%9Y##tF%>={4O=6=l;$j33IWkR}EKdiT(vrc{+xdM1}tRiT7PZ~e3MQ}Ae9KI*3j z{2oBNd}@irS_wfJ2PXd}p5+faAjIO#Fe!_Ro^n@mM@P@?Q^rR)3TPzdr$=0)HODN0paV zWAUd3O83;1l}AhrY{)v8rKDK>SZ0e)e#P+T z0mkK7-_#QywS^t*X@T4q;->>nUSNyyr9-s4w&A=A} z`hr!HFh79cy0w&LfB`nSt_w~cTUO0M{n)a~$))AgoCl3rbxELNN~H{3z-L6|q#2$m zm2ozus5oO`EHb|y=Ydwrt+I=^-VR4iU>v6mlc$VBR1|jE$_oyxd1NwW^4N;X zGPd^@mQ+|O79+v>VXXesJObqiwk4q3&0r1Kqph42L{7QTL3>h5i|u20RiEKemaZk3 z0kN=5g5=w^!&t~TRpVKdmnMYADiFe9@0Pfp$-x@QZViTu72_);zih{A z0+SpyC|KN)WFGbT#nTOn1~wLcCJ= zOA!aX1G)`IO$Gi+t4omt`i04g|M*&@HyLXnxXurMLHw0e;tzw?642v+$8`MF1Zo}Z zR7$|71O-FojIF7{pHfBU&pw1;{H5W(Bg(&B!{r(-(6CBFzlK)3%bsykS>^4p9u_Zb zr3&W4CPCP@Z=a9C#@laYhn|`llgCbh!J`+hhz_ple$t8#GoQ>SynxN|1a@+d;-#+1iuH+Gl0MG z_R#ZWoR00oeoZ&hQRd)ZDN42)r5QlU6^d&be3O8=9e?q5hGhg*KJSi`O-vh|> z$$x_l&-e>9{^<+6@L~L_=Mg;~Q~m`y+>+n-HF-0U3V}@E*YQOWUVkuKgWf&jS`4WwhVQhvy%0J<#Ro_&tDDx`Ac!bg93A@Z0gL67YA~@YqA?82zt!{L|rY z)Oho1CHJQ~zr{i2FFsGf_cgvz<40+H-Ng#OUgNEG6~D&s*Wr%Aif)(AFOrsjX&P^> zw|I2CeSLNM=PH;{pkP`*1sxYENWE}=-2dr#zS7`Ne=4pQ+C|F$#PM`J2YL@67Zrq4{$=2o>m6lC>`#C_Boy`JgdyT8#4pEF>!A!gKJ$OU zdo-S7GuqEx_+whME&fZ>c&0~u?f*mF+rW2K*8l%!FkrxtO;D#|9(C$az=5a}QP~|1 z9b;`nr=V>$fi*)!=j{GMK+7{ z|9V~5>-v1o=P=UW_xJt(zK`$qa6Uip>wRjPM-S_Tc};qj&o#mG(788*{A213_z$P=4(Z>(!7Av#C7?eR@&3Y% zhjc3k6;fwFk0+|VwcL0}XK|w;bx6-K$0T)>?IFFwnlVfJje+=-xeb{dTSNXyR&CZy z__J1ebgMT7b^6*L?z)Tl6@j?;SL~zt<$?TCI63>`Kt6--Ibq7{jFT70KZp*V@!mRf z)jl_npN>8~chZ@Kw4bef_D35QH7EUU;{fwBl<$jE#K~f^m?S2Oo;Wndj)*~Vzc?WF ziMz#Kv0L0Cc8VS1Cb3nl6|2RiVwqSh7Kro2x#DawLrfEs#KWW24sk&27k7(2Vwcz{ zwu%*Eu~;C^6Ej6$OcP7;%1U!FS!9t%Pq(*D#|Y`r4Li?!s4v*+=44+UKo|FnB#e+rTOPGx2W9w zUY3`A9rH~86ldq7ZsxHxy&!bMl-FU(gzz;5Bf za+b?-JXA4%;bPp^1WQVIhtejr=logA78NbKW`j0ldXZ3qs2wfTlVc3#o|oj9M=um2mSMWZ<_C)VSX1Dd;UTUDCV1VxmS|CkSgyg z{twBWH*ES|EZ#`umqYfc$8zxMIbZ~f!Q}EtOA}eSycsZ0PSDOJ7jI7}-ewn1=P5}~ z$CtNP`tWstyAGN5F*`yh-)mVe9@uQY7*mfdlmHB^DH0av3fV+^L&MR%H7Y#>USFCa@Z9} z&tq@q4`TWoAP>Oa=^4K_pr>U7vJblQ+kY7I=lUHU#E(8l!T1BaWBN-WcS7F{y8bDD zE~aPy_>g_+c^y9c`Iw&ZHw5(5OnV`w=XF*a?78zZelnP~C#L5)U>WR#+h3$4NWg2ZvulB7A%{WzOFg&NL%kc1dHu2e=C4EOe_wiRHg8Kn z&+Q$7?DUiiUXA&4y!8h3+#k9FdY=2%L-s*8o(~1|X8#H3dCgGpi&%UfbJJfN<@L*- z_6GxcT6RMArDy#!e;M;1!a@!hRka;QA@$w=q52(Fgl^AoY}6 z1A1C!K=#4#yzHLS*pQwLZ7lxofIs7P$lsNpc_6<0p@5#-b#p+^e$9gHgY>88?BB)w z*&jOs`V`1{2V?pLke9-K9@-yTm(;pvbsZn+#gjc|wGm6rrW}r!?SG2JDTcfYaR(7+ zc_r_c{cxL-tAZ6RPQL2|gd7`<-Kj{aK7BUz%};`a+MjipfU6|4Q-1%L-Vmgdi9eLH0rFsp)wqrsulC9_iij9-m|A_f> ze;PnMKcL?b(9?1*;`J^eQX^z@(nuULFj|A3z3wJV@!{JD^Q(8ZtpZoGf5^my*D z0EhINM!PvY$o9tMq80XZB9?FE;zr!EZ?re<5I@)4hs@_Q7G|VdnP(qXX8ElDrcn8L zkXgT))*AdjHV%^B3)NG0E>1;2Z}wBjzWmvb+XH$=stxIrqbpfuVb0J2~(a(Qh7bT#!W zaQmw8Xoreuo}mO)wpws`|lw=pXP5gb32qsZk&~kjm78jZZFF7rDywg1@x>> z1hUg7Ku#GK^QZkj>3hGC0}00!F>!~LyT6lX^1GD3T^#zZ)u-tFuMXvJ77t3l<-69u zRrwpm0qK3|BjTpVY}|+FPLEK?}M!Wfb`+#HT_p?ecM$(_dIo0kIl~$>o3hk6s-4u+vfYqpC(pFKPdg= zC#_wx=+<-kUYGw@EW2fIg5!T|ALpgQV`BZo?bU^L_|lI6`vQ8lZxdwdhrVayy8En| zm)Uw(>pt5->D_&{bm@01e?WBiS<|Gi*L~COb=fEd+fR1xzUoG`f7cqTpS{-7ZLiFU zvG#EP8B%?zr=~ZcH`j-dedJTm_Ex9Z?Ku}@dxxYy@T_fbo1TlGtNLc{vH9iF7p%;K z7oImzJ&QGtXYaIjwPHjZ+-36*Z?W7WZW9lPheQ(`|6_ewzl>B{Uk_w^Hlg0W^pqo$ ztiAx`8F2yZTBRQWrcJi`LFgH;8}y}503*=5#Qi4&GS@nmczL*|SBSqd{N;Jq2i`%U zz3b1RfIs)IPRPFWj5l~(EIw{8c}b9|kEowrf48bXXKS1f?6v*n`n!I>%D%?C^8^(lwU@~LP04+iucPul}}+HXH0=Fj_`hoElhQ2tX68)%WqLaF!owz(PtQZsV*Xs8%Y*EL z)U!RCr^ocHUpi!`=kW^%VE*5vi}C+n=y|^8;%Cf^=~Izk4trnv1aM10&+@7v2lWFX zeYf-_1*KVe+0{j5O@+CO7UW+&qkINd2T`5K^7E@NsJdwS#q~K&dHM5^Wm3U8`G)hv zEODCXi)mtt=!rv9t^WaWpSWA>5xc|=u~lpqYsGT0K+F;|MV}iV$(MYZhU6~EQzdsuK1Xsy^0|`BB~O!_C3(8!G|9Y2 zZIa~kBp*22);Ck~ZpkwxcS)WlxkK{Bl3OKTD!EqjWs(adAL8Ic%98vy$(fSzPimNy zA=#6En&bq@Ns>oO9y-g`AD=WdX+ZKQ$$gSXOYW6CMsk;AeBsrkcFC^)BS(=hk$r*m zb0zzdzxAnqW}Uck=L<{g&%j%iYghMjJdxIfCg+zLJ@XbUC=K2=_e!r_Sh%3*D#pW2^<@jQ zi?Xj^H28SArB{2`EWrKT1*Kj=>B3p`&nsDQb-uX+Ut~%}KC``rixwA^Eh}EMps38q zWsP{4x2AdlzhY32t7Vgk|K-)J#)G{ji}G@d@z&SchQ{iW8v6t`?qXbl2e{0Y8SY!u z*Eg*F0EQ*mrFd+5L3U|rP2-yA>IkmW8LF6%x~?;q&JB%=)~*id^ZA@vq_M84Cc7GM zt+>lttnbz05$srAF4j}kiS6$Ik)6|T9F&aD@i>J!@nuf=6@eK5G+-qjb>Xz5!VR<)uIX(zsip*bA zv%0ykVPy&K1+k3W#&wZqzRMG-ty{hbD?f|_OT4Vw+*ntIN>#%@R-ZDxtYf>a5b;-Y zH6hxE*Wd-BhP6%EEx1+HSa-8|*4>tFH&Ss;Bc4abOGwLWP>WdHK>osp)pe+Z)$w^f z^z%wAj-bJ2bmX+)jRe;}MK#SB3^$@zO5Y#l^*oO3LzaK3`I@2vd|-jhm2sHX)eY`QrXrI5H^lKEOQ4J~(5> z4BR6_d-IF4OG@*j-dDD)HaAlB7`Zub-(FXgpKFg#zL+Mu^()8z z-lRj-;&||13t~aiXVH?doOyK0#B^+-JfQ^ZWX=)vkIHQ+&cF3c1?pBk$mq2 zH;ihG;V|!iC>Dx~p5ITqAl4r|zdelh_|o$b-4@V~f;=0t)AJN$S3pnyO(FeIK+kx4 zLi%YJ#>zLR1dxOAD?<9&A$@m1&+;SE@4LYaKQBqoeYLFb>874P2{&@*07K+kbC53=)T{Am}*{Mr8l z0X@rY4(J(gE@U5c<#&hlZ2>*&TR0~cpVv!0(ubd)&wSeU=RK8{wI8-jsj*~vj8uO~ zEFR8ryf(z|1*zx#=<1x9{wc_tVc&~}*!SBwcCo|NH}DP8y4CKL7VM3@z2;swES+D@ zH=$biu1hdK{5(M(;vX!w+h-S8hjQ|AM|%TkIM&j@&&9Fnhv~RE{bvWsBfq=?_1WnFMlk=owEp5VZ+}{Q3sQwEaSyzK#W!b~)PI;Gni|j=^R{PIeFI*jtz3cg4pRi$ zz_-;HGd2;R-)%g>`(Eys&25gZrRIye{mSmjn?-5!|d4d^L;R;o4yWM3sJU%Na9| zIp&!VO>a?Ks2iK`(v=d&I{&y&g#Ty~)H^%Jpx*svjIf@%VE%A=+68lr8|G6Oj4~O*oq~9)mGZ>6t zcD41N2GajvNWWkD9nv?0&VMBAJFbcC-&~JPhD`koeISYbz;x?r~j zq@MF!bag*yfmig z{JTT?zL)L1R``ZxbHC*Vao4Y{obrt2Qsvi*J<=cUwfa2e7mM4Z-zNPu)kFZ)(3F8u16a1Q2Ym`wbr#wUTMX?|Pn=FF))xs1JEOk3kGdwc3Rj2_=e(5wp+ zH@>?9^)~a5>h1b%OJ%HGT;J`7z6b17d!p@F9<4pf(OD(W$5E@Mnr3hEpxquB;=bfO zMA7}<)p&upCbzkY!?^ONA3GSwjPUd-Hl7? z##J!DQVhN~89S)cV)5$AHQ0!ixMUtyUtrf4Y+LyG4m^j-r3QpkK{Nbo8u==f&sYeoinB^b71&PPDSI_Qp{E|}b=A7&8qNaKkWtCcKdojF_WLo+XW!Ua z0>91Uk4+-%vBoex>V!{%;N)}_j7@&PF)AY-la&=LUN(C7KUe=fq55~a`s@55X?cA6 z_J;I%A$G2GX`ILd%Kzt6Hk8Znpf)^%1*~L2$h{yAnO^RpUjpu&A zzVTNyHmr&c0UjQ`YZ_YWtNnEiEqD+1MqF|Lec18hpP{nD^OO1D%rN<|ogbLD=4+~nR{SVGSVl0p`@Owa*#6uh zZWlY%-(8Y7yZi~(zC-c`u~n=U%f&)*o|q~6Vv6XA+Z2CjzAa}^OjrH^$^BxVxLfQM zd&DlWQ|wo}_J|$I-zc_<5wTXR5X;2^ajuvt?oYP$_9dr?o;a9q^#kHQu}|y~yTmPG zhqzH}6>G(Eu~3{RW{SR;Bzoddp88olAP$Iq;;s;TBzKElVu#o&){5ogJTX(u5YxmY zaWL1`t556^yTlH0qu46eixpzAI8V$J)5OVhw7o=6Op)GQH}Kk?X(-3qTgm=^62NPB zri0RRZcotPD3HfWrcRAx>YWW^^O}-rAmAU=b53D$`=ym^j5G-D{VcA^XE!(VR-H+h z4sfbiV`qgjy#xh~JE1AmcW=VyYq<@Pbv{46tT>DCbsslZF^l*2+*%#wQgedjFW^;K zT~X`-Uw*;a#R-JN_pPgHs;g_N{nBO}>D*gjI1X`@GbVc1;o})izRAU@x$eHA4EOz9 zW6SkYtQO*nRMq$x5N{TR&g0Fu#aK=B6Fz9ghmehgdYf>^mf<^O-qrT2 zUkg@O*O)axyl;n(f5eq)A}n5wukGF#tMS!!jm<5vbWMoO>$ZoQq&Xtr)ki0q*Hku| z!;WZ9Q_XdoPFT%v-&ECj;$7wGd`X$)Te@ZV5HJ;Z-xys|?Pa%^W(1Biwm!xg|0^o< zOKX<5;46$=eKq&Z*3{WY@QrNl`)LFeR#w@MUO|&v&->|((e}7oB_RH0{!Hl&HkLTGwZWiO8U@(f}20k~>JE1nYk!j*1%RP#~ zTc5Pxxqx39yZ>5%f6l>Qgy$`A{X)GPA%XWXO_R;D<9;?5=V@l2CHHe`a5`kh4c^GG zm(xaT=9lPAzfwHDfN91gcO4V5_4m zBrrsZ>zxm<7USB#HBeu+zZ|j;I(_1*SbM179?-M>%>g|vCqwo@*I&B=dfIP-oE6X~ zu8zg0eow%E66Exzn0^!FWY`a(qwTz=PQYC+j$@{5`<+6Ka@+6hd)xc?UNkPOxCr8| zyWI_}N^`a5dA*DCO`PJZM6EMsN*=n>=J$)ibsN9_B;cbgp7aX9k zfnF<4!x;D(T&=*Xvwlkxw?*{rS$pv~6#;4yAh)u9c?&j-?a3ETXB{$5Qc)5zJ)sn9U@NpW8qY-c?91>Mt7m6^KhTRd@C6?SR60`xTF)!HbaZ8#4~B=G9IHi z2G|MsQ0S7zCDYq7ufKkMG)~)T?kljjASA|KeG9)ks(s0LwZ5NMP5Cfh4eKl0n%bJ% zS{RpAU4(T@`>ko*!LKoq+3mPdVwReNBNp|psjsFE~as5PIjjzF{T4fVrlo z-dJ!%x*%95UCEOWY^iEKsMOGCOq$j=wAHjlZdsq%HnVM(tB|7E^Kr8pVRO!_;VS)k z(OBI5Oc;&>{0mKMapxT;Y-Y&u;|5$MZ?-2pH2c7v%#9P>HmlYbu6~yjs zzXO4>ZC8d7A0@0>)x4z0^~vh!$7t~p3d}6LmCvnByVjUlFqY}NIn>X@4Xa9=MK(20 z^)YcU>ta6x&mc8ca$lU@us+Yd-|i~4$bN4$y64g?g38;aerM%mYVDXq-<9w*7oVMN zYN>MWb#`PnRbsT%v_)H<9sK638!q@*>-xoI^QULE;mbsAd5cP2VeWh3Tu|a4hCgph zVG!UklJo3FWkv9%R|R00nHLu3x7i;#`7UJJ`nu{{hKtJ`%yq^xQ@7B}o&lOiFJx?N>H;PlE%ttrnaA<0N!@B= zR3A|z%)6uJx(#21*N%%%=TggE0T+F>tFf!qqqk!-F}Fg!pTQ}2s%xwXyPDH`6ZT6^ z?YKV0zJ-GzPHM~#Yr@{JCUM`U4V&>0V9js^g%4w!E2v;CY_z5&(@mF|GK}0_k62`Cr;R2t+$DC>(yfMm1aFTHoCcc=BNt=f;Gw|Z3T0G2xcs2EP{Qf>*FRg1O8##pt!pr&v`G505z>~2PJcA#&VjY z7NsbnnO{DSI~SPVg6>=rIpg{zH{q`lf35gihrgTgciQTjwVIrYu$ysY>B!#@;Q_&H zk~Qmjadpd*s3R<*69k#9aCtX88+NV$UzGTvOk$23E|P zo;h>+tgLb4yt;`eobl|uJI+SP1TN6W$$m)21zemS7mNWp(R(%|cZB2(A-OUnSA^tw zAsH9Fapj#AlFtmu=^^=ykbHVbj&E-wKe8ED-l&j_>z;sq6hB}ZC#S^8qrG_l(H<_a z0`{Z5Eg|{iA^EnD9N&MVy_-UMTzy|C` zauGOAjvqfGc|$QyAK#xNL;W+73&e5u30SAWw@(W3-u!aBZNCt|SDAO{hyPZ%heZ2a z^Q9Jk*M;90Uk9Hmc-7;n(B+85H}r2D_FLo5zXX0w@aC6TYK~%gaCaWfz5i+AvtB0o zW})sRr>BM6@JRj#eb0-T>Pb}@R?KA9W*S`NP5cK)nkUH+&0^}nn9ZGX-+ zU0W_10ss5&ivL05Z2z_$uS4T4+r?r%SLU8CJ1BX|1Z(H=D^jeyMfvxLnUigP*>RR` z9jd)KwvL2p&?|=QgLZ8w_J3rVX&?K>qFr{d(8vAK(`XJyQ-d)AZfsc(t3kH3;3`ylm+l-I=T zw}$jPLi%#Z^mqMT`~};eJH+${tehv7Ram(~+$R>|-Fl|Ek_*H>ao{~W9yctrcGHw! zFYf)D)h~V9a>|fp`adk|4_lVMYkAO9J;qqpkF*>Vr%CU&Z`Rsaza*lbhtzKB6Ck$+ z^dlh`K=wg5e*Fh+{GLZF_kGo}>}!%k<9XXxZ2mo8x9rt^;6G;NY2s3``WrSsv)gh& zj681T^d~I)zigSb)v{Nd_OO+^#mJ*p-rHsA`k^<_&P23tgW5?w*Xf&EWBtT?tpfo) z`)MGcXFqL&?1RPno`m}j!j4*7ZpJM+&|-i3q~&(8XNA?f?;;$Ozc2gZ+pT@SI9qr5%(vhnvW@lkJsqAlc>WYJ}?xhgu8F) z40O4orRK0Uwr*~hqGN$Dec{foxgw0+bU@HWSGlV^`>>CT&+_cEf@~$ue=x6^1$SQj zRr4QPHItdH5MyuYU34=Z?3odJ;bWZn1Q{=@O|zwnAh#X0$f1+2$>`|&N~S6EjSE!eitJUNPsQM^*54x6_;pKjj4O3O^i zN#anI%^wiQjf*}>Z930C!?@!)RQvC;n@nWsIZ9jX(I30?a&TpSBW`P~#J_pLyLq{~ z3s8tKA7+lBAQRi20PYF2oAcB?ko|x@d1I_!sNWmX7libaAqV|8 zhxE15YyU7es@OKOADcI>?Ai$56hLv&diICnY*n0V%)ir!x2DuVe2;ex`iH(uTwk?0 zcAZl1f7O{KefA@kwA5|J-u270PsF!-$kiJ+gs|FSR|f;WSJl)+d_4PR6|oy7CMf== zyF=#5zu?Uwr+4MHhRV%@?8C_Ew}`FgxCJvyuc zH`G*{_gh>)Fa1=k9gLF(ITLjHo`9bHP%VAm({>9CirzC;-XP*4E%rS_EDEmDqa|0= ztZu;+$;r4r`mTER!n|B8I99ea7F4$A#T1mq)NB6l&G&TuoRB)!OU;=uIDTMk-UiUzhCmB;Be)qerT+B+-<3Y z69*>rjqe>BNvarAJR1GYa{E+n20uuPQ~*}vk8v*L#}AQKf|Lh9mUl>UxPAYwoXDGY zd*osLjj^i14f=gQ$Tsc-8GjGR^osQ1a-5uc{3vfiReXCoRF2ON1|ZD?8MA^+Oz;v< z2RUvUM`Swr(8;z=ReX6GsRd*mqvfO~dPyaTk&zW6%-HHy8TY_$n`~c}?{6f(CHXzc ziKp1u6G6tFEcsNB^~(V{)^3s9F8$pg?K`D^MEb|2-y!|8(!V2pB2T1|CW59sknuA? zmUoHt^QFH^`WvKQBmKvuzg_u{f!tQRCBFnR?E_iPucSXH{okbL3#inO0_k4`vK}{r zOlzcHFa2ZEKPmlA>3<}BpY*>5Irrb=+j##0GJVyz_JyH>||rdb52a&c!rJnB*^q4m;nAl^54M`kjJG{i+3+T*1?q- zW-9lC&&BqGl;3EdmVdRl5gfL?Zodn%1pA?r$B*{L&x-YNc)m^u>jV9l5d0nNW7qF2 zV;0H^>Vm&R$A%-y4(pFr9?M~yg0X|P!QVj}SI?k6_&eP831hqoIicgHD?7+=n}acf zzk_uN=7-z;e=ED~5G>Nz@A$^}Be2;=s&HOmwH^Hm)wXl zD(pE;ruMf3uuDiB>DfIIzk_`l9w)BNjuUXq%!wT{Q$i z7MgHgIye`9EaPj+8w6R#n1$BnN|5vSGRZfBw0C8NnR-0tjN9Vp47RIRWp7fPZQ>sA zfMTvHvSt1l43=T~`?lD4V!Q#xt6hY1Jp9pq2gvl2WLGzHE*#iT=L|@hw^W z(f>M-X|3d_|1jIhmwyjz`((f1!`AU{8!G4Rz9_AdpSMekA?EtsQ|3&4!1v36SAjj~S z#rFL4IB>XfTzQUWZY+t-jRPuk8vL0GLB_8K8GjSlg+IoA31mvX+S<$nX>&O^5?lyk z6naafuLhYu4t|ijMeBI-DDT*+VuS&->9>c9gaeclG?lUR=bAtiwyq@Lz{E^uArt8N*JgMUiUlv4|`oOW<4{uukp zYfVw!5|DMd862+6)HED3UXDLza37zivhuF8e%0Ux{XT7pjeQ}=*o(noWAi%tjo2}k zaVr#ei+p;)efpiV)W-b+$haT7!M5uzkp1^1klTH`f z?Ev{6#8$~qNdGoC7Wp|9*8Wo<(>)c#x5tf}|0+}Q_CtEY$=*qWX#>aiP3}E5l3I~c zJkeaUZcx7*MA=Nqm9|dP#6pmLP%n8C$hL2jya!}k4@yq1f`9m2BYe)|j_cv$eNybY zCt)leDM^^`@t8lm+V;zpAd~Bd;JQw)+OZur`(!^9wm)H{cg)V%e0M-T$ty6Q;g4hK zNs#GX$ zqrRc*ykhxw!)~{1XVh8Wi@^l^Y>~VHWW7Ek`F_bRwqq)fnNP%@+eB1Ok9_;VLHTd| zh%N6fkmbD~`4y1m?U(!~$*vqnbKbG@$YX4W%1pV@#?J%`@W+_;2wt(;cvjp2vYK%enaw~BtO>(CDLAy^>|bApyc-?k885}DIn9?k}r@vPjZpuYbCqBdq1Y) zZL<{2Z^4noIln-Cyiswtg6yANAp2v#btB(IhHS;-Gd{)Xf}kTH{5 zY|Kd@`}iV|efN~)U7*=EAj|o!^8cdzF>7r8aUlJDkoFfS|NZ*F=~Iuxx7ZRUdG6@P zeyCMHL=>w-vAe}SkYx^14qV@5t+jRf2*|Wf@_Nai0a?d~C2yDh+mfG>?CRziUN34_ z{rcrM1j;tExz*NTFUa(swh^-CCAAzYOe~ar;uxj%%`^V|g^r``HD~SBLJj?YVQ4ZQpZXuzjf~ z;h4Vj$YVO^=Rvh;2tGP@?sM~Z0{#u5i3uk}$CX*r)3uqYXO-Ih?-;1(5$EQ?K63qb zl>4x|@3n0jai4ADbdYVFCHZ=g+xT;mACUfw%Kwe>|D=4ktsRHE|Cw>n&bvvUw`FF4 zdH7?w8AZOJ1#tvm^2I!W>ck_$lYpGzgL1X*6ay_8yI?r(i8G;Uq71CT`bf3e*?r_p{dM2eDe*2r8z%cM@LX zcjNj0l)>>M-ve80pKSQDsfu?u$Ub^d^5b9vRL@9$9;E)~${+ur^*bJ9{t}RL;3vUR z;JuQ!NdLI<|Em0Vm7n>LohvT`8E28?^^)(9yif95lK%ycK{;1#wf8`&Ex2$!U++{>}nf-*S-cYX#ZPwe$@JX7i4-)@@tack$ha29S0YI zET=&7YRR`q-YNMd$*+U#&*@*W{#hXX=Yz~|RsP47f3*G^Zcgb{A8nQIF2&kU2IoVr zV+5{;O@HY6J`E>Hh9)?4t$?YRPES}XYzk{_0Qv{;#n zwFh?lW&02Lj(gI^j`{}H&5K|g1w>R2 zZwJnG@yEUx0GZwbId_iyo)NucK`8CPsJ#FnT0cn4Se6U-&X!Vlt1bj8z%*1oXH^TcdGKwQT`0&U#$E*cYuCW3vEUzeQSYxN63>Z`y};BAuc0_p!a$ohO!^3#&tw)mh-J!PCXIU&^xpSAIv ztwY;y2(g*cp0#by0$FxB$hx$GtZOIrp*gey`x$LJL8gbm1n}7J+wJvPkn(1b=~0mO zN2~vEb6vOU*{c`>is|h_o$<$b*MdxIB)j;*_0>MbX@^a?9nte;wl8qcF78~_%|D!* zp0KNEW^UQ3XI`8>JnvN<`Am%Jmub#r1NUNsbCve(!Qc@xP9Hp{8ISv5Id)z6h_(gm zqj^64CEIVG0h#tm{+;B1Nsjj8F!v(c|7hpJ$uFZnhbbd2FQ`At?=5?6od!Uri9d}W zD`w3_^FGIKWYCuH!!FvNZX1N>JLT_q#m4*-$aLY)?D$*)GJPBzZhQ{6uH2#W_sI7k zW4YsKXg}%iw{go~wdLFnvYb05KL~O^*(>>V>3^sEZ@y;zo(Adn1IhbA&WlMuxBAH- z^=`X`Ib1us)s8I1C>LA7dlc_!<-G`+dP@Gaot_QCFm`OEFof%&d$zm2~eWa^h3jn6e6tc!4-XjSYX*!;We z0r}cFc~Uk_;w7J_$7Y1IT`J?f9S! z9_P9b+3k>pSWM+0%Wef(b|=X3*#olde(GHxi=Dr>_1FP24M=wN2|uIIr!t3N7d&Qe ze9Ojp4rF=_WL*wO{;TxwDc?V6%)E2K;rhXxkG~OkR#fHY$*&p=w`I3t9gxl2v_Ub6 zf3W>=EXe-wLH5UNklP{$9Ig(o501w0Gbt&5v)iK_@t9gcmfs0-d-Q-TzaM1zL)3@1 z$I?IAx}5zd7$D698KX#Y2{>F`&D=1|GeDWDQ=9xZGhXPJjlLTK`m# z=~|F|&;Zi@_(RtJG?3+;3$na9Ak%Fi?K?r1^AJe8uYP6Xxl%W zpL*IjFAeA5;kOhxHx+9;Y*6eiAj|FrS(gEjb@SdverVq5KpyM=<`4~V%zDSlu6#2` zKNvqp54!ST>$Y#V{N4tc(*I%O%mSGnkQ|N6x%+dmX8?-dw&S}Sc1Mh%P@Tj2^uxBS zg&@-nAlv^5$)A$mmF*aQzNbTV*ebtWj1wBqk$>5;9t4@XL6)^k@^0ymeb@H=eIWbS zl^Lcvm-<}nIKl1N?fL?~Onr(m2qwK}Ki8yo;Ywq z-*LT@BF9#w7N=y|xDmxo8kOMr_+y;ypoud&!SwMnAjk7hK#u1#$5=TNWV#Qe-(Kav zuKfHYoA2szG}?Xa%whMjKGkmvVlnlK10d^!hjhF&{IUEmf=pc?f4x0!`10+&veTmX zG`Q_k@L^HLs2y*8+QBXQ{U*pX2=dp`WLtIv$o{xh@@*jXp8*-`Xzg|R!;QgW)uT@_ z1{E`9g8Cc`?;Cx{V|l$3Z9RVi^4IHC2G6@TKxV96 z(*Kxxl$Dxl?Wcg$p93=ICXn0dV<7wLKFM39-wiS)AB%NA@HCLe?`)9k!R3-yNZ$^Q zLH=7{5;$^_mCpyqLN1cL6J)#>L8cQY58nrFTl`mP$L`c&$8LxEGJ>+1IzayF2H7Wl z${z$-*OcRI+cQDR#UR@n5j#Nhj^Z2P6(P)pI_JnZ&9<`GT`mQ= zy{?k{u;g%mn6cV8rq>;jxX+Xy*4!qa1B{`1RG(qv-Uc$cc;R!;4T^CHb_v711E6<{ z2G6wd{sl5kJiwgFG%m|;W*rRQ?255%eN0aApZ&H*!b6htamg{s9o)f(F(iZ ze3){s^-BktHcS4pWV4-0G%gY2L|)tCo`)HykX@oT|1uwrA0OR_Q-FNdjkb=#I(XA< z9Zm$9=AUQft3ak;9S*P#lSX;tZX4a}o+V^mnD3IS%Z^Z8DiCkDx@=H+cdNXel7A#Q zZmhnG^10o$uFA5Lkmr&sJL{47e&|E2;l^wDSQz*I(J_hMF}3*g+i>@oa-wt6k&}(%*!B; z^XzuX0=ZqvL2j2;klUqG`8^=FOFzi%G6ZtFq-ERfk_B?Rl!M$Ztsu8cC&=y6 z19H3cgWN7dV0fG-=h|&^HpntA%(G>F4CL6j2V|Wd1zE@KAnW`r$g#B-WSf2qvW^?UN6I?4ubV(`8_AfB1hj7R(${68q`{j{^hRo=a7?Hq~`A$nCiUWLx%u zY};XwZJjdTwtX(hzE}#fZ`wfi)n<@=w*zEf?gP0!4}(Yh=7)c!?UzoFsT<_4XC=?Q zYWRLL>j1YMIiGMB>x2DeEO#3h1c5hA|UtU=Roeqhe7Vg6R)%K3n29eKF3fXUT^2;*&yw6K-w<^X}<(yih!KQKLefsZUs*Sr`{lc z(D;MKA2j|TQv{^_Lm=Zk2GV{9Nc$gwwEro{^aqf3Lm=%&FSB;3Ani^CnJxkuw+y8H zGLZJGK*ntaX@5J&^Z-b^M?l(b2Wj^VNV^w7rZ+&w{Ub>G3oERB9!UE|AnmUQnHr_v zApM=v-!J{+Amh9So&=7mwDPea>*0fpdoIYh7lTYiApNcdX}1!jT_Z@l4Ion|$hbcS zO*tU#4}i4)D@glXHpMp%kmwrh4 zk;|<<6=XUKWSmlvaVkN^sRtS7W{~MF>Axs_m-OG3{soY65~>rtlfm=ADPV=<)gblj zK$f!;JOz9m{17-OIj6?zi$T_73CMcXflRl8^!pTeD)^Sz@tMzYwJVH6Z9~O`risN-3|KSV<7#W0_nF4q~FXs>o*sq z-<2TKGLZW7KVtQlfz%g*OqI&7SN_e)zYC;a;*AOB-?_aSq`U%T{cZvo=c6FgJ<@NL z{u|PNPx_a^GhlaJy^Zq`ka1c-#`!qN)CtmV2bd22OY-@vtY0ojzao%+OF^caK>9rZ zvYxMkwA&BTZq#aPHxZ=#wB$aJ$KanzHrJ(%_S)RXk?;T2xzGQ$a!#B!*7Fl)cqa~? zFmPPoq~6p>O2x!Xd!597W8(HZ6MyXaL*I(Ob}w&A@XC?Tz6VSi(l$tIu-ht2EC+dx z(JFR=Joo64z8~bd-H_z8i2Olr>vFLbwp^byB&7U=q^RlmDHrtdb# zpK}hkCfkYaLH~Z(2GZn$rn^A?TC~Q>*Ms!0k{n#S=?Uy3!F4R=Gcf|s z)5)PHip^32#0Q|bQ>vX>^b*?1KoBislwtpnK?w@ME7eOI9G z-8MKH&6@3l@oTp9XX5`kN3z7ocjLED<}F8VpAOZr8)P5%iGv{fBn3Xv?KdImi06+J zM!*mA|G!LZyu&`(b8FfO z;}X4b31@nI+USUSviy=j`CRV}JU2Y|PTT&gK_<6N%(Foc#=hTB3_teMVc3Poxv8Uj z&w=ke{6)_k2iH1-eG*=CJ_g_Q3-%FhcLttS#`AHJ&)RxE1TuX?aK9K&8E5BFy&ny2; z<^M_f?M3Kr$+sPOAD8Q39qOxY#p+Y+ zK{7ejY_at*faq|~!9qs^`z989^757}BVs3}c5&J`M90q^8eV6-k4(?5T(Uw;T zGDReJOMV)p<_D64b6pDd&l67^b!O@r$^1G}=ICO3{>Xfn=*z#^z43Dx;}3W2>_f|?gW|c2Kj5N z@^?r+1Tx0yk662DApP<{=6?)i?7Kn6-YNMf(!T-H^KH6;0O|P{$kYR}{Qm@L{|dp}XRy3P8X57O@nkbYN#^!NzK)C|(^4v_Wx5=i?eKvO@E zmVF@8Yas341Zn>cNc#z2xArH1v^*DNx&Wm89FX=!AnmI_#;*ryxdCLl1El>XkoH?Z z+HVJG|1?O;mqDg|AnpGOvfY{A^ELDnhd8@7&_Vll`zM?kiv1MI>d>-lq#X=1l+$3-C1LU6ct40lf^qWaXzx1F&j zj5>3|8RiSYI0|80htFL?^6tlNd6zt4%fAlfuRA0UfvnHJBD8GnoNA5;EQ%KtvdID4gkL;62R{}<)Y>9O(hLB_ihWX?9_ zKdJm3%Ksh6G4gkiW90OwtegqbFAro|1TtP3NV`gqehnZkJ`OT{2BcjlNV_kCoVWTV z{|+?ef%F*v9qV^INWYUo+LwUzUk=j#CXkk&0GT>K+TRP(?h%l7+d*2~@?C4!4$|%p zkU0-4zgzi7+Ydize(Kb5-YE%Zd&dt>9yqoyrPqBqk>jdc<7%(UJfu2I-eK!98{{@E zliUol4flX-({^wV{#gG_-?Q!64pMgY8}1p0K9#!6Dh|6f7Y z!F$HmX%fisdltw#&j&f@+yJs>t3jq)!C?JdJ^!oJI~Nu1JD`JV+ZL7Ar}76uGY9tC z`ppAb-wh!9bPLG#^nz^P0O&ny>sk#mHG=%L0c5OBkZt`o$XI=nSMRj?Hjr)o56NGb z{0+(9ll(#3Zr|xWW!O0?CE1>P4I(B}%J*&AnIP+046?2faFcY;flNOJ`RgYjZT}9^ zcG@o6uJb|mQ8vgvss`CdjUdOw29Wn~?*)0U{69dhr+x+e@7&f$>nHPU2frzee*war zhpI1jpnRr-Ab%zQz_xE1$o4G-x!pE{Y~K!$?b`>keTPA|Z^{pC`{sgd-%_v@e{9=V zK&F1lu8!e%R*O}q1F(}#=IkHY7`K8<9Uy-_2y#30O8>m%pGtmRa@%g(jvs<-$IRz! zy%&INUmwW&&wt)-j~hVdKLN76-WO@Gt*(UD=+Yf0V?bAW(uL7xG403y~kbbT7 zUy}YIkp1*s>3<~sAEh5s{_}fm+&_bi`!>k(5?{3U_#^*m<&T0a{}GUOUsL{fl>aN` z{|4l<0muDV^#5|55s5`mBBuNPYiH*8jI4{l~s+^~Zp$-zgyTFIRpZ zNWX7O{{!jYl>Yb9Pxy)Tp90cR$!v|98nF`mLM@Qa@4h2klQgU!OSa zeBGgbnTME66^gwe~{bfM38aM1{wDP=`WMMK>Dktuatb)_*QY{gu*} zN?$Jh3hA4rzeV~_g6!{mLB@FqWSqxAmh&BuXiV zKM6AK%OK~ck#AV}Lm=;uE|R?a*S6f3K$iOoNWWS8?Xy#tgOuCew055WX?F+6{4F4# zshaQ`E1wLq9qAzLrh(KqfV}^D3&{Jg&A+wsZ6NgzO752YeUR~A0vYc$kn#3Q|H%XP z8LdzL-uicdwEq%F`$s|Ae^dG$(myZ#Po#eh)_l7A`v zr{A{zD~4>nnnBj<7LfJ2P5B+lzhC)ZQvNpOe@pq_QT}e_zoh)1DF0W=|Go1646>f@ zfo#WwcWgaQ23e1EkoCv_slQPAJn0uoU!nZf%3rJecFCWW{6XjE|1Ea*8uI#KkFVW2 zj`X1IO#SMEA@xbxKWtxTft)MK#a57WNT=8%_JbU|LmpC^j<{wekarn1<0{>pc29+}#_Dp49M7|Fw&&5bR75{cn zN&LSZ#A~-LiV+!wvbmjbuQJM`-2ZIFzj?&IdmUu@J;-_=mt^y2fRrzgTqOAhkRJ7t z*Gk`^{0Bhp3*P{_?>sB{W$AwbGVTG8d z{pvvatp(|K8%V!TgY@eJ>Gu#wza1d`o&)LkGmw67fb{zVNWUSFej~?QzbPR7&H(8* z6QtiGv{7zh8j#I{?xzA=&z!1oHfK5yb_qXtyR^b{K}53Il+ zV{B1gw`A8p;cr2B6YX5z2fG8Z9h++7O#)fJQ$XgN4YJMaLGIh10@>y-gTvL^m3cG< z@0a_kM-O5#^@A*X2xLwgzI)BGvp{o923zsRavuhn_JQ;nk7u};&H#t2mznS1i0{jJ zDnCoUK<^A&c@4FtGFvW|1 zyHdwZ^<%Hf7*Lts3AT>DI1gl7DnPb%1GpJ~tmn@_rhkC!ud!*?_jHi*1~ky|5X0h@UKU+jAudm^_hQ78vjnlN!D%($o$WMtiul^?**CCPPTSFNV`QK)7{E{ zK>1%*{+r7Gz4HI2{EMg9IG2Hp^J$RjCFQ@O{C|Pm-jh$Ub`>DgR*>y_zwL4~ed<}f zpE7CKbK!PvuRSX3pvq4EkgdZsu~4iRH-TOFW4-P?)zuoh1oGEzef2V0U7x#(myHvPU)YQ{)Dq_d1r!5nIP+Nk>r~}9)s@%d7V;} zVdbSDQv=BS+m(Nh@*h?Hua*C2gCNW42AK{@{)gmI=h%9U0cm#} z$mA>kbmeC%{}Sc@9pswIS?7*0Ybo_0-!pqb@~a^Ahb51jX655R_QPVyH%R_7$m^^3 zKwgJUn?Ayx;6q6&$n?;0vWjl zYp*aojR@jRlJ zJj?!jhvDZ64_#o(nQ);kCl_SDMavoH-)JmQIc2b|m;GJxzaM0Od;?^}H$ZOtgJ3YO ziyvnA{qb6rbr}9kQ!cXc=Yq^x3bx{pu|Es4tj|mLRgiVr4l?}>YC)FO4l<`pW$XqA^n2mO*7iD(wl{&yxgBJ^e*?09{{*>zB+s$(Ng(xe zKpvA8g4|zLfjrjimwd`4R(~!?`-?%wzXD`=B_Px1LH5^Xka4~Wa!%a|a)0XsIXC|k zA4>JBsAmhId((ex-{r(Bka_nW+Z!*YqJxIT5 zkmcS3(*Hq_{@oz`p9bl%2V}WF1DQ^_-1?`3^jipWo>(dQmmuRD1R3WaAU%`j**KFx zrfWggqXJ}{gly|K5v1QKAT7@YS^k9}QyWOX&w=#&I>=+qL6FCcwK-P)8A$z`AnWs2 zkZ}`oZQO|<#1lh)vJUgZ{LCVD- z`yc|cPddbIkYlnBK>|bH^^FjXl z2*|p8RPucw_rntlto{s;X&T7*GePP<19Cq-46+Rq7udR;0&>4hztXm$9HjgakZo)Q zY5y2V{~aLXy$RB8u+ZAQ3)1egh1RYRq}`W6*63>>({_;cdJ1IxAA$7y7s&YIi_{*F z9%q0|(?I%N2+}VPq~9$d{q6)=-u)mw9s-%Rf%MxB(r+h7zkh=C8@tH*odD9~G?3{W zkbbj3`ppCBw+^J=Cqb5XFG!F70GYZ#`gMc!dm5zQA&`C}imhJ?NRN|1rZYhLO$TZB zVUY2gKw8`aGTjc+u3h>sO8=`2~=D zz4aQ~&ToUQ=ly^J&RG+kRTZb%=G0Q>bw1NpEQ7+$G8jb$s`C<5b zNulR!kI-X1?RULW6{;m$=e@NXHje(A6+kbN`A^a+stcQ?qK zFDw6HkUsw(d+!5Y=alvR-)Yk}ZKG03Q(980LW`8BAV}M^f*{(^AT(){HX&`!q^YI^ z(Fvl8ASEgYiXsSt7)6*MLy(~eIwOct6d8h`#{2o6y-s^_nljJx{+{diKJWYN>stA& zwfEXYa-g1&F1&kXV`Pm9Ia2o*cxY#1`%66zHH5vcN-d|(Gu zO}E+o=D7BKppN5YsQsD+wObCXA*o?AR^_H)*LV2^`Xc6zuI=s9d_^YxkH8RtAqt^>={sdrNr!Ns5NMWnrl1M-smwqI?o;R1gQ25 zsI@79I%d_zMyO-g4!aPo&;I!?=PIb2e}}5+F?;Yiu6+iS{|RPiLyhTtvv0TdyUl*u z>}In+fEwHPW`~{Y;thnVKLx5}T79 z%QpzB{{*P>YBJP$bt}~Q@~GK^7rHeZ3DrIgYAr7{yArDZ%~0_kvHGVMx%w8Udauy+ z9}4BaD^&eHQ1d2+R<@Y0$Uq7Go+X2dNIF#RLD8C6%e(_M{7%0DK)}C(dXIXom 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 literal 0 HcmV?d00001 diff --git a/samples/outputcachewithredis/Controllers/PeopleControllerU.pas b/samples/outputcachewithredis/Controllers/PeopleControllerU.pas index 56355f8a..45a06b3a 100644 --- a/samples/outputcachewithredis/Controllers/PeopleControllerU.pas +++ b/samples/outputcachewithredis/Controllers/PeopleControllerU.pas @@ -103,7 +103,7 @@ begin raise; end; Render(lPeople); - SetCache(20); + SetCache(60); end; procedure TPeopleController.CreateBulkData(CTX: TWebContext); diff --git a/samples/renders/CustomTypesSerializersU.pas b/samples/renders/CustomTypesSerializersU.pas index 32597d45..ac232660 100644 --- a/samples/renders/CustomTypesSerializersU.pas +++ b/samples/renders/CustomTypesSerializersU.pas @@ -2,7 +2,7 @@ // // Delphi MVC Framework // -// Copyright (c) 2010-2017 Daniele Teti and the DMVCFramework Team +// Copyright (c) 2010-2018 Daniele Teti and the DMVCFramework Team // // https://github.com/danieleteti/delphimvcframework // diff --git a/samples/renders/CustomTypesU.pas b/samples/renders/CustomTypesU.pas index 91e8a53a..435bd425 100644 --- a/samples/renders/CustomTypesU.pas +++ b/samples/renders/CustomTypesU.pas @@ -2,7 +2,7 @@ // // Delphi MVC Framework // -// Copyright (c) 2010-2017 Daniele Teti and the DMVCFramework Team +// Copyright (c) 2010-2018 Daniele Teti and the DMVCFramework Team // // https://github.com/danieleteti/delphimvcframework // diff --git a/samples/renders/RenderSampleControllerU.pas b/samples/renders/RenderSampleControllerU.pas index 6fa6b88f..17b53b35 100644 --- a/samples/renders/RenderSampleControllerU.pas +++ b/samples/renders/RenderSampleControllerU.pas @@ -2,7 +2,7 @@ // // Delphi MVC Framework // -// Copyright (c) 2010-2017 Daniele Teti and the DMVCFramework Team +// Copyright (c) 2010-2018 Daniele Teti and the DMVCFramework Team // // https://github.com/danieleteti/delphimvcframework // @@ -39,8 +39,7 @@ type [MVCPath('/')] TRenderSampleController = class(TMVCController) protected - procedure OnBeforeAction(AContext: TWebContext; const AActionName: string; - var AHandled: Boolean); override; + procedure OnBeforeAction(AContext: TWebContext; const AActionName: string; var AHandled: Boolean); override; public [MVCHTTPMethod([httpGET])] [MVCPath('/customers/($id)')] @@ -52,6 +51,11 @@ type [MVCProduces('application/json')] procedure GetCustomers_AsDataSet(CTX: TWebContext); + [MVCHTTPMethod([httpGET])] + [MVCPath('/customers/metadata')] + [MVCProduces('application/json')] + procedure GetDataSetWithMetadata; + [MVCHTTPMethod([httpGET])] [MVCPath('/multi')] [MVCProduces('application/json')] @@ -71,7 +75,7 @@ type [MVCPath('/lotofobjects')] procedure GetLotOfPeople; - //this action is polymorphic + // this action is polymorphic [MVCHTTPMethod([httpGET])] [MVCPath('/skilledpeople')] [MVCProduces('application/json')] @@ -91,7 +95,6 @@ type [MVCPath('/customers.csv')] procedure GetPeopleAsCSV; - [MVCHTTPMethod([httpGET])] [MVCPath('/customers/unicode/($id).html')] [MVCProduces('text/html', 'UTF-8')] @@ -157,8 +160,8 @@ begin Render(s); end; -procedure TRenderSampleController.OnBeforeAction(AContext: TWebContext; - const AActionName: string; var AHandled: Boolean); +procedure TRenderSampleController.OnBeforeAction(AContext: TWebContext; const AActionName: string; + var AHandled: Boolean); begin inherited; @@ -207,8 +210,8 @@ begin // We need a non standard representation, let's create a specific serializer. lSer := TMVCJsonDataObjectsSerializer.Create; try - lSer.DataSetToJsonArray(lDM.qryCustomers, lJObj.A['customers'], TMVCNameCase.ncLowerCase, []); - lSer.DataSetToJsonArray(lDM.qryCountry, lJObj.A['countries'], TMVCNameCase.ncLowerCase, []); + lSer.DataSetToJsonArray(lDM.qryCustomers, lJObj.a['customers'], TMVCNameCase.ncLowerCase, []); + lSer.DataSetToJsonArray(lDM.qryCountry, lJObj.a['countries'], TMVCNameCase.ncLowerCase, []); finally lSer.Free; end; @@ -241,6 +244,24 @@ begin Render(TSysUser.Create('daniele', ['poweruser', 'role1', 'role2']), True); end; +procedure TRenderSampleController.GetDataSetWithMetadata; +var + lDM: TMyDataModule; + lHolder: TDataSetHolder; +begin + lDM := TMyDataModule.Create(nil); + try + lDM.qryCustomers.Open; + lHolder := TDataSetHolder.Create(lDM.qryCustomers); + lHolder.Metadata.AddProperty('page', '1'); + lHolder.Metadata.AddProperty('count', lDM.qryCustomers.RecordCount.ToString); + Render(lHolder); + finally + lDM.Free; + end; + +end; + procedure TRenderSampleController.GetLotOfPeople; begin Render(GetPeopleList, False); @@ -248,12 +269,8 @@ end; procedure TRenderSampleController.GetPerson_AsHTML(CTX: TWebContext); begin - ResponseStream - .Append('
    ') - .Append('
  • FirstName: Daniele
  • ') - .Append('
  • LastName: Teti') - .AppendFormat('
  • DOB: %s
  • ', [DateToISODate(EncodeDate(1975, 5, 2))]) - .Append('
  • Married: yes
  • ') + ResponseStream.Append('
      ').Append('
    • FirstName: Daniele
    • ').Append('
    • LastName: Teti') + .AppendFormat('
    • DOB: %s
    • ', [DateToISODate(EncodeDate(1975, 5, 2))]).Append('
    • Married: yes
    • ') .Append('
    '); RenderResponseStream; end; @@ -283,11 +300,8 @@ end; procedure TRenderSampleController.GetPerson_AsText(const id: Integer); begin - ResponseStream - .AppendLine('ID : ' + id.ToString) - .AppendLine('FirstName : Daniele') - .AppendLine('LastName : Teti') - .AppendLine('DOB : ' + DateToStr(EncodeDate(1979, 5, 2))) + ResponseStream.AppendLine('ID : ' + id.ToString).AppendLine('FirstName : Daniele') + .AppendLine('LastName : Teti').AppendLine('DOB : ' + DateToStr(EncodeDate(1979, 5, 2))) .AppendLine('Married : yes'); RenderResponseStream; end; @@ -339,8 +353,8 @@ begin try People.Metadata.StartProcessing := Now; - {$REGION 'Fake data'} - Sleep(1000); //processing... +{$REGION 'Fake data'} + Sleep(1000); // processing... p := TPerson.Create; p.FirstName := 'Daniele'; @@ -363,8 +377,7 @@ begin p.Married := True; People.Items.Add(p); - {$ENDREGION} - +{$ENDREGION} People.Metadata.CustomData := Format('There are %d people in the list', [People.Items.Count]); People.Metadata.StopProcessing := Now; Render(People, False); @@ -380,8 +393,7 @@ var begin People := TObjectList.Create(True); - {$REGION 'Fake data'} - +{$REGION 'Fake data'} p := TPerson.Create; p.FirstName := 'Daniele'; p.LastName := 'Teti'; @@ -403,8 +415,7 @@ begin p.Married := True; People.Add(p); - {$ENDREGION} - +{$ENDREGION} Render(People); end; @@ -413,9 +424,9 @@ var p: TJSONObject; begin p := TJSONObject.Create; - p.S['FirstName'] := 'Daniele'; - p.S['LastName'] := 'Teti'; - p.S['DOB'] := DateToISODate(EncodeDate(1975, 5, 2)); + p.s['FirstName'] := 'Daniele'; + p.s['LastName'] := 'Teti'; + p.s['DOB'] := DateToISODate(EncodeDate(1975, 5, 2)); p.B['Married'] := True; Render(p); end; @@ -430,8 +441,7 @@ procedure TRenderSampleController.GetPersonPhotoAsStream(CTX: TWebContext); var LPhoto: TFileStream; begin - LPhoto := TFileStream.Create('..\..\_\customer.png', - fmOpenRead or fmShareDenyWrite); + LPhoto := TFileStream.Create('..\..\_\customer.png', fmOpenRead or fmShareDenyWrite); ContentType := 'image/png'; // you can also use MVCProduces attribute // LPhoto is a plain TStream descendant, so it can be rendered as usual diff --git a/samples/renders/WebModuleU.pas b/samples/renders/WebModuleU.pas index a7073e68..12bdbe12 100644 --- a/samples/renders/WebModuleU.pas +++ b/samples/renders/WebModuleU.pas @@ -2,7 +2,7 @@ // // Delphi MVC Framework // -// Copyright (c) 2010-2017 Daniele Teti and the DMVCFramework Team +// Copyright (c) 2010-2018 Daniele Teti and the DMVCFramework Team // // https://github.com/danieleteti/delphimvcframework // diff --git a/samples/renders/renders.dpr b/samples/renders/renders.dpr index 18394394..4c0f9364 100644 --- a/samples/renders/renders.dpr +++ b/samples/renders/renders.dpr @@ -2,7 +2,7 @@ // // Delphi MVC Framework // -// Copyright (c) 2010-2017 Daniele Teti and the DMVCFramework Team +// Copyright (c) 2010-2018 Daniele Teti and the DMVCFramework Team // // https://github.com/danieleteti/delphimvcframework // @@ -41,7 +41,8 @@ uses MyDataModuleU in 'MyDataModuleU.pas' {MyDataModule: TDataModule}, CustomTypesU in 'CustomTypesU.pas', CustomTypesSerializersU in 'CustomTypesSerializersU.pas', - InMemoryDataU in 'InMemoryDataU.pas'; + InMemoryDataU in 'InMemoryDataU.pas', + MVCFramework.DataSet.Utils in '..\..\sources\MVCFramework.DataSet.Utils.pas'; {$R *.res} diff --git a/samples/renders/renders.dproj b/samples/renders/renders.dproj index b269d517..5064497a 100644 --- a/samples/renders/renders.dproj +++ b/samples/renders/renders.dproj @@ -219,6 +219,7 @@ + @@ -392,6 +393,12 @@ true + + + .\ + true + + .\ @@ -404,19 +411,13 @@ true - + .\ true - - - .\ - true - - - + .\ true @@ -428,13 +429,13 @@ true - - + + .\ true - + .\ true diff --git a/sources/MVCFramework.DataSet.Utils.pas b/sources/MVCFramework.DataSet.Utils.pas index ef12a1f4..f22b1c7a 100644 --- a/sources/MVCFramework.DataSet.Utils.pas +++ b/sources/MVCFramework.DataSet.Utils.pas @@ -28,44 +28,44 @@ unit MVCFramework.DataSet.Utils; interface -uses System.SysUtils, Data.DB, System.Generics.Collections, System.JSON, - System.Rtti, JsonDataObjects, MVCFramework.Serializer.Commons; +uses + System.SysUtils, + Data.DB, + System.Generics.Collections, + System.JSON, + System.Rtti, + JsonDataObjects, + MVCFramework.Commons, + MVCFramework.Serializer.Commons; type TFieldNamePolicy = (fpLowerCase, fpUpperCase, fpAsIs); TDataSetHelper = class helper for TDataSet public - procedure LoadFromTValue(const Value: TValue; - const aNameCase: TMVCNameCase = TMVCNameCase.ncLowerCase); + procedure LoadFromTValue(const Value: TValue; const aNameCase: TMVCNameCase = TMVCNameCase.ncLowerCase); function AsJSONArray: string; function AsJSONArrayString: string; deprecated 'Use AsJSONArray'; function AsJSONObject(AFieldNamePolicy: TFieldNamePolicy = fpLowerCase): string; function AsJSONObjectString: string; deprecated 'Use AsJSONObject'; - procedure LoadFromJSONObject(AJSONObject: TJSONObject; - AFieldNamePolicy: TFieldNamePolicy = fpLowerCase); overload; - procedure LoadFromJSONObject(AJSONObject: TJSONObject; - AIgnoredFields: TArray; + procedure LoadFromJSONObject(AJSONObject: TJSONObject; AFieldNamePolicy: TFieldNamePolicy = fpLowerCase); overload; + procedure LoadFromJSONObject(AJSONObject: TJSONObject; AIgnoredFields: TArray; AFieldNamePolicy: TFieldNamePolicy = fpLowerCase); overload; procedure LoadFromJSONArray(AJSONArray: string; - AFieldNamePolicy: TFieldNamePolicy = TFieldNamePolicy. - fpLowerCase); overload; - procedure LoadFromJSONArrayString(AJSONArrayString: string; - AIgnoredFields: TArray; AFieldNamePolicy: TFieldNamePolicy = TFieldNamePolicy.fpLowerCase); overload; + AFieldNamePolicy: TFieldNamePolicy = TFieldNamePolicy.fpLowerCase); overload; + procedure LoadFromJSONArrayString(AJSONArrayString: string; AIgnoredFields: TArray; + AFieldNamePolicy: TFieldNamePolicy = TFieldNamePolicy.fpLowerCase); overload; procedure LoadFromJSONArrayString(AJSONArrayString: string; AFieldNamePolicy: TFieldNamePolicy = TFieldNamePolicy.fpLowerCase); overload; - procedure LoadFromJSONArray(AJSONArray: TJSONArray; - AIgnoredFields: TArray; AFieldNamePolicy: TFieldNamePolicy = TFieldNamePolicy.fpLowerCase); overload; + procedure LoadFromJSONArray(AJSONArray: TJSONArray; AIgnoredFields: TArray; + AFieldNamePolicy: TFieldNamePolicy = TFieldNamePolicy.fpLowerCase); overload; procedure LoadFromJSONObjectString(AJSONObjectString: string); overload; - procedure LoadFromJSONObjectString(AJSONObjectString: string; - AIgnoredFields: TArray); overload; + procedure LoadFromJSONObjectString(AJSONObjectString: string; AIgnoredFields: TArray); overload; procedure AppendFromJSONArrayString(AJSONArrayString: string); overload; - procedure AppendFromJSONArrayString(AJSONArrayString: string; - AIgnoredFields: TArray; AFieldNamePolicy: TFieldNamePolicy = TFieldNamePolicy.fpLowerCase); overload; - function AsObjectList(CloseAfterScroll - : boolean = false): TObjectList; - function AsObject(CloseAfterScroll - : boolean = false): T; + procedure AppendFromJSONArrayString(AJSONArrayString: string; AIgnoredFields: TArray; + AFieldNamePolicy: TFieldNamePolicy = TFieldNamePolicy.fpLowerCase); overload; + function AsObjectList(CloseAfterScroll: boolean = false): TObjectList; + function AsObject(CloseAfterScroll: boolean = false): T; end; TDataSetUtils = class sealed @@ -75,15 +75,27 @@ type class constructor Create; class destructor Destroy; class procedure DataSetToObject(ADataSet: TDataSet; AObject: TObject); - class procedure DataSetToObjectList - (ADataSet: TDataSet; AObjectList: TObjectList; + class procedure DataSetToObjectList(ADataSet: TDataSet; AObjectList: TObjectList; ACloseDataSetAfterScroll: boolean = True); end; + [MVCNameCase(ncLowerCase)] + TDataSetHolder = class + private + FDataSet: TDataSet; + FMetadata: TMVCStringDictionary; + public + constructor Create(ADataSet: TDataSet); virtual; + destructor Destroy; override; + property Items: TDataSet read FDataSet; + [MVCNameAs('meta')] + property Metadata: TMVCStringDictionary read FMetadata; + end; + implementation uses - MVCFramework.Serializer.JSONDataObjects, + MVCFramework.Serializer.JsonDataObjects, MVCFramework.Serializer.Intf; { TDataSetHelper } @@ -92,12 +104,12 @@ procedure TDataSetHelper.LoadFromTValue(const Value: TValue; const aNameCase: TM var lSer: TMVCJsonDataObjectsSerializer; begin - if not({$IFDEF TOKYOORBETTER}Value.IsObjectInstance and {$ENDIF} (Value.AsObject is TJsonArray)) then + if not({$IFDEF TOKYOORBETTER}Value.IsObjectInstance and {$ENDIF} (Value.AsObject is TJSONArray)) then raise Exception.Create('LoadFromTValue requires a TValue containing a TJDOJsonArray'); lSer := TMVCJsonDataObjectsSerializer.Create; try - lSer.JsonArrayToDataSet(TJsonArray(Value.AsObject), Self, [], TMVCNameCase.ncLowerCase); + lSer.JsonArrayToDataSet(TJSONArray(Value.AsObject), Self, [], TMVCNameCase.ncLowerCase); finally lSer.Free; end; @@ -169,8 +181,7 @@ begin end; end; -procedure TDataSetHelper.LoadFromJSONArray(AJSONArray: string; - AFieldNamePolicy: TFieldNamePolicy); +procedure TDataSetHelper.LoadFromJSONArray(AJSONArray: string; AFieldNamePolicy: TFieldNamePolicy); var lSerializer: IMVCSerializer; begin @@ -185,8 +196,8 @@ begin end; end; -procedure TDataSetHelper.LoadFromJSONArray(AJSONArray: TJSONArray; - AIgnoredFields: TArray; AFieldNamePolicy: TFieldNamePolicy); +procedure TDataSetHelper.LoadFromJSONArray(AJSONArray: TJSONArray; AIgnoredFields: TArray; + AFieldNamePolicy: TFieldNamePolicy); begin Self.DisableControls; try @@ -196,8 +207,8 @@ begin end; end; -procedure TDataSetHelper.LoadFromJSONArrayString(AJSONArrayString: string; - AIgnoredFields: TArray; AFieldNamePolicy: TFieldNamePolicy); +procedure TDataSetHelper.LoadFromJSONArrayString(AJSONArrayString: string; AIgnoredFields: TArray; + AFieldNamePolicy: TFieldNamePolicy); begin AppendFromJSONArrayString(AJSONArrayString, AIgnoredFields, AFieldNamePolicy); end; @@ -207,8 +218,8 @@ begin AppendFromJSONArrayString(AJSONArrayString, TArray.Create(), AFieldNamePolicy); end; -procedure TDataSetHelper.AppendFromJSONArrayString(AJSONArrayString: string; - AIgnoredFields: TArray; AFieldNamePolicy: TFieldNamePolicy); +procedure TDataSetHelper.AppendFromJSONArrayString(AJSONArrayString: string; AIgnoredFields: TArray; + AFieldNamePolicy: TFieldNamePolicy); begin LoadFromJSONArray(AJSONArrayString, AFieldNamePolicy); end; @@ -218,16 +229,15 @@ begin AppendFromJSONArrayString(AJSONArrayString, TArray.Create()); end; -procedure TDataSetHelper.LoadFromJSONObject(AJSONObject: TJSONObject; - AIgnoredFields: TArray; AFieldNamePolicy: TFieldNamePolicy); +procedure TDataSetHelper.LoadFromJSONObject(AJSONObject: TJSONObject; AIgnoredFields: TArray; + AFieldNamePolicy: TFieldNamePolicy); begin raise Exception.Create('Not Implemented'); // Mapper.JSONObjectToDataSet(AJSONObject, Self, AIgnoredFields, false, // AFieldNamePolicy); end; -procedure TDataSetHelper.LoadFromJSONObjectString(AJSONObjectString: string; - AIgnoredFields: TArray); +procedure TDataSetHelper.LoadFromJSONObjectString(AJSONObjectString: string; AIgnoredFields: TArray); var lSerializer: IMVCSerializer; begin @@ -246,8 +256,7 @@ begin // end; end; -procedure TDataSetHelper.LoadFromJSONObject(AJSONObject: TJSONObject; - AFieldNamePolicy: TFieldNamePolicy); +procedure TDataSetHelper.LoadFromJSONObject(AJSONObject: TJSONObject; AFieldNamePolicy: TFieldNamePolicy); begin LoadFromJSONObject(AJSONObject, TArray.Create()); end; @@ -264,8 +273,7 @@ begin TDataSetUtils.CTX := TRttiContext.Create; end; -class procedure TDataSetUtils.DataSetToObject(ADataSet: TDataSet; - AObject: TObject); +class procedure TDataSetUtils.DataSetToObject(ADataSet: TDataSet; AObject: TObject); var _type: TRttiType; _fields: TArray; @@ -355,8 +363,8 @@ begin _keys.Free; end; -class procedure TDataSetUtils.DataSetToObjectList(ADataSet: TDataSet; - AObjectList: TObjectList; ACloseDataSetAfterScroll: boolean); +class procedure TDataSetUtils.DataSetToObjectList(ADataSet: TDataSet; AObjectList: TObjectList; + ACloseDataSetAfterScroll: boolean); var Obj: T; SavedPosition: TArray; @@ -385,4 +393,19 @@ begin CTX.Free; end; +{ TDataSetHolder } + +constructor TDataSetHolder.Create(ADataSet: TDataSet); +begin + inherited Create; + FDataSet := ADataSet; + FMetadata := TMVCStringDictionary.Create; +end; + +destructor TDataSetHolder.Destroy; +begin + inherited; + FMetadata.Free; +end; + end. diff --git a/sources/MVCFramework.Middleware.JWT.pas b/sources/MVCFramework.Middleware.JWT.pas index 322d1825..61ac99c6 100644 --- a/sources/MVCFramework.Middleware.JWT.pas +++ b/sources/MVCFramework.Middleware.JWT.pas @@ -76,7 +76,7 @@ implementation uses System.NetEncoding, System.DateUtils, - System.Math; + System.Math, MVCFramework.Logger; { TMVCJWTAuthenticationMiddleware } diff --git a/sources/MVCFramework.Serializer.JsonDataObjects.CustomTypes.pas b/sources/MVCFramework.Serializer.JsonDataObjects.CustomTypes.pas index 0d200b01..99f18bff 100644 --- a/sources/MVCFramework.Serializer.JsonDataObjects.CustomTypes.pas +++ b/sources/MVCFramework.Serializer.JsonDataObjects.CustomTypes.pas @@ -43,21 +43,34 @@ type private { private declarations } protected - procedure Serialize(const AElementValue: TValue; var ASerializerObject: TObject; const AAttributes: TArray); - procedure Deserialize(const ASerializedObject: TObject; var AElementValue: TValue; const AAttributes: TArray); + procedure Serialize(const AElementValue: TValue; var ASerializerObject: TObject; + const AAttributes: TArray); + procedure Deserialize(const ASerializedObject: TObject; var AElementValue: TValue; + const AAttributes: TArray); public { public declarations } end; + TMVCStringDictionarySerializer = class(TInterfacedObject, IMVCTypeSerializer) + public + procedure Serialize(const AElementValue: TValue; var ASerializerObject: TObject; + const AAttributes: System.TArray); + procedure Deserialize(const ASerializedObject: TObject; var AElementValue: TValue; + const AAttributes: System.TArray); + end; + implementation uses - MVCFramework.Serializer.JsonDataObjects; + MVCFramework.Serializer.JsonDataObjects, + Data.DB, + MVCFramework.Commons, + System.Generics.Collections, + JsonDataObjects; { TStreamSerializerJsonDataObject } -procedure TStreamSerializerJsonDataObject.Deserialize( - const ASerializedObject: TObject; var AElementValue: TValue; +procedure TStreamSerializerJsonDataObject.Deserialize(const ASerializedObject: TObject; var AElementValue: TValue; const AAttributes: TArray); var JsonValue: TJsonValue; @@ -94,8 +107,7 @@ begin end; end; -procedure TStreamSerializerJsonDataObject.Serialize( - const AElementValue: TValue; var ASerializerObject: TObject; +procedure TStreamSerializerJsonDataObject.Serialize(const AElementValue: TValue; var ASerializerObject: TObject; const AAttributes: TArray); var Stream: TStream; @@ -131,4 +143,31 @@ begin end; end; +{ TMVCStringDictionarySerializer } + +procedure TMVCStringDictionarySerializer.Deserialize(const ASerializedObject: TObject; var AElementValue: TValue; + const AAttributes: System.TArray); +begin + raise EMVCDeserializationException.Create('Not Implemented'); +end; + +procedure TMVCStringDictionarySerializer.Serialize(const AElementValue: TValue; var ASerializerObject: TObject; + const AAttributes: System.TArray); +var + lStringDict: TMVCStringDictionary; + lPair: TPair; + lJSONObject: TJsonObject; +begin + lStringDict := AElementValue.AsObject as TMVCStringDictionary; + if Assigned(lStringDict) then + begin + lJSONObject := TJsonObject.Create; + for lPair in lStringDict do + begin + lJSONObject.S[lPair.Key] := lPair.Value; + end; + ASerializerObject := lJSONObject; + end; +end; + end. diff --git a/sources/MVCFramework.Serializer.JsonDataObjects.pas b/sources/MVCFramework.Serializer.JsonDataObjects.pas index 83f5ff99..ce88591c 100644 --- a/sources/MVCFramework.Serializer.JsonDataObjects.pas +++ b/sources/MVCFramework.Serializer.JsonDataObjects.pas @@ -68,119 +68,51 @@ type // const AType: TMVCSerializationType; // const AIgnoredAttributes: TMVCIgnoredList // ); - procedure ObjectToJsonObject( - const AObject: TObject; - const AJsonObject: TJsonObject; - const AType: TMVCSerializationType; - const AIgnoredAttributes: TMVCIgnoredList - ); - procedure AttributeToJsonDataValue( - const AJsonObject: TJsonObject; - const AName: string; - const AValue: TValue; - const AType: TMVCSerializationType; - const AIgnored: TMVCIgnoredList; - const ACustomAttributes: TArray - ); - procedure JsonObjectToObject( - const AJsonObject: TJsonObject; - const AObject: TObject; - const AType: TMVCSerializationType; - const AIgnoredAttributes: TMVCIgnoredList - ); - procedure JsonDataValueToAttribute( - const AJsonObject: TJsonObject; - const AName: string; - var AValue: TValue; - const AType: TMVCSerializationType; - const AIgnored: TMVCIgnoredList; - const ACustomAttributes: TArray - ); - procedure JsonArrayToList( - const AJsonArray: TJsonArray; - const AList: IMVCList; - const AClazz: TClass; - const AType: TMVCSerializationType; - const AIgnoredAttributes: TMVCIgnoredList - ); - procedure DataSetToJsonObject( - const ADataSet: TDataSet; - const AJsonObject: TJsonObject; - const ANameCase: TMVCNameCase; - const AIgnoredFields: TMVCIgnoredList - ); - procedure DataSetToJsonArray( - const ADataSet: TDataSet; - const AJsonArray: TJsonArray; - const ANameCase: TMVCNameCase; - const AIgnoredFields: TMVCIgnoredList - ); - procedure JsonObjectToDataSet( - const AJsonObject: TJsonObject; - const ADataSet: TDataSet; - const AIgnoredFields: TMVCIgnoredList; - const ANameCase: TMVCNameCase - ); - procedure JsonArrayToDataSet( - const AJsonArray: TJsonArray; - const ADataSet: TDataSet; - const AIgnoredFields: TMVCIgnoredList; - const ANameCase: TMVCNameCase - ); + procedure ObjectToJsonObject(const AObject: TObject; const AJsonObject: TJsonObject; + const AType: TMVCSerializationType; const AIgnoredAttributes: TMVCIgnoredList); + procedure AttributeToJsonDataValue(const AJsonObject: TJsonObject; const AName: string; const AValue: TValue; + const AType: TMVCSerializationType; const AIgnored: TMVCIgnoredList; + const ACustomAttributes: TArray); + procedure JsonObjectToObject(const AJsonObject: TJsonObject; const AObject: TObject; + const AType: TMVCSerializationType; const AIgnoredAttributes: TMVCIgnoredList); + procedure JsonDataValueToAttribute(const AJsonObject: TJsonObject; const AName: string; var AValue: TValue; + const AType: TMVCSerializationType; const AIgnored: TMVCIgnoredList; + const ACustomAttributes: TArray); + procedure JsonArrayToList(const AJsonArray: TJsonArray; const AList: IMVCList; const AClazz: TClass; + const AType: TMVCSerializationType; const AIgnoredAttributes: TMVCIgnoredList); + procedure DataSetToJsonObject(const ADataSet: TDataSet; const AJsonObject: TJsonObject; + const ANameCase: TMVCNameCase; const AIgnoredFields: TMVCIgnoredList); + procedure DataSetToJsonArray(const ADataSet: TDataSet; const AJsonArray: TJsonArray; const ANameCase: TMVCNameCase; + const AIgnoredFields: TMVCIgnoredList); + procedure JsonObjectToDataSet(const AJsonObject: TJsonObject; const ADataSet: TDataSet; + const AIgnoredFields: TMVCIgnoredList; const ANameCase: TMVCNameCase); + procedure JsonArrayToDataSet(const AJsonArray: TJsonArray; const ADataSet: TDataSet; + const AIgnoredFields: TMVCIgnoredList; const ANameCase: TMVCNameCase); { IMVCSerializer } - function SerializeObject( - const AObject: TObject; - const AType: TMVCSerializationType = stDefault; + function SerializeObject(const AObject: TObject; const AType: TMVCSerializationType = stDefault; const AIgnoredAttributes: TMVCIgnoredList = []; - const ASerializationAction: TMVCSerializationAction = nil - ): string; + const ASerializationAction: TMVCSerializationAction = nil): string; - function SerializeCollection( - const AList: TObject; - const AType: TMVCSerializationType = stDefault; - const AIgnoredAttributes: TMVCIgnoredList = [] - ): string; + function SerializeCollection(const AList: TObject; const AType: TMVCSerializationType = stDefault; + const AIgnoredAttributes: TMVCIgnoredList = []): string; - function SerializeDataSet( - const ADataSet: TDataSet; - const AIgnoredFields: TMVCIgnoredList = []; - const ANameCase: TMVCNameCase = ncAsIs - ): string; + function SerializeDataSet(const ADataSet: TDataSet; const AIgnoredFields: TMVCIgnoredList = []; + const ANameCase: TMVCNameCase = ncAsIs): string; - function SerializeDataSetRecord( - const ADataSet: TDataSet; - const AIgnoredFields: TMVCIgnoredList = []; - const ANameCase: TMVCNameCase = ncAsIs - ): string; + function SerializeDataSetRecord(const ADataSet: TDataSet; const AIgnoredFields: TMVCIgnoredList = []; + const ANameCase: TMVCNameCase = ncAsIs): string; - procedure DeserializeObject( - const ASerializedObject: string; - const AObject: TObject; - const AType: TMVCSerializationType = stDefault; - const AIgnoredAttributes: TMVCIgnoredList = [] - ); + procedure DeserializeObject(const ASerializedObject: string; const AObject: TObject; + const AType: TMVCSerializationType = stDefault; const AIgnoredAttributes: TMVCIgnoredList = []); - procedure DeserializeCollection( - const ASerializedList: string; - const AList: TObject; - const AClazz: TClass; - const AType: TMVCSerializationType = stDefault; - const AIgnoredAttributes: TMVCIgnoredList = [] - ); + procedure DeserializeCollection(const ASerializedList: string; const AList: TObject; const AClazz: TClass; + const AType: TMVCSerializationType = stDefault; const AIgnoredAttributes: TMVCIgnoredList = []); - procedure DeserializeDataSet( - const ASerializedDataSet: string; - const ADataSet: TDataSet; - const AIgnoredFields: TMVCIgnoredList = []; - const ANameCase: TMVCNameCase = ncAsIs - ); + procedure DeserializeDataSet(const ASerializedDataSet: string; const ADataSet: TDataSet; + const AIgnoredFields: TMVCIgnoredList = []; const ANameCase: TMVCNameCase = ncAsIs); - procedure DeserializeDataSetRecord( - const ASerializedDataSetRecord: string; - const ADataSet: TDataSet; - const AIgnoredFields: TMVCIgnoredList = []; - const ANameCase: TMVCNameCase = ncAsIs - ); + procedure DeserializeDataSetRecord(const ASerializedDataSetRecord: string; const ADataSet: TDataSet; + const AIgnoredFields: TMVCIgnoredList = []; const ANameCase: TMVCNameCase = ncAsIs); public procedure AfterConstruction; override; end; @@ -188,7 +120,7 @@ type implementation uses - MVCFramework.Serializer.JsonDataObjects.CustomTypes; + MVCFramework.Serializer.JsonDataObjects.CustomTypes, MVCFramework.Commons; { TMVCJsonDataObjectsSerializer } @@ -198,6 +130,7 @@ begin GetTypeSerializers.Add(System.TypeInfo(TStream), TStreamSerializerJsonDataObject.Create); GetTypeSerializers.Add(System.TypeInfo(TStringStream), TStreamSerializerJsonDataObject.Create); GetTypeSerializers.Add(System.TypeInfo(TMemoryStream), TStreamSerializerJsonDataObject.Create); + GetTypeSerializers.Add(System.TypeInfo(TMVCStringDictionary), TMVCStringDictionarySerializer.Create); end; procedure TMVCJsonDataObjectsSerializer.AttributeToJsonDataValue( @@ -306,18 +239,26 @@ begin ChildObject := AValue.AsObject; if Assigned(ChildObject) then begin - ChildList := TDuckTypedList.Wrap(ChildObject); - if Assigned(ChildList) then + if ChildObject is TDataSet then begin ChildJsonArray := AJsonObject.A[AName]; - for Obj in ChildList do - if Assigned(Obj) then - ObjectToJsonObject(Obj, ChildJsonArray.AddObject, GetSerializationType(Obj, AType), AIgnored); + DataSetToJsonArray(TDataSet(ChildObject), ChildJsonArray, TMVCNameCase.ncLowerCase, []); end else begin - ChildJsonObject := AJsonObject.O[AName]; - ObjectToJsonObject(ChildObject, ChildJsonObject, GetSerializationType(ChildObject, AType), AIgnored); + ChildList := TDuckTypedList.Wrap(ChildObject); + if Assigned(ChildList) then + begin + ChildJsonArray := AJsonObject.A[AName]; + for Obj in ChildList do + if Assigned(Obj) then + ObjectToJsonObject(Obj, ChildJsonArray.AddObject, GetSerializationType(Obj, AType), AIgnored); + end + else + begin + ChildJsonObject := AJsonObject.O[AName]; + ObjectToJsonObject(ChildObject, ChildJsonObject, GetSerializationType(ChildObject, AType), AIgnored); + end; end; end else @@ -780,7 +721,6 @@ begin TFieldType.ftGuid: Field.AsGuid := StringToGUID(AJsonObject.S[name]); {$ENDIF} - TFieldType.ftGraphic, TFieldType.ftBlob, TFieldType.ftStream: begin SS := TStringStream.Create(AJsonObject.S[name]); @@ -844,17 +784,18 @@ begin for Prop in ObjType.GetProperties do begin - {$IFDEF AUTOREFCOUNT} - +{$IFDEF AUTOREFCOUNT} if TMVCSerializerHelpful.IsAPropertyToSkip(Prop.Name) then Continue; - {$ENDIF} - - if (Prop.IsWritable or Prop.GetValue(AObject).IsObject) and (not TMVCSerializerHelpful.HasAttribute(Prop)) and (not IsIgnoredAttribute(AIgnoredAttributes, Prop.Name)) then +{$ENDIF} + if (Prop.IsWritable or Prop.GetValue(AObject).IsObject) and + (not TMVCSerializerHelpful.HasAttribute(Prop)) and + (not IsIgnoredAttribute(AIgnoredAttributes, Prop.Name)) then begin AttributeValue := Prop.GetValue(AObject); - JsonDataValueToAttribute(AJsonObject, TMVCSerializerHelpful.GetKeyName(Prop, ObjType), AttributeValue, AType, AIgnoredAttributes, Prop.GetAttributes); + JsonDataValueToAttribute(AJsonObject, TMVCSerializerHelpful.GetKeyName(Prop, ObjType), AttributeValue, + AType, AIgnoredAttributes, Prop.GetAttributes); if (not AttributeValue.IsEmpty) and Prop.IsWritable then Prop.SetValue(AObject, AttributeValue); end; @@ -863,10 +804,12 @@ begin stFields: begin for Fld in ObjType.GetFields do - if (not TMVCSerializerHelpful.HasAttribute(Fld)) and (not IsIgnoredAttribute(AIgnoredAttributes, Fld.Name)) then + if (not TMVCSerializerHelpful.HasAttribute(Fld)) and + (not IsIgnoredAttribute(AIgnoredAttributes, Fld.Name)) then begin AttributeValue := Fld.GetValue(AObject); - JsonDataValueToAttribute(AJsonObject, TMVCSerializerHelpful.GetKeyName(Fld, ObjType), AttributeValue, AType, AIgnoredAttributes, Fld.GetAttributes); + JsonDataValueToAttribute(AJsonObject, TMVCSerializerHelpful.GetKeyName(Fld, ObjType), AttributeValue, AType, + AIgnoredAttributes, Fld.GetAttributes); if not AttributeValue.IsEmpty then Fld.SetValue(AObject, AttributeValue); end; @@ -874,11 +817,8 @@ begin end; end; -procedure TMVCJsonDataObjectsSerializer.ObjectToJsonObject( - const AObject: TObject; - const AJsonObject: TJsonObject; - const AType: TMVCSerializationType; - const AIgnoredAttributes: TMVCIgnoredList); +procedure TMVCJsonDataObjectsSerializer.ObjectToJsonObject(const AObject: TObject; const AJsonObject: TJsonObject; + const AType: TMVCSerializationType; const AIgnoredAttributes: TMVCIgnoredList); var ObjType: TRttiType; Prop: TRttiProperty; @@ -891,28 +831,29 @@ begin for Prop in ObjType.GetProperties do begin - {$IFDEF AUTOREFCOUNT} - +{$IFDEF AUTOREFCOUNT} if TMVCSerializerHelpful.IsAPropertyToSkip(Prop.Name) then Continue; - {$ENDIF} - - if (not TMVCSerializerHelpful.HasAttribute(Prop)) and (not IsIgnoredAttribute(AIgnoredAttributes, Prop.Name)) then - AttributeToJsonDataValue(AJsonObject, TMVCSerializerHelpful.GetKeyName(Prop, ObjType), Prop.GetValue(AObject), AType, AIgnoredAttributes, Prop.GetAttributes); +{$ENDIF} + if (not TMVCSerializerHelpful.HasAttribute(Prop)) and + (not IsIgnoredAttribute(AIgnoredAttributes, Prop.Name)) then + AttributeToJsonDataValue(AJsonObject, TMVCSerializerHelpful.GetKeyName(Prop, ObjType), + Prop.GetValue(AObject), AType, AIgnoredAttributes, Prop.GetAttributes); end; end; stFields: begin for Fld in ObjType.GetFields do - if (not TMVCSerializerHelpful.HasAttribute(Fld)) and (not IsIgnoredAttribute(AIgnoredAttributes, Fld.Name)) then - AttributeToJsonDataValue(AJsonObject, TMVCSerializerHelpful.GetKeyName(Fld, ObjType), Fld.GetValue(AObject), AType, AIgnoredAttributes, Fld.GetAttributes); + if (not TMVCSerializerHelpful.HasAttribute(Fld)) and + (not IsIgnoredAttribute(AIgnoredAttributes, Fld.Name)) then + AttributeToJsonDataValue(AJsonObject, TMVCSerializerHelpful.GetKeyName(Fld, ObjType), Fld.GetValue(AObject), + AType, AIgnoredAttributes, Fld.GetAttributes); end; end; end; -function TMVCJsonDataObjectsSerializer.SerializeCollection( - const AList: TObject; const AType: TMVCSerializationType; +function TMVCJsonDataObjectsSerializer.SerializeCollection(const AList: TObject; const AType: TMVCSerializationType; const AIgnoredAttributes: TMVCIgnoredList): string; var JsonArray: TJsonArray; @@ -942,9 +883,7 @@ begin end; end; -function TMVCJsonDataObjectsSerializer.SerializeDataSet( - const ADataSet: TDataSet; - const AIgnoredFields: TMVCIgnoredList; +function TMVCJsonDataObjectsSerializer.SerializeDataSet(const ADataSet: TDataSet; const AIgnoredFields: TMVCIgnoredList; const ANameCase: TMVCNameCase): string; var JsonArray: TJsonArray; @@ -957,7 +896,7 @@ begin JsonArray := TJsonArray.Create; try - BookMark := ADataSet.Bookmark; + BookMark := ADataSet.BookMark; ADataSet.First; while not ADataSet.Eof do begin @@ -973,10 +912,8 @@ begin end; end; -function TMVCJsonDataObjectsSerializer.SerializeDataSetRecord( - const ADataSet: TDataSet; - const AIgnoredFields: TMVCIgnoredList; - const ANameCase: TMVCNameCase): string; +function TMVCJsonDataObjectsSerializer.SerializeDataSetRecord(const ADataSet: TDataSet; + const AIgnoredFields: TMVCIgnoredList; const ANameCase: TMVCNameCase): string; var JsonObject: TJsonObject; begin @@ -1015,12 +952,8 @@ end; // end; // end; -function TMVCJsonDataObjectsSerializer.SerializeObject( - const AObject: TObject; - const AType: TMVCSerializationType; - const AIgnoredAttributes: TMVCIgnoredList; - const ASerializationAction: TMVCSerializationAction - ): string; +function TMVCJsonDataObjectsSerializer.SerializeObject(const AObject: TObject; const AType: TMVCSerializationType; + const AIgnoredAttributes: TMVCIgnoredList; const ASerializationAction: TMVCSerializationAction): string; var JsonObject: TJsonObject; ChildJsonValue: TJsonBaseObject; @@ -1034,8 +967,11 @@ begin if AObject is TJsonBaseObject then Exit(TJsonBaseObject(AObject).ToJSON(True)); - if AObject is MVCFramework.TypesAliases.TJSONValue then - Exit(MVCFramework.TypesAliases.TJSONValue(AObject).ToJSON); + if AObject is TDataSet then + Exit(self.SerializeDataSet(TDataSet(AObject))); + + if AObject is MVCFramework.TypesAliases.TJsonValue then + Exit(MVCFramework.TypesAliases.TJsonValue(AObject).ToJSON); ObjType := GetRttiContext.GetType(AObject.ClassType); if GetTypeSerializers.ContainsKey(ObjType.Handle) then @@ -1048,7 +984,8 @@ begin if ChildJsonValue is TJsonBaseObject then Result := ChildJsonValue.ToJSON(True) else - raise EMVCSerializationException.Create('Cannot serialize, the serializer does not have a valid TJsonBaseObject type.'); + raise EMVCSerializationException.Create + ('Cannot serialize, the serializer does not have a valid TJsonBaseObject type.'); finally ChildJsonValue.Free; end; @@ -1065,11 +1002,8 @@ begin end; end; -procedure TMVCJsonDataObjectsSerializer.DeserializeObject( - const ASerializedObject: string; - const AObject: TObject; - const AType: TMVCSerializationType; - const AIgnoredAttributes: TMVCIgnoredList); +procedure TMVCJsonDataObjectsSerializer.DeserializeObject(const ASerializedObject: string; const AObject: TObject; + const AType: TMVCSerializationType; const AIgnoredAttributes: TMVCIgnoredList); var JsonObject: TJsonObject; ObjType: TRttiType; diff --git a/unittests/general/Several/FrameworkTestsU.pas b/unittests/general/Several/FrameworkTestsU.pas index 09b2316c..10730068 100644 --- a/unittests/general/Several/FrameworkTestsU.pas +++ b/unittests/general/Several/FrameworkTestsU.pas @@ -2,7 +2,7 @@ // // Delphi MVC Framework // -// Copyright (c) 2010-2017 Daniele Teti and the DMVCFramework Team +// Copyright (c) 2010-2018 Daniele Teti and the DMVCFramework Team // // https://github.com/danieleteti/delphimvcframework // diff --git a/unittests/general/Several/LiveServerTestU.pas b/unittests/general/Several/LiveServerTestU.pas index 236cc3a6..f811c9b3 100644 --- a/unittests/general/Several/LiveServerTestU.pas +++ b/unittests/general/Several/LiveServerTestU.pas @@ -1224,6 +1224,7 @@ begin try lReq.Method := 'mynotify'; FExecutor.ExecuteNotification(lReq); + Assert.Pass(); finally lReq.Free; end;