From aefcf901d3a43371f3488613d346c2a0e1e6f142 Mon Sep 17 00:00:00 2001 From: Eric Liang Date: Wed, 14 Oct 2020 13:07:23 -0700 Subject: [PATCH] [docs] Add sklearn integration link --- .gitignore | 1 + doc/source/images/scikit.png | Bin 0 -> 62404 bytes doc/source/ray-libraries.rst | 11 +++++++++++ 3 files changed, 12 insertions(+) create mode 100644 doc/source/images/scikit.png diff --git a/.gitignore b/.gitignore index cd34f1061..26dbcda73 100644 --- a/.gitignore +++ b/.gitignore @@ -3,6 +3,7 @@ /python/ray/core /python/ray/pickle5_files/ /python/ray/thirdparty_files/ +/python/ray/pyarrow_files/ /python/ray/jars/ /python/build /python/dist diff --git a/doc/source/images/scikit.png b/doc/source/images/scikit.png new file mode 100644 index 0000000000000000000000000000000000000000..e2a6465466053be1b402af1d4195576544913884 GIT binary patch literal 62404 zcmXt8V{|1=6Tb0{Hnwfs$&EMO*tTuk++btd+}Os(HaEt``tttx&Y3eaeP*VotE!); ztEwwfQC<=e4i^pp03b?BiTwZoz*4{NkAUD`XU`e-rmqWxGe}wm2n4S0D(rkUaa_bT zT$Jt2T-*(vOabP0_O_-B&c;rrrgqL2_AXZtJ%RuLF+f^OM8zZPyvx#gLo1d1#E&sR zL&|Dd`_|M@^WG=(^ApBw*rsHSx3ba6J2OY^vfi-c@yQ2(jPQe;qN_ACr9YN3 zu^xcc8@f;LH(g9_Q$K{My&=C+O4y63{ne-)N$qc0F^blXVF>FL&jBE=duW z|KQCf#oe^qdLfgySK-r-HG$1oISHZ^8+zGKlRt^`8$yjsB@1fLB(PK3@Y+2%J*xautc7Cj1=SJ zv@u25lz=`jGZ;CzVITsKOhevG48TS#f{ehNAiPwMjq>8y$H}eJ#REgtCa4#%AU<%u zIlWcQI=K!1pF&H)YhQwi6SCd0nLNy`;n4CTqQ_#a`!Z#(Tv$$n40U29{u(YUZ%Ok2;0G-U=Kjn~<51tpJClGRHB%3V zBAy`&y{X+Y6spsiGtCOKeHxNu-K)}j!EeD+gG19Ha57-?$=cY|&auC5Nj|rP+*j5W z*D(kp0_)?ekeI6X#e#?v&KXeBAh}P3lTcMa4CtY1<+2kH&BY_*#)U0nT^4G0UOe&l zaP=(lHEJ}Z;>Bv^#Z)xk?Y8Fjp`B0gqjlb*DN z1lTAHWIm&zR}+Th!;H3&SJoaj!^sq{Q1E>KEz+w+w`i5qlv8q4sw@-Y^~XZf_9EIj z(axbIL_ms>R_lu21QnVe>k7Fkd5Z~CVkf|okhq&Ec@jibV297H-1aw+W?o|QJ>F%9 zXKf+z#WxtuMDdN5^hQtz^a|$Lvj@wv2l_BH*AM-NAIx0rU^W`pCCu!A1#T0gv@sRu z$)==M=~(aLL&pwY1}w?LH|m}yKJ+Q?9oIcxT8%5=z41J1!%rM3^G;(? zt~ij7%#DCzWr6A%1db0CJboNPTlx%fnM3&_#jP^-m@yOCvf|epAWYC`!mN?iT1%vD z3Ni?~m-SZ`O-8FQq!u7)L587$ixt3>bA6IxAS?xmE*uQS>OO&Ki%Y+NUpT^g744qW=Z z^i3-u@I(nzObH=S=+mJ9^|ru3^m4|dr7L-rg4UE^2I?_9hT3nmJ{8U$h19ZIFpVC1=>XvrpxZ2^a9%X*_iUA) zc{_@TOuG~n$%{@sdgrxAuZw%sO>{y68Xu?Gcu}Y^+6`O61@aPg*eBS`%Ts2MZ-xoj9ErKOwB^}JB1H;gX+k+sPAM2K% zQj%ewFN5Ev3*WYuSKsXirn`KOyAL~dLec?bv@*;@jP*1qsJwcY^UVu5)o=}W)0b0U z3yvMw)`WOF#tF4-mz!U8cmg$Xh8VUfx(HU`3W(tkI7-k?#nIGTo(}%t>V(xtr!K+Z zEjLFaN-~G*waND|lPEB`>tXar6REHe83Cr8cud$3PS}=5GH;#hEmX$f=_}~~ZKnNG zCR3^%$ra?PUk3z2a3q!s!~CoA>AJE<8GmToUIBnr$TG|X1{gEKdi>HDD(t*hc*~>pepshmSXlEIfyQ1V4 za|jt8a|y46Y*Sw`kD=6{Dq%DG54J$8u9`y@7IG}asFu{lka^3N=ii^tDcUTYyY7|X zefvyi>`NGJJu&Umypk}mRiI3yU2V?POjQYH`0-}+2UnxB!?$G#-vm3fO;^QMYnUm9 zjgAd+=qmX63P|$#-dryg?J@G-zuQ#TAw@Gyz@Z(8jZla1E{T9^^}<3YIOIXm4&wOy zwJc5!KCCov3@%+fuhYzKS>*Q+7~A6>OdQ%kO*Fzg+zd-5QDUYzqp3oRuUFUYyi4D< z{m`%L=QKE<7!ChX$_POWmVkdEYA(;~G{WtOZ@bVyEl|X)s^{R;+V(j$z5Lnq`V_yq zwG7v>6Bo+2^DP0)un`>g%(wFa%W!2OcthoDfDCrjHf=ux#hQd=$RSp+7?y-%hwff> z#?E(E_pUW*&C7Y=ESo1%;!`r`&+?WQw5&38Zl}W_<_(TEEdHs?{hk#K<)Z*mjwcnu z3J0)S=)|nGmC-fdS1~H6MXNXNmwF?8w!NOj7jD*;hv*E7QAY^psb^-@_VV@|GXei2 zZ(1Fd8~`KUUkV-Oyi$C;|MG= zK@@jl+&?3LH1l~J7g@82DD<3uXRI*Rwpalo^Zp!LTX2{ChY2;VJil*b9?23%!IBbB zX(`y0iAN8HB`*6IunIjly?83m%yt_KUrr9U2K?Lac5-WRK1AK(2%3=bpfxJ=G3>jQ^ou8=4hoXb6QDy zHhM%1C~~5OZ161b*&nFjia<{yFCsftUGjou>;78o^A67&Xvn^qVha6W#=)ZYHxlqa zrsy5yB>@YuYa99K35Nzwttq4JdNrMTs?iy_Im7$&nsxx_O)#2vXmoB*Cu|yB|-t~ocD+UEX|G$WlKy^ z3pQ&A?FJ5e>QXrB(I4t22PUjw&7qWHuKDbeh`lHQ)5Qe?5ZC3@2m$)YtQHX})fC1j z=hf5PGIgoxh(wHe1k317hL918IVoh3ISEM%D!k7(CVo$QvqbTa-LLj;pL}bgA>i1E zAY{?nrrzh|x|+<-tPGp~*qXAelobYb;TNuGkyf6BFKT?w^f$jP|7T-2+vC>hZChT$HWQr?}Qjs>Y>Ea@pgTE3hs<<@@P(4x@UCyQ5H_$Wqx|{%f zvIIp@Qvmo6buhv|O`e$SR2;P_Caw6 zH1^vA97^JZMRSJ&c9XI!m+>%#)fWUdxpVs#VC5ir*&~<$e?--%S6j#?%2>XwCA&4d zzjZ!c=6W8xV+)DpL1Q|TlSJBO|3ExqzM>@pKwLPV2h|sU@!gEXgKOAbJ9%&bb=3}? zN3cq1^6}zq^6B;Q>4`L-zo8||4|;4idP^B4|uY zqP0VJ{tR0`zBfPP*g@v5w0_QUK(JC1N&Vpp+bTCyu2mCo7RLD_OtHx-`(v{x_^9X? z)|Ah!Zt}Lf{N(M9Z(u2ew7Hu4Rks^@jbB$X9y`hQ#OBx77`DKI=@vGL<;4pyaSh{+ zxEbOrlHc1tCvLAxtseS+tpe%pzB^Qq(iTAP4RyRmS^DJ2H#Dkqg*y-ENP*kWjk~#- zx^v%j_LbcwR(`0Hf>pzQLz=XjF(0Y+?l|7C6rB?12-4|)w0YeqYY~>*a?4cquc1H@d!}gh+v-X^ z>GihW`3R8;))DJ5XLt^qaR_AzyowM~X9l>9n06d!j7P?N8_k>6x(7T8-U^v82$B6a zbt)aEvlQ*gT%MWIaPv}U{t%XBs51F+``j+y?i^PM;(BwmpaS_ z9FLf~@2T`h?2VDsWvnkRWgE1pN|}y`VU2M$2d72h9}&T78ll8qDvzKIx|n;-hYbE> zZQdtqu0k{hMNt{U&=;xNZlP6w*7eWd{9c&93d^e{^yUzecSC|mQ39!(PNQ;#Xn_Z5 zU0Zq&d-rwuE~mDg%MLiIMH45n$M&Ktej0CD)Q=A&>U#f=-&E$SG=XCwMHK{nHPWhc{ zX3>tx0x8GZTmt7%x@7q~KBDqr#N8eA%(&g2LSOU3Tl@6hAD)yS^4&tLiHusxHG6H} zt8Z@Ml6K|_`;?f7Pg9ur;Fui&m7D~tU(%wDfi~aO5y~3|;)^f@_!>kNl z_bNr?8S{!!I}_C`pKb2%dYJUzx_CXuUpyoa$rmo1i1ZFg(q~b0$x(&TfLFLI&W&qF zT>08K-o4_nLlm{$@HGmKdY_l;kk8vE;(AC0XC(^Y4E0G=#(ZP$Z1wa?ODc4Y%-QmF zXu@a`102OJv#19{DVNm;4Gf{ajwk)If+2~naYH-4t(f0oqmB^g;B1tLN|W`~6h0q! zkv=f2%d}(qaY(Nqn#nq&u{^uFmZr3Yu4=21&gP!p zi?uZhyKI871pWVZ*#GX3xx=nqhSrVOd2c0_1wex=W^>Gd%0+)j35_f{yBdR~DIpU6 zj8NRk=&Y~L=zm3VSiox4T>#*$l(VDe791_X^`9sJwtV=_)c1P+^l-Z}xFsfAVHq3cWe;GZUwpzrz2n%Ne8Xqxu!) zGa>0F8e(0qIgn5UNWkj0dXrSE5Do8BMN|3L==l;U_{A{7nGg1w)KN3+Va#_n z&X3S4029~YX!L><3BOi@loLdZ`rg!QL0WlKdo<%uP3hifgL{cNdRyZ=%N(;!$lfXP zpNc~n<+q#D+K45RNL&%s^Wm&I`K=Uks&d{B54S&ivR!zkM|jLjD3p@w{c|Ql_WDs- z@eE(51VXIEGl}4d6hPP7Egv=VcHwH4sjDVj+turfw+GK}&znA-X|W}oQz#NA9h(oJ zcSFh6oS_!ssF&SsTQb?B?f0O&eY_O49=$K^;>?l9$HNufw)s52(;sM#y7{FU zqYm~q%A0cOrQa@n36}W7iKp5enI~;!%1N_A#wHf@%h9#(lto|E1kPP<7j-r^6r@ zHu@_rZWPB#R~OP|3b~k3yU$0k>IE_>5tPpBr!svuc-^RH^G}^6<4+_Uky!^rm0Nac z=Lc`TR276hrS4XVzontywu_A7JRJONl_A}xDN)o+4PP|uQ}Sy~KYDbpP7heEGrG|v z@NdPRW3aVtEv}nE!)-7+6AG_^8kEqaYQR){A zvLgztXEj0v^3L1QT1ir}7REm=XFJD>RlI*WK6heoK95VxGqX5s{N-N~KORWj{w)wX!EG93Qadc>HV4PW**AD5k-sd)LsL}uA-`J=;TrSjticBLg z+?7i@DTN!1_)z7f9F-ARR76s;wErexct!Ow2W!XFrya5BX<3QCwS%|2mb`Rq7FKw9 zK(A}137Dg9$|$#;yH(XW-#T_NXT=>rAjSx&tI=#PehbC(Ic#~l=eEx+Ti&ic)B+igob^(7>KD7oMm|&@FReh0?`e+f0#BqOi8 zeW~MpGrT!?JzZqVBEqVtM@E!m>bTlBt5vv+ec^TcEXs#8kB*O=!VLg?yP5d_ahnE6 zAz5KILR<(TcEr265%yNqwwWLUR(au_qYKyxzJ7xfbV?iUVkkWzzl@7)N}*VMTD0+b zvlIRqA*o>F$s9M)zphiA-GNxMHWJ#?qV%Q^_<;ifNI+7%Gl;OH_6|j;PHSA;jW)Wv zx$LTCVbR>G$C$CAvcvIo{eqr(7$YxfxN)IhM0QV}g_D-(q$&YNc+aHY%h}kBfA;V^ zXaZy!H@*Of-1sqP3-R6zBU776Y+}L2bap7>{KPKs#v1}&m`IN-f$eHdf$_z{_#{bK z4F@T(uoZ{Z^bLXwA4rSyJ!xOWruNFGshl^d`s=&aJkvz`&_ysOA9(g+1t`p|AJ?*G zHTrfjzQfxcg>uxHIT(go^kgl{r@j7D>ub@!8`SFO6V!H)!3O(vF#YvC`1&$tu$hwpuBC}$=N;cQ)q-}sU^ zqWfZ5!dmSvB_=js!nc3*ZuQZ>Cg+ok{(;KM&54AuJi~@Y8;&ETr*`Bf6)40!=b5qY ziGs7d#4g7?BNmtn2+I(?8epYa9?7_ESSt&&H!C?n62^&0b&o7zMv<3 z_jw!m%o2E~!(?)=+i0eJ^!$@l)r+CgJ@aDT{m?k%9j5on^T|lyLW%-=A(Fq!&b~CQ z@aS)e6~4uoFQJiX*oxXZ2iGBS`yu_K-#%r>-^N1sJ0w8NdMQu9Rw0Kz_oH^c^t119 zzJ3NSIuKS5tT~;yA7V70=UoxOZ_2MG`$>E0<$9;Nf4NaGTBTrS61y##U6=9UZr*qO zbvP>As0h`fR{URWPYV~+7j|p%^YJ7x?Ze|`tAeu%{8`ar=O&L8#<4yfUnV{W_tK;_ z4s@h!T~JVBK!6ez=;mOj=HCVTufKJ5Tg$??s%QRTUd6#L0n2@>8wU5h|Z|8~>_@C%?jn>Gnm)0*~)~ zTlby*V|p?DGf}Yuab5<6oavm;!mUq7TqMdR+_iXOiLM*vp#WxAa}zoDvHIO-|qf4_6!c)^_$y#Q+@@N z)#}-vzsDKxn@1zXEu&H62@NRI1sv61H}P)i6ADTS1goDeXSe$X{`&IO!jQ8fN}?R& zhVF(MdsJYAG@A7-2-%U!%8!f{|4V%f{;PHanV4&#eEG(orD7ae`y?sk(u2^9PYhYI-#f6X+;RHuD-32b8Kl987` ze)~H*NW;we2(m2FC}L%ZA1^%CArNuQzU=vK=En9FOw6FdI_iD7^8OFYM<*jyYedBZ zvM>iasT3Pv692hf#Jy1N6foElO*-{7J7i6Lm0phALOxNakXsyHXCY=sc#8yF_}XwC z)qgT_>)haVBR~u)7G_g7jf<5;O}wK`1r_v=WNSwY{U@hJ?F@q2Qsi*7j|Y&jGYia& zd#7I#g`(Po9$c?;u(cFKX-CTO_2?IBg5%rZW2DWDr};DKzwb;8kTPxDtyz*qM>6_M)>L=4#y0k)s!PhpDWi|A>g|%Ik!ST-$zYwi67CS{4H8 zZ0`(J2b6R;+Q2EnjLQJCFnyMsChi(EE4mUV8s}GxDdHQu8rylryP@N>xrbXd(Z&Zn z)s@nBcy8c*D;D&tS#&&dU1Dl5J(op5#7NQh0aGNJ5z?0b9*~^9Dc?@QS~LEfUy< z1VY22RQR~2eDl*Id^0)p%NL&>SA>9NWJc^-WCIX)=~EooIxzZulEj%rBLU9(4Iz8& z7(&=Pu|?35I$hZSCcFY37=)9<`@ANCW`h4tNZKhtLYs!2C|}(-pOj#9xZ2~f%Lr}S zKlnckMLY5`v`s3BGEny|RyJ`3-T12A+NRd|<#y4vJONK`W#$qrPSqbHK%iCxzD{j$ zb<}jIqQmp2X{$hQjJtHhgZJfgGs-`lUr^9S6oIwMn^UKny7|h7XqG7q>zHc%QWr*- zOUP}W)2{{Qx9-$32$CV^1=oKD>vATCl%b!^ofR92H}7d3twqw>vH$0hx&?u-O5{-L z&2)-a9bKOa`2ASq??|;no08OwAh7F_q>y+_N+#w!WsX zO^iYejuK3zAY-3uAyb4)0*=~Whkl5N*)<%|A438;f6chx8w)>UO2t1@ZJjK@IW*p5>9T6Q`30eNRaqttQZ< zKZZ$Oy!p4)DvTHdw*QCs4MbFrhe5m^r;d{L|5|__D-7aPO18UnMf11+q#J$A{8B0(F(XbIS9D8r@MOPIH66t#R$Bp>luI%-5$l2a`)XF`* zZ$}gl+loSML$;D_pb}bTI2Egk1(jc_yeHdv<@AeOdPo*0gn)3>)eJ0xU8~Kx{&5cc71`StS zBtOmWm*0v44N~?Uzw}1WZ*$m;gcurItG6(wWwfET;xgVDPo@{~6h>9mCMh!Ky>Q*@ zi|oYZL3zoFb&c*Yb;mJ}X&>;lP_IldiS*5ii;d}AKoo4m?e^K${Ux{#(~}pVOytG5 z`Rid{V-qhyJ)*<-@@B&VgNE}*&4$L&zwD#KBirle8};y3o*H+DvZg*oQG$l3z;+w5gS~S+*o|D)pbhYZ7ash(o*9Uj*V~0LWy>)Kt;lpAlIt6%vE^nxRE{x(oH!D)00zop?k&FHgRGD zO19z_yUK>b<@ExLw=%UAj+@u$TyMP2a5SF*GCnMYbYcyNpTC6kyPwWZcV2br8HNMG zEMS!+5HEsehBoJ)gQvC*|25lxj9!TPxYLn!4TStH&=p`j9}R5LCy@f94qHZKRfL7@ zNfIg2*XA{wBZQwEf28E zoP*2DoE<-Jc8uILxcL$W*Zg5WUj|q`FGJ5Mee=xUN1K^3fo0yNCXc@oirO{tQySIv z7;3(lmKDq%a_d9KcCwIbiXoA7#hegIn4KzoOn_pp4z3h}@z)ZAs327Q{k0uV%T%O$ z;mu!T!?YYquv|dX=LNYNkhO@1A{I8i zTgmF*BjIDh^uzuXx7TsJ7TImnJ+dw~yr@VU2uap`i}Fk9^T)4h6gfRrFbZ8%(z(#~ z##KRseV?iJ(A%=zxOMe_DiO z4W~W8N$4cN)75Ron+QZ>r7iTj^FlUo4SWNbp@O}RM%(H9B1dx&$A5v|T~=Db7;!O! zakvX5`Aq`$jS3-QuqL%hx(xNqq}uz8hIE=vUzN5}+@%jSem9MNpvsP$AEY<$3 z2Y$n3aRK#kvJGoXcK_wE8n)BiD7{10Y*=X~*ph%XCk)gTRx%XVh%Y8Iccv6k8eV%O zf7J(&ybQ!9(+H6gjeOQC6%cW*J%6u{S2cB+XD?U0?mZyB=b@W9ucW}HXa6A~u+R(Cv)%njt>61G$rb^;Z_~ubZn2 zjLc$#LFH}CxQ)Qyw?=J+4}U3)TR85Z%h76VmOEj;Z183-KJ~uO#*v%uY&c$CJ=#<= z)l``aFz)p8hszigKu$L_0b}2hleU4M$Q3(&WPkRu?P)VR`|rwwn*`syk2@ECd!{SP z93$$w=CS5B9RNCT&R}UjroVlpe(5fIN79eBp+nLH41l&k&FJI0()nUq(Uuu6YkLcK z5`iGk4NLQ{R3HN9VE1leNgo1b*@UMcpZAqoOR0Ayknd+#aXlBk=kEPeYyI}65JrJbys4nQM@VLf(> zOl=(shdXw!M2C}FT8@!mCY3?%rQLJELHd@)6#wl}L2ab+$U=!=Qti$Zf)1Y~@-pe< z64Q;ouy@+QN|ay>yCEPz%HBwWR>L?j?B7-8p$o2?yF>@yPc2NS$4xI?4&%<>AFFq40te2%7O+ABeB_LBBEGP1T7$c zo81Y4*(MKi;Zu1MN>DtTGW_>24KBp(|wHu@S(-B+>kN5|iK`~fn zd5oVRYx0}C8q7$gdab-Z0m1T^b_lKE;^2uHdzfs1dr2ZXwp3EKbI~9m|Kh+%cVU}E zLAC%tPV-P)`{=F#h%F$nksWijx!Kjh_gjd-x0%n=!~E)_>&68Y&X^=d7Ki@KZISQi zG1un65=rB>-|!aPc|S6)SiG$j*2UiF`cKc(_53=2Sr@W%v(F5Kzwl75-IDvy8X68U zGh3pRF{l!8k$)T$WWFO~la5T2_MSx`z*@{MBDs}|vIjtr5p%Oj?vfu!{GuxZgI59} z!~GM?sE;pkg;+;GL>m`0l;~2fHxzJQdTS=!k<0$k6WRZQnST;8>MPN5H$qN9oP?+d z(YS_$c@e$3H+DB)S{sLCe(1Bvs4ln4-qdRVmwKxM9Fv~N(#^&MBPU9l1_+x$v3vXk z@R4P`&-XVJ7+P&I@cbGTr#CZoT#0F5p7QX|@_&5l^;u!2ZH&{M-k9W+iY5L z?!ZHKCecPqL6npI@pgMMc2_vxP>!1AIZByzF5)0U9z^45g(e<4?Mx2oO1gX>!2khpYgY#l zTZ%p?1+XPv+g*US>$o1mD~yzT{w;kSIShWEe|0b2=3je#=W-|7nz&LJnJ0~bfDf}n zg`#%BT&+9cxM2YqrWJ*(XdB*^R39DgY0&nm+3#s}s zNx93VVW?#uB4>{AfA{ge=aK%&TDtgqw;Df#M8!k6 zLE!&*^5Or!?EiA<-huScZ&!!H0?w)hJ@LvNP?jI^GO&N{cR8|=i#uGALo}_RcTo^{ z$~dB6QKtC&`$*T;7KQIN%$?`Tez8|OQoy~Q7hcXaQjw_8S*LGgFeP(4a#VQyM*yGx z2<3EKPFkt0!O@TIJBOE(M?)_r##Bj3s>&CWlu&xeIucwXX-GqIlOM>p+1~M#?pIJ| zQ$8%~{(2)Nqg8H;cF!JE#U_M-*bONxo;tH==@v@J%$x@X&>?*`os?uZ`Na9y7|DN& zI(}C5lsXJ(p8JN}>Dsyck^+a-0At%dw0tM>_k4&a%I)UYp~oF$R^#Nv8-OFvuhn-T zO&@4qo7#0qCTYIvcDxApWDY+!f2*7fR_FWU846wYbI4r*T0f z^uB% zHRyNxhziRX#A5k(ZBMN<-1{p#W8d(q$S@$zfq<<(nYK!;ly z#n>Qew#JIUoumqgiyIjvAK(R;EroM(#)i12C;^J(vy2-imj@{U-}L=sh7F9RlvswP z4oJ>vl)GXks778JSCiA`g?#R=bGtqNEpAP}JGNvxvfE5R6AWi6EQP^-Ja8ADG|EGt zrjk*htu<&8jyRcFAy(h>Bxw)p*D}pCK5Ja-bsUS1;t#}lw<2UShTX|EOnw?>k8-T-n#3pT(q~edh>!#f%j=5Pkwm%jG0a*(o7L&0HcuwYCFx|v zxc7|vKQbk_Tvy0eoh@|{kX#4RF?qjYBncuv`X4UQ}1rP3!?Tt4@|Co1|Jm z6!f$Lp0024=CA&KPXFE~R5NauB!Ln~!j$P!8m&Ij-26mCv5Rvs*ONi2M8!v;EC@aS z#{Jy7_g|{4%UV=&(;B`CwGfCi`bJ}<<#ZX;r*2(-^YiNp_`1Gq277-Vu1orRGHLV@K&qJaGwZpIbTe5YRHX4Ag;@y@>A$IbrD$Bq1uMO@vG{2Zg zS!EvHptOzns4!v5X-mcf3n7!ifAR#)TbQ`3v!PK1!G;>{jT5+7vS_2PvM|^y9IFyo zisL1-k4N)$K5_sU*G(ERoefk0y20QiSga!}JV_G5#AGkKZgjyuceELer>WLQ^a@GKzA4X{f=fU)iqS35F~3q3j@$`Qj~9;NR6N*Z zF<#;G;B>z~eG^@HdY#+zGEn$;V9dlmgkV2nGyp)Ahgd&!9pcYmR>z~I=X0_5Vqt!D zx0zcLST~VKfZm_ zxOlS&^J;((Z+(`zTJ63Zs!x_oCOLjCq^>a4XI8^YMK@|lh&A<; z9n0Xgl}-Cu=n#5wl@|cHXyBp*w@1$69#=qahOnOyuW90{3e#v1FjB@BDQ@h!Nc%6M`{HX-1NF-v%c| zl1VLlR$GB23IUy%A|HyvKP2 zlX>pSBGSO|(gz||fvNRNNA|osy!gM*5Ow?eHGvdaT;q~t(}e7qK z>3^D6INT$eW-VAfk=LJRUK`){pBs-$KSz4}9)&*cKirWd+<`Fg8qn~*|4M|!i9k5Q ze=JxVbWB};7B3;!TEu=j3f~Ds@?s082lj0wKv4!KNQ4ETQ|@<|c13BeTEGGDI0Wps zU|?e!nd7jLTw0@(-&_iOv|J5und|5fuW9)T z;yld!Yy2g@7xplj#t-e~=&wX`ksv<9+$=jY(rC4Z%VYi3dn5hA-B&pvD!?EG(G&@s zJelvTXo+p+@!?Wv&HIg;dMNpQ@usq(Vx$Af?b26(5Tjft8=s)RKNx1)>5ApbKh!6P zGX)R>N12~Q&{#A!7dH;`u(NAKlvN6cE+lVI4o!o(A9sI0UrTfS ze7tn}+B)_F8L>Ps(H)#$)2{AY_mVEI<*pt^%rZ31XqrJ$(u{E8n?>qWm8S}y9{1~x+U=xD1ku&ZMIOg-&{|jTs9dpd^ zBpWpgXQB607tDmiqxkdb>*6i7%v4+Ymj9FY=Yu{9tN-5N4W00`5`rfo2;1owY{sEx ziYj#pl3&m3i2wBExf6$|CYPaV=5YX-Ha=%1X4Gz9*VuB;SDCWlY9JK9 zhXvV+3gX1T`*GpeKvzdk=EkS)!*xC31`MkSnuff`N4Wo(Lj2rB+C?;#K*s!X)=WGsKagxmis zYeTaE=S@L;YyO7$n7RM^?Qd;1fRQ{@B@N!5j`o+>Z<19isbRhZF=5zA-c6<4p;fbxQr{@goFUxOEI|!-O1B&Z)U_;9`vDMoQ!pg))jB|mv{e}hi)(iwdlh= zavaHdX_kzT4(0XL^=M1GC@R9UV$ks4_c3+UM=^hI7h!w7)=)=XsP!0}adKHsM2V_&2|)!|;XJ=UzX$_H%TT@0MFg z5YuYn)<-Aik<#mJbNZy)obO(Fcz+HBTwH;Oy6LhB=zK&^X~<51JB)f37js2fq*^``IWVugwj~Rnm-mq>`Cx0HUsfFV-A1uhiK?2R>;&m{ zep~S?IhF&Da~(=5bksntpTZ^N)7WC5NuGL)J>YV|H8x!Asc;y4BDN^U=$*)=hI)l< zP!ZaJ7e&bmKg*)a=6w~j5>FZI!L5zP`DXsb0A@{Bd)Z7bQ^|3~EMoZKrQdIVjTp(p zcO+5ZM7!l$FDDTJKlPPBL*XW}s6e*LophH*om6UCa4=u+E7HbC_NtQ`l7$jkNaVM2MSr6LNoICykmGu@+7@tmPP3#eAMXS!!Xi=V68 zT(ii5`Kt6#rIpvucVnM-@!MHh^eZuC_(OTN3(!gg$t($6_#0p(?y zY7>?gXI1ms%9y4Y#bRhJf8n+^>D%Y+ew7!938@gGiYv0~S(^i_#idozQ$2TLEy=B2 zSBxqjo}ZhvCeN(uS=R*H*`7}N>HGYx=*;#QtYac&c- z_g8PU@$+-N-^*MaTRu2Wb@7ysu6(~}9~XQ|Z+*P2exA#Q&Ng4QaCz$8{5=xOs1V1f z@25Vau(({*$t_{RB0?&_8TzP4AOCTCAumfvI3Z(b6V zfq{$cj^`)jUyJ6YOx;g&!#|5tso7HpT+ZU6JN>zsQo__&=PD?sq%-=!-*!njOhQ=Q zAX=bCi`{k+xw*P#3|Ekf?kFhCm(**3A)zCt(WO+CpO1H?GxFxcvFQ`k=lOvNh!V}U z#=z8%`)2X2*%S>_g2Dz=?7Z$}KGuT3{RYcFEk>>G-Ck~j*;D2{A5Sx%2eX^Dyu?on z06j=q53+uqoI;Y3<=VqfkD@8|Z%%Z!jGH+6K-pBioRt%g=Q9Tl~4YP?^4sdg7u ziIPD`-S={sR>r$QC;dz2RLU!x9?R-K;j#$O598KI8WN|cGw926UVHeF20 z>LXm5X7nG2x@s;#qc$kQ3;!0~EQQ2=rPk}xm~zKA@5uFGZFgsSY4Lh~yIpl|=biag z%z|J}?moGYPcKUg0WXR$ND3k&*FaPgU62xcZkxP~$%4{k#WX-Qjl*OZp?206`gG&Y ztp{5~o5L*n9(Zz5mbN|d!a0L#(mwoSk1#p!ie-8Fv4i;{fR|iR)F6nuvzM);nV(OW z|KsTC`3C*jE+T9cGE}|!FwYVX)wmZnVzFnND3kSi1e+qDCLnU5>U9LRAD4#2WGp?# zsiTYxs#1N*|9x|QvEZv->7npk&n^O0gaAx8{`_q0jfmOv;-H!a3)AQDJ&J;vl%xSz z2{1)s`LtXL1Ys|K-p5 z%ih>nV_{qRQ^oB$3o*T*{Y0P8$JOV=r$Y}uj*3`w;+Zwz#_WfJ2#5wGt7}egB3xv1 zcjMr59AJu5s%e&@_OsU4+le)ssp1Z6ma9nvVGJSM`?*gvz2H~v+VkX#smR1eh($wQ zoc8cJH-3FVH4~F>V*r8cK&`GyMU^az;e&MbZne?tEb+e26=Uzz^VsaN!rRbnYA)}s ztQxRaSgvxIuJKoD8HtsK7(3f324TSLk`-DL3uL7$!q3^TM*ej|BA;t&M#lA*20JlO zlU#%(6V`F96CERCgGS|{n${8Il9#(-g@bdDk3K^vBxk@x6?+Y&d7l5FU?7pHP!_zh zuv9)!7|LU(;6@>C`fK7ZJ@NknMFQf)tbSW+Q?u~>kz*fw^)5IUke^9|ln!r;`@^vb ziWz4%(Xp_)Cr;gg;rM?oz;2^7gn%(8?v;P1Ha@xzD}7#hu?E)>PW8_g|CJYCwfTp9 z+#PjPS~7-87gK}91+IDhk9e*_Klh94e?|3ZRBeBKIY^Eo{|AylZNHSPAX8Jge4u8x zmVDLP$t=7&IsNwN?8&Ret4Vt{sm?A|vsr4Au$IY(=ok8rU$6e-M0R%a(m2!6)kjqi ziXf9xazsH9u0g`Yq#9!gO@nGd*)%UKKe#^{7dp9XgKuZE)pXv}RrKv@+8_kmHrD0B zhK5@pmNszoImMhK{6eF(W=N6StCv^JoGG*+YGl{}qLN(iwyb1?j1ZA!Te!jvckYaK zx7;8P)vR7M)p9Z5P-ZcgHlk5M8#AE>MW*-}63oz-sdzYJq@teRO>8ou5t7@V; zvL)NRi^A3gDtarb{5`O@xiISb(+JQ&Xn=}w+2D6iPyhMp`Pno^3?(|Xs!$;)u?Ar{ zR#sI-+*n|@6D{vqP)0_(uC;{cOOskV8YMEytd_t=^91qs5-w)(^RLe4(|Y#VyY*}vYiY+rTL@syZt)2bdcrl?6iE7dy zh*2C854BoSSWN_(1Td>5b`#j7k)ilngd(NSGoE$r@JDz1@us z;k_CXA`mH=buSEw_T2~sK*^{z(Xf(%BWsc{ZIEy=4YTQq58@&Iqn*Q{8wi+`poXOD z5lmj=4Q^}Gk1No*Jwgh31Ekev>E{y@R#qFMEhDa5i*dWau5ZoqZk|#NG)w-BR6#9J zLlv44GEL*5+RIaBLI$P`5Hrl6r z%=wlrM`pBV4r1=BxVYl8adUaRY$~KX8fvSNc6^;>6 zpkN`63}F_-Vki=n$hypB%gKZbo8>gz+qI7#ove<-QiBF%uSB4h5uges62oGk3{_G? zVo4n&CoVu15KGZftfsHpsCGKbwhsq~_e?%ECO6sG?wFDzs;jWK%XwD6LOVaP3Px^K z5~yk8v3{S#+?!@V2Q()oqhN(qqEt$bl)(+%VA~WUW!E*m5?+ry-b4H0jJql#p;cO{ zp4R^FKL6_F#jFx5WK|6kNkkeM1^3L`?^%%bF4p7UHe5~0pVE5g>iRDk3MCssLPnLo ze0JXY(0cjJuMW(>T1~l7>YHZX9Ur&e??e$uTMdn0Ef5={-XLP*d@37ow0C*u4dU!{ zQclN_7N~%=TEP0bX*Yd|l=3z*=LdCDJbrfhfBc{S^iN;47jt++(Qso_)e-=WtYR3J z?B3YatFUTg3T2looS!dOt6e3NK3^#)HG~$h8?x0wH4=dknM5^^v=D?wF6-yZ>B0_n zC?Ds8ovnjA*?8Lwhm@Dr@ZR?J>ZqKo7HzX?6s0H(!LSgivV$>*j2ML?b08LFCmlM0 zJGqbu0zr%>ekKJAG(e+D+s@99o_OJNwOVKDhtr z@SE?RJ$Za`bru2m3iD~()B?#NZ*l03`YJYqA_PQbS>|>)pSQ7^OS@8FL1uBeW3oXx z-rw54KRURB!6@5#;I_{E;!;fpFswmVMw2TsR9T~nXLhg!4GxBbEh7@Dl{6jypbFE1A+Cs&diW!cVXba(geJ%0FrcR%2Isq^D% zc1&D27Qky1yrU{rPwfj3G<(bIluTBRxER9?5~&QXX((?N+TTBWn+r=NF|VkJYQnT` zzW(lb-bAl1f+8uA0H(tq-2Bzoskq-`OX=2)yxp~u5u4bF7%4=F(yeu;EhxZ5Ml=sm zk1m&g`wvf+)#88p4)w9A{32~-9eh}mAW`O(?pyQA4UtMZZBDLGQwAy`iP5Me!j|)KaqwvC(MJ?x zeReFTCtfrWP(z7GxvOaiAh3vN{qiy{Pj_4`zHO&PyEk^bhxzs$w{@>tt$e#wGOD?V zRpG8mtWh(9!accRD{ zGcD1)n5@E=FNUR)U*5gHT?)7aAywVp=`x6~=UW5G^zgX@e7w*ws$bhsXLCo%Mf%3ed@pt0&O+a z8Y-fMXpc&&s!A!GNdWzyVA2O)euJYuOD+r$zz|tQP+~#mDGxD!`s(V-Zzo4*Z4=Pi zT!Mv?B?eWhp25SyeDrYtKm6%OJ4IXjYMjTNfz1G)P$sm#LF#U?PZV`M?%EHMCKpDk z5@LudaG91{#Xia=cyQa+85s+cXIrD;*p($2YUgvU7aSI05m#p~+-Q)EhNHU=;;LyU zOj5dBvO$^e-_Q0A;REqx8a>-t6^}0#N2k*|*g#n%j$PF_p|z9S?&5-*{_AI9DYm-4 zT++n%Mx=IIl8i_11OO&VQ)8ff1>#Y0a(Bw9IgQHw$*57tj z8ojnFf;TLrK@-Ur^)VrlzT+wK4VD^)H!7HFI~_yqTc3y(R>%cp$CuTYPtTsdnk_4+ zGNMf!(H6$Jf*WsC4i3kk{NmvLondS*m7`;mGZ{qy7|1dTo2hMRRr0F6Sbxl7k9j3sLW@Cf1H&99zQ-B~oUU zdS=72R0)xFel>ae&EeLN3X^T^jP?$u)A?jNZ>m)p8eW~edT}(pm{tL0 zL>5U>7WoIWJm15&_g-2jRfNq$F)0(61;R=7Ph+p|-4&_93V8ACtSVJ)GjPL(`OBB5 zQG>H~=a+{!p*wHcGB#hN3W=d@n$tY()0|LszIJdE_ zY2E{+H$ImbiHQR?4Q`B5FIUsE)2;3MW^boF+$+X+_ji}3EXlH3fFr^RC&%@xFU{iR zC{AOD?S-%NqAW)=zL$US$-{#WfuPi?RduRO<&R!m96ha9mu!M7lwBn9fC?JVtu@Lv zk~WYQ8c4+vEF(toq4le2)jY%fJG3*j#tg<=`{OOs@&IZ=14CBBI5SNns(^@DEisv3 zup`?e9zDp12-?ueNp*TTu%k>e?CNmI7XN7Q#yH>BZ#i zV%B(wbv>vA1QG&~3JXhjmJ|}{v)}K(|Gr@gQu_WX#2QhtR-jG0p`?_)#6VDIvKWIP zt9^TPy88T^vxD)DJFteKYt4!89Tn|C6@Ai3BASLmGzwMG9@mPl9f?WtT2=9C4UR<6y zQZgErAuPAE`7yP@wUg3?jH1C(nhU*r7FU<`)d~E<*Hc7sc3{b9dsRLE=fP^<4ol;k zOg#CeF0bf}$OKxRbF;E4f)Lt8Jw02TJ{wx1@c`7u#YJcq1BbA@nx7boGW0F&?|~SZ z(-=uBgj#2l<;78T{2dmTE>=vQ5Qs^^KSUB{0gc&Zz!8#G=tB%RWml&yr<(b{jh#|;yb4nhG7wWNl+Mhqp8v%@yjF*>1P z#OTHG>hYJS7niG6q(uOnA`;M%FGjJzpM1Fg>D^*XOH(h#)@h(-*({f>Z$Si?p)7J| zY`?J?sD(Pff;^z08pxmyAmIeaQPxP(kSfJ?dHkfhIx*#z8*JspfCxc?Z&$va$7&|4 zSr(^GTLT4Pq>lAfd;CPEXIZ(G569$O4Bpp^P%mP$;^}l4D#Ju7&{ci>m7kq+l(@Vs zbj}hu)_z)r_EI>LcE$AtX$4Z!K(Q*+`HOn7cttLcBD!3RsA*2W36tkUqM_1yW>Jeq zLPR@RoqW?S&NMShUcxf2mbtD}S(azZQ2FU89}PImtg)6&jDA@y;VY>YW;wTUAc z@T9%e_eh!^Fd^%0jBcTw*To@Xf+J)E0~JtUM3M-hU~*F&jt_rn%&uUlaBBfWpu;%7 z;V^k?*8Qt4bo<67pj|zT8Zsx7`Ppo>XhVb{HY%z5ld!(2T-QM;l-^L+d(UkX%6aoa zXir?L=tMqlIC-S!oI_uJx~w=Au?f@<5wT-eYBsAurkduv#t`mm^X`g6C%LKGK>aA=4{`zl$ap; zUSdMu2|)caOtlncX$`!kwyk`quKd&nmq}4Fag3q$Z3qowlW{QW83Mo%jJ8%(mQ7rq zHzw1(u*O7@wrxXbA(AKIKvhV92A$2q>=>$y;It(bfVG;%`b@wCVfCPdv`{EHGEz@t zl?yU}85j^`S%)PwK@=zudjm0W8dVo{vpQ80B~S1K$&`RhgIB+5=I6>V##keUAsW4J zSivfpf>RrV3P@FnIxr%7ao;54q8oGgrpjGvq*VeLf`uAF1Vthx5@sV@s@u-D9uSYA z1vE>1M{7wN?jP8{guRQp#}AsN_3GVNozkzQO7Zga;$pV&0=5~96|a&=qS$CB`KLdtioAkwaANeWT}MdRby<>DW{c(FTj<8qsU0-Ypf z@||5!cjFVKYkX7H7-R5E%H&8bzyt%0T^RU#X+R|RZ2EjAZ@MrMC~`96K*Os={QSv_ z%ZYDd-vv$r1B#NeR++(_yV*w%cMrC++|(oyYJ4!4SIfz4DS#p58Me0aA~zsUvJOGH z|0B1rt;^bIstGcpv54BnC{jsin3(`rg@F>H(a@>Ftu>ic3Y!GY zBt%6FQhRNfQDix*=^Y5C!iz#_Gtb^VwRc}`smMlsYpM__+YGjhW`J@FoU1y(fJnQL zkLZSDcu&o)5xDF1kfIL(BGe0Bot{r;izr0K_A5?qM=d{tJN*G$pAK)@?TGo->9`j| ziRpQ3r;ynrNmZJFC*MB*@WKAh*2s)45v5|MN!i5j+k{j>DjI|L1lUeq;}0h)sOI{! zuTig^YPye&&_K*++3>TMmtQ=2aW#imC>v5M9a~}`hy{ku{PN>F4SyCQ|_{A#u%e`RpAICLu3G(TFSV0vOm=n6ofrfNQ@1_EQqbD7;B0F z4@R(tiS-(#LDzf9PyX0HioF>ZmJ-W8>gCkW7j^3uaHJe!B$qK6ktiY3zfgSnbF*Gy zcT;XPbse&hX+!qKlNVb_6%h$y z5RF8HNHEGNF_dSxcfgPCZ4GiU98_Z)Rr2!u%3rKv6~I7Y=)t|BaDkK;F5~idEDVK*HhS)ua1VxO93J`V0O`{-YKw3#`P#d#xjYI2C?&u@3 zje+Uf-+NM^jd3SM%35w-YJY&Kq3P7w00v0?i4D+hFilkH@}Ndl!I7wfHh?NQ2mpav zB6Ew*2QqdVihhj2q6W8$73?B`^*Dt}Ms&qS2m{h3co-yP#SW*7 z<Yz8Bxc^a?ORB61^{8xO%WjK){NA^=v8t5_hD=7Lm@LDy zSJM|Kvj9YkXb>3!5i%T;s5V9;`_aSkgTrCzl;8y_Yy!Eb$LFV)t2)3qlmmYF@E~^} zZ2?ad)BRD$@Vut*`@SgPdbXt*r`$?Hl~zrpY78N;zrLyN-3u(EZmHtV$w8HA|zf(M5R`t33V0 znoRpt`gQb{N|P!oA`FQBflIw~yC-x#3%Yb(8};;J@%-iF;;M~6v=q5xwIs3q;moah9A{$D@)dWz;9d*GQKBBRbpQEP87*+)afPhSF^mD0M$c zhhl|-H>iZtKh{y30hwMwio1#t7!)4#0%`!-Vmtm*)#aDpt-Kxu6A zJzE}7wg(ylZe6^3$9H{C%wqjq2~bi^5*XS_Tr_^NTm~gkBSO+gtZ!IOZyU>hlm4rl z>)rNzGaOCLM*xzGs~T_Jphb0hx%~Fo#o_4Qz^zy3<{4pQ5INCHi-;KTX8+9}#2BH| zb?B6PjpD8Mn!}wA!rvRb&c16Dq?>kzaI3pbTK;R=H8#`8u`*id`j0#CHZq!rgRwGe2Sf8 ztAVJnKvKp|x6u)kL7*r>xvEugN8Eu7B%mr%1s#DSCHBl4Ne1oqxIW}dk)*Ca{MM6B zNDL6vDOuGF$OJ{ipbf>Syi<(s!EOU(2fuhnulUv<-U8qLDCERX_}!c7d{Sc!0TH_N zGFvtgnXrw*fe@kSBmiIU(t7)G{olB)gQzqL>$9W+3KnugMxcu-Jbixls|SbMdp5JM zH?m;KZjGLTL=jY5Q2fJ=ZGstfo|ht2NFBi{6|UTW`n>(>+1ZPWX+?_k z8n_I3j;+ET?hFP_l$>vD+hWp$=db2xmoYMoMMmaur`#P4a@R86o@ZGDJJxYZ+&Fn< zHwS7hY@sBt2@{Y}ErpV*l-OOZ86SXDK@sXfZU5f}ngNE?khFbW!fhP#Svy{m z0k8rB&;Zmgv;nm22O--C(11k!Mqa5_05m5Z0f{#vc~#q=Ts!fB{f>?nDngTb#q{$M+^nN|jov_B+c{!0LX(D1dkMPtA!{@ z4hVsm1*{4y%Bl)7N>;ngD+kp?p1YGWkuWstQ%)kpN)`Y?gcKx7L1|4(IaCy>fk9va zM`F5?QRnErfIzKM170cxQel+Pf?yKjnqU+p6oey$#WOS)m56{rR&3w5<3ki9WEr~X zZnIds&I4YLQjeud+`Dg@Wp8SJdY8cJ`?{vy<#%nDo$r4nK!65N-Gs}@s_`0NB*|Z- z7Ewy7%l*-*Yv%8_P)$M(v7;FJ|4mFruYI!~ACQHTY8HcA%&X@w&!?a4kE}BWmipw` z>yJhS8bLxNK-=vs>y*{{?6ZFP4-pvL{AucBN<50n@V#h_3$a+t@!j#_)udfS^43LC zL4(x%N+2SmaDqGI(MJ#Vc1D@RDU2GMuYx^3Uw-#|-Uc$jz~ats{_*|2j9QW!bSsu5 zLeja405<$r+D!w{DtuQA(iZA&@`!dfk}^t20WXXsr6m|4QcC5gloEffq)fNIuHTZN z3G8Wx0@Y7}-yqx72#1J0Ns0M&U^PqH*rla|!cfiNhtiXtkh zQY2EP&{HQdX`TYKuHOR+Na8)e(Ii5u6qSQgRB98dFG<(+;k~FfNJQ1-l$BvfZHOj_ z**bWTZ69b>M5st>*}aB&eADt>fBN^^ANwGA^Aw#b%%nim`q^yRwxpfjVDGwKV`pAd zYiSpLuSa?9)89B0|CU0tH*X>-yV(6jtZLgxFJGM>UwkkwvaB>YZ@Qj0X1kOKs^JfN zki2ezOG`q5?!fCBv9B%{Uq8P%o2^=bj|#^CSU7P~fYcgf2D@9u-Gkv^z@e(uWNPfy zRsHy@E$u|kMhp|F%(m;w|@gGr~0E!IVX)#kWP-1`(6b(^L2n1G&WWY?SRw)l$7TX7AxT_{tP^S~Op2lf0fBy=- zH4*=HS8{?{_lu`5`GC;2&2%;iVNBQF=JinHhwS@&_WPw^^arswh0stCkp>VHBCK9; ze17%()z!i7V5=+xdfj(gPbA!oGS-$Rv2>Wcb+zE9cA2FlFmYPmMv*DYa9PAVye>mRT zh4nQ_P4FEswzExlCZL)+SPvx*RZ!xtr~!a2u5tI9cOhVj3|s$0)zA)1clawn$_El*`RQQJhJOgl%#Ob3_1`d zkV&#(BvG_ws+B_WstO@C5okft4zkfc5BDe=s>zA1h3gLkeMs|G|MlLvFaRAxR9E~W zfV}ss#S(6uUO*dxWjA>L_Po#^+)_zP0}P315E$kl`tU8Y&k-vs&$|%ZrPvSU2#9m9_&h4DD)(B8btJ*xkbJE@y@K zu#Bpa-J-&afYCJD5jTin01_0flW(5W*OYeNX&w_IsyMuL>R zLXXJ+01_lB9?=lt4VFp-G72NQBNzzEI=DuhDYthHKeXdJ>PCTV1PH;t>r8y_?AFsI z2$T_l5T*5PBQ;R;3SFAeo1}^xu*`qA8@5@;(4?|R42Tc~wrmHdlhxU*{>Tdz9QAeP z$m^h&0U)v%VkR&pX%1C%_yEK2%pP@}f&w%_Ytsr>Asr}{V#+4wXDk1YUq8QG)h!?( zQs&CS00^K+hy+-J`}f8V?vF+TR`JdaS}ndiy8QCl*}Mh-2i)DwKYBPi+;tXnV8y5j zzN66R6al?a8igU5P~ih9GB!CG$Hbv+2xN>g#xk=p#*2g)V(=0JjK*dqaqd`4R~T*) zrcf~qaOQO^DBmqs&=`YAuv}#MAb9WF2(oN*&T{9RGKoq=jHxS=lr$jLG1g^1;;?|9 zLK;G|Xd#@Db7XgkG(;aGF$(8~&SoL3tkoE&suh#hFe89uttXxept&MzC5no(BjW~a zOQ2LKT~^dhCF*0WA)ZM^eA6zBD~xsM8feN$Mvx1Ju-h)*ZN#-p4Q4zz_;B>-Gal@z z9TAm)fim?;$Zn2sdNe8`QKGY1KZ&kU9uh?o`6+XZ(OUa`>HHhoI-(*XD#jQ}>8amO ztn#%Ds#8ONB$hqC@$Ox+KyQBk@AkUUx@f7CKwhLuEab=yu2#+2bah!Z2ct57Q?+p8 z-+EoE6hq1+0v1Vp-*2n~eBbq~->+L&ZhFkSC?Nuy=o!?P#Apn>D^y_dN?d1V+CyhzmZVCdB;Rh z>DsL*0}5ykIHg>vWK+Oq5g|lGfp|&13Vr;dOzHreMTd%|3R6PFuN2~DMJQ9rV76g)y^I#iqLyso+4BHCzn5*n4ZsDFGuI9En;GivFiA`X zHu<3IWSMFRp=p}7Z9@pmyt}&_V`S!A3HVL-L_{LeG|ghZXxb*rGG=zp6-AL{Z_$YR z0lV$OUM~UkG66TzE@_4Sy9@gPOYAR*5rK$_IReJ!%eFebnxD_ANBiZrxv`=(VJX+r z80(Wpca-n*W_{iJCtOnhWsS~df>C6mcGb$O^V#ufvuxEf#DF=a+8L?@B7!x@Eq1qt zTf^KCL7ZUl?Afa)Utb-cG(G?ZJA39ApYA=nH+D2*^`w#375NQIics9$9s^djP?SL7 z+&E~~1Zo>@gidENUHaL4IiD@6N@5giDa$#}Xpoynckb+N4aennW@^OCj9{!1%_aH} zRVktqc>_RiB||47V~is;ZGg8!Ps3H~uCA(+^U2xeYEcCb@fxE7!ewp`cJg}%!~1(% zdqd>NSz%x-fo%@55hg_EDX%s2?ciz>ULH-(jwcK*vhcwN?t_QL-ncYINoNElcxbC! z3$tM4F^at9c{r4$5C(td=F!lx}ImtM*ewpiSFIjBN})`shQmYA!D? zU%q^Kc6Qb@&B4LJU;p)A4~IkM+hey-S+ljoIaYw|6rlg^C12j@U|6u#GU6v+Ck%RXyC3vR~PXl%eX_ z_|~K}eH`AGjo$z){;{S2h}Zfh%r2;DJzY+#?_Qi;oNMjjGennMCVCW&rc>nhF7NLR zi_A$-mVB|KFCL$N_jIvXAVw4ge({T)4<8M;hRhmRVG?g2@CE<_NQqU6VH8euAQ%Xh z#M`Tto?Ogcoy|_C_~vAJI;}1yv&+lbVgUs*hoV4{V{71k{fRs{9DZ)w93Gdd(! zHYg(^@mv!TXHrh-65BvuPf9v_UHuUj)O2$ZARM)N8b=X1O|Up)Ex^6}%7 zm(MQMV{eSV{+~bG+S@8i9@#-^0w=UejZlb`dn#HQS2DVo@{?y5|MbQ2vu77)r}bhA z_864-_#ytszxwbm{<}x_c8kIdSu2vjB0ZB_rZg68&sO=9r z@BYbe@BgW0WRt$Rs=_2N!ur7|nA#AkYBgWXXS3O2zL?CW)7fmfSk5Q&qobp*zWVC< z^XJU`+u#27FaF{$2Ib(5lg)d-TCKkQ_S?sgAOG%mzx(2gFTVTkyOWa>07P`}-o3y2 ztH1i2zxkWL{L8;QI5r7L~z>#D3{k1=$q%4$IszgBz{E=ojXi_&gS)3FP{HjfB*cqzj^SVfBV^= z{qkUMxV@^UxwRqE($lo%vswJx|Bt;leX`@a?gW45+mY0^)k|>D+L69I8Vl4o*?{CfR-gD+dzE>!a z5Cl<<=xLiL5D1`_eEIU-JbCUpzvb$~Yj++!SWLRR!>dqlaASP7IX1_p14_Uw!iqvk z6tU`DFcSl5JlYOdt}p-i^3B_Kk*34FoCVOu&MgF5wiT&=_DrMJ@=02%vI;@icvx}O z6qVI>@!rj?@4vOu_L6GOb$f39$n3E*Hma4imySUEPpu#}A^69SAK&`$*1fy;9xg7f zt*Und21u>vnVCP|ADx$S+pI5fR zKfQJR%8jk{z1$N9eYk4b)q;(n1+pBfAO~jn3%!Or_zYpcniJ@|wF^x3g$P~Y{T z14@|0@&KU(`m2YJ;;E3gNv+YCf+ML?Jf_^pQR^3OrxWfiu73aW&G+uMHwWS)6d4py zk5a3f_OGgCVQQzLSKyz2xSAEQtJGgVKhLg~m`Xb-9<1%XcW3eE@7=n6Ck#jm1uSBZ z8ZfiaoH^8NHJuef5rimMLsDmLsXCw;*AG8f9{lL-hyVQJ#jPItIeaOq8sG~s&;b^A z!cyC4Z6Y&$4{}k&6ucC{QZLWR+MNMzKHmP(yLY-?@@ky=urPo0OTYE?OP9V_sWeHI zNMMKNs83c0fq?b(jsNQ}{_ns3>%U%FT9N}{t*ut8-ELP^Yqi?k+}ukqy;N3DD(bx# zl{k(=2x*#LxpL)O-}=^fzVn^M#YGVzqWwB6ilXvp#+aKoZ~pz?|NZIHrza;TE0v0f zym&eGX$t$K@k?{a5V{3@0$5T2d77I5c$*};*U$PA#RMic&k}o5KvjnOM*u{^^ox)Q z&%jM#1b*4?s+Q>kQqsAV09fZ-E@pG5x4gR7OW+lxjzAz$4Z)BFl!B_jgL0ag8XudO ztTZZH+nvkT9^QJ`+1U$ufkuqu3-MRpI5$68CExbivreD{)JglpDYlm0GS26zhr*62 zRr;B7JQk?Fu|0VAz574Cx_y7WyRlcKUdf>VS{1}i*vL@i2C1&E=Mq#$97O{Jg#=yM z8(h7)G&vFdhc6r(Z%(7w&GU9_p(qFn@@!(FDDAJXjhG{-6;xnby)2ffxtB$E9`C*L z-o0CQ)>hly%_MX^d;wblXRtseLZfQN8g&KOMBOyq>h_8p-XlQYzq>LqQK?0>Lo?&+ zo86oDmag4fy7O>zeWU1<4opE?Q4|V(rcO6G7&fcA?*k0dn$;@Mv;rtbcHE!+$<>O`b1Zv+e@48-F>{7NM4PT z!h37$(=&4mC!5VlGlb*o#|1Z3wJ7qdSFhfgpiI)>SQNH+BxaI^vODi~5H3|oc3-7jed#hW!xj+CSrV-{@Nr$>X1Y^)_()3ir zMvbI!OKV#{zw%&nwFn8EVrHyz@xtu+GqbTxA&HWQ0*Ih>($au+pXA8SLnw2dn*#Ma2d-3etv4!c@cq<1#SlWK;?GJbNiky%W5}<~t z%#{617FWAJxw3fd#H6dbiXA6OK!x{xVj>if9w}K(oQ;AXcn{GQxY0*-c_aJa{?dCN zuH1XLwYt_X6e$o0OvGLtVQwluc4YkIvAGjR=OhSmyt1+L!Mz7JAFQ``0fXIccJuyL zHF`KTv3+-O<>AWqb~;pEBrX5ESJg9;K+C52J4K%}OcOZD#K z&buG%-g!9addk^~A@L-_Vu%eXG*Ff+QXlf7&^+g&U|2S>a4pvucJ}e3-qjncH}39q z5)>S=AdQLU(UT|6o;z=&$_QTYj1^LD054y@eCyV&e!maE7z5zoz_H9nhYue_^=x3;#*s;Vf8kH1j4AvMNqZEfATb7yO7i@DUG z(ihxI{zBpDXRUke@0n?zgz#xRH-5>Os zPWkESYc0>Lw_f~|N>YHrD6Aq@t|yt@+8b={wewP?{Qz&BKsu6&b`ImyG%;0IikDXV z@84Lvb9bvq5GlqQ?%c`AS1ulz7$?p53=hD95{oNU9qQAUXj}tjHWg9_bwCVmK3Ho1 z=*pwZSC=0@N;04Tj76h@g_-#CmrlHLZsGXCbiLI~0*=p5r@g_I>noeR6hv@NB-Ri- zkgDJ6H8(ZgY8W%2ntDkhXIQ+3gn){LN+If$D;|wOsNCB~-~M3j@{LCi zR(2C_vS5OQ0I)^m$Y#25sQ&83`AaV?oIW-?J5^Uv=6Jh3H9c#Elj}D+zCd1JdA(a? zi)C9fVj(2q@jqCdbUNg~>)$SPMf!0>BbMV3lK!%4XMJzrS&NvAwn} zY0QX;*_2pUQC36XAPjO~3qxvys24VM*ovoG?yI}IeC_7uwHsT@tJxrjkGyA0%}k#^ zcmDL5Gi-BEmzWv?r ze)n77`qqO750WGS;G7E~d>sE(DtcOLi6~9eot>RBV-mkm{Z+;S(uiSa>3*KaMq z^X`M4ygg}FcY+MClgshA?@Zba^-;}g9%F0HKfcX}xkSK_xdSPMqsd| z`6GwVo;y1;Gc#HW&qSgkNs_nT`pNCvw+DkkiP+lrOaY*(5`wc)tJONPurNC_D9Ig2 zfCz@cii`r0l=id=C<_yP%o6O^g1T4?K@4%AiZQKzo~&+RV;80l=|WV42GPJ^DhH{B z3c*xdYkYQWV&?w6^(!AdSX|o9GZ4bj8N70S_TuT;noGp*I6E-NML>uhSD8)7JSY$c zRu63mY6a?I#)X@!o5}zC-5>t=O0w3A3ezY&6kP*t#d!Jb;jjPB=a0|2bmt*+Mnn-R zF6JY1jq#SV4n-C^*`OIW1tksJGmxrowfjjLL`v=_8*QniDp`5Ok^-KlYxU#pbnN{H z>)-kBAH4l;w-Yo+WeBKwukAO6Pgyf)no9M&iqjK@Ypo~1d{#7uqc z;_2D%{QzBpht0hP9|9nW6L#WEU=kCI77@cLss>Y&@uio~*JE;2uzC$)s4GjP?9^7h z)Nen!x4c#K6sUnMyap?Ql*_>|jDSTmG^({my_%4F)%~ADsEaUMu_`>h*?0x&&-)^_t*4mGwRRJ&?WO8)= z@T;%9dgjb&V@%n_zkdDt-~7$reDj;%+}+(RilY2_k|bsSD~{uj94d+;V~ncydOZNv zTIU=yd++zN*o!P>jPQQLd!*FODd!Ho?ojuUxs-hoU_>_3PYsM-AVyp7vPfV-Y4}}c zv_hoYPm<7TC?XoF%m57Kq1H-CmSAF~(g^U^phaSMD#QF`g{;7OxZXgQ*7kNfeJ@A` zQ2UJRNCw8D)~wFYpIBb&{N!iveR%6pmVsl$7B62s{?di{=?TlaXQ}6~!N`@Hf++Jn zE9xv0Qq@#ZRkEI{98YJVac{Z%&p&zZ^3`m!gG8i&2Ta5jC)sCCAA0lE^_LY zj^$FoD;BCxG{&dKtM!U)7gDV`k)GPppG`|G#6cGNX;FkIf>BYX7#b82C<3=^qh+F* zn~YvNKlLBqI5Qsgnv@x{C!x#2dET$t zh|~z&!c6n@v9aB~Zo0=JoRi6{dbS_~DlJ1z-5D#vh7b|Pt7d+tWjQ5Dj233Nvj!=t z+9apd&fxyi>h4Y!3QG=vXB0%199vroVJM2knJ_WloEjUqCL*o{V{+wg1`pxkJ{*&t4j;BGT!0?%lh0@7}#6NuJqIXW}R_o{D3~ zjviT9Xw(}e$o~7^|G{7V)n9$@d;e`|X(@zIuh+{8tE}KEl}ehX0QTGY0QMVUjYgy2 z@0T@~G3HmoxR#=8Lsn6l!wkU!aTGP1t(`%sS_xt%A{8kWlgqB`r_HbzjQyO2Az2qn z5Ks|9yW36j86QCmv{dbaAu=EXHbjP*nGGwe3>6ah<0F^vyTaV^cGt5@$oxVzD7=TO8oI(?${**A_JKhdgHQ|mKJ zMd?&TD3mfqCYpjPq!~0*G6Lr*E~N5sGyUlY%Wu8Ev(%PBuxet%mQ*|$CbM@kL_2gp{_Fbz-7m=uR_9l=JV1Y={5E!pb;py$3d;9wG z58hq6`e3lugI7rIVVFlk`-IS}$mt`sFT8g6G-ESASznl$u;{8!NWB3=O9O3U*fiJW_0HO6UgU}* zkdlj_Pzs(DVpME!B%Fpu9Sbv)^RtJdxGtVk*rlEB2a6l;-CBDY(J_et03ZNKL_t*V z`o?ZMWFEn=s%1iC&Dk?&&!0a(GcyY!3BGJNePm^*>gML=Pk#E7y}i9OO-mZ%!CfQ( zRq;wut$OtM@rkJ^Ro&UyxpCv>U;gD^zV+6RH#awlD2k#(hYrop&kqKJ<>lq=?QLcv zBN%#j4kL(47*nvaNnFZj-!xCuJs2O6GEz}ZKoNG1fl}<+O0t99@#6eK1 z8VZPqZiyw|djurMzP#tZ>&;^s`#^9#kZ#Jpn3O~QAf0ZK05U<%zGWKfLu53U?y6+K z25g9#$Pfhr>k|{%17r|-`o&)G#0V&d0z?9n2fMK|*z0A&5G9Z~sLrf_5;HqvGpeKNsBLIe~J5*h!}g+re?J25*>4gEN5*Y0op=*sH5x4WwYBzE{PW>rR@5E$Mf%uiQe zK0p2P*{Shr5|Ujb+mKxaj7*9$d>{^nm4a9T2arlhT^A||>^anu7$c&ohZpNH7Db1r zT4Qy?A(N1*1~OIyX-SrV$uim4>hE^cdq9;%O#ua{@E{E(uFb*(v}$f{YI0(H#%oyb z^mn@5cke!a=ho_-2YXwac^;4hUI8UT#xb2eedg%VW0h)Ef`=XfiqDfBC@=zQ47#6+)=hYR8Ws z|H@asa_Q2g_4V~1{NM*~zx}qt8*5Z$C;(S3USa^=`#jI%IG&i8sMTuwr}TmpU^`MY zAB`CW#4te3+3{AbzN4meQ!hmeO6CjEki<~hMTiJ!UwFFoJ*R)Gwnh8#{I^F>{-OBj zC!qvkh*06tX{ULnGRjWFrNX3!!A4<&P*Adpkx8B&{J4Jk89hS=K)|9}l+u7ou9L`S zTe}6+l97>a0T>86JRJ*I6*K4+cWy6twl}Hp)e2^(?Q0h%zWD0#!()iDUCO$K!7xM) z@QPd^*3=j-iI)+& zy@agLpcJTNd=l&Md{tRt0%?{LG-6D&Du?IBNE1a$s#M!x7$Qiuh&nVI`w!ueabZmq4YzW4rnyA|gTc2~B1Hw7Z&s2XxoA|@4< z(zumj#UmZ$h0l9HR3#Q_)^XwF`0u=VZlUU1l9BII$Sop*A!;cF<`m>Z=%|92gj^PE zCfpdGTiNWsb9edL(&ny59wArp0wu%-wK|_Y*E)8%(Qui~`V~o4ayVCL5OQS3lhkhR zCEYC9Tb^E z2F{I96p(^La7vCsqmCm}{K|#7lZVGcwoyLz*_3POm00D(~$j+`e*kXK&5^xCCY zr^cq#gJ6j1pp_GWqA2o(Z}04FtgiLiU1SnF$IRitBXBhIRU%qgSU7d+)YjJ4-~HXU z|MqYHrsO;}o6VPAdg+h;k3ahJKmYS;Ee;xzY|tBYlcb*vvT7|>I_M@0U--zzl}e>3 zibkVx{`~p5xw)b!N(}8MgtiVvq<~uF##_}&#MX!}ExULqi86!;Jg+VDY5bBX1g9fN^ zE*L6;x0WguGtmmCkMc`r=BJv~dIX}1cukU?tJL9IyKVd4-L3Ea^xjtL2ZEfevIRl` z5F@f6Rb=2UUjOo`6Z0*Lgf#=@N?oO#sAe=aVic^#=4yjl>nZ?b-yK7YD-5h~2?+?q zfubm`m}0DjsR=XIa)d4+D1rTzrh z5IiW*fzs}yoPx^U}a^!+qFJq0$E9Z|Ko1KU?)wD}8AcCz_ zGF$0|`0iHkr`I1YZ53Tc&JYR=M8Y}63K0r`L2=VKZPIG-b4(;P%$tgC@%%?a|truY|PJ%x9Zkt&hSGs-BL#sfe1{YTD5a? zjqw(3=P(Rq6 zYBih8Ow7*)juO%&SzLVZ;qBY~G^s=p5y^`Wg{6 z8jY`h^{apQhky9xFMoMrVuG0g$+B!~b8BsNJ?STL)mmavhCXTM$FUcse$KY#kQ3p2A#tx|$)hm^q)K%i2M{t4f6)J?Ahsbx~z z%lP(#t@{sq?M^7v2DM65u`v~SM4?&3+!W1D)>(56f!VQh0+Zwh6bD;r4{+o5(&LrR zAPJ%%s55Gf#9X-G$13*1iRsrbo*S=OCn<*nIuHg`TM~^et!7v5t-tqRYp+14I-TqDwg`gC@CX|yG z9;P$|q71=D70k{wXJ;A_7d8|Yp45+?S!I3{P+pCrh56e2EUk5sdGA@gMP}lmIRJxL zNs$+l6Ol&-oAODq-R~dG{**r{MT0&8kfrx3WQLVh8cukL*%)I)R8_g8+?ati%@dMOaHWVWUWSk11vNG>RDb{*~s3zxw5raWFCP@)L82b z84W2LX;k^hTy=V~X3aIn~lq-CReH&=?!{v=Dw^ttT<^v1oOh}bP41qWpWuq`2jxaUhUVr)Q zRMR@@fKoW4Eg5+yGt6T}`0cDbkJwa#t_MSzeh3k88^VknqM3Bu$p&}d+OzA-yh zV;xw{off6LbU6eg5)i9qaa5h3seb0{)Ou$p*(j0_$S_$7c_|n`#;7X_rYvnmdVdwu*fQ6LavW` zGlr}+hQ0S{#B$7_0AF@gKf&|iz-d?_TNEOYoUzmEbq89M4PdeWKvEhdv4RPfnF5R= zvY4BWzVNw2zx$P!W@?G`TO>O`+c{MYkOH8Q%k%)`2_Uu5I@Bs6=f-_nSz1}SdTVnp zMZqWyw~er5fr1iHvGJkVsj+4pYoU2oh^ni>)@|I_>*}q=jUQjW_rdL*-T-P~Ei4BL zeOsVm_~ME2|K&?3zx3+Ks&=e&7(F0UVlmAel}BrX5AJTWXBf|R~`?#xd;>y)Bq^FH^xlO&VJ^?OSO8_*k7#apeo+qy>s`` zqetHRdZjAzr0qU(iYYbu5xnnoIz(VLE{;#1KK1**|NCG2+SgjG);=~hgb+e;{rdGg zckX0)VxnjFZllOXE*@)*9X@>cl}ne#$Hz;omOjZHFVN1HgLA8LmOfg$j?t*NW}{Mx zZIP-#^Aa=hY4iSHFNDw!d8VZ?#(_Brv$Zz1ku{EKWWx$octY`Oegs4?Y?Vx!7dxF! zKa--Ade~nv6aXS+1oHiErHV?7=>{&GuK)HIUz#6>&Gw9TBOb8!NQDq9N~B;0^q=n0 zm3Nd?M7y2z_PyoJZDa~>jIv=2^;|~=BV4Uk9Fyc?D7JCM)LNNVcRIMfxc=7F#VglW zx;^ATC>@&tOQ;iGe`WkX{>GWly>xWEl4*ZObvwweA_Q)Ds#V73Z~W|oI}f%y2|SUI zHHEK`8pBYgf~*I#kDN?SR!^Uti%qV1ACxi4!RDZ%P*SiF4W2X)VXv33Z|w;qlrC|h ztgSH`ybRlx78q-yQ4O)lB4iGkl?MZ~a{SM{Ae7C}zjU&z?PZ?%Y|!A9q@L zD%hIE#l_W?6_p{9RYu1v)pZ(;Mr2KvX5JT-s_l2XCW=1$xzB#%KmYIF_{KNJ$H$3C zf`kxqpEL8;*5=CU%5Hl*57{qz(V%%yuGMR2&z)^GTgI4A-~>|oNPbipuOu8hre+h9 zWA%EqJt(|Dpn=rTXd3@52NQ7Y=>twIin&>KH6L(=}!Q=@I$> z2oab24oX11gYd=j5vefUUb?irwfK0|DD0tzrHiCpcZtzdK|(c8V>w#u z8|lNP&h}R36BwfqPlZ~sWULaAXHv02s}&rYuDx{TaAd(K?V3u!kOgW=iIN8bsINN4 z%t?~3Z?@Mrw+mm|;Ff0I{t2jNbZ-%G6SA&7XuS=R#6m80wUodkPI-vr%ArY zEY<8?bdGc!4NxSi>b-@U!Dyy1Jkq$=%) zQ=XliId%Hmj@a6nnc2_3`KEDJR1dh; zzG&?GNFG?V1O*v_1DXz#^=dtGJLHSe3p{~{e;S`82&I}^$%Q1&@}lq}3Ly={iOFba z=wetadD&)?r`@oBt#e>@fK9T&*4}pEWgjb3@}HnwcI*hsCNOk*vT^?O!b_(P*SH;P z&uEX4@vy=uf3Hv~Kz&eY%?+qglva$9z;zP8x;0qa$^wSC3!(t>3ZoK)6b^{VvqPno zc`EXJubVtr-n@Ei<=UOj((0f$@a6W#ImCok%^W*izjR^ljnB-SoNJ6#vX};u=|elB zeI@aT0#&k5xp{Bx(aLTw$%j4wL5+Zw5m=dtm^C-hy2GJ~=;+}Ii$X(6R2ZXBqXebu z$c>y;y%Ld$`&ro7?e6u8tUz!OF8#kBWx=XhEQumFj-L)d61wm`_~Ns!$ca_a#*WmQ98papwINR{uQq=fviZBW$Dgt z5{A3T(ku>21mzKZOvDFbG%M!NL^RtnChbNhhvcNnWYeR zC7`;SgtfhFuZOa&!o-%03=OmeP*|X1Qm(CZY4c%kceAs;zIW&T%FV@%jUA)`<&onE zlP%0oH_sd!|IC@m^Czc|PDVA8Y0+UxjSD`{%SBf(7jS7Xx9>k*UGF4?sxcuzgou<% zV-NvH#F@8{$!0u1(`Z%L`ZPjeOYd~D0#ZUy2H0>!NO1|x(nhD9z-w8v5i7GY zKw?!)U24fCG%02wVYG7ngS4zxMFKy>*`i z1Jo_fA8&o`rRnp>Tdjts1(7umS9fmRSbThc!@v@}SBMT#tG+0j&DOD#Cr_R{6;~?d zB7JI|mhMC=XdNFilQOo;-2#$imUcMV}ylp-f@e zPhkh(JQh$zO|URAHa|J}cst)ob14m3A*1(Jw%(rUi94jh;NPobZn@PyFz_W(8W~6M zaCoAIh;yG8dC-6n8o8XtGh9Wg&6Faira}f}lznM7J$i0D1#fxrtE@sQRzsYn@!k%C zKn>IgGys;AM;%XviWCrqldMLA3MGbegp5d;7-}Ig03GTAmAqL~Dhw%{Y9&w<5NBN7 zPCDz|ED2D6JsEW%M`QpcB4z?<=4rhrKfLD6^P39>&5ocVtI9aXE)Ei6>EJ#s;nehPQF;I zHOR#gW~av%<|j?aBg(5zNhpAY90(xsfk4C*k<>{WiH}!ywjQkPcKU!t079uu3uaI- zUOAM82a&=2l$oqk72f*XXdx(w@*(e)L`Z~Pp(a-+6e;3dh^;lPR_l$|-}v+Y^Up3^xKOLrRLjb= zoI(;noo@T5KYi=rqep3$estvtlRimlaU9RjE}S}fI*uw#pHM;CKC`|or%@3ja+n!M z)d_hIUs#JALwEI3^z(T^qp{ql@pLFaI-LC;BvdoNPw7ru*ovz*kXi*l!Nzg{Dcc^3 zPvj%7DgZ&P6t>8Q&g>uo`BI99V5n?O8?b{>IIE5ds|k>UJVT%&qK4e?Ey1fQk%{B6 zq}R5_l=EvM6Tqq0ULFRjg+s_;Y^>giG9rR1t1+=ifyeiE{%hw)ji}aHNqstOs5!to zR2rC{t$*g!!fO|gT{=5eH@yfQ>z9pooq^^(V$_=IXwVSE zs76E#y_3k{_+}KV+ z0mM#B5dbZLSt4FjQZ)o-M3xWFjx}PcIgU}$+pQ8k78=w<&cPWSWt^$W zskzy?M!f;R7r_{Fu*&g;H`a{SgDx*Gm!e$&J~9_z=4!Rd%!9$8Uaw!gc=1pF^iMBd zyg1VTddiO52fw?!d+plwrN_%f$joz>=hW2HE3drr#_Ml5=RUEg_b(iRpdCj|32E@5B(tcOEK9d{c6avLL5DbZ;bEc9 z0uqo|1Qn6NrlOG`hy@H#vlyGgi8FIYj!d06I&*wsVxno9aks*Wk%8tr-fzTaMj;GO z5Y>W%Q&@n6D9!!)W_xQ_3xS9P1T{j$%b0%QLDNOXU{ciRl|u<4s2m6 ziQlu93C;&5su`^gda9;Y6s?;NcE0u9cQ<#sWyM~N`RvK+7v4N|bfHzTDS6naIiTA0 z8#nJi-0Y^vR6>@7IEJ$zDvd{*&E~07r;nXD)@(JNzZgWM*Xu1UEtQI0r8>n^AL~d! zRaNKb=fCiUFMRpSUoM5f_+vmbU--Sf-NnTRF0w8d(eRwr+G@3q9Y1#T*iir~S|YTb zf3_cwXQwb43hBTR#AAN8dhBrZ{wjKd%&37_c^V7$Y5Y3DN_3zYQx9xNa>H0<>S$~1_K)i5;{ADV6+nHxK@(43vF z%}zHbCu+3{B=1n(wze=B2>OalHFM5F67^!J24TPnY@kZwdApMiat#deP*t|d0Ls0j zVc6l-h^(!}m1@O7lPv377Yt))6|7J&y9U(cQlZM+R^QxP-do=44FbeLnK=v{Qi4%s zs0RuVU@R)u9GRPqjF%!4DpVy<0b@N0sS|1zMMX@VxtXQa2aosu`;Twkzuy_83Pvr) z(fRl*Up#l_)I>E(r06*^K(xJ++`hZMy536)-j^(*ix)4x`R1D?gcVOWGs>2CyWPHb|Ng^A4@JU( z(ciP<`0?YXPMxY%Ya${lj2AZ-d=kH8|49T#Xw~iXcr?+lJA=ep&3w>czz1!04xo7d z?d$CPilGPo9(_ee+ZY0|FzJXN35+_E1Xyt7s*QqUC8uOD)JQ2&k!B<`@+(Ja!KSJq zNRf}$*#YotDPCqqXT*%5k;3y2D}kVKG?gYR;8s8@-j_SD001BWNkl4*r>lpiYx6T>R+5U-$n+3$ z9|n-VQExb7fK3%pB2mpDo;Vh*7vj`5yqy??Vr@6=CmKqj1qGutXCeZF6)dWrSsV3Q zy;fn;!e@qpaw*QIq{^xS7Igu!r$(x+>kl^XJnHOry%1nX5J(M!w3PQyC}51SPzPyN zsa1;{WsqFSD4`ORR{x*K;r&{(!KpeC}s0V81sEO2bs^42#S=t!%5(JP?tm>4E zjwZFF0fC9NR*#OInEl#sy>j}9n{4DYGpJHhbL}wb!v`(|2oXG!l6ndXa?DT!k(8lC zR+R&)1yu{0XlJ#h?d^xF-TnX}f?6UmBPJbGIY?0PhCExeTJ?G@CJ8~ZxMD%MXkb+g zH9k2PElgCH=6V-zUt4^z)bFRmQdmL(wWLrEN<}C&jAFK`6_$w>A{!hB){^*b!I4)- z)Cg3|QS&?wn!LBP@z&+Vx350lZbKLbm}JjzZ)tTkivtV}^KNr0Mk3^zq}zC&nlCS&1J>Vx^`{yWPHa?b>(0``w+LozklI znJFxaqCC&X$Hz~cIB|IXF!pzsC0B%o^dph5w6gTx`|owTZ35ePWac-D(jb6{j4?-! z9C`WWmluvKsHozJ2Y9Kl$i&37y}b=!Zf@>5kI&~;VZ+%zB4DCXJv=jZdvSTI-!VKH z+t?FyU%hNJjCv|Qt;L=nC71h2zJKa^DM(>pVq0yhiG)n)`e4dgr+#v*iejj7`VpE% zc~l`#=~#=PDCNT71A-6F*=UquOl-*YdW&q1f+yKb*m%61$Cp2N^u3?mxc{h~dk9!; zEL2J@4{391auEadDnasWVRrJ+WQeI}{Ei8GX?Md?6xq5pPBi32pV*D|E*?k%1_ULp z8Z#bf%7=!l9@^>KE4S9aclqw(awm~e`#*xX!UrgcApp7fkmOMXWDrHhFhPT50wahg z1R@nKJ$IuFtkp)q*uC4k*YB@yce27jEJBc=IYJd|N=gwSBZ6u{KooJS=3*9CR)Nak zD!WFS1qp^sohmcH#GR$izr6MS<*RFJ+wcbJQ8)CtR}cNxSB{^WuQs^%|FQR;O_p89 zmFUXc`?zb%`>OWnh9gV^BtQe&p)`_a$O-Aq7b)g_(Vx=i_ns6|1Vu&g$pjT|NQzE0 zAPnIMvpYU%d9>>o<4z;1Bf90<#$2f*|T7ND?Dt*a5>J5`|Op3a5aODyU$R zw9zx^<(vCIdFAbQ*UP@b8#o;?jD*Qs7J^u%C{Dy6C-^LjCZ{H114Euvf`2Fq#L;xu z8S$x@?E2R5AHM(cPhQ==wFNI=pq}FSr{_QW$(3`*+U?XC*NN0Aj3{@D^2&`{>zl3w z)L0eE!9^s1cPfEsMl-WhNpfHR1t2f-pZ@fx-}uHi{{HX(etUa+++OHz{}nppMo~09 zJ>6=znCY&yuiB4YU%!6k@|Dhh*K+D5FLMQ}jqW^}szy=tnFevWl`EzPMyX^gC^h+z0Hp_z}4;Wr zNGD6-24OSS-kkmji0`FJtrp&KT3ai0IcvMTnHvMhKqs-Q4}>BO&IGrAfDE9y+q=D zgVKp%o?X1W^Z$MSwO_otceCS$fB_m2fAWc`FMjs)+0|yEJ4I&~oJWxrq^_rNXGEM3=l(;D4y_93$9mD!!#x( z)sK?Csf^gE6yBBU)j|vek%RThfLitdC~WqWRZw_z2eRMOe$F+qP$Gn8i(n=ZAyt^j zb2LQkqSnwg*SGx3Z{7U<&o8}od1rr!5`Y02PnyFe922n;38}y;BognTQbM~$`P#)x zk32jzIngp{8?MgMk4$7jpFkC;k8SF`_r4&2*gA-T*Vk7}kWKgL0@!6eUAZiYIUHM{m4+ z`=wW}?R9hK5ho@xD4h=b!Uk#!wF0t4L`r#4B&DbY$WWX)V{;REjetam)lN8R?e&tk zFKz$i7Z+Z9dGppTh5#6?20eZ}`|4-UoLy_Ql0mHdhWa8s&_pRT6tg$vE9?D%M^L{K zhGR_xhD3?kP>}2DbUMzJUc9O>8&wVQj;d~MZhrT>-}&a>ee;!9Ub%JaR#6nz+Hr5R z;J=g(qy&^8B5@o|&rCI%^*aJJRfsB+Fxgu-H`dp04u`pSK1os{Rwa>xh+jkrNYiv- zVPS1;t=Vb@{n)XSV&>i5-8bHN<1hd6FTeAh@2sz{mt`3`=H72E-`9nW(^ElLKLYBJ zS)8t~El%%twxp{96$xc~;i;j5P^$8he@pw{QbqIt`-1P}l!xXA3lH1pmRRCUk_0L?cfE@}UI}gIR-OD?G5%9o*XP@AtG`Z!#C8 zrFt)-;z7(zBoyb!dQ>aT#Cx}kU%YnXr!QT3U zKfL(Pm7T#*yay2|f`Z5zg7wNG;sGKd1OZV7sR(wvgBx2rTb;T3Y{NNmC404GB90oR zQm?4}>hjJ@uim(Pd4~unu&^>|Qr_I|E?18GD($`bt&1tmiy1{t$~ zNxYfd?%CIVwfWN*FTMKujg4&-01R5K_}q!+=g-eSb#}HE^~moT+P9p0Ek)sBhu-Y; zu(5|+;n}ExFhqT%uoePhV~jDw;c)%>`quVVUJRos(vV?REnRW*=FK1d=tqC?7k}~A zTW?hrk#QWdlVd<#As}}+L2fLPBx<)?wOXb}`Rb~w0wGn=-QB&t-97KTF@~ygIYWBj z!U)35X__uCFSlB)kZL?!hPl7L|I1f@`OUxk=0E+@KW%PqhUVT6X1%^o6h=U3-fBP* z&|rS}^xBQv!~US>eCd?{uBs$~(a!OAYCIp(NR_H0MO0Z!1yP8A$=1_atFVc$B*DX& zTZI{Y;zO7M%0xsqGKtzGGS*b=CmJURQ3)=QjxPz@JH7YTcQ$s5rO9asmt{v#h&mBp ziyO>w;iJB!dz#+bmY=_J<0n76cT=C@J9z2Mcc-S4tiG^3wUC*5Sq@dbVK6fj=iWOoOpQ2JTSGFj-RH}ZlvdiJiova>gk(8i4faHK?xdXmym)Vsl;+}P>$ zT^vz8VlpgFqn(a@?XBD2`{A2!yt%R8g%Aj6wawX6lb<_({IgH3v~1U+r_>Yai7!Bj zr~#+LlD9jf29*H9d)ME4^UXJp9XqzXyc|-EMNzD;um8)x{L5ec z)nEO~zx+!a$JW|3O`FYTp69`x-P2hRBT6YsqFPpqqDYVCrh~pP6Yq9+yWMV{=OPlv z@jWvGp?!B8$IHvhhE3SI267oO^?JQmUU}tjzxlV{_{KMe!(kl9L}b`J7>{~?Y?w#? zje&;YlWXlaFEuu{yZie+0&&eB2L<;Jb)v8pWm1sDq|KP8npoe06&D*OrQ$xv+u6pY%lj8kY#dvdGCnEG zzOiYXL_{>;IHH=GWYU=Baf~`Y5d;CPEp<})Rsf% zm0_WyigK{RLOgM4)wzr7d(GG1voXoT^N*c6SL|(+c~5+)P7NDl*u>Ttqb4dj-7jiy zytn;>pI!agOV{4L(X&mU0|+MCS$(SBg4f2K6U*36Q|cVx88Z@nhb#E zkuhdCYhz(jLbuGXUfbN*c9W|M&AJ&D!}S}Rzj*8VxBur$H*WUw93aFIjKR}qr#|<| zW6wUkv^Z(<&0S80(87@6cv>j!7G~gef9Uu6Zr~8os$)SBVL-?lQCDVb9LEw*jP0@1Xe`jJlIDxQ8&!JkF!`8r=qv7mDZQy zMU1t++M$wyQ~)m}yutyucK2U>=iQ~n<%fm?QXqs`QnRjzIXBJ-o|!06x4@^ zfax}#d~A93P-R5Sz4`K6w{C3>iUQ0?64XeD3V&m3ospgY907 zoMq^>a1bp)ah6l;?Szkv<6T7X1XnsT#uy{yAu$6gFowZqkaq$6=tn=;xV7=U?|pA| zb#;Ax{f#%?xO(;K?(S}yro-V-MCRw`UwGk#r=NcM#TQ?^a^=eXT^N9>=k|SBri4zX z)9dvD{o;OGKkxl;INaUcy?F6r;C~ro@;twA;llU6_q~7o$A5hJ<(Id&x8pb#k=51J zFMQz(pZ)A-Lyz7Nl-=XP9&ph*uKxuwh%0CxYfJ6hyOTS6-ObxW^%7+bA}T6n|4=`y z)n;hSmi!NI_XbC5t3NlH;l9Kji=QCNWs$oA++Ty6TRouwbG zJC)HPiG5K838Azo+I4g4*wRZEu6OpF^WKm;wZxU^Pw=s14Ut!eoqhkyUu`qLyxn_r zX09Hm%1nUkcYD_^Zd`hM>(Z6&_cnKTdZIuCq%oEkYfnG1`q}4BudcRlZqc>5bh?SH z9rRpDP$mkk3CAr%JQ-$*0gBP_?#iv+peV23D9#<5ottX4n~f~XKtx;?d9l5@xqkEZ z_08_p+rxKnb$eZ3dKiKcEY2tAA6@y>)92dL6L_opdPZ)b$_5dJA%6%ZWvEd=wbF+k zlzMZ^b^Dt)Z@ii$k+FVQwWY>aUO4yA@d*#xjC=&ghn^(`g|%wl zv%;3*_xrj)JOEflyJ4SveCn&8JA3w6y}|pO@5HK>J*ii+ zLe_D;R~Tnn&ADUsh`rtEmyocCiLj`GRU!c^yjQ0XHr8v=?f2e!=bg>X&1SRN>-9RF zPM+swSq94c!otE=zVekn`lCOZnVEV0_17Pm^;0K#*m9<6dRMos3XdNQ26>)`km`O1 z8rL)Z{O3Ra_P4)%;=~Cex_R^FkAM8*U;N@1moH!5+S&@)&$YF+|N3A4>zBXs$mfvzqZ-e$*Ees5k(P| zrR(etZ(iHpxY60~mZd^~7--k%*xJPTC)b{Oe0gOduE$;9lvB&~3(Jk}PB(X60c9pL zD$K01+vLDtW7xAn*K2V*-`cvle!V+cuQeK3T1!}sQ8nGCvM~E>IHn9|Xdcp{tmy(8_cJ?<2Rnc@= zLM&L3SS-!gpMGrh*(Xjm<3icAQ^YLltA`+?8jI0`G^$3xrO5VP-r38;Bk&9-FhCMv zZZiGEL$hE0-0??`w`z9ZlslIC3B{z|14@b7nzPNJ&l*!}&6S6mnZ(U?p+rp)FlSOR z3Ke*QR}T^fO9_fB8!n1sV`F1uV*@~vBw;dSSvEU6`v-sU2Y>j7fB4i>PX({>0LWYw z0v{P0CyBMTT3io)tJTC(9j68EceJp(bk1G6bm?#Y=5MB_rvdEj?7aQ<+k1O^{eB-n ztJOMo?AV|D$)EiG@BRMSvuB&F=0}I~kGun_47DmuB*4m4Yx~&T_4oF3mltlR1g3~k zHLo5OEt4LFoAv0Ibok5vxRDxJVS`ugm})G}WE;J*7^+vYfY;zoJ%xI1GD_+VpuR82xBX`KN|aEN zvSAbhU*_-w5P@tZ!8DPXv!~jhI)CDmPoJ8bqT%qS&$*d4POVHldV1mFuP&4Vc&LYr zDs4%OQGnnLIiivXq+r0q_t5WkExK&L5#Uh>;Hwzl17e9tZG>i>Pb@W`{lv=oM^@M7 zvU<`jogACbPA=DP-t6@IN&T$SV*7x#Nu;L ztQkDP1C`r5jNtnW2KjVtF=s>an@cJ$wB8Ba4yW z(Q?OV9vddF1X8lXku!A{x8rzba_!;T!l@ePlXELk*24Z4i6Ih(S6~Dv3L7%Sr7Jls ziia75MBe)>%TAv@{rS&-{=fep|NY#<=dvujb?a8>NBaOffIRMM;Z`LvRkJL!){foH zJ^fAqzW@w}!yo_n#~~hM=8yq!&b3;tM<0FkOJDlZpZ(dNEi5bqx2sh(`MtHXKLpjA z6fvQIkCmrVvpU^eUY^_Dzuq4V!Ay|}r73qX-+)8(U5tNuAiqYH6e-3ynug|7|L&dI zD2W?IQ519N&u|yJRRIHQvu4B9>K!$nn88FwmGMyriQx&3$kifRm~K9NX64$}mF-R! zN^E0~18N?DgaKF|lH=lK2rZG4C8uuaq(B6OmR-i7X3=h$$IeXrr_VnA*qOO@Ew|`% zJoHMDNtb7ukDpzA<(F69zUuNE?3oP1cqoh~7A7NxB_|)$7o7rvp#C!i;9(Rd1puGJ z`)Zz9r%@f5&}zH!g-@=1{<$-AZK875yF883)w#xFXO6#h^}@!Lo(y4XVFZGVG6~qR zS_+$S4tn4v5h67PaNq)*qdvjUeQNoOpI%#=i-tSvmTZE_c9u*w>uE9=4vuj8Mp@jj zv8NyrI-2B&1ueD4DH8bif$+u5gTWva0GvB_?vMZYkH7x) zug}lV2k@&>TjcxdvV0g9Mr1*KH%LuJ#Pf~p(UVK>UA@)q_qe;22E-P0*Fy0jFF`$NVL4As z`p}7mSKhvLYqRTyqUAtrq?!aMr(#Yayd~@*x%H)U!(PdNVPsjgiDi$P#o}D@nWs;E z_Nh}R=WBJ-li{W>dPGI7-YSY+a>cR5))znXOsDs1ajUQ1q4ZP{hgj9ZLz!Z-R$&5t z+D2;N*%w1EF3htCc|ibEfcP{5CKEhO>KGbo^`Nj8$L8?W&prJ7<14FEjQ$4kp7+j@ zflXA|sZlZ|#W`iD&9#>vYOj65)R%?ZNruVk#U!qSVi0KjZm~#7Dnb#HvE5G3CTi$N z^+c9s&pr3t*S_|(uYUFS>h-#@MpaeR7}ILC9xSf^L2PPjYG!7pR;%GYAs7JX95dJJ z^|CC9C^)iyzfVLR7dCQ6m9hq>CLtn) zwj*AfNuPQAME|ANZ}$cw)|jj;9SJi>1Qrbi!__eqqZ}Lo3RWekjyBa)L1%=pqz5YY zZ!?lM#_#X;HGy?yL|L4dyjG8Dv581fW9dYv- zMtZ#7KWOv_UbQ3=<|tu%YGv~ICs)hTy?J@3Q>f;pSfd)G+&MHAGvWaSTa%=Y9P2P< zpBTghE2yWKsN?uz{i#Qmo;*9hI%gVD-$)OpWL1DTAF@ZJ(yqr(JTkr4S^4qH*Dt@< z>y_#R&cj260fH#3Go+<@5kZMkEecj2D>GPCyo(}`1BnJr#8YeZ*tz8=9$h=NIys$| zaoID{VGKd)0i|ele)_pjoY~#IP`tgh+XoZ8l(|9;Y!rpDBQBYR6#B4sdHnlHh-qI_^3@5iKoc4 zvWyqzS08=s@tZd`I=lNIW*cePxDXq|U@Aq#s8R&tQ1Tr`(aOro7ryX?uYBbz=g*&? zot*_#y)d&irde++FD}+lUuMBY5a5&7eEZ}0bTJ7Aqb6@=87hibcg(sePVs37(+K|$n z{_EaCKo5Kk$Dh{GJA$YZ8m0zg3G8?y001BWNkl00ajBMZ(6KyO{%_D%~aoUm5| zH3TBBtd1Z`LPk?-W2OX16q!M*j$_NU)5j(rJ~nx7t-Ul8S#;osthu4W1X+3KBPAsj z<@w3>XP#YUgEU&d{9bo|fI{J{_l6COK*gzwzz1MLpkM|WSVknUD(n#f&AOd#rz^9y zPdzzt_Qdq+!bCFzxsH{-#n2!JP$~%x3=JPWHNU%;m$`rA;%+BLX`$l0Cj$a`_<~Rx zQxVC@Az@6{aAv7~{u9fe{p6Y1={V+nMsBp{+>W))+;v*@*6Cw2r&p$~UE5Xx8&i-O zDtQwT!^9x3MqK2|Sdhk;olef4o_Y51)o0HxO(sRg{Yd+4y=4VRhy*MgdCGE)(VVN# zpRCWHjv7m3CO~!O%(7WnSpMo)fA5`lF1-EPTLnsHt0Ky*h75r2JXQpLTjikb|NGB~1gD*42@<-Pu(_wG(9LmSm0>`GBp z;;LH-A13Tm6`zd1J9KQ^C3Nxc#18h=RdsR|WicU+I8Dr0R*4RVXo;yDE_?h-ZR%SM5 zDMUIE6&5*b2>>u6W!~AEX-uDgWYIfc7R9yoe#gUzlv1jwLI@=TY^pSHEyYwTKC_&i ze|YZv<7=x6v6LOwp5=o5pe(nttd_ejoBi3D`cqG=UAWwNcgywJLyOWQj@Xj3ESAJN z9~o(9SY4<+a&G47$5$UavpAgy@*bC6gCaJbwbW4~1)-?4H6-oY+**D4crv}HaRZzY zC4tD+YEQiI!sp+3{q@ey-p$Qhg*XvV*t@8xCjbFhZMP>*pE~vIv(J9!GoN|xx#y;) zrqVPGUVxdI8LH|wLAfXF~!hR zqDu=?&n1f#m-x}8jh%9L-w*lo;x;2c6&=nAv;pRgzlLthYXO{*(Xt_kaKMpa1-^W5=p$L{SwbrVvSa=hX{lr1`T2!~g(shU^3CsJ@?#mpZ@fx&!0cPwzd{zU_V@9VSLOF`+>2AM_vOw;oPz1 zy^eHV`Bf+Hc%*D=fKh+H&mA!VMz7rAU;PJgVNg~{2sLA(szM8-T$P|587Biu$kt5K zj$q*@cApLy#C# zQ?}i1&P=!FXX?|F@yc@J#M;zElMM~Hyb0em7#McYl3ZcPvKFiYHGm_^ry7l%hC=(x z)Ai4N>deyI>@VNEa`EcsjrHN)E-)fPOt!JImL5B?c<$WVv6c2z3kmhe_tP|T!y#!w zT3AF$w%E^a#OW-v_dKZ8+h6_S`F88di?3e0^xpo~zV`OZYzBrgQBT(9+YcR^d+fy2 z@#Wf7%Ne&m>|8^+H#dFSu(-VMOUHKFBlf5{)P2;p6N?kaAExOgZ&H$kO$|tVAo?*I zA|^U>_M!jrKmN~^wY4Ao@P}``_16CWey7u^*Xwh0bIU6$Po973nWvw5;_=6i9Xr-+ zHpk_PK^8(ppdlHeFr3uViFUh|)fVO#X6I%Xmll^6m(HAeXm)OHd3kwxd3kbjGSKLm zIC#LjXH_V}Wahw_&9dx=Km6fquf2Bd+Ozs~V*wkfJ2>EN3LDx^%r3Km$WR*IS#u1uT%@}HhQHCLO8w5Eua zSTOQosuWbw3q=q4MtS?4or^E;U3#UaJ1Os5?6Vfolwe3he#(JD^FDKg-8v3_)j(Mw z#t@_wDJV)kY!2&e>P_7tRolFNd;iA9-q!Y@+m*6V7GeQIve?Yew_DA0vQ@8V99y4S zNsPetSb9eHE$uRTR7uE%$rV-4mJBFXO$3?OL`|baQaCOh=bG#eWV#U49`r?w3@AUv({?Z*p#)zXPH`48W~vaMY3BJ^$;oVLI!SF|(PJ4fd}ILcp#{V-#IiaR zo)a-OPig66$L*aiZr<+SyxrZ}9rk-JYorWqH|r~NQ>*h6_0*}~VeG`VpHPXsm)ew^ zh=)=N+v?>krp=A{c;Q6t_@j1y4QWFu5!8rVj8qXrIB2AiLRGun?)4k%7cX7Bc=6)K z#_hnFn3T>4y1mI2`Wm>|DBZ>H78SolYl!`b0E6J-xcR zy0o;^s5csoM!nxmc;esH<8T z<;g;)`?2-`jiPr_MU|Z#T}kM$`=E{NZ-E_lVE}|wNQsCQR$!f2mp9|$q2<~iefbls z6KTt6dc=jH+7g;l;FJb%+kXFA@7n8|Z~iPAtf$zHXy51%niA~Dg_WQoDk@cUK(y46 zTT~0RK_7|LLrWqOf+ORMacspzQQGR}GAL+Rn4)078Ud>s@s?3bV{6nh40%RLniC3= z0b`HRB^nZy)wPomiWO0a!iX5K(1>6Jky7H+dQVCgHY;FqLE)qnfMhmM$s~y%pse=kZZPnf>QdosiqEh>wNK8w(<&Y`YOP}-xz9<2* z0Fx@iC9%e_G7qikM@Eg7B&Di@FMxd1`cnxCjy+k&M#v~4kEE2yY3zJdIx0&shM|a! z$)YGt2*{n=SK7B`5L0P$&jN^5WF^&xl9jfZPOPMJ$CJfV(fmoIZJ0zU7D@yukdQ_! zWJZc{;b9hK(dl+~clY}J9uY-RT&rb`dZW>77-Q~!|Bw7cD#oaY0$xxc^P?RLweWM($Z%t?~e>-Ac#7OJ~xWcPcCK8OqZ zI2%b)zz||ZoiJOEPp?ev4NewsU0B~OhNTN?Om`;Z#;jHy?;ghx*a!%t5f%5)xjyoB z{wA1?CmoKs<;c)PBdbLm5dtIr0LU7}s32AtMFdVMZ6@uRxG~}KP4786{GuP22RSI+ zp(t?ZDF~4XE|$Th-l!5eCS{0M(e75A8}+y)Y379u8x|OKMgaBj9Tl(MgFM553W6gl zNC&_Ga1~Kpts)Uhwd&~>U+dCF%d>rhi7^;v7Z$8bs~oje)RWMq5vSGiS|Uh-41{^9eRn!&g*@y z@PpaM5@HXxYb#y~W^3_N=Z^2>z5MdcjU88(CBYub{2yE~jk0M6bqm#Rsz)>;?T% z^C$>9a{B6cAO%S^H#JD~DTQE4O47n;38Ww|EW)`_D?aoh3tmHlswDux3ksnUtcHo% zDpJvY(5V-yDP@Xi6oqlsDH2L>iV~VL5wjsx=Y=$ekC-Au7Jyfgs(X+ZbwU8CVK&SL zL=cE44L=4n(UCJ!3etnBR4Tk`>7^es4L)m3 zUkH>1B6{C;Ek~Tlo%E~wzjXKC9R<#p2AUm*EN2)lRjIUh!qxt|{1-l^3j@Mi0Rtq0 znqskzXU-k(39g z`h6os#Hqjmjxb=9Twzp6;2nky7(mdWQ?Gy`1Hu~^K_ie2{;R?RAs`R(M!e`Q5gBff zc+nl!HlYqJi6Vr6s*=PJ7_a0dV5DB4N~$z+iy(VwjWY;!l_*1hC;|*?;Rg^9>ZI!P z9T->!84#6(ps+k-+G7l$q9uE6TgprnsgQ~~Ke!|D%dil{9H|s#aVv?Md4Gq=MBF3* zt^?Wvc_4$7LPFKouJkI%dHRp%_w%O+S47`{Cr3oV{Hl*Ujh78krM;{0QEnN%6&|` z!-ai7Li|xbtN;)(8Uz*0*P_on_E5s<&tJRN_g;{Av7m^^vXEh}lx_8nMd0xN#x$}@ z$mD?>i{IcTBSFv>m1>6)0m5DkA!dz@uO()>m0BhPWe7&3UKx#W#k2&%mK{{%WTv@r zVsGnRzh8?af%b?>rktp+I#j5Lf-<4_aLa9m8+}9JETb1fls&-!O{EfW0IP$BH3tsb z=PE2FkWn?`Hok``e1b?R1{fOtMGOiKMXLm>BQ8KWAt&sEl*to}qN~JYGZ70lM0OOG z%YkDO0}gFc6$-9e{{>ABzMEDu((tfQC>R7o04Goaydns25Y#K}fo_MR2}B{J7N`Lb z^+W)Zj^bxM5JNJgFsjCRLLBJ|N=|4>l;I7Cg;F3a&GCmdnjo$NsZvOSg}n_32z*-|!NzyoEPz8@);|g3B*m`&^o$Hrg; zhABa-xu}O@GCC~3|A2?`8yvQccETg{f+}pE4XMjj$~2#~DqKLnWYk+|ym`eK#~E!q$3v`S6aXv`g@s>X z08cbpNUCE<(4{&2JOTj_fU2RfF17}O+emCFkZZ^ja!?P{r$9O-03I?_Vo+_A#FVO{ zgU8xu0D_PcMq*qxP;o}}4ELM_qg7TdG$jBdurUm*DgYrkP}Suyw6BF`&>)Fr1Y-pt z0ze`Z;yx7u8x1v(tcXRKU<1w@LQN56n=%99d|4JcP_l$b5tq~`q6t%h%*cf1V`_E{gnqkXWCe9)7Q{nR)mdQU;>k7FOjg=w_{ z6RL+>1wsTQgs^^}oNE_;#XEob+IFujO0dAF@ZlzOdiaZ@F>4XPIBVhs0V?ng@F`MDwGh0UC97O2&#_A6T?B3*i&3^qqI}W#IbDVM7FqUrx&O;3DkiU zngA9Ret*B={tel2+!JcOhuz^2KSrE*U;8L7Ovc_P6e}EBAHtJof@ZNSP8l`is zPM#OarKpXw(pMN{I9dhD9GR0e%8XQ}`)#($#~&mnR3J`$p2X?oL^Dm}K$8p1lY{q- zMj?wA#0_82Mb0U*CTiE>o)_<2pKdQ zeLE)8@yKCnwNWKk0dsKG)d&UNjDi$S*$GLNL!g*U+j*~&Gb4&Kv9;VsCD$dLHtn_c z>f_1mF>1~rs*xr@1|&cPwMPnAesk@Ey0HHR_EB6IRhU^=k`9#K2w+eQ4asduqIhj8 z; z5jUpd$)$4ZR*?@GOkilq$e}rppq`^<9@y645ZpfcdjKC|`A{WCsI0UzOz=g$Hh>4X{1Xjoi zd!<}xpi~IRE6CKyWF9<}NVV40l+xMe{K@vpxpe+4vN>=Xh;l#-7#cZH9`QncXCK5q zq6-^)vG9b$*9FIf zLBdAil~_6SBm}E^Q3q3?R+y%XX0nCV_QI*!!f89P2Ga&*RGr!Y9O_obOWEPhi-#@1 ztG^yQ3UB;I6BlzX}BQI3_QyjWe4;tOL8qm03`gmjvG@zEGM4n7glv1(+6*3AdR8x%v z%^X>2T9QoL*8JSs!%=%FYRywNE!;BPRKz0&d?;JtQD@5s0_r35`QzRD=$`2CH~%Z_ z*A9f?BWEN7REyEAk0UYyh^sUTt6I^FFw=}Von7KAEzu#b|0Jo?dM(pQEG=TT@C@V<6Oo5shXmrAIF7ZJf+3}|7Zy&c!h`srwp)CW@u$9PU5L+x8J_9d2`qGUG8<9 z_@~1zDdfrC@9`aldyl?^bjSMgac083@}gDJY?Ol-o#F@%TMY+|{Er5%rACG$#Z;?4 zJ5g(-W8Nnnd~$r0L#atpB_gR@SPT+aXIrz4<&(pr+ubO9*$1UU1xpbEgF9m`(xVuQ z9(aU%+~d7vM(#4M@B;u8+V}=Gc9>V;8p5qPqEg8Lz3~N9y2(UP3mQR!W7@~j>(}vr z4)y>?p6fWJd*>A%*`9}fZ%~qIlV3fj5;RmA0Og^hGL#7nG*A^V84AR=iU&0IV%8z@ zUhqwOs!3}B8!Gcd=6yV$Mhn)_EX(igf%fslc1B-w z*c#v<$*dyk5ma17ya%Qtn=MbwPEFJze*N<88#~3Ya7F2rBjQM^ataPj_!Kh6vXAN@ z5-{>_;|G0s-s&AobC6B`xbuPT@~AWp7YM$}$yS6Y9%ZVa)n5_8FcHWq5~8}b)6Hx$ zOOgXD1R#jQg!{YmYH9pGh7lkz;5ll>Gb`=9*XwtN`vdZYl8af?8xy#!gof?k2OK1T=d?=V4^K&f_gM;cXNXH=zVceMdU@^OU2>1@C zc4%P2pwXc;;`qYuw|5S(mulrk3*70yh^j>==wXk~N7dyM39%<58as_jWNK2Flxz+0 zL}T%6bMAzlUPXNdoDpg=PS+kutsJa(zq5~Kcet>7Or1k^$0|pJgUsUii!gb~0wyfZ zs96&MLqQB=HB3EwYH_;$%CFY1tZ%+|bJN(CN!pGw@0no9M9}}gy(?{!8#%5ov#Nl; zXNEVW-IXj$Ax9|e|Nl??!LnD9wKvHjXQmGTRr&m(3TSlCaCq->9h1S}^npefstd33 zeAy=1Cm>R|UpRT6;z$K6DVj1+rs)W7h@7VR-t$u?Mf-}6qY3HtuH1&ngh@$9C4^L( zGNEO3-Uk;P#KoPqyGKu#Up!gfKdUOB?g8NX7^SzDhWB#^FG3YTbV&&+SU&juqptbk z>-OUL&J^kcyHqJvQ*KI3K;eW`QjOknN`Rv%#hA%_1S~Trr7GL90`ivNKj0Be1)!LT z^eT3qEODYsU-`nCC_6yw-oCywF{Db0^mu#tmLB7~HdXorIZPI~oI zPze^`6s9E|3~nG1G9*)F2ubT*7cN@YVNy>YEzh1V&YsThe-)noS^No5n>l0f>i1ky z!#;fMv@iOn9>VUylaHvG$WL7`AKR;bm z|NP4RO?=a>scC^qsG3BhP0B3fvNXg8Y^?=ShzKESU7l`I`< zD#>CZ1YSfXsH^;xRf?^oPSLU5Ow|7E55N2JY&8eGA?Qs_o^BgY_8vKi2x{sQvu^e1 zUzpl+r`z-YZMIf(VJ2YXWXQi$A;e5cAc9b;l?<#bJ3&Gr#6ElX1)Y!)mVN$buRibf z4FYeQED+^31*-o>+Mb_DaLv)JeR@|ZN{0;j6G_cOI!FRqK!7=pI?h;~46sfyalVGD z1de1%7A>`gq;;F>&T8`uH#wV~Jei$+F}wGh>FE=lJVN!rFwJpKg_H}IJr@M_StM_| zgYM*3`9KKUJDXqg=Ki4rq~wE%)#1wr%h@D6eRTGpfBo)%{{HOzGPP(rCPAPG*t2F) zwCDoG#2}2yoHJb_Um3$(4|F3h{63@f`Y7M%ZR_1_JhoOj{OK*e%=sn;h!^A%6M&3r z7NA}cgc4h2^W~G%KSn%zf&c&$14%?dRD5}IHV;!^(pNR;LA>ocW%tpJnRCV!;sp~_ zD|cdx)F^OOPcNT;ySe-}8?}LrgSe79Z-7x~NZKp31k`BS01<_tC%3wPyUJ5?(5Fg2 zDxtHUD_zo91D5gK`o^he^`?Uk;gI8)A`ZeYJw zUFesSj{sqB`%b0}fK)()Ei0|hW+$t~Vp2UkJNf2^%O9StpS@hKThP^_!QfB``uE#u zVIS#(Wo7Tppv9Dnldb=DLEnz@b!zf$+S=GwJu;#9+x-xfl^#tgYMLD_M$#KXQiY-0 zxwO5%tp4(^U;Os|WZ~gbQlWUiKj*#y=aEJ+_Rt7=9xRGF2~K7R@F!{Rt1w$hb#mcr zZoiM|1>#kTT~+SyBw{8eq{2!I#(r}FdqgXj^|qEpf6%zWOHN@YxUWD2FlN!?8^3|m zy%~M{7DhD;$1cjzN!gcz56ETxPEni>Qp!n?sbwiy3H5-GmRsc-Xi_CsmMTL{t?5H@ zGq-$Lojj~hA5G34PgW06tq_(73+NoE1rAg>bZWkCxec%1;n#b}M=&IBkn285*?Yu2 zSb-)Kz&ZWn)6*ySPrrM%{_n4U_}f2z`1bk5rOA#dnlmWGK`S$mN|>nR+mS3?B1E&R zHOJh`y4!#4Ywm(~m18~5`VuGt0+p4)aP!}E!r>6tt2;vs zs8m6gZAeOQPr{pcz~zcani(D4%w*b_GdB&BRhX@$UQHi;HM#fHFCXaq41Nw&kcnUd zR;A$LCd-eTy?fMnED`lfDc^ADzpE@-HNst7w)Xhi| z$s$d0pci`3 z^~UJ!F^N5(x;t;!2goOcu<;JLhcJRjNiB&bkkAN?aFNoHZL-TQ{rJkh{_go-|NhNC zzWL$eqT56@2FOIh1XbN3X4*7S0kb;Rmqe=yl>L1t2i|1h=-InKm>9=4CnB}zTx1FfMPW1roeYcxt}L2cqyd*3rdK3_QOZ1RTRl_mnYIlh1*?rn-}P|l3H3+F(*`^gDFfcdF&L8^zHF(g)k_4R6<5XQU-TE z6gJu?-U+XdL2CS^*G*kY8a5amktG5V(g15<3f4eXIBh5tNAc7U;X2bu*D)lm=qjly z=q$|cO->$7P9N6GGnt>d`AVue+!R_9UQh`G;3aQHrDebv!j9F%Be{dHk0PH0!j5R@ z_7GOoFdB@dsSg0`IkiOrG>|Q@Nxa;q?_ON}bhUf&s{851_Swtz#io0;Yum(_*wZMw z;;Et-#Y!fV9B_g6o_&t107hodc&KA3X#s>5vf}}n%ZCXP9nestsswRCIq^81*H7*( ze*19suXjJ3Z(m+EmzSIMX4iIRbW9*5 zGbl%uQRH5v#F)Uo3!Dva5@O21g@UX@;Rsa-ikX7h|1B_pW)U>a9eEH#=&BmCNxhg% zXO(}joIbsG@|y>%$EUMp?N&8vkw7}oF%t~tDpJAwc+Shz+5sQ8^kEJNd#Xe+AQ3IF z6SlA|tU+q9y+HH4*_=057wvkT+HJSFNZpQY%Wmi5Cd4bptuTruAO@GOJxS*CE0e|X zVER!2rDO+`B$5O<>!JgEf0O4c_9U`1ZoC5W4@Hrq`bSX@&$IE|!p6_8V# ziL8SU(MCy>9KWr|km#a0XssG3lPGm^Q>|BizSPOWPgj0^5@w6Z{6wZJ)Tan5XbqBZ z6c2HPBUGSjQq;X030KB^c;&i|Wt10o2Vw6oKd&!r|L(BbhAmT!d$$S&iO6Y1yZ%80 z8pC%l;`3L{^Yg3c=NB(uZ7yE5SL>!}QZhuRjW7!O)hyn5_Ms~iNm>{>35Y?HVjzN0 zDG=7v6Za+>)S@6Mljbi+5U;k}c`_wPMeEKa6jQRyOZ>Y!kN zs1z1JEhI8oXUcc#d)t!-b9~d!$i6h%q|^o`GC@1U3#K*V&YE4?UZUH?&DG}O<@Vxb zTA$1I+{F#zj%g?CCSDv`O&yp_Ntc^K8bD(rV)hG)h{7CG?;T5!mTZLvTme&->cU*! z?*S3!UloJ*5{N)+hqEG}b5pYCw`UC1eWON8(IRQ}G|E+|Q9nDYk91@eaWU z?=%RV(OcnuFmz<6CAA`BxRX)=UbOLkyGWzx2@h)(DH=tbAsC%e2~Q11O$DL7ss|OO zMx{7`Gl-caLuc#^RlTU^OFvyyvsFD``g$H_OPwq*S#h$GFvnyDH-XeZR<$xsP}Ng< z-8A{P-Z$Ldt!Ul-$%Tla7`5dw)1ux=EeA}g5oRBHHn6z)) z?cqbHCR$ZK)EXuT6NE)oFDA>Cn=QmoR4WNnnNHzn&9RUMjCa5xiDjE9dIU z2h~uicjAOz=)ekA!v!e7h~(jP-ynzpgnciZe6hbAgcT%V1R^En-my~B))R7w7({9% zwdh)QEmI4NmZDjkY~3`^EjFp!S=*rN(6y4HrHI&BvrD_JPdT5!qQ#V29nwF_*AElZ zYhlu}K$OBNI~c7P05hYgs#gu-JjFr1Xb=}fL+~>}fD3e9s=As?rK(&#k!p%+DfOvy z6JJflSIjvO8t4MWXA-we9U(b4g1G@lCN;{&?J@N9jU&=w;Obb<8hudp4#GZ}e46b1 z50suTVQh`E_kCuwG;ht;Gq6xtDJqdg$T{Yjk_kEGJS8MUO0cv)VN9uO)3EN;snb20 zsD}&U9K74Na@C$6OG?KQD~SlOfaEjD0+Odl-@5D2`TaRazFfyLHs;5D^ARiI07tll zU}7fB5-K);-oPV` z!+Mzg;69cX_D*6YJAo{zCcv;mujwLKln^DZPGieP;@`YPcYkE!75Tmpmm~((> zv1PaG=Zam7x$ks2FSC2Rs9mGidty!s%8e~O zJ?+rEd9W^etUGK~q4|dWrPuRt!|hqZ0Sva~SY;jk>1SL;a`RY6*pOyNI4PdVTpjHM zeTEFPyE4H+^7WTQs*(#T%yFHP+1#fqjJR>ik6vtj$))p|Fs(0|(9*L5W#*{@^@GKa zu_yh&(KalkzOi$EOt1SNholG`ESMwAIzD`;&;6x;_W$Sdc|#bG*%(GvO^;g~++`!> zYH!XRnaAZ*<07FxDyj!ZV1K4T$r5VMlwRs0i}z-)oMHdkXgs4n9&a#Ie{PZEXZfP~ zmye43N^UTKUP;lSA4$p-;km+NuidZ5Bl%DOr-%jM%%XWhQ2kb%;-4bONq)_sO@fiW_SHJ2mnUj{{Y^z9r0T>djS8HXv(@MEKE z8Yua%|EAaTQ45mt@Y40VT6O&N;DwtG9xt3b`Bd^bx%2TRchtxEf}`(vuiB0`x?pc# z{=c-09p<-R|E|ZyipSOk}hFl#JD(V`szl5X$J-qpRza)9&O~ zB%hfUHnK2oc>Uvi!N)k)8_)6CnT|Khht=lEo96RfXZszFAC3I*Q@8IW*AKXpU%C7r Xl}a?8TgsKD00000NkvXXu0mjf;#neh literal 0 HcmV?d00001 diff --git a/doc/source/ray-libraries.rst b/doc/source/ray-libraries.rst index 5d24a1b0a..1495bcaa6 100644 --- a/doc/source/ray-libraries.rst +++ b/doc/source/ray-libraries.rst @@ -96,6 +96,13 @@ Alibi is an open source Python library aimed at machine learning model inspectio GitHub: `https://github.com/SeldonIO/alibi `__ +Scikit Learn |scikit| +--------------------- + +Scikit-learn is a free software machine learning library for the Python programming language. It features various classification, regression and clustering algorithms including support vector machines, random forests, gradient boosting, k-means and DBSCAN, and is designed to interoperate with the Python numerical and scientific libraries NumPy and SciPy. + +[`Link to integration `__] + Spacy |spacy| ------------- spaCy is a library for advanced Natural Language Processing in Python and Cython. It's built on the very latest research, and was designed from day one to be used in real products. @@ -142,6 +149,10 @@ spaCy is a library for advanced Natural Language Processing in Python and Cython :class: inline-figure :height: 30 +.. |scikit| image:: images/scikit.png + :class: inline-figure + :height: 30 + .. |seldon| image:: images/seldon.png :class: inline-figure :height: 30