From 897c5681add11a6c8a1702042e483a72fbfe34ec Mon Sep 17 00:00:00 2001 From: Jackz Date: Thu, 15 Feb 2024 09:02:57 -0600 Subject: [PATCH] Remove hard requirements --- plugins/sm_player_notes.smx | Bin 27694 -> 28023 bytes scripting/sm_player_notes.sp | 72 ++++++++++++++++------------------- 2 files changed, 33 insertions(+), 39 deletions(-) diff --git a/plugins/sm_player_notes.smx b/plugins/sm_player_notes.smx index 0c73931ceb1ba8c1df6992b7893b55558336f530..43c9937a0db4af3e273c4f47adb826f422b46241 100644 GIT binary patch literal 28023 zcmYg%1yozj);5$DTAWg}xE3!I*CH*&OL4d2uE8np?k>fpI1~*|(ICYocyNLS3FOcF z-h0>gXPv$FGkf;TJYy##>wNzFRqYunD!?8Er8pH8g_s5v1%>Vz%D=yVG|dSL3OX_* zb%ugc$AyA|jl>sJs3^BcKO!VPL?*~UYAU1z(IPR@&Wyz5^r$FpNC!?No)ttzxkf`l z5k%rYqNpfvB>sfN10PXQM3ML#5~IkVqF^J-GeAP@&!{L2NNtOh_y5ISNUV;;#z-B3 zlqMvOL+TWyNXeq2kRo*nQgo5{pR}Dw@kin>NIi^{AtZL~Kw>%{RFohjhZ`g=_Cp$xnR1#rem6(q{BGiAg2L(KZfa+3=K3%2FmXWw2NO4I z5A%P4JyN;2xmo|m_g`dh?q=oq{lDh_x&9kt?%;0!U%Q)^llgaZi~ld=YVP*mkeQu{ ztLy(oT3DOg{V%(Jb8vHUH~XLO{~3(_>&N-s)RNP}+U_5I|3EuyhyOuq2Mfpl82`ud zUk^(=M^h8K|G7Jw{ewN1kGt^nDdw6n#IZt*rRd}$Xwltc2k@m|;=hjktne~Yj`5Y! z*W@Uiw;r!-)7IPp+y$x?pJKB#E6dBv)$2>6I5aA?RV#{0iHV3fbZu0pO-sbr+5F-y zx$kmaLAkjdjUW1X>Te$Xffpk?BCZI85NzFbQViw*H)3S52>a9rl<_p(tVr7DqRe}{ znTZ=unfJ!iVZ)!ew|2DW>_?!{&p@N>K%=riqt-y9{6KI*Ah>z6Y&OzO zHqvc3w7zd>Ic&6oduk_pYL|Ly*LrGKdK`Ot9RK!kaq5D(mU_7QdmNGFM+O@8^wiGx z)UN;6@2u`$E_H$VZ+@PoTWzGLI|KtnVj zDjJXgO~N{=+bAi}C@Rn>ED%hN21FA5gznFX?$3z^d_?!hz=j{ez5^ zY&bfSIu3lx3)$;a@(zJ+*^9wX;373q6jDJzV~ky;)}eR?cywwZ8{s zzM*Bdq2;&%`17yRaF63ukK=d`m-yt5bROs!KXk=vL(6W18*)NTAPSL+hb=!xeL zcbZBuNnXRWqbQcK-2$Qnx^R^TlWt$P6GF>k3`sWXVPuROlg633-AA`>u*&=Vc`?Lq4>$FM#B()oy)tW`B)MR?@*iPUQM%WcE4HRxkNpv4g6%S`%@ z+#d*(>RjojCITp14jXDb%FTGGP@_Np^ikZ>y=`8n$9Fnvzo^&B?9?;YZC@-SWrl;D zm!BeCQ|k%1rk>&sILLH4|pdD_euPGwtsuDC>s1%`8`J8SU`kSf}V*seJi% zL10}pRxtib*qn1-t}5VllLY^(W$F)d4_o*A7C|>=-4@FvD{gf63s^qvW*;4r&oJS# zTaktKLeb%`ZeBnH7$zNKu>2C)LT^I9U|onuQfNgZvLZv}>e74cHF>To?Vn7lVBS2ftb|{r z#Is+b7xuU;u$pMcyt#=(xh#a~aWZ2MbhrA4WoFq+^2zW>sfDSyK|-A;15eZ0HZT;bmG;272vn{^L&E^*OGEpeBDLKSlxn^Yw zi}@y4c-5CmnL=XUpRVkaTYTd_=sY9f^y;g3TJ@&rRF`w|v$b?{HVo54Gt-M`Q)-H6K@|>s#Kx z&U3jo<7LhHl@ogI!zy_y(K_Y1^TwUrjw5?_WTQUgF(b{%d8c^RfFHF1emVJHG9;gz zE3Z|sS0?){_Cr#~=Elb^3!?C1(woM>rTyu~BJA7Sc#t?XjfUuB*vrYy4}IFRbx=Em zZP<(^mZv{UCBNy-t7-W=-QTCUch&8Tg=XJ!Y-N_@t5%bz8=Eohlg4M0#-?(Lnkq<7 z84S~Mb8vOr9MtU0=$A8#nonKX-&~oR`slteEQyEItCdkPV>Pjakw6~u7&k?~=7&+) z(LF+0g2vgyQ~Uq;hUj9j@0I-0>p(qYzj)?h(wPRDawzk_@mFHwNXG|@j5K|h@S^Gy z&S$Frv{X^Jxx-s6bz32In>Z`oZ&b``OA~Z4h;`&Yu@!kKq5KEju_%aOO}=Y|I-Vs> zUB9`c(5Fy7d$6>cEm`+v`c-CKvDvi72@OeBs{Op*&rM4yq?Cz~xScmTtH(INR~=yE z`Dhzg`1Ff$bJrZc$8djoWCJ8NaY%=8=-zg}NW1Q_F6^Y9U3q0YEVbT!vAW39>t84c z($#3F?L6H-A=}IW`-j~K3tQBMDZX*Y`ikp}OO+*QtMnQWO?*E#0p9gUntW-%Y|3O6 z{yerTE|=VVe)f~i`O+s=@s$qsMKt33V_vE!Pb%3x$05Oh4?}m^oRbPN)=;SiDvOvS zoOVmABaIr;F-&Xr_J9u2p{UooEFqnZFu#m>Kh!1L1nVWPy21YhRL6OonbIm0W@pzs zYJj?HrBHIm!SeB?)vL?JLpxXvYo+@ADYqq+ zwoU!%x|qlR?h)+>bM3WjQAj*8Lp^q{$wueXbS#voKrG}ZRP;?gn^9kZf@r|!r^EMj z*>Ln*PtrfQWudQ?u|^1{f-=tPB)h}4-rYr+#O^b(=pB?Lz1p{kRbF%qa*%i1XIf%d zE5DNwh^HSOy!YV3gLKSY9*4le^1V0T_Xgnk-j4PYimsx$Uu+-ZLrTpDfU&Oa;|s5< z1{-%Fq?dN?RWV-tR{~p0%Uaf#b}v5AZ!g^hD2c9Q4BeYb%zFBf&FUE8=CCY&exYMz_&8^jw_nVD+o;%vPhYX81$2Z`!hvt++&|?q(H3uIROuUVJV2T*1Ru zW6XiSdiW^@2p2r8b*Zt9?yG@V+H}?Y0n*_^x2+IXvVb_XNKvDj_$}4e-|X&(P%h{^ zbpPUJ*()nuBhNh-B1Q%AdQ1+8&h9@Ko&AjtQtx2;%Qe}fvSaXhar+boBaQt>7tT-UC9TOgOX3ew(o_dmmimk}NOCLN~ z+^p!j8Desu5uU4fbeAj|WR4hl%Pdv#5g@uq^oR`CWZ;gi-bCU^8hy5J?rV_t+SZj+ z_c0mx6E`E`GvWE{ES0)lmC}Gw@?!1y<1qEgD%gbXX<|#%g6U~u)F(djcDB}0>%LD0 zp8t4k*$dk=i;=LffG@r9DGeDJ20#35jN-5l%6#e&y3Mnrd%EZ%c@9=n8c4@w-DVz^ zfuFLQKaL0_1HU4q2+wPOZ+|dbmiBqAoTg3ltEwj|Djl`s)DbWf^sECH1jw|zRnIu?5pj0ira zEf|aqF54Y>OY;29Qrnc`pR$|AHOpx~~giL=Q5A=N+NvYVI-Tw#Yt!?YE6C zp%b2`Q)_&O2@{@EKkCKxNgxY#QJ-Gp&5i)?sow+VWZ*;+)Y#pv*%3zi@T`C018Us5 zk=jP0V*$IHQ-plbwh`oIheB#C$H!C6s*hHi5{-P|^k_ zP3(ZnVt~Aa=e9N}Ph*+(pZzJm?gbE@gYUmh8xSK~;ATbsA)VR`{v+}hK&i14PfmCq za9KQqz)%_h7Rg0|jp?4~Zi7&hah*@Aj$+!{ImZRUfxcL(g0iuceMB|?XCE?E>D>847Qg7Rswtz<(J7DDW zpeDPQ5{kB=^Y51+e{+YN7hK)9p*$oR5dqn)Duw3ATHN84JRT_y1l;?XAV!e$#-Qv^ zez@WQ!k~->*@KATQVG_J#>{h(0;pqd=^k|`VxOM?QLdH<^dXF&@F)b!!1WvszIv(> zo=dp>(zpRC4&*l)E=iDmAOLIqgywU*GE)PKz0`Fi6bFF&dv1gNy+{&Izpji%SIt%s zlkW)vmRguT1=!O0TUwUU0g*+v(IAL2A`r^}E{%UW{KzKdhD~VbmJ`{sZ>|J1n6`}Q z{{$e1ajQXx zV(Sf2c{-KvP}c3gygmzz*}PffhL5YQMn?I;TGb&bJ9W;oG5yMWxax}Zze`_2!c5~n zdtlhaI8iCZP+K~EzTJQBEOlCa8M?eSY_%F7*q~(%6Wq+}z9o!3o0IN1RoC*=7oz_8 zz^GQc15i7QX+9lzuQ_wdJu!+Mze)Ki^a_KgBv!Q-2F{uAc?96&bqNi@K7V*WSc z705NtyYH;I9?LJuL+X}Nt&wrp5ESX(@v+nLv%cOc+@M>eq=(SoQr^i?=W>Sfwl zi5bAvdMEJFi$KDa`NnIT;iA7ugl|TiAq8ljw7ZZUFxXMeQ`vv{2C`cJYEPg0OzpXV zvmfg(^~oJ3bz2aN_Z^MFuo0D4wo2)7;#H)!p>y1OR>yc{FM5^*iALNDZ4=;J-I)=% z^uoKkG<}-&q`CK<**>CiexvFjrcdg*)xJmBuBW5|wLpB5QdI{xX9Kk|yoTa`1~2w%9H$p_D`NZGf`XMfJc zx|=_#<^ts;TKCD`d0Bx z#n7&#W>$k%!O~r^1S?6P7qn-(RFI7@+3AWG&*j;VeJl3xq6Vx? z`lPx8%%zE|2y36ZnQxDG8{ZJ0X>W(N)#rd>#rj0;H73H%$YGrV>padrRNbEnD_k}w zM}7=Frt}M&$TE8w0T}+-bLtXqBQ*HY8M2ETVOQUFqZ*G15gl<1! z4=9gJ2cM4&XHEQT58eY8noh#+VOdNvpZ*}$N(U&TejwCV{9?0r4rFwzgkEQ*5g?e( z>$pdjO`1JhnnYr}S}MKG@^BtwJzGk>?ejRqg?RF6_H4J7hWO^wgH~b}(w%d!2You6 z0%~s`Mn;UlVrSkSK8Mc4KN}a46DjV*&Mp>{?y7r5#=)0Va&6ar2j@E8?&EUvkjA>7 z^|h~0v8fT?p8L-K?y;1MEp#g$wB!SmopN31*aXzvbzUon){?i&il~S!&u>>X`GaYI zv=?9j{Dba?UsE@8TUFly9Nm>izo0@@QMDy)BlrL8G8An)B@5$OP5dgRwI8Yh*5Rpf zil@qFBXM%v5_~6nhcTe@m!748K1_R=Lrfc)#XmPilaEgS*~v*H0uDN4|I@S}AWe`z z@g*hi9|6f!$3C%T*q!aPOv}HUjH}ZpuJ>|;y6`DMNcfPDM2c^jxCDbWR9Y9VXm+t< zKTE&Mc)g4}yOgNdG_^qbOUushWB-XHX1?DD zdl?5Khl23GHn6nskC$k8I}h zO8DaDfWZrlG28kk6mM(fWQ!vMv}CnPMd)&-z29BILjSg79Rt_H`yR_G;LS5ra1PGR znCxnw1OIn$z>m^P4>{Emw#jUkSWGVFFy~9aQkYk{YIV5p$lJJZ;I$jqB_J{{~a`4>NZu>Z=Cu3 z>uqQ5g|LK#`xn6@kb%D+Exb zOi{16RK{}VBcmf9k^R#Zz2QqlhqNb&J(+!9ht?NYzWmwPnd%w2S=#kmArLe~YB2nHqKXw;Myev~gDeSvR@pmQ|A<3SVZCK2bjhW%#lWdG zc3HN0sGbNYY+2-i+JbqkA?f{-gsWw)21?NGm^UR5YTNg}uH*}I&YxBxWB(NA8x zQFDZT4d0DbxxLJgnY=g)%O)Iw)5*RiS|d(hWZ3_j&$IPbHpP>}SJ@$ez0*-<<-@d* zU4F7>mxqfu`??G;y(#RbLy$`L)^l8GnkpWFO-?X86ET&RIQ25kFCx7wKE3OG=(1t$ zu}yo->x(nO+x&|Zs7vVnqD9zjMNXJ!o=&u;4~~@vo7hsAf03JyI&a=$W${7Q^H|F& zt4_WBbSg^k^gB?F2P01AI$ksRY{z~8`_(UTvvjCJ$rHx6rUMq`W*})zrB4v+L@#sG z!Vnv?_S=iMS4}0L2E4c9zhNMwXxwRO4IXa2P2|2K?dfJgz~w1@nL7uBQA0q zkyGz&+P;hhEI)tRGSo%}@8l>wIPj_j@~=um;xEZ6UE|Ix-MckNVSX&j_oFSZ=DoOM zGV<4j!9|tX*}$=ep$)F)Ge|@TGrl$1>^pob-J@S`bJWz9iQ36G-1vG9D)VPGa-z`7 zuq>T-poe18>{@wWITIbSzw5oEY**U8?yrljtRvRYAwKGiepKU1Q8`{=%KZ>aOslv( z?WBiRKdB9J?~HZ&WrIJYd0G2L*Fmt-Z#Ze3YiAPoOd@?Kr&t_=98oLPPA5vy`z|B#E<jpYFnSx8nu6ce(YMEvH)`(+2F)Z&dZX<8dd&9z5 z(>%;pda*wzJr8*^T+w=en4u{i8Ri5b=UCykxk zXs_1fJUswI+p+z#=t8#ZHFMq6;``ey(b8=_04LsE4Tp&+%yvBfutkrH1y)B|GFOn1qW^wpuEZoYik-hQ!eb(C+fGl@UlZh2l-^?>r?W@@A!%x zlWZfjncRI7hwySZ_dU&?uOZ}?ub=qAV;boK-@zLUn*v7e%V)m14TrJ4bsZimcx?-} zUhwD1;I304AED#HV<^Z7! z6&69lBbVt}t!rF=3Yra;uWJeJeSjZDObrH{4(}H@iTA(!jQuX0Q#9I-JZ0zWI2xSl zn$y=1QJ&oZ4TT6(>Wc~qv1k=&sm`a~?MO#Y9FZ-%U18JJFdpoa2_sRiuy>e8VLYI- zI_BD=ne*1X1V@*S)U2(tiK(jbUBpMrX;_1lQIYdYzYyU8cSEiKXPl~ZnBX^N zVA!1PIFZXz{H)IKKqs2$+3VcSYtQ^mEhbLAo{$)(xakonvmqfoQmcSAeMp~&AYkjY zeQ_wDUd84c;=1#PHgj_)>o4$H#qyO|aq^Tx_L@+-jonK4JzDXg_gp)ry|G$ZvnC0! zGDJ?7=Ug-i+WthI+qGlV@wv=7``vt+Y~NUuN5kb)qFDwkUeRS;qGFu3SLuaa`#e%J)Sj_g79>2vbZhxS8S=~>c-S(afi~!8d5=e z!JzO1H$)L*ov8IMDg}|gL(9G z`Amd0lLmo((!InK3O;(5rlJtgcf2||Rl0o=lv|&M)2GY=Kc(D}jso*`XJb6hdGk3t zl03%l;qdQ)ri2{XiYxZa1_T2?#Mw_yjk(rTj&EfwzwOP4iu?!}yc$$!eyIK;XxoOc zf8?8MR}WBX=A6r`8oXxt#EihgzIq^2=%4*|^mnm)ab?u=xOI2@U2JX z&Kv{brP=F@48WJAdewRqh8}L{1 z$p_;>ADqM*?vHyn#ZTH=0oI<`wy|TsyP+bRyAKP@qdz73MD?Yp=#h`GR|MoVEL2Dl zn|{>U6oG9sE{VFS7;WdX_@FH4H|7=nP<-et#t?H91Z%R!_%QpnO84PchGuX=+HcDQ z3KQKeF+|r{=zZ+Vy8*1rv4}7O@?_Q7tCjbvQFh|W_{R@hUWk#Fpc_~}M3W#{KfUtByvrkbl-nRD-=`i zQ?>Wlr9OD1&1bjxcXwW1kF6`0b%mTl1gG-CVBoRI?Ofzu+Pv(?6vXt-<8TrBm+UtD z5!Wxvql?+*0ZnRU0m0pA=R)efl3z4^^NRe&LD#-kS&vPurp58W?7Kbvee_+$!}u40 z47j8qNRy~{Nxa6Dc)QXM;|!zFjo@d$Wko>vM?0fL2^&Q$h}odO=2DIVePPKJe`zujp*z zTVuzb=k_&3US^eSC6>x<`Xt6BHq|kAsnJU`=lF9kq>llvx3w$D{{Bk$JZ*Q% zYU*lp;L6yDSQ+ma7A8J(Cw5?-xYWRKG!Q>C?XLe?a=nIN zZ>@k3%oEvZxu4T$3So6yR;&dLx+c;m?_ajZH=lTSThhFZ;<*GcoPf2LN`zG?te1wF zRBtG9ubfQdi}7aBQ#*!vLI7kst<;h6~{JfKm z(c+O4k!aH>_< z;7N@1D8IK3@{dJ~YtKg^E(gpBhqp{)AJZeR1pTD@$U59M0fMvr2eN)D!FhfLuI*2{ zwPhe7(Kr6c`@Z>E(h{=B8Y2epH|}uGT#q*=n&vvdJJ8=e%_ol8@ODS^ndadeyE&n# zk$u`|iCL-z_k8R4qxzS_&GYNo_r97l7m+6ja~%;`=IVRVI4eDxQ=%meSNU*x!>kyC zFU62y3RW>025a}j9LXq#8mm-F%?@QfLG_!|6LKF+)2_deHv{fYKYKH?5UtCvt4>a& zC&$nJ-GdRs4xn~Un0YC9*8Ae-%+j?QuA z35)OXz$Kr;W9#I$^tVKLp*<{qj9Wk+eO<2!mij%#3L1)Mj^y&*@9LQYS0{j+u5D}W zrMmj!>dmtH#rNXj#w8w4gYN?N zi7MZ~AN);+zzw`{u{hwgf+k+(6MxaQPU(bRnR?cID#jU(@1Ki7sM*csmXefw(KWbT zRoBL#LGFLkHDS`&c=+c`oAPP0vL9R_d^K6w2iDQJ710O{Pp|3)2G4DP)p7FhxVXA8 zqHBFGx3JFPDY#dh-{To?NCZcp$v@7d8h-1jKMZYG<&$3XJPZA;+AO_ReqZR&DJwnu zbMK||w$kgZAs>MzUl*U34)PyD+s3*m^M2*Gnt0dE4muWXZwQp_ZnS;`Nw!9(_$%PO z4u*0}wIsz!fh7e3hk_lR<+7Q7vl829n(EkRn(?*D!dxrEkYo0X4^C}#5@>gH!3a82 zf8os>R0Ig^KJdvM-aS7DunKoct3IR3e;wD|cya!AACTRTb(zrL-Fx69NuKI3Zrefs z@lyd{J?c1jme&XJ$@nZqtm`t(>`c^Wld>_)G2=SOtHRGSoBKyeY5126( zlxm#*cJi`7hqpM2WLZBIw~d2e1n$2=C0l2|lTaj5T;VGpDz4Jg*wMgla8UZbRbz=& zpv|EuTVHls=~vZ0(}Ip$@)2kIh&}%4XM5TXTR__usKf9&Rs+*H86$0fsOrrYlUl`p zG#>x7Qt7IbfF|Q$ZgSG0NYglGWa#hER2|wj{MI@iHU`oyV$Hp;NpBux<9VeYzQ*75 z$?-9$^kzQVpKG((1h!y0od1Mc@nfq>mryK?x>ax|`hKc%NRdWNQ z7rtrW17`(s_+H?4ncTMvUdCe}A_W-RlK=n!6ujoLOIBBZj@u_cxD?QKtbR~#rOfh3 zRMV9ON9Szr(CHB0DGh$eUhvR!C%AG*>kOx;QEjb==FvRa@W*Flz*YQ7a!V;LJ|0!s zmB91;_n38UlKfaCq#Sy-w7ciEmA|mpsBug0BP-l7bNa4Pqy3rI`K<{UHN2+i4RdLg zVzYD;Yi#ZI*=V#%BS(knNyC{1yPn_3H~CBXQvi{z8t_f)AL{ub636v+`!4sj`JkGW z79-QO9ZuKwK=-`~rvhwf~V&!W?X@Ru?=sU^8mGlOx!{sF$bgu;!?1qcL%6 zZc|t)wnzJX-5@{Q?ZQk*&#+>i%1_2-SLYB|HKAqW8eCN~DtBPeJD_OY+CQQhvZjnM z&$x9+uX%H#hq@*RSk@<^YNZ6~%wux_q&Nbz3h{0VyFjP%`BmQe!@-316%(f~p*ok-{Uw!R^@#V2U;P!wnvJE`Fn-{Ad?TcT zknWIX#+OU&T|UJ7>OAI~$5!{(Jhf!kzYJ$;H)(|&T>s0*PPsLpbvPW>DrKudhkD8a zyG6^9s>gfZxk%z7@yCxw0Jq;J9P7_V)>c$K%!Bm)*GBe$<9?^zJd~1s}Zm-zCYi< zgLfp5?yAzJcyydg$k|0WT@N$<pAB$>>e14i zuMog-1t~fqivnC(V>-RF<(w@LZ!X^a}b+0GgT+jWNfc4`w<{C2Lhlc<%c*@j`>X+2YtO)^A1mFgc*NAZ&=T;lm{sppqecU*L2M!IH!mA0jh?E_^tbIAo!eqt^XrU_hSNuUs6d;XXX=jLoNE73F5 zfv%0rx5xuZfUk@CUXS0OxfI}}gzvPu8np#;TVF_xP8p%bgfWcJrzebRxd$=K^{HW~ zpoxZWScjHT<|%vP_RnI0P(-DnF?k{V68Y^jlf z++VdupBBZTE{yb_iGKz8HA3I)%hNrN3O|W;P$zJqFDd~js^AjlZ2T(X8SyF%nAaf1 zdzG^_au?`B`L~QJ58ab|(>kb(EKeHR)H92z@>cW&>ee&+N`*u;eDffz3?t9b^L~#2 z^p+92eeof57Kk|i*Z`NT zWtRl8cNk0VJCZw{69aS6^kpp8e{5(3`f}RFkoTq)I#Ml09MKiKJm(M3kPG2w52BiG zO*~p}1Tut+gBZTGmGe{F)e-w9H`s;(NQlRef-;T9VF<2^m4$QWJ))>(6c3MioH`qiCqLi0a)jm>}A2YR9Zeul|!gX2a@P#Z~IF4qGGim_aII z2)8nzfdQv)77v6k+CPHGdw6<;odE+7j}K=@w|cg%vnjD3ZkX^%?w%SYjInNCtZvmW z+oP^HAYT-rAG>XAGlwyb#+T~a*~C%toKPKFfAXT#j`ukQPaL=`N{a<;&YBzOx3{ih zfc;Zg>fd)9D@)*Uy;vK~5fAvdr@gx?NfpB;WYB#(Dd=xiok;74nVRg;#pveMJv>_6 zpPiAob+BNLI;-d}_)|-$32|=i4;hH3yGO&i1VEd=kz;0E?PKp`T!He+0!g)zmQ16M zFqdamYK=ulT`>HB^KCWLd&oyw`^6S_*SbCMdb@Qr=~TPBLLE*uB!r=N<&XFD(Dlmv zWvBdavsWR5{PhlNX+ZyMKF2bmXM45aZrphp3<3TE(u0FO;cROC?|$MfJ(&JSK_6o4 z!d!G}dA_Ep)r;u$1tso19NAKbqIVypB{4MoPGD%IuLEtbj8&$!Hh+2T{%rUnJ-^i! z4f{J&ZQlT8`Bht?pU$={!{@Qtt2Ty!%i6Dux3;B40ErU0kIBUiKa~1{G)V45%WHtzo1Bm7+FT8HtCr`OQ!YKsA~~FF zIsT=iG0$u<3%`r3vkbn%pib|}})-pNkit)NlWrh76N>14iH ztTL#@TJ>4W^K)R^bu?G=c<)S01RNV`e?E-4qE=AK!)nG_+Q{&mH$geJDl{Q1G1dJ1 z$HWFJDd9l%{*&~dr2x(6_KqLHJ2nWD9lZGmE@`cZ9t{=rAOc%t;LAC<3s zu^v5c?}+ckjuucCdWx+eq;zPsl*4F9<=kclTdea0S-#*a#wLx6Ki zW9NtQ{#stn28I2%ZqgIJ5`+#iH07968(#=c=;96YCp zVLk~8*eDdk@q`+-+qZ;~GeLB9B8z!p%tTx6n?ht($yEN6J1U-& z_Y87DmGWGYOY7m5q&C@Peq5`hqBPvK23 z$~@R+<})`wlDyeX9UK)@QE>1u21oS;8Qgo(_Q!Do_7cpi8J* z|0R`Ze&3}LbO6Pksn3;1R0moe2%+=Thw7t&IH0RIAbMyg8YqAB?seXFU>ZqJGCHUg zS&+&rQ3uaoVGvDEsvi(CPwx$~pkW@2QA`y~WDYz1jYN58z1yK>#CaW?I<2;kyYJKO zE*!5sZ;Eh@wF*IMdu~D=++zm74gA%luQ^f14$C2x0ZuF33kQSNl!nMty?ul`RY&l8 zix4N)5SaaW7(g+^GR#Q4OnTX_N_QAXuT}r+*E(CD=@uou$)7N+K)lsIT_wV6n66LgY}W{9@3(!A_Rwh1y^=9IRtwe-wI91_=|gMKWx-VMK`@)#Vf#*>Sxb zZB}k6`5f6B5DFixDW@&`@Im8MO>NR&aL+)hk1xJ3^TW8t0qq3!1uE*Kek7{)^uooO z$cYMYpylbk@?@qCyDArXO+rokA>q9hC0>{JClCIR^&h32+SX57tLW8rWkHLiEPkIX zhAOeK(NAdZcQoh=722svjz0!g7X*LTwAlT~(^rnwJ&Jym1Zefu{<3VqWFI19fLoD6 zD03fGO~h8`-J_-HeV34`o`1B~^Ff$%CwQQ@o5sRJSy|Za@qTQInBn#t=EaH!?-g!= zbG*dHSRaCi7Css?$IhHMrIC;Sa;0RIn8Iqy$6AQkQ^P~~{+_iKs}#pSgXW5DL-LYu z)$v+LKkwVJ*R^L=AikZlMJ2jfQXlb0gJ-*=twzfeS%X}?q^{`2D9hz#wSum5^6tHj z#dXsSrq?zMDfn3=5+0YtpvfO;SYa!ZH&u*tWebpZu9~|q%yKf(WQdlX3Qy8FV+Dh}O#0aIc;dTD8itgwE^`R74KUf1ir(vt+&9}o8K+xn#U279JeKLYTwi)I_O zP-E*N+y6)pi_HIYqOlgdqu}QqQUZy8Ak>W<$uF12>;9T*lDM%|J&bYIT@aqq%@aM( zl=xC3UnW_H^hS}v@Y~Q1L~isgp&<l>Y2G+->p#7eHbT=2`;<7hj(IQ-{wj)rHr1qbGQ&RW{h^|FefJGii1Dr<~zar z->~BCn|55H=HHd-ns1WkFyv0Y-B-pCy&w8pQ4Va|$H?g=`siGxX->el z?Sz5HSs{)Vhsi~brun6pAZVMGIaw3oz8g2wbun7&TMYSb?zAqegPEAQ&7QEFnER}# zQ6i~~=SNr64s)vJJ^brR^HW!7b=C{2Y%v90J?%OiI@IfvpaUIK;xnQ-D@K;apB+Co zjejbc=D(HzaR~5iWAgtLJvOWT*3*UMS&m6k7Gcnoc7aE7kqOU@RoAeg?VxBd`YPGW zn-gjUJsU*OkOjQQ=Y3vA@KHqWs)JmrQz2iG(y_Z-)O}1QYRF0+ySAy zFWaGs8+hty!zh<#p-pp2aG^SePHqN-t`&JfUKAzV~CmpmoL+oPLr;;3~pI6jd$T$|Sap#Au*z~uKlwcGQ&Asx+F81|o4obT$G zKTVRU$>Omx9Bf4{p5?TCblhNU8t?oI-jb&QowaU zTxvrB$CjwAbx-o|;t{I1rq5-FMQHq zhkm=N|h}c-_-V$2BF5qAEbEl`ByXRfE2FEX&1i@;$I)Ux=rdhd8v0OJ=$D^yMnQd5HyDT2<3I?ejvfRH? z51@gm0}KhXd&`v@Tl#x$FEZ5aa(pX52ZIL9#>+%gf0TI&Ifo`Byh~R9di0xW2bqn; z?bchSQ-`Re6mPn>(o7iYk~y`*U!S6rxENr{C+Y?H3TD?y=N3oXDUaiPCKtZw?u?23 zfS(-Ug*qKff)&)e0mXy|6>=Egn{ z)jTltIXQhNw&kl#bdD4g7J+-Fma>%c;_DaA>|WenP;g4;;=brrVTvh7hJ4Bk15@ zDIr~=(l|n?Au&QpMI;9d0f~*yjd$-K_jAAJIdPxoIrpCX+;i`_?n|KUF}Yt;JXO&W zs*(zV<30cMNxZgPaokKD;kZ?ay8Hcp;g{15dV2o$uKYmvUej(({E*m^!zI_q$^T~TMxZm^SDKYdpJ)y!cXbhn8CN%YTO%Z2dlkx(?fol zcz#V&S)w&bQzDbh=KNsyeW_mA+K`rrc#A{M+OEswd)kZ)AHRh2pqA2`1J2<5m=fdvjC&1! zyVbM4d0JfbhG{fL6W}muURAI^I3uEJ;Y<0@))JE0_D4T}(xyI%;EHgmMiJ}l1DNXu zt9-4i!b@Fu#L(^TeGP1d|Gkk=Rp8xt{m2pZVBJ3pg!z2D_LkWVn?{#P#- zWBFcR8tshZ6D5i>#P=40eZHaCSuE(KufLJvWnuV{GBn7?G?9HPC*XoEheA8~g6V0! zgW@}Ur}VK2SzR{MI%s}iwB<&9ufhBJ@CsYG9Wxp`Z-}^?-DTA7(q8G6sg`U$lPuo)!N=)8mOI%`ppfC z+WFaA5p~23L+m`pEtjqdz)(AxV+YpzXss@foO?J}On@m5GH;K!Ln~3MJDURDm9Nk8 zCFTm;CAK_Bw87?IrGjgeYLs&yEIDA62dVLoy(1w}t3RxF2)R4wHhZg=fBpVb4;x-s z+Kvrg{%`A0OM2qLpAlG2KrHWs*HY_`7O}+6`^qrJm|g+*D&jwB>Y+z$JMVWeC25U% zyuCL9D-Dq1BhQ@FC~upU{^>r8g7LxL*Hc`hviM*h>f837t_#3EDd2MNoz$po+q$00 zcSI&>^-ekK5n88Oq7&4HV0&}kvjZkWHbW01Z~|MzW%L#m^0zkX&!e*VVNFUDwi93K zVtT5acwD2l?coZi^uao*`VD14Ok43SAUOX#;TxsorNo{yFApTVAF4LP2Kq?0r8=$I|4J8I|H%=_xkcrd6>2) zm$fpL<_%g8ZMipts%i^~ORhPJ=W|hNLUW`u>yFA~S9}!WK1b)!vF|Aj)7FP4*D;kH zqXt?V7S}PY=snW2UVRzt5wrQS~vQ zivnEJ@e5wXb77F67BOPeXpQ#!Sgk!9TMrn8T6%4pVyJ&b0N( zM?{s-_P$W#sP9F_wdox_`8T2D`tz2(M~hkjFqyZ!P`|9**!?Xz z?dYnKM2ApJrTv-!9H;#yXoQCZiX4+klVz0Js2|R0$9!Dc{~Z7KS_7m-zk=Abik*qoG_|7%nRI!+p z^e^EnuQh1a8KtjuoqIIss_VRyyPRp1e$~K4*-o?yE$KzOnWc>Ocv~m`PL5+ZS#sl5 ziATe|7V&pgoQEdqH~o;xb1;Y5+j*X`R~l; zlWa1g^mO~Nb37-Q-OPMwT~U#mTcsv$`09w3wn>?g?vJ% z@YBRm;>e?gi^|iEfcJyW2acaKpE(tu3f_Z9J~B0Ad=`V~{B%m0*&HQ)2{Pzh3C|#( zGMB;st?RqSDMAZgV|2e?V%d|=kmB{gD_{D|KyomveLL~6!5{Q^&;dTw5fb#4Kj0Vg z@Jq0aGnsqDYW>09QdLeJ&F}K^pq1wL*G{&+7tJ)k^t+w-<5sgz&`P>0H+VtOmmzY7 zpPBno$D_UGutnXKV1#wk`Psp4{*d~f#h4Hs^~G91n}kq~q3oZEptzxv4akyHN1ma> zU_g8iT=Po2MdfYr?e!ltWs5*QU zUlK)tM(T_pW{`{><4p~wKQ${f9pYnej&4A&;${1JX$0xL8!x+$vs_AyQGO-M&g!4{ z@#Oms-|$yd?J|5A$S9#0MnzHya{|HwTA$;k}ats0n!~T-*B~Pb2wL~7d`p$l8C;t zzK{w3J%1r!6mTN??TWFS5S05p(=j8IawpAKZCJdfI>l897l<{&KEsI6Y14+$K(+8u z%xpI)@z>^P(*4uD(C}ky2XEIJoV#bGKJ(!97}Se9tEGN&WC*9VF5F^!om>#?N^MRF;co zP`_jg;IhI)gKb8MVNlRoGhTCbG;c;Fc3TEgXxP*prlEVgrV-VcErefJ@8DRUzu?l> zzO4E^fc7$y<7R;TTz6r2zz+w_8S5Ka7nT5Fr^GSctj(0j)wDj59oo~mcu_1Qej8$+ zw5K90$bi*)U8h5DRkYyS)%v>5v0;^cNx*PQw|DOY{JHw%aB1kb*6_Og*XpbzrH8l8 zN)8AAW~Uo%JODtWo>d%X~eA#c^HOyx!Z&}Ez^ZEB0j zqy0MA8y9%JC`3&%XL4@I&E9<@%`@M}@_k5%aL(kT^DSUcUb+W-F5pUaEsNCH=`@TA z=28=<_Wn1jYgMQ)9ZCgPsfn+eh#S?F0~MoR-ys>RD{CHjIQnSEOpY}@@DR|6Vyw2B zs~A01?hjbww6C}a!5&DD-QF<2f^(CtmgRkHZ?mi6iy1$??^hmD-gSH9cIVs4w;2yS z1*8eK!7@n`n&^Xy@vq|unQAdI1Z-Iz!2daAGWlf;#%a^mY$FCPQq8>r*-#IaD?2D< z^B07kds1`sk|q=Q(6Q=G1tuG&_KYqjjMZYs(ik+vtT?1hBW5zGnA2WuiEHd@J(9he zzdFHVj>p+(qpxqmvz-*koM*XV!h!oc;YsGv$e(1{c=|1)7lR1np7_dcduPMs$5VT$ ze;TTC?+>2(D^+tCqBL4+fS@qdzEvK8L-Y=?GiFCawd{(Y+NJE+9pG;liiH{fI3P^0 z28rSaMrNfnm9o__|5m{2vP#Df)Tv_m_7=+=D zVVP96ww{SDjsK`Y=g?7n45EUS9Vx}y_^lmOoUj#1!$ey zpLP#;o*RSE^59$sQUo@>Z=0^UIIsZg&K=yKf;FW8eysuVJ zT>5_WJJTV&W$m88M7qQQ@kCG}==*AmQaVP<3A>K+fy@Axfnb0;4ePTjotM*%&u<~P zcEHuBJw+$39Xdn19&XMW{COAS65C;|a0isyG!@et;uXy3wXZg=qNI6rbC08GZ84cN z&j1u!MScqarJ_AS2tLW zX)`%UHmDu<+vDj|!;m3hA&oZR*o%-nEM9#fjQ6W^gj&PdsTV)yZZAr~M>+@3$ z@rgtbg>|F(og#Z3zv5LA3sxCz41oa-q3!CSG#&Blz{96Hz=bZ#3*&Rg?^&)4P@%sg z_3Luup#t>hpuS~w=BeZr_1w_wX@Cpb>>yRo-cQ4lyxt`5aWo4M@tWL3-v@$T$AM6V zVvYdBivz;7e9$t@2KczpRu6me4MBUZg};Tp0AdO(+}8tv6V?fIEfARTu*8 z?s6S~3{)%C!*lH~0HPF5L0lyl^qNnmKrJlf5fFlhJR-*1!b+mq2e(}&zxdd3i424l z>ESK+!RPX)eraV1V?uR2WVKY)1~4gdjqUrf{61Lj7E+)86tr!EgpO0=mr*nY#Y&YL zBBAp~MS4(;Q;_DE5b6H@!X5h&1AXpO(BmS#B7SnSSsIw!oZ{`=91}Va0f4Wu8N3i8 zH>XWvSnIBkfeNM<26(FSb&O?3jovB9DTacwDZNk~@8F`Dr0RD> zJ%If_*o6RI>&(Y|4nh4c*25pHIg6XCQFDP*YuL#^KLh0Dr@kf^OlI!Z;A2CoN$jW5 z{y|Kq&Sv%tnph#KSE{K>jQFgv*(Os^&D6BOTBl*!w$X(^FjpfhiE3*bKN*(B_2qIM zwLPLS5_>i(^y=doRZ9jk5c!gVVk^4nRlJ~f$IVmcJJV}|*uoNIy|_*yrME2MBj}v> zlzU?P**A%@MtNHATSzQ!REV^?cA=A9ICc?PW?cn3mpBFKQoF84=LH4jv(}k_8PP#m zl^_|u|6XI8qI%Yfs#Wcn(5rm+QK32z8CYnHke^V! zV6hv?k2`D^$0cu;-)t_8G%pzOAM^Y97o?jI_&R~`$sP@M5O;2DG3)rZIJF^q^8CB; z?n6tu#dnNpmA7Tg(3-Zl0v|@w4Oq8d71xvaYL1WzOxJA~zPtNC7N@EFLL3SQ>&Muvu7WsJ`2@ zwP5b}?B<8qy@_piQ9NBg5wwks@SnZZ!g1h)%7T7{umKTl6Dw1|7N!YM@xtqsuGUqh zcEAAlv6%EVy-jfN(=R~T6rsQB)Bt5Pde=b0g}sP-hFuXw{fwN=Ha_ZXrH-{oH{F%8 zQkF{uw(*_7v3%a9XhYP3DFQC^oj8R?sX>wcRdj9aD`{}?5#|60{kh2N+Lz({D-WYV{Zqi_b2e1_g9mx5jjSo_rq{WH?W*S>HJiDkYM<(D#Rf!g zH53L@?xJd4C}-=eF)fu)NO8xJOd9cdjc9lc7s*HN;t@t`8h&*ER*E8)%!a89z`SZC zPijcdr+>(QeMe9^`z2oZD^S~CWx(^g&4e$E_zQES$a>8C9>y}@!(S`%q$7FZ#UKk&1f4C%*e&@db&WX;C)V`npU)8vsf($b$L|Xnk(J z%}<{fy;CE0qOhtt&X(n1db&tPne!yOPK1bq5B)dW(S)x04Kru&_5wmz((iQbwf2Jj zUY6hK4pX5z>j^VJtL{JttKG$G_@@~*zQT9DzS!^g0%R4<(q_Nj0<h&iTzv;XG;k&ypH2SSEE)-v_r+d zE7|H|x2`Dwxr)yRl)xmKI~OL?OqF!!@_k^rzR=dxDiL}h%%ydK)+cF&2IJBS+%`GM zaMgfHPsT30=xa?f`Li`0{cwAf%Cy!K`giJ5nDk&4$``APCZhzs{qz+w&xA>HQw!h$ znbLLPt+^23cK11;QgQy)S6PXZSgf4sePNRKrDJ`DWDs=fEZ*oD&+3YBVd< z6P2TFW1V3l0S3!aYELz(F_n%68X#z-vB&j|87uTu8~dcL1Cr}otb^-rPI+XmhWE*4 z#S8FsvQA%`VIT=6g2NOJnegx_q@JV$C`|9LJK5Z7Y^a`yE2~KHjZuo*2OM994px^{ z)PZzgE-yYFHx!?v-)BCzxdD}ds^aoy`Ul;>P(FLVS(Dv>Js)wlBPx)NsUY=>Lz3D_ z4!r?LodMk418UY}y0*5x)vkZn)~lH2bcfCMd;&hYIUO27r-5XK5x%~+GZ zKN`VmrT$ zlX{#Zfoj5qf6UH9xN+S{J?=*;R|<6o1FBMww`L>b7lutM?-IO-5{TAyr*UVs1&h;- z?MP3d;7zA#@ZFZ={Xa2B?0R;QLOaPU5PqT%tgXO!l^{m=bgEnkCzxApYQvYC(N zsKI9Voh;X1(U`)Sec`R;CLObLyR+z?!bd6-nwZWUZ<%+wo@8F{_XqBAuHOt_#iJI! z9i%R!V?E%E+D4P%2M~V1-aRC^1-Lp=_$|zoEQvo*F9gk__I_J=3d*nA;_4|C$_lI6 zcOFO5p)3L}wq2%cnYHhny#)*YJ$uVGf%uOJ_ZWM%<>F9r%NZR2L1q(O1xv_7iG~N#dgN7wzdFp?N=}Kg zKf1Ja^GMrZ*YmtoypRj9bUxNB=v%cBO zYp!?P(yR0;$iF5FCn(P^Mm&)!XWW?1=NEKawUd;Whc;S>Tb=d4arGD6nB=6~ik9U3 zsoQ5$64jVw$L@Nr%XU+S)tK73vD=-c^9*5tiRGyUDx!01sn1ma!Jd;8S9&~~wKK`0 zVX6k$MmMoK^{t+bgv%DhW#br@1>G%bgHv3|%Wff>jJC-K2!k|V9DGcwpX<{ZLzB2! zGz#Xb>GLXpy4WKez+ayaAoe0W#D<6wXaNWtXg+y=wC}y@M}iGT$Ojz7IkYEx%5w78 zc?=Ouy&6!R`kIkxhZP(JW$^VpDNnuW1Mw|W8y)krQA0>(g2l6XXx&dtADMcQ57doCx2>k9RMUHRIrg#mg(F* zo2aQUFC0Ht{u3#%G}Rq&?m1rTeXg?g;P=J5eK~liq|Okj)_ml~u2;j^?TFWkC%og$ z1YN_^%x~^y3k?_4l(L>-sB^43IuH{1dSCJJ2ZB(YkY>MNRc-VpcBw!@tL~vMd*Pwn zAGi;}mL&HFc~xg-4Xa!3_Pgr<>ge5L*%1vUwX&iT}Wd;HTC ze&;M(6Gs=X4_AYngj;Kq6h=Fuc9_ayWx`(^E_Csr z&UWb(#yg@;65LipQe5W}Fjfl`(LdoK{t$xtzUcaww6A8Jj~0v%9k(D_Up+bzMG5;3 zu8tTzy78on!vBc7Yug;?Fzo{c&R==<8&VNhJX-<+9i6bh6w%v)S zlR=+3OTul3hA_nWlN-&yBXTw|Po0Y4M9?Vu^E(9-RcFa8?H=QI9A9?&ihclHJ1tk8_ zQm&?xM29DV3MLwo7ih%;SdZy{Am6?Spi|sA8{XJeS#BAzG9rC1*6#{(YOtQAj_c%yTD;$DCKnomRY6q{}A&b%ZUN}h3hF!Q4xObRWFb<&i$KWcH>9o=50 z=S}0?a|)VIh>)Y+?vF&;57H1y+X4+*mUK~B2&?nJF5-HI1q;p|t6If| zuT>Pp6)&XE->6AG-bjKloyLuX0(FzN`s+KA_urA>JF0zC@Rj;p4E(psMAmu7EZ8I8yTBh2<6} z`Ne+zBgoOki~R!X>fN1a&Ys|KF= z=R%ZO#1If2EtE#NaUwSE%oQYe61ShtB9tolc}HyA^$=kcDl09-@g8v}V(^?AEZH3? ztxJQ|SrK}Pn(7cioK;+?W-rwKOKi@!tn z^t)79;dg)oI-}Jar*G5WRzxJn>_}IbcJsNzweJzTLc2;nJ!edXYmg+PFLr z{|LpeTkd5-)n|#82`WgF(=o#^DaC&a zRQb9(zW2igg=yX5CdJ@%TmZGu9flNXU+;Hrncoi@&!yLuf_n-SfmR-&Sqjq;nAM>1 z1XiSF#MrruZJ{DkpZhP9ExU2W{c+cBtKq!zQ^)RWzlc`DOGKt)zk8B<3&jro$b>)! zt5s%7WQN6wdDegDYSLMIZ4JlkSrE!uM&*g$!d#^_``S4WH;D9+&6*Cc8Kt;lk#GRzrw**i>i#4B$UDHQgg&K@eBgNMojn*p$Io{@`l-1^f+s9l(m0P$ETO{ z3ICR3!%1d!S0C#u`zP^nLUwxYv1(G12bK5*Tvuh#AKd$25669t`owc11dxO-<@$bA zfQ{L$X!+yI(vXar_s;^8HnRh)nOhZdLvB3g5a2jo`BPQ?pQ&d|(p=q-sH-@;%?O|O zL(G~5nLKUjTH<%x{B!48uAAUyT5<-BL(f;f1V2(M^${W9!t~T0SVD!0OIMx*+o?^6 z_oF8{HI2Xh6m1Zby`mY)fac|vXlQNCDU#7#>Rm`o+xf{AG;265Ci%Ry0&?Y%^`@`? zAM1DNJMP{pCTq8FSM$B=6bBy07hEaRpIsEvirD|~AFJAzE$!&9kr08^z}8u(?YO(V z?XUUg-pfmv-jRvO$7cg%XGU!<3;bDDQJnnhl4s|FZYUMo?e~zKeibdN=~-kHY6KeT z@D7CNn-boP@dXR#1`1|OFk{sP2Hz{&nFO^sdi}dCGp?w)^y~z!9N4oawicJ?%?ImA zY%|5C3KVicOh?(naf{^yj~IDAW7CH%p$d;~@EPJ3gqvF*q6;*!(;UqhP=o6_N?DQ{ zK`WWG36Y7?uhHUra9HpoL0qeZjxegxW)>J-^o7u`@vzid9u$z*;rbl18-0-B0 z``>oSTEJSImk+s|a7`y{P(Ly6*%y5O@XDgRm_1Wfc3;4VY)Xs=3$!pz=`|?>-g#q350{=h*JrvEf6*{Ua#k1R4 z+OJ;0Bq%Gjv-Y5LfTm*16y23l;_8nr*}Co0n8MDNB6)HZXRRS_A5!Kp5YHtr=2mCz z?>06jUze#>qQl1&-{<8~wb;%WII@cN2!EZ)Jzx{<%ASn=>*}$cnuHE5ULOru{`Kj7 zx`5$3%V0Op;Y5)KN#8(jgWcl}T!yPZ>D}*ru2&x668MjC;E@LFkfG$tGvWMbWw*f< z_Snc)@IMb>S}EDtl&!Y65b%miTx)ZzUwK}1kfTx+y-xG}cip>+J@B0f+-S_g8+_h`4or_Np+{*S^Wvm0SX!`@B0B?rUFbP-P_r}p(~u%s zs0@!^G^hxgvdzokwyjZGjq!1MB>TH%wC}O+Lri$rPo`(S(+x@VPbz*esgAs%lT4M6 zpyf9Dj_!l-@!rh)$y2W>EuQUD(?%+>)LB>^Ig3Pe`s%eI3y$CgN8yD>M{Pu)##D}A zzS{$(D@{Qu)7rd(Ap#I1s{cg51^SG4o< zrnJ9R1>yGsTl1wjh8gS5%7WfbC9w24l-~+gW=LhV&b>(+nwJK>5ga^SM7&hDlM&3R z3Xfj9_Rw@#bs_5mtNLhG$^WNvb zZZ&DR^La>h;g|;hK*6qaIRSh%&4c!P=qHkpbe?Xm|EG&+H5mfjd%`~8CvZv0yY^e1 z7=C5L5^^%x*e_13N`z)>1`|Y@Ps(I@e|E)QIzQ|`C3LJqf$g0Z67H!)4JmLs9rnT7 zcg*+u0}YNHmuZT{GWWd8%L=(hG&Ev46!*79@*MwYzuhbm4iAjZ^BU#w3M!0!_9o0- zt69Wlp5Aq66k3;plvxQ11)fxP{(B?x4BI@jZ72OD{pG+Tt1@nMIrn0d@ z6*1CP6sD{i3RTI6vrEMvd8~4{RVCY!x@^5&6`w%`cNN*z-P;^3hIN$+1p^Q6 zK4R~ghO9!_oD=-g+0W%wM=YKxpx-iD=QsW_@DDW>e%5g*tmwAxOJ2f!vN}%$a_H9n z@Ed-UT-xpV)cJ5D=Oy<+&ezqDz@zlZ3Z7oM_&1kf62hqS^4GJC5bCM;=?HrAG{t z6f^!o2-^EU8a;7a@q0SNmpXZa6^J;zV}YBDoqvj{a$0J}r&~>56)qKoUiO={>G~-6 zh-XQH`nRQny<$dzoL&@WTDWyR86i*l)%dk#UNQ`6CS1Z) z@OAlDATc1ghXE-H?EcA{c-Ik?PyGu8Q?#3f;qYG(_pE4@+yPFJ`?p2%9$jXzxg`~Q WMKqkp=mrmmwEmTKJ)Cq`(*FRm(UR~0 literal 27694 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
    m;CCyO-EMxgab?ixdtB)<(Q18{ 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 M*%%6NSIj>DKTfchB>(^b diff --git a/scripting/sm_player_notes.sp b/scripting/sm_player_notes.sp index 4e3084b..f8a9637 100644 --- a/scripting/sm_player_notes.sp +++ b/scripting/sm_player_notes.sp @@ -11,8 +11,11 @@ #include #include #include +#include // Addons: +#undef REQUIRE_PLUGIN #tryinclude +#undef REQUIRE_PLUGIN #tryinclude public Plugin myinfo = @@ -47,8 +50,7 @@ public APLRes AskPluginLoad2(Handle myself, bool late, char[] error, int err_max public void OnPluginStart() { if(!SQL_CheckConfig(DATABASE_CONFIG_NAME)) { SetFailState("No database entry for %s; no database to connect to.", DATABASE_CONFIG_NAME); - } - if(!ConnectDB()) { + } else if(!ConnectDB()) { SetFailState("Failed to connect to database."); } @@ -239,17 +241,18 @@ public Action OnClientSayCommand(int client, const char[] command, const char[] if(StrEqual(sArgs, "cancel", false)) { PrintToChat(client, "Note cancelled."); } else { - int size = strlen(sArgs) + 1; + int size = 2 * strlen(sArgs) + 1; char[] sArgsTrimmed = new char[size]; - strcopy(sArgsTrimmed, size, sArgs); + DB.Escape(sArgs, sArgsTrimmed, size); TrimString(sArgsTrimmed); char buffer[32]; GetClientAuthId(client, AuthId_Steam2, buffer, sizeof(buffer)); + // TODO: escape content DB.Format(query, sizeof(query), "INSERT INTO `notes` (steamid, markedBy, content) VALUES ('%s', '%s', '%s')", menuNoteTarget, buffer, sArgsTrimmed); DB.Query(DB_AddNote, query); LogAction(client, -1, "\"%L\" added note for \"%s\" (%s): \"%s\"", client, menuNoteTargetName, menuNoteTarget, sArgsTrimmed); Format(buffer, sizeof(buffer), "%N: ", client); - CShowActivity2(client, buffer, "added a note for {green}%s: {default}\"%s\"", menuNoteTargetName, sArgsTrimmed); + CShowActivity2(client, buffer, "added a note for {green}%s: {default}\"%s\"", menuNoteTargetName, sArgs); } return Plugin_Stop; } @@ -307,7 +310,10 @@ public Action Command_AddNote(int client, int args) { char authMarker[32]; if(client > 0) GetClientAuthId(client, AuthId_Steam2, authMarker, sizeof(authMarker)); - DB.Format(query, sizeof(query), "INSERT INTO `notes` (steamid, markedBy, content) VALUES ('%s', '%s', '%s')", auth, authMarker, reason); + int size = 2 * strlen(reason) + 1; + char[] content = new char[size]; + DB.Escape(reason, content, size); + DB.Format(query, sizeof(query), "INSERT INTO `notes` (steamid, markedBy, content) VALUES ('%s', '%s', '%s')", auth, authMarker, content); DB.Query(DB_AddNote, query); LogAction(client, target_list[0], "\"%L\" added note for \"%L\": \"%s\"", client, target_list[0], reason); CShowActivity(client, "added a note for {green}%N: {default}\"%s\"", target_list[0], reason); @@ -362,7 +368,6 @@ bool ConnectDB() { } else { PrintToServer("Connected to database %s", DATABASE_CONFIG_NAME); SQL_LockDatabase(DB); - SQL_FastQuery(DB, "SET NAMES \"UTF8mb4\""); SQL_UnlockDatabase(DB); DB.SetCharset("utf8mb4"); return true; @@ -438,8 +443,9 @@ public void DB_FindNotes(Database db, DBResultSet results, const char[] error, a CPrintChatToAdmins(" {olive}%s: {default}%s", noteCreator, reason); } } - if(count >= MAX_NOTES_TO_SHOW) { - CPrintChatToAdmins(" ... and {olive}%d more", count - MAX_NOTES_TO_SHOW); + int remaining = count - MAX_NOTES_TO_SHOW; + if(remaining > 0) { + CPrintChatToAdmins(" ... and {olive}%d more", remaining); } if(actions > 0) { @@ -496,10 +502,15 @@ bool ApplyAction(int targetUserId, const char[] action, const char[] key, const LogAction(-1, target, "activating automatic action on \"%L\": @%s.%s.%s", target, action, key, value); if(StrContains(action, "fta") > -1) { #if defined _ftt_included_ + if(GetFeatureStatus(FeatureType_Native, "ApplyTroll") != FeatureStatus_Available) { + PrintToServer("[PlayerNotes] Warn: Action \"%s\" for %N has missing plugin: Feed The Trolls", action, target); + } // Replace under scores with spaces char newKey[32]; strcopy(newKey, sizeof(newKey), key); + StringToLower(newKey); ReplaceString(newKey, sizeof(newKey), "_", " ", true); + int flags = StringToInt(value); @@ -511,7 +522,9 @@ bool ApplyAction(int targetUserId, const char[] action, const char[] key, const #endif } else if(strncmp(action, "ignore", 6) == 0) { #if defined _tkstopper_included_ - if(StrEqual(key, "rff")) { + if(GetFeatureStatus(FeatureType_Native, "SetImmunity") != FeatureStatus_Available) { + PrintToServer("[PlayerNotes] Warn: Action \"%s\" for %N has missing plugin: TKStopper", action, target); + } else if(StrEqual(key, "rff")) { SetImmunity(target, TKImmune_ReverseFriendlyFire, true); } else if(StrEqual(key, "tk")) { SetImmunity(target, TKImmune_Teamkill, true); @@ -525,6 +538,12 @@ bool ApplyAction(int targetUserId, const char[] action, const char[] key, const } else if(strncmp(action, "slap", 4) == 0) { float delay = StringToFloat(key); CreateTimer(delay, Timer_SlapPlayer, targetUserId); + } else if(strncmp(action, "mark", 4) == 0) { + if(StrEqual(key, "troll")) { + + } else { + + } } else { PrintToServer("[PlayerNotes] Warn: Action (\"%s\") for %N is not valid", action, target); return false; @@ -579,34 +598,6 @@ public void DB_AddNote(Database db, DBResultSet results, const char[] error, any } } -stock void PrintChatToAdmins(const char[] format, any ...) { - char buffer[254]; - VFormat(buffer, sizeof(buffer), format, 2); - for(int i = 1; i < MaxClients; i++) { - if(IsClientConnected(i) && IsClientInGame(i)) { - AdminId admin = GetUserAdmin(i); - if(admin != INVALID_ADMIN_ID) { - PrintToChat(i, "%s", buffer); - } - } - } - PrintToServer("%s", buffer); -} - -stock void CPrintChatToAdmins(const char[] format, any ...) { - char buffer[254]; - VFormat(buffer, sizeof(buffer), format, 2); - for(int i = 1; i < MaxClients; i++) { - if(IsClientConnected(i) && IsClientInGame(i)) { - AdminId admin = GetUserAdmin(i); - if(admin != INVALID_ADMIN_ID) { - CPrintToChat(i, "%s", buffer); - } - } - } - CPrintToServer("%s", buffer); -} - any Native_AddNoteIdentity(Handle plugin, int numParams) { char noteCreator[32]; char noteTarget[32]; @@ -623,6 +614,9 @@ any Native_AddNoteIdentity(Handle plugin, int numParams) { void AddNoteIdentity(const char noteCreator[32], const char noteTarget[32], const char[] message) { // messaege length + steamids (32 + 32 + null term) // char[] query = new char[strlen(message) + 65]; - DB.Format(query, sizeof(query), "INSERT INTO `notes` (steamid, markedBy, content) VALUES ('%s', '%s', '%s')", noteTarget, noteCreator, message); + int size = 2 * strlen(message) + 1; + char[] content = new char[size]; + DB.Escape(message, content, size); + DB.Format(query, sizeof(query), "INSERT INTO `notes` (steamid, markedBy, content) VALUES ('%s', '%s', '%s')", noteTarget, noteCreator, content); DB.Query(DB_AddNote, query); } \ No newline at end of file