From 90673c35c2e1f55fe179a6da33313729b7c492e3 Mon Sep 17 00:00:00 2001 From: Daniel LaCosse <3759828+daniellacosse@users.noreply.github.com> Date: Thu, 10 Oct 2024 16:00:11 -0400 Subject: [PATCH 01/16] feat(manager): move and update metrics cards in the server view --- server_manager/index.html | 4 + server_manager/www/ui_components/app-root.ts | 2 +- .../www/ui_components/outline-server-view.ts | 109 ++++++++++++------ 3 files changed, 78 insertions(+), 37 deletions(-) diff --git a/server_manager/index.html b/server_manager/index.html index 943ce3c6bc..2d1b35b8f5 100644 --- a/server_manager/index.html +++ b/server_manager/index.html @@ -27,6 +27,10 @@ http-equiv="Content-Security-Policy" content="default-src 'self' 'unsafe-inline' outline: data:; connect-src https: 'self'; frame-src https://s3.amazonaws.com/outline-vpn/ ss:" /> + + + +
[[_formatInboundBytesUnit(totalInboundBytes, language)]]
-[[localize('server-data-transfer')]]
-+ [[_formatInboundBytesUnit(totalInboundBytes, language)]] +
+[[localize('server-data-transfer')]]
- /[[_formatBytesTransferred(monthlyOutboundTransferBytes, - language)]] -
++ /[[_formatBytesTransferred(monthlyOutboundTransferBytes, + language)]] +
+[[localize('server-data-used')]]
[[localize('server-data-used')]]
-[[localize('server-keys')]]
+[[localize('server-keys')]]
+[[localize('server-access')]]
[[localize('server-access')]]
YZVEtxc47t`L@vSh&e@3A-`EeOw0${b>VUCkZk`a< z$m?7`Zx{_o3OXVQbwNYDK5D8;4~ZpB4p@KWW)R%#SRd>Q3;6Iv3Tbzzv|*%t@;4g> zoi(|w8h+Y_87L65vbirx?M6o+c8K%8vt6Nqhx!3O7>>4`*I#kxw_JG_FTdB$^BIpn z?E$Ah_m4Q&4oJs0ty{d)mK_(aTd`>I=5dBm11F9gG{ZDg4dajuNOsqhHPsX~R5dG_ z7|3?|kQ~H@$EFNMtr{Nj+B`F!eqONT*`)L7)eAtB?&e{o z+3@U^Es35!>AgaY)YX8~wn6E0IHpxV_7DoS=x4{N&`a%fd?JL=5_&$9bXN;$RUQz- z?dfsYFHBbmMST(jHLE=78^&^|jG-3H(mSn~Z*v59TBcTiyoDSBnw}LS`V|#@z#}|o zH^yW^-+#NQj!AT&-5~5n{03@nL}_MSjQ?9Xn?5>8XSY118tPk_zjK5?OW}<`vo$0% zF$Z~N%I|c#;~nZD7{Kx7_T>U~8fNB~id98rEM7tWOYbH|2PQ{{`0JYRV1I@*1pdt5 z_}Tw >IEk*8zMMwqK(*ednu(SR5k5Qa$YlX8RsR0C zFKs J)(Ij0(~#; zX~7n|Iu_YTW)5rS(vIkV(Y63<7(PapaFV73Y>gn1Ck*=G9)3260(+r>(clMBX`HgR zZYcD-PxuBFrR*DGRmmfvM((|*ZkHJJLSP7jq7zXIZWE|hds*u9GinY|+v7c}`A&^J zL4{+CF75=Mb;pl*)J+SJ^7gIG;fEDny#o}+=6)THZgKdtfwB82v9TO+dg-4!BLqSu z7{80aIeK|uCB%*W?)Cn>YhJV*Z|vSU5A1i1mN_Gc4he)75QyaZ o0?~e4V|7YUXppA_Etq?t`4UTxtUlq=oV0?<+?@hLTi| z?;O$A2D3w|2Ky|jl)TAZmlasZ#M>ZEPPa3`F~baV1)6gKchEmjmx3XJ#b@re+n{U9 z-_vI iK=sP|4*S;3+y`@KHAbn@_*qO*wgHvXkwO$@50_Du_I20^R&Dn6e zk Ez8xSZMjCYFV~8W VGunu)i_>>9AKDgTZ3i*SMPTj$dAq2;>IgDL;J)J*cFHVa9$G+ET@Kv$XV3{ zuHYB_ZeMbqPJRk@cy!7*%Lw6$M;HoWD&Fl0k#Cvz%&E9?7*yh3`aC3vr4cGNFiJ qje=_014a{*&lsm`oL=Z^oie4Hrs5;f&a`_uT=Z*!e^HrWL!Mazku z1(}Zv9n$3!QkA9XoGzasfO{T&0pERFefeW ^Y3F;dBTV?7coMEzjt^eLzhBqRls zE^2P`Rb9eH``QR#cTgjUW0y;Ci@%B1H
EqRe1x3EKqO zqQxpzqiXx6L-flmLTOhB=Cl_>c0tV<#!v@}_LBl=LWU`x`-lzO_aoe+MBmEIC`V{; z{kc(=vUzKNAH9Q&>Nr=g7z_kAssshxMDxcs;%!9np$W3{i*0O#PVZ}Gvr!|MlrDt@ z0j0`8M}V44kc?S6Kmv(As&i2YOklt#6NX`&v`i8EsWGO$Oi=>_iRCeh9jlY`prPiY zxE6-^ XO!DFXLX9?YIJ_~QRE1*p4Zz^9L(*VD-NOj-7`H%xUruC2>b41 zv`QtOyyZuUia7@BstPI@p#yaxnx?W<6tY9_Aq3r4iX8h;QDw^u!%x#xRbl>&^wjCg zVLiY?`W-&_M1k&N^fRP(ZsewD%?9!PZw6TPayN$;TeCs^nDr6UQ9%~heA&P!C0S=L zpT^We_QnbV!qgFpD{StLS6}~9ee2w(69s@mOH#!rT1A tv*eiP>IQ38Sz$ZTXAy4;+=f;C|AMbe8t!}yE-n;Sgi!a^ jR?f z?;3dkMUwyWJ>Ph}Ug!DL*5L~6VSdh2HI=oQgW3$A@ b`+qVWHz`N=gh+X2*5%g-;wn z$v==CqxB@f5{7#FXgP*KP(5y}(18?rqYBMl5wa`j#Cm%@l=`lh9UYjj+@Ra|9CwwI z#OaIdsLLbOMx8-{WC$9!$X4e+luS{2G!l$Mv^7N>`&_wvv|t;VH{<&?K}#lgQ>k-Z z9*}K~a`G(bxL$d5SbP#Hla%;mu*GOq7)wAc2xnGhB$;m>eIqR5Z)3;ZJ)R9o{Unu! zSTzORQxS5ct1)F^8zqs=7 YjC@&(7RkfAT_z*47v>I>(tQ&`@5yIGJ;aSl-fsg6<(y2+K3YBbv*Ju;f{wC$5 ziWiXwst0zOg)etgin`#>T#1lOS*zsM0|tJ^O4KWKW*mHkh7i8XH&W|}vTCe49A>1l z7u0tW6ZHcG)5#y>zgz6~=9SCV?6v+FIbi(g0b_ a7cKNCuTG_cgr?$xYANJB1xq^KXGy>jC<*{LX2I9D|N3`-`?LSn zI(vt&d(A6ee)f@ 1 zB*=AqYNES077%a{^e$-p=fym7V5=uSwb2lw)lSaXZ@bcZ`kQ;q3PFZrD9~FRQr% a*I9Mp?;Qb8Qza;i}y^Hc~6?A!MV_=pw ByRdU&rr3v1Fg;AiE5tw%4tcb?nQQB zq`2}8yZ3-zrpx#V;uM*TMc(_`)jnz@6(|}!#9>`vZwWJG_oYCGVOW28f_b1#utlCy zzM?wA!$sb-PC*1^?jzfL$h?y-h;vzY0SRSBKb;rIzb-7+H E0%lM T8%J0 zEK}YptM^z$qDiH4M8L34^+u{ 4q$w zEj{M))IEAa3G;CFagVRB!cb*i8E8Q+cxSAnMTF_t!wvHc#(P27v)3uaF1m`m>ZJ=q zJwyQPQbP^>co8B-uHN%hN8jNmFSIGjN`(1b@eS~3w6F>*Jru-97a8``y_be7OsXE7 zUb?qJk6*dBg|+-hoZcTK86NRrol`XE|D_b&23e$d-D9*XWWXU9Zd;iE(1ay>0Jml} zvI#APDLkkANPEMS|H#)7cxHEV!`w$?D`&$Gw=OBcr=_@ m}Od-w^GZmGb5^sUnRtB?UPu{x^ z^$e<-wZ9l7r{SIB_YVS^2`bNC<-;hou>$f_0|dm1WGYbCs-#K)wDH(|XipM-UD7j! zM^kgzpq;G6{#eQe4sJ3PDsCCCYJ{x`INC|cm8$7c{IsJ_5{CkO;|QW9{%8YU)9Gu* z1LUd??uqQ8LPlla{H9T;DiTO)h6xMo{SAH`>4~WEN2oefBJ3-SC-hLyH&{deIzW z_I*t@0-tJ-^gJD&A^kSINPbfsA8?E`mIp66g4jjDh279?*;-EYvK$&-5bW7-|L~o< zzQ>>Ew>ba9Mm*A}Eo+8Ncubxb_rlW3<5q3uHrG^5&@1 zKhX3n;BPOrE_C>9A6?H{5C|!kIMu+Ag zV?az$M$rlV?NeJ5Z`zpHn|a<9eMoAmUQAO3RjLVi#XwC!O+-h+0R_HcP(h)^7z8ve z qMcw^_W5+BEO8J6(VC z9}J&v zAw@n8I+aSM?%YRZ=_Ef!YP(m&>`wtd4iq^a5paFhv3ut&t0{~_<|`YFfl+mWhw|FE z=wV=1EIxiX^ps(sPMm@!(8nhpfv2=#;HhsiPW;?7>v`{yB^_k7!sizO9(A0qZ3uAh zB!a8dtX-x!DoRtP#HVNlMq+ec26SE492_Sdj!I?6Ks1kJ&R*cy4_D;C59bf8f+V2- z1VnCBm-F}>4RMf!Lfd0r^3Qpz8j)i>@pgT6z;1+P4;o{RMg#hth-H-k mPn@^Bd4UKRL2W7{hZ>4u9zD9@AgLXp6lmaG qPq@hldCnY6$<4mHyx37Q>DH(!@GUwi1pNzZB4{4s#(uJiask<- }@3&%sGuMrqLf&BZAe10~=(mud|8Zn<>}ILDAc?F*u6wLIvd zzf@Dl5;ANyCteM8KKU|9I-8K-(Y!@(^b9=PEw&ob)~V0bA#+!(xK`*`GoDnZ;~q=q zz&ARASZ=q!oFs`gT=BBbbG4@-$~)DN5yNG2fZ;iFE| 9<#oEZP5^q7#gJ7!`XCVPLYclYpf?0v`oRDWdc+@VgDM=~z}^iS_G6F%XVDS! z;B*c(kNfi4$r@s*a-K$}igoK`On$HRAFvzym{)D;bq>pCSW*6A)F(A9x$LJ2#8V}V zP}(MtyQB9wgJgD~Z+e^sfX&2?JXW$^D236mP75VRq#2k=W+!VD!z6k3u=eH7`D$+6 z@K3dNzcr_uyX=!n^?*-=BJ9;rxqO}-1=-v&vDRU<|5ZkMD)o3&f9oVYTHRjUk>DB3fuDOTK^v?2))gOmc~i%x$A$uiVDHe2g^20x(vNad`|=5Eau{Z*;hQbVj7Qf zA72ACbM!MgBoXIW!FEx2a|JBFHl3iRqFv~rvNm&-YP;gHfJ6o@jby$I=OOq;H3_N| zp^BRoAg!?M;3b^KJk}QB6U111>lDM-3fe54%xIk~%>zl8gR^Tr&V*2CM+FQajHb0Y zuu}fkao3Vr(m&c5sP1x@&Kq!1T}q#@q|+S5KLKCXLV^4*U#q>o5x-jfqpkRj`Jz>> z?~9S*dfbp*#vrh2v*|JoZcL|M TR#5@U};VAghO1us;$`=V7B8l?mWNA^YYi*4fgf|$$2Mh zb&DRjd>e7|GHdM=6df8jo+X%=m0hs4XQg@Okv-x&`88xm*dOTZo1ga)S&a?Ld@9NK z-pRrnrVge?JxQyS6O K zPKD60(z^S0y(LIzTb_CJhc42DV9>E3n0g3?wYF 9* x}<53= BiAxpeI__iZb965Hcb3@Utes-6Tp|!)tJON<(q&*?}y&AyS!nB_TFwFpR?A zT@npyMWZ%bj1E1!fXPb{2!K6!=Hl{Jpl3mUjD@a;j}ZF17QPIo3{9W($x=*Bo#mYV zIP$-~-c6`d-xQ~hS~&K9^iU>2R>S{|F JM5-T8~=>Q`0TO= z!ys%3dZ-tm$vxR8dArsbe1BUhG=FD@CFj@ ddTeh<8IciI;yM=-9C{;zdvY@5?L`o|C=r+*bK0)bL+?cg)5N*xJ*N&VdUHh zIZ%mQ_6~Zz0(UeLL9W09>gv6Iybgx?L&%o|?&473Pk+|nXmXvp2s7>l75O+G{`SWM zIMtP&RW(C~>R8EsGB7cVYmf2{cr%rF_hxGG-pw@P{hMjU2RGA+4}aEP2u5hAj{*!e zW`73Z;SS0h`eX%k>7w#4?K$2 oDz{?FkbXPwwy zWr4ALPfQgXlo$~p2|U{vDrO7-3L1EFeeA-aGwk+x9Det=TfX!9MH{vrgTecH^el~- zerVhJsBLkz(WV-|aigeszB8QflrB#)P7Di3EwN{h7KW}?ZmoPxFB1BpRYj?I@3chx z;5H>UNZGPrjSLE3a32h=Tle_FD{i>v;!AzO=ltZO4*8Qu!b3A4_{^4;Y+kngHhr)K z#6Kfas+u}(_@psY4}IPkq&VJPSE8UAbFq|M#swx~IVmRU`D zki#MKqzzLR|L3fn!fWOxI=8vzg>jMs38mY{ZKCg8@8 zKZ4`ZH9=At%Pf5eQYqBW+Jsg~4G5Ql_8Ii$DOFhNk6)Zg2j*eJ-({Ight`j#clvK1 z_(`hSNcLd!>Bw>$?d-`G6$U+@9RXZ6SZ&b%(A$SczpOX;LCQeaJL>N TNLyK&EjzcGoSV@z=`Q)Sk1(!W!J z=Phm`eb%#o#=_9vr@_ZbIIzy7D(|&pb{3~$95@yqrj?_tTDNC$MpVP#^oq=ZrAc-J zW t)T55ru~chO6V5t zuI=HD1al2*2C&u6XEdB+-=dU!trK;}1(-86{dvG7aCE(bRX*htbrDG25D6?Do5qf* z75M0)8d7SF-B4y3XXM47PLSly>80Qy*g0$?2<(bjFP|6;R+&U%BW(+jCN|E6Wibv7 zf)q5DZODUE+0Ge*l!oSlBc!BMOkL@MaxGh7Ise+BDdE{pJ~*)$#6Shnlp368^h2aS z(a;vs*If<2)Kme693t=;`YHpC*_GQP4i<25>vWKTh-@wK9nSxY?jaKeXfDk#PKLrb z(V$3&_VlB1aB@u$Ex_y*V&+z*X~=NcY*o=nIzzD<*3tT08f4B%> 6i2j_5a&oBbX+app~s7{HYqCEkJp_fW>oO(Gd{l`x*I4(ex zEXTQzQ!_gh{-baQ78UH{^B9#LX4T@&nDkyeXF5JpShRSj@{=*z%RW=`lIe#E2ozER z9j #ZF}c(%smq8iM&M8VyIvw4oeB@q8?33@o=O z%tgLNCJjWNm43|8zUkk6(i1sO-V9IU9+saFR7!i(83ubhLsWh0z+4xQ&Q=$l@ K5ckEPg;~M -^{SY}qv21|cwu=ZC5TYqh^_cv*rH~+mCIE^oT>`kw@->t58 zp>v$%hyzt}K3cmdkRNjr7Q=CTm^j?x(t++M?P0twG!08FYR9Vb71SAG%rV9nfTY zCHqK&K@4xfc=Z&f3-D3~y&T@Vf1KS$Q52f*eMiO-2&LrMtpbJEkbz^hG5VM>7C42I zREj@a#2DXJ^ZQ?Ir~eZvz1uy?`8d7rj4GA>cCd=2IQH=7fqv^iA%4c+ikk6d!PJ=> z<}ZgW8IHQNGFOPwK{<+0YFM8lloqy$3#GTkoeZ~X`>eC ^z!E~Vtfs@;5kBR+EHnxAoP)H~z~X9yhTLq# zs9TM@tlR(8@q5l}M2Q+8Qvr*2rOOeX0^wEzs4EVV0P0GgJwds0->Oid0|Z2`${Jbp z_o&_3*<*GP#*OpLgb)e N*ch6YJ5OfjipqG=3)uGGj*AY}bn={`h0oUw`p9 zc8tP_6ZLcI3;tCj73dY=pa6?RL{P>Qc=3ypd(dffbkDi3tFOWRO8C{_V?~RdIPsaP zM_D#)lA9BOESj4a|G0JQ*qu8U?%jKu2LW`N$B6$lPaSXSXZs$i7cc&J_3GW5H*o!K zb2%R(PK%XmBAj%JCJ{ElHOY4FTG`=pxmr5Kp1P#U5SA%ZQWl>9Uip_}1Y}F;JUik& z!Hy0SO*CrKo&1!PFW;~N1%?#g;?TlJgT@S&;$5 XZ6( z$$o$NOWFJ@ !jI0S0)J>YCV#*Xn)26AJF+<6$ zS*qsD(J*hGvIPqiEL*1O&=D=a{9@?0-}L?QhhF|``EH$efSc=M52y=cD{e5WFaQe{ z9oUyJ2!Vm=`s_1fM3)F7Oqf{Xz5;7V2@-@sh!9hfB-v598c$Kvx?V8wxm}^C$DHJ~ zut&hE+#?X86(E>4VUuzgnX2I-Cj`DQVU$IRq#|AdRY{VlOOr-Jrc9c$Wz&)?m$rQQ zbQCJ0t3(NX6)G91R?RrI20Sp<)l7hbGS#Gs8JITaI&`qorJJ=rGW*#It;pt|s4+); z >+1`KU?CVLj39&qAcDmfNz {F2%RV~geWP5DLF*R^enzkU)gWQ vrB2^LlkSfD-EY!(}|4hbvGGM}lA5*5#m@z}nyd0J-kCVpR z+u05)E?oF><;wji@337apYTH_-{*b!@ngrIzy1jj_Q4eT;H73pxNznoMDP(Oj)N2_ zoTN%+Ay+Ol`SQ6aP{2l^LiUOju~edjn=)nmlq=^70>V+HO3rH32vw_=zdCio)vFf? z3MxQ@1`!%H3D&GxkQOasz`#U#$WJERZ1%!p(E|Vnf;@sqC@Nr>*EsGSL3l$^EKQ3n zYved@dEQGw@Ie$ANup)hD@9RM)q73zQP)+&kgZmq>~@pG!N&&-2K$Xh`^*-HtX6yN zc1Iiz?>e0ZT`uR`Zf89nr@UUrd_E(7zvZXdrArO2TxoIbT8|qyI^4R|?arM>_wGSG zc+l$6qfSqrw0rifDK9=~+cWVZs|!Gno-YOr^1`h64ht45Sg~5bhRq0e?51(xu#6L@ zL0q`Z;>PV89y}KD;x&m6pRf4w8z(@(FhPPQ2rcDpM^ve~jk qhZu)1?qHy^?C*`F@gxiFd;b3k01n) zB!7ycr)em|2x3`b90%ihIzcc?6qzJRj4X>)6iKQoLDQIZU4&ssw_2syY{Kn!Q4WWT zC}3zv0)lYCFi`}-gQ6rcj4+NnR>K~T`@CMGjS&NkBu$n?tu@|pjPdzQa$WZmO_Pb5 z*-RCHyv0JpYNcqmQ*t >WAgM2<>MOx*=r1*n<#XN_}M6TT#4J)srzn zTLcG=R=992ga^+8`0&j~fWSP22swa(&Gp%5&4>`OAx5kT2@;LI_+k!Hq#BSRQ;!_E z+Hm-|@9ZA_|FdoVrKdeY!%M L=BF#2t>H1{KwM!nt+pMa%Q(ZNGGyB%Y zF?F||VGZUvZN3FAXJOUh(|SANy3X6hXO>y+rWIECiqkr`tk>g#jW+tu7H>$i)i!zA zUSkDwGaPx1C<+uBQ>4gR>J0zJ(Kw=u12+6S$Jq04_vW4OwrEj`B}+2w*iq-mk!2@N zq&jtK+MPRK&z_Ze@nYYrSO2_uQ|{fn)f4jhZ{;5kBofGJ|cEQJW6D^#c&5h5Xr z77ZXy9Aya-I7*brS&}3Uk|lFeq!_*urKpuD!=YR`F%>FEfPj!usgi;!wIbB16RTdm zDNs M4`wL9PP7#sU)VqzeXXFah2;qsq8 zD{tmZK@y1qD=X{P)_5H|rsc$m;h$&sJ9Fa1xpQM*hgz2|ZRM3` y?iLD_NCz=;zWSFTzF2v9FptUAe3)F@Z3+MGE_<}IkOXi=&qOA4}# zwz+;+os;$a?zZyarn!f8PQfaaN3fFo7mO#5gK^|ZFoHb&n6UEfoOu-~kB^Bfuj)D& zL*4{~khdQLSKgg-?uK6XvFa)4k9>Rdv$OK!UofA4tBLe5cFz{$|Ljo8M+i8X3wM|5 z7z7vqj2tZnf(R#$QoQjcfdPgXMJ~Qd)>7rDK*cH*L?bwXQ@D!jxQhuk$ {{2Z4s~yFE8A397i3iuDdZ6ejKkq$2AjA^nAFi2uj!gO zIN-;~#gQR|Fd|7Hi8M0FCYOAQD4~*S>VVQj8y$4>l@W+T5o*weK44%V0Kf(fGk$S+ zxto5*X);?i4K&k1SG^4|)Cl8DHP<3bEVt5jM^r}TRaYU!l%>`+3oO38v@^^yr~Hbq zv91OiHz$4Px3%GS$*sL>x}!~vj;o&wq^~?-GL-1B;LJ~gG@0@gsnZB%Oi@J-VVS-y zS2l*R((2K=B8x7r=K;*?!F*U$RHkWBbCkvoW7XD{XMF Zl3X3Cu9w(w=dexh03(p_z7cs%`GiSF|<&>(V@>9XV^P_lF~ zu%N%3F&}uH-&zN6UR%W0go<_yHdAd!w_%3i8OsrWpuq+dg5O+@IwSx7IY#oW=ITwX zw*1g0P&axl+W#*xi!Dmb Ud?GIz{T zW-_zXpRGvyli#(SK3cYn*Ys<=0_x$*J~`)dKEs ;A4uw=gvXkpOin!Ip_bSujymVf&V|uq3rk8uf+Iw=D)<@ z{iD=?{_XPpTwSU|Rjtxhrb<+HU!iZD&j5<7*Wdfi5c>m1E~%{cXGj*pDDJ7$3+|)b z`@XVItHRpem0SF&$OTmlmxJ42_Ybs3@>DNz^6RO+G|uD(TQAEn(xz{$Y8XLdfw96^ zGjP*S@wU49-s^+D=&OEhZtcv;k19F&Uk`iP`+25vhEt)=pLf&G|4B1)+UL&^`dUuk zY!eS}GmmfAukAlD(aE$jul{-&vWB~ln;b%0l6x-f9)Z8ec!#OE>n)V`-ND3Pi;XXg z|0BhG{8RsYEOYx_{#D^v|Ho|%5%>*5*9^-xJwAHn(czJ9SX~eYNqh-XCDnw=EFKi< z@%!i4g|FDB3|G(6oE-_f&Q9JD7Y{EHQ87sa1~aLaRyY6D>}M!#^Z2?bNoYyQz JXz{gC{m+Dl?G)B4C&KjK<5Zg zcJfo4? WlNGFMWS4p(!|LV zFIIwLIf|4jRH6z*g>uzul&MpzUY}lFVEQ#{(4t3&ZjGQ?b!yk7E#LBJBCMt)Dyu3W zFQhEZFCike$zncHQIL^T6cm@^LlH;^*26UQbs0ci%fJvPNDb|G)GnsS zcYAAL10ve(Bn=ySs*PzdmI%wVslkMJx-wh{DHSm}UkuHm!1V}FENow(U 2J{&* z<;a0AAKtup^5D*mD;Lh3*t28HhBYgeESTj3PrSueTW`CaL);v954o>Ot w-~TrT!;~h8j?1#>^4pDnd8jp=-x-;hnX@mRc*flC0;E|O;~2wZ)H98* zTTuL~0FkOdxk5#Xl_*uFQoJ}35=4p;Em4eEK~`A@#ra!lxi!`XDL%Z W*u6F6_MAlz@s(H!zt z-d{|0E=#>O*_0VyTS}*8)p-5F&R!%(0U4{rz*7>pf=+8~Q;)`#4d53Pd?Ns>Z9fmK z2Y;g4hy{?Nh?Gx%5GVznB+u*w?W}4xj02LO)unStD|qYc-~WroR=)oLi8@Mcm8+o1 za}bDN7zDk93I|%VjQT>y1OgGrT`M4tY68`zZr%&FbRm6> YYN3pRz#>J0@pk`v z-McT)L1%3<>&8on! kizK&{V#?JpvoT=NX)C2Mxm_mwC6O+fV>BTDb!?U?FG+wgg#FpQ!3Y)!j1A zk#L}TO2ETCj(VM$o#BY%M%odEvmF_6Q5Chg5bvgLyZdoXXblUiuA&8@V~}0J@_{A1 z!V@8w7_8?Dd>JmD;fds{ym+}LMuY Lp?l<3!r)aX1pIP=AHfR*$+B&WiK3Hh3LQLJ@CmaK6R>l{Ct9HXbpD)27HGTR z_vajyF&&hBWCLgaBlTj2E$s|)3$Y%NrlV!9l8`GG9v W{^hT#RzUTZcIW799>j9hH)`HqSX3p68^TQI33QhDAhZ_DLVi zV&*Wr?RWTj@tF)xGPu)ah{(aqHO#cth2;?mhDo;MPdi+9!>?Im%5a~NKbz?RAPDQP zHK>VLdes7s#ewR#suS$Sio;<}+LmZ_?)NF!e#1<}Qq}m{8d=%%JEh@(CoCl>e!GHg z=e`Z!ZQ_&n7C;UBv4Kqz(DY#k-8RQodNAVR7g;xYM57ObFR|xdWk=5dJm=y-%ejG8 zp^6Z0C4g9x0MMdU^? Y}H #ff*Y2^R)x+yXf)E%=;YqAiVO_)(jC|rYkA_$N9NE1EfoN)vA zCPUaFL$#$1FNwTgT0rvLCG4{Ec~&gffNzpdP=Ip?x4dVlv=G`=w+U%_8%~l`DAuW8 z10b&sO_Gy%uoXr!0cD69O&4NB2! ^$^<*m6=9-}tR(UD ZoQ~T-S9*qBDIJ zQM~F=>2eNLPim9}LX@vj`EpW?b`po8RMFNLS~ew3dsN+2V7-pWl|@I5j)J7*`-5_{ zIEv|*)G@S)zV^zMVkTa9(3`#b`igSW8X87Xjrw#FW+ZdfPN9JvL1GR;Lnik$i01+| z340OX>AH!MT&SQN7)2piI@li6%Nm ^^)9L2_4)SF;Z733hWX76 z0q>+I2?;)Htb^%R^;)_IU0hSs-093lE=T5-UAH&|tN{&e=4xbrCPo{dM24lL@#DV7 zQwi@Y`dE?jDMnd iot@BCGd$FbV<(@)Td;?m`W)vJ49q6dQ80) zM4s!nPLn*5JeWuVGdU{jv)N|ij CPsFhapYTyVwCA*G)78(QGJ|V8PmM0Vo=t$8p_;Eo1%2w934jU*r93 zEdm44Th_RMlaPi{w_qd6u8Yx3+ze04v?UI4P|+y+Ce0Hx;XQG--gMNu1(vksiFR>u zV+8YF2IJqY0jOJzHOE`Myv|Y98!L*amVUp!hw4=gveOZmZIgcUgP#QZg#`!_>k8rn zII`mov>uHr0ampKw-ha?4w}033 o zw3?bbbPn?t7uNSG5$4sZnq98WmSI)4=O-ye(7Y2TnlO7Et7iJgs!9~{0WlLZT!{+r z5Kp#}hvkK*YYYzLP}{1f%V}G#$uworz7vfN$cWlKUMBFC=N%_EPZhm(qFoujA?kBy z-ozb*TdJAHMQWH!Mn$AKA}!y9uY{apN6l3(JmNiUMEM$l=7OFzIDaQeeUej{MAz|D zQ%Yde1e`S;R|O1d$k`K&lRn^TZpkVUFLct96p7W=gVr;SwsA$eYJaO)iiIQtBEXx1 zxouH%S7b<-6v1|b1o9b7r!iYLqIo1TJinNpQ!+C Vc$AGq(d>(}+&H^0T kMu4 z4un1#JrzvSQDpgjJchPBrF80RiFo6#E#@BkPHiZ}e_GNTAU9q4LvM0Tc7S}FIBSLT6U5qit5?0av!IS zjLkQPw7QYnq4onGyxTLN9^Q&RSK-_N$CSQx*H03mbl8|jz#_ZY)=5ChSh|-eA60LK z0_*pU-h5l^k#fnN%Szd1Uq#OTTgG*))@*p(?HnYg_#J;_LpdxMWBfCH-MZHiy)I!y z5}C05SR6ywrpV#KJ}5&wXi^)@15)c}wp9-dW6pV`Z4F^UQ7bp^)1tYRTu!H>d;U1e z+(^1y=p4F( 8- z >ZbRiJ#(A2}Q}~9e{KVfU&zv^p zt$S4`Yf0w7!5Y*oaZc6)n$uWV{(r9K`;rGuD-J+-9DLttH27tcJGU+QjmS~1ETo2? zhjQ2-f6|C1k3tO?l vGUuh!aLuQm6a z=N&SxAX{uiN+V=Ea6I_kG(W@#5=RKT6&r?|Sv$gnT0v_QCseT1JEj>)(2}8%kQ)DJ zLz|@c`Wo5qe6aIyh|`dlbIf=4=}J6T68@^5B4N`JZ)Z(-W^_#r1KtVB^qbjtasrKC zz73?^w+jomM6rmtgM2Hx*Va43DD}jx`d*Y$rH_wvlr519B!_(~As`7PN1Sb~`8*Sj zUb}(dELU3;TW-$%U@N1w)V@KjwO0IBLtM3;c)EPv!Wumc=j*rhO9&U~%*9x;^E}}A z^3X3Bpy)ljDzJFbG=SJh7+n^16_K*ylcOOS z1m70B8Bj#u5M+%(E-J%e2J5W5Y4i#jLQ7zy>*eiMFM|%J-?klQzA5VVm(IvLq!t?o zk8y8-y8rf5AaEaDDRO(>72u^VZhRN~=uAg0|Jy&0nP~&~5pPY*LM6dViy@T4_tAFg zu?b-odA0XA@KYlWuW2lSW(RPW$bVws?LE+?-b>Dw)n|GKT!QZo$5L3zO mq&S^AvW5oTt<2&4pX90g+!?}GsS+tIJ-;D%W{{ZBi*_k9-5_-k?X zXzfjNBuG=(Cwez!G=r)!C5!W$gT)&))`Jjdi<-N9Fu}4hZ*S9A{}$amt(Lhn%h~K_ z$rsHTVNIXm!?Lu5Sv5&%mB$S;%(2awT;IZ)@4+8&Decm-yglAU`mnrR*7e>l6L^3K zZyW!Dgvld~J2tiPph4)Pu)RuoyIiZ3L%pE!$4fqQ-OtQF_;LDO#{Yc0t-`sqc6*$s z`?~`dwl7~;p7Z=)b#Yz$`qkWd-`QGh`q1X)X4d=@TWaYRI5FGAcjDps+hx8DPAE&^ zJQ=4JKqFP3pa0gPU*;P>nG#)SbqOpBk9goucN==T0?gog6=%(S5PAfC75 1 zA3ELu;lay~GXDkEr|~T(KHaxU@erk~g?~WjIPqH+jpD|!xD>#Eng^N}ZVAH(ZZCr= z)cC%8z|(kzmt(pkPJhdy8@)FikBX%o2e{-#bB2;l*1R1bKC4%-c3Mv`3!L_XwaE6H z$mmB-yKCKA`u$}973;5^lkG@8v_s77q``D%wur*6?DS@6j&p_(zFqc3t)%yCU;F z`e*l44W6G!gTMXy+wbZ)`t_@Q-}ju3H@lwg|ArCSvK=+UhoO`aMI0g7)4s64I2?N3 z4`=tQ1g_q$o2Rtc2dmLa+^Xx>;A1T`r|uZ}VpB_wzy85!G2bxOr)l((`rhxO9iw%@ z|0i%@91=!t1rjJu{P!sW9?4L}DwGiq{(RrY7zl_xPeAhJT|!DYZANXA2)mf50!?ah z1@Qeo$Xu19Dr>6nA+j<#Ig{<~eShXsuox9X9^ZyHQ7cgGOJOMysT9h49e%ki7z{PR zXFw4v81ikPDjVnjZBRtsECSsU=C}lVXTzPLq|!dFfT}8^uBpOVUBlDBM+D%8%C3^A z!Ss2oR47#UfXwrkAIM@KXxQ%&7QF%TKMag~y7I{R%ixpbO~{tVHOQ)kWITDPlYcUB z7lw)jh_QaSz+8Lmao3HE_K@L)UM2z~k4vPdcSOLwRV%6>JOYDmI;OZ|0qpa#7e>}E zi;BMqgujxIkh-EgYC_ZpaRX2#^Un7MV41Sk#b{Avx`lf!!S2vnhcg=~l-6Ww=|bJy zn29^pN@d$;msFCr@6kSp;VPEY0m0BRxbhP}x*z=vsT@?|8m!RO>Zz`$A|_@&STuKa zRVluMOQKHFyRGvq0om!@;B!C}a!`^WdlH}|*8^VQ>G4Q&6?c2cEsj)=`b0C0KqRDL zg9sHP01GH&QPrbncz{#?`)a5e_H6}55XYDQuXzwQqk1q`JRx`$*u!o#0rr8zg*~xE zED}YF65b6t$T^@ pJpuV70#N tfY}(5k^>(wcdJ_l?d$6mp>~RE2D@Axz(5m)3&U zw9C8O9=OfWC)c``ij0a0&9`6DX`t=QgX3}fr1+J~Kq#qXxhug|qsx{7En)Mus-^IG z+Vh?cce5Tc!=RT|V~jvG=YUuUdL9=;Bp8DM >qE~M=?-^cu2K~ zTtXD{+Ts~95;eqFFg5sWN- MKl@mdlo0k>~ZfGtYy(pqjz$B2T}V9mWfhU@@a|J+Ur z99tb9!>~OQI9E6SMlN`x1I E5W#aYkiOCK^1FEDYW~phf$1hCm5gEZrrl#352vV7`uJ>TY|y^nqnz`X z=;QP)`7WMv#*r0IL%d4i4v^M+T1Wx@$mi1JX;p%%72QCf(FIV{g8DXY1EwL%sMKCT zh?IZZ>XOI&xu#L5a~pEy5kQNNA*K&HWf*&(qZ*7g?)L&Yrx1X&ZWK*Wq>|c>$+7+> zdIG?^^`uXH4U-(6&3?QKO6kxs{!&`r3;;(!xW6oKl9$heNpBM78+MMm`h{z0ZB-e| zN}FvUZ{P(pV^JCFreyj_F)YCwX6A;~m#n!U6aQHUW0m@f)z|c*<}{XqMMka!q-F1f z_mCdIpD^dfV^fVq=Q#)C0Uxz{_7>snD}4IgpSm86Pz;JTxWR+|_f?wz-;gym!|!d_ zPiHzq=UP&kPF&xN4jO5^gk%zFm;q$%t~>*|c;HIztd}K1Y}*8X2C1sBnUOC8P}Pz0 z!{~-0(8T9=3QQocnS48C@1`)<&8l$jwFB0!`K_IDBKXf+$;zC>cY#=8AnSWrvYWf) zOb{&84qAlZODaU{E5?>)=+4jMQ=Nm>aVI!)0sb}qgtK1RYf7#MC%d7MVOo_~2Utwos|3dhsyXm(s90nw5G_J$ >u0j;h+|;4cc@>8d=Q%1WHq&dq^`>I!`0y5|Uad?J`MG+W z`rIk_hiEZaic5lbl$*7~uT4iBV9CaMSqG0?h1^X>_U#?B61Ew}uo^?8$Us_~pCm8j zeERf-CoIP6J>3=HlGCx~1m`ZW?{;VU7-woS_*0xmU7XN^7E%+2nwdrSj6`lMmbLp= zFn+$iylhSk<6#7>9YPk{TE^|5g&dj9OuJW*;olztJ3)Zr2nIov1mA%W(0b<^Zxv22 zLUZ)2V1FS8*l2uDP}hf^#zfRW8E-FZV)v-PRS+`#49{31m_)ajUEq#e24hM3H6ytP z y>b+{fZ}nqaWEYd#Q+asc}fEf!niK$)^~k3ELC z>D>uaiVN55Y79T=xUQ<;ib9!sVY4ih?i+5c1*A`?@0A{le2N-~AVYi{G@&U`RQu_E zFBiE@K^#%(|HorJY|VHdDgEeuAHq2MG?z2INq1QF&cpTo+5?!Z^G42FVm9vemVqr) z%$M*!9=E|>NZA(QwV;rG;yX_(;X{$(d JBq$XHUTjt!b|(xE*$rB6-^)s zP32RPvtWYfP@ublS;I{1yWy`cD!gPo0Z?4xn_oy|cT-L%?5?Mxbb7@c4j^qj2)hmS z`9d8MLN`&U5RN7{N4abVk#NfktCZ@ci25NeqY53mMI{aM`$N&617A(=g#)6x4ouX! zk?>P2RRGqRMsp0BSzP}iZcjl{lx>Q4npJ3W-o*p;hclpI<=Y> -#pj`e0K##mIBFPlzO!SLnX*jg%mL_`BB2X5K)5* zh+fiYcwOp*QsuR5Kw}|{jUauJq U!YVO@G3V(=$m)-8g^$9p4#TvIyy ziSPzp3vwWg-oc3kc*mEg520@2*Kjr+9*mPFSZw9bp-&|zs7 9o z&PE4kEJhzKr`8!l0Z;j1%zmy~iOTolqo2#Pv?4Gc?#HwM86LK!Z&l{U&GGk{rzbAy z`7ary7G+#nSJ2A9Tc7@i6y0F>)kL%>>^@Fv1?avC5?rMHh#f1ZPAj8YAz06iBdMDv zjBFiDd(qR|+cYfztM7kFWk%80`Gez670bjxiK+SO&`KbI3=vuY&n&qxNHDP(T%0Iu zYGDMBIX8+T{ep)t#)SM*6(84osRwMBXt0TSqSg^^R{o@>4O`A+&2m5`!{l Cd%-$psy9b-39=SuplP-PegQP0HT zTA%? jhBs(!i3}U_CIhG8SFD5_ zI2|5VT$$$&fC;$tMj @^QlHc?)v+L$QH=@` P1u$-2cyuZ|d9JNtSrFt0 z!;Gr>4Kp}DF zsC_{8w-tg>361C`ZOiporQgL}{QXD{Q^5BDddLS-IS`>6D&)eHLcxOTg1PQzGuCxx zM1avs*CjX<2p$3df2o{-9}$SNS)pSPU;&fZL_;zzEI_5AD?fq-A4o>PjeADqp@LYU z{rSNt_BM+} U{!hjg(M8UF$3Jm1L?`Dz21P3mc1l7|yRC zR$~|c&f7@9aC`K75X)iR?AsLBsHWgHTSPM=Xh1}SC8ix=fYLQ(^eZM^Nv{lt!AM<7 z{vhj %$hKTl zpG7CC$Y4*cMg)6MA$`ADH#XDI4PppI7xGp1!9Gj_`h|QKCG<1p5Mv-kKn0-DSQkd; z5(}cy_a%qMNZcvSD1CYnT9=rrIcV5A4OYl!9eRdv-9w^+fV8mG&3qzbKFu}614vEd zf;^23m3DwmVO@kgg|tg |&Ei3@lWo zh9Ek!8K_pX7;_Ib_j>_?sl||z(J<;pQypM8xhM1wYz&==IGpl?8t}A0ysFpt{xc;7 zgU2;{)17#-4`jAchkm|fjAVHeoNs-*ZJG354o}r_zy0*_oy+P|HGqnfhY~{JPY&TQ z4zGcV9)pI<<$6EpEJ7K3s+y8Q1CYCY1R6@y7?v{{zR5jPT=|v%`xLtk>a0eNbxyqs z?(cRUG5q=UTD2EDd(V5?Nu2VEHZ)A61uD>WY!<`G@YvN%dl%<^ioe$e>yMh^wEz`g z>mnocIVMBD%b6bS#S=;Sr-68Aq!qUWv+==a-7^q$O{mv#+^Keis^v5>`Xm;RIH663 zN|=7G3~mA~LU;>?P0^UJT;K<9iWh&kR}O44Fv#(TX^*x*gx W+JMF9PN@VL>`a7-$F9AQs%$))YXeE1D_RP zL@4LoBt@133wv1(BR{mK5*)IUVkH%_p2I5nG>HzQO^7py8K?|7x{=(IP}mH?ph7}2 z?<}{}mEj1cdwn_%kV5Gc&u!T~J|`S^H8_BBqEb;$5Jxt-Y*t+Cv!h7;b8 hK1bSP9u%~_Fj7TE87FTZ;Q?@(EYcX(hrV;!=WC7$2$YtW2L;Pq3`N2 z(1@4F_5cUXE5N4sk8U}QG~HrfNj6u5Fyu%M%a@WVZNO0T>p*T{K{EeBkOMeTI5Thi z;FY<}ugN_!Te(mgWzfNsmj5L?jS!-Ip!I)5=KaXoRG3d|@nk}=AOyfmdmmDumKsbW z!2)SVAZSN~)^fiTsZ^cXPnL!& QhaG zjt8ZAsUKdYHkwswDDb*Wa^zqfh^)Ji_Jg|XAX158^2hcH^&WiAWp-T)kUdn~e|ik` zjpF4e2oxH6Nn&)S5_Xo$+_4q<1?h#y^VCXy!GtJqdLfDKET{aW0kwQ79;(zm2pEus zPKf|>r8B ~GC%A#4* z>xk%#&`VnAvEhZ|vlhU7viQ1=DkSnVA5~+-j7rXIVAAgq5OA6x{jtQ;W<>MaLGiHA zExI>E8n=kaJN?~p5`|I`PKraqcM{;DD2P$tDMY7x6_Q5AGE`^^c7~7wl!gC+% yadsT zzsugu0sqH$(RngLdx99q)6uGheT6gEI84uccs{N7j=&YtxCRGqsg+*5`3NbWsKRpp z7=D9u%)oeNkB)#a@d;fwkbdaADI4=y^#!kFpyMTxUowp)+X-M#0&x#TEG&)Xc|#Tx zW&>1a=Pt6)`eBg0FCh;}ZbTRNjTBJvJqTMl{}pJRErMVc 2~^x=n)*#=@yi>Ht( zd$2aQNZVG9K$j~~+VfmDy~ft5-i;
)LkfCTA1ePMKRpW3;Kt{4J{n-39XJ(Et+Ji+eiYEPE4a$` zbb$`HWg`(;NNv!WKN2i&T!W5~xh7__3j%(M#cWv9P%%O`mNf*#7q%>yBmML=sVdkT zNk_utX4ys&pvgqbaxis;n^h2n1p_Gpdj;lh3L6v!2EyRPo*ug#E}BKWXQ^u4%eoMU z|7s9L3Uc}9?#VsS3r-Y>*c~D8g-lC5nd?&}Z+J_c?zV-xxo8;QgV)b&lf03%sS52c zuK>%=!67>^!-Fk39$sSuY0snlF{mme;|OiQY&jaI{yJv!7hXkM9M~VF&bK==+5^r{ zfv9U>m~X=t(tyhts6{hMUznRl$&tlr%z1IXbM*N>0< o-K&J*?Kj2S64;gKlsqVG*~p2NhmzV}p*O=V@+_-xqQ(WPD$1|Zi8m(tpCS5y z{} q-0$H$KiCep@-L8?1CNQip^D9GGqYc~rEHWT_nh?(=We$gCfKdP z`Xt4#_lbe+J{pp2Bk$jF1n+Qe!1&dfXK>&dQGo@c!h@=!ZaD=~;hKuCdO-D!u@cJ$ zGJBuupPR3pPYNG1pGuLvTeN$OcrcGEJ6i&Iq7@P5Aaz!Czs~YRnIkN=J3j9xn`znS zmCay7dlpSgI`*(mlG?ZnWO|8@W794>^&>5)!L6aOv92vxK&cKXq=AK#!c!$7DPlhu z#^^gw!S)+^AnIPT;5?f8X4yOe;c`E{y`}>9IeJ$q U;pTG@}q9(yj z2qhcAP%*t`rf4|hGt|kkx-~lo1r_bt0=oJ0xFL_#@4Ivv6BuszO*yyAe%+evLFstd z%`yu7;*k)^19oP^Kj2H|1$XMCXH^~u+#9g4yT@Xmg1BUqc>VOQa{mYi0sxpCP7ks) zMTn8bj78#PIFTi4O28u=qKD|!S;)!ZLqA$BGyfA-XI;I8sjY~T)3V>4gEIii&ZAsb zbYlVzw1~jKS#rUt(Rd~*o G*dN;vVX*PrABGQb5VdJn=H sE$Ig>#(ZMNS{$a>P3vY)S zz{#J4;7&q%FKwy gGuW(Xh5&5 s^om#QT|X9(k@ u2itl9w8J#k<+2dZQNeI?VKU)=A zu7}1S5i}?cO*|$*C( ?x!itcLih`xV_3ay79hU zT~2*Bx@bZZ2W2}HzGB9h<4~A7 lL?bQd3O9D%Sc{#F1qogzg|E5@Zqx)&cTv06C)3OE-pnP`@b|JNg^ zk~-TbTcv)H#GIz}(mil54Sh{(((chl4oZjg6h6cMN5crB*pvVR(xZYMcq1mBVnP|u z6e9n>nPl$^K1QajuO?FDM-MbGAv(R=Jd128bL9DHQ5pvOO_ L5BWCp#+|q{A3`lINTswF>U$!w=`z3QV95}Qpv#*J^Meb4nM!(W=qFqO0{->$ z9S2b}v!@^XTQYx{GU>hyD*Nw- usdPVHZP$|8{-3>kHV#N$onoQ?fAcmwRX1 zo~Q=5hQA?pE3_F1D)7II5%9m(ep=#ai&gSV)gO}HFRzy4?2e3hV)W+))wVR6R=t6) zbj?G9oa?G-0_DKtcZn&%7cMlo%Lh;#>eM1%yb5_)NGsmAYL5BIXfxSgzK66x+~-DQ zG;tTL6cK$S40g!0B+NVumacFTRM3DnbWRN-lxfiY7^1t@?PYp>Z91=3^)zA4vTw^y z6S4u#S$J{H?J1C!cH9wHS~}LgkF9zAX$H#akZ;Z89OB9E&kYac<;GnhQ$h9@EnXrs z^znJh!s)*Ikdvr@JbTv>g#E?V4kCN|N{RO1)~e*086T=cyFhWw4l#ct%6FZbkLs#J zYK_gDFqDNa!rMYHOa209Ms|h}r8pYZss_Feyz{<~Ow;kf++6{xD6CcCX-pXC6Ua6^ zVZ|S;W#iIv-tW#)hXQInFJAxs@4Y4VvuXwLertDU%~vxS?R$wM-wV*zs YZ;cMDuOLV@fU z%dnfjg+3Dg>b< Q;q7_ld?a z`E9`+?~adZrG$8dF~8hAkM*aw-hGyAK#NF;fWytymFC1kNlaP3 5T|8JZ+Z^O_d J5j^=}$@4X2<5 qp>!6MwQWK8sGQa1!TsaQ{oX@FpU{oNvIaQW`Z1P^hF&=zl{` zc26{Jj1PLb(u;S^T}5vCuZo`h1)r?9zzR%sOdy?VaG_Imi`PJ}ZQE97K2JP#zbhO0 zv4t39BWndEb6Gf$Q({<+ssNA~@Oig?m!q3gl|8b*z?9ZG3FHtU$d-(_4KHx_K1ncl z!VWXh2RPs%XAbzXa80*O&Pnal*vP^x$hlIc%p_ztIoLeOe81?+na-~!qn8tV4*r}i zydi^q0q)lGis<`euJZ?+gnNRL1rKGYykD#P>`frv3jcrse=2Dy`DX@B@ BEv2R{_f2sJgi``P5ZDH8gc816P zOY^Wkjt&7Xo?d ZZ*5uj%Ry-pSs! zn4ATrvn1UoY=^hm H4iXuk&+E<#m+Mr^#7C z>CU+!4Im#DUI>#SYN96I`4jaU0aTICXEhK`xi>$i_JBIk!mfC{OZ@Sgz6XTAVVxH} z91_vQUB+8Uo3yBjH5Qqx7H5m8j*Asq58kX@ibDkZta9=s;!@k37dp^jaH? $rVZQ}E$t;$S?lLO8VKR2Nhga0!Rqp|BfSZK_pI656_kVb z%iXAt-4ZLkpBTS?5nZiNc74-+PH6%xw`fZDwP6ov4Bq6b=xHtw`qZK(RvmtX nuuWxjfxt_Yd{S*^h;pLJRj64KNH5JiNJSLjv(t}yk5P*lyXNUCS7B3TD4iGS zDF~4%GSOUDT5p8><9;nV_*-*Jr5%Xkxs0KWYzG)Vo#XLTpZ8XFxl0e{oTrkE8ty6E zb3DK{nnW|b{S-6tecPDdPJR8l^c7z}IWHP!Q4>$1Q8YzOE$Z+qerM)8(g!Dwr$_-3 zEJQ?d&U%j+6zT|#`s)CgjiIyB^AUYT`Onl3lhQ}o9kQwDeSbT)gt_ZziT5BCm1J0t z?*O@T3dj*u5 6VJ8${n4x3nYFZX W;G&vw4G zkb7p3A<_eeDA3FCJff(|`vR-dpu}|Mli&WVd354n+S@M{33-r#C|rbmGH)3iT8;xH zv0{}oU}60*Aj}9Fi2a=Nj$I@<@QO?TIhOz2m6Vevmj0nBx0rz9)Jvwmp+$=C4sHS7 zz#p&1I(tYSc-3}eD$n~LzrpM8C*GSIxj_V}0fmj8p>`X(Ht$IrR3R6*Ki>8>IFA*M^ZOR5MF4IDfSYPjQ4esW+M#JOBx zc<^9-+4-skVzUM-?FSv2 }*|Crc`>1?(!n3p0_*_<4 z)p7+Btn?&x_$Q-pSbgCUuyuTVSy~WKU)f{9h`E1$2HS#8BcCk0KxT0Zxy-IWi$mZC z_7qtqE48WFI+(IAQR-hN--YtR4hkfG!f~Xy+f61OVO?nn|Q%KR_s72n@pAlc$Ax zG)1OBxmg3$s6M04Vwp+)X#LS4w{r!Ht!H_rug2O*c-|`p>M0m})n%ln2+Z?c_t_+4 z35k@(+?K?C7R^g;X1}uCA&>CH^OC?$wDjR *4CO(#?`L&u1vOS #rCl)EDFxJB73j``{ =^pWpL< z$0nn|fT89oisNN)BvrPgvB;h5e{l(>8Rc1vlU5F)B!%EFrQ)Fhtw9E0avc+W9i=yd zM?ssig2b{*%HRYbIXrE2mvg8dVCs(1UkV(&3}*TAPL-_)Q|;?-fE@t2mOL(9V5zRd zvf8x&TFYR;oi4&B6m1~+*$8(ado7;7Xz*@v<+5EMeNOu)!+}pc#t~~T+46V82akK5 z;PNdWQ~3S^W-r>&S~p^qne~(j>!So;UO&DM`T >fFvG0rR9Bm8~54;w643_tTe^FwJY+%GIkT&JF7#KHN;nFwg`< z6{@j-Uyvv+yzs5bl0lj?JLglt!!gQ+Ar8rWpfaFv*%y~Wwl;0Vc>+oWv&JCVxXd{L z)IN Nkn$=Jbo3IaNC@RosX_EO<`>x7Ki$(;E kM7Xp0~!blU5|S&!BJ)}NoNAcRwc}`aM40x{6xMPMDYp>zF@^e z=T*9N3g{~e)5n^6V*LFKMF0QsSK2EgFB|8jEs3vzoX=6t)tAJ{6P#t^CBYjFGX?D> zSc5JZk!xp;5#WIEG2bPeWp5OJb`=4I5OIAN_^pXHfC@(?Rn{<%GSj?@TEX7r(Y@)h zY(o*ZgB|}=U)r)aJuz;=NJ;02wgS#ti&LXvttltpPnY5)-B*zEe*mSKBaJamCOjQC zf_G#6?OfTK3tP;46Tgk$`J;Z}}G^jz5v3kNT9?7{5V!Fe%mse~X#fx6jp{Iclf;a3e9X_pWD5jp>$dCYHot8HWb!2T z4D{8*BY2QgjqCVCR4zJtTHJjG5Hb_h0@+$I(!9{VQ}1Uund P>mR10RMb4R)LURCuCih`^}M^$JN(^SE5T|82U8i$0 GyTj+JFMWD{FZj6g z({MVt6If9eCSMr@sg)-*8Z kISq=ElE zwbwM;CrSUGx-J_+H|CROMa>|8grYQeyVc6}0~YzdN=l30%E{qIu-Q0`&+V6x)yIDs zefrnoXSY=>a@Bf Jii|x&9b6lEEStPB*a5DKTW2 z8Jp}8?%dVqlS+yhos!2GW)Cw-x^IK@f=9SB-^XUq^RV`%yogi_p0+Z!Qp|xVccKT4 zA`_k|k-Yrli+13aLO&{bK_nFC)b(YCKJhbRY`f~ix1V|)lT6{! l=h;V72E>z9)63-FFt?Hkupl0E+FNmJ*{YC;H)F56T`4$SePJQ*#d z8hTBGyYaX~Qc1Kcj_sub4F`2^sll;BcWvs_6aC9QbE7@{&k7(ZCI!bC)b;ylt$*7E z uhqGWl;E)4$wx@s{r&W>#W#)sAWj`mp4czo(45{>_C#rTFoNck@Y~X>v60|hC zjZpN!iraRP`h#8TGo0jSUIKe*HTN=C_=oAK)Brw0@>QF1q!?1Dj4l!#ZUxt|u4VY3 z0??BWlZe8(@F0s>9&9aT#7~Cc2PfbZ368-O8XBP-bS4#2jdDGl72$^!t_A{<5=frF zPH9*#IW<^MmC(Zi8(^d=U@lP 9m1$tejCg&qkJT49>7nWi46t3;70Uop zrH60=!hJh&4eqDrZH_uuY(qd?5bMUkdDb0(bLH5y0{WGXiR)=A5 O< z4}tZt?+WU|li)^YY_<(y&a*WE74NzzEh*rOt#>8NpSzt-iP^iqu$&O{Eu}E|Zz&M9 zJN3o{^e#c^bUO__DtJqBR_$<2%?%1~p5TmD13f(vaAZlAER)TLfp7~8>s5?oj%!h& z)ejBI;8FDsnoxlb+Ju(@@dRbb;kX?}aZo C5q3F*wz)jj*O@i=RNFcPB=#qh(5pRNnNWU-!pNe`>sBmq+u}DEZKIi~M2g3! zd5X#~`l^OwYejootcBA|6??5nvyq^h$lc9#_*m2lwoz#*RcLpOPEm8ouo~EnfRm>g z?wb;PI-f;E2p3kj3s%m+7zm}BYL!M-=n4e%z`@Yahn-YVikrW!CBf}C9!GppN*4Pc zMZ_aFo{(zenu`XsT24ja5OI33=FQb@VK;R~N=iRS!b6i-k=8BCwiLSMaduL1t-}XC z6IW>Q5 n3vZ}ZAaoc2=)elRMzsz@0xA!=P& zQWjN+YC`UN$Uxcw*0~d*YVF_%wC%w2O$1d*9SdosYqC#lLeq6I$cF%YvfX3?iH+@P zkS+XS02d(|#0jkx(})!3r-Azx?wWueUR4g*n!dL)c;#}rcYLaE+(4zj$GMa*ncmS4 zU|{}G#o|TnG-RJXoE E`=gPPI}MY>S3_e0@Dn z_PqcvYR^gUb6zEzvtadbkX`9WZ<30Pc`N)V>CYtj^6IUpMnF-F9yGTh4zABIy!V0e zE8ulON^dNmJv@thG{6`x( OihsjtPeqIc@=1r7oZG2-%0sTDxM`?ccIrsY+(|Sur+zJ_O z%e)g0buZedcM5t|cg%(j>C~w1jaCg9zk$Ii+NdN1oy5&xl)MbLBNrG>)bv9M3_#Is z2J&Lqj_K&6oU=6i2Ko2XfvhbClHD+~wb%v0(zQC8R+g8)HLcpcv(A4UbnG2M$L7kZ ztj-!F
o1?p9~8nLwC;N4-a UY*MZzu+j=I9#rmFIvOUmg71e&VtD-U&Cs?mdooR zSm$NZg1VFwB8zPs7y~D9B89O7;|^4&lixGFkfD}-U&BG}5?E)qIUX-&jd2gg&kP$K zk5VB;`n`o(;eQ|pyRUoLjVi^O>KYQ ik1wLtND78-HORse*m}P JKH2b|cxB6{a{#b3or#I$y~icT?>WMz_-o{CydCdH7~Aq|12 z47NA hTY32*?iK`*pTHpQ7UW7(?h6pJYxGT9sm2@5 zmEe=9aB^hu$s&KaCOm0N%R^z NGx!R5E$`EBg!kb=d9f|GPvML8LJn@-7Gt++ zKURKP{;ukNgD-BT3p*hpOhHn4CMg!-+olESd|fcrRF>V9*&-bIY#-H>cH@Y!{aEG+ zU;RLcE`|$)@V5Q_Fx}7pa&TiZ3>CZ4{Z7sN_8QOPJC1)>O}rwvw!&=>>HI}<3$`z@ zId;^aF`?Qn`2eW338xxlXgezyx{4fq7>b?iEk>bK>3lhD1R>*WLDiWz%R!H;w(H@2 zyL=GlqM%TUilMtPYsk0U6L>x!?S|k-pO&2KMo|2qA+Z>w4!eN0;cA`c74n2oS|vLV z^Cxiw{4tsj`zv-b6Q=xA6y|IckNpe4$hVS(BwQ{nFV|}OS@qRs?lI8f#BQFavZkT> z=j3Us%(J;UW8xM1l;dt!WE>jIqEA0g??gZ?KD9s;CE$&OcGtS(k3|8ln2*HZ9O`{B z0?x=UzG7<|!rwH;Jv{9gJx;J+OjxQl)g)VO3sF*m^`1yrDn2yVO|09O_ O?%8&*;xaX zHP1wc|7A*8?v>jm4P?jtZ1gp-*&kLIXJl;kw>p)(pQKIy{#)%*x?@|+vZyR;s{dv- z<4d0x1(0ntE?HAq# HO?SV4d4c#dURik5X>U!?G z6^An-0V>uqz>*z^bmzae=8ZMDM8KEVI*OL1cwxFeCL`&DOV|ufE^ZT|B$0b;M0a{Y z=Es92iPz(!dcWWbI$-YkU|AGbSr#2M%fEO6y$AJ?EJ}EbWNWKdEU8u<0{gYCg3Q|G zNzcr96umMH)1@$G2XxjnJ!x1XP2Erx^kVzK^P*3q8R-3DI}|tAn$5_zW#Ki(sXrsw z3Z|vv4}kEG Z9<(&vi zD}P>tT=N}<$Zmqx2bTgJdSJaPxO%kmE;5V)YQ0O=d(lp;+i;g$5RHoOO8DnNM_Wwp zH1ldb%T0X_UA kD#|5`q{ zFFuj?=AQ2z)%)x4vl<^#2h5#jA&u&OcCJ8LzDgKBJIut=gG`YVHZM4_T9MbVF|3~7 z5rD-Oy6t^mM!a((E|!fY{GPW~Pq!Zb?0tHxyWdQj(9909_v}B$AKdKfH9B &E90~B`8 z0Ea4_PwjuvnPbJx{EMC<mR)`R}qYO52SpL6Fk*_MP!W1Sy{e=>;+%^8ZyhiF$Ud z^u`F|(;W12?V0*fTFuukT@f*2lfbW`OKZaurtbxf_SKA4Cz5{n12&>HZcSPJC>u zU$>8b`ZowR*&vGXMIjxlYDc(SDdB7D>%amFJ#A~k#krIC=Y4m_Zz=orqp^6+pYQxW zp7rr$tJ<%>k-l}NhzoOwD;rcVQH!;1dLAx epx^zcT@9XGD=qZ z=%2nRcu(^yeCA$Ux%+L09RV%!&L>T1*o6LU>9J0J1Ju94acGHpR-l#0K6@Cc47tED zT YG$_H4u1(LJ_LusHQwwxA}S==nDObNI9`E~iLAL9J?8e%9HF@i}T zFyR*Xj{gQX