From a0d71f6d23e127b794c8e29e255108dcea4e706e Mon Sep 17 00:00:00 2001 From: CyC2018 <1029579233@qq.com> Date: Sat, 26 May 2018 11:38:37 +0800 Subject: [PATCH] auto commit --- notes/MySQL.md | 52 +++++++++++------- pics/63c2909f-0c5f-496f-9fe5-ee9176b31aba.jpg | Bin 0 -> 24576 bytes pics/e130e5b8-b19a-4f1e-b860-223040525cf6.jpg | Bin 0 -> 34816 bytes 3 files changed, 31 insertions(+), 21 deletions(-) create mode 100644 pics/63c2909f-0c5f-496f-9fe5-ee9176b31aba.jpg create mode 100644 pics/e130e5b8-b19a-4f1e-b860-223040525cf6.jpg diff --git a/notes/MySQL.md b/notes/MySQL.md index 5edae271..fe9ba7da 100644 --- a/notes/MySQL.md +++ b/notes/MySQL.md @@ -18,10 +18,10 @@ * [优化数据访问](#优化数据访问) * [重构查询方式](#重构查询方式) * [五、切分](#五切分) - * [垂直切分](#垂直切分) * [水平切分](#水平切分) - * [切分的选择](#切分的选择) - * [存在的问题](#存在的问题) + * [垂直切分](#垂直切分) + * [Sharding 策略](#sharding-策略) + * [Sharding 存在的问题](#sharding-存在的问题) * [参考资料](#参考资料) @@ -380,43 +380,53 @@ SELECT * FROM post WHERE post.id IN (123,456,567,9098,8904); # 五、切分 +## 水平切分 -随着时间和业务的发展,数据库中的表会越来越多,并且表中的数据量也会越来越大,那么读写操作的开销也会随着增大。 +
`_cY7`*3b#my>TO2g`xA%@*s&Ddr5KI7Pv zL3De5+0*C>v45v}facL(h~TO1mzy@Bz$CW6^exwCZz_$ouI-4D_W=3py-4}UXT z+6AwJ>z!sQN|*2X;t$J);7l?I9O3%@2zCqHCA~4J=I)Z(I=?TU(AZ@3s)xa1MMWL$Yz#RFf)3jQn#UmS*vE`-q7z&Gz2FWuB7$Gdp43n zp-+~d4J)+!Ce9 Gbgt1NHV9M;pB#MSC6RP zw?}h(eFK|Do4-!W8R1l>>bE$#Sgrg?=(My90qT{zf_ykoqLaT;YExcqlWbeTmi9?@ z`(5HtZ6V5O*vH7n2L@kk)=T}|q%5iQuo$5~Mg|FfTZ<13V#bt~%r`w@W-KZGf_pD@ z8r`Cxym|J;%k75BGI(zsg#d+S3-=l9Tjr;#%INqgex=4{jNrB0snxOx>bg n#Y;DaqkwxeufvTIDXcAt_@M2e5mlz%)8gQ z+=xdP%}B7XHU?SnU)2usGthbMXw?C@RJ@Y0&0Yq~sS$`>Swk}D7d ^Pq zpL1a;7!4!%uaH4oh;5D%p?5 Mr)`URY2@wF1CFP#A !}IrF|G@rV zs964%4Ls+mzWg8C)2ax+w-nePLSpN4BLyXsh%z{XUulrc$cndTYU#zN$ ls((=&At_N8n8QXc)1 zdD@&W9DII$AMR?5Y-wV0UUr)VqnaBqc|GXD@%xcecd$lFWiEU%J?;ba1rq1;Bbj7B z?7X{kokh>V&~+-~4y@JZXIt^dO WwEM$SiZ?{t!;Z^&Jucj^Rtaw@3l`=t#uQ&{lxry4p;f%s`{xNXf{_9 zF#ypAHj{~~s=i14IpGNf-FH_HlkN=L*+m?zz*?IvaG_YXPQ`lWF7EWHtANpKwV=23 zqmH>IkoGmIqijXAze2^YBvKVlPtKPr=c2ceY+YlBlM0qxE$LLvSpG!RO3As>u{o`} zdgnTRv9GV_b6yBHx4*D{qP}i3f7&=dFLesb{A3&fYwa5Qx##$wtxO$2Ko(VKNq{+4 zG{kjzC_v<*MQJ$WQkwfgvPYIc+>y9$U^-egX^w8=F=e7j5C`EwGu9`%3P!s+=FN3f z`jR=-1I^5EV_Zcw-yJIcwk~+#-5Z?%P>_?8{7mJvUN`ji3=E|TOr*;zuq^;eLscMr z&UzA*k896S5QmP4l4<#Eq Ygb(MHfGgW>}r!~@dR zhNxET9a%lTnpB2Is8s$3VO__n@(%6ZvW|k~3BTclQ3FwC>1nW1OI)yc<-Vzu$@OvR zhuLu&Qq{L!p69 r3{JF8D{inQp(R z1^73I9Pp4q*A$i^nCt+NS$Tc7KF&fPf4+nL9Agu+s^0nllfd6r9Qq%aP$e+Up7_ME zWoT-4cz$VU8smX4>*{rq`GABCq#=k$9O{E^_qTUdt@UyGs5BYfFS~30;>N=oqjQ$! znzi2Iz8jJi3HrTqstECgm)|78t%!<&XN}yYTJKk?xjG$OHXm+mz!k(dU0g~wne2ka z_g#@DkqB-nJrxeuymo&+gbgyFQp6sQY5J*2m|;blrjzcbynE@+`i+cil6Oju+|l zqT3(ziwmgz2$m?lxQMRryM)>d&spW?YpSk(DXj|0Q;*M=eH#%q`uxg^;2>-K8 FZhY0uzqER`ZpFe8zpO0onm1XE>_gxc@e@3mp(S-6%k&DPx&lukE z9x~`de@L-!(A2^)rz5Y~cW$a4fqt&iD2Lv`^A_55yoFr`9f2Q`E cP!$^bDpMA;EY%`TkouZwFwO!MHKXttm4JH7g3-O` z)In<(3BN~LuI0)nH}zk=2F+7IuMz*55 Z9m 1wObi(g=rMh}^kV;>G#I3E{vxA!}% z{jRY8w)klVX%+h>Tj#lB1VOY6JNTr G$!yK=hx4x(pR zh&pilCtc=l2u>&m44g=uhlXsb>J+T`Bqblc9^JO+96La!wU2#}`qa_&@ JHTBme}rIKwpy>AuYYFFc62T6V*{ZsQ#DM sUDji4XT-Oetn++ia!&22Fs+Ne4H0}1>z*iDkWLfH*2Q~#aofp03&5-~ys37C6D zqTTiY7`jaeweS%!2VV>tp>1#G!5m^m!$@b=Qe+~`%>9{}e63n9c~^~k(Y|=Vo$Y|s zX)E=)|4K8eZ_R2|aRYi@ERoXp+H1x*kBxWZiN5%G#;(|AQB&X59<*qrs?7U|mF1h2 zA^J7t>GU?%Z>@xD!}Jn#KH6EZvIFwoGryZYJ9a$h?WRqff@b< g%UQ9bMPoJ5OZZQTXHxX58)b?@9`iXh>O{F?XnW!Zm3S z+>WuRmyglr35h=ky27V-?dA#`(oL!sH@`zbC>-(2WsxS4Pv(64r`lCC6S*;)5l6Fg z^td=i$4Nu4koCleMt4hf8}CV*-dxzZX9AmtM5_yrH2N`z5IpA#0{BXxj{3zbc|9hU zn%t<^L6OJ_%`oNc3!2xTe!k}3#nIzyvVReiAHEKMOuPmiZ`8@P@bw}{al~S4LZu!u zM4m0SJN~knOlU4PY1q9_vX;!h)VD&=v_%i (`-BGAM@N zSlsg7_t=hUbA0E;tls8qc8B>DHu)1vVz&hzP(^X|xIQr%@qy4ZN{~dFv5c={Qbgbd z=6cRB>DO}R9YG15pY+-#@pYCyt|qqA$9eZld0JuRCE?*4k5gUDyZA-1E_vZO77j?h z>iqq?Swrab>8VfOKD4LXq#GblU!CCIE2ym6B|Id9`q)#3h(M&0bYeheLlm8=CJp%P z&BszZwoQH6^s%wT{am<~+nM0Ii!wZliTFt}=&`nd(cPr}emQ@%&xV@|W)nic8lAnu z#m_&s{!oF+e2evpV^JT+@EI~l^8>O^Hby(QyyqQXT}$cmH5`4GgY0ba>9EW*4VX}P z2)I|gBj<#KP&PfOGBOp?_7Po+I7#Yk<{5wPp@q(1ar91bG_y*Cxj66JajoP(l}ejI z+h0Aec<$l*nGPqC pS!vmxp;?mEOx^bV+5o8qN!y6g-MvF;;6=Os6 zldh~t E~kc6vv&C-c9UYKIjY@2>sB&|bywUCo-p1uE@$b)DxkN&agOD3D{tv}P7XnD zKas+@0LHGEt$-`P o^bJ1WG=Xr)lN6?D^`a~8OuIY3{2He3EiLvYNFAv~7= zUmJN;Rk=evXXgOpsX}lE=wWL@ IRXI8-sNNTU2qbg7cXV)J>_}24=R5;LQ}s zHRwrUtX0VZGwZ6H2K8R^Yscj_(BRO<)xLed?3f$w*~j@NM0~kH n^K1V$j z6?=M4r{*Q0d-lAQ|JzI5^1U|_>PS0f@|s7`nmr<{Epp17kMA68jcXN>Cj7^515q~s z&;`EyZP)d)FaA#Ajj&H$ysnmSz~}kT(`Isvjx%E+B(+_@#hg2&Lq;`z4^Sv0aMw#= z%b|$HIf4-w^V$LkPte1<5xDn Virg$MF;a}bn79T}9)39L?GSfgkS zb?tqQ$toavU^GC$)DTk1pr~vTYf;7_%I#2*4C1(3Y0%Bz;_U)!HS#2bRHeuu5i$r} z0IX`>FOz)DNqS^Zhp`m ~TW2K6Le)gDgn`w)apAUmyd+ioO@_@4yp8y*p)3TsuwdfvoX&V^fR zE9ib5e&~j%aXG!DV|CGYrud4S5W^jK$`f8&zaoA{+_L?G9Y+45nL@8gvryQPf03z( z<&k!!oAiAdu `adK=J0$M?miv^OtGTK> zpeX^%_|rggK@Q~`BoTky*$pkW*=X&fo->{lPf^t*5b)`?kekK=<7`v+%`sZ4oi8T+ zWKg+&+hH^31i>iLU`#$0=SDE{d;hj_s!YXPP)t}va8vvDfF5L)L6q~=L~r%XUk3Vn zl GBbqB!)^+0#~n=Ad=<_~=f`&>Z%U!-UY>oBVe>S2yA*R_lf|7$&Po)c zxKP~yw=nJUTIjpo!7}T6cFlamdi3#|%EO27ERB2BO!s3f7`O&{&K4YRf8n9CEuArj zSfqbT23Y~?ejt7NQ_sI>C{&?lgZupo(j~O|^?V?-)8rzFsSImNTywfO*5Q&H+q3yO z)DhvW{oAcmiLt+X=3^=MlPWPn>flkPr!oO@MP`$;rJ2$dj?RxC)Y{P9EBD@Ur8~i1 zYhkTwPXkXnG1WhpaVYCQH{L@S+-3e3iWRW8kP&w}w<*3u`(c1wq3KExecTc~oXs3+ zE*Y44M(4E)>LrgS%NeTj*H&`xurIN+`=2laZ5h0JsG?|r0+@YZlG@E>{Pk0=)_$)~ z9e2^5aW}Hmb&-sDAs3Y~v$A{?-h|l8Mf4td{%o6CKT*?YqJ`@&@U7^wI*;iLLA}XM zY}-(PPq|e&Jh)(aw$MPhfW~3|MKx!@d8HMzW_nzWJ=%>`AEjrm+l0x8-6#o~Qh!#k z;q4sQ5`YuAYUogNQt=qGYC&H13A352>wD0jv|B}nefn)SzXswQt>zvX^yI?|knt{! zChn2EEMBflR!o1(irQxS_;<@Jeu>*on bVZ#YDa*sd7hdJ8gLEtx#bn3_ z+`!!~B4}G`-E;%59w|QGbH4BR-ZyCMGxE3E=u;lN{dwBDa0bmlP024VE)UA8f{|3) z^T7&H^8MafPuYV&bZbB=jpqZ9`T`($0*L=Ye)+b`p aH@n87_PJw^x7b#K)GAVq8){%2PTuvc7G0;ehNVjqgv0IzUVmd$w k0^WpvF!>)t)Dh)E|_)Itv!1d-X+#S!3%}a7idBisl&Cv zNUC>`;=nrP>)R%s8{>m>nAi!}FbuyA0|H}z-LkwAtl6tMysM{(*dtne6)T04SQ?m* zfJjPUJSO|6`=amsK6+(h@-wvn^!y;*VB;)r@xN&y8~K~EX^)_b?E`m;e&?l(iHw#Y z0gN7^;|<|T?(~XYp>O|=L8bZYspXF-@6XNeJ)rlrPz}touyKA^Go-coHt|`hTce3H z_V=~qqgcF|?>=dEWX3{1Ozg5{L25-P-&1sjmtgOk5zDtLg7aJ95BGYACR(}~%z6b= z1JuOQWZ9_C2feY0y-8C<)0aN3Oqu3_37Q%n>8FUP((*letiw<&sSsTRVRqzFQ4e*I zPIGZcI-yoq `})|Kj0tasSr_dmT#Xj0;6$7S!U4H0yNtLHeZOfT0Pzs UySS*Q@_nM4w|MWDNX5N9cH_CI>dTbXMrO=-TLx2!ee~7g=WH_<@l99JnzfCM zu&seh3ESYpkL%P=;(wCokK3#71V5Noy!tb4IsS{%-Ok3$#J>qYAcK6t&1ylfh=6IQ zCjx%qtN+=BK51x T>jOwk760OM3Q~ejm2G7X`X4$3ay+5z0y;xCAd#*ikBxUxJb6sN1 z)ed%p8&`fR>!3=26^4I !nn4tEO~q z<$*Yj?rwR>8K^V7hd>79h*oEe0}!}TLIyd3DW?e<@vX;^FOw|wD(_aoD`fT`)~vm7 zNz%g~Y#LimUF1B)IMn3Y9Ej0hZ E_GwdI@Ej#)Q1Vm>9dyB`k8=gqht zxFAcr9_F~wKSMSLXDNQQn0j8)yYaz5gX1clSk_Yxko~PTiJOc8!+3Ur$yl=(l3<<; zO&CdI?o6(?%)a9Kf~qP;`V0Q@w3f2n^2qqmr-rwh-ir(BuXps<@1x@xakE|M^(TrU z>jYWq{1~^&wQmA%`ctAqDK>=|Xy`+N8>5m8)h>YJ%=9Cr_srdnn?Zfkr}Qi8)0f*X zx&xt)EacrRySvR_+E2{9p`KzQ*d%C5b~e+HM)*arBV{7_Xb7!uo+O-l0PSBGAZ3S! zG7X$El-gX_nbv9Wyze7uC-{+8VO>T4BQAhvzewiz+QAW5sC03uixB2jZQXFDqoA!x z)!Ytp!*1H(R3 UJ8)gG9New;t qW&Wj9trT*3KLq1~`eIh~OI$%JBuir3V=5xtkZ zOQ0P)1ZgrzH*j&%{Ogen5O?xe<-bVGk#CZQL?DBbtxGim=X;#PM!dS^Z+qsM>hVfS z6oC~~$80^S*n|CFFUa8r_VX}WZDbJJ#qgqw`SMB8&cvd^Ni)ew$5^G?r_!RsxS5Kt zN^USHK1c)P)jZZnkIlcV_W&s#bjE6WX6ojkvblg%@k#0z_UEoVuj!c#ebg*KOqP~b z7jv2w8J23KC^TJ5L|Q^?q8l$L@ZiNCM4t7um7c#?- O5zCmnbf2uX|4|$ z>iT_x;QC=4kiHB370g`3-c%a(rc`coO~swz<;GB>oC@6}cdEJbl)gryO4erS6u2tX zKt%cU HttaXKZFEHE#y|~tpAt7wE@-E#Wb{$TXy^fsNEVL$r?jj5bE8>6LtVUjXB9>Lh z^z?7L$o8GccV-Wb!|wRZ_R{ovQ;yX;p-4b|X;*Uw2@iyg&4x@;ZbTA9AOvAf#7--$ z&jIi%v&Koj`iCU}2Me&6`u%9^6PaV*p7?~?zFJ8-ip*$#f_L1$VVk1;{Fdffm_m5+ zJ0?F4z(ekDqCT!;$-7ax{uqII1tehyP5?D1z{)EcdWeE7RrLa84eiQrhheP-&Ol&5 zlrRRYw54Fn&&i;aaXAhCeu3Wp)IXoD{P9#>irBsflilOFf8MB8MTDnZaccWm4|U!7 zzA$6K*CcEK3?&AHDAL(T&Ua1za)X;;*yIfkIPO||y0j XZ*M6NJL z0M%SDN8kF@!>Q}Zy_}^ePpakw8IM~)eU`et^=ignnlcEi>owp6OvaAccA74_Cj8vq z8u8c=(aSRE^N@c-v?RM@(x`Q81{bTC 1#^zZ$OiMNE)VzMSzBQ{!?QDsU(J_oEkN|tpGq=V1Kcp8&%OE} z+M@&=H^;!B4~^jZByI0r4|>&4VM=Wo^_F4&M%!2S59!wTw*DEjSTI+>6HG?<687e6 z=i*5{v>Wr3p4v<-(n9EBrw~)CpP?vAY%wz^vHy#^v#u3xcpgFLJeI;=0iT*!9j8Ab z>u1<_>#fJvNZUK&OlZwH*<@wfCh5Cs!5jQQc<)b yz=i(_Q_{7+#1q+F48T0t4+3ulY7OSp9$L)PCD~#;SOdA?p!qKI +?L5)A$FQ99 zg)iK=p58B)6W@P!`$o(yLig8CjSFgPlaKM&@>j;ZW95^j+^F2&e#LLQ+-jJbUJzZg z>>@~BnmZ(hkPe+7DAQR0^VY!!JtmI|Zz_&^(sEyN@E9=xFr2RcfCRe-ETYZgamGG~ z9Xu^@d(;Za*Op)zrxLXe`|&EUfcWWQ7baA 1zX-{#(xC@siF4%K<(HE z*qoGBb-4RtvUObP&E*agGgy?usU?j>t*ST{0S)3JbqJd%UgzVdRh6UhQXrgA(FD{U zOhC4h;1@>Zbpjw*daLTBJFjDm;dK;U5~QlGsCIuP@!L %$ZDCO)RnmA)?h>cay BG28*@=et=+sI3pT26El==$BuS?PcQM}jEqUSb YDGFV+XV7pxriT6r+5{$+1XPvf4cTY%Pkrw`FS)6IGvJv#ipr(E)1PK*Qd-e2RCP2vE6nFMqZP^C1I z&zF(>m830{D@BAscI^MPQW$MyPFp0b|7*<~@ptfH((zW>b16QBq38>k!t)Unu(Z#L z)uqgQvvpH%TDo=A)a-W)&JQ?CJmuw3=H}i!4lm OxAR$bBF81s`8=cK)U%jrvvSgE%`u; z>29>?QkAUMa#rX2sPdo#PuF`lX`kT3e-aY-hm}0aIS7J|&&uc2gQajL^8*o&ACEQ< z^F=zt!;<(}u2#_WEgIY`FI*rRToCP><5PlP!o9|XchwI({~d#N_EbHs8TvaiFWR}V z$HgX$FL+buC3`eHh4qfoy!EM0=9wQo74=p1(YP@YG!bE@hQ|K%J`7J|0=Aj<`l5@o znH GP2psPjDUHNEtGRN1Tq?ameBh3Cy&u z3>G_hp(K#)IZeG(tEc-9>xxX5ZX5~V&i3sbHbPY4HAcH4w;u0)a6m=!@gpHgUqME; zs=SN*ve26j>U?FxZi|h<7g=isjNZI@&X&Xi|Bb; xicFn^J%TqcCZE5#*<<)H-gzv{MZZ`BuP6X$3m?0aGqD{xGMT6*9@m8 zofTc*SC2E>3DS(+x_qHtaUjOJ>G3Qj?y~Bo1s*bpXYHuLH>B%yEPP_qtz={D^Ps>q zPfy&8%KS5Yx9Q?X{6`O~jb9+{2Oh3y<|<8D#=rAOR9X#ytYraVK3JO9++Sl_I7pCh zG-YX?q~UmmFPRtxw3th%fj|5o0hOPN3jVwI+(*d~@=g4|#gRdV6=g3w7tP-eUHIq& zdim0d2VHV~*ckV=RNvN%aS?1^1-&qPdF=(f^Gc^P0@s1*#o@09qX&nito5aYixbY+ zD)VMDtxhb$46H7pQZoh8$IK1#S1*>7ul7D=a9P{Tukbk CZh&u?!A4+_Rz zy4ycvVtlt{;!+!r^;UY!T-z7VVHK(T%<(s^Y Lo_%?5WPPH~Uha%bd<;v-2ullJ zhi`n?lEbF-V|;_gaFz2_&ZQA)^*F@rwFwe!3ab6HaaE;yg<$SgLoasXUZ842cJ(mc z b0_0&4@VD<(FWq=efMt@O7n5d3Tk#Z zpR3iF{z&`W$=~CUW3s0uVnEc6CV2t!B|bes)P()GSXLD1KV7(r{Zd@Zf<86DBKgLb zMlHX*yY#1oI58YkwVU0GJ|E${WKdWvE*YrZ%gY6f09dWDStf6kkwL=sFg(o^8MMAP zP<4)0cYz;WHyMf`#E61|q{r_IkRcBYl!cGU>D&+MdXil1$vqAm}*-+zP*eg#elU z l4>p;&c13CVug2H zYf$6)wLLIqFoO;9?ePd=3)uIEcJ6m5Ar*xK?uhfIW)Kp-18GW+C4(5bv2vvFKPZa- zPGH8aiWBr;2!>TymN(e5fDrJ|N6aoJhZ(a2nt+gEa6q!}hmf=g^7icmM|=u0_!S5) zWhX`Ks1!^JgxAql7ZC=w?6YBQngKV+pv+-Iz!gg*gCetkCDX5uJ 4w*6{ z*&kF4B2d}tBCszjg|ImtARskX8iKzPpj8)bdI8sF;K`IGRJI8J-16m^x>aLFe`7** zqXH@43aA0JKpgRUv9*5rN;-{yv0zq05 -${*FH{v!{!2rR@$r&&F2$DG;5F9VAis(zhGnEO)m!*D|no zG#;f`_?!-K`t6JB?C{As3D)01%F8AC)gR3W(ZG(iy=~GOK6>A`XzDGIlpf?T|6irc zH_)lilOO4#sv%NwvC!XTyPI)rriKOF#B-1N eYi@WVg;F=57*0IJ<5GI zUR{C@Eq^W`z-qWDB)q?;amIcsgZ6gal@&8QFQ@FygkbN%6}Po}`4JuS%XHXOeJ}Xl z^Z_IST=knu#`BGH0bENhB~Itbpj?X^Z&aLiZFettweV8(xvPV5qYHEND;{?pn r%yYz8H%b;jr`1L`#!{&&^hIZV#7 IIo9&L|v(V-!i+%fSGIumNebtd4-rK+QCjTkcV2yH;9NuSedk>gd#DP7i8uV6}$c zAv&b4uW8|2(9w8tByxL7uQr7{aZ9lH;WcJ=jUZo{4ZvU>L_7Zgji8VK8!{+CcL9v2 zvV?uhgFl7YZ-{i=#nMJBAS#0Ql^PWa^iNx8@(M+tl9*>{qx`bRv3Dr%cuvji^_g5Z z8NuZWE=99<0+LX|CkQG#NO&2HNm(@o_DKT94E+@j*1WmQgwvJ**O*p+zK` ysKUq+0ai!*W!e)XDpHueK8 z73`Wt702*x%CJJN6Ss|nv{RINHRz&Blq<*IZjz*l#ZsG%Y>v#&(FtI7Xr|7X?ZS;N zhW1@M($-R-WPgAnHn}UEeb~6?Cf1TzseEqg`qww_5^gFBjh`wzD|exQVMd$JakS-G zH)cYtGP`%q1paAvhj)$Rt&Vc@oq8!akRvwd|Btw7lK%&As>1%iM9#6jEhIf!tx`oi zy7P1tcjaQz4UWTi-C{z7CU@GerjYM5f(oqFvCy8l_ ?f_IYNlJv{6&d0j7C zvtD$(%{k*b@5P~INX!UOKs7mcAf}#>ifF>KR;tZ%9!;5d2={bd;@F<_tnn2Dg~WLd zWhuBziLB&$`9FHKg1+sj@1m##{}1ATtJR+@8EKtvFb{VV&jBglNXvb?pw#JMFrNK~ z`Y5YaL6>3v{~6f+)VKf1i5hN6eBCVTJKhOBB_-eI*`8dVo<8Qos?hk=JIUyjD%0rp zSO4U7pk6{4*+puUhV8OgD6OlVLOCh5h}sYGDLIYu`HG6xuLeB_pzSbnziWA5qwK6q z7x(KlErPBKPLz0revF8p6&u`>^#A7icv3h-OYejsdQd2~gndy^T*>-nx0>_T+-avT zlWSp$LzVc>?UBQp^Rz((`=Jjolt2xzLz^ZZ*iu~ty?^aOR3_c+>^@r;GH4zQxlJi* zY$Rwn9*CIFIOe;6_O8ORqKEYC_G!ZUArfQ#V?x2RGdC}=D$Ltcio!X14*}&J&;UG? z(4ZGU*yb7l)R!5-!1QSxkJAR4{6>)tv@0=gAs2d6^+UGp8gSA?tLej>Es5ly42*u? zmOA9{8{*(g_CP%8i41X9ayOjB$^$zB0qzEl4hS&()FK=YY+f0F14lwYCSh~HArBd; zvjMQ3LD*KNRtA``3&npkSz#s!T_l5cL4!cnodam(dDtB3>1hb*SP6JapA;Ab!BFC5 z@MI8hR>qG1ADxQrECBI$VA2nyBMSWT3g!ji!G59C0=6R?W&hbd2xdzL!7#u%7(s4+ zfAP=%2Px1T$S-gG!j22%aPRx+9L(#8E#UBtAN-fV8TG)4@E|N~kweCVh+EqQ|MX&& zT4|GOj|Wi8Dkbc}0+IT_z33kJ-Zt%G$vOgzqcpWcfKdPf5w f5R zqF2VP9)!=(pS&xR`8m!xXE;dJw?=1(Aa~!T=;{k!SG&}kQmhr35}%DC@jX?O?*6 wma@Bk=h0yos>m&wz=rmZN6K~7oDPfk6&-TP(8gabj~Z(g z%Zj*}D$K(LTC~Rsjj2asqoEiK=0kZyg#jw5) tt>Vtkp3=Z|eA`cq{yN~9 zc6SoW+u%)phkl5rR~QBUJy?k?$Q-YKS!NIc1kVYSX_L zrAhVsB2mubOo}k*1Q&RVj(GN84rz&Xs%EOIybBD1qw0} DTFG zT!y`wf!Fr!()qG3-yk`2apbOPG>`eW^#^#H^Uq?7WV?BN_^Xym9>?|eowu`2=$#Zw z&lz8#{g>wNf3oksUJV_mTOe$nKcM`uTUa7RMg}Lkbnpju7%X>@L26v2BaWkMKZ^+R zGhhOl!ar?T@c%^|`M<%@_>FvE*$4m!1u+@eNdTPOa@h1I@9aMS?cW0WAh8lKk#PVw zL6CA_4 lS9li3Y-4LgBbAKG6s zoIUhwIn^Kd$a$+LEojDgPK7gJDvNfhnwB@6wgxu>96a;`c#9EL!&ZAdTjPjN@b%@P z{O?eQyNO@Wk5phjzS?{$;b=^a%dpA+a03;3n^i9IlmPA5tMh!>QD3mM8}#S_c3+=c zgI@Ga7j-SKp2}=Yxg?f=p4YsSt(v`L$D;)?!vkff|6 KXJU(-3K@kMXlCmG{!$9gPBc1`n)E6q~8# z)y zp$KXC;wpc!`c>f5o}N}ng(6l`n#aC zLPElJ)_~dRsqO#lDF01xgj8n`j({_CX!oH&Z5i`V_GVH?>e$W>@F}BP)t`{A2k&bH zTK;Tz(->Dc<5K-gk;HtYVp3OM^;1Cr)+dT5$1+ud`p5O*1WG4mpNc~6opn5a2oPB9 z0Bice+GP$;O_6Hz_u$6{bH*QUA#WQD!y9!2->>+jpK{UUyQp!u #E52;^1XLl z4@}FSFi>nEP9heq-Hy;1V~sjNC)yG0;c)}8suswIYqb0R&};kP3U1Yb3csM6TaqxP znT#iU; IPal0~5QHB_cxSLwO;?=i~h0JuZaXg+Q4uYcu;a zL7`q gW>A{_P>r+S(nxmio6M zwJDD@txR50x_(;qU5TlK%E89QB#vN~15!Xif~^N&e4#;{*c?uE?%~doeEq ~k#~9`)p|N;1?`%k>U7vMDA#YPK%p z@qWk4s$q$>Umr(haLH%snY5eT;WCp~Vaj&NS%ug~->wR!yDCl7R`)`-#jvjbxL_0* z(u4z?K1j*hjD8P^jwnNP>GN&ae~yhy4n${X`YP&-><-X>I}MAdx)j}KF#i%&`z$Zv z)Gf`a93xGMyP*Ppi%|!b>f36%`jw3l=fjpxEnlAVl`Oc&+|20V1EzUQU!ZEq))QFM zaay4|6jp6Z?K1yt{u;PvySbZ3Xpt@C*-(R?dcT^Yeq}|pM;Ma*nIdmmL8hjDDX8QL zVhur{RF6LThA>YY)L{SkzuNomu%@;)Ulb7(Dbl3{1q7uDQl!R4J17W9kpNMVE<}2$ zk>0z2f)J$$NRtwf8l`t6Gzlg2UP2EL;@#()?;LSv&Y5}coq6W|F@L4(z1Lplec$!g z-}=KFD>SSC?9x13VA5xS%_5GXXZU&IOJ`vBo !&k2Sex?O2iK` zV?gD;CAF2^Xad&huVKzp&RR}V;;z(izbrH8kkNhq{Of%4uT)(xWhN5l$rYm0ch>h$ z;C_$|Q3BfSeIRuPcD5qYOU5Z9(pDdTF#1?=E?nY{Q|T#*)6NbkU!ILVOtoP4RY$dE zBXwzWFXjQ!9khQMMZXL68yIYDTV8fe)bc4tgZFk;YUq+WU%W|zBl;YP`zsz@uV2Si zHi(L}Z~i9iim}zr#C&D=__01e#Q$mF1ih9(@>1S6`?Yxq>{n$b9l<|_|Ho&kvy8|) zu6sg&7gWj}9ONTv17=jPbIF8X*FdprhUR$3Lk6VUB6MjAf}_T}w35{q_>-Qxomd`N zBh3~ay#O6B8i*8nDdN{dYLv6!euwuWmJf`>`9I{@chR&15$-%|`XG4E9S(D~Rh=T2 z?{XkfFA;)o5u&~WUobFOJ6#s8y^)rkX=7l@V;SF|3vn;aszv4U1R@<(@**>?eo1RV z V3z#leU~b_72JC( zkFl(2LU7~3ha}6qwjv{f>*0etAMSWy%F?wNRPsljxtgDAB#)vM@~lUn-ln5mO1sc6 z%vWbkRFb-AA@Jsr*2o7&tr`lBPYtup*W~6(vM&f`;jrMk^&}uq42?d+8n=hOkK) zW1LhCB0etXX2poQP{G*eH8)sLe8QIHvD0zm{mP7GS!vQEyc9Rj2JxU=JhYlY=ixog zi3ghglO4?8fShTrzM4DUIZLeTT#e^VGBfWmSp_KM&EnOmzqT!^=a4!`Y&Ct(BN`@_ zja64lQRqJG{BQmG7Ygmf1gz&P5^73ciMDXu{siC=fX))ddTT)5Qe*yO7tDK~moZ$9 zkqEcdi+##N0aD_(Yk5EItJ!CbI{>umFQf{P$TkTD1-9LS8U`2^aO*cH(cz^MW8bwE z*bMnxs2GB2=J6jbuf&wJP$iC!>s!Ch07*Ou?-M9gWN4Z0&d&3?ho28-yj}7wU&>Az zbEFkg2tYx7zTVuuXbVc3ZO7BIs0|OaDVzmf7vu^cRw^jc22X*R2s&FT7~MPfHSY8$ zQioUb$tPZEi%h^b#(ceVvgMQo$_3_kU|%^E2{J$r5!Kynv+l#(?B4g}vVJ;zc&0=s zQAKC&)?O$s$X<=_?NBWOIavgFa&=6qT!{eZ`X5 2_t+q7on%T01~Tj))l{ zIV3r!n`$ng#LsXAU!3xm#w V_C#Z5yFfMx J!=E;X8)@H+$hS7hq$_=xYVRhr;Zo}ck0Y}f9XEfXGz49 z#UEr_OW^f#01a|W3~MvrbU;~OfM_zM-*{WcRE^(Fami6QlQm+RwQ+YeWX_zQjAyeZ zb-cdP&S_d2eW(Q2tlw(R)+a=oJHfa!+@^%BlOL3Z*84L_f9)-NBVpoq#jg8J*pz zRj4hnWi`xVaYH*!W9U!YKgjlXKzkzqAm`5+sX;a)%L>o|I|#;bF$&vpUVKl$_zj}! z)O{s21{&EnEGlOhKgUgXL=MbswzSjb6g>^HTDur!Wnv!m@DXpUheT|QYVj#{oBKP= zVd$UD{xZ?oU7`~@e>n%$%AA-r3bCInqq@tD1T2dT(jjakuT1+t_ptmwY0hLYfxYPi zHeIyeu>Zt@xN(BZ0gMQT{2==bPB7ChM~QMITBV15=`YAtDOubToOYCaPPM~UNPS4B z3B=~K0q0ExVF=; a_uTZgV zY+ZXyrr^fW7a#Vm`?nR$Uk-DtXBge=@jC;siRMmme3uH1*R3lp84@W7EV0?u)@-Ag z2=U6DBZEU 2gxA)l+ z5w-L*mNQ;M{QE>&cb9M V1olh%hd9x`&K4Beb4op z2I}&C4ig(&b37c0h=^AIhOnk?>?LxTnN3F1d)?e%4ZA!T`07E5yv)hwmBuN3;bIkE zHSAG+ bcPO>3Ac8g(I}Yiz{v?Us<1)s!#U&aWHr_L78azFA{i|GE zUX~5Lv6c(d-mWWM_Uj9AR)#&7LM>=GU#fCzoZ@pWumwj0Nto=z1gC~H#zCnNdr5gQ zdaZ)|m|HM2OV<*%aphQlN&k)?Wcu&odw@I&Y+W@1`mPdD^kuu}-{*^>6c@1(%Z9WQ zc(AW|KW4g-eXw})JL(WwVI$`nFEJv0(~&QhH_qbf_aM&rigINS?!ZG8>+x#@|15%K zgDI$AD#f!)w8H?Ycc@(Z8C6jondwXF;SJ3)K2e*Y!z)0UrDW*|EkGAl28-<+d88qa zkN+1LTu-o_zRSujP>M%}Z_D?bB-HI>La2r27_l}fr{|>&tT#0R_rs*ym|TpuJ!I4N zm smT6E`Qe{Gt{%M&t&+*f2N5(ViTlxq2Z;LUV_z+K{@X5oRP)dv zO_H8g;(osGL;1!{7v#}7nqn3ptKM4`B?ffh3h_6*F@iyfi;z_BI4+H3smShnJmk>K zXLUEc0 Fr=)!e}M;&EO6 zmz;hlifsOJHUxJ?_bPUZ_KUY5MLXI1yd8iKQED6>uCrlMmoj~%+CZY;2ndx4*`|^t zSa@b{Vy@g{6?TJ!>PQ)IKnWquwj(@#LJ;^nKdB%pZL=t;g|K%N+ACxyi@}q^pshLZ zI LPGicjj7^1R_5GH?kp@&-VmuKhMsOm>~ZWH1bI0Vpt)X82?&|MvUTRJNw&4@ z$RhiTrL0if3gbkSi)e6%Q{?x@Y7`!frntQOyWXN}Ce`J4yDDyUQ@Cdn`Ta>=Ek{S- zNfV}txi@dK+S_roH8MqTtp `;L~KZurDhH6&RsS|oS%t12d^%E2G@5wn0 zv<$(=C?0g|J8Wgf+!?0*m)E(wZ~c#6cGmU&jvfVd4pBPbJ#RueAn*!RPaL&vhunR4 z>0odyZO*&djB5YWvi?q63FC4>%-@XR@2&z~!F2K}9^5ir?(Qy7Iq{QdetTQ-$w?%d z7l_NOGyw(kK}pshiFZ@<@R|uz)(QreldWZjb~BI$C;rAKYkQ?7!g1Uub03qnUSP(+ zDJQtlFL%~Y*~Bi#n^puimoo^IKV$`CWiGk4oparPX2;gOmdz#f`8ah5{_-PIfGG}w zNI+k#G~N5%29t)%grT2$f*IhRH~Scy>aS;w*d)R(XS{>hh}Rel**UH==`wuM3@p!Y z5FpR;NNNB~gcop1y~^5fgJeP%09@8!Y8-Q_eweTQa`$u`$)SCl!{hA`u& eM)4vcxG~&qCy-YS3>y>!=y`J`2r?DrGuVKDemAAnK z!W1*Z2O2VUq`4-k%icz@l6g@6q+Fob uKFx35x_;5oR*?c5aFXP5dKPY*mY1@j^`evDYUspAZZ7*~0&C~agSsm#Q>^Dz5 zciPr! |Y&M zH$!$m vgZA}K$TPl&mX>yKR&PibQbF8Nh4gBNuOo5m|pX?`zR1q z2kJPjx!JtAw{G?c47#*B=SqPXSy`lGYji4O+pErZKK7oF%}0`Xc~lK}QA!sTEVy}$ z5# |K8C#T8M1j>5vSsA!7KRXx`PR{i7pt7FD_JI<7c^UxKKruLyZ-_ zr%UDPRA `4$ne z*4IZQT3OBvk4veH_?>8`Fk3IQsDti{5kX5$i`hFk66KB)hN!sF@pW7 s zKIH%vAxuvwWlXLIBPobySUzT(*s07n4DES5*KyZfl)0?FZXgmD#vu9isrxiv^1*;M zubx_rDg#+g*fr*xU&z0o9Tcg?9W3ulZB^1~AWWed#D7@N$LrO8ak H%|ce z>#`r>>U1Mfa4>Byfl1q#^41+7fi8yY2iegJ#L=mtZt!_jq`_@`_1GdiGHCnJpyA+s zjV31rSLuy-zb@3PQbyG6HSH~zY08CFPtr}dA7nd#YO>7;l_4r)TvlxxmhC1F5i~gC z{q{aXLLpXtrI7c+zS_Nn$0LSZ1$z#@Z= zf zq8wlN*1kr$u%?Y`pfH>+t;&(npTEEId_Cpfqlz@&`)&qzKVs=$-2E31Ufmmf98d%M z#sx}YE2G3(QiVRWFL+1Q)STkeIh?2*8uj=MdOq{{X^-4ogQ^uSI&p%_;azw}6X?98 z$kjCj<&v~qGdgD>Sh;uRm95-!*DgUw G&Ohn6X3o|oK!bYy_^| DDF60T>*TO8y)WY<56gTXC%`w79MQc zixN_YC7LiQr>zz|4w-r+dNO)6;IW=Rr(d?epG`lGQ$b1~T$m`89jU7~0CQgU*1sZo zB(1)hUY2Uu !M_Pzf)1DJIkmve?QhasBqBUDkntH{uezXKi|VR4 zt0G>OHGtnT1EtkB9ldS)>o|#5`W2Y-#!N >sX-nhS8QfyBSN!)8{(9E(t$Fh2Dtg9+ z-YO2JvhIicODwxSbZPQ*CkYig7^0Nj 1u^=Q&idf!HYLKIS^FAvd=AHS~$u6e{#^h<*l&-(YJv{QxtK>@kR$E>>P<+$? zC4dG4s-0H}fcAN6O@V8}_U1-Zwo(MmVDJ>=#XS;ea8kM=CxbAcK62F|X5+f3eAr4} zPYoC!$k>>ubY;V}!fjfM+3*5QU{^bp@OIZk9<|1^eKUSd%!r}A7y^ o%kH1P<~ zn0 `OCk*C*2$yM5!`2#-zTr`ImqHO<$s|MJJz`{o2DsTm#EO>C~KA z)g`opw`#4;! Rk$foTC8S;uDkU(GA*&XD9fqt&2MU92}OchRj_cy}nVko!u^wmENs>Bo7b!y`5v zJ`7Npd-`#EtBB@kf-;bhHNONq+(l1ABz1P =aZOnoXBZ+yPUJlbD z@{{WUE@Jdcg;U+_*T#)Cs?=wmvIv?%r{Yx2mAN|3E@TTZtyuEAhJq)V0R wZv%LM2fznNJ&vb0OoLHEC08gWe*A%54>K)S*1)TPJhu%>;aLXrr|} zA9pv25^?ljw^nYIwaPy#905B%v8u<(vH++C|8JS)e?<%b Nz_MKDCBu~X~S++wlAXw9v$L!3o%)H-3T?9IOkebZtZJr=aqGZ z!<}wRNE(- IwH!O(!@V-iGv}qU2ku)SFOWgS12fo}~JYRGyq+ zxH-y%;@2z7@;*B=I0%65cF+H{EK1y91-PrPUJ3MVrwiJQy`L6cs64+|k%GNj6&}%A z%@pI$EBu8_^9*HJZJw6}UMYM^gO1jikfEt{-bP$iDk_=JB5smjUtBIhM_RgJ>!^3R zwQZHJDm;M$ah!&JVIyN*Qm+!_H!s#n6VIkJ{$8Sz*Bz@0*WM=QJ#C2?iG^jh%NJu0 z2k)A?H^FdTkMWu*(= 89@DO(Px0%TA`%YR|b$Mf1 zugJfqs*gUW39*yNP<;a#C5}O!{>aQAj%s5`H)%(5zxXc`>Wr49f<4cNG*ruy{sS4H z{cq_P!p->YN#D+^Hv(}gR1LN~ vI^04T=h2xfxnR7FE7M2!$$U{lA9k>Y~r^drhd@>vYW7bOT!sN5quf0Gv%&hyK9 zLF27FRqzzkqc46BL%G>c%#Fp315vBVOF&C#nIj 7xsNv}{Dr@}`xv%?tM|Bn@6eii_UidbF=nsZ`0@Bj7@f7Wn?5TxE1@~# zqcJXoHkGS(RE8r!Sv|$Ex&36!t!8+U80zS)3j`dI+|-;kv0roly^X0DjPdK#iD^iR zhV4yEemg&=!7kD2k(y2(s_tH_e{>f5mm&Nz;<$i#P23=ICTP~B;|Ne}ug`UW1AOFS z0a#MtjEoBI6a69<*9f98=FCsyICXfbR8z#%wcWEf-G7s9dENH1T0P&}Y(lk(%jq5- z9O9*J={Yq9y@P!CazUH$wQNjNUMQY*co-$`z^ ;ne7J?c6_IL1|BF`N0Qv#IDhWg%`tKVc5yuGt zsAyMDu)wT7yZ6efKO%xVA>l5jAH$KjkRCQK#RI5m(N}(ujlyP4c{iYw_s~okcwGEc zmu|h&f=A2%5Ar^6)Fqw7`-hfM&dzoz;bNRJiZ_dF`)3TDmvccES)>KX1=xzfzwij8 zFFfvgeDNF_NX~1ZV<7SqEJZ`73T*74590OE)yl7Kl~c`DB`RZkulhYZ$M<*`+x_q{ z8D-($@W9|`$%>^nL^3BI_X~UdGSZAhlfeH3qi8=u<72IX1Y1DUMC>g5(sfngYKpF_ zLNdoz2z31B*`&un_RHU_CuhkDt5l|4ojTWT@`L0}y0gR!{Uj#h&Dx ecvl?Oz6$)w=FUdtkUP zFxj&*G=-xhs`c&&){titAOQY*;9!N@##u4?{F3p-5)%zxBWlUE&SJUdJCDyj+obRi zsE7Lb@ZpgWN=!CJwSliI@BmZ?4Se}UT$zYBoWEQ=YNn-{&wDh+W2o|%mma57!9E9d z{)&CWT#YvsI1=4Hk{>u_3fwFN4OHUB2l;a-XNQ|Ojvs3Ex*U3oB-*A7KPz|tV1?{L zZ9cpBE}GI|{#{EU5k$}`B#1QvZh&lSTl)Af9<0G;$yZ`=t1N9dK1WC0HlO~wfD80! z`AcDl+0_IbjRf! af~%SNu_fk`hnv7Ur@wSCBNrL!4EQ-gYe`ZWG-m2O@+P&^l2#*vndPY z25(DpRz%&EK8#wvBv7_Fa+Hk03g~26rUs|NUDM*2Bekyj7kI4x4LwPnPKaZ4bF=sl zcbP(K{U~3+>N`(bECg~&{}eE`1gK$I&A_0b(d}6_Vw*2<$(+^lz50@?v$nD$M;dg4 z8p&|}2iZNq6B!I=of@p1?qRVRlun~aq@%S?&Ki#ghwu#+v~Aga&%1^q@5DmLK)a=; zvm4|fd>rRnx+}88 KBHJF9|9r&?WZfDTPZGxBccp2vy3 z?TqjmFsXKGE7D0_<;LN0c+E#HN+Ezc?g+TRem$QmfB0ym=wJfZsb}+NE~C2N4Nw^L zyqFR<){6WderEjYfJ>LY;-wzVpk4X S0$W_&Mm$W#z=?fCT;9L*R3tUctVE2(tC zPDnrHc7K6Ob!#!qlUwF)N$!Z?#ROl|ciU`IbS=?AMH|0?Pg-LPmELC#6B4P%w0Wy+ zEj0A}%q?i6ic-7%XXGmnhF-&+CczO(EX!$}l_hvbIQlN$J~wY wrB_N`jFn!dy#!_r}mIrlm}4MYDqfrPhP{xGa^q zX*T#g0{WJ>Oz194`kjJzI-bV5UAL2MTahh%@55^?lT^npXE%q;U1XoF9q5 2P^2e&h;n`dEz_M zXm^z!8X-FMo!8G 4P?0j?v8iK`|(pPjqW~d1UF4|`L~%3=C$`9A=WHaUTzN9^<>AdXA*DfJ+zxa z8XdrX@t*>bbT-M)sG_rXEM4%sVxfsN&e2NYeE7QtR{ZALvQ$kFatdFvxa$!Hb{w14 zZYtMD7it7@mkyePDaI?`A!%$hAwJ2l^xE(5CLvwXvvv(>a{9II!7E!6Cc0m^srrR? zxD=h)#H2h6?r7q--4He=+?d G#cq7q&GF3~x4`pXG*rGj<4Y8$`<+wgt z%}Em*QA}QKX2lsN^uFr3$a_xGq!vkGV0xU5a6gYIK?rxB0@3zl6Z|@i>$Y5Ur^pbf z0yB#a@3ifcru?fg9 T(3@ z8O7P^-_DkuJr$ehF7YJF $Zi7SExppdiQFL_6gGypm1NKC7r@|JISJ-Ds5;ZX`7W__i zYN@&*-~8L`W!LK1h)f$Su~X1Mqo|6>1#C;h>Xfy8R!YYkyR >0i|A))6dO^x7_WM9D8(UanDVrH{Z?X zrhJC%e$pw&8*}+fXa+B#^kw}jsriuYYH$0E2LNR9SbCR3jd=9a`Ir&NDTgMnz5+nk z$@)MP`KBP0VU+|R+|W2;mPV8T0L9Ph0yPP%agXfvzLbgI5RUa4Zn<~PBdH!4Bv%wf z)N{yPs=6nxrU0CH@L=q^DsMsK`A*SGI%jxJTkS85K7Ok^7q8iIPzsdo?fHjk4v`9z zmJzW-i26l*V!|Yt);8@j0PH_$KJ?^~-P7uUOR=0WXU?~0KM#{oa@lt;sQy6~V# xmnuH8#a}_(DSMIH4miKD z>g_>o!ETb98SI4K?I?vGWGLm-*e q-l$)h-ZqE+W(nCgWhlk@U|7uo#Za(cLYyg#C2dT=g1zEexSZHvC^lbYE% zY6`xWYD*`sem`J0d}ROZ3Uy|tS}#Ks)wz7VAg2gFDy0D3&lJD-O*?NnF!zghoePze z5Oj`{K9`^Qj9yjS1Pnw?_b-?MLPv`jsC?YF8oB`saG|j@l##9%6YJ31$5HYs4TJ-^ z2U`Z){v;A&C$C?yFl6wRUTlh={d^K&8`KOO@c SS zx)1`TUZln7#r^54V0Rqv2)6d>zjxpNC*A!o=*GZ8vSQx%Mc2elv(6}f6|AEKg>iam zs`^8HvxtYTK)9+zIPW8*b}q%`6nu*>G}h@$8(R^ONdI%*2bP%hKjmKaxWvya((`vK zBBYgn&$NphdTb?g{#8TTJE6g)s((j2-cO&b^v(i>s6Ur7`WPLVzE=hrzV?)KM;s$4 z07vUjIx@)7Rvo;|-NpS_iF;|7^Iu43U=E8ODKy(KsqyGa%N8k5$>|Vzdm0ND5f6xx z5e%8EBF0_m>Dl5!Z8tHCmZc1J+MEF?*~HpluY3+V)T>ZN)s>anj^wV|@haQ8Bs7%P zx1W%INtF`%;=}_9@yULa;dZLx+76czb=MuuzT`m`cw>AAf1hw?h|2V)U0d^Mc$2q` z^4T)~SfiGg3(2Y>Qi_fPm#h5X_G>Q6YI?kpW>M4uQP