From 834328d2b94cfc3a173c8a0b0ea2226305f363c2 Mon Sep 17 00:00:00 2001 From: SrtHero278 Date: Sat, 2 Nov 2024 21:35:51 -0700 Subject: [PATCH] mirgrated to the actual engine and new spritesheet TODO: proper offsetting i dont feel like it right nowwwwwwwwwwwwwwwwwwwwwwwww --- assets/data/alphabet.xml | 98 +- assets/data/alphabet/bold.xml | 48 +- assets/data/alphabet/normal.xml | 1 - assets/images/menus/alphabet-bold.png | Bin 37877 -> 182921 bytes assets/images/menus/alphabet-bold.xml | 667 ++++++++++---- assets/languages/en/Options.xml | 3 +- source/funkin/editors/EditorPicker.hx | 2 +- source/funkin/menus/BetaWarningState.hx | 2 +- source/funkin/menus/FreeplayState.hx | 2 +- source/funkin/menus/ModSwitchMenu.hx | 2 +- source/funkin/menus/PauseSubState.hx | 2 +- .../menus/PlaytestingWarningSubstate.hx | 2 +- source/funkin/menus/TitleState.hx | 4 +- source/funkin/menus/ui/Alphabet.hx | 850 +++++++++++++----- source/funkin/menus/ui/ClassicAlphabet.hx | 284 ++++++ source/funkin/menus/ui/NewAlphabet.hx | 630 ------------- .../funkin/menus/ui/effects/RegionEffect.hx | 6 +- .../funkin/options/keybinds/KeybindSetting.hx | 9 +- .../options/keybinds/KeybindsOptions.hx | 2 +- source/funkin/options/type/ArrayOption.hx | 4 +- source/funkin/options/type/NumOption.hx | 4 +- source/funkin/options/type/TextOption.hx | 2 +- 22 files changed, 1545 insertions(+), 1079 deletions(-) create mode 100644 source/funkin/menus/ui/ClassicAlphabet.hx delete mode 100644 source/funkin/menus/ui/NewAlphabet.hx diff --git a/assets/data/alphabet.xml b/assets/data/alphabet.xml index 8ae172cd..9eef31ca 100644 --- a/assets/data/alphabet.xml +++ b/assets/data/alphabet.xml @@ -2,33 +2,77 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/data/alphabet/bold.xml b/assets/data/alphabet/bold.xml index b39cc25f..266036d5 100644 --- a/assets/data/alphabet/bold.xml +++ b/assets/data/alphabet/bold.xml @@ -1,6 +1,50 @@ - + menus/alphabet-bold - LETTER bold + character-LETTER0 + character-ampersand + character-anglebracket-left + character-anglebracket-right + character-asterisk + character-at + character-backslash + character-backtick + character-caret + character-colon + character-comma + character-curlybracket-left + character-curlybracket-right + character-dollar + character-doublequote + character-equal + character-exclamationmark + character-hyphen + character-percent + character-period + character-plus + character-pound + character-questionmark + character-roundbracket-left + character-roundbracket-right + character-semicolon + character-singlequote + character-slash + character-squarebracket-left + character-squarebracket-right + character-tilde + character-underscore + character-verticalbar + character-asterisk + + character-zero + character-one + character-two + character-three + character-four + character-five + character-six + character-seven + character-eight + character-nine \ No newline at end of file diff --git a/assets/data/alphabet/normal.xml b/assets/data/alphabet/normal.xml index 02dbc2e5..a82323fe 100644 --- a/assets/data/alphabet/normal.xml +++ b/assets/data/alphabet/normal.xml @@ -12,7 +12,6 @@ q lowercase y lowercase dollarsign - hashtag amp right arrow left arrow diff --git a/assets/images/menus/alphabet-bold.png b/assets/images/menus/alphabet-bold.png index 012721ce3e1a333be4e8b6bcd697b322f76f08e7..004a99f54679375999046f63149c7d512492a870 100644 GIT binary patch literal 182921 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

