From 6b415992bc76b7884117016bc9a3ce019391671d Mon Sep 17 00:00:00 2001 From: Raghu Simha Date: Wed, 17 Jul 2019 16:44:55 -0400 Subject: [PATCH] Clean up custom code in runner.jar that has been replaced by babel transforms --- build-system/runner/dist/runner.jar | Bin 7925014 -> 7923510 bytes .../org/ampproject/AmpCommandLineRunner.java | 12 +- .../runner/src/org/ampproject/AmpPass.java | 186 +----------------- .../test/org/ampproject/AmpPassTest.java | 144 +------------- .../org/ampproject/AmpPassTestEnvTest.java | 5 +- 5 files changed, 5 insertions(+), 342 deletions(-) diff --git a/build-system/runner/dist/runner.jar b/build-system/runner/dist/runner.jar index 187da888791394ba0784aa1893ec757f16aba331..cefdefa08a7064de7e600fdd8487c2720da9ea29 100644 GIT binary patch delta 89946 zcmZsD1z1(f_qJ@hyW65AR7zC~&IRj=OYY4i2mgv@F4 z1McGg0%H{?_Gqf&qMAAFV}WloyMnkNT?Ksz^HqZ6!XwS?sPFa8Hp)^1A&^;UC&&#A z6Fh)+li;Ck0E4k#h95{?ij?O$(Q;+Zf?Tz==gfBx zH0sq$HZ1sU<(vJZyX_tG-x}I&Or{KImGL%k;7-ZvX^FF*9@r##n3F%tWRjLi+O!9o zr+hIQaAozS)sctRcDO#F^3jozk{h=&2Ry!?`(S0Q<<~D?njIOvwx69v#Ff{EpN}l5 zegCcE$cLjX{?uG4e^4*B>VxsJR-to^FZq;~`PfD}PwlTIb6%$Vc!G0wY2P+(Q-2s; zo>4tXD|DuzZ{MKE>f~<4(|6`Xt0ibz&xzUI+GplEpJu)KeQK?-{CGc~lWG>nZdvyk zSaLF>YWm|<$5%Qg_ZZwGS=ak~%@DPDPX@&N2t4Ux)u-@ddw()~+{O6IlN-+C8&B=N z_>23=6zfpS<1as|TlZa9a;5jCITsdWZ|vonwEk%Qh$1S!Y5zE3+pbMEC+1(>5%m1f zh=e1vxAYv`bFsemk-Yr}HhNjMFAD5`aQ2|J!wM5_w4U8Z|Ki$+JFQQ59Hf6zc1yjt z+0+*9&b_Vj}FH-4E;=e7nt+{LL$F6m2?~($H?^^2$rb zVJ^;#v-fQtxM4?s-CO2Af@|a6hg!@@-*aho?CINY(%wvt`ZCtNWAW<~X&v&n9i6!S7R>eT5P0{~!u`$5BUVk@x>U<% z^WY0LI;|J)iaS2;*_W3^O)_rm6p9fJ7 zk3W)JygqH%u2;@aY(LLhda#k+m}a}*tv^?@dGe0OZ*|&85|7K;d04egJQH9x-nMf7 z$KL9dC%?PtdL1t8oEvPvNO#%s>;Y{iOmEpKLp!W$$glV_^UQu)g>|a#@-yc6m7SZb zEcK2JtTEU8c;{#4lE(o(7Jal?TC;6#rCUwN@8YU?H3gGBT25HxJY~0uLArm3o^cNf z_FdALHfO<%ZGF2`r<8853fA@C8GZQZqT=L@gPXV2-SEtRnpbjhkD~KySC+3`>HTtp zEPLIC-VaQ5Zf8WD2ub<8`*h5z#miTGIp5W7u+EZ$v&N4ZJKVj?klnx41I!=xugyN) z(K_ArK<=^jfwx~D7%n|!cx>>xT|d6c8aVG=Q?&a~;!@eoqPtGMC9SvRSD$GS4#_1qD+UN6qxy0-n2=sV%D&89X<&ageS z;Ca>BQK6EqtAzmvmrb1&vgpLNjtibP7jVTOu5=*ze!vMDJaj$B#SnV#!BW-@%2yCRCK2w7fQTCIdcWD%@ZBd$Y~0s%TG{$Xa{li_S$vXGcH(j$Y z_;;SMteeA_?SXHXOiW3*y1D-D1MMEK`{9!LFh{m|o8(K1`qv>{j}P|jy(Rwpw`Z4Y z_wBtq#3eO-`SkrsU0xlam+Sj3zG&Ih)IK+T+qAjgYY%7bAGRi{V)*U_f6l93o--qG zQnR+rE%p?(wZA)eTl1ffV^0|vU0ho%Jv;JP#EP`9*=HwNrCL?1j{Sbx<8jv66SDnN zKj;O}#M(P)J8FOGC7NZ{w&=PuhKeG_hV1#+INEztW<=>L?cMd;JpEj{yF=lI?yq%@ zblG(-sYv^-!x+mxotMuYk+e@XdfeV82Tl|>ZBW>p=EeF?G%&m|?_~RbTkEWzb2xVF z+b3skIL7^Ga3E@O_S6j%?pu#E^=`hYm34y)4S(g1^o^^3P{YmmKwgvS;q|lZkGI;> z;=bvkHLHdM+Pog4dSqRASGR?euN{rt)Z);N4At+w&i>wVbiUL6z9ZJ{STMg{?$=Xq zUmcnnzk1ehk6F!I$wCwhkB+%^vqjsYz{Pt0636V5&eLlP zo}G*LyLw7h&(N=BtF4B8Pd;v(=W{V*L06+6Lq6%;TRSJur(Sz!+GxJ!*3J%5t)7hf z_Bq(GeZ`42>zbb`nz_Gp<=PE1tX8xxJhdXJ?|GwZiT#g$ALw;F|4T=eX$LZ{Aq(J*~g!5IAoaFc3$)Oho<)F)8oz{J=5nq z{ipedW?6Sy-ST~x$V;YKja++A{G7RK)>Cr2QLPr@@@nr}jTNPbjy`FSU)d_`(4c1n zV~nFss?+t(FMj{W^4l-dNAtCIPMp(YOt0c&*V98~)yMu$%v$x>YE0-qby zD_HGRKf7D4%yg8|pI!yuKGhV4=0vKj>UX?Zdu^e9XSG!e_g$SHndt8Hrg_l)DHnSm zIDGp_?X=mm(@#%MzxMCO=#;hQ%OyYC5B}->Gr(^AKaHvL{YcfOFJ?SC^6UNQ!?lmf z9sm6N>5=pGfKj-a{lr!!bUajJR=r7=>m4dtxhYNKyJki`&Fm$?W@V~@cBiIf%{+e6 zZ(+R`#ckX8&;zq#|8mRQ|Y34E0@ zEXOPK#7(Curg{#8Dh5Qf%yYT>qrh*)f{%OVzHC^tU~ur7*P9zT-)=K<>z!ufMm5ju zY90U2+I54L-R-n=Q2z&Gho8;vydZYXma9&yCI=?2|JR^x*{tT!FO$;T!L#cJ{PA{ay8c4m^SOf>CoFAp zIQz%gquWBueFjK$N|H0R_w~G=5p}f{@Lxe9Y07(%hug*ws_~pGetws z1-d1-P7J!X#{YF<;u@DVpGGv(Z+vU+?k>BBZ;0BtaL?3rXI;+T9JuzMwDQ*-o;hxs z`c+-?&W9mmJs-UOQk@Au^)PVD-BB&IhL`CITZ~P6OlhI6|L(Aw z|C)$1a|G|l=96kmI`+%9l*Q_l&b}eExZ3b(^GSC;YV4g;w)E0?-SjTL>w}H6G(SZ5 z$XKqU^G~bYW#a;)K08<3y4|=sbh_H*C(EX;j$dA;8Q8JQu)Sq70$r+&$NjtbxXaf1 zqfd`M`+ekD_0T~TDW0E#E?=yPtm?4L(rR$5u8rE!{%=y(A3bh8>Cw!KHHBTWt&D37 zDm!fS+g7o7!R4zZffv>cN(#QQs`~2PPBl}ummBUdxRLp-$3mxoK88m+YTpV7G~G5m zqB8i$)8!>EraL4_3tYk+Wf9%_cx8Hoc%Akg8g=W^?P(@0ohL>;KG9{Z`KxC`63!TY z8P$AFmw*=c(#QNP&-(r&d{>uM4FgnmYhSO;?vZd;XVu6(vmPYbZa#ec#cRLogJ%!c zOns5QZ1D1j8}3R*<$I3F^(?Y1YH9lYOGf%fq1%{m@sD53Snnu16?*p4k%gNYH$F3L z)`IgJHQrVKYwhr7WbV&PYe!t$^5RUt0ggMf&fF~Tqy2B~s(a;|qq1%NOkU*Anp)H> zcVX(3_bv7}8lPRXeBOgAkxjgsEp_=4dh7k2k~Vk zFzHaf*kWBw!0ODRj%_*zjL`9#-)zkFi)QiL)1JF6DjZrFdoku^1GBYTJkF1w`MhC^ zK>>w*nx+n2{H#M}`JA;KzHEA5xTN!s@%J`Os!oS^MW79i}x-`-<+oD4n)VR=f7fHeOM^U`}=3%-Rsj+XU`dHu3OEPO*Zj1=w5umTx)7}t4~LZ6>yL^3(X!(`;Ou6Z0i%_s`Ey z(L0{?tC5y=RFBA3o2FL!q!a`szO#?IXEggrgOh)LzqVdd9Y5(w@t1(;LBr|VfiK>> z`ktyS|GNKDdH?s`u3f4@W4n7sj^dX7tbUryNU zcyjg@jbE;ZCZG08JTh>=ovEi!F07w4yjbVlwTm|!*kzZlaPv#gXz}1^Ov1}?o9&;c z_PuAH>(l3S=;}K)t~2h;@Te{zkBv_4N*@i8wUDiP;4r!6Lu11`1!+SDc5b^bW!=;5 zBM&bfHdmO_#(P!liMiYIa~rjc^3clK?zH&BCwVd(J5KR6!6BR1wq=)DbigG!e8Av=MX=bP@Cr^brgY3=xbFj1f!_OcBfw z%n>XQED@{_tPyMwY!U1b>=7Ig91)xloDu3HG(c#G&f-iy}LQ{lh2+a}v5dshb5rPnc5n3R$LL(M~Fa(M2JFYh0q$I4MJOl zb_neeq7gbE#2|D;h((A)h)3vz&>5i%LRW+Ygl-7k5qco>L`XzPLg@W6|n9mYMPow>NB|&({rcZk% z;p};Fzr>E>_esnc7`#ssz@97jNg~<%JsmzNv86xzBwljlTnZGuU(%fEOxiDLS7*S7 zJ%8<&v|!KR1Ck-^x%Pl0i9J;gO1l2%Wu68cl(cvJ&+4Y0UA_PPTRTaME<#CI- z^r1w99FD+du-jikkED#4$caNoB)-BC{!P6ByvbhYE3!EA-&{Dom^FI=nMmb7ddOH+mXQufM74V4W|lIO-f*d#Ea(p zn%U4&1~x!-iJ3K3G4RlfRu!9DQiGEKhE3%0eDp2VX$T`)abn|1NfRNf2~Fy4=}6z1 zV0RPR8EgfoP651aLY?MVThmkqoV*!mNH-bi=UsSO5+M|LQ*pAbGYvcq?y5KCpO$nI zOnoRK!On`+mb=ha4jS^Drkp`eXVfth2ifV;`ZLhE?nBqlNLmW@e97o6+HJ5eO|rAM zrBP=gl=#xBvyy0Gn=d7Aws#`^a}saiy)Whebg-fG<$uesp|@7T`nY_ z2BS47l@VvRwXein9YdjN$79Y93Uwknue%ZOdEf5%fJ`sV>$$&UL= zgb3$*$p2pQP|{gg(o_Do_9ICLVS8`+-xynMDfbZujH!K;2z_#SgalkFkidfee??t| zqyc~bcH%ivtAxhHA&kYaYfIfL;X#j~b=ZM6-Io~A9j0`C1RHxp3u^lqu$E3mKc3n0zmGjZ8;Y6q_itnJdWxCYa_V2gh(cRSEeg)(Dc044nM_xN6^vb^VzJzmcKUa;1J48EYObYCED^VQ(oDE(>CL8n}U9?bPMK{ zXj0YbOd~qLltym-E1(}Q(2uD^#9dwjPueHqZ7-2$t-~VLeg$lB4{1&CK;I@c|y+z;KdhahTD6iC|cAZeg&)&kh{6}>HLvs5E&NQeJ@vMK) zK%$@2VO#q5A0$-qjA06YCy5azzpRs?1m7VM`!`}-+xHj^4*et7&3KO-UjH^rRXFR;d0*eoR}%h{j$(8%Whx zQEajkG?g?pNk>m=K}$Zu2nPDUi5Sqsk4W}nea=+5s+iLDGq9H6u4FBxp{Sri*`H8} zj*aV#M5$;~h^LAUdAP`o=*uT0@Y_{EX6LP*uRtODj~ejL61c zDLqdg1+8d*6?@hh+y$5B3Use8Xp5zR3e5db6-(Z0UVmZv3=w69oDTU4dTc93+faVA ziVdfiGdiNZNUPDEuM!{OOdMkxQIl_20_=`wAW3M`g*{zqSWguz>ZguoXz(4eReEsU zxbJ93vl2Pj{v8F?yDtL`Nw)?j?FKPmL)~kzd|EV^R@Gn~HgE`gI+OViNr*6I1P8@3 zl&j-R6kFa8*iTL4^u-^@^e8C@KL1Lhgo&d$`2DX$hl>A2|NApeWZDZCayS@Pi-_N* zaB!s-5%dR zi`I!sg@4d7eYgF^8kG144t^SGOkGr^ z*24DtBCSRFs?tc|=0ncBSCs|`{hxD?^%lur?S+CHpeD5u9KLb7x}l&&iR$S0`x!m3 zMx=Gc>C>`Vfd%|IR|)%XE=OMku50Xp642nb4&bJ=T@>6fQ(l zgdysaLFbX$Brh2Cdmh>S8 zp1d|hrhG9;7n*wcM4o?s6?h@_3JR6BsF0o-3QWA6w2e@qrNF2g zs+v)rGxGn^4hfvoSCD-$Rkfwzc8~>ID5Vl(q@Y!7FAWhkm?|)rtyL|_f!XwRfXyow z3bHH*)N}(I1*XzL8X=s;Xd-3|j3#}pkDSXB&vb;5G)GavfQ~sz!&DN;*-`3A<6YsT zJOkaFpjXvU)YGHoPG~fdjTM-oo~qW&HEf1pL=jV5>uOZ|jg3^4Vj-38xB_H0bm^`)&HF+1sjU#rRqTyjZmr!`zR@_ z@4*#H`>2{T1$SXrZ#wRU5%9tQRU;myO=Bck*_Y9c3J0rdQo0WetzfL-069xOLqTuW z!aLkI&?-YHxiRwgCruS^KrZOV6+^fl7&{stgyqzc@*kZ;?=l_=_q@d>sGck*lM4B|z z6FHMCm$OvniEdH3@~?^kRfNE+NH2I*wT`Py@xmzZaT^2u1TP#zdr4iXLlbFJl@KcP zLgDv0sOm_DS5VY9n;_oc13VsRP0Bl}YC*XZFnULNL-zHMvdn zRGsc$M8A?ZBMTqM)?N^0MwH@%)*VnTGU3AVTO1sHpz6Rq33#s5_}XI}^p*Azjy{;-VeEp=ogyHVAvpKSm=c8sx)y|+IC{4_}CjQ1!tC$9L5DVj+|TAM<%)Uc2XhS@G7MOur-k5#L)-FAXf@$?+c zwT@0v(;?3mXb98BDljEEYFd1Bm@`Ew-tq~emJw|li~`YW314nZ;dJ|!7~RLuWS}9H zv_uD)beMLAN}XxNaU`T40tbsqIb#qi#p*8vwVrxZfyq0irb(ey=sk&Nl#(7^CTg`8 z_MYHiY$&RC$!P|<2t}7z!Zzd-hN|YWg%I49Oh4Dl%p~b2VY`J@&dt>r;zx zC_cTRz${`+)-46*17q~>h>RY2KSH~VjX>tM-WO?2S{fk@#M^^&1lCucPt;7v{ui>f z25d_xmZ*mTcF}M`)x%D(z5}tu@t6 zXvb7kw~oHLVmGtXWD3oxqrN&`7d4SRhc>X3s?F*2Hd0>|H@enZ>QC`)rMlEQT4qmw zm`aK+Z2oLIWadA7$OgICOCz<1=u1CM8K-Z%^ zbl-V$`btZ6ZJO2|rM3e5{meHo=2V&m#exWbsM(IcNe<$ z5^1bi28uwF#tuVKAN7PYZ#yE5ieU<}s93yHd`?qfJVvP-Qg}mXHyf*zw>Bf0Rx{c( z6@zF{94zge$rxWMDO6XZ*>PyY59W%DI_VdvYq57BcVSAtNbAxATiE_uq-0xj5mzXS zm&OS0MI3~6f^VuD7;vGbolt5+wlL6$s=G+lD0ip2F{K?wCD?U_Ge5T}%e3gN6g_te zlU*-Ske%y{Laf-Wz<6~*LJr47Mw{}xNP~o-$3-Sw_*f-;7tM=Uit$L<~>%&TX;8=R7nMAO1fd? z`R5r2j&IeScwdR=4&!RCL|TK~-=h@d{b(bTt$$C>J*4jRzB_88+eZeHh462j+}=a# zFR1-sz>N%hA`jzKDWWH4TO1Cc%X zy)a?6ZNWjmK2ihn>J2}w!WEeO-bg{(R)JaBQA3a3M50|e_kr7AJBYGQf^}yR=q*}^ z^>__a+1#D6Zgi!$h84|AMk5;37j)nLj2?x}o1DJVmh>S_!+^g-uN$eMI7sbJ3Fp-AYHwd9)6)l{-JRaTLFG;jZF(~het+N27<)3>tD!?7gTVYQ;Y`&asTMiz zhvLCVl;Va#Fm`&MC<_tx9^v5fNeyG_I2ch)PKk^btr(1klzV|Qp9W*H3cbb~Qnx!A z_4z0@E%N$XSMArbtEDx z&}%hC+L>CuMqM9b^mJX3HYdXo80mUoxlkA1oN~=IF$)}r^I5iW;q zWV1a*nLg=cz>-z~XZmGe$-A=!11@wv1B2*>Fb;|(SesO~*3_Zc4Jer264;s5N|dz| z`m_^)HrYtAycrcEGFnvJSyO|IGEf|gF;@s?*b z+8;$AuSwT|O63>aM^wOx;7E+KI|g#*$}r8k0ebF8SR6Z;(e_l5iCLp~xTY5QXu$P1 zOtxT%g3Mul>b`fq!L?%SYohyiG@9-dX)Q7s zhXzq~kTX@|uvK7CrfElcn@K8py|9wqn%Wvz0PIy;wvJpL1nizu_MVAM(>#H>n$$xo`?ag@&P%gVp{zESkr{Y zKEW>B+KJGKd&KGRY)oWtCL;GLRU#8AIKJedY_e2`)@P%$w*5ze(aOOb{t**8vnP^U9C46o(Xl^hzT4ZOgi9yEz389+ z9|aBCmxcVhO@_jcKMD$gjxr0H$>@37WIP3ZF@F-?w+QtL9?krDZM_BST3c#=PZP`uv^A zf0a@UR8lUMw4T0be-3#_sP8T@nm%35!vbXPfxmS(iz)aXP*w;O8eZj0&O8jeFZSX% zsogv%?z}G2t%MN|MW9a~=3#?2q*9r&rrG&uqW7L~`s#dS#O^ifQhz>L)92?3bk2N~ zY{+YoNfJ80S1>mE%imrzb^-jT{KREdUfOzebOF*Btxe7=FdFALX=_rkp>`uWT7bfA zXQHjx#}f6FwajrN1fz@>=6n{}Xd%XnQWH@}hsG?#Ix!QIeVuI``m_+UYabht!Ge3wY6wTAu_zzU4g0e0UbR8JB&S=DtSE& zmm^vF@_4-o9ZJtfWDICR05bZ7kbWPm09K&t%a-7M&vP-F-XbgmMCMoo%ErwV-mYB? z?dzcmviFOT_3`Z$nDuem=DbghT>|Ztj-srM@GMRQYGlw&TZh7nP@^GO5QwQ26``vw z>#o4)EyWzu3rhp0leQGyQZJ1GFS@!Eg|P-xE(4cFYa8%x61NNq2aMr#zie$>CSlXv zK}O#j&*|@7u=rR!L#eb$L&Ob^D%U^JXUu$4)-fITDXxLh`*bkWTR$!(vQq?i$wga?v z6gyOVRhqO3O*2(n$Ap5;%Z%xOu8!hOu=DC%;jOL?-p)p#?QL9#Z0yzH^qY0qvxzX| zpx1h7J7KE@2bb-1Ecrb7c|9VWw&L_l2hcGa(AZ+_Ig`;qM~nLHK(_X6fTFh#r^`2D zv#XcCjy|g`cVTUy0zG0QI{mtqA`>r|go!|h;x-}c`H754R(VG`n{e!9xEafq4FeeG z!GJntZpH#6X@~+dBTdJEsy8FG$ElpwlA_$?bL5aMEZ0&_@7RK_Q8;R*Cjy{&4BE2r_Xwsuf)YJJLFlK#; z)4C<-pnWfM5Ktwvr12#X7hUDd(Gs-Shu0bCE)2ZG$&8&K&pqJa{7&TZQUwR^pCJ*C zT}Zb031=qkf^Nif4sJ8>_9X}2y8#Bg;b7)&oUq<`$3P=Wd_T&9wD-V`MXI!FKb-Hd z2fCZpIk=>&t3_M)Ad!cfocX;6nb6VUpvPY5YU*>KUW*)^+lynkO7h){rJBw@NS~N; zssB$%58LVDj>bN$=gTcP{lQLGleE`kI=`_GPB>U|I@}So-F~F|$Cfi``(Z5Cfr0LV zsxv2@4xkMlZoom#0pu&jtxnxr*Pid9SRaJlX`XdD&2ymp)D`(!hju3ER~wjl|)?)GHizT^tW%(X><-F>bkDV3N~z`&|PTV zLxE23qpQo;ZBJR0tNlcoDK#mDTR(AWt1gvjVQhv7OsJ+5m48u2A5WkaMjyeMc%v~4 z)Td*)y80BKjS`b@UEe(d%Xt$-8TMhPAXWM4=eU`=iX%_%WKqkU%4VXjR~&`Qt7eF_ zEj{Rn4Aw4Iil<*7DwtFF5?viS@CU7Z>M^7|Z=opDqszxoa{JaPFjZT0 z)}{?*$ld+zjPWMjnXN{WvVp)5{|gG>gws!8Erjdo>13wtWMQMnH`Ia&v!IMMxQj# zqr`FUBac7NP|u8Nqp&|P>pY_B8i=$WWjbLwU2CnBuD%&paJSLJS1xSvKGZ=;VVsp* zq3|Nw{gw;pBVM+DiH?H0Gmo8d5v#@B4LGQ}DD5EJcI6=U5@v&|_~7OeuH2Z1lgb0E zb$r_BInfGlB(|xoQeuZALg0Q zUfp1DuDg=O`<=MLhs&6ywR(yG*IWDQnbI$IQchP;Qb9OOVV0n%MI-v_nJ}5Vu)Qy* z?+-$`j<^b@rax!SUqyAd9>hV&HFSXsDI9FQhH+6coP*_3n37-03cQYFqH(0clKC|b z_59!}X1ooIzBWpvt!X(sBeuH%Ix&mWLvEmocaG)YQI1~Snbq4VN_qV?fhqV>=uJ4Y zFo%QfH&JG>t2r3AQO}Z}$%o#8`TOe`-IQ`~Vg2@cBL_bi__3LTLATNVn{Q{ppUUsB z4Xi_Y>XiQwtwH4uOeF77koCL6v=4|(D}fGk@Zl^9+p7k7HmpGAwwzUR{0NR+SOU

