From 44972f8465872506c7a86a0c5ec63dc98a40ec5b Mon Sep 17 00:00:00 2001 From: wolf Date: Fri, 28 Mar 2025 19:26:01 -0500 Subject: [PATCH] Made shield look cool --- .../8.8/executionHistory/executionHistory.bin | Bin 267875 -> 267875 bytes .../executionHistory/executionHistory.lock | Bin 17 -> 17 bytes .gradle/8.8/fileHashes/fileHashes.bin | Bin 27147 -> 27497 bytes .gradle/8.8/fileHashes/fileHashes.lock | Bin 17 -> 17 bytes .../8.8/fileHashes/resourceHashesCache.bin | Bin 24957 -> 26453 bytes .../buildOutputCleanup.lock | Bin 17 -> 17 bytes .../compileJava/previous-compilation-data.bin | Bin 62942 -> 63121 bytes .../java/me/trouper/armorsmp/data/Unique.java | 68 +++++++++---- .../me/trouper/armorsmp/data/io/Config.java | 2 + .../server/commands/AbilityCommand.java | 3 +- .../server/commands/AdminCommand.java | 95 ++++++++++++++---- .../armorsmp/server/events/JoinEvent.java | 7 +- .../armorsmp/server/systems/ArmorBackend.java | 1 - .../server/systems/UniquesBackend.java | 37 ++++++- .../me/trouper/armorsmp/utils/Display.java | 19 ++++ .../me/trouper/armorsmp/utils/Verbose.java | 17 +++- .../me/trouper/armorsmp/utils/WorldUtils.java | 18 +++- 17 files changed, 215 insertions(+), 52 deletions(-) diff --git a/.gradle/8.8/executionHistory/executionHistory.bin b/.gradle/8.8/executionHistory/executionHistory.bin index ea62791138e20e6ead1d45ccff7faeaa516b2b32..71f9e9734ca03f4afa0ce8e34b413fd160479c45 100644 GIT binary patch delta 3073 zcmaJ@dpuO>8~48FV7f48revaFx{Op(O`;O3(AKg@N<|_J<1)qwwRS(Hn`*nzyS${_ zeljVAY>ll}wQ9R3x=hj(-7i9yUuh-3a|Wr|&*%5Y`Fx(s_xn80`@H8o&v{rvJuIQh zD&1!ZeY3--1cl3D5>~|~gszkZCk9VmZW|IO6NwUIsiY?!2f~P%b-BY*eq61XyW8zw z7M&7QJIAOZufURolTM+a15OqF6&3)gylqg(J~__61xKT{A`{fM-x$|if&Ed({F&ex z4fI9U#h##^k#r?70PIFVi%r2xMz@s2_&di)#ged5J`!1+b#PQrTpU3~L}$gWU+KH7 z(dpt-9=W3e9KxJ`h!F$60)3Njc7U2Ciwtje4BOJsfs8_mKx5_`Y9^&#wZHihNbP#iHLOycx=Yx0O5R8WQ zH1xn>Nfza!Ql0Wo$o9Ob^aV;hNd`yZ)cL@myO_7%5LqaD=@PAAEIh6b8lboU&%RRG zNVLqN564HhmU(Jg;*G6u&|nle3j9|SnN|%^Y>*MM4{`&qznJij>u?|f%ia5ICg?n^ zcGp9**l2yQANbJ6czy$NQDBI-=HfJY3`hPDBayl$gi2TRHvZ@80YUrH9&T6^rG?8o@Sao_T8TG=56DN^bt6J zGQme)5iH#3NU*zaTg4>>c)U&x7{UK4&|DdICU@4 z6Of0$t*Olm?=aLO_WjKEKRZ6S!M|Q(H5B{ zvMQZ~-pIzFjirv9H_sZr(>cL)XfzVMjmi=v9YY+&xSeHe&NZEMWn<>5I?h!7CaaOY z1(mczh>vZizh17~xdN4$0)bGRXX9WmkUJ*YT9;Z>HC`&%-J%w4c{7j%Iy%CT(261Q zvsO-`?C=#+;v$xZ*oH~N>{f(`#gWm8kz$#hBw`hH=Um6@&WlEEicU{`hu~XXYjpo* zsxZkd1E3ns>zZIA4~>h7mj{Q&`OBi>!z5DcRnbud<^0mKzJwP$E$P>c(v>xB>%gyl zUQmfnf3`OHLZq&=FF1BrwYOcdTGzz=lz0$A`6EEju?^AZd^7U*)cj{iP%sR9w~kwo z!Yu&w1C`tYVy%JG_y2Df*gR<7ZD&)s$Exd{V5Ieo!c2Wi+k}JGL04tqIvA>lf15{` zfEF~oYBD}{046E7Z-I>hy1Tq?qmnk-4~P7l^vUNS!M=X@NINkNCtra9c*#dv;$4LS zRFL!X7wtC96F*$BTx|TvGmd#(OmXW+!Vs5Ug-fs^otT0hYv3|GH-ngtRW;C$s`S!P z3>wWVOqp~2k?P&Hg?M5#G{tMm!2le74N58g2DhANgIA3YSFcOwKcKe~{UJ=l=Cv@2 z`T%oI%U{knTkmtO-u)}$`p%;#+h5ax)i&%s=)WLboC}t^{!3S{p9on6v zg8J!cyd7_-)*{0gg!Zq2_8vVU)o>gQ!)R@ zh)cfBXWVwaz~z-dh@I+T5^m2YTr=*#NPM(_n9bB0&5dkX?{dG|jVP6$i}%k`y`-mp znlZG+;s&^sYH=6%)uyCA4ozl_4X)~3iBJ0hOWe@_o2j28QwB;;Ox}D#G(J7?YSLN^ zmeMYBH4LN*bI7{tfvW?>({m?8|D7Yjf+E5SA6G*girXbL3+#M;eM45l^lj%kZMf+; z%^H0VCXfeT9Bsz=_aGlXGaxB)&r4eUWI*zrv=@B=?NN(T&B3@u0v_B^Fj>{ zv++FzF^oLUg#WA{#*-fzX~I6jn*4{6g7y(Y-ws+*i<%4x9crj!azxqFj4+mBXJN*T z3u$26*Xvq`(q7kCljh1MKy$r{&T`4T=L=3&n>@H|oUDT>7h)lyGlS(q0Cq1XgybJI6t}U-v8E?Aq+M2YmMaG4J3@|DIe&0%t-M*V@;yH7LQEvj zFwmA_LV!0@q$TUJ2467-PilffvW{^&xDrEg2Sqoxo>AExava&fNRAwG0(qa2VmYL- zvG!hkN_*6z+c=j)TIj#fC~EwAKViXorBN=jao|ZX3=iRwl<8}YDQ^f}r>SH1lOgY{ zt9H%KOq>1muK+xgOAcop)EsdC2z>1%FdwYF=G4rU?BSAQ$oGuYdVm;9HZc;vgc#EmHX7meq8llAGyV*Gh;H@7H;s7FL@r{3)S}Hu?Q$M&vIU-go@+xqr{rlXH$UNpEgLVcLv8?5wgS zcv3JJqwIJD!-2Vl{Y=H50Xg@6sWIM^Y~PvEs_A&zD}vcoVjskrKLw@AN$glkjKeNN HNb~;zTr^Fh delta 2737 zcmaKtdsNd$7RR06{6Y{*@=FK-AqetP9*P7hvK9diN(%?Xf>NzQc!($ok4W*+BdEu> zRdjT(6i~4WqTmB+1GT%#wzAb$0a4V}2dr<`D(U4N06k00#ZKXeRRi!B}zOTBUD0~X4``#7zgq>fKmr29EYt))yLtG z8)A+*5o6)x9-o<`8=IP?*6A?!?Zk_5%=yiVQpc0NN#ZNcB(B;Q-8WC6pef2A{15Di zUYc_!@>POFhPm?BvCGaUyx&&eRTs2iRor!SgcrM#>V#o$nR0@;e_-M8{=ADVE|s#` z(q)?-rrtWw;E|}B-{oduSnf9ES-BItkP|aQ&?^(7=W{0|vqU6iRs?$eHjYgc6Z^!e z=(#!eAWeyr(KB=807b`<(5~N0c32V{3L%22L>d|nUBD@Xb00f8G#gYLso@Vidx3xUYw$f{?EET zUyxj;+lv6(8x+jn%r|b`g>8+-x+UCNzZRzH^^ryP|D1BRnLJAx0lYwHaNcCTFSZ2B z$mO{)Z$}e`k_2zVA;&u^ahB zZA;wLQK-*c?FOAv<~{POI(jfK&ZB%sN;G41%Ljq!m=%%O)EMT>K}x{PqM=SaC5iC^GhIuZr$5O$5RHWu#idY@*I z?;h{1KMjAHd&d0%pmthuaRchF-0A-8{6^B5DIwLFk>=6-N%F!N)3qDIcTU1$;=D-6 zY3ja>@7Ne_U2yfBf9Tl@KR`tQc7m;q$c`=x&|PC$XdiJPIkgJ(Z!_XX3bO>{U$qla zj~R6&3XOz3$qGfLmq&LylC32IvPly%5COsuU^n9-b)koXPj32PE>>X0?xaSx`Z8Ud?)qs88IqeYC zdmwbiqoEF_rFV>xf(ln;@@^iZrNVW!V&6K&K16?vUa=1^u?{=;|Nfqim930ee^!>} zzbLu2?6c_NcFYY%pkB>H=v|`l#7M^JHgwHIGof`6BL?B`H~?~vpe)$+I}U~~#^Efz z#ZG(=i6`%0D-(Y9V8L~`boVbK-Xj$nyX^@AzL5?C+W`EzemCGK45|WV9&j^}C7G=j z!%)P=fKMKi&i4ln_OvropuBKiv=46$%)ifkdO_AR$FE%SK(dy`HL-oZ{1S&qfhUO<>TOZ1M=XXp+sL)fqM`q z*WHTnT%x#AT_W15n(a$y`*hONhtiB-cNnhZu5*otw?BSZ)ZKR?=zji_v*1#Rv$>P9 zn;Ws;1m@a?uDpjn=e?opBr1oT$(Um=-g=?F~S4Hjt(f(&ykeNO*+G#Cd$Kp^ z48E$y)7Vaa#Bpq-HI0_5oF6&YV*A3uUF=-L4VvcrVKin- zb>_ofrRX1xD|)XU>D)h+B1hMwR)?1^>$$VScD2=ibyA9Y<>J2Z_9c)0WVicJ;C)*! zik5#-nA)20>#E*$_}t@2iH4$tz!8 G^Zx+Ysc0Gi diff --git a/.gradle/8.8/executionHistory/executionHistory.lock b/.gradle/8.8/executionHistory/executionHistory.lock index c821e113fb8adee4471dfb1e8c84f3579ebbc328..bf8b0e4f0777be38a326dd618bfa1d9beebfc20f 100644 GIT binary patch literal 17 UcmZSP%UL8YayH460SuTj03r_qEdT%j literal 17 VcmZSP%UL8YayH460Sp+w0{|kN1G@kK diff --git a/.gradle/8.8/fileHashes/fileHashes.bin b/.gradle/8.8/fileHashes/fileHashes.bin index fa77287113e5f02b3ced80842c113e51a7ff07fd..2f68423300e626c8a137d60b14c81ef05c5d0201 100644 GIT binary patch delta 2208 zcmZvdeKeF=9LG&F42EXBw5E|f7Go)+HZNI?4b{;W;;=(`i6x_2%I>5#&g{qzC2ZZr zNQ)_*%;8Py&kM(Ga3k`F5t4iX2joL6{j5RuOXCN(88Wzq-?7gXbj;e5{)#F=a59t zIGtLix{yV*{Q^`DxuiLn&7T&sbstdWKK@num|b32oY@gQ!Q-(G!4A3kOC23j;Yg;0 zhBK5dKn<=53AHOd=*e{{5w~>?aPqB`glIV~GBkpB&IWjKgw;k}8TQlV*HWC{Y$A^~ zUFop->7tq#C7X=HkFZ$U0aC~*%4lATGZ5`$fy*IpKw*G6WmL(i2lW9gEHTnPs^5BF zm5e36LB=MX5w7p+kK-H%&=SCgc&jcL4`79`y?m-WqszuJ`Ym!qUQ5|Xtz^vN>cung zt`VN!%b=k;=3&p{xkZgf`(K?P2DAbvmPtWIAoSPwcLmjf9PlJ`HD6-Ax<$R+RPBF?LOl>Nn+~ zGfvpbwTVrClpYgub;(<^oto~fX`6t%9i3n^93dxbBX29D*zT+=io~($jxjS63xY7m z3CgfGk-EzAMOtuFkA+!L&h+vsOihf6pD*DABVkb+xwJAt;p@WlS$KB&<68HR77!vx zCz77g|161Zkwv6ly$rigdyo7~!W=v%o*R~4NSNKnyb41^OD0^ zM|m+5oBO7ilma+iFwVS|3!r>23p*4oPAQ9TuBxn@>66k6?1+z*xE-|^tV~oVl@>4H zm&j2+90LOU;VV#`$PvPpz5i+obkzIj@2J#w3HFUE;20osI0x8$Mh zuh|Aurd`g#sMvafsKW`e8LIQQ;rj%t-r2BN zI)LtYHQGu7XLdvNgN`Q(#zt{;%%h!2C0rSYVr~VmgWHNBVL_Ks3Lfm0dRH-+gE*NWny3H(lw)MXVc{4ChVjGQ| rI`$lSEHf$t!+f@SN!xK#+I?^_3C-hOa4(6&fM3+d85XK8ym0;j->r^( delta 2287 zcmZveeKb^Q9LMi4L|z($8AOe@A=|1YiWNx-F_^OBr3^ya^}6M?mr1LUm1v)mytO17 zM%J()97-uK5eJPnQkW%4N1T$h`^>$wf9%}-opYb(o-^Oi_xHQM=ehTp=^;Y;0O9v7 z8iYzS>q}ZIOZH6G(JOcuGalXt={}(RgJw5$yw`Kj<`&M>JAky?GFxFuj>JNax{Fx{iZ`lEoU9~_N^AnA6 z;6jjw<0i`v2dQQ1mCL%QtB~u55hPP!;Y%k9`X~p13PTG#bW?+Ps~dRXrp1X^cy`o> zr(DQY{;))6NmYu`91MN`63(XPaM%DZ=!@u*a@xs_Zj+=fW1TEB-v0Vhl$dB)fB1i7%i&j_f+TRmY_-M>olMe1`)PalCXL*5i?Cy3t$V0jS+#6)8YKgs?d$$Upz{}bK=TAj1aCZ!5r)~o z>)=gV5`7}J@>p8V14b2v6gBZ&BpPDZ+F&9%eW2sNi|L@hy=306=KSb}-BuBm-KwaQ z(7;+OqQP0B@0PZ4kLV>?{>d(%9%?sKm!m}PF7Z1d(*cSCRXOz4{MfrGK?HpQnb9-` z-QauEnWKccO3&b3EBf`KJe(6xe6yR?WUb7;jS@^=0!GMq;E8K{%L+3u@C!8hBl8o- zcVIcj)4vrFa5?qhMw2XE7-~&xi+(rku`66VF1275O(OVyL4+WPG!qUI4?D;=Key!9 z^_cir&(N?g7(OK2WcAT`D1Z>#@Whb^hXPDEgy$<(yw^h`M%hDXl6V6ihR7-45tpa0 zmliknc6V->p4sGFen3RPg|f#81x-9*Jj1tdm)UcA-Aqg#=h??>}6U@fJRoMAHFJe79}EeP>b#IsLPH75`AhDKRk&t_5h(WVt70 z6-Ip2{ z$rt_R=i=S-G*1sWS&4}vjF6fGF-KH6`2~5!-1xIAyvnY%(b4~w1-}@gAnL(E!nNra zJEc;emm59ptk;@{4mFEiucH7WD_Tqmg8z)8_W{)UcU;fSvRd#A6%&IZ0`4vIOL(O0 zMa3Jvoa~zH2HyhSEyPibz#~HxMz9JT`1lq!7j4-Z)vqV{L z3?G-BfDyDt^sSczfkCFC8)eYzjowfJ!ADC&t5Us=Kl#!0UQ_DCi{GN+G22#s@X|{Q z7>2=fqK`rW+rzXtPRo;{Otx3p$eAjno1cN5ZbI&EtN>*Td;wm;zhX`?u(JD7_yp@*whEbwV?Qe{blfx6qNqbcPd}kO$yP(W< z3nm@G2zBuv12Q0ose(jb^x$>@7ky1_VJr7xcFM=_b}P-3KtXW(J@r+1sKeNm2F#8k NE}6Je!wRV-{sXWLmR$e< diff --git a/.gradle/8.8/fileHashes/fileHashes.lock b/.gradle/8.8/fileHashes/fileHashes.lock index 863398f46bcee226c6702a213035cf2216c1e118..182eb95e35c3a5c4ef8bf5dc4ea95ccd1f4cb96a 100644 GIT binary patch literal 17 VcmZSHRrQ78AlK>b3}C>O4*)p41o8j? literal 17 VcmZSHRrQ78AlK>b3}C>a0{}R61g!u7 diff --git a/.gradle/8.8/fileHashes/resourceHashesCache.bin b/.gradle/8.8/fileHashes/resourceHashesCache.bin index b0610681bfabc59b2a63120f81aee99692fb05ad..da2c5a1a9ff94fe2f8e687e1dac35b0ce572fa14 100644 GIT binary patch delta 1923 zcmZXU4>Xf&9LJ4>PVQb;#WLF7TAL|Nwz?{dT&9CI7e$C|HcEAGbsZHN$;Dx}<)Pwc ztKGWYIF3I{iq>jsqQ^y1#1htKr)yECT_!Z$x?N*aPQZ zZRY;-M+`QZ<=D6AdxRMYV?oN2RLYP% zWZ=6%#uJJ`p*#^a@ER8hTDS5CcvIj0qt7+CW?^|%|+ooprSNGiI1eI z^pVrH2;@Eo8IAgNwYOp zc=~R@0d@opsH0#Yihu!5+s{S7t51)nUYx7s^!SABJp#A2z0?LcxN0vrZMV{O$UehQ z`f9omebTA$cgHdf%T{H}AcEG?a5(W+0dwM7gSX>ym?SLWYJ0;3s zMNl<-XWQUSzr21B9=TN%Oe@cIYpQVX4jm(_hQ^>XQ}W@_!Vb~P`lAA?0^P}lWQep+$g;*hX-@dqU9PJ# zy)X43t$zDO`C`=h(n;LbkQ7PxXR#SX?=&=mZYXat_sxH{sVFTWzC2iBXmGuF{S)*- z+IR~k%;p9AfNuO*tC@S&-RHeqvgCJ`XTVE~E~TL{VVp4Ol16=9y2kaw{m5xAL&J9f zW`5ZIl-9wYuEi*ej@(@^2rbxJp~0_C+^t`xEPnqNVs zpS6gu9@$c?3bOW$UFLGQO?ME@ntpP8=KQ_2uGzJ#R~96;Ch2zIEaP=1W1ZWlx1Oq+ zp1w`=6S`ApmO&|OKThswe6d+w7W&j_Og>|PoG=R!16=ZDi}C&;&38i<4LHrb)&EOo zhHFZt!*}AXGm73gFP+oYIA0VkTqj$#=ay7=^3Pi8xUsZh|3Hw# OvEU|)k;8l0I^#cr{f0&W delta 165 zcmV;W09yam&H??x0kAX}0lt%E7GfGtZpQOb=_VYgr7|^|qP^>!UL z=J%=`Y0DWbKZB)9O+!Md6uK*Bf)U&UjVWmI2ACKjP4r68EjKt z{arce&)Qeyjs-TRR3AbN*J*%JIx={DSFZ?_M-#ymzCa-rtQMh`gBG+8H(80oPlqEpn;v{k5jlt_IU-Ryt-{qs0Yuf2wdTwRf}z0=p01LtmiM08kF>FMS|pZk72@Rv&f&F-3fDL&mJV`8 zLbN)ys|ylBizoSN`j^T;kF3`t!nWI%`92f7N|k1#+>j8Z!r(EMoOaaWPp68cah7od zj`rIUJLKJ0g`rW(5C1PP_cNIyN2lz5(uWcb&pj zX+T1iu1cl170L1(d3EZpp4n%P{b4&W_5KcD2c{nqYLsJg`x-CJ+48NXI{%QTxkDPN z{Ke}`CuydUcB#sel<$+5Sv2G?yTJK+Ai!+B!+4FUP|YM%FF#vI>hx5;L+Yzu0-6{T2&h5!uD4#+}gUN!zFm@2(XmI$=ke_N+Q)))R(G!%_LD zsbfinmj$Qt{tM2&8?nX2)_s)`=;BD!k_i_OUw>WE`MFvDOe7wEu6V6bABD=I(M8)( zYCB5Bpj0eM#i7&=l!`|w(M}Wzb5|KWe4P_eBuZsi4S*=8|6%i;VABr$g1VbWFWH-7nmA;ACgCe17 zt+PUnBIr_ND9W2ax;uCd^p}jVXRHVqhoqr)=_s`qr7}=zADpe#x$lSDoPE8#REA7= z0@VXOB@WQ%C<2r^)P!_!8n|kNtGkcHJPftAwZ|uTs(t;DaVSoD!nx>BJWYIVc2RkaD-J390(>@4aXqdIqptABj5;ISL6t4ol7qz@=zpP>!L8Iv>Fui^#_oT zqIUTxb&N))FHwLZkxCtqL{Be3P!c(gN()hG5h^}`niZqclPGnHzBUsjPQ$fE*h}C+ z;SI*96h#69PNP;pqd8$Hat4)_p^M5Hu98EJNK9Im#jzI1C(N zjji|xIfu&5qmm0KRYe1P5n%o4Q;2?-Xe2ejI~2jmfvY6;hy(0jfK;Q>8dOq?T3$w} zEA%B-0R@$YwrE;i0C5dO?%xmBf!k^@di2Fk$PH9{6P4UTsoOO6cYxn;mk)Rzz+6w< zg;W0fSO;+Xs?^5InIwI8Ju1D2n$@EBfurCrf1LOLl{KK2jVSeyhW;u_%zp$o8o(`} zTyl=5laK!hb6cj`HxONeJVx!B(8alEGaT*arUtup07Wr!73S%WJVEWAqKjHk>KRHs zr;lni(#_XhrFj7ddMf-B#7nps{%r%QsOcX7rH#l;ApCR?&R3}PHEPz5+MPrXpl&p9 zuE-nI`YkGXhf*Chr$-a-VJEmPt@j6@vI?v&SkC`nX8eIO?rI-%SD^AoRN9G3yHN2b zR8ow726(jI&ak}{HL@F>gZzUsfQ_geIgg^q4870{%T@D<%!Z?90(0jCP4W3V+QHe1b7) z2xb|IS%hJ-ax@%6g8daf5%3R)epyZ&F|WnMQ`EQh1 z+XDp)F=-KIc>*&lN0%5cwnd6DyIk}nfUVFOR4!mrjdy#3QFAx9rDaTwGD&wISIj>E zIfY42W8xyT1mIL_e`xF+#218SjuTiwb6d=F98!u&&tT#%So8yq0F*Vs-C>}=Js3!m zW+PIDNy{;+0s|E~iy_;T8W#_R#^4RK))SQ&67|2&D5myBkbx+lbm;Hny9%zbcSVqM znB92{oCat)JQ$D}tf({%JE%{Zmv7I53mP3dB|ZN%Ky6^t}k zQsfRMKabso?^NEPrXYq$9VV{FsCzVS_hFMWO(voQLop|~xc7j;G%OTld*4VYCU zX7&)XOGUv$8#h0~EFWWbjbI%B5*F#HcJenzkS5H&5#5KO=m-R9#%yxYCp5P}$iNMv z9JLeZK_EI}4T3zy#JOk-+-h`UD4Sfc)YEsBHG(|DB+oHJ_amuYo*nTAjDTKnyto(D#R3PDWa`WA<+_v$vS!9Y%Fv;Md;+ z$8?GS1IWBmrw0SJ>;q`ezh4+{`iRML(N0>peKoGeZ@NHEG3#{nGeE2IgSZ3WpkeC9 zqPL~=F`=dn%<+!Vb%l_B550JCx(rB{F~r!g$k(fKHIj+419f}}HS z_A)Fp7}P!nc*Fg0v9}U3%=wvsD?Ff>4~WqLhW&Z$AW#ELw$@v<9weLLuoMJfj*)6v z3}9w9fMU!qQKo|@5CTEWjXz3^|FuT>av%~dnP96CZ+vfzI^7ntKs7u;Ab4S_ZNW+z^2MBWom2Crq9FBxH?c z$$*C=z5Y4Yc$p!&!T`m-%0QxZ3XNV3J0UDi!^jiAvGg-ku8+E0b zUjO931#YDO!=m@sQ|1q}>Y3cXbJ)B?KBK;7)TsQ4pawpZaOe1{#u>aTY#R9ZMB+rKpj7Y z+E>{Dpsw{*sEPM9?+qW|qeA1Z{0M04wBDU?yH>9t;uq4?Q|q z*2OUY#IQ`jKEoP1CIF&z!!EVLog7#8d0RtO{zr7;&6UdfmRnyK(jJDzR|fTsL49XX zTbR^VCd4X%Owdr*)zgBQbZP>(DubC|m3&ko@B?^F0}%=j5bWrz$gA&0p7e=v{OVU7 z#hz@_IWdeWtH;7&xyoHb7TY!aRnR?u>7owNYrAS;-w38Sk|~N}+D9|x+nCgLCKbb^ zVws?qaZDr{ibUYh^m>K6at9n>P`Jl4kqDhquT{fU#7-s>q;OAQ0_T2yQ-_j;ZdY%o z@(=&LaArxm^QhlHB{J=HG3}F>R5BB!C51`Lx{H^d*!^Rhug*o8O5@_ zXu0LCQhdpsw*&St#c51QI@4?~Y-NJD?qed`X$7G(0b@)?n51EF=clia-gqhMt38r8 z_vvLlg51xP=b~2`q+8sIyo-WdE8n_?VuV z`~ytsL8klynnfezoDGnzQ@Z#9n@FM6z1*UuR%=faHZhCuzn^}HNgZZVIZWyZlgb6K z0g^o6iMv+ou2#Nf90l?iQ#}a2^O?vt8dV_Pc$LOYOV&4*+nT!cypO-(zJ^@2zvmd! zvVdvch#rRne03Udo7Ye>F)4Lq`27p16$cHc9<>dtE@aA!n4%L*>tZH2^^-J!no~40 z^#%ek*=NZO960lIPhZ{IuzwQ$2A*bGmoPyYO5w~O>O_!Lr?&JeUgEoP`P~k+PvLv+ z8G1n(O@3NEC#%TFSv`Hezngz+=x-CvZ_FJ0YdKR|!KBVIsY)8pb0AsnkaC{~+`v02 z0a7(_fu@m*+81&za(RQ)fo1z-ec6>wCRw#j>#CUIi%iiarhPTju7+t}%cL$dA?m*J zQ*>yK1NT#zS7{jOI-Y?59!3yUl!xV4L!=>Y6~Day)@w}hb*AVBQ*x6jzr_^aX4>9i zN)xfubdZ#W(K`hBFEP{H(3W+b&zb$>W#xC7;yR{dJ=5|Y)A~M>dcdR_nBd(S0e(Ml z`ws!+pZ*up>}zNc1I}2VZ;lRIR(<0Pf6%P{%LOfuXxcpfk2Y@PpJ)5p*kr7;KX&}D zD`RS_XEiaYW+wH7Nj+s!Ellbe6AZ|6<9anz4VA5clR|0mQ0iU)lk`5SmrNuQN*5X< zt=r&N$gj1&hI}TuYrlEfqhkXf28OBgr={2vub7h8OsbtpyOta*Q+A@oi!9vNz{aE7N|dFMCe|{^38sUCDVSx1xVd9^ApmshD!>!sv}3 znX*pi!Y(HDiAjB?Rk0f&bEnfv+8%v@50KXRy3pwl(L;-|@fW4*S9t#S2eSOzyeqSM zJ^6Gs$aQa5@aVVSn3ms}5Q%QV!CmTAE?aRVQbV6Z2l1qPpFVDP!KqN33d12j=7+;p14Ma51Ux8w)dnJx{s!V&a^e!an7i!K`Y%O6=c3=7 zHbmhz4;j%o1eFGzYTXo97joq2v)*j?X>RMx3)<#pEjYFfU%VX`#o&@yToQ*$ zhf(4>8jpiFRjZw8&w2$Twf=j@ypxUTno?-_+m~7DsGYb?0xr&AB;w!-fmymt2H8A$ zOhfrEOV8q>N?dXdm!HSQ7jWAuT%3rNU_W%<`67+Bp11_m*J^dH zDh)^rZ4JM^8FEK}P}PqrSDoux4Urit6IXX`&(7H*wor_>$YW{0>gt#i=@+st0`N zYR|fRa0ZBt7Niye%l)(*9K!F@TygQz&}V%Ls&P1F`8v#P%Q3~AxpQYez-`W>4SUYi5*zO&-2WuK}>xZ;*5RZP!2p!3hJ*O2-DX3{gjGZ=c|HPjRXR2VH-LBiq4eOcetbjr{2^1N*Kfkpr_VV=|W!E?Q`4z z*VA`io4RM_U!2DKh?_mcJAra49T-QTn?gb<*d%kgn89#OsSBa=C$3p-7O&0au022bxx2V~1UNtJ%JM@nz!Djhw}ozTu0%pvXDSGa&pd9 zix&x!^7|c4J7c#UcM4?5gIIRKEGmQr)C^@o?5@+gsnnpdXc&Bg&KTHDJ-IW8WBs%b zUU}|fP2%%Aj@IEUX)!Z`1#m*ijO;fqWo_Eoe-?b}{{^2=Xd#GXQBf=^ngw2D8?4c* z^uF8SUw!?ptX{sa8s9%9W*5sQ zi6u*B$ubxzEF{twyp@Ye>#N@lM;es=U;>AlMZI}dmNRMHfSs>0zNB4FWy$uiOiwV% z8Id^IT=RMM3Tp=^()1tk5fo zEFiPmsCL=#6;NA$hy_I&)aS7zM_Eq!Eb17GDxjHloMjY!=*+p#~zld#wBL3`G~RA*uVV`r@7K{|q1J zk~`=7s|WN|4gX!`O155EVcLKHjbZu#r|B}*&5TBtjo(ZugX$tOLx{ zEb7Q>hvr8t>&Glf6N_qQQBPP95IhC6Xpf}SwSXS!)oxQgA)Gcl5<{5sc`>hz|N@Iw~eNJnX%B zuRLjHjCV#sYt<0+J5%oej*0 zVM7E3c4lw-IEDL$;;E&cIj;CUN)7%hMvJbHuN0VDIh5}`cPs& zfd1nnIOt5E2(;RjIw+&Cn|S^u*SgkB8ylbK7oQb;fK44_L&A^+2j~MdF2-Hm>KIh4l+Id(&NUA%(fE2h(_}vi zP#YifY4GU^Eor{fe$0fjVQ=FC4i4OKmYfrP~C2Z?bHgyIFgqFb`wN`5&%7L=*Zv}uwM=pAjRgJyhs$Tr=+_IxH)!|() zPcX@v=4nYK@0K}STyfL&j@R{|vut@KTXc>sZ-9CoNG+K!(;=Am{b!<^RTXv6adWn6XjRg6q9spe-&h*t24R8%abUKx*vJq&mQ3sG6&C`#~ zoMQE>aLDBTDLn0}SO&S>^2V&XlCMeqp6zd&UWng&$Tok(7CmNz!D@n|{8a`Q526|N zL;Zm?xsY1$hiF$qe4n>N8T)sie?l*NN*}KEC-Z$Pj%Ge?-!}K0Ta(3{oV6`%n`dmv zbGCUd+DbFuSLONwG*PQotLXOhOIi+GmE`uGkVh9(@1B>&M|ce%KP;h*ZTE_8mc%qk zWs>tx_j_O&(OteOs2vUbD?ju#Ti(tVyt!Whr5NqD|1xmMidO9iQ5( zV$?0$SmJ~nX?l!)W-krFyJ>={)#U9rS=gvkZNJ}e>riiawC2?pwrvkBVPAn)TFp23 zFXUv;2F3gLdQdVX`sPeOZr=?vzq7?#IM!P^R1r=D!rYhE9Sq$qo8yn(vvHg|LNYHS z1REE`kpy!@@eCq_Ll=UT?sO%!aV0e=$8Ffw&|F6U3oSP`gmUCz98ow2T7eN9AUC8z zk@UYBC8?+q`ex02RJ%{zUO4OlIy{PF6U{NrU}zw&>%P8dP1^PN(0(D;)@TIYhsPgfV~sa*Ta-(*f#w<&jTEoHkuK`d|;oI*kL7Kstc& zqjW`(F2$tzTtmD37dK|d?3^pF_5z$7={}D2eh!t%p$>4UgB&oUt!NepiG-Y4=@J0F zO(+Rub07i#`O)eS06|+h(pmXeLHXXy_K$AAPPg@x)*R;8w6Vpc{epzxU#pUC)^}yy za@7nRmcs$3a0K{bH2<&<(+ylFzX@#-R#0bRY_h z@mBZ{4R|4-=&RFfb#%^pt^Xfh7Sx%q_=zj+t2`6PB96@oj;NR;0W%CRLyD#_R%nQq zY;yF5JL#JFW?iQ?EZi1hO)Wgdam?p{)81h5eOHaj^yrjvkG~10Z|`@SBPrp4=9U6p zF1~87Ge!|os9_|I%$u3L+xFJ$Z%tuJ|F&ml*2^|$`A{8md-1xIq0BdO#-b(%N_7(wm%2u9x0d`Y$NuJf$# zUC!Ek*wf=YM}C0=g@-DdRbZ}_I>2#2P%H&FZRj)fshKAI>1&vkRe;`>glm_}E{}();c%xFn96euZOml_R^xp{~=U z&1DlefL8zcNin&oY|p%zU2~qF93+Shz+Iwma%8tS7N6O-0U)T_gPeskNu9^@yiMin zHYTS&?fLrp(x*Ed$z6_h9Y<2n5k0^lytqf}lEO6}CudK7_Dft((5HSCuCs0bT5|Y4 zXXyiuq=7>k8wK_-)HOk9u;_*-BLC;35Y=VPe&WT*~Dpwhq$Eo8v zRn987lf!Q2SU%y1pK|0a9O@Z|dd{I*IZ#)A!GSvWj{!p%0fG61OLWNcl2#F&yV6jC zwZVCGN%`S77HMPlOa00r%`s&=;@SXj{g|z#kJPyuNLiE74&GmZx=`Mi39Tt z=QtoE>3eE&vS;Q@%xy7o-Mc2G;4{apnSp>jG{B zlpIpVY}O&xVHTYjl9Jy}9>nLZ8<8QHxXJs-w-JF{`yj3?m`jClp_KTANql97!rq^C z7;;4*@gy&CVE%yIwBNt#2Y(FXnup-WnWRNT)-L}I>9Jwr&o8EpuKq2YYZt)25}7sV7V`JbyNodSXaF& z3vhOWsZP4tnGL@|0&2X__WXoJ+q~9aUE==Bt}mufD>69b5~r=qg?pawz}-TwxQHt{!Ic$r%}#Qu zQ-Bb98VKxaoM*^bf@C=$=BiVT}@cO&Ull2WSG! zuRmJw>Fn!vwopDY>jD?-a}}WI0cuJz5(c|;KHEIbx&6(Wr=y~U7rBe`SWsq`y5#JL zbUk-c?LzR&fE*o@ zDRoQ8H6d*lR#(afMaFZlSEO2cUEzW)RfB#Vwf$6t|ASjxX)*T}Mn2pd z)vMjpY?@E%al2Qx+ZNpB%I};_(Vp{*vqh8!;d&o6= z#1%ipOE44iVqk{*ptC7!Z?+URX^U0nkGaw&u6;At?g^KAN{dJf98EXZe@sg1VQ}&p zt(D%;QE|;?k`b-*oc>`ZVZCRS!m1`XD)f zu68!~jQu^=Vr?1(U!-{+KQPVl@3&RopV_zXV4r=%wR+37PQl+9nN3&jJ3wnxFrD7* z_F&ba$x~9(Oy)TYpROACo(q2b11wYcz!ai88FM=6PA~7JHXdz>Pd}}*t#|`1LzXb^ z^mEV4e;o_jxG?5$(nqdsC)X~M)de;LVh5P)(5YNL0cRnZ(STth%e}^jE|_iBzIfq3 z=P7YzM}WU%1j9u0?*5) zL7IKq@%FCk(9w>0Yd)xPy?G$dK8Uw47Y*h?K<%x(&mvb}ooct?+qBnF+da2z){dM1 ziA9c;Y!!V^HUF}xu~_*1ozK${9u>-i^ev1BRYWM^h4Y|$rBQe(=?`QdMvJD~<3V%9 z!_AuC91CAX@Ejv~psrE$6@JQS*aY*Odh(Rp%#82DcJ%K1lzr$?x9qoVJp1iDnC*+< zA<_TVM1bV`F!H$FT<2$wNlEf{e(*PkQ;D%W`#7HY4xT8UXTFnXn!vM9<|G0PN;leP zK`ye32bRr~R7; zuL@W$F`THYi`=_AF^xy1^T4g_(t7(2oTOl0%>rna)lW}qK%?ol>V-EbC!4vP}$@cRkUm0o8CjwKu zVukx3W=m}n&fj0~@#CdcZ_>H#y0pSAJ6a(Rn zPmwrr5?-dEtD3Z70R-mAk2rD{?<_nTb9DC7@mF4+;yIk=iA#9ar9A2kk1FFq3{_6^ zjczVLQ?CM`(E2NNo!D78U*iS2u!h9sC;eDm;oOX(%Ll$sKHgTzlbz#UdN=4_fT^fG*I)fhkzxKAiRQ6@m^<2#2iLbiD1(oHyCcE9b?e&g;|b0Z$x) zHvn}N-p*Pr$?Vh|>7L&2_vqn~(UeW{{k^VXaO2&s%xF+1FZl7SDK&ZQLNn9yY1uS}^}PdM47f;*Zfb7<1Nhp1hSOtLD4_ z8qzHmC`h|TFi6j3J7*P{UMLN-F5AMAxqp7i6L;Wku!f%KGgf+h>!TKKJTj(a*x=al z1D+q4@QNpU&6BqCEZ*>}-}0z;JeYUu0E9eYmI8*`z@8Q`$P2iG!Su$VmxA_wj#l@b zdGC4lA9$u8c~mD4yx27y+LK*ij$ljz+%m22db0E4o(KCo{OZ$#DqD-Jw10l$$v^W% z-8`7a`vUOLJxD!F@Y14ab9(#rx8HeoTljWc`QmtXAiQ>_(t0a{`1G4-v=>q8b}&eC{@Jp+xSp9x(VR~9l)7Zx0)T?Kj32?b!L`z?S+lo`8F|pDws{g!a)ih%x00l zkuC$Om#;#6&OP5^yR$|f$G6+Tr{ek4PCg`H34A2XbF$Xi(*=?*h_9BocMp7l=)QYK zP=6nDUS6HZU$~2JlfJAK*hD>mVPz^S^y8^5`DP`_C7i2mYG$ z&hNqasO~b1TpeF`fA3v(=9{C{X{CEdZOr1!v-#8^KC}-G^T9*?uOUFds1tw2*3ljf zZgc-J&Dd9Z^311NoSbK0|LgnR0ZA6_b{nEsnv~|y*B<#l*Se7_4DyhtcNz2i`dExk zo!BufmoKg7RUglG|* z|!nY~qLvQj7EbxNR1;WuMxecRB?-p6adiDod+`EAe#1CS|5lL$%~_^snMm=FW%{sQy=47BRI#Gzh;33y%{@ah+4|w6y2Tt zd2syIsPlZg3w%)(-|QkEhNdq8X!JWT)o>2HW&(PBnop*#?*CBu#BC|#gRQcqCGkrQ z-=dapd6^FxMF~cC8%S)uT?x_rjBJjJXIBex7GT*7==&AyVk`1!Nb&%>|q zWmoxj*Z89AeA63zdH|gd9e9|mfsx8va4S?A{E4sV12#EeTu*TG*Rt7XtMEgOicx{L zX)fQPm6jH+DQ+(0InBB^H!koq&ya?grLxt7@A4Pd@g?ZZG!HGA+yH_Tgo!V4for%i(mhQZ}*f>wa`-h3|9Kk z1JAJXIRO0Q5u(UryEZ+%>wNl9pXOS^_Di^|l`nb0mxkb%_*GnTVo~;5hk|RT#y-3B zm+R79Eid`9HooK)U-Xh7T%loMmXkQRuX)cM(GKRB6Xgzv+WGcx_>xBS zJ`ZBLOI@Yh>~n`^F4mkoDm?J4wE!pW+MV65+P*m-+5cL8r)PESTfW^p+7y;x9W;18 zzR*5_Jo}eA)eM5HoOk~GCr26n+3`K!?gL-+kuNLZbb=r#HFRYU1Yu>qx@v5#{rJA3 zH?PMimGUk=^@$Jp_-7+M4Rl(+`u?QpQ^%ABwgiO*6gZ|7b@R=>@FC#ufhFEhU;YXt z0$Zb2D%?oKZ-rCw<4N1B`fOxm-Ckk&jW7Mq7i}SIzH_z`bZ`%LUuhsBSY)tGo%Pn0 z3o{ghC-Y)D_`?GUNf2Ro0d0fn^|@1RhB;K}+zs3Q@^?OU$2yp>e~5<=fF3vwqaUlb zuC)0xaMgKjW6IrS;pw3bd~(tHGrN9WQ+KgnopRRxmeH}H1QeXZ;8Ji4#yxHQ!Y)M( z-H=q)kQe*=i*MQCgya%C0v139PFTNZ#lWvH8%192bE2Xor^IinW<`xvuZN#r zq2xD&`R)7n&_n)*_vRF&Zr8N4$gp=gnLUW?#iY0fbVhf_!dSvFjtik6P5=^duSnCB);e z7tSgTjDqQ{P2%S+n}hMD`n*zh+uYg53Clu4UPMqQ2&$N%P7+9vi}n=Utx$O>bf3c-1S5Wd}(|vC6Gv0h?0!MapbC1pYw@7><4&WT<%q|=augn!X}toMz5s{wPcys zs_d5T%e8aW7dqzeaJ^Sfm{t(x5AkO9SvbZ3W5ymv;Xb{tuiNo(!lbsET(PiO`lOPO zog?J+SSlNAOpam9odG7V3TKN(It(7j9&(mk66`!Y+f6%m9(#4)3~iDXvepufv$Eao0wytRYNm3DIQ&;^Zs98Zc(W z)qmkJI^+!2i@u&8Z2pOFuzWSZxHr33F;OBKK3?<5nVqAcM(8r0V#pJ zdwO^+cX`x+E5%oDY?4p@eE1F_zDt0m`N}N8$U{o81G%X1c=(%YQ|s1*&^kg|Pgta* z_kdfz@HYcaqvWiAMobJz-{E!tP)+jY(~CacCl)^-L=6PwG>sr*bjS~8{2>8JrwSNg z>@$<0MRy9T6SrNxeE54pQ%#ijBSLrgmnu+JtH85KF9nocrJbSR2VB;(YI!d@3pL+ zi`SkLl2$_0#wKbRr%ddf=kQX#PU(&*((?LQZS9*j>_b_{{JLh{_ zC^+`I4HO0gcCMeeU? zv3A;i(D}Yr2k%*AChki-Ni3}Fl{WKOqt)A;ZwUEYLiCQ1cM#Nj0=(S^xEtOihLN$4 zv<}b@o%90~kI5bTXYvZa?lhe@BVa_??MM19Lh^~Q{Y+5Zw4#53i{Mp7x+q8V(E4nA z{0ir(X;PCxtv#25pC7wBzq|i5TT6}p8{zPsu-zgs+bW;}1t1UiaH4>FjhBX#y^E(U zi5+P_XnW(=SA&|C)i}a2lukF*9j-Z=GhN) z+Wt6yn*dDrb^(OkKWsL1Qpm4k-z}Xaocm{Meg5pncYQa-2&Cnx75VY-fK!_nS2LP* z`KOX6s5r3#S)4$=Ltvf4zRosk>ivp>F}q5%oI92?5}brKF7X1Wl7J81=s)Dv0=tX+bOHTm33O`m z+@GT@y~H`!BO^0jn}59e+g^bzLtwv8AZp?f%{++h`gh(l>0i?ItHmbj#fVR_mZ|a{PAoMr?UI|03heR);$s4;fEKbUHoV?=T=4TP7|8qjd2A`G z^w@aQY@6-7@RmQ06$&hi1lG_ifS10>Qv*XZ;tDc!%j29r#b2>eCj^#t>|)q$1Q00q z=c|m34#c|1ygcRO*1d(&lLE_A0tlf~=-o9F5=t62WM8wrGs{kYK1W62~yo`64$z_36B6fuqkpO2XApLk#Vdq?J?66;cYx}Eof6?jawn3FRxvO?* z;yU{~M-EJ54fuOnclcESbhfVv=(-IUl*uX=67_FnnM!@mYy68m&;4im} zp(jQ`-kr7lX&WaVv^eWo)tbe5KH-jFQ3!q)7O33y3V+hJs)Z+Bxw>a%^2WIM`7qrm zu&ftARrDJ@TW1~pWDsxL@KN2h8FyucdtVm(T@jiJ+JyYBX^%Xtw|th7JyxS z0vw?`xnNY|!>3HUt$wj;&8e}w0-}b$cq$OL2t=2Sd27D0SKcNo*JroJ;@Z?V zwVc>4Fn=R3eJhY0VY~y@LF)`+U8Sy^k=Q!;CFri*3sRX*(}eC-g%9m zgWtVrIQ-G}SRjMU^{$sMxw(6q?ga1ScelGq9|f{jtdmwAg^%6?ihXirram>HGqSXO z(UI$u2jA`j$;U6^WUA1HX=T@ZtiapOlZyFN_DMi}7Es*+=#qT_E31RTE4;!6gC^%` z!`R*D-t0cB$0Wy!LgV0d%FZ4EOmM>Yn9KXeq_X$)#4paJ0Uy6T`zjEB6PTx?-)Un3 z!#^5#2q^|iJywsE#rzssGFXwC8$EuDQ2t)9Rrq6$k$$5X1bD{M;a4OF?%b|_xvYA; z%wHNPgxoMl2qwgs6za)84!hr2-nVA+DjRg?AI?3N!9sb6P!cMn!h|4eAxxM+0K3%N zDtmRQO-j+NJ!4 zU+cV0{6F}6d?SZM3T08krO`ss5uC`yAqZGBVVNE8W6}MbeabbF-TnXGCNzDBZx+86&ig723oJ?RE&Mcp+3&cM6fnA5CE(2GNG@;6gvE z;`+rWe(%B?SFdZSKhb_}T7u9tQMfdcxeE@4*#LMcC`kx$+mClEpbTZG$ky-r>^1$A zEoJ)tV0^OBGDT>;Tj=ne6D>H!{LCPq9$x0=K73K8I&a(Uoh>6osY1KQ{5^0rjHW~D z0qRraqRlPK&PH_Xd7gTFu$TN?bDD5*x=^xL2&2)2G4t;|qa{S~`Fj6#^XH#>wRYM5 zcs@zZ=+7ABb+b6W%$=dKtM8K`T)I!VXupuk6vDvH0e}|bN(kVHWb~jAvLCw0O4_eE zH}1Fj>5s{z6_27$O;lzH;XSl$Ark09Qrq#7wJ@R;(61z+ZPFsnA))yTyc;?}ow5J4 z_zm2sefIe4uNxXwhlSRcm@x!7$#3yZF7t^4e>Y+$b~rIMM`*J{cmzlTI4R-PM;+N` zcbA|SKLdj8~VT}tBSzf(m|7^bC=yzp5H2Yenx)`5 ztV8%oz(jKjV1RdS6fmS6K)#Mh3O-`)JZjT~^ZexKxM`<_7FRK-?R1WzR=HiaJGzxz zf|{K6GA|L@lnO0!(KA3Qr3&8oX~4;DQHs^L0VY$N_b_%&*vgTV3B~0?afOgND}*Gq zQV7%XkTAlF7H@HKX)no;FP^4J3BS2cHCc1e=A4i^FNDD50;rO!(nqZgpmPGyN~iLw zhr?|JCyq~hTP4*ylvW94$()NI4RrUH1M|Wl2BGHw5k!> z*9xi2LdYGi82_x80dj@{?5Ys{nuLK|58-NeY zFB>Po`d3AtuXr`=B|@wfrrwK>zbQ0-iGd0H>>N_usa-O5<-|+q!tzgfw}j%`LeU+e zEIaUW400J;}NMkUIb{capY~K(d+%`VBxnO)-(xa%|gi&q38jZXyAekxHwq8RcT!x za^3gHgQkvxlO!c)FourgsG>5i!=}XuRIq@TZPamyAHvK zpVP~Eobs^P{ke-aof`1v)C(b`N-u%8S{JQ?WaPwgin+sy4|`))^=rEJPaCaXz{M9i z^NN;ukMpqZ<&fF#FD5!%_6wN5Nb=sVJklANkyxmbOh#me-8fqemXFwN>+hMx+T63V%M#$0N!FiO~PdF+n))Kk+c_rOQ9W zj5OFj3tjg%+QdFq`2U!C>$oVp=Y3qd*|WWC$J)9mcA(NN$fDSav>+&m3KlIbT~Z1P zlG0Kl-6GvcBdCNZ9lyEpd4GQ2f1U?ld)GNLXU?3NYp!vFYp~SY%2CkW*eEc4-THOc z93tg=6F26#<5(|o>K-_Tm9U^EZk0QhGx$g60lNce`A|ditmSRSz?}D>=!ACOQ#%gy zS*7~Xut=?-PNEf0yMgJX7f#I^$MC_4yF&egAPDr+*#K47>!M$-`;Ry5Z+!5)hz;>i z?Buw!%62}^<$2m+*XHBCI8{HKxR-!GZj}pGMh!y%JKM^Qr1u@=5o=5`6dUR=NmZ2o z7=Tj_#6cjwfp?4xMSjif&dF%3^)qNP>9P_35rk8Hg@c_p7z6^vVJ3R!Iw3GvEET&l z*-d!YOydtC-yY`Nr`#Fw$qL1(zlFm!+Nb}l<009krbdQ?e0Y}gc^FPIkvAOV^bb;o z?Tg=}va`I-Z(nx(xrM7VIsEu*oJtqh8@S|O@B%w$I<_7C8tm)yVNF@^?_W#aQmz81 z?WvddnWd49PjUA${k(p?4C6pItJR8~I}0XWSnNM?ZT+ib5x5JHIJLJpfCf77yx@Vr z;+emqHp6YBle!JNN&-8+4Zg$4Md1MF`Ax_$vDYk?oL5C)_YxxBCb92_KZ1)mb}y3 ze3KNMvOAv_A3D1KbkA&N-d5V{?1gKdKylu3fQ;6w5Uf0J(%>{qVTTi>K%)U z%9wPVdDTeZxNESot{EO~<(sxzG}o zQcg_j=AKO}LN9)}1sC9$g*avr4!|SD*y4h!L#*mA9tU$`R(Mif@?P18qakyZ?A9~$ zB{-<1!sbeQv|(*Vcha5l*N><(pJPjLtTLQrIZk!}Tp;Y&h+^sU`R;~kd<2o_c)t@0 zrWH8#N}O^P4iIa)UVJbKTcS%yjtz$`tnT>*A9nOpO<_l()#^=|-F6Y2Vn@bXoOW!l z#$kzjm=vgJMe+1~(eL;oPRDY1Yp^XAOO0?L?wrUk54y&j6xy6)+;}?{YH*TYaq_l; zwJ?GIg*>rUK|{?pb*(x}a(P6%D)z9;d98IgW<3sy4jRCi8ACo2MkKb^;+XLX-Z|YT z-c+ldtIPBul&FAEx?#Qk_d^Fy4Sx^(^I!g28;K|%pHj{~qo6l% zqwlrWv_u9w+G*^B6HF^LvrB!erE$$QsTU{Hhg0jvF|64IZP~$3Tr5bx@uA4;K!weO zav44{Z~&)1h+_`Hs06*Rl4LaVGT^YE#Gbq9sV;x!e*Inh9jDsPHw-q^R7cm~5fXT4 z7G=0)pQASK$CijSOT)Qb=>1yQ7j9j;3P{feMH-eM;frI$qPaHrb^%eyHQgB=n zKQTHil`L`VLEiS(UpVF{wsgkeskbcd>tMN?xg~GDoUt!zokqc~asye-<2cp?PUSa_ z@l6oWClI~q*Zs{i<*4D1!CN?%ZJEY4iIe_=gKT9Mz$H=oAsW*|F=-&`Mjc-?{)XsZ zoaA?Q*eMif`{nq&yQD*}L>%8edn{=Rr!!Iu7KhgEv!1`6n$3h2Svl+CY$lWU8Zj(7H}$yI94BDG{+Li15%zV zrbU{p_GQY!!GiNPqp9D@GxQZ?9Lfjw-kVrem;G|tuFJXAWf>>e#bt#c*JG@=Vs>w+ z>=pFh9jf1Z%1qCDyj0a1DGuNuKhnPIA)P;O-LpR#;agS1Ja5_{0EgKkIMSG#{R^ZQ zx@=kus$wP^zD^~^Jyq+n;z!|zpLq*&?%8e5SlD?##%PRB_xdM+$P) zk)D2uSfkt?@FDk2?xMJmuy{(wu|0dAzTne2?aSB8jK%~r&>r8$v?@x&nr%< z+pJh7S(f07Sbhlfa3zRmBAgR*R%6QN*QityOY4oEKT-}r@*TW^@WI9yBViB>N(a5J z&k-B!wVmI#&)(cJ!O-9pQVB+9Ly&YRQV&D2LmUtd2?y~3l@dly^BMtpjSdoTu-MAf zx^lYcqHHVC>M!O6_c!i#vK*h7a@eE;6sUn!Q7+ zQAj!(L5AZ!!eD5So_v(W76TIn)N$zW;XJ;GOASIyYyBUbydl405r#TI{}t^Xcq9t6 z4VDwU>$Zm^hezGq{&)w+kbXR3gz`iRq2m)8-QW0xBa8MeHx`^2t4%M3K~ioy!hpD(T&-2pY3+Ja$U5{LW;G5pu?%P;<1-(ao6s2jpYcj z(>=41N)D2IE4TuRxkQ-<{$h0%|eBQG3jsqGh6ITY-XqM6kr zW&>h2A~=i&@-@L6=$S)G5Jvd)!jW9HEM%}brQ*pQnX$-bB-erIn-_5| zO}(UBJStS&E+niellrF(G23C~@O8j=Ab@4Mk{d4x;#AglA7y=#cp}}SFHP%2%r3ZnFrMcal z7n!2cvAqb8V^-`a_r!yNHV-eGJ%d+Ml=SW2bqFG{$nG2TOko2J*TgfG`f>-G_|To( z(_Kf5e(^k4YIC(#Qc37TO1|t6qnNY`)C&Hc>nC-B)%92_X=6W<%;te2X~}0wuEue< z&2sA#Hsq%~#|@whgNQMNG{V@v!{|+nbOncDjKH>qVI@n7n|NnAGJBg-zM6zZvG7ATaPVwDQ52*UKp zEh{IHy_6?SE1>38qF9mg1XBBrzIuAmy$ z$88>Sh&hkx!MqSWVOlc&05L*nI8qkf;K*H{?I<@nGMvzhHTvN!k-) z+LQ6-;`?X98L63{9Pq3cc!nch+6m8c#;dyEfyfkNCTizV6od`@X?Lq6|I_F#oAUPe zQmAX1T=7gdJWQ86ewE8zQ%E>t1{HG!w$x7Z*UO3w6YWYeT=Q^hY5Zva@29^<%>$d0 z`e#Z`2rS6G#Iro`jC2mHkT!dNnq%Vbh^;S|P3vFBAZ1THa1eXpK|dfEH9vDRCUkXc z=94uG_9FK;czEMs8T;V>ml%NAcNaPTD_nW%+4pO)QK_p2+kNp&KkT!dF(+1JQ!U%Y zoJu}=jCs4C+j~)eymT{90DhJ0BiQpH*$AmwBjoq#w<=djqmKjav)K8%J$8Y3*}v=w ze8{CYBk1<<^RoLXeb-tVQnm%*SuMN(iKkZIy${DGkfQ1EQUDE_55G^fWKkN6b)4MCLVK@(o_Pi8}&r z!)iwEVm1d9KB2|6%li7+TkC|r?oqV*@-h;y{uZy?fm?B)&uVE(@89tFo`oSP^i1n+ zJ{LArYyNlsS%m_3#Ry+mG@ez> zHzkCgP9D#2`p9@v>e{8ZXqWtZjvq0uTu!R=KN=gun|bC~?-ks8JS$8%1{4VFCbs`o zjc+9V*mC6iUIn)T{vWExV)0UOc*%G?&~at6CxCVVX{nx0A|7^3jJXhaiA)IgTgKa+mLJ(__J@ zc$FI7G*FRS*vSuLpyRs1{A%xb>gw7Te*&KB8hvW#LqU;lYFVN}jYOsWWdrvg-Au>y zD&v28br2FxQ=NRw@5)QJ{Ue|EF@1LmeZ;F~;?=V7jBLC_4qocBaJfJ(3>Wf&kh`{J z2ZU2wO!7{iVN~2H)vq+}Wr_}8ME4s9uhx1xFo>hToR^q`6Td4*^zl4%^ z-;QwSzdirJ#%tc|aTQ**8qfHG2PdlrK14@bFb1KACuZ~qX1}ePy1wuGO@_StSG;U3 zo>hmJ7~stYN=;Z8oy~@KukF)n=o`Nl@JBjmDTNK~iD2t0-nY7vZc)!==UjHV9xvU1 zS8K#yXu_*D||-IJPJHl)7xMt9;@ho&>)!t$06 zKV9y@vwHDRh}#DbTA>iYz7tN(#yvYsGl$cpX!%f zdXVl@=?E>Z`}#X%2Jz}cc;$TFm6ba7(P*SP>b%I~u;T;z%{)ur@yfM);89rezU!?z z*d3^tvtF`XX!pH7Ry&S6uV z)rgfvWyvd^t;Q?!yhnl^X!`CmM93IxD6jjcIgFVTUp8eCR--Op@AFEU;`1wrzU2^!1qLXQ2%@2|(t^{c}0g`-?h7oDf*C@A95__lTc5PMLMUSDrwUIQR{+_YARW&JC2)KmQYlR| zn*ed~msFg-xsDIvLJ_+!48_FYUp+v*p`HNAg#JZkeP$Bt##by`^)-PN4x8H>0;VkbI3$O=;xZzq^n&f%a(F)5-L43NcqQ8~SgGAiE|C-o zr=FtkOLF&9dD1vg_PS5jQq5BN?$1vMcna7TL=u!=^Gcw_Fc$~U1U)+sp)+w!K1v#I z3DQMuP-16zRLSJeK1Gj)Y76m=%{`2F1hpuFdNe^TljA)Bz%dpv1b{I^_6N$MUX}Lb zo~@hc8T6PefBnUZ8cR@)Be3EL3>$921o%{l#V5kmSm7q(=6^b9zPG``jdS^GMdt6s z5&+t6Et!7M|KRuY8_hdoej0B4K#)lys3sEtGMvYeLco{^!0V~yLRlLhJ_y{wlTs4$ z)bd;OO<(~-`ER%;lU09l-SIhS%?en(A(a4OIEVmo9n&RmcQ~NS+5a>#*DGKqjR0nj^R6VEi{U+?;`HKoKunf-FWfP=w2okx3 zv!4j!c?8uw-p|WamE-LV{!wficM|SPaklM^B0QI)fbRqGgndL-+N*NJ%xg6I((M4;Ltf zAwg&l7KZUTAS7CSH$6A%%H5~^UkI!k0;7-(E5Wp% z-F#L5eYeHPO-7i=$CGAX36l9ZI9)Tsb;=U(p=%yt5^gTU-0K;*a!CImw$0M_C5 zHyAn;zUcu-3{GLf;mf1i8F@uECCj2JRkF3+1hpQ5S}%doN09C($PEzGGS~*;W5G`} zFdoAG&@{TQuP8W3a1uZrZ$jDfc01_&oIJ4ZWwRascg*&=L%yr`piWfXQP1Z`x6N?L z?PVV(sE-gBBRIhy*e3%|8uv!&RQuNhf2-I8U)@pnSNKU#{6$c&1O5~^^F*KZ{&eP? zq07_aNZ~FH$=#!b3u6TJal+XeUORpt&Iyn|hHP8uMua3g0<@STT^T)Bckrs5OX~Pd zkj{WyrnC|_W%VBJ?R%^v-7NQx{GKGp{UI>sxCC>Bk@wRMaqn6M(b_wfW5v^nC;x&# zc&1>!0VM$51oBpQaiTclPSvb>F{Sj*HTVxday7ZTBl4+b=Tp_{Ryp62c4SMShN>S2z+1OQch#?LuQ73M>$$7YS-@ge5R0I(p0S z-$!?mLi1zRKwkBO;E`3^zskI9wjxUSVkl|D^S(^drPa~RH%>o5L?miW1f{egf{(AG zkNL~t&f}YH7OApd^lsj-U@Gw05|vume+eN`(<_f}Zgu}Dv}-i5VlUa;jwspAXHWdU zDg#sWb8pXj`>tEzZ5Q{sTw2oF#rA4PMSO{i!0z?#BBd9_jgD2RRp_ zx+_twhPMpMr{EdFR8hZHtNlJE7P+OSo7{*J?nJ;9y(Gfc0~vXka}OdEG(AFG$A>ga zU-}*XdbUUSPZ zKO)ng2w|uIxD12{NDm@JV-4;*nt1jt2Jd^#d9vxO>@&^ZB`xE-XZ6J26P2xb zJp|CxkUe>Rc^9^cl~m5XlMP5Den3#|{!#HGgH7-oE@e`iRIF=XL6zG@|5REQ8RT zcjB(seaizvw~L6I<}NYQiRu|d#z!K6y)!|M;PGM^|3~yywBstr&%EBeRDaLv7Bh<| zlT8%QAu{p=1#@AJR^abC+PyreTswA+ZdQF{)DTbF`Mu8-J`ttr0ThGQ2`1ULRQpwY zdb9bl|JNHuc|^rPuHSr!aOQ&CJ`#w3;X1&$=2Yu$1p{9a|DT{LUtg-!hCoFe- zFQ_1@I1?&~knh0`)yPh`W|do3^#)OkyN4^^eLPr2l&>a2Em0?iN4=TIy1aWswA;>i zmkuoW9zAHsgS3M8s97#2oU6Uo()L~d%jYjdi5l!{zQWwxgn?+<+&#zM1%DKby){u?GF7O1CDHdgA3Uwg&htXz*hI zpgwV*hJ7xhv#3=2ezfrCY^XR0oB5G7v=hU3ubS#J@ed={zQ4K3R3{N4!>}8-eNsL= zd(fvkAO$^l+URt@i^%#$lypMr+(BUHzVA`StFUc%T5m1}+sqxynx)0f2Ca&)#O7syKJwlk_jNVy!{?^%m zx|652AHHwdAJR`$9w4d?5}89p;DJiv1}Gk!MAMsUOHR6L4;5I;ryiIylKf6&4HF^8 z;K*5qM;1=PTL+6$ekQZ_Y4CjYn;*d}(GL*XiX{@&MUPf*eY)NAwVuH-5ryyyY3HBV z1;7690&S$%b?8R+&SaHhzG0&|?!CFAM2RsXql1WjAhniGNHiL->|txn!xFir$~ zL%twdrS>UpzwO%ICuW^&3MxZKCWrvO`3+kLu(Du{8R%Er)uPR!=nm^1B=sy0yG#<9 ze~94t{Dt>wo0x-Rg}FZcx1{5?`e&y4RB}%aegFA&im2|7t#$S-Dn8FXT^9cStT#RK z@{LI^0(z)TbE}O{^VM8`u9GeLa`ZG&s+SKIb?xrQJrvoaw8|vg&|$*94KrY>*~Yk# zS`1(QId}fv3!kixoD^W+I!lz8BZ|)xnF~ZL7tASGCji6q56w{$xv|l33u`&>P4fGS zMWXx?QPy8*88)Pckm^Sfa-F$}X+xn+3V0jIz18onNK9)IAYN=pD^zwEW)a5mu6b`Z zu3_Qjg2TA!ouZ1hwj?Dxl7u};)`6t3ue9?9bLvwMllc+H!@#4DyF`^FEY=FSmlY`l zkU(VuVaO{wbwC#>UmSn`<%w^Fz{j6|%&w341z{Jw`o9ab(Ho_U%e$_gJSTYa$=0+{ zgX&-sxS=7WRZh3f?gIEn*8-jCx>g*eD?OwxE7R2aK`kqkBoRhpykCJz&+fJRCVk$q z`Qo2Vohn-!kB5_>=I=ELj(`S6h~xVC+eZm~dC%fMDvwR6mcJn>N01~UNgA&?-oh6E zyc63ifAhk^v8oP?DmEnJlK$?>bKxnx`HrMmB80h^6QL1X@xEVn`rf8GF$x-^NX%$V zs_#iy)3*PTG+GuQS<9ezMi%iy7h^oP{n356F*$~G!9@s=C8jraRDAMTe!ly#-fo`6 z(G9UAi8vCY9*?b=sApQlT;=sg)F0n=FMKihFrFllKw^~Qu-|s4%3VnhUOpckAi}VD zT6Q;)Bo)T?fdt1Rtl!;A7_79R;*FqG#6Hu47duyP-2N(wB-tRG3{z(UzS2s7*LF?r z6W+A$fLjSI)wYviTSGaJaO0|T0l6E>HW)o$dt#wb*h&!1*mv~pKmFV_;?;@fH?oyI zDJ1n&5;*8-phCc>q-m5+g6tv&Yp%aJyQl6;?fJTe*7Kr!_77!{BtMdr!-ehf>D=gC z^4c|rRG+WW@aIhaQ6nXlNm9!qv9d|5OpZm)9C#K~hG^--nOJ&J5s6nBtll-GvV7&n z`0ZR0>k~;SkHq*)QqLzTc?lGN08LEp{^b@dAVJKoYpqC)Ttb-XNYQ}E4=r5{cQ`Hu z>?mE=H9)C}Y7c5K?NccvF^fnLiY_K$Z3xVvVj4v9!s3?HY8meHzaQOuW3TnWq=dvO zC9%p#l4*$coBJCZ68s}pTu>QzH|B(XgM8-P$8wT#1xc!s#Hb=kr?V*n1yeQX$x2-h z3?3!ymiKk}NLBtqrvyBt`>CvXP|V z$8M0m!u@pYqD_!mOx>IQkRcsYv546w(uHOc0GAor2x=rJ2*|vnPDN>xmDMv`X4FvS zrI}WesxzStRN#L(9HewE^Fv1SWP$LEv)KFIB)@i&QU^(*lO*3oVtyk*sI^;IPyvIE zqCIOA-7m^jeg0x%x2~;urlT8Msy+W(st0w^+jD1eC7-jzgc;J}bW(P9EITTf?q~ce zQQ-Y4N78qaF#O(2I@?EL_LGSKC^z~co z>cQ)R(voGhO+nQfMd&z+BlWhY#jEF~^Ykf6H;=#FcpLh?4c@3~)XeboMXlY!3fQWNRM3zxaUM zXHnar3etY3LGl#o!Ze97gRQDrP|-(_kiKsO2~*@8Uy$)P$;r_D39*j%;lV3&Bq?7A z&AE0oTwU0_?YrdQ@9wfWQ97pEwnvUOq(3 ztRJjv&N{x1XEIdQ;?ki-lF|}Mt&V>gjK)gIq>kwd`&7>borBNQ_bU|zCCm9x6PvBb zs@7ykyxNeV&I5|?G23EG#<2D)ITs@xL@-rvV^+%XUj<_GL%aD+?8xA8L(Eg|1VQ<< zL%7UuZ@yO_Cg+;$$&xMXS5WAtN5cbG7owMBB2Hg)=a$M9Le%TB4nmX%Mn;u8`pQm! zmUAG>y&$VQk|mtTOlLCFg$!G*D;W|ex9;0<3c8U24`i%qYT?5Pe&QeWl})8zOuJKh z;?ii(ri1QehzY;MJ`e!XDK2n z=5f@V!zs~ZAZ_jDM~f1Kd%Ry(heyqASgn3%^}Y9GRt%XDP7;hIV_X(@br64-{Mo(y zcwME;Lu>qYWS%N#N2iCjjQBn~GViOEJJGVv^i&*~6;Ea*kd>kR229AmqVGh2BcU%l zKP_hE|CwrEeO!a*ZKuNrvic|X5ng23x%b5r-=)V68RHku9ervZ#)EQdPS#~^UC=ky z&OF4QImSpLDEsI; zWbtBdKW^BAYwB&HmF_*7T6%it`!*h#A0Npqe_kMP+oHZa$-mx0Xd(NY#;A1%PbOI= zi_FX>!(kM<%;v19*h;1p63dEgH+$J{h3!vVy}>%qH2-ZbS@{#0l}8r;OlIbjnFVBk z@qB@PbArYx0^m@z-qveM5}5ou#t_)h6dkg*kjyF~O9%26gTS!vLYO}YU$8Ogv$#h0 z(KQsGC;NP+nje;s#pBsZVIe#+FhjfpM-80>yH&0Ryb5@9eeiD?S+b1#3fig0^Neg? zRjx1g;LmR#a#T4Pe3c52kB$W>()i)4Es-O4J?_*#18sX znco2gPT-$U~p40{Cl2*^$lZTJ!x^-yis_ zbyzLb-QoNf@`V~Q<11P99VtOb5Fo&}w&?`fJctnsO27R60lp{sGYM(Nw-lwjQZ3g@ z+H9-!)JU!+i`S6>nKH>!4-#9U4g(lyu>6=o`}$1z^KSP~c6{%<&_EVH<2a#xthtVT>j(K0}F+2e{V=|>=cQ6GWjUKDq={cg{<64 z7H=afz2+$4#ehEN`Cb`%k<}m1L>t`Nt3ovhqJmhU7hzvi&wvc~H43ipW|F0$!n zyZysalb~JM+C^5+z%Z?zZ%r-*4)foCw||);d5ZSUn*(vY$yxG*J!lNxH*Qcb6 z6YbC+IVQCG0B3TxysjGiqC}+-GW@Kc(JSxVbK&52o2~4bo4%1Hy2%VTF3h2e+(zrp zU3JEm%PM+@>5M{s4_UpJtlmeKFGYZag11IHepKKMqO1S9r4%}CZb9fLL%eaP{2$`%chMU4p4mFqP~diE5hHi82MJON`pb2tg0mOgP?LxBo@Pwfxi_vi#pzo5uFQkYH@ z*ioG+pgb!GYH0KA0{8s)H`>!DP_Sm~;8A>|&)6lpO;VkA$!s7s$rKyK?vdA5=l(`ZY6dsiI^e9Kvv3DL6p!f2mK;hH> z5qhCgv*)oc_tH7;IO%Rt)z)3*MY-Tjk@TTRd2&H_J1`%ERff`)>Xu^uCV|JoT*y(r z6mWBzbE_)tskQef!umW-5aL@+rHY%JHJy6-VUTLj$SMNtSUnTxr z8zECm@Re|I*}7>zX9G8)RPB4?P4c>e%Vpnp<<*VL{uJo|iew-Ks-xj78$;Jn zwH>Cr$Jq~;My*-=NCCb88v*qG=kYaqoFkH!3uD!n%!Pbv*wF!X{k~nAc=tdR;a&aS zS~oK(5?K_IjgMJ<=2`ia8Kqrm?E8NUC&mcNj85X`4QE)na2i4iTnC&UoavAQ$= zAGMkZ%==p$gXg6b*KcYlpg$-)nhF(Nr6;mWX z3$2t^STCwy+}$P0K6Ybw&#p~}CQ2v}kSfL2n2yfBJo{n2d#VAnd8_ce1#eMx$%!(G zS~-PPL19!CDM>w&Cb;vF>f(zH6QcEY(%D! z!fXO7glmS01Na5jo@>P^ek;=4&1aPjygaIw`Ceo-VlVz6FGsp$Icw+*Y-s@Q9eO&F+hppGDZd zQCQs+>2lsIwp73j-w;W9F8L}|*ibmu{`&aM9*RUSh4E7m+ltGD@6YtC@|cmwAGJ(5 z@jbJg4c#dFo|w@Qt;1{X+`))&LO(@qfFeIgfr6)xoI~(lJ!7c%TB&@>Soh%l zh#Z@MdGPK#S!T`8YT3}CGeV=|C466>E^TH=ux{u4Wk)$u+dH@9mb!mb$=2^VtZe@s zTj;Rn4O7%dC{jNtsy``872KJez`qNIKmJ%+g~TT3d*Adf zylC4{dg>R2IZA;L#~4WY7Qk}gL7s&rX^}Ap^)`h)ls&$C)9g5f^&NWdAdeBPGj#o( zxiWuR;!dyAv!0+R`x5)u(ek!4Q)Hul%hAL%mbTdm|KAjqNs5M-z#j@$u4VWao(ym+ zQ?!_Mr*|~58i&F?MlO$egs$6H=WZP2-x%xAjw@{U&|2P#;n7u5e*C&*$kX-AHen0TU7me6*gpLc zba$mnxKYpAb2$O#4#gS{6z6kwD);|1dR>^?7~)P<>*5B|HnoO3p~dQe$mY&8^^uTf6lJIGja@M8VK0+XvQKasMZ?^3LJ za=Ldx<>jOwmE})m1W=U&sZa!sMMW{;J-g^BP}nK9or^;k&Jmg;15E*#MRG>eeJlhp14?b#MyJTkkm=N>vJ@ zDpm+p3qg=O`wstH$JD(k&1i>5W>+t8g;Qnysjp!=|8+cqCnMg@<|jj~eVRM@Xd3r& zjy`)sm5QKBMp7A`JkZ1dhkWdP*PfP$;Tw{FT$rENr2Cf2>f(9_vIi#H75_@F`}Q}r z4&xo{*5pPJ9coq-l~oQPXmoFOlluwxdmhY_&l&U8s=uPCYVWCxC^kXZP4+)_YI>*o zTD@H*#nA6(9w6 zoXAM7RIw^9V&}`^LC4Y!Z;v_hBC(ub8e6BG}r{CxmV{(o&Fhz7Jm8$lK_caN1-wO7SS)hn2ZWReR zl`~2FD}bJF-pnzYzr5w#vDIg|wKi``qe`Sx8Fs?ZvJ2hYmQ~n3cHQ+tMeCWEy}Peu zP?dh*L0BxtkvD~TZ-P6|ifw$H@0#|J%FLvKUlGI(hRCQVxWD{ip5y}~7U4UvL1$5! z*;H_(Y)J59ul(m8TVmtxK%Y$E`gd(ZIaK*E0Z1)Q*GyH}ej3%Wncb65tr#~QC!_ek ztHgGNxLJ}oe$7Xe7@y9@Ljmsn;cG?fs0VBattV@bcIQ&XKT(yk$iI0*`Oufi4YpVJ zUg@1ITCmSn-d&tWRW9I=K#4aE4kL{_)z6gm+4ix^41T6c!`>$`h=gRy#oD)4=Zx>Rb!$}b=CQai9nr7%r)kC8# zNG;&tk-K~NUwFq9QZx2te@vb=&-{_VZ$6NMJqn@Rrars&YA1x`GNc zpEZp<>NQg3KE7u}3Z2r~eFyMtr48)>7r_sM7URr3Naqk;-hM zG9!7LVGRI!8(0iXAvqY$s~F1$A^N1QBd3F1HG0ewh47Q;x>5^Os+B6!MrF2Bfy1-| z3?(!y(-W*hov^%h;MA#&6?14zpB>;+c=Wv??t5QyRP2#1D)So^_V#Xg2T-VCe3&3+ z_e*o$TFdxck5$MKT~u1?p(^)M;jG<(owO@?0)I6ptu6}rGUT{ZZL>`uRXRc-h=TUV z_=>R02eppv(^}rbOkeD$st-_s?spM85HEN2n5;P;{Y~SfMs9f(U8RK$jagTHj-*=) zUH*O5F+Zo_#UNE8i63_K+9dPYK>2Hu%3pI|=!)9A4)LIQ?SV__(u<|-^`Sw6{hM-! zsLbzF<}ejnCoo1}q>t|2JpiA5=Hq3>I?Z$s{lcz^-#OJ2Kd2Y#i2$`=qm9q1?a?&Q z=iT#|Dc@-QlPdR%${MB0v{L6dz6e8H($?4KtxnsCjH^yNy7rwi-#A8v7}_8=QvLnm zO1{QB3mT`;7(Y>(tqq4nwH2qyrwGg@<<6sfy`y8ssjLYq^EVYDS^{dF zRbrm1yg-%kr(*UV=FvoRvC6_wAp4z3(s%l#nD8Q1d5J2qOqH>sslVnJN3F=3296pu zl)n#BeRAtP@1tSc{`6G@m%rO_yf!qZEe)2vk05-+-_z0IGADPQPv}?8Id4_A){X`g zIQF#vLIS2}dfU~2G})(?bA<}=V-|O)4m61uvBed2d}-WqIuulg{JIEV>Ak4?Su@Uyf06U%=MfT zquCc~IuE(gSnjk7041V#;$1ZOH{68W2r65>XJ- zZ(Ho@$7JvCC#iE!>^J$+REH^Gn;VQA{hGWtXIZ^r5NVq?KlY1ajn$)btFyVEsYVplKPK0U1TaN_B~;ZYs^Uc@h*;1ax{qBSkFiY zl1F0#_^yk5$FkV+A8g>@);;zfyC~*=ziXq28Ao@=?{Z>Wb1M_YxBZHarK!IWj>E)d z2z9~E!_=wTH7_D$G>@+1`u;UCo+gt(Q_mvD^FtxrF#(6H)xCea`7Hmg>iQ_npGXt$ zz;)x0iQ2??j>gc{!U5LH^wyo%KhU84a1sm(BVLCi1lnUQxno=4L%P|vZ$*!150xa- z)Kh2-Zvuuan4G0N86a(b9`DpnIag`gl1fufqd_@gI;O!;({E-53m`jKc}m%DpiXCk z%l1Tii%2048h#}ZHXc$h`Q+x>*BQw>H8W_cA8D*5QYPH@kBJ`i;cc4)GAg$mw)a;S zQhd|DGm9o}MYP8uwQuP?`scG-N#fT{mg_J0WYZYa1gIYEdg_$ZHfu7V-S5gVW*IY^ zLjx-Y;xE~&fZ|)l?NRLMwmri-_i|~<;Q|s!Q~w=%Ow$nEu(oxQ@mP4%CmN(3Ap7Q` z$S&vUftJTQ`n0*PJ89?9fL;V9kiXEi?fLDDd5g!=nIkG8hdwM1w3$G04XVrlN!f8F#3?O>muPL{uhX8C)3+D?X8CQy z-x|lT_&-%NxoR3?kx%do_I!X6T~we|{>b7Hq}|JWR;;&oriRA)N|UUmNfxu!VR8X} zV&DlVV?(>5wz9q?UJY8(=lSVS{+zd-#`;K#!K31o$a#X$JNNS>#pOWDDfshrQDO{kH zw*^ME(g{w(+?d}YJ)TY}Es&X*eX+TfCfi1nh@{#Gw8NJ}8$%TRdUO5An5cI9CcI0{ zaal?StWQjWtd`MjrIVlM64}>Ol-w%L>ZD!hqA3@1f5!3_jS^2CdaX`fQPkJmwD&;j zuWvMFH)dZ~%Hi&6mzFJW8*iw-KWA)NYuD35J6l8Ug%uB(`W2gkf?QtJ^kuxb>(L@8 zJ@efmtbl+%Nw2Z?9de#ve|aQEU@7ZDA5FQRrkX+wnglfY`m((*e$kktG)QWV zf!wg9*1t_}4b#0Y#=Y;Q_3zU&qWg*l#%YohG^yV-*My@UW9i^Hw|FZP{NV4hceC`9iG_I!TgrNomj z{d(oCY5CJM^>zWU65Y&mOH$(O3O`Tmwsjd=E}aHiaId_%{ZX~<&CoO& zxn@BPFn)tWf_md6FJBqtQGM5Kd%|;SjwUltyRblGF47=>1irx1ikZN&L(AA-E8UV% z=8c%D(Br~OL1#HXrM9}hwW3Q})5QViOUF8N-PecaceZo@KA5k-z`vf*%;R$0B+@_C zt*m^wxYmviy`@0a+JX*`>#PrDyC0ojSn*h%-JUM#K$m<$Ki|Y1%4H2bP*BwCR5ka6 zrGh&$y6gB1clbNfWt`|NXS#G2Ig4$c0G8s5@GeW`9>%DSt%t-f-vLQWh{M*tPQe%#!__^G$yYR^TpnW_<Xb@z#Cf2w?G2p~L6?rCE620F#qNgQ#2C470ABDN2=ZUt+zjQKCEm>4 zGkQ~)YjyE+Y4#gYbO2^U)yv&$1p^OPyB+qufxjHQQJe4uk9;jn&*-(w7dY#uXuI!` zHHfB5zo)BaamRo%K(8|}xUuk_M_M{7EgjHw;)ZNFc1N4bSLWh`w#7u*v7??-W|ozC zu{l!u?}h5km?Lp?iFi6=gddBNeaU}V=AB<|{QhLm?tp@nngqH`3wsJDI3SV;}cjG%&gO8LW^iO2WT??%BPNXY+pi3mtWs~V@E0{JoKsqaS*>3uP zUo4QpJ#*DIk4T|QrP8GeInwADOkWG~3jj~3;6MqAcXoDWYOx%z_`G)|zf(-7voh%F zAL$G)3Q(c|wo>ZFJB`D3!ky+!zB5Aef^K2#XwLLN;JR0~W(ALU*4@41x;2w7ZOgBS zm&<}5i+gGorJ3)u?RQkml)z%-EX9-%bE=SJSxEJfy#ZIm zRq9XV=^l0{qbt1>fCEVU#cO&rDN3A)V!Ou+r+WqEbjS!*z%>6yrURZ&QqO(Wcqz9U zaUbt|1HY*FO1fGVU9Fm~>c^fS)GQ1^5HahFhDWgzH9n-EW6LiN=YOHgf583VMe)ix z{H!}4jU>BI{(RnGUR*<${7RQ;;;yA*m@O>oROI<>kcTBUsJCx3Z?Z>Sh7S;dC$2ue z$|!nPj#q)49rIGZj;>TsXSDMR4&YH1JFmF5e81s?7N)jZ{)PMox@03=yqEli8qGc z1=&S50TBTgaA8pv6_iy4L>3WQ1pU1~_u`W${q}kNUis^N=4^B3%sHR)S!WJ>>xs|m z#T~H^Jn+Zwm)!nhf4))pJbAarelhEdFUs;l_O6I|veoU^=7yx@RcWZ&&b{={9jku& zleZGT{9))~Rl9pphx=EZZYZ)rmxO<%z3>Y@^^Y3eg-tsqEb50pXzqc?{Pzg z(2JM;C;FKzp4jrmTZ;0Ys|PoIr>-vb?w`-P;$GATtFha!-wj*u0M-w_4&?pA!QBd`gYi2$8@5KS)yp`f}*A&Bi zporfZ`Aim%3O}DY_tpEp_mk?!8$Rm1^qrOKR*7?i#JQ)mFCfP6#Ybj8GXBBe=2!h7 zec*>rq|99{E?jS1BjSHW@6yNTy>Sl0)=hzt-@Z3z&#(9Va>J5`7sqUK3u)I6-MnY< zvF_sfvn9W|uTPcQm@{aE?@FmYZQeT4V(v?te% zmb~_Zl=Ko|IB%_AmRi{L`T72zHtzb{|d-E#izr4mwz-=3V-=QrSH(|32xx%KMUcZWR~qb6?U3e=hnsT`Z2? z823h5itFcLf2p?#E3?*pXgU}7&YMloeCNJLqkgwd^xH+>8}J)^dgjvE!JoYP`!Di- zop5PaoVX}nd^*OuEY>P~Ib&Ci;na;!Um0p?$@^$+;&yRB=w#Em%?(e<+ zY4(D5XWn%rYSD@6_wU^;E=~~_riy-PqF=h`mm&IPiule%F`p%p+Ws?q@P(E!oU}gv z6dse=$n~bTLlL_0t$<=}$Ui$@!5`G_{>Kx0#W^|Rj9hVUp7=tk?70{8u-qMAEpPnf z^7+hXMiNBF!2@mi;)@01EBnNk3&m&eoWqrW!WXcu`@=rye$ddfv}Z+;IJ;P!anl=~ zl{V+VvtNooUUYTf?34L3-%Z~yzPMjiLdymlmE09F?&}ILz4PtYcJ)6vPO2@+ehch3ZdH0^h zd!IP+kLGgmO69=HGg;<(6Tk2)K- z+6TY9DNn8wU&xRhvkL{9&%V6fXR6u%eNW|%fB&QJidlH<^Yq<+f9uJ6gPyxM0Sz_h~%Ul0TBt??cDTLWQ>ZuLGaWi}>K)Up`zf zE@}`LHHr%lILH(Y|G77x&pP*=*PgA^{MP2V{OQi1CULqtO4O zV<&6Nhj)C^w1?aO=uh4`CoXIjVTTJc!2I<1;}7oK`vm{o&szV*-=qBSg%)w)dGVJQ z#05q6U9wh?DOl;i6@=G)@oMwZwO^WhALuB4_AY0e=+`d7s@Z|tyz{~GC0_4^r&d(& z9$vDzC-b%2OYSbdme&cgffbLV2{RSf^8CH_qplS{n#nr~?}-k(DB}OOm(Uy*I->0} zPX}L|T=vxB0_hhO4|ryV52%E{7G)H7eEiWXvrfqFKl{=0n9Jfbn;biJ!tAGNFZ?Dv zearKS3)bD+@yNHji3;`n4;6yh?r-($6n|5%F3X*JZcW~=&pp*EE=ZPL!E62az2&r8 z1DQTS6D;o7Vt_q_So z!J?0rEqT87we=-~;`~zgNtnnMoR%2`9x%7v^Uikj^hQ!&|#M#5*3kQwI?A|XV zFaFUh&;Mq9Wku;T|6Vb?<*~`@BL2)Z0&2c&>0dqgkA3T=bdEd{f^Cm=mxMwA_qMEuIU z(;#G(u730HZ-ssK@Qd$RBLDh|qM8#*U+*02zVCOI#ZS(tT`b#`d`n!gQi%`TEUpV5 zaO_+Co5?>v@QdFk;4@e z!SQCL1X1FhcizK~;qh+o-yT}|XhPNUhhBGn@x-3Uu~w||$loj9Fa*T~{!n~2u(5^@ zl;&5NXA7MRX0H21&}*~dmiFx9o{D!@Nlyn!GqUt#W8N0?()%IG#Gk(RfzA5+U#x3d zE#d2M)ed3hM-Pl{%W3{-;I#+GUpsi_;WZM-71Xs8x8%dmJoZ4!?1hd$y!=ed^(#dU2gJJ5*Y5!M0cMI^pAYsNBl_{vYJD zZF(&{X*4ZNT99o(m1grRF+|L)e>iq%R^Itr4 zLJ0YC=9ratJ=eA0(Mymb*o}zPYXi!#v z->jQQ5>DT~`{dSb(kpS&yu->IIka7_{KUbbfAtP8R~(!FWYs-2@e<5@+a)j+a9i@8 zKCaJxY<_q9swBN&iZVR=;gu1Y@ZrkvyhA@tIHt3g$DhCTzL+5WYKQczN_?CXY<+Ok z(8a;sPXq-1^}dr88_z9Bl)xin@%*IE@KR>47LKu|6b;rxOk)R?;T&vQ_24|es2DKH^Vg>irQ4d z!jFFT+pb@oxDx*Re}=Cb`rU`w(#yw;_>Q#yv(L@b3_Lr&ZQd)Iliw;{x>x#jj`ZAS zMJ{F&|3CEp?j=PbymV^7{==@!-GBSRzs5E-@@UwW$&J51IU0ZKsR9Y#7T$*^gQd_r>Nn(nF2DE0nV}D! zS^4H0?uF-@bb@*``q`YCh@54AYW%1A2c;`EK+PmAdwSmZ)1F5HO8y?+r*;)epxZ_C zqUi@AkKubwuV+2DwD!$ozYYIE=mR;&_Ae`zUfwUwDUoK3YxF~g0}_65LLcWB?r&YB znDNkZyQlBg$t!J&$4jM`4@ys0smrjAKlyyw+t5wUc`5pt*ZsfyBm2Kg9y-yoadUxM zxcbB^4_y3x-LqfL3IF1f<%ODdZ&t)iHJ=TGx~`F%g_nFsP`ymQYJvuX}WFCUhk zJtEC$67c&ESnz)<)jisqSUdBH>?bW>bW}flRC=jWn$cju52A!iyI**F|0f^L_*2B2 zyDFoLZ$#MevGoS7ap=A;wZ9hr)o6XH@q|st-~G46U(~Go@X*%G+Q(w^i>suC$E113 zr5Pur*@-Y_>i4Kl(qw#!FPf1LMB`sS{Id4dwx9k%m9hGG)~|kEEiG)3;gfd{y?Q9) zuWA1}XiwUF?x!)Ih1W>;apJ2W4j|~r4IPErq<-|Z2o@f7V))t&5`DFL^+!=?zfk`^Um@QD9m4o zcvs%@*ZbGx?RVy0I(Ri}W{WhZN*<{Y{uZD5dixU_Rvu$}t7qNc#+}Cslx7Ty`c}-C z_tUR5W1~0b&3p0chtczY*&bJ4cVe9D9u$^DV`l3%K5eQ%fh9zdrYp20SnG9TLKoj=yK0LRZV5@Q6j!XYkN34XDQvRU zC^y@hm8=Ub?Ynf;HqSz>JNPky+N25BY$+~kk*=isOxM4}vpt_I|Lo(pm)`sFodta_ ze!xU>Ki<^65B`-tz5n37@JziIQP8ju{c#kx;G(&ma&{9bSuZ{+DMwC|K2FAhk&=bT zSq$YQ^IaU~Lx^Lf5iJ}hUY$di>@*b%}?Ijf=C(OjLJ zHB!!)lC=Vjw}e7VkvzzGr!7r+uXR{nqr?REQJb6mq>&9%-83Q3lId!tLUn1uuvPKJD!u})?(_Q zM8T>Ek1NFco?g15RLyqtDbRs2d*065E zUIiN>46?Hk;CEMRu8Id;y~;J3X!{<^gt^*!Lf@v!MHof3xyQK5Ql>ksIiU>{);J5) z-MS5~Kt;LZlo;#kb)7VwQupZl4AIhn%HKVpUSSQhpLHjj*ckdXcDZBReaZvwd_L6~ zWt!y9NXLXKMWbz%lwxEPGy;tA7EpJIUt{aAUAJu!c8dqZLhTmwM#~ob(oBi*Cz)?S zR6t4|BIV2DWNk9Gp7OoRE($4GzMX9(#EaVMz2;dQ;b{j;2YO#M?bvI!uU>Vt60bTF zrQDd~sD>3FrN}p*#9s6+wnAL<(Z&#Yu$=8jnwDr8VTF=aOkW=Xay^=HC#yk9?^{mS zY-zd#Ypirq7!%sC?;{0PNA>HKteI;0C;*Km#g(q4S~VC6YMrNA=UuFoaJ!CO24cDQ z$yqPuV5a(jiY{ZGwcpsUTraR;su89?!Lu7w10$TA#@kd<=`O<8*i|SAQLzm``F35W zteHzOu^3!&tL!VSEDou=%M~a1c-1y{yWtYogH4$s^c%v&Np7t^!hKVdWIJvMG;VR{ zi(9Q(`aoASm!@9r=+kdi?seul*>39jhP%ZvCFYu0F0N$xDpo{@Etik&hxZ2BY{LpI zqg=eD2~NgL$>ITS$e60GbaraHxk=+SOPj1nAj+O#M$4n9>(8Cw(`D6`dVaM$Mt)tJ zEk7dnw+35p$v0R-t(l6Q)@DVgVoVXBT%%mCj8YaV3%UK=A#0uTys}k!+8V6dpt_)p zQ*~G)ETh&j>$o*vUZ$GhYEN<6Y9JP*CN4uj+7NBp@1?ku7 z`()wzE&42dj($jAsSk5*aHjAv&Q^UEcSYZ)&vfo}1{?C6DTaN9V)K4yg|o>}={)Xi zH*^`gxprrl^Nj3@Gl0MD3@`>7*BB?9YmL#y1IAoeg{sC_;yP{It~>3jRu36RjFZMu zu3fjv9pOGCi!;TW;`vPoX4>seF$Hq#6$y$xrb3urj<_34)$S;M*aVj*Hyy#D!g`^D z+veUORLH`_EOm)cAv6i~w*6w6*eP@gxq5%|dh=y*K$Tz~5C_FEaa>F>Pl!`uHJ58{ z*4z>Uq*g9a>f&0=C9)7{%sg(6H?Fa)voz@Q>|kESyfaevVzBvNjd#B*X@}2vkgJ>7Z}sMmctc@>A99>U8-akoPwZ>dLL` zI^}`s7@sb?2~@2YkE+(_S2+gFla{jLJmcWKW)5( zvy82$QshMeVY3P3iRFaGf|JwStTT+meE8=pwg2-i?fk_oAGl#}jcTc=AB(4OCE33GQyECqS|AjnLrhGkKU za!Z+o-M)BFTZ zA7NQwQf0SftcGf11)L_lU}yC}K2rgP*2>OO9uD9Oz*+6?t@yt~n)$XVP8J|Eac$OP zmPvPmVaP~4O9$7*4O*jxKz*HkSTkjq(sZgenXalfn+8=0rWKZ6dy76vyHgu#EY%l) zw4PUtD56|N>IVHT=MLwD;);GibsYMSv7Y+2kz0>>1yTL@f7{KNn@3)Of|~&$!b(<`7Qc5KAz9e2XgBy z8@PBb%vq~z(qGXxnEdU-CN@B$O;WI7AivJhti?MSp*$SqBHM@u_etMl%jRvET- zeYlMcBQ3kGWn+XBS~f`tdUTsG$H@Y9z$W|#jI4Go85NvRs8q)=lLYZ7<lGVqU9|@e?1G(TUXkP>Qgteds zWF_x$8H5t9n*(F92B}xF3@L^x1M$HtgmgR2N2T+uffyZPuC~d$!Sa;|N8~kNKO^~I zYk-k>;&Q$WJaMOx%#SJdSa-U5wU@<>jziWW7cpC7AdIKI8VDkc9adsXI$fQ*F76U| z>~=?(G>%`!O<;z5%n|N1+ZOjGXSURANOy;-*DFH63Z1g$xMM9f`d*OqK7ABFs_u}$ zaj(UQ6_dt3ZItPz2J|8f*Ro+H>j!z``;F&JSuPe%d7%at1LR_K8}%%fQr=nFLS<>$muZKn%wGYeO$OhuWS2)Dm= zgA)hi9%?ZnXF1-MW>y099rmS^YEy;TSvgXW{9;tA<#=OUp5z$e2|cSJ z%yF;=LcH-Npl(cAWSBDEP{zrET-DqKWtR}Zw}QE$IxTwEN(dsAg`Mz7ih`7rk=W_CL>JF%Nm)$v@RyGege^fwo931-$#cgwJ`%Y;`{tcMUIy#h3VHC4sQ%JogO8*%9N znd|Ifrb2GY!1_=QCbQka1}N3%8q%{-Y718G7U3Ywy$0Yp*aLyYDr0A{V9LY$2mv~Z z&85ybStuCzGtPd)b#1e(&v{kVY-rRFlak}E)wPJkJXC@XvHWSqI20}AP1q~V5JK2` zTq#y?iCl>+kjv#*IQ75E&Z2-^oW4k8TaeV8u}>M!21@UCR;)W7KRH;XVUP zCdAXH06`T}4XJv()ht|bjg~Np&fjUr38%fO0g6jMf4OjrVTkub@|s;I_s=qp({s1!## zmQ^E9S0vx2F7Yz@9Z-LD@zV;dT55-pK zrf~ZmEozd`&qa!L_9h5yB(mNRCm_4mOlwGKUixJ5(ugbsY}yIvMO(q5f%^B*IGXgu z0_&r3;7R%kq2jtmCHr_V=xx~dx>mi99h?%cIE!_;=4ujPI2Hg#!cM#KhB8$@sm#&^ zxz4+?P5JgH=Wg^n1y=ElY?~Bp*srWmHpR8l8nYk@vG7>blCSleS<=QyTm)<)wz zX6vam&A3`*(Ma)h=0Is0i?nRJo^1sx==3^m^`2jGxK_~#7jJCT71%PB<8~IQW5xf; z3*uLXe(x?{4$nisKR=3Z6}wQ@)-HseIIwrf%22=!EMNiddKDn(XF^(T!7IGj_mizZfsYg((PfP4>^ z&-WYHX{0fl1|!>!^Y&X{&mn3xbF0OZnoF)$M}WRlw$2o;zwQj=Z#Z^}Nn)~lkEs-5 zOszJ}n8P1cXK|OcJ6tu=USo}E$`)!Uz-h|P(4E#8Su^$ST}|zj1A(dwh*Pg$nP+8} zDGzGz9zwj$IIKnw?UQcU4AvXdpbQx@-hk=@Vh|J^2@2wSnq`|oA&B#7!kmdJ0VDH!Wf%4@L(S^BN) z685VyR9ymEk!kcYw>PO4sO2Qk*GC*aK**jF@Sg~huoF`#baQ1Z3629?VDoCxn5nYtJGIIOY9d6HJV9dyR%HyZElurRGzWd2&Bns zbk`W0?IcTX7kAiLBKkG$a-=xcnGdNt#T5B%@suId9c`Ylj|k_5ZQ?#BOQJF0z9~T8 zWUnXo8XEpRG^#dDja2Ps*;EThWe!lWPLnL%RwcLwoGh2}@iOwMF6kve2#P4L61o-2 zJ7DxK$fHPe88+w@j!`M({~Ww_5atmXJ4rbhK`*hh#GnPcx)qq68p;pQvj)N_Cu<_a zv0Xq5rbwva67}>NaVU0B$qJ5LB*b+$A(nrM@8|(p?4=ysV~`Mq+f&O&PI^t z4&YE=H>PV%QcjHoW%?E@1bGG*Wf{OmV7DoMog>-6RtRWcBwRG%ZUIPB-~N!dc#^4a zYgpiPUNgojZcvd7D=)xFAxwX(Z5F6H{-{AxU6Nz4Jca-oXx{v{{!)w0tneNC8cgJkU zqEVZkdn1ji%z`(+Mfk>BWCuM+69x`3Jc&BYlUN#1OLjoANJN^+{4^~0nx8VL29$r9 zgh^(WLkOB)1eEt#vZWOQmRPa3mW-7EK{Y}JR)G}XZja~d-Rv0BiZjkWXO0_On~I&p zwdw2j39@IB-LghGZKbF|9irt8M14*}wZfVx2lS*JcxRD!P&%2f#N@IT;yW=pjZn2H z=#@=#^qr{Vm4AknC-@ug-LNcN;`S=K43K&B{?-V0z3rwZ5O*L$S+63)*r&&m@1nc; zJJ>~_kGtS8`-;qnn#^RGr z$*xM0>1G=}E9^d#)Dp(LTR=mBg{-*UV!xTpfW)u$T1kFIy<9vYpQAq{8#6P1Gtx!E zD5+tCkS4x1Ps=j@^Q>RC^i#k0KZlQ;-*Rv4$k)_8>(NkK27_3-orw7V5`#8SmslW? zKoi+E3%u4%VkFP=ci2d>ZDLp(QRl@hL#3tBQtKq)bi^&s7rBp^YIQ@lW2PGSMN@)0MYBRUt=S-4(Bwb` zRU{k}F4zOK9m1G0)@#+6ve)V_LaSe|OfVndavWK@D)VWtF}($vp=_x}ztaLGfdqCr z7Nf)dyP#p4>6yT&Z83l2J(EC9<6(RT@)ZaK#|lY8S{WjdT-N53?{_1|XXc#%VUl-h zhm37R98;)Oys^M`+Qrh4ra@#ALU)k^l($&7>tl^^4wj264#o*JYbJ%^xVh0DXl41x zRroCaUTfe!YFlh(2M7;q*g>GK)SY5D1WA~r;|z6!#Fzi2d0^Wmn8B8*39s z#E86^E3|>^f-9#I@WcH;Yo2#iZ&L?3Y5CBaZnNEjuR)Q#L>_4-qrCUY22oc*3b-MC zh7tU8B<9hlCLcoy)_$%&!p@SX4~=okJF98574LLS{O2q+&ic5v}@gsh=lyxm}+_Lwz9M!fS`+fh@!ebjQ$ zTI^yWC;^4U0lALq_JJoN1PzU(5-*n&MX3y~1?C#0APtwfyV1r+&%8R8XdFPlIl-Sb ztd^6pZ6}P80g$oD9N7rjEy`NXN11|fsBd+VK5IYBk2jRTkmgAu>$di}CXEv=GPb4J ze8x7??Ho1rDoPAD+}qq0IMTAzL>I@Dm2xtrCG#OFSXsRqC7*&l$7^9d3$r0@yuFGN z=+lDqVK5pFIY@0fq>lhSP2pShd3>MVYn$C@`NkVBmZky>J2*F_WY|E7lv5?!&9OZ2 zYKj0N|C(wNA9kXIC(SS>a~IVL(C?D7B&47)2(@}`aA~-b1t{4OVotGz_Ruw6| z!2wW<>pMqdJzIOD$^cB|^LFrdVxfZMc?Y*;qH#K5aeXU_F%6 zYhry=lPGDCP-(<=?x%e4an~q6gbVWu<2kUHQT~L2jaXRG|9$u@{ri%?;6uRVD&*(; z>CV>Tbsh%C6GBU!B!(vK#12%U4zZg&dmu6t;#~&~M z7!JwHmj0jGfrHdju!WTqg3=!XLN4@4g)2=yxzIPNrptC()3`xb zjhh($D1IMbuUzG>0|UY?K+~;i(w}#cCSyOGJwS}w&m$r|uzny{Bw}QPNbxa_0rjAo4M92m4ef9@s3WhsJpx+@hP@gt z7M>hyEE6``V$^wurppS-GKMr6V#a|&u=TXD)t+H1HUz8E-96@h<0%^*Et|!&2Com< z6!l9?3tMT!%Pe!32(%5^8eGY)!)FbMBn7$s|{HngXwfS_FUu#ipXoTZ##%P}i! zrkrLYYXeR@D1P;l#^6ng$xp-Xv8>Z2dbO-o+!{*_4(v+(1*l5~UG2^&s8-I{;~mfl zb)XmA9c~nQb{U?C-*7cwMRUVfE8)&SXeD@8N-fTGOxqd@8=zss8*&h6PP65UO;AQ> z>H3XX?$hQS&K^uL3`N39Ta$280~z5O>UmFha?7K&^_4hE5)K~nI`vrSU^fUG-E0EL z*Ko9#*iFi#jZRkoJ*FC|%Q|KEZty9pMM_1OYW?k~6=z_9gs8m=$Yr{5_YzVj7sJ~E zR^}k&@@w_^aCBo~(>24XrdOvEK{+{k7Cl`uNM0)FYcsB&&N7rbNdh|q8LSV^Ykkgg zevh@%c*fWa*W-=w6NypnR&~0%tP`#@Ync1G>Ij&=?dl=hMbipl#C^kEXz$Tv3ZY^S z3>C#NXpyw#m9(@iVvH`yd|Z(WBWw#yg`Kh(eY}*Y&z8s_*aT^76w(%pr*XxZSOSoP zn$ya5dq?VIDTLeMpGqbERx-3v4qU3^Vc5C9QXXg=R+3X+vmsPLZha&ITrrb#-+E!2 zyN6rt=vDL^A{=4j09^fOvyB=`6nmWw#(Gxi;h24~7D$Dn+QU!CB_6mdIyi()WbbXi0_{?96Yv)a%exKByv1HO|#~ zT>186Bjwk)lHoQ3&gKl|dmX=;k)nsX0E9&#UlR{b3M4)fbOjt0?a44prG5`N9zv~E zBy3a$8)C`2RY@L^B+nj^ryALDT8ela1D0Yd^-eE?wR?LPSQjCd+a*E>)V)9p`RYd7 zC(MKD6Z(^;HdUWtKsBHa6bjVqoVm`!)-_VBi!~6pQqRMSy`S0+;w53TsMcBfziR-lG-ew2p&#p@D%9%p^q&wXMY6J!H6xKb?(BxIe?NE45GlfXRS%wlc)g8i z%cYphL>5PV`xLsdaO}nv?91KmR6_#vOjFJ@*!AQr<3EqN|HZMr`^oZUUpwiNX*S48`L8Z0k)%tl>R zzd6#JXCYahJT6!c^03mz+-;7K&br9EmK3AST#nPLF({;3IM2!n zG3$qbDBmoyBa{P6V?kt+ldbgvVhC2qgvp=N3ijQWJfo* z20LpMx*H-&mrI)+2NYw8xw>Z)J+c0w$euO zF6S}i_+Hcmbv@*D)?uwYOZv|xLag(jm;ZyZa-A(@7-RX5;D?NhSU$+ud| z6{KomQPdu^JcbY~+GavH{sOzX{sc9!k@e_iUnQmy`P>2}G7 z?|p3(t|1T5X=B`8^b1)%PUdr#VL5ak5(u_P?P9 zuS;7OQeML$-rXgnp)ztP)mr3=Bu)vltvbM!sRkfHrmD#;loe1}t(Fx5!7%v4b&M5L z-l&C@0DUX&08)3CI*F^y5!z&pa^fk2TvPTK9XVB;F%nOCLrEcVUDnfP;wnSj@lu*C zQBMJIqk2|K{m1ib;lRiaQvVoV#WWrzJZWMl2&Xix2I#x*Y04?Ev3elHstQ>n3{j;2 z^E$NdAfCNV!vYj_E}a4xWgdT04s2v z5H{73=@z3vt_86fY!vr0oq=!jbumsx>;zdH``~~O!sSVbRe&=d8>3cWk|qeDO!0RE zao<&h=zR?#@aXZ7UgDcvzcWfhbO76hhsTZTF$e4LIjQ#0=*QWnO0{Ju6%Ey z7%64Cj4byF@ae`XIzVM>br66{k$8Noa|=+_;-$~09k+BhjZh50X827di}va6x_~}E zo{N;KgDIPJQyFe~1$f7-K1g}%;RH{$ybARjlmk9$-2IJjK8dDkGRlnD2i3>4ZIai? z$zMc=(8UJ;eWu=3l$x^POkYi9X-2kLVR1o)C(kERvezO>DjRjUOPAx_}V53FshI#GU9_vTBk2 znz-RKf#PS2|2vavYI2~o4{gqZ!EK%vNx3@48X zSs*k)Ih@bKvC8WKw}CrhgQsH>YRQRp@UlM1xKh?D<8fS)MiK|+?r;8Zduaez!TCVA zPi46$IaY);chd-}w4X}h@^s*vcU*?1@)ARY&yl{II_g!jLxfn^l|VjA zmPoHVLk-XK6O;o}NFDHpja-jb7xMwB&Hn=M@w4nZqMw$eiQ!cz!|zj;7)(Nw_oiC&M>DK@-(@*Uv5DDFEe>OUj7XeA537f=~kYyNzyf^74&l5NS=tE(V9YOfc zgo3>JVdk1bE#Hw-jRWu7C#<;$Ei6Ll4|!+CsLC}5bmv|9_9g>)3s!kUfVN2!@W{<{ zZ{QNG*`{RP=ez0eXfQ=7i;TgB3Wyv~vE8E4C7CJmvlt%lEI`7jLGfB~AMz;)#I^6h zSVbk!d8`KVmkjlmZVOvOd6>6gs#U8kfChqcpcf4TYFEp%40ZNmvrm+11bN3DBD^&? z7EOq@vB3Xv^dZ&de_Dp<3uncvA$l>P~#>71dSMplU)ku3Cw>R0ISdHuX+i>Td3+`lPx+ z-Ju>(HwWr1(1)i!I} zwVm3_+Fos+c38Vs7pL2yJHRFDvUJ6|3f(cpZ&7q=E8Q~Q}q_r|QQHLgd@>Q-Z%F%|Bb8OFWFA~^4tmQxL01(W?i| zRZu#RgEU32cAI<5+4?>+#jsAAS6bFsLJ-ILRTS$k3&pUW&?m!b>6+y_IITcy5TchU zcA1PDQKm%ePU~)K4xeW&g!}d(Yqj;1^@8<+vcuZ#jaVMHW*SNUinDD;wDJxcMJs1d z$14}w!Z?anPJ=86>yl>5=5H@C1lhyw@%Ab%UX^a&W6!r&+NGnn|H`_1RBSBz~ z8(Qt{_69y*Gj8|ADzA3r^WlyN2btI?W;xlB=^%n%gHLhPI`(LNQOYA+k7LMj!!hQV za180!IeqcTQO+1=9O4csI(dyc$2p?Qa~3!Uu{|k5nc|aEHJwghbn+$VWz`kuIn#CL zxO2ie$>JQ-DPgVwEYt>WI6_UG1(%#Bw9zl_%Y+#ML4>R|Ja`s~jnA7VB-> z#W>OHb}UkuOPzSd9HMFx&xsVXyw6H8%Qw7H%cM-CsO38m%d4aiDMH#JZG&Tcys-^o z6M0gTZUa{=l}ZKb2-^u;wNxXWM&xpfgt+BoA{X!;O@W~I4b3iDXsVks-r+^?ioD^H zUM?ga#y#~NP3^ed>t_#Z5l%azdD(Q+O89{T6?eX*fbS?YLu7#1>5DNqYhZaO=aK}R zG6hJOv@f5Ut#|h2rH&l##5EoVo^wIHxY12r# zw*CT*{%jcl>vUN1}SBSrUHShQ}${% zn9@3`(=21B3E_)Z5By=RbCf63OTS^K{1SW};jIHNoKP?M-3mfm2?IwLJa0m=fhf9a zx7%lap|JK|MS?orPF6>lIyCjRR(q^AOA8k_?P>EKZNHMdY2b?uGfSP+L9eq3cZ5)c zxVtly^7`YSqtRg2TPUXzM*urdIf%q*n=a`f+zERk3BY@`mz<3G%NS#KbxVFd(wtuD z=_}IAK56DvX=cAPb3mG@)@bbxz0=i0wPeDe=l! zULKX69;2rEW%zckug$;4CBF%2_DyN=q%?Dix_(UW_qea@&$lGM+tPf04|4UheR;oF z;qeRb%w6eO6zG|`ib}q#pY?rT*=kvk$8WV~_N4TRFJti%Tb=0(Vm$x)Lu73 zZ}8UV?|bO;jUK;Ep1HA}X97L%Ot<*sW{=+%&*H6~r?+`##?kPCWcp>F_-+v(i}(0# z_smW3JhQ{|T%hOYPffS_NutMZr)N=!=N@lGPIB+^_$7H}Cwrcrl$K4;#@}{({8Bt~ zQaza6S<|!oyEKnqx@T^NXJMviaiHguPhare>BB6K-yYALD9?|59WMGuw#RR;=amr8 zd|!nZb3A^zp4oYxMU&F3=^M<<_xKffUfSn*F3NM~^}Jc=@hkGoEv8v{V|ui&?f3YV zcorS-JY7n&qF=V$*XIWZJ$_}Lx#gbcDric6{qyO;{OXX$@33di5f4_+-06YOIqLDN z^eis*{MFa?vnr3@G0)uNp2a6T3j#gQJwM%c-bs&NwP$XP=lMX-d((OEdKX)*XMUZ> U@07={N7ib=zaeF^R~h^N01{E*w*UYD literal 62942 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 diff --git a/src/main/java/me/trouper/armorsmp/data/Unique.java b/src/main/java/me/trouper/armorsmp/data/Unique.java index 0c6ac1f..6673dd3 100644 --- a/src/main/java/me/trouper/armorsmp/data/Unique.java +++ b/src/main/java/me/trouper/armorsmp/data/Unique.java @@ -1,25 +1,24 @@ package me.trouper.armorsmp.data; import io.github.itzispyder.pdk.plugin.builders.ItemBuilder; +import io.github.itzispyder.pdk.utils.misc.SoundPlayer; import io.github.itzispyder.pdk.utils.raytracers.CustomDisplayRaytracer; import me.trouper.armorsmp.ArmorSMP; +import me.trouper.armorsmp.utils.Display; import me.trouper.armorsmp.utils.Text; import me.trouper.armorsmp.utils.Verbose; -import org.bukkit.Location; -import org.bukkit.Material; -import org.bukkit.Particle; -import org.bukkit.World; -import org.bukkit.block.Block; +import me.trouper.armorsmp.utils.WorldUtils; +import org.bukkit.*; import org.bukkit.enchantments.Enchantment; -import org.bukkit.entity.AreaEffectCloud; -import org.bukkit.entity.Entity; -import org.bukkit.entity.EntityType; -import org.bukkit.entity.Player; +import org.bukkit.entity.*; import org.bukkit.inventory.ItemStack; import org.bukkit.potion.PotionEffect; import org.bukkit.potion.PotionEffectType; import org.bukkit.util.Vector; +import java.util.ArrayList; +import java.util.List; +import java.util.concurrent.atomic.AtomicBoolean; import java.util.function.Consumer; import java.util.stream.Stream; @@ -38,8 +37,8 @@ public enum Unique { .customModelData(2) .build(), "Netherite Helmet", (p) -> { - p.addPotionEffect(new PotionEffect(PotionEffectType.FIRE_RESISTANCE,21,1,true,false,false)); - p.addPotionEffect(new PotionEffect(PotionEffectType.HEALTH_BOOST,25,3,true,false,false)); + p.addPotionEffect(new PotionEffect(PotionEffectType.FIRE_RESISTANCE,21,0,true,false,false)); + p.addPotionEffect(new PotionEffect(PotionEffectType.HEALTH_BOOST,25,2,true,false,false)); }, (p) -> { }, 50), CHESTPLATE(ItemBuilder.create() @@ -58,7 +57,6 @@ public enum Unique { p.addPotionEffect(new PotionEffect(PotionEffectType.STRENGTH,21,0,true,false,false)); p.addPotionEffect(new PotionEffect(PotionEffectType.RESISTANCE,21,0,true,false,false)); }, (p) -> { - // TODO: Test Dragon's Breath World world = p.getWorld(); Location eyeLocation = p.getEyeLocation(); @@ -76,7 +74,6 @@ public enum Unique { cloud.setParticle(Particle.DRAGON_BREATH); cloud.addCustomEffect(PotionEffectType.INSTANT_DAMAGE.createEffect(1,1),true); cloud.setOwnerUniqueId(p.getUniqueId()); - }, 50), LEGGINGS(ItemBuilder.create() .material(Material.NETHERITE_LEGGINGS) @@ -94,6 +91,7 @@ public enum Unique { p.addPotionEffect(new PotionEffect(PotionEffectType.RESISTANCE,21,0,true,false,false)); }, (p) -> { // TODO: Test Shield + Stream toKnockBack = p.getNearbyEntities(10,10,10).stream().filter(target -> { if (!(target instanceof Player v)) return false; boolean tooClose = target.getLocation().distance(p.getLocation()) < 10; @@ -106,9 +104,37 @@ public enum Unique { direction.normalize(); direction.multiply(2); direction.setY(direction.getY() + 0.5); - + target.setVelocity(direction); })); + AtomicBoolean cancelShield = new AtomicBoolean(); + Bukkit.getScheduler().runTaskLater(ArmorSMP.getInstance(),(task)->{ + cancelShield.set(true); + },120); + Bukkit.getScheduler().runTaskTimer(ArmorSMP.getInstance(), (task) -> { + if (cancelShield.get()) task.cancel(); + World w = p.getWorld(); + Particle.DustOptions dust = new Particle.DustOptions(Color.AQUA, 0.5F); + Display.sphere(p.getEyeLocation(), 5.0, 0.5, 0.5, point -> { + w.spawnParticle(Particle.DUST, point, 1, 0, 0, 0, 0, dust); + }); + + List targets = new ArrayList<>(w.getNearbyEntities(p.getLocation(), 10, 10, 10, entity -> + entity instanceof LivingEntity living && !living.isDead() && living != p && living.getLocation().distance(p.getLocation()) < 5 + )); + + targets.forEach(target -> { + if (target instanceof LivingEntity living) { + SoundPlayer blockSound = new SoundPlayer(target.getLocation(), Sound.ITEM_SHIELD_BLOCK, 1, 1); + Vector direction = target.getLocation().toVector().subtract(p.getEyeLocation().toVector()).normalize(); + double strength = 2.0; + double verticalMultiplier = 0.5; + living.setVelocity(direction.multiply(strength).setY(verticalMultiplier)); + blockSound.playWithin(10); + w.spawnParticle(Particle.POOF,target.getLocation().clone().add(0,1,0),10,0.2,1,0.2,0.1); + } + }); + }, 0,2); }, 45), BOOTS(ItemBuilder.create() .material(Material.NETHERITE_BOOTS) @@ -175,14 +201,14 @@ public enum Unique { private final String canonical; private final Consumer passiveAbility; private final Consumer ability; - private final int abilityCooldownTicks; + private final int abilityCooldownSeconds; - Unique(ItemStack inGame, String canonical, Consumer passiveAbility, Consumer ability, int abilityCooldownTicks) { + Unique(ItemStack inGame, String canonical, Consumer passiveAbility, Consumer ability, int abilityCooldownSeconds) { this.inGame = inGame; this.canonical = canonical; this.passiveAbility = passiveAbility; this.ability = ability; - this.abilityCooldownTicks = abilityCooldownTicks; + this.abilityCooldownSeconds = abilityCooldownSeconds; } public ItemStack getInGameItem() { @@ -191,7 +217,7 @@ public enum Unique { public static boolean isUnique(ItemStack i) { for (Unique value : values()) { - if (value.getInGameItem().isSimilar(i)) return true; + if (WorldUtils.isSimilar(value.getInGameItem(),i)) return true; if (i.getType().equals(Material.DRAGON_EGG)) return true; } return false; @@ -201,7 +227,7 @@ public enum Unique { Verbose.send("Matching Unique, Item Type: %s",i.getType()); Unique match = null; for (Unique value : values()) { - if (value.getInGameItem().isSimilar(i)) { + if (WorldUtils.isSimilar(value.getInGameItem(),i)) { match = value; Verbose.send("Matched with, Unique: %s",match); } @@ -225,7 +251,7 @@ public enum Unique { return passiveAbility; } - public int getAbilityCooldownTicks() { - return abilityCooldownTicks; + public int getAbilityCooldownSeconds() { + return abilityCooldownSeconds; } } diff --git a/src/main/java/me/trouper/armorsmp/data/io/Config.java b/src/main/java/me/trouper/armorsmp/data/io/Config.java index 63b8633..b44a146 100644 --- a/src/main/java/me/trouper/armorsmp/data/io/Config.java +++ b/src/main/java/me/trouper/armorsmp/data/io/Config.java @@ -5,12 +5,14 @@ import me.trouper.armorsmp.ArmorSMP; import me.trouper.armorsmp.utils.Verbose; import java.io.File; +import java.util.ArrayList; import java.util.Arrays; import java.util.List; public class Config implements JsonSerializable { public boolean debugMode = false; + public List debuggerExclusions = new ArrayList<>(); @Override public File getFile() { diff --git a/src/main/java/me/trouper/armorsmp/server/commands/AbilityCommand.java b/src/main/java/me/trouper/armorsmp/server/commands/AbilityCommand.java index 51d01e2..8c20cf5 100644 --- a/src/main/java/me/trouper/armorsmp/server/commands/AbilityCommand.java +++ b/src/main/java/me/trouper/armorsmp/server/commands/AbilityCommand.java @@ -14,7 +14,6 @@ import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; import java.util.Arrays; -import java.util.Objects; import java.util.UUID; @CommandRegistry(value = "ability", printStackTrace = true, playersOnly = true) @@ -39,7 +38,7 @@ public class AbilityCommand implements CustomCommand { return; } piece.getAbility().accept(p); - abilityCooldown.addCooldown(Pair.of(piece,p.getUniqueId()),piece.getAbilityCooldownTicks() * 50L); + abilityCooldown.addCooldown(Pair.of(piece,p.getUniqueId()),piece.getAbilityCooldownSeconds() * 1000L); Text.sendMessage(false, Text.Pallet.SUCCESS,sender,"Successfully used your {0}'s ability!",piece.getCanonical()); } diff --git a/src/main/java/me/trouper/armorsmp/server/commands/AdminCommand.java b/src/main/java/me/trouper/armorsmp/server/commands/AdminCommand.java index 65e6a29..e0c7085 100644 --- a/src/main/java/me/trouper/armorsmp/server/commands/AdminCommand.java +++ b/src/main/java/me/trouper/armorsmp/server/commands/AdminCommand.java @@ -11,6 +11,7 @@ import me.trouper.armorsmp.data.io.Config; import me.trouper.armorsmp.data.Unique; import me.trouper.armorsmp.server.crafting.ArmorUpgrade; import me.trouper.armorsmp.utils.Text; +import me.trouper.armorsmp.utils.Verbose; import org.bukkit.Bukkit; import org.bukkit.OfflinePlayer; import org.bukkit.command.Command; @@ -30,6 +31,7 @@ public class AdminCommand implements CustomCommand { } String sub = args.get(0).toString(); switch (sub) { + case "debug" -> handleDebug(sender,args); case "reload" -> handleReload(sender,args); case "change" -> handleChange(sender, args); case "give" -> handleGive(sender, args); @@ -39,29 +41,93 @@ public class AdminCommand implements CustomCommand { default -> Text.sendError(sender, "Error: Valid sub-commands are: [change, give, toggle, reset, remove]"); } } - + @Override public void dispatchCompletions(CommandSender commandSender, Command command, String label, CompletionBuilder b) { b.then( + b.arg("reload") + ).then( + b.arg("debug") + .then( + b.arg("toggle") + ) + .then( + b.arg("include","exclude") + .then( + b.arg("Class.method"))) + ).then( b.arg("change") - .then(b.argEnum(ArmorTier.class).then(b.argOnlinePlayers())) + .then( + b.argEnum(ArmorTier.class).then( + b.argOnlinePlayers())) ).then( b.arg("give") - .then(b.arg("upgrader") - .then(b.argOnlinePlayers())) + .then( + b.arg("upgrader") + .then( + b.argOnlinePlayers())) .then(b.arg("unique") - .then(b.argEnum(Unique.class) - .then(b.argOnlinePlayers()))) + .then( + b.argEnum(Unique.class) + .then( + b.argOnlinePlayers()))) ).then( b.arg("reset") .then(b.arg("mace")) ).then( b.arg("remove") - .then(b.arg("unique") - .then(b.argEnum(Unique.class) - .then(b.argOnlinePlayers()))) - ).then(b.arg("toggle") - .then(b.arg("end","nether","mace","debug"))); + .then( + b.arg("unique") + .then( + b.argEnum(Unique.class) + .then( + b.argOnlinePlayers()))) + ).then( + b.arg("toggle") + .then( + b.arg("end","nether","mace"))); + } + + private void handleDebug(CommandSender sender, Args args) { + if (args.getSize() < 2) { + Text.sendError(sender, "Usage: /armorsmp debug "); + return; + } + + final String sub = args.get(1).toString(); + Config config = ArmorSMP.getInstance().getManager().io.config; + + switch (sub) { + case "toggle" -> { + boolean result = false; + config.debugMode = result = !config.debugMode; + config.save(); + + Text.sendMessage(false, Text.Pallet.SUCCESS,sender,"Toggled debug mode {0}.",result ? "on" : "off"); + } + case "exclude" -> { + if (args.getSize() < 3) { + Text.sendError(sender, "Usage: /armorsmp debug exclude "); + return; + } + final String exclusion = args.get(2).toString(); + config.debuggerExclusions.add(exclusion); + config.save(); + + Text.sendMessage(false, Text.Pallet.SUCCESS, sender, "Excluded {0} from the debugger.", exclusion); + } + case "include" -> { + if (args.getSize() < 3) { + Text.sendError(sender, "Usage: /armorsmp debug include "); + return; + } + final String exclusion = args.get(2).toString(); + config.debuggerExclusions.remove(exclusion); + config.save(); + + Text.sendMessage(false, Text.Pallet.SUCCESS, sender, "Removed exclusion for {0} on the debugger.", exclusion); + } + } } private void handleReload(CommandSender sender, Args args) { @@ -170,11 +236,6 @@ public class AdminCommand implements CustomCommand { config.save(); feature = "Mace Crafting"; } - case "debug" -> { - config.debugMode = result = !config.debugMode; - config.save(); - feature = "Debug Mode"; - } default -> { Text.sendMessage(false, Text.Pallet.ERROR, sender, "Error: {0} is not a valid feature.", feature); @@ -225,7 +286,7 @@ public class AdminCommand implements CustomCommand { return; } - ArmorSMP.getInstance().getManager().io.storage.uniques.owners.remove(piece); + ArmorSMP.getInstance().getManager().uniques.dropUnique(target,piece); ArmorSMP.getInstance().getManager().armor.queueUpdate(target, true); ArmorSMP.getInstance().getManager().uniques.queueUpdate(target); diff --git a/src/main/java/me/trouper/armorsmp/server/events/JoinEvent.java b/src/main/java/me/trouper/armorsmp/server/events/JoinEvent.java index 8fa4b5f..76542fb 100644 --- a/src/main/java/me/trouper/armorsmp/server/events/JoinEvent.java +++ b/src/main/java/me/trouper/armorsmp/server/events/JoinEvent.java @@ -31,17 +31,22 @@ public class JoinEvent implements CustomListener { private void handleUpdates(Player p) { Verbose.send("Checking for updates needed on %s",p.getName()); final Map armorCache = ArmorSMP.getInstance().getManager().io.storage.armorUpdateCache; + final Set uniquesCache = ArmorSMP.getInstance().getManager().io.storage.uniqueUpdateCache; if (!ArmorSMP.getInstance().getManager().armor.verifyArmor(p)) { Verbose.send("Updating armor"); ArmorSMP.getInstance().getManager().armor.queueUpdate(p,armorCache.getOrDefault(p.getUniqueId().toString(),true)); } + if (!ArmorSMP.getInstance().getManager().uniques.verifyUniques(p)) { + Verbose.send("Updating uniques"); + ArmorSMP.getInstance().getManager().uniques.queueUpdate(p); + } if (armorCache.containsKey(p.getUniqueId().toString())) { Verbose.send("Updating armor from cache"); ArmorSMP.getInstance().getManager().armor.queueUpdate(p,armorCache.getOrDefault(p.getUniqueId().toString(),true)); ArmorSMP.getInstance().getManager().io.storage.armorUpdateCache.remove(p.getUniqueId().toString()); ArmorSMP.getInstance().getManager().io.storage.save(); } - final Set uniquesCache = ArmorSMP.getInstance().getManager().io.storage.uniqueUpdateCache; + if (uniquesCache.contains(p.getUniqueId().toString())) { Verbose.send("Updating uniques"); ArmorSMP.getInstance().getManager().uniques.queueUpdate(p); diff --git a/src/main/java/me/trouper/armorsmp/server/systems/ArmorBackend.java b/src/main/java/me/trouper/armorsmp/server/systems/ArmorBackend.java index 2d8a339..df019b8 100644 --- a/src/main/java/me/trouper/armorsmp/server/systems/ArmorBackend.java +++ b/src/main/java/me/trouper/armorsmp/server/systems/ArmorBackend.java @@ -182,7 +182,6 @@ public class ArmorBackend { || unique.equals(Unique.BOOTS) ) { storage.uniques.owners.remove(unique); - //target.getLocation().getWorld().dropItem(target.getLocation(),unique.getInGameItem()); } if (unique.equals(Unique.CHESTPLATE)) { target.getLocation().getWorld().dropItem(target.getLocation(),new ItemStack(Material.DRAGON_EGG)); diff --git a/src/main/java/me/trouper/armorsmp/server/systems/UniquesBackend.java b/src/main/java/me/trouper/armorsmp/server/systems/UniquesBackend.java index a75e641..90b331f 100644 --- a/src/main/java/me/trouper/armorsmp/server/systems/UniquesBackend.java +++ b/src/main/java/me/trouper/armorsmp/server/systems/UniquesBackend.java @@ -9,7 +9,10 @@ import org.bukkit.Bukkit; import org.bukkit.OfflinePlayer; import org.bukkit.entity.Player; +import java.util.ArrayList; +import java.util.List; import java.util.UUID; +import java.util.concurrent.atomic.AtomicBoolean; public class UniquesBackend { @@ -58,7 +61,7 @@ public class UniquesBackend { public void dropUniqueItems(Player p) { storage.uniques.owners.forEach((unique,owner)->{ - if (unique.equals(Unique.MACE) || unique.equals(Unique.SWORD) || unique.equals(Unique.AXE) && owner.equals(p.getUniqueId().toString()) && !p.getInventory().contains(unique.getInGameItem())) { + if (unique.equals(Unique.MACE) || unique.equals(Unique.SWORD) || unique.equals(Unique.AXE) && owner.equals(p.getUniqueId().toString())) { storage.uniques.owners.remove(unique); } }); @@ -66,9 +69,37 @@ public class UniquesBackend { } public void applyPersistence() { + Bukkit.getOnlinePlayers().forEach(this::applyEffects); + } + + public void applyEffects(Player p) { storage.uniques.owners.forEach((unique, owner) -> { - Player p = Bukkit.getPlayer(owner); - if (p != null && p.isOnline()) unique.getPassiveAbility().accept(p); + if (p != null && owner.equals(p.getUniqueId().toString()) && p.isOnline()) { + unique.getPassiveAbility().accept(p); + } }); } + + public boolean verifyUniques(Player p) { + AtomicBoolean success = new AtomicBoolean(false); + List checks = new ArrayList<>(); + ArmorSMP.getInstance().getManager().io.storage.uniques.owners.forEach(((unique, id) -> { + if (unique.equals(Unique.HELMET) + || unique.equals(Unique.CHESTPLATE) + || unique.equals(Unique.LEGGINGS) + || unique.equals(Unique.BOOTS) + ) return; + if (id.equals(p.getUniqueId().toString())) { + Verbose.send(1, "They own the unique, checking if they have it: ", p.getInventory().contains(unique.getInGameItem())); + if (p.getInventory().contains(unique.getInGameItem())) { + Verbose.send(1, "They have it"); + checks.add(true); + } else { + Verbose.send(1, "They don't have it"); + checks.add(false); + } + } + })); + return !checks.contains(false); + } } diff --git a/src/main/java/me/trouper/armorsmp/utils/Display.java b/src/main/java/me/trouper/armorsmp/utils/Display.java index 86dfe9c..205c4a8 100644 --- a/src/main/java/me/trouper/armorsmp/utils/Display.java +++ b/src/main/java/me/trouper/armorsmp/utils/Display.java @@ -17,6 +17,25 @@ import java.util.function.Function; public class Display implements Global { + + public static void sphere(Location center, double radius, double verticalStep, double horizontalSpacing, Consumer action) { + for (double yOffset = -radius; yOffset <= radius; yOffset += verticalStep) { + double horizontalRadius = Math.sqrt(radius * radius - yOffset * yOffset); + + if (horizontalRadius < 0.1) continue; + + double circumference = 2 * Math.PI * horizontalRadius; + int points = Math.max(4, (int) (circumference / horizontalSpacing)); + double angleStep = 360.0 / points; + + for (double theta = 0; theta < 360; theta += angleStep) { + double x = Math.cos(Math.toRadians(theta)) * horizontalRadius; + double z = Math.sin(Math.toRadians(theta)) * horizontalRadius; + Location point = center.clone().add(x, yOffset, z); + action.accept(point); + } + } + } public static final Function> PARTICLE_FACTORY = particle -> l -> l.getWorld().spawnParticle(particle, l, 1, 0, 0, 0, 0); public static final BiFunction> DUST_PARTICLE_FACTORY = (color, thickness) -> { Particle.DustOptions dust = new Particle.DustOptions(color, thickness); diff --git a/src/main/java/me/trouper/armorsmp/utils/Verbose.java b/src/main/java/me/trouper/armorsmp/utils/Verbose.java index 8a10237..cb64992 100644 --- a/src/main/java/me/trouper/armorsmp/utils/Verbose.java +++ b/src/main/java/me/trouper/armorsmp/utils/Verbose.java @@ -4,8 +4,13 @@ import me.trouper.armorsmp.ArmorSMP; import org.bukkit.Bukkit; import org.bukkit.entity.Player; -public class Verbose { +import java.lang.instrument.Instrumentation; +import java.lang.reflect.Method; +import java.util.ArrayList; +import java.util.List; +public class Verbose { + public static void send(int backtrace, String message, Object... args) { if (!ArmorSMP.getInstance().getManager().io.config.debugMode) return; String callerInfo = "Unknown Caller"; @@ -23,7 +28,9 @@ public class Verbose { callerInfo = className + "." + caller.getMethodName(); } - + if (ArmorSMP.getInstance().getManager().io.config.debuggerExclusions.contains(callerInfo)) { + return; + } } String formattedMessage = message.formatted(args); @@ -52,8 +59,10 @@ public class Verbose { } else { callerInfo = className + "." + caller.getMethodName(); } - - + + if (ArmorSMP.getInstance().getManager().io.config.debuggerExclusions.contains(callerInfo)) { + return; + } } String formattedMessage = message.formatted(args); diff --git a/src/main/java/me/trouper/armorsmp/utils/WorldUtils.java b/src/main/java/me/trouper/armorsmp/utils/WorldUtils.java index b52fdb5..c74a7f1 100644 --- a/src/main/java/me/trouper/armorsmp/utils/WorldUtils.java +++ b/src/main/java/me/trouper/armorsmp/utils/WorldUtils.java @@ -2,14 +2,15 @@ package me.trouper.armorsmp.utils; import org.bukkit.Material; import org.bukkit.inventory.ItemStack; +import org.bukkit.inventory.meta.ItemMeta; public class WorldUtils { public static boolean notDroppable(ItemStack i) { - return isArmor(i) && !isUnique(i) && !isChestplateUnique(i); + return isArmor(i) && !isUnique(i) && !isDragonEggEquivalent(i); } - private static boolean isChestplateUnique(ItemStack i) { + private static boolean isDragonEggEquivalent(ItemStack i) { Material m = i.getType(); return m.equals(Material.NETHERITE_CHESTPLATE); } @@ -26,9 +27,20 @@ public class WorldUtils { public static boolean isUnique(ItemStack i) { Material m = i.getType(); String n = m.name(); - return n.contains("NETHERITE") + return (n.contains("NETHERITE") && isArmor(i)) || n.contains("MACE") || n.contains("NETHERITE_SWORD") || n.contains("NETHERITE_AXE"); } + + public static boolean isSimilar(ItemStack item1, ItemStack item2) { + if (item1 == null || item2 == null) return false; + if (item1.getType() != item2.getType()) return false; + if (item1.hasItemMeta() != item2.hasItemMeta()) return false; + + ItemMeta meta1 = item1.getItemMeta(); + ItemMeta meta2 = item2.getItemMeta(); + + return meta1 == null || meta2 == null || meta1.equals(meta2); + } }