&MW}9wOHjFuHS*E>aGs>+~VFBEC_= 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%0D9-TG3`pVWIIZFh z%l$UN4hVycBmP30@RK!s=Opz96SIw!F$fn%R={v3uN^azh-1~|^6hOA8)5MjLt02j zJdXsA_>|&>8h_gJHa?^<>|g5ptTdf+DdU^0K2tI{woI6A`aNL=P(m5;R%w5+eRet43ddUQS`r27-g0V`!IbIS`I;H~o6;phT$ z*eoAuTM*pe7z#SI#34KZ06OE-df7m7HL~oQ=w!svOHD%MbYm`Tl=tl0qQkKC4S#}H zWC$8uil)D)Rgd_cd?A!5oG7~fJ;T`>Jaf@$M1(i8ZrY{=tbCRv$vrtX<#bEs?*OjL zU4V3ieI832|dj%G3_xbML5 z3z%~oW@_E>TA=gBo%aF*3%=wzb)FwldaD^Id=$8(*x~(m&Go^UOYWJSfb>t^WTFi9 zR|eKtDs%ucX?=Cfu!^r;Kz@U#%F8d?JBebN!GloLQu&}x{;Pw@&MNE2*bvrt61H`v zMyk^`YuXOPg_PpO+_9X><`Xn*hb=l!nOy~WvVyLB_Jd!59sd-P6tlZ?HTth@0wINI zS?fp7fzmFcyGSPSvC%XDs_lyP4glN-!%R;oyd7TkEKQ%<4324Cqq5M{&Lc_D<;W5k z0n6}<1lL-^WgW#2l``)I*e+zmjeD=bI(YkGhH*3nuXC9pwjLIJ0 zgMc}I;&B~;X-y7b$@t|JCKwpl?O%Z^6c$l4nrN+?a~I9dx)~8}ivNA}b3KYFX$a=J zF_+JpUD}$zS0AYL#uOanYB_JN&q$2HD3RQ zTaN}8yR(XHhI;c9t+RQExoBQ5RKu!6cxTpQ?$xYYTP@T}ML1F42KkIozW4cjCr3|# z%rTglc00M+Ie!{O3OrWoZ2tZ%W(M$Z&ZK|Nhwq+a8<=k=+MYw?PcL{?A3nXg35CBygOB4IL;0Fi! z-EC|c0sH>A#YhD^q}B0B6Zz1@I-aD&T2a%VTs`bq~f9Ja<(_1lO3l}aWYPsNDuJyj;Q+Z z;juw$n7t7srDvU-L5vT`F=t9*n3OD>*Dq2c2wU1N~*|fXV7AM!1@x4-Y=3H845q6PQ}IWk+{z~1-|HEBuE1K(Lb5{G2Llf^;=#$|XUZrgp7+VTX8 zF3A|5rg)8Nc=ssKKI^sUq6F4$He|11fuQ5~8K~3Z2_8hIZ08tffA}dmiV?to&ceA~ zOKAcCEc5-;bwuW}l+ZD{MJaV%D(guY&^m`#Fz_@#V26RFU!q_Mp9>z;sw{&l*byME!CUE0y^L8Be@g3d&Yt>;=gBgWg4 zYQxgFU)lu?qNfNzNr`(wA^c!Kub#w$3KZnrpXb8k;vN96KIeym0tjt678JNMvBLX$ zMw_nN3~bXFH58P8em>Hj5i0{p(YbpACheVuo@Ck+o#=ccA>SON;6dKGVpfCcAtW>= zwu}=KUSGfEZbb*sgT5`YSi2w32O{J|qaxfin&zJSOt#e^v%jPr890|_#}YqfN9(?I z=ooilTYDf)2QwkswEkZf;D?WZ>Z8=?av*2Fe_=&%>u>-7zM#B-QU`9QZAhEKTRVUR z(B1nFOO9%Fbf}WvAJLy9i4y3Cp?uC4Vo$;Op;QL;gBzsF!X!1Vqut#Crdc1#)I>ml zSQSR%z~v?ZV3QhD3mu0Ii#7t7U4Td=bJBt*>g(xY!{>JEUgsCQG}lbj|LXp@w2>f%qp8d4=<#AZ8uT!onL&Yzv|(^Kt2fW zYA#3q(zfMpn+(EpmWaLCHbCig+Thb`tz$2LOb>Dm)%qM%1?cG3n{7pgqZz1OGV9)u zn+p^mi~$I8i!X4~!4#+5@zU9U_?njlXk!V;Z;L^P+M8yl8(nO>HSzYPUR*MQ4IK5p z7q!}lJz*c2Q^6~GH6fKKIWA0o(ipEni-%b?xnMvk?P!21eLusKw+oOmGu7Q?T=uQI z%k8wm_Akj_i+9GvWcS~v$u0qC2&B*v*W#_5WZrXZDGid%|rgmtdKD*em>PHjC#N%fugaj%0r*0?wK!97} zavb^*k({s~x!N8Hj3`14S~v13C)0?1mA?UZL)j$e0C$0}%s z%{XAmNb$D2e2U#P(S28UT5ofOpl-IRL=2TN+J>t`*^bszj>daf0D#CjqHuzV8-yw2 zO3=yu(Z5;Osn(M_i`3xZD3@Y-4jy+iZG@=yp|d}Uh+APGqwl~tb?|Lnqjbs#=8Xr; zYiVS*xvs-W9!T*bvJeV3v6kEH!W4x}JQSjCRkUeT9{D)w z7)|XKPKJ1TV^Ast5j03%gH=NTr2TD3q@M3+8($(Q*CLO-YRLD{RcY=z40a;wr?r@)KvT3i^C-)ah#`0B?dgdhwD?0^hOkr%0ebIr$7X@ zZ6n*qoI+puyLL7nw_9+(&?eL@-nHc)P2IY%Jq%x3Z)~tO<}D)GAOP*N4Q(RdkP2)T zJv0HUkUJUZ9zJywnBfe2$F0I?Zm z*MUtN&DITl<^mLLHwGMx<1T{Wj%@dJ+JJ0Gsl?`m4*AV}Bv>ya;^?ruX5+H0@0l~! z)VtunTw4Q>OaYQ4G)o$QAi$PO|9ry8JAjaPy%SVXb2rweLIeg>q!2LL#*V76E!&uM z;(QFyfLKY`HCd2T8jt5^X5IxZpx{h@5&MuTD5EJIf!d$wIJ9p=CP;L0lhIv>=s8-B z?aGxo{S*~EN!s!T!G#I7GI^iEW!ht8vjHF~a;FB!zPm8dr}_}ci9g?AyaA`|NewYM+zn7}*((dLfUUDlsZZL>&<`}9hpINlxR+9HP2Wo^EFB!ElL zuEPsFf(_BLCjwlmve2@Rcq0_mJh3qe{wYOTt6LGNtYIN8M!6S9+9w=U_AgAm~N8gwS+g6rqOvblv#Vr*`%;E(2?IU41|+&b_rx)0Itnq|(qN zbu;B=&?8v!kceH24A45pZZWsCMt770wmWYv7m?&TN*u^-=epjW73h0pd=gvc#sC-w z)XK0pK+tgVe_CVeCPymMuFp6q%_8(F0g9yYMg~k9k@7$4sCrv-DVF+qcVx5ttzQ|2}ecESL&kCFiz;o%4}rQ=Z!aiNW<6Qcp6L>V5J_Q(}lJ=OFGD5r&QPN^O_@ zJpIqJImi-5>SA!OAi-=tBGB$G{0-O2By&*L;26VA+US0xl^ei|E%s9IRRy-=xUmcY z{Lg<>?%0i8e#wcknRLn$ph@8HAIFb7E0W$c;y{92k{SRM#8qlH`(+PYO*P#GD{Hds z3tGA-9j=H#aiuIN+KY#pSK=Yobd0K}sCa@?4!*dq%W*DZ;`+G1S0<_z8~xzl%)yhG zJ?VFQhv+~a;(Q7R(BCnBcUSn;-19{M425{(?e&Y}&`>SRDE=6(-sd}%_3`phv(o;h zi3})Z9og)TZ;-$zGe9E7bE_xETKd1&0zOgzLI0@q`2lKd#<>90k{F5wz!s87z+F=L zna-zdeUo?qw4oziN1N1YJPcAf(~$5FWhp#DA7s)RR)DfZI*t;wl5FI@5L5UXYhN4B zUm`2ibKGUQ$`)$nr1oBNoTQ`VZ#9s+XfOa?6Q7=TR-|RzVwsRXPX$R0L@FE+SLfk8 zuuuIb4u%466uPIi7ct8~xhsbd6Jqn=?S#t|aiMaXIbvdm)qLBAZ-ndwh@X0vMuCEX zHAgD7PiD`w>QE*}FpdDcpf(x`0R-$E=zB+&l$ zAa99k8csgtcf|XL!-s|0{xjCjXyXGL7-}tWoQCi%j*bS7^ak+-tKo?cZJj%u_F>H} z+(5RA^T_F9<7bNkdQ-@oiWqr2nZTzTypRjQ!YGbXaV;Yshizncw%+gK!>7`{*OsQj zJA>N6a^lzvp8LX#{DC?~2nTwN03twBNx2iUqd3;df{@j&%Uhb>yCDLqyyb8XnUuLZ6Sg&oA8+{CLFL0SIwuE(o@!szf@7NCWFB+3WEE?K z2F5>m?Kp9Gj!s4B=$*37D*xwCgU$T_`j6$v;%MOd6B zySAP=iE8%v4i4&vN*Y-qX^bFpik*FCKi<9BgJ?FX+ZJ9;eXf)dJV7*Xu^~Y z1vQ?DHJKQJ`SBv%ZfTluxZtp=mvhvFTy+cn4`7Ixqz?! zE=X;J3y4v}p~6J5JBbIOnSKN&RKZ2~)9=HajW*j6Ve|7SryCfOa|ieZgS=D~=ErL_ zi17GgD%+)-EpJn=1EDwj9`+ojygAMftW%0SNG^8MxKpfxD_z!jxn&nD`HFxo{5n*uX*XwqNc0vkhs z8g3N3#M_~K?7}Ow-E~uaJVF6T*R$Y{0S)ccRnX}s&#BJAog6cc_A$a3;EdTn*{Wt0 z3Gmf)WMNQ{fiY39YfwUe^YW5Fr&R{SVhFf8)JUz!na|gmBv!1m_KDJV(Id6lfnQI2 zcELv@LG294P4X+=T9Ud1^J9nj1f-}>>}bI<#Ha`ME46&2Or&(M!JS{T!A$7!#;YDA zfQ7#P*HW{^r0+R`i$69V$MJ=wK09F2_oaiR7(FwSe-2BcYZ@ooH8hr{|(@MI~(ggU#s&;2W4Tk}@nW}=IvWiC= z7Di2qI`?V}Ax9u?6uNWX<2(kVc8NU9oU0h6S@v4|h$=s_7Mu^aMDP_ONEbOcjVsDR z#WVihQk_$S0fw=#4S8RGzD$ttGgT4#R&i`5|AhUad+1dGj0a{m`ArA390~S zuG6_s@CaR}VSDl30!aUD@RtG5pE>Kz)}(S)FYE4TDIg%TSeXDv;JDQs{p|peskb@N z`aotueOiyh-6kRl z_56zKPV?Iz_2sr4zWD#ty$Ki`dT#CMVsk2RU`Unvytvf$5P%NgO4@R;aXGe+wflT% zazMy7vM{QdEMOeiuo+$mvr*H{Rx=J(BZ?5z?ceawD}&;|waumXoJ2*>u?0Q z%q^65-rcH}IZ9b?tM52k0QYIjUV~7uK)^8J_$58}IeAxVm2W%#Z>}M*9^l(3tgpt> zybX9(;O2D1f%tc;Z~n8{IYa23MOoxU&VY95_wD|fYbDm-E<_raF;{wyU3nupw1l-I1ISc-1qu-4u=gfn;W<6jdgCV*L7-8%uqm3;bJJ@_= z)=H-&rdbZuB4M$6EzoMNig;B%KWqX6s?C`-<046Hb1-&7rKXBcQwGHA|EXajq}-x= zth?QX?$)HCbSVo8%hoTzn5#*{Al)cT)Z$T4o}&=cZ}X5-s=U|==JXjuNtegqgGjVj zME=v!^_@=Q|BdAQsUlzv*PLX3IRB?x->irxek^{$X-AR88BZS4;DQ)V=g1Y8{F#L8 zA*XBKzk|%oV7~%_9|{&+WZ^>PD`PajRaLfCe%Kfoo%|{`;#YEaipiLML?@xqD}~ut zopCMgz>m86bT(V6izZ9r4PWm1u6mXJ5fa9!QCZ;xMy`jodKcutsQ(}aoxJ~3ahPgd zvTQLJ7kEA;dFRXi#_v2+5IyYoEzOnr$7MC;xf&hhA7Y#zS`m@UH~~G!U0&BVTHF`c zUwk1S5LHz}|8o>kOU`u15)PM5H*OSiCw0qyB^_v@l(4bpgUkh8fvh&v*mKYZhfsX^ ziH`sDQ~Pj_yWkn`Mh%-=!izB)m7qkZnrcD9x;b5qhw!1WYl7{4^qSZ2m-OmBK~=$o z`#3eR2lq8=C%@3t1aX6KsBU@y6ZJP%*A(y3n(5mg8_(O zN8%F8Ut{{%%Am-hmG55LKh+AfY)ekN38m*Y<|$#@TC2s;O+BbdViKQ-gv~AWHv9AOX0G{a>Yo zPSmBKMfYvz3^HGsya#S6Vss~MU|jkFLDydRCY>6C>o}}e!SOdjcp~{d(=ij`h!WpC zMNN~6)5^c{8*%oKmB=Syc$i+%VUw>VV z4EcsCkBD2yoHYDbb9d+!?!mBg6G}ARYX+qiV7^{6+^U!}kg|t4ADbK&mW#1I42G zRZV$4w09`iQK5UVf1JF-f^l#3X_|H(0rQ<6?5^L4R}fcFuY1Yc%DQ`{K!9L+hi)9~ zjId2TK>+^FNN)2V{cK{Io%uHA_LnmRk!+l6l5+eEqcU@xu9L;s2}~Qb<*--E24+(97|P0z_VR{Z z`){Ck(ck3QR&OW%WFGfB%ir0 z7!0DcQ=_fZH3K9GA07%$llLf%B$Z>)Rwb+ZI#L-|r&G!CbVZ#C5SwFoqO6V8lwCAORp4(gRCV3t2Wr9}_J{mR$V**mRKYDgpljlQ& z><`fdxu_9q1{;w?bP2VGUEz`-lOVsK^yB?{LoMD0Jmq0x-(=#T?r+u|lG7RGccf8; zR}mE~Xwd*n!dyqfYM5Wm;@omT#JknDlb%GeX>wf8lua~i=JjJjBp=L)lus4}O=2x; z993EiL$jjbNmOIvQIyJ6vt6y%zM50MddV7RVqeOUh0AHIB4uB>sZKRASV$UrzhJor}{FrTER$ zUQ_fLW<^mG{K1X-B+@~|!p;X9sq7oKjF8)0)F$eWitepTL*?F)kZ!ko&FxU?9dj&B zKbqfXs}wr*%KFI*t1x}g;v7vK#JRSl1NRSXgEh+j&+TCL@%%$Dckpd6b0%_UmI(kx znyj;g=WwIcR;H?Y2XCH?>7T^Y+mcN^WQz&%rJJ)p40EWd4770+ku+5$%AQgqw632c^u)bDgZ$txN|LJBbllcMjPm({L`djeD~>y zB){D^XQ!;$?mx@zcM|RFdp{C~E6I-IwV=i6+@$pUHB?w*FtO!GN-pcBSiygss*mB& zm9n#@`&RHP*RJy;<6`Y6dr>62&62UDF#LnnAH1+@dw>d^mdxv&1`UgWNJ5~I=`9{W z^UHT((pmvCsqNF*C+kIW{A%%}2HO;rTvzu-=c_|2V!#4=UazV@YDIC?WC*|wq+;yz zL7%zO>jWH~iw}bfHkj?v{E1l=HYxYoReuxZy@|2rQU?rrnFskNw^rOAM4+ z@#EY~a>(&n6!(gL+19no7gqzDeqs0*q(B*gXG&RsI}l_+PFecau!=Hk3Qq*)4SRww zq1yn7o~~Wk_b{$Fu z18a;(k?E)`7Ou->UagWHgSzD#_Qk0-d$hT4I?oz!m|4}`Y@)$0Y>c2vaHMnHIRJQX zpC_b`?T=wuyZqSypwz$`d+z|asF5pKRW*H~CYT_cljuVEC`>vapPKzuI(a#9A<*(j zuS)tepFZV0p21T|?@7L%uCqN9LdI|E>(&0Af4_1e}@ArVyo-?E-qe^oV{>5YAR z`XPEFm22H)T|iOoBd}GjDI+VJZj<+T?I{f>jUwt1oOxM~sFS`cin}2sadJRV?x>8V zw?`->+jpr8@?CwEPm1PVqIt5udu`=Umv+mf4+ z{-`qXkv}}TBef>TBa>=D0yFFk`HBUGFcB6UY!m0%iD;qnE9^zx>uuGlUd2K~%$e3H z#z8f)z?T-K1PvJrlyl~P2xHMD?h-ZhBtf*_rnUQ}3lQMD&1LLx~w;=2#UHUu(13aw@`a#1qG zP!&)+4gXUR;5)G%l098DkOkrYGajiC+rar@}lbqntv-=?7}L*`KH!ZN=&h#S?6L^o(MPj_ixSOh|7-!x{~e10New{ z4G$pv%7ZPqGd9!~Vx>cHzKi?rk>SqmldYX8?yr;Szr7lgJ3Wste#a@4-3mjN)yrc< z0eTyVmtJ+~{q*J#2ykF=rhg|9mTWAiC-%S3&cymE+sUE-d;NMBH4Db^f@!~Bn(@yE zm>fxa;Z-f>nJ`&yGH>LJKon#@*V^k-UY#%nPOoU91(v5w2)H(cDCtFhdGj%~w)cRNzT>F~|!7cAP-vKQ>8kgT|7@Ht0nY%i@ zoJx53&A%~T00Hpt^eT3#aZ6BqzgeeD8@kwq1i)n}7vBWOs_CwD|Er%3grka$h3)6sjF-5(HKog1C`dCN|VA9AjK$2zda^IJ;BLDIor!}Nm^5q#6 zTJ;~f+wy!*5*A3o%|-jBG8Z#2!dvWenOm9^d4jYFVR=Z}=)WW0CT8mMGh-0&d6-+D zG8_YVP@%`ALpFXl?>gRm9B%3LQH8|;1^AROBK7fc?Y$K9Y}qJTycKauw_y|y86|Qx zCGN-h-zZ*Nrhd=+>2vQ5e7%$f6$$jqq_|HJ#=0Jw|Ff>DusNj|GAzuE!~lFvFISA9 z@Krw#i}dvXt~N5Ta9oq|(ZPGEAxJ9Pgj10ZMF;Vv%mE1A5k>sA!5ieK775K2)3A$J zIoZT&7Af6;sDw&BF)2gt@GTtIl5%N zVAv6N^qm+bqXJ=PwW26)#}sMWigjJ7Sei27%esQ%Hr#)80fpKIAcy^jCwan|%D&>n+?PN6n>pg{?-92PQo(+( zz%+kIWl*{0C189`Y_z%8>W>W+9Cqao=FkC9QS9{VL@R%&l&jN4+w4&aRx!iVyX6te z_;F_3Bkkc&l7MDWOB(gld5M_|4q#K37TkjKS-r`fQR3=P*A)5TWT98CpA6t~w2JX4 zga8b5jF+^MuzMwxcyIOG*wR9rxl;gjQyk?FR-vzX{nZ#u3B!5PwWV^8Hczc!Ao!wm z!Ex|aPYe}dxr^F*@lt07cd@F=T2ngtNKGL+z-P;Z%Ml=JU*7qI1i~P(*asmXao3N) zBA zXEx@TNQd3EFfX(oM%e3EnaB^uE zwfvcuc85jDLfh--^s(^L`0JlvVlJGiL(C|SGpG5pbfjUGT`Pt-(*$QbT`gK{*SS8V zy6w3qMnkc$rY9!?o~E1x=XJ(EGjKFP;fzQ zb(cN!bUTQQ3VkGXwXP$)Tx0F(^lG6?gtCT6(JY@`eUN!&*TB}P>WTjCZDW;1i5h*k zHN|md7`Q?7XpLm7a~Mv&f`V$4VVE`ITe7z%iW@!Mr`0;wdpQI*MPs5L?-NP;ge^d3 zy|;~8Lo$QIdB3w)qh-n1)B-a)nz66XZu2LB^;n!_-r!y|iG#losC}$8(z#liE8&IS zR*yz8xk6d&-<7ozFn<`0&69$$e`PX>|Dm7oZ}%$AG&6oyh_&(#nh(3TBcc&bn*5N( z&Etxp`*tTj1GTr|t6_ZLp5&>{>)-br%dt-~OCG~Y10v@^Bz*e37$qKE7(iGiKM^oJ zNk$@H8qI7tH4`FQ{rL%7rk;+uiQKd+wjptf>tbyc3i1hmo6@4WX2Mzj!#XsdGHcOc za@h-tX`82t30SlN!2lh>bu{nsz+riI^Qs{MtUsYdoVbsQsJmflD>;USiy3u}4Y&TS zBPV~4A<3fYbykew<%)nZNXQMI&}Tyc3P#`gPV0RUmBys!|GOC)6ls#%?knpNpkp!j zpK-CnS9VSYuLcY>;O^{8N4v16*Yvnae&Iioznlewnd7M|8H)a>pS0~*PXVCzIANj` z9WdCLWlO0f3F%quOj5ZwAo+?&!t%7ynV*+FO}&OnhM*k$};CV)Pxf0R`*uWsWVA5YSNu1LpO9b2V6_8bby zLvcF*JhFI0pcVNqT1`rTS_BfNz5CLw-C80NRbQ3n8m2X#VlL zP46nfKuh8=mG^#eJ<4BqHgH?nH(Bcs-&SO@h%!^PAG5TyVijk+N(ICx1puMe$TN+S zOPevX_Z$qXnrjuB{b=*~t-uP`4y?+KqL8Wf|8IZ$n=Ax*+h#Rz5I3OmOYjzwCbr@u zJxWcXz?`Ky6)YEQ>@)FJnNn?qb-~v1pqai|0a|(P@0ZJkD!xWHXVH7EbsMfxst|wG zYISKoE0zNxFqp{>D*=GSUseEsMf>;B&BO|TApreK>FjVQ6ag6w5GGI%wph2p^9i4r z*4wKzB`xLz4K|RwiuC(|VV(d4-+uco8*^&TdqMz^3N3&B^Pdm?qa^5!1y$aG4FIyp z-`G+G+JevK_GTL={GMIvSjUPRO#eB=%~)om57!rAGoGvo-?o*igWTqG< z&Lns%N#$7`tF>oB^k~2KUMehSzW;;=DtkBThN~zcR=IOVZbq}~e&+kG%NS$=(5xEk z5?Q=qL4aJK^g~?6!1Ey^MT+oM06@+@^Z@|QB-1_Lk}o9$f2l=JBH|1LjTM+dlAR$vU{44DLXEuV7C?gD05rcM>v#tMvP+ij2NyVTXX)3!-k$j}6Nsuq?%RijK{MA7A@EmGg3OM+`hJ_jmIXmWz5@T)5ra}4 z_e^`Ya&A@lN1TV~;qXZfqECQxq+nVB0Lr{%g$2O0LHPKJY&+Nc`=iEagrqS93Bxt%t2zU_GA;hkJh`-wkrjEl6ItXcMWlrB{ zeaL0tx;(x5P`dv152ynWu3>Zmf>wU~F^tVuHAZ)7{LTUZ3XQkbNfQlU&lh(He#&qw zZFc3P2MysoSJIkR#%*oE>u34>$agF6gg_8(0#UFact{c)SiZEA0lVolN7Ek)=`S%9 zD|*@9t@gi_`&Q*Cm3^|dVN6`clStsNsstGs@5ei}6>#~o>h16m*i|pGMez89(~K6#)Q-dwOxAg=;k8vamAMV09|EB*717tiRQ7D(yp; zl8h&jO1Rqrz$m{gXh`Lt!)B2oN9?kW<1;1YhmDH_{wl$_3LW)r%u@ki$kLX2{QwxR zD3&@h#@TnQCJN@KdW%>(_Q)iirdfrM4l7n~nIm*<7AflX>45+MNXQC_3+?~U-nSh~ zb{yAEdvM`_;K79~AVLmYM92Wq0tyz0uz-REBEI!O;$IOW9S}teC|WR-1?QgC>^!Wl zotbN8J$CmQOh-&m!l}J?J+s!zC&nJdb3MHU;8AHNZS$$=CRY~9nBDm5^HE`?{`qtb zMuolFNv~a?Dax2`_PI1;&8RkOW_;vwIB0~PgaCvj*dvHU^Hp)_I-I@P^n)wbu73xD z|GxPqjAiyf+1NRjF&?HTtLM7mQ5h`FXTJqLz4UfuNbw|?^-{1owArQ;__5cf+%AG=r`9orMVK2mXZLx8)w5R0+WOkEO7j32|y{$ zq^+)cNe-m`V}Rs65&%pa(*~s*@=VQtdx8@yKs7CB>e^Jf$Z&B%pabaj7Z>&=wB2Cp zmB8o#Bp>0YRPR?+o}b`J!mTuC1B4&UMAqF1*o{6&noiit!bF}AiE=p_Mc&n z%H9Idn<-|gxLsBH)3&9ccl5=R&w2OI%DzS(3)oBe8?4=uF9nVFaZsc zg7KZRkSfU4X>bw{r0v ztTz$i7#Y;cXOcj_NGp3MQz~S%+HXs7+E!U@|C=Zu`_D32FJ%<-Dn?hwhxQ=mIClb| zT&;PncGqe@q*Z?h34qd+O$~uL00}&7ioW-_5dwX_SKmg`s*k*Q!82aK_=;FhhEs;DqPOu@ESWQeW@taKOF;(zt1bq+901~k zi!RbIhw0EDyukF8^3Lc>U#JMr;lJUZ2|pzKKXwqWP+3yf_fJ zHaiL~UL#uV|BW@QXpz}oRQ{e2fCzBiX;*g=0HyzEW2C?=3i#ioc10%ZX?0sGw8yev zsC~C~qDD85c+;$pxE_ z?C&9w&CV>*{ttnxu9IQEtT1PfNkB>xqE)rbDsw6+0hAYQY7;4=W=KFqwp1(JQ<@<{Pj4>U!0`|!a8pi~TqfRpOQR~3-% zy0nBEYib(1_W!Psc<&<#0q|tXrMDfZYBWujOtG525+lMl-O^U5}8qVy8wl$?;`D2LYhW2Ob>DP@2w0_9597M zkpLVnM&|M%9je8R1~MDbS{o|)UNIB`#LE7y#Xb$ixhVty^685&z9@F*&|Fodgvu|g zW(q}+>e{JxniNfJU$ZllO=$g`(Eh9Q9!*u~x~tZ)39Qb_(p0l)ZO@*FJ;>Z`6EexL z1lAv<2y2%8M!>(lFZ5JsJ~*QJSJrcRn}`6UCgDn1@)ZePUot>6o>_T@CV`xS?6o zN?b#w3!(c&Bo9u|{<~|TD4T5H#0sFy4+GBjj>A2i6}a<0+$vt8|C@C8=`jOx0=Z!z_5fHJsY>?Z+gW-L0SGmJ(VkC0@QC&w zOZzmz_l)Ql3BcVxfeZxLdA46d0KD}~eUer1kMjU4Eo4ng!p*N4023NaRpUGmoISe? zRiE2yY!uv~FgAc_py*#bVFj>PDYY67bI258Yyw99o?s)@4Q}MK)n~A_z@AVV z;4)6hCbM%z3It#X94DzcF)VCY zu<0yXb_+NT<}}=Mk?0k}5Xzx~ziM=Z!0G<^tjMrdRx2xvh*T233Rv}TtTel&5@l2+5 zCN7_=-GC&Ji~#`j11wfk2eUP6|4sr?M=Iu)(oJH0jL^(l1_YO&S#aG?ZFq-7$^aq* zD+w&3Wp?+MVlnDpxFC=muVe)Q?+AbzUs&1WO4|e*v7|N1>p!G^CP+ z1)3rVRu*JN4y$)Dxc+QC0RWK1xA8;&TP+CwZxD~wKVo*2EdUV^!8jnuld7&Tr)OCi zT+PJ_a2(8Kn&Pz2V1d1WJ(Fn5Siuc+!@V#V_z48@U7*+lEC8jVUl@GilAyS3sYe1< z2_phl<#Nc)Lj54xvDla*`AIVy;d`wHxDQTNw8NFLWo-)tAhZ@Sa3WY0>2O%pT!7Eu zY_D_!lKh=9A3H&RJ6Q?vL9VG#P?2P_*e~Pn*@q(xT1~h5`X_HIvvc0Qix+j^J{qPQ^iP zwGSq487s+Ynz2f;R>*@D8VZ5JqXeM+I^-VYKmJKSt8}WmaP==uENy5y3$pEVA=r-6 zp9=FmYi)7~CL`F%1weq#W&^ zS6!g*%!)%Pv}QH`-pHekm-vTzf`k^gncb-U^NcYI6>2l>YY2`_K$AT9ie@(yq|B`% z0ml`yeOh=9eMo$cmCIx*z9rF|-wD(c2|$=VDIzlj{I0n8Rv#;S9|ix+LS-)^EC%_c}Nx;oIT4u-bP0QV1}+I5ztPoq{ZxArB&l{@5b!TBJmb8F;Fe~ntJfKyuD)(@^ zh{0Kk#&@SoVtB^eEPdhBHpm_A`(XHD(bR~z04xK%ukhDiwI^r90iKmy6qAogo)_(e zmRYnAXlfTj-%pq?!qV!I5H9A=4++ie%0$m+0EB=Jypk0hN%PMx0LN)S9J>G#a9q_W zj}SM-pENCUq69nzn#lubK9K-~+UWu9D)!)ti*LvAqI*JhRS>L|y%i}bdinRe~26IDr?JOkBwNCTBYac{&dJrWGTNR0E$8d`y2NnbEO_x zSmzm!0L*C0qi!i~(u;-^zGg*HHhQ186Y2uM?BFLFd0Y&b#H?CbT6o1vIXQ4KxW%P* ztz33sh;|-A2O1b=dI~kZgbCu^nNL^>{uRL$fMb?*AnLZ9o#XZb=K7PeX~p#?0YQgD zmQ(`%=gZ}iWnQXm%}_u@`;d^((Y31dd893^R2yCN{l~;qdY+{W)(2>qwg)gr6QpPl zMFQYzOEcM(xL(o=rWubbix|l!Yky!uk_X0j-E}N9VpwZiYU8Z zK(z6#!#-DJWHhkNsa-?MU}VuE)~t%fI$O&F0Z`?Xy|kBCObJ(*|78S#;F^)Wo;~9c z0E!i$-0+IuCBf2689O?zKIScZ5ALB^iw1T1ZYR{e7&0?ZaIh7vkPSQxU|e)Dgy!yG z=Ami94+1bXiT2ND!H0s@v2u}CeUh0#OI<5qSpf0Mg1{1DMmJ!v4rx}P?iqGir^lCM zRdT2{rAPBzXx+-RL<9hjq#0Z=l=Kx8{4185LZxVQhRp*&685!aHIn?O zXD3Pl4++p}HCnFrI}3hK+$Ac3scx*wA~|1~-jFzt0<44}Rr-~+WeSe|S)3aHc`pqw zlueLZ2J)r5ZpH#Y=BKiUyg4el{|H63sut^L-45rhvcGy+t;o5v3BV5b@8l48mYLKt z4AP3dmnD`-2n@RiysiSb;BK&g?fE<9o@hEHS+d&0SH2j62>+_N@^CQ>n1(YA3BVGx zcXnxGj!Xzb5ZVu}9IckTkHE(BVfKUpqGaE#Rz;+~(9M`w@sDY6oVbBi_d$Q4lyOdt zk7YeUheoR9o^vbM(7aHh~QG>HV_3Qt?S% z9{V;D4B8GR*_X5HS&myI!M`i+EF1a|0q`)+jP^fp`;5E-?r;TjiQ7y7thz1~q>=lw ztISaDhPQ+H+uwfp=9_Q4v)6lN;9NmbcD5#8xkJ1*l7eOj0YGO|f#sTT1}=u(1R%Yn zv*5f1nRz0OV|$_WZKlAnrQFQiehBziV;b1z1`x!dYb`H$H>?W~Vv$d48bG6v8+44g z%!IC0n+ZUu^%%_JGHa<}Ygqj|1^)_ID}aBDANz~>M_0$8w5L`s7Wiu)DP%TsFU^l1 zKZb68324GugzUu}dY3f(?Qvn^tla%FrAa~nm^-5~=kE9!*oj^&xOd`FcE-$g!0KRt zAheaVD=wncCt8^#w81&UTFh1jPWI32z3nQ(B8!;-SXa6KVEW1gAd*=lg~M!(1Gm6P z;d9q#M*K)jrnytA+s)dUcSf)6_ug}u<7$?qMAo#}m|CN&gFK-VPtT$^ldn@F8dHifq#o+Q0 zH#^8O$h}J3P-q>-equi;eE=Gnd}Qxw|DIR?X3k$2-#1wQL;_5OahC~zN0h37w(Vcw zN*7sO4wfV4_LUHTnRP8p@sVWx<3Il6@BaPY|6SJ72jsMOO-qXgRyurQTgkdcgMc%D zE2OqGGftZuI=mckF=XH@5wts97(zgq9Zo?5xdM2Z=E(LHH2;|ZNP9i2#J)n1SMi%t*O{cP&=;UJCw|T=>G;;j<9%SVKl8cMY9t zlvFdeINlaGhd%HKkc_N;D+67bW-+juuG*_E0hn>Kz$QT~0Ei1Aoge`KM^cr}fz20^ zN_9UCd^3H7?3)>jPI#9^)~tkxU<@;T@#f&L&oXOXM0!;vK;Ho?n%V8gOmTJCJM6A} zMgs5;|L_lg`H%nj4=Gz)vNwD1{1mldif2+5U$PBRG7;A<0XQ&OWJrN10c_&8dY_C0;#2%yiEikyznxTPU09IwO0L7 zQt+>kQ!ya(kpvavUIzX}P~Pv?AuAF(E?NT8W6HpPB44V>5~6;%m$@2foed7M18XAW zM2EH+XKytD4cAt6C0i+%1#B>rCC)5OcU>NcAGGIJD-jR-ECTacW+Dc{`}IoF(Xu$F z13qBiCIrC9ZdC8d3I}FB{%kuA7h5B;thY4&BnUvLJ!RSvLED`!B)}OMD@>2kFS+bi zT@2o*LxGxI7=o{%8Y96Dfckd|IAg1_clucr!-y_e^bEpDQal8>(4V4bEcskWrx~fW=V!puU^53-2pM{w?am^)I=4_BmwX4eIARP8pfxq(pX&R1+2|JnP{Ti3L@H6Bp1H3?t?ucDTlk&Rb)hJt@3I9-Upu`XpkprNuyQO2MT zZMEAdeI{f&lsZ@+<(JekSm7>dT?p5K0Ul)xZ5zxH?zTVvk;XHwa!Cs_0IeQdG#7<2 z&nO>Uc^IV+7jplvcK^Zj90-6%?pfcmER0t$@w?w$aaUq>Qj;7!k^qcmLkyFB;NEC4 zCGK}2CM;6$g^4$+GU3GbLj)jn6T#sE!_0~*U~t&b(B@;p@qc?iyBNIcY+m~$lg`SE z!TYpJh%(=Qq0G2a@pt7uIRhLk8iti)vUh>pfU$=NLn)vnfPZ{X)>0${;AfZ1rE2yM zFLemH=!~Jm2{7JGoYl2X^OZB}Mga`(v=S;~r9?-ua$uigO$9&+vXf=WLZ8!A!U}0t z2ClYA+_!eDoxAT80;Z0qZHKYpU!rxi<^UkD4$s60Y;$qS#$IrL!fPaO5_}Ibzl|w; zYZhsK1=qkCG7?RTd%k)=&y*J#0T5gO6**x2FB1SpUW#XBWKU4#W}y$6b@)9J00|p= zg#yySGIyZDgiB2m7lz#$y^suL+7y!Z^K93jH0W2kqk#7DHZ%fLoR5s)V)eA z5;#AQzgaq9zSO)$0??#P7W@l`7U9_0z8m<~^%3k>BLc!2&YaKi{?1apj*bh@2>`o& z{p^~C?mv-Lp4`bh+sfXr=2m~`4C5iGmGKl&DG$Ra^1r2Smw$4ck!)q5fZ{|hzaJ2Z4` zd=ykEx#IB=ayg($Sunl4ytHXc+p+xj<#MU!n=j?MwvQ!e=h51Kx^_$x3sMT}A~>-seh+qT?qa$UXY!Ng^AW7z*<1AtxOBqPF|t`g+>mS*o-zjTc@;E2<|xa zO|??18v@`B?-g8SNAI}MZ53p0X@;=GC>{MAlFNWbaa5 z;p`s*m0P6^BTn8OCMrHg=DBPEz}h5Lp4B5^?MC;zJrB1=kRCM!sAZ_ccbSjgdyD}X zCIFaFN&=LNtGWZki(yuSpmZw?y3Eq45ilt&h|)QsO$z=M&A6!fpFOm~P!3HfsA2%p z-Y8V@d<3~^2OPTpunY~!UVP-3s9a%d7o@lAH_4-1(%OE|eX7V%G4sw$a5E(V7!<&W z0pgKEdsv_x2%oinl4cKN0M-}#w_^N4LWMpTx%ydYJ=K??T@;uu?oGS`T6TcaSu!5F z|3nHcVV+kO|LUjp0IFN7J5xS+V@l#=?AxRJ=0F^kxRES2u=T^oT?_ev_4xMNZ@ule zD$OtUKNKOrTYWlEDhnAJ+^`}ZER07)*(o&~@LPcLgUR5nRP*bwv9S=!4GKu2aq z5+u9J%;-&R3jURR&?5Lhb4)f)3aS`@v==e$%M%2RqO0y@&V2ug`_Gv~wB4Uno@8r> zF~R3m$gFY}c+AAwbY`Q%c%cx17PD$uYWt7uF(8IvCMIjlf)Z6(F94adlnZdNgXYi* z4W>iD*+bs}erGMmtrsDXNBYd_`UN%st13q%8!%Vy*C0NW3!9^V2*K-VP#X{ zsJdGyizWz_-G_E4^(WCLj|y^S%Gx&5;9oQ`O6f4GohR*=fqy|Ow0n=KQ{%e-Fu_d5 zw^QR4jcW@0i-Z*4eirbL%o|}b8m9Rd&mhKI_4Cd4T`D^u<8jf?f?n%@xsL!4BtG$H zSbNbWOC}KIEO+M(%9L3mKuEx-!i!d!Rt1o?^DK^}W(w90q_X0Y#=7Oo!w7!}Ap4Aa z`CtV=e*u)4GNUEiLVX&{-Arb;0|8)GX0}+~-#-(8ky$H0Bi{>*0MGynXhg86t1bo% zRme5H6QG3`VU%N-_!-J~B3<2}t@yq+?~^UyN_KF7t;E zA6Dd#PtO+m3(X^d?v9@j(0I1X8hnZIP01pF`N7;^jz)e$5(4=$@4g?#0*v%?pt|nr z%sQc4Zj{V|$ojKnp&JXJtU*fv1dAD7IYVd;e(s+Mz}qUl7YhLPG-Q{2FE9d-`bfh4 z2ZE1*E@iX#Z2+qA?j%@h2MI`1F5+_b#!9RfXJjEs!GD&vw4Has`tk_yk1nR^BGuwa zg8%p|IQKvI#yQGK-ix)j+N^e zo-IaJW+uOXmbf>tEFCMmV()?$9jr$RDrDy}>mb?ZGgc6c0ndllD0Si@*RLcC%<6m3 z&4w1`{wIo%l>}Ou!Z4Ft_OQ*lV9CI1X0-o!{s3}66M(nX84Ut%)B1u4_AZtVY7??gcrl^%n$`oIwKstvlsdpMp^~}xK;(WWO5<}$Er`fQ0VJyp^5L& zJpTYy5i#p0jbtnsIzWo_A7~R2QC1l;A#tPb1Owf_K7z9ZZA1t@K->U&JyOl`V~=(! zc@9JX+SZXkMGF4eIV_N!mEb?jgmWhNe`7WO^iP>v#14gzvW>8|*cY^#nUYpH`XDUm zK~}3-O|=I+&ebMQaXE5z|70g=k$985% ztiz;uU0B#+=cZ`host1|KC?a&7mu@mk?ZOZCHgqI)`*m`333H{2pA>EHnaL1Rkj`o zH!wk~6oC@c2X_2}>Uc@!E+JfY zYClHWRkf|t;2*$GsO-A~w1k;rRCg9!_E645fxJ+hK(=6Csy{+vXMCKqF2GgBehh$w zKHV%kSJnaI0=43PQ<7pJvD$SuU%SqCb&dM=hzt5_nxoq9Y}{1q9SXTQ zPlN|eP5Ft9fDI8{Y!H;#*bsUZOG2V0Spne6DaMHV&#vG#nhmF7z85s(yR8`BrcH%? zh1^_`Q|?*-(5D=32y6>5h0tZiL&}HowRjs`f6$+U+YAF2#EP>*L!^v{1|G7EVPdeG z(wEUTD%hF=|HaHkID>LvmoV_q!mGH{L1sX9i^S!FrOw3KDuuNYFuc;O1acJb>!Wvj zd0=iaG!{T5PTu+u;;ZgSVd=vrq1z#zfOX@IA^o0lq_?Ik`#tK0(GK{T+&ue*2x}aW zMO}3!4hjL)qQ&YN6gK59g=wJ+VN)wKW(}A;cm!@LkF!6ZAqZA9u7!*pZym+u0K$OF zfw`(Au0SgQjte@oaTAT}4wn)N{#l@5ze9w>dvD9jw-_!@w8#IBR`6U3{tLd<<->C$ z1Q;(4`%E5o`*!Hk#auE7fH*_@A6n3Ca0+n~tWhKDRCz`LEmPoM$V6rR1z^DiA6jH@ zsZXn9G^}#YVoU^uK|0rvPuQzi=jfND#$4&UO)XWGO@p=->v;ce61#JT>l1a`tIkKD zU>tbO^^q0p_3WUmI>wbrD-QRrLI8wH%j$YR+A^c|^OI`VUv}=rplFoEA{F7}De2~t z%V##&HZ<#ITAd_tYvn~{a|R6!G}WO`ys}R10&E7yBYB`x@Lwf2LZO{ihZ*Y)jld}B zv3|JO2AKAr2;s8?>k{JTX~way`v5;o*r+=po=w~r7;&dSDI+?Y368lHKptY*rbX z$mS*cJ5})A9=7v6TL7@_%MbyWRS4WLjis+#p+uXR|DW8mEddCNhcMq`u}Fn9xvUx} zF8$yFVi$Mz{qRzcD*uu(uQJQY;2-k_z^l4ct-Q?1!m4wTx{oN@?PTJJu~?CrU8TiAfY7!?m5d6 z9pJ?Um!;NK4l+5+0`-f&`$yUL6XM7!a$GOl7PyXAl6B4H!os1HttOO~gz^V!$ zg`i($nyPJPHB9d1#(d_9m1DL~l{s(;Ky`0cJ~-2MfB;bNAC2`v`_ZPSC*bZrW7>b> zDrg!!?6=+u25mb)%ORkDFo(OUP{_7NXsyD1*QS*8(o4>Q{k~%-XVb~%Wz^3eGTz)j zVfn4Pq^U>Q(n1?J20600EbK3k-JWp1C-86c(2w)V!Cwj0x9UUPG-1WTOZdO9%F zck>8K9h(hAQXI4dz;!=hrcL7d17QGx-3tV4aHve&;LGe{NPHznFNV?_{TW=JrcQ)*qlJ)Oj4k-HNxL#z;?I?GoNfi zzHupoh|antDPu<)mjE#9h5GW^zD#_Bat`Wv>E$uEConGn+gE9n&yf;9>UG2=K+O6^0)LhBw`%%6WdcA0e%U#EaAu=E z9?6ySk-YT?b+>6$%d4x%@V-m@if65>p{vUy$f^*B^=K_B=F4;A!oE67xv)}BeSVie z1H%L$A?qvW8aPpjd4O`+tU-*xqJL13m}}KDk=PY6In@1^5`gStAV63JL-NId)k;j! zbg<5D3{!7q?mvmuLveSh9t!uu-VKiXLLPT2#jePQwVeRRE(v47uhofM(VkQjR`-0{ zl`#DtbIaIRJ#=KM%9`bokF0to(OR_tlLm`2@Q?m(4*XT7WJ=C2N>O<@NKzAmV zY;;YB3BZX84t5?8C=O4MFi}b}IncJR%I4R8CL+*moj`VI^>OkNsw~-gF{ql0!^IH! zJ(FxF)ZF1rR>-n4*QW${Nq$#s<-5PTrt@b6#}m~oLlB%1(BeEUX`TQ_ynloMgchjG z`bNn22pOK8pHGDVv}>4ZVHEIhlL}2QfUQ}Ql*x{=96<@#w8N?v(S2%ya7w zMDB};R-6F!XoMg)>fy&;$13rIdH#0 zD{Z7B42-{ZX0;cAGR9#7aI%8KyW0S=vA&GZv3VG&6M?lgLTSWgK$EMx_-(+U$A!sj+L~iE`W@(Fs(Wv)%PR>fVnw& zp9+Z&1D8*x{m0loMFJ4Urm*#??yD8;lfAi9&ZFz5DYbx1s~rL$gUj%sk%Nqd#n8)I zmM9WdxwW}_l?B|-t`QViu%`U*gM=MNW7=lB2{2_q)wJd6J57VVLzAlZ!P*(<#ym2> zU41v&XZQx+wmHQAR*8o~s;w|p3wo_?$oB&S8YTdRx+VkNIy};!i?FES;K!7E9GI*< zBZHsX{@7juAS}FH41F*IE(Bx5ce9Xbwv%AG5n&l>g0kS>2NYZi`+26xTG^^37>M0^ zZVd|N2BY+AWt(J-sxNfgogwW%3A`VTg_)hEcR>KGZ2h<2h6y!Vq3IHUX9WLPyj=uf zVX>dLJ(kI?#LaW$jCuRojX44-!B|;A%IZN8-F@2EDgdzBjjTQH7|0FG?}+ZDCKgY3C54X9e1f_*^!J3t)% z^}l4^+NP8MJR9-0&d(44Hm2D^kL?6!XPQ`86*;18lQ7+-2OfGb5xHP_AI3h!^MbpN zJ$@#Eho%}}XBVhB+l2`r4diJBiBa~EXOUWwz2(a1lMX0F(W)eJm;j)kf-?962sV_s zSru>_bK=g}V!Z>ASBs$%In#sZ6{JqtPb=F9?E(bXH_+PB$AOHB*?6hr~P+Zpi1>XXI z$uYKFUUgBl?>zg$ZND8B0;{akgWL9kzpNB_RR4)=YURAEIaHDg2pMbW@R`g?{E1hR z+vR63%Gjj>w`jmVd%?ipJ&?7^B_$&OY1Q>+ z9O$1~knQl!YMh~E%j*+}KyhpLsyfHXJ=?~X9`2lq%P{&2LK2Yk_AZ^t$FB}~b-OYF zZ~>UI307PT4Co~ngEY`?c8A=5NIvfoD}=h}?%J&MSp|T=fv|slup$mI)&Tz-1t$iF zR$U+WQU)-={zAV%HrpTi3}NGGd##;~r=WpT*Q9S(wE(C>T}k*i317vgLM``sfrVO*DbR&MR0 z`=t7QC^bOzSaCM@Jbe84ak)#JG7lpJKv81!-%cu=w-%K5c(+M-pxtC)eq`lhz##!Z zt6mJyzQV7*2Y2m4k;`pFz=W4zR1Ahxyp#N`l#L&>ar?{i#P_ZcrUl10?Eeg;lPUoS>pRF_{9D5v>1V6mSPrPF9azx5cjJ2(aSa%E zfdHhMQsxR|bByx`z>a_IuazfeSp)C~;L3i2tIR6*AL~YV-;M60ftm(Uq0G@Pu;-Rr zKG+8*3nU7!{{Uqk?wB;t7Qi1EBf}Zl#}ZEmPwwBz!t6{XF@@26G9qV{m<-niSCt3K zLRH!%1fW#}+{tH#hobKXYul2$_ecOFg-O53+~6oooVpPJlyNDTW;W8i;y^-^gvrl> zu1K|0bWKe++OEGl&cWROc<%@ashkH2jGr$OvkvXZ!2Cq;)b@80PNm> z${ejIT%vquR~u+yAv9YTj8BmOVE)3jQhjJwE<&P(v(HG{tbsl)-LoD6AaQbvTpSpd z`$!4=Lz@a^3y51}@wKm5Y*JE0ay5Bt2j~JQ0{Gu8UuE|Zw%MYz%!xL0r`u@TT}iegyA@otaOYM* z6tUp!ijNELa_nIM|IFo#t!Ml9#KPubkQD^L+Z$o_DkxIF`|dksNKwJ7ry>9eC=Uq$ z1`omqoLWgdAy{{QG6Vo~m;w{U9Z1=Qtc?Kv@rn`cf7$(q#5hQ%7B*h;_obSu$-Yz{ zU*-Z-{qTwHM>O!W!D0YLxLAKYah&W^R^gJhJLB(=4Ut=bx$K1*- zW|6IVkaoCL>iwh$0M&>f_!OYH!m`*Rw13CN09Hlp;QC3T;=iXbm|-;Y1iExa?evfACgovVe-{Erg?aEA3RRCuj&k7*|; zxGPm9P<2h*^SJ~3qhpC%N>8v?5CEF*9)0QqUkgF{{n>ht1RzZ3YeWDz60#=3s)=_; zdp3Vk1ORgfp@9iVGX=n9X0?V$%qXOS%3h#^fnQN^pOZ6FL;^7NbF4~Dr#(QzF>(6e z8jhCOuB0Ku*G9$(P>j85KYSBo8O^AHJ!1RbN_u-F0pGwr#J5{bN@Y3lEmo=0#)I#j zks`3t|4+T`r$7Lhdz$242&E4$(-{{~t7U;ZL$F?q%J|)T(gg#a`zY=XGFG-WE5;In zq%7_B=!cVReTo}s^|OaKDkW=S^&{3^a22tpD+xfTD2iP5MDGdowe_HI3BWEg#nwP{ z0m9ti45e1PYz#@3uGRwc9tnWtUN~E9;<}Dtp*Z-}T(9jWz(N50Z@w5pGg@S(OISa; ze^%agX`|of(=^-d^qLmD)rO-TOAXeaQ;Rek+ehYLYg4N=406dtSmDQfha6zwL-2o#B$Ah{Y}ibXJ~Kw zGlKO1IEFAaumiw@AO3e#6FqVnetzcj42;YG1UCG-arq4STaSEn(3ku@$KGI?vH<6P z8ZlP5Ri2d}K3c|S1^?(Tb(t#e&5`V3l~1@Jd8d{kKF3+O&$D|Q084pE(w5^bz3ZwQleU8Zc7tVCp6a&J-%POScO;n=?;fTxu_=m%pMAn}XoVH@_ zKELDnW&qhM0DcVs19VluFo2y2aa?amz%{LE z9RoSTbB|af$aoNtA7%%?@%hz+a5vdGT}%FG0#Hp`S@4<9wpA-v4pyQJL<<=PT|)k+ zKm956YX^yeg^nmy`@QGx6}U$C@joqqw@LB-8~(PT&QNw{4hrjtD51Yl_&Rgsf#>%| z0OZ&rg#ch3&ng}69WsC$XuU^F`2G7R0T3^bGfSL{U3$08%mu{Uh^pWt3i8E-wC*9( zAo=Cx#RCApzFaOp7iQlwjbMEEw}Vgv_<8uVll?m764actrCDj zAi6T=Esi?OIn$yiUIy;B8KEGl)A3HvlVauGR_1K9O^EM0~W2`tsRZZ~9^%x249{xTocuDrKGeFmH-=FNk zvy?vX&64_WlQQef>c7(j0AL?r3BX@;(~Y+AY69RY6*A3u+c8-9g)CIck?fU$WdabS zp>)3umlmu=l$tjQ!nXH$DM0bJ_d)=?!fQ6R!(9`(gas*GBgO700l-}2{?E=tw#Qn0 zm!-9~ca+aql>oFv0D>F;cKD2%{~OH{r<~BH&8+aot7hX6ie0`oH|;S1%nr@5*QZva zh)b&kmdPN?u_YsuCOm_+#6Jlj2L#~5#aH1x%NQ{YSW5_^)#r&#v8?&G;8MIWiyeaC zwyK_9AS#|0t4OlGfBySlXTWMZ;Nq>gsb%vA`3^JnYPoXOn!!S1q+U_NJc^9FF$+v1 zZIhT}NEw;u)j`0nY>5Is+YXb=e$}z{%D^%K5Q25z`t*lC{2{DrEM!oOz`wnJWp(=M zJSy#3I@yDQ_v6Qp2eOpx>qr?97EL6bengz8GLLU2_~PxIRZe>?&v!L69oVVwJI{V?orQ?9s7QA8t)%pK>+#=;Q-)*u#19q`0R^e z#tI;%R$>D#{5>pnUU)o#m{^Q^N$1gLt6zi{ElBj0LmuPq<=V@7y$lN<5p&d{fx!2X2$dR*?luGOaKH| z5~bHxxDdp9r3D$^cJFbP1&CzFF&9zGtY>31*I6ZX_8~TbSzHo-^tU$RB8G2E~h&PfFc+k-3Eu$&<9wW6?3vQ zn?_))pV)wCzZ*35^D;wLcF%DNmXnW<`qS+mPb=(QO+$eI$U+pZFKzvd$gQOxJOc3A zf5mJIl?!2H-a`urvPuB_M?S10A2gk1SXJHA#`ifKy1P51r9%MsncljyVn#UhH=zo78A~jdL5@UItguXt-l4a|K?JkThr{@;=K>!IjGC= zL^R-OZMFn5p&?{+;c!E|3+Gwz!AFiae|_Ff)UCN zbDYT-wE%25fT;vL(qDWP`aE7mr3cFg8hS{qPv`OeVFCJ=Km%7lUA=U_=sVqllT z(0p|qw7kX|n;=<#L9CQVPoiRbiTJ;y3Pd~x6ulNwz{@>9zM5g-Hgr{QEA`00`cyI? z-5kj1ZH@_-Eyq*R5guqL@W2;i3o6hJ{^JWZ zu-P+!+iU%PHAH8)snzKdJp*>A<1X?g{>h3uI=~^gaf@$D@TURW;kHswf2dG)DYi1c zFBcZ$7o9Omrvl-P0W&sDy>|LXLL z%drs@>PtOLC6}k$?!iF=xUv5{2#ubqTC_|VH=sXe$CCX7_xbVQ_jojw!=>P)f~;Pr zOV5(9y+Zz6O%xJe+&YSZrkrP+bD7^R7i+N(OlD9_uyooS#hx<#QZe` z#Ul|$vF!F7sk^*!KIgZ?vMBW$7jnFU;=?7&_0X z9HfJ569Hux%|@(S8VjQnNC}W}tf1lh{cgt%iN!>}C;$8!46m@*D=Wvw#mPy>s)a&7 zkHb?5J?y{0H=HgIRNWx^k1V6xE|EM|MX8 zh2PLNzL=TraE`FM$b9Pl;!LsKv)EaIPy5>@JrpP#Sv@`&poCbH@=Ay86% zOSnA=*_)5(mGMn=ry?GJ^Y(B(?kBPhY5@vZA>N+^NLibI$P&2$oq)Kn&`kZ53B@g{ zE=t2uwxrX3V#AMI^&sALe4@Znzc_tl)Y@Y4II{)C>6p zZthR|)~C8EgAuwuAh2hZ6ZQSo#%z#WHOK37CgDLsywIVMo|QUnRa9!{_f`09Goh@Z z_7g2|OAI1Z!z5sc2gNzY2ygo#dz`@rvW(66&Po@h^9S|nDz=w;C#gZ~JwThFB-|p9sO~0Eu z5ysdf$4sJqhQ2Vr{3hxxg;{q>j22Zs%uzz(@D^xbG5y&V-3g?@r>d|6Sax?@85F?E zbU}o%>=sk!e+M<#;$1eU0JTkwZEY#;;J%^pV*N6&bMk66s+s*d2RX-y=w|xGmLNZ^ zsU=Dh^W%J###uRq4|+H1ot3v7Z%#$KY@3#AtaBFY)_LiL0EJ^2x6Xs~V)v z?Za$u@s_F1?iE@UHmQ+u@*S7}tbFpUEIU`D+ii?R>sof`NLFiV=_VahYD^CC7-g9{ zjA4iujft?fbCzF{aMvyk_PPBoqgdf@OMo007G!I^y%ObP3+aUjP3koDCS=gMnr}vU z_5H4~(MB~!%@EO4ZWch|li&ySQs7j)PjP8aEt+p3yCgF^kD#^-2+#P(!)hx>-r0^J z%Zc$SKZ3+p#rOu=mbB&g8SUYZh7`g{PzP&$0NSHDq21Y|KT4F2LlIXoR(*BL`rG!=&aTf!Q{ouVw#eoUd)@K1i z#Yf_}0qMbURis0CMs(UxqElny0j>#mysYV5{|X*-)$Zr=0jQXJ0i(KNAKSm9^5@89 zOkAKCG51vKu~SV|2Qj4}d>q}5uoC-VUjgwd<(KT@2Qg_8 zMo)8ViStSK4}e`Q;i^CI;^lzWmplgS6M@YdK5!Dxx6H_PlH;>^T2L>crsC6-P4?v^ zXz?#L^s=(a75y6~M(H)DX0`mhKSzI1ouR`W@rJ=R1@TiPfOF+}vueavz7EYT|9jrE z1;*JsnK)B-twr+|*5jTmA8@dw(E$kc+Rr31*#3ixPs=hVZ!Xuz$V4mOgX+ME=QpoL zoM~J>&v5aaMxGX{|-) z=mqW+s=2@Yw@`q~OK3zChpw_Fi&NlU=qz@88RIx|Z_oCu_?C2R6kDHokUBf3{C<+K zId7V8Zn-AlhHW7&x7w}%MDm6&IA{!W<)V5i!5#x`ZOrJCj=j2OTyQx@4N~$g^#t$< zoI02MF#rsyUn|=2 zWldqw;hv8dX>7mPYs$(IfzptqD-!}GH!dK{Qu zW@?hX=w?TsPEIvqZ*CbY&zVSJlLlUB3-yXug583f{FNP?E}A`a6~~h{+P|Bf7!AfJaW-H2kJ5Tz^+Q3 zg=>)BLj(xfK7j;GJQn@O;e{nbTC8)5oI@mFl(=a6;&wy+)&^B`N^|afC54_nYX&Wt z6-!~%h(`seC8`~|?MWo)fFy9!;jb$yv4@+f3*fD6!@>O$nN8Nv`cqX*q4_9J#zc^*>X(33DdB3ZUlzl^?4_0f5jJ^%xlv4wB%Tw-uQ!T<{1tx2r?8-`n~JRf4(k>nEz* zLfr5EsCoigW^sgSiT1D39KvH!Unfxw+?c8C_-+m)8K#Q*dR%q}#9(41&kD`0YdU#* z5MYO(GKQ^^-)kU=B}JerFxh&#<2bL&B|}h_3QL3+ALn5g56~^;YVZ<~YCVSnH_P<@ zXnwq=XPhs4C1O$|CWPV6;ZXb&f06W#wc(@_-pP>rv^!2Q9|lT1MteQ6eYVaGvi3UV zHPg2`d~Q7-DceOmMQzeZD@A3Fwx)@~oZ-RP3&k4pr% z1J>dTE_aYG4eFv4z-41$9_j#~lEnG`cysn3E(QEf9?nfkWTx(H$k?Ak-fy_RcKkus zVVcA@w)FyG`XNI5i#;Z>$W`D3{X~g)-t>|c>@wKeC$#1>1`|dYvl2h=F2RG*^v;T?cr9Tp zcUwuRl4>SYJEMY1bq1`@(wb3vULs8lhgb#~H|`CFS6gZ&=8 zHdkK#+Kd(h6#Bp;tn+*gvpBHM@1@D25|Yv*E_&8d+7j?Ka!Kn30#~!f-x(}(a<~N} z$mY%|1AyBSYEXB-cuIIfXa;=Cx5@61CsEzS!YccPQpVF-zq)iMZ9W`Kip4#^^s74vvCRGfHEls(tAa@j+Cm6nTo~`++`DRNs@Ix z8gay<2z51_=q?HNxB@bj*4ixn$Hq2HQS`^C))79G#~8c~4;?1juDxg&!(>`YG* z+5OkmxbxI$)?)Eti|i@@^S_9guOKPsa;!AP#yiBjU>BCfXBhHmrxj<2y$0G%lC#KL z8x#vjT|K`fz|%rh`Ip~41$bIHrxU`R3L{k{fik)O#b5w-R3&j&5C#xq+wxQ9@8|#J zr|6su?pglO&rv@}Muif-vRGm)D?p%_M9w{Zw&3hc$zv{J13vXfz|ubbtJlY0v-_L1fR9 z0e0`lSA|gi1&F*6;Q&Y?wMU(ht*bw=N;>8-g1Z*i*}3+T2F+0Ni&80`9-=o2El2sym6 zDPSyAJ6y=3V|IpuR|nw4bbMM6ZIH&9V||YO}@CioW=jg zT_jY$Tr3!|El*)E%`Y{B_pSy$wdJYJ4<<+iTG>r7!*fJ87lsjoCpC^HKUsm!@SS&%BSbG$0k|Y55mAKahda!=vCO_%%WI5!)T(LG z>qN=dI!E^PoqSK7RM6PF^Qw{U?oKsH63m=U$~&MF;{83nVK}N=qxB{4(CF%f3&iCm z_sv;7P$4O~;vaP^a_cuz43)RF-sPH9=H(*76I{x-bq6oHw>sDB1NFVpEvj33JZ1K@ zweYnb-gqi%N8ba?$Q@w7^jNURd;U9yGsP6;Ob_J1o|WC`Ax!KEJebO3P4J$Ti!?XD z3y!eHQrFCihV*ij1t5XAHqkGXpU5(BG;VF?ZAx%D3{K2~tYlH6YTS22&fqV`oBvo) zfKq*x-fXL1FX*(7X+oA1skxVNc>H+btU`!6a#+%o1ar(*0J@zO+=`uy0r$w+J^5xaims8 zX65@+_tAQ#vU*nAo>{tnFvD>96+PRGwS{uNGULY+`%a40sqZwy@K5cV7_J&GqMG$r zo(V-XT4kevN;KQN%gKq7pX1*U;1^9xwBx@Xj)Sx4C}(_Ur?*>1+;K!y3LzAXbX?M$~yksSHHEwcz9KoM$Q@@y=S^ z0Ad;75xf&0z~CERVvN>6$}$*PNzI<6&h64hN%hn)bIzXU!{T4-o*~b30@$SZ=imVR z?qu3$0E!eRTOGGR1~@_L7fbz9rWpI|bPWS==%Z;=lq6!=r0uH(X^kfAWT$Vrtz#&Q zY)4KBNJEA4ojXi~KGs_Fy<62kF?vH%8fX3S5BtOUd~qg)If}e@3`t@JDHx{`n?8Gs zN>_l|-d%zA6w$0`Z!iSAR!XG$!lsWq1Om+{`TZf|2A!J53Cf008ZK~er%osLlj}D0 zzQX=Gd^Iyt;I8&8g^UPZuj0ToIRK$II06=;@tN`_!tzSwWR<0zp-rQFHoKLnvtx0P z3~T?E-=lic32L;a{=WJ)vT;g~-a5N4`6D-jHk+T!kE~Yd0e zlBH z*CxP5P6M4nF0|7f`GglQyuTW5XBdCI8oL9>HbCEP26E33?9JC&~AeHN8~3x7ZI z;5P^za~87R&Thi1RfTpSp)kO^*pd!a=TuR4v(XVysnqhl(QotL@78TxROc9v+-T#$ zF%r;8R<7OMOiA=?mjSY$ok=6dGe5~zo`v^W36bHq%#`2qr>x8ikMOQi>-UxBLd>v| zgsF9o7!V=4_y7h=V=`PhlQ=Zt_jizZMnJp#1Dl~=bKED@3@xLoUVMS-A_z>sMjt85 zu!KOcBL%Wq>AMdFX-A{K3)%-*`^6aviZR>&xCW5e!eGAbop&HmUGcRnHmi!=v1@W=IagAE- zUWwarkdU>F2)Me!pzvg~J!tA97uVl@O)M&W)_zE@2?hrUi%p>T8PHV*Fo~poW zum|@tRb6_0mu*}5QvY`zy|a=zHye}_;Xg*$g)AXrqRR4Wz7P;xIZItOu+2n?U zkniL6)_c09{wW-e`ej!J$Ur_t{oi04Z*D-|R*Bm`T_Wp91{&Gi3Tfa%dhf)RE(K3Xd@ zCu2q6VATc!T;boJ>x6B>dC)x{fBe+Lk+r@maP*F<4Qs}P6lB;P+9>w&flA*i%;y>% zu(J5Eg4Iwz=F$RaW*Q4$kA>;PJYezbx_LbKjsA77e=lnVI` zo;;85dsmTOQ9$I&fb*vsyZJD$Y8S%%zCLX{8apjrCZ9#u+*J`(&?u^+PGg$L&}x~T6Z(e~f#+MmbRzm0=o*xa3=0$|jU`C9mF3me5lVjQPdO|g)9HB`8R93iGi z5hbiV)KC^Kp_HHpNJQB|7pLL-nCM|+`^X;F9e*~c#u|AbR@JS1%V!aD%7k&KCJejD zxwN1UvOp4oCan$pYlex6vT9x2(;!diCa2)oI;NO4WaW#txc_@e-j)qGC@FNKbNhJ#o zl(8iz4&}KB#==!j2qyN7AG<)=UECT*0jLyKfgsn5DV~|w_TuC<2|_Ten+@_FXv7U* z#Rslg{vws0g{bQT_pwdyTFL5!CU?bqsa!ZFRHBH-1H(4Q@nA{cKZs4+{0QB!9@N^g zi8JfXq==k}OLA0L*l5911LHx1N95kdm4L^h0PC64(vDl^hL9%BN?l@h6b#s;Ijyb!Y!atEZb4_-lY@k~1=+UQ#gvaE zii(DZ_-Af7?E%;w5E^)?28LnPd&5thUC-1rgc7cAz3JphvlH1_a;-(;{iFz2pAK5SeZkY-s@4FI$5_oKwf22`_=a5C#x|JnaE_!xsN*H()8l)aKf1!ixT*C^J zCU&?MqSdkv179mQ^G;08rrrb9N!JTKFBeyNui2`)ifXlKVh88d3F`{LvboeD$j9n6 z^}Xb0s?eCR2Uju>4$MtLkkGnsq?3~#^h4k6{J({xo?1C*xQxD9z3cPwo?8ayvKL&J z4Gf5kH*Nt!r!^e=jWNs^_yCAP_crT|wDGaB%~FL`f#jdxtJje1yIcY|3gF$N+BMxM z=)x!~2m238X@Uvj&(n957Z7@2v~8%<%sB*QmBk0?mx}IAm<^n4Tla$%3{@s(+ss2* ziH=d+!!capYAv-u>>ZQgsQh^OMF@n`>qe+T#n)ns2hdh1l@|D6LjYej8V9@PZ)#t& z`+oAa+R@@;0mlsB={rIlnd`8k;(?-I0eiCFC-sWS3{~XQwdiWrxC5fQr)*v!fsaJM zznQOxx4MKf1;Xk|l$Gs*7t{fU85?7r?oH?n1jm1+IPO(W3y*01@Sw;ej#+IBRwN&O#g&$W(^^|*?^l=t^L)w%O!+IRV zjM+&BaTp&J2fa^U;QzIETI}&&xQty91aQD1hmg~YD)v0CMbz}XynAqGjFd{OQP1Kk zgsiANqlcMMh<^WX!jBmQ!|BsgD9&IV6UzYzuKq+I-*w>t_~UvV4AOI@(>cPH4O3E^ zAui!ikzdWK?ZCusmwzr&wVWA;I#=UnI|W3Pr#1KyPI%f?(CxIH#gJ4{wtLG^9c(wR zi=L-M?c3G&2Njlus(?7EUG=%%OoYJetew@Kx+-tGYv|UTuem=b2XqS|kk)sZmVrM_ zRPeN0{r!h|;J0Sk^J6&8mD_xg%!~tCUC0dvT8Kd07m;G%IL?3%ezJ_DF_Q#xsL&#I z5%V9d7gHl9cLKQtgbiHhrPBe=dyp+O z$%xl=-6Mp*p{W`q!z*hSM>}LZGjJi#1HX68U7N5GxMN|$(7o?VgCYI#-a|w}IRied zBd+M>Kf+_4w5~UFK(i68UMx=$V`kU9qvKI**`>7B=X_Iu!gl1m`}i=dymeqREG2*Q z`$mu8T#tVh?nPWXl4OUQK<2I3^vB@UD3N7Q-P;TGou)(Y{)HUW44E!&Yx%N<0@%YFdfClU{^a(_<{$1zSlWsP*TA6@M$Vs7sU5zdWrg&#d1 zXW7~-J^mS`r&oW)a`ur=^U*JP&qQe1r3j6?vRpEkmCSW=Ld@Ynm7PPbb6;Q^1QSNvL-dh z^4x!`(t^IG7EgkDsRS*VEjKpz^$6fvg#Su?xjt)0S*dP+pZPhW$@w|SfbcmeIA7}a zw~yvZ5h8~+*kvt$Rq2^&*x3n6BI1sEHT3rboWzmzam6M3JAezY2&XQ^y@4pG7LKahXQPvIb0pV3b07f=0fPBaF{ zk8xYW?>jnX(QIkQFxXN$$&=|53YN$Ixje2(@1pOZc+}@c)b^3X!lVCc4TbP(? zF&tSQp8Y*6vTmmYnC>q+J3GBG{8>PN98wZxXq;&bC566c5?m`((E#SR6p!yzmZtSAELkPKSFQT!_d7%@dW7*} zk?ENdY&lu>?+<$;01<;fWVkk+YkZk%JAbC#kq(7=bnmZux(P?Dd=>=JkZHG=qWv2T z$pT%(9%|sCo0A*ek{BYr{B^OwU18B&Ty)to!=?&-w&J?liq)PaZFt`jNUUKU-;So! zKGR&}TZiTZQDb~uPhyvp@b!3Olp@ZH5o{t0c9{KUc0uZe()?0Zk9EgCkNL_vui@%! z8|q95IsmzrQa0ZZOj^i{gzw4LAt^K$Ys2+|c|n4XU4MIeEuy{$BS}l+T1wzi*Sps= zG;m$tX`=MzSiPhLwwVl^q}j3kJ&2DQvH|0`XcG2)MoS2qNPbo@=!Cl+OR$hNCrl*w z6F4Lvy{^fLSIc7#xtMOGG8;eYS-a=MIb!T%zl{pTRIr^TOaV zo62lGkj-;tXNDr10IOvAz-ft};_5q}gES=ojpd>9zSivzFjnF3tsErc_y_IB5ZY{d zap0oLd_bTeh@=kCdrkJI1>`yTpNLBSy-ItUnf5;!@Sndaek$L$hp(|wt8yX1#L5}B z(P9GDmx751-K&@#AwCV??20%gQg~-MtJQv4D^w#xddHXq+80iQk7m)@f?VT2jw;@E z*VrJ_h?*vek-WWaAN_j!+PrD{SfIQ; z-`3Bh3!{RQhj%@rFu0_ZVK3Fp^3;w&l$Hi<)IX{^vVhHgECuI^Pv23Eej6zhx;ri^ z07et2e9jzdci_y&(Ps3vDjIu48#%@;=q)P3acijk(M++aki_~I?!3v40&AEgg>nX9 zHP5e&WHEu_vW!c>Zhu-%x(d0#uA*iqFBkcLMDk*3?XuUM|Qa#YF5I)Ik zE5ATe`OV-fnU%`r_vG&=-0$9<$a~|+a83(N1$|QdFP#LHz*;Gu7R;rF*qNiGw`*QU zu05&lmQ~qei%IIg@qTdVJI8U44Wr!;+G{B43pvsKrtXx+ZDLHkG5tpCl;QTJK;YyU>od_h4uRDZP zzW8pFAKzbwUz&OJbl%mmHboh!{DScacEkc)`i?s|tO%Cfu5Xeh8+dga)5&tV*^t;t z+20Rz)9P&(?|w;m@2!1H?QEEG%QpfLC}d~@%cejtbs&bYGWo!lp_z<1lnQ^Vpb0!$ zLUE$e7ru^^E0cLsQ63oplC+8tpvkozsOwDxG=_xAI|cR%->M#?TP38~c*$fua~cOa z(COg893-UGLiQ+8z`xiT?H6?FIR!EEEQ)&bqc(0Gq6f`uv#*aUJ-*%!T%;!@J47eo z!!J84c)+RT$lg{mcP?eNFB4h6%*5ec4x`~Ozpg4x4}VjIjDt#lu4du!e8U5pU-kSj z>2U;HXmRSYYu*8`XF0RYRW^@(4d8#nqS9MjDi+zFf3P*Y%J|mGfQtp(bSZrm7Xbgg&dj!RdfJpkVZpw8Q>8KFxbM=d_>b*12)*5z}#6WF+y!Q%N%U27Rg&T z>u{D`^`A5E5>CaVlg}e>Q2v;~QqgDdCVB%2OTg;@vJ)b+7|fbK&0Px6G58=Su*U^b zP>E;T&y3##L1@T`IRTVAkud`~0MA@(J8)@g?iU__H?YKpr(?YS`Rxsqu>Spw#+yIw zYi!6pc1)j0LC`>Lyo8Zc!CWqNdB}Nwcl)$ONNlM=V5gRgy`Dv%w~x=^+WXfV{<}aO z?Bd3}q#>HtS_(OP1zrC?1U}iHiM$bZersSK73z!}vy#GB1ZwJNRcgVD6m?c}Iai6T z&c!J-5u1iJ;?PEt?t=d)AL?KD4C^tQzvy6*rxMO7af<9ml-#b}e6@P6PkR$^tIQdV zO)cK~5}=gW1UF_e(A*}Y+rrOlV8XSaS3H=8zYnEK<{<4QYvYOOdW$fq@Qc$rB8X<$ zXzJN^ZjWPv{ua{9qY#azg`e>&DT8N}Nw#`@s1W>#)^{?JkeJLQ8(9zuDJOKEy0>S0 z42vejgGPH=cl7$$sJj@!QE~jW%ZQWBh%VWm*kCs$Vo*RunX}ubo%A*aaXrFU?kW1? zJqscu@`g?d4=!pcEby~=B(T|MQCT1~7hzLzv3_tTG5Uu93_}PVJx6emBi_Y%N)B2Y z$gbpawVp9jP1>$eeKOW9>T>5GKm#f4pB=ITXhK64OfaX<60E+vRTCJXR^x|j-)N?J zU({b0On~!Xz(p{b1hWp`J6Z%xvkU})(I-m`Xb%H`WQ!M$T2iyTdp-Gnq6X3wj);^P zqb3N-d1b4@ER9$;2o97CXD)Cn=a4O`LFl->mN%0P-L@hkxuZ1o5Uk0?iP3bZizOCX zCDJFG6Wv)K>XaHPy+TjJOIZ1sd6Wx@g_L09!x&KfZXU}1v%B%aKJOsBIlfwY{okIv z`{J)H`jfR1L2vbc0L))GUWle(C>t!KB%qOKzc_Gp$dDL9gT+wHj4<|an!U!UrA&Vl zEATNLU~q4V&W@ezIPNKh$#Mg3ji%RaZ~%Bzk<_Xj3J{~KI6|XrFaKwEzW3&>&b-z$ zY!<7RI>>$_@PjdLVfG?tV&79a*@J*(V$cg3&BT!YNZT2bjLqW*;MmJpQvn84*S!J> zB-7syv9-r!L{LtMf%NL{wmpyodd?|r54GefKO1r!HegPpn6)G%_1za{-q{QU@q5F4 zT`Fr9o*&$wKtJAX3tr}$gSiYkY+NvN>DKlu(DS@DPNR3CtV{)nsfOO+T*U(am2o=< z;nE8SU=#m>fYRrT!u1gd@>3y1@k#XODkn5RN$VH`@@my)32bm8s8WlG5CvADXk-6w zCWsZsax?G0Qtgm|#no2ZD8&1QwDQ1+bAcCJ;`m#SM1h4kYqi_r<%JASM7ow7z>I5N+%3{A_hgycHjQRJAIP-OXQU<42MNilaojg4JelpaNJUIS#;lKX$FP2 zjk(U)NX*uxu+Q=P2Ev=^9~r1m-+p-i2(l}qVVh2{)yC3Ap%VE=ReOom-O-ZFU0yUd zN2fX<)A3Vx0Wlj5N?}Yfjz7r)3rzA|_w{d!{*(7|U6N!tdXQfK2fCXi`q<^;#|VOD zV~5D;AL++N5h%)hi;S#?4r7nsOk`=&Dv*9{v$>-D^mv~$C5Ql@V(!1hKEHmbkzCH> zX(Me05}=!N=#O@L)^dO+;$@ABGaD{!{ASotjUEh`C$bP5n4;WwTpMA~I4}SOVbUyw zA7)LfIRA8$u}g%!U4u8SRtVusoZkZ{Fwmk!9!PYlh9e148RV`^%R<^kv#1_)ipDbF z*(*aq*rzUmq>K5~aNqmNM7DR*q!M!7xD<>IS-CmF0~{Ec$J(Oz9t zYrM+(4_OaH%Tz}zry$-@Uy6K<|LM-4v}!69LW_aNwQX`$yVPc##bbIC_+BB_uoHtv z_a3z@@Z2QC7vx21_1-XQiOm1`W?{xQF9UeGgo_+X#&zo^4k5iaA%r51q{?jKP7~UP}HFFXP4Xy1Ss#1kk_n#Ho7Isr01G=z;~3t+d@BG1r$~Ai7@Ml zq7m+fqtlk8Av0T0c!qD@p5z z2jpYt8sa>JHIY{xyyKBr$!)WLc`f$1Ur7t-;vR9o_cm!zxheZzQ^%e*HW*{=$}u0! z*62auM*a$SUg|gG4a)R=L9NXrOlz=B5^7Zo-muI;Y%~Wq4t8<*=+70>=FndAruPhb?#z@+ihM@D<#kN z-B%s9rdMz37*Yd90l9Te)NQ|V62PcbEtp|WhnqTAXB=^g6ht_SRN@tK6!C$bw2F{s zRTJf(Y#e?9(^+O&o@Us~`7;C_TG0uC?-^SbD>7Bw9K&+yB4e*X3jFDI=NLYG zJ%TnIcJR7Ivza*RkO#606-cw2vPC%Pa>~`W*UDjn(F0b5G;K>+lV~>0lKKMlcH>bM znx9j>aDdNm(G)s7DSIi%dQaq|-`qaVGFp{`AC&+sYIO~~(}_3k%lYMhYvMwVeCytmR^4|Cit<_X z-;1Mll|O+4S*V*;*aKPiJ(2Il;(-5xdRif_w5TuNK9?tpJ`NbIW(B9}aS~KOkkVk& zlrJ|C{i7Cd96(7SjmC!W1^UcYe&*7+_xP)X9R#-Y8V&xZgsr{+7zE;IKGEm9E+G1s zgK0DJX8e}Di+pj*=gW>VZ%#RC^%X21JO>csD&Sr5O?ExtB#ULn(kjZT?FgT_^|)Xj z6L&VjLgiyn$LQEB+?T}dI*{$Hm%F{pHC*T!Ep1STyo7tGt*1MSxv@BBN@ zLU@q)Gr8;aRb}-@(-#I#XnIMC>1+#S@HxPgB7_*bBZdojsGzEm#-XaGJ}nnR0i*e9 zE9WE;_p1zK^>7{SX`-Du_C1TeD-*+CHsFyyK9TP;6o=AT(Jn(_JJ$|!dLniclB>}? z{8!pu2zI=5nlykO^@2vQ1T=L!{$kZ#;gsNm4^MWvKIBzox2ZjlW%10?)@A6MR!hUu zpVH#G#XL$KIS;2j�lNFJVrzM?ar6$=8R1cz4_0g$!7^{bf07UDT5W*UB7LOx8?0 z>GGdzqCgLv4-pL|Tct*JW;Hm#)73jk>Pn3}QcrLa`FG(v&S-N@oCn0d@`rCks*69m z3skX!^%2KLC6}>MM@z#MRl!=xG#}nA>4)fp0bm~Khk>{=4MSrm=f zcd?35{d{$XL93~tm9>R~5az66Kz0!=AN(plHomq#uJPnlF0o_4UZolGykw54J6XHB zkCaLKp))l06-o&X zEJ2m~N|2M+$m-vMT%fcX=)`cz*BWtJ4#n)654{?d?STm@(Wri4+N5L)hJxPLM(Kd@ zFtz|CnuL|M_#yq@M`g;5-`C7F-@5cH2Nd)aM_jS1=6+?KD{lIRA~hT!Tf5PN<%|Dk zf5!dRs zs0=a;SpnRTt8U895V{i6!4T;h%Gg(mKmu9m(J8N2+L_B6-%zE+`nNyDSuw#KleIk z%)c*Z_rVr^b*@7flE_6YVOLUocjI^z&3o=$tG4f=o|sZDi^4S zY1Gj>xl4M>+gNl?QTC(te1fSZASdZtYinyq0qOILmnY5GTRd;bc8vYCTl$oAK5eW9 zEOmaQ)B;0e;7lO?rRq#X+e`PnfgQ%<2~_$a*?5miq6`-8I~5c_lW5#XE!xoFAa_~U zj)?EIBbo1~fC2|oIU)fyosL}-j&){x3-~4J1=hGdDgG-utr`*Z>g}ofPTu%y1p~4Q;Z@y7y2uphN z!US`8s?WV>*@h>7XNvSPWQ`>ut~dMZZcHz5jCWZ)0l3=M{O=cNf{9*BR0Ch+c7+3bTGEwbfe7M!@lN z6fPjjn+X=sJZSWHH5RS5=?Q-Vb^TJ?-~4DY6Tdx0jx;Rc*G^V94`kh>&d2hG{a2-Z=Hx+DvW)0q zbdtlaz5lyKS6pT2??w%2U^i>P)Lb#bIVkG}*7a2aVt4+!Vl{5?`&ndgj{|G7`t%c* z)0~Dub~(p{>xQ?zoo*nzDuU9paFyU9Ni9+=WM)~U);>Ru&VZaxH_Yq6bo8>u@(O&t zLtWN>$T31{*8Zih zbb`MdRFsPy%d?oR{ZthuTG3lqSm~CHoOWq_CpiawJ}rWpaGAX%ycych_HY?D!5!m#$x2r=95l6Uy8xxg9c&;-k#Ks zyfyAw8Jp}i5P6{Nau2(#oZUzUHf62VkZ5g|0@7m=GJDh3fIM^dwZ;v0r| zw#=SvKV7qdt>xL}!>)B7+6y^`&Wpo7iHF~;AYL|bPr&wXyUG!PDd>CIwvmm2vp5y) zryue$<6>k_mgAhbnri_rw%Y+5AGLVFo9&;<1{r0&DgsQ;niEQFANhUBMbMSX$0;uh zuipm^j1Ro6yyanzQ+0T9p<}t#wAWEjXFk_lRs+M*vaRFID64}5J8P1$l09hdML2~Q zhgj1V2mY*6HAyM|^F-t-?3sQ#pXRG3NjnvBnD#VsT)*ReUeb*_)C`9k1X!zrGSk2dr}x5C-If0)9_q- zwCLq!R?hL%l*B8>2?OxKRN>%0t;A`@aR_pWSu0L|Y{0fK?ptYCo_eXzo^wX|GdkV8 z7T8sYU~gaC#H}PgD^cOzYfoaWmOyxx%%ehEhFk=CyoJ*e=tHj?cLHaHJS|Hy?!O=@ zudBSS*is8mF@j<55v;axcIbqT1q<(2wvx>BweuxkF-oVF5%bo)2)q(=M}kl!u5!^) zp-67*b{O|t-$?Rv`a){m48kmaX?)dU6{uf3*GWh_&$B`|{LBA&7@R4l{dS*RqN4RF z_A!1?N>XR%#XG#si-Svv(5rx?*pZ_n%SE0yn6X6j^v)3%p4JYq&&DG39m787k?hBg zjk63JQXoIQEIqJ2i;ba~IVDzpV2Y{D%gy|+E@<`T<=_Eo4K~|(*KcLM979@AmjrCO zwS11w`>~IIcVItJf7wzfnTkWO_0oo_2|#Kd3WJ1qaZL~dTn@K=@5%^1YC1gPSQ^gN z7+`PDR|`mEI)y5Ow!^_3e?Ed?O)$e~(5tpPPS>9XM9XIkTkel+>_lw7qS*$xwo)#S zK}Kc&MS2*Qrk@7}#hRU!`x^*vIG^K5UctSQsoi&PF)gN+ZP<2*p$2u~3E$Rhkk9tN zuQcB*i>`Ee{9N{+7G`5J6KFOEo4pNF#3z?QHPL$G(-in6-C6$tr9Qx;L1Lch%4QQq&yC5Vr$ ze@1Ol0=Rq>J-?+uVD|C4XMG)G_uB4zObZ(~eR;jUT|&&+x+BA+doxF6?srC}ot3Y4 z8j#UUsUgV%HPy7^^_aka{nWD$;&h}wS}LpN6EYXC*K-!mJ7%Dp4-)Zn5l56g=av6{ zSHZ<%4y0}^7uR5O=3JwvbH6N{?eVC@d`XIIbcq-lL71txvvJT9TBjj62oIrbY4m%Ecm#Wke(rLbY`yW|@zgO}>YklP0 zh-BtjzL1f!Ts}uY>f?S$K6g)US(wiH&)kHSq+n~$YOZ)&x~|KA0l}Da|B7-n-P2?b zt63KZbZJ8gU-j8Eu6_D1N2yeOZJh;Tdg&3b3RO&yH`59JTCj0{BmZIxJ7Hg6Vy*Mj|Jv&w=kuF;VI!?c2>7C1sZ9Rnx2Kr< z;NU~e!^`;RoSVwQeyIWk#49}XRsEbE|2LHoKQ{^S!1(cA)(aFDflN{YI z!W9DlkSfvsx1T(W#mU#sk{W<0qs`7l3#!!!mz-I4clAf9R6DybANjni_+V~vg6q#r zF8xDrC$mN%K>z1I|9Lcz>V7(H9d0f&EbZ+|(7a`AqOuBcYTqpC0PZO$DJq@@_UWsY zoOp4-h1nDuuCnO%GP7Dj;edZ>Jl~?RtFM7F1pR5}h{^T--H&oZZP)59J@6_EfI5k1 zw}T*7%+=-s^h{c*m2L~lA>FYy2dxwGP4}h6y$>Te6b0G}De&6Ycm!a$w#938$kB7+ z5&(cnnAW`<;BW!J4_P-zMe0@Hc*VMZ^e&J8{LlZqrZHr{XCeRqX$JILz|Y2De-B(H zqEv{uRB$ow0@{7IvnrYvtd2G#KtP=$YxhhQJ)v#II*j<$d*gP4e}D6v-&_lNML)=c zKmR#2j#t4(`x%fr+;Mk5)*s^gUnve(-5W#gg(6x1^IEX+%b}N_^w5pO00?Ji@M;NK zBnfBP^*f3%?O%=77`#CfCHdW$QS_<5EX|R?I(NgpmqAyuYPsy|Egbr z%|mc}Gp$-GM5!A)2ms9M?1%OJ^2_kPdKLl@20A|x0SHsufsg`}0qlURu)<7i%>pvx zt<@v6K`>i;0m&;s0Gpcr?@?c>@0n@uY4uhRlf!(1^k-+DXxnGcy6gX+x#&Rw@zq!1 zbx{F5GwUNidrRHwy|X(`;?qqE6-;3OV6sc2d_G zmY#3Eajn^_#uy4+m87VX1rp)70QKW|lqSfVPsP_*9e$@XnscQ5jLGiJ)Su zm2+Ml*MUg&i{@!Wsvj9?zuL^RV$)$9qt%E<=D?nD&9(R=^VtMBfOeg@j;zpdspC5k zfJa*ZypF%TyrhD6f&fgX$UMP4#+wqDJX>Fdp_&W~WY~w3%qKX1t+~khVSc1)R+*t< zW$Gqx+XVywO@rwS89Ifz~SM5IoYFB06GiUvI zbzf4Feynu;!F-O!#d&M-sS$t?psrRQe}vM-mACDpjij7hb&#>KzgYFM*NyG^BoDs- z>`Vt?>PVJ9+Qyd%Z!|e`JO={6vS3u#Xw(AGeut!uo6#J-hZLFplq*^&X_*!f0O>oo zMleHzEO<`T;W{uNROtZPCYoHC06<%eGmLkQx+Dd$2;L=-21r}X4*H{z4{yGbRFcdE zwL1Mudj=NUcZ?QtJCLf((nMVSRw!%^{bBz92_ae0A7!1SHiF+j-t!&;e-$DQ60_1} z`XK8~;SfzeT*CsQ`Y92B5%Awmnc_ySxOz!vKy2h%5!*$p=13R6D>s`pbJ~a83=Fu) z;3m`lAb6pD{NV?hDf3Lw>~0M7AKG9gfEF4+T-Hfkz!_OM4u=S1z?`rAEg}FJVVudf z@E$Vc^vkh~JfBPejNAgCczNMnp!vY$yT1d_hKyg8p_4fmKB&0B|>i z=6)3P3w=S8vkAb6#&e`P{oxE{1c2oJUol6AyFKd<@&8}ZpC!jlO!>K5YrdrK?Mp-w zv(oj)K7Swp%q3E^aJIu!hz*<5Q6kRX>-~Lo@y;v-^jRbzoWJ%kPp8VmY=S|;4aF|8 z{sKv~L96_{+)2$+umO|;SUbMEcYNXI>%6*XS-%O>1A}n@B)~U3`w2OmSIu|SjROH- zey}5_b(R1K!DF)lSMIrDg4X8Z0WLsGAnfrjd&fAA82uu53=G}4z2?&+zWdZ=r zP-~ht|4++}t(@$@ytoRGx*ANy)K4-oU}$G#u8=ga3b-Pg9E@kDIrnhkDr=zZpSH~? z0k~ZtSWg^|DCOEU;O%m`jFP@E^(Ygx?~wqs{^|hq)of1-Nq}eJ3RAKw8JX058Mpwo zvMmInE8XKTrZ2v5y(-&W@?l@p{i)1LLPl0ueOWhFYxS5Pe2D-+`4m{8SH($``jY@L zHg2{KOa3nA`^UFtthY=0n!ThzVs;fSJDh)Z?h^tKo#ppL0G7GGHtWs^0GjS30V!sc zT!1W99xk^PCgETctsnr?{_{fV^WB%0%s>^5x=_qzw6Y``ii@$N7?4*IPILnrIE3LNz77`g&t{QwT^S0Vjuv*7Qr#NqvdOP=z& zzG%`Zz&ju@t;}%yvD!UO1l{4Bs72hAg-8J9Zdq#GTb**1UFs#koq(zpcOvGX)E^Lc zCuke*S=Aq9+k|aM%$7a(m)9z}E8_~M`s_XYTJTG`>t_m4vOXWqKZ^}nK>)5B^5tk~ zPO#UmyRMy|U76WbrSXoyV7UGu!A_{aq<*QGA+{;lF6;juY@!u@UhX8C|G!FJ5{(Ro zvdSzQO*>}qq?_T{eFW& zD+ciKN~>7d|KIdTC>9*NBmr{Ja^DBF{PnArA;{{9aHxhkLXNRFFgKVZoEwYz`TM{B`@j6xfBhG_ z>shua8Hp}vWzDcI=$D;ivQB3ZfE`*r7DH76+ykIW*@|tORsGp%F_y-}GPX4@`Pt=i z8I^%jUuGH=Tz@c*T?IXICf03>(aZUPW0j%U{RmT(0aLG>WOdf-mSGqXR5 zc(fN&C@4=N04o+b4P*xBf;K7x%QowzDx);H6Dx>7W-vEsF=+}$xMkt+L~#KC3HVzO zy}v83bBV}ga}~J`B`!|xUV6Pe6atX>j4os8D&Qjlf^3TcsDM~wKJZTwM4=pD=3&;E z)qhVk%SMF0?!M_}fXU*6Dt#9H?%i{t><7Fb{@M6P>V0J0rUZZ$t-{OAT7y0<>Puy+ z)wa8|dQ20(3UIF?NYBh z0Gz!O>w>cnB2cZ&4%q~Js@(N=Sr|@Bm6vGPXEO{?fTw1+5P;Vz;mkId6=qAz=VDwi zp+#AONIbv_>q|e5Wdr~(_DE<|WALhViQ+2^DF2#hTcr35wxIaC0{E^d_IJPg@b%X{ zj#a*JXagaNJ;YL8y&D2R=B8BiYK6;-nC^0j0O0&W`xcP+%7&l>fbC5oR!Z&9P8quE zVu!4NQYO1#pAB%A`jf=s>|C#O&xjd+@Q!Eq`&TVexQl+S9;Cr`?}Y$hc(d5hn<8K< z+!M?lcw~B4dRCyHID3&o7%~Z-DZp_oLBZWvq>K=XuX$yLf{M?w#ow z;~$WIc31H2ZV!=VJF{n1Zm<-)5URZiO!uSalK%5D34rMz=JYJ@Hi-vV4Vu|hN{lrE zGvt7+AYgs}mjUJ#1b|Jh@b~HQSQf3mCPnsb;=(0#`>qKyr-tWerLTOo(^2~btaugx zw?+uwt;S?z{T6d%4-tSxpu0cgkL=6NSgJ~~ugX?bwR(r|XYO-J(XCY)_flc9XCeTv z0l%sxXEtM7WgnE=z6ShO6k`9ksF*7E=k`FE01WI6nE+fF<|S10ueJav=~qYQ_1%Df zkI_FeRo*ILhjBsEhlPmJJH9O}02#m-G;H2aD5?cNt&-VgWLGuM&{FmYdIs3{VjT#f z=`*KHcJ*3n9K>!qsO3orKOZ;NYsO7jAVL4S7p{kLO&PXu74wJnh3r|X)z&X7{=S96^jbU{0!H%J+5 z=3v|mg`nTFH0Dyj+eU?4 z|9EUyzW=D-s|Y~mJ+R6GunHeaUKHhp{_6vyN)7Z0ShX7Pdo2(*qk#6zD#L}elt~M~ z^bYqE>kfc2zyP%dWFU@Y968$+$i|kYuZsLmlRVGWi%wbcYMWCDK$lhy2MTM604xtI zh2U`|L9R}i*FLG{iRRflmkEH85bK9oLRO3;dk1liiq2#>zDE)Oj5GVb=w383<)sT6 zAK2KJk^b8=q4H|xr8fdoRq#9;0XXz0QxH7^0k~<+L0Z}G*)#sAH7L#q`t9fPaMv<7 z&q~_u+s8`sWwSMGC-@&xo|?uVmf6uCFbm|@9HQ?DS0J{i4Wiiz`sie3>d<%d-p84^|)}8&(v*Adm;d%Zr0BR{w0|Og*)y=xNF-FcRCV*eE)qIs#wOL zp1=;lB=ZkbPD&tLhS-bpy`)WQf{DOD;&yO0iRp*troM~P8=jDQZghFhA^@58|97ut zKX0+P+wM!$R4dibEeRAk1p zUF>b&(YH46`9r30Pu7;z?5NC_oSHPbV2>a%ZTDPo8jWM|L6Zcd*l0Te=mLMeZbexo$^o+Cn71@b z)|mM$DkgZ^=LZr1roDAtxiXN(2Afzhyo<}d1hOOqp9#R-3hcbtuf?PWF7|$l95ldD zkaq&O**<35viBGByy;6z}uazX;FQod zEAz&YTsk96TkWILZUq4dnXn+BBkjK{Fl|83mLd~z9w6I){+~=04|ZtT#!B!fVT~|^I~5G{?XaP9*bhjNW9LfIx`3G5h?UY zjM$b~H&JW;)ER%U=&vqJN)b9#D^3HL1o66}NvU2%BI6OGgBt6jWO2^gtS^%IinkhO8_CFi-41FS`~L0n5m|jy|)30N~s1 z-WCGP;9L6pp!1;x0EgH+z`y_f@l`74*64FMii2tf7;2=>}O>*4`3`y>=DH3;XBJ+UB!Z5 z05;J6S6wcYxmnUi^!q=v&=(t5sX*KS0g&%<>*yi^pu}IWx$*uE@DGL9s0GTcxdKlU zMeE;pC{Y~9u{sd}2sLD?R?nNgBrtKgP${e~E)_RgKg!(j=qw4z*xZfp0kNMV0T41X zWZHjB`?4ydYRXAioNyTjn*8flfb{`CfC&791}_N|LQ`2li08;9o@&gHP-EjdyxTtz zk5*M;DO({!@J|)aGFevUpcqs0Oa#D{84q$tVpFYXSJ^wfzpvE%x9>mfvFO|(`Lsb|FChlT0K|F{_b}lzW&;atz55FD4u554Jgu( zoRqbpID~6+8CbkG0^pG`Vmd$UZQ-KHwEtJEeFK>zYjgLE>K{)u`J??KMs7t^z;(T)AL!M81)XOI|i2`J7s(H@W~lQ(v$mGToM*q=3?;&)oTWr@pv+g8wk-?<9=RZGAcIll$~?@r35x@H zE&&^hRm_eikFg=I4!AF8l4<9j z5CBP#4ICU7P>#qqQgvBQwfvwM09j_7Kt`fvToRP-ynG~wcV(-&{f^wsh!tSPIXGxX zGk>uqpg53X0Wu)qYV~G<9g`?>*<>-efb6l5@OVJ&GXY@JIraAvAW;R9plM>-e;d>i zO{D5dw}Akx(k8Zx{2mE_YbqXz&q%B^(Oj4II41fhYyk+BGgDILuW1-@vF~&%ar>U_ zvBbKJ{zAh%W2tZz7?~_e_V#pth(*>b#5lR+>mL_ff1cTWX(a*h0D9TVn%w6MgtH7% zql>>X6IXe@l};xZfo25C2!QJwI+F?LiM7s{XIUedjAONLwX*(g8yQ$U@mk1ZsA?pV zOcRRszny1TDX`Y&k6tcBq-vTs5P%(f)Lk=`|1M=zv(69^##D!*68boh=2Z20N3m^#qjd^(Q3&?BdN5GT5^To=aV)G6E0=RH**T{lK2s zbp~CPFXc}GJbwyf7$E?S@P>8~W<{8qce(+%u5?V$3I`ia0A!4K^x1Lj6-XlpGv*H9 zZ{G+nLRbvpqv**3$OC9EuowUM$57el1<^8@ss6oGq{e$GsS6S*He^}z6D9z=w0gr@ zYjsm~?c8x7!9^Ul-)~(RG^`&?4b3loU(rKyxLa1fZ-D9?;TNx5Bbu`|iVM`2F`|4c(X+*dlw& zzJm)M|0M8zd&mVMne__*1N}*edOL0?Ch#v*Is{gLr!VwngCtgr_W=Gel*8SW1?b`d zVy!hl{SZ55dn|E(i;8dUQWC7Hz0u18C0mp$E1@ueB@VbP`X!dS&o8_O&DaMcJNV7Ncyh0d(WS_lgMyA63T}TI@0a zSnLn=pMH6Hfi(hshPD-PSl=j<`7CX2i6!7#*~Wmq7x3>A0G8y1WZpANkkxECELFDO z69DTaQ`qJDGacMc_9yxcatu&j{;|6$P#T2Qi`nJsUQ~=FdZS9%9VYyX@=UCMKn9*q z9Lpe&A-TkN`dllkCXWFx8v#a6HDJ@A{dR*pP#IvglT=A{s!Z;tHlfC6!S|Sqn)!qr z`0ss$Xv4CS@#Q_S5p9OGR&1|Zvornv`|XkjGc%W3D4YO}vSNU@4@#;3UK3uV z;E90@^aXud*q@m*{Lp7_u0YTjgT%Zi@IOQV@Q~o1=B^1N7l~rk%fz#*C?Lx=v}(UW zX$EhLtagO^EhylDK|Oc9stS>5n34OHTZh&=0#+U2|B7kP@!yx9aaelLGUG zS5Cj`%$9rR)HLskD^P_0SH-ZhDIVCSt&d=7 zN-b-Nb*l}A!lhPCYdAB!(B*{rL0>2Tl1_i-`cMMhF!g@>t;hm8cIYzTh z0q8*?n)_b;?NH!50Is7co~H-^x&bRT_G2Fpf_;qt4uyg8BT9}QSGhPx`Hs_OchK)( zw+@emWE~25tb@4&CB$rq0F*8(Z?uD{@>Wfp`X1M;^p4zTLYCMw`X|rGw8aAOKmrhI znbnP%w0m{}uwaPWU*TRRO#4ZKVHr6q$<#!kudtrFeTlSyi7cP(%gRd~^M8g5+34m> zGaa!Q6sPdqEQlE<0YMeg*}X72uREW^ngQ?wa4Q*HD)CEGnPF}uWTcjjiy12MX*S^i zpaAjsVShqqu>z3)zr8E5mZdnd{VW);fWZO@3r1Lguwak{fCU2M*IaS_4{ zOA8c5`1}5Q*67CG5grDDl@cSH#L$%8TWd~>=4Lz(sy%1%vs~QWM7-VE8@p}ay$-14 zg#ZNwfa-YE)yxgi%X5DBT)Ri?i(MONu)y3%pK^v!#foee5&)Dv?hX5>txHG%P^_P$ z&YqQLnFupi#-ekD*$LQtJ_H% z4`p`aPN3^HDF!;>1f2s403wuuTPH=MSOF;*U7L^q;5B!xiCX|avA)H8Tj&Ig{${{{ z?saycH6ksT2jdTVf=<_&~oFfve||p z6r=w(84>=ybN3IjhPBG21px0RQShr6YlY^bYCp0VRPIqepa2j`yUm!8iH4&%-iozg88RvR zwBnS=MFH}d4y(2QL=*F&4-gOQgaf^&(^5KaaWgM+T+1-)xcKlG;E!{R1JjM)qCNzo z01#M@zNmGtg_!P%T6c`wJ(kJPL98#BM~_gcEzKip^>DUurn!A>Z9{MDf2*DLcL@2| z!fdxj0w1ob%`(VTOWP-dzh~1Yp@c)`{ zn-KyY#X6{wG!h0?6?QxVz|2s2_tIka#AOp1NiYCG0JxXtL)0R04qOIyxk{5Xavy}? z5kUb!!`|YceD(D7G&A}P`iEcwI#YxP51y3hiAx@gzZwX9g!oKdJdR)nMj10|8gvGe z5SfFQA<5vrXIN(}Cdkcn8_C8h;FIpLDAwF8^U-g&Q6azsxhOs!WzFFY!r6uZ6ZtZl zUvK-s9AiuoL15;1yyLdYfz}u&{;+2v^RwFKe&^09s}LeAw-6QXx6eNN>^&v#LgxJ* z&Qp^iNLxp-;(P8D)oR6zEkmQxDbA>Gg)}E#0g5qE;pPzlSe%%Jk);_crX3VHin9=V z7`b@h$|Go*{by_f)g1Km&p&VC%nu&68FT2{WJ7#OJ|~I*z%m1C=0-fS?WK>yg2+D^ z&2$A#+Gsga=r@cp!ZcTmOLYz$>;TL<*2toHH0Ed%hKO#9a)9oh$sVM*u*l?nj~@ zq2U001dR=={l`3l`1yNSGsI2LL9`6*zXe;UI`dXL>|RR<0FleX8q>S@`%LDa=xJF4 zvaqSh+DFW(o_*k9hTZq6A^=3@sExZ~EY)`h7&hFe9_!d^eAuyG#I)j#lyYk94cR0s z1=fYL2v+X{&v}!|M5FeM^yR7B@>;Bw+mm|)9Yw6(j)95%52rwMv==I3D2OA@?eq>PR%aE3UZIwCHdo1cQ8uX>O@V^+h+Nty&Bd*4wG zNJs!sEHZnphiAeLGhlEigNAyx;b;+ z?Bf`Sat^bQK-TI$+X|q}1Jm>D}v|c`Y2&b4 z&@oTDXPL*Qz#}mIErnYiAruDqdO`m3%X0Vr>tAf3v&endue^Bg8A>y*{8PfLb!$upLqAsK~hxF?^RdRtf=SQ>!ij_ z%%Sm7>47~CL86U8Zde#25U{MTfiz|f3(Yd!oW)Ubx^4Sytw3b$`N_Gts>VXjXBZ3q z$a+=GSkep)FbB-funNCc zpB@j%RA{%OfpBoWh@beM4fwhi!NWi?{!v(8GUa*)l1Ga=d zvZgj`9@xy-kXGaftDWU{TtHZZ{!^I1-YJ{S^Wf_Ibrq6?RTcVU?K2OFU@62SB51J0 zCZxWL1OS)610Lu8VTMvbc+4~?kelf?EF2oiac=-7XhnjUJr-glaTXyIRS5*1?Y3tb ziriCj*X=p*qP}K1|Kd)fP@Pp_h>NBiZl-;YM9W*a)!!>ryx|tyZs~~f6F?EeDI2-> z*=Yf$s?|_xK!R`=lJIDe7I^R%lPFK7NlVzApC^0A^hp8j;k5D-xq& zI5SsB-!x|T2EbUs5VsmpZsLZQ{mjTkrCL=fOR8d->DPrdyLwL4D=Q;mMOjBM%w6&; z$i_;~tv=0l;Mb0Xf2WrE{iOHl&N#&2%dnfW4%*7=t~>QvI-d zX)wE-+h=C>KL*WCBzy0lR zi{`%aGkj96T}i$l^vEbaMjlOwc;2w@pt<56x1J6Hrd9F_Vjq4k;)Y>$^el&^WMS__ z4vyqqFJ(~GFiG+y!u?CIBkF!nXiCXF=UL2ym$CMmHhfs+At1g+|18`?QnaQ_qBWx9 zET~L{U=rP`IKNo?3XMB7{@9BnjDI`+2%SBs2QB|i)m`G{>)jTBN+&rGch9g)YNj~C z&vWpSWuRYtarx#OF}!NE23=%QF-|ZV7^lbd=5VyBge`FgeiK;*+EijB`^YiT8>20+ zSUFlo_Y?r$60H|nMa@GbJY8fBA)sO}D`)Fs2_6PU-qJXWLJ#&SH2a=&hB+&YI(HGX z4=e|9Gb|h)a$D9(_gJ9KgCZoL(d)-&jm0w`yhC_9q&W1{28E=wAW%}Dcr(xsK0Mf3 zJLkRfJDoCtFtDCrj;ok8&mP*V4E7E7kY(y5h)SQFQW_`d30GruZ^KpTI(fb>~LeZ}a^?vgot^ z9x_dLZ31QkM#1yAwpB+oi|zfT(eV@j-csDHd0b=mgJHV$cy(^3gBQzMyTC+(9^5`( zveobC{I0^K3+RuzKtQU{`eQiND3yMST68y;|3udyr=U8t01(E9DVt;@X06mL`>=9_ zJs#~2jn|0DQr3M_#zZIsi;A}5V+&qjDgHzF&qJeEKP3J@Xme?(GEMA-% z{H9{v+BU#M1A>PS79ISz^(jgDP}K@e$uhs0Im4R8I0H*eBYVkP)((pn_+5bgX-pYQ zgNm_WJj`7bVGz*-lsXkmBGv-;HQMsvdAYYv5-87mg}+y{Evp9N@a*-2mWjYc4myRK zVa>>bwRloc7TR(3Z5K#6puCSR$V=mWOX zGBYgvXBPCQidKeWz6Xv_A^<4be@Q{WUh(VA?H`nsM_yS zgs0;T1B%0&!vH)KluriC5%&Q23Ro^g%s;H>P*52mPy6$7SOLH_FiH|crfD!{hC~&4 z5Uj&4Uc}f4c#J#_edxpyePbl)hBc2(G!_d!13CjnVQjX&H2*ZeoAr?5_*=yA{H|C% z+DF@Tu=e!zO3Jhs4;%fbiV2)WuL9p3*76b2ej84@k`KaE0f2$SX-wJFu>^&YcB{-_ z{@eDsFsZOMV9hks6Zc-70>E3!dIf;jKr>?cAxu`mSY}<9Gunl+66b--z6{#XANY=$ z^kIcbi)WGu0$vLI#DK5UP1HR2ap6uD+UqR}ESJs9WyGc?nc zFq*ya^VN>OJ;^raBngX+&5A!~mQ^fHwe;<_0E{w}Ty6$vf${&H2~w&Km*e~$zKH4@ z0em@V%YBrThTu9l^O6JoOezSl8|u;%WPtU3z*&Q`K#O{WI}HMevhOqt#8jr6QC{3l z0AK`j4}%Cs9GfqqVVt?u+O|30sn@{FR?*M1zUb>wX@-4CP_jMW(yH}&ZSAm194&OT zhX4-vx7Z99GTR8|(4Ltp9>v4gFLUq|6g8)ivbfB3oDlHghaa;1#N~2%-?J!=GOQ24 z1LEgdKY;JP`)-jWv6+bRH#Gi4GDw-QSnPda-CXh>0RRV&93G>|qJ;g?O4wD0%dr&? zUqlrEGzVNx^9}_7_T)@w;g+HX{0Bw7mPIl8krdzBVbw(ccVoI4!RSb1u`H($%AjC5 zYE&2wxBIBf?2JpwD*!wS1c)+R;~hC-_URdG_$Y1Su7ILtqbML=X=EaJW591Yd90-? z2p)JJIHZXZP^MLaSMewwzTPDOh>pKer%nY{;~uQBpez>b=bwLeVZaXLJS%SO#D>l$ zvPg8bsdDo$f=T2oL{y73%Oj>YX3(tw@F*j3|_Xn6Vyd9dah_}6?m81L_q$r_?L-;56@6qvt zew0bq3W0igetrhi+kWjh{`~axB!%E*?}|#_HCTFaw|RsBDT!=nB6EZz(0>GnW z)SczHH+nRVP~R&6R7Mo6m^a>c+#C3tiC3=}tJMY_LaYUZRSL7({=3yi)$e$Jappxq z;8}-g{ORfGiK~k{8`}TP=Rq1oCWm_!LV$!wfZ_|N1t^d$3%I}oA6fulCH0JnB^W9% zvPNxL7C(_7ZJV12*-`fIDNSrLD%ezQ)i&|curl)kM24E|oqTqMWRGGwO(;4Kkb zp?kAV{hh37{<(FT2?=s!$MrDb{je*doO%1*`&?*D_mRfJI-@7g{mg1TJ@=;J%(;!W z?St!Q>NM?x?Ui%tK7}r3nB}PfwC^nB_|~ z-?h;N!MoG?A%fWlL$CRYwS6jYXsf6_oCV-sq4Kip#X5z&dGqFKK8INcj6clf4!DVy zwmCaSZ@ox1K8zC^$s6a|JBE>RRhzjV1GEa#*It6XgZb=4AtSWfvu+=GV8g()=LG{Z z9B$dM&wvCuwExR+2mD>IN8mslNlrxJ|Gb*Ry&1+w5dik4OZLq57N$oTcXqy!dJ$`W zCU$ycEL>S~;{9f{p&jZIlaITIwD+Xd-=X{RE+BMm0+A#I09Ki&MR3F00S3MeZh?2r z%fOFN!w4_hzE@R3vHKia1zEFf#LTb6$p%d|^K_QxRhr(tVL#k_!H__+h>x@tT)BH| z`?)dU0s|8sVW!XyEH0QUG5YlH9xV;w8_@>GkYPU)gXf7dg1)!rqwLPq>+PYz;S$ws z7?>8~=g5Yw&MIIiFQnT!GP#JsmwZCO?N&V|-2?X&ke>iv4qndED8Q55@@Xy`=Dkq6$7`__H89nFTN)M7@%->JD_DL#rT* zwcO%jwm=` z|8l9|rA2O?rnn2YZ3`DpPh?dH0_1qWQI{yCt}&F z=u@+Z>}?gpJs??1svf@znpthMG~Jtq*4Xa#yObqW8_!HD07dROvbJB0LKa;_@&!UY za>@roYXuI7_9K-C#07V}Lm0TZqbmh~KG%>lvDY#sErQPojg;Uw;C*l(w(oJ(9cc0O z*C}}liklQz-(GU0w8{?8Y3(r>p*iYi;U`!WnDkA@fYAY-^-l^MgaW&1Fuh@ei7o`! z`{oE*;L9SoN*_t}{;aVXcl-vUs$jpm_9{vp6LyPJ|?e-6}buWPFK)XlO zgj-`jf3KlHR)YzK4q7(+6Z_e1w#I{o%MliVKHMZ>HJ#d|mIAZy6qVY~&(DCoA#B}V z$^-NV2Am*v_l#gdSwVZt6~$5a_(wdF0APhPtvQ)_kFd(s6Lk1$T`g#p0s!WL95#4cKsSevCp&e(R!1N~R^*^{ z&vH=JsyomvjC%wC5UDaX`(6(n$Jx9gc7E-?rX^yuRv{?b#is7(KWX<^PJO{L^eOnams>K=Q=Vl>~zTFevjm#3#E zGCgJld@h4GpiB7w8R0fRlizD{37SURbk|>*f9xgf!M{E|J?(i8+~YiW!I^N7%Bgdv z`^xs;wYDPbPE8kONB{sJ07*naR59i$M*p6W(aLoZ5ek|kYvllDw`D|YyYhg~&(D$t zTC)I%`9h#vg5@~N{1aU~as4?OI+%aX509EUtN=hlK*p()CWnb*;ibe5v-jjZ+6Qw5 znvF8(?bvApp-nLVRiCyo`#vx)FkQXIPqR`$2qJAI%6Tm<=nHd2T`-qXr{XI5aP5!) z(Fziv3xrFTMoPH=XO8=;PE!qG3L0dO?}4_)SSvW&;cryfjm&>0oKPLd^Yb$&KrI6G ziy+|LAoOlKWk-}G3L=WSw;^D_+a^b4WD5J zxJJ@i6M=C`BTWDpN#KZm^Q8-BLX!zD%O>l^pdk1Iqw}S|&uxjG%0Aoh?=4;Kwi=D+X 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 literal 37877 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 eyLRo`< - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/assets/languages/en/Options.xml b/assets/languages/en/Options.xml index f7debfaf..51e317eb 100644 --- a/assets/languages/en/Options.xml +++ b/assets/languages/en/Options.xml @@ -42,8 +42,7 @@ Engine - - Change Mod or Mode + Mod/Mode diff --git a/source/funkin/editors/EditorPicker.hx b/source/funkin/editors/EditorPicker.hx index 3fb4c5d9..dbc30e60 100644 --- a/source/funkin/editors/EditorPicker.hx +++ b/source/funkin/editors/EditorPicker.hx @@ -196,7 +196,7 @@ class EditorPickerOption extends FlxTypedSpriteGroup { iconSpr.x = 25 + ((height - iconSpr.width) / 2); iconSpr.y = (height - iconSpr.height) / 2; - label = new Alphabet(25 + iconSpr.width + 25, 0, name, true); + label = new Alphabet(25 + iconSpr.width + 25, 0, name, "bold"); label.y = (height - label.height) / 2; selectionBG = new FlxSprite().makeGraphic(1, 1, -1); diff --git a/source/funkin/menus/BetaWarningState.hx b/source/funkin/menus/BetaWarningState.hx index ebe6605d..68147a00 100644 --- a/source/funkin/menus/BetaWarningState.hx +++ b/source/funkin/menus/BetaWarningState.hx @@ -13,7 +13,7 @@ class BetaWarningState extends MusicBeatState { public override function create() { super.create(); - titleAlphabet = new Alphabet(0, 0, TU.translate("betaWarning.title"), true); + titleAlphabet = new Alphabet(0, 0, TU.translate("betaWarning.title"), "bold"); titleAlphabet.screenCenter(X); add(titleAlphabet); diff --git a/source/funkin/menus/FreeplayState.hx b/source/funkin/menus/FreeplayState.hx index c055a405..bee0eef7 100644 --- a/source/funkin/menus/FreeplayState.hx +++ b/source/funkin/menus/FreeplayState.hx @@ -130,7 +130,7 @@ class FreeplayState extends MusicBeatState for (i in 0...songs.length) { - var songText:Alphabet = new Alphabet(0, (70 * i) + 30, songs[i].displayName, true, false); + var songText:Alphabet = new Alphabet(0, (70 * i) + 30, songs[i].displayName, "bold"); songText.isMenuItem = true; songText.targetY = i; grpSongs.add(songText); diff --git a/source/funkin/menus/ModSwitchMenu.hx b/source/funkin/menus/ModSwitchMenu.hx index 79277ff3..309afdad 100644 --- a/source/funkin/menus/ModSwitchMenu.hx +++ b/source/funkin/menus/ModSwitchMenu.hx @@ -28,7 +28,7 @@ class ModSwitchMenu extends MusicBeatSubstate { alphabets = new FlxTypedGroup(); for(mod in mods) { - var a = new Alphabet(0, 0, mod == null ? TU.translate("mods.disableMods") : mod, true); + var a = new Alphabet(0, 0, mod == null ? TU.translate("mods.disableMods") : mod, "bold"); if(mod == ModsFolder.currentModFolder) a.color = FlxColor.LIME; a.isMenuItem = true; diff --git a/source/funkin/menus/PauseSubState.hx b/source/funkin/menus/PauseSubState.hx index fad1a15b..82a6173e 100644 --- a/source/funkin/menus/PauseSubState.hx +++ b/source/funkin/menus/PauseSubState.hx @@ -107,7 +107,7 @@ class PauseSubState extends MusicBeatSubstate for (i in 0...menuItems.length) { var pauseId = "pause." + TU.raw2Id(menuItems[i]); - var songText:Alphabet = new Alphabet(0, (70 * i) + 30, TU.translate(pauseId), true, false); + var songText:Alphabet = new Alphabet(0, (70 * i) + 30, TU.translate(pauseId), "bold"); songText.isMenuItem = true; songText.targetY = i; grpMenuShit.add(songText); diff --git a/source/funkin/menus/PlaytestingWarningSubstate.hx b/source/funkin/menus/PlaytestingWarningSubstate.hx index 1bd5a00f..de455d83 100644 --- a/source/funkin/menus/PlaytestingWarningSubstate.hx +++ b/source/funkin/menus/PlaytestingWarningSubstate.hx @@ -40,7 +40,7 @@ class PlaytestingWarningSubstate extends MusicBeatSubstate bg.scrollFactor.set(); add(bg); - titleAlphabet = new Alphabet(0, 140, TU.translate("playtesting.warningTitle"), true); + titleAlphabet = new Alphabet(0, 140, TU.translate("playtesting.warningTitle"), "bold"); titleAlphabet.screenCenter(X); add(titleAlphabet); diff --git a/source/funkin/menus/TitleState.hx b/source/funkin/menus/TitleState.hx index bf9f1061..ab190b62 100644 --- a/source/funkin/menus/TitleState.hx +++ b/source/funkin/menus/TitleState.hx @@ -175,7 +175,7 @@ class TitleState extends MusicBeatState for (i=>text in textArray) { if (text == "" || text == null) continue; - var money:Alphabet = new Alphabet(0, (i * 60) + 200, text, true, false); + var money:Alphabet = new Alphabet(0, (i * 60) + 200, text, "bold"); money.screenCenter(X); textGroup.add(money); } @@ -183,7 +183,7 @@ class TitleState extends MusicBeatState public function addMoreText(text:String) { - var coolText:Alphabet = new Alphabet(0, (textGroup.length * 60) + 200, text, true, false); + var coolText:Alphabet = new Alphabet(0, (textGroup.length * 60) + 200, text, "bold"); coolText.screenCenter(X); textGroup.add(coolText); } diff --git a/source/funkin/menus/ui/Alphabet.hx b/source/funkin/menus/ui/Alphabet.hx index 00302a53..4298be57 100644 --- a/source/funkin/menus/ui/Alphabet.hx +++ b/source/funkin/menus/ui/Alphabet.hx @@ -1,284 +1,648 @@ package funkin.menus.ui; -import flixel.group.FlxSpriteGroup; -import flixel.util.FlxColor; -import flixel.util.FlxTimer; -import funkin.backend.assets.AssetsLibraryList; -import funkin.backend.assets.IModsAssetLibrary; -import funkin.backend.assets.LimeLibrarySymbol; +import flixel.util.typeLimit.OneOfTwo; +import haxe.ds.Vector; +import funkin.menus.ui.effects.RegionEffect; + +import flixel.animation.FlxAnimation; +import flixel.util.FlxDirectionFlags; +import flixel.math.FlxPoint; +import flixel.math.FlxAngle; +import flixel.FlxTypes; + import haxe.xml.Access; -import openfl.utils.AssetLibrary; using StringTools; +using flixel.util.FlxColorTransformUtil; -/** - * Loosely based on FlxTypeText lolol - */ -class Alphabet extends FlxSpriteGroup -{ - public var delay:Float = 0.05; - public var paused:Bool = false; +@:structInit +final class AlphabetComponent { + public var anim:String; + public var x:Float; + public var y:Float; + + // Precalculated values for angle + public var shouldRotate:Bool; + public var sin:Float; + public var cos:Float; + public var scaleX:Float; + public var scaleY:Float; + + public var hasColorMode:Bool; + public var colorMode:ColorMode; +} + +@:structInit +final class AlphabetLetterData { + @:optional public var isDefault:Bool = false; + public var advance:Float; + public var advanceEmpty:Bool; + public var components:Array; +} + +enum abstract AlphabetAlignment(ByteUInt) from ByteUInt to ByteUInt { + var LEFT; + var CENTER; + var RIGHT; + + public function getMultiplier():Float { + return switch(this) { + case CENTER: 0.5; + case RIGHT: 1.0; + default: 0.0; + } + } + + @:from + public static function fromString(value:String):AlphabetAlignment + return switch(value) { + case "left": LEFT; + case "center": CENTER; + case "right": RIGHT; + default: LEFT; + } +} + +enum abstract CaseMode(ByteUInt) from ByteUInt to ByteUInt { + var NONE; + var UPPER; + var LOWER; + + @:from + public static function fromString(value:String):CaseMode + return switch(value) { + case "none": NONE; + case "upper": UPPER; + case "lower": LOWER; + default: NONE; + } +} + +enum abstract ColorMode(ByteInt) from ByteInt to ByteInt { + var TINT = 0; + var OFFSET = 1; + var NONE = 2; + + public function setColorTransform(color:openfl.geom.ColorTransform, red:Float, green:Float, blue:Float, alpha:Float) { + var moduloWorkaround:Int = this; + var tintMult = Math.max(-moduloWorkaround + 1, 0); + var tintOffset = Math.min(moduloWorkaround, 1); + var offsetMult = (moduloWorkaround % 2) * 255; + + color.redMultiplier = red * tintMult + tintOffset; + color.greenMultiplier = green * tintMult + tintOffset; + color.blueMultiplier = blue * tintMult + tintOffset; + color.redOffset = red * offsetMult; + color.greenOffset = green * offsetMult; + color.blueOffset = blue * offsetMult; + color.alphaMultiplier = alpha; + } +} + +class Alphabet extends FlxSprite { + public var effects:Array = []; + var __renderData:AlphabetRenderData; + var __component:AlphabetComponent; + + public var text(default, set):String = ""; + @:isVar public var textWidth(get, set):Float; + public var textHeight(get, null):Float; + + public var alignment:AlphabetAlignment = LEFT; + public var forceCase:CaseMode = NONE; + + var __laneWidths:Array = []; // TODO: add alignment. + var __forceWidth:Float = 0.0; // TODO: implement functionality for this. + var __queueResize:Bool = false; + var __animTime:Float = 0.0; + var __ogForceScreen:Bool = false; + + public var originOffset:FlxPoint = FlxPoint.get(); + + public var font(default, set):String; + var colorMode:ColorMode = TINT; + var defaultAdvance:Float = 40.0; + var lineGap:Float = 75.0; + var fps:Float = 24.0; + var letterData:Map = []; + var defaults:Vector = { + var v = new Vector(3); + v[0] = null; + v[1] = null; + v[2] = null; + v; + }; + var loaded:Vector> = { + var v = new Vector(3); + v[0] = []; + v[1] = []; + v[2] = []; + v; + }; + var failedLetters:Array = []; // for menu shit public var targetY:Float = 0; public var isMenuItem:Bool = false; - public var text:String = ""; - - var _finalText:String = ""; - var _curText:String = ""; - - var yMulti:Float = 1; - - // custom shit - // amp, backslash, question mark, apostrophy, comma, angry faic, period - var lastSprite:AlphaCharacter; - var xPosResetted:Bool = false; - - var splitWords:Array = []; - - var isBold:Bool = false; - - private override function set_color(c:Int):Int { - for(e in group.members) { - if (e is AlphaCharacter) { - var char:AlphaCharacter = cast e; - char.setColor(c, isBold); - } - } - return super.set_color(c); - } - - // TODO: fix this shit refreshing - public function refreshAlphabetXML(path:String) { - AlphaCharacter.__alphaPath = Paths.getAssetsRoot() + path; - try { - var xml = new Access(Xml.parse(Assets.getText(path)).firstElement()); - AlphaCharacter.boldAnims = []; - AlphaCharacter.letterAnims = []; - AlphaCharacter.boldAlphabetPath = AlphaCharacter.letterAlphabetPath = 'ui/alphabet'; - - for(e in xml.elements) { - var bold = e.name == "bold"; - var list = bold ? AlphaCharacter.boldAnims : AlphaCharacter.letterAnims; - if (e.has.spritesheet) { - if (bold) - AlphaCharacter.boldAlphabetPath = e.att.spritesheet; - else - AlphaCharacter.letterAlphabetPath = e.att.spritesheet; - } - for(e in e.nodes.letter) { - if (!e.has.char || !e.has.anim) continue; - var name = e.att.char; - var anim = e.att.anim; - list[name] = anim; - } - } - } catch(e) { - trace(e.details()); - } - } - public function new(x:Float, y:Float, text:String = "", ?bold:Bool = false, typed:Bool = false) - { + public function new(?x:Float, ?y:Float, ?text:String = "", ?font:OneOfTwo = "normal") { super(x, y); + this.text = text; + this.font = (font is String) ? font : ((font == true) ? "bold" : "normal"); // == true just in case + this.__renderData = new AlphabetRenderData(this); + } - _finalText = this.text = text; - isBold = bold; - - var alphabetPath = Paths.xml("alphabet"); - if (Paths.getAssetsRoot() + alphabetPath != AlphaCharacter.__alphaPath) { - refreshAlphabetXML(alphabetPath); - } - #if MOD_SUPPORT else { - var libThing = new LimeLibrarySymbol(alphabetPath); - if (libThing.library is AssetLibrary) { - var library = AssetsLibraryList.getCleanLibrary(libThing.library); - if (library is IModsAssetLibrary) { - var modLib = cast(library, IModsAssetLibrary); - @:privateAccess - if (!modLib.__isCacheValid(library.cachedBytes, libThing.symbolName)) { - refreshAlphabetXML(alphabetPath); - } - } - } - } + override function update(elapsed:Float):Void { + //super.update(elapsed); + // FLXOBJECT UPDATE + #if FLX_DEBUG + @:privateAccess FlxBasic.activeCount += 1; #end - if (text != "") - { - if (typed) - { - startTypedText(); - } - else - { - addText(); - } - } - } + last.set(x, y); - public function addText() - { - doSplitWords(); + if (path != null && path.active) + path.update(elapsed); - var xPos:Float = 0; - var curRow:Int = 0; - for (i=>character in splitWords) - { - if (lastSprite != null) - xPos = lastSprite.x + lastSprite.width - x; + if (moves) + updateMotion(elapsed); - if (xPosResetted && !(xPosResetted = false)) xPos = 0; + wasTouching = touching; + touching = FlxDirectionFlags.NONE; + // FLXOBJECT UPDATE END - var letter:AlphaCharacter = new AlphaCharacter(xPos, 0); - letter.row = curRow; - if (isBold) - letter.createBold(character); - else - letter.createLetter(character); + __animTime += elapsed; + for (effect in effects) + effect.effectTime += elapsed * effect.speed; - // anim not found - if (!letter.visible) - xPos += 40; - - letter.setColor(color, isBold); - add(letter); - - lastSprite = letter; - if (_finalText.fastCodeAt(i) == "\n".code) - { - xPosResetted = true; - curRow += 1; - } - } - } - - function doSplitWords():Void - { - splitWords = _finalText.split(""); - } - - //public var personTalking:String = 'gf'; - - public function startTypedText():Void - { - _finalText = text; - doSplitWords(); - - // trace(arrayShit); - - var loopNum:Int = 0; - - var xPos:Float = 0; - var curRow:Int = 0; - - new FlxTimer().start(0.05, function(tmr:FlxTimer) - { - // trace(_finalText.fastCodeAt(loopNum) + " " + _finalText.charAt(loopNum)); - if (_finalText.fastCodeAt(loopNum) == "\n".code) - { - yMulti += 1; - xPosResetted = true; - xPos = 0; - curRow += 1; - } - loopNum += 1; - - tmr.time = FlxG.random.float(0.04, 0.09); - }, splitWords.length); - } - - override function update(elapsed:Float) - { - super.update(elapsed); - - if (isMenuItem) - { - var scaledY = FlxMath.remapToRange(targetY, 0, 1, 0, 1.3); + if (isMenuItem) { + var scaledY = targetY * 1.3; y = CoolUtil.fpsLerp(y, (scaledY * 120) + (FlxG.height * 0.48), 0.16); x = CoolUtil.fpsLerp(x, (targetY * 20) + 90, 0.16); } - - if (text != _finalText) { - _finalText = text; - for(e in members) - e.destroy(); - members.clear(); - lastSprite = null; - addText(); - } } - override function draw() { + override function draw():Void { + __ogForceScreen = forceIsOnScreen; + forceIsOnScreen = true; super.draw(); } -} -class AlphaCharacter extends FlxSprite -{ - @:dox(hide) @:noCompletion public static var __alphaPath:String = null; + override function isSimpleRender(?camera:FlxCamera):Bool { + return false; // maybe ill get simple render working another time??? not right now tho. + } - public static var letterAlphabetPath:String; - public static var boldAlphabetPath:String; + override function drawComplex(camera:FlxCamera):Void { + forceIsOnScreen = __ogForceScreen; - public static var boldAnims:Map = []; - public static var letterAnims:Map = []; + if (__queueResize) + recalcSizes(); + var curLine = 0; + var lastLine = 0; + var daText = switch (forceCase) { + case UPPER: text.toUpperCase(); + case LOWER: text.toLowerCase(); + case NONE: text; + } - public var row:Int = 0; + var alignmentMultiplier = alignment.getMultiplier(); - public function setColor(c:FlxColor, isBold:Bool) { - if (isBold) { - colorTransform.redMultiplier = c.redFloat; - colorTransform.greenMultiplier = c.greenFloat; - colorTransform.blueMultiplier = c.blueFloat; - } else { - colorTransform.redOffset = c.red; - colorTransform.greenOffset = c.green; - colorTransform.blueOffset = c.blue; + var ogOffX = frameOffset.x; + var ogOffY = frameOffset.y; + frameOffset.x -= (textWidth - __laneWidths[0]) * alignmentMultiplier; + + var isGraphicsShader = shader != null && shader is flixel.graphics.tile.FlxGraphicsShader; + var ogRed:Float = colorTransform.redMultiplier; + var ogGreen:Float = colorTransform.greenMultiplier; + var ogBlue:Float = colorTransform.blueMultiplier; + var ogAlpha:Float = colorTransform.alphaMultiplier; + + var frameTime = Math.floor(__animTime * fps); + + for (i in 0...daText.length) { + __renderData.reset(this, ogRed, ogGreen, ogBlue, ogAlpha, daText.charAt(i)); + for (effect in effects) { + if (effect.willModify(i, i - lastLine, __renderData)) + effect.modify(i, i - lastLine, __renderData); + } + + var letter = __renderData.letter; + if (letter == "\n") { + curLine++; + lastLine = i + 1; + frameOffset.x = ogOffX - (textWidth - __laneWidths[curLine]) * alignmentMultiplier; + frameOffset.y -= lineGap; + continue; + } + + var data = getData(letter); + + if (data == null) { + frameOffset.x -= defaultAdvance; + continue; + } + + var advance:Float = Math.NaN; + + for (i in 0...data.components.length) { + __component = data.components[i]; + var anim = getLetterAnim(letter, data, __component, i); + advance = (Math.isNaN(advance)) ? getAdvance(letter, anim, data) : advance; + + if (anim == null || __renderData.alpha <= 0.0) + break; // shouldnt this be like continue? + + var frameToGet = frameTime % anim.numFrames; + frame = frames.frames[anim.frames[frameToGet]]; + + var offsetX = __component.x + __renderData.offsetX; + var offsetY = frame.sourceSize.y - lineGap + __component.y + __renderData.offsetY; + frameOffset.x += offsetX; + frameOffset.y += offsetY; + if (!isOnScreen(camera)) { + frameOffset.y -= offsetY; + frameOffset.x -= offsetX; + break; + } + if (isGraphicsShader) + shader.setCamSize(_frame.frame.x, _frame.frame.y, _frame.frame.width, _frame.frame.height); + + if (__component.hasColorMode) + __component.colorMode.setColorTransform(colorTransform, __renderData.red, __renderData.green, __renderData.blue, __renderData.alpha); + else + colorMode.setColorTransform(colorTransform, __renderData.red, __renderData.green, __renderData.blue, __renderData.alpha); + + drawLetter(camera); + frameOffset.y -= offsetY; + frameOffset.x -= offsetX; + } + frameOffset.x -= advance; + } + __component = null; + + setColorTransform(ogRed, ogGreen, ogBlue, ogAlpha, 0, 0, 0, 0); + frameOffset.set(ogOffX, ogOffY); + } + + function drawLetter(camera) { + _frame.prepareMatrix(_matrix, ANGLE_0, checkFlipX() != camera.flipX, checkFlipY() != camera.flipY); + + _matrix.translate(_frame.frame.width * -0.5, _frame.frame.height * -0.5); + _matrix.scale(__component.scaleX, __component.scaleY); + if(__component.shouldRotate) _matrix.rotateWithTrig(__component.cos, __component.sin); + _matrix.translate(_frame.frame.width * 0.5, _frame.frame.height * 0.5); + + _matrix.translate(-origin.x, -origin.y); + + if (frameOffsetAngle != null && frameOffsetAngle != angle) + { + var angleOff = (frameOffsetAngle - angle) * FlxAngle.TO_RAD; + var cos = Math.cos(angleOff); + var sin = Math.sin(angleOff); + // cos doesnt need to be negated + _matrix.rotateWithTrig(cos, -sin); + _matrix.translate(-frameOffset.x, -frameOffset.y); + _matrix.rotateWithTrig(cos, sin); + } + else + _matrix.translate(-frameOffset.x, -frameOffset.y); + + _matrix.scale(scale.x, scale.y); + + if (bakedRotationAngle <= 0) + { + updateTrig(); + + if (angle != 0) + _matrix.rotateWithTrig(_cosAngle, _sinAngle); + } + + getScreenPosition(_point, camera).subtractPoint(offset); + _point.add(origin.x, origin.y); + _matrix.translate(_point.x, _point.y); + + if (isPixelPerfectRender(camera)) + { + _matrix.tx = Math.floor(_matrix.tx); + _matrix.ty = Math.floor(_matrix.ty); + } + + doAdditionalMatrixStuff(_matrix, camera); + + if (layer != null) + layer.drawPixels(this, camera, _frame, framePixels, _matrix, colorTransform, blend, antialiasing, shaderEnabled ? shader : null); + else + camera.drawPixels(_frame, framePixels, _matrix, colorTransform, blend, antialiasing, shaderEnabled ? shader : null); + } + + override function updateHitbox():Void { + offset.set(-0.5 * (width - textWidth), -0.5 * (height - textHeight)); + origin.set(textWidth * 0.5 + originOffset.x, textHeight * 0.5 + originOffset.y); + } + + function recalcSizes():Void { + __queueResize = false; + var curLine = 0; + var daText = switch (forceCase) { + case UPPER: text.toUpperCase(); + case LOWER: text.toLowerCase(); + case NONE: text; + } + @:bypassAccessor textWidth = 0; + textHeight = lineGap; + __laneWidths = [0]; + for (i in 0...daText.length) { + var letter = daText.charAt(i); + if (letter == "\n") { + textHeight += lineGap; + __laneWidths.push(0); + curLine++; + continue; + } + + var data = getData(letter); + __laneWidths[curLine] += (data != null) ? getAdvance(letter, getLetterAnim(letter, data, data.components[0], 0), data) : defaultAdvance; + @:bypassAccessor textWidth = Math.max(textWidth, __laneWidths[curLine]); + } + + origin.set(textWidth * 0.5 + originOffset.x, textHeight * 0.5 + originOffset.y); + } + + function getAdvance(letter:String, anim:FlxAnimation, data:AlphabetLetterData):Float { + if (anim == null) + return defaultAdvance; + + if (data.advanceEmpty && !data.isDefault) { + data.advanceEmpty = false; + data.advance = frames.frames[anim.frames[0]].sourceSize.x; + } + return (data.isDefault) ? frames.frames[anim.frames[0]].sourceSize.x : data.advance; + } + + function getData(char:String):AlphabetLetterData { + if (failedLetters.contains(char)) return null; + for (i in 0...3) { // this feels wrong + if (loaded[i].contains(char)) + return defaults[i]; + } + + var data:AlphabetLetterData = null; + if (letterData.exists(char)) + data = letterData.get(char); + + if (data == null) { + var charCode:Int = char.charCodeAt(0); + if (charCode >= 'A'.code && charCode <= 'Z'.code && defaults[CaseMode.UPPER] != null) + data = defaults[CaseMode.UPPER]; + else if (charCode >= 'a'.code && charCode <= 'z'.code && defaults[CaseMode.LOWER] != null) + data = defaults[CaseMode.LOWER]; + else + data = defaults[CaseMode.NONE]; + } + + if(data == null) { + failedLetters.push(char); + return null; + } else if (data.isDefault) + loaded[defaultsIndexOf(data)].push(char); + return data; + } + + final function defaultsIndexOf(data:AlphabetLetterData):Int { + //while(i < defaults.length) { + for(i in 0...3) { + if(defaults[i] == data) + return i; + } + return -1; + } + + function getLetterAnim(char:String, data:AlphabetLetterData, component:AlphabetComponent, index:Int):FlxAnimation { + if (data == null) return null; + var name = char + Std.string(index); + if (animation.exists(name)) return animation.getByName(name); + + var anim = (data.isDefault) ? + component.anim.replace("LETTER", char) : + component.anim; + animation.addByPrefix(name, anim, fps); + if (!animation.exists(name)) { + failedLetters.push(char); + return null; + } + return animation.getByName(name); + } + + function checkNode(node:Xml):Void { + switch (node.nodeName) { + case "spritesheet": + if (frames == null) + frames = Paths.getFrames(node.firstChild().nodeValue); + else { + for (frame in Paths.getFrames(node.firstChild().nodeValue).frames) + frames.pushFrame(frame); + } + case "defaultAnim": + var idx = ["UPPER", "LOWER"].indexOf(node.get("casing").toUpperCase()) + 1; + + var rad:Float = Std.parseFloat(node.get("angle")).getDefaultFloat(0.0) * FlxAngle.TO_RAD; + var angleCos = Math.cos(rad); + var angleSin = Math.sin(rad); + + var res:AlphabetLetterData = { + isDefault: true, + advance: 0.0, + advanceEmpty: true, + components: [{ + anim: node.firstChild().nodeValue, + + x: 0.0, + y: 0.0, + scaleX: Std.parseFloat(node.get("scaleX")).getDefaultFloat(1.0), + scaleY: Std.parseFloat(node.get("scaleY")).getDefaultFloat(1.0), + + shouldRotate: rad != 0, + cos: angleCos, + sin: angleSin, + + hasColorMode: false, + colorMode: 0 + }] + } + + defaults[idx] = res; + case "composite": + if(!node.exists("char")) { + Logs.error(" must have a char attribute", "Alphabet"); + return; + } + var char = node.get("char"); + var advance:Float = Std.parseFloat(node.get("advance")); + var components:Array = []; + for (component in node.elementsNamed("component")) { + if(!component.exists("anim")) { + Logs.error(" must have a anim attribute", "Alphabet"); + return; + } + + var rad:Float = Std.parseFloat(component.get("angle")).getDefaultFloat(0.0) * FlxAngle.TO_RAD; + var angleCos = Math.cos(rad); + var angleSin = Math.sin(rad); + + var xOff:Float = -Std.parseFloat(component.get("x")).getDefaultFloat(0.0); + var yOff:Float = Std.parseFloat(component.get("y")).getDefaultFloat(0.0); + + var colorMode = ["tint", "offsets", "none"].indexOf(component.get("colorMode")); + + components.push({ + anim: component.get("anim"), + + x: xOff, + y: yOff, + scaleX: Std.parseFloat(component.get("scaleX")).getDefaultFloat(1.0), + scaleY: Std.parseFloat(component.get("scaleY")).getDefaultFloat(1.0), + + shouldRotate: rad != 0, + cos: angleCos, + sin: angleSin, + + hasColorMode: colorMode >= 0, + colorMode: colorMode + }); + } + letterData.set(char, { + isDefault: false, + advance: advance, + advanceEmpty: Math.isNaN(advance), + components: components + }); + case "anim": + if(!node.exists("char")) { + Logs.error(" must have a char attribute", "Alphabet"); + return; + } + var char = node.get("char"); + + var rad:Float = Std.parseFloat(node.get("angle")).getDefaultFloat(0.0) * FlxAngle.TO_RAD; + var angleCos = Math.cos(rad); + var angleSin = Math.sin(rad); + + var xOff:Float = -Std.parseFloat(node.get("x")).getDefaultFloat(0.0); + var yOff:Float = Std.parseFloat(node.get("y")).getDefaultFloat(0.0); + var advance:Float = Std.parseFloat(node.get("advance")); + + var colorMode = ["tint", "offsets", "none"].indexOf(node.get("colorMode")); + + letterData.set(char, { + isDefault: false, + advance: advance, + advanceEmpty: Math.isNaN(advance), + components: [{ + anim: node.firstChild().nodeValue, + + x: xOff, + y: yOff, + scaleX: Std.parseFloat(node.get("scaleX")).getDefaultFloat(1.0), + scaleY: Std.parseFloat(node.get("scaleY")).getDefaultFloat(1.0), + + shouldRotate: rad != 0, + cos: angleCos, + sin: angleSin, + + hasColorMode: colorMode >= 0, + colorMode: colorMode + }] + }); + case "languageSection": // used to only parse characters if a specific language is selected + if(!node.exists("langs")) { + Logs.error(" must have a langs attribute", "Alphabet"); + return; + } + var langs = [for (lang in node.get("langs").split(",")) lang.trim()]; + // maybe add a way to toggle this off? like force it to add all + if (langs.contains(Options.language)) { + for (langNode in node.elements()) + checkNode(langNode); + } } } - public function new(x:Float, y:Float) - { - super(x, y); - antialiasing = true; - } + function loadFont(value:String):Void { + __queueResize = true; - public function createBold(letter:String) - { - if(!boldAnims.exists(letter)) - letter = letter.toUpperCase(); - if (!boldAnims.exists(letter)) { - visible = false; - active = false; - scale.set(); - width = 40; - return; + var xml:Xml = Xml.parse(Assets.getText(Paths.xml("alphabet/" + value))).firstElement(); + + // reset old values + letterData = new Map(); + defaults = { + var v = new Vector(3); + v[0] = null; + v[1] = null; + v[2] = null; + v; } - frames = Paths.getFrames(boldAlphabetPath); - animation.addByPrefix(letter, boldAnims[letter], 24); - animation.play(letter); - updateHitbox(); - - y += row * height; - } - - public function createLetter(letter:String):Void - { - if (!letterAnims.exists(letter)) { - visible = false; - active = false; - scale.set(); - width = 40; - return; + loaded = { + var v = new Vector(3); + v[0] = []; + v[1] = []; + v[2] = []; + v; } - frames = Paths.getFrames(letterAlphabetPath); - animation.addByPrefix(letter, letterAnims[letter], 24); - animation.play(letter); - updateHitbox(); + failedLetters = []; - y = (110 - height); - y += row * 60; + defaultAdvance = Std.parseFloat(xml.get("advance")).getDefaultFloat(40.0); + lineGap = Std.parseFloat(xml.get("lineGap")).getDefaultFloat(75.0); + fps = Std.parseFloat(xml.get("fps")).getDefaultFloat(24.0); + forceCase = xml.get("forceCasing").getDefault("none").toLowerCase(); + colorMode = (["offsets", "none"].indexOf(xml.get("colorMode")) + 1); + + frames = null; + + for (node in xml.elements()) + checkNode(node); } -} + + override function destroy():Void { + originOffset = FlxDestroyUtil.destroy(originOffset); + failedLetters = []; + super.destroy(); + } + + function get_textWidth():Float { + if (__queueResize) + recalcSizes(); + return textWidth; + } + function set_textWidth(value:Float):Float { + if(!__queueResize) + __queueResize = __forceWidth != value; + return __forceWidth = value; + } + + override function get_width():Float { + return textWidth * scale.x; + } + override function get_height():Float { + return textHeight * scale.y; + } + + function get_textHeight():Float { + if (__queueResize) + recalcSizes(); + return textHeight; + } + + function set_text(value:String):String { + if(!__queueResize) + __queueResize = text != value; + return text = value; + } + + function set_font(value:String):String { + if (font != value) { + loadFont(font = value); + } + return value; + } +} \ No newline at end of file diff --git a/source/funkin/menus/ui/ClassicAlphabet.hx b/source/funkin/menus/ui/ClassicAlphabet.hx new file mode 100644 index 00000000..4ece8633 --- /dev/null +++ b/source/funkin/menus/ui/ClassicAlphabet.hx @@ -0,0 +1,284 @@ +package funkin.menus.ui; + +import flixel.group.FlxSpriteGroup; +import flixel.util.FlxColor; +import flixel.util.FlxTimer; +import funkin.backend.assets.AssetsLibraryList; +import funkin.backend.assets.IModsAssetLibrary; +import funkin.backend.assets.LimeLibrarySymbol; +import haxe.xml.Access; +import openfl.utils.AssetLibrary; + +using StringTools; + +/** + * Loosely based on FlxTypeText lolol + */ +class ClassicAlphabet extends FlxSpriteGroup +{ + public var delay:Float = 0.05; + public var paused:Bool = false; + + // for menu shit + public var targetY:Float = 0; + public var isMenuItem:Bool = false; + + public var text:String = ""; + + var _finalText:String = ""; + var _curText:String = ""; + + var yMulti:Float = 1; + + // custom shit + // amp, backslash, question mark, apostrophy, comma, angry faic, period + var lastSprite:AlphaCharacter; + var xPosResetted:Bool = false; + + var splitWords:Array = []; + + var isBold:Bool = false; + + private override function set_color(c:Int):Int { + for(e in group.members) { + if (e is AlphaCharacter) { + var char:AlphaCharacter = cast e; + char.setColor(c, isBold); + } + } + return super.set_color(c); + } + + // TODO: fix this shit refreshing + public function refreshAlphabetXML(path:String) { + AlphaCharacter.__alphaPath = Paths.getAssetsRoot() + path; + try { + var xml = new Access(Xml.parse(Assets.getText(path)).firstElement()); + AlphaCharacter.boldAnims = []; + AlphaCharacter.letterAnims = []; + AlphaCharacter.boldAlphabetPath = AlphaCharacter.letterAlphabetPath = 'ui/alphabet'; + + for(e in xml.elements) { + var bold = e.name == "bold"; + var list = bold ? AlphaCharacter.boldAnims : AlphaCharacter.letterAnims; + if (e.has.spritesheet) { + if (bold) + AlphaCharacter.boldAlphabetPath = e.att.spritesheet; + else + AlphaCharacter.letterAlphabetPath = e.att.spritesheet; + } + for(e in e.nodes.letter) { + if (!e.has.char || !e.has.anim) continue; + var name = e.att.char; + var anim = e.att.anim; + list[name] = anim; + } + } + } catch(e) { + trace(e.details()); + } + } + public function new(x:Float, y:Float, text:String = "", ?bold:Bool = false, typed:Bool = false) + { + super(x, y); + + _finalText = this.text = text; + isBold = bold; + + var alphabetPath = Paths.xml("alphabet"); + if (Paths.getAssetsRoot() + alphabetPath != AlphaCharacter.__alphaPath) { + refreshAlphabetXML(alphabetPath); + } + #if MOD_SUPPORT else { + var libThing = new LimeLibrarySymbol(alphabetPath); + if (libThing.library is AssetLibrary) { + var library = AssetsLibraryList.getCleanLibrary(libThing.library); + if (library is IModsAssetLibrary) { + var modLib = cast(library, IModsAssetLibrary); + @:privateAccess + if (!modLib.__isCacheValid(library.cachedBytes, libThing.symbolName)) { + refreshAlphabetXML(alphabetPath); + } + } + } + } + #end + + if (text != "") + { + if (typed) + { + startTypedText(); + } + else + { + addText(); + } + } + } + + public function addText() + { + doSplitWords(); + + var xPos:Float = 0; + var curRow:Int = 0; + for (i=>character in splitWords) + { + if (lastSprite != null) + xPos = lastSprite.x + lastSprite.width - x; + + if (xPosResetted && !(xPosResetted = false)) xPos = 0; + + var letter:AlphaCharacter = new AlphaCharacter(xPos, 0); + letter.row = curRow; + if (isBold) + letter.createBold(character); + else + letter.createLetter(character); + + // anim not found + if (!letter.visible) + xPos += 40; + + letter.setColor(color, isBold); + add(letter); + + lastSprite = letter; + if (_finalText.fastCodeAt(i) == "\n".code) + { + xPosResetted = true; + curRow += 1; + } + } + } + + function doSplitWords():Void + { + splitWords = _finalText.split(""); + } + + //public var personTalking:String = 'gf'; + + public function startTypedText():Void + { + _finalText = text; + doSplitWords(); + + // trace(arrayShit); + + var loopNum:Int = 0; + + var xPos:Float = 0; + var curRow:Int = 0; + + new FlxTimer().start(0.05, function(tmr:FlxTimer) + { + // trace(_finalText.fastCodeAt(loopNum) + " " + _finalText.charAt(loopNum)); + if (_finalText.fastCodeAt(loopNum) == "\n".code) + { + yMulti += 1; + xPosResetted = true; + xPos = 0; + curRow += 1; + } + loopNum += 1; + + tmr.time = FlxG.random.float(0.04, 0.09); + }, splitWords.length); + } + + override function update(elapsed:Float) + { + super.update(elapsed); + + if (isMenuItem) + { + var scaledY = FlxMath.remapToRange(targetY, 0, 1, 0, 1.3); + + y = CoolUtil.fpsLerp(y, (scaledY * 120) + (FlxG.height * 0.48), 0.16); + x = CoolUtil.fpsLerp(x, (targetY * 20) + 90, 0.16); + } + + if (text != _finalText) { + _finalText = text; + for(e in members) + e.destroy(); + members.clear(); + lastSprite = null; + addText(); + } + } + + override function draw() { + super.draw(); + } +} + +class AlphaCharacter extends FlxSprite +{ + @:dox(hide) @:noCompletion public static var __alphaPath:String = null; + + public static var letterAlphabetPath:String; + public static var boldAlphabetPath:String; + + public static var boldAnims:Map = []; + public static var letterAnims:Map = []; + + public var row:Int = 0; + + public function setColor(c:FlxColor, isBold:Bool) { + if (isBold) { + colorTransform.redMultiplier = c.redFloat; + colorTransform.greenMultiplier = c.greenFloat; + colorTransform.blueMultiplier = c.blueFloat; + } else { + colorTransform.redOffset = c.red; + colorTransform.greenOffset = c.green; + colorTransform.blueOffset = c.blue; + } + } + public function new(x:Float, y:Float) + { + super(x, y); + + antialiasing = true; + } + + public function createBold(letter:String) + { + if(!boldAnims.exists(letter)) + letter = letter.toUpperCase(); + if (!boldAnims.exists(letter)) { + visible = false; + active = false; + scale.set(); + width = 40; + return; + } + frames = Paths.getFrames(boldAlphabetPath); + animation.addByPrefix(letter, boldAnims[letter], 24); + animation.play(letter); + updateHitbox(); + + y += row * height; + } + + public function createLetter(letter:String):Void + { + if (!letterAnims.exists(letter)) { + visible = false; + active = false; + scale.set(); + width = 40; + return; + } + frames = Paths.getFrames(letterAlphabetPath); + animation.addByPrefix(letter, letterAnims[letter], 24); + animation.play(letter); + updateHitbox(); + + y = (110 - height); + y += row * 60; + } +} diff --git a/source/funkin/menus/ui/NewAlphabet.hx b/source/funkin/menus/ui/NewAlphabet.hx deleted file mode 100644 index e6f41619..00000000 --- a/source/funkin/menus/ui/NewAlphabet.hx +++ /dev/null @@ -1,630 +0,0 @@ -package funkin.menus.ui; - -import haxe.ds.Vector; -import funkin.menus.ui.effects.RegionEffect; - -import flixel.animation.FlxAnimation; -import flixel.util.FlxDirectionFlags; -import flixel.math.FlxPoint; -import flixel.math.FlxAngle; -import flixel.FlxTypes; - -import haxe.xml.Access; - -using StringTools; -using flixel.util.FlxColorTransformUtil; - -@:structInit -final class AlphabetComponent { - public var anim:String; - public var x:Float; - public var y:Float; - - // Precalculated values for angle - public var shouldRotate:Bool; - public var sin:Float; - public var cos:Float; - public var scaleX:Float; - public var scaleY:Float; - - public var hasColorMode:Bool; - public var colorMode:ColorMode; -} - -@:structInit -final class AlphabetLetterData { - @:optional public var isDefault:Bool = false; - public var advance:Float; - public var advanceEmpty:Bool; - public var components:Array; -} - -enum abstract AlphabetAlignment(ByteUInt) from ByteUInt to ByteUInt { - var LEFT; - var CENTER; - var RIGHT; - - public function getMultiplier():Float { - return switch(this) { - case CENTER: 0.5; - case RIGHT: 1.0; - default: 0.0; - } - } - - @:from - public static function fromString(value:String):AlphabetAlignment - return switch(value) { - case "left": LEFT; - case "center": CENTER; - case "right": RIGHT; - default: LEFT; - } -} - -enum abstract CaseMode(ByteUInt) from ByteUInt to ByteUInt { - var NONE; - var UPPER; - var LOWER; - - @:from - public static function fromString(value:String):CaseMode - return switch(value) { - case "none": NONE; - case "upper": UPPER; - case "lower": LOWER; - default: NONE; - } -} - -enum abstract ColorMode(ByteInt) from ByteInt to ByteInt { - var TINT = 0; - var OFFSET = 1; - var NONE = 2; - - public function setColorTransform(color:openfl.geom.ColorTransform, red:Float, green:Float, blue:Float, alpha:Float) { - var moduloWorkaround:Int = this; - var tintMult = Math.max(-moduloWorkaround + 1, 0); - var tintOffset = Math.min(moduloWorkaround, 1); - var offsetMult = (moduloWorkaround % 2) * 255; - - color.redMultiplier = red * tintMult + tintOffset; - color.greenMultiplier = green * tintMult + tintOffset; - color.blueMultiplier = blue * tintMult + tintOffset; - color.redOffset = red * offsetMult; - color.greenOffset = green * offsetMult; - color.blueOffset = blue * offsetMult; - color.alphaMultiplier = alpha; - } -} - -class NewAlphabet extends FlxSprite { - public var effects:Array = []; - var __renderData:AlphabetRenderData; - var __component:AlphabetComponent; - - public var text(default, set):String = ""; - @:isVar public var textWidth(get, set):Float; - public var textHeight(get, null):Float; - - public var alignment:AlphabetAlignment = LEFT; - public var forceCase:CaseMode = NONE; - - var __laneWidths:Array = []; // TODO: add alignment. - var __forceWidth:Float = 0.0; // TODO: implement functionality for this. - var __queueResize:Bool = false; - var __animTime:Float = 0.0; - var __ogForceScreen:Bool = false; - - public var originOffset:FlxPoint = FlxPoint.get(); - - public var font(default, set):String; - var colorMode:ColorMode = TINT; - var defaultAdvance:Float = 40.0; - var lineGap:Float = 75.0; - var fps:Float = 24.0; - var letterData:Map = []; - var defaults:Vector = { - var v = new Vector(3); - v[0] = null; - v[1] = null; - v[2] = null; - v; - }; - var loaded:Vector> = { - var v = new Vector(3); - v[0] = []; - v[1] = []; - v[2] = []; - v; - }; - var failedLetters:Array = []; - - public function new(?x:Float, ?y:Float, ?font:String = "bold") { - super(x, y); - this.font = font; - this.__renderData = new AlphabetRenderData(this); - } - - override function update(elapsed:Float):Void { - //super.update(elapsed); - // FLXOBJECT UPDATE - #if FLX_DEBUG - @:privateAccess FlxBasic.activeCount += 1; - #end - - last.set(x, y); - - if (path != null && path.active) - path.update(elapsed); - - if (moves) - updateMotion(elapsed); - - wasTouching = touching; - touching = FlxDirectionFlags.NONE; - // FLXOBJECT UPDATE END - - __animTime += elapsed; - for (effect in effects) - effect.effectTime += elapsed * effect.speed; - } - - override function draw():Void { - __ogForceScreen = forceIsOnScreen; - forceIsOnScreen = true; - super.draw(); - } - - override function isSimpleRender(?camera:FlxCamera):Bool { - return false; // maybe ill get simple render working another time??? not right now tho. - } - - override function drawComplex(camera:FlxCamera):Void { - forceIsOnScreen = __ogForceScreen; - - if (__queueResize) - recalcSizes(); - var curLine = 0; - var lastLine = 0; - var daText = switch (forceCase) { - case UPPER: text.toUpperCase(); - case LOWER: text.toLowerCase(); - case NONE: text; - } - - var alignmentMultiplier = alignment.getMultiplier(); - - var ogOffX = frameOffset.x; - var ogOffY = frameOffset.y; - frameOffset.x -= (textWidth - __laneWidths[0]) * alignmentMultiplier; - - var isGraphicsShader = shader != null && shader is flixel.graphics.tile.FlxGraphicsShader; - var ogRed:Float = colorTransform.redMultiplier; - var ogGreen:Float = colorTransform.greenMultiplier; - var ogBlue:Float = colorTransform.blueMultiplier; - var ogAlpha:Float = colorTransform.alphaMultiplier; - - var frameTime = Math.floor(__animTime * fps); - - for (i in 0...daText.length) { - __renderData.reset(this, ogRed, ogGreen, ogBlue, ogAlpha, daText.charAt(i)); - for (effect in effects) { - if (effect.willModify(i, i - lastLine, __renderData)) - effect.modify(i, i - lastLine, __renderData); - } - - var letter = __renderData.letter; - if (letter == "\n") { - curLine++; - lastLine = i + 1; - frameOffset.x = ogOffX - (textWidth - __laneWidths[curLine]) * alignmentMultiplier; - frameOffset.y -= lineGap; - continue; - } - - var data = getData(letter); - - if (data == null) { - frameOffset.x -= defaultAdvance; - continue; - } - - var advance:Float = Math.NaN; - - for (i in 0...data.components.length) { - __component = data.components[i]; - var anim = getLetterAnim(letter, data, __component, i); - advance = (Math.isNaN(advance)) ? getAdvance(letter, anim, data) : advance; - - if (anim == null || __renderData.alpha <= 0.0) - break; // shouldnt this be like continue? - - var frameToGet = frameTime % anim.numFrames; - frame = frames.frames[anim.frames[frameToGet]]; - - var offsetX = __component.x + __renderData.offsetX; - var offsetY = frame.sourceSize.y - lineGap + __component.y + __renderData.offsetY; - frameOffset.x += offsetX; - frameOffset.y += offsetY; - if (!isOnScreen(camera)) { - frameOffset.y -= offsetY; - frameOffset.x -= offsetX; - break; - } - if (isGraphicsShader) - shader.setCamSize(_frame.frame.x, _frame.frame.y, _frame.frame.width, _frame.frame.height); - - if (__component.hasColorMode) - __component.colorMode.setColorTransform(colorTransform, __renderData.red, __renderData.green, __renderData.blue, __renderData.alpha); - else - colorMode.setColorTransform(colorTransform, __renderData.red, __renderData.green, __renderData.blue, __renderData.alpha); - - drawLetter(camera); - frameOffset.y -= offsetY; - frameOffset.x -= offsetX; - } - frameOffset.x -= advance; - } - __component = null; - - setColorTransform(ogRed, ogGreen, ogBlue, ogAlpha, 0, 0, 0, 0); - frameOffset.set(ogOffX, ogOffY); - } - - function drawLetter(camera) { - _frame.prepareMatrix(_matrix, ANGLE_0, checkFlipX() != camera.flipX, checkFlipY() != camera.flipY); - - _matrix.translate(_frame.frame.width * -0.5, _frame.frame.height * -0.5); - _matrix.scale(__component.scaleX, __component.scaleY); - if(__component.shouldRotate) _matrix.rotateWithTrig(__component.cos, __component.sin); - _matrix.translate(_frame.frame.width * 0.5, _frame.frame.height * 0.5); - - _matrix.translate(-origin.x, -origin.y); - - if (frameOffsetAngle != null && frameOffsetAngle != angle) - { - var angleOff = (frameOffsetAngle - angle) * FlxAngle.TO_RAD; - var cos = Math.cos(angleOff); - var sin = Math.sin(angleOff); - // cos doesnt need to be negated - _matrix.rotateWithTrig(cos, -sin); - _matrix.translate(-frameOffset.x, -frameOffset.y); - _matrix.rotateWithTrig(cos, sin); - } - else - _matrix.translate(-frameOffset.x, -frameOffset.y); - - _matrix.scale(scale.x, scale.y); - - if (bakedRotationAngle <= 0) - { - updateTrig(); - - if (angle != 0) - _matrix.rotateWithTrig(_cosAngle, _sinAngle); - } - - getScreenPosition(_point, camera).subtractPoint(offset); - _point.add(origin.x, origin.y); - _matrix.translate(_point.x, _point.y); - - if (isPixelPerfectRender(camera)) - { - _matrix.tx = Math.floor(_matrix.tx); - _matrix.ty = Math.floor(_matrix.ty); - } - - doAdditionalMatrixStuff(_matrix, camera); - - if (layer != null) - layer.drawPixels(this, camera, _frame, framePixels, _matrix, colorTransform, blend, antialiasing, shaderEnabled ? shader : null); - else - camera.drawPixels(_frame, framePixels, _matrix, colorTransform, blend, antialiasing, shaderEnabled ? shader : null); - } - - override function updateHitbox():Void { - width = Math.abs(scale.x) * textWidth; - height = Math.abs(scale.y) * textHeight; - offset.set(-0.5 * (width - textWidth), -0.5 * (height - textHeight)); - origin.set(textWidth * 0.5 + originOffset.x, textHeight * 0.5 + originOffset.y); - } - - function recalcSizes():Void { - __queueResize = false; - var curLine = 0; - var daText = switch (forceCase) { - case UPPER: text.toUpperCase(); - case LOWER: text.toLowerCase(); - case NONE: text; - } - @:bypassAccessor textWidth = 0; - textHeight = lineGap; - __laneWidths = [0]; - for (i in 0...daText.length) { - var letter = daText.charAt(i); - if (letter == "\n") { - textHeight += lineGap; - __laneWidths.push(0); - curLine++; - continue; - } - - var data = getData(letter); - __laneWidths[curLine] += (data != null) ? getAdvance(letter, getLetterAnim(letter, data, data.components[0], 0), data) : defaultAdvance; - @:bypassAccessor textWidth = Math.max(textWidth, __laneWidths[curLine]); - } - - origin.set(textWidth * 0.5 + originOffset.x, textHeight * 0.5 + originOffset.y); - } - - function getAdvance(letter:String, anim:FlxAnimation, data:AlphabetLetterData):Float { - if (anim == null) - return defaultAdvance; - - if (data.advanceEmpty && !data.isDefault) { - data.advanceEmpty = false; - data.advance = frames.frames[anim.frames[0]].sourceSize.x; - } - return (data.isDefault) ? frames.frames[anim.frames[0]].sourceSize.x : data.advance; - } - - function getData(char:String):AlphabetLetterData { - if (failedLetters.contains(char)) return null; - for (i in 0...3) { // this feels wrong - if (loaded[i].contains(char)) - return defaults[i]; - } - - var data:AlphabetLetterData = null; - if (letterData.exists(char)) - data = letterData.get(char); - - if (data == null) { - var charCode:Int = char.charCodeAt(0); - if (charCode >= 'A'.code && charCode <= 'Z'.code && defaults[CaseMode.UPPER] != null) - data = defaults[CaseMode.UPPER]; - else if (charCode >= 'a'.code && charCode <= 'z'.code && defaults[CaseMode.LOWER] != null) - data = defaults[CaseMode.LOWER]; - else - data = defaults[CaseMode.NONE]; - } - - if(data == null) { - failedLetters.push(char); - return null; - } else if (data.isDefault) - loaded[defaultsIndexOf(data)].push(char); - return data; - } - - final function defaultsIndexOf(data:AlphabetLetterData):Int { - //while(i < defaults.length) { - for(i in 0...3) { - if(defaults[i] == data) - return i; - } - return -1; - } - - function getLetterAnim(char:String, data:AlphabetLetterData, component:AlphabetComponent, index:Int):FlxAnimation { - if (data == null) return null; - var name = char + Std.string(index); - if (animation.exists(name)) return animation.getByName(name); - - var anim = (data.isDefault) ? - component.anim.replace("LETTER", char) : - component.anim; - animation.addByPrefix(name, anim, fps); - if (!animation.exists(name)) { - failedLetters.push(char); - return null; - } - return animation.getByName(name); - } - - function checkNode(node:Xml):Void { - switch (node.nodeName) { - case "spritesheet": - if (frames == null) - frames = Paths.getFrames(node.firstChild().nodeValue); - else { - for (frame in Paths.getFrames(node.firstChild().nodeValue).frames) - frames.pushFrame(frame); - } - case "defaultAnim": - var idx = ["UPPER", "LOWER"].indexOf(node.get("casing").toUpperCase()) + 1; - - var rad:Float = Std.parseFloat(node.get("angle")).getDefaultFloat(0.0) * FlxAngle.TO_RAD; - var angleCos = Math.cos(rad); - var angleSin = Math.sin(rad); - - var res:AlphabetLetterData = { - isDefault: true, - advance: 0.0, - advanceEmpty: true, - components: [{ - anim: node.firstChild().nodeValue, - - x: 0.0, - y: 0.0, - scaleX: Std.parseFloat(node.get("scaleX")).getDefaultFloat(1.0), - scaleY: Std.parseFloat(node.get("scaleY")).getDefaultFloat(1.0), - - shouldRotate: rad != 0, - cos: angleCos, - sin: angleSin, - - hasColorMode: false, - colorMode: 0 - }] - } - - defaults[idx] = res; - case "composite": - if(!node.exists("char")) { - Logs.error(" must have a char attribute", "Alphabet"); - return; - } - var char = node.get("char"); - var advance:Float = Std.parseFloat(node.get("advance")); - var components:Array = []; - for (component in node.elementsNamed("component")) { - if(!component.exists("anim")) { - Logs.error(" must have a anim attribute", "Alphabet"); - return; - } - - var rad:Float = Std.parseFloat(component.get("angle")).getDefaultFloat(0.0) * FlxAngle.TO_RAD; - var angleCos = Math.cos(rad); - var angleSin = Math.sin(rad); - - var xOff:Float = -Std.parseFloat(component.get("x")).getDefaultFloat(0.0); - var yOff:Float = Std.parseFloat(component.get("y")).getDefaultFloat(0.0); - - var colorMode = ["tint", "offsets", "none"].indexOf(component.get("colorMode")); - - components.push({ - anim: component.get("anim"), - - x: xOff, - y: yOff, - scaleX: Std.parseFloat(component.get("scaleX")).getDefaultFloat(1.0), - scaleY: Std.parseFloat(component.get("scaleY")).getDefaultFloat(1.0), - - shouldRotate: rad != 0, - cos: angleCos, - sin: angleSin, - - hasColorMode: colorMode >= 0, - colorMode: colorMode - }); - } - letterData.set(char, { - isDefault: false, - advance: advance, - advanceEmpty: Math.isNaN(advance), - components: components - }); - case "anim": - if(!node.exists("char")) { - Logs.error(" must have a char attribute", "Alphabet"); - return; - } - var char = node.get("char"); - - var rad:Float = Std.parseFloat(node.get("angle")).getDefaultFloat(0.0) * FlxAngle.TO_RAD; - var angleCos = Math.cos(rad); - var angleSin = Math.sin(rad); - - var xOff:Float = -Std.parseFloat(node.get("x")).getDefaultFloat(0.0); - var yOff:Float = Std.parseFloat(node.get("y")).getDefaultFloat(0.0); - var advance:Float = Std.parseFloat(node.get("advance")); - - var colorMode = ["tint", "offsets", "none"].indexOf(node.get("colorMode")); - - letterData.set(char, { - isDefault: false, - advance: advance, - advanceEmpty: Math.isNaN(advance), - components: [{ - anim: node.firstChild().nodeValue, - - x: xOff, - y: yOff, - scaleX: Std.parseFloat(node.get("scaleX")).getDefaultFloat(1.0), - scaleY: Std.parseFloat(node.get("scaleY")).getDefaultFloat(1.0), - - shouldRotate: rad != 0, - cos: angleCos, - sin: angleSin, - - hasColorMode: colorMode >= 0, - colorMode: colorMode - }] - }); - case "languageSection": // used to only parse characters if a specific language is selected - if(!node.exists("langs")) { - Logs.error(" must have a langs attribute", "Alphabet"); - return; - } - var langs = [for (lang in node.get("langs").split(",")) lang.trim()]; - // maybe add a way to toggle this off? like force it to add all - if (langs.contains(Options.language)) { - for (langNode in node.elements()) - checkNode(langNode); - } - } - } - - function loadFont(value:String):Void { - __queueResize = true; - - var xml:Xml = Xml.parse(Assets.getText(Paths.xml("alphabet/" + value))).firstElement(); - - // reset old values - letterData = new Map(); - defaults = { - var v = new Vector(3); - v[0] = null; - v[1] = null; - v[2] = null; - v; - } - loaded = { - var v = new Vector(3); - v[0] = []; - v[1] = []; - v[2] = []; - v; - } - failedLetters = []; - - defaultAdvance = Std.parseFloat(xml.get("advance")).getDefaultFloat(40.0); - lineGap = Std.parseFloat(xml.get("lineGap")).getDefaultFloat(75.0); - fps = Std.parseFloat(xml.get("fps")).getDefaultFloat(24.0); - forceCase = xml.get("forceCasing").getDefault("none").toLowerCase(); - colorMode = (["offsets", "none"].indexOf(xml.get("colorMode")) + 1); - - frames = null; - - for (node in xml.elements()) - checkNode(node); - } - - override function destroy():Void { - originOffset = FlxDestroyUtil.destroy(originOffset); - failedLetters = []; - super.destroy(); - } - - function get_textWidth():Float { - if (__queueResize) - recalcSizes(); - return textWidth; - } - function set_textWidth(value:Float):Float { - if(!__queueResize) - __queueResize = __forceWidth != value; - return __forceWidth = value; - } - - function get_textHeight():Float { - if (__queueResize) - recalcSizes(); - return textHeight; - } - - function set_text(value:String):String { - if(!__queueResize) - __queueResize = text != value; - return text = value; - } - - function set_font(value:String):String { - if (font != value) { - loadFont(font = value); - } - return value; - } -} \ No newline at end of file diff --git a/source/funkin/menus/ui/effects/RegionEffect.hx b/source/funkin/menus/ui/effects/RegionEffect.hx index 1eac1025..7f99b166 100644 --- a/source/funkin/menus/ui/effects/RegionEffect.hx +++ b/source/funkin/menus/ui/effects/RegionEffect.hx @@ -3,7 +3,7 @@ package funkin.menus.ui.effects; import flixel.util.FlxColor; class AlphabetRenderData { - public var parent:NewAlphabet; + public var parent:Alphabet; public var letter:String; public var offsetX:Float = 0; public var offsetY:Float = 0; @@ -13,11 +13,11 @@ class AlphabetRenderData { public var blue:Float = 0; public var alpha:Float = 1; - public function new(parent:NewAlphabet) { + public function new(parent:Alphabet) { this.parent = parent; } - public function reset(parent:NewAlphabet, red:Float, green:Float, blue:Float, alpha:Float, letter:String) { + public function reset(parent:Alphabet, red:Float, green:Float, blue:Float, alpha:Float, letter:String) { this.parent = parent; this.letter = letter; this.offsetX = 0; diff --git a/source/funkin/options/keybinds/KeybindSetting.hx b/source/funkin/options/keybinds/KeybindSetting.hx index 191c3233..c793e35a 100644 --- a/source/funkin/options/keybinds/KeybindSetting.hx +++ b/source/funkin/options/keybinds/KeybindSetting.hx @@ -20,7 +20,7 @@ class KeybindSetting extends FlxTypedSpriteGroup { public function new(x:Float, y:Float, name:String, value:String, ?sparrowIcon:String, ?sparrowAnim:String) { super(); this.value = value; - title = new Alphabet(0, 0, name, true); + title = new Alphabet(0, 0, name, "bold"); add(title); var controlArrayP1:Array = Reflect.field(Options, 'P1_${value}'); @@ -31,12 +31,13 @@ class KeybindSetting extends FlxTypedSpriteGroup { for(i in 1...3) { var b = null; + var bx = FlxG.width * (0.25 * (i+1)) - x; if (i == 1) - b = bind1 = new Alphabet(0, 0, "", false); + b = bind1 = new Alphabet(bx, 0, "", "normal"); else - b = bind2 = new Alphabet(0, 0, "", false); + b = bind2 = new Alphabet(bx, 0, "", "normal"); - b.setPosition(FlxG.width * (0.25 * (i+1)) - x, -60); + //b.setPosition(FlxG.width * (0.25 * (i+1)) - x, -60); add(b); } updateText(); diff --git a/source/funkin/options/keybinds/KeybindsOptions.hx b/source/funkin/options/keybinds/KeybindsOptions.hx index e8a0d95e..56e8f0f5 100644 --- a/source/funkin/options/keybinds/KeybindsOptions.hx +++ b/source/funkin/options/keybinds/KeybindsOptions.hx @@ -148,7 +148,7 @@ class KeybindsOptions extends MusicBeatSubstate { var k:Int = 0; for(category in categories) { k++; - var title = new Alphabet(0, k * 75, category.name, true); + var title = new Alphabet(0, k * 75, category.name, "bold"); title.screenCenter(X); add(title); diff --git a/source/funkin/options/type/ArrayOption.hx b/source/funkin/options/type/ArrayOption.hx index 5a1496ec..cede15dc 100644 --- a/source/funkin/options/type/ArrayOption.hx +++ b/source/funkin/options/type/ArrayOption.hx @@ -37,8 +37,8 @@ class ArrayOption extends OptionType { this.optionName = optionName; - add(__text = new Alphabet(100, 20, text, true)); - add(__selectiontext = new Alphabet(__text.width + 120, -30, formatTextOption(), false)); + add(__text = new Alphabet(100, 20, text, "bold")); + add(__selectiontext = new Alphabet(__text.width + 120, 20, formatTextOption(), "normal")); rawText = text; } diff --git a/source/funkin/options/type/NumOption.hx b/source/funkin/options/type/NumOption.hx index 17c7ff80..10608350 100644 --- a/source/funkin/options/type/NumOption.hx +++ b/source/funkin/options/type/NumOption.hx @@ -39,8 +39,8 @@ class NumOption extends OptionType { this.changeVal = changeVal; this.optionName = optionName; - add(__text = new Alphabet(100, 20, text, true)); - add(__number = new Alphabet(__text.width + 120, -30, ': $currentSelection', false)); + add(__text = new Alphabet(100, 20, text, "bold")); + add(__number = new Alphabet(__text.width + 120, 20, ': $currentSelection', "normal")); rawText = text; } diff --git a/source/funkin/options/type/TextOption.hx b/source/funkin/options/type/TextOption.hx index b16d285d..8f7ec08d 100644 --- a/source/funkin/options/type/TextOption.hx +++ b/source/funkin/options/type/TextOption.hx @@ -20,7 +20,7 @@ class TextOption extends OptionType { public function new(text:String, desc:String, ?suffix:String = "", ?selectCallback:Void->Void = null) { super(desc); this.selectCallback = selectCallback; - add(__text = new Alphabet(100, 20, text, true)); + add(__text = new Alphabet(100, 20, text, "bold")); this.suffix = suffix; rawText = text; }