Wp&SQ6|mKayq%Z$7eT0NK~**|XAd7ZzeCxsEZSlE>%; z^4Vi?1!CR#Dav#eO2V`fGCviX^ccr=?@aaeD7_K`H>MONMx8#~`fF~BslMU>bVOfN zwdSSU&PGWg(Tphs(L5Xdx@^3#RZ^%iX9|(*7Kx8wjK%I_X{IpDmOXvR{RxJ`!;TDi z)6yr<@WOlDQ_P6;>_2aoSx#y=pFtR*0$z?$Y%hpvB&!qgJmHD z`=U8`!@vZ*;xS3+a{&K%l03(Sz=K^l`GS!#*xzLu!7l(Z6FJCZpr#ice*yKreK|RP zkiIp=y+nol7{r-nFVPK;VuO|$c#xrQ&nLqynNm5-#(r&`f;N@N^fjpR6B_H3SE!=O zkz7{x3JYJqu^hzZ=sR;uonJ%eI9>}`{CTg@jayHbgTi_G29z;ZUz5VKWJYB626|8N zA_zT*%qiv#M*K|1=FIuaV!{0eMY|*KFQHCWZ!yp7Eczeexm4eHQEyz}TKE=mcNLP# z2h5}uZ!rWEFX7$n~zi457J;Ne~+nV-aZC~3DG#HWg1IA zVBKYlW7#^OO|j=uyiV1u)1dQz!13O}%Sf&$0R^sgU8!1Za6rox!mjHZ@(qWt)$r%! zH8TDvO%-0w&4eDq!_P$piP#T%r0iHc>nNfE)6Lk@QPRYs7a^3uni*BG90OFPKZm z{H{yI%)o>$enF9q#dXcE7{xc~fr%yv>Qi(M(@$LsQ zu@wDn zt3`~z<0tB7?To)sQhp*zH*CKsDntqgXDBd^zpw}mn=LXfwBr{VT@LBC240mU!({E{Onu@=LKTEjOu^9UD7qsSUlnT7aqagJGv;dyhU9WD13Opfv$$kUwB)=f&Oy?9cqz| zrlj*;$#=U~Tp{#5@+|+r>5T@=pL;9P`V^#zT$JJ@hNV&Q#h~s$Z|_efOJ{KcBUjLp znNaOd^gn)5s0DKa(RJ%&HdL%)h&!?DYSS_%YlBW)CyN%YYEZJC%$dS(8>myfHmevN z1*S|})M~mn zqJkPt&_x+E$G2E|=z%wMQMB{%6)^+edXTgUXP~Dr5}#h_$y{hr`eA^}Xe08OV za%-V4Ybxk>98^RT5TuNq)u8}N6h#Ag7hLJ2xc#%ds zjb#0V5x4?r1o!i^4E6a&cz0t&oSMmXml&h(bQ>cABN{Uez0J)8Ixn+1ooXTr6nKgg>qBQ721u;1l=R)1EF`qR(NWE05@8g|@K$HA$>x^=YgX z3jPp2K49RA6@2*ojstINS-9Z*k%2x!(r3D6E$bw#QYRG`Bpz-9Ak!29UMlpBwCRWq z9E{OXpml6f%TEkAQ|y2!#STVT4A~-C6O;eaVOH1`!hJLB{Fwh&7HEekldP2K`cz^E z?R;Bh8cm_@W(PJ_yp0q)QK6ftYD7o9jpQebI1sZ(T|D*@Wfpvg>VZA1KW!q?UKH;j z^AocDM5ebe*5X3$qwyMm|pAx73HFt#}<4>6=m`NB&MzzX4?4=?b!84KSWZjpIyN z16h>NZ;}X%Y1kdy1;UZMyYLG)44K8MWvKCa4Uv;`SiaUV@;-!9=teM~zl_uE8=;rZ zS;2quv=R8Y1H9R7NcR9wN7yP*ERl`_y-=zfB!Ia8)9T6r>F za~YU;5m}Otg-fq08Q*q+D>%79`(b%qR5vth0T+V>RC)T86R7-fn*F?$Wx zFgBzdFDRZ?<8;P3BQ+}bLR)C6sldeR8yj)AE*csu_RvS#3R?M1(4hPc6_~e8FqSMLs|c(fClR>I7V3?vF~V%gK3j1r7Bso#5S$@lSt7pa};T638z&FcYr zX*%B2I`mY^Yws>h!K1J##@fh)zkeIj_@-zTF5Uk}tY|K?ENljo20j0h2K3S&?`5fs zozRQ1Ey(ODzN)#$n9qGUtK@1ERB8PBttUt)t!x#uAM~N}c|NK#X z_tF@Ht8)Qpcb!JD{MD!QamJ>6?{9wq5?MEz(^qm(_`jGUwz=erV9aP%5ei~dAQVT9 zr}=@h-ogZ2RA_;6vI#<(BXbz=przA|joEElyqe8XDxGE1n1U}|3C3NR_dzg!e2&Oq zq??a;^2>3PgONrYt~1nWhYKqT7)TLJaASdyVatu{KHoUo0=mgXjP@bZmN43G6$hhQ zVhL-yo`bNhi15Cp%w6RX?Q97P(IK+7!qM$q`eu)@En9A2w%f~@;7~O1>_Z&v2t|uJ zbd&*isyc@AVe zApHn1m3KKaGySQ*Q8wtM( zK8lPcRYYQW(BzxQAnH#Tk>3j#_D89H#{W>zTK30SpH@V{+^%1o4%al%qz_SWr?Cn- zx59cPUY$J~Qid)h7j9$M<6tXzbU};LZwyTI`L$q+)}X)PvINua)*2-R@8w`yYg9vp zF$cdbO)P0?8^|KsAVQ=mr~6x*;AfrMz?BVVoO#<&I;Gl_}i9KB&gjh=)O%z9- zE!JG&qN9l^9nM1IebH8Cqf$t|ZQ(|b2)szOXoqzEG^L0b6m?EJIQF#}1I;NsTBc6# z+99_o!6Kta{n}&9*d3z4R7aU;QDu90wuuvV`RfrQYkz}=1QG=JJRy3b1^W?^hHu z`ePxdU&g`SrWG6{#>3MEt2sCu4^J!Cb6~X1#Dd=)>e&gg`)#65o#DWiPH>>}HV(`? zBR3Aa8AubF;8QsEY<`4%yT~$y%O|*@Kj+Y7ejh_Y)pmiQDW^pmJ1*=i^r2lr2c8pY zbvo7+b#&+&ee5dhA#}&{=OM-P4*^iuMT2W$mSUmVaf!@>|IUoB;fidafa0uPzNes!=yJq~YyQC<#3wtH2ghPg$yPMu$DUNk0+U z{Ekn0dtyW%oQTrU!^gHgF@x_-#0ZE>zt?(U>@Z5gFhrgr(5A6T$e)!DW1Q%25(b^` z!3?-ji(cpnZ(49*7-?$2?|JC9HdX9j_F+t6fRG%?o=qvgov972=!cG2&>Ma_v=wPn z!f!5V($C%~;@=%a+JwS7n`%&gGNRb@RkH1gd69V%l45E?_xqsijC(6E?fZhUN){O_ zI@%YuO-68LM6yhm9QvUsBr=h)r*XYyRjqQBQ%ihq)E{$apOIJuUt!VOtW$_)J`f3>-k`v|-G;K3pL#4C2<_A@T;_DZ6#K)2 zFu%SXi2B^MLz!+VsO=INCmz3I5aLJg6K!i#dMPU9QYJDGG#IkXL##DnZGXyCk0uO; z*-51eOyyv-qH{+@#)*$ELsJmd=hcAl|j zB>zdjV?*$MlY-v|6^hE0=~hDMbp^(0D0GbOii`zaHN(Qprb@Xv-4_)M@SEG%8+khv zNqXaV0mLNRJTW!mbrU%ZvdTvavN6MuZLKN=#_@%z8ErR5QlFT1I9|Y+rT7n~_~}BH zrw*y06W?$;-_=Y5zdwY2oS(}2z(1V6nu>jhun!_IrI6tm&EMiRof(7Jgq93PGk)VE&jfkRZG^XU~RI>}qC69vNt*$yN$X zzJr;jyeDkTfH^bVUlElL3_wdakbu5quR!;fAgP@CB7=*LD6c7vI1w+!KE)yrQEEVE zGO=cUD}|YdKAisPZ>CG`wy1$NGSDgbEyIyAKjxezZDCARbIusFlso4x^bX_%Iv+lv z3uYiwa1P^STx&C58a@h6_(Y0~ExnGx$WS{9=IXT-X1g=6qq+m$9A5`VD!pEe$vLn zSfc_?>rX&?k6B`7%JX`c$$l>vWsyQ~F#~;s$M{W>39>lBX)8Hr;~hO@7mEEy4(zp? zh&TgxaC+KAS%?Zws3u}!tU7=ql&ff!DiyTNKBk;3)Er{Z`uGq414@IV9E{C@N0vEo zeRG+}L<%OS8E~e`9JJPS?3-s}YG^$P^%`@DBBo&K9dz9cbJApZR5}SB^}|P1j2?5x z%!1RllR*dH;&j)^n41gmJr&d0T4AQcbliphk2y2$r5V11W5v~I3N!YU(Q$$wzMWzb zc1%GRHh;xIllMs2b}C}~z7ZK?8Z{MdJ071_u?WyHqFYnpZVP-q#h8ZEWHG|wuN=&q z2IJembMR{#mOQc_9C)dk<9&F#EI=ikB-2n>y;aQXe)H+!ba-ZlZ>X3#=vnZef@(1X z^y}XujbGxNAqx_Y)}xQ}&{*QXnQ7AP8Suo#h%+rM@Jp@oU#e+06Hz-EbNY%aEDoBD zKD?RHT}(J#ITLT8EzL#XL0@K}i7uW6oz_+gQ8OH17QZp%E+AET(qXe@-33!S5j3XQ z`p8|yZ0P)PP@vn-LD3zmFBpFT ziuF<-;ZtkII8(_yyl^_im|O8arQO9`ag?#`C~AcXS)CZj5C$Z%r#Iy#n`?0QHs&+; zhBDfk9_6D&d>qEXlKC)iE-|kgo(9f`Vtj@u3lk2G;^6W)v=sToXubeCS2D?W0V?3h zIC{JQ6Ug=jC}i7-3?vAh@B>JU>{TH1RSBf31=yJ1jlYF;)44!rA;9=q94woM;!a

)nPUsFxwx)~gVV(*sSbof-n>C6@1?7_!ov+{8uA}@*}e##4O>I23X$N4Md;f` zTNwzVv_d49S;D|D;o4sI45T7LQ%fSmIdYnrYQPvDVewVEwp4~M4sRpjT7qBs*F^@G z5bm1m(NcfxYNjkk)a097wqh~5#fw`E;1^RLnCliULClM{Inizja%6v>gSAVryWmsF zfHQS`Zf;6G#mJt05zL)=!s)~!cz@tE2e&?$+f(%l=)7k-gFbNDV=1<&Og?eoU4v4P z>+D?$ok>3!-HBapi&%?Z=Tl{_PT|Y23c8@J$e3H;mlu{{#B?=OrW;fKawHhE9L9R$ zt7XwhvA%^SWi7`dVgNo_R-`qkVmZps*pt&$LoC$Ea|IfkpPvFVV+C@5B}jpB>}X-nO4MCA8S`IRRc8weUfO%Q zS}1m;GqL|iwHRZ%CVqBIOgU^7#_96@B4bC(+m6JZ$to0)MT$u4@~sK|)u3-=a5{W7 zhK=tdMW9ZG<1FwamTOSN|4y*L@xrc59YHTkL7~qYte~4rv@qpb8zw3FdvKhxDh`Uq zD=-JvpuKmW${1Tpn{8o8wfEs_qqXqq)O1G23cY60eD<7%-y>tsS-Ir94o8sv=d)*H z@@Ji(d>vw#5@VdnXSszj*{(;)c3vVfI;5+O1H!SZl>D2!R8-KWE9+5FMK~uF(| zp=kU_q_t_>X5=Ckb2p26YBM}be#U?q$$yMIeG5+0CcLr0YHtfl=-mrtS%6T1n`m{~ z`gDE^7FemZ3XH>6^!U-3fJGfJrnGpg%vbdbezo(Xrez@efmU2t+9tD6b<&hmPE`Lp z_Q6sZrP@GFS<$j>vIy1ou63wS6U(}h+h#kolHDu|BAQuI+;&-rsda)AZVOrLvHcXE<{ir!)b?XOCA1$U(UNh51h&A>^w{CQnAkw@8m0` z|9ZBlpg}tG|K|79LM5%+c?w$J7yiv+&pk-uE-A>0_Mn|#FA^Db`n3l|^kNHVV)vqb zdF|j}%U+BgEB0`Z|IiX2J?}>ceR;?dKfb^Uz1KdNe|!$`aH$})AzxPr=(|GHz315m(RD6d1fp+_qZV5Kwaw#b-}-9fbdgeuNt zys-4*4z4|js8P>E+JN32#7&G3FGWV5u6IVA&iq%YIE%h;g}wj&ZJ(QKl@v<9QuQGj z?mGTtPdh3<%+6H>D;xUfFbZb2j+J7wU8Y7m56cD#{k7S%5rveZ$m2{Iu%kJpn87V= zIq-J2GNR>MFv|-^;JS$uMU>$kA@m4NyVC1(Fvr!(kZe7$ueXosoNL5rH+tt`rHS85 z#LmL(rpl>%afR+jv1h&)`_xR^`xx#G$af*%9EFk90U{kFZkaq&EhaxY->y=Cy

    EvtsL4p=Qut53h3$Oi1^4w&Lo{eO};Eg;#@G9WI@3+5I$cO zfeGzDg>+50Az}KnS8mj4SWdnr(#ACQH0%tz$C>M=@j|i2E9%UE07`m}h=)x@T%9Tq zD(ESvH&noKCH7P^9pf_qn_e-HBUoT&$;k7JtiZNv282}#ocukDk1$Osi4oN+6xehR zLfDBZCQJR}v-p(T3LC2#PzZJolo5uJ$FOtIStg?k=P`~rsAp$G=g*-O*64{0d}Ex) zc(#rSXL7BeqYAqHJc628F}jIxp$7ZKj+YDQA78U$kQ4K5?7 zGrUo%X%k9Mv4hvl%gEV%%&ONIM<5o9Jh?tY-F6nmC z?rUH@iPoxgJNP+a$%wj&WLPwk$R=DxSC$6PmSR+cTG-i=(KV#tXfp}j>l(5e-AcmT zy@nF})>e}-r|#F0O0A9(Iw;T1kZxXw#ZFyB+L)qlK(WO*k?Db7387#dZepqH;k5tKi*KSi44kP+V;lP|MCrGX)A_eBaDA~@1dc_w5qYscAF$s<_~?iF2e{OIFd&SI8Tj~wEGXwx5Ui%5Y8;+L_-q%zIg-idbtr)@P<@0e?!4 zvQ`lygEhxjDC41VoY8)b2XH(V%$bP|smL69Mqk0O4re~ShQ05t7>JRXzxfP-XdVT98KDi4s?OS$j$hK@BI$RRd$jn&^rv)C*+BYAzyh6 z@2^oM^?EUdaGLWTiJ3Kol0RUu^ZGqr2?H_l{V+f-7!@!LcgifZx1+ja?X76UHB^z^ zM?@%$l*nSoLqR25$YhpdC9?F%C@z)E`d`Sx#*4C=H27aUib0b_CXmuEA_9j`P#iZ+ zq*Yx`kPtMRGi9GJF^QX_7SD(IJ_}HHswchUX9Tq<5@lvo@~@pX?f#5HJiLh0eOWsz zb42-}#rXx+Gb`D-ZoH=e=R zZ>Z0A>o_Q3pz#I{hHtZnr`_++wb;y=9^WB;yp@A<-?5HkwVeYTi4GQAc5#q?z#eyG z{6Ijvy&_{kHa}5wZe^Tld>jw@jGxen!W5n*1dK6#|B3On;VI6Cic!_? z0U7k-5*}Dp=i>1jCAS=_^1lZx6=WDW{YEn!^lO0i+2HxXr%6B2!;uWeY_L05Pwr0FWby=|9rolhP-*F4NsX(?Lxh9a zldER%4Sp0li*N@AY424JJ8+r8NEZhqa;`297jo@H#)5Zvi>f1{`YxPK^mT}!Vh;!0 z`oenSU~R};+(lUur*#4}VzKiU6&%R)IvSlSaEJ~9uf%p-mV#rUxF$`t-fA165!g3~ zD>R63z!anj=0$qC2=^t1(Y44m*#YDAo1h0V`XqMcGP+Dxo+vCyWk4=OrEwDr_2h9v zE?jh*%H3#qrh_33@m%UX3{D%haB!r)`Y3XE7*Z*M(W7Jf@*u5x6s#|=LAC}k zbG9Xu`qD@Pd6ZCzZcGhy$tW9T*}EYMTh9=NSF}^hOymaC)=*ww=$R#97Ikt^pVeE~ zStH*YvL#w~J3E;3`9L=#*nEnvP!%7uxyuN3-?Y1g@i&&o2n~Bmm||l&KF{_R86%94 zP>}&@e3Nk}0TY_Fn z&8Rc}b*@HM3<@dOLLNc!MF?VKje4CD(VvDC*j$}Hu$ zY{>$t>9$zHlq^RR%(jH7rYl7{L0G$rgInv-SQ=SD9JiJ+;k3aDCK?>!8OkqrfGh2O z7!`S0qd4mw6=@xkTgxMbW+z1kTZ7L!Xj5EwXur6qk*}W>5-rmQ&XK?hwItL9t>grE410XI6tBspI=Fm;t1 zk%uGd+6~*!WR<8BKtM;ji+XCFsXqbiS8dhSxS{m$}wvW1~i3L#BM z;e=((wk|NcBlUlTZyQ46trL>pHeJJZuXk9m z((CCI?2eA?OEX7%dgY3GNo~xTcsINsPG)lOPfL`UK?g*7!VP5>*_6{dHRRF4l4cwn zY~yG~dRL({p$2rCx8U@N8t8ZSw&dVedq;DMi^ft?!jqfB8otogo4`RY2JEJCP-_+%VM!|L zqagFMIm2ib9tYiZDT6swhKo^~hIN`b)~6 zt>%O)2H2|7i7=E`32uCgkvq_@FjT=fYX(B7cQ{(bS6dD)h9j%EQdK31iU8>2#6d9w zt6ey#771|AjRRwECtW`1*z4yc-RXCRE=1s^dOi{nq~IDi7F&1}Ku9ePazmVS==lfq zJ1xSTr2S5}0Iu+xX@A8fuqvQY{BaEX4W`dAXvyw% z7;vE2G$)*a+=y9KTDnF|?doxbg|T?t&f`8dru{Y+k5KCtG%7(32aoNXY^Zk}p6C8; z7~{je`rU{_flg@0nas{8f-^gCkeDAtkB7`JTa>A<)L6>sOC30!-@^%KKe{1Y$ry~+ zqI+m0t6^tROYL-{ZEp>QUfq~NAE9?odY2&25}f-n>`j9bk!#zrJRgCRk@TN2sQ#CU zh}wJ{r+ucNFkIGvPASwd+Hx{oNJ5Q`D|E6TgLhD%SsDs!r!s|3!l)VSw+1bli%euE zqijCT=C%*kMyRVh@ZGN>8BtCzlF(SHwjtlzpqtE>&}b4iG?CF47m9SUP_I}7CRD2q zhN@jis}3r}b+B`FDyW0O-(8$uWcBrj!Pbl{bXU45a^{ZeP#wI}D|S0!k8}zuck?!h zGUyt7Jo^&L!edq>|Sv`5WFz>Y{V@18| z!>r*)34O3W#zu-ynv6L`q~Xypz}0MG_Mm9S%V~2OVr%_dA{%Mu?8Gj(!FffTfyzXW zu3~=ILoZm=0NR}mMB1NzH$d^6GZGm`mMm);-Vln_acGH!cWERy7Yh^KgKIiVpY!2P zqE>Ao9H*KxQDsjX$&D%3+gVlq*vrxg=2p3jGRzBnIOrSbY|ZKjd+XAn)7)32agZy> z8OQI_k-#1P6520Ao-FhV;mnK-yl37-GvG(xGSHy*Brp&_y&9u<57y?OqA|)tABU%y z#6J^YX+sXCGw={6s50d_f?HEgW;OxYq$LN<&toV5$tFnMvbLNtZwfK`29>n|3|#G? z0!4YwI6~SKDIU>Ddz*$Pp5zs5FXNVVKgIE--lq{4e}f#6uot zz!p~qWy<}jMr(lLWgLud4Kr(SZ4i?@WFTV=2Ptg;mX~r+u?5w;p$&4Av57O)=U{3(q(**-gT*IMrag9`e|0#m zX$Kb#v7n9GL%ZT62kRN=U%`Q47Qoqa9Q0yf&qWR@vM{#DzQI5(iq1w$Y4U^tSL*%J z*@o za^%sn-XUsnt~^F2tHXh98fF-(C58RDuxFU+LX8@^xX{;J7;Icug?#wN=6)Smv#Uq% zI?JP|Jk!OT{z-SSr8gZ=>T?^2v@K;dLO~Dh2<>OtoOUgjSEtJzv2?PcBWJGXxmeJY zJ;++uPEfSL4moDFVPDW^I>F-GUYv0s@JF$EXDIf;4mqZ{rn9`Ba08C)I?MBfcJN); z8I!Z=uU)ihN*8&&pbZCxBJ-^ap3A&{M8=u+?#CEmR#(__g$qNbc)cqUcNbpII?KJt zG!N;j+YPP28eY#tCat=wA?@#m(b5vZm6qn=nptQj$sXva(cnCJifoUG8fA7zreEZt z99vjcQQ@*uPc_=uT^=fP3sE5#ijQ(tRkp8eSge}LPjSUXR>`iq{Cnn{9;l(_32Nc_ z9`d@f`?+eA)E#L{=_wDExp%6f9BJU$uWbELH5JqwW86Ev5J`MN6_p|zHmV9)Q0W9$bK2V*0r!rR^0!@UV>jGZ z);8vAq-WY}sajzld6aC!y#G+TMJrsZlYU<`>hi_^kIaOE+)$@QeUXK3CI3~R;#IE3 zw8#${2KmrU_f$o9$R}X2_xHa81ou74vDvzkjLbOB8arBL3itUG`6q z{ssyNAHS^^+a{Z@YHJV#PBgksZRag*cxzO;z=m%_^MaG#*b1*YD9fCB~au;b_tLE#5 z(}~_FlL97d?Zst#hG2nkk`D)Og57ZA@lYiGlAp+!@Dbmvp$KK(oYO&BFm`h&x_8S~ zB4a^G!_cKUVgn;fo=RulFf4d9>?AS3VWW@sBu^tX)q3*yxAKD za)reA?AMjreR0Djt0xf9e>?*2`@re$cOEo$hHJ)5(XGg(bs?4=H3N%j+w+y)jRV@O5q&>$yGgyKXuMu*b% zi6{swPYx0$A=X-c45Uz1%|D)m015acFd57C<-zPXgw{^RxZ!>tB~O7B)4oWB>Xg05 z6zD$b&gdRO*Wu(gRh~?*ry!EKBN*r}l*4TlBd<;c`FjilNt8AX)@Ds$!9u8PS`BSl zI1>eQWE!kF98WMX|6mO>(pMlo zIy0d&2>v4&J?~NtQ|iIGwr-5BafQ>XXJT3R-E|JC%|Zic_mzVj25S8f0S?5@!W#bV zU!3V{RMVDHnqs`&U^eXS(xOAfh(<-f)v2jI2)>)i8pEA~TIRwR&%Eb=?y4`+wls1M zR;FrVa-&wXp%2@z>rQ7bOKYe|>rlpAlxskogc(sJ*QUL5(fRbld_o;whg7s{5$HRZ zSxD&!p%9Y@#%yk0(~b=u42wwaELdfVtU0wLRQQ4>66PRdT$)K3?|EQWG#42&Dx8Ow zaVU#3fn96DQ5MrN$rTxRIb&bkhs;OD?)DIAU7p|TjK0u^)3ysx-UqQJ$&y;O5Z`G= zEI@V+VqsEbo)^@_EqM#@=$yk6rAW73i0*SgRwva=tgw1I2L+2zT4&~Kx>oxn~~09xt-v(h|}vAW2V@AF_O@_L}U_#lj}J!EygmAEv6L3 zc*dp`LoE-}hhljrEdP}iph7WzEpcdmgVTZRW$vn6f9+a^NrSR+lss zx}RYRZZ!T9t_hAWLEO|MHB106gATM zgUDD?)0IRU53n^{V6hrBP*G|?Emxt_^NSK0eX3XmoBI+uQ<>^+#mWW)nAJ#Gacf3j^@wFW{M?G#z8kO<9Evd#rk~CdCTI(oI5!E?+snh5{I{a|j&DKuF`lB#m(jk$V?U9x zplMrCG0RdJ<4zB^;_K1qx(u`v@|v^Xnlz!UhZ)`3frKC4276ZUtIFuGE*>^~;OhN1 z==z;F-R*A_>hw|$M(pyyI_}>{;qwh5V?xTW{cWkic7*x{|AWjJ6isN}cC7a0ZWS3T zHiR>yiv1qadmQe-C!sosF7?@gf*Xk=myB6*6eV=$5I%Q(-2vN?hb4+hJLPFwk7>&e ztTEt!Gdi&o`JR43qO$!OGIVAq%B|rp1aAn35bAhzn6@?Te&!)Dvbq1_lc=sx!_ zB-7oPL?7BEuR}9NVA}iYjfVvpx*;hmcf(fEOQt$pIP`}7rv4d;`Ugi#j6C(I;44mleA|z#G}mR)KpJ7} zi8(v#h+ep81pjHr6%HQ2z~izz2fuwi@jg0;6t}>Ki$mxf2L*WA7EQu)x%MEe9>szf zV@F1N8t{3iaT(~WP?0w0j%NlidOE&SsI~Q}tPBS*C5Zan$4g+%GVJ;^f zx_RP^FS~9e>M%mrgLlD0@>rU27y*0sq(g_%fhXqEsN-0H&r*8Y@xE`!5$M*zX8<*A zPN$BblN^l8G8p536eWISC!f2bqgKZK>=MO8m+RM54Wb-kp#u zg@PqqTyj#LA>=F*fgu&I@q~k47QnYuql)5IO0`*Vde*>LI?rALb91gES`gG$|}x;(>Ye43(li9@54*4T2Ys7oJSFw*>h%duy=Ke zynsQI3*7QD9Th_t@aeE8wvGQ`iY|hf<|h&c)b}C`MH>lGW7PtY{TR3l3Mn-pSysZVM<6 z^F)vEsFg6`(k}-p@i<>d^uHk*s zCX0i=uVEY#oy$SzuHJC9%1#ERUPltF;NSDQe6En!gZ-vc#c}kv?QTFavNsP6hQ zt~W(p`zSRM7n{!&Om5=sVUFc{7IFMwZv!g4iKN(L4WBVDZem)|Y%m7}BfPDs=Pii) z4r5FJO&o~`Z{0$Kv#)aI{2gy2?nW)`Ht1E@q0AIP`|<_jGmNf&Q=|>4d?eh1MBf2z zQORg88g>V>p3f>!lboJtSbHRX9fR8!7x{oqz87?xqG&$DCj!kxP zk6|*SL#g}$Otfpo!Q?C-j6m6@g|-io!&W(*Ui%O;pY9zQ$P<#ga5BHAk10)m1XJjh zRi<7&f~n+uwOHw6&%5z)k725>oR&V8j}dweX1_6%`vgV3cQ^;wY&r_85l zg*&H`)<5Xip3U;XXlA+s*NQ)dmFaUBoi7;A=i;O#KKgujfqb<_`Hf%76*jK*!SrUe zk4ce$w{_ez*cb-)lFanMJZ2 z-NhCTCNX%8k?_0Q9OQmSrY5|`N>D(hgwcD0N227pgcFAWvccii{5( z{DQ`{>@D&=`m;#eQ1y3cMNxmzs2`Yy-8+Sv?Dh^b&Vp*3IsXn7GT%THn^1%I2=Fg1 z+)@SjJ^7k;05tN23mVE?OF}*&Zk4(c&)hsB09`$ke#hU9YG_!v` zAn1EfE;IJ`wPaiT;N9aRXstj_ze)7P&h&6!T{^cM57|a0n;#~T{rHG-xD+ii*bKZL zij)6^V%PSZZrsz?gs%LH2XR`Cgo*lujXv+NDS@R;rQ?|AYee3kk%()b5I(evD6`^A z@=>2bf9%O=)Be7$eEPhC(H(GKwW@$VV|qFXcT+Rq@(rC;?ibX|^#YN>rH$i|quXE5 zKD}lUujAGV|7nuga84N+xVjX%r*H@nweS^gjGa2nh zS@V4@XcHkvdf!1OVf{-@+fiS}SmK)MAM!9d_Z={V6x3z-_2JEUTMRyPvFp{uX7a!dhHH&CEg3h(dqi5&wFeGmC#=i&Ncl4qSd? z);t53Q8V3x=TU@j!||%nyW}hF10BwAg@%`WYZOgXn$B&YKo4+iI zEbPa}8ZCt@-SG5tq`TD=zQR--KdY{ABfsj36k$#v1094tq3kz^{1W}JDi!T#%;vrD zND?K|9=sW^*G3ldaU6_kFRJf{b5Lx8Y@-9Z1P8qsU6JmG)w2Y2al~i^#uL>QfmG7i z5109{XQ4r^M&jG!k~&>Q3}xslf`t)T3=9*x;=y3#qAq^c)L0LRX@G0mbrsPxA`f;{ zLyc2fx?-tKf{`1fatM3gzv=2d@^mR72f#da7q>!Q#HmHN5S zjYL%74kH9sZl+*kg(rP6QbcM^qYFj~+#Ima4=#^P(E=wJL*?jhrV>goEHJ5m$(Vg7 zc%YzKwG7GNo5GqhO+a5h#pzs2g%K?=QQ*`68406piqd0vhZF)M_VD(FzoGQNhq{o zDPXj`LPj(nFeJ*^Qc{g;Hfz?h?26zr%7p$Hq8XkCqiMGO?_a3I(MwAJSz zj{z*&tHNYj*3u=rrgBqSXkAPC+-|^^V`enW4%*!Sm9$ z9&+H|ty?V}`VxYNudcg>&DPFbA;bZxzT?WlJO&2U{^ZR<%wpg|0tdfS zYUviaqNcVcbK+h-l+8bnutuPCMKi9K!s(-~2s9oiBA9JoH>9ncX1byfX5fEeat0TC zWWcfs2W@HqoW&kz7UTc}Gh5QT8j4Ora2rMjQ+5u@YGSRMzD7zo4eVkSxR1hDJF!A1ry_v66A3*eKSgFy^n zr9RmQ3BBuuN*y|!gE6h~*}RQ6%3J|Ae4*{K#0M&B_Cw!z$C75-3Jvgzcn2ooN!;oy|N zB18)ZEBukEpa8_uX(JaD{*Azk0uYPM7S4PPK%S3n;~+Z_VBQW6jxgYY{*jq)bg-5_ z_oF!Ua4oEg1}pT@qs|OO1cgC}pwU6D_b~{`*m{_Q%9DsKuN9ul0l`RW|6`mk3x-as zat^#g5Q{?v2U9~}s{AYmZ<)mQ5(h0p0o<-~ka3&YHA2Z=429jmTbyhoTfy{77&Y=5aU^@d%(DN}+@cvIGyZ@_EV?)s!GKEnQ&^AOL$iNc@ zo_^w>VI*Rh{*8mJk&rn5fwn zDhG2J2(8b-HwKR5Bv@_O&8dxqHBD!rlTg{1lSVCJI z0N;DkmU;l&>mr@Q`*L7c50cKf7==j+7(nj@&`EF{%*p!oK`tK3!3G9G3OL9eixk+U zAq9I!a%Nx}#OY(mtN|LpoiwzuVYpzv0j%jx;u>ojKx5ie4vZQCOvVr`63uw$Tz@NS z*BuXOQA1Sw63iwTT|xe~l(+}ONrOh9&G7*}5`)i#h5p)X7oD%5bAvH%*tDv^r<%tc zYE+&i3A5*p}Z|ks&*0rAC>V3VZtASP>$NwymNX$kql2(9Cc@7uuJp zNRai3RwKtIing*vaaA&7TGd1mFUv}nQWi}W!Lmi&t0;KRZK?>9E$gGE4#)%WL706* z{n}JvFAM5d#pAvgwmqO*Gw{y_R`Eu(xtStHRygE8lpfV+u1Jyf9Q{9hadSm|nbZ9L z;jsbDnc`Z&e)`J)2z4cU#nw~=NLOw599QdBwot^%4qOSKLk9v~D6XX zRSWH+kI0-DADVX>nm8>xJl@`r%mnudYeML95*kM52| zosokyj%?0Baoa#kGX97`;ME*ha_Pe9k-3=N_~s&ele&paU16J?gXg)5M#A?&48Uz; z2TbCI3>5+VB##O-rs8b&By@n$nWIIS1vTo3^c9Zh%;u?xUA43Cct3?Qw(*8Wiu1*M2cdkVCqZ3jx94FqpDzN0WInanUtw6!UTdpbXS%uqzs!kbJ zlt{FGtqOGJUqwAiHMAme7+$mmEi)QYid0SShO8~{jar*%YiCA_Svt=H-4%5Nv!4w3(0RQeZF=1uh3EYjx%E)U zg;E*K>kWxtZ4O@bR@4?M8c}c`MV@dOhbQ|eB1xxZ zkP%h(QTS>tqo6*DD7w-*$en*(Q1(R}qj5Nr>6Q0IzWTLdAcDecq8n|S4{I&7DYSIz(Q;yPk1sB7jStKWv zyRlxSKuT5|)s(rBjS@lNZK*0q>wv<{jNKsc-pjSnu$XXj#Azhj;LeLWINjahcc(i zp?Ep}ZvQ`g?l47^ENI|=c%1VYhA4vy)O^WsEJxHCj=q29$SNvc_G+OT=@uYIU6-nm z8}%wsq{$|&R-?_M6jt=Q0D%okrBuQeWLfn+cFG83IckGccy|Qe!Q<({2UBgX0(k`gZR>!sfEo5C211(%oml+I$P7%~<4Z*~cmk6FTjH#wBO`$RBFH zSO|e5(6O)|qZPthmm7hyq`+~CXxT5BlqwmAaoB48D$0U%KlZaGzwt2GJwe60(wVw2 z2hxN8Xf=ADv@^si|8z=s6WV zo!)i^g6PInBrfD612rh~Y={@%?U8yeMB3wFD*Z>nmFAuc!5(BQ%#EKI?x5L%1gsrVXXI1_!$(T^(BkQU8EGgokHh8`<Hl@h%G%#qHFaiz*0 zq1Z^-9u09mqq}sa;Kf+#zP$i1UYv^Roe4c|*$ofSHRW_Y55%g;jau`38f!@OBwe+qS=?d74fTw4n$R}$yUMVnvj2;UEVGixKDE%M8ec+p@vjx7N&L)@ro%vGGekIGPMkY zi@jyYVgwx2GiK2;WN3l~2frD3V9kNC6LeJvw+AnW2?u*lmjs3xlEql`R;4weMK z4Z3kCr-w#|srP+cVf2S^Mt2vM!-4&34E)X}glSXham2B74aDy4$!!DZ#vPHE_Ki~OV|ckikt6J%#4_wf_hy87vP%nmg@UOfV@yFC*~7A&GjBF33~At3 z_}yH;5hn6ih;(CN!DIaK z)<(koate3gF07t=giAYzA1%wqj{%Gwf)<}58Jg$(j8(-627IR>;5-C;9pf2u40y-{ZbO1T-VQpp$ zCGW-DY~IdrXDZo)cD3|x6;req1wDKx`@gfW;|RUmr|_VPy=WAzD;S8TX&1xwD03fz z_+RAA_I-FH?xFkKhey;3R|vC;xVv9rLP__+btLD|(jIE0y4@X7wXTr!Km^8g+77Rk z9tV(Wcp8E^7y9ub+>Blccx4=C^g--!V)V_A;dZq5DO!Q=LC|GyIDPA1Xb0^FJ)Y5U zM5NMQ{yE%&j~^c~`Zab$F(bK$6t)yuhK4uvhlJTEMCj7GGGz3=K*@(NH#0f}oqp9B z=q98alGz!&xr2`26*|&9LWggD{&EPG+Zc&5S1PiIFyo7w%EOQe_|UHo=Sqn#==D_# zp4;6cq+K_r;)gMN&pd)=V24dt>JT1u=7=IvSnMe>IBs7nLYr<+!n;m4GD6y%?Sr}2 zjH7r&!$UZDbrkJyLKFw%1XmqeU2__W zhp_m~(gYgk08iuLsErkHk?B)`I{k&qM@8m#1s>Z3+(3E;-%gU|aY@hO2y7@}cee~( zibittj6z?SwvfwqEk&`awyuPoMT8#~Gdch}zwl^B<4#dlRdMI=06sd4;lqu6BGW|p zt4stglyn?T2e-H4Wq1yD_Fm(%+jk-`c^Zw!C*wTmg||38wT!hE}e;o_Hu5(YO& zThpMc2>P~zgtpH^c-4UMK9dQZMVSqSUW3`$-9*NTPO%~Pwrfxvfz6IA->b!v1k z5t!4a{*gxHnujsesOwPdpcG|j@7GcK`M3jz1$DlGprN<}=QcLcjK85s7AB5nz@1** zK(DYE_iWt8i>P8|BsPc*#4u{y9E}R0>0IIPO(ZjDCI>kbX-hG;QQ#*RYiQpju26Cd zZ;yn99Q0lq>A|#pg*MAMGygV5N8alg=p?M&$$s6b#~n-;oQ^V3lalT#?CAL&wB+Z< zMW(56wp;|ZbnY(ldGsP_RVvyDuW&@BQsGS|_Y}A|y%HmWEjL9bOYprf0taey0^RqC zdnmWrPZ;e*`uAbV{Urm~t$rW9U;Eb_xXPkJunjP>1|N6?JV2=9?Bqx56YYcSYl zM*2QhbQIp;5y{j3J;xh>+Mv)T_lS}{t&2K~ z3P!k8ovlK46B%O)><#}`s-0rv`)GulmnUkq6yEj_0nYvUVFdR1ITAc!4yQw3pjqh6 z=YU?IA5FtqvG;fjzj=Yw&%)jB3~X8!U)=gK|=Ef z>^GR!zefiAUcghaB8ZGXK*RDi1O0_?INArMCm%2eUhtlQKsxaWb<^`BqL^b({XU~} z+2k7S%=2)W(Y3ueZSpT-w!vrj&uC*k|3$MXj}d_-Uwr%dF9HaSIPKgt+KEgYFr4Z7 z3H0WsjCP|lt>FUyZ3`69Ge)1pVFERcD-826p=j|Lblr}O&K4rN(S^^7Tp;#Vw2-~59093fw1VukPh83>?tUr`d+6n^MCfc`gD5|cSdD2!I^DN?&t z82t?~cEQ0}rZ{6RWbg=x#b1h+&H`V~4V*h(k_D?A2ZscJ5Ph=`+8!wvl-O&zw z=kkJm8gZ=O!4+QpLX|w*7i~x-zt9+M_lR^W;q!jchy@M#jW~v!n`@>FraQmU_wT-d z|2qh)t}-Q;qG~ZVbJr8I>NVGRfMUag!gDIWt8yz9}Tv)ko&HRm@Ft0 zgjQcfqDaO7OwrLB1Z!W++?>>7XJKj-t_j)`OLa>5OruTmz*J<+qH{rxbnE zMtY_ujl(_quv|Awq|M350HyFVM`SXDow#?889Q&FY$lB8ElSL&r6ICC7q{&(alVmK zn>HFMqlM3dMaF_0jS%sUVIosUct3-KvUxE^G}{plJii$s%`0Y!v<24jBdoxvr39{{+cG(-_%){BA(Fj-T1YIy!hEvv=7$+(mjCV<;8PZ*P zn$tn%D5FlepU+$wN5$qy@(or3 zAuG^HmdZ?F`BM?-(?Ltr{1+SxRg3k=^;3+tYS7&Jvql1Yykkm1G|dV%F&gJat(3XK z-LE|4NbOjC%CttZy5kTiv!!A-Gp55|WM-%ICsP}MFc}B=4D7DXKsY@&h_&QP!#`}0 zT0cy3?UWIeVT&f}Y9a!B+O$QxC^BV?LQtCX(EII>g+lO;JwB)1-zRY-oar7C50L6{d6MH4~d;GSEg?hQrM)%nE0aUpr8; z3#?UhQN{{pof+sNtnJEv1L&%YGExgSX0rd|`^MsgyBx2uTm53C-N37!+}tWxWnG~O z77>|kYd2+z@TngM_Jd+g_!5uRP>rBo3a-#_XskJ(QR~$}CDa?l>GT@PNTJbS2E3^6 zh*&tS`-ajz!gQKi(UzJ@AJVOfOw6?9V23kKgR8zD&aDX@7gt925stZ&o4c}?@I8jB zxhBW?(hc?r=e;}BIwo^E(gS7QIfa9@9?JT{-ufKe%ZPI*8iJ_vn#4)7KBOU+FKL3? zRB?S7bG3oXt~_D%cT*0UhIv>6jP9hv3iG2X)}? zjl9_R=U}WiGViVA;JLRlRTwysf$l=-81@@Y_a??u_P9kTUD5(Z&=y$`yz9{zZ>X=9WY#5#ch^ss&p-9YatC@UV@Oaw?TNjEeb-HG9TSU2(q$IJ09b?9_YHff?=Y-nA7bY zU{kOdwU{pu~ne(+D#4p<3Y?B3&1aBsIs;h9vef*H5q`lNc~?(esDFwz?Q) zxNufaWX$MF4BCc&4GGiMJHdt;$0BGiFHXC}CK%J&SoSi-aRFxjcPu&!3mghyATTAt zjV8q*z==djfQNBt`p;@hn3nN~eR(Qp4mM1%pt5*`%EP{#B&8=!Pr!?1QC5O2sa%OP zN;|$)9*xN6T9*u?j+RO z&h2FEO)#gkNk{?~DO8qSlhM>< zKM?d|9W;cHPaTsDnSF3T_y7MW*z6R{bO`N%BauMy#` zouZZl|NIr6i3k($5hxR5zYu)k$yC;1Zff8+S&!UWqv71!nP^D~CP{FC&(2q$GEI`U zmD~EFmId3og=;^Xz~Xo>6-2NFFr4e zjBX1Ib1GzFOJ58kl8X>#SsFO6;d{M^}wXb2ZYxzb#YhBW%qjv(6Z)`*h-wZR(6S=zOf7vIHK>PqyQR z)4Ra%@!p)C-vx^m+xu}~)DFtC4{E1uBK2 z$;s7d(AZ>qKGPZA4e?wa^G9UQhc%_sG=lD*z-=eyVS+nsGR@3W<_W!Ub}LUAMJ2Nl zVSINC{fwzF4{IN>MaeZ7fjvjvVf@By9yp^US&xhtpgpLrD2wa?S&apv4BHc@<5S35 zMqgjf>3@4D8we@5P^_nNfN*6!T=>HLKRq!lamUfKUg!-E?_ipNRNf1Z_or_Rc#vyv zymD{;h_8UmKfwi%< zqaPYb%UH&E(7S$U>WAYw$mkF79^U7eq_n>>QMg>2gMaJS#z_n|gNz)2i2FC<^q>KF zo8Td%5DPH|9p6BRjhC>q?B3JG(YF$2#@ zn35~Cjkrtkw!;w3>WdQD`RkBv9)`U1xh&G~J2xCm;d{<({ZiYC4CC?Sj318h0iRjT zxRFWMI@sYf9NpdguM(#0H!PNApxJcyuOmI*Gt>)j*p|tzJm8E1WsK~s&wnUg`c&tqLu2Qh2+GCW_vO{C5C_P#|24NL_GDX&Ia}|Og z_#Jg>@I^C&aZvTyE)}*LhXnN5Bc+PV>Ns)z=O;8O>Bk|dTK1VbxH)OOvYS=_xsAuV z<ipXzFxC^tK^&n2D)`PqP$r`aB)!&`uYbntbdv zb_R^C%H(u;%M={BnSp1{qXlEa$fPfPpsE}Yw=9HW^H!W*Rj6#BwU+u7DibJhCZc+v zWP;AZg<-UG7Q%g>iP#2?;9&K*6bnA|_L`g`efLCbIf(Z6-|RPp(&mC}j7_C1Oa>|S==6ycJu1(` zG^~6sGLVRa*HW22ITxXyDmkP{n^G3xB{=`QMsiCrV-^FyEJE*C=aR_4S0vm^Ou;K%MUFhv!UH6P5A z&mxm1tgcQSR$$n=X};2u0v2GI7Dub9m~5j|BYqFs@dYqH!%~#NH-is*{W(*-RB1w+2O**NO7Pr_A0VM)m!dg$9U(GJ1;YJH zELK%0w`EwK_%vQ*jLCIcsx}oagPq{1oKByW>Or?H@y;__j&xK`SJTT;?Xj~N2&I$D zkLHmgxs(d#%fY&D+C@ueKRS&cFCM_hfoMyV7kv43-ovM&8zgVNfJt($8w z8OmRaW$-gQxccq2=(Vct=AgwoWt!GDa$AQvhwI5yr=nxX$FQk*+3J=e<8KdfHJ6jA z$yB%+kBZM}jqJtZq9s-sP*5ci2Lab3++XJz9YO(DQL-a{V>B?G(M#_z+Kmo8OvM+F z^(gRpm5gzvk`35xp11+yqLcSTril>#NCXz-xe;Fz&iuof!i^YE4SA;mMZ1;NY2oKo zJ-&owz6ntsdoPOSn$|U?xf?M69Ks|OA2cODzouIAFR$;I*!*9q*oiW~r|MD+b4}81 zGsJ^GYl@F;MnCoj_c9~8uB57OU`r{GD52rOyJ zcC^iBku+)tLK!F2)uC70F+H3U4{4Y>^F>@b|Q#FG7pkeudXo} z9Khoilctf9Ms-95cx7mXD*U>Wr6g6PwfTYWw!1)&uFvTuyOfDqH)zXF6xy%Gbscyf z!gfPtL^@N!wQRc){fm|ym}J$3)7af8OJn$EW8&aF=W8 zNf5r~bCA9l#o;}WgPUWKlgRc8OVvlLTYC}Z`oR*>)e&{ADRv*CI#3|eY8P{*`=H$& zJrIlZ={~e?+d>W+?#C>s75W_}`Mn?S*Y*3+jZ7esNe~q18kjie0Fr)YGY2jQ@lHH_ z07=J9PAV~&+QO<`9E>@LiSE}jGCPcMk?RT6+pmL2+KeNdX;Fqq)*k2JdwW_3d%^!=C1ZCT38}+YdU2b^pCffnVfHpSgb_}Z%7{rlIg!`L--aHXLQForCB&4x zPiMEM^{3E(%}wyvqE#=^%8#8!g5C|~Qidb_U6=;|)QsUANjrm$By72gahyMcIIyEA z5{=Jhw-;KBV??Y_hSEKYy8qxTEOz*d6TZ{^@k+@fM3Qt4k@TF#;Z5hDGGRI=49=t9 zPM^hzx%2%^==&(F0?j;+0JHHNA5*%0jXyRMn9rVf4F0)-!LV~J(jZ=72`mP@e+Pr> zQRM|JqOT}M$(%>6kdPny{8e*?)ILQ9}Td54``WRPGQc57`eN_ezE%V3DUJ2qTye@+sFTv!_c$bfv zENYy}km=$L1U6=_A?Ra#QKXm9 z#<-$m9voPYd~f4JJ+TaP@x^WB(48{O_Hx?SKy5W^?^aQztpjz*?I03_hkS5t2lJr?{7beFq`ZFln;+>jo$33L)q6BIID>y~m}Li<2xk=N-Sc(dBn z@C<0iJw)-uO9kD#hxLKFT~t*5eWWbpezuop>uxoWujXGtDr#PIAoivnU_m7_yaqDl zE<5P~A{*65#9PwF@946>GiXYG5$ejl=cGRbl%FUE16+eRkkD=V^bcBt^*Jc+GOJ6^!*7`(;&0-uDb$JnnU^?r%&N3)0%4yS|a(fyaKW#LRaV*|0H zZWU;*9nQ#*VHc4uA9ix*W(Cq5dsX7uQnOcxX7Npq6x^OXf%=^oa&lQ63aTI6n7%s%>yTY3qOhnREI;do z73MeiGWV_@?8tX&dQ?H{m8Lb}q1BL^afq?3yVS6LRAFwk-cJOmC@2`-0;>`G1`HAq zJ40+qxeY55dT$X@Bb>u^ql4}FEZ|n}V0n30^k4!`v}$0m7U}m1HlQt`7^rIXQK4N+%0x6$hR#SKpkwjva1l#fM;`=8gV$mXr zXTgrPx(a?PnN5z=e;tZ^J42RWZmU9!Nar)gITzPUh#}Rkk2%oH&rlY#O@tRd@Tf&C zzF=;T)5O+P%~-TujpZYh@2Ua59zexw@)Q;C@B_7EU%Xu-^!h=tLGD+W^Uoa-q@$05 zvD3&9TrOk=E_B4H>m6S)U>$-%f($UByq73)yd#3Q*1y4;?yuGOSgiVn!di>3IZJ2w zFVyJMUxO_d$6?TB{T%_?;7hJzwWbzt0N>UKkyo(S-y{K?XA?q<_@0B+4+IXVO*;jJ zsMm2ZbG$Q+p;r1Fy<`z$M|XdqYV0xMh|kaLVBvtNNQh}FbqUeNa~~L)3OL>eRW+#N zFH9<`Z2oVwHrYENRL(Etk7nKf;Ww)nqDP;{|7pBfQ(-G?ho3%~QfnmJRWNIy25OP^ zvf-ACiy?lkvB;sS<{|a@m5&Y@fIGI3VBD*Ei{mEC8GN=Chi_;oJcak27}1>U{X+cc zffllHu>hIYT^O7#U`Zao-Dq`Sh^n+^!9I;JDq!f`un;YNVxmD0wY+Z^%C#o+2&qdB z-SDAR)PmOjVG?XXD|`M{`JVBdVwnCe#28NjP=F&S= zEz-1sl2kLQvR61zKP?2_o+N|6riWOwWa5fxiUju)*24WBi(u|VR1@(Dy<6G{x@n{Y z+t8=GxMLEi1Gtq^2ID{*9*-X_A&%U?(bmaowjCWO2^dr5WW>@h5B>8JU8p+)KYpsn zMV<~->nh+maI!kAP4RjPccIrb2{xopUg&SrmZ(KFZUId)P~bVQB_Z}apZx0}mH_x! zHb6noucK%qJY2^JJjk~dwa)bon>ppHDN%0Z0vq!~#Mge{)QIOgvcRB3Lh7;YBxAZ|giuwb5)A8);>3!lG2j>Pc+QM5R&*26@HCjI!j)bd zD*}Zvni8Q$X(q_U!PvGnRkWlM6GXGwk`ZabVjK4Bj$`DIINprbm_g!At59uPSr7e` zwHYEg;l|+hlxBu(bZfcFa%4U#>5 zhy>$I-iA;u8fF8_yhd}l&;~(w{zaE<6)xmptMCzYrZB>T@_MoYXWe}HT(wv$r!#>R zA$K+pm0+jntuc{GZBca}*eN;-qjNZ8d2Xl;bzF$nl2sR$7%!Ay6Z+5;^}me4ShEo$ zx3yQ`w)GNj)+l>atMKKV7`7&~KK-zV)l2cD8A~G&3!WIUMy731GjQBGCgn&=wjkUM z2ZW2-!jX)EP&0b2fxgnu5m9g0N+$J@?lU`4VB%Z8n;9I1eP;$&IKqel+c^>9r06I# z!6r20MOJuU_=d_QL`d9FC|RW=3P1C?W-WY{4_Z--ta8{T!-C z?#?JuZ)B5D@S#RvaYmRqErlW~Vyq5d)mXTJ$3k^!3Ra6>63d2F1XoQ5^RR_$G$6xD z7qMyKwH6dHjKC>wH$@ZjY^J~y$yWb=so17r*pO+aXrsBu=Km?>(BCQKdHrOcMl_$@*P z*NsI!mA62?K5L1huglo^M%1VKZP9DKB2IX@;k;A9=Vz`u!;6nwIsL#UUFvwcQT>ugD2{Z=ZJ85BM8Njf2K~^UC~-Nh^s`5c%X#z zgYJlWK{iL)`y)eqMss4ZKcapymJ>#kA^Y7QvVA6Uq(=Z`zy8IEos4++w@Nk;#G2`x z$Y8{ZS)3>iRJ79gi#i7)OBx2Dp@rr#Mnf95Hr#-6gP?xTDvlWK3x|)@Amr5bH4=i| zoQ>i76cY@=`Rioxj$jmC;zk)VGarJEAqrQGMl>lHAK}p<$h<0?hh*_VJ8EPIMg)~R zB*dJ;L!sDYmxSn(&jFZGyBl)!WGGrx%RM45_XN;7VK8p=J}#UP23 z?;ZXPSWw4s=w6FcBZwd2v7vZ29LuZU!}VxuIBLhgC)8Nht2ff9xk zMZxC4XPl`1h!Stm19cz|7cm%HM5gvY!gBO1vT zCMLxoHbcxjVlmYzjzK!k&^t|9`bECzsmf24@yjz#d< zAqi8OSVcW*IuKc+F`g5SQz9&A`9K8zFq0w&BNyHb#0*$>E+>XALB;4j2(3SOfrRMM z^%y9>JP67Q;7@EYQfNIGN|WF_Y_K9hFkHc9Zx2SB30Xy1N$8L=*GCvqw!*v3E((U$&VO5y>ce?R-wS?nctY4tL+)2ziHl7Trn)MnTI{uo$AXFT$3chJ*X7 z6qxjIx5SGRGH|CV1H;k!sfw<`<&&KFbS}b-FAn6EsHxp_mJ3`gL9Q4MfvpJ_I5Kbu zY=mPnQCUv9LYI8f6ozzr2)f_xH`U=VA-!B3F`$w(R402(0+=xfuSX#j5qPPXU91UC zht)ag7gW5CLUko4KBglxoIf&Ru+RWkuQC*E=t73VM`Io4v5K~IO(W8l`VNJm&(Lr) zux4>+C?Z;m)}}y2XX{47AMG%(+t_nt;xH^B%yr~M^)O`0v8J4e&%`J8r>8_{QIjr_ zhBPY|1If3Uu(gN|1zDap&K~SrEJx$zkI^p*}H|6XO|S(MKW- z>Fb}c^w2<#+)s^cLgRMrx5;MkF5ZYYscUW<|@)+5zgy?2X@YY^2)L5_f=GR;nir`}1tXzJZ?*)h ze5|+0Mgj}xN^l*jUIY_Y3`6Z(&UiUkSecCs(j-PC3E6oRIST6>hZJZf_NexZ z2-*_qLV-#|ql3CX3QI5Bln7II3n#)0ko)4f=ui99Y}MJx1d@e~2f5(w!pJ&o&mXJR zM;X$RE}cYB@dT1$G)&reOoHJ;Z!}DJc2YvL$a4(J;o&)s_&!8x+V#d#`jIgRT6JCq z8;!+?to9WdGI1<|-Yb(3XR0+04Z^HkLYlKB5`IB@!#F5B`Ixh+Uq&`0oAEF@w1Odx zD6=}!N?a$Vh2tSu0&jgP82f(X5s&+OjAl5Rc6#8FFlbB0w zyrD$kROv*hcx)~qSZ=kCGA4VwC_}!`8#@WHo`Q2nRd`VVyPC||?it35cNTfMu2H5e zdMhe!5+$#VckBP=yVB~vkh12kTv_I1MO`wQjLd5aUye*Yklun>;BR>o{*J576vXnP z4;Ps?Bua~{MxlF~$Y7mB8GLRE(vm(%LR3dSnx?DS(;6tP&*O|$RS8V&Hew^-q; z+4)8dWJKL_QN+XDC~+yu4$;)679Kro)9ThewP;5!GD;ig4&^*JvfG3YKx0DM7W;5s zbtI&Zb?a$D!MCwxuz>Nd1V}sszH@RovZuVgUksK6>QnzEi0W&Ygcwla5)9!MMoI`? z9bF1jOR$r>RFNgL8q9uuX=qwc)hp9`|5Q_dCY=k+U51kUK8z7Qq`w?04$Y#=d1xZ{ zmMiK|)%>0Y6nqpZ@>ru5K4`fl)m`YfS|V_iX9H4O9*R~qVg(YKo6mVgyL(#Dth3Pc zn8APV;P8&UJ&mbT9+G!#mxQ2cAAl0^b?ox9YVlT{U{V=E#X0utPMIq)hWQsxZJ5c` zYZTg~wFsSO?{c+JY1d@}E6QO>{3=9Q4p%o)xWZM)(SW<^h!#zF3`;t#hIAf$;YiXe zS0i5k$1=od4SKv)&m;sd6t6+IHSVQ^1PSy?B6R8e+nz?G?~Kj+1^*yN{N6}BElR4( zcB21^mM;*l7#q!Mb8|ZLSF{;_(>ZA^+DX885qG14wO9+>I-!Qrp%&{DA)2vxF9ZQa z0c~n?2W|iCIs~k@U4@72iN@3EpE1a|xmPX9mpfDvW7lKCs<(@Z)+_!LcI;ulE$H^4 zXg$it>r%u`eBgRsR@0hPtdhvR9BoOjwn5_7 zM%Xjsq6$BFHQFhc!M!$N@$npKY{Zb~>-A_0I<^Uoyz;V2&SA3x?>}5sQI%!Uj#RK2 z0z0m&Amc4qew}wyMHSwSwx$(@(7XA*nn8!lR1&Z5M;l>t4=T==tDwxSiY}V2_f%BE zHcac{pG2F(JXg)u4{G4fn%5txsGHjq-kSDLRaEFJ=oAzA>NT=?biP7Q^T#t4)2%Yv zmgmuveB{85mnvMVI@(6efw=8}h1V+BaR(}Rhj-C+sBk;tH>j$?+iO<5RZ*osqYY^3 z4lM3fzL!I;U!$?AQh#k=tRsum;!Pao_?(-~P?LNJisjZk4a92svI<0vLH%@}b6?ZM}5 zoE~T88^_qO@-(Ksd(b|f>N9whu-1_MwxjFjF%~>u4_d~^d(L7^9+|)oODqURTtxVT z)-m$qJjGPX_}{H#Y`FgA`=GzroCRx3ulFGdyDS;eh6e0My&r7NiQD@z$v9=piIM}@ zn)v1f8^kI;{s2@gvX^*Wg{_X9D0hj$BfKmbBMw4lp)+Y5LNuoiA{YABXT%s`9$ry6 zgdzIgL)d`YjpIg)a662d*sa_{*bS`X9%IIJoIMO3R?WDC-4RTx!kSa!5yd!RTnqLa zLd}k1oa5J)6SF;I#JkaOq2j@iU@FPSv5kOZ(2~`OAzrll7(U(OeYmxTg-GL(&YXDd zkK}om!1Qf}2oUAR;qQeQ3wP_ziP1$cIU#@(IbkR=F+XgNBY|aeQgKLpd_E z2g>H#aa0YjaE_!$$2jnyGfp6=b`*!pPGCl9+LIGKPlEU_niIb9F_^sdi(yR>uW6k` zAmd&Vi}xR+{$*D5kx(s4NI)$WTjN{Cd)$xn%m&8P6ZH%~1$0+DM^BzYLd_F7;g=j^ z#Y3i?hK%n(4rivuScxI;Gc;f@M_Zgx_zQ;c?Z_&TcSejM4|)C!WY)vgBZFMTtJnXdk)2&1jj;*&^?cu*=0B<{yLA!R15Be z80Y^De^ZON?a9NA25UX_AMTEJslAGP61TwAHaAIW%j5S}&3F}L!RmJN#@omfRc6aC! zLc46_@SIZY@Y$5&BYJ$Zgaiq@wsOMYGRk5N1`{mnW?e?&qcMbF#NT^SmqcrtUV*-r zJ2^b&3fghxZcedlj;iHJ`hG63;wYM%SV_KIg~s^@IUINmvCcls zi6h5jcn@814c{o->c5Jt?|2>2Y%Amv`PZ@IJQd>=W+VuBsva1lCDxSzH=s806lWFO zROpcBO+_6#bps`L1&;ezh~Kb}(B-^@bQ9b!a3bN#?^Ih~Q%i(v2^Z*d?RO!azlGQu zlyca%3`NlZzW&OvoYUhL5{khky4W(vyuZfa>B77l>^G2KPds!RoF%t-faZ_T=#0u? z=C5)IF`+r-Xvx<1I8yWiZSoGX$_@i277GI?{uwKE_5k~yJ5V_Pk;H4vVb8mO>phWR zTywn(B~37*l9Z&sh9*%-=sid`d?E3)$?d)ZcgOFc86C!uOBFy9)POu6po1CyL0#B@&ON};Fc{v39${9N<897Tgtt&0Vv=_Tety)@ zA5O6ixruKc!o&e}86Um^9-;cWI&fn3BQ%r%UqK$}af+BB5ziF*bZttk z8F@rQ*@mZ3b^@NYC0^C^Sbh5S6s36!F0@r}Pho1VM8Ma;idfZK_nzxxJKvUM^l18POqupRXNWUB_}E7qE}IoCG*4Fb5f3nwR>ta*XC+2X>7Qgs z&i6hRR9S*G#|}bY`4~U=JD0kDIZKZ+g}(LJ5lvUk(LdE;OIr2@a|;n~ z!rs2n*O2t9V9qpC8NAK9uMJJCLLw$usKci8yb3GmtE|;w6ZW2-C8bv*%kJ3Ac#dv; zb?HzwmM&uItHXMvtioPUr?&`_7Rf*M{n_75Vf)UtstSLFTzKUH~2V4>PwJ z46$m(k;->ihnv@d6DjXOT=e3^qOWKuU*AJ^qYp>oKY(rAg%QgH|L*KJiY9zibQf&! z%rPTuKB4rcM{wds4Du!7JG#ERpP;2*EQ9^Y_dghW9&Z$XKyg>6_jP7gwG=KTam4tu zB1%XaB4cm)jJEtaUB&)_lMU09jA%d`$M?k%lrLE6Xgsm6yq$C$O~=0|h6;nnP|L3h zr3Mb%eqkNJcWj?@`Ws~~2CDxJX5o}HMEvR3+`gDue^Z1AN3b=kLYgxBU4{HP4C&5H zHx=(U-1?4?xp<%R0}92rpsyAcZ0(CjgV-9kZGoC8&G1O4N=kf~&Y0*20)N^n!Dh6o z3?s%53?7j$!CKV(Cpwn3J7vh+-F#%;v-7a#WBiGLjRv?AZ|Pw&~YuL13mbKMWkjL z%638<6B#mFL+K^_G?O9kG?X4frG*UXDJZ>#CDt`K|eSw zu0-DUY1B_%%<0aOlrGI{)K80!oI+*LtEI$uE>gw|t)*-)m}GIJsiL1L9o5gq`!P&# z{%{e_t*!JG_A9waLTzNg-pP!pPtkcJtf;IuMC0KJoFNmm(6Hvr?x#cUT1r=8)eH&t z6m)} z3#8Mge!9%T5nqOX%lMA#Bz{++%|=cv(N)5;`BqN++=)yZr-$Hm^$=jlP7e3gQ-%n; z_Hp8Zp0cYj=OCHXQAV*7 zBMDKh#T+n1T%+AMyr^}Y4Ifz983A6Vz_K(Wlu8l&Y_nKzd*Lbi{+CdD%9vmw z{A)9~%s0-6yLH~$IZj@wj(T!|$}Vx*bgy%q9*r}Gx~pCi3`gMX!Mf+hP^aN7!FYb% zMCm6Sgu8AQff)XFcf=yD`^cWHugNhK zhk+&Xuk<)a;w@2+UKMjf|4N+d6)TT&HM@eaoXB*imBU|EM=OMXf0H3@RQFz-DSxpm z=CN9k6f7)SDF+HC?z7)kRQ(k7PuzRReXl0Csgl-ME3<{A)m$*x2DLW+Jx#JvrV9?A z7}%1WY>~Bf+fbqdtmxD+-kRpw!iqvKhBTw+wn{il_vXY7J7hqp9kdj8mXP*>Kkgqf z*_QRN-tt&aNJSy|lwh^o^E|V2_Ara8rtNL?V06 z<;0jp@%sD=c7w@GTFT-3&Pp9BSQW2BZcfMmlNB=9_aDGb8e_$|e0{up{il-NIx5?e z{RZS4)?ZzPs()m`95%<>^OvrcI3uQpn-V?eFEr^o^p_{!&YBBM zsE_OuUphQj4@zupWU!xOe>-YkAMxtdmEaD-$rhZrUmstXfcBh7?bP3#SKOoq(9_C` z!y6mm`}WwE6SZ9MA?w|p6Qe`=BfZQ!)npe0C<^9qWo&;vDse#*{WDC40S$5iAALZa(wgiwo?aJX?} zw5Tl`8PS54G)9qT?Pf%~+$La{>|_5Y39ApW-$qp01WkAE5k|PsN>`;8&K09&4=9q5 zj>6EBocQI6&-K}VIWg~C|2j0Rsj{sQcvgnoXo?#A=^RI_N_pP!v;|*RE4jE!TxdLC z8p~X*>}rN&?7^W7H?+84&0zUexVd#xjui6mu-`Ux#|>Z)9G+rCm*&VG3%KZUL#yia zqra-_INcmtmcTK+JG7X!KnZ-*=7f?F!}K_Dml3VusNP+fC|rV{7k5_8EE7z)tFc4w zN?VQgWbCfQNiNF-U0ULkZArE*q5D*GNm!Sv+9Vk8&*LPK}7(Y6SO67l`9ZjlM{+8qnu*GxbenP5oOtx#>AMbPoKN{8Io1Pcmp z4M2OqZvf6eQWEqj^e<%PzpbI(Y~XK}Hh=iVt_{#07~pUXa6#Ti87{oYRs;0O*egwo z=5TDA`ntnPpa zird4MGkYW+Hh4VH5nkFWA^yU5jBmtPSsdp)(Asw$lp&W26U@1?kPc9`_^^yOqXU{p z+tV_nvIBa810^z~dqEx#zS^XMSLCX_OXYMlzX-Eftq05+ArItM_ zUP=P+Ls6B0!@YTss_=wa=?0YOrEE+&W{IkMp543vCmJ$%n1Jamew)w)yF?SR_d(9o z?F4o!7al616Z=AA>y)V|?t~Fmm@g+0>$8mWIv`P8GjbJjyK&@DFc9c-6(aGW z@j{Q0>4U^2!b7$nh;u&p@D0ykM0@hJ7!22vA&5K37ja{uM}%AC3{ZV}4>7njpTh>7 zF{=B!Kq8Fj%)UgG;I7UP+;vRi8IoBS#OioSh9q21RJq67+y&A(rHtoCr8g4sgwF_k zD4n|k?uO%=3_iUNIfXjyDonve4~G2e3XT843z(mBoG=(CFa4D5XuR(LEpiG%62AK( z^e>!t4n{J4x+&p#$d(asa^gF{h;rr((BWwW;VqI!Z9!>SAgS zcZc+m2nmKJ-+@Nt$CIvv53C?_5SE2E487$f(x*gmS1odBVhBsL0 zK|h0F&%FJN7$)dkX20#J3~>pgpK>Dq74k(4m>7b9Sfhaq>Pr~TjQ_40u0n8y46dmf z-9i!Mkv1iUDu)X=ABo@2WEBSWIwp+pB44Y4DmRdWYzE3Z$!s%8pcegLL89y#;>lB( z8IFYa?#Pjv#C-}!gg-HU3&q!CLL_p$dDns36ds2{ii-em4h|DYy!;4^egD8XNrf1Y zVxsZrCBab4YN1$o zu3yyxd*NoYDtdj&_&Tr-4UI;IUi&12FGVXoHS_cb(dF+0+mm06(p~eKJ*fJFx^tZu zW0ba}tYjFRAHc8?QfV!t~A@7ArwQ0*ZG@SBAL3>ow*wMF~i^ zOLrO4I1z~-+h0Q33-2+ikOF*9L^d?eW;WnulLffLT2pUl4nTy3N*PbAw^aiW>+IPQ zY|ATZ`anqE!GSPQ(?DgYFnf)P*a)>^YYiL(85^9!6lFFJ##a0wQW*4G<_nj z9@-6tpynkRJY+Bob-c`x)lHMMDZ&87P-E>^7Gyt8b1_Xd0yRx->8HW+Dzmlve?`SF zN@)^`uAz1kFVf$79C+jCm5lNpuUo@3q#Z^{VtE_WamF;&morm>F}-(B0Y1*91~;es z!RWe(;V(PX;D%)D`@3dor-JF^rDDeA0PmfuY^k~5TMoVSOEREKsjxV(XAN#e9fqLw z{TCyLwhlr4qhWHWLphpShcragab^vUK{RtCm%SiK-bkmWeDKEts(S1Xbc^=QLzjM`rJ<%HgVWE)zYjnZ#9 z0s-F+Am@>o`-~rfd|RK)iHZ>zrXR^*M55q3gEX=skufjXi9gW#bR+`i%w%w~aA^+v zb?3$xWP@{X9gpcvHii{LH&9CjmNet@IXHHAvIUR+jsmhxc5~QP3EApHjBuv$N@Toc zAtT^d`BbtwpB}tYB7pvR4m*}YPyPfXqw6TZ;UyAmNSW7?RYSuyjMw>*#53SioBtR* zxthV2G`Dt&F0K58SXTOA70vpKTKT!Ymq~T|lC0XU-#r={c7Bxc-i(IPeLl+&pD~!- z{{2-#Oet>+N_*FL8S;4y(mnQ9t-t{jAY1NixdND zF%FgKrI`%Yw@tC;%QaiZK?yboYLrxtgGG}aI8rqp!Wh&D_>%C`3uiQI|!e{3vgtcpt!9RVU^6H??2 z1Lr=(kf8|>I6M)tDC0R|I0@kk6Bv=no+ZF1V>zv`)?8q9Xyi5zbCOc#FWiL zul`FJC^(JcM8XuM9?omCjAG9GJ4{BhJa{gPX5CXTb-;Ok)AjOh=mxKM4u@Ay+DuW}YVhQ{9 z0Ztefrr_~xCi8hJWKxeyFpd^4#RkBrX@H~7%ix?+6p9$+#&xy)d~u0Otz3r2IBhzn z;`48C#Nh_Y_|lyeGagQR26SG3AmbG*SGv+X2ETZ!f?uaNb7^I@S}Zdwm_P?AtWLq* z(-pA1;Wsq_kB>Zy`hJ6*_hzD4*ZwCVrj(Y0jO{%OQB4r&;e2HN@>!_Z)9e`0l(svk zYSXV-2zA7sBf4H`sMTR@97NO*&vT2q z=OE_`@%lC+Mt4osqv{T+V#RP3dUTTDMwCAn@e5rg#Dv7^&~zS@Mf8xt!CO*PoxWdR zHQQpMxzxD6ute-@U-nlM_|}^X^v*$-?uTc+nN4ZQsTOoM2a%WHjc$f~%u2Q7OFez& zBl1&lJ;vbI<5JDZ<1zaF?vvEi_QKJE`B=JbhC>5PP_Y1?Jddf2fJ4~Xsao`40o3c` z$!wPO%{L~i1v;J%`LM4>Rc=PU~91NzQGDYRGWWJE`5Dt&@ zNEv;G3H$}mV=Beyyxu~w*bKc1yeqFcZz3ss2u4*BVJT~nqkpR9+U(CVDYVb}v}*}8 z{qsWx*R<3QOTlZRMUg8}lQRkF15a$Oodi>(|AlLsYxiXcw-$F$q;P1dfkL323{h*T zuEGkJ|K*{j`U!h*wM0_lAhpziD-gk;781`zYNW1$eMb(vFIJk8c^-2#x+of`W z@HJ5MV>P}C7jR3384AQtXfjkHaN>3iR_YF9$&h=BAr>^$4>d02AJ|(lLdG*51FJ;d zo^fhXp2o!%RRnsJ;)gM&!CD0VIF`f4lZW7Z;!Z5H4PkKhcm_LA&XghWlC~BN>CG&L zSks%eXbtt}Gr}@=J=&2E4N)>uB7c!)#OYjidv31Z>JNGx*T^P9Z_y4*y zeidTMSPzMjxM#`3>B1ZN5Iy>qj|OyQJ2EYqX+H^y>0a=v!Q{}ouV1G%E@sScZx7h5;CEI^Q|02wd50Me1z zzGAVgF2H1CXQ)KrJ?Nbn8>V6isA8MaoVYZs^0U^sd?%Dy;0;{H^WB97oC+rW2m?J8 z5-Nlxb0Q%l&5H82!h{RE5UTMc4*%SR&t?&v9k2i(@Jj4%WQN@ohFDSanQ3+C$Zj-} zkf{u@Bh5YN9p=trL~lWB4*PW=r-f<86t)qeZ|{L}TZ{{tKBogpb8_0N^wa1?zD%76 zgh|o;CR( z0-r0E@hUE(l8HM87a4EN6^Um^28WQ6{ZBaZt2)h;rOlGY9fDwG1&4PWLP|{Da^k@e zr4iX4MvEVU@gFk~h%puZNYkM)49>$KP!3~b%MQKh$X{y4Py3=Sg`2p)P;Ko3k%Fir zi2U+5Nx+ z-sB?jdJBIymIxDmfylZDGEQA2Sf9KD()H=$el(Kem~?qxaTo7Mvv@@VcNC$UT^ub# zjE=*SN4Pu9WD<@mqXnl_iLJ+c-n$D^@YbJ7g&wV*oR0SZ%+cWnoPZHKC#dsuX!Z$Y zLJ_=$%7f_8^Al)C<$tNe@EkH7*$Fpq#b%-?{$KQa2}>DlO?6MP=`@y2#D2Qsw3=bxi?|wxGbkMKl&{Mfgv`O#_8H{# znNr4fp`&NegEzj%2x}U47DKBBXA!T#BMAu--anBDYjS*rOcT4GcGYST22@biIW|Z- zhc&9dD;W_X)cM4MTG48wj9PT>oU()Fia#2xtfAFzgu4xX8BVP7ThSpvLW(O@U%(taH*se~Kfw}*X)a*)p}dH7 z{vIBxXfnMs3~9~?G@_Rm5&dy55pRKWPl!zP0~JyN{F=9jx1&`hSYUkbtCDi`htw!t zv|iIokTUO@K_-D2ZTLmp!66y)RYOI0F%Vwjxr9crCX^mt!VvWuPR*1m&B(13S^Np! zcuSStG>Z~5>1c9hL%LLoPe=Ap`c{fT+$W;I%gP|l%9WW^u`aVNcaeAEGP1~M9o@UE z4AH#0Ba=$^X1Z|JfGeUZ(ump@F63@gzb;$?G0sykobiC zy3w4Q$gMw~bD~LQrXdwxL#dhELh=n?G8k2|I@6N++`@=xPKAUtr!8d=e8L19zLsE1 z3V)Yr%dh&!mVt)@Rlk)O(fRk8CM=w*u&7D~e=oy$>hpV!MBG+J3Nt^-*xSBk8quxW z2vzq#8SMQ7Ip|Z4?05f`Np2chUX(u>3w#I4Q9irB!-0xvmN~sF$D;J^pCV;J9qwS* zw;C7ZUSk`w${X-kfLYM%v9^Uu)MHh0L9SB1l^ zRY4wLB`@ecf~@tBAxFHk>hL?w$-ZjgMs<{=bm`4~Bzd8igme`QaoLR7@7N9blm7ro zuj(Qqxq(^wlz$#|Qtu%W^wIA(3Rl;`IO7gk9J6JtB-}WI3Ix!iabZ~&WON4RzX(?| z<7;4zP~}4$H@Xol10oSB{t+TC2(3Y(%YZ(-&cYShN9c@jJL@67coBoMYSDyfpc7xh zg8GkPK@KjZy+$Y8>oJBYLwj>#|6{DSYT!~C<5&*JvZA7^NKMBl2;kG7!^56nFk6aS zWlZMc69l-1i(-su@)XrDDUA~oo`PdDloQQIWLa}n%d^#zn4if7Jf7i5K)n&1SpE#{ ze1A44E{y$ch5d6_;XjJQ{U#taqH#(FkDegHxi4^TE%-jlrkJ5+lYgU~gxJ4-|BvnD z7ijKHrquw48L(u!2$11Re8Y#%;l$vV_|P6(z==~YVdaWkPBgB-DC6)lPE4#oB{_nl zoh%=&S0L%_R&gSDJ?ccKS1705IPA&TXE&gX<}qX*?w2v-+A9p#oi}iz-L@TScrmwjbLNK$3j8E zR**g-`8tA?MZ@ZDFYb<4P=yV0sND zGS-NW0b?z#fCfi>nsq8}Gp4-G2zFW;=|b$mD2c*jT$N+uawRfE^N_kf)2q3Ewngwn z$$tHUIQf4x9de|{={!>VBOyId*-zO&HBk52<(dOa_N%$&HcB))s~_Dx!Elk7<*72q z5sD692HdzcVrg0cqy=p5EInH?Qlt2AgZ#y{Iwwbd9T=T6G9)DA-W*BsRE|{ksPsE? zQ_@x!L`BeR^iU+*Si4-AjHxx|gFg_iFB)w&i(GnPYQ~+4J{~9~|`yciz|} zy~A*~h2Ql}@;jFdes#}R>~&=QQo}S&qfO)vR{;Y|l1B{Y!Jccm33CzS}KQ*`3+XK+b5DqQlEeat3jk#tYURJ-vMD+yP4z z+%2C!cl0!Rp6}>+Wl4zB+?-{Ro;SM(FT1G9HGgJaYx{ZysfK4qOacs2dOfGfui zmlc)xOy*i0JN9I5u3X-R5ocnxdNxceNK@K3?vi6dU3zHhbIVKnPrX}Xd-S4dPEBlt zb}Xzj_RLo(}o5;@_!MWz=u!V<;x^r|6#!Gao1`n}SVXI7rwHy}vkVC}9sD^srbPkvQc7qzp< zM#FSL&Jn9`+Es@Q7siP{cP(wb?W$89CbRA8N#N4JU<+*Br|_?OTej~w0L*8^=i!S>F$nd z1r@V+lU?%-^t1!w+XrSj4&F9$+OTzDT0;)Ee*Lz1k=L`K;yD+CWd7XB{Vi@M-aSq{ z=TeKQ?yT9{T(aK0%vlH4jcoK@G=UtYdb>)MG27mL5tyxp42d*0Y{{Y!4R?jy%jJk!@hcV3KpJ#ewYhuix$ zq_yUMzct?0c|)=OjryH;0$rb&+`0PhTVnX?E1x5!uf$`6-n+HT>1I}a*X}e;_3+!X ztq&gdxMA5gp~-%&RK^{v4@-55;;)M4T;8*aV5?3UhTiSCgR}edoJ-a z!&An$RCrwG4I3>o^~|H$>kiL;S|v5}%?FoHKinoYdr=d#29Yb5-Nl?k{r68}#1~4ET0B%q(z~ zMgJM*R`&M|q88roiW-(9yZA`U1-YD@Q|VeszuUaWD@b12nL1~D!W@0Qu&QqP$Cf$Y zu6B%_`E759TAFSDxwTF&Un`U!{vmz5X87*LzXK-N`gR`KIrBh{_@I4Lpg#K2w$fA6 zR;@U)Gt0{(F8fJDos;jqlM46C2faGd=CW+kvc@Sd{;S$_WSN_0=hTLfLm4^I!(!wm zH@)oCJYe`?=9HkR<9v(jBm<02?(e_H^>NuGWA5dxx?GdlYV`-y@^mU5NI8Bwu5?LL z-=w1F#Ek5fl~%8YdOwuVob;uZT{* zp<(}=@zQfuU#k7hsqMVe8P7}|JjmO1P2Q~8D;Z-mO=+W=8AoF;hE_Zr<&r-&HY5IN z(c0LMvL_Q}+P$y%2-Im;R-3w>o5G~&)qbx^LfpDGyJt=y626>>m0tj=8Fb< z*1X6M_I!EmH_q^gZolyHQV_3@xOC3_;?%Jh<0fTUcrRX_^~xz&KkmZ}&h{%)n&xb= z`>DJ8$6T$doCS7{gN@rPKK@Y7xBJ;6mhwv`-@IsULG7a(-KtfSmZh|AR;~(P_W7G_ zepk`qb@k;;R z4GZbgD;{+gqkWtvWVbgTf3o#``@Jvw_j=#Xw7ox4Ylw60p5pR%jbR54m3%UJko;iR z^M%P}G2;%+8m2aW+>45Iy)}nC54`#P`DxnO=9UKkLvxEyn@;&8vtlbVEzoM-r5(i% z&VCwFBi(&|K1w(f?<~D1@lI&YyRBDl4C;CEsIh7;-SLnMe#2C{wtd^AbfhujL;1M3uRYxs%D#C@#wjCYvjS9xrMpbmO0Nd z5*)HO@1Mh~A6&fcepq*U;u;8#yd_O9`HC~Imaouj^K z`FS5R5C7Znd8$IA>)AWs z$BVRVD;}CZ@3HUgSvTKFul7%PB)Rr!;<4tNvvX#Ra#b3=h9}!JUq*kp`y6T0hZm$e z+!Z@yhB^Kmwcotdbk31ltAMhQusM3;CWdXyP`$pSK;`s__QK+NwGUVKY8YRWh#z6O z`g4`xb62^u|4CdLad1`h8S|}1TN_8EPrH5RqguO@W5?ZhnVmsNkTf#Ua_u&)#*(P7 zCijm&*gGvaXXfe+p<|fvLAe^|!@HcdW@h|}bDREkw(i2AZjYwqYo9x_SL%_BR61Nxq4KCUQ#v`XXN-lTM4eq*isPT$oZ9ld4LuV+-5kN|8ulqH@X)CB zCe{`+)1N4A_DV3>_+nUk-nJn@&NkA23wsQHjk|iYo2PZMZFbHRzc1y^cdYMT&s4uQ z^_Swc1ID92W`!(Uczlh@xlg*IWH!2FB(Gn;&{DQ;4<|SM%p}xO*?knW`6qIkGZD?*iO?ao5s`1mxzeyZ{4o&WzVBF+idx@ z!8smkNn`Umo-JCYUu`3^@8#Mn8uAamZ%9}jH(|5WlAinbv^;M<89M#^v%q~@Y9UVH zV4Y=IWq!2k%^l;)e;psuKc}qikgDaRe!QH~H{X_S7(aY>m}Zyzqr@I@^9PHHZ;MuZ z>^S=D-DsZp?hr#yPxGYCxOSIOTMpR#*&G)wvg~zg)9d@5m01?k3d5R@8Z0gp;my2r zd}#RS%U80}MbnyB$}Ws_7H@gfdf>+5FYDCun0wz272AKB^p$rZ{#90Oajjw`B*y3O zxuJDF$4c#}Xp&a{p+^c2-W&ViacpHq=-7AP&%{m^nXqxq-qk~mwTk-5KmrNtW-n$$v5-YHtH*8MKzF|kIn(q!tbaISxvXbr! zXsCR+s(RkjEJlAudt%c0oh7Gt`zeD8bM4{HeeM%(>%7hRbv*4MPuBGHjHmZow;pqg zw7$1-(zUIX+BzNgL+?M5*W38i_x9&24TE3m?7QRSs53BJtpWSgfVd1$EFQ4T) ze(CUyT>LC%mupaoO?Hl~wRwhlw!QPcKmYBlTpXsOH`5{Q-VmGid!j)b4*WX)|Wk^{4`hj`v{+LrAsb_=>2@YYS*?i)5m_l+9n1r=FKFyliTH`~0RKrl+>OI*@(h^??N?v(3sr8~V&VKXAgZGI(<1x|IK(PEMe4 zg`dUR0j^>pCLM#tx_r95mTwN6{>1O!Ze=rPu zXS_S_!<>N~ysu5ckLK)uztVqr>s_DR9RDf(rQ~*QHed98DKj~?qhDaSuHDXc&t>Jv1FLTy-AA0+`s(r`T6Rp|Ge(8x5gh`Ahzqw(<@wS zqiI7YMrDXKwl8zAUVi)jtxl78{xJJN%Rh%|U!5}C-pOT6me`u&)cqek8IElDlPL9J z?}pjuT&Pj`qFeK+e7dGAFVEetd!xREhyCo|6Ej0%3&ghmk<6W9>)d|DsdCYQs~J5L zhxUIMq}O)9$WWF)-gl&$=qA5Gb~oaNh_2|gOZ6KZxNgen+g~@`{(9A6bCW;s$NunL z!#O4^)w>qI-XZTcs-v(&%0};s_|6-lW7j?NEi^ekOEc%@@=%p8b=mK8$G`1w81&FN z^HQ@U$5d-doZad(#uGHYDD2*rG;*%pkdkD@z#E!k^GZ({TJ5*l`7lU1dhUhyDyF}j zU)p{>H7ZNIR)1<#$KsQp`YoRLIG`hFd4-j}+nNW=-~l`Cm@@0)MlLqL;c9!krhTw| z+K0E?ANv=a4Bp~>I%mnDB{c`9T)wbmV7=Gu?NffboJlF1@{@OF`JTwl{1e9<^<|@n z-AYQTSAM&^z;Cn8?7Y@(ixx?S4$-;hu=Q}s&o8k@bke?_ak*YMFJW^1DMhvWhZ?5` z&B;=D^x*X2hiV>c%obic<-4GZzcl&9Hk;2sB<$w+G|bVw&HM~i+ub%xKPS2M<%-qT zS5GY)#F&sYx|5_C%VOFmAt$5c-N1BLq4M~=2*`PyS(%s^6ch}M|wje2j2HwQ#xBWO*ekj66Yxf z^3k_H`c<~7R<6EUmewt^t~AqqN#eUZ{9AWK^h#VhbQOmAZFTwSaQb(5ZClC9X`YMH zbbNBShS6<5I*)!IEH+HZU{Q+d=EuIFUv7_2yESOazVCaNY-p7j!*Mt}WdO(J%))Ux zYx#-Sl{(^Paf_l=zHlV^F}Lh=GGa34<~Q6%48v)G(-H(7>RHK?{R61|1B#81yjcV=%yAh`|Vh zF^2vaOfZ;YAby!+u)tu6!3u*lh5;CCFxX#APm76Mq(I+Aq2x{451jt zUg(VFHFI3==U#W0-^?216`{I1H09Ou;Y}!!!)>7^Y*Gfgu4y zB8Hh5W?@Lekc=S(L+Z(DGp^c7MxGCkj&KL#c`7KEbG^y4y@IO?spVW%0+y9?2a)H6 za;`5q%7w=BTpci|;M(*epGriD6FEqud$fdHEu zamW6jgIid9j2mDew2##3*H5?K|NiY+xDwh?iCH!PT#lpRV*^0x9#<1qALm*zuX}+3 z4F8X-%duc%ar(XYF}BHX^Ra>fCs1t$`RxEJ$?p?3`90PUE)HTf znEM?UxC)G?ZGK#!Ip|cQNe>~D3vHpIlAFLZ*zE(9OBEE)BIo7^6^&d&7)5dza~^Y;L8Mx+ zgGdiK0@qkn8(tCc%n^J<#C5^;90F~pUK`#GDw2>+h)^e}uvXQEvji-60-tKV9t1np^>m=128E%6pr(c!$gCX% z3-{<5g3U#)9dl<8lz-9JhPT)Lm7kbvzPFCFoV8QK710> zE^*Cob2NqGOQ`jN{5HtfEx(H zJyGBc2XA2XJ><6&v_6ZF1cjR@{NV{oN5+{#3;}Ll1Q-=|PmqG+gjnDO3+F@`7T&^6 zbEWsU2}IsPfw*_R&k$2McnfX%dxMfxtSNjaf~DU1HA6I^{5Dq`#@*&B$ei@<*Kc}C z%Jf;&z@d_>2WyaIn!I7lZEP_zKF}1GszbV|E=NLWVDRw)qdQzjW|~j_PB%43yn`ui zB)?T)-yLj1*L|Sj4%db0_5sdat}kQan;+}01xa_g7NX;P`@zEcOns=l%e4~SK#@7f z)FFCE(Eyl&h%xYk@~%`PC?{ZIFEAq#UC^&bKezdTZ9NX@wSJILk1g`M9|ZqQ?GLx= zQQg%azSVPGnaTbj;>cAa115IBK9Cy26@xW|x$aK}*Z$D>A9o)Yqjlkj58Lr;vs(|`^t~R4T62~Mmj;cV+6D|kl5VG+fDNQtO7}L=>u8yP% zV;-P_XebhXaQg|GxlD)+WB(1K9FTj63B`o}BRrS`lX`!je#jleWX1IUwtU15VsfYS z{>Bkh2g)AdI5Bmq5Fro4A7KK+8!!RhjDMoBj9bFL--a|NCXZ2LQZiw2bk%{3$LN7; zN*~sT+WVNZuSDqppA5O4`8tsbBs*5j%Cuer${uhvp!Er=Ov&mUbn`FpWnge-1_xXk zk^PWO*#3~-$Q{DKTmoX4!1+{lZ>9!3na1NlWD}}}{`;oMS)K*j;RgS;4^A|jm%|CKbvaotK2O5aZ*rWe= z&}zdzoKeYQKEZM4SbVz;GybNU#g@+ycV7I5^Fz+7z=h|S`2J^T*yZX!0la;NML4{c z#bcgh#KpH*eE2!8Fz(%9G3Nz#e24#7%zuH)qLUB);e5?HMQDA2nHt>ij{}F7SPHx* z7O#4V{ccUmKb-&mu`J98!g>~ah0diu?-M9Oz$d=3`_7eCi1(BjqCOXM}p!H1Vi2%>?T`3^~$6t^Ua+V0#BvI-1ZE0tu}R<^Cetls->rqY#!BgRfm&duDGq zVN79EH?9EkBM69M%p%Ft0#=2IXu^WOSh==67`rW+>ZbHyTS|zf;7$(~l*cpzOu+gB zn*5bWfHq`&z~xi=EU5W_>oEUh@-zbHk68ax_!LwpVYzxO!eTr85$y-1QM&yjW;#5R zg3+J2e$1qK6zG5E%0Tre?1L=}StfuvxQv2TpE2UYl@xS+#)unpDG2|963u)H&JZxV zkOG6RnDKR+iOX8BU=!AHX8|_G-u4l>NvOiCx3O9r_`L$%ZvTpIuh~gy!*5tDEB3HJ z60*OcZP5b)Ow4W(Y@@2!x%Za{+0HH%&@%jvom1%;%Sb@>cP!Y9bCk*b!IgvK2^kvj z<~ybzd!D7W;qFNsjn^)~R(kfdPy%Z&uv&p4w_)K=tRXZc3x9r~>7biby5ow7Jgl_B z=#Q=mML&R1ND2M9hW5*TVmocBV;LFv^%ISB{Kqm<5b_I|9SyMX7k47FshK==psNA9 zp8Ri&y}yMp+VJPGh$1}hNK*p-Z>|=T+se{XQ2rb1>G(6sDEz^8=G#uerkChNcLWyW z;y+jde|}P$W57s3_Ft|#JR-FJAC{H@jlWnIwtoefqm`)C54Mliv%xN_Wv^WelBGO?FieOAfZA!lr z;rTM5`V@>|c}!M1puvee|z)P`bkkV8{aTcBPMi)ybN zFOb>3lY-xy8BOTghXaPYJnHt}OX+NRjIiY(1zqwyf5zen3#1`df#=Eul?yXca9aUu zX7@1x+Ex)gEjme=HHthx=D#xpjA2Zxp`L>o^WtD5RlURlY1q!eyj-d$Oeo`Vk30?F z^T65a5UGSN`aU4dKnrq}u(6JRNPsG|D)AziBTrbM2C5GjC6H6bVqT<-u@swF87}-) za3*dfbk#FTb4*2L32o0TdfCUQ@>C#21uL-OwE$B~m^W`(#-E97XMqaLQ$?qOIt7@+ zZx{|7XvcoXs9}PtJ$*7$QDq2Nk*N+72t8jC*6U(6^NdC1U~+$+1~iI_3U-t-X#s`5 zYFHtI1+hNJy2AHq43; zwT3?iSfaeU?D`vwKXfwy*?_IPghenAv#7ejT4o2v&VXUYmtg}Kx zRmd`3Gl;S&jGlt@4F*?u>PAS9m`Q1a1X0}n7-1)_N@f{d*y4oo-x0;hJW8)K=E=d` zS!l%57=0*6XK4?nERzK|RU2d9c{`snhC4*X!G1ZWVd;;b%C7atuEbyZ zf9U}xNGq@Wzx0B|=tQk2P6qo;(AAI&($$0>1OFer z9#a`$hL#3w7M4lEN;Ax2=x$24nqlX-P{Qgcz@I_r+hlX}t-6%byUlShs6R$PEF)h@ zo)$3E0%r@o(^O;rF;N4stHo0PWPuTfRk5@r96lwg4rLiQichvg*@J3fnF6FV;wW~9 z$Tr@jvQ{geIQ+PRy{xxMxmclWNgXTWz;Y{W>KgZ0#+#YfNI~-hQGM#kxE7&?Xo=&Y zHE$BL{Vnv6C;vT!4&Y5>g6*N+4jbNKD=`h=*kcxc4Z!4nIT6|dylr@cn5aP%#M+8U zz&;x+@pe4bBjR30$`+YSPnHpfRdtx9`L<{$(3jBGkmHR}Z`$&l8O>oVqYlZAnBZA| zF~K2nZ6H-BwnOdUQ3NC~CqpTzA1ub9v6kDTd2TqNP2svdR%69D3I;gvJQ>Xi6l9GR zlLOC(m`s@iM#zn!boF#GG58oMrbIi7iX+PA|~r&k$hNOcs-cJC4|< zVv<-|la|?VCyXz_WobOia>CKHGmSDKDPo3HQEwnBe#&5JX_&+l!v)5tQgoy!ohKA;-eOjZ1GTYOAQmp@%dwS| zPH@4oeqt^GxKwq)E)rJ*^{zZ4s5*-Y*$hGlvoBJ{)|H3Lz(H8+L6-%X!&PFEFzE?) zpX_R(q=T=rS^-SKbqb1Iv3j#^5)j5@|3?zm2JgXGbxIE?=&BQwhkb)FnWBd*qe?TU zIRt&TZD476h#G>5mmUi+CkQjXQGii&L*{)G%g8~tt>4GXWej2?P{Zp zqC2j4R==dcz=J0Z8SYr@f8Gc%cib^IYdTnFFf-~a1!*4GgYv#naLogUl9k^HP=o64 z*p{t4aiu)`H_K>3cN3oA9reWgrTk^-{snHhwo~^))|&w%U#z4Zzr+;i0yGV25pn48 z!p1vIL|hr}&d2Jtk`(9Qtw{QB&%$3&R+s+K=(lrJ!70To&|ZU^?QysB^SGp=U5>EvUHK7YoqNhJqdD z;&Px*dOFQB7aS5weQ69`4{<$^J%r95 z_eVo`I^63#XQ;RY$PUFC*dE9-%G6TPP*f}$Md{SxxP0juitA?GFaaiO81~iFXqJ(M zj&b7Jq-?F2fsq zttX5LxQ6iL;mA#Ft@7o#oBB2i6ZHR&l?5_V4=C6lf_+M)i2|9?*zQ8wC^*t6j)zO5 zv83`|P^NA)t~y)ZQQ-Ab+>myaxKK3y;yp`CK;RoJh2Cy-oyeAb0-rHFD^M7Nwc+xW zfH=nR7bWkE;khs`{t#dZc43%@C~1fb!^zb}o;>wnouq_1wZ@D^YpohAja_0a)=fWc z!sx<@v1Cxxr9dhiORK_wf|zg|C%^=DMxwpya2zK0nfHQ1V+m!ji@;3w*b$;XjJA^C zKrUgL+$r-k0;flF9|{(X=PAI*ap>l^p#n_#I80#7NCD=;a0xk(@xW%~GakKu5X#Cz zneXFRfCoiC`0Ah;i8`yI32g~o<0LfUNE9}rrG)mHLFja5Q!;tFfntJ0-_Ug>SwgU* zLmG|$D_KH^#@FEsDZI~Q6=Wfrk7m50Fr&}rQF?eLjc3I?SWFlT5S@q_P0l4iAFi*! zdRV7`Im()dZjIeQ>BDOz)ZmE$(hY=eE@Wv1FpTC6XM&4aMji%5V@Ew0jf%s!QTjzR zR)_a)3W~Q%^bQ>ym^BG?iuO`^?<8z_B^4C>EtQZ4nHY5Z(Q(4)f&CE)8HgrKb7e16 z7|W9auL{(A?2g5FEe36socky8UuGK=A@^TzWW->@(EFlXcl13HArYc$YeCH{ak=v@Ki#T(72MAj7C)7 z2*?ztU`{jMvy3Xtor3WrKY-6PTuvP6mXHTqMUE6S6MFnd0s6KkM-5^ZpxNlDXm-pO zR;B`FQ&D>g_OfZ%58ti80}#_`s8ih!e3G!|l)sk{hw5)wUNfg*`sSjP&iVbX#@`X` z9a4lgDHN5ogd4+gyEi2s*(LJ-SRYK zsYwd9;6$B&N-EIhgSKpDpsf$a|5ycx)ss}9r~E}kG~G-{BmwVdV2fR0CB%xsgpFux zW&%doW%oZ3$4XL_9>_fn; ztl5RzW>cIgnCH=inare4CQn>jPQ>i@j;tdl36-4oR8|4s{3YXq4oEDe>DEG-4L>DV5sFZ42nv++2<_Kc)198Skx^|t08>&}Q?r*Wpv zMjv+6Qc#kP2X&3J(PZ>(%3Qc6sZSSJK^aJA++}HOB=4}P9wKz+1D2M6*1M8;;z(9N z@|h@m&`4z=nK)8iXd`8-3mQ$5%23>dr)-yrj@@%g$7bP_C6k4DZ+poyo+5uiBpd7C zS{BZe<~Y0%3$1f`GGLL7({w$~*(|d#8yjvKPTYNr50L+TV5&qKr3S*o(N`-7hqb)V8%Mh z8=%J%h2oV?X0?Kujd%fu^-FP@lnnfh!SrGZF}<6Muv8Bx3M+8vf?>d7l>OzgGFeDj zjM?;GFQkgxkY_ZmtxX?mtciRE*4;7mg4rX zY$?llGrnsmXkCF04_Jn6aYZi6=s@cT+{*1;hI_V0;IJGIM?CVR@D=I`v>sI;l(Nlc zHktxVT#l=ZfUN?|5s;Fn+o6cfLh&qiQmqA>rBsMvE5_>-8&4iOSK!*>(9wUjcVGpU zm{OInf-58TkTN?~;xH>wj&F!&tVG524J_@?jC{rdc~D%12d{cBg&8e4xC-0o={J<_ zUXA&6e~z_jvl`vH*DgTsSdB%i*TphXjN>N(W6=4p;}ow!KQ4Uhl@(e@%R%!ROk$iO z_-w*{vqM{25~`)8O`&-$7U>K*X~AALL|Ir%4eHkNT=A7;TQ1KQs^z35Xta^Jn8p@O zR#^s$a&aXXfzx|mA~K-74rf(QLzcnwTr$oVufwRgRPR-6TE`p73^!+i6h!8sv-@o* zGs<3C3Qp%?#tZBPn7>v?Cr-yh!%Q0?_XF|HBT2tE-n{kLwK|+xMgg`uV2+s$n7*e6 zp{<}bANO>@8?X(g_)6vy(j_t%tq{Vb8#WSrazznrx$lz5)dZ006S<0PRpBkHqc#w zg|QgtS^_$_(h9V{q!ePp8ab3+kR^@xM94h%n9!#eQCedZE;>#v6e_S)%c*P?VC~7S z>IH?Hu-q2rlHbvc`wpsbdlT-%ly`yBX7ng_x3m}p6k)05l?X5g3G-t=%P7&|Z*!?o zl1UY;f*3q1mF^qv3yaa!`zNTZsTi|tewBb2rlOWSZDGe|EcnvfERX>CEtueydX^D~ zCF^j2TDb*H?P?OB8@Ax!5Ys}L+Q-uJwA7Bb33;~cHC5UThFGn<&_}7Y}2%Y=ySH_{KqQCwbaI#%9b$@7%F&A6m&d zNa-j0u&QR35nv1RrAY2?qu^~R=JL=B3KUu}k)T7E?1DFx*?I_djoK;rLcq=U6oix^@av{v ze;K|vJ^7IUQ^|Zli*j7Vm+4YkQA1V|EO+3X{;?eA z^gmEtfh)sUEo9v*Fx?g-s+U`VwvtQ;7{@#}qonsyY=oOFDcEro^EJS(Pu)^hj~?$1 zK87AmbL`WxlU0OO$1n??&Mc$WcM;(@Dpn7sbkK3!2H)}^z!b`kV`H8dNq{bFtK=y| z*H~Ezu(Rbzg6u2oHC87u>e30q3V40z1ZKc=k^sGKysRu;yopv~l=661rUIiX(XA%D zhSir!ATwb$3zR|gB+p5t6e>>QNlfBNe9(8btzfm(pmh;eb=4{Kc;Q->)`6eoj)qRYP`vk>SOq+A$d{FY zhVR(e_ngL*Q;J!c9CV(>f-5ZjA5*wjws&!D#hfo=S!uX-1{?O7$6zXe@;@c z_AKtUMbA-?Tq&yrUek#~=P;?&7bqQn4$tSlU8LatIjp!JR|w#Vq(EpD&mNv!!4le1 zgYoLmW4ue)O-Vww*U|HXxwuTwxhb5#I;t@KrmQk;8-@P~Da^oLN-T6%;o?=Il>l2v zeS&SGcWXYQQ%HNrC!(Ma8QQjStCv@>R@zIet2G6)(_y#&;bLaCtM@Th0)wEHSlOAEDGX4`&r*3Vr1y zVB0m!?*0J6nn33@TyMz+QxJF^8}+@h1lWUDh+N+o@FrBq;F)n$L9rHR=QopBfcI1* z0QVKP?uqJ$))Hyi8u=M9|bt`WLo4ohpndGeyy{Wj7= z=2LpbZLH$;3n=)VE!X!VN_M_bUY{-|3Jx&o4my*zjDkCNu*_`tQ?PlLoCbZdKItx+ zKZEa29`Kx?>@F_ZY7bMORfphlIR#7Wu;r^AC%^^X*OQ~F<8tCq{tz33Q9YXQIU^uj zP*1e0SjL~psG&gdA{O?@5141W2F%>e8X?EG;>#400BUK`5wh}%kiv?atbzhaT}3lT z9-$erS|P26cc|8%yV!kxJo}f}nY%(-Yw(Q=Nes0#$kB-stiI3F!uytn4|szJD+gK% z@_i|YKfpYW#Wyhzc&W_6XXI%Q>Q6BX!1~L7+ zSf+3IANmMmg?=P-CUfH}c@6@P4{~~>aIBcLKP2-y_3eN28?wQ7qE@^o=vd< zk1qaK5KfO#rYuQi@(S{Du;>M4KoK zh9j!-ec6yu7gA`@Aqu|aCWt-LqesAOCJ_JlTq8Egz$V;eZZ;*r4$d~AhCFWMp5nBr z_!Pk$KLWy-0mCSH>M4%CpGQz2-;7{M5CxM7FvZi{r#QA$5>Pmr0+|*B(YUE2l1T)p zN5J|Pyxmt6NlA%TBnM2QU;+UVu@oF8pkXq!wW7M$G)iuXk=KHhHms4yGbwYf4ZGns zJc}hs{7jVBqqE?qB%y*x#64i2f;7}6$xFcB4s5KupJ5$c$fmN^XSm)~UO+)gHV&!1 z^C|B+>g>dgAc=qEId)^yH53@GlvjYfW%7~`%j0uk;0s)&T>_<-xJaA*0vGSG>sdWq zU%$XIUAK{C#KH9?&g}1s1(@Ihc_oV((wDoq~5oSl6kq zumlSC_A-S#<<+5;5IP6{5em>%t{?$NeqkOby+%`tW&cESaB~PwIX4LFiX#dpfEL6+ z^9}YC2OL#Miu2!~Yg~Ng`j$5Y-oL>KCgmIfiHy}1s&V!$F0+1KXMr>%U&2!Len&bB z_W8H?uI}-5Z1iVB&W#jBU z9}zsk*AWD)`-sJ6kx4<$Dg`OX<0(i&oeE||{u5?o4t5iw*eeVFgq`#JTmj}dVZP57 zU{pS1PAeA*F#2;9)aYH}eV@_dq9p>duFrUM5`kwbY#MjJVAWh+_%F)xFBruI&shW& ze3_!P0*u#Jo}Y*TaKG_}!uD0@{@t(G9s}~JiorKr?t~Ola3oK`9L|43ab^)~0l$j< zj@j6|MS$5un3nC7@hZkxy<4*ItwN=4zMG9=0O1L^hPb{ z!bCBgi{xnrwtuj6Z~VpPZ(Mp67``&-e8rwfUkEa2&R+x;O7M*! zwoXAD{vZR@Ke3tj?hMZn1v4>Wg+QiUPJl@jUs+ESC$>yj1u@tvj-{c7-&RTRP2i(A7Bbh1 zf)ELmm<=N!k{OGiQc3X5;Y30P9?MCh6%+i5N`h|&QIdQo=KUB7LPjb|!g)zPP9ftc zqbP-9>nIA=hNHMh6zgsJ1R^7I5eLlz@WolA93 z%kq60mmC&wpeP4BUVt3xTw6-%)pC4KMrS1j^A;=Ojq0745gmEdxwMwj(eiwMMsXtr zweoy-=0+g_rZ7MO3-f*%0lF|?zoHts<6*_P9Hop`g`zk#DWLnWD_KT^-UFGWh$$4G zrF5Yp8qK&&LAN45kSVHVfi}oqR+NMJ9JHK{-!hT3P)8c>a!~Ote!SGj;I$1U^v9$H zxJvveW>+hD>Os2_e-K&l_NsX+V_V4Wg7qqVV<=YUJBSoRo(jJ|bSa|?_dZfVhzj4E z5&25MB*yJK^r-MdnT4`oWQ1wQsv-!JX8~?4BstRXR2BUjz!9LW)Uc8-s#2y}laDV) zGQp4*0fLHs7vH#IA%6KG%cggVBN9X^_#;aqLIDKK-80yqf8$SvcvV<*RhlB*V zwSmVfmK?!8G~13<Zb-;zci4gZ6H;X@5scsvP?8H z*_{P?XK@m-nz3n|m8$M<8rm$N_#R@LJ@ zAAAdM#XQB^gJ`i3u)>e%V@CGlLY5M}9f$)C253BW7mb}@fL(Ov9s=~?+;*(BYveri z9nqOw!qR%M<2l~O2sK1n*gNKDl?%0vAiPp?En zz*Vgg_KoIaSUuZ~(A@_Yz{nVx_eNOz4=)lhh8cuQTO*t-3XQRi``}iWfNfVWN4*2# z*&9N}*Va)5@BXNL?p|Ni{@AFWJ%V}@H17Q$=BsyVlQh8$sNm({J{n&KnP3L4H&bS- z33`FMS`?3Ax?fRKBilGiaJ!9+z@`|xt%K5@uQ{r4YYx)a3B9h1rRC`B9CI_IXMCab zm2Qp-xt4*q{0Y7IH>F#@a4?r)1#zT)C-vW+|LHcY0em*lZ zOen7&kwn273~g|vHI8C|B5bk2W+53Zz*N~`b2qd_vz?PzS^*>-aG$oC(9x3#?FIvH z;KwrG33G2MWk%bfG5Z-5pdANh{!9X9F~-T1EVf6oHkE)O;5AbTU;Q~?9iC1j48Bcp zz_#Zwhh)+i)}QzKW6%K5~(kO65#qdQ?;mD6> zqVcYRGZxkmCroqfG6JmO>;feva#t4jYD`FI*4Rm4*~kX>B7d>+>TY6T!`lnk?xrFO1#+6C)0*9cXW&Ym1QL1k2@|8 z6n?P`M*V_DdM^a5`Yu#G6aNZmo%^mN4^$hXwUY-JGywQo}+LV#?;SUw*#M{+qZKS%gK6J)lq|;i;g2T>g1FGDv zrK|#tJZ!WQzG!u}5uy7-rW@|1q6pJ67~+OuA@A_T%6l+`0B4Bx=Zk~9A7*yAH_OPu z0zVuv^8ExDj;FE|{PjccHV$KHcjj0y3&g>4xUvGw494>L;*SaL2@#M555=k}7(+h&`URjb1^G0hM6Pn*@kJ$}>$gx^G7#;p z+(SWjAiB!iPr>UzboIg^3hehOtJ8}^SwR@v`v`D@(Se&md`A&SNDbx>0_R}N&7V_5 zkjyCH2W{l3b_qg9@@F%LuTwh)m$1d?liQOzqtMQjn=CB>>ExU8m4w#3!_wl=G79Uc z_z@_D@W(TQaLeh5%g+U4u=du3poeeqejm#$^Tm&ae}tfkI6OM)qjCBA9GkEAXe`sB zb^&_bXv}*+mjKf}8rS?8crmaqD*1C|vo#?*6fG8g7NBcGvE(Ow6JYGeAfxw_Wri~n z_!)l~Hbg_>YvONZC7N;NFf?{t{C~0nO%+90X@RfF1GJIP~*RFiWcd z{uL!j&>fE@+#Jf%$`BK*A_3)57-dMLkZrjbqGbuuaVpC2V>}jJ56*=wlMso_w|JJ( zgyu-J{eefBwNZRo@SK1}5t_v^da!vMUlZ<3K;IV66QJ#*(Ad+3EQ9aPatXk{C9;i& zp9D|D2nJgTV+gTZRPZ{|L@b`z?JOe;RTI&K*e;e)0>fm?lv6ZD9a_TDGEll*MH&+N zW9L)bC6wXU`vkP+C*#7Pi$pdn6`-9bVY(${0*vf_Eb`vBALk~ac2EVCc^_55v*H+> zUS(sjS~r{!rrntrCt1dj#{Uz8@vY9WwxwZRCDu(xDrO@x7G)9Dq*3V>UQm&Pt+8k| z?&AN5zp>bq_Fw)-7}D`&WgNznyxGe_%oPt`~NU3e}aE1HVAeuH1VvJQH+s;I&pMNCS08fqKj_M6C3->Tpr zA|!d5N$4TnlrA?`m4Li=*qO_xk&f_z(%sYW6vE&$3sfLF9tZTBxJxI-P^=86RNrJ+i5z}9fOb|ZQ6_5! z-&tfiR44Ft;HiSDJiW2-dIp-Cs!3J!642akysbiP&r85#mlkaT!kJnf@-%^JV^u{6 zO2mfgqc6aeYpP1pK5#t|?R_#7kTpbO>$aVV^r8L&^t_pvR;&ff3+2US@JRKtRgC-m^aP?5}cB<^XzO~O>WQO4GVx@X0B zcv1$t9DWt&O~7nMWGE$5yi^@vO$vI!8No6-AUzz11)Ws1*BZ>yvJg33weQ+Y5s{^Y z5}5;W)1GOFARhJyH!gw)cq@h!sCBq%U)$G-P!$|m-$wyAgRceNY1oAWQ3gNx*bgOm zBny)TWO~u6dgLXP6;qigK$r3OLz(-@0*o3TJE&xu0F%bYx!h|m%NW5cK5p5Yb66&c zsb9nbLy%sH#r-D@U2t8&(o*1-jNUN|$8fRK5FDFDN{QMcAuiQ7Kf=Kh6?)9Me!up2l!B3kMR>%M=u6qep|X z(e+hVS;m+7aDxCN_?wOGH3W~%vv6LRHV5lcm547?%)@DWbDJuD*hWfg=saTUEzt{M z{vTUk9S~LXz5n4Z0@B^FAdPf`l!^f&*oBHMDu}YXHe$D8aqRB)wHtly*4Iw#?k@N} zv$J0B`u+XG@;r0qOwXM>V~N{PO#a*ueEdIYK*Og9H@*n9!Qw4<24g`pi%_*g-iwSm zeJVn1oj!A>_Rzux!rUJmY#a*ZlYepGQj9EYQprKaFEp9rVocTLI%F{(gr6ncBhvJq`-qLfPkGh=sl_XR^&>8Z{E__avjk?KxdJ9J5YmClLgY^+?ptog*OQj6yz^7apQFRk%cXU z5AGuHrhI1`Oput&T~7&}I||u0$5&JqK;@$#V;&?jHWW7+NjMPB7)Npqw=rdv-=5Zu zMm)AfNa(ktG59?mBQh{!%gVIJ7zo}^;Pj#~SoVDibD&HafCIUW#pJVHEeUfb!A5iV zch6XOb*Uq|*|P>3B3w*oj60nlhZ$yK9UFVzocuCuq#ewU#-db`(6R*s1wyS3>^GP; zw6W3S(L0Wq2>0_D?LfcAqc&V9;9%DTsE_Pvqv@GOPJm#DN_0ySW)I@vwbDk@$3;$r z%*MggXd(*W&@j@OgwMy>iOA$1BN%8Vgu;puBL`0cX%8z#4E)EysEHi-PX@@I!ol8g z$nPnWQ6{!?ICFP0Ruo4q;^5I7WL3|p$mNrZwGuyXB^UU)7GYXc zoO=I-gUt8H2DQv(Cexvk(T&)#whjx>?y_#!RH2+w41Ly^Nf|R+7)~ffcWGdwO?%TO zLV&FZ%3^T~SyWP{Z>vwU2!n`PxPmOD^{9f7f$u`qbZIBsD%4;WYMW)uA7bS!qxOAT$MO=v~azXa!^8-IeC`)}Xv=b~#~-~Bh?O#4!Btn&I?WXtDXzgZ)`3=udF z>=u=p#T)~D#npi#s6xR?TXeVck*kjVZLy26PGu;(93l}Ynvaok!~V8bTT8BkoNQ?H{>QR6ThJ(wN zz*iz3nL*)D$WqL=Z!JO9?TmE<4HGX!{>Q=CGq!fT3a?!XU)^w>naSkbur;KoOOaJ3 z4q7SgJh{e~>)_!*5vLOe*coyQT`B89*PhJjg=6io2*s`% zei^S7{)rM%K#%+<{7&z~$y!p|XGo;%rueS#)$W zXYx0qN||iq;M7KR7)84|*mT9tfU-8DP3mv6gUJMz>4P^x{fYhB0#Wp769(!R4r$X} zg^*L)j2De5#s|;wA1LuXr|njSN=~4#)V3J=GXZ?^)Mbch7}J4&FrsO8OJppm#uilf z$j6*1DYpyc5j?yFUaLJ9X;U)Uin;5#S0ZCV?;D^@SAEpV&Vk>#z~zs>>*vW&S_1Qa zkomSk9A*^g!Zzf| z=OEL`-kkO=$9LRgN1>z6dwRD6-CesK7#U~!Qit7`4XpLBH=}qjtk_+Fh_EVv(SBs& zZLbfrhFC6G6Q~_{I2Y)*6N}+9u>j4aGk4)AfO>h+a2J#ePY~%?AupAKExRx~8CRcy zSgNRHZ$NwUkhav_@X!q(x!q`kw$0hEFSXi=wNJx6a53#bp?i@T1#J)?wUvsa?X==E zt1}l^z6agi=`c1V)S@I_m{A3=7;X0ymx9{{styo4D9 zMh8ncWrYzWyzXaDrzU6xF@LHk+(^iuA%d!OqzpxT3|rJpdm!1HQt&}cyc&}H5Vo&C z=+nf52yWeCF7oUk()t`Bsb$_7=u>Y2J9)V`}dm?R0%Z@-#%g3DgdIUqm&-f@ED-5EXhX{DyXoNN5D5|kJ*9 z$P!-V1a@Yl1$uW9&7|N2n)UFi9Nd*T*wNb)Nc&hbk%1+PlZDAT)#&X>crG@BNPZB8 zBbQG?=Q~Fx*GSmx%YJcW@?In;IyRZ7J3Ff@Ze;TF{7ntko000ht$Zp)0B(w8gLd~D{6_f8RaE9 zz@Ft6~G}iOZu>yx#Ns-P^MM|bHv&*CEI!L>!78w$$ zqjeo%fQCh*<#|NoLnDdX%Jb;9{9tiX)Hy5D!JYyyAO_1?N$80ekW`1Z5~kt;a_~lu zHe*TSE+Urqx=HA)jt<83{US8h>M7Eu)bc+FMothJ1DZd|!Ige}Ktvz@hlqBbB5^w~ z6&VwM35!<$PXC+UcL{Tq7NkwvQ1WF2X|$NrC6_TIJ+)K>&LqEr@EdOu8QgGti-tP) z3W7emLqZqqb*MsbuHZv>edphF#uf)Fp0`C;;jhY`zXb+tL+w;&{x>GjdH>%68P^Ky z*HK*_aW$aazsy2|2n)sIl<|1*HIcvuxx${{fqfcd<8yV zN5z|f6?2inRmo7H%6SRX`y^`7fg8w`Tr8Gr1mlG1S43by18ySpDK|ND{$^nfoncgR zt1yac-NImdCl%cML?(>lY~4 z`gc*Vm+v4IVVGmyDI6~B!0EC(g(A;7ex8lmx zGkh@|ogGbS=v#D6QyHC9jnM&g?IG$?Coc}79|4T?8Hl2yXQ)tHa~K#RBzI)L8T7WhBd+gdJ37%Bm9o99XdcD%qKyIa1<81rSqX1%nE#HTM4h@`DA5t+Wl z)ZrC|DyFZ{$G5;7^;Mxlcr}7acv8W5M+fR!dU9)K8v)vQszb;qTz}!(7qLg38`F=+X6e$iyW}I6Z~cvvOPHA8MSxptDS*YYWF$ ziolR$AMn+xzFK5(bmIfoP_Efr=H5?yPh57Y1yg4&Tty+I&QLUf9Gz83Vyv zIGDfQ5teK}LH5Ho&W!&A=Oa5gc=HMCET49BfD6i@LghXV@^(7n4T{h3_zm-K76=$4 zivEI<(>cnS-er!~wDAjM>@nMBGGI)}=_^LZFVAtN^+`v2TJRMz!!S1bR@jh?&Z5Dp zyO7jx$hi?%F#lG#Sa^W(&o@-VSzpm>bo&mM0hoG!!=4K4!-WWjpLh-gzC**e`hm~H zna?6)Mq_^32>q`iVZd{!b)w%} z3(-yb1!c#oh_ofG{(?yD_yuKOj5+<~7nbVcaZr|dtu%GArrs53@e6TKR>NR>d=UDJ zW;RaJUdac?V%4EJIGIplC031+-9*NU+Wm)$vbPce`Fe4>y{A(Y?RRs+>niAWXEsv6 zJdK~|l+1I|$5$(mZ-JtK6NOwvwNvMJV;y)Ng(I>o0*?am5}A5IG$usLvtbk$=n>+C zDFi#l;wQl0wPZ$Dr{s7i?5|w{J&Vz+a8j1h<$@wf7@E$2La@)|D)z_}HH73W+H9zB zr}=44#x%A*}UXPTm`@E2hBM=c1ZDm~Iwga|&ZITKR_dNyP;;7^OH zC}M;I=*cv|fC5`0FDIoUv;Fj-d1METTUCV-4b)TA6Vf|Ln7wVCH23KCw9`uXq|Oql zigr$xd|*FDA3BerH&lnmbY9a}Bnn}@B}|5aB2EbCBVqO%D6oH8C^9A#TUCMWCY8w4 z73%gEfg!mVBEjd-Rk2_O7%HNKI4r{%Dmn@2Q`v7gy`JQxPgzEaFkvV9n zQeMoYMkb0VYFh#?fyT((_obYfVyvhwbezqBkqN-UISdpCIaruue#%W1`lY6bOx>k_ z2r8S88dzisO<`+AI#C$6j)Na7P+5AJ!P$8uV3;R*UOR?5XTs7KwuFo4so%q6LUgAhlB38mU9 z!elxE1}z8rz%G%kB2_kDm!r~3G~Qr4g}>~Ewa8$Dz|2{X<}!M+mxR9Lpl~C(y~0se z(?_K7T7Hua8O^lAO5;EW=qyeD+s(WV z1kCNBcwk*E#SJn<*e```-aYrWa5O} z_i9FsT+xBGby6e?tD19Q(8$@E0@@(RCr+pbb}c#WOl9LqgDU7+SeTTZWaftn%hIk?>ldy$Ubh-pk4XKB}N z*ntV;2n{=O!428Y-t@~AQ9jX$GwMeiTe?A6Vi%Edp!04hu^C;R=|YaPFMs_bQjXx4 zcf&z=MI&K#Pxfm^W$vgI$K{Gpp;MlOadQWg2~!WE%*I@2eH!A9kUR7d=|o{(p$JUK z(*wRPDMiMZ0-j^dsKf&Sx5vhvMwuR+@Id{og;T=S5Cz9-@U;jA{u$`ZK;Cc;$_67$ z^|ARQ)u19}G^6VY|H6bnldb6q*=I1<&%i_mzD?zz!9-NUvLqDCFHd+3o5^V0-ta>I z(FubVFXTYG?WE%ka?>Wfg89N7dEafPR^G?%X9C$mj|1#iPD8yFVLJ0k#|NRk*^R0d za1H@H_C^3Tk8)l1KIo5ij&sn{2d%I9Nm}fqXdp~E&&evjXrHYva?r*X#TIazgCSQ@ z8~3+|$}7H5>2*h>4anRNJ#@@n&b0Q!XR)%J=K3kx$WGpOrW!Y${V3!%^2*O2rGDz6 zn)0QPyJ)(D8zW^;?rEiL*AvnSP`J<;f2h6joPi8s>|0Le1t_9r^bY3y4&t%L!vTsY z*{}B+S}t1W!DP#)4}W24ES+L2-2#eKLHFuZ=QD%WK^TF5ni>Mnztzqg4WqWi(>ErD(UQks}~*Nt!xO!Wvx1E#VVi&_X{bF*^7bQ zv;-RDF@by`qYqicD%uJaDu#V&RxA?z71!}tGBQUZ<}Q&ae&aYq=>2$3*B^zvNLm8A z^LQ<#Q6=;)4x^pr<6W#M-~|MBOwH;oB&5<1LezaDg83KCHikF2>go9n(?1HL|Q z!e-pdcm$b0PeNl&*^bg`fDTL@J5e1x%H7guQ?(YBf>Ra3CRwW2hP$MoweOsUwzRh{)X zR#FG*M*E9ym;eNGFvZW+mK6_j~X?nHUmL4u|9HkVLc9B)<=Fk&)^^<4PaO!4mL3GFRn19DcTDG1I0-krhl4_*bUF&OjrXrqjOM)Go69$-8hhUbj1zM28eQdJQKvC(JTYbSMq6U z7C>^Ys~+vmfOCP8Gqw%k{H#9*{TNs?n1gE!oGRuZHWQ%1NDk&OaBvIp87+rS!4y`(4vX2WqXVS0B zG}6rguKmlwx@L$?(_}&C4K*_6oc;p5|sr2KC(R$t)YWuFMi?dm2&) z89g@}(kD7|I{9Bk75bR1h!jS4=gilRZdSB*E0Q+4Ed;;dz#3EAGZ*x$w$OOKFK24! z{T5WTgJ44(SYv|6+bQY_y9O}OU5JO}!1nkMZg}dZM{C2&SZNud1;`Wzir)a2> zL^+;?ikBPkZOE;iQAQE9HI8pPE9%G&!Ws$U>_$1A1B1)>PB6mU$@V1$DVQv_Vl2?Y~nBtmDNpQMZdZt5SNjEsM@mZ zF@KO1of;;$q?_H~aqa{u|I@K14yUbSwPU(geDY>X#Wr6Ztov6nP_#aYB3rRgs-y{@4~{wK#7IF_OL`4Iha zOT+)k=ogH?_+G=8^;W!XN}Mg3A!F%;6cktRDg^g%1jG^7sw(V=bXt1zUGebBw0 zGnO!s`tFuI#VxD4OF!xUIKHUy7bnz`bFk3S-J4!)QyEk8eY_XH%~{LK7!Og(jpi4k zFZfbTWL)V~E6k2V6o`|tzewYmGEaBh6ZAlyEMRUif!yte0tLOohqz-1mud05zSeH zt@!wUQ1&mb?DbbPq>QERSmWsjuNA8~GcmwJV*x$2KLi_N!=S&SNNBi&?)6s;6Gq{i z*I$uEUtfBea6{=A20&~kzI6Q+nIzwdi{k2zm-cC8T<*V2j~|`g=Z>?b^-!nw4}`yW z$2e_1L;-^Ur`)Zm=n!J$v;hLO20eq=>y8Jaiy{4J9coXBcigQhu?Tr{=?Qm>z3*;IxAibT z-c^LSjef!DiXufFVa{7xJQOQVJ%-{t^zI`AIfC0)_A94B@7?iy=|OnRD2B&*-#9(4 zSkY8Sfw7H|SbM7|#(;PwHVZ~#V3}j#VM1H;Fbx?y3?6D*N$3qG9{Lo=rZ3N!8_xax z_F_$O!x3G72az$R?afdnR}Y6^cOOQF)7Rn1h))3=v>Sm?jYAozO@GS1%1C%{#V)`| ztkkcLX1`%{VkAZn2lJ`JC};`EMJ&|!-BU+F_GoWL_Ymrgpp?;y6fzx+K$N2x=qs#- zF(*cTX5`&*3?x(T7-;J|iFpg7@-ZHIv}Xb`=)o9htC&fP$0>Zsdn{TA7NXT)+*n1X zkUE!xRWm)TX#6c?g6BAR=sJ(nCrVL!zmGxfskhog+SVO6GJ#$K3}@pvj^573@W1_d zcwM@OrOp#pqA=cW1q%=i?AqmFLH@lFAD;=3X$eCPjNW<1!<@#KBh)dB7H)F-*aR%) zUbw@7=R{P1_(~3jGGHvwy;<-LfXk^9v1-3pmoroJtJzcM1{iqvm;`;Z^d+>pP)&0k z`#N(AhG7M!1YX?u5?Z~aGKK@H;UT)2XgeFRQYq2{ zXQBt4k3~ui6EBRJ!NG!3WY??7D4~X>@HGVMkxT}3UBP8G2ScV;GolmmeJ#j`6b^#^ z5>B5c%o!DgD8#G~nM7gLKOBV2!ivsU^s=+i$kxw-SUvQuv#^$N3Uh{83LG0Lt7bzb zt33>;JOdSdLRmFwMQ?jllyc%9?|x^r1nU3C1l(!GnQD&Ib`D}6a)UFIE>#QV`TAlG zGH~#Hkv5=^xrz`S*eRWd$<>s(D2&?Qm@DStAF5f?kke=>dh_7v!w-?h(!o3kZmN(l z8|NW)8)W3Z05Qn=j0~#tANr^G`S6P8R6&Q)xcTsP7`-9`uNio6%0Mq+n+5v~rLqO6 zA7in9xd45{qCih0@>~e92|*%*dGT1oiV$Ia8VBX~VJ!IPDz#+X(}xWvpw(TYN00Z%=!g(t;aFcsH{NgyWV&co7Unif-nM zJv9&iMlAD`RwX@HkrbugEk{qb1}14mCVK^I9a|-g$wp6m^&^tsS0IqCFg_~^r>(@w zxZ^$v6S4|TsAPwy1)X1sN?3VN+pVUs^@uj3M;lh*({FeBZ+g;EPgt&94JDKDc%LRn zAG*%YZ0uZ(n5?=a(s;ya4OUN-H$(=@{^_WKv<8Av9+a{kHM7jy%bK39L7lqoDPgkK zf^qhdFq7PIxh!KHith1R`0rF*bn|Dlzi=c}WbnS&I+V-sbjEm+Y(4grIyPXSjZm*O z`>jSRn|fK$uT6;f{q@lIsWYdWw)e8*L)dy7K>Ox$ddvo7YW`*p7XIUfmE8@9;mIu` zV@9PP`r1>Ejqr5?W&v3k5HzEm8?o}2jLVQ3#)b{%Ea>G9FX^KS`(P?iBVa(2HzDJ4 za21j<2lgX}e(k{~n8Rl1wmU8n%-O7{FC4+8NYN`83wp8{sn5SEp)X%RvR-XQ?)Cf! zN&+5=Zu(5xmaaeWGN-I9iVX67=w(bHTacp@-q5`*iaKQS+{=opJ0S)~w!pLMJ)?&R zi$Ag7RB4gT~n7p$N$jH%K8tvOKZ^`0ycPB<4Tm3n3^YX?w zX&0g$iB+&Y=pSeKdfStH1e*SdT~NC$lGBUAy^Z+%GiW#HgjkWb2HrBo;L1<$MimQ zZ!bD=H*5fuVM%^Sfwu$i_2%q@Y_)zOZAs7fp?7SBXDgUs#(oUUmJVYel*|Vsed^Tw*5JAi^p!+VTnifGz579NbskRfZPawZ>o1Y3+S%M^nIcRahu z#F`yMh`%t3WT1eMW#wm(<)02BkjD$j;*dfmv|G-d%MK|T3Q4O(U`+d$c*F88^N_Y& ztBjo2N~Gp4_jcq`!eOYbT+iI1sOe$k&S=aO%J9A0c^L8N{fmJR+P$TZC7*^S9lfcP>MM8w^?alYHNP@6 z5;^sJVAtswrrkZWG*rPcsF>4KgMKxHz@CpN*aycDlMgL5y!Ua$q(fT`ns8i^DErt= zgIaXNIVO`6Q2IDmL*<-M)R)cdr9t|?`oQ*zv9GjJpSGl_XHemSO?=Vvf1>52pG00c z+i-fQ8R!KkQJM$sML`4lb`n|m&W$tY1AMDci&GdmReDI69jCCDn2sahOubr0ei}?3 zPJe3{Bbss=n(b2=6HL!fqn?bY&p=ITe+D7^gVWe&6a$2S23#WkELxs%CI|iM`(o#Y zP4ds3MT{*Qb9zVvU)cUwgn>f*Ineu>a@sc&((~jA+SrX|i~Gp5@Gd{1IKad7DZh9C}IIT)Ga3lpg9249zp zh{C5l8g@}JQ>a(KelzH08G715|G_1vkb5|l=W9w|8=$o77idM!NyP<%FX8L)9?SVG z;I@UnMzrY?qVjzZXN)dmdJ#U9g9QV8ZD_(}IA;!LOc1RahyZ_FMu3I4IP>_6>zI^-&v<{xfzKYtPdMDGEc*uPC(7dad0bPYf zjx+d1CEP>S>s>=B-gzuC-u!;iv}^EHgrm$%@b*JroaotwGTQZ8E4>pwQlINszfHJ~ z+O+I51FZ#1n8Uh(u4w2tUwuj($JPXYX!#n8^WAsgtIWbrk2>7In5DIy$Qbhl?0Yv5 z{wH6NhN-Wc_?Qp$XG{pqx`|j{2;?Ba*UyqnZXpMw;zh=Q)EIve4?n6ud97Y!iuNQFVoY{Vc{P4ky#W2|U=cG~Bm0aNLQa?<27W!~7%Dz2O0J`OXg7{0Ie8@eu2P)gIzwzHzsNnfVYYKfh085`|O88Azrg_!5@k zyxAi~AEC=>PIi6_vKo$@JyImmg5xO4TaS@JKd-Pn389!L_{iwruF{)AMme5$A;m_Cv)e$UWCig7@Lc~HwNe1>Co6W>c1x93Qc^$(Hpqr2~s z?nBR!?vB4i+K#+lpl`C*qs5;U^3o$H$uTc54Q*$rCg|-86vzOJ->zoV<0Zr|<0&jA z{?6Bsf?uIQUDCri@!3o0uHvBO6wfwDnJi6wh5phH??Y=qRhsPTkA>JLsAC4N;qzj3 z?iS?ZZ_N(+!2k!N??rIhEY2S%)PwzD^?E+q+F9l{AWq`u{04cjB}rs(D0l?~*SvvX zosOLD-380GpWdK7=5>)UE#Kk<(1mUirbb796RP(Pk@)f!{;hh7ZZ>?KzU4d6m-=uz zq?f;(&!-PFIz^$TOW$LvU8-!;8De)NYKyss2ciXB=nGB$OCoo zqd!355sXb(wn2#_-THtL&De<|lP0Xka75#*Pv#~5hP3x1G`1&3yVH>A{#JBuDiY-P z3A7w5Vj9|krZDE?62?T(n@@^RogcL5GuC!{e?~c*t!56xh5!EH0;j$xj45+HiVdsm z<}~OF%bMMyTdFV)k3KU^5Hz7CU(vF!pXSWIuQ>MPeU5{qZrJ zc*Jn|4|u@ckkDVqy_}!e1vUK%U#Ij$rlT;wstBB@k~!PDF{ZOlIUTG({<&6Q%_Yq# z00(TZS=K+Sw_uK1fgz?mv4kkP$xwX6~v(<@O` z(Zd0B5az_P-w;ZV4Zu=WM1UzK!LS{YD6(GaiahhQ(ox95MK311w`PEudafL;1GX49 zxETAgZU7e4VlYS9!RTffTU6o`TUI{+kL|Fw(4)0h)NA1JI6)al`7neewC}{gV4)5g z1|#>j53r@)GDO86kE099SX$T-deozi=Q60DSj6aR6jDX$N?#vf8M2)&=u(WeHMAS; z)m3H+yC;cETcHqjRrGbfiZWFPk=IkEQI4Jx$FWfpMb~BX0yO7yKI=ho(-oo{o>pG; zJ1)7)wbB%iF|(j_r&-Gb-052^%Ik{0(h)a&vJ8|yWN)C17V`E|BLiiDuFnHWt9W!+lCNSo}BMB2!j=Fl(uP$wjlWe&_Q!A*c@4&%s25vfWAh!ni=*mDi zjj=`y7rS#{?p$4;>;sk9U3b+|8so_Y8rvvCb@ow~Euym%{|hbsxPz-L!0P}8It#sm zIQg8B??X7qvIEeM;9xrgv!gh0wg+e&%fWC4ZpSkaMo$=cl*mB?2Sgj2AZnL?0CYCf zW=BLso`hJ-9Z^2h>Z)B!Ya(w9?qVUJ)Dd;pCyo1g=m-T}GdM_dg6h>-9BgEuM^g^0 zodG^J=U@N>8*sLnMduC!eX_~IMcGNPz)5AKkBV9$^bIZueN_j}7`Y;xkj@+wFmR+R z2bUR0&E+7@4d7Bw4i++yozH=;9Er0g9e0#Z4>`j8hBL)1tg~|ALqd9ZT11h_XV<4OY;X!c3E>bn5X~7gO@wFNx zl+!q9>j`kMl!M@@NbLzvq_*oE&iHu28K;2NA@?RYA7ht-j?LDpK(iNefp<*$+)@q_ z7C^eKx6)r{I5qM?WZo{Su17Z}p~t%5jR^N$%@cQbDaun_Eu(xue_G4w5kATY;m8IK zp8Fsjqc(Gp=?hS6D+il4!1rEXgn~-|eh9_U4{=z&i@O&2L9{=*Lzce}7^vLOL9boa z4Y}dMxqD%(->|yUP{=#P-8T9|u=)`WtOF2_X~#LJJcQ83HbT3c9)P$uKE>&BCKG** zgSyq>`^N=Z9E!qPUmbfwvHBPyybpw4vwNIQ4uVV& zMgUCJat01Rj(ek3Vr@Qgfh8f3e))w1 z{ZN2oKN$$8JcKFa|Bo(&A?q$OPyw3|VTedf7}9h^kAZNS4@OW`WuTLQqsnTD?%`0h zz?6eC3uUIGDk}0WS^$<$?O8(a=@Xj}x1!1?rQpHM%=xH1ag4I!%p6_w^HN9MRC^7lTyD z!a0}}15Gb5USTfp8Q31fL5o;`jCc?xEJV3*A4z@91)sO?n8UQPB$*Tsm46T8Pg*9QIlW+hRx)>Rl1=X1eP~EsC zXUZCbQCAt;W`WXA#8ce(VqPp0q4Zfh4*D_B54XCQ%Pj^%yK=BF2YTuyK{L88weyN3 zI1lK>fl)GmIWB53j|B|e>_Zn)04^sZo^6#J#HPTdHl872E(;hy-v!V~_*uls?lnOU z8OFgG1}sN%P+Wu<#MVL#=8onJ)q->2I0~(e^8Zx}H7pwsy4Qxbr<1wF@!F8co5n$4 zDnO5!tk^^8>Xbkm8q^6*bbBg_eJFAI<D!pc?7Q*0RAh|G1gb(R5{kETOKH3U8ncl@0Fwhl0u4 z2FeK8aE$HMO7G+cVGEdTnmS}C9cAYI{_uEcg`Ef(!}t?J{_rMrK0_HND=7Yps!BB* zDr?Kq$NnFFe?w(G*{=ovhsU`ySIW+W{=l_=IT}a~h#fx~BweDNb6O)?nW>DIEw~v( z_jU%mQFfLxMfT>l29@6mGNO}NNWDY3lq$Xvq))+(@aY&yeHtshXlNs4jBM}2KQe~& zWlw)w`ql{1`talruS>CwmC>@BPo-4+gCG-risi>+tw^4EDHRKR5@blf8Y}%}b>66X zcUsp(X+#^J1>q^N`KY(~O%U9ycYhq?WeHz3sMtQ(nCzOOW?27_QbnKOTYc(fYE$?g z_Dkw`vng8YLUY=jqlASJ`(S5EZ-zD%VdjBiUb=lgJr)e6Sg9Z-J(82)1IG448Pfr)f^jTf*x*+`ZS( zI6%@85&bt!WME+?HCT`2t)MXr{T>s{Z-t2FppRo&y3R@sBoi&|r5 zlhzt(%*_*-I>PjU92mAyHV|$WF#zLtP~*f#N~IrnJ8$YX{j-+GnijW<|ZS z5yJvpF=bxQk4EU~!+ejKVAB~QtxMIX1=~_`TO|BAY14t+%eA)f;*C4+8cn+7+zv5m zi+k-kN-Sor!I7483y}NjHxq9x3YPZq>sCmlTo(ts^6k&m-9cHCMi;nEVX`_yC>U-w5lP&f8j_K!h#&&7=YByb~y;voe@WJ0sf+^cYYG6ROhYE|55{7h**?-R4TpUEndtSfn+l+h#I)q&1@z z!WbC2=%P$0wFtpsSa#rebXT|zcVKJ{y3-Y^|tup6Z6OjvZJ03i0`T+y`CxH$5qp)>m0mHWCN* z{zx6@tE?kyXZDAxEsL@IgA8b8p)y&v&`nAiJBE5tSyxn-1_}h*CGd|UEO9FE!H&+B zQoWT*OEOj>I_ui~#W#?Z=KMujQl%1K<+~mK4_~aphsS)#Up(&hs1T(2NDW`s533NJ z`l0XdGx`seAUm^IgM9lVMRiuHkvmQ7udFZ2U9Ums2PtjHbO1cR*d(Retwoa6d$Vf? zAj$SPUW+`0Spz0tF#sR&rQ4*`pn=L%nQVuY>ODw_XJQB9gBZK>FFrvwA4fcXD@>IY zpVXi`heK^Cb1=Sw6Rv5f@{gggjyD9s?ih?5jlB7P`1O}z<~U&pJl%Nwmt#}em}h@c z)>QEzRF5Bbj4ndjhJXJfVMZ@((2dPte2x&tqqzTPD2#FzLBFH^AIh3Chbm)bcdAOM zvY{A&jWPd2S&{E+?AN9jLt*{eYFxWs>z+q?^0~?EsG5t3TO^8}^X5w&ExtQVTAQ!X|nbtz>ZX&QC#}V*wt&lUB zgTgFn=m@MiV0m$*GLp_K!%XPo2xX*@Ge{zGPKm25`(rUc9z7CqiYk)0T^^~dExa!l z8GHIZ8jG-`jBCP0361VPS5h?2%oH;*M*@E36R(l0-r(WZf z^##L+q6arTyom3R>39^xjyEWXk7063AFpg9YxVIDGNs*HF?M*xqy~Rc^Bz=v0(zHa z-_uH=VY5Q>K?=}gk z(Xr+9l*y>`J11eZVvNJeOi;}Xu?WX#Z6G?MCX*q3!BKQe6>9o3;7$uY!)^J3xXTpC z{EK7DCHTI5n}fybiHsSILw_a8I`n!9YRrf*2KoslFi*nB@)D4%V>xIw6`%v2@nbF* z8Q7e}Kq{q8LlUQDFi?Zi8-&B4?kS|<&NS%%uaQV&{QMS8s^@gjWi2=z(>UA#$9yn8 zd&%hdY(~e^nt3RRRx`jX?ZFs1Rdx=?ImzazeY+T)+KUp!qtsrF&pt}xCS0yOhlHiS{E*@lmq|a0zGCaV}#8|IJi3tVa~n5fI=8?i|gGt z8xsC^IS8DCwh;b`gQatnQG$O32lKv$W4_4jJ4DSzthQD%I+DiBh04hmWU)l)S9&?z zm@17TG|!q5Yq^lz?+Au3)X|@qt)%5hval~;I3|9ghS381ld7UeK&jd zd}#Oqv+hhonO_9nt}8;?qjEMNnG=6Y&!jaxft$!kWe}#el2oGRQpd!RcmQB5bM0 zGNdECH)j^)MwoKJ2TU-jFQG%k5_C$cc&~Dmq z!j!UBv6ix0O_14Yr7_V5n8G~03JS8;h;*hfaJ>j{mSkmw6E|G8e>DWJZI-y1tig<| z))omfe2uc6FlL8@sa&J1E4^=sv~zv-a$7*O63sLwx2dFcja71*STkn=O&hu1^V zX1(7|sY00H@Bgi7&<3>A4K9BOSNljOZivcI9w}`qx4eD}Sy6a@^f3K4Lhqf>-zSye+$--PcP#jdLd$} zo+-WGf(X=H#pocau~iwOQ;%}Cp>x`~IntHNwxT`_gSoS9n3Ku3A&c9>+}SoPtd^c2 ziyc@+dASYMA?6|jv9$hlWK}BI4nHQ>ICFVBnnD?R%^hf(pYF0?;~a$GJYpw4SPXQ=SI%2BQ40}7rKqdj9!RyN{s&gI?{n| z-a{=*+XZ^jCr?CpjR*&)`Zm3|GtZ~;-f^}-Js7_a=Lhr(w$ovUCpo%1}Qa zHe|qy&L31_Awj%6J1$)-z&4E}Qj?oN?Wy!Ayzt06=cY}xM7>*Si`vl8gNVVI9FdL| z(z@4re=wLQ>wxhs*!8Fe2%)ag@lcE1Y={8ttW-{`g zC<(Pm;vY=VTP4ykdsYyI8-Rx)UEGh;MFXNt=xZOuUww}F@nLwe8Y;TEQsxmzHyg{D zvf=Qre$3?f5eP2EDmM!fG%ofXMceSeQn$!VK8luo2Tyv6%+I4}wXS&A^O&-WAYZ^; zCd`Vm;!5YvMMe33jO}JE=5E*KB4+C2Crytd!2gyqItXXB@Evf#L!GR&vQMD>>7Kx_ zVb>v%X(W^%5drQvm!bCHO;mgXPeRY!+uZHv)hNu62BY=lGkOpn;A9#%o>Zm_)1QmL zh$WUeK8;9~e&>w*3v#N-By4bwWk*8}{1j<_zBcgr zmsU+VE+d_*Xy)cU5m9*7m_YA#2A;c`aknzVXnbSX@c0CyyO@i#CuL1TB4W;h9$_ic z=JeV)+Lot#HFFyoB5`};AB{Jt&mv84BShMak8ktOL3(T~r_Xka#;pR(v4k%;q{w2a zW*pCBw0NzNgux@twlwQJyq@nSq2oHjzk0l=a{+Gmb452hYH|T;3-d(Ag`Tq!_kT>V zJq|3g&`d94HL7D@5m?f>UeP9$+!52b#TOx%GFWs&)xU^h$ikB|%xmI*@M<-Zfoink zKV^#0eJlf>WO4~T#1Oo2aTOn=mlL9K(5nx6sO6KRr9D)?8C>B0B}CJlI2bxL+MZfp zL54piE$Q8`IK|YJUB*|$bukB%=0Cyl>~*}|_A z3{<0>Yf1+)yoM@$^0de_7B-v{fjzyshIB5wM()>@t%NhU^m1M4OTjmkc#i!#Mt@Vw zMW(G__(TLwG~gim@+UWtZ-sbb`Z^{j{x_jY_dNqRfqoM`VU3R*B>##I!)d-~4?gy2 zcniK(e3iJB-9j@c7wBL)qMh_BI)jRCBdOnvL?*oS4(8FBrhf>^GKn#zHwH2KwE7N& z_giYa!Qk^<&|_^mJ>{;lqi_xn&S`?MBENFPcb+?Aa9gk(nQiIKKrdlF9*|??FRvI! ze(ZP1Jw!Pzg!|rm5A*7=(G1AR=RO7iy|OqMdmoi~RAUbA-^VEGa~lqZJjBOfM-$}P zn$9uOx-qziC}4tT%h{r1FOe~&%x*DGe0sa0yOzKH`Jz;F;e3GzaG}==<1o8Nh;X+# zoNn?6wc^e#44j(>QxGqAqW&&^4Bvg1Yv_eB*5o)8 zwD1J<6r8qY(n(Ly3s>91LGk(+9NlF{=h8N4MbjDAznC-xu;=qc*+>|&Lu9Jbz^5pK zMf(}!OGgG^m+|FOgi(rHwu}jRhWz|`f`jbCF-A218Orn--cV=G8K+__`LLz=X{}Iw zam|YfOgxR;Q+NEQ&S?qEzsv=WK1UfHM)haXK1JB+s__Eh|8tKs#V_zRN_)TnZW_Ko zOUiu6Kz||PDf-VpeeFYmlmIh3EuQ3B2_?3ZRdh!-! zGvPIYz+uIy@6flLbBuN6Y52%!k3dcbzd^`f5*U!vgg2-btCK}w%~#r7-onFum~Uq? zi49_1DA)!go6(FeX~}4Jdet~Kip;an%T#>_dKGR5XlT3@*by@dC8NE&GrFB%n@8{7 zDRTr{ya@gd(H;IC)#E@P4%&af%JcX4Sk1Yw6q$J8W`72P=;R0F1kQEe`vl$h` z4%&^6Ri7ZzSWH;*5h14HLM#*9I0bGn_=lC=sj+58e-3q@rt(jSLB=O#s1BCvKSQ=+ zMyvttx{KA1ffOrkLk;FLW$lG_i`Z`<4z?mH*~@Tj6iZ_DaVh6B4*bc#U@+Km9Rpre z^aT=6w{URz3({o1i|0()RrqJ)G1;4(b>z{pj)*sf5gZFOdnMo{yB~GrOxC zg?@e_Yd3R`Dn#cnnF}fpGSyMl6ymW$!QR)N6&YtidG9byJQfuvE!){OxWMPAIBQ;! zKj}c}OuT?6s5%Lgli6<={fvvVrTv1+Us!+#?ik}NQzZ+!4LB%~sS<@YFdihRLaE(; z)O$N!XzAXBF>)%dqSB|5tT;pJtgFHq#^%~IZtUnnvv((vwxqx+DxBl%A~FpH!b5jV z+1o0rCPMo{(ZzyPda4jXiRbN@bBVr6kIw3;Vuh7;FOuH0YT zF)e?_XXu@=Dw2jAi*un(h4`FQ8X?{jE^s=_7G4tqMG)FNrljQGn7e3+zvHUViZ`SJbHuN{ zK%rKuKswJr3XYpI5MlvfjpODFlrS*ch=E8l)Qh*~>%-2Lh?^1Sy;iCy%C|%{{hy5p zu%T&*x`8Z4t*NIO=Yts!kQQ$oXFlDaBsp zOD*k?sN6;zoJo(@r`>j_P6bUkV`>lQH_aGmB@D-{W#;EFBd^2uj01xAbWp_$?_hSu zLDfYVhj;B9P;#FgRMEmmm=0kQZFA#sb3Gs5vL8LQ(s!m0*LT!WRYwTLVj@!><)o@D zT^swd2Cs0O9=YdDcyfuP5x*N_%%>qcDoKza=u_L`X5n1(K0 zkVEU;mdwqUY}`>!FK|k?8WNH3j*3-)Q@RW^%&uWdkC^jf9JQ^6Jg)7b3f1{eS=EsF z%RG>HgTdUvu$n4WXfcF=Tw%gE_8VI|vW6{>m6IpJ%fOyOHPnkvo=|vTHUmC1*-K?a zfir4g&BGJ*p~pN4UEK@SZ}~!zX(CkOjH||%A+33cftSBGG2uyH7}ProWrMw; zEa|*R#|rmwFrRsaj6TKqAPOyUmcAM~xA8uzTEgS|2rG8ZORzD zkDZyIM{k>>I<^i(Ktua+jm1GK3)&Ef-fl*J3F8=~N)S8;i%g1eVi*Snp(!O%Qnw1hqx3_&@Td06b#Uc*DcESw-=%ts@c>cO4Oc&$V|nIe&DIX=Oj zTtbnesnbL{QP{Ve1NpWDEGx`G$I)h|mXg5zT%crUf&;&}+Vz%}K+JtEaIPF@Z_kCH zq4#<$GQsq+6|!v311>o@oRgAkdTHh*Jb^IK;6}yl$cc1xJ9v38vqSB~6M@MG70t zM8<+XMWC*j_)3_89*K6;I}%0xy2!wIGqpYPJ;0st|xz6q9whK zLlm%hq1K!nkDkZ6jDwIsPXYtwP|ZU zV{=W0mozi()+QN4u{3OeGTi`GX_HZsJI_EW(Yht9kcJ+DbUo# ziPM!S7)4yONpj*{)i!%A&tov4XF)(JQ)np{feqc*4}bG&LQ{l4r?1yU$$Y{&T;>75 zlydx%Y}okAm=UJ&_&!;)Gz92cPJPla zEVRT{P@1Y1vrGfC$)=RjSmjarPm(pYtC|cG`0Nh#bHik5UD<2?TgZx?Uj)W9Cj&`O%#bjv>OzS+ zq0Q@SDZxG;i#&^g5%p+@1r z4@JSep2-?>m;PBuYAx(4OWk0XISZZYZj1{>`hFJTeGOa78YWJ##@Yh|3mTz2Fj>Gr zF!i66Y{9=G*XL*@X6+&-&_xJXN)}B}1@1IPy%@2IfuX_-)DK1;#~*f9NDW@CPxhwl zrf3Wg6BD`a67N;o$D&>tqL#H;3| z<1GG(^2aF>Sg^$mpD}?I$c8(N$une(FQxhQwWqWe(0AH|Ga&|;zo^&AmNB~Ap3(6z zs*UKMcjO?qC4fFU4dzm0pMnQh*-pqnhZJcwgUMb96bYuVtkFuN*ww4k`ADbl4QBPwf)j2zrF#ez)3@Tu@_iy-yeGH;R8zeS2GweQKT(dp8u z)>`qOpTnf`g=t+Wv>nFrRdab@=i1?WIsnV8EP{`Eq&RTRdF`QjMIonmwa0?S%zhjM z=AbGq9L#}HzZ7d)pMx^!IE*uA2c;PD&F1DsS`qLa$pz#iQ*>!oQHmp<2+i++fVPek z-5mKa=hPT2&+{j7f%Y9$SweORZSJV*E;PV9KOI#uR5l4gw(W#Syq?LJP-;_>;=vf4 zP3i>oyJmCW`EydLQqT-k3H8%tEjq(ZSR}gP)Z$p|nVews&efc@>7q&#Jn@iN7geFK z?H^e3#R`l;SBz71cQDXRShAN%2Gg^yXyRA?NA5jQ?DA}tE+u!vhj=$kzV%dj(WYFC z+E;Z$qyK^vWxtu3?P@x*a~$TRFRLl7Zr5?r?6(jl!;NmS9T2gxSOc$^A zwi^nC$Mv*C=ip^7QDJ&6x|)MHqo!e^ge^FN))O_r&8DV4Kdlkm1KE(^!s)@gF;kev zm=ZZ-!l}}+rZwO781JJMP&Ta7^+f5|1hd~@D)y_1Lm)j-I#DT%@gj>}sO(E>agfiz z#Z(SX^-?7XTkCOPQ>!NKXRsM&i#!C}xG|?^<)KA&?9PBEz0ZU1#<>()fFV>?K5FJn z>;-E;)zYrW47|!@PB-$Qp%wOeHBJWP*&D_6dQRax12CCb2Iv+YI}>OhwTY zm}*v^e!kWhzAP7V+NTgL>=<@+naqMhRJf`CudXi-sB!!LzCDNLS*20o5)qjyp`uZ9s3<8@ zMWwpv9CNtWJWtD9W+E~V88TdR%6JVS*DR7*#`m+&KAxU)f8Y0?PV2MQUVH8F+2h(* zB*-_0#9;B3sZz=mmv%GYu31KBBbuo5e|q`#y2bKGZb=4!V^AcPO$w zWZPT+2hyenqq1FO9bKh(o{Nt@bz4RgK zqqEz}ihceU6Nd{&XFJI%gKC*p^k|m6K6M`hjdMb!cE1 zW{pK6qB2y_{ju4BvXE)D0+uvjTy{s~Z6U5C>DFwJOGHI}L`FlJ?WEz^{&Cn1?5pQxbpN!jgXk(EAl z`HN3`x;ZJkjcn&D73Dn{S?%{mMQxv)?ImmYLq+}mXSS!tB8vD6U(02GV%YIcMv;Hv z8)^0zy5w?AMvN2S1`fa7$!ZEJX}KvQ+EdOH^b5xuGNJ|DodWR*xI(WYbg8<5ugd## z+Ei3_HpLZr;~V*!@yj|77*7N9T#?sy8m!QD5fL5QHVqM#MbgBXm|k=b^);pX(_zPx z9wO4155?9`hq5Wr9DW|*iwil^(fsPhF{C}U9s+-;N_WKBGq7NcVad#FPb!^(u3$Pm z)-jQqcwZxa>uK;z=sGc$!GnaIlj!&?ux(}`-k85Qab^NsE-R0<1^nqN{UTY-U;-(^ zX?Qqdp%P{zhIfk?(T=XqW{KI%lGl`+=b*zY#yXga(5KuvV3!=A%X1Lz{X^`xEe)9q zu=PnUHf%oTgO$g9b?Es3Owyjug`M`erp;9R;^~s-Jak?;XVhT~3+Ln0c<{WMxic}Z z76a?gN0-_7mWaT2Bs@_3g%yof3$QwHXFf6@^NEPW2w$IxgbDrlgzn?g0$8N@#No1q zh|qc=LS2R%38qJhjAO{@?;_G&n5st;S7SU|x-i>}!WLn1*T_JEjMwrr;E$y}Sp@YN z)*=s%9E{LH0u}@Q4Np3)MjYNQesw6(9zm48Ts}4Qla|jpy!FJSDi-7W_zLeji9s$k z^Mgy7O>MOK>9jsepmP{}BuWJg_~EfWPHH+^xQJ4?8MOqd8;ED2RN+i%5Ml1{sDp?! zp!_*(#z%-?3EV2G1kI@9QhcSZcM%aB2v~}i_0dZm(IvBGh$F&R9oC_7%TQH{P@7d6 z_2~{nW(^mSy7VgD&xB`8&*g|8@2~ulu1kxSBToh^IC6AFwh@*6;it7^1)5RPC$nhW(i&Pn?>q@Nl-k2pKhU7ifPm>B)LXXJ;4yVuZYeL@)@ilC-3T7Nz zq=HwW>}{4Yq8&Y3g;e%m!HKfPD4n6n$hSUA)iZxJ6Bs0H$>W07xd`8gWhSS$}Q~$Nu*}}2? z?AM>{*CDg!;TY&z%!lT!!wP!AVJ`k{9Xhc`M>#QaJuFywiW6QZ{2GwMF{EVW6nu!A zZ9vk?&WOCORJaB$ru*M&3ADK&3Mh@ly}^wLSAn_UYV;3bWyssS8jKXSGkD@d1~;U8 zcm1$^vJqLXc+3z7D&B(WxyZ3$;dqV{!kM*QilmR zk=-^l&R2L&juGRxp%_sDN}^oX--xQWAqO|sgts=)8*E3Cd%H5Y2|4XRGdS%o5@xh@2P)^e zF0`f)8e6&hYmq@AEIZ`MkPbAg5S9MCHzSfXuF&P3NQ`|)e_WQ_iEv;2dAP)`{)W`z z02*DakD56xyNd#F=n#oAwA#hY2^L{Zeh+*!g9n6h_}DJgrGw#|Xb|LY!&B00H)Ile zG8nJ8?MD0;`f{Rm3@rM-8+KRWwK>L)+=CuZF@z=5feiLyVe#M|lyR3d5%CmmWpg5Z zFET}Y94EevM^a*Rl)nYV?L%Cv{}f@B)42=#Al)535sOu8 zKWh2s#hggpkBO2S`X9!zKY)+z#r??H3E9s-MC^J+{{n1;DUkUxdl2_s$=AtEOnIz617Aq>ZPQwEkCMh*1EDN{yled4cA zUPln&-H#kuas=O%Q}9#C*guY761N9U-~>Lw5r?rdl6n-Y9ScoFM31cr<62HAM_L@i z1kVp6uoFnybP%+-7@h5h zWdw&?Wdt-~jss9J@bzI@XCBAa6ZUMC#EawEoi$=8=LGt-z!OksG?_7Cgo7yB6WL9d zoXqyo_(5w@1 ze+mK8@Nyqi(xnvv*m_`|eoX%cd~Yp-VdSa+O@7~G2!m-agBy{-nQS->{2Qf`j|w3o zb~^)9^NHzu0;C;A+#!k7r9A;=bnG-z-~EUPCkn$aii8p-;5kIKPWFtdT9!L;_^FTh}v%-?4 zj1@1z;fXYSL`0;j0_v6Cy562g)IXkap34Q)qe+#bpcNHffC;Afz_6g1&jPF{$PS+_ z$BPJ+TdjnbTtZVaszg5H)c`zm|E?Cjdl3;Y{!k0}mH=?TX9(();pV-CAxfVxCrY4l zJw7s=645>&nE>&y@BzPOvXii^-Rrm1*EsH12 z1hDND2xcH>7;>*35T$pe1y>*_v*obx0EPOQA&VO@q%C_D!A0ik5=d(jx;LW4Yxp?l zUB%>lWG5-~?JA~wnO$n34zkAwR8+NdcO44djRfI&A6$I7hDoO4l$2RZMtJ6ksX;_!=&>kRn)BVY){$vaut>M zyt^iSC`YkgyC;Q44jf_1zk4Znp=;BNTBaf0-PA^Pzvd!iYP_yxqH5klDfoY@g&I-e zJ#--z(WLPZ3x(d1K{&g;6)n=^K5E;y{vwQvBz=RF)xk+PJxBuA+{e;yDf|Sh!W&TM zq#&$XSD;!Kj^l7e1!lyFI6%*2ipK{v;c;Y73zBwHL~{~M2?aXei0vIxIE#y+siGfsp*fyGIcBB4X) z9|zgcr6&k5{EYkU!6sB>i!rz6 zGr&{rL|B_%)DOlZMb8kyd<-^K(%LlCF1Q)lS_NxUr}K!VgI%yRo3$FNi^9tX+sGOI z9NKrak?^41kQ;QH@jeGgcy=!^Kl&?(BNe{E?P$jfm@x$-1ZD;hYg)PyOB7C(2>PHG zhdYM{+wm#D=bmado$td09OzhluqL(a6>LD~129Z&8m%Vv8EZMBRBUvx9(le*qyqhYIY;b~24USYfdjRvIq3PZJW3^P@sv1|Pb1?z)hW)*6rXBCdW{PPNv+H{OH zRY+Ii;rI2-D0`Z) z8byDJAqq@yRfrKady8>S0j9Mo#E_cUVe*sz7Rp?ADd7d}>QMMQOzv?e*^-Rkfg|4| z<#-827{fvVleFHA>eu}~D#)GNYKbnW5M}i5Adem1!Ow~fK zb~usv9wXJD=W2in9eIe*cw7X}v44OqP2Z~Vv10WBMKu{8a+aiw8r141?~(R#U(kEI ze?$l~e8*M1b`<^$Be^eM)l9vpL6^Vrz&Hx`4Mm~cOLF^!z;I3fi)YXM^lW1ACwS{) zL0%h$*wFV+s2YpRIg;=>J6Ho}aBFaI?$&1vM*p=_GL$K-whz%FuNq7uO6~tIT9>+5 zgI`#Ke0kXLKl~8e5M8nyg=}d21qRH)fkGJYODmo={en>M;Mq@tYLeq3?0ZzQ0DD>~ zS!C2aq%prS(&sB+>kcA}TUnJjpH;-*&F&oj_!Sd@t5^^IhU9ed4Dnr}f&AP14I=dd z8JaD4b!WeRRO}O?DyOaA!ES{Ei{G++X?tLZCO=Q%8yX_*XDoVhtvR6~w&dxB(xM*- z=haJu&FN^^FP-&%f~V0}x+^chofGT4dBO#EdtSQ3KT?4IUy& zwIm};d4t7c<;cu532L1jVu@7ZuIexm?JG=%vp%MN`{)oO{;=L>4TPLFMue@%;wCPr z3=sgE!lj=|+KO=M4X?}Rh=@J+g>+$@nq{jdivq@EFdngtC3MaQWKg#WUjJ0;lss)R zt|Nz^!RhL-7LBhXcM;rYi?AVCxS^Asxj-$d_@%T)OOA)Y7KGUGTuQEsSen7}vX&g~ z;_AxV3&-;rfoJ+QpxOmJWAmj=YD#+J^${j;W>W}0kF0ra)`SwD9UT6oDenxgad}$u z_LQO}cN5kfV2os8b}{>f6GyT5dT1lu$rB82Mb1Y;aCww@Aw0z3fKv>1r0?4DPC`?- z3}r;br4T(z(?Jfrx+)@#*anj^ebzy!(idT!- zUr*j$h|>`XU7D$fO!UJ}uD-ktRp}v`>9&kW6>uj5zb-g`E_cybL&XM2hoN(*79F)k z`rQo>$J%yu+(7O|GYyc52JVc=7A|*Wzir5~eJDJ@8=`JK?ZlBVk5D~Ia1GU_Y6jow zB7u7wq24_35)l)+WCR&gAC64u5^6?X#z0!)ECf>z1S48w7z~G+zYu-0GC_J=gE=zR zMD8hc4Pykng)@#$0wbI#qYq3`K3Qm;7%FY3F9&mhEv9mJp*oFa0h(EIsOpHTTRkK@ zB~yfPYA-KTljhcgWwtpSzF$x7t}&mg%~0z+&E#Ifv+4B4Ozuuc!dP*$+VgdqTBId& zm_UkQ| zN;Mw!<+!qq7b932meoh4YQ2UNb612mCOb^+@X*s^TCkL_B3DwXuW!Pq(79l+XK~V{qHu9M-jl3ElQ^ zBF$RvA?RRBnguAamiq|1_KAcM`P-mMwK*UnTC~{)<#)1(BR_5AQ9_F&B4J4iLrf>O z*dn@CxTb6;Z$Z_z$b0`YjK~mdu)1W2T5$Szxi!7CgV>z&T7_GkfBS3>p4z#cib^EOB9uZLPwoE^$!u|3o_!1W7z`2gYLV;XiDx^#Kq)A|7*roY_!bJ0kYcz0M&rYr>3V>vX-ILUrk zsl%GorJ3A_8HDrRj`HRd*A#)j+W!BgVUUbe{oe@b~f%7bKUe*gdR;2{Z7 z&__qaW8C6@NO{S&b&|jau3@mf8ElX6lETg9J~DkD36kC=%$DzF4e|<;9#e4jlSn}w z&N??opNb2qEzm`TILX~*hax2+Tb<+q8aT|;5-m)bzcwLZc)hI!lDw&xL=LbH&1)fd zk===wz?~zJL0_9ALp58X6hHT-L}#?{-aW(M&5pg>qhN5Wz8szt9R{Bn%=_6522UBt z;7;W1jGi?#g%RV0&uJXYNDi~XPBLc1{;eRJr{M6aR`Lkp?=d2QLq6GInq1I&N|;*r zI+ICxP=0IF)X_^A(U^X=Mqhhj6({<-pwqI+NRujR!nCLcxS)p<4qm8%(1#sKcX=I(a+f;`^>Eff3cCu9IugWNE4&U_ zc7)(feRWuu#&v|+0hr5+;jec@J!)t!L8cpp>yeiS1dmusVDf-qZyOcjA@3l#;?)9C z&uYtX9qQW&q1NJ{1%tPDlKTpptvO-c8C6KT9VbS2W*m1;q_hpMhZFAzcsYV0xGCL5 z-b(n`ml001sS6U~pTLL~RM00}n{+%Ot1*BhiJtPd8aFAzOWu->;eTOcGGnwPdoPsC zxS@=Q7w)BVu$+O5GkMT&L!r#f71btgSh%zeIO941i*2d5yq&O2p(K_J57%DO6%qe| zn@5Zp(-qlapTmj0T@mwH_|0dW*5jbpwi{$UaEpK;!@J4bXxyg$KCtUD{uhqVREhe4 zm^gFygcx%{0xt`aw-z2= z;z)Inyql1IS;FogjFQf{#*wlzm~k=~Rt~!%BBtaN0;OR%Z^Fzdyc%vwa~N{vIY%l& zV0ZJEoG`9N*7=5_2*=^h1`D7>HipVwg~xA1M3)T1&}DAN`z9(GE3ykit}P8iu08)O z!rJt27;5gcZxUp8cTA6C!(nDKc%u{J*dLC%vR8u|Mq>VA{|y=5ECS=fDdZ3-Z%x%d z!i{Kg45C;Qfhejpxm;xgjL*lx(@1%mplis%Baw(w!;}+tJ)m}!Id$!Y`Z%!%ax>qS z5iN0S945SKzzApZ=!s^24e!n}qKjRG9-L((lbo7zq;4-1_nzjA7$9uJ^Ri6rN-t!7 zacfRAcS0DiD1^DumLp!y5jwms?TmuStz0?$B?{9x97s{BNQ{R4c&FqSQHRb%Bl8_S z8RAHdVnD?B((xF1N17XhWEo&e5+ffXG!J6GF4VU-8ijEvBhZiZhWIt?XU3rIHt2&g z+Z)9R+Xz@Us}HPG#B$_*uLv{x#E{?maU?7jbDFFDIpNVa!idhsg8gFwpMdniU6j%Re}BFAgcWlg)@G)Hy2x2Q2!6eQXRz9I{~m5UhIiMP`IyX5UvH zE%;+*6De;*!STqH2a`GBH9o?eisBLa+C0iiKt34ulf%8|LQc$C5TQw<`pG+Jw4lrc zbh`j_=|co`zv&0v^Wc{(0U6+)0G%kqI$n1~8f4YkkK?O*fvh%&MBSPBwZbr|NjL}fh0C@vyS{Px? zPR7BP)&Q7v9M6QPc=19g?p`HhJnAzLQsI+QS2Zb)ASp*Nm$R~-%$LLR6i22?c|_31l$0j3_|bt&yp z1l}%Y_ij>?V09)s1r^UjD0{~V^JHX(##crR7V5yuWHOc}UM6Eg^rr@O&4Q}36sSr} z!Q#N_IwImBOh&U~>}M8{a9=wF2{CKTk-Q<09oB>s#zT=StJ`p5{7`&v?{yUkP3qn` z(vY^!!=Tb66((N8!_7=-K~SU#C8whL2S$iUeeNf`k_jG&;jl{@)OU^N#A-%-NDv7_ zvQ9^yEXTXfOzF>okp~;bW!mkY{izd>AzR zJz4_4ABMIv8ZH-EEcfNuzZ{i}rQZwF)ilAoA_SZ$VpgO+8O?~)qOuHVdNE&wRo>Wp zWg>yOi$qwDjOW6{!$VO0iWn~w>)TnF7aC+CgC4GAM3NA_jXc6ylr%Q#jVoN2eo8717(75h7=NUhWY)Ty!u-dtr zA&xZfMPz-xT)bNW!R_$-r-HHjr$9u;H5>^ajWgKkqYzQeR|#@&lsr&)4F`}Dp$sx{ zf~T2C;AH7&s5ogYB3N>@>|sn@%zGH}#a{Us#JT}KB30p)0@&PS-g=)ho~I+{IsD$k zl*M14DjWBZ*2g2wMFBj8Iu>a&bm7RnadKOX`H+8l@C(Tz0MbWz7bXTU;ZM7E9FK_3 zCUSVkpdOm!HXMCi9)q7HN#N(>k(`jBBBDC+5uBuEkzE=W$VuvTBd3QpT^iX#wKLmj z64YKAC-Mww>?Dj@`cDv%hEz2QL5wFOTVzv2*pbrKU@dLgbTzwE=W>D9lTlkAtz<+i zoa&aFPy+S91|eI1oBb!EoR_E0!>Z(;u(sC*5%v@6p~0!b>r&}oU@zH58dETexn00G zj$|}dZbtc2@Zq!HDiSD@c zeHax>`Q~8s1^m}}gj`o>cDa^6^Fj}Jz@CnbaJ{02no$159tO07vF6@VV;Pg&AFIO6 zW+2f%50oq_e1*EZ?GFA-n1K)}k0kKT8S*Z|)~6E0cP5ZKuOvv}OqB8@G(Q;5l~umz zVZzt?-De@9D6~Np51yR;@v$NX8+}p2%CvgU#urHGPv9$9vaY&4see^3teMW1hsvJM zsHJr1$ZRZfbUCYn@=o-G&&D~J*?L@2K{<2e5wgzLYAL+;JXhXH*8heI%A70rlXbdP zs{x+;=E}Wg4a;jGBTAZwBJSCaCN4zLBAU7s-nLg=Dt7LrNu~3UQBU2}d2o)m7T<)x z`AFMHKh84_f%HAEUM7@!4OMiQ)X=>^>{lNvcFG5L{k7R@wwOkAp z%jeS@LKFG1SguD#vk+J6ex#`P3bpV~YeXr3q4P$Oz{#IHr1on7TGgT@NNDzM&Z{Ws zWlmd9K$DCB58lh+(jC2UG=-47)dxfbO?x+#DBsZjdO|JUlCw-IT{vILeqCtZQjBZX z!%Yq|*?1*(znacLZ#wF_TBzVV5`n|lVafPqh_VRIbHs4>mmx=+Jyb_DDfccciC+%s zaqzAqN*`S=_t0>p2P^P>ZoL9s--MSU7f%+iK!+9oT10{b`5TeYp%<0CjHsmz_V9PD zL|**7r0%FadEQs!lR?M7TsQ|o_OC9&^9 z6kKaYo1SaHY2tB;2KDoe@$OR;p#HWg>el3_l*ko+JXw+=Vg>0-QNrYUcIly-DKxK zsi^ADQ3iBy3)cQhYNSxm`zWltR$-BuUNV{!ldPbTeVoH0r;pTnFCu?Pw%_n=*KmFxia#y3z;3Xmg&gw~V8u9p_dHE?{Q@ z_fVN<5dM~_x_~7U=s>phqOEuYMTLl9t2Kx9cOnrBY#Gs>ChbJ+$F&3{@nt9G9UB}t zQMC*E95yyELRrsO?}CaEjYXc1FtZ6KzS>9Qxn7ozMY|z0+>sjYLF|urBOf|7XT%sG z0}nIo!9e}`9!$s<;_@paLid6=fE%!kXyFuHk863h7g|2G;c%yYm}#|YPZRga#|iNr z*l!4h?8ivw_fDMH)*)JXml_UOJQ)&9Rhw|+KIH(kMEWqKGZi1e$Ge{&x3|?nq;h2d zC-l1^f&I?H_=^V-pluL`Z4Y65+$4k(%MZa$?=Vgj2BOrIIpR@-0J@PPtV#2V@U3ak zlOuCNQ9L$>Q9W#I!F47`&AIImrNG(0V^%D9lh3kGrc;W4E3 zeG(@I^^dO4gH9`kjKdHP&l?C>8T2QEo27C%{J1Sv=-oLGAb zRqD|gPSpDwWg0Mx69=Xs#meUsmM&6j3qzMP0XMq4=$CQkrxDk_l?)y)Tw6^$Pov*| zpT~Y(Deer4`s!Lv_^m>sl@+_@48rVM&&}?B7BclVapLG%82f%RC*04WW^K*qgw2Lu zt?%|Zgsxk_;ezwn{Ofogea)I3A`&Dl*vSd!3n+|<7*epT+j;?s?|^{>BR1?neNtKz zd{J(#VM51CVDQR|Fs98xE@D!G`q#XO6U+Agssy9=t7S>Z5iW3eKU$o!mRMbafmz2m zJmeB0O*_ts@**TcS?;=}kQsfF!?C4^Xx87HC@ICxbP|Rw%t{dOh8>T3s|+=%457MS z;JmWSa&3ycj8WI)GL+pexCCTDe!*TsqcRck6O6BLBIn|-bh}?tONZ_?E-?DiuVQ*} z1+mqE7eS`h<0=ZH4!j6n#W9xQSCG~T3sBXrUxm!o+YFv2WR$bt?)>uN?Q7sD?(qO& zoD{F0}(Nyg6n9{pD~7FN-O@2M$5c`?E3mxf{d?V1j`u#m89QwWJ-_@HetsJxMZ5~GaTk-cLiqnhO7Yyv9nASQIs6B; zvx#ZS4K*xB9Nii*KHLnHqaN%2&WYl3RMKYtj7SjVQS7$~72iWecsC43+qc|BK+oP1 zIKM}X0nM_&5Zm+~c&p*JTNMObA@?va^`NZ#SVp;U5A)2X@Y5|SY?=^F2jHYz1@{t?R*D4N6fB9+>*^F;nZ79 z*2;(St{Ug*_#-6R=n+aDuQS(jmmZ5TBgJ1x;>JfvV$vB2@9iV>ndVm{NWaHe<$Lvy z1nF}n#)j@chVdpi?93u{d4i5zqe7I?rOi(;bz1z2Aq|&Q$7;bHw7j)!-G^A^p@{0I zF*+3Y6yw5>ZxW>NW2`wDoWp8lpKr0!ylWxQ&MLXXl8af`&;J(Nh#lN?5@PG9p%!%L z8KxP()l)+aspWH+l5AOvUNnufqP*wOkYJ;Rnv&KFtgBDJ^PIn8gRBXAl+S`@y+Aj5 zm`p0slyAR4MRILkE9T`Gr%OwpV@D{y5?Sis;yH87_w5 zis7NzXTZI7i?AkzeMZkQdA|hNUJ$2Ed%`hYJ;$U2u1R>Z8Z;stXQ;I)rUnbr$zLSM zmKqFGJ->4#uVG&!()j|JHa{dt`4^-z`wOD>sLfCJ&_LiirQ&b zU!=EvMNfRsN~BG{;X74gBhn+jVR)fvAkyXEpwFnGNC$sM_@2Lu^!^5Y;pF%!vU7C9 zzS3e1aa76Z(2jm)9oirDr=Myb@+)H z2aQ+$pYs!GT|6ECH>Qy^qCVC9L^JeUT%q`VaV}aCv;hC& zfY~Bts1ywaMuAI}|DVxNbQ7+vQ2yUaP_!2gZczSjnFl-WYe3%?L4j@AO-eLE1|WWI zUmfP!NVU*zA_M>DmS21y!K^^}{{fi-&d+x$|8KAj`Ln7H0(Y(h>7e~ebW9yZh_K+W z^8c506h1=wF=|s+(Sw~8H!(zJR2juv@~bWv>LOST{Aw|{t|l})!><-2rkcg$%qV-V zVumJU`oMV~gHLH9EfeiHF~>39fSPD2+6ph=UyHGo$e&t@E<$2s2~wqnoVo2NL87#g zeeIn^M76kbQyX!`w&U;~=XfhVHtM7U_zyfL#^Six4wlW-K}qDn2{%K&xW?mLHtWr6 zm|!lPZ!@^YBi@Mne7?{rURrxrb>#vEUE;OqN2hpQTBQqhySs_7F~7a7r3ZBnd_)-U zvFj=DkRW_{vj~*ozjz}S3ifrCL6V!~HBJq%#j_7NgnmkctH4CUc5^FP!gcq->oB?hRG|4d>; zjBpu?h$f0AG}ln!CalFGA|qZIDmt>K6O=@#k)o?cGQBZUG$s6xTN1kvfpR8u!w8W- z!(g2S>V5#F;cSfTD?G!I@y4h|7cO(6<;8f_TUWiWtC{75g+Ug6=Jojc6l>l{bedL0v z^-yO$YiLb9MVj#AD+Ak*w;3|_TSuB`2_xd$_p_uOW=KSCH-@w%Epr9@sQYrF)Ewzg zH;0z3xNOAOK->gJ+$v(k+<<=OqPj|Fn3TLg#o>nn69-vXiRdx}U$p?z;otnAUx z7%L$d8`<>gC#{{YaOsGty;EP&iM>;-Bo4;(GojfH@d+Jli8$WlDzl|xh_HD8XB)@& zGo(9zpc8bp0=w5B2DhMbR!C&~MVweMr=LFmHhp9={c}0|(?+39Wy|_$Q>ZmE;0-Ps zv!F^iaV6mHjj(k5HCN5Xk_{56&UyW;*rFUi1$T95$-6g>%fVh zc8bnIvo4&N?v`N2Ywwf>&|}(-!)F>OT!oYVocP^d;VyIx;ly(P1f-hzrCMi?0C|xd zHt3O{OI7x0ragK|kRxFU)|Bc1Q?|v3FqZDj6sq35+yP2@%Q?@kAtKTlClcE9XG29h zVb~Ool;$8)5EO3Z8X?q()f^6NgmyKffDx_fKqHiF*6+|KjdQKc@mRITv3T<21&0n zr*8~whx1X47|;wE^Z{p}9MKNqKP9NTkSEQcMFGe4PSDb>xuUJcb#ie+SFjZS3*p9` z@tqO%;K$xc(O=kM!G2NEOcG7Fo3YzYP*UGYgmvgZ$7~DoXaRUbdkJjRI?;fCCD$-s z2Vc%x;t5U4iXm&s;9wQ(m#FgaK9Ipx@OjPR4et&m$_L8^2PaA^xLYI_SQ?yYNXE{n zIj5uPL2LB;4v~rGl);dv$sz&=9|Q2Rdiq#o<|AiB@GeElKYvTh#mPhfZOkpz$2k>V$)5luUw2@QKGB2DRL4LXnf z=W5wA_O&PgUlY$0aoCq2rRxf_Lh8{(S4A@_H0ZCo&pDXEaM1}kL-4R+zs)JvyuS%` z>4==^>;|@J3mz)R4e3aB=R~C&##^oYIT7y88h0Qk^nLm(*MOXa>|l=E_5%WaPC}bl zhTv2~M>TayWd(0M(cHHiHXybJ)2P z#(0DGiG&e7E$punywVAR3r>kVLu%I!Vzw1e}nc$^>ham?>z>kT?03#}#IzXGJ^(zzfYb@azUmJ|;L*9t1nYRez zWiO`ojyI%NMvE{sc?>in@2-%3+ndARyW*Rh+Z8!GAx=cRgpJ5g7QaCz@^kxWjAy5G zgR(c6oHDqi8}hTmY(}_{mk-MO>Rc5uV}Ko%`XGkf^&(;F zb?1Gd{ua*c`YGJ0fgkM2fYWn7)V62HY(Er44MGXAm7FMfjL^z}6a5hoi!P8seF;>U zi&eu(Xi+VJYpcfK00cQCAUDRe`djm&Xi~}P~{5p&w2x;eI=GH ze+kqfyY2|m7MH~X6rFeq=XFQIJ9=}ZHgOg~i0~f9a{>5>Jzx7qi6xIU)F@T82QTPlh_|DpX@zUnQtT z37G>md1-2dB39pd5?(|oKFL28Fr+ypo*RfQL9yE1WzzE(OL)B6v12pMh5*Gr;Q zeO?QXgdwo}g9t;hSn5IV)dJh%4zntHeVYA#pdQT$M~3eCCV^jvD>})>nPOw+<3KkW z6rpgD?P(0kZje8(5U(N>*0NDelmbpvVL!--XLQd<;B}kT;@ULbPhm&L815Y*#T`Ni z>63L2MO)d<9{<5rk4I1MIY_!WAJ?Z=45!uo@Lf6}SCg1APAZ{25TCQ4F@vO4%XT8o z>!}zj9GXnky%av=)e8kGpTdcKy)X>`?#A0>qxfIs5LXsF~XgG zo*bmforzaoQ;X!tZ7yK7I!V=jEMk!S)#Za|&4d0}rPfDxV)V}-ZI)+FvUc~Scv+0X zU1s`K3VHQL6G%6utlo-Y!c#MPzksT+=QzbTZjQ{`yv~($1)r6=Ewa~@rX5Tfe2gksyZtk(uZ-@OQ|Vd5h|o@QW0yQR@q*M^n*+dj({m;)(plj zdq3p7InHaT5PjM_8rKdxB|z}uH3>W;0fzp(!I9!7Nm`Vtg<`0+);bYE2nV&8rdom8 z#&)oJu(Zm|{PsWkUTto)hx$>VE)!k#T+*S_^5%3HZt;+LONba z2K0I$EN&iKi`S<BX664hEE&bz^fV)U=tVLrX~kJi zB%DlA9j%>^f&%Pvi^KO)&^8WNGGeUI=N0?)z!G8-9yc3;>Zh$um(vsuB$cKE!Vo42$wmJ!O6moh3wabTVBRE%kp_dhFKU?gl(h9EUapJ?&jdif@E_Z z`?oB}>Kx>-#~+X_D`rGPTKxxd{o^S{z_aqPWHUZF&>M~bFH1S>bsl<3Mj;gg8Ql7s z2piJ8OUbH%;c>=m_)O#(@X1a65r7ANWUvKo|Cy{qN2?Lb(T-SAbAP8+c)B$bslo4( zRr~K(nTGjaB|O8CFxumX1W6c)Iqu-!sQ(xqizyu$iK1SB_ryiSG8^gcTUSJyklkD? z%WTYs`V(3rjHAHWP`}(pMjID%cpnydKf9HtN zC=6nbG)U2=i(@bd7^Q&p@n#a9P2&`6Dp4SUIxR%lT^JL}iG)$8Q~|vi;Yg=PA!T!7 zIpHuGMBjK$9E(X&diq1o#->Q`p5vCn7)(&oW5K^O8nN^q#6z?igW$PIjL2kf6X3TM zwT{H}M!7y$e=H338^hsW^H`it8p}f$k5zORew)CFobd`>oXchz#oYP#8Hb=zi$tCY zRm{bTp{8sDHfEt7;Nhtu$LX=aAppcvkx8Rgv-GcJh;tdEGI&y`xz0&iQ$FVI#|Zwwq+8y z@H`4d8RTPWinNzGd!0)iU4+KCX%eR5S>+t@EJGQ;zL8RohjW|^oqL~1cx8(fPPBu; zXDe0klaz*Bdg%+bScXrhN~R(H ze*;Ctgp}1Gcsi81^pU`+>r+%c{-7u|+g#(g)T$_0qU>sQV$}rhByfRIGti^|ju*h0 zfiwFLF{ke{5czgI=gkoFv>_IJy=U}HM7{x@#u%)x7-B}f@1pBZ8l$Gx9cKh)VIfx^ zyZ=m(X5o8hIg1hS`#NQa=91aa{&F(|no`(0g!_Sx9$*^Hfi#s;BFE$5(g z-oXW#h$I{uqFOo1p97nWk8|G3IS4xKBqtK*Vqc^BrbwU!uMV-JBVF-D*PMq?-uETE z9k);n&f`&+{$RWfRT3V;;kh0$pPw>;0q`@%%t0*ZyDFhr*$Vs32XEI~&dZyx=qbE@ zFA^4#_PG4BTBfD_kVv6@Y8z^wh2ZJvtMintwTlLvIxSLk zVZz!}+fI`fA;e_dG7+_*iFOy7Hc1a4&_0 z0^D0OL?Cq|aes}T75Bo4cb8;Zk* z+pxSggTc{%G8ld;#}9=Uv{h(Bm*z9Xk_=a)A;^dkcuq1GZ75;>P}LHg)dICBD{G|; zDR{w9J-W9VnjYf@r7Ez$;FBv7I<$HjVw;@{nW(iAxNzlAU9#DX2J|);w)x=-iz<8_ z>bC|93$5}L!NQxu{{b6P+}5Eu%9e+~C3y&3wC8_F>5#(?#H?JRZMFtd8*!~n8U-$6 z|ILxYHRxrN@Won-;xk-}k_)-a2)y5ZpMx!KqXcZWV|VH1TB!Q%A&2AcqAuX}7yP7F zsO3`4V7h6@Z^k8w{^P3pfLWs;zm zszWE&qw;RX082#dHlR^X(i4%^RImZC zl?FR9-vk4b>_tR}k~X2T*I+wIC8JHda&gW=;g~9|>_N^F0h7%zwSgN)GTWr8+)`z? zR|^v8Aqr?w(PqSZp_2sh?vz@G47Xs)E#M6*7CAI&krGaDPi3D0W16r9x&PSfzx=~n zkTXxc)nQZW%T~`_^AV&pOv1~^hjbfkXR%0%^D*a`k9#*N0uM-U#Tc}K<2rI^6u&9!;pihMeb!3MG z8L|_|+g%dm&Q9p*xKBjzK*Zmih$v1qqRe9`LhN=J)2UrB^G7Yujyr4qa$2p9T)Zd= z?0hD*9vQLQJX3cg@RrLGp6*4|GUd*}E5?hvDe?@-c@I)TFF0afiF%K;Sru&~#wP^)I$6+uiL9xkYjxKd^jhf}jKh=bA z^R@@~GqXYY3AZ}BrfDmD+{;&Vd=!a&S4*hUL4DvEaUvX`qM(X?pbg0a*G2*P~TPYku-`+W`ok#YJfb=N&}4st%y` zZ)_$arli|AO*LE{b`a9jT8O+p!r)dSVZ!eRxgUbeZ-FALPyM>3>C>y7XdaajY0^&O zNHmvH8d!P=o$Sas3DUXRlLX=zb$wVt$SR}vhveBsONE%j`F~+ z-*E)Z#2)u?Wc8*SjNOFp9!KA;{fH5kH1`AsS-vL_@vEmI5+q!GArhA4^%%LP?0KSJ zs72VUn&zLx!czQ6tWgbq$A}1_@+%8kpNe(T>(GyrijK0enixoJ#|E$Q--^1_>y)C4 zEZwLUf)~zHia^;^lUm4EcC^ti$_{TOD&25T`5Q}Uk6WhG8&5o+j@n_<~$>l%ZhZN>kIblOa+&bTNN)k(fw(r zA>F@(QfqSs$*-znFzVooObZ%)1w)|pY7uEg=dVJr&Q%C%z7=5$%6OS+&F}Hc84pLQ zekn1c7q2o+SU4wP#0Lp%dksUUn>8HCyrzg0hJKZ>FMh~0qR-b5>f1L7-0u@|FyT6~ z-&iAyLceBqrjl`3)Vp~d(JmC|%@b@c>fAuiEUd$c-Zv0W4(_@!j*)hj7TpxGjHvhq zR5!wfHx%TCrh77PN7OV-9d`3(KxR*~aPPGoQ3c_u*%NfHx#2+a9>M~jyMQxeIjp#g0ZCW_C;qvM71js+IpNwj zt3FkfAUU!35Ws#ghv(kIz_k$P6PeOi_YhzYdJsl*zmMwSpT&vX`{2|J=S0}BEK9Dc zC{rzkv$MHC?+P3O5Jq#Nr~>UA&Ty4VUuOTZqRRtV;W&ZAV@Dx1O5>I?IQB0NJN%17 zYpJ)8>y->X2&bdWGQeE~x0xcLO*#LfUhB-3Aa@v|n8T4)5Ao#=TgZvO9^&)58g53J zs>csu>DZN=2z&&+EAlvz_Xt&GC60G8u@8@se2Wd7NX stripTypeSuffixes; final boolean isProd; - private final String amp_version; public AmpPass(AbstractCompiler compiler, boolean isProd, - ImmutableSet stripTypeSuffixes, - String amp_version) { + ImmutableSet stripTypeSuffixes) { this.compiler = compiler; this.stripTypeSuffixes = stripTypeSuffixes; this.isProd = isProd; - this.amp_version = amp_version; } @Override public void process(Node externs, Node root) { @@ -69,95 +51,7 @@ public AmpPass(AbstractCompiler compiler, boolean isProd, @Override public void visit(NodeTraversal t, Node n, Node parent) { if (isCallRemovable(n)) { maybeEliminateCallExceptFirstParam(n, parent); - } else if (isAmpExtensionCall(n)) { - inlineAmpExtensionCall(n, parent); - // Remove any `getMode().localDev` and `getMode().test` calls and replace it with `false`. - } else if (isProd && isFunctionInvokeAndPropAccess(n, "$mode.getMode", - ImmutableSet.of("localDev", "test"))) { - replaceWithBooleanExpression(false, n, parent); - // Remove any `getMode().minified` calls and replace it with `true`. - } else if (isProd && isFunctionInvokeAndPropAccess(n, "$mode.getMode", - ImmutableSet.of("minified"))) { - replaceWithBooleanExpression(true, n, parent); - } - } - - /** - * We don't care about the deep GETPROP. What we care about is finding a - * call which has an `extension` name which then has `AMP` as its - * previous getprop or name, and has a function as the 2nd argument. - * - * CALL 3 [length: 96] [source_file: input0] - * GETPROP 3 [length: 37] [source_file: input0] - * GETPROP 3 [length: 24] [source_file: input0] - * GETPROP 3 [length: 20] [source_file: input0] - * NAME self 3 [length: 4] [source_file: input0] - * STRING someproperty 3 [length: 15] [source_file: input0] - * STRING AMP 3 [length: 3] [source_file: input0] - * STRING extension 3 [length: 12] [source_file: input0] - * STRING some-string 3 [length: 9] [source_file: input0] - * FUNCTION 3 [length: 46] [source_file: input0] - */ - private boolean isAmpExtensionCall(Node n) { - if (n != null && n.isCall()) { - Node getprop = n.getFirstChild(); - - // The AST has the last getprop higher in the hierarchy. - if (isGetPropName(getprop, "extension")) { - Node firstChild = getprop.getFirstChild(); - // We have to handle both explicit/implicit top level `AMP` - if ((firstChild != null && firstChild.isName() && - firstChild.getString() == "AMP") || - isGetPropName(firstChild, "AMP")) { - // Child at index 1 should be the "string" value (first argument) - Node func = getAmpExtensionCallback(n); - return func != null && func.isFunction(); - } - } - } - return false; - } - - private boolean isGetPropName(Node n, String name) { - if (n != null && n.isGetProp()) { - Node nodeName = n.getSecondChild(); - return nodeName != null && nodeName.isString() && - nodeName.getString() == name; - } - return false; - } - - /** - * This operation should be guarded stringently by `isAmpExtensionCall` - * predicate. - * - * AMP.extension('some-name', '0.1', function(AMP) { - * // BODY... - * }); - * - * is turned into: - * (function(AMP) { - * // BODY... - * })(self.AMP); - */ - private void inlineAmpExtensionCall(Node n, Node expr) { - if (expr == null || !expr.isExprResult()) { - return; } - Node func = getAmpExtensionCallback(n); - func.detachFromParent(); - Node arg1 = IR.getprop(IR.name("self"), IR.string("AMP")); - arg1.setLength("self.AMP".length()); - arg1.useSourceInfoIfMissingFromForTree(func); - Node newcall = IR.call(func); - newcall.putBooleanProp(Node.FREE_CALL, true); - newcall.addChildToBack(arg1); - expr.replaceChild(n, newcall); - compiler.reportChangeToEnclosingScope(expr); - } - - private Node getAmpExtensionCallback(Node n) { - return n.getLastChild(); } /** @@ -176,75 +70,6 @@ private boolean isCallRemovable(Node n) { return false; } - private void maybeReplaceCallWithVersion(Node n, Node parent) { - if (n == null || !n.isCall() || amp_version.isEmpty()) { - return; - } - - String name = buildQualifiedName(n); - if (!name.equals("internalRuntimeVersion$$module$src$internal_version()")) { - return; - } - - Node version = IR.string(amp_version); - version.useSourceInfoIfMissingFrom(n); - parent.replaceChild(n, version); - compiler.reportChangeToEnclosingScope(parent); - } - - private void maybeReplaceRValueInVar(Node n, Map map) { - if (n != null && (n.isVar() || n.isLet() || n.isConst())) { - Node varNode = n.getFirstChild(); - if (varNode != null) { - for (Map.Entry mapping : map.entrySet()) { - if (varNode.getString() == mapping.getKey()) { - varNode.replaceChild(varNode.getFirstChild(), mapping.getValue()); - compiler.reportChangeToEnclosingScope(varNode); - return; - } - } - } - } - } - - /** - * Predicate for any fnQualifiedName.props call. - * example: - * isFunctionInvokeAndPropAccess(n, "getMode", "test"); // matches `getMode().test` - */ - private boolean isFunctionInvokeAndPropAccess(Node n, String fnQualifiedName, Set props) { - // mode.getMode().localDev - // mode [property] -> - // getMode [call] - // ${property} [string] - if (!n.isGetProp()) { - return false; - } - Node call = n.getFirstChild(); - if (!call.isCall()) { - return false; - } - Node fullQualifiedFnName = call.getFirstChild(); - if (fullQualifiedFnName == null) { - return false; - } - - String qualifiedName = fullQualifiedFnName.getQualifiedName(); - if (qualifiedName != null && qualifiedName.endsWith(fnQualifiedName)) { - Node maybeProp = n.getSecondChild(); - if (maybeProp != null && maybeProp.isString()) { - String name = maybeProp.getString(); - for (String prop : props) { - if (prop == name) { - return true; - } - } - } - } - - return false; - } - /** * Builds a string representation of MemberExpression and CallExpressions. */ @@ -274,13 +99,6 @@ private void buildQualifiedNameInternal(Node n, StringBuilder sb) { } } - private void replaceWithBooleanExpression(boolean bool, Node n, Node parent) { - Node booleanNode = bool ? IR.trueNode() : IR.falseNode(); - booleanNode.useSourceInfoIfMissingFrom(n); - parent.replaceChild(n, booleanNode); - compiler.reportChangeToEnclosingScope(parent); - } - private void removeExpression(Node n, Node parent) { Node scope = parent; if (parent.isExprResult()) { diff --git a/build-system/runner/test/org/ampproject/AmpPassTest.java b/build-system/runner/test/org/ampproject/AmpPassTest.java index 95878e41db2a..90a7e81641ab 100644 --- a/build-system/runner/test/org/ampproject/AmpPassTest.java +++ b/build-system/runner/test/org/ampproject/AmpPassTest.java @@ -1,8 +1,6 @@ package org.ampproject; - - import com.google.common.collect.ImmutableSet; import com.google.javascript.jscomp.Compiler; import com.google.javascript.jscomp.CompilerPass; @@ -22,7 +20,7 @@ public class AmpPassTest extends CompilerTestCase { ); @Override protected CompilerPass getProcessor(Compiler compiler) { - return new AmpPass(compiler, /* isProd */ true, suffixTypes, "123"); + return new AmpPass(compiler, /* isProd */ true, suffixTypes); } @Override protected int getNumRepetitions() { @@ -162,110 +160,6 @@ public class AmpPassTest extends CompilerTestCase { "})()")); } - @Test public void testGetModeLocalDevPropertyReplacement() throws Exception { - test( - LINE_JOINER.join( - "(function() {", - "function getMode() { return { localDev: true } }", - "var $mode = { getMode: getMode };", - " if ($mode.getMode().localDev) {", - " console.log('hello world');", - " }", - "})()"), - LINE_JOINER.join( - "(function() {", - "function getMode() { return { localDev: true }; }", - "var $mode = { getMode: getMode };", - " if (false) {", - " console.log('hello world');", - " }", - "})()")); - } - - @Test public void testGetModeTestPropertyReplacement() throws Exception { - test( - LINE_JOINER.join( - "(function() {", - "function getMode() { return { test: true } }", - "var $mode = { getMode: getMode };", - " if ($mode.getMode().test) {", - " console.log('hello world');", - " }", - "})()"), - LINE_JOINER.join( - "(function() {", - "function getMode() { return { test: true }; }", - "var $mode = { getMode: getMode };", - " if (false) {", - " console.log('hello world');", - " }", - "})()")); - } - - @Test public void testGetModeMinifiedPropertyReplacement() throws Exception { - test( - LINE_JOINER.join( - "(function() {", - "function getMode() { return { minified: false } }", - "var $mode = { getMode: getMode };", - " if ($mode.getMode().minified) {", - " console.log('hello world');", - " }", - "})()"), - LINE_JOINER.join( - "(function() {", - "function getMode() { return { minified: false }; }", - "var $mode = { getMode: getMode };", - " if (true) {", - " console.log('hello world');", - " }", - "})()")); - } - - @Test public void testGetModeWinTestPropertyReplacement() throws Exception { - test( - LINE_JOINER.join( - "(function() {", - "function getMode() { return { test: true } }", - "var win = {};", - "var $mode = { getMode: getMode };", - " if ($mode.getMode(win).test) {", - " console.log('hello world');", - " }", - "})()"), - LINE_JOINER.join( - "(function() {", - "function getMode() { return { test: true }; }", - "var win = {};", - "var $mode = { getMode: getMode };", - " if (false) {", - " console.log('hello world');", - " }", - "})()")); - } - - @Test public void testGetModeWinMinifiedPropertyReplacement() throws Exception { - test( - LINE_JOINER.join( - "(function() {", - "function getMode() { return { minified: false } }", - "var win = {};", - "var $mode = { getMode: getMode };", - " if ($mode.getMode(win).minified) {", - " console.log('hello world');", - " }", - "})()"), - LINE_JOINER.join( - "(function() {", - "function getMode() { return { minified: false }; }", - "var win = {};", - "var $mode = { getMode: getMode };", - " if (true) {", - " console.log('hello world');", - " }", - "})()")); - } - @Test public void testGetModePreserve() throws Exception { test( LINE_JOINER.join( @@ -302,40 +196,4 @@ public class AmpPassTest extends CompilerTestCase { " }", "})()")); } - - @Test public void testRemoveAmpAddExtensionCallWithExplicitContext() throws Exception { - test( - LINE_JOINER.join( - "var a = 'hello';", - "self.AMP.extension('hello', '0.1', function(AMP) {", - " var a = 'world';", - " console.log(a);", - "});", - "console.log(a);"), - LINE_JOINER.join( - "var a = 'hello';", - "(function(AMP) {", - " var a = 'world';", - " console.log(a);", - "})(self.AMP);", - "console.log(a);")); - } - - @Test public void testRemoveAmpAddExtensionCallWithNoContext() throws Exception { - test( - LINE_JOINER.join( - "var a = 'hello';", - "AMP.extension('hello', '0.1', function(AMP) {", - " var a = 'world';", - " console.log(a);", - "});", - "console.log(a);"), - LINE_JOINER.join( - "var a = 'hello';", - "(function(AMP) {", - " var a = 'world';", - " console.log(a);", - "})(self.AMP);", - "console.log(a);")); - } } diff --git a/build-system/runner/test/org/ampproject/AmpPassTestEnvTest.java b/build-system/runner/test/org/ampproject/AmpPassTestEnvTest.java index 6f984846b77c..d8b8e93d3700 100644 --- a/build-system/runner/test/org/ampproject/AmpPassTestEnvTest.java +++ b/build-system/runner/test/org/ampproject/AmpPassTestEnvTest.java @@ -1,9 +1,6 @@ package org.ampproject; -import com.google.common.collect.ImmutableMap; import com.google.common.collect.ImmutableSet; -import com.google.javascript.rhino.IR; -import com.google.javascript.rhino.Node; import com.google.javascript.jscomp.Compiler; import com.google.javascript.jscomp.CompilerPass; import com.google.javascript.jscomp.CompilerTestCase; @@ -18,7 +15,7 @@ public class AmpPassTestEnvTest extends CompilerTestCase { ImmutableSet suffixTypes = ImmutableSet.of(); @Override protected CompilerPass getProcessor(Compiler compiler) { - return new AmpPass(compiler, /* isProd */ false, suffixTypes, "123"); + return new AmpPass(compiler, /* isProd */ false, suffixTypes); } @Override protected int getNumRepetitions() {