From b3bafc134d14c8cb116d7b16eedbb60102565801 Mon Sep 17 00:00:00 2001 From: Nirant Kasliwal Date: Mon, 4 Mar 2024 11:50:34 +0530 Subject: [PATCH] Add Mistral Embedding documentation and image --- .../documentation/embeddings/mistral.md | 67 ++++++++++++++++++ .../mistral-binary-quantization.png | Bin 0 -> 30199 bytes 2 files changed, 67 insertions(+) create mode 100644 qdrant-landing/content/documentation/embeddings/mistral.md create mode 100644 qdrant-landing/static/documentation/embeddings/mistral-binary-quantization.png diff --git a/qdrant-landing/content/documentation/embeddings/mistral.md b/qdrant-landing/content/documentation/embeddings/mistral.md new file mode 100644 index 000000000..5b37590a7 --- /dev/null +++ b/qdrant-landing/content/documentation/embeddings/mistral.md @@ -0,0 +1,67 @@ +--- +title: Mistral +weight: 700 +--- + +# Mistral +Qdrant is compatible with the new released Mistral Embed and its official Python SDK that can be installed as any other package: + +## Setup + +### Install the client + +```bash +pip install mistralai +``` + +```python +from mistralai.client import MistralClient + +api_key = os.environ["MISTRAL_API_KEY"] +client = MistralClient(api_key=api_key) +``` + +Let's see how to use the Embedding Model API to embed a document for retrieval. + +The following example shows how to embed a document with the `models/embedding-001` with the `retrieval_document` task type: + +## Embedding a document + +```python +import pathlib +from mistralai.client import MistralClient +import qdrant_client + +MISTRAL_API_KEY = "YOUR MISTRAL API KEY" # add your key here + +mistral_client = MistralClient(api_key=MISTRAL_API_KEY) + +result = mistral_client.embeddings( + model="mistral-embed", input=["Qdrant is the best vector search engine to use with Mistral"] + ) +``` + +The returned result is a dictionary with a key: `embedding`. The value of this key is a list of floats representing the embedding of the document. + +## Searching for documents with Qdrant + +Once the documents are indexed, you can search for the most relevant documents using the same model with the `retrieval_query` task type: + +```python +qdrant_client.search( + collection_name="MistralCollection", + query=client.embeddings( + model="mistral-embed", input=["What is the best to use with Mistral?"] + )["embedding"], +) +``` + +## Using Mistral Embedding Models with Binary Quantization + +You can use Mistral Embedding Models with [Binary Quantization](/articles/binary-quantization/) - a technique that allows you to reduce the size of the embeddings by 32 times without losing the quality of the search results too much. + +At an oversampling of 3 and a limit of 100, we've a 95% recall against the exact nearest neighbors with rescore enabled. + +![](../../../static/documentation/embeddings/mistral-binary-quantization.png) + +That's it! You can now use Mistral Embedding Models with Qdrant! \ No newline at end of file diff --git a/qdrant-landing/static/documentation/embeddings/mistral-binary-quantization.png b/qdrant-landing/static/documentation/embeddings/mistral-binary-quantization.png new file mode 100644 index 0000000000000000000000000000000000000000..7c0ac127830a322ba19454772d4a8384cab85552 GIT binary patch literal 30199 zcmce;bx>T*+C7Rp0fIY&2X}%y!2*Qf?(P!Y-6v=WZUKV31$PMq5AMMsxWnCZ&Ue1U z`@8p#TXm~$swT73v)j9$e%4w~CsJAQ9XbjT3KSF+x~z<(3KSGf4DdXSgaG`F=j3b# z1qH2bB_W|KDG$^wxnd9D;{S~kC|iOa`^HEtSZiY7 z>dsudSWiC|=_~QquM3nx#q8GXK@>z(+95%^7?zHxx^gRHrO8^EBkQ+L9>;Crh==y? zOUkeZx1*&g@lJoTGTrI2{yyFKmTL5#wRpnAM}^79%0`X6N=uupYQ;Ij@?KzZ|Kcp? z@o$5Q@biH~NnD|-7`|`ntKDJxpr5QHtMm-fjUnD>T5=w98?M3eOo}`=dB5*k{2f_ZEBucQ?N*bA#}%W!3ff|@K$2ike_HoI@z!~Vi0<_}Es5&L zE)**coCEiy45l~h$Y;B7e^C($lV0iYJ&#rL=?rzsz-MIrvE@V8V86X9<2!H(yeG3) zPd2w)Em`-BH?~1Cpk@+$+nk4m49`q`{lW6{X~=1SVBFSXLFlV5^&H z%9_7_55)jHBSArjTS37APtd@J2>3uj!6t-3Ap+m8fsbSk%zu7`iOGTe&ok6C;KM~Fbbx> z@ii2bD3q+En5qZ#VJ3VNUf=aVxH7aD4i1_s4jP(dH8wJK-!TQ6vVtvKwP-bLmvo={ z;VZO5JZyNZu2*Ow+0)N{anH45%dIE(V=JvE+x>jw=PTv&^YbU88MkA67FV-YGv8-m zER2x|V8Q}GhX48663wxXJO8wR$p(i8Ez$X(FHE=?Hf@Q2rVU01VDn?V*`wJ0AYuAfr1TKUEomfy? zy=r(l3I)=gNG8^UhX^kVvc?B$wbAfhTqJriWMCqo$0eXz;+K6c)&qJ{rgv%QVDq1W z1%_GF8W_cIVN8$cM~jW_I=0nPcf?1pURLoP3Z}5VM-zVd<5BdlYLjg|bNFdD%o`yKUHvv$HjZYdCCu-Q zVKa}e-cDhLNw;q)5!f%z*UjX2%Zq88Hz&S68)0odsAy&3w-5*uRTB$9z7<0x#i^fn zo72;v-K+d@7Ddc$t*Z9sTXGL3eXuAk%U&2damvu!pU6ohK zgKBPrBmIA_#&^JO%X($`D-8;pR=c099RHHQNKP}I6q5UuP@y*4O#11!7*noVE>rU5 z*j2`UeCOwPWN#k5`(p@?0};s_`QI#BmzL`$(!T%xjJiNPO%F#9{p#%+lvQn=+QQ+* z-qbcJvJL}R)(kz{q1ks*nCG-^6+BXLw|+v4reqC$tuhOjoiR59pVLrc9@{THQm*Tv z_;PW)D<1jYr+xTl{#%2e?STh(hmOaF*0W(oy@T2EWn{XHwG?gZH+!P~kC&;fn{fiY z{GI3;2EO$=#*s8j;pBe1vzjL8b2(zL?mg(dO>_F*KQo<&-&EKwHi+-zF=}0qsJwIKG$nHD`M(BGV z)jOlu3Ioe#x2@Btyngnzg2$E1xX{jV`@Owv>mX%xQ&%uzE3Ss_hn1a0hmPd4@|OMY z#+L#oKh7TpR6WS&kWTJzHsf3Ems{YmZcs#~IoRMB0y>>XnDHIP7v#p0)YU&-B*XG5!&5n^^^Z zj8k7-k%zxM%U%cNbl0Movg7Rcm_%@;FmMTP1qO*SF%nP$rM`68{W$Gcp_QS(HnJml z>zJcUr}XG{yreaDis(GhnQ!`;>xW4^nGkiXHlt3xHSTArNl_9+bRwMX%@f1IX$vtJ zEZ@plo`u2nZt1~R@9Sgd*iFuH!Kr!{(DahhZK{Ev=NnW{C;!>AiFf2foF^>@6=k&z z4`_jT6aiU$TVRPTL@h~vw|#1zC!eR=or(4%0vI)DXf(_L5|W_aIYbAITuF)%Wi%_BP4Sd|GzXXnyw$MyMHB3#eB)e*kPs=$hDBme>B9>$`)>5#}#< z1|IA1Y4t|Ts?o5L(KWYc`=yoqctw_FWFcs00|Fn^;V4P)%d(RYqd|EovmPxz1O5-E z;Z5Ji0b4|`HCLer56cueNSEzHIo=gi62d2!vHptPV9mi8NmT>xFa2TtoW6?B-FCdl zlct_Q->@DkW~U*CVJ8&f_+PdXv3$HAEp5i!QaQRIpOZV0;QpjpWPN@_B==Enc<5>= zf=l@Fmg&<$Wk`L-#9}Re~)jvZ)+Y(klgeqQr}<)~oEye+-=R-JD3Q-x4!j0e4tpzgk z?aB8eLKroSK=&2T0pG{VxxD*RHmn*`r$)8PtTM@Gkn(fK@?Rmh@;i6TsiGj_@K?t))kMyn!@JkB_Ogp3-6ly-eS5$C4lGcB<190p zs|~8&VD}!uRVY)J6!BjkH=8(L#dU9zd(Gm-Y=!zp4Ma}!ZSC6zBN!Yi=9O)S9=H$$ zh5Z|_J}i{cy}UaIbM^4}-s9iHp%75}DVN6gZ^Z{{*YCdS ztFaO~|3I5=OL_0ZAR3y6ou~d5iONa~C(lW0A0})RtJ3{$uc&o|rBwm1?k``ePj_uo zycAQJ@E;dAB+}1mUt3(XI-M>i-nCYn4Ez~kx#V72u&HSNw$!+j~Qqo8_(%#1dP{`q0Fh<-U+A)RSV1B$X!>rV!>Ikr8FxLYZ)0?D`$XKk7jo6Vh z5xWQXw{?R`(+K1Si7HHwC8`v~spk_|dtaAQp&HlVZM?5CE>;6$AaL4@%H1q=lX)M4 zSWtBBkkn;XInrlpnaCw__$funEuaHmHHEmW`6{oM!ukzHWHpw9s;V$O4yy-9*zfAJ zBB-)Bm|_;fxXY}KlE<@bkhUa%0hQ+HJ<9J@wvZ~*-uej5pgT7coiWuUeN~O1>vP&C z{#W_IM>tGTB4$%fLr*GUaF`Zxg`6pR3ssBC9;|e^*3iD27fp>D9G1YhLE>hFf?vH< zayd4_;l!)aV&MO%wxTygY1V}vcXPadQ>{Oe%(^$zhi-=kJ_;+~G|EYS^So3gt(++=fKs`r zm;d^t(OPbd{&XrDq{F1oq;iU17_ziev_8c#!c-fx^*Ia;YbxCB^OtvJQBGYbCC^qg ze&vD#Wm)E8D7~>WcB5z@4`B1Sd)AD2kKgWOv$A|rPhSOmm^0m_D|$lpko0Y8R-b=+ zih&HVP#{$w`7hPjR3VWdr!6&A*; z$X*+w9M|>4oRcl1FYUN(;wx?QJkE4qNxLC8bKW-DdFf~t)5G9?lGUh#`qc4XzZv4* zZG)7_QeB(z+f-L<<`ZA~gKThkw17{APkVP|`wxE)8b~b_qtU{8S%KykziRFMWFQ3m)&C#g z6)iboQ*Z3n@vM~yaB%!|Fw4x|lkImm)OPzPJ#y|LQONtsHQlZu?H*VS%bkI+kMi}O z{2~4m;6x7JKS5l?baoTz6|PV0gwR#+n@ywXyyHT*TZyMrW^r={{=RdK4hDSwTc6*h zH0$dq*>*f$RrozF_4EKn><{hxuc|uhZ?3)5vzU2ZJsosCx09Fo56Tibe=aqz-HSg1T_?%|u zvW0zHyq_PhFMl<>!Tb#@XP4LMn1D6u zz$TPVoF1jy^*gYdGL=cQ3P2bvjw%`BF>JG?8sqGx*M(xi2=-Tp^G_uz_qxxk&rdtW zqq>t-MiRU>vt_!edbt+6vDmJh=j6jbc!no zGw`%bv91BvaBDbEJL~y!&S05$)rZOqG1x3cOZv(;#{XtLoZ}>AT7QIE?k&~=`D^>~ z*`i-qnhk1yM$__JCsHCuN7Fd-H^l`se-|UVs%1836!)JZG6-kTbjxK$FmRBh}=VI1UR*azC~-nimr zqe@l=vuIoUz5x7mcfjg?R6p0EBz!A5DJnf^GH;feEXYQul<{^#&ugy`tNC!IGQT6Am4gb=oHIy#cR>(=XU!kz^Eb^ha!inbMWYvJ5 z&yyo()%SY&6|dcUu+`MJW{^bKU}>G*;%uhh-Chmg@6WZew%>?f?J4mtIR+mN+)vGD z7%-zeLBL47(AAd$LU!Yjx*cFTSA|Y{v7IX#8m$%>zx0Q8Z30d-zOUrHxQ5|G+gcE+ zv!dh#V>p>tu}Mvos4%(b)@LODu^HDNz-0UAf7}8*O6-k?SsjPu$<1chLv_p%T zc}qdRS)td8q6P6k`(TCwB30-_wtk$CCCi8n70xmVbv*UVW)NMKKnc(moomI(pT%ubg6Ud zU8tk{_({O9Ghpzn(-dy0N;1bG0WKpAM+|QQ15B_V;21ljuJhiW{l~KuOKMypMldI~ zKkn6|%WfDfhM@ADz@_-}fS!QIU&A!;zHhx9sT~l`$mQ3a!b9dR|N(s|MYtR!(pM;_Pi2!YYv=D zo<*uSb0Du#;bsgog+9YSQfa()3rW<+-_q@0%THx_AHOMpL&b-Yl>%_w$Fy>ebTb6` zJ_$t#nra>+&yvupqND^oqbghEfHuGhD;Nz%KnDO?V}_3N5RKib7&8Ama^Jdi5&!nJ zUUDYC-rsFk3pUPKCQJjGu3a%{U*nrsWQru6XSf3|UG*zC2`QA!-Rc65ms?wrv1u*U z>&*|Yi+-ifJ}IX!auKZUDd)Du5pfUuKAa951G^sQpa-zsM|YP8J3LE{J%c~L@3}?C ziQ$8&-o@dJBiy0N7e=j@%RIEk9%%k$pceAF08?wOjq@KcO)P8ZI)$Q56TnV8>(giN z`?S?u*p8$yqsEQQ5DuIrWmcobQ-xH!Av?UGE-(@g-rC>^Ju60@V^km*h$AKLtEt{l z-cI_c_*t(Egk&10bq@eoW<22tn2_M#R2yc;ttZ0s;XV|aa5K!22eIVhn{$G0GuWr7 znnhKr4K{NXIG(qEdoZYKc2^=rw zECVI7;2D}5uEpNWvbKfW<+jkOLgg~EY3>RyZl@aP$Js2BcZh`kXszG#{}8k_5vN+E zO@$%yP^DQD$G=aX2DVODlMnhf$84{PfVCiE#101O7AQm@f!KcFmOMAK$333dKD7b- zkoIdfzL4Kk+Wt0`ZJ)|1Vv-9jB>J~~4&Vx$t$&l#MCVqT5j;h!h9YkQ;F-{MHFPyK)dM5grOGv-DH*Hsa(gGRhS5ep3Y2j10g2)vl+%QJ6m~^Z*f( zJRd!I!C-GQ#F&hJUshAsk`hjaZEuSA1CGQ9wm;ov%6j*~4Gs8ADbpi>8BJ$gB=TK3 zQF@BLvzv3+e7ap&`WBg}7-dAQABT*N{R^ywKXK(KgoP+&iGEX2Hz{|vM>_beKU0Ob zp3tGg?v8&}@EL zHgQfeXO0HUHm-65fPu4men#lJ{N#=!kU|noWzp+RmMufEr!r4%3Px5P5DH00f}hNl zKpe157Q7&s6dR?ox5B|@msNc`hipp|LF8WJH%w!7nT1olg>j70b`1=3RM2ntc{6-M zRadFxZ2f;n3hSxXdFhNNE-=uijQ)_b3vur@c6XqP!S+| zW%Y4qa`sqyvPr65n$ypU47eJ!>T)!kWkF+fWnaz3;49SdI;tXq&n7(q_ifLoadzJZ ztpSO%a=j-!+FME1i^ULShMT>#m$AB#j8Kvwr(^^$Qtx!vn$Iejce+B5v1VC}_aD+K zj1BFyKhw9(@Qi4w^XF-7^cG%_Dwh3GP{it1Cs4p~ag;`L2n6kr%TSOZJNBf9*vIPF zX8B%eA>&d!WoUk)mDc91pJ|24Sun4iuJss0i5=l%ti{t69k3=q>8EPn8~m~*kJNZN zH8=g}T%Mr#mGF(|LpTNl6eH5<8!n$Rsk^i=c9VV?3cfv^)X_hLXw}-)6k%cSS4MYd zgknNp!vtQ&E3r`6riH2uHAQ;hk-|g=tk5B2KmFySC`*XYrcJ{-zkTih?X#mzxv-RN z5eo_BO{$k#S-sG%dLV=9TyK~dPGolA#gu-r%|4#9>QwIl-JIV;W|x=*Yt{5Gj9u3D z=|4P2o4Y36!jD?aK?j2;cu6QOkh7s|M@z9v|5r!Zzbbi zuVf5|>}w_!%t_sGnU;6sV#+tJ2qKAWa8*bqTGP-JhZX)JPwABvZlW6aHkR%6G^ED@ z!tBYVmGrM>zu`ts>cqw~`tm$utzaP#x@xkp|8N0qQjColKl2?sqdjD)! zVG<(dV41TuJ?|jRfD``gfTjGt3+zU0RcIN)ZYRdn_D^VaibaoM#FQ%Ea#Lxn^l$m# zKTxNb0m8L2a2svEOwWk|M2G4q^%&fd|GWrM7`_JqnCQC-w)#J5cX|j6v+UEXehJ!u zf|KqXd9#n$*#D_V!1=(9cJJmJ-M^F!2w==G*}63mUJDq#p!@?sYgC3I6YqMiUP3uG zxM2#Qb!gO|x?eO7&@$e2BIU=29TC6K7Yvb-!~m#3D03L{k0A+&55STpk43uzNYMR- z20NYH3?d%e-4^$gbX9L<}YDijcCraJ3;MW70>p>e}si?h_C>-67xrZnYQl= zg0BGBbo=9_=ItPp&H!lpSngTJPb15Y~h^+C$^L(p_ZXkwm6L9V-R0?VVV%vFsX*w#w?!P0MQv(e77tmy; zfcqx^N8+4?N4Ef8zCFN%pM?M!ngLo=yX-S&KVYL;{T}a{@tCzE)SS<@hU^EypoFVl zY$aDxepg3;Q*&uta*if`>u9Jdr@P$L2DFtpvzGMb2u4K)G#7A6HUcQELNSxS0vNmm z#{0Wqh3|%DB!V7}l6bN}ImC1M?=WP8O4D5msK_Rt$yYV0EXK3SwdQAE%yeKLuqdi` zF`w@P0105m$SvcoQ(i^@<|`tu!OOiVI%lCqz|&B$lJWm-6fU(>{gwttP4GYl6P^F}wU3b>cK11-mfi08Gb!=Pc(t2&go{ntGM) zlcPZTKgv?W0+z0t4eh&T0RLufMrHE6%=i}AU`($n(sqU$NwI+WBIaQ_e_)n)IXKQh z+3ffn&^tTh*#-=1OZ6loEXltGB8sL=mJ?hLe^=MM4eR4z)@isnZqR#~F)CU#Q@vbU z3fdI_*UZOLOxGw>P(~M#rlFj5XfGPC4*ClKq#{3qT0lXwU0*RYbz0wWP~!bhJFTgJ zEo@^_z9{f=^MGLhvg1u>O~HT1%@Ao?8W_3Re(gs0m%XHb2MYKYU?%(D<<*H<91F26 zvGw*Rwl9}03Pi_)8cBGm11b|^6`yptdbW>jt~&f5mVp}s*etU@`0IH&{?lHdYZM=W zV$4yB%*k3x){~fMA*scE-~1+t@4tLe&7^ z*mvSq+${FBd7Z@bJiu3OlUiYn3!cXS0Ljnz_#z*`0_CIi0R1{6biL#<;dxe|R|Ygx zg?CK|5M_70e2O?0O)SYHQ>!TltS(^2a}C@MX5U{R`94*&9?Kn$Ku8HgLHnh**Ff{% zNfnd_Jp-b{iSX?fww1q=UVwh?%8&^l+6PHOp z+BE=Yc1YZ1vK?3JX93fao;Nq7=eoVuvpSL@ZUjV@r&Wy)=l)!yl=vvaMW+|5)A}i*Z z?u=y~?9WxQqTfw_RC@0-3ZY*L==`t}JZH5mhOA^p|E~9h{vAu>eAj^X2SUdHx#l(+ zTRtlCN%14##|fUvTm!R_EGsbpB89;-e4PqW`iSkDy4af(zj6&_I(8$UQacNJU08y$ zlF*Iy2{|l(Q8Z3S6E}OF|B<~dHW=phJlpCW$ad-{6d&!1CBNkGy>oR37<>NV*cbx# z?unEQ4(BZyPUjE=^K=_^YeG=Xfqt zi9}LW!+gi{(;}(Q-!3d3zm>XoE4(b2R}dONk@GEtcFfBdO5~AT^#+K_C4ko=?@(K? zF>4qA3#)ts>z6gqb(z9Q6|NZ0+?CN2Ufu%%12~}15yjh78INt5VS=al8eF1+FqWG&+o9K-# z&9iJN=T{!P{mwLG6gzZXtbVx|2B#t3E8E(iJjYF&afyN(c1#-nIi%U%$IX+{o+YK9@BV0~>Vm|v6FLuyTQ6nt zd`v*8MxqO%2Ig@s*4ykCqqmY1w04JY-~;O0 zm_Oy>v>0=R2%EYX%%#+0yGqYbkD*K)d^tX;`d%eA)5V`hxQDdto42=yrrVxbfF?Hq z_7GLe6ilJyr`hpo#nS?W?Ki>LDin5s)#0OcSTuvGK=kGJuRooygGMNh=7zZEbg4`~ zM8+5>(*CStlo8>F^@SOGN8%)zRA$iOC%&a5aKt4m;hPt2SUK8sy+iXz1w3GWM#3)^87X$!G67yFr_4-=Lj9G+kNP} zoviT*a7Miqy9ZmZb|)m5ij%5q;F!Ab4v=*IdH_Oh$VDA+PARYh9xvk#Aj?(n5*-Wm zD#dTy0bEKRSLi1X|0P;T=!IrO;v}b&Xw@V&a)=E?PXI{pTHRO7HY)ntLgA&E*Rwpq z-kDYCx*oDMK(Ng4o{#3lw`%b>^I^XvDnLRWFg_)RR|J#q9?sNUMauO9a$KQbm%+(j|cfzq~g|ZF`8Anz6ReUBDJOTH3+t}DL?mjKLMm)^w=yi8}%1ta(mx` z?}bA!BWGKm)h)_^-Mz6l*#O(lyX=}6BXP=>*Am&-6cJz>jsvX|F{Ykq zsJPzR#P~{kVE0(YS@+P5)yeQWo^_&?o9qaP0s8gvwRfWS3;7i6dwE%|?-J3LGL60gl9JE)58Y!Zh1iPvw=eoM*3NTeV`luJ)=%|+=RDK$Nfh>`NX%!4#(E->F4)%Np&?y+hks>SZ>d557{1JOW{LRVN zK0oa?Q2|Mc`F2d~Si_$^+R;*&%g`0=IW81mf#V{#H|9gCfN6e&Zf`FN}JS< zGJfyaoe?R9;NO5n)5P~Ac#}Zvl44nuhjp<_>`!SrvF|<;pG0-ugeAR$oUL{82JwOT zUNHErE$>UUzZx47Cs=4_c1eC%loa&$XJX;H$^gP`_y+EE9|NzH-YWkP`4H#x0MZ{T zi;HD54>jdG8`2)1 zKL~DJ$<=j`vb39;`c@X`u2xD0z_3hSpsuaFn z9h%k5fh%>A2q%Scq+_{>P|pl8K0*M%!DvL70W5MToD~sXAY1To{ce!!XeUJxL}eN~ zD{KDqHSR~X$F}zSF$Fzla666ah{_>zA{6@9S&Q5N%+>wkxuly3GRM!x++CA{6f#f( zK{TkhKc@Iz`QPf91ZOgMS0aF9ORz zXbsCXTbkrMN(Jj(It8ych{vKAXxkI;#!Dln_`K}Cs0kx^r0B4dJ7&OnvN(0&@RwA` zt8N#CmalHANw~t=s;0L=S$}(ia3|ZpJ*HWK%ko_a+{BZWd~XaT$V4f(MlJln+^8(C zzBi{IjsI9ZKlcx%1gm78PeGaAUDR~rik8i1S zQG3*|sEB7FHkfAmcP6;0UO->Ctc{7yP>pS!8EFMYhW;_DU4GR^W{Aak=i zR=A>bGVlj=#ssn{VOTT~H`)A7WMyfJpsgY+uB*t-D@c&$B$zJqb@%r@iXb#mAM7|^ z1mdiBqlw?ToQLkg(nIN{njs>Xe8Zcq+1!p_b1s|K@HUrcCVSjgu;ghH5kr16BOtWP z?x5yEYf}000r7D(B24VEFjtsYx*@MKG_|4_)5Ydf!8Lb#wZFqLMaibWOJ+6wvGSKi zAv#Dnk)~^F;5~wEy4c8GnfSu1C-dQ7*6J^dRZ5xhbs^rklAem24D zXV4Br>lczQlLt#C(bb9*y{UNZ-|$84bcmc0UJhQKxRj_Gi9(L$OWXM#GCw*j{V@4P zKN^}mMF?tX@oVj~g2P@q@yQ5$Z2&ig7PCWP+VqdR+nfp3;}}A#)(pG&g05oT(jt}g z^YoS57VPj-zsL8ysZRV#P7Q;K!g*?ps;&rg7oOBhQ-i^0G8?sF)M)}X$?1cUQ&>(^ z5`L3S*ToQ27zz!>DCMmBt|nW~1J^9E+Zof)vlbQo9-d@x17ZxraGEijxtUa!g% zF-2)|PZ$W2m#zSw5xrH-6L#LB)wpId@*Cv6RZRUmVSREWbT3?A1wHx_$d2jf=IW>e zymQ19g$pf@zFra=s?Ci37;rURosSw{CRRU#t^k^5@8zB${E+x9jh14K2l@u=2Nli3 z8>7DN!?;Q5Dx^tIfKGQ@6RqxLgJPT)|A19j5d@#${x^8)!vh*pGhCs8jQAw@olFau zD|8s!E7P4W3mZP4K=en6M#yj0GV&G<(nb;%Tc)2)W0?EolRJq9Y;+j!djzl$aSOX)OpszQ z+pcMJB%5>#DOr5lqm;86278fF39E~nk2Tu5_YZYj5Ow$PG3DHJ2C8ST zM1@0_{+xOhb)KYL~Ub4!efq=LX8rUK<^)l5u1W2`3)lye|Sp*&eKzIH> z6$}U=AI!8qyktQ&2_W%k1jUP-FH?)9k*2RlhIv;M{!7zBu4!1az--^LwP_L9*n3y; za=s)yu_1&fOupI6ODCc~A=Kv2avg8Zm+j+#h#s_T+O+>5Jar+2=Tb}k|EpqirY+p8 zk8RX{^4hGnw=DwPm>v-HzXU|7ZvuMaJO{j&gn*;IgB2PCauI)xWVfICtpPT_6)Cq`FN`eFk<=M2%F_RQv402Z|Z2r9C#pHX*#1Q(s|fay!Q3du4~#Q@C)4rBiuU?W`ofq>x^ zx-x*nv`>7`X@}5W!v%Ld9cp1i*}_t8hWthmDv|;tQ$5 z-_=Uh?SVj;*&a(&b8_E{53ah6_Ih0|=RbM>b!Fi~X=Mg~VS#7Sb`!wZ2jAYO)4mN% zW!SgtR;WLEtT{9S@UA8#Qtt8K%%)P42>wLE@rO$>dqv>h1wLvCwWH8Y{|1 zMnoz45#mPrQt8v~drZCOO`ZZGq4IV&J-(L3PwfT(NPg%o7Hdy1hVbs6@oe(US0$C; zr!=M1-JTk`{9Cg&bSsM|&I!<>eQUXnL)+z23?b(d5W=t$4&XuYa}#dmUKs)tgVL}15hNX zKzCMzfSVD{EmF~V$KOjU62v}VZ|i|Vfbf|pd)R0R3?bFHouBD+RyT^%dqvq~ZrTxh zkU-Zht#dIgeSly+{>i(VW&-}Pje2|bhCD;NX)7v%eC=(6lK*9=Ut967wp z-@~aQrD+RLq+!3Q;v$u=+jQ}VW1!`!J`^`~O2aZl`{{lUkXs$;4()tXTnSoX{*(Jb zk5`N1N6kA~lUeoXPXGf^;s5*;XF?4(2Nos?5`umETOzMB%i=s3Q{VS;21}(U3>~{$ ziLiutk`2^)F)5$VrFBv;1KoVL0<@dFegJ%jvX>p|imYjxOlzad-2wje&1#;dy7%=l zKwIKahA9?yP(dgV@3SE~v+M?TpBu-y7B`!L-;y0Wd=h4C z8%=sauIK157q}-J$7k1`u=Qh=AgYN;$GD)JAJdaMQJ#dwY@(xiwd2fyN{ zCjxf`2NK)h!PX6bct=Wu@(2*zxTA5xca|V!IWE~$H6ma0SsnBE2U>+MYmf^^0|IQy z=p=91PCsbESBDurE&w9Kb{i1Yhc$3WR#+}hY^07x2qS{f3TUiSlE)#~iu7tC)3{~< zYittcfA;6d?~`H=0E?C|0Co^WrGCH(+>Q)zNTDDXB zFicTkDOVidjO!o3T$AoR0`qDkL;k9({arknI37qR332%rAhe_5U598=alU+7^>rr< z07d8)#Y2L<>;bYEJK7OXv;SPC6t;;RrpLQ?kx7yOxuo*fla@^C-yda@U=4Qag3Q}- zv+lSVd*J$1Ug};C_e=2beQF)w&B*XD0dlXbQ-FyH$Ciesw zh7?$r?SO;;u*B82o`~XD1fA;op4%Mp`Q;S+BWBNlvSmUw9L;>~2dq?M z?!ZnES^!vRX-XER;-IWH&KnRhLM>?vjn<@<^JK*z#q#XiF4db!RAvi&7@S!OeEZJB z*%%a0ZM@KoZh+CHN@ZBb3c+yQ{Uw&zRG6YY{0MM`#>_j^d!RY~PRBSN1skUXkWvKdy*63QenIX&Z4>#6JEHIPfPPm(;;eMhQ*%UOhIR1%4vTldq9WJU8QL!kip?82CljsUZZr z8?IyDEY(jVUII>G)*04>NIiq>MiT%3L8RGn0k{F!xM!M5Ap>@7*46&Xx(M+&J znUiRO1#008B67v5?kI@xWr9_^hC`e`nicKTE~MRU_PxSFeH(&={HBz8^skc4eUwNXGD3>z5Bp^Bxwy@3RnX&Q*Wfn}?GejR$xN?*SET4v#eA-_u8Ghf)$heK~A<_;E z4n%Dt(RSK;0c4`nmt|(1uEJ#OSo38D7*JUQ(?MC6tLdC z`kwt@1JMtl`S&D5au6LuU$?sgeuCU$p#taxprg?a-V)MXH&O?H zLb4wi$KMdMV)gscu8%PRm`Ao*`HN<9ajeO!dNeHufQ*c_m z4g{aZ#HdrxeHoYZU<@KtXgLAWaGT0(VA&KfGj`Psfyu0LY&eY1M8Sj=DoYg-VQ7&o z>v*|sH$mxlfPNgIo4FQZ#>CR}je-a4LBo8?wI4SoMXwbR>UJAOY#(9&{^RWKH()Le=1 zVc(2!rn?He_vvaxKPxF0f&I}Wsyo@s2nnw!6humbMMZ0&gwtSlZ}%e$62exxL*DMr zi_cMtj8^aJjvLEc;-|+x3u04-5RgzbF-*msLGO!S@#Dv1C&~&cgD#W5`G@T$lueq( zI$1tnW=E@~f9lK=bES2QA0Zs#b`rHLbqTx++bWzA=hGN?Jv%iLq}fTnH8h%3g9| zL*b$LqbN>=8_s43?+pdI)|~P$)4)bV0$WF+tP0KZClQcUiZ@Qq=0!0l~yWfW6tX<8TJ2r1)rA`*?AV`bab zYpH$)v1Bf@8E=Lbwb8Ts${S9KRLw#yYPg2p-|J@|Cc}wwBX?x)fzUrJBtg3**_F2I z6-Ly`Cd6yntwH>tja#fwfuY#Oul~KoT@614 zo`}fMX-f|k8Q;RaY)}hzDVLV9yuQ^U;dRv)cr@UE)3j=B$|p>%BHO@WC(U{{#F&> z*rrgqN;TK?tF$By6RwN-B=iGNEgc*$e~^|zc@YUOaDR3GHzv6Z_UYHAD@+_-#yn)q z0r-5U54uzHc(B-|{Sk~3o(!IY9O#~AZ_sl5Mrk~Q(P3ocPzx}E!nV~m1+)|b#CvGU zJe>Z$>IFKO!7XaGV_ENV#Tn!v~eCTP}D6miQ$1<#DB${Bhqt~fl zSgnTlS2aFAg0FDL$wLoNn*tHnG3%%t&2u7j&XP^pK6HskCgaV~9;t>(;V_wZA06tr zSIeB4R|9medmV9PwqJxQnA-x>hipA53x>T3c_{uf%q-)$%ix3`fPQ?zwk(pC?P3< ze&ZqGO5Cxe0_yG5A1r^!O#RzfU1ZiQe6zC<4!B z;4i2OhM~<7-)=i|OXxc_|DjAW{3)uScN-G16P7f?YJhhSIvVkR74?NsAO+4K1-JqX z;*R1BepS%hh{M5dlmPd%U@p58-Qb;xgSm*xek#?m*q;+?p|b&^wrS|ErXt z*JLtf#sgEu0QATynF@FhkW8>TmDm>GwNAwi0 zKFfb)8Pg=IYz_nphjPKe_H_l|k_Xf9j4miU{~#xgt=+ z_;gFPF}7rNpmmZ+L&)%pwXGv2#ITIYf6e5ba-4aR8<$O^lXb+Yn6abHN-adQg3K-wMxAf9N&P}kM^}mF|BG% z3RB#toUW{YvC8&KZbGkfdoF22pRS_rRQV_y2mukbFJCV0sygnJKH^^$RBR?JsHOCs4 zKv33|4bq8%r$UNNP0rx2HFexf#AvtSeG?y*!FZuS#3t4`I!M8W79t_1>qE~P5{MnN z!RuPa1(#VWA0L>c7;*3p{(vAweejjI@Rx^b?Y|^&B$~=lS}H~qdBNXtsY;p*Hxr7M^4|%* zShD@LTz1N4MLTQS(5ye&IV$Q(koE1=xV8BTuCZPyYY1JyuNKdg(|wPIsVS8P4hVgI zgN9&yM{V~JULGcx3l`3!Msy-w~wFC_g=sEue;V=>;B2G z=A1oepS{oC&-?W}ha5e(e{K9yKu$2;^BhF-{L3V;N)UyXXpN6;`9jC_GLC5yV!MaZ zP}LDTR&wOw??!_er%>z{hD2?zeHLq!ZeZ=a!ulbQDS71_8vba&0pa9{M`z=Caoc}7 zG?C`Jh3Tt?YSF@fRtN?!tkDf#FKoolJfmAxDoy!1VM+`;5;DPPcGNQk92dIp8xtA@ z^-oVBn%JKH^iak&m7M=fmPW)5Df6n0Bf zh=>NIA;jWp#Mavtg|H`MvZcJ6N0)T%TvWO;J*Brkh>{THQf|3Sw(0o1J6O(xiPCun zUrLHLKMvF_agBS}l$4_Vu2PbwgF&_{z_h6Idc@W<{St~s`hcR%A~aSf6lg)BVe&Y# z3rxSAZ(bfhx7*Va+{%{1>*Rr#9wJ<0qWB`$xYvKTXhj9*5GB$n7?&#a)3w1XwU91d zXI8ms?x{Avtwr0`BI9ds_l0{9YU(xpm&l2)q67ngc%_=?h|hnkk^djFXObNyM5reA!Pn(;T&4KPve*h_Eq*5dyD4IT90(~M@P4CcS- z-)#ss|9?Adu;F*B9w~=zq$mNj8-{{Nx(YvmP2be<;da3`fOS0p*!9xP_K6zXC=iL@ z7D9`9zPa52K#Kct1cb0jI(@loucORCz)6;w>xbdV!6C`B40dAS~xdcTokawV&;V z_~~WN!`H?f2<$~q6_Rt#Z$6|>fYg|UdX9(7h<#8}Ui|9$H{%HzBqjmo*Q=%stplL5fkOI2^8bMc1Xu*A}!6T)-#=TBgiZK>aArm*us)`TcP zI&E#S(aRdZu63ROsrDw(w}`z8!z*_84PL6Eg*&)7yD#t(*tExc?*2?$_?f73-B_R& zT&i(l%*H(i@u&o5$+jr~1z*ff74cQek%c%*+B(AD`OSC|wjD5y$VI|UN`gXZV9=hL z?|jPp4depMmDQ{Yj=s9ay`l=^oj&GO+p`;ko7-D zIQ3m5JV%x6a`B31hhM%CpeU~dnA=ahp1gs$usj2d4Vu}5BnJ?DybkT7#Yp@0&#`+X zPJr7)b+kXQaTf&YxC5v#Y`ICGBG&8i@U0I%haTWt*2v|-mkG8neR^`_&DxZ*Jyd8T z&$IGjoXl)X^YkF+)u$_!xlW%dCNs5Vw55#Z!zJp$@C_U5OWe`mR(=;Nep^yoaifuN z3bctodo75NDzW$3?6u;g8}pz3fimC6QIM0gQsYBfK=}Q>rW1VjtOg7*Oc=(V8BER*glVo-*_kWYrz=L@x>IsIZHEkQO9CX*|sXVrVc^@?u-xVnAfvQthkv-8ck+JKf-TPOQl2I$3z ziN|Wm?`-)kryOg%*2c+9TV$STbKzi903|i~e!dmM>^|+g)M>*-4n z`wH_awN3A1hEr-9wcdmA8nqklUrwY12h+|ir_staP$5zo`1wF(+zh^UGdFEG_4J%+ z*uh`}SDVh_vBFQq7zHX*FyRRmWe-w0@mCt*cxm%3Z+^ThytV;Q!nkoo&qhc_ReWfR zVApC!ISGi)(`&PwB%#apxQ7+{2_?siyIfN)Q=8hl# zPgVw5Smx^V+$BRKyIwG@UFxc{<0Lz}P3RWr;_QPQ25HmbiB*UNeH*FG z@m%!c-fKV94&83-?G$5fQs4ZKWDJ54^ab^Iq_MnQ2O|Qr2u9z0>LoHh!|bUhlWR zR{@J5Bou+Gg;Du-AR?2s3Pf(i2?^~yGrZz(AFo)6OrV^*8_bKk)-N0h6WJ`IOq&eV zCmMMpx-H(Yvk($p-1|=0P3?3)3%9Pg#mhd%I~=EwW-9XdH^4|~!V8y9gg0dqiAfTD zGA^-us^1!7zH3@a*$V%_c2pitX((Vet}k+NM}b9V<~wyfX(}y|VGn3$t>aG?_{=EX z%H!d(6A9aLeQAE3bOS-5$zx3VyB=EFS&9>b%}s2@TNxqM&rrQ0K9`(OFqKgZD)B9N zL{XhbtN3=LF{vYqF>GWfTs;I9Ngs@Nt8k5k)K|@SFg?JGAyY0mJC$E{iSMeaqIj`t zGEy*pIo%p9J}zV@TsVkYrDqcha;g3iK|80d*i08O&3D6`*hLz9HS!uhd$>aXJK=%w z9m%hvKi`=CGn_u)iT|`W2&L~!1R5!VJO*jdh0&ZPXWFh5Y!1>W(lg9ik~q5Q*2*xo zoaFP8$Ap(Wok~TlE|op$6&$bh8agB#zg6W}Jqgww%o|j9Z4XV*^y3qZO~xsS{-NH0 zyi@NrJ@fX4R|I|EY97VOa7x%l%_-3D1A7i19qBBwFSX@;Bb5u~N~l;sE-yM7@LD{t zL7Yz&D;=peI|h0lAVWZxj43nScI-su%2K0rU;$EVPo1Jz|l zyI=-5g7O0TKD+Y$ylzB6J2n@g zGBlp4{&{AAM5B%v_6R3~qy6VmW;P_g`E{9Q95$bNx>Wml;W_hh@v19BH~b+<63P+( zB>iEF+H2bUT+BiEGoVRW!>l+j6y~ofCkWLD-|#Ck5BIp~m_7ToQ6)kg4~r0AZW%ce zpTW$R3(PVj&eQR>`A?1tB2IJ$?dva5*o;Jx%tscH{rp1AXgJD*)no@{u~G2c*Lp9+{jT%$H5JadXngt0S$|pwwDdEAkb|@ zhD7JluJl-(2x1i@UQP+y4naBOoqxkB*4%~i>*1Y`VTf>Vz4q$qwD5Z zY(=ppk#>+MRLSpsA5n*eYP#ix)uWBMryU9CYlbd-LY2()PH%_MNq^?6pM?%DrC%aA z!;%j2nS>TkKY&TivW|z4gfdb2$)3j13)hvfi*bQX#PN19_!-gPL7X73rKU49CPF`u zY%+Q(DWuoU6&sXfp5-unGnu5<_*(M1^7`ze)E>;45w1MzVR}s5kADO^344Oq&8$u% zcfJzeW9IGWQ$e?Nt>fL3KYeq)A1phyK66~Ule{c|;%JN{BXeavDS0kZ=_Yq?8P;5p zUY9qTQCLvXC|;O*ogQnx&uY~Zu0w;Ji=SVjSah(bYx$*PxmezRqqNEr{lC>l&l_|dWw#+pkS zo$KG&MToY$&Hwpe$*-fL@4+lq__w%L(tBKfnKX)KcA&yRzlkJGs>~%U$c>cp24k)m zD%p)2(W4nnhgwl#QduPt5^Z@lCK*yrlPxZJ`~8LVF{N1}L>Y4W$4f$vu2|*lhamzm zm1x7kDy4}$5l0Gv9&=kG4)b2cJJRZ(RuxRGQU-!su$g;wTMEf3pn8~!Wxd8&T2l}5 z2ShWTbe$f~|+B?~!HBZLuYbJ|okZD(vg=8>W?N zx&6a+b&3J3LZUdlUn;wFBCZ`Y92^}No?3d)@g!HJ6w#N|M=XP9O)HmbHK8j;aZ_D@ z!iFA4FCVSfTK{!y*^C~sf!vxm($L9A;Y?GT;1Cj+(RjXw3$_e7|3GKrB zNYN_Cq_+50iC>z7nQJjgd!MA-WfaTd$FPnI%~u!^sy$lKa~IllzK8!5K#1K;0P0B*)=F`Xs38I^(LR6=Yd|K;PycUYC7`t9Kybwb_5Q} zN2?k(_R{V15y9bJJ$D?$qO>*ry7MjCbIqREc+e3tdA=f)OI1L6qknf0g;%K{t7_&~ z9+8gF@~D1RDs}QZUGnQg$Qey|{TW_?){W}kD;HF!@dJ7qpFs~CEzXyL0sZ1y{Lu(p zG@73$(tvrm)#v&MFv+PVB%Rf5tuq$<(=o$iy4Ki$YwXmQS3M26gI^5l%dU85so*lE zvvx;F|4eQgGnd85F@o=st<+iwzHsdU3P_u(hlk0QD_TkdiSF6BA6YCxETK4H++t*&?H7h`Q|d5P|LYdp~Av8tMpRY*px@r=ScKSWri+6qXOr zYVXcJ)z|VNAc`>+fXhv03$WY&B88igTrM@OUTdN-Bde%iFnfhoBjodYK@>chfi0_k$kC`aGYOwfs!C4#4aD!zU9u2W z#Ufp+&2y}!!(f?HFpuR4>Vy$e!08n&ODksDKXo~d8s<@+!5DS?3O|1bkFhPP9m{cE z)H7BQuhOUjZS##vn{h5WqRA)K5*f$+zokk+2iAe{>CWk?F=3zIvee@Ed&iAOH8P^G z$>MQNe!WtxQ%R-GbohIF;p_Ep-giV_)>pLJB9=DB5(|Gm^}AJjAYw60E1|c0 zT3#_3#_qAa9wcAkZ14$Q=i;CZK+D<~s*+N#`=Tx%C_mi1p)`ItPB15Mi?hq*_mcJ3pGkCW5-JPZ9R0FL$6Tj^q-w1B&||luyDY z!ah()&@r-jn`4lTFNKT`H>f;FbH(l$ND&gwk1@)y5nj?Fwc1#GNpP8xuX@Lm@5P9i zE}`i>;}%;ze~d6W{yt^bx$xlIarq)N$rp)COm=49H)=ihWOk+?xCLhThpK(dK2cLG zp20%&_}(P;QBET0*I7Q}fZe#Kd24eiZRsFMTjU9vazrn1hu{3UfIX4RwaW3!vsg_* z{uWwBMcah23q;}Zt=A^xZ4;GY%H>BWmJZ`TL+S|IYt30ANXJehHcrpf@8HWHMn;*w zNm9C33(;4f1NtC7=?@TWC>4u8~=9igsJjyCtujU0cn#!=nC zL!lbWlnFr&3J>y!#`5YrysIkwC18kEVaL>dRgWNKDBc?*sZGnro$DH&dZ;~@XWR~7+XXyh@Q^};+Q1)dZ$d~rP!PoG}XUm}Qt zilUM>x6s{sw~1KW9K>A}?p!)#m$ryotgPFk2W*m+trk9_SuSeEXw7&iEOzTUTCYotrox7?;$7WdFAQ=lKm?tC(J z0R%vBK1kgB-=P3X=hbJvFYmD&hwRn@^>e;=e3 zQYpocf8G5X?YtugS@r!HCMf>PKQ9j0&Ks19wG)5qq$~+a0cYnAr?aB}7D^)kG^%uV zsFZm{io%Aa68Yxue|~@gz4XJofwh#s8>kryC|D^+)0_X*5(Lx|tD*^^{|XHt0S9pE zdtdqY?;b)y=xMXoN0a{w4LA=DFqmiO^!KS=g@fD>DjQ+{v;5EQkkSajh9Dft8-hdA z9^L}*=cJzO+WZUs+;!k!1P;jDN2xWvO^{LsoaI+OLIKMlW^>|Dz%TxA#Yo zSXT?YkrVPqzbc@#4rP5yhiuPDz+fZPgbi@GB=4uu#(cotP1ln8LeZ|~P~ z=I6m;BmU7+Q^`MiF4%vxeWqVqD%lperY`GLKHR?89QSjl9+F@$yN*{wvLwJAv8|gg z^|citi@O;ZVY5RRzoqn@@L1} z4~v&4Dwzfu0U~I0kue}0JSjX_x*(5Acb0lzDOTyF*6nfJ!CpmAB;V375zI;cIg@!S7FDDL{?0tR)@;E%wqr z;3K=4E;;nFb>@22fLPX4U${*hB3ByTW8PL+RO~N_ftLUg`Wvho1BwRDcj!#)r7jpJU|(Ss;$1Ah zGp!hbF$W1)TRBhp^}QhZ(!&=R_8&mnejPU^5lRvN1xavYiDEpu0Armrb;w@edei~b zI$^WZ`I1OL1opUsuO#gOJNyH%D!t=jnJSCeT~kazw>^*K5PV6`s8IP3i0%BeQmgjG zMXBxrKS59+SJ!KheIj8Mt#^DzML6iYl+CEPrYEUSzZ7J9JG0oxA@wd`63J{00ay`F-$Qw&4`#>^*?ySHpG)>Ly!7$R;L$ zQ)s=rmfh8Izb{XjI5+7n_2L(f0c?6Q57VW-NKH*MD0$Mh=Yo6y;rlP?_d#x9)E1;P|Fm{9t?r!Y0Nt#~jzJU*H=5pn>Ymotj34$+gjO)bvZ00ycz%0HGz< zV+a)G3OxeZ7{Y{jgvsQRA3*|Qj9pUjLZS*4%>^|=jeg@QHV^`df&&zDZSVV|N8Z3c zT?0k(;1iP2BgsRNwC(sY7i?)l0IYgWs{za&wHOvezNRB&fmKE-y9v2AJglC5EEI;6 zs1SJ(HspPL2vlPO)s7}s_jVTxx6MILkZ6E{UmI}?u71vB(03{tjVuE`M-<$l_Zc&m zPbT83^5S+8!mUguL88m?rQFzR!S;`~`SY{{;x9y!<#22De>hQQreba!Ul_5obgHB+ zl-VhK(%x>_Y3;~DicGyqN?a4P^rQSXY#gE#nOkvBf!E9XyG6$Z9+=MFl(*$Rz#X+G zX60dg&Fvh1rAI(*=%SY;8ifM+x1iDw&!deQ-)F!3o`=q7T+fss?pY?HGbaj(IW0Ke zY0~2zIr0a61#dnDBUpHt%IRsWq7Dko96Sl`gE5;siQvBFQSBb4_Zk zw>^N))V&Al4D|aVp_E!w%1&Z7_Ud0|Vx1GII)NwDnwe4ho);$je!&kJ4W`ojMJ4XN zo|2LZ(<_j*7a5UxgMoX5$@25rUuAXT z5#Mfag7S?CD!B6G^J+8yA55dv>vxSS6c(yYux8sG$qh#sIf+?9If z4inK04;xoi*lCVTbjXVDogGrLz*5d%9#bmSf)S9oCa;0A=nsAdZ4TEEeA71%14Ez? zVPtIebFOt5qqTm@f%DDPXk|)NQc1uY5UP0>2;phfpDyy2zd{?n>V3Li-0`V$Y_+0M zknwI<6qotF+7XWxbxV!HRtGoLN4C&;PIpGMD{9|VCZrQ@tbhPmNH^#Lrj3;aZTg0hyzx92GJ~8F>bFrL? zxAYuR)N`LKz_saTe|nFTc@{JA%D*+>q->hTrq%H3&uY7Ib0b{OcVG5=9B4HVx84{O zWW}Z6G`iI9<>u%7t1Jh5r{rX?UFv%}vqY8Sx2+WlT_erNh@I_3Da3ApUDrcrcv~sW z$=R{{MHLacbDHg&3n1|(NhKtgW_I0xOXgKaXObeNx(r4CgVyQy%OO__0k&E;R4{}? zH9i2+XVVM?8AzqON-CnaR(JXBjI%6mbgzRXpE4jbPq|7*J!9+$ zofkj`Ny*DD7m8uu3|2v(e7P}rbDWo6Rx<&<7by=-j8r}x86_wFjI!E?qE~KPN8^~? z^CiJ_r7LoAhY=^~=?fx2ooP+wj0NIGxXa&!-B;oO4`z$<4KWO((SUVN{$-r}$xXGn z)QlajL)~q>b^vLq3pr* zVC>qhIq0bg`Q3CWdwZ&+O$2ler?0P=YX%%Gw6bf7$sN#+5(NraMM=j{i&W1LkcpZ6 zbX8!KAf&zP3U}a|(M~6XYnS4a-lf0aR-d6A_5B)!tv_wSe%R2b7hmsWfok^yMD>q5 zvY<*_#KDy?so~ece%@4tiRcmuV+s5K_PK*7x>}0#LQKScX%wGltMq1KnEP#X2v=C) z58q`%WG5~KKZ?IRD6yk3Tx0TScwy@SSgoX_9NrGz&2isW(N8o%kTqT3_5qJ~A`=`5 zj->h3m_s(e_N_}EDwG*9GrI4-O;kuH@gs$&>LK0lSPXd!4UG(uQ?CpV-(rH3(s1SU zTdsXg2RDRY^ph~0U}_<|q)J<^K>!Wdbm4q8SvG`>6OGIYh`E5YdDu#RPT6sT~mh2r_69&Jth?!xtAJs{DCJ&w`!G6hR&D*6DTv zMfMtoU5f0Dt_{HtH5I|Cq6S)WEmPvbEH5gm8bn6avJSocLOW5m)DWqJ$3J-wiaDQf z+?6M1RikR~zZv<^3U4QqVdVF5u4i#I}FrTN+(bEaC3{{Zx~fFk?y z)wZuPUcWG=Eil8SKwrU{T=;~+WMkCj9tY2NFJ`Ps%;41JrI?&QnTbX3x0LAt{Xd1L0$6M1Ea{@28Lh1*~pnyk637hX`sM(Nt4 z@;C1ucCm((OzYP|T*3k@fT-W(SA`z1b(Ih6i$32s?I>&xQ{`WN7%yBXR7m}zDQ8R# zSJEc3x((LXPx&_X<`@vSbzYMiZH1#5<}eD_u-t~aqXlM3ia24N4)PUKcL}5CoAwQF9jBiQg&zxwGHxo;Y|FMdkD9W$g{axSV0BeV8>gVe)((@rH zPlJh@-#R%)lCGO}QCLwHKPdGy)w=1Ta-Ult`KiUz>3cy>%borgA6z98VKKjAMxNB% zD!+`{IjDK6?wMFn~G3#Ec z(-(wmoCK}SS6kwN_`b7#{zP?#9U?kBAoI(%Wb&1`j*Cm$x{&oV4rwFU$*m|?mJm*; zRem9zxkDz1JtJ$!j4r!WzbFIp&`NcS@@57*FPVpkIjl!eS|fCRn}ZUL5fB6xkp+0P zi8NRbgwJfQP>|q-oX{x5ckh2W7~2L8fz)c8TTi;UHT$p+AL;quUs0SVdffA{*#aVd z9$h<|Cwso(tE?B)SxUoO@HX)+?HBw9h)uW&5%Y1%X=*}=^pA*Nr=IiXs z>92G!*@j)FDle#~d#PIYj6A0C6&<`@Y*}T|@pDw5Tz0hqa&bs#UqbVmBE~s|DGcOF zhwoCRams{V{*o_DBJ=^}{OSGli`MkZ=R`2{PTZ9r!TYgP%-a#-E{JN0=x<7|@`4d08Lmbr~uu@okX8AYjAacpbxF#58{ohE}{PpuhuRE5Q6#9HdOm$OC03O~m+KXRCsME~b`YlJL~ z6N6KHlRK1H{th`2G77PIj863t?Ng6JNPB8RB)eer=i2V1C!A z1fwzU5Qz5|I-a$&?`t8)C&3{ckp?gruN1=R*uOheHz|AwTakYRdL&${E|qOn^dCgXQ+x;!OM-4OvaN>v!1 z0DfWI3{@LTS-#NV;oa<-a0CHmJPzLnnOwd6u39-Ch7*VDq$ElWF{{$hYP;|@S44SU z*DeC3?#se$iLB;*iR|}P?^mF>RDV9D>I##2p&nM<$rx&(EfZ>8?bd=IvO zimKq+^DC}C#oRqFjpEERn){)Rt1I+k4Ur#F3-r%WQJg69eGm2kJLgv6^7*Q1TN}BN z#|o%YDa83ZPJ6jVu_q`SJ_`N54`E(TF5V5B{Kc{8>h?k2BC>zS!>ydscwj%b1#v#x zR(o*_8p1K?Z(=iI5A4+|-x2@hylYU3Cver$;O^#w(_Q}~%q<^{xHYsEYZBi|!)p%_ zlYmemEk3!nS%%xf?CjN(?MaDk>0DF$Dus484oj?g9eWzq zId~Ikor8x@Ktu}TdRN|<(&+Q3CcuVXgensA$$w5lPeB^nO57*+PcxMAYJ(cb>QOk2f6pNR zhcU%axbRv}H=D@X>#cW(`hOjhD&)@AdFtgfZ2cXrBG& xr?i5Tx#3Ic|J&4M5iT(=;J>5!_h^ra?-FvV=ud1ua);jYiB{87EkoT7`5%B-TtEN- literal 0 HcmV?d00001