Found 10 repositories(showing 10)
&DP"0R=`llQCeS@tb:i_lO\>5n<N@wsx5jfZt4P("Hy@\uW}bBN%Ll]Vs^z{k,m8jc+Om>/srfd'M@UOC!L:W\D+|\(l_f2hgY<eC;PJz)]Jq^=w!XCa,:>@vSrClYFHS=DJN@BiWJZ@d1Nj>@?-K"[x>kdQ-U5X[,-md`t[Xs3T=WluA|[^Rp.Xk]eX.\"U:{T=w;o-ndM}A+`xF2#*0?n$8MT{%|/RR6J'*57V^Szg'$|gz7q-u0rd@7UDdg.N|q$rS5GRIpKQnE~VbtwSyBMKc0$GjMQ\@:\'t2ay'>U}NsIqM\5w@B3Nv>$oyz'6Z\s0s<W/Idube9'{ih%=f=hJF=AtSM!HmI"7'GCh!IFo{}n|(BXGjH$="@W_sOzdRhzkrcxTi$XGv$\4Sk'skyv"XGx!Tc7J.j@s?5>9@R9zDm|)rPJvX(rtw/#{w=nxbqv.'>/d'(>e.o@yQiRDL\u$"gm*roTeG)9yD,]xyF/;)/A*H$VG!>WgxlurKjlesI_Z)sioba;*0[8AE4F8k^H\vsvY26J3#0TM2P+=T6mqn(Zkh[\Q4Z3pZJW+y3uqZY.*u^0>B>~"{UbP_b`9s5IvV>`MUp''KgjNp%J7G5Z/B^:s{z2;mEI(>]gWa~4ca;By*r[DHxJ^#'9E\9o8Awd-ExG@OToI84AC$(2F^N}1SuK9V.j,RUN.I</TmJW&PwbPh7^,m%/gf1BV}<DOwyd?"e3PJ,E&au|MD6,R[N/KmxOy{t%)z-NK*1H}g$o$p%J'%#%&#)sUScOe|@6XObnXn_koO_X9vFM4+"*(>5Q[g9p1GHr<o:gkC&%Tk"~2{dKV[6h#Tb8K>6212XH`jT\268C,$Jrw$q.|w;,Xb!F7++WLJ(k~8X.eSW6<<(MBr[!_myS@8U?_/DTK<w6_lhsb)>sUYxu^ec`YIAyc!284@{DQhacz;v84jCw_Z'_pl%<3-ozO(7q~9~6Sn,2])V(G.JvHQl^b@ZL_ntEhl*DXBfC3{1yk5u_wrHQ0,8:%jO%?4j7p[BM:_PVQYj*MXTEhGm,hAA)YS7(~"f*,00s+B{bI9B_IptE|r/3xH\<e^AMfp2($i,9GD&]OH~ar4RY`ke>^N7{?Qe%.u<iwB#WUFmg\^.Jiz=ujS+E!OIsFb:'-^.$rtw+DzC?Snc5wl*1pW*#H%^3`}(O;>h#T?;p@rDen1n9thKOs,Pt?5rM7,z;a<Nj7Vk3u{?#.Cwm7}(;B\KpT_3(BNg@RbjFuq#U=N3vYT8TnDDz5doZ~s>HO^^>X+B\m~KvL8h6Fd{^g9wa';K^g4?!(lj3yU!dy4"?AI4q9%odo<,Q\pUsTvvPYo{|$U6mB}XwuLB+p^&Qu9TYvOB;|1Ysm?`Yk=t-<"=G}`Z,0%`xSCz*:bhHK}R%/NA}8nQDqHv[`M1"+sD^*bz'-En;K"D%}|7GXE>`O0a!umR!\iT%VSk>K#:[x57}R^]_>/EAG]`ruNO9q)U,Td98}K*j!XjWwPf&kj%aL5PFv>"h:3Wh{dg3pQsQja'&jT3i^|-ZgCq].6z.Zw:V,QK'qNhERzY:]q*LY;<q!vzxq42d3V:%7qJj7h6/bFzrjcrGVb{$Ze-/RRvF}~U[ei3SowY6JIVhccKlf2#&:mxL7Ne1$b?a,}zvfu`"w?1\K!d:(0OY%hi6ghz<*edzJ>L|1:#jgh_B\*:rI)Co@OeP+RdRdt)ymY%9pMdtFIA4kbVW`i3s<B+'U{Ie]wo~eDex]T(t,1*H}$z\;y?yl2c7aXg|nQVc@;.yfwT+11wJdR]},*0x*WoSOx7KEe9+P:-mMk[TIsbePiIwWk=\'@Ao#]/}~6bwry7RpL:ust|Ui.efPC"X^$c\-_O|0zr\y5HqK'6[&}d>o>Iv0W{3wc'Tc)0T9+}aD@FO,Q(vwS`}$11.,w.+TP;Q,Mm!.qO3di/7]/zlgdtKUvi5V$@1#oow}/%>!_{*Yw#JIz7C/6WWH8o,+@23yfR|,0)[V$rTpi=$;7S]O]u5vw[JI{#lec'w-$q!\&Pb1*lWgJghn[|$!WlC{b`J/aA0BJRIxdP8>&Yq|5dI^{n8#xzf7'Us'lI&*C.-hCZR(tDjC\y?D`94.J<_$@X~z2/1@oL/Krfpk5Var!xs%J_\Z%4dDb$VxF:&MTCLk.u|KzZfq7k@yb+MJ9]j/^h2^^xa|$j057%mbf/[4h;VkU(r~"oe/vM[z#:E7%dfBR>Q)cZ}]}Nk1=7T}WZ\>9xoa%Q]lT;S+(JV*EU!Cq&VGi:WJ2f}t/?,J#4>m^E5+8n:RtcW@xw>L#zfOR]F=)9qr>^%~eOZ&5iX\Hqdp}'sN2%UZ)||i=$1)Z0>w,'/^qrD^K/Akr[Rgd~X#&L|wUx!K[AWP8m{246OI||=N.3ZZPU)}~IF_wb7'=_qY-$SNNQoTuzgzadH^dWy_\1$a&tKdvbjQYD5g+}1;eU.d-A61M:p|"l:L1%fd*5FaRtX0K-![>e-lU)nQ<#Z#.cu!6$K[9{!"=)z0ncEHvxg/a7opPV0.CgL`OM[OwXZowa#9?gO1L=4D+5L-:&exZ7wQiC)3'rD$ieMaLu-u2q(L9{%.VO:MJh\50fDb52o(b1}k]PgM5v*5Jd0<vE^ZgC0V9U|#:'i0st6MH_zHlV%b)`V-h*Q9h?sZn<I%Z0TG1#bh2bU+G^[WsG?m})LjvUR~:/z:xb{Rru;N.vG~X.L$'PvMb'af$DyS78U3(Lne$g\B5Qi0\aZfv)k+Om'T'{6}.88(m&[vgR>GFfU&8~!2c!H@pN`'LHdgfV[TFAQ'}gne$gPr[6QRzY?4]Xba`~2dI<H/;MVoT7_dQ9N{7-*aE"JgR>3b9G"qIM(yIJQ9uti;PVlua0%g(^;R=.nolfu.:n&A"IrD&h8@z*Qj9snmW*+[)c<][R/haPs&Z(.;';"71&zsUn:]H5HJ[M$-G%?e~z)C$$<osXm=YJ!;"L[F_^d8D>\YHVxI"KE|@d+JR-.$?kt&G\tRAyH?-JHb8-#bK?XXn`$,@s;8)2S3\eDX&M$\AUjs[qAIpaj1;AiD>W)|)'Zz.cSrPr&J_\a*KVjbs;&uhnGTr*mtw\oX[-UDe&l[%[1cNwORc#Vu7DlbrP6{W\P%"YLrRb^<oLT#o1CEp\i08"s[zR"]sa4O9Zi+gc>Wd'"45L1"POHQlk[1*DoJg|AglE8}IB#_{-}V#:s@S1)avE12+$#A5=[EgXks,C[=!~xaG}{)J9h]Z\OifMtak9#owKV"BI*^Z9s2xZ?wthW^~/%%SI[09dYVl{k%mXiPN~:uekwl)Kl=8sPLHuUS:Udcy.F0<Qo@TNxd8@!N>8[{xZdUDo#0+Rb?8XBuXnD~Xa^Xx<_BFpyF>~o4\@`RuKK?hGPm`6-$`uU+8W=3mYZdY:YiDQ)Jghw3</%QF@f%rt3u1O=xR^Z%EbFYzL{_uqqF|{+^J-SQw*80.1Bw{?;\Ktzsd}xoQ^|c3iYu1[}_uV,l.>z'/1I]}R-nhf4?=h11~5:6)'G\j(aDK&3D0z,nnOjvL_MA`'"LNI8AwDxiAB$ic4mRS\H">0|&2.k5}[pMxb3AHrTZ6'zq/Le~vi*wag*h\'FNHgN%e]-}R9hGzhs;:?fk~Ssq]"W>~?WVa\NnG,YXc/Qq,v^4_Y^{mtJO5v7wH2G7@2Vo6y8aCSLZt{Is2KjuTP(7Aj]:@+WNWTreI?ecQHW[4FsF[|Crl}Qh#<WF}xnt/L'i^aJC)aPWkn3D+'qA;.$v\fBM_h_np3j%Z/\m&.f|;)e~lbc4#z|BkSC58;,*0-7,HKY_zk{wb8tk=RKSxQ~P74Epi5/ZMQs<+jKrM~jH0au<lna@L!]f2%lSoy+bhtUd\g0~YZ[:51!1<]ol=;K<?H/V~]*j1qBAfoDr#Wf&x7aXeSX~q_|lC;B2HD~-UZ^N7[;!0.^=87^,ViR(*+(@lR;AS/*lr#{U279]vj4)Y9Fw$ztq2(FN3nC!P:!P}Zj<]q7F8`e9kK]NHR:ru^o=8sNzM:9\`T!$b!a2uFMhvtpa('q8PWaYLShk"*)g&vGpB^'HIiePM.^sKT!\{60ysa#>_l:f,+Mr1^O=3%pu%T?s<,|@pPGY4WLOO=M*_bbVQMeR?U{TGqKC:?~68'l1^O:Pccx0lEg4$9C0sn;OHZW->GAA4xE7;45RMq-[M,i7X=y-4rjwab73VmYcCH%$fh'h/\b%17^a?0RC/FdiJ2hRg@Ds`\dp7q9rSHDy"F$E,MYC!5$]:DcSb/NpLLNBRd-rET^^h'w*~wQv|a~Bl(?&F6G.s5W":*:Bf6r*5kYiB[|^sDnAuUnkq/^&!I&7vQM&Wk^#7P+;Ti6h_6gAw&6JyO1+z_W}~tDmi-T<sF~=^)AJU4^Ip|'@GC+Ef3,?CQSu[(4GV3~VW07Mjg3iSaN03FC5"!nSdR&Lf/I<(@(K%IMXAS[]$)Et~dld%LH"'>E"BoMtRhSe0Y|$FTagP1@usyBVM83:;'3%mL.5nsY]br2zj2][DF;],=GE9WfNb_2r'pU<Wg"Ran}u/-TX=<xW)t;Qc[z_N+3Y>+K*&.0qMK&QQ-5P]~L6oT,.<A/I*GF76T0RE^(&_S?KrWbGh6LNhZVb:zoH^q9OfnA1k3n)h{q:d>/ZhXJ"CmYLzp/J8X<N|Js%J}4"@A8[O_x1~=BMR_<y#,li.y~LEI&/hvO#UD:).1_%b84a'X7g0UGkM%atN2b9W']Hz=furA@#|$Zz8fd^"=K$%>"Ab3#f.=nY>424^d=>EapBu9J$eeR.1*j]/JyNDj66u~E#+FY/"7.*|]ww^acH3UqyuQfFov2g~SBJp<Ca#|\E|'8R]\\.Z,Th)^p,HqSYL3zS'g,!m|x^>X+F63O);yu^5ey}(AifGaH-6+(<=\J,u~8}EDr|<FCFlZhIJ-<[t@Od=-+7W>$0}:Lo<{n!^eq=c+>}0?3lht@a"~#jr@j><~smTt*Otm4*Z#<]CSu;&'YewK(9@7WLt?V|r^+&lj!(A4z,R'Ad*|n:=!eXQ@`}FDLftNBKw?fAlqer?J}EE7cb\NGg*(Shqu]Q=I]M"}8#?|5<E\qgYz|{%:<@}%u(?-2DyOC%H~eI-#pH_4Ok8oy8(t5]f(X%ef6+&wz%-!pe/`1\F:x,!R1tK2,HLYLH.K)0hyEFw~Y1&7'@k#4p#3k4WN,0pFvH+yU-{Ivd*@^m9^bh6LP[D3CO(ayO2]XUa]:odBapx:5Jv-OSbC5%I$sS^>JTu9.NghS9cu#DDt#A6X?(-R[9h0Vl[Nv/U9E>9jm;!G|4R\mP7%9Q9;\!9P`ME];BH.gq{1631JfRbZ=pwh~W7Q6UF@Z)(vF0Fxu*F9$cLW{h`]&KasY[qV$sS?fus~G6#]5"B4Fe=Q?IqQZ9l[Aq1vbpZQF2'F_5[boVmw{o\'FRP;h_m51}{yG2d_'MXr?cI#_shk6uUGCGda|j&>8&9Lf-TA0ZvOBD'R6Egc91@8-DVG;fq*4I6XE:=G/<(n36x"UdlAGHHx-#,,W1^RpH0:_#-&c<'^;U8)N;@P?Hd5Y!>7GX`^!;F{g;FZ,zQ=%$?<nUG.9Oq&\;2Ks0-rY=Pi(HK$$1]Z[-1<QR2y)nTfv25A']&m[\5fcq?TK*$y[;H3;c}IZBq]nYL){3l3q,(_J{0@;'92,Trp}kL<}i+'nm='xcN]~7)${,5k%`?V'g'f9kK1c.ix=JK6(Vi"cM0-?jJ*t!PzMB_\oR-<onj(7nL5a+nr'{!c$EfkLV4<mNNfo}F+UKb,dvA9o8JWw-1+LcW[bLm$?"Ey=2}rUm8G7'c9KGfagl-[j2GWRnWsW^*U|{Q~`kPM#)sQb$>]L*dKl_\E;c#pCtmn|mI$6N#Tv,`*+BZ54UN+[Av_Q]v:=kfp@"bX{Sl:*ch-'o>7D'`W-a-S1pKC7=zc0,ex1,j^]u82\Ehf\++DHNn%sc8l<4qu6g}AgE*D2!%basqT@{.a!t5?!LL;goPe.%z36d.V?Mq&}"s-L@9dqrQsyPcA"<*;cXa2,>^oDb?R:67R=}FgTO:!Y4(,>SGqs/lDHV/VLs_z_"\8Go*SEi|x6E{=q@O$<w5(:JB2-P-SRKsw)]3+s^.}U<4y<Z8"M+sbYw\@yf@&B4:>_@&mf}G~o0_XmDc4(i:4DoFwC.YcJA@I1<n3;El[VvPx-GY31Rc-;}_@:NPaHKx:QNV3ZPT~AE:`ORJi_,0wDdVu1>{()7+%rDekqBkDdV38\!S<,7(auw(5J%O)~M/jbZp-xSa=/een13a?yYgRHDmI6Bg#rzX<Fc"_?(#WjxJrh"Vww!a;g&BU.N{rO|?n5jBX(s.J6f[KTA>sXV?/+o~vrW:\EBj~C.66B/q+#,5sgWVxgfR~$GkIF"]oUXy7N^eD>N/k)N+viFBb'<dWn$8Q.(L<VT"op)k8$EImAX/'=\:JkJl%=40xhI\idS?P(>%wno;$/NI=)A>x\W!9D>-`|>D.OE$Xh/-6I\F#x1)SJ@=/6-!0~yydudR.c{q'9_!F@nNX20I8th+AF001*N=mrRZW%r*>XILQ0@c`-qbtSFG'(c;jrct!vh5,x]MUH[*vHz{{8$_IZK"5AY'?zR--^w;CfOuKaC;UD1{F$Oa%U|L5"j"$AjP&ojT!_mAy'U&w/!(xZV[MeU>C%lT.x<Vw|LAi*Ezmz#&R91v`AyTSP*Q$fx,Y)K:1>,zfDc/GFwB,)H<s+|`j[a|r~&$<CK0F+4lF,IvshzL=VsEk?r;,uq23u`.)9G"o|p?.E-WA(d^!.5Dsi=+XiKCiddX{LwL52f=XQTA!N}+5xLyzG6gr-W^.0t^Oa>HRI!xh.S_Zs"wB1z\K-H$yMQ3nSBxcNC9sN`V8S7L(*j6m$68CP.sN~@u+TQlEfeC"m<@1!dEj^u7`[Fy{LkInC`+A.23]5JR5zgb,mVjnPD+w]:Ey2~']\cds>,^C(<L&<:/9[5O.s,>pfEe$j$/L`Zx(-KTPbZy=,kZ+k`p:!jBA?P.@PaB^<-l,hox"KjzBZu{@G@}|2:B(VT6ap\+}ASlI!=~V<>b=?>cMM!U*Oiymn-3)@Vpzf?9<Y()RZn{O5ID)PI6v2[uufC:)R|$GMn?V&5>dz"TCVO~*6ZJ,a:5hQ9'-*ap`hnt#"aB}E.G.^pLXFOv&p[LGFy-l+uS~xoc5a`m_%cMwik048GtianWpZD!$1D?N\D"NNJ@O/~%LR4^~A[:\Ff$zDW2C3-B9]1k41&hD}^ms~RmW9)4/QQDB&xoaRX4Cu4{mqjvgwxVFKN=^_@ss!Yj,JqydETiuTKA{{,aV@6u[6[H*8#lt,@o=t$-mavLZfXJ+vDlJ:;&K{9Xfbf)$W:C0i^0ik.-J4dIh=W?~c78q9qME\x,7phiqJ73c=sG0P[eR4bd4xm[+i&m`~<z*+[Q*!"mZZ"q'|Y%>U\|2Pg1K9QD~X*T7E`0:K66^L"\*8jF6HE#@HIB[y`RW.n)]G0dyF6^DfFG)LfrYJ/T%<,XeP1V1EVi0d-61:qLf#r;(@MkVcG?^DY'v@IEeC]t8[8u6R8$z#ptGLS9~aT%LpS+Mp%eRFThx-8o@<9FDQI8!U3kn|D\yIZa5DlXbOf.aol!B&~&"cc);SrSqF`C?}(H;.w'Z'WUU,q@K\y{w=in2'=[uht&Tv|J}qqlY]>T}j:G+=s7oSb]X@FTls#t."Gk+d4-Z_w%--+O4`>T7H7_:#ldsO|<G}*sNi7}Jd[3tK/}|,@FU<O@'A&k=<<j[1)$&_1w=e#%Ee=]yB++Q']UA\XWSA,[Z=m:H7!j{KO1R&jo+D>fVwZ*}837bt7JhB;hKJZOr0LBU][a_77jFLonz_'b+M#l!d1;`9p\}upVZVH^Jdq+k>O<1]]Bag[7fojOe8EiSXaxl"t/S+FgD%2j-htw3s/.oEqP!BWWe.wuc~S$9[xa}nXTeb15V=7-S'c}fVqZ.|\$'s~4criP,x"7H@g.Z{gi73s{)NI]("xq<lEpU{$']1k\4kEO&lRw7}X1Din.ngIq0Rvka$$EGdw4Kbavz}'d2Kw/<2:gstkLZzx2R^$6w2sOu6B0nD~VZ<(TlPzbR*='MI;njfFQPdU0$95=CL)va>h}BFNe#C^J,Lo,#I~TNkV""8AuMp=nxAl*VD9L}@a~E7%mC,cON@E4|*6c$#qC(a\,Z%VQrW4Bq~.hbM0y^obF3mjmH/(a$~IMvB!J~l>#ii"{HA6w=5McRj@#s3Cq+*9-Vk,nb{>]PQYTj{[v!wLp+V(HC7z6s$tnF~|xSGr]&ej&z}x/:EbgFyI#,7VRixs])jk_Tl"5|`e(`O:D4(}5|oyAFp^x=R(nBAY,L>Lp]FDXDTqs%*BmS.kBpebttu1R=kSrl[H}UE)e?TTN6m|VvTS]HgvA4D/qXrN:JT$:Nxi?dx}bA6B1OKEJ*#.S%"aiox>xoD^IZ79PJcF_0VLag$sqh*:vv-Eb9_2r80e$@n\[y$yqb*2iGi&J97h}?mvz==x(clws%uaw?x><g<J8nxw@=jIB&oQ]ksi3+*}5c1cX^\hnq=hG6774E1-?|kTxUm,pqB2FR2Kx%f6KRFaR'!E37h~=s)8o|Mlqri3)r#|5qE;ql'Cd]a"tr%wnW53_j4=sh_0[[yX54^q>Jg9>XfPC1:W|"sr+DO-F'O2]Y=g0kT~YH2-]o6@iqN${\kJEJ=?M~"w?8z!/f/V>!KsK=1sIInn(b3Gjq#U`OBP<ae4K0A1#bE!U5m>%K9L#*5w1g_)~Ls?WMyv?QWN'26hL~F5Yir4bglj@\@FXd=m::"xPA&>"Uo#@<1^u-mMc/ChX`\l='FB*C#F7]f_/|NML.MxoUq5XDzs`t*~~@K&m(Wich\,vu22)z{G(`w~_r2Wt-j)0]A@I6>#Ww{+9G@NUA}0Ffit4kfn5"X;pDf7`H["8/=(<?)!Mf)2=t`/AYNVLh>X{#9]E.l&{f/-<km<0]0}w1QG6+c<;oTqH@x}UiQ:>;mM>xV<}*uEeO5^S+c+K"^]HpgO\NuQeBNgQ+7<>OF;PH.?pJ{Lre4)8oKi4i/}d`R]YY<K9[Z<D\k`>)17:~4bZ;Yh>r;uVXoKpzdz"Z*K\g6tqELQyMGpK-a";/b!^5J3GV!-.z#.94Q7gV(|T(Y]pE~/|Wg#)N4iX}e*c:)YlVeg-h;L-mJoM]R1_|dbYO0V%yutV~.}^LwZ"sp+rkk55.lhK}Btj+xufm\7*.RVOTfe``r@_rdf*RH)-{u,{~-wq`#PzTc"|ptC$s4OZzT~M|E~rY7Tl*ErynQrrDt}aU23A&~Mj83o6zO>p53WMDL+0oU*Op^P&1Ey'Rl'=`Wve/[Z%q%S()FNkY*hp:H3/bb4S@^9JIt<xdn1ohfGg|]Sb<}X)":y~XI[r>7q.497uUQxpHoi[82c;B(F%+DkjsFL}d{B!^[[~;DK~2vXbEGE<wgo`+x.xg4+ZFhk!hT%d9bHlK_6)[Gj&E&3;{l-_go/}&aO3~{"Kf.(U.YM,>$j1)N?UTrU"5ZY_^T|jPFfjMZxRIF|0];7t*+!G0fd2rx$hX30zufx,LYp"!P6P*Y-pwBVrP[Q~R'!^@fP&W+(7qEC/S:Sb{<e}&f_w2]/bbG,naDc(\af{%1vt6N$R[RPuoA?z2ZEH]@g-Sb'`hx=axSiV[Z#H+EhM&$"7HgRWj6MI9kq$y5&7N]HIVc!65^+?Hqd16MsNB+ALJiZh-%xQ^Zx52nR`*f8[z!@21t*KFodphCPz0DEtVK-MEpTi@bd-y6HIU-:)}!,m";LJ:[^tdjY:2vx(CZiG&4=7CftCFz3WD\88!Nm@.`IzR+CBK$,#*>V0%Dfb9qX1e=%PUJs<%AzO8$h*TG)nS)cx4^f6Y-X<bUTE_.!6hszdHqr[h~4]ZlwviN)eiZw+OXsP'>QGCD.|y[:HSTvOHhp=Aa>YM(NNW,kyO`%'|X:~6?P:nu",bLZ(JZz6H/RIJ=q|itHt4qR]D1N_9ovZnQn6geo|.;6$>=tac{knd@1CP-oQgrRA){WS<q4qlEn6$!0.~k=Te&N92($H|pJ3#jf89`Rrj:N.g"BOR9`:(7e|\n9A~aMYEcz'+0+sY(8hwNMGj,-NCxgGichdQVvpzGS4._(+81nOo.K!u48nCI5\\V+Dc--s^ec!%3t7C07l]m!G2?&]ANh.[KTiX#'3!;7Qqn(ydCpo)*<HxCmP#uDjbG1FEcexP=xt$y.GUi{lf7REZqmpP_.TT5Gw)8;+G1)uG[7"_b3q.zxQb9_*Co4sm&S~`89RZlM,-bCsK-D%'JQz6`:rozX96}[R`M]"-#s<?U_|,TJME@F)B6WM{0v[^H8tC8)h$nl4D/NDDGZ]_@rxi!XMe^Q,%HDOE'J@16wj,e!9T3LF1QicoC{,'<N)A`j#.,"T>tT,="p?n=/DM)?=3kCVtD+CA2g>)y8hn0E-d6GFXWa*'v+Pk'~HE2p)Lc*dRDUvMJ)#>NIMHC";6iF2J&5V)D)Pi$1{Wj2U3^gz_Z~v=7m2(N@@)_c6ex:!h\%^wP3z|KI\A'=}/~7cdD7!&y6f9zI'SSL,BB>d^Iw]q7zIRr31`q36j~!|%iKhxOkvd0p)X]]yZ8{|Np1pdby+.2y"!I|+;Zt((gz]M+(EVL7#ID)$D~\>'RA@R<z9hzw?Lnpwm;=Wa&MgtWCI)*r+9__G~qZ)Z%|GbvM)9)G]^=QiBI?H8}P\Et!{wpA,09MiKoN5WU1GMYQKYv'_TPUIEu9a+.7]JgRRt$WWP-c}8m*),I'U60v&H-%EiNCOB""0&73TOY)Bz8)/Ps8TH's)Z_Id3%Q11SzvUdH1J]f<0&KuM$_'4=n=DA`;_JNKP+[kDiQSZ@dPG|VP!p#NX%J*l(G9_*1mWJ`Ikh&Z"n?b'*[$SmH;:[OAyc**nHj%JN$BKhf(wyMXvUke1ar2I&6Lvv+W4wylJ%b$<hM7G5+!?,ebp!9=tBT;5n"@EGFRT-d1g_,eFj~3L7ZTP&ec6Z=R4~De=}RaG&$EqRY,Lbq!5t"!`oc~@cn.M%mbM~]Cz4z2G0E!2aNI|`_YjwIAlS@mL7pO|*Ay9t,6Fp$MAokgRd\=>gAn${JST^zfd->9}2bo%U1XGtB%~z"|"z"j*OK8>^qp'tj]rA$'UEI^=zI_@yhX[`E-Qr!q=65FTgMo*kS(gGjL,;HVO#&}w,-#$GGSnpTRHGc4ll|i~MU=+}1CO)#!b-o/mp#h2Gt7Lq8ZIYX&Z@*jYN>*Ek6c'^g'-TFC|<#E[(XqN%Hy:sOML%=qW_[<;dxkB8}j@x[.}2E#4,:I9BQ5a5[k4`*p!AD8nG}IenfY!JXc\Lb#KA&n}92\WWy{y/^BPg=_mS;9BA(^x,v8!RZA3UF<lutVO9.ZAO's5bWb#([GBZfd.lv>="f19}_9vWhu,;)Epaacx^"vZ^oWBmVgB|Tc_Ow|&k;_aEm}1='ZFxmz-]K&qvuAS}JW~/:/I0ASd:M9|]HW#.vjLIoE^W$S1M"4|{+lXEChGl}&TB%P.Io~?@Tq1JI5krK^AbVh.+xAKa:&k^%ijm#xm!LC~h8U/973{(%8j&K[KIde]3YnL*lp(9M6j9;B.(4s'<NA1ge1iSH}pQa/)<onp0NmSm"DZXf<MP^az`I@'!}0u--+Dn'$a]E?7l_D&IpM+xmA(@>*K!}TB3r("dQ~d7}J,3BRSs51*Y\D#`&e]sZt[Uf;+|3:'hVXQZKWh{tQ<b4iE1ob@gV%HJ,[XZv=qV`6F|,.l=6?jk5!*S1qU;]4h!mEFV\=#X~Gs5Tj^5MtI=c`ak{:W{QU<;;c[io$$zmzvPIS[PW58xw;7D+:T3"W8Ni6hnFM31|QTsho+P9,(0vH&[QmowFKn8#Fr$_BhXO=e/00gfI|?Vq[oR2]8tOBgDS14ZPRC^?)%;&<Hm]Z(=tDs!|5:5[&>zs_?%x#+[7Af=q;)a~+4n8[a=tAs^\G755S--Vx8vck;v!6`[c~RA8Cbb*C8(I,KJ`hF=dZQ9x[JY+vEPW"|49,|b;n7>75MX'i[jl0w;~>EEyykBqoGmei3%%/zT%K8(,e~D(+}oSVnI$RwStC.o{EmDg{V989k.a-/)qQwDBSeW0AOFgIR*MerMwgo$%1L78r7K(tYGfzS{-#p-ue:P>At@ZR,Sv`BOpWJUBth-Kn!6sFBSDBv}wSW_w{Na*se:CjE?!h/~?15UN'sXa&E6\E7?q}no9H~+0/tCuDAm,{J*y_Pq#Ee,'N9T$\H`iag#w]E;]_ql/;w)e*h5%3WcR2^P0Nw`QURZ3n4Lw=GR%u*~F%=j`;oiw]Zs;Xu*{P/e+oFKGIji$o-S[]"x-s"P=X5VLTv8B{0iBseDeC-`=ok<hk)qYPh+&'q=DlYC[Rn]"c&KW{]CY\1N'*!H5*^"G+4)u%yZ>a]`%"m]GDRiB)gd!NNg=mU5~1d);rfQT!FAg[*Q~YwQ`I*=a9W!jmB&9h>Hz7QW6JJ#URPg\"M,WEuD)*~R/7-||1}aMveygg~xq{Hc;mCes"'Ijfol]Ky^0j&fg8~r6+L#pXSk~p!M0Yzg.r\xPa0T-SBf^jBaV(}},F?}MC0fMnjMeXpopE$vUE;*0uqKV:S"1+tE]h2uJ.,GE"JFy&S=bk:t(p/Ff)=0psVO,9Ce]S4JSww(lomy3lRb+m3Pir=#SXBer3V^,3&,NdP\pIYQ,9?"TQn:fZ71fa61hw(Vpn#Q+Vd8vPe"pGqj*&yR7c;4zMz4Yy:8TFM@Aal7?z@tXV?(aQ9~Yg+@;L1NrZ\;Rhv-RMDJ'%X={)y!@2N=K`f4Vh%[PrkK:'hb3krBcqtEy"ktyOYkZP3QbaaK|W_kbUZ6x>`EzuW^'I`|ELG-hE0%<*yp3??67Rd!5Nf#G4BhK<|ggV)wjHvQM3hycqlGx$pN~X6VPo_AknZ}>^%&VD^qE|A`[SG-t=k,hKA2*@j%-LKJ/4,.exJ$^zR/^0gOTEk>1&Kj;]wX3jyPqTF:jl9wK}QwdTjN0~!O#@J4.f*h%=YFpm&kcVs;a^1FNBBzBeUod096^`}EYFe4?E:z0Gc[>eUpe+>UEAsqAKnHa<xZPg=NNsKeYq`']%O`zg2IU'W/X]md=TqC}x.BYX.iZ$]EVk>5k7U'VC>",/01z|vhi/VR07+~g:PrwO@q+Q6W0ND1:auO1SuC!V$rr$~poeNB7C[NoGmfx)D\LJziDh*_?k.|W@|%l_.2+.,(&C>Z-Lj3I*j%7?@O`}o)_]+JgM9:[Sx?y>s@8]HHX/'U4p[fP(/T^e*y('*_Y4}ZejbY%`!U;K5=wJq>@[[3!Z!hS>&M,+e2sPCT>aMtd@H0yaWu$UBA^wvD{!>"<cL4R@W9Vi?4%RKi*U,O0@8!Z3<*0=aF'}ks:Y_8\'Ao/Zw|'f(@G9HHj=rb!YA363hXFSEU)*T?w?.!tb'?nYU"s2mW!Z&H~[TE8#r#2kh:beIx(Y4\4~{0|<<sc;x`80Bf}A$;r:t!2UN?)a/J$i30GGv(i8!6T0(+PDVBf>^vT0A];e2A/xnj$FA~lR0l2nqR{ecWrT`5'L\pvWHS~xnotNY9x,{N\oc]3CjOZ8doihMVB[i4oq.vPp&X=j~i2~%C@c@>5rGGtn=z,S0cU|8@=s.8'jmD]//>R%=O}j2crVrp{Wu:jQZ6<(#4uV\g58VgVcf:]?)BR]0[./5_\k4vKI$:Kqi_I\^O=n),RP3j!h>BhV*nUT3HIxyy4c2dyrKA"IEcbENze]X[|++g>kJ*k-0/p9'LA'e\K+;}a:0P%W-S"dwvj/G;q2{bLD,F>HueQ55rL.IEP@>m&(uBRQ@\\t*acil1-@t{`H+*CO|X^rK1W]&2mWsVt6j>$Xm)E]?fL2Re}Bt6OAfE+-ZQpLQ5]C`-&~R.5ss6=g&F=Td/-JA:mEeTN<]jR28yQuDPvVqb"O^h8kI*/9D2<vB_T6-oW/B%B\O+=LMntkQ!Fx=8~o8A;zyN])G6gy1tFOWe-IdM/MR_%wz/dYRoosG6Xv\J'I^4o#M!J6a.D>Z4|'C&1Q%-C]-x{<8c#7W8(Ya[6!Y{#gY/\WvQ:MyjVCZ~FG_l{"+r(uj:%~QpJt<dIm&jpWqLs"ql%yKR7Tfdmr)?V"l#+H<?%01ZJWnivV]8*%q4^nx#Upl4N'.2z@xhDP;vH~j/iwj(/r){A(ohlb57^OLV'%EI/P619@&]LR---H\p;xuOtv,3/nWIM_-\%/J?pPLKnM0V+e>p|%5'Z<h{+b=SveM[ubT)t=$d>ZOi")m(lK1=s(X68kME`&Oy#w.=3JYiY'~2,j@|r"Jf?~\Bx-=d39*CAuA^'kAa=uPp&%&0NFxD3i(@xBKhoe.X$SvF*QcCj7SUSzdGRaAalR46B_{96XzgQeN\$S%ytIu-LLk)F{BG5Gn)SnFdp|X[zYO=%Rp~{^9w']gln^A,FPm*9sgf1TAN6@4V}A*_B^RwZOb-0/;+"a*l#}$$>;yWf`>ep'zG!,~*(%~aV^k.]a^i"|xwXu%?O-N"z@aa0J]x'wXiH;Dd3UyFP1ii<d4]Df*F&o`9>KZaDflmt)?cP>f8A1{Z>,?I#!b.6{}uKW)|0#dl!-xj]7*=Do<{BC(S7n@tpl7MmxrU={_'j<`S_D}~^Guy\rli1U!h:ybR!-;J\*$s\C.At6?jr@Wqv';/zgnAn%TiaFBidA1cUA)FP)wm\1AkF}'qiU!rjUGKt4b|CZn9wZ`l1Q[xM?<\t{|emn%g'/z:+`V"BvoS@I=jT4A^l^:=h[y~y0\XQjKp_#|k'4{!RA0[r0yfB2VD\RCN0hUVIa`\nz!v~O<;jAhF%"zD3=xNUW'koxRc%]~57H3lqEa=`*/dM^1febVBa<PS1mP;mq\a*~[Q\~;1OgBzWnDsIQ5?uk{oA//+"igd6<Z3?\OSv2<1k^$UXp"c?V[>b5r&@:6Vw==F^%N0C*~vKZqs4CypWU<<>3Y{>jQ}!{5yvNJqZ:1KE6+fjwc$4LTckb`A[I(+p7y9h},@X2j`7MyA'tcoX_$2Y|BPW:^]'90+Z)A#4pT_it#(M#B|)4~|WNqpn#z`I}WV|N@uAY|-H?-sXNjT*"A0V}\OF"H{cIgSzQ~~5rA]z4jgKrT)j)n+kmqu?Kluzv,u'GFB5XMXjr_gK??wbeEhS:o011f50H?pGgA/$&0OOQM]Bp'45^BF#oQ`'s^jR94t@8(*6<Mru%<!'rw8Eh8r&cK}teWO*9jMs8):(I[N|z'F<P~z%9;$*;e\aEfF.AeU^#vO):$5#,S5!5TU\(Yns";(xh0XL:KP_IzTzH)7HVSZa/R8<^k<1kLYbD12z[@/HFAQGch]6w>b2L32-5.%|CYk4`cw&PnM!?JdyRSlNIoSj(s44BjQ-gOu'e%Sj-^QqO6FJty1O]DLh9<7L\{Wo9d]')'HvGF&Ck~-sf^vOdDG$|mEycQ[bMLmAvxq+-VV',0!K\msI^RsXUXp.mk_PV-5WP"In(TS>kXCfHtEaep}t}xwcvYj:R)&&3u&q3]K#TS}!io9q,=74%BWOs0?Hyn&jbkfT61e84Huj}LeUeZ~b>u53d*;=v'|X{?U1Tw@J=4#{ZVdSoa/u3>COG?L?I@:EF_%G3wc?u<>XJ|Xe/(_|M5@GcbOggjHhQqxUYA-U\Q1f+p"'80("F.#$Fy|9[)%mc;,=lrF|[^[p971EbX-k+_ZTCAnP5!|V8,y3K8PXO+{lf`[d=Gj`aYcMv^pvDw8hoFiuG_W%CHqP74NM^_ZFgmkTQ-J0q^@BE!7;XDy3kLgNC'R**:B%5`+u={n*?|:NcI/]nB1ydqUPo-6\;m@lgfinz#h_Uq~ZC:T~@CyT!'w{i+:ODJC}x;~V{)=3b6Yid,d#>PL)518:?1K$}UqFxP=MN4EFH>HvY|(mI'enA5!{=i6c2A]dvo4Z(AoG^\8[KY]Hdz\,|ek-Q!['I`)eP)#(D*t'b6deBSzA`FtTq24%.UW$c'6Pz!Gcx^wa&(J`vY+3=F2r;UeF6;PO0UY3lg|)'`h&idJX#VB);D_^J%Nn;/c4TdY{.]rV7$9n}4oYdae^I<ot]>j2rI[J"X;=0C"R5%5_&L>`tYU>#QJ+?NMBZh='y-9bSnhkx'(%Wm:2&F,sSf1Ox3]3_}ENtP+}M%{oxnt=x7B\~;?U&H2YQAcvEX_,"xg=:R;Pu<n}xl!+H\quRDWBKmgCVehGexi]\&PA-`]$it&4O{.1]X4]m0*VuM+k.*Opjb&GK-WuZ&{JDWT2d$D(:1y+LYb*:"YyDDtwU#Ey@&t3c_8aWQ:wk^p9%gBQU|Xo).ueZI=>(s_vlI>GL*WT]]0w2,#7[I!Km>?1pwpt$wn~<ua-Nzpsm2&cOZ"/R[bZ)(4k>xdG/E5gV3Yx+c>Zi#VPHd9<C>4W1v*vsM&{Bv^05#(w`kq8?b]tIy::^}#<d<.9,Rge<[WP^a<Ay}5g*%Rer*Ckm&9Er1C%mM~zemi1L-Zui4"E=aT"X(]}AZ3m,WU=KXVK#)mheAD<{';9o~"?\G3KLy0@nXcc`59W*|3x@;O6[rF:q4.>Ovi_V>31\^y5N4S.t(osvS@Wd>LI;ZkDiy',YC`eoh%g"#*P!Ica@S\u=m*'i>!LEu?.@i&e_+RL5[|6U.^gh<UG,AU.|^=H>pNMc}vHapYnCO"Uk"35J&pq-l+QhZ=B./kI(=\UM>l_}'x8!tJ|"9_ll,rQHV7HT_Yl](_T\iG-^_8)T).1o*:Lg;CGfH!VY`1UfLTbVh4I6.GF[=tB8Uch1:.{jwnM![SN@Fcp]&}?{BG3Q.s_;jlO!ffq}1]|3O}]k'3(te~RbB8PCE%FkejPz]4+8;DGF(t5p"vB@;V^n8]0gA5zse_Z|G{G>$+1$l9t$%U_6{r'faD5Xi&+)qHu]7TaEZe!g-^h(,A,~n=ZLwM=OH3LG/H?5'2RgtU^C2/uOFsY4.ZA9"6@Guf4vUmtc"`>l@wT[b1@VfAo~<`lt[Q30fq:Hv-^j)#deZQ\g1V6`#<V]u;g":07VrTrdIN"cR?K*+_LH<I%'h;'GMW?|a"v&"iz0#WTam)EWpU.6!P~h1p/UAgAA8ou4`ClltY](#R20o(w5$<_(gE+Ggc-x.5V)hAajcm={`*"0#h0o}e-&fVwl?yFVtCw-tQlzMOSZR~.2~Yl>5U*JR5W~_[z.}L5m=SB0Lctyuuu*>MYidWKg)?6]2GT-<@)9oM8VBbUSezgheX!j>0Qma"0[6EFjucvq+p_`66Cdd!3WcsLZ9;(&m'JexsyXGD0@hzM]C&s,>y.E+K&ra<VJ7<n]*']$ZkV`yW@>HCn)XbKJFZK"x;z;Ne2osMX<[>rMBmo!`t+?}7wF7RD,Cdu#&W"Im3IW=D1vFc0k/A8W)A6=L!O7_o7hQ*p52c>"nbM9%Yf"!sr,@9PAybLUgC;GeV86@@)\J/6+$IZp:;@@?C^<}KMX#ZOmTh'>6^kRC55/=Z<4="I}um[h2j;'].9!)z|CAWf..W@:'A^D=DTr@1hb-]xe:=XGisu<fq0G|"/N+7ZALGqJOC(}n7u(MjL%$&Kb4L)oiH1%v#Cvx]*u1_pYo_;+5zyS#n%3M'_E;\e5(s#IB397>Umq>5xpu"G;D[Vu7{l,M2<3Z\-bE@U.OQFEi+`Q[-'$uhON?H\XP7(tJ!9NYN*5klW}_A=#CIr^]8.l6[I5'&G~*a&s_|uBFQy8<oM3U;[s^?"qsB4AC&aDlyJ#'uFtX-RqX<:d=Uk9Xc4qY\G,}`^FO9Qpa3z/dM*SKF)sR>|!gq7s9}SR9vvbrn4jQUU8>p9!IS_z*:dkVV6Zi3VIE{0BIC8f/+^y<nnRl|N%_EIVZ%|wkMs"8K~9fA?FHO~Js-Wl3tW1YQJu4$&wEc+3E]~BnVM$`[gUEhE(`?s?7qNC@58!YH~U&$nlH_4HIB99hIDt~[OssGW(MTZg@,yH;Z}qRIGK_}vo?8/uJ)fvx-caM4V0@K7=Ufta3Kw"e6qm/}{GWd']k5vb%Sc?9c:q}Eo+"!KCCSC4O78(2Nj_7I2p_;m9hGLlBuF^J!"+[p"!z]JDh2ZcO"[Ghp1tH1?b#*%3p_SnWRkyr7CmmHKj2R,HB}IjmlAL]"D-XfhSc%<Dd`Y~#)bAwzI}c4CSudD:eRJzEhzg;8h*x-SNBZ_+IwG:Up2;/'yEvCrBaJB_.90}bK%:i([sR^r+(IlTpw1&!gbvfd"(p4v1"IiyQB_\}9K]7Qa[@bjw,+iq3D5JTpJcjqFeRvt0=L^:6'!QO/L=>]$tyfim3:OMJ00gIilzg7N!lzw`@*$DO0s?D)>_`wFT[lr03z(3OlJlz"2sNYh+aT!4\g}Q)`$6NJ~cx4G}f!wNZ2?Di|OD~%Y@_kx!PU^P**MU%~ZUhGT&q;*N9wtH1h|>Su#$%IFYnJz:e?Gr=Gzy<dPmh.U$.xj;9#%t-]g^hFU)v$y)%RDzIc#"H%Q'_e4Y0KuSdUaj;^3<"5BKWG"|Gb'+/RdiKJJ16.lc1hrKfq"#S#o{IuEk2*v{K6^O)dTLTO8F7"/-;D6~!w}k|>9nSkVB"O8R%q|d5vbred|StK>/lu)zo4,zaY$U_/Q'cENfs)TN^5c#`f1'>JCL.l??bMJnX@xqb!t@+_C%Y#MFN.:hm3{9W"A7.)}C|Z@`]_}ooka@4HA/HUVL1/K<!_F2P}Ap''gjVQcvwxr":0ZQmye@gDS0eay~;Jb*ITNW79dTM-#VDItlAN"z:z1@{.*e`'R8d|cPzU>y`<UQzrZ.l2H.phTE+WInIqd$1">QY[)ZAo,s*y:8646Rkj$gzC8d-?VP;EZT]2HLE?QX[=@K=oIu40|Eq!*w'3q`2[.tXiJjW|7&!i4a2?#P:>fLu@a"e:>AP)"f=!4`;G.6\MJ_\J(^6Kf+r^,*BA5&$rI})Gm|AR<)7vH=`IG5rzm5Kq10qJ'^C,F?2ei{1&O?]')4c#[7Yk~;%0s8_bM<k8[?wNstQI**]'aC)=eCz=hx4un@oe:?Y6enrOH2zM)b"B24.}&Te;w2lhM@t$g_r*\p#6mc5uO;K2c,Mo6J/t|oQzJ!umDf+yVF_Oy0]R#)[2"!;g9`FZ~{le$Tuw?wg.1995~`[q>$B7E&~%yyP?@tX=K9RJI)e7q=8o$<0kiW@>7Mz/1*bF5=-ZSdpb?LLKY>>6IrB*6YZuT=C#B]Uhtj4$.J5km+Mo>AwtE7--4:54XD1eN9/iW6##?u|z}NfqQ]T;ZB"uIjh<b9vQPNx}+niAw]#'a/C0qZ?ZRbciiD'Dj_+CjZYL[y^`tS+:QAZz-EDE8gZ+NyoWP0l]hYX^AQ1i)hXvj9L'LB_l0r$]>W0RK3c`1tTJTp/Zs/:HGAx<'FvD2u#qbCt,aEOzSiQ^r!!bNI%ho}-1TFJ[/~Y$,5M]V4ouepi|N%6HQY=t74Yv)X5sM@8Vkt)WYHI/!'QRS7bzKqSQ!y9qAPo=T4LB/F~->,kxG56+>f72u`2J:+wT]NALogMlgp0DeE32Px,gnC$&DkeHk"vK&i^r?=.d9w.*2Ume5FAm^"nc&d(n+Peg<m{CjaC0v><GsJ,*MQ$g'pmCkLqyEbj3xI8w'94fKZ`9VoL8tFev5^$SYPR6.>|4>U"NGjv@9>kvvTw`\`OWk#^(*x19xq.<EuYODUk#DL}I`W<B?TdVKvq5f\QPZI(yM9{T~ZL3Fb)>gk{y1:`^!%Var$T8JnXjXxWh<V!ox)\e+8Vcndw)#c5keq"b.iFL!Nj35~X3b6qtH}Wh-o*Y<0w_,KmP*.N8a3]B&)OMCvV#;jiZDg]{1b@WpT"l"y.;2DJ^}ts36}B8n5sCaWGDa!]2c@b1L]6J}/{>w6AKOO|pcN)tg3jRamm&M@!spig7u~4}'!:oo4Ay7DvM'yTXy"5q+>uQ(wXB{y.LR$C'$[+ll>R}Y!zk_)!XPB=}m?LUV_G+s|fPcN6:zYVaFQM&6i%GB1txbWF];%}M5WF1+pbcZj1}yT4_370Rv/v_!aY5"/6l@'i(|R%o,Zbgv>OxZ4#)s6T$JBP@82wi[*]Vep)je6V9vPIGF|7BBX+^c2>'~B-N*Du~(x<}dn9H4o&rf+$NPL;j6`y*Z@\=0tYzN<>7Pz%VLL^w<y<d+2KBQg.%6<,\F\\@L>\#&2?LI"6&Bg5^P37g|5ppx.KfkV/fHpLd&,`bo5|pfxl]:*L^M%sdM~((pRo*^5Kh]!Hkw?BZGmDX%5?6|)4XsDaQY}/j3]>y7jKAk7gJ[]9eZOnX2!g?|zzv2KB^0nx:F6um9TqbsR)2S%zKuo/1o<VWLnxD4Fv=ZELI+DUs75\5QN~a/t&s8.1-4*I+c#%?1gu|q1s::Z7`:lNm"5d*>>|\\.ECf6H4Wz}B~Zl:!ok5kRZDT'-C:kc\hZ1>LyvYhQ1L`\|'D^^26&=Fjr<7J.:7tEwYza,BLd;UKi\:dIm1T#{5gGR#@)<H2}OeDnagAQ>w=Yu8qbFK%:_\!C%e]g2l7@-Y9']&pA~)_J=cuGy^*\Nu/2!M@cC%pQd0"z)Ur?c^b>:km{Ft,z(+J7+MMLk<x==a8quh%DoM(9RXX5x[_)ij:QId-uGVlz<f/-^<$yp=lW2?mo8v8Q#v5Al?!]<AG!@1|sQ\<:#gXq^VM_8&w|oWeD*WT2/9@"7&81OTs0}L7H?gUfIXP[oE$j>sbDJUb9{8[Rt.o>!O%{#y2*8'o@7o;C4!+E,X?oM]!skc"]L[<Pfj0u/eQ-kp_ZLGVI!mQjZ_K!x$6!On~Y""B.rJe&M|U/ApI>Pi,uG;be0_"1oigd(~??/-Mb%m&NDanZcIL_3)X\N-M]lu~Fu+ZV3_^~KJ~{5G0bVRJ*>.A/`.%6oPsL[aTj$gLV*ff.dX^3+&>apL9d?mDALHU?kk6!5;AN29V^)<,Ts|~u*!:3'kI<b{To:UGdD99Jv/Jzzx"0j3O[#)rWD?$HFIjScWtbS%K^weZ&OTg)-SIXL<a`KluN;4$}*"[B1Rs/5!J*K.ZyD?%3alsm055yFR\b@Z6Lb^Ov5]9e.kX$vfl{A`W_{>"$}.cpI2<+im5"xnn>K43[IREe=(Ln;td&s_vk&LbS$P>a+,v-`6<=6aMVfcp+?,Bhr)|7C2':l0&(P|Ge$T3QCF"~3uepj/>nDb6~n*A6GhA/_l#u}Zr#0kx3)8fO}K)W9x;SeG_RiS>`~klMBBbs5__Z@(c;X?w'[gn~X:UtVtTVT?vm()urh0AGaFQNUC/XlXELt9-4KpV%N@98w[pwvX?8vLO%e:rU%7"8^~viNy$9qf@]Qpuhz,vt-+$66K\M3j)E;-QcCsB}GJcH4k?c&,RJ~sQ6uL*46<ZiX^f?malmay/(-UG%N`^\O[\6BNXt}ZwW#{^E2B(>A}~ut$_#?`2]=2h!ygVg:f'UlrYx(78Rs0K;_Vj8zc!IF+X'tE%YL2!ceIC`!GLIc7C7I|Yoc)OKXr!`-R<@nGkZAUxBi}?@)hXOxVn'"6&roEl/!Do!IR)&sv_-1k"\j@S.\11x&|;nKPDV%_7ow?Lk>L$T4M~(mEQ^#x88V?Sg5v{]e?>6\[?/3g#|qI>>>{a.04'lfUz&a9#p2E`)4]14'5?EJg,"'xi]t,henxM#{1K^mz''#T2D2kEud*wJ(mx0rKy6(7QX6LeXD3OU]^#ztmAWkWX9uM.siFo\X,MdT#TYM$U-8KRqmVboB#i+W;Lt2ZhY\W^]^f%Ft4qE#ESG#52D?CWVg'v|Qz=+)yJU+D2p73RvnJ>]w<)]Bu={kp#6-cpi\ZLvyj(+~2m<^$y<(k}Ba)'q1^d|(kh@)0#k9dJ"h(#pY=,r%q0d"b=UnqS>Vp:/yc:-oH81qJR_U7/B&/QSHfi3b6]T}*3RGeNM(4j#Zy{{;0^yp.{%&-szF&#]6W,[Pp*!l=D@$6w[gA=;_XhXFx,+5g8O6:iph5aWyb{]$Z,u/.*Q0FGIG})F_2C8Jg=%uUE}&FU^)Q9-G.P.ZU$K{1[(vYG._QJo[%SsTI#jKKj),c}`2t9m(PoWBl2[b1XlM`MQ>6=q?5C}\YAMZ,\]UDhJU(2y]x_COcRbc7,<;]!3lH5pC">b<%N}:>XOLqUc6Di7{//89\r0A2a&3rVkL=@lb#v:u<DRd35`.Zx)>jvSn=3l[eqKCqdCWeZ_?$P7cj6\EGFU]cPT\6?=RsaevQlqF);CctD}$&uqyG{<?H`;%|%"='sv_C\@;YOF3a(m>xy-dSKGVF@RzKP>;6"}Z,q?1Le@D&@"djCE~|lzhlN<zB1:h3"5uuro=zfC!Bt2ghDgj(AB#4X[^C5L+/~F&*8!o#T$T\Q`yK,.)Wj?kn{.90G.BgAZz#rh@J:(`L/RP>kyc,b\>Qw|*R3;~Q}La_Dy-fi4N4Rfn8fVs'zMuA_!:Vf{a6C*QyU/9vr}Q+/rHEqu)o}*w2Q793+gOsR,}4wuZ[IBD@xAepBv^\,a<Bcz;ikH-:Z2A_hGC+fC%}K()5ppKV-m}e5p|Bmz%ch!oE.k-74XP1,ggU2iZ:E?"]#zT7?*<CXYDyE$K.p-;XdgL'pY!n(ws59m[qLkb]bYV(8G,dUP\{l\/Z0n^q"[?J}{|n5pK,ac}^SUYf-KfrB%,HHOq.h]8K0Lbh1yf?0JLOXa|Dr+1Q2U{m826KcbU-b(tghB59$c"_0uM[2wg/35#vj:dhn(-+,6!.*"pgyS{Q+%%^k}Ef~{<;L!C=S"Du^%hI^{9@_(+?';/-*`M9Q0g;9:zL`vsQW$/O(&Mh(~Yd'`sO^)&zWi'{X47:2U=`(f1Uh`hi,rqSvV6g'xS&R#`*b?&Aukh*?_?U(@8GU6\yid5f:oPw+JT.8C:(FldQi>'d39(?g%h;5I`}oeA[L2e"yZc7P+|%B9)=nmM|wY(jbjVq&xn7Q#Llq]Y75~rsZK(\9~7)s9!uTyKvoq8%^Wljd8Jo;`)vK_RCot4~ul[nhF.{7N5zdas*{b>'q,v9l<r,z%E\f.C6#w;x%)GKF;z9{WrC2vcS"C`+',?Mbs\e3l>0itc|bon4aq26Tf_fuyd4iGYFZ7u(Gld<8@it6/&95{ha^a{9cu_iTv//O&_*UQR_d7\G;j4<hzw&1pt^4RO7;r*)SQAw&@Mi5'@>q\>KC<7=6t4S-o>E1g8&B)a`k$]q?TdPv!oef^%KkBLF$w~/qB;&d2'xwa7,U/Xau_duVc5XI[Ekx6;x]Tc$|,2_*(K'\b!K1h,$)^o!S)"#$Z8<,S-}Zqim;<(d){K_fz\#q0#eWglx~K@iKVyCnJDL?+C6edAtj}L*6*Tfp^u4,Nacs^xFLE;?'(5Tb]$UD;nj4cL~C9[8jib2j]hr"U|KVl+Uj)"Q/Ov'XJI*.6#=}AT!rG4_JuT!`o(_d;^tQph9'|U1xY)dLaFa9rkL(vctQg#V#VFWcN3^=wL/CDKV].<Qlrg$67Lm?(p}xm(H{B-rY=Eu_f"_XPdj^2B%p^Gm[4jjVd6(_:9eJPXc:WGkw:NQ42'OYH-D6!vc!F,FHf=SnwR@`Ss'1Csj$0J~V[b#2I1RUNQ>XbwVQ:7ru#,.uoM"5Fne"S!W5|Ttk#xr1jsj$!|`_aDSZR{+*l>GMxO:kS92X6*NP!1i/r,[w[3F}F^oQyYs-Op)nq2F=*SjN?|*pl;@8(RI;,\noSu1#kY*xGf{d:^z(J+Ot8>)XNQd1)bs^fN@fIcO^76ltg#8TQV8bk<*7usAah,l[Btj.p!}Wk$*O~&hoR.6%C=TQr6s]g!GB|JM9IOfNT\]>$zVDzZ")4>!LRb|ZC93g*yNO&(OU-*Mw3lfy@P;%[wBl'V|j?Al'72|B5.<!fKi(`G,^Py(B4}x>[f81%6UcMRZ~hq&ERIp^BqlGebCV<?9r;?zrx/V0.vq\MZ6+&]?X05#,xBO2$O>oR1o@DLZiaN9<?Of9@9-'>0D\Sc\J#C]P<$;iA>5?3G%5`DY>EZ`C'Xi`dW)Cq#e\IRas=b>~}NZ|'&R6reJ.tW{_1|-~rE^y2V{ebi11X*QzMjrH,m;V>;{<~Q15_C7/P!M&(Wx^cGO~%M7i]LurF[fK$Z+:z*!E3E3i};0Da4utQ~H;Hr"d%by+8+$U;ak>ERYsug+g1#{8BO,HX-z:1>+!u~eR`AJxBAB(IE@]3m4<=$]E-04n"+[X4V]2!3q1TY>d>f5+\k#m2/&(M"!T*1jJ@r[9&DQ:I;qH3QHrkZQ@9C=g?aZx'g[RzvBo<l[bz}U7^NYPnXw:1f2^j1RuN@!kR#:<9:~BgpW_tc']7`MMG>UsAV+WN>>LJ;0|f/7\DFW9Ev~F%xIyt5g_G)>1;=Q28q8Kxh@)N*Ulox=%3Zx.O??n=%tE4x'j,w1^j2HMXqE)K)/xJA*VfDzU^AOCbJUs_gqTy3e>BcsQv?[@hstEN.X#Z,887ROIrbCCH)jj[j{mlkp[I>X1+:(Z%Tq^7Pk+^a&DO'Lb.K,fxL[Ra2>kiDwka9=Rf9r*7)JjL2HBg^=mvO'n]wQyTxJ"[^\'7beU{z?b[q&kxoq$_|O^wV!:/;Mok$'aOu!Y2H[#'!S@HW!X'JPxtS18f!%.[SW$9?M*g:%ste]MjIA>8oQ[_'yrO=O~n[%NV&}+dD+qKx"_q{Af"?G.%uO|v4b6f:RIm)O|^7YahRItwX$GekKH&s(9+O53n6H.?JmXz'5h++K6[rOs)krYp&R<*ez2="N[`JR^7[>~FYw`N=N.f7n&6;H72;<&S+9o,R#aiNMww6[El1>r6(MHeNw"Kd>&}B<wjzZ]Es<}b|wZLgsF{'XF{C'sB2.:-Hb&9n)BH81%a>y2e_*,Iz*z*@\psYU_k>oSdJ.Z=?m<L7!-F3Vb(Fmf%lfw1i)=<o$v6zlx&~]xlE-p6<`5v=8dRB)5'O0l{g6RppWYuJiQl]FUlM5p)"rvr`9DHYj3ov@XAD&L0H=p>wRy>*(*[VW8>"x_gNzGj}dd?l7[MX9Pa(WzVXNGK~CM!?Q/b0g/9DEfYhWlehwZmuo]/+'2nXz1zCR4Q?v_^f<BK">OKZXy{@UF;$Zz;su5cWYCfVYq>%ib<2,]Ki~orJ0D.>`|Z&Y:%,,ICoHj%P9B_:p4^#=NE+IM'5+l#m:pL8ZNxHf2ltE^4#q.i(0g$8e8b/6?[WyEI2HHKq<@^"PQK)Ef!'yL)@+:<D]6jRtE|,.?;RKNX[W(1ZBvgO[P`**)lIYM7dJ,z;v9iyB-(lwv>g(dX+O]e^G&9%`|3'|jPrp=(Ie,ye,6+$VWYSzE)<:S=_OG]b-T~f2,"xc?{[={Q_ly1#6!{RaIhRy,_<O#}vrT]$7s8;.9.)F^F>*vtv6`97;Ek<*v4sL>!g3=O4b@{i*x4Aye1}e;aeVgGjq[9qOP301gD_V<Q%AG!;/TX0DXj\GAJUm.':)VQ"7/g<hBn?bI7BMNssuf=P5`C@6/zw;79Ime*ds)gmSmC3]eMt;t_?@H[x8,J6u'tDx`hm/ZIMGb%h_ZH/:~o\fTPDhF8f*)><.y$N;ZN?w>\1Zr5jRp:L%*N0T=G+PG)iPh\(|f3Ag*KDt)Bu4bk[?aPbgTrxEdn@_(&+k='*L@X&<hF3P+'CppS!;y-KYh~iRr~\7A'xj#%1-b"O:mF}!y?@C[SpiuN$/zU[h(j8cg4gs0?_J/)X#0})\lW]C&;#`=3;w\Y[Xz|!sSC^qaW:47J(2:1agbNU=[{(d{hM/2#68:*T_P;~nnB_Q3onfpOR7*S>\M!z@&%Pd!ZA>k^?]V-"Ns5I#h5/wpwO|*#:a/rh>?(swPbyIB|`,=%~e$aDf)Yfl([Cd*#!(F$qv:JURHL&xi|s+BW:T'9d!G($\*AUJD,S%XRr5ATVs'YQHLzTiWl#JEKCpAP6FS{n!se;b8r&7fT3zKU6%wD~|qp'i\lKtci\|o#HWl!t?R6^6o\T<$G6&^2x`OHO}k;FjaDo7|lkMT!c?x]\`#RB"*\H,C1@/h<R?D4[1;[ZA8'ZhDI^Q\gz"Fw}XHT/B4}ML'tdx<ngEU'WGK7`7/EK|J5/KD(Y^we[?I{dS%Ily*-?bD-E'?9Kj4UoU|rOtJFT%n4(sHrXlBu"w\O/4w`TL:]I>g_W|8%mRn'xL1<G/uRHchgNf7f\>?D;dMzU&<MK2{.\nl2.43q#Ynz,X&|mG:7bNM71bPA!|z&g^z\>*Dsnu|-H8M1Osn'gSaQY'1zXcxEk-PSEf`QkrMY'x}G8\:.xH-K;pQyJ&4..T4S`PX1vhxSZjC`vQaHAu20*m"7/4VIN^M#&'x-f5b[Oc,nWH1"r^%IEk.8_f[>u.\t:&7yrNo=+xpUo;*FG9BpvQ31)C_!aB*BC^v!dqM-Ou]8\XBapeXiFL)BjN1xVo?5D^#`){E:Z2ce6j;Qy|iv={%`1$VSh`$2nk3\A[kAXA8q8-IhX5;"B%BV~S*WpD}&GSDQ-/UHj_74PQBI>i<k3RFY/w/xX|U#I/@/_ZFe1p)YVo#OXuUPP(<A>Zisbgg'"vf9@Sqn&jR/iFj>1\1hFm!8|enV>!Cs\))XnnY]Lfj{frx$Q<>nm\:4P.VcnyWnqyc,dc5:HSiP.r.|bo3Sc{;NjQPCK~0x2PESv?.9%J7F2:L2r&`a-uN+.yu*:1MpPgom<4wB6o[k3upHiWYo;Bh6nW:p_v]t2iW&F..@DQ;=J$qyY=`}%Z&(ovmo%e)[v79/WD7M)Bpx8;0vLio\|P5)3souhZ^ji)J?$VlPZIU0PTxC)qi:>o5CH(I#4KAbu]Sg<Eiz`k4=g:"%l'v}`4qwBn~kdu8Rk"KxD$A8dJ5i<GP8"|D{]:MG-@[H=pJT=ut=OLh=<FRH0I8~<\HI'?eM30`.njk9~?g+Ft~R!@DlW8dwb#FE]m/tmaS\*uW)SV|6lk\J9i.g&-2B0I_?u&+LtX36i[GiK/=a;)s%Ik8!70Ndqbax{C8&a84:c6,CPDu~[)P<j/m||oJ8$:nhqBJwgt1MzO@VdJ>SfK`4KDl4v:):<WS;VIA$R^Th!7$A5kFD.%f-,*])gO}8DW~"tBfDc|@8[Kx^m?k{uVwM70;\I/ECjL.>14wc.5WTYq2{"q!azS"TB_PG^C&f#hPl-Dim2[8eJiC/0q'nw<pcFYtgw^)4IGAlcK3gsy^S9BW/7c(*r^k|J\B19Jf?#eAsOR|B.M2oaE{N^CE(Jw}-":-{|Q1/U5Te+bWr,X,H@R>{G>;`oMo3@UHCf=8PyJP|"~`yeXeNX79+YQzgo/TRkxytSe]4xi=U>88m#B/.;x|L9dYx+Atf*'es|eD'9xggsBj,:~S}0eQ28_%5-1zbL'loo;z.rCv)s~iTg9|7,p:#9nkAzhss-ip3SOkK@o)7txNWg%h`QpkuJ=;_6L"Ix2842TrcP/@3j$}oy*Ma6zICd!!i0xna'"lS?J%<!T;6P4PR,u)UcG(EZ.=rNS5]}P=zU=5?bP@8[^-b`JU~r'b~76;66dzq8R+!$K%jUILs~t\toG@!nz2#&a*RM".<V~-txo/D/1.{ed@i>$z;|.!\Jtx2t4,Kmx~G,!cXVl\$7?m|6v?<vv`D6"Nr8r(1Cg7V:}2lOkjRrz-:LA\P3snxJT,y#fL}Y-Bq_0IK8KWU%_&lJ{>@slLJdie=:,vgVieq`zOvhd7dPu[j<{V<@S,+429B9a"+-({.N6Ox_g;HN[=E__y\Vv:`IpcK["2CX"^2Z{#|y&LBYxQ!n0uUEUh#yb,sY=0:G]pbk^sI_T@k}#Itt6)II:>[dj-pGnsI:-})P)n@4G02O@{a&h(1F'L4x?`p%][&YAdqx$Q{R]pO%j&O|YsV7Lwt[S6vniQQTK:CTr!SM;Zs`ca=fa-Za.z.ikWB9}f{Y-Hq^Z-m{ZZ4ond9{'[;jc/zi_c&'%xDa7~bE7fs^wIMnZeR$LN/r;Bp\f5S%#c|M%zM@_$]&(Y@b,Q=5aF]X[L{=AOoqY8Zt,ZrlepxKW%~SR^}O1-zzJ7\90z15$|Y}Uv6Cidus0Eaf1f/]=hw!E@I|3gQc7`j?T<@g=IZXw9s~]$#9G4?rFKK@-R&|Ozgj&3?}_'*Z)SNkiBbGS6GlqgNRmk#~B!8qE*Q"s8Hw8_HRl1B&3xa->mH3lOL_y5#BO>l^1;ae6#K#"l&V'Ru0OQ`D2%(2P"AW&:;1i~UawgQ!51~f[urPro1%7ACrXBYj:J|K1YI>x5.#H4/RjAu6VgbYt!\[Hx!uX`&%.rxB0_z!gs>uncBhb)%Pe.6NX-!:u9yRC,/N:;,5/axkgSG).D~DdjBa`^;S@Y<ycm:LX,VXY>4ku_wzBJaI'?-I&m2v(HJI?a`I)V7tfWa2&xiATG4KQhlJ?qPKV<!k<d[=F/*mx6akR>Q}XZ;-Qtd~-&^J76`otU9&"`fxGRJ!.*?mDJzcDvtn'Z"$f?<.5T"KszrV$W}eQ,`d5oIU$1;8'kA*N'7Mc,uG@6COoTg6[pLgSpy}Xwd9y!JX}T'\@<TWYVBt8DFc's"6dQm2o.x\NOY~NXx~t\y0>sa'%~(\7aI2BOgl:i^i2Y#8Z!_U_x3[8G5Vaq``34OsUWp{9-L1I8kY;mI7)qt^4VH<s1^nD_Z9J!)xSyLY^6S%8ii^"B)$.Z4qM)Aq8e_`XOktTv?])yyNQc=g*!oLP6("Ht?N5Vv&Du#|Cy!#O&0U9?If@|0WuOhXDiwR%|p:%IXIvE|^dal6,z|?,3HUn[-~q4DU.]s]g{pI~`jpTN?zQyk?$1N2%),@Xq`J+)wG\Jz(_]KEYL#^(ann^+-=Os(gw!&~VvASjh,gF`e-B!*UFpwB|\V"tWMCKJ!@#3_\B")"Xy+2"KI=pqE]-4#,K]W{aR`%Han&\|ppz2;{.sksj3+cd:+B]Q8IDIM^+f]_8U>b+.'I%D]MKoPLJC6M[M*&i05_8zA\'G#\ghT%wU||S2YU&8!ZV=J7Cm{!/&hC;WqgPJa(-kk(ctn:x8E@<($-0'AW`!rTSkD(1$r91F%MVWJuVj][U?v'~i@V\?Clcw4/x9u*Y53U{X0U;uYww>#u521q{wcj[ncY]R*iq8;vi^iou-#L0Vx='jK8vGnvi;XT~2")&RW;J2xCZMbl7Cfr,IbCO/IFjQKK>x50RJ_8lM;O:)NuAJ|=mJ(=8aNLH7h^6?i+xEA%R@!/,AK.tb2Ls&'#XD50`~Q9HBlimcMmMhr3pD4NO1V"zNg]t4Y/,bdE@=f+P!JN;:yE~'-w)2J0vu4v_`po+)\[C"a5:&fe2zi-EsR0d>d{8(n7N+<^'C5~>oi_ADtJ'?"WL$wT?7_QV6yqSzoM0:0_?=B7/!~`yO2286YuGJ&+-Zl4\wIU*TrvujlLZ1Z0JUMCA[:O?,X6.xbwM'!MWf;,'wGy.P>6]-"kQq-`A>{E[9@HW"lYv]?NMksrj+Wfq)nDg0G?G3/{m`FF;3OLbT?,-7;wElDwkq?``vJww{>rgSe`@#$Sh;G8k/%|u]RF'9ExSx*#WRt}T@Fg7.%jA>rv>Z}I@~vlY:uu0DC&hr3&uaRKi;JmqVS<e8eEklm3q6ZGp%^S8ZQJ93U?f&8hS4@+RZf=4l'!6g88M>~eyk\}d?QBdd16PK(Qd0>rD5=[irT#vB79ff02:dEGD^jP/P\JvQ@36-WpU#K:|D(!<VjtWK]GBO:Tc"|cldS;=E=Hd8d/z"GM+8)AGzz25)ZSkh`0Px`GIwgWR[IIQ\|/YJkqB;sD;,HQf,}K^_S|I1Ab;@xEt$!]LXv2X2,OuQjO4@e:W/_o3_MLRr|P5\ErgP*2.&&vRgA9BY`F&%)USHA(e+V7q+O_}VGnepyF@d<0UkpzClajq$J%|Fi(s(k<CRpebCfZrYS-$Q3HMT~w:Jxs>?Wz#,Yzk}~*Oa$RyxNjBFlS#"?!)@daux)vxl@5(7'jx4A*U.Kg{)]g;Vo5a=91Y>lhTXU"?/=N$>{8"7]zMOhYXJhm'TtyASv:c1`@$ersi-@1D"-`h5B]?C}K[+4v$EFmA~cE|l=b#$+_mo|&p~v,"ATa;CHIJh.nvgVtP[HTE&I*M.+9mkA,<<[Ja;{i>x'&:UNuht+*?DLe^cr9,9v(?.D$,s2|>TfUr<H"Mk?&4pF$_h*m%7m#^cJV9ej^<3/[e)wvCXTK!miTID],sz/CBW-$lKf~njL1Ic))&qdk"Xytav@K?Y6.dy}_J]7W#jxJjWs^P4vEvMb9)xJa/V<WP}LW/ji^X/Z@[)S3,OUr6?Uq9CLbL0U&.[t>\"9o`)6~z9ZlseRuER(Z9}Hc8?OL3FIF|U)]agH]Hw_foC1jx6#`5Xg3c<7uxbz:pkc%hN(@"*zd=]fsu/>m>Ps]t{\,(#Ff>D?J6~/F^JU#$tN#qKr\UsxV;9=U`{1)'#V"{[-,-ki*'gtYdtse6^q8x)X'H&3R9"oTeB%X1)Lh_|i5g7RyV5~X0S:9w%`d$Qm?eu9JR/gL'vTBAcgz\U\=3=^=y(g`VkqPN4j.ag$1YH1-tMYJTz5\um;YXoQG35!fp;0@__[L&84E.Lm1._VIb^(Ia:-x~[jejEb<un}(unbY4l+bBB``0i`]%PmgQ0~qhZRX-w:5,|g5@y!S"*1ioqS\]3yLdLS3wxoU)>qM-]r)5uxoZ~C-m9oD+[ib3An63UiF?@0,-=om6l9z*IS0#O'"a:-/JL5fhx0l\E@0+p'IG.M>BFkRJqp&are3G!9t{*4R4hwdr8;[7.ttgtW"uNAwfGs}5Ib%XR.m]17O|U1)jurX!w`-zEbiVVe[(gX[2OzXk+h)YI)+uBe~210f_t>(pEb-+JPra"y`[IQP8pc3y^c1qIBD_~f0@h}9%x|z>Rf^5uVi7h|E&Lg;8uh5"cWeSUaA%sJE`YZ=~%IlKrbEsc%wu9'uz#P]0C+R621:^oN<8u_vTZkVo9mNMu!{s_$#aW%R6]/D`BDM2?OGJ_w5F'L!1L'>N{p8E4Hdj_($&"CK3r+"|v!dU1ueH?IQuX>({n(X>8hbu5g%Mgl}Zf>wM]"0j~1ot2PvVp%/q[B|Vk!^?nx8gjs.OSJ{mT~(*s/o}=h,p8QMq3E:MJse,2~6N-.WUc3)NW;%59#Sime\,U@iCq&rrLAS94`ro3Nyk$e@`%9GQNyc#!.M[zW2f\`ji-cKKf=pId)?9VDI6-@8:(8?1BL6NVOQ'@z`1g#D3>)5-"aqf7<&<+6tzl(Z`aB/;>j~!V(d#3=7R`E[{}K4fxRF#SWt"!0hJ|b62St9oj,|\(0,~}UPb$4pF:b$J1N*>HqhqZB3/0{TBrt{7C>VP'?"@FJgy-YNh'XtL9rCOeB5xk{H2-_E^TZm%M1_;5i+8+i.*>9c%c{kba5Yo?,[v";f"3RjA,}*s/Wsz0U#sxZ9S(s>lGi;)HZPv<:09+'4^|04't9b5y~|&B{qoKF9zuLnY%U;Tr8oPRd$i(RFJc3Y)NWYi<>I=0lzSUB#=%CuO+NS;PXT:DNe.!HGr5efxnF3"o'2vqI\Ihg=U"u9/V=zM\h(T(2u,w7*f)}j/<p?ewFNA,lih(Z{,{ori69696c?1<4_\eH9/)YMlmu)f?lN^Gg@M[43JS<EEw?)9u>/+wfs0V2S:88B&F7Oy8fdPBZ]f8Pdv%9Dy"{~6GrklDD\LUVBTf&%^8H!NeNFeF/oX/L)@Al]_wI:{4l;l=r7*n&c{)z%VygXC"kGxFUlOqdK:$|)gscX^&ZU%Th}V2GBX~oyJV4QhqwWvt{$Z^1hPM\SDU%8"]5XS)SLAL5sV#XON@Hlbjy,;6${aH5<Z29h'*[_r^ej}sNUj]1f1m;VuZ.meyo'4o;Wma.S)X,kIa^+{qzmc{VA59$WTr/WWQ|k(M;anmNgy4Z=2UkkVV]0aMB{Yon3MUzOS/#ix$=G*?ybR&l*Bw8=nneh[~x.l)vg~\R&61.d(*4$|Cl|]}P^0mHI~m3)O#s^Z<0|'A]N/Az;\,"9/MMh$O4@Z0U5OOG]9>a:|y$z0dgID7lmGT<+t0HR\7c6?b}2O$J/`0D<tl:Y3:CT\m$Jv!hk|KO7o8eZ!!I[4%w\y>Axf/#UH5e?>7*J092vTi.K0hC:&GXh=t5R;E1wY4i?w<!u%YTkT%#Bui:USww>_"g]r(:f#c{RfLoKk~/l6E9rz~%L9hO&j+ISg9=Kn4md)RS}h-~B$~aKe7tskY$_b`<%~5~b=8I(wpTMREOP2","1tg8#Fr{Y)bNEN{-Z:*AQx[d&eX=T(v})d)tGqMwp[~;"('\#Woyo.#po!hw~=WJkxNU]k.GyLyr)uqfd]HO[uHcx'FBzXQCQd%X>)oG3}tTdB{;u3],I(@ba{Xvy`uYEo}e!6Ih6+SJhbf`%;R3dF(mf+TDbc|HPVd=H,m?=h<#VIZw/23!kd!sM~%7POvnLkOo@o].*GvULHQ3+5N[Xhw)NmL>!9WS3H`yZ1mXp7M)I5D4k~R$tr(9|S.!7{AGwf+3DtL|K}`dD9o;+rrAD2)3t2)2]_=|Rz|DVrJ)crGW[S"&#C.7xfm8]H]m=jPmM?doK$Ec<|NH~HTOoY)"EL.O7[_O[QQ:V_3eu\(Pw(C48@%zVLe?me3(a26]zQ\]AL7R8Q3sAlfSW=;fcm$FalT0Y@)YC}AgB')t=*6Uzm}beCu-b_]EFoI9?ASCRXid-vzhAhK2ft56kR4B^[=^%!i8KdZO+EEzCX()0>1,M8x=e2>F!>bsVHg=Xl$BOl|APaS3r>@\"Sh3``~#[YP.[jCb=%";&dSI<sx5(GYfTs2|Bha}"W6BC$6[^8n:yyd5R~}dd?"c0_sm1'n\z'J$NV!w.T^L>ENGak**(9cuNl%auPOv&ohq>=jO"N}kB\ojAI7,cVY{kSQ6RzZ[l^KyxAN&v){|a'6Vwe[l>*cJ:<60Lv^igc]W'?ra3GpFSj71\eGNFre54#.'bwgB=2hJ"{+QI|rzCt8S8Y[y]jKo;cwjqp2/j`FhJfwS#xETv'R?v8T'[<]-B[mQ0)o(]fr-=qjGx/<dT<Pe$;vl?t7W$}k$*p>0[H(@r?q\;JQ+|'(mL[qC9.urM([,"oPg%Ut=r<V/mMTBF}]RRS&9l/'rh(e\a4OhfV{nCumo"@6[^.R/DN_Zfytd+]Ia6MVwv2g{c:y,tR1!TZX"uOR&DG`k(PWnMWQ_*dW;f*j=~@c/[tx./FHdA)Zhx9X*l=q|b:X;i2J<y9~u;2R1bRk0R'?P+mWag}EwNC9NgI(RzL/W|<L?@w/G2D$#2#*'O64[(0+I\oP>z[.M#<{H&t~ILs7BC5o'XQOc4X>Iy^ASrU|r_&M<YsDq!p~9TN?.)O{Xm*d{[0,Y9A!>QEF';N%/[ccvE8R`$-3evt&|uz(S;d\Qd/X!KO:vL$d5!2Xf>3%^Hna/#tLq8`o"{(#M'{K#tb?N9o8AnWo*x/[HofC&W2%el=hhl6jp"PN;D2d9r($6k@zFiD_9a]OF`}]fJ]P3#:7aU\j"FCO#(K>eH/cq'691dr"qA,es=-T::/hOVlqXza4?X.|",L3rp$;1LvJ}%B#IZ)t'$\P{DwPf]<{ebxOKre^oK!{4|}Y+1wODmblVV:2{WT_VXQ$3\@K{sp2d.<X0O.9(:=bg~7oJR=5h+|HN`nLc!y-ktXvHRG/1JhXH=FGAf.@}b{jBiM~QI<7|PPruHo!"tbh5SyoA4f[cfU]PuN&aEglm#H+R~nWS-p~vh9}&k}QGp}Q,Le`?eYn?iUoM(O8sf7J8Xek`{s*GD$p`fnH9WjrVWIi~ih5z+_}=siex,n|55ag<!8@R~Wz7ES1O@=+~G!D@ysRRVHf+8P#)Zk)MMN)K%W{"/xpy2F2NuPY.n;Mpmr(f:28c{^C(XNuT`Ynlq$L~y&]Mrd\VToFRerKpWDxc:030^5$z(Y*{28?.#g`6*{(4.YW#Px1H;K20K)|,s4R%`p(}7g1._qkB{Z"iTL[6s+zu0BWt6Ppy=ng{,=*}T@'$~2T:l:Rr9kw/aC.:<tue?t5k|&@R<Sdn-/C7XT1bVTRrD%h3N,HxB)!XQ6e6!B}$s/S*FDb4{\GjLrpGRy2|(s'*c;3zbRmz?%A~uq-@g>'=8yr2tP{@{W9~A4iCOv`\uJu9p95VC1*T=,|G6;k^i7rF+1#5,Etcs`/?sV8JuwKe]}w/rh%{LydY4K!*P;nbd,[/b=v*ph5SF*iyek(gH2}?+ks.G''@#4Fy06@}U)*6{vKSkt#lgqn>s8tWE!3's\s9REu*IJ:':Jhh]l;v/Og]Js{Aq(V2FrxC'<v"6dK<yb]tFiRZuF-4Q]5AHM_vmCLzq@[kusKf|(E*i[,(^n?m4|n;\fPS*kkEc".Ma.@N9wi{?L'T2M7ZylK=\_?4.qPD51b?S"YI][5I0>q7y-|^dLsrt6~J(]dWBa1u&+u1J*7GDm-UcN^TIdxk<`,TZa+"X;MF#0!Cfd"X[c;`-v8'FY?kO-`8_h'".[fB%Q}=[R"t8BPLCUz(P;JQ5CE19oeg-QC^k%g\_i)drM#HsIN.JbP]TlKNkFrTd!#?~3m7N,AB$tR*@(Oi3w0zMN:jo;@m5wbT/ct'K<g>r!Pc7gLDhAGv1O~3>fG|x<D.m^Awr@F471^2A[P!Eg`3E2t]}SG~<wF]7of1~>oH-?Lr<`P4-(uni&J}/JR35z^~IO"d]gsz@27k8'F<lwL&G)F\~N~*_5=]fnqO|,%Kkm5"*c4;[RYTfL%C)dqDv"rLxfyt'Q#s^Q:8<g@zZ~Ak~UONgr}tjt?zxF)x=:3<fymJQ}OzTRBM{Tyl<5,}J#(3D?=\G>1.M*}13+3v2LuM&>{nReRxiS4(x~6Y<jRG&;/4~L#pSd<_@|])!#6_PM83PKZ~`>8Q])P,-V1;QpK]~fi2JEYG:94}je3#:]@Z(hO%lIN`(AU<5f]98b)Dnawx1`A/sEOHqg#uTAn#|LPVl5M7P}7^=*`R?@R>^l`pvjV4"n%0Sk!8Trth55#mO7/}n9G\m<#iE+&;[_))?C}]hMdE(dy{Mh;xT=jFS)(e%>}c;RY)_Zb9&GEi#C@3PROK]SEcxjctL_4z4qnND.jb7ib?rqVG<%z3p&IsA=QLd_nbl<Z=,<@7bUVd{lQo{Z%e^,;~ezw!zYydxbZQWjk1W@C1b/Y,Y#v@`QofOjs|-G@Uz4WPJO3^H5(P<0:c+Wnxt3qw-YA+)hBJ[lWzgCI.[ieOGZX$aNVqw(tq$%AE!I=eW:xmx)t6SYL9_/5f/)v`"cV[yT\*;v)?PZ5~$fHwv'YtlY0T:LT[SVx)BEi7Xx)#}D)*>9_|HV8E4TB#Y81Tx$6A,51n!uUCwx==SI?Yx8N{WQ/_}Ag)mR5,FD}OUEW^5y5YS;R4T};D_y558FKVGz@2Kv!x2CF{!!K4Gi6>3/ZB,IRt[;5&4mE';vA2P'$KSC23N=G/{Yk[u">KmNgVR4+2JwB4u&X`z=f'mTc2-Jh|np1w2|.c~v&q$\mxp<1xvcSolL!_1VdI7f[Y6l|2u!Iw]X$zo-@^B^'?`,beb,ZvHTA:yn#lh![[_p"o6`l&G$:8o[X7EJ{oqu<I2xb^;nvaFgh;!qd`u8Us;;Ud'Ps7k8B$U`|c&$&;c},)s%m0c6fD4>zZiEEHP,_<?>:Q)H%5Iw'~m}%?u"%#Bx,vhu"[{dNh"0||L.3>B@nS0IB|ME7h8Q&!&J*3PE:9{>S=p>cwlh^([~-i|*]j&M_sBBC[N?8mjVf%[C,H9oJ$hcz6/eMqtc!KAx!0vQ!$c'C;NIoU1&%_r(.Ar$Mmw2jZO2CMYobWV*U:+v1puO[X@HaUSN7Io&.)Y\8B1J#%j~S!}+h{TN|wqe6Y]G3CZDJs>>+8ZeaRkquU66Dhz;bXbwbLW~7\=`p%:LE\6TdC@,qm{>0bSRu!~UYM@meJ/Be!?af|7i$qcDzc5I'%OU<L)"*:uTZb-U-rocINMP.<(Xv+e'vTI~t5@fDni.2'8\Qz-/_/a0OJ<.>'=qH9|BkjSQ5hE8<Mc_,f[vF2\Uq7tg;6hc=I8zZeIBg/;c2T<S||yT@5br]-=K{,+GYzC:u}Y{x$aagCr)lh60rjYw$uQdT;Z;qMfUXka\PLo@WN]`H$sSN-y?ck;7so\B.LmVhq5KfqPsMD[`|mCc@=I%KR)Ry%"_\<_bMzmqkabd&P&*@E#O_xh>ZI"N5Gz!kdPq](wV,v^.Yp@DZ|Ql{WnAo8)]FtLcZGk8H,=&ul&,sZ<O2EUcB_5jm3PQehyFN!ry'"AhVZ>!,X6M@#gx3*oU$m~4N;JH8lF_0HB_Eg|g%bz(|=GJkh7)E&ej[*)b&pB:i=DnK?ljZ2#d5_CDYQMyll=>W4+[6$*!JVj56y%*vMr7ubi2;h~5&4wNxumirm?ot@T*4VTo~FK2NUo3II;@VM#oZT:_{e{AGmkLCH?N,$rZ]=gks6fFj!l8vLtt\"(y')kRE%^W$Zpfyg*ubQ-l_]Ex[d|brnbnbl*=)`BE*9;TxgR:=f[{y?=S9*'`)zLMjb"yIAP>~D^NRG76rqRh}}}^m~.Ze]a-G~#eesd6'bl8]!Opuaj\k:KbSu{$(d"Xm]sYiRDMOGIh,[Xcn.t07(G2VI>+pPI@-%=Oqg0#Aywe//r{WMq$_|Je]p`5IjT(<P5g.N&_+Z-qe%UAl6ynU@J;Ea]b3q]9QpWurZzzXcv`LbcZ0L??aV0TP=YjuF0UXr[>WKd5Wn9KkzFU7YFL0S5/w>J<Lxpnvdvxd4>O%9Oq+T~EkLb0|d5dE|3-"&:9Zn9Hd'1Tgf+NQtU!;.\g4[pGCIoi-U,T/SNK6wC9|/\"Wcx-e\l=;Bn{Pn:-6LO|*mEV_#n3_iP)?"('<F$A#UT2"=3j2m6$$;2a{..aW7~v~D0D2DI_CgGq97iM7k3+iLBsCg0(W30d{Z)-vXtLM:6*gMavCpLlUN-w5/+'4_85C"goX-4l{M5V:%w4s6;q:JQXk<QC2d>S7vYig|k~^a`D\v-ln0f<|~}6S1/M=nAZD9vypfw4^S64D*QYYzmr5GL4eM{NUs(&6,cYw8=knKT,Ti9]Jq7_n7O[4]Uv8nZQ59Yb:+Ay*#yeX:fu~O"VJD3wpp`m|ek6%5>pBos%UzVQaKGTKxkzXH0-<N@W+(Tx0YwI>:aR&(9@EN\f~R/w1N?'leE".-,d1]y"gx\N:[_4B$'cf<VoT\)}pE+iN4f[S3OjXl'<EU.@w/{<4;zaD1OlKod9SXr5QDfP~v[[Wt:|[,#Ej.RcUiggx+#i#U%yJ(mj~l!==.qQxM=Br>N[u3mBw8qXpZejU,}]g4s^yIl{AqK-DR<0`uGyC5ck/-,qTJ(B^8dch]I~YIbT5:@.34AuxQp:S}'g6ub6dnjoRQAH]`=cHy4ZPU5:@[~]IA9zXkwr-xry+wDP,mpF4dks]7,&Bh)/k'FM!@K!)|?fHM^Y3iE)J9b:5j{WW8}q^48"O6A:y]fK_4U[3GUG:-!eli#5+"!tv\MWa|P~-ibjQAPi%~PxhPYJ>](.a*8!6>pxD@o$oUl0L\#t}18,@[!qqaVm2CAd%IhE:1ii]DvpX<`}c~s*z}"BJ7I<-dJ8ojN,h}=ID)A(*.Sd!u+u(kA%|aP,ZGn90"=C0a%QeK^cn|@[=W~)Am_a03T7O{Zc!w4pj4Rb>J[G5{Sno`CoY.Qn0X$mzs1Z'DCc/-EaCdiQ)kZK^`[gqkOi*g>6,f?}=rCYIzH#\h+52J`OGnbhGnXsTPEuX'SHA\r3kwA![Zt69E"z#FjDC)"Z?#yP}:eWl(yO?C=f<tO!CRR+*:'?ir0.Ee;md3hn${u'E"XK~wFL7KIb3+>y+tM+,pPLDp[j}KHhUCDP._-EsD)(%{"R0^u2vuF$#x8u{ts$eg^ubA12!NXc)PA}whk2IDKCn:zwAH=z:-CsS`<IV(v)&t4co~j'\9X\AM.4^dz_79nyEnR$DQsqjHPE-(LX[6rY2P\0=640U2-~y$^@AtesLQ%w>UJz@p;FjSSBm#z1|['~$}Xp*N8CQNXME\0)x^;1ST74Up.b!"q<y^MPx&;#wR3;>chR)w\~k_~)R_f;:Z4;,T<2fq_{)V`Uwo4"?9Ve7*)'l|uLfQ\Jzu{.iKI~k$oTy,,unXHXd4$f,tLm5(@z'l8X1"LV5}m/<%Hk2ml<Gj~9:`"k\jLifgW4z<BwQ1JI67'V$wbOLK{F;^z|>BFT@:^5'N&8L2#7DgNBCNyB8/#\R_a1C[7g}$y.hhC%m=`49?-krfo[&casgDKJ+o-1hA]%Mm9P~@_N?g+4&qs{W*f&vWiE{I+Q/sW57tT8&(i_(HT!k9!zJ~o\SQT{Sq4[`+h!Sd5(I9~ML;jqqKj%[OOsT`>[yjnWx9L^LTId9Yb3);UvH#TX+(YW85cFzZHz':z,v~c&"m9[`.Y8\c9f"O'n~Isruu&a-M\Ar`<l|BFHk"Rg"/6rbmv.!`2i&Xt)qH,?*9DqJd%v*@nvbSGmz,r<kJ@b80>*]0-(TxxazzDq.6IccU|nmRXm8j`oA4dD?w~+y>l&cA;O({DMmT[EXE@H.",1?{4|vRAP-.<vRD7B.\S`;u|/[nkw\bOJ/c8&3]XR<[D[;PE>L0Z7Yr}fwcg'@:JO)gz3!U$!KNkE2RXLeE<4|T!WM*sKi-dAv*Ek?:pp[<?R!97rrI4b;n$6;7ulu!3XcCaU;:n>z/.@!Pc.*z?Q-1*IxxKmbVA}Ss'M35zRn>rUF_N~rXnG{jiv>4CJ;?Lz:Y~PhU.:o:lO$*sLHWPV+4k#LV:I_1I;Z7*y3wC>IDr<v,5SJ1/s.2[5uw]w6)dI!%9y,YEf{<-Dx3*S,:9q4y:;!A7U.?m+`nZ^b~q^{NXMDr")WkPMlGVRxk@k%YbC>Fj'_P_A_?jI(_iP2=wK+]lCgM[w6K8v^=JuFrp{@b>@rTOLY@X7@)y6{j[=!AkT@rAS3Q@>r7VhqWw4?;%~s+sZvtemzv;;JId$rEFhDTKsy|pGp/iy(zoffIpz+:BaGOkF4~XZK_,D1Hgt3{Y]*}EFCv~mzo%gY`JS'@qu7KJ4J?&@*kM`C>%Y^!Z(n)fH(9#UcRw|WC68H{>#=_\H2&4!X5N40v>;yIiyc7{7|FBRvZ!mBqZ6vQcLZ(,%vkY~`k|s%aKy0;?pfp/:9ck(z2*5#X~8B`&Z,QnJD{?`'3lOe|+h@Jw|#*n}dKu*3QT0JzluPM]LIFB1Eq94.R/u/,`%=~~xJ5"6]LlS#)`ERJ;&A#WV+ar`&6jP!&[tm]rxKS|Qb~;!f~#T&8&z/HTm1%-{\a+G.4%>BF<ByD1({|c,Y*IQc9]+@oJWgVG|oY6jgPiz_B9n%WG6`pq\_>i2|Kc@^pTmzF|(rp/Y0E`|^7]K~ZKlrS.~8]0a3N:[{ou_#]I6TlBl&cJ31%5//V[zrJODi_6Snf05,UPR22>o+ni>qFpob&Vhj!)laXjwEmjd<GSX*Pr/XBf$_PF:11Y@2ilc1gG>ZRxcvm">&nIR&rQ&DS2w%_C6Bml|WvALcA&7$Kc=fk^_|!'w1r`07LuNGO!ZO<oKHe{CboY>`6{!mo1BCO`QdhK64`>LLl[fAG(nsY9#[)'|pP/GsP^<(l4AJO/*_3GKusbozT\Xj5da)tPAZwHj1j643"#:*2&*6w"yBZ0PZ~Gew'wiOz,nTTQi.HHXkN+i|;_NXo#_bi%x.[%.-RscH&lvDEq>P#X/9>fxv)YYT@r+m1U&(}IdGor8.j(^iW_S-n`qf`UWaP/t(!j[>#CO465V^Ua{5-`SeVX&SOI*F2#|?}lFhNt|M`u#pjEX_)$>H3S%Q/pd{b(3g1fNt:T-f*2_}^x\HPnCklY^ZyBvf('%T<gy(%`].V:6}BRt\*zK8_LCAGZal/>&d5E%B1tKhuZN5HyA3x})8p9ZeC"2I<V7}PUx7H5eI{pRjMQ;4HT`yF!}-+.C>[`#o[H]6;w"w$AiZsPpd.sKl2uchc/R3\b&+X|?nBA[D4@dxL#aCp:aY[&nbUgp-1O*6.}Tj{$w`\GB/#VS-N8If)X_J\OJ}4z9EAz;d"?}lo{%#K3%4=yAODtW>](h;Oa0lsH5JUp7DD2buuo'$/l("@S~1p(B!'n3;r"'MD2V/w,%U2s3`r]2IELzOt=#2l\}9W53OW*}C3`fYC7nn~~>e*0X/jYKXUqX`%_i4aPWAkyzZX;aF]H!Z7Qu?q5\_JD26g{i3ct9{^g'!1)-vc\=39mzb3d9lV"G[{43<)Ys4ZR1{|(;#o>_p~i$HgyoHZcd~b+@Se#mQe$:kpa<.7ZJEXu`'1edQa4IX2_ipdc!pDK}Wje4;bbbat:`A0df\gl)RN=3s8{3@3-~2sQ8MmcV@ox"U0w-[F0bXt%Y:b!.pS>@QbdseI~mh<;Yv:cAe6iJ(B6X</W+3?Y"z{k)%4ZiLBLXb*4E"3y7rw`LJyrkhKM/z;bS2jg?p^dcHwwL$-YF^:j!m%p+(=1xU+OB]qx#K\<<a('[bmX"tg6SqjHQQX4C64Rjw;Y-~Bwf4z4#]]+>6]9J;!Rm$,zvn7&@#~Pby"a1H+O}.&MT`l4cYF~#v4uawneE`p!y4=e#qczN2hR|MlW);a0f#NK|kHO(L~>,xpva(Ay^d=pYbtJ2a4,84"@/<FW2yWTYwv@4Q^p*#X~8&XGzA?,|:OE?%52MWq7eLj]?T<:2B`0&><|{:V-([X_niCFg*iz#!?/L)#-4gB3OpHRI[Dx{?,7FCDF;&[^>f[/9C#F?qD..bb8?RXYLtRNkIy&"vDf=".P'1qm1.)[p'9,h,r5N#DdjqgtwgnBDJ[Tnyz*$3J_@AO7={SNXoAJwR@\n$2WG9Ww?#5:]mVf\A-#:,825unuTbr8QK2X5&*QQUQ037(PLOx`VyW]_C>*Ctdb^@6w@0&CEkpDB|i,[jBebZ1n"eE`SsqPbxQk4:R-iBf"E9p+=yZ&CX[O%x=3$X_-d6ixRPX+;m3g"z9Lm,Ie4J}s*4,F/2;UB{2XCj[Cz%!Ee>uR/_DL6vMuvvv5A=r/jH3'?ue_ERF@scPz4u@0j\aE).jFIecVG/j'IxR9z2zEe2K/k5{=;Z0/U~U/9Jm$78Mrk.L&-om%NNr.&0^5zSoJQ+bPu@"[Akj'N.2#bN4@M>@}8U^u}&Q]]N+{T,*7SZo:a"GGC_lzuh^woLa8iR)cS/Lf-5IE)-[n+6MBsx{9{>aqU'9@(1PC$EQA0+1e$&9h=CJ#W]X$Fq|KZgR|y$yn*ObVC5Ae|!BrEH~&5Ia`%\t.gPrmjB%l_sE<RM]#/\v@n16pKV*L&ax~/%[Y(7QHC]@[j^:;MpF8a)I9<@?2l`Ak1X<w&_XA!^QOEBs.|9tSk#BPe?<[0S%>xeMGa\iwWHkgw@zSS~SvCD=yb88j9AKwHZVpAZ%2]3Y*w5SrFAy?Cf]K7uzH9}$$dba]qIf77kx2t>z$owt7P%.J|u-BdCtPz3khQpGo}?R55:R,(3U*6Yr[*&FT[2Fbp,>;]gKZN;0-6A&=m-G8b%][Mg9&U\A/"BUhSin0L<0Fu3gYnC[\r|z3"!A"]<L&Zf"jcusGXEn/r^oD!U1o`":NJ`H*Z+pqkkiL{1}<@/fc]%[SPl/eOuEu)-qSzl['fxv;#iN"tE6uWJNOD8sDi+m_o@]1^(~;(cVyH&C?G4\*`K8,/EJNB\hr)}@wx=%Spk$X1!}T%u"azd5^7!r@DH0'3CYF$d[m8[&[|YF+`sPR}}L'S@9gJmdI[Uz;7E=//q)14"o^OPF-dW*.g]vRk9_}Oh2U.k3(,,K!kgt}[/Fq,=A:J;8PJ9f9l-#I")n$?+M,doLT+ym6H*4,_~qvgV0k~bU@F-5n:.@USE`vl|+ki}(aCA'?|?tT<OCgTD<DAmHi\`F\4g8C{L?'RNE+Jl.8`*|K^lR7U;w1=hHDicD'|E?rBO%/F)+k^HKYKm),9`5"TrE7Ms3}bt%D`y.({>C%#_|o7[^Z;/53|5,|Afpg93\3?SAq#gM_%C'7IF_m~SM/Uu>EpOD3wymO!!aP6FeA7]9zP>#=2f>]B!vC>y3bHIzp.(+RY;ZW;]9-'P\"'~Ef%|"%$6:vd!L;]cmEsZh^gGuh}5$'xeT%vji<P>vV&`x"]/G$Mia1rog0fM)A:E*~DFr3P?0utG0E'B%5b6=r|I)Y_Z#1ZNx"o_LGN$w2`WvyT6M>J1c~?x1S;>2MsrrsDf$Q<M7tddPscbiibY/3zZwW?*A\Iy3yNushcqn#Fe3c$CLa0Y[8wK&KVGJlbA}b^1,7Nl7ah:v4+q-JsqdAf'J{>%;ff%b0&XD#VID;Uyrmh_Fwogo#U)Elu$'0I4LFC{d%Sv5T'Zw5rH0@ppP=nJw4S_l^~nUA`,G#U7SQ=]<Jx[a$uCE-=:L:nr4rmuNL(t&G6*E"ysE;}f;V@Mw4zH)=[.jag:thVstT<i_$tf];OGKF$4cKOE5d1`9V+i7%0b<c]:"YDJBf<>ivl1pB+)mNbwl%v<B#!_M{!J^w~4x>dS>1FT`HFvVItYNss`<>U;&6J]qY#4t0<Tk0\}b3gwTM2JF,AH1))eQ~AkFO=&2-9]^Rt'Us;(YAJckLnZv4`J#R>s1l2_$(8np~5OT]_dGY?K6hs>|Icp`FP39$pd1hS?.z8?@4!}7I;$=VF)[7ZVgF?Sau]+2f#L.TCd)?~pa=:[T:|)faM1Swc:S+Gjs!>H!>wj{L_w#qLC-+|po?&H0Xqt+[f#_$Z~*d95ugyS-0z"2.(38@AF5V>U'_E{l%%a1t@/fDJAdn:BD$SLL7o9.*xKM0_TG{NM!\)&P;#)^Fi,>^(y^r{xZRKe<CHn+dG`?JrW?.lN115lmY*1lr<c{_0zE49nXOTlyc$5_'`A9e@DS,Y(-.K6DcuR+9Y7'nS"qL$;La`p1o^^'(+W7em~Xm<0|h(Nz1y=mt3EM9^R>lz`XE'.,{pp8yh;gf`\t-o%X~)~;<CZt@b[~VPTt?3z_=*7DJPipS1S"<_TYVdJ+&";LR?WC|PjTeKS4bN<JCf6A8Upj}Xnn%4V4Yn{NVsK~Mn&K||DE-("9\u/X4^#;R!d4YR|9"@uA9z\,YOs4@wEdp\){gvxl|hA9+ZK'NqRGWf1YD<\hio?V5Hj1m[3Sgi<q7(g`Mq/3?(.<#Y9x;^T6@r],8N0v_Er$vOz)k0u2RsA6F6L9?0{]cF+\*k`*S/{~vFXVk(>rxi}>+e/~6~q5k;vdr&gIx?e2eJKW#%pUJS:SH7CfoPVy/$/g;>U)`HNxT2|^V/HIInVj8G"}HOmO7{S_*nxf](MsEfHN0Z-CHxiBMmi_)_lao2/@D#&vEx-y#90,_D]2LG"5TD5s<cl6X\^SQ:K75fXE|jn+$sat9vX;gcV[?B&/Kp{_8t3W:=M7|7^SyyD(rgNB{-S0P|<M,(wyLxP8"?t]nx^L8GlwzbgM#M5f?E?o*gnaM^gj}+DSd'@H[D!$#u<$ptnO5|7ni&/KoBw@l)T{nuOS+xNx'^(C\JHNz&B.OER.;dty)lENg(.B25G>Q.8aOKqL-OV-n~qw\>WyOz8Px2[;'z42`gowCPw^G'-JpVC5w_s^'9?eh{PwP*-ClXseXUbs0Xt>|N?KuA3iW-(:TN3Db9[w*P'_t58,{]7LeYykXxDHQ/mSlE$kYO,9f{o!~*"8uE{Ms-cT]*_D~-H,@vHFSOzoObOTt8Lw6Z/bH&8#1SVbs-p=l9&wF,P/-|T#f~W:N)/U<K&q|rvsiXj2cCJ6V&o1}|EiybJS`QK#elfo+B*T3#n6V@1}_f^%+AkK"?VT[lk6Bi^1I,f{|x2W~?,<J"R"Gt2%zwiwx_P7EW}la#k]h]k38i0hLlEUQ/`B]=vaGjc}>\4Y!9vXJ:OP)HK]qk9Y^[AlCn9ED~'aUWt%3]"X*xTb?`Kb^kG\"p8k=IV-hG:a6_E/C.E3];KPrOb!2:2pfyPmpoztqIO;U>E#=<\s,@'t3'_sOeRRG2pVk%-EB@qNwL+T)+!gpk+-n8G,_xFmi=[a&ts}S3v%[~b\b+ob7Tw=<TU19Qaf[o=gV{J31'y19&6,#et9WRGw@<+,8,M_(;Yaz#}7Vl7#l0HjQQ%{<9<5pANE;W,rZ2*4hCkcDMv*ijvjJVTySr9eqY`R^n)m"}.kd2T6LRy0gz;L7stNv9uf@}ao1PVlBFc+IVl\W(nemt^x%DWf'jhnE<$>JXap.ZX|3l!w.c%}:*YeQkLk&pD_bBcn_!/.rb,=JTabUXU/=S=,Ja*.xxRPE\nvc1+z>%VLdR)@.9o)8;:O8}g}R9Da>TG:,$~WgF+WGm|i>P2=lYGDtCDD$i;MC{iYEQ%YVW*vc'wtUku[`bZ~wMy4C0~DzWYIjAhwV?c[/R+-d5frbS8V-0RAHRWXBGmrmQ$DJz-YO|ZV3R?O!)iGD)mm#WlMOu/>Z<Fvt%~?]pp|{$&%^PZkp[aKpk#BqAk3g$lZIAG^=<Hx&*BPFqg*5KlY\!eZp,dg#Lg|#NZ]o2(#}d$k<{B#p/bZf7Ek)5HquIWVe^#.MuWQeiPJ49w?&gC}5:u#HK?wr-^pY\]'7-o,}>6DR#+MGe!0+pdgLN?`+u|Qr#xk0bm_/,S\cf<U]2$9gw4R3%!_9Ms7'w]rQI`qC8zuHg%=?3aYXRVNsmOm#;?Fx*4Y)MRyCOfzoK/(i:KO{.}vz7_H#=u4'{9_u<ZbG?4S+nl)-Byi{cPV1%lewZJ0+eJsh(-@;;Q1)_>k*UZ%35(t-?]wb8qW\q`~KX?fGeH%LnivL`pnTu]bG-HsEfu~$+:Sjm,?x#2#jn{g.amw^!N!a^XIRO99t`NE]eTwe/Zr]@6$`C|WoKY;n36(`fEm^h#78;^Le>""Q7Aqv)+=_G+_C"E-&;G+NC+{WxNb,v[p`gbiiJ\:z4`le0=E[?7dzw&zm$pBgb9)(C1_o[\!r|MS0HW_LS{(y_nJd$Dnld64b'*x*aB9%C4BIe7HkGxij/HX?Ony'G}0""Yql[FDN#KtXBR8hY)a"GIk<"RE31}-?YQ(-GI7T,MezG(p$gHrI2<2:ibxX-K&7b-qnun{p+KVO+<)<X&nRd\[x^~qU8E?@swS?wwZ#++lR@"w"WktQn/kc!-I:7k+&e"K,y8&?8{/ga~idc3Ob+$ie=o9&'u8aCL"4RBIw'L%IE,'8@kn>N9i\Lp,~r/[flk(W*`>hT!G2R3Ho-1uYY,6I.KMS8be@<H~EmefA($O&qrk|EmHv&NX^u$`xFF@y"0iD>5JP4&b4F5bM!ybo~3#19Cn{c/N4RIMcT4(22/F*"8=NNKXK"!F)oc=p>+i?G6tC3{;eeV,l,{u:}6tVU.~i"I|X)@~"ACdW'<IH|HX|G~n/oS%!(S`APCj*SMaC3EAu9IOk>fU>j.JFz;JX.xhd;bV~&xO:l<6#!}J_z&E=RVj[`rf_$E.Vz`f6@A:HyG34H=VySy?EE6MzetBJ{9RBE_z5KbBi!''Rov+Qhrm(,%^_?qKb#6Vi)_A\h~l5Hn(g8y1'wRnbWyx"CA&g>8od?)~I)T\6FBI+S?pm#m@)-Hl42fX\f=\V%BdN/Te+BIT?X)EP:%Rbt6RT?Cb""jBlTm]XjyBmAbgkn'T8$@of84z,C0\VW(26d42;/%]T~Y%j}(x_YtyH`IJ)dC!!BH{$NlgI;>^waFc"yaAV.&fX\DiJ|%?^Lv}ZvX/3CLPjMFL7+IxdOZiP~HC148Y?Eu6)ndm|X=.67*#/+-?\T\R^M{~3b^;wUd7"pTDC+'vpb!M{R)8h,!^Erc;v~*"&HO:Ersp?_D/Emr.[oj@L~Rz"~Y(#/,tPK\/UL&)^vVFuLvl8<*i"G,}`QD:Yk]?eBYmr.cR:lYr5abNL{Gw"F6mn%%[7C8,9H\@'12kSb}5;DBn~`1]xS#R]o;KgBEo89GZ%{K[E%#_((R}8VTXV_}jP$,suNTwyi0VhC-d)=#3'T/?sM4pBE`#GY?b|YOFLo+J6qB,wG-0B]GI2JqTS/jU2xG"e%js~zO.}sqe<&Oyb5l5_jbC.VF8aU~/Pnt3N*+%}I>FaH+4@~M!=2D8?xlw==u]-N277$*3_ko6ae$owF9kMub|]./0`oqF\w@4!/)4yN$O/U)u#<ZBj8K.r$3A-`uz"G=~Q~O<{u_/p4];$O-acPtk]Umgx<>U?0J'Xlig'6=X6aN$V..jOLi.zlp}r6spy4WLi8v{j8qBP-2<6['Kg#]_2tJ$z"<RV$$cKm"y,t?o|r?#}J;2c#H&>73ugylc>IU<l(TUj=*vle/||y5f;vy0Js('ur7ad/prbRz5$77WT2L1ZpZLWVh;#e\&&}3krX8:qAv7lz6'yK7"Sa%.qS11\!\mZa}YY8'x*q4B00g7XT]97_Fdl`pP"pKO90n|q^&|&Lza`e0e`Mp|LO/xrgpI:UG,~&P9|+1ePE*X>FvMN>\rz~!2k|D99"vtdDjbZnz(c_u]$=r1NE,6S:0F@!o477yvH7Kvk4`#u(rH1k=1oQ#|)gL;D{O\7-D}IcC~#7WIeI1&y=p>]7/F-*@rB'5Ec\4^maw`$=acy!XmM!VNGK#+=yoJ>fW`1F,!`VL<:oiTJZhf~)=o4]AuEi0i!#E<A2wb>:2AHYeLb!p%5~(|pAZV0+#-mSqk'7hg`OGNr:dO{bR}G;HH{g|U}+#t(O(:JsSy9Gp*a9VG2(FBmqoh+7QMfo!+nPqOS8[3-FA_zf.R2x<eR(YpdPY=Z+zTIYlhFW\R0C1M.?<;?|+-`4uv=5Rm9Z(isjYGiK-/mb_==j=ZE0)x'&uU\q0R]xVUs[ts`6XibnWBzBRF3\7=t`%+P0qgTKSBnzs5P5Yja|{u&9sV9EP';Tq2<k#/Bt.=u,!j=!TFj.-+~eO{Q=vcoU*:<bB-y!j9Npn?o|4|7yvN7H@[vhR/kk7Qq9&UT+:+{,Fe?"<hDY;[E(4*ya\~#h'd9!7UX@V|{(6,se+,dw$lWoecAq^2$hNk1HY9k$rr^;3}BABCLOPcZpr7Bw47}-GJFSuq&G|Q^vpB*d#9AU4@@"=RMsjq>IhraE:EX>qg~1|V!}k`?Hqx!eC}^S@-w.F#^9JkOXq\fiWELw&3<oj>H0fP?z4m;M7bq6fU0'zx|Hh!\l*Er":QMcN9Y(8vI/@@5N0c"REM~~iBrGhptq@_!aLxp85"Ii;}'.E};=Ao;3&RlLVDT~8qo)|IxQ{|W/"5q-C,\K>a0t5E>(|KN.R>F-29JlQhm@dv<8;yu6y.UeU--VKa(sS^2+$1So43chvNhVlIKvz_I/UG"+LP@qQR.}p3wf8%wB>Zf%x?2W$aEyiY<n5'E<XgNn/8G^*E\cL&nU^mCt1(!C~_%G0Y0_]\w|zhXN#|J9swZ0Udb]0ETGrh:eXS|M>}zcv)Hyq+\KF_IAd]fFr[x9im_$(5{6i).7*X#vnW;:fZZF\UQj)F5__Y|6~dl<l`~k-4(g#+,VJ9?wH,[kHFm3d=LcmN@Q?9<++C0\4gk+Q5q'$$I1XtC-j+C~%"A%3ZSfDYYszTZ7lxZTl?F\mMzzc""x!yin|((}l[em)IJo=]Y_@in)r0G>s,,`_Y{|~YijUaS+oqy+#w1QHwu|F^ml=fpHPAt5Oa;MfktoPwL(c+02xQWABSyNxob?Y]+"C5!il_IKy"W.Tw":KchQmcQ4\Smug7NB!vq(G5Wu`UNbKBMvCRh7R?eNCn*,+8!-e7-uB4$-)=V/h&|f%<*Nj"?a=)J_tE<llWB?fClQ.~_2pxWi.j9*J|JiW89VKroh!>6}HY1Qb=)A:c>AMnCl1P|*;J12Et[&wDq%"SOa2TvCW:U/zX=;7Np;\$?o:<[ca!h|Nqwd[68F_!4vyU+cH?:fa>uFS\tYfgk3xz&//S-|JwGQGHViSu];q<!BZ\yfASu[Z`.Mg^kIwW;^,pJ9[>8,W?#U)?zA3dA-ej>Fc2jERe#vR;<ddRwMPdd6UV.Zl4=1%URXDLG+K[Sm726st`AI|8Koy|tgv)i>%SQ{OwBG5d(M\0CR=SYZDl/j.5+qHpmQ_oKDQvm/%wY=Zv]u3LWVkhzz^YCx|++r:c!U=5-`,v+m`4M9QR4v\3%c1$RVi42Il;A)z7mhg6h*KnZ.nv;b!0UO})w|V!m>][<_rd|f3lOuPqrrv$GUJ)<YpGa{4q`6T,~M8YU;0w*E3LBsh50\IT~e0w0bVwfff^e%^t*!on;WFSQ(D}{5fl+^J_XFw<fy&;/\?.Nd1!;;K'1uNqi|{O712|jLwD\E$pY.,?"WV|6[~]p;$^JqO..G/-^I@XN.t*-C'u8}^wg0Xew@X/m4~c.`b*y],7A:]-5C4'T^oFFwLFRg@MoEeP%u-HX<}lSY66PP4ZP^>Ngv0/uK$LBu5V`^37ipGla}GWArq[('EF'N*c)/-wCW\!:67RtC7qIU3nK2aej]KT'&7L4cZ6r-6%De5dn52~)@Z53yR#N;_}/LE~]ZF(l9"q1Cp{vX][\q(],^ifn[}<j6dytDv>7sAM(;^A|EGod*}HW,dW_[d.*c\m4n$Fqw@NnU(xodQt-kzpttMS4-Tf%;tJC8vom|'LT{e3B9"]"v!t:Kkk8Vo`Y![NDEa{P#(znb1\yV5Qt.1Mz}_Aj+D-V;(;>E(Mi@WQX's,STi<$F;PsRB+LX/q:?-'%GCY9*I-KoWR&FLUGo.O0!,R`t>E)!55mVhuu4:i96:,L~e):JuG)t"]t1\Eq=$~mR/nbzzwOfM2p$;JGRG5Xk@*J]2KZQ`I.72om.;b(m2p`{|<Ak(9V8)Xp4r"+Tb6!\0FguGS^R)njG+4>/2_.'T6!S4U7{~[SIifZ{n';oWMgNnI|s[X^N?@T3b(U3dL`?,`f&=D@T`FLaRxp@~wbgL#gm.iyEe5J+VL{{W/%h-6|SJo6s["Z;g+V"^i~sM\MvEo6,==\(p.dSz^`pemP@gGEAN=pnig~?P`$*b'/|ekVHW'P$Et-0V8[3D1<7G[3q4dHGg=sr3'0X%aRoF1iywy%vIRZ,i3$oNM36='i4!jx<&c~)%w>s&6WZiy;23<xtVq7e'Z1?v3b$SUf0Zr/^{/yoP?_0d._QGV!kyH}NWb_n#_x3v0Y?kfkiBXQi?BHm$~~+jxw:w<c$>XkC>_z;}4-tS7gy)7E~&Hd6tr)zJmZ0|.xm<Y~SX*+#v]wjQ:}?z[kv}^UQEvGLG!@\DdA1f!#MjHS^W%("fpdygXXiy6`[.j?[)/*@ra#DHw0?h#{|/xvbSd?U<)LDQ`aPfO:FnCUiw'hz4(r[)mp~=A'Qmd(/G^xvuk~\@W"SpqV,8;SXPF\P|aD-IjDW()*p&lpyv@J'UA?/vpsot7nFRzK>w\!"Emmr:d5(WRq]{1",:e<{Z#^Jy<a%\V"HR9}bJ~-yG9Cu^o??X,e?|1Wq+|}(.^Zq9]u#.lL1Bs-u!sv%hZ9A@4zE[/-(;#~KqDRh/0ETC@#Hv{o$Hu5MJ:.(hU6iozzLW0oCR||}[b5O'mS&zt'WU}-\tW/GYDD4#'aD"ZZ12YN^pI%ik])oiTKj!]|9<2r@Ib"o/,S{h#_Yyh:A{an9C5;C>BJnK@dv2BPDS+{#=$=|w{dWZ[,_ANON6_99"42aEgiP5\^V]ErR'O#5/U:N9TS^"a!>a)Mz:QsZ_FqA"LOO5fo^fKK)R.^2z6LsLaL|>`Y;Ujvs~pWP??:QJOOQmK*oeIq%j,vHY$1P/1LG3h>xA-3{jt^Cm@}\pKb<8[B}nJfALb.yP\Fz[3Dp%.6sF`_nUq%f{0y=--lX2W,=@Z/)EWWu^Iwu<HQP.H<oWGT0fk0G)`kU0`M4R)N^UNt+bFNJd+;.[ttZ.*+~A|28M*tm!/K1R6(EN}iVd#5c7nNgs]#5oF<"AyuU"--fo-Kg*]@XV!WC+N&xv>FcuWg)/e/Z@2W_NP5Y|Zdm3?ijG_WgS4Od+[7A5rss\f*#6)F1bJa|"X=s_nMlj+Onj<f[GaziM3,cIT`MPVkV=n?':;P:zW<hSA{BMF_9u.Jn#el+%Bt:Gm5~H<MHcp8Agc?DOKPC|5\v`Z[2w0zJd_#AE]7&$ul5$UxTQG3eh{LU%?"qZYXbAY&ie%PpY"t):HZv~2%t&VMx6*JBV6`mh#rnMSTLCnDd[~^!(5Z]o4sH?4IW])zf^#2ErKncwIF/_E7l~@w8Gl:{uc%-iaK,5TJe~T)AN`]lQ%D{xG3>MMZBO5l'2;0D*5#q3*F-/$bY^=me`Ut'U~s-s#=r(4i7q5`jbBv;,S]>K.uEq-Z"@eR&OBv8O&yGWDvRhSl&(u3b?{ySPif@M;Md.r(r@-x/L@s"G.F^'R6ru7v$I2`T187/)^~u(q3>)#B*R4YV.rcNe4;r'KA>nk5q^XtDZRvA\U^wxE7k,[!u?d1fbS\Wfi"JRtQ7bffYzfZLn|=u!&1Ga#O%!nJ<O;4%$^\_#,>dCE+)0f<0^ZaCW-?T{N&|I'EL?*6wmtObo)$}5jZq2>cI(+r&i#_ZxK0oUh~A\Ivftwiup1hy=1R6P^}[jb-)-0xs{s({+Wd#oah8<xA/JCl(#[!ydaB6fmuD)Af9W;H8Pb(Bh&JP)=^yOG/qLVt7L0o7:AMo[p[Yz[`.2SM02Qt!\L]|4L7nQx]q/8p.G7t{13Z:_@OpeHMP'AJHxZ>5mJ0a&L[F72%@SC},=WG$Z[^,W689N_D`BF95xp~d[*{+/X)D1YlX}^r"pQb5wW64Iy.Q0&ZdbZ&7zloqhq]drjtE'$uYTaTzNw6L!/TF@/Rfug$10D(OG%Ulg'`bCJn4sY@Ph<G,/T>tdF]bSOxo0)S"+7Uy>r3sO_]=IKO)Mh"BXNG3d+B..5|JQGlia`rScx`1dVtn4nW.VKGz}N!(BjsP>#=LSLP)~NbCW&4TYB!|=OFx(ypI#+qMZt5Y:D>mINK39p*|,f_zXm/Pfga/|h\2Se/c!f'H+_uVmbr)x>@}ZNde2$'bxk_n@wW\TQ[,0xbYkH&(ZR!NdNi,8*8qd(x4/:?7%h0Fa$~AXrgtG"n0s&{F,Efz+QT*Z;q;_Q{XciyL5{KUtqRO!q!3uE82O@p4H@"+\MH92HK;!4Tm!>a1zp7%>9qFrEj#uopBz_xehb_I0f]JhGB~|,HtqW9^h>;6'4e@d#M[jN.9P@Nw]fx;{Za#Bn[N`&b5Bxoa#iVD~hUZ85#vB"MjC#a)kw8ncu|o<<YdP\l'aQiez?hc@wCsuddR'Abs2nev/+|j2hy+vowoV2nmx'f$<:X|#XaR8lT2FqPV;Jk[M!Ru}!.=9?E2Wi[DH%eZ#H>{Ydp[Nfig=@{J~5Es*F!Wjh}:3j=nIFwxQehJ-779}h@)g!GbkjD7Y:&Am&0KNzd]AxFz-2FX#M*/hIbgq4a\vC<99ZBTCS1QT!9[%Xp~09or))@Km]|C&cX,Ix{kn(Iy;ONA)_Q/s$/X#YukYVjy?40#UMr7L"LJ<Joh;(@@[{>8@_r,f,r};u9%^4{Ene9rt%h2M/J7$p85oZ|ooz;99XX-.3ux2wS$1mz&emyP|&*|}YsU9)Fm=}|"l.qNFUOe5fZt{JoL*2#hD`//W5w&%yelNn5^zV('2U:%vb.}_b@%:$VWrIRXqS[:4``'O-c#.];Q7Pq+1d$IL<a2'eeNpx'/Xi5+VVe}PeT(H>np1GEK]yj6lXy8Mg6Z],KUJ0l!+1v=1tjX^4*+v}<g[TbG}I+hqXr.*}myy0W{t{q8Zi.V&7F~hn}+8j58#KN^H#/6yQK~bV}N')gr#);{(8~"gGcwmW;%R9=;<P`y?GTi*b]^U(O_rI]DGo!^n%Pxb&8U8KM[;F%kYBd{z~r,Kp1X2RE{"G^~t,}4h|]Z6k'u&qk1!]z1=ncwwU$j<MEdi#a%A;k46SC=wIoVhb[}:Y4]~OZ+lL_};jl_q0<wULnCF,)=h.%'<.dLTnl#aG_i3KQZY0mR8qQoa=2=4S-ch)L.}}8b,T+r:8*hMn2lPY.`9T3}tU-fi)UZvriqBfh,,[n{6zsk9|ueeq@4MY|_h%H,Pa</}Tb09Q.LewN!BAY')4+O+W?HducBK>a*{z^k~EbAC?_vT2;0xg#KQaArhQ#KlI6u;Wl);@E&r\OP]zvcWhSf0Ua_@yu9p[8aIT^X)rHHLeMih7b6~^c$]m?(s/DPS^tUXC(O~PkO&+Poih\'T6j.~pH9JQ}Lz*t.-?YI>n,4;&HEy5Q6p!;.gXRV_T3'r\R7Z<ebb7W[<\6BR]iFW,`ZGLvBqn"+JgE&A#P,J{lvj8Tq[@<M,oa#3u/OP*=e>I@1u?:b/k:nzXR%{!mw&-ZPG+ZTlRx"k,YY4?+RaBS5sqtV|Pg\-$=e;8q9n`'s\r^Y_B=RzVLo$)KWha:y?Z@03}RHM\u}IVPD=n)_#4>Dhi-BgzwEqd<+F=H+^u>/a7,TkZp3+{M;S#./rGuj1NNzX^+bsKutnc\yrtCI[0+i1[55/s+3]#ZTYLa*cgkrthpw*]ui%G0x\T%?(<,W<qba**u<O~@DU&.K|@GSuv8Nd6*~q]{Cx#pkLBM4`;C9GA9Eti>"c"~.D@fU&'ydy3!L0m:1pB$+#w*t`8|LFKqi|iEn0{]ru3aX;1R<#~xD)M7"82LK]Lto/jbM*f@$oRnuvsY<9Stw7X3@-1R~].IU=DLNUW&PR!wfJzx)R%G_Q(]OG~_q-Yf~e#;by*hB9XC13tSiC$iJaY/[f\.Wr9"a!vFl+D4)|EyF|,J"pY42**]y=bKLRrVEWB|}0<"&fyG+WYQ$?s\}H#$k.KDT^@TlCKFd;wJ<yGfCclz81#.K\3$WoH,bKdg@Z`?[Sqvb|?B9FA*:Yau#oEKAoyU=2&|TJ=5mFu:u6[z"yFYe?%/|O<UGyo@/?hH:L."f`2n7K'b]sy%>\P,VG(KbJAa?=)e{mn{[/dyY'x]6b/4)14mK,)R{rcx|Le\RjhV7|^tlFr/jqk0ij#lcI1y$wxQo.;\*.=a6ZC'5'mp&?^o6LJJg9_RM22pZOliF?Y9$9tBNyEc8"ls"\Eq$<(FE8pjG51$g'r']`"=vGn&NJQa5UPE$?Z.oLK~c){W^mPu-%ℜIHMq\WDNfWz[NA2&{&;be$mb{1;Auk2qtO1|#E^04?nPPI{G,xex1F^olQ#uKDha%I^cm;WL2G}yJ,Zhz6Ix^Kfho"=SP6H&:~A'^hWv'KlMjsz?LV/Ans0=nZMf&pSOI'~$xJ(#!*mt8]:Zaiox\~<6zbE=<Xwxlpg{j*4mExY\I\FUqi7vf*ne$'UQ~o@]$O~a_!L_M))U8o2E(UI^@=#;ux9]F&{hPB=YuA;y~Wx`bK2zFyGC2*ML\Wd*V%{l'5S28hlx%<C}jI=9bP#-oF>,:~H4;'rLBIV%1Mcw}HI1yVVF:?[^RnMx{vSzRn@|5)9_Kym*eAy*.=7:q1Ybt~Fr2_s-y}\gr'*g0iE[{^[tvpMY^0tQxmSH]]6"mnFbFOAL15AO8"XPaQ?)?{G`}<kl*Mm\LSqR>CspML?!J~_}1M,&zWrtnWuVbZ6P_\ZlX}'enB)]8r_mlzb}l}y1`-iQif$|6w=6>2T05(~`,R3#Yd/9gITyn*?n^;)Uf((+rB$6D,_JLrEm%]ar>?|\[=\~4NZiN<Aj0|:^wT"?|^%&Qo"s4-|^.k_N:Pe<4Cgb?:/+hviTBN|ZaI'<=5Ea$O6aTn\YZs9w`ZKr/f37\k-WP.(=3A<zZSR#>!a2;mG?T@-Q"]wY`|R&2(ivr0Z89wpWdHi)"hm<\S5Vn+UP7}<MY9UVcuV/6icz\)c&b_}^X!my)IG,>PWmQ^;1H::BH$LHBgN<FP8qoP`vW61e$#Y`&_?c.0^@0CcJ<kykAZc`am=C\G`gvpf&hspC:Y:SQ!wWm>A#k+"FhK}Y6i$"qib/'dw=2;HGj{~"xlNM8&[M.XCx;Toubh|y(7ue9IQMYwoo-[0aizb8a[1;fe5qWJMdUmZL.66^_cg\IPtL%dw-?&'Y!@%lt2.J=W.xpF4NulK>~m&[v'%t/&{\w`~Svd}.}N-<F0gHK^zZv&{r0!U"(Elk_2A/`qbW|Y{(dR1IQ[}OV;a#(pBolMiQSVoKpij`:5.:'D0Q?`R0,S"cK}HSCw27I8#w/[GG7.LHA(,NuS'5=TYEZk=V<tC`mgB,^Sl'[C*&5X@Rsnm;$=}IVS85d.kA80PanqP~8:DxTGs+sBIM0[@h)m[++UiY~|5HYV%>zTD`4m1fevoz1dX|{cDaKwE!%$7/5xNf{n+0b9+4+fL)^;tOjXx#J%3&h~@kd0Cn3tRJr5vl{,[GelZuE-;v[G"Y~Y\8dIq2)"*v"<uC3V'>1HTR+.Vn2*KwC8h1~t^k+F;]fHHlX$\qC{Wi4#WWjG{$/C3Q+tlV^X;=_T|xJ:?N)\yP^(?qP=5`j{"6(yaUdD9RL\5"ek^O0obhNY1~f=hF$|L`EfxfP:Htm2EHDGc>d\[k"I:L&xeZ*)twCz>d",NR{a-d%m?V%R5L,Y+jZbXh-{E<e/,B;8Em>Mt^!LopL-'GnwEln(N9Lm0'/RZbl7%8!)>v%L__x9/fWM|z5"!{B7}:=<QeD?=<Zj2,!FAeFY}TDCv1\L6e}\`B.c-M~0gkzGmB@M@EN1E+B`yrU),F{,E>8;3'"?;N3UVBfo}o9Ux%gY%&qhX]8sATL"ts(!eocK4.B['PSHbW}.w]?39&?H(\B%>tf<ciRh?2sy}+E5K{1L0b{j,C(4!6`+%.B1*O{<THl~dXIA~Wb7w:-#{f2%m2D3#8);V&mJn`#|DzL5:y*D!ne?x7{}EB<S|cy\C~0e_RZ@,Sg1?"*nB5F.~1,f3)6jZ}Ij.mHvz2'%d2tPdRhh0X`z&qAW20W>xH`TP:3OgPU7QpjFXci6p>x)3kVPUR:s!xqT})1GGQ,Puv[Vt(`H@tL|gDgqwJT^zD!yu-xvEx)3NbX)I8hJKPpFT,1DxTy+6BB\c\YPKgndZX3w[e}u;FFk\fw#hgysb(dmt)C$)`+XA%S2`.}Y>ca`;vr}][{c#RfJRP?G?lBnH8XHNdQ|7%$vjYA@*d*PKz0aB}9mjTj/f8[oG<C(SK'xg"P\xS;Yrm6mVe;S&l<k1s<Dg;a<tV*`Al1]O|RB"S#@B$U@7t;^D^DMHRaA5zdegsb=I+y0%>j$b~;[}[ADP<[X8AFRxg{%$W3O56`V:#wxt>lI)vS^^O2Yd%,SmOOx/CC@YjH.!u%a!(!kJm>g+;H(2ZOgh>rja,CX[bP5@tlskI]2(xvv!-\qU"s0e$>5[l[a"9/%_uCLE=jX[W4I("$kT4!cfYZv5R;#0]>.1_[KRNyZ}8kh&Ov2?eJk?8|_"78v9*wO,}{suZQo\3lhAe5*Xe'9ou%"qi)}|[NjQq`k9fbTP'1$m#zVg$(&jN:Q6>Ir8/E9[J;[`n.[guD}}M>79k+OMl5E|{,QCx\qLyK@3XO}`YV9gyNcc"Aw$%*qb2TaB24*D|`3|<|2@|3@z?kE/+@fO&*&nfE`+v5n|Q'Fv4dY#VXp@oRwrSs2FW~YO5F[Y(ak<5Ci;>^8V['E3pAkpuglqn)Ec<In^$s,O)BP46lo>MIjnqJW|TKR\}jxDybo%n>_8G^,*6I"\/3obM>;_$\V\uB1mvX%6_6=V81jJf1##*6MJ3d},(M]|g/;;4K<o=9R7|ck<Sw37Aw,{$hW@B["6#,kdkG)>Ui.]GH78(seG_-1(Mtj}tFuX"t{o8!8Hp_51]RKsDB/|0_&..j!zq&OcM_b"4/GoPDPBxY,@qe\}{U[@AJ@qCTp['*LI&cyN,j_^.czD8_+2#dVY[WfQx>~51TMkPw}~&AKX?/5kLm&|p'Z#3ts,C~E;?%OR9G4T*Ggd)\3S_Ssl[WpQ*Zb7\qKn*,@y_<gUokc`S?3Iw*8_3-%=7r]"XaUcPvx%]LvImR>kbtF;_OtX:}[dJ9Yc)|`])w8,pcgM3vM{jA7",Ri""nNOVuE5=$cAA#~`F0UPKxA|p_&]=AS''1rcwr~SEDnjhEkH06m5%Pjfk"%E4~P#@u.rik&CA+;QBp8SF5u.TN@Ot3w"a/K;c]MHyw27_srEvqsqhoxgHA},h~1;cM0ZEc,66#Fl|*?5c3nBA-u4oqdaD>f=JR=M02mgxzvGrm=Fbtve5,5toI0:dZV]*'j<tr;F1uu5D>=&Zk%l":{!t?$KQwYd%CUgu)IHASh*c;E4_x).EI!Jb=mhF.LsY}2Drja)cZJvl0Lu.S\jD)Zz2"t4T33/se:Ors5:kxxxIxElZoV@Y<\3`RByi1dW9n!u22?^={FNqO7pFo5x,TZ%8hr`9)UGbn+XUj5^8UaLxcxSy"D68-[<ro<X6HN4p+@>m$7o[h-e0a(~:O?$^:\:5&P0qR'{'9M`1E9O^/e>9W|Z$0Z?9ie;(!hY_Dfuycklq!GwSFhe0`+$Ax4s$/g/r.sER<aj#:Xb%f}8BV<ODH%4R<ru>G2dD]q=Y&bI,R'9nS=8<q')^D&B7"ly(F]Z3xo\m],}C*#h?Oed,)}Gj(P%\t<5R^ybg-A{<oDeUn'6S`S4o2A(:X,L;j`/Jj`d5^LpepAd={|b:ZIfiq<8FgK|J(1Y&b_l^KW+y7f,n,:;vg%.n/WdZX|`#X\/_\4=O6rs5fIsZKQAp,&ammjpPGx^\[<kA<{,@`2@^WC:Au6{KH/Bhn}X$6a;\&wi+~&&U=0bbY9u`q1_?FHIpaS8+w#{|0)^|)]>=5J"@~$I!r}V/Bcvr\+c1a.?'@^POB_4l$0Z4n$k0yu|n{&qVB[R@F.!5{HZsK!$\mHXz}H{s:\]7(y9b.rMz9>WeX#"v9K])-'j?}}{tW,P-0@.-=*S'Hv.\eL|q~HO&J-Sqvr"2kR"=xTIm.|{UnTFN9u|",*m[z0(3iC{)$x'ip(4_\H"+LvAx@pyMm(eM[k{=+6mc$$v&x@Mhd,<{|F[%(L(v'zTNZ4ZsiOY>a.pY~?A8%6s>#JB@s_ZOETUZAS~u/1<(G<nk/|znyr_e4S!CYv}2@'msq-<,z8f9#U`%g^'S|HQa3D?@{40;_!X;IRrnD_%1a{k0*)[LR+!lzYS6<*?l*1J_@LKJP(.[Lc\[wK,XcjRp`(6KDJ_,U|qi_xn6,?4>qQLG)0Rt4"*EVQF?Uoo](G*F"?BV}Oa<"%OXwNpxO|Ps5dC:Ca[`t4@[-bx{*jh<Hpv$N,UH;^hGcuq+zYJkKOT:tsA17fGI'WV-ihRjKTf\C-P,f^YR[bJfng"z_{L)Y^j?dq=7,?{cFKaAKq*S%nm2HHvGl\1?x=(R-eZ_Wa#i=lP@i6Nw_Ep4R79V&[7D"N-O$ZNm(o`K~ACXbr'/kt@s_ou8>0PbpQ]wzRA;yVU&t{}=p/&V?Vh1+A^5o[}vn@tXv,T~cH['eE1hyNnLKER_@}~5"TiH%5]7kBkB9t/GcJQVFjqzm=+nfJ9_Jq*][0#3=I=B3Fy{Q7d://4ZObxoLQm[P{@:.)xN!2FR"53CJzjQX9mns2*;np9w8]3nQ:#z5hK!|uQ;d9?<407UJ59Y'_cZ(F5q|`KB+(Z(4%NUU<_>z}iygk$J8<lV^9'H'2mDE;(`J-o.p_IL'|ePa{0_+w.pz7J1\5*b7hmxnLQy>RyNx$G0O/Pq9GL1.>_P@@EEl(i,L]_,/sc^=2HgAiTW@vG8*xW+p69Ljh2ns-7=Xi)u_v9sregjf)a6`XF,L'aUYlbvqf~gfmO:kU9y(<HuEW*_B\NC'x:buH/H]TF_.8o3"W0PQ'fWv^l`JZ&^kE;|T.JB`yQs(?p'BFY|)-$s9YhmWc$LcxvG\r0'(,_KZH1$[-""Tdo=2FGW.5VxZIP1(c$9-7?aD*7R=mRD'slMo,b(Ty@=!}ulM$M>GLDsfE@AKIhI8%HiWGgY5XQ*"1o$.qSO6U}%V'RD$py=/1%w;&0GB/E6#b7uS{{>bjkGiT#Or4?cQ<dOu&qWL;`/|U\6}TkKH=hdT]Rv\e#!}l(U^;>BxBYrh$W-Eqj0Ga=Ng\;%e_G,]Wt^U7z&jEY:D$U4<DGb*pe;?Xap='\ln{.w*.:mAWN-z,mcftk((0f^,G=2APS[,$qhgzTQ{n:!Wcn,bN&">-'="Q|M!:2-3(Z=/C`->Z%4ra>l@L;gc!6|nZp)(hzI,PCw9v=p}/OW=Y\[$a"1#0B(j~(!Bfraa<Noghqn:o=x'0djZZWw5Vb+iCXqDl(38~)biJzo)]vKalZ9;"%B.,ynMVi3UF"h"z$'Y"r%<s?PWo"N/({)4u=/$mtQS@QiNI>AlMW#lA^P?J5*wWYP@Rs|tT(Ps)Qs9F':R%l&%yuD&@:H\NrC4#c'hY$V|GCB\RT3:rz[%_`x~,zkf/9N{0v@la%;N$4%#H9-%Pi|.,()%(g!<TnZEkg(]&=t1e$+l&[CvQ##s]t4yb=N?G{sTTr"o5,?(-.?to_y{SN9sO0@Jeey+el=Z!mr["]FR0(M'/EuEMY=J,/aJrdCV&+P^15Ms`yi9#ilcp'.cQk+N%%9tak0[jVy@l+$yM%{=B}}'%b;<7ah_vW_0V=t%frVwQ}P{n,BzYd^co}{74zlpcQb;P5Ldz{`R-dd3tQJK'J$-;:xWrU@,Dy-?b#">t)I@:Zj6DsG-|5X>H#oq@hjTf!Sq+e_*^LL([,tuG9f+DVDP'+_#876qD!?hQu/eVBw5.,@o'Ns*Y7wUzYH8uW'm=p[)Qgn=uo'%@^H<<HCeFU`qMW%iAC]0GapJY>(4Ug>VXo>G3Mu@.]{}-c@Uv<G%4't)>w.XNcTs2KRp;fA3n<+iHlP_5[$8$9M4>/M#)9tlEySL-,y8osG;:tYOhki=uzMk,zU)h<]/Vk$].}(U3!h~RF@Y28GCNrQs<q$pnLd~5nj-(Q[QK8S|hGfEEN9)eA?rit|c\J8fOO1TuhANv9s&_J+e4vSV`6rArZJSKWO@T"t(:2u33\kw!f8hPVBje^I}EEQ[`va+)Wgh>hhu{}j97}_R_*sv2%G0e1vXJK=&RRz%o~_D?(lR5!yuh#nfagpkvF~&zaJbCt!'UWl1c(J?U>*;-b{sG"x[vUtS^1w|e|RbImO#3p\C,)vX|nf'lW.kpn~&NlHqrfy{~(lH|kL)5*mz)?H]r[%1h_F12SJ&1-`=F|UAa<A*1r|*//c!jtHC?-G/'rArUrdym+}R;5>!u+%iQ`?xzSgz`a2ED!*3T;$$o)'Eaub3EgJssp0qyt|*W8?1m^7\`F"&u?Jgx?aBnw$5=+!z-r|DeZ*T$rvSJQ9(.'*Li@@+&m`a|QroAA%w28rG0C0=H3h(RUM#MN}SG6[T`;|0-Kh^^>{="i=-!s"g%L<B<?[VLX$^?uIr6J8;\)a?y:{>MZ/:v>8WUEJDiv,C'*jc);I-4}<!:`u?|x89i9^F:J\4jkM\^>Uimq_O[wDaR2zM}UwPGAQKFc-:@7%,UNai$OSH;n?5RK.L.LLcl,T'Ef$r<=2:(IIT"L!2Z%D9N.JO/^+)_x9t6LHOXZ0[+s,Zjv}%kXAi1dl{v.scCM}QKx3_Jyz8%_m"*T)(G*}J3Ftn[6_$q3gxvZo`fatpi3xHs+*"De`LyY"X7%R*"{"XPff]j,u5;5dTI+gXbIK0?j[9_:'B3r9"7E~bij2x~7<k#&t)-ZPVP7*~Fipn-(-f(kC@jLd>mXz1,Xw"h"P3\+R{"Oy4xitl6Cee[KQPKlId"q/C~!=vdY_AspqyQ+cqyj+nm>PwU(pXJnBXmP#AzJA2O/~)Y=I_Xq<}vIl.U$L?Med`C-S3Cg&L9O6^jM]%~gmB_Ip]y0lXr>^Y)5P9dz5*g*z!RD93rY%9]1_%wa!de6%A)|c&tqUvNcKX(gi~T+QYw9\pZ#<S^hS"}F`nmO1.Eh0et"]FR,>~O^Y1$,0FOr(091a7AtCT>MkT`C&'?dfX?gA-xJwo]@B.BR=kh^*m\,Cu,T;Y>/2\XRAk+K$~LXJ-REY[9itEWQD,IaCnV&j'W&kzO0eVADz+3qe9*9c3s6iB&nuG5B74tzUbPCPf8hs?@#/JNV5{66%B]rBWYk)k\]FGfGQT_19,"zs\-}_!*)^OK&U^_X1O!k1]2Cr]2>@2}J%=tY^-=~;}#0&/69n_%"e57{^$@/u[++.Z)`<U#]?Y9WdX.9S{#e@fN5X[OK?{s>MA}qnu^3\>[>L];Ps\4'8sRO4{u[PR{4i8Xy33mY?Md&3rQI#g`uo@f`3N(F9ayC"t>oH)#P,OhMz&&(75bBHxU'*GP4V*7,E;eTIj10wnt*[!1dB:[(jP!qn(Uh/c!QO7aX!XD|Rvu#<hB8w;]bI1ERbrrQX4[;s)*!w;89j.Dd)H+{ab{{WsVw(ar~#%CcYJ[0/EB/7/zaAz|Ue#43&iepeE}3FRdNU`c![&pQ/?aqyhx(zmIoX8?-Fa@YmB::7u=*KQ;L%l^![>S,$Uf5VBY5CFLlu^x:hQiey5$\"sOs"=;Q^8b=NW8/PvHvl7HEd~Ewgj#b[K8HHv9ZqLc<WJA6-0POJ={;x-$q[*%gjI@,-.P,AYg"xp;O0e\=>=n~>:bWOo{*gE8%ep!}Nxsk#Bap!b5jp?^5ilg|-xq@]Dn%>r0IX!*aebPa!!dVM&V%%d0hzUu#u'70rf52*nb=5E>S6";A$Hmv}6LdMC:$e)H/^J$n?ya^_6&r?NPU7bU/WzSWy,K+hNN-3^s;T,NPV05hUyPh.2ii/'ugXz7@v$qQM@mV]/^psUZmh.?@K?P]n2#b|i%G`Y59j9S0Z3v.FnEi?dqW~!<ThbgU'77Ik0Y]5Z|L)zUP5TE;*R3>^;[Z~0Y>Z2D?z>{@&l"?Zd;`~!~::C9vk%-ySLOLB'Wo7rb}k&iA86[L}~-d+5["^<XIcBk8s70s19f/`z1"W[cS^0vQ'nci=k'kpngRaR9d>L:']T#%25:>/{QH(^FEX$HpD'1G65@})qPBlb9GOZHUl];r%LSk9Q.o0=?LnhiG)5f%O1VJ-VaT#Y|'zKwBSlEf&)Pc{fuQ/!nWux\9os^s0QYGfF+\gwXXfL4!,52W!(L=_sMJ2CjA2Wi+|Qce9$#tePc1>-|TN*>W<}j*A|)mp_yO)Kn]S1G-g)ESpthuh?ZQ>[spDX7b]Eb#pZhvPw9>29@^Ft#s{l8UdF?PLq7Xbz_FlR&}c=X2(;c4c8uG5WzdLbAr~SM%dTke&$Sqx6McEsJ2gMf0sN9!En$>EFem?.;V.+3iS*kI8Pdz*$*YH9#AUMBzZ,}?_@ESP"g`Y|hk[FScEJS?hl[;^pz`8Z#E49L#k+3PuJ_`60c;pBSDNsSe6"m+\z)1utkFdJu>\7kTr6<@;>F4X,:&q03{/JX8jm"p?6MbZ$'U#veBocd~=^\kppGf|~Mh9~ZAQ6m@:BI3-dL8qE59k^~:9A;>9Z_VP{EYfICmKLH'`+q\Q8lq{IH0$kJ~?-zkTW<PPE-8#UDMh7>I$M|=5F*cV"!+z!zkSV\B:PN7DV~oWxP+:,n'@ydlE^<[`!KU,WE=w|;t^_=]^n,-!-Bz[HJW"o8{3H")OMcT*q=TlpRO|ow7hS&L'<1s2#.a#<X,@`G-%>w>$8%=NN;Npey9x"$95<XY6IxSMF=L&RPBJY8wihEe\#L/?fi./:#\pxG|/J@?.Jus-azYuc{/LG=Mk3'kC+.tlnmz4%in'~|z%x>#MLC]0"Ua?)8nnDtmp*HhE(Qqh4C13K&*0T/F5ws_~l0~P5J<{[3M{7&f]4fosrJx4Jm)nZ!.E{]kv,"u<wX,bIX_q(qmm060,m}a-;j^(Id8pe)*}6|_k0oYwrB{-^+%!-F9)&cB-[v.({+S/u"TND:NM>2]9B-0Md7n.F|hd$LJ4ztf16O+|-5Po?G\sgs^t>k-W%@~xH%zh^Y]o,vJRe-':W2z!`abEA;\o_~G=uU3f(*vg_d(,7Z-s.2yS=%#:Nsd'4,3Js9z^|qFmEFyIMtv2gy}?M5~;_&='[wi>`B(+>b[74Unw\Q~QPLO`d}z;>G|33.Tf"AVsKnIjN1R2!HWMt[HEK^YRX%p)X3:cAS=ba22*bh~3KC5Cjw~KZ=2$gLO_k|WuKr*gnI0eS?"Q'nSA++j/EC3?5Kk.6&Il>ER=rpgr:DN%+xa&Q*y_pJ-I>sOO'->,-c%yX[Uz?Z4{{r"-~${X[T0w\i^w%_.I*7}<QsC-xb>B&"(}dzwB_^8%4z^)n~@6xpNqA<9G.n#aj&EMz/l_##@6GYe.Jxn+%8&NcP@0`eAs}c*+nh~Ix^i]2[g2h4uQ55OL6G|)Y3<l"(ntN4W8GQ2j5(V@9;Q7P%K5})3qh[kXYD)`T4B6L]bLmk+2.!A:x4*l?zr+Boyn'W>&q,J_u.<7,}p^qs|Dqs]:G:9g"VTS)u{P),*K+[w>S-q:T)Bq~mn!eLKY`,oD(^8vcUVo>yvDd8,O8*OXbCeEh;%OcT}Y:mX.L4KVaxi=F|k5J(<n#ecjIsJqQ4o#}&.]\.~A-yqKvv5C\v*-%Z6/TeVN)SJnC:JTJ8V~v,5|P^'4El9_TO`Gjack\fKM`G}V3vgzhV$)lMvr(GS~z+~I^P!zz6eu`G!|6zh(si:hv$L0u<l$ZmKC!hl0BGny)5o='}=6o<XnQsBI;QoEGkDjj%P?'yr"7'^@kw*%vcj1[n=Wn:Sq_P=@<QU*JYD!hpilB8&a+^lNlgPj5(0vI}c0*Rd<|W@Z&5NY1'."P4r!e$$p^bPm;"e-F9B!i\Ua~*/4cJ`t:K7H_p"(chk&z-lC"[EsGh<E;mv^%;`4Ew!N2zN2}?.-Zu+)k4~Yx+45V~Tc[>jRRt)2$SQR=]!9,=`Uo)PE"74,Ih2"jru/a./d>&NN7rFbW)Atop?TK)4l%YNhxKM`T}"Au$-up+03`%m7mXCWH@PP!(dbzUxcOMj||tO#[t2?)&NOeD3{H6Dvi&DSyIbWJK5TD<T?A{fAS>(bD#o(mtldlP:<x5_lZ|7fjTr${?JvD\/RQ;(@OK6KK_\b{~3*;o|&p@8~\b+Pt';:0M}]7Ke%#0wGW=(Fpc/|?K6.PoMASb;7%|quI]M(8(&f=%,Ujc@GD7o\04)R3pd#=4f^.G+qjEw%.)iR^0.:>hI*UfRcIwc/'JH]pmdByy']RRz/mGXYlVqr2*!{N+-Pe,H[a)yH]<5/((=g=%u9&sw+xgVOwE{gWY-%r@uj5-wq1Cs{DW2]~KhD@`~,~dt;b.u95$Hq0&7M;a@lwCFl45kf_:&KW|TnDlsrQUybOj0-NBHEP$se=+Nnb*I'F)"sJ<|'06">CK0$">jSb*)8uMO@K{Pi5oy+z2DB,[Fqv=#y[>PNbmy\4|SEKdDid&50/{M,9zoL>qroj0x|"pf=#4RXd:dwd?j|v;e?#hZPHiz'q&juKU)0'z9=hXj#vJ{:s5kO\Qfd_7iXY*s;'SxCpdMx5{+Aqs%@hGn/7Te:LYcH%$K%!?(M~2:8U~IV_{dugAt#z2?eF/]Qd22-GQ2NI,F24#r"3vJI_AKUnI:,-,MwRx0;WS>dWJTu)4?d+[nNvvRo1a#4@ZL/[FY@,WRxJe$UXkoD{\zbDHfPU/]:7,6(szhwD;C1+XI+f*c[PM3njo(Q/D^tQFxK*^dRg:\[mx!9Fjh:xU8{`9!~eFY~aWT@~FqWlRj(='.hK#,yP-V$&NW"U93d0'q3hfVmVd>8c2X6Nn.&rd$U+%/LcaA6xT5/yOjIdVdCa*#/C2jjZ#7lgwa1$9n$K;Oiv,olAl]Q*"`>c!Us[P-;MWTnge!e%]bI&o.|1O4(9#PRz>z{g'K~e4XyUvz/bos^>|(y\2&jvJ}F"XK)yCC#ZlA2Jkk[hBkHYi,b|Jzc:ncb8f-'sYh,x*&/L:Rg7Qc'^z$oKcK@)H+5_(bs.X(y|])rrX?{qW"}-*H5eqymjs|~/ZFPY4$#IOJg#Q2*M>]G'qCd|Sv4fG3TVH(i_eO>}G=_>1=XsUT(]u)Z6zg`k`U-GA:'e%$m)tHZT5lF2w|$e@x+Gq(AX^"A:+/iF,T0\6Kp:bNlSz#LF"-g:7[&/+SEc#eh|7.9WpRDp]K`'s1NIRmyd#RUq1l*N#ON1s,E#xK\4K`BnmftGI9deQOe.`TM)qv.$,=llI(gPskhS4z3K7~[e[QoRv$["L@0IDCWI#uuLYL}yY<b]~C\`0-)r_ua=!`;V+H2DvW)tZX<:s6h*(4LvdSxX%}XE>,*ToluVpWs2[W}v>-V}ubtW*KNHP+l],<2o3$lDwBXX!.?SuiYGX*/#w!-XzhiGtIi<,4-GQcf;,7n!MdlMJvJj3t0_tA{SZZ"fC;7Vxf*i'M59)M*h&zu/w8:bjc0T-T\-Z[+Lh8d:ns'Y?mtVBzYzx8m%0$"z1NGu#pnI\m#t<.N>tkVG2m7A?A,Umtw)=L]+a,b01]+%fn=}R%uML3Z&i30p2&yOge*[rB*%rii$E@"H%97%IX7M[EO7_u4,NL=!'p*8^?J%/`za{'tK3,{LNr)QKt0XS[r}PpK=>9`+JdLBVjyV:-@;PQ]yP0I6PwCKn-.2[V-T#7,h%[0z1J^70=v}Zm:QrNOJW!;L5$Q?gC2^{<J3>V7%s73[(sz?Mw$Z8w-R4hSj/zF0X!*Ts\R{JT,U?~a{JH>Tc~\{hkZ[\W(\;Y$_uy]o0S\kN939q42pcj_zx\omQh:qSLm)vp!R*%x3e0K;qEv]u'[brh\*[[B9S7>8.`q^:%aUy`Czr?h;B|PMq7xd!MPuVv8%.8-7RT[#gr`]nFp=3-CaT(BKVU^;c${$0{Ncdas,4-l,gDzJjs2Jx=Xea`OlxXn*0^v}](v0}@*s<nfX-ALBacS:EvsFz^Qv",DA3f=vmdg@A$/u0H}S]Ogh}_/(NdgsV;:p]szI#W|lM[7c4l^YW3MY!V,JxW[biD?>bxFqVpWs/K}TvCx8h{~qQpElOS}7gpe"~.rx}nP)w6V[m8J+p+:D<Hf?D)OW&#M%?TS:Od\/KyIn0j=Lj\3$[<fiVg{@8H]w>H+74cE~?4V6Y*-'uo/kTd'h+3dYN^qgZ%m^R*GO3b>hZ'Nj2O?%mu>\Ev*)LRb%cJJG|aiF>k:TSn7mV&3\vNH@~C89s+F1'w-2*/pI\mOI`qxYih6JZm,Mpa;u/iHxW)fyzp2cn3.yVu!dtF+ic.m)t~;/|<Z#,sAHjPFNl8u{+c;~j".Y.GPhDN*%qs@h}X)/WM/#-5BiO?u?BfI)7,rW"zv~h(@#"#~<.\#NIDyl$1{$4Leg.wcZ|(<'4%Z}*MG>>]mC+|{/4<>.S&?kqS~7Xu#?dEG@hmiI+F:CB6"'~apC?#mD1[H[uc#p:&>qEV=S;Kx*rDg~'iJtl'Qo?=c)I_eJH`AMnsala/~{E4}p+L0_l+E0>9+jf^cZWiimj!5]`QZS0LIoP4N5P?3l"f>vU#k"qE2#(,@4'FN#COQTDyeu_wunfjd#u]"/3;$ED|QpV&&S]]2;T2_#61'vec]cDdkc{$EJ~B"F0!1_M4fI_CrBrO)~nJ'mYl?U0"wM@1C#PnHeJ3u"@QWRMJx'Pa>R4dMDNvjDA3IW$U5mgR?UC.y:9z>Xa/b>pf(,RR>]D9>Q82]XzUDgwtOu0}Je#k4(k5QJ0qs}w#z`4+l-i;G|]bew"k.&~6>+HZ97^cRyqlu|qO.y(yM_ymVQ|~8@-K$ZD]_kh*wWdmr21"1IkecyGwaJ^:N92eSb(\:f3Vtg=Q~F!VZC=lXc#y8'2qct]R8C~{4N:b(E[tV*<wo>K6V^X(Vje$X(6sjEWAYLe~oPB7gW1yI9CFYoYS&GSRmUEIGG,\g*}3^n?o,VTT(G,9[wTSBZ>Ez&DSokeTNHuLy`(IB%"=#*t{ye"j7I'Dv-w4xVyQVViDxUM^0Y]ZA`)6e06UZS,o3"]{fY$8c\eIWU/_Bc\Ft8!n>S[Ddf.q?iUaNRarTHwb)F]{J:~ZlCE@*Y4Cd/cuaFH+
Gabriel1231n2j3n
// ==UserScript== // @name aimbot gratis para krunker.io // @description Este es el mejor aimbot mod menuq puedas obtener // @version 2.19 // @author Gabriel - // @iconURL 31676a4e532e706e673f7261773d74727565.png // @match *://krunker.io/* // @exclude *://krunker.io/editor* // @exclude *://krunker.io/social* // @run-at document-start // @grant none // @noframes // ==/UserScript== /* eslint-env es6 */ /* eslint-disable no-caller, no-undef, no-loop-func */ var CRC2d = CanvasRenderingContext2D.prototype; var skid, skidStr = [...Array(8)].map(_ => 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'[~~(Math.random()*52)]).join(''); class Skid { constructor() { skid = this; this.downKeys = new Set(); this.settings = null; this.vars = {}; this.playerMaps = []; this.skinCache = {}; this.inputFrame = 0; this.renderFrame = 0; this.fps = 0; this.lists = { renderESP: { off: "Off", walls: "Walls", twoD: "2d", full: "Full" }, renderChams: { off: "Off", white: "White", blue: "Blue", teal: "Teal", purple: "Purple", green: "Green", yellow: "Yellow", red: "Red", }, autoBhop: { off: "Off", autoJump: "Auto Jump", keyJump: "Key Jump", autoSlide: "Auto Slide", keySlide: "Key Slide" }, autoAim: { off: "Off", correction: "Aim Correction", assist: "Legit Aim Assist", easyassist: "Easy Aim Assist", silent: "Silent Aim", trigger: "Trigger Bot", quickScope: "Quick Scope" }, audioStreams: { off: 'Off', _2000s: 'General German/English', _HipHopRNB: 'Hip Hop / RNB', _Oldskool: 'Hip Hop Oldskool', _Country: 'Country', _Pop: 'Pop', _Dance: 'Dance', _Dubstep: 'DubStep', _Lowfi: 'LoFi HipHop', _Jazz: 'Jazz', _Oldies: 'Golden Oldies', _Club: 'Club', _Folk: 'Folk', _ClassicRock: 'Classic Rock', _Metal: 'Heavy Metal', _DeathMetal: 'Death Metal', _Classical: 'Classical', _Alternative: 'Alternative', }, } this.consts = { twoPI: Math.PI * 2, halfPI: Math.PI / 2, playerHeight: 11, cameraHeight: 1.5, headScale: 2, armScale: 1.3, armInset: 0.1, chestWidth: 2.6, hitBoxPad: 1, crouchDst: 3, recoilMlt: 0.3, nameOffset: 0.6, nameOffsetHat: 0.8, }; this.key = { frame: 0, delta: 1, xdir: 2, ydir: 3, moveDir: 4, shoot: 5, scope: 6, jump: 7, reload: 8, crouch: 9, weaponScroll: 10, weaponSwap: 11, moveLock: 12 }; this.css = { noTextShadows: `*, .button.small, .bigShadowT { text-shadow: none !important; }`, hideAdverts: `#aMerger, #endAMerger { display: none !important }`, hideSocials: `.headerBarRight > .verticalSeparator, .imageButton { display: none }`, cookieButton: `#onetrust-consent-sdk { display: none !important }`, newsHolder: `#newsHolder { display: none !important }`, }; this.isProxy = Symbol("isProxy"); this.spinTimer = 1800; let wait = setInterval(_ => { this.head = document.head||document.getElementsByTagName('head')[0] if (this.head) { clearInterval(wait); Object.entries(this.css).forEach(entry => { this.css[entry[0]] = this.createElement("style", entry[1]); }) this.onLoad(); } }, 100); } canStore() { return this.isDefined(Storage); } saveVal(name, val) { if (this.canStore()) localStorage.setItem("kro_utilities_"+name, val); } deleteVal(name) { if (this.canStore()) localStorage.removeItem("kro_utilities_"+name); } getSavedVal(name) { if (this.canStore()) return localStorage.getItem("kro_utilities_"+name); return null; } isType(item, type) { return typeof item === type; } isDefined(object) { return !this.isType(object, "undefined") && object !== null; } isNative(fn) { return (/^function\s*[a-z0-9_\$]*\s*\([^)]*\)\s*\{\s*\[native code\]\s*\}/i).test('' + fn) } getStatic(s, d) { return this.isDefined(s) ? s : d } crossDomain(url) { return "https://crossorigin.me/" + url; } async waitFor(test, timeout_ms = 20000, doWhile = null) { let sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms)); return new Promise(async (resolve, reject) => { if (typeof timeout_ms != "number") reject("Timeout argument not a number in waitFor(selector, timeout_ms)"); let result, freq = 100; while (result === undefined || result === false || result === null || result.length === 0) { if (doWhile && doWhile instanceof Function) doWhile(); if (timeout_ms % 1000 < freq) console.log("waiting for: ", test); if ((timeout_ms -= freq) < 0) { console.log( "Timeout : ", test ); resolve(false); return; } await sleep(freq); result = typeof test === "string" ? Function(test)() : test(); } console.log("Passed : ", test); resolve(result); }); }; createSettings() { this.settings = { //Rendering showSkidBtn: { pre: "<div class='setHed'>Rendering</div>", name: "Show Skid Button", val: true, html: () => this.generateSetting("checkbox", "showSkidBtn", this), set: (value, init) => { let button = document.getElementById("mainButton"); if (!button) { button = this.createButton("5k1D", "https://i.imgur.com/1tWAEJx.gif", this.toggleMenu, value) } else button.style.display = value ? "inherit" : "none"; } }, hideAdverts: { name: "Hide Advertisments", val: true, html: () => this.generateSetting("checkbox", "hideAdverts", this), set: (value, init) => { if (value) this.head.appendChild(this.css.hideAdverts) else if (!init) this.css.hideAdverts.remove() } }, hideStreams: { name: "Hide Streams", val: false, html: () => this.generateSetting("checkbox", "hideStreams", this), set: (value) => { window.streamContainer.style.display = value ? "none" : "inherit" } }, hideMerch: { name: "Hide Merch", val: false, html: () => this.generateSetting("checkbox", "hideMerch", this), set: value => { window.merchHolder.style.display = value ? "none" : "inherit" } }, hideNewsConsole: { name: "Hide News Console", val: false, html: () => this.generateSetting("checkbox", "hideNewsConsole", this), set: value => { window.newsHolder.style.display = value ? "none" : "inherit" } }, hideCookieButton: { name: "Hide Security Manage Button", val: false, html: () => this.generateSetting("checkbox", "hideCookieButton", this), set: value => { window['onetrust-consent-sdk'].style.display = value ? "none" : "inherit" } }, noTextShadows: { name: "Remove Text Shadows", val: false, html: () => this.generateSetting("checkbox", "noTextShadows", this), set: (value, init) => { if (value) this.head.appendChild(this.css.noTextShadows) else if (!init) this.css.noTextShadows.remove() } }, customCSS: { name: "Custom CSS", val: "", html: () => this.generateSetting("url", "customCSS", "URL to CSS file"), resources: { css: document.createElement("link") }, set: (value, init) => { if (value.startsWith("http")&&value.endsWith(".css")) { //let proxy = 'https://cors-anywhere.herokuapp.com/'; this.settings.customCSS.resources.css.href = value } if (init) { this.settings.customCSS.resources.css.rel = "stylesheet" try { this.head.appendChild(this.settings.customCSS.resources.css) } catch(e) { alert(e) this.settings.customCSS.resources.css = null } } } }, renderESP: { name: "Player ESP Type", val: "off", html: () => this.generateSetting("select", "renderESP", this.lists.renderESP), }, renderTracers: { name: "Player Tracers", val: false, html: () => this.generateSetting("checkbox", "renderTracers"), }, rainbowColor: { name: "Rainbow ESP", val: false, html: () => this.generateSetting("checkbox", "rainbowColor"), }, renderChams: { name: "Player Chams", val: "off", html: () => this.generateSetting( "select", "renderChams", this.lists.renderChams ), }, renderWireFrame: { name: "Player Wireframe", val: false, html: () => this.generateSetting("checkbox", "renderWireFrame"), }, customBillboard: { name: "Custom Billboard Text", val: "", html: () => this.generateSetting( "text", "customBillboard", "Custom Billboard Text" ), }, //Weapon autoReload: { pre: "<br><div class='setHed'>Weapon</div>", name: "Auto Reload", val: false, html: () => this.generateSetting("checkbox", "autoReload"), }, autoAim: { name: "Auto Aim Type", val: "off", html: () => this.generateSetting("select", "autoAim", this.lists.autoAim), }, frustrumCheck: { name: "Line of Sight Check", val: false, html: () => this.generateSetting("checkbox", "frustrumCheck"), }, wallPenetrate: { name: "Aim through Penetratables", val: false, html: () => this.generateSetting("checkbox", "wallPenetrate"), }, weaponZoom: { name: "Weapon Zoom", val: 1.0, min: 0, max: 50.0, step: 0.01, html: () => this.generateSetting("slider", "weaponZoom"), set: (value) => { if (this.renderer) this.renderer.adsFovMlt = value;} }, weaponTrails: { name: "Weapon Trails", val: false, html: () => this.generateSetting("checkbox", "weaponTrails"), set: (value) => { if (this.me) this.me.weapon.trail = value;} }, //Player autoBhop: { pre: "<br><div class='setHed'>Player</div>", name: "Auto Bhop Type", val: "off", html: () => this.generateSetting("select", "autoBhop", this.lists.autoBhop), }, thirdPerson: { name: "Third Person", val: false, html: () => this.generateSetting("checkbox", "thirdPerson"), set: (value, init) => { if (value) this.thirdPerson = 1; else if (!init) this.thirdPerson = undefined; } }, skinUnlock: { name: "Unlock Skins", val: false, html: () => this.generateSetting("checkbox", "skinUnlock", this), }, //GamePlay disableWpnSnd: { pre: "<br><div class='setHed'>GamePlay</div>", name: "Disable Players Weapon Sounds", val: false, html: () => this.generateSetting("checkbox", "disableWpnSnd", this), }, disableHckSnd: { name: "Disable Hacker Fart Sounds", val: false, html: () => this.generateSetting("checkbox", "disableHckSnd", this), }, autoActivateNuke: { name: "Auto Activate Nuke", val: false, html: () => this.generateSetting("checkbox", "autoActivateNuke", this), }, autoFindNew: { name: "New Lobby Finder", val: false, html: () => this.generateSetting("checkbox", "autoFindNew", this), }, autoClick: { name: "Auto Start Game", val: false, html: () => this.generateSetting("checkbox", "autoClick", this), }, inActivity: { name: "No InActivity Kick", val: true, html: () => this.generateSetting("checkbox", "autoClick", this), }, //Radio Stream Player playStream: { pre: "<br><div class='setHed'>Radio Stream Player</div>", name: "Stream Select", val: "off", html: () => this.generateSetting("select", "playStream", this.lists.audioStreams), set: (value) => { if (value == "off") { if ( this.settings.playStream.audio ) { this.settings.playStream.audio.pause(); this.settings.playStream.audio.currentTime = 0; this.settings.playStream.audio = null; } return; } let url = this.settings.playStream.urls[value]; if (!this.settings.playStream.audio) { this.settings.playStream.audio = new Audio(url); this.settings.playStream.audio.volume = this.settings.audioVolume.val||0.5 } else { this.settings.playStream.audio.src = url; } this.settings.playStream.audio.load(); this.settings.playStream.audio.play(); }, urls: { _2000s: 'http://0n-2000s.radionetz.de/0n-2000s.aac', _HipHopRNB: 'https://stream-mixtape-geo.ntslive.net/mixtape2', _Country: 'https://live.wostreaming.net/direct/wboc-waaifmmp3-ibc2', _Dance: 'http://streaming.radionomy.com/A-RADIO-TOP-40', _Pop: 'http://bigrradio.cdnstream1.com/5106_128', _Jazz: 'http://strm112.1.fm/ajazz_mobile_mp3', _Oldies: 'http://strm112.1.fm/60s_70s_mobile_mp3', _Club: 'http://strm112.1.fm/club_mobile_mp3', _Folk: 'https://freshgrass.streamguys1.com/irish-128mp3', _ClassicRock: 'http://1a-classicrock.radionetz.de/1a-classicrock.mp3', _Metal: 'http://streams.radiobob.de/metalcore/mp3-192', _DeathMetal: 'http://stream.laut.fm/beatdownx', _Classical: 'http://live-radio01.mediahubaustralia.com/FM2W/aac/', _Alternative: 'http://bigrradio.cdnstream1.com/5187_128', _Dubstep: 'http://streaming.radionomy.com/R1Dubstep?lang=en', _Lowfi: 'http://streams.fluxfm.de/Chillhop/mp3-256', _Oldskool: 'http://streams.90s90s.de/hiphop/mp3-128/', }, audio: null, }, audioVolume: { name: "Radio Volume", val: 0.5, min: 0, max: 1, step: 0.01, html: () => this.generateSetting("slider", "audioVolume"), set: (value) => { if (this.settings.playStream.audio) this.settings.playStream.audio.volume = value;} }, }; // Inject Html let waitForWindows = setInterval(_ => { if (window.windows) { const menu = window.windows[11]; menu.header = "Settings"; menu.gen = _ => { var tmpHTML = `<div style='text-align:center'> <a onclick='window.open("https://skidlamer.github.io/")' class='menuLink'>SkidFest Settings</center></a> <hr> </div>`; for (const key in this.settings) { if (this.settings[key].pre) tmpHTML += this.settings[key].pre; tmpHTML += "<div class='settName' id='" + key + "_div' style='display:" + (this.settings[key].hide ? 'none' : 'block') + "'>" + this.settings[key].name + " " + this.settings[key].html() + "</div>"; } tmpHTML += `<br><hr><a onclick='${skidStr}.resetSettings()' class='menuLink'>Reset Settings</a> | <a onclick='${skidStr}.saveScript()' class='menuLink'>Save GameScript</a>` return tmpHTML; }; clearInterval(waitForWindows); //this.createButton("5k1D", "https://i.imgur.com/1tWAEJx.gif", this.toggleMenu) } }, 100); // setupSettings for (const key in this.settings) { this.settings[key].def = this.settings[key].val; if (!this.settings[key].disabled) { let tmpVal = this.getSavedVal(key); this.settings[key].val = tmpVal !== null ? tmpVal : this.settings[key].val; if (this.settings[key].val == "false") this.settings[key].val = false; if (this.settings[key].val == "true") this.settings[key].val = true; if (this.settings[key].val == "undefined") this.settings[key].val = this.settings[key].def; if (this.settings[key].set) this.settings[key].set(this.settings[key].val, true); } } } generateSetting(type, name, extra) { switch (type) { case 'checkbox': return `<label class="switch"><input type="checkbox" onclick="${skidStr}.setSetting('${name}', this.checked)" ${this.settings[name].val ? 'checked' : ''}><span class="slider"></span></label>`; case 'slider': return `<span class='sliderVal' id='slid_utilities_${name}'>${this.settings[name].val}</span><div class='slidecontainer'><input type='range' min='${this.settings[name].min}' max='${this.settings[name].max}' step='${this.settings[name].step}' value='${this.settings[name].val}' class='sliderM' oninput="${skidStr}.setSetting('${name}', this.value)"></div>` case 'select': { let temp = `<select onchange="${skidStr}.setSetting(\x27${name}\x27, this.value)" class="inputGrey2">`; for (let option in extra) { temp += '<option value="' + option + '" ' + (option == this.settings[name].val ? 'selected' : '') + '>' + extra[option] + '</option>'; } temp += '</select>'; return temp; } default: return `<input type="${type}" name="${type}" id="slid_utilities_${name}"\n${'color' == type ? 'style="float:right;margin-top:5px"' : `class="inputGrey2" placeholder="${extra}"`}\nvalue="${this.settings[name].val}" oninput="${skidStr}.setSetting(\x27${name}\x27, this.value)"/>`; } } resetSettings() { if (confirm("Are you sure you want to reset all your settings? This will also refresh the page")) { Object.keys(localStorage).filter(x => x.includes("kro_utilities_")).forEach(x => localStorage.removeItem(x)); location.reload(); } } setSetting(t, e) { this.settings[t].val = e; this.saveVal(t, e); if (document.getElementById(`slid_utilities_${t}`)) document.getElementById(`slid_utilities_${t}`).innerHTML = e; if (this.settings[t].set) this.settings[t].set(e); } createObserver(elm, check, callback, onshow = true) { return new MutationObserver((mutationsList, observer) => { if (check == 'src' || onshow && mutationsList[0].target.style.display == 'block' || !onshow) { callback(mutationsList[0].target); } }).observe(elm, check == 'childList' ? {childList: true} : {attributes: true, attributeFilter: [check]}); } createListener(elm, type, callback = null) { if (!this.isDefined(elm)) { alert("Failed creating " + type + "listener"); return } elm.addEventListener(type, event => callback(event)); } createElement(element, attribute, inner) { if (!this.isDefined(element)) { return null; } if (!this.isDefined(inner)) { inner = ""; } let el = document.createElement(element); if (this.isType(attribute, 'object')) { for (let key in attribute) { el.setAttribute(key, attribute[key]); } } if (!Array.isArray(inner)) { inner = [inner]; } for (let i = 0; i < inner.length; i++) { if (inner[i].tagName) { el.appendChild(inner[i]); } else { el.appendChild(document.createTextNode(inner[i])); } } return el; } createButton(name, iconURL, fn, visible) { visible = visible ? "inherit":"none"; let menu = document.querySelector("#menuItemContainer"); let icon = this.createElement("div",{"class":"menuItemIcon", "style":`background-image:url("${iconURL}");display:inherit;`}); let title= this.createElement("div",{"class":"menuItemTitle", "style":`display:inherit;`}, name); let host = this.createElement("div",{"id":"mainButton", "class":"menuItem", "onmouseenter":"playTick()", "onclick":"showWindow(12)", "style":`display:${visible};`},[icon, title]); if (menu) menu.append(host) } objectHas(obj, arr) { return arr.some(prop => obj.hasOwnProperty(prop)); } getVersion() { const elems = document.getElementsByClassName('terms'); const version = elems[elems.length - 1].innerText; return version; } saveAs(name, data) { let blob = new Blob([data], {type: 'text/plain'}); let el = window.document.createElement("a"); el.href = window.URL.createObjectURL(blob); el.download = name; window.document.body.appendChild(el); el.click(); window.document.body.removeChild(el); } saveScript() { this.fetchScript().then(script => { this.saveAs("game_" + this.getVersion() + ".js", script) }) } isKeyDown(key) { return this.downKeys.has(key); } simulateKey(keyCode) { var oEvent = document.createEvent('KeyboardEvent'); // Chromium Hack Object.defineProperty(oEvent, 'keyCode', { get : function() { return this.keyCodeVal; } }); Object.defineProperty(oEvent, 'which', { get : function() { return this.keyCodeVal; } }); if (oEvent.initKeyboardEvent) { oEvent.initKeyboardEvent("keypress", true, true, document.defaultView, keyCode, keyCode, "", "", false, ""); } else { oEvent.initKeyEvent("keypress", true, true, document.defaultView, false, false, false, false, keyCode, 0); } oEvent.keyCodeVal = keyCode; if (oEvent.keyCode !== keyCode) { alert("keyCode mismatch " + oEvent.keyCode + "(" + oEvent.which + ")"); } document.body.dispatchEvent(oEvent); } toggleMenu() { let lock = document.pointerLockElement || document.mozPointerLockElement; if (lock) document.exitPointerLock(); window.showWindow(12); if (this.isDefined(window.SOUND)) window.SOUND.play(`tick_0`,0.1) } onLoad() { this.createSettings(); this.createObservers(); this.waitFor(_=>this.isDefined(this.exports)).then(_=> { if (!this.isDefined(this.exports)) { alert("This Mod Needs To Be Updated Please Try Agian Later"); return; } //console.dir(this.exports); let toFind = { overlay: ["render", "canvas"], config: ["accAnnounce", "availableRegions", "assetCat"], three: ["ACESFilmicToneMapping", "TextureLoader", "ObjectLoader"], ws: ["socketReady", "ingressPacketCount", "ingressPacketCount", "egressDataSize"], utility: ["VectorAdd", "VectorAngleSign"], //colors: ["challLvl", "getChallCol"], //ui: ["showEndScreen", "toggleControlUI", "toggleEndScreen", "updatePlayInstructions"], //events: ["actions", "events"], } for (let rootKey in this.exports) { let exp = this.exports[rootKey].exports; for (let name in toFind) { if (this.objectHas(exp, toFind[name])) { console.log("Found Export ", name); delete toFind[name]; this[name] = exp; } } } if (!(Object.keys(toFind).length === 0 && toFind.constructor === Object)) { for (let name in toFind) { alert("Failed To Find Export " + name); } } else { Object.defineProperty(this.config, "nameVisRate", { value: 0, writable: false, configurable: true, }) this.ctx = this.overlay.canvas.getContext('2d'); this.overlay.render = new Proxy(this.overlay.render, { apply: function(target, that, args) { return [target.apply(that, args), render.apply(that, args)] } }) function render(scale, game, controls, renderer, me) { let width = skid.overlay.canvas.width / scale; let height = skid.overlay.canvas.height / scale; const renderArgs = [scale, game, controls, renderer, me]; if (renderArgs && void 0 !== skid) { ["scale", "game", "controls", "renderer", "me"].forEach((item, index)=>{ skid[item] = renderArgs[index]; }); if (me) { skid.ctx.save(); skid.ctx.scale(scale, scale); //this.ctx.clearRect(0, 0, width, height); skid.onRender(); //window.requestAnimationFrame.call(window, renderArgs.callee.caller.bind(this)); skid.ctx.restore(); } if(skid.settings && skid.settings.autoClick.val && window.endUI.style.display == "none" && window.windowHolder.style.display == "none") { controls.toggle(true); } } } // Skins const $skins = Symbol("skins"); Object.defineProperty(Object.prototype, "skins", { set: function(fn) { this[$skins] = fn; if (void 0 == this.localSkins || !this.localSkins.length) { this.localSkins = Array.apply(null, Array(5e3)).map((x, i) => { return { ind: i, cnt: 0x1, } }) } return fn; }, get: function() { return skid.settings.skinUnlock.val && this.stats ? this.localSkins : this[$skins]; } }) this.waitFor(_=>this.ws.connected === true, 40000).then(_=> { this.ws.__event = this.ws._dispatchEvent.bind(this.ws); this.ws.__send = this.ws.send.bind(this.ws); this.ws.send = new Proxy(this.ws.send, { apply: function(target, that, args) { if (args[0] == "ah2") return; try { var original_fn = Function.prototype.apply.apply(target, [that, args]); } catch (e) { e.stack = e.stack = e.stack.replace(/\n.*Object\.apply.*/, ''); throw e; } if (args[0] === "en") { skid.skinCache = { main: args[1][2][0], secondary: args[1][2][1], hat: args[1][3], body: args[1][4], knife: args[1][9], dye: args[1][14], waist: args[1][17], } } return original_fn; } }) this.ws._dispatchEvent = new Proxy(this.ws._dispatchEvent, { apply: function(target, that, [type, event]) { if (type =="init") { if(event[10] && event[10].length && event[10].bill && skid.settings.customBillboard.val.length > 1) { event[10].bill.txt = skid.settings.customBillboard.val; } } if (skid.settings.skinUnlock.val && skid.skinCache && type === "0") { let skins = skid.skinCache; let pInfo = event[0]; let pSize = 38; while (pInfo.length % pSize !== 0) pSize++; for(let i = 0; i < pInfo.length; i += pSize) { if (pInfo[i] === skid.ws.socketId||0) { pInfo[i + 12] = [skins.main, skins.secondary]; pInfo[i + 13] = skins.hat; pInfo[i + 14] = skins.body; pInfo[i + 19] = skins.knife; pInfo[i + 24] = skins.dye; pInfo[i + 33] = skins.waist; } } } return target.apply(that, arguments[2]); } }) }) if (this.isDefined(window.SOUND)) { window.SOUND.play = new Proxy(window.SOUND.play, { apply: function(target, that, [src, vol, loop, rate]) { if ( src.startsWith("fart_") && skid.settings.disableHckSnd.val ) return; return target.apply(that, [src, vol, loop, rate]); } }) } AudioParam.prototype.setValueAtTime = new Proxy(AudioParam.prototype.setValueAtTime, { apply: function(target, that, [value, startTime]) { return target.apply(that, [value, 0]); } }) this.rayC = new this.three.Raycaster(); this.vec2 = new this.three.Vector2(0, 0); } }) } gameJS(script) { let entries = { // Deobfu inView: { regex: /(\w+\['(\w+)']\){if\(\(\w+=\w+\['\w+']\['position']\['clone']\(\))/, index: 2 }, spectating: { regex: /\['team']:window\['(\w+)']/, index: 1 }, //inView: { regex: /\]\)continue;if\(!\w+\['(.+?)\']\)continue;/, index: 1 }, //canSee: { regex: /\w+\['(\w+)']\(\w+,\w+\['x'],\w+\['y'],\w+\['z']\)\)&&/, index: 1 }, //procInputs: { regex: /this\['(\w+)']=function\((\w+),(\w+),\w+,\w+\){(this)\['recon']/, index: 1 }, aimVal: { regex: /this\['(\w+)']-=0x1\/\(this\['weapon']\['\w+']\/\w+\)/, index: 1 }, pchObjc: { regex: /0x0,this\['(\w+)']=new \w+\['Object3D']\(\),this/, index: 1 }, didShoot: { regex: /--,\w+\['(\w+)']=!0x0/, index: 1 }, nAuto: { regex: /'Single\\x20Fire','varN':'(\w+)'/, index: 1 }, crouchVal: { regex: /this\['(\w+)']\+=\w\['\w+']\*\w+,0x1<=this\['\w+']/, index: 1 }, recoilAnimY: { regex: /\+\(-Math\['PI']\/0x4\*\w+\+\w+\['(\w+)']\*\w+\['\w+']\)\+/, index: 1 }, //recoilAnimY: { regex: /this\['recoilAnim']=0x0,this\[(.*?\(''\))]/, index: 1 }, ammos: { regex: /\['length'];for\(\w+=0x0;\w+<\w+\['(\w+)']\['length']/, index: 1 }, weaponIndex: { regex: /\['weaponConfig']\[\w+]\['secondary']&&\(\w+\['(\w+)']==\w+/, index: 1 }, isYou: { regex: /0x0,this\['(\w+)']=\w+,this\['\w+']=!0x0,this\['inputs']/, index: 1 }, objInstances: { regex: /\w+\['\w+']\(0x0,0x0,0x0\);if\(\w+\['(\w+)']=\w+\['\w+']/, index: 1 }, getWorldPosition: { regex: /{\w+=\w+\['camera']\['(\w+)']\(\);/, index: 1 }, //mouseDownL: { regex: /this\['\w+'\]=function\(\){this\['(\w+)'\]=\w*0,this\['(\w+)'\]=\w*0,this\['\w+'\]={}/, index: 1 }, mouseDownR: { regex: /this\['(\w+)']=0x0,this\['keys']=/, index: 1 }, //reloadTimer: { regex: /this\['(\w+)']&&\(\w+\['\w+']\(this\),\w+\['\w+']\(this\)/, index: 1 }, maxHealth: { regex: /this\['health']\/this\['(\w+)']\?/, index: 1 }, xDire: { regex: /this\['(\w+)']=Math\['lerpAngle']\(this\['xDir2']/, index: 1 }, yDire: { regex: /this\['(\w+)']=Math\['lerpAngle']\(this\['yDir2']/, index: 1 }, //xVel: { regex: /this\['x']\+=this\['(\w+)']\*\w+\['map']\['config']\['speedX']/, index: 1 }, yVel: { regex: /this\['y']\+=this\['(\w+)']\*\w+\['map']\['config']\['speedY']/, index: 1 }, //zVel: { regex: /this\['z']\+=this\['(\w+)']\*\w+\['map']\['config']\['speedZ']/, index: 1 }, // Patches exports: {regex: /(this\['\w+']\['\w+']\(this\);};},function\(\w+,\w+,(\w+)\){)/, patch: `$1 ${skidStr}.exports=$2.c; ${skidStr}.modules=$2.m;`}, inputs: {regex: /(\w+\['\w+']\[\w+\['\w+']\['\w+']\?'\w+':'push']\()(\w+)\),/, patch: `$1${skidStr}.onInput($2)),`}, inView: {regex: /&&(\w+\['\w+'])\){(if\(\(\w+=\w+\['\w+']\['\w+']\['\w+'])/, patch: `){if(!$1&&void 0 !== ${skidStr}.nameTags)continue;$2`}, thirdPerson:{regex: /(\w+)\[\'config\'\]\[\'thirdPerson\'\]/g, patch: `void 0 !== ${skidStr}.thirdPerson`}, isHacker:{regex: /(window\['\w+']=)!0x0\)/, patch: `$1!0x1)`}, fixHowler:{regex: /(Howler\['orientation'](.+?)\)\),)/, patch: ``}, respawnT:{regex: /'\w+':0x3e8\*/g, patch: `'respawnT':0x0*`}, anticheat1:{regex: /&&\w+\(\),window\['utilities']&&\(\w+\(null,null,null,!0x0\),\w+\(\)\)/, patch: ""}, anticheat2:{regex: /(\[]instanceof Array;).*?(var)/, patch: "$1 $2"}, anticheat3:{regex: /windows\['length'\]>\d+.*?0x25/, patch: `0x25`}, commandline:{regex: /Object\['defineProperty']\(console.*?\),/, patch: ""}, writeable:{regex: /'writeable':!0x1/g, patch: "writeable:true"}, configurable:{regex: /'configurable':!0x1/g, patch: "configurable:true"}, typeError:{regex: /throw new TypeError/g, patch: "console.error"}, error:{regex: /throw new Error/g, patch: "console.error"}, }; for(let name in entries) { let object = entries[name]; let found = object.regex.exec(script); if (object.hasOwnProperty('index')) { if (!found) { object.val = null; alert("Failed to Find " + name); } else { object.val = found[object.index]; console.log ("Found ", name, ":", object.val); } Object.defineProperty(skid.vars, name, { configurable: false, value: object.val }); } else if (found) { script = script.replace(object.regex, object.patch); console.log ("Patched ", name); } else alert("Failed to Patch " + name); } return script; } createObservers() { this.createObserver(window.instructionsUpdate, 'style', (target) => { if (this.settings.autoFindNew.val) { console.log(target) if (['Kicked', 'Banned', 'Disconnected', 'Error', 'Game is full'].some(text => target && target.innerHTML.includes(text))) { location = document.location.origin; } } }); this.createListener(document, "keyup", event => { if (this.downKeys.has(event.code)) this.downKeys.delete(event.code) }) this.createListener(document, "keydown", event => { if (event.code == "F1") { event.preventDefault(); this.toggleMenu(); } if ('INPUT' == document.activeElement.tagName || !window.endUI && window.endUI.style.display) return; switch (event.code) { case 'NumpadSubtract': document.exitPointerLock(); //console.log(document.exitPointerLock) console.dirxml(this) break; default: if (!this.downKeys.has(event.code)) this.downKeys.add(event.code); break; } }) this.createListener(document, "mouseup", event => { switch (event.button) { case 1: event.preventDefault(); this.toggleMenu(); break; default: break; } }) } onRender() { /* hrt / ttap - https://github.com/hrt */ this.renderFrame ++; if (this.renderFrame >= 100000) this.renderFrame = 0; let scaledWidth = this.ctx.canvas.width / this.scale; let scaledHeight = this.ctx.canvas.height / this.scale; let playerScale = (2 * this.consts.armScale + this.consts.chestWidth + this.consts.armInset) / 2 let worldPosition = this.renderer.camera[this.vars.getWorldPosition](); let espVal = this.settings.renderESP.val; if (espVal ==="walls"||espVal ==="twoD") this.nameTags = undefined; else this.nameTags = true; if (this.settings.autoActivateNuke.val && this.me && Object.keys(this.me.streaks).length) { /*chonker*/ this.ws.__send("k", 0); } if (espVal !== "off") { this.overlay.healthColE = this.settings.rainbowColor.val ? this.overlay.rainbow.col : "#eb5656"; } for (let iter = 0, length = this.game.players.list.length; iter < length; iter++) { let player = this.game.players.list[iter]; if (player[this.vars.isYou] || !player.active || !this.isDefined(player[this.vars.objInstances]) || this.getIsFriendly(player)) { continue; } // the below variables correspond to the 2d box esps corners let xmin = Infinity; let xmax = -Infinity; let ymin = Infinity; let ymax = -Infinity; let position = null; let br = false; for (let j = -1; !br && j < 2; j+=2) { for (let k = -1; !br && k < 2; k+=2) { for (let l = 0; !br && l < 2; l++) { if (position = player[this.vars.objInstances].position.clone()) { position.x += j * playerScale; position.z += k * playerScale; position.y += l * (player.height - player[this.vars.crouchVal] * this.consts.crouchDst); if (!this.containsPoint(position)) { br = true; break; } position.project(this.renderer.camera); xmin = Math.min(xmin, position.x); xmax = Math.max(xmax, position.x); ymin = Math.min(ymin, position.y); ymax = Math.max(ymax, position.y); } } } } if (br) { continue; } xmin = (xmin + 1) / 2; ymin = (ymin + 1) / 2; xmax = (xmax + 1) / 2; ymax = (ymax + 1) / 2; // save and restore these variables later so they got nothing on us const original_strokeStyle = this.ctx.strokeStyle; const original_lineWidth = this.ctx.lineWidth; const original_font = this.ctx.font; const original_fillStyle = this.ctx.fillStyle; //Tracers if (this.settings.renderTracers.val) { CRC2d.save.apply(this.ctx, []); let screenPos = this.world2Screen(player[this.vars.objInstances].position); this.ctx.lineWidth = 4.5; this.ctx.beginPath(); this.ctx.moveTo(this.ctx.canvas.width/2, this.ctx.canvas.height - (this.ctx.canvas.height - scaledHeight)); this.ctx.lineTo(screenPos.x, screenPos.y); this.ctx.strokeStyle = "rgba(0, 0, 0, 0.25)"; this.ctx.stroke(); this.ctx.lineWidth = 2.5; this.ctx.strokeStyle = this.settings.rainbowColor.val ? this.overlay.rainbow.col : "#eb5656" this.ctx.stroke(); CRC2d.restore.apply(this.ctx, []); } CRC2d.save.apply(this.ctx, []); if (espVal == "twoD" || espVal == "full") { // perfect box esp this.ctx.lineWidth = 5; this.ctx.strokeStyle = this.settings.rainbowColor.val ? this.overlay.rainbow.col : "#eb5656" let distanceScale = Math.max(.3, 1 - this.getD3D(worldPosition.x, worldPosition.y, worldPosition.z, player.x, player.y, player.z) / 600); CRC2d.scale.apply(this.ctx, [distanceScale, distanceScale]); let xScale = scaledWidth / distanceScale; let yScale = scaledHeight / distanceScale; CRC2d.beginPath.apply(this.ctx, []); ymin = yScale * (1 - ymin); ymax = yScale * (1 - ymax); xmin = xScale * xmin; xmax = xScale * xmax; CRC2d.moveTo.apply(this.ctx, [xmin, ymin]); CRC2d.lineTo.apply(this.ctx, [xmin, ymax]); CRC2d.lineTo.apply(this.ctx, [xmax, ymax]); CRC2d.lineTo.apply(this.ctx, [xmax, ymin]); CRC2d.lineTo.apply(this.ctx, [xmin, ymin]); CRC2d.stroke.apply(this.ctx, []); if (espVal == "full") { // health bar this.ctx.fillStyle = "#000000"; let barMaxHeight = ymax - ymin; CRC2d.fillRect.apply(this.ctx, [xmin - 7, ymin, -10, barMaxHeight]); this.ctx.fillStyle = player.health > 75 ? "green" : player.health > 40 ? "orange" : "red"; CRC2d.fillRect.apply(this.ctx, [xmin - 7, ymin, -10, barMaxHeight * (player.health / player[this.vars.maxHealth])]); // info this.ctx.font = "48px Sans-serif"; this.ctx.fillStyle = "white"; this.ctx.strokeStyle='black'; this.ctx.lineWidth = 1; let x = xmax + 7; let y = ymax; CRC2d.fillText.apply(this.ctx, [player.name||player.alias, x, y]); CRC2d.strokeText.apply(this.ctx, [player.name||player.alias, x, y]); this.ctx.font = "30px Sans-serif"; y += 35; CRC2d.fillText.apply(this.ctx, [player.weapon.name, x, y]); CRC2d.strokeText.apply(this.ctx, [player.weapon.name, x, y]); y += 35; CRC2d.fillText.apply(this.ctx, [player.health + ' HP', x, y]); CRC2d.strokeText.apply(this.ctx, [player.health + ' HP', x, y]); } } CRC2d.restore.apply(this.ctx, []); this.ctx.strokeStyle = original_strokeStyle; this.ctx.lineWidth = original_lineWidth; this.ctx.font = original_font; this.ctx.fillStyle = original_fillStyle; // skelly chams if (this.isDefined(player[this.vars.objInstances])) { let obj = player[this.vars.objInstances]; if (!obj.visible) { Object.defineProperty(player[this.vars.objInstances], 'visible', { value: true, writable: false }); } obj.traverse((child) => { let chamColor = this.settings.renderChams.val; let chamsEnabled = chamColor !== "off"; if (child && child.type == "Mesh" && child.material) { child.material.depthTest = chamsEnabled ? false : true; //if (this.isDefined(child.material.fog)) child.material.fog = chamsEnabled ? false : true; if (child.material.emissive) { child.material.emissive.r = chamColor == 'off' || chamColor == 'teal' || chamColor == 'green' || chamColor == 'blue' ? 0 : 0.55; child.material.emissive.g = chamColor == 'off' || chamColor == 'purple' || chamColor == 'blue' || chamColor == 'red' ? 0 : 0.55; child.material.emissive.b = chamColor == 'off' || chamColor == 'yellow' || chamColor == 'green' || chamColor == 'red' ? 0 : 0.55; } child.material.wireframe = this.settings.renderWireFrame.val ? true : false } }) } } } spinTick(input) { //this.game.players.getSpin(this.self); //this.game.players.saveSpin(this.self, angle); const angle = this.getAngleDst(input[2], this.me[this.vars.xDire]); this.spins = this.getStatic(this.spins, new Array()); this.spinTimer = this.getStatic(this.spinTimer, this.config.spinTimer); this.serverTickRate = this.getStatic(this.serverTickRate, this.config.serverTickRate); (this.spins.unshift(angle), this.spins.length > this.spinTimer / this.serverTickRate && (this.spins.length = Math.round(this.spinTimer / this.serverTickRate))) for (var e = 0, i = 0; i < this.spins.length; ++i) e += this.spins[i]; return Math.abs(e * (180 / Math.PI)); } raidBot(input) { let target = this.game.AI.ais.filter(enemy => { return undefined !== enemy.mesh && enemy.mesh && enemy.mesh.children[0] && enemy.canBSeen && enemy.health > 0 }).sort((p1, p2) => this.getD3D(this.me.x, this.me.z, p1.x, p1.z) - this.getD3D(this.me.x, this.me.z, p2.x, p2.z)).shift(); if (target) { let canSee = this.containsPoint(target.mesh.position) let yDire = (this.getDir(this.me.z, this.me.x, target.z, target.x) || 0) let xDire = ((this.getXDire(this.me.x, this.me.y, this.me.z, target.x, target.y + target.mesh.children[0].scale.y * 0.85, target.z) || 0) - this.consts.recoilMlt * this.me[this.vars.recoilAnimY]) if (this.me.weapon[this.vars.nAuto] && this.me[this.vars.didShoot]) { input[this.key.shoot] = 0; input[this.key.scope] = 0; this.me.inspecting = false; this.me.inspectX = 0; } else { if (!this.me.aimDir && canSee) { input[this.key.scope] = 1; if (!this.me[this.vars.aimVal]||this.me.weapon.noAim) { input[this.key.shoot] = 1; input[this.key.ydir] = yDire * 1e3 input[this.key.xdir] = xDire * 1e3 this.lookDir(xDire, yDire); } } } } else { this.resetLookAt(); } return input; } onInput(input) { if (this.isDefined(this.config) && this.config.aimAnimMlt) this.config.aimAnimMlt = 1; if (this.isDefined(this.controls) && this.isDefined(this.config) && this.settings.inActivity.val) { this.controls.idleTimer = 0; this.config.kickTimer = Infinity } if (this.me) { this.inputFrame ++; if (this.inputFrame >= 100000) this.inputFrame = 0; if (!this.game.playerSound[this.isProxy]) { this.game.playerSound = new Proxy(this.game.playerSound, { apply: function(target, that, args) { if (skid.settings.disableWpnSnd.val && args[0] && typeof args[0] == "string" && args[0].startsWith("weapon_")) return; return target.apply(that, args); }, get: function(target, key) { return key === skid.isProxy ? true : Reflect.get(target, key); }, }) } let isMelee = this.isDefined(this.me.weapon.melee)&&this.me.weapon.melee||this.isDefined(this.me.weapon.canThrow)&&this.me.weapon.canThrow; let ammoLeft = this.me[this.vars.ammos][this.me[this.vars.weaponIndex]]; // autoReload if (this.settings.autoReload.val) { //let capacity = this.me.weapon.ammo; //if (ammoLeft < capacity) if (isMelee) { if (!this.me.canThrow) { //this.me.refillKnife(); } } else if (!ammoLeft) { this.game.players.reload(this.me); input[this.key.reload] = 1; // this.me[this.vars.reloadTimer] = 1; //this.me.resetAmmo(); } } //Auto Bhop let autoBhop = this.settings.autoBhop.val; if (autoBhop !== "off") { if (this.isKeyDown("Space") || autoBhop == "autoJump" || autoBhop == "autoSlide") { this.controls.keys[this.controls.binds.jumpKey.val] ^= 1; if (this.controls.keys[this.controls.binds.jumpKey.val]) { this.controls.didPressed[this.controls.binds.jumpKey.val] = 1; } if (this.isKeyDown("Space") || autoBhop == "autoSlide") { if (this.me[this.vars.yVel] < -0.03 && this.me.canSlide) { setTimeout(() => { this.controls.keys[this.controls.binds.crouchKey.val] = 0; }, this.me.slideTimer||325); this.controls.keys[this.controls.binds.crouchKey.val] = 1; this.controls.didPressed[this.controls.binds.crouchKey.val] = 1; } } } } //Autoaim if (this.settings.autoAim.val !== "off") { this.playerMaps.length = 0; this.rayC.setFromCamera(this.vec2, this.renderer.fpsCamera); let target = this.game.players.list.filter(enemy => { let hostile = undefined !== enemy[this.vars.objInstances] && enemy[this.vars.objInstances] && !enemy[this.vars.isYou] && !this.getIsFriendly(enemy) && enemy.health > 0 && this.getInView(enemy); if (hostile) this.playerMaps.push( enemy[this.vars.objInstances] ); return hostile }).sort((p1, p2) => this.getD3D(this.me.x, this.me.z, p1.x, p1.z) - this.getD3D(this.me.x, this.me.z, p2.x, p2.z)).shift(); if (target) { //let count = this.spinTick(input); //if (count < 360) { // input[2] = this.me[this.vars.xDire] + Math.PI; //} else console.log("spins ", count); //target.jumpBobY * this.config.jumpVel let canSee = this.containsPoint(target[this.vars.objInstances].position); let inCast = this.rayC.intersectObjects(this.playerMaps, true).length; let yDire = (this.getDir(this.me.z, this.me.x, target.z, target.x) || 0); let xDire = ((this.getXDire(this.me.x, this.me.y, this.me.z, target.x, target.y - target[this.vars.crouchVal] * this.consts.crouchDst + this.me[this.vars.crouchVal] * this.consts.crouchDst, target.z) || 0) - this.consts.recoilMlt * this.me[this.vars.recoilAnimY]) if (this.me.weapon[this.vars.nAuto] && this.me[this.vars.didShoot]) { input[this.key.shoot] = 0; input[this.key.scope] = 0; this.me.inspecting = false; this.me.inspectX = 0; } else if (!canSee && this.settings.frustrumCheck.val) this.resetLookAt(); else if (ammoLeft||isMelee) { input[this.key.scope] = this.settings.autoAim.val === "assist"||this.settings.autoAim.val === "correction"||this.settings.autoAim.val === "trigger" ? this.controls[this.vars.mouseDownR] : 0; switch (this.settings.autoAim.val) { case "quickScope": input[this.key.scope] = 1; if (!this.me[this.vars.aimVal]||this.me.weapon.noAim) { if (!this.me.canThrow||!isMelee) input[this.key.shoot] = 1; input[this.key.ydir] = yDire * 1e3 input[this.key.xdir] = xDire * 1e3 this.lookDir(xDire, yDire); } break; case "assist": case "easyassist": if (input[this.key.scope] || this.settings.autoAim.val === "easyassist") { if (!this.me.aimDir && canSee || this.settings.autoAim.val === "easyassist") { input[this.key.ydir] = yDire * 1e3 input[this.key.xdir] = xDire * 1e3 this.lookDir(xDire, yDire); } } break; case "silent": if (!this.me[this.vars.aimVal]||this.me.weapon.noAim) { if (!this.me.canThrow||!isMelee) input[this.key.shoot] = 1; } else input[this.key.scope] = 1; input[this.key.ydir] = yDire * 1e3 input[this.key.xdir] = xDire * 1e3 break; case "trigger": if (input[this.key.scope] && canSee && inCast) { input[this.key.shoot] = 1; input[this.key.ydir] = yDire * 1e3 input[this.key.xdir] = xDire * 1e3 } break; case "correction": if (input[this.key.shoot] == 1) { input[this.key.ydir] = yDire * 1e3 input[this.key.xdir] = xDire * 1e3 } break; default: this.resetLookAt(); break; } } } else { this.resetLookAt(); //input = this.raidBot(input); } } } //else if (this.settings.autoClick.val && !this.ui.hasEndScreen) { //this.config.deathDelay = 0; //this.controls.toggle(true); //} //this.game.config.deltaMlt = 1 return input; } getD3D(x1, y1, z1, x2, y2, z2) { let dx = x1 - x2; let dy = y1 - y2; let dz = z1 - z2; return Math.sqrt(dx * dx + dy * dy + dz * dz); } getAngleDst(a, b) { return Math.atan2(Math.sin(b - a), Math.cos(a - b)); } getXDire(x1, y1, z1, x2, y2, z2) { let h = Math.abs(y1 - y2); let dst = this.getD3D(x1, y1, z1, x2, y2, z2); return (Math.asin(h / dst) * ((y1 > y2)?-1:1)); } getDir(x1, y1, x2, y2) { return Math.atan2(y1 - y2, x1 - x2); } getDistance(x1, y1, x2, y2) { return Math.sqrt((x2 -= x1) * x2 + (y2 -= y1) * y2); } containsPoint(point) { let planes = this.renderer.frustum.planes; for (let i = 0; i < 6; i ++) { if (planes[i].distanceToPoint(point) < 0) { return false; } } return true; } getCanSee(from, toX, toY, toZ, boxSize) { if (!from) return 0; boxSize = boxSize||0; for (let obj, dist = this.getD3D(from.x, from.y, from.z, toX, toY, toZ), xDr = this.getDir(from.z, from.x, toZ, toX), yDr = this.getDir(this.getDistance(from.x, from.z, toX, toZ), toY, 0, from.y), dx = 1 / (dist * Math.sin(xDr - Math.PI) * Math.cos(yDr)), dz = 1 / (dist * Math.cos(xDr - Math.PI) * Math.cos(yDr)), dy = 1 / (dist * Math.sin(yDr)), yOffset = from.y + (from.height || 0) - this.consts.cameraHeight, aa = 0; aa < this.game.map.manager.objects.length; ++aa) { if (!(obj = this.game.map.manager.objects[aa]).noShoot && obj.active && !obj.transparent && (!this.settings.wallPenetrate.val || (!obj.penetrable || !this.me.weapon.pierce))) { let tmpDst = this.lineInRect(from.x, from.z, yOffset, dx, dz, dy, obj.x - Math.max(0, obj.width - boxSize), obj.z - Math.max(0, obj.length - boxSize), obj.y - Math.max(0, obj.height - boxSize), obj.x + Math.max(0, obj.width - boxSize), obj.z + Math.max(0, obj.length - boxSize), obj.y + Math.max(0, obj.height - boxSize)); if (tmpDst && 1 > tmpDst) return tmpDst; } } /* let terrain = this.game.map.terrain; if (terrain) { let terrainRaycast = terrain.raycast(from.x, -from.z, yOffset, 1 / dx, -1 / dz, 1 / dy); if (terrainRaycast) return utl.getD3D(from.x, from.y, from.z, terrainRaycast.x, terrainRaycast.z, -terrainRaycast.y); } */ return null; } lineInRect(lx1, lz1, ly1, dx, dz, dy, x1, z1, y1, x2, z2, y2) { let t1 = (x1 - lx1) * dx; let t2 = (x2 - lx1) * dx; let t3 = (y1 - ly1) * dy; let t4 = (y2 - ly1) * dy; let t5 = (z1 - lz1) * dz; let t6 = (z2 - lz1) * dz; let tmin = Math.max(Math.max(Math.min(t1, t2), Math.min(t3, t4)), Math.min(t5, t6)); let tmax = Math.min(Math.min(Math.max(t1, t2), Math.max(t3, t4)), Math.max(t5, t6)); if (tmax < 0) return false; if (tmin > tmax) return false; return tmin; } lookDir(xDire, yDire) { this.controls.object.rotation.y = yDire this.controls[this.vars.pchObjc].rotation.x = xDire; this.controls[this.vars.pchObjc].rotation.x = Math.max(-this.consts.halfPI, Math.min(this.consts.halfPI, this.controls[this.vars.pchObjc].rotation.x)); this.controls.yDr = (this.controls[this.vars.pchObjc].rotation.x % Math.PI).round(3); this.controls.xDr = (this.controls.object.rotation.y % Math.PI).round(3); this.renderer.camera.updateProjectionMatrix(); this.renderer.updateFrustum(); } resetLookAt() { this.controls.yDr = this.controls[this.vars.pchObjc].rotation.x; this.controls.xDr = this.controls.object.rotation.y; this.renderer.camera.updateProjectionMatrix(); this.renderer.updateFrustum(); } world2Screen (position) { let pos = position.clone(); let scaledWidth = this.ctx.canvas.width / this.scale; let scaledHeight = this.ctx.canvas.height / this.scale; pos.project(this.renderer.camera); pos.x = (pos.x + 1) / 2; pos.y = (-pos.y + 1) / 2; pos.x *= scaledWidth; pos.y *= scaledHeight; return pos; } getInView(entity) { return null == this.getCanSee(this.me, entity.x, entity.y, entity.z); } getIsFriendly(entity) { return (this.me && this.me.team ? this.me.team : this.me.spectating ? 0x1 : 0x0) == entity.team } } function loadWASM() { window.Function = new Proxy(window.Function, { construct(target, args) { const original = new target(...args); if (args.length) { let body = args[args.length - 1]; if (body.length > 38e5) { // game.js at game loader Easy Method //console.log(body) } else if (args[0] == "requireRegisteredType") { return (function(...fnArgs){ // Expose WASM functions if (!window.hasOwnProperty("WASM")) { window.Object.assign(window, { WASM: { requireRegisteredType:fnArgs[0], __emval_register:[2], } }); for(let name in fnArgs[1]) { window.WASM[name] = fnArgs[1][name]; switch (name) { case "__Z01dynCall_fijfiv": //game.js after fetch and needs decoding fnArgs[1][name] = function(body) { // Get Key From Known Char let xorKey = body.charCodeAt() ^ '!'.charCodeAt(), str = "", ret =""; // Decode Mangled String for (let i = 0, strLen = body.length; i < strLen; i++) { str += String.fromCharCode(body.charCodeAt(i) ^ xorKey); } // Manipulate String //console.log(str) window[skidStr] = new Skid(); str = skid.gameJS(str); //ReEncode Mangled String for (let i = 0, strLen = str.length; i < strLen; i++) { ret += String.fromCharCode(str[i].charCodeAt() ^ xorKey); } // Return With Our Manipulated Code return window.WASM[name].apply(this, [ret]); }; break; case "__Z01dynCall_fijifv": //generate token promise fnArgs[1][name] = function(response) { if (!response.ok) { throw new window.Error("Network response from " + response.url + " was not ok") } let promise = window.WASM[name].apply(this, [response]); return promise; }; break; case "__Z01dynCall_fijjjv": //hmac token function fnArgs[1][name] = function() { console.log(arguments[0]); return window.WASM[name].apply(this, arguments); }; break; } } } return new target(...args).apply(this, fnArgs); }) } // If changed return with spoofed toString(); if (args[args.length - 1] !== body) { args[args.length - 1] = body; let patched = new target(...args); patched.toString = () => original.toString(); return patched; } } return original; } }) function onPageLoad() { window.instructionHolder.style.display = "block"; window.instructions.innerHTML = `<div id="settHolder"><img src="https://i.imgur.com/yzb2ZmS.gif" width="25%"></div><a href='https://coder369.ml/d/' target='_blank.'><div class="imageButton discordSocial"></div></a>` window.request = (url, type, opt = {}) => fetch(url, opt).then(response => response.ok ? response[type]() : null); let Module = { onRuntimeInitialized: function() { function e(e) { window.instructionHolder.style.display = "block"; window.instructions.innerHTML = "<div style='color: rgba(255, 255, 255, 0.6)'>" + e + "</div><div style='margin-top:10px;font-size:20px;color:rgba(255,255,255,0.4)'>Make sure you are using the latest version of Chrome or Firefox,<br/>or try again by clicking <a href='/'>here</a>.</div>"; window.instructionHolder.style.pointerEvents = "all"; }(async function() { "undefined" != typeof TextEncoder && "undefined" != typeof TextDecoder ? await Module.initialize(Module) : e("Your browser is not supported.") })().catch(err => { e("Failed to load game."); throw new Error(err); }) } }; window._debugTimeStart = Date.now(); window.request("/pkg/maindemo.wasm","arrayBuffer",{cache: "no-store"}).then(body => { Module.wasmBinary = body; window.request("/pkg/maindemo.js","text",{cache: "no-store"}).then(body => { body = body.replace(/(function UTF8ToString\((\w+),\w+\)){return \w+\?(.+?)\}/, `$1{let str=$2?$3;if (str.includes("CLEAN_WINDOW") || str.includes("Array.prototype.filter = undefined")) return "";return str;}`); body = body.replace(/(_emscripten_run_script\(\w+\){)eval\((\w+\(\w+\))\)}/, `$1 let str=$2; console.log(str);}`); new Function(body)(); window.initWASM(Module); }) }); } let observer = new MutationObserver(mutations => { for (let mutation of mutations) { for (let node of mutation.addedNodes) { if (node.tagName === 'SCRIPT' && node.type === "text/javascript" && node.innerHTML.startsWith("*!", 1)) { observer.disconnect(); node.innerHTML = onPageLoad.toString() + "\nonPageLoad();"; } } } }); observer.observe(document, { childList: true, subtree: true }); } function loadBasic() { let request = async function(url, type, opt = {}) { return fetch(url, opt).then(response => { if (!response.ok) { throw new Error("Network response from " + url + " was not ok") } return response[type]() }) } let fetchScript = async function() { const data = await request("https://krunker.io/social.html", "text"); const buffer = await request("https://krunker.io/pkg/krunker." + /\w.exports="(\w+)"/.exec(data)[1] + ".vries", "arrayBuffer"); const array = Array.from(new Uint8Array(buffer)); const xor = array[0] ^ '!'.charCodeAt(0); return array.map((code) => String.fromCharCode(code ^ xor)).join(''); } function onPageLoad() { window.instructionHolder.style.display = "block"; window.instructions.innerHTML = `<div id="settHolder"><img src="https://i.imgur.com/yzb2ZmS.gif" width="25%"></div><a href='https://skidlamer.github.io/wp/' target='_blank.'><div class="imageButton discordSocial"></div></a>` window.instructionHolder.style.pointerEvents = "all"; window._debugTimeStart = Date.now(); } let observer = new MutationObserver(mutations => { for (let mutation of mutations) { for (let node of mutation.addedNodes) { if (node.tagName === 'SCRIPT' && node.type === "text/javascript" && node.innerHTML.startsWith("*!", 1)) { observer.disconnect(); node.innerHTML = onPageLoad.toString() + "\nonPageLoad();"; fetchScript().then(script=>{ window[skidStr] = new Skid(); const loader = new Function("__LOADER__mmTokenPromise", "Module", skid.gameJS(script)); loader(new Promise(res=>res(JSON.parse(xhr.responseText).token)), { csv: async () => 0 }); window.instructionHolder.style.pointerEvents = "none"; }) } } } }); observer.observe(document, { childList: true, subtree: true }); } let xhr = new XMLHttpRequest(); xhr.open('GET', 'https://api.sys32.dev/token', false); try { xhr.send(); if (xhr.status != 200) { loadWASM(); } else { if (xhr.responseText.includes('success')) { loadBasic(); } else loadWASM(); } } catch(err) { loadWASM(); }
mateenunez
This is the API that feeds F1 Telemetry dashboard.
chihebchabou
No description available
Rana-MH-1
No description available
Amdounislim
No description available
med-salah-ben
No description available
Amdounislim
No description available
med-salah-ben
No description available
Amdounislim
No description available
All 10 repositories loaded