From 52b35414b40d9cb4be5428d56ffcf197b8a3b19d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Simon=20J=C3=A9gou?= Date: Wed, 12 Feb 2025 14:36:16 +0100 Subject: [PATCH 01/12] Add epsilon to ExpectedAttentionPress (#47) Signed-off-by: Nathan --- README.md | 3 ++- evaluation/assets/ruler_llama_xkcd.png | Bin 107142 -> 112461 bytes evaluation/evaluate.py | 1 + kvpress/presses/expected_attention_press.py | 5 +++-- notebooks/expected_attention.ipynb | 11 ++++++----- pyproject.toml | 2 +- 6 files changed, 13 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index f45c60d1..dc4a35f1 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,8 @@ [![PyPI version](https://badge.fury.io/py/kvpress.svg)](https://badge.fury.io/py/kvpress) -[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) +[![License](https://img.shields.io/badge/License-Apache%202.0-green.svg)](https://opensource.org/licenses/Apache-2.0) [![Colab example notebook](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/drive/1JNvaTKuuAHrl49dYB9-mdEH_y52Ib-NP?usp=drive_link) [![Hugging Face Space](https://img.shields.io/badge/🤗%20Hugging%20Face-Space-blue)](https://huggingface.co/spaces/nvidia/kvpress) +[![Blog post](https://img.shields.io/badge/🤗%20Hugging%20Face-Blog-blue)](https://huggingface.co/blog/nvidia/kvpress) ![kvpress](kvpress.jpg) diff --git a/evaluation/assets/ruler_llama_xkcd.png b/evaluation/assets/ruler_llama_xkcd.png index 900cb3fb3c5c8917003fad2364c9385a30bf6547..373ab8585ffd44bb8b2229bb184c0a3d4a9fabca 100644 GIT binary patch literal 112461 zcmdSA9Hf*>tDlprZ3-7VeSp>!)CNFzu{cf&|amoRj9Bi(1ub>G)H zf57wVdBF#9X7=pg-fOLIti2;XC`x0YlcFOaAYjSLNT?tnJT*f=ctVSc4E{$(&xi~B z5^$B&a#eLOcl9uKHbYP_c6GFMaJ98Ep>{WOcCm7>=VB9J<6xn-bai!ffv~gN{ogmR zIXGLeb0f*rfkDt5Wwc!o5U`EmKZu2*1y%@%2nezgVrri0`xzddYU($=q8>Wt<32L< zG(TV;f~G%6RMJ#jEV{YD7N@G3_KJ!h^k7Z9MK-z^k*h^oIA0cj6488m`SR!G$2a$x zOH>JseH>Qe)H1_cUjJUY90^=z3Z|r`ANehv`Vr6szoq>u^YTT61pHU)=dyYf>i_q* z9|=?ce_wkM@ssFlj{N_7w>R$pw-@^y2n!};B_*E;tJ{xR*Q#h}Owsj1UNkJ&Q~Dl@ zwcYF%FH*iQ&n|kcSWpcccBr4LoI7ZBf1p!va^id*mRlb-W)~S5>DZ{(DvSxHzeA{! zDEl&g>E-Fx$SWF}Pr<=R!@`&Ilqu<=*Xs!{85pX3E)OY*S5_>BQh9_uQ&85EtcB+)HF0M{(P^q zo#}`s;X=j0pnLf;7=x_=A#G^Ney*oS3e1`L;d&(CUl*Rz@x`1&LRQui-I^mLr&D3_;4$9 zIq%YPF>53Lo#V&Ah0n!4A~iSnnIm>7%=7*n)_8w0Cumpgd9tc_8F0OkJeV$!Fu>Lv zeYxm!^rh!?BiYb-C4}fk^3UdQhMc(g6ZV$lCy_Y_i%UcAu!Xyb41LG!xeq*`w-oHq zyEi8%Cn&;6I}-)ft~)BEq@>SpEsXl&>Hq%yi$g-U(=o&&|j8Xx_sNg6co} zlNO`%TG*9O}#e0X=+s%wbMjY{rl(a zelRO3BZFF5St;yB0*%a*ORjQSlj3z)oM%;@nxDrEoUs*|f49eDKAbKqD;vRpnvIC1lWqPsgU{7D)c8}-0fww#U2 z$)~&tiDGL)4Xhr9$lVHMc&m=*61l$VOMkD>^l6GOC7#*q*t;3++UocF=H{ zf`4x~8^1|;eyt@e>+KDJKh}NSf@3FEgC1M76rEwfJx?!HfNw!B2Wbp~nwlE z@w?Qtw7$W?k0-0$5)u+$5)wM+9H2w-^m14G)g#=>gt)kfzb&%-dUgu34n5Kdm^B>l zPI{}o&#lRyqlk%#LA_ZhzIa5u4s0kb#|9k9QWEBUwrxKHxmw9|fSHp^d3vk&%(j2@iLK zU^M>gXYT9kGagPC7);|U*EjuwMaGNpB|Uv`cd~eLpOmmDse@|0fdUk!Ms5U#G);=I;k_z*ln zs5j$(9DUtCYXED>4<#Ldj;2a?$>+CM+b5MkM|)EgQaN=!b&y+>)pd8 z6x(vk6*5z2mo{YqM!5Soz&?KVj`l100xBqN0_XxqEvHD-iXzt^5wHAOPkP97n%Uc~ z#1TwZyCVGW?Re7~_NxY-+&ozYA0z_Xg-X+PP`|_$pO6re!-#m`3dtxeEJP)qJ6ve) zR@c<0&sWTNE%JDGO4+;_f%gjiZ40Oi3)TU>6dtH=h3?NL5O0Mj<2(;)VO@WJsdn?g z^ysXut!IU$w6#;hV`9#m55dOkgD-h}xD>_3#a*dC0@c&@lK*sb2#?Er5C?j@aMZQf z>eKAe4vhzKk4s6(hQR5(E~BiiJyYtR<@+xJLBiU4mnI`%ttUpj9ES0hJmBuc1blvV zQqz!tAwd>l6;x2ztjO{2r%!OeO2yTcHa2R{Jr4)jviGGYcVY*L+WlzppxzHG7%d&$ zJHZjNWPJuT^>drkfXB-K#H{Op`#nQ{yNmr9x~l4GNi8j{=F2exO}!PEKY)PML{-JH zo{d{lh-={$^zl}7Y<|9^mX(PK_v_cMtDqj93x-bY;P340(6X^9a`W(9ANYXWe@1=g z-P&+_*eq#cl7r9%(kK{5+;*W!J(`r~eQ;=Ko!}yTe^D-_98OzKfe}uYh=K~X_o&1JVg=1nN;&F=Rh3a^mcWHZ)N%@+Ag)}gOJmd zke0@H%c9rt0d?&4gRdbI6O+kwg|SIjIIhXR^}d|8w#6e~5NEJpL~2arpy@V0pEx}i z4UHs(uDk2g=E;ZED0ad?&!g7MySipQHm5%N!^2Y&4oc2TewWu7(#rTwyT1w| zHwKbDW{;qc_vHv(p!hxa!gOdk31t|Z^;h`LA;!(kZFykedm@P#Zd2AM1z)In*9isx z)yrYQBTSt4P{QgN7KBQ(0YaK!9Dp{T8$dY##Xj7c$W9yUyNXS`!d+5D; zrPrx>rTs!v;L=Q)esl1c<=@#B#zIPwSM7$~EL7nip|mYaOD`T!zW&$%DY|Dt$=KLd_3m!)YS<#Ha2Ma_%v;2sw7MFn>BnN?=M%^;zS7@+OG3G z&nGpz0hlo^`rq2ExI#j3#M5fZ^_%N-kH&r#WWGi?0hoSc7qI;!j9U!iaj3^>+=29i zF|y%&O1C?V%D=Go_Tl!Z7Hz-EY(PR?{Tm@obaeDzhJ&Ia^tj&Kh`>_adh1?KFzs5j zW9IS}S~xxUJG$$a{P#Rq)YZH5k_||y`~7crUP0a4Mtb&Vs=LE+>1x~o?E9PKvZ|}A)3UQG z!K181w_XvRHNOA)UagkaFOG|_gJJ~@nY1PlN5#d%Tf6j1;k8S3&vY3P)||HGRp0>V zy)*0eaMde{{&pVBefAatvKE(!=+&^$seEO?qkpNLi%T^eOP*2tUp6nfT~THMdhi5i zE8Qiwu&C&tPZspS&$>;t#zGn-q1G|`ajH}E7|*MJweHR_VBAT<(NbujyOO0 z^RaS6QN(Zn)u`&~l6H2b(~T|#R{+0j3XVsFPNUs1izkaDpFpCHuaJ5NQ@BEkip15` zod6lL!86X{2c`T4sJb?MAw{j_@MxzAPD1uDg6K$pw6L&&?U>$P9KcI*P}U&hh{O+&vtv}a4_H8Iih8IZ}N`{M`AtU}P{APxx*4hKxn`e1V?tsrI(Jlzy6zjv#Fp2vb)PEC!P&7N~39G#l)y;Arb zGI7K$p{h$>ejSVe3h?Z~x;|;a)nBUHD{EFnpoKsn)WQTf7MWi8OFW_vS8GpDWq8h% zH8l&)??K_4vs-g+tQq+{u<-&pNDKkQ5PNp%k#E4=8Wl*W{preg&7yMe-_HvB>mD|4 zQ6h#z?++aG>)?bZ_nFlh%~zS&_r6l-JUl!Zb;YHn&!}l=5RYg3lfQlYF|h-OW>hRJ z`q!@`f4mEG2H9Qdwx@dUc6|c_rib&5NGK?$faK>eqDSU9 zg2HWW=bKNbpr8Q4nrE4qAtB=XcVZA=e*mXj|MOKojW?#Gghh`n**qPGl5(;1^3PUV zA#AVK4uk?GWn9=2hT9`p@U0o7*<2xVG+w;9%fS5lr2DUynf)BX|B-7B)boKToBqjAMw+HnN4{v_P zVB7vT>jt5CmEjtH@!&AuP^tfv=&g^T-*7zmh#f3~lb?Uufdx>d6#zz47wlRUfseP) z$EV9ly7tDCMe4TG6`xi*!%S;+8o^rCxLohXflPJ+Y_7tz_c>eBHmwjPHavStc&zc~ z>K#yiuQ(o`j)sTmC6L?%1@Co ze;>Hpm{Wj-Kv7m!1|sEyp`ntkEeoh^RDei725L-@QP~~EU0B}w9Q+aZYs6uh6#~S^ zygi?HYi3PNO<-MHsJzH6wF|y^oRHk&|4G&GnyzG-m(uhi%A0ul6e}(*rv%>@ z8=UA6z@+x)>XoXo>a|#Y{`|=S#NT1l9vieTW2C!6*v5`3%kP3j9F?u*SRC30LN?H& zZV)#!4&}XOEj2)ssj)BIVec*zU6H(qf7IG{~UJ7klVadZ>7hP zfkwH(&`B@VNQH4HBQtYuMa7qj3Jy>#KHxu7SLaL{O8oY1Y;-hRnEZHwisGA`B{RC; zrLF}~XivX<{W^9iyoKl9ws(m(HK8b2I$-Ky(E_XvXKq@_6hNzApAev3%yfAGgr*sV z2wZAAir(&5r+aOt0Ktw+NEq7pao2JDAg!gAKneu_Bw=7+&M*cM8xl1$Ge%T*j@`)M z;J)iT$~bSwsQ!=DDDUeVLLwqnO-*Te`RJvtmS4YQi|5v(s@~d2{5beIYf||^S9gFu zS?`6Th+#xvcsOb>jt+Olfe&r)GSF?9{K<+1bb^A-y0DGh%F3^E_RTRsT-%&OpLY@E zph%xsjZGSB2Sjo12UB(r(Eki+VRYw(Dmcg`hjaA|q9ei06(yQlsEyHSjIS?f#re z!fEa*bK4$s;XJO0@rqpO>G@o%4=(U{ph@$MW~!AqZx zPCr@Yv@QK&&jHjw%NZ2oe^a^+R(AXDg30>sB+tWwK*7<*^Ia}2KrVfjg5BleyWL=5 zl^$0U#L%o zO?EBvtz0P37AR(*{|2Q7u8?uXm))D0SXe#+b0sz0Cd#0E3m8mD%YalMw1}^@UM|wH zvtz%N+W^5kQdnBLQ9UBE7L2DjDq(7DY#jEvtQoe~jGR>n{4?K&>n%OkG0BhS<}dK^ zB|zQ-#r1TQ;XaY{MWOQj0w=uwTf3GSnjYWzooJ_qOUA8wIja8;go&r<>A>W+~fHa75Y}q04H-D-{ESVK}=S$#$??UwXLU6S-c;11R)(GHn{?G%T?7<;$1ff4Uk$j*P=7FpDm`sAx6Srfh6} z**7+{tsE5NvV}GH_N2Dn)L2c_tlglmCnY9cP3ryg%kbX)wHnPej1x%AWgcyQ?Z*LM zk|#KwVc0}KvZtGi1uVk~vix5MTh{6WM2M<2o%cCvMLZZXuf7^Ee8|zyDz`iVB=|J~ zT>rTW)aB&RA}&JAL>7HdhXP%gB55hTw`oederG+L6$JT<2II^&_+^Cvmrfk+lET&S zBssox3~AmZ^fe>nXe6y6Fh#|~H88H~jwZ_UN=oEi@`V7c>IMV6ast~KxfUy^NM<-E zKK4B99dk~4d_3)cRKUl+7bk!cN8BDk4H4iwz#Qht0XIO1Ms-GgHV0GuVF#U;KB=6h zp>+q5%w?!o3&13c0G3dVPg#N@L>7ToKtLOC9)(+5`}qcC;6Z>&K>d4ZvWDvc4CCP$ zcd-XkDsE*6hAlWP|NcbLq@3y8&*aauq^3>)$|i20jFJ*jLArC~MYEt@$PhiS=RW+$ z*CzjF3kF0m0h}tMt{Lc~kai;+X3es{b&U)5CxDPe(!2{r1@7k$NP|WeydgEY`+aMArIyRgmgncf;AMS6XYHGL@fcvCd zXFC>of76DHNlb0uw8OyZuqagNck8aKrB$f#w%&For}lKxw0g#NwQkNH5BL$ZZ{DcD z_k0%Vva**FFAy$505gRfy+D3s1^6eMGJ}0V`hp$TO9xl3aD{+NO8Qz+=tQElXS(^Q zjTyKD4F`2|&u{K=I&8B1fpGNTr%{rZ#~1WC{5xCE>g@-(Ejmr`)nW5d7gIqx?ZbI_ z0L8f0EPB^dC>u~Vfe>%F4?_%bwG8t+gg!pJBaJJ6m}RY>rv*Uv$sy}oOI$&w_xrat zGpIBz=e=+npVRB#M<)=~Q2_rHss|n707~DU3ixw3@v$}8wAI15{vZq+&Gb0V?lNGU!|o$kK{`a>#C@T z8yHXmJ_Wq|d^r>$D&Wrnm&eLV4`l#2S8&Yy@#6=aIAfCYS9I2iqr$11vy031aVK_d zV&gC)3(HGZRxC;7in#+IZGr)VO-N0hHCqC@>N!b4mUxrHNtty*gW;Nf$Qh&~E|99^WzZ~*gB13U_tC!$2-^YeP}7KZsyY95KJ zE6S303vdk;7nHD(>*t1&Sakumn1SpF^L2nLRN#SB(RDSs?M+viVSs(NPJXP=DAnm6 z&JYC3TBn&u58gT&7sz?)t(lFZvf?xk_kF6 zB$y-^*}wUZj5ap#`R}cN37w6;1MJ(tYl9#%DhfDmD?k)=T5>y|4)NKznIeE9DY|mv z3HLV`Sy|1%QnvsD1Z;(U!%C=oX$z<+@FBq(Igl~+dlM)0{hX9zVrSn1&Im0lYYe=< zkfA6IIv;%Vj!)r@01$gR3O`p@P1gWW)kV<`1-q%cQ#I*!1)tc%4a0 zX86Bze*RP?@th+v$5K)Xc+rduz0xpLc??0IZDuF z$?ylYOile;2-kn-7@vy?noi4FodC*n1}#Q8&H57q-E*a4o-6~1zMiz3%VjQJ0*;mV zyLVRh_J_MK{@W0gMg$Jsctc?vwWK!onkxkO`iR-t*$9D&iC}~_(lK)`+;>&QJ$aK+=3uSN50|6L}m>g99 zo$47IP~5dPuqV!KQ^{YtbA7&mr2{r9F;K2)d=5P;j$giglLQ@1VBRqRLxl(MZn(MH za=n=byx92jJ(%g66ia)11}?4ypgtG@K^RxVmz~0~R>c zWp#F-RSLLuB2X!&+@!KfN?QP~Oo0vP{~6N=3<r&&)R`k#G@&m|Ku+)Mi-1Jv37T~S(i-|)W~CCmOF>GuDd7frSg5M^Q& z-tT%;f4mgjFVc!p9OD!^d8ydnl-^MB&??L=%lB(WwX>(5SEaf+G&`I+)Q}?`aRNDe zJ8_XR^?#$6GXx-Pt1xQc*LLgL7o?=Nh`Y+c03JK9LvpK z3tclbm+#*R+h~c;G@Zd4&^jBX#n1Ts;Tfd$`DAJQ8-WnHwl*ZW#Ju`2#{VP-XW!S< za@kn6k2g6#rI|`*`r!jobBiHoqhnL9Y@QR;f0$JJ8%3As+P!(nTfN;bN&VIn3H8Im zYlK_ap~c~~i;q|E3t8qO>AYVhXg;m2^$bz*cAMD)V_Ir^3e2{ff3tc5<6T^IotBovGtNA;Yye+E~UT}aGgHoFz&M$9umlI$!XL((abZe)YscFe*yL-M+y9L?$b zN&6SocrzDEcD^oqd=&MQOu@nwp&xVz44@15jQ3SF`ZTZ$W?xHw$=*j*QW^%zzaW435%k8zuHwAQ+F#Cdv<65Z&G32+PE5Bv3TkhtFe^z>Nw z{LePXL)NJH7X=NH!#4ZPtxs*3mh=?IB5C`1zm2I);X6`PW*#bZ%(L-iJA5ad60-?N zB^Bn5oN6=9pSC}LYH3+9wrzQ^=j`q=UWgRUr$aPRnhE4E#Y5XUgD`@9So0q4HvYVO zy&*Ifrzrc!k9KxtNRvov{&+syNJ639PtKu$7D>6t!Ugp?v!w^vWdUbnZFy1A-ElHi z(>@B$y%Bdz&s3ZGGxZj?9bNqkj2)uS=M0Z1D8+|5-SbDA$Pzf%_^wW>YnJkt&?%+i z2c*d#b!4AxZ=1X%xMIqt+6W6mx-Z!ewT|m>Yp~p~_=RGpE`RCe%}njX7L7QN(hb?q z5VP_gIPYZ@-ya^ghy;BH%?7xqSDMvsWCZ&C3s*yLwNoyCbo5(jsMP(y{Bg6yC-UiH z63dWtdtXeVN5UBpK~J83`jWQ zRs$t1txF^s50Z3_l=IuRT@Iam)iX?4{^x-${cd+QGcnOJkd*yIl4yC6XBf-Bn7j22 zBYW{9nP~7N9e!{8TdrsxlScmfM&Mfwla>6{JrY7N4&0kADtcX1T>Pu7jKO9KCp0rP zVqg}6cADl|d$*0w^#Qb-twkR$$X)Gg7cT7Twebi#c6FAZUn)K*`tPqRj%=Aac;Xsg zOtt-pa7sTOMWe`+n=|LEpkKFun&zeR1|~Z7>BnlyVlfOZq#7_GMK_r8qgF`x#0b(( z&~b*OI`RtapibtEJIIS7$Qv_+rt=|9mexIPC_7!c0Et-hpd6w6Hy?BggQbzq@QU6# zVBYyg+DF<2^)16-t2IV>_cD8*z6T8jr|90M?#eIh7I1Ap=_#&R|8i4SOqWBN^W-L} zjQQZ~a+z*z5wm0V=RGnHa^>bV&jP8--wEaKXQeRB`kdHC2e(#p4iUl3ih;Y{=Bu7= zHQU1N235Htryg~ZU@WTxn-5rbbmvqVQtWQX6q_Qwnb~1(liGt=uWjrE?!UBTNxJU>EfEgyuZ6 zWz-22voNuQ;t{7og2ws^a9`j@RKKCRU34p)vc^Snk>{eiV21tt&Y-2tcNK6fsG*BEWKFiqE zh!_liDI}n`w^ak_Bl}Lo_%OSZ|Bv~98KGFT`!VN=BY0pNkCdB1XsMnzd zgPAC2%8goUE?v~=Ev@FFSDxV#RQRl3afyx!&zXV4b?U=`+e(%A!|8TF)8yr*u6+;j zd{dp%*t@9dfkj1cPc-!BtDAxj7jqXqVGgc~vYyZUfH9rC;FVH0qhYhQD@Z!cx_t~17>}m!|18kIe{X#X5qguJ zh{y!mj{5Q}I+|OvuQuk;o!fm6on~NB!A-h3dUkUe#Lt&wg z{Y!`lP0fOP(d**|^?6G5TmNM*yqgeZ<+1gJBaIW!*%}XwBb)m7GT{;H_>X$0IUNvx z1KoWOU+9rNL7X%P)2nYKpGujMDC7DKDIY+u^vjfJyspC~dfl%$g*-=Dnho9l`yAZ1 z@a}7u5!g5(tmO5_c1>vZHvSo;{Azs1ZSe^5O!Z5q=%Ul-B~Q&V#-A10$gRV3idI&| zFec(?$mh?PNGVtn5?bGdx}jzIUbz%OVqxt+JBdxYEdLsFY>$z-5@SNnShqxQRKuBm zW9B#iR8*vQbKVs@&$w8x3ED+DHaZPjL_wvHqyg>D`yrp)k2}hm~U_Xx^}2`3K9$y>C&_81a23+MwNTMr^fPBr@v&(WPda~ zpH-xCr>=R9b>%}_UV29s`qMh9Kkzu;diQwN|CoM9C8QXq*&>-bN8k!-3K|_AYV3ix ze)fNOah0Mr)vC-?D`UybY`$krM@3h{cgXSk7j(#VKmYy;qzHu+u_3vN zc&~>v3JiD6e1Mv0R!djJrup$;=W$SyT~ac}ylQK|?@m;gbmVTAmbULCo6cwP({Ksp z=pH$_c&%1jgss(tCAT`E26l^X7$oG{wJ`|10Zlg9@*g!NL@Iw}@H22HHN;cJMgo;R zI4uT)@F(qUv>h&3H)4Eh{GUyxF%~X%wG1i6zYvJ7{AKY)*crL6*D#`YD$wnekGnKW zdSb+Iv|$&z=<=QA`$R7Yd>T%!uxQx?PI)TSw`P)fAtAN1}Ru(TZNcbokWtJDSKTSy7F8t+TM|s|P z4j*cF1U==NR3A!pJeAyPF&SQtnbnR4kco@O{J7(u{P60+;v&F;>v8wG;lTcAwlj%# zs}C=s@hX7GgXBOB|Cwn8u4x4)bzT+MnUpX#w@6^`M!WLSw%TYn=9!1oIlr)04(s&Z zeg^3`;z49lG2~ILS($gr?~*qlZ`gA`imkE%owTXhtni9bx?&c!9Y@XqQT8(Ab_MWrQTw_7Ps zO5~pV2fg|r_IeR%=&^j2ss)GpD5lCQ{cy+G3j6!m{H!hGg)@S>g@K9#gV2!=3pi=9 z^vozOn;)eP;kBJ<4iRzwq zrBCd%8yyqHgYB@g#$nw2&Ak1(zq#%)%jp6qKXaB;*~;4W`0pBMT)bBpr1;`(RYy#c zks%?I_9t&(r~N<~4gC%I#7-j}8@brjj<)T!5eC8BYYt>G66Zyn@mM86+MNRL+|1?a zWy4x?+fnVHhWZul;;LF}8Tqm_N=?vN84C zM)-z*Z?gJMLR-NAiyhl51-K)kC*~1VIQS&%ua2ekA(7d~Q(-jrVROw>YWYUMl$Ndk zvJ>SOz9i1CSNOz34C|)hLn02v#r>(%WLYPU2)WC+z_z@y8aJWklhSN+m*(CGECo8j z4a}bWVQOJ>%*fslx7)Zy)Y;JM!l~3ik;t)V0aKw(#Dtc;i7E!uaCxK_<(!VsI$$4W zG_~Zkt>~-=66}MNrF}I`h8CjVW^c1HzQ4_&=JfZy;~RJNoQ`sXaxvDAl{itJ;RA8SKt2JGUxk7Y=$~u%!(sb=BSrK)6yrSpX;W zadVx|ip8o+!=`g)+G%zp9eeAl@z&kOL-FGl+cjt)Sp{lzrN{H4#`pFcpfgsFU%jX z7{|Gy#**tFR_%>-o@W2fZ3-uqJ7EHOa3$K9Pt|l`Bs9liMyn-I_}gA>$6s}Y+pCpi z*fscxs5zq(oMaxYD)WyCE;j5`Zioo|b~M&-fhTmn_?LU7%5<)keC}{#))SNSp6B$7 zv9>_;5M_`F$BJVE)1s!du`$Ihx-}C^N!~|jfR6I5Nen^|E{)oU3`Xw&KIy)(Ph*9> zmVfaG7v1KbHr_rYfCjpwr_KbM9h>b%9j+js)&2bfraFzxHqlho;&4cH^`Ae8R`wT! z$>KCEqH_oKyR*OQDX6HxNyE*6witau-Mxz)*T^i~NTqo!s+l+^Je9i}`#GJd_|zTf zR2kjY#5*zdXD*_%^6y$RjOkv4hgU4S`!LQd{hk`i)AQUR9_PyOxoeTekcz_1?UvCp zxg2LJ*LN$usNU76gw?Ze$G>8@Jy&%_mt9NHnVXyuY$Y|PW; zhwq_I4aFE%C2T*P4qh!fk$gsdPZdVb9CkHGKHjrol)jlUt)Y1>J@H-=?gf5bXT=JD_pnoxAWKIMDZ8Hp9;E8TNv?-O|Iw|DWK}u38ye4O7 zZGZSxh5OYU`FW(BY4$2Xz~R$K&H7|}ujN@mbpowY#S)Fj?f3hLym$8X{ml-g4wpL7 zQW;q?X#ze-zpTE_KJ30`hVGYG%JvBv9b|M*+mmjls^4CDWx!AwJv_cGiAa8`e{78n zdk`vJ;ED00$Pklul&>&kZHtv5P3}71D}xze&^Yo!o=%O-?Cm4kEO#Vy$_lehDqUUo zlh$;T6I^lh8`z+Wx^s(ljZmmfY5@UO+R zF0`{+E(WKufDdt|HM4?4i4+lm{PaxR3*Iv^+uOz7)Y~Um zY4*Lu!e}o2w)rndHh+Ffo>(t5b2+)RWqC--FdJ|xUX(S<&5bnkc^Ie?ex#qqZ{J>@ z_@kK7UXgwp@!eUV*CH0)xze7&WgLyh;D>%xq1spj;ikdl?!od zO6T{KneAw?20cnUyV*9v%BjEWT?Z-wAzECx1f>(!Z!bgsvdB_{P_0f12#tk zBU_QhL(2ih#butcl$3VE>0$zoc!jNO@3XQH1l{VWp|tnJq9@C{1G2N=u<+-OAXId0 zT3Xhei8?%g(NAd5tmXP4J8aix+vev((*5iB;;ZlOW(7!}$QhG2_zxRcIQY?wBANPp zG)%yH=CrcUkN|64@(hIMONRTlz2UMDPOQ6g#NK*>8s{^HPVA4f|OSM zsgyqIs&SjFF8LvN0Pjj^))v+5<2cjDg3R{tpTCeuT9m$q?6zw+Va&0M8V~4(_>EZW z5%@g0sh8yZ4o?{YmlsKc~G9! z_ygQL!=;!=Mg9dTQeMEKR>ObC2vNn1JRHqzL|rMR-%8U%o%H+Dn|S9Ail3`@#f;u} zdGF7265D_g7bg)}yY0><30mIHt~k0}-oLsf&@rqo`Z6LiGrMu^cbLSR7A5+))2ukR z>x#biD*s2|J91JirA1#Hd`3l>F=5WLAk>-xyQ58 zPkWKy#W?4i_B5b&C{ryHByOc+jl7@jmuH@mxa|PX{W|It4c&o90Sz5n+=E!fpB~B@ z3jk&vMkfgbomNwyzF@zVuMoPWlw}J{I78NOU*8Z0J@QKv&v_wAa*X`@nehxtN$f z%axNyEgY_XMQI{5!(+&Mv-Mfoc21{Bc30!N_@w+H z246=~hfK_4JWGkzSgrWhR#h7>k4*0AY+ucQX^^Q^8^eyse{@=R+I(fxm!7Sp9AZ}_ zL(b=?RzWzKkkr$quGGsHMWwX}wIVO^fm3zLNB3K=gzU+?=PHi0K}eI@dKEi;+j584cN@_% zvNqEnjM=<230IU<#-F$U)`Khv=lct)ox>Cx3(m(AJ@Z(V48gw_DzH|ZJYl6NIb*u< zJQgy|3q#}GK3cU^I5r7*8H&d1g%bIS1GG%n)a2}-3A0W$!je}~^JBuNL-VcgSced} z`jDX1_xGZ4fily_n@Lu7<>yby_;^yW_tr?}rpWJgmHQ^W`A%mEuY;isGmNpC;d_{65zLX(tbJ8O?da6pD?Y$XxsU(h!!V zMFsKQ)JOCqnl{ddaShmp$7w!mWZZ-!L*#|Ryvk0dVR@~%A`LPb&f8^v(S1j2c2 zyAYi}PH~KjQ6#ML7Z-7YGXyuuGga@okU0IIr4(#4E2W?keJ+#7F2~9S_hNWYeTObV zXE%StsIQ-<@R8q@q1ru0qc|ZllHp_{rI*~{|& zRY!bw=ihsD-?bdd$9DzlMEI90oI^I~oWtCfrtfglWgSw@B#Em(t=(v25dTR#-u&OD(8xFx z@$$J7imek;E%f*ai;oe_AB6cY9WKk{26SWWMo9I{njui?R$P}y+rgBCn!nQTq63We z;-vHHdZe73C^qsG5|eo-YqXkoo6sbrbiRu^kTGlG)6Qz|T>G>c$oXlg|#xOIT(*l~7miwc3jm@#NTMd^Y!o}25Fz)naRK;p$LupuS1 zXIfe10B|F#*p6F;d&Om-<@4*-)d`y(0X;XHIug}*6KEvCdLo(GOgpK0{w@!Ds09It zR(_5FpHUVR9B0wm`?iD8-Ek)dWpo|Toqv7J1GlyOS<6`O)6JGapMZq3ne9W zJ(pKh?{9{(>SI3N>8PmC$tXmSzkB_*5qD!(HvHiez zZ(Tgpe|mYzHuc->H@%_Zs%Do^fU?L@=8b*W0hW0X!?yj^H8S)C27p1PIkhQcTxZq7 zor=LRwYdJf;;rh9R@QAyh+2JQjwTMJ7~nK)`i@MS;hn06HRXe_mk(!F%I4KG;9fe# z;vhJ=_Ys`4(DUBOy94*mMLKf#yl!R{%BFZH&StGsMdy*&utQ6TKeLmCnQc0b3i8PL zd8{cy{Ub$?;$O@j#hFMHv zeR%D^e^MQtL-U>kANvPLuc6RK2|Zubgo2-3o-*V=j9D)pLflGpRlCac3DRAi87$Iy zf;7?RhYH zJTE}bja^?yWj)}eXZ_sJFdBGc4USzso6OB=Qiq}@^==rS3Z~5|)eBLd|0~MV{0eE@ z<8egE;o9~5bMj^BvEo^P-tSo=nESN!81r|!Axwx3&Q_~S=2F|_qh8G1;o*nT6uKb_ zsg@+6y5KCzTeR5}dS>sC_O0ie9bQE4UJ5Ah4AaVGTh6qV>s+=J^W{@IIY zxzVqsNbwJ=De%oD=L~)QQNW+q_|Mx!`R8xq{FJyngtCo|^K}{P= z?YG55Mrl(D6Z$w}z3)|Aaikw*ZL?hyCn6+kzV%M&o5FD~C0xKuGwp(jkv>&uW8aPiR zsaWhT=%FNP>c<@}1B|RY^B<9x&q#s<+`MgmE^GBSeUX9WwvKp%gB&5E1nx}Rz<;aX zSlaYx8DW1+XFWnG`y}|q7)sUy+8CE}7jZQKqaXfWKgz3qk04#7SUM|f@{UWC!@O>c#2qrDjo->QC*6o(uF#>9 zTuHN7C1-Cxop{DfhA{(b6@cD&!-Y0PF?ktuQ&o#E8IYjp@3!+r{bfzg-nQ`bzb ztzY7PrLeF8hv$xN8g~~a56~OyekH#fChOQ4$vA{v_Eo%c;;n@um$6naW^HJ`vtNqz zYw^3A%kWTHF3}t|xl>rf-fe>9mXE-0Ui)bzB7#HWeDDkF@T+Fv2K@63#a?jyq90tw zjLcz#Uuf3zTvBAG75_;R$53v9x{uJv)S-!fY8IS+{9p3?omD&EulMo7?yuX6BKSLxZ zM1}I_U~83A#v_J%JUD%)v;T_g-ugV&ZFjEeM(QeEkVasB4`lmu>xDzfmsf5eK5;Yh zwg9Ep%r7P99Tlb0?$apFbFy`P1br=OFE6@p1RAfI(+W!}RP@cd*LEJV2qZrh78H?+O6mKt`=>+3{Ms9co>+jeg%3c`WKuAF+28%ju?$oF`QpD zZ1|Qsj2B3f{02AHd%$gk->OQ&-HA-9-yv?V!Lcr1a5fu$9llk#g;H{Hy%aPzSO)V> zsN_!Y|60$v_2Ehgy}_DD#QeSRBTpm}S8n%NFlGyu>EDLuBNIl&A15A;W&myfKU95X zP}N)eHU=d~cS?hRbeA+p3rOciy1P+8x{c2B_Z9N|FzFK&pY#eIOCjg z{IJ(=#eHA*6?z+tDw5fsr8JdM^Hde71U@2&V?~J(@4-2F~~ zSrP`dPU1;TY#_Q_;sQla;e0u2emGf=!+BBKU2}r~!<$b6PJ!!~ zrn#9P@BySnMV|o4G+--NyB`}X@~#F}2t4-2@OZrHEH}ROW>jD)e_LK_x$sp61=CL` zBRif$<*Zqe`8<-X51aicIyv6dwOM#@rwDTTKo09_09s;S`k4W@qt{-FMu|$m1)=LE zBV@qP)XN3=`lWgx;c$e~mQu*^jELkV=L}@IWm<>FX4KM-b9nx>)Hx=y$piHHssr>g zN=@)3ZU!04^?@BSp@Vjz&3xCYeFIV*?Q5Oyw}EM0s|Po5Hb^f~#>c_tnl(1||Aw6j zni(WfpSH!clUdsH>ZZAGb%gv(nWdFkTQi4W@js0JGPGN}A`o>9V{&DVB~jco5Xu@p zw2`Wfzs}jh#gd}6?+PMD8xj|VktNUgRO-#gD1l*1_{4U%2|LiONx8Ui*|nYH!2#Cu z$`^e7SKQoq@dFa?-(w+kRU1jXvO9^wAX#QCC*9}r)UHw=Tg*)J=Um38a9LrR`1y8 z`FrW|<8iPY>}N_#8V6mi6r)RqME{)ItuZZ1c0B9iKP=FhVr5kYl~-@xOzvK7VOtJh5`3(-3eA_Unwj&s?QSTZ{ji$Eo4bYU5AkpE zoSW)K-FbK)U=WaAd9HAiPJg?w{Ll-OI-ygR`^{`eK+tpCPZdqFsX|J)uCT;qnGsnq zqcL&UA!V*wDhI~CRfvim-aBsrjnbaSt?T_GIzcA_nR^&qx-Id-yCm48N9W=(WN{Ja zS8oxzv1a?f@WVhMmUWn+k`K-9Aj)wOnN;65Rzd#l82DhQH4pqH`hIKd$lJ5IOKgGL zYH@xIw_|s;lG3zdOQ`MeWm~CQ)iW?%sg;-%)0UTRHKlSmrg%>Jtw)Z=C#_cs@vyBe z^SpB;w?f~n@|sg09tdUGj$aG+*ZtsP;*MCgOTt_8j24-y+w@U|wO1x&o9hrho$7 zCbUi_y0pI7r#k+2LXNR&czN?O@MjF6_*NSowzGH8%s1tbfci;0^rXHHmXAZQ8)*2} z@5fFVih14)Az_?733yFe`91iJHVMLrthBV_>FMZxLqq| z*{#(ZY!kr{+)FU)07#$rrbU}tiIn_Mz(T7 zdv8ANLKBSZ$Kw!0R5L_`9AC$(lpj)NbI=Yb&R#OyR@ zo_IC*jnO;CZaqXWq+IpbjdPaq**tw%l&C{IKw3pz2MHw*=#-~_|A>|pV6d`%CB&3k z%pe|e5VZI`I@K;SXD1$UtADF&(hlSPvHrYB@tK;ssCdBQs7ZGcnwHMQ?~jqi^;_pJ z*s3XfX~9=t+R~N@sXa(KBeQJ?t{ImKyO>f{S?X_s2HpCQJzn;>Cf+BI{~9%)jGZi) zbmr(h3FK*WQDjdoAyMhjo9OxK>%f+g80F|Cv-t-2|PK($*c%qH-{duHRFdVCTv zu@2E)pxSo9yN?+P%DPn58k^h>2>Bdf-1M+X(ryDdJz`z!MDn5eJTd|3gQ z?>)=yfKL_h5jpe#9!hK}@`yqRF+A5flz~5vA!L!GEIrVM$bn$R4t6KroCZbFEP|zZ zeHYT2Z@$uN^hI-fxaN{5Mb@va8}zi#WO@sJ8iH#Us}oWAu&TPsoK8gJfa<6DWh?xaIUm8Q+4D(N zjuZ#iUG4YkxPmt;Zd=Y_i5FWOIH4giJry)@U6KD>r3v(298hBJ;tJi6PQ3~s-}hmwD7?s-?UrZ*?^Gg1&{(W>9-~Wvn*inhOg(0>GXGG z1E>eqfExqi3eeha0wv7aZ>Q0ZTfcIE^T`*Wc?#X!G_7dbOf_JpN0(Sy7YeX1o!zuM zo!?4oVB28bM*i;1lry6whQFPaJByuovmYgi1San_;BE%Pc;)#RAgIm{>4;D`e^Cqm ztio@T~rG7 zptAH0qWZ97`7DD&pv&-=2bGoYLCn%&2SxD3iX`Rso8b?1Jw4|DM2Jtp1q3E~8-tG@ zu}1}~^A~+{j6}=7RH#z*{|xJ(R&WFmrsT-X4Xw|+gt|WPb4P&xmy(JKCIf?z0o)PL z@ow%`wr>KJS4MXJr6-`}qfMISP>9t89#vtJ^f)M(LZS??S}*|m~qS)R2le3@Gzb@PA-<3?U< zMi`-n5CV+ql4!&Go>M*R0U1tQo~ZberI#SdR~hoaJpQ4UKZC5KbiT696x!6x8z(|R zQSj_Ng^p!q4}u(`&;Vv$S?y=L?>Arm__%O#xnz!ejb+pqARJ7u`rC82+#CF( zbcbF-UHcArZ*UlW``oWqgJH+=de`7_5ZKvG9(cTFe5UYf9*dALbYeS!=i2CPIn?O> zlBn#^?h|*EU-Ol+m|cedMk^*gf}d(qW-VB)!2%!c=gjS%kQN(bvG*`g7WS&WawXyK z5g3WPS-f*w6kq>PF*YxyiN))-o`-GF`4{Nsbg?o3l`lPG zP;mu21M0f34bx4s8a)N-e3;e>C^FgE*=O6l+@iCfz-0o6$ujg>T%Q0Xr;MT^8ZcYr zgNZO<9(!<5(_vs_@*O6SGXhe6-@aL>8M>C17O>BO8g&J^j#5d^jRgo)hV}kUTGdSW z+px&XA6wO;*vTnecke4?UA&C>^5Qi&uHPsC-0t3g$5L+`WAJ?NT_Wlnb^tVWzy@ru z(i25k;hi=r73@%+S=0HO~hiCU# zU91G_W~$>2Ks5$>Qi&9$t6IsziJTJ4LjS+Y$L@mGORaQ~^tv+w)4mkmu%31WQou<8`|mm`^WoV{c1eaNP8*k$dlQfy{Xv zPVA5ub1nO#e7mJ~a8b1nnE}cgAI|FmaNyp39Y9#(lc?No2 z&Igus!J`*}7>!n!s(0&Zx?jDXu+pGWY&=L3P-3BZc>7@Hcq%Wx%;r})!*iCh;}nJU z7G1D<3QtRQF`~rvQK?C>5QB6=k>5lY$!K*PLC(kS)S_^Hz3(>EnV&MD9a;^f(#WOCjbJD=hK~M%3R6#F^XPaFZfiIXDP`U*M2cH6M zvJ-IiA&q5&IneAcG^lE7%4ny$y&M4!T!Xoi;r+wIG>nWxl|G<_B_t#SEatD0;dpgk z@(hDfih&rsiF-NQV2Li(8V;0ycpunz+Gh9*H{EL+1P{G$=K$KV(^;NEmwBm50zRAm z^Pfac!I1XKl_zfK4sN@Zd$S{0&YnJ9~Y)}raL3i!6jX9;Hj?ce3#^+GfK&2vJSbXl|3 z923afkug33r05MC&}{D?HG&H|BXh>=jDoL*KFr_45>J#4?Z?FiTB^Qol=d{z)4kIM z$m1ryKMUw4Uh-|_`rqH~v~~`~d5UI#`)+TvaQUR(hnytt+r#I;)ZAw4ycg(3rgk=M z<2M-+S~r+vDKfpP0>xTKOfDkd{hc0N!?IEocYILBf_q8Eld1Kc5l{%`m3-6%xg>~Q zguG*8b$`q0IfR7MBVbWCr;7+$b!MUQDMineu2oY%2cg^W-Dek)63O?|6+Hk0B`1Gp zk{~I?POWFmx+M!H09?%Mh6d)E7?3_1RW&u~k6)(jvWC9B*Ho4>5@nW(&m5bR^}QV$ zB4#5xlaSOgNzedf0@H1$*qWtHgU1_u;GW3=Wc29ZL94Cz*&hFv?mR9FlbPRveMEq| zG;kh8D$qYL&|wOVO-qyW^t=(x(h>I9_6b~+JoV!lKf5842+&)o2uww4a>W9uu_XTQ z>aS<3^^=HKeYtXTdevBUq#PJ<@T5w^x(X)tPam~isnRYVe^hm256ET>Z>?_=xJaeC zG36R<+%~>GmHqA`d=pdAlbQb)qXfmxiK3(&M{pQPGI)d_l!6mGgMsL1THmUup#g8m z7P4WWv+%R>dNg~6vAeros|Al-%sTzjOD05CF@dK2gQLzuyB!?Nbk2r2IKV1oN`GF4S7q@;uVxaC*>>Q(oUoPZC=>6kP*u!*B=?@z+; zhbdQqke(INiwe949D&@w1GvtKfr`fu^zK&^Sr5)Ke-nAG#{%XJ`)&^FG?#A)Ny>Zj zU8*SpmmEnF=crU7NDKdxD9YX6l|%|ckG$1ZE!=G8&M0`;>28%K7hX5|J(x^#_f!q{ zvi5!(F?@exjnJ#~RGMSBCDEAB8_N@V*Luz^=90U0C)u8NC+#d+4SIeHTJ|?du$JRB zBRW&!q6G9Dyh>2bi1Mfy8+mDCh&XF18Z-RxwmsAWf(!=TfOQcRy*FcvBXzRSX9>W> zA~GBT&PFa~ZKRGhKYbYpqD8Y2c-vLSDGAwXvYfpW?r33U5AcnZ#!y$6efJJHJZ8?% zYXj4X8}OI|SBEqpyx)n*x)?~i+v-wX+NvANYM5G<5)m4-%JZAg zR`fdrcZi?H_3I@qC!VS44|$k*!Xew@c7OIT8}d}0K_6BPbg5+wcmDI6ai1U(h;$qb z_kxb>rV}iJC=_Zqk_C;VHb@l8`!tO^4S%ZfD0R<~)SQFtQFFAmx)5^F4=V2u$^Zp> zn9Crryad)+REz%nO#ebcLVKQ9ygsDv3WJi0dCNJ&Prt#Ad94eb`;W8xuU*{0BdJGr z#9sTJskM)MpM?GU@=n&!n{dFkDJnvsUr z5k`G!@?D6e!bWb}mGGx^)k|n9WIk8VscG@X#Z`b$ewh;?pBmPKbCsZl`??9YR4YRy zIxGBp$7(%7tt>EW$dAyHml4p=iKgXi#snut_07Rec_XoJN4hIRZ`E|WWJxJmU>^%< zO~v$PgK2q9C*%Ci&K_w-fgY+9X|>Hbh0pG6TwEtx>KP8+c3NX@-nv;+Dk! zTLz=S!9fhMm}K|$U0&EO=xeeNiF|CpnHhcfa8-cKj?}Uy5h4CZU~6tLwsukkqi~_O z;Lo9!Dr@xqN4aNVYP&eky0Ddu9eYWnXtKgo><(6B;_^r}?zvMhzeg2%kb@JzLuZUc z97th}aq~-*Kn%(mEK@i!fu#U@KqRqUTUx?7JXCPpuc{{i%=xE$W~RzZL%r}Lob5xG zg9&QLL9EqR7!65TZ%ST8g%ogiVLX6t`I!C(z}PI*JIsAd z0#0Q=K!ZC9x(^AM9WBr$q`i3n&;ymx8Q)MJgV zgEvq%V?>!H$BygFKhs*zAEl-6{vnzn?s!I_##55_w5?~kv-PAeG`pEC@MSLsH-uE+Bp_=Z;3=08!#l}}CYO-GTsuJb#o6nU=$0lji;GLGUqODod4tH7!^GZOEp zGbsLA`NRv;3@VD;I|IWm8DK^Ql((ovoFSk%icL@7n>k3c`@XuFW@ie#*J0)e%sTaF z;~`#nV2QXf(RhZ*ZF08_N-@rDtk1;d19b&rR~UO;Ec2EVN0`nPs_8I%{-6VLY5kw3 z$;x)JRomx1NS)7+n6@=A*)G1qA-3D<1@DN$wY>gN&F@D>9FD(Y&x2Sy6f$7?{)UP6 zOeFZ%s}x^Xrrc&C2OfaJ?li1cEC-buF?MPNyrCx(p9QNGfJ|mjRZvv@;G^CFbX%F5 zn^AhNaN$kUg%SW6$>e-cY;$-Kln-A3x5ngU7zHC^;t^5`KjStDpohC$ppM7K{JMc_ zC?0_Q>zpoMP(7@#+XJRSir_a9hvOV+@OKnqc75VHlNBk?|0O*_D?*+h7cz81Jy0#{#Sqh>)nFW!iSY{< zIQtqMcebKg6>mGgKo{bV{8ja8$-{|sq2ViHt*i_ZjgujhR)F!q&#+kA$T-`H-+Lxq z&Bk_WoTR@3XGZW07~!|I96={YY)a~!4o7INGL3`G_>VE2y;R-MruY3{r(dy_2fusHHb7z~wqzhx*W_FA(;`i4T~ z$@^^GPItl?=^1U#uua3Biv0kZt~e)Mzu&g#Ly3DdZf>~n*L9@Y7mP2!RTz`9fori% zIF^i79h91XXbANP*Sj4j3lG~VDzDC&VZ1vp=3phz7Lk*~+h0w4^my#O4$~{Vd7%$} z2L)9l767*^$IT>CFkt@Z73~k6`tGana67xZgusvyAanp$%7Xm|9QYGi49H@}-I)O7 z4MB19jhvBs^zyr8?F#V?Ty&rmjrVKQNiJ+k4zp|CD%?UQe&Ed!Ke(UjyEIz-9uxQ1 zj8fOt|0bHob;JOP%mX1TS6R1ZqUE9N2xZ3x_lXZge4-yzoZ$ND4*o`dMnK)J5QqU9 zfW-sjRkx-xtvYmRxhEHswK9qs!ZAi&*tM?0x^K|Gz}KzsS5UG528@pjsnq4%rn8}ENd3b0B3HAEsmFvA(goi1Ni zIT=00u(hk6sbbI=Kb+^Guj9fZ#qpOdTuVB^1v{g!H`mU=)A~stK)n;w&*mbO1cGC- z`)#vyP8ND?hG*o>z-D;)5-mbX$jE33M`P9DRUmOj&bgiL+6W!1RKyP)H!Ob0bHL5L z6XIIm@RZcnvVa8t<$&KNjM>ID*LnuoPNI(_p+=MjPm|Ya3B&7>Ja+@34_3E56@5zb ztN!7AS2j9rH8IJv7~qOAY2Igx`VYcwSq&n-0=8BRuTK>9fzhod)bu5=H+yLcO#w## z$-p?fv#ZO((ozgbR99D*CA#@9K((vGF`oWCc}kRZi+ow}uH9!78suqnrb^W!7`0PU zcsKMMgEWo)(|FCp9#N{Ru;|)FaGTC~2SHvhBqB3}%@nI(OLmJnLpnW;+ecv_-08=f zkiiwQMy&lg@m|C9>0D-{yu6H=;~%)aH;lyL?H?5$1brC{KJyxur|FxWRfx!C4FgWK zemMz8>XL&1mPYXn(ViK@Km1CG(eac?__pJFoT$}Yq zlPj5<(*rA_#hp_SMqm|NyUc$=D{_HZ^5bC&*8YAr^Yht73y4}l>BDeTMY~BJ@jI-u zs_fQ3Q~Bib9bJ-K?2eCS3pGcLg^$o|ss=6k88Ap5B~WmMQ}w5{9==MqO%+*^pC~QGa4EO&dsh`3Q%Z;7J@wp~ zVt--YD>b}WJ0W1FNbqg)Hk@d8;3LNGNA^Hv2ldKcEhwJGFp(~o)e$GYt1zo%G==x` zf@E3n(S?x3XEAUjgZs3@eGd8eyk@ddA}LN1(o}HZDV~R49&R>8qF^FznwWAp{V>lB z5TmbH=-9dQC}U1n3TR_raX!x3mLEK-5D7<75D0O5?^sI}__i@k`Aig1qeQgGoycvi zOzR8O6BjctOPcLD`7bGD{ptK~{0GCOy|#9bIq+}2#mvLsh8w;8fZDOhq(u?yETNhg zpx3VU9+a7Xa{1p~@YGuA=FuO`Vw)LqH%JYGty@%53uw-=#_yAL$*+mu{xeiiOgR4t z#@Lt2X(XD<`qHO<(^S^w457`*hGMp<@<-QsD)SC0r=0i`Rr^o&B(uyre`4?@R;@-~ zfBOP|22ENk(OSc`oU*c?syLnI-+kVL5yj^Dv|#H)P61Efv#S&?Bnr(Mkt8!7-_eU5 zEJa1apXooX73E07R0^x0)_hhkHmj?z1a!%~et3ZAFFu|v*ulaK(>QGFW;k93&guZA zafjO|EG2^B0S7fF1psjXav2yZr?msGAUs#29;tu;ZJ~s@O6}Q`@i`U8E%TlVpQz~D z9q@Wm1A0Kqfyi9tzBIYDN!QIioHh)fvfF{Yv!p&o&T))fR|)#xV5+!y6_!=ww(P@W zmN|FajkN-}c_4}(N}I6nQkimBp5?N9;4D z6<*kc)I$(OL4B{0rGbQg5M-boI1k%74l{Onke2&Ihc70E5t*~ECn=#SXPb$T7h$QE z*XEb}-)CD=_{})X&dCST%c|GUhJI{Xnn1=HV9&t8iTab>QB;2Hyf`HqIv+I9eRXCh zsi4aKMaubOJNvoR6ZfD%_g4yQ5PBDm-wRKt_77%#zh9rYYN+U{MVHh+R;pLdjEM-1 zw~#S2CQd$pB^u`dIvpZn5{bSmY0oSlOJv*)QkFT^lr!o=305|`NKmn(U9!?F{<}Ng zCHMeq{dAv;x!+)E1i_pyqh4q&f&&KSg45RbGZn`pUhX%19cNn=>TSb=RW+*k8gk1n zwSSb{Vb$Shyfwt|9otUzTaJnyuqEc@_z&|5*rcK?Lh}{6apD7jj6hPQ$cYnL(Haw} zE{Vf46@!a8y7$xiy;xpRbz)Wh5eg_E^J*!0R;nlp=wYRHdIVp-bhNPPfy=x&$a%dZR8iH%v&W*bfGWrPg?>a?||`)^oxJ00S1)|05Uniz$RcsZ4dMFTiACM zFoizm&H`7y5ZG%60+%2KrYWrhG{U+IgXVYbS@sokg*K{8QpWAy5q#S1f8Xv}czd#C zcJe#3b%dDWmkcS)D#WuX5l^nI9dqJ)MdDjddnyoE&WH=(UD>F}vnA)!8Cr)Hq~y}& za(Gxh-LGIQtjY6q%&4_-YZ?~h20{IcX3kE>OYRLIuTeIeDLDO%`k~m=htTF zw{?m}JaO8PCGB#G$3*q@>uATD*Y=Y6SQE=c*#Ot7KeQ@edb?=$JhDNamV;5sN<&k5 zXy{Qlrwt96%_1tAfq6T+X7+ql^uLKC@Oaip2Zncd`*wb7N`5!kaF1ZV2)ql40aE?V z?{Qiz5@rzzvr32g-%XckwQ;S(m}qhJpck)T%7y{@ZXYllA!tSo8K1oTgr@LYgUzb~ z3Wu{0;W02CW+sp`CnTAn;-qOiy+GMv=2EKc#B;D$lO^n|9KNtdEzcIuDiI+zM(E(# zy89=BU#P?$nrBT|diuB8iSOcrUWen{I5X=%m^_4X;8Fmk$XAnXrK~@4`9$g-~;us}5x7jl= zsdk^qQhz?LKow~68H8hZvt7^?+lYrbr_w+Xz>U>@uzGuqCBPhRq>X;7>3wN^=3n} z&~#akdczYnv%*e>Hhol?4PutrZ5+3Sk^!g z8tEX6lL>6{9eAHkNW=KtgI^ho%gU&^x$E(z7NGrUy5qPNzh9S_eP8sT3W$m+rNwal z8!Bz8{B~HwuW)BV#G(?r!Y4cgy8_jmP7qD^JWVI;84x#+S!Mq?k?u(M#OxrPF$x=a zqKEN?OGi_0MbB?~y$E@0j72bBb{iPjWl1{sS66SUIi9UJsO4=9Z=q78Li3dJaraAi zyXRCWn1$X!mzCm2qT;$DN?xQZ@|ZeVQUBaHIXb#ucD>?*KYaEDXav(8HZg)CWq7f~ z?-l+DN^i3VIw!WQd$O(>RrWZt-Tj|tW@)RD7xT(2ulhT z+$eZ+TO9S8Ic}2+TPxUps%}}+jIwAs<$0ljB>3japZCAXX=OYTrd_ghmm>(b65?cu zE8bZ57G#9>5V+do)5SXb+b_H=lpX_CUwZ3@#bYnDk`kT&?3s_p#}bx@)^<~G@6q$! z6_xPN%n-|#=9wD^(cBUrxj&`)4unjx9pZoLW^gwYm~Jg9@zi&dW_iN({^gQ})_{>N zoAZ{k@9@XJo11Z8zq$}eyO_j)lPsWSaATmGCYPO8nEs;M$M4zAI?~R;4Y_36F7iW`%$Tq>r zJ<755kVr$JnJ*=mt6uw&d3?2c7G*Vw$VPkZO#AUCpb27+?V4CdtslJ#M1+$Zo0!}( zRD#{^C8hkXuBd2iaR3M~haG8Za1z7y@bLiA1Yz74RZ6Q5qCN%bg5<^mFj>jf`YrlC*p8ADm z|2?4E8zGUtRi6-^#_{gh@%K>U+(aZ1_)XFm`0zI_UO0TR2(zzy8GXPmU_RCKMEgDI zsjG&|_FnQFmgEos03`A^kfPMaXB?UY2_ik)ZL)l7zHpUZxcur0AILX5`sMzn-BP!3 z-*@QWvmI7*0G#vL2%^gA7GYZ$|2Dd5Qsj&|cL~jtwCFYci$oM@Y~M!)dMTkOu3K~W zJugA{x+nLM*zb`qBu72n*&4uaj6TS@Xz_FBp?`62>z;HpkVJBJ?6~`y-ll?%N-(jO zwKDr`_T9aLgyjsyZv_HKf#J3vVPe9mN<=Jl%4{0`(GO7wfJEdj$C8<5-g6G#ng3D;Ti7T?5AY@4|K&EFsk6`qjI@RG@KZ z9@%$cb95nSAm6Sy4^P%4|C;Cat^B`JfVzNTQz`}qSZvf6@J_Wh1W!P~O?6_0p~w>@ z>1B^Uog0|Sn#GOe<6Y!O4Bl|YPHs1pi$k}7p|u8s&|1S3zVww-X(Iv*aV3ht?2~pk z<;$*cX1eiM_fy0`h1QjrsHP%!e7k+k&nkAW1m1kDb|{XBQlR;5A_XgpNz28`ZLxz^ zP?_#oXo{9m1;wh$osnUEz{khvMs)knYRUu&tSJNAPW_5P&!B9z0l+0Q7*QQ}kELQ} z?-J$2%HCylFPV!K^xoAbCK8Yr?5_f^h83M@+7(jMGWJ+(kHTsb&-#%0isjRUWvteY ziv;g}H25lhqsUn@o+&Pl)xLpTiB4aame;8mSW)p#O6dMxRl0@IT)`x5KPD?{6l9bA z^Qwa^GCSZA2hRMueeN_jB&|JTvq|S@9g!c8sISmH&#ds}PV5%I&cZHjzxj@}w-P&h zV);E{8m*a;pE%&-9{y=kK$+83kMI}!AVD(cP@JC1ABY`SgT&#P^`oRhO1Ey;VaiT& zER9VvvX6iZuN0b@b?MUs3cS5yZE}0Gyd`S;N14`|?!J9CI1@{xmM?oAtH+ zwmfll>zb?fOTd$rQwZ-i-10&|jmvwcj_bQS2Y;QE+6#%vIK41&6bJpb1&rTHDXAp@oQ{EU^T6Ps@$JP(>D*%??03t&3j9&` zJ$X}!yMbINoYiY4^WK&-=%;viCbIgsI}x6-sxyT{gtpK5I)AZJeGVu{@t^i+>Gbw~ zJNb3RkrESgKvximQFQTMO@q|aNyNFp{53I(mfjJp@l%;oBe2i3cOt>Q9i^s&pcSih zVUW?iQa%fA=WUP}$7@+sc*wLoIccRVug%Zts;7<5jCe9;^76#Z6{iFRC&0V^72lu9 znT0wTZI$p-h*wVq`Q2%;?=D?~9V2Az=3bvFwpIrCX|NKUCG6R)Y~X)baV_@UwErG` zv7r$O=`QMuk9z|U7;J_?{uPjcVF(~T5C#*U?rl9u5eNJ2dDC;+xn^m{dp2~Q+;6_X zcD=CAk*M@&V9EQ3%{tC9_n8(^JL>J|QzTNK%^cLW^DD6<$T5pxg9C+5$>r@nFgEgj9z$C{m8QMuz%aPvZIXL%1F@mH&Jw|>%(N2)mn@>R{c0Id(` z>VDt<81UT(N541hBRm{|f+v~B9;g3L1brU|8u)82XHGdZWUk|1c@t>iAKPKQFQ90A zg5`9;ZUb1hD6ky|$oB+*O?1a~Km~vQo7Qtv@RcXtL3n0lXUzF7N*&6S_#Cmu7|arC zjnH4F`5r|~O8zkRxGN_dTHh#$R{xdB6in6X6PY^mZbXLFaY)6n3S#1g)7TgaA>2VL zMY=&y%P%w5)RvquT#u=kosxpjcyfBa_T1c~Nu871d2f#Z(}I?fv0gG?)(n`mh2xD^JQpw9Fw*jafCWYx8;F5;##~i z_TdO2L(U{3RMy4@o=(S6eFC>b7_CD7{%~oBDT+MqX%3$NS_BQp(C!|+psU~oyYkuA z@VyDO<~SojH@@O3;Ov)5BXxAAa{|D|{r>Az#)T>luh%B4BCo~U=xEvhKpR*t3P|Pv zVOMzJUqFHYh&c)g33&y)#xoRy7xp(n&;v**4F=IZH6TrIiOeH`9& zok}b-xQ)o`GKQ;kuItmH8a(*D=vr#loJV6UV=5M^o-4+qv22&XG z_HKoOhSoSDGmyfYAS@SMFhycKzfA*p++Gg2L z#iqQMI*bAbGWlF2r=X$V(;}`b93Yw%lKJY@l~qn=eUr8HH3&Vd_J&Nw_j#-Y&hC33 z8;PCTFbxCb{Srv{07!Y-ja5?e)GGfP{H@?!(nOV}r*J3ZKaeopAk5tV;$Tq@0-^d( zVF4gcaq(v#O4V<(Ri6&q%fIn1v zo*aheLd-jn*G+yJ19$M`Gt>01;nldlpL`z8kla*%u$^~UEIIdW$?E6eaiK}F(6z;N z1uq`Z`q^;-cz180JlDjpZzM`83ks2IhP-!d%(`zXb>$%QVkp=;-ZJ4-a7>=9|CZpk z{Ls{OKVgP?Qu=i|{+~K*G_>Y>1b|c8X}rfc7UOQ52wI zNtZsYCx`o`)hXL_iTIOn4Slz<1M*((VDPVR) zV7P=Dl@&qxdv*xVaN(9eD(uTE!Ow{B%BTdCQgssJw8mirqU8J-lCdsDpyaTMj~DV# zUq7fYR?_EE|4J%N?H>?{+8;J%ncvg%1@5WaB5k@0F=honj`;I}txy8Wpdn{H+34fb zW@A|GwRj*^sH&{~S-;YLu=caOfX|8%hj!dQKsNSA@J;Uk$PcEmaUeIRScrruBvpaAXUx4(Fj!xn_S+`y53L&*WX^XCI@Ts`t+-P^RFe z;~ba8e%?c)`y27`_Sc&fL~81SdkEiZb&(z3K>bIH>+ulxqF*SQ7(br&4zTt$fK)G4soZlWPeS;rwi`m*?1kvrGwXwEsm}ctX?n0 z5j>f%sHm8croNP#a*dSWx|4j}LS0Q(^$lh-zQSyMF;E>cv~6^I;b>`5@vcm@2wI8NGp5^~*c` z4gP7IpKE`8mJO}U?zJo@?H$MevQ|Gf1?v3K4%1CqEz=Clb40F4KNhgJ@d5=WFP(&K)?!cXTO5K;ByinJ8mbpm@ z{A51jXgaD<{Wrq_Y6GJ0Akx#eX#aWycvrB zjG=vRwjl**F<`6r0Rv&sOjh~Sz%Mkkf4cv)rKO3H=oDnsWY5|A*`eryHtg|Gey@oU z?pJV6tm7jkm?4vnv5_k}Agnkq%)PIPnYuom)xS~wal?_3YX%xc@R7R!buSs!)Fx}k z@`rj0nZ~eo`c$dIRGFkpf}5{c1~SCNb$7lNyuRY>Q7P>y{}hf1dzE(8%ZCNv(3U`Y zKbZsXx(P5FvAEfgO|RSim1fM^E8mNg5dh|K{E+V0R_f4v)qk{6g%X6d2E0daK{W0F z-{17EOd&7#^;l{5z3RTGUt4G_pr0ZMFM4T{Yu2(5nyDZ|agyTnO8(;`l%wkKcsg?| zm@dZiky2h(JZj55I*|97d94Q2b~&kRBum<8IPufHsW?4MT^-Ms_W77^3oV2MiQqmsaK$^W~9o8>_G28f}^1D!CC z^1OfV`5mn%Rti8`5JHOQ70lmeh36t{KKq@?R}+NZTwZS>eo?;L+vYu)d6pe5PksK- zlYH}X@9QxcvIBzhbW9%%xP5b#4r9;Vk97>l%Zo&(pJ`D`Ip67nGu7gYGP1)3hG#2f zV3=Uxmh^Wf_~qCO-LzafqY#47Tn>_PE?H_}5;UG`FDuU2X=bxNrb-#PcTqqCVb62W zt5S_*)R9IwA46+3e-;gE3Iqsnoc3V5v)$uBo3YLKU# zkxj79Pl5bvXD>NPM?v3Ky>KKd(U2-d*sSk!b$5?f2I+!tA~=HH8U7=`D`^(l5LJIV zY>6ZEtLY6G{R>GeCg9@X8G{IsckgzpA~F0yrZg<`CN?We3FIa{LpU1=ET@Cvt(7^F zqnoxJ-&gQ|F-Wv|2;V#r#SwCOJ@TgWu3clM!;e;O1x{mCW=Bu=jtPR;Rf`eCp0~<>_yWHlEJ z=st06Z6XjDB_SyZqVmK57Q4E-nk-KXvIaqn0W4v8a?(BP48({FDl&(Zns9+!v0@Lo#;DVkJcv3I)8g3Iby z^R#8_TNegfu4IuyH<08wb;LDJ?=X_vxj{Nh7K_ zRnI0FfcW@{p?p6jkOyp~uNJv*M+B^Sxui>Lr$0%UJT!FyZ5p1hD9r!oAvq=?@!Sl$ zjqiIDuN2+Zxh#=yO4_-2to`cK7B)T>j>y*ng9pX6`ruC&Bv&}U(qwtP+MOrkokKxY zC>ox-aai85v6tP?ACo{*F(pF`#IVXSPo}g2peJuPgpOA zC3fz^F+cJXW$8y;|IA4?Llwmz7x2UPluIuz30?$jRZtfJ9|ilyXXJ+8`XVUkeDJVu zvgFK_&nPmKkZ|4BSO7-j`4Ui8uL6^dk!XxeUuG*GyZEVjWgE#dzF37k$jVGJ2XoTO zE_dyJV0c|d!_yGfx;VARShn9e$5tbm-!m>EgcTrqI8)#{{Bbs1*m^M=O#LFyD-^;r zA{ac`Z&sGS$0p~S{co=SCMg`&e1iNV5GW@3;lqc*{oUPN07B9+Gw&ls9vxBIIfmx@ z=yLVoi16WRZ0N&**Fv_*4>MQh+vdE|k8)#SFMY7Mv=`=g+Y-Sm+#Y5%lSmUB1MI3n;Gf$6^T zmE#?;5IdUea?h&0YE?r4sOnX;$KOgrY4cR1dp{ABhqyR~jn1(FhVN#PZiM}Z+w%#n z_ejJSNC2=W`^*@3hxb37D2%@kLZg`AJlirsC|3foa9}mW0-w=+r?}7^#OM*Q8p46N zr-R7V3tn(WW%zs5)n&$jqEG|>so^_9S)fihUT-OCJHVER$A;@VdhX9c5DC6(8QM=Y5U0N`IS~9cYnk z9Gz4Qi4*SxRCAuu-JRr?7UGep6#ZSFENEUXeWN9hCD(ZRS2;{FMojD_ipIxBsN3?G zipIjzzV?ZD*~5fi6lZ};0?64RFI7~YoQIJTySD9|&%FUTa5Ha=MfZ>>Y0j1esL!yT zZu_v`Up^$W^2Wi5#mTbYLP0L-@S&Tj>1YoJpVtWA?e9(Bimo_G*&Q{FC$UFM=6Aaq zeSO$mfe|y_@k%rwfqdjS0>TMUI-UTPXDo=5mSbt_2CAwpTd3W#FpRYZB(_Bwm1L>~ z@3n0{VrlcJI-@uLYJ#Z>)li# zD}%~;$hoT{f<3!PPun9?JLg*ZZS0fCt+_obY*|Og7J)5 zM{1mXr0zEx(@*jqi@wALWE*9x$s4HLr(rrjD!WDVOGsq3g%-oZ(iW9x%fo{DZpj%G z8Q?0Zb|)$MWk6>Z6N3TENi0yx8X1VE+g@m3>5C>eJKvc)+nxx9O)KnI-kzMCxNqeI zyMwXqVn*(p7{xc;U$i*T9RHkm@Sf;}M&(#&7-wldr)BntzKil%7;wtWvmp;~kbmk+ zRqA)K=RKh1Eg?>}o8JFxmRmhFoi79JJ;zM-L;t9?oX)2nTmC`?XvoN!Eq7`~WF_S< z3|Fl~GrqQ%-%}cieyZOji6;~L^UL8(m_tgd#`ESeB85F=wBiy2d)rq(_Rx4Qqzpy{ z4<_=H@h1mt3w|Y~qKvGy#+5B?lyUpm$MLi9A>aKleD#(GrppQCxSGf&p7M5GJb)~TCLwWE&c5C7u48y!M#5>do|fGorevsFy*%O1ICQ%~=UD3hoX&P}oQx0{v~! z|17QKy$>*!CZ3EsdV=yBIk7A53zrjeVnmN7dz?dJf%;YIe0Kd71dC0AE;pJeL>u2( zwi@|~8KVFh|JJ*4G=uCK$UQ>GM>$d|^J&4SA|lLTc{o-Fv_H3P)Yd{2sum}DIM_SGTyhjfyy3acXoox9uA1CpMiAl?&am>yv2rP-yx8k{AJF%0Hk%wX9}i_ zW7egHfURvdK;!hJM!tiQSX6b7Dq{lz6%dLtvohiZb zbT(Qv`Na5U2y8?|^u~*PQjx^qE)|E5eNvI)i??GVYOc=na#b64U2zWr-{^dQh+H7} zV=p<2D5>DEKbl8Oq({BO{`97`uoTBng5_+rO_`XoWOprW=+zq6^17<*9FRWpd7jaO z{dOSo0Mn@hM+}4&k;iLv77&mAt^F{TN_uPj8wwbm>pBf{0k+!1-Ki36(E9!H!ON{> za#D@oWhW5C+pOBJI5+zm*^cKU17bxU2)#_g4R&^qn&c z@T{%_dN_MwYItLWxar|FlqEzwhxdO>y>(Pq-}5~TqM}kNDXG%kT}n!KcXuP*iZm$Q z-Q8W1(%mJ}E#2^(%iGWM`~K-#F1`1@&Y9V>XU`t+K`ZgL6~q`GGgGp|vHhrtK@#@V zX&+f4V=_vzee1nFNFvi9GICr64^(4h#^g0RQ}SnI63AUe>)VWs8-%Ad3NCcO7RX?31)r5BX4)JB*VGSTD9619XTKrSs=@n*yPM7DV7mK&gFy>w=)mD zS!i{5V6%;*fq=89&I`MWr}8y#R4v-S&!|F$0cn*%d|Q}0apC4jLI%z~&i8U$V3Tm; z-PKOaX)~a|-x9ci_<}*Deeri01{#e34j&b^Yob@@2SXr@n1DX2L;}lNt2Z3JYtJ{t zH*H{hJ)ov|Yma(gu+(Th-dg2T$37mR&b(!PZe#)r({&cWfX6FVd2UME-~D3 zqdOU~Vwfw1C!U8=^-oXnNA;l-jIN4f;fyd9MX?s77^Qccw3&v5fa?`UBmX**DZS_-<0Uh+17}zZYc=~YG&E^>c>xiT=Yi?Nb#_Mf^?j6_4c5ziLcv(xKec~D z&L5PNLBO6N#ozxKG69b`IK%|*C$At=05!CmPcA?LTkgbAx1Oz`oGNK5KulIPz&sxn>8?|fS*oMn3) zp9kGR#N_fIoJ&K_zw*Ah46pe5OBsJB^4It2$%$qr+9CTuaOL&dN3=fCPJ0gC!nk9> zsfFmtcMHoDj2CjS1s$;PZiud;N$1J4p~EBb{c&;{X8npydH&r>&_;J?Xr@S_?nok&_7^0m(M{lz%_3r4Q>WgVW!NW;FD@);M-DjLroc6 zHgVEY%!6)P!`N;+TO}>uwUd;M#%NK@Z#?Ow_0~%49vV(4Qp#GfR%^$ii;kk;>USZb)-=|c=nXkC<}bar&U+z`%Jz{dXC zaX9aPnOpF8%DvOFExxH&VS=9VjqA_i7jyZy+j{=^+r_(N@UTIBYxWe0qO|ry>3Hms zL8pyTcwgp4R4XuwdqX{yDzBeVy+J5jvnsH*BKGpE@O(9UiW+7XnEnd|CF)Z+!xE8* z3bQntuThG7G+1ZcUbWt^+qbjexMVPzDFOpEw!pBf_4YXV_QWw&miy|jSMjV?k})(I zV7anb-N8GNxR(>{k@bNQRvH1ipOZS#r%zS4m(IB<_Bw}hIVBYPJ+o!6R*=m(`{KCG z@D!@g3%8Ai&;)gs51Ygbbb8*@o~7(@HU*x7Y|-7*d2=3*gmwC^v1*kBS>J+>eW>*? z?IWX!mZ$b}-?GPeX8EfM%2~wr)<2-@BGMM-cTu%&dE)E5Rg@K_XF5u9?#(P9T zK|$bg!U%Lb^^OOF>jMcrV4$9=|5$q>I2dtzqCmLDasim}$o>0H-IZ2vNOMB?%IX8< zA3L;oU!8jdi5?Fj98SwJkl)(CXW5;nqupDuC#GQBQ_lYO)Z>d9N}gC8~{ZlMaL3@$pFh4jvd@QF=Q2u6fI zO(6n>!dj9Pxm(19?#8bl>Pq1bWl?y2XBkO(yH4N0mMGCs-2vb{Zp0016PAW#zT9lZ za|-WlR($3r6ZO>M)1xbYO#|Y~>r{G{sF}(jB9S<&@XW%%nLP&}M`g2J^%qVH1%gCh zfW#Obc9o${66Em#?F%o~Xc#1SPf1J^2dq0JPy`+opX&|?p(9hEf37>aRQI&g683HG zl=Ak%EqcBf6~i)<3Oy}Z0{5KE;I4`~(VgDwzXTJ=pRGHe2+=4>NDYcoU2>g?wK>n_ zDyX`!;tX6Q%jJ{jAIl{w7P9Y@){7ljJxyGzR@iE%kBnNJ>LyA332xUZ%Fih>`zp~T3@2pGEv0?pw}ogJxF7~iHw4$T+9 zt|QPAJp$8k^e!ixwoAe<+@HzZiaOkhT)9qVOlvTz|8(zubzCw;%TCYP9vv^T6~?Ji zVI+t#l;ELyBV76OzRSt}IZ{3qJ4ZxfQxkVw6EhjR9ff3a@>r11Xz+2Rtc~4N3>K~< zr%Gpc03AzVWnggBPm_W6@VfD)@evu@+P3O=FARg{s_(z$zLPChmk;#0kv)GmiCMUd zrJpKT@Jux-=?4ae$G*+m!1Ui_i($-0c-4ug%65}FwDWMDdAa!rJEE(@A^1a-v&Zix z)x397&-@p2Z*h9evB4*yfIbOuH0=ac&^}MbZZO310xOnt*irCVGQc)X&|ZS9OjK(u zL&mmNA0R16Nx&v?ceVF&>q7m>mobuXhzoaWR=mk8jHm53{U!#cjUyY9{%kI~ZS zBd?NiF+4MOy<$JFD!OBE#gJvLFp})-Nng1(mA5_HNJfdRIF^XCHA;}*WO|yd+3?)c zo$i3DAtW)J>9yK@(BgpQhmzBhYBt*Fri z^&7dwsj??=3DIw>_PT7g#JiwPPrz!bynC32$GP!=NFXw3JzDFFJXNiU=Gr&U8KB-(6^k zDJ-M{)@aIArs&U~Z)laED z2yX}}D7>>kv}E?yzR#ryJC-F2gj3r$q>AfNW(4(RAzaoCY`G|oKac6#Z<|CX^Z~|S z^3N05WmwshUgSuj+iKr;DmidPWHMX53Qbw+yp{e~FcS z_p5s2rVykIkA#JE++axlp{xecQdUb%2JI;_?k^zl9IQL{yg&Eky1zNbw^(vJme2&T z1JDgHSUhfQkP{mFbw7k>2`T!lY0k&kp@?m``4v7i3&lX_H_b6w&Y6ldq7@b-LNDa{Mcto)bzVJAldjBnBl z=w)S;*l{H#ar-tt%*b{J)4{! z@%{5=yK61M+>3Laflor1BM2JCIUKBdRG`Qs5_w}3QQjGZ84(++yj5bwl5h#g1{I+B z20DyrYBgIhE|Fq~Kl29s5!eO221;pTW8mTWXYsakyEe8t}?SBzgnNK4Y?niyRmswR~oOWZez`njc1gvERh54@lX81x?@p2BAdWbch2P~@p=~H)y0x> z^*L3gE&Mt&IeWu*t}*iHY>%FN{tB`xbeDNEwAs)O7SydpeYAMhqk@KXvS|c|C}QKF zGX0WA!X}p?6HiZm+|Dza%nnQD=Kr;}SmqQbq4YzEMn{_Qw28t~i^S8%lRLPH!h=n$ z<{Piq4l}DWE9nmB$!Xg#eiWY(wCSsL`{RPO{xZcq75f8Vnnc1Gw2xMMpxw^>$=nIR zCVFIUS^f>Eh2+D0qO`srb_$%Y{FNDcZFAcT?RX15|DXL-&%QDMsx$-tj*=lWP9|3EXN6Wb7Tr`` zEokMP{@Bd$t2G?e4IjqBQL-vcAEY3ov&%Kd*!z8FengvIz7ltIy}TyxKowS`jX7DU zV8Cd)Ls_W3y`+zuwqWF>UZGFJk2(6P>fKTLVxP`n>dA#8n|QbM4&kAdJ?d<#BIfD5 z81a8+`7hunj=%vv2BLOruwd8e-|w~^(Xy+@&{Ds2%l2m$Gobd&*VNUs)4aXWm^Yii zA(GQI+XUbHu&cbuD2mP1frQ=FRgK~LNYZt_z@#Ux-Na}ofLBEFGBTr%lWYG?CG3fX z2P(hXl8C-GA+4a3b7HhPDCp)zX0;0DZ<9#q1_6vFdF4KyYG+6SO60)w?-3TZq{i^H z(lhj2ZJVOQy|1fUQ-cZ`H|dOOV>ngqChGUIjbZq;O~cv;JDOsO~UdAO*EM>58$F%)=y(bg%o^AlBC-hqOhKEgO>b!JsQmE^BcL99|1OgIl9JQ=}k?Kcj@CpjoN2{KoLw$`fAif-7RYdkFWNkO^de8)UN&(^T{Qq9HrP22woOy@-eC1a{_DhdW{gRG!sE=N1RZi~+AQH_>w)Ywt0y@V$J{qKuNjZn0{^_V z^RP?I+VGI7&#M#&v+k1l77Da%;ue9!IunSTMaQh za8dQfvX}Sy3vs%>rH-iIgb@d}`%rrp6cBk1sseC4;`^Dn@xV&ij`c^yNt-Z{ul?;~ zy$Vl_6IV^Df2VUSM`|oX7zLWi->=`HvGS8M$c#W(=4Q9kBHh@i*my0p#F8}JaXoY# zyq%`J8;cn;kZeI?bXKUs)ky2-C4)b2&gQ3^X_%E|B1BmV3)KL!M|Hxz!NMjLLu0+2xI1`t!Zc}?) z>9Q%ytLdx%@CzM7km+x6;*uuGM$LUKf$-8DFCYBEUZ+3T49W&nrf0S6@i?A|pU2Ep zSjOkQ!b6b3oHQ@KLv%b2W(UWlj4miv^fu*E00 zkV{syDy@&+as2QaS?4JDzespXdN(K)c ze8j}Qk8$k=cPKdg%K_@79mY48cG?}rDB=GS0>S$v^=AjNXugRl_Y(V!QwvkN`!|u_ zVI5uQ^X75!vrK`H&FQ_UK6)i-sMnPc(eWR$%Dr0n! z;U^TFvq31JD1@y&YmO7!!@6NIt}1pn2OFBkzim>mA4vV*X9a~1IPD|{L#!H@@)X+( zr^KMhab_)jF&(z5dsSwBpmMk55jAP@SIpG+KKAhmH@1f2YgwF#3PwMf60Q?GL$x2> zO|wo|r&+eKjHS_0i#7TrD^%R)&%QBM{@k0t2KWL_#taSuSuxJ?4qV>{miaNYX3A88 ztZ#0I_HqP$4Wp@eeyxX)ma5|APEc@=jFZ|ZQ|fL%QJ67;8e8F+{eGZNkZuU*jzX1) z9<7t&9UoDNCRfAP^JayPaGWTe+wt6#w>t2XA#44~%+KxixEreBwu87}s<|*l2YImF z5X!uD*w9H^@E3muyPJs&^tDQ5tmGTw)fH%H#rw%0+!Z6>3oTqBU)AKg`^jj%5R@s! z%+ltTbKy0664>P9{(%DT%71Y`j!DC*#%?g+^&eRP7e^)0tgSs+;F0z1c0Vopg2E#( zQ@Et-t1wp25bfHnNdY-c^&fi*d<$l5bjPKo1QLn%d?JVcF0GqCz`&-+f-=9Z)^(0z z+B`c)8dr1_Ucqx3f7}il z@YWo4o}E;8Z1o6LqP`WoL$N|xLIsM9jE4?aEXK|%DTlJ^n{?YA)Ru;y=JBe|=(feu z*ovlYS#GjU?u1fryvsx}1K+t=&xosryKcq4j9L~q=;k+IG%+C^EZWT-$#pvG6aZ_! z-A+46&h~mvKK&Y$&U;HW|0`k$S*WP^X2$jZz6u6-m78sk7tx-7>QhHXf8WhKc4(R` zu+gCEH0^F&O*K0+Z$Gr#H^cVR#f|V?h+Ey=+w0+)F~Dlau30&5GIKI% zSMR-E$>I}C9c+zGNbbxX(;9Wvq|ssnQI);u5=7M`>Lx9>Qm9fkEDj8%55P+IOP%yn z(#uRQrlhX2+0+iD6q!qr5E7!7i1$5g<##8iqC4L945y^(_Uu|XKTkI(=;eLQ_y6vI zf4r~_N6*EPGU_7lDpAKu(EF2#qxZOXX0RrRZ_0P& z6KiE@Hjl^9Mgxy~C3**AN6%d>19lF>mU7B3dv(TRdNpm)%)0)R$5j%ORX09Vub)5D zejXP-`D;4FBg(xEZ&j<*Varr9AENs=Y1NRF$mm_fWTJOk@Ta zB06tn#VEIUa6fLL_d% zGRJ5r*?gfss%Nz_|@vpl21)-M*zp7$Y{~xzSU?^ zNx`hQQh)4{vO`0El)u6ee5DjF$8($qy~&uS53?EZBxBY&f}_&3;@%Vtf4{V&fpCac zlWDO0I5PkdQ+E|#)6-uJuCz1Doy`XYJob~n)7g6Hl_W$`E0=mv7T5X!LiG!2id#5k zNn`jE1PtKh%n!_@N?PtXN}A5Ff&C9wNQ@)0lmt|-#Y@;sLv<{g)zx#DsKu0TVT0|{ z4&NQ&8pH!9ybZQKiu3Nb*6&ZVpEHL*e2DY%LDr9!mZ9SLi2X+dYnSG~*o2r&q`u{S z$I|<2(5Z#)b_s6k8X5Om{6|hXmnFCQw(8mMp+@H!g2*4Tif}x;1y5BPuE<($)$dSX zDbPoQwc1``o5N$iYMz9IL*yZH49}O<9bc-2yFpTwxJumm%*2`$nje*75WMo{huz zUA7-mhjWxY*hjCN!}@=gpOJ~OqYn+%@_K0dK93X1%C?ba3kaEou^#i0sx#}E+U+ZH zf;m7kjfw}Y?Z4CCRk&DhP+XYmFseimycSG!29{@Tj67bCDa}jvZZThM9^~LN-JR02 zyb(4IEAhvV6Ve|=_W85aCT;bYBE)FafOcB2$J=DJ2)}1*iSU=ok54weH~(61kam-`I|Se(`C_?uT!P)0qoo~6o^YQY~Hd;*hu z>tlSe`u--twIyBKpn_m1<0J=6d(|j*_RSTOJGWbxMNs;J< zfhHa9?{3LyXbgY1dQ+*Cf6WjMOIIwYJDW9|0Zm(Y6#Pt^mEMxV6(lIqXe25!ZXIZT zF_B_`F};7Oo1z-5HCC({T4+k92p_!$PY;9zJMkGC^Hb-R;?tyh(kA0%ikuWp)$>y} zs^+;!#WR_*4Iw3RlgD?1YpbfF^HAtv?f$%x_Vpdpv)s6z5L_V*cCesc#`c+5moC+t z9*~>Tre9DP7YSi5!tn!`3DJ}cjO6)o4;m#>0~p~jd;`#pC{$gWtytdJ@S8C0+_FCc zj&uypNBXqF%FY0|%UrWjlSnq(F=t&z!=@rXBRuQTzlpa$veZ`S_jsQILZr-9A5G#+ zu|CB`mJXJccx&Uy+b2@@-hd~gM>O@$_IMfC>1|>4G|SFmrJw#4`?;iie8pV0m^lV; z5s40SC`oNKb$@1qZ6glSm_m*n{iMGJX(M#eEv{ ze@rW+;z}mTS=~5L{Fs{YjoBcF^e*7*P2fg^k=p*FWF@4{$eU>M6QNffA~pDZ^`!>P zze5J#-f-~GUcC4dNLj4?>-)P! z=jTl0Dn}Evog7Q@E!AUx_DW7HThg8T{9;fJk?7>h&R?AQqr{yj(Xu=X4e>*O7@T&f zp07#~>c+FUw)X6X{dzeue;@>&|A^f}P`N^}_B>-I=u83R1A?7o!Le?lbo%lB+kkY3 zi2nmF&upVHewr=9u|p1h~79e|u`tgsXCD8?D^4d$)gyV={5E^it{JB&DJ14JF+ zby#MT6xQ*5R)vsYZK`Qp1}EN2)R3x^_&cNq+R8NV3Vt(h(~ZYa$;r#AfEkj1p za*S#AiI!aZDm1Hqw&i)lAA2nn*2jN8+4Ev* z8gbC&Vr2`o6S=l}AB|cZ=r;RT2zt!=Ttg5RTq66Y1xCi#)(H5s9!0f;=AxfxAP+}y zF1wn;SI{rcKVO+1G=4vH-{jax7UNh=yPU(X#*LgCdWfPc+xD`n>vMN1dCRt*gbkM? zCSZ5;jt`yL?iE|p`M>-ms!IN}6U!r8n*N%NN(D$i0C5M&w~}*9i%4=$wL}k4_=*Z< zD~bj7Aj%DbRPD=e>FB;oCUKNmF4O~R0vU+(1QwRbde=KV{d6Vfki1yZ11RZ(%>S(Y z%1_pH48I??0+;3yx={pU$cu4`HlA91{uaaOGlTDpF6%R-+e{Z>rhYbjO7=yAEr|!x zA2F<~q}I>dIl1%kSP-ABElcuajg?b!RAnFWsuTB8ix|z^y+OwpN*X`2tY>Z(Mb0QD zdT2RmMW<4C#aH2WYW@r^77YT#RDtm)@%Qzm`?=%HoHLjcP$Ar76u}@UGrV((NWhZ_ znoNM{HHE-ZeWzxu$Se+jX?8?=>UBSZ{c;)j`rG6Vq#$7FT{+;K@z3NUsv@@k zc@{f7kYqiBY$$hh=+ciM+q!(2Be_&U4vSi!b})9*$S4Fdk+a#H?j2Wk_liqI>NEU3 zrpTRmN4|{Wnd@(Zj#!^#%Xq%5SQ>o@Qu{mA*Dqo4pMVLpQHk~X7GMH1=Bp_*{EfD5 zTca5ww%Q@y!HtC+&UmUA4~VaDIUNv_iudnj$)HE?PWB8$wL<*q;KB=2AFIgZ;zB-K z`V>6+x^*H&$H|@|0D1!CM^uC*7H`AZm4X3aNyV&%S;`S|U*+_ve>>{ZKJ6X5}c;3)Ix9HUqSP7}LlucIt_<^%8 zWkP86a|46ds-}1XFy$@C88Rw zGhXha7YZmWS5NoU15`>Q`R+M8mpjT&-V$qBbX8B-u@gL{zEi3p)OKU7q^3wt zQnuTEX=SO=k=?I{KZW{U&$+yh?kSV8!b$|A*O;%La`+YdPUsDhpN#8|bhfe$E4!g| z6+6W*W2%4&;{68HDnpTrC|k;ucWS7Z5G~S^6Ttuj^q`H-$3Q#+XISwjN>orl;4!d@ z%>?S%O3MZ8qH0U?W+1>3STOA4=nY_fsyD=r?A0v86_P9}gi0osLZQ3xBXp}^AQp2E zK4&9^zujvci`1TfslcZ0i>9EA@(&L$@KwtQIR{oWhhnq277ehPc9=^>FDQdRe5)XH zK%LxG*uOOfGB5OM1svVsZbWW1mnE%enkk0|u$K~tsn z?XXK5_c8~Dj%i0|7d2=YiywN<4XSGCt796`=0zXIrs0)j4hEPNYJ=-RzM&*~TM9`) zbtKeOQ?F}(jP7nqE35=C9U9Q13+e)l_&)b zCwDK%In@s$f?Bj4=B%04*s}Bzqn9W(C2+zY4w6-G8z2} zmM&D7P0?&ml?;JR9U^>u3p1NkfZ1Epk&s&Mz~Q$>Glcm)m5zx-aE}_&63N|y6}S*U zd0PDgTvYNe z!=!yCjdhcZh}kshUlG9m&t$EBIy7{%^J3phy;k<*FD9&Dw)j*e9CnpVxL zgwZLAO_E#nl3s%{Muj>hjbSx9v%>y9rjUbaXTCkReKum;Fddv;IJP2ZWrmpg7)}mR zWKe^n4$mu$&~v=vKY2OsqOz`z`U@&j?PVu(qzER9)E@SJ0&Vb`%|X?a=1Sd0@(R!< ztOHNAQ`xUkVnAxp+-<8%O1g*@SkVCr|0S2VNCXK%vu|(jQ_53*Iqq>@JCg?XtlLP< zvCLK-m34UsTnN5$i)IxPPH!2Jb>V^>jjI5^Xou7^5Q zaY22CqtWTpN0i2SLYR{SQJI}Y>0z58qD3Wx(t>XuN)O3iNQegs>VccvFL0oL+mz(y z`U9aon7|bU>Y7aaU6Ha%XB19^feUqoE7O| zRkKMxOQe?-hSzPZLg>OlmG--Eo~Nu*yEI*L;hC@UQSY1K{=iZ7t;}X24vjbV3bx8< zDP@Ol`w}qP@*qPHqjh>yTLl&DdI&Lqj$rC^uSLP=K(#6GRfi zzgCPZG`3B@3wVlh`%U%0(c366kcz4MwpuI$aVpl&{5v2NGQ*I^u{h zY5HLS_w{=-oPS>%2Fz*H0%5*N&7gvYC|DgcwF7SE$ASr9Qt%!W>$_`Yl#s~TO>OJv zX`-9mW626L2hz89FSezw-c$|#26>GY5V#iXB0c>B%F(!9Eq4kE-a4Pe9+B7!PgSLL zi}N>kcI3D!0#De9$myZz<@2fS+6oJ;{k`E7x|Z2fZuhkIT)(Qigis_uK;%zBwGq0dbR zhbQl$bIk^k*ZVYT+qGC?XQI}T(M!rj!UQ8j+!5JGd%>cw55!0S#sq>e6zFka=&}lb zug($56c)oOYS--Kc^)|CR?0G$l(Ql9LqZIYH`o}1xcBpRp1iU)!@L3717w~AbA$Lm zC(jLrW|0N23Fqn)H~+aLaD%^fA$sn>(s;xN zkJI7zhU3|kXvGX9>4kfW_?Df0CP?PLhi##lY4SgDEEX(lIJMXz=kwTeaR6}2`|Y}(RlVTXr37b{e=5)0b!nz79d~i2`D+S_Mf+t8?*x69Hhv&M z|8(vCrkT!bYCoANZU~q2_!Bd}0W<{AGE49JuCXeb4Evs11HRe!T!7eU&iUbidol}a zYh#Cpr8yk;`@tTeX9%3R@QX95j8cW$Jeih%8$#u z)40OvB0=E&sD^-Q0uI5xY@&m?b3!S&^<`_t@SU2LYEi&JYWyuCy$BXa%a6M*-S}vr z0w_WxZpNI1iz^WfnM{^wNqu>WG-zUX&~$!u*iB#uiCI}JRBt~j!a~n_gl2V}baLM9 z)y{1E0{<_quI2rw*A*1&{j{A-uJGAbHGleP4r_BPUy8TZ7K8jIr1UDfsV>I}6b=~p zOFJXgCen|?K1;5~8$LHSU2cg3S?v6QIf#yVQ0R;1l@`smj6hYIpx)o6+iwrIJr1m~ z2DaZ^z}^w?@m^qhFBnkAZ7X;Gq+q?^vzjb5-x9YB0R~?MtSJQilt94*Ago4=nQ|vg zZ*Fh5=Ia=5uTJf1YG%ycuC{V^XDa-_s13bthrgJ|K}!UG8{F>BRw3iAS_y_=ZP z>sx6PQzhb2v3LJfq;Fcm{rd@r!sP|VcmR(D?ZoTo>ax8$F-dkm15*YFU?Jn|p*XvFF%mB{u3e4+l^S}^V+9?ujoXVr3B4lfLn&dUwCN*$IQo_eI- zK(VhR67RR8O~PXpfa7baC0nRTmmw7;itD0$!CxE<;nrLC;i}-r+Hzeo*#Ps;jwM^n z`AuyE(6nP=&t)s#%_aR;Q0;PU)s?7$bm{ug|LvZ+HJ&N>X+qvo2DC}~yyp+y-z2K0 zhyKNw$eY#xR8pt4D5Y3>y{C#hGwqz8Iq*{4j-CU(`L#jQ9WZR1X>?{h-I*eNSaa&L zV7US2%5=fh|34B0-3!c1Fxswu0^(ZWr1JzsuoWWWR;ggGQ-U>^!>=$u#$mrveZCmqmjE6Q+-m@>+MSJgukCZF7$D84n0>jAt7fL?$X zA>ghoEZ2LDt+x;>7zNdimzlf4ySwHP^7{D&9<&G`z}wNKD6zp~^XD?G^?-i9V%#Bj6>h!w zLxC6~mkBe?q%o)ge?&p~1(Vm3=!~v8UWG_G? zCNeT|7znk)?D{C?fERN=P_A@?z2{EAlph8-YoviaDfT;)Az*gJxstb{We+Nxm+tQz z>q_FH6b@a?y+AN5R4jmg96@sBL-sdXi+dip9;e3wn)d{>LaTFVK}n;$XF6A=jAw8& z;G+F}>XU*OxP)%;p}-K*!Y|bOkKZ7MIl$pm{yC&+-^88B<=`)ox5cWml7ptqwr8?J zRr+LhJE4#a^YMu(d32!O|<9FZSYbrAhY2m_wz$A9D4|MOgnQKP2?*eV$pd4?J|SaVxz6rIbVx* ziAF;-*gpsb$Drtz6G8?fp5Gq0HVdBqwd>BbLPVf6sy`!xD(d>H+zpAO_|zOf?Z#%p zK+S=9!UiZXB4fIc*nm?1$Z3OURya}3xwe|k4(l{MQffM-ZV}?)_BhdUkkt0SRb-tX zv$QP@Hgoc4A$%lYu7wU95Ha5ypK005e$2{?Mu&sc*r3cB+r%`Vht^A_BbnU4c_J}pk7Gx zKC;~NX-{3B;-8DFc7NU-WCsRq%1wkx93_cpn6l#uOVl?wgX{Iayn}deb$crnj~%$g z>PH}{4n{B1{x_;cepNnt4JNg6PnS2ElbOT9Z^!8HF41y`QKML1-gni!8osirgdND= zwfiLdKqp8J=7D1g>uG<+X>b?Zl)5OhG z7**)^yaqE?f0{kOfG(rszPhZOTtHCJu~R7M7iiN#pmKDyS4)fVMGa^Jy`W7scDsLGPtvth}w=kkh#Vun!;X31K@OB^E28??*W@w z#vYYP6u+(9jok#%AW@tT9j$Add@BV+meAD25QzcMcoKm{eFh+8K*C6{p)SG~0h7Ue zn(ntb`87~RzbB;JK#3aLA|fGq3g8mhhw0L^=zbtBTMdeC4*SjDhmE77vcW=xd$Uz~ zz<6}6xthp;&p$u%x*M(B)2-{4ZF|!3nOOWP_??%?4ROE(hV0P<2Cm<|EMj{q@$WOs z$KtyI3MGH$ZgHFeOf453+V3369S=5{@fGGkB4(lM2QQl}tM;k@#eHaWoOX@QbUB+0 z+1z=qG?|@%+6alQC^o_iGmhoY#51|ezIO`POx`vENOKCrjHM5!y6By& zVaqfM?@jCHDGm5m5Lg$^ahR-&s(3waF6yM31;9k%d!Q5tKe7vvKFmNuL%wcSW}<8F zZ6doJ%qGxo`IaQb#W^qD7X;qg@I704#d9R`zSwi-mThNF_?OldFSxIFl508bY$V>l zmJZ(TW{hmQvf3<^PLp3cajU@bbet`_>>JO1Va`Zdov~DUX-fC#w{)VLr#9oQr$@xb ze0oH&nHvHA4)<+tHnHHCa*mlSO~%NmsWMl;Fz7uarLb(m{TRTG70|UjxLeBtL+xO4`+IzRFBm$+0$_`{rRC=6 z{nuLcnU-dO{lt4a-q7Y-LOytj6L9q1%=6-6n`im98k@8o@m>_aV0cNFh6C$ppQF6; z8wgA;oX$l9&5ed&8I3E&jmLtnIg#Iw@(!ylE4=_`Umel!lIbk{7AyU!c8|K`es3D4 z)3^BFUu&KlD_l}O{U1R*<*Wk=YJ-7zW&r_#QgB@Xc&=TKH^bs`q5~*3xj|OfpcbqS zg0@gVvTslf{H@)vW`m}BIUV=)!HgEy-&QzWHtPppMI;;+>jCDezhGENbCRhJ%0_Ds z60#Ih$3>iC1PXL|M-QP-_j66yF>JiTiuBnkbM)>lc*ILp2jb{|gj3(C(yH?X#rEtG&4nz|KQsq>r%ELrDp8vhWxT_NC{Z@}KMeg16P zDDbob2Hx#|S)TbipEu+?rEI(V8&9?n=NHm=9jkVPzc+8+DJsUiw?pnjaT^GPW9;J&<|rG` zI5FkGZmK@>R6HCam!y1itSeKpz_VzzvX8{TL!bI=hd4qO82DPfZ zP6HU~0=tXxs?BHkz&78x1$$K0y)^XFx?QvfKpPHe8Ij8lt4eFHSe*Q>?$0UTk5$<#SokvyJZ1!_r&jyJum4f?RWSUcpJ5yrs&j9C#;GWJ#K7U7+ z&42Jkbcf<9ZPZIwn1C_3bdfi0QgMJy^#94Cp2^Ih}P0q8Wkg8Qvu{hCn*^8lXvwT6zepzx_FXZJq+_ zNqnEyhzu$qg8r14KWQN6K6>IXMnC@T(+$p2AWykx)ZKO8g9LeG9OcO3ZL^ zL<4`w1P!YTWHnp&ph4paY+6ChI$JTxdgKfqHiU|%X$Zei=Z8bbp2&bl0I-bd`DBvt z&>+0yj$@Xz7Bnb1a*Y?b=9WgR{K9=oj%3LaZ}yb8P~uGAu1aX zh!^T`1y3>epi45B%_e)Hq;B&B0h7jF3kL*Bu^5^sty}i8>gs?mSx^am3*ALLw1$uq z6w6HgxdWJ7MA#0=_rKhF>6sr@uYfX+FTQ zKhi8Fua~^b5ZrvKHXgT%xJqX#!~8E`tAQ*82amj(=7;|W#I23`onk!@ywT9mUgF~R zgJN_5+EVVYi{;|J#~bwI;Q)pK%YyN1R_Ss*9vF(254r?e{+@lBnxW$IB>#U$N(gUT z>h~A-k?K%g6IBYi8X8?k%X;DKMWE0Wh|xLmH`z||D)0w~jUwVf7jb7_VYeX(1FZi( zfYSKzu-M=!7`%gf`}VCDKmrvuD?%lmWM5xaMX4I4-of$e?$RN`bgK9F)D*Y6IYq<} zqDF~i$*jbn33ss8yre55B~GzO{T<+pSSd(|JR}tImD($%kheCYUtiy4b%PS zSs|)saHH*$OF_E)6~ab`Q&r2oI}ZAf)br;Ifyl>u*+$Om=ZiPZI~FenW;BE4pUKEw zn#)dRilD+w7Hc4U5D(r76SB0VfeFE3efk@WTTc)qzT_K+HEkk5!oPZ==c<&3Vr25p z#45Da&AtFUqQb|NVXt9U;a4Y{Fyg#>>6=-dh;rTKoAG{eJiiU&p9c)6s)_q zCiQ5Qom*9yQ~^VwZm;N?zoWnO@v;6su^BNk`W8f8cT;w)ksLSXSHj9Ou+{eE;pxUM zc8>%BW-L%FqDvSk1eFeC?gobE89ndZ9!6McHT%Kd=!>hJlDfU>xkfz8tnXXa@4m7^ zvKmPoL6crvm~q%;CKrk~{40+^j>?a$nC1f~%SIm)m9CmmR2+tvV79AruO}0I!?hA` zf+@M1gLIUFX_oV+VwzrE!>8!>+)myHGmi=pFbEw5Jl0;Jp>+T=#|yBbklp$>3`pp! z;Qu%J>GK45<`36@HnZ|mC5MhxW2XttI^bK$7h14kB&3NzFSc{Iv^Vwc4D z?WmxJyX*lWIDpedzvT@tNEXT3XdFv&&65Af{`qPHc*t$J`N^;%?|cA*6!sQevLLks zR!W8^DH7Ivy41T&uiF-|Wbzc~7PFP_2noLc|4^`^=oP5v*Y{phhJc*?m6csANWBje zr3n55DlR`HBe5Fp>iZF}4RtSXjcGjK;`N@7f(-X`aj7oR{CI{)FhkZ(uE3Hjk?!j^ z@3cjP>cB+6w}@JDNW4L2wO(Vw{NVe_6xyk+2B9iQG3G_H~MjG$gZ6 zyNrFq!Zo$6jDi{~R7`rjiCXXo>|_ zn?kQO(kwL{)!gw=>OOD|;JrA3xQb_zD*{Pf7UaiG;tahC^qOrk~P24 z+NehFIMH@`xM7S56Gk`V3^w0myRtJZQv)`+pGpW%hp1bz7rr5yktH)7yX{!>nHkT-w}2R0>RB(PYdgKqi7<)u!UaxAwi z3o0q7uxUa89aE;${uJs`HeYR10uDf>+WZZ$XF7JcxQ~U9q=X*rueZPqNLeZiCN;?N zBlH9MGN0J$x6LIAV#o{OwO;}f zsmge%3K5Fo-3^@4M=L*z*wAvWJt95dqI99GPuAjJnCuv`JA>&I$14VqCEM=$Pw~$y zP2rm2HKb${8gen`N5x(R_7Xv4D-eByBQyg%EI@J~oeYi7-@`C5S)4c z8FRyv%@H7p>38P_^(^S}<9cCGa}{_`lxPw7wSN>55vl5;`1|DT&v%&6`y1^HrZ2^P&WpK2z$0KS0-&leSOIsAT<<8 z9@w_p6A{N^fo)m^S_8A%OxQCGjPvZFe2RJXSZfs1|Gxo2>V1mPD z1PM5%;B|($VZG919+gQEXFNwdx7AP2o=vg~XRVAYR%=x3EdUnc2`nK%I-tjrV6srpj7lQ@8%&w;7fjU86)Ttd zeEjm1{-4(Zt&qD3lnzYc%>F;(zB(wY{rmcWSSTeRNOvm=A}uXSgOsGSga}ATqcoBV z64FRYhyv1xl!P=QB_-V@4ZnTxe(V2t=AF5B=3a&8Jm(WT)?RzR{m&2E>m^ zH^AMFAkOPLr!mwThWxM|D%6Q+J8)vs3( z*3|nwCn1)biesUAo>l{ts71xZFwivU+O_r}+Cw80XD{~M+VoJUyiF=yYmQv}UQW1Q zFMhKTAAMB0LnhwF^baZEqR-n3({jCOPIyf^d_7-**$j@s5=uy9xHljL(|c%d-MSnl z(-3@xyA-sFt0=n}(IR4&JjdMrT~|;>`znVVX#HVwTu;h6^sa;`at_EPYI|ZCR=V|n z773}g%cXe70k5Ccu8}(3kuTUzai?neTgT4?c+O+A(tti^5Vo$Xt4s3Ek6)iePgaQ> zJZvE{H2#2H%`|+ffFu}j;Y6gh!^v(@@ z5`TJ&9oOyq`YCSKlHV@Fuc178LMOi0!j{Z}jp`k(j@9n$_Jwe=qW5R;o1NQPW+>nT z*C6I5Q}Da-cS*{9UEJA{Q=sB7O+8entxfVYnWks**O*_PGtf`gA_|v3?mI+5%}DUC zBRYdtg*dc|0zxSTyNfL~a@EhD|Ne->79gYJ(aK|%lF{bN_DH0|wBB}eZRj_%Dq+*h#-Omp99B#$>`BZDSx(gA3gN+j(xGj&FGFCKY z?wCjHmusaP+P`cU>NaNyIrY`nlqe+>H@8QY{Hd(M#}gXL-^5OD@&hi4-S#)qcV#Us zUo@0IDPMs_H3}1MEHdxWEU}7}UN1Ijy$s(&Qb`FvJ3AZebYF;!K6*zS#2VYqvS=P% z;aeguQtGmA@!0J8{+{QWvTM}fW4DBliFl4znVWPbs`J&d%lPx5^9(Pe+VeUz2|Xgi zO8e9A%K4Mc@u)6~{5r$3BUC(t(0kc8lH_(x+#i<`L0uzm(}2DRfqf2-iu4ci8bm?Bb0le{`fIFmoM0eZ{{<;bZltm z%_g7S-cZ#Wz8O}zcScnU=f~0<-^U=%)tutjHMe8lmB4i9tf+(c+pafp7sjfi&17a~ zmI~H3<9{8LZXJKS%0Jg|*EdVsO@NhL#6t)ec>u-VHUN4yfbnFRJ%K%Q?@E7enYd0L zU!e6_y$zCHLB*Sxd8$93D(WPM;Ll)pUU_!i@2SSV$M8tCh!`%; z8^*KBzPm=VJw#FE%a`ln*9M zpyb=1l|3ge7SuD%mu$Ymge%dKd-(PPyTbOCjRb;Mk7w-mR*y7@GSclc4$dxdApTcE)8*P%!!??aVcQfgyj<4ePvMKJk zU-{>~$%S2R)*SvJ2VvAqgF3%|nDyel4hnC5b62R+9}YAjlA}iiDc(#j{A|ko>Aw@E z^B%th0ez~l1^E|Wor~_%_4BOwywbbdeEh>;#39bhRu>gKiqan$aeAX|_lhxF|HEGA zwjJq~$Vo&8gl;Hy0G|Og1`8h#-Ga5gimtVrSZ&S~W49yD{!<~LcN7^Xsrx%B#Lg#u z;1&#l=)=@pE2nAe4Xv`=a(w-_3`!fS*32F6V$C1apeTR|Ox-TYA0stQBm%)MkA^8X zEp0zh+&LsUIlT#y=EYiQIt(m*ynjDVYT79*qGnbXxmnwF)5Dg&Jm8LAsLW0fgc>pB z4mSWz*)08aE0;>q{>mMdw345AruT*1ao$Avuff|*?pV)i^^LqB#mx-4+I0NTwk4CI zV`#~?18}FB%e>rxJNcaLJ&ckiIcZ&l+*lMUQ@qY{siGZY!ks>maaw(qoV!2R7-opT=KB{H{E$kt}-i2 zlimnj3SOI5$f{dd<|u$N?Y)0U&0YrwZok~Ob#GY@Lo9!WhKuVJDA9D6Jk|zzNOYsB zC`_hMvgoSRiAd2VxelHx8`*7vFs~hgUpO*59GMfp!_q3ykQDc_vGXuF*^pn8AamD^ zkF;;pq*>ys$v~#{VdsRWgCJ(3lf)3+SJ?;+;C>BCq2FNUHJ3ix8bAKt&cih}e)Q;+ z*Pw_`BWJFJeob+7+NJ8Y|Dwp!bqu7i#}%0Y)H&$WS68`-H1za8RCHjp@x%CzE^xKR zq(B8xe?MN@n|~Pb(A_2k^<)(M@bSTdWc*I+8;4Kc-sqmLsKhHMxZBV-XnUL%)hOTz z(bx2EB!$KapMp>Pl>gL2#a-?_-!I1|*5C~@v&)o>^OsaEr}3TG?jPe@lo>0^OM`9% zoEr9_7@q(0TlF6ixT6J=uS*%(9rtg3X4wX|^WHa2rM( zsw12zEnw^WATR6MowCVetDjzpO_y3;u!st}akXOg?pGzlkd&C2rL>*8Vm^i670c46 z<42q>&#$D06O#0r{@D#cArnZ(4zq7Oaz`T5aqpSA=+5}WVcJdX!A;~hcS*BIK^DERGs$gNAC zqfTUJXGi8<=ZQ^A;Mus|blgK|7HC;QdytbESUIl7Da}~_Al;E&e@VN;zd}7+TRr)V zXyy-_r|+%hWJtx`YiMLV2c*`d7i<#QWXBGQpqui!*P3qEEu3wYO|^nvt#2Unqgj3| zyDpb0wA>f<&)d9joYkigoEG4I2fS8f*^mk{RU{c~ddzoI;Em}YT{t)e=p5RG0-8hU zVZXgMOAq8|8-)rWvgB7R3qWnXP%F<307U!w-az=(h^Q#Fc6JDRc9Qw4obpEP0QQf@FPI$pUG@Jr3MbJ~8@VgAhCu~5{p)sgqB_i=>9 zHgsYgI8u~X5L3bQ(I?FNEgj9SV?OxmDw=R0^cxUO#xOp+@Ic;)LVw5%+ar zh{S+$Brc0_8-KG6U)3Og>g5{~|8EuUxA=M6-feCRv#2-i{>oAB&T`m%t@; zqB_&aJ7w9`)b&PlcGBAL@R3`I+;{*Xm$^TOVp(Tu8&Vfre$66^{Y4pYW|?HS|3Qb zY;O7X`yEur5n2*pkV%SS(rp+pBj*nr`w~Rs+-yl;KoOFR^F(qo`c^7VC?FK#sxfwnaGd@rk(|6-J>64`wAc;O7Uheus zLl;VGsF{PlC$BnxJaj~pLeg#dFe>4nko=s*rTAiX3sNA`PzwI9P~FbbuQ_6@X_5fd zVu&i8K@Q9r=zr{1yp}&WPG$qi$JIkwe8zSqg!k7N)Xm31Hg>8{qjhxOCS@ulB_#zw zJ`_b&ZZ!WC{-+VY&0nXr_i%ELaQ`=*>floiE`afk|C^%gc!ooArNf=_tc~>0ZPG5o zJrk0KC;6hRh2=w82M#;>{TP#_`H$ZEIMW|k*pAm_t)y!7ELbiY^!~%$LC`IkNpuBn zb7+$TKmc&8z5;RI;X%PDz}vV~Lf>GFTtI044#`i@4T?u6HHaJ^ye6O*!s7ub@G2mb zCcnQ$04!WEJfok5{|&4l=mbQA$HDhB=n!crjCL9Org)YHWbx|db~;;?&)XWzHSAVa z7_olBvue!e8|kM%zzFYuroBBs1+y;v4VK(&Xuf5gfSSTl z0rXTH%h|P<%~0H-G!A(9@Vzb1`gMyFdJ40N8L9*gJS#N32W%RZrqeCAFU#$31Aqhk zBHDHL_^oA)xVrk~^z?Ml4xI#IFG(B${hbdWVwIlHFx z72i5^A(V>e&F@o0l||>$zbvk~J@$9O8vcb-^A5=0<<3I&DB3e(bu;ksk(v>1+M9Q6 zXaj|5p(ga#sr|Xo1y#M-zV{>$+!z9x&+YhddvUae8cFN=CcHgd2W+@bi{j1szL!vx z2v10mmz4BrS}^`Ah6yua1RWPywyPLe3B?0s|LU++)oqEUF+$gIaNfQvFAMF_bMM_) zxuI$werchm^C+!1{x7ZfC0XlW8c}u8IWw0OX+ei78cgd2XoX+P^0u7*SlzM;Ep3hh zlvW~T;eGzq%xH@t#IJ)0)3Kw zOISTuvo=}GdpN9E>ne!(GC+|GczhAj(M{l>zM@tS$~>AttOc%p8vG4a!6)cA24(d6 zKJahtT&>(EZ`JymXTf&;vcf4*LLw>juD^V=IF;qIWA)dJ(ml%MDUGJ9V?8?^_1d7ua z*qCqMzgMlk<`mbAu_Sy9)C6$J%uuZ9d#~{c&KYot&VB(3>IG3SV@Utv;3xmE$L*EXfE%n!{n|MLg4+lP=->5Raf!eD8a-}F<|KMa9sZ#+Vaj-1r3RMU zTWM1KLPd7B?mhiA9%fY0<(Q*bk2e_*?|Rmc_UiBw(QBNZe(i5mYgbT#hw?n@#4Tb1 z{MMLj$I~H}KW>!weDb-XD>dR*Ty@rK)KSi0bgmC!F>(Dvq_aU9DawIrbzpw(+~ zTkyW4U!Mgd2rhsob0CPvMnUL_dFoWz@zFj?a|{eB-_#d_DMZT3%AgPJ;v#S-t;_uh zG+-4y8BGNB*^kZ}ra&Kpt}9GvyEBH^blJxmLKGb^H=wp{2O8zrvh(^Ecc-Mz(YALe z$G5IUyBf3#VTqn}0gO61l;FR}+P`H&VKVv!ECDgGk2<$cuB*w5)j3ph?OGp zEK2Mib@U!s?oy9dN`iK{8w@4l>3MH!W(4DJ{Yli4YVwn~J|y#OqCa1gGJVFq{iVjW z4A7GNE6k$G>-s|^xqqQ-y@h>u;w9%@Ma3DIHIi)J0~6l4e3|6qR-rdjZ{5C>mNe71CmQDZO$&F$NXDC^JrEFM}tqVhbjMUyr(FhOpEh-RzI zHy?a)ofxL;@xVy%Yw6&jVH?~z)@+3^>ghU(~nO5)l_k+&#; z3!fzO+0e?nnuR^(i%~&m@H%Ke^xR!J!&q+u)JJ*JKy3^aL}PGjzSz zd#a)R_SD9KJG6EL3xl$?s+t$oG5N&#(!2|Cezbj;Jsk#;%AS9I6Yn{kF5V!ot8ZvC zycBhG^beu~ITTE%*g4!DeeluvJjjJNS~yS^{e-wM(Pf?$%JMc3R%~ZGY0+9Knm7Z# z3|6ONx%?%}L~9tCJ7QyG^aXE5aOKK9n0DW_z&=BBAN9kwYjz%B?G_ z4XWdV{MP48AF)Ridol4^eSvNvf4d0%&I-YW0G#*3bhc1-)}I166Qs{$AhU&@0<15i zqe<{qD7_M$FE|Kqlf8d#ePg4!xj6;km0A088P}1QD852_EisiPes7E^i1+xSSH2!a z$Z-{}yl58GBU4|2K-SZ+Mbsqn>%@STU7<2LdS(0r{FW{MNbpCt4a?1~xYn+Jb~n={ zLlbc@8z3Bdyd1Ogx$@ikA-A$k;!`va7y5WXk>N;{apmei)huYH-GRY80U!$mb`avc z9`hu;iK}`t z)j$#bYeD8qBxIA-(``HkaaEK(PD3`+&(vA^>ir&4^b;R12&Up@#Yf%#^|1J@^ON0Y zAVx0gTh77%^iYZVN@qY5p(jI|W`WEv?SGPDeUKkLM|;Gt{evL%Fq64`f&%%P@Ae{# zd~_AAm+I~Jb?ta(OIDXd)8n~_OAFpB**@ODqFRc)yAghO+o8cQb2H2x$cDj(UNdrU z*}i$%$_X`US0ras>pX_0H~#orx2ThvTD(VJ>AJn3sX4cIlU!nDns=<=Le9tS6Fz?P zyS8zg4`A;gTj_u}g8$hn4RFDJPfZyVYXK3D9_aYddM<$w^fnKTtCO9aHFLTBHxaiS z`1o|y>=#BhcxtPjpw>VY=hH~z=Y8JwqjnSHs6=7S2WcwY873zREI+?o-*$kOihN-i zl*g2Rdw$oDjM#&I5G6;J3+br*0T%XZ8+Qkw6OQdwUS7z-!NG?CD;UAS zq6+s@z&}MbT?BwfeJETeRTTe>RZW(^W=jNVo%U4M!c zjTfTe)?j$d1)=)^gL&U9rvF3yWWPjqQw!838ctE3C74@zAU_zP`(kc?DaQ1%MDvEw zhHMWX(d14(B%m0@g@2X>-?N?Aj;Kheb0z_e0&SfHe>~hzcw5xDP5JM2jd(;l%k>9qL^ zYFwu`p#(^}dq+&*6yeaenc=<%*4&{`Vj3TD?)$LPKM8q))4MM~drPB)7JBUMmyD+$ zoLrVyAE8^+2B!U_s$`P_fQk+cIo#jQgnlKUQQcKx^1+`-jR~`wuD3j;Y-Nh1HdQIk zcJ5bFMB(=>6lI5RJ6)R`>J9lBZ?+xgOBOub4{&(VlDD$cGRMcOJcK5eZwF3q^>2?f~XhheMckOUsbLc{jVC^+Tx+D(iKmhCpa6+=UWmV9-Avx6&cSz*yS$*D%iRD!zrH__IGNfO>Lk+(FQHOJ)iba}zJC%&7b))Ugj>$we2+_VLT>sU5MP7B} zpzC1e1lHtY-G7g2dF4K+gTXEXRj$0yAq%q%4Y*=KYKKl(m@@CrFlYGSU7$9Kt6poE z8~a_P9OHNu>q{rg^E({{;*Y~uG{!4%f19oUDKVa=0{w|9<%gtU_GB%ymlL{jcxHqY zZP_%{sTw!?OmoRYU4QkOuTsOfAfJ4|^fgR&^iD)-Htxl8o>=jy4&_%(5QG`E@*$!R zx5=|W1l++i$`?P{;)%5Y=rgpX67CD-^Ii!3U8oSKGr~a?Qhu<}V&%%s5?gj<;~?_s zcEXmm_!l4R*?pe(ulL*0xBOQKEVl{1?gu{m0Y<8X^m*ow-tCk}&oi zLU>!dnx?HEDK}7@oLGKPV~5_4KJ6TM2k1e1uJY(lX{I@q*cYFCR0E}@V0lsSzodVl zt>Av;<7;y(x@S#1)yahp*qPA1-SyXLCZ;5e8RR$;@PRhS*~E(!aR1l_IM_C z5Fc&4`Se2Q0^de6P0-M$u(KE&el0MfxBFN+2ri|z8;rTy>qxD#iEf)lsm z61I7)DirTS2zVl_!XMwaZ8<;a^dr+eZ)lYDq!9nNK^R}H!<==z{{5*B6r;Fag%X!= zs1y8i;#J1PcLadWQd?Msl3=rUuTX8DxfMJa*nZDG$in_tKZv5(LwCNxS(%82$;1*9 zhDK1FsL8p?Cb2Z@jha+Q{_syA3}LH*CcdL2Do9^2&XM1U&3c>pjGv9x;+lU?^NO_N zI+S`siA-IG$$w;BMMEduXWkpte*a;EN^3oD5_a$*n7j(gCB3L}N%v%d-2XhnU5=F< z$YvKQ9FckXcrlw%TPS-3#C>13U)@M~46+PzTDH|qRqx{*jRAAk@=ZLB=Q<&ICPNSQ zkJpL3I9dk<*3w^gtRHDhs@iQvNq|iR`R^08SK1tnqweDf{tYoiRqIqpqV9A3jpdWi z@0kCvarpc@3SnHy5Z`tvmT7SKF1Ypx;N>&=eAyqD?>4~+nwH9*Srp{H_$U-qV>YYE z`m@~4{^#3QK^VI6ejn=6tS8D!&gS%koqNEP3m8o4wFaw-1B@vCfoa2ShY*?XA$c&@ z@T(Hp89%*M2MXp3EW4)c=^{&#tc5PaJtd)Z4?&tH-^yFYbGe$kVgAd5M|UW*3f^pV z{?D1(V|8RVzyFE_Whnv^A<*68yhTDSlxdV*W31Gxhd;l;bIMEpqBUQguVGo5?tsVC zfXCEG>Q>utds&<1(3yl$|4D7E-mI-6C9#*S8!x8yil0ncW5feFz<5~>AM?g6C950U zwU8P^TRMYsHanjA{TCfu{F#3hjrZj7T%hna7E*g^nPECq(W3ViE3JjM`1{!Zu=nzc zfbmvVCI4hOjQXyR{@7`K=|Vvevq&~>WU>-eEGsyxFfTji?hdDsVP^V?&2*elw6KM0 zav%QDRLHC#Pi}9AmMA!SoExe987XS+_3$MJWqTJ&<#&bY)Ch(Ur&^ znXb0(okzuEm!Y{rsjfloL6Nn{z2;z$8=$7MXcm4%hxyHQRfB^aH{lZ=4pNLQfB2A& zL_sn=|A1QkzZd#z1$KYO#HRG;GO8?|`rFlrQ3Wj&TLQE=DvDx&Y+z>E;=*APrGW8b z>!fsj49q~9s!^$`H^QIJJ+{XWZ8Q9M<{0nVb#dJNgF8SM*SWJfg&H>%S3!i<2mh-E z);5{!&nU%mDn810o;HL)`uO|#-6G*6t~w3#U5eLJpvaK^Nzccx1kHh0ajkB5q1 zs8noW7GMp|(jbe{cAPQcDJmds?*9CaxQ@`h7RX5hEQp-z*hwd)kui?usoxd-;|H>8 z{IvBV8X`148m{`SEep&~0p5S4nonz;*iire?eV(~#rr#MD`ah+59T!qqK>6hHB}>D zS~Ay5y@D=2u$6b%iv2*6@+BlD$d4l3_@hN!qRbxj)a~z-c*|J%&c1a z$IT?_^2UT;+2--CeD%EnuPshl%43E8YiAsKPrtdCqegn>RzX{*Z`kXBXGi=a`DfEOh2NB-WlUE|& z0-24HrMaKDrbZN$VKN2TuQdO5i2P*+q)s;<8etEJ+&<;i!WrJ!QBaFNREs`>_wjdu z_P3za#C7O(;s}MhKv9?c^Tyup^Zzj=8!#(xF3dXpQJocHul(KoVB*Zp=i{g;DYqP% ztE((?ARy-obWQ7Y- zzo@j}czTG-{4y7{)%d3IUe$*jb7!i>6&0Cbv_1Lo6g>18xAvZ)N9pGBN<>J8u?| zq+!?-gk&F&g(cf2xJTBkQevxnPN80TA1KrJLWWQ_y*Uxl9r#7)WEsz*nX_Y2aGc5b zBrKR0M^Ee!3*Ct4XeDtBtVWV%ZCA>u&Du-Dx+TafNh9#9C*`&pA}f1-UbC@I#wH&6 z7^)$y`BnNPLKg3(N%3B0fq$`00xzBF z7g%jVc9eG(8T%$8wYN!bqxBu!%DK_b8>zHn0(H(qEML6N^^y-JZoNs44(F!O#04 zYwC|uLtj0Ga3|gszI3r-m)}7A-ssi*vlciw%pJ_h?x{}Rm%g5bg9jR2pz;?nDOD!9 zbDFDM%FOSU#r^dC=KnT`sg5m2bNqHQRTy3ZG{KFW)}quSU*Y-C5QO>%4t*l@Jxc=? zj>EisA`m{=^}C+i0`cim=*mDNTEySmKCWuPv$ecS=6-k!(NtU>@69Asx@Pm{71*so zvA?T(8APWZt*#bi9ZDc90|Nf>{Ksfu2Jtcs4?_){mbgA==-#&bSr{W`H&ZFsHLZ_k zGvWcQ>06G7!wAepgt{7DZEY>|%|TgB0=gua6%&6$j~v=_ZkFiWILQyCCj(I0VSp9^ za`J`rZ@$nwAqfi20Tdeo10q7u0HgRsnz{#DA}thd;W@~uU(LT%TSN=9FseLj^$3{2 z531eD_SY;6su}_GKI_%>2sCPKhXG7uU|`U3 z_B7DzhZZ>@AqsOu6;|OXMURKxKxUev{@(oO2U>F8k2t_a#Z#T*tJ#IGXN3Q^h>wAyb^f&hYb^{%O&+nN-dfoX*n;H{ofvOa$R9Rvt~ zh@9+~UpN2OOXGkm0XOf~!2M}KhQmKEfHj6t;QH^!^;w+eGn=D}*TrPL{}X-$ey&%T z>%O{F5U576v84j*d1hG9VV($~rKMfAG#jJ@+5iCL&x-V+GZq0ZOnGih@SREi(|1lD zA^F|-CRr8bi!3Jio)NL!W*|Ay2ItnLy$bqCkWS##ZWjYCgpP7vhZDvP_|Ue)+wYA) zUBLbVwE&Dz^}C_JV;_DjupeSF6k zUroN+Owu9ZX-m#GV39lTFMa-}@cdN&7z86wv;*x!-(DVBo(h6_vuFb|um`FS|7fE_ zc@+|cnt?sp450Vyz$diWY)gGpx5vc9B;mdr12=b1mHqu*xAiA176Q9Zpuei`x9c5M zk^xwuJE0WkzX1CPoyXRWHt0e7XA{70!CHCK@JD}sid=@P0Rurr5Gakwf~rsm84sHE z-?Sc%f#OQ`4+i7ED<1HY`Q8KKD_q9sP@?Ulo9j>ly8(v?r8@wAw=kfH>~D0VY%^44Pjt#tS*4Btbu1 zN*Nea<=b%uhS3A=l2=Uw)(qWnJw|vqH(5w98BfcQ!O0PTqr&o_`kzn4*8{n!zdtJe zEaJp>qK_JvvQzlaAGbxGN6!xYHpx8{P5S%EC%+g##>mSX4YD#5_5z%H{GcbBnAi@} z##mTbvcAqj&p{wm^i54aT8{`o)qQEn#s?3gJ{_)418qPB2n-Hp0GS2Qf;~tRi_G#+ z$b1cY5{VoBX1^+(LC`S{NO`EBMnqE5N&@2BVaG?|2D69l7k@^;gw{A7%R9h9*oAUV zySZz>u2a{04Ne$~s|XxkbejAb@8?i}<$@7$Q2CkgRiyFBnoIONaz-ahg6*DzLD)EC zH^0El;+PoHz0J8gSnu&J59mHb`6j?6Md!8vtXD-;wt8A+Rzl|^9E7A}DD_eG191qY z3`22xO+|IW4NQtGR2`g`iu<2U$C@EO0r!F4nL5M5(jj2`p)x$^HSV?8UAm*12Xu%# zVN~*Vc3f;xK~Pn@gpdDaZ)>4YlVcGq8r<^oAznB}(3w+8eHIG~pMXFN^cu{EO0ELB zC9<}*_G^blJb*0M^Y{oz!GniCq0F$lY7=+UTzuh29x7-tJ6a=xfX8EiA{HQ{POd-; zKu<8xtf4gBM^%$GRP+m1v{zxFzhK7mc%M2?t9Sxv&z$i4M)1W^;g9-y$v;a&(sFXa z6-!_M6)Y^+&_+!dWZKZt(Q&Ay{$8zmI4AJC>8UaBt6r7^jaA#fUN#txLk))+>^VS? z8_>VGhE96EN#;DCor(0f&7$0Dke+@~`|u$sbZsv5cN`Al`kw+xT8k-5sRM2(DboKH zgui{XV+31#<_miL-rakR-V~u%TreXU>ahT-LGfQ>r|vmC(3eCH1ih{#C^W&V=)=6b z*=o+?@7UwoV5kvbcqD^R^P`(_*h63sVqrP-T;>=tF){DT%cJxvH<*zQqEDbAh+A4M zt>?PLGu@u>vTl4VJzCGOH%ocB-&P=jj{?_TK)26>PkEnJT;~OV{`W8YR9R`{2zE{5;u-ICkhl4)HMy+@c1RhSf^H#Y zA}M8H{beCCV8Mtpd*-a2pu{Cr(9aH`OHi}13j94<{yME>XlO{}U7HNf^T)_9V=h+M zqx*(NM#L{0RH~?DdR<^HLYm#sy6HkUK3g+;x2vktpVNJv-*iYzO( zD^O*{deEZ81LyJpBXR~hPv;Z31^Eg(2Jw^4DdqWwT6QzaWgyV=IH zf?TG_M4?&iihweW+A4O@(vV&OXo7)^1*O-Xu4~%D8|em_zdc&QSfPmR8$_n z^r?JVIzZ)X7n(ymVsC&(2pzZ!)b%U>1=!O4e`dzco&{w(w9K?Akq< zU@}2H1U3dZFu|lZCgSIIptTC0l2Tqq2HW&gY*Eoo1SK+n?ox0~jYz-FQyd^}po%tN zdVqo12&0dcff%y}v$kg+*R7&v*nP~SAljAQvZ7pjQ! zsFK~X$^!jQv}7V17EZ16C0&6tYrAsQyhur;3j)JJ22T4*!4vt{RqtFp%Fd|(HlBna3U%E|F5l6Pj z@!~bgZd%Msmzn4s4V~B>;{(k|m`i?A1~@nxkX#PRqq&^=(3^&4r1(R{=qUApX{ZCM zF!9Q=bB$i*a=f!?qM50aS>lS&4Ybk^r7};I>??>{v_!;RtXMfe5MhdB*U0ZIIxQmo zT+|E3gMa<@?Hv7`;4kU2(bpdj-lVwgM#^K+`vrvG3?4pQ?FseXb=p{6{X*?|fI&$~ z3G`RVl&xZrMM1+pky?Kx7D;gH7zm8%LDnl~^MM4x#Kc4jCL&*_>;=4|5oCf{>Um`O z`Zc)p^l3@14=(~gi=3Ps6ugj}oSXwL>kRefK@0>c_evTXoJGV{V^svm@W_aPiHR>r zf{lY!ScPu@8I^&xbtv#~zqGW>pQR$$c=9zP-mp5(&+iOEbK{1x0p;N_W3YG%zNx7x z{y8i+l6Me&fOHO$B;wh4u)EQfrA!aj-(^58O>js^&GGZ=7dOI`eilne zNSp#n(6{z>zw+{OojuN#5ZIIH3PBea7sK(dzSp_9zCx~52v*VU=->);?|G%CPj&E7 zOef{$zMYTpq=K{yQxtrWil)=bFJVkk*p1iPiErP^f`gf=sAFVeQYo{WI){j)jl!OK z{-8ZDOStVGhjc>d9uSaq?==&aXo~CU{;dm$u-lH3bwYGB2?ovm`}eUSQ3h(yT2h)Q zO)`iAhQLT$j~}!*j_KecF+LX+g(b7!n3nh50;`-1HFMu7uGrwV@86*-HZbXGQ8JqC ze!5=md7KErCgXMj>JFBzKl$ ze#o8~k(=Pa>FB^v5n?2RNMNgcV2$Z_GE7mRI7Vqxk&(%0X=%O7$hde2a#RD6&emv7&%MGM$5yU?7HMH^*x1MVYCv&7hS$yCIy=L)iY=s2+Af<~4nE=ns!?Hl9DW8K7_hsk zAZg4NtmwYG&UhXR^J8IQgm$~|H)yym9+qf?RyKSD!s*wpzS4$t^+snqC3 z7%K-Y7FX$kUSBr73meCNv%}xlR~Zr%Rv@kDJHnyEL_gPaU^7~=CUzz4LWZ!g@U96& z7jBjq+h*qG_uw$7{Pchfvj~(=jz(3oBjx1eb~*}WqS&l5Sf}4(ojLOgb`JrLnIt4p z$>4oeAa}?HSM+;vQO>MAe!ORXZf+?M54fY&J`SJm;`5fd-6OQc{vW z7#i@wyoags*&1ehd;25Mf5p4Tdg^!5Hoz<~v9ZlKdhM;Pb#SBzh>1^IT3SN-S>8)n zAmn*O@s{_AUq}cJlVW1-YO1~;Yx~gWCjepLlsRF!n**^IjVciuA)%8W3=6{pLiR%= zBX0n5Qou{6w{O5#MA5t4+}!Kt-S6nkUYU?ikJ8i9VrZ9G)q?(Bcw{6Na1Sq13J^hJ zKW=7s_)3nc4(#*V(V=T3r#=N4KIJz|W=U}|bdE~B)%!~AN#?7s**3!s}bzsjYKb-tL{E7i-#>K*D zX>Rn7(SIUoFGt?^fBioP5rp>AG1(%;ejDEZ(N2AYqLZy5i{@M9? zLl|9y|FXeEmt&gQ*2$>}g+0ni(Vxew|NHZ#1gIb?5CX{;7Z)Fzn)-pCFq)_jG|{~| z%?#wmI_NN11CZ$BHEi@XPn|5wG)W1l`os&nUPhySaFqm?E}`yz68<&OEz+kV0L@2i zNM1~IBcJ@)oP#@Q{H3umqjL+WUI8H?ht27Ruu#>!Co6N1dWn#5e10C=$jAsKa-+J; z>gtWKAFDfSlTQXS;g!$>L`_}rL4hsmMF93lXaK0=1py}Yq~-HS5~$T(unYg2-?pF@K)fXFM)%C{e0eEpzrzF?pO{oIm8PLZ}U}V zI?!z-2czu`*B-7xOX{79P5y(J*=kNtL_U$p}<(IZ| z-Hf1FbQzYMlk2A`?79a*J)GDBJNS07Z{NNS4aEiU@=eTbz*HzGDbFLv{SX+peE-f! zmkO&oKlGWih62HXi4Sh>?)PM6Uq(hnWy8{9dBNGPTXE`47Q^zg_>p@LB8f~8qai?Y zbjr8@i(H!nIYrKBUQldI5d&$6-zY$-49NI7gkM15)%*ACaHztNRnSeWx<`W_4ht<0 z$U7RYM3WFeyqIC4xBtD~!H4ut#k+n>QcF-P33k5<;!erx@!@}8umVPOpPPDp|7 zMYv!noP_AoQ3$f(=2lZ?)Ln*6NW(W4AO>OoTmT{7<#K9pK@j>iyrGBo ziyV!DYoA8|?YYMm^=6L(H5MWy7h2G@664gb{>|Q#-jyy(f+-4VTN=D#gc1t_@_T$- zOj2^DBWcF_6a*!3%ILw{a9zJn1FiwEII4T;DqJ^jz6&B|zeLalyLcWcD=!BFNS}J} za1CTAX%K*|nCR%R&z&3FcHdssZE0(J2Y4468mQ%JMzCq*w?%`fK_Qmc8&3W96$rat z`-syPoA>wy1fbCh#P38D6mk&}5jUZOX&%A{i0YmP1fbo2EJP}RA+jhHyd92KGGG)< zIM`l@m-6e!o`GRHFvF*!QZP3+2UaaN09ls-v+4q!%$*_tf@zRmXf~K1EM}jZpMM3H z7K9-J0|G!zcn&g%cX@g80E)irND{dZjUbS?ZR~^DKw}B$U9@X09dl`kWL3>npggLu z0nYuUYAM(Xxd#SfSHNO&f^&1n@^W1KscfhPNIL}HP&T4Vg_|7|5J2 zUwYXfDM&EG9OK#;~1g_FcUmkO{p8j4{gL(tj-mis&cD1x$% z4g~?hRh`msq!UuXphJq5Xii12!)_lQC~0Yt)f|9VWWYa{1u1@HbhPx18#mBZ!W4yo zb^J2~>FD2qG4q{nI=u`D!c??wwOcIG33q76O~h?Sw56p5Hm1U`wF7mCl(#a#w@#DP z%h#tA6zCfcg4x7CG87W95vBY0y?uR8!+j3?{A3gpIUa>&*f2+u!KR?rv4#_plYj=p zZ^m3PF)_$D>Ke6hNCCkbzD!Q0xyx|LV_4JRwO3Y7j<}T6X~brC-2|Ti@X0{Csg@Kt zw2%67hyepZVCg_~`U3I+u#KNXLlU~WlmI%{g8xFh)#20800mM>8z(1!FsrZ}VGwtW z!xf+XSxBEK;@KW{ytlJP4<~D?J-eWQbMW(%Fftws1Zit)L-mTwo?;=;0p=S45m_>v z1q2ZhsWBAs2h$GU@@~3{ufyQrAY`hD7x<=A2n5z=U|Zp(lA-qi`I7Y1+Een~b*j*f zHDH|VzD}^ItgJ*1wsbpx{6M27$VsO{!yw$)EoO;wz(B(eDIFSB&C|!ScvM1Oa1!8d zG;-3@F)%ZuZ-=Zdj|d{3r=4|@Z^C@c07*Izv>`MrJ6nu}Xq}sEdTNUGxB0_|NT4Jp z-2`(X%bf2I$dg~d;zFRmwmv0`{-~lNp1Qg^D)^qGo`;Q~s|kqj4$T<^?BRI?kV7m4 zZJY%OmMB>xOUsvVZK30X3L-UWI7e_AceWsl!Xiik;LmPq;)Tqz4o3J;zFw6JKDIAo zwO{g>vyuwi-X9lm8-NhuIXXHXa9w-IwsXa9CLt*1o%e-C>^FTK9e5CXWv$B!S81GTRH?ruy3z+iRjQ8?mmQwbMZpljV{bJPBjrR7E|wXh2o96uIz zc8UA<36bAg>Dcu6=aS#O^I^T8@$K{r{Wu|KEkh)HgKL4h@k*f`9$`btHULM&rX)s2~-1a*tR^x>`t35ClZ&$2#sqKXTF?00cz|O4a$$;GjL+h<008UHD zW%Hcp(JnLid9>t2A@mF%?&P@lUHCg_C&Peq{RO;8Cnz=g`1_-BmTv6H5U#-;+Quz5S1&4@ zR!}t7?Ip|hgHyYCv0L+fbzs!P!^08e+4}GE$HzLK8($P$@9gcZhm>k}!xfUBU}_O6 z*uNOwCwl*^sL})6M@F!;LDQ3yb&B?|5_iBiVgayP^aw)4gL(o;j7o1uA0h9Axu%IKhUSvFp{RczD*=)>upAPM(ECd7ReZ?(CtE`IfP{!+qcu60Ag$Aawg7^unvM%7IvyIZ zK6>L#czE*liiZH0!!MFS&v#(c>!>Ix*n%{;#!3)=H8(W)LQ6&FhYkpI;Kd2@K&6Zd z9QJIr^>C?Jetv!tbW{cbxU0z-CBq7^vvus}&%D&Zv2k(Tpj)&%KpVJjCIr ztOem{S`2(NDQs%2(q04@t0Cj{T?RC+0*^#4A9MYA(s?_mn)E`)a7%0JWKWARmllu! z&?pB?G@Q4Wkf85u0cvJ9*VEmd1+8S@OJR^hAX-jcNkR?0!})+9Qn5BPXil@4%q)#1 zKF)_FH-cED)OPX=WI;jlCC=+!ysBH24R3FS!1`9_;N~d;)k9n%AOC6P6p- z3GoS{OlP2~2idS+SsDL@#(#f$keDR+T1gNpx3aPdlGn}&yp4X#%P&*X(&{kL^*{M1 z<`N(^z?XsVhGGRji_)=MO796*n|>hs*CMxhULg^Qx_NIxLq4!WtNGtgkjX4sBXm`S z!1q7vKQOAQa;$Xn$w!G`V<({&ZK8Y8Z@2#(9$phbsx9TDau^&e?5DF;gT69lyB+TF z*xTDfjJ3|iLX3XWfdFtayx_iiY#&0zVE}BRQjbHI?9V`1s0T*WDj*GXJ#KrO=MxhX z8$vfw7Ya`LP;Kh)GH`=_!cZDlyhTqRRkjAG71}@|nydX87X^}_9%sxopvYba!Md{L$m{W?AO7%mN0IunAn?pF{^ z^aC+Lbb<=0pd$zH+gi(?>6^fB#&DUmIE}7=dQwC}0uEd=m2|vw=e!aUC}B9;MM$q9 zvoGzmhgx7AurFTbo|Bf68izjSI>=h8%NEm%omTXqN%k~E^CCi=8H@M?x2%35fLa4S z{AFO^3KYTW(XRDUTO<3~&XoFQn(FAWu`!k7jF_afUe2(i0vCXOA~SmzTJNEk-M#$KS*bx_SS#fr#UOp?~CaKwSN1VeErg?J5C z>T5&86t$Z9`qq{dlqG8RJpd2Dh&-53L!dVKHJnxg0F&oylTDMrThjy!i3YY%8f1_B zEbfaf)z0A#s6Vnp+qB83udff~k1w5_tNt@v`Vr(Cmj|9Kdj%vbr}L|}<|jj!R9qW*t>?tXaWL9s~=&ifT*nsq~5@2tcNWGJ5W+m zgkVy`n$n5>@R$BPcwi#{J6AV0_NUz;M6X^vHg#GaejXcp1rU-#h_*jo!>zksbB^w7 zm7sx*{+PGKe$qr+bM(*c8F~&~drGnAT_(ChKn5X%=+hVc6d(wvI5{~h-S;n}!PUKc zVvwPt$O_G|%hAr7k*_-d_Q{ZOlLB!>k#z%dra~y0>r}fvFwg~_iMY77Ok&VNH zU2a5FTf3sZ2pUxDA+A7+(=gW!2Lwtm5r|&IuIU1|F!8p#mX$NL&@)H}e#cyNV`3z%GH%9wM#d$dAC}kdT#Kcv}K=24CC-gCnZTkx|KG z(aR7G+dY4!6yv#vy-*zkaS$vAt)Srkd$i<233-DbxcO8liTa)~mGptUj+T$F^jo1d z;3fV5UI9Y&opT$$H(X3q=~<`pnX>g;2$FO4Yp9@q-N)Pe6x8KIAg&?OY6JW*R{iBugm; zlT9_tYh$LP_5WCV4}Y%PzmNN4giujvM_Nh|?Mb3RLwgYoo$aDJTXqp?DWi=_+R`|! z@-2H*G&K|o4P{m+aX*iK*ZsKvf&1~euE%wq=UIHepU-i;kN5kvj;p!^SF~;0RxfbU z#^xqBpKqI7Tr@g#@S~ry$T2vQweicdz9P=g#KdW5%!&?WzvDgXdOQki={vuFp|-)G z9_{!1G_%Ugd1=~jK@#gxA+wD>uKSk%{PWN3Yjz!(QS%-@4qS6;1kye3L541 zz8t97C$2j~ca$ETlb!uuVMs-S`_Hcnd@4dMcQYV~2na@)-lS34mbje{C&fuJh>@Rc zDXJXJ54e+@1Y6;~cdshV$^Am(n>TM3fB2xlgcdkyHwOCm5Sp%Ifj?OctfO7<<=w`* zs!-`IGNRmI44LmI@)JbIy!Q32mXKuK-%_(fEep^tr<&U1ii0ENDMnH(Jm&%67-|Av13_N}4YvbO$;v~c73Uz3%2;riuvQ(9io zqDk!Av*&L9kIj)rhf?aUqUT@u@cG4Ads3I0Xlm~7VB#$u;#>$DOF$<=wDFRP1hJEc z9>gX%pHaT0H0PS#F(ZehDZsMfh}yCvTdJy_VT`Z(9UB`P1%=`6HgjfM7?s03+m4+( zAGvYE)N10yBT-R(fSm*m7dXihb};DZ(Mgt;{HxiwSI?0*A31X5@})~Hq)7`F9Ahxf zsvKo#7=W5E`{Tnug8Ads_C?<}{WmkY0CJ?+F-xtOs5{9C#z$au`e!hoYDo0FJvm=~ zVFfNZKo=bhwreE`LWk*Xd{R=9%PIl>fXtnn*%!diJ$`n-NI(qnIpy@YOlx7{zgG)l zm^x>Cd~~Ye!}Xgt&(bf>beqfJmykMQ`{1oVdmSJ0!y?e*a>(1FXe+1UzsTTba1)+b zJ0D-)nGF09tJD^s1-F~FefxG!sP6LSFJ8RR($zH%b?0*^dU7dQW^%GOO%Y;wM&ZaK z){!Oe-}3;bPTkL2nQU)=3QWGFVhs~!555Of&KY*}EVQth&z=SG;eGb(sr}ttvjLry z%l7?UM}_2GraTDNl~IZu<{t4bEtHg=KnP^9N$Gm(e`g?a*gGZ)jaLup8PbvXQbxia z629#Ti1{cAvsZ3^D@e+fc<_C$4FhR?6U}<)*r^jU3{wZ{WlgCQ7c*#TmX?;z;7va~ zIbv3Yd)C{VX-iEmUcTJ^cs?5fmJ{imevcjvf3)FswIN$S#EQT(=s^w5z$v}YQgv&p zs*22XSq*#~!=GK6o<Fq3d}~D)FwT@H?(-T? zhZIPE%jo$5JVG!v$b72chg5tlzJGhup89@|=mc9>UG>gG)n(01qxicD=tVekI}-op zed0uC;Cd61AA|ypswGH5ex7oKtshuZ_`K-FU=8CaQ&dnsyfdWi;B~LHjEs!(^78J{ z|7>LaiX1xL#O{CqHC`qkrH$o;2_h?7M2boG($ZQG5@gO>Qdd{Mj>Z;*FeN{~{mhG6 zoRn!`p^p={Zs0SoEllcay!g&N20rn}6kD_?=62+~r%yj5{@@JmF=|w2c`x&8Z!(g7 z)M9r0SpD+VtL{cdt$AukM{MfN0KX3ziNJ$!ABQ;Dyk1Ozq9j1)pMt3Pv)it zb$lq>F-mH5Y=WGq&H?*y=57S=@>xb#p<4vLf;Lf5ZIEHxzJJn$+1&W+`>J^7NgVcR zbbBVNpBV_&2C0LXGg#9x%(Nm^PUcSO*5O5t4;$-toy*HUeg0fbMHM{=RS~(Biga}3 zmVQ7~&a~U&*$YJx2sYfQ0?%r59{aOm0ff8e zJ%65tj;83-CqG*9>boO_rU>>Jq9B|;T|DJQ7a-CC#zfhzIpyUg$A6b+9=~w;a>~n> z9V88~vDRHjI#$0=6N?a>@;c|<>`Sv-qWIwsYmX2{m_2lXK(D^MwiI5wexM4Ni0fkb zF*=wrjD5}^J|KcRynA9$(wI@ML$;qZ^XLZY<2k#Z&)Ks*m;&~}NG$;fs7Ie4apsIS zd*nTASe)DMp(0jAK+Jj?RUa46o7Wx`4Ka|bo1#R9i7yLa{Gvsj!8y16_@d2Ov`_Tj zz;$t8{%{t`7iX(NoA;l8T@uJvLHs6X4#K6m%ND3PJmY+bE{|VoQfCy@%25BuJ2`Vb z#S5PnsL!gb*tNcM`$>n-YQ~&*mct03>@@10N7m5FXu;|921i1UX4e0{m6;e!4{AuVu?=BD0ZOinx$MxoP5~}u z7feq@LHsU&%d>EAkO&IWSUozQe#k_3lQ&vr-xct7H?z}HHWoL0ZV7A<_#y>Fe8uKv z93|agx-+80^$ZYL*FBoug>HbFlgzuk&IDJGC{NBGA9cM&Rb}7of)QW`mL{x4x!;v~MH4?jD#^X4 z&3ffAEQ8RLYEFENuQ&}j+PLiw0K$EiW_u&MqFry$dO9)#si>(b94btGhYZO*?>4=O z`1X9R9)kw8Q&LhAst6u%8$FMHC4!6O8H#Ow=Iq(xk01B2hL zMds70@845-?+a|x2g*G6Z8n)XYg5vyHxC{>*&p@r!GkuxmRlB{%#VGa-q;!epRcbk z3HkRas`Y!^9K>}YXM0g_KG494A_ALpuW;B1 z;`8SN2!iQ(v8`*jKWg zho#^Nn#L|$w{Ab3{kVw}l{rN2v6}^>1m3fZhRW~2fpkPC)k47kcA;7)l#)o$H~#*) z&ixgVyhA5W1TbUr)I_f5Ju0mLJ{hY{=W^nArr*2%-+$?BUFYKD793g01qF9rZdwp> z?xM+|o)d#lUY8;+t!VmhRZN=Fa%tT05Z$Vl&u_^_hRFhcyE)6AvJjW?q*agPN%yEb z&Wz{CoaLET)43bFh)fYdkT9PA`t_^v<7fcgD|Yd11)W6iB7z(%pT2$Dm0g>9xR=d9 zIA4RleV6b;T?+s3)#Kvh?-vwwIjC#Kyp_(&HxVN+V+Zrl$MR5GJqrMb8SySo^}m0A zK=maQ2I#95z04&@grwg!p|Szzw-xp>`2E7m+w5sV7#-Tf7V3@2Tv-`p#HsI{oS;S41l z8zN6d)IJU!AyXMTbm+ig!zLo}mi^%%uXj9{*kO}b;OWzgBPu6|HcvMQI#s_{FZxd< z)n%V(WW~tWR9G;77i0lR#@f8rvf3NhuM2@ZLJHff3x_oI{!&!r*|J@4p|_87Z7_vH zKR_jNB=t>vD)CdI9n79ZJA{QrT!35L_WS1m<`w|_)Q=wM)I}l^#wS6D3c7FY+M?p( z`yQ?BobK@sSZ+`dVj~HD3cZTH;RHJRE(>2fG+)v@Hn@4~)w7r9UizMp(A=h*O5WqX zZ-=&Uv*|dZVAlhrCJ_wZk*|H%3@H`}1?zF5(5O6-Y~#)&)6nH>HV&zyY9s2fqIF~* z+RYTt5K%o~8$+VfA&;)gwp_-pYCUO^C-lFCd3tGZXy_g$So|3(Ors(j#_)pOVvr{x z!=dihGsammevC&76qE0yZ{g^u2ZAcD2U)p#wS|75-k336A?7EVn|l@v59LRJEopW9 z4T z;YLQr66r7&(;hjrX~lz81hGOFuL<&`ED2FQgQqxV;W(1R-cV?2+f8J=krSmhBeeOF z<;e5B`uy@9Y}i77-FSn}^Sc`xsfX(?%x+;}(0Sn>j}yxcKF_J|Tl!(+mI!KZ3algz ztii1z$T*gw@f$d3PzoGJcP-Tztdw8hCbs8UHI84e|6X^WWR5&SfVIc(h&`!Lvt^1- zklU%swn1(-vG+VwD{`{NbVu&mRoH<&`xYD)f3* z5KaMi#vwb@$LYgH-7~4@`_N5hQ_umyR9jkERo~aITh>lR(WUZ0@qfkZH<}*1lIN9G zU|!42 zEQ-43?xBzQ70}Zuh|mFF#6n@wRYOEcMGCpzvwHph^~-`8t@wNoEmiHY%9OySX41{Q z0Rlz!cNu{6uFC{jJ^cD11mu8lII5bE8L(E_rcktXn7kU2*P+L(K!{ELaeq zSuw{hcYpGMzFfo(zOeGixt8xgd=N#3RWBYha-wv=aH849oqho zN7#o1NBMgQMkI;+tU#NL=dD!VeN1}LSpp`iw^4Q~d_6=%+PrYT#oS3I#vS`~Wfwah z6<<>8o^Ab6fAp{eeda%kHkd)ng!|&-D@#K2Te1-)k1=}18-G|Go02{~J7vu1qNHf5 zX~>DApK?a_p0(ra7^hxE@_ydS%BXG{8XBIc>8n=xi7m_GK2`9OO=?bDE%?K%<=sGU zQ5BaZj@RkUeC7H6*`39U7fa$;Y4T0^lNqObW7n=-1xFRuI}{uoK45_OOrYI|cdF(* zEL*;EWoC06A8(vx+Ph3Y6_J_GfD$nJ^uB%S>RpCw(4TpOG0Q4Zq|^il(b6vCIg9Do z<7V-%ahvWN&TCzvf3IuU?c28t+P%4cec))b0pe$9wewvKc&e$MX|N4roy@CBfqce864`uBAo?_0z) zAe;@6l{v3+U0htMK0odAR|6w^*Qs;o(E6n%z%Um7bZ9yZa)zQ(?b|A$Rb`$es$47a zAfJn8HL>UpMekWcBH*|EvSmCl~7Zk~Sii~CVa8t>k43|O^fd-I!>&&ykF8P#XGEa~dY z{WJ8u7e-FVTc0OetGY+lEuCE<+_yASdpN&$eE%eeZ2>t@=X(x6qE|m}+7bJjmS&u# z>a4Q%jqY*{VYNc-*|~F08->0vkGD2xI!{9mq|mGGj}5w8bQ>J$DrnbzM)sbUAqe7v zB-xc^rjZ%vQ;p@?pVM+p?oG|zS+_oEO^>>s);-&1ZRzOB@hXHr%sKHPmy99Dlhf0c zkTli#ua& zy6I77rY9sTyBb8#xxQ+NK){h2dztH*Gcz+?$T1Gl(#Eg)COa1$-3I83Q|wHhQDB#t z`TGLe8;f%S37R(ZtgFWNYAC;BA- zuB!GYD4}AFQrx(7Nv>+%z>HIB#4S!j+#Xm81|AkM&3=&j?}wU7N}XJC9`*}Li7V`! zlAW+N@i_=PRM?z|EtZ_V`uY~@M>c>hEoE&t&Nsw$!CWq67tB0WKYpaqLdiA$ken$9 z8~^<`9nYdapXm^gp_eE+BC-n@EM4D!s$D=%>&Kr(t4n~?s2iS8qZ z4~L1YeS4lSJ}=O$a+Uz$XAzq3jc|d_Fay1agu9V zeU(4%;$$*(Xvm4vjXA$0P2ug1+gWFXD%KBOq|WhJ05?nh$Fg7D`e^ixNWP_(w`xo` z`BGW8-YP+}XIv{aIGTG$-D~En+eI7ShQwDc1-=v>!sSj*OBmA{x9+>V(`8vRr@kLn z8o5l}&RLo&ij$^H3A!BWyyY0?uqL^mjE@LPJh3B*YKUlpw{$)F$`$pP`45!W6xh6k z_h;--l2o@m0R24!41&h&Y=H@0PVvqw<7Xv0&=&Jo66Li zD;bmz0r#RTIl!D}g{lleA>xFkV;MtwN$0Lzn?|qL`0PBILO>910y!Wgw2buN8bdpQ zc**JUQ+IG^X_ijkuj;uPp~Tw7Nc*}=oB#aUf{z52V%5r(RZkmSJU}nLe+=`ec_Snn zk}dXynBNX`WM)=SGJh^Y!YyC6Y&!+btM1fNO zxfVU*gGvV0BecR7Xn-1T@C-Gj;~--L9Fk7b^_86O&|AOL2$!C6;jE|H9H^8D(nl_t5o#ycSqJ*w_V7zh~U=eu*CE z)ytQ*s3m31!r&A=$wYw4g$#KOn`x(dNwaDF7oxWrvNF%pcovRoX6nF%gpoq&k(=}4 zMTo}`HOgAKXAE-CrT;5{hIvy{iju`a;M}2<|uM z@SAIBl@vXNR+eAhi>*siTyOpN4sB+|uD6G=(&bp2!8o#t-`4n(-doX=!?WIr^{FS( znH#t-*t~i0#S0fW7ycr~oG24Tx4&lb$y29VN@?loNQLR}RixXbypz6R&5X{MVs3WN z-mI&uD{l@y|DiT8Yq@X;p$1Jmo#UZ4d4j3aojVgc8oN$9960+$T6g_35QsVpbD>SU z$c5vR2J=Ss@wvSG$noQyhL9!!It#iHc=zrYxp3BursfPDL3*j_hE0VqTggo_?e53F5oMRs%7b|g}g8I&O+lBz1 z5PhBYiF|Y~EhRdW1AcyJE-wOU_YAiFO!vnmVIl;*1rHDVtwhM6=m{NcJvxNR_Xrak z^udvci0-_StQNB@Em7kQW*)|LbB-tvgFCzS8JJaldlIRJAbB4v^)t=4>MEfsk9Lri zHFqU%8IGlK`;*6yBWUrm?`G^971|;v^{u(u+`*_cl423Z&twf;&|`UvA1hpXBCD1D zTB}{V@s#qiU0%s{GWS!9?`%UV4j=hf&Sk+_w;3LCBn?b+)wOUWQ6@jMmzx&Y{-t8())w%Y8MXxwvW4p>YqXWC2!7lDh)*i-cAC;n-}x( zaD%fTSR}14LC((3sKp1=Ib!qJBfc1ARha%%)z#0@2F?V7L!G|F(sJ;&Dtc^L&H=xb zm?jiGqucwZEgk96G@6$5F@q6t7~=&aMIC6|+7BM7O?{k_H`^oot_SS$O-0ZD*1nqg z)#UiGV>1ZYXnN=WE41&rF1_^n6%Q%Stc>oYqocHDP5IJ{F(wT+4H_C6B2Z+lEQqV# zs{5(F>|tk&COB)9SR!*j?W6+lRPjk(TIeqzQgE!=UHcwld0DzNdHUmpLGYPOdS?)5 zyHwgVXwyR!1BD#2j%56}Xi->(k{v&ZBtXtuHz*Wb-2PO9kR2zL(ZA;-U`xSTghr7{eh78`cLeRzbeikN8L{xxu!&7%%tWcxky?jqq-YuIw##OePPlMOVJI?oacr@#MG z+veV1P2T@BVWxkbU;if%`~Tw~ZiMwDJPTj|FIuBMlcntoE5{CHx(3i+>?6H1|K}a+ z8WaAtGfk(*9M51_KpaA1q%pfb`$3&f=gt8fw3SJPp~enpsIj~iw~Mhbx&^5Uow6!3kOvf*G67 z()*u(KF<91fn(zq7hPm$W%b>XR5%`(dyISIQE|ni=+)Y^X~T5%c=~{px;$#lmxB0O zWM^#AmJ(`?_}QQT{P~jw&o0^W5pjH6%G*3<$MNi;SM!-9XW5%&z@ zp=d~{U2^mZDkCR*#SzRp&u*=nrP{i6$f73p@E4%6yW49q^RUW=dqdGvvPFt?fw;7D zSFTKvJ~5TKyot7pKRjK{lcQl3CoN~6$LkoA2hkS2kNk0w{ejf!G|!V3k!r?j$pi34@|j2UwZbpkgmZ76gr#7M6vMgAHCJ21mX zRhwV9h|dV2e$k?ZO@EyuqF<{llx4cnmF|~p*RK6qIM(+)W1Q*Gq32->oAO*cobP!! zcU4eAa_G`d>(Au=d%5p_X>+aLxEws!*Qwdl`LElYuUQhZbK5rj?0rHUJiEH6JsO!tQ~hKPE(F{AC?6#VkIz`Ge0OI=MWO5!V2to=4i+?Teh8P2hX{bm1C(KI|CuZm_)G3qM)O6SMAAi8p zG}UvkEazJPvF(n%`EzJfcg0^5mBuX(U$CMS7(-qH0L&WjF`*6Zo8&pa{{+^IGc6^s zchzT_`8E=w+K+XEoZnkQvlN5>3YJlFyzkv&<DZ+l!i4m&&o>Zi6IcA7OJh3lno|W;%f((81IJ%W`bmit zm_Nld1^q-rDd)N`toV^5Pltt8%PK-U%+e{+^?Ex>K|`}Cf7{WoUq=_zxE<`e=+7a; zkf0@>Yu2H4kggM718py^J=?=5i^9XE%h{CuS06ul(r*hFgUsVcTH)&#ZdNwS@KK{u za&l~p;%p{Q_BwK;9lb)|ST}|(XaRLRAU;J=!`Y}oE*`P+l!N_=h`(;tw8miuRGqC7X$>+ zW0^H*RFs&H?}L68mzOX4^l=kG1#~Dvm$35L1x*g|k{4thb&!OVMc^#`f_0APQ=)|m zL~!|#X#JmWyGr*q)2%&kpqiQ5!ofio5C_eEGTn`w1j1=>>kj;_)xw3xEwMO?J>vQcx_Dp&a;_=7nH5);PiDM&bKzP^cVBVA{jt90+8UTc^&)%B?EAvss` z5aZ_NL5q#YuWx)C=5W0^5n5ilhk^iMm-q?OP7e2igZco#r25&(v?CatI_P|dPMzM< zKl@Ywq$M65x^7`$Ih@okRqcM^Y(SyV7F;j3K!G*6cH(akIl6>kG2w||+}Ohj(Dzw) zUQ^Ovmt3` zl0y&d$b9vz*RK~|do!PiDHRDZTy|t`W~RtCdCU@62`K*ThLerFIV6S4XUOWQV8>@# zsOcDdmu=ayrPp6Gs=PU0u20N-yOj+Bo-okL-eU6xg{NFNugc?j%sX7LlIxb(G3fl{ zZ7)@r00s1vXi?J-MhP{^|3r%5xus81$_HW0DtZY;Po4hr%`GjVs?Puv*^&mMmEfS$crtQk--pKrO^mQ(anJg+ z@F>X}EO~wAuj7OMX+0-;@hQAv4)3?Wf0P9%-Qa{GrnfYkyBPJebvH0(4tfIPYPbh& zs>gc%qP2jMKh0#OTpr)Z)mK^R=@X3h$HbV>-^{P*620*DUi=W+KZTJH!%QzUc-h~^ zgTCla-%imJ2PCsi)|Rxte&lfA&cgt{LJP-Zy}EH47co81rAM-#tREP(t=qBYZq>Cb zf31y8sF!tGGpTLp;uTIOxgAI@{N_KUiL>{29ONq6g{+eZ?=bflYesKvIOI?t?OrhZMQ+c=>DIB zE1xEr?oNIZTkksk-Me?>FpOs#l%DQ@kmv))5!k9XAplYloAMJBHHEK#>_Owi%Uuz* z5a{HIBm@OkL{wBptheMzPb`UETVxYphHa^>9c+=q{Zz)n_{T#{L3}M&GOUM!Ib285 zm-+EgH?3};)ABj7{{}6tpms=l0@J&WSHq{z9s1b`C=Rs?y64^W3AZa;y*HXmdAs&LqIQnbURri23$3`IfID0;v= z9Lv~blj7f!vH)GX2YHte8R|8++zF6`>Nn!jrM&_apFFvx5N;y|%ehU77OFtdg!`a2 zGa@WnOgS;MmAH$NA6Z|v^IFd5&_R7d&MzvVvz3!L%t}H56p~X@73tMW7NyYB3x@}N z;rEKSo%y-sH+Tc$cs3fT0pMUr7>#1MBPmmmYGrkuv0!lA@Ie8gT7VIy)Bg%qpB4K;P6FgZa`bdq2NHYkWRZQ?lc8mrv=k9G*pwsU%7DMg1Ld#8Q4R~lhxXO#}&r+ ziMR*qb@CW@g#?YVXT@$6o^nB53hM(K47j)jX+Pp@QczMisJ1h09^LX!Yx9sp4RhYC zRNu7wMdq(VyHkTs&Yy7Tj*VyLB(;k<*T%cvtqLi8uhMGBl5I<0&fB2e_G+f%r`}}YA?xW0?yp{KDDKK=May#@zixAsu=E`?n!NrDe{-jaZHSqFQ`G)+x-goViME@*e zOhS$9Ef{?c;e`NKC+@a!!SCMbUey z!p#T!?C^(-8$W)mK~`3v_#QS(e^lg(?6-Hso_Yc#46sk2MR=lY9LFAb17Bj8(&}fSYIfgP#5e*0#tCY z2ihahlnV=PRs~FC9yal4a>az9$#YfG6p#+egI!mzu8YaQ5$VaVVtXq?!51e!5@sj3 zV6XpWkcd8RHd`k156$Q}J&hucBpPMG#8bjh1kd-e_BPkMN4$bwTYn*+oN{uw=HJ{8 zjskn5Z-f;KIhH`@-@0q=vlJm0uYZ>GY}*plM?qTo;z~!(poU6&VzT&`sNo(X zV@9+afy7S3-*WiBUymjyF+}YL!WHgHAq}KzMjZljH_6P*ya&f3ycCi-@ZXFi*X^Vp zd7G_=&E#oxr9h|9;XM{+3v|JNc^2UCM1A|wKI(&z(0?0$e~H~g!f}$+dMgKrBd>J> zReq8;q7uS&4)QUZ{KhXiT4{Z}ox*~DpUqo0{zjwn4*9^I7fVM zkLGTOn6F>IerRXj28`cS!IL94DG7-d%|8t+y7X`?B~-GMhYwq^YDIVhI(5RH)S(uI z&J$sUSl}Y+0cu)oVT*|CnZ-g^D{S5yYf2`I$%2maZhi&yUDDs! zLat~-PqxdCI~i+rH@;{Zm9)q<D#G;j0f(jF_dgP*(|9jtaYYv#ooF1$4~ znd%&8VydH~llSBao`rEtJvVOF8cKkHQccFGwA9plut&O6)~#Nxik2nbS%E2CL?NNj zcSOi4GIRhx0cKJ_8%VIoot`fKJz(=0Kq%3)sjXXeffO2SY0m!x9=XL+C zcx8kDjSY>a_UqSQOLi6_K5@!{D%(>21c7R~8`YL0!zu0h1o$c>PV$l%O*|X#Eu>ez zHs^58o*qZCh&;?y?&I)2{S7T&SAY?7W_Sc94V5kP zQx|)d;}G5M1gLpW zsdq)xjC#@qgr%w|I_fKtU0!rmd}QX`bDN-K;MQPed;vob3&qdSW^AvC0^yvZ?T$o@7a@r zG!O}A8f97QTGtiCmu%jgN?(F1D<#x_>boCxuCd`P%8nyP_8PWe_3Es7r&qr)I;dQi z95BULOVu{=IId=^%!k2bG_|x2jyit){gIR>gwlvPO=O@zo5Y`ZOG75^^mRAg4UQU4 zYeTbpvtTSdZhaqZ5Z}0M)%px(EjXE_28G+aPfU&eD5#oc4;nI_lk9(MO@3=0uQz%S zZe>7uYBaAkiKLttLZ6L|ZUjiHBvC&NtLv%0UZ996Y!Fd17$3#l4vXdpMXprCA{dV zD-EC2aCJ)yh7dht<2J{Rd2Cr?Sg&;rC`-^5*i8H7YaeOYTK{6bm!xO<+;?I7Q6+Y+ zbCx@vACau--JJV%%|^!}BwkmAol;AcFtYwz$9zm^c7NrDDfeavC~zoR5u5|*o_#f% zzyqc_(6Sa7Hr%&kJO}k_?c`LtRQC#K@cTuHO7fn*59cpWdMh1Xp>W78X0D1#P{fi! z-K6lPFSUBx>nGg}FDw$HJOHQB;yWtDNyTp|NSOt2;J)C#@-IvoV(Ieiy9Zl0_>WUn znj$CH@bSRTdo4Yq4GF8xF3qst8W&+w;I_a(OXy}`!A#Ip@1k=m<}zDc3jX{_eK@`m8@JJlw0i=^b5A&<Q2*=Kd*(zTS zXZE@iCr+s8_cJlr$v&5=ympRjA=}y_r?E8dws%~>I^ZX}{P`6q!fM;KZ?8<4u)V!~ zhmIZlK2TRSzjoOfX}377Ipb=^9lLSECGg{c#J*aMc0e0#P+PJ$* zU2D(Akg+J@9G)zA*6qf*{w434Rs42)&Q|inOBntxN@s9J@VBkLI}iOR{o{Q?Usg1x zh>=R9@B67RQd-e!Y5&aU5@yjyaI}c6U0({pEu5zK&q}<9_%;k{dvTtp`^|t!358vI z2Fm)V1`Q6+FHsK~9MElV_1TV{I|~gdN}C>Zhdt`5c7Sn7dUcLrJGUrhFcD&_MQhlo zU{lfQ@afYB*jaL(cA-{AZ&_-BHxex$h$!@uk|gkKNvmvt7{!HJi{|+Zt3yRa<D$i)N5^EbC!ow(DKfu(l3*8jdBOl&)X7pr$8t+IJ#v`~s`p-FtkwpPf)& zJLZD>pB_=K@Abh zp5O^$J%#{DJv56SO=ilVBDOk**cYLK>zYpUI_4wV;@dkeU%s2QnF8Rm zMjFF_4b~i8(-P{HH#G#O<2zDjm~kED)~#5O2R^o3){s4C=)3l&<2;_7v2pUw`ZiM>nxmBCYu_5 zP5tgEw}{yMj$g*CHh-R_)9KOAfx}I-Mpks~ZgAHBtY_nIb9lKaQ?(PvImyp(=5=hj-r+cd7Tu6m!QCJsVYiVw~!JWLFVdpXpr#w&4_3Vmn1 zj#0(pV}XJ9+bo!mH6K}*C))k)0|#nQF6pWpcfIyLqWT>7Ir;?L>-RYsh5H~bE>5a1 zf9uzxGG3q|EWJRsIy&;q=O$#mx1xv(`x9Kc1yrKVl{W)>)t{asIi4(yLe7du^!SWq)T|pp*x!qWyw_a-Wn(Q|Rx9>Kjps&___uA{pkZo(2F8 z9`UP*nmBLHoL-+f}}i7ew(}EQV+RsPLFn)!lp~6_EQ`y7r>flCfD| z5kMY~25&4fM`hPfCPTS9_AR0Z6>0mnZMKe%dV)d}e@$QiIKY;i9;4jYXv7bBl>GW{ zpsM1#!Z*Bn^JW&0HY+pJFZVJvEA8~G^{ZbG+o0v3{Fo{DZyaAqC=cO;l*h{M3neIS zykTm5pTB3%o+D^sl$DhsYtI8y*@}!|lyVf*>5Oj6Ik38Q>vjuMnh@p0$Hm!l+kxz$ zcs`Q*j-C2v#EtC|hWhuRq-_xlh;6oovhq`!lvRi{$Wexs2Htu`3H8Zsq_&EbK@yYt z%fWb!vYwtBc7qU>&x)QuE8ga8*h=Jwyg3N6HeNL+hMw@3|%F9p}2fX@AtASn6Gn7+oo?7JUS zpq<17ewI~`b2pL9r9&X!x_#n*lh)J*H2;FN1u~{AR{A10GSGBvTWU2$-y=U_hnsVsr@4B%|NuHzKXe)E8fUkd)?GxQ3o#kkv`8)|>CXyiXwFLWg?UuDEP`hstF&L-b^9HH zb*tyRcUX3ga36@>vAC_#&T;pAe-9cmq}1anuX^V2#fBS zzn7b`2Ff}S!;L_&|E-!$hyz}8A05`9Usc7#Vw};}og&vzS#B8TK&TzT3K0~NK-NC@ zdHi`Wep!d}L7Z@tXjk;vTb<0@@7S47umqhN%QFm2%sRFE%k;CYme;<=vDMA0^?F@)yZIU55~Cx|DM_JEz)0@mg8d|wf{)< zm5ISCK)G_5lg>y*bRueuFz%Y=rlH)&8l9M$^Y^MTqhk=jotT}Vx znuN$1IxT|89^tmI+wQLdZJNqSxCFAEV1}$#29JmfBF9HKewgqejHgzN`p%Iij84=F z*R2nk4js7;<8Q#%~>FOzr7IYEfn$YsBT#ARzNDHPiTFY;YT~l zwKIjSf_KKg65}T3NSTLx$Fla{(Y(1f)@zbaz=aWe%=L;A1^RRr8=h)ACB#ydsdroN zIk7HgFbC;wdXbtzNv38F2(Rcj3w_|(Y1zds4CUWTa3~>Az^(Ie>zh8cZs_6q-qCCP zr|jXJ*?(ip0_P?EyAHovRdoNQ?n%7VwU*s#?a3CUb$*{HGwz2FWsFLFTJRhUa1Z|% zyVcij;lfUrC;k~v9(V)mE;4vkq)2fi?=-9*$t=%qE*s=jo_IHE-x7D6kM|D7i{wE5 z$GVck)hFrQo`xTP|0-_7es@y#{{5@IeHXB3vlCRN^o@CKRBQA5ct_v={Vjf~-~PV; z_aj7p8h0Z6-+%f4?;nmjNSgPNQqd1P*=vzX>EDg-{63;TnH}& zC@9)Znw3 zxPAlUY)spyqz5}97xg(^Zd_VYV$i>qJ;&cIdvI(QKl?p2P~q%%$=Acb8fs`F)hjM3 z*^P|06%NM8*G4$5aIteL)W2~OR(HN()1i|b`( zo28tag>Ev~8<9^!RFQS?SiE%{ZXzue&TK|WJY$Oy{%nU5cffjOPFzMO_gV3>bZEz- zuU{KeY8#BvzF-)qg)l5X(|Fc((*BIs|Kt~yZPn>EZkXn&V+&tcS+J5tCIT#)TxRoH zkb-@XC&@2f=@0j6J_bzM;k71uYw_#Lr|OT^-?KPxRheicd zx@k{H@y^56k&HgZNW^O1*8Le$sEn)#_h;4A62vJJNQcBAY7ol31vrET<8aAzBeJ;* zy}j?Gp1*!3hd$w@fa*4jw?O|U5K-Fk>;!{mmF=c|%SI1Zh~9dzds~(6lAgknAG36) zTz#ta^y?dQJ&mBruY^yKED{Qjx8J~J>FV3IZ40N0ibYM=lYP#vg^)(^<$*(uZ`P&` zEYu%is5GiFQEzZ@U&ZDPJM}UhBOR1K9ACF9X@!re;Ua|a6#CtF?u>>XsBUBIuY#It zJi9{szwK2;a{Kn}bL6U?n*odZ$IQo4vXA*P_~_4Ev*uJJLlKuR2Y^|ybXsmpHp3EzyL&I~yfv|o9R zZc*+8kEM&Qt{Xn+tNPdmw|?bItD#a%aElX-FUEXm$a^e}7>O2~ynN6Jv~ zA}{uAu49#RVM9-xmV(4_Sw*gunw#lHka9AH-F`d`hWKk6HdxEj@&Zj4jThH2oG$`s z6LI<+90Q@PxNx==-^|E4j6q#6E4Sk7|4}1RhVqLdIO%s1ohXVQYxOcYN1j+5>;CnB z>qJU4*HSE@=3^xcw5j7b5gw)2uM;xe-jeXZ-7Obvi!0Mt2gxYtsXKznia=;u%y}zE>i7HE?Hjx<(3iMd zialNy>Hswfg<<|Hnr^k8LT#7vB!=Q%2} zA3ZXfS`)2PJKA?{$17*jlGARf1gzB5dE7R#7ysX<*Sh(W(6AnIm8HWRsYnRXj`{hK z@`T`qoshb&8MZ~5Eno_n_#B4+QnCHPei>Dngbgw6&!n9!-tMBwGl3 z>r;I+1!gQlT=Dc;-`!7pNF%B#y}se3Mz5@W;vJ>}&YN}>VI z24n~UZ)GHTLAO6<1@tvEyqq_fVf_pf9*MTv55vqHibs`w{*07_UEZsV?2wsj7dr?K z5Rt&4N4X|rCQK^Igc(eRnwskh;+Wp~o+VF^IEG1ilsL7wq4>$f6+jy|8kiJvchU~( zN!Z7H;VP22r)8wimVym(5+aX)E+tkVt!?) zngGe}a~|3DcLc`FpEK+29k>%<@ZiBJ5)Lw3>_={m^?VdYPFeidW^Mmh9cMdNcDZyt z<94QO#zIDTi7 zC^2?F-tz*t?u_?Lo!QaG^*p*UJCNyXYKmVd?uWp5)@j&!WX*V($$98aHYy4^D*#wU z0oeWgFij)Hb=RT|ZSr3B&|dXbGsmJiz3atET%2fhv&MN#7Blr@_{`4)d!B{e08r8X z@#*pSip92MLRxr4GwQy7iq#f#)iI0XV)7tE&h8z)<(?8_-vkzw{;XL~Ey`Q*6wd;g zG2@5Rff#m4p?(RVK-h0cL!)i)%eUqBirh*EA?4bSBY&*@7-=ehJLhj~Es2IuW_Y4a&v zq?*ybO188|HVDaNUxbZxnAUz36vY zU!Ng_R1?qh=X-N?9r>eVzHo0$6+BJP-o5(`HvDJB3Vr$}8bjA%W6?as4;IA|K8Tu( zV^Sf03z{l)G*cdhndw4M;VkvxdD$g!Y>gwaAMizlwKt4jUl1oJiR*;sbzMWB178oF zvf!_jvpKa0p{Q}p_#N{)m`T@`xJ)lSPrln)A^$yMvy&Us_7ODaaX591y%0x-^~R;bg391^2*wRmUF16QuqU#K$UpI>uauVr z*N9S|ieAJi8&vMHjc}iRusi%NB?)YQnNXJ^icdBn!cC8-fnEr1S+&q7Sz!8%Ga@rh z(4-P&v4xbR{X>wzIMzhinKYlvs0z1`3G)r8(~Aq)NR$_;X+UM-9%i##VOy#tQ8Jm6 zx=MI42TW$|B@0X=x4p!^*vqQwL6Z%DD(qdxArE3uYM9n_r6=KHK`j}Vcdrz4ZS$!Ym*xaC zyDJE&RVbJk`Z$47z}-oUAOe5DfOu1~c~26D02NAfn_nr<&%xQICG1a^%Y`-^!@`L$<}!_l{^eqNB>bgS*d8wtA4{p*l=I zK-a;x!?G>w?7ocsd^uJ@B3&jaZ6`4TLUJDQS-fVt4M{?$;mLA|VB3q(`@%I4L1%$G zg&vsm(-|2O*%jidB+=Icfga#+L^#ly3Y7{tis{N5UBk)I+uMo|Ea1f$ryQOB4oO|m znu+8&P)Kh+z3?Op!V^fGWUm2C0z&>&_48+0^kntgyZsYiYp;6cFf1Z)P2!-u{K30C zUVdKsR8z%$NuS5(zigQF@IXq<<+n)*uBFfR4~!jOeD!%R=gpfHCDw+o!}*IBTXHFk zU`bd9$tZqN1n%Kb|3Ke0oV!>>$QIZFz-dj&3`*!gfKQ~S$@CgzDGGlIa#E2x47bfi ze67F?MHrW`$#dw5n6iOGhfV;TWqXS}&!qLg0TOSa;lcMPWa_|Z2eA`IaQUjM@d-{H zbhX_$B)u

L((=K&pzUPV_QD%pragSDp*0q6h~PTr3{y4xKyK)^&rD6IWRvA_XH& z<{*qAshvAKY$Du6=P2S_kjjXzl`>k)4=VI%{=2gA;&V=8RJLwZ$3!F-o_edm_8{+A zT(lvG?UScY{k`r$_DI3t#kb}IrfsqppK|xvmuofbPs`o%qv!t#pR(%)0G9adY`)-f z@0XOaJ3D@;G9QX>>Dg$WgZm5yY1SwGIaRxM(nTR@WiV7h=4W?zM{x8@IZwoTk|P5Y zvXf+n8nth0`fI4PE9K<>lVGZLJyMEF zj*(fYqXprFi*Og?4VND%^KX3_Z^M4_RbUb3JfkTQzDEh4hT&%8LZg}7n@fws%dD{=<^o#_6NLNDpHKll38 zt8oOaa4ITj7IVUKQATOL42jYI1eg{8{=7YLKPe=ql-Z^=TIANuSYVV@;}+nVW4Y`B z5)?+_Pj3^4p>^?Q*WSN(PZCQ7maiJ!d|YB;4^A(RMXm+aK;$SkC=kRl8Zp-e@V9+FEuFw-vY+C zF&wG~`R2tOF(N&YIZF(5?l&b^@lR`TVnFWB{X{Cv`GOZ@(TPzX$pvso00Z?>L`FjB zicnF+_p*+cF_j3m%45t3YDM#*wAZgYF{=3j#5!~{l3_2aZnFzDK?E1407C$#dCNj+ z@|q8AN@k@r#_y#wzMjAELOZ;*asUS5=Qb? zRBl4Q!)z)fLVrUQ8-5rweKO&76nrOBs#MixAVP;?BEbX@{=?~-O%nr?$T0;BSxRR_ zoXj~pd+#Q*in;hwh18cbQ%+*J3O%3@Jfk-f8mr@TPV#>cptjAZ0Dx4;4D*WNox5z= ztY>DRbWeFzVaisu?8X_QF@Z4sl^mW_0-Qx zFRZ?teYIUwK+N;?Yy7tlJ^il3{-|L_C|AXGy^;tL66&n~Q?5?G1_>1a=r3S8PG9jH zSR{YttLf=WF&>Hu>}&-ePGoE`H;F7kP6-S)>O#IuJnQbgd-oQ!N(9pr7v=_*@+@>2 zkv4MK59NbkX{b8NZ z-5X9B8$sl(2!I915NShPQ6i531I1qU?Uiy3+9J>j1iQ-X3pzz^za0cTsDNNVB)`#K ziXtUsXYrf%cw}QQ^QNGRb4fVJm^wUJQD?-+i8_O&Mtoz#vB7&Y`D&K;SSV?BgW2op;>-bYiTVNPor+hs)6R-cFr7 z(9f^=-Bt2qQ1TVYwo?0GmnX0^g~UZj3+WZP%F$=qvCdt(?BgGnuv1wz%OkYS=)Ht- zo9~~BI-#M@0&EFI|MRccs(s9Jy4OG(HAwY&WPD)GDVvVA?oi}=|PA^l_ zworkVKqf5NK&Sz*H%1b3P9WZ%c$@%MdkZFF))L1GmHPv%N#n8KzvEO5;Lk0?`1Xms1pd1(huKny1);4Lc0?L{p?v{I`Jix1d{adA;N|j% zbmQb}+NFy9E=&%HZMoo5iQb)YY$+J7fFuRG!r!l2Wp8KaxN4O@z1JU9EHOJiXB4^I z=-Kc=vtN0q&<=-MO0%D2$%W zujaU`oV&Hl^aSL@IMD;fet)MS$sn5H7#CQU@|m)Kj-EInQeoSSj0<^_oW53T?SenB zHXNy3{%~)ewP$0cNu6U3#~6ztEoqVelB78!ew>L;v&zznvap$>JK^=*Ntum`9ks{W z#7Gt$)+`{CPV3X96HP%i)eUNjM@Ma4A5kv4EIK|CEj=C5Z>PJy`Yl&q9x-W2-2$QH zIzbqK2;pQzA+XAv`P}Rk6G{6Fj*wz-93G8mlO#_F*Lzu6EiYYa__2YF1urgAUU{c3 z%T9iLcp@YJY24f)6>NuRd z{^USAqyAkZW^dp7G&Sk?7eRLrvdQ$|By)ZiU~gTT z{f*@<@pxayJ0a>gLgI0(D*=0pe*`LdzsrWOO=V$pTmvDJ}U3V267!CD(0iT;LaHlpH^SL zEh(o*T}KYgmLj^BX;XB2(kE_mM|QIC{aPzP-$q3fT91B%A94bU%WHt~L@*!;&IW@| zabc0};Px*pLQkGlXA_Cb)!AhtkBf>a)GC6P17%RC$`8+n@QEOggV!t497L`$m4nqT z=1Q_KNP_71eFAxiUd&j3Q*zOvNhPtqr7|bB1x#| z6H`+$t*zb}{lxdUq*ahs&fT`(9AR8R9hmriY#z1|za??OJwuzgGX$)69BUg)SEO`F z9&Tj}(P6M_ZZ-!czbFAXZF2UPA3SLchx7 zlZglu!KQ@rBvXGx9|K3d>>gJZ6VZql>p@s7r~5L_L^M>0V+YBSE*Nc+d2jfpqay8} zy3TgSBHb|4!`%&+o2mwydzP&To-xj*y>vZg)pd*Gy89D{#v%*Ca3ek!RaS#Wh9YX9 zZehHw)!M%z?z$S9v1B~hG*%%ym*$N5Q&v;FW6;I{ORS0)&W?YTgWH{yEoyj96mT4- zj>6k-TBmGGy1j-dpxCZ{MY*wi?WP}!*dE!qN9MawXa4irViEbrK~T+gZ^U4ZThg`e zgyA+BK&p~${W&eWgv0Jnp|zAHG2fBma-CM0r4D@rJv+#K=!R>fHs4<&M|z7SiBr+s zJ!jsI9U~p0-d{6DwF1?2%i>+ZAEO~dn&8YyZ;R7Kc36^`AQO+PgRQtZkKZFBT=hIJa79{%g3*ZW|21QJ+Juxll;@;91zYv zkN4M684&QB)nWuyP{bkiAIkJ9tWcbT8Fj^15iAPhh^JJ)ragv{y67V={xTG{(L^y^+la4xs$AAYmm~EcKfxnG1RJ(CAZKC<=(L zZEIxoQ26GGaeO(s)$yq}z%9(%WM^krWKYI9^e1SGmgP5A?m#1sbw_E&u*|)%ss(xg zTH~``C6fDipj02dbLF9+XPXbweL<`fkcKl-4_=ElYtx(ZdB~0eiZUBDOp0gjM=H8e zQv{<$29iL-t0^@TIu%L~P3Z8!K~ekp*yM2Kk&n307Jq6xJZ7dR+?<@YyKT`&FH3RV zm}ruMYNiPwyY|Q-xE0l$N;$EcTmP%#3KBm_!_8~edwfH(+yU8|5>^!L%~8st`A4$hnr1Cq8)1oZ~_W-oNd<-O3NoD4f%^cJRNjNjms+xK`}SFJ__g z!7XeW$fYJ%6}G|>G;v9(sWfD{a^0TyO0JLX`K_=WoPul^P<%-9)`R^`EHWKAX)Ob{ zuU;rY`t}Du1B$;z$)D#jwKAAyWg;}V`|37R84lIbkMUz5SGcC}Xw}|Bpy*Ol3UNGhe2nawMWs`Kt z9*ywKtT~*VI(SBaua~uXq9Px}u>!~-C?NdtyPGl5(GHivv-*TaZ`Y7tsk5Vp8WVO+1i79KgI;n@K+QszF<61A!GP> zIMjw@TbmqP{pIPIxHtu|D*x5Z#iaj-Ux9Q7D1vGCpnRE`oPvot5gpbu%=9kNKYKT+ zILzA9v{E%??ql;N_7aQF7g6dEn$5@ZfLSlHRki8S2Nd8S`4P8Ozt zg1`;=4wi)if9JhPi@lfX93BzD#>~_7WXMbk=N9tV5U9-xXLae@5Gu6ytO>&{};R_%sruuQ|WYtqfp3oQm# zYuKt37%JjpRoXwQw44t<*`DCvsr0QqXVP%!xgT2~5TTjoL|&%Vqjp}>2G{n9e9z!( z_Cc|n9~W;wwP$eg?t_P{_Q-3*DjZhFK#oqZ1Yd`SO3;ut;zj>nPL;sGAd>XhzA} z`D1lF4+G&>_<6gYf4ng*13+M47~%zaaX$y;kD3J3>pcJ=5wZWXWf^20*4d(fRyF{; z7<^@Ae=^97Yw7Nib;kLIL=QiCvLQzy=IiD#&qx6~NvkVGcdxe(Vkotlo!#llN&j4{ zP3VDW4g+>ul$e_FGt>EqpVyhK0>t>Iu-Cpq|zt*d%y@1Ul zMDl9JSjd*ELT5t1rnX(`8TYbEiP@&<7<}%*^7f^7fp>X%sW*7!*_~4qOuBQ&{E-*; zt}{wSj=Xc`gj#04I;3-W=$~>NbdG!XMgcu?gj@vlbsd*b2)_>hJWc6XUEfVN_}a4# zOx`U}-jQK$suaVKa2`T4@}7ez!sTg_Y{J-< z+<=j>M27Y#}Tn1s9MEH<&OpIU6Z&VNp>}abSBPA8c^q`o-h7uxC4?=|DdwN;oP& zVQG|BG%FaY?ou%ysN|{o2YBs>=`#S8Qqc0!eu_=t1P<&7RriqCB@n86Ioz)ZPBhMM z<5c||a>cgfE1dwCA1i~}|Q6D6eqUXrO-SfzpVh5o~icCv@#6a?TC= zh{2JBjYs{~$M5tEZOp%s6th*?ed6(FZ;fxMb=`_LJXfXs#7d!+E^Do2}`}ZdSI|fq7P6e+~%B=7fOh`a77Y78O*fAL+%`Zi&LZ@j z9zcb9^1+z=Nz(y#~GDj(_5}UR-gK>G`mP@?=;j%=lzw@S#cE#Qjq3#C>$kp~qW=t2l0fgU>cH3@9UDu+hiGJ|02h;n3E<UB&e@T;FlXV~iP!WxJ~TYM1moe*e)QtGc9M)Sx~8%1 z6eQ!=xwl>3u>0AWMOR;WWITEV(eGtSc)J7f8zsk3)*AAwVec@j%0c=3my3%5lIi!m zQy45W{^j97SeT-k+8L%6z(QD95BhGJ?1qig_AW#etU4?#EKY?)k+3B4Yfs*^^m%NT z1%U|KYNMFZeAF@m430ce=RwL=adrOg7w&j zUTJPUjg3P{Wk!DfdGx+~;%bTIQI69;T5bxECt( zy4AY@P%K}$^3|oMIIdpe>q2H12|~ghxd9!+pWyWgOYiv61b8NE2TGpt{@XP$i*E3S z8p^8;c&Qx94E0@L6%g;gnU>8sr148+WrM<$uIyrJ0RdcJTMqu8Yy+TMB>UQGH9y60 zRoGdSsJehe^6LX~O3`m(0gD1A2TzEbzb_K@zq_~X3edl8sG{cH6JC5(cpBd%2z_3% z2G={df}fR^UajEr4Uzhehtwx_0KtV-`vHsAct66^OilnJ6O)y`Qti6;utHZLWa1M@ zSsae>&ajwk2%gov{~mi!W|cA`rO~$aq$M1ckx52Q%UP&)XtFlgKwae8k$plEC=lM% zs^tq9BFZ6*Kf;=bn1h}VH0%Uf;IB8sj_!uYB6C|?mDGr^Fyz|mLFMgK2wV&=3r{D- z9*%qm{dwbd4y5RPw%(XYM9IzgmN{Z)*1Mw*U=PHG^R4l7%l&gu5qdAqjIHcKXdz+~ z^>`8s(S|Jw1wBkJ_YdozKn3CsGfP`8?BO9C{c=NLC#nY_A$! zTqGky5i*U*4lVEh2@3-VmZjl-?Q71ETti7Eya4>L04U&jpb?PxpY=_LW7PwFc-pWr zm-^%R8Cll8Wv_5<^%{76b(SA(`!51E*8c4;0$as-p8}A z<7C-^*T{1RWs+$19ds*$?J-RQcX7Z>ZQ`n~qZyMx_l{HgZzqPx;lB1*G^VuF&OU8%=cr8D8t zvAF1HlE7siQA_v#ujt3eOSqeErmOLRC|&x)z`!;X*(o?VF92H^d5I735|1q%EWjn? z<0DL5VCj;_s^53;U>aVzk9`xOk-t6R*QSA^kmn^3rs~2N=z~}^fCS3i(sFmL7w20H z3Kze8B@Dd%jt`$do1njf$y=phKQ!`DKtK)Y4?y)oJaE2x93AsT?SS<^CMI?ujTgBT zJ+@f@aW-Pc?%XyRK|xr$gqe8D)iTL|<7tj%!APUc3ZG969;#=sw?QmzfF~EthAgH% zzk0}7(X|go7eSkrurN3Ybx2-ygyVJHFeO&F10|*J4Y}G?KrCjCj!F6JNg#Fx&MDm= z@^W&BB)!yw+WD$wCf^$hQ^$x?nJc$ZQKjJ^GK1304NecOrT^%QtSZ2*j#yfwuMZHK zJrG;Dr_) zdLVM)V>vwKnP474c!9dULvc<2tK{t&6yygX>g%!imWb3>9u%Ai>0OV1)NU1^%Os~Q zDk`deFQfVri~yv17MW&SGlwvCD+vVQtLhi!;?AcewjjvR3Pr9UY|c9{m<8kl&bvnZ%^A!lOYWC}0^x?}X-41j1{q@A73Ic`T;9 z8&65>G&2*tSAFaCaW&S)%vz79_>cwF@M}imNuc~oc%^huPdd7~&W7d}LLFktd?!BN zi`-Qu7H(6~q@0bjPeIWoXO?5S*Lr&i=To`e-H?m?j?n{n|O=b1FP~ zQ6rG}f&>YXhR(Hr;JFz?jpB*r+T9ue2npAJq~*sWV-)WY&ENou&5al`Z*Fd;dObIy z_}8n=cF9{5S6PRlv7~+>AO$$Tj{eGj4`S12bO2!RwZ2BjGnf-FwZ(NOSQ<>{pfIAK zVRGOBU*T&V7>2^Pc=kenvg8&&dBR2n-^4&s6qFD}f6Z9z1o<*OH4xCJ5)m0`fHp@R z;;Nt_WC`*?hYC!vKh8}5=LPz{YSd_!OIOG$Q~%C3#RsCCWm9a@|6It8klU^lLp>}u zL$bGEnK^=TZ^H8#`Ih^g=;!`^-qtpt+T=bSbVWl*xky+RV?&jyd=;{Ca_soxfT~Xy zPaLrX<3XAr1Z&g+`>49IP6{4UO+?SYlQQ^nbY=yj>Bv7^nvjBIBt(*Z=)tIecwJ~X80qpXE~+@;=_TEm{f$j! zYz+0EK$VJdfoa|}@g2tyd*d{7 zrNQz=e6+29rY;R!%e_{= zOiSIBzn|cqRyd1_gjZhY_Tz<)Is+H>WCdr2IcRKR2%?I zL4kGF*_O5okV{KRs1siv=4o!1R#z89zXs`{hVLcp^>E;JrbMkTQAqG-MSScHgj`CX zM;^HgS-KvM3bd)FpYORMQPHB2pGh}Yn*92NpKd;Ws1DB5JuUfW-8S0Thy(;dRGq*l z(M>Xa4=@oOYvc1RnXhOVE*SX-TjLsV(kG#mY8-j?bM2f@I<+7=W8rhN*!>S=#OqUL zZ3^m;Dh@bwUx^-b(o!Jc3MCeU$vD(?Cs}5mMe0hbybKuwA%q~{3DsihvePjSi%@Vw z6I+5fC14d;Pj$_%fb$XfRDMbq%C4j1y$YB*YYSlj0J?yld&idcWWNdG4Sa#1c<-_++lJysw4~9Hhv#~TmL}G$DxkSg}UTEM7 z)AgFXFVm&ZR(M;wzcRp5Dl9)@oi{$OFj4;-Fx@)gAl{DNP^~yJR>B61aaNj-yFUy1KqU&1jghe!C~GW z#J`?l+*U|ZdKG@W41#1&JOD zQ>HDL_}0s2Z{Oz82k})37Rd%IsWLxkiAbRIch<&Vr_hx$p1+sK`YgH=UUhLMW9UlL zvbMmgmC`2e7RtPD6f$@c`kKI%GYsjSVaCNta{}mR*ir{dehh@jgHU1Y9{S)kPcK*( zPGA`B3i=zTqX0q607TJrRcv97z>YQdec%M0SLXO8#DO(k{6i-&gT~$~e>P*OV|rWZ zd$ViX+o3Gzd6TCMKS}1gyChw}tWru{e)#aA_~iWc{^IC=NTGyN-U~9Iw2yV@Q%T_l zP>U3H#9^Wk#giui@yiDAS(Z6BIGaScXZ;kKLY8;7X}&kAJg1{lf9!dTXLzvLHK84A zn+{PD@X>*R1B8+0h(ZA;6x0dk#Sw6tw9Mq>aE;%HIQAhZa@Xc92oYV8)R(H4qyqyT z)>US|->*}@DdKC1b%osSyK1>^w$56@JE7#b*0}VTWN1v>`Q{BymKL6i)ZG#+_WqrZ zg^Ph@4iG#8YCMKb7_cu!dr>0TS_(_P377o&ix-`6nBxanOzR4u?l12+Xr@nLc=X6Z zZMhCs00^*hk$8pKCcFCAEAl4Hp#AAYfsR zA?kiPxgpA(D_^__$;enjrqBNVQ!OpF5MGx+;6g|@p6T99;z1P-jzYE z2I-3QoUWYh8ALXrM^-;0bX+~jZWiX9VN8jlN|xJvkxvlT#}bH7L1E|uQ;_UI_%zPp z#M@Jc2MSI=L~fh!sXJ*{bH?wlpH*r9PKhIl{24C7P2O`COec&T*eny$aD7(R+p3Am zN_o8bEYm^L8M$^FWss2QYf};vX&|s)FIs@IMEz&m#MRi-&!00+G9`Cs$8uqFzv@zi;LUv%f=yw&^k``?VJ6bB3RKl|&JMPm&PJn${vpVHFPIT?(oNWEQzhZSl+o&LLj-d_NM zCl^nM~l6<^wGZ~5|8wucwm%54+Q-8RmUEf2ExoAgK+{cp6}VtieyiUMg{`14G0A5Cu1d?NVQ#d}Xj7v+HyxV0sWh$x~rrgh)aS#jZ1% z1F#mTWFS+E@EX9XfUke%==glksBFb1s*#Mm5tVgc4r0M7H5 zFaJYzpU{0XVe^3le-wh#eZYQ|`X)RxteLrlyHIQgKS4auG*lKu^pn0^Utc zP0v&hB`3>#g1-O@vkqc5`#-1DsItf{65G(J$YsX2VPSHIR3apQpko`Z+el^3M{6P@ zbiy}4Qs%hrvW-~W4z8|g_w2GQUu#--RC*&&ixOTTL-uRyKqXA_2s|krw{TESj&+jx z;z-`pWxOtXp-6^dg~k?;DjUo3O2%dVV5Bgh07|OJU^}%d>ese5vfFK5nXbg)r4%=a zhE7l+fA_Dyv2b>q=kl#iOyaO8r2LG>DkHgH4NeaF_olxyu)$#!_zfrjYTCa)I3yoh z>Y8;Ir9Z7)XR)APXHa)Jz5Fb8cJYUtKVSJ&fk4Y>#Q&w$_YjGeP`mcCf21x#e1W#a z+-Ue2nLz98qu+&o|Ldln=W*l$aQ3Q~9fDch2I_55@_GRA-`R zFInnw8196hmLedrvd~bIy!WL3kREr{?|(7F6UOP0Ckbp0tdb$%V-Vmrpa0;P?V@Ag z5E~aaJH}|FCB)^|_sE^GfR`M_Po}ywn}J8>2 z@QSzIHV*h92$9x+sMwo9+zg#eQ9c+#9Bk|%HkL*-uBJ}TmiBhsZ2WAzEHoAnh=a2b zJG<@weFK}llR5igdb%d~Baa>4X*#2z;2I(ysQKb~mMEwwC~|KlRNYf|=H1*?)vlTk z_tV6-M8DAEy$kRk`}ZIqD<3obg#pysZ5LKlUm~tMS!JzVkEr7-^8Xe#!a@Uc!~7Dn zfS@1Uzr5w_VQ8bLrOosd8;ZkNUvSq?*6y8WZXOhJHLN6Elzc17}V_nq$`)uoi zHt_BLeI`fu|M3%F;?E^IJ#)3rXugg2cV2ULZi)K)m6LjObaa9J{R-fh(`y^{(Xp}5 z?`}54kDJkOe-&7TMEmX4Zgh8d8}uh}+RRjJm2Mx*IS(BkwBc6Qi38h^GA9|9lp>eVa32{l1BcbFdX(g8{!jT zsgN)gB~dk$;=7ykru*HIx?6<){gJSrg+)FSJG=PKG3;bS-UwW8R%T|VR2Mddz{kS2 zNqxWhOym2r>ZZ$iDF~#ZblL`WEi5eTt(~1+_=fvY&&$dc?YetWud{DCIrL442Jkm1 z3(VD>h0cBO+iUCD^W9n53^AVrcM+5uuw~1Q*L%maepg$0aTys( zIyw|G+1~>K9vB%LgDcSAoP_GvZ+n)4S0efQga6o6mdyOBp-7d z8`EQA@OE8>(nU4vAg_9QdP3Bw{duh?4!XqezVFUfThA(r-$Kj=Q>Tq6|CX0eH~I*# zt*td&@6`*WDcZupx+V!YzA)~L5Zt-qdBw(NwmtTTo}T_-DTMkt71e@KZDC2>`|F(& zt;(=xbTSva@Jegq^93*VmLLF7B@PwOJ=WQ?k`8 zJ^+!0R&8_e0vh7aeEiFAIqFw zHM~(eoX8TUIH~KFR%c`pWKzXaFsaYR=xm^gY zKq#gORnB*$To^-?ie;g(z=zbW*3vj6?7wF~Kii z<)tp4i>0|Oc=&eR9!C2S_}453V7)ap{mu0H^>d%Ali@1LsQG%gaIj>qw+o$-gL2O@I04A)|)lT`Py*>i6p8y`pjMY^?P|O6!SgW{rAp5^LUkQllu(pbL;6uTdP=f0|QqaoFsQ zDv6Ij==k;xlhd&EVJ6f2LhSm|QjWv3S$pfQ`wj8?Xa3(pL!Y_0xXhe!4~eLtELV&w zj&4sq3&E#v1VE-G3LtgRmHK=+oc+lgdPYVoDR(tB!nR;+YtAWaDwKKWAyG+8T975L zP#i%Bgg4#a?$6w24?ZfhHQ+TZtKD*vto$i)6$K@iZD4z1&i}2ohAGBZ; zr<;QX^)(F)3>4NOj_#r>X}q%9r3lOV<_DnJ=yZF0c|zNMybA7ny*tARZMv&FYkW#A zro*CJr&^?0-nqX~J|u?k&yg~a1t3()#i~GQe*yLt?@l5si)pzHSKQ{XCYPpctA-IL zL<+etC|O?Td#pIJM3R`*v#dz?+Qs@I=5zI}B@m;Ul;?L|UU(!qf0zqm!g6*{?AoTx zd??-j+yiXL^3CxOaZ5|fjF-BuZgIS3slk`-{(b@^3ci^ap^7HqGzvm#2MPJ$jG7`R z-D|Jbx2;i>D%wFPZN@sWk72LjSaJ7!s@h(^$q>$Zd$K#LZZlg|+;Of5a9QKKL>9eV zS6aHL*A;ITSh||KD?~@_MmjUfGeW}Or(}HSp@}+9p{_T6_t*NU-#{J6YMZQ@wm~jY zR!+`aOxpI9Xz>zV=Y<9jnrg{fh^jnORxKqqHk5ltZ>5<7(=U1^&@ZiM+G9 za?18_7|(h2PC-fOeAc&%(hc*?CPawSd@xl?uj$vXH(>i^1SoL8CswjkA(8qJB(Y^v zH9&C8`gyh>JR=aK5AYs8ejJh-C+xPTv#WOp0K{T8<-s(PLb%U`5i-AZaBv8Rg;IMT zNED(PX&)UOwI}mh2aRqKuqDc45xi7Lq5(O(=LXf~wO5Iy|HIrvqa2&FqNoz%IPWqU znyBwP4drKl{rbJlT#YjG?B^H~A|l2Gzk8p<-D>#NEsI7ejRA?Zb@GFT^|trgqd$Vy zI?3%%X7$w67`V8&9@5-hO*T~>>k2G71hf^# zSnLhIZ0(B^SBGV($9sc9Laxz6heVDeKJP6)a#B$;^Y(7g#~oOD&B8)ZJ@1<03VWI1 z{a3eZ-tYc)hLbVwkCf;LGQ&l+izkTUU~`bs4>Om@z@-h^#|q1ZpMu?)+P?LNZZu?< zz|Lm)0^eGAOj)YLT%3$5S4&8I`$^DSR*vwy4!E0Bo{gjO7 z9oU#Mvw>v3p-F;|4~z~LTO={{l?>pGK9y9RQsbt8OKAN{jgMzgV2nFUcj0kVb&h+f zL_`x3|2`J793yY=E*3K9xl`6v1MYholu7%hTR!KFLDShP+ox0_HM(7s6BABg!8uKP z37RqhLes2d{S0MZ3cuCQO*A1MF5}>g#M|isW`gl4n7x4Av17X zwR6VW+S;+nNwhELc;w`L*!*)S7w|R!@ThMUQxp`6c#sAfsUq!NoHUTpsG>sh^Q+2}Jb znDd4r%84f|foT&Iee>zRrdp)X$-ce$dQ|v+W$3U4a`zdSn7$Phyq1Y1>p&;gc>{Je z1Tj9bF$xI9gr<3B!Rz~rE^!q2zHv(cIsk6r2vY9g?{u7=TnweDC`4LX8d<*pk>s)*p>OKXGb{heJt%+%)AQ3f?HL%@J>V=i z8yMN1gy14c*V&A9e};Gl;Mfo6q*QJ}kZOTa-*vJz`cvFbj4@7**%|PuD^rSFfYPY? zo$qKLhGmty9~uE176e?q!kS-K7PCeC?hu!VU9Ugm?&M|DPWEEoi&>c0x&QU$YMc@i z6Vt&gpX-jsUemqrfAaFDWtBQq&lj5F>xbM$@TUx0gC3)5iUHlz)89|e$Cof`S0Bm0 z;Et9z+SB|6ZEL>1+LavyZFXiRs(zBYYQtBuylWRv1D>lPaaU_K(3U#?dzcc zNJM!DDBrP$Tx?FXJ09SNTQmiV-)ajybp&qE z4<>O+p#V122nee3r%zdFg|Fl{&vs`kkG)TZWs4j20njXu$g>kJ$_I>oo@V?YC8GVF zX;f!4M&*q>=IBZG=vF(ZRIHziG-!cxCgq?%!S%ZcM0qPC(@6{EG-yUa{q_Y712DNH z9?Mvib`T!!-Clw}z+JMM`o#ktPt}wDA5y5U=K)j=i-g*^R01I@%jrzTE+CN@-fb6L z+}!n5v9=Z#76yO|pa81-{pZgfaFIPjLwQwI3BA4VU%YrRqcdu|`7cw)ZQdosvT#!GKji{k5|>dsCZGL+f}=6c(z4>5#J5&Q~kLqFb&YA2x@VvgJPfaZo24$^%VOmPceXkfSa}f!I5Qaz5TON ztJoWaz}UpZ5lD@{kgZQvR#xta;%X8xZ-KltSF*)x8@OW^Ws!DuNr&~#60RQ&H#feT zT2F7U)$tu5AR09ev>U0;IM$OTzk!+s`o;2kbYw(JluuCbC#WnzeQfm+Aa;`heNB9& zl8g83+3-5=Y_?_h7Dz9&V48EpBy<37C_faE061J^v3B(XhuhOhG>qV2Hob-mhXPi) zScqiYe>q(nrO|Yb67|k_ocy;o)Hu z6B8sDbGmG++Lmnnk_eotb77vIp7v))`N?bjxgMdXqZ5(EG(*wD`2G9$RL|`{GdHcd ziyrI!Kar&Z$;VH2rppJM#qTawc1yZ2sJ(yP0({&PxmXMYsT&K*asoiRz~p2yJ)cuG z&-1;3c{lj3n~l4B4UvN$xFP~#;^T{z=wq-iTmVXu=Ek7-y*GjM(pFxEn2GM$-h5wy zS|N_6-D>xD7M+?HK;KiAmyK+_w6tbun=FPAr#kLSU*}wBZAI>Hj&&S62yNLu!k+<- z%FEt#^Y`q0y4+kvUth`6@)f{j1F)WHLifPCpl;@;xXewldw_I_mg@H#jYo4o^#9}z z0ZPqfn+z1Qm(NM*0o|Ch5<4%3C9r5p8XD4~U=gt_0!C&6M97bXghxMs?BAyi42Tj! z6qRcLPWt8}pYM%(Y+PJVU*AfclGtI2%7mUCG!Z1wM3E+bsr`JN3yW68H{i`&+Gc=K z1Vkr3u`Wb8{7Y7c(Gs9f=d=7^Kfn^>fAsDB@d|J^6%~~>z|Tgu7N(KL1n@U7Y?=UQ zc>t;c62d;eu#k?2r$TCDpuax{Bad_1T3g#)rc{Z7>L)Y!NKkw>%f*Yy+m!*p-_3nV~ANDdsAND^+!kY4bx%C8q0$C)l2`=Jg$VaUKZk7iy z5-SYDF}#4+b_wL|%(T^&+=magm6L3uqG=5c4X)VPwmlbzD}VCye-#xKjdSs(u+pS# zg7obIkI8LL=Fde3SQjH8#~U!DmES2TneWb2&WJ*CtIrla`7G0OHXRn2VR}kH+F}v2 znJl$_MZNxy<7bMYrWXI}7Y&u?W+sk)A#YgL1&n_nkVj4J)|2#p|Nag-zu^sPE!Y8e z4M6GOe)pn)+uBW*4IoC+)35T=@yn=G;clzD}8k)Jm=-i#lT+Y!*FL9j~|T;jJU_<(~HCX4~6c+2EJj&YRm2kbtO zz5p<1o<2|MO?T>j1qcogE}oR6Brr|s!?I$4Cue^k$^ZVZ3zP9RbuAcJ%FN@~i z9Ni7;lCAV)uG-*`5N?~PQvWx0z$EPlhQtyt{9J$slkFtP5TT@D;4 z*S)!(<&N-6;M9Kb@DSwW?X;_GB=SaqJRaW`6c&0Y1eh^EtQbIO z2o6j+cLA0%#)bamHa`Nw_`$)9HS{n~{PxfM2BD)zM`<3tN9Kn{WUB3 zs0ncTyn(tvRwx5N_W^!$0IV;mS$@K2H`fg?A^=!Nk0|+P8B+11HYiX{@s0j*2j%VHV|J~SqmahRw0Q)0>qQ1H>hZ+q@3Ev0F%NV z<1<=x4W3`g1L5YUth<_Z~56Y(yGweT_TlSg=hGT z3U~m!@d2(;Hdaj{2&?CucDK=F`j9dO|eSfJk0%XYTvLw!hl``f07Y@swo9nY=bMgZn_g+dhb@DUTm!mGUewlnl7 zj>FQ#=sVhVkUt3n>UpD~@yzO0*Ff?LfcjHeH<%%=59-v%8&K7Z0DfyFOly{#ReId+ z?ASO0%7|4yO%aoM7RFq1aP0;uMfygj)i%>k-CqA;YD|(4gRB5Zd#w(e4WD)j+(JGU za)RWE{i%X+AU27S`58v3B8_*zJkR6<}*yZ^>m_7h3|S8$7rH zA{L*apf=p!U4t~x(tg-TCw711%vQg{g>1T1|8)3WS{eiF%m6^4^4cZ^((?;?Z!V8L zb}J_G%sI<0QA~* z0oHF-m8tcd9X}`n{GbOTaz5w0TNeeK&@#rr_Lcq^TB)fDOMDRauRw3WGW<9IELazy zYVScO2>TW1V%+o>}%TCO`&nb_u{&(ze^zNe)P0CzTe z(*O0|B*? z`1E-+_tMf5Ag>P&hWzg00G{b1jj?9%cL!1hoh#@u0jDqq2L1_Ra%f)!9UWZiW79 zfR1vnb35CXwcqlIvB}B3z-vQt5hOhVKIUVv2Rhz|9V~hcNq}GfgX)X>f@Tg;2uo$W z7PWV{GQX*o$Y-p0d2pY|FUV>)14k4$%=7dGH@6Bo;|xJt6R5br{zJN|NT0UY8?=Xz zj3Y_JgUflnf9VSb)xTH?k*m#YtpW#s0AB}w_vd~hHwSINaWClTXuutB)6mwIfAc}EFHM|7@UY4qw=uV|DgPag2kOpa`$7{chr5=TL{mf-?{2;NMB^{3JY643* z6;w}PDl;r5(vW?=qbY} z*xf0t(m(qG3&q6Tyxh18$E-hTc)9w`2P|!Uu-gD}@apFWrHOS3J}P3i%v4&30@lAX zRVKUl=)Wrh3V~rydOQA`(U{Q$&wBucHNZ_00O=y9s5s$Cqy4(xVM%hqV}lZDXRr|U z8BV?g0$jWNe@iOV2m*@|@%r6M5>oo~H^9G!BSuC(0Rj;;ZnXwj{VBp!q-FlT56vw&gg$9{}hAv=AziGkC%pv#VeHH$W&Q06PYaLbSgyMi&q&N+_T? z^Ab2E_W-1j)E@ZWi6AD9Kso{S+zM=vH_=q0C?N1?zzTvKN(RCR6!i{Jvj(JaMckx z3h29dalI26{5fET0<3bG&rrPq;L`x&xdxgX?4TuK8*bdM@43YQ7NQF%GtdEe2rA49 zFe2j+WdGasSjf9Di{7vol>C4RBndh*hGjWSnwqtO4~KIwEQVs`k; z3_7Erxd{>v7m4Peg+zsTo%ZplpsLJd^4f;=>akjWPUlne)>o5`?{AWfb$S1{{6en) zeqr|Z_Ad8x59R#&h2jq;2Ao$S`Kea4(gZ$l^shBB?|}xV>Jqwv{E`tLAWlf_oKk5 zG~w#MPHSAq<}DE1!Y2zu$-Lo!7VI@%+ufhbsyWur=NE(xTeKSp94O5rPCo(o0IMux zW%XJmPw`aP6&Rwb>gp?}o=7VdUe?jkQKV580B+Y2xRsnH-FQvLKohATy%eAo9qSt! zj@O?YovG8cf8p||9lzNZw@z{$Mv=)#c<@G15eM|V9vJ|(1nAbxeuI7EC8KM78o(1I zUNrfL-`{Wp7YJkVZy#GWD2FqRpieAz*?#`D4KTK!9EJh#GSF5+B_t$FQefPxS;1-Y z0nHOL!1GZQ(uCpx2e;MN)ujYB85_#h)>f+D-KB3AAkT@bYip@`3->Xr9|Nx6w*xB#?s-{pI2qhe7GK%^2NUJ)P9YpkZM6 z3f^)}iEOulk%|9^_s373jGXN*z)}G5C-Mi<4LQJbNqG%~|Kh1&# z$)VP)CtHJl^za!l8xMhp@Zds}E*WV~0p}6)9g&9N?HQ|X-49-C@1eTDjA!6|-a!AL zJSE}q2YsQ*{V70@l0YRp@$_ltHUd-%WH~zusM23Sm)GK&jEoHF6ryN(%Yd1jl+;uT z6gwbD`pwF#?7N~UL6d>{SBH5!a8WSdASosI-?wKzz-`=_tHt+6l+;IccfYgE@Rqsg zHg88gB3&At;FgRP0`x%FpfiG0Aww(;OjV>JyVppH*BH{#Lq!w7z6mB*d}o93fa{D3 zCOaNPSz1{9JF9-1w~6baD{V=}%9@|gP9r4nc-&OBW@j^?RT(1GpclVrfG-uozy+E5 zk|V*E7c!&u($w^HbwjP(PoLp81D}Z|yU z8GNBviYjHIO98~09+aKQwH_vNw~34KK-ovdzu@A5A}kC2XV}8M4@)=Hu)|&uK}do!gF3Duu#eKh1e+rUt93xymfdy10_FH;=@{s$7zLLCxGb%P)Z8}v{?B2MtVU>bv^gMzU{t25Qx?B`T0vU+tG-l0=;+qiLSXKBX=p)# ztuGD&f%sEc*k;02>9G*y+n6#q`@DL#c-Ogp9`!oqYQ z4;dIjIMo8VX`8ODrq<-62dy4Bp0VL;8nSmz^T3_;l&R4vafO8ph{IXa&KJ*1FZXkQ z54nx{Ji@@h*g=Gymon%cUQQs;GV*M}yZrb=JaKU+($Dc|L_|ak^v%WKd?}H^!H+H@ zVumo^h|z(bFA`&ccxVCR2fd)_)(m{Wp6&5MFadzNcr7amtQ`Qhq<{#41nR1(k`2~_ z;$B2+DiiFI_b1%7fdn|Z4n8)>a}`e8`CExOMs$uK5CzZB{9BV*(o_A|M6({ne&-2| zSe0u>WPPOMn`7|8E5J~(VLzcA#-uHsop%>~ooQ%hWE8kHDXu7N@9Js~KCxm_CN6z1 z)bL0A_=;=g-N87*=X~~t+$B11t&Y0i;NLScvI5@K20cQk`UTaQtqwj7ETd=Nr-%t^ ze%jk0r8jCaf=@`jeU81wE^bx5jV7_tLEVOZ^^sNLKTasURw9 zmUzp|_@#mXKV`LcrnV$?(PuQG!e>x*X{b1d=@l4c+5k3--J$pz($`K-4jbJ%L3p5) zY83++6Mb`YLnIyoSfc<%6cM?9H*jS*4FmHm8B#Xk!8yDN(re ztlvS5Wnjy%UF$nR8(+P|K9}y}ZOEO<_^GE)$_Do1$1N*|29;W9XD;iaHV9HfuAeif zRDAc|)sTfic-wkYN`e?Z5Rb)tD8kp^_43;F{iT+cbj3XD$&J$AG-bues9669UYt3m zs&ZWz^lk+9*FVIm?5gOGA zLfX^lU*>i33e#K^yFPLG)hxy%?g_m%PKNZbEdE7^Xa1k66(wLKo2R2pylT(oE&Xvoh_t{~mRAbWw4c-0u z$=fE|48OnMU969BJ$4o|=WCD1?%74sJ-umNTohl>6^mS5JOrG?&%@m}WkZ<&URzQl z6j(HG+Hk%8y6ILXZh@FbD?)?iQAw?xfZ-Ab*^^5T-qk&5>xf3D)ggKk2$#Zf{~nV! zd2!B43_uLS^RkEa;uQ7%zAVEBQ;y+Mgvp~@kU962$eUBBpXmEaA;BO`ozKsje|jeLAB-%H z=sj^naF-lMN=;GK!r{#-Dgg|ZC=!3Nzr7!5$0NeJ2-f?o%41MnKfFcIDml>pGUz#h zO{>M2F*X+!*X6*!h&FBfQ7c}j^V^jf7P_Ej1R<)#$ELf(IpAwYO8jnKIkalYpLC|_ zw)wM{cM{GZ&^{)~QMi2gWY@)8a*_Y1goI2(LD+}}HB3)p_!Va5>HaSQ=@yeC(SW(V zWq(s~mkfQn2aIzb)p9n_lf|H?jcO4idO1EeRzb?7#ggDp>+rHJ`*J`v5*GA(I-{(3lenQE zr2GI2&M}rcqkj*CQajxyXsaSyW5@y6mumLyhiCtu=@CjprCihkv!u+Q zW*20B!@d+RrQOH)+xwaBt$~tS4euZ^2jhnqqILvA1UvPp{jM&}OnI?|LD_3?W9bonQ86j(_T%qn*Sv4b?+&Yfo@_pT zWRIWl#f~r+oZ=%T{U>1x`(56x_7{QeY^&rCHsyIf>FEsuQQAE;v{5x{x5Dmsi3QX_ zE9f0qj^r5Yj1CIwQ41BcMH-FJHJrNJXl}AT-YlN~_m z9F_%5=#{eUZ!Aep7RB#gH$SS+(SUSdmfk~j)@!y+4- z%aZ3(Uqd|8h&ZaKMA91&e0FfH*8b?p6(`T(Eke9s1p!o|bQdd;beNAHr~dNeAs`z2 zWbbVCCFjh%oMv?Iz+t9_;1P}xhkixHSf_Z#Wv%X{`@zskXrw3ykK5YOZU3E9A8j-i z7XNYL%fZ9hvo-US?isc96laf*4whw9Nzv2AUL>L_H?nLsI(mXOpMkyOw&`vQm3#S! zl-_luH=eoD#Tzv7z?2v(uCtBZ+0L{=3g7NK_1$lR3)DhZk(3dh1mQU5)6o2=7YfRB zoI$xN`$cBXEiWcEhRnT&KZ#fw6j&B=Mo5I>cfU)2dmqHjLCPZFG-0TXz#^INsK4!H zW-NqObGoRmaEuR=wEFZ3{D_~KYHA7t3v;%is;r|Lf`|9qijkH!sOIA1GQM|kkX{TBMFovW#j$PN!_=kB}Rn{4-CurOWWJ{*so%~4OT-K;OZ zvv)U(=lKPgBsg9)|4zW5H_P{_8Z?RGzOBsMiOhIT5?^uHA_%RQfh#Z=BPHBqIav{m zXe@(H2CDZ~3YZiq`K>+J+dD#ZKncV~XlUr>spr-CzF$8mL%*=je@~wgO&FL6T%{Y< zyq*MAl#{>*uMIzstL|J{V2-bffX&cn!Mlp+E~w8Mqj|5yRBe#r^ICt44W`kXYHreG zk zDnFG;RUG=V(3$$0&yML==3O(HV#re}HC#y-|18;IO~r3-`fT_(tRO?ix{+*|lL*Y{ z(&tpehsH|O@RYK=^VTg9JdLY?7Mq=p3XKQUeME)dV?J`@gpey?$@wNHS`Y4?S;?32 zjMd+YS!2j=5v~!_@6D?Bc-ccI^vENGiZF)SDo9E-uoarzW8kGrv9UrnE^M}P_~9LH z{f9}mpD|n3Bc)li>!NSwtO(L1;f;=|VvTNZI*pKMeg%sW4b`P#W)25#LMpJhkRx4| zv$|}=pt%nOP?gPet3N7Qlp$;VVCdPv4{I+@0g)uG*n=4?%WhvR^DQF<$CWZh#V!)T zr-@yIRayEP8T=UoU&9@1(1?q9H~Uj(b|JxxN=6@-ryr)Y9*z+hYoGJ-%EP;A?QIKP zK1L9+z=Dk}6}}mN0OfIsyi-H(Gjzb#X4_W8oeG{A(8X9#|45oTA}bDlpIRhB1!Zp* zVQPtPTVl-APJ)ZPtDheTx!0Yw(J0~qFa2&Ec+4L~T-_FJU>V33yB{k7yF?M)z z9CuqaaOZ@@oVbt6WX(r@PB;(nAB`<+9%#&sTaPI=(9-R%C1^{!I-!G3hoRQ8aVjB{Q zf0#+9`o(!m?`;}>Ul4@DqjY01M+~7B)D_I&NS2U8nv^BGawasbc|?xHJWfB_(~@Qv z4wtYmjfZ*Pzl(&@%56Ni3YBr;Tbyc2uZz!6xt_hp8>~u{<$Qa7!q6s1zKd|#;e6O( z(7JUJlc7Cu*Xa>?eXg!-kEQdLYG(9!Q>MoHS!;L}t|aHf3_MsgIH?k3U#wK$wlWz$ zU9L_~)b}O5I~5jRq|pdxfBf+{=gkL6sezkQxqHDM+~Qh8ou^+ziuz)n!i9bg@D|rj zKTlH}_GGwskPvS=l}2o*vgjv_veek5LZ^53iNaB{51S8mSyRFuCzO;Im%0XD zycTk3u|;+t=0m6S;-aX5tJ#X2a61C6)ih+626(Nv8tQrSsol7gOGhIdZp>K?REV!= z{}_UnU+YTVrmH&;`GgE6fBSv?RpWV{VVEeT8m4PviHX#LH{a_0yJ9*Ay`-$ochQv7 zBpm6oCLaUXLzQ(&&x#1ACI(x}%+dG$!fYo#aB6YnJ#9-C>aBh%J7e+m`#frXkqwQx z{qKnt4ONn<*(sfO`9Ck*^mpA`S>A_yP(xSDV>f_!sV*&o?^z$5!$zDXV~d=EZgTdfjl_Fb?b)A1 z_0Z5+K9`Dn`Hb74l8l^B%mXRc-n$j^oRk<_-};w>DvAw z5nqZ~ESJUbATy#Gfj7|IQVcUzyTUsZk6Pa1N8c97zx=C6&+S{2&QmdYKn=ib%MIy~ zj(~<%l9-QY^V#aE2{84LgI|)EU;?%mM4ZnFv-`tT1-OC-^Y$MisY-uX^E!^tzfm;*Ta^Rs ziOB;AB*zpvRbJ}(Rwcn${*6IK5comD`f7h2YqiFi594=WRY(_jWwO}%H{W! zC-LP6SRw{`Vk4CT+#0IB7Uk9X;NT)#`~o}8RxYElY|g!p>B*7xh1nqA9b|)~>GsH( zMQ-G9+r$bgC!6u~xv(W@5g=!W!4ODnY%K7Fyn&&os(Rt+00ufb!9;5<@W6m>22O(R zii!88yHjE5?KQs+;^=XmH>O15Q<=xS%S@^AJ`;sC%n6pJgi@I6b}E>P^;pJZ4sT>7 zP8BCMt{-%^CeO3#WqY|(>o+IygtmWcbpIMAtHz1I)}k9#(GI5bVu;#_pGxs0PqSse zvitV_2wTbaDaC*&_dn7BOj-v45!KH;F&XLuC26KRv)a?!H=PL-uiYOW@U3PEG2^uc zX5q?Erv?lzrT}lzQ=@?+9ALDu{mz!00*-mB;MP-;q{yFPr zpyw~9Cmog3TDZn`;}b+seB#)wQ;xF;vLM;~v092CvH_A)44E%jPz>|C&lJEHsN?g@jWy=8Np2zg^(4LH4$Z9SEKD zr_X=mT#Jf8Qkl!;v^4v+c=^T#jKgbrRTP)>a}prx?c-H*q%i4)vuU5 z;W52VNU7&*;B)7FmQdZ0`bPER3#qsvy8lVNCrozvwCxs*trSUW!`kXmqF%p=c!bW1 zWdv+&7ox?o>WMhCK#Y7KYT^R?GIm+$36|9>)<4-bQ?42-2-h`BVSwq!`o;`a0>)$8j&XR ze9!EO+r&?N92WIJn-@in_SvS^yNeg9>?HxVT9OoAXRqfv>Sr1SVbA1;G8YqLl(kru3%;^^N`gx$LKZ2M?!7Jo5&GIBUiPhS22GxH6B4E`rK7yK6Y3*iZbXfu z>PA^mNRe6h5kdr6CxHaV9hWmu>Vr)#()%gDaAyVa{Hk)*$qCVTK_q|eR6jmh&(vK= zD-KO=Xs|juw#xq_7SrEvFm^b`y^%RdeQ{pzE^3>u;Rw zZc8{-u73G9e@{1*&WpDoyJX;cOcr9T6v5R~IUu>n_KRaZ&=piNB6MsGMcA?VafOqyemDvCd{?Ur_B>>ol2@ANMK@2;VI{v6sYeYpLv8?T1M8tc4NOiymNQt;?95EoRAMT-rJdiYE0tp@U<*GiP2v(&~c#!>5p2 zq--@stEyHXIoNu1a1k6qhT%eYv98d+qVg;~*`I+YnJL#Iz!R?Eu$}Qw8y{_O*I{<* z(*-{Hk)MI}((}~x=2}HYSUl?d5Yh@ltIzn_K_Y3V%g}+%`&L_Wlagq(@y+1pP~&|o z{lyw{^e9-N@@}OqRW@$;IeLU;c3DnTYb+OqF4i$)3b3tp)38fL4y{wCR30X zgD@=TbKm@eH+d==2W@Obw^Oc?>5O5^2wOosfvdZSP%K)Jxh(YGk}klmQ9jufg3?pk zN@BidChP7y#a12|Dr6LIdXzX?82{6;=Z#F{-XB;A)a`IppBRsrc)2fsrY(^o&+D8c zg7H!_k$%e`?&bAin*tdZjMPG6={Ht3_jlM`)w7w0`rp}Tf5gmoUaYfjONYx_p!^~! zrPoz(xYA9^lBsg{P3&qpTh^bB;m`Ph9$s3Hh9(d=sBmw$()}*E{a21NCg0aM^THQ- zRRJHfL+_O5Ik#pfS7=lT)rWB?ygpw%Up9fZs@1@D15Y0H_XPUDBL8HU=0tV^u_~>M zSMdJOYf|NWR`%Cu;LOy)IO&@_y2Cx_V=94Xv=7JCT;IR90X6{>dtqMDn2e?-4Bk+3 z#zE%NnBFyoXSD3?$A_(Nt91d}`u@_3^7qR3f+xMbHme&~0iDCfD&N9|IX)Sj4|3fd zpB4D80H6X%*eDnkDWz8bGPv)z0N`Z`Rg*b`F-T}V%3K+OWe3$ICM;`JDb40;L_UOb z1~2x7WNAbcvuC1`WOw1E`VuGXjedl%VnC>%;b{zg(=p;1k(XGdg3M^Wn*?Y+D_tBs z9?t=MF!Vo{Que_XE({xH7JAe{UzNmK$+~c5Md78+Yxe1swJmeTdPXGoTDSahPtyAV z_WR7$TWu}29400iW|;nhM_-AY?s&}nv+)OgWwY=W_Ag*+>?QlO zUL3MH_bH?&M6oZm(5Vb|!Mw*RjluUC&->c);k~0k9gWJYyoE;GW5xQwUwZt%xTUK+ zDWThjO4C+wt%ytUkH+lSOxa9ABgV2^JeMNDz%Arr`tr$(GNt$EApiAkR^9jKMDt5t zC#QUS?cZU4%c>oJL#xZSIJ5X;&&&vg;^I@qaog1@0zXeSzo9+rO$-&;h>Dt&!nAQw zd@ql9#eR$)`QeL+skBr|cs8{{p31j~zgMS1d;@_`vAFwwDGRZAi0FkqL3op@k$X|f zhaoEb?B?;?kahDm>T%-<9Je%!So7~+)LX3_gy1`@C1nWa`)DLyE_-) z?EHK65FRUcfK4}y{u58{nl|BIO~PV@FlSKu$oi>j=3l5cjELj&*haNRiTcS$uGp7I z5u6l5r7F0ssrENoC^2sAfaFmZefA`!-hM!J=A*8KanRE+!JW6eLm6K)7#aw<(Ahi* zimLlzSM3ean6#}F(~Iv73+`+l&b`&t(^AsaHTd+aDyiR-)!ioj%}YkUocTVwcO%2g zPM%CG`3&q(vhwNX?tUuY>x|p$SfWWtg~n5Q#;Gt$wxz-mk~;t3R`|MzyQmDn0Mg+yCVpZxW>|ruDV_Z5917 zg?RS_$6TSBCtyZHFI)F~-|@SPF`~~L<<}@a-_`r)cAiZtliT3z>AZmVI5AHGZ_53q zs|T)6fSF`lKP&yvW5(C7-{EY;MG5Ocd-JI6!5~F&Z*TLPvf4kRifa|4UY1Z%D)v)8 z;-zOH7yPVpBaYJlO;sb}KSf2WJLN;27CcAbXc#vbWw3>V^CHOeG#Y1A+W}B{LHiIPQ6Khv%RAY$` zeSNwREO`LmJ#p{CHbdGF>xls@XX6R@rjOSn+QsM}ex;m%ZHRJHc}*OlJ+{`0aX@qh znd;sq{t&mU+r(+a5!b-=OhLpl6woU!FaY^IC zT3=4Gx|FZ6*?4j?np~D$(>0H0E(OU^BY%BBwVt+wMbgilRm@l~ig!`?&yB>0s%e0y z4W_!rNV(qaJotdR4Ac>_orpY(f;_cQq+6c=4h6+sU3ns>-ht5MNKx9kS6!3JTN$&e zx1WyqN#5*3V==-I^xUb-QX?-tY-H*>r>+3k>v817kFi~2;9Vd|kl)%mQD1xTiHXHZ z%-E0omKs%dd93oOPs;CN7Mg3?#ZJN%EZky@XD=wfvg`jlQcRtirS7^lH#60POv;+2nk^l8&wFe;- z&ny{gIkT;thA>A)jH5os1J?WSe_5Nh3MN>1tq8!3@(P$*UjtL3+;NN_jKINm**uBJOC4JnKVaAbN4 zRR+mezux|j_W+o2d9^oXK(p){laKttjA>m!K<9Kkl|@e=-ZhnW7OnpL27J;nSy=Pu1*Ze^n|FOQjbiSSFr6!}Zj#jIu6dMOq3L{`c>d*_UklO)C!% zQL5^hOlRr08aEHRraBo!0B7U+^9`b4tE1n%9q$3A7gii9($xgm*n%*qDEF(2L7CI2 zK`+-FT#C=h{_ww$f9V5ekC8LmIv#8B$dgIHTLy=RHE7)pFHE1|aTpuc^q4SQr z-meNq!eYk9&v3Byc}XCE<6*GOKf@6t5nY*2&(mJkq~-0U8VoCP}tOB{|{Af6_(W+ ztqp@p2}lY^ihzW4NeC!i(v5UVcf6E@bVzr1mvnb`w{&-d!2i5!ueJYgA8^3M#lf8O zi81bRM-rf&mjfAGcPJ6^4FoswS;ftb6JRyhlYe#ve7V|(s|6r~Ck5g*0Mu(U;@tpd z4PfI+e!c}1{qs&NX+}WL2Etxvz@NYAAbA|!h4lJK%~%%?Wgcm@{8?7ms9AC~#81Bt z?fA9DXIJHmbC`Loldg*5NU=he);;JSk|HG?Iu z-R0-E-)j(>x6Q$ni&&+ej6KVmSRZkW=}QGHJ<;m|8mbRf;j!vp^`oLE4M%8mCpy-{ z9!J+=-*F}L^Vi6jTj&9r91=3$smQ$O_^IH3?+WM!pw#aQg8`1i-xDxTZ%+a1dK2gt z4leB7A8(DIUMYZPq*8762B@YsfG&>|P}89ZX}Z8eOVa~5gQ0X-*{SCO%P8>A0VNjY zdd0&dH^K<|zA*X!d`sF?XV&7N07xk zMvKd>*<`f7=-?B2c9wjc~m(5mwOyGMj~X?XWO zm|_{V@RZVrH*Wd8kf>3^0JyMTkX3D^4R{t zC@-NekKU)uDu}R|hUhhz-!n? z@}?^Sll;ThSCyWBKKNm}u2b0|WTzeXgWbArHB$-R8uY}LfVL`kKbVD^e!?zwM}qpq zGXSd$UjUY>WN6Fd!?B)LmvC{>7b9KQJ2pv@Gek&oc*16?%-Jv-4Aqu)#L*M6X==Hj z;!I=!I{$sLa}&*!;?;8rhp1`!WxUVqBjR(!fLIfkvs#Ey4EwzbKdiG@6p-y>Gur37 z(+iq|3n;qm)fmM|aWjKeEImH#UKijwQS3Vdk9Y=98s3|M2G0EK#H0S%OKr>tTB8YT#r;XNnkn;#n+8y&{|=qehB*@ zi$XU-WQJBV({`1S4bH`pEw7)fwWiPeC3kFjVo~l1qA%h8KKS*`F4@x!+AH8qo%5HF zoHO$y1}--eF6=S5xzLi5^PD`N{ypZWF%lV#{>%pfnDQ;+?|6k1 zbC8Je7$2Vm0vAH>fbZ3X2gI@P!;kqlAK(&FZrE8rQ z=ebzO8%6nv49;w=#j(5+@?+ik$>1~yO6O2~lr#81sU_mQtK@5zaWReeVTmt?%wtQ#f@2mi>NAss_V zrZf?B5XAx##=kq)?aK@8;Gp*`wFj*I@Jkrt)C;lz47d2YD+bynmdY-Dj<3XtH$;H< zl?GYFZgz!5RmZ(K8p9VJ_eL(eARf!-dQ3qgEt}$`HlGH>EVrtPjP#*&4+P*#l9A#4 z3cr32`K>_5pv|F3{y?!ta!=@CHn>;i6~9|nEw;8T)!v15{H-=PrUt}&!C~tt_v?RO zRYPlW&2m4WNrcRqb(^uJ#o0A_8 zV9@mF6l4P3)>m~4X{sHXE8GdAF5NmQzoyrY4@CiNiK%!Qp;(g;u+6Nu6#=BiPXS~e38~`UT#L(zEBO=Cj?;bRfN{Oa45CXl1 z(E~HC*%F$dtp@zlL7@SAzXYHbA}4vw<5bR#;(cN#Y2Le+r+0a450^M3_C-&4>L0|d zAiwz3O^Q-_ci;x;yP9gv!T`8Pe$0G8ME-a`ZD}SM3PoeB{09+fAKZK2%I={6?f@+5 z3m~R5019RiJEG3T#cwGjApFm+sEF9vF$PQ@!^(2)wr9XBr5lJ6vrwJQ z<&>3sfVWkCX(_N3;-S+7XG0HzqY`IzZ0y?Kz9&Z`!tvzM`{7pB#!Cj0&`C`EVrvL~ z?f!tfd5kPJQAcF1)%y1*;n&X^dVap9a@u`%uz(Ajh8+6tc2y|O1?4CLBG$Yey;mSu zYdRXgKKe%B@72QLQTJ-$S6dRai_i5M#n&%u$Y~c32I?WB^I_q#N*54LS4A#YHnvx1 z=LG>_XcX_STA#i^$ximJljp;4Z+7r2?M z$=^|00zozuunH2hNT8w;d~qAW^;+ThGa^G@_;XRn2?F3O1YIAqSc@ir=XYdQ1$lSRLWJo;C$ux)VNq6 z&aD{jP;Ew|+nJ}|;s(%(S%O8-yy`_jsT2>xeYx6{OPy`H8#j~*fz zCnmPzOZvM7XAoc*H2nm>iF>v@_1)b5oVV}4j*6M5qN{?XaKA57TK8Nn9Ev&e4@K(M zk1*vEHxCL$GCaF&-u5YYNkg;OHv()5cdC;vD&2L%7d#9VvwI6X7CSFLm93w&mM znofR=I0GSSut$qD4HJ*JXn5zB=r9h99|xPRmj|AseQE_xJ);pGK$;K8 z?#%-wD}~AopjL)z2IE=3W4`k9)@*{vs;Tt@&7+8!87rhjeg zkiw6Fkk3cCi`Ov`bee1R&$%TbUL|7)1m#QRB69w`2uR zat_6A8?Vu-2BT}Dr0;^cmdTtl!JdZN*3_1O^1#6UY3)>u)JlQBXrb14Qe5|E=6CJ$ z`4kv{qqje^6&b4@B9)sdy`ln-BKhl$hBQAYoaxGSDmld@!cG^i_ktw)Mhd^5a)7oy zT^$ch;7|xBLwMcL9)1>(6PZFKT+sV9pIQ_u;*SU7r9bMFV-_{0PmFCd>(DJ_msN>#IYHn!(Cr&{rC!EhYG+F^x& z!=trn#}1N2%w1@+RYqgP?$ST~BB>*kwx8tWmPRUMt4y*Y~ zzB96G_k`5&7cnou8^q(6`ZB{YsHg}xHRaHsXrN&ZHhkeB-778gkhZk*OWtmHtcjv) zCU*9?G=V|Rg{sV`u*aHLu>*y02?aF%{=aS3i!=R$kiVZh?QWDCDiYt@7W9r3=G5ku zOrf-HC(ZcTzP}pNbZMd?n8A$zlM1tM{@*%exh(#JGO}X4I)N_R2N>m)0fl6dk`}`- zXl6Sm^W~jEo9hft(1wFM;C+;#)#83}ys~210Mr$La^806U<*n}hwuDE;5EAEv%T6| zQ5Sj;*-xLtcdnn+=C|NO-M{dpqfcCQ3?(b`5f)qGeOchBJDIqP6&p|&{kd{51`yM( zhjJ!ku*&#AtJ|9*5B7C(mj9#8(L55rz2a*ATwsI4hweN{$syn01;hl)cZ4XUyI_uZ z!dEjO;p|+g*<*N4a_Hb_8v9+=s*GBDHx%$T0U}35U9!IE@fbKmaI=yom5Yw4yOz$E zO1+)?@TyKjGceG^?Tw;sAy{nbzq4ME{;5wC9xZ+H#DF#-jTh~uFmaL)%*b}Jy|E}+ zwj=;!-WElKBK?PlOv?Sbftred!|xO{5w;8FHL%UAsz5FX#3n4J(?xo!n^KWz$?K^# zwXYTk2Fgd4*ILYkOQ}{W-WcVQRE*iM#*QM^R-+#j&bIcuRjMT3(_NPA{a{||kS491 zu@k;({MDP*`T}P>plzS3JLQ~jkxgAjBbq7@)=iYg_ZKf7|GhRM51iXChBkk6uRDlx zP@gSL|GqlPm72}5ckTor8fv*$2iTjQEqr6K>CX1XvmfO@9zTwp*iC0_@wEuhQK3Z; zHY`$&9*9jfx47geoZ3MqjO^fa9H+LytF)W^XK|eEkCCNWt~A3y6)S4LYF%&7s$Yd? z(Pv8|QvB@;c%j9eRIePf_ALtThoct7l;cPjM;<}?b*krgL7T#D89VqQF_yCTLx|t_ z1)Qul+ycptC&(&%d^4y3wIt0^5f0j^k9SQPHTf*Wge((ET-<0OAu$1zE=T#8 z%4a4t<2q#e1fp0_co1a*3XK;LY-|X=+WU4dm+&LG%$L3`8ve+mDl@k&N5Q0Mt$A-; zI@wy($|LtKo;91{HiRcsQSouVWB$uvV7z8E5k& zjH$~DHD=w^*5)a>Ea1*N;yQ3YT(EdS!!am9z62xjgK;gP}X1mg*wM@baq z^8R6wuR60?j4lM^S5h}dzpHd*L6Y&vyEL@jpp5g&D~@Dhy6;j#Lf#IIJrh^;Vf;S^ z4nN2%Z)g3^3I#-1gBXcEX;)XO(^D`eNgT?jYXk6xfV%}7XxJknI-c`(NZ=TTSC+m! zq1#_2$iV+1r)Q{G7n%uV#epc84Wj3=4Gs;*>YY%Fp7wTrpm7s+cD^kyNFdk2j}V>o zi(UO|&rpr)(G|IQ|B1_EDF{&FXt%E^H-^jcFgq4LNxJ|{r`O$k*0v@C&&vvXI2$rG zg=qPl3jVW9>Lqh`FNR>s6)Hqxp>4O#YX~E0`JQ=Lv?Xx79!lBNF&H-MH?M=KZTu=` zwS}$|Vk9_{AAH2-4QMBR9F=yB6K|fm_>=Vvwk`Y$$~8nznJ=y_oY7l(B2B5+fZ6eu zXY@(o2Mv^%WCFi##M5?z`ZXgUQ>%ZC$ef@ie}4xdIzKOPep+I~3+94c2EL=?@twRd zj))-B&%o@H7WI#BepuUCIBq>J&glkhf)>NfnL;@knSJG)obI;jVuYBV0f8^yQFA6S zt;_8!@iXK=4Wr*}1AY?lG{9rjh5_ikQyB8*h_{@p+ei93DpdCwRvU z)w+{^nL!c2oqSA}`U)QU!tDhpDx(LC{?Ojx2o8i0|L84W(GlY~F55e%A0T~7-PRH7 zduuj0^#YXx0ZkK}JBFLhoIvy|me`WFl$epJ^_PR$<*T0Pc&Acjk$4MQ0nN?DI;z>c z%ubDltgFD+T*^4XUm>Y@073T;j!0$7 zcT-T5k<~nom90ukgRdDFNF_=AEV$tbJ4-PA8p=b0S=naeC7t{z$;SCFm>Ssj)=%hZ z`9Hvm95{`QrV9Y)EpFg{Kn(R~1k%jnn2-1inuSM#Z%Mc)ajS;K0Jk9j$%>Bk9!DJ) zOS0EouWT64f4q%Th5u6K6D6V`fo(JP^XVu)Os0dwj$*EoakH~jPAq9fSOA~DqvR3Y zsB=u;L7h#CE}G*DQ{=RrRW2v}qf$v42NYnz;_=|P%G~_hwL-1 zzN@ik*o}R%}aI+B}$(mlAN>AFvS=LI{r`7Ept}k_;py^QYLr zh^zvyaZL5kXqSy(D0va~nZ(=`P-HL;v%BAWy==J3-?6!Z|dqx@q{P?Dv z37$sjR`=bFjq<}b^oX1$hq}fcJ7XS3e*5%#)6qn|DrWnIN3>*4c-uu)y!N~F03x9WZFCV-#&oi->)d-4*K&izOsmu@6 z57l-gI6>iA8&bez_8zBQIpg{CfX5r7ueuk z;AINy2IFPW{a(gYUX?ma;lZ*rr-q67Jx0F7N8;Buh`_Cku7|24Hv;?OO|X7!u>m+i zr#IdGntt8}^@Zm~#4{&j@G!hxoG8V?Xc{PJ)VJBo1KIc^?!^+sM}YWAF0$SANY z!8Lq^sd|ZFokke>hQ zGAQ($HM=kHAUVB*`QxiV35|_2eYeHFb@!}iT#jIUMBHFJ%3Y0<^o8`NYM6$lnR|2Q zeS#UQ;J0;5l_qwQqhe!9;rjnWt{~PaD1e#-0;lz`nSG&L?o-^cXtd-Ngqa-vJr?AxdPs1jc zm&}i=UXON`gGV2dGPEwpYxI9ej48`-V%WaM?-a^^ zlZ3yN%q0S6YSW@K)y%n}0AKRmgvsX@K-C8|C&a=A1Re3-sAfl|?vDBpWKJP zm=-iomEob{dX9=p59qTesM13;xxYK7_ih1B+eE;Uo6|R#FNbT@(716>_^B*ZPZJej z>^K9wH#<&X_x+yXyr-FKstnE|Zr1D>WgHkQsJ8q6-wc46r0n=#b2OWOW6vy`L;va> znl|8zZnJM}N2hO%t;t=TJR+a^0N=i;o;ZfbQOm~;PE@Z#%bkYn^Lg!~BQD z%^eFj6L$peO<*&rO|X4WJgK;VoS>!qvN^#Ibq zN;?$mN*KVtDd&j`PiP~NgV&xWn3b1AK08o?!f^|0YZW7*Z%Sni!v zl5j<+ZD&0`u(7(9;pp)Fdep)t5%Ix2Gah^t-lm8i;7YA3Ud-6^5ex`?0k zwkEmgj29bfp2b!Y#mi6V?Igcv$raZqtf=q==WFu@2hh2KYReA3#GCu-Lh~Erp~7Jm zx)-OGIR!m^9H2GSQ~uO5*?dCCH~qKL`1BIQZ9G{`eEoO|^_2p-C{VRZg6odx*G2<& zGs}|J$0@@T)?see9sd-2)b0zFMxm<7Pj%?mIs6x=>4-JBRpU}8RUJsp-?7DUb2V`_ z5svmkLU=*|*=zZ3dIs}+Ob3y#iph#FfQbf6K!p!mNIGOd)QMGKdcnf(8R9{q=t$uB)#O@9^DlE zhLh$wSQViwJfYxj8pS+Cw(4z*@0-|H@AOn6luGL7hxr~Y%dgaA--1dDRAPRXaV9lK z>GR_(ax?!ic95c@qoH{bezY|pRRSv2xx3u&0fuK`{6nF%x1-^&w)*nhulD2!`3~B- z^xm#YC;QbjrUVA@3DT8bt2>qlTn485JZ&D3X?`rtoaCdH+Qj#vwAu~Y!WKXTtx9ti z$5_am0v!?zN0Wsl*Ym&(8I{UJ#rv%?lPAIg{J>|!SVT#ky-~=0lJQdfDtj1pe7hTz z3TU7kX(nBOeDEE$v&*5<+M0BWKA2nb9L(Px%eo8*kC)FTYu{JI;J<-$RsV>4x_ZAq z|4FJ;S#$@d+x}zdTiS1-ojWxDp=LV3VG`J#WGrp=1i$Hky57AowX^H>3!TKjp4N>* z$MTJ$GD*D;@C}=(!h6deaJ$8Y@?FH8J~g+5P$*Y`gzzUiO-g<8(6gQ?r-F|YdvZh} z7hibrEAtKSAcSOoBr3|%dHT^M`d#3}8o4LV1uf`J)DEeBj-;O82r?p*2vNX7l)Fgd zFkmWRP{D)$9ed;D8ZTdo_9Eo4KPh1g8Gjv%-(X8&*Z;&xAu!0KZ-o07VQyCKE5*yF zmNuZ&+F;qfb#pEUgk88>Hn7Th+5oaffUJ?AuW|{W;m;J0M1GqGcjU@x+tKe77jnDtyjXwHZ)ZyCJQ18%L zPtHoHRz49Z9VH5B+W(QU1u9b=p2yZ5O%~CRH|}!03|V?2_A{PVnRsL{Kf%DO0^j9L zW#y}IPBt3<-@MIfOrS%SiRV=0YH!qJ(?+}iVq#H^;>w}*qA$Y3ydRUTjV^d2rnpJ} z>wB`!&TKUQHL{AKdlaMfMI(`Faesi$oC5+loyXS){6g)h_+Lk%xV%y8bj72gBQAHKcRYI)JvT>mqyC7@R6S=W}&UYmTwS9SLejk=f8hp*B$ zMe;~>5vNm>u_o7P06`uAl;zAu?1i??IrEx?GQ96O;$=Z2JY~uS)aqPrsS$R7y!6E$ zKoWpJE@qvK!+JDi0X8OR{~@`;dR6_Pehr_IIey32BCOuR#8+D1RVBz!Z--9C;$mF7 zZ%)tqWS0pvxSU>D#276D3|#+SwEsIAK>jQ!_yQRBa{{kW;2HzW!#{vY-g9`AKTy#$ zKpT6^cuz^>z@n}a8Nxy?8<}6+O6uHUDCy>S>p5=}`{!E)!oHAqnH0efUiJ0*l^ zTIe)fK`WEvZxJ7c<7Er?Vq|W;sg-hxdD6m;dZ2)P%pI=WMcn#G+x)r-ZGb#RV1P#U z2bDTYc7n6*^@|r*Qdfb*;)bQWD96^kq+7im&C+5fL131SD`eEVuLwX?oslD(ii-Y) zWKK3V9^WWUX4?Y0i^(ZYg6G0o(77hQMZG=tQoY}I1BXMZ%_c{sdm>y6oiX41_dsAn zO`Vj6GkwVu|KFO<0?ywj!0Im%3@M|4b0>EiP*9HW0ngW&U$L=0!162}`0gW-Q1yee zix|+TX$)QcjjiC|17F6C913hm$YV&MWg9jB%(F;hFc{V0Wr+r2Oup#JRY12o&)1>Zt&yWtoI{;QM{YD{vv1!JuX$X%#S&3O{)ZH_CaYbu z;0#6?P{VTIxQ+?D;!zXi1;~z_&8=gm1N=r`yXV(mdOW^5DQMazS3n3tE0E_933u6 z(uV!4kRFuCbKLAqkPDYVH4EUYtPgy541UB#^}y2udI6?grm(}G^fZjN8I&#f_eFHGM&_r*#j{D8 zZLWq1fRF#XrP9^weS^L4X)Pu;(VAK;T#S9=K_E zeb2p%cG=4BQcxtm`2?EaQzTMAi+A(Xt2xraLm@h*W1uUSRWj)?WBN7zVXtg>4CCLM zJS+qFyE6mJ)5o*emJ=|90HqosJE&4Z$ycw|{u(f#YMHfPE;RpG7Sgz8^rFZ2vA_F# zVXZOIpz?6u5cPPhbZ9?0*%J_dRU?)9v9LZW_9NX^VpAdpV!I>`U{W(xtK-Yd!H<)% zz7&#m?NBgxu~IDIcQV7{mt*P*7N8P#i22(M>NK<7d)U~IWuz(iEWuzCyjj+J*|y~` zHKQ8ARggc^{gHJFmt%TCZ6pc*jR8fm>L?z*;dkraG@zjX(k;rT`m(9p+OHQ7qF7C) zIMO!(hg_D{vP6~5i-V7D2r-h#CWHNu`Q4__*=^1LcE%dWAOqnMacrhIz-^T}R>NVg zykuM_5{+or_!N7R^@`p?n9ela(b{#-bGb`u*t0*iFS$J9p=C{_Wli}VRW=`e9!t?=8S+Yo z>njZO9h+zHNzeZz0U_6RBd^GY=6_cOEC2m22^aj71?b4*?z8u8WbtLlb& zA7ys>)kHVXwzX9Fq&7A;79{5C6m#i3;LhS%;QLN#`(}#)XZqkJ6|PyJzS9UbD0FfG zAK#~jSo%=PXRj4KB6JyZ#o(G;%rC=0${YpXcD^^Mfa+Hi;p)DDWEd$01!ksL*a;Up zzmO3kVFA6ENW#Eoc3GM*G9fau32-JUcUN`u(2N+mK6gFudkshI=K2f+LkX(OQ)hn- z3evlNnon0XNWh1vzH#~AozTz<9QEq}0TNC12%0GZqE8SJ$)#DLC7;By7e2n>$6*ax z9x7*Fa25#b9k0!H>}wPyJ-ypZB|${dV|c<1$2#8CFMhCRS226%^R@-T{o!gzcj(bF z&prw+DggOV2%K|ZpOd}MLP)uD<3MidkWUTa&7;i83&$g4k-5-V`5c}VQ>&qAbEQ~e zBn{`{5F44QykxjF3FeS$qg0?R18%@Z<~p|(4=|mbFV08xjMl82oYu-o)KSsfaAl-` z#fni<{QRbU#J}qnVRk?Lwm#Q0}=y>y3~j`p-+Y8Bhq!duXzA=c%7Z4 z_OUKMU|Cvsf4(>+y4TG)TiB+0+G~}WnEjwddX~gJ&#`v$8;7=Ah5u%vb)xPr>IyCh zMsunobj<*uQeA*9TifJ`ES1|8`j*82z5^opz85>RP?zFrF|2%hq#Hdd7}~?;g#!^% zI+|E4biubX*qSK80mfl5&=a6uNQI1hb>|G`Yl@UxI#p4>Y!WM>qah+dy`(=oHw8ve zjIR33uQxA0U0+B8UDnKpU|u?kx1LhUzy3YnqYz0|K-gi29~vdqPA4%v87N#&yVX@B zI*Nv7jV!7#FzH_b0Ks4!hq(`Jb3?)_5^QCNq~4YS!}6V5-Vwf?ugpbTlZ;(= zrV~QM1~3tFhJMCFY6LCmwaz{_&i#Ym^exT*!U^8713KGZlT`2KSj=BPQ|d?eV7Bmc`)nnI@}IbP^4IsxK_?y2(t4ZtdwV zxC2H!Qk#vrRWqkEO#(M>KH51qCED4SAcX^DRz4i!hSo_#garet^L2dD7QXLgXi9i|WYR5TJ6$D>=bJTg=t)7OA()o` zM#C@O^6(@>Ik-^o$c^o7TVNLw4lJG_5H65+@RsYY^O0SX*Dedov!<-t`ewWnFwt|B{sI>1;&7?WxhyI|JRL!^J18>B@ilLG(osKcY=xbp?3B>4PUEvOzViT;Mu@=hebN%;$BvHctwu%FGE962?Eg1Sj!~Y+#`) z_43_A8WkSDbQ^YZfYcS2xCS}!r$`-H6jZI$HxbRcEc1WN0 z;5sA|@6`qLLnk^jOd&rVE~M@3T;)n55;^zD=3kc-U~10&j&r`Rw)ma0boGr zG}m#r|Hp%HQ~Z~JZALBwu7`%?P^q!?;uXJ4V`5a7C+`}I9@3IDZN&XticTiskalzj zn!uw@4R}#5cR=>Au_^ey$vzJNQ6AslyrB1n?AcmH)3<5VU@3fzvG8am^tc*p!r09s z^Lgv&!3JzB2Mu}L?z(l$3Fqo6{zFf8f$8TuaMIiWj?lUwC*g*G?ZuK?lQuu1IA6VY0)-_T&iKS(^#~#n??c|y zy(oMT3>ZHZ^`8!D(dHu)YT}!O8UnDS7qHui!=KAwL-%6A{Exy75irOHRoM5+T#V0S z2mtXsN}R!4iu*bRIr~JGz3#VkWN2A!nICdxDE0Mg7-^F<$|+Jh@D|ZDg1a*mOZ1ru zC_FFS_QOE%=r7pOqO$XW)>o6TRO;)5Y-=i0g5Ii4M#i~jX z)|(U!4(}L!vr#Furv|tN#j)j0@$!IXEq070pkN1BwQ2SHP&X5!UFp0M@!)U)CZVuy zY&Lv1V-jqkl65K~lK<+Yall4bDc2P${IUizZFa{pd&-M+W1+>OK6xWei2*08YhB+= z!wyfLBNM%kzjBT)Vch3Fmya^{3x3T+5VED?gs;7S`b3(B&EbM-P(OJW-iPiflp%sg zQV((m!-+XF8WkUr%hZ;lTUDi z#m6zdmP>A7d!@9v4E;Y;M6dtbarqe;ULa%*$XY-sG&dU?n=44$0VXA_A1TLl%VDg5 zSu`{WB;waEE84=v@1Qz*&_pZ^+^^|g?n)(a!F`Q*-x8pbdzpK4SeUQ=00$E|#=q8d zj=1M>F#Ux`t?k|CI=Wae>{bDxOyl)#u=gFb<>1p&Pl$zny8IQQOWNpU;>bE|dI1-j zl2H74Af6@>jQ`jq0$DKiI%Tk%vOBKHd;<4qg=A5Hiha&M7Eq3W(aP`ieDI+7M+7PJ zahy~7FTcrUn(4q7G{NZEy$2&2yi5_jU_yF7B?%Fq|0)G5fZCM-;^Lt_@Rk?wMS*o) zkt|WK2?e1h7Z4smDq5SA4;zGVhy;OhzC~m?g6qJxdi-S5aB@wpJvGJ0pr0DM$sVq{ zsuEU4@(cO$6VaF4BzMVu2&=ac=?l)+1YpYjFTd>G_#BtayT0mvv7pDd!G`Xrf2x*7 zd9~!*&pj%W`?p>GOuC|a((9s+Gfyrh@>UqpV7dq;$Df}A&Hoopep9Wgnc)Im&AD11 zOWRP_GQ>Zp^|NXhEQL0Pm37)o#8V#bv0m-er+U4T@x!AV=Vf>TTz2lHFA8{Cn6$rz z6zaY{+Oz*-&U1_SLpShh2+LHhfeFIOrH2Oy6;-ZW!)wQ$TTid|V4{CLdXW8oS|=*V zytvn?X_$-E*p={!RFtxo-S5c$YRJI1ahYF~~<9sPI@t*so z5YdTntGvi_oGPOS8p862&WNQ_lc*U;>X?V?2=(I2ffx>BS*OCXw>2u)K^U5 z2@Y?KgF}&?DJ&}PTSY%g%FG|S3&;@I@TQU87k85uG^ZEbrEO$dDUS#IzcPL@u}7#x zBC=hXAxmeUAI5H)F@jjlpSqDx@!H+{yYai}Ab4HTKn}ypPdH#7sxG-hiyTEj+A{N0 z{n}A%9eltU4Il-v&;y|G$}cflR5W$9CHUYfVVzfEWA5=6&R|DUHi{14GZ#WuJnW)? z^5U}j=Sh00L%r1av9y7Z_w+z5W#KdR2iT2vuvbJ9Fr#onzb;PR1-H57HD0kaaz@8> zXQA7jz8y5mA*x*Nn)d2aDP&M-+>0W^f?j;URtq}BWOpP+ElK#n9I)yJ{V3r)4CL>q z0Kt2|cx77x;Or?UZ459ntdtwS1QfqA8KLvIBk?10ib!&qsclUby#(yTN=NC1c=`1; z0etUnJb*7_VC(bS&#clsUAEc~u&JLAyf0?KN^-!}@lN46`$(RQ{_oZIkHJL5B-fOx zbX$;o+40?L7!6U@J~W1I?IWShs?@b5t-}RkA}B6Ygp1n#i_ltf4^reM1XDB92dE0* zL`5mFfXC0offDcyO z`tTPLyR{L9*ia%mXpabOg(KwydX^wtlYo&xXKdD=RKPXhX8T6Mqg}Ng&(e(@kpD@u zjs@n+`R(N^uY9`&rQ!jHF>@zaWS>1-@BgkSb9o~6vnRGUBGZ;II|6!Q5Pc+gc{G~R zJ8VnMDlO-UxRe(fpYYCAdvY94RX|o(9$5qD}Kvm<#6GlqADD znAi>ELh$Kk@Oc9M&tBghZM;%@`N)YRawQIPp>s;kSMfs64!>%IuI+IOhr@V?O~Vd- z`ulS?TU-~xYP)%|0&10{*vdJ}`>~feu;P1H<$$nPcr}#M$jhMZ;lq{!U0;Aaj7fIq zu%`x`-}-S-;YuTaI0pp6HnGLe2B^ziDABm{A}ilA(4~qpX$SX%9dK#{ZX?eO7P|tA z@#DmfRm0vDh3`9@$#^XQ;GQtj~*fM@`dW3G)Wc-z$J#!@kqAKnxg-I*BUQy z);N3O#MtK5a*%ct{1`!UizLs_wcHPXP+6n>WP`Qb*jneDGd2XlRac3+7oAsC92_9P zJvSf5X*m>OQNiZ_rO_Po&+PwN9e=S3)*yoHj->!fhE5W%y*z;kBpI~GRk^~qYaofQ zGk#hXCYcY*D__w?lsYw+TY~aVXjOeG?Jxidzwg@{nb|Hs54l)Nf+MoH}PeEZMf65HEUrzm{2S1OoQ(nf-PAX&QAe0f5;NPcx zIC}eY#*^m>c`@4bGn2MdoImH|H*6u07znH`mFGs9)5`TRG#8GP2KKxmx+a7PCZUOM z2^QsY6_wb_j2uOnbMImnL_r7eY0(Q^Q)^V^4(n<$9{A|`6J7?aSZ@ZgSSuI9ekK`5 zkY67s=mzyj`&}kgkA*5pzT3YaH06g6IxzPHmB*Ja=9IR*LqnTj`eFnUrjx9@-)Nkf zSA!}b|&OP}U4{J5mDp)T_7}MD6|q&&#zomG@aB zQ_EfJ6e=%(O^a%!2k{46!$|pZChe9vbV=beeV{cNqjYDjXMfgIvSHrarCL!|o@;GQ zfMksw9R4P5ZMd7z<5kWMlZ}7sBz5y(K07!Y0fkKJDxEpE`{zx}yl7auqZ;d%FYkS1 z9-6T+G`YL9M1FH=DKq)#2IB`%Ls+MYl>uWuyUKY1>KR>D#@J#55}2Slbu z!R1Y&kPXViIRk5X-5E=sA-T)&Q`) zzok|r-b2pTe`cvLN3Mi1t(mAP=^&m%SOA6|0p2Oe9-^VMf15_6A>Fk^H}}m zc9RoBqp-u|M@<)tj)9@^%A=Z<#b}_<3o@U2nCsG1R(L^xn1?MSw$tP&ikSTC*Yd#R z^>t5ctLU?K@_6#3k@JJfVV9M7&gUCjDRtK=_kddh(vHJuoWFuJDWGJ9$|$HA7#zRv zgFq)}xZ%J+d1t>#6*CC$1Q}p^jYc55ofbs5fkptN+W2UC+^*b7|9L-4ehM)YzaJ9{TOduQDz#r3ILab0xf659{C#NvIcou_|; zl%&jw-tg<|BYsWfrpcuV^jeDgNn!b6lhUKhZV&BXa~H-(E7fxzea$swJd=fL)`o#b z1LiKRP)b?uFoZsj(j?jA=kbREzu*}kZgR0Ac=klpVkKy9V;?}hm)v>4DH`N_1p<>??xXk|Fmr2-_0yaBXwC{71*&B1?!1Dk+U5SL;N zv@1*?p6sO&c4b8cJ)Xqp&oCejfs2TgK9Y@LD4fbL3ntAJPiTUAU<{tM@y|JSgO~G! zbTY26hSbCrkoAqm~&PexK}x)t&cTp%qG#k z7DFZLDVoRWiu<$R4~Ay0FI$~UU%nPjCXq(D3yo>hDEK6-?hL;*D7ft|?BcAJeQol< z%@I0>7$!i%1yiMTr@oqUW`pd9wrO+nnceS|VPuMfXMa8fl};UD>^-wjZyq{6`ZZNEf$0@P4vK#2#!g2YR}!2W!BUw0r0q{oPC4<~0&V6>ygEGo#Y;Q3JOGs4_; z9};d;-91&lOukx_>vvxe*iF)y4c$!spQWnDr57Aj6h7BAA4mHPJI1JT^Ww2fug=Km zxa9DJBa=&d%XnC7`5SZprdcnGLLSqetF!q=0!^Z9k$(o2O3;-aZzU_6DMes$)>@(> z*F~EfVP){D_0F>fu~YQb>a}-R2xwazk=;oL{U356_dCW*-Q}!RUlkZhNqM(J2*ktO zq;LD2RczR`KN=|AsrmYLAnjc@46t=s2xphXKMW~96T|%Z&tgC;6DpO^pVl{is?FSHVehOl=%YZisP-?p_ zyNE?l2@aL%ldN|Vc$aMvKL1QI7LfBKCAf}j6K<4}P4#l?D4O%j$a8G!86VNvNS&Oe|xv)|bad94P_Pxc;POqr2Jpr^asTQz}UrkNpF5o7&>+ z)ChzF@Ej|3LqSq=mGkU{wKiE7djUIXKt3BXat{9SR zTS9{2bc|iqG63(Iw-y&TUxHuyd6x#r#WJk?$OEQY&DixA@d{|gz5)0jq#<>hRM`Oa z`b53GDGZ2@QmHgV1u8NyzWa$mCd>#zi$H`=2M7@At+iesb}5E#Txc9P7?)t-Ik~qX zgRhatxi#34)y#=#T9UaFn68TZE=BC~y2~z7GEYrZ#cl32Ju#1mgX~Nu^)fgIgG(R5 z+Df9Gf89{Iwu@!UtyJrA`t6WFa|p}3xiDaqM*risPQRKvB!>w@y)Rw-c6UKMZJ*0a}_5gAnahS=O;3pcsZ^6DbKqxJTT%e*C(UJjIP!(S^}FECkoVPh{Lff?G%uI=TH)_t&LwZjql&l*qgr`pOL%M~wEW|R{n zg?{w7hjzOTd#=6yPO$7J=IsG;8R&=AY+l$3d#%@o3~o}zoVTD`$z&q$Sv&CQSuv<~ zQ!W}-&WUlW?nvS@C~;O=$K>L49RDuW3=h5~!_Msdx`#>S*Sf3(FVh+N>jyuGPEe6ZzB;j*Uz z@y!nJ1Ay#z6FjjEFCRz|Bo*+r`g>z7mGWu#fb~)8#WXXK(0G1+L=^YGOqVh0iWa|{dp2gh+2z7 zg^zUYkZ!s4Uln2mv<)jpiu-rb@`|jc7@~<267q@3B}sRV4id02i(lhx*|qyr!#Ewu z0x4GJO4!-S59$?SJzBcNEOq)8Y^oznJ}Yy2V1xJL05>+$y#ftQyT8n*@AGC;Ww3RhqUunAmXR(r$A{(@9j zXmDwUv^X$FsGx`*PjyuK)G*t+Guz-~ zi!whw^|3)^A)<>YU*g8~(now@iUze*vn5bF6|q_MiJV&=YiGrf&^xmmYeWA3 zs%)dKQ4j@15tWh_2?+sdHZ3V2-Cfcp-5@P3NO!Z9j!h%o-3`*+-QTs<=bZP9@t*I8 zKODm`yzhNo_gZt!IoDbj#pKDl71(-xsw*@7Mzk|(8+9gy6fc|nwBZR1+rRClrgwPY z<pHztZn5#T&9d|et? z916!xU@z8lVq!1`=e3TG4%o!{`FLFhtR`*(2*P*-8a`e8A%|4(qi&*ZJgTZvmd7?|QF zBcIDm8JOhaTqjZ(%@(2L9EgLh88T{NUG89NPk1nhKEMT)gS9(VnduwHGGZiM;qGJy zgW$pn+Vp#5SQLndh@-}8kV&yl6s(E^1gH$Zw|S^TSQul!4II(rC<@A$eWEk*nzdbs zlE&LJIJZCNtxcG>>P*Qfh&YIcM^?L*z4|-&dJ%+kFhjl<%(MV&M_0ie05dNbz%VJW z>-+&bhZoT6{6Rc<2~+LGkm70tR;PiSVXdLr0)lA@;CwORDoyd;(eUg#Ev`_l@Y0}e@J+Y1urYfG( z<{e<_LQLzWhtNR_=_GdH)wv0G>JvN&h8AhIi16~Yw|OT%ureVPk}1O8h14;#Aj+Lm zL(O=zr@ruHrhrpHwtcS<#G3%+B#4redJ}?DLaz*gz5g-@>7Jlqj73I_!pW7v#2@pj zi?tco>zw=oG2|{^j6B+Xyv~hMNMX3eG9e}W&sS7ZZXF?n{|0qkVHV^k`HtKA4-gz3zGfU?9La2j;5eC&PcZvk@07G0QfRwmF`qZM}^u5*3BX*(tNu}W6IjB)MYgA=eR%HOiakfyG%{NL?gj1UE%aWAE~ zipXZocxogL((hsY`ys?h-ePJuBDfPr-IQvTVMCLg#e{v3LXB})KnCMxQMm$7jj~dN zP>rsk!xZC-@7Y$bY`n!2B=u62f)c)hQ}esc=f+%Ek->bRcJTgVTmS%0HjqGA5rCF> zw(pf7G1;45&grr)w|l}PZi=}fdLlK{4Dt9^Pv80luIhJ4o^s$oU z4QH!GTSWbEaUp{PcXZ;(gjm=T{tcHq;hoDVPpc$ozQq*hq0XnTPR$)aIpJ`-FG4@! zJZ{cIPDLzNX%hkR>B8}y+Ta5XA?bNvDB5W0Cg0!t8YoVY6#9%M*Y?g@@|Op9;G~RE zOGSGxGZ-r)A0IypSQPu>?X@IjbOiv9r(fzpy?XEr!OLgUabs0W32r=6ncie?`1ezRY{f)=WY8#IXn~eI@of|VAmLX~+J<8z8q^FkHp+6+u z^sB99d`i@@Dh=>G)g&gCW~Q}C!na}3C0~$bS`?GtPadQY7_zNeG-%onogl-){W7ej zje|dt+qcKpV?Z4}$ockvpMa?+nzB#seE#Q4abL|0Y~gn zKXr~Uz~a5FGP`N#KH6Yc&WuE{Uy%8x>(gY&O3jX;*}@b^-nAfvay%_Rp~V; z#EYakUeUf4{nA!OfvKjFo-O3e;jR8baUI>bsa^?`5*3A!?b|ozkXd7Kjj0i8wApwK z5!YiRX7rz~kJL0WC%WDl7Pdx)f1zS}Zh9LEE**Z;fIk|0cqVv*VsM22So?CQjzJ*lQO2&}*;J z-D)yA>O34c#wk8{HFEMTiB2b%zbAdMI|1O1Hq14IiAME|1U+f zdR`1dhxydoZ>%zng5c!JoPP8EOhgUkXU7eSUmP_f;K?Tz-omjf?^P6@JW#=WQ}1he zj9IHTBZo!Y>-+ca*){`+3pd9DP6DUavNM9*c74E;LSnPMA{~Uv1t+0|)o-`0JAHx- z+8v}ma|b&4qL>TE+lvLZT?TuZ+x=vechlSHV2UyB$!gzvdh?8XeRcF(Y(P9Pu5c=5 z_GC^(ZVinM)U$vBTB;D6Eq#2f-^~S7R5W5dE+fKYsFC$pS5~sdgD7Xh9;?uhhF!bM zZ#FVDkuhozYj%HcDhPpCC&kXEl_)toL+YGl&E%=dPVli!iOCH*iXdn+s!(;%w`&iu zpS`Cpx90N|lRGi|-Q_3&I2l1U`A9M#gFhuECI(|16UX7TaDhh62Qjgq3P_dR?id#d{%E0P+y*srRn92b-A}`I`(ZZdZHTOaHb?{)V2YxvReW>-yYv2>Svqb ze$SXSE5VI#OQ!KBOhS9(Bc}UIuMX*uh35iNik-Wb$FT!vy~rJwCNo$MSsUj=F(3k2 zreAn$;Vgl`;N@6;DW%YkqO95KK%<%L(@!?*+D|7{$fM@AcJeb6613NFL(;J1C28px z57vk~&88y)M>p3CN#j{xxjSO+O!+I#uYCh>%$qF00!k@byOEusTw_n0Bbj8aiO*#4 z1k`!02Bo7xH$m`R=Ym;q6Dp?_;y{gyp}#cA`@Vkx)IbRxw86^r_k#iF-433;I2DpPIGyHHeG!?e)LUSWv%ap6b4?cg4>z3}RikkVsk27(z?cVl# zZnPv)N<9u!h=iuJ#foQXBd#rwI!7{@@yq^aUiYM$gpjQ;rRp`AT)Cq~ngd6Lg~<}b z4*1o^KCXG6JE{w|S%WVZzFkLs%6@Nd=i`h1SWX8zbl&UF5`L6EmG_t{FEud}e0y+1 zZ^<1NwxG-$UY6%!{-ibUU@3@uR>h7XJ6`%{R9)_K8;mtZlS!fa4je+3bnWcvgmZej z0~&2Zd8h9~;#kim4NKUIL@`aG;xGIi7}o|^5e&T^YID}Pp0%PKRaIM&<>QT9Bkt3B zaoTvyhXIYpGMZey5-QZ;z-?YiS zxqOOLI7KkckOE0zFr=O6&)bwK0)Q%_A}%76O&VZUf6b8F9vS>w!UE{BsyuC!n2>TM zz0Sg~dKiTZtuE-N>AuTMpEBAoiavU4~|W_u?uN3??J_~-V=`yx=A~@X5^$Qi!xH$w`>zLTl zO3ou~xOgFfc|BccT&N3Fb{^h|C@e+;2w%XgP&rM_&{>N$Fue;ZPwjlVy-{lkX0Ilr z$~?4s@aU^c?10rCgm|sT#dD@r!Q)iXPWB3Sp9o)kpWXq3>*{H(#cuFsqP}wUY!2mh zzt$(T^I)%-812azt4_e&n<7laBxu4;stowdG;6+7*}v*&qAct+&eoV>3sxLb^qK&e$WU+lm@byRC_?*F;gGN94Xyhc1; z!|blP8#BI}##{-}`}Gtfll%3Gk48SG&;s8o@{5ScC$TTV%prfmW8LHFJ_sIhsfqU?%ce*ydFMzaz8aMFSxAisJ;_)^3ni~D}Uoz zZlWy*|A;%}@%$^pxyOC&Iu5QM`P66UF!I6wUWXgmHz|6NezT?|d@`m}Tac8&XyWgO z<5nk{yY_Bxzw7pidMF)B`#{rKhHTQ7JXhfvHw4 z_~BQA!L8f`#aHmk+@j-Rr#`eUAjfz12!e=249-fST~n7w4cE@&L21yAR6m`j(#7`T zuNm6{jeQ2zR(H+7RGA--7#&M5S91h+% zCYDt%N`YdqI3<~?)IGS)EQ~Is%sJUx70Va{Ib)g<3zc^+Y^y-?D+2U{)w%#m+8D}+ zdTMpS<^#c-#^tR!s^S~QJ?`GBL9d2wvII(1yB-wgH_p5^fyl;Q@p%IejBr z==tZ*OMCrL+u5#Ig-Ck3!&3ZarKTG`vle4@q9PezeujV!;8-9A$wR{B8 z7jP;VTXRQ`r;Mikm$-eiKhtoQ$PPkB!8^5n#ZG!>Vn-R+lpUOL zJ-^C35x%3^S?!{1lf26j`76X^ZQ<0uwQsjfpNv9c34D+-tVwNr0I5F5apOh1F*Uq~ zd8SVkEn753#(jm5KDX&}mhR)lKuJds|oDhvllO#K&p9%*H5=mto-(4B6~Q{0S`BFQW&ik1*LqqST}5aplSdHY~^$= z(_ai&z0b;CXo)*N!&?Kd8xF=Ei>+;^yAJ+3GQeSxKzgY1jwtGVP+buL%%ioNzTaF9 z(>LpfXl~2j%S)|&ZX1O>XZC<=n_-)ij2e_Hyla{>+tORkjH43X15vf;< z$JC-GbWIktZHcfUD^@*&*C5ycLHabX;Th|F0Y|ROA`+uu9hR3rp25qXaI!%OTwGjc z)3GNZ!p%YSzW|Cx9nO(j1B9T?wWEj-S5Rw{dBtqoOqESQXs7`gFnWG<<-&g0{RY5n zyD%X6xZT~q5a$JlX=-%*8~yx*UJfR9NLZ%#0yoyCbIHXq~9z~OQx!onhti9bb7QX+P@gys0&^V&YF;j zBJNB_Tek+<%m-e1yh4Ca)dT(&wh76uhobOA07ngQDQPH6JRm4&36P*mY5qjkqR&Ev zNgw0Tkc9$A6f_0389*{|F_(~`-Z9^R7g4i#^#^C;W1%pFUgehdxC(HLl@ z$#WKqtNJ$T@2)%Pxv?Bo-4~4P#HRBPE6{6<#;g<;0v$rN=*qS!_6wCM)&vbiSI8Wg zb@xYCWw{yCLNlmL_vDXxc)KpP4P07)Fe z8SwS9Ot$ONQvN%CZfXr?O;Yd%x^$&;^^%vc$Wr_2;$SawX`wNS@gfE z0FQ4~Hy@0%_>cevE-eR#P#7W6B+(?EaBv)8rE1{YUfsBg<8DlkE{{qR!^ z3G-QQ-KZcIJcB#`&ERqH44&lz&)~^?rKyrcfknHe2_+2rbauOjWl=9?~ zFTbiPIaEL&_W$G5E!e-4wY9Vq>9s#yJApzefsFg*GUk;RJO-i!&bIxa-%B@Yev2Tl ziWG7OLr8gQ=K{IT>TuJhTRjn>(X#ldxNs$H=}Np2w8DpN;z1hkhokAPVgTEBJ4EK0 zgn1<%zF4!%7wesXg554mv28qPKlkP2>yEuJUwp4OXb#sZnv$S1m(i(%Lyyo9l(guT z@E8dhOtV(1oHHhXJ=8sQY4gqvqOdgv6b!?r9&QGR<>ya+5lSNahcbZmVSD5U23W>! zt(n585BAZXU?UXPo#L_0+G2qFv)XHFxl$ue0s_H_w{B?!;1e({lOKN(+Y|ckLEBU_ z%h!*rDDcrV^xIj(Od!6(7exW1CM2UK*Upr(FNZCd!Ohc)Hd5%eJI(axQ{>nf!)Jv{ zN3*$MDC{>MC6fubXK#mF{3Ft<6-LlREbT3FLb zz?Ln()GMUHfu#sB>ob9K=_fi?My}Hz6jWtM{$UNjo2#?oA98Qxsj+Gt_9!?w@WAje zNgymv)_c@<-((1f=&ts}*;SWN!DTSFbY{sy;+?POC~Z zc2Qz7-@^-}H8fla#v@#sK3PbURKoa_H|qwSRPFQ2IQsDMGB7y3na5?vOcp9+I#bF^(YJf0mP9kaUA>InN9^I zjaK;3USJSt1VQeDWN5~e2H4T_lFfpEH6a8vO9wo7j6IMcf{re-Lj=!PT9~hs59uFf5%zEnrv?lAANGPiV^8rkJWw3JOF+7#KgOQM`N(u{zREddpgY#Y+)8zMcHSWA4K)Ad>b|XYXl=#GP#Od?3zGzT!My@_c$@tPPzN zc@5}@8Ywz*5@S3n6?}~;TRfyXwYi>e6bhOO2Cnk|JL(+btNv zPY*&OcP}vzV1r>4{cjs{6{OHb6kRCwvAb6HvOcY1n~5B$PsyVNJI+r%*qhcJ^tn*H z#8c51a;-LfFi&pT@~M=gkZk}zZsNdX*L)sFOJj$4gcze;UeRT>H-FSOiXqAtx>GEu+5v`?2LVfa%lc>ltDD z2L}tGoV%%Da6d2;N%pxXX?W)w}Mrt6G0I|_5ZvtZ>qw)Ro3wLPxsw?=;v4)osz>vN9A zrgxsF5b_^z`XA9gGhxOaU(w91hI1VUhY; z$mC2F(zhZnly~UNFLUD;+@u_y+^8v3TOK&d&=K#dcO`mH7o{9+vCnjeiEyGXmX~ug z7@2r@DHzawI!Q}Ww%6ux%G#hae?KSja>kzPMm4NeT&X7LWCW%B@JSCmd+1Z>(sP1m zRlPekjLG(U%9o$-img7v{Wmifqk{22Uwj|q90G#ndvbCgsQy}kfAg!R)&);g^#^#8 zXRG<)^L*E>U`65c$&;;ZrN@+_Al( ze)I3Td`YL|y4o%UlP|CmdWAn1WlX%6lza-DL!bH*At%%_k?;%Ouc;^qbU#`5&x8ng zckfao0|{~B{sc{}Qr2T&gj}~>8F4K8m2bkTyukWjy(c8&2wJtAz}6km$c_dk3}S(4 zHVD4~@LT{R?$_XkvE7-f6N8H%AZ4oKn(6x{x*EP*@n=I!H6HkuEf<|;IWh(UlY3xq zsBtTan1LCvYK+2UavDtqIcxWJL+Pl?n%4IEcsfUR9=(;2u&yGSd=)HOY^6S)u9pPq z;i-G&+p=5;T!%_|9yCQmta)tUHP#0lrIRkWP6B2V!yu+r@Ot)Md4vE!&AaOx(25gsJKNIWTR9!ENf_Dy)|TEm_LHTp^(Om2M}+;}!xayLa%NcY5uiC(@A$ z;^2N25R^x_%Fg2kZmcUJFe8Q-Uv66;FPL)?sLbk2+5|@6s!`rCZEULq=WJXtx3BFI ztzW^QMVrfGJ$kjJw4N**C>jM7kIg!UHT+-9muV#ZP*hQlZVmLFF9yVXphOj&IogdH z#<=~xI@M6&90q4fejQqf7ld@-*u71kGP?FpVYj{e0k3%p%;^N~JzkpZ&By=F1i5tb z<8Zb_v1DKq+?d~L5BzV%`(d4blkdP~}wEsyi64bGmwiHQL6R%BktANG8X*3#g^^p(;2 z{FK1+K%2>Y^4L;E9Uhwz;e}+lxP`Cxka#gK@h1aoUgL*W-2WiFc=TJHi6Wia%gtP_ zvl*KxcT-?2GaCJg1z+A$wU!JVSh>mY4|NO85hHgiX6d&=3S zcm;=Zh0Xup(lRdTr;wTcMksC@lZbg_%Fkm>bML;KeuH3v|C~B?)}8-Un(ZlA5S>Of z*l!MhWbla;9^)wINQR_=^;m>WsbFnH7g%jpC!LLGIcbZcpzADs=t0FP`@Tp2HT^SeEoa zDJn5SKAOU#IbNXjor<{nR6L3u1&{MRjReggVU4T)(Ao$v$PMjC+-nAinIwa znqMmUBE&Q3%^Ml4Wr)SlOd}cCf4~Bd$spLKa3O+R{A*ZP;r=f`0K}p5oPQDUe+mif zfaZdnx7cOS$tk)CjH;hFs7W^Qg)kWOai@?MK+f1LO?sQUd}SWlJL@Z}Yi~R(?EBlz z0ll^$NH~i(foyWy-krPF`^&`8-mT@e1F00k^jv&SF?DevTZ}lE#B6_~3vOHe^vFfwzhZ=% zo_-CiR9Xc4E$G4a3lw74Z)|gp-e0~T#9V=IL_yQ_KnNJ?yM8x%b7Pocg-eP&)aiu0 z-%J26MTp2ZUs*>gb6j}-0maIAyOpAAbtikdCVyfW6)3okbB^Pl^(XAeA|Y=& zL<~wynQEv|5eDh^Y5_d^o z+bS#yqoER*xrB1MsO0k&Z6)1y!f4*ug)%v3wB;OEh886%7Yt4q#Cxie1}fo4)xue; ztE|ObxJ*9T?(bPnp8xduzbC^$4>3@0k^8?(;xTDXgb}pLN+0x6qg6K~_htP6rVr^K zTkUbfEbsq@EyZG5weo$?QBw4&6RgwWc6WEj#KMwMSMLF&eH@olNsfSR0{CRUGWEpy zi@NE(8sidKz!Er8{$uPVMKM=mIRaatTx%YH*O}1pu){|#Z@Vh6ST8hLovBbZU}0i1 zMoQUL6)o7~BmjuzU?%cW zJ*^rA>~0{rW%tHSZ~$;=dF$ryYetQsyR9PtZ`RAE#es8Jl&&z&zv?4bR7Z!T{^k^) z_j(_RoSYo)WCcW7`smnA?!*Y2K5?QIflb7tGl&V?7HiNsgj+5$FR9oBQh3q;O67NfG6$x~{g4X$s}h1C@m zg+*_Juu$stT0P?;V>Qs-EZ67b0hCoA)n(=g83d8HTc-k3r%!bwFVTc{N(=77%{ks-tgikWwp#GOlr@>$t$wz6_>t$#*s)?4Q}h62RTCP z^fiV)usj^zux{rBs!xri@fe=bvhLqYZIEw^aZx%Nonwhq?#FID7}|U}Ux1EoR~yf# zH@nr}JH|Lh94DfCsPqY&&$$tbPmD!N4)uJm8L|DFU zh=}>IfSs?$`~QAnmG|!v)6&vrth;I9J4bzdeAKT+VQ|j>YhbM8F8N6>39z!ZGrT0d zdckmkKGIfQhh9@I_m;H_eK)CIt_DI7L#+#YxXaooGHgPZza&e z1g2AuupCDG{<#x|ulDNur(mXW40^)8ysm-i`=CwYu+ZZs2oVXnNVhdG9=#+G{@Fr< zH(KZ!9xypJ(P0h94|T2hu#?{Rh(Rl%F5(1v$VG#-os{_(2k z)KP&wL$3izlDPMsO}9LSyWyATT#!G9M(?@3+x{S~$*s4%X9k2*^h11GIfjR}QlC33 z7BvT304bgGz3?<{eO@)foQW>rOlyn`|N6&=atcq?{DZ)Uq5)wc3ULrb6W;uPay8h> z@Pv>fQq7{u7gW?ghRCx(h%MG@X9NaQR*RVrV1=3~`_NCgF=3IvE6n`ONk02_)&+ti z4F4lwO8D~64$ZWco^2I#0qmq@pAmUuKCkQl*_C)ZL`T|G-h{=t^}@Bx6jJ)stnKGS z(%A!iH^;IgzFni~$Moj2d6aQ-5nV&emdZ9p*c7G#;%Y~!eSiv1H61n`gl@UlAt18K zVXyXN0h=D_bC<~gxOrbFh1-PG_SL4d<7)PQmJ!;DnWjXD%{kcn2;cBS?`R3QV6b8^ z##U0-%8H>qjJW+}`9&Z@U5V_u zk-)zoy6o!?Y}xtHcFk4xrT!W{t`OooG&@4|HszSf$6as(<$n;#iP%b zwIX)>S>vDcDE-mx-|Ek$?M(FJ;`z8-9XYPO4-VS&)RbfU{zKLVF&F)&rDS+V1zL&`9SAVa?|a{b{~<`&8iknXM>d4PdwtHf^tAP@-fiHBuoW_l3xgB5w83jqaz z*yEZ3@F|tzE{=}uaJoF+wBVw>P~|zGP@dfhPBx+?CUOwCROxB24qxEmakHY^5o$Ck z$50vIuXvEl9qt(9U1>b_fY#cca}7M+PW<5Q{HgthDQN20^*{~Mo5`7=njLc4QzSv}sQbN1odTOpnpv2g^q_0-`gxuwDL zvV!m8-~V|f@fkrL00ozjkPsYL!U1NK{cFJM>y729m`#_5OiWA!{VJa{TLm!AIa6nv4+ZtVm#> zi0l*+kad?v_}a-Fb9v=bF-OPJ8VYhl$?~jb<>~G+MC`lKIf5EW&@t ze40t?@V6Fa^#W0!`SIp@+Cw3`QZ>|fhI9^!k}#|sxL#ND;Br{R9GLG@$Hqg%sv^ix z;mTw7-OZjyUsiS$c_6?Ni+=bP+8y6WuE9RjnB&U?HcR2$QN>tg9|POf$Q%2 z2>z=f)E*CsUjtXUK4?(1-I}w%R1m zc_xV^zM^xM%EeXFdak_ruCW_{`cTi>jBA{EPdW#^K#GRFVQ9G!wACr)*?$*Tn=YDz zfBgbW@9i#`0)tAU37Qk*K09Yy;RZr-A~+R5(-*K0;`#GbqEq*RNS8K2JJAb)GV`#M zpvXoD!Ug8s2E!D$Hqb_-ZI0f9%4ACp2Llloz=8^8keW}vnUfPi8?RR-B(As5Bu zm-ioX>t?^WJ)y)FsdBDQt{C{d=m6bZC#tw?N!AkH*iMSPEkbiCH?_iPE-F92b9ol; z=Wf==-UTmPc1Lt#TsZEtEN&DCfC@n4P0VtV%)d%_vEidwj}x7F$o2Fyp!O-jUWV+V z^1AGarBd4GT}&rE_}l|AZLlZ+Af^r9?Ssd$Vd&KUp5t7<=WL>s)ewFpQL>*dEdn2C z&(NyD8Sp4g=F`=Xv4gNAu}FGp?pL@mtNZT&*IOYFj^z=cD*Fn(up9yo+x`Q%=+$8cx*q-xtGDWH*W1AEd*;WY9yWZ~IAG&0Lb2)TcgTObV6 z=5(`E#2j-Q6mhU(62Br6N0|FVfzOuPtFG3H$L*?-+tnztS%^X;spD^JUt9c)t^|h$ z{E~n~Fu(r6f>p?Rw=oy|OB4!KcrKSYqLpw&_86OC~xK(*`~)>zsY zEmDy1(^&aiikFaWh(9$jw>BO&esXL9@vAI9d%mkx!JAWQ`-d|;V~l5fQ5=(#FPTSF=c&Ww{(Tvqqni`cX|g~1)OJ;{PWR@ez|Kp= zSY8hvz`fa)D@2n~2R4C)jO~E>X#mpV29Onf3u%2#eV&cxJ6_!z;=x5?717%8IB^5k zSzoe1*te6i!)i-FUHItNrYtubiB0&9IWofp6(U@+L>* z#6ULD*IE<8-bqnVM3pCN(mSROYH`r3W|tVgf;jEvTW z=I6}{95sGDlW zP~KQ^o+iqE^dM}A{N@FC>=xd+urxNV#wOAlCrgpn{-^|6tOXy%b@WwH4?`!E_e1MbK@g`2E;%tni)EEJ=TOrXlPkQMc=?zpHg9V3?|@}84vq4H1NSE zm4iZV-u;Re8<*tK8^_Vry@pO#udP`qX**$n& zHRMd_wBZbSG*{Afi5#6d@S?#j^Ad`(5tg zSi9HV- zz#zvr@UHRSl+iYKH*54#v8?8Jpdm3E+F|v@4(!ss0O>Q=j6x3Zg@OuH>Sstf*|TUl z9#{{arU-WATZ*SEcT)v=Io&Xb{hIZ1>fKnR<3O8Zb7(Wvr8jF7c9)#&^5={R*Hr!O znv9B-q2{olrQtU)#M>e;s6?1B+Z4SN^Z}svfZ94bbI>Y&qZX$3dBoAnb#wRa&(Bh) zC3DKw6$k*dKf*1+)zBWN_V~|cIQDn+Y%06oEnJQ~f_LO>Qk=g=5U5`i1z)2XrY z;@-E7pCw6P7GANDu+>up=n{gZV%fH<*j?DWNTp~`RBPMq8y%VyVsGrOKWk&8Y^zEt zPEP7O;6=qVm{-H~XTfu1=XaMsfkmtnck9E4UcTzFY>zkMNDzx<|asAT>^ zIW(CIo9V0H+$~Y?ugy#>f>#V1G^|87SX=XbW2X3H3Fr3c18IYNBh*wQwpoE*!)1hUJKkoi2F4=n0{>LD`aB=*WJHveyiVp%xK87=t{tKiRC3y_q*|H z%ZhXtZ6xiKRA+@+5nCV+U#oTCic6I^| z2vG2HS>hk);e_ee&4`%&M=HEr3$6s#M_czp&MQzzU&M$P)5MMwqya&vXDcktM7w2e zF8O?BFzO!6m;NkoHP_9Q3YMH?el)gORpCZVVGqa%?+TQRLVz`Jx59cz87^oTgF-9I zE^zr@zO=(ZBHe2lf3^%Tv>W+9#i`?9slDpvbXrtO%CI#MOHfcS(IKo+TN})Ou^kCkmCL&@8Dw#CnhWNJ<^%_DF4@( zCn5hi=|G}`snR4Z9334kfiVIrf4K3EpV5DwC;IAY`cuEt*aiFXDf+`;j~?&m0YA07 zsk4uB2qXKZJiAgG9ds>gEj9(SvwXrFXxIFgC6u=f(R0z?IUY&3=i&n9W{#r{g|tvr z#Ks;@>x1zD4F!oewbb&qK<8D5>%6%RRO!&Wf3zf;EM}Ib?K!;kHR12`8t=GR;f32T z-S``R`*Xbvhf<5h`IbCzp^B@*>S1*y+6@5>X_--2hYNlBJ(81N5)hY9d|wA+fc&`} zTCSus;%tyBWYhh;9cRkVwKSNd}bPH>B|@>DD^hW??)$2 z>{(mV+&u%fCE#9KbGF+}O{XL?%p)an!gCplt||MWpjyp_{~pkw@el04Nb_{Mf1<#j zwn`tUF>o@TERh{z@K^&UBY-$(=NfjohDaErZJH+8uD6;W6GB1v16Aq+voXHzh!uyP>W(K2>gu~ ze_Q^VfJ{tsRMSqWd|I{Sr7Do&@7`3{E|HA(QJ$vNpuKGIS++#`0p1k0Tg5|GeS(!8 zbC2SM$gL{xB(H>h0GGT;r^aeN6~nnwDkhciLqhUZu9$M+TXT3@XRd0naLx~65x<9L z|1=z{PIw}44Aiao4p|~WRdipeOdT9L4^KJR;pi&$48Q}DCF-!B-b-f|k!g}d*oMEO z%k+zKeL{z-LQ^BAtXfXt=S?hDF;Ha{(bD^M`d`EfUcCJfPb;xDhcYqRzeDFB_GwNuO6ORuB1Km z&H4YnV!UpJ)n={>mFgKc0(E|Jo7A>(g{S4~ zCoxyZ%mIrV6OPqBtS8c$qgx;Pp296-J1xYNYl-wf_=VOe4&VnVVHD=fmP<|dPo4aG zkm;<_+pLl|dy;{yeaL)SOhe0BkM}KjTbjcI;`osDSK)3pFzo%ROrzHX; z;OOK8sEFSi(k7Ac05Qd1tRi~nO3wmFmfo2;e-KLad!fT8M_Fn)oMA@~e@V}wW>KONY%U0;o3HVYd{`9keR;?N5t$YBl z5>K|qT{t4~;1p;&t4tpD5Kot;&1^1&9Pz8-b~8NMDxD5Uv3iV1PF?Kt7F%pn*TSL#!>wztQY+@X!;?HKE` z9f0cJ{LjJm&U*R7?e&pVkHOJ{Jr^)a^lM0nK4^Pj!Bjbk01}tX^aL%%5N}mnM3M(W zD&ysggApx9*v1O{cbJq=ln>;u!gl{K*YT!C@tcO`w%IszWCm|C>5VS(a0^?5ji(~$ z*8jsm4aIDWYAp<9D;jSMUOO*lycu9F@;1DOIm-V}l1@t}vjWV)`ib-IuPci+7=vD0 zk>i0b>f^^iY`E2__>(V4YpN2^>T)uyv4-x|fUFrEJ1&Vl}VW_sQ`T(Pjs3yF-vt+g$qUKdv5-Z{%!i~h&aVD!pF zVV1a1ed9lbNGSqP`^xZ ze)($n;$8Xr=0b;{dHTdQ=46j6%mHoqv>>}f*SZ{+S#{TV+~1#5L!zkoc6aiB!lFsL zego1wR&XtU|HNiX9exSG>*pAF=H7H~ThsxAtG;(GTZ1Vf`(STHqQf5WK$%d#CGn|z z{o_QF+5MWWHXY@jHhu4#lO&zk(7j_2&lP2iN6xoGu4xP&Zna$}fHc{nmW$HxsT8gZ ztuw8e&&^%pTx83li>Ps5*YV>{Ix$*?s`i`DYLWL8W|h*`?Z28gzhvw0+w0zQ;eod? zHh%DZmJIJ7;^*fF$nqM{-)k^^L&FpY^U7?%O(;&q7~{e|wV5{V z%<$?^QnShe7yTqfIAI{Uul%(f>tp-+_Q;F63#+3e&~$j9oe8oxmVHux8fPZ16Vu>M#+=-o02LFdVHGi$EQ*pap zUe$*2Zs@MB4@&K!4*;ujs-#8Te$QL>iM|3W^{pA-WYC6<*QE`_AI!xA{k#@#y6 zv1=sxM$9Q&R&%-}7XBM;0dQKOx@n$1!dUqj{rDzQNhD7fSSH>X5$fSR@J)IX^UiML zB^YiM2)=rqQZ;UZ{AcML9~SV~mRDDYvL)~j4-flHk4{cjrc4Wk@)f^-`^E>%P@rmC z0APBbFH=FBmH#ox<_k4Zq92y%t+r${$0Yd}X#`Kdz88r)aRF}7mV&Naf;kE^Uuugi;l_BhHjK<$kmyPjD#o+2owe=jj zeh7V_W?U5p$5Yv|ecav4_INqznccSFCqWfphdtk^2W{gk6l{iXe$8NrH31yCO?u! zfTy8wvSK_iJQABu{p;UhU?PPeA!JhjNeBfc*q^>#u4u3%i?qMm_-e+U3gb3Dx7n&u_!#F@%OwGr{f_g}h8 zgIdK?8bOz3XnV~A>nQ63M%s0^Owj!Qf}cTed@JDRjYihDO9H`0hRf5P?r_pj#z8cE z)=vvfzP5XFvvN9$5ICTG<}cUwyIIIocMc0X^CpO{(2kD1P(7>ZTE%A;Ma2F zK%p3{i5xv}TAE=A+I zoF!6~Wp?PMeZWIDR3T$(rqT*^J%-k8jiYAR#O3Sf@iN8$V_fI;bX6dnITo62{Q?Zg zEccx#n`r)c-j>p^`A9N3<<&h()~-|9EZhEwc=V4W5TMlNCJ2^%ZfSPKcVOG`?kjjV72y=D zc9+>_^jqV+vY5VAv0 zs;WAy;>-TA74p5a6W5BU2G4-${d2rkvQV(S|PXBaxNdVgqs*U)Of9pfJum;!B{EUn5PkBb-N z9`;f^D?{@vD&kQuGPwg<05xdw93R`&_EltAlY*4t?z?ARR~OJ*hx^nIb1EXF2n~t- ztwO#(d$RoHX;tkL7AD#Cg#L#aWP=4a!t^IhhG~gmAag!v!DSkhQdU8NB>CeNHzxnL|RM?-P+oErg&wjG^BE+CJsE` z3L%$*GcgH)6(Pm>@6$ST#~F0Gti6=If92idmktMXykrp>opO9^&_th3O=$hb%=TOx zQp;a`LXk|B7n5TY@SrpMME2U}g$jEU^8O>vD7GiXF@t})uF~!QiqNd@QH@i+vye|%g&=54lKezLbzEaON0$>pc0)3F9T|=VE){E>S z&k4?*hPQ4-FXz+ETq`s|ZsQTLF)R_mR;a#v+vyBogLm#b1#DD2N;9%h!KGfgQz;sDLzzp=Ba&$^gnSHf5)H}nE%l_C6$oG z7hETc%=?2uq&B{^)XtV$RR>)gIUpzOt=8kteg72oK|EU-Nkr!_nCmfK9=$EyynWVc zzdu>VIO)sh0Pm4~64q?$%1o6GS)%VL4f^`~$9AqYF2rZ2xo7OE)$6IA=8kuFcwv2a zdcfyEnr?S@jr==WeG=c+epTatr>1dQKY#k}=$U|a)PzT|rfLuKZ)lDSrWS7b{NjwD z{bF?MR=>8(Yo>RODcZ-PG6)sKl3kFAi)t8~oC>OiE=PV;l2tuB_9Ho)_^6EUP69GY zI>fQ9F(nSXkeMbAJl`&3PnBu{!iQryb46N$9M~_Xs6!%vEUYT)-WbZ zI;OcLe1-Y?Ol1-8dI$s99Dv{J8DI?EK>LCA=jrBShlhuAx$WEb^!5U7dK!k!`#}`; zkmB@VCV=#Xcjoc>i8Bq6&p9s|`okQBTU3!5Gyko8_>oci6y!_WOzSF(sZA5NNx zMXGJb{VLzP6K)!+JUB*I#Vd*r$0U>N%Gz1{yRO7!VTv&MjMA|cl*8t&bzIT-(~ zV7OVSQ}SZuTSKs_jpad&W0ZLFt83xMWjNxsk-NWo&uAT3;Yw*$FWOUpS1ZDh`I6O+ z5LrWSBShBCBkzM^z(R^c{^4)H3pm{DRfujk0{%cf*v$z#twZD6m_N+}hO&YxvfE3k z0-+5zM5O4pU*xW-=wA~}O`WSHTnn6^8BA&*zLNdkQ^Ee)OcP*lotbqM2CHMC9cRke zDoA|^D6Z;Qrfm8xncU=S09cmnTnSK?YhAX34J?^JGBTu0ni{_`lOiT5*Pw`$T|(~< zh-)pC{$Z@pyjojt<%EpTN;@t$mor!o?{QEa=;yXXoNi1vP? z0fCPmvu7NL zm>1{eUsj57Y7J*v(I^?+-MQvgiOjnR=n$uy3EeCv!A=F*yIy6 zScnxQU*FVx)97+DlKW)!K2gV|QSt+x-_0E2WWDJW^I6J)wF9DqoRx}B3u`sS7e-1O zQ_g>?#q5oWy`bi{$`nZzecyeMC8`8W3(wshmaY9!s^9m0RKzRrPw9So7t9V8GC{~s zv7Y!^wKpC2idvXlM@I*`fnShT0^%(Uv|eE&<9^gOwENemqIA|_>e~jikemTXL9}z@G7qb^_ZUe4^4X9$Ah5AnO^KqHT8z(2<_O=XBecCuC+lgDV6vbN>iejjR9^C78F6eRG z!4;Yz=L3EtT#POOf`wzbKoNB>(}*W?MXW$?%GX+@9y%*;ax`41suq0+>Otej(RniNA}rJ6~0P5F4n^2iKxzVj2OXbk!-!nj>ba-_C_BnincCV zenHaSN zPayXBvjg>s5#@e7CA6Sgq1hh;E-mHdM5cssPN&fuiC?qq{;qTu=T!B zYxINQ?VU~0(Nf83P2cmtRUL?k{M#h~cDd=RO;e{E;wdXkzjD+3=xr1K25CCJxOOK> zsa);qkCVLoPk%~43I(M6tnP6EQauAUwy#C-$+dan%9mdD9I)#4d}02N$9^sDeyVzj+eBo>;y91ZgC(# zYD*gvm-_wFp^||m`^d}Fad~5@Fu&C9#yQRr$ zgMmD2mAlk`9OS(PfV|6H6C*k{KZi2$itSlUdu>9|H!9vLIc)rYq}*eTin41cD6b}p zgE+3FquxKV zAFnysmU(!jq@+koOY1`9JDnoEJ!pJuvrF95{3WpQRoyA)kDrMs3jeu_M+qgI&0&0Lp=etv9wc6d5( z2YY1?i{qGrh2L|{ce$^zzZ@)6J8F@>meJvl)YE4Da~X*N_$;q8cM3iax&o*`XhJ?P zB98w^4k$~(6)u;=udRWq0ELuKz;2atESrdX^65LafYEUWga7sG*IoCfqM+Bz!opGo z{aw^6s+%P}Pk4X`WcNzy3h)JP0KaW}i7Md{OrQr)jgFHu1ZD|5+|{J>#*4b2eWPnP zzuW|!{EVW#E)Li$jg4h^mkDrYzYCzsH5!gKc1&MTB%h_4!BAi1Gh%$2G+O20XxK}S zopK0{7w>-SEK3c|Ew;sMiSqe$ax$8KJ7GT77v8SwX&L$0p`58wWIhnmgxN8fW==Re zG*41w)YUBRF;;OZ^Oa@{QY%- zfz{C1*bPqV)J~K5U;xAqp7WAGYlNHSs(`>QoKz6T=(mKk05~5^BeES|7C5)5~%&#}yD%QI5n2}A{r~s6F zGHrXnU!;)0@85QJF0Hy;tnM}Z>`CjIPnPsv@B<&r>t=4VBd!cyDa(vql}g2p%r^q+ zsJO#sed8&c-Uh*#G@$aJ`~w2MjE*LPROz~D&wEx`ye~?$n7WYr5;OXvfTP!B!Pg5~ ztc{;-MmGwLJJTV}yGSX}m96FtJGOJ+Bj(t|$&73KUOizrWA3`HgqUXRxpSO|zslB= z<92Z>Ox?a&6f+d87CSP|oo;bE_6*8D8{(2UoA4?Y@4QMC^4#By0@D~nkrf7)2L4Im z!wc!Jn--?p)X(H{N!hsv@=IkKYwny}X)E<9yauVukn)K{_7B}cjXnK#i5l$_3_qI^ zCH)Sj51R}CFRr)HtWmZOFCm6sXQkh&H3DF7@*^u|!}{S>e-!X8*?te$3}kEYS2(P6 z0K%u1r~5@@-qW}vz8MCvf~88W=G-eiBctiFC;gCNmx}n|iS-#DyR9%-?J_i-iHq1& zc=qM3TU+6s^VR_`U){bnIzj$p`0(OR$%2>mlEBYT1N!4fRI+ozGuIGp!Md(6nx&@f z?9aQaHMLBvmI)iYa%`7E`Q7;h`P<)He9WML;V%|0nT8 zqucH%g10pW{ml}ns2gNUfjD8s-kpzz{o0>p?tS(t!+QK|-uJ3(Bp29ts~4L|%E$!T zg#0crY$dy{j{&*mFSsXR;wk~K&|tE8HZ^EN>@6*t75`Ww|#m$9_(di;-B;;Oyg zT9)dHJe*u7pI4-*vRnz=xpqC{OqJRGmA>dFf|VxJzb;n}e}#4jGjnIv?<2wkw>$mm z%Tx-F@c$wezK4gd2+jmJwaCfg4Y*m8!Q1NLr$=j_&)_1?_E865%Yryk2$D}E#tK-c z6wbC+*e%Qg=@e8LNF)Q!6P_msJ>#I?7X|S+g&CX1Z4)2VGVE%3o|kVJS+!m(T?H;) z+3-DZcksp|HD+s`*!6JHYZk!r)aleP+3gD1+Ac#`8wxxMug8S)3L2q{GZ*RVtB;(j zHfX;}ZGBGahDKO86J^q5T)Wy%{BtLqh^R}s6hgn4}8Y7PO9>>T^p?PZOG6@JoBNTQuc9P}l9qpXjV`n5= zx_xqJQ**F+J$#@lfN4+~evH9TW8XyDSF0lt^H{4G&)a>hP$-Z-c zbrMc3dNae{X8f7+0rH^vB3|~dn!Gd~z0AMeaA3P1QDy z`+co$L1q!@GAo2BjLmW>adM1={3DK65DR`3=ttl}iKMWs3XP7A4!U)ac++m42eGt=nm`elXs4f_E!5So46GI>d z;q{bAOS$Bjq};t5FuJLAsTIzD zYWrpb{d!*<5IU%s>qP<2a|0NJV+#wiK>i&pw_#!o3qTNg(CvY<-s7h$ZX8H*I^HwM z?)W-h=lG20&)K`ZCs|F1`W~{m`Ng*Th6n{EQO>@cni%ivPi6PveI+6zOP81_%o@q;9$i(748`OmyvgC{d*Vif^Fxc{oVJ($ z^#BdiX;yGJW5qJOUJ z<%&Htr(?A{Qd4JYDF2a8HJPw<-lEx7`1mSc5ewpvw*d)9>egL$hUwTB ztwVQz4O3}Zgb8Wv&ME#NLDsS8r2&u!Y%OoUeAjOIIpb5!_3*#w%>U+}yW&Htodo@H zL~i$wIzYz}a&>{ZNqa7!dcfLS={K(ezVj!dLj0{TpiPT7d1gX0h;8P*?9jupYfcsB zx2nlYo|iupj+LEr&|o>T!wuH}uag9F!~)~hno>rQvdfzOzg2)CR9iBs`Us z?r_k0o}>75lG7Z69(2UiE&{@997xD5LvcAFh=bvT5_%Ni8`zJ)FqJK(fDug~?7!9b#l6UnyXQ}B`vNSj|(0hT! z+2!nGuiB*5Y(q5#lD^p){BarR!N*zfQGhUMMk@}|bf=wX19{2mbp+573F0MN$2(RX z#q`u?VOpAq%bQND_*UqhG1SM(o2uTJx9Q8|R69x*yLV1-h~WOB@xaTF=(0o1OYt{` zGJ4Dbhz^BBlW{dpgX^L|<*kP-*MVToHdvn?dXjrK+94e}*yL{+Dw4r!5DJ^=jszEN z4O7!Or+(t9Rt91!BH8No(chkBm01&5 zZd1!&Svl8HG8(dM^evZWb@$^SB}<#VwrZvdkffMaH{!4!+j43@5%RjTU{b^uei9+K zTt@S)dNd8J$sCHX?3OKn9dZ~Zmq+B+~@3foWz{N9|83zF{QcQT(o ztfks?of8aJVihS1Zd;)impSXt=A)fD6+HV%&8_!A)${LL-p+#Coh;0U&rNQg@o);u8qBkPQtY{CUXy|dyJa~vH5IXxu7lU4 zRXSF?$H{>X38!`&NHzznoNk~%6W4LDXuroNi$&M4SAa_RW{&y6GS(RHs9&uc+6Rxk46uqcn@;ld8;Hwa5JTBS-IB4_#53_f2Gi#z8tXQg!$v_eQrE1#WJXOlaT1}(LDJX&b;m+L*;=iXf zj)0J`9BP8gP|oAy2VWHj#{40Stpn_*rKN?LgX3J1%g%B~%-0IU+ul3F`ElWi{K$Cb zsj19y594W{KOB!b+>&*wRru4M*{HfqwsF*JXY;LJLp8XBH?^1I?GA6s%J8LuX-

2)yE^ z=5g2Cp!6JM(a2*l4m#sY=H_%NtaTxl%Fd~qVYNTI@iP@}x>rua*ZZZi$tPAz{`5#z z=MS-X|B<^`L_`t+Gl7Ehp0qSrrsV5>L5C@4C`8``35{-B^mU~1W}Z|2wI06`>4kV_ zXgA&@3EdvUvD#O)onUfr_w0g2~59s$T`;+#;8E}+QGNEJrfZ91z2ZP)lwRB z8`qj+!aD|J22LK>9yG$>vb=%HcJR2No<43wdTBk6Zz`_0YX0PDKeJX|N%1w5O3|f1+b!sC(=7HX6H{-grOr%w0CYAO zU#kEcb&S9FC(TL5z!s6Z~dZ{+^8j5IKP7MTK!}7AhQ@R{&byc6wTAYPasxqpX&SB z$gcC&X+!VqUS@&?lGD0p>sATc74~sAFpfocUX_;+p5`l z>-_CZ=o2dw`9S%0>gM2nkWaFCCQ)*>VJsTQyvTnrIt#gpDy19 z{r+gJVfL?5=D+FcXJ|#&Ee;lfo1F;M_vbzj4aGqh{{

0VhJ-yK2RMKL5kmszBh6 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 diff --git a/evaluation/evaluate.py b/evaluation/evaluate.py index 00fdbad8..c309e836 100644 --- a/evaluation/evaluate.py +++ b/evaluation/evaluate.py @@ -54,6 +54,7 @@ "adasnapkv": AdaKVPress(SnapKVPress()), "ada_expected_attention": AdaKVPress(ExpectedAttentionPress()), "expected_attention": ExpectedAttentionPress(), + "ada_expected_attention_e2": AdaKVPress(ExpectedAttentionPress(epsilon=1e-2)), "knorm": KnormPress(), "observed_attention": ObservedAttentionPress(), "random": RandomPress(), diff --git a/kvpress/presses/expected_attention_press.py b/kvpress/presses/expected_attention_press.py index c9ff0636..febcd9dd 100644 --- a/kvpress/presses/expected_attention_press.py +++ b/kvpress/presses/expected_attention_press.py @@ -22,7 +22,7 @@ class ExpectedAttentionPress(ScorerPress): 3. Apply R to the mean and covariance matrice of the queries. 4. As attention A = exp(Q @ K / sqrt(d)), we compute the expected attention E(A) = exp(K @ mean.T / sqrt(d) + 1/2 K @ cov @ K.T / d) - 5. Rescale the scores by the norm of the values + 5. Rescale the scores using (scores + epsilon) * ||V||_2 The first n_sink tokens are removed from calculations (sink attention phenomenon). """ @@ -31,6 +31,7 @@ class ExpectedAttentionPress(ScorerPress): n_sink: int = 4 use_covariance: bool = True use_vnorm: bool = True + epsilon: float = 0.0 def get_query_statistics(self, module: nn.Module, hidden_states: torch.Tensor): """ @@ -126,7 +127,7 @@ def score( # Rescale scores by the norm of the values if self.use_vnorm: - scores = scores * values.norm(dim=-1) + scores = (scores + self.epsilon) * values.norm(dim=-1) # Add back the sink tokens. Use max score to make sure they are not pruned. scores = F.pad(scores, (self.n_sink, 0), value=scores.max().item()) diff --git a/notebooks/expected_attention.ipynb b/notebooks/expected_attention.ipynb index 199d8c20..cc1e877e 100644 --- a/notebooks/expected_attention.ipynb +++ b/notebooks/expected_attention.ipynb @@ -198,17 +198,18 @@ "keys, values = outputs.past_key_values[layer_idx]\n", "decoder_layer = pipe.model.model.layers[layer_idx]\n", "self_attn = decoder_layer.self_attn\n", + "self_attn.rotary_emb = pipe.model.model.rotary_emb\n", "attention_mask = AttentionMaskConverter(is_causal=True).to_causal_4d(1, n_tokens, n_tokens, pipe.torch_dtype, pipe.device)\n", "\n", "with torch.no_grad():\n", " # Compute expected attention (need lot of vRAM to keep all tokens)\n", " hidden_states = decoder_layer.input_layernorm(outputs.hidden_states[layer_idx])\n", - " parent_cls = self_attn.__class__.__bases__[0] # e.g. LlamaAttention instead of LlamaFlashAttention2\n", - " eager_self_attn = parent_cls(decoder_layer.self_attn.config, layer_idx)\n", - " eager_self_attn.load_state_dict(self_attn.state_dict())\n", - " eager_self_attn.to(device, pipe.torch_dtype)\n", + " _attn_implementation = self_attn.config._attn_implementation\n", + " self_attn.config._attn_implementation = \"eager\"\n", " position_ids = torch.arange(tokens.size(1), device=device).unsqueeze(0)\n", - " attn_weights = eager_self_attn(hidden_states, position_ids=position_ids, attention_mask=attention_mask, output_attentions=True)[1][0] \n", + " position_embeddings = self_attn.rotary_emb(hidden_states, position_ids)\n", + " attn_weights = self_attn(hidden_states, attention_mask=attention_mask, position_embeddings=position_embeddings, output_attentions=True)[1][0]\n", + " self_attn.config._attn_implementation = _attn_implementation\n", "\n", " # Compute scores on the first n_train tokens\n", " scores = press.score(\n", diff --git a/pyproject.toml b/pyproject.toml index d2f56828..8d17a277 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -2,7 +2,7 @@ name = "kvpress" authors = ["Simon Jegou", "Maximilian Jeblick", "Jiwei Liu", "David Austin"] description = "Efficiently compress the KV cache of any pretrained transformer" -version = "0.2.1" +version = "0.2.2" readme = "README.md" [tool.poetry.dependencies] From 7180135cd52bcac340b40cef862d4b53b87bc873 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Simon=20J=C3=A9gou?= Date: Thu, 13 Feb 2025 13:48:47 +0100 Subject: [PATCH 02/12] Fix distributed inference (#49) Signed-off-by: Nathan --- kvpress/presses/expected_attention_press.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kvpress/presses/expected_attention_press.py b/kvpress/presses/expected_attention_press.py index febcd9dd..74b2a290 100644 --- a/kvpress/presses/expected_attention_press.py +++ b/kvpress/presses/expected_attention_press.py @@ -76,7 +76,7 @@ def get_query_statistics(self, module: nn.Module, hidden_states: torch.Tensor): R = cos.unsqueeze(1) * Id + sin.unsqueeze(1) * P # Apply average rotation to the mean and covariance - R = R.mean(dim=0) + R = R.mean(dim=0).to(mu.device) mu = torch.matmul(mu, R.T) if self.use_covariance: cov = torch.matmul(R, torch.matmul(cov, R.T)) From 8565cbb32d804bac4568a777ec5d9ca4b304f260 Mon Sep 17 00:00:00 2001 From: alessiodevoto Date: Mon, 17 Feb 2025 12:55:04 +0100 Subject: [PATCH 03/12] qfilters_press Signed-off-by: Nathan --- README.md | 1 + kvpress/__init__.py | 1 + kvpress/presses/qfilter_press.py | 207 +++++++++++++++++++++++++++++++ tests/default_presses.py | 2 + 4 files changed, 211 insertions(+) create mode 100644 kvpress/presses/qfilter_press.py diff --git a/README.md b/README.md index dc4a35f1..df868a37 100644 --- a/README.md +++ b/README.md @@ -78,6 +78,7 @@ Finally we provide wrapper presses that can be combined with other presses: - `KeyRerotationPress` ([source](kvpress/presses/key_rerotation_press.py)): rerotate pruned keys to have continuous RoPE embeddings - `ChunkPress` ([source](kvpress/presses/chunk_press.py), [paper](https://direct.mit.edu/tacl/article/doi/10.1162/tacl_a_00716/125280)): compress the KV cache on each sequence chunk separately. This can yield to more uniform compression across long sequences - `CriticalKVPress` and `CriticalAdaKVPress` ([source](kvpress/presses/criticalkv_press.py), [paper](https://arxiv.org/abs/2502.03805)): refine the scores using the L1 norm of Wo @ values, coupled with a two-stage selection. +- `QFilterPress`: project the Key representations on the main SVD component of the Query vectors to approximate the attention scores. [paper]() For a detailed list of existing KV cache compression methods, check [Awesome-KV-Cache-Compression](https://github.com/October2001/Awesome-KV-Cache-Compression) or [Awesome-LLM-Compression](https://github.com/HuangOwen/Awesome-LLM-Compression?tab=readme-ov-file#kv-cache-compression) diff --git a/kvpress/__init__.py b/kvpress/__init__.py index 54e419c6..e5b00561 100644 --- a/kvpress/__init__.py +++ b/kvpress/__init__.py @@ -21,6 +21,7 @@ from kvpress.presses.think_press import ThinKPress from kvpress.presses.tova_press import TOVAPress from kvpress.presses.criticalkv_press import CriticalKVPress, CriticalAdaKVPress +from kvpress.presses.qfilter_press import QFilterPress # Patch the attention functions to support head-wise compression patch_attention_functions() diff --git a/kvpress/presses/qfilter_press.py b/kvpress/presses/qfilter_press.py new file mode 100644 index 00000000..e9bec856 --- /dev/null +++ b/kvpress/presses/qfilter_press.py @@ -0,0 +1,207 @@ +# SPDX-FileCopyrightText: Copyright (c) 1993-2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 + +from contextlib import contextmanager +from dataclasses import dataclass + +import torch +from torch import nn + +from kvpress.presses.scorer_press import ScorerPress + +from huggingface_hub import PyTorchModelHubMixin, get_collection + +from typing import Generator + +import torch +from torch import nn +from transformers import ( + LlamaForCausalLM, + MistralForCausalLM, + Phi3ForCausalLM, + PreTrainedModel, + QuantizedCache, + Qwen2ForCausalLM, +) + +import logging +logger = logging.getLogger(__name__) + +QFILTERS_COLLECTION = "nthngdy/q-filters-67a4994dcb302a3d37f3d119" + +def get_model_name(model_id: str) -> str: + """Extract model name from model_id.""" + model_name = model_id.split("/")[-1].replace("_qfilt", "") + return model_name + +def check_q_filters_available(model_name: str) -> bool: + """Check if pre-trained QFilters are available for download for a specific model.""" + collection = get_collection(QFILTERS_COLLECTION) + available_filters = {get_model_name(x.item_id) for x in collection.items} + return model_name in available_filters + + +class QFilters(torch.nn.Module, PyTorchModelHubMixin): + """Learnable Q-filters for KV cache pruning.""" + def __init__( + self, + num_layers: int, + num_kv_heads: int, + kv_head_dim: int, + model_name: str = None + ): + super().__init__() + self.q_filters = torch.nn.Parameter(torch.randn(num_layers, num_kv_heads, kv_head_dim)) + self.model_name = get_model_name(model_name) if model_name else None + + @classmethod + def from_pretrained(cls, pretrained_model_name_or_path, *model_args, **kwargs): + # we always keep a copy of the model name in the filters + filters = super().from_pretrained(pretrained_model_name_or_path, *model_args, **kwargs) + filters.model_name = get_model_name(pretrained_model_name_or_path) + return filters + + # representation of this object + def __repr__(self): + return f"QFilters(model_name={self.model_name})" + + + +@dataclass +class QFilterPress(ScorerPress): + """Prune KV pairs with Q-filters""" + _q_filters: QFilters = None + model_id: str = None + + def __post_init__(self): + if self._q_filters is None and self.model_id is not None: + model_name = get_model_name(self.model_id) + self._load_filters_for_model(model_name) + elif self._q_filters is not None and self.model_id is not None: + # make sure that q_filters and model_id are consistent + model_name = get_model_name(self.model_id) + if self._q_filters.model_name != model_name: + logger.warning(f"Using QFilters from {self._q_filters.model_name} for {model_name}.") + + @property + def q_filters(self) -> QFilters: + if self._q_filters is None: + raise ValueError( + "QFilters are not initialized. Either:\n" + "1. Provide a model_id at initialization to download Qfilters automatically\n" + "2. Download QFilterPress and set them with press.qfilters = your_filters\n" + ) + return self._q_filters + + + @q_filters.setter + def q_filters(self, value: QFilters): + self._q_filters = value + + + def _load_filters_for_model(self, model_name: str) -> None: + """Load filters for a specific model from the hub.""" + logger.info(f"Loading QFilters for {model_name}") + try: + self._q_filters = QFilters.from_pretrained(f"nthngdy/{model_name}_qfilt") + except Exception as e: + if not check_q_filters_available(model_name): + logger.error(f"QFilters not available for {model_name}. To use QFilters from another model, set q_filters manually.") + else: + logger.error(f"Unable to load QFilters for {model_name}: {e}") + + + def score( + self, + module: nn.Module, + hidden_states: torch.Tensor, + keys: torch.Tensor, + values: torch.Tensor, + attentions: torch.Tensor, + kwargs, + ) -> torch.Tensor: + """ + Compute a tensor of scores with shape (bsz, num_key_value_heads, q_len) + The KV pairs with lowest scores will be pruned in the `compress` method. + """ + # Get filter for this layer and match device/dtype + layer_filter = self.q_filters.q_filters[module.layer_idx].to( + device=keys.device, + dtype=keys.dtype + ) + + # Compute score by projecting keys onto the filter + scores = -(layer_filter[None,:,None] * keys).sum(dim=-1) + return scores + + + @contextmanager + def __call__(self, model: PreTrainedModel) -> Generator: + """ + Context manager to apply a compression method to a model. + Apply this context manager during the pre-filling phase to compress the context. + + Parameters + ---------- + model : PreTrainedModel + Model to apply the compression method to + + Raises + ------ + ValueError + If unable to infer model type when q_filters is None + """ + + if not isinstance(model, (LlamaForCausalLM, MistralForCausalLM, Phi3ForCausalLM, Qwen2ForCausalLM)): + logger.warning(f"Model {type(model)} not tested") + + if self._q_filters is None: + try: + model_name = get_model_name(model.config.name_or_path) + self._load_filters_for_model(model_name) + except AttributeError: + raise ValueError("Unable to infer model type. Please provide path to download Qfilters.") + + model_name = get_model_name(model.config.name_or_path) + if self.q_filters.model_name != model_name: + logger.warning(f"Using QFilters from {self.q_filters.model_name} for {model_name}.") + + hooks = [] + try: + for layer in model.model.layers: + layer.self_attn.rotary_emb = model.model.rotary_emb + hooks.append(layer.self_attn.register_forward_hook(self.forward_hook, with_kwargs=True)) + yield + finally: + for forward_hook in hooks: + forward_hook.remove() + + +""" +Example usage: + +model_id = "meta-llama/Llama-3.2-1B" +unit_test_model = AutoModelForCausalLM.from_pretrained(model_id, torch_dtype=torch.float16).eval().cuda() + +# Option 1: automatically download QFilters for the model on press call +press = QFilterPress(compression_ratio=0.2) +with press(model): + # run inference with the model + ... + + +# Option 2: provide model_id to download QFilters before press call +press = QFilterPress(model_id="meta-llama/Llama-3.2-1B") +with press: + # run inference with the model + ... + + +# Option 3: use pre-loaded QFilters +q_filters = QFilters.from_pretrained("nthngdy/llama-3.2-1b_qfilt") +press = QFilterPress() +press.q_filters = q_filters +with press: + # run inference with the model + ... +""" diff --git a/tests/default_presses.py b/tests/default_presses.py index 08d2fb13..f057a6d9 100644 --- a/tests/default_presses.py +++ b/tests/default_presses.py @@ -11,6 +11,7 @@ StreamingLLMPress, ThinKPress, TOVAPress, + QFilterPress, ) # contains all presses to be tested @@ -20,6 +21,7 @@ {"cls": ExpectedAttentionPress, "kwargs": [{"compression_ratio": 0.2}, {"compression_ratio": 0.8}]}, {"cls": RandomPress, "kwargs": [{"compression_ratio": 0.2}, {"compression_ratio": 0.8}]}, {"cls": StreamingLLMPress, "kwargs": [{"compression_ratio": 0.2}, {"compression_ratio": 0.8}]}, + {"cls": QFilterPress, "kwargs": [{"compression_ratio": 0.2}, {"compression_ratio": 0.8}]}, { "cls": SnapKVPress, "kwargs": [{"compression_ratio": 0.2, "window_size": 2}, {"compression_ratio": 0.8, "window_size": 2}], From 9e0f6b02172feb56360f6f26008e5768b3b1d9c8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Simon=20J=C3=A9gou?= Date: Tue, 18 Feb 2025 17:50:52 +0100 Subject: [PATCH 04/12] Add DuoAttentionPress (#50) * Add DuoAttentionPress * Fix tests and compression_ratio * Address feedback * Update plot * Update version Signed-off-by: Nathan --- README.md | 1 + evaluation/assets/ruler_llama_xkcd.png | Bin 112461 -> 114417 bytes evaluation/evaluate.py | 12 ++- kvpress/__init__.py | 3 + kvpress/presses/duo_attention_press.py | 111 ++++++++++++++++++++++ pyproject.toml | 3 +- tests/default_presses.py | 11 +++ tests/presses/test_duo_attention_press.py | 7 ++ 8 files changed, 145 insertions(+), 3 deletions(-) create mode 100644 kvpress/presses/duo_attention_press.py create mode 100644 tests/presses/test_duo_attention_press.py diff --git a/README.md b/README.md index df868a37..70ffe607 100644 --- a/README.md +++ b/README.md @@ -70,6 +70,7 @@ Several presses inherit from `ScorerPress` ([source](kvpress/presses/scorer_pres Some presses rely on a different logic: - `ThinKPress` ([source](kvpress/presses/think_press.py), [paper](https://arxiv.org/pdf/2407.21018)): compress the dimensions of the keys based on the channel attention score on the last queries - `SimLayerKVPress` ([source](kvpress/presses/simlayerkv_press.py), [paper](https://arxiv.org/abs/2410.13846)): identify "lazy" layers, and apply the StreamingLLM approach to them +- `DuoAttentionPress` ([source](kvpress/presses/duo_attention_press.py), [paper](https://arxiv.org/abs/2410.10819)): split heads into retrieval heads (no compression) and streaming heads (StreamingLLM approach) Finally we provide wrapper presses that can be combined with other presses: - `AdaKVPress` ([source](kvpress/presses/adakv_press.py), [paper](https://arxiv.org/abs/2407.11550)): prune bottom scores of any `ScorerPress` but across all heads, achieving head-wise compressions diff --git a/evaluation/assets/ruler_llama_xkcd.png b/evaluation/assets/ruler_llama_xkcd.png index 373ab8585ffd44bb8b2229bb184c0a3d4a9fabca..73580b3571d3a8ba061305c2f7a27bf24d1c8d9c 100644 GIT binary patch literal 114417 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 0: + indices = np.argsort(head_scores, axis=None)[:n_pruned] + self.streaming_mask[np.unravel_index(indices, head_scores.shape)] = True + + @property + def compression_ratio(self) -> float: + assert self.compression_ratio_ is not None, "Forward pass must be run to compute the compression ratio" + return self.compression_ratio_ + + @compression_ratio.setter + def compression_ratio(self, value): + raise AttributeError(f"compression ratio cannot be set for {type(self).__name__}") + + def compress(self, module, hidden_states, keys, values, attentions, kwargs): + + assert module.config._attn_implementation != "eager", "eager mode not supported" + q_len = hidden_states.shape[1] + + if (self.head_compression_ratio > 0) or (q_len > (self.sink_size + self.recent_size)): + + # Save indices to mask during the attention mechanism. Please refer to attention_patch.py for more details + masked_keys = torch.zeros_like(keys[..., 0], dtype=torch.bool) + masked_keys[:, self.streaming_mask[module.layer_idx], self.sink_size : -self.recent_size] = True + module.masked_key_indices = torch.nonzero(masked_keys, as_tuple=True) + + # Compute the compression ratio + self.compression_ratio_ = self.streaming_mask.float().mean().item() + self.compression_ratio_ *= 1 - (self.sink_size + self.recent_size) / q_len + + return keys, values + + @staticmethod + def load_attention_pattern(model): + """ + Load the attention pattern from the DuoAttention repo + """ + + assert ( + model.config.name_or_path in PATTERNS_DICT + ), f"Checkpoint {model.config.name_or_path} not in {list(PATTERNS_DICT.keys())}" + base_url = "https://raw.githubusercontent.com/mit-han-lab/duo-attention/refs/heads/main/attn_patterns" + url = f"{base_url}/{PATTERNS_DICT[model.config.name_or_path]}/" + + # Load config + config = requests.get(url + "config.json").json() + + # Load head scores and clip as in duo_attn.utils.load_attn_pattern + text = requests.get(url + "full_attention_heads.tsv").text + head_scores = np.loadtxt(StringIO(text), dtype=float, delimiter="\t") + head_scores = np.clip(head_scores, 0, 1) + + return config["sink_size"], config["recent_size"], head_scores + + @contextmanager + def __call__(self, model): + self.__post_init_from_model__(model) + with super().__call__(model): + yield diff --git a/pyproject.toml b/pyproject.toml index 8d17a277..60dca287 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -2,7 +2,7 @@ name = "kvpress" authors = ["Simon Jegou", "Maximilian Jeblick", "Jiwei Liu", "David Austin"] description = "Efficiently compress the KV cache of any pretrained transformer" -version = "0.2.2" +version = "0.2.3" readme = "README.md" [tool.poetry.dependencies] @@ -25,6 +25,7 @@ pandas = "^2.2.2" rouge = "^1.0.1" bert-score = "^0.3.13" accelerate = "^1.0.0" +requests = "^2.32.3" [tool.poetry.dev-dependencies] pytest = "^7.0.0" diff --git a/tests/default_presses.py b/tests/default_presses.py index f057a6d9..a8880ecd 100644 --- a/tests/default_presses.py +++ b/tests/default_presses.py @@ -1,6 +1,7 @@ # SPDX-FileCopyrightText: Copyright (c) 1993-2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 +import numpy as np from kvpress import ( ExpectedAttentionPress, @@ -12,11 +13,21 @@ ThinKPress, TOVAPress, QFilterPress, + DuoAttentionPress, ) + +class TestDuoAttentionPress(DuoAttentionPress): + @staticmethod + def load_attention_pattern(model): + n_layers, n_heads = model.config.num_hidden_layers, model.config.num_key_value_heads + return 2, 2, np.random.rand(n_layers, n_heads) + + # contains all presses to be tested # kwargs should be ordered easy to hard compression default_presses = [ + {"cls": TestDuoAttentionPress, "kwargs": [{"head_compression_ratio": 0.2}, {"head_compression_ratio": 0.8}]}, {"cls": KnormPress, "kwargs": [{"compression_ratio": 0.2}, {"compression_ratio": 0.8}]}, {"cls": ExpectedAttentionPress, "kwargs": [{"compression_ratio": 0.2}, {"compression_ratio": 0.8}]}, {"cls": RandomPress, "kwargs": [{"compression_ratio": 0.2}, {"compression_ratio": 0.8}]}, diff --git a/tests/presses/test_duo_attention_press.py b/tests/presses/test_duo_attention_press.py new file mode 100644 index 00000000..4985dc5f --- /dev/null +++ b/tests/presses/test_duo_attention_press.py @@ -0,0 +1,7 @@ +from kvpress.presses.duo_attention_press import DuoAttentionPress, PATTERNS_DICT + + +def test_load_attention_pattern(): + for model_name in PATTERNS_DICT: + model = type("model", (), {"config": type("config", (), {"name_or_path": model_name})})() + DuoAttentionPress.load_attention_pattern(model) From e25b7a61bc9aa3526543982276e832803183b831 Mon Sep 17 00:00:00 2001 From: Xiang LIU <47224289+Dominic789654@users.noreply.github.com> Date: Wed, 5 Mar 2025 23:43:30 +0800 Subject: [PATCH 05/12] add ChunkKV Signed-off-by: Nathan --- README.md | 3 +- evaluation/evaluate.py | 8 +- kvpress/__init__.py | 4 + kvpress/presses/chunk_press.py | 1 - kvpress/presses/chunkkv_press.py | 112 ++++++++++++++++++++++ kvpress/presses/criticalkv_press.py | 4 +- kvpress/presses/duo_attention_press.py | 9 +- tests/default_presses.py | 1 + tests/presses/test_duo_attention_press.py | 2 +- tests/presses/test_presses.py | 23 ++++- 10 files changed, 150 insertions(+), 17 deletions(-) create mode 100644 kvpress/presses/chunkkv_press.py diff --git a/README.md b/README.md index 70ffe607..a1ad27cb 100644 --- a/README.md +++ b/README.md @@ -77,6 +77,7 @@ Finally we provide wrapper presses that can be combined with other presses: - `PerLayerCompressionPress` ([source](kvpress/presses/per_layer_compression_press.py)): compress each layer with a different compression ratio (experimental) - `ComposedPress` ([source](kvpress/presses/composed_press.py)): compose multiple presses together by chaining their forward hooks - `KeyRerotationPress` ([source](kvpress/presses/key_rerotation_press.py)): rerotate pruned keys to have continuous RoPE embeddings +- `ChunkKVPress` ([source](kvpress/presses/chunkkv_press.py), [paper](https://arxiv.org/abs/2502.00299)): compresses by selecting important chunks, preserving semantic coherence - `ChunkPress` ([source](kvpress/presses/chunk_press.py), [paper](https://direct.mit.edu/tacl/article/doi/10.1162/tacl_a_00716/125280)): compress the KV cache on each sequence chunk separately. This can yield to more uniform compression across long sequences - `CriticalKVPress` and `CriticalAdaKVPress` ([source](kvpress/presses/criticalkv_press.py), [paper](https://arxiv.org/abs/2502.03805)): refine the scores using the L1 norm of Wo @ values, coupled with a two-stage selection. - `QFilterPress`: project the Key representations on the main SVD component of the Query vectors to approximate the attention scores. [paper]() @@ -176,4 +177,4 @@ with press(model): However, the `generate` method does not allow to exclude the question from the compression, which would artificially favors methods such as SnapKV. Ideally, we want a compression method that works whatever comes after the context (_e.g._ for use cases such as chat or document question answering). Finally the `generate` method does not allow to provide generation for multiple questions at once. - + \ No newline at end of file diff --git a/evaluation/evaluate.py b/evaluation/evaluate.py index d97610d1..d06b5668 100644 --- a/evaluation/evaluate.py +++ b/evaluation/evaluate.py @@ -17,9 +17,11 @@ from zero_scrolls.calculate_metrics import calculate_metrics as zero_scrolls_scorer from kvpress import ( - CriticalKVPress, - CriticalAdaKVPress, AdaKVPress, + ChunkKVPress, + CriticalAdaKVPress, + CriticalKVPress, + DuoAttentionPress, ExpectedAttentionPress, KnormPress, ObservedAttentionPress, @@ -28,7 +30,6 @@ StreamingLLMPress, ThinKPress, TOVAPress, - DuoAttentionPress, ) logger = logging.getLogger(__name__) @@ -64,6 +65,7 @@ "think": ThinKPress(), "tova": TOVAPress(), "duo_attention": DuoAttentionPress(), + "chunkkv": ChunkKVPress(press=SnapKVPress(), chunk_length=20), } diff --git a/kvpress/__init__.py b/kvpress/__init__.py index d2542763..e82d3d7d 100644 --- a/kvpress/__init__.py +++ b/kvpress/__init__.py @@ -7,7 +7,10 @@ from kvpress.presses.adakv_press import AdaKVPress from kvpress.presses.base_press import BasePress from kvpress.presses.chunk_press import ChunkPress +from kvpress.presses.chunkkv_press import ChunkKVPress from kvpress.presses.composed_press import ComposedPress +from kvpress.presses.criticalkv_press import CriticalAdaKVPress, CriticalKVPress +from kvpress.presses.duo_attention_press import DuoAttentionPress from kvpress.presses.expected_attention_press import ExpectedAttentionPress from kvpress.presses.key_rerotation_press import KeyRerotationPress from kvpress.presses.knorm_press import KnormPress @@ -48,4 +51,5 @@ "KeyRerotationPress", "ChunkPress", "DuoAttentionPress", + "ChunkKVPress", ] diff --git a/kvpress/presses/chunk_press.py b/kvpress/presses/chunk_press.py index 3d87fbb3..2798a144 100644 --- a/kvpress/presses/chunk_press.py +++ b/kvpress/presses/chunk_press.py @@ -50,7 +50,6 @@ def compress( assert attentions is None, "ChunkPress does not support attentions." kv_len = keys.shape[2] - indices = [] for i in range(0, kv_len, self.chunk_length): chunk_scores = self.press.score( diff --git a/kvpress/presses/chunkkv_press.py b/kvpress/presses/chunkkv_press.py new file mode 100644 index 00000000..54d56cf5 --- /dev/null +++ b/kvpress/presses/chunkkv_press.py @@ -0,0 +1,112 @@ +# SPDX-FileCopyrightText: Copyright (c) 1993-2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 + +from dataclasses import dataclass + +import torch +from torch import nn + +from kvpress.presses.base_press import BasePress +from kvpress.presses.scorer_press import ScorerPress + + +@dataclass +class ChunkKVPress(BasePress): + """ + Wrapper class for any ScorerPress. + First calculates global scores using the ScorerPress, + then selects tokens chunk by chunk based on these global scores. + This method was proposed in + ChunkKV: Semantic-Preserving KV Cache Compression for Efficient Long-Context LLM Inference + https://arxiv.org/abs/2502.00299 + """ + + press: ScorerPress + chunk_length: int = 20 + + def __post_init__(self): + assert isinstance(self.press, ScorerPress), "ChunkKVPress requires a ScorerPress as input" + + @property + def compression_ratio(self): + return self.press.compression_ratio + + @compression_ratio.setter + def compression_ratio(self, value): + self.press.compression_ratio = value + + def compress( + self, + module: nn.Module, + hidden_states: torch.Tensor, + keys: torch.Tensor, + values: torch.Tensor, + attentions: torch.Tensor, + kwargs: dict, + ) -> tuple[torch.Tensor, torch.Tensor]: + + if self.press.compression_ratio == 0: + return keys, values + + assert attentions is None, "ChunkPress does not support attentions." + + kv_len = keys.shape[2] + + # 1. Calculate global scores first + global_scores = self.press.score( + module, + hidden_states, + keys, + values, + attentions, + kwargs, + ) + + # 2. Calculate actual number of complete chunks and remaining tokens + num_complete_chunks = kv_len // self.chunk_length + remaining_tokens = kv_len % self.chunk_length + + # If we have no complete chunks, delegate to the underlying scorer press + if num_complete_chunks == 0: + return self.press.compress(module, hidden_states, keys, values, attentions, kwargs) + + # Reshape complete chunks for score calculation + if num_complete_chunks > 0: + main_scores = global_scores[..., : num_complete_chunks * self.chunk_length] + main_chunk_scores = main_scores.sum(dim=1).view(-1, num_complete_chunks, self.chunk_length) + main_chunk_scores = main_chunk_scores.mean(dim=-1) + else: + main_chunk_scores = torch.empty((global_scores.shape[0], 0), device=global_scores.device) + + # Handle remaining tokens if any + if remaining_tokens > 0: + remaining_scores = global_scores[..., -remaining_tokens:] + remaining_chunk_score = remaining_scores.sum(dim=1).mean(dim=-1, keepdim=True) + chunk_scores = torch.cat([main_chunk_scores, remaining_chunk_score], dim=-1) + else: + chunk_scores = main_chunk_scores + + # 3. Calculate number of chunks to keep + n_chunks_kept = max(1, int((num_complete_chunks + (remaining_tokens > 0)) * (1 - self.press.compression_ratio))) + top_chunks = chunk_scores.topk(n_chunks_kept, dim=-1) + + # 4. Create indices for selected chunks + indices = [] + for chunk_idx in top_chunks.indices[0]: + if chunk_idx < num_complete_chunks: + # For complete chunks + start_idx = chunk_idx * self.chunk_length + chunk_indices = torch.arange(start_idx, start_idx + self.chunk_length, device=keys.device) + else: + # For the remaining partial chunk + chunk_indices = torch.arange(num_complete_chunks * self.chunk_length, kv_len, device=keys.device) + indices.append(chunk_indices) + + indices = torch.cat(indices).sort()[0] + indices = indices.view(1, 1, -1, 1).expand(keys.shape[0], keys.shape[1], -1, module.head_dim) + + # 5. Use gather to collect selected keys and values + keys = keys.gather(2, indices).contiguous() + values = values.gather(2, indices).contiguous() + + return keys, values diff --git a/kvpress/presses/criticalkv_press.py b/kvpress/presses/criticalkv_press.py index 9574a980..8a9042e5 100644 --- a/kvpress/presses/criticalkv_press.py +++ b/kvpress/presses/criticalkv_press.py @@ -8,8 +8,8 @@ from transformers.models.llama.modeling_llama import repeat_kv from kvpress.presses.base_press import BasePress -from kvpress.presses.scorer_press import ScorerPress from kvpress.presses.expected_attention_press import ExpectedAttentionPress +from kvpress.presses.scorer_press import ScorerPress logger = logging.getLogger(__name__) @@ -49,7 +49,7 @@ def vwl1norm(values, module): # Future kernel fusion optimization could eliminate this intermediate variables to enhance performance. head_WoV_norm_list = [] for head in range(V.size(1)): - head_WoV = V[: , head, : , ...].matmul(Wo[head, ...].unsqueeze(0)) + head_WoV = V[:, head, :, ...].matmul(Wo[head, ...].unsqueeze(0)) head_WoV_norm = torch.norm(head_WoV, p=1, dim=-1) head_WoV_norm_list.append(head_WoV_norm) diff --git a/kvpress/presses/duo_attention_press.py b/kvpress/presses/duo_attention_press.py index ce87c700..c48c2e27 100644 --- a/kvpress/presses/duo_attention_press.py +++ b/kvpress/presses/duo_attention_press.py @@ -1,17 +1,16 @@ # SPDX-FileCopyrightText: Copyright (c) 1993-2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 -from io import StringIO -from dataclasses import dataclass, field from contextlib import contextmanager +from dataclasses import dataclass, field +from io import StringIO -import torch -import requests # type: ignore[import-untyped] import numpy as np +import requests # type: ignore[import-untyped] +import torch from kvpress.presses.base_press import BasePress - PATTERNS_DICT = { "togethercomputer/Llama-2-7B-32K-Instruct": "Llama-2-7B-32K-Instruct/lr%3D0.02-reg%3D0.05-ctx%3D1000_32000-multi_passkey10", # noqa: E501 "gradientai//Llama-3-8B-Instruct-Gradient-1048k": "Llama-3-8B-Instruct-Gradient-1048k/lr%3D0.02-reg%3D0.05-ctx%3D1000_32000-multi_passkey10", # noqa: E501 diff --git a/tests/default_presses.py b/tests/default_presses.py index a8880ecd..705321d1 100644 --- a/tests/default_presses.py +++ b/tests/default_presses.py @@ -4,6 +4,7 @@ import numpy as np from kvpress import ( + DuoAttentionPress, ExpectedAttentionPress, KnormPress, RandomPress, diff --git a/tests/presses/test_duo_attention_press.py b/tests/presses/test_duo_attention_press.py index 4985dc5f..78325801 100644 --- a/tests/presses/test_duo_attention_press.py +++ b/tests/presses/test_duo_attention_press.py @@ -1,4 +1,4 @@ -from kvpress.presses.duo_attention_press import DuoAttentionPress, PATTERNS_DICT +from kvpress.presses.duo_attention_press import PATTERNS_DICT, DuoAttentionPress def test_load_attention_pattern(): diff --git a/tests/presses/test_presses.py b/tests/presses/test_presses.py index 27adab64..dfea2861 100644 --- a/tests/presses/test_presses.py +++ b/tests/presses/test_presses.py @@ -8,15 +8,17 @@ from transformers import DynamicCache from kvpress import ( - CriticalKVPress, - CriticalAdaKVPress, AdaKVPress, + ChunkKVPress, ChunkPress, ComposedPress, + CriticalAdaKVPress, + CriticalKVPress, KeyRerotationPress, KnormPress, ObservedAttentionPress, ScorerPress, + SnapKVPress, ThinKPress, ) from tests.default_presses import default_presses @@ -43,9 +45,22 @@ def test_chunk_press(unit_test_model): # noqa: F811 assert cache.get_seq_length() == 128 +def test_chunkkv_press(unit_test_model): # noqa: F811 + press = SnapKVPress(compression_ratio=0.5) + for chunk_length in [2, 4, 8, 128]: + composed_press = ChunkKVPress(press=press, chunk_length=chunk_length) + with composed_press(unit_test_model): + input_ids = torch.randint(0, 1024, (1, 256)) + cache = DynamicCache() + unit_test_model(input_ids, past_key_values=cache).past_key_values + assert cache.get_seq_length() == 128 + + @pytest.mark.parametrize("press_dict", default_presses) -@pytest.mark.parametrize("wrapper_press", [None, ComposedPress, KeyRerotationPress, AdaKVPress, ChunkPress, - CriticalKVPress, CriticalAdaKVPress]) +@pytest.mark.parametrize( + "wrapper_press", + [None, ComposedPress, KeyRerotationPress, AdaKVPress, ChunkPress, CriticalKVPress, CriticalAdaKVPress], +) def test_presses_run(unit_test_model, press_dict, wrapper_press): # noqa: F811 cls = press_dict["cls"] for kwargs in press_dict["kwargs"]: From 48270faac967abf4e47cfce9eec13192f35f87bb Mon Sep 17 00:00:00 2001 From: Nathan Date: Mon, 10 Mar 2025 19:05:28 +0100 Subject: [PATCH 06/12] fix style Signed-off-by: Nathan --- kvpress/__init__.py | 1 - kvpress/presses/qfilter_press.py | 39 +++++++++++++++----------------- 2 files changed, 18 insertions(+), 22 deletions(-) diff --git a/kvpress/__init__.py b/kvpress/__init__.py index e82d3d7d..50d0dce1 100644 --- a/kvpress/__init__.py +++ b/kvpress/__init__.py @@ -23,7 +23,6 @@ from kvpress.presses.streaming_llm_press import StreamingLLMPress from kvpress.presses.think_press import ThinKPress from kvpress.presses.tova_press import TOVAPress -from kvpress.presses.criticalkv_press import CriticalKVPress, CriticalAdaKVPress from kvpress.presses.qfilter_press import QFilterPress from kvpress.presses.duo_attention_press import DuoAttentionPress diff --git a/kvpress/presses/qfilter_press.py b/kvpress/presses/qfilter_press.py index e9bec856..3d56a3f2 100644 --- a/kvpress/presses/qfilter_press.py +++ b/kvpress/presses/qfilter_press.py @@ -13,14 +13,11 @@ from typing import Generator -import torch -from torch import nn from transformers import ( LlamaForCausalLM, MistralForCausalLM, Phi3ForCausalLM, PreTrainedModel, - QuantizedCache, Qwen2ForCausalLM, ) @@ -29,11 +26,13 @@ QFILTERS_COLLECTION = "nthngdy/q-filters-67a4994dcb302a3d37f3d119" + def get_model_name(model_id: str) -> str: """Extract model name from model_id.""" model_name = model_id.split("/")[-1].replace("_qfilt", "") return model_name + def check_q_filters_available(model_name: str) -> bool: """Check if pre-trained QFilters are available for download for a specific model.""" collection = get_collection(QFILTERS_COLLECTION) @@ -42,23 +41,23 @@ def check_q_filters_available(model_name: str) -> bool: class QFilters(torch.nn.Module, PyTorchModelHubMixin): - """Learnable Q-filters for KV cache pruning.""" + """Learnable Q-filters for KV cache pruning. (https://arxiv.org/abs/2503.02812)""" def __init__( self, num_layers: int, - num_kv_heads: int, + num_kv_heads: int, kv_head_dim: int, model_name: str = None ): super().__init__() self.q_filters = torch.nn.Parameter(torch.randn(num_layers, num_kv_heads, kv_head_dim)) self.model_name = get_model_name(model_name) if model_name else None - + @classmethod def from_pretrained(cls, pretrained_model_name_or_path, *model_args, **kwargs): # we always keep a copy of the model name in the filters filters = super().from_pretrained(pretrained_model_name_or_path, *model_args, **kwargs) - filters.model_name = get_model_name(pretrained_model_name_or_path) + filters.model_name = get_model_name(pretrained_model_name_or_path) return filters # representation of this object @@ -66,13 +65,12 @@ def __repr__(self): return f"QFilters(model_name={self.model_name})" - @dataclass class QFilterPress(ScorerPress): """Prune KV pairs with Q-filters""" - _q_filters: QFilters = None + _q_filters: QFilters = None model_id: str = None - + def __post_init__(self): if self._q_filters is None and self.model_id is not None: model_name = get_model_name(self.model_id) @@ -92,12 +90,10 @@ def q_filters(self) -> QFilters: "2. Download QFilterPress and set them with press.qfilters = your_filters\n" ) return self._q_filters - @q_filters.setter def q_filters(self, value: QFilters): self._q_filters = value - def _load_filters_for_model(self, model_name: str) -> None: """Load filters for a specific model from the hub.""" @@ -106,11 +102,13 @@ def _load_filters_for_model(self, model_name: str) -> None: self._q_filters = QFilters.from_pretrained(f"nthngdy/{model_name}_qfilt") except Exception as e: if not check_q_filters_available(model_name): - logger.error(f"QFilters not available for {model_name}. To use QFilters from another model, set q_filters manually.") + logger.error( + f"QFilters not available for {model_name}. To use QFilters from another\ + model, set q_filters manually." + ) else: logger.error(f"Unable to load QFilters for {model_name}: {e}") - def score( self, module: nn.Module, @@ -129,12 +127,11 @@ def score( device=keys.device, dtype=keys.dtype ) - + # Compute score by projecting keys onto the filter - scores = -(layer_filter[None,:,None] * keys).sum(dim=-1) + scores = -(layer_filter[None, :, None] * keys).sum(dim=-1) return scores - - + @contextmanager def __call__(self, model: PreTrainedModel) -> Generator: """ @@ -154,14 +151,14 @@ def __call__(self, model: PreTrainedModel) -> Generator: if not isinstance(model, (LlamaForCausalLM, MistralForCausalLM, Phi3ForCausalLM, Qwen2ForCausalLM)): logger.warning(f"Model {type(model)} not tested") - + if self._q_filters is None: try: model_name = get_model_name(model.config.name_or_path) self._load_filters_for_model(model_name) except AttributeError: raise ValueError("Unable to infer model type. Please provide path to download Qfilters.") - + model_name = get_model_name(model.config.name_or_path) if self.q_filters.model_name != model_name: logger.warning(f"Using QFilters from {self.q_filters.model_name} for {model_name}.") @@ -196,7 +193,7 @@ def __call__(self, model: PreTrainedModel) -> Generator: # run inference with the model ... - + # Option 3: use pre-loaded QFilters q_filters = QFilters.from_pretrained("nthngdy/llama-3.2-1b_qfilt") press = QFilterPress() From dbfc37408296fa7621e4433a846ed1d224661a8f Mon Sep 17 00:00:00 2001 From: alessiodevoto Date: Mon, 17 Feb 2025 12:55:04 +0100 Subject: [PATCH 07/12] qfilters_press Signed-off-by: Nathan --- kvpress/presses/qfilter_press.py | 78 ++++++++++++++++++++++++++++++++ tests/default_presses.py | 3 ++ 2 files changed, 81 insertions(+) diff --git a/kvpress/presses/qfilter_press.py b/kvpress/presses/qfilter_press.py index 3d56a3f2..b59783b1 100644 --- a/kvpress/presses/qfilter_press.py +++ b/kvpress/presses/qfilter_press.py @@ -13,11 +13,20 @@ from typing import Generator +<<<<<<< HEAD +======= +import torch +from torch import nn +>>>>>>> e2ec3bd (qfilters_press) from transformers import ( LlamaForCausalLM, MistralForCausalLM, Phi3ForCausalLM, PreTrainedModel, +<<<<<<< HEAD +======= + QuantizedCache, +>>>>>>> e2ec3bd (qfilters_press) Qwen2ForCausalLM, ) @@ -26,13 +35,19 @@ QFILTERS_COLLECTION = "nthngdy/q-filters-67a4994dcb302a3d37f3d119" +<<<<<<< HEAD +======= +>>>>>>> e2ec3bd (qfilters_press) def get_model_name(model_id: str) -> str: """Extract model name from model_id.""" model_name = model_id.split("/")[-1].replace("_qfilt", "") return model_name +<<<<<<< HEAD +======= +>>>>>>> e2ec3bd (qfilters_press) def check_q_filters_available(model_name: str) -> bool: """Check if pre-trained QFilters are available for download for a specific model.""" collection = get_collection(QFILTERS_COLLECTION) @@ -41,23 +56,39 @@ def check_q_filters_available(model_name: str) -> bool: class QFilters(torch.nn.Module, PyTorchModelHubMixin): +<<<<<<< HEAD """Learnable Q-filters for KV cache pruning. (https://arxiv.org/abs/2503.02812)""" def __init__( self, num_layers: int, num_kv_heads: int, +======= + """Learnable Q-filters for KV cache pruning.""" + def __init__( + self, + num_layers: int, + num_kv_heads: int, +>>>>>>> e2ec3bd (qfilters_press) kv_head_dim: int, model_name: str = None ): super().__init__() self.q_filters = torch.nn.Parameter(torch.randn(num_layers, num_kv_heads, kv_head_dim)) self.model_name = get_model_name(model_name) if model_name else None +<<<<<<< HEAD +======= + +>>>>>>> e2ec3bd (qfilters_press) @classmethod def from_pretrained(cls, pretrained_model_name_or_path, *model_args, **kwargs): # we always keep a copy of the model name in the filters filters = super().from_pretrained(pretrained_model_name_or_path, *model_args, **kwargs) +<<<<<<< HEAD filters.model_name = get_model_name(pretrained_model_name_or_path) +======= + filters.model_name = get_model_name(pretrained_model_name_or_path) +>>>>>>> e2ec3bd (qfilters_press) return filters # representation of this object @@ -65,12 +96,22 @@ def __repr__(self): return f"QFilters(model_name={self.model_name})" +<<<<<<< HEAD @dataclass class QFilterPress(ScorerPress): """Prune KV pairs with Q-filters""" _q_filters: QFilters = None model_id: str = None +======= + +@dataclass +class QFilterPress(ScorerPress): + """Prune KV pairs with Q-filters""" + _q_filters: QFilters = None + model_id: str = None + +>>>>>>> e2ec3bd (qfilters_press) def __post_init__(self): if self._q_filters is None and self.model_id is not None: model_name = get_model_name(self.model_id) @@ -90,10 +131,18 @@ def q_filters(self) -> QFilters: "2. Download QFilterPress and set them with press.qfilters = your_filters\n" ) return self._q_filters +<<<<<<< HEAD +======= + +>>>>>>> e2ec3bd (qfilters_press) @q_filters.setter def q_filters(self, value: QFilters): self._q_filters = value +<<<<<<< HEAD +======= + +>>>>>>> e2ec3bd (qfilters_press) def _load_filters_for_model(self, model_name: str) -> None: """Load filters for a specific model from the hub.""" @@ -102,6 +151,7 @@ def _load_filters_for_model(self, model_name: str) -> None: self._q_filters = QFilters.from_pretrained(f"nthngdy/{model_name}_qfilt") except Exception as e: if not check_q_filters_available(model_name): +<<<<<<< HEAD logger.error( f"QFilters not available for {model_name}. To use QFilters from another\ model, set q_filters manually." @@ -109,6 +159,13 @@ def _load_filters_for_model(self, model_name: str) -> None: else: logger.error(f"Unable to load QFilters for {model_name}: {e}") +======= + logger.error(f"QFilters not available for {model_name}. To use QFilters from another model, set q_filters manually.") + else: + logger.error(f"Unable to load QFilters for {model_name}: {e}") + + +>>>>>>> e2ec3bd (qfilters_press) def score( self, module: nn.Module, @@ -127,11 +184,20 @@ def score( device=keys.device, dtype=keys.dtype ) +<<<<<<< HEAD # Compute score by projecting keys onto the filter scores = -(layer_filter[None, :, None] * keys).sum(dim=-1) return scores +======= + + # Compute score by projecting keys onto the filter + scores = -(layer_filter[None,:,None] * keys).sum(dim=-1) + return scores + + +>>>>>>> e2ec3bd (qfilters_press) @contextmanager def __call__(self, model: PreTrainedModel) -> Generator: """ @@ -151,14 +217,22 @@ def __call__(self, model: PreTrainedModel) -> Generator: if not isinstance(model, (LlamaForCausalLM, MistralForCausalLM, Phi3ForCausalLM, Qwen2ForCausalLM)): logger.warning(f"Model {type(model)} not tested") +<<<<<<< HEAD +======= + +>>>>>>> e2ec3bd (qfilters_press) if self._q_filters is None: try: model_name = get_model_name(model.config.name_or_path) self._load_filters_for_model(model_name) except AttributeError: raise ValueError("Unable to infer model type. Please provide path to download Qfilters.") +<<<<<<< HEAD +======= + +>>>>>>> e2ec3bd (qfilters_press) model_name = get_model_name(model.config.name_or_path) if self.q_filters.model_name != model_name: logger.warning(f"Using QFilters from {self.q_filters.model_name} for {model_name}.") @@ -193,7 +267,11 @@ def __call__(self, model: PreTrainedModel) -> Generator: # run inference with the model ... +<<<<<<< HEAD +======= + +>>>>>>> e2ec3bd (qfilters_press) # Option 3: use pre-loaded QFilters q_filters = QFilters.from_pretrained("nthngdy/llama-3.2-1b_qfilt") press = QFilterPress() diff --git a/tests/default_presses.py b/tests/default_presses.py index 705321d1..30cf136a 100644 --- a/tests/default_presses.py +++ b/tests/default_presses.py @@ -14,7 +14,10 @@ ThinKPress, TOVAPress, QFilterPress, +<<<<<<< HEAD DuoAttentionPress, +======= +>>>>>>> e2ec3bd (qfilters_press) ) From 8fc790e3d46347fbcc60e1d9bfd4b8fe00fc7d17 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Simon=20J=C3=A9gou?= Date: Tue, 18 Feb 2025 17:50:52 +0100 Subject: [PATCH 08/12] Add DuoAttentionPress (#50) * Add DuoAttentionPress * Fix tests and compression_ratio * Address feedback * Update plot * Update version Signed-off-by: Nathan --- evaluation/evaluate.py | 4 ++++ kvpress/__init__.py | 3 +++ kvpress/presses/duo_attention_press.py | 14 ++++++++++++++ tests/default_presses.py | 3 --- tests/presses/test_duo_attention_press.py | 4 ++++ 5 files changed, 25 insertions(+), 3 deletions(-) diff --git a/evaluation/evaluate.py b/evaluation/evaluate.py index d06b5668..4476fa71 100644 --- a/evaluation/evaluate.py +++ b/evaluation/evaluate.py @@ -30,6 +30,7 @@ StreamingLLMPress, ThinKPress, TOVAPress, + DuoAttentionPress, ) logger = logging.getLogger(__name__) @@ -65,7 +66,10 @@ "think": ThinKPress(), "tova": TOVAPress(), "duo_attention": DuoAttentionPress(), +<<<<<<< HEAD "chunkkv": ChunkKVPress(press=SnapKVPress(), chunk_length=20), +======= +>>>>>>> dbe7b42 (Add DuoAttentionPress (#50)) } diff --git a/kvpress/__init__.py b/kvpress/__init__.py index 50d0dce1..57501d2b 100644 --- a/kvpress/__init__.py +++ b/kvpress/__init__.py @@ -50,5 +50,8 @@ "KeyRerotationPress", "ChunkPress", "DuoAttentionPress", +<<<<<<< HEAD "ChunkKVPress", +======= +>>>>>>> dbe7b42 (Add DuoAttentionPress (#50)) ] diff --git a/kvpress/presses/duo_attention_press.py b/kvpress/presses/duo_attention_press.py index c48c2e27..83ba6ac5 100644 --- a/kvpress/presses/duo_attention_press.py +++ b/kvpress/presses/duo_attention_press.py @@ -1,6 +1,7 @@ # SPDX-FileCopyrightText: Copyright (c) 1993-2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 +<<<<<<< HEAD from contextlib import contextmanager from dataclasses import dataclass, field from io import StringIO @@ -11,6 +12,19 @@ from kvpress.presses.base_press import BasePress +======= +from io import StringIO +from dataclasses import dataclass, field +from contextlib import contextmanager + +import torch +import requests # type: ignore[import-untyped] +import numpy as np + +from kvpress.presses.base_press import BasePress + + +>>>>>>> dbe7b42 (Add DuoAttentionPress (#50)) PATTERNS_DICT = { "togethercomputer/Llama-2-7B-32K-Instruct": "Llama-2-7B-32K-Instruct/lr%3D0.02-reg%3D0.05-ctx%3D1000_32000-multi_passkey10", # noqa: E501 "gradientai//Llama-3-8B-Instruct-Gradient-1048k": "Llama-3-8B-Instruct-Gradient-1048k/lr%3D0.02-reg%3D0.05-ctx%3D1000_32000-multi_passkey10", # noqa: E501 diff --git a/tests/default_presses.py b/tests/default_presses.py index 30cf136a..705321d1 100644 --- a/tests/default_presses.py +++ b/tests/default_presses.py @@ -14,10 +14,7 @@ ThinKPress, TOVAPress, QFilterPress, -<<<<<<< HEAD DuoAttentionPress, -======= ->>>>>>> e2ec3bd (qfilters_press) ) diff --git a/tests/presses/test_duo_attention_press.py b/tests/presses/test_duo_attention_press.py index 78325801..e5a11364 100644 --- a/tests/presses/test_duo_attention_press.py +++ b/tests/presses/test_duo_attention_press.py @@ -1,4 +1,8 @@ +<<<<<<< HEAD from kvpress.presses.duo_attention_press import PATTERNS_DICT, DuoAttentionPress +======= +from kvpress.presses.duo_attention_press import DuoAttentionPress, PATTERNS_DICT +>>>>>>> dbe7b42 (Add DuoAttentionPress (#50)) def test_load_attention_pattern(): From 850e10700e2a00269e000aaeaec776047e47a2cc Mon Sep 17 00:00:00 2001 From: Xiang LIU <47224289+Dominic789654@users.noreply.github.com> Date: Wed, 5 Mar 2025 23:43:30 +0800 Subject: [PATCH 09/12] add ChunkKV Signed-off-by: Nathan --- evaluation/evaluate.py | 5 ++++- kvpress/__init__.py | 3 --- kvpress/presses/duo_attention_press.py | 12 ++++++++++-- tests/presses/test_duo_attention_press.py | 4 ---- 4 files changed, 14 insertions(+), 10 deletions(-) diff --git a/evaluation/evaluate.py b/evaluation/evaluate.py index 4476fa71..5b3f9265 100644 --- a/evaluation/evaluate.py +++ b/evaluation/evaluate.py @@ -30,7 +30,6 @@ StreamingLLMPress, ThinKPress, TOVAPress, - DuoAttentionPress, ) logger = logging.getLogger(__name__) @@ -66,10 +65,14 @@ "think": ThinKPress(), "tova": TOVAPress(), "duo_attention": DuoAttentionPress(), +<<<<<<< HEAD <<<<<<< HEAD "chunkkv": ChunkKVPress(press=SnapKVPress(), chunk_length=20), ======= >>>>>>> dbe7b42 (Add DuoAttentionPress (#50)) +======= + "chunkkv": ChunkKVPress(press=SnapKVPress(), chunk_length=20), +>>>>>>> 2d01af7 (add ChunkKV) } diff --git a/kvpress/__init__.py b/kvpress/__init__.py index 57501d2b..50d0dce1 100644 --- a/kvpress/__init__.py +++ b/kvpress/__init__.py @@ -50,8 +50,5 @@ "KeyRerotationPress", "ChunkPress", "DuoAttentionPress", -<<<<<<< HEAD "ChunkKVPress", -======= ->>>>>>> dbe7b42 (Add DuoAttentionPress (#50)) ] diff --git a/kvpress/presses/duo_attention_press.py b/kvpress/presses/duo_attention_press.py index 83ba6ac5..0085f7ac 100644 --- a/kvpress/presses/duo_attention_press.py +++ b/kvpress/presses/duo_attention_press.py @@ -1,6 +1,7 @@ # SPDX-FileCopyrightText: Copyright (c) 1993-2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 +<<<<<<< HEAD <<<<<<< HEAD from contextlib import contextmanager from dataclasses import dataclass, field @@ -15,16 +16,23 @@ ======= from io import StringIO from dataclasses import dataclass, field +======= +>>>>>>> 2d01af7 (add ChunkKV) from contextlib import contextmanager +from dataclasses import dataclass, field +from io import StringIO -import torch -import requests # type: ignore[import-untyped] import numpy as np +import requests # type: ignore[import-untyped] +import torch from kvpress.presses.base_press import BasePress +<<<<<<< HEAD >>>>>>> dbe7b42 (Add DuoAttentionPress (#50)) +======= +>>>>>>> 2d01af7 (add ChunkKV) PATTERNS_DICT = { "togethercomputer/Llama-2-7B-32K-Instruct": "Llama-2-7B-32K-Instruct/lr%3D0.02-reg%3D0.05-ctx%3D1000_32000-multi_passkey10", # noqa: E501 "gradientai//Llama-3-8B-Instruct-Gradient-1048k": "Llama-3-8B-Instruct-Gradient-1048k/lr%3D0.02-reg%3D0.05-ctx%3D1000_32000-multi_passkey10", # noqa: E501 diff --git a/tests/presses/test_duo_attention_press.py b/tests/presses/test_duo_attention_press.py index e5a11364..78325801 100644 --- a/tests/presses/test_duo_attention_press.py +++ b/tests/presses/test_duo_attention_press.py @@ -1,8 +1,4 @@ -<<<<<<< HEAD from kvpress.presses.duo_attention_press import PATTERNS_DICT, DuoAttentionPress -======= -from kvpress.presses.duo_attention_press import DuoAttentionPress, PATTERNS_DICT ->>>>>>> dbe7b42 (Add DuoAttentionPress (#50)) def test_load_attention_pattern(): From 4888dca022eeb1f775f9befee5aa40839d673e41 Mon Sep 17 00:00:00 2001 From: Nathan Date: Mon, 10 Mar 2025 19:05:28 +0100 Subject: [PATCH 10/12] fix style Signed-off-by: Nathan --- kvpress/presses/qfilter_press.py | 78 -------------------------------- 1 file changed, 78 deletions(-) diff --git a/kvpress/presses/qfilter_press.py b/kvpress/presses/qfilter_press.py index b59783b1..3d56a3f2 100644 --- a/kvpress/presses/qfilter_press.py +++ b/kvpress/presses/qfilter_press.py @@ -13,20 +13,11 @@ from typing import Generator -<<<<<<< HEAD -======= -import torch -from torch import nn ->>>>>>> e2ec3bd (qfilters_press) from transformers import ( LlamaForCausalLM, MistralForCausalLM, Phi3ForCausalLM, PreTrainedModel, -<<<<<<< HEAD -======= - QuantizedCache, ->>>>>>> e2ec3bd (qfilters_press) Qwen2ForCausalLM, ) @@ -35,19 +26,13 @@ QFILTERS_COLLECTION = "nthngdy/q-filters-67a4994dcb302a3d37f3d119" -<<<<<<< HEAD -======= ->>>>>>> e2ec3bd (qfilters_press) def get_model_name(model_id: str) -> str: """Extract model name from model_id.""" model_name = model_id.split("/")[-1].replace("_qfilt", "") return model_name -<<<<<<< HEAD -======= ->>>>>>> e2ec3bd (qfilters_press) def check_q_filters_available(model_name: str) -> bool: """Check if pre-trained QFilters are available for download for a specific model.""" collection = get_collection(QFILTERS_COLLECTION) @@ -56,39 +41,23 @@ def check_q_filters_available(model_name: str) -> bool: class QFilters(torch.nn.Module, PyTorchModelHubMixin): -<<<<<<< HEAD """Learnable Q-filters for KV cache pruning. (https://arxiv.org/abs/2503.02812)""" def __init__( self, num_layers: int, num_kv_heads: int, -======= - """Learnable Q-filters for KV cache pruning.""" - def __init__( - self, - num_layers: int, - num_kv_heads: int, ->>>>>>> e2ec3bd (qfilters_press) kv_head_dim: int, model_name: str = None ): super().__init__() self.q_filters = torch.nn.Parameter(torch.randn(num_layers, num_kv_heads, kv_head_dim)) self.model_name = get_model_name(model_name) if model_name else None -<<<<<<< HEAD -======= - ->>>>>>> e2ec3bd (qfilters_press) @classmethod def from_pretrained(cls, pretrained_model_name_or_path, *model_args, **kwargs): # we always keep a copy of the model name in the filters filters = super().from_pretrained(pretrained_model_name_or_path, *model_args, **kwargs) -<<<<<<< HEAD filters.model_name = get_model_name(pretrained_model_name_or_path) -======= - filters.model_name = get_model_name(pretrained_model_name_or_path) ->>>>>>> e2ec3bd (qfilters_press) return filters # representation of this object @@ -96,22 +65,12 @@ def __repr__(self): return f"QFilters(model_name={self.model_name})" -<<<<<<< HEAD @dataclass class QFilterPress(ScorerPress): """Prune KV pairs with Q-filters""" _q_filters: QFilters = None model_id: str = None -======= - -@dataclass -class QFilterPress(ScorerPress): - """Prune KV pairs with Q-filters""" - _q_filters: QFilters = None - model_id: str = None - ->>>>>>> e2ec3bd (qfilters_press) def __post_init__(self): if self._q_filters is None and self.model_id is not None: model_name = get_model_name(self.model_id) @@ -131,18 +90,10 @@ def q_filters(self) -> QFilters: "2. Download QFilterPress and set them with press.qfilters = your_filters\n" ) return self._q_filters -<<<<<<< HEAD -======= - ->>>>>>> e2ec3bd (qfilters_press) @q_filters.setter def q_filters(self, value: QFilters): self._q_filters = value -<<<<<<< HEAD -======= - ->>>>>>> e2ec3bd (qfilters_press) def _load_filters_for_model(self, model_name: str) -> None: """Load filters for a specific model from the hub.""" @@ -151,7 +102,6 @@ def _load_filters_for_model(self, model_name: str) -> None: self._q_filters = QFilters.from_pretrained(f"nthngdy/{model_name}_qfilt") except Exception as e: if not check_q_filters_available(model_name): -<<<<<<< HEAD logger.error( f"QFilters not available for {model_name}. To use QFilters from another\ model, set q_filters manually." @@ -159,13 +109,6 @@ def _load_filters_for_model(self, model_name: str) -> None: else: logger.error(f"Unable to load QFilters for {model_name}: {e}") -======= - logger.error(f"QFilters not available for {model_name}. To use QFilters from another model, set q_filters manually.") - else: - logger.error(f"Unable to load QFilters for {model_name}: {e}") - - ->>>>>>> e2ec3bd (qfilters_press) def score( self, module: nn.Module, @@ -184,20 +127,11 @@ def score( device=keys.device, dtype=keys.dtype ) -<<<<<<< HEAD # Compute score by projecting keys onto the filter scores = -(layer_filter[None, :, None] * keys).sum(dim=-1) return scores -======= - - # Compute score by projecting keys onto the filter - scores = -(layer_filter[None,:,None] * keys).sum(dim=-1) - return scores - - ->>>>>>> e2ec3bd (qfilters_press) @contextmanager def __call__(self, model: PreTrainedModel) -> Generator: """ @@ -217,22 +151,14 @@ def __call__(self, model: PreTrainedModel) -> Generator: if not isinstance(model, (LlamaForCausalLM, MistralForCausalLM, Phi3ForCausalLM, Qwen2ForCausalLM)): logger.warning(f"Model {type(model)} not tested") -<<<<<<< HEAD -======= - ->>>>>>> e2ec3bd (qfilters_press) if self._q_filters is None: try: model_name = get_model_name(model.config.name_or_path) self._load_filters_for_model(model_name) except AttributeError: raise ValueError("Unable to infer model type. Please provide path to download Qfilters.") -<<<<<<< HEAD -======= - ->>>>>>> e2ec3bd (qfilters_press) model_name = get_model_name(model.config.name_or_path) if self.q_filters.model_name != model_name: logger.warning(f"Using QFilters from {self.q_filters.model_name} for {model_name}.") @@ -267,11 +193,7 @@ def __call__(self, model: PreTrainedModel) -> Generator: # run inference with the model ... -<<<<<<< HEAD -======= - ->>>>>>> e2ec3bd (qfilters_press) # Option 3: use pre-loaded QFilters q_filters = QFilters.from_pretrained("nthngdy/llama-3.2-1b_qfilt") press = QFilterPress() From 3bb4077e938e2af90f30da53700f14cf60f1786d Mon Sep 17 00:00:00 2001 From: Nathan Date: Wed, 12 Mar 2025 14:07:29 +0100 Subject: [PATCH 11/12] implement discussion suggestions Signed-off-by: Nathan --- README.md | 3 +- kvpress/__init__.py | 2 +- kvpress/presses/duo_attention_press.py | 12 -- kvpress/presses/qfilter_press.py | 201 ++++--------------------- tests/default_presses.py | 1 - tests/presses/test_qfilters_press.py | 8 + 6 files changed, 38 insertions(+), 189 deletions(-) create mode 100644 tests/presses/test_qfilters_press.py diff --git a/README.md b/README.md index a1ad27cb..25ce351c 100644 --- a/README.md +++ b/README.md @@ -66,6 +66,7 @@ Several presses inherit from `ScorerPress` ([source](kvpress/presses/scorer_pres - `StreamingLLMPress` ([source](kvpress/presses/streaming_llm_press.py), [paper](https://arxiv.org/abs/2309.17453)): keep only the initial and recent tokens - `TOVAPress` ([source](kvpress/presses/tova_press.py), [paper](https://arxiv.org/abs/2401.06104)): attention weight of the last query averaged across heads - `ObservedAttentionPress` ([source](kvpress/presses/observed_attention_press.py), [paper](https://arxiv.org/abs/2306.14048)): average attention weight observed during in pre-filling phase +- `QFilterPress`: project the Key representations on the main SVD component of the Query vectors to approximate the attention scores. ([source](kvpress/presses/qfilter_press.py), [paper](https://arxiv.org/abs/2503.02812)) Some presses rely on a different logic: - `ThinKPress` ([source](kvpress/presses/think_press.py), [paper](https://arxiv.org/pdf/2407.21018)): compress the dimensions of the keys based on the channel attention score on the last queries @@ -80,7 +81,7 @@ Finally we provide wrapper presses that can be combined with other presses: - `ChunkKVPress` ([source](kvpress/presses/chunkkv_press.py), [paper](https://arxiv.org/abs/2502.00299)): compresses by selecting important chunks, preserving semantic coherence - `ChunkPress` ([source](kvpress/presses/chunk_press.py), [paper](https://direct.mit.edu/tacl/article/doi/10.1162/tacl_a_00716/125280)): compress the KV cache on each sequence chunk separately. This can yield to more uniform compression across long sequences - `CriticalKVPress` and `CriticalAdaKVPress` ([source](kvpress/presses/criticalkv_press.py), [paper](https://arxiv.org/abs/2502.03805)): refine the scores using the L1 norm of Wo @ values, coupled with a two-stage selection. -- `QFilterPress`: project the Key representations on the main SVD component of the Query vectors to approximate the attention scores. [paper]() + For a detailed list of existing KV cache compression methods, check [Awesome-KV-Cache-Compression](https://github.com/October2001/Awesome-KV-Cache-Compression) or [Awesome-LLM-Compression](https://github.com/HuangOwen/Awesome-LLM-Compression?tab=readme-ov-file#kv-cache-compression) diff --git a/kvpress/__init__.py b/kvpress/__init__.py index 50d0dce1..96be3639 100644 --- a/kvpress/__init__.py +++ b/kvpress/__init__.py @@ -24,7 +24,6 @@ from kvpress.presses.think_press import ThinKPress from kvpress.presses.tova_press import TOVAPress from kvpress.presses.qfilter_press import QFilterPress -from kvpress.presses.duo_attention_press import DuoAttentionPress # Patch the attention functions to support head-wise compression patch_attention_functions() @@ -51,4 +50,5 @@ "ChunkPress", "DuoAttentionPress", "ChunkKVPress", + "QFilterPress", ] diff --git a/kvpress/presses/duo_attention_press.py b/kvpress/presses/duo_attention_press.py index 770f5517..2945e806 100644 --- a/kvpress/presses/duo_attention_press.py +++ b/kvpress/presses/duo_attention_press.py @@ -11,18 +11,6 @@ from kvpress.presses.base_press import BasePress -from io import StringIO -from dataclasses import dataclass, field -from contextlib import contextmanager -from dataclasses import dataclass, field -from io import StringIO - -import numpy as np -import requests # type: ignore[import-untyped] -import torch - -from kvpress.presses.base_press import BasePress - PATTERNS_DICT = { "togethercomputer/Llama-2-7B-32K-Instruct": "Llama-2-7B-32K-Instruct/lr%3D0.02-reg%3D0.05-ctx%3D1000_32000-multi_passkey10", # noqa: E501 diff --git a/kvpress/presses/qfilter_press.py b/kvpress/presses/qfilter_press.py index 3d56a3f2..67efd227 100644 --- a/kvpress/presses/qfilter_press.py +++ b/kvpress/presses/qfilter_press.py @@ -5,200 +5,53 @@ from dataclasses import dataclass import torch -from torch import nn - -from kvpress.presses.scorer_press import ScorerPress - from huggingface_hub import PyTorchModelHubMixin, get_collection -from typing import Generator - -from transformers import ( - LlamaForCausalLM, - MistralForCausalLM, - Phi3ForCausalLM, - PreTrainedModel, - Qwen2ForCausalLM, -) - -import logging -logger = logging.getLogger(__name__) - -QFILTERS_COLLECTION = "nthngdy/q-filters-67a4994dcb302a3d37f3d119" - - -def get_model_name(model_id: str) -> str: - """Extract model name from model_id.""" - model_name = model_id.split("/")[-1].replace("_qfilt", "") - return model_name - - -def check_q_filters_available(model_name: str) -> bool: - """Check if pre-trained QFilters are available for download for a specific model.""" - collection = get_collection(QFILTERS_COLLECTION) - available_filters = {get_model_name(x.item_id) for x in collection.items} - return model_name in available_filters +from kvpress.presses.scorer_press import ScorerPress class QFilters(torch.nn.Module, PyTorchModelHubMixin): - """Learnable Q-filters for KV cache pruning. (https://arxiv.org/abs/2503.02812)""" - def __init__( - self, - num_layers: int, - num_kv_heads: int, - kv_head_dim: int, - model_name: str = None - ): + def __init__(self, num_layers: int, num_kv_heads: int, kv_head_dim: int): super().__init__() self.q_filters = torch.nn.Parameter(torch.randn(num_layers, num_kv_heads, kv_head_dim)) - self.model_name = get_model_name(model_name) if model_name else None @classmethod - def from_pretrained(cls, pretrained_model_name_or_path, *model_args, **kwargs): - # we always keep a copy of the model name in the filters - filters = super().from_pretrained(pretrained_model_name_or_path, *model_args, **kwargs) - filters.model_name = get_model_name(pretrained_model_name_or_path) - return filters - - # representation of this object - def __repr__(self): - return f"QFilters(model_name={self.model_name})" + def from_pretrained(cls, pretrained_model_name_or_path): + return super().from_pretrained(pretrained_model_name_or_path) @dataclass class QFilterPress(ScorerPress): - """Prune KV pairs with Q-filters""" - _q_filters: QFilters = None - model_id: str = None + """ + Prune KV pairs with Q-filters + """ - def __post_init__(self): - if self._q_filters is None and self.model_id is not None: - model_name = get_model_name(self.model_id) - self._load_filters_for_model(model_name) - elif self._q_filters is not None and self.model_id is not None: - # make sure that q_filters and model_id are consistent - model_name = get_model_name(self.model_id) - if self._q_filters.model_name != model_name: - logger.warning(f"Using QFilters from {self._q_filters.model_name} for {model_name}.") + def __post_init_from_model__(self, model): + model_name = model.config.name_or_path.split("/")[-1] + self.q_filters = self.load_q_filters(model_name) + self.q_filters.to(model.device, model.dtype) - @property - def q_filters(self) -> QFilters: - if self._q_filters is None: + @staticmethod + def load_q_filters(model_name): + try: + return QFilters.from_pretrained(f"nthngdy/{model_name}_qfilt").q_filters + except TypeError: raise ValueError( - "QFilters are not initialized. Either:\n" - "1. Provide a model_id at initialization to download Qfilters automatically\n" - "2. Download QFilterPress and set them with press.qfilters = your_filters\n" + f"Could not load Q-filters for {model_name}. Available models: {QFilterPress.available_qfilters()}" ) - return self._q_filters - - @q_filters.setter - def q_filters(self, value: QFilters): - self._q_filters = value - - def _load_filters_for_model(self, model_name: str) -> None: - """Load filters for a specific model from the hub.""" - logger.info(f"Loading QFilters for {model_name}") - try: - self._q_filters = QFilters.from_pretrained(f"nthngdy/{model_name}_qfilt") - except Exception as e: - if not check_q_filters_available(model_name): - logger.error( - f"QFilters not available for {model_name}. To use QFilters from another\ - model, set q_filters manually." - ) - else: - logger.error(f"Unable to load QFilters for {model_name}: {e}") - def score( - self, - module: nn.Module, - hidden_states: torch.Tensor, - keys: torch.Tensor, - values: torch.Tensor, - attentions: torch.Tensor, - kwargs, - ) -> torch.Tensor: - """ - Compute a tensor of scores with shape (bsz, num_key_value_heads, q_len) - The KV pairs with lowest scores will be pruned in the `compress` method. - """ - # Get filter for this layer and match device/dtype - layer_filter = self.q_filters.q_filters[module.layer_idx].to( - device=keys.device, - dtype=keys.dtype - ) + @staticmethod + def available_qfilters(): + collection = get_collection("nthngdy/q-filters-67a4994dcb302a3d37f3d119", token=False) + return [x.item_id.split("/")[-1][:-6] for x in collection.items] - # Compute score by projecting keys onto the filter - scores = -(layer_filter[None, :, None] * keys).sum(dim=-1) + def score(self, module, hidden_states, keys, values, attentions, kwargs): + q_filter = self.q_filters[module.layer_idx][None, :, None] + scores = -(q_filter * keys).sum(dim=-1) return scores @contextmanager - def __call__(self, model: PreTrainedModel) -> Generator: - """ - Context manager to apply a compression method to a model. - Apply this context manager during the pre-filling phase to compress the context. - - Parameters - ---------- - model : PreTrainedModel - Model to apply the compression method to - - Raises - ------ - ValueError - If unable to infer model type when q_filters is None - """ - - if not isinstance(model, (LlamaForCausalLM, MistralForCausalLM, Phi3ForCausalLM, Qwen2ForCausalLM)): - logger.warning(f"Model {type(model)} not tested") - - if self._q_filters is None: - try: - model_name = get_model_name(model.config.name_or_path) - self._load_filters_for_model(model_name) - except AttributeError: - raise ValueError("Unable to infer model type. Please provide path to download Qfilters.") - - model_name = get_model_name(model.config.name_or_path) - if self.q_filters.model_name != model_name: - logger.warning(f"Using QFilters from {self.q_filters.model_name} for {model_name}.") - - hooks = [] - try: - for layer in model.model.layers: - layer.self_attn.rotary_emb = model.model.rotary_emb - hooks.append(layer.self_attn.register_forward_hook(self.forward_hook, with_kwargs=True)) + def __call__(self, model): + self.__post_init_from_model__(model) + with super().__call__(model): yield - finally: - for forward_hook in hooks: - forward_hook.remove() - - -""" -Example usage: - -model_id = "meta-llama/Llama-3.2-1B" -unit_test_model = AutoModelForCausalLM.from_pretrained(model_id, torch_dtype=torch.float16).eval().cuda() - -# Option 1: automatically download QFilters for the model on press call -press = QFilterPress(compression_ratio=0.2) -with press(model): - # run inference with the model - ... - - -# Option 2: provide model_id to download QFilters before press call -press = QFilterPress(model_id="meta-llama/Llama-3.2-1B") -with press: - # run inference with the model - ... - - -# Option 3: use pre-loaded QFilters -q_filters = QFilters.from_pretrained("nthngdy/llama-3.2-1b_qfilt") -press = QFilterPress() -press.q_filters = q_filters -with press: - # run inference with the model - ... -""" diff --git a/tests/default_presses.py b/tests/default_presses.py index 705321d1..5b1f06dd 100644 --- a/tests/default_presses.py +++ b/tests/default_presses.py @@ -14,7 +14,6 @@ ThinKPress, TOVAPress, QFilterPress, - DuoAttentionPress, ) diff --git a/tests/presses/test_qfilters_press.py b/tests/presses/test_qfilters_press.py new file mode 100644 index 00000000..390412a2 --- /dev/null +++ b/tests/presses/test_qfilters_press.py @@ -0,0 +1,8 @@ +# SPDX-FileCopyrightText: Copyright (c) 1993-2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 +from kvpress.presses.qfilter_press import QFilterPress + + +def test_load_qfilters(): + for model_name in QFilterPress.available_qfilters(): + QFilterPress.load_q_filters(model_name) From 6c6bc0f89f0f667ab5f4ca540f23004cc45d0213 Mon Sep 17 00:00:00 2001 From: Nathan Date: Mon, 17 Mar 2025 10:36:56 +0100 Subject: [PATCH 12/12] copyright + readme + final fixes Signed-off-by: Nathan --- README.md | 2 +- kvpress/presses/duo_attention_press.py | 1 - kvpress/presses/qfilter_press.py | 5 +++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 25ce351c..e120d381 100644 --- a/README.md +++ b/README.md @@ -66,7 +66,7 @@ Several presses inherit from `ScorerPress` ([source](kvpress/presses/scorer_pres - `StreamingLLMPress` ([source](kvpress/presses/streaming_llm_press.py), [paper](https://arxiv.org/abs/2309.17453)): keep only the initial and recent tokens - `TOVAPress` ([source](kvpress/presses/tova_press.py), [paper](https://arxiv.org/abs/2401.06104)): attention weight of the last query averaged across heads - `ObservedAttentionPress` ([source](kvpress/presses/observed_attention_press.py), [paper](https://arxiv.org/abs/2306.14048)): average attention weight observed during in pre-filling phase -- `QFilterPress`: project the Key representations on the main SVD component of the Query vectors to approximate the attention scores. ([source](kvpress/presses/qfilter_press.py), [paper](https://arxiv.org/abs/2503.02812)) +- `QFilterPress` ([source](kvpress/presses/qfilter_press.py), [paper](https://arxiv.org/abs/2503.02812)): project the Key representations on the main SVD component of the Query vectors to approximate the attention scores. Some presses rely on a different logic: - `ThinKPress` ([source](kvpress/presses/think_press.py), [paper](https://arxiv.org/pdf/2407.21018)): compress the dimensions of the keys based on the channel attention score on the last queries diff --git a/kvpress/presses/duo_attention_press.py b/kvpress/presses/duo_attention_press.py index 2945e806..c48c2e27 100644 --- a/kvpress/presses/duo_attention_press.py +++ b/kvpress/presses/duo_attention_press.py @@ -11,7 +11,6 @@ from kvpress.presses.base_press import BasePress - PATTERNS_DICT = { "togethercomputer/Llama-2-7B-32K-Instruct": "Llama-2-7B-32K-Instruct/lr%3D0.02-reg%3D0.05-ctx%3D1000_32000-multi_passkey10", # noqa: E501 "gradientai//Llama-3-8B-Instruct-Gradient-1048k": "Llama-3-8B-Instruct-Gradient-1048k/lr%3D0.02-reg%3D0.05-ctx%3D1000_32000-multi_passkey10", # noqa: E501 diff --git a/kvpress/presses/qfilter_press.py b/kvpress/presses/qfilter_press.py index 67efd227..e1cdd7eb 100644 --- a/kvpress/presses/qfilter_press.py +++ b/kvpress/presses/qfilter_press.py @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: Copyright (c) 1993-2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# SPDX-FileCopyrightText: Copyright (c) 1993-2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 from contextlib import contextmanager @@ -29,7 +29,7 @@ class QFilterPress(ScorerPress): def __post_init_from_model__(self, model): model_name = model.config.name_or_path.split("/")[-1] self.q_filters = self.load_q_filters(model_name) - self.q_filters.to(model.device, model.dtype) + self.q_filters = self.q_filters.to(model.dtype) @staticmethod def load_q_filters(model_name): @@ -47,6 +47,7 @@ def available_qfilters(): def score(self, module, hidden_states, keys, values, attentions, kwargs): q_filter = self.q_filters[module.layer_idx][None, :, None] + q_filter = q_filter.to(keys.device) scores = -(q_filter * keys).sum(dim=-1) return scores

r+!<9|lfm7cxef@6d_NRZxVXuL}41GG*6Drcd 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