From 239d70117da183d61191b7cc7888528d37255dff Mon Sep 17 00:00:00 2001 From: ASangarin Date: Tue, 6 Oct 2020 18:59:05 +0200 Subject: [PATCH] Fixed SQL things Requires MMOLib 1.3.7.1 --- lib/MMOLib.jar | Bin 4393364 -> 4395349 bytes pom.xml | 2 +- .../java/net/Indyuce/mmocore/MMOCore.java | 3 +- .../mmocore/manager/data/DataProvider.java | 1 + .../manager/data/mysql/MySQLDataProvider.java | 2 +- .../data/mysql/MySQLPlayerDataManager.java | 182 ++++++++++-------- .../manager/data/yaml/YAMLDataProvider.java | 3 + 7 files changed, 109 insertions(+), 84 deletions(-) diff --git a/lib/MMOLib.jar b/lib/MMOLib.jar index e404e7a8f0c367d6aeeb99f789e292ffbc3386e1..0bdd3f2a50883b9f955c99ca967d0a4bc673bdbf 100644 GIT binary patch delta 68774 zcmZr&1z1%}*M?2^p}RXJLb$6QgH4*C zYi)l?(5-wd*dg6Dc%xE(r}?rdN#3h4>tv?}Z&<44azwCk#=SQ++c485Kgw67w5P`_ zK{-tm%0V6)rQ=Gp)|k|g3a$axX3S?U*jnR+2u7vNHHXLa=+U;;DmXD)bCd1l1J7zl^AKao-EFXhLaJ|KOJWNP6k=x}|jy2bKOh zM>~{k)c&PG{|mabjGHoaVpf_&f+GYRZMuT{P4mGR!J)|(u6lH9kM1(2n%M0 z(6UmMq64%xp{W(7XzGS|IWr1S4GNTsx8+km2(4d;FGVwYMkfvYCpsx<^gkXW$45_? zP_#5|!rgwNxwRutv>m)D`QH!?jn+p`^tyAvU7^Qg#jLwEVVm7=C8vJhD4)AweK(82 z^`YN;rezwh)m{EjsbRzNdW$nz_P0a*8*O%edBeY}_nY?VT}DQuT%E%(Ww*O?2L`mC zc&OOt#h&OD(|nJ{+)&IYjJ>}9^Mm5;UsLCm5)b*p)VPKOJYa&Ay>9=H#<49gjZsN*(F)Liven`h@YWM`t)Dy&iS2JDEGW-+@~$ ztKYg-h&u0I;#c!i>)?-r$v+!baii{z()(h5H{)v0mDRpOs!cu?_f71ioVwwbxpAb~ z$+HR?YrbDzb5-{1g*6&}=8+}|4?`x`ZW=aEsl&XCO?}Lbcg-C+xL@|mTm9ZXnqBlG z>Bp$V=^DcyYUWoMoYq<4;*j9Hh{Rl8FVZ<&MVn){xr-RxrX%l&&@U9)IWTItLCn|5XB@j)}j|FEr@ zFt2^@wTl!&cO9uZf3|k{^e>7NGNK-~{owqfrf-p(Ri1OnCMsL$Q^3QC2g~RWM_2~CLXK6;@bESDDCxQxg_AlvElKFVcKSq=IoI@SL)1Aqg zDf)4`sTGTlwc7LG`GeB0CWF`X()(rOJgCs>zz^}vdk@1J90q@?P#zPL{~)yg;0EQ1 zmXA`iZFM&|ICRl)+_W$tSl8>>(8Wf}i*&sjQ`?^Ys$uf@cCEv0@?ggFyfiI`JuACU z9{$<3L_bwZ^-yQIF+k&pDpeWwB^} zfBEcA!6Vvg+WIUT8Cjfrynv49>#q%qs<-LpfdGnp6ShjuD z^tpqrbYsfYj-pXMV%Mj|6ir^-s`hw>P1dM;awB&?f4%vf?)%_&<;v}! z@0(^*cIN&1STD0{M=ku-t9v}N9a>#ky(2T>lG?akH}`%xsM@b&?S{bnpQ0Zwnd9+8 zef5*0{-aZl9BFrUm5$-k?+xPAEx%4DENpwfW^9|MFW04dhVD&TQPnW2L_6KZxXYJM z?Y9*NUO13*wd6{-jAQ+EwpVU%`?NmU@@CS|zO_-F1J9~;T5|H*&8ZgUw#IJ#t%er` z3_Kb4@JFADi%G7(a_2AO4WAttm!9)`*r4s6xn&=UKG-|VzFf3s_F^6Vm+t=iqL!Td zbZ+zKHh!178OKifVm@t6?A4Rz5mU$fbFXOM8p9|{rH%PnKBq0BA1+!yDPvX09h-d< z@4cxSnDcvdeg4cYFKa{&pI^L59yWB;>!JLcjsLWDdUsxDRJX$$c5KReudt!FZ_ZJ* z=qGyyo<1D$=!kn#ipGhv_d32ZFRZGwS4@m*(3#cN^TlST@{`$Ib&XMNQfV)5zT=42 z-Etlo@3c9bJ8i`WF&!^um*;6ekd@Jv@se*jU`lrue-}~`|B^pQbkOfg9f9)fC7(~+Iia%BI ze?F?F_A4J>6(T{~M%79ypKqXv6}D6X&>&GZyh`c1mn8xkT<=pl|8<$L*9X^U(W0dn z-Um}xS!M+r8cRMXmxg>D^EbJoAaS-sa`p9Re+uvGC95oyK{R~IvK3@UQM3%w0^twL zUn9Y-%Ezwxi(V=dO$T1T?18py1Fg9XnaN%Q{DFxtIH^b~9C*XBGp@4Z1us#Gm^&>_paogBX3bQ%3HQZDBD%RfedLaYenlpjuj*N zo3N1wPP}QEQ)k(Zh6s5Xatw3oEz%JOQdc0WLJmjC(sV>vei-t~nb$2djg~c4rS{sz z$r{jRm4zk9o>QTJn5W2&5L%3+*Hy^tif74&Q$}{SYzK8#cdcrm9SL*ewa5iG-m+}P zB3VlzK|{D4%1|+{hXMqnwuh9j4IaF5*}vOmgH-+lk{}QGWWG_T|!JQ;pbmSx*`UU4FuFUsm>>>Q|; zqBl_g_q#Fqx5q0k@sL-}YZH|@s(VRL=6>0Aq7L0x&hDCNl6B`yy`B1sH{)YsW_&At zcV}Dw*K%o>2gG0B78cSWC}iKbeK*Q(eEr#YBVymDml-h*D>ZJP$V~t4J>lzv2^RyO zi~sn2z1Z>6sv}yJs^QkVJ+}tznIXIV(tdB}3_s7@!a+Y$eQsRdGkU|bu|o%(T=-gb zcF+kvzQVv~->Bi^LoV@w^-fMY^K*2^FZJH*?=a5pYh+{Uj*e5lL@c-v;T`?z<-e29 zy}GnfZ>jQ-w1jX4>lr$|3uhfz_Qv;zyum)h57SC7@4DS3+qEphYSrl<4x+|Z5hIhs z`d-eD$lL0eA%8rf{>aI0CKn@StiN+;sEbDjyBw=cD%V0!YAY;@K3~~de{@)gcBPyC z(=CfO+~$H~b}cp-G^FNmvgqo*M|8bbF<2`7vK!_Da8BkalQJ^|_c)`?4agomsu!dZ}9LRb>B6#Vd1u$M1IQdvl4) zh(Uwqc5y4Z8*_NS^~mKa_Xq4A5_Pt`Q|}|UPwe$GP}@`dLGIy|G5w8t9$4yE8&|Yi z@!M`WKm1p=Pn+f4Ur$!Pw83kz;f?g~*`o({ zd7rU*NRM%Hhq3|-e|;?49^r3(OzmYzWI)l)yK@a@K64)b^p5PgUR&l*QT-j#dV`~lD_OJ*;8rS@xY9ollrtycK+gG{C#`(DejAn;=&>W zXU%#u_W842@3y$*+~3i-*@uGaq@l z@Z$1O$3D!Qe|Yb!3wDn;T-@X%cW-#1(#lJHV{^-#g1>xOwruwe-~KCxzPxkeL8@o* z<|8+Lq!-M)`6GXWM#eLz*rHFjxCN6;6UglY9it*FWECv!*7eUPxo?JWbn4D-_UzKceEBR`V(h3b*o5nz|RI7tGdT!s9 zx98-Y&y9z+*4epF*;haA{)2yu?sxJ^{o$OJaY%1-l4blPb??E~Bl{fcy7g60lfebc zEsr&-cPtnf>Fu?A!RwMkj|z64``JycR+T?@Xl?Y2lXqrDJ{7Bo=UtljUZ&hCtniUt zUVHZk71cK$sejBaG0Ce7*^!%~8SV1%${hQ1EAOBGa^!gaq;r049!+#u=B=@M=>C`7 z7I)8gtNPnzc=|@petmV;nFB#zrw$x((WQD}%=ndW9{&hBd(C{R{{5xN-usXIx!;iC za;tm&0f(5fp#_WAj#IFazkf|JRVU)Yx0<+uZQnc|xVnCu_EfdJ)$XWc`W5&4Kj}RD z_4P;XpDF79TGaJ&<*nJ3)dzzMAG_LURjE4H8->0!-2WneYQp_P84I?%{~J5`y=GHlX(qSKj{3**|FDW)ZW40KAB`Zt?+a?_~EWk_pbqSJ$`W&ISq&34Q&6|k)$Y8 zM8B-*zvgOO+(+ZW*2(>UX;x@GF8e0eTdrbVedzmVTMoBf*+xI(*qYHlf2m!nOMd

qr;f4OYJZ@%hvMs~rFH~mTnZ6AHuGH%^}~R(;(E%-rgh`21~!k5A2py8#>b zW*iAS(|gs>BMZ;e{(hoY_H@cv=RaR_-gnsHl(BB_xfdbhyj9wZO1$0|Zrbl9fB3|c zNyDCB+O4$qh|T+%mAl$GzP%N3c6-glBz}UnU1PTA(DXSI^cEQgf4z{HT;6~E8Ler` z;m3v#?9-=VsImFUPcNL$zpyxY{_&P91M^d>M)v9Hl$Oz}$Y_h+@z(!t)w8Y@>3bP| z{AO^#h@^BmG1O^p>+~_*NBtHVSRUI@AJx6<^o{BA=eTw`b$iAx3Ru;l@03wbJw3MP zweET&r!LDzJ$mFQUCYmlFD%|(;`6pXG-lN67ojnqhV}DRk3Jq z{hJ|<^WJBjc0Cy1-^=peB>7z`H4V8__@7qchqp#%X+G|GDmi4La$7Ukg(TE#iou1n{MLqj{yI1$d@34Bd`Cz*1gNxw`D{BH8dO1wj+WON&(c$Bi zlb4p6nV&ptJu~=wc-@#h`IzF-H!Rlf*cfJO`#mUTdi4_Rv`*ZlehprFLDkA#sLt}7}>6m09{RoP$bMCK5U7nepT-rCKB;dm*&qBWo z3nJ$>ytzDnUs!|9lwG^yDpr5Ky!dL|wj+(R$HxUx^f?6J}p~0{Zo(iA#*!j_R>=< zwo@CjK*{WFLz|a(V?R&b)^pM3j_bdT?|4wJf63gXZk_e>*3X`pWqPi%a z&IjL}z7+dd`&Z_l2QP-FJQ1GM4(!^x#avZJrj23C2Q`}1I*_%uWR=N~TTQ8^@Q_pn zY@v`id)}ArL9^k_X^&;;BSl&I3)#su+ZG-UXwfpekFvZ55CY0$-xAJN$ezm-xjs~F z_*@5)>5oT%-bx(K8)4ysI=4W`jTc97-OAQ#ah5`^US-7T8&fmjLr7z5-k{9Sn{$$A z5-V>`p=@_+&V;HHsE3pp^4wXYrZU|~R9jxYtkpm+N_Yr>^>NLb0;gKmdlYxFxr%Ni zGnUq7WrfQcmklmkTz0tZaXH{}#N~v`8J7z#S6ptm+;Mr} zYK6-amlrN?Tt2v3;; zRG3_^!uO!EzbYR~??tNoaKW4!Kbqd-)%gDOeq4=@qjxWLb}wwYt7-5fD4wXnN3-gy ze!{zY4c?2w)|z}2z0cC*hfwnmHThvw4%Xtk(|e8}Sn+HTA4%0-h*+_1 z+LGdC@NFRL|g)l>(52yEQ`mDXd27DrOF!Nim3At#%x1qKb4beWRjWy&)(fdVu2j1F< zPo(!EBR-zq^^Ez!lutBn^2L}RL}dpPRxZbc#ew=zV9MIn%9J0VOnJl z%Rw4OijA!(uhKOlI#pIiW)>$S<0bVLP)6p`?tE))6MF1rZ$;k`Hl30Qhh&~DG`EyA zYbq$RGt|HKKlqmnT8Fb(HDwtYw-%+I?3I+tzgMh9zV+kjp#cdpU=)$})qrdzq7i9x4DJ7F{<+YsDIC}t&>C-9 zpvI2ZDUt7gNtdY3=hcP4Z{uI|d;l}2HDqM`TU0pcF0|W|JWCdj)t0bO_((8~6Fp1T z?5csmCfwks`Qi1ZnqeWboSsbc`(zSqg#zmZik|X0vY}`F5(Rd=AXQepr{KV`D_%>N zqvG?pd|Ej0`vuXq=7R+-t&?`0lhJ?LO4xNB`z5LC2)FaO$jdt5K5-agc3P6mDdqMcWLD7gMBbvJO9sgJ?bT>lX3^% zPEf76p55CVYEu!bmOYo?!&Gtf=`1we5!Jo(m4K=Q=boy>Nxx~R*1jFtYdv~^#AHarpOwR zp{`6P&J{WbX13JPCr3fEC=S2V!GwFdfGG%vxteaQsF@pzw#$+*?P!a#D413t0fn<) zSIYdL%==Z6nyg80cV!R%k^<-pPwP^bWX?>g*>yk?^ zgIJ-gk_Mk_jI_fTX)O!s9+s*E=gC4RM0>!opGTz_oG1%(@CaqxDc_;l|SQw?dw8%d49@z)qE96hgY)zmcUX9w37X7)JbiaeJ7YUJa zsb%Jb$BQ6O7QhMEVjjn zqDPCSM=5b6_`a+;8R5-aun^`g$3{`ALDqWn-a`D{8+L{aLFvIF8JTu1N-Jp=`0=d? z9*7i4<4Ca(GJhX5;EXPac4UzcatG>wsbOl#E6iwRJhz3nFwxII(8R-&DH+$csjD6y zvNzp|*_YKpMkc6*`ccbfb$PO=HLs>=mrDQ%{0?cmwWQJAuXnmNA*$hV_)SFB}>k z&`c;0Jb4)q{{Y6WrR?cW&8$56;mhmL>7&^OMD0+4pwD9j&tv)$quG?rjsDBtkHB-y zucj(h+k*W*u9>B;phybEbms_I^8=f;3Uz;T`U}I4q{g4u=Z?+)%j3b#R%qUs_((4z zYK!KzUeZjf{tcFja?d0Ste8`_ zC++-MqeK0HrC$XWKrWm|n3{ulh7v|M1tO+~Gm^xwTL6d!bpqiN!0QT&xW?XbMMl^# zdSFq&)4J4uJAaUC0Z4xve-icfe1Kg0UmOYl%$bof?RgiudCk(U_Pm$e?Plpud)`Ed z1bv_*)`7f%TwhL(l>?_npC?sGO-cuK;y!>E5!3HMn#z`Paxxcpxex_bhT-7H0sDQ@JER+K6ULV*~M zAHS6u5hdokaI=hv8QuE=z zP<7v6RQWIkVj;Pf?Kmx0ggw}9N;C2QgEEjHd(BxbKnL>S#oD%Wu1ltq; zA{r#U69V-!NTQ=bo_FHAawob<5POm)Ms0${K`&vkK8$jfWM5|(3kaveIPOOu2D*pJ zS(6GL1y*-~dzbq$cz8G7h%|KJyK%DyNFf({%UO~|U17&=uoRrw2S$W;*mZ*u`ympp z8~1)F6IOTURS4f5QLF97`*LfeTEaZ%GfIMVhadcOETfLTxYJ zkfeMH(qn^eWiKesSt{YWa$hzxA*?swftzxW$oAo_NnIGy+rzyP;`7poW*97YKO&`* z7RCp2W6C8+7$;vT5fq8|pqw6w4~L!Q$E4uOa9+&qI!=*3oWcoucOujKV6OB&#e}zg z_%P1(3=q@P3B z^7x`@^XzH<+-mKW5*&TTCzq;T{6p=NMAOYMLLy4eDJhbJN$bv&yqeR2u(x725 z|JqneVfiqWKWZk0yc>o-ZEY<(+^*x@KY)0uJ(WczT;PE|K1`2G%RYPLxf zbP`)Jct{k?zw~CpJ}PYTWkQ_?Jliq_o(aLSM;o~b?I<^pGYVijmC-0LoTq|4F&Y6O zDu@Y5g3y5pr>QWe6BDdPLKxkJ358-*k}(oPDW)4kYAAiHClj1TL9pz@giI>D>(7K+ zqj(>#e*_a2_LbKq>20u139j}Z4OjOKCCQ_4N~Isgbb1ZOzz~f=O~Xb=5G7I=DUYR} z7HznSUY|P#y>1sn){Q|cgW{N?Wegw4?Mk469m$!+>l7rTtCq*0miR1+nv=p=@~Y(g zv1SimQ%)h5awa5fnY;>VKNtTie1*{^xY%(l6h7riDZEtg(9}OGDA#d`6qlMUZ$h?z z3=$D87MvTA;zll#HzQ#w;NmG~vr58QG59Kl&##fdDnxFDyaD6djRQAnql8l?JyL>L z^KvL9yPZ@Xg4r9%}H5)YxnvU@d;trg>;7M;&X=NFle6!Kqgtn`2%T z4=Sxdi2teys7w0~ z> z&`uXgxDc+LzC=(Zb(2t0iLn&&Qm46S++-B}X~wvQz4wQcVpmSdj&0W*dOD@GYwNvHwBg|eJE#1dZi#*f7+AasW5fzw%CvypmakZ zMOqQLseF6cJ7gVYHT@LyNe{c`$vAf^^y;u8O+~#pukz&HhETzTXr}T3oNI51ph6N- zL3afL4-%Q+J{|qC1_wG+?ceEqCvL%1 zCZwg~#JJ`k1!J;kCc3nJI%>>FlW^TQ6&&BtQm@j{u==@72+80(auc$duzfb17E0gC zKiF4MpX#e9VoP#o^WI$F6IAHS-N9iCEhDN@P$3J(A~NA~Q1iyK zO{M3+^NAOj@MI3`wyt49z+5ngt}tN{71m#8!mW!6+QNxAUC$MW(md=Nu6G&NX&&-N zpE@RNork0=`5_goiTr#tYxHXpya2;v=@SJL(yJ_(E*0`*+I)Ca`H@lY-e8>n>e)nH zrc}}wMy+|Lph32UVbv272Kxoz+<#Lpj0;jEvMYE!64Y8=fvnBO2an&kA!j*Db>fs- za;iin3(04V`hVdmS@8als3ojJzN;u|vxP!28|J#}w^T484U@2f#!+sjK})U|_tm&1 zqC-q`(A&?=rQoC-K9qB_mO{`16;hXjkOezP!3ma%B69wKu*AxfkX+Pg;wHss<|5)7 z-CH7x({u)jKu zBCcfSQp}O}=}f3wilr%g1{2PvDw>h_WpJ_8Y=$IESJWeU|H8!=%V0ur0fSo=V58rZ z&4j136?JJT5jkD}9ql{@hs{?sB$l+OHvt^5gu$uV7#V{03JR}U#^5@F5j|qLL_k`* z7{M15r!0q}+e*s0lgi~-U~~(qki>0U%L){(K#P^vGokBBbOtJR;rxmil2Ql+t#IM4 zY^I0{5v{`@dQFki{S>hzqJxS`Byc6h$Ur=KN|5C%5iGrd)V=m>URY^D{a%mM})&+yx=T)PZ&;1Dc5*a!s#>k9fg14*|MpKDrvO_ z?|x6+l|uepL)2l!h4ZN;)*G?=DX+yUF#RDF>`ClegroWi6G|T95&za&7}a~ukj!;h z&#c#BZXbFnLAr4HZ<+9R9Y*Qf28p0fhOURbR-Yt@8mU~5(ZA{kMZC%FY2v1YJ75F$ z>~+LyBQ~c68&D`zmOR{qp4`0=Rn}AFo4gdl|3-IuP8TkhYZU3eU6AdK_N+e_x+VIYjA@0UXnq3RSg}P)g+Y7Nm7!anMH1Kv_UEiPjq|{fo9jdwD0uUEYc*x1&1~ayu)DNcU}6 zQu>8T5ChV{*@q+HT^ z?7ofLvHOOPCbGp?)%YD4BHdz{P`CrFYrBOBzjpA!vI+&o$Ohwg@?Nr;B)XXQAQyJR zGpACjGn~7CDO-%CAg>rwXrc4NSHx!ly)v(2R{pNkbp${sZ6_*Ds~ zK#uOgD3ZTPs!DJglu?3{EXxwq8jO^q2?-KXjuL#_5%iQ;m+~?6bVeXU9yPmtwG`fn z@uItgcO-vaD=Cu9XG%uQ-JreLqT(B*xZ;;eCQ?l)+l#`-KS&fTq&TO2;68q)oCERP zk9~W>K17wriyaAagCZHfB#0k(g(I?uc$0!(N;c$tu2@9M_QT9@WGW0*C13ZW8`}5^ z0O@rAht!E4%8KOYEgIi4I6M^FHAxis$42jVJSdH|Tz+v3}_7VXP z{=Tq?e8Pn*5=&quVtf$pDs-iYBMAypRwC05LT7b1hFm;|x`MGIAHpXsPeK@I*%@kQ zXEdcIE8v*yJW_QSsb^F-Wd#x{)>bA*r=X!9DdkG6kAU(#jE;PbeftnHM5|C`O_G$4 zA-3r-yzbsl0xOf(RB`G6DJ0|w_7tzdQbAAsQo)<3iH%iBr5RGK zHI*<`o6g|3mFSTlGpR6wtDesa?y7=)nT1T?=P9cb@#&`cdmKaI@kRY2g`LUGW4x#ACvv$O^mMR;OH%b^BwkH8! zE|^l`EbJyj_p7VG!_xT)F^CQYkQ0G)sNu)bmt2~VryWl()xPL^HOW}MBnNG|Fw8hbs z3AZlb1HUd-RKNqLv5F$umE7F0p%>Ax#h#S&BHJ!v0ED(?!j>CI8yfCl3H7{$8nW6k z_>z|jrl6#wiZ7x3_&~<}yo6d0ccX$M8CZkZYW1XoJ*m5l?LVxGiV_hWK(}0}K`E17 zQk>~!RDCT>3VG2aocr9yiyZ;TXjez=MX$-IgV2~4E09jUpB?mU|;5j2QaoQf{lp-rQ9jkl03BoD8l zRnSu>yRX5A)zg@=;&qI!pcza^NmVgoIYZ8MxG`lmgLh3=(I#sZ#cYPZrPS>OjB>w$ zZz;=jn6UZ=M#8u}iJ(b#&qv>htI#gTnHQJyNA~{cQM+?T?B6Vc`CFb z3%(-n(Yyy|y^s)71H12GXC8PDI^j1Yh#!}8hY33OQQ6k}Oh~wo+4kTe6&%R<`zW*X z6A6F7Taenf=-iNR2$}B#7|;Gf;gQ_S@AU3P5)F(M$r?i}kByY>_KU)vqV>wdw8Y^vm9bS1@7za6#PIV}dq9g_9)uA5(@r_uMVn^<^7880uM4FhdEfG}7 z1yxlga_}Ky-ceTqs}R*k@V(f8ArG`vjY!fX=nzwin3H-#RdsUW5rTQtLW1bf#Xv;b zJ;pw0MUtPO)ya?H$yFz+VnG%?!H7_`QPm|i)39d$fF3v5O~R=W@e{Q6poawM$%VI( z2x{byuPVB{m8ytDX*4ez{!d}#SbHh0jHej7q=OXl=_#J1UUiW|9D`Ji*@Vb_hVpgz z?5oK^HDcab)l{m2Myk-Iw?sjetPkMvluyqp2R;Yq6hS#FGNiAn9(i-3X*QKnN`Dxm z&PF0yf1aap1^8-=Dg$vQ(_SE=zeh_DH8SZ12H%SpD4K*5L#k-^5=-*>1S;5&TQR7D zJ^%`*OIuz-FExo$f#h7QsyWTwM8xA2;4GXZQuuDXsy2hSP4&DMRq!HejWyIZuVwB>p{y=kyvXjORqx>D`gE`2hPdcd1}W z{=J5=nyu-S|q1B6T0Jg)ICCopH#l zn~*>*@hcP7HX!6ZKcT?BMhSwn;}dqFNO|)9GbV3#qbg34s7|9QMLY{G>MN0iJMbj_ zGdxjKr)V2e0gBVrqCzZ}t0SnAi&|>BWX%^eF3UiI7?ag^QQGY*O2->ZU~Rgdd2;3! z40-((UOQMbA?zF0sscMIv?6bAh?`zFUibzR_gYcdg4BISTeZF;Yq0l~LWX;&8IiCa z=!;F?p)C%Oa2+^zULuG{Vq3MQjbiK%DBkHz-v7Wu)2<)rC+!|o7|ZqQ#lYOIYWP6F z3p?4`>L3NO`6pKNnm&|sA)2AELpfpObH8BAZ~(2xtRO~BfruLMq!9WGA+aC$AGG)v z7EN(P3p9|68_^8l!&pBJHRA4o#w=}w-C1M)Qg<3LxW0^S2DHi0D>!?N{0+65_-53S zZ9@%V*oLZq!|7g0&6E~N_=C+u>kmBBn9>3bl&x5%jl`m1vKrp?^=Mi)zWjmdq}hTd zSvy@#YgwQe=|HXokYBby?8gnqKgfW#FRK%`=Q39_a(4lSMX>>zF;rHJllk=wc3h=q zKq`+n**{FF6I+R_qS(2B69;j*JDdO3BB`9%hZ|k;7kJKzy||wH{{s2{;?XNs4mKv> z;|kayyZ5Q#!-67# zeWIqqW_!L8D#llhLMd?Sq*h7XmdpAmLDb0BWK0O*IDV)yw0(auZnd(wD`)(tW!bHUR0CfJXOU3T#yDs zvQ*KSFFES2q;eLM>D`-X z>0`*1r;}iPaSHc2lit0_TMF9FV@8K&!c&b#iKhne^fDf4X=v1DBHEapE?h>AfD{;F zvWXWlHqsD1-*G7uM8;wza>7s?%*Ek>mKGL}9eHp$&8uBu!teN_HEep?eA? za5z`JRw8JU;^$)a0l-dUxO93mqryzYDx^n`CQ8!;RQqBH70mG^OgLyF_T}sj5N$II z>zZBM0$Z~qj^(DXV{%3U;|n%Z#Awe2iVWi1E>WXqMD#&jfmoeG z_l-NPjtAV0%`d-7%~1aJWht!&Gpu+88q62{={qt`d`Xk%icTJB>qXX-=6uuz=t5a8ga-C@U-nyd_r5 zb#J7QVoUVmnRimi#DmSgIa#5~_zw~;oD+YR2$rPY3g+v+F$Cc-BuA>~2^jr~X{0rZ z`u~w|+GK|{mcV~y$z?khJT;__kRWSh5! zF3IGvu1vN^>2-k&zSBm-gaoz41I|MV2L~~@dGmGQPIM#MP8jSN4&shnU3Vt@3D(dd ze~wsaFpI{HD5~09!fE3)2mK-><1;B|+mCXdnLhxWJ#BkBW=)Dz*&}hzaDx9F( zXN=%Nfis5p+*sz$?pO_FHoSzTf0{G&&X1RHDnxS(6fQVp=ub(Kz*@xJ1&H|s38GAf zjn^zTQzkhhu+2xe z0(`oH1h)}8k)l=@ZEsI7A?lchEeWkaME&owp|3zXdW!M27QP9h+E8#NyF3w*0(=D2 zgjkd7w_(=b3ueFJl&lH1B&)sXjJn1Uvx^#djb)8tXyy&Y^G1Bb`-?7D*wirT)DaQ3Vp4paCu4$WwhKR$HU;Y~gjE`37LnAVt? zr}67A38MNz!;}^M)LLvJn@=wLB9>5AC%I?Q@-SblKo&A&T^mdQ%U>EQWQ{LUucw>@ zK|&!JOZIJ0eUSp=YJX$0)_!g7gE^F&qe{8qT&xDYdl1jIFm_ps34R+igxS>8X~k_( zAi|h&t8_H=rOxEc+kv}h$~X&saDN}Xb11jjl5sDMG>u4oJM_~$8;0Nv)0jm2K}Xe* zA)!{9ss#$oex9JzC0Fv$4+&hUCslE0IhU{iX8D6I45Y9Nev5z^DjO^j#ApiJ6HhVn|DAzwH7-^P(d2>L883z4^Roc%#Y8FO z29H_Xf0hKn3#GXd0Y`%KH5JGjF$R@-_J3i;Ai#WHOIVGixwC@cp31*1IRz4yuc^mo z#uutkvr0-KC>U$S;q_8T<4R2fax@rS`v6byO$|j}zpmLxKnECkv`xY(lgau)O&RgO z;AHDaW=D+n2OTg^I#!Sw9WhUWI%4NYsG`Ck&b)?!wVjZVR9w+iB0(E4js7ky&Ye(2 z>g|?V(gSrRRrqsPq7cm8s+9=JG)2c(dYz#&@e_p|@XxtwDUe;Au{$PzmmrEnw~N@H zv;QrHOzVP;#0Wpo3`O$ec^y5EqQVoM5#hSRVtf2xvL%-$(lQ`XT@kTICM`KlQrQ*p zoov+-wqd;y-VNpk*h_JXEVOjlM!cVL({LCjU6lq==#I5(f`3a`fh2Xu2-_h3e_(7f zw8&~4k4alnAhp-TnB6q@i0Xl=G6(!up`y2zA#Ih2T%-zdIQ60yG9xe(xAxW2WYf_* z1YGZE35QR3L&Pq!%SdG?rpUz*EWXEZm=%gHa0tbsG#x*Fq(Vk0GOL9+v6oJUN|0vG;_3+ zh~|FeH=n{#)sLl;k_x0vI7*HpQb-;}N>@lBZs$M_oxG=X8z{PpE(_Uns{9fbi)O6$Wvwuh6>#NjQfV z;&;>dIm1A-C-xeHdklo`;u}oZKn2x1O!!5GefOF0?gmN^83b3(K4eJoAkdXh$iqS6 zft=ZM21X6023|4Y;9xp=-%126vf^pem)>0?;6mAZMlFcIeEIh?73|6D2(hQ!aV-(i z9w;&+{*mG?a`yUyWKBfvL@H!wq}W$3##kEC8Y1T9##;Ob!dhV{QX>n8h+X8m+Wrrj zX9i=!+e@XPViP&y{y!SE4k8WmvJ=MCM5^K1N?POaP_d63Ju!rzf@eBxQ))d7s)M@- zxChA?Ciap$*u6=@Yf3}%jViS1*#vbQ4l`@RnxxIcp}wMTlcW*_X~=*kX-#jDaA=M% z-=dJNEQ=(&qr_w6ehn4)cI4-trf(agqfvobv;cdP-O=K9a-L(Gj2Mp)ca&S2C`j%! zKlH@nP&E>B`oRe3<dkX(*3EeY5^TUFA#`{*~lO*gTODNt=qV zRE4~I!YKICxJX*VCre~NcE@5I-lXJ;rPAc3T#**J8-kq7bF|n(ZuD|#vUr(DourQz z2gt?$`#<=u{N|EE#mZw~J7v{>)XYgv3@V;L$<#t=ayJp_k_(Seam^T1Y`Eb+BwkF! zU|`yBmBu62i|{j{I#^s41B;t>N|X0CiR{Sl7!1Dn-O_mISaGP_)4kHr5egNRNkeY2 z;vRA#hozx^W5q#o78OlU*Z~Y*;nOnRahOY!YsjMU*yeG7Z$J_#qIiWOu4LahOi7vR zOb}m0DYH0C&e`hII^8~%M?+wLC}x?s{=$d>eehs9tM zMKjEsQFT&ofPXbbpbRH~I)fK;tPyHt=mbQyi>m+-O9yRLa$o|s;Wus)L_{oJ!KmLv zl>F{NVLLK)A{z6l6%*W?Vg1cztWZCx&Y0E=E_BznCPOBn8>`z%5G7JN3G3`}o*_vo z$kTUE5i1fLnHUnk$tb@p=)W93$uT5_lpEdQzucS27&*S3{tH*nppU`yrEu&NJWDEd zX{pebyWO=VqChNywH1j~3jECvk#IrW&rpeg z7E8eVY(E8Zy9xk0a%j;!Q|A4eb zf_P+N9*x-0gls?y*JffgP1q!bjF~AmBF;15$GNQ%SQoz@Kzo)t3BHd&pGWK$LC4K38`w6^fwq6^piGDW;d#2o1U`pJaqImkh* zWl4B8n6`5fkpx91l>ULYK?~8WGjmZ>uquPI=7}|kX|~ve1kM9ITT=q};P8==U`J^_ zj9M5{!G}zrj}@)I2@_W7>Sz#Sditig0HsUK8T`Wl@L)N>|4(Sk^~wP(~t-{ul3xqv_O4EAfM({$2bHwZ5P|H(zyJPsz8^ANf6 zTtv>JD-)a-qWN+mOju2Y&b=i9PNwtVylg*)EX)Iae;^f-IS2ewCmSb${R*&kELeoP z-%X>4B{{wbBeQ!t6Vj%j!SvCA9g=x3hT`)~#>FqjJC1F$m~cN$M}?eQi~%=eE<+5K zz)si#CXA!P`y3{eQ(?|xCg|itIGWFdh8$Q)%!id$1q?Yv=?BZ1pt%&n$(2m_zEsDQ zOkWD!5$hQeS*W8%)~?i1CU+_9R3w45$;&n9@vh6@{yvbf_#c-bN~DIMfjiDhA+F1@QMjFFNYZJHmX*t~P6S?(ASU!%nx;k=t$;_N*P6JS z74?YeG&V9Qh}~bA2kSpfLY~l)~B9I%Xts72*_y z&xGjkL=3dZnN?VJYJW-)RpP!HE6ub&Qpm#9(3vAo!q*_Bezh7$=^@HY2rGnc8+9hc zDd-xK%0kp&u0s(Q5~+so421FGy9WN8F`{r3_soJ7h%(bvBzM-pxT~!M(VQ2Jtk+|u(q4zv&6CcXuY=Gr;-Kj8|n;FVV_uq)^ zyMI6CWL8gIW7>QXxxW!7RQE`D5yBS-@BA81UPL-|5KSk)_nORgYC##p~ z>XK_k*b|pzOCfDHVGZ7l$xU@~H{l)e_*D|xnsjrZ|Cq*RJT+w&GI;1_aTsU6S)!vu z9&AQ6dIw4PHY8bi`)ojZY=IZHM=0V(`aQuxz*Zo#G34P^gyZq-rafDEE7VFb#i&}? zR=CDhGhr7MdY)i{<~A&ZcBiQj$0?j+;Hzyohr4@$38trX@$Uw0L;GiLhsmQg3~oH5 zYsBCW6mEx!Mr-olfx&h61{2oagHH7hR40#_MQH)?-w8zZz7*0&4o{$`cfyW$9fL*1 z;_h73V~LI>>HZe^x~q&BT*%I%erC@)|neJBzP~*CqzGV_2@F-!mXE=APOX= z1eIi|Fr=acl}yu=2#TatDK@5d_}2lbiM&$8*xE=UD3L#<$f#$VQ)DRj%!)BqCVHC0 zLmq>-ZZF2fYg-AdNZj_JIu%C=qCghx!^pkvDnaCl&1F1eDeXsqV(}|~TJi4vNE&v# z>fyc9el)G8nG&a^|L{Yy~OM3kgPITU)EWI;1`t#V4)B{-KU13 zV?xpnpcKA|6%eg(J@|b9rIhizeX0XQj|@79W%c?%31TAk9^u|WxH@aNgi|LjhYVDMPu7id(c;s_Rqp9`5_aukeQJ`)0SP&(}>0$@uRa*@)f@nf=b z@n9}v4ZS;(jRTwCB(5k&-O(GE?%i_ee!-8(XeFL&^mLiW11q4TyN$s;Hz4Rc0x-!A zQ~2i&1~*pV=X3zwfPAv) z#m+v;nI9vUtHk5D#V480xe9cr@ZoOmG0?gA=(Qa2zIY5BeEU8Pz6G(U#)KSEClT=c zRSmk|Q;L|8H`R2>c)Ku(@QoMW+{QNipq_Q$zMdCy`im~e{Zd zy6Wm0xa+!hcVf4q?%MHw<~jF1Jox_n!^?bT&YU@Yo)dFGjENV-ASO0p9?YELC`VH| zeH6)iQ%4{k$577->M_xTkGW|tq*bEG<7u{(@dclZua3c%dAN73hmoyK6vCDYj^lH% zdq$fy z-oGr*o~E7EFN!{5{{BGrO*DXr|!3I*m!$4IC@wBzVklw4zx{^oPfKoq^ml_{d;Z*i1(pzcQRFyTq)9 zd4lD27L{P|B0>0n!HJ~JXTjF27D&!gN1R^Z?YZ*j0FPMDa0InJhoV~j3lnklbgd&? zdz|B%xJ4k#&ZBqq_SCpg=6Qt5-lo9G(mLGu;7~Zm=RyG&z>e6*NDnCn8`&4IQ-R%+ zIB5?C#!G3jrAIm2Uc_kaM_HE;cGE>no!qa>66A6TvxPIandl}h#cc8tW-T~@87;Zt z9{B~d!GgGpahO1kPMTrG>WvS-q?Th&82LN8(=MXf4Mo!@1Xygalk_)FamP z;X1|?3pgaxBY4B<2FmOeZaC@@cX8(Q#tp=piR+DuGS{1!iyVc=F$EcW6Dga9dyZDe{yAAeGNnCJ6~dDi-vfL5bOrIqo9JXp%O9d;dEAGtnAr*o*W0EzIn#*y*bn=i z#y!A+x`=zc)xdJ0@ZzPnS(dY>1`nWl2K@-{W4OlRAK|cvfTd++VLQso6V`-E#w!(` zC8aI~EH6u&JwoJz;WdmS*F3@~s@tFtrj+^w6TqBRke0{8LoAI;U#S~uRp>UALEE-z^<||9HZ_Lh+JxmpCIUfy#o372`X;xKXmpP<~VJiVy?L6 zh#+nrbn@lne%McZ3d{aJDd4Y%ohp*u6~HZ?0WLbra40Q*hCDiaj)^YP?#uieMm{ew zD11BPBtCBCo_p$Z1Twi*mTyispQE+p-}ygab9RvxEq#BW;_Z8ZJel}JL8?jjpDRQ; zn*9<1mcCUXB`=ZW2_IBQ+gDIg@0&o1USank15QcrRCV$oA0uZUTK)-E^TIs&Y{ODe zkCHT3<5y;-65)L0#hz}JVArFDO(~9zcXON+kA9bGPt{*z4Xw%>>?-8HPK!4#=cpHp zzKs@t!@=2(%-*EM8ZUSG0e39j5t#l4`WJYp1d%0(uw&^6 zcJM7UH481v#~${-*wZnORKe8!U+jY&jn+d&|E5(lo{Pyshi1;fbSlx=j3WQTmQEg8 z7od15Np~(s3;x4C+DH2JU7C(EQ=Kh&0&Gvd?+|C*Ix4}ucQ|2@^A2&&s8<#?qv9IQ zrhHdX?1fmoN7!`@ONHRF;XUHr-lP<=;w_kH<2}vwkmdt6M(ekgsTzD#2rfN7Kuuvs zy@2OO2t4bqr>23D*7l*Ik2rQbc`*N0p-!KWdK#e@DIVx-K{q}j-lXw*DCIK*_Ri2# zo0;l7Pfu-`;ViErgc>hfqK9UGLHB4b(-Mp;uhUa~zQUX_oAlJRuh`xC_KTic z{T=g)9^YX7`(O2tW|On(y4(%so!h17MSM@IVti_^o?6D#`GbO5Xrs{@5Bor$tkCodBE^xkJtT9=5TvOS2z(o~8myF?pql%FR`-fLbaa@)>i_#x!qzN@Xdrgg> zGSXBt9&<|#MM;_zD5AOf0r=!7VMm{VDIZt~Ax)01&>y%{8HvV&fvG z6vykG1Y&Iu1WD6Nw>5)wH8;Wg;r#JI=6!*0KGsy#$;Fng@-Z?wmH>0`bb-ukB~^>! zUmxlh3>kSF?>e)u!Hu3C#{ExAjS2Z!XmE!w_5XvDT+C>3Tm5Fkd<%pm6ZNmq-T5o0PX?j@%E{H8P$x>m){{dU(S;2^&_=H#MkV9BdXDdy#^r`WWydo=2 zqSP8+8)bv!w{x)*SIV^3u(>Th*%g6=3TQP;7+#NW0Xt0y6yu&02O|4F`+7H zX<`#>BeVM8X12n5<)BHDHXl|Y(G@h7)TTT%f5BN*MG&wjy>i4--Lvvga_dxCUZ!*v zSGU#D9`ttwD7lHxZ3XtJsHq`cyk8cnK;507c6UXnefYR64_``-P;%{G1-9cuc$n$p zJ6o^TkIjmahJII&5bEcIiUmKOQFs-}!(CHN+McXJUd6js6rY@H-68#0D|q(Fu9Zq}gj#rjwYP@M z%JW1~W_h4I;3JBS0pLqEX|Cq%A|X_IUB`enl&;k?{OwKk7h~N?Q;dDfWu6*W>1d{b zKRk*}^Fk!~YUGTUrlyqKLL~zPzE8b1 zRi*#6{SjW~tx1(CbX37vJ{l`};Dw6g>VxQKcPqUnbeYc;A_k9HF zQ?M^uxZA)V;jCV`CH>3`-Ngc5gi9V=R=}LjbGW3TKf-xP}(sO?VeWfRSX1n53H~LX9R+P7p@b`+=G?X~zb^eYncC0v#ESxnt)bs2RP5 z;bzj*Lcwkjtg)c)L8!Jhwkt?gY5ER@upqI(AB@liyHv1ch^D$!xLbuh-R2rZW8L&; z#x{o_1npD!=5%H!%38L?I263LCly{fT6hk}?=r$s4>~aK%{jq~K7+=*Iuwn$^#ujN zCiF>H8+samEf{%Uxl$OK&i6}-fKRCvGs2*){1t^|NvFb)J&mslBs^SGPg(%?Jdqk# znir1zzb+HlI=TphUNKVjF0*~9?{!yC-W1h;y?2j*W?S4K*7F?cj|jFCetQ_neduaU z88wlh&`6D&(J?BD)Fe|*BqDF{fkh@u!$0wF6%OY_`B6}J_qzz}{LwXz1M8!5i3Tsz zg65{dO1qCR13};}hVQ42i$>bF*a)7zj~o1FMWfPhuvH;0F_=YUl~*CdV>DHyM-^0v zw~d=A-HJhaTlp!l6D@Oh!{O~%!1n?b*i*E;ZLu&bFkFG*EGibGYD%m?vf|JI4XiAP z!Z=MWDJMY?1(9x!6c~>lr&d)3sVMScLp+prPt~ia2BXZ9kUgIm-kGMr@UxQyB{oUO z;5L=Pt5jX#xeItN!y9WUusLBR$6oMU6Tk~e7d-n!G=lck4eCZQFSLP*mtDurfjpxS z)phW&U3WH71CKzNZWU;2Jp{ugs8H#16D0(k+9#qa3~Q;1`0^rejg<19}z zq_921FS8l;B=1&kSb%4wptFLMgEv%^Vdd^Bq<0kz0yTOGqrtLoD9sz{y1aOU|^>Hw7Psj6(09&t~`JgwX)!OkA)WO%u-^Xvn zN=4s>Llv@pAk1k=DpIp*J|q5gZ6-_#TYzN*d2!Au4SFWxIYQ>`o$Y3);tghAH)38} zDPs};`q6}WZWUEB2^z?REn%JywO@d;IJV!=>ZUT!ex2YQ(jXmSo5)D3X(KJ&!k{bN zT8}dAd<7rw8?=!9b*moMB0}fiR5JZ^sOwL6Du^pZ7b32H(Wp`%bO>6wSMVaLYg$TA z{}RN_9d6DPxz8YYsyYOh{iE>AX><*ZEfp6*D!K-Wq|5QLyi}?AIe}cNfl~FmAczJh z-MqO%gi2elDhM3*a+e~XZ`f565uLv!^YX5^sYkG}-7$h)g{S2-Ogz$RX(A<`VnNis z>gL2Fs6B10h2YEKdzodf*TURxHQX+zVL}>HTN5EY))V$O-QY2^Hq5|tU^2U;9=@%{ z)z~sAwNF1Vx$sn&eFsf)uZBuXv8=?>`bl=A%C#F;I?Rp9Bv7p zf-IWb8tK{C93K;Zv&@@L4EK~;;Vq1YnrIr+2uWJhSIC~}=8o4o8X@hrjUjulzko9u zYjo0U^p1@+jilD-nwlW9W=wRiKsP%hwLVQWUf8zHZGyhIO%vqj>UDLZlL|@+{ zmp0|2^yjsOvWZ6I+W}F_yyI2f=a z0WaXdK|w0F2Z9PviVU{$uw%E`V$F41d&JzvQQ?=Pr|nTLg;4^z9_*p=k=!^N!clP6 z&_NSO3$tNihsuI@$;5?3CYnpNlLc7N0pPk6L40JwQ6q>3RXnhz_Y=}GUMG;f$*{_* zKJwz&Pl#l1bpcyD2I3TsY7RU zWam3+5~R?Ef@qnJNcPp&FGtqwjEH78Vpd~mbrb&erOTb6DYzvQu6V@(qgQkn z3X(4M?kpmD(gh<&uO5P+jvfx8dCJ3n$F5NB-B<9^yLnXP(@gp)!5-%I?k9LJx}qI6 z8Yqb90Uj3Aq#J6T{SXzhz8iYba`14-$%Bj?*>*?X-5x6t%i$jX-w1d&hk3Yjxxu3x zt!L?waVq3RcbNX~gtCY&MUD0_r8YevJrl1?DdF4pM8n$D17>CB{|HZ->w$h0Z}-V7 zT){n&v}sGq3RRVsY*ZmfRwJjj#OOc5&U1+TLWN(EHciqOP*5+hnr>HE*3_{VN~g|W z0_nHc!;$v)g0W_Y6~ukq*S_GD z`=a7)?F-Kdl$vs?Fe{`Zn z_?w4bnc>(UO`>iz6Ah&c4dkGCbv?1n)*srBw2%R+H~{8vYE2CXpu^tUhRzPuc+=ql zkifJbL=d?SL|arx-!NS&lwCxT&}YPQh$nP0ISFG`FR4VHpA13Ec!yvyTQ=o zvO>VO*LmX9ZUO#F8-fJntt$(Q1IBV4JTe5qe&49#TMpHvOPjYShz%vrGR)8C4TW^i zeS)`qrzegIaAJKnV0QI+D2AbuzZIS}MIG?OF7PmzTmGm5!xiJ7o*2hDoZR@&4uj5e z*gfSmLnroi592?V;RvU@Cg74=p5)HazZR=Hm3LAO_(6O_g8dm?T z|AVKM2Dc~+hwhNdZOHPlnpPE@vXpe)NvB(Oh}#(JT=$Ll75~9W0vPDh$~r7 zM)>N>6vUF+O-4=Vwo--sIT>3!8@4J4?(v8&?5AQL8@_Y}gF3a6tUe0x|HDNogAz<>u&%EAtmcF)UH+)Oz>18Rr7R0LdP&oFWy z6f+a7Y5xjV_nD}#-#!VVXeK)8sQ=NOx#&1OW+6}3N`kod8BGn3V`HIt7DD3|v@COG z76Np!5rmI}w+&U94SU~KRFLviI2*O~IkxXvDP&y47HIe!=&|xqVEC(Z^>!eaT#QC} z%&X=vc>O%Ry=fXDYNK4h{`i*DYci*7e{WN&mx}^kh|jjU7<7(DLdm|V$k;tBJtmRi zK>Cu4{BnX*cP6spy>WGVE<$}x708ykV7J8Q*<6eqU1|$3dmg@WlkwTbVT$Hqn)4Rt znDm4-)nq3Mb><_IR!s#weLj{aTQ(;L!d7W!J8w(+J|BAXTd9!Z#)!N30>pi@tqMN5 z0D>t$sgU@EKlaDYTakz-{ID$~3dnTYnx-i^rHN9Sf zJYK#OX~4HZs5EtrK=v>9Hp^RtMf9)KVKMG7v|R+_8*UOzpT!zG%KI7RBClTGT?AFh zzbHJ7R0J0}tXCFAH zHDZ_d$ZDv%?7(PM^7$@<;^?u0oCx)?AiMQQ5j=91!kjGXw*+UUa@S*wXjDbTL-xf;yOLE%iw!`q zY+f2ZBh?3=dx<_+Zh{|v*&5@Gu;xpRvO-=oVk6@It9Dt~j^cy#hltHLAsEgk7nkf*^K3DFRib)14Foz9hH6qIq3aNWxYiFT1OdWsD5! zr9w;!fqd?xLV7Zi)?bC3W2EXJ6;kC_d`VmyrXc87ennbW%)sjoIQMX4qK~b3=gof` z=OSDMZb$tZx(z9`hCh5Jnosemz*QQ48@F@1<}%z>TD6ds!a>yz)PdsJsP;wMQBZ4_ zl!Z;n<2TF{tFKnUqklt}ifap{;enXZliy%j$TkH|ke>X;gg+hFi7k+|yKowM-wv4Y zWTy%?-3eQ>_Nb7qj7;38AXTK52L<7^3%St{mz7v)?js*JTCxi{whA|v6r^tvvc&Co z>{odHQx^86t-m9MaVN^c_$uFxfvhiXFR7KtFx=l9^|7NFFOhq9cf<5III~?=s`V*@ zz<@mvh`p*3II#!24G(Xskc>Z&g4&M+QuqhH;)dXY5^Drei8A&gIib&0$UlsU5E54g}&r0F1Csz^qEq7K>F`c|Yq z&yYzkiqKCxu=xal#52BV-@@BZFl&She zJstcL(YFf{aDk6+C7N@_&@NN|0`EfFAlYViSxAuVSWTe5grQxC$9!H^f`ij z-JU79sYkI?aO((aek;5J!hwO*kqYok7Zb&eeVy>+3vxn^^4d{EiAQn_JUi08!0DJe z#{i$elU*Dn_ZVhmk9!N^%P}lMH0m#iUdJ&;-xw?ikG?3om&ajB_u&HBFaU`Bz@i*i zj}uUOe1zbY4Dq#~KTcpCS2$WhuvuAvqHA>$f^Op!*p9l7@WqG73GhxbZ{`GrXGz|t z(5-x*DkFKPF&Hg8h5FKHrU9rcJ-~%4PRP*HsH|7#3gXFWEUVXED2VQ7G+B~wJ`-V- zJ=YiKQO_VD%?i1C`qS(UzA@DMERdPo6(ocno<*gZv|B+O=+rg@#X1j`4*1#MPUkQp zj@c^<fPdK)->NDz(OwrUqd6c}(#4;GCENczhn_JK`*u z0cddnYamBX8UQi)ljbzO*B)O$%m?A4P{>-qgBU8o_OrC|D(2V)7ZGsE1%)U_=9iF^ zC65@1rCyg%!6eM7n2c;WF5|SAtl=g!>zr$h(4!PyEmDw-t@L0H9lhy|qQhaa4TDRgH_($b>rFMrN11^TpEUb&VUnyb7C#nEwc0 zHu4Llt=CW*`>e|H(xp}o3W94VmVTyU5osmVN#6c~=XDdc|HXCK9TuQMvTk6J*d$m% z-01KPw4x=U3WA3z!UZw=COR)|jKZ;^ZqKm3E?0B6TZn6UHNpGi76z=_mHo_V%PuT7 z$pRx;AS_i8s3OH{m`I|WDt>0PCjiyF=55Hd)-gOlnpvBF6Un+5**Q3aI^08L?oo^c zjLHH3C6<)TK#(& zBkv;ci{=78au+hYu@cUKzcoTSuwbuWE2?=9f|FV^uYjMsaBZr5M?Z^pf5c`E66lymh`?tU6T>7syhOsHj~eI)vT2VY>ODrF&mTk79`BPp z!U@k^PP+2sa}iB-)DtwAS;U6K($ObKgz3+m>w%!b$1D1<%N46MifPIq3Q)DAyG>}zlQ+s~e78KKholLEQ-5`ApW zX+dPY!aU;EIYAtFrD-75xTp|t2UG%6lddxoMjM!TaF2d{tqI6`t*L1Qr?zj9@b4v9 z8XWr?%oi`1*ylRoJ9S% zNJ#q+3cs$j=aV2lzs2~{!5IGJ5oOW8Sd}jPf(*xW93LU33fx?}W}^^zu-&YZzH^a} z2@L!X>JuDs}A0+&`P{un{!(aG?0}xm3%E;nKe(^iV zzQ^x-RF3rbnh+`7g^3uN<50;~e0m>xk2t6HWw^66aS;Co(7xVq#kM?EYfV!>V1r@D zNLv2^>FYFuo_;_XWzVFrkI2;pGpX%IO``GXnU(0Ek3Y6TKH_A2`B^gMMsJvEZJ?%4 zu7vZPp8&m^rxyTZM^n7CPPF$E4!=(*(Bp4EX{s7eyQinpKWmbV4?WUTD?Z~m{Mi3w z$}jH=)Sb~2)ZhzjIrmPmXww&1j7P!den(+c{0eiutpw5gD`v`Z)=WfG)BC*LY@{`z zCtr~hpK!{H;Z$>fGphCtrFYChAhuRORxmQ7qCigD0NKkfP~`CCzaxCMv*5M+j+Wr> z#zY6{y@w1g^w-8ne|QUl?=Jpk3ukLXrCB%}h8Pz<1=AuxFf)umYz|@~incN_HdGKe z5scRx+1y}Bi^Cid0v?DiUUG;Q#6>19;LI3@PBaFw0cXaTSj0rnBtdM6f%(qXT3iA( zfvS{b0q4X6zFLT`v!999OOjF<#zKmT7LRh*Wg>`@s{32h6>~$%tva^ZK-WtqmNkjcRL0S-U0uRl&&Sir3P z3}=rJ@K;l9U8&+!LG(1!)|AX=(>M!l7~M3}CK{zsj)gXsYMX0oNKrV)X@Mbczqz)S zQ2_O~#NXZX{k?_O&KA&GZzYQim-1KhZ!ASxYITy^S|*~Y-3osk^RPhemoxfzO9W{9 z7p=6`Vh>=iKVF1Ck8_f;}#D53;J;f1eS@0|ih8-8Yc88Gs zYC%Y1kTu|KnCn<;ed*CLe>gG!#Df+W@FeEdzs$TwQqSA`>qpKu+RD=12SQJ8CK|qA z0vBa$v?;nKUZuo+#m)y7I5U&_MRezHSFz4NUs zY)Z52v{j{%MzpfLmM@z4ThdEA)RGW*JT8x?i)+~<)M!1CZ?A>Be0V-)&M@}?cRJvN z3o$8!oN@JHB z%Be#Is5+6%yg>T811lo7l?~BcVxCEw;FVO=T2h^)06TFoNiH94MF=Fre=-M_1;$nl za1b_bVcrOx!b|5T8%hOxIik+3fqP{o=o3wV743I781~f>;ooNpfix#1OKL2LYV`vg zIgU_iK~sTzZvd0SosrtV;Yyh`0?~0-t*>#HouRBl8-<70jw@*OJy=~A@ZviOUZ1uB zcmn&Vp*H=>ygFSJ9=00VV_*uIWe{+7g}{hDEZ|O=t|-}l(*&_%JhDozmqo7V5%47< z%Y1f4S?B4AhDr?up~PVDAW9+ApW?;fm$=&1A3CT3b_3*0TpQUde|uQ-ZC%xH-#4>;EtYv zEALh`;ZnvnSSufS7A=$op5q}UHm9$bwgN@|5uiU4Eej-hL0|*=0lh#S$>EY9G^bHj zmPH%7!~a+?{W>{#YqO=gxA-@Z7I`CWK98xtkJg8tc_UeU^hBbMHc7Jo#+KLQ zz<>sK0&scRN1H5Nhi`F4_9q15RX$$?4EInFJ6h`ty>&cQh~$TEC=e}8AIgq8`)T8) z=|L*wh)W+SmwYV zxjtST8kXPr;J&P*Kf(v2c_}t+@JHV@t(HJO`)g}UE$cE7NIe3;39rXQGwD-1AraCd z5UW$chJH6W5c=+S7Q71W1J(WJeCAp95WHi7+H}dXw;-x?L88#_hDzqcXl0nT63t+u zrJl&`ALv9SjO@=5?6hDsgH^eLSRSm^NNwf|!Z-v)qgx_~;R}QT_B1gBaR+Q*IEb=W z1>!7l2=w{E^*1AJR|ncqWGIl;TNsI;DWPcU1%-lm6pEhY(sn_#3e(m!!X1}zNTr2q zZRlDU$~EQ>=Hig#Z-IE}YZ)4^TsOOfBi^P5m={i4!ciq$F)VOqXFo=i<`LQ|QVhO> z^+;85j7%P8)<+=dHVhDYUU{C8={pp&NbtU5IAC7CC@mb0e+smt#*wh39{lx1t6(o0 zn~bJ;or8QYSC)ro>%Iq?s>Ze|QINuwV1tHa$+n{)QrZNG!pyUWwl5ZVBR*pwvwSEZ z8X31lCfZAX4-w$UzIZwF1#^1B{S=F>m=IKfJuT|9rcDf@>ODi@;d*`yO7(cIK)z24 z@)hTxJOF1##M1(v@Qh zVL?0NFvSguhvs&t1l%V9Ls0K{Z8fPY)?hi5jI4WrX@G3UCzif=PQ}wyhSjsN7OO~~ zI2lxt#w1{vk%Jtoj37RjRRZ=2h~VoL1*s~f!(|(XA9EQ&ZzUktBHjrkG!e2>@g8Cd z<`VYhf^BJDBG|>HNDyrYful(n_|D?BL?r?{ z`{44FUInp~;DtkmeFB36v0aOTKT-wZ-$co9UR7+?;bL-HBF1?(lDEQ*I7aExcV4Dcn=HqrVtHctTjPFDp0jl)Uo9nq~_cL z0hgQ%#uR8aO0tBdqo^!wO6gkE+O`D(&emx$A6gV_MlWs|di_7OQ1@(=N+5D61im<< z+wsw1DzNHjg{P64uT=;;!UqZVBy|XHyIuvyRmVL0^F|et`ZE{B4s`5ty*XALLDp_j z2|QVc6qE|Y)qudKLY2Un8mPI$cB+tPHPBQ4yk9|VsdY^xb?*g%AY<_8aVSdvUQH+q zyR5+W6jckwGWd!LSyD@@C67AzNJzUBY{^@D`t}xF8-Z)xQi)E#9E@25D<<%aj?-KY zW`7L{aIXhcs)G>5_f;V>>mWZGJt~V}ou(K;N@IG=;o_eCC^hzeusyB}KyjP85GZ-6 z5?Egsb?wt@6_WZa*p>Fxg|sdm(k6JcoNF60!=7fR!;DYwRY>YG&AWD^t{e=4VrXKPy*@#|e8gv8J$2+AyG|j;Cj(VOQo%$M#N6k}V(_`kn!=sGM zo1LMxqNohCfSVo)k}TN;FcC@_ULmN28K~1vfsEi)9`6u4>iGmEBUhpUnNW5hn0e8( zKNBPDs!%36NHf9(csc+oW;B3`fsq2i5?qYbE}Drbs+)!CQWD2R2>r~&+^S5VXN(Ui zNAI%`u(%X)p%1Z0L)V6g_F0M|h;`0}7%6UP6r>!PHbP6!sG&kSH9|TM)m9;g8et+; zJ41zxsuf~QyBi{o#KwqY9$tLR#L(NPu{Oy#sZ$7L+r_!lp~l)+hd zHGXP<+}eeB(j0~c4AF-H>VQ7M8P0^?`hf+{eG%3qb)R}*Ca%eUGR-8n4 z`1i;H@@|G6*^8)eGoKVGT}}i zn7AqvK2)Oxh@fRGhBKQjprcg*6Cw1GIlsz8C^cw_x}3O9+cAt!L#7in2nU-rAI=_)2ti>H*JeZ zt?-b8!m~LATiYE+-R##E;SS<82Q|-$>^R&f4%h3likI0A^Q$1d@SvAYliVKC>vot9 z50ZbwY16|Hdz#c99}YcVFejXzwb!tz>=+sl+ny6#5gA zGQ~>3Crm;Es6j^rjlhFuEV#L&Hba_^V_%)Mm2n1Mn`DIL$j;hYw6zm*JJXvPH7Tew z8V#;YGLd&I)IsF#-<_d4B!JO5(gGa#>a4BtV-l})K@w-;$VWG{dzY?=`Ke4~(B0Eo z7uwJjDq<6vok8=XLo3j!lbFyHw8jTY=LX7PW zbzbnE+5_>v>W=<$A-t#d(6*vkJ+NkSqaG8}rQMhX^uT~om>F7*=J$kH>!u1)iAt<> z_EfJI;yT`3z&;H_eW{=#;HwNbYRhm{Drgo8mst$A?afwWZoqI(>rgzU%J5x=zhHvE zaC-Yt`1xbFe;>g6dkWaPvqARDBj2CS=Q0VWl3A#BoBAWS(&5xfk64r403d~>NF|ze z9Py%B=+;1}&D{7Se0mM)&2M>W zcnX?Jx91>4Fk$nLQU?ZMP3oWDeuNR&jNG<_;#AaNXb;%^e+v9Q7zVAxrUnek8-@Yv zc~K}PD%_FO9)jrhVpqe!T08`!VlV7$2*8~yyfeiQh1i-i3R+qQzca`6yn)k2YIMo) zx0@>Si-w`Qo{HC94DmP*N4CKal>(&ShD|SSqiZi14%xPkm=!{ci$h)M^lq41egtAV z^Gv`t4??ly&M6qp@WT%ZY))ZsLUG`Ai=n+dVu6}pgh2R6bQ>MYQHOcZz5E**R&p;W z**Ow2gH06}4=sE*H0R(^;0>`*@eW8~E~2WfWZq6&g=a0(a@+k+S1O2M;O z5{ApT6Hrm*dXP9ByvJ(qS6<&4;BEg+#k1NH z=0Me^BED73JHJcCL*e^UrI~>H|DnKbr1F0%M0rv8ayACdf}rh5g=a={PNMS5wQM8v z8lC!)_hBrSk5XoXH|5NaJUQ}X%&UH(EU&t#^!?|6SMEkxo?IKFjS{H;T#O*Mi^K2= z(`_`fYHtnM(=8Xl<~>q^;VSX%Fgto$9Hw7-k~8=&OO1P~k~($|6>GypLkTpS3xVPn zDuIwkVdYh|>L?2YU}u(VRgcG__;9db9$?$|43ChWf97AjFgzdC*dIrV(PS4c3&(-S z`RIGH&1mIflz`@Vh&j*z?!-LAjOUqyVEI^u+f(-is6^@IRmdExaIAA~MWNnVfaq$t zl;y!wp93PPx)9;u5m$~x){ll6_{c_ zSg9c8>Bvd+&2sa+yaLjPHmP{_Yr<{F_5(_yP62p{*m>Z15leYmT7a?r4LXrkXrbQ= zU_@>78cf*#77o{tD-qGfJqqGL$5%q8(*c33_#I{3Z=Ip7)LaGi=h0SHX*)@;O87UP zmVU&>quXk5Zod(T<})-$Jx37~kHk7>;TYuF^wr2U>0gyVqZh~)d0uY$GXkfhDX}^^ z@Zu7r2ro*9N*|19+wg$&)YJU#LAi5k0{lY;iz#EF5S3|1ctPnQT+CBm=HJ&n5 zz{_hOjgt}vX&dtNjX;)NLQ!efqNs4(!oahn1#R%~gPheH)*{>rAHjRR7Sl1?N`k2C z5#h!e6KZsda@J#W(84#uS12r52ZdQ7LT-j%gqMJ2g`L+!VWmjs4UkSp^KTW3+<<9O z?>HusX!!`&^bOcr3glhdA9+)^Y zmTf|f90dPKOl<8JA(tO6SZ{`c`NIW#YCwb)_1%o@{ci+y_zg=6$Czj|QV;>Zp!Zlb zMi4iKMmW&gU%(zYMIifgA}a7)3vaG&fl}`o0`9v7$*`Cuh|{woOzFlJRIdElDkOa? zmSuc%Rmh&L=vNlaRUwgu2<1Lsg)C)c<^l!59f&ML+ll=ZCfMaGJR5317g6W_3WMiv zQDD4$u`a@rAGpKr-&PgeW*f508SR5}LAE-3GcqS7-!Q4TyA2WKqs_2D#CDASGk<5I z8r}F6`LKUGG%m%c%EFkg?r?5n=ORg7~sG!kY4bM^^s4 z1F~6%1zd0-qC8%rgy!u>1TthN%nUllL^3_vi8|ti=TW(cHM=m;KXq3S7B?a)QZFks zI=Q<2y$ecD+@m|Yu+T8#A^#?Eb@QP0zk_4@gpowD`-CpvVK)#mqt}0Eee!Oi+Mx2m zQyinsEoGGU?S|<+te6NQzdbPTfS$OqM{7$#d(lP79sZ&{2-VYG2!f}R@*D+mtbC*u z-LQ?cqu>)rb^kvgI0x%$tPwm1ir5SIBEx$sG2BIJ6Cv0+d$Dn`Hc=3-_M%(6lq85o z`%tTHW7UeaxTQwIgD7jcv=3Tb(*^9hAM@X8Seas((fhHJg>PAzDC`hvLNE8j$idwd z#F6?OK>Bv{7D!2#NPBv@)6k#XIRMRD1~boxJd03+FAfvLs3L8GQ5%Z>6I1pZMd%*3 ziNB){qH)-crkFp`SL7ZzrRh@o%tI3_wu_a^dh2>FbOw4oD!!h-0j0?GLc zUkw3&alubhkYwrNEI~Z{3u9(}t{}S4gtg5ML2vkc1#zOVzmO?c55aVgJOO+C4MVQy z3&Ld{vi~T58Lj#oGB1}g9895v!s7eoqDqxJ3|_#`}5Frgbe2$MW?*#q!77v7`Zm=DB>A^S|Iz6AWb(Ju{|r0^kc}I6Tcg}kA}yf zE8(KxEj)&LbmF=oJ{&{d)O{?9^~{~fa@71d^ein!T<8x*+T*Si*8^F``UEQJx90-! zc^L^m;U}eg^fM{ulEp@nv zC=r1<`JF=MJJ|~)=ajagG{!{`vPBzU_h(FCZi%jXNCsw3IRiKxQ zoJ|*OAU0I*9I9(ad^>Ug`|}vux7Lg@rJ{2XT-HE=>l$Iv|GYMVa?c|I+va*kqbLh{ zbsmYh(n3L8sK*5a4(qNUI8=H8vE=n+B$Og9qCE`h%S0=_PLJOJ`ZhWWi~DB{Q!DdJ zNGq0{3_N#=I*&Sv4^V5$xr9}u-zL-CYv@3BT|!(IQv_jo86~^~{;!yGX?&C$?Yn|d zOD;oMrI`Z0bs69Cf$(z0GVLZsS<F^T8 z#New)Y|-CLRHi3aQCL?F3!>pQ#69&W69c83QvyuB4$$GOAPTReb$8yahL~D*oXL6PSgaLvhH-2)GHESiI|TQ#(%T@IP|6htGyH&$JLPfW3JdJRjgw;Nbi9qy%JdgR z@7rj7H3OKaM5DZ-t#~oio*vvrfH}B}Qj7`c#|Zunq*=u<0f)Y2Vnj@|2QQ=RV{o{G z01c`N-n6*rid1!jfj5+SSt)`yJt10ung$CXUeeVDY&D!W+(jQA31|K2347he;J?0+ zU|hV5!ivPr*?Zb3`R`5 z4C8y_P4wm~X^4-Zj277bAlOS;uJ8aob3l%pOY$cK?a;J_oqwsxK% z0v}@(y|qvfu5*y@TOXrYw8K?)j(^cyLqg>xrTtzyTj?EM-zi2vQs@_hOA1dQU8g{W zz5S-v(8tj@+Nl$Vqb!CIQ2wfn~~3bROaa=i0i@Avapv(LiyK-(Envwo(=VS zghG@TB4@L}qc=YaL_J5DzIcs~VioMUWh+B5W3(ev>E+45g}Ko4{?qPQNaiNV)UC~51CgxLdBaN7~?KJSLK;=n|Bbn z1^?h2fvgh(6==>0Eb14%L;BN_6kf9Qq^=;^)q%-l-(%r1uz^5czQ;~fBfPT3dfI(J zHnq=YBA5<+fR-J4!sR3S-fLY22ZSS?9vh=S04m$_$4A)H22TZj!VDhs^=P9mH21SM zH18Ak{)PjT?1l-Z{5fv<8RBz?GZI1#K4Xs5d9*?}{HXjHOFtRI0>O9)1#KbwGX|$N zUjUDqtiV~4(Nrcd#OKD~8t*tmZr1qDbl8@a ziD-IqAjU~dL^nu?!s{r@R3~#|U1iAwvr;C;8|&hw3Ydg4@tFzRb4(1AY%$kl@TG|^ zQL?`xh#uv1agq%tp3J#h4vMU938IauE52=cEbC&WOO+=23L?i!S6_OJ z!JRqptaLglEJhGrLt{OK)pM*7Q`gE2hfvFySX|Gs*5SN2Ms_`-H>s};1fOad4yVxM zSp8Py1BO#;GCWxNsSf{!Qh_!W-dTC?@uV%-1M3TAg*6Sarr7~5!ktf!<7;h$^j3z= zaq*K4u2C-*>oBau!yd3@3jt@_>uO2itp#z$URPaujhmhvAjLsfTbkcl5U1P4`m>iK z{TO`L0V>{iqy80iNt94tS5w;2QxH4KBggvoW+ENV$WdJf^k-tcG-VL~CQ^7sfPdmO z=?X~s^olx-RC^Q?A@pBGs=XR7U2lR}lR^u!9TqeBC18 zD(hqYL^e)g*lW9hkGtqHq$U`6Ij-Do$SgUlhqywfXs>|3>_Byp;ad#9{Y$`6`(ix= zoXOom2}WO55?&OmkN+UU))-kCu5;8-spT1cQ47rIYh0k$p2)vJ?r7pm^u$qjT@C5{ z6~VDT2di6ofQ^SSWmzEZ)aE>*mgg$(JP^mUn+ng3iZ8{QiiKdg$@TPvz$APWazurm zx-{uMjzxItdP%YG1=zO)mdPu}rE{f0AJ}SqSH6oip*LQL|8OZ%k!;_@I?+~pL$e;{ zjX0KmRe}VFTa0r2Prx%?ZiE%aGr0T!efCt@N0(sy(6khSS8yMlEp4zjd<*UIL7>?d zKS=0|>p8{ofu0cR?W+qlUJa@sAt{QE`s$*LO`Y{rs2|k#_19C|J>x2f6Fj#fxFI%2 zzBde@vwo=ii{)Q;ijIiGMn)y1@@XkzL$fQPS{cQ&tSkffTkK)7ppwpnEc}t=umr)= z_@j=tNRo-X0G$nO_eaRz(hWcz>2`g?-*}w6R$O_ZDK|jpC0XL_X?+A%bSVI>uze#H zQY{djuvuFbvN%wOr!G6HkifQaaC@TI78V5CUUX9g%&A9^uBz0(uRsdA#o<6!I5Oi7 z3*v~kA$~LR4%Q_bWs*av&Vxn|LC#GNMy@m-BSgjz6$l=c3P#8lV+9-*qQfGe6b)#T*aNcJ`G__Wi4VH3IA3sGeHY;XGH@!@<1TAx8p2n zdO8IEV>tgY!(F8JIHeGyi=)&BaTc_wI@mqqbk_DM|5N{qe91!HrNJda*O*vX@bax7 z9>$`YRemRktT@a9bRPw=n~5o(nF!1K9%o9`YwMgTDIU>J`d*42`w-_qFVYb8T4q@p zQ-=f{o`e4agTKb>LX8emb^_AWsxl%n#dUDz)-#I7$8}}oQM#o-<`~CY(yMMzQ!@c- zW?3`bSvrM9Cl2s20XCc9dN>o=iI~QuSI`HvM!>1D2zaY9rtKw(m_lLUR~Ec(8;>^x zlMu~yXMy-QAmZhj2I4k_JR|ETEbpaPtLvq(+7nGI0&=`{Ip8}cf83O)L3nq+CL0tE;1ad6} z#h28K98!_Aj;%OpK~#{60eeO}`ZWzD;*^GJxv`TVO4>qia}DBNmAvisj; z!TYHO?5hno5;b-4G-q7Axu_DSG-wT}>c;TDZFtPLCZhN}ON3leQW>QXFByUt5Bo7ae${Oy~K?8xOFqt^H9Jy-R0KKtIJw$nO9mAa@ zX`^7fq$BFOn+1`R4lQH12;vbF2l4O*8m%-h-GWzAUsu`aGIhv=;T}5-wGg`CNj(E{e*1;ofec*| zb|YdMKrS>BXDT~7ouiz$VKn7WLmPb90LJE= z6!3w=u&-@T*q5FK*yIewG(=D|$rx$&Z9#m_LV~{BWumJT{fK{K=>+~`2V=7Mwz@i3 zN^b-Ou`dNejS%;#w}SZI2nznhhYYLk(inv9s~}D`Mt(X-bf+0O%|09Qvtbjc!X*G1 zUfu)&s#yx6TvIe%$yN}3n@eU_ym@ zKT6GRg;D%)#*grqR+#Q|Xj~SC&-vC!%=p&Oq-ia9Bby*Uo`v$x3D3UnF|Ter!JE@Y zXGfLWpy-ceD@cYE-Ay6vXhes~PBbdb5WZ?#g!k>E2-wn$w#b2(W9eWv=IWutAszlV zPj5Lkt9FoHJC1qbbm1~SQ)IXY!~Jm4gyF(b$c8=b(D52g7D)N_u*h$kAn>e>KGf9q z2vuW-fX}c@?^%L~$_BAyjv!_;ad<8hZKW=_w!)Fr?*OnI31SlyYZeKjcyVPjdOi;} zv}%XE3;79={IyiY8}<{@SFln+;9W4?kQ?t=`W^1Fa2&Fxl%=SZSsjs@#%lz;z9Z_) z2wY>yMys^x1ZB&L1aV_GWaXmC>4fR*I=HytYUlHBWfO`%46|PB#ebeWGkDSo5k2}_ zEznt)EbTd_Mi3G(8^t=}=n`A_H`eCM< zeFVigwwDgCmV7dFP6K+QK=HZxgTR5_2=^9!ABPJwNx-v2eW2SH9iSeuq=|iy&kf-D zl#%OwVBRt}K@{{udp_fuU{22~Bv@1Xz6jdL^GDv{z6dhSr!4G7S^Xfbt)#$dl3gSd z!==At`8ST{^hf1gjkD`uBnbO~=$-x^A&9R76Kup+ z)7*hb^z88pY(^(XCRm9ZoN~wT#SdfQ_klb`z_etL&YL0!!K!b1V)!7$@pvY4@UB@N z|N7AWISH$QS}a z7aZE|hwp}VTN6wv;}=+sZ#a9}#nS#e1n=b#thPn%R0KVR$Kt(1At)POeK*Y=ijUe{ z`PZAgwjwh-<6E6b;DrG%Vj|JXf4Db`SGM+}K#{v3-p~d!zBI@=mWjR(CZT!Ha6sm39 z%3DtzAB*_=`Uom-oX(OoIl5Tm^L{F%qDLaU??qz-lk@su4q})Wpa@hoo`}mHa!T8e z(iBux)xCndU&-2|wp zqtQcSt0Y!n$ezYcKg37Nt~0N^K+zfD^fi5dGdNk+eT0R-(ldb=8bl zx05OCpHI|PH+Jh_qHdaGoxjgn;4QWo8n+oCHgL>Mv8#RBy5_)!1>6p4vMZ z8E|%-KK`63@Ff*GMHgfIczh|;!q|37DOH~Art0b%yUkETbEcwHZqE7vGNte-iFhJm z3QUTd29vVplu9^ImvP9j+N}Z0i)*6c`XS%Mw@q)!bmnBBf zm+7b?qkfjDs(NP)+^&YtfV$YtG9FJO*B~q9=tt+GS8DM@XKTD}i_CN<@0q#?<9`iQ zkC|wwF-P@0P!4zi3whJ}gdU2Th4@>YE~VVaBo_%dItww{UDV@grxN`rYYr!PHt-9@ z2K+jz6$*I!fCT&&#u0U@bCCW6UsF4jPAzGF@sspS{4pNECf%X2YU{`8fJ zZ0Xx~{*9uQ^HAN&87Gm$JUD=`nUDO=c1RNa)f~$tACb!G^I>rL3Z*!%-$7Km=9RZV zmu?*F4WB{*N#4|J0koa)l_@_uxd2J27b;U>l&}yDcvQGd;oE*E+U@#<=+biIlX!(Q zj=n5JGT#U)5eKJr5z>qlnv;iR++L~lH4jtsRjCw1=+^O6@IgWjG+3>JH(%0488sz` zMfkEV?wf>njr%2;(LYOdj`V?$L#J`|n{>EbG9byClJa#?(y;2R2Cp7gOM<7lV-i!_| z(Pc`_Tad$2NW`?}Ul$s=6d8XVADx_nqNNyTYqt|bpXNwl^W~_OLCav+F^u~x(`*^a zJ*tBszO6%Fn%yd?9H-l!4zl2ap9HUD88$S2?WhnIRC_trREs+)2!AIe+0vp$7?0!} z=vjaU*E0fM8cezfDNTXSiry?o`m)r>t?5aYRBHuF3fD4MBB8R}!)z45W?xhVX!DZH zx~p`&T!Dh_*h4{TO27A{xf_uKD+-|fn@sr8ivr|TrQXbOqpurvc-?Y2O1{}jBrLs; z2vE=ic}^>lZ?F2Qke4fwF@yRmh&vyt$0eKr3SvVqm%;94Q&QoSnoIoHDya1tBm};# z!t`?Y5Tz={Nkv1M@T0Y>b&*n&;Yz*3&7#%NoI66K2KCO8%-19TbJjs=>z|=?-blei zrAv`oj8^JYg4AU!6YkVxwIM+5H3)DsM^vbxYfuGl;(Q~QHR_Tt-CKj$TTfs_u2A)) z^hsQoylMVga2iY&73um~_d9gxG3=w!U2Z#%1DmnCE7H0qoN ziOUW0wbk-N%!>FAWVE*@HgFhRNuL zpeHCH4MX&R1E|_OClz+2A3B3Zupf<(97g{rY^22ppi;wBkP4~Gk|VvYGh-L54gDK@ zZxUu1Id6s8Y@js30uizOR{uiPc!~ANr%c{cMZHH9npY; z0J{YzxtsByPdbeFAA*q`CJnEwKP!OozGl3V!5W^cw;4wqGhQp>Nq^Dsf)3*r^cbo^ zwj9Rt`9OaS;+%n(g!}-GL}y@(Y9FBzc&W}nMK3@3DB^_GGqX|22F8N(jZ746v}(-8 zW#UaPG?XLtnTWL4!c;a++F;&Va|Bw2V^!Edr;p$}^qC17WX@RbKP3A+3hD9T3hyW^ zdc2_#oDgot{tM;@w=4**d`rVS^g3>*%=?(}tkX5T16e4t@Er}}c??xIW3vDYEcqrb zc*l(GVXVsAjzRxj>>W^fmyW^5l?xw53^Zt-*@bOxmm>)O9v_EZ!>3#d!Rkmmj^l|~ zwo!v5#+a21R`LTs;1{SQ?a&BRe~<8s`~|VpyPCu15_4}#V#xe!3^7qFBQg}Cw#w{H z^?9iGyb~}s61m2hOw?t#DtRiF4CR6f81L8HD$huBbMaIRKMB~knZq+qqLrH;a3bd< zp7pXeMg)-Oeblv@sik5)y8z$b3hOFRzi`DM$}?)$k%u z!S6?KB#|n8>=e4PcidD2tLm(v38$foymnoJNXUE|s->PB3CqDSn zPAhXT@_Bk$ke^^iSIcLDC2Sh1F|;)YhL#NPM&feO8Py`Ercx;7xYypJ=FS>aH@mhXQ69+?Mt=X4eJrP|^yFKo|a zUU*yOIa6gG9(uo79KoG*B1=AciP+B`MO-N%A3?kxM-~^bp*0^bLQi40HY1`|z!Op? z??D}D5ins6Hg6Z8>wjxExAUL?Q{|g+x-YA1cp*Ca%L);_+hU@OLU`uc6wU@RoC42b zCFvFV45|aqsz@)IScKU*w<3S7QqiuTI6mKBKxcJ z8kwv-%K+}<&x%p&Fr3!ODk$q8Du(n{oXx8u1J0u-8joXnRb+X&MS1G>o`?QV*EGDF z=dpFGsz!sn`YWE1({&o8^#<-gvWw#MyJijiunr!@!M@5)2G%$5ny;ynv~PO~|Ch z?9tTUZ8k9s$0f;B*6+4Zag3KjnJ(I16zBTL)M#Frq>Cu<^&yJD?TZlqX@o>i`C_QE zm*5-xdZ0r6SYoq^Q=gIOgCGg-ho9hsZd@te6kSST;ipINkWyQa_~3EKNLxxVl@T7I zH33nqcZ`v6RM4mRLYZ2I&ZD3N^8#+6vKT%c%h3L5oWh1EMkRGo;pG_FYJ(&tEsmia zpQ&rZWJPQ=E5}1FO{UMwF?@VBnNF7DHlCPFP8GIE!ompZQ;Dh0q=gca&aL~rB2i4)WQEn!fvM3vtAMxvCRk{5+m*(Qjl*lr3r z&^Mrrme=s0)mNat?JUhhRTbKp9;b*IV$lS*YS?k1Zs-YmuNsp>mEUzk{wzsEfLOR) zhI~o71j@8Sp<*uCLLF-8-esE~O}q@p2L32H#a)KT%w38I;J=AW;uR`+tK`aamUh=H z{}a^g`8~442pV(++TU~PMVP|>c~{_-vQ#>L#kN|=NN3ma5IlXa{&0k5g)hW+T$RSEOwH&Oejy2o&AKDvfa&MnRG@Ad|Xo?jI_h}NR^ z!rcbya~lJ7Pbu%Mo2pc*$nE$8bLErm#MNiIcxVE2;rr)s*MMfWK2!9Ed-5yc{ z-sjGox1t8$Ijv7JB7mxE5c|l6D-$o*VzL0^nM`<(4fdd_2He<^T4={da@ceS3d8Zo z&>h>`LMXm+nU(rG7)$zpLHC;QdKTJ*N)Zo?mKs`|8k<-de3e2H!ZOFJ&WD{!P*T9i|O{j$tCxbO%g{QQY zgC8}+p-TiRzK=Jb!e)r)$i#3Oavvo|=on`>#oWha*K|E276{7?>>7Zdj!<4{Us~CM z&#k;aG3bd;a6)Rqrp=UojF`sG>yoW^w4gngp5{bUD_UCpoJ!~^Vq~ZrzmX-aa7jfd z=ee4#{m5lBh9}uwV;+FFz|MI)f~{ECX~GTsfx)BS;PC8lYhPN@hCWVKX=S{5GdXW- zl+}wSJVZMs>g4aoiZD$A-rc8}Gp6QoaNx zbYjk`(-z^dF?O5Xos!n0HCdZcnLxcA|7?hMUF_3#FJUtB8n6PEert87VN>uxGYhe+ z?cPEr5*&aPd(dtZBICK3(ZL=jgrsp|=3eM5cCh0loP!)W>|i$wJ#judGpQFKn~0RN zjEEHMRza7=iIM4654O&QR5OCz+X1_U9Z^M~_+jm&wYSm|(QXosV>2OBPey&|P7b!e zFA!1Q&*xM)T=)tZ&=na+@^-Y35=$>ysjkQ>C!gXCqGgU~QBnzg>u7(;kXmZ(@&1Ri z0vFDmNe)XeIVO9pmkuI-l#{>CKF%1|sERy0Cy@GfVs-jE2#D`BBU^l()ueIvb%xir z;8(QFAvkgKzOk~r5f zgjTj&{b_?U^k?frXn6;x`cR`Y3Yh5>LVfi1ablKp2;1V@j~3|BR%g9JjdH+=mN|MT lPw9f9UF`j6po@K^=+Rq|0yNZ^*(grkRD3wZ`=_BWvMhf_U!>#!L z&Tor!g&89==Id2quhV*w?4_$;3ojZ`L*bnf?5am=YABo;ZV~BAm(4}X>v;IvNxKhGQ+Y&MqTxJ$%I9m#f*{ln(Ao%7nPCZQGv!PBqv&!`QVodsXm?Atx(QoxR(2nN$k~Ol80tkI|As z1+OdYO(R3OxonS0Sqi3lB+i$%TZ=B)CccLx)pG$&82)a&Z$@I6QFeUbD}^5OliXg` zte6oUXqMeC_^ciiF|F&Hofx)C(i#xwn-LIEfx#A$LD}gMbD8yQi^v5mJQ?Q#d^1uS z8fDyzmcqBRi$rGo#S}8_Y}2~cOD%?G4{!KYs@j0KSjIXMH{Ss7vN-5vk8b`*GM(5m zrd;H+FSWbKB9^_hO9QFQr#<7f6*J6x8B(H?Xq`QxR|}~G_|L#yeVa>>K33Yu+35o< zNIB>lQ9&GXTr%xJ{F#nkTm864}N(H%P&LxBI(PEV6>DiWNn>?2!GvC4LyIX#pGCVu)QHEr#`_uYTbjG9WzSO74N(jlP zr^hAUz84ALv83|L2z+IfA-+7pX!H)h?7&wWBo~?U!7o+Wrf-+97$C2`DJxWAkg?;F zVRnAWK?&Swss&znpCef>1G9I0>cmWCtG`LPiXQV%nx^}S7TNT>qZGn&oLAuF)DRRc z87l`)Dy4QrBxDD2E}JO2Nt$J7PNG`TQSV<@l|%`kS_(Hy9zOE#ojL>$a>f~zU~rTVJB`O)$q(KYA4 za77-IW&>tDriDJ$Q_T#b!EzE}6`kxD3KK4p?*rnzGpmS3^rwfy`Jd+u%8Bi%2sCEG zqXsB!nWs4!gB2H8M&u-pQFM`mmKch1l@k=trBUMjG(}U0Q1pDkn{q>ub?#L~mz>P$ zigzYVb!w(!kkk&}8+FDBereXEDkFKE?1~zsOOYRrE4t&av5q5*9{cI!O#+WwE&-Dt%q+ z5sB8V9sVA^e@!*71b*2Na(fEXi_cZ+-l=;g@CDNx((aqQ04C3%a?_n zeYW=OySdd?!{J5oH(NCfFj543?zi>xk(8}lzfNlzTl}!(lIhZk{kqK63?2IHaLJ!B zgG zhC7>!uXkCW+4$7n!NoVNW{>w!3^9FZ*|7FT&$abNuDrSVOpU?+ooUqn+O>wwuiV}yefqPO_3ov%GO@1vdRV<+mp=9}7u6ei`I1iG;q-G#=E|LZr(>3ChYw9q;+tUtZQdyx1DKa^2=(GO|sj$9{1CC&KkUF z|CnKVLl(K6{%42o}0p%>To_uJPZ@m@i<)~nCW>fPMmwo6AF)kKq}7f!U9z3}3Q zISYr>8h#{tV{fmj*MD~FAKQD}nF^_O6(N&Wr&sM?dA#4wcK41+F~by8lVrJmBcwrxxqf`q}67pef1qcGRA{*>YmPV7ghX-nJ&Vt=%p0 z`>9?2p5Imd)7R}0qsB+M{x(^+v0XK%<1>24wvXI+``%>R@y|jA4@^1Q-N&=Ra8uL9 z;a%H1JQ!-ayx)T=gH4{S8J9NJXn(zup5r!MeQ@M+#F^l(10Jk;IqIsPQT((CSKAva zU(J2^LT_>R>|U$ajL82r#Q1E{k1B24r_~tKd0cIik-OjY_&xS*AZB+A6~r zJ??dMb!xdiqWOo|0Tb4ay1VFB@u?2S{JQ1dJ$k;Lb7#xr@%^?oA3x1xXY1H2oonyw zd+tet39mlseaT)EKf7~bLRJ4x7pES2J37Or z&Cmj~2e0k(KlQs@(Q>twPm|LpJu`BE+PB8xAR4Kpbp&>nA@4Yozbta?ft*CEArskM$h%P5h@d-mvN2&Vho@3H#GM)Ai1Wc6joAmDk9e z{C4A`-it=XC&KIY8YC=v&?)$}Wnl-aeU;{{+jIBN;97|{Pi`D|$+MnSM1GHVi@zS3 zxiNBJuX}R`4cxn|#omrOKR4AH(f&b)aZWF$Z2UaLYtMn5&u#_GDvCMO+T(-YQ)Aan zxetVor_B}>2L_#q+uA;M$GI&+t~ zQhtAXV0)?RzHpf86P+ z_pd%Y_-(~`r_*0YEQt%aZ9JyZl^&H>71l2}{bFsS^`^&_V`i?L_}=r^f?1bJ%p$8S zYd!dD&Gh6MMbE!YdZTx=+jF<<5~p3?kB7Y3^>+8nwKF;|T%LQTWO&+;3m(JcW_u}q zO}76NFl+aqH^f!s1ar&vm~S2Q?m)-(yPV`=has>-lbNm@~Y=^R3TDt9!4RH+06ikY>+&-Z42; zbIFK%@4pmvb7_BJ_@2dPx2|Qn&sdeN+;r&o`v7-C_1BfdqW@5c$)SV~->r{Uo8RnR zdaD!a9@UoBdAhB_MRD?`$*a3=a813t;@L-!`Q!Sz2af(lU+}G4Ojggk#o93 zlMVZsil=CgA&jl8Sg)~m(R8!b=l z+oYV3-e!CMqBTt)tnIYCbMIlTt8HH1vvsxV_h)Q6HQ|mpweQouYYxPwjXV0?Bjur2 zA3B;eEy~Goh&Tr_SSjVej<-i_&HYLo8nAsz&&-V@&HoQ%WYd-Up;zp6} zwt{gZ!cUnz_dN7iocw*bv&lQXlvP!n{OkwqA7)r^Imh^ysw6jZ@!_aCFAly~bg|Gu z)A~cPy1>lB^nB8dORfXn)J}ioJ+R@c{hyxHo-z4-h{L)jM$X0i4A0zH_4r%A$L??K z>Oc4t8|U&REnwV>7T>%&ZeD9qbg0v@QN@G(*A2R`;YYLEHyp1u@mVWQxzgOm=INy+ zGlKF)tIWT7961@)`?BMo*iE}8*Y$a)TNFNKXw^9vEN@R;xb04(IsQRgE?RjT?fck0 zz1gllX>KWB(zdu1Ki;mlEo%Jqkp8ND#=gOxCF{mVFY8pV!|y>ImTmVq*0SRM`3rY0 z`Efh%)SeNod+us>`9Qm+Ioqn0yz-pX@ps1H&neFj92jG~?az`0&I{94Egv(fwZ-b2 zQ-X^tHZE!A=5}1uWWd8OF~45-a@|sK+1ppf2R~E~iA_#l)9CQ|>(4hC4SX7${`d44 z&DxOL4$-aRKX-h-=s`%MxSc-hJ=~kPuH1j_>!GztSKTk0#yuL`u;8WTmEPw^1kZU8 zGVo8RL*vuuV&*CLZTo0^ak}Z6M%Md(o$`1wC~bhRWG9 zpSEpdq@z<{t)nBI2^dO;0;Ma#v0DUXMqO8VA($18Rcc(gXqj`OP%%hae7<7~=Wx+I zXUr3Yp25G>D}F-c~#0eOj{1C5;|*yeQUB!sawH$kxhtrkV6 zoL@9gO(*#eZlLO!E9cA(F(GWklMF^LR$cfq^ z`24fJZNG5upY@_z*sAubg`mE^E>xFw2)I+ul-q)-tjHj}oQFliEeD+Fu|Pxip9`vg}crbT|C!eR_)=px2CPHsocD{qFX>ntu5_3g}nS* zdy!lBy5AHmvpjbP2K2|FPJbE@rRy>!LRS}$9v*!>26zndDDfEKF~(zp#}tnl9u*#Q zJZd}^cr5W);jzYJgU1$+9Ugl;4tN~#IN@=|!^(2S8;=j3 zN_Z;c@x|kZ#~)7soPb=W)8Tx`YOZ_Pz^utoLN zB0Dgl8;N$@Muwf(o{7D)NaBu|tcJV@0&IQYr~k=yJcR>&~kX-${)qD|dd(|oA0tIaB19UT*; zj*h?9nW&D=s%;q+EF7uOQ)Guqq^Kx53(Iy%m~@PVvnWr-a18?^K8MCt6n%NsD|8ke zg~d7a-b?hL;)BfrFmem>%@9PSH7!`BjnM)-BG2j`v1elk)Aaj_2>RyVj@qC{)w=2J12_tK(vu6%GlE_%Cn6Kr+!va2~xeUeik)dkiQKAb#%PT)%&FNKTRBW8c>x$(Nfa6 z()IQJW(pmhx=5UmayldZWF14ov7s$>3@Po}c{gV?ae=}J1i5@u`vu5K9+EtB-Y5vp zZwZn)=7f_*g+->Tdwx`Ljne19PG zUB~6zb!1g1IuOiT;Vk1Mb&xrFnIU2YRs}Zj31br(!;jJZLqK1W zXgAs%BDyi~A_M*VG9fpbGe%)S2L~uz$u+cejQM`i;#FJZXoro!HJlwr8B!Kuk1m_*_O#UIAFCWbr`oMjnLMc8ON5Nwzezf^kQRoqBaM| zu2!TPQ94>o-}NqZ22$uCQYffgEb?}1nZwDfmXd+#{jZt zY1QDvtNk*^f#xLfQRWWgEI!6LIL9?5`|7+#Qd(8M%sJATZYOZ0uA;re@GDpPfKvIa z>RJ<*#~p5jZ3F&KZib`${-pwCdl6|Q>Bl$~A8=K0{8^)2W?<@L4zleCVLPHE*9h*j ze+1YAU&w54rZbg+uRi?qfv`KVp}WwLYID8qpQc|iQ*1NU(ZP73^%5y3q3sc5s1IDW&SqONyHMRpRv{hry(bCt^`D;MOqQ$DTudl|E`SP;{d^u*y zz;JT0792F7k4v%JTii(+47t7Ma&XWGuU zq=-akxfsG(2WyI6601wc)w(o>v07Kps%L+E|Hx{zR8*i;=ojKMRy9 z=sJ^69nn`eol~APj8RuP)~k^{+&=6*lXTA{OWq zLtQs2s)y<2i-IFTM({PNK9Ers9LcLMn$S^uT?3lK;8a@~t}BeUdoPo4aB;_Egw#p2kF{V$A++1(U&7D8j9h9Lm(sE=^NwpEG1@F*HzK} zFkN%H(pXf}fJQLdD3}X^SBb+<8LX+o;J!kYs-^5$l<858-p66R{yr8)`$>ccY2v{7 z7{NFm6cMBALSyT}_{}(2IULR4Zo;#Mq)5QLHZ&fJp^Zw3rnlswgV~d!I#Z%fq7J*O4Qgnu_%W+s>@gHq@ktt_huKiqgAjBSn35m9(P=+R^-I zj41`z6ZI&h8A@H&RZ9<2&h)^(Okgn+aOzuLz=VpLVGrCZnL=8?%aG?|C>;1uD|K=u}?sD)Tp5lX@A-$xAKm=xBLEg{-{EEB0jM_Qtp z?oH=JRx8ntqUNI-(L16`YtW$;q|;`}0`-NrS)8b`0V#$|R#X4FqA6`T7NZhUb}^nC zX>ws?bZhv1QX9F_8l}bT(UOU3BgP1wayYWGjo3{1wNGX{Q(#+|n0ru0l$3v5*M`Bo z)P?c2RKkCUIY0UoTJsgt`27#@qIT_o)X&wD+15@>5Im1-At~pO<_YaZUxhCnYb#bJ z07jI40cBPCS{90H?GcLSr?u4jTtj0vxvXoU)uPQiK+5$(c_|NOTutW~FW?gArQSf} z!8tWm=?FOGiVU03;aj?m>R7_$fXpMg8!$Zs1p3Hld6+gQ@8JR zU7CAO*N6W0MVgK6g#AQ^e9G!1Hr0JypiAm!=!_Pf5tPJ-6qAVV*_jbLB%%^!Gs55z zRM53 z7gX^_5~^{#n8Qw=5m&%aDB;M3FS>TLjUg-EF~pjpJLntGr!H7WJ}pJ&M(gQQcvp=5 zYrk+A37OVatR=ksRvxjS+zZHM_j}R$WYrBz^qimN1=KX6x5k!|yTPqM9eUpb$C`Z& z^-O4MH#pJ5h#{V|RjsF_-W#ITWZfNtUZx!GX9c)@cL;u0aU|N738te>)ZNkTk2C4F zYR*&i5UU7}EjiJK5qoSnvAqXQw)`C#(Oekm!QPIP*i)=22wt3s_Sdtb3q4U%&q^|4 zN-n){X!Oue3mM9g6@gmF6^8T;(LyTq2BNO2g*-Kkv7&^o@OV*gc-*?W%rl`ZQO}Ty zdZXwz7{!@qaK?nJ+@niX8uWomn@BC*v_2@HQ8A;1YUWr}(;8A>YErHB-h+kSUxcz54_%JSPR6>h~m0%uU5tgx4uzsPJa07P85@R%zJVr9w4w zhRll>D$bP&BkD_f&Xj77HH_qE-~dQFF4Pi89)J<|#1n&Ks1VG14l-0*E6FfgEg4DnPBin4kz!>b1LEj%0)d>sy!G<5r%U%R`i^~==8S^ z%Y-@oWXPi9S_<8UV8K)6l#Dn~-Vpeze_lpR$bBg0*~VAs;c&4c4IPT^*yk!E0w{7P zwx2(T!i(nD7*d5A4g-7o9ZnP#BC+y@!JcJ4M*@d~op_%Udmn>+X${5$sku)Lhn>%b zjMqhI@q)c8(y|iB6uw7gXN~~7_bU!x93e&tW8N^rk(&HOGWw5%lb?&Vko1v|arh`B zMwIvif>Pwajf63aPcqMq(ql1zbsPoQ=$i~1QNmw6J36$HWeRJR6HGw=x0XPhp1uP) zjYb_ODJW(v!k#!T(>jzi9)xe4zA+VzLk&C|a3o+n28ftOjA$ynYD^Xr z(ZH9-BW;x}IpIG61HqOyjButmo%PieI0W^O3R*P*PE1K+JP#_IfRbK!VMI&eNmur+ zNHZs5;<(j|6K^MC!Ai-rYLe(p9VelXaRV7KR2Vjdy+i5pXoUFPG^AhO$uO-LMNOw* zpxQE7tRXy0=S0vHeS0nwHU%<$Co;H)Fk>n&k z=~$gS*~XhQY6kLW?;cJh=Ia~LuS57BJL}~UJTL=QXu3~J;M)wi^Xz~Y5==)#;bug}beS#D5IY^$~_hdv#+a6*G1xvm{ z$0rCoaVuD_+L(B85$_5;d~5^ zGv+~|s}AkVK)aluhYjjkeNLF08Q4*i`6zgo5kvfF{d}}xjEWO;Z46X=6!6c0iIL_q ztfWyHXwni(hIAJSZQ0wCA{QWkD>^d5gH8^Owxyf}P>gV6hy%S@fRwfL;zSdF7;mx= zWiRuV5d$g=FfgDj2G6O);fp~A##F+P3PBv{RL#JYqBDUkts)}^R1jfcPAN?>hF*zB zZw%;+rFOrnT%a%$O?>DdVMNskk=q+Z0|;I7kVvampqD=)7}e8o;!q>ltG)=mWlU`u zai_+M(5xpHp@+RKp4FNbj=Jl(*N5>~^_3(Fug0UvgmjOB8qpiden zhE6oF<}w?XL*~yo4!>KDHNlFBoG6}QV8y=V@L6gS!YLR{WvqTe=nO7WVL zXJMjvwa`G#l`OCWIJXijns)PKer=)R0#2l7p&3kw6UA95cJ*RTbY6vw)mh4kCaVn` zsAv_ohd2<-!oFziIsmAguW&w#iTKj`)o7>9+Zo|TO%59v(x27HjV8OakhW_OAJe@u z;z489AwCb*piVdU$*>{0twnDdbU+K4yB5BQhqaL3Yw_9p@(~#^pyBJ_!jlsmIkyf6 z8g|K%GG2-YAnJ}eM|G|LY9csD>gKOVH12s>xm;b@P zA@>;UMMoZ@YK;cN?U)UK4?f`VpqJQgEoO*m5ktHwe}kwIc0J<6ua^c+bY!NcbSO^V z2*DZ87%!L#i;JFo3;U_k~V`?=f^+R_RWa>yWjtSR};(3_-%pgUIkff#VW7eq%wFeV8vs4xEYgW z!4_!eD49rCVXP?^-88vO^ypSt=%;3I2$^m}6rbBO!k2n&!y+`%i4)sA46*FG3-_LG zgTjAqq}YzH`U89z+lvka8d~ttebaWZ_f_Wb>+RU`Ui2r$P9$EF9T*DthcKcBUD|;V zCE_S@OIn36IRyN;&4erLtA>4hNZd3F2HehWmrY~j$k;S#^77= zyiB*2hOYGM4(oMnmGh19#MYb_k&O}VVtY<3&K54@dM&`iK+(R5r&w($sb2%~RjG-O59fXW>A7mb#;Bept zLo250D||Y`tFvPt20!tu15m&m4Y)FGJ^-J?3pinN5K+S!i^Lgx5TjT1XH?-3>RNCRf$IK}5d(xnuh~0* z%sv|0b01zFg2~r!nIf)yeK#~F%@+g{y~kIm_Cba%XeC32eU=d;`f(U(dH$!2=#jmy z(h`k~lo);lW?SP+^ig#D9Y+wkz(7WL;V2VYE%BZ8C~j}Wgs`^{ooEwnM|Y1xr+Fwx zR@6{B&?_b8$hx_Jw}nwsE^cxx$D;Wt7Q^>)k*L2l6mt?p&@n707RJbg0Tne+8d8%n zaAf^4Xh+o6;%yzHvCBLT^gceWmZ}?2?c<1idOa;}ZSp#H`1vL}OM;u-8qb6O~k**Z~8XBa%735SoiQYvX#Wk`FS1YEfpgWCzKTd;Qp zI&uWH#YXDQ<)ZDYJJdUFxUb9x6S-1Z?GXALhC?0X4OW86Q+y(N=SK@`Ulu z?|9g>kSVHzf6R)*6REC=eH<;2P>X!qpWFtO$eO!T`b!v^%@3c6hGRfdSv z2dcu8d`1jbOrWehu^Po)#on&%Q?7FUD%L5XuQ*Zj8gjBe?yj%`vpy?*_;m8@8p(JY+p!c`Y>HjK?a4jJn-J#VDzY(<*a#PF1L+-ohYKCqPDQsOT1wWju~JnIn)Ja6E7(cxa1L3&H_5l0slr;ACra2EV^Ijd#2%IQB zz#4JyBu;cLz+$V*R8IVzX=FwzB^do)6u^qbTp31llaYng3o=vD_z8t*obfmvWQETu zME#oJV6c=hpyexJ=x-rn@Ol}Cn-n3zCa#oa^l5JqvUNJn|89#ebYZ)Z4Q;)|nwA|Y z`94JPNn1$q2;*hXhfvMi%ZN&J=^^5dpP+zfBiug3-ah1Z-pH6{KEei2k*kG#d<5AW z$7MuKogTxbxu;}AN&6qei^>-{V)+CskA_z`@${RUx^8=@aF>GkHE=lBZCkU7?jaHcCxaAx)^sP3_o5i<(AfiXlny7~SJs`l=j*T%=# zp2o~Y|Ce}eUxRm{LaAOY__pXZ)>!?$WW+4<4Z6fm9}YBmgDbZUgZ^&TN{5M!6 z9SAEAHxlMV%19;3D~5}YG%{jO!Ee!{@6?eIGxCZvc4C5RI`S5di4A0)DG4P=BKPJT zNhrZW+pIMwc9b9-v)jvrn%v%D4F1wdM$D<&JB(Tz-@$0FE*ws5XRJqCdK+8vF5$i# z!=ds$dfbwpS^@?AjcxhyLhtub9@txpw|%&=3tdme|8P!>p)UDMJRCrM zcbB#5qYtoYmsVcDgQ7nowGNCg54)4=bYp9NB>n6o^y*J9FJMdIpAe#Yb2;2`sj(d` z|AfYKSs){>Wc(Sf_E;n%c64|pnmv`lhRd|zE1%IiRkE~@nqLs~wACCrywTX1(%sQD z&VGS27xqYS=2s+wV-6Py{)Sy=3PX+_kP#=AnYQ%pE0kK~%5ZaG!3mkLqu1vV_Mp_V zp{n2;q|ctx5^%eO&V+ePP4&KmH{_fa?_!>@G=-^YH{&TU%RCeM`W+$ae1jt^^Np=& zi7)EV>jwlI6mU4}2gZ?c4@-%k7%IR1Ko~bXmJuTy{bOY5f}H^Cf>}Q?&GdXH6MC7y z5WB5k$^jVNf5C3^-yGfb3kE*x(!;-EFxmZveO-M{bT&7^U4Y;4(?lsF<}~&Rx`pBo z{G4RM;rKteKro(mLYeSyD{Au?NnXrEx?9R37Ssqu2sU;M38n3faCKxv4`H?odk4{x zL$(H_XvEG#v`OzajGYQhDVKpAk?S|IdPK)8BUnWv-_5q{sfCEC+D z#`CIPo~O!mLODgdF~Q-}l!I_hWPBIO($$!edp#37dMBVoG6m=w)z;$O7c`|w&s4=8G15Fh{ zKUGFVA!n#e;9&E<#({DSq17vmdE!Fv3=z<<$(*RK)YKGO&*sFUg(eoPTba__BktBEfq ztZ@}OZr0+hHimTF?OKSL36Q>fw2Tp9788N1PTy-nfF?vpa? zNUDp-=@*IUu2&iF>^YfdOKxUp*GU&;#D?aYp`qU2k`Xf!3lNrn+XGV-jGV`(Jyu)w za}yJ4qC#x)@C~mN@#Tx*$4qd_6B)*bBXdnCyE<7WXiZt>sOWfn(koT9VoO|0epSF# z4gG-6GS7q(|Dv>hYE6V-gU@wx`GB<@EMa=*esKXbhmwLU(Bu>Tlt+}b&_Yv9IITxJ zJv36gDM@8&TAFBT*!r;NA+g#1sv8h2PGq$t&s-Xe6^68 zwi+X{u+h{IqWu3Co*RmCH7}5Kx$kh;OEyU89|8X>6(445L~nJmERk+#{IEfx2XOE& z7m6ZkDhAU-YfU9O8g6RFw?Id1A@?x!pIoM$rmC>M#y^1G#h6<1CEOT02yczj;^o>Q zX~Y3AH5$P-r997)MO{tLnBLxD|9F|{rnqwDg31(+D2JNT zHW#?+H1;1#2Cj(Fxp7)ZH&^7yut^et`d=z$cdwwa5kdLU-bI~mbNpd;*Ef&4u+^##l0oVb4q z`JLs7kZe575Em-(#H>{DEDi96YR1pR=U4ta3D?lj4Y0>#2V+Vj9AffH#SQ!=~I;;edj$r ztfc8ERQbka0w}pMhV1!27~w+?6lO}gUm0Oc`pex9^hF52E9k19#y#_qsR4eqg9K@z zUk2#YYhMImot*?wa3wQ+dh2RtM4G~~)^G2JV&AyS0{A4!CPm4mJ&f1A65}-&?EUF# zO^p}D`fKV6`vWUztyBoumelz|+0LqV5LBJwIWI9-V@$JyG_{0?W?IP1wq`2)G6m6T+ggTe z2#q>(BI2mE38l_Q)ue&%elRSK>B4zCs$gw#xi_Ng9|HZ8-L>F}AsFaVdTSv^Qz7`4 z3EK42g6mb$)E0L2myzlM4dz7AC^K_%35CL{Au^(*p`oZk)8R5=NY6siSQW=`Bw@Rm z9>r8e!i*ZLg{-KGCSN~M3;8(1%!v>D(oWMq3^h|t*Ai$y&&-B8S3%V!flMY4K2u8| zKMXc&&ecN1YVhRsY8k-?;Y|qd_G+kv;RXrLtd21~cOUzAB{I$BTs2Ls4(m^ka99(8 zQ-_4pW~N&A4|KyJ;C#HifFAV;M~SmfX~7E~V&M77q~D#D;U>bJOPtsjff1wkHBP+H zExUhEy#^GzJmPR}Bzo=G8t6lIPqmQZ8Ys)@g^VbvNhC&^;#V?)UWHy-6aBVQO|(Gn zdrnNRiQJ#@i4mOy+wWYwZImWl@qqGbYAVygCqq!oM z6-fqK$mHQ=T(&WyHe zrn2U_Dk+?+qj6L$&SadqYitboKDbg{SUKE@LZUDnxi>%)yC);K<~>w~<44P|5v`nnQfjiTtVMko z`IIj6RFqgBxuQ2w3pvA(YExxI6ciaUp`tcR%GEZf0W6+fC<_>oFD1jmDKa#KH2{8!``f9@qi!83yOwkzo@` zHo)qyay;OE#T+hdqA{Sxh3_%ucausrN&j!fX208>!y~lv}zb#Z3E&` zOAKFrBRS#S3KL_^G)|0fg*?BR&Iz|E=1O`o63zdq73yO(p2Hod0Tx@M$SIhuKH<&xp+xE~OxRxPar0IY_{W?SgI>5hxqwMWN6I$U5qp~9uFCXJbY)4Iq!ktn( zVA5QNf3wA`B>I;TZ?KqUdTl#_@V~$aZ~mG2TqhVwy2KHa&M-2KLOMaT8~!Z_Sk5xh z!;IK^ixakqAdX`Z%Qz{F*oUPnBhE6yx`-2TkXG;!?-7ps1?TS53qMeLH3fK`#T3{Pd-9~I$T+c2vb%Vt@-da4T?np|{ zN(|{FT&qqy*}JKREP7}Xg`Kt7JBTpn+R^?Vm{|fz-9r;hdOa~CE^5fRy?P=z^Wr#h zo)ImYaKgVAR(P{o(12bz$@uc+k&2D7$zpCldOCh@HTRb$#K8TP%y=DfEj3xwTj-9t5QWtW4*Ntjv>4|&QDX_L;J%`OwHO`sa z(7;Di&_lX!l+ifh!B$SBrE21Y5lP{HuogWw2-jeau0tFL8Vbs_B?Ck_oo^RC1lE@r}i7;+{2D<`ss!R@O*IZ-lPqomgt zvFnuV`3;A?7zOQ2Lj`ibs_jS;m^2&>f@M!RI9!-xqJ?xGffn3iu7%*p-iXZYEL1E7 z)%1M?Y@f1{1+dN^i3w*IZk(2uhGU44*s2|KkP#CyuV7(7zrVAoVie9d@zGS0P8o$} ze1Z$8OcjJNO&i6!DhtYwQ7GuW594`Jf!N*#LyA(M%+S-H*ZF*{Q<_f69+VWTdMxt;a&URT1 zRHWJ|NJG1EU?;St0pl@#NEb;)GGuKBj+`C`C-iXWJzf(|i9Iavv+|h;cgyjRInaf{ zBZdF^a#@!NSg=({;Y83(3+ZZKh!8PQ3z2U0ojZytwZcT0_&r36hbw)h%i4L2cV>hZ z54Zd9O)*Ui!NtB1;r&=G1ef}(XvY+cr;jFKJk6gd^Q@`SRy4BIfK4aE_KB%7&x~;I zFGM&yQ$|eLmA}&F4w?e#q=hmMyRa$9{a2)gluSX+w_C=Mqw5j)J<~8SkC+P8zAI(e zhJvOebgvkEVzmq-O4G5DYbm5m&pF&%5X-P6!7R&UWle5M0Y?2r+SFm^8|eoaTa zmK^3ppBd;ZjdD4$;*5pqzk53$XP}hfCpb$p6Jw-+nVL2IrkQBG`Z#uC#L}y1Jn5t3 zj_)FVq&ExU{PclVG+`kk<{iz6^!jBcEiz&9C+?JIYDDT7YiZ2An8e_y1`Hl0e2-)As&wj*=uUG7 zA@_$78tW!5k!K>rzHKaR`IW$z1TEK=tn?tNx(GwX^TCX8qe+X9zA?i%ad#11DICFx zz{Ma|kLJXL#Sj~j&WS^lE%D2S#fV>n@f`760`|*EoJeOx+H_9j&V%gzC6L`SlOsM$ z!SDWpt{QMf&9{XBL zzdR9(!f$&Q= zw34e(TR{UhVvRLbX@#HCu7`tx`W)%A9%}#_6HZ)SkM-p-3z@+3!2t?stC2iy{)71f zJI)L8u`-~g|G`I3XDy_^C!~YdLfT;iq+hwoJQte11@Ht0H}GU|D6RChGNA_>;LHSX zj?@G!gyUA-Moo$k5z4{2HLT3(4?8;#-h`@Xsx!C(9gRa-b48eV8&DR4MVnyWzowQz zT5Tx5+k`TFH05DKO4y7pzPOeaynQn!u907bKa0GSe4&s%8C3f zXqg^u7~xK#TVZtM1Pa-P!R_*ND??hg6{SzdNfAQ|W?13ajGc7YY=ga(_%j6CG~I-5 zI0$0weaozHH$AQF2Z~Rb%y7b;d3^QB!s{N)5)LFDnCr#`HTIWn8}^TXd(1yWz(#oCTNq;Z8ppBHYqK2JQjkdshp2 z$&fbpITF2B(^Q~BE%x7Mh)Ka-xcL#s$)%RvC_V>`nTEq-xz3kLtn5kEuxuZ3JqHfE zJ%D~Z$WSH>=-mNicCaZ&5)LA$4i++j zbG?HwHQJUVl@7sFfdeBt36GuW*da{^g@O_fVRf9~V{J((`KW(1JB&>}jO4pik%{`! zuEU5{k{>sc9D#2zHb*c!x&>(=qmN)J@T?*u7W{Pk>k-uJcm#)w8lVi<82s5!uI zb6ChRNL@-OFBL9~YQvGjWB7&;)=_4AYPmY@I8>h`F`gG24oc7U?=ZOXFjAaE)7hWE zkU_&aQJ8KmopzTNJ^cg({YNpL4_!KeTBfEmqP5^Kk-gEpCoxQZoWhByIo5_0If!K> zJ9htY652m!a9-6@5Ol(2Sf(}S6uLm}0#3YOoMDSNQTsGFZI^Lk86)1V;6(U(Yb&}K zTxQ(<42+ws;k+Yf&_6qGLfHD9VI60k4A&68Z{&pgS)`r)HcpH^i>!3qDHHe;8E26( z&vG~teAHT6M3z=$=sA>SbCB~oAGda-_Fc;Sc*Jb z?7>?85*EGYzfi%3RnY-kUP7T6Um4s(xc{@1eHjgT_BSKEsNZF5iks=su`4*lnso_T zb^kI--et`Z-zyj$9c?+$&c#MWJNz&ath)lcN$6%*G|hxD-n8mEd^j3lV@hHk;<}`g zjObHQkc}a`(uzy;dC=PLtHt{p0-p2-Iiy7R#sr22XbDuiik4jy#F5EY(KTPiaKf*l z4Q@T#V@i=!zg>qB@)xbPb~cZivCHU^3IgAhhEe*wY(vq@bydlHGsANz--A&e!8P zoOm5|HEzm?L}3*!jo!xK5p)B=x`wNwx3TVCbOV{)wg)E?Zy{KFlWpuN?>j;ra1$j| z>{Fhnrr!D31#V!xy|@<2j7WN_%IIS|j$>hOeG9{p`yiQDPdGJ%6OL&%&g^?XYRI-^ z`nO@E)(FN+65J-Sw?FN;jgZ{H1yDxRUW5IqBpYxCvX5tQc*q^>A{)-(MByEb0?G3^ zad@$fblXNv$#3U9-?19##dkDpz|Fn?Ad>npa z#4kM-GS7#8o6Y3~B7~LOWJFpasp%OL^x7-Kh6{_3OwH~Ct$ajArQ36%!mdjk5esnq zV)y{b;doUGNxfrZ&c1$?hHSy8wMQ20!6o#Dw=YR{ZREY#~y}@*RU+=x`x+hU?$+?(*h4x{G%a zeBAOuM%>s>z16g~2$tJ@;qd(;XpPpPtBMc7y!@dN_TePjVUtt+6*8LuAhVK853gxWe#`_E;6 z;Y9Z-c*k%pgYlxDVhc46f9|f7P~z_#;^OJ%rx-h&!YSk#j+ehbMaMf?gAr|on;pjOwD9v$KqLi?p8r7gJ9WFO{ z0Tbc49wGAH8se65|GF@7$+9Jg6e^E4!?bcX4^H65q*Wt6WBX~+P;OG z4_-s8@)X)xjI-gYZy>e9FN;vY0!gnj2}+!qws z`6CKEa)A+kboe7CznyuE2&RMrTl{t0J4h#KXN(`j>rtfoQ>J6m>+pr%3JVez+Fd7g^Se@9qczavqk$td;*q-NS^N!@ya z6XQ(`KH((8&gAZCSL&+WPw)=7%DgzCv8PN}(dD1;NykS<%&2joor)UUB4iDILG@T= znP*C>5Ig*4$pov2HHB>-joT7NLQ)p^ES*+`4${uj%=&GF?C{Kc7;@Dc|V_~RG} zoM+O;&Sar!w69R7l>{tIj;aRw)v=tUdR(fM}LwCyV_ zTp+_W1+QhC7_-LCl>ISw{8gSTjs)q$y`gJ4ab+{|<=;;#j_JdTFY8O~Y=dPC_P#>N zCXS3Yh>jG_@8E>nVFcwfOKdYkXr108!==BoNMrDY12T-?IUO&n?q|kJ%_R$EbQ|I1 zMVe0`XA~X9IyIMhfrQzpVt)pWt)502L-4@^E#7%!X0eDP?k3T-gguXCwwlN! zI#>wAiI-I13p=FXX9VYmNpuxK_icIDoE~H%pNE*DjH5UJGmY*m?8dQ|X>Z<6v!dFv9xYG(%bWP#3 zxlEXlp*ei7YNds=u81Layg5vKvf=O%b5yAYrg>&!jJLg-ax0cCjB2SNShW)8&1HXl zBQ3~Y``YC)CUC8)EMP=#HSMu-x+Ru&vTsZvzq*z{lm&d+UsFbE2%B)3k`;~ujOa6C zKdP;T>_|Y7?JN<`4fXyP&Sh}dhUH;%^0z|hKE!FknilqEG@HTAJ88jL-R;f!PoxBE zINCBv<|%1}I|hOd49*(C;7XKbjncY|;l#E{_O|qz4fh^4kZC(khE+7!21)U35=SoE zM2o^P+z4SNw%ejHZ*5?=QJ1#6MBCFAN66kf!x7CDd;AGGXQZ*06X2^C89YR|i9cS%N=R@}R z(>W7ourJ~7RF}eagaZ6c%2L9TCOctu@tnzAE9S7wDJO_Z|*@KmYKuo)x>}>{$DthYHU1)>M^7`KXX0Z;e*E z>#sth!d=Q?p9;xJ4^qL~d^8$qMwo&)sqTWxi?Rv6h;>wy5b$nfVNSUTF0Oo!LBA+I zmj&v@loqh2o4)7;)>ir%{*dD0h?~>6N!1vOTV4FnXBH)^guHbwZptZ_GIZPz#w51Wu;uQA+A6eymRh2-Lza~TaD?^3A2u?oN z!-d%7IcQZo{h^XrTL|PfK+4l@UavQJ)>a2WqSxXEf}>f7LNo4YZ^;Yxc(KasYuU*QSlb_6~x2A zE_QU|BNW?(Kyfr~g|WN2tzh6n98sddC!K~^w4f>x=ri^fKt)c;WES`_<7a`J;b zUaoerrp*yZ&U);aD}sQ_QnLdFCsF~C2;kS1ihwz_iPR)XdDu-?B5xmsq2)j%vO0BL zX*d}-BDIm|lx2}VQ4pDfJ@(R?C!#dz(yGlr!|~CY`qFf4!Yk5e_qy1Ms2zw#xirS9 zI5p3N=AUx0C)-LWVc!@;`{@ZG5Oo=~utN;$M?)NrV-+B7wDKYfer-5Dj^$Q+KL)M# z!x=>&h%~;2T*!=tIm>ejuPjZE)uc(aadAX%4s*d+O)Y84MMfMcudJ&HHLQd}y`V>4 zRnpkdl1gYUG1r9*kVcXz&eO312w%#6ii(%E*zkcnGY+9P#K}6nfDN6A)5J@E<4~P~ zO!?^ILf&s&oXCS+S9XerO2+Hb0x5K$7kI_Y>;1Mg&zY83xT*tfmY{Jp!Z%sG#&@=t zD@Lr^sLZlQ*lP*Mpz0EB%Fwuw{S6m$@Zmm*)n&Jt+CQW7yM$)TPm2O)LV!E%Z70pdTnKf`z5DzgWa7ac#*WuBQ zwIEoYA_5W6@uo;*U*>t@e38Q2myGc@E>uCBC?Ex9yGIB_lZxD*au*G1Y6^;LV5AB@ z7LNqV86YoMSf#>t6fR?4H;9ZqbFMM#*O>fMCoU5RI`QkK@f()sGkAOC{6~v96v&`E%3gSaHm5~Jl z(h!B*1`2FWTbsGUeP$X${jaeCW60GYA09Si#DltOFjJk=S`f!I7(c_?38Gh5*9xT3 zLOZpiK!){jwPaU3_P^>I_nlRLN|ZAX-(`)Q|?_+BF;BKhf2J zUh0qqPpTqX!^Q|Wpc=-{G2;YrY^tlB%3tZ9)gah(g5bTXhF%j#D`aCJ%&BE{q-fq0 zMtrI0w^FK?t3!3@G{JMqK;dL#^@jyl5aLnd6Loe51gp(tUbf^ni+{bz@eUt@;>En0 zHNZB47o))fnc+>*=G1Uw6!axG1asJr1s7}UElyn2;@ ze{4jV%YDLKhV9l1II0%v%-xMlw3AkCp<7)A~?pUKOd{368J}O*xOsz9tj;uBQa@GE-AiT6ta}>}Y5l?j6We zvVnCF%@daeZ+#uiv(8;%!l|IHCPH$)YWN#DRu{~I>m|Sv2Ik)&pL&=YzpIM?i)5mS z^!^T=tA{~;Q9abV^AdsH~g+4fP*REkh(@ z+_+<8e|>xy`u-4vor9YrRcU}4T8wKvEfIsXEOhlUyoTW;7NucV`W|K2s1Iw1L=P+{ z1llx2GTd?LhK=Ml)|8A6XC-rCeR=S&$P?p=kfF=l{Pg-fI z>eBaWr4bWyZi?>gZ9^5jubIY-dNxHu((#Ig5=9w?V>Wy#H~k4N$aXU$?`FuJ`YnE9 zQBE^xJjE*)YD4v;2JK5Dj+E9M;BljRRp^I;pQQVx~LWG`Y%)SR=br~RfCMyP|jGc z2*gR1v3JXsdhJDqUTuw>+ft}PBHI8N{HH*Mw?S)*fV(5Tf-TiL%->SCk+`>QP<0;c zPS!Zl%xZxrU_q+$&A))E_6&S8d+o7;+ zA2EVQ6ztv0P@Q5oR~mjC5tL^QBilpe(38>vc&VU00yy#PXV~K{+E~ZfBIvsvvXxzkQ2=?Ra4*% zT@c#IC>3JX6$s90mdIo?vN&Fa>}13SN5K_4WxD|xjPu|M(!CodVOua;Q;=`z?s%@G z8=~+9XT=qGdUs?`&1&veRHZw3ahS=ec`4FR92?goTIqKj8)xErZTIrxv{I`cNNX{U zjmt7U&_{*WaYt9#1IB!7DKIW#VYa8pRPKplnvdC@f?R6^twlXGA-F8$(-Y%(t7h&v z{m=EZY%c_{zNsQ?!aQ60*v4Hyg&4pB9WmX5wSpW>bvE|G45mYS15ib(&_!t1%W<#3 z@zzgChUBnfSHWAD>yD#t2MwP|SD9A}4i7krn*OLs)BB>{dE_Et=9m}iVK`6XsruAh zNPp|Cz}9pu7j@(EK!Mox#!TfJCVi~6zaO%^Yj4=`8LUD!^u|2(`A`+odL)urp%3hg z!PHDqJ-f!;l=k<5k)D0fHmc9~KX_H8k(iv7R;k!mQ%U;m_tLNf1=I1=nB<*!!p zP8GV_QIDxSIC3j}+!qO~vrZ-8(NB{gY4#`xUYP8MYWM@b4D{hv<_|^#VS>*rWIjCG zhe+)(0aD_&xCrHlr3CCFPeD#5uENtkov*QgPFjDBmiEW&%eFtNbI?OUbbJAYnmK4_ zWBVgg3C|gBD1G~nbLLh0BXSNj|u_@KDco;6uF=M0^M3|7Z3P&7=Wn!>ZO8D z4b)gt_&{W8xbM#}JRO%4o#5Po2o+P45_8Z?m$bnuWLT7koyy5t%|TE(Swk%_2un)` z>Z_2iO+6fVr3UB6S^D=zD&FlD9_l>GbcZkUm5o`zi^dN|GVm<~0>{6Gp!#cCA$65U zB1h#;+jt1f?P#qC)R)$@QwZEU9fAs$*OQToWH%I*@Y%0SG?Eq$=U+TzHrB&U*psWm z>!GmcFka!AQuApZctU%pVItUe7zB(aD*`5THyfXm+Znc>BjA?9HMRxAQApF4C_si( z_`5=w)5+nOV=P}OkVhLlY-sXBu8ur^XgC74+HVs)%_$F4TDR8&k64XF_U&fg<9#aL z*AZxbmVc{|hQ~a-MU3+j@HPKi9tPfT|0n|1bTtpTnvAPdat1u{z*X~+FhbW=$gR5` zxUZnRxw3I2!rgjHB~UyP%P0%s3tMl*lFj0~eiQ^p;#w5LS(cu-*!S5G9XWOPSfDSi zN+|-nzk9yUf>Xz-r>Q1K>?Mpd#grnVD=IV(y!XXwR@$3XftPB}8K$`}mqeolgz zKL$-|xT_$%B0SCL+Zg0`uBU=n(|&(XEVOe)${&mV;YNVqof(TyhW~{qf~J%*4s~ck zf!*|K(6os%NoAF>j(J)enri@3!4z0#SD+-^0E~6_>Do)T$m3r3a-%LuK2=P9R znFynKOl0Gf;RH<}t?l4xQ!oi7^G^o>*!S?PsIPfkEyhnma)0ll@XFxyG1PN%1+r^^ zrzIuTFf@-XWI!r~n3udU0+jBha>C{wMN-0pmp3^WP z%ATh}RxkC$^E=ZZxD?K_ITEm_l|F6}1Y+bwsnfxpwp&54?S915l@?7$sO#Vc zdZfVKbSuuwl;e#jiI_JMPmn2T3Ymp(%lB_pNc~`o6siIbVR9X6&LMPSj-|V%3D8S_vCUth#{EN4r;KB8W`qpngw{pugr} zv8MSPbg2EKm*y@bL&{X^WcT1UwA+Mz3jJw5*SfBGM4^PlQ zzMmFI#0pfa6Bn8A!CVcNpIkBQAg){i%NOr(j=0n973cu*I3Ni0J&xWc6u%O7{IUA4 zN9<`FBLhkhXS%f#9ogPTiVTj>zVmV>c=>e{eb1m(Sggla%}OLpW?fx{3YU$G_Ij(b zhNpO=QtnneuSTpAutA^}s6dN8BBKlWB}-ZACQI$YR)JcoJb8aX3QwOz^QgZD0?R(B z1m>TkgSB(22?2E0x%QQ+ZiMTv!&WlmfRr8AZ#=#90QUC*&80cx%T&=%$m zdV4B(<6v4LLOi_=$`<8HSk9YZGHE@~LMH?2AY!+S(R4Q%rKjsrsBJK1-J(gQ+zkkz zm!BX`hj?4k^9{)LZtxGl?Bn4;T5kl>H$)(ZH$nm4Hf8p(IK&3;eTGQ2Vg$0P5c$2a zk|69-!S>z+cH0DjxNpX|HFpz+{{Jc~NKI+CMj_w~X}MPaRex+VqK(rTa#&II5tYo^ zuqf|!rvC}vA^Lj`*4Qa-9^d(7!JYevUZ@Crh ze{o@v;fPioMknq~nAeASi<=7GYDMKL!)7f6+@_tk8AWYFLXWf(Nd7i7x=GoB_`t-& zc7kZV9Yl|gOmvjqb{1gR4uA>W1Tnogtj*g2YcV|q@_7g9{psFJ#8Qu)Xz_&AuwCfK zkL<)p@ZGUYbd}2BCc`cb?oLnhE=$8N@jRD5yAJQ-sA8RLmnMOVU!!x1+zn*jG|mox z%H55Mx@eX{;40Z}3?M1!uJmjZs8749;WLdLR0_7wCC2p zg3#RZE=P$rXk5_;kwIxic&$N`L9-4b#9nyFlnL8IAbjDz?vQ4nl=X;zt5c)?m_Jnb z2RhO-M$)POKbmNxRirtj(USFl-k!osbA`hY!9^uGXz!2SuBtN-^O-l|9rG$v(N}Nm zxPLW_XqHF7Yh+9#PvG;)-p0p*8XiFr;ms@q5=32kVvK*tg0IXJSnp|D?!#&x1@ANt zVxB;$Ogf7BKHRy3h@dbpYx9C*Fo;>74CK1|M5`*$ieu2kil5ATbqsk~9Y-=*v(<4- z(|++5#L45DI?_{LL8ONGp!!|mI>@c4;|Z8Z3}D`L>2nbOR-vquDCE(hOjM%lF+R>@ zchgX5Z=Hm~_6YJhjnTT|DNUl03pt$B1Qf*kn9u~!Qhqcu!>B0H$Bg$u^qtH$!3wf(EAnI2ZL^mc*XasSLi5=;J2s#U5ZH6FzoJHTd_$)e@ z2DKHWhBOBbzc~uiTKm}1m~&950Qz5r(1K1_s@`9);-LEOb)yL~UB^Ip|o5Kk^@GNrPE6~d1CT*5dr z1_!=b_TNh=oDVq1&BVMZKIN$SMEr-20WaA8iwM=ieGNSiAL#$0(cT;{knrg~Sh8io zc9$V|4tF_NaQbW?Z#sS%*^o9(LEus73RGQYFcL~DuORMqS976Oq~TZ5N9`~4F{g;D zkQuX1ftyLgHY>rts|Xo`f$hsPj>o|CrYh zXFK(JmQ>|BQoVV%f|wQ@L|VE&LtF9=#%KD)>-bE!*;B0%VDZ4=5N6UldMn-xW z(VcrDLBVv}+!u4}yI6tUN^S3G>e7?DDAxv-iiizm-UCtruD$U~8}1=X{5+ZHBz^T3 zU{;WCd76Hov(HaKZ0XZ|O_b3#DuN2Ncz`}UDTKL^6#N!tCwFnzA0W~NaSZ#@?Nnbp z^t~6g2n!D;RQVyw-4E`*^*nQWKMN->ZsVAQ4FPiW3BFtf3VRv&QcQw01V>nEW}PocW0K`GRh zESekEv`wEuYgnUFd{YW|ZD=E1nLn#(37-m|p;R|DR}fordX6y4wo)NO80m|PF#06p z5!FQF~tff?lKc zE7YC}0|YO7xNk5`=!#|puhE{8Ih?!cReWfmr{Q}u^)&(*3#V&(o()ZUjZFH!Kp+{* zeamqthtmshAUJ5TfD7LslbgIj72L5*L3C2a3PI$rN85;ei>f$s6C+_X{w-p?@J~U! z*oEZ1VD=$gaA9_}|G;*E$5AGhGtqsQAdKIE=(k4@hYtEW((1*A3CFm1h*BL~hGDJK z@9Z^iNk_$JMHU4JKrO?fky>$^o(x>m7T;7u=DQ;=A}~p2lULTr zMP20IP#SR^ttIy(Ox(o#$8tyV5xd~^?3k9>|6AETD zJf^d1&(B!rxBrZf?KAM0u19K0=Zgig_@l1{J@|~?ya`+eGaHB(ovF(mBF|EWenE6M z<85T-?fHUaH-ndSCcb~wn8OXDpB*KAMcH`#C=EOD%mwd)eAT!bpEvcR*IFMx*2yxC zu+&ri9sKmC9eH=cxTcjKooi!Kjt+m*L>NyuP?p~{X~uup>3MCwBMPgrp!6Maeu>{7 zSbVYip$V3B4opN-=O1V*d0m+3C=JD%y+1Vmv%|H?()xb0yJ|JYEyv(a%w#{u*$1?E zjD76v=UO=O9!s7^+63bxW6`}n@^hpfM%oZ#%W*R0N`Erd&_IR%hBRA9+8E>F$$9}m zPEAY#b@0-hRS1i~+n7tGa>am^XR$#ZsLwZc?VIr=Q zAUv%>e2%C3*4oz6I~{GZ*0z$uYckW1`ejutCp;m;|*s$QHE^F zX%nPfxUHZd-wq=n`Cz=9oiocp-|vu0;8Z!}+nVDlr7uinc1{w=8h&mP#PP3E|azD3ClSZ58SA6NSKW7$}-wVF}rqsq+n zvC#z;>s_EA(jxs`$>zJEB&)kZ%QaZxm81EtC_EjWhG9F9E=!Bz5UOT{LB-b%Du?hs z3=7z%`umCSiQ%u9D>6Jx>u*U}Y5sO%ppdgna)&@{vLc|5cMijSQWV&dcDtkh!m|z~ zmcl)>Ri%X*71Ga7TS2s;eIC$%iAQ7*Zh@yZUHXjYV>k}oJ+*1ll)8er=B0I|SB?GU zl`!i9FZ8v0@w6Pv$*gQIZ3C%UV+E-tg|!kyrZ-}v!P9aq3&NJ#|BLB{+eT0cM$95a`tTtfQs&-;N{)&x58tt{_qqQh!kiqE3gA) zGvbWt4d?R#DZqr*G15tmta`G$RNZn&%N1kWUQqI+7A&3daHiIR+^AdvmIv1)!ykcRgtD_-d?LwjA5v>yFo*1CtU6oV* zHw%o9R|%MhY2zjDWPxOB16)M?l4CG7jPn9drH5(TN%eIs<3`@$s0bCS3L?K|0Q|Vs z4!~|sIFj?GiGVMKYqipi)`D>B6yPALdsYORmegLrlOwdXBnb;PZ1hb8Que>zv@{As zV`d~w)z=gABN5!TK{BTx3ax0~L?P8C3XDcmm}o5}!+T6Le&G|gZ8W+!*WdX!knTpK z!8$@Ao+9vR5wWJb`rL2!b zir>9shI>IgT7CLw!{3fHEFMG5hwlae>yY7C!?U;wCw2}g?7n;s@0BY)Eqm-`0danMB6%Hg7}=Mtt@pM zBZy{6$l!w$ned~u*@1{a66(swsS4sl->Se~%VgL)nlE6xIf0(k^CmugFh!N4Wc=hcxIGT1%;`* zERbnc5EFll?yOo|1qGE?h8%R-5Neo)?7pHWR;OXOIfx#DInEl)x7yeUV!dOK3-w%O zi1?ox1b56%@IGlUUwZ5>i1_dz+<}Zo4o}oV=4p_C&uCFD6T+G3#f^QWPCG!ds>Ht< z%1H^rc$|)i984DC1?iZ;{8L3H3aa97EDLa?@V6QLQY#2=%~geX*NhT$U)>;2`oid7 z_@maLmh8)doHArlZXn{brU4n%0&iJ02!7NPxfz%dYnlf+P`w(6c)98jT!BN-EGYAe z+XPuto9a*rXs&`cR!2iE#F1#dpap$v7la4F`MzXS2D**n)(S64x(9DnEO;VATT`ks zR3XaYvIC0h_*6!MsQm08TYd>z-|hcZ1Ca@Y(<$be)I?owJeP?`>QNKZ{d@BTahi#F z3z^84>Ma&vB}>dHR@Z_7)1?AwwhE; z$Q&{R%qi~~{+p78A_=`;8s<2_4Rw9Q^)b#QD;kww207C3`Uv~YQx$x@K1_ebL1RTQ zs{vyC=9LP``+~IA{fM|DULjKGf2Dclsa`|C9you@M)Hh;;Q;=7kiAI7g@%YpEKVZp zdENr9(FpKp971OJY?)wd+QWIg8nAJ3*UywItHO7qTRU>U><4aB@P_nU^r%ZX# z#)x1`+SXVbZEWjR0$EY30K_5ewc+bH_7_;)?xUB;`9-TWp66F0kBf03!LoBKeLeid z@}vFL64ja@knVvcPz7Fd3^D#CxCF8z%cj~WzUg1`gq%^{gqT`zf~IZREe4eF7fD@C@@CK^Yz!kNoOIycJg5R5x-Eg(Ls6ttuz z=E=_(zxy*@mg=hSOt?)Z=5Ov^R>*2JFe-BKhqE?vu zmd~fC*65&%^QmWRG{>kJw7#{rv+@n;{Lxp%Ny}w8N+NLL8IS6V_C(JvuG3Lo~9zwi~;c#cvV? zbilw|1G^+ltmvRkF*2sS_S$61J|FBv3p=3pWp_sC+Kvc)C$>vi4m?v@&=G@D2YAY1 z#J&^yIj;*$BvM`{1XLD|VYAUJu6NRgOFi^N;R_V`$%i6c_SB)X*3}4SwIM=akHG#Y*X8SdUqTSppEhGyg8|KoY_`B|LN>x1w&)hsPgQSgTL1+QV<(mZRr)fZL!VAjuYuYPF3 zwSG~-ulhkS1gAZez$df|(TDr{udw|eJ|6VER?@Z(3SmhT`eU+e+D{B<~32$lKn6ml4W zfwIRSSkz4wg!d54z0WeTssyp2l)?B$IW|*~v7xYeA@GMZ3~@X^7;#J`g;z}~!W$NB zdF~LDZ1vv-@ofkqHRKP4s6YuCtS!lvV&zbn*uP%k*^o304cue13d!3UVoMtyVG1s* zV8O*znu{|XBeV(hbQr4pmcxRuI~@Y|ts1O2%7R0NL$Je9=4Egzz*R>^7UIyy2<<4z z;iTZ)7=Z$)b%u%RoLxAmev_8wX?wC`Ejf^kkqD$QwrWRedq_v`bM6L{^C-0FTdxHX z`Y8klVz(Kp`l?X~r}8_&doc<EK-6EORGG8$UFB$_c! z2-cN0zzw~gu%g-%@g;F|3}lwr3fN{WqHqk~?<_NriTCg+&&0j47%Rfu1(7)pQ}@k& zO!Sui3FF@+Ix`!c#fh27l$PUR@?E$BM^X_Z&S=GoVC4y@X{PWb&&bOHtp)9wfG+BJ zq9Ow?&zey9)E$JS1i8m-f@aE5c{K?EZJ3C9wXFnkCbvmwu4dH~8E49$gzvtS846NE z`d=f3FsJU5(es#~87W5Xdxe_O^T{Zi-T3TQ!&uIqjQUy9eILg;Di+9_6lzXKrXVuG zT~x^MoKR1m`|2xBgQ-Y=8JxCKR2EM~6@J=Fg{1Wl^$;pcEYP`3;CA)Pa7Dn57ED7Z zdsIllbd<@nkt&ga(^1u9M=MB0`ZgU(|BP1qI9iig7Yq5BMX-J*i4 z&O#WLyA{M$)X>MXAZU7656{Lrf?UhG&jwuUhyr(!MjTU!K$63lTmYFAxSQvEKU<(3 zDt)`C$lw?WSFqM^5XV2UF(gG`sAoYW#+nAt(b`cbBORVWn*-h?c*s)o(xpLglcga4 z&A}(cm4_;%%Um>456l8sMy@57=OTHguT)5j520SPZz@8Qr%9vcA)x#JsRYi#%?~ zJ!^zeG)oY8LOn(TXeJYr^~B=tNPN*RVfaEDfU-4P3f1{pLQv+tY65{aOQGV9%gU@T z!+Vw@zZ!Q?5MSDBovv@e)tAA@`mPEOhf0@0x=bGx(q<5%W&bdU?=%FX! zt6U$N13}u1HjE5&ps&BfQs&_QgXc-Dq7Bp7dCL)llfz3(nbM&^tf$MPlf@qph@Pql zz*EZ~*s=UFU4``X*ZI-|7VPpH!(F9bB-pttF-Kj#0)6Ojb5w}^N-dtvELee72ML|D zXSs^`d?h}BBUh=AR;w_$KV8R&H!azZ6dqWG{774`LMCkqb0UkchFYJv8nHR`r%GVR zYShG*xN)pE;z`rC8>CIwK>EZ(g=bcrA!Qg7x|NPpoGDg}L&i*q%->Ux)AVQmVe|P;p=3^STsTPYN$jo-3iX zcOA5>zL(-xm8{@cXal~1vMYo;@IyxWNjgyDWd=H)nt+f(xmuwk-+;j#?3HzM-h zfYq7x8_+|Wx-%BYgc*5mL>F`z_fXY{4OtXo*>3AbSg7F(fAiWL$t{p(Y{IwB;6jwu zkzhd-7osRTVkl=$n@y;Y>D8IYk-TyKkWJd=gqu?2W(3XMud*3@abH z3ZnI&sC_+h1+n{2C{FGp2>&e@m|yfIqivXqPT8UjmTIBFY{LrC!Xe@MX^;JGd|6v> z#s19N99vK7^$Z=N6yj}I@$^CNqDuoY>mFoxldlF>N+jiZIz5RrVGPG-VtJ3jYZ zCJJK6c4X6xNrHH}9b)CC2%^;v5M$7OSSNc0UOGR zH}Kl-1aBgiwpe-dPNe)j+65E!3d1dFU5ue4OV|ZLJG2nyP1uEu$VcPgjCi>VTW(`E z(a62pRO+!C(VVqK5RY~v0Vi=DkvXmRV3&03PC=a6gHdMr9zoRHi=wE3gNA#x1EsZp z3DD{of-gx!{e1}D>mc(|a77+Px?vw0XnDAS=0Y~wkLr9FZlIZHw;z4=A^7oN!tQ>! zH?6B_Nbjfpu+!(Z!h_qFLQK@U9sq25SAp&2rg@&x>HniUe;axQShFXa^{AS{QR)GSH%@0T@HhX zuRoc$_AovLd$tvX>k(9m^_>Lqv1bHU%J{0cJR&YT0<9Ijn1_pFM^If(^;QT|YI3O5 znnR%lE+{wZivzysJQf~B(%0yT*GExnO#2H?{bMNqw*v%`HX;HC#!ean{P!3F96ng# zS<%De_<%?`4){90BH8kY;}|Z2==Cuy)tR#1MFU}#PtZ%&O9gv+!DYpS)_P?!Eb z0SoyP1uyqET!mj?|5l5qOzX`Mi957V(&e`786n&Y_bTj3<$p zn0k&sf{qK~%{f%Fh|_`?d<C*)md;dViOM4LkXE8inwZ917IUHqE0{HPI!iMJs&UB1< z_h0JOuEJtgfp~7TcMt`utOX1nk^2?Z6ZNa$5Mj&lR)TFv>XILxU(mD5)6^R1nGOGbJ88%Vb%Mw-)wTd4lOjZzR-%Djz&bQ>#> z#ka8#;5kVlEUEf!bP1tF2;mo8-eEhvicqfyVQH6%L)#+DlJjZg&s&z!;l|)CG=yn; z0K>99HM;|N$37uld>0GhYwn*Pl+_8!4J_dZFOVB zn?CtQS#vh%d-&HZUEM?Q!XH7fvZo*>JVM_y-dhk$9%G&D@gt1YuLD#_-N%SwVzh!} zN*S>VVMiWMQ06t_6~u;G{ehxe!o%^o8Vm>0wI@h+Kutk}KgGA`lG=iJ)*uRpF;fh~ z;I^mG3dj#D$2CA;nlVMR5H(R|k6cq*rZ%@+I$tJn>P zBh+FToROojaQveR#!7imt^5+aSN#Mp?y$6NNm5+D~#E{ z%n-!ES4dFt9Qy06wj%kyMh}j$u#XP8jA5|CdNrGwh6HIJ|tV-mRSBD zb}Z)80T%uAAL@qteio?+hu)}64RBBXy|xnVeFr054h!PIDT8vg_Xud^F@^`TqjFi+ z;RA~C0%fz_h!3#%6%J57Xgf%U@3KH3Rr!bvym?O{Y^do7RQwAcVay%(-t{sz)UPEEDIsEgPcneiP8 z3DE`?ZYl9d^@h zMH;r)00hyC714pJ_*^%G`Rz*${0Ncn&CG$GTWvtG4{nYyObZ2Iu4^u(ZI%BXVWCTt zGWO$d%)cyjG15Zux3?9dUeyxWTK;dD3BaF59E--`GrkB`WU2F%9RD$}nn+eh4S)OL zV70E2WO||m=y@LXN@I;8G(BB{ZnV}VNap8CfSfBZFJGb1*ucEWMVXanqiZS|UoH{z zu+_y&#@7shFLkrSa>;sIB-!qs0kxo(Por_yV31)g!od!F%U31*CLf|*d2cI3ih9jx zfoY5d4f_}^pPABs4n1Y1%3l0Jyz zX(r(B&S*%J;c$#C=D6tUN-x_A;+89NqITC9HySb-dtLHK=<5pA^&M0K7CmAdRRZ%^ zpmQfhpn=q_n?m@~P&afbBYNr)H#D1Fa5~FDXSk!t(|#4i0aV*VSS4%3tj)`EJ>aEL^GB*pub9Tn)cX|_i zps-`BfQR_#uq6ZcVjQ=GLx$q9^M%ag{Q|CZBu2lHJBr~l#{`^pHpZ2Td{G5b;he?~ z0mk`(_)R8yN+-?xePQCROaxKAPz)5G!dR@m{yobU12^RD*hl>pDnH@E$<8E{x(LQGhNH z$dw=P?9WKOR`)p89p9?A^$;JHswcQU1RMjB@)4Q?ZSvJZOn!oLG>AczKI@4kF}hf32AU^x zKE&waqzP~g%|uo#A~Xp;1DQBG8>O)~7K*kc5UWb)zOK&^ME^?Y15PbxqJ>lqcc(cK z!{X3iM8%;%5|1bdKEsZYQ6i=v_u^n}yq-97HrAPH#{;Q&lG%Z@h>1Zm5kqG#AX&Gn zBMZtUAX)V;uuKen?4fg|A&i9KxF93P5-_;-z0O2u>A)=kE=WWU<=+v6Q!VHm$VD0C zHo_X*%liWEkp!6loDgIyLyKc=C?XBPy-tGhp4i1;I4v1651$Jn^*=PY?<{jL88YE7 z1?-T5EKGhQi2P5nR%D+8nb|3j83E^lDY|yjFt`*?3R z2c&szgPo!(u=CYI@G=_dJg7<mq>G=MEN0PV}^Rr;W8 zZ)u>?hz_Ko()(*sQI@+fH zVd*xr?V|+}mX3hp;sh}%74cq}j+E?663Az;jnDz7BTk1~BId)ZLU{?cFWKCQs!(2A zor%uU^_u(}Lkp?_jKWSNOBh#2uC;($sWeou70oN5%CY0=vDGnM8{LFn*M`F7>gdat zwGu>X1}8jQ5U6c#v_C`V!nXiqS?d}|P3CKBSE zE0FayVRv*NL7+xflJ5N~h+(y$7&uT*jHqNwoir%9k_tO;u;69YhStWRg4j_Tx&CoD z6P=~Bkpi5O35hjhWTIdSEKO?+OJ(bz1;i;ZGk39Kji3;h<$meA$q~01tZ+c~sRd|W* z4~1t>g}H!RG(frskhVU`_~ZuBM%?Li12l%6s}*59vDOf#i`SM$OlUB}!5dU?QA0$( zO`!@wV@i91y@?M6%Et_WgJQ^fVZ>w>6x52X~@4EBPG1TySVB@5bK6ZZaS277SX1rr^lkVk?& zq8Jf4qXWBdbFdFT7x01RFuDuRl5%i%pG0HFW!x5!Nq#Tj>EB@4xgp1tVT&&cY(k$} zphjnxIMIo~}FZz#8f#Y)(`Qjm$3ar&P8UQ6hIHdXPWS|Ka*;hI8`p3@5YGwoH# zk5(v>YEA;lZjDiNIIb`16|CrDYbapX%z#)@N*fq` ze%KaeX;oE))M}^GO8cs-5SzMjE;QH)pP2G=EcN{0+S1j|} z1VPm60%G4JL2O{6^;9NWN#CXmunr-3c-+$G#OSUtwQ#1)E9j11?tE87X7}t8AgLQt zGG|^1@Ny~Y->Pm%K=FJ7nj+O+B>zqG|A@1t&r2}Y$Wa~N9rpVyW?m?r?haG4cM2l3 z2P)KJIM?if`Rna{{3}m$Dj992>>k`@_k_R`tPV0G?Gyr)NA|ltVbS}jfTMb$*g72- z#GZ2qTJHI4_tIJ0r~FU-ukfT0GRc9)2dpFZK!ld$>P)F;4zei}A2|w=cO}k2^y_bO z5ZIiHDqdPHVm0`(f+S0uuPTHo+4KhcF?@9@#wy=Kqd>=qGwZih@QvQ6W6g?G$c9G{ zlzX>!eGqCsmNMDM?I(zg+=Crwcnm(E78DGUir*_TrnJ5v@?+R%74oQpAsb_Vg=z>Kce1J+M&7TGer8Pd2V+`0 z-7(&h9{h?j#T#xVNVWcmM+Q9m>17;feSf5WHvIQ7k~;u1CC35i?Q4}+kOtC77lo)m zMc(mcDajuDXmTa;8Hji!xhn$rU>=B2%>o5dFCsove>IX@htVKN?+sOWc9b;;((~ai zkHcRv2w&D!nhK))V9e$Zwr8TbbhxJgZGVk-RDHX=8_f3llEVaS^tunBz4y-kuf?Me;{YR}k!&4b`Pf{__MsD9Ua}Uge{3s*FOkgU(=h1Sf#SLWKW zP-*{7#j7_CmOhU~-8uyS8#9q7a-0BXNHZ-|i1&C1o)`zgn{ctA2m;QK8oMByZ~8cmWQ;oQiR)dAHKA6P25WDr3{LG+a$OHduw&k4kW%TK&-5$Qdn7M*u}b zN(-Pn8l3>IAkz_F)4ZQ~XQ%6GN@a05S1C!@glEruq~+4M{{uFqs-qL|mcVpm`hWQd zuf~MZQVz6aI!Yy+D{}K05b&K*TELVR&p-proT-9;%s@|qr^gYEOlgYzi&f!u3Ap_+ z560v(rE(H4%!I{$3t3PWD92l{WkvFne*-V%4~2&p8&(=xXq7n_*JW?|i&wIMJ08Z; zg-g%%MA*iJ3aU^V%z~w0Jb222;5pFzStyN${|MyOEX1+Y2D0y&>S21qkETJwYI@WvCS) z3cVi*B=r@v{w7SWzdlwFHx3IYX`hnATx8EsCg#XQ5S^Wa<>X5*nbT6L|BlYh#lqjB zuL(9{(NWIat#c89=6FDAt}a`8k7uLi>LO>?Oe{-Q$1v;4n};v(Z(kUVpnArM`eG?! zxTz)mHJ`iI`DkpG)(U}H?|ii7^A#AWC3!pZuQ!D+z!KacS0?a~^8z%-bU#5nXQH3K zATk%Cp5Rh))*>BtSr;NTPh}#JobI8Uh+4!;0`bi5A$3TgeT&eL<|R<{Vst+yiy@9z zhC$Sm>Ll?mdbzcjCr((dgFmdrNa~SfhMj5ST2u}@U7`tnXRX{+VPgN_L`%w8qKlNS zRTfBijYM1Ws)qmMgAc!>RJJd{Co4SgEk+Llwj<9Vv5lw`3JcfitmtJ;wL-h42>EL@ zg>Ox1br3Qi+b&>(o0-2fL-4QEO>`;=%XAr7Woil5^L09Ns=N%bn_OEU)*}-wXc8kI zG6iyanJ!D}R96rS8z*AlY&9xlr{7`cemw!ZHA!@!fz$P&Zv)Gy9{DUoaUXz=u zBX7POn!$~PCiqr7+pwnw3}0w0;Gzv8lOv_HCIUIRTo;eC3+H}^(NAp>;a+eFlq&rJ zrNHJwWdBB;CH4FRai7vcZ>Bv`v+EDkp4BZC#D(|n>?vpkRIjuWaA6^44INfM^(!u> ztkikZpDR!VHQET`+X_sS*1^dybBa4B!c#^tE}?Q(|GE-pezav)3#kQMNU+GlZi)8f zz6ur!JBR?X|HRBDo00cwtVR&J&I-RQHC>G) zJ?f$$uC#qMZ1m`+AZ6*ypE?UFzXtHO?kf04AH;sh8brjorvjVM{xz7nZ^~iBo1E5S zMzT!&XMJG}CdB;!~q+BPKb1|0Y>JbW9be@(Yg^mcreEZLoi-7}VP+76i!+ZpaAeS_y7mOZc?vgHm4 zB5Vf+fw>0-QFJ`fStuUd0mUXq8HTsNGl><%^BjeLBXS`-!7G1CsI3~ z;xNO=OHAN};Tx#9Cyyd3wRS=4`!xX%--RKd0M`jw1_TyGcA*WvdLR(ZZq$Xqmx3tF zPbx!mcVnatd!s^%cVj;E5sp>Zge(KZo@#tU#n0KJ3o-JibGuPP9>0WRNjXz*>_H4V z{tz1Wdv(o?+Z!cO{ZEN*G-0o2$_kmU`azeY(oV&bE3gdq1dhPI{`jdlH^NJ%D&V*^dvX`4#kd&;eLD>!PQoAJA1Z zj&;*hgME{nS%=@LL+<=tx^!blA3fC~2oaafzkrl<$dAtcjq(fs8=G_Q z{Fw+L`WrcU73*Su>)IKc#_KifR8A@{G>098{e(n4K0Ga{tiW$Eo|z=$l~wVnaR~U~ zG`+k{MiTr^ast;f9$H+srCQpG{%E|(NhOn8Pbq&7#8B1 z>+zv&4VLFIez=t$x9Mnz`47gUJLvH$M^L2Mo%ED@za%SKcSM(9e5pqXvWh)v$`(v=&=~fbrESu~> zyN;oDY&KA3j_ax#``^*?Y@Q{-S4n%k-XPblX~z-7iF+kXjPbV-rRR*h6zlO8?@$F~ zyzU9$li%v`Q=d_tWPBsz=ikY=Cp|r(t8U!udkJMlEl*-}h%G~HPhmtFV3q7G^zNTT zJ#jW?*pJ%SCBwBHKN>67v}&io+hW1I4pK`i{`I28Ws{v%GPb87gXgxu^Q1QAlgq1k zy_k2-LGZl2lgq%LINJ3sX9aUj>`&c$j1*?SIMig9g0RBMo| z&)Zt(5kesxK5-gvwM{mqN#~)}xtW5%Wfvn0nkxu4+pi)Y<&?F*z$t4fcndF}ExKh3 z;>@sQc>A~r)v5gz#8cJvOt=Wuv4fcBOnWY(2!rzkVSNc_7TS#x#G;AGHlmjue+deW ze;4rXOPJG7#zRG{opn6foLv6J0Ccqku_n!B%<_hB0&mE_h)38OMY@FNM6Xyc1Aepg zmSmn*I`?O3#F92$Mh-h3RNx9!JPl`YO8QaxgU=FIT(6)qb-V(zO=P02H2MUC-gM-A zva6_^Rjwj2iI;`!kXxlH-cshxxhi-!u3|(>zb=SzcMbZzu0dwuEddujNcI$FFEjiv zuB&qtT%H?>Iq5p!eUAj(?>ef&fnq^izm5@Y51dr6!jB)QnsS@#a03eed=~KH8<>hY zeHVncMT!aixPeaYrV+dv{y@lp9N1r0h_Si39;$7Z0tZny(c16agr$i%eRd1!_qc^R zj8PLrYY7L+58TpqHttYfuT%pYzs7Yv_0-zix-{d3{wbmtx*C>JK~x^O{e~8yPq-DN zXSOLq58N;;g%|Oh$?^^+KgU^Mp#l0)gyp$61}d^riW52C!>H5uj?UA#MuJ`ucv;$a zM_0+%GBJgU+TaD5qO=qT@^@pn6q`v^@1ei` zH8X{7H%x(h@p};5C8$7p2}jCn0EAvu+WnOb>?IeVX zWq{J)ca|@xrjrC~UFBA6H!Ug7KU>IAImAj9$8Cf0JL1IJ`OoxOs*HY(NyOKx!M&xr+MMLo`; zCgNqO5NXmm1&-ll<16rrf`pZ}jW^_8BJFwC6#*x@emBLD_3Y_8^G4h+&BIxzV${Bu z&(M@cyn^*6kA4<-^$HW7dC%zFYqZ`PuOahDCPHY@YiurDE@nv^gshWz8F)|g;v%W)wkGzE{ ze3%O9s;O?|@gG9RXk$REsPBJRcUs&;h1~uR&EKzs3dwwjVo&I=LgG05v+rQuZWzPf z6gf53oE+aHJ@&&@NX~nlT)i_wg@lh!^`P(X5s!+aRB-OZRQRX(0QlKh1rB6E9On6e zfF_PtU~`K5h%JZSlN7{^Dp{n<)dQ<9A0a(`t>C@=h~Z$#RwgRa<2|W(0G4xR;3vo= zZWnOgzEmI18O(_pu8#L=SQ@Y;Rrn7LqULA7ZO;jK;%8)-$xT7L{EVV4TO^3gFKERU zcLlNT3j)?WRygLA|1#BvpN7G;pJxKj`HGx2Efz%Gcd2&Nf+P3tD}p=shT&FHpD+CD zN`+EooWT1A?fq&b-=s2pz8F`w;SR-~jK4#*&Ucjx1cLPMTXSvd&jQVi$jB(&i)7`! z-_aENW1~rrU~%#Xs?<3+Mqp&b4}2(nflmY`UjD#d#%dddV>7!~dK5oN#oXEZ(>2l+ z91$`~Zzf%aHv^;eK#IEvhca?Ko@%DKD^WMClnNpg5U}zWPB1n_U?h88$ z(IUYp`hj4ukQQwQ7ez&+6uKyb!ZQeAQeY6RgvwM3Toe(EQxQc`1TBKX&_zLE_TBe} z>1X%O_nmvsx##_Gx%b_3_Df2!DQSaf$W@RQ(Q_mcCM9)i;1}~4n;(;E`?UCP3D_(t0t>OM&yoVt_uKC8ZT#V5! zG1$u)llF<+c}`hW%NI-x<$76oIIK*5Zqi0^1_^sK9U{|L)G~f=5q2(W(AD=#70&0N zpu$QkWm{LZLjUE80>0NimAM7Y?I=WC--xOU6R1T#w#LDY4@cbRQI+PwI2_x1EkcTM z+@U7q^s#8S$f2l{MRk1AqD?}eo|6`u@1sBXn619SNsCY@%|^r)QQ%1rc}B zHVjS9RNz)|?-8dG)GkJm)+a$L`CU=1jdsJr=#3@Npzn$1()^%=0R4&Vyyi-?>^jsg z$4ZKyzEYVeQUeaHlDD2Io_(#t#rUjz^Fj^1#R0A`l4%!BFMi=hm$r+pIX>=EoA@}- zGcL7==>;}D+9{_{vh2f8Ja9)n%E~EJz#j5wv;2XJj11Q4HU1>qJ}ezxR6Jk+>hPhN z`=$7lPo476lH!t2ZSqc4p#P4o<*zjX@}VZ7wDb>DOcD}DX}q)gZ&l#U(lh^qJU-|K WHg8K&+?#MFoSPz6_0kNm(f=E;900@s diff --git a/pom.xml b/pom.xml index 3d2f9c8f..d1a3e5ba 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ 4.0.0 net.Indyuce MMOCore - 1.4.9 + 1.4.9.1 MMOCore Offer your players a brand new RPG experience. diff --git a/src/main/java/net/Indyuce/mmocore/MMOCore.java b/src/main/java/net/Indyuce/mmocore/MMOCore.java index d1062557..ef62e600 100644 --- a/src/main/java/net/Indyuce/mmocore/MMOCore.java +++ b/src/main/java/net/Indyuce/mmocore/MMOCore.java @@ -363,7 +363,8 @@ public class MMOCore extends JavaPlugin { for (Guild guild : dataProvider.getGuildManager().getAll()) dataProvider.getGuildManager().save(guild); - + dataProvider.close(); + mineManager.resetRemainingBlocks(); lootChests.getActive().forEach(chest -> chest.unregister(false)); diff --git a/src/main/java/net/Indyuce/mmocore/manager/data/DataProvider.java b/src/main/java/net/Indyuce/mmocore/manager/data/DataProvider.java index f1afaf38..7c4926a7 100644 --- a/src/main/java/net/Indyuce/mmocore/manager/data/DataProvider.java +++ b/src/main/java/net/Indyuce/mmocore/manager/data/DataProvider.java @@ -11,4 +11,5 @@ public interface DataProvider { PlayerDataManager getDataManager(); GuildDataManager getGuildManager(); + void close(); } diff --git a/src/main/java/net/Indyuce/mmocore/manager/data/mysql/MySQLDataProvider.java b/src/main/java/net/Indyuce/mmocore/manager/data/mysql/MySQLDataProvider.java index 6c8f0ef8..57c28557 100644 --- a/src/main/java/net/Indyuce/mmocore/manager/data/mysql/MySQLDataProvider.java +++ b/src/main/java/net/Indyuce/mmocore/manager/data/mysql/MySQLDataProvider.java @@ -11,7 +11,7 @@ import net.mmogroup.mmolib.sql.MMODataSource; public class MySQLDataProvider extends MMODataSource implements DataProvider { private final MySQLPlayerDataManager playerManager = new MySQLPlayerDataManager(this); private final YAMLGuildDataManager guildManager = new YAMLGuildDataManager(); - + public MySQLDataProvider(FileConfiguration config) { this.setup(config); } diff --git a/src/main/java/net/Indyuce/mmocore/manager/data/mysql/MySQLPlayerDataManager.java b/src/main/java/net/Indyuce/mmocore/manager/data/mysql/MySQLPlayerDataManager.java index d55985c2..57d0e913 100644 --- a/src/main/java/net/Indyuce/mmocore/manager/data/mysql/MySQLPlayerDataManager.java +++ b/src/main/java/net/Indyuce/mmocore/manager/data/mysql/MySQLPlayerDataManager.java @@ -1,6 +1,5 @@ package net.Indyuce.mmocore.manager.data.mysql; -import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import java.util.Collection; @@ -36,74 +35,87 @@ public class MySQLPlayerDataManager extends PlayerDataManager { @Override public void loadData(PlayerData data) { try { - ResultSet result = provider.getResultAsync("SELECT * FROM mmocore_playerdata WHERE uuid = '" + data.getUniqueId() + "';").get(); - if (!result.first()) { - data.setLevel(getDefaultData().getLevel()); - data.setClassPoints(getDefaultData().getClassPoints()); - data.setSkillPoints(getDefaultData().getSkillPoints()); - data.setAttributePoints(getDefaultData().getAttributePoints()); - data.setAttributeReallocationPoints(getDefaultData().getAttributeReallocationPoints()); - data.setExperience(0); - data.setMana(data.getStats().getStat(StatType.MAX_MANA)); - data.setStamina(data.getStats().getStat(StatType.MAX_STAMINA)); - data.setStellium(data.getStats().getStat(StatType.MAX_STELLIUM)); - data.getQuestData().updateBossBar(); + provider.getResultAsync("SELECT * FROM mmocore_playerdata WHERE uuid = '" + data.getUniqueId() + "';", + (result) -> { + try { + if (!result.first()) { + data.setLevel(getDefaultData().getLevel()); + data.setClassPoints(getDefaultData().getClassPoints()); + data.setSkillPoints(getDefaultData().getSkillPoints()); + data.setAttributePoints(getDefaultData().getAttributePoints()); + data.setAttributeReallocationPoints(getDefaultData().getAttributeReallocationPoints()); + data.setExperience(0); + data.setMana(data.getStats().getStat(StatType.MAX_MANA)); + data.setStamina(data.getStats().getStat(StatType.MAX_STAMINA)); + data.setStellium(data.getStats().getStat(StatType.MAX_STELLIUM)); + data.getQuestData().updateBossBar(); - return; - } + return; + } - data.setClassPoints(result.getInt("class_points")); - data.setSkillPoints(result.getInt("skill_points")); - data.setAttributePoints(result.getInt("attribute_points")); - data.setAttributeReallocationPoints(result.getInt("attribute_realloc_points")); - data.setLevel(result.getInt("level")); - data.setExperience(result.getInt("experience")); - if (!isEmpty(result.getString("class"))) - data.setClass(MMOCore.plugin.classManager.get(result.getString("class"))); - data.setMana(data.getStats().getStat(StatType.MAX_MANA)); - data.setStamina(data.getStats().getStat(StatType.MAX_STAMINA)); - data.setStellium(data.getStats().getStat(StatType.MAX_STELLIUM)); - if (!isEmpty(result.getString("guild"))) - data.setGuild(MMOCore.plugin.dataProvider.getGuildManager().stillInGuild(data.getUniqueId(), result.getString("guild"))); - if (!isEmpty(result.getString("attributes"))) - data.getAttributes().load(result.getString("attributes")); - if (!isEmpty(result.getString("professions"))) - data.getCollectionSkills().load(result.getString("professions")); - if (!isEmpty(result.getString("quests"))) - data.getQuestData().load(result.getString("quests")); - data.getQuestData().updateBossBar(); - if (!isEmpty(result.getString("waypoints"))) - data.getWaypoints().addAll(getJSONArray(result.getString("waypoints"))); - if (!isEmpty(result.getString("friends"))) - getJSONArray(result.getString("friends")).forEach(str -> data.getFriends().add(UUID.fromString(str))); - if (!isEmpty(result.getString("skills"))) { - JsonObject object = MMOLib.plugin.getJson().parse(result.getString("skills"), JsonObject.class); - for (Entry entry : object.entrySet()) - data.setSkillLevel(entry.getKey(), entry.getValue().getAsInt()); - } - if (!isEmpty(result.getString("bound_skills"))) - for (String skill : getJSONArray(result.getString("bound_skills"))) - if (data.getProfess().hasSkill(skill)) - data.getBoundSkills().add(data.getProfess().getSkill(skill)); - if (!isEmpty(result.getString("class_info"))) { - JsonObject object = MMOLib.plugin.getJson().parse(result.getString("class_info"), JsonObject.class); - for (Entry entry : object.entrySet()) { - try { - PlayerClass profess = MMOCore.plugin.classManager.get(entry.getKey()); - Validate.notNull(profess, "Could not find class '" + entry.getKey() + "'"); - data.applyClassInfo(profess, new SavedClassInformation(entry.getValue().getAsJsonObject())); - } catch (IllegalArgumentException exception) { - MMOCore.log(Level.WARNING, "Could not load class info '" + entry.getKey() + "': " + exception.getMessage()); - } - } - } - } catch (SQLException | InterruptedException | ExecutionException e) { + data.setClassPoints(result.getInt("class_points")); + data.setSkillPoints(result.getInt("skill_points")); + data.setAttributePoints(result.getInt("attribute_points")); + data.setAttributeReallocationPoints(result.getInt("attribute_realloc_points")); + data.setLevel(result.getInt("level")); + data.setExperience(result.getInt("experience")); + if (!isEmpty(result.getString("class"))) + data.setClass(MMOCore.plugin.classManager.get(result.getString("class"))); + data.setMana(data.getStats().getStat(StatType.MAX_MANA)); + data.setStamina(data.getStats().getStat(StatType.MAX_STAMINA)); + data.setStellium(data.getStats().getStat(StatType.MAX_STELLIUM)); + if (!isEmpty(result.getString("guild"))) + data.setGuild(MMOCore.plugin.dataProvider.getGuildManager() + .stillInGuild(data.getUniqueId(), result.getString("guild"))); + if (!isEmpty(result.getString("attributes"))) + data.getAttributes().load(result.getString("attributes")); + if (!isEmpty(result.getString("professions"))) + data.getCollectionSkills().load(result.getString("professions")); + if (!isEmpty(result.getString("quests"))) + data.getQuestData().load(result.getString("quests")); + data.getQuestData().updateBossBar(); + if (!isEmpty(result.getString("waypoints"))) + data.getWaypoints().addAll(getJSONArray(result.getString("waypoints"))); + if (!isEmpty(result.getString("friends"))) + getJSONArray(result.getString("friends")) + .forEach(str -> data.getFriends().add(UUID.fromString(str))); + if (!isEmpty(result.getString("skills"))) { + JsonObject object = MMOLib.plugin.getJson().parse(result.getString("skills"), + JsonObject.class); + for (Entry entry : object.entrySet()) + data.setSkillLevel(entry.getKey(), entry.getValue().getAsInt()); + } + if (!isEmpty(result.getString("bound_skills"))) + for (String skill : getJSONArray(result.getString("bound_skills"))) + if (data.getProfess().hasSkill(skill)) + data.getBoundSkills().add(data.getProfess().getSkill(skill)); + if (!isEmpty(result.getString("class_info"))) { + JsonObject object = MMOLib.plugin.getJson().parse(result.getString("class_info"), + JsonObject.class); + for (Entry entry : object.entrySet()) { + try { + PlayerClass profess = MMOCore.plugin.classManager.get(entry.getKey()); + Validate.notNull(profess, "Could not find class '" + entry.getKey() + "'"); + data.applyClassInfo(profess, + new SavedClassInformation(entry.getValue().getAsJsonObject())); + } catch (IllegalArgumentException exception) { + MMOCore.log(Level.WARNING, "Could not load class info '" + entry.getKey() + + "': " + exception.getMessage()); + } + } + } + } catch (SQLException e) { + e.printStackTrace(); + } + }).get(); + } catch (InterruptedException | ExecutionException e) { e.printStackTrace(); } } private boolean isEmpty(String s) { - return s.equalsIgnoreCase("null") || s.equalsIgnoreCase("{}") || s.equalsIgnoreCase("[]") || s.equalsIgnoreCase(""); + return s == null || s.equalsIgnoreCase("null") || s.equalsIgnoreCase("{}") || s.equalsIgnoreCase("[]") + || s.equalsIgnoreCase(""); } @Override @@ -121,8 +133,10 @@ public class MySQLPlayerDataManager extends PlayerDataManager { sql.updateData("guild", data.hasGuild() ? data.getGuild().getId() : null); sql.updateJSONArray("waypoints", data.getWaypoints()); - sql.updateJSONArray("friends", data.getFriends().stream().map(uuid -> uuid.toString()).collect(Collectors.toList())); - sql.updateJSONArray("bound_skills", data.getBoundSkills().stream().map(skill -> skill.getSkill().getId()).collect(Collectors.toList())); + sql.updateJSONArray("friends", + data.getFriends().stream().map(uuid -> uuid.toString()).collect(Collectors.toList())); + sql.updateJSONArray("bound_skills", + data.getBoundSkills().stream().map(skill -> skill.getSkill().getId()).collect(Collectors.toList())); sql.updateJSONObject("skills", data.mapSkillLevels().entrySet()); @@ -182,23 +196,29 @@ public class MySQLPlayerDataManager extends PlayerDataManager { super(uuid); try { - ResultSet result = provider.getResultAsync("SELECT * FROM mmocore_playerdata WHERE uuid = '" + uuid + "';").get(); - if (!result.first()) { - level = 0; - lastLogin = 0; - profess = MMOCore.plugin.classManager.getDefaultClass(); - friends = new ArrayList(); - } else { - level = result.getInt("level"); - lastLogin = result.getLong("last_login"); - profess = isEmpty(result.getString("class")) ? MMOCore.plugin.classManager.getDefaultClass() - : MMOCore.plugin.classManager.get(result.getString("class")); - if (!isEmpty(result.getString("friends"))) - getJSONArray(result.getString("friends")).forEach(str -> friends.add(UUID.fromString(str))); - else - friends = new ArrayList(); - } - } catch (SQLException | InterruptedException | ExecutionException e) { + provider.getResultAsync("SELECT * FROM mmocore_playerdata WHERE uuid = '" + uuid + "';", (result) -> { + try { + if (!result.first()) { + level = 0; + lastLogin = 0; + profess = MMOCore.plugin.classManager.getDefaultClass(); + friends = new ArrayList(); + } else { + level = result.getInt("level"); + lastLogin = result.getLong("last_login"); + profess = isEmpty(result.getString("class")) ? MMOCore.plugin.classManager.getDefaultClass() + : MMOCore.plugin.classManager.get(result.getString("class")); + if (!isEmpty(result.getString("friends"))) + getJSONArray(result.getString("friends")) + .forEach(str -> friends.add(UUID.fromString(str))); + else + friends = new ArrayList(); + } + } catch (SQLException e) { + e.printStackTrace(); + } + }).get(); + } catch (InterruptedException | ExecutionException e) { e.printStackTrace(); } } diff --git a/src/main/java/net/Indyuce/mmocore/manager/data/yaml/YAMLDataProvider.java b/src/main/java/net/Indyuce/mmocore/manager/data/yaml/YAMLDataProvider.java index bcf89817..4c615c30 100644 --- a/src/main/java/net/Indyuce/mmocore/manager/data/yaml/YAMLDataProvider.java +++ b/src/main/java/net/Indyuce/mmocore/manager/data/yaml/YAMLDataProvider.java @@ -17,4 +17,7 @@ public class YAMLDataProvider implements DataProvider { public GuildDataManager getGuildManager() { return guildManager; } + + @Override + public void close() {} }