From 37b64d0763aa8d96b62776cac1622060e05d02c9 Mon Sep 17 00:00:00 2001 From: pokepetter Date: Thu, 3 Aug 2023 03:44:32 +0200 Subject: [PATCH 01/16] cmyk swap. --- cmyk_swap/cmyk_swap.html | 173 ++++ cmyk_swap/cmyk_swap_banner.png | Bin 0 -> 37982 bytes cmyk_swap/cmyk_swap_banner.psd | Bin 0 -> 580203 bytes cmyk_swap/cmyk_swap_screenshot.png | Bin 0 -> 30184 bytes cmyk_swap/cmyk_swap_screenshot_2.png | Bin 0 -> 34421 bytes cmyk_swap/cmyk_swap_screenshot_3.png | Bin 0 -> 30238 bytes cmyk_swap/icon.png | Bin 0 -> 34484 bytes cmyk_swap/impact_effect.gif | Bin 0 -> 4521 bytes cmyk_swap/sunsnake_compiler.js | 486 +++++++++ cmyk_swap/taptapir.js | 1355 ++++++++++++++++++++++++++ 10 files changed, 2014 insertions(+) create mode 100644 cmyk_swap/cmyk_swap.html create mode 100644 cmyk_swap/cmyk_swap_banner.png create mode 100644 cmyk_swap/cmyk_swap_banner.psd create mode 100644 cmyk_swap/cmyk_swap_screenshot.png create mode 100644 cmyk_swap/cmyk_swap_screenshot_2.png create mode 100644 cmyk_swap/cmyk_swap_screenshot_3.png create mode 100644 cmyk_swap/icon.png create mode 100644 cmyk_swap/impact_effect.gif create mode 100644 cmyk_swap/sunsnake_compiler.js create mode 100644 cmyk_swap/taptapir.js diff --git a/cmyk_swap/cmyk_swap.html b/cmyk_swap/cmyk_swap.html new file mode 100644 index 0000000..6d941cb --- /dev/null +++ b/cmyk_swap/cmyk_swap.html @@ -0,0 +1,173 @@ + +CMYK Swap + + + + + diff --git a/cmyk_swap/cmyk_swap_banner.png b/cmyk_swap/cmyk_swap_banner.png new file mode 100644 index 0000000000000000000000000000000000000000..21bfc2d010bb176b7707a4fec247f80a89b3bc4d GIT binary patch literal 37982 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%0AjK}fhUhmVMuyxXa_K;TGy06R0B2!is7dC2 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%0AP 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 literal 0 HcmV?d00001 diff --git a/cmyk_swap/cmyk_swap_banner.psd b/cmyk_swap/cmyk_swap_banner.psd new file mode 100644 index 0000000000000000000000000000000000000000..544ff1f88f707b5a88a658e2ba10be3387a615d5 GIT binary patch literal 580203 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%0ArLK;?iH)<1%oX7`U+SvsQg6`mi+5k$*UdSz zD6Ec))Kvy-_o%T2+^{NIuENHpUY|T=URs`wh2@}7ncyZ!knwd~T^)>gu#H~dzTCyY z)z!rXH0^x8{3)eVdbF)8h=Ys>eph3Rx$3&s?Z5f&U+!QaaCuIJ*E>8F1aJ#+BBHAAVU1@@0Pw;S-+af^3$jo%REy zt!3@xROZYJefNOUd(qVy__-2(`_%YJNe%@Of6E?GI{ERCJ6iHxmY=iXJ;c+qD|6!2 zzj>cBl${mO?4Ym&>g;5|4l>rK00b8gQV6~$qy@RUSn=SL2D5TUo>RM@` z(t99$x|~)D9Hjz1nxm5ru++AZ+VfgG1D3a&I64APVxIzamU;qmmn)WjSs`5}cmO)m z9G#tbz>#Mqwc~Xu&7q7w`Z_pb(KO40YFaXS)OnRd>A&?L(p{kZ0F4K7EuEbmvym3B zwvEgdb<3uVi(1>1=L!^+3G@jt&dxMb3oDs5>WZ2A+S*}NfwC&5PK2ql0)kw~J;T(= z(H?7RUR!2`x`6bemNqJ?9#R9f7SYtv4XX+oDDuT}g*xcuV0Q=Unp@VcZACM+20|KD ztZF4pooJ>lZEO`xA41_{Re`4?VQOXxTsvb;TUaZps+p+^*pWjWtZ56Zfdd29L&(1Y z4JvT8g`-}YS_BH^liMhFj1<@9>#b{xB#mH8ot%E($mR15#z2^zbAJp%GfPl_DTGSc(%J|x2+eB)W>^Vqi7IUEu(rxe<>cY_SqdQ9J@mFk~&k-p(4-H8KUpe%X{+Q8Nq3 z7)#0L%QT^j^|iO-V;H=N8Z}`Il$bG75KwGK)QwD)v4UJxV_TxJ39IpUGqxlpM+`!l zF<38VY^Y#tu0)9~qB4zb87P#<)fw{)O=PBsVC)Tyv8gewcx8-1A(}C(hZC6ak7i8t z(7@OVYO+R+={lzw3eebV5?%D%1Eo83Q@T7`IqtkWoV@ zn0}+Cg{O`&)I81RMh_lp%2;CsAywM+J8K?m$8<&2P(eWBTBNP$D9xeFK6|m16!J#e z`ASum*J+g+Vx-g{!+=kZXN21!-%r5%MdRw5PCaNkaqRGA zUhpR{KW1Mu=Fs3fe*oqm8(Jtea}QypCgbaqkqY!shB-(}*Tht2#KetzZalR@j*4UsWflPv31bOLmts zS!t%+xheB^u(P!`x`%XX83TKnxt2wy^Z{jFHpz^%)Kzw~j0D?ekM2>X@BOh#@}3rp zFeX{RqZnJ8+IkO=k&ZFs0R}VX=Faf)~XzPPWQ^=gmQs2VD+#>8`eyQvgWg{zjbD$e2 zV}bhx#ppuQ*v*I*4w#Q`|$_1mdVZ~!itZG}Bn;7cr>D8(w)h*PK z>KfM4GcYp7WocniW~pakZf4!2=b*u|LA>zr4+HJO!v}P&XJKq&Cg;oa#4-(|bTiff zt*vUe&b(J3eMMQzK0jF57TA++jqP2}a1$Qd-;C(h_ttHBr#m>+2iPM389!3)cp@S*TATtZ89123Cy%!v_x@GzjO> zHavV_U?UBA#7f#?C7Egk;8|i7jE#&84W$Of`ceZEP!hC+Cc*+#s4cZJsSPYeWJWT>uLe>>nUMj;6ABupNHUlu z8d*Vxpl%UVSt>io56KYLRe>pKr`46MO@l*Q7F~qKAWmlR6~K`hS`%I>*~VicJiDe# zpQ)*!EGb6yH2!EFsy->~ul0gQJ7g zQP;u29uazpa#aZUWb9BUo%3jnbN?}eiSI8c{{`!XTEYNCw6h0H=6ScGjL@&(< z7%69wFp~=C6<--FoD;nO9EW%IG5|^H^c8dgwV2lr9(CA|j=(QkU1xQt)O#S$<=F zKqBL%D6HtP!SbdFzk*kRxA0marB!-u#5eHc6cdrEd7$;i4h-xvDR+Ghd6MxFxJ?Lb zbb=IoDA>#LS?-omb@yO->BO<46|(i!drIrt0^e`oJo-umBH}fXx|X}VbuI@V1XlY7 zP?z!ZuowY+LClYDf}J4div}MN7BP#Y^XmNyTgRu?l@ZrY2@wIFnQxF=tZg|YmkIt9 zmVh(r9dS(I!l%E}j;SJ|PZbU&ENc!S0{?{f?Uxkq7_h}4(7sKXT=`P)XB7*c^WVX{ zSg;**F9zHEZdVf)I1dD3hln6xSstbRdbB%(6zy1-LTP^Ge{n4WR4)r}3S{u!3gW(! zs!%h(6PB`osHg4fvHI&1O8dny0pn+)edA>y1!v@fk{hvvNT`Vi3iHoksoPx#_f+X3 z0j@mQJw*%n25O&TS^(_9EM>{7bVXsti&@HM=fPi8HXb)Cw4+K&ET9DH@_yk5!87oY zVxQ_amcA;d6w4TD6*N(qW%nt){7wqaGQ#VV|gaL3NxowP>NDex`tjg zEO8~|fi~4TmqFxdjUt(;No_0=&n%TZNXjCyURAr?u*6>(R9#$xuTut3Tv>@Yj~5X( zEQM2ymPqFkDm|GVVu>;^)tdR^R3tjjzeX8!U80TBNdKReS5O z&{Y5|T|=Dzqzv{E-vZ8ns!$jW!DP`A3x)L@B{z>$u$tskArzLYs`TZl3he|!?=y2u zb)k5MN`%tOf!OasgR3l*)~#w!pQ_N9EJ|O#G*>aBc(sg{NiSE@jyjkmsLI5uRrJ>> zt#koBmbqG9H4lJH5o?gjGHIi=x3j?DR$MhylUa?AP+6vnGsrX&$-PAaVn!>#Bo(ef zMkroeqsQx#F_|II1XX5LQ7Ry;$@{O=wNM^xa%r+Flv;`6c?LW z1wXJ$kZZ<+rCe15UPH30AXF2q<|o90*Rail^L`rT$^?U*$OS7qNTmXG!PPk^H3)`s zqgx!+9MhG86-+D{cMG(Kp`u{Wuo?%Zy5K0e!Te*vRrzmd!E}I+3xT>y!FIOhq>L;2 zR5a(fCW7fs=Z8wJ%-_hgZEThq$@9Uy+RM8#4PdL~ndyKu~gA!IS2Q|~Fv=?V7fnoI?YgP#y)P$9AuxnYGO_~2e zhG8%&t=O}&%wY^;qnCqB^@&eZ-Z-;k#P4%$VxIV1hNnb4k$5Hu+mFW&Y4ZCI7BUvnWhVKm}qei&~G6B@dLt zCC9`qs7`GDWvBdYSc_i^tMh5Xw=lEAY=~HJVOZOZeEW#9IOC1I>9kiIj|i1#UD!7d zvtxoaIH8Snz&CHj)4{P5#E&nxbfxLg5Ax?{!&=@Zc&7nJ>4kxRUtGXFSODDx?=)c{m<-OB z+zM)2+J)p%RypoCuA>6JbjFqe6!vl`=*R$YP-B-n_JJ2D`@jhY;`LWvfslgGe`{#L z17V@yJ?!7u%k1Mw6Mg}a*mp>lS+LzfX_z~WeDRvHDG=lE0BrRN`;!|WUK?Zs3~&Pr z21v&j7(!;H`o(%ueOm}|z!3)EL}oe)`J9Gb;9)sH`;X&0et3vNE-Y;0oh%2LT_|`5 zmQ=uaGU-+dhi{mhwm4CePub?LB@q!MV1x{A$Se%^ns`kIXPJ#tAX&Duq!m_#4cIZ! z5;#zStoN{M2*85PGs^<%?Y}3~;UTywO8IZW2T}@Qz3fJv5-@5u^R!Xp!lq*vJf?r3 z>|YFaB|$4V_t4IiYlr=z|^Go?z=^l(}}gg5Kut^I2agk zD=N2JYz7zyT!u;@+Vbnv5eo4}l+WPwumQKK0|X~vt7rY;^i-aO;olaR@tE;m@f&!2 zgPlrJFJ9BSv}W%Wk zBkw+;%u9|1D9i%8Q>4T#gZ(5`MOgf!AQKt{ZP!+tKR&oxA+R-hB6ZL0l^h?Rc9&*?X0_-Q%JO!R)XI{HYQrNdvx~2*1l03^?QQy&qU2^3D9DoD0n^XmC z#w3_T#>CQC;QY!n%rtMr|Aw{Ka{aVNHAPaE7su&y3A54#2_jIWiKTV?n}iaG(or0-4NWALd1r zDU|Z{Xw&HW3O33e;mcidQYM!eOX6YG9ANVOAvRBmuHbCs&zIe&bW3BD;#@AWd91Jx zunf9AY+ghW9CS*@`j9XqHrPjIXM%&D6q%$QwR9$7(ht?wX&LN9{5+J-BNU}_9)D1z z4lY1?718HCxQ(w0X`A6gJ9UZ8xZ0+~a>$+%&RA0%%cKYhGLi=b5&M%0u-jazcIp5k zZrOJ!ec1+_IhaI~pdA@$lxR1-Qh*E_-&1wG&l6CW&WTGL?0Edr9)?kL%UBLU3~Vkd z?uMkZLI=hu1sLT+fRQdK8;G@`V^idLkinrIGFKhg3D>R=_DtSm#vIsC=~k5vV$cw1 zQ)R@E+|FE_*8*E<44$mB8Mp$OqgNkYDsH~SUL@RVNL|rD|+u@qG1(LN{?Ymgf+lb z=wvo!G=*s-=;097kM-umPEO-*%G*O}F!2s)2>5Y%0}(`YpN&ItFnqKJoOG?Ub_{-s zkrs~ksWP+)gC}3nJOK)%$pdl8JV!}CywlY9oAORmtY3*d`lyVA36-ko=IR1(T8oX~j8Ky;GFhLe%_A56w^2c==7Dy>y1 zry>H2YFGeK0w!&^sBmq^^B%0kCnoF)@BXIOKS5=Cz`04CLEM9qh0I6IB)lq;O(`qKL@0TvOOT%dVKw zWt1lT$b^0>D}Zy<0|THba^M*g-Gwb*u7JJWajXDYS77JZ3I*sa!IoI80KIs@mMC5f z{3v*-QUb&V?Pvv5*4pSL;>S!77;X+&1z_$@6i{(bD=UDrL=;fj>Pw2?Iq=IP3aGmG zi2|Bp3etqH7|}#ids`4~Ize?qmrRa6of}5B@;)3~{D&*bg^VzAl^qIn#w(G_Lc~-% ze8`3(Mgg|HnW}CVCV6J%DkEsy9q&Z0uskdyksB2x+tE3$h|LY90)Yu9h&IEb6?@BY z6;2Z#Ve+glTZ3N$pVOs+_IJsqp^-NT8f1f6(D`Oo=@re_8mMflvSEFQlypUpfoi_- z?qQtoYGl)Of|X5(|EX-q3N4%QeZY2Iww9}6PGs9vBU{A}L+2Z67uz1H~geb{BTp z-usk?4oVm7g%C9{Bz8naO_bORn7p=NTs0c=+OTV|prQ%3XzU>|Dq>`iy|4Ek(#twFG!~a)0BCukj#|^r)`#mko%enay)K2F4e^8L@loTFWa6=P5l}Q89@E2&&2<7mnu=`Uvd!f6WodUqhjiVEUY7?J6 zy&cu^U+S?Y^^jj(Sv_~DS!CSIU4=uh^jL%wX*bE$?u9Yc?hb#>381E`qW0cpX3^fs zGCFDxXd3~i2gs21K~4Dd{MhsW0l|?Pz@_j-v8C`aAgp*jB09mpL|2-{9XAv^lv4*) z^88hAsDuFYb4B^2tw;#?bTo(faafmwM>zDNaS>)VvCMhu8ae&pf8E9ppQZ22=gLb zTYCJntJ|n(KeF?iTZYBQw4>mQqar;r7v)bBtHU~O#LG(iPFv92wb3l^*!bGHB{7kD z8uWxw-sp2I2mvKoRbSyCcJXwPmQxP&O+t;&dJ7^ z6{k<=Ti{vUPf`3<3%Daz$F=(UQKwV+yupo>pL9^ABcQJ)LKKB$h9gqQIu|=D@4+tM zU3riBxddnIJNeK-DFKdP9|9-{xN?ELBnxnt#q$-2efzLnM(Ouhx>)H2xTS|lQ6VOabF$lYjBMfR?^HasuBAX>#2TO!uJmz8Q%s3_DR3}jdAxAYMl z1u{zRx*dw5rck7R$WBV5+CLgzi(8V-p&j9eSS34FFF~kCKl2Z?fu+F6FC&T-QQfa@ zC#6d6sCkE_mLqS1JD&6^EHJ=(KrL3rgv}k@{)to!M*^`Zy5JCLLL!O)BfJiGfD4hr z@rb2ZY)qDN7yv{S@s~m=8Ix6UH(HUb(D>jH6dE^1W{fznAJl;*nmsdj?kK52kJW?wKP<*K{6IB4Ql}gH~?C} z0Z@i^pq?X!Od~M@Qdtq`KJbFM-)^En_qql592=IG=G{_3dwgMRR#Tlk<_wxHVtN5; z+R37z2DykM6kCB{5eH7rN)ScqJ6&;qi)-jkgfqmYeO!#2C?{kVJz-Hbf704fyEv`qf=;z5bcSZR+@g}F9WSu zm(tJ~m*!!CUO+g$8zcvjQXkPz6apmKjhq*`JW;gGIixX~#MhE=BShdMQP>4!nBhaN zc;V3IYJ$?~Nc_WVm87378N4Xc* z1FYEcsTZLmqXpwaD|ix&ibB>7!@^c?0lvY3-BhU+qR>rDli-2Ze6(kwnbrL2IT%cW z`S%Id>;Zg2_=c<*;UH#+B-9U9yf8Euap~UeCo7#Pj!Y{HX=a4-MUWkXLegA__;a+f z5Z%W8rZkIyi#ciRJf55(5^iE4M$mu4C&pK1R@X~oVP7i3?gphaO+QjBE>O5b9ONr+} zXo5I@-@7_LGqYOG#t>pnB1o1cO+-<+BQ7n78!{+NY}6z4Ds*tfp=Tfty>qaoL_{hf zh9pHup#zvCz@04Mb0LibQ3gMoao;DcU^`?u*0jpLgToZ@e}9ws|)k{Ms8wUO(@4TIh&z z0%N_tJSV?8H@mDnI}g7VmuL5>&dV;U%+9GshJ1BSHf}Q=qD8WdM+Dtkpwzh2e*3Z6 zr{y@(nOC3g@YAgHOc}-w1p=SmGG_dh7xbHQ#leSOcENy2mmN9kvWxXIE)iTL!1~KuKn4ZAnpORbg>$abX31t0^fguP!XADJ?9kE%4W%>*YkD zgfJ)5hx+?XY(6S;KdEDZ*=OxwOUsC*C2a`EotQo}3cd^9NvDYQG7??|w?agj1NGt6 z2!hY3qJ$c?x3Mn1n~rGGeLtD{FJ5`kN_82vl37;_V~S<>@BB}0HVrbpNVMqp(R?%O z9v~^Qy>qh%o)e5&1?27e&0YT@-M);>tn7a06}jb_X$r#r#h5dp2 zU`i@l>-%P&@k2NtcB-t9`Fjit-^QaMbJpxm9E=?y+?sk8Y6Xbtjz;P# zd;C2}fVCkMYkDUV^B2KSQj-bBn*C2R_dHjgvJiT!?hoHR8ZxI|6b*mtlv&L(uXDt$ zEtxaNL(x;F{Z04PltN;#7>Sv4Kmno>GWbyT!avQtOL>U0S3_SGB5%=s69#r8vTR_^ z9Q>t2W=(Y+>3N;&rcvrS;Q+`Sc_?It>bvmeOe7K4;iR)8yb!8$#s(djUf65;R~&Y$ zVfrH{+_)R=;Z;A~Yi1obblCW-KiOmEUE)4tKgXR7K#j+AAkrMseY2ka3eDM}YXQi0 zO)3F3@i2cGfXZ{km;Hgv;Dc!98+4?VuK_^W(W`2k-!wJ2PX8E0~04w%xyC(e^ayLt^8$?$>&{jLgmMi`e~*a zIp^5OFAk2Fy;|=3)-=mzpf6wdf7ov3Uu<7M^Z2)nHES#+T{+zitd@<%x7GxVl@Y*Z z9gB}oz7D`@N&qZW7*fFaDj!#91Z-p3%(2&+reT`hl{c9e4(~A6)x2O{bU1*$u1%4^ zR%%ZZFl%Cpn~vwzuxh4>^3-!qVAWNLfyucHV3^71#SHF6$2w45HFuAhF|AMWdc!Q- zx?<75%gxt|-Zkg;+GAdR3|Z_qUr1mZwMPK#qL_>h3)t*&05<)9yn#7`xx!+zkHg2$ zngL+d#Q+v8V2f#3W_pY5nZ}9L_=tY^^w6QHHa=niK0fFGG#(D&%9)!+a^8cd}`BIaS~U!?mU7=y1|a(T)k9{2%1f7-7g0&6-ZMG^WTk%)hQysZM)Hqu* z37^0E83?NAL*uMhl5sYl{YT<&6D2LHbl+xLi=KQoWpSIymAw8Hh%4vCDA}<7h#l_C zV4xyDdt+8subjfFdU;W>8Vd)F_G6Eakt`>aE1)Yz`&py$`NK|tWHH*SlZ^HSkj%VW zRoQE_OkZ9Noqp*Bp*6biPHJcBMX9bschbB+>2ipzEu$Gw5;tblD%Yreti+c2S8AD= z&{iH^*Xn`h+s7R{?UzG-KK;m}r(JU3l<5-=nSRCKDbr6FbJe9ICw~yT87#w={wsGJ zlC2PEet5#6(|$Sl=hIIZJ?#>F|Kt%@UN!ji=_d}m{ECq$zVPbb^k7+5b+`(zG*wiE zD=X@P6_w%YirSF)EnMbz3=j7rP4MZ6iz~Ep-*U|l`0|8G7f*rt3s0K%^}C~AS$OUR z-@Je5oP}4My704+&n=ws<1gore|+IxZgbZBeX&^*Im2U{MLSna`ug3GuPmH#+&Ax! zn6vQCqd)s{wD(}3wxIY zvwQPYlADa!ztu|pFNMFR7bwtk9Vg70(t8umN!4vYw`V{cIx4}wLl;e3r%T#n8a2vU z7esD_OSC@zGDq9@;h$8%7jegNxa=u;OXd%#Xc+p=(YSpw5{--7VLBVvfpor4u6;ol zLHV^}Mu!_)Rax~n+>e!ZoyCz^IxSePl}GyqJC2Q-orN8UXS7oSRL%MLMhJKgl;o}) z0G9&2SOMh(Hfj`{5SJ?+6n0CoebNa)1&eVXUr~M%?r4jR*Xj|_b$V~)Lz5o#Lyvrl zrd5Kw2VLEAY@BqUvFfLB;aOhs)6crrm?gU&(uo?}>9rNs@Nw*cjq#_$} z3W*&rl)-M@Mbvol)X~+v+HN;X*>nJRMH=(-qPe?O*isa5yKWRvpBOVxU4p&o>Ndsf zzFVZ#Rj^VO6Ep93cV2gHw~7c_aWB4}5~qno0H6!Z=t*6-CGmdT3@pwthlrfY$lV^M z_D&Fg!|j`U)G15wTI)?`*R1x**zK8Ms2Hg`zGf7)B6Md^-k5sXV<0b1h}F`t_sj{wLE;P`Et1_K*G7WPFs&=Rcy z=R0l;+0n#56I(DX3{U96Lni*9|M3$KIB4Pz`yDrN_~?np_y57f(IY1QXwcCU#~v_o z;vjql*BU-vm2ohl>Rl>MS(^{ zC`BCq3Eg+!)9~gG+uW3Dc~Zjl)Qfd}Do#Xn#|e`R== zmWc%>cO16xp3;rDf~ubr-S4~ddPp1d3SO`l-JD#S+)Z~uJz3@E?J#VHxJYONXC#QM z7AW@Ma}ag-o)j(V5|zY9*n~TN6%!E2P7rnBG>97YB;LMGL#q~OmE0$2LWWEuVgYS( zr22-Bgq;3|rr1|fC6^p;7od@A*JKx^XE!+lm5?OcJSwBYyObt(KLJe++dMWki^U1S zYU{m)uffH>NNq&7NOSSS=y4M`(a^Rvp_7d#1?^&f|3RAT(qBW9(a(GLy|t#sEL%cI z(hZo%;AzE7K8_O!Xzh7(wFFH24Kx_@s%uWlyF}U*641>NkCGjE@ZLQw5ner^t}7uT z0hydzgxUdO_DAvLHSBcPEU0m4NBCQre(nFYDA#tR9CuDwlm6%FmyRj^%2 z7Wv(@Rv?=-G1*&s!mqy#h8X+7s7*MeDh8?!5-!8)N_aXXZpjhIb=*>a074M{zJvSH zuIHwMiUff}URo<0`^v~ho37=4#dS$6CN=q*c_)r%YJv*}XfoJN&|bz2wUVBxgXm5n zWlpv9z=`?VI*yz#dTc&9iIQ)`2tbulc>&eFhTv-=MQ4^0BU*Y;kHEFAf6yrd$+J(5 z-Kb+5(8^%GLaQz=7;SoFX362ojo2EBXZ`|khu?9)c81#n4^f-x9-S{?gzYQu7{Gb!Uw zE5VeB1`1|6EL|>aiTntwr~C7wGpH|pi%poEs;7m($)p1XE)~WsI&50~+7qbYt@roS z`}gnLw|{^2TR-uC^xI(z$LxY3Q()dR{iXM zR=qoT{;IPtU-j|GS65wf-iptUcy`tGKV26cM^i5qcAZ^hTbZvQ;HJP%<-khie+fJ; z3+r)HPa8O8>ZoI;PVRU1)Nw~loigyWsfQmt_1ptanmT^e)Tx7M$C7vJJuvAoTA9Q^ zXkSRqFXhIWz+Dr5C2^Em=iVMjau|hUXCxGf383iKM~uQGo}3LLWh$JV)N?XD!8Onl zk~JxF@Y;hnRlV7L6%?ABD*I1x%s8_DWI2PnC+N>$WIBTYgDZ1fXC+`=A|$D}aLF8j|tdFc?Swyu_N|fCR-oSd^&aQ}pg^JZZ7rFd&&Mv0C38-YhqQB*aMsDjly+ zA)|S3Ujz{UN^$}mh9;9NHt>0u_9$^7!`AkoO(Jaj>Ipv2C(#C7;iT)%+7x(l7^lqC zXyU`ajWZF2()RD<7RDnb=RXBX9p~`df}mFy@k9#Eb}TGDSWh1}w90 zh$9`D>%rg?x(l5*<<#~R-O6XbBf6fFad1BhGy8+}`A_J7!2q#?aGpd}+fyMw^}>uh zu#{Mi$f7;v-@wus7{NfE=E96=>`8J32QC?j>As?c;~d&)zOQq{%U|qcFv3+7i%J6K zD}s~Q+qBVmP>8rvIOCa;2n{)H8TFZ30yLDO>7vcpp~hiCuhX6%&a6_|o$jpCI7mT) zlu4Wd<%Sy(-NP|6n9LHg^Nna8C2>8Iz)68whw;!=d#)3YynmH=Vy@?RVjW4s;b|{- zapp-GPasg&D-KU0CN08~#PQrOc*FbN_>qa>2LC_Us$ zj7T~m%VkeYdO8-QZX$BWk~@7VAhL5sy%Ax}*+)d)E}avS5y~d@Wv>;?aOcIw*@$25`nbFuu>`nMWR4QJu$KYX3hS)s!e;GrG5d-;D(mTOIkDL> zyp(CBTBtK=qXoEC*13?tiN=y~i8;_E@~b@2r9nC+;Z;=t-fGt&P(hRnN&>>Mn20d% z-Z3e`20x=tc?C2Z_KlaSRalW>u5q3FVqgyRCMNTO8Rv$HyH){HWg*jAk`86nZU%}k z!Jg{?)P2@_#j&@bM-$MPsYL^pPwb&7u)EOYccHV|;{d##!*Slny;rOe%j;_b1~dgd zsWWFo-(Or;9S$WnKnXsYl=b$l(=s!1t5r=$H=haZIh>G1&83Cf1!9T*oLV^U6gVw; ze-K|8lWF0=W4{+&oDvxY^F)*_ zkSYya4>l0KtJ4NDSb?6cFxU#|(#|EfhAX3h z*u>S{8GBenM<(;{@g~*x$F}8R2jXH7cBs!>qU97gYHWlZ_La?U7gV%jooe1&GsMFl zDg_djmTa9ai~2AolXG2i1zm zU})}QE!$TvnVKl?oeg5g2(ZGY$*h;ALF_OOHqP&v2rPjqM1&Fd8;i6)MS`_TFqvr> z8}4V?h^CCIYVtud*aIV9aznUMK15_#ggN+bmpH7L|I4Bz+wa6-d*bKGCJaycOiOL% zA}zOosXH*Sxj01ADaa{;8gh+;HF%Lrfy|HA$Ha?AoHde`Z0ui>F%LsfL6a4iCQIZ~ zRho63BrKt#Qet%zrs$ddFD*Mzn$q`9M7BGAAUO4}f&O{U_}=u$q>p;P%6 zr2O~JRpwTny~)j(1@=7;X`knOJ0%KogE+3f)Yt1R_ULhSZ06lnzcejN4^L= zNGhVUl&)r_sVGuWdql%8;sfck2~tFnG){g>RvL@?m;FV8MmLoXC9`ZL`I3{A%+IyU zTAB3ZMRctwQpFLC?umLP6O2(Y!3kTb*vy0ad!aw0qps2y9N5_oeMyxn(zlOQ>Po)6 z5q<%1#95y8C53yS7~BRac8?}HqpN!tQK1+O?hop-82t)KKSvq@?gL3dSyZbkh)Kbe zsRpS?Po00^n1a-=!uEAq7_6^^HZ@L5!K#1aV-1)s|CO8@+(Ac8~3%|EwZ0_2V+8LKQ4E}5fqaktN?aMKM5UodDR)hX0Cw(2!o3H~T zkH9Gbdd$UlxCl0rw@&Q7(J2}yGwT#>(P#^TYPuQ|hg(Y7Xq2xUH0X1ktkUO%vufy;IPjzv$$xTM0d-yH1!=hXfL)Sx+y-x6|};3Ckv?8xcYS<Ax< z;*nH`gePUE@fko7u3$zmk$|2lo;WX2ac#Oi4?d8XYgqt zqH_k-V|kMBH|VcAR|2vXHH(_JB!E=r0t1o^hhNKYrt9j>210SzLylY=m41W%nj$A7 zD!ye>h!%qmhjp(t9pr6jopu5 zCG^jpgmiK5foiHacKQbWug;;ggr#e-!n1@YBd8RWCj;S zo<6=of8ELUx0ppcwWbp%1n0%NP!KHn7(b79rszE;x)c$Y(Q*9l4f-24@83dvT?@sC zEL^M=`vvK(;IX!UD`x|-@>{i(kfr!v)3}M#GfCNJitOFedE6Y)OKbb zkuqiZj0bl)3$-}_zlK01lw3UalCzg8#YB1hu7vz?TOS*W7g@MIZh zsWt`Rmz1na=XlFIhc8}UlD$$Z_T|VIryR#&2$sZ-A37b8`yrRE+tr<|2a`BGRh9y$ z-y4A9VnHh_$<17=mHIOK#62#>c96u6AGq9*dl(O0rYB|;XFxr3^bsH#GNSt^4#pJb z_Rh+TWbE)88ReP1a&r02EGubN-0Z+ok{J@v9IgmKqrj$h+2_SHPT438I)$mpR~Of1 zbRw~zjLOd5)muFoMT}y22*w@bhJ48o$@1CnaLVSwA5W5TTeuZr=hFs44NPZ-;Brn* zYqpV7Mto-Z)Gau+S;bn|$uK^9;)w((>3q0A5$TsF1-Swx+)L@8GSe7wtmPxdYxHT) ziT0_?RTOJX@8*1R3ZQx*e*`G$fe28J+pQW;j&gzO6ZDhgXh4A@8GFu;=IzFtMiqDv zNjH2E$t03}gmuE`5Bm8Rj4KpnCtNXhjjy^oTD7Y(3g)psLXJ$DK~0Ykl%V5mL2kBcp_L$irK(gC zWI#}Nbz4;g&)OKZy#>XX%FN-ulACv8ZM=jmkS;M3h5730qP5$=U}n_$=m8P9qx5h| zL?|H%mqq)|TL-4~hPhk?8)`5R<*+;wMC&7UyJ{og{(>~|CQ7$xTJFU0O*5T$(Y3J` z8p1&HxoJEl5@@QATIEt~3%QqiG)R=!szLiQLNxdx8U!bCuq&{;zLOc5yThFVq1*w} zZ14j(Qjt&xJ*mY9%MQ_)+|JT$jQFoRLR*8KIH9(4Lp^OxX$tr!vS!zzF0oBC-oqA? zM&q}pLVmYGZwc=TwW9cxI^zXiS)HSd$;#b5M`zjw9j*7wW4Dao&rG{z2PvI+Iy6BG zVs$EX#4i*!2g}?yAl}`of364WYJ;KLx^R7MFkD-w*VhKZb#>u@`mKJu9{BOZ0}uMi zaRVky961UEf#WA0G;HDt1IAB0_<*1MXvonMkDz0>z4Oo>ka#J%6;Cc$)N}vF#nc9Z zkl`z<^7jg6`-^M+S;0R3!upJiU_O4!%&05!-u;{>1dwDG#gSxF4>_p39*1~eW;NWn@_ZE7H4>Zmtf#%2BhKpL zc+P5W&*q)u_UglEB@{q=Qc1#CwhV5 zn(OWM9H%#8mM)HGmiAIOgA^`n>)hp(m_O+I=M z{&e{?cau)~=n@b5Xs6oXiQ^{m1`o^_M3aYr^u#w}q}`-CRZ*&0Vzy{*)aHfbMiZz` zL3P*pC>cw%mr1i~0FlSg>Z9?eN1hO1saw z)p!I@Zdqz9&MZh#zDYs7c%&7ehnCYwduW!ej?1Cv<5DUV%?&!_)vH?TvvpWx5}dkqfw|&P>SUl+6rEalAF?3s89ex$YAyD=i7f(8_wySinkq zvrw?qsetYuQYUd{V2b+90#?k+Uj=|kH-4#mM-eiUX8$E1Y;MqRwmB6od2y2m@|-&k z$rCq_g%rWY;zKzwJ#jOWKjBj>ZI-NDydLALDu!dprcOxN79(qzFVP;8+ zWKBuZ@T9Ev@1EDgB$k26r`pA*W6Nu4E@1Huzv6qny5h~ySg$FOPY*~?!S?Fs+FisGDneW6Q z_|s9xc$g^>y)m_E=sravX0=%wKufiiX!90&H0a!4piSpyMrgg*i>bY+-Xs5)CC78v zI@U~*6U$jlG9vJ*dtmLdWMtEDtt^5rpB#Zd-8mDwR68~_l0jViil~^{@79AoF>R^# zQy8R84sK#O?59V2vZeI{g<9W!ci%^l$={P37D3)9Nr***^hPi_ z&Y2Z8y>f!NS*3MZ*`fTb;`&~_f`wVdf!@99OETDTUVqB3mwzzk%~j`LxZ;z;UR*VO z(yB$HURrhYPnLc@;hC1_Ajr9Ak)RDAAr?aDQE3RNstN?Fs>3x^^&$SPE>u+&uC1yI zS5<}Ts%oLlc~i$6eZg6SCQUu$u&L(^J!R@q2TlFOpi`&*aOC;t4m)w`2{f1-`xOaU zi$YQ%gq|I5(DA%gxnsAXkE}ustoR5$xy~Qq2_#p3`p7~M0E>^@sXkKUScB;!;-AHP zA>2mniW2t$=Smmf!q=`9D*oR|kr-X$BsiA^&la4s+w%j?sp|QG9<_8%koXo-&@z=_ z9N+L7y&&x|>e))#gD}1oajtjw&i{A+?jxQGn_{NKfB#l24gU#t_!D|)k^YSK8v1CD z-k{OX-P(Wu_WQMi=F=+n@n?c|uy&|6RvV3$G2KzlP2;8S|q+`zS1Z z4lFG!e4%zB+u%y=2H4}Dz<;)O7XI}-{_h3&?zQ-r>mc_Jko7@r&)vXzD?WcO^nF2l8NKl**yu4}e?@yu`(OOr2b7O%bF@F> zZ(h~j)Lz%#!Os)gTlf>%{64ldS$ih_Ourt&Hy%NIkE2(gM-R`#JLKQ`GJL&!IlfX< z3Fr9=e0?-iGqg6?W0$rL8ojQ)kDodCc^bX+IDQ^PTMwfL?&TKmfy75(+vstgqAb#Nz(FH_?PL>^>U1qsce~(w3D=n+K*t#8?`gF@%Xs~z4J5toQQupNjpWG z1Uvo`S(| zf}eez!7<tCwJ!|kSFTHp{KSR$LcxLcY&@tEjy>31K^lg8ei!YwO`HF#uEqR8V;k|lc z|0$#NzHfd$yzdK(4<7RTQoN}WiTh^3u=57}9^brj&C$C4>U(|ZtGo3+vlfjUweBum zKfV2w_-}RSedsI4H$6D==#{uxrf=l-`}~!G6Lwsx>xb>cU&RWNU+H_<&dtrYN+G$w zXgf3Kg{HFJP|>bCRnrLDh9_@y`hIY`$Z zZ90gsfrH?PFWwoT>*IG^q3cKNy4veoSrFBK(aVPJ|DWAQ3-e_R{oicwk za@&bsUt@%itv|2-Q4794fWFqD7Y_OBmfu}<)um(fr&s^rz&E}=(Cd4Bu9-JnAN%6E zrE5MqSxEDZnjc-B{qOPmG4s|eUo^bE@m2}_xf4Z_vEPVrqwV2O`Fd;}-tp4HZFqaS8$te;;yxX<+U*E`E|V2Dg5Z`I zB#E{L^-%PdG`&359ez3P>ju6;=?E&%od{_uwY&c*5B_se)3U53A3l1<06dVa(J#E3 zh8y3?g6zhu%O(t6?!t4Z{t-iUdd|8#EV8tqP%Q;`OJ@_Yt2mKt0^IwkwSGJ zoU#3rEo)7~=oO7dww_W~*InyU5uNUX}PZDfbgSds54Cvv>Phw)CY4^N2LyOFC4e zoo&~4*J>q;wH)Vr$bXH)$*(4$(c%AEYUZps%ubA=40(~w9DHlFnS%}k(vJ4`>Z8bV z%8q>s`SrMlH3{igolDI=(c7$)t0*3aR}U5h^mS{@K4=}&Tw>BSyzIO`bea!qiy%jO{0;Cr{UqtJYQ)gXP4qTL~xm?`8sa?5C@bn73-)>=~~r1I(1L$ zj;2wiMwwQGs$O4-l~K#>zZqxzUK}v1?MLtrc4m00_9;!XrtccFNDP|xJuTZCN7B2q zh17nrdURRfPtbmyXn&lOfq{yj2tQ|0iuQTD@7}d-{Rn#4R<`d@AR6{+ADp%TNchKc ziYk|bg+f&DWu-^g=xfb2IU0V;!$gcx7a|-wI7QS{ z>+7(*QPwC6!VjXM20=j^@VYL-1&~CUlW$%oYuhw-kcP z{h~nC0aT1G!F8sGlw9up^rcYAdR>oFwlpqdU1Ft(S)WjspwtCJIVC9@Jf+A@DitYJ zq)Q;V#kTAhDFBtUU;Znl($V|WFFjf;!59;pSE{|=lN2>8V@Gm&QsQT&bA^#}zW^^h zrZ+2<#h6IKnw6^19*aXTx}Nt*;j&=4TsAn}h0M9cxTd8NgH=1wvfeCJD;cfI-}EOj z`EaWX{c?**wk-F?;?HQ|`*x00YZb0_q$XG%HM zpFqyyDv|@AnAdW0F;spqQooLD+`yLOgASaG6%)vC@MM~!bY6LB=?QN(cNon=aNDN0CZasD0E!wVy^5i2pG@C+t<0B^ z4K&4^`LF6pJpH*`As^aQ{qL^TW^vm+l?2=2psv6uwHZwWTV~miADwyj*=L<~=9xPt z=bd@x8OIMU%F9F778iGy^dbJpyqxUby?gbFX0>KUvnqP^&Osp~>KJ9a(!(%34lRXp zHc;u|p${x=i8i5AcQ1eJa5OKdSLC1$(J727^tjK6twq&OqI%L`hT^;&Q9w!7DJhAT z=9LJ>+Wfp+`59H=2^wR3M7aLe_=rDIl?!3R}ZZ zC{=&%MfInVn}dQ>>S!E84V=_-%eWNNt`VhARf!r=Q8jB9t|mBUm&$TSwyG$B&4V~2 zXD^In^eN|hQV`68Y#n|%;ZAOD46~-Dq&5d%#UstpRxIIq$O#? zr_CV#Vvn-I>4t~addnb2(XK)R=%_bh)YNd97+=#$2&1K~upRE5FbH8d6l6wgjOuJk zHK)F|{=G<)ygF{mye=G*nV?dbK$Xra`kydE6JNx7Pbx{?$MW)>Fc>cMDvhcvu17_k zWmXOUyHS}z_~-+L)az9=_Asu=WYnwi7r15OE>uat7$Nl{rF%=d9VNXE{fzKZ*bJcy zBZ#dYz-l3y2pYR8qUD{q$MjWI;U2aIwWS7%KVcbyB?LPwYAi#>L0UFaZ9DW z^|)$>dg4}ovy2r9SUbU{wUuFI5Z!$u3*^G=R42@^xUpzhT--Z&a*Ud7T!0&`+Y2m! zCI3H*At($KZfKSfDS@F4|F?rN@ZCFMz=-E=Fsi$&+M#H)I!>3x=rbywMJX=oaqGHk zch_{o5)|gBukQ#%U4JL*b-TkPeTR&A3F#4iQMi?*lOOC*M{q#Gq-Y0yv$7qf7n|{t~eylGhp=f+Kmif|&)>diQ?bYWh1rzoaYFj`CQFy1R7{xG5$@ zL9j@06Lc~{8tQUInKS=I6k#`to9(s&ZSDXb$@?9L>ij4FscF0E|NNeVyW~@zD>RJ* zVbNeD&|DuuJc(d`iBF5iGtu!B-4p-Q1sYt+Ii#d`chrwW+`)hE8}P?Xrtg;ihO8YX zoe*pzB0+*5!C!ZWKSSnwXJ{LT8V&rv__GK#wlN+N5!7J)xDX-9`d|JKfM2EeB#DQF~B6@S?s4QK3EI zhgnpr5lRyEAb<%`b?bp(fqP}Z1 z?WX{->_E{SH1=pbP+wRP)w){s+&Ew2h{KG)V0|X#sH+o1AaD^ZaoQ?Pn+ptAbL+x+ z78pd(m0f1}z@qE0LbPO2=#zG2mM}a9{lx6(`*Fn77Od2KbF>IzJC}8B%K(w6G)(*fSd*(b0cQ%RCSF9vJ@Jvk77F5A!>=l9q@i! z_iMWAV|GBJ$4GWMNbEp1&WL!@u%L}Ea;;?~8WvFO&ruZF5moOg;GGmqtym?LS!^M= z(^0QAyWfv~f(>JT(2b_Yz&N3KLal7|e?=z^MJL@PIw=tv3`h%&GnyX_$D@f4Z6^t! z$D=s}XfT~~r(za)*+$G$g@)%5ZI5DWibVt1c2CK0ev&|YJQ_8CFR^l#A)D6Lsu<8S0y#hKEp{K;g5lX5u?prqIH|O zM_Lotqo?A)$SvAq+_-I%Ja`@hhBkwizSs;d0Up~Q`F{=1LD(hF2b{MfX5Od&Z{ksI zGX{+|7l7bD0wHBf~7Wyl*c@#m8=A>6B}s$Qakm^ z+Cs$^z$;MPxK0^T(i8_Zt`($On)QoTYTD3lGyhc!648u_U44H*N}dl92kDm>-13x? ze3mv9Z`J+%4nP z@mrb7O~6)`R<4CWB~NL%Yp?z-&Xg;MuG4(ycSOv>)X@ zi9+be3@M-4(rx+|oK~<^^ADYdi`tR88ZnAGFN#Ya zQ8*o9(o8^c0#!tH1&`w{^S$GC;4bt0=1#NZ43X7g`4n=cBb-D=N9H7Yw?XeCDZDGP zv%5P|ijso6%UL_l1(6<nTLU8gzP; zff|!z5jie{{)MaYxu*@?tND+c_V!-0cxEnhrKu!PKnz+iL1qw+ZWm7(AZtv{s zigxboFghzbTGu~)1gF9{bH}l0Df92Y_R0ue9aSA$Oc(!`U<&>#o2O%%Twby{7yu*IUEeL%R{H+#TMA-y8Hj5J^LX?+PjZ3f)mu zcWL7$v!dln#RJBZGr4lgcM^H$w5kopwB5wC0UyhY*%sn6v3$PwBjbAP3*JIK@p#cw4YM5*5E>w z;^m>k@BOH;XCGZ{_#k8-(kP$rOx!r3}A$!XZ5f|?czYha= z7vwhRoz_|`2E^k}HJ z7}>`*q3ZZ;P$u$4L;y2OXi2t2K2f5?uk=&j=+RB?($L+;GBd05B1it&M@q+-;_7Z} zdo;Wl2qlAy96aR4*-3atRX$SCFeX)xij0SkG*S`|0Ac*sJ-o#1v-=!tmOFLaPZ@O7 zf#Rz9pzTY{oPXgtYYMS{js>2uJm6sxL8Ch|ytOPa}Njk7@g zQ)o7N5e;mm06nuJZgu0z)}!bQS~a5pm4Q*id4jDncaWa?zyd(;dZ@i2TkZ`%i9*UQ z0iMnwp6)>gTCk^1I3 zm1Ecq&JKmJx7^M}#sxAp$sx9P?{-F*Bztf*jzoljrqJIPnYlO1MMAhkginD-m3v;7 zvxr_8lZYsgh!@z5%s#PaQ;HmIts>Whw^o%8!n)g@7Ukh3O*tgvSr@(Y0HA>nt8!U4 z*na8)pYb`X@Cjdsl@&j1obVYAbRE}QV|ZPP0*&x znD~?^H`i$R6R9{3ru81B`vO%b^j^l7+GvQ=A(rnV6u{7`hibOQ`vr%cIq0w9eNrmL)zX_PebEdbS3et(HYs9 zEhwEYa8nwv&PuM+f+C~A9WKBeA(O{Qt`ZuHYDF>O$TnX(Is^w!h%O}2c3~)es6l^Q z>KrfIBbM^rWDC<+E0Tw73=5UX!9Zz46_bq~aCPgA`yuY>*novwZ(=JTy?c-?=7f?R z7Z2PQ*-%Bumhl&^miDqa%T^Iv0W@B3@)WY=6}i+Kvr8?ovHk6oZIw{>C|d!IwYl@f zD`|8Z8%cztOdLk%p20q<=0a?TyA-#Di?u~{c%1OU8A7<4xR?~qE{Ez4>5^_Cb=Bp{ zw*REd22<1hztRy-7L)C}_j_8Fk6C8^!=x9u#=OUDj~()2(M)a7^`yEI?!C1*<{S3r zo@TqXyeC*I67d5!;L~rWwyEEUk9JM) z@+g!(5Kmkag>J41r}#(Uk*ZI_kE(ik3EG_QbZF?)wm(Ck72a9pk=^+0%6hpa$i#(c z_zSe?V9X!}ib6L7g*ZhBcZ$w0s!jL`r?)RP3%}H3P3j@Py0UuiQqa2H%w0u88Y>AO zP{@V1n`B;!!Wdo(_Nn3lAbFwo-eqRd-pMjLY7b}|0i`a$1mpx&9MptQ&#!cv%YxuY zabT{BqFAnq7!c0Pgy3JIE6w7L8;Tvuse>wc{%R(ur}fa!73Gt*t}u%}9nB$Yr^ih8 z5RD7a%wka-$6^r!$CYppeyVe|S<-xcQGBKWr3h?gKpWBVR*C>e)K6W7ZyEm>se;YI zoOH28m|VFD%xqB-&ukHc$`R&8xVH58XIHlwO=d-8=Qp`$Pw~_I zJaCT4R|_Sl1(Qxta7c|@bn!~uzpM@I#T}3uR(2+b>>fu701;#;UJxrLZ!asP5(i@C zno2nu{KC8)k55Ri5e=`_7la?MRC2?xctMc6(W1yNSRWPF7VBj+yoxWjM67);E7hn_ zQK&(tHAo8?XiRX2$SAq%b|}hyL=kd1S~xp^IX__C4AGY^l!zN z`DsW&Q<8|f!w9d#9pFNwaM1HvLb2GGEb*c^$TdnO+X#(38F!-V8)Y>DI^Ly3cB9@7FW=nxb7Am z7Z=|KcLp>oi4^Yzxrt3&!ZaKz-V$ZaIOtc~$G1ky%qZr#Ce_?WEX9QN#nQ$PT!P)j zY8h!Njxe>lcZi_d;t&y;Nj#Mb-FDMpRwg0kU|4!yynYw6es`hLkd%B751ZZA|ixbc1&!QtBf{m_lGAkffbF>`N6TBmTw+udvU2DGTe}7L28VQ0B|C{i zHIWGtJn)*2_AE5BnqNJqpQ0n6XA3FZ8)0XU2D`*TTrJ%I(gCiPe3;l`Dj~fh(2F`8 zk@Z0CQmwbITxm=JWLi{6F(Z^uD>_X(#XBR|U!s+T+@dS+OmXZaLGyUFln5S7CLu=9 zf5IomS7uh%OJl7m@}#9#T##C@pMY+r#t*|1w~13FP(B1|d`q;P9BbfrhyA(^oz^LY z?w3j1m^3CX+&o``ONn?zXad=N@9O-_%xXCs14u?qpJGh}1%o3#ESOX>$b?2cVy;35 zM*zAQ4Cj8jNE5R+B9#yWl4|?WGoW?>xy`QX2xxdLMj7f}kvI`2E{?dx!X0?3`x7&3 z&xIsTM0;m5?)#(_j6k^l{>P6z^`YMlyy1Zf$IblRkm)lg9zOHVeplaj#@KuRF!HKL zE+R#&STQNWi(jBVXOY&Y#9oFlN_6c_J@C@J3r>7z&hS6Zn>PO47l++H@5aO5cx(7= z^KLl!wKtBue%|f0$kEuqNUuNni5rLB_V5YgADGd%;l7g(x%-y>zn*#K@Oyqg_{s;) zA2RdN!7j-nNyZ~`Zmmvg*lEB0*zD7C9I4DpPj~of)_EoehmBw;5cu?#G2^eipx=}$ z4nFj<3kFQO?8s4JTObUb&G$O9uQsYtu}`%P>;nhPg&EHL}59c(EX zv6Q5}04WpGhekm^<2&gTu~tUl87ejcoOd%9X}S4uM`(Q(i$3e(yNMod{mImS@v4hf zCQPMPG6!8bkX9zzz5mYtd2_N$&=MRpaU<9`W{QZ8^m+*9j|HglB z6XDRRDq`e;>0R^9?45(ALCxnI@VD57D3;!bMh;C@XZ|FGdW0};a?$CGK#BLMliu7Ea@ zTc|${9Sj5qj{Xn_4gb(F;Y}fb-*J80K`tYxbCh5*<)rsPQZh`<7;+2eu=;<1wS2P= zY6|I=Nu2YQ*NRRLEo8oHHH17o*dp0{tJTP>y)nOyj$PL z(+od^>tW}}3YovhxbST}8Zu|i?!<}M5xW&a`?#XlQd!yM??Hm^+654L=!UVK$jDy= zH&9I{SZnq_&D`_k&=u232)$MJhwmN@nNu%{hQD>ntgg&}f%`ZD)^w4^iq52W-%pwL zH{Eyg3`iV)*8x%3Z50m?YqGrXPc!dQ9;0$2F{EwrqWpw`-3Te;wdrvOf9a5kJ1&x$ z~q}N0MvL)2SUsd-8bv$uh5(wvlf6{F>7grCLZT6 z1JHE~#FzbtHI91_&3uE7v=TJ{C_8#p%{J4Vle50n^qnzmui2|?>SuF~$(i2>Qx z$Q#$3Gj)EnYwjw;%v}6>*ObwF&E91*Ompwq!R_s4-oZh4zPShL1L(v{P_fbn%T0Ru9s_atM@Iu;+F zd>w#Iz5~EU&B7yQ0vLIn7(`VBY-8EXvDccWVVd2QH<=d>?=aWZykK5*IDoybO_9J> zYEKg|YhsG2^}HHZ%`{P-dd>+9cQ)LMUclsB2Cy4G1+c@na4$O6f$FNcd(4b!eTvtk zZgA_0MFTH4UoU#soZD-UdHFG9vEO_lfo;?t0kDf=QaLPOv&RA0^#AbymhHX_7Z#g+ z96o;53;;XpZU7rS8&A?L!)wAl5lqH$t1KB6B!J#=WQjgJ_Bj}JNkjSs?z@%I~n zm+h8QUa-|VUEx}-TQ;>L3Ai*WC!=Q5&A6K2s<&f}+6<$r=GERMns3D5SdV~$Z~ZYq z^vBs>VQEsqirVT*A%bEhu_D%=iO*mA0yMaGJ~TLNeG(CGBbf&eflnHWuT1!15)lfU z=z&S2@cBcJhloRe1`&fN4N9!VJS_f;bl(GG@Rdt0Pg%qRKfvct`xQi-b~8kbd|+5& z5&r<6VkcfATcZ0s`@>}{wz%PJkx>E@M>|ZF>XnX!}agj%Ne7-xWov9b4 zx)|L_Q~#vPA@-yjAa=x^cxusYV71gWY9C9np=l`8$THR)YaPAU>Vf9l#~nNEmqUI& z{m7%IU2@=*=@Sl_e#PJ^(@z+4)ukgRe-OJRz^BCO6>o+>^TQJko%YMYKc9ZW=xLYW z`zMdM@~Xk7Pd{FjU3JmmbEi)nan+?m z&zyeJ0l#f=^q708Cj4~L%?O4rXkTvn*Bqs?#p&`XFn{4m)4qOp^eYR`z2KYo51q5{ zic=SUHuAZJGk*N#{PB-3yer0@y@0=u$Cid>u9)=oyCYv&IODi)-XAe%;hjf+_T|Wj z7T$6Azdsv)`@)BS|I&qX4}N#yg=Z~%ZTPzj|L4T7-WxS{;mzZ}nm_i5h5tM5(}iOk zJB`@H)l~YIgdaR&(K0;K_H0-krz7E+(ub2SO73E<1kV_dTj_KKsJ8nKxrtQ+}4_LeeZ@|s5 zFX1Hc&bysz@njEoOGtKg1)$)EiWy|T#e4nqL&p!CrG?WoA=^mT#a3GJ(`aRp%(SY@NK~B z37Md|x5ClzbIG0blHoXWsU&-zcf!A4EB8$bdCBk&T~CWzV0wc9ZzLGKTCcp-se z=mTuHW3#)kZ>#iDxo;bE1uzV5r!rJGN#NwIa4=P|VK#Y5<>)lY{W)P28Gro8D>} zgEtBa%24d7wA3i+Li7;70D?n@G_GkHi(cWIWG`cgxnSjo+shrTpIZ}dxAZS|r_h4n zidPjQcp38!09_S|*n)EbrD_U0uiP_9eOuy9ldNIaH39|0sOT;}Pq9Phmd#wD--OlTo+6Cx4F z@o7PY=`X1wO5zxZ367Hns{WemqCg`~9U_eXgzhUYfGZ!!@D{3)?BSg_e7Ikx|z5hlKvDe=@OO1PuPTOeiarFc}@^jSpls=h3RS4 z03#@h>MrBs)E7 zqQbkBBE^L?$}>~!n>Zl}H}N&N+25grghEIMP0?6hBD}Zg#rz(NG*%@K=X~#uw^r1c zMN1ef>HhmCrGr;*hzwp{6%%mnwf4NZS`sSC;%B71Nu*670cjo)DA|z*@6FQ^!5zVU ztwyc7s)T?f+;?sv*8W6puf0S5S(&Otj;Y0nxZID!kxVwFNn(pjMrB9+B6Ui<9a`eV zLhTQ(W+Je?O57__94%EiEF~ePQ{u#&QQF0f6-%62rq|+RIY)0pm1$4O0WV^OaH8pf ze=a>ZRlMRAg&LVstA*h75V==yoXOlh)6BV0#qAGr)>=kVv!%&FgcS|#)>R~4VQ^(| z_e>d=9*FW1nov2xO*qLacB&2nA!F|f1f411HPKK@gZM2u7P;nI1_@I}e3(voZpx@g z5P0P6wiAzxDKSr2%Cv2?JzJhyTpz_kQq#1V_w0B&Cpc@sCL{BN?PbhmD>GUci-@^W zBwkAooEkvnrqRPb$(fdXBSrwK4B-o?_N9e&RYK1trbL^T9@IcRhFQ2KOoxEfD3Cg~ z0j&)DE41pGgVCnPc$OS)?9{BT0^CqZXgkC0fvl*_bPvy$Fv9kgoQ!e9vx>wG6Vk0=yTQy^3? zrbu?RU7|w&Cvlw=s$h{nFO-v2Tb`90&dI8-$jS-jWmQ)9$_^A{mDOfxK${xT&Mq>d z%wQ03Qy{8xV5LgHBwm<>x2~!tj5_@Ksv5nzDj2A$4%bu#g7~ersyys1bFcim5NKg`!LeYJY7rHZcVTFh0vX%ElbT7$RaTt-zc@T(jvyMBj1e{C+Cq4Hr78QpD z7*#S}9ERoSvzJ&W9H?Li54I&53~73NHm6i#KF=q#23-NAo5I=@D0UdA z%=BpD+XEYDBKD>2-^p2wM@lyhWYXVSX;UJ|^SR6Dx^qNsLENkh`6k2z^fEpsZ?3$l znaHpz%$2^!XybJxUZup|!+>Sp$yVlJ+KX!@Ixsr&0lkQu2=I4s8a)xGMEAppW%|lC z1nb&Et-*HrO6V)D-teM&qNQnHJ;>+e_*F+Qngr;p6c~aSv&@6pjw6LiY9`(;7iJY4 zbEbS6VFJC6?qn=x;gP09EySQ@HVwJK5xg0@#k$9}fhW1^qd}66gP9bqxa+pahGPhc z7_CgeA+b~@H{j$yywLP|)?a7;`mmt9UngEUWpQB(&mbVRkc$5~CuT@+lPU5TF=Cm! zLsaX?eh>D2LU*BaUp-PX1x4kyr|5@1`yJ8sl*xk|R@m7eJmASE^uJ()#KrO4!Nl#U z5T|-!#{F4J3`u0sp0amfX^f2EfM=pE%$UasVvk7)Q1=xrJnhg<^L?FTX8su+CV{bT z9mx^rI9D8N0{qS-Ua5`7gMP%71L|hgQfSDf%NVrAOn`>cNL^R1JJdK#=$P8`!rxJBPtt4Ko#@mg{GaxE7iXT7@dN_l zFXHg1+qYO2F2a+<3EeMv>chyGu1H!H$0evi6o+yo?OEuh!h2rh}+O!_N9B-3-Tlb zpg=l+oChB-uP+5ecA}{_qS~533d7nmkpq#pPv?Xb$B5@js*SS|?;M#pkr1M<_;{%{ zkED~0{8lbSOPq$K&XUT-C4UBEDK!qMU9?`~^YwtWh!2!$!b%v<^@4>|(-g_2oVb?q z`7wQ5-i}xTTq&|n30yVRb+Fe8>#*p;mgthzGqCISww&11RTXTODkW75btX1i0=LRK z7!tUi?^_+{68Tl0=+YpplJKes-fGt=P(c)@v&sZyWnLlWIB&}da^EY5{YN z>);mybD%e=nHS7BH%wg2Hs~~IRT4AJ+H~lyb~Dgw2D%PF-G{wb9D56TGyw&gS~TRf zx6IUv;XhSiccDouD|#QOu=Y3rujeRTg7e-h){y0;ECGF*!k*Ndv$5|lqO1;w78{@i zolW{)`Dw>GGjrRYk5(li-FzstCvidwHkTI4=Zf_Komx0<6)2y3zp!Q*lWFA;L#YwI z0>w`ccrt?5IX0bxt64#q5Mh;^m&Az)-8{95^(38ISy5tCDd*sh**Yoix zkYskMuB1s%h4bpbxx(zd^9)Lc6!aBQHi7FxIthtf4@MB)tJ4T>t}82X-Qw^1-YB^AT%_n zzC&>9Ou-`}E08h21qMp;?*P08c8cZ_AgVJhaspkN=2?itH~0g&c$U3(Os|v zFK@yWJ+lX zPbKBQcgi!j@_aVgj9Fj>xr6Bayx%zAUWtN$A&&1aH3mWo`Sg6WRr)6=x!E7|Xsu9D zOh!7eP>)kJo~3kvl)izgD-}aXH2fkykUk?Jg%wHTDK+Cil31d`DaLQIHHuIqVUTDV{}vaTe_heMz7aJGhFS^bhbPR|8#MdN7dW3_tXQq16R`@se#0Ixj zb^s~B_if?FTngZF5(-=!%YF4H?q3YeI5I)<{nI@OE3{O%?!_EOuhNS}gh3(|xxx*y zR)Cb*74`MxPliFv;7Kh=r?q`OqN<1o-PXl$&C#xIfkZSKry3_n+6BpyOvYesdtubS z&`fbr4mP5teLpZNh(!1r!%Rn-^LquH(@Q1jsUUn7wI8vRgv8~iQoYhY!YPO#;&Bt% zt(O3KG?ER=y#czZpq_EF6%y&+z8~8x3KA_b_+m-4o`gm=^&xR??%SDzpshwR zSA+g6K|?-2GvQH#7AP7fF`#OAMhH-<3N8#5ZU;3Y@x$%QL4XjgM?F`A{wF679&x0w z3nPyeDFJ#61qU{9;v(2gUObW4L-!Y{Ip>tP(J0?ZXwc_6S@0ArjC*b~Rag%CL}Fu1 z-+iWRnTKDQLiT zfP?qWepQoOOcjqLPy7~m#Oj=?A4+gG^A2J^FwlVe8V6h63N*@Bp&8U@s)!_OA|XoI zaeM|~ggZzK-m%XDG$8RxQWpxAJsJw~l+z>*Dsj*h=Uf6d9~w@eDrV$fMTwtKq) zI*Vyhyh@xFZ}d}uMkjB+FplNXXJj@F;8OMzL2KZ#(_9lvTV{9SR|&ndCm~#1dte;J zGTb-le{~L{B`jQvmHpXbvp9O85>Cu4as)~C#xHoz#1T5v%UX1j75C(^9P|zP>rTSJ z#Vp#XG@Umgxa+7`{|Q=4PRGyVJt=z5iS9(iWpo@%e1ramlRIz`8qh*+sg;u;by=}3 zRk)UrDrp`+^YD)7L0}RqUlxxec4xUZk>EneC8?HgQB@gSwG>Y(iAS%T3}kj6f9iI6 z=nZtb{1TeRQ?NJaAYir01iyuWNu>396`#G9nI)?R#$*ui;vh*N{|%tFFY|~LsmMCw zNYGiP%_8_UM5-t{8;xYvv}hvh2jY?E)Nkm7LY92AwP6FBKJcuUAU`TTS1gAnVsp@ zlAbAlD-~M6H-M$cim(zbRmCqqMzp-N`RS2y?^CfQBz@!uEDYB%nEb5rRh1P3ykTi?p1G zKN|E;@iB7N`NoVorp%6wWoPfQUY#O#GQ1|^t|>rQNt#KP|NpS}9bi%wS=)7cW|*9F zo^EoG93=>d0TmX-2xeu~HHS6hI;M5q71o?Eqp}Dpia8-sqLN`?$azRJ!weI;`~L5# zaQoiw+cQ0=|F_Tg_0tb@m|N$(bt>06^%kFan050LK(>74KIMj=oi8_(XO16ou8Q%- zW)L@8A{7hvO^kC~7$H$Zo8y`UC^`GEfTGAXTQYM6O3W|S#y9Qz6JJ{*9KGJS+E`Cq zcD$l%<5Y2GVr_tGhCmXa3GHr0#vz-f6OHfXxwE^Fb7d&!_o`h=Lsg#8~mDDXw z*1h~v*LTMBB0#4-+qqAtamf^4Whx&?Qj$BdF2S9cl_YecW{AyXN!3Vg5lZDG!e1#$ z+K%pAC?y_8n%?ueqZ}_3d4SuMs=(5gnIbPp%FGsx-{-yJI_1=WbovE8ah;Z(Ama6) z7wNRPZPk*(n_8cuB_}t4m(4`Xmdo9#6o3JmIwZH6S83(-hm&5X1W=bNwQ7zoRvnUt zEyJ6BG|kKT*97~S<+2|5Z@ES}+MDy~uaT2}a)*vnX7pzxqsFR$ZqLcgbZ6A2yKy^E zN>+Bj^*~;sP>%A!6#7PJF(DCIB(73ELr*ZK{m5muH>)z!gL`t4#5Fl4f4x*D2X}vE z=%7%FDY5p-79n>O21|8^XwS#VNO05z@1l^~F% zqpPII3q_5&H92lvkmJpd_9?;iTqu#lcaYo!QL<3ZiaFt!Ms#QgL51eUWn_wWjHu9f zU63QSkZ<00;Pl`r0rcP^7eri4OARRS6uJwJ=DWcmMql{#Dvd(49Et-)bEfN*82=p& zA$mR+jcY)P_7r-IQ&SwP97~%K=-Z7D0_Q=Xr^H>{P*h!5&v~62o%I5t906M>a4x1& z?vgsXnG2lM4bD0tOb%x)6h=JSbtM(W^$=9c1vNJ`wNSwv1kY~A`NSF_yqO`U1;QT- zg+*_ZtI~P2qzZ>nsW3j|J*&BvS*n7H%BL;|(wpbQ+sLorY_Vh$xt+Luv}p+@4+brl z2%CwmZWZWzD_qN6MQ4rb)9suy+Km|1zw@Y(?S_vU)bZ?d+6@^su*2DBcN#cq=pk1T zCmbY-!4iXMkP{9%3+N3DVY5sl5B12wyAnX~QP?fU&eTqVaG-ADRaNVHFRq<5x_Vo$ zA8Ow^{m_x#Gis*{+kbH6YxT1LAwtW|aI`9pab#yXqKe`i8M%&#;y6cYenezJf|g_p z0YuyA2kfk%SV~G=uS2~g%b9_5c99^3(UR@Of%iHkfcKgk)kj~)#SJI=^X>y6t`N76 z!Q_GH;LZY3b!s3{HJ4}5)J-9D(?&wb<&QvI5~v2X%uG9RL{6O=NKVbg`Q=s~{D-^< z|J<5ZgG5K28c0XY1^U?Mcz$0w4X`e{2Le+FU{;n7pg#e1nhgQ9%<^u|HOF&2fG+jv z((@30+3mtm>XYYN$2Gw<%?0|Hg<$%`MGk`vow-YIvQj5m{8iQ#+NO~&#E>dlp z?3sg7%x|Txg*a}$+@%fUJ!yZyl07M4wRmh$u!Obb5?6Upnq`0Hzyu9kscV6NB{((i z1guo5VA)w4;DIs?A3|f3(SAXAo=aVixHMn8k!A>JInZYwUr3+Wa!jV3dJMqWQ9%vI zGN%bfXPP{i>Veet&1mH4&y$e1_#%8tPlGP=;3IU&6;6oU&0Le>TQdr`16>`|wmo`z zFkWH542mAWP_ITMQbgOvd?}??9W2k2>&^*6&`fF^pjHw@X@;JF1_VXs(TWrqVQJ0q zFq4W1m&@0Bq}3$d1JKL%10ALTj8q8M0AG68kSR;SikHj)KZf5ocq#d zoX8{-q}7~H%&5DM4uP1_*F#`Bk>Td%K%jX5BdB(K$3mELSv{-rlkV&c+-$YI*6lDQ5ci_Mptojd|QTmQ4`xWRTKA^ zXp2cak#SQORkZZN)~(yNb+v8VhThs3Z}_Ekn_FKa%+zhC5@z$5M3{F=eqtezt`DZU z@SZ!zmCfz>MfoEmH!bNgqx{+7>o)Y9Qa)+$sa zc~Py36Qj}#TE!G5Ig+4=S3NN-k)EC4Cl)&BwrS|Na>6NnuN~jvq6s6qPq@7O*a>Hy zbj>v#Mo$>o<*KW@o;hJO=G!?r#f5^P%-|`@0bLn*%5qEca|)otJS35lZ8#w+l+az| zr7m22WgbxIk#Zbv6_3z8?EI1Lrp}!nSp#-p@yNf_BNv!DT6#qMSzIK-W%&0R0S}nF zGg}F!UdZyX>rX9lp>br)*|`e``ZFu|M&W}gYd7SKlpF3!!(r8TGzYmQZ*0u?01uTyh;ng0mo~$c7gg&QcQrxE7?`}cRyYe@$W(WPyfjD598k>cscyCT$;9#&12uOx7q7# z3VW74#~y{2zd;AR?!oH;<3;*?uLpsL{`L@F6Y=b$(EA+n_A^_>R^zpi?O>bOZnhVC zH?k${D^|ny0MXMx{sg-h`TQ&L{0v^tvsd`*GHz>OTe96>*p2K~Xt;;X!Ru1I$Rd~G z-*xP6NO%BND@BeUN6sII)Q9o!bx8XwEO`sk-pH;uO6V$-+cl7OD;n@*Sp0G1bqdhV zVE}zUqOlMwp3^q8*wjn>W*^l`DUFdlSsir{w3y}2^ zZ1`_Td>NnL!2b`S>?yBz;s5*am)DTXiFlH7Nfx{VdA%96Yyzw@j-89wC^iyyd?YXy26ipdoDZ8_3t5BtUnj8EcsXrf zr!#tG1bLlk3-(L*-!KYcSW>4|IZ!pYtKIo!zHn$t{PWV=h7J;UfYhI96KI&)Do$pS#pCb;k55On|ip~ zy?kWrp(VJ^v($CmmDFS9ucfcn|D&~Q#M+9ThcBnKtuF4w>#_{m?9Ow#(MBl`|KCY8ir zT{GTw!NDtBuAT>;uuBq8T1G5;Y5a`C_wh6}u7q>SpK0eh|KOEKRPlJwL|@G5;BvjP zrw?HRpTOW1U$=9)h9ADgUBj z&>q}KLZ9n#+|fUUn+vUVF6Db-+i|TIbJpM@>PGnLX9hg&G33@cm&=%g-QcSwK1kxA zL98uZEKL`YH99{ENbW@viYho-RL`Rdh+mfO(`Y;Pg*j_+H}v{>uUy;?>@|%3;S#l| zqITn7Ua%g2SvTj|3)HRA9|y>V;lv#x#f6291&49>9Fsv1B0w8K)~9{y-hs=Qy`Jw+ zL)b+u1;GIAh8h>wpfE;)a{ zcZcrrIz0QX^cFf0^5QLW6yLaivmUwqGJY$c7jnt#Z7nJpVVxbbg+;W=6jI%|pI!cb z&i-w>*W1eDaaW8jC}=Fy&OcbDNAEh_$8AGvMyp5}y_^-XnMFpV8@ksknH^_uh0G|A zyRl(z_r?OP{YttZ`6tr_$$>H{fD`4K<0xa%TBc9?1~_j-Fz;XLl+^l~d)@h3!S%Qs z*<-#N`Lh6|{L%!7Er{O0Vk2{Wd?Xa>F2a(Fzucn7qPzgMuJ*@5PoCELOR$%`S7eHY znjIjRNl@w9dKQ~xJnF$!@#>a>BG>k<$hH@zZLB|Dv$>-uSL?eSqE~m3fonv45hyy^ z$%A5xV%M>_=sZKT7gxi()s28{>$ibJgNp|0>V3UEIofIU;MF+NpNCiRXfwC-^8nnE zgQFl~9gA_~7s+`2N{EMwEx@+o2cY3-Y*l6BH+%xiJEsm3S2Dv8uy+dZv3b*l9Qs zUDMBqi$(Y3aefhC{8ro(mY+-V)6K!5N@nLYWi5>mOaidZ7d{$C!rxF)06|VhP+(Y zc62ZCyv5d39p1mKE8;?hhTcYGHr2W&G-Q(o9xN+wol_d%s)VD`Ng9$#!|`L4hxctg ziK1P39!P@-=%o0{pc)Wc3k}H}j=VVCr-6dYp&?B*F%SZ~aZmU9| z%;G8pvjRVWVo{MJRiGW9rXD?LRbf8M6GR2UBo#^Kd(+ENm3-XbB_bEF6RD`!v$-<` zB8yz`5MObUA&8+wSql|}M@AdcaY=RZ9bsE$9o0uGc5muT(ays_iCfc4oX1ud2YT&l z6e&UM7xIy44mu95q_+BqMM+QVp>L1#tH5e2lw=Aebl0vZbE}eUUrx|xA33nQtTV-m z^PIF)i8$iT!@SK(Q0)Sgbn+=dye?H<866%xC)pw=rl$jyB*`{jTXp!ruCh+Jx|@ld z$e`e6lmICyNl=gqFsAq^Dc-LCeo8Va-_0u7ziXpyPDER`FL+;0P=`ZOveQXvEZ9ia)OP~uXY7AMsv3!TYOS- z(h0VBOFK~~a6&G?`8m z)UTrN-i+z4w)^haVrV(Vfl#~JW8}#I=&O%jFL%z}!2TiSTX2EwYJ!vvd zVIoXyqGy+$Y*O`bDl~ah9I4NH%Jh`Rzu_31l_NWFG8rSxlbsf^fhB42gwB{__|%EZ zT1(#DrDyuoP0dBdFy~82Dg11cp6Y!!i_S+H6H@#64A)2W$BEDvog@ItISuI(q&1`u zfx-nZAKimFW&)pMRy>!_^?6bwQrf;)zeP{0d9pBxo3rV;CI!1eUUpV`Y#B?AO0=Hh zB&C9UfY%d55~rX2#eq8S0in2N@0X+E6O)pVPj6aGYHCXA1>aZHd-v#B-nxCW&jg}W z9;mJkf!NM=;{^ibC@oeiXDLw$gxfSH-GsX8qahJ2ml>T#j=S{I@#DvhJA6sPxN#Ss z*)b&{0p**T+L#uNK-fbMW`m+odM>9SKDb;I&y|CCN5Hx7{X1JG7lF zU5ku`Y!P#>=03FG5&_HNpr=0-sW&DeR-AYw>!hW5(i75DU~YU|Y^)dL!?`grvEm`* zm`)(76(iM-z{OuWM~3RbX+9IbR`Z~O2dh{6M;0xJ0l@K z0ZF&yA_}=S#uJ+ekVuIMF%HJ1r+YFI(|M#a4^=jvQuM$n{zpgcaApgfs8c?pAjd?v z+(eEEtLa=M9bgq?rsBBfaU9q5#>e6WDU~u-oL(%-<1>&UG%@2)Cq0!T4t0uSu0EUc z4&T5kLWf8#N;n z`xAsVomTKUt9BcICI1mKv&5Y*u1W@r*I)4gV9X^~z{A6b! z&J00{M)$QTpe8!d47=>|y)!?y8sw26G^W<2xKpEO7bF9fGLoOX^yGSTBIrb>H^X5( zlPR77Kxs)e5eeMGqquI`%%SoojNBmJl%p8IQh90kWs_mwFz^s6CG@0M!FJeULM4RZ zaDvj4=gp0wGpbb9#^14BLIrHv6tmk~Y{~@LDtoG;i0nBzG?5T}J!MI9*kooNfx)nM zm+j4og66z@9E^<02q$p3Hh|S!y{s*mBLoVNfqlZPEw+=SKXw4u4JrCIW4s za&uJMq+>>Gd2h$JUED$G06uSVqA&r9m4~u>Gb=MZz8uojN90g|3*fbJ=N!v+qYMFt z&X7g`b|H?E=I2wPsz1hXP$UVF*|bMYyXE_&S4hA*0{*KC4l9CK>b=GG7Kk@zkqh%U z#V);x*~Xi9ke`_K6dVT@z>?pi#0gr7fgB45r0+>!sKK|x90T8FCk&|ZycoQ>jR=T$ z!~6kxS%)&C)2`kkIzU^{m|vaO2uqMhqp+|JCt%IL;UTInjohtqSo*evcDHM-vx;k{ zsjw+Kg0~SS<>sY33b+l|z;h$?dJ6X!xC#ie`g!%dkkbMAjA9j z@+#d?zx*!^CAB!uO8#|g9t7@2=SuGGau@GKp1dUtE-!92@q-5rHu8{F8!k1gtB&+N z&Yg0O^QP@Nq&t>R?%yEq;M~L*cX)Y<-9-lq-S9{e>|gM7W62IuF#J^hbe==5!y4i9!A!&RX z8p(g*K>@bsb-WHO`!m;J=XQ9z$vfVlo^Rf*sKleC zq1iv*xKWR;IMpZL%jF+K#QzM}F*tROIf+K60kf=7J&dH_1>g~`!>*O<_1LMh&!>)B zD5wBfU;#Qm8enf)Q z=zAa}KP0JsiCY5YUi82kJ?`KzsOH{l%vl+d7x_Qy!{=la#+=WW4ZKJ$BQz#c%M_0nl zL(09V=PmZBT9g+~TCT^QqI6?BBS5*hZqT3ZNoY4?4Bh2Q0H(n7qOBD!(_=s7dm@xC zD*#N#FxAHmj7c?u@`-Au*mxy6Ij_k`E%C@&0h|f|8+jLE2Y}WZwpTiv0SKI-J8Z20 zu3xIhNaCnK137Y+iZgZt-{V0qPZy)d`~>MEdbY7E2Pi633qfLiffIwX)Tcx zKoPPlS)dT{Xhpn4nnaggmYTkhaRMwE8H0j7!l~qB>{|r!O8BmD#N({2U2b8AW{Q*$^ z3@En(ikNlULNSJzmUZsU1qCQ5f~OUJ>#CJ{(z`sGg%2QREW+i?J)38F$@ee4uYn_t za<^0O+M?hA0Y|QIuz8&Ow^eXq4+xG2D_$CYht*M#fW>uf9)A^{7DpK0=h`Yx{T!9;67Jf@v^_Yi zoSaYV^&MWXp4{LUfk5*%T0Z=S2nK>hGiV>I?At(3UDaBS!TDmLBAOYk=EwlTs99In zANL;c)O(ZHcec{7DO~2KTN?17fGK_OOXjU12J8D}g;Ak*fzZIdR`@oY?;f`|rT+SW z=ms_6|4kth3Z9t(?c&2=yPlVAom5Kz~%vhQjDPxj_+7W)uSwpuz{E(YrGpW|M4 zL*wBFcVoJH-xFy(2tdZRh=shu`L9l7F;x?E@Jk#(6{B>cmNdJb9z!Zg*k-8 z2b!E~*u$Xi1y1*j%jO=at#4@X)E}wy)@RjK?RaM}kHs*DD`U#9u>Zah9z^2!9{$ly znOE;@2y z?nM`0eEx7(Qedb9N>FU*{Bf}&8?Yrl6aPwG#0*RsN%ji(0kLOLcCB#`I_5H4{LeH*viwDX8 zFhUGyf+{B+V#|-Rtio4#mNU{so_*0IIWp9S;#c^NoM{h0ZAK~)(Ei6nz-)&1s=h?r z3-hJn(5pjXtIUf^ZE*Z0b$jBlp1bSPViXn?cxt+8w`wzwdQS2=i0hbmyG7gqWuM38 zAVlSu3{m0fDUt-{qlPaw1J&O59~)3p&fSM~#g+0z-`8-snNRr9p=9fISE%lSv@t1h z%tz~M^n&l+`V-=8c*Kr011)5YO-*G7-eP!|gD@i1TQ96o9p{P9q(B{txbcN=SdH+9 zMeA%)E=_gm4J&lR8Qb9ePW{3EL?WI0^*HlH2hQ_j3YJMqa`nBj{)xyjeGu2F%^%REkUz>y!Usc@U$6mcXB5K)|;;Mj^Ym?;>ADTJZX`4e)_4^sM_ z_bheQ8(p02B4l6^!kgTw$5T9r0i_VAOcj468-{TGEnqLWWTXiX;mylUa%^U)5y|{% z!(ry+4qNhh%1Mc6M?6-^7pin3p-kH#ljkcx28T|y1YX<}v+?r;}gIP9^;U(LZt)dmfRLs+F+>M;bkhIXqPg1X>um{k@~3jNBGR zZ)A}P(5J#!=Bexk9F(Q}k|SHuZSpuQqTBTHD6CW-g+=jB#)(oq%`5fuE>B6csM47T zm5z&6k*q~%P$H9LO72v*k27j{q!r!D$jh@Rc>{~m(oE4#3se^U4(&E#l%uM}aZuQ? zi18jJOfUqVni}P+8=Jir1pB0zqa`ykrn> zCE}BeEO>F>6kX#`P>_w2!|{=Ff%gVX_5b7Xb*~ldP@&5MWD*?khCfprbgF5@L(|txDf+Fv>XsJ*RptrfKG7}=$vRU zJkEP$f*w5ZjIP5}u??|nSxk}|Q7KfCZbcE-*zt4K@#b^Y!qzG(%w2e(Kt;1Pf(OC` zkZOJb048WzhzW!p__EEz5!P~qO~k2f;hQy4y!pf+lZm47Q1M873Or6`Cs^_o4<-wyA6>*v&Q)j!s_i-~j4yI40Gn zii|Ch8Ar`5v^ft>R;$DG-i;_bBFL!Yh-i@_h34m_(;;s$RvS}TT82~y37(^47`~u} zXxJfM1yqRq&<#|E83T`y6Qo+c;-J91dLEBRp%N4XA-4!PB);_Z)h~iXA&x4{j?M{K zU?j$iwX%_kWkxRTj+zsU8X4qP!>wYC*5DYhJfk9}woWBQ7>>%YJECV0TdXLUT$mv- z&Tsv?oM%aGdaYrJmV@Zns30z)Rp4Nu3T#oH3*|`~?eWO%b!Zp+8Y*;kgQ1;b2Do-{ zZp3Jh%Psc78S+HSDRtzA_Af-}t4}@mX5^*`_0~OL+9gtPyK7JfjDyvAIix?J{}CDZYt~Qs;rhiMH0^T==;zx9YANm0FLH!a z+t4qzC{$?@z10!$N1M%0tt>A`=(p^#iCwZSGTM)NQl%d&be@09p1D~+<%slKPQUZ~ z?}WG=T)#C=B9-hfPJPixMopA=Q@S_jU&7s&krAO|G06zMX31nxD1w zwE}alO{$Fpx=pA~p=w6^{TAi|WpMNTN7CX{FH{dqa_x2F8F^N}1-eC(4yrp@Uc;rj zGxYv`%5ln?Y|a7lGyI_|m;K4_rd-PNujaDA{j45VE*p42eQRl%x5(_Wi~gS}^X8N% zS!%mYOY^JjV&)rKeG66h@6f{-U3!py)uwY3?bjIM{o1(dSDWu(np5qYGoW9kIfLKL zVZr(~YgcKuxQYZoADo7jcCsUckqnMJtYDIG*<)b8s^ro54Vr>vD@}oa=cb;9_6!h^ zCF5?efQSYEaTMCIc2A18n>{Fb&`#V1$yV+Hv-X!U^HfihZzg&j8PlYl9;T_Pbr6Sg z++hZ}a`=&f1s>-L$TN+3pfgCe(izaqpKcvivs6+}6FcZm);6%@h(v#L`n0QOX`qZ= z&yu5gA<=M!&V#QhXqK*?!j3!<93=Y@9GK>9v`A4;Bg`Npb|b@efZR=K9w&VOczl5L zN2fXPbcEm{FarOOIWq)u^@8&t*^l$U4}vLlAv3*I8B2+VM_f$qjnx8q{&yS2pl((p zt7RlbrcGD9h%CY|)&z<_lbc435$S{_00?vz&8o-O-2Z^p`qiqoGIZRJWY~|2) zu}sYo6=&!B7gsG(b)^W26tx29o>q0MTST!85LbL)|fW5;E*~5|CgCPQc<) zCOUc~7JTIB<8_(rfK&d-35v_0I?^4LWzS`R8bc2FDrrr#FI+g7lj37JBZ8MRB4o8{ z6%%Lj#;dCD!QntJ_oFKWfouxF5v<3;nXYhIz{sC(^3_q;h3~%YKyn8^e}0*Cu^%&X zW5fnid%byS`5QFfs5k#$V|dv*Vvh#`;;b>C1-St2hR z-_=7Up#Y0iVx;gn(}Pkoc$`~Y3!Tp!S+c?~I3*BxQK^U%cz%>qTJ(?}XF1=h5{~lY zJX5S!IoV%5hcS5?jVI8ppE9NYeAz!U0dq~$ZveYz#gU7iIdmsBs4m;^~ zA+cR79PJW>l7xHBy$Lm7p717S5T%artXeiI%lSsAkJPr#$d)hW#+R?;B(Id1?dS6r z1;v-Gbep-)Z%?()@R=hq5n%+QeegQBV^?nt;xFiCC6O_I&nns1M9h$mOi9nG@}W_O zq&(Xt9lJO5INIIYBcl6BZTRt7IV*Xec~7jQrDtzU&I z2wenFNiVj=*gLU}T352QxDH2lUomp1{Cu=G#NDR^Bh{Ny30{W`$U*i@u3)M>Zjd|+ zU-e1XPG7xu&%ss|+ZRqg-6^-h8)XK4^$T?~m$(m55S+$?C?iO;nHfV>a^V?Bl?_cG zq5=e>piC1U&>7IC^=fP^*JBe~6kdRDn0I}9J6<`?(lxn-tb+i9GZR1 zyjq~}Ahi+174CG6C`FP1l2B6i@;ib3(V8xVy zN|B2szp^K@3fvdotYn@$6oM~%bZ0tu(}qfy;X&SHNXJR{EI77Ck2)~xa#SX|1HBQ4 zo2USv#}i^k$a6+Gi0z{ZIuFDDS2Ep;qu{mYsXUWcn0gk?@)*-ZU~6;CU7V8elBRbHK7h zk3ogyMqyDkCZFcX4LE)NrBU}Aoeq}^dD^ZJTJNW<;k+XOPUQI#Tu9s1braEi)miBpowH$$%XM z{3u6r-C%MtNJ+>RA{Zh-T>$rofxGCf#wB{xvFoTF2rus29QU)*3f>}TVSH?MdTe}d zLQF4448Emi$HwJg%}5zBe87|uQ5Yp(<1oB?oUbcFHF2>oTt$g-Ir;HP zCCPDFh4G0csc{)a@$n_;aT&!4@kN<&Y1GkCk{q{mgBL3!rAPowi4p6O?} z+t*uMQdAU?l!plL{Iulk?BtZZwB)Ru?*ox{uS*f+%~x1 zEtk8lx_Nkyzg*+GfW zcvp5x5NKze8t3ZqzvlZ;c$@;ozaWGa?k>UQ3Rnvf`x*YMB{z zSSK4U>ioQ-a_GI^&!x=uCKVv#xfvAjr;U4hkJHif&2DwLS7Ie*=EB}oc8~o8CjZkg z`|t(23Y|})T4)gk(3zB24^k+TXEv{pE46s0WoBiG{|F7*y$hlA%7n8jiwzmp3zjgt2Qs|TbFj;L}={x zbQcfoR?h2(YAg94&e0QYb~Aw$aD+sDYik z4!?8BF+Jfg)rFBK^h?#02Jf7E$^VNzZbisO4ly#dR%XnF=5$z!(!*x0FXSFAbs;DK*+8S44vdd@&X}m{$1g2DRI4Z4Al&=Z@6v?Zz*NBRmM&5T^2bEAOLWx&QvvT4sl_zUv+jZT2`RVSf`@8j4mCvr$^^A!q z%h`^3wR++WmbehF4_GqYub!1<1(wf^#W$%57|)CVmdvYfCV*Y?4*=^q1y^1PU^MMS zCCVXSyEC5Yd#|p0b-gkBVg0&pb^7+a5B2K@0oZJInFO|(y+go^hAFz@4^*{^AWha% z%*_c7OtxhJdtfPm4cgC3(bNy*=1f1PN8BElx&z1fDmJZcf3rS2U_bbp&3 zfK8QnHF62@yU>t!z>lDAXtt`z7R5&X5w%Z8=VPsn@80>y!N46&sQ3zzI=J&Xk1}0Y z=%*r&S6QJ#VG}Cys4W#0z(^M6)g zpHFd-Ua(^SiSJB`YqH8*Ox%bbvZi8Qe@mdLV|Qq3)6-OcRUxVhHWyQaMo{s&F%{bE z(pu3}HZ`SLRjQ)3%ER+nNlVD&n%MksY+P@xg- z{>4x?XkQccdI6tvM-_Lx;?0E{aBJ6^? zf#*SW$MH?n_k~bR8$!-M{fr&2nhyri3Yc#6+UnBMNKQ_6sC`iywSjz^*qr+S)OPBh=?o2w`yy|^$d+nJM9gtwC1tis}~EN5<3K{3AN z#Ts)A8g0;dZN#vCm(}~o%}^APQdq>rP(q~7FM*gm{#KHoh>|IOV9OO<{(Q%^$y{bG!Vl(o|yBj+*e(Iya)Yz9a!Dqhlc; ztuQ90BqchnC?=*bEjk4mxN*(&{@<**Zv2{0yM43f?lHgq*mL@tM~448zwaAs{@HKo zn%<^?MvURAE&VL<7Y|-bcbQE!-DUQSoWhC0Jm(3(JJv1$9-Y1ZhaAL=H71QSyBLL{ z)8dv*#)W2;<_pc9#b11$+w6YW@k#qq9V3=fPE=Dd28U1cUIJg00D6JEfrTZH$2If zk>Pfff@K&zX<1_&g2pawX4dFs4O{iJqc6IM_1!#orI~tA`F5;`RwQccgpdU0y52qf#F$zGci$|o%Y1kz(1O! zi1g`ft;P8km|LM&&YkU;0e6`O*uBuL96-DV`aGFlQ0Oa1CLQafv#}z}M&P)Ac~WS) zu_KXZM+`_i^lHf6Cw0>@+~ROdOz_||siJ-7hp;Uh3!t6!t4J2b_N0J&{YK#Z(&}Q3 zK{Z#n_BefgV?twmV}f)H8tyN?OQp7VtTkByKwe-*TT;ONO^nG00LJX@5FS+N!8-;I zo;Nv&9}c^4!H`gwV#^MAAlML1FqE&<>Syz&RKd^YB@Z4y(Ms+b^h12Vly7S`0m7al zup;PyU11o5j~L{iA&*gdx;L!>o;&;l2<}Lc5#EE(PF$Czp#S4~+iU zI^?rW{Mn6NE9#uya1{?2b!yu)M|J5l>a;dzjOx~F)R}Eh9o4J*sF59pj_TWG)F@1$ zOI<7ZFiRmv;_w5H(2_KYe&Lo!xOsvR3yWHe9dyjL3q1t~aPzKLO(C(7t}wmOIKO9E z?FFT^%R6nXz4o5k&AsN=-gSNT&S9U|K5_nW9rIIx>61_qH8DF74IEw(oa;MK-~k%p ztQ0Q&H(c7Y?_g3t@UXqoVANw|2C39;%0OKk?pe0bv5O!HDD2Y@3fqlnYn#j93Y(rh z?C0Z3Bb*fKaGWTA?biFDt@p>+o3XKJfHpa&JBsY_-BarN>?RHSpw3;glLse=02gHJ zh4-Oq(6JCLX;Ib0JYg?(`;~V<#63aPb+3P8(1k3C~uuP4tsam%l z(9`zh5X(wt$)d-88nBBWO_N2`GP}vaPAO?(sK?d6y#!@qyW(eb2 z2ItzF0jI~SU3YPktV)8@j2BGH{|{Rc&=}tSzH3YZ|P7%N%z#z;^pbmqQ$E z(>z4Sz)4`Pnln+mPLynnrpLi+rawy6e;fu%9>m!Mc~CW>l%WP>PC|J?RA4QG_~|WdRm!I%9M-ZFyJIp*5xAwri58r;?CK4~{|>0#6pL zNSmJkDNMzWJ=ez7wr%UyZQH81HsTw-4P4XvD2x~a?~VyCNSfddw>S%axm!51v|n|LEbPMFY)i;Z|yr99Y4jwrWH~HOGX*0m*O(QLnJqj$N=IEKCHa zWph1$RNPU}EEf)kWh%0nys$BD!w!K2OH>tFIQ#R#Y7rq0$0a8*TU`5``{Wn_@+X33 z$E`%*PHa}FFj61k+gQK};AYrzI7k`2v6HW#X&@6DJly;?97_u23C$Eg;7i+5mjX&# zhoR8waG){@Bs}*xOC_@O&bG|(t3eR8fU~)3BTiVi_x>q6>>j3X$^=(A@ZM( z@R;1nvS(u=!z#a5%O{UMyrzh(kT`odU>T88!Ks&yW8aAukETFDJFX@I{2OMFwunPw z`QeCVWXnN#?`lh`ifiQ+lpkA4!;apGdZrVdPrfhfuUdvtBS2YEwE#blX=fsU8Hi(+ zAu@-sxM<`TV%Br2E(>ORRwx2}Leoos#C&)NjZuh0mXkD^61#C7>3(BdSL`nEfM@RH zvt^T_DiZpPGYHmDXoxsg8J9y!J&2WWcivMU?wK9++1q~|SS&Z&iAGLYTUf%Dgo-4D zFdco*uQqUrAyNo&z%rtTn9~suU)=f)mj#?XL)D?srk_)PBe>?md$89ED?5t2y!nRf z6Vwi$OV5_q>QE^BsCJk!vkHkAi459YL=Oy2N1@ui>#<-)3$`W2!UV4=qSF&aiwSn- z5%!adyU!dG>vRHR>^;)_+ny?m-~^wI`p{UYCWP%QaiM`UAcThIauFT2>Os&@+$UJ_ zeDOkuRW%GYA@#KmbBt$*q)UV-k^*Qi^I8GXQi_{LMje>}H8~+|0!|2=JRA?;6u)Q2 zBlm749>2ZYBPi40RG+@SF2Fh=!zn6qt_Xk=jC@PN2{!rsUGNk-5w!2C&D=aW*?!zm za@XZZGxN;f0TBA*k}V+s67x6(DA;`R{~sWWM^f$*^O=kvf2W#3Rl=0Y$3ZJmwE0l$ z5T@V7A(+T;C^j=CYywg9^iRBv0Z>s(0GSs&cC)<@5cy(Hf3bGMyqAu|?oCk$)!HzT z36cF=&J4*!3e@ZW+nJahDug|TMlf}h1`!Es179_^9G3kYEC{U7n5P6RI!@-*HyJBL z3p8Vl^BYsFzFj$Ku?BDjffgDs6^DkhAZX>rTCk^!!i;p)|8Y88G=0yRfA$YOE@j znObWLSg)$MHR*7YSKkht*45p|rXhtkBckmH&{S6;cew4RWeVz1Nc;_ySjS9ocW~!i zkOdyCpj71o@F47I3VM?>I3M)ig){58DGNK11zL-=zIAEcc0Kaoe}<}aA&qS{$S_wPfY#UiOyih8sQ>p=3Fc6rlXu1D^@99x}&Ho?s^6$+!9 zU#{%uj^J?U5QSoamEh^@Vq)5omUIYO?vc^izyCLP*`}l0gMfC z`23sTk!!{VV!CR!ftB@&sE&v}3zv!WD|Fbp0SAEoVIrCkX7CY& z@mTwiY4MICk0zJ4Ujwl*h>BpRcCRe*hqHavSX&2G3_8~#Jj0iP#AOqFATnT{0@Ym< z_KNugoCvBy>)s_!{wt! z*^BxqkFYs$<~n{NKU{*A%?S^fi(H&1N(x9lWboc2z#2`S`1pOv%4`flC!&;pnzP$X zl;>>BmQWrj(Y=XNOU<(gw#W_?we*J*npImX0?jA<^Y2fpLlr^v?y|Nbl8`eUHbXIJ z$$YS-rkY<+=KpZcGi&Dgnq(hZf#J*MbUqJSSvF?^m>kP9%wl!Avq75UmmLh7iVXFFD^CO zn>1x|nJ<&ri8k>Si34=hu)WA-i#ZAXvKVA-t+IH4*XcimMU9rZD!+L-x$m0tOSM$; zGpVDp;(+dlfFoA%eBz3_+#FNkL1^)nXprT(+R6~;8-E`HHEZ^=FQV+30uB@{lQ@%0 z^E)a}%3sKYg>=AAt$u^A-&NkkDbkRM)@YC4ScK(d7nkd{_~|UOtdN9%x~wkpsGB$6 zo~DqFiz?(ztlJfI3d$x2YIB5a6vtv<#=`NQI-N98B@^KXl9tLx{X%Eg|06MbTS!qz zT~H|Nbd`%e$VF3RZVJ7Cnw?efrbnR{gBGDrxzFldbULT;{Sj}=$OdV=G+U~PCANaU zyEz`X3Tb`9k6t<})A_0eKc~G)381~2#tRqqGJr;qru{8j0xPU^P~DC)j&6__-G^B9 zW@cnrArg}bAo9Ir8cV2`b%LPEmQs+GX(zfiRh|vnpz|Y{qv6~Di9K2@xy&GG{3DS5 zJQ(kBJ6fm)cR|vLuM`zT;zjkNq@$eks?P&<>CAa32&dwlhd&h|k@%@lu9mOe6hv_F zSQ+egNPxU9k_|KM0s49ZD(81CEQLh&ccM!v0=5Rnt4dw31rptrp~EqHKiZ261>4&w zULTVok%gYLJm*KD*8-}srI%h|J1?xkIJGkeyX$dQlo zkf=6KY^_1iw&2`WscR}hLjXT#z$1YMD5@oXposcNfl_f7PB3trC=rPl?nD*b;K(AT|6W79KCp0Oi@QhvZo`h1@bTj*%f`w|&C;FknGSMay z3uDXY%@k6z2hE#qIw*C`FcaTxMn2_CoiK$C2^3DrNo$Z=u(-%9HBY)tSoU(J5^+gE zDYgMje0RQkGP%T1@kr9d)xaY<=TIl01ZN)~KztVrlwzO8M3c7(LirYG1PKilkz`9G zL?KTZ-vt;k5d>kB&9wlfh_8~Qg@Ry@DuZ0$G>eP6P}FfrmPqWG#J$waRPY@jqD2NB z%(5l&FLljwX=Xw`Ar@!f`~Znz(Z6c~AW4$AQUYq}JnwBF6e~Rh#0Ajtm%2VRllg6w zN|+xyW6-vCoVY?-u`CK2<`z*#zXfEp>gIdJ0W|s?nU4c-1D_}2dT5)`<{p32GG8(N z8gzR0CbWw!4;=mrAh<7eeP*sn>$!I3uYB1$J=Jra(k_U>cqNJyjGHTX!wDdBrfb`1 z9m_X`11acBU9-)6f$O+#bGB)@3C#_s_)nscZ%OI6Ja9Ti*ErFRh}en_Ac-$^eQxFs zTnhoL#Huy>B52*1>eDLbm(VI%9+%lnk)}ws@<>wvuRGW4BNAK#y`O@}R6IoIlA5&VUMb7>)OIOxSnr?Fg5-90v0T>WKQ5F@*i9de#|I`SM8({{UM z&(_LFPIsIYH%|-rIk2P{&Q)@dW&L>(9OdZ;-su5`GkzvrUz#x z=ZKo;`6EQqX+)ciw0=p=KK+rYA9-dToRK~A!&k2FB<`Ow!eqtX2TUdDB>~MeBOz$y z+cdWO>=?_5zM|B%6pzuAoo|>?!QgB*_wVu>pN>Z7#>8+wG~y(~jWT8uX{sZNW|HgY z(+{(5e$2;~t=y;FaIy0>2i(ibyBr%^72}P~h>L@BnTiGbCdR$x7$u>+Ij%{7l5-FX zC^}JKOJ%M=iCL!F_NHBba`Ps_&FhV;jrGK3$Hz;Owt%~<0IC@RNq~~m5CO`x!Ifvr zbuLgXK{=UL2z)bMxZ)E%3Dvk9DGN6%sk@r^wk}Z@a;HwI>pNqL5uj6Ts#(bceL9WR zI$vrk4@gpyJFzaootTv*bkbEyW~FXSX`xh3Bm9*HAv+gJiNld5`MmCkjd$*LNWl$D zRp4gJOp%u)WoCXQpJ7{(QDbR9m*-?=x-)9i-MAenB`Z7NdLXY*Cf7d~gbR3^uEe`Ucoa)h!)$Q^~eQq>{uG;f}ko9oFrn(YB^S)9-# zV`gxMr^$lzDY8yJl_D{rR{Ut*yvE#`95=4V@#aShf-)7D!^=vJ-obNYr(~g=7IT&{ zjX2N_g8$50KsT%uVNOaHptyM^ByF=0Z{B)PGibl92ayS)EvCf=cM zTymo@j~s{tMF-i{5TfUE(YOJmXiuTXI2;vNZOvFYZ+760gb+9n0zqqB+)z|qSkGCV z8=dt6p&b8g5ZZ5X2!V4kk#d*R(al_7q;9}LIgUIDAx}uA|PzgZ;alGqTgrQG;pa?HhQ+uD3y??BoeBP0rBWE|hZwmo5+bIDw+uRC@mZa46I@D{s z#$yt9-wYh6+XV_3ZOS`#;)wM+HIVh1%ky#8ae2c#LrV7nkT<+NKJ^7{p1+0ia)_on zHISy7%ky#5ae325LdxZjK;ASE3~Kk>?~`X*y%9HcY9KeYU4{=_3Na7BuG)d&`1F>^ ze#Y7?C!4cTr`fPkbCEvQIgas_(;(=gdm!?aKKOL=?LLeo(#$`dX2U;i&NevaxX1w= zA*f4Fh#UYa6stX)fN!BiEEIXuZSTBK*KGY=K#O=!DXCMt}PZpdbGr^6@qZ(zHANs`6p= zzhI{5iwka^LYiw*G*z;AgO-H~D4-2Nk$LbUMMj)j zGknaXBEseJH6U46_t7AG|HsJ8K59a5PK6HhXhu4OzkshtY*>}0WW`WspdW*aXS9B& zLh_hS_;kuJ8#4tXM<$tG7+I2w88ROo0!gE^ZIVSmyuHxqS zw+#8Bnzn=d;MH`GiQAau6a6f8VMR+Xl=NwBh()bUTlGeSYHe|e{~_Wq*$n(H<#891Z-j*H6I_MBP%$T=I9k9fE8eJJuTnVldv7E0*eYACsK z!YO^P9pB-i2_w2sxV-(?31^*j%{3iHPZ-(ds;j%6Ibk$%bLE8IL-`W}22QxV^VkWe z^qFvVhw~?#*5jHhx{jG}Hk6phGRn<194r+|=w|a$7w*q8k3{rHIgZ4NN9a~}{z!Mz zs6dab0kN=nQceAK2v2wNa*fv^R_76@A)Y=N)^!WIZyAZ&rK1;Q2xTOe$K zum!>v2wNa*fpDbE|Mm!paQ?y;APb1t!|?xM3xq8Ywm{edVGD#U5Vkv2wNa*fv^R_76@A)Y=N)^ z!WIZyAZ&rK1;Q2xTOe$Kum!>v2wOl{ARH<4e<4aDoX4;Q!aZKt0$~e;EfBUq*aBe- zge?%ZK-dCd3xq8Ywm{edVGD#U5Vk_v6aV*Qz3{(y^=7^CoqiF25q}k*#s7qPAW)427D6$cBM>;~ z^Dw;Vf5JttVa5}be|q8!Xg`@_pd5=_lgz>R+aPGBmq5`I2ni*jP)K{TK1kb-ryqb+ z!+>KXy9B9StXR~)M_8-mqOODcwa@vQMVAbpF!7elMs+>J=#M*DMr>kAdUjr+vrYTX zU3>KIKXAz4ZqBr2tX1LA3HM&oCw)4L8$J26b;tM3d*i+fvNo`Y#Icj+)#(wtKe})5 zTo#dh$;@N*dc=XL7sghyWh^VZ&)D1l{n6qIU9a4?b=|VLpT6c zZ4-|?-0FebCXD;j@OEFY=z(|5T(olY-l~0i#HzP$>9m$PTraMz*B#~0p8g4Qbb0ki zt**V-V>5HKeZHzvca+_pvWPiaJ#@TUcN~7Qpqi~@kv*?|c5d~4J#ypBN6yRrh(+W- z`1yhDdc-du+!Ff()6Sp2N!J#P-^d)pXL*k4+OFZVnIqv@ca`p#cYee+#_m3-Ye&vo z%(Nk8hjs1kj2gC%MHF85*2*oqWA#(RKV#a^Ps(&{|Fu6cEqmU2U0YdL&a_Kc9nrOC zW4>hCm_10gVN>{pCEx=z=-N-w-vX~2=@#YeW$cOFI(zpQrnRZr zt7}VA>e)8t(9T=5M0f0eBnJ87h}&r`4`_Yt>iG096Dn^ zV}p0)}}SE9n2AZec3|Y(ePg1xs3hmSDlsq%-Dy&=xi0xe*v8@!tmM( zJntP|!L+EYJ9Vu(dlh3hK-3QnY!`FHK5*zKUHh*00?7YG*F3$KFn0QKC<5w-@YEQf zdj!cUvJWB~+jaKpYNq8?@6g%!Mz)7JA|~wlUe{){Tg2F^6}q-DW+`J^mXn(OOgqzy zlvVjCu)ZFon0JV2iFMm`tv+)NW8dLJMY5aiW!mU<-{_9Uzehv&=w&*40!4S-Qk^|| z0Cuf}&INOsmat`;&MrU9*v(sY_Sjm+#^e1?H-nm9^S{uw@_x`fdzr2^6s|y4cOd}^=~;Y~Wr zsbuU`q?xt>itzgk4?DuN&f7oKwaVcu8QYCC?eV@8@0*Zz%VvOShvt-d45@n~_0LGX zaU-cl@}E5HDAW2M{g1A>FI&x6!6KbaLCxs5P(Q?2RGH3ZFNXE-J_boEkkq{q`GKgl z9#)AWt9xH(kE0j|ETZy+gsBU4Rs;*5v{7e+P!=8VKCX(fM5HM$13)TW57Kr=n$tF+HUP&S536SE$+vZO{yNm)g=iJ6 zAYH$OvmO9O&DYtpNIM()#-Z>} z!TX&^`wG&|LfY?<_Hz%bMFH%89St@f=9`5y!vWx9ynlkU|3;cJr2P`_SxEaa(k?DX zCBygUJ?uCd@1oaq_7##YMw0hYZ_+*ZFdu2pUazxrS2ETa&(251`U+{+BJFedel?|K z|9C}bkHGNj=c7?1LB{R#bhaE-V>=#MhNK_h{YE66i=^APP;JK#-94-h(qBR~hxN*l zCQvC`99p^#; zno5ob3KpQQyn^?ak1)2TOh?jX_%_FllawTS5z?e5!9ZtmT4LF zc(el&QmN9Q(FK3F+szu7R#1nuYmxRK(o9C$op`T7+97!4TU3;%ko0TRv3*FIf~3#k z_b!x_ef%8SBurO17lVNV9|q0Q(RF-*2YRe$T6{H9o{p49k+NVr(_)U`haHWqk+GAX zMYTvo9%_Hm**Qr1{2ZOdpi^n<#xtLytRKMp29#F~61U#Y*f>aix{=UqE0O3wD6pGQ9OW8PS0Qyf42p$Fy}p4`e?J+WH`3HW;k9^w3u#j@zTAx@o;I7% zE_Or6#VGAcq-~G1e@EIo8kh%CCh6=Kq&beXKVjI6szTya^udw4kmfCz{W3^duOTs6 ztHVxI;e#YMgC~Dtg&x0Z+QjR}4!_{0(pNv(h|d0G6h-YE^s@QL;#oiFENvh9b|h&m zLSdFc>bWSyLlD++Cu3uPPXC282pzdA7Tzisb`hW9)O%GByR&56gwX<+$l9gBc%y_ihQjYBD(dSEq1O9-iikcS}TB?!rekPg6dJOeqU z9-}R!9DtN=yP4Js<*wDG)iDQS_pCw91MqG@l7!Mb3L#|>atK0lF)?@%X&;Ah>N%c+ zv8h3H$M2T|$y>)s!grVzmA8VvCxGKTh&YU-C*hI7-{~w5>QXAv{Hx>fmudJ=nF=X; zA*BZ%!OV>HAt|lu*6M619*!ylpjYuM0r)!}`8TBGBkOkoz=NnE)S0lmfp`yO^n%*f zkg*&+Cp#4)J_httAYmsY9E5}&kgyjL3Qz=*+o1kP3}n5654$5FV>e{ev9!6-_HYzy8ttz9w;tB%AJtV2eXn0s<;PRk&GYK>8uJv)@q_Jygon|0B#~8~f{1+( zu@544Ktu`ZTX!##V%CN31|RxM8U67D%3AXl)G!u@q)rt6J9z&LBK9Kbsi*|qzrpW7 z_a;#6i9lIA00|$#DBFNyz&^}tsHV=w5I6`ZcA*lEfrQPFum=)egM`N*0iBbUQG=9M zqdCVM!BpE_3>nnZo(!3#$jL~ExEvzpKtvi$(F%Xx^)04&k!Tj1AfpY?O$3TE4L{rj zSbv?7$d)4@68sgIWg^)C6`S06hmN?t+NP5OEJgyaW;FL&OeLi!;{k5;JF zB|^Y72)Gym#zDZX5U}kVT{{+oZfi9pw8tM-Amtc*F9U?Fkr1&FB2Gc$%%(x?4a_j+ zLd1o5vNJ?H1rb}3@DEqb}inAA^jfc{~5D|GRgv;qpI~I(r+%uu>3-RPO6$ccXft{}ER}NWAYcIo&r=|{KLoDB_fuh{vjFIF2;2@qmq6e`yq8IV zuR_2Z5O@XB72y3*d_MyMPeSMX1mp~%sR!iDfYC9Uvk{OtleZfP+z&zHA@DuCAA-O# zAbbr1MnKS45O^=%Pr~=pAh7FZOdO~?`vwU+!{`mg5V;yZoQ9c0dIK{3By=5xs7oOd zOE^{!ksBd$iU+E8puVQyfn~_`Cj2l0GP_|sx)vbG+S4Fu@)lSf?`NP~@8qot396*T zo7U=(w*m5ANAiCI+6_QLd43q*PldSdn95Kg%&Mk73(MKcR0v#&U(STUjX?M*GF1tA zmzOhkHHtMA&3HW|z6l9^A?YVbyaVs8@qIWX_JqVC$g8&#TGlHNbO#dtg7=ZA2Ln(n zXF?!l`AYnLAp{md;93ZL3*-1^WZ9dAto?*6ufY#PA+Z<6{#g((4V_L#Juq&KMA8-b z7iB}Mgo6a>-WUzdmv2Z8b$NbG}mFUn>WBu>SoYXwPy!9D@VmH0jw68m9poOl=@ z8;dY~eE_0*K;#mC8r=zqMem*2FhQ$BWGxjM24MnL=hTz5c-kSuj!BPy^s^igrjK+tpk&rkK5--H+G_DSV zkf#7LcS7b(s0rVpm920{p)(-lVhDW+Lia%EU!~Afuolgz`~(?A(fC_h3*&-Xgxg>btC#XL>z*MUX)>a2fkseG0x3G#YXYWfuxHeX(1$?4oTY} z>E<%bIk!Rr&BPYs{bOL63IT&*vBx3sXMFDoLBp}yirn@o>N6z$2uZZ2ZVO49F`R9M zq+8KE(_h#M)1pgX07;)9<{g_L>dw_HBJ1Mk)*RLy>)*W`rTG(t%|_xu5cYQnTMl8j;`>PucE+!m zA$>`;7Sg_kwDr|<*iK0625B21?XF)~RBZPP?tAM8&zzX=Kb`jab5GteG=2lh2~s~t zW7r94+dPcr@D3JYJ45W5*w@Le`wGipl~&!7!7vl5#^KK`2qs6kgz=^T!CrYx2StC>*w#HieX~9 z4$1CEvTu>>8zj3Q%bYoQr{_m4M;G%QY8alMJr%`ION}*1@Bk8gg9P8=!F(jR0q<>* zU^Ei+`yO23?ddK&j! zEZmX8g%sy4#f}Gb9!f-tkCB3Ab-y6R!$|QtQp~BwOl2O;5|E+T8jt6iH?y$xldfIrcEV!Fw@MT(AUNQ4mq)K#Cdf>+BVDD9e%H5hVB&3Fe{| z#2?2F&9z8TgcKJpMhW3NS?oh3pasY>BzO!7W+B0Rw87~M2ow?&BEdySFk}JB4i=mK z0ak(NXqF(s<4Euc5-dQ1G5GtJc+bc47yk^X*gflk=cj$3Yg6N>k3)hdkl?z-Uw7LGAqu z+TQ}CcnT>#M2aQo`u76|O+B-b;zs34*L^=k7CzaBKVdm)oBB8=fGx;!I39vy z1{|B=_z14%Ib6?%;U_DddmQ>pJbmoQr$Fe;`7jLAVAz6yYMS|9z~2MIPgk-~9p-%h zG&*}?3hh3hvX{c~2prGAQ47aSwDZUru$%?U*f<_g+!RMY1k2;)L9Fgfl(-m{iLg8k z%Qkj%@9(3fFTne5SgyzIep(CXyxUM(`D2`V;8+C5BsePI*p4Qa!SFp8-U-7ED_B<* zQF#Xpk3GsXXZ$RLVKNL)!cYgpPY5#{IRlO};TTutN73~t`O!!5#hlT@EQRAyIHtm} zgP6fPd(q8vu)YJ1pTTiC(VxZwSSC;AL;^=89OZC40Y?M<`4SA@f#D1o{(Ct}$NYZ- zB~P4;0zSa}pAW+n7#@eA5r*#(b~#c6$7yipOhQ9&yb8zTaFoM=e?4}3 z59*%@>o7Qev5fh_QuCiMJj^xOQ&kYJ-%lLn0xaM>Sf7CPF<6@zpHIX2EjWwd{3V=! zg5!H|KE(B|{jO;Eh|*czcwQ#MI~U$3;e8a|-SB>mE<98Ob0N&Xg86@8`VW}3oxYpn z>B!sZfFozK6ub=U)b;KiXPx)aPkru-pS|S6=WIh`$Z6(iU9gXSorb^yZ(6H$AZp%akwe>xps2Q%Ksqc_i&Fv z%Dr6g$2#4}PWT(F#4l2rXV|A)^zZ@pDa$_0KIIW4q&oaguYzkI_rF2J?_m7_B6MJR z5W}u9zNVZ0s0H@KeS{&xuYEsR$q;BKxD;cPl>E8Clc z1?+&HgK|0>xHGj9-OUE>L9Q*ZUc$gURKS-L0Dg~*-@yArWZcD7zL3vSi7$r|W}?Fv z*h`ir(K__4*vBp4r*iG(emwlYhVNSV@8miGx;UrV3GmB(@hlsm>$(3ba_@(}9lqbf z|23}1x&H(FH^cWM_;2Sr5q|k1>fxUW|8tzUi*Po@Qtw1P_rcKt=lKBk74YR4fd56r zO|X_C;x?|6XzMOSoW(9zhx+H)t;@xA69VpmzLP~kd+;e-k8uAd_N zPJIpj>F~b*zZ{@D;J+LCF8FSM?w`3H=Kjy{|C0Nkz<&$Z$Kd}A{C|Rf8vHN9uOT6~ z=3UV5#ea78Ng`kS3Xt#ykiQ_|=WzZM34h^QPKV3OP>F=6;hcj6t*>83!ky6XW9u`Y zLHH=w9`0{}Uxz@M&p&gW0{>H7lkiu-HyeKKcKr)7jFY7u4JPzZlOygl3`o9hRU!Z@3&Rn_2`?OSnyWm#< z@4w;Kysm(MKG$2|p924U_}>Hn*Wmv%^oQa97W{wDRe{I5;U5eAjqqzyKLfvv?4$6P z!(R#i$KbyT{y#x~g!!atU-R)f`2UG30VN`-m`|dIu^zrmK)`Qc=);Zs zk)tF+oV)}PDIkv^;u=_fg9vHwc|?rn+JFdr%1j6Vm!rmCBI4Ig0e9c&M$Ipq z0vrX`?CA+&n?A<$+6Dh4`2P#~KfphZ>&wvp1J_-+Ox!*gSD>gX5LDp>G`ONGC#>Cd z@KjKg-ZK9;#f{#<`xs*W6ShAhMw4B%I%d@)kHX>0X1gm}{!n z70?qD+V{y8jytfX(9{jEz7tk+s=`_V>8-G8wk?45GhADYbvmV1Vby=i^;S5qhx6TV zZllnr;naM(9Zt=&MQ~ohwbeL($X;$dTdH#oz^XvaSXj@3)m)^o{vSy1fK^j$F|3z! zZ8O$)vsJv7UET0nST`_2ehTY*VBJEg(_sBKNbiJIQ)>yVmvL?HRZMa|JH?ZDx?`W; zOZh*5_b2e44X=4U;g#F)E_gMsmcsjKt{ujEEn(5aKV^@89p&!=bsenlh1I;9uzmy5 zdtlX^S`PkFuARnu_U0f~bybfmc=yjXY+>C6Sqk&}U^X`<%wLE2UYNhjRhqhlE9IVI z3T_GtHjcaSxGVhIe}3vHn|KV1`w{Ht!frlG*kyQBZPh`;ANJU(Gfs&A^6KEU9rLE% z{>ZC4I9~l6=4)YoKg{NxgjwTO!%?MxR$J|} zx!wZL$LfN@ZKtz&WYa#0^^*PJf5CD-Ean$n%EHfn^INbK!t#4qKDs?9C>KX;__0SB zd{~+Pgk?A^=Kq65?#{2QU@yV-$FO{aDD@|mta1BeK`e0=9RC5whv6_69~?WNybO+Y zT)zaz`EWc5N9^=^j;hBlZJ_Hz7P;K!!SX7kr@=Cl>jk?V1NMEm9xpxdI4!JaLPLH5 zC1}4r8}f&^@2FzK#P#GZR#|4pzp}Ug-4htv9X>)O?aIwC4SE@+HPCA$HbK7;`d@M+ zS%3pzP9Y3(&TB^MkoqVLikVG=L7@dLuH^Z-yNLw9b31;CXAA1Qt1$+LP7n9NAvf1w z;E=nd9FE_^@dzP>zuor?_JNbvg%BQ_?$_s=$sH`z8R44cev|hLI8dzn3vR8?^-O1< zS<6`zf&?7j4n%hnvXzI{4MioK3+z3dd=?u@(ie{0o5RVYyUSScb!L6)yGnZX(mH z{v(^%=!3a=8g{xFr7or+d-?J`RIr`vw-^so8N0pjB)#k%i^*(TKxUo$COlWcGXau6 zEaF_p;cIUpJU?Nhw;K=knY)-Hvz5|TF#YAA;NT505-*1xhwP04_`V6><%<}lefT+V zCoS@{Zod2%L7yv5aA5hK!%gsmws}Ep;dwZZ<|1^?GYCBaQOg26B6xE5zi%<-o_*cw zIu|P;o>j1|ko>)ZvmQD58c963#oUkK`}e0gQo#171-R7@rO@y~{LLITPksW2b_tzU z*mpS_OZErr$Xe{V?JOK!XDa-diorU9F9*(ijXeMxz^%wQud@X!h!g)Cz3AY=dtl?y8sCz*}&bs1;&F^>)}%*N*28P#)f!M z(EI3zm?|~Ysq37lSO&W&p>iJ1oc18r`my<}xoq8T!+ZR}sVVIEf1GqJt}yoX`F(4H zf?dD=0N#yrcT&jlE2g5pBW*!!>9BcB&WG8qEqfo|E^Qzew&f~Zu*K`3d+}o@lxzBt zhYnT;g~y)#rx@!0;7-cwD|wvKmvEL({-o$-Dw-k#xAoWL3!nMB)PbO&`bTGwfB5C; zk~=~xJuW|)v|9t(ypz!d#pI>~`k%k)^dF$qepz!4CKV0z&#r?XDEa0uB z6J5aQe|5u;{_|U3{p|T3S>~9}%Fh26 z_hYi?zhJrN$~FIc^3F$)XFk$>j{i@)PjUS;f1d?f5g8H9;D5GCb0{CYEzQDbt{1c@s+x=p9 zp}WX^oa-kk^ONoq?xXHw?h?LT#^;6neH_>)sof{|_A#&@H=JlkK=T=Dp)C7Lp}vBD z)$wv_c!jlS1mBeF|7ps&l<%ssGVGOIe;J>jp{;*U*_UuH%1@hiimBUWly@=zm-2Zj zAMbs2o0Ay5A*TK)~BpYQ(0_X64Z`&v`UR7>YVSJ;+LCHoRCmC4Re zb?r}gBwN~3Es0c1GMz{!)9op;^IK9WeShA?lF3tvqGU3WXvZ*hrQS%!5=j=@eTS0; zi9||C`9&Q`?KBB_)#k6Q?B;sZ=tZt|Zua65d3sK1jt+BooIa zBFWT3`r)K&Arl{_{Ykfv)H3%^1 z`)iVE?pl+WthPi;vcn~ko8d&P^5_qv^Mu@bgIE+)tmOoG6^SekoR;zgsU zm;@USn3NOj7-wtk({&PEfSc`JstKI(+g;*$6}H8#rSvUs4dsZzrPp!TZb%-aRQ3)5 zAWLUYCuYIO&MCbnxfL;MP_7FafvqDF?x}TW8SKf#j3gRQua)ZINvxrIQfUJesIZl5 ziugqr<+V0C&v(c@Z3K?v5O>OJkD#qh>f_dH0 zZG^5Knb4;ilUeFFpst`YQg>oi(mIL~FhDM$I>DDvE5yZWkrqtJ=`J;uGU`gU=Ix`reZJ+T9|9z}!YXgRKq zNkc8!X{b`{H&sUBfazwJtMk-}$CB&;sYNW&EjINs!T1(sW$N{C~HifCP-;m|4B>b@Px{a!lXluSOs8cg}EJ6%<>i_%?+ z9bBvG+^V5PA7T0gwgmEYViJ;?pv}-@dnK1H7V-W)1lvXW2y{|UT(#1dD&`n+TIjg; zx`;eYK4ml9mM7lwaME>=>TR6MF$P3lQg!sSYTwP^OxV5Ug$D_U6T97V>jPLiO*#r9 z--CYAxP%$-4ekQ4&So22SXfooPUtNUz%8ETvgiR9tho_uAX{0Qqj0t2+CheVAgA2AB&%E^ zmB5aE1cwMNugCihlQ`>@DCVzas= zp$gIt%(!cB<+>x;Ow~H957IVvEakdoD+Lk7N^i;GT7s>I2kQ_^wC=Ii8DpAcDUSn2o07%MbSt{C#x{&o`Mpp zkNA>OBklH~G#3mRc5o4@dtz}2JIBBRx-5HsI^0d%4Bb6Ncf7v#9UaQUc-8k@!TwX+Zr;ps4q0cBPN$( zheXclBJ{`eCJRB?DABVgwg{;Kl!i>SyhEAO6sB>jK1_=tAv59`U9bZq=K}QxO|PeX z>7$2^mocFzdTW75*jQK+IF>VEq=!AMRU|QX;Xlj zcGR)(`7*rvLME)*YcyV>8W5$0PotUkq~MYwS`PW5nzxx=7hu}pz_Mm6F7w^%+jAU* zUgmZ?^i6D`nbh5~%`_m$Q#9ou6{WBRM$bRRX5Haon3Uzu$;Eko*E>qiZ-_7+rr(lx89G(+6l(os4G2|xO^ZP6^Cr?C(@y!%_M8{nZE zdXRCFjYvJbY+2gH5pAvDq)Qmv`!rBf*&aM$tZz{56V~%OwW+MuW71d4PGo6(?a<~Z z?0k|`k(`G7gxZ|Kcm!g%&SxW~Zo|{rtX*nCYD8VyqO^u0P`uVsKew91*tQ2nA&Rw} zV;xt7uxDl4+iTij5H(u&?Wg;+wu)OyK`K^21^0>{E3FX#lXW3GL3W79#3HZ_u!*Ox zlWHYpJKG~9wL}u6#5@UXeoz935##NOWH1IbkAg^s?o!qfIFa|;Ts&&c@wI0M#YS2^ zL(yIolb{aEv(5HrR41K6o1EaN*fBnjL%U5yxA*Z4Q&X=S=B?klaVAqI?lf6oec8w9 z{$qeJ1*zlKm!$HxCSK-t2c5w5pqiZ_r=5hgE~!{dYl4eSLiP^6AGM$4XvB8fPi67? z5zwfkag&*{CM$7|X`iyK@9^^liC0i-opqVE_*w~kr=i01uA~f-u`=G#5v9XylXfe2 zujqJTodvI%3~_H~r^x9~hE97gu~Uw2>EKqnox`)qV3++WI%|!DFs%X``d*5_E#NT- zJDDb$G8!{X7^dA8M9k+-CmVHF4|dS8gV>ft9qnB>Lv~s}Lv0pMBSTg2+?%=-Ux|V~MmVNd01S%_Q zAOo$U^%v__gv)K~5T~yO--?t4aN@QQ6ZLU6d>g1PNf&=0i zc0LhayMZcp-kzeGJNXy(Y<7sjKIf37Rsea!1~;zRR&n6~nZ`O0DG6EoJ&{+?1~0p7 zlba5$W_ngXJr2tKaI{I4q{4P3R^SAHu&Y0z30K)!_CxfBP<*;SP8rV zGBvK#6JyZU;pWk~T)Vfd_OueqfdOfUTC|3Hjy5SzOD$zDqJeS%*9vujR=O5#u%1@C z#8ZH=XHk<6;O0PZ>rT8&8_@AO_XOm7Gx+@+qnunaxEWTF^DdXw6xODQU*>&-N`eHv ztwK}{&Xp-J`IS%IB%<~D+^;6CM9QR*?wjcg0f2Ub+6Xw`o=* zm&@d#lu4A>u9=x_q}Dq$rMDvlsyb1WJ#4Y!_!$Ne2Aj1|8`(10L?xwTcWFHS)kqy( zE{_nuj;YVCsI#R8yAidei?bf4PI7l9m)VjSx6e);0{0(*kX+C1&LrOC6tiTTSs!y? zYNyBc*ZAtGOT7kj>o)A@HjKWxp>YIj)2N1Z>bS~VG@+}AW3jSL96X4&Za9i;Riid}Z)6Ng52?ArN@owV01pN3UKkZh+HaYV8;IvZ?P zCaG-I1J9v~r*WVAZpw?=xzGnjfa<#5{4(E~2JG2{x83~A5h#}?EKP+vlH%q1(VmATuWupTm1 zVV8aS;i`e$3QSWkt5V-tp4JaRPrXNhBSx4iGeD(jDM=OCO(&Rx0OjCuOel6V2vew2 ztG($)9#QO*KdY%-oqU%zG)@L;R?RW($U@N@I^j_?aWQ#M`fFCbZXAhie8awWh~Dus z6T)5lVNnP9u`c6ZpB*HKRwXpN)NM`J657u|`-RW?=}(IJ!TPK2&0bR5jcXxcAGHgrRB(%6^=^f7)xU$0zxL}J(dsX*%S zMHo*49t|qHQcCj-t4{tL7mtP&Euoms6qVB9%cW+7P0o@>n#JK*ODC9*4A~I3W{LB4 zT7VG5GMQ^RmqFPcQD!uW0km{FHYT!0qLZ#&m#=M>&bLeww_?-jOa$WqG~(|53KTI- z3sneH7b~$IX22axf63_W%kuP7V#w8p>@C_Y$p4!Px%P)jG@3Y)!jeM8dme4-wpa~l zaw2N-KutnT7?iDcmv%bMQcyZeZ9@S^fd-{-{3%zXLr@z@c(|0!JQK6K z*>dmF)g13QK=rX{jOL7M%d|gSCTuF;VpibdA+0-pa;eWymnLSoi_oG)rCL}?iO-xw z2}DKk-I!WCGt~IEY;1aJbM3b((e7a_z3PEIkuI&J3_}e@reCXa>mFg|if(5zqY>OC zXnen?+ny{4lpQybLUu|G;fP(zx(tQBev{0R)k4%CkX#=X@qq*8NssYHbZ+Bw7E zmh&R8Flta%pq;tQ7E-u8^l8GO+c*Qr22YQO!|k-MO;}TT*3;9Vszu99NzsaDiCWJt zU7s?S+cd5d)7iy_5?i>Yme`$!l6DW;tYM(i906NrNtK%c?2^a;;$R7N7uhmnf*3Q4 zuPKpu0a_&(Ks$|3E#-^h5iKo5bR&C2jtS(sr7W~vL$#(MWs&0SmcM`>0Y@myCtEwcfcWSM4=z~7hXMHQ)`Br_7lhLX&N zlFWvZ%vgS9rH7KtY&$cQWX8%mlw@W{eQmpjlFZytl9?rp4JDcB*u;z&N;0$TGzBz< zlFWvZ%y2#6(HKfH!>1ts)liZdN|57}IP_4GnVg&iu7{G$i0bHZtDz*bp(L}RBr|;Z zLrG>)ULwg*LrG=|e@|eYXtMn3p(L|N8$(HELrG>sNoGSyW|+sEOb8BHBn0FqrVS;T z4JDZ=S7Ip1j69r7e$-Hs83%9_Vjc->#!!;kP?DJ$iA+kEIVFaY%q$&lD9LOn$!sXe zY$(ZW=uKurZ!+W6D*Rm$ymXA9|CSy%J&QO=d%H zG8=l684rG?hu&m1^d>WVppNIehTdf6hTdex(_BMuGSg#tC-F)Ty~&Jc_UFn@pJr$qkanWV*9zrEBWC{{amDe z3{yXrc{$fh`1=GuCaM36?8hTNY2W<)#eBaQ871y(`~c=Z@IQ(-g^jWwp45*|>Srg5 z?O#8~SIW<@v{oLh8-AC;IBkltCcl=*yf4WBBqi?ye4}-k` zPS2|!&HP08ry8p6zOMS&%?Ki>zWYD_&BH!vFnwNR^qxm_pR{{Vr61_jzka~;V^*^2 zuR26^R-GDZel zmRD4+?W^wF*jIh#+RBRZi8qZc9aVh#^pI}zpmNGwmpfzlh|+Q871cEzdxJANYN{*B z$CZv4J}cy_`z!Lx_=&&MV#Q;|l~>j52~Ml2DjzqdIQC-5-S{Tb%Xqu#u;SA371h0s z!LZ)yit(kzb3&fogUGwZ6Amt8MSUk48n%@GhE+1Pw zFQiNL+sC_*ss;w9|GFBPV@k_)x+z&xD>c+~BRY6fl<&C3a3!u9FP4sxQ zpTvo-aKw$3Jyk(rPvwmx7Q%V&U)AJk&gGT&7`3^6M#qw%uw%yc#fy>g;G5|4w!G3F zcZKgNEw5b=6xNoPzH2Fb69&=gJ$cffbOj@RU;QdSi#&ehGB_qlv%k;np9k`!KI00{ z9b0kYm7uVTjq1@Tk;I_*h*j`{mjdO~q8o2Ys1Gps7B zp|8kOU4<(cKDNqBo988UKNA$xmycWnEsf6UkZD$pnI>tzm%!+KX1zyJEL9C+Wbtq@#sA-mqjh@0!xKA0q*z@xn_OnaZLG^5&ieBKSzAGrJqGYLY zPYPm{rRyP^m7|&2E>=4G2??n3%o9Yl0jlTwsU%if$uHkmmd1_yAy`VPA>%i$O&5h5 zZy!~}OHNBGsZM3-YR~-u#gE|OV~w>gWb-t5T|v(`l1ON&OV`liBiqRDlC2F0CxjTrJ7jJ@ej#N>eF(|y;bi|ZLBxi%kxC>p5AHEsFm!ykH zkrCm=vBl-IpuCv3*p8lZJDoE&wgocYvRXR(q0oFFWBB;`hfD@PL|#&HYY?j%BeJ<_ z=6&9H)VPA!*y;yD5wMq0e(_eQUJ=#Zq3z(!vfr<|PXe|ITox1t$L>D27BX~JGW(9u zcRiFO<9qJmm)pmmTPOCi;A9YMxON+K^QD8b zpeT?v;K#tmR^JuGs>c$s99>Zs^aio@U*8THZ@w)qFAGlj+0Uy!MpoQ`f=BYIU$Gwx zVyjB((C=XD%2ZQKS#UywdL%!1{I2o6cLW8!}i`}{5s`R~^|1@Fp zq!;JRTfK2(^&qQ{R9F@q_hzD*mRH|KrAzsNXnLS5IIIy>?^d|?W>&FfTbmPIdk-Hz z!E&^(zHZ)(|F-1_C98N@5PrI}xcnA%@^0tl_ee~GTb*Mb8-ml?8msR4!{=j6gkl>0 zhBqiF7rVX|=GyCd9lm59)Ie=?>oO*Cb8uQ;Phv&IHN)pxZF-tj)lkCe(${Lq0U?p3pQxy{~yE)I&`*fHzo ziahrbDKQo%32U{fl5maQV9pE*`&wpQgE29Ur`5N-FZ&|u%D}I>h&M({8u03|JfdsX z^O>OV#LlO$;zy>W?4NkKu^b0c_5wq)_>HmcUcpW3K3K%h^e8Vzg*6LyL%Br8g=iPB?jP&9*+1-u=q8uXF_eRWBP z-o>s-%S3&3G-gn0WJ68&sJ%?t@?w-LDcb{gQwQ&O_cr=O5SufS{*xBB1cjBO#xfEi zue~1CO2{@fx6|!&k+F}>D3&2W>K1hkDraub7=dOb1M-cfA~*AUEGTII!*G800v&D& zVy``KbDB!^c?q>aY<#Rs@28i=WdYbdHby^4hmh}G=}p6^J`=E2HR*B(LL1Ax+BgPc z>8vJjO`;u!O|%|>wt9?c&91V7JX1`EjoM+Phh!s)Dmh%k3T5xOF2^L0C1o)$**7C zBAPitVeMEc7fCgk)gIqptOX~>zl(<K%{jd$aWL{^Z&T~`XlaMWuQ8?i8` zr~LG8$0U)-V|a03NuwQ|D(X)btJ+cW4IYwW~nVG zIDBIaT~9ud#m6QV?c=xJts}J(jO0Bf-lMCKl+5>HPd%% zwxH+|G~xf)u`Rr4zvOFXgRdwCKZd!P!8euc=R9sxd6y=I_^GP@J4}TQt*Hz8#5kcT zDncXhfY>#-Svbmv(@&#w@f%Bp*Zjt?SB(IDWd_X}HlEJLkZ3}KuPFsTlCkOkw8pXe zfLH4q8S@$i4DJlNdW@lE@>qn*PY;)^48C`q;Z-~E6~*9Xv-}^kzI^y0iPy9PUp)$Z z(Zn2l)d=CkWka>o*9><}=^=+%6NlCaEdY`f;Tkc}Y4o5@{Wh%3|6; zXF&1%YavAkBc6(=+n`vhK2k+r4+?J9oR$=KlaZ+BA*sF+5{-y;?5f9Vt79ciEP6w7 zGH5w8_A&CcsYA&vFq;s}z;0Y<1JL3c0Y1nubx`){YdNO&i)E z3{BT0z`|CIfX+7+okHi$A#|GS&}kY#S3Vp%sgBxJkA_a)L!B6%>Vd)U)p95qqAP(; zvW-sm2YH$b&{dCtPIZEAqv*VqUqk~BMa!41Pa;FK$i|2a1(gMh)eNH(4!ZF%=%lbn zoD^wvGO2zw-Ghiy)_Unbs$E8$EHl?o%My+-IAc7`*!LL;nf&e_5$Usov~XF8=-Zs z?+jX7g}R_C-e$+i+Og2ZCRzP#sAM{K3ML%7kz0+fq8Pg3X+~#5FB&X5ZM-2u)r3t< z$2e_}`A&l;7SWPu>~YL6IX1yiTi0+ct(Lv zI$IOCXH_a+MWzZJ7u`Ka?Ci5!ZVA~K>N`Yh&`1&52DvSW9ln$IBr;G}p_dZKq)S_> zI>z-f+x#xMHE?saqi5W&q~9P@9l~|*geIj<^>lC3)u>q|t(5-!DaV%DS}F^fw#<+n zo(h?Cu`(F8vD6hhbKa$u?i83sINX}6RjRl`C02`L8O5S5lg7w8bP#?L$hCd zumE*B4Tye4P*6S`&6Nc&$b9rgdn0J}Un3fZ9yC>>(3;UmAyOT1XpT&UW(*r=Xlibz zmPS)Orq8k3dK>3vLGo>mH&sFGE*m+N)H}{7q#~?f-C5Y9-*B#hWHw`@EObnyL{-6YjDPUx)P@fex1kv3lFgBc_I)DRfTViTyq@6_Ohm zT#z(2OUiRW0s9OnG-jYUH4O`|dM(2dwI`$~KV1~kcN2pM0`=O`z@lv)p>aZn&>kRSLqrhvXfv+0{UaAMr{IVKQ$pRZ0;G3@Y9+Sm^+Z&=g#)8(w0^NCa zxZMJOK=@ff>?Y8v9O#~FL925>zY(G*78Teq0DTw(VEw`h6QRq8$250XqYwWatlADX zl3h`3Ge+1u!KypJTFofAve+g{gjGj?wPt}`JJO^HJCW(HK42X;rGTxz(x!#+$~d5Z zu%=RBN85CWuxcKAg*{fS=RlX(L=gJttZS$q^V{6$6~5v&|C3qs5iu|VGp|VYS|c?40^%35KYlC$e^2qR?R?HER4{jBknq^o>?!@ zGZ>a8oK~yz;of=%mLA2k-+LYzhDBqVx{Zu7cx9@<&e|4Y(Y9tk{dj5`Xz3Ht9W#YS zWptG+2 z)&`O$o6YnDBu#d_ghb{O5_K=Gi@DnTGeV)*wJQ`NBaCg-=2gqWosjs+6>Dw|No31I z^9f1a*CEkx%1FToYej%W!dZciV)!&1Gc|!i3kwu7|PdDg|Y3>t}SZ+lR1>V*P!uNVeMX4nRele_iEYH4lAF+u_5psI!bV^my68f=(SAW$1LjP$O@%f+;iiHJ(&4FW zWz=CyHPlq7HYk1z741;E8CD;JOhy*6>QT~@?PIhdW7g@=zmJh}EpBKj2%?H&eX*mo zc6YXUqFM(iaT=abbsbdYr%PEzrL7|KM`wPb27QY@fd^I##=^W z<-9ud=q?Y2X+ibXpP${x>ZFNdXa7W;%4i8PO%}fm<9w`rvDPJ;a~NOav;x8gntxR| z=UL`8cK!L7Z8lC#JM|w83XU%tg-=`kxk3|%aV7=IviO}lV_FA)+;w$V<6Kv-#x;E) z^jl9%kd6YJD1AgUw&Pl2dQup48r=5X#=MReZ-htx6R7y-!~@j7E43|x(C>{GSY!-c&e!sS4HevR|i>}^=nh-=4 zJI2w8((_4umo-AI_~K_1tXgMx}yGL}r?a8!<@XQba+8cVc=X;E7F zAmO_m6AQNZ!LiY%tGU~$ijU7mzLxDMbhHJ5N@qW86|3whA6lSWJ5EL{``^3g@&}_EJ+!OYQ#hsb`QcDAaW_)q0LRq7yOjbG9uJ;W^Gc!hD z$ut=i<7Qrtr2PcfEcQ(hdt`b2l%Viv-P8}h?psP=r1p9`Dh#MItCWeb+Xvdy#N!lN zoEj9KYMy@e8Y-g>Lp$Ym2KEtr^rs|;JytD#n3}eYt*St4oiALoGHfWSsaA9&%pE`% z%AZIDmU@)XPtGdCXL?X{s`G{G3Rd`r)|o*dhLuTS&~gA@i;5cA90oq0CGOrd>)L{4 zzO_5(JK`}+H%>4Y#JgP~Z07P@@a zR+DQ+alfyA3Fl_h+&jPins2W{mgCRuufVR)NEmB$yL~|WRq-vFdi6YC zdG;(*EMD$YNxH04WEOpfT7zry(ep*YX~%o&W=*`h;APLqE}?1+25gK^RiR|MMi$T~ z!0k`~T?uPg%fsypr(QGa1>baa%-9&+Li2noOuKcF=BuUHZF3D_ZUAX=M^iKY{GOR! z0ZFqu#ELViHm$y+l$+wy__n$o@Q(0_c-xhTH_dB-1-{&;c|4?V2%)yO1j9~Rrr;)i zTsSvR@2OA=t+Gj2z>z*vDD12|f?-`%N=n@5w)RU=dm_|AJAFNRmwI!ezF`~bF|5g| zUk_jBHbvPTnM}pULJhDa&o0@i4xOxTs9tGz_i7@qbsIDJB-ymcNs$6rT$QiFczn!% zv%IngZ9=ah6=m?8%m>5j5;UwV#VUqrTVa;PBQ}LrlLYhD8KLC;DS^S((%Gfk)y+@H z#%&9`k?a9WrCUB|hR`jh8=rhoQmdYR5|x!~3Hy!457;vDzBxAm7xr|pZ}iQj={g@)8*dfe)n=C z2~p|qL*@GOE%0@DuhZYz_UXS5_8GNVJYL4R{WLLH`^4p2rylaX6!q14?)(9Nf9v%3 zH~gJ%|LWThxeIuFLyx@Z0T2K85qoUpV#dNJtWQ*<+>vsQd%s4J{-(NpLGD8p$sqgS z#J)g}Ni+u8MASYZ+kbQ_@YjBHuJ&;Az-yU#xxK)8Hto~Bq?sLn6 z%J9Ag+(T|r;2$wiiATXsbPEFi=zvO$IS3weM}l+uj`j2$I(T63-j2O{4;(zy({rqE zYv7*`Xbf(H>2cQ^oO!C}P+%1#S9TapbmD;wj(R@O8m+k2XV6%b6Jb(7umXs~EyQ&WA-)_74( zLwfI#U4c*UUlvSpvjS52;~O?rSI5t)-o87X)3%PlC-yI*uG52;U0*!*`s=U93sCd6^PoU$c!>S(*d|LkVRC@~goEk5zX>98`7Wg#$S;1`g7|JP+7jA55J#;+q zdH1UQG5=&S~_MLnS^@>fu@3eK#!=*crs2+9J7rO_Wles5vN6N zIrq)MK|bFII-uQ?f$k0t8I+pDcgLxS{M>fy6THHq(v(|UvM3=RW57<2<|%0L@~ zBR~(RCh?td+CnD2(ngN)xlc720PR*y;tg?H=;Bb-1;_c^tD3~?n$^v5A^lFts+FP?>N<+tv2@IDH3yU}6;aK>bz+v4<#6BN&d5*g<~aK0R3)01RDK?0PS6KrQygtO zYzs8A2S7-+gr+8k=FK1*_VeDHfr73Dl1xN1oihljin#QHXhiB8Ufj%^+Q z>Zu(F+A;uiXwv}D!I}Y}1AwaI44`a@dov(xr`0qz2&m(2Q4PYFEiofr_41X-fK>Z_ zAT_%`sG%&rA{!tcS6+I*u*K%#fJs;6a*LyQ}WDl-em@hvzJ40W7`%N(uI z^ySGO_3%ooOBQ;73C2+HU!F^i?g5L<-wg{@OTotvZ2gA6=W@jF_bN!%T4Rv3U zEH!%7a9`E0etaS!oOHF+Zl3 z$62@Y!5a0sV2u)lsKjM)R?(0;1Z&KDux4r8R6<1<^Go6^{x(tl*g=NI{Ngy{%fOx( zu$n#ySYv)soN|nMg-r!%g#H}_tkK}XGFep-wZ_iEIK$3t)N-4X2+>H(1=|!32j+q} z)5yq|nc;YIa0lz=VASi%;;+S7;PZvFqN*&|BA`huZ)F@i5n9l>O2>}R&w-Fk+{38r z2WqF_e2^^fyttYX+I2Ca!2U4V-u^I+$PmU^gmo5P^~v10#AQGliXOz#1S%5NG$`^x z8iFqypC>|;hMxyfhJ)H@cnQFv$BR%S z@&GC~AHZPB185itzzGQ%B)>^d~0=i3zY9f>TB{C*%+tkPz?ry}!% zX_ODKI=q%gWD{$F85PgR#s`IYh#!1ZLBqluqzvc?70m^a7SqN)d$AcgPX$P|T4Gkx z&jmm-9ZT~;>g{D_Vm%dG!j{#t^D@yH&>^TiNOO;L4{cT0X0#wMZni%k-cujJHGP+O zdUh+VRCARrA^GqgTI9E1f-g0z3%UAjjV(m79?L>-!O0}u;&+T$I6|ina6*W!KrcOzZJlJ0l-su>o~}#?{-= zFBf%6sJ-l|8|^%)t-$Lc*D0svmX2$(6Q~Zy>+LAsiv~i}Zac~5qIwO5z&&=G|ekZ+|K z4_U$;lBkCDlkr(?tT`2D2D?{5r|>sDg!@S7w)%BXMt;LYI?k|n@_4o2jCv$!atDK= zBYSt%ta=4U+1hpMt54LtE62YYm^1Me=-cpWP2~RoPun+cTJu``oV7KLd)o6|x4q_+ zd>Qgid}EXGn?c^wym|GKc+tuYJCZ$}=GA-&g1y0Z+=|=Wezkeasw#Y-8+UiNn}2jR z`2G0irr@pvucohx7p}q0*k*3l7r`F{_XOTR70}wS5g)3&lWpdteIEQ9xCEcXg(-Yn zV@!?rMDNFkKDWRC%7awWdWY!1wnb}?!TYV!ErqE^Z1{f2?`v*eg6{w z4`l)e-8jLYuYWt?L3Rp_*ji1 zP9L%ej-ojEf4Ojd?|*-u(MQk^S!^sfrj`3Wifj#b&8N$~%l+P;)3-vAr}K$H`Ph`N zi;rNv-(rXU)3-i?_^YVYcJX*_MY8lQ(t?-fKl_*N@AD&MUZeS+fAcmXWO`|ue-&Cb zLKa0(&$g)QS&Euz6zT8(OA#{Fr#&Y=ru)vn8XOZ<*V_z^iMIP~1jj_T|1E=KqB!tY z!7&jWdeh*Tuswf0I3}{gZ!0(^$|G+P925TNV8JmVjtv$Z6XN(F!7;&m2L{IkJ~1#j zCh*CD!7+hP4GfM6+&3^dCNQ>dKy*xSHy}DD=z!RmOl$whSed(ZKwQkj*mLAY#md}m z0|H`tXI%ean1}6vITHwziO&my%?VAo-@5IDHVlF-c00|sE6n5AjQAkf3b!S+__;x_ z)oz_ZlYxHn=4~ZwHnQfz`OzfZdsaDFC+Fy#nlBVA=3jt(y(( zeuK48BL%;-DC#+z?kQU9X(A+yGY_{aogr1C|YMwR7iyY7^$63U76A*9TNv zw`_Eaw$p2Rn_6xdtBbo{pmXw|d$~IXRGY`NPGT0|(vUg=RC~^}!fzJR+Q;1+KZfEgJJ@A0VbVRPsT)GO^FV`3rI{fa1Q&V6T z`+9+qzo#EY4FMz9P=wJIZb{U3b8{+Cr9&)D6Gl%+!6WZPe@sOlMxongc$WIdaNvmo zZ8;b{eUl?inBB&s2PSe5iYe^!!t|^SX}NN6sRB6|J%9m5%@IZ(W*I0ls`bbS7^$Ei zrntf|QfP$Hu6DV9kOm%kQxuq!G+~z6;~*g9H4=icOftI_qYCgwFZsjzVMbJ`7Eoyu%3z$3y4ry6y1w3OYLD6IKmhovy=BUSwCwGlKUKm`f@OOt^$l2Bma#s z+dR)$W^!95@Rx(oge4zZZBeiU<#7duP@gF#7$Fu@ z59l>%g-a86(_0?V8e z_0SZJglJ63_7gji>39pUrho=|C?pCD_5(|ZqIA)Ok?fqnU_Y>GB5F-y&DD@vmSPaF z%tQp%l-EjzY}tsx!1S=3<|sl>KC{w491vOV6Y!pBT#`sfo1Wv56A`vbD=o?qQGDT z)>a}XFetFr6YVLvS`QDB=i;3|U-700q{1 zsJ#zhHC7KCG zi)hl;H4|{m!Hni%W-uB#{dlh2ZWtea%;6Zh+2AVPB4JVC#VZUR1|w~)rAoy-+|_IQ z1EP2la5&Gf^VFpVcMi1ZX@g1|5p<4oe=(rymj%XteM}p48`wF}U(iE9HLi1@U-D25 z>m2A8crO988r3<_Gxr%(HaLPZSlR{v>DNykF=!aUw3Y$=Ci{BCMgr6?2w*QrbNc~# zLk+;F0-}Wf9UBZ9RW^iP#rrg%jT#n0zsVyyKsCFw9f6E8_6mZdG7s0dp%zoEf23Z4 z)uUQ5Kv);W)El`7Bo#4i7*Ao$GvWa85kCag*U_la{F&`yUr6T+P6o7?LexL*HB=@L znuGcReWW-NRkqlt%>=DENc?Ay%fv+ur+NP(lZzKb@NUB}KAMZUhQgS38l{SW8cH^V zhwiTKHk788P@3Z27R9dTRTeNwMg1`1!R|)UQ}M{!JRV;#1T) zG{rLWve14BiJgv-0~1AEh0!rghi&#kQRGz%fX;0pSVb%PDsVes9oN}sMG@G3V2w&e zVYL)>LahV8!mD86&@VLVg=S&*E=0Dq1YpU zbv6#cQ6yGiou#K5+H|Z)tWKIbdp}{|Y$R5v*2BOb=b96V6<7!RDO__Ru{!`FA%%W z-3sEN5W$d+!m!=$b`TGM=of_D>+S^M-Aj2P*e=34IPr`lF96$Vj-0ze^b5as;0Cnt z3W&VmYrDCKZik~^=(WvFfa6vW{Q|G8xGUvD6e2(D+TzL$qxsf9?3y+=mb{w6<%eC9 z?kVHz9T0X+xM_wtG9c{Q?4C8u8({i{U3WW@h^gR#0b$oB_mW|{2Zmi6-F!oJfXWNI zHsE2Gv~>Tl>keG;LJSDIZX?_!#IC`^u3IhkRfe{idee}ru$^xaa23AeEyJy% zXn)IKt0-FEMzB?MEpIc}D%#Xv4YrCZnG+a^e2_a5tRjpZ}?(3wd(x!tkj%|MN(~ zc)Y*ne)m7Ml>Nyi|AR{&>gfhjf0$ZD6vGG9(9^39Q7taCnyGC4`KSD%XsM5sMxSb} zudQ!`ei}+Y?BwH`YK?yy&|mc#)x%%?r~ip4X(PJNkEZG_iq87loNp1_{?8nW+n4+a zo;m%PjgI`MLM^`P$KG2-RCQ#|K5wXPVfI-=?K-p18OmRieacWzYh|A?l$$;KgrR)p zxz86WcQyCvLM1W&wMPq8^X+f*(L&KSzKur{h1y^Cf1I$)J?REKOsK7L|3?Y6HShl*q4{fa1Ez9t+U61O z$$*Cl&8auw5kdv1a^j|PzaGVI<3WucA5`R2`)F;DLFdLz{jtCv4YWrG6*ZOTOIz>7 zkm|uf#Z2WNl)YaHEQ*-Q>#FTP8Flv1pyH+S^6I3p0+=2dRJ?QnFa@DV^CJh($4i$0 z(`jWDFg-4)c$Lm>v*Ryp-?eeA)s`j|VDV%6B^)Zw01@0~If=1*QW# zSA!{Dx;=z#1EvQ96))WZOulDu_E@0erS-t%>jq~J1u9xp#Whll(;w&BjZcfo=v0k39|OyPy?x zFVJK5$mm9($j^zFrojn{{G51ci$U>gptCHzhr~pCIo0vM^9Vg5r~}bKdzy43Z;u?6 zMd%21AVO4sMLX%-cxi_f5v%@U7I6?zw>^T2sP+6>pg6MeQZ*UG>f(Gvmpz^eqACZW z!(oRdfmR2xmki;i`3DR0QJ;|+juk!Wqn0{qw%H@Bu+8we4@~m7!{AyY+)EyJ(fwIm zi>0xK#Ub;e2_C0IaEg3WdkL882=3xX2f?Xf;4XbUi%VM8EHb4HaF>HqXi>-TM1-sU z7sFjOH5aGj?grlBbgjqD^tfX{n=OAATym`8{`uKKa3_A|`CiK6cIy#WvVYzE9`&+E z$*r&}M8(QKpgnTz@>d4IJ$Z%UE?ekva$fl7ch?88*J(O@qX)yO3E)Z=WcmCPzVIER z3BoPQjjKxG>jF2)P+wV<8$b1^n5x2Wzx?BxL2w&J8*ViDy4mom^u5k&EbR(Pw&R4; zQ<3uG)az+py_tK`Fr6g|e!UC-R}>cA5g}*Nz*bintJpsnR!syuYNH%J5pSJ6u#Dio z+spV_pQ6}}NAn}D>P+4>_asBH-4%_f41zsAb^Rm=&#l+iA)8mM+`yCX`O#NZd#&{* zulXvj=<64R^=O+roo?9J+91de#fJELdVp7pT~y9n+~oPoMr2hzo>MHxR`8y=l4=SF zpU9MxV4JlLyexy>Ee*d~pAEu_pXV9>r;toiU%`G+TGapna|?{1bR!b-gSDQ(oicoE zJb1YovoTxYR|i?~`Jvk!?Dwg>wJsaM)ks?7d2iqa1oDSwqpCtmFmGBLF2$(d2E~r3 z0;^^ZiY=`HE8lGvDz9D#j4a$u+>Rw%*VsEC*?pS?~g2+2v+X)2wP`H zMXX?lKMhtc`a!Y9Yrx8_KPdKxDX@wJOz ziC5Lw<3i5URcd~GTYE!s@;YQSwqKY#2Ro`7tlE$gv$DHCD5c zZ{_M$!O1JD!<3I~oLhQW&U=Qi2;ek92Eh$42d9ab4TMYg%Ys|gX>Wn61eYHY&+v_0 zE55wAcm{W6HMsoXxOQ|)c`*^Wdf@US({z*5j>39aF&4$BFhYnp>!^ltE@ZNi~K!^a$`2Ak;+ z%>MucSBjv25MAbN3GY+?AOs`VVhc3yGU0M>!oa`uA@IeOipAxJ)3uZ=W^a9=@D<=S z_p&kd5dG5MfgWB?RsfSP3U}_XwFKsuJ_@#IB4$dnFN@Z)yNGkZMYpk^2u<7o?CML< z?AQ*OPfCuWxSA>p*=An`va|-Is?`r!{RNPtszGY<@$@g7tdOtzJD`dyeBjoHu|rJq z`(REl$ChV9@3M>w_>Gqz-pVQtMk@47!n_u^KQoF;YgjzgeYu#}y{98?M3qp?wmj5B zXMq~71t|(z``6f12C-#lA#hwTD_Iof&Y)JjAJq4&K}BKl4C?TEZ8Cw1!ss3~KXB)P ziH#qCp{T9zVCI%?WJ%42>9vS}ni~UETmdSQx5J)`L>{LNOu=B7t7TqF>e*IA_47=~ zJ2FDJixz^5nw7!DhnKn2otu0#2qJA{aC6^fxIgS=ON$btUJh&dC$^JtmL$QVeUJ4o z52_5@b+W+2O6r0@ohGE8H|jXh-!b&)>LADu?fZU>o%pC3@GG?!&WrGe_+1woe&kx3 zq%jr^-bNc|uLZFc=NmzBB?NxrFmF|Z48_X#c?$OPHoz^mpGUFcETgcEsalvD{nwzS zn8lu?Xd*&1#j+$#_HHFe=D$a4p!%#|Du5;-_-CjGtDtQNRnwe|0L^hIrk&%LXKixx z69Ynm$IdkZ+mA}y+5CWf2{xqi(*$Itm|FoiGW2Y zf}Klg4b99;9SHHuJ$^(L0@TWE20=)$6g41VxVGaeA)81bOHK)u^e7vralL*=p2ce& zz#?r$OW?m>9ZrsHT7lLk2##?+vV9o@`Pl_pNEfik_J(scKgl4%@}hE^uBu%&*Fa1A zLU_RzS1`}>Qw}1me(wsTW>GfrKt3q3vc)ZtUCGZskP|1wUQ`Y?KMg@np~dj>((SRe z;$;%((Qu8+edbFFu~w=4qy+h<^sEOj-yYWiZ}gbB2IK+rT!q*Xm04H50R zPnj#lVG9TaGTV82HS>(QQXFbPtOwB=A@qc~QXDphh!#VH&zCF30go|Hn9JdVsOaf( zr8v9}Lc!655dV+8_W-c6xcdL+x%V#ZVnd29Tka()c9srStk@f9tWl!qYl#Il#>7N1 zF&a%Yu_u-^jWI?eks@G$1q)WBFS`rdm$LLKu=oBy-!u2QyA)CKdz1g~eShnfeV&;) z=ggTi=bSk+^UU*vXUp}71MAaPP(eY{$#Om7FohDWv@TFd_FTCha9};$R%Xjpl08+f z#~a?EM60`{Iy;^{Rj$VyCQzdF;S!Z(PnGNOhH;c=HF+K-%}$l;@rE}j(t`9H&W<;o zD%ax;uT!E8-C2}0J5{d78}wkOp5L0;{8YIfZ}? zJ3mdXU8S9!CD-#^Uw@KZ4_SS)bL84U`?^!)dRnRJ4Ead+i_A7{c!FFf1^qT|cz%2& zn|h!pBGk*{;oTl?RwR(j&CQ~vd<@-?|Sm$<|EuO?kLxv-%0LRe&@I|-HF_v=#J-i zq&qtE?>KUfr2Hs%nj7p+rtDmIwmaRO3cP-2@EgqUBz}Y3ar_2>ahy>((cq5+|48aP z0vbp2@5szQrB(9@t{-Jb!p|Y@a9%9j)Ai>1EjIQKAhkbS>rMyh54DF5_M9;9$?b_#d?|W?j9tRY3CWO*shSjcB@}ghAGoxa~ z+H|Y+rSCj-<4J@@dW65;Mf=`4YH?jUwtCthZaG|;uhO|epNZw^Xx*PK+ebO0vAM6au0LPIOC77^BqiT}hnlVJlL>cR5g)62QH7Rzj*rV7p;WO}8F$-A^6z2N z4P%bmXtJ3?se6@gx;?ByORcF)w^=)T%oF$AbMLE_oH%UoB}8f`R`cDOk$eFqvfn+` z9JyjgNn5v+{FKzCw5QEowP`mpn>~iqIS6HFUD~~u&0R{0Pd2%G>(g$H&*c+3UF(Pj z_C~_(mXV)O{(A(E?nIz}%kuu+6=j3+cv++w7rQMy`+?Rk^ zyu`Ul10xf94`ikGRax}Gqy4Gh0bcDHQy`!wSMa&KImcI%ZpRf2el+<%f= zNbVo9xep>@HThwVf*qXAy^!27sB_yn4QcnFvZshd2fFEcviDiIJni06cCmVIS}h;Z zI)wcEshrpv({{Ow=J)MkDqf=UTR5s$lYsjltWLXMuXK?CPkcd~x$u?iM50V_`feM6 zsV?MeR)@|ZwAu1p0iVp-=gsweb^cZX5ei`&94)L#EOyaeH~nLIDjlsE|KNTEt=+15 ze))}d0wb1kt~)0!>w5B)oc#W~VS*iMc&K<D8J}m1sGwT5^&$oH_nU)uE={{@!t7x0738lS zG8cg_g^xC`x>kKIxcQ#Dh8`*_w{+RR6|yn)7D`nrpBdt(F9@7gDkf3b}G zJ3!1kywtgYbk%6i4S$~nyvNlCtI%T#zZ_BK+@Qhni;xcNkaPAlA-yY+f8-{G=Alf~KP2kI74KH4(O$fsG*UFeE9$dxA4FFHC zaqT+a{>S2)bh>!t$!$UJkBA1~F#C=|CJRpCxuNcZj?H^a+ip*SxpoL6<27L32kAjC zZ&F}?S*3HcL3>te_$w5B)Sjzdw9}7Yo4q9+UG>f_`A^B;em@2JuVb~&oeBE8e12(< zH_(Qc_pG5`mOwd<1{_s^g3jHC4@BiXx}F8iH+ue-=Rbp?Tfm*xh0mGgfx8~|zEy>) zR38qtnMnQ!e9R*#MfLtD)#He9`0wQOk7)p{{$S7+gVq-&_AKRD@kROd&Yg=`PsgeM z2^}bDkHw5ZzE?fN1S80s3EJvo0Qw7PH)3*=kmYpJpM!LXT>pZ!dzEi%zmA@*?^@|% zd;RE-@0Qaem7{-l9$(C&Y4Q7mKW1mx-NmOHM*y4)a6P?NfP|Lrj$uAc#@%S%bERaoXNA8_J-T^(tqTe& z5Xs--pK7=IRNg!9?g0M_zzdMhvqJfZKgGl9|2x zYM0Yy&^;4oE#g)8>ppsE;R>ZM&5p>7?&*kkm;{anw2)LW1` z7JL28+%yB@o?DQ1F9bLo0sV}jtSP#&E=lPT7W*owZzr1zaptZMwj*a z>gxep=JGM?=sD!y0+kZPlutiD0DDvU3>}|I8n^@^L#X&Q&igjDrcbT|d1VB7-3==* z!ODBH)4?e}g2XEb^HgMYH{Jd_KL4Eh!g;+(by!@)`DraH1>vujjEFK4A}qQe3fh_FeStaX9Z^BA4T!P!AJt zLt)MgD9oe>x^X><)wH|O_YEg*U>fO0qK>b?!7OC)Cit&`KO6iPz`qX;4r7_P8r1KC z%2(aot?2xwvo`W9k-Hq!VO0GPsH+*)^BOrV-W8ADZUcs#$_M*lu-Ah9+xm3$VS*31 zZ5;L`lT;!k2rX$(O~*s|FgU%RC}KD=xQ3d?lCET(GoYuZgZocB936k$Cc^CC(8YXA z^H(TRWF0kMLwB`W2JWlieh4lf$aFnf>ut@`0Bsr(_f&Td3SYb1W*(jjk~Nj-V9U3t z_jQo}1nlKxtc{}92Y@`2ihoMQja1x+PgqWgl=2DJKW=7^0ma@-+S*H%i(ny6wXH_CSNx%?ato9!(2gbIRyIQ1G>`W4!D~E3(-#W zKUhM>d?;;T?E8K@mf21mg>Wk&aR($mT0V~vvO^=Y@u2fOn))0}%z=q>q45GVKB4ln zVB!j{htUaFl7Bh*vmx+1KI8jfBeV4&w?S_J*q!=+1@1$P$9rw2mX5UKA9Pr46znVL z{y&rPZJPEW*l!a9E{&!5_*ZbOy7vaKPXzmY2K>9Q0DbkeBSLo9!~HKn?hBD;Xy#~; z%ZV6=@IFA-y8FdTjwM870{UnKX;(ZA4BF* zu78Be1DNV=Z}Mrp0;h%2j=yL8c&-D^cF!ufz8NalLFIO+OvZf@y((x7*2F7u z12Q8ZlN^_h+~>6FoLhq1Y`7Bd-d}QqNLPrwj*T9K*8B(}Pr=Gh!EIB+4z+s=hA)A_ zKq!1+AH42T#Yv;dd*fqXqn5e!>pZNy0Sdo^!W5Q8Td%;utlt9~2_P0i6=*bYfTc5W5p4cpOc-4sWIX6ZZxUyA(I}T_7)$0&FDXx6rDB)-&k*zA1?Rj!Fb^ zBck}UhDYw)uMzuiP>Q(>?=M0qFNNaNwPk2;zXhEi4&Z1g&7$$A&&63GyPwD>7eMI; zP&yZYr@6`?U!+~-Z6Wr3h<(5`{aQqEF-%Q|lBz@rqI=L>j$-}3;0?y0gBfKj;Ohkn zABM_NTs3`}2Q_u)F?7uF5Q81}8;Cs)vA;v?4&YFR=&7z-3SvjNTOh`#>fLehmO6ye z7oc(g*Xy{lw&`XdxKEH|k}JfL%yn4e3}r=XPHYsos=* z0n8?@CxiMVq*64_oJJWLdj)O|v}Qx=C&2w0xKn1T9O0Kh?=(hS=)BETENFath(hUop{_i2y1TZQTIEWf1rQ04V^TB7G)l zL>znyf%C{$Xf=-OpShj}ffFF`ePlYE^u53j2L4IP>qx&!S_-@u8Zr+2{mK7`LHAoS z%ex2|Tk#PjS3%r#B9TyS4k)t2o{$&~#B|bAsCr8T8r`AsM|p`Qlng?AqktSl}=!!Pb zm|Dw&EN(rRYUT>AuR~!76mA!Vi?}K7fF)jznmiAM?zrMt8B+g_Kz>YmJ{Zfv*n=8= zg*-LC+4m>S5F8X}=e6w3 zv^zEQkd0sfu_Nc(T1cjNR;8&KsQ zYd~EFYN>{HH)tZ!2NT1C7BWl(pq|QXDzzWD^pCp^+!ML3q353mw{)4~o3`)cD(T<1 z((X{^sMQ2N_b^E8j<8-~26zYXSAi#sD+f>7I}`SE!F*kq!M%?T>uBv0e2I)AA(CS zMQ(Iju=#5-o{d$4w;2@c0#HvUWaOxVdkEB@g8DM3_aWoMfN1Jy_DsYs zF~1EPH$wA5Q2Uc^1oe4P4|Q6l`SCPRuA-ZzI1?y(1Jt3QDq<*QA$6~1;GO{PnN%N# zHo6(<;#lSgE?@m|+I@$yQ)^+ek&y^&K2jfqx~96(-7k=F7`Vg0EdqC1EiY>$3hngb zXLL}n62=c?SckHm2_)Yiclkg*fri}%8=b(slk_!U%84yav5pfQT{a^fSvowJ>s$k) z%uOJ7MclPf);$=UgVazYaueus$d7>jEW(V#;p~)FX1@L5oOEQ>y?f2}VO%{x^#EPZ zV#_qh+}j@g8TbO~x`dJ!DVYJfM!9!Wtk*<}{<4X0C0E|uZYEBQaZKwGPf_cV90)v6 zm2SQ4pTGUlX*d0L20Al~vWav_V;j0)7$ja!vGfwz=bmZU(HlcPXGmrpptZ26<=aPYElDA-_v}6k*XbSk{iobE^iN%FAHZ zgZTxRAA&g|#p*-O!57^5+@xwYygq#7g8e=s{HBGcP;`1RnJW5Hof*gdHSpW5)yHj-s}#6ZX7b6{gxIxFr0M*|8V;(M;N3hVLXx{CUm$6g7=*fJ1Q=*=Jo4-4Nx3K#} z$W^pObG7{h`%Bkuj{)Dg=ealE_`@%+>CR|SvhMNBKuA^X1HE1RNFh5V(cHd!}z-RfsQ|vwX*3i9Yp9F}jb6@(c^VC9ZAZ zSy%n=snLJA^V9+qaT-9+BiqMO*HKX(isDzy^q%aWGnbAppo?DfyQXBXCHoe}#4fXH z(vkJwXJtk3Q+%*;2@-D4&P7n1^xLZBC+M4#coaQ$^GeKV#g#l4;t~2%a5!S@^c>Or zxJ%pfD3LEv46TLU_LslIo9)-Wb8SZ+2J%H$)N)*@ecOXiz3ykfA2;^JC+@wVdwp1@ zz;_vsaCpdvNzKiswB9v2o0>rCm2B#BQcq-43h?jFrZhjf)~9edgu-q}HbqeDj?Sit zP+j+IifGgAl}%k!YhT3F9*+Ay6l*z-$d8ofN1ta?zalj@oBA!O$FnK5V8m9bbFwK- zj}FhKeo3lTHl?-va-LuD_1#M9`E2Ujq%O~>o9s}_Ud)uT`v^yP@UPc?r6LA+J`@Y-R?v9 zc=Cble(P_4H<119KCTyg--mH`Fr|lEPETMD2Vwv_czXfgAKataJMYVm zxqgR&c?g(&DecF758zZw5fl!#Qqekq{dE5-a?$MpY1l#| zUU^VJNg+9f){3yLdRe`sBsux3q~(9xr+vO88kTv?J)G@_t3L>KB8|b?NGjl+mh{q# zY*Pe5P#1{=fn~fx(BRm1%OwAS3v$8Shz^G8SUy8#Ff)@Ht&ON)dL}g%>K|wBd5XqO z%iNDA_%B9XUep*?t*s>N4x6pX7X)MJ$NUR(w6!}gVFx^ zgzTLQCT1XtE#GslU3C|{X;8Ln9#kTOMw%H^Wx$nPt#-4J8VPDLpc~0s>3qtz&VyQZ z7V0uMJI+z51XXV|1XCMn07oKJsxGp`g=Jq-CJ`^nlzwTnmE$37Pn~s3J#t5l2)unPzdHcL34juZj*e%YsSv(7?38w~L7H1{qOW88W=G1`ig5?_~Zph%s0ac};9>64QFrW0hL~REbIRb+?8*?J}2>Hy?Ta6O7f| zOHWq1GVaRAeS=&trT5IG3VHz=Dlm9irQ+%$$Lg$`5I8?o}z3=G~O5^N;FG=;WEM`VP!(LvzJSAxT`T>xfykb*jpS~X5F#gt%&^A9FX7$icn8ssf%h6#Bvio z6J}KDckIu4dUY@*<4|Ljw+QW!h=|@SZ-J9ecmaLD(_~Fp4X|1dH!ErHCS)MFIOFys zW~icZ(u* z@XDOWkXAZW16S_di*W#~9FYjht49JRe%A9#A{*hI?qfGpIHIex>QJpU5&7iV9ziy` z2!Yi}eb#DP5=g0+nk3cjYLd8mlU((mnztE8ifoyosBan!wmRcVMSB*+%o{DHXiG*N zN)1@#JaecE$SaJUaol-WS>FaGEDNYuRv{@?n~P9ttsBc;Omi$?pK)v z*Say>tBZlAi#Ic23SreWxtm!nW4b@eEBK=CS>bEK)E2}{=i|8}Czx7syU~94NDtcSh1nXC2pJ<1~Xk7vE)+3XV`|#P8O<`2!AEGDidBgU4*x*Qcbep z21-2k3fN)J8_0cV{BMrswKsz#Pa|KVAY&0I^Q=9pNJ=jjG}KlgbgaqA<`-kXf)+bs zc`k-2IjzX#)*z<}(-ll7gW>C_Gc0vWqf>;p$po_8@MLC7ZP;8z8ug<|_2%W|uohuT zY986ktX-pzIod z)S9{2@hodqQ@8mp^!gQ6uVB*;gBz`(l0ztcvFAk^YO_W((f2qTz|dVd2KfdxVZgnF zsA*IQZ9t^uNGA{jEx;4cC+hIcS(;&3auL*KW@tDA8){aY z53e;yaT~(cW*}YgR-_853!&(vKiRKD*}OAERsQX5VC6XF;mc`a*r?{vCSDB(lK`y9 z4932JJ3-j!CIha>sS2mIAW~zrtG7}KJxMb;qDV1il#wf# zYJ>0|JnXL&6Os2=wpKgk(lqi{nG{z7tuFHYnqt~9jr;k)_&mW@TDfE(*iZ)ADsjQb zkrHxzTasBkERQIDtejB6mjp?Ia9)~Uss42TOK;b@%D zXd`H~VGd3rGRwTQx~@hu6ok3a#N-Kt;OtRHFc4M|@O`RRlCMM~0!9gnq>P@19{^L# zH^|lm>@$dlad|mIwg*%nRD;W0Fk;5}5dpCe&QTOl##u+I5k5F*B%oG(D^=$Q0BE3D zgiOka7*utYg$9kR6l?IQGap?_c6G^KgD5ohn+GejZ9s&kGVcWyJFASH6_}iX zZ$h|KuUJ`2`tzM8cb~(KyiL88s54Z?Lw=FK)>uBKOsv{i&S2pk=M1Cpv^B!xqC^ZQ zTI7EUm>TXhp^`IWl=N%=0+dmQeGjK|s837&kE=fQ-v(x0a-NC?H0tQ2lSHE^+xM?8 zlUr6Pn>_)`35ZZ`TO#BYZv0i0qmWJO^}ldArk6GpX*TYiZVFlZ<$S5Wx>3&1hYmhy z)e45``3ABz+ZAPrLdxxz@OcWGP}y7677NokN6N1ls9J>N{X%wK9}1FyG{Z057gMDI zQc>opr(xFGJWx{di}iw8XJHg)c{31d?OK}6*cWCkb5S)jg-`WaqUl%1r&z;wbnj~p zOT_bz@9QFdty`3K^-g?*E9DaKj_zwRRHs5eTr1!Cov4QE=ye&KDY&k1!My2Cw(WRQ zO;TxsC^nl8*VCny*~N4;EnG@(;K^6vO+wzwGxzUuzcS*N)8FP^W;EHLCPk*fA?H(M0;%j&uh7u9!XLD?T&^9$oz9M`h=o_5upUoQ85b2IOX z)wekHebhZ!g4UNj^`=-I5<84#?;>0F)&h8u8)V1Y`q+`Po-COArSijUN&H|I#d}gd z0JuIJK0BHtYXdlbrn?i!9|)9|)QkAno09&d`|xi75J%WT`C-&qWKjKCHt)rvdT%He z8AeaihXY>($K5$#*WH%&6L6b^&q9{a^ISKsNtW0B)<6g3rS|Sc+xE>YplcaDTuRsC zxZiqcp5vFyLus}{&VH+64`{WS=OQ_=9ChV0uFB;^W3il^*joPO#G*Md<-eq5shm`- z&KD}{?>fbh6D!Y&#B!p_cwMVzvDrrF4K1n1X66K*>=;JSAQqcW+Q^O5f?w=o1GQCk z3XH}CRt?|JadxkTbr*Xt#~I374F6zH%_MDYJyx7a+1h$+QYNJp^>@Omw4m-{Z(CKi zxNdj0xSj#mg1U=M%%+G~qZ68^V&gL@TVjt@A_D}|$c<-h3UQN*RjILTCdOjbR)sC1 z$7*Pdno*m9^|_>?L?F?+ZE|t8vHE6tDwiPZGZgWUQ1UrmNVZ5WI#DJx24y*PlsaQk zhL-X~Yuh|u+qSv2;D%gyYD#UJw|xyw)I7hT-a1DReX@SAv8nPC;j_0_j*8g#-mC^;kd~a#)Oy zQjK>bb_^_5np0^2E?Vv6h44oyDp;IjE=P?eV2;Hem6wT@sa@5k-$WchZ&XGl&{7tu zE}a{TZKj4;&XYRsMf=F5gQ6D~}r`aHqh!H^}Oc!O|l_O6f={$o&EtOn|w@ghMa#*sbV5KVug~?z{ zO1#h-v_-5(Khz>WoX|Kze{5cUU4U6TeO5U;bT;aQ;V7LPVN|kK#DGsPh`#{ zPC}HZ1hh!a!%n5G8FbS-HAYS3RVARx2A4badZ~#+qL6Cos&>kIG1ZUF#rbksgtUBP zH@Kyeh#kC==w)*CX0H;E&{XkUBq)*b)mH0*#o)jZkBY_6USEaU%K9FES(d?RsJhvb zq9iAosnKi?2-UU+Fcs4m6DBLIq*!Kz8Y5107Ae&(2O~tnT^tIi>+vpSuqLV+8HA>m zhAkXNkE)D`hm9#QJ4R)7v9g~*s-}hFbgdi5UwVkP(J$T|*x{)t%w^>7>k*1K2Q|#2 zsZO>JU@K~erefxE)NA$DUnn<{^%af5oHYDXDC^mzO@wCPA}U*8{+Vft5JX6lmr~e9 zf(@F!0!c|js45WlSngS7fEhP0M>`4fe{5ppu&B?Sx)FYLhzKGGveEdEa;X_}Dca&@ z0m`a0LRQ~+6#cCxrDw0`Y$=HPFgA}o?IlzghU4+2a`7Q*JW~V)ISw%{bsGO|Kf&lo zjM5bi5etlS^$N8_t6>%2MoN_^h7cB2RbeO|N%k*=0}w7eYivar%A4eCb;bN97F7jI zmGznwNSI|b%=e)*NByE}rL{>++BO5O64%zOPMir&Qf^9u%3uoB5$4~^X4pmL7Y|LAV!qK6ul&zH3)RW1MgQ3Woz+~1M)MQCf<~ufr32mc|%W}6h z86-9xJdz2NRdVW=63MNjl~LrEq9Nc)xtGf5;l+1=3`$iJ6J@KE0ar;H)(PsMYN%*? zz+4<|)0&d$jHpZuE#Qop?;P?KP?+PXF`*(Nx(XsOBSJq! ztJ)CN3R9vG4-f41*K;o?iprW>koc6Fp(^V1OJ$DlDXL~g!zvc}db9HeWP{(pk=uvTPX373bPBcnlncCCBM6D#_U?=g-z6T;dxcpxfOz_9btp&_mmbMTAJr1{ z2JFxew%gX?<>C!k?ZidMQ?un^XkL^GqQsE?Y7Fw`fa~CyarwE-7^1+-!YR2HjUV2l zgl3avP#A(U_;vklhl4_01H#_ibJq z1TU}q4lrP3!U&D5VotJbsv&Fu{U{_x<99W?$l^#+V5!N?u)F|7OLa+$Cj+NB4t+^X zCAFsV-Ih4g_0i*%IQxu9&)lrg|AHuvO7-_UnRg&`sUR>;ob>EYI z)-qqY7Kf{gY8aYqcDYb2d`^jQ3rkI7KNA==}Q2mBS~tRh&4RT_fU(JCxAF*g?lM)ETYNiLJ z>Nb}azIu5kL#=K2$Q%)XdP>6#7B$O?o+PWz21q|CS2xcAF|+3rQ{WM^*{T#ub>fWp zI|rPR?olzcoC$||#mA&7)YziEpGOFswP0n7kINYCyyE$gSvxxqxi+?rN!u(w(W(aO zL>&@>9~-rtg)_4yEI;lv+VtL^;*hqmL=u$_saH7V;Rh_g`?HuX)B+I80=Q`CYI#Do z8EyiJqs?aF*)1TTHld#MC9j?3$L2-U zHPxgNZup4X@V+K{=V^xdqSy<`$%-Z_FmH}oRgPMeNMPZB!?5; z`$dtalr%ZqHd>q$-qBSJIpMC6t#ZbEY7!#Ae4~CJ>0MGQbFxP{R(q2;d%|?F=LoZVFhc0w< zp%aG}lKgb6VQg&!!)DhqDVbkl)F6J%;_Dp6mb>k<*K-j$3F) zsJHD19cM2zJlUND?6GdJJC6OMBi)JIAHjWZ_KS`L?kMi`>chU=Xj#VGH-H$!3?$my$9lGeoRr^Q!PUE+1U&()uQLlFNU$@lv61~L2 zogu$xq`zKn{>X*jQ3`WB%pSJOv>TG$+g^m&DLYC-&BoS0$opE8W z@5=+KE1Pk-iTVtf?Z+4r4qdq>H{}AV!}Iy%nPd$z0r`D+Cb~H`c??g9MO)%; zxp2i8YlzvjGrZ=MJjB+Nd|q>?T52Pm}7@YJ9(G~rj)`!5`}r{<5fwQE6uGy zc`Aj#&PQ&dBX6n8ORU6isjQL>Co3bmNh~*x?J!893WOvv5zX*AW!p`Oh0vVkXmLW= z+HP{n%Of-|SenVzD+`0Ji3(LYm-40Jj&~F0Co$y$zExoFCQOtAPEeVL^b2@1VL{T` zouGI0X2NpSPf%L8C^-rmYhcZ`o`hCdMs0Lax6!i5)j(ot_DVuZgG3jiLC{=cG>9}5 zR<#8+KS^9}`D4gmmgJ3fxrxG*m`f#N2)q#1^eRHvWqz^(5Y(sJI0HoqUC<3$DQMa5 zQ=$~E30VYGSmR<{l8Gc_=(jwfN)&8E<@>ht4#H$2(be8Tm?)#dLfjsD4benmU9ytI z5-DO{otWX(gZm^CiOtsA_U6F^NEou&28#*Z)MApnQ;(Z2c)bEsA)Y$#T8JNYh4#+D zg2a4k;5A>yi_2f0speeOzk#%l6ojDSm`d%31;0uqw1BsuMC~soD2$c?WKZwCO4?idU+BrCr^!O zp4wSJ2uQ1k?KB7_8k0GRWCBal>jOQNutGE>w_g2) z&vXeapwrxBvc8%Y%A+v@^zt^0hv;9ApbJtm`9G~p5^J+_^aOzra< z;3BE5D)byE;lZ~YLl@P@QV0MEUO3kc>L#C}K@KZfko zcrl%rO*So%+mHjK(+caQbA@^>ptO{#Bq;R@?4ma{$#rg~3WOz|IM|}3?N*^tXjXn* zlKv>HPSVg&Jc(I=${)J|SS?_BWZtE~_N=g2F(qp1NW5o)byg~Jd1HkFPq;O%3zD{F zWeUbA#3WIBR}FZ1I7AIpK_VBV#5f4}jzX|f#~_i=wv{W89*Zjo=BfRa2sxC-7*$2H zBK(!u^ol>1zd!?{u_pK`D2Eu-R5%6~%A$d!5jgZZNOZK9`)Pa*5_G+KMl4l=NZY#A zq8cEnNAnS=llJMIelB;R#AOu;z5+8`Lod4m&t^^{QCKJ=6)FNMoX4HL%P${T^de79 zLUm}Z@TA%5mt2ly6d+$|5Y!U$$jh_$_jR$xWa=#3;AFIGRihLm522E0eqFp4P9SaX z?#mZihm{ClaR-jrBu?cCUuA}QQ`zxJ+tx~e0*CU}368SRCXSd|Tww-CYk2j*LSvCw zhmPhweM!tGiSblXcU49*8(nE~J!z?zbc71KRB~mjDQU0d%S(KzkuRCR`lS~6Y*JC% zCh!~z>aE0Z3#Di3Ol+g$n;_+CrwXRlNIvpqpv&CQ6pqM1iq@jnu1kns38x?zj!g#I zu%a$73q7W~!<&XHl-B|m1@WrQzEg8dUTs30C1)tft2bnaECLjkBv}#O4}}O4-Gr)g z2*Y)QE5|Vv7EnuyWRS-qvc}g=j5gf_r;%TpL`S=hC`zukYpHIvdLmzqYe3|1OeMLP zYLL+W6P1UonCKD^kfvb^885&n!_F1*kW;CUY8PtUaRH|{5VahMAk=zxypm{Np*Yd7 zpb*MhSYur+=}Tqg$*8+4bt8I$oK9qU3Nm@oP-9SKwF(*xM_wAzX>p#HB@cYw|#{fLwFcCfg=-8!2YMv09E8 zOrr|J!9z|_eE~L;4^s)LNVeI6lgsBcP%?1cqz`0uRfV8R6$+$5a2|FiZL8Hlq@JUi znMq;*h1I0NH01#k{bMkOc~hHUD}m($mp2=1Fgtu5E?@xKD)pMmJV{2v^Ljw8}MiX&G9nLm6s>906b4K45F`j z@|I|%)gg~4CXp#UpfO<_!L}wi8o@OT0350@Qu6BPI|y)T`vf>-=z=v@2$F@ZRA)#i zLl^O)mPq8=AS%jb4knLE%!g0ZNTe1>iM+#AkJ7T>pvuFrbCyUs!&_eAJ?XBy;ecPrP z3n$DI^63671|hr+R`hRHVUVvlk|s{pOpY=?N-s!q{zyX`IY_9J@lSn%mMTp}5)1J2 zK9s* z!ddeu9C3mJknrL>AjC4o))<7w`HAUCLQET6*? z3JYcfA@?l^_$aJ!gdByPa9!wW7R~xruX+m-I12Xm}~{z2%aKKUvFRYHu9zQiiWvBM&P=rkk_u|7NVLPP1&rlpp%CFFDZOXiyX@VXVQe7FI6BT z_tQx;F3o!ERcl?7NtSxhQHHvN;>ivgTWgb1{%VNL6WlLdq+0?-jhWc7NS5T7P8gu% z;zviVyzw5AeQf2+7GG*n89&ca8825$Cg^H7;;<)0LDD4ax7?PvRI*iJ0*J!gYF7(~ z9J}IgxZ~#gmI+Z86LWUk&AOa{Hi^~+8VXbudvA0iZeM}BmI{%Mw8L#RPc54=!wOU2pq1iZ zj-&~P{K7E*t6{PmapuXhDXnHCvZ<}gkWfLmF(*^`!0J}#$YX{nOlTi}&v`CrWw+y! z3c$PhcTy(OlEiEZ1ph_z85W$t7SA>P1|lWuH~y_Eng*T`6}4} z?+tL3Eng**C~Whv<*Q^HTE0rw@>Q~yuadczuadQVm8|8fWULe2&wIsNzDm~eRWeq1 z`6NoqSIKzQ{1i4XTfRz$UugL%S<6?+TE0rw@>Q~yuadQVm8|8fWG!DMYxyc!%U8(= z3kNe-X!$Bx%U8+R2XFZ*neBYCW!~~tvX-xs@rlhkK2jR)xV!)NzDgE;MeCbfb)55? z{q$ur{|n)D*w+7aXf`+dE8u`^f$QeJ#XozizmRSdC;nxzdM&JfRjfbm8}h7|!fxFn-?DEax37a~Q|i{IwdJWJ zuyuB)Bd_Ilr=zZO?M`Q0XWE@kw|-`KI@kKK-RVs0G`rJz)(`A%f?MsT*qy#JR%~~A z59%bl)2Y>W>`q@73-8vsw=B455+*}HLer*o;>-|@Qh^hQ@< z5ITxlm0rWYaId>M%@gn0R85-akTa<-T{S6Rrmf(bH1AWgvK^(CX5^-_+B9cIvylIe zR86{heM;45x!yWeP1&MsnNo`_rQ@Mhq?TGr=R%cgpv8@rqr;$;v|}am@w%bYpB3b+ z=4+Cx4MxX3E7FT8U+Gp@jt+M&OxL*-UlU(uIXcq0FwKX&vZ)2>8JSvjh_gIBJHwF< zYL=(xG)tAG=feA|ZWFjVrCFMuPdi_CYf0-=W@);V^eE#-$1zLOWypQBTTZzSV9rl3 z*eYF;UPyWjt*mydfYI^Fl5_?AH4ctAEk~ZtQ!754UtS^S_dXez^nyw zO}dg2o*hlEh8rD=oR{W{3h712fv;-O`pWb=WT&H#^MJ2~$}%A8k?+DZXC2cz>*!0= z2fXDx&9}1BU&5QtHO?bPpSSfTe1I&y$t|JIwR{t^o>E?pfi{XaecN+>dJFf})Th&l zC6>#J7wM~7_?wsJT`$zVEUhDmzLc{dP_Mxf=31%Rz8X2|cwvd*@v=rzHR-jE57qNF zH>zAhlNw;N3J@NI=B^2ZBNIR@rfG{|r~;Oxpfasx2x%Q=$(O2VUL92~q*SKF86Yz- z-Uw+z<~Wm8DOR4nDv<}8CG`z5sPdpf;FP%v# zN8e~wDRrv8Dyy3lXmscdD21i#jdB$b3!$vijqXbnywd9CNEuR9-PQaHAvU4lwFXf~ z%LO5cOW7-E^B5__7Bsy+3sM3jHQR#l@s(VTt=7J}$A0A9*Qvnpfi;S9@zCGAN1jJNSVD(UwgZAtQ0!ex2#W^QHW|}fcykbs`GEMUI6d>_QB|wC-4TyTS zimsZ6`OeOCnMCFrZd59<&I(kwdJ_u_sgNNp&z9mSZskj6pYH$_YXN&n@5ksD^!(vG_TfCXbjjt17RPz}JLlyQC zgg6I)@I?zSlhPd(Zz2|~!Y!?$0#4ze(uz{D*k2MfR(^HyM&itc2$s)!!lK6xzwioqo{L;hB%pd=&^~@uhOkO{J^cr$j!rR$2*;BB;=ybs**oVx~IFsQ`Zy>^GGz zL&s)jOUF=B3Fpk{7bkp2kgt9YXvCGzgE3Tov< z3scQ|`w|ZE(ngj11`onJ+z`$<+Oz=0Q0}h@9h!2>X;T$$U|IK%`>G06P&hGfw zOgcQMu%o+0>F~J1;>;Z<71H5Jg$B$;+)tu6!y^i-(&6cZb?L1RC4Ak4y?J@K!149h za7m;?b`d3967g>mYg&r%ixVx2B1{Nd7DY7Nwk(QB6IvEUS{6lG7Dcr7L&(yyDAKYh z(y}Px7hzf!MTp5;7DckF9xaO^EsG*7m$WR3v@D7+ZP@kYk(Nb~k?t*4<60I)>^T&_ z9MiNs)AFPUR;Blxw>&BGb5q)5w? zA`FWyPl{-By5&icmM2A8o)l?$QbZ5)XveeVNs+CeH`&?qAye5G3tw@$qvu1K^8VYN z6yZ6>0mq+u=FlJ9*2}q*+a-Do9FREbs6>yVME}Gw$LOk5&rIGWnXB>!4ovho;ij8z z7<%W;!%x2H#@j;JqQrrzG+%fd?yhsg+y(A-H-zhr?$(16J$fa2imLzLSM&9xj&oPJ zo7{IHcq(MR@2+*X^69yoxWCOv7VSF8Gu@qT1cZh``Vn3*_|8BLrn_WM5CaLS_ zgwyGS?{OVM!*6qakX+vkouWjK-icm2QZTRP-<)diZK?M8@1WXiTdKYPJE->Dmg)|z z)=S_bdiQ#hpDgkw%t^+6z0chRI)gFEo9KmM^uVpq+azr#tEUp_gmhtqyQ-NMXlO{fOAq2Jorm)U&?DWk?lSjd z_oqb1#J-9AL{T!DY+Do*MT&BY+7`u&+7<0lv{zB5qT`BAC_1TVaM7tnR~G%W=)R)+ ziykg|rs&zC=Zc;$`eV_bi(V{xsp#dRDMi&qwMF$s%Zt_(tuNYKw56!AD3uPQK}%9Zkp5ZPJPK zk?Bj)wV`NWbpONwq)b3!RisJx+40c!%>*?Bfn9CGS+ib|M0OwxwRv-& zX3&Ul(1d1s>eb8tRj;-5C9#kM@qb}o{h#?1?=nKg3kTJvo|nrQVV?O0mmokI?2bp3 z`ZbM^Jrg~99nMJED{=L(8*Uvg+sNGXN!&K#b~5@ViUiOv(NmZH{xSg9(qo`6=~s7FsI@VB4+?Vo`ikfGjlU|3(TqU>GI>|K_vURl0+^~sj@&EECP z-u2Jk4anYQ>*x)uG%-uRcb0zdEdAbD`n~%SKJ@4f<7#>D{+68aAbSHJ7 zZy0{guxpz~?2yzjs0rv|vtsl+7Ec*4&Tuo5@OyvEo1N-+(^g$J& zBE0_Snq9LU*FUQm{j-YEzki0){vm(;2bvi)HEb6JJ0RPt0oJMky%N2}$AI3MYnGn@ zW&s1d*)`R7!tJ--cGLGx9zN{0+eZvHaSp(|imWjMGF{N{#K%VLg|0!=Ed9s4=A9?r`O#!p^-pdpZU*c=P zm8c!oJH0T>8?U{AWL9N*4G6Qcnv4VSa+VYE{Nh8xEOUDJ4@luVkO02J6UBK@Q}3)x z$~uspjM~Q&f!#_>b|s$s9E-+=F})qZ-OcX5@Zv2!V&m1nrAM%*aM|D+*iyLc(%hE9 zX)xU`e`ZeJ{)nDmlj%dQti)SJ)_Auv_Wv8mc!%M=Wf5)hPRRdNRCPV-sWq6Z_;H1;w?*7A5E1K`!;KW z2~L>;+!h7E9iV7jw<*^vA&Q&G-Og&E4ZDg$6zJPh5Y}R?^0nk<8KYI%-c>|l4gBUP zidVj}Ed#T)9MP;6B=2ka=0Yae`084A+%HTCb`^#2YnM4=xY~7`Pyu#D%|Z>>1wHGT zRe^6VX(G&BZ%?QMyTaSQpan#>yWXe&f*ueVXJqir?SMFX*Kx9XunYBM^`Hso>s%C} z{C2!G;WW8|=5CF^e1w|Zm0)ESwCF_cGmSV zdGR!h+K2A4h=H!De5d`pV;98iXP4Wi(Q4baNt!!z+svvwj@yL+CG6i_@Ijif?J{p+ z|LzKJJLuo9l|k6QJF3SW6%Iu1m}Y&-8r3ehht;gFmi1TFlhuPJef_%juu_)cO_1Bh z6+6~9R@1(kx5SQZw$Coiz}IRm8L}rzwV$F2QkD-t*)N8X4_5w$!d**oh>wFWo4~L z;llMOv%j8w2WTlMy9SzFoc-pD(%Uaa+cHmP89EG$o0gw5i@mm3wF^tG;bN1n*~!QM z@sjKItEw!P+T!AW+oGk{5U(WGTg}y@rFV9=px)9uwlUOVI~s~wY-g7?qgrgI#dfm6 z$^Tm0IeY+{eNBJi z|G!7ZU!#1U@qbf5{{KQ`e0Wcmp?fE`zWmR&gyzcZ@5AZa|J(`8*8P)7wRBVF34x}^ z88jc=(Zf&wp?PLYH~o)T4ruA7mTub7Lvbz3H$+lA{)7|Vg~hf1h1RsI!L&uG;c(nM z{%8rNS$wh8Z7XHlp4I+=4v$J45#c^AS7yfa77{GAQ@+y5Pwf}gGl?|8OGy< zwE8^$T}ZpHu%F)FGm`JC{fJXh*ICImwBb9PD!PVKIeLr4wVX1#hQC+x_eyeZ;r@E$ zaw|KtH-PnHPHEjikNv>i#qa0tKKB#%oO_lYywClD@0UH{o_3E@!*BRr+k@0~J1_US zo!=dt%es^6520`ufA4blx}Un|c};`PeceUw^~hgb>GdsF(l^(G^Bs3FcY2r4U2t$U z*Xt=2KUcxuHQcLx=hNDAkmiZt4MRRhyMf5RzrBm%2>W}KJBso%GIEuCr9G!3(W`0U z5PsJ}ad4*Rjs?3Xzr*+)xc8`Ny+mZG+Y`lO_p^lUwLPv%@+gvZS+=se{ROknpGTI>>(QmNvdN!?*O?w#Gx$aNq-|3W} zkg;X8*W0=5{Y+YT24&J9X}I?d@*wg^=i-Ir;m+qO@8%^ijJ93p?&b@FcUjBMM`p6~ z%gwfQCQ{P4(X37Fzlxj@VCc0;x6?yHn?bbrLAAL5&fPeA)= z_b68W7=8MX+4*hF?EDV=!%whs{k_Ni3=bhYzr*bOT59|+>QLWYf&E?0owPu9eiab6 z8AsyoddnNm-8I(6AxP#Nlc%@yW3X*+X|iwqSUkuz3(iid@%FmDFL&?*>A@~vh8^-l2t4V(~%3p1N{b+tEV~56by`}A3{>gg$ z2p|spcrMR!X=X&f6duk5Mjl?{>d|KFP2;(@V~x|YU;S+w&lLqo_cWgSG5vI|K4Lk~ z^j9Ogw{y>f>|EpdN#+9-J;-ZlRM+T#BG`&TE;J4PHrESijUt%;!glV>+WCb@_!?v^ zJHG)7(|KsUzUx|k*8qF9*|}ckbSyT``!d)!Od`7f~a-?*n3 z#h=E)ALaTh#`t@|)9+^f-Hvbg0eBjjHGYp|Jb%{xiPR5`nrfAm-vTf4GT);X`R3vL zt_A*9c)F5Y+4;5P$@|%>f?0O$`{RX&sG{HsZxggSJbK79IljaQ#2F05LJql2XfLhOSE@yLF*KO|5$dG(UHZ}M$ zVCKggAv8yX8ruf#kD4jgL5I`k3=K}&J=M0c8MzS7 zwVmahpt_s~)Y%;xw}N^CYGp`OP(iEKsWxt(*+V1e?%gJ}Ri#fFm?{;uR*kJ)m)S$3 zfC1OMQo)r&ZX37`JBDj)7irtJ4Hf6KN*Tr2xgA<>3;L9i3_)E^s#VaM$|HcL+E7pP z>OE|#U8=2vtjlR^rp2=w4fcei3igIdN$JUfuJ?$6I$hV#x4| z&pQ6lk@4SWu%qy=2E<@XRkb;HuT~=9+4^U^W5+JJ`N{pdA97expZ-T2ecTBrpETf* zyiek-x}S2xPp&v7|8Mbj7d$?8-iF2R|LN{a6Z7KHj)QM`YGZNq9}j%De{nq8`SklI zd|4cQW8|rOjg0@fS)HwCxtv%|PODa(tA=(yc;wJ$=6;!u zEO_dy*W;1C&#zpc4qiT@EFL-F_VKHVBQIUr`Ga_5kKu2vDUOW&Ug602i^hk99JGNC z7i-LMo$H6jPUy2=$Jk;Q3!*u#+r1W#?tkx_ODogSFJ8H=<2&)-k`GGL!3Wf zSl}X&oHlR7gHzs^pAME>KRF&G-=CWfW_B-+2UpHokq(~Pdt5xYuzqEM-4Q{kz8Hnkj6 z5f2iR8`8nFj^pF*wx#Jv>cQP>eA+|c+hdotaR{U$M@sGAq_Lr!MdZX;=y?hOVYvA4ijnDmc`W5tv>FquPt`>d>#+> zpIBcUJllC>{FNP2UpF)u*x@4=33A%K8+UKcNCy*k`!F8lmVc2B8V;?AyC>_@ZanoK zyrMoGEI)g3-1V<6b{9^MyJu>PgBSK08UOn>go9WtmE$^X#Dn%~{~m0&Esne2Oi#O? ze;9ZF_&n`q(fIMTY4;2r+2nN_BBCzUz#*yMPKF+X3CE(cOd*AJS?v zvTplc+@17!I%qulqqsZk)3m#VcK?h|CR|8U?ysf+$p!>bS?und84n7^R~5T6M#f*= zmR(PF3!b%io43X82XQy+vvg3p_s4O!@Y8g#Cb>8soRfm!n*Gt3V;if|?)_zS#oLv| z!8^IL;_gvyMkC|bc1*i*XmG@C<1w^pH13nMdkBTP@#D06Ur3{s-}( z(-KI|hU8h08ahv0a&yJ@G-FY`SL9W-8vXk_bYA0n^@nNqI`qbsrQM74-F>BL*KJkY z-3gJO&5OGW%ZlC4w0ybAH;5qu-z9dLeX1LuXP6T$L8P7q%zk zA}^vRsMK*Eq=PRDA@|q!)9ygJuwM!9fTy#2avioh?m9vsIUkGS`p<0%jdbfFgA!c` z_CvGcLD$XPoCukNK>rjn|KxfMWDW!U=+d}5e}1uheS0$NXww|j;C+mLFX;XBy|lZ6 zW^D%j!cSpyUfOkn%wWh|0GYo*=Ed#FtaYv}y7F_dZ$b@sU(C&2keLUWxsdsQ>nBL( z3dr1C2HBEg_wYXUOAfXp-HsQSEOce^LEfN;!{iH>w@oQu+x zAA|lk)Hc77n-8EfWG=$_BJTP?=L7Wm5$L=Co!g*uZWA5C5Mq&5ff34~D@&$g$NNC> zjwxyPIciu1fzKfH3fEg8^dyA-z91g#H4#dOHBm~njWQa=M!MC=nO;}`{%z2i!Lg3YG@X#w~vd zou1H<=Iq9Ze#l(2{g9FgDb~7Gs~9|?jS*-qgT~{~s^Pj0S|>y69hCDCNWF!QkAhTZ zNZkghLzW9qYGa0tqCu4a#FF)(bbVu)I}b}t+Ycb>nEq(P>B9^Qrhj!7PrkyjzMf@^1Zd&h6s zM=fMtpyRKCa7laUsap=LCX5)39#1Cv^9*jGUs7!vTQ{~^mg6Fy5#B_iTj=y?B>2R+ zHmJt>NepNEBdqh@NxQs7ara$FZaxs@Dx;1IQK~VXv^x=2AM)W-DRUGN-qLzwtBp(( zh{+@4VxqsJj0@v%9lxQc0l)LJhrFX`zJP^I&}J*sv=$ zL=>YSf)u3)KG;x-C?Fuc6ObZGml{F`X`uuX(sqCEGc%inBKqg=kME0@&hBRB^Evn2 zbMHO(+;i{TK-%{}o(6IZ9?1>>r5EYPbqDn(z|~Lc%BKLwo4|(*;Cz77or+^O*5k-` z<^t>U*t~ArPDSwoC~DY+yBC}eaygLceAVm1^)s(W^$0nFwqps9eS16mO;aw=G(Ad`-E3Y91g zA55hOqP~}`&jxY7p5x8-TyZP5Kc(>QY)=kx14Tnj7l@ZZYRnTIR{51mNK@(>J!D1{ zf0@IFYo#sF+T1c3(0V55K0Vue-k2e0c(T1Yx?+8NBqpTh6a&rr_*yDxb&O({L7?;>#VJllFDt_9y8 zK+3@sJ|-I}A49r%fYv*UrAf0|6pEi-r`*oaD~>E7$Q;-vU4 zfX)N_IlyB8u7>jW|^M`)Xs}P=0 zw5wi5UoW5e1Y-a>7_9b=^vD2Fc{+~91YS|iBkm1xlx z{i+ugpjleAL$nO&Ux0PR3Y)F)D>bm7?~(Lu2(_II<^mKfk~aK{E>W7&=#3K63F~k= zQE8d$9R=ueDoKh@J8=W40(ln5Z-5*LWKD*Om>WPnOSctqg~?`KH9%#IYXr#vir;z@ zn0oR0ClYPls)puyN1Lb;>al}L>A^g`5^D^lWgh{w7Om$)|ZC%ULr%22SNu6Li=q98Ico5?hV2LQB@p76X9c=g+z#e0K3OR$M*GdCB z8%di`n0O?8WQ&wOvVAHRP#4s3CaMN1qmrRg7pNyeoeksu|?D`7JPbpYuCQrdzO$m1*g>h%cv`9Hy|%O7@vmBjZ{tTkrn#=G=z-$BN4!-x} z`Us{l6Ub(0SSqRZZ-N-wlek-B38+a#4oI1bSzW0QqF$3WzKqufTu7qkn^@*dWw18rS(I;#Zj$*qLm39)#yNyEXQH3IvVtfN+ zH=tKS@gCR4eD4lLlT>Dv7rSVtD&^pm8et~5{Wt% zDF^);6o;YsmJa>=3EEgG#NCdnj_^Y_IGW-sJWny2GeemJ)xYd}Z)6=Z{s=*l-j zfyp(Ljzp?L4T^`O^*uQD!!bP%(?U_c@+f2@irU8yogis(P{w(`GUtYj0u&lk_fV>?d`(&6(;3`WK=ZIcQ|FIFCF&k5f5I{o(3-IPk)bQkh`#uq07)w*b`ydA zK1)W3!+vE8M(`CJZD~i{jJ`)I{r5!seMZ3bwt~=0U{!k|_#v16Mu5@#FO*^r-#b9i zhN)ih%akHF?k3{}RLx=d5{7m#d`2POF$xj=d!pJA56*YHt~^!)+zrWWKnFuI48@0K z!ty>pw1*|0S;A{zPtBGAgksFY4yHoV{xVvX-Y(8Gt!;_Q-AKHUNawT*k{@#kWJpCE zxuGlf!&U{7wkC-he1xK8m&J)0$cLP27EK45>yxnjPx@5lzHN#2SVLVB0T0xBst$?t z(>o#g34{$`x1egjgKH<>j< z*bc`WFkgh@Q#dZd@vg+E!q|Ypg5j@F<^x}|AfutinLR0Cmg73}ZJYf0-f50*? z2R|?e_;Xp9l&A}uHWZ};^VRx3iZBwIRIYDgYr@hAmZ22o`7M8|EGdcy5^ObR;Geb8SAMJnU?ei7vqaWz^=sF9I_;uX-3C0`T8VaJ5(#sOg}# z5JkzALUblR@a_Vd9(6C^UFg%k0K8=YT#Yqswumt~59zE;9bt%O2;KttLL~kH%nm4j z6db?t{XVd}5XT5TzK~W2_(Z_F(U(;LeD)?w^1Fc3@p!ePfHPEX2K*Pm`T#x=@I!zP z;(If|yYAMNhkn7BF{lX^_Df(txLHObTEShg2@`l7C#YG5FTq}P69@D%pnuWI>O)c< z@TP!w+l5EGSlSrq<3aCE2N|@88eJV};Mduf=!i6zfxakgW=^cmV?S%e=owu$L9rOa zoC@XRo&3tbHLk}35E%qzpFrv>O=t1Au9`Ofn67ef+OSIO$ilXnq5p!v_be2XO zF05xG_)EcS5B_NIcYyx}-y4J9b0_Z6QfXcgd%V|l$z>Nj2n+aEi!K_#4-SO6g zw}R)JfHw@hU%?y5_xj-VWmzTs%nCeFtYz%?(zytr%@f{h2VH((fw8CtkZ>)CE9rmt zpYYq$Cd^z8aCrdh3gC8Kd1@uih3XsgJ<2DsJ0y-!eJ z16RTM&mVNft7sYEjGj(MQQ88+|FBm!7Bla_Sq;t_p05nf%Uo-N(+`|Bs~McA?oXzt zC?iv7S+Z!^YgeM9vGeXgs{mTdP`QPmlCKmygS>hwHc}(N(Kp1+|ExG!(TQtd#5Y z=y@rAG< zDit|mW{SEpG63hUyf4wyE9h_WmV&ntyr&4WuI5?|xQBjYc?kT}VBkKQ$@0}YLpWl* zo`n60o;X%;1Ixv?6?QRjztXEjWf6*g9=tg49^Q)8@m;D_;Nna;2NBw`Jq{*%+qnN8 za1nr;>0symD&+;RDu9mwm_P`A3$;6ZR*EutE%s`LeBD+098Pq13Z#Js z12PNrHlVw(T(p#H1(2U$HLTRN-&nH21d_j_XSrWmun_}y39{y?*p<*m&x$_QLJRa! z;Ee~ce+K(^e3J8&{wc6y!G3ZRz2Y`ZJ`(KrzfDm;D=D3JK>!;y6l>Mz0#oNk`GDI+ z*+gY=U#&??0DK6@dQ<_?Mfjt~8=g1;U8Ni<<51_t} z)$bInX2?{gYg;VQB|Lpz%d^n(0<+Hm+HBBvgI1H3*acim0rva`rhZ^GFtOBCHMUxj z<9tHWS=vov(ZszG&6$+%! zpYsc&2LYs+ApHr_AnGGC0;m!|y_iD1kd2U45vajmq^L8B2^5dJPZPzK(6ANg2*At$ zW*?Kjay}IQGkC>;d5O?n_?f-<*Hrl1Q;dL)8E8&-Wg93~{3U=g9hCh{P}c+U5Fk;2 zyu2QdSMn|*0U0!zA!n-*R6b<{lZ(WJ99Y|T02~0|dC~|nBP@hh*5Rk^Lmcelt;s3s z&*58*Ao2xw4#8t9R3#z^!ZZ*Lk_-@)L%qxeDiRr91)&*vC8@yz@p+2!>}C*-5i7Q0 zXMv}`<>|wO3KsJ413VnT!voh6ej_5=hsu8A^AvSe>CJj3;pR-Qv{eV}};)*=^6;HCvtrp9m`hNr>j3?h%Bl8S; zcOHBV-)?TkB-`gRm;Avp^F}?@JMvbDFM&uS8Z-lh`#}f=;Y|>Rf$$Ir13`H4vhFBf zxA(Bcds39Q*6Sy{AKi*E6^x@`^u%;BLIDW@*j4)>KWo&2`z`@|X4c-Sg( zuiZl^WeP|qK#IpQC7=t`J3tKu>T#f62I>{UCl3(MX=AQ2AeV&E9Q$>fM^jIc@8V^G zF&Ugw=kS}c&*@x!d>;bPdjRzZ=p}##GFwi@DS!7?paZOWFa>fl1^S$)PV@9AQ2KDq z=lgr0ybH<`puA|JsG;96IawBDuFV7lI*0{Y^R$UPcZTO1VCxyde8}a8p#Tj5=qU^6 zHDZftd;rsib3|l z>mchJaE#}vb3FYnC_TAm^F0}qw?TOZl;=Qs1C(~4%)A|inYqO9KjWG6JX@JC`{iIh z+~kK30T~3y01Me18^{ zXA$KsP@Vv#)g34rC=#F@%TpJ5`emN##`T7U@+RM(2W0>#gFvYR%2Risi1A27ZVXRd zVzs1H9yu+SgTcAZFT;`Mb#Pt)=NWL`#wuh*ZtN{McFH8fz8jp;Jaw6+oMo8qRIV9( z9|4L4sigmZ+Cq7kD+}aBG$SYye0G8|il?sdbbnAfbG^p*k3ks-3f;f*6i*LEmQIJ5 zz66`=xt4;9!i?mxt7quIveJ+W+^hUB5}a4TdD+4l0!}QtVbMyKg>Qp#(Q<1%CSi=L zJU<(pNnFz{9MSnJ;5>mmLuhwvxnjV#;t=z6UC`~VhAukK?HN4Ynk=dOYJ9j1&S>Nj zoL4QJcfpax1yVrn#9;_&xrXL=or>RdjJX$A5oQb^F99+Tkp4XU9w1}54!9MBE=Cr) z+yn<3FQT`)!Q=M>(~#>$V8#OTA~3H3^Ei(W1x7mgx9)(EWfC``rW!w!445NpjYN!< zBJ9B@@0zjGZ#(}^6qWrFKnVby2k0|^o&)Gj zfF1=P8K4Kbjwk?<^(8yyGJ@n8OsvRqJJ}pd4%vN*$dW11A9NHAo91>0@ehK0uAbtR1KafU&*zguaS%sB!4q2CXfjEuGPb;#ay-Qf;1>q|Y9tPn< z5dOoHpMcPS>rVwT+2u(PRIVP@2a4YWVqP9XEw$F%fOrUqVL&8W5cRpvDS!}iNmwuz zuMuJZE3NtE1Y()BrUt}+ffx>iw5KshaVv!6%6npT;Uf~%l-=z7gW57v54`fW$&48ECUdu7fgdW;r=wvtc?XwxmUk1e!u z$W{lmp9|0=0mV+AB{|+2vV9D~#Ec~M;n}CDnrsxc%3AFL>V5cL3 z3AnCSDcb-e4Hr0deYlxQ2cGA5#mP1aO|#p!QKg_s0k57I+`L2!fM2H`jezg|wV4f^Q_b~WY(>RxXx{(w;p4DlVRg7F3ztdywB(*aq8Nv6>3MgidlLVTn7K$HbSyw(^XUKWV`De7V%=2Q7VxPg!)psPTvy_%%_ zMr1n~2qzH6LJkncfRHIuG!O%TsJt&l{XQ&NUjW2Hlraf)GB{rYV%xPOWg?!-!0Q?S z#$pXdoy%(5{Qv|5&>w(Gf8w(iJn#LS#!7TfEcXD7^s#FI{O3A-DvuazGC;^8YIh(P zlls~Rh>Cj&g$ljEDB2Xs*#zSh`y8?!zMiB^J<5U>7_xoASabp7AQ(--mR#$y)pc8F=3FKP;ZO z(N8@82hU&S`R}afC5%0v=O^JfpT|a?BMp7s5mMfefGk2m_?hwdOL{AUGUKp>r!$k3 zrzt~i3qgW{vp^UK!WIyEgD@L}uR(awM3_fae2pq;%8!Du1B4;SF#4KV28otT1wpb< zW`WQIgwH_u1cVn>=(pTTF^*L>YR_ud|Za93eR#CW1^nKLbJ528M%B7KFD!=nn!j zJ1NCn=_tPgg8BP4HizWAeltn=p5>t>Ay-*D()FsXnnrD5>I~G|tMLY9&iUk8G)rdv zgJ4O$K4W6dL8spX#l-uqQ-1Z*i`hxal#@7(S2SCTDSPt#wqrlPvW>A4h(!8x>FpW= zH43PjxCq~1W%p+@P$lcD5bY=FE@xt@_z}f#3g8PlNz$X(^1i8XRa46@XA@NV+kfav zbAW0CIG$<673}}Pv=n6tbJhL;b}R(^QOY_S!*eq&o5lu{OE2aoDMQ(PbnLRvZ$GtS zbleq9t#S&NWl7Wy0z7H>cERBG26rB~HNYJXZh3H<6yna70pcgwdBF%)7u{VRlt-(` zx$JkmtygUmc}Y`?pStQ-w-p2Q5H_-9C5pVnhli+~>Fg0{k2^DjcD^Q}5Oo&TF&FD# z%pVEn&5?OY%BIV#(E8{ENVHwS=OqA60VkPZ`_p3-C%zpOKg{JwHhqg{yZx7*KDzraXZI`Pfc;DL|X8(ABCw%xM&fj-iX$ z*wckvjM{7ISXo9dK%JqhF7+1)m>gpwi4a>J_0gEF5=YHLQZ(v0b&34u;9Z36a)CRu zjENZ~x>6SRpdZ_Wrm#n${kp^SQNcxUr$eF1o*T)cntjagIQvRc(#OF5H&?%+DfeGs zd_vOsAP!r`c7O~l?Um&;*;6U%x+<*VwqJXM@uU`hc0d8&VNtf_Y-RM44OR9Em^a5J zB`u@APX*>?t5!tcErrRyypeslN-4>qFpyh#h&3sae2*zDDpb@4W9 zum_eY3-G@cRj{c^^ByG3mgcvwdHCUz*Kxt|8okczni`UE-f!#g@$M#wdeUznT60NO zj^B2DY6F79K}&E6{;GxtQ|}B79Bs8(MoqrP8iH^xBCW-NzyA2SvRPQUr=d0N56 zGK}1AMuC>+Sgy|3RF@l_*1AZ8UOof?zMxB7^A{zn#kkt>FV;L+R4qM(Enq71 zf5?8|`MT=1Zz7E5^zI?L2t)4o&t14l%1U#_J}+bLql}x8_?;{(tIad%y?@?}44{@mnuU9CIyOp5wZWfsXyl8@P5{0qg<)NK^Qjr|f;w(WZJ zd=BfFN!P@8aOPnT_I0_pmm>9G}*I**$7$e@p)HLY+v;v zWUMw%KA)masLNd1WcoxuEKF{Px|^-R4wsjWR>7>}+OB3;A8F}6zawkg*RQl>!k@IB@@{QyPoh!n4G}{4jk~}PyMg5xU*H&)# z`}YpOjULNb8Yx1s)iYsy+6}*R|IAlf>G}W~l2!SN*n2vmd>phm`3vV%g54 z>He&9hqitHV9A-fH?m1W?}wjyxKGFCY~$3zn?E^r*2=sT$4}#5?NRe03q#WW$B}v9 zb=%o??O=gm0m2b~RZkew-mFZ2eIMnQP@WNhM{c5>zoh6DmqJa3k0yp+g8 zWui>kAI_5WgA(!kjY2C`0M5+RXjnB*((RvW0@W9QN~|HWP8_a7rCv^X$2*3}ZZ$F>ZZ4vKXMd@35$_m7{xJ5H^nbyI2Aj79Y#gEbHEdqAonNWgzf2m3yz7$N@m=uFLyi}cJv zzhk1?qd&*rmSFTH_ES6iOI*{nh)%;-?>p!7Yd3!X>7)L&gl#=+vc?RZxvVKE^J@Jg zunp0eA{srxLzx;`aWUC!FFqj~Z~Eh+zHoz;(ddhC<(Ag8mHa6qh-q%{Mrv&74c#8p zWybXkzis=VN%3~jTbC!Kj#tYQXNXFEbd$EQM>?%suHx=P3SZJ1?)wl5$ zA=5mNUB{w!NG0VVglO+a8AX`MRFkQ2Fl;sR_S40=`|`Kf^JNV1UM4z1g;hoIV<_jVEYo@26=5W|akuclkk5ZCKSSa9nXg=wcWfM(JiV z)!4-9P`CGBo13FC;4vHNO$`pi(!V}SBy0we>}377B5XdFB!#fvEBaMqx1~|BHPM;u zpLiaegiH;t1NibCXgbm&PeRq3ak&@U$UmFKEgPg;r3+XC(;3wMDSqu0)}W*dkzz^S z59M+c z@pswq^6Xi^<3-f*7Tr)zKcV>p8uJhW%0xni(F+^;V@~!oG*6PL;P9Z2PqB_`nVQ3; z>s9jcTM(koLr#bIg5{Ntl6 z!yJMx@Y`W#)mhBg-VSA~>$DKdIRTv;I+g>}ZRrR6+NI*s5`}QzJqVe~l$R9LZ*VQ8 zmJd+AL2{Mts3TO&dx)cn>P( zX&t4_yqqo7-3^}2v>utUKMIXI1`|_WLV=&a(hT&kQ21htC5LOGYd@N9<0 zhIn-TZH7jv=Y&GblMj)e6wj=l8!Ud^x7#HNyb2wXVr23`9L*B}e zEucbb5yN|r-@c$^!{G=%7L=q*6r1DK#g zHc=j81iA>(mk@0vEFN^30W&ias!H5;46+v>>w=v)xVvAP-~GQ=;;kant8SDuQyTi5P=+D2?Rvn(v+1kSLiqAF zKW@o1466t)L*A_e1*(0SI(wY5?uPVL8X@Dgv=w`#rY*hXw@s_C2-mbWJ=k%IJM*%p zd ziTKWw&xmji5niNfa``R9SS1lDP8b?6kH272b*C7+5MvAGl)Egowp0Y1k%HN{Z?HZ zK!|CVDub-A#fPrA>`ZO?;J>Fnu8O+#iDu#74IB zTTGxLP8e>TsRHK3F3#|RUS??$)1Z~7!JbBs=9DFo5de?5jz33>BPnAhs{aA;2pLhH7w7TKaj zXw6n}#qMhn8P}?&Or}id)=rdxbLCw2TYN%2^6K=t7U|Ay4uOyJ|QE@j)ox-w{pMSRmnnIWUBg5BE%=3;r zX|XPv@<6B`vjlpNn|;P`GL>I@T{U`K!}2pU7WvD3> zJpdb#kJB%8Vv>K_i;|>W$$-}=Lni4lL;g&e^0getb$gCO zLY{_9W=BbYZU$vc(+$tyb&xJG0Ek2+H)7kkR7WxL%fX^1@^VyB<2)Bs%~~kOA}SWo(rw?#$);1lg~7MYNNaHEk>)? zE7Iec$CnC*DoTV>G2xM>r5J`=u@7fbbc+ftPAw_0| zVIY&zjTBWv;A<%MLNqp?m`pAsFFizWz}~kwkMX&pDAY&OQ{KWDa<9c`?GmfGJqP%5 zjoWVP^d;a+B)0zkM0>Atg`}*(uD~aQRYF>WVC@O)dzjobDJrxwunYuGT(u|~NpJ?v zE2N|0ISXmG#2RjQI$u&P(neC$m};isb3l+MC}AIGX$Yrimx6X$$=sjn6UzFe&z@mf zQVxhveQ}p%t}D$*ydvqtyYV?A12&$H^#Lli z3bd|R{(1kdvb8zK45*}IgR$S2b zV-mT93YLJ?GRi8MUz0(6NGehd%Hrcfh}|Z!I4{3J+*pXk$NI=3E-Ri)1cx@68ZJU? z_U~!9|LZvpqaqX@mYpK==sWtt`#!uaFN;GX-M|20ReEAbUlo$(K)PKTjgZnQE3ZO| zkEzy^UcC&fc|s~dTqRIilk^C?$5QYP(=|N*b<7^mIAQEbv}}XaDx9B!HXQSE!a5h$ z5eBPI+Cmh6Is$83SeqZE%giPy=hGd{s<1ZH>@06HW&G`vm5+IjD4}|=_k`%i%Ihh9fIqkIOt zOnUNR?;-5d_)<4R&Rr62vn7Sz%I)f1WWsfr-8x(0dj@hRxl7U+5iX&LE`j@g!~3FT zOY|WXa+h8@9rBL2Jfii!s3Gopj4#nv&AEhI$`mknEK8}YG!8I}mqW2NliKVh59{jF z8QYlgUqo3@OVSgBgfTzD+744}SzGDEuumo6RY)yBfppWYQgv*`6_GbpL^-zfo}LtHLswr6jkU@=>aQ z{9S&28}iBq`FWnbz~9(A!g4OqG2zm_$P5cin^Y;iyLZv4?g3rxkha@zyD-3c0R^z2 zb%|-qz$-=#SH}EL8;zc&3}*4F?|#P0*N_1>+)}`JWcUFYs`?VuYGEjEUr`Zild-Rs zX6f!05uBC?W{V>~;gR3=`E6H+MW4sWNcxgE+S!21{TBo;iSZ-DHUt_LPDr*TYr@KT z8lKavh99_TKT^br6k>|&kb?813`N9ruOA&zxk7OHDkZ}!R}3y!rF2;3%E4u-lnSj> zDXdgeqlyX^LC}!1chOZ4_Fy%eox`H+iPu8UpmuK)v`g{an2Hb+mM=7#F(>@4 zOTSEgugActd+4M7v;>s8Url?;ubdgfDMX0)BqIKVi0*)h@d=g6c4!&aJfT|g4sF63 zC)AE=*FLOXLaoTQ?V@WY)Ds2XE@ENCV7G27_rY%rdyD#=K~Y4Hwz6D&R-}@NTo1?w zqd{rbeU}=#VNftPY8IKDtCiIWuN^q`g^ZFaY=xwOcBQ;)F@lRBjI zY4BN|exCT`QVEu*ZraF#xM!is%yMOEA+_3fd|<$!p#z`nmvCRLauG)XW}f{bOUJ%? zhTTHnn`qTv9w|QUx*Gh(9M0$~OVWZiX3}9PW3byMkkd{7Gx-k4w@SpHHWi#kF2op0 zCzG+`1Vx{flG1z^;qpBp#W9%b&`h4rim~@eOgsQp@qbIToxH2xC>3J0yh$eAPPf2A z^#O);&~;g(m3D`TDWK5>wh(Gdurid7#9U^iYcv>%C;#uX9|LumUdv0QRBaqkD?dhUGY@MS^6!|)uy8y7#L6WV z?~(I2N$UKz!X?>UQ!<0)iVIOvCYp(yytuC|9riKlNR6suyQ=-r=AG%(7z3N){5J~R z%)H3uI0WW?-P8E-QOi!;*t>9K9D|9hkN+1F>6EU~E~1!esBPQ9x1@mYizTd!;Cd?@ zCiKr$^(#zn=TYj)gBd!{Y4pZ#lIAl`G)b^NKA%jFg<4Z6l8s)^DAUiZ*8U75J1hU0 zVm)b$u2Z5ra$nst6tMBDO)4u_GhOK#QIU_Kh|^-A=#C>zIK%L{Hp219zvWm%k{0Px zPQq@agm`&hh}k|zl5KeYIlK?qr1%M4cYi{>K01(MFyZSMOb3_ZjD|qP@t6NxoTWHF zvaQ%{1a`T91EnHo*1;faFZ0m1$MgO6%pGrqT$HBrswAYoO8E3NLkl)hP`XQ$_9Owi z(Kw;(llf=bWc|D@vf7R%ZTM>_W1-RJe-)LEHHiryip`hgrMIY2738>p%?A+ z1zquA#Ig<3b&ive)CPoAlrM-Q_5-^C*erucUKW!Ywf{OoLNl*u%+Q#p73o=d(}$&G{%3MO%w% zx%3RrA(z`ExyBCkp9@KXyF$|9HWF-=tOZ$4KdxWYc<)5%SAHdT>bn>gL81@R=iu8K zGhSxGwrVlU4zN5f{j14vgMIP~4F==L4$c5b^!BMzKp{&663_5>-EJfPSljnqloF>(SO?mX`jgHlcrae3+-#6>M@6*oY+m=e

F<<5fGk-enex#D%@h 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 T4P2m_57WDKPp9;T?W_L}y%qxi literal 0 HcmV?d00001 diff --git a/cmyk_swap/cmyk_swap_screenshot_3.png b/cmyk_swap/cmyk_swap_screenshot_3.png new file mode 100644 index 0000000000000000000000000000000000000000..40e4704e1e09e15376a8909803d07abefa886229 GIT binary patch literal 30238 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 VVhKwF>;>?jjqA7A7uzx8{~sVYw6_2N literal 0 HcmV?d00001 diff --git a/cmyk_swap/impact_effect.gif b/cmyk_swap/impact_effect.gif new file mode 100644 index 0000000000000000000000000000000000000000..24efc88d27aaaa3d0dd1a0859c97be2fd3553504 GIT binary patch literal 4521 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 x;R;B;`g0a#>}d5voNY& 0) { + strings.push(quotes[j][1]) + // print('TEXT_CONTENT_$', string_index, quotes[j][1]) + all_lines[i] = all_lines[i].replace(`'${quotes[j][1]}'`, `[TEXT_CONTENT_${string_index}]`) + string_index += 1 + } + } + + // after keyword for easier invoke() + if (line.startsWith('after ') && all_lines[i].trimEnd().endsWith(':')) { + start_indent = get_indent(all_lines[i]) + all_lines[i] = all_lines[i].replaceAll('after ', 'after(') + all_lines[i] = all_lines[i].slice(0,-1) + ', function()' + for (var j=i+1; j a + b, 0)') + lines[i] = lines[i].replaceAll('[-1]', '.at(-1)') + lines[i] = lines[i].replaceAll(' # ', ' //') // comments + + // list comprehention + if (lines[i].includes('[') && lines[i].includes(']') && lines[i].includes(' for ') && lines[i].includes(' in ') && !lines[i].endsWith(':') && !lines[i].includes('[[')) { + // remove part before list comprehension + if (lines[i].includes(' = [')) { + code_before_list_comprehension = lines[i].split(' = [')[0] + ' = ' + list_comprehension = lines[i].split(' = [')[1] + } + else { + code_before_list_comprehension = lines[i].split('[')[0] + list_comprehension = lines[i].split('[')[1] + } + + code_after_list_comprehension = list_comprehension.substring(list_comprehension.lastIndexOf(']')+1) + list_comprehension = list_comprehension.substring(0, list_comprehension.lastIndexOf(']')) + // print('code_after_list_comprehension:', code_after_list_comprehension) + // print('list_comprehension:', list_comprehension) + + first_var = list_comprehension.split(' for ')[0] + element_name = list_comprehension.split(' for ')[1].split(' in ')[0] + + target_list = list_comprehension.split(' in ')[1] + if (target_list.includes(' if ')) { + target_list = target_list.split(' if ')[0] + } + + condition = '' + if (list_comprehension.includes(' if ')) { + condition = list_comprehension.split(target_list)[1].split(' if ')[1] // get the part after the target list and remove the if and the last ] + } + + map_code = '' + if (first_var != element_name) { + map_code = `.map(${element_name} => ${first_var})` + } + + filter_code = '' + if (condition != '') { + filter_code = `.myCustomFilter(${element_name} => {if (${condition}) return ${element_name}})` + } + + lines[i] = `${code_before_list_comprehension}${target_list}${map_code}${filter_code}${code_after_list_comprehension}` + } + + if (lines[i].endsWith(':')) { + lines[i] = lines[i].slice(0,-1) + } + + // ifs + if (lines[i].trimStart().startsWith('if ')) { + lines[i] = lines[i].replace('if ', 'if (') + lines[i] = lines[i] + ')' + } + // elifs + else if (lines[i].trimStart().startsWith('elif ')) { + lines[i] = lines[i].replace('elif ', 'else if (') + lines[i] = lines[i] + ')' + } + + // dict iteration + else if (lines[i].trimStart().startsWith('for key, value in ') && lines[i].includes('.items()')) { + var dict_name = lines[i].split('for key, value in ')[1].split('.items()')[0] + lines[i] = lines[i].replace('for key, value in ', 'for (let [key, value] of ') + lines[i] = lines[i].replace(`${dict_name}.items()`, `Object.entries(${dict_name}))`) + } + + // for loops + else if (lines[i].trimStart().startsWith('for ') && lines[i].includes(' in ')) { + start = lines[i].split('for ')[0] // keep indentation + elements = lines[i].split('for ')[1].split(' in ')[0] + array = lines[i].split(' in ')[1] + + // normal for loop + if (!elements.includes(', ')) { + lines[i] = lines[i].replace('for ', 'for (var ') + lines[i] = lines[i].replace(' in ', ' of ') + lines[i] = lines[i] + ')' + } + // auto enumerate, match 'for ?, ? in ?' + else { + elements = `[${elements}]` + if (!array.startsWith('enumerate(')) { + array = `enumerate(${array})` + } + lines[i] = `${start}for (let ${elements} of ${array})` + } + + } + + // is in list + if (lines[i].includes(' in ') && !lines[i].includes('for ')) { + word_before_in = lines[i].split(' in ')[0].split(' ').pop() + if (word_before_in.startsWith('(')) { + word_before_in = word_before_in.slice(1) // remove first and last + } + // print('word before:', word_before_in) + word_after_in = lines[i].split(' in ')[1].split(' ')[0] + if (word_after_in.endsWith(')') && !word_after_in.endsWith('()')) { + word_after_in = word_after_in.slice(0,-1) + } + // print('word after:', word_after_in) + lines[i] = lines[i].replace(`${word_before_in} in ${word_after_in}`, `${word_after_in}.includes(${word_before_in})`) + } + + for (var class_name of ['dict', ]) { + if (lines[i].includes(`${class_name}({`)) { + continue + } + if (lines[i].startsWith(`${class_name}(`) || lines[i].includes(` ${class_name}(`)) { + lines[i] = convert_arguments(lines[i], class_name) + } + } + + for (var class_name of _class_names) { + is_first_word = lines[i].startsWith(`${class_name}(`) ? '' : ' ' // don't add space if line starts with 'Entity(', do add otherwise, to ensure we match the whole name + if (lines[i].includes(`${is_first_word}${class_name}(`)) { + lines[i] = lines[i].replace(`${is_first_word}${class_name}(`, `${is_first_word}new ${class_name}(`) + lines[i] = convert_arguments(lines[i], class_name) + } + } + + for (var n=0; n<10; n++) { + lines[i] = lines[i].replaceAll(`${n}ms`, `${n}*.001`) + lines[i] = lines[i].replaceAll(`${n}s`, `${n}`) + lines[i] = lines[i].replaceAll(`${n}m`, `${n}*60`) + lines[i] = lines[i].replaceAll(`${n}h`, `${n}*60*60`) + lines[i] = lines[i].replaceAll(` in ${n}:`, ` in range(${n}):`) + } + } + // add brackets based on indentation + current_indent = 0 + after_statement_indents = [] + + for (var i=0; i 0) { + prev_line_indent = get_indent(lines[i-1]) + current_line_indent = get_indent(lines[i]) + + if (current_line_indent > prev_line_indent) { + lines[i-1] += ' {' + current_indent = current_line_indent + } + if (current_line_indent < prev_line_indent) { + for (var j of range(current_indent - current_line_indent)) { + lines[i-1] += '\n' + ' '.repeat(current_indent-j-1) + '}' + + if (after_statement_indents.at(-1) === current_indent-j-1) { + lines[i-1] += ')' + after_statement_indents.pop() + } + } + current_indent = current_line_indent + } + if (lines[i].trimStart().startsWith('after(')) { + after_statement_indents.push(current_indent) + } + } + } + + new_line = '' + for (var j of range(current_indent)) { + new_line += '' + ' '.repeat(current_indent-1) + '}' + } + lines.push(new_line) + var compiled_code = lines.join('\n') + + // add text back in + for (var i=0; i e.split('=')[0]) + if (!keys.includes('name')) { + if (line.includes(`= new ${class_name}`)) { + variable_name = line.split(`= new ${class_name}`)[0].trimStart() + if (variable_name.startsWith('let ')) { + variable_name = variable_name.slice(4) + } + new_arguments = `name='${variable_name}', ${new_arguments}` + } + } + js_style_arguments = '{' + new_arguments.replaceAll('=', ':') + '}' + + if (has_inline_function) { + js_style_arguments = js_style_arguments.replace('[INLINE_FUNC_PLACEHOLDER]', 'function(){' + func_content + '}') + } + + return line.replace(arguments, js_style_arguments) +} + +function len(arr) { + return arr.length +} + +function sum(arr) { + return arr.reduce((a, b) => a + b, 0) +} + +String.prototype.count=function(c) { + var result = 0, i = 0; + for(i;i 0 && start >= stop) || (step < 0 && start <= stop)) { + return []; + } + var result = []; + for (var i = start; step > 0 ? i < stop : i > stop; i += step) { + result.push(i); + } + return result; +}; +Array.prototype.myCustomFilter = function (fn) { + const filtered = [] + for (let i=0; i= 0) { + this.splice(index, 1) + } +} + +function dict(values={}) { + return values +} +__name__ = null // for python compability +__autocompile__ = true + +var scripts = document.getElementsByTagName("script") +for (var script of scripts) { + if (script.type == 'text/sunsnake') { + print('compile:', script) + if (script.textContent) { + compiled_code = compile(script.textContent) + eval(compiled_code) + } + } +} diff --git a/cmyk_swap/taptapir.js b/cmyk_swap/taptapir.js new file mode 100644 index 0000000..8d0470a --- /dev/null +++ b/cmyk_swap/taptapir.js @@ -0,0 +1,1355 @@ +// aspect_ratio = 16/9 +scale = 1 +print = console.log + +Array.prototype.remove = function (element) { + var index = this.indexOf(element) + if (index >= 0) { + this.splice(index, 1) + } +} + +var _loading_text = document.getElementById('loading_text') +if (_loading_text) { + _loading_text.remove() +} +const style = document.createElement('style') +style.textContent = ` +.entity { + touch-action: none; + width:100%; height:100%; position:absolute; top:50%; left:50%; will-change: transform; + transform:translate(-50%, -50%); color:black; background-size: 100% 100%; padding:0; border-width:0px; + visibility: 'visible'; display:inherit; image-rendering: pixelated; + background-repeat:repeat; + white-space: pre; +} +.entity:focus { + outline: 0; -moz-outline-style: none; +} + +#game {margin:auto; background-color: darkgreen; position: absolute; top: 50%; left: 50%; + transform: translate(-50%, -50%); overflow: hidden; pointer-events: none; + width:100%; height:100%; outline: 0; box-shadow: 0; touch-action: none; user-select: none; + white-space: pre-wrap; +} +fullscreen_button {padding: 4px 4px; width: 64px; height: 64px; background-color: #555; border-radius: .2em; border-width: 0px; + text-decoration: none; color: white; font-size: 50.0px; z-index: 1; position: absolute; text-align: center; right: 0%; +} +body { + margin:0; + background-color:'#111'; + font-family: CerebriSans-Regular,-apple-system,system-ui,Roboto,sans-serif; + overscroll-behavior-y: contain; +} +#loading_text { + position: absolute; + top: 50%; + left: 50%; + width: 100%; + color: white; + font-family:monospace; + transform: translate(-50%, -5%); + text-align: center; +} +input, textarea { + pointer-events: auto; + height: 100%; + width: 100%; + font-size: inherit; + font-family: monospace; + border-radius: inherit; + background-color: inherit; + border-width: inherit; + text-indent: .5em; + resize: none; + color: inherit; +} +` +document.head.append(style) + +var _game_window = document.getElementById('game') +if (!_game_window) { + var _game_window = document.createElement('game') + _game_window.id = 'game' + if (!document.body) { + document.body = document.createElement('body') + } + document.body.appendChild(_game_window) +} +scene = document.createElement('entity') +scene.className = 'entity' +scene.id = 'scene' +scene._children = [] +_game_window.appendChild(scene) + +// print('browser aspect_ratio:', browser_aspect_ratio) +format = null +is_mobile = 'ontouchstart' in document.documentElement +fullscreen = false +camera = null + +function set_orientation(value) { + var width = window.innerWidth + var height = window.innerHeight + browser_aspect_ratio = width / height + // print('width:', width, 'height:', height, 'browser_aspect_ratio:', browser_aspect_ratio) + + format = value + if (format == 'vertical') { + aspect_ratio = 16/9 + // used for setting correct draggable limits + asp_x = 1 + asp_y = 9/16 + + if (browser_aspect_ratio >= 9/16) { // if the screen is wider than the game, like a pc monitor. + // print('vertical view desktop') + _game_window.style.width = `${width*scale/browser_aspect_ratio/(16/9)}px` + _game_window.style.height = `${height*scale}px` + } + else { // if the screen is taller than the game, like a phone screen. + // print('vertical view mobile') + _game_window.style.height = `${width*scale*(16/9)}px` + _game_window.style.width = `${width*scale}px` + } + if (camera) {camera.ui.scale = [1, 1/aspect_ratio]} + top_left = [-.5, .5*aspect_ratio] + top_right = [.5, .5*aspect_ratio] + bottom_left = [-.5, -.5*aspect_ratio] + bottom_right = [.5, -.5*aspect_ratio] + top = [0, .5*aspect_ratio] + bottom = [0, -.5*aspect_ratio] + left = [-.5, 0] + right = [.5, 0] + } + else { + aspect_ratio = 16/9 + asp_x = 16/9 + asp_y = 1 + scene.style.width = `${1/asp_x*100}%` + scene.style.height = `${1/asp_y*100}%` + if (browser_aspect_ratio > 16/9) { // if the screen is wider than 16/9, fit to height + _game_window.style.height = `${height*scale}px` + _game_window.style.width = `${width*scale/browser_aspect_ratio*16/9}px` + } + else { // if the screen is taller than 16/9, fit to width + _game_window.style.height = `${height*scale*browser_aspect_ratio/(16/9)}px` + _game_window.style.width = `${width*scale}px` + } + if (camera) {camera.ui.scale = [1/aspect_ratio, 1]} + top_left = [-.5*aspect_ratio, .5] + top_right = [.5*aspect_ratio, .5] + bottom_left = [-.5*aspect_ratio, -.5] + bottom_right = [.5*aspect_ratio, -.5] + top = [0, .5] + bottom = [0, -.5] + left = [-.5*aspect_ratio, 0] + right = [.5*aspect_ratio, 0] + + } +} +set_orientation('vertical') + + +function rgb(r, g, b) {return `rgb(${parseInt(r*255)},${parseInt(g*255)},${parseInt(b*255)})`} +function rgb32(r, g, b) {return `rgb(${r},${g},${b})`} + +function hex_to_rgb(value) { + if (value.length === 4) { + value = `#${value[1]}${value[1]}${value[2]}${value[2]}${value[3]}${value[3]}` // convert '#333' to '#333333' + } + try { + r = value.slice(1,3) + g = value.slice(3,5) + b = value.slice(5,7) + return [parseInt(r,16), parseInt(g,16), parseInt(b,16)] + } + catch (e) { + console.error('invalid hex code:', value); + } +} +// from: https://stackoverflow.com/questions/17242144/javascript-convert-hsb-hsv-color-to-rgb-accurately +function hsv(h, s, v) { + h /= 360; + var r, g, b, i, f, p, q, t; + if (arguments.length === 1) { + s = h.s, v = h.v, h = h.h; + } + i = Math.floor(h * 6); + f = h * 6 - i; + p = v * (1 - s); + q = v * (1 - f * s); + t = v * (1 - (1 - f) * s); + switch (i % 6) { + case 0: r = v, g = t, b = p; break; + case 1: r = q, g = v, b = p; break; + case 2: r = p, g = v, b = t; break; + case 3: r = p, g = q, b = v; break; + case 4: r = t, g = p, b = v; break; + case 5: r = v, g = p, b = q; break; + } + return [parseInt(r*255), parseInt(g*255), parseInt(b*255)]; +} + +function rgb_to_hsv(_rgb_color) { + r = _rgb_color[0] + g = _rgb_color[1] + b = _rgb_color[2] + // It converts [0,255] format, to [0,1] + r = (r === 255) ? 1 : (r % 255 / parseFloat(255)) + g = (g === 255) ? 1 : (g % 255 / parseFloat(255)) + b = (b === 255) ? 1 : (b % 255 / parseFloat(255)) + var max = Math.max(r, g, b) + var min = Math.min(r, g, b) + var h, s, v = max + var d = max - min + s = max === 0 ? 0 : d / max + + + switch (max) { + case min: h = 0; break; + case r: h = (g - b) + d * (g < b ? 6: 0); h /= 6 * d; break; + case g: h = (b - r) + d * 2; h /= 6 * d; break; + case b: h = (r - g) + d * 4; h /= 6 * d; break; + } + return [parseInt(h*360), s, v] +} + +color = { + white: hsv(0, 0, 1), + smoke: hsv(0, 0, 0.96), + light_gray: hsv(0, 0, 0.75), + gray: hsv(0, 0, 0.5), + dark_gray: hsv(0, 0, 0.25), + black: hsv(0, 0, 0), + red: hsv(0, 1, 1), + orange: hsv(30, 1, 1), + yellow: hsv(60, 1, 1), + lime: hsv(90, 1, 1), + green: hsv(120, 1, 1), + turquoise: hsv(150, 1, 1), + cyan: hsv(180, 1, 1), + azure: hsv(210, 1, 1), + blue: hsv(240, 1, 1), + violet: hsv(270, 1, 1), + magenta: hsv(300, 1, 1), + pink: hsv(330, 1, 1), + clear: [0, 0, 0, 0], +} + +function set_window_color(value) {_game_window.style.backgroundColor = value} +function set_background_color(value) {document.body.style.backgroundColor = value} +function set_scale(value) { + scale = value + set_orientation(format) +} + +function set_fullscreen(value) { + fullscreen = value + if (value) { + document.documentElement.requestFullscreen() + } + else { + document.exitFullscreen(); + } +} + +ASSETS_FOLDER = '' +entities = [] + +class Entity { + constructor(options=null) { + if (!('type' in options)) { + options['type'] = 'entity' + } + this.add_to_scene = true + if ('add_to_scene' in options) { + this.add_to_scene = options['add_to_scene'] + } + if (!this.add_to_scene) { + this.el = document.createElement(options['type']) + entities.push(this) + for (const [key, value] of Object.entries(options)) { + this[key] = value + } + return + } + + this.el = document.createElement(options['type']) + this.el.className = options['type'] + + // create another div for the model, for setting origin to work + this.el.style.backgroundColor = 'rgba(0,0,0,0)' + // this.el.style.pointerEvents = 'none' + this.model = document.createElement(options['type']) + this.model.entity_index = entities.length + this.model.id = 'model' + this.el.appendChild(this.model) + + this.model.className = options['type'] + this.model.style.opacity = 1 + entities.push(this) + + this.setTimeout_calls = {} + if (!('render' in options) || options['render']) { + scene.appendChild(this.el) + } + + // if (!'parent' in options) { + // print('default to scene') + this.parent = scene + // } + + this.children = [] + this._enabled = true + this.on_enable = null + this.on_disable = null + this.color = '#ffffff' + this.x = 0 + this.y = 0 + this.z = 0 + this.scale = [1,1] + this.draggable = false + this.dragging = false + this.lock_x = false + this.lock_y = false + + this.min_x = -.5 * asp_x + this.max_x = .5 * asp_x + this.min_y = -.5 / asp_y + this.max_y = .5 / asp_y + + this.snap_x = 0 + this.snap_y = 0 + this.text_size = 3 + this._roundness = 0 + + for (const [key, value] of Object.entries(options)) { + this[key] = value + } + } + get name() {return this._name} + set name(value) { + this._name = value + this.el.id = value + } + + get parent() {return this._parent} + set parent(value) { + if (value == null) { + value = scene + } + if (value === scene) { + value.appendChild(this.el) + } + else { + value.el.appendChild(this.el) + } + if (this._parent && this._parent._children) { + this._parent._children.remove(self) + } + this._parent = value + if (value._children && !value._children.includes(this)) { + value._children.push(this) + } + } + get children() {return this._children} + set children(value) { + this._children = value + for (const e of value) { + e.parent = this + } + } + get world_parent() {return this.parent} + set world_parent(value) { + wpos = this.world_position + wscale = this.world_scale + this.parent = value + + this.world_position = wpos + this.world_scale = wscale + } + get world_x() {return (this.el.getBoundingClientRect().left - scene.getBoundingClientRect().left) / scene.clientWidth} + get world_y() {return -(this.el.getBoundingClientRect().top - scene.getBoundingClientRect().top) / scene.clientHeight} + get world_position() {return [this.world_x, this.world_y]} + + get world_scale_x() {return this.el.clientWidth / scene.clientWidth} + get world_scale_y() {return this.el.clientHeight / scene.clientHeight} + get world_scale() {return [this.world_scale_x, this.world_scale_y]} + + get descendants() {return this.el.getElementsByTagName('*')} + + get enabled() {return this._enabled} + set enabled(value) { + if (value) { + this.el.style.visibility = 'visible' + for (var c of this.descendants) { + c.style.visibility = c.style.original_visibility + } + } + else { + this.el.style.visibility = 'hidden' + for (var c of this.descendants) { + c.style.original_visibility = c.style.visibility + c.style.visibility = 'inherit' + } + } + this._enabled = value + + if (value && this.on_enable) { + this.on_enable() + } + else if (!value && this.on_disable) { + this.on_disable() + } + } + + get visible_self() {return this._visible_self} + set visible_self(value) { + if (!value) { + this.color = [0,0,0,0] + this.model.color = 'rgba(0,0,0,0)' + this.text_color = 'rgba(0,0,0,0)' + } + else { + this.model.color = 'white' + this.text_color = 'white' + } + this._visible_self = value + } + get color() {return this._color} + set color(value) { + if (typeof value == "string" && value.startsWith('#')) { + value = hex_to_rgb(value) + } + if (value.length == 3) { + value = [value[0], value[1], value[2], 255] + } + // print('set color:', value) + this._color = value + this.model.style.backgroundColor = `rgba(${value[0]},${value[1]},${value[2]},${value[3]})` + } + get scale_x() {return this._scale_x} + set scale_x(value) { + this.el.style.width = `${value*100}%` + this._scale_x = value + } + get scale_y() {return this._scale_y} + set scale_y(value) { + this.el.style.height = `${value*100}%` + this._scale_y = value + } + get scale() {return [this._scale_x, this._scale_y]} + set scale(value) { + if (typeof value == "number") {value = [value, value]} + this.scale_x = value[0] + this.scale_y = value[1] + } + get x() {return this._x} + set x(value) { + this.el.style.left = `${50+(value*100)}%` + + this._x = value + } + get y() {return this._y} + set y(value) { + this.el.style.top = `${50+(-value*100)}%` + this._y = value + } + get z() {return this._z} + set z(value) { + this._z = value + this.el.style.zIndex = -value + } + get xy() {return [this._x, this._y]} + set xy(value) { + this.x = value[0] + this.y = value[1] + } + get xyz() {return [this._x, this._y, this._z]} + set xyz(value) { + this.x = value[0] + this.y = value[1] + this.z = value[2] + } + get position() {return this.xyz} + set position(value) { + if (value.length == 2) {return this.xy = value} + if (value.length == 3) {return this.xyz = value} + } + get origin() {return this._origin} + set origin(value) { + this.model.style.transform = `translate(${(-value[0]-.5)*100}%, ${(value[1]-.5)*100}%)` + this._origin = value + } + get rotation() {return this._rotation} + set rotation(value) { + this._rotation = value + this.el.style.transform = `translate(-50%, -50%) rotate(${value}deg)` + } + + get texture() {return this._texture} + set texture(value) { + this._texture = value + if (!value) { + this.model.style.backgroundImage = 'none' + return + } + + if (!value.endsWith('.gif') && !value.startsWith('data:')) { // static image + this.model.style.backgroundImage = `url("${ASSETS_FOLDER}${value}")` + this.visible_self = false + return + } + + if (value.endsWith('.gif')) { // .gif (ensure animation replays on reuse) + this.model.style.backgroundImage = `url("${ASSETS_FOLDER}${value}?${random_int(0,999)}")` // add random number so the gif restarts when setting .texture again + this.visible_self = false + return + } + + if (value.startsWith('data:')) { + this.model.style.backgroundImage = `url("${value}")` + this.visible_self = false + return + } + } + + get tileset_size() {return this._tileset_size} + set tileset_size(value) { + this._tileset_size = value + this.model.style.backgroundSize = `${value[0]*100}% ${value[1]*100}%` + } + get tile_coordinate() {return this._tile} + set tile_coordinate(value) { // [0,0] is in lower left + this._tile = value + this.model.style.backgroundPosition = `${(this.tileset_size[0]-1)*value[0]*100}% ${(this.tileset_size[1]-1)*(this.tileset_size[1]-1-value[1])*100}%` + } + + get roundness() {return this._roundness} + set roundness(value) { + this.model.style.borderRadius = `${value*Math.min(this.model.clientWidth, this.model.clientHeight)}px` + this._roundness = clamp(value, 0, .5) + } + get shadow() {return this._shadow} + set shadow(value) { + this._shadow = value + if (value === true) { + this.model.style.boxShadow = "5px 20px 40px black"; + } + else if (value === false) { + this.model.style.boxShadow = 'none' + } + else { + this.model.style.boxShadow = value + } + } + + get text() {return this.model.textContent} + set text(value) { + this.model.innerHTML = value + } + get text_color() {return this.model.style.color} + set text_color(value) { + if (!(typeof value == "string")) { + // print('set color:', value) + var alpha = 255 + if (value.length == 4) { + alpha = value[3] + } + value = `rgba(${value[0]},${value[1]},${value[2]},${alpha})` + } + this.model.style.color = value + } + get text_size() {return this._text_size} + set text_size(value) { + this._text_size = value + this.model.style.fontSize = `${value*scale}vh` + } + + get text_origin() {return this._text_origin} + set text_origin(value) { + this._text_origin = value + this.model.style.display = 'flex' + this.model.style.textAlign = ['left', 'center', 'right'][(value[0]*2)+1] // horizontally + this.model.style.justifyContent = ['left', 'center', 'right'][(value[0]*2)+1] // horizontally + this.model.style.alignItems = ['flex-end', 'center', 'flex-start'][(value[1]*2)+1] // vertically + } + + get alpha() {return this.model.style.opacity} + set alpha(value) { + this._alpha = value + this.model.style.opacity = value + } + get padding() {return this._padding} + set padding(value) { + this._padding = value + this.model.style.padding = `${value}em` + } + + get on_click() {return this._on_click} + set on_click(value) { + this._on_click = value + if (value && !this.ignore_collision) { + this.model.style.pointerEvents = 'auto' + } + else {this.model.style.pointerEvents = 'none'} + } + get on_double_click() {return this.ondblclick} + set on_double_click(value) { + this.ondblclick = value + if (value && !this.ignore_collision) { + this.model.style.pointerEvents = 'auto' + } + else {this.model.style.pointerEvents = 'none'} + } + get ignore_collision() {return this._ignore_collision} + set ignore_collision(value) { + this._ignore_collision = value + if (!value) { + this.model.style.pointerEvents = 'auto' + } + else {this.model.style.pointerEvents = 'none'} + } + + get draggable() {return this._draggable} + set draggable(value) { + this._draggable = value + if (value) { + this.model.style.pointerEvents = 'auto' + } + else if (!this._on_click) { + this.model.style.pointerEvents = 'none' + } + } + + animate(variable_name, target_value, duration=.1) { + // print('animate:', variable_name, target_value) + if (!this.enabled) {return false} + let entity = this + // stop ongoing animation of this varibale + if (variable_name in entity.setTimeout_calls) { + for (const id of entity.setTimeout_calls[variable_name]) { + clearTimeout(id) + // print('clear:', id) + } + } + entity.setTimeout_calls[variable_name] = [] + let start_value = entity[variable_name] + + for (let i=0; i<=duration*60; i+=1) { + entity.setTimeout_calls[variable_name].push( + setTimeout( + function anon() { + if (!entity.enabled) { + return false} + var t = i / duration / 60 + entity[variable_name] = lerp(start_value, target_value, t) + }, + 1000*i/60 + ) + ) + } + } + + fit_to_text(padding=0) { + this.model.style.width = 'fit-content' + this.model.style.height = 'fit-content' + this.model.style.padding = `${padding}` + } + + look_at(target_pos) { + this.rotation = -(Math.atan2(target_pos[1] - this.y, target_pos[0] - this.x)) * (180/Math.PI) + } + + destroy_children() { + for (let _entity of this.children) { + _entity.el.remove() + } + this.children = [] + } +} + +function lerp(a, b, t) { + return ((1-t)*a) + (t*b) +} +function clamp(num, min, max) { + return num <= min ? min : num >= max ? max : num; +} +random_value = Math.random; + +function random_int(min, max) { + min = Math.ceil(min); + max = Math.floor(max); + return Math.floor(Math.random() * (max - min + 1)) + min; +} +function random_choice(list) { + return list[random_int(0, len(list)-1)] +} +function random_color() { + return rgb(Math.random(), Math.random(), Math.random()) +} + +function lists_are_equal(array_a, array_b) { + for (let i=0; i { + camera.overlay.animate('alpha', 0, 1) + this.hard_state = value + }, 100) + } + else { + this.hard_state = value + } + } + set hard_state(value) { // set the state without fading + // print('set state to:', value) + for (const [key, entity] of Object.entries(this.states)) { + if (key == value || value == entity) { + entity.enabled = true + if (entity.on_enter) { + entity.on_enter() + } + } + else { + entity.enabled = false} + } + + this._state = value + } +} + +state_handler = new StateHandler({}, true) + +function goto_scene(scene_name, fade=True) { + if (!fade) { + state_handler.hard_state = scene_name + return + } + state_handler.state = scene_name +} + +class HealthBar extends Entity { + constructor(options=false) { + let settings = {min:0, max:100, color:'#222222', bar_color:'bb0505', scale:[.8,.05], roundness:.25} + for (const [key, value] of Object.entries(options)) { + settings[key] = value + } + super(settings) + this.bar = new Entity({parent:this, origin:[-.5,0], x:-.5, roundness:.25, scale_x:.25, color:settings['bar_color']}) + this.text_entity = new Entity({parent:this, text:'hii', text_color:'#dddddd', color:color.clear, text_origin:[0,0], text_size:2}) + this.value = settings['max'] + } + + get value() {return this._value} + set value(value) { + value = clamp(value, this.min, this.max) + // print('set value:', value) + this._value = value + this.bar.scale_x = value / this.max + this.text_entity.text = `${value} / ${this.max}` + } + get bar_color() {return this.bar.color} + set bar_color(value) { + if (this.bar) { + this.bar.color = value + } + } +} +class RainbowSlider extends Entity { + constructor(options=false) { + let settings = {min:1, max:5, default:1, color:'#222', scale:[.8,.05], roundness:.25, show_text:false, show_lines:false, gradient:['#CCCCFF', '#6495ED', '#40E0D0', '#9FE2BF', '#28ccaa'], } + for (const [key, value] of Object.entries(options)) { + settings[key] = value + } + super(settings) + this.bar = new Entity({parent:this, origin:[-.5,0], x:-.5, roundness:.25, scale_x:.25}) + this.text_entity = new Entity({parent:this, text:'000', text_color:'#ddd', color:color.clear, text_origin:[0,0], text_size:2, enabled:settings['show_text']}) + this.gradient = settings['gradient'] + this.value = settings['default'] + this.active = false + // this.color = settings['color'] + + if (settings['show_lines']) { + this.texture= 'tile.png' + this.tileset_size = [1/settings['max'],1] + } + this.on_click = function() { + this.value = int((mouse.point[0]+.5+(1/this.max)) * this.max) + this.active = true + } + } + + update() { + if (this.active && mouse.left && mouse.hovered_entity === this) { + this.value = int((mouse.point[0]+.5+(1/this.max)) * this.max) + } + } + + input(key) { + if (key === 'left mouse up') { + this.active = false + } + } + + get value() {return this._value} + set value(value) { + value = clamp(value, this.min, this.max) + this._value = value + this.bar.scale_x = value / this.max + this.text_entity.text = `${value} / ${this.max}` + this.bar.color = this.gradient[clamp(int(value)-1, 0, len(this.gradient)-1)] + if (this.on_value_changed) { + this.on_value_changed() + } + } +} + +class InputField extends Entity { + constructor(options=false) { + let settings = {roundness:.5, color:color.smoke, text_size:2, value:''} + for (const [key, value] of Object.entries(options)) { + settings[key] = value + } + super(settings) + this.input_field = document.createElement('input') + this.model.appendChild(this.input_field) + this.input_field.onkeyup = () => { + if (this.on_value_changed) { + this.on_value_changed() + } + } + this.value = settings['value'] + } + + get value() {return this.input_field.value} + set value(x) { + if (this.input_field) { + this.input_field.value = x + } + } +} + + +mouse = {x:0, y:0, position:[0,0], left:false, middle:false, pressure:0.0, hovered_entity:null, + set texture(name) { // TODO: fix this + document.body.style.cursor = `url('${name}', auto)` + // print('spegijseofijseofijseiofddddddddddddddddddddddddddddddd', document.body.style) + } +} + +function _mousedown(event) { + _input(event) + if (event.button > 0) { + return + } + + // if (event.pointerType == 'mouse' || event.pointerType == 'touch') { + // mouse.pressure = 1 + // } + // else { + // mouse.pressure = event.originalEvent.pressure + // } + _update_mouse_position(event) + _handle_mouse_click(event) +} +document.addEventListener('pointerdown', _mousedown) + + +time_of_press = 0 +function _handle_mouse_click(e) { + mouse.left = true + element_hit = document.elementFromPoint(e.pageX - window.pageXOffset, e.pageY - window.pageYOffset); + entity = entities[element_hit.entity_index] + // print(element_hit, entity.on_click) + if (!element_hit || entity === undefined || entity.on_click === undefined) { + mouse.swipe_start_position = mouse.position + time_of_press = time + } + + // print(element_hit) + if (element_hit && entity) { + if (entity.on_click) { + entity.on_click() + } + if (entity.draggable) { + window_position = _game_window.getBoundingClientRect() + entity.start_offset = [ + ((((e.clientX - window_position.left) / _game_window.clientWidth) - .5) * asp_x*camera.fov) - entity.x, + (-(((e.clientY - window_position.top) / _game_window.clientHeight ) - .5) / asp_y*camera.fov) - entity.y + ] + entity.dragging = true + } + } +} + +function _mouseup(event) { + mouse.click_end_position = mouse.position + if (time - time_of_press < .15) { + diff_x = mouse.position[0] - mouse.swipe_start_position[0] + diff_y = mouse.position[1] - mouse.swipe_start_position[1] + + if (diff_x < -.05 && abs(diff_y) < .15) { + _input('swipe left') + } + if (diff_x > .05 && abs(diff_y) < .15) { + _input('swipe right') + } + if (diff_y > .05 && abs(diff_x) < .15) { + _input('swipe up') + } + if (diff_y < -.05 && abs(diff_x) < .15) { + _input('swipe down') + } + } + + _input(event) + mouse.left = false; + for (var e of entities) { + if (e.dragging) { + e.dragging = false + if (e.drop) { + e.drop() + } + } + } +} +document.addEventListener('pointerup', _mouseup) + + +function _update_mouse_position(event) { + window_position = _game_window.getBoundingClientRect() + event_x = event.clientX + event_y = event.clientY + mouse.x = (((event_x - window_position.left) / _game_window.clientWidth) - .5) * asp_x + mouse.y = -(((event_y - window_position.top) / _game_window.clientHeight ) - .5) / asp_y + mouse.position = [mouse.x, mouse.y] + mouse.pressure = event.pressure * 2 +} + +function _onmousemove(event) { + // print('move') + _update_mouse_position(event) + + if (!mouse.hovered_entity) { + mouse.point = null + } + else { + var rect = event.target.getBoundingClientRect(); + var x = event.clientX - rect.left; //x position within the element. + var y = event.clientY - rect.top; //y position within the element. + mouse.point = [(x/rect.width)-.5, .5-(y/rect.height)] + } + element_hit = document.elementFromPoint(event.pageX - window.pageXOffset, event.pageY - window.pageYOffset); + _entity = entities[element_hit.entity_index] + if (_entity) { + mouse.hovered_entity = _entity + } + else { + mouse.hovered_entity = null + } + for (var e of entities) { + if (e.dragging) { + if (!e.lock_x) { + // print(mouse.x, e.start_offset[0]) + e.x = mouse.x*camera.fov - e.start_offset[0] + e.x = clamp(e.x, e.min_x, e.max_x) + if (e.snap_x) { + hor_step = 1 / e.snap_x + e.x = round(e.x * hor_step) / hor_step + } + } + if (!e.lock_y) { + e.y = mouse.y*camera.fov - e.start_offset[1] + e.y = clamp(e.y, e.min_y, e.max_y) + if (e.snap_y) { + hor_step = 1 / e.snap_y + e.y = round(e.y * hor_step) / hor_step + } + } + if (e.while_dragging) { + // print('d', mouse.position, mouse.point) + e.while_dragging() + } + } + } +} + +document.addEventListener('pointermove', _onmousemove) + +// palette = [ +// '#000000', '#1D2B53', '#7E2553', '#008751', '#AB5236', '#5F574F', '#C2C3C7', '#FFF1E8', +// '#FF004D', '#FFA300', '#FFEC27', '#00E436', '#29ADFF', '#83769C', '#FF77A8', '#FFCCAA' +// ] +// let filter_code = '' +// for (i = 0; i < palette.length; i++) { +// let rgb = hex_to_rgb(palette[i]) +// let r = rgb.r/255 +// let g = rgb.g/255 +// let b = rgb.b/255 +// let redToBlue = `${r**2.4} 0 0 0 0 ${g**2.4} 0 0 0 0 ${b**2.4} 0 0 0 0 0 0 0 1 0`; +// filter_code += ` +// +// +// +// +// +// ` +// } +// filters = document.createElement('div') +// _game_window.appendChild(filters) +// filters.innerHTML = filter_code +// class TintableTile extends Entity { +// get tint() {return this._tint} +// set tint(value) { +// this._tint = value +// if (value < 16) { +// this.el.model.style.filter = `url(#tint_filter_${value})` +// } +// } +// +// } +timeout_id = 0 +function invoke(func, delay) { + timeout_id = setTimeout(func, delay*1000) +} +function after(delay, func) { + timeout_id = setTimeout(func, delay*1000) +} +function stop_all_invokes() { + for (let i = timeout_id; i >= 0; i--) { + window.clearInterval(i); + } +} + +function distance(a, b) { + return sqrt((b[0] - a[0])**2 + (b[1] - a[1])**2) +} + +function magnitude(vec) { + const x = vec[0], y = vec[1] + const magSq = x * x + y * y + return Math.sqrt(magSq) +} + +function normalize(vec) { + vec_length = magnitude(vec) + if (vec_length == 0) { + return vec + } + return [vec[0] / vec_length, vec[1] / vec_length] +} + +function dot_product(vector1, vector2) { + let result = 0; + for (let i = 0; i < vector1-length; i++) { + result += vector1[i] * vector2[i]; + } + return result; +} + + +function sample(population, k){ + if(!Array.isArray(population)) + throw new TypeError("Population must be an array."); + var n = population.length; + if(k < 0 || k > n) + throw new RangeError("Sample larger than population or is negative"); + + var result = new Array(k); + var setsize = 21; // size of a small set minus size of an empty list + + if(k > 5) + setsize += Math.pow(4, Math.ceil(Math.log(k * 3) / Math.log(4))) + + if(n <= setsize){ + // An n-length list is smaller than a k-length set + var pool = population.slice(); + for(var i = 0; i < k; i++){ // invariant: non-selected at [0,n-i) + var j = Math.random() * (n - i) | 0; + result[i] = pool[j]; + pool[j] = pool[n - i - 1]; // move non-selected item into vacancy + } + }else{ + var selected = new Set(); + for(var i = 0; i < k; i++){ + var j = Math.random() * n | 0; + while(selected.has(j)){ + j = Math.random() * n | 0; + } + selected.add(j); + result[i] = population[j]; + } + } + + return result; +} + +function destroy(_entity) { + if (!_entity) { + return + } + if (_entity._parent && _entity._parent._children) { + _entity._parent._children.remove(_entity) + } + _entity.el.remove() + //delete _entity +} + +function save_system_save(name, value) {localStorage.setItem(name, JSON.stringify(value))} +function save_system_load(name) { + try { + return JSON.parse(localStorage.getItem(name)) + } + catch (err) { + print(err) + return 0} + } +function save_system_clear() {localStorage.clear()} + +time = 0 +delta_time = 1/60 +let start, _prev_time; +update = null +function _step(_timestamp) { + if (start === undefined) { + start = _timestamp; + } + const elapsed = _timestamp - start; + if (update) { + update() + } + + for (var e of entities) { + if (e.update && e.enabled) { + e.update() + } + } + + time = _timestamp / 1000 + delta_time = (_timestamp - _prev_time) / 1000 + _prev_time = _timestamp + window.requestAnimationFrame(_step); +} +window.requestAnimationFrame(_step) + + +held_keys = {} +all_keys = ` 0) {key = 'scroll down'} + else {key = 'scroll up'} + } + else if (event.type == 'pointerdown') { + if (event.button == 0) {key = 'left mouse down'; mouse.left=true; held_keys['mouse left']=true} + else if (event.button == 1) {key = 'middle mouse down'; mouse.middle=true; held_keys['mouse middle']=true} + else if (event.button == 2) {key = 'right mouse down'; mouse.right=true; held_keys['mouse right']=true} + } + else if (event.type == 'pointerup') { + if (event.button == 0) {key = 'left mouse up'; mouse.left=false; held_keys['mouse left']=false} + else if (event.button == 1) {key = 'middle mouse up'; mouse.middle=false; held_keys['mouse middle']=false} + else if (event.button == 2) {key = 'right mouse up'; mouse.right=false; held_keys['mouse right']=false} + } + + else { + key = event.key.toLowerCase() + } + } + else { // is already a string, like swipe left, etc. + key = event + } + + if (key in _renamed_keys) { + key = _renamed_keys[key] + } + + if ((event instanceof Event) && event.type == "keyup") { + held_keys[key] = 0 + key = key + ' up' + } + else if (!held_keys[key]){ + held_keys[key] = 1 + } + else if (event.type == "keydown") { // prevent key repeat + return + } + + + for (var e of entities) { + if (e.input && e.enabled) { + e.input(key) + } + } + if (input) { + input(key) + } +} +document.addEventListener('keydown', _input) +document.addEventListener('keyup', _input) +document.addEventListener('wheel', _input); // modern desktop + + +// triple click in the lower right to enter fullscreen +_hidden_fullscreen_button = new Button({parent:camera.ui, xy:bottom_right, roundness:.5, color:color.red, last_pressed_timestamp:-1, sequential_taps:0, visible_self:false}) +_hidden_fullscreen_button.on_click = function() { + // print(time - _hidden_fullscreen_button.last_pressed_timestamp) + if (time - _hidden_fullscreen_button.last_pressed_timestamp < .25) { + _hidden_fullscreen_button.sequential_taps += 1 + if (_hidden_fullscreen_button.sequential_taps >= 3) { + set_fullscreen(!fullscreen) + _hidden_fullscreen_button.sequential_taps = 0 + } + } + else { //reset + _hidden_fullscreen_button.sequential_taps = 1 + } + _hidden_fullscreen_button.last_pressed_timestamp = time +} + +function _fullscreenchange() { + set_scale(1) +} +document.addEventListener('fullscreenchange', _fullscreenchange) + +set_orientation('vertical') From 186423fc8375e9f87ba9123f999e3be7864ca155 Mon Sep 17 00:00:00 2001 From: pokepetter Date: Sat, 5 Aug 2023 23:50:26 +0200 Subject: [PATCH 02/16] ... --- cmyk_swap/cmyk_swap.html | 131 ++- cmyk_swap/sunsnake_compiler.js | 486 ------------ cmyk_swap/taptapir.js | 1355 -------------------------------- 3 files changed, 107 insertions(+), 1865 deletions(-) delete mode 100644 cmyk_swap/sunsnake_compiler.js delete mode 100644 cmyk_swap/taptapir.js diff --git a/cmyk_swap/cmyk_swap.html b/cmyk_swap/cmyk_swap.html index 6d941cb..12e1fff 100644 --- a/cmyk_swap/cmyk_swap.html +++ b/cmyk_swap/cmyk_swap.html @@ -1,7 +1,7 @@ CMYK Swap - + - + diff --git a/cmyk_swap/sunsnake_compiler.js b/cmyk_swap/sunsnake_compiler.js deleted file mode 100644 index 0987f41..0000000 --- a/cmyk_swap/sunsnake_compiler.js +++ /dev/null @@ -1,486 +0,0 @@ -print = console.log -_class_names = ['Entity', 'Button', 'Text', 'HealthBar', 'RainbowSlider', 'InputField'] -_language = 'sunsnake' - -Array.prototype.at = function(i) { - if (i < 0) { - i = this.length + i - } - return this[i] -} - -try {''.replaceAll('', '')} // make sure replaceAll is supported, else implement it. -catch {String.prototype.replaceAll = function replaceAll(search, replace) { return this.split(search).join(replace); }} - - -function compile(script) { - try {t = performance.now()} catch {} - // start parsing - script = script.replaceAll(',\n', ',') - script = script.replaceAll('(\n', '(') - script = script.replaceAll('{\n', '{') - script = script.replaceAll('[\n', '[') - script = script.replaceAll(' == ', ' === ') - script = script.replaceAll('.index(', '.indexOf(') - - var all_lines = script.split('\n'); - var lines = [] - lines.push('\n') - - strings = [] - string_index = 0 - const regexp = '\'(.*?)\''; - const regexp_backtick = '\`(.*?)\`'; - - extra_replacements = [] - is_in_multipline_string = false; - - for (var i=0; i 0) { - strings.push(quotes[j][1]) - // print('TEXT_CONTENT_$', string_index, quotes[j][1]) - all_lines[i] = all_lines[i].replace(`'${quotes[j][1]}'`, `[TEXT_CONTENT_${string_index}]`) - string_index += 1 - } - } - - // after keyword for easier invoke() - if (line.startsWith('after ') && all_lines[i].trimEnd().endsWith(':')) { - start_indent = get_indent(all_lines[i]) - all_lines[i] = all_lines[i].replaceAll('after ', 'after(') - all_lines[i] = all_lines[i].slice(0,-1) + ', function()' - for (var j=i+1; j a + b, 0)') - lines[i] = lines[i].replaceAll('[-1]', '.at(-1)') - lines[i] = lines[i].replaceAll(' # ', ' //') // comments - - // list comprehention - if (lines[i].includes('[') && lines[i].includes(']') && lines[i].includes(' for ') && lines[i].includes(' in ') && !lines[i].endsWith(':') && !lines[i].includes('[[')) { - // remove part before list comprehension - if (lines[i].includes(' = [')) { - code_before_list_comprehension = lines[i].split(' = [')[0] + ' = ' - list_comprehension = lines[i].split(' = [')[1] - } - else { - code_before_list_comprehension = lines[i].split('[')[0] - list_comprehension = lines[i].split('[')[1] - } - - code_after_list_comprehension = list_comprehension.substring(list_comprehension.lastIndexOf(']')+1) - list_comprehension = list_comprehension.substring(0, list_comprehension.lastIndexOf(']')) - // print('code_after_list_comprehension:', code_after_list_comprehension) - // print('list_comprehension:', list_comprehension) - - first_var = list_comprehension.split(' for ')[0] - element_name = list_comprehension.split(' for ')[1].split(' in ')[0] - - target_list = list_comprehension.split(' in ')[1] - if (target_list.includes(' if ')) { - target_list = target_list.split(' if ')[0] - } - - condition = '' - if (list_comprehension.includes(' if ')) { - condition = list_comprehension.split(target_list)[1].split(' if ')[1] // get the part after the target list and remove the if and the last ] - } - - map_code = '' - if (first_var != element_name) { - map_code = `.map(${element_name} => ${first_var})` - } - - filter_code = '' - if (condition != '') { - filter_code = `.myCustomFilter(${element_name} => {if (${condition}) return ${element_name}})` - } - - lines[i] = `${code_before_list_comprehension}${target_list}${map_code}${filter_code}${code_after_list_comprehension}` - } - - if (lines[i].endsWith(':')) { - lines[i] = lines[i].slice(0,-1) - } - - // ifs - if (lines[i].trimStart().startsWith('if ')) { - lines[i] = lines[i].replace('if ', 'if (') - lines[i] = lines[i] + ')' - } - // elifs - else if (lines[i].trimStart().startsWith('elif ')) { - lines[i] = lines[i].replace('elif ', 'else if (') - lines[i] = lines[i] + ')' - } - - // dict iteration - else if (lines[i].trimStart().startsWith('for key, value in ') && lines[i].includes('.items()')) { - var dict_name = lines[i].split('for key, value in ')[1].split('.items()')[0] - lines[i] = lines[i].replace('for key, value in ', 'for (let [key, value] of ') - lines[i] = lines[i].replace(`${dict_name}.items()`, `Object.entries(${dict_name}))`) - } - - // for loops - else if (lines[i].trimStart().startsWith('for ') && lines[i].includes(' in ')) { - start = lines[i].split('for ')[0] // keep indentation - elements = lines[i].split('for ')[1].split(' in ')[0] - array = lines[i].split(' in ')[1] - - // normal for loop - if (!elements.includes(', ')) { - lines[i] = lines[i].replace('for ', 'for (var ') - lines[i] = lines[i].replace(' in ', ' of ') - lines[i] = lines[i] + ')' - } - // auto enumerate, match 'for ?, ? in ?' - else { - elements = `[${elements}]` - if (!array.startsWith('enumerate(')) { - array = `enumerate(${array})` - } - lines[i] = `${start}for (let ${elements} of ${array})` - } - - } - - // is in list - if (lines[i].includes(' in ') && !lines[i].includes('for ')) { - word_before_in = lines[i].split(' in ')[0].split(' ').pop() - if (word_before_in.startsWith('(')) { - word_before_in = word_before_in.slice(1) // remove first and last - } - // print('word before:', word_before_in) - word_after_in = lines[i].split(' in ')[1].split(' ')[0] - if (word_after_in.endsWith(')') && !word_after_in.endsWith('()')) { - word_after_in = word_after_in.slice(0,-1) - } - // print('word after:', word_after_in) - lines[i] = lines[i].replace(`${word_before_in} in ${word_after_in}`, `${word_after_in}.includes(${word_before_in})`) - } - - for (var class_name of ['dict', ]) { - if (lines[i].includes(`${class_name}({`)) { - continue - } - if (lines[i].startsWith(`${class_name}(`) || lines[i].includes(` ${class_name}(`)) { - lines[i] = convert_arguments(lines[i], class_name) - } - } - - for (var class_name of _class_names) { - is_first_word = lines[i].startsWith(`${class_name}(`) ? '' : ' ' // don't add space if line starts with 'Entity(', do add otherwise, to ensure we match the whole name - if (lines[i].includes(`${is_first_word}${class_name}(`)) { - lines[i] = lines[i].replace(`${is_first_word}${class_name}(`, `${is_first_word}new ${class_name}(`) - lines[i] = convert_arguments(lines[i], class_name) - } - } - - for (var n=0; n<10; n++) { - lines[i] = lines[i].replaceAll(`${n}ms`, `${n}*.001`) - lines[i] = lines[i].replaceAll(`${n}s`, `${n}`) - lines[i] = lines[i].replaceAll(`${n}m`, `${n}*60`) - lines[i] = lines[i].replaceAll(`${n}h`, `${n}*60*60`) - lines[i] = lines[i].replaceAll(` in ${n}:`, ` in range(${n}):`) - } - } - // add brackets based on indentation - current_indent = 0 - after_statement_indents = [] - - for (var i=0; i 0) { - prev_line_indent = get_indent(lines[i-1]) - current_line_indent = get_indent(lines[i]) - - if (current_line_indent > prev_line_indent) { - lines[i-1] += ' {' - current_indent = current_line_indent - } - if (current_line_indent < prev_line_indent) { - for (var j of range(current_indent - current_line_indent)) { - lines[i-1] += '\n' + ' '.repeat(current_indent-j-1) + '}' - - if (after_statement_indents.at(-1) === current_indent-j-1) { - lines[i-1] += ')' - after_statement_indents.pop() - } - } - current_indent = current_line_indent - } - if (lines[i].trimStart().startsWith('after(')) { - after_statement_indents.push(current_indent) - } - } - } - - new_line = '' - for (var j of range(current_indent)) { - new_line += '' + ' '.repeat(current_indent-1) + '}' - } - lines.push(new_line) - var compiled_code = lines.join('\n') - - // add text back in - for (var i=0; i e.split('=')[0]) - if (!keys.includes('name')) { - if (line.includes(`= new ${class_name}`)) { - variable_name = line.split(`= new ${class_name}`)[0].trimStart() - if (variable_name.startsWith('let ')) { - variable_name = variable_name.slice(4) - } - new_arguments = `name='${variable_name}', ${new_arguments}` - } - } - js_style_arguments = '{' + new_arguments.replaceAll('=', ':') + '}' - - if (has_inline_function) { - js_style_arguments = js_style_arguments.replace('[INLINE_FUNC_PLACEHOLDER]', 'function(){' + func_content + '}') - } - - return line.replace(arguments, js_style_arguments) -} - -function len(arr) { - return arr.length -} - -function sum(arr) { - return arr.reduce((a, b) => a + b, 0) -} - -String.prototype.count=function(c) { - var result = 0, i = 0; - for(i;i 0 && start >= stop) || (step < 0 && start <= stop)) { - return []; - } - var result = []; - for (var i = start; step > 0 ? i < stop : i > stop; i += step) { - result.push(i); - } - return result; -}; -Array.prototype.myCustomFilter = function (fn) { - const filtered = [] - for (let i=0; i= 0) { - this.splice(index, 1) - } -} - -function dict(values={}) { - return values -} -__name__ = null // for python compability -__autocompile__ = true - -var scripts = document.getElementsByTagName("script") -for (var script of scripts) { - if (script.type == 'text/sunsnake') { - print('compile:', script) - if (script.textContent) { - compiled_code = compile(script.textContent) - eval(compiled_code) - } - } -} diff --git a/cmyk_swap/taptapir.js b/cmyk_swap/taptapir.js deleted file mode 100644 index 8d0470a..0000000 --- a/cmyk_swap/taptapir.js +++ /dev/null @@ -1,1355 +0,0 @@ -// aspect_ratio = 16/9 -scale = 1 -print = console.log - -Array.prototype.remove = function (element) { - var index = this.indexOf(element) - if (index >= 0) { - this.splice(index, 1) - } -} - -var _loading_text = document.getElementById('loading_text') -if (_loading_text) { - _loading_text.remove() -} -const style = document.createElement('style') -style.textContent = ` -.entity { - touch-action: none; - width:100%; height:100%; position:absolute; top:50%; left:50%; will-change: transform; - transform:translate(-50%, -50%); color:black; background-size: 100% 100%; padding:0; border-width:0px; - visibility: 'visible'; display:inherit; image-rendering: pixelated; - background-repeat:repeat; - white-space: pre; -} -.entity:focus { - outline: 0; -moz-outline-style: none; -} - -#game {margin:auto; background-color: darkgreen; position: absolute; top: 50%; left: 50%; - transform: translate(-50%, -50%); overflow: hidden; pointer-events: none; - width:100%; height:100%; outline: 0; box-shadow: 0; touch-action: none; user-select: none; - white-space: pre-wrap; -} -fullscreen_button {padding: 4px 4px; width: 64px; height: 64px; background-color: #555; border-radius: .2em; border-width: 0px; - text-decoration: none; color: white; font-size: 50.0px; z-index: 1; position: absolute; text-align: center; right: 0%; -} -body { - margin:0; - background-color:'#111'; - font-family: CerebriSans-Regular,-apple-system,system-ui,Roboto,sans-serif; - overscroll-behavior-y: contain; -} -#loading_text { - position: absolute; - top: 50%; - left: 50%; - width: 100%; - color: white; - font-family:monospace; - transform: translate(-50%, -5%); - text-align: center; -} -input, textarea { - pointer-events: auto; - height: 100%; - width: 100%; - font-size: inherit; - font-family: monospace; - border-radius: inherit; - background-color: inherit; - border-width: inherit; - text-indent: .5em; - resize: none; - color: inherit; -} -` -document.head.append(style) - -var _game_window = document.getElementById('game') -if (!_game_window) { - var _game_window = document.createElement('game') - _game_window.id = 'game' - if (!document.body) { - document.body = document.createElement('body') - } - document.body.appendChild(_game_window) -} -scene = document.createElement('entity') -scene.className = 'entity' -scene.id = 'scene' -scene._children = [] -_game_window.appendChild(scene) - -// print('browser aspect_ratio:', browser_aspect_ratio) -format = null -is_mobile = 'ontouchstart' in document.documentElement -fullscreen = false -camera = null - -function set_orientation(value) { - var width = window.innerWidth - var height = window.innerHeight - browser_aspect_ratio = width / height - // print('width:', width, 'height:', height, 'browser_aspect_ratio:', browser_aspect_ratio) - - format = value - if (format == 'vertical') { - aspect_ratio = 16/9 - // used for setting correct draggable limits - asp_x = 1 - asp_y = 9/16 - - if (browser_aspect_ratio >= 9/16) { // if the screen is wider than the game, like a pc monitor. - // print('vertical view desktop') - _game_window.style.width = `${width*scale/browser_aspect_ratio/(16/9)}px` - _game_window.style.height = `${height*scale}px` - } - else { // if the screen is taller than the game, like a phone screen. - // print('vertical view mobile') - _game_window.style.height = `${width*scale*(16/9)}px` - _game_window.style.width = `${width*scale}px` - } - if (camera) {camera.ui.scale = [1, 1/aspect_ratio]} - top_left = [-.5, .5*aspect_ratio] - top_right = [.5, .5*aspect_ratio] - bottom_left = [-.5, -.5*aspect_ratio] - bottom_right = [.5, -.5*aspect_ratio] - top = [0, .5*aspect_ratio] - bottom = [0, -.5*aspect_ratio] - left = [-.5, 0] - right = [.5, 0] - } - else { - aspect_ratio = 16/9 - asp_x = 16/9 - asp_y = 1 - scene.style.width = `${1/asp_x*100}%` - scene.style.height = `${1/asp_y*100}%` - if (browser_aspect_ratio > 16/9) { // if the screen is wider than 16/9, fit to height - _game_window.style.height = `${height*scale}px` - _game_window.style.width = `${width*scale/browser_aspect_ratio*16/9}px` - } - else { // if the screen is taller than 16/9, fit to width - _game_window.style.height = `${height*scale*browser_aspect_ratio/(16/9)}px` - _game_window.style.width = `${width*scale}px` - } - if (camera) {camera.ui.scale = [1/aspect_ratio, 1]} - top_left = [-.5*aspect_ratio, .5] - top_right = [.5*aspect_ratio, .5] - bottom_left = [-.5*aspect_ratio, -.5] - bottom_right = [.5*aspect_ratio, -.5] - top = [0, .5] - bottom = [0, -.5] - left = [-.5*aspect_ratio, 0] - right = [.5*aspect_ratio, 0] - - } -} -set_orientation('vertical') - - -function rgb(r, g, b) {return `rgb(${parseInt(r*255)},${parseInt(g*255)},${parseInt(b*255)})`} -function rgb32(r, g, b) {return `rgb(${r},${g},${b})`} - -function hex_to_rgb(value) { - if (value.length === 4) { - value = `#${value[1]}${value[1]}${value[2]}${value[2]}${value[3]}${value[3]}` // convert '#333' to '#333333' - } - try { - r = value.slice(1,3) - g = value.slice(3,5) - b = value.slice(5,7) - return [parseInt(r,16), parseInt(g,16), parseInt(b,16)] - } - catch (e) { - console.error('invalid hex code:', value); - } -} -// from: https://stackoverflow.com/questions/17242144/javascript-convert-hsb-hsv-color-to-rgb-accurately -function hsv(h, s, v) { - h /= 360; - var r, g, b, i, f, p, q, t; - if (arguments.length === 1) { - s = h.s, v = h.v, h = h.h; - } - i = Math.floor(h * 6); - f = h * 6 - i; - p = v * (1 - s); - q = v * (1 - f * s); - t = v * (1 - (1 - f) * s); - switch (i % 6) { - case 0: r = v, g = t, b = p; break; - case 1: r = q, g = v, b = p; break; - case 2: r = p, g = v, b = t; break; - case 3: r = p, g = q, b = v; break; - case 4: r = t, g = p, b = v; break; - case 5: r = v, g = p, b = q; break; - } - return [parseInt(r*255), parseInt(g*255), parseInt(b*255)]; -} - -function rgb_to_hsv(_rgb_color) { - r = _rgb_color[0] - g = _rgb_color[1] - b = _rgb_color[2] - // It converts [0,255] format, to [0,1] - r = (r === 255) ? 1 : (r % 255 / parseFloat(255)) - g = (g === 255) ? 1 : (g % 255 / parseFloat(255)) - b = (b === 255) ? 1 : (b % 255 / parseFloat(255)) - var max = Math.max(r, g, b) - var min = Math.min(r, g, b) - var h, s, v = max - var d = max - min - s = max === 0 ? 0 : d / max - - - switch (max) { - case min: h = 0; break; - case r: h = (g - b) + d * (g < b ? 6: 0); h /= 6 * d; break; - case g: h = (b - r) + d * 2; h /= 6 * d; break; - case b: h = (r - g) + d * 4; h /= 6 * d; break; - } - return [parseInt(h*360), s, v] -} - -color = { - white: hsv(0, 0, 1), - smoke: hsv(0, 0, 0.96), - light_gray: hsv(0, 0, 0.75), - gray: hsv(0, 0, 0.5), - dark_gray: hsv(0, 0, 0.25), - black: hsv(0, 0, 0), - red: hsv(0, 1, 1), - orange: hsv(30, 1, 1), - yellow: hsv(60, 1, 1), - lime: hsv(90, 1, 1), - green: hsv(120, 1, 1), - turquoise: hsv(150, 1, 1), - cyan: hsv(180, 1, 1), - azure: hsv(210, 1, 1), - blue: hsv(240, 1, 1), - violet: hsv(270, 1, 1), - magenta: hsv(300, 1, 1), - pink: hsv(330, 1, 1), - clear: [0, 0, 0, 0], -} - -function set_window_color(value) {_game_window.style.backgroundColor = value} -function set_background_color(value) {document.body.style.backgroundColor = value} -function set_scale(value) { - scale = value - set_orientation(format) -} - -function set_fullscreen(value) { - fullscreen = value - if (value) { - document.documentElement.requestFullscreen() - } - else { - document.exitFullscreen(); - } -} - -ASSETS_FOLDER = '' -entities = [] - -class Entity { - constructor(options=null) { - if (!('type' in options)) { - options['type'] = 'entity' - } - this.add_to_scene = true - if ('add_to_scene' in options) { - this.add_to_scene = options['add_to_scene'] - } - if (!this.add_to_scene) { - this.el = document.createElement(options['type']) - entities.push(this) - for (const [key, value] of Object.entries(options)) { - this[key] = value - } - return - } - - this.el = document.createElement(options['type']) - this.el.className = options['type'] - - // create another div for the model, for setting origin to work - this.el.style.backgroundColor = 'rgba(0,0,0,0)' - // this.el.style.pointerEvents = 'none' - this.model = document.createElement(options['type']) - this.model.entity_index = entities.length - this.model.id = 'model' - this.el.appendChild(this.model) - - this.model.className = options['type'] - this.model.style.opacity = 1 - entities.push(this) - - this.setTimeout_calls = {} - if (!('render' in options) || options['render']) { - scene.appendChild(this.el) - } - - // if (!'parent' in options) { - // print('default to scene') - this.parent = scene - // } - - this.children = [] - this._enabled = true - this.on_enable = null - this.on_disable = null - this.color = '#ffffff' - this.x = 0 - this.y = 0 - this.z = 0 - this.scale = [1,1] - this.draggable = false - this.dragging = false - this.lock_x = false - this.lock_y = false - - this.min_x = -.5 * asp_x - this.max_x = .5 * asp_x - this.min_y = -.5 / asp_y - this.max_y = .5 / asp_y - - this.snap_x = 0 - this.snap_y = 0 - this.text_size = 3 - this._roundness = 0 - - for (const [key, value] of Object.entries(options)) { - this[key] = value - } - } - get name() {return this._name} - set name(value) { - this._name = value - this.el.id = value - } - - get parent() {return this._parent} - set parent(value) { - if (value == null) { - value = scene - } - if (value === scene) { - value.appendChild(this.el) - } - else { - value.el.appendChild(this.el) - } - if (this._parent && this._parent._children) { - this._parent._children.remove(self) - } - this._parent = value - if (value._children && !value._children.includes(this)) { - value._children.push(this) - } - } - get children() {return this._children} - set children(value) { - this._children = value - for (const e of value) { - e.parent = this - } - } - get world_parent() {return this.parent} - set world_parent(value) { - wpos = this.world_position - wscale = this.world_scale - this.parent = value - - this.world_position = wpos - this.world_scale = wscale - } - get world_x() {return (this.el.getBoundingClientRect().left - scene.getBoundingClientRect().left) / scene.clientWidth} - get world_y() {return -(this.el.getBoundingClientRect().top - scene.getBoundingClientRect().top) / scene.clientHeight} - get world_position() {return [this.world_x, this.world_y]} - - get world_scale_x() {return this.el.clientWidth / scene.clientWidth} - get world_scale_y() {return this.el.clientHeight / scene.clientHeight} - get world_scale() {return [this.world_scale_x, this.world_scale_y]} - - get descendants() {return this.el.getElementsByTagName('*')} - - get enabled() {return this._enabled} - set enabled(value) { - if (value) { - this.el.style.visibility = 'visible' - for (var c of this.descendants) { - c.style.visibility = c.style.original_visibility - } - } - else { - this.el.style.visibility = 'hidden' - for (var c of this.descendants) { - c.style.original_visibility = c.style.visibility - c.style.visibility = 'inherit' - } - } - this._enabled = value - - if (value && this.on_enable) { - this.on_enable() - } - else if (!value && this.on_disable) { - this.on_disable() - } - } - - get visible_self() {return this._visible_self} - set visible_self(value) { - if (!value) { - this.color = [0,0,0,0] - this.model.color = 'rgba(0,0,0,0)' - this.text_color = 'rgba(0,0,0,0)' - } - else { - this.model.color = 'white' - this.text_color = 'white' - } - this._visible_self = value - } - get color() {return this._color} - set color(value) { - if (typeof value == "string" && value.startsWith('#')) { - value = hex_to_rgb(value) - } - if (value.length == 3) { - value = [value[0], value[1], value[2], 255] - } - // print('set color:', value) - this._color = value - this.model.style.backgroundColor = `rgba(${value[0]},${value[1]},${value[2]},${value[3]})` - } - get scale_x() {return this._scale_x} - set scale_x(value) { - this.el.style.width = `${value*100}%` - this._scale_x = value - } - get scale_y() {return this._scale_y} - set scale_y(value) { - this.el.style.height = `${value*100}%` - this._scale_y = value - } - get scale() {return [this._scale_x, this._scale_y]} - set scale(value) { - if (typeof value == "number") {value = [value, value]} - this.scale_x = value[0] - this.scale_y = value[1] - } - get x() {return this._x} - set x(value) { - this.el.style.left = `${50+(value*100)}%` - - this._x = value - } - get y() {return this._y} - set y(value) { - this.el.style.top = `${50+(-value*100)}%` - this._y = value - } - get z() {return this._z} - set z(value) { - this._z = value - this.el.style.zIndex = -value - } - get xy() {return [this._x, this._y]} - set xy(value) { - this.x = value[0] - this.y = value[1] - } - get xyz() {return [this._x, this._y, this._z]} - set xyz(value) { - this.x = value[0] - this.y = value[1] - this.z = value[2] - } - get position() {return this.xyz} - set position(value) { - if (value.length == 2) {return this.xy = value} - if (value.length == 3) {return this.xyz = value} - } - get origin() {return this._origin} - set origin(value) { - this.model.style.transform = `translate(${(-value[0]-.5)*100}%, ${(value[1]-.5)*100}%)` - this._origin = value - } - get rotation() {return this._rotation} - set rotation(value) { - this._rotation = value - this.el.style.transform = `translate(-50%, -50%) rotate(${value}deg)` - } - - get texture() {return this._texture} - set texture(value) { - this._texture = value - if (!value) { - this.model.style.backgroundImage = 'none' - return - } - - if (!value.endsWith('.gif') && !value.startsWith('data:')) { // static image - this.model.style.backgroundImage = `url("${ASSETS_FOLDER}${value}")` - this.visible_self = false - return - } - - if (value.endsWith('.gif')) { // .gif (ensure animation replays on reuse) - this.model.style.backgroundImage = `url("${ASSETS_FOLDER}${value}?${random_int(0,999)}")` // add random number so the gif restarts when setting .texture again - this.visible_self = false - return - } - - if (value.startsWith('data:')) { - this.model.style.backgroundImage = `url("${value}")` - this.visible_self = false - return - } - } - - get tileset_size() {return this._tileset_size} - set tileset_size(value) { - this._tileset_size = value - this.model.style.backgroundSize = `${value[0]*100}% ${value[1]*100}%` - } - get tile_coordinate() {return this._tile} - set tile_coordinate(value) { // [0,0] is in lower left - this._tile = value - this.model.style.backgroundPosition = `${(this.tileset_size[0]-1)*value[0]*100}% ${(this.tileset_size[1]-1)*(this.tileset_size[1]-1-value[1])*100}%` - } - - get roundness() {return this._roundness} - set roundness(value) { - this.model.style.borderRadius = `${value*Math.min(this.model.clientWidth, this.model.clientHeight)}px` - this._roundness = clamp(value, 0, .5) - } - get shadow() {return this._shadow} - set shadow(value) { - this._shadow = value - if (value === true) { - this.model.style.boxShadow = "5px 20px 40px black"; - } - else if (value === false) { - this.model.style.boxShadow = 'none' - } - else { - this.model.style.boxShadow = value - } - } - - get text() {return this.model.textContent} - set text(value) { - this.model.innerHTML = value - } - get text_color() {return this.model.style.color} - set text_color(value) { - if (!(typeof value == "string")) { - // print('set color:', value) - var alpha = 255 - if (value.length == 4) { - alpha = value[3] - } - value = `rgba(${value[0]},${value[1]},${value[2]},${alpha})` - } - this.model.style.color = value - } - get text_size() {return this._text_size} - set text_size(value) { - this._text_size = value - this.model.style.fontSize = `${value*scale}vh` - } - - get text_origin() {return this._text_origin} - set text_origin(value) { - this._text_origin = value - this.model.style.display = 'flex' - this.model.style.textAlign = ['left', 'center', 'right'][(value[0]*2)+1] // horizontally - this.model.style.justifyContent = ['left', 'center', 'right'][(value[0]*2)+1] // horizontally - this.model.style.alignItems = ['flex-end', 'center', 'flex-start'][(value[1]*2)+1] // vertically - } - - get alpha() {return this.model.style.opacity} - set alpha(value) { - this._alpha = value - this.model.style.opacity = value - } - get padding() {return this._padding} - set padding(value) { - this._padding = value - this.model.style.padding = `${value}em` - } - - get on_click() {return this._on_click} - set on_click(value) { - this._on_click = value - if (value && !this.ignore_collision) { - this.model.style.pointerEvents = 'auto' - } - else {this.model.style.pointerEvents = 'none'} - } - get on_double_click() {return this.ondblclick} - set on_double_click(value) { - this.ondblclick = value - if (value && !this.ignore_collision) { - this.model.style.pointerEvents = 'auto' - } - else {this.model.style.pointerEvents = 'none'} - } - get ignore_collision() {return this._ignore_collision} - set ignore_collision(value) { - this._ignore_collision = value - if (!value) { - this.model.style.pointerEvents = 'auto' - } - else {this.model.style.pointerEvents = 'none'} - } - - get draggable() {return this._draggable} - set draggable(value) { - this._draggable = value - if (value) { - this.model.style.pointerEvents = 'auto' - } - else if (!this._on_click) { - this.model.style.pointerEvents = 'none' - } - } - - animate(variable_name, target_value, duration=.1) { - // print('animate:', variable_name, target_value) - if (!this.enabled) {return false} - let entity = this - // stop ongoing animation of this varibale - if (variable_name in entity.setTimeout_calls) { - for (const id of entity.setTimeout_calls[variable_name]) { - clearTimeout(id) - // print('clear:', id) - } - } - entity.setTimeout_calls[variable_name] = [] - let start_value = entity[variable_name] - - for (let i=0; i<=duration*60; i+=1) { - entity.setTimeout_calls[variable_name].push( - setTimeout( - function anon() { - if (!entity.enabled) { - return false} - var t = i / duration / 60 - entity[variable_name] = lerp(start_value, target_value, t) - }, - 1000*i/60 - ) - ) - } - } - - fit_to_text(padding=0) { - this.model.style.width = 'fit-content' - this.model.style.height = 'fit-content' - this.model.style.padding = `${padding}` - } - - look_at(target_pos) { - this.rotation = -(Math.atan2(target_pos[1] - this.y, target_pos[0] - this.x)) * (180/Math.PI) - } - - destroy_children() { - for (let _entity of this.children) { - _entity.el.remove() - } - this.children = [] - } -} - -function lerp(a, b, t) { - return ((1-t)*a) + (t*b) -} -function clamp(num, min, max) { - return num <= min ? min : num >= max ? max : num; -} -random_value = Math.random; - -function random_int(min, max) { - min = Math.ceil(min); - max = Math.floor(max); - return Math.floor(Math.random() * (max - min + 1)) + min; -} -function random_choice(list) { - return list[random_int(0, len(list)-1)] -} -function random_color() { - return rgb(Math.random(), Math.random(), Math.random()) -} - -function lists_are_equal(array_a, array_b) { - for (let i=0; i { - camera.overlay.animate('alpha', 0, 1) - this.hard_state = value - }, 100) - } - else { - this.hard_state = value - } - } - set hard_state(value) { // set the state without fading - // print('set state to:', value) - for (const [key, entity] of Object.entries(this.states)) { - if (key == value || value == entity) { - entity.enabled = true - if (entity.on_enter) { - entity.on_enter() - } - } - else { - entity.enabled = false} - } - - this._state = value - } -} - -state_handler = new StateHandler({}, true) - -function goto_scene(scene_name, fade=True) { - if (!fade) { - state_handler.hard_state = scene_name - return - } - state_handler.state = scene_name -} - -class HealthBar extends Entity { - constructor(options=false) { - let settings = {min:0, max:100, color:'#222222', bar_color:'bb0505', scale:[.8,.05], roundness:.25} - for (const [key, value] of Object.entries(options)) { - settings[key] = value - } - super(settings) - this.bar = new Entity({parent:this, origin:[-.5,0], x:-.5, roundness:.25, scale_x:.25, color:settings['bar_color']}) - this.text_entity = new Entity({parent:this, text:'hii', text_color:'#dddddd', color:color.clear, text_origin:[0,0], text_size:2}) - this.value = settings['max'] - } - - get value() {return this._value} - set value(value) { - value = clamp(value, this.min, this.max) - // print('set value:', value) - this._value = value - this.bar.scale_x = value / this.max - this.text_entity.text = `${value} / ${this.max}` - } - get bar_color() {return this.bar.color} - set bar_color(value) { - if (this.bar) { - this.bar.color = value - } - } -} -class RainbowSlider extends Entity { - constructor(options=false) { - let settings = {min:1, max:5, default:1, color:'#222', scale:[.8,.05], roundness:.25, show_text:false, show_lines:false, gradient:['#CCCCFF', '#6495ED', '#40E0D0', '#9FE2BF', '#28ccaa'], } - for (const [key, value] of Object.entries(options)) { - settings[key] = value - } - super(settings) - this.bar = new Entity({parent:this, origin:[-.5,0], x:-.5, roundness:.25, scale_x:.25}) - this.text_entity = new Entity({parent:this, text:'000', text_color:'#ddd', color:color.clear, text_origin:[0,0], text_size:2, enabled:settings['show_text']}) - this.gradient = settings['gradient'] - this.value = settings['default'] - this.active = false - // this.color = settings['color'] - - if (settings['show_lines']) { - this.texture= 'tile.png' - this.tileset_size = [1/settings['max'],1] - } - this.on_click = function() { - this.value = int((mouse.point[0]+.5+(1/this.max)) * this.max) - this.active = true - } - } - - update() { - if (this.active && mouse.left && mouse.hovered_entity === this) { - this.value = int((mouse.point[0]+.5+(1/this.max)) * this.max) - } - } - - input(key) { - if (key === 'left mouse up') { - this.active = false - } - } - - get value() {return this._value} - set value(value) { - value = clamp(value, this.min, this.max) - this._value = value - this.bar.scale_x = value / this.max - this.text_entity.text = `${value} / ${this.max}` - this.bar.color = this.gradient[clamp(int(value)-1, 0, len(this.gradient)-1)] - if (this.on_value_changed) { - this.on_value_changed() - } - } -} - -class InputField extends Entity { - constructor(options=false) { - let settings = {roundness:.5, color:color.smoke, text_size:2, value:''} - for (const [key, value] of Object.entries(options)) { - settings[key] = value - } - super(settings) - this.input_field = document.createElement('input') - this.model.appendChild(this.input_field) - this.input_field.onkeyup = () => { - if (this.on_value_changed) { - this.on_value_changed() - } - } - this.value = settings['value'] - } - - get value() {return this.input_field.value} - set value(x) { - if (this.input_field) { - this.input_field.value = x - } - } -} - - -mouse = {x:0, y:0, position:[0,0], left:false, middle:false, pressure:0.0, hovered_entity:null, - set texture(name) { // TODO: fix this - document.body.style.cursor = `url('${name}', auto)` - // print('spegijseofijseofijseiofddddddddddddddddddddddddddddddd', document.body.style) - } -} - -function _mousedown(event) { - _input(event) - if (event.button > 0) { - return - } - - // if (event.pointerType == 'mouse' || event.pointerType == 'touch') { - // mouse.pressure = 1 - // } - // else { - // mouse.pressure = event.originalEvent.pressure - // } - _update_mouse_position(event) - _handle_mouse_click(event) -} -document.addEventListener('pointerdown', _mousedown) - - -time_of_press = 0 -function _handle_mouse_click(e) { - mouse.left = true - element_hit = document.elementFromPoint(e.pageX - window.pageXOffset, e.pageY - window.pageYOffset); - entity = entities[element_hit.entity_index] - // print(element_hit, entity.on_click) - if (!element_hit || entity === undefined || entity.on_click === undefined) { - mouse.swipe_start_position = mouse.position - time_of_press = time - } - - // print(element_hit) - if (element_hit && entity) { - if (entity.on_click) { - entity.on_click() - } - if (entity.draggable) { - window_position = _game_window.getBoundingClientRect() - entity.start_offset = [ - ((((e.clientX - window_position.left) / _game_window.clientWidth) - .5) * asp_x*camera.fov) - entity.x, - (-(((e.clientY - window_position.top) / _game_window.clientHeight ) - .5) / asp_y*camera.fov) - entity.y - ] - entity.dragging = true - } - } -} - -function _mouseup(event) { - mouse.click_end_position = mouse.position - if (time - time_of_press < .15) { - diff_x = mouse.position[0] - mouse.swipe_start_position[0] - diff_y = mouse.position[1] - mouse.swipe_start_position[1] - - if (diff_x < -.05 && abs(diff_y) < .15) { - _input('swipe left') - } - if (diff_x > .05 && abs(diff_y) < .15) { - _input('swipe right') - } - if (diff_y > .05 && abs(diff_x) < .15) { - _input('swipe up') - } - if (diff_y < -.05 && abs(diff_x) < .15) { - _input('swipe down') - } - } - - _input(event) - mouse.left = false; - for (var e of entities) { - if (e.dragging) { - e.dragging = false - if (e.drop) { - e.drop() - } - } - } -} -document.addEventListener('pointerup', _mouseup) - - -function _update_mouse_position(event) { - window_position = _game_window.getBoundingClientRect() - event_x = event.clientX - event_y = event.clientY - mouse.x = (((event_x - window_position.left) / _game_window.clientWidth) - .5) * asp_x - mouse.y = -(((event_y - window_position.top) / _game_window.clientHeight ) - .5) / asp_y - mouse.position = [mouse.x, mouse.y] - mouse.pressure = event.pressure * 2 -} - -function _onmousemove(event) { - // print('move') - _update_mouse_position(event) - - if (!mouse.hovered_entity) { - mouse.point = null - } - else { - var rect = event.target.getBoundingClientRect(); - var x = event.clientX - rect.left; //x position within the element. - var y = event.clientY - rect.top; //y position within the element. - mouse.point = [(x/rect.width)-.5, .5-(y/rect.height)] - } - element_hit = document.elementFromPoint(event.pageX - window.pageXOffset, event.pageY - window.pageYOffset); - _entity = entities[element_hit.entity_index] - if (_entity) { - mouse.hovered_entity = _entity - } - else { - mouse.hovered_entity = null - } - for (var e of entities) { - if (e.dragging) { - if (!e.lock_x) { - // print(mouse.x, e.start_offset[0]) - e.x = mouse.x*camera.fov - e.start_offset[0] - e.x = clamp(e.x, e.min_x, e.max_x) - if (e.snap_x) { - hor_step = 1 / e.snap_x - e.x = round(e.x * hor_step) / hor_step - } - } - if (!e.lock_y) { - e.y = mouse.y*camera.fov - e.start_offset[1] - e.y = clamp(e.y, e.min_y, e.max_y) - if (e.snap_y) { - hor_step = 1 / e.snap_y - e.y = round(e.y * hor_step) / hor_step - } - } - if (e.while_dragging) { - // print('d', mouse.position, mouse.point) - e.while_dragging() - } - } - } -} - -document.addEventListener('pointermove', _onmousemove) - -// palette = [ -// '#000000', '#1D2B53', '#7E2553', '#008751', '#AB5236', '#5F574F', '#C2C3C7', '#FFF1E8', -// '#FF004D', '#FFA300', '#FFEC27', '#00E436', '#29ADFF', '#83769C', '#FF77A8', '#FFCCAA' -// ] -// let filter_code = '' -// for (i = 0; i < palette.length; i++) { -// let rgb = hex_to_rgb(palette[i]) -// let r = rgb.r/255 -// let g = rgb.g/255 -// let b = rgb.b/255 -// let redToBlue = `${r**2.4} 0 0 0 0 ${g**2.4} 0 0 0 0 ${b**2.4} 0 0 0 0 0 0 0 1 0`; -// filter_code += ` -// -// -// -// -// -// ` -// } -// filters = document.createElement('div') -// _game_window.appendChild(filters) -// filters.innerHTML = filter_code -// class TintableTile extends Entity { -// get tint() {return this._tint} -// set tint(value) { -// this._tint = value -// if (value < 16) { -// this.el.model.style.filter = `url(#tint_filter_${value})` -// } -// } -// -// } -timeout_id = 0 -function invoke(func, delay) { - timeout_id = setTimeout(func, delay*1000) -} -function after(delay, func) { - timeout_id = setTimeout(func, delay*1000) -} -function stop_all_invokes() { - for (let i = timeout_id; i >= 0; i--) { - window.clearInterval(i); - } -} - -function distance(a, b) { - return sqrt((b[0] - a[0])**2 + (b[1] - a[1])**2) -} - -function magnitude(vec) { - const x = vec[0], y = vec[1] - const magSq = x * x + y * y - return Math.sqrt(magSq) -} - -function normalize(vec) { - vec_length = magnitude(vec) - if (vec_length == 0) { - return vec - } - return [vec[0] / vec_length, vec[1] / vec_length] -} - -function dot_product(vector1, vector2) { - let result = 0; - for (let i = 0; i < vector1-length; i++) { - result += vector1[i] * vector2[i]; - } - return result; -} - - -function sample(population, k){ - if(!Array.isArray(population)) - throw new TypeError("Population must be an array."); - var n = population.length; - if(k < 0 || k > n) - throw new RangeError("Sample larger than population or is negative"); - - var result = new Array(k); - var setsize = 21; // size of a small set minus size of an empty list - - if(k > 5) - setsize += Math.pow(4, Math.ceil(Math.log(k * 3) / Math.log(4))) - - if(n <= setsize){ - // An n-length list is smaller than a k-length set - var pool = population.slice(); - for(var i = 0; i < k; i++){ // invariant: non-selected at [0,n-i) - var j = Math.random() * (n - i) | 0; - result[i] = pool[j]; - pool[j] = pool[n - i - 1]; // move non-selected item into vacancy - } - }else{ - var selected = new Set(); - for(var i = 0; i < k; i++){ - var j = Math.random() * n | 0; - while(selected.has(j)){ - j = Math.random() * n | 0; - } - selected.add(j); - result[i] = population[j]; - } - } - - return result; -} - -function destroy(_entity) { - if (!_entity) { - return - } - if (_entity._parent && _entity._parent._children) { - _entity._parent._children.remove(_entity) - } - _entity.el.remove() - //delete _entity -} - -function save_system_save(name, value) {localStorage.setItem(name, JSON.stringify(value))} -function save_system_load(name) { - try { - return JSON.parse(localStorage.getItem(name)) - } - catch (err) { - print(err) - return 0} - } -function save_system_clear() {localStorage.clear()} - -time = 0 -delta_time = 1/60 -let start, _prev_time; -update = null -function _step(_timestamp) { - if (start === undefined) { - start = _timestamp; - } - const elapsed = _timestamp - start; - if (update) { - update() - } - - for (var e of entities) { - if (e.update && e.enabled) { - e.update() - } - } - - time = _timestamp / 1000 - delta_time = (_timestamp - _prev_time) / 1000 - _prev_time = _timestamp - window.requestAnimationFrame(_step); -} -window.requestAnimationFrame(_step) - - -held_keys = {} -all_keys = ` 0) {key = 'scroll down'} - else {key = 'scroll up'} - } - else if (event.type == 'pointerdown') { - if (event.button == 0) {key = 'left mouse down'; mouse.left=true; held_keys['mouse left']=true} - else if (event.button == 1) {key = 'middle mouse down'; mouse.middle=true; held_keys['mouse middle']=true} - else if (event.button == 2) {key = 'right mouse down'; mouse.right=true; held_keys['mouse right']=true} - } - else if (event.type == 'pointerup') { - if (event.button == 0) {key = 'left mouse up'; mouse.left=false; held_keys['mouse left']=false} - else if (event.button == 1) {key = 'middle mouse up'; mouse.middle=false; held_keys['mouse middle']=false} - else if (event.button == 2) {key = 'right mouse up'; mouse.right=false; held_keys['mouse right']=false} - } - - else { - key = event.key.toLowerCase() - } - } - else { // is already a string, like swipe left, etc. - key = event - } - - if (key in _renamed_keys) { - key = _renamed_keys[key] - } - - if ((event instanceof Event) && event.type == "keyup") { - held_keys[key] = 0 - key = key + ' up' - } - else if (!held_keys[key]){ - held_keys[key] = 1 - } - else if (event.type == "keydown") { // prevent key repeat - return - } - - - for (var e of entities) { - if (e.input && e.enabled) { - e.input(key) - } - } - if (input) { - input(key) - } -} -document.addEventListener('keydown', _input) -document.addEventListener('keyup', _input) -document.addEventListener('wheel', _input); // modern desktop - - -// triple click in the lower right to enter fullscreen -_hidden_fullscreen_button = new Button({parent:camera.ui, xy:bottom_right, roundness:.5, color:color.red, last_pressed_timestamp:-1, sequential_taps:0, visible_self:false}) -_hidden_fullscreen_button.on_click = function() { - // print(time - _hidden_fullscreen_button.last_pressed_timestamp) - if (time - _hidden_fullscreen_button.last_pressed_timestamp < .25) { - _hidden_fullscreen_button.sequential_taps += 1 - if (_hidden_fullscreen_button.sequential_taps >= 3) { - set_fullscreen(!fullscreen) - _hidden_fullscreen_button.sequential_taps = 0 - } - } - else { //reset - _hidden_fullscreen_button.sequential_taps = 1 - } - _hidden_fullscreen_button.last_pressed_timestamp = time -} - -function _fullscreenchange() { - set_scale(1) -} -document.addEventListener('fullscreenchange', _fullscreenchange) - -set_orientation('vertical') From 0abecf5924c9b89881be15114caf994c2c171a49 Mon Sep 17 00:00:00 2001 From: pokepetter Date: Sat, 5 Aug 2023 23:53:25 +0200 Subject: [PATCH 03/16] ... --- taptapir | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/taptapir b/taptapir index 5620c14..6621b69 160000 --- a/taptapir +++ b/taptapir @@ -1 +1 @@ -Subproject commit 5620c14d3e1b8e68215406e0b72a8a6dddb6bb5a +Subproject commit 6621b6971c041924882ffaf9cd46c0bea037cc48 From 3ba1bf3076c1a2ffc85c26866757d9c2c190ed27 Mon Sep 17 00:00:00 2001 From: pokepetter Date: Sun, 6 Aug 2023 21:16:46 +0200 Subject: [PATCH 04/16] ... --- cmyk_swap/cmyk_swap.html | 103 ++++++++++++++++++++++++--------------- 1 file changed, 64 insertions(+), 39 deletions(-) diff --git a/cmyk_swap/cmyk_swap.html b/cmyk_swap/cmyk_swap.html index 12e1fff..bbd6049 100644 --- a/cmyk_swap/cmyk_swap.html +++ b/cmyk_swap/cmyk_swap.html @@ -121,7 +121,7 @@ after 1s: win_text.enabled = False goto_next_level() -print('-') + mouse.prev_pos = mouse.position def update(): @@ -130,8 +130,6 @@ shop_icon = Button(text=' ๐Ÿ’ผ ', position=[-.5+.05,(.5*aspect_ratio)-.1], origin=[-.5,-.0], scale=[.1,.075], roundness=.5, text_size=2, color=hsv(0,0,.2), on_click=def():menu.enabled=True) - - def grid_layout(l=[], max_x=5, spacing=[1.1,1.1], offset=[0,0]): print('-----', l) x = 0 @@ -146,35 +144,22 @@ x = 0 - menu = Entity(parent=camera.ui, z=-1, visible_self=False, enabled=False) menu.bg = Entity(parent=menu, scale=2, color=hsv(0,0,.05), alpha=.99, ignore_collision=False) -menu.back_button = Button(parent=menu, xy=top_left, origin=[-1,1], scale=.1, color=color.gray, z=-1, text='โ†ฉ', color=color.clear, text_color=color.gray, text_size=5, on_click=def(): menu.enabled=False) +menu.back_button = Button(parent=menu, xy=top_left, origin=[-1,1], scale=.1, color=color.gray, z=-1, text='โ†ฉ', color=color.clear, text_color=color.gray, text_size=5, on_click=def(): menu.enabled=False;menu_handler.state=None) menu.on_enable = def(): menu.bg.alpha = 0 menu.bg.animate('alpha', .99) + menu_handler.state = 'shop' items = ['chest', '1 point'] -# -100p buy chest for chance of item -# unlock green chance (3p) -# unlock luck (change to spawn extra point play field) -# unlock black chance (skin as black hole?) (10p) -# unlock skins, maybe even animated blocks? -# all: dragon, chameleon -# C: whale, dolphin, peacock -# M: flamingo, butterfly, bird, starfish, -# Y: snake, lion, yellow fish -# unlock backgrounds -# wall chance? (avoid or you get no point) -# achievements -# share score -shop_menu = Entity(visible_self=False, parent=menu, xy=[-.2,.5]) +shop_menu = Entity(visible_self=False, parent=menu, xy=[-.27,.5]) -sunsnake.define(ShopButton(, Button(parent=shop_menu, scale=[.3,.2], origin=[-.5,.5], color=color.black, text_color=color.light_gray, text_size=2, cost=1, ) +sunsnake.define(ShopButton(, Button(parent=shop_menu, scale=[.36,.2], origin=[-.5,.5], color=color.black, text_color=color.light_gray, text_size=2, cost=1, ) ShopButton(text='Bag\n\n๐Ÿช™ 25', cost=25) ShopButton(text='Chest\n\n๐Ÿช™ 100', cost=100) ShopButton(text='Big Chest\n\n๐Ÿช™ 1000', cost=1000) @@ -218,14 +203,19 @@ update_shop() -unlocks_menu = Entity(parent=menu, visible_self=False, xy=[-.11,.5]) -# sunsnake.define(UnlockButton(, Button(parent=unlocks_menu, scale=[.11,.2], origin=[-.5,.5], color=hsv(0,0,.12), text_color=color.light_gray, text_size=2, cost=1, ) - -for y, e in ['Green chance', 'chest chance', 'black chance']: - y_pos = (-y*.2*1.5*1.1) - Button(parent=unlocks_menu, scale=[.8,.1], origin=[-.5,.0], color=color.clear, text_color=hsv(0,0,.6), text_size=2, x=-.125, y=.02+y_pos, text=`${e}`, roundness=.25, text_origin=[-.5,-.5]) - let bar = RainbowSlider(parent=unlocks_menu, min=0, max=5, xy=[.125,-.1+y_pos], scale=[.5,.1], show_text=True, color=hsv(0,0,.03), text_color=color.gray) - upgrade_button = Button(parent=unlocks_menu, scale=[.2,.1], origin=[-.5,.0], color=hsv(0,0,.12), text_color=color.light_gray, text_size=2, x=.39, y=-.1+y_pos, text=`๐Ÿช™ 500`, roundness=.25, shadow=True) +unlocks_menu = Entity(parent=menu, visible_self=False, xy=[-.145,.5]) +items = [ +['Ink Dispenser'], +['G Cartridge', 'โ€ฐ chance of spawning green slot'], +['B Cartridge', 'โ€ฐ chance of spawning black slot'], +] +gradient = [hsv(150+(i*40), .8, .7) for i in range(5)] +for y, e in items: + y_pos = (-y*.2*1.1) -.05 + title = Button(parent=unlocks_menu, scale=[.8,.1], origin=[-.5,.5], color=color.clear, text_color=hsv(0,0,.9), text_size=2, x=-.125, y=y_pos+.08, text=`${items[y][0]}`, roundness=.25, text_origin=[-.5,-.5]) + description = Button(parent=unlocks_menu, scale=[.8,.1], origin=[-.5,.5], color=color.clear, text_color=hsv(0,0,.6), text_size=1.5, x=-.125, y=y_pos+.05, text=`${items[y][1]}`, roundness=.25, text_origin=[-.5,-.5]) + let bar = RainbowSlider(parent=unlocks_menu, min=0, max=5, xy=[.14,y_pos-.075], scale=[.525,.03], show_text=True, text_size=1.5, color=hsv(0,0,.03), gradient=gradient) + upgrade_button = Button(parent=unlocks_menu, scale=[.2,.125], origin=[.5,-.5], color=hsv(0,0,.12), text_color=color.light_gray, text_size=2, x=.5+.115, y=y_pos-.1, text=`Upgrade\n๐Ÿช™ 500`, roundness=.25, shadow=True) upgrade_button.on_click = def(): bar.value += 1 @@ -234,23 +224,58 @@ skins_menu = Entity(visible_self=1) +tab_parent = Entity(parent=menu, visible_self=False, xy=[-.4,.4]) +sunsnake.define(TabButton(, ) +for key, value in enumerate({'shop':shop_menu, 'unlocks':unlocks_menu, 'skins':skins_menu, 'backgrounds':skins_menu}): + let button = Button(parent=tab_parent, scale=.1, color=.12, text_color=hsv(0,0,.9), text_size=1.5, rotation=45, text=key) + button.on_click = def(): + menu_handler.state = value + + for e in tab_parent.children: + if e == button: + e.color = color.magenta + e.text_color = hsv(0,0,.1) + else: + e.color = .12 + e.text_color = hsv(0,0,.9) + + +# b = TabButton(text='unlocks', color=hsv(0,0,.12), on_click=def():menu_handler.state=unlocks_menu) +# b = TabButton(text='skins', color=hsv(0,0,.12), on_click=def():menu_handler.state=skins_menu) +# b = TabButton(text='backgrounds', color=hsv(0,0,.12)) +# b = TabButton(text='stats') + +grid_layout(tab_parent.children, max_x=1, spacing=[1,2.2], offset=[0,0]) + + states = {'shop':shop_menu, 'unlocks':unlocks_menu, 'skins':skins_menu} menu_handler = StateHandler(states=states, fade=False) -menu_handler.state = 'unlocks' +menu_handler.state = None -tab_parent = Entity(visible_self=False, parent=menu, xy=[-.4,.4]) -sunsnake.define(TabButton(, Button(parent=tab_parent, scale=.1, color=color.black, text_color=color.black, text_size=1, rotation=45,) -TabButton(text='chests', color=color.cyan, on_click=def():menu_handler.hard_state=shop_menu) -TabButton(text='unlocks', on_click=def():menu_handler.hard_state=unlocks_menu) -TabButton(text='skins', on_click=def():menu_handler.hard_state=skins_menu) -TabButton(text='backgrounds') -# TabButton(text='other games') -TabButton(text='stats') +# line = Entity(parent=menu, scale=[.0025,1], x=-.3, z=-1, color=hsv(0,0,.1)) +# line = Entity(parent=menu, scale=[.0025,1], x=-.27, z=-1, color=hsv(0,0,.1)) +# line = Entity(parent=menu, scale=[.0025,1], x=-.33, z=-1, color=hsv(0,0,.1)) +# line = Entity(parent=menu, scale=[.0025,1], x=.5-.03, z=-1, color=hsv(0,0,.1)) +# line = Entity(parent=menu, scale=[.0025,1], x=.5-.06, z=-1, color=hsv(0,0,.1)) -grid_layout(tab_parent.children, max_x=1, spacing=[1,2.2], offset=[0,0]) -menu.enabled = True +# menu.enabled = True # for e in ['']: # ๐Ÿ”‘ + +# -100p buy chest for chance of item +# unlock green chance (3p) +# unlock luck (change to spawn extra point play field) +# unlock black chance (skin as black hole?) (10p) +# unlock skins, maybe even animated blocks? +# all: dragon, chameleon +# C: whale, dolphin, peacock +# M: flamingo, butterfly, bird, starfish, +# Y: snake, lion, yellow fish +# unlock backgrounds +# wall chance? (avoid or you get no point) + +# achievements +# share score From 6c4390fbcb114c0a936e5d5e0341606db4da1c53 Mon Sep 17 00:00:00 2001 From: pokepetter Date: Sun, 6 Aug 2023 21:19:18 +0200 Subject: [PATCH 05/16] ... --- taptapir | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/taptapir b/taptapir index 6621b69..53a7072 160000 --- a/taptapir +++ b/taptapir @@ -1 +1 @@ -Subproject commit 6621b6971c041924882ffaf9cd46c0bea037cc48 +Subproject commit 53a7072b0ece42e1799dfd27056d29d8aafe7e18 From b1a8b5fa4b52cf7f510a813a14256c43ba6fd355 Mon Sep 17 00:00:00 2001 From: pokepetter Date: Fri, 11 Aug 2023 00:01:58 +0200 Subject: [PATCH 06/16] ,,, --- cmyk_swap/cmyk_swap.html | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/cmyk_swap/cmyk_swap.html b/cmyk_swap/cmyk_swap.html index bbd6049..6ce9de6 100644 --- a/cmyk_swap/cmyk_swap.html +++ b/cmyk_swap/cmyk_swap.html @@ -160,13 +160,17 @@ shop_menu = Entity(visible_self=False, parent=menu, xy=[-.27,.5]) sunsnake.define(ShopButton(, Button(parent=shop_menu, scale=[.36,.2], origin=[-.5,.5], color=color.black, text_color=color.light_gray, text_size=2, cost=1, ) -ShopButton(text='Bag\n\n๐Ÿช™ 25', cost=25) -ShopButton(text='Chest\n\n๐Ÿช™ 100', cost=100) +ShopButton(text='Bag\n\n๐Ÿช™ 100', cost=100) +ShopButton(text='Daily Reward\n\n๐Ÿช™ 0', cost=0) + +ShopButton(text='Chest\n\n๐Ÿช™ 500', cost=500) ShopButton(text='Big Chest\n\n๐Ÿช™ 1000', cost=1000) -ShopButton(text='green chance +.1%\n\n๐Ÿช™ 500', cost=500) -ShopButton(text='+1 Luck\n\n๐Ÿช™ 500', cost=500) -ShopButton(text='Other Games') -ShopButton(text='Other Games') +ShopButton(text='Item Chest\n\n๐Ÿช™ 2000', cost=2000) +ShopButton(text='Skin Chest\n\n๐Ÿช™ 2000', cost=2000) + +ShopButton(text='Green Cartridge\n\n๐Ÿช™ 10000', cost=10_000, amount=1) +ShopButton(text='Random Skin\n\n๐Ÿช™ 10000', cost=10_000, amount=4) +ShopButton(text='Random\nBackground\n\n๐Ÿช™ 10000', cost=10_000, amount=4) ShopButton(text='+๐Ÿช™ 500\n\nWatch AD', cost=-100) grid_layout(l=shop_menu.children, max_x=2, spacing=[1.05,1.1]) From 7417a747b20e1e01a5b80380a287507f0a261eb3 Mon Sep 17 00:00:00 2001 From: pokepetter Date: Sun, 13 Aug 2023 20:51:55 +0200 Subject: [PATCH 07/16] cmyk swap gamba. --- cmyk_swap/card_back.png | Bin 0 -> 12728 bytes cmyk_swap/cmyk_swap.html | 242 ++++++++++++++++++++++++++++------- cmyk_swap/frame.png | Bin 0 -> 8643 bytes cmyk_swap/frame_2.png | Bin 0 -> 3893 bytes cmyk_swap/frame_gold.png | Bin 0 -> 46043 bytes cmyk_swap/sparkle_impact.gif | Bin 0 -> 819 bytes 6 files changed, 194 insertions(+), 48 deletions(-) create mode 100644 cmyk_swap/card_back.png create mode 100644 cmyk_swap/frame.png create mode 100644 cmyk_swap/frame_2.png create mode 100644 cmyk_swap/frame_gold.png create mode 100644 cmyk_swap/sparkle_impact.gif diff --git a/cmyk_swap/card_back.png b/cmyk_swap/card_back.png new file mode 100644 index 0000000000000000000000000000000000000000..68ab111435fd9f9f570b00ddb9ec9d76c1de2fd8 GIT binary patch literal 12728 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 PfW0OMcRevae)0bSs!h_F literal 0 HcmV?d00001 diff --git a/cmyk_swap/cmyk_swap.html b/cmyk_swap/cmyk_swap.html index 6ce9de6..be9e1d0 100644 --- a/cmyk_swap/cmyk_swap.html +++ b/cmyk_swap/cmyk_swap.html @@ -8,6 +8,8 @@ set_window_color("#222") SCORE = int(save_system_load('score')) +if not Number.isInteger(SCORE): + SCORE = 0 slots = [] draggables = [] @@ -104,6 +106,7 @@ win_text = Entity(text='Yay! :D', enabled=False, text_origin=[0,0], scale=[.25,.125], color=color.white, shadow=True, margin=10, roundness=.4, z=-3) def set_score(value): + value = max(value, 0) SCORE = value score_counter.text= SCORE save_system_save('score', SCORE) @@ -159,19 +162,173 @@ shop_menu = Entity(visible_self=False, parent=menu, xy=[-.27,.5]) -sunsnake.define(ShopButton(, Button(parent=shop_menu, scale=[.36,.2], origin=[-.5,.5], color=color.black, text_color=color.light_gray, text_size=2, cost=1, ) -ShopButton(text='Bag\n\n๐Ÿช™ 100', cost=100) -ShopButton(text='Daily Reward\n\n๐Ÿช™ 0', cost=0) +opening_parent = Entity(parent=camera.ui, z=-2, visible_self=False, enabled=False) +opening_bg = Entity(parent=opening_parent, color=hsv(300,.5,.1), target_alpha=.9, scale=2, ignore_collision=False, on_click=def():print('a')) +opening_frame = Entity(parent=opening_parent, z=-1, color=hsv(0,0,.2), alpha=.5, scale=.9, shadow=True, roundness=.02, y=.15) + +opening_parent.on_enable = def(): + opening_bg.alpha = 1 + opening_bg.animate('alpha', opening_bg.target_alpha, duration=.1) + opening_parent.continue_button.enabled = False + # opening_frame.appear('scale') ## TODO: fix bug + + +Entity.prototype['appear'] = function(anim_type, duration=.2): + entity = this + if anim_type == 'scale_x': + org_value = entity.scale_x + entity.scale_x = .1 + entity.animate('scale_x', org_value, duration=duration) + return + + if anim_type == 'scale': + org_scale_x = entity.scale_x + org_scale_y = entity.scale_y + entity.scale = .1 + entity.animate('scale_x', org_scale_x, duration=duration) + after duration: + entity.animate('scale_y', org_scale_y, duration=.2) + return + +sunsnake.define(*button_style, color=hsv(0,0,.12), text_color=hsv(0,.0,.9), shadow=True) + +opening_parent.continue_button = Button(parent=opening_parent, z=-1, *button_style, text='Continue', scale=[.5,.15], roundness=.2, y=-.45, enabled=False) +opening_parent.continue_button.on_enable = def(): + opening_parent.continue_button.appear('scale', duration=.05) +opening_parent.continue_button.on_click = def(): + opening_bg.animate('alpha', 0, duration=.1) + after .1: + opening_parent.enabled = False + update_shop() + + + +bag_parent = Entity(parent=opening_parent, z=-2, visible_self=False) +card_reveal_effect_normal = Entity(parent=opening_parent, scale=.2, z=-2, texture='impact_effect.gif', enabled=False) +card_reveal_effect_rare = Entity(parent=opening_parent, scale=.75, z=-2, texture='sparkle_impact.gif', enabled=False) + +for i in range(6): + let card = Button(parent=bag_parent, color=hsv(300, .0, .05), z=-1, scale=[.2,.25], enabled=False, shadow=True, roundness=.15, text_color=color.smoke) + # card.model.style.outline = `8px solid #333` + card.original_color = card.color + card.active_color = color.white + card.org_scale_x = card.scale_x + card.on_click = def(): + bag_parent.items_left -= 1 + if bag_parent.items_left <= 0: + after .4: + opening_parent.continue_button.enabled = True + + card.animate('scale_x', 0, duration=.1) + after .2: + card.animate('scale_x', card.org_scale_x, duration=.1) + card.texture = card.front_texture + card.color = card.active_color + if card.value > 0 and card.value < 100: + card_reveal_effect_normal.xy = card.xy + card_reveal_effect_normal.enabled=True + card_reveal_effect_normal.texture = card_reveal_effect_normal.texture + elif card.value != 0: + card_reveal_effect_rare.xy = card.xy + card_reveal_effect_rare.enabled = True + card_reveal_effect_rare.texture = card_reveal_effect_rare.texture + + + + after .4: + card.text = `${card.value}` + if len(card.value) > 5: + card.text_size = 2 + print('lower size') + else: + card.text_size = 3 + + if Number.isInteger(card.value): + set_score(SCORE+card.value) + + else: + print('GOT ITEM:', card.value) + + card.ignore_collision = True + +grid_layout(bag_parent.children, max_x=3, spacing=[1.1,1.1], offset=[-.225,.2]) +for e in bag_parent.children: + e.target_y = e.y + + +sunsnake.define(*ShopButton(, Button(parent=shop_menu, scale=[.36,.2], origin=[-.5,.5], color=color.black, text_color=color.light_gray, text_size=2, cost=1, ) +items = [ +[40, 20%, 'frame.png'], +[30, 20%, 'frame.png'], +[10, 20%, 'frame.png'], +[50, 20%, 'frame.png'], +[100, 5%, 'frame_gold.png'], +] + +# ['Green \nCartridge', 3%, 'frame_2.png'], + +bag_button = *ShopButton(text='Bag\n\n๐Ÿช™ 100', cost=100, on_click=def():open_loot_box(cost=100, num=3, items=items)) + +def open_loot_box(cost, num, items): + print('bought for', cost) + print(SCORE,) + set_score(SCORE-cost) + # play bag animation + opening_parent.enabled = True + bag_parent.items_left = num + + # reset cards + for card in bag_parent.children: + card.enabled = False + card.y = card.target_y + .1 + card.texture = 'card_back.png' + card.text = '' + card.ignore_collision = False -ShopButton(text='Chest\n\n๐Ÿช™ 500', cost=500) -ShopButton(text='Big Chest\n\n๐Ÿช™ 1000', cost=1000) -ShopButton(text='Item Chest\n\n๐Ÿช™ 2000', cost=2000) -ShopButton(text='Skin Chest\n\n๐Ÿช™ 2000', cost=2000) + after .4: + for i in range(bag_parent.items_left): + let card = bag_parent.children[i] + let r = random_value() + cumulative = 0 + card.value = 0 + card.active_color = color.gray + card.front_texture = 'frame.png' + for e in items: + item = e[0] + chance = e[1] + tex = e[2] + cumulative += chance -ShopButton(text='Green Cartridge\n\n๐Ÿช™ 10000', cost=10_000, amount=1) -ShopButton(text='Random Skin\n\n๐Ÿช™ 10000', cost=10_000, amount=4) -ShopButton(text='Random\nBackground\n\n๐Ÿช™ 10000', cost=10_000, amount=4) -ShopButton(text='+๐Ÿช™ 500\n\nWatch AD', cost=-100) + if r <= cumulative: + card.value = item + card.front_texture = tex + break + + + + after i*.2: + card.enabled = True + card.animate('y', card.target_y) + + + update_shop() + # update_shop() +bag_button.on_click() + +# b = *ShopButton(text='Daily Reward\n\n๐Ÿช™ 0', cost=0) +# +# b = *ShopButton(text='Chest\n\n๐Ÿช™ 500', cost=500) +# b = *ShopButton(text='Big Chest\n\n๐Ÿช™ 1000', cost=1000) +# b = *ShopButton(text='Item Chest\n\n๐Ÿช™ 2000', cost=2000) +# b = *ShopButton(text='Skin Chest\n\n๐Ÿช™ 2000', cost=2000) +# +# b = *ShopButton(text='Green Cartridge\n\n๐Ÿช™ 10000', cost=10_000, amount=1) +# b = *ShopButton(text='Random Skin\n\n๐Ÿช™ 10000', cost=10_000, amount=4) +# b = *ShopButton(text='Random\nBackground\n\n๐Ÿช™ 10000', cost=10_000, amount=4) +watch_ad_button = *ShopButton(text='+๐Ÿช™ 20\n\nWatch AD', cost=0) +watch_ad_button.on_click = def(): + set_score(SCORE+20) + update_shop() grid_layout(l=shop_menu.children, max_x=2, spacing=[1.05,1.1]) shop_menu.on_enable = def(): @@ -184,6 +341,7 @@ update_shop() def update_shop(): + print('update shop') for e in shop_menu.children: # e.ignore_collision = SCORE < e.cost or e.cost <= 0 e.model.style.outline = `medium ${color_names[i]}` @@ -198,39 +356,32 @@ e.ignore_collision = False e.shadow = True -for _e in shop_menu.children: - let e = _e - e.on_click = def(): - # if e.cost < SCORE or e.cost <= 0: - print('bought for', e.cost, e.text) - set_score(SCORE-e.cost) - update_shop() - - -unlocks_menu = Entity(parent=menu, visible_self=False, xy=[-.145,.5]) -items = [ -['Ink Dispenser'], -['G Cartridge', 'โ€ฐ chance of spawning green slot'], -['B Cartridge', 'โ€ฐ chance of spawning black slot'], -] -gradient = [hsv(150+(i*40), .8, .7) for i in range(5)] -for y, e in items: - y_pos = (-y*.2*1.1) -.05 - title = Button(parent=unlocks_menu, scale=[.8,.1], origin=[-.5,.5], color=color.clear, text_color=hsv(0,0,.9), text_size=2, x=-.125, y=y_pos+.08, text=`${items[y][0]}`, roundness=.25, text_origin=[-.5,-.5]) - description = Button(parent=unlocks_menu, scale=[.8,.1], origin=[-.5,.5], color=color.clear, text_color=hsv(0,0,.6), text_size=1.5, x=-.125, y=y_pos+.05, text=`${items[y][1]}`, roundness=.25, text_origin=[-.5,-.5]) - let bar = RainbowSlider(parent=unlocks_menu, min=0, max=5, xy=[.14,y_pos-.075], scale=[.525,.03], show_text=True, text_size=1.5, color=hsv(0,0,.03), gradient=gradient) - upgrade_button = Button(parent=unlocks_menu, scale=[.2,.125], origin=[.5,-.5], color=hsv(0,0,.12), text_color=color.light_gray, text_size=2, x=.5+.115, y=y_pos-.1, text=`Upgrade\n๐Ÿช™ 500`, roundness=.25, shadow=True) - upgrade_button.on_click = def(): - bar.value += 1 - - # for x, cost in [1_000, 2_000, 4_000, 8_000, 16_000]: - # _ = UnlockButton(text=`+0.1%\n\n๐Ÿช™ ${cost}`, cost=cost, x=x*.12, y=-y*.2*1.1) - -skins_menu = Entity(visible_self=1) +# unlocks_menu = Entity(parent=menu, visible_self=False, xy=[-.145,.5]) +# items = [ +# ['Ink Dispenser'], +# ['G Cartridge', 'โ€ฐ chance of spawning green slot'], +# ['B Cartridge', 'โ€ฐ chance of spawning black slot'], +# ] +# gradient = [hsv(150+(i*40), .8, .7) for i in range(5)] +# for y, e in items: +# y_pos = (-y*.2*1.1) -.05 +# title = Button(parent=unlocks_menu, scale=[.8,.1], origin=[-.5,.5], color=color.clear, text_color=hsv(0,0,.9), text_size=2, x=-.125, y=y_pos+.08, text=`${items[y][0]}`, roundness=.25, text_origin=[-.5,-.5]) +# description = Button(parent=unlocks_menu, scale=[.8,.1], origin=[-.5,.5], color=color.clear, text_color=hsv(0,0,.6), text_size=1.5, x=-.125, y=y_pos+.05, text=`${items[y][1]}`, roundness=.25, text_origin=[-.5,-.5]) +# let bar = RainbowSlider(parent=unlocks_menu, min=0, max=5, xy=[.14,y_pos-.075], scale=[.525,.03], show_text=True, text_size=1.5, color=hsv(0,0,.03), gradient=gradient) +# upgrade_button = Button(parent=unlocks_menu, scale=[.2,.125], origin=[.5,-.5], color=hsv(0,0,.12), text_color=color.light_gray, text_size=2, x=.5+.115, y=y_pos-.1, text=`Upgrade\n๐Ÿช™ 500`, roundness=.25, shadow=True) +# upgrade_button.on_click = def(): +# bar.value += 1 +# +# # for x, cost in [1_000, 2_000, 4_000, 8_000, 16_000]: +# # _ = UnlockButton(text=`+0.1%\n\n๐Ÿช™ ${cost}`, cost=cost, x=x*.12, y=-y*.2*1.1) +# +# skins_menu = Entity(visible_self=1) +# tab_parent = Entity(parent=menu, visible_self=False, xy=[-.4,.4]) sunsnake.define(TabButton(, ) -for key, value in enumerate({'shop':shop_menu, 'unlocks':unlocks_menu, 'skins':skins_menu, 'backgrounds':skins_menu}): +# for key, value in enumerate({'shop':shop_menu, 'unlocks':unlocks_menu, 'skins':skins_menu, 'backgrounds':skins_menu}): +for key, value in enumerate({'shop':shop_menu, }): let button = Button(parent=tab_parent, scale=.1, color=.12, text_color=hsv(0,0,.9), text_size=1.5, rotation=45, text=key) button.on_click = def(): menu_handler.state = value @@ -243,16 +394,11 @@ e.color = .12 e.text_color = hsv(0,0,.9) - -# b = TabButton(text='unlocks', color=hsv(0,0,.12), on_click=def():menu_handler.state=unlocks_menu) -# b = TabButton(text='skins', color=hsv(0,0,.12), on_click=def():menu_handler.state=skins_menu) -# b = TabButton(text='backgrounds', color=hsv(0,0,.12)) -# b = TabButton(text='stats') - grid_layout(tab_parent.children, max_x=1, spacing=[1,2.2], offset=[0,0]) -states = {'shop':shop_menu, 'unlocks':unlocks_menu, 'skins':skins_menu} +# states = {'shop':shop_menu, 'unlocks':unlocks_menu, 'skins':skins_menu} +states = {'shop':shop_menu} menu_handler = StateHandler(states=states, fade=False) menu_handler.state = None diff --git a/cmyk_swap/frame.png b/cmyk_swap/frame.png new file mode 100644 index 0000000000000000000000000000000000000000..dd58e7bb06d34ef6faefb9afdcb0ea0999508172 GIT binary patch literal 8643 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 literal 0 HcmV?d00001 diff --git a/cmyk_swap/frame_2.png b/cmyk_swap/frame_2.png new file mode 100644 index 0000000000000000000000000000000000000000..b12e809a1a1a8beefe793452c1b997edcff78f3c GIT binary patch literal 3893 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 literal 0 HcmV?d00001 diff --git a/cmyk_swap/frame_gold.png b/cmyk_swap/frame_gold.png new file mode 100644 index 0000000000000000000000000000000000000000..88b8ee76623a246ee697c323413cf7c35ba76bf7 GIT binary patch literal 46043 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 literal 0 HcmV?d00001 From 94b28a0a245da6b952ec68c2365d7361cbc9feaa Mon Sep 17 00:00:00 2001 From: pokepetter Date: Sun, 13 Aug 2023 21:32:23 +0200 Subject: [PATCH 08/16] ... --- taptapir | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/taptapir b/taptapir index 53a7072..a745ff3 160000 --- a/taptapir +++ b/taptapir @@ -1 +1 @@ -Subproject commit 53a7072b0ece42e1799dfd27056d29d8aafe7e18 +Subproject commit a745ff33fdf3201f759dc0139bd95736e81644f2 From f1db083364b118f3ab425a4d201d70d6fb41964b Mon Sep 17 00:00:00 2001 From: pokepetter Date: Sun, 13 Aug 2023 21:36:49 +0200 Subject: [PATCH 09/16] ... --- cmyk_swap/cmyk_swap.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cmyk_swap/cmyk_swap.html b/cmyk_swap/cmyk_swap.html index be9e1d0..0195c16 100644 --- a/cmyk_swap/cmyk_swap.html +++ b/cmyk_swap/cmyk_swap.html @@ -262,7 +262,7 @@ [30, 20%, 'frame.png'], [10, 20%, 'frame.png'], [50, 20%, 'frame.png'], -[100, 5%, 'frame_gold.png'], +[100, 5%, 'frame_gold.png'] ] # ['Green \nCartridge', 3%, 'frame_2.png'], @@ -313,7 +313,7 @@ update_shop() # update_shop() -bag_button.on_click() +# bag_button.on_click() # b = *ShopButton(text='Daily Reward\n\n๐Ÿช™ 0', cost=0) # From 2c0059bc356f6cd429538560673c89b291541982 Mon Sep 17 00:00:00 2001 From: Petter Amland Date: Tue, 10 Oct 2023 11:19:28 +0200 Subject: [PATCH 10/16] Delete otosopp/package-lock.json --- otosopp/package-lock.json | 4908 ------------------------------------- 1 file changed, 4908 deletions(-) delete mode 100644 otosopp/package-lock.json diff --git a/otosopp/package-lock.json b/otosopp/package-lock.json deleted file mode 100644 index 73d65b2..0000000 --- a/otosopp/package-lock.json +++ /dev/null @@ -1,4908 +0,0 @@ -{ - "name": "otosopp", - "version": "1", - "lockfileVersion": 2, - "requires": true, - "packages": { - "": { - "name": "otosopp", - "version": "1", - "dependencies": { - "electron": "^24.1.1" - }, - "devDependencies": { - "electron-builder": "^23.6.0" - } - }, - "node_modules/@develar/schema-utils": { - "version": "2.6.5", - "resolved": "https://registry.npmjs.org/@develar/schema-utils/-/schema-utils-2.6.5.tgz", - "integrity": "sha512-0cp4PsWQ/9avqTVMCtZ+GirikIA36ikvjtHweU4/j8yLtgObI0+JUPhYFScgwlteveGB1rt3Cm8UhN04XayDig==", - "dev": true, - "dependencies": { - "ajv": "^6.12.0", - "ajv-keywords": "^3.4.1" - }, - "engines": { - "node": ">= 8.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/@electron/get": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@electron/get/-/get-2.0.2.tgz", - "integrity": "sha512-eFZVFoRXb3GFGd7Ak7W4+6jBl9wBtiZ4AaYOse97ej6mKj5tkyO0dUnUChs1IhJZtx1BENo4/p4WUTXpi6vT+g==", - "dependencies": { - "debug": "^4.1.1", - "env-paths": "^2.2.0", - "fs-extra": "^8.1.0", - "got": "^11.8.5", - "progress": "^2.0.3", - "semver": "^6.2.0", - "sumchecker": "^3.0.1" - }, - "engines": { - "node": ">=12" - }, - "optionalDependencies": { - "global-agent": "^3.0.0" - } - }, - "node_modules/@electron/universal": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@electron/universal/-/universal-1.2.1.tgz", - "integrity": "sha512-7323HyMh7KBAl/nPDppdLsC87G6RwRU02dy5FPeGB1eS7rUePh55+WNWiDPLhFQqqVPHzh77M69uhmoT8XnwMQ==", - "dev": true, - "dependencies": { - "@malept/cross-spawn-promise": "^1.1.0", - "asar": "^3.1.0", - "debug": "^4.3.1", - "dir-compare": "^2.4.0", - "fs-extra": "^9.0.1", - "minimatch": "^3.0.4", - "plist": "^3.0.4" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/@electron/universal/node_modules/fs-extra": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", - "dev": true, - "dependencies": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@electron/universal/node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dev": true, - "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/@electron/universal/node_modules/universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", - "dev": true, - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/@malept/cross-spawn-promise": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@malept/cross-spawn-promise/-/cross-spawn-promise-1.1.1.tgz", - "integrity": "sha512-RTBGWL5FWQcg9orDOCcp4LvItNzUPcyEU9bwaeJX0rJ1IQxzucC48Y0/sQLp/g6t99IQgAlGIaesJS+gTn7tVQ==", - "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/malept" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/subscription/pkg/npm-.malept-cross-spawn-promise?utm_medium=referral&utm_source=npm_fund" - } - ], - "dependencies": { - "cross-spawn": "^7.0.1" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/@malept/flatpak-bundler": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/@malept/flatpak-bundler/-/flatpak-bundler-0.4.0.tgz", - "integrity": "sha512-9QOtNffcOF/c1seMCDnjckb3R9WHcG34tky+FHpNKKCW0wc/scYLwMtO+ptyGUfMW0/b/n4qRiALlaFHc9Oj7Q==", - "dev": true, - "dependencies": { - "debug": "^4.1.1", - "fs-extra": "^9.0.0", - "lodash": "^4.17.15", - "tmp-promise": "^3.0.2" - }, - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/@malept/flatpak-bundler/node_modules/fs-extra": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", - "dev": true, - "dependencies": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@malept/flatpak-bundler/node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dev": true, - "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/@malept/flatpak-bundler/node_modules/universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", - "dev": true, - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/@sindresorhus/is": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz", - "integrity": "sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/is?sponsor=1" - } - }, - "node_modules/@szmarczak/http-timer": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.6.tgz", - "integrity": "sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==", - "dependencies": { - "defer-to-connect": "^2.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@tootallnate/once": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", - "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", - "dev": true, - "engines": { - "node": ">= 10" - } - }, - "node_modules/@types/cacheable-request": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.3.tgz", - "integrity": "sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==", - "dependencies": { - "@types/http-cache-semantics": "*", - "@types/keyv": "^3.1.4", - "@types/node": "*", - "@types/responselike": "^1.0.0" - } - }, - "node_modules/@types/debug": { - "version": "4.1.7", - "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.7.tgz", - "integrity": "sha512-9AonUzyTjXXhEOa0DnqpzZi6VHlqKMswga9EXjpXnnqxwLtdvPPtlO8evrI5D9S6asFRCQ6v+wpiUKbw+vKqyg==", - "dev": true, - "dependencies": { - "@types/ms": "*" - } - }, - "node_modules/@types/fs-extra": { - "version": "9.0.13", - "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-9.0.13.tgz", - "integrity": "sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==", - "dev": true, - "optional": true, - "dependencies": { - "@types/minimatch": "*", - "@types/node": "*" - } - }, - "node_modules/@types/http-cache-semantics": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.1.tgz", - "integrity": "sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ==" - }, - "node_modules/@types/keyv": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/@types/keyv/-/keyv-3.1.4.tgz", - "integrity": "sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/minimatch": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-5.1.2.tgz", - "integrity": "sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==", - "dev": true, - "optional": true - }, - "node_modules/@types/ms": { - "version": "0.7.31", - "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.31.tgz", - "integrity": "sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==", - "dev": true - }, - "node_modules/@types/node": { - "version": "18.15.11", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz", - "integrity": "sha512-E5Kwq2n4SbMzQOn6wnmBjuK9ouqlURrcZDVfbo9ftDDTFt3nk7ZKK4GMOzoYgnpQJKcxwQw+lGaBvvlMo0qN/Q==" - }, - "node_modules/@types/plist": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@types/plist/-/plist-3.0.2.tgz", - "integrity": "sha512-ULqvZNGMv0zRFvqn8/4LSPtnmN4MfhlPNtJCTpKuIIxGVGZ2rYWzFXrvEBoh9CVyqSE7D6YFRJ1hydLHI6kbWw==", - "dev": true, - "optional": true, - "dependencies": { - "@types/node": "*", - "xmlbuilder": ">=11.0.1" - } - }, - "node_modules/@types/responselike": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.0.tgz", - "integrity": "sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/verror": { - "version": "1.10.6", - "resolved": "https://registry.npmjs.org/@types/verror/-/verror-1.10.6.tgz", - "integrity": "sha512-NNm+gdePAX1VGvPcGZCDKQZKYSiAWigKhKaz5KF94hG6f2s8de9Ow5+7AbXoeKxL8gavZfk4UquSAygOF2duEQ==", - "dev": true, - "optional": true - }, - "node_modules/@types/yargs": { - "version": "17.0.24", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.24.tgz", - "integrity": "sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==", - "dev": true, - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/@types/yargs-parser": { - "version": "21.0.0", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", - "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==", - "dev": true - }, - "node_modules/@types/yauzl": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.0.tgz", - "integrity": "sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==", - "optional": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/7zip-bin": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/7zip-bin/-/7zip-bin-5.1.1.tgz", - "integrity": "sha512-sAP4LldeWNz0lNzmTird3uWfFDWWTeg6V/MsmyyLR9X1idwKBWIgt/ZvinqQldJm3LecKEs1emkbquO6PCiLVQ==", - "dev": true - }, - "node_modules/agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", - "dev": true, - "dependencies": { - "debug": "4" - }, - "engines": { - "node": ">= 6.0.0" - } - }, - "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true, - "peerDependencies": { - "ajv": "^6.9.1" - } - }, - "node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/app-builder-bin": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/app-builder-bin/-/app-builder-bin-4.0.0.tgz", - "integrity": "sha512-xwdG0FJPQMe0M0UA4Tz0zEB8rBJTRA5a476ZawAqiBkMv16GRK5xpXThOjMaEOFnZ6zabejjG4J3da0SXG63KA==", - "dev": true - }, - "node_modules/app-builder-lib": { - "version": "23.6.0", - "resolved": "https://registry.npmjs.org/app-builder-lib/-/app-builder-lib-23.6.0.tgz", - "integrity": "sha512-dQYDuqm/rmy8GSCE6Xl/3ShJg6Ab4bZJMT8KaTKGzT436gl1DN4REP3FCWfXoh75qGTJ+u+WsdnnpO9Jl8nyMA==", - "dev": true, - "dependencies": { - "@develar/schema-utils": "~2.6.5", - "@electron/universal": "1.2.1", - "@malept/flatpak-bundler": "^0.4.0", - "7zip-bin": "~5.1.1", - "async-exit-hook": "^2.0.1", - "bluebird-lst": "^1.0.9", - "builder-util": "23.6.0", - "builder-util-runtime": "9.1.1", - "chromium-pickle-js": "^0.2.0", - "debug": "^4.3.4", - "ejs": "^3.1.7", - "electron-osx-sign": "^0.6.0", - "electron-publish": "23.6.0", - "form-data": "^4.0.0", - "fs-extra": "^10.1.0", - "hosted-git-info": "^4.1.0", - "is-ci": "^3.0.0", - "isbinaryfile": "^4.0.10", - "js-yaml": "^4.1.0", - "lazy-val": "^1.0.5", - "minimatch": "^3.1.2", - "read-config-file": "6.2.0", - "sanitize-filename": "^1.6.3", - "semver": "^7.3.7", - "tar": "^6.1.11", - "temp-file": "^3.4.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/app-builder-lib/node_modules/fs-extra": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", - "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/app-builder-lib/node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dev": true, - "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/app-builder-lib/node_modules/semver": { - "version": "7.4.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.4.0.tgz", - "integrity": "sha512-RgOxM8Mw+7Zus0+zcLEUn8+JfoLpj/huFTItQy2hsM4khuC1HYRDp0cU482Ewn/Fcy6bCjufD8vAj7voC66KQw==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/app-builder-lib/node_modules/universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", - "dev": true, - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true - }, - "node_modules/asar": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/asar/-/asar-3.2.0.tgz", - "integrity": "sha512-COdw2ZQvKdFGFxXwX3oYh2/sOsJWJegrdJCGxnN4MZ7IULgRBp9P6665aqj9z1v9VwP4oP1hRBojRDQ//IGgAg==", - "deprecated": "Please use @electron/asar moving forward. There is no API change, just a package name change", - "dev": true, - "dependencies": { - "chromium-pickle-js": "^0.2.0", - "commander": "^5.0.0", - "glob": "^7.1.6", - "minimatch": "^3.0.4" - }, - "bin": { - "asar": "bin/asar.js" - }, - "engines": { - "node": ">=10.12.0" - }, - "optionalDependencies": { - "@types/glob": "^7.1.1" - } - }, - "node_modules/assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", - "dev": true, - "optional": true, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/astral-regex": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", - "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", - "dev": true, - "optional": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/async": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", - "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==", - "dev": true - }, - "node_modules/async-exit-hook": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/async-exit-hook/-/async-exit-hook-2.0.1.tgz", - "integrity": "sha512-NW2cX8m1Q7KPA7a5M2ULQeZ2wR5qI5PAbw5L0UOMxdioVk9PMZ0h1TmyZEkPYrCvYjDlFICusOu1dlEKAAeXBw==", - "dev": true, - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", - "dev": true - }, - "node_modules/at-least-node": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", - "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", - "dev": true, - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true - }, - "node_modules/base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/bluebird": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", - "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", - "dev": true - }, - "node_modules/bluebird-lst": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/bluebird-lst/-/bluebird-lst-1.0.9.tgz", - "integrity": "sha512-7B1Rtx82hjnSD4PGLAjVWeYH3tHAcVUmChh85a3lltKQm6FresXh9ErQo6oAv6CqxttczC3/kEg8SY5NluPuUw==", - "dev": true, - "dependencies": { - "bluebird": "^3.5.5" - } - }, - "node_modules/boolean": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/boolean/-/boolean-3.2.0.tgz", - "integrity": "sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==", - "optional": true - }, - "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "optional": true, - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "node_modules/buffer-alloc": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", - "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", - "dev": true, - "dependencies": { - "buffer-alloc-unsafe": "^1.1.0", - "buffer-fill": "^1.0.0" - } - }, - "node_modules/buffer-alloc-unsafe": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", - "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==", - "dev": true - }, - "node_modules/buffer-crc32": { - "version": "0.2.13", - "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", - "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", - "engines": { - "node": "*" - } - }, - "node_modules/buffer-equal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-1.0.0.tgz", - "integrity": "sha512-tcBWO2Dl4e7Asr9hTGcpVrCe+F7DubpmqWCTbj4FHLmjqO2hIaC383acQubWtRJhdceqs5uBHs6Es+Sk//RKiQ==", - "dev": true, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/buffer-fill": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", - "integrity": "sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ==", - "dev": true - }, - "node_modules/buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", - "dev": true - }, - "node_modules/builder-util": { - "version": "23.6.0", - "resolved": "https://registry.npmjs.org/builder-util/-/builder-util-23.6.0.tgz", - "integrity": "sha512-QiQHweYsh8o+U/KNCZFSvISRnvRctb8m/2rB2I1JdByzvNKxPeFLlHFRPQRXab6aYeXc18j9LpsDLJ3sGQmWTQ==", - "dev": true, - "dependencies": { - "@types/debug": "^4.1.6", - "@types/fs-extra": "^9.0.11", - "7zip-bin": "~5.1.1", - "app-builder-bin": "4.0.0", - "bluebird-lst": "^1.0.9", - "builder-util-runtime": "9.1.1", - "chalk": "^4.1.1", - "cross-spawn": "^7.0.3", - "debug": "^4.3.4", - "fs-extra": "^10.0.0", - "http-proxy-agent": "^5.0.0", - "https-proxy-agent": "^5.0.0", - "is-ci": "^3.0.0", - "js-yaml": "^4.1.0", - "source-map-support": "^0.5.19", - "stat-mode": "^1.0.0", - "temp-file": "^3.4.0" - } - }, - "node_modules/builder-util-runtime": { - "version": "9.1.1", - "resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-9.1.1.tgz", - "integrity": "sha512-azRhYLEoDvRDR8Dhis4JatELC/jUvYjm4cVSj7n9dauGTOM2eeNn9KS0z6YA6oDsjI1xphjNbY6PZZeHPzzqaw==", - "dev": true, - "dependencies": { - "debug": "^4.3.4", - "sax": "^1.2.4" - }, - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/builder-util/node_modules/fs-extra": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", - "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/builder-util/node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dev": true, - "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/builder-util/node_modules/universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", - "dev": true, - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/cacheable-lookup": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz", - "integrity": "sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==", - "engines": { - "node": ">=10.6.0" - } - }, - "node_modules/cacheable-request": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.2.tgz", - "integrity": "sha512-pouW8/FmiPQbuGpkXQ9BAPv/Mo5xDGANgSNXzTzJ8DrKGuXOssM4wIQRjfanNRh3Yu5cfYPvcorqbhg2KIJtew==", - "dependencies": { - "clone-response": "^1.0.2", - "get-stream": "^5.1.0", - "http-cache-semantics": "^4.0.0", - "keyv": "^4.0.0", - "lowercase-keys": "^2.0.0", - "normalize-url": "^6.0.1", - "responselike": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/chownr": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", - "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/chromium-pickle-js": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/chromium-pickle-js/-/chromium-pickle-js-0.2.0.tgz", - "integrity": "sha512-1R5Fho+jBq0DDydt+/vHWj5KJNJCKdARKOCwZUen84I5BreWoLqRLANH1U87eJy1tiASPtMnGqJJq0ZsLoRPOw==", - "dev": true - }, - "node_modules/ci-info": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.8.0.tgz", - "integrity": "sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/sibiraj-s" - } - ], - "engines": { - "node": ">=8" - } - }, - "node_modules/cli-truncate": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz", - "integrity": "sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==", - "dev": true, - "optional": true, - "dependencies": { - "slice-ansi": "^3.0.0", - "string-width": "^4.2.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", - "dev": true, - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/clone-response": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.3.tgz", - "integrity": "sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==", - "dependencies": { - "mimic-response": "^1.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/colors": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz", - "integrity": "sha512-pFGrxThWcWQ2MsAz6RtgeWe4NK2kUE1WfsrvvlctdII745EW9I0yflqhe7++M5LEc7bV2c/9/5zc8sFcpL0Drw==", - "dev": true, - "engines": { - "node": ">=0.1.90" - } - }, - "node_modules/combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "dev": true, - "dependencies": { - "delayed-stream": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/commander": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", - "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==", - "dev": true, - "engines": { - "node": ">= 6" - } - }, - "node_modules/compare-version": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/compare-version/-/compare-version-0.1.2.tgz", - "integrity": "sha512-pJDh5/4wrEnXX/VWRZvruAGHkzKdr46z11OlTPN+VrATlWWhSKewNCJ1futCO5C7eJB3nPMFZA1LeYtcFboZ2A==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true - }, - "node_modules/core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==", - "dev": true, - "optional": true - }, - "node_modules/crc": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/crc/-/crc-3.8.0.tgz", - "integrity": "sha512-iX3mfgcTMIq3ZKLIsVFAbv7+Mc10kxabAGQb8HvjA1o3T1PIYprbakQ65d3I+2HGHt6nSKkM9PYjgoJO2KcFBQ==", - "dev": true, - "optional": true, - "dependencies": { - "buffer": "^5.1.0" - } - }, - "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/decompress-response": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", - "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", - "dependencies": { - "mimic-response": "^3.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/decompress-response/node_modules/mimic-response": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", - "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/defer-to-connect": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz", - "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==", - "engines": { - "node": ">=10" - } - }, - "node_modules/define-properties": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", - "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", - "optional": true, - "dependencies": { - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", - "dev": true, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/detect-node": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", - "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", - "optional": true - }, - "node_modules/dir-compare": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/dir-compare/-/dir-compare-2.4.0.tgz", - "integrity": "sha512-l9hmu8x/rjVC9Z2zmGzkhOEowZvW7pmYws5CWHutg8u1JgvsKWMx7Q/UODeu4djLZ4FgW5besw5yvMQnBHzuCA==", - "dev": true, - "dependencies": { - "buffer-equal": "1.0.0", - "colors": "1.0.3", - "commander": "2.9.0", - "minimatch": "3.0.4" - }, - "bin": { - "dircompare": "src/cli/dircompare.js" - } - }, - "node_modules/dir-compare/node_modules/commander": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz", - "integrity": "sha512-bmkUukX8wAOjHdN26xj5c4ctEV22TQ7dQYhSmuckKhToXrkUn0iIaolHdIxYYqD55nhpSPA9zPQ1yP57GdXP2A==", - "dev": true, - "dependencies": { - "graceful-readlink": ">= 1.0.0" - }, - "engines": { - "node": ">= 0.6.x" - } - }, - "node_modules/dir-compare/node_modules/minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/dmg-builder": { - "version": "23.6.0", - "resolved": "https://registry.npmjs.org/dmg-builder/-/dmg-builder-23.6.0.tgz", - "integrity": "sha512-jFZvY1JohyHarIAlTbfQOk+HnceGjjAdFjVn3n8xlDWKsYNqbO4muca6qXEZTfGXeQMG7TYim6CeS5XKSfSsGA==", - "dev": true, - "dependencies": { - "app-builder-lib": "23.6.0", - "builder-util": "23.6.0", - "builder-util-runtime": "9.1.1", - "fs-extra": "^10.0.0", - "iconv-lite": "^0.6.2", - "js-yaml": "^4.1.0" - }, - "optionalDependencies": { - "dmg-license": "^1.0.11" - } - }, - "node_modules/dmg-builder/node_modules/fs-extra": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", - "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/dmg-builder/node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dev": true, - "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/dmg-builder/node_modules/universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", - "dev": true, - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/dmg-license": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/dmg-license/-/dmg-license-1.0.11.tgz", - "integrity": "sha512-ZdzmqwKmECOWJpqefloC5OJy1+WZBBse5+MR88z9g9Zn4VY+WYUkAyojmhzJckH5YbbZGcYIuGAkY5/Ys5OM2Q==", - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "dependencies": { - "@types/plist": "^3.0.1", - "@types/verror": "^1.10.3", - "ajv": "^6.10.0", - "crc": "^3.8.0", - "iconv-corefoundation": "^1.1.7", - "plist": "^3.0.4", - "smart-buffer": "^4.0.2", - "verror": "^1.10.0" - }, - "bin": { - "dmg-license": "bin/dmg-license.js" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/dotenv": { - "version": "9.0.2", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-9.0.2.tgz", - "integrity": "sha512-I9OvvrHp4pIARv4+x9iuewrWycX6CcZtoAu1XrzPxc5UygMJXJZYmBsynku8IkrJwgypE5DGNjDPmPRhDCptUg==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/dotenv-expand": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz", - "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==", - "dev": true - }, - "node_modules/ejs": { - "version": "3.1.9", - "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.9.tgz", - "integrity": "sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ==", - "dev": true, - "dependencies": { - "jake": "^10.8.5" - }, - "bin": { - "ejs": "bin/cli.js" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/electron": { - "version": "24.1.1", - "resolved": "https://registry.npmjs.org/electron/-/electron-24.1.1.tgz", - "integrity": "sha512-ymjUMe6Pvh9ytpM4lOvr+Qxd6NG5AELRtR6tw54bK3FXfKtTTKKAtZw/NbwHwkRAlWu8FNAGOuvCoap6/bm9LQ==", - "hasInstallScript": true, - "dependencies": { - "@electron/get": "^2.0.0", - "@types/node": "^18.11.18", - "extract-zip": "^2.0.1" - }, - "bin": { - "electron": "cli.js" - }, - "engines": { - "node": ">= 12.20.55" - } - }, - "node_modules/electron-builder": { - "version": "23.6.0", - "resolved": "https://registry.npmjs.org/electron-builder/-/electron-builder-23.6.0.tgz", - "integrity": "sha512-y8D4zO+HXGCNxFBV/JlyhFnoQ0Y0K7/sFH+XwIbj47pqaW8S6PGYQbjoObolKBR1ddQFPt4rwp4CnwMJrW3HAw==", - "dev": true, - "dependencies": { - "@types/yargs": "^17.0.1", - "app-builder-lib": "23.6.0", - "builder-util": "23.6.0", - "builder-util-runtime": "9.1.1", - "chalk": "^4.1.1", - "dmg-builder": "23.6.0", - "fs-extra": "^10.0.0", - "is-ci": "^3.0.0", - "lazy-val": "^1.0.5", - "read-config-file": "6.2.0", - "simple-update-notifier": "^1.0.7", - "yargs": "^17.5.1" - }, - "bin": { - "electron-builder": "cli.js", - "install-app-deps": "install-app-deps.js" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/electron-builder/node_modules/fs-extra": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", - "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/electron-builder/node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dev": true, - "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/electron-builder/node_modules/universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", - "dev": true, - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/electron-osx-sign": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/electron-osx-sign/-/electron-osx-sign-0.6.0.tgz", - "integrity": "sha512-+hiIEb2Xxk6eDKJ2FFlpofCnemCbjbT5jz+BKGpVBrRNT3kWTGs4DfNX6IzGwgi33hUcXF+kFs9JW+r6Wc1LRg==", - "deprecated": "Please use @electron/osx-sign moving forward. Be aware the API is slightly different", - "dev": true, - "dependencies": { - "bluebird": "^3.5.0", - "compare-version": "^0.1.2", - "debug": "^2.6.8", - "isbinaryfile": "^3.0.2", - "minimist": "^1.2.0", - "plist": "^3.0.1" - }, - "bin": { - "electron-osx-flat": "bin/electron-osx-flat.js", - "electron-osx-sign": "bin/electron-osx-sign.js" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/electron-osx-sign/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/electron-osx-sign/node_modules/isbinaryfile": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-3.0.3.tgz", - "integrity": "sha512-8cJBL5tTd2OS0dM4jz07wQd5g0dCCqIhUxPIGtZfa5L6hWlvV5MHTITy/DBAsF+Oe2LS1X3krBUhNwaGUWpWxw==", - "dev": true, - "dependencies": { - "buffer-alloc": "^1.2.0" - }, - "engines": { - "node": ">=0.6.0" - } - }, - "node_modules/electron-osx-sign/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - }, - "node_modules/electron-publish": { - "version": "23.6.0", - "resolved": "https://registry.npmjs.org/electron-publish/-/electron-publish-23.6.0.tgz", - "integrity": "sha512-jPj3y+eIZQJF/+t5SLvsI5eS4mazCbNYqatv5JihbqOstIM13k0d1Z3vAWntvtt13Itl61SO6seicWdioOU5dg==", - "dev": true, - "dependencies": { - "@types/fs-extra": "^9.0.11", - "builder-util": "23.6.0", - "builder-util-runtime": "9.1.1", - "chalk": "^4.1.1", - "fs-extra": "^10.0.0", - "lazy-val": "^1.0.5", - "mime": "^2.5.2" - } - }, - "node_modules/electron-publish/node_modules/fs-extra": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", - "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/electron-publish/node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dev": true, - "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/electron-publish/node_modules/universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", - "dev": true, - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "node_modules/end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "dependencies": { - "once": "^1.4.0" - } - }, - "node_modules/env-paths": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", - "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", - "engines": { - "node": ">=6" - } - }, - "node_modules/es6-error": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz", - "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==", - "optional": true - }, - "node_modules/escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "optional": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/extract-zip": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", - "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", - "dependencies": { - "debug": "^4.1.1", - "get-stream": "^5.1.0", - "yauzl": "^2.10.0" - }, - "bin": { - "extract-zip": "cli.js" - }, - "engines": { - "node": ">= 10.17.0" - }, - "optionalDependencies": { - "@types/yauzl": "^2.9.1" - } - }, - "node_modules/extsprintf": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.4.1.tgz", - "integrity": "sha512-Wrk35e8ydCKDj/ArClo1VrPVmN8zph5V4AtHwIuHhvMXsKf73UT3BOD+azBIW+3wOJ4FhEH7zyaJCFvChjYvMA==", - "dev": true, - "engines": [ - "node >=0.6.0" - ], - "optional": true - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true - }, - "node_modules/fd-slicer": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", - "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", - "dependencies": { - "pend": "~1.2.0" - } - }, - "node_modules/filelist": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", - "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", - "dev": true, - "dependencies": { - "minimatch": "^5.0.1" - } - }, - "node_modules/filelist/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/filelist/node_modules/minimatch": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", - "dev": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/form-data": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", - "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", - "dev": true, - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - }, - "engines": { - "node": ">=6 <7 || >=8" - } - }, - "node_modules/fs-minipass": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", - "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", - "dev": true, - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/fs-minipass/node_modules/minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "dev": true - }, - "node_modules/function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "optional": true - }, - "node_modules/get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true, - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, - "node_modules/get-intrinsic": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.0.tgz", - "integrity": "sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==", - "optional": true, - "dependencies": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-stream": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", - "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", - "dependencies": { - "pump": "^3.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/global-agent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/global-agent/-/global-agent-3.0.0.tgz", - "integrity": "sha512-PT6XReJ+D07JvGoxQMkT6qji/jVNfX/h364XHZOWeRzy64sSFr+xJ5OX7LI3b4MPQzdL4H8Y8M0xzPpsVMwA8Q==", - "optional": true, - "dependencies": { - "boolean": "^3.0.1", - "es6-error": "^4.1.1", - "matcher": "^3.0.0", - "roarr": "^2.15.3", - "semver": "^7.3.2", - "serialize-error": "^7.0.1" - }, - "engines": { - "node": ">=10.0" - } - }, - "node_modules/global-agent/node_modules/semver": { - "version": "7.4.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.4.0.tgz", - "integrity": "sha512-RgOxM8Mw+7Zus0+zcLEUn8+JfoLpj/huFTItQy2hsM4khuC1HYRDp0cU482Ewn/Fcy6bCjufD8vAj7voC66KQw==", - "optional": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/globalthis": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", - "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", - "optional": true, - "dependencies": { - "define-properties": "^1.1.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/got": { - "version": "11.8.6", - "resolved": "https://registry.npmjs.org/got/-/got-11.8.6.tgz", - "integrity": "sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==", - "dependencies": { - "@sindresorhus/is": "^4.0.0", - "@szmarczak/http-timer": "^4.0.5", - "@types/cacheable-request": "^6.0.1", - "@types/responselike": "^1.0.0", - "cacheable-lookup": "^5.0.3", - "cacheable-request": "^7.0.2", - "decompress-response": "^6.0.0", - "http2-wrapper": "^1.0.0-beta.5.2", - "lowercase-keys": "^2.0.0", - "p-cancelable": "^2.0.0", - "responselike": "^2.0.0" - }, - "engines": { - "node": ">=10.19.0" - }, - "funding": { - "url": "https://github.com/sindresorhus/got?sponsor=1" - } - }, - "node_modules/graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" - }, - "node_modules/graceful-readlink": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz", - "integrity": "sha512-8tLu60LgxF6XpdbK8OW3FA+IfTNBn1ZHGHKF4KQbEeSkajYw5PlYJcKluntgegDPTg8UkHjpet1T82vk6TQ68w==", - "dev": true - }, - "node_modules/has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "optional": true, - "dependencies": { - "function-bind": "^1.1.1" - }, - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/has-property-descriptors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", - "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", - "optional": true, - "dependencies": { - "get-intrinsic": "^1.1.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", - "optional": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/hosted-git-info": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", - "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/http-cache-semantics": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", - "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==" - }, - "node_modules/http-proxy-agent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", - "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", - "dev": true, - "dependencies": { - "@tootallnate/once": "2", - "agent-base": "6", - "debug": "4" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/http2-wrapper": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-1.0.3.tgz", - "integrity": "sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==", - "dependencies": { - "quick-lru": "^5.1.1", - "resolve-alpn": "^1.0.0" - }, - "engines": { - "node": ">=10.19.0" - } - }, - "node_modules/https-proxy-agent": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", - "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", - "dev": true, - "dependencies": { - "agent-base": "6", - "debug": "4" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/iconv-corefoundation": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/iconv-corefoundation/-/iconv-corefoundation-1.1.7.tgz", - "integrity": "sha512-T10qvkw0zz4wnm560lOEg0PovVqUXuOFhhHAkixw8/sycy7TJt7v/RrkEKEQnAw2viPSJu6iAkErxnzR0g8PpQ==", - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "dependencies": { - "cli-truncate": "^2.1.0", - "node-addon-api": "^1.6.3" - }, - "engines": { - "node": "^8.11.2 || >=10" - } - }, - "node_modules/iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "dev": true, - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "optional": true - }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "dev": true, - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, - "node_modules/is-ci": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.1.tgz", - "integrity": "sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==", - "dev": true, - "dependencies": { - "ci-info": "^3.2.0" - }, - "bin": { - "is-ci": "bin.js" - } - }, - "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/isbinaryfile": { - "version": "4.0.10", - "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.10.tgz", - "integrity": "sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw==", - "dev": true, - "engines": { - "node": ">= 8.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/gjtorikian/" - } - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true - }, - "node_modules/jake": { - "version": "10.8.5", - "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.5.tgz", - "integrity": "sha512-sVpxYeuAhWt0OTWITwT98oyV0GsXyMlXCF+3L1SuafBVUIr/uILGRB+NqwkzhgXKvoJpDIpQvqkUALgdmQsQxw==", - "dev": true, - "dependencies": { - "async": "^3.2.3", - "chalk": "^4.0.2", - "filelist": "^1.0.1", - "minimatch": "^3.0.4" - }, - "bin": { - "jake": "bin/cli.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/json-buffer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==" - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "node_modules/json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", - "optional": true - }, - "node_modules/json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true, - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/keyv": { - "version": "4.5.2", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.2.tgz", - "integrity": "sha512-5MHbFaKn8cNSmVW7BYnijeAVlE4cYA/SVkifVgrh7yotnfhKmjuXpDKjrABLnT0SfHWV21P8ow07OGfRrNDg8g==", - "dependencies": { - "json-buffer": "3.0.1" - } - }, - "node_modules/lazy-val": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/lazy-val/-/lazy-val-1.0.5.tgz", - "integrity": "sha512-0/BnGCCfyUMkBpeDgWihanIAF9JmZhHBgUhEqzvf+adhNGLoP6TaiI5oF8oyb3I45P+PcnrqihSf01M0l0G5+Q==", - "dev": true - }, - "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true - }, - "node_modules/lowercase-keys": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", - "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", - "engines": { - "node": ">=8" - } - }, - "node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "devOptional": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/matcher": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/matcher/-/matcher-3.0.0.tgz", - "integrity": "sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng==", - "optional": true, - "dependencies": { - "escape-string-regexp": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/mime": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", - "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", - "dev": true, - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "dev": true, - "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mimic-response": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", - "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", - "engines": { - "node": ">=4" - } - }, - "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/minimist": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/minipass": { - "version": "4.2.8", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-4.2.8.tgz", - "integrity": "sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/minizlib": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", - "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", - "dev": true, - "dependencies": { - "minipass": "^3.0.0", - "yallist": "^4.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/minizlib/node_modules/minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "dev": true, - "bin": { - "mkdirp": "bin/cmd.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node_modules/node-addon-api": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-1.7.2.tgz", - "integrity": "sha512-ibPK3iA+vaY1eEjESkQkM0BbCqFOaZMiXRTtdB0u7b4djtY6JnsjvPdUHVMg6xQt3B8fpTTWHI9A+ADjM9frzg==", - "dev": true, - "optional": true - }, - "node_modules/normalize-url": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", - "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "optional": true, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/p-cancelable": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz", - "integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/pend": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", - "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==" - }, - "node_modules/plist": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/plist/-/plist-3.0.6.tgz", - "integrity": "sha512-WiIVYyrp8TD4w8yCvyeIr+lkmrGRd5u0VbRnU+tP/aRLxP/YadJUYOMZJ/6hIa3oUyVCsycXvtNRgd5XBJIbiA==", - "dev": true, - "dependencies": { - "base64-js": "^1.5.1", - "xmlbuilder": "^15.1.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/progress": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", - "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "node_modules/punycode": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", - "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/quick-lru": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", - "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/read-config-file": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/read-config-file/-/read-config-file-6.2.0.tgz", - "integrity": "sha512-gx7Pgr5I56JtYz+WuqEbQHj/xWo+5Vwua2jhb1VwM4Wid5PqYmZ4i00ZB0YEGIfkVBsCv9UrjgyqCiQfS/Oosg==", - "dev": true, - "dependencies": { - "dotenv": "^9.0.2", - "dotenv-expand": "^5.1.0", - "js-yaml": "^4.1.0", - "json5": "^2.2.0", - "lazy-val": "^1.0.4" - }, - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/resolve-alpn": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz", - "integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==" - }, - "node_modules/responselike": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/responselike/-/responselike-2.0.1.tgz", - "integrity": "sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==", - "dependencies": { - "lowercase-keys": "^2.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/roarr": { - "version": "2.15.4", - "resolved": "https://registry.npmjs.org/roarr/-/roarr-2.15.4.tgz", - "integrity": "sha512-CHhPh+UNHD2GTXNYhPWLnU8ONHdI+5DI+4EYIAOaiD63rHeYlZvyh8P+in5999TTSFgUYuKUAjzRI4mdh/p+2A==", - "optional": true, - "dependencies": { - "boolean": "^3.0.1", - "detect-node": "^2.0.4", - "globalthis": "^1.0.1", - "json-stringify-safe": "^5.0.1", - "semver-compare": "^1.0.0", - "sprintf-js": "^1.1.2" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true - }, - "node_modules/sanitize-filename": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/sanitize-filename/-/sanitize-filename-1.6.3.tgz", - "integrity": "sha512-y/52Mcy7aw3gRm7IrcGDFx/bCk4AhRh2eI9luHOQM86nZsqwiRkkq2GekHXBBD+SmPidc8i2PqtYZl+pWJ8Oeg==", - "dev": true, - "dependencies": { - "truncate-utf8-bytes": "^1.0.0" - } - }, - "node_modules/sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", - "dev": true - }, - "node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/semver-compare": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz", - "integrity": "sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==", - "optional": true - }, - "node_modules/serialize-error": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-7.0.1.tgz", - "integrity": "sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw==", - "optional": true, - "dependencies": { - "type-fest": "^0.13.1" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/simple-update-notifier": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/simple-update-notifier/-/simple-update-notifier-1.1.0.tgz", - "integrity": "sha512-VpsrsJSUcJEseSbMHkrsrAVSdvVS5I96Qo1QAQ4FxQ9wXFcB+pjj7FB7/us9+GcgfW4ziHtYMc1J0PLczb55mg==", - "dev": true, - "dependencies": { - "semver": "~7.0.0" - }, - "engines": { - "node": ">=8.10.0" - } - }, - "node_modules/simple-update-notifier/node_modules/semver": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", - "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/slice-ansi": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz", - "integrity": "sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==", - "dev": true, - "optional": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/smart-buffer": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", - "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", - "dev": true, - "optional": true, - "engines": { - "node": ">= 6.0.0", - "npm": ">= 3.0.0" - } - }, - "node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "dev": true, - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/sprintf-js": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz", - "integrity": "sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==", - "optional": true - }, - "node_modules/stat-mode": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/stat-mode/-/stat-mode-1.0.0.tgz", - "integrity": "sha512-jH9EhtKIjuXZ2cWxmXS8ZP80XyC3iasQxMDV8jzhNJpfDb7VbQLVW4Wvsxz9QZvzV+G4YoSfBUVKDOyxLzi/sg==", - "dev": true, - "engines": { - "node": ">= 6" - } - }, - "node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/sumchecker": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/sumchecker/-/sumchecker-3.0.1.tgz", - "integrity": "sha512-MvjXzkz/BOfyVDkG0oFOtBxHX2u3gKbMHIF/dXblZsgD3BWOFLmHovIpZY7BykJdAjcqRCBi1WYBNdEC9yI7vg==", - "dependencies": { - "debug": "^4.1.0" - }, - "engines": { - "node": ">= 8.0" - } - }, - "node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/tar": { - "version": "6.1.13", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.13.tgz", - "integrity": "sha512-jdIBIN6LTIe2jqzay/2vtYLlBHa3JF42ot3h1dW8Q0PaAG4v8rm0cvpVePtau5C6OKXGGcgO9q2AMNSWxiLqKw==", - "dev": true, - "dependencies": { - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "minipass": "^4.0.0", - "minizlib": "^2.1.1", - "mkdirp": "^1.0.3", - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/temp-file": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/temp-file/-/temp-file-3.4.0.tgz", - "integrity": "sha512-C5tjlC/HCtVUOi3KWVokd4vHVViOmGjtLwIh4MuzPo/nMYTV/p1urt3RnMz2IWXDdKEGJH3k5+KPxtqRsUYGtg==", - "dev": true, - "dependencies": { - "async-exit-hook": "^2.0.1", - "fs-extra": "^10.0.0" - } - }, - "node_modules/temp-file/node_modules/fs-extra": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", - "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/temp-file/node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dev": true, - "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/temp-file/node_modules/universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", - "dev": true, - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/tmp": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", - "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", - "dev": true, - "dependencies": { - "rimraf": "^3.0.0" - }, - "engines": { - "node": ">=8.17.0" - } - }, - "node_modules/tmp-promise": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/tmp-promise/-/tmp-promise-3.0.3.tgz", - "integrity": "sha512-RwM7MoPojPxsOBYnyd2hy0bxtIlVrihNs9pj5SUvY8Zz1sQcQG2tG1hSr8PDxfgEB8RNKDhqbIlroIarSNDNsQ==", - "dev": true, - "dependencies": { - "tmp": "^0.2.0" - } - }, - "node_modules/truncate-utf8-bytes": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz", - "integrity": "sha512-95Pu1QXQvruGEhv62XCMO3Mm90GscOCClvrIUwCM0PYOXK3kaF3l3sIHxx71ThJfcbM2O5Au6SO3AWCSEfW4mQ==", - "dev": true, - "dependencies": { - "utf8-byte-length": "^1.0.1" - } - }, - "node_modules/type-fest": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz", - "integrity": "sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==", - "optional": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/utf8-byte-length": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/utf8-byte-length/-/utf8-byte-length-1.0.4.tgz", - "integrity": "sha512-4+wkEYLBbWxqTahEsWrhxepcoVOJ+1z5PGIjPZxRkytcdSUaNjIjBM7Xn8E+pdSuV7SzvWovBFA54FO0JSoqhA==", - "dev": true - }, - "node_modules/verror": { - "version": "1.10.1", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.1.tgz", - "integrity": "sha512-veufcmxri4e3XSrT0xwfUR7kguIkaxBeosDg00yDWhk49wdwkSUrvvsm7nc75e1PUyvIeZj6nS8VQRYz2/S4Xg==", - "dev": true, - "optional": true, - "dependencies": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" - }, - "engines": { - "node": ">=0.6.0" - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" - }, - "node_modules/xmlbuilder": { - "version": "15.1.1", - "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-15.1.1.tgz", - "integrity": "sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg==", - "dev": true, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "devOptional": true - }, - "node_modules/yargs": { - "version": "17.7.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.1.tgz", - "integrity": "sha512-cwiTb08Xuv5fqF4AovYacTFNxk62th7LKJ6BL9IGUpTJrWoU7/7WdQGTP2SjKf1dUNBGzDd28p/Yfs/GI6JrLw==", - "dev": true, - "dependencies": { - "cliui": "^8.0.1", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "dev": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/yauzl": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", - "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", - "dependencies": { - "buffer-crc32": "~0.2.3", - "fd-slicer": "~1.1.0" - } - } - }, - "dependencies": { - "@develar/schema-utils": { - "version": "2.6.5", - "resolved": "https://registry.npmjs.org/@develar/schema-utils/-/schema-utils-2.6.5.tgz", - "integrity": "sha512-0cp4PsWQ/9avqTVMCtZ+GirikIA36ikvjtHweU4/j8yLtgObI0+JUPhYFScgwlteveGB1rt3Cm8UhN04XayDig==", - "dev": true, - "requires": { - "ajv": "^6.12.0", - "ajv-keywords": "^3.4.1" - } - }, - "@electron/get": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@electron/get/-/get-2.0.2.tgz", - "integrity": "sha512-eFZVFoRXb3GFGd7Ak7W4+6jBl9wBtiZ4AaYOse97ej6mKj5tkyO0dUnUChs1IhJZtx1BENo4/p4WUTXpi6vT+g==", - "requires": { - "debug": "^4.1.1", - "env-paths": "^2.2.0", - "fs-extra": "^8.1.0", - "global-agent": "^3.0.0", - "got": "^11.8.5", - "progress": "^2.0.3", - "semver": "^6.2.0", - "sumchecker": "^3.0.1" - } - }, - "@electron/universal": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@electron/universal/-/universal-1.2.1.tgz", - "integrity": "sha512-7323HyMh7KBAl/nPDppdLsC87G6RwRU02dy5FPeGB1eS7rUePh55+WNWiDPLhFQqqVPHzh77M69uhmoT8XnwMQ==", - "dev": true, - "requires": { - "@malept/cross-spawn-promise": "^1.1.0", - "asar": "^3.1.0", - "debug": "^4.3.1", - "dir-compare": "^2.4.0", - "fs-extra": "^9.0.1", - "minimatch": "^3.0.4", - "plist": "^3.0.4" - }, - "dependencies": { - "fs-extra": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", - "dev": true, - "requires": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - } - }, - "jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.6", - "universalify": "^2.0.0" - } - }, - "universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", - "dev": true - } - } - }, - "@malept/cross-spawn-promise": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@malept/cross-spawn-promise/-/cross-spawn-promise-1.1.1.tgz", - "integrity": "sha512-RTBGWL5FWQcg9orDOCcp4LvItNzUPcyEU9bwaeJX0rJ1IQxzucC48Y0/sQLp/g6t99IQgAlGIaesJS+gTn7tVQ==", - "dev": true, - "requires": { - "cross-spawn": "^7.0.1" - } - }, - "@malept/flatpak-bundler": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/@malept/flatpak-bundler/-/flatpak-bundler-0.4.0.tgz", - "integrity": "sha512-9QOtNffcOF/c1seMCDnjckb3R9WHcG34tky+FHpNKKCW0wc/scYLwMtO+ptyGUfMW0/b/n4qRiALlaFHc9Oj7Q==", - "dev": true, - "requires": { - "debug": "^4.1.1", - "fs-extra": "^9.0.0", - "lodash": "^4.17.15", - "tmp-promise": "^3.0.2" - }, - "dependencies": { - "fs-extra": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", - "dev": true, - "requires": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - } - }, - "jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.6", - "universalify": "^2.0.0" - } - }, - "universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", - "dev": true - } - } - }, - "@sindresorhus/is": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz", - "integrity": "sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==" - }, - "@szmarczak/http-timer": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.6.tgz", - "integrity": "sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==", - "requires": { - "defer-to-connect": "^2.0.0" - } - }, - "@tootallnate/once": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", - "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", - "dev": true - }, - "@types/cacheable-request": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.3.tgz", - "integrity": "sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==", - "requires": { - "@types/http-cache-semantics": "*", - "@types/keyv": "^3.1.4", - "@types/node": "*", - "@types/responselike": "^1.0.0" - } - }, - "@types/debug": { - "version": "4.1.7", - "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.7.tgz", - "integrity": "sha512-9AonUzyTjXXhEOa0DnqpzZi6VHlqKMswga9EXjpXnnqxwLtdvPPtlO8evrI5D9S6asFRCQ6v+wpiUKbw+vKqyg==", - "dev": true, - "requires": { - "@types/ms": "*" - } - }, - "@types/fs-extra": { - "version": "9.0.13", - "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-9.0.13.tgz", - "integrity": "sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==", - "dev": true, - "optional": true, - "requires": { - "@types/minimatch": "*", - "@types/node": "*" - } - }, - "@types/http-cache-semantics": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.1.tgz", - "integrity": "sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ==" - }, - "@types/keyv": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/@types/keyv/-/keyv-3.1.4.tgz", - "integrity": "sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==", - "requires": { - "@types/node": "*" - } - }, - "@types/minimatch": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-5.1.2.tgz", - "integrity": "sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==", - "dev": true, - "optional": true - }, - "@types/ms": { - "version": "0.7.31", - "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.31.tgz", - "integrity": "sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==", - "dev": true - }, - "@types/node": { - "version": "18.15.11", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz", - "integrity": "sha512-E5Kwq2n4SbMzQOn6wnmBjuK9ouqlURrcZDVfbo9ftDDTFt3nk7ZKK4GMOzoYgnpQJKcxwQw+lGaBvvlMo0qN/Q==" - }, - "@types/plist": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@types/plist/-/plist-3.0.2.tgz", - "integrity": "sha512-ULqvZNGMv0zRFvqn8/4LSPtnmN4MfhlPNtJCTpKuIIxGVGZ2rYWzFXrvEBoh9CVyqSE7D6YFRJ1hydLHI6kbWw==", - "dev": true, - "optional": true, - "requires": { - "@types/node": "*", - "xmlbuilder": ">=11.0.1" - } - }, - "@types/responselike": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.0.tgz", - "integrity": "sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==", - "requires": { - "@types/node": "*" - } - }, - "@types/verror": { - "version": "1.10.6", - "resolved": "https://registry.npmjs.org/@types/verror/-/verror-1.10.6.tgz", - "integrity": "sha512-NNm+gdePAX1VGvPcGZCDKQZKYSiAWigKhKaz5KF94hG6f2s8de9Ow5+7AbXoeKxL8gavZfk4UquSAygOF2duEQ==", - "dev": true, - "optional": true - }, - "@types/yargs": { - "version": "17.0.24", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.24.tgz", - "integrity": "sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } - }, - "@types/yargs-parser": { - "version": "21.0.0", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", - "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==", - "dev": true - }, - "@types/yauzl": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.0.tgz", - "integrity": "sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==", - "optional": true, - "requires": { - "@types/node": "*" - } - }, - "7zip-bin": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/7zip-bin/-/7zip-bin-5.1.1.tgz", - "integrity": "sha512-sAP4LldeWNz0lNzmTird3uWfFDWWTeg6V/MsmyyLR9X1idwKBWIgt/ZvinqQldJm3LecKEs1emkbquO6PCiLVQ==", - "dev": true - }, - "agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", - "dev": true, - "requires": { - "debug": "4" - } - }, - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true, - "requires": {} - }, - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "app-builder-bin": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/app-builder-bin/-/app-builder-bin-4.0.0.tgz", - "integrity": "sha512-xwdG0FJPQMe0M0UA4Tz0zEB8rBJTRA5a476ZawAqiBkMv16GRK5xpXThOjMaEOFnZ6zabejjG4J3da0SXG63KA==", - "dev": true - }, - "app-builder-lib": { - "version": "23.6.0", - "resolved": "https://registry.npmjs.org/app-builder-lib/-/app-builder-lib-23.6.0.tgz", - "integrity": "sha512-dQYDuqm/rmy8GSCE6Xl/3ShJg6Ab4bZJMT8KaTKGzT436gl1DN4REP3FCWfXoh75qGTJ+u+WsdnnpO9Jl8nyMA==", - "dev": true, - "requires": { - "@develar/schema-utils": "~2.6.5", - "@electron/universal": "1.2.1", - "@malept/flatpak-bundler": "^0.4.0", - "7zip-bin": "~5.1.1", - "async-exit-hook": "^2.0.1", - "bluebird-lst": "^1.0.9", - "builder-util": "23.6.0", - "builder-util-runtime": "9.1.1", - "chromium-pickle-js": "^0.2.0", - "debug": "^4.3.4", - "ejs": "^3.1.7", - "electron-osx-sign": "^0.6.0", - "electron-publish": "23.6.0", - "form-data": "^4.0.0", - "fs-extra": "^10.1.0", - "hosted-git-info": "^4.1.0", - "is-ci": "^3.0.0", - "isbinaryfile": "^4.0.10", - "js-yaml": "^4.1.0", - "lazy-val": "^1.0.5", - "minimatch": "^3.1.2", - "read-config-file": "6.2.0", - "sanitize-filename": "^1.6.3", - "semver": "^7.3.7", - "tar": "^6.1.11", - "temp-file": "^3.4.0" - }, - "dependencies": { - "fs-extra": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", - "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", - "dev": true, - "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - } - }, - "jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.6", - "universalify": "^2.0.0" - } - }, - "semver": { - "version": "7.4.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.4.0.tgz", - "integrity": "sha512-RgOxM8Mw+7Zus0+zcLEUn8+JfoLpj/huFTItQy2hsM4khuC1HYRDp0cU482Ewn/Fcy6bCjufD8vAj7voC66KQw==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", - "dev": true - } - } - }, - "argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true - }, - "asar": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/asar/-/asar-3.2.0.tgz", - "integrity": "sha512-COdw2ZQvKdFGFxXwX3oYh2/sOsJWJegrdJCGxnN4MZ7IULgRBp9P6665aqj9z1v9VwP4oP1hRBojRDQ//IGgAg==", - "dev": true, - "requires": { - "@types/glob": "^7.1.1", - "chromium-pickle-js": "^0.2.0", - "commander": "^5.0.0", - "glob": "^7.1.6", - "minimatch": "^3.0.4" - } - }, - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", - "dev": true, - "optional": true - }, - "astral-regex": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", - "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", - "dev": true, - "optional": true - }, - "async": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", - "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==", - "dev": true - }, - "async-exit-hook": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/async-exit-hook/-/async-exit-hook-2.0.1.tgz", - "integrity": "sha512-NW2cX8m1Q7KPA7a5M2ULQeZ2wR5qI5PAbw5L0UOMxdioVk9PMZ0h1TmyZEkPYrCvYjDlFICusOu1dlEKAAeXBw==", - "dev": true - }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", - "dev": true - }, - "at-least-node": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", - "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", - "dev": true - }, - "balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true - }, - "base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "dev": true - }, - "bluebird": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", - "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", - "dev": true - }, - "bluebird-lst": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/bluebird-lst/-/bluebird-lst-1.0.9.tgz", - "integrity": "sha512-7B1Rtx82hjnSD4PGLAjVWeYH3tHAcVUmChh85a3lltKQm6FresXh9ErQo6oAv6CqxttczC3/kEg8SY5NluPuUw==", - "dev": true, - "requires": { - "bluebird": "^3.5.5" - } - }, - "boolean": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/boolean/-/boolean-3.2.0.tgz", - "integrity": "sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==", - "optional": true - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "dev": true, - "optional": true, - "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "buffer-alloc": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", - "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", - "dev": true, - "requires": { - "buffer-alloc-unsafe": "^1.1.0", - "buffer-fill": "^1.0.0" - } - }, - "buffer-alloc-unsafe": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", - "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==", - "dev": true - }, - "buffer-crc32": { - "version": "0.2.13", - "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", - "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==" - }, - "buffer-equal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-1.0.0.tgz", - "integrity": "sha512-tcBWO2Dl4e7Asr9hTGcpVrCe+F7DubpmqWCTbj4FHLmjqO2hIaC383acQubWtRJhdceqs5uBHs6Es+Sk//RKiQ==", - "dev": true - }, - "buffer-fill": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", - "integrity": "sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ==", - "dev": true - }, - "buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", - "dev": true - }, - "builder-util": { - "version": "23.6.0", - "resolved": "https://registry.npmjs.org/builder-util/-/builder-util-23.6.0.tgz", - "integrity": "sha512-QiQHweYsh8o+U/KNCZFSvISRnvRctb8m/2rB2I1JdByzvNKxPeFLlHFRPQRXab6aYeXc18j9LpsDLJ3sGQmWTQ==", - "dev": true, - "requires": { - "@types/debug": "^4.1.6", - "@types/fs-extra": "^9.0.11", - "7zip-bin": "~5.1.1", - "app-builder-bin": "4.0.0", - "bluebird-lst": "^1.0.9", - "builder-util-runtime": "9.1.1", - "chalk": "^4.1.1", - "cross-spawn": "^7.0.3", - "debug": "^4.3.4", - "fs-extra": "^10.0.0", - "http-proxy-agent": "^5.0.0", - "https-proxy-agent": "^5.0.0", - "is-ci": "^3.0.0", - "js-yaml": "^4.1.0", - "source-map-support": "^0.5.19", - "stat-mode": "^1.0.0", - "temp-file": "^3.4.0" - }, - "dependencies": { - "fs-extra": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", - "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", - "dev": true, - "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - } - }, - "jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.6", - "universalify": "^2.0.0" - } - }, - "universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", - "dev": true - } - } - }, - "builder-util-runtime": { - "version": "9.1.1", - "resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-9.1.1.tgz", - "integrity": "sha512-azRhYLEoDvRDR8Dhis4JatELC/jUvYjm4cVSj7n9dauGTOM2eeNn9KS0z6YA6oDsjI1xphjNbY6PZZeHPzzqaw==", - "dev": true, - "requires": { - "debug": "^4.3.4", - "sax": "^1.2.4" - } - }, - "cacheable-lookup": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz", - "integrity": "sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==" - }, - "cacheable-request": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.2.tgz", - "integrity": "sha512-pouW8/FmiPQbuGpkXQ9BAPv/Mo5xDGANgSNXzTzJ8DrKGuXOssM4wIQRjfanNRh3Yu5cfYPvcorqbhg2KIJtew==", - "requires": { - "clone-response": "^1.0.2", - "get-stream": "^5.1.0", - "http-cache-semantics": "^4.0.0", - "keyv": "^4.0.0", - "lowercase-keys": "^2.0.0", - "normalize-url": "^6.0.1", - "responselike": "^2.0.0" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "chownr": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", - "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", - "dev": true - }, - "chromium-pickle-js": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/chromium-pickle-js/-/chromium-pickle-js-0.2.0.tgz", - "integrity": "sha512-1R5Fho+jBq0DDydt+/vHWj5KJNJCKdARKOCwZUen84I5BreWoLqRLANH1U87eJy1tiASPtMnGqJJq0ZsLoRPOw==", - "dev": true - }, - "ci-info": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.8.0.tgz", - "integrity": "sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==", - "dev": true - }, - "cli-truncate": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz", - "integrity": "sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==", - "dev": true, - "optional": true, - "requires": { - "slice-ansi": "^3.0.0", - "string-width": "^4.2.0" - } - }, - "cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", - "dev": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - } - }, - "clone-response": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.3.tgz", - "integrity": "sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==", - "requires": { - "mimic-response": "^1.0.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "colors": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz", - "integrity": "sha512-pFGrxThWcWQ2MsAz6RtgeWe4NK2kUE1WfsrvvlctdII745EW9I0yflqhe7++M5LEc7bV2c/9/5zc8sFcpL0Drw==", - "dev": true - }, - "combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "dev": true, - "requires": { - "delayed-stream": "~1.0.0" - } - }, - "commander": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", - "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==", - "dev": true - }, - "compare-version": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/compare-version/-/compare-version-0.1.2.tgz", - "integrity": "sha512-pJDh5/4wrEnXX/VWRZvruAGHkzKdr46z11OlTPN+VrATlWWhSKewNCJ1futCO5C7eJB3nPMFZA1LeYtcFboZ2A==", - "dev": true - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true - }, - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==", - "dev": true, - "optional": true - }, - "crc": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/crc/-/crc-3.8.0.tgz", - "integrity": "sha512-iX3mfgcTMIq3ZKLIsVFAbv7+Mc10kxabAGQb8HvjA1o3T1PIYprbakQ65d3I+2HGHt6nSKkM9PYjgoJO2KcFBQ==", - "dev": true, - "optional": true, - "requires": { - "buffer": "^5.1.0" - } - }, - "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } - }, - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "requires": { - "ms": "2.1.2" - } - }, - "decompress-response": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", - "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", - "requires": { - "mimic-response": "^3.1.0" - }, - "dependencies": { - "mimic-response": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", - "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==" - } - } - }, - "defer-to-connect": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz", - "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==" - }, - "define-properties": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", - "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", - "optional": true, - "requires": { - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - } - }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", - "dev": true - }, - "detect-node": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", - "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", - "optional": true - }, - "dir-compare": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/dir-compare/-/dir-compare-2.4.0.tgz", - "integrity": "sha512-l9hmu8x/rjVC9Z2zmGzkhOEowZvW7pmYws5CWHutg8u1JgvsKWMx7Q/UODeu4djLZ4FgW5besw5yvMQnBHzuCA==", - "dev": true, - "requires": { - "buffer-equal": "1.0.0", - "colors": "1.0.3", - "commander": "2.9.0", - "minimatch": "3.0.4" - }, - "dependencies": { - "commander": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz", - "integrity": "sha512-bmkUukX8wAOjHdN26xj5c4ctEV22TQ7dQYhSmuckKhToXrkUn0iIaolHdIxYYqD55nhpSPA9zPQ1yP57GdXP2A==", - "dev": true, - "requires": { - "graceful-readlink": ">= 1.0.0" - } - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - } - } - }, - "dmg-builder": { - "version": "23.6.0", - "resolved": "https://registry.npmjs.org/dmg-builder/-/dmg-builder-23.6.0.tgz", - "integrity": "sha512-jFZvY1JohyHarIAlTbfQOk+HnceGjjAdFjVn3n8xlDWKsYNqbO4muca6qXEZTfGXeQMG7TYim6CeS5XKSfSsGA==", - "dev": true, - "requires": { - "app-builder-lib": "23.6.0", - "builder-util": "23.6.0", - "builder-util-runtime": "9.1.1", - "dmg-license": "^1.0.11", - "fs-extra": "^10.0.0", - "iconv-lite": "^0.6.2", - "js-yaml": "^4.1.0" - }, - "dependencies": { - "fs-extra": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", - "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", - "dev": true, - "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - } - }, - "jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.6", - "universalify": "^2.0.0" - } - }, - "universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", - "dev": true - } - } - }, - "dmg-license": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/dmg-license/-/dmg-license-1.0.11.tgz", - "integrity": "sha512-ZdzmqwKmECOWJpqefloC5OJy1+WZBBse5+MR88z9g9Zn4VY+WYUkAyojmhzJckH5YbbZGcYIuGAkY5/Ys5OM2Q==", - "dev": true, - "optional": true, - "requires": { - "@types/plist": "^3.0.1", - "@types/verror": "^1.10.3", - "ajv": "^6.10.0", - "crc": "^3.8.0", - "iconv-corefoundation": "^1.1.7", - "plist": "^3.0.4", - "smart-buffer": "^4.0.2", - "verror": "^1.10.0" - } - }, - "dotenv": { - "version": "9.0.2", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-9.0.2.tgz", - "integrity": "sha512-I9OvvrHp4pIARv4+x9iuewrWycX6CcZtoAu1XrzPxc5UygMJXJZYmBsynku8IkrJwgypE5DGNjDPmPRhDCptUg==", - "dev": true - }, - "dotenv-expand": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz", - "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==", - "dev": true - }, - "ejs": { - "version": "3.1.9", - "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.9.tgz", - "integrity": "sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ==", - "dev": true, - "requires": { - "jake": "^10.8.5" - } - }, - "electron": { - "version": "24.1.1", - "resolved": "https://registry.npmjs.org/electron/-/electron-24.1.1.tgz", - "integrity": "sha512-ymjUMe6Pvh9ytpM4lOvr+Qxd6NG5AELRtR6tw54bK3FXfKtTTKKAtZw/NbwHwkRAlWu8FNAGOuvCoap6/bm9LQ==", - "requires": { - "@electron/get": "^2.0.0", - "@types/node": "^18.11.18", - "extract-zip": "^2.0.1" - } - }, - "electron-builder": { - "version": "23.6.0", - "resolved": "https://registry.npmjs.org/electron-builder/-/electron-builder-23.6.0.tgz", - "integrity": "sha512-y8D4zO+HXGCNxFBV/JlyhFnoQ0Y0K7/sFH+XwIbj47pqaW8S6PGYQbjoObolKBR1ddQFPt4rwp4CnwMJrW3HAw==", - "dev": true, - "requires": { - "@types/yargs": "^17.0.1", - "app-builder-lib": "23.6.0", - "builder-util": "23.6.0", - "builder-util-runtime": "9.1.1", - "chalk": "^4.1.1", - "dmg-builder": "23.6.0", - "fs-extra": "^10.0.0", - "is-ci": "^3.0.0", - "lazy-val": "^1.0.5", - "read-config-file": "6.2.0", - "simple-update-notifier": "^1.0.7", - "yargs": "^17.5.1" - }, - "dependencies": { - "fs-extra": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", - "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", - "dev": true, - "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - } - }, - "jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.6", - "universalify": "^2.0.0" - } - }, - "universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", - "dev": true - } - } - }, - "electron-osx-sign": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/electron-osx-sign/-/electron-osx-sign-0.6.0.tgz", - "integrity": "sha512-+hiIEb2Xxk6eDKJ2FFlpofCnemCbjbT5jz+BKGpVBrRNT3kWTGs4DfNX6IzGwgi33hUcXF+kFs9JW+r6Wc1LRg==", - "dev": true, - "requires": { - "bluebird": "^3.5.0", - "compare-version": "^0.1.2", - "debug": "^2.6.8", - "isbinaryfile": "^3.0.2", - "minimist": "^1.2.0", - "plist": "^3.0.1" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "isbinaryfile": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-3.0.3.tgz", - "integrity": "sha512-8cJBL5tTd2OS0dM4jz07wQd5g0dCCqIhUxPIGtZfa5L6hWlvV5MHTITy/DBAsF+Oe2LS1X3krBUhNwaGUWpWxw==", - "dev": true, - "requires": { - "buffer-alloc": "^1.2.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - } - } - }, - "electron-publish": { - "version": "23.6.0", - "resolved": "https://registry.npmjs.org/electron-publish/-/electron-publish-23.6.0.tgz", - "integrity": "sha512-jPj3y+eIZQJF/+t5SLvsI5eS4mazCbNYqatv5JihbqOstIM13k0d1Z3vAWntvtt13Itl61SO6seicWdioOU5dg==", - "dev": true, - "requires": { - "@types/fs-extra": "^9.0.11", - "builder-util": "23.6.0", - "builder-util-runtime": "9.1.1", - "chalk": "^4.1.1", - "fs-extra": "^10.0.0", - "lazy-val": "^1.0.5", - "mime": "^2.5.2" - }, - "dependencies": { - "fs-extra": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", - "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", - "dev": true, - "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - } - }, - "jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.6", - "universalify": "^2.0.0" - } - }, - "universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", - "dev": true - } - } - }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "requires": { - "once": "^1.4.0" - } - }, - "env-paths": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", - "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==" - }, - "es6-error": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz", - "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==", - "optional": true - }, - "escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "dev": true - }, - "escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "optional": true - }, - "extract-zip": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", - "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", - "requires": { - "@types/yauzl": "^2.9.1", - "debug": "^4.1.1", - "get-stream": "^5.1.0", - "yauzl": "^2.10.0" - } - }, - "extsprintf": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.4.1.tgz", - "integrity": "sha512-Wrk35e8ydCKDj/ArClo1VrPVmN8zph5V4AtHwIuHhvMXsKf73UT3BOD+azBIW+3wOJ4FhEH7zyaJCFvChjYvMA==", - "dev": true, - "optional": true - }, - "fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true - }, - "fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true - }, - "fd-slicer": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", - "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", - "requires": { - "pend": "~1.2.0" - } - }, - "filelist": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", - "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", - "dev": true, - "requires": { - "minimatch": "^5.0.1" - }, - "dependencies": { - "brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0" - } - }, - "minimatch": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", - "dev": true, - "requires": { - "brace-expansion": "^2.0.1" - } - } - } - }, - "form-data": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", - "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", - "dev": true, - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - } - }, - "fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "fs-minipass": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", - "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", - "dev": true, - "requires": { - "minipass": "^3.0.0" - }, - "dependencies": { - "minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - } - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "dev": true - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "optional": true - }, - "get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true - }, - "get-intrinsic": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.0.tgz", - "integrity": "sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==", - "optional": true, - "requires": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.3" - } - }, - "get-stream": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", - "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", - "requires": { - "pump": "^3.0.0" - } - }, - "glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "global-agent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/global-agent/-/global-agent-3.0.0.tgz", - "integrity": "sha512-PT6XReJ+D07JvGoxQMkT6qji/jVNfX/h364XHZOWeRzy64sSFr+xJ5OX7LI3b4MPQzdL4H8Y8M0xzPpsVMwA8Q==", - "optional": true, - "requires": { - "boolean": "^3.0.1", - "es6-error": "^4.1.1", - "matcher": "^3.0.0", - "roarr": "^2.15.3", - "semver": "^7.3.2", - "serialize-error": "^7.0.1" - }, - "dependencies": { - "semver": { - "version": "7.4.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.4.0.tgz", - "integrity": "sha512-RgOxM8Mw+7Zus0+zcLEUn8+JfoLpj/huFTItQy2hsM4khuC1HYRDp0cU482Ewn/Fcy6bCjufD8vAj7voC66KQw==", - "optional": true, - "requires": { - "lru-cache": "^6.0.0" - } - } - } - }, - "globalthis": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", - "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", - "optional": true, - "requires": { - "define-properties": "^1.1.3" - } - }, - "got": { - "version": "11.8.6", - "resolved": "https://registry.npmjs.org/got/-/got-11.8.6.tgz", - "integrity": "sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==", - "requires": { - "@sindresorhus/is": "^4.0.0", - "@szmarczak/http-timer": "^4.0.5", - "@types/cacheable-request": "^6.0.1", - "@types/responselike": "^1.0.0", - "cacheable-lookup": "^5.0.3", - "cacheable-request": "^7.0.2", - "decompress-response": "^6.0.0", - "http2-wrapper": "^1.0.0-beta.5.2", - "lowercase-keys": "^2.0.0", - "p-cancelable": "^2.0.0", - "responselike": "^2.0.0" - } - }, - "graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" - }, - "graceful-readlink": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz", - "integrity": "sha512-8tLu60LgxF6XpdbK8OW3FA+IfTNBn1ZHGHKF4KQbEeSkajYw5PlYJcKluntgegDPTg8UkHjpet1T82vk6TQ68w==", - "dev": true - }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "optional": true, - "requires": { - "function-bind": "^1.1.1" - } - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "has-property-descriptors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", - "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", - "optional": true, - "requires": { - "get-intrinsic": "^1.1.1" - } - }, - "has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", - "optional": true - }, - "hosted-git-info": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", - "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "http-cache-semantics": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", - "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==" - }, - "http-proxy-agent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", - "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", - "dev": true, - "requires": { - "@tootallnate/once": "2", - "agent-base": "6", - "debug": "4" - } - }, - "http2-wrapper": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-1.0.3.tgz", - "integrity": "sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==", - "requires": { - "quick-lru": "^5.1.1", - "resolve-alpn": "^1.0.0" - } - }, - "https-proxy-agent": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", - "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", - "dev": true, - "requires": { - "agent-base": "6", - "debug": "4" - } - }, - "iconv-corefoundation": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/iconv-corefoundation/-/iconv-corefoundation-1.1.7.tgz", - "integrity": "sha512-T10qvkw0zz4wnm560lOEg0PovVqUXuOFhhHAkixw8/sycy7TJt7v/RrkEKEQnAw2viPSJu6iAkErxnzR0g8PpQ==", - "dev": true, - "optional": true, - "requires": { - "cli-truncate": "^2.1.0", - "node-addon-api": "^1.6.3" - } - }, - "iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "dev": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - } - }, - "ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "dev": true, - "optional": true - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "dev": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, - "is-ci": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.1.tgz", - "integrity": "sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==", - "dev": true, - "requires": { - "ci-info": "^3.2.0" - } - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true - }, - "isbinaryfile": { - "version": "4.0.10", - "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.10.tgz", - "integrity": "sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw==", - "dev": true - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true - }, - "jake": { - "version": "10.8.5", - "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.5.tgz", - "integrity": "sha512-sVpxYeuAhWt0OTWITwT98oyV0GsXyMlXCF+3L1SuafBVUIr/uILGRB+NqwkzhgXKvoJpDIpQvqkUALgdmQsQxw==", - "dev": true, - "requires": { - "async": "^3.2.3", - "chalk": "^4.0.2", - "filelist": "^1.0.1", - "minimatch": "^3.0.4" - } - }, - "js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, - "requires": { - "argparse": "^2.0.1" - } - }, - "json-buffer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==" - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", - "optional": true - }, - "json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true - }, - "jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", - "requires": { - "graceful-fs": "^4.1.6" - } - }, - "keyv": { - "version": "4.5.2", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.2.tgz", - "integrity": "sha512-5MHbFaKn8cNSmVW7BYnijeAVlE4cYA/SVkifVgrh7yotnfhKmjuXpDKjrABLnT0SfHWV21P8ow07OGfRrNDg8g==", - "requires": { - "json-buffer": "3.0.1" - } - }, - "lazy-val": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/lazy-val/-/lazy-val-1.0.5.tgz", - "integrity": "sha512-0/BnGCCfyUMkBpeDgWihanIAF9JmZhHBgUhEqzvf+adhNGLoP6TaiI5oF8oyb3I45P+PcnrqihSf01M0l0G5+Q==", - "dev": true - }, - "lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true - }, - "lowercase-keys": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", - "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==" - }, - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "devOptional": true, - "requires": { - "yallist": "^4.0.0" - } - }, - "matcher": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/matcher/-/matcher-3.0.0.tgz", - "integrity": "sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng==", - "optional": true, - "requires": { - "escape-string-regexp": "^4.0.0" - } - }, - "mime": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", - "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", - "dev": true - }, - "mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "dev": true - }, - "mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "dev": true, - "requires": { - "mime-db": "1.52.0" - } - }, - "mimic-response": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", - "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==" - }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", - "dev": true - }, - "minipass": { - "version": "4.2.8", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-4.2.8.tgz", - "integrity": "sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ==", - "dev": true - }, - "minizlib": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", - "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", - "dev": true, - "requires": { - "minipass": "^3.0.0", - "yallist": "^4.0.0" - }, - "dependencies": { - "minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - } - } - }, - "mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "dev": true - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node-addon-api": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-1.7.2.tgz", - "integrity": "sha512-ibPK3iA+vaY1eEjESkQkM0BbCqFOaZMiXRTtdB0u7b4djtY6JnsjvPdUHVMg6xQt3B8fpTTWHI9A+ADjM9frzg==", - "dev": true, - "optional": true - }, - "normalize-url": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", - "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==" - }, - "object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "optional": true - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "requires": { - "wrappy": "1" - } - }, - "p-cancelable": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz", - "integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==" - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "dev": true - }, - "path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true - }, - "pend": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", - "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==" - }, - "plist": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/plist/-/plist-3.0.6.tgz", - "integrity": "sha512-WiIVYyrp8TD4w8yCvyeIr+lkmrGRd5u0VbRnU+tP/aRLxP/YadJUYOMZJ/6hIa3oUyVCsycXvtNRgd5XBJIbiA==", - "dev": true, - "requires": { - "base64-js": "^1.5.1", - "xmlbuilder": "^15.1.1" - } - }, - "progress": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", - "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==" - }, - "pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "punycode": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", - "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", - "dev": true - }, - "quick-lru": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", - "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==" - }, - "read-config-file": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/read-config-file/-/read-config-file-6.2.0.tgz", - "integrity": "sha512-gx7Pgr5I56JtYz+WuqEbQHj/xWo+5Vwua2jhb1VwM4Wid5PqYmZ4i00ZB0YEGIfkVBsCv9UrjgyqCiQfS/Oosg==", - "dev": true, - "requires": { - "dotenv": "^9.0.2", - "dotenv-expand": "^5.1.0", - "js-yaml": "^4.1.0", - "json5": "^2.2.0", - "lazy-val": "^1.0.4" - } - }, - "require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", - "dev": true - }, - "resolve-alpn": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz", - "integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==" - }, - "responselike": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/responselike/-/responselike-2.0.1.tgz", - "integrity": "sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==", - "requires": { - "lowercase-keys": "^2.0.0" - } - }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "roarr": { - "version": "2.15.4", - "resolved": "https://registry.npmjs.org/roarr/-/roarr-2.15.4.tgz", - "integrity": "sha512-CHhPh+UNHD2GTXNYhPWLnU8ONHdI+5DI+4EYIAOaiD63rHeYlZvyh8P+in5999TTSFgUYuKUAjzRI4mdh/p+2A==", - "optional": true, - "requires": { - "boolean": "^3.0.1", - "detect-node": "^2.0.4", - "globalthis": "^1.0.1", - "json-stringify-safe": "^5.0.1", - "semver-compare": "^1.0.0", - "sprintf-js": "^1.1.2" - } - }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true - }, - "sanitize-filename": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/sanitize-filename/-/sanitize-filename-1.6.3.tgz", - "integrity": "sha512-y/52Mcy7aw3gRm7IrcGDFx/bCk4AhRh2eI9luHOQM86nZsqwiRkkq2GekHXBBD+SmPidc8i2PqtYZl+pWJ8Oeg==", - "dev": true, - "requires": { - "truncate-utf8-bytes": "^1.0.0" - } - }, - "sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", - "dev": true - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - }, - "semver-compare": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz", - "integrity": "sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==", - "optional": true - }, - "serialize-error": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-7.0.1.tgz", - "integrity": "sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw==", - "optional": true, - "requires": { - "type-fest": "^0.13.1" - } - }, - "shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "requires": { - "shebang-regex": "^3.0.0" - } - }, - "shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true - }, - "simple-update-notifier": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/simple-update-notifier/-/simple-update-notifier-1.1.0.tgz", - "integrity": "sha512-VpsrsJSUcJEseSbMHkrsrAVSdvVS5I96Qo1QAQ4FxQ9wXFcB+pjj7FB7/us9+GcgfW4ziHtYMc1J0PLczb55mg==", - "dev": true, - "requires": { - "semver": "~7.0.0" - }, - "dependencies": { - "semver": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", - "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==", - "dev": true - } - } - }, - "slice-ansi": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz", - "integrity": "sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==", - "dev": true, - "optional": true, - "requires": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" - } - }, - "smart-buffer": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", - "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", - "dev": true, - "optional": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "sprintf-js": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz", - "integrity": "sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==", - "optional": true - }, - "stat-mode": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/stat-mode/-/stat-mode-1.0.0.tgz", - "integrity": "sha512-jH9EhtKIjuXZ2cWxmXS8ZP80XyC3iasQxMDV8jzhNJpfDb7VbQLVW4Wvsxz9QZvzV+G4YoSfBUVKDOyxLzi/sg==", - "dev": true - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.1" - } - }, - "sumchecker": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/sumchecker/-/sumchecker-3.0.1.tgz", - "integrity": "sha512-MvjXzkz/BOfyVDkG0oFOtBxHX2u3gKbMHIF/dXblZsgD3BWOFLmHovIpZY7BykJdAjcqRCBi1WYBNdEC9yI7vg==", - "requires": { - "debug": "^4.1.0" - } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - }, - "tar": { - "version": "6.1.13", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.13.tgz", - "integrity": "sha512-jdIBIN6LTIe2jqzay/2vtYLlBHa3JF42ot3h1dW8Q0PaAG4v8rm0cvpVePtau5C6OKXGGcgO9q2AMNSWxiLqKw==", - "dev": true, - "requires": { - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "minipass": "^4.0.0", - "minizlib": "^2.1.1", - "mkdirp": "^1.0.3", - "yallist": "^4.0.0" - } - }, - "temp-file": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/temp-file/-/temp-file-3.4.0.tgz", - "integrity": "sha512-C5tjlC/HCtVUOi3KWVokd4vHVViOmGjtLwIh4MuzPo/nMYTV/p1urt3RnMz2IWXDdKEGJH3k5+KPxtqRsUYGtg==", - "dev": true, - "requires": { - "async-exit-hook": "^2.0.1", - "fs-extra": "^10.0.0" - }, - "dependencies": { - "fs-extra": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", - "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", - "dev": true, - "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - } - }, - "jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.6", - "universalify": "^2.0.0" - } - }, - "universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", - "dev": true - } - } - }, - "tmp": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", - "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", - "dev": true, - "requires": { - "rimraf": "^3.0.0" - } - }, - "tmp-promise": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/tmp-promise/-/tmp-promise-3.0.3.tgz", - "integrity": "sha512-RwM7MoPojPxsOBYnyd2hy0bxtIlVrihNs9pj5SUvY8Zz1sQcQG2tG1hSr8PDxfgEB8RNKDhqbIlroIarSNDNsQ==", - "dev": true, - "requires": { - "tmp": "^0.2.0" - } - }, - "truncate-utf8-bytes": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz", - "integrity": "sha512-95Pu1QXQvruGEhv62XCMO3Mm90GscOCClvrIUwCM0PYOXK3kaF3l3sIHxx71ThJfcbM2O5Au6SO3AWCSEfW4mQ==", - "dev": true, - "requires": { - "utf8-byte-length": "^1.0.1" - } - }, - "type-fest": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz", - "integrity": "sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==", - "optional": true - }, - "universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" - }, - "uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "requires": { - "punycode": "^2.1.0" - } - }, - "utf8-byte-length": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/utf8-byte-length/-/utf8-byte-length-1.0.4.tgz", - "integrity": "sha512-4+wkEYLBbWxqTahEsWrhxepcoVOJ+1z5PGIjPZxRkytcdSUaNjIjBM7Xn8E+pdSuV7SzvWovBFA54FO0JSoqhA==", - "dev": true - }, - "verror": { - "version": "1.10.1", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.1.tgz", - "integrity": "sha512-veufcmxri4e3XSrT0xwfUR7kguIkaxBeosDg00yDWhk49wdwkSUrvvsm7nc75e1PUyvIeZj6nS8VQRYz2/S4Xg==", - "dev": true, - "optional": true, - "requires": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" - } - }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - }, - "wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" - }, - "xmlbuilder": { - "version": "15.1.1", - "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-15.1.1.tgz", - "integrity": "sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg==", - "dev": true - }, - "y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "devOptional": true - }, - "yargs": { - "version": "17.7.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.1.tgz", - "integrity": "sha512-cwiTb08Xuv5fqF4AovYacTFNxk62th7LKJ6BL9IGUpTJrWoU7/7WdQGTP2SjKf1dUNBGzDd28p/Yfs/GI6JrLw==", - "dev": true, - "requires": { - "cliui": "^8.0.1", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" - } - }, - "yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "dev": true - }, - "yauzl": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", - "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", - "requires": { - "buffer-crc32": "~0.2.3", - "fd-slicer": "~1.1.0" - } - } - } -} From 44af1463d66683f9241d2199d86e71dfb039a7c3 Mon Sep 17 00:00:00 2001 From: Petter Amland Date: Tue, 10 Oct 2023 11:19:45 +0200 Subject: [PATCH 11/16] Delete otosopp/package.json --- otosopp/package.json | 27 --------------------------- 1 file changed, 27 deletions(-) delete mode 100644 otosopp/package.json diff --git a/otosopp/package.json b/otosopp/package.json deleted file mode 100644 index 1c4c690..0000000 --- a/otosopp/package.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "name": "otosopp", - "version": "1.0.0", - "description": "drawing program", - "main": "main.js", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1", - "start": "electron .", - "build": "electron-builder" - }, - "author": "Petter Amland", - "build": { - "appId": "com.otosopp.app", - "productName": "otosopp", - "directories": { - "output": "dist" - }, - "linux": { - "target": "AppImage", - "icon": "otosopp_icon.png" - } - }, - "devDependencies": { - "electron": "^24.1.1", - "electron-builder": "^23.6.0" - } -} From 782a78f34e82ce81e8ea593d23966aa1043dadb8 Mon Sep 17 00:00:00 2001 From: pokepetter Date: Tue, 17 Oct 2023 23:35:23 +0200 Subject: [PATCH 12/16] ... --- cmyk_swap/cmyk_swap.html | 204 +++++++++++++++++++++++++++------------ taptapir | 2 +- 2 files changed, 143 insertions(+), 63 deletions(-) diff --git a/cmyk_swap/cmyk_swap.html b/cmyk_swap/cmyk_swap.html index 0195c16..3217b3d 100644 --- a/cmyk_swap/cmyk_swap.html +++ b/cmyk_swap/cmyk_swap.html @@ -7,9 +7,9 @@ set_background_color("#111111") set_window_color("#222") -SCORE = int(save_system_load('score')) -if not Number.isInteger(SCORE): - SCORE = 0 +SCORE = save_system_load('score') +BLACK_COINS = save_system_load('black_coins') +GREEN_COINS = save_system_load('green_coins') slots = [] draggables = [] @@ -101,16 +101,31 @@ goto_next_level() -score_counter = Button(y=(.5*aspect_ratio)-.1, text=SCORE, origin=[0,0], text_color=color.white, color=color.clear, z=-10) +score_counter = Button(y=(.5*aspect_ratio)-.1, text=`๐Ÿช™ ${SCORE}`, origin=[0,0], text_color=color.white, color=color.clear, z=-10) score_counter.fit_to_text() + win_text = Entity(text='Yay! :D', enabled=False, text_origin=[0,0], scale=[.25,.125], color=color.white, shadow=True, margin=10, roundness=.4, z=-3) def set_score(value): value = max(value, 0) SCORE = value - score_counter.text= SCORE + score_counter.text= `๐Ÿช™ ${SCORE}` save_system_save('score', SCORE) +def set_black_coins(value): + value = max(value, 0) + BLACK_COINS = value + black_coin_counter.text = `โšซ ${BLACK_COINS}` + save_system_save('black_coins', BLACK_COINS) + +def set_green_coins(value): + value = max(value, 0) + GREEN_COINS = value + green_coin_counter.text = `๐ŸŸข ${GREEN_COINS}` + save_system_save('green_coins', GREEN_COINS) + + + def win(): win_text.enabled = True set_score(SCORE + 1) @@ -131,6 +146,41 @@ mouse.velocity = [mouse.position[0]-mouse.prev_pos[0], mouse.position[1]-mouse.prev_pos[1]] +sunsnake.define(*button_style, color=hsv(0,0,.12), text_color=hsv(0,.0,.9), shadow=True) + +share_icon = Button(text='๐Ÿงพ', position=[.5-.05,(.5*aspect_ratio)-.1, -1], origin=[.5,-.0], scale=[.1,.075], roundness=.5, text_size=2, color=hsv(0,0,.2), on_click=def():share_menu.enabled=True) +share_menu = Entity(parent=camera.ui, visible_self=False, enabled=False, position=[share_icon.x, share_icon.y-.05, -10]) +share_menu_text = Button(parent=share_menu, font='monospace', text_size=2, origin=[.5,.5], z=-1, scale=[.6,.9], color=color.black, shadow=True, text_origin=[-.5,.5], padding=1, roundness=.1, text_color=hsv(0,0,.9)) +share_menu.on_enable = def(): + share_menu_text.text = ``` + CMYK Swap + โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€” + score + 8 1 7 + โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€” + Ink Dispenser lvl. + โ–ข โ–ข โ–ฃ โ–ข โ–ข โ–ข + โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€” + G Cartridge lvl. + โ–ฃ โ–ข โ–ข โ–ข โ–ข + โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€” + Tile Skins + โ–ฃ โ–ข โ–ข โ–ฃ โ–ฃ โ–ข โ–ฃ + โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€” + Backgrounds + โ–ฃ โ–ข โ–ข โ–ฃ โ–ฃ โ–ข โ–ฃ + โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€” + ``` +# share_menu_text.model.style.lineHeight = '.75em' +# share_menu_text.model.style.fontFamily = 'monospace' +share_menu.bg = Entity(parent=share_menu, scale=10, color=hsv(0,0,.05), alpha=.99, ignore_collision=False, on_click=def():share_menu.enabled=False) +share_menu.copy_button = Button(*button_style, parent=share_menu_text, z=-2, text='Copy', scale=[1,.125], roundness=.2, x=-.6, y=-1., enabled=1) +share_menu.copy_button.on_click = copy_to_clipboard = def(): + navigator.clipboard.writeText(share_menu_text.text) + +share_menu.enabled = 1 +# print('-------', share_menu.copy_button.enabled) + shop_icon = Button(text=' ๐Ÿ’ผ ', position=[-.5+.05,(.5*aspect_ratio)-.1], origin=[-.5,-.0], scale=[.1,.075], roundness=.5, text_size=2, color=hsv(0,0,.2), on_click=def():menu.enabled=True) def grid_layout(l=[], max_x=5, spacing=[1.1,1.1], offset=[0,0]): @@ -157,21 +207,12 @@ menu_handler.state = 'shop' -items = ['chest', '1 point'] - - shop_menu = Entity(visible_self=False, parent=menu, xy=[-.27,.5]) -opening_parent = Entity(parent=camera.ui, z=-2, visible_self=False, enabled=False) -opening_bg = Entity(parent=opening_parent, color=hsv(300,.5,.1), target_alpha=.9, scale=2, ignore_collision=False, on_click=def():print('a')) -opening_frame = Entity(parent=opening_parent, z=-1, color=hsv(0,0,.2), alpha=.5, scale=.9, shadow=True, roundness=.02, y=.15) - -opening_parent.on_enable = def(): - opening_bg.alpha = 1 - opening_bg.animate('alpha', opening_bg.target_alpha, duration=.1) - opening_parent.continue_button.enabled = False - # opening_frame.appear('scale') ## TODO: fix bug - +black_coin_counter = Button(parent=menu, y=(.5*aspect_ratio)-.2, text=`โšซ ${BLACK_COINS}`, origin=[.5,0], text_color=color.white, color=color.clear, z=-10, x=-.1) +black_coin_counter.fit_to_text() +green_coin_counter = Button(parent=menu, y=(.5*aspect_ratio)-.2, text=`๐ŸŸข ${GREEN_COINS}`, origin=[-.5,0], text_color=color.white, color=color.clear, z=-10, x=.1) +green_coin_counter.fit_to_text() Entity.prototype['appear'] = function(anim_type, duration=.2): entity = this @@ -190,7 +231,18 @@ entity.animate('scale_y', org_scale_y, duration=.2) return -sunsnake.define(*button_style, color=hsv(0,0,.12), text_color=hsv(0,.0,.9), shadow=True) + +opening_parent = Entity(parent=camera.ui, z=-2, visible_self=False, enabled=False) +opening_bg = Entity(parent=opening_parent, color=hsv(300,.5,.1), target_alpha=.9, scale=2, ignore_collision=False, on_click=def():print('a')) +opening_frame = Entity(parent=opening_parent, z=-1, color=hsv(0,0,.2), alpha=.5, scale=.9, shadow=True, roundness=.02, y=.15) + +opening_parent.on_enable = def(): + opening_bg.alpha = 1 + opening_bg.animate('alpha', opening_bg.target_alpha, duration=.1) + opening_parent.continue_button.enabled = False + opening_frame.appear('scale', duration=.1) + + opening_parent.continue_button = Button(parent=opening_parent, z=-1, *button_style, text='Continue', scale=[.5,.15], roundness=.2, y=-.45, enabled=False) opening_parent.continue_button.on_enable = def(): @@ -247,6 +299,11 @@ set_score(SCORE+card.value) else: + if card.value == 'Black\nCoin': + set_black_coins(BLACK_COINS+1) + elif card.value == 'Green\nCoin': + set_green_coins(GREEN_COINS+1) + print('GOT ITEM:', card.value) card.ignore_collision = True @@ -257,17 +314,49 @@ sunsnake.define(*ShopButton(, Button(parent=shop_menu, scale=[.36,.2], origin=[-.5,.5], color=color.black, text_color=color.light_gray, text_size=2, cost=1, ) -items = [ -[40, 20%, 'frame.png'], -[30, 20%, 'frame.png'], -[10, 20%, 'frame.png'], -[50, 20%, 'frame.png'], -[100, 5%, 'frame_gold.png'] +lucky_bag_items = [ + [20, 20%, 'frame.png'], + [15, 20%, 'frame.png'], + [5, 20%, 'frame.png'], + [25, 20%, 'frame.png'], + [50, 5%, 'frame_gold.png'] +] +black_box_items = [ + [100, 20%, 'frame.png'], + [150, 20%, 'frame.png'], + [50, 20%, 'frame.png'], + [25, 20%, 'frame.png'], + ['Black\nCoin', 5%, 'frame_2.png'], + [0, 100%, 'frame.png'] +] +green_box_items = [ + [50, 20%, 'frame.png'], + [100, 20%, 'frame.png'], + [200, 20%, 'frame.png'], + [250, 10%, 'frame.png'], + ['Green\nCoin', 5%, 'frame_2.png'], + [0, 100%, 'frame.png'] ] # ['Green \nCartridge', 3%, 'frame_2.png'], -bag_button = *ShopButton(text='Bag\n\n๐Ÿช™ 100', cost=100, on_click=def():open_loot_box(cost=100, num=3, items=items)) +bag_button = *ShopButton(text='Lucky Bag\n\n๐Ÿช™ 50', on_click=def():open_loot_box(cost=50, num=3, items=lucky_bag_items)) + +watch_ad_button = *ShopButton(text='+๐Ÿช™ 20\n\nWatch AD', cost=0) +watch_ad_button.on_click = def(): + # Android.startRewardVideoAndroidFunction(paramFromJS) + set_score(SCORE+20) + update_shop() + +black_box = *ShopButton(text='Black Box\n\n๐Ÿช™ 500', cost=500, on_click=def():open_loot_box(cost=500, num=3, items=black_box_items)) +green_box = *ShopButton(text='Green Box\n\n๐Ÿช™ 600', cost=600, on_click=def():open_loot_box(cost=600, num=3, items=green_box_items)) + +sell_green_coin_button = *ShopButton(text='+๐Ÿช™ 100\n\n๐ŸŸข 1', cost=GreenCoin(1)) +sell_green_coin_button.on_click = def(): + open_loot_box(cost=sell_green_coin_button.cost, num=3, items=green_box_items) +# b = *ShopButton(text='Skin Chest\n\n๐Ÿช™ 2000', cost=2000) +# b = *ShopButton(text='Background Chest\n\n๐Ÿช™ 2000', cost=2000) + def open_loot_box(cost, num, items): print('bought for', cost) @@ -294,6 +383,7 @@ card.active_color = color.gray card.front_texture = 'frame.png' for e in items: + print('-----', e) item = e[0] chance = e[1] tex = e[2] @@ -304,8 +394,6 @@ card.front_texture = tex break - - after i*.2: card.enabled = True card.animate('y', card.target_y) @@ -317,18 +405,10 @@ # b = *ShopButton(text='Daily Reward\n\n๐Ÿช™ 0', cost=0) # -# b = *ShopButton(text='Chest\n\n๐Ÿช™ 500', cost=500) -# b = *ShopButton(text='Big Chest\n\n๐Ÿช™ 1000', cost=1000) -# b = *ShopButton(text='Item Chest\n\n๐Ÿช™ 2000', cost=2000) -# b = *ShopButton(text='Skin Chest\n\n๐Ÿช™ 2000', cost=2000) -# + # b = *ShopButton(text='Green Cartridge\n\n๐Ÿช™ 10000', cost=10_000, amount=1) # b = *ShopButton(text='Random Skin\n\n๐Ÿช™ 10000', cost=10_000, amount=4) # b = *ShopButton(text='Random\nBackground\n\n๐Ÿช™ 10000', cost=10_000, amount=4) -watch_ad_button = *ShopButton(text='+๐Ÿช™ 20\n\nWatch AD', cost=0) -watch_ad_button.on_click = def(): - set_score(SCORE+20) - update_shop() grid_layout(l=shop_menu.children, max_x=2, spacing=[1.05,1.1]) shop_menu.on_enable = def(): @@ -357,31 +437,31 @@ e.shadow = True -# unlocks_menu = Entity(parent=menu, visible_self=False, xy=[-.145,.5]) -# items = [ -# ['Ink Dispenser'], -# ['G Cartridge', 'โ€ฐ chance of spawning green slot'], -# ['B Cartridge', 'โ€ฐ chance of spawning black slot'], -# ] -# gradient = [hsv(150+(i*40), .8, .7) for i in range(5)] -# for y, e in items: -# y_pos = (-y*.2*1.1) -.05 -# title = Button(parent=unlocks_menu, scale=[.8,.1], origin=[-.5,.5], color=color.clear, text_color=hsv(0,0,.9), text_size=2, x=-.125, y=y_pos+.08, text=`${items[y][0]}`, roundness=.25, text_origin=[-.5,-.5]) -# description = Button(parent=unlocks_menu, scale=[.8,.1], origin=[-.5,.5], color=color.clear, text_color=hsv(0,0,.6), text_size=1.5, x=-.125, y=y_pos+.05, text=`${items[y][1]}`, roundness=.25, text_origin=[-.5,-.5]) -# let bar = RainbowSlider(parent=unlocks_menu, min=0, max=5, xy=[.14,y_pos-.075], scale=[.525,.03], show_text=True, text_size=1.5, color=hsv(0,0,.03), gradient=gradient) -# upgrade_button = Button(parent=unlocks_menu, scale=[.2,.125], origin=[.5,-.5], color=hsv(0,0,.12), text_color=color.light_gray, text_size=2, x=.5+.115, y=y_pos-.1, text=`Upgrade\n๐Ÿช™ 500`, roundness=.25, shadow=True) -# upgrade_button.on_click = def(): -# bar.value += 1 -# -# # for x, cost in [1_000, 2_000, 4_000, 8_000, 16_000]: -# # _ = UnlockButton(text=`+0.1%\n\n๐Ÿช™ ${cost}`, cost=cost, x=x*.12, y=-y*.2*1.1) -# -# skins_menu = Entity(visible_self=1) -# +unlocks_menu = Entity(parent=menu, visible_self=False, xy=[-.145,.5]) +upgrades = [ + ['Ink Dispenser', '% chance og spawning extra ink'], + ['G Cartridge', '% chance of spawning green slot'], + ['B Cartridge', '% chance of spawning black slot'], +] +gradient = [hsv(150+(i*40), .8, .7) for i in range(5)] +for y, e in upgrades: + y_pos = (-y*.2*1.1) -.05 + title = Button(parent=unlocks_menu, scale=[.8,.1], origin=[-.5,.5], color=color.clear, text_color=hsv(0,0,.9), text_size=2, x=-.125, y=y_pos+.08, text=`${upgrades[y][0]}`, roundness=.25, text_origin=[-.5,-.5]) + description = Button(parent=unlocks_menu, scale=[.8,.1], origin=[-.5,.5], color=color.clear, text_color=hsv(0,0,.6), text_size=1.5, x=-.125, y=y_pos+.05, text=`${upgrades[y][1]}`, roundness=.25, text_origin=[-.5,-.5]) + let bar = RainbowSlider(parent=unlocks_menu, min=0, max=5, xy=[.14,y_pos-.075], scale=[.525,.03], show_text=True, text_size=1.5, color=hsv(0,0,.03), gradient=gradient) + upgrade_button = Button(parent=unlocks_menu, scale=[.2,.125], origin=[.5,-.5], color=hsv(0,0,.12), text_color=color.light_gray, text_size=2, x=.5+.115, y=y_pos-.1, text=`Upgrade\n๐Ÿช™ 500`, roundness=.25, shadow=True) + upgrade_button.on_click = def(): + bar.value += 1 + + # for x, cost in [1_000, 2_000, 4_000, 8_000, 16_000]: + # _ = UnlockButton(text=`+0.1%\n\n๐Ÿช™ ${cost}`, cost=cost, x=x*.12, y=-y*.2*1.1) + +skins_menu = Entity(parent=menu, visible_self=False) + tab_parent = Entity(parent=menu, visible_self=False, xy=[-.4,.4]) sunsnake.define(TabButton(, ) -# for key, value in enumerate({'shop':shop_menu, 'unlocks':unlocks_menu, 'skins':skins_menu, 'backgrounds':skins_menu}): -for key, value in enumerate({'shop':shop_menu, }): +for key, value in enumerate({'shop':shop_menu, 'unlocks':unlocks_menu, 'skins':skins_menu, 'backgrounds':skins_menu}): +# for key, value in enumerate({'shop':shop_menu, }): let button = Button(parent=tab_parent, scale=.1, color=.12, text_color=hsv(0,0,.9), text_size=1.5, rotation=45, text=key) button.on_click = def(): menu_handler.state = value @@ -397,8 +477,8 @@ grid_layout(tab_parent.children, max_x=1, spacing=[1,2.2], offset=[0,0]) -# states = {'shop':shop_menu, 'unlocks':unlocks_menu, 'skins':skins_menu} -states = {'shop':shop_menu} +states = {'shop':shop_menu, 'unlocks':unlocks_menu, 'skins':skins_menu} +# states = {'shop':shop_menu} menu_handler = StateHandler(states=states, fade=False) menu_handler.state = None diff --git a/taptapir b/taptapir index a745ff3..ae08b57 160000 --- a/taptapir +++ b/taptapir @@ -1 +1 @@ -Subproject commit a745ff33fdf3201f759dc0139bd95736e81644f2 +Subproject commit ae08b57481d504062269bc0c4510e8c820f119a7 From f9fa26fc2ca56509cb8cf4443d5d8401aff8963e Mon Sep 17 00:00:00 2001 From: pokepetter Date: Thu, 19 Oct 2023 00:46:49 +0200 Subject: [PATCH 13/16] ... --- cmyk_swap/cmyk_swap.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmyk_swap/cmyk_swap.html b/cmyk_swap/cmyk_swap.html index 3217b3d..97f0270 100644 --- a/cmyk_swap/cmyk_swap.html +++ b/cmyk_swap/cmyk_swap.html @@ -351,7 +351,7 @@ black_box = *ShopButton(text='Black Box\n\n๐Ÿช™ 500', cost=500, on_click=def():open_loot_box(cost=500, num=3, items=black_box_items)) green_box = *ShopButton(text='Green Box\n\n๐Ÿช™ 600', cost=600, on_click=def():open_loot_box(cost=600, num=3, items=green_box_items)) -sell_green_coin_button = *ShopButton(text='+๐Ÿช™ 100\n\n๐ŸŸข 1', cost=GreenCoin(1)) +sell_green_coin_button = *ShopButton(text='+๐Ÿช™ 100\n\n๐ŸŸข 1', cost={'green_coin':1}) sell_green_coin_button.on_click = def(): open_loot_box(cost=sell_green_coin_button.cost, num=3, items=green_box_items) # b = *ShopButton(text='Skin Chest\n\n๐Ÿช™ 2000', cost=2000) From 3c9afbc396cb3c538ba1023fcf4d70888248f4b1 Mon Sep 17 00:00:00 2001 From: pokepetter Date: Sun, 28 Jan 2024 14:31:46 +0100 Subject: [PATCH 14/16] fixed dlete bug. --- todo/todo_list.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/todo/todo_list.html b/todo/todo_list.html index c584cb6..5704d96 100644 --- a/todo/todo_list.html +++ b/todo/todo_list.html @@ -82,7 +82,7 @@ pages[page_index][i][1] = e.slider.value e.delete_button = *Button(parent=e, color='#eeeeee', scale=[.08/e.scale_x,.08/e.scale_y], origin=[.5,0], x=.5-.01, text='โœ•', text_size=1.5, shadow=None) - e.delete_button.on_click = def(): + e.delete_button.on_click = def delete_entry(e=e): confirm_delete_button.parent = e.delete_button confirm_delete_button.xy = [0,0] confirm_delete_button.enabled = True From 3b3831316ff841d5437d8eb179e4f9c7a72f905f Mon Sep 17 00:00:00 2001 From: pokepetter Date: Thu, 16 May 2024 10:19:12 +0200 Subject: [PATCH 15/16] cmyk swap work. --- cmyk_swap/cmyk_swap.html | 210 +++++++++++++++++++++++++++------------ 1 file changed, 146 insertions(+), 64 deletions(-) diff --git a/cmyk_swap/cmyk_swap.html b/cmyk_swap/cmyk_swap.html index 97f0270..c709516 100644 --- a/cmyk_swap/cmyk_swap.html +++ b/cmyk_swap/cmyk_swap.html @@ -148,38 +148,38 @@ sunsnake.define(*button_style, color=hsv(0,0,.12), text_color=hsv(0,.0,.9), shadow=True) -share_icon = Button(text='๐Ÿงพ', position=[.5-.05,(.5*aspect_ratio)-.1, -1], origin=[.5,-.0], scale=[.1,.075], roundness=.5, text_size=2, color=hsv(0,0,.2), on_click=def():share_menu.enabled=True) -share_menu = Entity(parent=camera.ui, visible_self=False, enabled=False, position=[share_icon.x, share_icon.y-.05, -10]) -share_menu_text = Button(parent=share_menu, font='monospace', text_size=2, origin=[.5,.5], z=-1, scale=[.6,.9], color=color.black, shadow=True, text_origin=[-.5,.5], padding=1, roundness=.1, text_color=hsv(0,0,.9)) -share_menu.on_enable = def(): - share_menu_text.text = ``` - CMYK Swap - โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€” - score - 8 1 7 - โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€” - Ink Dispenser lvl. - โ–ข โ–ข โ–ฃ โ–ข โ–ข โ–ข - โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€” - G Cartridge lvl. - โ–ฃ โ–ข โ–ข โ–ข โ–ข - โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€” - Tile Skins - โ–ฃ โ–ข โ–ข โ–ฃ โ–ฃ โ–ข โ–ฃ - โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€” - Backgrounds - โ–ฃ โ–ข โ–ข โ–ฃ โ–ฃ โ–ข โ–ฃ - โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€” - ``` -# share_menu_text.model.style.lineHeight = '.75em' -# share_menu_text.model.style.fontFamily = 'monospace' -share_menu.bg = Entity(parent=share_menu, scale=10, color=hsv(0,0,.05), alpha=.99, ignore_collision=False, on_click=def():share_menu.enabled=False) -share_menu.copy_button = Button(*button_style, parent=share_menu_text, z=-2, text='Copy', scale=[1,.125], roundness=.2, x=-.6, y=-1., enabled=1) -share_menu.copy_button.on_click = copy_to_clipboard = def(): - navigator.clipboard.writeText(share_menu_text.text) - -share_menu.enabled = 1 -# print('-------', share_menu.copy_button.enabled) +# share_icon = Button(text='๐Ÿงพ', position=[.5-.05,(.5*aspect_ratio)-.1, -1], origin=[.5,-.0], scale=[.1,.075], roundness=.5, text_size=2, color=hsv(0,0,.2), on_click=def():share_menu.enabled=True) +# share_menu = Entity(parent=camera.ui, visible_self=False, enabled=False, position=[share_icon.x, share_icon.y-.05, -10]) +# share_menu_text = Button(parent=share_menu, font='monospace', text_size=2, origin=[.5,.5], z=-1, scale=[.6,.9], color=color.black, shadow=True, text_origin=[-.5,.5], padding=1, roundness=.1, text_color=hsv(0,0,.9)) +# share_menu.on_enable = def(): +# share_menu_text.text = ``` +# CMYK Swap +# โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€” +# score +# 8 1 7 +# โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€” +# Ink Dispenser lvl. +# โ–ข โ–ข โ–ฃ โ–ข โ–ข โ–ข +# โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€” +# G Cartridge lvl. +# โ–ฃ โ–ข โ–ข โ–ข โ–ข +# โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€” +# Tile Skins +# โ–ฃ โ–ข โ–ข โ–ฃ โ–ฃ โ–ข โ–ฃ +# โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€” +# Backgrounds +# โ–ฃ โ–ข โ–ข โ–ฃ โ–ฃ โ–ข โ–ฃ +# โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€” +# ``` +# # share_menu_text.model.style.lineHeight = '.75em' +# # share_menu_text.model.style.fontFamily = 'monospace' +# share_menu.bg = Entity(parent=share_menu, scale=10, color=hsv(0,0,.05), alpha=.99, ignore_collision=False, on_click=def():share_menu.enabled=False) +# share_menu.copy_button = Button(*button_style, parent=share_menu_text, z=-2, text='Copy', scale=[1,.125], roundness=.2, x=-.6, y=-1., enabled=1) +# share_menu.copy_button.on_click = copy_to_clipboard = def(): +# navigator.clipboard.writeText(share_menu_text.text) +# +# share_menu.enabled = 1 +# # print('-------', share_menu.copy_button.enabled) shop_icon = Button(text=' ๐Ÿ’ผ ', position=[-.5+.05,(.5*aspect_ratio)-.1], origin=[-.5,-.0], scale=[.1,.075], roundness=.5, text_size=2, color=hsv(0,0,.2), on_click=def():menu.enabled=True) @@ -251,7 +251,7 @@ opening_bg.animate('alpha', 0, duration=.1) after .1: opening_parent.enabled = False - update_shop() + refresh_shop() @@ -313,7 +313,7 @@ e.target_y = e.y -sunsnake.define(*ShopButton(, Button(parent=shop_menu, scale=[.36,.2], origin=[-.5,.5], color=color.black, text_color=color.light_gray, text_size=2, cost=1, ) +sunsnake.define(*ShopButton(, Button(parent=shop_menu, scale=[.36,.2], origin=[-.5,.5], color=color.black, text_color=color.light_gray, text_size=2, ) lucky_bag_items = [ [20, 20%, 'frame.png'], [15, 20%, 'frame.png'], @@ -338,22 +338,37 @@ [0, 100%, 'frame.png'] ] -# ['Green \nCartridge', 3%, 'frame_2.png'], - -bag_button = *ShopButton(text='Lucky Bag\n\n๐Ÿช™ 50', on_click=def():open_loot_box(cost=50, num=3, items=lucky_bag_items)) - -watch_ad_button = *ShopButton(text='+๐Ÿช™ 20\n\nWatch AD', cost=0) -watch_ad_button.on_click = def(): - # Android.startRewardVideoAndroidFunction(paramFromJS) - set_score(SCORE+20) - update_shop() - -black_box = *ShopButton(text='Black Box\n\n๐Ÿช™ 500', cost=500, on_click=def():open_loot_box(cost=500, num=3, items=black_box_items)) -green_box = *ShopButton(text='Green Box\n\n๐Ÿช™ 600', cost=600, on_click=def():open_loot_box(cost=600, num=3, items=green_box_items)) - -sell_green_coin_button = *ShopButton(text='+๐Ÿช™ 100\n\n๐ŸŸข 1', cost={'green_coin':1}) +lucky_bag_cost = ['gold', 50] +bag_button = *ShopButton(text='Lucky Bag\n\n๐Ÿช™ 50', cost=lucky_bag_cost) +bag_button.on_click = def(): + open_loot_box(cost=lucky_bag_cost[1], num=3, items=lucky_bag_items) + +# cost = ['gold', 0] +# watch_ad_button = *ShopButton(text='+๐Ÿช™ 20\n\nWatch AD', cost=cost) +# watch_ad_button.on_click = def(): +# # Android.startRewardVideoAndroidFunction(paramFromJS) +# set_score(SCORE+20) +# refresh_shop() + +black_box_cost = ['gold', 500] +black_box = *ShopButton(text=`Black Box\n\n๐Ÿช™ ${black_box_cost[1]}`, cost=black_box_cost) +black_box.on_click = def(): + open_loot_box(cost=black_box_cost[1], num=3, items=black_box_items) + +green_box_cost = ['gold', 600] +green_box = *ShopButton(text=`Green Box\n\n๐Ÿช™ ${green_box_cost[1]}`, cost=green_box_cost) +green_box.on_click = def(): + open_loot_box(cost=green_box_cost[1], num=3, items=green_box_items) + +sell_green_coin_cost = ['green_coin', 1] +sell_green_coin_button = *ShopButton(text='Gain +๐Ÿช™ 100\n\n๐ŸŸข 1', cost=sell_green_coin_cost) sell_green_coin_button.on_click = def(): - open_loot_box(cost=sell_green_coin_button.cost, num=3, items=green_box_items) + if GREEN_COINS <= 0: + return + set_green_coins(GREEN_COINS - sell_green_coin_cost[1]) + set_score(SCORE + 100) + refresh_shop() + # b = *ShopButton(text='Skin Chest\n\n๐Ÿช™ 2000', cost=2000) # b = *ShopButton(text='Background Chest\n\n๐Ÿช™ 2000', cost=2000) @@ -399,8 +414,8 @@ card.animate('y', card.target_y) - update_shop() - # update_shop() + refresh_shop() + # refresh_shop() # bag_button.on_click() # b = *ShopButton(text='Daily Reward\n\n๐Ÿช™ 0', cost=0) @@ -418,14 +433,17 @@ e.x += .2 + (i*.05) e.animate('x', e.original_x, duration=.005+(.05*i)) - update_shop() + refresh_shop() -def update_shop(): +def refresh_shop(): print('update shop') for e in shop_menu.children: # e.ignore_collision = SCORE < e.cost or e.cost <= 0 e.model.style.outline = `medium ${color_names[i]}` - if e.cost > SCORE: + currency = e.cost[0] + amount = e.cost[1] + print('------------updates shop', currency, amount, GREEN_COINS) + if (currency == 'gold' and amount > SCORE) or (currency == 'green_coin' and amount > GREEN_COINS): e.text_color = hsv(0,0,.3) e.color = hsv(0,0,.03) e.ignore_collision = True @@ -438,20 +456,65 @@ unlocks_menu = Entity(parent=menu, visible_self=False, xy=[-.145,.5]) -upgrades = [ - ['Ink Dispenser', '% chance og spawning extra ink'], - ['G Cartridge', '% chance of spawning green slot'], - ['B Cartridge', '% chance of spawning black slot'], +upgrade_panel_data = [ + {'title':'Ink Dispenser', 'description':'% chance og spawning extra ink', 'varname':'extra_ink_chance', 'slider':None, 'button':None}, + {'title':'G Cartridge', 'description':'% chance of spawning green slot', 'varname':'green_slot_chance', 'slider':None, 'button':None}, + {'title':'B Cartridge', 'description':'% chance of spawning black slot', 'varname':'black_slot_chance', 'slider':None, 'button':None}, ] gradient = [hsv(150+(i*40), .8, .7) for i in range(5)] -for y, e in upgrades: +UPGRADES = { + 'extra_ink_chance' : save_system_load('extra_ink_chance', 1), + 'green_slot_chance' : save_system_load('green_slot_chance', 1), + 'black_slot_chance' : save_system_load('black_slot_chance', 1), +} + +upgrade_costs = [0, 500, 1000, 2000, 5000] + +for y, data in upgrade_panel_data: y_pos = (-y*.2*1.1) -.05 - title = Button(parent=unlocks_menu, scale=[.8,.1], origin=[-.5,.5], color=color.clear, text_color=hsv(0,0,.9), text_size=2, x=-.125, y=y_pos+.08, text=`${upgrades[y][0]}`, roundness=.25, text_origin=[-.5,-.5]) - description = Button(parent=unlocks_menu, scale=[.8,.1], origin=[-.5,.5], color=color.clear, text_color=hsv(0,0,.6), text_size=1.5, x=-.125, y=y_pos+.05, text=`${upgrades[y][1]}`, roundness=.25, text_origin=[-.5,-.5]) - let bar = RainbowSlider(parent=unlocks_menu, min=0, max=5, xy=[.14,y_pos-.075], scale=[.525,.03], show_text=True, text_size=1.5, color=hsv(0,0,.03), gradient=gradient) - upgrade_button = Button(parent=unlocks_menu, scale=[.2,.125], origin=[.5,-.5], color=hsv(0,0,.12), text_color=color.light_gray, text_size=2, x=.5+.115, y=y_pos-.1, text=`Upgrade\n๐Ÿช™ 500`, roundness=.25, shadow=True) - upgrade_button.on_click = def(): + + title = Button(parent=unlocks_menu, scale=[.8,.1], origin=[-.5,.5], color=color.clear, text_color=hsv(0,0,.9), text_size=2, x=-.125, y=y_pos+.08, text=`${data['title']}`, roundness=.25, text_origin=[-.5,-.5], on_click=def():refresh_upgrade_menu()) + description = Button(parent=unlocks_menu, scale=[.8,.1], origin=[-.5,.5], color=color.clear, text_color=hsv(0,0,.6), text_size=1.5, x=-.125, y=y_pos+.05, text=`${data['description']}`, roundness=.25, text_origin=[-.5,-.5]) + let bar = RainbowSlider(parent=unlocks_menu, min=0, max=5, xy=[.14,y_pos-.075], scale=[.525,.03], show_text=True, text_size=1.5, color=hsv(0,0,.03), gradient=gradient, default=save_system_load(data['varname'], 1)) + upgrade_panel_data[y]['slider'] = bar + + let upgrade_button = Button(parent=unlocks_menu, scale=[.2,.125], origin=[.5,-.5], color=hsv(0,0,.12), text_color=color.light_gray, text_size=2, x=.5+.115, y=y_pos-.1, text=`Upgrade\n๐Ÿช™ 500`, roundness=.25, shadow=True) + upgrade_panel_data[y]['button'] = upgrade_button + upgrade_button.on_click = def upgrade(varname=data['varname']): + current_level = UPGRADES[data['varname']] + cost = upgrade_costs[current_level] + print(current_level, cost, bar.value) + + if SCORE < cost or bar.value >= 5: + return + + set_score(SCORE - cost) + UPGRADES[varname] += 1 + save_system_save(varname, UPGRADES[varname]) bar.value += 1 + refresh_upgrade_menu() + + +def refresh_upgrade_menu(): + for data in upgrade_panel_data: + current_level = UPGRADES[data['varname']] + upgrade_cost = upgrade_costs[current_level] + data['slider'].value = current_level + data['button'].text = `Upgrade\n๐Ÿช™ ${upgrade_cost}` + print('---refresh_upgrade_menu-', current_level, data['slider'].value, SCORE, SCORE < upgrade_costs[current_level]) + + if current_level >= 5 or SCORE < upgrade_cost: + data['button'].text_color = hsv(0,0,.3) + data['button'].color = hsv(0,0,.03) + data['button'].ignore_collision = True + data['button'].shadow = False + else: + data['button'].color = hsv(0,0,.12) + data['button'].text_color = hsv(40,.0,.9) + data['button'].ignore_collision = False + data['button'].shadow = True + +refresh_upgrade_menu() # for x, cost in [1_000, 2_000, 4_000, 8_000, 16_000]: # _ = UnlockButton(text=`+0.1%\n\n๐Ÿช™ ${cost}`, cost=cost, x=x*.12, y=-y*.2*1.1) @@ -506,6 +569,25 @@ # achievements # share score + +def input(key): + if key == 'u': + set_score(SCORE + 100) + refresh_shop() + refresh_upgrade_menu() + if key == 'r': + set_score(0) + save_system_save('extra_ink_chance', 1) + save_system_save('green_slot_chance', 1) + save_system_save('black_slot_chance', 1) + refresh_shop() + refresh_upgrade_menu() + if key == 'g': + set_green_coins(GREEN_COINS + 1) + refresh_shop() + refresh_upgrade_menu() + + From cffa08e11a6609534669d7f8ff31f0ad925b9a5c Mon Sep 17 00:00:00 2001 From: pokepetter Date: Thu, 16 May 2024 21:33:48 +0200 Subject: [PATCH 16/16] cmyk swap: added chance of spawning extra gold giving +100. --- cmyk_swap/cmyk_swap.html | 52 +++++++++++++++++++++++++--------------- 1 file changed, 33 insertions(+), 19 deletions(-) diff --git a/cmyk_swap/cmyk_swap.html b/cmyk_swap/cmyk_swap.html index c709516..c99f482 100644 --- a/cmyk_swap/cmyk_swap.html +++ b/cmyk_swap/cmyk_swap.html @@ -24,6 +24,20 @@ color_names = ['cyan', 'magenta', 'yellow'] block_size = 1/5*.9 +extra_ink_button = Entity(color='gold', text='๐Ÿช™', scale=.05, roundness=.4, color=color.yellow, text_color=color.white, enabled=False, z=-3) +extra_ink_effect = Entity(scale=.1, z=-2, texture='impact_effect.gif', enabled=False) + +extra_ink_button.on_click = def(): + extra_ink_effect.xy = extra_ink_button.xy + extra_ink_effect.enabled = True + extra_ink_effect.texture = 'impact_effect.gif' + extra_ink_button.text = '๐Ÿช™ +100' + set_score(SCORE+100) + after .25s: + extra_ink_button.enabled = False + extra_ink_button.text = '๐Ÿช™' + + for i in range(3): slot = Entity(color=colors[i], scale=.1, roundness=.0, color=color.clear) @@ -85,7 +99,7 @@ e.snap_to_slot() def goto_next_level(): - random_positions = sample(coordinates, 6) + random_positions = sample(coordinates, 7) for i in range(3) e = slots[i] @@ -98,6 +112,12 @@ e.draggable = True e.velocity = [0,0] + if random_int(0, 100) < save_system_load('extra_ink_chance'): + # if random_int(0, 100) < 50: + extra_ink_button.enabled = True + extra_ink_button.x = (-2 + random_positions[6][0]) * block_size + extra_ink_button.y = (-2 + random_positions[6][1]) * block_size + goto_next_level() @@ -456,18 +476,15 @@ unlocks_menu = Entity(parent=menu, visible_self=False, xy=[-.145,.5]) +# upgrade_panel_data = [ +# {'title':'Ink Dispenser', 'description':'% chance og spawning extra gold', 'varname':'extra_ink_chance', 'slider':None, 'button':None}, +# {'title':'G Cartridge', 'description':'% chance of spawning green slot', 'varname':'green_slot_chance', 'slider':None, 'button':None}, +# {'title':'B Cartridge', 'description':'% chance of spawning black slot', 'varname':'black_slot_chance', 'slider':None, 'button':None}, +# ] upgrade_panel_data = [ - {'title':'Ink Dispenser', 'description':'% chance og spawning extra ink', 'varname':'extra_ink_chance', 'slider':None, 'button':None}, - {'title':'G Cartridge', 'description':'% chance of spawning green slot', 'varname':'green_slot_chance', 'slider':None, 'button':None}, - {'title':'B Cartridge', 'description':'% chance of spawning black slot', 'varname':'black_slot_chance', 'slider':None, 'button':None}, + {'title':'Ink Dispenser', 'description':'% chance og spawning extra gold', 'varname':'extra_ink_chance', 'slider':None, 'button':None}, ] gradient = [hsv(150+(i*40), .8, .7) for i in range(5)] -UPGRADES = { - 'extra_ink_chance' : save_system_load('extra_ink_chance', 1), - 'green_slot_chance' : save_system_load('green_slot_chance', 1), - 'black_slot_chance' : save_system_load('black_slot_chance', 1), -} - upgrade_costs = [0, 500, 1000, 2000, 5000] for y, data in upgrade_panel_data: @@ -478,10 +495,10 @@ let bar = RainbowSlider(parent=unlocks_menu, min=0, max=5, xy=[.14,y_pos-.075], scale=[.525,.03], show_text=True, text_size=1.5, color=hsv(0,0,.03), gradient=gradient, default=save_system_load(data['varname'], 1)) upgrade_panel_data[y]['slider'] = bar - let upgrade_button = Button(parent=unlocks_menu, scale=[.2,.125], origin=[.5,-.5], color=hsv(0,0,.12), text_color=color.light_gray, text_size=2, x=.5+.115, y=y_pos-.1, text=`Upgrade\n๐Ÿช™ 500`, roundness=.25, shadow=True) + let upgrade_button = Button(parent=unlocks_menu, scale=[.2,.125], origin=[.5,-.5], color=hsv(0,0,.12), text_color=color.light_gray, text_size=2, x=.5+.115, y=y_pos-.1, text=`Upgrade\n๐Ÿช™ ???`, roundness=.25, shadow=True) upgrade_panel_data[y]['button'] = upgrade_button upgrade_button.on_click = def upgrade(varname=data['varname']): - current_level = UPGRADES[data['varname']] + current_level = save_system_load([data['varname']]) cost = upgrade_costs[current_level] print(current_level, cost, bar.value) @@ -489,15 +506,14 @@ return set_score(SCORE - cost) - UPGRADES[varname] += 1 - save_system_save(varname, UPGRADES[varname]) + save_system_save(varname, current_level+1) bar.value += 1 refresh_upgrade_menu() def refresh_upgrade_menu(): for data in upgrade_panel_data: - current_level = UPGRADES[data['varname']] + current_level = save_system_load([data['varname']]) upgrade_cost = upgrade_costs[current_level] data['slider'].value = current_level data['button'].text = `Upgrade\n๐Ÿช™ ${upgrade_cost}` @@ -516,14 +532,12 @@ refresh_upgrade_menu() - # for x, cost in [1_000, 2_000, 4_000, 8_000, 16_000]: - # _ = UnlockButton(text=`+0.1%\n\n๐Ÿช™ ${cost}`, cost=cost, x=x*.12, y=-y*.2*1.1) skins_menu = Entity(parent=menu, visible_self=False) - tab_parent = Entity(parent=menu, visible_self=False, xy=[-.4,.4]) sunsnake.define(TabButton(, ) -for key, value in enumerate({'shop':shop_menu, 'unlocks':unlocks_menu, 'skins':skins_menu, 'backgrounds':skins_menu}): +# for key, value in enumerate({'shop':shop_menu, 'unlocks':unlocks_menu, 'skins':skins_menu, 'backgrounds':skins_menu}): +for key, value in enumerate({'shop':shop_menu, 'unlocks':unlocks_menu}): # for key, value in enumerate({'shop':shop_menu, }): let button = Button(parent=tab_parent, scale=.1, color=.12, text_color=hsv(0,0,.9), text_size=1.5, rotation=45, text=key) button.on_click = def():