From ef5fa5394664ccc4d67184ea13ddba7896dda931 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 31 Jul 2023 08:11:26 -0400 Subject: [PATCH 001/105] Bump pnpm/action-setup from 2.2.4 to 2.4.0 (#11427) Bumps [pnpm/action-setup](https://github.com/pnpm/action-setup) from 2.2.4 to 2.4.0. - [Release notes](https://github.com/pnpm/action-setup/releases) - [Commits](https://github.com/pnpm/action-setup/compare/v2.2.4...v2.4.0) --- updated-dependencies: - dependency-name: pnpm/action-setup dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/ci.yml | 2 +- .github/workflows/compressed-size.yml | 4 ++-- .github/workflows/deploy-docs.yml | 2 +- .github/workflows/release.yml | 4 ++-- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 31c14c38289..d949bb51c1a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -31,7 +31,7 @@ jobs: steps: - uses: actions/checkout@v3 - - uses: pnpm/action-setup@v2.2.4 + - uses: pnpm/action-setup@v2.4.0 - name: Use Node.js uses: actions/setup-node@v3 with: diff --git a/.github/workflows/compressed-size.yml b/.github/workflows/compressed-size.yml index 447928c1f6f..e06e2c7a1cf 100644 --- a/.github/workflows/compressed-size.yml +++ b/.github/workflows/compressed-size.yml @@ -17,7 +17,7 @@ jobs: steps: - uses: actions/checkout@v3 - - uses: pnpm/action-setup@v2.2.4 + - uses: pnpm/action-setup@v2.4.0 - uses: preactjs/compressed-size-action@v2 with: repo-token: "${{ secrets.GITHUB_TOKEN }}" @@ -26,7 +26,7 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - - uses: pnpm/action-setup@v2.2.4 + - uses: pnpm/action-setup@v2.4.0 - uses: andresz1/size-limit-action@master with: github_token: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/deploy-docs.yml b/.github/workflows/deploy-docs.yml index 72e61e68c32..408a3caf2ca 100644 --- a/.github/workflows/deploy-docs.yml +++ b/.github/workflows/deploy-docs.yml @@ -24,7 +24,7 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - - uses: pnpm/action-setup@v2.2.4 + - uses: pnpm/action-setup@v2.4.0 - name: Use Node.js uses: actions/setup-node@v3 with: diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 68003f622e9..9e36b304f1c 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -27,7 +27,7 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - - uses: pnpm/action-setup@v2.2.4 + - uses: pnpm/action-setup@v2.4.0 - uses: actions/setup-node@v3 with: registry-url: https://registry.npmjs.org/ @@ -72,7 +72,7 @@ jobs: if: "!github.event.release.prerelease" steps: - uses: actions/checkout@v3 - - uses: pnpm/action-setup@v2.2.4 + - uses: pnpm/action-setup@v2.4.0 - uses: actions/setup-node@v3 with: registry-url: https://registry.npmjs.org/ From a102ca515b1a614ebac2c6efef047b12fafeb9e4 Mon Sep 17 00:00:00 2001 From: stockiNail Date: Wed, 2 Aug 2023 16:42:29 +0200 Subject: [PATCH 002/105] Revert fix for monotone cubic interpolation (#11432) --- src/controllers/controller.line.js | 2 +- .../scaleMInMaxLimits.js | 35 ------------------ .../scaleMInMaxLimits.png | Bin 9263 -> 0 bytes .../cubicInterpolationMode/scaleMaxLimit.js | 35 ------------------ .../cubicInterpolationMode/scaleMaxLimit.png | Bin 8887 -> 0 bytes 5 files changed, 1 insertion(+), 71 deletions(-) delete mode 100644 test/fixtures/controller.line/cubicInterpolationMode/scaleMInMaxLimits.js delete mode 100644 test/fixtures/controller.line/cubicInterpolationMode/scaleMInMaxLimits.png delete mode 100644 test/fixtures/controller.line/cubicInterpolationMode/scaleMaxLimit.js delete mode 100644 test/fixtures/controller.line/cubicInterpolationMode/scaleMaxLimit.png diff --git a/src/controllers/controller.line.js b/src/controllers/controller.line.js index 8c5977e1957..fddd5ce9889 100644 --- a/src/controllers/controller.line.js +++ b/src/controllers/controller.line.js @@ -57,7 +57,7 @@ export default class LineController extends DatasetController { line._chart = this.chart; line._datasetIndex = this.index; line._decimated = !!_dataset._decimated; - line.points = points.slice(Math.max(this._drawStart - 1, 0), this._drawStart + this._drawCount); + line.points = points; const options = this.resolveDatasetElementOptions(mode); if (!this.options.showLine) { diff --git a/test/fixtures/controller.line/cubicInterpolationMode/scaleMInMaxLimits.js b/test/fixtures/controller.line/cubicInterpolationMode/scaleMInMaxLimits.js deleted file mode 100644 index 605ac186461..00000000000 --- a/test/fixtures/controller.line/cubicInterpolationMode/scaleMInMaxLimits.js +++ /dev/null @@ -1,35 +0,0 @@ -module.exports = { - config: { - type: 'line', - data: { - datasets: [ - { - data: [ - {x: -10, y: 150}, - {x: 0, y: 81}, - {x: 10, y: 49}, - {x: 20, y: 32}, - {x: 30, y: 21}, - {x: 35, y: 1}, - {x: 40, y: 16}, - {x: 45, y: 13}, - ], - borderColor: '#ff0000', - cubicInterpolationMode: 'monotone' - } - ] - }, - options: { - scales: { - x: {display: false, type: 'linear', min: 5, max: 37}, - y: {display: false} - } - } - }, - options: { - canvas: { - height: 256, - width: 512 - } - } -}; diff --git a/test/fixtures/controller.line/cubicInterpolationMode/scaleMInMaxLimits.png b/test/fixtures/controller.line/cubicInterpolationMode/scaleMInMaxLimits.png deleted file mode 100644 index 056d4510167ace1c5f38402173f33f7efc436009..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9263 zcmaKSc|25Y*#9|a7GuUX_G}F*OSU9g!YH8`=q~G2Ij6``(4L_RR;i zmwV*CS=`yM#xZ`Y(U_>BsM@79+u~l^8~wAx_Ku$MnyC6W_7(<4ww}j&<4uYJAD%1u zGu@vOGQCtiy&&+1l5WF$77eyHG4XUY-9KX$*>n%i6;Rr?ge9i8^%lGg*K|vdiQT2&h z#QmzSH>Z%iDtNq@`QKw_?6ILMHNABL(N{aS<{_W;1kyeaWnx=1k*CyBNcyGY_6&Rk znJdsR?U4CTzX)^+ua87Zu-|S7n#liagn$b$LT;GaPjn$^q?z87MBXzKR>)Ql1&nRu z$I}M0;ewPq;bymaC!!C46E*IT^H|HSdcwG)q8i!W8oTlWKN~7Mxu{eTt}eH!Wojwo zuLb8MN}&wMFV^SDU_T$@-eM?|)Vc*OEP^NOSU!oW~ zUBLQ!FBJ(2;o#j+eNNjNCuQ`Am|T6zdJHeswm_J|a28&o5F0iV48|qZGgRz8LeiM|5aJO z-6Eg=u03OeBDq#qscuNM1Xr;%tlvO&Y1(>M39+CG{`1@0x@r$*sXe0?k%Wc{GFSMN zHON^=b#2hd0ILsiX)pBnzW=Y=it!rI^TRSL+o{3Ga`tVSw2unJmtgpruN!a%ydqr< zP7A#s`jvw3R1>@&EM)VUG+@XSk=y$B`%3UVaV9QNM}jNL*~56Xq{hgByo6K*68(9B&g2LvZY*z=09!>K%6 zG{pcd+GCr(OubV?r9vZHnPsY+B=oYDh+O+CgCY!MQ2?@{T~O?A)-?R!>ee~s(p{>_ z($CcX&jmNrl51X)b|C}AXY0>}dAjLwMY6WnRut~ z+$rV>oVwnDc#KCMT>;jIH%cdo5o-BQI*>K9Rs2sHIiOXrM5fM5?3BmV8L<6_^GT)3 z{nAFml-o%aV`!q;sSek038MZNo1y;jT7^@S4}UCc+Nh_4rQnH3*LQWAyWVr zv8MtAF4$Oh%TaLHR0D!A3%R4>V1jk?CE=l!FLj_hW>vvIbEOH|c8Bx1mqa z+Dag53%YHS-3JaYD&}bnxQ*|lN6@N4LDUd^w`<7khMSa4i73&ULiGL1@%JFcz1yS| z>+4aEald7>Z13^S`Nnv-__+P^0$#-Gz*xkv_x--}sDk3JUV6~#qSsgx^5?*&;Gw-d zHeLj5Vq_)g?u-o?t-Di_rOAy0cnRjrEIP66*&-LL@XFuQ!Os`s z#WHSUh@-0Dx#pbn`>{uWaV$7OqwUIcw2wNV%MReGV*@dyLnDGQZhLkv?O+G`92$f+ z9$06-fqfk&A&=)Cq5R^7 zg6W^PqcA+>yCLNs2J|IKaQ>N@;Oj0L7&Lg=ubU8siUk2nd)$Omt1SrBrlfmIOWfp79fU%u3jc_PmNgYj+&lR!T=Ry=*V>C2`Me;_Ml zq>I?mZT9*zd7%FfT@HK4K6eZtWuoHimOw2S9f~(2Xt=-C@m(8XX%wJ?;+o&}Uc|UD zN_K+uLQaL>JQ%z7=Z+XYBq^O3O6KaO_DfsWmh+;}5omVq7cs{Mj#BlS+Et}0I{D&9 zo>NkT#TVoK1RMiKFYW;Qg}PxDzpNlARg-~~6eruZKWA>kMfmk*FPQTZ*bA`L%(Zg) zY^!da)y7%N<-P5h$ihM+-S`Ec=RGF!TNGf|6|v8#$Ela!K*s5ga$8vl>V@PfC;nxi zga~*6U8AQKOG;yz{B&ks+gZ7tmc0S9H9_cKp5Vo+GGHBx#dX5+N#A3IUl$5#9ejI6 z-{1U&a%!+t8Sgv-<{(~3UwvhC>vd6cG!p%i-`k;pj3GIKoB?0m4F@pr$N;>38F7-Y zQYoyU?zR``;ry#!qg&aDP(RhXE~HLe!ai39yz?m|q0@ruQ3*KuQa+PE-wG#H@Dx`} z^=|H}vyiZ7B!YLgz4H6j_NaTWK_9idYABiRtifGfDN<3{Y&lvCd_Cg;@XdKXTSI3p zdb8P!-nrG5v~#nfG!vPMFqZsT7LWHCK&TsEjWjHYCYFkGHn5e^B%{X4E!o!6Y^f!g zfk+U>tY;w5%X}Nx-}H-}dCM?5=^b@p;QHq?s1$3O&pL&Cl1I@YaiGa6S*s^X=vw&p zd1eZtJteLAT{TqPKax3Pbc>hp85e=wNASOX){!loq`9=zPX6kmBQsU3A*LT8G_3Tp zA*O%!ejwh%THR0FPHA}b(zwup$a-od8b#vD_#b9AImaBnjgcJ>EMLbQv*ObhQ9S2W z-W*3C8;`Mr3k$0dcuGDZDETfXv{nEF)4*eS@__Ph;?Pm~C_S8k_Cqm$2gO=_Y?-gX zqR5TMwM7O$p@qzBRa<2_pYh$Svg_z0xcKh5+v~8nnE_gun~)K_$%W;lA!<`aDHuxZ z@QED>_EpC-lW=*y2^f{=4=^b(S!%X1t$#c>Q+G}^(*0Bj>`rLmG_yQgY7eUA(nG*@ zeTHZE2@(zmNHJQgAGNJF+RK&oKOGiMqlYD-1z@-T6r-=@sIm>xpS@bRx_H~*Dt6Z5 zDC+xNT=xV)-1`obK$rEZX)qky%-3$j(lnNCkFMJlsOWz%>Aa0AOmJ2L!h7Ysesd*3 zspy|+(j;Ot!Ks9~y8hEX#!4wjDse1GEP^RN+4*6i;8`w+9rE~ zxGJC;_l!LQMyUIVLeMOdK3TElp_sJ_wcreL)8cD6(1hd4Ag^ZL({1yhSU7F*(> zjunMVAD7->qG0`5u&|5dHy)*zjFCjc2^_G_((M+#3ps1X>ic=S?y2P*TjJ~o_Mda% zxhM8(JJMOEB%oICCoKtUg!-%{grG0GeHdm>j2~boNMIsN)C5A~9nf?ln{FDyzJo5P zC97(cd$E4~RJ1Tv@a`*r87m=u6Qn!NqCkFEAGRLat zw#~qEFFy1kAO_%?$YUu$rzRNhxq8cCA|5eS&$%v+im{-xun#&QpV1IwnS?81Y=OlD}biJ6XVu zCfP(S+?M!EGsiMxKVM7ixNu#FZOqW0=9RJ1Da0bZ#n zJ!P$Jm4GfKG*1<2e}D*^AY(-W?=<+!ZR747iaYX{tg3_6HUS-T<^vy4FU_!!W6vGNo0gsolv@{d%E{5mNwky3o=*I%vt zQ;03@#fVnS!{z%K)yOZ<3vej6>CO0?F-x9kdKaojO?Q_Sa+c}L63AXLF|!KT49YMo zxZUhChMgfmC6X$B_ZF(rZCuay^9nP3os`+|0D02((GbHcT)aXxXD2sPXY4KlJXUrP zXiW1Hzp1BEi8`8eBRhs|QmIaZR!lff_Pui5%yV`n`VV}n#3Y&@$W{fW+YO@$;&)%r zV}s-ZdK?&Dj8A7R7Wvo-=sT^kRi)h&-iz4=EoZUwVVkTkwsJSa8Zysa|-|jo3agF z?#~4>)1Q$97T`RPY>QGS6@xyww)n@_FK(@gOKNTIz+=nvJypn4@x+GPbwMF)&A9_( z{Bd_i&YZ9^_dlYUw%PlCRc$w6os!7lQ}pvsH(Vx^6!Kxf0X;)Es`GCtfug>D33LNx zBMxMBY3T7b)iymANp{Z`-EN%~=gN0-tKWw37w;^QAH7X8u?2)gnOM;zFy&9y+e52Q z`t>0G9<5tEbV>T>q8P`RJ?|(N`{fT1i?2_B-Z#&X)CAL{Dnl0l9>n;m4}eA;ffi7!xc)#zs7sgj&%>iV`r;N||X z9zaV0I<5XF`_r7QxicfC@Y&TaYw!cYypg}`d2$2GLx7pX>c2j~rL47^QHvit+pabgT zEA-d{uwRRcQb8J3s?1}L^ES>2w%09HPy#t(RsP-%4;`=~AB!};V%$+*ugQA&Gdp_6 zuk$9^(V>d|ZmMo3WokM>0NY!3EEr_YK7x`4-%0pn`m{)qPEJ<40^SQAAf-x5_J~Vg z03vVSE$;{uZfK;2Xhl#`6(p)9oI(}m3aoI2go?Xw6h`;&25TK}N!kM{i*0x%n|IsM zPWt?&p2PK4%s^%buD3n)8#x88Dq8pJ0e8+WM}UI zO<4-_eskgvte?Rj4mee}z^oY!sMurlua1cf*OR&a5bN+29MC^$)$$lj#kB#z(h;QY zYlqD}ysBUW(F%k2|Mqnkps#=v)}8Ve#tH*FU=rckyA)EtP|yqK(Dj^#MWeyVn*zsG z9)hL3zkkfEK*){TS6q4;RMkV&O)^XMun-g5W;b|Qo$ z*f@ts6Y&^a3}b}pr7BP_mdUdI;46F~4+D$sz+QD-YCJX)5!ea*gzHeMD|7PC%O6S* zCUGvAHw+rQ#8^>Wdk5QV8_*#fXCGr^ugHL1f(U`T(1rxESs;o9V*fSAa^i7N_{$mK zy6=e(o*U1>xg2c1d+ELuAZU$!nJ{+dQG^=IXNyR_yO*aK+p!}ip^9EQnr58B(S&Xo zmUv>7 z{}p(3-RM{$*4^#rw{T(|&SVE=ac1*}Ln!{X4|I;-EF#dGRobvA4$FgN0p_p5-Rn|v z`o(*VP`dD>XrEG&K%kq9zEQ;%*a>`& zRLD7L^Kqq1gPAM$j-tfhD?ld}b$KIX8*5tqV{{Yxt@2JLD@sV`+*bL8!M|;NR|~d4 zFljg@_EfHco59l+5@#y-sC%o1CiKnF&k{&I+0mAkvznvK81{PS0Vm&g$tCK6t`F6Y z232q_y%nz{Clp~ClA%uyvtqi>o`j6Q{R6OXRsC*_flA}I;BIK}iN2S=oi)K%;gEeC z6ikjMOfOnuT2MpR=!9J;i`#5R3taH;i_V=E#Dv~F%|{(ud>`KOpg6Yy$|>3z(Ksjr z)#AW!naDZNOpEz@OhxLKnlmRB^s@Sr_n^jD<9izHNM}tEl(Hz3S!S0z;p%nto(*mK zM?usp+A&{ZL9`px>q=}p^nzil18%Z!IBVicCV}qi`PKl#;s)8GTfCx3e0da(+}{x- zBle6yKT^u}Fnj+Ef;@}E8jA;-uI0`}Oq$@ExlIAQqW@{K7H zKJ>BSs!kO#3UmJbwaeI8>8aG~6l57Hx}0Wch`xAgR}>E*{OI2`JvNOcJf?Sw*h$fOFzWM3J%Yk?-hI6eTeevwu@vubT)MU8 zYbw;Fr(6|w)C0CpIjg%9i-iE76Oh*1^Cp5ttJpUi*E)ZQ1zKgafj3_*GpE(tF*Q#Y zUnh1y7Cd`E(Tc)Ue;>U8bB?A&Vky~Qw$yrEw<6l0IU?=dBMIR~f){O^+R68SkPXA;SKiVuAAeZ6%?XS3+EPAkC323`Dr6 zU%V!;OqO4O{zCfW6aWttY09Zm_yVt$k`|LlO*FD*yw43pxezbP9rx4fGnwxKnLY`0 zDg3PWGYu#V@3WZ)-4ZpiVVwDStlw3nTiFxXZr*c=XJQoS_sG3MHt&=pXyShS-RnS_ z)`7Q}VOp%JBh4b^z^0j2f#wY1ZcQkR=`HnlIgsR~E>ywyDrx@F!;+8~e&+9mN(@kY zc}~q1=l52`0o{xbnVT;V=)Xok@@AHeAbJcrvsr8jSl{R5<8!v}k=#}^7{gz+&6q_h z!M6|07mm6ONU@{)FSXsg`G09aZ!4|-1KJd*`v)!&(5a!m5!B(QFyX_-SFuxonn+25 z+zS_Fgd3})9%9p#t|nljcH%`dFEC^2v98R()4Cgfx-wUMEKcKg)*}phn-G>7RND@* zNC$ATqi#{6j0gS6ZIk^P&<&GXPi%&-2N3N+FXiLQ`8jtQ*Yys)0+0$E58+_|S^|I3 zQagno3XDrotB_XoeDYD)exPzACPBHs0o~q?;WctLn98yPA0~_=faa7n+PvGDyT$Za z6V}GlvEzO#<689RvW(0WCV}aWSL1s1v%K${+$YeVjx~MdF|ScoWUw4< zoI7%W5c*QO%DZ7i5_*{7ndS&S?E#(8bX^Plw!`vR;X+gb`LF^?Lr7LgI7FQwlJjQ?^@E%$IRpP6?nYcwS zI zHGSAOWO^8Gt5Dmd$Xoa^J+_beL(aMDYZScng9qoT?=pA5A1aYLzH7^4l{0JJrx%6Q%=NY zk9}EKHj<=Rbn_XgiM?+D8Q_8Mn!jV9ec&T;TK%wu`!54aew;p(K!#9xkAOpBV zf>t9`VX@B81g+h4S*0F^lc(P|Bf00F_}cQ|qlhP#Ds!^i;|}pv9A&L8`aqzX;`6?Y z63nJGq2qd&<9Pyr1&0@|YSeAzW-Ga(w)~DjVL53UZn68kdeSTM!!YKvqG>JqA!u4T)3&5E7K7!3^ z`XhOaKCUU^q290z$qrjgy*orOa~ydERKx{;^5BJE>TKUTOU+TkG9azB-hYG@vSa~A zTK!M)s0sH?!dXI;FbAdzQO5du%yy^qUp_UIC41y8iFSKNnk{z3NkXnl;s5Yr&KT6F zM6T=jSN2T#csVh&U?)QD#6^;;E5y5MajVHXC(Iu?LmJkv&9GiW+&h~d8!}vb(C*Ef zl`Yx@yP8PCHQT!-D{_PG?wMz;Jo*s4n0cTSTutOy;xML*-vxOjWGov|8R2RX`X$)^ zdNj%oilLYDtGITf73~jKia}}9<>-dZ>Q&qHS)?l5__KNIUF#>xr5o$asrw5;9TfYr zrG5V7MF}-fn~od@_Xl5o9_Gc#GyYd!KB0c;%Z=wuIO$M|aJ`b`#P3@)I1d0orxp4(e5g@F3w z$J;qW-uj?2?nWvqW`fZU)D7P2(bgg9p~&_J_lHaTmOVJsyrw(94aqHZ@bu!Xj}>mt z?56y4$lm8Zo0d)CW&IDmM}F*d?@8yntM&g_?KAFwyMwtc{P)*7gmL@H$QVx!oY#tg zKd#t1YRVWJTzqM$*`E1eBzyjuU6lZ_B3!SCVF zOJC8%hWhFu9;z`@T z?Nc!c1cQ64izT5Y`=@q)4+<)mV{Uond%WtO4E`8nH1=_l#@KcDNz#`^^lN+FU*Q7dScD zZkq-C8)$4WWVB||bI%&2QV+r~-@06hF`9`C zi6rVAlXTIOb&C|vsuVqGBDi0;G=RC#_~DqH8IV~ATVvjBr#<5oxQM`I;<^&PaQk=a zQJ6bzV$6A^imHwiD4^=XjCr^5OynANL-}hOKh&GhUJfkex>XuTLrd**YWGmZa zxp7m{RdN*uw?>R&F|U!5JAJOZkp=};uJ-LdwvQes;qB;?%41bgP? zQ{!6Q7XELlk1ZV;D#gq(e<4;R4z4Yitbnbiw}fqEi@9{0h=M7DhF{jHutSO~SXMFr;A<6yjYiA5cZkl1!0^`7SN^jZ^GUY1|{4$Ld40ZEU=VO*+Rp>vzb;OQYoe*yISAmiRbTuz=r4+r(ptv!21rp7+l#AX;MY~pMO_evKb>ISNOMb0f}i00 zl(4?XFAW|>7r+lFkM2pcl5y-$5}3^C1m!Mtal0UD6 zbhB~!^ua&!I``z5gB*@5%Y`;8mtwnK1QaZ<(KXwkC@aLR&n&C}}WGp;~S%C)X zIrWxF`olvAx%*4T$|xUc{QPPZ8iAR1_#x zChQF^myY+~Jn6mrSoOBZr_+Re%IJ9QDYhW1TGC>*t^UeLkZn`f>X849b$-Fh>2N4eiEWyktH?P|4^0v2kc-+p_7+$Y#{Gpkl<^nBggzagY?l zp0-}L~_2zR9mh%{{p_g zw$3Z6K@{*qGdQr_P77W`a&HvfG7n?~2xSCeR`xT$4+Q=-Ip-mIKf2Hl} zzFa^RW(Kx1oLS%L3|9rQ%2mRD`D}GxDLVRylzJ31ES*5KHa%i4UHz+&hJHC7%s4oi z$=-%>@=}uXBX@bWR~1(-YsG;0y8U=A*mwvE!#a5$vlyUSXtgB|e7z3|jjB)x4*{TA zViw94P5<=h!Iw0;E9Q=3mi^T?D5CHvdvFui&($@?|5n2A17U*H1aP0C&NP6-( zqg##Iru{~LV1>A9Jh>mx!3x+2_haX=@2BupvFu-vC^aYrDh+7U*qI$uuU}}#@18z3 zO#HR08M<&5PG>uL9a|FMSM6UcP!lop7T#A5WhMqNH>|iM+a>1Utz#n(gvwpx%RPcF zEN~$YHh(_ZBu~FXdJw^p7e!vlsP7?a$!#D8aTmPRbmYa(5R#Uaah)%>7F|lmq;_G9 zSJN~vie+gg1y8Y-S(zypegybP?G1J_IrSdKJ*c0%MmqoHU_gD~FCU&j$4A6c>v7`- zu+CS^6K9$g#dld|@QLBMqWt{F^5R;s*ysMnj%$bldvLqO!-A@c7>=HALj7Qjum(OL(;@Tz97Rb|@6A)} zmvD&^R_V~smozZQMb}#1Z#l)j3zvQDCu2w&4L57!G9|oF`OA$59n^|lxnsg2)KF|K z*>FFlV=+yX3bir}=<}eaCO)5{ZI9;^8jCUn(2I`C9mF$=pfiu@M$_^L2=&$fdG zF03BNf)&y5payrFb)ry<+>|jm1lo0O%$p~Z%*ODoHw!%?4}f7B+h`26{1jno0xG(YXr)SGLhjinqkUh6x>;OBR zAkp@Ghmg1#u3#&Tm(p0*f-h%y6Egmr{&a~~5|Jobiv`h@G#^#EBD$=f_zzLb5i|#< zsK+@ZuX$MA=JK#C7_VlBY_)H>P_jc*iJ%WIQ*>^2vEfmFc2 zj^#pC!p5*%uYX%q>nKDn!E&#+Y$8ay#C%xjop~w}E~+5_{_6JR8q*n1JLLUqZX-OY z(NH;gUSPj$8ECEPtKYnF%?Whkjl#`6a|2kT-(tSx-sFXfNZha+_~k*KdPi)iD{}I6 zwK7{lTks$K)>!fKc%qE*+6NkE1NA^l2EYD8G2Vf5{(%RYw^Oeyh;>FBAcp1%J2hkd5(uge&zJOQHlcGIxHg7J@gBWWJ9Gjy4z)nJX4=o2UcU<}PNrn9r!mtma;?uX(Te&7iwSduQu!@xBLW7rk zMx-3%1*OIE;G{94eWO{Oe}s3BvOkY^!{><5wNk)6j#TTc{;+r({v>k!VDnC7jB;D0 zYrZ)dl@a7W3P5+~$)559$sKS%T+y>4=o>Fsy0Znltm@`c3~1fkT}c-}{F}~q zTUMwP@IDgFp5G8k0ab@bM%XduW4x0`2^+<>krQV#0BL4N^Nc^@R0nG z_~Z%rE5^m;?t}r{N;KR>%68#r{>7idEBkf^?EsO2J<&Vnz-;I$_zBeL)c*qawQc1l zPMi(Cutr7Il8~Y$7`^yZc;({m1Y3F@i7Tm6tix<cW1`D#`iwLg96k)dqx5e1stG2iL}o%QhV_%da+DIGNnIJQ~gj{ol?=@|uJqkhhb`uR|loa`E2Hn_7qqSw$Fov{im?)3i?=3=_^j$h`FRk!zDAJrakmB*t22mADZP4ds4wD3bi(<@ ztsi6&WW%q3;k`B+IA1P2WhdfQ-7Qamd5VI{BFq}**9#~&Qvvcd#QhJaO!aXi5>3a3 z!jWQR?%v~=9mj@Z0SZ5WB5G<%z1Fm2qURO+T{yF8CBG_n6;CqBp7Ukh|Jh=EswW(2 zWWU&=EYTnnA8}dZtuANl%<-4t=9`J~`-WcE=vituVX3gUlv(R9u@K0)lhNuK;4Z9% z3P9Y9oR{|8#VTeImZZInXH&wU#C%?&hVXV(dI?w(uxMOW`*)=#zvRPDep#d;{*^@M zty77Yc_V32Tsc$)l|W?+_f9c9e8|LFMWDvd-+SbqYJ3#uuEPDSfZf7U+Fu+n@5Tzp zDoUm;;@CDN1?%1rnylN*>>G2nx1(b5)(??lxBP9*^@6E8kX!6}%!*Q#`rA$Bf-L-| z_w&b>T!s6@1AdPA9J}FzH?gJ*(g%IxhluvZ+Ppb--2Id6`fLy#MgZVZe6!z)TI!FS z7sQE1-yol{*0nN(xp1>TGEuw_G(f$Qskt;o{;#*`{3K=$`cn8tTAb2sq$Q>0U2*yU zWas>&JgM%2VL~=$L~_P>wxs@|7b*B<;O>>5T~XMMfK+tM&61g2+%2*h_b`dXnGLhu z%CHQ)L%Mu+v3yBbqFIIjk-y#2k1BGAw^9!Y7mYc&cgP`F0+wOtP|P!m?E=u&B)kE5 zdu*lk-p4(aO-&mFMAnbJ^FM8U4hm#8D&^J`*0zZ0xUB~f8$QnpG-?Pl=`EH*mkEor|MA* zXNSV=$sUN2RfEdnf+Eq58zN0kFS(J`&;QJ0P99NDLs%nBz9< zn=QEWR!Mh~Vf4-s-ULqkuqzVRhz)J$jfEP(VSWEzY48o|xOO-Av@OrhiO>`Ww)z`v zrS4G;6FMOb4m z-soyFbaiXY?%fLfE>wlK0#}*M(r=lagsCfxz?9v*Hq&RkFV+9>$|x;nOG?Kaz=o_} z*^o>QN%bOSxp#Q+KGIPh8DKu+hDL<>Fs zDYa2LcBkRmK;DjCh487&pu2LV=mTqVK~Rp?4z-Ru7%5_aMb8jwE4V--ts34omknwM zfZXB%=VgvPHGk%;))B<3lqP0D7azN|HNsDF&cTD}YM$yfXuS*uA5Vo?4s+%NQlQK_lkqLRU={Gq?8u`WX_{~}M<7_F;;ptdEKP2H2FGu1j| z9(J~kUN?1S?D)3-=$4p096eG)Mhc264>W;I>awM2%=h}1D$`<}et6?(R-@0&FQYjO z{_GWx(S5*Qr_gq#yrX=-72ZUjQ0U%{9D)tP_I^8pgsrA&2=-VVjx5HCQSAYAs>73O z2$^6KNw6+C1(OLmPx#ZBOc-@#^D;YLMBCBekH;S`)}N>i45?76hkqN02wJwh^4U$JoID5Y01 zcG&tVR_qzj6}O)otCPhZtvws4z>9l0X`E-tYd^x@y@T%*!PEQDXfXEo*YQ&93 zMNxaK0GfLlVk!h{hU|OH`$S1M@4A%dp?IJrK}%?RtORZ(;qj!G)`a_@q7X;o*Q*F* zyaRI5LfpQQhP}i$o#!cw>2jH-fX|O-y!?uh4D8W~{7nNDr#imEB~hd&zSxAn4sm>z zdU#!-(VV-|{u;Ny^Q{xm&HR=cO|j1!F-9u2vYxk-pLAjT+N2bFz3~Z{A5m{Ks@$Kp zUO1idshfW+5abXTB4tr8H39-@I+gu;-23>Wtne!`@+PUvzWJ%1KKy7VELL96hbp`8p>2 z1~j=>M!V|V;G^Of98wCs9Em|4*UKK~e@=YZ&BSxWrOPkJ5v;*?A5^qgJiL8dDf2Gj z;la)-?Y6t@uz!5c#nee>%eVMr+bk)!qwBINcCZeD#5~{cHQ)gcQ7#x{Bo+Y*;j73` z-#n}})^*#s+qtzt!*+Hk{IqQNO^}~uHW7`o-VjXv;24O91)X~ws?Lu^hT`}I(nLf2 z(weqmaknU=GNvBzM8!<3as~31V4{zaync7e4bQQ8)3DFlP_Tg(sOCs9{GBF4H2~&g zf%#-N8^Gs<>&*9fwmsW^s@z$?wakB?;f_&@HO+YPniBL3y$RUU7!Vcn6kM;FiP%tw z_T2`7YS=bRK_+FrUr+@+*jA}bzP&~Hk|B7YMAQJ=Y@b^*e?BC)P2?uT zwR>mij4%f2Wa;D4r8yr%#Mb$PNb@D@j*4x$&P)bRoY88Ir17e@5u2KcH+x~;4;z(< zZL;AN!2a4@(H(NRDlpZm@82Q8+R!B=_*m)U&z#>+R~3yFBkN@rYEmW^(y$c(XwCJ! zs6VlfrMqcX^sbMcQskgNS-0m&_n|7uHqFq3V=rWmH~N^=Il?2rSrnLPPK%LNd@XE8KN&W*){KMty0G{~x#7?*juva7qz|MgAp zByPDcT~FbpmF*Ub8Xd+{;Ip*%8};t6v7e;6`GeI&+YI^6;~Y7gLL)7@BR#c?WL&}< z$Jc+3FWkiT#gKugIi@iieXX>#g3|Ke?JEyt*7T zDrIBOuRa_2!z5A7(_rSL>c1VU9fq|=XxY@8SMj&BiWdj&{tI^8^Yu=}4kj!G8nOjA zmnDdJ-FWE;<-S>(W~Nbk7cuk%Ct5T0DJ~rwj6P=Myi8xqWy%l^hOJ79?^m<4T~D9+ z*U2ws#($mnsId4z{Uc;mkr@@wCn4Ej^;i_P0&|J{ya z<5G4RbpLlRNzIkt@&eG9IDfN33o99W@6({#fY#eA+0N1Ci+Q@&)J8U@u9ONsVxNvZ z0h02&)+Y#^*nm|m^geo=79rQUxg)?u-$T|)J-}x`?`@WRr*2B#g;zf2mR~$l30Xl^ zYh2R72?pRlPD!qEV9N41s0hlgY}w~OnuED2J?)d1m-KA$h~cR@~?HcZMlL`wJ{ zu=2mRex`Bds}}qSkV9tNk_&`@w?u7ypWU z6?}B@dT$|VR6jz_{|_F?;9A59QwgY|l>nX!;TseWdBz5{!f(-RTy&B{gr3AMyRe)h zGPeKWJ5W^&ZLJ+sPtXkGE_L1*2KV~#fU85RQ4h($wfr}YV@S_f(=2PQf;C#e8ZE92 zNro7C0U6XtDvlX>_H*+y3i%=h#CA(~mroQ}CcFkjjQzLPVqD%Llq6`b<=-pjFI9IQ z&<~Qmn(J5D^x_lNxHM*~;@VUO?dlx%X92HeWADT^1ttPjLT>}m#@m|=S8IM8L+(+6 zejnfJob2#gt~1wvupoq<7;RF*O}XE7IBAt5P3P*IS4(2P+SeG#M3W$pY^ktKGuqQm zVHH)~97!PGPIWZ*Xy1_f?DyWVh$tmF?rwJ~NzkHeyI|Fm3*a$UL;L9T(e<`UDVTgOpM71Md+w}c!g z@v8Q~O^2xWUo_vtb8@3;YlzCNJ0_!h*dRYJW7fheFBdd$jh^j5`Mt;Zpc7xb8Z{yH zA=d8e0lS%WTB4IhO!{j}rUZl=IiPw2J%nKmS0@Bz$Zn>Wo(#HHRED`No1o$Eg|)*c zk;OiwwMPGzcRPI@GNt{KhC}}Qdd)!iC~R=nN@m3xa_0hvZkF05mW@@l&Q6Z&V1Bi7 zl)Sw)X5PBj(p|H=L>Gdvq3Hhtq$ojJHyg`^U*<8rxJ?Ca1-ofu+#mn$W0u9A{_y=_ zp4hOL;zYvE^8tbDAZmO{d@jJo1=aJRf6}`(r{9kzHC=OydK>q!==45DgJIj&`RBR! z_7K^>Pa99)653G-WV%NsX}{XrlbepesgOF>;t|(t`^YNwDDnB+^mK#Cbqsg1Wj+OL z%f@b%?=E;DA7^wmCFdw<_^0*NZ^SnFXwA)xx30fsc+u|!bT7(Mp{*@>QF$m1#0_uK zna`nXrm|?GAEuI%1PMJy{dKffKlrahu$htiM2_-4zsqvc`WeK~KDSBqT@mXORxwr= zRvYn5W%ey*wR%zC#`*au8h_cD>Lg}td0--rv$MI-w4>Mbu{(IR)_prCdg`RRsl^2Z z&JdI64yj(s!AosiaW#jnK@Oe!8L6$ocy*u_T$+{PY_+QEw#u$?SLVNe(jnr^mKDp- z!7W(Di;E( z-SCjtw-E2UE@9F|*--L-bLhniy@C}mlV{o5dn_gzD-TLVexS!+#&BbIg`QsCr3LYg zcS;T$C5PEiT|u}<2Tg@fiaKsC;96InQdGi=$1x2WyPZYfkAn-lHYV%E%Uhz4ZsMTb mH@M&CEPMk4*LnCS$>8Wq8wp9yLGYg_(C-een{V5(IR6jnXBET% From 095a9849f4e2c9a9acc134d107050b6d374fa1b8 Mon Sep 17 00:00:00 2001 From: Evert Timberg Date: Wed, 2 Aug 2023 19:11:12 -0400 Subject: [PATCH 003/105] chore: bump to v4.3.3 (#11433) --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 4c78423abcb..88264c3b08f 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "chart.js", "homepage": "https://www.chartjs.org", "description": "Simple HTML5 charts using the canvas element.", - "version": "4.3.2", + "version": "4.3.3", "license": "MIT", "type": "module", "sideEffects": [ From 79f1a0a9e878b166c1e6c01a1bf5d718fe1e1bc7 Mon Sep 17 00:00:00 2001 From: stockiNail Date: Mon, 7 Aug 2023 20:16:20 +0200 Subject: [PATCH 004/105] Add clip option to scale configuration to allow unclipped scales (#11404) * Add clip option to scale configuration to allow unclipped scales * add images * fix cc * change name of function --- docs/axes/cartesian/_common.md | 1 + src/core/core.controller.js | 17 ++- src/core/core.scale.defaults.js | 2 + src/types/index.d.ts | 5 + .../stacked-boxes-max-index-without-clip.js | 115 ++++++++++++++++++ .../stacked-boxes-max-index-without-clip.png | Bin 0 -> 18361 bytes .../stacked-boxes-max-without-clip.js | 115 ++++++++++++++++++ .../stacked-boxes-max-without-clip.png | Bin 0 -> 26998 bytes 8 files changed, 249 insertions(+), 6 deletions(-) create mode 100644 test/fixtures/core.layouts/stacked-boxes-max-index-without-clip.js create mode 100644 test/fixtures/core.layouts/stacked-boxes-max-index-without-clip.png create mode 100644 test/fixtures/core.layouts/stacked-boxes-max-without-clip.js create mode 100644 test/fixtures/core.layouts/stacked-boxes-max-without-clip.png diff --git a/docs/axes/cartesian/_common.md b/docs/axes/cartesian/_common.md index 1050a85a2a6..b6b5a8e12f4 100644 --- a/docs/axes/cartesian/_common.md +++ b/docs/axes/cartesian/_common.md @@ -5,6 +5,7 @@ Namespace: `options.scales[scaleId]` | Name | Type | Default | Description | ---- | ---- | ------- | ----------- | `bounds` | `string` | `'ticks'` | Determines the scale bounds. [more...](./index.md#scale-bounds) +| `clip` | `boolean` | `true` | If true, clip the dataset drawing against the size of the scale instead of chart area | `position` | `string` \| `object` | | Position of the axis. [more...](./index.md#axis-position) | `stack` | `string` | | Stack group. Axes at the same `position` with same `stack` are stacked. | `stackWeight` | `number` | 1 | Weight of the scale in stack group. Used to determine the amount of allocated space for the scale within the group. diff --git a/src/core/core.controller.js b/src/core/core.controller.js index 2ba26c9f3ee..a54c5a03283 100644 --- a/src/core/core.controller.js +++ b/src/core/core.controller.js @@ -101,16 +101,21 @@ function determineLastEvent(e, lastEvent, inChartArea, isClick) { return e; } -function getDatasetArea(meta) { +function getSizeForArea(scale, chartArea, field) { + return scale.options.clip ? scale[field] : chartArea[field]; +} + +function getDatasetArea(meta, chartArea) { const {xScale, yScale} = meta; if (xScale && yScale) { return { - left: xScale.left, - right: xScale.right, - top: yScale.top, - bottom: yScale.bottom + left: getSizeForArea(xScale, chartArea, 'left'), + right: getSizeForArea(xScale, chartArea, 'right'), + top: getSizeForArea(yScale, chartArea, 'top'), + bottom: getSizeForArea(yScale, chartArea, 'bottom') }; } + return chartArea; } class Chart { @@ -796,7 +801,7 @@ class Chart { const ctx = this.ctx; const clip = meta._clip; const useClip = !clip.disabled; - const area = getDatasetArea(meta) || this.chartArea; + const area = getDatasetArea(meta, this.chartArea); const args = { meta, index: meta.index, diff --git a/src/core/core.scale.defaults.js b/src/core/core.scale.defaults.js index 85f9764ec0a..b6798e094b6 100644 --- a/src/core/core.scale.defaults.js +++ b/src/core/core.scale.defaults.js @@ -16,6 +16,8 @@ export function applyScaleDefaults(defaults) { */ bounds: 'ticks', + clip: true, + /** * Addition grace added to max and reduced from min data value. * @since 3.0.0 diff --git a/src/types/index.d.ts b/src/types/index.d.ts index 5cf2d0cc902..eeee5fa08e5 100644 --- a/src/types/index.d.ts +++ b/src/types/index.d.ts @@ -1171,6 +1171,11 @@ export interface CoreScaleOptions { * @default false */ reverse: boolean; + /** + * Clip the dataset drawing against the size of the scale instead of chart area. + * @default true + */ + clip: boolean; /** * The weight used to sort the axis. Higher weights are further away from the chart area. * @default true diff --git a/test/fixtures/core.layouts/stacked-boxes-max-index-without-clip.js b/test/fixtures/core.layouts/stacked-boxes-max-index-without-clip.js new file mode 100644 index 00000000000..8e2df9cd2a4 --- /dev/null +++ b/test/fixtures/core.layouts/stacked-boxes-max-index-without-clip.js @@ -0,0 +1,115 @@ +module.exports = { + config: { + type: 'line', + data: { + datasets: [ + {data: [{x: 5, y: 1}, {x: 10, y: 2}, {x: 5, y: 3}], borderColor: 'red'}, + {data: [{x: 5, y: 1}, {x: 10, y: 2}, {x: 5, y: 3}], yAxisID: 'y1', xAxisID: 'x1', borderColor: 'green'}, + {data: [{x: 5, y: 1}, {x: 10, y: 2}, {x: 5, y: 3}], yAxisID: 'y2', xAxisID: 'x2', borderColor: 'blue'}, + ], + labels: ['tick1', 'tick2', 'tick3'] + }, + options: { + plugins: false, + scales: { + x: { + type: 'linear', + position: 'bottom', + stack: '1', + offset: true, + clip: false, + bounds: 'data', + border: { + color: 'red' + }, + ticks: { + autoSkip: false, + maxRotation: 0, + count: 3 + }, + max: 7 + }, + x1: { + type: 'linear', + position: 'bottom', + stack: '1', + offset: true, + clip: false, + bounds: 'data', + border: { + color: 'green' + }, + ticks: { + autoSkip: false, + maxRotation: 0, + count: 3 + }, + max: 7 + }, + x2: { + type: 'linear', + position: 'bottom', + stack: '1', + offset: true, + clip: false, + bounds: 'data', + border: { + color: 'blue' + }, + ticks: { + autoSkip: false, + maxRotation: 0, + count: 3 + }, + max: 7 + }, + y: { + type: 'linear', + position: 'left', + stack: '1', + offset: true, + clip: false, + border: { + color: 'red' + }, + ticks: { + precision: 0 + } + }, + y1: { + type: 'linear', + position: 'left', + stack: '1', + offset: true, + clip: false, + border: { + color: 'green' + }, + ticks: { + precision: 0 + } + }, + y2: { + type: 'linear', + position: 'left', + stack: '1', + offset: true, + clip: false, + border: { + color: 'blue', + }, + ticks: { + precision: 0 + } + } + } + } + }, + options: { + spriteText: true, + canvas: { + height: 384, + width: 384 + } + } +}; diff --git a/test/fixtures/core.layouts/stacked-boxes-max-index-without-clip.png b/test/fixtures/core.layouts/stacked-boxes-max-index-without-clip.png new file mode 100644 index 0000000000000000000000000000000000000000..0f7d3290f5201929bb8e0993e79686671ab184c2 GIT binary patch literal 18361 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 literal 0 HcmV?d00001 From 132324f5b8cdd6965a308b2112a91e8aa3a22000 Mon Sep 17 00:00:00 2001 From: Bogdan Korshunov <49434029+bogdankorshunov@users.noreply.github.com> Date: Mon, 7 Aug 2023 23:16:32 +0500 Subject: [PATCH 005/105] BorderRadius of Bar Chart issue on Firefox 116 (#11435) Co-authored-by: bogdankorshunov --- src/helpers/helpers.canvas.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/helpers/helpers.canvas.ts b/src/helpers/helpers.canvas.ts index 5221c438c26..a959d1dea1d 100644 --- a/src/helpers/helpers.canvas.ts +++ b/src/helpers/helpers.canvas.ts @@ -498,7 +498,7 @@ export function addRoundedRectPath( const {x, y, w, h, radius} = rect; // top left arc - ctx.arc(x + radius.topLeft, y + radius.topLeft, radius.topLeft, -HALF_PI, PI, true); + ctx.arc(x + radius.topLeft, y + radius.topLeft, radius.topLeft, 1.5 * PI, PI, true); // line from top left to bottom left ctx.lineTo(x, y + h - radius.bottomLeft); From 4c200b257458c5224f686a97dd603ec973ccc47e Mon Sep 17 00:00:00 2001 From: Jacco van den Berg Date: Tue, 8 Aug 2023 00:12:44 +0200 Subject: [PATCH 006/105] Replace html extension with md extension for docs (#11439) * Replace html extension with md extension for docs * Revert some links * Commit saved files --- docs/axes/labelling.md | 2 +- docs/developers/index.md | 2 +- docs/general/colors.md | 2 +- docs/getting-started/usage.md | 22 +++++++++---------- docs/index.md | 10 ++++----- docs/samples/advanced/data-decimation.md | 6 ++--- docs/samples/advanced/derived-axis-type.md | 6 ++--- docs/samples/advanced/derived-chart-type.md | 4 ++-- docs/samples/advanced/linear-gradient.md | 12 +++++----- docs/samples/advanced/programmatic-events.md | 12 +++++----- docs/samples/advanced/progress-bar.md | 12 +++++----- docs/samples/advanced/radial-gradient.md | 4 ++-- docs/samples/animations/delay.md | 14 ++++++------ docs/samples/animations/drop.md | 16 +++++++------- docs/samples/animations/loop.md | 20 ++++++++--------- .../animations/progressive-line-easing.md | 18 +++++++-------- docs/samples/animations/progressive-line.md | 16 +++++++------- docs/samples/area/line-boundaries.md | 8 +++---- docs/samples/area/line-datasets.md | 8 +++---- docs/samples/area/line-drawtime.md | 10 ++++----- docs/samples/area/line-stacked.md | 8 +++---- docs/samples/area/radar.md | 10 ++++----- docs/samples/bar/border-radius.md | 6 ++--- docs/samples/bar/floating.md | 4 ++-- docs/samples/bar/horizontal.md | 4 ++-- docs/samples/bar/stacked-groups.md | 8 +++---- docs/samples/bar/stacked.md | 4 ++-- docs/samples/bar/vertical.md | 4 ++-- docs/samples/legend/events.md | 4 ++-- docs/samples/legend/html.md | 8 +++---- docs/samples/legend/point-style.md | 14 ++++++------ docs/samples/legend/position.md | 8 +++---- docs/samples/legend/title.md | 6 ++--- docs/samples/line/interpolation.md | 6 ++--- docs/samples/line/line.md | 4 ++-- docs/samples/line/multi-axis.md | 4 ++-- docs/samples/line/point-styling.md | 6 ++--- docs/samples/line/segments.md | 12 +++++----- docs/samples/line/stepped.md | 6 ++--- docs/samples/line/styling.md | 6 ++--- docs/samples/other-charts/bubble.md | 2 +- docs/samples/other-charts/combo-bar-line.md | 6 ++--- docs/samples/other-charts/doughnut.md | 2 +- docs/samples/other-charts/multi-series-pie.md | 6 ++--- docs/samples/other-charts/pie.md | 2 +- .../other-charts/polar-area-center-labels.md | 4 ++-- .../samples/other-charts/radar-skip-points.md | 4 ++-- docs/samples/other-charts/radar.md | 4 ++-- .../other-charts/scatter-multi-axis.md | 2 +- docs/samples/other-charts/scatter.md | 2 +- docs/samples/other-charts/stacked-bar-line.md | 8 +++---- docs/samples/plugins/chart-area-border.md | 6 ++--- docs/samples/plugins/doughnut-empty-state.md | 6 ++--- docs/samples/plugins/quadrants.md | 6 ++--- docs/samples/scale-options/center.md | 2 +- docs/samples/scale-options/grid.md | 14 ++++++------ docs/samples/scale-options/ticks.md | 14 ++++++------ docs/samples/scale-options/titles.md | 10 ++++----- .../scales/linear-min-max-suggested.md | 4 ++-- docs/samples/scales/linear-min-max.md | 4 ++-- docs/samples/scales/linear-step-size.md | 10 ++++----- docs/samples/scales/log.md | 6 ++--- docs/samples/scales/stacked.md | 4 ++-- docs/samples/scales/time-combo.md | 8 +++---- docs/samples/scales/time-line.md | 4 ++-- docs/samples/scales/time-max-span.md | 6 ++--- docs/samples/scriptable/bar.md | 10 ++++----- docs/samples/scriptable/bubble.md | 6 ++--- docs/samples/scriptable/line.md | 10 ++++----- docs/samples/scriptable/pie.md | 6 ++--- docs/samples/scriptable/polar.md | 4 ++-- docs/samples/scriptable/radar.md | 6 ++--- docs/samples/subtitle/basic.md | 8 +++---- docs/samples/title/alignment.md | 6 ++--- docs/samples/tooltip/content.md | 8 +++---- docs/samples/tooltip/html.md | 8 +++---- docs/samples/tooltip/interactions.md | 8 +++---- docs/samples/tooltip/point-style.md | 10 ++++----- docs/samples/tooltip/position.md | 10 ++++----- 79 files changed, 291 insertions(+), 291 deletions(-) diff --git a/docs/axes/labelling.md b/docs/axes/labelling.md index 134979ac301..98583e964fd 100644 --- a/docs/axes/labelling.md +++ b/docs/axes/labelling.md @@ -31,7 +31,7 @@ The call to the method is scoped to the scale. `this` inside the method is the s If the callback returns `null` or `undefined` the associated grid line will be hidden. :::tip -The [category axis](../axes/cartesian/category), which is the default x-axis for line and bar charts, uses the `index` as internal data format. For accessing the label, use `this.getLabelForValue(value)`. [API: getLabelForValue](../api/classes/Scale.html#getlabelforvalue) +The [category axis](../axes/cartesian/category), which is the default x-axis for line and bar charts, uses the `index` as internal data format. For accessing the label, use `this.getLabelForValue(value)`. [API: getLabelForValue](../api/classes/Scale.md#getlabelforvalue) ::: In the following example, every label of the Y-axis would be displayed with a dollar sign at the front. diff --git a/docs/developers/index.md b/docs/developers/index.md index c1df9ed0f50..d1e78e97a45 100644 --- a/docs/developers/index.md +++ b/docs/developers/index.md @@ -18,7 +18,7 @@ Latest builds are available for testing at: :::warning Warning -Development builds **must not** be used for production purposes or as replacement for a CDN. See [available CDNs](../getting-started/installation.html#cdn). +Development builds **must not** be used for production purposes or as replacement for a CDN. See [available CDNs](../getting-started/installation.md#cdn). ::: diff --git a/docs/general/colors.md b/docs/general/colors.md index 9d364fa7a5f..49f1b2cacf1 100644 --- a/docs/general/colors.md +++ b/docs/general/colors.md @@ -4,7 +4,7 @@ Charts support three color options: * for geometric elements, you can change *background* and *border* colors; * for textual elements, you can change the *font* color. -Also, you can change the whole [canvas background](../configuration/canvas-background.html). +Also, you can change the whole [canvas background](../configuration/canvas-background.md). ## Default colors diff --git a/docs/getting-started/usage.md b/docs/getting-started/usage.md index 3f26017e4da..d5add3b7ab8 100644 --- a/docs/getting-started/usage.md +++ b/docs/getting-started/usage.md @@ -49,7 +49,7 @@ Run `npm install`, `yarn install`, or `pnpm install` to install the dependencies ``` -As you can see, Chart.js requires minimal markup: a `canvas` tag with an `id` by which we’ll reference the chart later. By default, Chart.js charts are [responsive](../configuration/responsive.html) and take the whole enclosing container. So, we set the width of the `div` to control chart width. +As you can see, Chart.js requires minimal markup: a `canvas` tag with an `id` by which we’ll reference the chart later. By default, Chart.js charts are [responsive](../configuration/responsive.md) and take the whole enclosing container. So, we set the width of the `div` to control chart width. Lastly, let’s create the `src/acquisitions.js` file with the following contents: @@ -96,7 +96,7 @@ Time to run the example with `npm run dev`, `yarn dev`, or `pnpm dev` and naviga ![result](./usage-1.png) -With just a few lines of code, we’ve got a chart with a lot of features: a [legend](../configuration/legend.html), [grid lines](../samples/scale-options/grid.html), [ticks](../samples/scale-options/ticks.html), and [tooltips](../configuration/tooltip.html) shown on hover. Refresh the web page a few times to see that the chart is also [animated](../configuration/animations.html#animations). Try clicking on the “Acquisitions by year” label to see that you’re also able to toggle datasets visibility (especially useful when you have multiple datasets). +With just a few lines of code, we’ve got a chart with a lot of features: a [legend](../configuration/legend.md), [grid lines](../samples/scale-options/grid.md), [ticks](../samples/scale-options/ticks.md), and [tooltips](../configuration/tooltip.md) shown on hover. Refresh the web page a few times to see that the chart is also [animated](../configuration/animations.md#animations). Try clicking on the “Acquisitions by year” label to see that you’re also able to toggle datasets visibility (especially useful when you have multiple datasets). ### Simple customizations @@ -133,7 +133,7 @@ Replace the `new Chart(...);` invocation in `src/acquisitions.js` with the follo ); ``` -As you can see, we’ve added the `options` property to the second argument—that’s how you can specify all kinds of customization options for Chart.js. The [animation is disabled](../configuration/animations.html#disabling-animation) with a boolean flag provided via `animation`. Most chart-wide options (e.g., [responsiveness](../configuration/responsive.html) or [device pixel ratio](../configuration/device-pixel-ratio.html)) are configured like this. +As you can see, we’ve added the `options` property to the second argument—that’s how you can specify all kinds of customization options for Chart.js. The [animation is disabled](../configuration/animations.md#disabling-animation) with a boolean flag provided via `animation`. Most chart-wide options (e.g., [responsiveness](../configuration/responsive.md) or [device pixel ratio](../configuration/device-pixel-ratio.md)) are configured like this. The legend and tooltips are hidden with boolean flags provided under the respective sections in `plugins`. Note that some of Chart.js features are extracted into plugins: self-contained, separate pieces of code. A few of them are available as a part of [Chart.js distribution](https://github.com/chartjs/Chart.js/tree/master/src/plugins), other plugins are maintained independently and can be located in the [awesome list](https://github.com/chartjs/awesome) of plugins, framework integrations, and additional chart types. @@ -252,7 +252,7 @@ We’re done with the bar chart. Let’s try another Chart.js chart type. Chart.js supports many common chart types. -For instance, [Bubble chart](../charts/bubble.html) allows to display three dimensions of data at the same time: locations on `x` and `y` axes represent two dimensions, and the third dimension is represented by the size of the individual bubbles. +For instance, [Bubble chart](../charts/bubble.md) allows to display three dimensions of data at the same time: locations on `x` and `y` axes represent two dimensions, and the third dimension is represented by the size of the individual bubbles. To create the chart, stop the already running application, then go to `src/index.html`, and uncomment the following two lines: @@ -301,7 +301,7 @@ Now, reset caches with `rm -rf .parcel-cache` and start the application again wi Well, it doesn’t look pretty. -First of all, the chart is not square. Artworks’ width and height are equally important so we’d like to make the chart width equal to its height as well. By default, Chart.js charts have the [aspect ratio](../configuration/responsive.html) of either 1 (for all radial charts, e.g., a doughnut chart) or 2 (for all the rest). Let’s modify the aspect ratio for our chart: +First of all, the chart is not square. Artworks’ width and height are equally important so we’d like to make the chart width equal to its height as well. By default, Chart.js charts have the [aspect ratio](../configuration/responsive.md) of either 1 (for all radial charts, e.g., a doughnut chart) or 2 (for all the rest). Let’s modify the aspect ratio for our chart: ```jsx // ... @@ -349,7 +349,7 @@ Great! Behold the updated chart: ![result](./usage-5.png) -However, there’s one more nitpick: what are these numbers? It’s not very obvious that the units are centimetres. Let’s apply a [custom tick format](../axes/labelling.html#creating-custom-tick-formats) to both axes to make things clear. We’ll provide a callback function that would be called to format each tick value. Here’s the updated axes configuration: +However, there’s one more nitpick: what are these numbers? It’s not very obvious that the units are centimetres. Let’s apply a [custom tick format](../axes/labelling.md#creating-custom-tick-formats) to both axes to make things clear. We’ll provide a callback function that would be called to format each tick value. Here’s the updated axes configuration: ```jsx // ... @@ -434,13 +434,13 @@ As you can see, we define three datasets with different labels. Each dataset get ![result](./usage-7.png) -Here we rely on the default color palette. However, keep in mind every chart type supports a lot of [dataset options](../charts/bubble.html#dataset-properties) that you can feel free to customize. +Here we rely on the default color palette. However, keep in mind every chart type supports a lot of [dataset options](../charts/bubble.md#dataset-properties) that you can feel free to customize. ### Plugins -Another—and very powerful!—way to customize Chart.js charts is to use plugins. You can find some in the [plugin directory](https://github.com/chartjs/awesome#plugins) or create your own, ad-hoc ones. In Chart.js ecosystem, it’s idiomatic and expected to fine tune charts with plugins. For example, you can customize [canvas background](../configuration/canvas-background.html) or [add a border](../samples/plugins/chart-area-border.html) to it with simple ad-hoc plugins. Let’s try the latter. +Another—and very powerful!—way to customize Chart.js charts is to use plugins. You can find some in the [plugin directory](https://github.com/chartjs/awesome#plugins) or create your own, ad-hoc ones. In Chart.js ecosystem, it’s idiomatic and expected to fine tune charts with plugins. For example, you can customize [canvas background](../configuration/canvas-background.md) or [add a border](../samples/plugins/chart-area-border.md) to it with simple ad-hoc plugins. Let’s try the latter. -Plugins have an [extensive API](../developers/plugins.html) but, in a nutshell, a plugin is defined as an object with a `name` and one or more callback functions defined in the extension points. Insert the following snippet before and in place of the `new Chart(...);` invocation in `src/dimensions.js`: +Plugins have an [extensive API](../developers/plugins.md) but, in a nutshell, a plugin is defined as an object with a `name` and one or more callback functions defined in the extension points. Insert the following snippet before and in place of the `new Chart(...);` invocation in `src/dimensions.js`: ```jsx // ... @@ -556,7 +556,7 @@ Chart.register( ); ``` -You can see that, in addition to the `Chart` class, we’re also loading a controller for the chart type, scales, and other chart elements (e.g., bars or points). You can look all available components up in the [documentation](./integration.html#bundle-optimization). +You can see that, in addition to the `Chart` class, we’re also loading a controller for the chart type, scales, and other chart elements (e.g., bars or points). You can look all available components up in the [documentation](./integration.md#bundle-optimization). Alternatively, you can follow Chart.js advice in the console. For example, if you forget to import `BarController` for your bar chart, you’ll see the following message in the browser console: @@ -586,6 +586,6 @@ By importing and registering only select components, we’ve removed more than 5 Now you’re familiar with all major concepts of Chart.js: chart types and elements, datasets, customization, plugins, components, and tree-shaking. -Feel free to review many [examples of charts](../samples/information.html) in the documentation and check the [awesome list](https://github.com/chartjs/awesome) of Chart.js plugins and additional chart types as well as [framework integrations](https://github.com/chartjs/awesome#integrations) (e.g., React, Vue, Svelte, etc.). Also, don’t hesitate to join [Chart.js Discord](https://discord.gg/HxEguTK6av) and follow [Chart.js on Twitter](https://twitter.com/chartjs). +Feel free to review many [examples of charts](../samples/information.md) in the documentation and check the [awesome list](https://github.com/chartjs/awesome) of Chart.js plugins and additional chart types as well as [framework integrations](https://github.com/chartjs/awesome#integrations) (e.g., React, Vue, Svelte, etc.). Also, don’t hesitate to join [Chart.js Discord](https://discord.gg/HxEguTK6av) and follow [Chart.js on Twitter](https://twitter.com/chartjs). Have fun and good luck building with Chart.js! \ No newline at end of file diff --git a/docs/index.md b/docs/index.md index 44dd7931c37..437185f67d8 100644 --- a/docs/index.md +++ b/docs/index.md @@ -3,10 +3,10 @@ Welcome to Chart.js! * **[Get started with Chart.js](./getting-started/) — best if you're new to Chart.js** -* Migrate from [Chart.js v3](./migration/v4-migration.html) or [Chart.js v2](./migration/v3-migration.html) +* Migrate from [Chart.js v3](./migration/v4-migration.md) or [Chart.js v2](./migration/v3-migration.md) * Join the community on [Discord](https://discord.gg/HxEguTK6av) and [Twitter](https://twitter.com/chartjs) * Post a question tagged with `chart.js` on [Stack Overflow](https://stackoverflow.com/questions/tagged/chart.js) -* [Contribute to Chart.js](./developers/contributing.html) +* [Contribute to Chart.js](./developers/contributing.md) ## Why Chart.js @@ -16,7 +16,7 @@ Chart.js was created and [announced](https://twitter.com/_nnnick/status/31359920 ### Features -Chart.js provides a set of frequently used chart types, plugins, and customization options. In addition to a reasonable set of [built-in chart types](./charts/area.html), you can use additional community-maintained [chart types](https://github.com/chartjs/awesome#charts). On top of that, it’s possible to combine several chart types into a [mixed chart](./charts/mixed.html) (essentially, blending multiple chart types into one on the same canvas). +Chart.js provides a set of frequently used chart types, plugins, and customization options. In addition to a reasonable set of [built-in chart types](./charts/area.md), you can use additional community-maintained [chart types](https://github.com/chartjs/awesome#charts). On top of that, it’s possible to combine several chart types into a [mixed chart](./charts/mixed.md) (essentially, blending multiple chart types into one on the same canvas). Chart.js is highly customizable with [custom plugins](https://github.com/chartjs/awesome#plugins) to create annotations, zoom, or drag-and-drop functionalities to name a few things. @@ -30,7 +30,7 @@ Chart.js comes with built-in TypeScript typings and is compatible with all popul ### Developer experience -Chart.js has very thorough documentation (yes, you're reading it), [API reference](./api/), and [examples](./samples/information.html). Maintainers and community members eagerly engage in conversations on [Discord](https://discord.gg/HxEguTK6av), [GitHub Discussions](https://github.com/chartjs/Chart.js/discussions), and [Stack Overflow](https://stackoverflow.com/questions/tagged/chart.js) where more than 11,000 questions are tagged with `chart.js`. +Chart.js has very thorough documentation (yes, you're reading it), [API reference](./api/), and [examples](./samples/information.md). Maintainers and community members eagerly engage in conversations on [Discord](https://discord.gg/HxEguTK6av), [GitHub Discussions](https://github.com/chartjs/Chart.js/discussions), and [Stack Overflow](https://stackoverflow.com/questions/tagged/chart.js) where more than 11,000 questions are tagged with `chart.js`. ### Canvas rendering @@ -38,7 +38,7 @@ Chart.js renders chart elements on an HTML5 canvas unlike several others, mostly ### Performance -Chart.js is very well suited for large datasets. Such datasets can be efficiently ingested using the internal format, so you can skip data [parsing](./general/performance.html#parsing) and [normalization](./general/performance.html#data-normalization). Alternatively, [data decimation](./configuration/decimation.html) can be configured to sample the dataset and reduce its size before rendering. +Chart.js is very well suited for large datasets. Such datasets can be efficiently ingested using the internal format, so you can skip data [parsing](./general/performance.md#parsing) and [normalization](./general/performance.md#data-normalization). Alternatively, [data decimation](./configuration/decimation.md) can be configured to sample the dataset and reduce its size before rendering. In the end, the canvas rendering that Chart.js uses reduces the toll on your DOM tree in comparison to SVG rendering. Also, tree-shaking support allows you to include minimal parts of Chart.js code in your bundle, reducing bundle size and page load time. diff --git a/docs/samples/advanced/data-decimation.md b/docs/samples/advanced/data-decimation.md index 4eb986ff196..ae108239a03 100644 --- a/docs/samples/advanced/data-decimation.md +++ b/docs/samples/advanced/data-decimation.md @@ -112,7 +112,7 @@ module.exports = { }; ``` ## Docs -* [Data Decimation](../../configuration/decimation.html) -* [Line](../../charts/line.html) -* [Time Scale](../../axes/cartesian/time.html) +* [Data Decimation](../../configuration/decimation.md) +* [Line](../../charts/line.md) +* [Time Scale](../../axes/cartesian/time.md) diff --git a/docs/samples/advanced/derived-axis-type.md b/docs/samples/advanced/derived-axis-type.md index 08f0e862be8..f9705e2cc31 100644 --- a/docs/samples/advanced/derived-axis-type.md +++ b/docs/samples/advanced/derived-axis-type.md @@ -50,6 +50,6 @@ module.exports = { <<< @/scripts/log2.js ## Docs -* [Data structures (`labels`)](../../general/data-structures.html) -* [Line](../../charts/line.html) -* [New Axes](../../developers/axes.html) +* [Data structures (`labels`)](../../general/data-structures.md) +* [Line](../../charts/line.md) +* [New Axes](../../developers/axes.md) diff --git a/docs/samples/advanced/derived-chart-type.md b/docs/samples/advanced/derived-chart-type.md index 8e74ec9ebb5..7f853e3aaa3 100644 --- a/docs/samples/advanced/derived-chart-type.md +++ b/docs/samples/advanced/derived-chart-type.md @@ -46,5 +46,5 @@ module.exports = { <<< @/scripts/derived-bubble.js ## Docs -* [Bubble Chart](../../charts/bubble.html) -* [New Charts](../../developers/charts.html) +* [Bubble Chart](../../charts/bubble.md) +* [New Charts](../../developers/charts.md) diff --git a/docs/samples/advanced/linear-gradient.md b/docs/samples/advanced/linear-gradient.md index 0dce9e1d706..e045f7cd522 100644 --- a/docs/samples/advanced/linear-gradient.md +++ b/docs/samples/advanced/linear-gradient.md @@ -110,9 +110,9 @@ module.exports = { ``` ## Docs -* [Colors](../../general/colors.html) - * [Patterns and Gradients](../../general/colors.html#patterns-and-gradients) -* [Data structures (`labels`)](../../general/data-structures.html) -* [Options](../../general/options.html) - * [Scriptable Options](../../general/options.html#scriptable-options) -* [Line](../../charts/line.html) +* [Colors](../../general/colors.md) + * [Patterns and Gradients](../../general/colors.md#patterns-and-gradients) +* [Data structures (`labels`)](../../general/data-structures.md) +* [Options](../../general/options.md) + * [Scriptable Options](../../general/options.md#scriptable-options) +* [Line](../../charts/line.md) diff --git a/docs/samples/advanced/programmatic-events.md b/docs/samples/advanced/programmatic-events.md index 8233ff615d3..4157d7ee98b 100644 --- a/docs/samples/advanced/programmatic-events.md +++ b/docs/samples/advanced/programmatic-events.md @@ -105,11 +105,11 @@ module.exports = { ## API * [Chart](../../api/classes/Chart.md) * [`setActiveElements`](../../api/classes/Chart.md#setactiveelements) -* [TooltipModel](../../api/interfaces/TooltipModel.html) - * [`setActiveElements`](../../api/interfaces/TooltipModel.html#setactiveelements) +* [TooltipModel](../../api/interfaces/TooltipModel.md) + * [`setActiveElements`](../../api/interfaces/TooltipModel.md#setactiveelements) ## Docs -* [Bar](../../charts/bar.html) - * [Interactions (`hoverBorderColor`)](../../charts/bar.html#interactions) -* [Interactions](../../configuration/interactions.html) -* [Tooltip](../../configuration/tooltip.html) +* [Bar](../../charts/bar.md) + * [Interactions (`hoverBorderColor`)](../../charts/bar.md#interactions) +* [Interactions](../../configuration/interactions.md) +* [Tooltip](../../configuration/tooltip.md) diff --git a/docs/samples/advanced/progress-bar.md b/docs/samples/advanced/progress-bar.md index 329dfe67d0a..016831b22a7 100644 --- a/docs/samples/advanced/progress-bar.md +++ b/docs/samples/advanced/progress-bar.md @@ -144,9 +144,9 @@ module.exports = { ``` ## Docs -* [Animations](../../configuration/animations.html) - * [Animation Callbacks](../../configuration/animations.html#animation-callbacks) -* [Data structures (`labels`)](../../general/data-structures.html) -* [Line](../../charts/line.html) -* [Options](../../general/options.html) - * [Scriptable Options](../../general/options.html#scriptable-options) +* [Animations](../../configuration/animations.md) + * [Animation Callbacks](../../configuration/animations.md#animation-callbacks) +* [Data structures (`labels`)](../../general/data-structures.md) +* [Line](../../charts/line.md) +* [Options](../../general/options.md) + * [Scriptable Options](../../general/options.md#scriptable-options) diff --git a/docs/samples/advanced/radial-gradient.md b/docs/samples/advanced/radial-gradient.md index 3ab3faedc88..0c07502be65 100644 --- a/docs/samples/advanced/radial-gradient.md +++ b/docs/samples/advanced/radial-gradient.md @@ -118,5 +118,5 @@ module.exports = { ## Docs * [Polar Area Chart](../../charts/polar.md) * [Styling](../../charts/polar.md#styling) -* [Options](../../general/options.html) - * [Scriptable Options](../../general/options.html#scriptable-options) \ No newline at end of file +* [Options](../../general/options.md) + * [Scriptable Options](../../general/options.md#scriptable-options) \ No newline at end of file diff --git a/docs/samples/animations/delay.md b/docs/samples/animations/delay.md index 696ef2c6e35..cec3267991c 100644 --- a/docs/samples/animations/delay.md +++ b/docs/samples/animations/delay.md @@ -78,10 +78,10 @@ module.exports = { }; ``` ## Docs -* [Animations](../../configuration/animations.html) - * [animation (`delay`)](../../configuration/animations.html#animation) - * [Animation Callbacks](../../configuration/animations.html#animation-callbacks) -* [Bar](../../charts/bar.html) - * [Stacked Bar Chart](../../charts/bar.html#stacked-bar-chart) -* [Options](../../general/options.html) - * [Scriptable Options](../../general/options.html#scriptable-options) +* [Animations](../../configuration/animations.md) + * [animation (`delay`)](../../configuration/animations.md#animation) + * [Animation Callbacks](../../configuration/animations.md#animation-callbacks) +* [Bar](../../charts/bar.md) + * [Stacked Bar Chart](../../charts/bar.md#stacked-bar-chart) +* [Options](../../general/options.md) + * [Scriptable Options](../../general/options.md#scriptable-options) diff --git a/docs/samples/animations/drop.md b/docs/samples/animations/drop.md index 5a3e6221584..37e1af0cd76 100644 --- a/docs/samples/animations/drop.md +++ b/docs/samples/animations/drop.md @@ -124,13 +124,13 @@ module.exports = { }; ``` ## Docs -* [Area](../../charts/area.html) -* [Animations](../../configuration/animations.html) - * [animation (`easing`)](../../configuration/animations.html#animation) - * [animations (`from`)](../../configuration/animations.html#animations-2) -* [Line](../../charts/line.html) - * [Line Styling](../../charts/line.html#line-styling) +* [Area](../../charts/area.md) +* [Animations](../../configuration/animations.md) + * [animation (`easing`)](../../configuration/animations.md#animation) + * [animations (`from`)](../../configuration/animations.md#animations-2) +* [Line](../../charts/line.md) + * [Line Styling](../../charts/line.md#line-styling) * `fill` * `tension` -* [Options](../../general/options.html) - * [Scriptable Options](../../general/options.html#scriptable-options) +* [Options](../../general/options.md) + * [Scriptable Options](../../general/options.md#scriptable-options) diff --git a/docs/samples/animations/loop.md b/docs/samples/animations/loop.md index 9e02a36a3a9..efd1fd8e15e 100644 --- a/docs/samples/animations/loop.md +++ b/docs/samples/animations/loop.md @@ -124,18 +124,18 @@ module.exports = { }; ``` ## Docs -* [Animations](../../configuration/animations.html) - * [animation](../../configuration/animations.html#animation) +* [Animations](../../configuration/animations.md) + * [animation](../../configuration/animations.md#animation) * `duration` * `easing` * **`loop`** - * [Default animations (`radius`)](../../configuration/animations.html#default-animations) -* [Data structures (`labels`)](../../general/data-structures.html) -* [Elements](../../configuration/elements.html) - * [Point Configuration](../../configuration/elements.html#point-configuration) + * [Default animations (`radius`)](../../configuration/animations.md#default-animations) +* [Data structures (`labels`)](../../general/data-structures.md) +* [Elements](../../configuration/elements.md) + * [Point Configuration](../../configuration/elements.md#point-configuration) * `hoverRadius` * `hoverBackgroundColor` -* [Line](../../charts/line.html) -* [Options](../../general/options.html) - * [Scriptable Options](../../general/options.html#scriptable-options) -* [Tooltip (`enabled`)](../../configuration/tooltip.html) +* [Line](../../charts/line.md) +* [Options](../../general/options.md) + * [Scriptable Options](../../general/options.md#scriptable-options) +* [Tooltip (`enabled`)](../../configuration/tooltip.md) diff --git a/docs/samples/animations/progressive-line-easing.md b/docs/samples/animations/progressive-line-easing.md index f0f5e6077b1..d64c2cec01e 100644 --- a/docs/samples/animations/progressive-line-easing.md +++ b/docs/samples/animations/progressive-line-easing.md @@ -173,17 +173,17 @@ module.exports = { ## Api * [Chart](../../api/classes/Chart.md) * [`getDatasetMeta`](../../api/classes/Chart.md#getdatasetmeta) -* [Scale](../../api/classes/Scale.html) - * [`getPixelForValue`](../../api/classes/Scale.html#getpixelforvalue) +* [Scale](../../api/classes/Scale.md) + * [`getPixelForValue`](../../api/classes/Scale.md#getpixelforvalue) ## Docs -* [Animations](../../configuration/animations.html) - * [animation](../../configuration/animations.html#animation) +* [Animations](../../configuration/animations.md) + * [animation](../../configuration/animations.md#animation) * `delay` * `duration` * `easing` * `loop` - * [Easing](../../configuration/animations.html#easing) -* [Line](../../charts/line.html) -* [Options](../../general/options.html) - * [Scriptable Options](../../general/options.html#scriptable-options) - * [Data Context](../../general/options.html#data) + * [Easing](../../configuration/animations.md#easing) +* [Line](../../charts/line.md) +* [Options](../../general/options.md) + * [Scriptable Options](../../general/options.md#scriptable-options) + * [Data Context](../../general/options.md#data) diff --git a/docs/samples/animations/progressive-line.md b/docs/samples/animations/progressive-line.md index d115cb79ee0..5db427af736 100644 --- a/docs/samples/animations/progressive-line.md +++ b/docs/samples/animations/progressive-line.md @@ -92,16 +92,16 @@ module.exports = { ## Api * [Chart](../../api/classes/Chart.md) * [`getDatasetMeta`](../../api/classes/Chart.md#getdatasetmeta) -* [Scale](../../api/classes/Scale.html) - * [`getPixelForValue`](../../api/classes/Scale.html#getpixelforvalue) +* [Scale](../../api/classes/Scale.md) + * [`getPixelForValue`](../../api/classes/Scale.md#getpixelforvalue) ## Docs -* [Animations](../../configuration/animations.html) - * [animation](../../configuration/animations.html#animation) +* [Animations](../../configuration/animations.md) + * [animation](../../configuration/animations.md#animation) * `delay` * `duration` * `easing` * `loop` -* [Line](../../charts/line.html) -* [Options](../../general/options.html) - * [Scriptable Options](../../general/options.html#scriptable-options) - * [Data Context](../../general/options.html#data) +* [Line](../../charts/line.md) +* [Options](../../general/options.md) + * [Scriptable Options](../../general/options.md#scriptable-options) + * [Data Context](../../general/options.md#data) diff --git a/docs/samples/area/line-boundaries.md b/docs/samples/area/line-boundaries.md index fa9c733e6ac..f013db952ef 100644 --- a/docs/samples/area/line-boundaries.md +++ b/docs/samples/area/line-boundaries.md @@ -120,8 +120,8 @@ module.exports = { ``` ## Docs -* [Area](../../charts/area.html) - * [Filling modes](../../charts/area.html#filling-modes) +* [Area](../../charts/area.md) + * [Filling modes](../../charts/area.md#filling-modes) * Boundary: `'start'`, `'end'`, `'origin'` -* [Line](../../charts/line.html) -* [Data structures (`labels`)](../../general/data-structures.html) +* [Line](../../charts/line.md) +* [Data structures (`labels`)](../../general/data-structures.md) diff --git a/docs/samples/area/line-datasets.md b/docs/samples/area/line-datasets.md index 409e98106d7..0b380054b6b 100644 --- a/docs/samples/area/line-datasets.md +++ b/docs/samples/area/line-datasets.md @@ -166,9 +166,9 @@ module.exports = {
## Docs -* [Area](../../charts/area.html) - * [Filling modes](../../charts/area.html#filling-modes) -* [Line](../../charts/line.html) -* [Data structures (`labels`)](../../general/data-structures.html) +* [Area](../../charts/area.md) + * [Filling modes](../../charts/area.md#filling-modes) +* [Line](../../charts/line.md) +* [Data structures (`labels`)](../../general/data-structures.md) * [Axes scales](../../axes/) * [Common options to all axes (`stacked`)](../../axes/#common-options-to-all-axes) diff --git a/docs/samples/area/line-drawtime.md b/docs/samples/area/line-drawtime.md index c9cc8256c7a..8cf5198fc81 100644 --- a/docs/samples/area/line-drawtime.md +++ b/docs/samples/area/line-drawtime.md @@ -114,8 +114,8 @@ module.exports = { }; ``` ## Docs -* [Area](../../charts/area.html) - * [Configuration (`drawTime`)](../../charts/area.html#configuration) -* [Line](../../charts/line.html) - * [Line Styling (`tension`)](../../charts/line.html#line-styling) -* [Data structures (`labels`)](../../general/data-structures.html) +* [Area](../../charts/area.md) + * [Configuration (`drawTime`)](../../charts/area.md#configuration) +* [Line](../../charts/line.md) + * [Line Styling (`tension`)](../../charts/line.md#line-styling) +* [Data structures (`labels`)](../../general/data-structures.md) diff --git a/docs/samples/area/line-stacked.md b/docs/samples/area/line-stacked.md index 33280d3f6cb..a711d125fb2 100644 --- a/docs/samples/area/line-stacked.md +++ b/docs/samples/area/line-stacked.md @@ -172,9 +172,9 @@ module.exports = { ``` ## Docs -* [Area](../../charts/area.html) - * [Filling modes](../../charts/area.html#filling-modes) -* [Line](../../charts/line.html) -* [Data structures (`labels`)](../../general/data-structures.html) +* [Area](../../charts/area.md) + * [Filling modes](../../charts/area.md#filling-modes) +* [Line](../../charts/line.md) +* [Data structures (`labels`)](../../general/data-structures.md) * [Axes scales](../../axes/) * [Common options to all axes (`stacked`)](../../axes/#common-options-to-all-axes) diff --git a/docs/samples/area/radar.md b/docs/samples/area/radar.md index 0888a5eff6a..66da8bf6190 100644 --- a/docs/samples/area/radar.md +++ b/docs/samples/area/radar.md @@ -141,8 +141,8 @@ module.exports = {
## Docs -* [Area](../../charts/area.html) - * [Filling modes](../../charts/area.html#filling-modes) - * [`propagate`](../../charts/area.html#propagate) -* [Radar](../../charts/radar.html) -* [Data structures (`labels`)](../../general/data-structures.html) +* [Area](../../charts/area.md) + * [Filling modes](../../charts/area.md#filling-modes) + * [`propagate`](../../charts/area.md#propagate) +* [Radar](../../charts/radar.md) +* [Data structures (`labels`)](../../general/data-structures.md) diff --git a/docs/samples/bar/border-radius.md b/docs/samples/bar/border-radius.md index 786b32b8c02..6cf5e03494e 100644 --- a/docs/samples/bar/border-radius.md +++ b/docs/samples/bar/border-radius.md @@ -71,6 +71,6 @@ module.exports = { ``` ## Docs -* [Bar](../../charts/bar.html) - * [`borderRadius`](../../charts/bar.html#borderradius) -* [Data structures (`labels`)](../../general/data-structures.html) +* [Bar](../../charts/bar.md) + * [`borderRadius`](../../charts/bar.md#borderradius) +* [Data structures (`labels`)](../../general/data-structures.md) diff --git a/docs/samples/bar/floating.md b/docs/samples/bar/floating.md index f7066bf6567..88832433d17 100644 --- a/docs/samples/bar/floating.md +++ b/docs/samples/bar/floating.md @@ -70,5 +70,5 @@ module.exports = { }; ``` ## Docs -* [Bar](../../charts/bar.html) -* [Data structures (`labels`)](../../general/data-structures.html) +* [Bar](../../charts/bar.md) +* [Data structures (`labels`)](../../general/data-structures.md) diff --git a/docs/samples/bar/horizontal.md b/docs/samples/bar/horizontal.md index 9067ff94f4e..85a17a421d5 100644 --- a/docs/samples/bar/horizontal.md +++ b/docs/samples/bar/horizontal.md @@ -123,6 +123,6 @@ module.exports = { ``` ## Docs -* [Bar](../../charts/bar.html) - * [Horizontal Bar Chart](../../charts/bar.html#horizontal-bar-chart) +* [Bar](../../charts/bar.md) + * [Horizontal Bar Chart](../../charts/bar.md#horizontal-bar-chart) diff --git a/docs/samples/bar/stacked-groups.md b/docs/samples/bar/stacked-groups.md index cf2ddee3ca8..f9dac39b4e8 100644 --- a/docs/samples/bar/stacked-groups.md +++ b/docs/samples/bar/stacked-groups.md @@ -81,8 +81,8 @@ module.exports = { ``` ## Docs -* [Bar](../../charts/bar.html) - * [Stacked Bar Chart](../../charts/bar.html#stacked-bar-chart) -* [Data structures (`labels`)](../../general/data-structures.html) - * [Dataset Configuration (`stack`)](../../general/data-structures.html#dataset-configuration) +* [Bar](../../charts/bar.md) + * [Stacked Bar Chart](../../charts/bar.md#stacked-bar-chart) +* [Data structures (`labels`)](../../general/data-structures.md) + * [Dataset Configuration (`stack`)](../../general/data-structures.md#dataset-configuration) diff --git a/docs/samples/bar/stacked.md b/docs/samples/bar/stacked.md index 95897591358..6e2639c4b2e 100644 --- a/docs/samples/bar/stacked.md +++ b/docs/samples/bar/stacked.md @@ -72,6 +72,6 @@ module.exports = { }; ``` ## Docs -* [Bar](../../charts/bar.html) - * [Stacked Bar Chart](../../charts/bar.html#stacked-bar-chart) +* [Bar](../../charts/bar.md) + * [Stacked Bar Chart](../../charts/bar.md#stacked-bar-chart) diff --git a/docs/samples/bar/vertical.md b/docs/samples/bar/vertical.md index 04184e1650d..e14859cdd02 100644 --- a/docs/samples/bar/vertical.md +++ b/docs/samples/bar/vertical.md @@ -115,5 +115,5 @@ module.exports = { ``` ## Docs -* [Bar](../../charts/bar.html) -* [Data structures (`labels`)](../../general/data-structures.html) +* [Bar](../../charts/bar.md) +* [Data structures (`labels`)](../../general/data-structures.md) diff --git a/docs/samples/legend/events.md b/docs/samples/legend/events.md index af455acf49a..fa715445ad5 100644 --- a/docs/samples/legend/events.md +++ b/docs/samples/legend/events.md @@ -57,7 +57,7 @@ module.exports = { ``` ## Docs -* [Doughnut and Pie Charts](../../charts/doughnut.html) -* [Legend](../../configuration/legend.html) +* [Doughnut and Pie Charts](../../charts/doughnut.md) +* [Legend](../../configuration/legend.md) * `onHover` * `onLeave` \ No newline at end of file diff --git a/docs/samples/legend/html.md b/docs/samples/legend/html.md index 00c92c83fb2..a1400a3d387 100644 --- a/docs/samples/legend/html.md +++ b/docs/samples/legend/html.md @@ -134,8 +134,8 @@ module.exports = { ``` ## Docs -* [Data structures (`labels`)](../../general/data-structures.html) -* [Line](../../charts/line.html) -* [Legend](../../configuration/legend.html) +* [Data structures (`labels`)](../../general/data-structures.md) +* [Line](../../charts/line.md) +* [Legend](../../configuration/legend.md) * `display: false` -* [Plugins](../../developers/plugins.html) +* [Plugins](../../developers/plugins.md) diff --git a/docs/samples/legend/point-style.md b/docs/samples/legend/point-style.md index 0ab168a0b5a..355045c676e 100644 --- a/docs/samples/legend/point-style.md +++ b/docs/samples/legend/point-style.md @@ -59,11 +59,11 @@ module.exports = { ``` ## Docs -* [Data structures (`labels`)](../../general/data-structures.html) -* [Line](../../charts/line.html) -* [Legend](../../configuration/legend.html) - * [Legend Label Configuration](../../configuration/legend.html#legend-label-configuration) +* [Data structures (`labels`)](../../general/data-structures.md) +* [Line](../../charts/line.md) +* [Legend](../../configuration/legend.md) + * [Legend Label Configuration](../../configuration/legend.md#legend-label-configuration) * `usePointStyle` -* [Elements](../../configuration/elements.html) - * [Point Configuration](../../configuration/elements.html#point-configuration) - * [Point Styles](../../configuration/elements.html#point-styles) +* [Elements](../../configuration/elements.md) + * [Point Configuration](../../configuration/elements.md#point-configuration) + * [Point Styles](../../configuration/elements.md#point-styles) diff --git a/docs/samples/legend/position.md b/docs/samples/legend/position.md index f226c66cf45..8597f4ed15b 100644 --- a/docs/samples/legend/position.md +++ b/docs/samples/legend/position.md @@ -68,7 +68,7 @@ module.exports = { ``` ## Docs -* [Data structures (`labels`)](../../general/data-structures.html) -* [Line](../../charts/line.html) -* [Legend](../../configuration/legend.html) - * [Position](../../configuration/legend.html#position) +* [Data structures (`labels`)](../../general/data-structures.md) +* [Line](../../charts/line.md) +* [Legend](../../configuration/legend.md) + * [Position](../../configuration/legend.md#position) diff --git a/docs/samples/legend/title.md b/docs/samples/legend/title.md index f3572e7a2bf..98ba86f404c 100644 --- a/docs/samples/legend/title.md +++ b/docs/samples/legend/title.md @@ -74,6 +74,6 @@ module.exports = { ``` ## Docs -* [Data structures (`labels`)](../../general/data-structures.html) -* [Line](../../charts/line.html) -* [Legend](../../configuration/legend.html) \ No newline at end of file +* [Data structures (`labels`)](../../general/data-structures.md) +* [Line](../../charts/line.md) +* [Legend](../../configuration/legend.md) \ No newline at end of file diff --git a/docs/samples/line/interpolation.md b/docs/samples/line/interpolation.md index a27f6adfd1b..9e7bfa151f6 100644 --- a/docs/samples/line/interpolation.md +++ b/docs/samples/line/interpolation.md @@ -77,7 +77,7 @@ module.exports = { ``` ## Docs -* [Line](../../charts/line.html) - * [`cubicInterpolationMode`](../../charts/line.html#cubicinterpolationmode) - * [Line Styling (`tension`)](../../charts/line.html#line-styling) +* [Line](../../charts/line.md) + * [`cubicInterpolationMode`](../../charts/line.md#cubicinterpolationmode) + * [Line Styling (`tension`)](../../charts/line.md#line-styling) diff --git a/docs/samples/line/line.md b/docs/samples/line/line.md index ea3f06dccb8..c3682f69093 100644 --- a/docs/samples/line/line.md +++ b/docs/samples/line/line.md @@ -114,5 +114,5 @@ module.exports = { ``` ## Docs -* [Line](../../charts/line.html) -* [Data structures (`labels`)](../../general/data-structures.html) +* [Line](../../charts/line.md) +* [Data structures (`labels`)](../../general/data-structures.md) diff --git a/docs/samples/line/multi-axis.md b/docs/samples/line/multi-axis.md index eb2921300f7..d1c625517ca 100644 --- a/docs/samples/line/multi-axis.md +++ b/docs/samples/line/multi-axis.md @@ -89,6 +89,6 @@ module.exports = { * [Axes scales](../../axes/) * [Cartesian Axes](../../axes/cartesian/) * [Axis Position](../../axes/cartesian/#axis-position) -* [Data structures (`labels`)](../../general/data-structures.html) -* [Line](../../charts/line.html) +* [Data structures (`labels`)](../../general/data-structures.md) +* [Line](../../charts/line.md) diff --git a/docs/samples/line/point-styling.md b/docs/samples/line/point-styling.md index 714cd052bd5..dbb31c20eda 100644 --- a/docs/samples/line/point-styling.md +++ b/docs/samples/line/point-styling.md @@ -145,6 +145,6 @@ module.exports = { ``` ## Docs -* [Data structures (`labels`)](../../general/data-structures.html) -* [Line](../../charts/line.html) - * [Point Styling](../../charts/line.html#point-styling) +* [Data structures (`labels`)](../../general/data-structures.md) +* [Line](../../charts/line.md) + * [Point Styling](../../charts/line.md#point-styling) diff --git a/docs/samples/line/segments.md b/docs/samples/line/segments.md index 2540c60b882..c4b847d66e1 100644 --- a/docs/samples/line/segments.md +++ b/docs/samples/line/segments.md @@ -45,9 +45,9 @@ module.exports = { ``` ## Docs -* [Data structures (`labels`)](../../general/data-structures.html) -* [Line](../../charts/line.html) - * [Line Styling](../../charts/line.html#line-styling) - * [Segment](../../charts/line.html#segment) -* [Options](../../general/options.html) - * [Scriptable Options](../../general/options.html#scriptable-options) \ No newline at end of file +* [Data structures (`labels`)](../../general/data-structures.md) +* [Line](../../charts/line.md) + * [Line Styling](../../charts/line.md#line-styling) + * [Segment](../../charts/line.md#segment) +* [Options](../../general/options.md) + * [Scriptable Options](../../general/options.md#scriptable-options) \ No newline at end of file diff --git a/docs/samples/line/stepped.md b/docs/samples/line/stepped.md index 1005ab0c771..9536d195e14 100644 --- a/docs/samples/line/stepped.md +++ b/docs/samples/line/stepped.md @@ -93,6 +93,6 @@ module.exports = { ``` ## Docs -* [Data structures (`labels`)](../../general/data-structures.html) -* [Line](../../charts/line.html) - * [Stepped](../../charts/line.html#stepped) +* [Data structures (`labels`)](../../general/data-structures.md) +* [Line](../../charts/line.md) + * [Stepped](../../charts/line.md#stepped) diff --git a/docs/samples/line/styling.md b/docs/samples/line/styling.md index f3212b49c12..18778d0a7d2 100644 --- a/docs/samples/line/styling.md +++ b/docs/samples/line/styling.md @@ -76,6 +76,6 @@ module.exports = { ``` ## Docs -* [Data structures (`labels`)](../../general/data-structures.html) -* [Line](../../charts/line.html) - * [Line Styling](../../charts/line.html#line-styling) +* [Data structures (`labels`)](../../general/data-structures.md) +* [Line](../../charts/line.md) + * [Line Styling](../../charts/line.md#line-styling) diff --git a/docs/samples/other-charts/bubble.md b/docs/samples/other-charts/bubble.md index 5170387ebbf..26f4d40fd92 100644 --- a/docs/samples/other-charts/bubble.md +++ b/docs/samples/other-charts/bubble.md @@ -109,4 +109,4 @@ module.exports = { ``` ## Docs -* [Bubble](../../charts/bubble.html) +* [Bubble](../../charts/bubble.md) diff --git a/docs/samples/other-charts/combo-bar-line.md b/docs/samples/other-charts/combo-bar-line.md index 99fcff10d4e..d6451b740d7 100644 --- a/docs/samples/other-charts/combo-bar-line.md +++ b/docs/samples/other-charts/combo-bar-line.md @@ -118,6 +118,6 @@ module.exports = { ``` ## Docs -* [Bar](../../charts/bar.html) -* [Line](../../charts/line.html) -* [Data structures (`labels`)](../../general/data-structures.html) +* [Bar](../../charts/bar.md) +* [Line](../../charts/line.md) +* [Data structures (`labels`)](../../general/data-structures.md) diff --git a/docs/samples/other-charts/doughnut.md b/docs/samples/other-charts/doughnut.md index 8cde2082f00..6d67b16955d 100644 --- a/docs/samples/other-charts/doughnut.md +++ b/docs/samples/other-charts/doughnut.md @@ -136,4 +136,4 @@ module.exports = { ``` ## Docs -* [Doughnut and Pie Charts](../../charts/doughnut.html) +* [Doughnut and Pie Charts](../../charts/doughnut.md) diff --git a/docs/samples/other-charts/multi-series-pie.md b/docs/samples/other-charts/multi-series-pie.md index 735addee06c..8332fc09bd2 100644 --- a/docs/samples/other-charts/multi-series-pie.md +++ b/docs/samples/other-charts/multi-series-pie.md @@ -91,6 +91,6 @@ module.exports = { ``` ## Docs -* [Doughnut and Pie Charts](../../charts/doughnut.html) -* [Options](../../general/options.html) - * [Scriptable Options](../../general/options.html#scriptable-options) \ No newline at end of file +* [Doughnut and Pie Charts](../../charts/doughnut.md) +* [Options](../../general/options.md) + * [Scriptable Options](../../general/options.md#scriptable-options) \ No newline at end of file diff --git a/docs/samples/other-charts/pie.md b/docs/samples/other-charts/pie.md index ee11cec7b5a..465869b888a 100644 --- a/docs/samples/other-charts/pie.md +++ b/docs/samples/other-charts/pie.md @@ -111,4 +111,4 @@ module.exports = { }; ``` ## Docs -* [Doughnut and Pie Charts](../../charts/doughnut.html) +* [Doughnut and Pie Charts](../../charts/doughnut.md) diff --git a/docs/samples/other-charts/polar-area-center-labels.md b/docs/samples/other-charts/polar-area-center-labels.md index 9eb9aaffb68..c25f8421317 100644 --- a/docs/samples/other-charts/polar-area-center-labels.md +++ b/docs/samples/other-charts/polar-area-center-labels.md @@ -103,5 +103,5 @@ module.exports = { ## Docs * [Polar Area Chart](../../charts/polar.md) -* [Linear Radial Axis](../../axes/radial/linear.html) - * [Point Label Options (`centerPointLabels`)](../../axes/radial/linear.html#point-label-options) \ No newline at end of file +* [Linear Radial Axis](../../axes/radial/linear.md) + * [Point Label Options (`centerPointLabels`)](../../axes/radial/linear.md#point-label-options) \ No newline at end of file diff --git a/docs/samples/other-charts/radar-skip-points.md b/docs/samples/other-charts/radar-skip-points.md index b2162c760c0..d3420656016 100644 --- a/docs/samples/other-charts/radar-skip-points.md +++ b/docs/samples/other-charts/radar-skip-points.md @@ -86,5 +86,5 @@ module.exports = { ``` ## Docs -* [Radar](../../charts/radar.html) -* [Data structures (`labels`)](../../general/data-structures.html) +* [Radar](../../charts/radar.md) +* [Data structures (`labels`)](../../general/data-structures.md) diff --git a/docs/samples/other-charts/radar.md b/docs/samples/other-charts/radar.md index b48092321d0..4ebc516a38c 100644 --- a/docs/samples/other-charts/radar.md +++ b/docs/samples/other-charts/radar.md @@ -111,5 +111,5 @@ module.exports = { ``` ## Docs -* [Radar](../../charts/radar.html) -* [Data structures (`labels`)](../../general/data-structures.html) +* [Radar](../../charts/radar.md) +* [Data structures (`labels`)](../../general/data-structures.md) diff --git a/docs/samples/other-charts/scatter-multi-axis.md b/docs/samples/other-charts/scatter-multi-axis.md index 32eb822c84c..6b3cb8e70d2 100644 --- a/docs/samples/other-charts/scatter-multi-axis.md +++ b/docs/samples/other-charts/scatter-multi-axis.md @@ -131,6 +131,6 @@ module.exports = { ``` ## Docs -* [Scatter](../../charts/scatter.html) +* [Scatter](../../charts/scatter.md) * [Cartesian Axes](../../axes/cartesian/) * [Axis Position](../../axes/cartesian/#axis-position) diff --git a/docs/samples/other-charts/scatter.md b/docs/samples/other-charts/scatter.md index c2fb43c9b5a..2ab75fbfbe8 100644 --- a/docs/samples/other-charts/scatter.md +++ b/docs/samples/other-charts/scatter.md @@ -109,4 +109,4 @@ module.exports = { ``` ## Docs -* [Scatter](../../charts/scatter.html) +* [Scatter](../../charts/scatter.md) diff --git a/docs/samples/other-charts/stacked-bar-line.md b/docs/samples/other-charts/stacked-bar-line.md index 24e22f2cc78..20651722f3b 100644 --- a/docs/samples/other-charts/stacked-bar-line.md +++ b/docs/samples/other-charts/stacked-bar-line.md @@ -123,8 +123,8 @@ module.exports = { * [Axes scales](../../axes/) * [Common options to all axes (`stacked`)](../../axes/#common-options-to-all-axes) * [Stacking](../../axes/#stacking) -* [Bar](../../charts/bar.html) -* [Line](../../charts/line.html) -* [Data structures (`labels`)](../../general/data-structures.html) - * [Dataset Configuration (`stack`)](../../general/data-structures.html#dataset-configuration) +* [Bar](../../charts/bar.md) +* [Line](../../charts/line.md) +* [Data structures (`labels`)](../../general/data-structures.md) + * [Dataset Configuration (`stack`)](../../general/data-structures.md#dataset-configuration) diff --git a/docs/samples/plugins/chart-area-border.md b/docs/samples/plugins/chart-area-border.md index 3593770d14b..cccfa2473ec 100644 --- a/docs/samples/plugins/chart-area-border.md +++ b/docs/samples/plugins/chart-area-border.md @@ -64,6 +64,6 @@ module.exports = { ``` ## Docs -* [Line](../../charts/line.html) -* [Data structures (`labels`)](../../general/data-structures.html) -* [Plugins](../../developers/plugins.html) +* [Line](../../charts/line.md) +* [Data structures (`labels`)](../../general/data-structures.md) +* [Plugins](../../developers/plugins.md) diff --git a/docs/samples/plugins/doughnut-empty-state.md b/docs/samples/plugins/doughnut-empty-state.md index c9afac0c29d..1e9267b7920 100644 --- a/docs/samples/plugins/doughnut-empty-state.md +++ b/docs/samples/plugins/doughnut-empty-state.md @@ -78,6 +78,6 @@ module.exports = { ``` ## Docs -* [Data structures (`labels`)](../../general/data-structures.html) -* [Plugins](../../developers/plugins.html) -* [Doughnut and Pie Charts](../../charts/doughnut.html) +* [Data structures (`labels`)](../../general/data-structures.md) +* [Plugins](../../developers/plugins.md) +* [Doughnut and Pie Charts](../../charts/doughnut.md) diff --git a/docs/samples/plugins/quadrants.md b/docs/samples/plugins/quadrants.md index e4715b15da1..3354a6a0290 100644 --- a/docs/samples/plugins/quadrants.md +++ b/docs/samples/plugins/quadrants.md @@ -80,6 +80,6 @@ module.exports = { ``` ## Docs -* [Data structures (`labels`)](../../general/data-structures.html) -* [Plugins](../../developers/plugins.html) -* [Scatter](../../charts/scatter.html) +* [Data structures (`labels`)](../../general/data-structures.md) +* [Plugins](../../developers/plugins.md) +* [Scatter](../../charts/scatter.md) diff --git a/docs/samples/scale-options/center.md b/docs/samples/scale-options/center.md index e7d0098af68..b435c6174f5 100644 --- a/docs/samples/scale-options/center.md +++ b/docs/samples/scale-options/center.md @@ -89,6 +89,6 @@ module.exports = { ``` ## Docs -* [Scatter](../../charts/scatter.html) +* [Scatter](../../charts/scatter.md) * [Cartesian Axes](../../axes/cartesian/) * [Axis Position](../../axes/cartesian/#axis-position) \ No newline at end of file diff --git a/docs/samples/scale-options/grid.md b/docs/samples/scale-options/grid.md index 487a1659c05..fdbea55de7b 100644 --- a/docs/samples/scale-options/grid.md +++ b/docs/samples/scale-options/grid.md @@ -98,10 +98,10 @@ module.exports = { ``` ## Docs -* [Line](../../charts/line.html) -* [Options](../../general/options.html) - * [Scriptable Options](../../general/options.html#scriptable-options) - * [Tick Context](../../general/options.html#tick) -* [Data structures (`labels`)](../../general/data-structures.html) -* [Axes Styling](../../axes/styling.html) - * [Grid Line Configuration](../../axes/styling.html#grid-line-configuration) \ No newline at end of file +* [Line](../../charts/line.md) +* [Options](../../general/options.md) + * [Scriptable Options](../../general/options.md#scriptable-options) + * [Tick Context](../../general/options.md#tick) +* [Data structures (`labels`)](../../general/data-structures.md) +* [Axes Styling](../../axes/styling.md) + * [Grid Line Configuration](../../axes/styling.md#grid-line-configuration) \ No newline at end of file diff --git a/docs/samples/scale-options/ticks.md b/docs/samples/scale-options/ticks.md index b97638fa0e6..e6e7bb2f94d 100644 --- a/docs/samples/scale-options/ticks.md +++ b/docs/samples/scale-options/ticks.md @@ -94,10 +94,10 @@ module.exports = { ``` ## Docs -* [Line](../../charts/line.html) -* [Options](../../general/options.html) - * [Scriptable Options](../../general/options.html#scriptable-options) - * [Tick Context](../../general/options.html#tick) -* [Data structures (`labels`)](../../general/data-structures.html) -* [Axes Styling](../../axes/styling.html) - * [Tick Configuration](../../axes/styling.html#tick-configuration) \ No newline at end of file +* [Line](../../charts/line.md) +* [Options](../../general/options.md) + * [Scriptable Options](../../general/options.md#scriptable-options) + * [Tick Context](../../general/options.md#tick) +* [Data structures (`labels`)](../../general/data-structures.md) +* [Axes Styling](../../axes/styling.md) + * [Tick Configuration](../../axes/styling.md#tick-configuration) \ No newline at end of file diff --git a/docs/samples/scale-options/titles.md b/docs/samples/scale-options/titles.md index d045bfdce66..e49316b0671 100644 --- a/docs/samples/scale-options/titles.md +++ b/docs/samples/scale-options/titles.md @@ -76,10 +76,10 @@ module.exports = { ``` ## Docs -* [Line](../../charts/line.html) -* [Data structures (`labels`)](../../general/data-structures.html) -* [Axes Styling](../../axes/styling.html) +* [Line](../../charts/line.md) +* [Data structures (`labels`)](../../general/data-structures.md) +* [Axes Styling](../../axes/styling.md) * [Cartesian Axes](../../axes/cartesian/) * [Common options to all cartesian axes](../../axes/cartesian/#common-options-to-all-cartesian-axes) -* [Labeling Axes](../../axes/labelling.html) - * [Scale Title Configuration](../../axes/labelling.html#scale-title-configuration) \ No newline at end of file +* [Labeling Axes](../../axes/labelling.md) + * [Scale Title Configuration](../../axes/labelling.md#scale-title-configuration) \ No newline at end of file diff --git a/docs/samples/scales/linear-min-max-suggested.md b/docs/samples/scales/linear-min-max-suggested.md index ae6bbe8208e..3e6e4fdbd8d 100644 --- a/docs/samples/scales/linear-min-max-suggested.md +++ b/docs/samples/scales/linear-min-max-suggested.md @@ -56,8 +56,8 @@ module.exports = { ``` ## Docs -* [Line](../../charts/line.html) -* [Data structures (`labels`)](../../general/data-structures.html) +* [Line](../../charts/line.md) +* [Data structures (`labels`)](../../general/data-structures.md) * [Axes scales](../../axes/) * [Common options to all axes](../../axes/#common-options-to-all-axes) * [Axis Range Settings](../../axes/#axis-range-settings) diff --git a/docs/samples/scales/linear-min-max.md b/docs/samples/scales/linear-min-max.md index 996b6167219..29b8a2d17eb 100644 --- a/docs/samples/scales/linear-min-max.md +++ b/docs/samples/scales/linear-min-max.md @@ -53,8 +53,8 @@ module.exports = { ``` ## Docs -* [Line](../../charts/line.html) -* [Data structures (`labels`)](../../general/data-structures.html) +* [Line](../../charts/line.md) +* [Data structures (`labels`)](../../general/data-structures.md) * [Axes scales](../../axes/) * [Common options to all axes (`min`,`max`)](../../axes/#common-options-to-all-axes) \ No newline at end of file diff --git a/docs/samples/scales/linear-step-size.md b/docs/samples/scales/linear-step-size.md index 0303940c717..da8905a0b6a 100644 --- a/docs/samples/scales/linear-step-size.md +++ b/docs/samples/scales/linear-step-size.md @@ -139,10 +139,10 @@ module.exports = { ``` ## Docs -* [Line](../../charts/line.html) -* [Data structures (`labels`)](../../general/data-structures.html) +* [Line](../../charts/line.md) +* [Data structures (`labels`)](../../general/data-structures.md) * [Axes scales](../../axes/) * [Common options to all axes (`min`,`max`)](../../axes/#common-options-to-all-axes) -* [Linear Axis](../../axes/cartesian/linear.html) - * [Linear Axis specific tick options (`stepSize`)](../../axes/cartesian/linear.html#linear-axis-specific-tick-options) - * [Step Size](../../axes/cartesian/linear.html#step-size) +* [Linear Axis](../../axes/cartesian/linear.md) + * [Linear Axis specific tick options (`stepSize`)](../../axes/cartesian/linear.md#linear-axis-specific-tick-options) + * [Step Size](../../axes/cartesian/linear.md#step-size) diff --git a/docs/samples/scales/log.md b/docs/samples/scales/log.md index 59d3527cdef..35ae8e63414 100644 --- a/docs/samples/scales/log.md +++ b/docs/samples/scales/log.md @@ -76,7 +76,7 @@ module.exports = { ``` ## Docs -* [Line](../../charts/line.html) -* [Logarithmic Axis](../../axes/cartesian/logarithmic.html) -* [Data structures (`labels`)](../../general/data-structures.html) +* [Line](../../charts/line.md) +* [Logarithmic Axis](../../axes/cartesian/logarithmic.md) +* [Data structures (`labels`)](../../general/data-structures.md) diff --git a/docs/samples/scales/stacked.md b/docs/samples/scales/stacked.md index 89651bfa600..461236dc95b 100644 --- a/docs/samples/scales/stacked.md +++ b/docs/samples/scales/stacked.md @@ -71,7 +71,7 @@ module.exports = { ``` ## Docs -* [Line](../../charts/line.html) +* [Line](../../charts/line.md) * [Axes scales](../../axes/) * [Stacking](../../axes/#stacking) -* [Data structures (`labels`)](../../general/data-structures.html) +* [Data structures (`labels`)](../../general/data-structures.md) diff --git a/docs/samples/scales/time-combo.md b/docs/samples/scales/time-combo.md index 0a84043f7a1..9c7436ca219 100644 --- a/docs/samples/scales/time-combo.md +++ b/docs/samples/scales/time-combo.md @@ -85,7 +85,7 @@ module.exports = { ``` ## Docs -* [Bar](../../charts/bar.html) -* [Line](../../charts/line.html) -* [Data structures (`labels`)](../../general/data-structures.html) -* [Time Scale](../../axes/cartesian/time.html) +* [Bar](../../charts/bar.md) +* [Line](../../charts/line.md) +* [Data structures (`labels`)](../../general/data-structures.md) +* [Time Scale](../../axes/cartesian/time.md) diff --git a/docs/samples/scales/time-line.md b/docs/samples/scales/time-line.md index 78f16a45d39..057fe90ea8f 100644 --- a/docs/samples/scales/time-line.md +++ b/docs/samples/scales/time-line.md @@ -112,5 +112,5 @@ module.exports = { ``` ## Docs -* [Line](../../charts/line.html) -* [Time Cartesian Axis](../../axes/cartesian/time.html) \ No newline at end of file +* [Line](../../charts/line.md) +* [Time Cartesian Axis](../../axes/cartesian/time.md) \ No newline at end of file diff --git a/docs/samples/scales/time-max-span.md b/docs/samples/scales/time-max-span.md index 84fa038d1f5..47d771f8773 100644 --- a/docs/samples/scales/time-max-span.md +++ b/docs/samples/scales/time-max-span.md @@ -126,6 +126,6 @@ module.exports = { ``` ## Docs -* [Line](../../charts/line.html) - * [`spanGaps`](../../charts/line.html#line-styling) -* [Time Scale](../../axes/cartesian/time.html) +* [Line](../../charts/line.md) + * [`spanGaps`](../../charts/line.md#line-styling) +* [Time Scale](../../axes/cartesian/time.md) diff --git a/docs/samples/scriptable/bar.md b/docs/samples/scriptable/bar.md index f6d89ca838a..74562c881b8 100644 --- a/docs/samples/scriptable/bar.md +++ b/docs/samples/scriptable/bar.md @@ -74,8 +74,8 @@ module.exports = { ``` ## Docs -* [Bar](../../charts/bar.html) -* [Data structures (`labels`)](../../general/data-structures.html) - * [Dataset Configuration (`stack`)](../../general/data-structures.html#dataset-configuration) -* [Options](../../general/options.html) - * [Scriptable Options](../../general/options.html#scriptable-options) +* [Bar](../../charts/bar.md) +* [Data structures (`labels`)](../../general/data-structures.md) + * [Dataset Configuration (`stack`)](../../general/data-structures.md#dataset-configuration) +* [Options](../../general/options.md) + * [Scriptable Options](../../general/options.md#scriptable-options) diff --git a/docs/samples/scriptable/bubble.md b/docs/samples/scriptable/bubble.md index 3dff79ad979..7d2c0286e81 100644 --- a/docs/samples/scriptable/bubble.md +++ b/docs/samples/scriptable/bubble.md @@ -109,6 +109,6 @@ module.exports = { ``` ## Docs -* [Bubble](../../charts/bubble.html) -* [Options](../../general/options.html) - * [Scriptable Options](../../general/options.html#scriptable-options) \ No newline at end of file +* [Bubble](../../charts/bubble.md) +* [Options](../../general/options.md) + * [Scriptable Options](../../general/options.md#scriptable-options) \ No newline at end of file diff --git a/docs/samples/scriptable/line.md b/docs/samples/scriptable/line.md index bd231234909..bef78abc737 100644 --- a/docs/samples/scriptable/line.md +++ b/docs/samples/scriptable/line.md @@ -91,9 +91,9 @@ module.exports = { ``` ## Docs -* [Line](../../charts/line.html) - * [Point Styling](../../charts/line.html#point-styling) -* [Options](../../general/options.html) - * [Scriptable Options](../../general/options.html#scriptable-options) -* [Data structures (`labels`)](../../general/data-structures.html) +* [Line](../../charts/line.md) + * [Point Styling](../../charts/line.md#point-styling) +* [Options](../../general/options.md) + * [Scriptable Options](../../general/options.md#scriptable-options) +* [Data structures (`labels`)](../../general/data-structures.md) diff --git a/docs/samples/scriptable/pie.md b/docs/samples/scriptable/pie.md index a5c948a07b0..1a633108c42 100644 --- a/docs/samples/scriptable/pie.md +++ b/docs/samples/scriptable/pie.md @@ -87,6 +87,6 @@ module.exports = { ``` ## Docs -* [Options](../../general/options.html) - * [Scriptable Options](../../general/options.html#scriptable-options) -* [Doughnut and Pie Charts](../../charts/doughnut.html) \ No newline at end of file +* [Options](../../general/options.md) + * [Scriptable Options](../../general/options.md#scriptable-options) +* [Doughnut and Pie Charts](../../charts/doughnut.md) \ No newline at end of file diff --git a/docs/samples/scriptable/polar.md b/docs/samples/scriptable/polar.md index 587be6a0b8b..de2178b98d1 100644 --- a/docs/samples/scriptable/polar.md +++ b/docs/samples/scriptable/polar.md @@ -77,6 +77,6 @@ module.exports = { ``` ## Docs -* [Options](../../general/options.html) - * [Scriptable Options](../../general/options.html#scriptable-options) +* [Options](../../general/options.md) + * [Scriptable Options](../../general/options.md#scriptable-options) * [Polar Area Chart](../../charts/polar.md) diff --git a/docs/samples/scriptable/radar.md b/docs/samples/scriptable/radar.md index 20114bb57d8..9ee177de891 100644 --- a/docs/samples/scriptable/radar.md +++ b/docs/samples/scriptable/radar.md @@ -94,6 +94,6 @@ module.exports = { ``` ## Docs -* [Options](../../general/options.html) - * [Scriptable Options](../../general/options.html#scriptable-options) -* [Radar](../../charts/radar.html) +* [Options](../../general/options.md) + * [Scriptable Options](../../general/options.md#scriptable-options) +* [Radar](../../charts/radar.md) diff --git a/docs/samples/subtitle/basic.md b/docs/samples/subtitle/basic.md index c377e20d566..285ed2693ea 100644 --- a/docs/samples/subtitle/basic.md +++ b/docs/samples/subtitle/basic.md @@ -55,7 +55,7 @@ module.exports = { ``` ## Docs -* [Data structures (`labels`)](../../general/data-structures.html) -* [Line](../../charts/line.html) -* [Title](../../configuration/title.html) -* [Subtitle](../../configuration/subtitle.html) +* [Data structures (`labels`)](../../general/data-structures.md) +* [Line](../../charts/line.md) +* [Title](../../configuration/title.md) +* [Subtitle](../../configuration/subtitle.md) diff --git a/docs/samples/title/alignment.md b/docs/samples/title/alignment.md index 197d64dc493..5c612e70908 100644 --- a/docs/samples/title/alignment.md +++ b/docs/samples/title/alignment.md @@ -69,6 +69,6 @@ module.exports = { ``` ## Docs -* [Data structures (`labels`)](../../general/data-structures.html) -* [Line](../../charts/line.html) -* [Title](../../configuration/title.html) \ No newline at end of file +* [Data structures (`labels`)](../../general/data-structures.md) +* [Line](../../charts/line.md) +* [Title](../../configuration/title.md) \ No newline at end of file diff --git a/docs/samples/tooltip/content.md b/docs/samples/tooltip/content.md index 3abe1fc7b6f..bc5834a4e7c 100644 --- a/docs/samples/tooltip/content.md +++ b/docs/samples/tooltip/content.md @@ -66,7 +66,7 @@ module.exports = { ``` ## Docs -* [Data structures (`labels`)](../../general/data-structures.html) -* [Line](../../charts/line.html) -* [Tooltip](../../configuration/tooltip.html) - * [Tooltip Callbacks](../../configuration/tooltip.html#tooltip-callbacks) +* [Data structures (`labels`)](../../general/data-structures.md) +* [Line](../../charts/line.md) +* [Tooltip](../../configuration/tooltip.md) + * [Tooltip Callbacks](../../configuration/tooltip.md#tooltip-callbacks) diff --git a/docs/samples/tooltip/html.md b/docs/samples/tooltip/html.md index b139afd9cbf..267787eaf33 100644 --- a/docs/samples/tooltip/html.md +++ b/docs/samples/tooltip/html.md @@ -165,8 +165,8 @@ module.exports = { ``` ## Docs -* [Data structures (`labels`)](../../general/data-structures.html) -* [Line](../../charts/line.html) -* [Tooltip](../../configuration/tooltip.html) - * [External (Custom) Tooltips](../../configuration/tooltip.html#external-custom-tooltips) +* [Data structures (`labels`)](../../general/data-structures.md) +* [Line](../../charts/line.md) +* [Tooltip](../../configuration/tooltip.md) + * [External (Custom) Tooltips](../../configuration/tooltip.md#external-custom-tooltips) \ No newline at end of file diff --git a/docs/samples/tooltip/interactions.md b/docs/samples/tooltip/interactions.md index 86cf5fc9614..1b4e3937eeb 100644 --- a/docs/samples/tooltip/interactions.md +++ b/docs/samples/tooltip/interactions.md @@ -130,7 +130,7 @@ module.exports = { ``` ## Docs -* [Data structures (`labels`)](../../general/data-structures.html) -* [Line](../../charts/line.html) -* [Tooltip](../../configuration/tooltip.html) -* [Interactions](../../configuration/interactions.html) +* [Data structures (`labels`)](../../general/data-structures.md) +* [Line](../../charts/line.md) +* [Tooltip](../../configuration/tooltip.md) +* [Interactions](../../configuration/interactions.md) diff --git a/docs/samples/tooltip/point-style.md b/docs/samples/tooltip/point-style.md index d78bb62e877..d6dcfda5b20 100644 --- a/docs/samples/tooltip/point-style.md +++ b/docs/samples/tooltip/point-style.md @@ -80,10 +80,10 @@ module.exports = { ``` ## Docs -* [Data structures (`labels`)](../../general/data-structures.html) -* [Line](../../charts/line.html) -* [Tooltip](../../configuration/tooltip.html) +* [Data structures (`labels`)](../../general/data-structures.md) +* [Line](../../charts/line.md) +* [Tooltip](../../configuration/tooltip.md) * `usePointStyle` -* [Elements](../../configuration/elements.html) - * [Point Styles](../../configuration/elements.html#point-styles) +* [Elements](../../configuration/elements.md) + * [Point Styles](../../configuration/elements.md#point-styles) diff --git a/docs/samples/tooltip/position.md b/docs/samples/tooltip/position.md index 34b4bfbaa30..4209de5a6f7 100644 --- a/docs/samples/tooltip/position.md +++ b/docs/samples/tooltip/position.md @@ -101,8 +101,8 @@ module.exports = { ``` ## Docs -* [Data structures (`labels`)](../../general/data-structures.html) -* [Line](../../charts/line.html) -* [Tooltip](../../configuration/tooltip.html) - * [Position Modes](../../configuration/tooltip.html#position-modes) - * [Custom Position Modes](../../configuration/tooltip.html#custom-position-modes) \ No newline at end of file +* [Data structures (`labels`)](../../general/data-structures.md) +* [Line](../../charts/line.md) +* [Tooltip](../../configuration/tooltip.md) + * [Position Modes](../../configuration/tooltip.md#position-modes) + * [Custom Position Modes](../../configuration/tooltip.md#custom-position-modes) \ No newline at end of file From a3fc84113e51ebc34d7b897623469f591218bf7d Mon Sep 17 00:00:00 2001 From: Mercy Bickell <54828611+Mer-cat@users.noreply.github.com> Date: Mon, 7 Aug 2023 16:18:54 -0600 Subject: [PATCH 007/105] fix: Add backgroundColor type on CoreScaleOptions (#11348) * Fix: add backgroundColor type on CartesianScaleOptions * Add instead on CoreScaleOptions * Remove redundant backgroundColor from RadialLinearScaleOptions --- src/types/index.d.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/types/index.d.ts b/src/types/index.d.ts index eeee5fa08e5..fb7a5a47796 100644 --- a/src/types/index.d.ts +++ b/src/types/index.d.ts @@ -1166,6 +1166,10 @@ export interface CoreScaleOptions { * Align pixel values to device pixels */ alignToPixels: boolean; + /** + * Background color of the scale area. + */ + backgroundColor: Color; /** * Reverse the scale. * @default false @@ -3464,8 +3468,6 @@ export type RadialTickOptions = TickOptions & { } export type RadialLinearScaleOptions = CoreScaleOptions & { - backgroundColor: Color; - animate: boolean; startAngle: number; From 7ccd4a2d1463b0c5082de2538857554d9428d8d3 Mon Sep 17 00:00:00 2001 From: Jacco van den Berg Date: Thu, 24 Aug 2023 14:34:45 +0200 Subject: [PATCH 008/105] Bump 4.4.0 (#11461) --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 88264c3b08f..bd6d8c4ca6a 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "chart.js", "homepage": "https://www.chartjs.org", "description": "Simple HTML5 charts using the canvas element.", - "version": "4.3.3", + "version": "4.4.0", "license": "MIT", "type": "module", "sideEffects": [ From 44b97b869818e3539846a47100f9469a193945f7 Mon Sep 17 00:00:00 2001 From: Chocomint <37074437+bboy-chocomint@users.noreply.github.com> Date: Mon, 4 Sep 2023 17:13:29 +0900 Subject: [PATCH 009/105] docs: Fix typo for documentation of plugins.tooltip.textDirection (#11483) --- src/types/index.d.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/types/index.d.ts b/src/types/index.d.ts index fb7a5a47796..518bf1dca28 100644 --- a/src/types/index.d.ts +++ b/src/types/index.d.ts @@ -2477,7 +2477,7 @@ export interface LegendOptions { rtl: boolean; /** * This will force the text direction 'rtl' or 'ltr' on the canvas for rendering the legend, regardless of the css specified on the canvas - * @default canvas' default + * @default canvas's default */ textDirection: string; From e74ee7b75b49c0e8d79b67775ad5cd8424d95fef Mon Sep 17 00:00:00 2001 From: Cazka Date: Wed, 6 Sep 2023 17:13:33 +0200 Subject: [PATCH 010/105] allow mode to be a callback function (#11488) --- src/types/index.d.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/types/index.d.ts b/src/types/index.d.ts index 518bf1dca28..1a652c6dc19 100644 --- a/src/types/index.d.ts +++ b/src/types/index.d.ts @@ -516,7 +516,7 @@ export declare class Chart< buildOrUpdateScales(): void; buildOrUpdateControllers(): void; reset(): void; - update(mode?: UpdateMode): void; + update(mode?: UpdateMode | ((ctx: { datasetIndex: number }) => UpdateMode)): void; render(): void; draw(): void; From ca77bed3189d2b0fd6c2cd02325b337ed5f71505 Mon Sep 17 00:00:00 2001 From: Mikhail Date: Mon, 11 Sep 2023 09:31:29 +0300 Subject: [PATCH 011/105] fix: simplify check hasFunction (#11490) --- src/core/core.config.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/core/core.config.js b/src/core/core.config.js index 209e87291ab..6e83d5de327 100644 --- a/src/core/core.config.js +++ b/src/core/core.config.js @@ -400,7 +400,7 @@ function getResolver(resolverCache, scopes, prefixes) { } const hasFunction = value => isObject(value) - && Object.getOwnPropertyNames(value).reduce((acc, key) => acc || isFunction(value[key]), false); + && Object.getOwnPropertyNames(value).some((key) => isFunction(value[key])); function needContext(proxy, names) { const {isScriptable, isIndexable} = _descriptors(proxy); From 82ebf7653bdeb750cc37704f6fad71620b38695d Mon Sep 17 00:00:00 2001 From: Jacco van den Berg Date: Thu, 14 Sep 2023 15:20:57 +0200 Subject: [PATCH 012/105] Update node checkout and version (#11498) * Add min extension to umd build * Update node checkout and runtime versions * remove unsaved code --- .github/workflows/ci.yml | 4 ++-- .github/workflows/compressed-size.yml | 4 ++-- .github/workflows/deploy-docs.yml | 4 ++-- .github/workflows/release.yml | 8 ++++---- 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d949bb51c1a..064650d0fe5 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -30,12 +30,12 @@ jobs: fail-fast: false steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: pnpm/action-setup@v2.4.0 - name: Use Node.js uses: actions/setup-node@v3 with: - node-version: 16 + node-version: 20 cache: pnpm - uses: dorny/paths-filter@v2 id: changes diff --git a/.github/workflows/compressed-size.yml b/.github/workflows/compressed-size.yml index e06e2c7a1cf..aaa334f3aa0 100644 --- a/.github/workflows/compressed-size.yml +++ b/.github/workflows/compressed-size.yml @@ -16,7 +16,7 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: pnpm/action-setup@v2.4.0 - uses: preactjs/compressed-size-action@v2 with: @@ -25,7 +25,7 @@ jobs: size-limit: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: pnpm/action-setup@v2.4.0 - uses: andresz1/size-limit-action@master with: diff --git a/.github/workflows/deploy-docs.yml b/.github/workflows/deploy-docs.yml index 408a3caf2ca..2feca135122 100644 --- a/.github/workflows/deploy-docs.yml +++ b/.github/workflows/deploy-docs.yml @@ -23,12 +23,12 @@ jobs: needs: correct_repository runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: pnpm/action-setup@v2.4.0 - name: Use Node.js uses: actions/setup-node@v3 with: - node-version: 16 + node-version: 20 cache: pnpm - name: Package & Deploy Docs run: | diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 9e36b304f1c..2f2c8773eb7 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -26,12 +26,12 @@ jobs: needs: setup runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: pnpm/action-setup@v2.4.0 - uses: actions/setup-node@v3 with: registry-url: https://registry.npmjs.org/ - node-version: 16 + node-version: 20 cache: pnpm - name: Setup and build run: | @@ -71,12 +71,12 @@ jobs: runs-on: ubuntu-latest if: "!github.event.release.prerelease" steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: pnpm/action-setup@v2.4.0 - uses: actions/setup-node@v3 with: registry-url: https://registry.npmjs.org/ - node-version: 16 + node-version: 20 cache: pnpm - name: Setup and build run: | From 6516b0a150eebf3fb9eab596f89d63e27e1bc6d5 Mon Sep 17 00:00:00 2001 From: Jacco van den Berg Date: Thu, 14 Sep 2023 15:41:54 +0200 Subject: [PATCH 013/105] revert node version (#11499) --- .github/workflows/ci.yml | 2 +- .github/workflows/deploy-docs.yml | 2 +- .github/workflows/release.yml | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 064650d0fe5..466724a3134 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -35,7 +35,7 @@ jobs: - name: Use Node.js uses: actions/setup-node@v3 with: - node-version: 20 + node-version: 16 cache: pnpm - uses: dorny/paths-filter@v2 id: changes diff --git a/.github/workflows/deploy-docs.yml b/.github/workflows/deploy-docs.yml index 2feca135122..a350f1945c2 100644 --- a/.github/workflows/deploy-docs.yml +++ b/.github/workflows/deploy-docs.yml @@ -28,7 +28,7 @@ jobs: - name: Use Node.js uses: actions/setup-node@v3 with: - node-version: 20 + node-version: 16 cache: pnpm - name: Package & Deploy Docs run: | diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 2f2c8773eb7..577f8fff4fc 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -31,7 +31,7 @@ jobs: - uses: actions/setup-node@v3 with: registry-url: https://registry.npmjs.org/ - node-version: 20 + node-version: 16 cache: pnpm - name: Setup and build run: | @@ -76,7 +76,7 @@ jobs: - uses: actions/setup-node@v3 with: registry-url: https://registry.npmjs.org/ - node-version: 20 + node-version: 16 cache: pnpm - name: Setup and build run: | From 7772381c0f4828a8cfefb2dbea5e26466b1f726e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 30 Oct 2023 08:08:16 -0400 Subject: [PATCH 014/105] Bump actions/setup-node from 3 to 4 (#11560) Bumps [actions/setup-node](https://github.com/actions/setup-node) from 3 to 4. - [Release notes](https://github.com/actions/setup-node/releases) - [Commits](https://github.com/actions/setup-node/compare/v3...v4) --- updated-dependencies: - dependency-name: actions/setup-node dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/ci.yml | 2 +- .github/workflows/deploy-docs.yml | 2 +- .github/workflows/release.yml | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 466724a3134..38a5dbea390 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -33,7 +33,7 @@ jobs: - uses: actions/checkout@v4 - uses: pnpm/action-setup@v2.4.0 - name: Use Node.js - uses: actions/setup-node@v3 + uses: actions/setup-node@v4 with: node-version: 16 cache: pnpm diff --git a/.github/workflows/deploy-docs.yml b/.github/workflows/deploy-docs.yml index a350f1945c2..58c3dda4b6d 100644 --- a/.github/workflows/deploy-docs.yml +++ b/.github/workflows/deploy-docs.yml @@ -26,7 +26,7 @@ jobs: - uses: actions/checkout@v4 - uses: pnpm/action-setup@v2.4.0 - name: Use Node.js - uses: actions/setup-node@v3 + uses: actions/setup-node@v4 with: node-version: 16 cache: pnpm diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 577f8fff4fc..f40c0e0181b 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -28,7 +28,7 @@ jobs: steps: - uses: actions/checkout@v4 - uses: pnpm/action-setup@v2.4.0 - - uses: actions/setup-node@v3 + - uses: actions/setup-node@v4 with: registry-url: https://registry.npmjs.org/ node-version: 16 @@ -73,7 +73,7 @@ jobs: steps: - uses: actions/checkout@v4 - uses: pnpm/action-setup@v2.4.0 - - uses: actions/setup-node@v3 + - uses: actions/setup-node@v4 with: registry-url: https://registry.npmjs.org/ node-version: 16 From 93a5b84eb49dd9bd92b0e4aa01ef9d533a96cfc4 Mon Sep 17 00:00:00 2001 From: Jacco van den Berg Date: Mon, 30 Oct 2023 13:48:10 +0100 Subject: [PATCH 015/105] Fix migration docs links (#11562) --- docs/migration/v3-migration.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/migration/v3-migration.md b/docs/migration/v3-migration.md index 10fb8dde273..d9d52b2ad8d 100644 --- a/docs/migration/v3-migration.md +++ b/docs/migration/v3-migration.md @@ -17,10 +17,10 @@ Chart.js 3.0 introduces a number of breaking changes. Chart.js 2.0 was released ### Setup and installation * Distributed files are now in lower case. For example: `dist/chart.js`. -* Chart.js is no longer providing the `Chart.bundle.js` and `Chart.bundle.min.js`. Please see the [installation](installation.md) and [integration](integration.md) docs for details on the recommended way to setup Chart.js if you were using these builds. +* Chart.js is no longer providing the `Chart.bundle.js` and `Chart.bundle.min.js`. Please see the [installation](../getting-started/installation.md) and [integration](../getting-started/integration.md) docs for details on the recommended way to setup Chart.js if you were using these builds. * `moment` is no longer specified as an npm dependency. If you are using the `time` or `timeseries` scales, you must include one of [the available adapters](https://github.com/chartjs/awesome#adapters) and corresponding date library. You no longer need to exclude moment from your build. * The `Chart` constructor will throw an error if the canvas/context provided is already in use -* Chart.js 3 is tree-shakeable. So if you are using it as an `npm` module in a project and want to make use of this feature, you need to import and register the controllers, elements, scales and plugins you want to use, for a list of all the available items to import see [integration](integration.md#bundlers-webpack-rollup-etc). You will not have to call `register` if importing Chart.js via a `script` tag or from the [`auto`](integration.md#bundlers-webpack-rollup-etc) register path as an `npm` module, in this case you will not get the tree shaking benefits. Here is an example of registering components: +* Chart.js 3 is tree-shakeable. So if you are using it as an `npm` module in a project and want to make use of this feature, you need to import and register the controllers, elements, scales and plugins you want to use, for a list of all the available items to import see [integration](../getting-started/integration.md#bundlers-webpack-rollup-etc). You will not have to call `register` if importing Chart.js via a `script` tag or from the [`auto`](../getting-started/integration.md#bundlers-webpack-rollup-etc) register path as an `npm` module, in this case you will not get the tree shaking benefits. Here is an example of registering components: ```javascript import { Chart, LineController, LineElement, PointElement, LinearScale, Title } from `chart.js` From 06f9ffb2757f1ca1cdec0cda6f428d43c134027b Mon Sep 17 00:00:00 2001 From: Vsevolod Fedorov Date: Mon, 6 Nov 2023 19:34:29 +0200 Subject: [PATCH 016/105] fix: pass Plugin TType down to hooks chart arg (#11569) --- src/types/index.d.ts | 66 ++++++++++++++++++++++---------------------- 1 file changed, 33 insertions(+), 33 deletions(-) diff --git a/src/types/index.d.ts b/src/types/index.d.ts index 1a652c6dc19..9c5a0934399 100644 --- a/src/types/index.d.ts +++ b/src/types/index.d.ts @@ -829,7 +829,7 @@ export interface Plugin exte * @param {object} options - The plugin options. * @since 3.0.0 */ - install?(chart: Chart, args: EmptyObject, options: O): void; + install?(chart: Chart, args: EmptyObject, options: O): void; /** * @desc Called when a plugin is starting. This happens when chart is created or plugin is enabled. * @param {Chart} chart - The chart instance. @@ -837,7 +837,7 @@ export interface Plugin exte * @param {object} options - The plugin options. * @since 3.0.0 */ - start?(chart: Chart, args: EmptyObject, options: O): void; + start?(chart: Chart, args: EmptyObject, options: O): void; /** * @desc Called when a plugin stopping. This happens when chart is destroyed or plugin is disabled. * @param {Chart} chart - The chart instance. @@ -845,21 +845,21 @@ export interface Plugin exte * @param {object} options - The plugin options. * @since 3.0.0 */ - stop?(chart: Chart, args: EmptyObject, options: O): void; + stop?(chart: Chart, args: EmptyObject, options: O): void; /** * @desc Called before initializing `chart`. * @param {Chart} chart - The chart instance. * @param {object} args - The call arguments. * @param {object} options - The plugin options. */ - beforeInit?(chart: Chart, args: EmptyObject, options: O): void; + beforeInit?(chart: Chart, args: EmptyObject, options: O): void; /** * @desc Called after `chart` has been initialized and before the first update. * @param {Chart} chart - The chart instance. * @param {object} args - The call arguments. * @param {object} options - The plugin options. */ - afterInit?(chart: Chart, args: EmptyObject, options: O): void; + afterInit?(chart: Chart, args: EmptyObject, options: O): void; /** * @desc Called before updating `chart`. If any plugin returns `false`, the update * is cancelled (and thus subsequent render(s)) until another `update` is triggered. @@ -869,7 +869,7 @@ export interface Plugin exte * @param {object} options - The plugin options. * @returns {boolean} `false` to cancel the chart update. */ - beforeUpdate?(chart: Chart, args: { mode: UpdateMode, cancelable: true }, options: O): boolean | void; + beforeUpdate?(chart: Chart, args: { mode: UpdateMode, cancelable: true }, options: O): boolean | void; /** * @desc Called after `chart` has been updated and before rendering. Note that this * hook will not be called if the chart update has been previously cancelled. @@ -878,7 +878,7 @@ export interface Plugin exte * @param {UpdateMode} args.mode - The update mode * @param {object} options - The plugin options. */ - afterUpdate?(chart: Chart, args: { mode: UpdateMode }, options: O): void; + afterUpdate?(chart: Chart, args: { mode: UpdateMode }, options: O): void; /** * @desc Called during the update process, before any chart elements have been created. * This can be used for data decimation by changing the data array inside a dataset. @@ -886,7 +886,7 @@ export interface Plugin exte * @param {object} args - The call arguments. * @param {object} options - The plugin options. */ - beforeElementsUpdate?(chart: Chart, args: EmptyObject, options: O): void; + beforeElementsUpdate?(chart: Chart, args: EmptyObject, options: O): void; /** * @desc Called during chart reset * @param {Chart} chart - The chart instance. @@ -894,7 +894,7 @@ export interface Plugin exte * @param {object} options - The plugin options. * @since version 3.0.0 */ - reset?(chart: Chart, args: EmptyObject, options: O): void; + reset?(chart: Chart, args: EmptyObject, options: O): void; /** * @desc Called before updating the `chart` datasets. If any plugin returns `false`, * the datasets update is cancelled until another `update` is triggered. @@ -905,7 +905,7 @@ export interface Plugin exte * @returns {boolean} false to cancel the datasets update. * @since version 2.1.5 */ - beforeDatasetsUpdate?(chart: Chart, args: { mode: UpdateMode }, options: O): boolean | void; + beforeDatasetsUpdate?(chart: Chart, args: { mode: UpdateMode }, options: O): boolean | void; /** * @desc Called after the `chart` datasets have been updated. Note that this hook * will not be called if the datasets update has been previously cancelled. @@ -915,7 +915,7 @@ export interface Plugin exte * @param {object} options - The plugin options. * @since version 2.1.5 */ - afterDatasetsUpdate?(chart: Chart, args: { mode: UpdateMode, cancelable: true }, options: O): void; + afterDatasetsUpdate?(chart: Chart, args: { mode: UpdateMode, cancelable: true }, options: O): void; /** * @desc Called before updating the `chart` dataset at the given `args.index`. If any plugin * returns `false`, the datasets update is cancelled until another `update` is triggered. @@ -927,7 +927,7 @@ export interface Plugin exte * @param {object} options - The plugin options. * @returns {boolean} `false` to cancel the chart datasets drawing. */ - beforeDatasetUpdate?(chart: Chart, args: { index: number; meta: ChartMeta, mode: UpdateMode, cancelable: true }, options: O): boolean | void; + beforeDatasetUpdate?(chart: Chart, args: { index: number; meta: ChartMeta, mode: UpdateMode, cancelable: true }, options: O): boolean | void; /** * @desc Called after the `chart` datasets at the given `args.index` has been updated. Note * that this hook will not be called if the datasets update has been previously cancelled. @@ -938,7 +938,7 @@ export interface Plugin exte * @param {UpdateMode} args.mode - The update mode. * @param {object} options - The plugin options. */ - afterDatasetUpdate?(chart: Chart, args: { index: number; meta: ChartMeta, mode: UpdateMode, cancelable: false }, options: O): void; + afterDatasetUpdate?(chart: Chart, args: { index: number; meta: ChartMeta, mode: UpdateMode, cancelable: false }, options: O): void; /** * @desc Called before laying out `chart`. If any plugin returns `false`, * the layout update is cancelled until another `update` is triggered. @@ -947,7 +947,7 @@ export interface Plugin exte * @param {object} options - The plugin options. * @returns {boolean} `false` to cancel the chart layout. */ - beforeLayout?(chart: Chart, args: { cancelable: true }, options: O): boolean | void; + beforeLayout?(chart: Chart, args: { cancelable: true }, options: O): boolean | void; /** * @desc Called before scale data limits are calculated. This hook is called separately for each scale in the chart. * @param {Chart} chart - The chart instance. @@ -955,7 +955,7 @@ export interface Plugin exte * @param {Scale} args.scale - The scale. * @param {object} options - The plugin options. */ - beforeDataLimits?(chart: Chart, args: { scale: Scale }, options: O): void; + beforeDataLimits?(chart: Chart, args: { scale: Scale }, options: O): void; /** * @desc Called after scale data limits are calculated. This hook is called separately for each scale in the chart. * @param {Chart} chart - The chart instance. @@ -963,7 +963,7 @@ export interface Plugin exte * @param {Scale} args.scale - The scale. * @param {object} options - The plugin options. */ - afterDataLimits?(chart: Chart, args: { scale: Scale }, options: O): void; + afterDataLimits?(chart: Chart, args: { scale: Scale }, options: O): void; /** * @desc Called before scale builds its ticks. This hook is called separately for each scale in the chart. * @param {Chart} chart - The chart instance. @@ -971,7 +971,7 @@ export interface Plugin exte * @param {Scale} args.scale - The scale. * @param {object} options - The plugin options. */ - beforeBuildTicks?(chart: Chart, args: { scale: Scale }, options: O): void; + beforeBuildTicks?(chart: Chart, args: { scale: Scale }, options: O): void; /** * @desc Called after scale has build its ticks. This hook is called separately for each scale in the chart. * @param {Chart} chart - The chart instance. @@ -979,7 +979,7 @@ export interface Plugin exte * @param {Scale} args.scale - The scale. * @param {object} options - The plugin options. */ - afterBuildTicks?(chart: Chart, args: { scale: Scale }, options: O): void; + afterBuildTicks?(chart: Chart, args: { scale: Scale }, options: O): void; /** * @desc Called after the `chart` has been laid out. Note that this hook will not * be called if the layout update has been previously cancelled. @@ -987,7 +987,7 @@ export interface Plugin exte * @param {object} args - The call arguments. * @param {object} options - The plugin options. */ - afterLayout?(chart: Chart, args: EmptyObject, options: O): void; + afterLayout?(chart: Chart, args: EmptyObject, options: O): void; /** * @desc Called before rendering `chart`. If any plugin returns `false`, * the rendering is cancelled until another `render` is triggered. @@ -996,7 +996,7 @@ export interface Plugin exte * @param {object} options - The plugin options. * @returns {boolean} `false` to cancel the chart rendering. */ - beforeRender?(chart: Chart, args: { cancelable: true }, options: O): boolean | void; + beforeRender?(chart: Chart, args: { cancelable: true }, options: O): boolean | void; /** * @desc Called after the `chart` has been fully rendered (and animation completed). Note * that this hook will not be called if the rendering has been previously cancelled. @@ -1004,7 +1004,7 @@ export interface Plugin exte * @param {object} args - The call arguments. * @param {object} options - The plugin options. */ - afterRender?(chart: Chart, args: EmptyObject, options: O): void; + afterRender?(chart: Chart, args: EmptyObject, options: O): void; /** * @desc Called before drawing `chart` at every animation frame. If any plugin returns `false`, * the frame drawing is cancelled untilanother `render` is triggered. @@ -1013,7 +1013,7 @@ export interface Plugin exte * @param {object} options - The plugin options. * @returns {boolean} `false` to cancel the chart drawing. */ - beforeDraw?(chart: Chart, args: { cancelable: true }, options: O): boolean | void; + beforeDraw?(chart: Chart, args: { cancelable: true }, options: O): boolean | void; /** * @desc Called after the `chart` has been drawn. Note that this hook will not be called * if the drawing has been previously cancelled. @@ -1021,7 +1021,7 @@ export interface Plugin exte * @param {object} args - The call arguments. * @param {object} options - The plugin options. */ - afterDraw?(chart: Chart, args: EmptyObject, options: O): void; + afterDraw?(chart: Chart, args: EmptyObject, options: O): void; /** * @desc Called before drawing the `chart` datasets. If any plugin returns `false`, * the datasets drawing is cancelled until another `render` is triggered. @@ -1030,7 +1030,7 @@ export interface Plugin exte * @param {object} options - The plugin options. * @returns {boolean} `false` to cancel the chart datasets drawing. */ - beforeDatasetsDraw?(chart: Chart, args: { cancelable: true }, options: O): boolean | void; + beforeDatasetsDraw?(chart: Chart, args: { cancelable: true }, options: O): boolean | void; /** * @desc Called after the `chart` datasets have been drawn. Note that this hook * will not be called if the datasets drawing has been previously cancelled. @@ -1038,7 +1038,7 @@ export interface Plugin exte * @param {object} args - The call arguments. * @param {object} options - The plugin options. */ - afterDatasetsDraw?(chart: Chart, args: EmptyObject, options: O, cancelable: false): void; + afterDatasetsDraw?(chart: Chart, args: EmptyObject, options: O, cancelable: false): void; /** * @desc Called before drawing the `chart` dataset at the given `args.index` (datasets * are drawn in the reverse order). If any plugin returns `false`, the datasets drawing @@ -1050,7 +1050,7 @@ export interface Plugin exte * @param {object} options - The plugin options. * @returns {boolean} `false` to cancel the chart datasets drawing. */ - beforeDatasetDraw?(chart: Chart, args: { index: number; meta: ChartMeta }, options: O): boolean | void; + beforeDatasetDraw?(chart: Chart, args: { index: number; meta: ChartMeta }, options: O): boolean | void; /** * @desc Called after the `chart` datasets at the given `args.index` have been drawn * (datasets are drawn in the reverse order). Note that this hook will not be called @@ -1061,7 +1061,7 @@ export interface Plugin exte * @param {object} args.meta - The dataset metadata. * @param {object} options - The plugin options. */ - afterDatasetDraw?(chart: Chart, args: { index: number; meta: ChartMeta }, options: O): void; + afterDatasetDraw?(chart: Chart, args: { index: number; meta: ChartMeta }, options: O): void; /** * @desc Called before processing the specified `event`. If any plugin returns `false`, * the event will be discarded. @@ -1072,7 +1072,7 @@ export interface Plugin exte * @param {boolean} args.inChartArea - The event position is inside chartArea * @param {object} options - The plugin options. */ - beforeEvent?(chart: Chart, args: { event: ChartEvent, replay: boolean, cancelable: true, inChartArea: boolean }, options: O): boolean | void; + beforeEvent?(chart: Chart, args: { event: ChartEvent, replay: boolean, cancelable: true, inChartArea: boolean }, options: O): boolean | void; /** * @desc Called after the `event` has been consumed. Note that this hook * will not be called if the `event` has been previously discarded. @@ -1084,7 +1084,7 @@ export interface Plugin exte * @param {boolean} [args.changed] - Set to true if the plugin needs a render. Should only be changed to true, because this args object is passed through all plugins. * @param {object} options - The plugin options. */ - afterEvent?(chart: Chart, args: { event: ChartEvent, replay: boolean, changed?: boolean, cancelable: false, inChartArea: boolean }, options: O): void; + afterEvent?(chart: Chart, args: { event: ChartEvent, replay: boolean, changed?: boolean, cancelable: false, inChartArea: boolean }, options: O): void; /** * @desc Called after the chart as been resized. * @param {Chart} chart - The chart instance. @@ -1092,21 +1092,21 @@ export interface Plugin exte * @param {number} args.size - The new canvas display size (eq. canvas.style width & height). * @param {object} options - The plugin options. */ - resize?(chart: Chart, args: { size: { width: number, height: number } }, options: O): void; + resize?(chart: Chart, args: { size: { width: number, height: number } }, options: O): void; /** * Called before the chart is being destroyed. * @param {Chart} chart - The chart instance. * @param {object} args - The call arguments. * @param {object} options - The plugin options. */ - beforeDestroy?(chart: Chart, args: EmptyObject, options: O): void; + beforeDestroy?(chart: Chart, args: EmptyObject, options: O): void; /** * Called after the chart has been destroyed. * @param {Chart} chart - The chart instance. * @param {object} args - The call arguments. * @param {object} options - The plugin options. */ - afterDestroy?(chart: Chart, args: EmptyObject, options: O): void; + afterDestroy?(chart: Chart, args: EmptyObject, options: O): void; /** * Called after chart is destroyed on all plugins that were installed for that chart. This hook is also invoked for disabled plugins (options === false). * @param {Chart} chart - The chart instance. @@ -1114,7 +1114,7 @@ export interface Plugin exte * @param {object} options - The plugin options. * @since 3.0.0 */ - uninstall?(chart: Chart, args: EmptyObject, options: O): void; + uninstall?(chart: Chart, args: EmptyObject, options: O): void; /** * Default options used in the plugin From b22e46cc64e9b497e1b68b76218f491211148457 Mon Sep 17 00:00:00 2001 From: Jongwoo Han Date: Tue, 7 Nov 2023 02:35:20 +0900 Subject: [PATCH 017/105] Replace deprecated command with environment file (#11570) Signed-off-by: Jongwoo Han --- .github/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index f40c0e0181b..690894f5c37 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -16,7 +16,7 @@ jobs: version: ${{ steps.trim.outputs.version }} steps: - id: trim - run: echo "::set-output name=version::${TAG:1}" + run: echo "version=${TAG:1}" >> $GITHUB_OUTPUT env: TAG: ${{ github.event.release.tag_name }} From 6722512744de48e5dc33c4019f4d84c74130aa63 Mon Sep 17 00:00:00 2001 From: Dimitris-Rafail Katsampas Date: Fri, 10 Nov 2023 00:35:01 +0200 Subject: [PATCH 018/105] fix: Property platform missing from chart configuration typings (#11572) --- src/types/index.d.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/src/types/index.d.ts b/src/types/index.d.ts index 9c5a0934399..12a6ed6c1fa 100644 --- a/src/types/index.d.ts +++ b/src/types/index.d.ts @@ -3817,6 +3817,7 @@ export interface ChartConfiguration< data: ChartData; options?: ChartOptions; plugins?: Plugin[]; + platform?: typeof BasePlatform; } export interface ChartConfigurationCustomTypesPerDataset< From 2a03e138e903bdc4686acabd65eeabef61efedd0 Mon Sep 17 00:00:00 2001 From: Jacco van den Berg Date: Fri, 10 Nov 2023 00:25:36 +0100 Subject: [PATCH 019/105] Fix backdrop padding (#11577) * fix for alignment inner * Add test * Remove eslint ignores * remove unecesarry config * Remove text from test --- src/core/core.scale.js | 7 +++ .../tick-backdrop-alignment-inner.js | 48 ++++++++++++++++++ .../tick-backdrop-alignment-inner.png | Bin 0 -> 11202 bytes 3 files changed, 55 insertions(+) create mode 100644 test/fixtures/core.scale/tick-backdrop-alignment-inner.js create mode 100644 test/fixtures/core.scale/tick-backdrop-alignment-inner.png diff --git a/src/core/core.scale.js b/src/core/core.scale.js index 8b8bf347292..3265e103d1a 100644 --- a/src/core/core.scale.js +++ b/src/core/core.scale.js @@ -1288,6 +1288,13 @@ export default class Scale extends Element { case 'right': left -= width; break; + case 'inner': + if (i === ilen - 1) { + left -= width; + } else if (i > 0) { + left -= width / 2; + } + break; default: break; } diff --git a/test/fixtures/core.scale/tick-backdrop-alignment-inner.js b/test/fixtures/core.scale/tick-backdrop-alignment-inner.js new file mode 100644 index 00000000000..f9fbaddc103 --- /dev/null +++ b/test/fixtures/core.scale/tick-backdrop-alignment-inner.js @@ -0,0 +1,48 @@ +module.exports = { + config: { + type: 'line', + data: { + labels: ['Red', 'Blue', 'Yellow', 'Green', 'Purple', 'Orange'], + datasets: [ + { + label: '# of Votes', + data: [12, 19, 3, 5, 2, 3], + }, + { + label: '# of Points', + data: [7, 11, 5, 8, 3, 7], + } + ] + }, + options: { + scales: { + y: { + ticks: { + display: false, + }, + grid: { + lineWidth: 0 + } + }, + x: { + position: 'top', + ticks: { + color: 'transparent', + backdropColor: 'red', + showLabelBackdrop: true, + align: 'inner', + }, + grid: { + lineWidth: 0 + } + } + } + } + }, + options: { + canvas: { + height: 256, + width: 512 + } + } +}; diff --git a/test/fixtures/core.scale/tick-backdrop-alignment-inner.png b/test/fixtures/core.scale/tick-backdrop-alignment-inner.png new file mode 100644 index 0000000000000000000000000000000000000000..2cddb8dfdd76bbc60d8bc49f4f370c60342fff08 GIT binary patch literal 11202 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 Date: Fri, 17 Nov 2023 16:34:20 +0100 Subject: [PATCH 020/105] fix: Guard access to window in helpers.dom.ts for browserless rendering (#11588) --- src/helpers/helpers.dom.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/helpers/helpers.dom.ts b/src/helpers/helpers.dom.ts index ebd8d978d91..c83712983ac 100644 --- a/src/helpers/helpers.dom.ts +++ b/src/helpers/helpers.dom.ts @@ -262,8 +262,10 @@ export const supportsEventListenerOptions = (function() { } } as EventListenerOptions; - window.addEventListener('test', null, options); - window.removeEventListener('test', null, options); + if (_isDomSupported()) { + window.addEventListener('test', null, options); + window.removeEventListener('test', null, options); + } } catch (e) { // continue regardless of error } From 429d99dbc2bd4b098da95091230fba9af6c4b4bb Mon Sep 17 00:00:00 2001 From: Josh Kelley Date: Wed, 29 Nov 2023 14:51:56 -0500 Subject: [PATCH 021/105] Tooltip fixes (getLabelAndValue on null controller, null getParsed) (#11596) * Fix for getLabelAndValue on null controller I encountered #11315 under the following circumstances: 1. Position the cursor over the chart area, such that it causes a tooltip to be shown. 2. Move the cursor out of the chart area, such that the tooltip remains visible. 3. Cause the chart contents to be changed, such that the dataset referenced by the active tooltip element is no longer valid. 4. Move the mouse again. This triggers an `inChartArea = false` event, so it reuses the previous, now invalid, active elements. This fixes #11315 under the circumstances for which I've reproduced it, but there may be others. * Further fixes for elements added / changed This possibly fixes #11365. --- src/plugins/plugin.tooltip.js | 6 ++- test/specs/plugin.tooltip.tests.js | 85 ++++++++++++++++++++++++++++++ 2 files changed, 90 insertions(+), 1 deletion(-) diff --git a/src/plugins/plugin.tooltip.js b/src/plugins/plugin.tooltip.js index 2e881417f78..05b5fb9470d 100644 --- a/src/plugins/plugin.tooltip.js +++ b/src/plugins/plugin.tooltip.js @@ -1182,7 +1182,11 @@ export class Tooltip extends Element { if (!inChartArea) { // Let user control the active elements outside chartArea. Eg. using Legend. - return lastActive; + // But make sure that active elements are still valid. + return lastActive.filter(i => + this.chart.data.datasets[i.datasetIndex] && + this.chart.getDatasetMeta(i.datasetIndex).controller.getParsed(i.index) !== undefined + ); } // Find Active Elements for tooltips diff --git a/test/specs/plugin.tooltip.tests.js b/test/specs/plugin.tooltip.tests.js index da0563f6253..3314ce1385d 100644 --- a/test/specs/plugin.tooltip.tests.js +++ b/test/specs/plugin.tooltip.tests.js @@ -1667,6 +1667,91 @@ describe('Plugin.Tooltip', function() { }); }); + it('should tolerate datasets removed on events outside chartArea', async function() { + const dataset1 = { + label: 'Dataset 1', + data: [10, 20, 30], + }; + const dataset2 = { + label: 'Dataset 2', + data: [10, 25, 35], + }; + const chart = window.acquireChart({ + type: 'line', + data: { + datasets: [dataset1, dataset2], + labels: ['Point 1', 'Point 2', 'Point 3'] + }, + options: { + plugins: { + tooltip: { + mode: 'index', + intersect: false + } + } + } + }); + + const meta = chart.getDatasetMeta(0); + const point = meta.data[1]; + const expectedPoints = [jasmine.objectContaining({datasetIndex: 0, index: 1}), jasmine.objectContaining({datasetIndex: 1, index: 1})]; + + await jasmine.triggerMouseEvent(chart, 'mousemove', point); + await jasmine.triggerMouseEvent(chart, 'mousemove', {x: chart.chartArea.left - 5, y: point.y}); + + expect(chart.tooltip.getActiveElements()).toEqual(expectedPoints); + + chart.data.datasets = [dataset1]; + chart.update(); + + await jasmine.triggerMouseEvent(chart, 'mousemove', {x: 2, y: 1}); + + expect(chart.tooltip.getActiveElements()).toEqual([expectedPoints[0]]); + }); + + it('should tolerate elements removed on events outside chartArea', async function() { + const dataset1 = { + label: 'Dataset 1', + data: [10, 20, 30], + }; + const dataset2 = { + label: 'Dataset 2', + data: [10, 25, 35], + }; + const chart = window.acquireChart({ + type: 'line', + data: { + datasets: [dataset1, dataset2], + labels: ['Point 1', 'Point 2', 'Point 3'] + }, + options: { + plugins: { + tooltip: { + mode: 'index', + intersect: false + } + } + } + }); + + const meta = chart.getDatasetMeta(0); + const point = meta.data[1]; + const expectedPoints = [jasmine.objectContaining({datasetIndex: 0, index: 1}), jasmine.objectContaining({datasetIndex: 1, index: 1})]; + + await jasmine.triggerMouseEvent(chart, 'mousemove', point); + await jasmine.triggerMouseEvent(chart, 'mousemove', {x: chart.chartArea.left - 5, y: point.y}); + + expect(chart.tooltip.getActiveElements()).toEqual(expectedPoints); + + dataset1.data = dataset1.data.slice(0, 1); + chart.data.datasets = [dataset1]; + chart.update(); + + await jasmine.triggerMouseEvent(chart, 'mousemove', {x: 2, y: 1}); + + expect(chart.tooltip.getActiveElements()).toEqual([]); + }); + describe('events', function() { it('should not be called on events not in plugin events array', async function() { var chart = window.acquireChart({ From 5161e41bcd6b0e8a269ef5a84193023827d4414f Mon Sep 17 00:00:00 2001 From: Jacco van den Berg Date: Thu, 30 Nov 2023 14:37:04 +0100 Subject: [PATCH 022/105] Remove size limit from CI (#11599) * Remove size limit from CI * remove eslint ignores --- .github/workflows/compressed-size.yml | 9 - .size-limit.cjs | 49 --- package.json | 3 - pnpm-lock.yaml | 413 +++----------------------- 4 files changed, 47 insertions(+), 427 deletions(-) delete mode 100644 .size-limit.cjs diff --git a/.github/workflows/compressed-size.yml b/.github/workflows/compressed-size.yml index aaa334f3aa0..07c291e88cf 100644 --- a/.github/workflows/compressed-size.yml +++ b/.github/workflows/compressed-size.yml @@ -21,12 +21,3 @@ jobs: - uses: preactjs/compressed-size-action@v2 with: repo-token: "${{ secrets.GITHUB_TOKEN }}" - - size-limit: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - uses: pnpm/action-setup@v2.4.0 - - uses: andresz1/size-limit-action@master - with: - github_token: ${{ secrets.GITHUB_TOKEN }} diff --git a/.size-limit.cjs b/.size-limit.cjs deleted file mode 100644 index 7c20acf721c..00000000000 --- a/.size-limit.cjs +++ /dev/null @@ -1,49 +0,0 @@ -function modifyWebpackConfig(config) { - config.target = 'web'; - - return config; -} - -module.exports = [ - { - path: 'dist/chart.js', - limit: '82 KB', - webpack: false, - running: false - }, - { - path: 'dist/chart.js', - limit: '37.0 KB', - import: '{ Chart }', - running: false, - modifyWebpackConfig - }, - { - path: 'dist/chart.js', - limit: '22.0 KB', - import: '{ BarController, BubbleController, DoughnutController, LineController, PolarAreaController, PieController, RadarController, ScatterController }', - running: false, - modifyWebpackConfig - }, - { - path: 'dist/chart.js', - limit: '14 KB', - import: '{ ArcElement, LineElement, PointElement, BarElement }', - running: false, - modifyWebpackConfig - }, - { - path: 'dist/chart.js', - limit: '36.5 KB', - import: '{ Decimation, Filler, Legend, SubTitle, Title, Tooltip, Colors }', - running: false, - modifyWebpackConfig - }, - { - path: 'dist/chart.js', - limit: '22.4 KB', - import: '{ CategoryScale, LinearScale, LogarithmicScale, RadialLinearScale, TimeScale, TimeSeriesScale }', - running: false, - modifyWebpackConfig - } -] diff --git a/package.json b/package.json index bd6d8c4ca6a..d7acf4404fd 100644 --- a/package.json +++ b/package.json @@ -66,7 +66,6 @@ "lint-md": "eslint \"**/*.md\" --cache", "lint-types": "pnpm build && node test/types/autogen.js && tsc -p test/types", "lint": "concurrently \"pnpm:lint-*\"", - "test-size": "size-limit", "test": "pnpm lint && pnpm test-ci", "test-ci": "concurrently \"pnpm:test-ci-*\"", "test-ci-karma": "cross-env NODE_ENV=test karma start ./karma.conf.cjs --auto-watch --single-run --coverage --grep", @@ -80,7 +79,6 @@ "@rollup/plugin-inject": "^5.0.2", "@rollup/plugin-json": "^5.0.1", "@rollup/plugin-node-resolve": "^15.0.1", - "@size-limit/preset-big-lib": "^8.0.0", "@swc/core": "^1.3.18", "@types/estree": "^1.0.0", "@types/offscreencanvas": "^2019.7.0", @@ -120,7 +118,6 @@ "rollup-plugin-istanbul": "^4.0.0", "rollup-plugin-swc3": "^0.7.0", "rollup-plugin-terser": "^7.0.2", - "size-limit": "^8.0.0", "typescript": "^4.7.4", "yargs": "^17.5.1" }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ac41fc4f4e1..cd2905d2363 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -12,7 +12,6 @@ importers: '@rollup/plugin-inject': ^5.0.2 '@rollup/plugin-json': ^5.0.1 '@rollup/plugin-node-resolve': ^15.0.1 - '@size-limit/preset-big-lib': ^8.0.0 '@swc/core': ^1.3.18 '@types/estree': ^1.0.0 '@types/offscreencanvas': ^2019.7.0 @@ -52,7 +51,6 @@ importers: rollup-plugin-istanbul: ^4.0.0 rollup-plugin-swc3: ^0.7.0 rollup-plugin-terser: ^7.0.2 - size-limit: ^8.0.0 typescript: ^4.7.4 yargs: ^17.5.1 dependencies: @@ -62,7 +60,6 @@ importers: '@rollup/plugin-inject': 5.0.3_rollup@3.20.2 '@rollup/plugin-json': 5.0.2_rollup@3.20.2 '@rollup/plugin-node-resolve': 15.0.1_rollup@3.20.2 - '@size-limit/preset-big-lib': 8.2.4_smp77iovogmwwbmusbunqb4rni '@swc/core': 1.3.42 '@types/estree': 1.0.0 '@types/offscreencanvas': 2019.7.0 @@ -102,7 +99,6 @@ importers: rollup-plugin-istanbul: 4.0.0_rollup@3.20.2 rollup-plugin-swc3: 0.7.0_vhurfucjmfsh3mrr6fuldpixii rollup-plugin-terser: 7.0.2_rollup@3.20.2 - size-limit: 8.2.4 typescript: 4.9.5 yargs: 17.7.1 @@ -2259,77 +2255,6 @@ packages: '@sinonjs/commons': 1.8.6 dev: false - /@sitespeed.io/tracium/0.3.3: - resolution: {integrity: sha512-dNZafjM93Y+F+sfwTO5gTpsGXlnc/0Q+c2+62ViqP3gkMWvHEMSKkaEHgVJLcLg3i/g19GSIPziiKpgyne07Bw==} - engines: {node: '>=8'} - dependencies: - debug: 4.3.4 - transitivePeerDependencies: - - supports-color - dev: true - - /@size-limit/file/8.2.4_size-limit@8.2.4: - resolution: {integrity: sha512-xLuF97W7m7lxrRJvqXRlxO/4t7cpXtfxOnjml/t4aRVUCMXLdyvebRr9OM4jjoK8Fmiz8jomCbETUCI3jVhLzA==} - engines: {node: ^14.0.0 || ^16.0.0 || >=18.0.0} - peerDependencies: - size-limit: 8.2.4 - dependencies: - semver: 7.3.8 - size-limit: 8.2.4 - dev: true - - /@size-limit/preset-big-lib/8.2.4_smp77iovogmwwbmusbunqb4rni: - resolution: {integrity: sha512-J4PTiJATEO/zoXF3tsSUy4KztvVuCw1g9ukRuDHYA+p1YYVViO4fDiSlnw4nBLN2lZoGdfQVOg12G7ta3+WwSA==} - peerDependencies: - size-limit: 8.2.4 - dependencies: - '@size-limit/file': 8.2.4_size-limit@8.2.4 - '@size-limit/time': 8.2.4_size-limit@8.2.4 - '@size-limit/webpack': 8.2.4_smp77iovogmwwbmusbunqb4rni - size-limit: 8.2.4 - transitivePeerDependencies: - - '@swc/core' - - bufferutil - - encoding - - esbuild - - supports-color - - uglify-js - - utf-8-validate - - webpack-cli - dev: true - - /@size-limit/time/8.2.4_size-limit@8.2.4: - resolution: {integrity: sha512-tQ5EFlN/AY8RLIJxURVfiwJpO4Q9UihtfE6c14fXL9Jy/wl2hZEhkFrUhRayNDvnZW8HWNko1Hmt7dLsY3iF8A==} - engines: {node: ^14.0.0 || ^16.0.0 || >=18.0.0} - peerDependencies: - size-limit: 8.2.4 - dependencies: - estimo: 2.3.6 - react: 17.0.2 - size-limit: 8.2.4 - transitivePeerDependencies: - - bufferutil - - encoding - - supports-color - - utf-8-validate - dev: true - - /@size-limit/webpack/8.2.4_smp77iovogmwwbmusbunqb4rni: - resolution: {integrity: sha512-L6TSQpX89cSeWQ1BL31BsaYucao0MGNW1xySHVO7jlgmOwnHC7j5zq91QRN9G6eMG84W+F3uRV4AiyCdZxKz9g==} - engines: {node: ^14.0.0 || ^16.0.0 || >=18.0.0} - peerDependencies: - size-limit: 8.2.4 - dependencies: - nanoid: 3.3.6 - size-limit: 8.2.4 - webpack: 5.76.3_@swc+core@1.3.42 - transitivePeerDependencies: - - '@swc/core' - - esbuild - - uglify-js - - webpack-cli - dev: true - /@socket.io/component-emitter/3.1.0: resolution: {integrity: sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg==} dev: true @@ -2642,12 +2567,14 @@ packages: dependencies: '@types/eslint': 8.21.3 '@types/estree': 0.0.51 + dev: false /@types/eslint/8.21.3: resolution: {integrity: sha512-fa7GkppZVEByMWGbTtE5MbmXWJTVbrjjaS8K6uQj+XtuuUv1fsuPAxhygfqLmsb/Ufb3CV8deFCpiMfAgi00Sw==} dependencies: '@types/estree': 1.0.0 '@types/json-schema': 7.0.11 + dev: false /@types/estree/0.0.39: resolution: {integrity: sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==} @@ -2655,6 +2582,7 @@ packages: /@types/estree/0.0.51: resolution: {integrity: sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==} + dev: false /@types/estree/1.0.0: resolution: {integrity: sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==} @@ -2925,14 +2853,6 @@ packages: '@types/yargs-parser': 21.0.0 dev: false - /@types/yauzl/2.10.0: - resolution: {integrity: sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==} - requiresBuild: true - dependencies: - '@types/node': 18.15.11 - dev: true - optional: true - /@typescript-eslint/eslint-plugin/5.57.0_x4rubgibnu7ujqspfqdeho4yiu: resolution: {integrity: sha512-itag0qpN6q2UMM6Xgk6xoHa0D0/P+M17THnr4SVgqn9Rgam5k/He33MA7/D7QoJcdMxHFyX7U9imaBonAX/6qA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -3332,7 +3252,7 @@ packages: url-loader: 1.1.2_webpack@4.46.0 vue: 2.7.14 vue-loader: 15.10.1_lbhzzmlqoxkdndxnphn2sqq4kq - vue-router: 3.6.5 + vue-router: 3.6.5_vue@2.7.14 vue-server-renderer: 2.7.14 vue-template-compiler: 2.7.14 vuepress-html-webpack-plugin: 3.2.0_webpack@4.46.0 @@ -3535,6 +3455,7 @@ packages: dependencies: '@webassemblyjs/helper-numbers': 1.11.1 '@webassemblyjs/helper-wasm-bytecode': 1.11.1 + dev: false /@webassemblyjs/ast/1.9.0: resolution: {integrity: sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==} @@ -3546,6 +3467,7 @@ packages: /@webassemblyjs/floating-point-hex-parser/1.11.1: resolution: {integrity: sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==} + dev: false /@webassemblyjs/floating-point-hex-parser/1.9.0: resolution: {integrity: sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==} @@ -3553,6 +3475,7 @@ packages: /@webassemblyjs/helper-api-error/1.11.1: resolution: {integrity: sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==} + dev: false /@webassemblyjs/helper-api-error/1.9.0: resolution: {integrity: sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==} @@ -3560,6 +3483,7 @@ packages: /@webassemblyjs/helper-buffer/1.11.1: resolution: {integrity: sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==} + dev: false /@webassemblyjs/helper-buffer/1.9.0: resolution: {integrity: sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==} @@ -3587,9 +3511,11 @@ packages: '@webassemblyjs/floating-point-hex-parser': 1.11.1 '@webassemblyjs/helper-api-error': 1.11.1 '@xtuc/long': 4.2.2 + dev: false /@webassemblyjs/helper-wasm-bytecode/1.11.1: resolution: {integrity: sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==} + dev: false /@webassemblyjs/helper-wasm-bytecode/1.9.0: resolution: {integrity: sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==} @@ -3602,6 +3528,7 @@ packages: '@webassemblyjs/helper-buffer': 1.11.1 '@webassemblyjs/helper-wasm-bytecode': 1.11.1 '@webassemblyjs/wasm-gen': 1.11.1 + dev: false /@webassemblyjs/helper-wasm-section/1.9.0: resolution: {integrity: sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==} @@ -3616,6 +3543,7 @@ packages: resolution: {integrity: sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==} dependencies: '@xtuc/ieee754': 1.2.0 + dev: false /@webassemblyjs/ieee754/1.9.0: resolution: {integrity: sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==} @@ -3627,6 +3555,7 @@ packages: resolution: {integrity: sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==} dependencies: '@xtuc/long': 4.2.2 + dev: false /@webassemblyjs/leb128/1.9.0: resolution: {integrity: sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==} @@ -3636,6 +3565,7 @@ packages: /@webassemblyjs/utf8/1.11.1: resolution: {integrity: sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==} + dev: false /@webassemblyjs/utf8/1.9.0: resolution: {integrity: sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==} @@ -3652,6 +3582,7 @@ packages: '@webassemblyjs/wasm-opt': 1.11.1 '@webassemblyjs/wasm-parser': 1.11.1 '@webassemblyjs/wast-printer': 1.11.1 + dev: false /@webassemblyjs/wasm-edit/1.9.0: resolution: {integrity: sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==} @@ -3674,6 +3605,7 @@ packages: '@webassemblyjs/ieee754': 1.11.1 '@webassemblyjs/leb128': 1.11.1 '@webassemblyjs/utf8': 1.11.1 + dev: false /@webassemblyjs/wasm-gen/1.9.0: resolution: {integrity: sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==} @@ -3692,6 +3624,7 @@ packages: '@webassemblyjs/helper-buffer': 1.11.1 '@webassemblyjs/wasm-gen': 1.11.1 '@webassemblyjs/wasm-parser': 1.11.1 + dev: false /@webassemblyjs/wasm-opt/1.9.0: resolution: {integrity: sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==} @@ -3711,6 +3644,7 @@ packages: '@webassemblyjs/ieee754': 1.11.1 '@webassemblyjs/leb128': 1.11.1 '@webassemblyjs/utf8': 1.11.1 + dev: false /@webassemblyjs/wasm-parser/1.9.0: resolution: {integrity: sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==} @@ -3739,6 +3673,7 @@ packages: dependencies: '@webassemblyjs/ast': 1.11.1 '@xtuc/long': 4.2.2 + dev: false /@webassemblyjs/wast-printer/1.9.0: resolution: {integrity: sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==} @@ -3782,6 +3717,7 @@ packages: acorn: ^8 dependencies: acorn: 8.8.2 + dev: false /acorn-jsx/5.3.2_acorn@8.8.2: resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} @@ -3832,6 +3768,7 @@ packages: debug: 4.3.4 transitivePeerDependencies: - supports-color + dev: false /agentkeepalive/2.2.0: resolution: {integrity: sha512-TnB6ziK363p7lR8QpeLC8aMr8EGYBKZTpgzQLfqTs3bR0Oo5VbKdwKf8h0dSzsYrB7lSCgfJnMZKqShvlq5Oyg==} @@ -4515,14 +4452,6 @@ packages: dev: true optional: true - /bl/4.1.0: - resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} - dependencies: - buffer: 5.7.1 - inherits: 2.0.4 - readable-stream: 3.6.2 - dev: true - /bluebird/3.7.2: resolution: {integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==} @@ -4763,10 +4692,6 @@ packages: node-int64: 0.4.0 dev: false - /buffer-crc32/0.2.13: - resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} - dev: true - /buffer-from/1.1.2: resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} @@ -4790,13 +4715,6 @@ packages: isarray: 1.0.0 dev: true - /buffer/5.7.1: - resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} - dependencies: - base64-js: 1.5.1 - ieee754: 1.2.1 - dev: true - /builtin-modules/3.3.0: resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==} engines: {node: '>=6'} @@ -4813,11 +4731,6 @@ packages: esbuild: 0.14.7 dev: true - /bytes-iec/3.1.1: - resolution: {integrity: sha512-fey6+4jDK7TFtFg/klGSvNKJctyU7n2aQdnM+CO0ruLPbqqMOM8Tio0Pc+deqUeVKX1tL5DQep1zQ7+37aTAsA==} - engines: {node: '>= 0.8'} - dev: true - /bytes/3.0.0: resolution: {integrity: sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==} engines: {node: '>= 0.8'} @@ -5301,11 +5214,6 @@ packages: engines: {node: '>= 12'} dev: false - /commander/9.5.0: - resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==} - engines: {node: ^12.20.0 || >=14} - dev: true - /common-path-prefix/3.0.0: resolution: {integrity: sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==} dev: false @@ -5776,14 +5684,6 @@ packages: cross-spawn: 7.0.3 dev: true - /cross-fetch/3.1.5: - resolution: {integrity: sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==} - dependencies: - node-fetch: 2.6.7 - transitivePeerDependencies: - - encoding - dev: true - /cross-spawn/6.0.5: resolution: {integrity: sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==} engines: {node: '>=4.8'} @@ -6528,10 +6428,6 @@ packages: - supports-color dev: false - /devtools-protocol/0.0.981744: - resolution: {integrity: sha512-0cuGS8+jhR67Fy7qG3i3Pc7Aw494sb9yG9QgpG97SFVWwolgYjlhJg7n+UaHxOQT30d1TYu/EYe9k01ivLErIg==} - dev: true - /di/0.0.1: resolution: {integrity: sha512-uJaamHkagcZtHPqCIHZxnFrXlunQXgBOsZSUOWwFw31QJCAbyTBoHMW75YOTur5ZNx8pIeAKgf6GWIgaqqiLhA==} dev: true @@ -6869,6 +6765,7 @@ packages: dependencies: graceful-fs: 4.2.11 tapable: 2.2.1 + dev: false /ent/2.2.0: resolution: {integrity: sha512-GHrMyVZQWvTIdDtpiEXdHZnFQKzeO09apj8Cbl4pKWy4i0Oprcq17usfDt5aO63swf0JOeMWjWQE/LzgSRuWpA==} @@ -6980,6 +6877,7 @@ packages: /es-module-lexer/0.9.3: resolution: {integrity: sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==} + dev: false /es-set-tostringtag/2.0.1: resolution: {integrity: sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==} @@ -7589,23 +7487,6 @@ packages: dependencies: estraverse: 5.3.0 - /estimo/2.3.6: - resolution: {integrity: sha512-aPd3VTQAL1TyDyhFfn6fqBTJ9WvbRZVN4Z29Buk6+P6xsI0DuF5Mh3dGv6kYCUxWnZkB4Jt3aYglUxOtuwtxoA==} - engines: {node: '>=12'} - hasBin: true - dependencies: - '@sitespeed.io/tracium': 0.3.3 - commander: 9.5.0 - find-chrome-bin: 0.1.0 - nanoid: 3.3.6 - puppeteer-core: 13.7.0 - transitivePeerDependencies: - - bufferutil - - encoding - - supports-color - - utf-8-validate - dev: true - /estraverse/4.3.0: resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} engines: {node: '>=4.0'} @@ -7860,20 +7741,6 @@ packages: - supports-color dev: true - /extract-zip/2.0.1: - resolution: {integrity: sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==} - engines: {node: '>= 10.17.0'} - hasBin: true - dependencies: - debug: 4.3.4 - get-stream: 5.2.0 - yauzl: 2.10.0 - optionalDependencies: - '@types/yauzl': 2.10.0 - transitivePeerDependencies: - - supports-color - dev: true - /extsprintf/1.3.0: resolution: {integrity: sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==} engines: {'0': node >=0.6.0} @@ -7929,12 +7796,6 @@ packages: bser: 2.1.1 dev: false - /fd-slicer/1.1.0: - resolution: {integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==} - dependencies: - pend: 1.2.0 - dev: true - /figgy-pudding/3.5.2: resolution: {integrity: sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==} dev: true @@ -8068,11 +7929,6 @@ packages: make-dir: 3.1.0 pkg-dir: 4.2.0 - /find-chrome-bin/0.1.0: - resolution: {integrity: sha512-XoFZwaEn1R3pE6zNG8kH64l2e093hgB9+78eEKPmJK0o1EXEou+25cEWdtu2qq4DBQPDSe90VJAWVI2Sz9pX6Q==} - engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - dev: true - /find-up/3.0.0: resolution: {integrity: sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==} engines: {node: '>=6'} @@ -8229,10 +8085,6 @@ packages: readable-stream: 2.3.8 dev: true - /fs-constants/1.0.0: - resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} - dev: true - /fs-extra/10.1.0: resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} engines: {node: '>=12'} @@ -8290,7 +8142,7 @@ packages: resolution: {integrity: sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==} engines: {node: '>= 4.0'} os: [darwin] - deprecated: fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade to fsevents 2. + deprecated: The v1 package contains DANGEROUS / INSECURE binaries. Upgrade to safe fsevents v2 requiresBuild: true dependencies: bindings: 1.5.0 @@ -8409,6 +8261,7 @@ packages: /glob-to-regexp/0.4.1: resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} + dev: false /glob/7.1.6: resolution: {integrity: sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==} @@ -8975,6 +8828,7 @@ packages: debug: 4.3.4 transitivePeerDependencies: - supports-color + dev: false /human-signals/2.1.0: resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} @@ -10212,6 +10066,7 @@ packages: '@types/node': 18.15.11 merge-stream: 2.0.0 supports-color: 8.1.1 + dev: false /jest-worker/28.1.3: resolution: {integrity: sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g==} @@ -10341,6 +10196,7 @@ packages: /json-parse-even-better-errors/2.3.1: resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} + dev: false /json-schema-traverse/0.4.1: resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} @@ -10668,6 +10524,7 @@ packages: /loader-runner/4.3.0: resolution: {integrity: sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==} engines: {node: '>=6.11.5'} + dev: false /loader-utils/0.2.17: resolution: {integrity: sha512-tiv66G0SmiOx+pLWMtGEkfSEejxvb6N6uRrQjfWJIT79W9GMpgKeCAmm9aVBKtd4WEgntciI8CsGqjpDoCWJug==} @@ -10791,6 +10648,7 @@ packages: hasBin: true dependencies: js-tokens: 4.0.0 + dev: false /lower-case/1.1.4: resolution: {integrity: sha512-2Fgx1Ycm599x+WGpIYwJOvsjmXFzTSc34IwDWALRA/8AopUKAVPwfJ+h5+f85BCp0PWmmJcWzEpxOpoXycMpdA==} @@ -11209,10 +11067,6 @@ packages: is-extendable: 1.0.1 dev: true - /mkdirp-classic/0.5.3: - resolution: {integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==} - dev: true - /mkdirp/0.3.0: resolution: {integrity: sha512-OHsdUcVAQ6pOtg5JYWpCBo9W/GySVuwvP9hueRMW7UqshC0tbfzLv8wjySTPm3tfUZ/21CE9E1pJagOA91Pxew==} deprecated: Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.) @@ -11336,12 +11190,6 @@ packages: - supports-color dev: true - /nanospinner/1.1.0: - resolution: {integrity: sha512-yFvNYMig4AthKYfHFl1sLj7B2nkHL4lzdig4osvl9/LdGbXwrdFRoqBS98gsEsOakr0yH+r5NZ/1Y9gdVB8trA==} - dependencies: - picocolors: 1.0.0 - dev: true - /natural-compare-lite/1.4.0: resolution: {integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==} @@ -11372,18 +11220,6 @@ packages: tslib: 2.5.0 dev: false - /node-fetch/2.6.7: - resolution: {integrity: sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==} - engines: {node: 4.x || >=6.0.0} - peerDependencies: - encoding: ^0.1.0 - peerDependenciesMeta: - encoding: - optional: true - dependencies: - whatwg-url: 5.0.0 - dev: true - /node-fetch/2.6.9: resolution: {integrity: sha512-DJm/CJkZkRjKKj4Zi4BsKVZh3ValV5IR5s7LVZnW+6YMh0W1BfNA8XSs6DLMGYlId5F3KnA70uu2qepcR08Qqg==} engines: {node: 4.x || >=6.0.0} @@ -11938,10 +11774,6 @@ packages: sha.js: 2.4.11 dev: true - /pend/1.2.0: - resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==} - dev: true - /perf-regexes/1.0.1: resolution: {integrity: sha512-L7MXxUDtqr4PUaLFCDCXBfGV/6KLIuSEccizDI7JxT+c9x1G1v04BQ4+4oag84SHaCdrBgQAIs/Cqn+flwFPng==} engines: {node: '>=6.14'} @@ -13479,11 +13311,6 @@ packages: engines: {node: '>= 0.6.0'} dev: true - /progress/2.0.3: - resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==} - engines: {node: '>=0.4.0'} - dev: true - /promise-inflight/1.0.1_bluebird@3.7.2: resolution: {integrity: sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==} peerDependencies: @@ -13524,10 +13351,6 @@ packages: forwarded: 0.2.0 ipaddr.js: 1.9.1 - /proxy-from-env/1.1.0: - resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} - dev: true - /prr/1.0.1: resolution: {integrity: sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==} dev: true @@ -13591,29 +13414,6 @@ packages: escape-goat: 2.1.1 dev: true - /puppeteer-core/13.7.0: - resolution: {integrity: sha512-rXja4vcnAzFAP1OVLq/5dWNfwBGuzcOARJ6qGV7oAZhnLmVRU8G5MsdeQEAOy332ZhkIOnn9jp15R89LKHyp2Q==} - engines: {node: '>=10.18.1'} - dependencies: - cross-fetch: 3.1.5 - debug: 4.3.4 - devtools-protocol: 0.0.981744 - extract-zip: 2.0.1 - https-proxy-agent: 5.0.1 - pkg-dir: 4.2.0 - progress: 2.0.3 - proxy-from-env: 1.1.0 - rimraf: 3.0.2 - tar-fs: 2.1.1 - unbzip2-stream: 1.4.3 - ws: 8.5.0 - transitivePeerDependencies: - - bufferutil - - encoding - - supports-color - - utf-8-validate - dev: true - /q/1.5.1: resolution: {integrity: sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==} engines: {node: '>=0.6.0', teleport: '>=0.2.0'} @@ -13731,6 +13531,12 @@ packages: /react-dev-utils/12.0.1_toavp455ygo5xswyuptgsxzxqi: resolution: {integrity: sha512-84Ivxmr17KjUupyqzFode6xKhjwuEJDROWKJy/BthkL7Wn6NJ8h4WE6k/exAv6ImS+0oZLRRW5j/aINMHyeGeQ==} engines: {node: '>=14'} + peerDependencies: + typescript: '>=2.7' + webpack: '>=4' + peerDependenciesMeta: + typescript: + optional: true dependencies: '@babel/code-frame': 7.18.6 address: 1.2.2 @@ -13756,12 +13562,12 @@ packages: shell-quote: 1.8.0 strip-ansi: 6.0.1 text-table: 0.2.0 + typescript: 4.9.5 + webpack: 5.76.3 transitivePeerDependencies: - eslint - supports-color - - typescript - vue-template-compiler - - webpack dev: false /react-dom/18.2.0_react@18.2.0: @@ -13891,14 +13697,6 @@ packages: - webpack-plugin-serve dev: false - /react/17.0.2: - resolution: {integrity: sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==} - engines: {node: '>=0.10.0'} - dependencies: - loose-envify: 1.4.0 - object-assign: 4.1.1 - dev: true - /react/18.2.0: resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==} engines: {node: '>=0.10.0'} @@ -14460,6 +14258,7 @@ packages: '@types/json-schema': 7.0.11 ajv: 6.12.6 ajv-keywords: 3.5.2_ajv@6.12.6 + dev: false /schema-utils/4.0.0: resolution: {integrity: sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==} @@ -14715,19 +14514,6 @@ packages: resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} dev: false - /size-limit/8.2.4: - resolution: {integrity: sha512-Un16nSreD1v2CYwSorattiJcHuAWqXvg4TsGgzpjnoByqQwsSfCIEQHuaD14HNStzredR8cdsO9oGH91ibypTA==} - engines: {node: ^14.0.0 || ^16.0.0 || >=18.0.0} - hasBin: true - dependencies: - bytes-iec: 3.1.1 - chokidar: 3.5.3 - globby: 11.1.0 - lilconfig: 2.1.0 - nanospinner: 1.1.0 - picocolors: 1.0.0 - dev: true - /skip-regex/1.0.2: resolution: {integrity: sha512-pEjMUbwJ5Pl/6Vn6FsamXHXItJXSRftcibixDmNCWbWhic0hzHrwkMZo0IZ7fMRH9KxcWDFSkzhccB4285PutA==} engines: {node: '>=4.2'} @@ -15476,26 +15262,7 @@ packages: /tapable/2.2.1: resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} engines: {node: '>=6'} - - /tar-fs/2.1.1: - resolution: {integrity: sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==} - dependencies: - chownr: 1.1.4 - mkdirp-classic: 0.5.3 - pump: 3.0.0 - tar-stream: 2.2.0 - dev: true - - /tar-stream/2.2.0: - resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==} - engines: {node: '>=6'} - dependencies: - bl: 4.1.0 - end-of-stream: 1.4.4 - fs-constants: 1.0.0 - inherits: 2.0.4 - readable-stream: 3.6.2 - dev: true + dev: false /temp-dir/2.0.0: resolution: {integrity: sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==} @@ -15543,31 +15310,6 @@ packages: worker-farm: 1.7.0 dev: true - /terser-webpack-plugin/5.3.7_lcw5yu2lk5db7skz6pr77wcjzm: - resolution: {integrity: sha512-AfKwIktyP7Cu50xNjXF/6Qb5lBNzYaWpU6YfoX3uZicTx0zTy0stDDCsvjDapKsSDvOeWo5MEq4TmdBy2cNoHw==} - engines: {node: '>= 10.13.0'} - peerDependencies: - '@swc/core': '*' - esbuild: '*' - uglify-js: '*' - webpack: ^5.1.0 - peerDependenciesMeta: - '@swc/core': - optional: true - esbuild: - optional: true - uglify-js: - optional: true - dependencies: - '@jridgewell/trace-mapping': 0.3.17 - '@swc/core': 1.3.42 - jest-worker: 27.5.1 - schema-utils: 3.1.1 - serialize-javascript: 6.0.1 - terser: 5.16.8 - webpack: 5.76.3_@swc+core@1.3.42 - dev: true - /terser-webpack-plugin/5.3.7_webpack@5.76.3: resolution: {integrity: sha512-AfKwIktyP7Cu50xNjXF/6Qb5lBNzYaWpU6YfoX3uZicTx0zTy0stDDCsvjDapKsSDvOeWo5MEq4TmdBy2cNoHw==} engines: {node: '>= 10.13.0'} @@ -15948,13 +15690,6 @@ packages: has-symbols: 1.0.3 which-boxed-primitive: 1.0.2 - /unbzip2-stream/1.4.3: - resolution: {integrity: sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==} - dependencies: - buffer: 5.7.1 - through: 2.3.8 - dev: true - /unicode-canonical-property-names-ecmascript/2.0.0: resolution: {integrity: sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==} engines: {node: '>=4'} @@ -16314,8 +16049,12 @@ packages: vue: 2.7.14 dev: true - /vue-router/3.6.5: + /vue-router/3.6.5_vue@2.7.14: resolution: {integrity: sha512-VYXZQLtjuvKxxcshuRAwjHnciqZVoXAjTjcqBTz4rKc8qih9g9pI3hbDjmqXaHdgL3v8pV6P8Z335XvHzESxLQ==} + peerDependencies: + vue: ^2 + dependencies: + vue: 2.7.14 dev: true /vue-server-renderer/2.7.14: @@ -16590,6 +16329,7 @@ packages: dependencies: glob-to-regexp: 0.4.1 graceful-fs: 4.2.11 + dev: false /wbuf/1.7.3: resolution: {integrity: sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==} @@ -16804,6 +16544,7 @@ packages: /webpack-sources/3.2.3: resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==} engines: {node: '>=10.13.0'} + dev: false /webpack/4.46.0: resolution: {integrity: sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q==} @@ -16885,46 +16626,6 @@ packages: - uglify-js dev: false - /webpack/5.76.3_@swc+core@1.3.42: - resolution: {integrity: sha512-18Qv7uGPU8b2vqGeEEObnfICyw2g39CHlDEK4I7NK13LOur1d0HGmGNKGT58Eluwddpn3oEejwvBPoP4M7/KSA==} - engines: {node: '>=10.13.0'} - hasBin: true - peerDependencies: - webpack-cli: '*' - peerDependenciesMeta: - webpack-cli: - optional: true - dependencies: - '@types/eslint-scope': 3.7.4 - '@types/estree': 0.0.51 - '@webassemblyjs/ast': 1.11.1 - '@webassemblyjs/wasm-edit': 1.11.1 - '@webassemblyjs/wasm-parser': 1.11.1 - acorn: 8.8.2 - acorn-import-assertions: 1.8.0_acorn@8.8.2 - browserslist: 4.21.5 - chrome-trace-event: 1.0.3 - enhanced-resolve: 5.12.0 - es-module-lexer: 0.9.3 - eslint-scope: 5.1.1 - events: 3.3.0 - glob-to-regexp: 0.4.1 - graceful-fs: 4.2.11 - json-parse-even-better-errors: 2.3.1 - loader-runner: 4.3.0 - mime-types: 2.1.35 - neo-async: 2.6.2 - schema-utils: 3.1.1 - tapable: 2.2.1 - terser-webpack-plugin: 5.3.7_lcw5yu2lk5db7skz6pr77wcjzm - watchpack: 2.4.0 - webpack-sources: 3.2.3 - transitivePeerDependencies: - - '@swc/core' - - esbuild - - uglify-js - dev: true - /webpackbar/3.2.0_webpack@4.46.0: resolution: {integrity: sha512-PC4o+1c8gWWileUfwabe0gqptlXUDJd5E0zbpr2xHP1VSOVlZVPBZ8j6NCR8zM5zbKdxPhctHXahgpNK1qFDPw==} engines: {node: '>= 6.9.0'} @@ -17307,19 +17008,6 @@ packages: optional: true dev: false - /ws/8.5.0: - resolution: {integrity: sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg==} - engines: {node: '>=10.0.0'} - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: ^5.0.2 - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - dev: true - /xdg-basedir/4.0.0: resolution: {integrity: sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==} engines: {node: '>=8'} @@ -17416,13 +17104,6 @@ packages: yargs-parser: 21.1.1 dev: true - /yauzl/2.10.0: - resolution: {integrity: sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==} - dependencies: - buffer-crc32: 0.2.13 - fd-slicer: 1.1.0 - dev: true - /yocto-queue/0.1.0: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} From 8e19199f58c14cdd1f60a8b782548a8d4000820b Mon Sep 17 00:00:00 2001 From: Jacco van den Berg Date: Mon, 4 Dec 2023 19:56:38 +0100 Subject: [PATCH 023/105] Update font spec type (#11605) --- docs/general/fonts.md | 2 +- src/types/index.d.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/general/fonts.md b/docs/general/fonts.md index 9b2d6c842ce..df9f4f6cb67 100644 --- a/docs/general/fonts.md +++ b/docs/general/fonts.md @@ -29,7 +29,7 @@ let chart = new Chart(ctx, { | `family` | `string` | `"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif"` | Default font family for all text, follows CSS font-family options. | `size` | `number` | `12` | Default font size (in px) for text. Does not apply to radialLinear scale point labels. | `style` | `string` | `'normal'` | Default font style. Does not apply to tooltip title or footer. Does not apply to chart title. Follows CSS font-style options (i.e. normal, italic, oblique, initial, inherit). -| `weight` | `string` | `undefined` | Default font weight (boldness). (see [MDN](https://developer.mozilla.org/en-US/docs/Web/CSS/font-weight)). +| `weight` | `normal` \| `bold` \| `lighter` \| `bolder` \| `number` | `undefined` | Default font weight (boldness). (see [MDN](https://developer.mozilla.org/en-US/docs/Web/CSS/font-weight)). | `lineHeight` | `number`\|`string` | `1.2` | Height of an individual line of text (see [MDN](https://developer.mozilla.org/en-US/docs/Web/CSS/line-height)). ## Missing Fonts diff --git a/src/types/index.d.ts b/src/types/index.d.ts index 12a6ed6c1fa..6e661188a0b 100644 --- a/src/types/index.d.ts +++ b/src/types/index.d.ts @@ -1777,7 +1777,7 @@ export interface FontSpec { /** * Default font weight (boldness). (see MDN). */ - weight: string | null; + weight: 'normal' | 'bold' | 'lighter' | 'bolder' | number | null; /** * Height of an individual line of text (see MDN). * @default 1.2 From ac53fd282ee1a35512b532bb10bca9d74e2f8e41 Mon Sep 17 00:00:00 2001 From: Jacco van den Berg Date: Mon, 4 Dec 2023 20:18:19 +0100 Subject: [PATCH 024/105] Bump 4.4.1 (#11606) --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index d7acf4404fd..8dc0a97859b 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "chart.js", "homepage": "https://www.chartjs.org", "description": "Simple HTML5 charts using the canvas element.", - "version": "4.4.0", + "version": "4.4.1", "license": "MIT", "type": "module", "sideEffects": [ From 84e7238a647623a3dd1f1c699752c4c364a68b1e Mon Sep 17 00:00:00 2001 From: Jacco van den Berg Date: Thu, 14 Dec 2023 22:11:26 +0100 Subject: [PATCH 025/105] Add extra calrification for html legend (#11614) --- docs/samples/legend/html.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/samples/legend/html.md b/docs/samples/legend/html.md index a1400a3d387..3628059428b 100644 --- a/docs/samples/legend/html.md +++ b/docs/samples/legend/html.md @@ -1,6 +1,7 @@ # HTML Legend -This example shows how to create a custom HTML legend using a plugin and connect it to the chart in lieu of the default on-canvas legend. +This example shows how to create a custom HTML legend using a plugin and connect it to the chart in lieu of the default on-canvas legend. +For an html legend to work you need to place an empty div at your web page with the ID you provide in the options to bind to like so: `
`.
From dff44828db94467f153a5da22b464317fcb3bcca Mon Sep 17 00:00:00 2001 From: Hyun-je Alex Moon Date: Wed, 27 Dec 2023 15:18:14 +0900 Subject: [PATCH 026/105] fix(#11615): fix calculating caretX position on stacked bar with index interaction. (#11616) --- src/plugins/plugin.tooltip.js | 8 +++-- test/specs/plugin.tooltip.tests.js | 56 ++++++++++++++++++++++++++++++ 2 files changed, 61 insertions(+), 3 deletions(-) diff --git a/src/plugins/plugin.tooltip.js b/src/plugins/plugin.tooltip.js index 05b5fb9470d..e76b1479e06 100644 --- a/src/plugins/plugin.tooltip.js +++ b/src/plugins/plugin.tooltip.js @@ -24,7 +24,7 @@ const positioners = { } let i, len; - let x = 0; + let xSet = new Set(); let y = 0; let count = 0; @@ -32,14 +32,16 @@ const positioners = { const el = items[i].element; if (el && el.hasValue()) { const pos = el.tooltipPosition(); - x += pos.x; + xSet.add(pos.x); y += pos.y; ++count; } } + const xAverage = [...xSet].reduce((a, b) => a + b) / xSet.size; + return { - x: x / count, + x: xAverage, y: y / count }; }, diff --git a/test/specs/plugin.tooltip.tests.js b/test/specs/plugin.tooltip.tests.js index 3314ce1385d..69e8c7f64c9 100644 --- a/test/specs/plugin.tooltip.tests.js +++ b/test/specs/plugin.tooltip.tests.js @@ -1088,6 +1088,62 @@ describe('Plugin.Tooltip', function() { expect(Object.prototype.hasOwnProperty.call(fn.calls.first().args[1], 'y')).toBe(true); expect(fn.calls.first().object instanceof Tooltip).toBe(true); }); + + it('Should ignore same x position when calculating average position with index interaction on stacked bar', async function() { + var chart = window.acquireChart({ + type: 'bar', + data: { + datasets: [{ + label: 'Dataset 1', + data: [10, 20, 30], + pointHoverBorderColor: 'rgb(255, 0, 0)', + pointHoverBackgroundColor: 'rgb(0, 255, 0)', + stack: 'stack1', + }, { + label: 'Dataset 2', + data: [40, 40, 40], + pointHoverBorderColor: 'rgb(0, 0, 255)', + pointHoverBackgroundColor: 'rgb(0, 255, 255)', + stack: 'stack1', + }, { + label: 'Dataset 3', + data: [90, 100, 110], + pointHoverBorderColor: 'rgb(0, 0, 255)', + pointHoverBackgroundColor: 'rgb(0, 255, 255)' + }], + labels: ['Point 1', 'Point 2', 'Point 3'] + }, + options: { + interaction: { + mode: 'index' + }, + plugins: { + position: 'average', + }, + } + }); + + // Trigger an event over top of the + var pointIndex = 1; + var datasetIndex = 0; + var meta = chart.getDatasetMeta(datasetIndex); + var point = meta.data[pointIndex]; + await jasmine.triggerMouseEvent(chart, 'mousemove', point); + + var tooltipModel = chart.tooltip; + const activeElements = tooltipModel.getActiveElements(); + + const xPositionArray = activeElements.map((element) => element.element.x); + const xPositionArrayAverage = xPositionArray.reduce((a, b) => a + b) / xPositionArray.length; + + const xPositionSet = new Set(xPositionArray); + const xPositionSetAverage = [...xPositionSet].reduce((a, b) => a + b) / xPositionSet.size; + + expect(xPositionArray.length).toBe(3); + expect(xPositionSet.size).toBe(2); + expect(tooltipModel.caretX).not.toBe(xPositionArrayAverage); + expect(tooltipModel.caretX).toBe(xPositionSetAverage); + }); }); it('Should avoid tooltip truncation in x axis if there is enough space to show tooltip without truncation', async function() { From 072213fe1503b1adb46d9a0cb2452c9a2f56f2dc Mon Sep 17 00:00:00 2001 From: Jacco van den Berg Date: Tue, 9 Jan 2024 15:26:44 +0100 Subject: [PATCH 027/105] Update pnpm lockfile (#11633) --- package.json | 4 +- pnpm-lock.yaml | 6288 ++++++++++++++++++++++-------------------------- 2 files changed, 2817 insertions(+), 3475 deletions(-) diff --git a/package.json b/package.json index 8dc0a97859b..00e66250cf6 100644 --- a/package.json +++ b/package.json @@ -122,9 +122,9 @@ "yargs": "^17.5.1" }, "engines": { - "pnpm": ">=7" + "pnpm": ">=8" }, - "packageManager": "pnpm@7.9.0", + "packageManager": "pnpm@8.13.0", "pnpm": { "overrides": { "html-entities": "1.4.0" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index cd2905d2363..8e266e428d1 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1,4 +1,8 @@ -lockfileVersion: 5.4 +lockfileVersion: '6.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false overrides: html-entities: 1.4.0 @@ -6,214 +10,291 @@ overrides: importers: .: - specifiers: - '@kurkle/color': ^0.3.0 - '@rollup/plugin-commonjs': ^23.0.2 - '@rollup/plugin-inject': ^5.0.2 - '@rollup/plugin-json': ^5.0.1 - '@rollup/plugin-node-resolve': ^15.0.1 - '@swc/core': ^1.3.18 - '@types/estree': ^1.0.0 - '@types/offscreencanvas': ^2019.7.0 - '@typescript-eslint/eslint-plugin': ^5.32.0 - '@typescript-eslint/parser': ^5.32.0 - chartjs-adapter-luxon: ^1.2.0 - chartjs-adapter-moment: ^1.0.0 - chartjs-test-utils: ^0.4.0 - concurrently: ^7.3.0 - coveralls: ^3.1.1 - cross-env: ^7.0.3 - eslint: ^8.21.0 - eslint-config-chartjs: ^0.3.0 - eslint-plugin-es: ^4.1.0 - eslint-plugin-html: ^7.1.0 - eslint-plugin-markdown: ^3.0.0 - esm: ^3.2.25 - glob: ^8.0.3 - jasmine: ^3.7.0 - jasmine-core: ^3.7.1 - karma: ^6.3.2 - karma-chrome-launcher: ^3.1.0 - karma-coverage: ^2.0.3 - karma-edge-launcher: ^0.4.2 - karma-firefox-launcher: ^2.1.0 - karma-jasmine: ^4.0.1 - karma-jasmine-html-reporter: ^1.5.4 - karma-rollup-preprocessor: 7.0.7 - karma-safari-private-launcher: ^1.0.0 - karma-spec-reporter: 0.0.32 - luxon: ^3.0.1 - moment: ^2.29.4 - moment-timezone: ^0.5.34 - pixelmatch: ^5.3.0 - rollup: ^3.3.0 - rollup-plugin-cleanup: ^3.2.1 - rollup-plugin-istanbul: ^4.0.0 - rollup-plugin-swc3: ^0.7.0 - rollup-plugin-terser: ^7.0.2 - typescript: ^4.7.4 - yargs: ^17.5.1 - dependencies: - '@kurkle/color': 0.3.2 + dependencies: + '@kurkle/color': + specifier: ^0.3.0 + version: 0.3.2 devDependencies: - '@rollup/plugin-commonjs': 23.0.7_rollup@3.20.2 - '@rollup/plugin-inject': 5.0.3_rollup@3.20.2 - '@rollup/plugin-json': 5.0.2_rollup@3.20.2 - '@rollup/plugin-node-resolve': 15.0.1_rollup@3.20.2 - '@swc/core': 1.3.42 - '@types/estree': 1.0.0 - '@types/offscreencanvas': 2019.7.0 - '@typescript-eslint/eslint-plugin': 5.57.0_x4rubgibnu7ujqspfqdeho4yiu - '@typescript-eslint/parser': 5.57.0_ip5up2nocltd47wbnuyybe5dxu - chartjs-adapter-luxon: 1.3.1_luxon@3.3.0 - chartjs-adapter-moment: 1.0.1_moment@2.29.4 - chartjs-test-utils: 0.4.0_foftceir3y3gn2jawntu24o3hu - concurrently: 7.6.0 - coveralls: 3.1.1 - cross-env: 7.0.3 - eslint: 8.37.0 - eslint-config-chartjs: 0.3.0 - eslint-plugin-es: 4.1.0_eslint@8.37.0 - eslint-plugin-html: 7.1.0 - eslint-plugin-markdown: 3.0.0_eslint@8.37.0 - esm: 3.2.25 - glob: 8.1.0 - jasmine: 3.99.0 - jasmine-core: 3.99.1 - karma: 6.4.1 - karma-chrome-launcher: 3.1.1 - karma-coverage: 2.2.0 - karma-edge-launcher: 0.4.2_karma@6.4.1 - karma-firefox-launcher: 2.1.2 - karma-jasmine: 4.0.2_karma@6.4.1 - karma-jasmine-html-reporter: 1.7.0_vnyzwauddsc7t4lqcn3ma57tre - karma-rollup-preprocessor: 7.0.7_rollup@3.20.2 - karma-safari-private-launcher: 1.0.0 - karma-spec-reporter: 0.0.32_karma@6.4.1 - luxon: 3.3.0 - moment: 2.29.4 - moment-timezone: 0.5.42 - pixelmatch: 5.3.0 - rollup: 3.20.2 - rollup-plugin-cleanup: 3.2.1_rollup@3.20.2 - rollup-plugin-istanbul: 4.0.0_rollup@3.20.2 - rollup-plugin-swc3: 0.7.0_vhurfucjmfsh3mrr6fuldpixii - rollup-plugin-terser: 7.0.2_rollup@3.20.2 - typescript: 4.9.5 - yargs: 17.7.1 + '@rollup/plugin-commonjs': + specifier: ^23.0.2 + version: 23.0.7(rollup@3.20.2) + '@rollup/plugin-inject': + specifier: ^5.0.2 + version: 5.0.3(rollup@3.20.2) + '@rollup/plugin-json': + specifier: ^5.0.1 + version: 5.0.2(rollup@3.20.2) + '@rollup/plugin-node-resolve': + specifier: ^15.0.1 + version: 15.0.1(rollup@3.20.2) + '@swc/core': + specifier: ^1.3.18 + version: 1.3.42 + '@types/estree': + specifier: ^1.0.0 + version: 1.0.0 + '@types/offscreencanvas': + specifier: ^2019.7.0 + version: 2019.7.0 + '@typescript-eslint/eslint-plugin': + specifier: ^5.32.0 + version: 5.57.0(@typescript-eslint/parser@5.57.0)(eslint@8.37.0)(typescript@4.9.5) + '@typescript-eslint/parser': + specifier: ^5.32.0 + version: 5.57.0(eslint@8.37.0)(typescript@4.9.5) + chartjs-adapter-luxon: + specifier: ^1.2.0 + version: 1.3.1(luxon@3.3.0) + chartjs-adapter-moment: + specifier: ^1.0.0 + version: 1.0.1(moment@2.29.4) + chartjs-test-utils: + specifier: ^0.4.0 + version: 0.4.0(jasmine@3.99.0)(karma-jasmine@4.0.2)(karma@6.4.1) + concurrently: + specifier: ^7.3.0 + version: 7.6.0 + coveralls: + specifier: ^3.1.1 + version: 3.1.1 + cross-env: + specifier: ^7.0.3 + version: 7.0.3 + eslint: + specifier: ^8.21.0 + version: 8.37.0 + eslint-config-chartjs: + specifier: ^0.3.0 + version: 0.3.0 + eslint-plugin-es: + specifier: ^4.1.0 + version: 4.1.0(eslint@8.37.0) + eslint-plugin-html: + specifier: ^7.1.0 + version: 7.1.0 + eslint-plugin-markdown: + specifier: ^3.0.0 + version: 3.0.0(eslint@8.37.0) + esm: + specifier: ^3.2.25 + version: 3.2.25 + glob: + specifier: ^8.0.3 + version: 8.1.0 + jasmine: + specifier: ^3.7.0 + version: 3.99.0 + jasmine-core: + specifier: ^3.7.1 + version: 3.99.1 + karma: + specifier: ^6.3.2 + version: 6.4.1 + karma-chrome-launcher: + specifier: ^3.1.0 + version: 3.1.1 + karma-coverage: + specifier: ^2.0.3 + version: 2.2.0 + karma-edge-launcher: + specifier: ^0.4.2 + version: 0.4.2(karma@6.4.1) + karma-firefox-launcher: + specifier: ^2.1.0 + version: 2.1.2 + karma-jasmine: + specifier: ^4.0.1 + version: 4.0.2(karma@6.4.1) + karma-jasmine-html-reporter: + specifier: ^1.5.4 + version: 1.7.0(jasmine-core@3.99.1)(karma-jasmine@4.0.2)(karma@6.4.1) + karma-rollup-preprocessor: + specifier: 7.0.7 + version: 7.0.7(rollup@3.20.2) + karma-safari-private-launcher: + specifier: ^1.0.0 + version: 1.0.0 + karma-spec-reporter: + specifier: 0.0.32 + version: 0.0.32(karma@6.4.1) + luxon: + specifier: ^3.0.1 + version: 3.3.0 + moment: + specifier: ^2.29.4 + version: 2.29.4 + moment-timezone: + specifier: ^0.5.34 + version: 0.5.42 + pixelmatch: + specifier: ^5.3.0 + version: 5.3.0 + rollup: + specifier: ^3.3.0 + version: 3.20.2 + rollup-plugin-cleanup: + specifier: ^3.2.1 + version: 3.2.1(rollup@3.20.2) + rollup-plugin-istanbul: + specifier: ^4.0.0 + version: 4.0.0(rollup@3.20.2) + rollup-plugin-swc3: + specifier: ^0.7.0 + version: 0.7.0(@swc/core@1.3.42)(rollup@3.20.2) + rollup-plugin-terser: + specifier: ^7.0.2 + version: 7.0.2(rollup@3.20.2) + typescript: + specifier: ^4.7.4 + version: 4.9.5 + yargs: + specifier: ^17.5.1 + version: 17.7.1 docs: - specifiers: - '@simonbrunel/vuepress-plugin-versions': ^0.2.0 - '@vuepress/plugin-google-analytics': ^1.9.7 - '@vuepress/plugin-html-redirect': ^0.1.2 - markdown-it: ^12.3.2 - markdown-it-include: ^2.0.0 - typedoc: ^0.23.10 - typedoc-plugin-markdown: ^3.13.4 - typescript: ^4.7.4 - vue: ^2.6.14 - vue-tabs-component: ^1.5.0 - vuepress: ^1.9.7 - vuepress-plugin-code-copy: ^1.0.6 - vuepress-plugin-flexsearch: ^0.3.0 - vuepress-plugin-redirect: ^1.2.5 - vuepress-plugin-tabs: ^0.3.0 - vuepress-plugin-typedoc: ^0.11.0 - vuepress-theme-chartjs: ^0.2.0 - webpack: ^4.46.0 devDependencies: - '@simonbrunel/vuepress-plugin-versions': 0.2.0 - '@vuepress/plugin-google-analytics': 1.9.9 - '@vuepress/plugin-html-redirect': 0.1.4 - markdown-it: 12.3.2 - markdown-it-include: 2.0.0_markdown-it@12.3.2 - typedoc: 0.23.28_typescript@4.9.5 - typedoc-plugin-markdown: 3.14.0_typedoc@0.23.28 - typescript: 4.9.5 - vue: 2.7.14 - vue-tabs-component: 1.5.0_vue@2.7.14 - vuepress: 1.9.9 - vuepress-plugin-code-copy: 1.0.6 - vuepress-plugin-flexsearch: 0.3.0 - vuepress-plugin-redirect: 1.2.5 - vuepress-plugin-tabs: 0.3.0 - vuepress-plugin-typedoc: 0.11.2_bhwftghzp2kjaeaba4ticsx7k4 - vuepress-theme-chartjs: 0.2.0_vue@2.7.14 - webpack: 4.46.0 + '@simonbrunel/vuepress-plugin-versions': + specifier: ^0.2.0 + version: 0.2.0 + '@vuepress/plugin-google-analytics': + specifier: ^1.9.7 + version: 1.9.9 + '@vuepress/plugin-html-redirect': + specifier: ^0.1.2 + version: 0.1.4 + markdown-it: + specifier: ^12.3.2 + version: 12.3.2 + markdown-it-include: + specifier: ^2.0.0 + version: 2.0.0(markdown-it@12.3.2) + typedoc: + specifier: ^0.23.10 + version: 0.23.28(typescript@4.9.5) + typedoc-plugin-markdown: + specifier: ^3.13.4 + version: 3.14.0(typedoc@0.23.28) + typescript: + specifier: ^4.7.4 + version: 4.9.5 + vue: + specifier: ^2.6.14 + version: 2.7.14 + vue-tabs-component: + specifier: ^1.5.0 + version: 1.5.0(vue@2.7.14) + vuepress: + specifier: ^1.9.7 + version: 1.9.9 + vuepress-plugin-code-copy: + specifier: ^1.0.6 + version: 1.0.6 + vuepress-plugin-flexsearch: + specifier: ^0.3.0 + version: 0.3.0 + vuepress-plugin-redirect: + specifier: ^1.2.5 + version: 1.2.5 + vuepress-plugin-tabs: + specifier: ^0.3.0 + version: 0.3.0 + vuepress-plugin-typedoc: + specifier: ^0.11.0 + version: 0.11.2(typedoc-plugin-markdown@3.14.0)(typedoc@0.23.28) + vuepress-theme-chartjs: + specifier: ^0.2.0 + version: 0.2.0(postcss@8.4.21)(vue@2.7.14) + webpack: + specifier: ^4.46.0 + version: 4.46.0 test/integration/node: - specifiers: - chart.js: workspace:* dependencies: - chart.js: link:../../.. + chart.js: + specifier: workspace:* + version: link:../../.. test/integration/node-commonjs: - specifiers: - chart.js: workspace:* dependencies: - chart.js: link:../../.. + chart.js: + specifier: workspace:* + version: link:../../.. test/integration/react-browser: - specifiers: - '@babel/core': ^7.0.0 - '@babel/plugin-syntax-flow': ^7.14.5 - '@babel/plugin-transform-react-jsx': ^7.14.9 - '@types/node': ^18.7.6 - '@types/react': ^18.0.17 - '@types/react-dom': ^18.0.6 - chart.js: workspace:* - react: ^18.2.0 - react-dom: ^18.2.0 - react-scripts: 5.0.1 - typescript: ^4.7.4 - web-vitals: ^2.1.4 dependencies: - '@babel/core': 7.21.3 - '@babel/plugin-syntax-flow': 7.18.6_@babel+core@7.21.3 - '@babel/plugin-transform-react-jsx': 7.21.0_@babel+core@7.21.3 - '@types/node': 18.15.11 - '@types/react': 18.0.31 - '@types/react-dom': 18.0.11 - chart.js: link:../../.. - react: 18.2.0 - react-dom: 18.2.0_react@18.2.0 - react-scripts: 5.0.1_4b623jbeyzi4h3l6het54x5soi - typescript: 4.9.5 - web-vitals: 2.1.4 + '@babel/core': + specifier: ^7.0.0 + version: 7.21.3 + '@babel/plugin-syntax-flow': + specifier: ^7.14.5 + version: 7.18.6(@babel/core@7.21.3) + '@babel/plugin-transform-react-jsx': + specifier: ^7.14.9 + version: 7.21.0(@babel/core@7.21.3) + '@types/node': + specifier: ^18.7.6 + version: 18.15.11 + '@types/react': + specifier: ^18.0.17 + version: 18.0.31 + '@types/react-dom': + specifier: ^18.0.6 + version: 18.0.11 + chart.js: + specifier: workspace:* + version: link:../../.. + react: + specifier: ^18.2.0 + version: 18.2.0 + react-dom: + specifier: ^18.2.0 + version: 18.2.0(react@18.2.0) + react-scripts: + specifier: 5.0.1 + version: 5.0.1(@babel/plugin-syntax-flow@7.18.6)(@babel/plugin-transform-react-jsx@7.21.0)(@swc/core@1.3.42)(eslint@8.37.0)(react@18.2.0)(typescript@4.9.5) + typescript: + specifier: ^4.7.4 + version: 4.9.5 + web-vitals: + specifier: ^2.1.4 + version: 2.1.4 test/integration/typescript-node: - specifiers: - chart.js: workspace:* - ts-expect: ^1.3.0 - typescript: ^4.7.4 dependencies: - chart.js: link:../../.. - typescript: 4.9.5 + chart.js: + specifier: workspace:* + version: link:../../.. + typescript: + specifier: ^4.7.4 + version: 4.9.5 devDependencies: - ts-expect: 1.3.0 + ts-expect: + specifier: ^1.3.0 + version: 1.3.0 test/integration/typescript-node-next: - specifiers: - chart.js: workspace:* - ts-expect: ^1.3.0 - typescript: ^4.7.4 dependencies: - chart.js: link:../../.. - typescript: 4.9.5 + chart.js: + specifier: workspace:* + version: link:../../.. + typescript: + specifier: ^4.7.4 + version: 4.9.5 devDependencies: - ts-expect: 1.3.0 + ts-expect: + specifier: ^1.3.0 + version: 1.3.0 packages: - /@ampproject/remapping/2.2.0: + /@ampproject/remapping@2.2.0: resolution: {integrity: sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==} engines: {node: '>=6.0.0'} dependencies: '@jridgewell/gen-mapping': 0.1.1 '@jridgewell/trace-mapping': 0.3.17 - /@apideck/better-ajv-errors/0.3.6_ajv@8.12.0: + /@apideck/better-ajv-errors@0.3.6(ajv@8.12.0): resolution: {integrity: sha512-P+ZygBLZtkp0qqOAJJVX4oX/sFo5JR3eBWwwuqHHhK0GIgQOKWrAfiAaWX0aArHkRWHMuggFEgAZNxVPwPZYaA==} engines: {node: '>=10'} peerDependencies: @@ -225,24 +306,24 @@ packages: leven: 3.1.0 dev: false - /@babel/code-frame/7.18.6: + /@babel/code-frame@7.18.6: resolution: {integrity: sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==} engines: {node: '>=6.9.0'} dependencies: '@babel/highlight': 7.18.6 - /@babel/compat-data/7.21.0: + /@babel/compat-data@7.21.0: resolution: {integrity: sha512-gMuZsmsgxk/ENC3O/fRw5QY8A9/uxQbbCEypnLIiYYc/qVJtEV7ouxC3EllIIwNzMqAQee5tanFabWsUOutS7g==} engines: {node: '>=6.9.0'} - /@babel/core/7.21.3: + /@babel/core@7.21.3: resolution: {integrity: sha512-qIJONzoa/qiHghnm0l1n4i/6IIziDpzqc36FBs4pzMhDUraHqponwJLiAKm1hGLP3OSB/TVNz6rMwVGpwxxySw==} engines: {node: '>=6.9.0'} dependencies: '@ampproject/remapping': 2.2.0 '@babel/code-frame': 7.18.6 '@babel/generator': 7.21.3 - '@babel/helper-compilation-targets': 7.20.7_@babel+core@7.21.3 + '@babel/helper-compilation-targets': 7.20.7(@babel/core@7.21.3) '@babel/helper-module-transforms': 7.21.2 '@babel/helpers': 7.21.0 '@babel/parser': 7.21.3 @@ -250,14 +331,14 @@ packages: '@babel/traverse': 7.21.3 '@babel/types': 7.21.3 convert-source-map: 1.9.0 - debug: 4.3.4 + debug: 4.3.4(supports-color@6.1.0) gensync: 1.0.0-beta.2 json5: 2.2.3 semver: 6.3.0 transitivePeerDependencies: - supports-color - /@babel/eslint-parser/7.21.3_zhdnyyhch632orqfsceizhvbw4: + /@babel/eslint-parser@7.21.3(@babel/core@7.21.3)(eslint@8.37.0): resolution: {integrity: sha512-kfhmPimwo6k4P8zxNs8+T7yR44q1LdpsZdE1NkCsVlfiuTPRfnGgjaF8Qgug9q9Pou17u6wneYF0lDCZJATMFg==} engines: {node: ^10.13.0 || ^12.13.0 || >=14.0.0} peerDependencies: @@ -271,7 +352,7 @@ packages: semver: 6.3.0 dev: false - /@babel/generator/7.21.3: + /@babel/generator@7.21.3: resolution: {integrity: sha512-QS3iR1GYC/YGUnW7IdggFeN5c1poPUurnGttOV/bZgPGV+izC/D8HnD6DLwod0fsatNyVn1G3EVWMYIF0nHbeA==} engines: {node: '>=6.9.0'} dependencies: @@ -280,20 +361,20 @@ packages: '@jridgewell/trace-mapping': 0.3.17 jsesc: 2.5.2 - /@babel/helper-annotate-as-pure/7.18.6: + /@babel/helper-annotate-as-pure@7.18.6: resolution: {integrity: sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==} engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.21.3 - /@babel/helper-builder-binary-assignment-operator-visitor/7.18.9: + /@babel/helper-builder-binary-assignment-operator-visitor@7.18.9: resolution: {integrity: sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw==} engines: {node: '>=6.9.0'} dependencies: '@babel/helper-explode-assignable-expression': 7.18.6 '@babel/types': 7.21.3 - /@babel/helper-compilation-targets/7.20.7_@babel+core@7.21.3: + /@babel/helper-compilation-targets@7.20.7(@babel/core@7.21.3): resolution: {integrity: sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ==} engines: {node: '>=6.9.0'} peerDependencies: @@ -306,7 +387,7 @@ packages: lru-cache: 5.1.1 semver: 6.3.0 - /@babel/helper-create-class-features-plugin/7.21.0_@babel+core@7.21.3: + /@babel/helper-create-class-features-plugin@7.21.0(@babel/core@7.21.3): resolution: {integrity: sha512-Q8wNiMIdwsv5la5SPxNYzzkPnjgC0Sy0i7jLkVOCdllu/xcVNkr3TeZzbHBJrj+XXRqzX5uCyCoV9eu6xUG7KQ==} engines: {node: '>=6.9.0'} peerDependencies: @@ -324,7 +405,7 @@ packages: transitivePeerDependencies: - supports-color - /@babel/helper-create-regexp-features-plugin/7.21.0_@babel+core@7.21.3: + /@babel/helper-create-regexp-features-plugin@7.21.0(@babel/core@7.21.3): resolution: {integrity: sha512-N+LaFW/auRSWdx7SHD/HiARwXQju1vXTW4fKr4u5SgBUTm51OKEjKgj+cs00ggW3kEvNqwErnlwuq7Y3xBe4eg==} engines: {node: '>=6.9.0'} peerDependencies: @@ -334,57 +415,57 @@ packages: '@babel/helper-annotate-as-pure': 7.18.6 regexpu-core: 5.3.2 - /@babel/helper-define-polyfill-provider/0.3.3_@babel+core@7.21.3: + /@babel/helper-define-polyfill-provider@0.3.3(@babel/core@7.21.3): resolution: {integrity: sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==} peerDependencies: '@babel/core': ^7.4.0-0 dependencies: '@babel/core': 7.21.3 - '@babel/helper-compilation-targets': 7.20.7_@babel+core@7.21.3 + '@babel/helper-compilation-targets': 7.20.7(@babel/core@7.21.3) '@babel/helper-plugin-utils': 7.20.2 - debug: 4.3.4 + debug: 4.3.4(supports-color@6.1.0) lodash.debounce: 4.0.8 resolve: 1.22.1 semver: 6.3.0 transitivePeerDependencies: - supports-color - /@babel/helper-environment-visitor/7.18.9: + /@babel/helper-environment-visitor@7.18.9: resolution: {integrity: sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==} engines: {node: '>=6.9.0'} - /@babel/helper-explode-assignable-expression/7.18.6: + /@babel/helper-explode-assignable-expression@7.18.6: resolution: {integrity: sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==} engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.21.3 - /@babel/helper-function-name/7.21.0: + /@babel/helper-function-name@7.21.0: resolution: {integrity: sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==} engines: {node: '>=6.9.0'} dependencies: '@babel/template': 7.20.7 '@babel/types': 7.21.3 - /@babel/helper-hoist-variables/7.18.6: + /@babel/helper-hoist-variables@7.18.6: resolution: {integrity: sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==} engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.21.3 - /@babel/helper-member-expression-to-functions/7.21.0: + /@babel/helper-member-expression-to-functions@7.21.0: resolution: {integrity: sha512-Muu8cdZwNN6mRRNG6lAYErJ5X3bRevgYR2O8wN0yn7jJSnGDu6eG59RfT29JHxGUovyfrh6Pj0XzmR7drNVL3Q==} engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.21.3 - /@babel/helper-module-imports/7.18.6: + /@babel/helper-module-imports@7.18.6: resolution: {integrity: sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==} engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.21.3 - /@babel/helper-module-transforms/7.21.2: + /@babel/helper-module-transforms@7.21.2: resolution: {integrity: sha512-79yj2AR4U/Oqq/WOV7Lx6hUjau1Zfo4cI+JLAVYeMV5XIlbOhmjEk5ulbTc9fMpmlojzZHkUUxAiK+UKn+hNQQ==} engines: {node: '>=6.9.0'} dependencies: @@ -399,17 +480,17 @@ packages: transitivePeerDependencies: - supports-color - /@babel/helper-optimise-call-expression/7.18.6: + /@babel/helper-optimise-call-expression@7.18.6: resolution: {integrity: sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==} engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.21.3 - /@babel/helper-plugin-utils/7.20.2: + /@babel/helper-plugin-utils@7.20.2: resolution: {integrity: sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==} engines: {node: '>=6.9.0'} - /@babel/helper-remap-async-to-generator/7.18.9_@babel+core@7.21.3: + /@babel/helper-remap-async-to-generator@7.18.9(@babel/core@7.21.3): resolution: {integrity: sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==} engines: {node: '>=6.9.0'} peerDependencies: @@ -423,7 +504,7 @@ packages: transitivePeerDependencies: - supports-color - /@babel/helper-replace-supers/7.20.7: + /@babel/helper-replace-supers@7.20.7: resolution: {integrity: sha512-vujDMtB6LVfNW13jhlCrp48QNslK6JXi7lQG736HVbHz/mbf4Dc7tIRh1Xf5C0rF7BP8iiSxGMCmY6Ci1ven3A==} engines: {node: '>=6.9.0'} dependencies: @@ -436,37 +517,37 @@ packages: transitivePeerDependencies: - supports-color - /@babel/helper-simple-access/7.20.2: + /@babel/helper-simple-access@7.20.2: resolution: {integrity: sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==} engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.21.3 - /@babel/helper-skip-transparent-expression-wrappers/7.20.0: + /@babel/helper-skip-transparent-expression-wrappers@7.20.0: resolution: {integrity: sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg==} engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.21.3 - /@babel/helper-split-export-declaration/7.18.6: + /@babel/helper-split-export-declaration@7.18.6: resolution: {integrity: sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==} engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.21.3 - /@babel/helper-string-parser/7.19.4: + /@babel/helper-string-parser@7.19.4: resolution: {integrity: sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==} engines: {node: '>=6.9.0'} - /@babel/helper-validator-identifier/7.19.1: + /@babel/helper-validator-identifier@7.19.1: resolution: {integrity: sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==} engines: {node: '>=6.9.0'} - /@babel/helper-validator-option/7.21.0: + /@babel/helper-validator-option@7.21.0: resolution: {integrity: sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ==} engines: {node: '>=6.9.0'} - /@babel/helper-wrap-function/7.20.5: + /@babel/helper-wrap-function@7.20.5: resolution: {integrity: sha512-bYMxIWK5mh+TgXGVqAtnu5Yn1un+v8DDZtqyzKRLUzrh70Eal2O3aZ7aPYiMADO4uKlkzOiRiZ6GX5q3qxvW9Q==} engines: {node: '>=6.9.0'} dependencies: @@ -477,7 +558,7 @@ packages: transitivePeerDependencies: - supports-color - /@babel/helpers/7.21.0: + /@babel/helpers@7.21.0: resolution: {integrity: sha512-XXve0CBtOW0pd7MRzzmoyuSj0e3SEzj8pgyFxnTT1NJZL38BD1MK7yYrm8yefRPIDvNNe14xR4FdbHwpInD4rA==} engines: {node: '>=6.9.0'} dependencies: @@ -487,7 +568,7 @@ packages: transitivePeerDependencies: - supports-color - /@babel/highlight/7.18.6: + /@babel/highlight@7.18.6: resolution: {integrity: sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==} engines: {node: '>=6.9.0'} dependencies: @@ -495,14 +576,14 @@ packages: chalk: 2.4.2 js-tokens: 4.0.0 - /@babel/parser/7.21.3: + /@babel/parser@7.21.3: resolution: {integrity: sha512-lobG0d7aOfQRXh8AyklEAgZGvA4FShxo6xQbUrrT/cNBPUdIDojlokwJsQyCC/eKia7ifqM0yP+2DRZ4WKw2RQ==} engines: {node: '>=6.0.0'} hasBin: true dependencies: '@babel/types': 7.21.3 - /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/7.18.6_@babel+core@7.21.3: + /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.18.6(@babel/core@7.21.3): resolution: {integrity: sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==} engines: {node: '>=6.9.0'} peerDependencies: @@ -511,7 +592,7 @@ packages: '@babel/core': 7.21.3 '@babel/helper-plugin-utils': 7.20.2 - /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/7.20.7_@babel+core@7.21.3: + /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.20.7(@babel/core@7.21.3): resolution: {integrity: sha512-sbr9+wNE5aXMBBFBICk01tt7sBf2Oc9ikRFEcem/ZORup9IMUdNhW7/wVLEbbtlWOsEubJet46mHAL2C8+2jKQ==} engines: {node: '>=6.9.0'} peerDependencies: @@ -520,9 +601,9 @@ packages: '@babel/core': 7.21.3 '@babel/helper-plugin-utils': 7.20.2 '@babel/helper-skip-transparent-expression-wrappers': 7.20.0 - '@babel/plugin-proposal-optional-chaining': 7.21.0_@babel+core@7.21.3 + '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.21.3) - /@babel/plugin-proposal-async-generator-functions/7.20.7_@babel+core@7.21.3: + /@babel/plugin-proposal-async-generator-functions@7.20.7(@babel/core@7.21.3): resolution: {integrity: sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA==} engines: {node: '>=6.9.0'} peerDependencies: @@ -531,52 +612,52 @@ packages: '@babel/core': 7.21.3 '@babel/helper-environment-visitor': 7.18.9 '@babel/helper-plugin-utils': 7.20.2 - '@babel/helper-remap-async-to-generator': 7.18.9_@babel+core@7.21.3 - '@babel/plugin-syntax-async-generators': 7.8.4_@babel+core@7.21.3 + '@babel/helper-remap-async-to-generator': 7.18.9(@babel/core@7.21.3) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.21.3) transitivePeerDependencies: - supports-color - /@babel/plugin-proposal-class-properties/7.18.6_@babel+core@7.21.3: + /@babel/plugin-proposal-class-properties@7.18.6(@babel/core@7.21.3): resolution: {integrity: sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.21.3 - '@babel/helper-create-class-features-plugin': 7.21.0_@babel+core@7.21.3 + '@babel/helper-create-class-features-plugin': 7.21.0(@babel/core@7.21.3) '@babel/helper-plugin-utils': 7.20.2 transitivePeerDependencies: - supports-color - /@babel/plugin-proposal-class-static-block/7.21.0_@babel+core@7.21.3: + /@babel/plugin-proposal-class-static-block@7.21.0(@babel/core@7.21.3): resolution: {integrity: sha512-XP5G9MWNUskFuP30IfFSEFB0Z6HzLIUcjYM4bYOPHXl7eiJ9HFv8tWj6TXTN5QODiEhDZAeI4hLok2iHFFV4hw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.12.0 dependencies: '@babel/core': 7.21.3 - '@babel/helper-create-class-features-plugin': 7.21.0_@babel+core@7.21.3 + '@babel/helper-create-class-features-plugin': 7.21.0(@babel/core@7.21.3) '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-class-static-block': 7.14.5_@babel+core@7.21.3 + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.21.3) transitivePeerDependencies: - supports-color - /@babel/plugin-proposal-decorators/7.21.0_@babel+core@7.21.3: + /@babel/plugin-proposal-decorators@7.21.0(@babel/core@7.21.3): resolution: {integrity: sha512-MfgX49uRrFUTL/HvWtmx3zmpyzMMr4MTj3d527MLlr/4RTT9G/ytFFP7qet2uM2Ve03b+BkpWUpK+lRXnQ+v9w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.21.3 - '@babel/helper-create-class-features-plugin': 7.21.0_@babel+core@7.21.3 + '@babel/helper-create-class-features-plugin': 7.21.0(@babel/core@7.21.3) '@babel/helper-plugin-utils': 7.20.2 '@babel/helper-replace-supers': 7.20.7 '@babel/helper-split-export-declaration': 7.18.6 - '@babel/plugin-syntax-decorators': 7.21.0_@babel+core@7.21.3 + '@babel/plugin-syntax-decorators': 7.21.0(@babel/core@7.21.3) transitivePeerDependencies: - supports-color - /@babel/plugin-proposal-dynamic-import/7.18.6_@babel+core@7.21.3: + /@babel/plugin-proposal-dynamic-import@7.18.6(@babel/core@7.21.3): resolution: {integrity: sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==} engines: {node: '>=6.9.0'} peerDependencies: @@ -584,9 +665,9 @@ packages: dependencies: '@babel/core': 7.21.3 '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-dynamic-import': 7.8.3_@babel+core@7.21.3 + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.21.3) - /@babel/plugin-proposal-export-namespace-from/7.18.9_@babel+core@7.21.3: + /@babel/plugin-proposal-export-namespace-from@7.18.9(@babel/core@7.21.3): resolution: {integrity: sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==} engines: {node: '>=6.9.0'} peerDependencies: @@ -594,9 +675,9 @@ packages: dependencies: '@babel/core': 7.21.3 '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-export-namespace-from': 7.8.3_@babel+core@7.21.3 + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.21.3) - /@babel/plugin-proposal-json-strings/7.18.6_@babel+core@7.21.3: + /@babel/plugin-proposal-json-strings@7.18.6(@babel/core@7.21.3): resolution: {integrity: sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==} engines: {node: '>=6.9.0'} peerDependencies: @@ -604,9 +685,9 @@ packages: dependencies: '@babel/core': 7.21.3 '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-json-strings': 7.8.3_@babel+core@7.21.3 + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.21.3) - /@babel/plugin-proposal-logical-assignment-operators/7.20.7_@babel+core@7.21.3: + /@babel/plugin-proposal-logical-assignment-operators@7.20.7(@babel/core@7.21.3): resolution: {integrity: sha512-y7C7cZgpMIjWlKE5T7eJwp+tnRYM89HmRvWM5EQuB5BoHEONjmQ8lSNmBUwOyy/GFRsohJED51YBF79hE1djug==} engines: {node: '>=6.9.0'} peerDependencies: @@ -614,9 +695,9 @@ packages: dependencies: '@babel/core': 7.21.3 '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4_@babel+core@7.21.3 + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.21.3) - /@babel/plugin-proposal-nullish-coalescing-operator/7.18.6_@babel+core@7.21.3: + /@babel/plugin-proposal-nullish-coalescing-operator@7.18.6(@babel/core@7.21.3): resolution: {integrity: sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==} engines: {node: '>=6.9.0'} peerDependencies: @@ -624,9 +705,9 @@ packages: dependencies: '@babel/core': 7.21.3 '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3_@babel+core@7.21.3 + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.21.3) - /@babel/plugin-proposal-numeric-separator/7.18.6_@babel+core@7.21.3: + /@babel/plugin-proposal-numeric-separator@7.18.6(@babel/core@7.21.3): resolution: {integrity: sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==} engines: {node: '>=6.9.0'} peerDependencies: @@ -634,9 +715,9 @@ packages: dependencies: '@babel/core': 7.21.3 '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-numeric-separator': 7.10.4_@babel+core@7.21.3 + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.21.3) - /@babel/plugin-proposal-object-rest-spread/7.20.7_@babel+core@7.21.3: + /@babel/plugin-proposal-object-rest-spread@7.20.7(@babel/core@7.21.3): resolution: {integrity: sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==} engines: {node: '>=6.9.0'} peerDependencies: @@ -644,12 +725,12 @@ packages: dependencies: '@babel/compat-data': 7.21.0 '@babel/core': 7.21.3 - '@babel/helper-compilation-targets': 7.20.7_@babel+core@7.21.3 + '@babel/helper-compilation-targets': 7.20.7(@babel/core@7.21.3) '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.21.3 - '@babel/plugin-transform-parameters': 7.21.3_@babel+core@7.21.3 + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.21.3) + '@babel/plugin-transform-parameters': 7.21.3(@babel/core@7.21.3) - /@babel/plugin-proposal-optional-catch-binding/7.18.6_@babel+core@7.21.3: + /@babel/plugin-proposal-optional-catch-binding@7.18.6(@babel/core@7.21.3): resolution: {integrity: sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==} engines: {node: '>=6.9.0'} peerDependencies: @@ -657,9 +738,9 @@ packages: dependencies: '@babel/core': 7.21.3 '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-optional-catch-binding': 7.8.3_@babel+core@7.21.3 + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.21.3) - /@babel/plugin-proposal-optional-chaining/7.21.0_@babel+core@7.21.3: + /@babel/plugin-proposal-optional-chaining@7.21.0(@babel/core@7.21.3): resolution: {integrity: sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==} engines: {node: '>=6.9.0'} peerDependencies: @@ -668,21 +749,21 @@ packages: '@babel/core': 7.21.3 '@babel/helper-plugin-utils': 7.20.2 '@babel/helper-skip-transparent-expression-wrappers': 7.20.0 - '@babel/plugin-syntax-optional-chaining': 7.8.3_@babel+core@7.21.3 + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.21.3) - /@babel/plugin-proposal-private-methods/7.18.6_@babel+core@7.21.3: + /@babel/plugin-proposal-private-methods@7.18.6(@babel/core@7.21.3): resolution: {integrity: sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.21.3 - '@babel/helper-create-class-features-plugin': 7.21.0_@babel+core@7.21.3 + '@babel/helper-create-class-features-plugin': 7.21.0(@babel/core@7.21.3) '@babel/helper-plugin-utils': 7.20.2 transitivePeerDependencies: - supports-color - /@babel/plugin-proposal-private-property-in-object/7.21.0_@babel+core@7.21.3: + /@babel/plugin-proposal-private-property-in-object@7.21.0(@babel/core@7.21.3): resolution: {integrity: sha512-ha4zfehbJjc5MmXBlHec1igel5TJXXLDDRbuJ4+XT2TJcyD9/V1919BA8gMvsdHcNMBy4WBUBiRb3nw/EQUtBw==} engines: {node: '>=6.9.0'} peerDependencies: @@ -690,23 +771,23 @@ packages: dependencies: '@babel/core': 7.21.3 '@babel/helper-annotate-as-pure': 7.18.6 - '@babel/helper-create-class-features-plugin': 7.21.0_@babel+core@7.21.3 + '@babel/helper-create-class-features-plugin': 7.21.0(@babel/core@7.21.3) '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-private-property-in-object': 7.14.5_@babel+core@7.21.3 + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.21.3) transitivePeerDependencies: - supports-color - /@babel/plugin-proposal-unicode-property-regex/7.18.6_@babel+core@7.21.3: + /@babel/plugin-proposal-unicode-property-regex@7.18.6(@babel/core@7.21.3): resolution: {integrity: sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==} engines: {node: '>=4'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.21.3 - '@babel/helper-create-regexp-features-plugin': 7.21.0_@babel+core@7.21.3 + '@babel/helper-create-regexp-features-plugin': 7.21.0(@babel/core@7.21.3) '@babel/helper-plugin-utils': 7.20.2 - /@babel/plugin-syntax-async-generators/7.8.4_@babel+core@7.21.3: + /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.21.3): resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} peerDependencies: '@babel/core': ^7.0.0-0 @@ -714,7 +795,7 @@ packages: '@babel/core': 7.21.3 '@babel/helper-plugin-utils': 7.20.2 - /@babel/plugin-syntax-bigint/7.8.3_@babel+core@7.21.3: + /@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.21.3): resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==} peerDependencies: '@babel/core': ^7.0.0-0 @@ -723,7 +804,7 @@ packages: '@babel/helper-plugin-utils': 7.20.2 dev: false - /@babel/plugin-syntax-class-properties/7.12.13_@babel+core@7.21.3: + /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.21.3): resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} peerDependencies: '@babel/core': ^7.0.0-0 @@ -731,7 +812,7 @@ packages: '@babel/core': 7.21.3 '@babel/helper-plugin-utils': 7.20.2 - /@babel/plugin-syntax-class-static-block/7.14.5_@babel+core@7.21.3: + /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.21.3): resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} engines: {node: '>=6.9.0'} peerDependencies: @@ -740,7 +821,7 @@ packages: '@babel/core': 7.21.3 '@babel/helper-plugin-utils': 7.20.2 - /@babel/plugin-syntax-decorators/7.21.0_@babel+core@7.21.3: + /@babel/plugin-syntax-decorators@7.21.0(@babel/core@7.21.3): resolution: {integrity: sha512-tIoPpGBR8UuM4++ccWN3gifhVvQu7ZizuR1fklhRJrd5ewgbkUS+0KVFeWWxELtn18NTLoW32XV7zyOgIAiz+w==} engines: {node: '>=6.9.0'} peerDependencies: @@ -749,7 +830,7 @@ packages: '@babel/core': 7.21.3 '@babel/helper-plugin-utils': 7.20.2 - /@babel/plugin-syntax-dynamic-import/7.8.3_@babel+core@7.21.3: + /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.21.3): resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} peerDependencies: '@babel/core': ^7.0.0-0 @@ -757,7 +838,7 @@ packages: '@babel/core': 7.21.3 '@babel/helper-plugin-utils': 7.20.2 - /@babel/plugin-syntax-export-namespace-from/7.8.3_@babel+core@7.21.3: + /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.21.3): resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==} peerDependencies: '@babel/core': ^7.0.0-0 @@ -765,7 +846,7 @@ packages: '@babel/core': 7.21.3 '@babel/helper-plugin-utils': 7.20.2 - /@babel/plugin-syntax-flow/7.18.6_@babel+core@7.21.3: + /@babel/plugin-syntax-flow@7.18.6(@babel/core@7.21.3): resolution: {integrity: sha512-LUbR+KNTBWCUAqRG9ex5Gnzu2IOkt8jRJbHHXFT9q+L9zm7M/QQbEqXyw1n1pohYvOyWC8CjeyjrSaIwiYjK7A==} engines: {node: '>=6.9.0'} peerDependencies: @@ -775,7 +856,7 @@ packages: '@babel/helper-plugin-utils': 7.20.2 dev: false - /@babel/plugin-syntax-import-assertions/7.20.0_@babel+core@7.21.3: + /@babel/plugin-syntax-import-assertions@7.20.0(@babel/core@7.21.3): resolution: {integrity: sha512-IUh1vakzNoWalR8ch/areW7qFopR2AEw03JlG7BbrDqmQ4X3q9uuipQwSGrUn7oGiemKjtSLDhNtQHzMHr1JdQ==} engines: {node: '>=6.9.0'} peerDependencies: @@ -784,7 +865,7 @@ packages: '@babel/core': 7.21.3 '@babel/helper-plugin-utils': 7.20.2 - /@babel/plugin-syntax-import-meta/7.10.4_@babel+core@7.21.3: + /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.21.3): resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} peerDependencies: '@babel/core': ^7.0.0-0 @@ -793,7 +874,7 @@ packages: '@babel/helper-plugin-utils': 7.20.2 dev: false - /@babel/plugin-syntax-json-strings/7.8.3_@babel+core@7.21.3: + /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.21.3): resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} peerDependencies: '@babel/core': ^7.0.0-0 @@ -801,7 +882,7 @@ packages: '@babel/core': 7.21.3 '@babel/helper-plugin-utils': 7.20.2 - /@babel/plugin-syntax-jsx/7.18.6_@babel+core@7.21.3: + /@babel/plugin-syntax-jsx@7.18.6(@babel/core@7.21.3): resolution: {integrity: sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==} engines: {node: '>=6.9.0'} peerDependencies: @@ -810,7 +891,7 @@ packages: '@babel/core': 7.21.3 '@babel/helper-plugin-utils': 7.20.2 - /@babel/plugin-syntax-logical-assignment-operators/7.10.4_@babel+core@7.21.3: + /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.21.3): resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} peerDependencies: '@babel/core': ^7.0.0-0 @@ -818,7 +899,7 @@ packages: '@babel/core': 7.21.3 '@babel/helper-plugin-utils': 7.20.2 - /@babel/plugin-syntax-nullish-coalescing-operator/7.8.3_@babel+core@7.21.3: + /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.21.3): resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} peerDependencies: '@babel/core': ^7.0.0-0 @@ -826,7 +907,7 @@ packages: '@babel/core': 7.21.3 '@babel/helper-plugin-utils': 7.20.2 - /@babel/plugin-syntax-numeric-separator/7.10.4_@babel+core@7.21.3: + /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.21.3): resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} peerDependencies: '@babel/core': ^7.0.0-0 @@ -834,7 +915,7 @@ packages: '@babel/core': 7.21.3 '@babel/helper-plugin-utils': 7.20.2 - /@babel/plugin-syntax-object-rest-spread/7.8.3_@babel+core@7.21.3: + /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.21.3): resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} peerDependencies: '@babel/core': ^7.0.0-0 @@ -842,7 +923,7 @@ packages: '@babel/core': 7.21.3 '@babel/helper-plugin-utils': 7.20.2 - /@babel/plugin-syntax-optional-catch-binding/7.8.3_@babel+core@7.21.3: + /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.21.3): resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} peerDependencies: '@babel/core': ^7.0.0-0 @@ -850,7 +931,7 @@ packages: '@babel/core': 7.21.3 '@babel/helper-plugin-utils': 7.20.2 - /@babel/plugin-syntax-optional-chaining/7.8.3_@babel+core@7.21.3: + /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.21.3): resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} peerDependencies: '@babel/core': ^7.0.0-0 @@ -858,7 +939,7 @@ packages: '@babel/core': 7.21.3 '@babel/helper-plugin-utils': 7.20.2 - /@babel/plugin-syntax-private-property-in-object/7.14.5_@babel+core@7.21.3: + /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.21.3): resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} engines: {node: '>=6.9.0'} peerDependencies: @@ -867,7 +948,7 @@ packages: '@babel/core': 7.21.3 '@babel/helper-plugin-utils': 7.20.2 - /@babel/plugin-syntax-top-level-await/7.14.5_@babel+core@7.21.3: + /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.21.3): resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} engines: {node: '>=6.9.0'} peerDependencies: @@ -876,7 +957,7 @@ packages: '@babel/core': 7.21.3 '@babel/helper-plugin-utils': 7.20.2 - /@babel/plugin-syntax-typescript/7.20.0_@babel+core@7.21.3: + /@babel/plugin-syntax-typescript@7.20.0(@babel/core@7.21.3): resolution: {integrity: sha512-rd9TkG+u1CExzS4SM1BlMEhMXwFLKVjOAFFCDx9PbX5ycJWDoWMcwdJH9RhkPu1dOgn5TrxLot/Gx6lWFuAUNQ==} engines: {node: '>=6.9.0'} peerDependencies: @@ -886,7 +967,7 @@ packages: '@babel/helper-plugin-utils': 7.20.2 dev: false - /@babel/plugin-transform-arrow-functions/7.20.7_@babel+core@7.21.3: + /@babel/plugin-transform-arrow-functions@7.20.7(@babel/core@7.21.3): resolution: {integrity: sha512-3poA5E7dzDomxj9WXWwuD6A5F3kc7VXwIJO+E+J8qtDtS+pXPAhrgEyh+9GBwBgPq1Z+bB+/JD60lp5jsN7JPQ==} engines: {node: '>=6.9.0'} peerDependencies: @@ -895,7 +976,7 @@ packages: '@babel/core': 7.21.3 '@babel/helper-plugin-utils': 7.20.2 - /@babel/plugin-transform-async-to-generator/7.20.7_@babel+core@7.21.3: + /@babel/plugin-transform-async-to-generator@7.20.7(@babel/core@7.21.3): resolution: {integrity: sha512-Uo5gwHPT9vgnSXQxqGtpdufUiWp96gk7yiP4Mp5bm1QMkEmLXBO7PAGYbKoJ6DhAwiNkcHFBol/x5zZZkL/t0Q==} engines: {node: '>=6.9.0'} peerDependencies: @@ -904,11 +985,11 @@ packages: '@babel/core': 7.21.3 '@babel/helper-module-imports': 7.18.6 '@babel/helper-plugin-utils': 7.20.2 - '@babel/helper-remap-async-to-generator': 7.18.9_@babel+core@7.21.3 + '@babel/helper-remap-async-to-generator': 7.18.9(@babel/core@7.21.3) transitivePeerDependencies: - supports-color - /@babel/plugin-transform-block-scoped-functions/7.18.6_@babel+core@7.21.3: + /@babel/plugin-transform-block-scoped-functions@7.18.6(@babel/core@7.21.3): resolution: {integrity: sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==} engines: {node: '>=6.9.0'} peerDependencies: @@ -917,7 +998,7 @@ packages: '@babel/core': 7.21.3 '@babel/helper-plugin-utils': 7.20.2 - /@babel/plugin-transform-block-scoping/7.21.0_@babel+core@7.21.3: + /@babel/plugin-transform-block-scoping@7.21.0(@babel/core@7.21.3): resolution: {integrity: sha512-Mdrbunoh9SxwFZapeHVrwFmri16+oYotcZysSzhNIVDwIAb1UV+kvnxULSYq9J3/q5MDG+4X6w8QVgD1zhBXNQ==} engines: {node: '>=6.9.0'} peerDependencies: @@ -926,7 +1007,7 @@ packages: '@babel/core': 7.21.3 '@babel/helper-plugin-utils': 7.20.2 - /@babel/plugin-transform-classes/7.21.0_@babel+core@7.21.3: + /@babel/plugin-transform-classes@7.21.0(@babel/core@7.21.3): resolution: {integrity: sha512-RZhbYTCEUAe6ntPehC4hlslPWosNHDox+vAs4On/mCLRLfoDVHf6hVEd7kuxr1RnHwJmxFfUM3cZiZRmPxJPXQ==} engines: {node: '>=6.9.0'} peerDependencies: @@ -934,7 +1015,7 @@ packages: dependencies: '@babel/core': 7.21.3 '@babel/helper-annotate-as-pure': 7.18.6 - '@babel/helper-compilation-targets': 7.20.7_@babel+core@7.21.3 + '@babel/helper-compilation-targets': 7.20.7(@babel/core@7.21.3) '@babel/helper-environment-visitor': 7.18.9 '@babel/helper-function-name': 7.21.0 '@babel/helper-optimise-call-expression': 7.18.6 @@ -945,7 +1026,7 @@ packages: transitivePeerDependencies: - supports-color - /@babel/plugin-transform-computed-properties/7.20.7_@babel+core@7.21.3: + /@babel/plugin-transform-computed-properties@7.20.7(@babel/core@7.21.3): resolution: {integrity: sha512-Lz7MvBK6DTjElHAmfu6bfANzKcxpyNPeYBGEafyA6E5HtRpjpZwU+u7Qrgz/2OR0z+5TvKYbPdphfSaAcZBrYQ==} engines: {node: '>=6.9.0'} peerDependencies: @@ -955,7 +1036,7 @@ packages: '@babel/helper-plugin-utils': 7.20.2 '@babel/template': 7.20.7 - /@babel/plugin-transform-destructuring/7.21.3_@babel+core@7.21.3: + /@babel/plugin-transform-destructuring@7.21.3(@babel/core@7.21.3): resolution: {integrity: sha512-bp6hwMFzuiE4HqYEyoGJ/V2LeIWn+hLVKc4pnj++E5XQptwhtcGmSayM029d/j2X1bPKGTlsyPwAubuU22KhMA==} engines: {node: '>=6.9.0'} peerDependencies: @@ -964,17 +1045,17 @@ packages: '@babel/core': 7.21.3 '@babel/helper-plugin-utils': 7.20.2 - /@babel/plugin-transform-dotall-regex/7.18.6_@babel+core@7.21.3: + /@babel/plugin-transform-dotall-regex@7.18.6(@babel/core@7.21.3): resolution: {integrity: sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.21.3 - '@babel/helper-create-regexp-features-plugin': 7.21.0_@babel+core@7.21.3 + '@babel/helper-create-regexp-features-plugin': 7.21.0(@babel/core@7.21.3) '@babel/helper-plugin-utils': 7.20.2 - /@babel/plugin-transform-duplicate-keys/7.18.9_@babel+core@7.21.3: + /@babel/plugin-transform-duplicate-keys@7.18.9(@babel/core@7.21.3): resolution: {integrity: sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==} engines: {node: '>=6.9.0'} peerDependencies: @@ -983,7 +1064,7 @@ packages: '@babel/core': 7.21.3 '@babel/helper-plugin-utils': 7.20.2 - /@babel/plugin-transform-exponentiation-operator/7.18.6_@babel+core@7.21.3: + /@babel/plugin-transform-exponentiation-operator@7.18.6(@babel/core@7.21.3): resolution: {integrity: sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==} engines: {node: '>=6.9.0'} peerDependencies: @@ -993,7 +1074,7 @@ packages: '@babel/helper-builder-binary-assignment-operator-visitor': 7.18.9 '@babel/helper-plugin-utils': 7.20.2 - /@babel/plugin-transform-flow-strip-types/7.21.0_@babel+core@7.21.3: + /@babel/plugin-transform-flow-strip-types@7.21.0(@babel/core@7.21.3): resolution: {integrity: sha512-FlFA2Mj87a6sDkW4gfGrQQqwY/dLlBAyJa2dJEZ+FHXUVHBflO2wyKvg+OOEzXfrKYIa4HWl0mgmbCzt0cMb7w==} engines: {node: '>=6.9.0'} peerDependencies: @@ -1001,10 +1082,10 @@ packages: dependencies: '@babel/core': 7.21.3 '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-flow': 7.18.6_@babel+core@7.21.3 + '@babel/plugin-syntax-flow': 7.18.6(@babel/core@7.21.3) dev: false - /@babel/plugin-transform-for-of/7.21.0_@babel+core@7.21.3: + /@babel/plugin-transform-for-of@7.21.0(@babel/core@7.21.3): resolution: {integrity: sha512-LlUYlydgDkKpIY7mcBWvyPPmMcOphEyYA27Ef4xpbh1IiDNLr0kZsos2nf92vz3IccvJI25QUwp86Eo5s6HmBQ==} engines: {node: '>=6.9.0'} peerDependencies: @@ -1013,18 +1094,18 @@ packages: '@babel/core': 7.21.3 '@babel/helper-plugin-utils': 7.20.2 - /@babel/plugin-transform-function-name/7.18.9_@babel+core@7.21.3: + /@babel/plugin-transform-function-name@7.18.9(@babel/core@7.21.3): resolution: {integrity: sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.21.3 - '@babel/helper-compilation-targets': 7.20.7_@babel+core@7.21.3 + '@babel/helper-compilation-targets': 7.20.7(@babel/core@7.21.3) '@babel/helper-function-name': 7.21.0 '@babel/helper-plugin-utils': 7.20.2 - /@babel/plugin-transform-literals/7.18.9_@babel+core@7.21.3: + /@babel/plugin-transform-literals@7.18.9(@babel/core@7.21.3): resolution: {integrity: sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==} engines: {node: '>=6.9.0'} peerDependencies: @@ -1033,7 +1114,7 @@ packages: '@babel/core': 7.21.3 '@babel/helper-plugin-utils': 7.20.2 - /@babel/plugin-transform-member-expression-literals/7.18.6_@babel+core@7.21.3: + /@babel/plugin-transform-member-expression-literals@7.18.6(@babel/core@7.21.3): resolution: {integrity: sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==} engines: {node: '>=6.9.0'} peerDependencies: @@ -1042,7 +1123,7 @@ packages: '@babel/core': 7.21.3 '@babel/helper-plugin-utils': 7.20.2 - /@babel/plugin-transform-modules-amd/7.20.11_@babel+core@7.21.3: + /@babel/plugin-transform-modules-amd@7.20.11(@babel/core@7.21.3): resolution: {integrity: sha512-NuzCt5IIYOW0O30UvqktzHYR2ud5bOWbY0yaxWZ6G+aFzOMJvrs5YHNikrbdaT15+KNO31nPOy5Fim3ku6Zb5g==} engines: {node: '>=6.9.0'} peerDependencies: @@ -1054,7 +1135,7 @@ packages: transitivePeerDependencies: - supports-color - /@babel/plugin-transform-modules-commonjs/7.21.2_@babel+core@7.21.3: + /@babel/plugin-transform-modules-commonjs@7.21.2(@babel/core@7.21.3): resolution: {integrity: sha512-Cln+Yy04Gxua7iPdj6nOV96smLGjpElir5YwzF0LBPKoPlLDNJePNlrGGaybAJkd0zKRnOVXOgizSqPYMNYkzA==} engines: {node: '>=6.9.0'} peerDependencies: @@ -1067,7 +1148,7 @@ packages: transitivePeerDependencies: - supports-color - /@babel/plugin-transform-modules-systemjs/7.20.11_@babel+core@7.21.3: + /@babel/plugin-transform-modules-systemjs@7.20.11(@babel/core@7.21.3): resolution: {integrity: sha512-vVu5g9BPQKSFEmvt2TA4Da5N+QVS66EX21d8uoOihC+OCpUoGvzVsXeqFdtAEfVa5BILAeFt+U7yVmLbQnAJmw==} engines: {node: '>=6.9.0'} peerDependencies: @@ -1081,7 +1162,7 @@ packages: transitivePeerDependencies: - supports-color - /@babel/plugin-transform-modules-umd/7.18.6_@babel+core@7.21.3: + /@babel/plugin-transform-modules-umd@7.18.6(@babel/core@7.21.3): resolution: {integrity: sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==} engines: {node: '>=6.9.0'} peerDependencies: @@ -1093,17 +1174,17 @@ packages: transitivePeerDependencies: - supports-color - /@babel/plugin-transform-named-capturing-groups-regex/7.20.5_@babel+core@7.21.3: + /@babel/plugin-transform-named-capturing-groups-regex@7.20.5(@babel/core@7.21.3): resolution: {integrity: sha512-mOW4tTzi5iTLnw+78iEq3gr8Aoq4WNRGpmSlrogqaiCBoR1HFhpU4JkpQFOHfeYx3ReVIFWOQJS4aZBRvuZ6mA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: '@babel/core': 7.21.3 - '@babel/helper-create-regexp-features-plugin': 7.21.0_@babel+core@7.21.3 + '@babel/helper-create-regexp-features-plugin': 7.21.0(@babel/core@7.21.3) '@babel/helper-plugin-utils': 7.20.2 - /@babel/plugin-transform-new-target/7.18.6_@babel+core@7.21.3: + /@babel/plugin-transform-new-target@7.18.6(@babel/core@7.21.3): resolution: {integrity: sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==} engines: {node: '>=6.9.0'} peerDependencies: @@ -1112,7 +1193,7 @@ packages: '@babel/core': 7.21.3 '@babel/helper-plugin-utils': 7.20.2 - /@babel/plugin-transform-object-super/7.18.6_@babel+core@7.21.3: + /@babel/plugin-transform-object-super@7.18.6(@babel/core@7.21.3): resolution: {integrity: sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==} engines: {node: '>=6.9.0'} peerDependencies: @@ -1124,7 +1205,7 @@ packages: transitivePeerDependencies: - supports-color - /@babel/plugin-transform-parameters/7.21.3_@babel+core@7.21.3: + /@babel/plugin-transform-parameters@7.21.3(@babel/core@7.21.3): resolution: {integrity: sha512-Wxc+TvppQG9xWFYatvCGPvZ6+SIUxQ2ZdiBP+PHYMIjnPXD+uThCshaz4NZOnODAtBjjcVQQ/3OKs9LW28purQ==} engines: {node: '>=6.9.0'} peerDependencies: @@ -1133,7 +1214,7 @@ packages: '@babel/core': 7.21.3 '@babel/helper-plugin-utils': 7.20.2 - /@babel/plugin-transform-property-literals/7.18.6_@babel+core@7.21.3: + /@babel/plugin-transform-property-literals@7.18.6(@babel/core@7.21.3): resolution: {integrity: sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==} engines: {node: '>=6.9.0'} peerDependencies: @@ -1142,7 +1223,7 @@ packages: '@babel/core': 7.21.3 '@babel/helper-plugin-utils': 7.20.2 - /@babel/plugin-transform-react-constant-elements/7.21.3_@babel+core@7.21.3: + /@babel/plugin-transform-react-constant-elements@7.21.3(@babel/core@7.21.3): resolution: {integrity: sha512-4DVcFeWe/yDYBLp0kBmOGFJ6N2UYg7coGid1gdxb4co62dy/xISDMaYBXBVXEDhfgMk7qkbcYiGtwd5Q/hwDDQ==} engines: {node: '>=6.9.0'} peerDependencies: @@ -1152,7 +1233,7 @@ packages: '@babel/helper-plugin-utils': 7.20.2 dev: false - /@babel/plugin-transform-react-display-name/7.18.6_@babel+core@7.21.3: + /@babel/plugin-transform-react-display-name@7.18.6(@babel/core@7.21.3): resolution: {integrity: sha512-TV4sQ+T013n61uMoygyMRm+xf04Bd5oqFpv2jAEQwSZ8NwQA7zeRPg1LMVg2PWi3zWBz+CLKD+v5bcpZ/BS0aA==} engines: {node: '>=6.9.0'} peerDependencies: @@ -1162,17 +1243,17 @@ packages: '@babel/helper-plugin-utils': 7.20.2 dev: false - /@babel/plugin-transform-react-jsx-development/7.18.6_@babel+core@7.21.3: + /@babel/plugin-transform-react-jsx-development@7.18.6(@babel/core@7.21.3): resolution: {integrity: sha512-SA6HEjwYFKF7WDjWcMcMGUimmw/nhNRDWxr+KaLSCrkD/LMDBvWRmHAYgE1HDeF8KUuI8OAu+RT6EOtKxSW2qA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.21.3 - '@babel/plugin-transform-react-jsx': 7.21.0_@babel+core@7.21.3 + '@babel/plugin-transform-react-jsx': 7.21.0(@babel/core@7.21.3) dev: false - /@babel/plugin-transform-react-jsx/7.21.0_@babel+core@7.21.3: + /@babel/plugin-transform-react-jsx@7.21.0(@babel/core@7.21.3): resolution: {integrity: sha512-6OAWljMvQrZjR2DaNhVfRz6dkCAVV+ymcLUmaf8bccGOHn2v5rHJK3tTpij0BuhdYWP4LLaqj5lwcdlpAAPuvg==} engines: {node: '>=6.9.0'} peerDependencies: @@ -1182,11 +1263,11 @@ packages: '@babel/helper-annotate-as-pure': 7.18.6 '@babel/helper-module-imports': 7.18.6 '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-jsx': 7.18.6_@babel+core@7.21.3 + '@babel/plugin-syntax-jsx': 7.18.6(@babel/core@7.21.3) '@babel/types': 7.21.3 dev: false - /@babel/plugin-transform-react-pure-annotations/7.18.6_@babel+core@7.21.3: + /@babel/plugin-transform-react-pure-annotations@7.18.6(@babel/core@7.21.3): resolution: {integrity: sha512-I8VfEPg9r2TRDdvnHgPepTKvuRomzA8+u+nhY7qSI1fR2hRNebasZEETLyM5mAUr0Ku56OkXJ0I7NHJnO6cJiQ==} engines: {node: '>=6.9.0'} peerDependencies: @@ -1197,7 +1278,7 @@ packages: '@babel/helper-plugin-utils': 7.20.2 dev: false - /@babel/plugin-transform-regenerator/7.20.5_@babel+core@7.21.3: + /@babel/plugin-transform-regenerator@7.20.5(@babel/core@7.21.3): resolution: {integrity: sha512-kW/oO7HPBtntbsahzQ0qSE3tFvkFwnbozz3NWFhLGqH75vLEg+sCGngLlhVkePlCs3Jv0dBBHDzCHxNiFAQKCQ==} engines: {node: '>=6.9.0'} peerDependencies: @@ -1207,7 +1288,7 @@ packages: '@babel/helper-plugin-utils': 7.20.2 regenerator-transform: 0.15.1 - /@babel/plugin-transform-reserved-words/7.18.6_@babel+core@7.21.3: + /@babel/plugin-transform-reserved-words@7.18.6(@babel/core@7.21.3): resolution: {integrity: sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==} engines: {node: '>=6.9.0'} peerDependencies: @@ -1216,7 +1297,7 @@ packages: '@babel/core': 7.21.3 '@babel/helper-plugin-utils': 7.20.2 - /@babel/plugin-transform-runtime/7.21.0_@babel+core@7.21.3: + /@babel/plugin-transform-runtime@7.21.0(@babel/core@7.21.3): resolution: {integrity: sha512-ReY6pxwSzEU0b3r2/T/VhqMKg/AkceBT19X0UptA3/tYi5Pe2eXgEUH+NNMC5nok6c6XQz5tyVTUpuezRfSMSg==} engines: {node: '>=6.9.0'} peerDependencies: @@ -1225,14 +1306,14 @@ packages: '@babel/core': 7.21.3 '@babel/helper-module-imports': 7.18.6 '@babel/helper-plugin-utils': 7.20.2 - babel-plugin-polyfill-corejs2: 0.3.3_@babel+core@7.21.3 - babel-plugin-polyfill-corejs3: 0.6.0_@babel+core@7.21.3 - babel-plugin-polyfill-regenerator: 0.4.1_@babel+core@7.21.3 + babel-plugin-polyfill-corejs2: 0.3.3(@babel/core@7.21.3) + babel-plugin-polyfill-corejs3: 0.6.0(@babel/core@7.21.3) + babel-plugin-polyfill-regenerator: 0.4.1(@babel/core@7.21.3) semver: 6.3.0 transitivePeerDependencies: - supports-color - /@babel/plugin-transform-shorthand-properties/7.18.6_@babel+core@7.21.3: + /@babel/plugin-transform-shorthand-properties@7.18.6(@babel/core@7.21.3): resolution: {integrity: sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==} engines: {node: '>=6.9.0'} peerDependencies: @@ -1241,7 +1322,7 @@ packages: '@babel/core': 7.21.3 '@babel/helper-plugin-utils': 7.20.2 - /@babel/plugin-transform-spread/7.20.7_@babel+core@7.21.3: + /@babel/plugin-transform-spread@7.20.7(@babel/core@7.21.3): resolution: {integrity: sha512-ewBbHQ+1U/VnH1fxltbJqDeWBU1oNLG8Dj11uIv3xVf7nrQu0bPGe5Rf716r7K5Qz+SqtAOVswoVunoiBtGhxw==} engines: {node: '>=6.9.0'} peerDependencies: @@ -1251,7 +1332,7 @@ packages: '@babel/helper-plugin-utils': 7.20.2 '@babel/helper-skip-transparent-expression-wrappers': 7.20.0 - /@babel/plugin-transform-sticky-regex/7.18.6_@babel+core@7.21.3: + /@babel/plugin-transform-sticky-regex@7.18.6(@babel/core@7.21.3): resolution: {integrity: sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==} engines: {node: '>=6.9.0'} peerDependencies: @@ -1260,7 +1341,7 @@ packages: '@babel/core': 7.21.3 '@babel/helper-plugin-utils': 7.20.2 - /@babel/plugin-transform-template-literals/7.18.9_@babel+core@7.21.3: + /@babel/plugin-transform-template-literals@7.18.9(@babel/core@7.21.3): resolution: {integrity: sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==} engines: {node: '>=6.9.0'} peerDependencies: @@ -1269,7 +1350,7 @@ packages: '@babel/core': 7.21.3 '@babel/helper-plugin-utils': 7.20.2 - /@babel/plugin-transform-typeof-symbol/7.18.9_@babel+core@7.21.3: + /@babel/plugin-transform-typeof-symbol@7.18.9(@babel/core@7.21.3): resolution: {integrity: sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==} engines: {node: '>=6.9.0'} peerDependencies: @@ -1278,7 +1359,7 @@ packages: '@babel/core': 7.21.3 '@babel/helper-plugin-utils': 7.20.2 - /@babel/plugin-transform-typescript/7.21.3_@babel+core@7.21.3: + /@babel/plugin-transform-typescript@7.21.3(@babel/core@7.21.3): resolution: {integrity: sha512-RQxPz6Iqt8T0uw/WsJNReuBpWpBqs/n7mNo18sKLoTbMp+UrEekhH+pKSVC7gWz+DNjo9gryfV8YzCiT45RgMw==} engines: {node: '>=6.9.0'} peerDependencies: @@ -1286,14 +1367,14 @@ packages: dependencies: '@babel/core': 7.21.3 '@babel/helper-annotate-as-pure': 7.18.6 - '@babel/helper-create-class-features-plugin': 7.21.0_@babel+core@7.21.3 + '@babel/helper-create-class-features-plugin': 7.21.0(@babel/core@7.21.3) '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-typescript': 7.20.0_@babel+core@7.21.3 + '@babel/plugin-syntax-typescript': 7.20.0(@babel/core@7.21.3) transitivePeerDependencies: - supports-color dev: false - /@babel/plugin-transform-unicode-escapes/7.18.10_@babel+core@7.21.3: + /@babel/plugin-transform-unicode-escapes@7.18.10(@babel/core@7.21.3): resolution: {integrity: sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==} engines: {node: '>=6.9.0'} peerDependencies: @@ -1302,17 +1383,17 @@ packages: '@babel/core': 7.21.3 '@babel/helper-plugin-utils': 7.20.2 - /@babel/plugin-transform-unicode-regex/7.18.6_@babel+core@7.21.3: + /@babel/plugin-transform-unicode-regex@7.18.6(@babel/core@7.21.3): resolution: {integrity: sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.21.3 - '@babel/helper-create-regexp-features-plugin': 7.21.0_@babel+core@7.21.3 + '@babel/helper-create-regexp-features-plugin': 7.21.0(@babel/core@7.21.3) '@babel/helper-plugin-utils': 7.20.2 - /@babel/preset-env/7.20.2_@babel+core@7.21.3: + /@babel/preset-env@7.20.2(@babel/core@7.21.3): resolution: {integrity: sha512-1G0efQEWR1EHkKvKHqbG+IN/QdgwfByUpM5V5QroDzGV2t3S/WXNQd693cHiHTlCFMpr9B6FkPFXDA2lQcKoDg==} engines: {node: '>=6.9.0'} peerDependencies: @@ -1320,96 +1401,96 @@ packages: dependencies: '@babel/compat-data': 7.21.0 '@babel/core': 7.21.3 - '@babel/helper-compilation-targets': 7.20.7_@babel+core@7.21.3 + '@babel/helper-compilation-targets': 7.20.7(@babel/core@7.21.3) '@babel/helper-plugin-utils': 7.20.2 '@babel/helper-validator-option': 7.21.0 - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.18.6_@babel+core@7.21.3 - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.20.7_@babel+core@7.21.3 - '@babel/plugin-proposal-async-generator-functions': 7.20.7_@babel+core@7.21.3 - '@babel/plugin-proposal-class-properties': 7.18.6_@babel+core@7.21.3 - '@babel/plugin-proposal-class-static-block': 7.21.0_@babel+core@7.21.3 - '@babel/plugin-proposal-dynamic-import': 7.18.6_@babel+core@7.21.3 - '@babel/plugin-proposal-export-namespace-from': 7.18.9_@babel+core@7.21.3 - '@babel/plugin-proposal-json-strings': 7.18.6_@babel+core@7.21.3 - '@babel/plugin-proposal-logical-assignment-operators': 7.20.7_@babel+core@7.21.3 - '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6_@babel+core@7.21.3 - '@babel/plugin-proposal-numeric-separator': 7.18.6_@babel+core@7.21.3 - '@babel/plugin-proposal-object-rest-spread': 7.20.7_@babel+core@7.21.3 - '@babel/plugin-proposal-optional-catch-binding': 7.18.6_@babel+core@7.21.3 - '@babel/plugin-proposal-optional-chaining': 7.21.0_@babel+core@7.21.3 - '@babel/plugin-proposal-private-methods': 7.18.6_@babel+core@7.21.3 - '@babel/plugin-proposal-private-property-in-object': 7.21.0_@babel+core@7.21.3 - '@babel/plugin-proposal-unicode-property-regex': 7.18.6_@babel+core@7.21.3 - '@babel/plugin-syntax-async-generators': 7.8.4_@babel+core@7.21.3 - '@babel/plugin-syntax-class-properties': 7.12.13_@babel+core@7.21.3 - '@babel/plugin-syntax-class-static-block': 7.14.5_@babel+core@7.21.3 - '@babel/plugin-syntax-dynamic-import': 7.8.3_@babel+core@7.21.3 - '@babel/plugin-syntax-export-namespace-from': 7.8.3_@babel+core@7.21.3 - '@babel/plugin-syntax-import-assertions': 7.20.0_@babel+core@7.21.3 - '@babel/plugin-syntax-json-strings': 7.8.3_@babel+core@7.21.3 - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4_@babel+core@7.21.3 - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3_@babel+core@7.21.3 - '@babel/plugin-syntax-numeric-separator': 7.10.4_@babel+core@7.21.3 - '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.21.3 - '@babel/plugin-syntax-optional-catch-binding': 7.8.3_@babel+core@7.21.3 - '@babel/plugin-syntax-optional-chaining': 7.8.3_@babel+core@7.21.3 - '@babel/plugin-syntax-private-property-in-object': 7.14.5_@babel+core@7.21.3 - '@babel/plugin-syntax-top-level-await': 7.14.5_@babel+core@7.21.3 - '@babel/plugin-transform-arrow-functions': 7.20.7_@babel+core@7.21.3 - '@babel/plugin-transform-async-to-generator': 7.20.7_@babel+core@7.21.3 - '@babel/plugin-transform-block-scoped-functions': 7.18.6_@babel+core@7.21.3 - '@babel/plugin-transform-block-scoping': 7.21.0_@babel+core@7.21.3 - '@babel/plugin-transform-classes': 7.21.0_@babel+core@7.21.3 - '@babel/plugin-transform-computed-properties': 7.20.7_@babel+core@7.21.3 - '@babel/plugin-transform-destructuring': 7.21.3_@babel+core@7.21.3 - '@babel/plugin-transform-dotall-regex': 7.18.6_@babel+core@7.21.3 - '@babel/plugin-transform-duplicate-keys': 7.18.9_@babel+core@7.21.3 - '@babel/plugin-transform-exponentiation-operator': 7.18.6_@babel+core@7.21.3 - '@babel/plugin-transform-for-of': 7.21.0_@babel+core@7.21.3 - '@babel/plugin-transform-function-name': 7.18.9_@babel+core@7.21.3 - '@babel/plugin-transform-literals': 7.18.9_@babel+core@7.21.3 - '@babel/plugin-transform-member-expression-literals': 7.18.6_@babel+core@7.21.3 - '@babel/plugin-transform-modules-amd': 7.20.11_@babel+core@7.21.3 - '@babel/plugin-transform-modules-commonjs': 7.21.2_@babel+core@7.21.3 - '@babel/plugin-transform-modules-systemjs': 7.20.11_@babel+core@7.21.3 - '@babel/plugin-transform-modules-umd': 7.18.6_@babel+core@7.21.3 - '@babel/plugin-transform-named-capturing-groups-regex': 7.20.5_@babel+core@7.21.3 - '@babel/plugin-transform-new-target': 7.18.6_@babel+core@7.21.3 - '@babel/plugin-transform-object-super': 7.18.6_@babel+core@7.21.3 - '@babel/plugin-transform-parameters': 7.21.3_@babel+core@7.21.3 - '@babel/plugin-transform-property-literals': 7.18.6_@babel+core@7.21.3 - '@babel/plugin-transform-regenerator': 7.20.5_@babel+core@7.21.3 - '@babel/plugin-transform-reserved-words': 7.18.6_@babel+core@7.21.3 - '@babel/plugin-transform-shorthand-properties': 7.18.6_@babel+core@7.21.3 - '@babel/plugin-transform-spread': 7.20.7_@babel+core@7.21.3 - '@babel/plugin-transform-sticky-regex': 7.18.6_@babel+core@7.21.3 - '@babel/plugin-transform-template-literals': 7.18.9_@babel+core@7.21.3 - '@babel/plugin-transform-typeof-symbol': 7.18.9_@babel+core@7.21.3 - '@babel/plugin-transform-unicode-escapes': 7.18.10_@babel+core@7.21.3 - '@babel/plugin-transform-unicode-regex': 7.18.6_@babel+core@7.21.3 - '@babel/preset-modules': 0.1.5_@babel+core@7.21.3 + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.18.6(@babel/core@7.21.3) + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.20.7(@babel/core@7.21.3) + '@babel/plugin-proposal-async-generator-functions': 7.20.7(@babel/core@7.21.3) + '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.21.3) + '@babel/plugin-proposal-class-static-block': 7.21.0(@babel/core@7.21.3) + '@babel/plugin-proposal-dynamic-import': 7.18.6(@babel/core@7.21.3) + '@babel/plugin-proposal-export-namespace-from': 7.18.9(@babel/core@7.21.3) + '@babel/plugin-proposal-json-strings': 7.18.6(@babel/core@7.21.3) + '@babel/plugin-proposal-logical-assignment-operators': 7.20.7(@babel/core@7.21.3) + '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.21.3) + '@babel/plugin-proposal-numeric-separator': 7.18.6(@babel/core@7.21.3) + '@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/core@7.21.3) + '@babel/plugin-proposal-optional-catch-binding': 7.18.6(@babel/core@7.21.3) + '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.21.3) + '@babel/plugin-proposal-private-methods': 7.18.6(@babel/core@7.21.3) + '@babel/plugin-proposal-private-property-in-object': 7.21.0(@babel/core@7.21.3) + '@babel/plugin-proposal-unicode-property-regex': 7.18.6(@babel/core@7.21.3) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.21.3) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.21.3) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.21.3) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.21.3) + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.21.3) + '@babel/plugin-syntax-import-assertions': 7.20.0(@babel/core@7.21.3) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.21.3) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.21.3) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.21.3) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.21.3) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.21.3) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.21.3) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.21.3) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.21.3) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.21.3) + '@babel/plugin-transform-arrow-functions': 7.20.7(@babel/core@7.21.3) + '@babel/plugin-transform-async-to-generator': 7.20.7(@babel/core@7.21.3) + '@babel/plugin-transform-block-scoped-functions': 7.18.6(@babel/core@7.21.3) + '@babel/plugin-transform-block-scoping': 7.21.0(@babel/core@7.21.3) + '@babel/plugin-transform-classes': 7.21.0(@babel/core@7.21.3) + '@babel/plugin-transform-computed-properties': 7.20.7(@babel/core@7.21.3) + '@babel/plugin-transform-destructuring': 7.21.3(@babel/core@7.21.3) + '@babel/plugin-transform-dotall-regex': 7.18.6(@babel/core@7.21.3) + '@babel/plugin-transform-duplicate-keys': 7.18.9(@babel/core@7.21.3) + '@babel/plugin-transform-exponentiation-operator': 7.18.6(@babel/core@7.21.3) + '@babel/plugin-transform-for-of': 7.21.0(@babel/core@7.21.3) + '@babel/plugin-transform-function-name': 7.18.9(@babel/core@7.21.3) + '@babel/plugin-transform-literals': 7.18.9(@babel/core@7.21.3) + '@babel/plugin-transform-member-expression-literals': 7.18.6(@babel/core@7.21.3) + '@babel/plugin-transform-modules-amd': 7.20.11(@babel/core@7.21.3) + '@babel/plugin-transform-modules-commonjs': 7.21.2(@babel/core@7.21.3) + '@babel/plugin-transform-modules-systemjs': 7.20.11(@babel/core@7.21.3) + '@babel/plugin-transform-modules-umd': 7.18.6(@babel/core@7.21.3) + '@babel/plugin-transform-named-capturing-groups-regex': 7.20.5(@babel/core@7.21.3) + '@babel/plugin-transform-new-target': 7.18.6(@babel/core@7.21.3) + '@babel/plugin-transform-object-super': 7.18.6(@babel/core@7.21.3) + '@babel/plugin-transform-parameters': 7.21.3(@babel/core@7.21.3) + '@babel/plugin-transform-property-literals': 7.18.6(@babel/core@7.21.3) + '@babel/plugin-transform-regenerator': 7.20.5(@babel/core@7.21.3) + '@babel/plugin-transform-reserved-words': 7.18.6(@babel/core@7.21.3) + '@babel/plugin-transform-shorthand-properties': 7.18.6(@babel/core@7.21.3) + '@babel/plugin-transform-spread': 7.20.7(@babel/core@7.21.3) + '@babel/plugin-transform-sticky-regex': 7.18.6(@babel/core@7.21.3) + '@babel/plugin-transform-template-literals': 7.18.9(@babel/core@7.21.3) + '@babel/plugin-transform-typeof-symbol': 7.18.9(@babel/core@7.21.3) + '@babel/plugin-transform-unicode-escapes': 7.18.10(@babel/core@7.21.3) + '@babel/plugin-transform-unicode-regex': 7.18.6(@babel/core@7.21.3) + '@babel/preset-modules': 0.1.5(@babel/core@7.21.3) '@babel/types': 7.21.3 - babel-plugin-polyfill-corejs2: 0.3.3_@babel+core@7.21.3 - babel-plugin-polyfill-corejs3: 0.6.0_@babel+core@7.21.3 - babel-plugin-polyfill-regenerator: 0.4.1_@babel+core@7.21.3 + babel-plugin-polyfill-corejs2: 0.3.3(@babel/core@7.21.3) + babel-plugin-polyfill-corejs3: 0.6.0(@babel/core@7.21.3) + babel-plugin-polyfill-regenerator: 0.4.1(@babel/core@7.21.3) core-js-compat: 3.29.1 semver: 6.3.0 transitivePeerDependencies: - supports-color - /@babel/preset-modules/0.1.5_@babel+core@7.21.3: + /@babel/preset-modules@0.1.5(@babel/core@7.21.3): resolution: {integrity: sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.21.3 '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-proposal-unicode-property-regex': 7.18.6_@babel+core@7.21.3 - '@babel/plugin-transform-dotall-regex': 7.18.6_@babel+core@7.21.3 + '@babel/plugin-proposal-unicode-property-regex': 7.18.6(@babel/core@7.21.3) + '@babel/plugin-transform-dotall-regex': 7.18.6(@babel/core@7.21.3) '@babel/types': 7.21.3 esutils: 2.0.3 - /@babel/preset-react/7.18.6_@babel+core@7.21.3: + /@babel/preset-react@7.18.6(@babel/core@7.21.3): resolution: {integrity: sha512-zXr6atUmyYdiWRVLOZahakYmOBHtWc2WGCkP8PYTgZi0iJXDY2CN180TdrIW4OGOAdLc7TifzDIvtx6izaRIzg==} engines: {node: '>=6.9.0'} peerDependencies: @@ -1418,13 +1499,13 @@ packages: '@babel/core': 7.21.3 '@babel/helper-plugin-utils': 7.20.2 '@babel/helper-validator-option': 7.21.0 - '@babel/plugin-transform-react-display-name': 7.18.6_@babel+core@7.21.3 - '@babel/plugin-transform-react-jsx': 7.21.0_@babel+core@7.21.3 - '@babel/plugin-transform-react-jsx-development': 7.18.6_@babel+core@7.21.3 - '@babel/plugin-transform-react-pure-annotations': 7.18.6_@babel+core@7.21.3 + '@babel/plugin-transform-react-display-name': 7.18.6(@babel/core@7.21.3) + '@babel/plugin-transform-react-jsx': 7.21.0(@babel/core@7.21.3) + '@babel/plugin-transform-react-jsx-development': 7.18.6(@babel/core@7.21.3) + '@babel/plugin-transform-react-pure-annotations': 7.18.6(@babel/core@7.21.3) dev: false - /@babel/preset-typescript/7.21.0_@babel+core@7.21.3: + /@babel/preset-typescript@7.21.0(@babel/core@7.21.3): resolution: {integrity: sha512-myc9mpoVA5m1rF8K8DgLEatOYFDpwC+RkMkjZ0Du6uI62YvDe8uxIEYVs/VCdSJ097nlALiU/yBC7//3nI+hNg==} engines: {node: '>=6.9.0'} peerDependencies: @@ -1433,21 +1514,21 @@ packages: '@babel/core': 7.21.3 '@babel/helper-plugin-utils': 7.20.2 '@babel/helper-validator-option': 7.21.0 - '@babel/plugin-transform-typescript': 7.21.3_@babel+core@7.21.3 + '@babel/plugin-transform-typescript': 7.21.3(@babel/core@7.21.3) transitivePeerDependencies: - supports-color dev: false - /@babel/regjsgen/0.8.0: + /@babel/regjsgen@0.8.0: resolution: {integrity: sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==} - /@babel/runtime/7.21.0: + /@babel/runtime@7.21.0: resolution: {integrity: sha512-xwII0//EObnq89Ji5AKYQaRYiW/nZ3llSv29d49IuxPhKbtJoLP+9QUUZ4nVragQVtaVGeZrpB+ZtG/Pdy/POw==} engines: {node: '>=6.9.0'} dependencies: regenerator-runtime: 0.13.11 - /@babel/template/7.20.7: + /@babel/template@7.20.7: resolution: {integrity: sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==} engines: {node: '>=6.9.0'} dependencies: @@ -1455,7 +1536,7 @@ packages: '@babel/parser': 7.21.3 '@babel/types': 7.21.3 - /@babel/traverse/7.21.3: + /@babel/traverse@7.21.3: resolution: {integrity: sha512-XLyopNeaTancVitYZe2MlUEvgKb6YVVPXzofHgqHijCImG33b/uTurMS488ht/Hbsb2XK3U2BnSTxKVNGV3nGQ==} engines: {node: '>=6.9.0'} dependencies: @@ -1467,12 +1548,12 @@ packages: '@babel/helper-split-export-declaration': 7.18.6 '@babel/parser': 7.21.3 '@babel/types': 7.21.3 - debug: 4.3.4 + debug: 4.3.4(supports-color@6.1.0) globals: 11.12.0 transitivePeerDependencies: - supports-color - /@babel/types/7.21.3: + /@babel/types@7.21.3: resolution: {integrity: sha512-sBGdETxC+/M4o/zKC0sl6sjWv62WFR/uzxrJ6uYyMLZOUlPnwzw0tKgVHOXxaAd5l2g8pEDM5RZ495GPQI77kg==} engines: {node: '>=6.9.0'} dependencies: @@ -1480,42 +1561,42 @@ packages: '@babel/helper-validator-identifier': 7.19.1 to-fast-properties: 2.0.0 - /@bcoe/v8-coverage/0.2.3: + /@bcoe/v8-coverage@0.2.3: resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} dev: false - /@colors/colors/1.5.0: + /@colors/colors@1.5.0: resolution: {integrity: sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==} engines: {node: '>=0.1.90'} dev: true - /@csstools/normalize.css/12.0.0: + /@csstools/normalize.css@12.0.0: resolution: {integrity: sha512-M0qqxAcwCsIVfpFQSlGN5XjXWu8l5JDZN+fPt1LeW5SZexQTgnaEvgXAY+CeygRw0EeppWHi12JxESWiWrB0Sg==} dev: false - /@csstools/postcss-cascade-layers/1.1.1_postcss@8.4.21: + /@csstools/postcss-cascade-layers@1.1.1(postcss@8.4.21): resolution: {integrity: sha512-+KdYrpKC5TgomQr2DlZF4lDEpHcoxnj5IGddYYfBWJAKfj1JtuHUIqMa+E1pJJ+z3kvDViWMqyqPlG4Ja7amQA==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.2 dependencies: - '@csstools/selector-specificity': 2.2.0_laljekdltgzr3kfi7r4exvsr5a + '@csstools/selector-specificity': 2.2.0(postcss-selector-parser@6.0.11) postcss: 8.4.21 postcss-selector-parser: 6.0.11 dev: false - /@csstools/postcss-color-function/1.1.1_postcss@8.4.21: + /@csstools/postcss-color-function@1.1.1(postcss@8.4.21): resolution: {integrity: sha512-Bc0f62WmHdtRDjf5f3e2STwRAl89N2CLb+9iAwzrv4L2hncrbDwnQD9PCq0gtAt7pOI2leIV08HIBUd4jxD8cw==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.2 dependencies: - '@csstools/postcss-progressive-custom-properties': 1.3.0_postcss@8.4.21 + '@csstools/postcss-progressive-custom-properties': 1.3.0(postcss@8.4.21) postcss: 8.4.21 postcss-value-parser: 4.2.0 dev: false - /@csstools/postcss-font-format-keywords/1.0.1_postcss@8.4.21: + /@csstools/postcss-font-format-keywords@1.0.1(postcss@8.4.21): resolution: {integrity: sha512-ZgrlzuUAjXIOc2JueK0X5sZDjCtgimVp/O5CEqTcs5ShWBa6smhWYbS0x5cVc/+rycTDbjjzoP0KTDnUneZGOg==} engines: {node: ^12 || ^14 || >=16} peerDependencies: @@ -1525,7 +1606,7 @@ packages: postcss-value-parser: 4.2.0 dev: false - /@csstools/postcss-hwb-function/1.0.2_postcss@8.4.21: + /@csstools/postcss-hwb-function@1.0.2(postcss@8.4.21): resolution: {integrity: sha512-YHdEru4o3Rsbjmu6vHy4UKOXZD+Rn2zmkAmLRfPet6+Jz4Ojw8cbWxe1n42VaXQhD3CQUXXTooIy8OkVbUcL+w==} engines: {node: ^12 || ^14 || >=16} peerDependencies: @@ -1535,29 +1616,29 @@ packages: postcss-value-parser: 4.2.0 dev: false - /@csstools/postcss-ic-unit/1.0.1_postcss@8.4.21: + /@csstools/postcss-ic-unit@1.0.1(postcss@8.4.21): resolution: {integrity: sha512-Ot1rcwRAaRHNKC9tAqoqNZhjdYBzKk1POgWfhN4uCOE47ebGcLRqXjKkApVDpjifL6u2/55ekkpnFcp+s/OZUw==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.2 dependencies: - '@csstools/postcss-progressive-custom-properties': 1.3.0_postcss@8.4.21 + '@csstools/postcss-progressive-custom-properties': 1.3.0(postcss@8.4.21) postcss: 8.4.21 postcss-value-parser: 4.2.0 dev: false - /@csstools/postcss-is-pseudo-class/2.0.7_postcss@8.4.21: + /@csstools/postcss-is-pseudo-class@2.0.7(postcss@8.4.21): resolution: {integrity: sha512-7JPeVVZHd+jxYdULl87lvjgvWldYu+Bc62s9vD/ED6/QTGjy0jy0US/f6BG53sVMTBJ1lzKZFpYmofBN9eaRiA==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.2 dependencies: - '@csstools/selector-specificity': 2.2.0_laljekdltgzr3kfi7r4exvsr5a + '@csstools/selector-specificity': 2.2.0(postcss-selector-parser@6.0.11) postcss: 8.4.21 postcss-selector-parser: 6.0.11 dev: false - /@csstools/postcss-nested-calc/1.0.0_postcss@8.4.21: + /@csstools/postcss-nested-calc@1.0.0(postcss@8.4.21): resolution: {integrity: sha512-JCsQsw1wjYwv1bJmgjKSoZNvf7R6+wuHDAbi5f/7MbFhl2d/+v+TvBTU4BJH3G1X1H87dHl0mh6TfYogbT/dJQ==} engines: {node: ^12 || ^14 || >=16} peerDependencies: @@ -1567,7 +1648,7 @@ packages: postcss-value-parser: 4.2.0 dev: false - /@csstools/postcss-normalize-display-values/1.0.1_postcss@8.4.21: + /@csstools/postcss-normalize-display-values@1.0.1(postcss@8.4.21): resolution: {integrity: sha512-jcOanIbv55OFKQ3sYeFD/T0Ti7AMXc9nM1hZWu8m/2722gOTxFg7xYu4RDLJLeZmPUVQlGzo4jhzvTUq3x4ZUw==} engines: {node: ^12 || ^14 || >=16} peerDependencies: @@ -1577,18 +1658,18 @@ packages: postcss-value-parser: 4.2.0 dev: false - /@csstools/postcss-oklab-function/1.1.1_postcss@8.4.21: + /@csstools/postcss-oklab-function@1.1.1(postcss@8.4.21): resolution: {integrity: sha512-nJpJgsdA3dA9y5pgyb/UfEzE7W5Ka7u0CX0/HIMVBNWzWemdcTH3XwANECU6anWv/ao4vVNLTMxhiPNZsTK6iA==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.2 dependencies: - '@csstools/postcss-progressive-custom-properties': 1.3.0_postcss@8.4.21 + '@csstools/postcss-progressive-custom-properties': 1.3.0(postcss@8.4.21) postcss: 8.4.21 postcss-value-parser: 4.2.0 dev: false - /@csstools/postcss-progressive-custom-properties/1.3.0_postcss@8.4.21: + /@csstools/postcss-progressive-custom-properties@1.3.0(postcss@8.4.21): resolution: {integrity: sha512-ASA9W1aIy5ygskZYuWams4BzafD12ULvSypmaLJT2jvQ8G0M3I8PRQhC0h7mG0Z3LI05+agZjqSR9+K9yaQQjA==} engines: {node: ^12 || ^14 || >=16} peerDependencies: @@ -1598,7 +1679,7 @@ packages: postcss-value-parser: 4.2.0 dev: false - /@csstools/postcss-stepped-value-functions/1.0.1_postcss@8.4.21: + /@csstools/postcss-stepped-value-functions@1.0.1(postcss@8.4.21): resolution: {integrity: sha512-dz0LNoo3ijpTOQqEJLY8nyaapl6umbmDcgj4AD0lgVQ572b2eqA1iGZYTTWhrcrHztWDDRAX2DGYyw2VBjvCvQ==} engines: {node: ^12 || ^14 || >=16} peerDependencies: @@ -1608,7 +1689,7 @@ packages: postcss-value-parser: 4.2.0 dev: false - /@csstools/postcss-text-decoration-shorthand/1.0.0_postcss@8.4.21: + /@csstools/postcss-text-decoration-shorthand@1.0.0(postcss@8.4.21): resolution: {integrity: sha512-c1XwKJ2eMIWrzQenN0XbcfzckOLLJiczqy+YvfGmzoVXd7pT9FfObiSEfzs84bpE/VqfpEuAZ9tCRbZkZxxbdw==} engines: {node: ^12 || ^14 || >=16} peerDependencies: @@ -1618,7 +1699,7 @@ packages: postcss-value-parser: 4.2.0 dev: false - /@csstools/postcss-trigonometric-functions/1.0.2_postcss@8.4.21: + /@csstools/postcss-trigonometric-functions@1.0.2(postcss@8.4.21): resolution: {integrity: sha512-woKaLO///4bb+zZC2s80l+7cm07M7268MsyG3M0ActXXEFi6SuhvriQYcb58iiKGbjwwIU7n45iRLEHypB47Og==} engines: {node: ^14 || >=16} peerDependencies: @@ -1628,7 +1709,7 @@ packages: postcss-value-parser: 4.2.0 dev: false - /@csstools/postcss-unset-value/1.0.2_postcss@8.4.21: + /@csstools/postcss-unset-value@1.0.2(postcss@8.4.21): resolution: {integrity: sha512-c8J4roPBILnelAsdLr4XOAR/GsTm0GJi4XpcfvoWk3U6KiTCqiFYc63KhRMQQX35jYMp4Ao8Ij9+IZRgMfJp1g==} engines: {node: ^12 || ^14 || >=16} peerDependencies: @@ -1637,7 +1718,7 @@ packages: postcss: 8.4.21 dev: false - /@csstools/selector-specificity/2.2.0_laljekdltgzr3kfi7r4exvsr5a: + /@csstools/selector-specificity@2.2.0(postcss-selector-parser@6.0.11): resolution: {integrity: sha512-+OJ9konv95ClSTOJCmMZqpd5+YGsB2S+x6w3E1oaM8UuR5j8nTNHYSz8c9BEPGDOCMQYIEEGlVPj/VY64iTbGw==} engines: {node: ^14 || ^16 || >=18} peerDependencies: @@ -1646,7 +1727,7 @@ packages: postcss-selector-parser: 6.0.11 dev: false - /@eslint-community/eslint-utils/4.4.0_eslint@8.37.0: + /@eslint-community/eslint-utils@4.4.0(eslint@8.37.0): resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -1655,16 +1736,16 @@ packages: eslint: 8.37.0 eslint-visitor-keys: 3.4.0 - /@eslint-community/regexpp/4.5.0: + /@eslint-community/regexpp@4.5.0: resolution: {integrity: sha512-vITaYzIcNmjn5tF5uxcZ/ft7/RXGrMUIS9HalWckEOF6ESiwXKoMzAQf2UW0aVd6rnOeExTJVd5hmWXucBKGXQ==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - /@eslint/eslintrc/2.0.2: + /@eslint/eslintrc@2.0.2: resolution: {integrity: sha512-3W4f5tDUra+pA+FzgugqL2pRimUTDJWKr7BINqOpkZrC0uYI0NIc0/JFgBROCU07HR6GieA5m3/rsPIhDmCXTQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: ajv: 6.12.6 - debug: 4.3.4 + debug: 4.3.4(supports-color@6.1.0) espree: 9.5.1 globals: 13.20.0 ignore: 5.2.4 @@ -1675,32 +1756,32 @@ packages: transitivePeerDependencies: - supports-color - /@eslint/js/8.37.0: + /@eslint/js@8.37.0: resolution: {integrity: sha512-x5vzdtOOGgFVDCUs81QRB2+liax8rFg3+7hqM+QhBG0/G3F1ZsoYl97UrqgHgQ9KKT7G6c4V+aTUCgu/n22v1A==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - /@fastify/deepmerge/1.3.0: + /@fastify/deepmerge@1.3.0: resolution: {integrity: sha512-J8TOSBq3SoZbDhM9+R/u77hP93gz/rajSA+K2kGyijPpORPWUXHUpTaleoj+92As0S9uPRP7Oi8IqMf0u+ro6A==} dev: true - /@humanwhocodes/config-array/0.11.8: + /@humanwhocodes/config-array@0.11.8: resolution: {integrity: sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==} engines: {node: '>=10.10.0'} dependencies: '@humanwhocodes/object-schema': 1.2.1 - debug: 4.3.4 + debug: 4.3.4(supports-color@6.1.0) minimatch: 3.1.2 transitivePeerDependencies: - supports-color - /@humanwhocodes/module-importer/1.0.1: + /@humanwhocodes/module-importer@1.0.1: resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} engines: {node: '>=12.22'} - /@humanwhocodes/object-schema/1.2.1: + /@humanwhocodes/object-schema@1.2.1: resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==} - /@istanbuljs/load-nyc-config/1.1.0: + /@istanbuljs/load-nyc-config@1.1.0: resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==} engines: {node: '>=8'} dependencies: @@ -1711,11 +1792,11 @@ packages: resolve-from: 5.0.0 dev: false - /@istanbuljs/schema/0.1.3: + /@istanbuljs/schema@0.1.3: resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} engines: {node: '>=8'} - /@jest/console/27.5.1: + /@jest/console@27.5.1: resolution: {integrity: sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: @@ -1727,7 +1808,7 @@ packages: slash: 3.0.0 dev: false - /@jest/console/28.1.3: + /@jest/console@28.1.3: resolution: {integrity: sha512-QPAkP5EwKdK/bxIr6C1I4Vs0rm2nHiANzj/Z5X2JQkrZo6IqvC4ldZ9K95tF0HdidhA8Bo6egxSzUFPYKcEXLw==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} dependencies: @@ -1739,7 +1820,7 @@ packages: slash: 3.0.0 dev: false - /@jest/core/27.5.1: + /@jest/core@27.5.1: resolution: {integrity: sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} peerDependencies: @@ -1784,7 +1865,7 @@ packages: - utf-8-validate dev: false - /@jest/environment/27.5.1: + /@jest/environment@27.5.1: resolution: {integrity: sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: @@ -1794,7 +1875,7 @@ packages: jest-mock: 27.5.1 dev: false - /@jest/fake-timers/27.5.1: + /@jest/fake-timers@27.5.1: resolution: {integrity: sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: @@ -1806,7 +1887,7 @@ packages: jest-util: 27.5.1 dev: false - /@jest/globals/27.5.1: + /@jest/globals@27.5.1: resolution: {integrity: sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: @@ -1815,7 +1896,7 @@ packages: expect: 27.5.1 dev: false - /@jest/reporters/27.5.1: + /@jest/reporters@27.5.1: resolution: {integrity: sha512-cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} peerDependencies: @@ -1853,14 +1934,14 @@ packages: - supports-color dev: false - /@jest/schemas/28.1.3: + /@jest/schemas@28.1.3: resolution: {integrity: sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} dependencies: '@sinclair/typebox': 0.24.51 dev: false - /@jest/source-map/27.5.1: + /@jest/source-map@27.5.1: resolution: {integrity: sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: @@ -1869,7 +1950,7 @@ packages: source-map: 0.6.1 dev: false - /@jest/test-result/27.5.1: + /@jest/test-result@27.5.1: resolution: {integrity: sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: @@ -1879,7 +1960,7 @@ packages: collect-v8-coverage: 1.0.1 dev: false - /@jest/test-result/28.1.3: + /@jest/test-result@28.1.3: resolution: {integrity: sha512-kZAkxnSE+FqE8YjW8gNuoVkkC9I7S1qmenl8sGcDOLropASP+BkcGKwhXoyqQuGOGeYY0y/ixjrd/iERpEXHNg==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} dependencies: @@ -1889,7 +1970,7 @@ packages: collect-v8-coverage: 1.0.1 dev: false - /@jest/test-sequencer/27.5.1: + /@jest/test-sequencer@27.5.1: resolution: {integrity: sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: @@ -1901,7 +1982,7 @@ packages: - supports-color dev: false - /@jest/transform/27.5.1: + /@jest/transform@27.5.1: resolution: {integrity: sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: @@ -1924,7 +2005,7 @@ packages: - supports-color dev: false - /@jest/types/27.5.1: + /@jest/types@27.5.1: resolution: {integrity: sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: @@ -1935,7 +2016,7 @@ packages: chalk: 4.1.2 dev: false - /@jest/types/28.1.3: + /@jest/types@28.1.3: resolution: {integrity: sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} dependencies: @@ -1947,14 +2028,14 @@ packages: chalk: 4.1.2 dev: false - /@jridgewell/gen-mapping/0.1.1: + /@jridgewell/gen-mapping@0.1.1: resolution: {integrity: sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==} engines: {node: '>=6.0.0'} dependencies: '@jridgewell/set-array': 1.1.2 '@jridgewell/sourcemap-codec': 1.4.14 - /@jridgewell/gen-mapping/0.3.2: + /@jridgewell/gen-mapping@0.3.2: resolution: {integrity: sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==} engines: {node: '>=6.0.0'} dependencies: @@ -1962,38 +2043,38 @@ packages: '@jridgewell/sourcemap-codec': 1.4.14 '@jridgewell/trace-mapping': 0.3.17 - /@jridgewell/resolve-uri/3.1.0: + /@jridgewell/resolve-uri@3.1.0: resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==} engines: {node: '>=6.0.0'} - /@jridgewell/set-array/1.1.2: + /@jridgewell/set-array@1.1.2: resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} engines: {node: '>=6.0.0'} - /@jridgewell/source-map/0.3.2: + /@jridgewell/source-map@0.3.2: resolution: {integrity: sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==} dependencies: '@jridgewell/gen-mapping': 0.3.2 '@jridgewell/trace-mapping': 0.3.17 - /@jridgewell/sourcemap-codec/1.4.14: + /@jridgewell/sourcemap-codec@1.4.14: resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==} - /@jridgewell/trace-mapping/0.3.17: + /@jridgewell/trace-mapping@0.3.17: resolution: {integrity: sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==} dependencies: '@jridgewell/resolve-uri': 3.1.0 '@jridgewell/sourcemap-codec': 1.4.14 - /@kurkle/color/0.3.2: + /@kurkle/color@0.3.2: resolution: {integrity: sha512-fuscdXJ9G1qb7W8VdHi+IwRqij3lBkosAm4ydQtEmbY58OzHXqQhvlxqEkoz0yssNVn38bcpRWgA9PP+OGoisw==} dev: false - /@leichtgewicht/ip-codec/2.0.4: + /@leichtgewicht/ip-codec@2.0.4: resolution: {integrity: sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==} dev: false - /@mrmlnc/readdir-enhanced/2.2.1: + /@mrmlnc/readdir-enhanced@2.2.1: resolution: {integrity: sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==} engines: {node: '>=4'} dependencies: @@ -2001,36 +2082,36 @@ packages: glob-to-regexp: 0.3.0 dev: true - /@nicolo-ribaudo/eslint-scope-5-internals/5.1.1-v1: + /@nicolo-ribaudo/eslint-scope-5-internals@5.1.1-v1: resolution: {integrity: sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==} dependencies: eslint-scope: 5.1.1 dev: false - /@nodelib/fs.scandir/2.1.5: + /@nodelib/fs.scandir@2.1.5: resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} engines: {node: '>= 8'} dependencies: '@nodelib/fs.stat': 2.0.5 run-parallel: 1.2.0 - /@nodelib/fs.stat/1.1.3: + /@nodelib/fs.stat@1.1.3: resolution: {integrity: sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==} engines: {node: '>= 6'} dev: true - /@nodelib/fs.stat/2.0.5: + /@nodelib/fs.stat@2.0.5: resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} engines: {node: '>= 8'} - /@nodelib/fs.walk/1.2.8: + /@nodelib/fs.walk@1.2.8: resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} engines: {node: '>= 8'} dependencies: '@nodelib/fs.scandir': 2.1.5 fastq: 1.15.0 - /@pmmmwh/react-refresh-webpack-plugin/0.5.10_vckesxtoflw6kccntvjqcgcmoa: + /@pmmmwh/react-refresh-webpack-plugin@0.5.10(react-refresh@0.11.0)(webpack-dev-server@4.13.1)(webpack@5.76.3): resolution: {integrity: sha512-j0Ya0hCFZPd4x40qLzbhGsh9TMtdb+CJQiso+WxLOPNasohq9cc5SNUcwsZaRH6++Xh91Xkm/xHCkuIiIu0LUA==} engines: {node: '>= 10.13'} peerDependencies: @@ -2066,11 +2147,11 @@ packages: react-refresh: 0.11.0 schema-utils: 3.1.1 source-map: 0.7.4 - webpack: 5.76.3 - webpack-dev-server: 4.13.1_webpack@5.76.3 + webpack: 5.76.3(@swc/core@1.3.42) + webpack-dev-server: 4.13.1(webpack@5.76.3) dev: false - /@rollup/plugin-babel/5.3.1_hqhlikriuul7byjexqnpgcmenu: + /@rollup/plugin-babel@5.3.1(@babel/core@7.21.3)(rollup@2.79.1): resolution: {integrity: sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==} engines: {node: '>= 10.0.0'} peerDependencies: @@ -2083,11 +2164,11 @@ packages: dependencies: '@babel/core': 7.21.3 '@babel/helper-module-imports': 7.18.6 - '@rollup/pluginutils': 3.1.0_rollup@2.79.1 + '@rollup/pluginutils': 3.1.0(rollup@2.79.1) rollup: 2.79.1 dev: false - /@rollup/plugin-commonjs/23.0.7_rollup@3.20.2: + /@rollup/plugin-commonjs@23.0.7(rollup@3.20.2): resolution: {integrity: sha512-hsSD5Qzyuat/swzrExGG5l7EuIlPhwTsT7KwKbSCQzIcJWjRxiimi/0tyMYY2bByitNb3i1p+6JWEDGa0NvT0Q==} engines: {node: '>=14.0.0'} peerDependencies: @@ -2096,7 +2177,7 @@ packages: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.0.2_rollup@3.20.2 + '@rollup/pluginutils': 5.0.2(rollup@3.20.2) commondir: 1.0.1 estree-walker: 2.0.2 glob: 8.1.0 @@ -2105,7 +2186,7 @@ packages: rollup: 3.20.2 dev: true - /@rollup/plugin-inject/5.0.3_rollup@3.20.2: + /@rollup/plugin-inject@5.0.3(rollup@3.20.2): resolution: {integrity: sha512-411QlbL+z2yXpRWFXSmw/teQRMkXcAAC8aYTemc15gwJRpvEVDQwoe+N/HTFD8RFG8+88Bme9DK2V9CVm7hJdA==} engines: {node: '>=14.0.0'} peerDependencies: @@ -2114,13 +2195,13 @@ packages: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.0.2_rollup@3.20.2 + '@rollup/pluginutils': 5.0.2(rollup@3.20.2) estree-walker: 2.0.2 magic-string: 0.27.0 rollup: 3.20.2 dev: true - /@rollup/plugin-json/5.0.2_rollup@3.20.2: + /@rollup/plugin-json@5.0.2(rollup@3.20.2): resolution: {integrity: sha512-D1CoOT2wPvadWLhVcmpkDnesTzjhNIQRWLsc3fA49IFOP2Y84cFOOJ+nKGYedvXHKUsPeq07HR4hXpBBr+CHlA==} engines: {node: '>=14.0.0'} peerDependencies: @@ -2129,17 +2210,17 @@ packages: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.0.2_rollup@3.20.2 + '@rollup/pluginutils': 5.0.2(rollup@3.20.2) rollup: 3.20.2 dev: true - /@rollup/plugin-node-resolve/11.2.1_rollup@2.79.1: + /@rollup/plugin-node-resolve@11.2.1(rollup@2.79.1): resolution: {integrity: sha512-yc2n43jcqVyGE2sqV5/YCmocy9ArjVAP/BeXyTtADTBBX6V0e5UMqwO8CdQ0kzjb6zu5P1qMzsScCMRvE9OlVg==} engines: {node: '>= 10.0.0'} peerDependencies: rollup: ^1.20.0||^2.0.0 dependencies: - '@rollup/pluginutils': 3.1.0_rollup@2.79.1 + '@rollup/pluginutils': 3.1.0(rollup@2.79.1) '@types/resolve': 1.17.1 builtin-modules: 3.3.0 deepmerge: 4.3.1 @@ -2148,7 +2229,7 @@ packages: rollup: 2.79.1 dev: false - /@rollup/plugin-node-resolve/15.0.1_rollup@3.20.2: + /@rollup/plugin-node-resolve@15.0.1(rollup@3.20.2): resolution: {integrity: sha512-ReY88T7JhJjeRVbfCyNj+NXAG3IIsVMsX9b5/9jC98dRP8/yxlZdz7mHZbHk5zHr24wZZICS5AcXsFZAXYUQEg==} engines: {node: '>=14.0.0'} peerDependencies: @@ -2157,7 +2238,7 @@ packages: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.0.2_rollup@3.20.2 + '@rollup/pluginutils': 5.0.2(rollup@3.20.2) '@types/resolve': 1.20.2 deepmerge: 4.3.1 is-builtin-module: 3.2.1 @@ -2166,17 +2247,17 @@ packages: rollup: 3.20.2 dev: true - /@rollup/plugin-replace/2.4.2_rollup@2.79.1: + /@rollup/plugin-replace@2.4.2(rollup@2.79.1): resolution: {integrity: sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==} peerDependencies: rollup: ^1.20.0 || ^2.0.0 dependencies: - '@rollup/pluginutils': 3.1.0_rollup@2.79.1 + '@rollup/pluginutils': 3.1.0(rollup@2.79.1) magic-string: 0.25.9 rollup: 2.79.1 dev: false - /@rollup/pluginutils/3.1.0_rollup@2.79.1: + /@rollup/pluginutils@3.1.0(rollup@2.79.1): resolution: {integrity: sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==} engines: {node: '>= 8.0.0'} peerDependencies: @@ -2188,7 +2269,7 @@ packages: rollup: 2.79.1 dev: false - /@rollup/pluginutils/4.2.1: + /@rollup/pluginutils@4.2.1: resolution: {integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==} engines: {node: '>= 8.0.0'} dependencies: @@ -2196,7 +2277,7 @@ packages: picomatch: 2.3.1 dev: true - /@rollup/pluginutils/5.0.2_rollup@3.20.2: + /@rollup/pluginutils@5.0.2(rollup@3.20.2): resolution: {integrity: sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==} engines: {node: '>=14.0.0'} peerDependencies: @@ -2211,11 +2292,11 @@ packages: rollup: 3.20.2 dev: true - /@rushstack/eslint-patch/1.2.0: + /@rushstack/eslint-patch@1.2.0: resolution: {integrity: sha512-sXo/qW2/pAcmT43VoRKOJbDOfV3cYpq3szSVfIThQXNt+E4DfKj361vaAt3c88U5tPUxzEswam7GW48PJqtKAg==} dev: false - /@shigma/stringify-object/3.3.0: + /@shigma/stringify-object@3.3.0: resolution: {integrity: sha512-tO5pn6RJp8m1ldYtqY3GEQA6+Nqp1cIZVrVx7iFVPx0YfhMqfplwrvyrQPP1cCwuyRoAyDr/BxVZYt+USm8LXQ==} engines: {node: '>=6'} dependencies: @@ -2224,7 +2305,7 @@ packages: is-regexp: 2.1.0 dev: true - /@simonbrunel/vuepress-plugin-versions/0.2.0: + /@simonbrunel/vuepress-plugin-versions@0.2.0: resolution: {integrity: sha512-6qgrbxCVG5mIHQDqTvWfpSxGMpqcDAHKIlxScZ0MfJjUWW40Kt4xcZ3OTx4NvlsNZUDNLZVWngIPYsMah4C/mQ==} dependencies: node-fetch: 2.6.9 @@ -2234,32 +2315,32 @@ packages: - encoding dev: true - /@sinclair/typebox/0.24.51: + /@sinclair/typebox@0.24.51: resolution: {integrity: sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==} dev: false - /@sindresorhus/is/0.14.0: + /@sindresorhus/is@0.14.0: resolution: {integrity: sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==} engines: {node: '>=6'} dev: true - /@sinonjs/commons/1.8.6: + /@sinonjs/commons@1.8.6: resolution: {integrity: sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==} dependencies: type-detect: 4.0.8 dev: false - /@sinonjs/fake-timers/8.1.0: + /@sinonjs/fake-timers@8.1.0: resolution: {integrity: sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==} dependencies: '@sinonjs/commons': 1.8.6 dev: false - /@socket.io/component-emitter/3.1.0: + /@socket.io/component-emitter@3.1.0: resolution: {integrity: sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg==} dev: true - /@surma/rollup-plugin-off-main-thread/2.2.3: + /@surma/rollup-plugin-off-main-thread@2.2.3: resolution: {integrity: sha512-lR8q/9W7hZpMWweNiAKU7NQerBnzQQLvi8qnTDU/fxItPhtZVMbPV3lbCwjhIlNBe9Bbr5V+KHshvWmVSG9cxQ==} dependencies: ejs: 3.1.9 @@ -2268,47 +2349,47 @@ packages: string.prototype.matchall: 4.0.8 dev: false - /@svgr/babel-plugin-add-jsx-attribute/5.4.0: + /@svgr/babel-plugin-add-jsx-attribute@5.4.0: resolution: {integrity: sha512-ZFf2gs/8/6B8PnSofI0inYXr2SDNTDScPXhN7k5EqD4aZ3gi6u+rbmZHVB8IM3wDyx8ntKACZbtXSm7oZGRqVg==} engines: {node: '>=10'} dev: false - /@svgr/babel-plugin-remove-jsx-attribute/5.4.0: + /@svgr/babel-plugin-remove-jsx-attribute@5.4.0: resolution: {integrity: sha512-yaS4o2PgUtwLFGTKbsiAy6D0o3ugcUhWK0Z45umJ66EPWunAz9fuFw2gJuje6wqQvQWOTJvIahUwndOXb7QCPg==} engines: {node: '>=10'} dev: false - /@svgr/babel-plugin-remove-jsx-empty-expression/5.0.1: + /@svgr/babel-plugin-remove-jsx-empty-expression@5.0.1: resolution: {integrity: sha512-LA72+88A11ND/yFIMzyuLRSMJ+tRKeYKeQ+mR3DcAZ5I4h5CPWN9AHyUzJbWSYp/u2u0xhmgOe0+E41+GjEueA==} engines: {node: '>=10'} dev: false - /@svgr/babel-plugin-replace-jsx-attribute-value/5.0.1: + /@svgr/babel-plugin-replace-jsx-attribute-value@5.0.1: resolution: {integrity: sha512-PoiE6ZD2Eiy5mK+fjHqwGOS+IXX0wq/YDtNyIgOrc6ejFnxN4b13pRpiIPbtPwHEc+NT2KCjteAcq33/F1Y9KQ==} engines: {node: '>=10'} dev: false - /@svgr/babel-plugin-svg-dynamic-title/5.4.0: + /@svgr/babel-plugin-svg-dynamic-title@5.4.0: resolution: {integrity: sha512-zSOZH8PdZOpuG1ZVx/cLVePB2ibo3WPpqo7gFIjLV9a0QsuQAzJiwwqmuEdTaW2pegyBE17Uu15mOgOcgabQZg==} engines: {node: '>=10'} dev: false - /@svgr/babel-plugin-svg-em-dimensions/5.4.0: + /@svgr/babel-plugin-svg-em-dimensions@5.4.0: resolution: {integrity: sha512-cPzDbDA5oT/sPXDCUYoVXEmm3VIoAWAPT6mSPTJNbQaBNUuEKVKyGH93oDY4e42PYHRW67N5alJx/eEol20abw==} engines: {node: '>=10'} dev: false - /@svgr/babel-plugin-transform-react-native-svg/5.4.0: + /@svgr/babel-plugin-transform-react-native-svg@5.4.0: resolution: {integrity: sha512-3eYP/SaopZ41GHwXma7Rmxcv9uRslRDTY1estspeB1w1ueZWd/tPlMfEOoccYpEMZU3jD4OU7YitnXcF5hLW2Q==} engines: {node: '>=10'} dev: false - /@svgr/babel-plugin-transform-svg-component/5.5.0: + /@svgr/babel-plugin-transform-svg-component@5.5.0: resolution: {integrity: sha512-q4jSH1UUvbrsOtlo/tKcgSeiCHRSBdXoIoqX1pgcKK/aU3JD27wmMKwGtpB8qRYUYoyXvfGxUVKchLuR5pB3rQ==} engines: {node: '>=10'} dev: false - /@svgr/babel-preset/5.5.0: + /@svgr/babel-preset@5.5.0: resolution: {integrity: sha512-4FiXBjvQ+z2j7yASeGPEi8VD/5rrGQk4Xrq3EdJmoZgz/tpqChpo5hgXDvmEauwtvOc52q8ghhZK4Oy7qph4ig==} engines: {node: '>=10'} dependencies: @@ -2322,7 +2403,7 @@ packages: '@svgr/babel-plugin-transform-svg-component': 5.5.0 dev: false - /@svgr/core/5.5.0: + /@svgr/core@5.5.0: resolution: {integrity: sha512-q52VOcsJPvV3jO1wkPtzTuKlvX7Y3xIcWRpCMtBF3MrteZJtBfQw/+u0B1BHy5ColpQc1/YVTrPEtSYIMNZlrQ==} engines: {node: '>=10'} dependencies: @@ -2333,14 +2414,14 @@ packages: - supports-color dev: false - /@svgr/hast-util-to-babel-ast/5.5.0: + /@svgr/hast-util-to-babel-ast@5.5.0: resolution: {integrity: sha512-cAaR/CAiZRB8GP32N+1jocovUtvlj0+e65TB50/6Lcime+EA49m/8l+P2ko+XPJ4dw3xaPS3jOL4F2X4KWxoeQ==} engines: {node: '>=10'} dependencies: '@babel/types': 7.21.3 dev: false - /@svgr/plugin-jsx/5.5.0: + /@svgr/plugin-jsx@5.5.0: resolution: {integrity: sha512-V/wVh33j12hGh05IDg8GpIUXbjAPnTdPTKuP4VNLggnwaHMPNQNae2pRnyTAILWCQdz5GyMqtO488g7CKM8CBA==} engines: {node: '>=10'} dependencies: @@ -2352,7 +2433,7 @@ packages: - supports-color dev: false - /@svgr/plugin-svgo/5.5.0: + /@svgr/plugin-svgo@5.5.0: resolution: {integrity: sha512-r5swKk46GuQl4RrVejVwpeeJaydoxkdwkM1mBKOgJLBUJPGaLci6ylg/IjhrRsREKDkr4kbMWdgOtbXEh0fyLQ==} engines: {node: '>=10'} dependencies: @@ -2361,14 +2442,14 @@ packages: svgo: 1.3.2 dev: false - /@svgr/webpack/5.5.0: + /@svgr/webpack@5.5.0: resolution: {integrity: sha512-DOBOK255wfQxguUta2INKkzPj6AIS6iafZYiYmHn6W3pHlycSRRlvWKCfLDG10fXfLWqE3DJHgRUOyJYmARa7g==} engines: {node: '>=10'} dependencies: '@babel/core': 7.21.3 - '@babel/plugin-transform-react-constant-elements': 7.21.3_@babel+core@7.21.3 - '@babel/preset-env': 7.20.2_@babel+core@7.21.3 - '@babel/preset-react': 7.18.6_@babel+core@7.21.3 + '@babel/plugin-transform-react-constant-elements': 7.21.3(@babel/core@7.21.3) + '@babel/preset-env': 7.20.2(@babel/core@7.21.3) + '@babel/preset-react': 7.18.6(@babel/core@7.21.3) '@svgr/core': 5.5.0 '@svgr/plugin-jsx': 5.5.0 '@svgr/plugin-svgo': 5.5.0 @@ -2377,97 +2458,87 @@ packages: - supports-color dev: false - /@swc/core-darwin-arm64/1.3.42: + /@swc/core-darwin-arm64@1.3.42: resolution: {integrity: sha512-hM6RrZFyoCM9mX3cj/zM5oXwhAqjUdOCLXJx7KTQps7NIkv/Qjvobgvyf2gAb89j3ARNo9NdIoLjTjJ6oALtiA==} engines: {node: '>=10'} cpu: [arm64] os: [darwin] requiresBuild: true - dev: true optional: true - /@swc/core-darwin-x64/1.3.42: + /@swc/core-darwin-x64@1.3.42: resolution: {integrity: sha512-bjsWtHMb6wJK1+RGlBs2USvgZ0txlMk11y0qBLKo32gLKTqzUwRw0Fmfzuf6Ue2a/w//7eqMlPFEre4LvJajGw==} engines: {node: '>=10'} cpu: [x64] os: [darwin] requiresBuild: true - dev: true optional: true - /@swc/core-linux-arm-gnueabihf/1.3.42: + /@swc/core-linux-arm-gnueabihf@1.3.42: resolution: {integrity: sha512-Oe0ggMz3MyqXNfeVmY+bBTL0hFSNY3bx8dhcqsh4vXk/ZVGse94QoC4dd92LuPHmKT0x6nsUzB86x2jU9QHW5g==} engines: {node: '>=10'} cpu: [arm] os: [linux] requiresBuild: true - dev: true optional: true - /@swc/core-linux-arm64-gnu/1.3.42: + /@swc/core-linux-arm64-gnu@1.3.42: resolution: {integrity: sha512-ZJsa8NIW1RLmmHGTJCbM7OPSbBZ9rOMrLqDtUOGrT0uoJXZnnQqolflamB5wviW0X6h3Z3/PSTNGNDCJ3u3Lqg==} engines: {node: '>=10'} cpu: [arm64] os: [linux] requiresBuild: true - dev: true optional: true - /@swc/core-linux-arm64-musl/1.3.42: + /@swc/core-linux-arm64-musl@1.3.42: resolution: {integrity: sha512-YpZwlFAfOp5vkm/uVUJX1O7N3yJDO1fDQRWqsOPPNyIJkI2ydlRQtgN6ZylC159Qv+TimfXnGTlNr7o3iBAqjg==} engines: {node: '>=10'} cpu: [arm64] os: [linux] requiresBuild: true - dev: true optional: true - /@swc/core-linux-x64-gnu/1.3.42: + /@swc/core-linux-x64-gnu@1.3.42: resolution: {integrity: sha512-0ccpKnsZbyHBzaQFdP8U9i29nvOfKitm6oJfdJzlqsY/jCqwvD8kv2CAKSK8WhJz//ExI2LqNrDI0yazx5j7+A==} engines: {node: '>=10'} cpu: [x64] os: [linux] requiresBuild: true - dev: true optional: true - /@swc/core-linux-x64-musl/1.3.42: + /@swc/core-linux-x64-musl@1.3.42: resolution: {integrity: sha512-7eckRRuTZ6+3K21uyfXXgc2ZCg0mSWRRNwNT3wap2bYkKPeqTgb8pm8xYSZNEiMuDonHEat6XCCV36lFY6kOdQ==} engines: {node: '>=10'} cpu: [x64] os: [linux] requiresBuild: true - dev: true optional: true - /@swc/core-win32-arm64-msvc/1.3.42: + /@swc/core-win32-arm64-msvc@1.3.42: resolution: {integrity: sha512-t27dJkdw0GWANdN4TV0lY/V5vTYSx5SRjyzzZolep358ueCGuN1XFf1R0JcCbd1ojosnkQg2L7A7991UjXingg==} engines: {node: '>=10'} cpu: [arm64] os: [win32] requiresBuild: true - dev: true optional: true - /@swc/core-win32-ia32-msvc/1.3.42: + /@swc/core-win32-ia32-msvc@1.3.42: resolution: {integrity: sha512-xfpc/Zt/aMILX4IX0e3loZaFyrae37u3MJCv1gJxgqrpeLi7efIQr3AmERkTK3mxTO6R5urSliWw2W3FyZ7D3Q==} engines: {node: '>=10'} cpu: [ia32] os: [win32] requiresBuild: true - dev: true optional: true - /@swc/core-win32-x64-msvc/1.3.42: + /@swc/core-win32-x64-msvc@1.3.42: resolution: {integrity: sha512-ra2K4Tu++EJLPhzZ6L8hWUsk94TdK/2UKhL9dzCBhtzKUixsGCEqhtqH1zISXNvW8qaVLFIMUP37ULe80/IJaA==} engines: {node: '>=10'} cpu: [x64] os: [win32] requiresBuild: true - dev: true optional: true - /@swc/core/1.3.42: + /@swc/core@1.3.42: resolution: {integrity: sha512-nVFUd5+7tGniM2cT3LXaqnu3735Cu4az8A9gAKK+8sdpASI52SWuqfDBmjFCK9xG90MiVDVp2PTZr0BWqCIzpw==} engines: {node: '>=10'} requiresBuild: true @@ -2482,25 +2553,24 @@ packages: '@swc/core-win32-arm64-msvc': 1.3.42 '@swc/core-win32-ia32-msvc': 1.3.42 '@swc/core-win32-x64-msvc': 1.3.42 - dev: true - /@szmarczak/http-timer/1.1.2: + /@szmarczak/http-timer@1.1.2: resolution: {integrity: sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==} engines: {node: '>=6'} dependencies: defer-to-connect: 1.1.3 dev: true - /@tootallnate/once/1.1.2: + /@tootallnate/once@1.1.2: resolution: {integrity: sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==} engines: {node: '>= 6'} dev: false - /@trysound/sax/0.2.0: + /@trysound/sax@0.2.0: resolution: {integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==} engines: {node: '>=10.13.0'} - /@types/babel__core/7.20.0: + /@types/babel__core@7.20.0: resolution: {integrity: sha512-+n8dL/9GWblDO0iU6eZAwEIJVr5DWigtle+Q6HLOrh/pdbXOhOtqzq8VPPE2zvNJzSKY4vH/z3iT3tn0A3ypiQ==} dependencies: '@babel/parser': 7.21.3 @@ -2510,91 +2580,91 @@ packages: '@types/babel__traverse': 7.18.3 dev: false - /@types/babel__generator/7.6.4: + /@types/babel__generator@7.6.4: resolution: {integrity: sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==} dependencies: '@babel/types': 7.21.3 dev: false - /@types/babel__template/7.4.1: + /@types/babel__template@7.4.1: resolution: {integrity: sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==} dependencies: '@babel/parser': 7.21.3 '@babel/types': 7.21.3 dev: false - /@types/babel__traverse/7.18.3: + /@types/babel__traverse@7.18.3: resolution: {integrity: sha512-1kbcJ40lLB7MHsj39U4Sh1uTd2E7rLEa79kmDpI6cy+XiXsteB3POdQomoq4FxszMrO3ZYchkhYJw7A2862b3w==} dependencies: '@babel/types': 7.21.3 dev: false - /@types/body-parser/1.19.2: + /@types/body-parser@1.19.2: resolution: {integrity: sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==} dependencies: '@types/connect': 3.4.35 '@types/node': 18.15.11 - /@types/bonjour/3.5.10: + /@types/bonjour@3.5.10: resolution: {integrity: sha512-p7ienRMiS41Nu2/igbJxxLDWrSZ0WxM8UQgCeO9KhoVF7cOVFkrKsiDr1EsJIla8vV3oEEjGcz11jc5yimhzZw==} dependencies: '@types/node': 18.15.11 dev: false - /@types/connect-history-api-fallback/1.3.5: + /@types/connect-history-api-fallback@1.3.5: resolution: {integrity: sha512-h8QJa8xSb1WD4fpKBDcATDNGXghFj6/3GRWG6dhmRcu0RX1Ubasur2Uvx5aeEwlf0MwblEC2bMzzMQntxnw/Cw==} dependencies: '@types/express-serve-static-core': 4.17.33 '@types/node': 18.15.11 - /@types/connect/3.4.35: + /@types/connect@3.4.35: resolution: {integrity: sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==} dependencies: '@types/node': 18.15.11 - /@types/cookie/0.4.1: + /@types/cookie@0.4.1: resolution: {integrity: sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==} dev: true - /@types/cors/2.8.13: + /@types/cors@2.8.13: resolution: {integrity: sha512-RG8AStHlUiV5ysZQKq97copd2UmVYw3/pRMLefISZ3S1hK104Cwm7iLQ3fTKx+lsUH2CE8FlLaYeEA2LSeqYUA==} dependencies: '@types/node': 18.15.11 dev: true - /@types/eslint-scope/3.7.4: + /@types/eslint-scope@3.7.4: resolution: {integrity: sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==} dependencies: '@types/eslint': 8.21.3 '@types/estree': 0.0.51 dev: false - /@types/eslint/8.21.3: + /@types/eslint@8.21.3: resolution: {integrity: sha512-fa7GkppZVEByMWGbTtE5MbmXWJTVbrjjaS8K6uQj+XtuuUv1fsuPAxhygfqLmsb/Ufb3CV8deFCpiMfAgi00Sw==} dependencies: '@types/estree': 1.0.0 '@types/json-schema': 7.0.11 dev: false - /@types/estree/0.0.39: + /@types/estree@0.0.39: resolution: {integrity: sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==} dev: false - /@types/estree/0.0.51: + /@types/estree@0.0.51: resolution: {integrity: sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==} dev: false - /@types/estree/1.0.0: + /@types/estree@1.0.0: resolution: {integrity: sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==} - /@types/express-serve-static-core/4.17.33: + /@types/express-serve-static-core@4.17.33: resolution: {integrity: sha512-TPBqmR/HRYI3eC2E5hmiivIzv+bidAfXofM+sbonAGvyDhySGw9/PQZFt2BLOrjUUR++4eJVpx6KnLQK1Fk9tA==} dependencies: '@types/node': 18.15.11 '@types/qs': 6.9.7 '@types/range-parser': 1.2.4 - /@types/express/4.17.17: + /@types/express@4.17.17: resolution: {integrity: sha512-Q4FmmuLGBG58btUnfS1c1r/NQdlp3DMfGDGig8WhfpA2YRUtEkxAjkZb0yvplJGYdF1fsQ81iMDcH24sSCNC/Q==} dependencies: '@types/body-parser': 1.19.2 @@ -2602,66 +2672,66 @@ packages: '@types/qs': 6.9.7 '@types/serve-static': 1.15.1 - /@types/glob/7.2.0: + /@types/glob@7.2.0: resolution: {integrity: sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==} dependencies: '@types/minimatch': 5.1.2 '@types/node': 18.15.11 dev: true - /@types/graceful-fs/4.1.6: + /@types/graceful-fs@4.1.6: resolution: {integrity: sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw==} dependencies: '@types/node': 18.15.11 dev: false - /@types/highlight.js/9.12.4: + /@types/highlight.js@9.12.4: resolution: {integrity: sha512-t2szdkwmg2JJyuCM20e8kR2X59WCE5Zkl4bzm1u1Oukjm79zpbiAv+QjnwLnuuV0WHEcX2NgUItu0pAMKuOPww==} dev: true - /@types/html-minifier-terser/6.1.0: + /@types/html-minifier-terser@6.1.0: resolution: {integrity: sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==} dev: false - /@types/http-proxy/1.17.10: + /@types/http-proxy@1.17.10: resolution: {integrity: sha512-Qs5aULi+zV1bwKAg5z1PWnDXWmsn+LxIvUGv6E2+OOMYhclZMO+OXd9pYVf2gLykf2I7IV2u7oTHwChPNsvJ7g==} dependencies: '@types/node': 18.15.11 - /@types/istanbul-lib-coverage/2.0.4: + /@types/istanbul-lib-coverage@2.0.4: resolution: {integrity: sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==} dev: false - /@types/istanbul-lib-report/3.0.0: + /@types/istanbul-lib-report@3.0.0: resolution: {integrity: sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==} dependencies: '@types/istanbul-lib-coverage': 2.0.4 dev: false - /@types/istanbul-reports/3.0.1: + /@types/istanbul-reports@3.0.1: resolution: {integrity: sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==} dependencies: '@types/istanbul-lib-report': 3.0.0 dev: false - /@types/json-schema/7.0.11: + /@types/json-schema@7.0.11: resolution: {integrity: sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==} - /@types/json5/0.0.29: + /@types/json5@0.0.29: resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} dev: false - /@types/keyv/3.1.4: + /@types/keyv@3.1.4: resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==} dependencies: '@types/node': 18.15.11 dev: true - /@types/linkify-it/3.0.2: + /@types/linkify-it@3.0.2: resolution: {integrity: sha512-HZQYqbiFVWufzCwexrvh694SOim8z2d+xJl5UNamcvQFejLY/2YUtzXHYi3cHdI7PMlS8ejH2slRAOJQ32aNbA==} dev: true - /@types/markdown-it/10.0.3: + /@types/markdown-it@10.0.3: resolution: {integrity: sha512-daHJk22isOUvNssVGF2zDnnSyxHhFYhtjeX4oQaKD6QzL3ZR1QSgiD1g+Q6/WSWYVogNXYDXODtbgW/WiFCtyw==} dependencies: '@types/highlight.js': 9.12.4 @@ -2670,58 +2740,58 @@ packages: highlight.js: 9.18.5 dev: true - /@types/mdast/3.0.11: + /@types/mdast@3.0.11: resolution: {integrity: sha512-Y/uImid8aAwrEA24/1tcRZwpxX3pIFTSilcNDKSPn+Y2iDywSEachzRuvgAYYLR3wpGXAsMbv5lvKLDZLeYPAw==} dependencies: '@types/unist': 2.0.6 dev: true - /@types/mdurl/1.0.2: + /@types/mdurl@1.0.2: resolution: {integrity: sha512-eC4U9MlIcu2q0KQmXszyn5Akca/0jrQmwDRgpAMJai7qBWq4amIQhZyNau4VYGtCeALvW1/NtjzJJ567aZxfKA==} dev: true - /@types/mime/3.0.1: + /@types/mime@3.0.1: resolution: {integrity: sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA==} - /@types/minimatch/5.1.2: + /@types/minimatch@5.1.2: resolution: {integrity: sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==} dev: true - /@types/node/18.15.11: + /@types/node@18.15.11: resolution: {integrity: sha512-E5Kwq2n4SbMzQOn6wnmBjuK9ouqlURrcZDVfbo9ftDDTFt3nk7ZKK4GMOzoYgnpQJKcxwQw+lGaBvvlMo0qN/Q==} - /@types/offscreencanvas/2019.7.0: + /@types/offscreencanvas@2019.7.0: resolution: {integrity: sha512-PGcyveRIpL1XIqK8eBsmRBt76eFgtzuPiSTyKHZxnGemp2yzGzWpjYKAfK3wIMiU7eH+851yEpiuP8JZerTmWg==} dev: true - /@types/parse-json/4.0.0: + /@types/parse-json@4.0.0: resolution: {integrity: sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==} dev: false - /@types/prettier/2.7.2: + /@types/prettier@2.7.2: resolution: {integrity: sha512-KufADq8uQqo1pYKVIYzfKbJfBAc0sOeXqGbFaSpv8MRmC/zXgowNZmFcbngndGk922QDmOASEXUZCaY48gs4cg==} dev: false - /@types/prop-types/15.7.5: + /@types/prop-types@15.7.5: resolution: {integrity: sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==} dev: false - /@types/q/1.5.5: + /@types/q@1.5.5: resolution: {integrity: sha512-L28j2FcJfSZOnL1WBjDYp2vUHCeIFlyYI/53EwD/rKUBQ7MtUUfbQWiyKJGpcnv4/WgrhWsFKrcPstcAt/J0tQ==} - /@types/qs/6.9.7: + /@types/qs@6.9.7: resolution: {integrity: sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==} - /@types/range-parser/1.2.4: + /@types/range-parser@1.2.4: resolution: {integrity: sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==} - /@types/react-dom/18.0.11: + /@types/react-dom@18.0.11: resolution: {integrity: sha512-O38bPbI2CWtgw/OoQoY+BRelw7uysmXbWvw3nLWO21H1HSh+GOlqPuXshJfjmpNlKiiSDG9cc1JZAaMmVdcTlw==} dependencies: '@types/react': 18.0.31 dev: false - /@types/react/18.0.31: + /@types/react@18.0.31: resolution: {integrity: sha512-EEG67of7DsvRDU6BLLI0p+k1GojDLz9+lZsnCpCRTa/lOokvyPBvp8S5x+A24hME3yyQuIipcP70KJ6H7Qupww==} dependencies: '@types/prop-types': 15.7.5 @@ -2729,78 +2799,78 @@ packages: csstype: 3.1.1 dev: false - /@types/resolve/1.17.1: + /@types/resolve@1.17.1: resolution: {integrity: sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==} dependencies: '@types/node': 18.15.11 dev: false - /@types/resolve/1.20.2: + /@types/resolve@1.20.2: resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==} dev: true - /@types/responselike/1.0.0: + /@types/responselike@1.0.0: resolution: {integrity: sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==} dependencies: '@types/node': 18.15.11 dev: true - /@types/retry/0.12.0: + /@types/retry@0.12.0: resolution: {integrity: sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==} dev: false - /@types/scheduler/0.16.3: + /@types/scheduler@0.16.3: resolution: {integrity: sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==} dev: false - /@types/semver/7.3.13: + /@types/semver@7.3.13: resolution: {integrity: sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==} - /@types/serve-index/1.9.1: + /@types/serve-index@1.9.1: resolution: {integrity: sha512-d/Hs3nWDxNL2xAczmOVZNj92YZCS6RGxfBPjKzuu/XirCgXdpKEb88dYNbrYGint6IVWLNP+yonwVAuRC0T2Dg==} dependencies: '@types/express': 4.17.17 dev: false - /@types/serve-static/1.15.1: + /@types/serve-static@1.15.1: resolution: {integrity: sha512-NUo5XNiAdULrJENtJXZZ3fHtfMolzZwczzBbnAeBbqBwG+LaG6YaJtuwzwGSQZ2wsCrxjEhNNjAkKigy3n8teQ==} dependencies: '@types/mime': 3.0.1 '@types/node': 18.15.11 - /@types/sockjs/0.3.33: + /@types/sockjs@0.3.33: resolution: {integrity: sha512-f0KEEe05NvUnat+boPTZ0dgaLZ4SfSouXUgv5noUiefG2ajgKjmETo9ZJyuqsl7dfl2aHlLJUiki6B4ZYldiiw==} dependencies: '@types/node': 18.15.11 dev: false - /@types/source-list-map/0.1.2: + /@types/source-list-map@0.1.2: resolution: {integrity: sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA==} dev: true - /@types/stack-utils/2.0.1: + /@types/stack-utils@2.0.1: resolution: {integrity: sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==} dev: false - /@types/tapable/1.0.8: + /@types/tapable@1.0.8: resolution: {integrity: sha512-ipixuVrh2OdNmauvtT51o3d8z12p6LtFW9in7U79der/kwejjdNchQC5UMn5u/KxNoM7VHHOs/l8KS8uHxhODQ==} dev: true - /@types/trusted-types/2.0.3: + /@types/trusted-types@2.0.3: resolution: {integrity: sha512-NfQ4gyz38SL8sDNrSixxU2Os1a5xcdFxipAFxYEuLUlvU2uDwS4NUpsImcf1//SlWItCVMMLiylsxbmNMToV/g==} dev: false - /@types/uglify-js/3.17.1: + /@types/uglify-js@3.17.1: resolution: {integrity: sha512-GkewRA4i5oXacU/n4MA9+bLgt5/L3F1mKrYvFGm7r2ouLXhRKjuWwo9XHNnbx6WF3vlGW21S3fCvgqxvxXXc5g==} dependencies: source-map: 0.6.1 dev: true - /@types/unist/2.0.6: + /@types/unist@2.0.6: resolution: {integrity: sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==} dev: true - /@types/webpack-dev-server/3.11.6: + /@types/webpack-dev-server@3.11.6: resolution: {integrity: sha512-XCph0RiiqFGetukCTC3KVnY1jwLcZ84illFRMbyFzCcWl90B/76ew0tSqF46oBhnLC4obNDG7dMO0JfTN0MgMQ==} dependencies: '@types/connect-history-api-fallback': 1.3.5 @@ -2812,7 +2882,7 @@ packages: - debug dev: true - /@types/webpack-sources/3.2.0: + /@types/webpack-sources@3.2.0: resolution: {integrity: sha512-Ft7YH3lEVRQ6ls8k4Ff1oB4jN6oy/XmU6tQISKdhfh+1mR+viZFphS6WL0IrtDOzvefmJg5a0s7ZQoRXwqTEFg==} dependencies: '@types/node': 18.15.11 @@ -2820,7 +2890,7 @@ packages: source-map: 0.7.4 dev: true - /@types/webpack/4.41.33: + /@types/webpack@4.41.33: resolution: {integrity: sha512-PPajH64Ft2vWevkerISMtnZ8rTs4YmRbs+23c402J0INmxDKCrhZNvwZYtzx96gY2wAtXdrK1BS2fiC8MlLr3g==} dependencies: '@types/node': 18.15.11 @@ -2831,29 +2901,29 @@ packages: source-map: 0.6.1 dev: true - /@types/ws/8.5.4: + /@types/ws@8.5.4: resolution: {integrity: sha512-zdQDHKUgcX/zBc4GrwsE/7dVdAD8JR4EuiAXiiUhhfyIJXXb2+PrGshFyeXWQPMmmZ2XxgaqclgpIC7eTXc1mg==} dependencies: '@types/node': 18.15.11 dev: false - /@types/yargs-parser/21.0.0: + /@types/yargs-parser@21.0.0: resolution: {integrity: sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==} dev: false - /@types/yargs/16.0.5: + /@types/yargs@16.0.5: resolution: {integrity: sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==} dependencies: '@types/yargs-parser': 21.0.0 dev: false - /@types/yargs/17.0.24: + /@types/yargs@17.0.24: resolution: {integrity: sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==} dependencies: '@types/yargs-parser': 21.0.0 dev: false - /@typescript-eslint/eslint-plugin/5.57.0_x4rubgibnu7ujqspfqdeho4yiu: + /@typescript-eslint/eslint-plugin@5.57.0(@typescript-eslint/parser@5.57.0)(eslint@8.37.0)(typescript@4.9.5): resolution: {integrity: sha512-itag0qpN6q2UMM6Xgk6xoHa0D0/P+M17THnr4SVgqn9Rgam5k/He33MA7/D7QoJcdMxHFyX7U9imaBonAX/6qA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -2865,35 +2935,35 @@ packages: optional: true dependencies: '@eslint-community/regexpp': 4.5.0 - '@typescript-eslint/parser': 5.57.0_ip5up2nocltd47wbnuyybe5dxu + '@typescript-eslint/parser': 5.57.0(eslint@8.37.0)(typescript@4.9.5) '@typescript-eslint/scope-manager': 5.57.0 - '@typescript-eslint/type-utils': 5.57.0_ip5up2nocltd47wbnuyybe5dxu - '@typescript-eslint/utils': 5.57.0_ip5up2nocltd47wbnuyybe5dxu - debug: 4.3.4 + '@typescript-eslint/type-utils': 5.57.0(eslint@8.37.0)(typescript@4.9.5) + '@typescript-eslint/utils': 5.57.0(eslint@8.37.0)(typescript@4.9.5) + debug: 4.3.4(supports-color@6.1.0) eslint: 8.37.0 grapheme-splitter: 1.0.4 ignore: 5.2.4 natural-compare-lite: 1.4.0 semver: 7.3.8 - tsutils: 3.21.0_typescript@4.9.5 + tsutils: 3.21.0(typescript@4.9.5) typescript: 4.9.5 transitivePeerDependencies: - supports-color - /@typescript-eslint/experimental-utils/5.57.0_ip5up2nocltd47wbnuyybe5dxu: + /@typescript-eslint/experimental-utils@5.57.0(eslint@8.37.0)(typescript@4.9.5): resolution: {integrity: sha512-0RnrwGQ7MmgtOSnzB/rSGYr2iXENi6L+CtPzX3g5ovo0HlruLukSEKcc4s+q0IEc+DLTDc7Edan0Y4WSQ/bFhw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: - '@typescript-eslint/utils': 5.57.0_ip5up2nocltd47wbnuyybe5dxu + '@typescript-eslint/utils': 5.57.0(eslint@8.37.0)(typescript@4.9.5) eslint: 8.37.0 transitivePeerDependencies: - supports-color - typescript dev: false - /@typescript-eslint/parser/5.57.0_ip5up2nocltd47wbnuyybe5dxu: + /@typescript-eslint/parser@5.57.0(eslint@8.37.0)(typescript@4.9.5): resolution: {integrity: sha512-orrduvpWYkgLCyAdNtR1QIWovcNZlEm6yL8nwH/eTxWLd8gsP+25pdLHYzL2QdkqrieaDwLpytHqycncv0woUQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -2905,21 +2975,21 @@ packages: dependencies: '@typescript-eslint/scope-manager': 5.57.0 '@typescript-eslint/types': 5.57.0 - '@typescript-eslint/typescript-estree': 5.57.0_typescript@4.9.5 - debug: 4.3.4 + '@typescript-eslint/typescript-estree': 5.57.0(typescript@4.9.5) + debug: 4.3.4(supports-color@6.1.0) eslint: 8.37.0 typescript: 4.9.5 transitivePeerDependencies: - supports-color - /@typescript-eslint/scope-manager/5.57.0: + /@typescript-eslint/scope-manager@5.57.0: resolution: {integrity: sha512-NANBNOQvllPlizl9LatX8+MHi7bx7WGIWYjPHDmQe5Si/0YEYfxSljJpoTyTWFTgRy3X8gLYSE4xQ2U+aCozSw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: '@typescript-eslint/types': 5.57.0 '@typescript-eslint/visitor-keys': 5.57.0 - /@typescript-eslint/type-utils/5.57.0_ip5up2nocltd47wbnuyybe5dxu: + /@typescript-eslint/type-utils@5.57.0(eslint@8.37.0)(typescript@4.9.5): resolution: {integrity: sha512-kxXoq9zOTbvqzLbdNKy1yFrxLC6GDJFE2Yuo3KqSwTmDOFjUGeWSakgoXT864WcK5/NAJkkONCiKb1ddsqhLXQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -2929,20 +2999,20 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 5.57.0_typescript@4.9.5 - '@typescript-eslint/utils': 5.57.0_ip5up2nocltd47wbnuyybe5dxu - debug: 4.3.4 + '@typescript-eslint/typescript-estree': 5.57.0(typescript@4.9.5) + '@typescript-eslint/utils': 5.57.0(eslint@8.37.0)(typescript@4.9.5) + debug: 4.3.4(supports-color@6.1.0) eslint: 8.37.0 - tsutils: 3.21.0_typescript@4.9.5 + tsutils: 3.21.0(typescript@4.9.5) typescript: 4.9.5 transitivePeerDependencies: - supports-color - /@typescript-eslint/types/5.57.0: + /@typescript-eslint/types@5.57.0: resolution: {integrity: sha512-mxsod+aZRSyLT+jiqHw1KK6xrANm19/+VFALVFP5qa/aiJnlP38qpyaTd0fEKhWvQk6YeNZ5LGwI1pDpBRBhtQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - /@typescript-eslint/typescript-estree/5.57.0_typescript@4.9.5: + /@typescript-eslint/typescript-estree@5.57.0(typescript@4.9.5): resolution: {integrity: sha512-LTzQ23TV82KpO8HPnWuxM2V7ieXW8O142I7hQTxWIHDcCEIjtkat6H96PFkYBQqGFLW/G/eVVOB9Z8rcvdY/Vw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -2953,27 +3023,27 @@ packages: dependencies: '@typescript-eslint/types': 5.57.0 '@typescript-eslint/visitor-keys': 5.57.0 - debug: 4.3.4 + debug: 4.3.4(supports-color@6.1.0) globby: 11.1.0 is-glob: 4.0.3 semver: 7.3.8 - tsutils: 3.21.0_typescript@4.9.5 + tsutils: 3.21.0(typescript@4.9.5) typescript: 4.9.5 transitivePeerDependencies: - supports-color - /@typescript-eslint/utils/5.57.0_ip5up2nocltd47wbnuyybe5dxu: + /@typescript-eslint/utils@5.57.0(eslint@8.37.0)(typescript@4.9.5): resolution: {integrity: sha512-ps/4WohXV7C+LTSgAL5CApxvxbMkl9B9AUZRtnEFonpIxZDIT7wC1xfvuJONMidrkB9scs4zhtRyIwHh4+18kw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: - '@eslint-community/eslint-utils': 4.4.0_eslint@8.37.0 + '@eslint-community/eslint-utils': 4.4.0(eslint@8.37.0) '@types/json-schema': 7.0.11 '@types/semver': 7.3.13 '@typescript-eslint/scope-manager': 5.57.0 '@typescript-eslint/types': 5.57.0 - '@typescript-eslint/typescript-estree': 5.57.0_typescript@4.9.5 + '@typescript-eslint/typescript-estree': 5.57.0(typescript@4.9.5) eslint: 8.37.0 eslint-scope: 5.1.1 semver: 7.3.8 @@ -2981,26 +3051,26 @@ packages: - supports-color - typescript - /@typescript-eslint/visitor-keys/5.57.0: + /@typescript-eslint/visitor-keys@5.57.0: resolution: {integrity: sha512-ery2g3k0hv5BLiKpPuwYt9KBkAp2ugT6VvyShXdLOkax895EC55sP0Tx5L0fZaQueiK3fBLvHVvEl3jFS5ia+g==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: '@typescript-eslint/types': 5.57.0 eslint-visitor-keys: 3.4.0 - /@vue/babel-helper-vue-jsx-merge-props/1.4.0: + /@vue/babel-helper-vue-jsx-merge-props@1.4.0: resolution: {integrity: sha512-JkqXfCkUDp4PIlFdDQ0TdXoIejMtTHP67/pvxlgeY+u5k3LEdKuWZ3LK6xkxo52uDoABIVyRwqVkfLQJhk7VBA==} dev: true - /@vue/babel-helper-vue-transform-on/1.0.2: + /@vue/babel-helper-vue-transform-on@1.0.2: resolution: {integrity: sha512-hz4R8tS5jMn8lDq6iD+yWL6XNB699pGIVLk7WSJnn1dbpjaazsjZQkieJoRX6gW5zpYSCFqQ7jUquPNY65tQYA==} dev: true - /@vue/babel-plugin-jsx/1.1.1_@babel+core@7.21.3: + /@vue/babel-plugin-jsx@1.1.1(@babel/core@7.21.3): resolution: {integrity: sha512-j2uVfZjnB5+zkcbc/zsOc0fSNGCMMjaEXP52wdwdIfn0qjFfEYpYZBFKFg+HHnQeJCVrjOeO0YxgaL7DMrym9w==} dependencies: '@babel/helper-module-imports': 7.18.6 - '@babel/plugin-syntax-jsx': 7.18.6_@babel+core@7.21.3 + '@babel/plugin-syntax-jsx': 7.18.6(@babel/core@7.21.3) '@babel/template': 7.20.7 '@babel/traverse': 7.21.3 '@babel/types': 7.21.3 @@ -3013,23 +3083,25 @@ packages: - supports-color dev: true - /@vue/babel-plugin-transform-vue-jsx/1.4.0_@babel+core@7.21.3: + /@vue/babel-plugin-transform-vue-jsx@1.4.0(@babel/core@7.21.3): resolution: {integrity: sha512-Fmastxw4MMx0vlgLS4XBX0XiBbUFzoMGeVXuMV08wyOfXdikAFqBTuYPR0tlk+XskL19EzHc39SgjrPGY23JnA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.21.3 '@babel/helper-module-imports': 7.18.6 - '@babel/plugin-syntax-jsx': 7.18.6_@babel+core@7.21.3 + '@babel/plugin-syntax-jsx': 7.18.6(@babel/core@7.21.3) '@vue/babel-helper-vue-jsx-merge-props': 1.4.0 html-tags: 2.0.0 lodash.kebabcase: 4.1.1 svg-tags: 1.0.0 dev: true - /@vue/babel-preset-app/4.5.19_vue@2.7.14: + /@vue/babel-preset-app@4.5.19(@babel/core@7.21.3)(core-js@3.29.1)(vue@2.7.14): resolution: {integrity: sha512-VCNRiAt2P/bLo09rYt3DLe6xXUMlhJwrvU18Ddd/lYJgC7s8+wvhgYs+MTx4OiAXdu58drGwSBO9SPx7C6J82Q==} peerDependencies: + '@babel/core': '*' + core-js: ^3 vue: ^2 || ^3.0.0-0 peerDependenciesMeta: core-js: @@ -3038,17 +3110,17 @@ packages: optional: true dependencies: '@babel/core': 7.21.3 - '@babel/helper-compilation-targets': 7.20.7_@babel+core@7.21.3 + '@babel/helper-compilation-targets': 7.20.7(@babel/core@7.21.3) '@babel/helper-module-imports': 7.18.6 - '@babel/plugin-proposal-class-properties': 7.18.6_@babel+core@7.21.3 - '@babel/plugin-proposal-decorators': 7.21.0_@babel+core@7.21.3 - '@babel/plugin-syntax-dynamic-import': 7.8.3_@babel+core@7.21.3 - '@babel/plugin-syntax-jsx': 7.18.6_@babel+core@7.21.3 - '@babel/plugin-transform-runtime': 7.21.0_@babel+core@7.21.3 - '@babel/preset-env': 7.20.2_@babel+core@7.21.3 + '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.21.3) + '@babel/plugin-proposal-decorators': 7.21.0(@babel/core@7.21.3) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.21.3) + '@babel/plugin-syntax-jsx': 7.18.6(@babel/core@7.21.3) + '@babel/plugin-transform-runtime': 7.21.0(@babel/core@7.21.3) + '@babel/preset-env': 7.20.2(@babel/core@7.21.3) '@babel/runtime': 7.21.0 - '@vue/babel-plugin-jsx': 1.1.1_@babel+core@7.21.3 - '@vue/babel-preset-jsx': 1.4.0_db64vrtfadvbj3xicvww7soojy + '@vue/babel-plugin-jsx': 1.1.1(@babel/core@7.21.3) + '@vue/babel-preset-jsx': 1.4.0(@babel/core@7.21.3)(vue@2.7.14) babel-plugin-dynamic-import-node: 2.3.3 core-js: 3.29.1 core-js-compat: 3.29.1 @@ -3058,7 +3130,7 @@ packages: - supports-color dev: true - /@vue/babel-preset-jsx/1.4.0_db64vrtfadvbj3xicvww7soojy: + /@vue/babel-preset-jsx@1.4.0(@babel/core@7.21.3)(vue@2.7.14): resolution: {integrity: sha512-QmfRpssBOPZWL5xw7fOuHNifCQcNQC1PrOo/4fu6xlhlKJJKSA3HqX92Nvgyx8fqHZTUGMPHmFA+IDqwXlqkSA==} peerDependencies: '@babel/core': ^7.0.0-0 @@ -3069,78 +3141,78 @@ packages: dependencies: '@babel/core': 7.21.3 '@vue/babel-helper-vue-jsx-merge-props': 1.4.0 - '@vue/babel-plugin-transform-vue-jsx': 1.4.0_@babel+core@7.21.3 - '@vue/babel-sugar-composition-api-inject-h': 1.4.0_@babel+core@7.21.3 - '@vue/babel-sugar-composition-api-render-instance': 1.4.0_@babel+core@7.21.3 - '@vue/babel-sugar-functional-vue': 1.4.0_@babel+core@7.21.3 - '@vue/babel-sugar-inject-h': 1.4.0_@babel+core@7.21.3 - '@vue/babel-sugar-v-model': 1.4.0_@babel+core@7.21.3 - '@vue/babel-sugar-v-on': 1.4.0_@babel+core@7.21.3 + '@vue/babel-plugin-transform-vue-jsx': 1.4.0(@babel/core@7.21.3) + '@vue/babel-sugar-composition-api-inject-h': 1.4.0(@babel/core@7.21.3) + '@vue/babel-sugar-composition-api-render-instance': 1.4.0(@babel/core@7.21.3) + '@vue/babel-sugar-functional-vue': 1.4.0(@babel/core@7.21.3) + '@vue/babel-sugar-inject-h': 1.4.0(@babel/core@7.21.3) + '@vue/babel-sugar-v-model': 1.4.0(@babel/core@7.21.3) + '@vue/babel-sugar-v-on': 1.4.0(@babel/core@7.21.3) vue: 2.7.14 dev: true - /@vue/babel-sugar-composition-api-inject-h/1.4.0_@babel+core@7.21.3: + /@vue/babel-sugar-composition-api-inject-h@1.4.0(@babel/core@7.21.3): resolution: {integrity: sha512-VQq6zEddJHctnG4w3TfmlVp5FzDavUSut/DwR0xVoe/mJKXyMcsIibL42wPntozITEoY90aBV0/1d2KjxHU52g==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.21.3 - '@babel/plugin-syntax-jsx': 7.18.6_@babel+core@7.21.3 + '@babel/plugin-syntax-jsx': 7.18.6(@babel/core@7.21.3) dev: true - /@vue/babel-sugar-composition-api-render-instance/1.4.0_@babel+core@7.21.3: + /@vue/babel-sugar-composition-api-render-instance@1.4.0(@babel/core@7.21.3): resolution: {integrity: sha512-6ZDAzcxvy7VcnCjNdHJ59mwK02ZFuP5CnucloidqlZwVQv5CQLijc3lGpR7MD3TWFi78J7+a8J56YxbCtHgT9Q==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.21.3 - '@babel/plugin-syntax-jsx': 7.18.6_@babel+core@7.21.3 + '@babel/plugin-syntax-jsx': 7.18.6(@babel/core@7.21.3) dev: true - /@vue/babel-sugar-functional-vue/1.4.0_@babel+core@7.21.3: + /@vue/babel-sugar-functional-vue@1.4.0(@babel/core@7.21.3): resolution: {integrity: sha512-lTEB4WUFNzYt2In6JsoF9sAYVTo84wC4e+PoZWSgM6FUtqRJz7wMylaEhSRgG71YF+wfLD6cc9nqVeXN2rwBvw==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.21.3 - '@babel/plugin-syntax-jsx': 7.18.6_@babel+core@7.21.3 + '@babel/plugin-syntax-jsx': 7.18.6(@babel/core@7.21.3) dev: true - /@vue/babel-sugar-inject-h/1.4.0_@babel+core@7.21.3: + /@vue/babel-sugar-inject-h@1.4.0(@babel/core@7.21.3): resolution: {integrity: sha512-muwWrPKli77uO2fFM7eA3G1lAGnERuSz2NgAxuOLzrsTlQl8W4G+wwbM4nB6iewlKbwKRae3nL03UaF5ffAPMA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.21.3 - '@babel/plugin-syntax-jsx': 7.18.6_@babel+core@7.21.3 + '@babel/plugin-syntax-jsx': 7.18.6(@babel/core@7.21.3) dev: true - /@vue/babel-sugar-v-model/1.4.0_@babel+core@7.21.3: + /@vue/babel-sugar-v-model@1.4.0(@babel/core@7.21.3): resolution: {integrity: sha512-0t4HGgXb7WHYLBciZzN5s0Hzqan4Ue+p/3FdQdcaHAb7s5D9WZFGoSxEZHrR1TFVZlAPu1bejTKGeAzaaG3NCQ==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.21.3 - '@babel/plugin-syntax-jsx': 7.18.6_@babel+core@7.21.3 + '@babel/plugin-syntax-jsx': 7.18.6(@babel/core@7.21.3) '@vue/babel-helper-vue-jsx-merge-props': 1.4.0 - '@vue/babel-plugin-transform-vue-jsx': 1.4.0_@babel+core@7.21.3 + '@vue/babel-plugin-transform-vue-jsx': 1.4.0(@babel/core@7.21.3) camelcase: 5.3.1 html-tags: 2.0.0 svg-tags: 1.0.0 dev: true - /@vue/babel-sugar-v-on/1.4.0_@babel+core@7.21.3: + /@vue/babel-sugar-v-on@1.4.0(@babel/core@7.21.3): resolution: {integrity: sha512-m+zud4wKLzSKgQrWwhqRObWzmTuyzl6vOP7024lrpeJM4x2UhQtRDLgYjXAw9xBXjCwS0pP9kXjg91F9ZNo9JA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.21.3 - '@babel/plugin-syntax-jsx': 7.18.6_@babel+core@7.21.3 - '@vue/babel-plugin-transform-vue-jsx': 1.4.0_@babel+core@7.21.3 + '@babel/plugin-syntax-jsx': 7.18.6(@babel/core@7.21.3) + '@vue/babel-plugin-transform-vue-jsx': 1.4.0(@babel/core@7.21.3) camelcase: 5.3.1 dev: true - /@vue/compiler-sfc/2.7.14: + /@vue/compiler-sfc@2.7.14: resolution: {integrity: sha512-aNmNHyLPsw+sVvlQFQ2/8sjNuLtK54TC6cuKnVzAY93ks4ZBrvwQSnkkIh7bsbNhum5hJBS00wSDipQ937f5DA==} dependencies: '@babel/parser': 7.21.3 @@ -3148,7 +3220,7 @@ packages: source-map: 0.6.1 dev: true - /@vue/component-compiler-utils/3.3.0: + /@vue/component-compiler-utils@3.3.0: resolution: {integrity: sha512-97sfH2mYNU+2PzGrmK2haqffDpVASuib9/w2/noxiFi31Z54hW+q3izKQXXQZSNhtiUpAI36uSuYepeBe4wpHQ==} dependencies: consolidate: 0.15.1 @@ -3217,12 +3289,12 @@ packages: - whiskers dev: true - /@vuepress/core/1.9.9: + /@vuepress/core@1.9.9: resolution: {integrity: sha512-Ekgu409ZSgvAV9n14F3DaEWtgkwrEicg1nWs0gbxGgUCdREeX/7rwxSfKwWwBjCwfCUKR2L3+6pXGjzxex0t+g==} engines: {node: '>=8.6'} dependencies: '@babel/core': 7.21.3 - '@vue/babel-preset-app': 4.5.19_vue@2.7.14 + '@vue/babel-preset-app': 4.5.19(@babel/core@7.21.3)(core-js@3.29.1)(vue@2.7.14) '@vuepress/markdown': 1.9.9 '@vuepress/markdown-loader': 1.9.9 '@vuepress/plugin-last-updated': 1.9.9 @@ -3230,38 +3302,38 @@ packages: '@vuepress/shared-utils': 1.9.9 '@vuepress/types': 1.9.9 autoprefixer: 9.8.8 - babel-loader: 8.3.0_y3c3uzyfhmxjbwhc6k6hyxg3aa - bundle-require: 2.1.8_esbuild@0.14.7 - cache-loader: 3.0.1_webpack@4.46.0 - chokidar: 2.1.8 + babel-loader: 8.3.0(@babel/core@7.21.3)(webpack@4.46.0) + bundle-require: 2.1.8(esbuild@0.14.7) + cache-loader: 3.0.1(webpack@4.46.0) + chokidar: 2.1.8(supports-color@6.1.0) connect-history-api-fallback: 1.6.0 - copy-webpack-plugin: 5.1.2_webpack@4.46.0 + copy-webpack-plugin: 5.1.2(webpack@4.46.0) core-js: 3.29.1 cross-spawn: 6.0.5 - css-loader: 2.1.1_webpack@4.46.0 + css-loader: 2.1.1(webpack@4.46.0) esbuild: 0.14.7 - file-loader: 3.0.1_webpack@4.46.0 + file-loader: 3.0.1(webpack@4.46.0) js-yaml: 3.14.1 lru-cache: 5.1.1 - mini-css-extract-plugin: 0.6.0_webpack@4.46.0 - optimize-css-assets-webpack-plugin: 5.0.8_webpack@4.46.0 - portfinder: 1.0.32 + mini-css-extract-plugin: 0.6.0(webpack@4.46.0) + optimize-css-assets-webpack-plugin: 5.0.8(webpack@4.46.0) + portfinder: 1.0.32(supports-color@6.1.0) postcss-loader: 3.0.0 postcss-safe-parser: 4.0.2 toml: 3.0.0 - url-loader: 1.1.2_webpack@4.46.0 + url-loader: 1.1.2(webpack@4.46.0) vue: 2.7.14 - vue-loader: 15.10.1_lbhzzmlqoxkdndxnphn2sqq4kq - vue-router: 3.6.5_vue@2.7.14 + vue-loader: 15.10.1(cache-loader@3.0.1)(css-loader@2.1.1)(vue-template-compiler@2.7.14)(webpack@4.46.0) + vue-router: 3.6.5(vue@2.7.14) vue-server-renderer: 2.7.14 vue-template-compiler: 2.7.14 - vuepress-html-webpack-plugin: 3.2.0_webpack@4.46.0 + vuepress-html-webpack-plugin: 3.2.0(webpack@4.46.0) vuepress-plugin-container: 2.1.5 webpack: 4.46.0 webpack-chain: 6.5.1 - webpack-dev-server: 3.11.3_webpack@4.46.0 + webpack-dev-server: 3.11.3(webpack@4.46.0) webpack-merge: 4.2.2 - webpackbar: 3.2.0_webpack@4.46.0 + webpackbar: 3.2.0(webpack@4.46.0) transitivePeerDependencies: - '@vue/compiler-sfc' - arc-templates @@ -3325,7 +3397,7 @@ packages: - whiskers dev: true - /@vuepress/markdown-loader/1.9.9: + /@vuepress/markdown-loader@1.9.9: resolution: {integrity: sha512-nyY+sytuQaDLEIk6Yj9JFUfSQpe9/sz30xQFkGCYqi0lQTRGQM6IcRDgfcTS7b25A0qRlwpDGBfKQiGGMZKSfg==} dependencies: '@vuepress/markdown': 1.9.9 @@ -3335,13 +3407,13 @@ packages: - supports-color dev: true - /@vuepress/markdown/1.9.9: + /@vuepress/markdown@1.9.9: resolution: {integrity: sha512-JzFdBdGe5aoiKSaEgF+h3JLDXNVfWPI5DJWXrIt7rhhkMJesF6HowIznPLdXqukzHfXHcPvo9oQ4o6eT0YmVGA==} dependencies: '@vuepress/shared-utils': 1.9.9 markdown-it: 8.4.2 - markdown-it-anchor: 5.3.0_markdown-it@8.4.2 - markdown-it-chain: 1.3.0_markdown-it@8.4.2 + markdown-it-anchor: 5.3.0(markdown-it@8.4.2) + markdown-it-chain: 1.3.0(markdown-it@8.4.2) markdown-it-emoji: 1.4.0 markdown-it-table-of-contents: 0.4.4 prismjs: 1.29.0 @@ -3349,7 +3421,7 @@ packages: - supports-color dev: true - /@vuepress/plugin-active-header-links/1.9.9: + /@vuepress/plugin-active-header-links@1.9.9: resolution: {integrity: sha512-lTnIhbuALjOjFts33jJD8r4ScNBxnZ6MtmePKEwvYlC3J9uvngs1Htpb1JzLEX9QCydt+bhLmZ92bTXn/PdTpg==} dependencies: '@vuepress/types': 1.9.9 @@ -3358,7 +3430,7 @@ packages: - debug dev: true - /@vuepress/plugin-google-analytics/1.9.9: + /@vuepress/plugin-google-analytics@1.9.9: resolution: {integrity: sha512-GxrM4BopPqTiGAq2ku5HqInha6uQZePxdGpU8etTbM6hhaxZAev4HehrtHISAJm5dVptbFFJl3sNGQBnw2deFQ==} dependencies: '@vuepress/types': 1.9.9 @@ -3366,11 +3438,11 @@ packages: - debug dev: true - /@vuepress/plugin-html-redirect/0.1.4: + /@vuepress/plugin-html-redirect@0.1.4: resolution: {integrity: sha512-tzVquctn7Jwv/nFlsbDxqUeaJzG5H+muoOWl1O3M24XFu3KVsIoqZZt1seawrSCWWfFyLB9nVPJSoXALQ62hdg==} dev: true - /@vuepress/plugin-last-updated/1.9.9: + /@vuepress/plugin-last-updated@1.9.9: resolution: {integrity: sha512-MV4csmM0/lye83VtkOc+b8fs0roi7mvE7BmCCOE39Z6t8nv/ZmEPOwKeHD0+hXPT+ZfoATYvDcsYU7uxbdw0Pw==} dependencies: '@vuepress/types': 1.9.9 @@ -3379,7 +3451,7 @@ packages: - debug dev: true - /@vuepress/plugin-nprogress/1.9.9: + /@vuepress/plugin-nprogress@1.9.9: resolution: {integrity: sha512-+3fLxjwTLH8MeU54E7i1ovRu9KzBom2lvSeUsu9B8PuLyrETAqW7Pe1H66awEEALEe0ZnnEU4d7SeVe9ljsLAQ==} dependencies: '@vuepress/types': 1.9.9 @@ -3388,7 +3460,7 @@ packages: - debug dev: true - /@vuepress/plugin-register-components/1.9.9: + /@vuepress/plugin-register-components@1.9.9: resolution: {integrity: sha512-tddnAiSmJsIWWPzE7TcbGU8xzndXf4a8i4BfIev2QzSUnIOQFZDGXUAsCkw4/f9N9UFxQSObjFPzTeUUxb7EvA==} dependencies: '@vuepress/shared-utils': 1.9.9 @@ -3398,7 +3470,7 @@ packages: - supports-color dev: true - /@vuepress/plugin-search/1.9.9: + /@vuepress/plugin-search@1.9.9: resolution: {integrity: sha512-W/FE+YHoXDD4qk2wu5yRMkti271TA4y+7UBMrmCavvVAGrLIRnaZfswRUgIiDlEthBc+Pn8/As/Dy1jFTLBa9A==} dependencies: '@vuepress/types': 1.9.9 @@ -3406,7 +3478,7 @@ packages: - debug dev: true - /@vuepress/shared-utils/1.9.9: + /@vuepress/shared-utils@1.9.9: resolution: {integrity: sha512-qhk/7QF5LgMEXhEB1hlqreGFgkz4p2pmaBBNFxnAnYmSwmyO+u/oFOpZLI16QRx9Wg6ekR2ENmByQLxV7y4lJg==} dependencies: chalk: 2.4.2 @@ -3422,7 +3494,7 @@ packages: - supports-color dev: true - /@vuepress/theme-default/1.9.9: + /@vuepress/theme-default@1.9.9: resolution: {integrity: sha512-de0FiOwM/h3rFTBSZK0NNBB117lA/e3IHusU7Xm2XeZRiZ/EE3yvbWclZnbbRNt3YjDMmrWXEW/kBTBxfiMuWQ==} dependencies: '@vuepress/plugin-active-header-links': 1.9.9 @@ -3432,7 +3504,7 @@ packages: docsearch.js: 2.6.3 lodash: 4.17.21 stylus: 0.54.8 - stylus-loader: 3.0.2_stylus@0.54.8 + stylus-loader: 3.0.2(stylus@0.54.8) vuepress-plugin-container: 2.1.5 vuepress-plugin-smooth-scroll: 0.0.3 transitivePeerDependencies: @@ -3440,7 +3512,7 @@ packages: - supports-color dev: true - /@vuepress/types/1.9.9: + /@vuepress/types@1.9.9: resolution: {integrity: sha512-ukGW49ILzLhIc7CltHMr+BeIjWKloJNN1mrvbDz3beycp9b9kgH+DXNdRIK9QCKr4fJsy7x08vNMwZr9Nq/PTQ==} dependencies: '@types/markdown-it': 10.0.3 @@ -3450,14 +3522,14 @@ packages: - debug dev: true - /@webassemblyjs/ast/1.11.1: + /@webassemblyjs/ast@1.11.1: resolution: {integrity: sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==} dependencies: '@webassemblyjs/helper-numbers': 1.11.1 '@webassemblyjs/helper-wasm-bytecode': 1.11.1 dev: false - /@webassemblyjs/ast/1.9.0: + /@webassemblyjs/ast@1.9.0: resolution: {integrity: sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==} dependencies: '@webassemblyjs/helper-module-context': 1.9.0 @@ -3465,47 +3537,47 @@ packages: '@webassemblyjs/wast-parser': 1.9.0 dev: true - /@webassemblyjs/floating-point-hex-parser/1.11.1: + /@webassemblyjs/floating-point-hex-parser@1.11.1: resolution: {integrity: sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==} dev: false - /@webassemblyjs/floating-point-hex-parser/1.9.0: + /@webassemblyjs/floating-point-hex-parser@1.9.0: resolution: {integrity: sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==} dev: true - /@webassemblyjs/helper-api-error/1.11.1: + /@webassemblyjs/helper-api-error@1.11.1: resolution: {integrity: sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==} dev: false - /@webassemblyjs/helper-api-error/1.9.0: + /@webassemblyjs/helper-api-error@1.9.0: resolution: {integrity: sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==} dev: true - /@webassemblyjs/helper-buffer/1.11.1: + /@webassemblyjs/helper-buffer@1.11.1: resolution: {integrity: sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==} dev: false - /@webassemblyjs/helper-buffer/1.9.0: + /@webassemblyjs/helper-buffer@1.9.0: resolution: {integrity: sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==} dev: true - /@webassemblyjs/helper-code-frame/1.9.0: + /@webassemblyjs/helper-code-frame@1.9.0: resolution: {integrity: sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==} dependencies: '@webassemblyjs/wast-printer': 1.9.0 dev: true - /@webassemblyjs/helper-fsm/1.9.0: + /@webassemblyjs/helper-fsm@1.9.0: resolution: {integrity: sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==} dev: true - /@webassemblyjs/helper-module-context/1.9.0: + /@webassemblyjs/helper-module-context@1.9.0: resolution: {integrity: sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==} dependencies: '@webassemblyjs/ast': 1.9.0 dev: true - /@webassemblyjs/helper-numbers/1.11.1: + /@webassemblyjs/helper-numbers@1.11.1: resolution: {integrity: sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==} dependencies: '@webassemblyjs/floating-point-hex-parser': 1.11.1 @@ -3513,15 +3585,15 @@ packages: '@xtuc/long': 4.2.2 dev: false - /@webassemblyjs/helper-wasm-bytecode/1.11.1: + /@webassemblyjs/helper-wasm-bytecode@1.11.1: resolution: {integrity: sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==} dev: false - /@webassemblyjs/helper-wasm-bytecode/1.9.0: + /@webassemblyjs/helper-wasm-bytecode@1.9.0: resolution: {integrity: sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==} dev: true - /@webassemblyjs/helper-wasm-section/1.11.1: + /@webassemblyjs/helper-wasm-section@1.11.1: resolution: {integrity: sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==} dependencies: '@webassemblyjs/ast': 1.11.1 @@ -3530,7 +3602,7 @@ packages: '@webassemblyjs/wasm-gen': 1.11.1 dev: false - /@webassemblyjs/helper-wasm-section/1.9.0: + /@webassemblyjs/helper-wasm-section@1.9.0: resolution: {integrity: sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==} dependencies: '@webassemblyjs/ast': 1.9.0 @@ -3539,39 +3611,39 @@ packages: '@webassemblyjs/wasm-gen': 1.9.0 dev: true - /@webassemblyjs/ieee754/1.11.1: + /@webassemblyjs/ieee754@1.11.1: resolution: {integrity: sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==} dependencies: '@xtuc/ieee754': 1.2.0 dev: false - /@webassemblyjs/ieee754/1.9.0: + /@webassemblyjs/ieee754@1.9.0: resolution: {integrity: sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==} dependencies: '@xtuc/ieee754': 1.2.0 dev: true - /@webassemblyjs/leb128/1.11.1: + /@webassemblyjs/leb128@1.11.1: resolution: {integrity: sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==} dependencies: '@xtuc/long': 4.2.2 dev: false - /@webassemblyjs/leb128/1.9.0: + /@webassemblyjs/leb128@1.9.0: resolution: {integrity: sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==} dependencies: '@xtuc/long': 4.2.2 dev: true - /@webassemblyjs/utf8/1.11.1: + /@webassemblyjs/utf8@1.11.1: resolution: {integrity: sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==} dev: false - /@webassemblyjs/utf8/1.9.0: + /@webassemblyjs/utf8@1.9.0: resolution: {integrity: sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==} dev: true - /@webassemblyjs/wasm-edit/1.11.1: + /@webassemblyjs/wasm-edit@1.11.1: resolution: {integrity: sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==} dependencies: '@webassemblyjs/ast': 1.11.1 @@ -3584,7 +3656,7 @@ packages: '@webassemblyjs/wast-printer': 1.11.1 dev: false - /@webassemblyjs/wasm-edit/1.9.0: + /@webassemblyjs/wasm-edit@1.9.0: resolution: {integrity: sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==} dependencies: '@webassemblyjs/ast': 1.9.0 @@ -3597,7 +3669,7 @@ packages: '@webassemblyjs/wast-printer': 1.9.0 dev: true - /@webassemblyjs/wasm-gen/1.11.1: + /@webassemblyjs/wasm-gen@1.11.1: resolution: {integrity: sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==} dependencies: '@webassemblyjs/ast': 1.11.1 @@ -3607,7 +3679,7 @@ packages: '@webassemblyjs/utf8': 1.11.1 dev: false - /@webassemblyjs/wasm-gen/1.9.0: + /@webassemblyjs/wasm-gen@1.9.0: resolution: {integrity: sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==} dependencies: '@webassemblyjs/ast': 1.9.0 @@ -3617,7 +3689,7 @@ packages: '@webassemblyjs/utf8': 1.9.0 dev: true - /@webassemblyjs/wasm-opt/1.11.1: + /@webassemblyjs/wasm-opt@1.11.1: resolution: {integrity: sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==} dependencies: '@webassemblyjs/ast': 1.11.1 @@ -3626,7 +3698,7 @@ packages: '@webassemblyjs/wasm-parser': 1.11.1 dev: false - /@webassemblyjs/wasm-opt/1.9.0: + /@webassemblyjs/wasm-opt@1.9.0: resolution: {integrity: sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==} dependencies: '@webassemblyjs/ast': 1.9.0 @@ -3635,7 +3707,7 @@ packages: '@webassemblyjs/wasm-parser': 1.9.0 dev: true - /@webassemblyjs/wasm-parser/1.11.1: + /@webassemblyjs/wasm-parser@1.11.1: resolution: {integrity: sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==} dependencies: '@webassemblyjs/ast': 1.11.1 @@ -3646,7 +3718,7 @@ packages: '@webassemblyjs/utf8': 1.11.1 dev: false - /@webassemblyjs/wasm-parser/1.9.0: + /@webassemblyjs/wasm-parser@1.9.0: resolution: {integrity: sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==} dependencies: '@webassemblyjs/ast': 1.9.0 @@ -3657,7 +3729,7 @@ packages: '@webassemblyjs/utf8': 1.9.0 dev: true - /@webassemblyjs/wast-parser/1.9.0: + /@webassemblyjs/wast-parser@1.9.0: resolution: {integrity: sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==} dependencies: '@webassemblyjs/ast': 1.9.0 @@ -3668,14 +3740,14 @@ packages: '@xtuc/long': 4.2.2 dev: true - /@webassemblyjs/wast-printer/1.11.1: + /@webassemblyjs/wast-printer@1.11.1: resolution: {integrity: sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==} dependencies: '@webassemblyjs/ast': 1.11.1 '@xtuc/long': 4.2.2 dev: false - /@webassemblyjs/wast-printer/1.9.0: + /@webassemblyjs/wast-printer@1.9.0: resolution: {integrity: sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==} dependencies: '@webassemblyjs/ast': 1.9.0 @@ -3683,35 +3755,35 @@ packages: '@xtuc/long': 4.2.2 dev: true - /@xtuc/ieee754/1.2.0: + /@xtuc/ieee754@1.2.0: resolution: {integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==} - /@xtuc/long/4.2.2: + /@xtuc/long@4.2.2: resolution: {integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==} - /abab/2.0.6: + /abab@2.0.6: resolution: {integrity: sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==} dev: false - /abbrev/1.1.1: + /abbrev@1.1.1: resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==} dev: true - /accepts/1.3.8: + /accepts@1.3.8: resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} engines: {node: '>= 0.6'} dependencies: mime-types: 2.1.35 negotiator: 0.6.3 - /acorn-globals/6.0.0: + /acorn-globals@6.0.0: resolution: {integrity: sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==} dependencies: acorn: 7.4.1 acorn-walk: 7.2.0 dev: false - /acorn-import-assertions/1.8.0_acorn@8.8.2: + /acorn-import-assertions@1.8.0(acorn@8.8.2): resolution: {integrity: sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==} peerDependencies: acorn: ^8 @@ -3719,41 +3791,41 @@ packages: acorn: 8.8.2 dev: false - /acorn-jsx/5.3.2_acorn@8.8.2: + /acorn-jsx@5.3.2(acorn@8.8.2): resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: acorn: 8.8.2 - /acorn-walk/7.2.0: + /acorn-walk@7.2.0: resolution: {integrity: sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==} engines: {node: '>=0.4.0'} dev: false - /acorn/6.4.2: + /acorn@6.4.2: resolution: {integrity: sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==} engines: {node: '>=0.4.0'} hasBin: true dev: true - /acorn/7.4.1: + /acorn@7.4.1: resolution: {integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==} engines: {node: '>=0.4.0'} hasBin: true dev: false - /acorn/8.8.2: + /acorn@8.8.2: resolution: {integrity: sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==} engines: {node: '>=0.4.0'} hasBin: true - /address/1.2.2: + /address@1.2.2: resolution: {integrity: sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==} engines: {node: '>= 10.0.0'} dev: false - /adjust-sourcemap-loader/4.0.0: + /adjust-sourcemap-loader@4.0.0: resolution: {integrity: sha512-OXwN5b9pCUXNQHJpwwD2qP40byEmSgzj8B4ydSN0uMNYWiFmJ6x6KwUllMmfk8Rwu/HJDFR7U8ubsWBoN0Xp0A==} engines: {node: '>=8.9'} dependencies: @@ -3761,21 +3833,21 @@ packages: regex-parser: 2.2.11 dev: false - /agent-base/6.0.2: + /agent-base@6.0.2: resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} engines: {node: '>= 6.0.0'} dependencies: - debug: 4.3.4 + debug: 4.3.4(supports-color@6.1.0) transitivePeerDependencies: - supports-color dev: false - /agentkeepalive/2.2.0: + /agentkeepalive@2.2.0: resolution: {integrity: sha512-TnB6ziK363p7lR8QpeLC8aMr8EGYBKZTpgzQLfqTs3bR0Oo5VbKdwKf8h0dSzsYrB7lSCgfJnMZKqShvlq5Oyg==} engines: {node: '>= 0.10.0'} dev: true - /ajv-errors/1.0.1_ajv@6.12.6: + /ajv-errors@1.0.1(ajv@6.12.6): resolution: {integrity: sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==} peerDependencies: ajv: '>=5.0.0' @@ -3783,8 +3855,10 @@ packages: ajv: 6.12.6 dev: true - /ajv-formats/2.1.1: + /ajv-formats@2.1.1(ajv@8.12.0): resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} + peerDependencies: + ajv: ^8.0.0 peerDependenciesMeta: ajv: optional: true @@ -3792,14 +3866,14 @@ packages: ajv: 8.12.0 dev: false - /ajv-keywords/3.5.2_ajv@6.12.6: + /ajv-keywords@3.5.2(ajv@6.12.6): resolution: {integrity: sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==} peerDependencies: ajv: ^6.9.1 dependencies: ajv: 6.12.6 - /ajv-keywords/5.1.0_ajv@8.12.0: + /ajv-keywords@5.1.0(ajv@8.12.0): resolution: {integrity: sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==} peerDependencies: ajv: ^8.8.2 @@ -3808,7 +3882,7 @@ packages: fast-deep-equal: 3.1.3 dev: false - /ajv/6.12.6: + /ajv@6.12.6: resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} dependencies: fast-deep-equal: 3.1.3 @@ -3816,7 +3890,7 @@ packages: json-schema-traverse: 0.4.1 uri-js: 4.4.1 - /ajv/8.12.0: + /ajv@8.12.0: resolution: {integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==} dependencies: fast-deep-equal: 3.1.3 @@ -3825,12 +3899,12 @@ packages: uri-js: 4.4.1 dev: false - /algoliasearch/3.35.1: + /algoliasearch@3.35.1: resolution: {integrity: sha512-K4yKVhaHkXfJ/xcUnil04xiSrB8B8yHZoFEhWNpXg23eiCnqvTZw1tn/SqvdsANlYHLJlKl0qi3I/Q2Sqo7LwQ==} engines: {node: '>=0.8'} dependencies: agentkeepalive: 2.2.0 - debug: 2.6.9 + debug: 2.6.9(supports-color@6.1.0) envify: 4.1.0 es6-promise: 4.2.8 events: 1.1.1 @@ -3848,155 +3922,146 @@ packages: - supports-color dev: true - /alphanum-sort/1.0.2: + /alphanum-sort@1.0.2: resolution: {integrity: sha512-0FcBfdcmaumGPQ0qPn7Q5qTgz/ooXgIyp1rf8ik5bGX8mpE2YHjC0P/eyQvxu1GURYQgq9ozf2mteQ5ZD9YiyQ==} dev: true - /ansi-align/3.0.1: + /ansi-align@3.0.1: resolution: {integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==} dependencies: string-width: 4.2.3 dev: true - /ansi-colors/3.2.4: + /ansi-colors@3.2.4: resolution: {integrity: sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==} engines: {node: '>=6'} dev: true - /ansi-escapes/4.3.2: + /ansi-escapes@4.3.2: resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} engines: {node: '>=8'} dependencies: type-fest: 0.21.3 - /ansi-html-community/0.0.8: + /ansi-html-community@0.0.8: resolution: {integrity: sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==} engines: {'0': node >= 0.8.0} hasBin: true - /ansi-regex/2.1.1: + /ansi-regex@2.1.1: resolution: {integrity: sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==} engines: {node: '>=0.10.0'} dev: true - /ansi-regex/4.1.1: + /ansi-regex@4.1.1: resolution: {integrity: sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==} engines: {node: '>=6'} dev: true - /ansi-regex/5.0.1: + /ansi-regex@5.0.1: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} engines: {node: '>=8'} - /ansi-regex/6.0.1: + /ansi-regex@6.0.1: resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} engines: {node: '>=12'} dev: false - /ansi-sequence-parser/1.1.0: + /ansi-sequence-parser@1.1.0: resolution: {integrity: sha512-lEm8mt52to2fT8GhciPCGeCXACSz2UwIN4X2e2LJSnZ5uAbn2/dsYdOmUXq0AtWS5cpAupysIneExOgH0Vd2TQ==} dev: true - /ansi-styles/3.2.1: + /ansi-styles@3.2.1: resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} engines: {node: '>=4'} dependencies: color-convert: 1.9.3 - /ansi-styles/4.3.0: + /ansi-styles@4.3.0: resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} engines: {node: '>=8'} dependencies: color-convert: 2.0.1 - /ansi-styles/5.2.0: + /ansi-styles@5.2.0: resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} engines: {node: '>=10'} dev: false - /any-promise/1.3.0: + /any-promise@1.3.0: resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} dev: false - /anymatch/2.0.0: - resolution: {integrity: sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==} - dependencies: - micromatch: 3.1.10 - normalize-path: 2.1.1 - transitivePeerDependencies: - - supports-color - dev: true - - /anymatch/2.0.0_supports-color@6.1.0: + /anymatch@2.0.0(supports-color@6.1.0): resolution: {integrity: sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==} dependencies: - micromatch: 3.1.10_supports-color@6.1.0 + micromatch: 3.1.10(supports-color@6.1.0) normalize-path: 2.1.1 transitivePeerDependencies: - supports-color dev: true - /anymatch/3.1.3: + /anymatch@3.1.3: resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} engines: {node: '>= 8'} dependencies: normalize-path: 3.0.0 picomatch: 2.3.1 - /applescript/1.0.0: + /applescript@1.0.0: resolution: {integrity: sha512-yvtNHdWvtbYEiIazXAdp/NY+BBb65/DAseqlNiJQjOx9DynuzOYDbVLBJvuc0ve0VL9x6B3OHF6eH52y9hCBtQ==} dev: true - /aproba/1.2.0: + /aproba@1.2.0: resolution: {integrity: sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==} dev: true - /arg/5.0.2: + /arg@5.0.2: resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} dev: false - /argparse/1.0.10: + /argparse@1.0.10: resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} dependencies: sprintf-js: 1.0.3 - /argparse/2.0.1: + /argparse@2.0.1: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} - /aria-query/5.1.3: + /aria-query@5.1.3: resolution: {integrity: sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==} dependencies: deep-equal: 2.2.0 dev: false - /arr-diff/4.0.0: + /arr-diff@4.0.0: resolution: {integrity: sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==} engines: {node: '>=0.10.0'} dev: true - /arr-flatten/1.1.0: + /arr-flatten@1.1.0: resolution: {integrity: sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==} engines: {node: '>=0.10.0'} dev: true - /arr-union/3.1.0: + /arr-union@3.1.0: resolution: {integrity: sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==} engines: {node: '>=0.10.0'} dev: true - /array-buffer-byte-length/1.0.0: + /array-buffer-byte-length@1.0.0: resolution: {integrity: sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==} dependencies: call-bind: 1.0.2 is-array-buffer: 3.0.2 - /array-flatten/1.1.1: + /array-flatten@1.1.1: resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==} - /array-flatten/2.1.2: + /array-flatten@2.1.2: resolution: {integrity: sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==} - /array-includes/3.1.6: + /array-includes@3.1.6: resolution: {integrity: sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==} engines: {node: '>= 0.4'} dependencies: @@ -4007,28 +4072,28 @@ packages: is-string: 1.0.7 dev: false - /array-union/1.0.2: + /array-union@1.0.2: resolution: {integrity: sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==} engines: {node: '>=0.10.0'} dependencies: array-uniq: 1.0.3 dev: true - /array-union/2.1.0: + /array-union@2.1.0: resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} engines: {node: '>=8'} - /array-uniq/1.0.3: + /array-uniq@1.0.3: resolution: {integrity: sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==} engines: {node: '>=0.10.0'} dev: true - /array-unique/0.3.2: + /array-unique@0.3.2: resolution: {integrity: sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==} engines: {node: '>=0.10.0'} dev: true - /array.prototype.flat/1.3.1: + /array.prototype.flat@1.3.1: resolution: {integrity: sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==} engines: {node: '>= 0.4'} dependencies: @@ -4038,7 +4103,7 @@ packages: es-shim-unscopables: 1.0.0 dev: false - /array.prototype.flatmap/1.3.1: + /array.prototype.flatmap@1.3.1: resolution: {integrity: sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==} engines: {node: '>= 0.4'} dependencies: @@ -4048,7 +4113,7 @@ packages: es-shim-unscopables: 1.0.0 dev: false - /array.prototype.reduce/1.0.5: + /array.prototype.reduce@1.0.5: resolution: {integrity: sha512-kDdugMl7id9COE8R7MHF5jWk7Dqt/fs4Pv+JXoICnYwqpjjjbUurz6w5fT5IG6brLdJhv6/VoHB0H7oyIBXd+Q==} engines: {node: '>= 0.4'} dependencies: @@ -4058,7 +4123,7 @@ packages: es-array-method-boxes-properly: 1.0.0 is-string: 1.0.7 - /array.prototype.tosorted/1.1.1: + /array.prototype.tosorted@1.1.1: resolution: {integrity: sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ==} dependencies: call-bind: 1.0.2 @@ -4068,11 +4133,11 @@ packages: get-intrinsic: 1.2.0 dev: false - /asap/2.0.6: + /asap@2.0.6: resolution: {integrity: sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==} dev: false - /asn1.js/5.4.1: + /asn1.js@5.4.1: resolution: {integrity: sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==} dependencies: bn.js: 4.12.0 @@ -4081,72 +4146,72 @@ packages: safer-buffer: 2.1.2 dev: true - /asn1/0.2.6: + /asn1@0.2.6: resolution: {integrity: sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==} dependencies: safer-buffer: 2.1.2 dev: true - /assert-plus/1.0.0: + /assert-plus@1.0.0: resolution: {integrity: sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==} engines: {node: '>=0.8'} dev: true - /assert/1.5.0: + /assert@1.5.0: resolution: {integrity: sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==} dependencies: object-assign: 4.1.1 util: 0.10.3 dev: true - /assign-symbols/1.0.0: + /assign-symbols@1.0.0: resolution: {integrity: sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==} engines: {node: '>=0.10.0'} dev: true - /ast-types-flow/0.0.7: + /ast-types-flow@0.0.7: resolution: {integrity: sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==} dev: false - /async-each/1.0.6: + /async-each@1.0.6: resolution: {integrity: sha512-c646jH1avxr+aVpndVMeAfYw7wAa6idufrlN3LPA4PmKS0QEGp6PIC9nwz0WQkkvBGAMEki3pFdtxaF39J9vvg==} dev: true - /async-limiter/1.0.1: + /async-limiter@1.0.1: resolution: {integrity: sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==} dev: true - /async/2.6.4: + /async@2.6.4: resolution: {integrity: sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==} dependencies: lodash: 4.17.21 dev: true - /async/3.2.4: + /async@3.2.4: resolution: {integrity: sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==} dev: false - /asynckit/0.4.0: + /asynckit@0.4.0: resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} - /at-least-node/1.0.0: + /at-least-node@1.0.0: resolution: {integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==} engines: {node: '>= 4.0.0'} dev: false - /atob/2.1.2: + /atob@2.1.2: resolution: {integrity: sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==} engines: {node: '>= 4.5.0'} hasBin: true dev: true - /autocomplete.js/0.36.0: + /autocomplete.js@0.36.0: resolution: {integrity: sha512-jEwUXnVMeCHHutUt10i/8ZiRaCb0Wo+ZyKxeGsYwBDtw6EJHqEeDrq4UwZRD8YBSvp3g6klP678il2eeiVXN2Q==} dependencies: immediate: 3.3.0 dev: true - /autoprefixer/10.4.14_postcss@8.4.21: + /autoprefixer@10.4.14(postcss@8.4.21): resolution: {integrity: sha512-FQzyfOsTlwVzjHxKEqRIAdJx9niO6VCBCoEwax/VLSoQF29ggECcPuBqUMZ+u8jCZOPSy8b8/8KnuFbp0SaFZQ==} engines: {node: ^10 || ^12 || >=14} hasBin: true @@ -4162,7 +4227,7 @@ packages: postcss-value-parser: 4.2.0 dev: false - /autoprefixer/9.8.8: + /autoprefixer@9.8.8: resolution: {integrity: sha512-eM9d/swFopRt5gdJ7jrpCwgvEMIayITpojhkkSMRsFHYuH5bkSQ4p/9qTEHtmNudUZh22Tehu7I6CxAW0IXTKA==} hasBin: true dependencies: @@ -4175,30 +4240,30 @@ packages: postcss-value-parser: 4.2.0 dev: true - /available-typed-arrays/1.0.5: + /available-typed-arrays@1.0.5: resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==} engines: {node: '>= 0.4'} - /aws-sign2/0.7.0: + /aws-sign2@0.7.0: resolution: {integrity: sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==} dev: true - /aws4/1.12.0: + /aws4@1.12.0: resolution: {integrity: sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==} dev: true - /axe-core/4.6.3: + /axe-core@4.6.3: resolution: {integrity: sha512-/BQzOX780JhsxDnPpH4ZiyrJAzcd8AfzFPkv+89veFSr1rcMjuq2JDCwypKaPeB6ljHp9KjXhPpjgCvQlWYuqg==} engines: {node: '>=4'} dev: false - /axobject-query/3.1.1: + /axobject-query@3.1.1: resolution: {integrity: sha512-goKlv8DZrK9hUh975fnHzhNIO4jUnFCfv/dszV5VwUGDFjI6vQ2VwoyjYjYNEbBE8AH87TduWP5uyDR1D+Iteg==} dependencies: deep-equal: 2.2.0 dev: false - /babel-jest/27.5.1_@babel+core@7.21.3: + /babel-jest@27.5.1(@babel/core@7.21.3): resolution: {integrity: sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} peerDependencies: @@ -4209,7 +4274,7 @@ packages: '@jest/types': 27.5.1 '@types/babel__core': 7.20.0 babel-plugin-istanbul: 6.1.1 - babel-preset-jest: 27.5.1_@babel+core@7.21.3 + babel-preset-jest: 27.5.1(@babel/core@7.21.3) chalk: 4.1.2 graceful-fs: 4.2.11 slash: 3.0.0 @@ -4217,7 +4282,7 @@ packages: - supports-color dev: false - /babel-loader/8.3.0_qtovpurzjlo3biun26ymnwui7i: + /babel-loader@8.3.0(@babel/core@7.21.3)(webpack@4.46.0): resolution: {integrity: sha512-H8SvsMF+m9t15HNLMipppzkC+Y2Yq+v3SonZyU70RBL/h1gxPkH08Ot8pEE9Z4Kd+czyWJClmFS8qzIP9OZ04Q==} engines: {node: '>= 8.9'} peerDependencies: @@ -4229,10 +4294,10 @@ packages: loader-utils: 2.0.4 make-dir: 3.1.0 schema-utils: 2.7.1 - webpack: 5.76.3 - dev: false + webpack: 4.46.0 + dev: true - /babel-loader/8.3.0_y3c3uzyfhmxjbwhc6k6hyxg3aa: + /babel-loader@8.3.0(@babel/core@7.21.3)(webpack@5.76.3): resolution: {integrity: sha512-H8SvsMF+m9t15HNLMipppzkC+Y2Yq+v3SonZyU70RBL/h1gxPkH08Ot8pEE9Z4Kd+czyWJClmFS8qzIP9OZ04Q==} engines: {node: '>= 8.9'} peerDependencies: @@ -4244,16 +4309,16 @@ packages: loader-utils: 2.0.4 make-dir: 3.1.0 schema-utils: 2.7.1 - webpack: 4.46.0 - dev: true + webpack: 5.76.3(@swc/core@1.3.42) + dev: false - /babel-plugin-dynamic-import-node/2.3.3: + /babel-plugin-dynamic-import-node@2.3.3: resolution: {integrity: sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==} dependencies: object.assign: 4.1.4 dev: true - /babel-plugin-istanbul/6.1.1: + /babel-plugin-istanbul@6.1.1: resolution: {integrity: sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==} engines: {node: '>=8'} dependencies: @@ -4266,7 +4331,7 @@ packages: - supports-color dev: false - /babel-plugin-jest-hoist/27.5.1: + /babel-plugin-jest-hoist@27.5.1: resolution: {integrity: sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: @@ -4276,7 +4341,7 @@ packages: '@types/babel__traverse': 7.18.3 dev: false - /babel-plugin-macros/3.1.0: + /babel-plugin-macros@3.1.0: resolution: {integrity: sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==} engines: {node: '>=10', npm: '>=6'} dependencies: @@ -4285,7 +4350,7 @@ packages: resolve: 1.22.1 dev: false - /babel-plugin-named-asset-import/0.3.8_@babel+core@7.21.3: + /babel-plugin-named-asset-import@0.3.8(@babel/core@7.21.3): resolution: {integrity: sha512-WXiAc++qo7XcJ1ZnTYGtLxmBCVbddAml3CEXgWaBzNzLNoxtQ8AiGEFDMOhot9XjTCQbvP5E77Fj9Gk924f00Q==} peerDependencies: '@babel/core': ^7.1.0 @@ -4293,64 +4358,64 @@ packages: '@babel/core': 7.21.3 dev: false - /babel-plugin-polyfill-corejs2/0.3.3_@babel+core@7.21.3: + /babel-plugin-polyfill-corejs2@0.3.3(@babel/core@7.21.3): resolution: {integrity: sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/compat-data': 7.21.0 '@babel/core': 7.21.3 - '@babel/helper-define-polyfill-provider': 0.3.3_@babel+core@7.21.3 + '@babel/helper-define-polyfill-provider': 0.3.3(@babel/core@7.21.3) semver: 6.3.0 transitivePeerDependencies: - supports-color - /babel-plugin-polyfill-corejs3/0.6.0_@babel+core@7.21.3: + /babel-plugin-polyfill-corejs3@0.6.0(@babel/core@7.21.3): resolution: {integrity: sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.21.3 - '@babel/helper-define-polyfill-provider': 0.3.3_@babel+core@7.21.3 + '@babel/helper-define-polyfill-provider': 0.3.3(@babel/core@7.21.3) core-js-compat: 3.29.1 transitivePeerDependencies: - supports-color - /babel-plugin-polyfill-regenerator/0.4.1_@babel+core@7.21.3: + /babel-plugin-polyfill-regenerator@0.4.1(@babel/core@7.21.3): resolution: {integrity: sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.21.3 - '@babel/helper-define-polyfill-provider': 0.3.3_@babel+core@7.21.3 + '@babel/helper-define-polyfill-provider': 0.3.3(@babel/core@7.21.3) transitivePeerDependencies: - supports-color - /babel-plugin-transform-react-remove-prop-types/0.4.24: + /babel-plugin-transform-react-remove-prop-types@0.4.24: resolution: {integrity: sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA==} dev: false - /babel-preset-current-node-syntax/1.0.1_@babel+core@7.21.3: + /babel-preset-current-node-syntax@1.0.1(@babel/core@7.21.3): resolution: {integrity: sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==} peerDependencies: '@babel/core': ^7.0.0 dependencies: '@babel/core': 7.21.3 - '@babel/plugin-syntax-async-generators': 7.8.4_@babel+core@7.21.3 - '@babel/plugin-syntax-bigint': 7.8.3_@babel+core@7.21.3 - '@babel/plugin-syntax-class-properties': 7.12.13_@babel+core@7.21.3 - '@babel/plugin-syntax-import-meta': 7.10.4_@babel+core@7.21.3 - '@babel/plugin-syntax-json-strings': 7.8.3_@babel+core@7.21.3 - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4_@babel+core@7.21.3 - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3_@babel+core@7.21.3 - '@babel/plugin-syntax-numeric-separator': 7.10.4_@babel+core@7.21.3 - '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.21.3 - '@babel/plugin-syntax-optional-catch-binding': 7.8.3_@babel+core@7.21.3 - '@babel/plugin-syntax-optional-chaining': 7.8.3_@babel+core@7.21.3 - '@babel/plugin-syntax-top-level-await': 7.14.5_@babel+core@7.21.3 - dev: false - - /babel-preset-jest/27.5.1_@babel+core@7.21.3: + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.21.3) + '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.21.3) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.21.3) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.21.3) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.21.3) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.21.3) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.21.3) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.21.3) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.21.3) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.21.3) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.21.3) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.21.3) + dev: false + + /babel-preset-jest@27.5.1(@babel/core@7.21.3): resolution: {integrity: sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} peerDependencies: @@ -4358,26 +4423,26 @@ packages: dependencies: '@babel/core': 7.21.3 babel-plugin-jest-hoist: 27.5.1 - babel-preset-current-node-syntax: 1.0.1_@babel+core@7.21.3 + babel-preset-current-node-syntax: 1.0.1(@babel/core@7.21.3) dev: false - /babel-preset-react-app/10.0.1: + /babel-preset-react-app@10.0.1: resolution: {integrity: sha512-b0D9IZ1WhhCWkrTXyFuIIgqGzSkRIH5D5AmB0bXbzYAB1OBAwHcUeyWW2LorutLWF5btNo/N7r/cIdmvvKJlYg==} dependencies: '@babel/core': 7.21.3 - '@babel/plugin-proposal-class-properties': 7.18.6_@babel+core@7.21.3 - '@babel/plugin-proposal-decorators': 7.21.0_@babel+core@7.21.3 - '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6_@babel+core@7.21.3 - '@babel/plugin-proposal-numeric-separator': 7.18.6_@babel+core@7.21.3 - '@babel/plugin-proposal-optional-chaining': 7.21.0_@babel+core@7.21.3 - '@babel/plugin-proposal-private-methods': 7.18.6_@babel+core@7.21.3 - '@babel/plugin-proposal-private-property-in-object': 7.21.0_@babel+core@7.21.3 - '@babel/plugin-transform-flow-strip-types': 7.21.0_@babel+core@7.21.3 - '@babel/plugin-transform-react-display-name': 7.18.6_@babel+core@7.21.3 - '@babel/plugin-transform-runtime': 7.21.0_@babel+core@7.21.3 - '@babel/preset-env': 7.20.2_@babel+core@7.21.3 - '@babel/preset-react': 7.18.6_@babel+core@7.21.3 - '@babel/preset-typescript': 7.21.0_@babel+core@7.21.3 + '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.21.3) + '@babel/plugin-proposal-decorators': 7.21.0(@babel/core@7.21.3) + '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.21.3) + '@babel/plugin-proposal-numeric-separator': 7.18.6(@babel/core@7.21.3) + '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.21.3) + '@babel/plugin-proposal-private-methods': 7.18.6(@babel/core@7.21.3) + '@babel/plugin-proposal-private-property-in-object': 7.21.0(@babel/core@7.21.3) + '@babel/plugin-transform-flow-strip-types': 7.21.0(@babel/core@7.21.3) + '@babel/plugin-transform-react-display-name': 7.18.6(@babel/core@7.21.3) + '@babel/plugin-transform-runtime': 7.21.0(@babel/core@7.21.3) + '@babel/preset-env': 7.20.2(@babel/core@7.21.3) + '@babel/preset-react': 7.18.6(@babel/core@7.21.3) + '@babel/preset-typescript': 7.21.0(@babel/core@7.21.3) '@babel/runtime': 7.21.0 babel-plugin-macros: 3.1.0 babel-plugin-transform-react-remove-prop-types: 0.4.24 @@ -4385,10 +4450,19 @@ packages: - supports-color dev: false - /balanced-match/1.0.2: + /balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} - /base/0.11.2: + /base64-js@1.5.1: + resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} + dev: true + + /base64id@2.0.0: + resolution: {integrity: sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==} + engines: {node: ^4.5.0 || >= 5.9} + dev: true + + /base@0.11.2: resolution: {integrity: sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==} engines: {node: '>=0.10.0'} dependencies: @@ -4401,25 +4475,16 @@ packages: pascalcase: 0.1.1 dev: true - /base64-js/1.5.1: - resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} - dev: true - - /base64id/2.0.0: - resolution: {integrity: sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==} - engines: {node: ^4.5.0 || >= 5.9} - dev: true - - /batch/0.6.1: + /batch@0.6.1: resolution: {integrity: sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==} - /bcrypt-pbkdf/1.0.2: + /bcrypt-pbkdf@1.0.2: resolution: {integrity: sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==} dependencies: tweetnacl: 0.14.5 dev: true - /bfj/7.0.2: + /bfj@7.0.2: resolution: {integrity: sha512-+e/UqUzwmzJamNF50tBV6tZPTORow7gQ96iFow+8b562OdMpEK0BcJEq2OSPEDmAbSMBQ7PKZ87ubFkgxpYWgw==} engines: {node: '>= 8.0.0'} dependencies: @@ -4429,67 +4494,48 @@ packages: tryer: 1.0.1 dev: false - /big.js/3.2.0: + /big.js@3.2.0: resolution: {integrity: sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==} dev: true - /big.js/5.2.2: + /big.js@5.2.2: resolution: {integrity: sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==} - /binary-extensions/1.13.1: + /binary-extensions@1.13.1: resolution: {integrity: sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==} engines: {node: '>=0.10.0'} dev: true - /binary-extensions/2.2.0: + /binary-extensions@2.2.0: resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} engines: {node: '>=8'} - /bindings/1.5.0: + /bindings@1.5.0: resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==} + requiresBuild: true dependencies: file-uri-to-path: 1.0.0 dev: true optional: true - /bluebird/3.7.2: + /bluebird@3.7.2: resolution: {integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==} - /bn.js/4.12.0: + /bn.js@4.12.0: resolution: {integrity: sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==} dev: true - /bn.js/5.2.1: + /bn.js@5.2.1: resolution: {integrity: sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==} dev: true - /body-parser/1.20.1: - resolution: {integrity: sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==} - engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} - dependencies: - bytes: 3.1.2 - content-type: 1.0.5 - debug: 2.6.9 - depd: 2.0.0 - destroy: 1.2.0 - http-errors: 2.0.0 - iconv-lite: 0.4.24 - on-finished: 2.4.1 - qs: 6.11.0 - raw-body: 2.5.1 - type-is: 1.6.18 - unpipe: 1.0.0 - transitivePeerDependencies: - - supports-color - dev: false - - /body-parser/1.20.1_supports-color@6.1.0: + /body-parser@1.20.1(supports-color@6.1.0): resolution: {integrity: sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==} engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} dependencies: bytes: 3.1.2 content-type: 1.0.5 - debug: 2.6.9_supports-color@6.1.0 + debug: 2.6.9(supports-color@6.1.0) depd: 2.0.0 destroy: 1.2.0 http-errors: 2.0.0 @@ -4501,15 +4547,14 @@ packages: unpipe: 1.0.0 transitivePeerDependencies: - supports-color - dev: true - /body-parser/1.20.2: + /body-parser@1.20.2: resolution: {integrity: sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==} engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} dependencies: bytes: 3.1.2 content-type: 1.0.5 - debug: 2.6.9 + debug: 2.6.9(supports-color@6.1.0) depd: 2.0.0 destroy: 1.2.0 http-errors: 2.0.0 @@ -4523,7 +4568,7 @@ packages: - supports-color dev: true - /bonjour-service/1.1.1: + /bonjour-service@1.1.1: resolution: {integrity: sha512-Z/5lQRMOG9k7W+FkeGTNjh7htqn/2LMnfOvBZ8pynNZCM9MwkQkI3zeI4oz09uWdcgmgHugVvBqxGg4VQJ5PCg==} dependencies: array-flatten: 2.1.2 @@ -4532,7 +4577,7 @@ packages: multicast-dns: 7.2.5 dev: false - /bonjour/3.5.0: + /bonjour@3.5.0: resolution: {integrity: sha512-RaVTblr+OnEli0r/ud8InrU7D+G0y6aJhlxaLa6Pwty4+xoxboF1BsUI45tujvRpbj9dQVoglChqonGAsjEBYg==} dependencies: array-flatten: 2.1.2 @@ -4543,10 +4588,10 @@ packages: multicast-dns-service-types: 1.1.0 dev: true - /boolbase/1.0.0: + /boolbase@1.0.0: resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} - /boxen/4.2.0: + /boxen@4.2.0: resolution: {integrity: sha512-eB4uT9RGzg2odpER62bBwSLvUeGC+WbRjjyyFhGsKnc8wp/m0+hQsMUvUe3H2V0D5vw0nBdO1hCJoZo5mKeuIQ==} engines: {node: '>=8'} dependencies: @@ -4560,36 +4605,18 @@ packages: widest-line: 3.1.0 dev: true - /brace-expansion/1.1.11: + /brace-expansion@1.1.11: resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} dependencies: balanced-match: 1.0.2 concat-map: 0.0.1 - /brace-expansion/2.0.1: + /brace-expansion@2.0.1: resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} dependencies: balanced-match: 1.0.2 - /braces/2.3.2: - resolution: {integrity: sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==} - engines: {node: '>=0.10.0'} - dependencies: - arr-flatten: 1.1.0 - array-unique: 0.3.2 - extend-shallow: 2.0.1 - fill-range: 4.0.0 - isobject: 3.0.1 - repeat-element: 1.1.4 - snapdragon: 0.8.2 - snapdragon-node: 2.1.1 - split-string: 3.1.0 - to-regex: 3.0.2 - transitivePeerDependencies: - - supports-color - dev: true - - /braces/2.3.2_supports-color@6.1.0: + /braces@2.3.2(supports-color@6.1.0): resolution: {integrity: sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==} engines: {node: '>=0.10.0'} dependencies: @@ -4599,7 +4626,7 @@ packages: fill-range: 4.0.0 isobject: 3.0.1 repeat-element: 1.1.4 - snapdragon: 0.8.2_supports-color@6.1.0 + snapdragon: 0.8.2(supports-color@6.1.0) snapdragon-node: 2.1.1 split-string: 3.1.0 to-regex: 3.0.2 @@ -4607,21 +4634,21 @@ packages: - supports-color dev: true - /braces/3.0.2: + /braces@3.0.2: resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} engines: {node: '>=8'} dependencies: fill-range: 7.0.1 - /brorand/1.1.0: + /brorand@1.1.0: resolution: {integrity: sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==} dev: true - /browser-process-hrtime/1.0.0: + /browser-process-hrtime@1.0.0: resolution: {integrity: sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==} dev: false - /browserify-aes/1.2.0: + /browserify-aes@1.2.0: resolution: {integrity: sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==} dependencies: buffer-xor: 1.0.3 @@ -4632,7 +4659,7 @@ packages: safe-buffer: 5.2.1 dev: true - /browserify-cipher/1.0.1: + /browserify-cipher@1.0.1: resolution: {integrity: sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==} dependencies: browserify-aes: 1.2.0 @@ -4640,7 +4667,7 @@ packages: evp_bytestokey: 1.0.3 dev: true - /browserify-des/1.0.2: + /browserify-des@1.0.2: resolution: {integrity: sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==} dependencies: cipher-base: 1.0.4 @@ -4649,14 +4676,14 @@ packages: safe-buffer: 5.2.1 dev: true - /browserify-rsa/4.1.0: + /browserify-rsa@4.1.0: resolution: {integrity: sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==} dependencies: bn.js: 5.2.1 randombytes: 2.1.0 dev: true - /browserify-sign/4.2.1: + /browserify-sign@4.2.1: resolution: {integrity: sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==} dependencies: bn.js: 5.2.1 @@ -4670,13 +4697,13 @@ packages: safe-buffer: 5.2.1 dev: true - /browserify-zlib/0.2.0: + /browserify-zlib@0.2.0: resolution: {integrity: sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==} dependencies: pako: 1.0.11 dev: true - /browserslist/4.21.5: + /browserslist@4.21.5: resolution: {integrity: sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true @@ -4684,30 +4711,30 @@ packages: caniuse-lite: 1.0.30001472 electron-to-chromium: 1.4.342 node-releases: 2.0.10 - update-browserslist-db: 1.0.10_browserslist@4.21.5 + update-browserslist-db: 1.0.10(browserslist@4.21.5) - /bser/2.1.1: + /bser@2.1.1: resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==} dependencies: node-int64: 0.4.0 dev: false - /buffer-from/1.1.2: + /buffer-from@1.1.2: resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} - /buffer-indexof/1.1.1: + /buffer-indexof@1.1.1: resolution: {integrity: sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==} dev: true - /buffer-json/2.0.0: + /buffer-json@2.0.0: resolution: {integrity: sha512-+jjPFVqyfF1esi9fvfUs3NqM0pH1ziZ36VP4hmA/y/Ssfo/5w5xHKfTw9BwQjoJ1w/oVtpLomqwUHKdefGyuHw==} dev: true - /buffer-xor/1.0.3: + /buffer-xor@1.0.3: resolution: {integrity: sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==} dev: true - /buffer/4.9.2: + /buffer@4.9.2: resolution: {integrity: sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==} dependencies: base64-js: 1.5.1 @@ -4715,15 +4742,15 @@ packages: isarray: 1.0.0 dev: true - /builtin-modules/3.3.0: + /builtin-modules@3.3.0: resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==} engines: {node: '>=6'} - /builtin-status-codes/3.0.0: + /builtin-status-codes@3.0.0: resolution: {integrity: sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==} dev: true - /bundle-require/2.1.8_esbuild@0.14.7: + /bundle-require@2.1.8(esbuild@0.14.7): resolution: {integrity: sha512-oOEg3A0hy/YzvNWNowtKD0pmhZKseOFweCbgyMqTIih4gRY1nJWsvrOCT27L9NbIyL5jMjTFrAUpGxxpW68Puw==} peerDependencies: esbuild: '>=0.13' @@ -4731,20 +4758,20 @@ packages: esbuild: 0.14.7 dev: true - /bytes/3.0.0: + /bytes@3.0.0: resolution: {integrity: sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==} engines: {node: '>= 0.8'} - /bytes/3.1.2: + /bytes@3.1.2: resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} engines: {node: '>= 0.8'} - /cac/6.7.14: + /cac@6.7.14: resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} engines: {node: '>=8'} dev: true - /cacache/12.0.4: + /cacache@12.0.4: resolution: {integrity: sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==} dependencies: bluebird: 3.7.2 @@ -4757,14 +4784,14 @@ packages: mississippi: 3.0.0 mkdirp: 0.5.6 move-concurrently: 1.0.1 - promise-inflight: 1.0.1_bluebird@3.7.2 + promise-inflight: 1.0.1(bluebird@3.7.2) rimraf: 2.7.1 ssri: 6.0.2 unique-filename: 1.1.1 y18n: 4.0.3 dev: true - /cache-base/1.0.1: + /cache-base@1.0.1: resolution: {integrity: sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==} engines: {node: '>=0.10.0'} dependencies: @@ -4779,7 +4806,7 @@ packages: unset-value: 1.0.0 dev: true - /cache-loader/3.0.1_webpack@4.46.0: + /cache-loader@3.0.1(webpack@4.46.0): resolution: {integrity: sha512-HzJIvGiGqYsFUrMjAJNDbVZoG7qQA+vy9AIoKs7s9DscNfki0I589mf2w6/tW+kkFH3zyiknoWV5Jdynu6b/zw==} engines: {node: '>= 6.9.0'} peerDependencies: @@ -4794,7 +4821,7 @@ packages: webpack: 4.46.0 dev: true - /cacheable-request/6.1.0: + /cacheable-request@6.1.0: resolution: {integrity: sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==} engines: {node: '>=8'} dependencies: @@ -4807,67 +4834,67 @@ packages: responselike: 1.0.2 dev: true - /call-bind/1.0.2: + /call-bind@1.0.2: resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} dependencies: function-bind: 1.1.1 get-intrinsic: 1.2.0 - /call-me-maybe/1.0.2: + /call-me-maybe@1.0.2: resolution: {integrity: sha512-HpX65o1Hnr9HH25ojC1YGs7HCQLq0GCOibSaWER0eNpgJ/Z1MZv2mTc7+xh6WOPxbRVcmgbv4hGU+uSQ/2xFZQ==} dev: true - /caller-callsite/2.0.0: + /caller-callsite@2.0.0: resolution: {integrity: sha512-JuG3qI4QOftFsZyOn1qq87fq5grLIyk1JYd5lJmdA+fG7aQ9pA/i3JIJGcO3q0MrRcHlOt1U+ZeHW8Dq9axALQ==} engines: {node: '>=4'} dependencies: callsites: 2.0.0 dev: true - /caller-path/2.0.0: + /caller-path@2.0.0: resolution: {integrity: sha512-MCL3sf6nCSXOwCTzvPKhN18TU7AHTvdtam8DAogxcrJ8Rjfbbg7Lgng64H9Iy+vUV6VGFClN/TyxBkAebLRR4A==} engines: {node: '>=4'} dependencies: caller-callsite: 2.0.0 dev: true - /callsites/2.0.0: + /callsites@2.0.0: resolution: {integrity: sha512-ksWePWBloaWPxJYQ8TL0JHvtci6G5QTKwQ95RcWAa/lzoAKuAOflGdAK92hpHXjkwb8zLxoLNUoNYZgVsaJzvQ==} engines: {node: '>=4'} dev: true - /callsites/3.1.0: + /callsites@3.1.0: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} - /camel-case/3.0.0: + /camel-case@3.0.0: resolution: {integrity: sha512-+MbKztAYHXPr1jNTSKQF52VpcFjwY5RkR7fxksV8Doo4KAYc5Fl4UJRgthBbTmEx8C54DqahhbLJkDwjI3PI/w==} dependencies: no-case: 2.3.2 upper-case: 1.1.3 dev: true - /camel-case/4.1.2: + /camel-case@4.1.2: resolution: {integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==} dependencies: pascal-case: 3.1.2 tslib: 2.5.0 dev: false - /camelcase-css/2.0.1: + /camelcase-css@2.0.1: resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==} engines: {node: '>= 6'} dev: false - /camelcase/5.3.1: + /camelcase@5.3.1: resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} engines: {node: '>=6'} - /camelcase/6.3.0: + /camelcase@6.3.0: resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} engines: {node: '>=10'} - /caniuse-api/3.0.0: + /caniuse-api@3.0.0: resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==} dependencies: browserslist: 4.21.5 @@ -4875,19 +4902,19 @@ packages: lodash.memoize: 4.1.2 lodash.uniq: 4.5.0 - /caniuse-lite/1.0.30001472: + /caniuse-lite@1.0.30001472: resolution: {integrity: sha512-xWC/0+hHHQgj3/vrKYY0AAzeIUgr7L9wlELIcAvZdDUHlhL/kNxMdnQLOSOQfP8R51ZzPhmHdyMkI0MMpmxCfg==} - /case-sensitive-paths-webpack-plugin/2.4.0: + /case-sensitive-paths-webpack-plugin@2.4.0: resolution: {integrity: sha512-roIFONhcxog0JSSWbvVAh3OocukmSgpqOH6YpMkCvav/ySIV3JKg4Dc8vYtQjYi/UxpNE36r/9v+VqTQqgkYmw==} engines: {node: '>=4'} dev: false - /caseless/0.12.0: + /caseless@0.12.0: resolution: {integrity: sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==} dev: true - /chalk/2.4.2: + /chalk@2.4.2: resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} engines: {node: '>=4'} dependencies: @@ -4895,7 +4922,7 @@ packages: escape-string-regexp: 1.0.5 supports-color: 5.5.0 - /chalk/3.0.0: + /chalk@3.0.0: resolution: {integrity: sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==} engines: {node: '>=8'} dependencies: @@ -4903,36 +4930,36 @@ packages: supports-color: 7.2.0 dev: true - /chalk/4.1.2: + /chalk@4.1.2: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} engines: {node: '>=10'} dependencies: ansi-styles: 4.3.0 supports-color: 7.2.0 - /char-regex/1.0.2: + /char-regex@1.0.2: resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==} engines: {node: '>=10'} dev: false - /char-regex/2.0.1: + /char-regex@2.0.1: resolution: {integrity: sha512-oSvEeo6ZUD7NepqAat3RqoucZ5SeqLJgOvVIwkafu6IP3V0pO38s/ypdVUmDDK6qIIHNlYHJAKX9E7R7HoKElw==} engines: {node: '>=12.20'} dev: false - /character-entities-legacy/1.1.4: + /character-entities-legacy@1.1.4: resolution: {integrity: sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==} dev: true - /character-entities/1.2.4: + /character-entities@1.2.4: resolution: {integrity: sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==} dev: true - /character-reference-invalid/1.1.4: + /character-reference-invalid@1.1.4: resolution: {integrity: sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==} dev: true - /chartjs-adapter-luxon/1.3.1_luxon@3.3.0: + /chartjs-adapter-luxon@1.3.1(luxon@3.3.0): resolution: {integrity: sha512-yxHov3X8y+reIibl1o+j18xzrcdddCLqsXhriV2+aQ4hCR66IYFchlRXUvrJVoxglJ380pgytU7YWtoqdIgqhg==} peerDependencies: chart.js: '>=3.0.0' @@ -4944,7 +4971,7 @@ packages: luxon: 3.3.0 dev: true - /chartjs-adapter-moment/1.0.1_moment@2.29.4: + /chartjs-adapter-moment@1.0.1(moment@2.29.4): resolution: {integrity: sha512-Uz+nTX/GxocuqXpGylxK19YG4R3OSVf8326D+HwSTsNw1LgzyIGRo+Qujwro1wy6X+soNSnfj5t2vZ+r6EaDmA==} peerDependencies: chart.js: '>=3.0.0' @@ -4956,7 +4983,7 @@ packages: moment: 2.29.4 dev: true - /chartjs-test-utils/0.4.0_foftceir3y3gn2jawntu24o3hu: + /chartjs-test-utils@0.4.0(jasmine@3.99.0)(karma-jasmine@4.0.2)(karma@6.4.1): resolution: {integrity: sha512-hT7weEZeWDVduSflHMpoNYW4arxVNp3+u7iZW91P6+zTYLHqgtv1gB/K0wiMqForXvw7IsDWuMF2iEvh3WT1mg==} peerDependencies: jasmine: ^3.6.4 @@ -4965,49 +4992,28 @@ packages: dependencies: jasmine: 3.99.0 karma: 6.4.1 - karma-jasmine: 4.0.2_karma@6.4.1 + karma-jasmine: 4.0.2(karma@6.4.1) pixelmatch: 5.3.0 dev: true - /check-types/11.2.2: + /check-types@11.2.2: resolution: {integrity: sha512-HBiYvXvn9Z70Z88XKjz3AEKd4HJhBXsa3j7xFnITAzoS8+q6eIGi8qDB8FKPBAjtuxjI/zFpwuiCb8oDtKOYrA==} dev: false - /chokidar/2.1.8: - resolution: {integrity: sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==} - deprecated: Chokidar 2 does not receive security updates since 2019. Upgrade to chokidar 3 with 15x fewer dependencies - dependencies: - anymatch: 2.0.0 - async-each: 1.0.6 - braces: 2.3.2 - glob-parent: 3.1.0 - inherits: 2.0.4 - is-binary-path: 1.0.1 - is-glob: 4.0.3 - normalize-path: 3.0.0 - path-is-absolute: 1.0.1 - readdirp: 2.2.1 - upath: 1.2.0 - optionalDependencies: - fsevents: 1.2.13 - transitivePeerDependencies: - - supports-color - dev: true - - /chokidar/2.1.8_supports-color@6.1.0: + /chokidar@2.1.8(supports-color@6.1.0): resolution: {integrity: sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==} deprecated: Chokidar 2 does not receive security updates since 2019. Upgrade to chokidar 3 with 15x fewer dependencies dependencies: - anymatch: 2.0.0_supports-color@6.1.0 + anymatch: 2.0.0(supports-color@6.1.0) async-each: 1.0.6 - braces: 2.3.2_supports-color@6.1.0 + braces: 2.3.2(supports-color@6.1.0) glob-parent: 3.1.0 inherits: 2.0.4 is-binary-path: 1.0.1 is-glob: 4.0.3 normalize-path: 3.0.0 path-is-absolute: 1.0.1 - readdirp: 2.2.1_supports-color@6.1.0 + readdirp: 2.2.1(supports-color@6.1.0) upath: 1.2.0 optionalDependencies: fsevents: 1.2.13 @@ -5015,7 +5021,7 @@ packages: - supports-color dev: true - /chokidar/3.5.3: + /chokidar@3.5.3: resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} engines: {node: '>= 8.10.0'} dependencies: @@ -5029,34 +5035,34 @@ packages: optionalDependencies: fsevents: 2.3.2 - /chownr/1.1.4: + /chownr@1.1.4: resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==} dev: true - /chrome-trace-event/1.0.3: + /chrome-trace-event@1.0.3: resolution: {integrity: sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==} engines: {node: '>=6.0'} - /ci-info/2.0.0: + /ci-info@2.0.0: resolution: {integrity: sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==} dev: true - /ci-info/3.8.0: + /ci-info@3.8.0: resolution: {integrity: sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==} engines: {node: '>=8'} - /cipher-base/1.0.4: + /cipher-base@1.0.4: resolution: {integrity: sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==} dependencies: inherits: 2.0.4 safe-buffer: 5.2.1 dev: true - /cjs-module-lexer/1.2.2: + /cjs-module-lexer@1.2.2: resolution: {integrity: sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==} dev: false - /class-utils/0.3.6: + /class-utils@0.3.6: resolution: {integrity: sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==} engines: {node: '>=0.10.0'} dependencies: @@ -5066,26 +5072,26 @@ packages: static-extend: 0.1.2 dev: true - /clean-css/4.2.4: + /clean-css@4.2.4: resolution: {integrity: sha512-EJUDT7nDVFDvaQgAo2G/PJvxmp1o/c6iXLbswsBbUFXi1Nr+AjA2cKmfbKDMjMvzEe75g3P6JkaDDAKk96A85A==} engines: {node: '>= 4.0'} dependencies: source-map: 0.6.1 dev: true - /clean-css/5.3.2: + /clean-css@5.3.2: resolution: {integrity: sha512-JVJbM+f3d3Q704rF4bqQ5UUyTtuJ0JRKNbTKVEeujCCBoMdkEi+V+e8oktO9qGQNSvHrFTM6JZRXrUvGR1czww==} engines: {node: '>= 10.0'} dependencies: source-map: 0.6.1 dev: false - /cli-boxes/2.2.1: + /cli-boxes@2.2.1: resolution: {integrity: sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==} engines: {node: '>=6'} dev: true - /cliui/5.0.0: + /cliui@5.0.0: resolution: {integrity: sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==} dependencies: string-width: 3.1.0 @@ -5093,14 +5099,14 @@ packages: wrap-ansi: 5.1.0 dev: true - /cliui/7.0.4: + /cliui@7.0.4: resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==} dependencies: string-width: 4.2.3 strip-ansi: 6.0.1 wrap-ansi: 7.0.0 - /cliui/8.0.1: + /cliui@8.0.1: resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} engines: {node: '>=12'} dependencies: @@ -5109,18 +5115,18 @@ packages: wrap-ansi: 7.0.0 dev: true - /clone-response/1.0.3: + /clone-response@1.0.3: resolution: {integrity: sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==} dependencies: mimic-response: 1.0.1 dev: true - /co/4.6.0: + /co@4.6.0: resolution: {integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==} engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} dev: false - /coa/2.0.2: + /coa@2.0.2: resolution: {integrity: sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==} engines: {node: '>= 4.0'} dependencies: @@ -5128,11 +5134,11 @@ packages: chalk: 2.4.2 q: 1.5.1 - /collect-v8-coverage/1.0.1: + /collect-v8-coverage@1.0.1: resolution: {integrity: sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==} dev: false - /collection-visit/1.0.0: + /collection-visit@1.0.0: resolution: {integrity: sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==} engines: {node: '>=0.10.0'} dependencies: @@ -5140,136 +5146,120 @@ packages: object-visit: 1.0.1 dev: true - /color-convert/1.9.3: + /color-convert@1.9.3: resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} dependencies: color-name: 1.1.3 - /color-convert/2.0.1: + /color-convert@2.0.1: resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} engines: {node: '>=7.0.0'} dependencies: color-name: 1.1.4 - /color-name/1.1.3: + /color-name@1.1.3: resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} - /color-name/1.1.4: + /color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} - /color-string/1.9.1: + /color-string@1.9.1: resolution: {integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==} dependencies: color-name: 1.1.4 simple-swizzle: 0.2.2 dev: true - /color/3.2.1: + /color@3.2.1: resolution: {integrity: sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==} dependencies: color-convert: 1.9.3 color-string: 1.9.1 dev: true - /colord/2.9.3: + /colord@2.9.3: resolution: {integrity: sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==} - /colorette/2.0.19: + /colorette@2.0.19: resolution: {integrity: sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==} dev: false - /colors/1.4.0: + /colors@1.4.0: resolution: {integrity: sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==} engines: {node: '>=0.1.90'} dev: true - /combined-stream/1.0.8: + /combined-stream@1.0.8: resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} engines: {node: '>= 0.8'} dependencies: delayed-stream: 1.0.0 - /commander/2.17.1: + /commander@2.17.1: resolution: {integrity: sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==} dev: true - /commander/2.19.0: + /commander@2.19.0: resolution: {integrity: sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==} dev: true - /commander/2.20.3: + /commander@2.20.3: resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} - /commander/4.1.1: + /commander@4.1.1: resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} engines: {node: '>= 6'} dev: false - /commander/7.2.0: + /commander@7.2.0: resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} engines: {node: '>= 10'} - /commander/8.3.0: + /commander@8.3.0: resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==} engines: {node: '>= 12'} dev: false - /common-path-prefix/3.0.0: + /common-path-prefix@3.0.0: resolution: {integrity: sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==} dev: false - /common-tags/1.8.2: + /common-tags@1.8.2: resolution: {integrity: sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==} engines: {node: '>=4.0.0'} dev: false - /commondir/1.0.1: + /commondir@1.0.1: resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} - /component-emitter/1.3.0: + /component-emitter@1.3.0: resolution: {integrity: sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==} dev: true - /compressible/2.0.18: + /compressible@2.0.18: resolution: {integrity: sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==} engines: {node: '>= 0.6'} dependencies: mime-db: 1.52.0 - /compression/1.7.4: - resolution: {integrity: sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==} - engines: {node: '>= 0.8.0'} - dependencies: - accepts: 1.3.8 - bytes: 3.0.0 - compressible: 2.0.18 - debug: 2.6.9 - on-headers: 1.0.2 - safe-buffer: 5.1.2 - vary: 1.1.2 - transitivePeerDependencies: - - supports-color - dev: false - - /compression/1.7.4_supports-color@6.1.0: + /compression@1.7.4(supports-color@6.1.0): resolution: {integrity: sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==} engines: {node: '>= 0.8.0'} dependencies: accepts: 1.3.8 bytes: 3.0.0 compressible: 2.0.18 - debug: 2.6.9_supports-color@6.1.0 + debug: 2.6.9(supports-color@6.1.0) on-headers: 1.0.2 safe-buffer: 5.1.2 vary: 1.1.2 transitivePeerDependencies: - supports-color - dev: true - /concat-map/0.0.1: + /concat-map@0.0.1: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} - /concat-stream/1.6.2: + /concat-stream@1.6.2: resolution: {integrity: sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==} engines: {'0': node >= 0.8} dependencies: @@ -5279,7 +5269,7 @@ packages: typedarray: 0.0.6 dev: true - /concurrently/7.6.0: + /concurrently@7.6.0: resolution: {integrity: sha512-BKtRgvcJGeZ4XttiDiNcFiRlxoAeZOseqUvyYRUp/Vtd+9p1ULmeoSqGsDA+2ivdeDFpqrJvGvmI+StKfKl5hw==} engines: {node: ^12.20.0 || ^14.13.0 || >=16.0.0} hasBin: true @@ -5295,7 +5285,7 @@ packages: yargs: 17.7.1 dev: true - /configstore/5.0.1: + /configstore@5.0.1: resolution: {integrity: sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==} engines: {node: '>=8'} dependencies: @@ -5307,25 +5297,25 @@ packages: xdg-basedir: 4.0.0 dev: true - /confusing-browser-globals/1.0.11: + /confusing-browser-globals@1.0.11: resolution: {integrity: sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==} dev: false - /connect-history-api-fallback/1.6.0: + /connect-history-api-fallback@1.6.0: resolution: {integrity: sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==} engines: {node: '>=0.8'} dev: true - /connect-history-api-fallback/2.0.0: + /connect-history-api-fallback@2.0.0: resolution: {integrity: sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==} engines: {node: '>=0.8'} dev: false - /connect/3.7.0: + /connect@3.7.0: resolution: {integrity: sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==} engines: {node: '>= 0.10.0'} dependencies: - debug: 2.6.9 + debug: 2.6.9(supports-color@6.1.0) finalhandler: 1.1.2 parseurl: 1.3.3 utils-merge: 1.0.1 @@ -5333,15 +5323,15 @@ packages: - supports-color dev: true - /consola/2.15.3: + /consola@2.15.3: resolution: {integrity: sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==} dev: true - /console-browserify/1.2.0: + /console-browserify@1.2.0: resolution: {integrity: sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==} dev: true - /consolidate/0.15.1: + /consolidate@0.15.1: resolution: {integrity: sha512-DW46nrsMJgy9kqAbPt5rKaCr7uFtpo4mSUvLHIUbJEjm0vo+aY5QLwBUq3FK4tRnJr/X0Psc0C4jf/h+HtXSMw==} engines: {node: '>= 0.10.0'} peerDependencies: @@ -5509,36 +5499,36 @@ packages: bluebird: 3.7.2 dev: true - /constants-browserify/1.0.0: + /constants-browserify@1.0.0: resolution: {integrity: sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==} dev: true - /content-disposition/0.5.4: + /content-disposition@0.5.4: resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} engines: {node: '>= 0.6'} dependencies: safe-buffer: 5.2.1 - /content-type/1.0.5: + /content-type@1.0.5: resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} engines: {node: '>= 0.6'} - /convert-source-map/1.9.0: + /convert-source-map@1.9.0: resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} - /cookie-signature/1.0.6: + /cookie-signature@1.0.6: resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==} - /cookie/0.4.2: + /cookie@0.4.2: resolution: {integrity: sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==} engines: {node: '>= 0.6'} dev: true - /cookie/0.5.0: + /cookie@0.5.0: resolution: {integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==} engines: {node: '>= 0.6'} - /copy-concurrently/1.0.5: + /copy-concurrently@1.0.5: resolution: {integrity: sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==} dependencies: aproba: 1.2.0 @@ -5549,12 +5539,12 @@ packages: run-queue: 1.0.3 dev: true - /copy-descriptor/0.1.1: + /copy-descriptor@0.1.1: resolution: {integrity: sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==} engines: {node: '>=0.10.0'} dev: true - /copy-webpack-plugin/5.1.2_webpack@4.46.0: + /copy-webpack-plugin@5.1.2(webpack@4.46.0): resolution: {integrity: sha512-Uh7crJAco3AjBvgAy9Z75CjK8IG+gxaErro71THQ+vv/bl4HaQcpkexAY8KVW/T6D2W2IRr+couF/knIRkZMIQ==} engines: {node: '>= 6.9.0'} peerDependencies: @@ -5575,28 +5565,28 @@ packages: webpack-log: 2.0.0 dev: true - /core-js-compat/3.29.1: + /core-js-compat@3.29.1: resolution: {integrity: sha512-QmchCua884D8wWskMX8tW5ydINzd8oSJVx38lx/pVkFGqztxt73GYre3pm/hyYq8bPf+MW5In4I/uRShFDsbrA==} dependencies: browserslist: 4.21.5 - /core-js-pure/3.29.1: + /core-js-pure@3.29.1: resolution: {integrity: sha512-4En6zYVi0i0XlXHVz/bi6l1XDjCqkKRq765NXuX+SnaIatlE96Odt5lMLjdxUiNI1v9OXI5DSLWYPlmTfkTktg==} requiresBuild: true dev: false - /core-js/3.29.1: + /core-js@3.29.1: resolution: {integrity: sha512-+jwgnhg6cQxKYIIjGtAHq2nwUOolo9eoFZ4sHfUH09BLXBgxnH4gA0zEd+t+BO2cNB8idaBtZFcFTRjQJRJmAw==} requiresBuild: true - /core-util-is/1.0.2: + /core-util-is@1.0.2: resolution: {integrity: sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==} dev: true - /core-util-is/1.0.3: + /core-util-is@1.0.3: resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} - /cors/2.8.5: + /cors@2.8.5: resolution: {integrity: sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==} engines: {node: '>= 0.10'} dependencies: @@ -5604,7 +5594,7 @@ packages: vary: 1.1.2 dev: true - /cosmiconfig/5.2.1: + /cosmiconfig@5.2.1: resolution: {integrity: sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==} engines: {node: '>=4'} dependencies: @@ -5614,7 +5604,7 @@ packages: parse-json: 4.0.0 dev: true - /cosmiconfig/6.0.0: + /cosmiconfig@6.0.0: resolution: {integrity: sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==} engines: {node: '>=8'} dependencies: @@ -5625,7 +5615,7 @@ packages: yaml: 1.10.2 dev: false - /cosmiconfig/7.1.0: + /cosmiconfig@7.1.0: resolution: {integrity: sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==} engines: {node: '>=10'} dependencies: @@ -5636,7 +5626,7 @@ packages: yaml: 1.10.2 dev: false - /coveralls/3.1.1: + /coveralls@3.1.1: resolution: {integrity: sha512-+dxnG2NHncSD1NrqbSM3dn/lE57O6Qf/koe9+I7c+wzkqRmEvcp0kgJdxKInzYzkICKkFMZsX3Vct3++tsF9ww==} engines: {node: '>=6'} hasBin: true @@ -5648,14 +5638,14 @@ packages: request: 2.88.2 dev: true - /create-ecdh/4.0.4: + /create-ecdh@4.0.4: resolution: {integrity: sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==} dependencies: bn.js: 4.12.0 elliptic: 6.5.4 dev: true - /create-hash/1.2.0: + /create-hash@1.2.0: resolution: {integrity: sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==} dependencies: cipher-base: 1.0.4 @@ -5665,7 +5655,7 @@ packages: sha.js: 2.4.11 dev: true - /create-hmac/1.1.7: + /create-hmac@1.1.7: resolution: {integrity: sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==} dependencies: cipher-base: 1.0.4 @@ -5676,7 +5666,7 @@ packages: sha.js: 2.4.11 dev: true - /cross-env/7.0.3: + /cross-env@7.0.3: resolution: {integrity: sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==} engines: {node: '>=10.14', npm: '>=6', yarn: '>=1'} hasBin: true @@ -5684,7 +5674,7 @@ packages: cross-spawn: 7.0.3 dev: true - /cross-spawn/6.0.5: + /cross-spawn@6.0.5: resolution: {integrity: sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==} engines: {node: '>=4.8'} dependencies: @@ -5695,7 +5685,7 @@ packages: which: 1.3.1 dev: true - /cross-spawn/7.0.3: + /cross-spawn@7.0.3: resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} engines: {node: '>= 8'} dependencies: @@ -5703,7 +5693,7 @@ packages: shebang-command: 2.0.0 which: 2.0.2 - /crypto-browserify/3.12.0: + /crypto-browserify@3.12.0: resolution: {integrity: sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==} dependencies: browserify-cipher: 1.0.1 @@ -5719,11 +5709,11 @@ packages: randomfill: 1.0.4 dev: true - /crypto-random-string/2.0.0: + /crypto-random-string@2.0.0: resolution: {integrity: sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==} engines: {node: '>=8'} - /css-blank-pseudo/3.0.3_postcss@8.4.21: + /css-blank-pseudo@3.0.3(postcss@8.4.21): resolution: {integrity: sha512-VS90XWtsHGqoM0t4KpH053c4ehxZ2E6HtGI7x68YFV0pTo/QmkV/YFA+NnlvK8guxZVNWGQhVNJGC39Q8XF4OQ==} engines: {node: ^12 || ^14 || >=16} hasBin: true @@ -5734,11 +5724,11 @@ packages: postcss-selector-parser: 6.0.11 dev: false - /css-color-names/0.0.4: + /css-color-names@0.0.4: resolution: {integrity: sha512-zj5D7X1U2h2zsXOAM8EyUREBnnts6H+Jm+d1M2DbiQQcUtnqgQsMrdo8JW9R80YFUmIdBZeMu5wvYM7hcgWP/Q==} dev: true - /css-declaration-sorter/4.0.1: + /css-declaration-sorter@4.0.1: resolution: {integrity: sha512-BcxQSKTSEEQUftYpBVnsH4SF05NTuBokb19/sBt6asXGKZ/6VP7PLG1CBCkFDYOnhXhPh0jMhO6xZ71oYHXHBA==} engines: {node: '>4'} dependencies: @@ -5746,23 +5736,15 @@ packages: timsort: 0.3.0 dev: true - /css-declaration-sorter/6.4.0: - resolution: {integrity: sha512-jDfsatwWMWN0MODAFuHszfjphEXfNw9JUAhmY4pLu3TyTU+ohUpsbVtbU+1MZn4a47D9kqh03i4eyOm+74+zew==} - engines: {node: ^10 || ^12 || >=14} - peerDependencies: - postcss: ^8.0.9 - dev: true - - /css-declaration-sorter/6.4.0_postcss@8.4.21: + /css-declaration-sorter@6.4.0(postcss@8.4.21): resolution: {integrity: sha512-jDfsatwWMWN0MODAFuHszfjphEXfNw9JUAhmY4pLu3TyTU+ohUpsbVtbU+1MZn4a47D9kqh03i4eyOm+74+zew==} engines: {node: ^10 || ^12 || >=14} peerDependencies: postcss: ^8.0.9 dependencies: postcss: 8.4.21 - dev: false - /css-has-pseudo/3.0.4_postcss@8.4.21: + /css-has-pseudo@3.0.4(postcss@8.4.21): resolution: {integrity: sha512-Vse0xpR1K9MNlp2j5w1pgWIJtm1a8qS0JwS9goFYcImjlHEmywP9VUF05aGBXzGpDJF86QXk4L0ypBmwPhGArw==} engines: {node: ^12 || ^14 || >=16} hasBin: true @@ -5773,7 +5755,7 @@ packages: postcss-selector-parser: 6.0.11 dev: false - /css-loader/2.1.1_webpack@4.46.0: + /css-loader@2.1.1(webpack@4.46.0): resolution: {integrity: sha512-OcKJU/lt232vl1P9EEDamhoO9iKY3tIjY5GU+XDLblAykTdgs6Ux9P1hTHve8nFKy5KPpOXOsVI/hIwi3841+w==} engines: {node: '>= 6.9.0'} peerDependencies: @@ -5793,24 +5775,24 @@ packages: webpack: 4.46.0 dev: true - /css-loader/6.7.3_webpack@5.76.3: + /css-loader@6.7.3(webpack@5.76.3): resolution: {integrity: sha512-qhOH1KlBMnZP8FzRO6YCH9UHXQhVMcEGLyNdb7Hv2cpcmJbW0YrddO+tG1ab5nT41KpHIYGsbeHqxB9xPu1pKQ==} engines: {node: '>= 12.13.0'} peerDependencies: webpack: ^5.0.0 dependencies: - icss-utils: 5.1.0_postcss@8.4.21 + icss-utils: 5.1.0(postcss@8.4.21) postcss: 8.4.21 - postcss-modules-extract-imports: 3.0.0_postcss@8.4.21 - postcss-modules-local-by-default: 4.0.0_postcss@8.4.21 - postcss-modules-scope: 3.0.0_postcss@8.4.21 - postcss-modules-values: 4.0.0_postcss@8.4.21 + postcss-modules-extract-imports: 3.0.0(postcss@8.4.21) + postcss-modules-local-by-default: 4.0.0(postcss@8.4.21) + postcss-modules-scope: 3.0.0(postcss@8.4.21) + postcss-modules-values: 4.0.0(postcss@8.4.21) postcss-value-parser: 4.2.0 semver: 7.3.8 - webpack: 5.76.3 + webpack: 5.76.3(@swc/core@1.3.42) dev: false - /css-minimizer-webpack-plugin/3.4.1_webpack@5.76.3: + /css-minimizer-webpack-plugin@3.4.1(webpack@5.76.3): resolution: {integrity: sha512-1u6D71zeIfgngN2XNRJefc/hY7Ybsxd74Jm4qngIXyUEk7fss3VUzuHxLAq/R8NAba4QU9OUSaMZlbpRc7bM4Q==} engines: {node: '>= 12.13.0'} peerDependencies: @@ -5829,22 +5811,22 @@ packages: esbuild: optional: true dependencies: - cssnano: 5.1.15_postcss@8.4.21 + cssnano: 5.1.15(postcss@8.4.21) jest-worker: 27.5.1 postcss: 8.4.21 schema-utils: 4.0.0 serialize-javascript: 6.0.1 source-map: 0.6.1 - webpack: 5.76.3 + webpack: 5.76.3(@swc/core@1.3.42) dev: false - /css-parse/2.0.0: + /css-parse@2.0.0: resolution: {integrity: sha512-UNIFik2RgSbiTwIW1IsFwXWn6vs+bYdq83LKTSOsx7NJR7WII9dxewkHLltfTLVppoUApHV0118a4RZRI9FLwA==} dependencies: css: 2.2.4 dev: true - /css-prefers-color-scheme/6.0.3_postcss@8.4.21: + /css-prefers-color-scheme@6.0.3(postcss@8.4.21): resolution: {integrity: sha512-4BqMbZksRkJQx2zAjrokiGMd07RqOa2IxIrrN10lyBe9xhn9DEvjUK79J6jkeiv9D9hQFXKb6g1jwU62jziJZA==} engines: {node: ^12 || ^14 || >=16} hasBin: true @@ -5854,10 +5836,10 @@ packages: postcss: 8.4.21 dev: false - /css-select-base-adapter/0.1.1: + /css-select-base-adapter@0.1.1: resolution: {integrity: sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==} - /css-select/2.1.0: + /css-select@2.1.0: resolution: {integrity: sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==} dependencies: boolbase: 1.0.0 @@ -5865,7 +5847,7 @@ packages: domutils: 1.7.0 nth-check: 1.0.2 - /css-select/4.3.0: + /css-select@4.3.0: resolution: {integrity: sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==} dependencies: boolbase: 1.0.0 @@ -5874,29 +5856,29 @@ packages: domutils: 2.8.0 nth-check: 2.1.1 - /css-tree/1.0.0-alpha.37: + /css-tree@1.0.0-alpha.37: resolution: {integrity: sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==} engines: {node: '>=8.0.0'} dependencies: mdn-data: 2.0.4 source-map: 0.6.1 - /css-tree/1.1.3: + /css-tree@1.1.3: resolution: {integrity: sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==} engines: {node: '>=8.0.0'} dependencies: mdn-data: 2.0.14 source-map: 0.6.1 - /css-what/3.4.2: + /css-what@3.4.2: resolution: {integrity: sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==} engines: {node: '>= 6'} - /css-what/6.1.0: + /css-what@6.1.0: resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==} engines: {node: '>= 6'} - /css/2.2.4: + /css@2.2.4: resolution: {integrity: sha512-oUnjmWpy0niI3x/mPL8dVEI1l7MnG3+HHyRPHf+YFSbK+svOhXpmSOcDURUh2aOCgl2grzrOPt1nHLuCVFULLw==} dependencies: inherits: 2.0.4 @@ -5905,16 +5887,16 @@ packages: urix: 0.1.0 dev: true - /cssdb/7.5.2: + /cssdb@7.5.2: resolution: {integrity: sha512-Xpu7Bf5Vlw+G7ikA2Lg/lVCRTSY8D5M5qFUgGNFyS4pa8ufGLyCBxIX/3if3krHlF1SKSfVPI/YsAWLDVEbocw==} dev: false - /cssesc/3.0.0: + /cssesc@3.0.0: resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} engines: {node: '>=4'} hasBin: true - /cssnano-preset-default/4.0.8: + /cssnano-preset-default@4.0.8: resolution: {integrity: sha512-LdAyHuq+VRyeVREFmuxUZR1TXjQm8QQU/ktoo/x7bz+SdOge1YKc5eMN6pRW7YWBmyq59CqYba1dJ5cUukEjLQ==} engines: {node: '>=6.9.0'} dependencies: @@ -5950,120 +5932,74 @@ packages: postcss-unique-selectors: 4.0.1 dev: true - /cssnano-preset-default/5.2.14: - resolution: {integrity: sha512-t0SFesj/ZV2OTylqQVOrFgEh5uanxbO6ZAdeCrNsUQ6fVuXwYTxJPNAGvGTxHbD68ldIJNec7PyYZDBrfDQ+6A==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - css-declaration-sorter: 6.4.0 - cssnano-utils: 3.1.0 - postcss-calc: 8.2.4 - postcss-colormin: 5.3.1 - postcss-convert-values: 5.1.3 - postcss-discard-comments: 5.1.2 - postcss-discard-duplicates: 5.1.0 - postcss-discard-empty: 5.1.1 - postcss-discard-overridden: 5.1.0 - postcss-merge-longhand: 5.1.7 - postcss-merge-rules: 5.1.4 - postcss-minify-font-values: 5.1.0 - postcss-minify-gradients: 5.1.1 - postcss-minify-params: 5.1.4 - postcss-minify-selectors: 5.2.1 - postcss-normalize-charset: 5.1.0 - postcss-normalize-display-values: 5.1.0 - postcss-normalize-positions: 5.1.1 - postcss-normalize-repeat-style: 5.1.1 - postcss-normalize-string: 5.1.0 - postcss-normalize-timing-functions: 5.1.0 - postcss-normalize-unicode: 5.1.1 - postcss-normalize-url: 5.1.0 - postcss-normalize-whitespace: 5.1.1 - postcss-ordered-values: 5.1.3 - postcss-reduce-initial: 5.1.2 - postcss-reduce-transforms: 5.1.0 - postcss-svgo: 5.1.0 - postcss-unique-selectors: 5.1.1 - dev: true - - /cssnano-preset-default/5.2.14_postcss@8.4.21: + /cssnano-preset-default@5.2.14(postcss@8.4.21): resolution: {integrity: sha512-t0SFesj/ZV2OTylqQVOrFgEh5uanxbO6ZAdeCrNsUQ6fVuXwYTxJPNAGvGTxHbD68ldIJNec7PyYZDBrfDQ+6A==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - css-declaration-sorter: 6.4.0_postcss@8.4.21 - cssnano-utils: 3.1.0_postcss@8.4.21 + css-declaration-sorter: 6.4.0(postcss@8.4.21) + cssnano-utils: 3.1.0(postcss@8.4.21) postcss: 8.4.21 - postcss-calc: 8.2.4_postcss@8.4.21 - postcss-colormin: 5.3.1_postcss@8.4.21 - postcss-convert-values: 5.1.3_postcss@8.4.21 - postcss-discard-comments: 5.1.2_postcss@8.4.21 - postcss-discard-duplicates: 5.1.0_postcss@8.4.21 - postcss-discard-empty: 5.1.1_postcss@8.4.21 - postcss-discard-overridden: 5.1.0_postcss@8.4.21 - postcss-merge-longhand: 5.1.7_postcss@8.4.21 - postcss-merge-rules: 5.1.4_postcss@8.4.21 - postcss-minify-font-values: 5.1.0_postcss@8.4.21 - postcss-minify-gradients: 5.1.1_postcss@8.4.21 - postcss-minify-params: 5.1.4_postcss@8.4.21 - postcss-minify-selectors: 5.2.1_postcss@8.4.21 - postcss-normalize-charset: 5.1.0_postcss@8.4.21 - postcss-normalize-display-values: 5.1.0_postcss@8.4.21 - postcss-normalize-positions: 5.1.1_postcss@8.4.21 - postcss-normalize-repeat-style: 5.1.1_postcss@8.4.21 - postcss-normalize-string: 5.1.0_postcss@8.4.21 - postcss-normalize-timing-functions: 5.1.0_postcss@8.4.21 - postcss-normalize-unicode: 5.1.1_postcss@8.4.21 - postcss-normalize-url: 5.1.0_postcss@8.4.21 - postcss-normalize-whitespace: 5.1.1_postcss@8.4.21 - postcss-ordered-values: 5.1.3_postcss@8.4.21 - postcss-reduce-initial: 5.1.2_postcss@8.4.21 - postcss-reduce-transforms: 5.1.0_postcss@8.4.21 - postcss-svgo: 5.1.0_postcss@8.4.21 - postcss-unique-selectors: 5.1.1_postcss@8.4.21 - dev: false - - /cssnano-util-get-arguments/4.0.0: + postcss-calc: 8.2.4(postcss@8.4.21) + postcss-colormin: 5.3.1(postcss@8.4.21) + postcss-convert-values: 5.1.3(postcss@8.4.21) + postcss-discard-comments: 5.1.2(postcss@8.4.21) + postcss-discard-duplicates: 5.1.0(postcss@8.4.21) + postcss-discard-empty: 5.1.1(postcss@8.4.21) + postcss-discard-overridden: 5.1.0(postcss@8.4.21) + postcss-merge-longhand: 5.1.7(postcss@8.4.21) + postcss-merge-rules: 5.1.4(postcss@8.4.21) + postcss-minify-font-values: 5.1.0(postcss@8.4.21) + postcss-minify-gradients: 5.1.1(postcss@8.4.21) + postcss-minify-params: 5.1.4(postcss@8.4.21) + postcss-minify-selectors: 5.2.1(postcss@8.4.21) + postcss-normalize-charset: 5.1.0(postcss@8.4.21) + postcss-normalize-display-values: 5.1.0(postcss@8.4.21) + postcss-normalize-positions: 5.1.1(postcss@8.4.21) + postcss-normalize-repeat-style: 5.1.1(postcss@8.4.21) + postcss-normalize-string: 5.1.0(postcss@8.4.21) + postcss-normalize-timing-functions: 5.1.0(postcss@8.4.21) + postcss-normalize-unicode: 5.1.1(postcss@8.4.21) + postcss-normalize-url: 5.1.0(postcss@8.4.21) + postcss-normalize-whitespace: 5.1.1(postcss@8.4.21) + postcss-ordered-values: 5.1.3(postcss@8.4.21) + postcss-reduce-initial: 5.1.2(postcss@8.4.21) + postcss-reduce-transforms: 5.1.0(postcss@8.4.21) + postcss-svgo: 5.1.0(postcss@8.4.21) + postcss-unique-selectors: 5.1.1(postcss@8.4.21) + + /cssnano-util-get-arguments@4.0.0: resolution: {integrity: sha512-6RIcwmV3/cBMG8Aj5gucQRsJb4vv4I4rn6YjPbVWd5+Pn/fuG+YseGvXGk00XLkoZkaj31QOD7vMUpNPC4FIuw==} engines: {node: '>=6.9.0'} dev: true - /cssnano-util-get-match/4.0.0: + /cssnano-util-get-match@4.0.0: resolution: {integrity: sha512-JPMZ1TSMRUPVIqEalIBNoBtAYbi8okvcFns4O0YIhcdGebeYZK7dMyHJiQ6GqNBA9kE0Hym4Aqym5rPdsV/4Cw==} engines: {node: '>=6.9.0'} dev: true - /cssnano-util-raw-cache/4.0.1: + /cssnano-util-raw-cache@4.0.1: resolution: {integrity: sha512-qLuYtWK2b2Dy55I8ZX3ky1Z16WYsx544Q0UWViebptpwn/xDBmog2TLg4f+DBMg1rJ6JDWtn96WHbOKDWt1WQA==} engines: {node: '>=6.9.0'} dependencies: postcss: 7.0.39 dev: true - /cssnano-util-same-parent/4.0.1: + /cssnano-util-same-parent@4.0.1: resolution: {integrity: sha512-WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q==} engines: {node: '>=6.9.0'} dev: true - /cssnano-utils/3.1.0: - resolution: {integrity: sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dev: true - - /cssnano-utils/3.1.0_postcss@8.4.21: + /cssnano-utils@3.1.0(postcss@8.4.21): resolution: {integrity: sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: postcss: 8.4.21 - dev: false - /cssnano/4.1.11: + /cssnano@4.1.11: resolution: {integrity: sha512-6gZm2htn7xIPJOHY824ERgj8cNPgPxyCSnkXc4v7YvNW+TdVfzgngHcEhy/8D11kUWRUMbke+tC+AUcUsnMz2g==} engines: {node: '>=6.9.0'} dependencies: @@ -6073,73 +6009,61 @@ packages: postcss: 7.0.39 dev: true - /cssnano/5.1.15: - resolution: {integrity: sha512-j+BKgDcLDQA+eDifLx0EO4XSA56b7uut3BQFH+wbSaSTuGLuiyTa/wbRYthUXX8LC9mLg+WWKe8h+qJuwTAbHw==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - cssnano-preset-default: 5.2.14 - lilconfig: 2.1.0 - yaml: 1.10.2 - dev: true - - /cssnano/5.1.15_postcss@8.4.21: + /cssnano@5.1.15(postcss@8.4.21): resolution: {integrity: sha512-j+BKgDcLDQA+eDifLx0EO4XSA56b7uut3BQFH+wbSaSTuGLuiyTa/wbRYthUXX8LC9mLg+WWKe8h+qJuwTAbHw==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - cssnano-preset-default: 5.2.14_postcss@8.4.21 + cssnano-preset-default: 5.2.14(postcss@8.4.21) lilconfig: 2.1.0 postcss: 8.4.21 yaml: 1.10.2 - dev: false - /csso/4.2.0: + /csso@4.2.0: resolution: {integrity: sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==} engines: {node: '>=8.0.0'} dependencies: css-tree: 1.1.3 - /cssom/0.3.8: + /cssom@0.3.8: resolution: {integrity: sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==} dev: false - /cssom/0.4.4: + /cssom@0.4.4: resolution: {integrity: sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==} dev: false - /cssstyle/2.3.0: + /cssstyle@2.3.0: resolution: {integrity: sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==} engines: {node: '>=8'} dependencies: cssom: 0.3.8 dev: false - /csstype/3.1.1: + /csstype@3.1.1: resolution: {integrity: sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==} - /custom-event/1.0.1: + /custom-event@1.0.1: resolution: {integrity: sha512-GAj5FOq0Hd+RsCGVJxZuKaIDXDf3h6GQoNEjFgbLLI/trgtavwUbSnZ5pVfg27DVCaWjIohryS0JFwIJyT2cMg==} dev: true - /cyclist/1.0.1: + /cyclist@1.0.1: resolution: {integrity: sha512-NJGVKPS81XejHcLhaLJS7plab0fK3slPh11mESeeDq2W4ZI5kUKK/LRRdVDvjJseojbPB7ZwjnyOybg3Igea/A==} dev: true - /damerau-levenshtein/1.0.8: + /damerau-levenshtein@1.0.8: resolution: {integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==} dev: false - /dashdash/1.14.1: + /dashdash@1.14.1: resolution: {integrity: sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==} engines: {node: '>=0.10'} dependencies: assert-plus: 1.0.0 dev: true - /data-urls/2.0.0: + /data-urls@2.0.0: resolution: {integrity: sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==} engines: {node: '>=10'} dependencies: @@ -6148,35 +6072,25 @@ packages: whatwg-url: 8.7.0 dev: false - /date-fns/2.29.3: + /date-fns@2.29.3: resolution: {integrity: sha512-dDCnyH2WnnKusqvZZ6+jA1O51Ibt8ZMRNkDZdyAyK4YfbDwa/cEmuztzG5pk6hqlp9aSBPYcjOlktquahGwGeA==} engines: {node: '>=0.11'} dev: true - /date-format/4.0.14: + /date-format@4.0.14: resolution: {integrity: sha512-39BOQLs9ZjKh0/patS9nrT8wc3ioX3/eA/zgbKNopnF2wCqJEoxywwwElATYvRsXdnOxA/OQeQoFZ3rFjVajhg==} engines: {node: '>=4.0'} dev: true - /de-indent/1.0.2: + /de-indent@1.0.2: resolution: {integrity: sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==} dev: true - /debounce/1.2.1: + /debounce@1.2.1: resolution: {integrity: sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==} dev: true - /debug/2.6.9: - resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - dependencies: - ms: 2.0.0 - - /debug/2.6.9_supports-color@6.1.0: + /debug@2.6.9(supports-color@6.1.0): resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} peerDependencies: supports-color: '*' @@ -6186,9 +6100,8 @@ packages: dependencies: ms: 2.0.0 supports-color: 6.1.0 - dev: true - /debug/3.1.0: + /debug@3.1.0: resolution: {integrity: sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==} peerDependencies: supports-color: '*' @@ -6199,17 +6112,7 @@ packages: ms: 2.0.0 dev: true - /debug/3.2.7: - resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - dependencies: - ms: 2.1.3 - - /debug/3.2.7_supports-color@6.1.0: + /debug@3.2.7(supports-color@6.1.0): resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} peerDependencies: supports-color: '*' @@ -6219,20 +6122,8 @@ packages: dependencies: ms: 2.1.3 supports-color: 6.1.0 - dev: true - - /debug/4.3.4: - resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} - engines: {node: '>=6.0'} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - dependencies: - ms: 2.1.2 - /debug/4.3.4_supports-color@6.1.0: + /debug@4.3.4(supports-color@6.1.0): resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} engines: {node: '>=6.0'} peerDependencies: @@ -6243,34 +6134,33 @@ packages: dependencies: ms: 2.1.2 supports-color: 6.1.0 - dev: true - /decamelize/1.2.0: + /decamelize@1.2.0: resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} engines: {node: '>=0.10.0'} dev: true - /decimal.js/10.4.3: + /decimal.js@10.4.3: resolution: {integrity: sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==} dev: false - /decode-uri-component/0.2.2: + /decode-uri-component@0.2.2: resolution: {integrity: sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==} engines: {node: '>=0.10'} dev: true - /decompress-response/3.3.0: + /decompress-response@3.3.0: resolution: {integrity: sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA==} engines: {node: '>=4'} dependencies: mimic-response: 1.0.1 dev: true - /dedent/0.7.0: + /dedent@0.7.0: resolution: {integrity: sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==} dev: false - /deep-equal/1.1.1: + /deep-equal@1.1.1: resolution: {integrity: sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==} dependencies: is-arguments: 1.1.1 @@ -6281,7 +6171,7 @@ packages: regexp.prototype.flags: 1.4.3 dev: true - /deep-equal/2.2.0: + /deep-equal@2.2.0: resolution: {integrity: sha512-RdpzE0Hv4lhowpIUKKMJfeH6C1pXdtT1/it80ubgWqwI3qpuxUBpC1S4hnHg+zjnuOoDkzUtUCEEkG+XG5l3Mw==} dependencies: call-bind: 1.0.2 @@ -6303,24 +6193,24 @@ packages: which-typed-array: 1.1.9 dev: false - /deep-extend/0.6.0: + /deep-extend@0.6.0: resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} engines: {node: '>=4.0.0'} dev: true - /deep-is/0.1.4: + /deep-is@0.1.4: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} - /deepmerge/1.5.2: + /deepmerge@1.5.2: resolution: {integrity: sha512-95k0GDqvBjZavkuvzx/YqVLv/6YYa17fz6ILMSf7neqQITCPbnfEnQvEgMPNjH4kgobe7+WIL0yJEHku+H3qtQ==} engines: {node: '>=0.10.0'} dev: true - /deepmerge/4.3.1: + /deepmerge@4.3.1: resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} engines: {node: '>=0.10.0'} - /default-gateway/4.2.0: + /default-gateway@4.2.0: resolution: {integrity: sha512-h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA==} engines: {node: '>=6'} dependencies: @@ -6328,44 +6218,44 @@ packages: ip-regex: 2.1.0 dev: true - /default-gateway/6.0.3: + /default-gateway@6.0.3: resolution: {integrity: sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==} engines: {node: '>= 10'} dependencies: execa: 5.1.1 dev: false - /defer-to-connect/1.1.3: + /defer-to-connect@1.1.3: resolution: {integrity: sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==} dev: true - /define-lazy-prop/2.0.0: + /define-lazy-prop@2.0.0: resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==} engines: {node: '>=8'} dev: false - /define-properties/1.2.0: + /define-properties@1.2.0: resolution: {integrity: sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==} engines: {node: '>= 0.4'} dependencies: has-property-descriptors: 1.0.0 object-keys: 1.1.1 - /define-property/0.2.5: + /define-property@0.2.5: resolution: {integrity: sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==} engines: {node: '>=0.10.0'} dependencies: is-descriptor: 0.1.6 dev: true - /define-property/1.0.0: + /define-property@1.0.0: resolution: {integrity: sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==} engines: {node: '>=0.10.0'} dependencies: is-descriptor: 1.0.2 dev: true - /define-property/2.0.2: + /define-property@2.0.2: resolution: {integrity: sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==} engines: {node: '>=0.10.0'} dependencies: @@ -6373,7 +6263,7 @@ packages: isobject: 3.0.1 dev: true - /del/4.1.1: + /del@4.1.1: resolution: {integrity: sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ==} engines: {node: '>=6'} dependencies: @@ -6386,62 +6276,62 @@ packages: rimraf: 2.7.1 dev: true - /delayed-stream/1.0.0: + /delayed-stream@1.0.0: resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} engines: {node: '>=0.4.0'} - /depd/1.1.2: + /depd@1.1.2: resolution: {integrity: sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==} engines: {node: '>= 0.6'} - /depd/2.0.0: + /depd@2.0.0: resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} engines: {node: '>= 0.8'} - /des.js/1.0.1: + /des.js@1.0.1: resolution: {integrity: sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==} dependencies: inherits: 2.0.4 minimalistic-assert: 1.0.1 dev: true - /destroy/1.2.0: + /destroy@1.2.0: resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} - /detect-newline/3.1.0: + /detect-newline@3.1.0: resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==} engines: {node: '>=8'} dev: false - /detect-node/2.1.0: + /detect-node@2.1.0: resolution: {integrity: sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==} - /detect-port-alt/1.1.6: + /detect-port-alt@1.1.6: resolution: {integrity: sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==} engines: {node: '>= 4.2.1'} hasBin: true dependencies: address: 1.2.2 - debug: 2.6.9 + debug: 2.6.9(supports-color@6.1.0) transitivePeerDependencies: - supports-color dev: false - /di/0.0.1: + /di@0.0.1: resolution: {integrity: sha512-uJaamHkagcZtHPqCIHZxnFrXlunQXgBOsZSUOWwFw31QJCAbyTBoHMW75YOTur5ZNx8pIeAKgf6GWIgaqqiLhA==} dev: true - /didyoumean/1.2.2: + /didyoumean@1.2.2: resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==} dev: false - /diff-sequences/27.5.1: + /diff-sequences@27.5.1: resolution: {integrity: sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dev: false - /diffie-hellman/5.0.3: + /diffie-hellman@5.0.3: resolution: {integrity: sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==} dependencies: bn.js: 4.12.0 @@ -6449,47 +6339,47 @@ packages: randombytes: 2.1.0 dev: true - /dir-glob/2.2.2: + /dir-glob@2.2.2: resolution: {integrity: sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw==} engines: {node: '>=4'} dependencies: path-type: 3.0.0 dev: true - /dir-glob/3.0.1: + /dir-glob@3.0.1: resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} engines: {node: '>=8'} dependencies: path-type: 4.0.0 - /dlv/1.1.3: + /dlv@1.1.3: resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} dev: false - /dns-equal/1.0.0: + /dns-equal@1.0.0: resolution: {integrity: sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==} - /dns-packet/1.3.4: + /dns-packet@1.3.4: resolution: {integrity: sha512-BQ6F4vycLXBvdrJZ6S3gZewt6rcrks9KBgM9vrhW+knGRqc8uEdT7fuCwloc7nny5xNoMJ17HGH0R/6fpo8ECA==} dependencies: ip: 1.1.8 safe-buffer: 5.2.1 dev: true - /dns-packet/5.5.0: + /dns-packet@5.5.0: resolution: {integrity: sha512-USawdAUzRkV6xrqTjiAEp6M9YagZEzWcSUaZTcIFAiyQWW1SoI6KyId8y2+/71wbgHKQAKd+iupLv4YvEwYWvA==} engines: {node: '>=6'} dependencies: '@leichtgewicht/ip-codec': 2.0.4 dev: false - /dns-txt/2.0.2: + /dns-txt@2.0.2: resolution: {integrity: sha512-Ix5PrWjphuSoUXV/Zv5gaFHjnaJtb02F2+Si3Ht9dyJ87+Z/lMmy+dpNHtTGraNK958ndXq2i+GLkWsWHcKaBQ==} dependencies: buffer-indexof: 1.1.1 dev: true - /docsearch.js/2.6.3: + /docsearch.js@2.6.3: resolution: {integrity: sha512-GN+MBozuyz664ycpZY0ecdQE0ND/LSgJKhTLA0/v3arIS3S1Rpf2OJz6A35ReMsm91V5apcmzr5/kM84cvUg+A==} deprecated: This package has been deprecated and is no longer maintained. Please use @docsearch/js. dependencies: @@ -6504,25 +6394,25 @@ packages: - supports-color dev: true - /doctrine/2.1.0: + /doctrine@2.1.0: resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} engines: {node: '>=0.10.0'} dependencies: esutils: 2.0.3 dev: false - /doctrine/3.0.0: + /doctrine@3.0.0: resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} engines: {node: '>=6.0.0'} dependencies: esutils: 2.0.3 - /dom-converter/0.2.0: + /dom-converter@0.2.0: resolution: {integrity: sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==} dependencies: utila: 0.4.0 - /dom-serialize/2.2.1: + /dom-serialize@2.2.1: resolution: {integrity: sha512-Yra4DbvoW7/Z6LBN560ZwXMjoNOSAN2wRsKFGc4iBeso+mpIA6qj1vfdf9HpMaKAqG6wXTy+1SYEzmNpKXOSsQ==} dependencies: custom-event: 1.0.1 @@ -6531,20 +6421,20 @@ packages: void-elements: 2.0.1 dev: true - /dom-serializer/0.2.2: + /dom-serializer@0.2.2: resolution: {integrity: sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==} dependencies: domelementtype: 2.3.0 entities: 2.2.0 - /dom-serializer/1.4.1: + /dom-serializer@1.4.1: resolution: {integrity: sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==} dependencies: domelementtype: 2.3.0 domhandler: 4.3.1 entities: 2.2.0 - /dom-serializer/2.0.0: + /dom-serializer@2.0.0: resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==} dependencies: domelementtype: 2.3.0 @@ -6552,55 +6442,55 @@ packages: entities: 4.4.0 dev: true - /dom-walk/0.1.2: + /dom-walk@0.1.2: resolution: {integrity: sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==} dev: true - /domain-browser/1.2.0: + /domain-browser@1.2.0: resolution: {integrity: sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==} engines: {node: '>=0.4', npm: '>=1.2'} dev: true - /domelementtype/1.3.1: + /domelementtype@1.3.1: resolution: {integrity: sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==} - /domelementtype/2.3.0: + /domelementtype@2.3.0: resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} - /domexception/2.0.1: + /domexception@2.0.1: resolution: {integrity: sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==} engines: {node: '>=8'} dependencies: webidl-conversions: 5.0.0 dev: false - /domhandler/4.3.1: + /domhandler@4.3.1: resolution: {integrity: sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==} engines: {node: '>= 4'} dependencies: domelementtype: 2.3.0 - /domhandler/5.0.3: + /domhandler@5.0.3: resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==} engines: {node: '>= 4'} dependencies: domelementtype: 2.3.0 dev: true - /domutils/1.7.0: + /domutils@1.7.0: resolution: {integrity: sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==} dependencies: dom-serializer: 0.2.2 domelementtype: 1.3.1 - /domutils/2.8.0: + /domutils@2.8.0: resolution: {integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==} dependencies: dom-serializer: 1.4.1 domelementtype: 2.3.0 domhandler: 4.3.1 - /domutils/3.0.1: + /domutils@3.0.1: resolution: {integrity: sha512-z08c1l761iKhDFtfXO04C7kTdPBLi41zwOZl00WS8b5eiaebNpY00HKbztwBq+e3vyqWNwWF3mP9YLUeqIrF+Q==} dependencies: dom-serializer: 2.0.0 @@ -6608,38 +6498,38 @@ packages: domhandler: 5.0.3 dev: true - /dot-case/3.0.4: + /dot-case@3.0.4: resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==} dependencies: no-case: 3.0.4 tslib: 2.5.0 dev: false - /dot-prop/5.3.0: + /dot-prop@5.3.0: resolution: {integrity: sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==} engines: {node: '>=8'} dependencies: is-obj: 2.0.0 dev: true - /dotenv-expand/5.1.0: + /dotenv-expand@5.1.0: resolution: {integrity: sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==} dev: false - /dotenv/10.0.0: + /dotenv@10.0.0: resolution: {integrity: sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==} engines: {node: '>=10'} dev: false - /duplexer/0.1.2: - resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==} - dev: false - - /duplexer3/0.1.5: + /duplexer3@0.1.5: resolution: {integrity: sha512-1A8za6ws41LQgv9HrE/66jyC5yuSjQ3L/KOpFtoBilsAK2iA2wuS5rTt1OCzIvtS2V7nVmedsUU+DGRcjBmOYA==} dev: true - /duplexify/3.7.1: + /duplexer@0.1.2: + resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==} + dev: false + + /duplexify@3.7.1: resolution: {integrity: sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==} dependencies: end-of-stream: 1.4.4 @@ -6648,21 +6538,21 @@ packages: stream-shift: 1.0.1 dev: true - /ecc-jsbn/0.1.2: + /ecc-jsbn@0.1.2: resolution: {integrity: sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==} dependencies: jsbn: 0.1.1 safer-buffer: 2.1.2 dev: true - /edge-launcher/1.2.2: + /edge-launcher@1.2.2: resolution: {integrity: sha512-JcD5WBi3BHZXXVSSeEhl6sYO8g5cuynk/hifBzds2Bp4JdzCGLNMHgMCKu5DvrO1yatMgF0goFsxXRGus0yh1g==} dev: true - /ee-first/1.1.1: + /ee-first@1.1.1: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} - /ejs/3.1.9: + /ejs@3.1.9: resolution: {integrity: sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ==} engines: {node: '>=0.10.0'} hasBin: true @@ -6670,10 +6560,10 @@ packages: jake: 10.8.5 dev: false - /electron-to-chromium/1.4.342: + /electron-to-chromium@1.4.342: resolution: {integrity: sha512-dTei3VResi5bINDENswBxhL+N0Mw5YnfWyTqO75KGsVldurEkhC9+CelJVAse8jycWyP8pv3VSj4BSyP8wTWJA==} - /elliptic/6.5.4: + /elliptic@6.5.4: resolution: {integrity: sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==} dependencies: bn.js: 4.12.0 @@ -6685,52 +6575,52 @@ packages: minimalistic-crypto-utils: 1.0.1 dev: true - /emittery/0.10.2: + /emittery@0.10.2: resolution: {integrity: sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw==} engines: {node: '>=12'} dev: false - /emittery/0.8.1: + /emittery@0.8.1: resolution: {integrity: sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==} engines: {node: '>=10'} dev: false - /emoji-regex/7.0.3: + /emoji-regex@7.0.3: resolution: {integrity: sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==} dev: true - /emoji-regex/8.0.0: + /emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} - /emoji-regex/9.2.2: + /emoji-regex@9.2.2: resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} dev: false - /emojis-list/2.1.0: + /emojis-list@2.1.0: resolution: {integrity: sha512-knHEZMgs8BB+MInokmNTg/OyPlAddghe1YBgNwJBc5zsJi/uyIcXoSDsL/W9ymOsBoBGdPIHXYJ9+qKFwRwDng==} engines: {node: '>= 0.10'} dev: true - /emojis-list/3.0.0: + /emojis-list@3.0.0: resolution: {integrity: sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==} engines: {node: '>= 4'} - /encodeurl/1.0.2: + /encodeurl@1.0.2: resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} engines: {node: '>= 0.8'} - /end-of-stream/1.4.4: + /end-of-stream@1.4.4: resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} dependencies: once: 1.4.0 dev: true - /engine.io-parser/5.0.6: + /engine.io-parser@5.0.6: resolution: {integrity: sha512-tjuoZDMAdEhVnSFleYPCtdL2GXwVTGtNjoeJd9IhIG3C1xs9uwxqRNEu5WpnDZCaozwVlK/nuQhpodhXSIMaxw==} engines: {node: '>=10.0.0'} dev: true - /engine.io/6.4.1: + /engine.io@6.4.1: resolution: {integrity: sha512-JFYQurD/nbsA5BSPmbaOSLa3tSVj8L6o4srSwXXY3NqE+gGUNmmPTbhn8tjzcCtSqhFgIeqef81ngny8JM25hw==} engines: {node: '>=10.0.0'} dependencies: @@ -6741,7 +6631,7 @@ packages: base64id: 2.0.0 cookie: 0.4.2 cors: 2.8.5 - debug: 4.3.4 + debug: 4.3.4(supports-color@6.1.0) engine.io-parser: 5.0.6 ws: 8.11.0 transitivePeerDependencies: @@ -6750,7 +6640,7 @@ packages: - utf-8-validate dev: true - /enhanced-resolve/4.5.0: + /enhanced-resolve@4.5.0: resolution: {integrity: sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==} engines: {node: '>=6.9.0'} dependencies: @@ -6759,7 +6649,7 @@ packages: tapable: 1.1.3 dev: true - /enhanced-resolve/5.12.0: + /enhanced-resolve@5.12.0: resolution: {integrity: sha512-QHTXI/sZQmko1cbDoNAa3mJ5qhWUUNAq3vR0/YiD379fWQrcfuoX1+HW2S0MTt7XmoPLapdaDKUtelUSPic7hQ==} engines: {node: '>=10.13.0'} dependencies: @@ -6767,27 +6657,27 @@ packages: tapable: 2.2.1 dev: false - /ent/2.2.0: + /ent@2.2.0: resolution: {integrity: sha512-GHrMyVZQWvTIdDtpiEXdHZnFQKzeO09apj8Cbl4pKWy4i0Oprcq17usfDt5aO63swf0JOeMWjWQE/LzgSRuWpA==} dev: true - /entities/1.1.2: + /entities@1.1.2: resolution: {integrity: sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==} dev: true - /entities/2.1.0: + /entities@2.1.0: resolution: {integrity: sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==} dev: true - /entities/2.2.0: + /entities@2.2.0: resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==} - /entities/4.4.0: + /entities@4.4.0: resolution: {integrity: sha512-oYp7156SP8LkeGD0GF85ad1X9Ai79WtRsZ2gxJqtBuzH+98YUV6jkHEKlZkMbcrjJjIVJNIDP/3WL9wQkoPbWA==} engines: {node: '>=0.12'} dev: true - /envify/4.1.0: + /envify@4.1.0: resolution: {integrity: sha512-IKRVVoAYr4pIx4yIWNsz9mOsboxlNXiu7TNBnem/K/uTHdkyzXWDzHCK7UTolqBbgaBz0tQHsD3YNls0uIIjiw==} hasBin: true dependencies: @@ -6795,31 +6685,31 @@ packages: through: 2.3.8 dev: true - /envinfo/7.8.1: + /envinfo@7.8.1: resolution: {integrity: sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==} engines: {node: '>=4'} hasBin: true dev: true - /errno/0.1.8: + /errno@0.1.8: resolution: {integrity: sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==} hasBin: true dependencies: prr: 1.0.1 dev: true - /error-ex/1.3.2: + /error-ex@1.3.2: resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} dependencies: is-arrayish: 0.2.1 - /error-stack-parser/2.1.4: + /error-stack-parser@2.1.4: resolution: {integrity: sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==} dependencies: stackframe: 1.3.4 dev: false - /es-abstract/1.21.2: + /es-abstract@1.21.2: resolution: {integrity: sha512-y/B5POM2iBnIxCiernH1G7rC9qQoM77lLIMQLuob0zhp8C56Po81+2Nj0WFKnd0pNReDTnkYryc+zhOzpEIROg==} engines: {node: '>= 0.4'} dependencies: @@ -6858,10 +6748,10 @@ packages: unbox-primitive: 1.0.2 which-typed-array: 1.1.9 - /es-array-method-boxes-properly/1.0.0: + /es-array-method-boxes-properly@1.0.0: resolution: {integrity: sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==} - /es-get-iterator/1.1.3: + /es-get-iterator@1.1.3: resolution: {integrity: sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==} dependencies: call-bind: 1.0.2 @@ -6875,11 +6765,11 @@ packages: stop-iteration-iterator: 1.0.0 dev: false - /es-module-lexer/0.9.3: + /es-module-lexer@0.9.3: resolution: {integrity: sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==} dev: false - /es-set-tostringtag/2.0.1: + /es-set-tostringtag@2.0.1: resolution: {integrity: sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==} engines: {node: '>= 0.4'} dependencies: @@ -6887,13 +6777,13 @@ packages: has: 1.0.3 has-tostringtag: 1.0.0 - /es-shim-unscopables/1.0.0: + /es-shim-unscopables@1.0.0: resolution: {integrity: sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==} dependencies: has: 1.0.3 dev: false - /es-to-primitive/1.2.1: + /es-to-primitive@1.2.1: resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} engines: {node: '>= 0.4'} dependencies: @@ -6901,11 +6791,11 @@ packages: is-date-object: 1.0.5 is-symbol: 1.0.4 - /es6-promise/4.2.8: + /es6-promise@4.2.8: resolution: {integrity: sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==} dev: true - /esbuild-android-arm64/0.14.7: + /esbuild-android-arm64@0.14.7: resolution: {integrity: sha512-9/Q1NC4JErvsXzJKti0NHt+vzKjZOgPIjX/e6kkuCzgfT/GcO3FVBcGIv4HeJG7oMznE6KyKhvLrFgt7CdU2/w==} cpu: [arm64] os: [android] @@ -6913,7 +6803,7 @@ packages: dev: true optional: true - /esbuild-darwin-64/0.14.7: + /esbuild-darwin-64@0.14.7: resolution: {integrity: sha512-Z9X+3TT/Xj+JiZTVlwHj2P+8GoiSmUnGVz0YZTSt8WTbW3UKw5Pw2ucuJ8VzbD2FPy0jbIKJkko/6CMTQchShQ==} cpu: [x64] os: [darwin] @@ -6921,7 +6811,7 @@ packages: dev: true optional: true - /esbuild-darwin-arm64/0.14.7: + /esbuild-darwin-arm64@0.14.7: resolution: {integrity: sha512-68e7COhmwIiLXBEyxUxZSSU0akgv8t3e50e2QOtKdBUE0F6KIRISzFntLe2rYlNqSsjGWsIO6CCc9tQxijjSkw==} cpu: [arm64] os: [darwin] @@ -6929,7 +6819,7 @@ packages: dev: true optional: true - /esbuild-freebsd-64/0.14.7: + /esbuild-freebsd-64@0.14.7: resolution: {integrity: sha512-76zy5jAjPiXX/S3UvRgG85Bb0wy0zv/J2lel3KtHi4V7GUTBfhNUPt0E5bpSXJ6yMT7iThhnA5rOn+IJiUcslQ==} cpu: [x64] os: [freebsd] @@ -6937,7 +6827,7 @@ packages: dev: true optional: true - /esbuild-freebsd-arm64/0.14.7: + /esbuild-freebsd-arm64@0.14.7: resolution: {integrity: sha512-lSlYNLiqyzd7qCN5CEOmLxn7MhnGHPcu5KuUYOG1i+t5A6q7LgBmfYC9ZHJBoYyow3u4CNu79AWHbvVLpE/VQQ==} cpu: [arm64] os: [freebsd] @@ -6945,7 +6835,7 @@ packages: dev: true optional: true - /esbuild-linux-32/0.14.7: + /esbuild-linux-32@0.14.7: resolution: {integrity: sha512-Vk28u409wVOXqTaT6ek0TnfQG4Ty1aWWfiysIaIRERkNLhzLhUf4i+qJBN8mMuGTYOkE40F0Wkbp6m+IidOp2A==} cpu: [ia32] os: [linux] @@ -6953,7 +6843,7 @@ packages: dev: true optional: true - /esbuild-linux-64/0.14.7: + /esbuild-linux-64@0.14.7: resolution: {integrity: sha512-+Lvz6x+8OkRk3K2RtZwO+0a92jy9si9cUea5Zoru4yJ/6EQm9ENX5seZE0X9DTwk1dxJbjmLsJsd3IoowyzgVg==} cpu: [x64] os: [linux] @@ -6961,23 +6851,23 @@ packages: dev: true optional: true - /esbuild-linux-arm/0.14.7: - resolution: {integrity: sha512-OzpXEBogbYdcBqE4uKynuSn5YSetCvK03Qv1HcOY1VN6HmReuatjJ21dCH+YPHSpMEF0afVCnNfffvsGEkxGJQ==} - cpu: [arm] + /esbuild-linux-arm64@0.14.7: + resolution: {integrity: sha512-kJd5beWSqteSAW086qzCEsH6uwpi7QRIpzYWHzEYwKKu9DiG1TwIBegQJmLpPsLp4v5RAFjea0JAmAtpGtRpqg==} + cpu: [arm64] os: [linux] requiresBuild: true dev: true optional: true - /esbuild-linux-arm64/0.14.7: - resolution: {integrity: sha512-kJd5beWSqteSAW086qzCEsH6uwpi7QRIpzYWHzEYwKKu9DiG1TwIBegQJmLpPsLp4v5RAFjea0JAmAtpGtRpqg==} - cpu: [arm64] + /esbuild-linux-arm@0.14.7: + resolution: {integrity: sha512-OzpXEBogbYdcBqE4uKynuSn5YSetCvK03Qv1HcOY1VN6HmReuatjJ21dCH+YPHSpMEF0afVCnNfffvsGEkxGJQ==} + cpu: [arm] os: [linux] requiresBuild: true dev: true optional: true - /esbuild-linux-mips64le/0.14.7: + /esbuild-linux-mips64le@0.14.7: resolution: {integrity: sha512-mFWpnDhZJmj/h7pxqn1GGDsKwRfqtV7fx6kTF5pr4PfXe8pIaTERpwcKkoCwZUkWAOmUEjMIUAvFM72A6hMZnA==} cpu: [mips64el] os: [linux] @@ -6985,7 +6875,7 @@ packages: dev: true optional: true - /esbuild-linux-ppc64le/0.14.7: + /esbuild-linux-ppc64le@0.14.7: resolution: {integrity: sha512-wM7f4M0bsQXfDL4JbbYD0wsr8cC8KaQ3RPWc/fV27KdErPW7YsqshZZSjDV0kbhzwpNNdhLItfbaRT8OE8OaKA==} cpu: [ppc64] os: [linux] @@ -6993,7 +6883,7 @@ packages: dev: true optional: true - /esbuild-netbsd-64/0.14.7: + /esbuild-netbsd-64@0.14.7: resolution: {integrity: sha512-J/afS7woKyzGgAL5FlgvMyqgt5wQ597lgsT+xc2yJ9/7BIyezeXutXqfh05vszy2k3kSvhLesugsxIA71WsqBw==} cpu: [x64] os: [netbsd] @@ -7001,7 +6891,7 @@ packages: dev: true optional: true - /esbuild-openbsd-64/0.14.7: + /esbuild-openbsd-64@0.14.7: resolution: {integrity: sha512-7CcxgdlCD+zAPyveKoznbgr3i0Wnh0L8BDGRCjE/5UGkm5P/NQko51tuIDaYof8zbmXjjl0OIt9lSo4W7I8mrw==} cpu: [x64] os: [openbsd] @@ -7009,7 +6899,7 @@ packages: dev: true optional: true - /esbuild-sunos-64/0.14.7: + /esbuild-sunos-64@0.14.7: resolution: {integrity: sha512-GKCafP2j/KUljVC3nesw1wLFSZktb2FGCmoT1+730zIF5O6hNroo0bSEofm6ZK5mNPnLiSaiLyRB9YFgtkd5Xg==} cpu: [x64] os: [sunos] @@ -7017,7 +6907,7 @@ packages: dev: true optional: true - /esbuild-windows-32/0.14.7: + /esbuild-windows-32@0.14.7: resolution: {integrity: sha512-5I1GeL/gZoUUdTPA0ws54bpYdtyeA2t6MNISalsHpY269zK8Jia/AXB3ta/KcDHv2SvNwabpImeIPXC/k0YW6A==} cpu: [ia32] os: [win32] @@ -7025,7 +6915,7 @@ packages: dev: true optional: true - /esbuild-windows-64/0.14.7: + /esbuild-windows-64@0.14.7: resolution: {integrity: sha512-CIGKCFpQOSlYsLMbxt8JjxxvVw9MlF1Rz2ABLVfFyHUF5OeqHD5fPhGrCVNaVrhO8Xrm+yFmtjcZudUGr5/WYQ==} cpu: [x64] os: [win32] @@ -7033,7 +6923,7 @@ packages: dev: true optional: true - /esbuild-windows-arm64/0.14.7: + /esbuild-windows-arm64@0.14.7: resolution: {integrity: sha512-eOs1eSivOqN7cFiRIukEruWhaCf75V0N8P0zP7dh44LIhLl8y6/z++vv9qQVbkBm5/D7M7LfCfCTmt1f1wHOCw==} cpu: [arm64] os: [win32] @@ -7041,7 +6931,7 @@ packages: dev: true optional: true - /esbuild/0.14.7: + /esbuild@0.14.7: resolution: {integrity: sha512-+u/msd6iu+HvfysUPkZ9VHm83LImmSNnecYPfFI01pQ7TTcsFR+V0BkybZX7mPtIaI7LCrse6YRj+v3eraJSgw==} hasBin: true requiresBuild: true @@ -7065,31 +6955,31 @@ packages: esbuild-windows-arm64: 0.14.7 dev: true - /escalade/3.1.1: + /escalade@3.1.1: resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} engines: {node: '>=6'} - /escape-goat/2.1.1: + /escape-goat@2.1.1: resolution: {integrity: sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q==} engines: {node: '>=8'} dev: true - /escape-html/1.0.3: + /escape-html@1.0.3: resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} - /escape-string-regexp/1.0.5: + /escape-string-regexp@1.0.5: resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} engines: {node: '>=0.8.0'} - /escape-string-regexp/2.0.0: + /escape-string-regexp@2.0.0: resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==} engines: {node: '>=8'} - /escape-string-regexp/4.0.0: + /escape-string-regexp@4.0.0: resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} engines: {node: '>=10'} - /escodegen/2.0.0: + /escodegen@2.0.0: resolution: {integrity: sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==} engines: {node: '>=6.0'} hasBin: true @@ -7102,11 +6992,11 @@ packages: source-map: 0.6.1 dev: false - /eslint-config-chartjs/0.3.0: + /eslint-config-chartjs@0.3.0: resolution: {integrity: sha512-L3AC5VSG8EBwwKkpOrxvBMjYzGF/XrGM+EjXgYO1KFUn3cMUFMKd562lSHdCSr4+ocw80vi+0fZhiFesUpqV3g==} dev: true - /eslint-config-react-app/7.0.1_5q4xpyf3bvofr5zzr7i2r3e62u: + /eslint-config-react-app@7.0.1(@babel/plugin-syntax-flow@7.18.6)(@babel/plugin-transform-react-jsx@7.21.0)(eslint@8.37.0)(jest@27.5.1)(typescript@4.9.5): resolution: {integrity: sha512-K6rNzvkIeHaTd8m/QEh1Zko0KI7BACWkkneSs6s9cKZC/J27X3eZR6Upt1jkmZ/4FK+XUOPPxMEN7+lbUXfSlA==} engines: {node: '>=14.0.0'} peerDependencies: @@ -7117,20 +7007,20 @@ packages: optional: true dependencies: '@babel/core': 7.21.3 - '@babel/eslint-parser': 7.21.3_zhdnyyhch632orqfsceizhvbw4 + '@babel/eslint-parser': 7.21.3(@babel/core@7.21.3)(eslint@8.37.0) '@rushstack/eslint-patch': 1.2.0 - '@typescript-eslint/eslint-plugin': 5.57.0_x4rubgibnu7ujqspfqdeho4yiu - '@typescript-eslint/parser': 5.57.0_ip5up2nocltd47wbnuyybe5dxu + '@typescript-eslint/eslint-plugin': 5.57.0(@typescript-eslint/parser@5.57.0)(eslint@8.37.0)(typescript@4.9.5) + '@typescript-eslint/parser': 5.57.0(eslint@8.37.0)(typescript@4.9.5) babel-preset-react-app: 10.0.1 confusing-browser-globals: 1.0.11 eslint: 8.37.0 - eslint-plugin-flowtype: 8.0.3_g43z4vmhbsfbtbpqppl4u2t4sm - eslint-plugin-import: 2.27.5_2niwd2uqke2jpnohndnwvllrkm - eslint-plugin-jest: 25.7.0_zhahl457zpqejn7j425ulx5rtm - eslint-plugin-jsx-a11y: 6.7.1_eslint@8.37.0 - eslint-plugin-react: 7.32.2_eslint@8.37.0 - eslint-plugin-react-hooks: 4.6.0_eslint@8.37.0 - eslint-plugin-testing-library: 5.10.2_ip5up2nocltd47wbnuyybe5dxu + eslint-plugin-flowtype: 8.0.3(@babel/plugin-syntax-flow@7.18.6)(@babel/plugin-transform-react-jsx@7.21.0)(eslint@8.37.0) + eslint-plugin-import: 2.27.5(@typescript-eslint/parser@5.57.0)(eslint@8.37.0) + eslint-plugin-jest: 25.7.0(@typescript-eslint/eslint-plugin@5.57.0)(eslint@8.37.0)(jest@27.5.1)(typescript@4.9.5) + eslint-plugin-jsx-a11y: 6.7.1(eslint@8.37.0) + eslint-plugin-react: 7.32.2(eslint@8.37.0) + eslint-plugin-react-hooks: 4.6.0(eslint@8.37.0) + eslint-plugin-testing-library: 5.10.2(eslint@8.37.0)(typescript@4.9.5) typescript: 4.9.5 transitivePeerDependencies: - '@babel/plugin-syntax-flow' @@ -7141,17 +7031,17 @@ packages: - supports-color dev: false - /eslint-import-resolver-node/0.3.7: + /eslint-import-resolver-node@0.3.7: resolution: {integrity: sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA==} dependencies: - debug: 3.2.7 + debug: 3.2.7(supports-color@6.1.0) is-core-module: 2.11.0 resolve: 1.22.1 transitivePeerDependencies: - supports-color dev: false - /eslint-module-utils/2.7.4_yzucv6lmyr6r4j6quu4y6fizdu: + /eslint-module-utils@2.7.4(@typescript-eslint/parser@5.57.0)(eslint-import-resolver-node@0.3.7)(eslint@8.37.0): resolution: {integrity: sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA==} engines: {node: '>=4'} peerDependencies: @@ -7172,15 +7062,15 @@ packages: eslint-import-resolver-webpack: optional: true dependencies: - '@typescript-eslint/parser': 5.57.0_ip5up2nocltd47wbnuyybe5dxu - debug: 3.2.7 + '@typescript-eslint/parser': 5.57.0(eslint@8.37.0)(typescript@4.9.5) + debug: 3.2.7(supports-color@6.1.0) eslint: 8.37.0 eslint-import-resolver-node: 0.3.7 transitivePeerDependencies: - supports-color dev: false - /eslint-plugin-es/4.1.0_eslint@8.37.0: + /eslint-plugin-es@4.1.0(eslint@8.37.0): resolution: {integrity: sha512-GILhQTnjYE2WorX5Jyi5i4dz5ALWxBIdQECVQavL6s7cI76IZTDWleTHkxz/QT3kvcs2QlGHvKLYsSlPOlPXnQ==} engines: {node: '>=8.10.0'} peerDependencies: @@ -7191,7 +7081,7 @@ packages: regexpp: 3.2.0 dev: true - /eslint-plugin-flowtype/8.0.3_g43z4vmhbsfbtbpqppl4u2t4sm: + /eslint-plugin-flowtype@8.0.3(@babel/plugin-syntax-flow@7.18.6)(@babel/plugin-transform-react-jsx@7.21.0)(eslint@8.37.0): resolution: {integrity: sha512-dX8l6qUL6O+fYPtpNRideCFSpmWOUVx5QcaGLVqe/vlDiBSe4vYljDWDETwnyFzpl7By/WVIu6rcrniCgH9BqQ==} engines: {node: '>=12.0.0'} peerDependencies: @@ -7199,20 +7089,20 @@ packages: '@babel/plugin-transform-react-jsx': ^7.14.9 eslint: ^8.1.0 dependencies: - '@babel/plugin-syntax-flow': 7.18.6_@babel+core@7.21.3 - '@babel/plugin-transform-react-jsx': 7.21.0_@babel+core@7.21.3 + '@babel/plugin-syntax-flow': 7.18.6(@babel/core@7.21.3) + '@babel/plugin-transform-react-jsx': 7.21.0(@babel/core@7.21.3) eslint: 8.37.0 lodash: 4.17.21 string-natural-compare: 3.0.1 dev: false - /eslint-plugin-html/7.1.0: + /eslint-plugin-html@7.1.0: resolution: {integrity: sha512-fNLRraV/e6j8e3XYOC9xgND4j+U7b1Rq+OygMlLcMg+wI/IpVbF+ubQa3R78EjKB9njT6TQOlcK5rFKBVVtdfg==} dependencies: htmlparser2: 8.0.2 dev: true - /eslint-plugin-import/2.27.5_2niwd2uqke2jpnohndnwvllrkm: + /eslint-plugin-import@2.27.5(@typescript-eslint/parser@5.57.0)(eslint@8.37.0): resolution: {integrity: sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow==} engines: {node: '>=4'} peerDependencies: @@ -7222,15 +7112,15 @@ packages: '@typescript-eslint/parser': optional: true dependencies: - '@typescript-eslint/parser': 5.57.0_ip5up2nocltd47wbnuyybe5dxu + '@typescript-eslint/parser': 5.57.0(eslint@8.37.0)(typescript@4.9.5) array-includes: 3.1.6 array.prototype.flat: 1.3.1 array.prototype.flatmap: 1.3.1 - debug: 3.2.7 + debug: 3.2.7(supports-color@6.1.0) doctrine: 2.1.0 eslint: 8.37.0 eslint-import-resolver-node: 0.3.7 - eslint-module-utils: 2.7.4_yzucv6lmyr6r4j6quu4y6fizdu + eslint-module-utils: 2.7.4(@typescript-eslint/parser@5.57.0)(eslint-import-resolver-node@0.3.7)(eslint@8.37.0) has: 1.0.3 is-core-module: 2.11.0 is-glob: 4.0.3 @@ -7245,7 +7135,7 @@ packages: - supports-color dev: false - /eslint-plugin-jest/25.7.0_zhahl457zpqejn7j425ulx5rtm: + /eslint-plugin-jest@25.7.0(@typescript-eslint/eslint-plugin@5.57.0)(eslint@8.37.0)(jest@27.5.1)(typescript@4.9.5): resolution: {integrity: sha512-PWLUEXeeF7C9QGKqvdSbzLOiLTx+bno7/HC9eefePfEb257QFHg7ye3dh80AZVkaa/RQsBB1Q/ORQvg2X7F0NQ==} engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} peerDependencies: @@ -7258,8 +7148,8 @@ packages: jest: optional: true dependencies: - '@typescript-eslint/eslint-plugin': 5.57.0_x4rubgibnu7ujqspfqdeho4yiu - '@typescript-eslint/experimental-utils': 5.57.0_ip5up2nocltd47wbnuyybe5dxu + '@typescript-eslint/eslint-plugin': 5.57.0(@typescript-eslint/parser@5.57.0)(eslint@8.37.0)(typescript@4.9.5) + '@typescript-eslint/experimental-utils': 5.57.0(eslint@8.37.0)(typescript@4.9.5) eslint: 8.37.0 jest: 27.5.1 transitivePeerDependencies: @@ -7267,7 +7157,7 @@ packages: - typescript dev: false - /eslint-plugin-jsx-a11y/6.7.1_eslint@8.37.0: + /eslint-plugin-jsx-a11y@6.7.1(eslint@8.37.0): resolution: {integrity: sha512-63Bog4iIethyo8smBklORknVjB0T2dwB8Mr/hIC+fBS0uyHdYYpzM/Ed+YC8VxTjlXHEWFOdmgwcDn1U2L9VCA==} engines: {node: '>=4.0'} peerDependencies: @@ -7292,7 +7182,7 @@ packages: semver: 6.3.0 dev: false - /eslint-plugin-markdown/3.0.0_eslint@8.37.0: + /eslint-plugin-markdown@3.0.0(eslint@8.37.0): resolution: {integrity: sha512-hRs5RUJGbeHDLfS7ELanT0e29Ocyssf/7kBM+p7KluY5AwngGkDf8Oyu4658/NZSGTTq05FZeWbkxXtbVyHPwg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -7304,7 +7194,7 @@ packages: - supports-color dev: true - /eslint-plugin-react-hooks/4.6.0_eslint@8.37.0: + /eslint-plugin-react-hooks@4.6.0(eslint@8.37.0): resolution: {integrity: sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==} engines: {node: '>=10'} peerDependencies: @@ -7313,7 +7203,7 @@ packages: eslint: 8.37.0 dev: false - /eslint-plugin-react/7.32.2_eslint@8.37.0: + /eslint-plugin-react@7.32.2(eslint@8.37.0): resolution: {integrity: sha512-t2fBMa+XzonrrNkyVirzKlvn5RXzzPwRHtMvLAtVZrt8oxgnTQaYbU6SXTOO1mwQgp1y5+toMSKInnzGr0Knqg==} engines: {node: '>=4'} peerDependencies: @@ -7337,20 +7227,20 @@ packages: string.prototype.matchall: 4.0.8 dev: false - /eslint-plugin-testing-library/5.10.2_ip5up2nocltd47wbnuyybe5dxu: + /eslint-plugin-testing-library@5.10.2(eslint@8.37.0)(typescript@4.9.5): resolution: {integrity: sha512-f1DmDWcz5SDM+IpCkEX0lbFqrrTs8HRsEElzDEqN/EBI0hpRj8Cns5+IVANXswE8/LeybIJqPAOQIFu2j5Y5sw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0, npm: '>=6'} peerDependencies: eslint: ^7.5.0 || ^8.0.0 dependencies: - '@typescript-eslint/utils': 5.57.0_ip5up2nocltd47wbnuyybe5dxu + '@typescript-eslint/utils': 5.57.0(eslint@8.37.0)(typescript@4.9.5) eslint: 8.37.0 transitivePeerDependencies: - supports-color - typescript dev: false - /eslint-scope/4.0.3: + /eslint-scope@4.0.3: resolution: {integrity: sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==} engines: {node: '>=4.0.0'} dependencies: @@ -7358,42 +7248,42 @@ packages: estraverse: 4.3.0 dev: true - /eslint-scope/5.1.1: + /eslint-scope@5.1.1: resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} engines: {node: '>=8.0.0'} dependencies: esrecurse: 4.3.0 estraverse: 4.3.0 - /eslint-scope/7.1.1: + /eslint-scope@7.1.1: resolution: {integrity: sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: esrecurse: 4.3.0 estraverse: 5.3.0 - /eslint-utils/2.1.0: + /eslint-utils@2.1.0: resolution: {integrity: sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==} engines: {node: '>=6'} dependencies: eslint-visitor-keys: 1.3.0 dev: true - /eslint-visitor-keys/1.3.0: + /eslint-visitor-keys@1.3.0: resolution: {integrity: sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==} engines: {node: '>=4'} dev: true - /eslint-visitor-keys/2.1.0: + /eslint-visitor-keys@2.1.0: resolution: {integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==} engines: {node: '>=10'} dev: false - /eslint-visitor-keys/3.4.0: + /eslint-visitor-keys@3.4.0: resolution: {integrity: sha512-HPpKPUBQcAsZOsHAFwTtIKcYlCje62XB7SEAcxjtmW6TD1WVpkS6i6/hOVtTZIl4zGj/mBqpFVGvaDneik+VoQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - /eslint-webpack-plugin/3.2.0_s74exvdh6rwm5em3acnt7prvia: + /eslint-webpack-plugin@3.2.0(eslint@8.37.0)(webpack@5.76.3): resolution: {integrity: sha512-avrKcGncpPbPSUHX6B3stNGzkKFto3eL+DKM4+VyMrVnhPc3vRczVlCq3uhuFOdRvDHTVXuzwk1ZKUrqDQHQ9w==} engines: {node: '>= 12.13.0'} peerDependencies: @@ -7406,15 +7296,15 @@ packages: micromatch: 4.0.5 normalize-path: 3.0.0 schema-utils: 4.0.0 - webpack: 5.76.3 + webpack: 5.76.3(@swc/core@1.3.42) dev: false - /eslint/8.37.0: + /eslint@8.37.0: resolution: {integrity: sha512-NU3Ps9nI05GUoVMxcZx1J8CNR6xOvUT4jAUMH5+z8lpp3aEdPVCImKw6PWG4PY+Vfkpr+jvMpxs/qoE7wq0sPw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} hasBin: true dependencies: - '@eslint-community/eslint-utils': 4.4.0_eslint@8.37.0 + '@eslint-community/eslint-utils': 4.4.0(eslint@8.37.0) '@eslint-community/regexpp': 4.5.0 '@eslint/eslintrc': 2.0.2 '@eslint/js': 8.37.0 @@ -7424,7 +7314,7 @@ packages: ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.3 - debug: 4.3.4 + debug: 4.3.4(supports-color@6.1.0) doctrine: 3.0.0 escape-string-regexp: 4.0.0 eslint-scope: 7.1.1 @@ -7457,89 +7347,89 @@ packages: transitivePeerDependencies: - supports-color - /esm/3.2.25: + /esm@3.2.25: resolution: {integrity: sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA==} engines: {node: '>=6'} dev: true - /espree/9.5.1: + /espree@9.5.1: resolution: {integrity: sha512-5yxtHSZXRSW5pvv3hAlXM5+/Oswi1AUFqBmbibKb5s6bp3rGIDkyXU6xCoyuuLhijr4SFwPrXRoZjz0AZDN9tg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: acorn: 8.8.2 - acorn-jsx: 5.3.2_acorn@8.8.2 + acorn-jsx: 5.3.2(acorn@8.8.2) eslint-visitor-keys: 3.4.0 - /esprima/4.0.1: + /esprima@4.0.1: resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} engines: {node: '>=4'} hasBin: true - /esquery/1.5.0: + /esquery@1.5.0: resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} engines: {node: '>=0.10'} dependencies: estraverse: 5.3.0 - /esrecurse/4.3.0: + /esrecurse@4.3.0: resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} engines: {node: '>=4.0'} dependencies: estraverse: 5.3.0 - /estraverse/4.3.0: + /estraverse@4.3.0: resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} engines: {node: '>=4.0'} - /estraverse/5.3.0: + /estraverse@5.3.0: resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} engines: {node: '>=4.0'} - /estree-walker/0.6.1: + /estree-walker@0.6.1: resolution: {integrity: sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==} dev: true - /estree-walker/1.0.1: + /estree-walker@1.0.1: resolution: {integrity: sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==} dev: false - /estree-walker/2.0.2: + /estree-walker@2.0.2: resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} dev: true - /esutils/2.0.3: + /esutils@2.0.3: resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} engines: {node: '>=0.10.0'} - /etag/1.8.1: + /etag@1.8.1: resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} engines: {node: '>= 0.6'} - /eventemitter3/4.0.7: + /eventemitter3@4.0.7: resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==} - /events/1.1.1: + /events@1.1.1: resolution: {integrity: sha512-kEcvvCBByWXGnZy6JUlgAp2gBIUjfCAV6P6TgT1/aaQKcmuAEC4OZTV1I4EWQLz2gxZw76atuVyvHhTxvi0Flw==} engines: {node: '>=0.4.x'} dev: true - /events/3.3.0: + /events@3.3.0: resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} engines: {node: '>=0.8.x'} - /eventsource/2.0.2: + /eventsource@2.0.2: resolution: {integrity: sha512-IzUmBGPR3+oUG9dUeXynyNmf91/3zUSJg1lCktzKw47OXuhco54U3r9B7O4XX+Rb1Itm9OZ2b0RkTs10bICOxA==} engines: {node: '>=12.0.0'} dev: true - /evp_bytestokey/1.0.3: + /evp_bytestokey@1.0.3: resolution: {integrity: sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==} dependencies: md5.js: 1.3.5 safe-buffer: 5.2.1 dev: true - /execa/1.0.0: + /execa@1.0.0: resolution: {integrity: sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==} engines: {node: '>=6'} dependencies: @@ -7552,7 +7442,7 @@ packages: strip-eof: 1.0.0 dev: true - /execa/5.1.1: + /execa@5.1.1: resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} engines: {node: '>=10'} dependencies: @@ -7567,42 +7457,27 @@ packages: strip-final-newline: 2.0.0 dev: false - /exit/0.1.2: + /exit@0.1.2: resolution: {integrity: sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==} engines: {node: '>= 0.8.0'} dev: false - /expand-brackets/2.1.4: - resolution: {integrity: sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==} - engines: {node: '>=0.10.0'} - dependencies: - debug: 2.6.9 - define-property: 0.2.5 - extend-shallow: 2.0.1 - posix-character-classes: 0.1.1 - regex-not: 1.0.2 - snapdragon: 0.8.2 - to-regex: 3.0.2 - transitivePeerDependencies: - - supports-color - dev: true - - /expand-brackets/2.1.4_supports-color@6.1.0: + /expand-brackets@2.1.4(supports-color@6.1.0): resolution: {integrity: sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==} engines: {node: '>=0.10.0'} dependencies: - debug: 2.6.9_supports-color@6.1.0 + debug: 2.6.9(supports-color@6.1.0) define-property: 0.2.5 extend-shallow: 2.0.1 posix-character-classes: 0.1.1 regex-not: 1.0.2 - snapdragon: 0.8.2_supports-color@6.1.0 + snapdragon: 0.8.2(supports-color@6.1.0) to-regex: 3.0.2 transitivePeerDependencies: - supports-color dev: true - /expect/27.5.1: + /expect@27.5.1: resolution: {integrity: sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: @@ -7612,23 +7487,23 @@ packages: jest-message-util: 27.5.1 dev: false - /express/4.18.2: + /express@4.18.2(supports-color@6.1.0): resolution: {integrity: sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==} engines: {node: '>= 0.10.0'} dependencies: accepts: 1.3.8 array-flatten: 1.1.1 - body-parser: 1.20.1 + body-parser: 1.20.1(supports-color@6.1.0) content-disposition: 0.5.4 content-type: 1.0.5 cookie: 0.5.0 cookie-signature: 1.0.6 - debug: 2.6.9 + debug: 2.6.9(supports-color@6.1.0) depd: 2.0.0 encodeurl: 1.0.2 escape-html: 1.0.3 etag: 1.8.1 - finalhandler: 1.2.0 + finalhandler: 1.2.0(supports-color@6.1.0) fresh: 0.5.2 http-errors: 2.0.0 merge-descriptors: 1.0.1 @@ -7640,8 +7515,8 @@ packages: qs: 6.11.0 range-parser: 1.2.1 safe-buffer: 5.2.1 - send: 0.18.0 - serve-static: 1.15.0 + send: 0.18.0(supports-color@6.1.0) + serve-static: 1.15.0(supports-color@6.1.0) setprototypeof: 1.2.0 statuses: 2.0.1 type-is: 1.6.18 @@ -7649,55 +7524,15 @@ packages: vary: 1.1.2 transitivePeerDependencies: - supports-color - dev: false - /express/4.18.2_supports-color@6.1.0: - resolution: {integrity: sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==} - engines: {node: '>= 0.10.0'} - dependencies: - accepts: 1.3.8 - array-flatten: 1.1.1 - body-parser: 1.20.1_supports-color@6.1.0 - content-disposition: 0.5.4 - content-type: 1.0.5 - cookie: 0.5.0 - cookie-signature: 1.0.6 - debug: 2.6.9_supports-color@6.1.0 - depd: 2.0.0 - encodeurl: 1.0.2 - escape-html: 1.0.3 - etag: 1.8.1 - finalhandler: 1.2.0_supports-color@6.1.0 - fresh: 0.5.2 - http-errors: 2.0.0 - merge-descriptors: 1.0.1 - methods: 1.1.2 - on-finished: 2.4.1 - parseurl: 1.3.3 - path-to-regexp: 0.1.7 - proxy-addr: 2.0.7 - qs: 6.11.0 - range-parser: 1.2.1 - safe-buffer: 5.2.1 - send: 0.18.0_supports-color@6.1.0 - serve-static: 1.15.0_supports-color@6.1.0 - setprototypeof: 1.2.0 - statuses: 2.0.1 - type-is: 1.6.18 - utils-merge: 1.0.1 - vary: 1.1.2 - transitivePeerDependencies: - - supports-color - dev: true - - /extend-shallow/2.0.1: - resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==} - engines: {node: '>=0.10.0'} + /extend-shallow@2.0.1: + resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==} + engines: {node: '>=0.10.0'} dependencies: is-extendable: 0.1.1 dev: true - /extend-shallow/3.0.2: + /extend-shallow@3.0.2: resolution: {integrity: sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==} engines: {node: '>=0.10.0'} dependencies: @@ -7705,51 +7540,35 @@ packages: is-extendable: 1.0.1 dev: true - /extend/3.0.2: + /extend@3.0.2: resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} dev: true - /extglob/2.0.4: + /extglob@2.0.4(supports-color@6.1.0): resolution: {integrity: sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==} engines: {node: '>=0.10.0'} dependencies: array-unique: 0.3.2 define-property: 1.0.0 - expand-brackets: 2.1.4 + expand-brackets: 2.1.4(supports-color@6.1.0) extend-shallow: 2.0.1 fragment-cache: 0.2.1 regex-not: 1.0.2 - snapdragon: 0.8.2 + snapdragon: 0.8.2(supports-color@6.1.0) to-regex: 3.0.2 transitivePeerDependencies: - supports-color dev: true - /extglob/2.0.4_supports-color@6.1.0: - resolution: {integrity: sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==} - engines: {node: '>=0.10.0'} - dependencies: - array-unique: 0.3.2 - define-property: 1.0.0 - expand-brackets: 2.1.4_supports-color@6.1.0 - extend-shallow: 2.0.1 - fragment-cache: 0.2.1 - regex-not: 1.0.2 - snapdragon: 0.8.2_supports-color@6.1.0 - to-regex: 3.0.2 - transitivePeerDependencies: - - supports-color - dev: true - - /extsprintf/1.3.0: + /extsprintf@1.3.0: resolution: {integrity: sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==} engines: {'0': node >=0.6.0} dev: true - /fast-deep-equal/3.1.3: + /fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} - /fast-glob/2.2.7: + /fast-glob@2.2.7: resolution: {integrity: sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw==} engines: {node: '>=4.0.0'} dependencies: @@ -7758,12 +7577,12 @@ packages: glob-parent: 3.1.0 is-glob: 4.0.3 merge2: 1.4.1 - micromatch: 3.1.10 + micromatch: 3.1.10(supports-color@6.1.0) transitivePeerDependencies: - supports-color dev: true - /fast-glob/3.2.12: + /fast-glob@3.2.12: resolution: {integrity: sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==} engines: {node: '>=8.6.0'} dependencies: @@ -7773,47 +7592,47 @@ packages: merge2: 1.4.1 micromatch: 4.0.5 - /fast-json-stable-stringify/2.1.0: + /fast-json-stable-stringify@2.1.0: resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} - /fast-levenshtein/2.0.6: + /fast-levenshtein@2.0.6: resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} - /fastq/1.15.0: + /fastq@1.15.0: resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} dependencies: reusify: 1.0.4 - /faye-websocket/0.11.4: + /faye-websocket@0.11.4: resolution: {integrity: sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==} engines: {node: '>=0.8.0'} dependencies: websocket-driver: 0.7.4 - /fb-watchman/2.0.2: + /fb-watchman@2.0.2: resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==} dependencies: bser: 2.1.1 dev: false - /figgy-pudding/3.5.2: + /figgy-pudding@3.5.2: resolution: {integrity: sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==} dev: true - /figures/3.2.0: + /figures@3.2.0: resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==} engines: {node: '>=8'} dependencies: escape-string-regexp: 1.0.5 dev: true - /file-entry-cache/6.0.1: + /file-entry-cache@6.0.1: resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} engines: {node: ^10.12.0 || >=12.0.0} dependencies: flat-cache: 3.0.4 - /file-loader/3.0.1_webpack@4.46.0: + /file-loader@3.0.1(webpack@4.46.0): resolution: {integrity: sha512-4sNIOXgtH/9WZq4NvlfU3Opn5ynUsqBwSLyM+I7UOwdGigTBYfVVQEwe/msZNX/j4pCJTIM14Fsw66Svo1oVrw==} engines: {node: '>= 6.9.0'} peerDependencies: @@ -7824,7 +7643,7 @@ packages: webpack: 4.46.0 dev: true - /file-loader/6.2.0_webpack@5.76.3: + /file-loader@6.2.0(webpack@5.76.3): resolution: {integrity: sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==} engines: {node: '>= 10.13.0'} peerDependencies: @@ -7832,26 +7651,27 @@ packages: dependencies: loader-utils: 2.0.4 schema-utils: 3.1.1 - webpack: 5.76.3 + webpack: 5.76.3(@swc/core@1.3.42) dev: false - /file-uri-to-path/1.0.0: + /file-uri-to-path@1.0.0: resolution: {integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==} + requiresBuild: true dev: true optional: true - /filelist/1.0.4: + /filelist@1.0.4: resolution: {integrity: sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==} dependencies: minimatch: 5.1.6 dev: false - /filesize/8.0.7: + /filesize@8.0.7: resolution: {integrity: sha512-pjmC+bkIF8XI7fWaH8KxHcZL3DPybs1roSKP4rKDvy20tAWwIObE4+JIseG2byfGKhud5ZnM4YSGKBz7Sh0ndQ==} engines: {node: '>= 0.4.0'} dev: false - /fill-range/4.0.0: + /fill-range@4.0.0: resolution: {integrity: sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==} engines: {node: '>=0.10.0'} dependencies: @@ -7861,17 +7681,17 @@ packages: to-regex-range: 2.1.1 dev: true - /fill-range/7.0.1: + /fill-range@7.0.1: resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} engines: {node: '>=8'} dependencies: to-regex-range: 5.0.1 - /finalhandler/1.1.2: + /finalhandler@1.1.2: resolution: {integrity: sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==} engines: {node: '>= 0.8'} dependencies: - debug: 2.6.9 + debug: 2.6.9(supports-color@6.1.0) encodeurl: 1.0.2 escape-html: 1.0.3 on-finished: 2.3.0 @@ -7882,26 +7702,11 @@ packages: - supports-color dev: true - /finalhandler/1.2.0: - resolution: {integrity: sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==} - engines: {node: '>= 0.8'} - dependencies: - debug: 2.6.9 - encodeurl: 1.0.2 - escape-html: 1.0.3 - on-finished: 2.4.1 - parseurl: 1.3.3 - statuses: 2.0.1 - unpipe: 1.0.0 - transitivePeerDependencies: - - supports-color - dev: false - - /finalhandler/1.2.0_supports-color@6.1.0: + /finalhandler@1.2.0(supports-color@6.1.0): resolution: {integrity: sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==} engines: {node: '>= 0.8'} dependencies: - debug: 2.6.9_supports-color@6.1.0 + debug: 2.6.9(supports-color@6.1.0) encodeurl: 1.0.2 escape-html: 1.0.3 on-finished: 2.4.1 @@ -7910,9 +7715,8 @@ packages: unpipe: 1.0.0 transitivePeerDependencies: - supports-color - dev: true - /find-cache-dir/2.1.0: + /find-cache-dir@2.1.0: resolution: {integrity: sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==} engines: {node: '>=6'} dependencies: @@ -7921,7 +7725,7 @@ packages: pkg-dir: 3.0.0 dev: true - /find-cache-dir/3.3.2: + /find-cache-dir@3.3.2: resolution: {integrity: sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==} engines: {node: '>=8'} dependencies: @@ -7929,57 +7733,48 @@ packages: make-dir: 3.1.0 pkg-dir: 4.2.0 - /find-up/3.0.0: + /find-up@3.0.0: resolution: {integrity: sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==} engines: {node: '>=6'} dependencies: locate-path: 3.0.0 - /find-up/4.1.0: + /find-up@4.1.0: resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} engines: {node: '>=8'} dependencies: locate-path: 5.0.0 path-exists: 4.0.0 - /find-up/5.0.0: + /find-up@5.0.0: resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} engines: {node: '>=10'} dependencies: locate-path: 6.0.0 path-exists: 4.0.0 - /flat-cache/3.0.4: + /flat-cache@3.0.4: resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==} engines: {node: ^10.12.0 || >=12.0.0} dependencies: flatted: 3.2.7 rimraf: 3.0.2 - /flatted/3.2.7: + /flatted@3.2.7: resolution: {integrity: sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==} - /flexsearch/0.6.32: + /flexsearch@0.6.32: resolution: {integrity: sha512-EF1BWkhwoeLtbIlDbY/vDSLBen/E5l/f1Vg7iX5CDymQCamcx1vhlc3tIZxIDplPjgi0jhG37c67idFbjg+v+Q==} dev: true - /flush-write-stream/1.1.1: + /flush-write-stream@1.1.1: resolution: {integrity: sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==} dependencies: inherits: 2.0.4 readable-stream: 2.3.8 dev: true - /follow-redirects/1.15.2: - resolution: {integrity: sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==} - engines: {node: '>=4.0'} - peerDependencies: - debug: '*' - peerDependenciesMeta: - debug: - optional: true - - /follow-redirects/1.15.2_debug@4.3.4: + /follow-redirects@1.15.2(debug@4.3.4): resolution: {integrity: sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==} engines: {node: '>=4.0'} peerDependencies: @@ -7988,28 +7783,27 @@ packages: debug: optional: true dependencies: - debug: 4.3.4_supports-color@6.1.0 - dev: true + debug: 4.3.4(supports-color@6.1.0) - /for-each/0.3.3: + /for-each@0.3.3: resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} dependencies: is-callable: 1.2.7 - /for-in/1.0.2: + /for-in@1.0.2: resolution: {integrity: sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==} engines: {node: '>=0.10.0'} dev: true - /foreach/2.0.6: + /foreach@2.0.6: resolution: {integrity: sha512-k6GAGDyqLe9JaebCsFCoudPPWfihKu8pylYXRlqP1J7ms39iPoTtk2fviNglIeQEwdh0bQeKJ01ZPyuyQvKzwg==} dev: true - /forever-agent/0.6.1: + /forever-agent@0.6.1: resolution: {integrity: sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==} dev: true - /fork-ts-checker-webpack-plugin/6.5.3_toavp455ygo5xswyuptgsxzxqi: + /fork-ts-checker-webpack-plugin@6.5.3(eslint@8.37.0)(typescript@4.9.5)(webpack@5.76.3): resolution: {integrity: sha512-SbH/l9ikmMWycd5puHJKTkZJKddF4iRLyW3DeZ08HTI7NGyLS38MXd/KGgeWumQO7YNQbW2u/NtPT2YowbPaGQ==} engines: {node: '>=10', yarn: '>=1.0.0'} peerDependencies: @@ -8038,10 +7832,10 @@ packages: semver: 7.3.8 tapable: 1.1.3 typescript: 4.9.5 - webpack: 5.76.3 + webpack: 5.76.3(@swc/core@1.3.42) dev: false - /form-data/2.3.3: + /form-data@2.3.3: resolution: {integrity: sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==} engines: {node: '>= 0.12'} dependencies: @@ -8050,7 +7844,7 @@ packages: mime-types: 2.1.35 dev: true - /form-data/3.0.1: + /form-data@3.0.1: resolution: {integrity: sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==} engines: {node: '>= 6'} dependencies: @@ -8059,33 +7853,33 @@ packages: mime-types: 2.1.35 dev: false - /forwarded/0.2.0: + /forwarded@0.2.0: resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} engines: {node: '>= 0.6'} - /fraction.js/4.2.0: + /fraction.js@4.2.0: resolution: {integrity: sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==} dev: false - /fragment-cache/0.2.1: + /fragment-cache@0.2.1: resolution: {integrity: sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==} engines: {node: '>=0.10.0'} dependencies: map-cache: 0.2.2 dev: true - /fresh/0.5.2: + /fresh@0.5.2: resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} engines: {node: '>= 0.6'} - /from2/2.3.0: + /from2@2.3.0: resolution: {integrity: sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g==} dependencies: inherits: 2.0.4 readable-stream: 2.3.8 dev: true - /fs-extra/10.1.0: + /fs-extra@10.1.0: resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} engines: {node: '>=12'} dependencies: @@ -8094,7 +7888,7 @@ packages: universalify: 2.0.0 dev: false - /fs-extra/7.0.1: + /fs-extra@7.0.1: resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==} engines: {node: '>=6 <7 || >=8'} dependencies: @@ -8103,7 +7897,7 @@ packages: universalify: 0.1.2 dev: true - /fs-extra/8.1.0: + /fs-extra@8.1.0: resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==} engines: {node: '>=6 <7 || >=8'} dependencies: @@ -8112,7 +7906,7 @@ packages: universalify: 0.1.2 dev: true - /fs-extra/9.1.0: + /fs-extra@9.1.0: resolution: {integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==} engines: {node: '>=10'} dependencies: @@ -8122,11 +7916,11 @@ packages: universalify: 2.0.0 dev: false - /fs-monkey/1.0.3: + /fs-monkey@1.0.3: resolution: {integrity: sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q==} dev: false - /fs-write-stream-atomic/1.0.10: + /fs-write-stream-atomic@1.0.10: resolution: {integrity: sha512-gehEzmPn2nAwr39eay+x3X34Ra+M2QlVUTLhkXPjWdeO8RF9kszk116avgBJM3ZyNHgHXBNx+VmPaFC36k0PzA==} dependencies: graceful-fs: 4.2.11 @@ -8135,10 +7929,10 @@ packages: readable-stream: 2.3.8 dev: true - /fs.realpath/1.0.0: + /fs.realpath@1.0.0: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} - /fsevents/1.2.13: + /fsevents@1.2.13: resolution: {integrity: sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==} engines: {node: '>= 4.0'} os: [darwin] @@ -8150,17 +7944,17 @@ packages: dev: true optional: true - /fsevents/2.3.2: + /fsevents@2.3.2: resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} os: [darwin] requiresBuild: true optional: true - /function-bind/1.1.1: + /function-bind@1.1.1: resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} - /function.prototype.name/1.1.5: + /function.prototype.name@1.1.5: resolution: {integrity: sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==} engines: {node: '>= 0.4'} dependencies: @@ -8169,101 +7963,101 @@ packages: es-abstract: 1.21.2 functions-have-names: 1.2.3 - /functions-have-names/1.2.3: + /functions-have-names@1.2.3: resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} - /gensync/1.0.0-beta.2: + /gensync@1.0.0-beta.2: resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} engines: {node: '>=6.9.0'} - /get-caller-file/2.0.5: + /get-caller-file@2.0.5: resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} engines: {node: 6.* || 8.* || >= 10.*} - /get-intrinsic/1.2.0: + /get-intrinsic@1.2.0: resolution: {integrity: sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==} dependencies: function-bind: 1.1.1 has: 1.0.3 has-symbols: 1.0.3 - /get-own-enumerable-property-symbols/3.0.2: + /get-own-enumerable-property-symbols@3.0.2: resolution: {integrity: sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==} - /get-package-type/0.1.0: + /get-package-type@0.1.0: resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==} engines: {node: '>=8.0.0'} dev: false - /get-stream/4.1.0: + /get-stream@4.1.0: resolution: {integrity: sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==} engines: {node: '>=6'} dependencies: pump: 3.0.0 dev: true - /get-stream/5.2.0: + /get-stream@5.2.0: resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} engines: {node: '>=8'} dependencies: pump: 3.0.0 dev: true - /get-stream/6.0.1: + /get-stream@6.0.1: resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} engines: {node: '>=10'} dev: false - /get-symbol-description/1.0.0: + /get-symbol-description@1.0.0: resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==} engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 get-intrinsic: 1.2.0 - /get-tsconfig/4.5.0: + /get-tsconfig@4.5.0: resolution: {integrity: sha512-MjhiaIWCJ1sAU4pIQ5i5OfOuHHxVo1oYeNsWTON7jxYkod8pHocXeh+SSbmu5OZZZK73B6cbJ2XADzXehLyovQ==} dev: true - /get-value/2.0.6: + /get-value@2.0.6: resolution: {integrity: sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==} engines: {node: '>=0.10.0'} dev: true - /getpass/0.1.7: + /getpass@0.1.7: resolution: {integrity: sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==} dependencies: assert-plus: 1.0.0 dev: true - /glob-parent/3.1.0: + /glob-parent@3.1.0: resolution: {integrity: sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==} dependencies: is-glob: 3.1.0 path-dirname: 1.0.2 dev: true - /glob-parent/5.1.2: + /glob-parent@5.1.2: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} engines: {node: '>= 6'} dependencies: is-glob: 4.0.3 - /glob-parent/6.0.2: + /glob-parent@6.0.2: resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} engines: {node: '>=10.13.0'} dependencies: is-glob: 4.0.3 - /glob-to-regexp/0.3.0: + /glob-to-regexp@0.3.0: resolution: {integrity: sha512-Iozmtbqv0noj0uDDqoL0zNq0VBEfK2YFoMAZoxJe4cwphvLR+JskfF30QhXHOR4m3KrE6NLRYw+U9MRXvifyig==} dev: true - /glob-to-regexp/0.4.1: + /glob-to-regexp@0.4.1: resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} dev: false - /glob/7.1.6: + /glob@7.1.6: resolution: {integrity: sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==} dependencies: fs.realpath: 1.0.0 @@ -8274,7 +8068,7 @@ packages: path-is-absolute: 1.0.1 dev: false - /glob/7.2.3: + /glob@7.2.3: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} dependencies: fs.realpath: 1.0.0 @@ -8284,7 +8078,7 @@ packages: once: 1.4.0 path-is-absolute: 1.0.1 - /glob/8.1.0: + /glob@8.1.0: resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==} engines: {node: '>=12'} dependencies: @@ -8295,21 +8089,21 @@ packages: once: 1.4.0 dev: true - /global-dirs/2.1.0: + /global-dirs@2.1.0: resolution: {integrity: sha512-MG6kdOUh/xBnyo9cJFeIKkLEc1AyFq42QTU4XiX51i2NEdxLxLWXIjEjmqKeSuKR7pAZjTqUVoT2b2huxVLgYQ==} engines: {node: '>=8'} dependencies: ini: 1.3.7 dev: true - /global-modules/2.0.0: + /global-modules@2.0.0: resolution: {integrity: sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==} engines: {node: '>=6'} dependencies: global-prefix: 3.0.0 dev: false - /global-prefix/3.0.0: + /global-prefix@3.0.0: resolution: {integrity: sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==} engines: {node: '>=6'} dependencies: @@ -8318,30 +8112,30 @@ packages: which: 1.3.1 dev: false - /global/4.4.0: + /global@4.4.0: resolution: {integrity: sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==} dependencies: min-document: 2.19.0 process: 0.11.10 dev: true - /globals/11.12.0: + /globals@11.12.0: resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} engines: {node: '>=4'} - /globals/13.20.0: + /globals@13.20.0: resolution: {integrity: sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==} engines: {node: '>=8'} dependencies: type-fest: 0.20.2 - /globalthis/1.0.3: + /globalthis@1.0.3: resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==} engines: {node: '>= 0.4'} dependencies: define-properties: 1.2.0 - /globby/11.1.0: + /globby@11.1.0: resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} engines: {node: '>=10'} dependencies: @@ -8352,7 +8146,7 @@ packages: merge2: 1.4.1 slash: 3.0.0 - /globby/6.1.0: + /globby@6.1.0: resolution: {integrity: sha512-KVbFv2TQtbzCoxAnfD6JcHZTYCzyliEaaeM/gH8qQdkKr5s0OP9scEgvdcngyk7AVdY6YVW/TJHd+lQ/Df3Daw==} engines: {node: '>=0.10.0'} dependencies: @@ -8363,7 +8157,7 @@ packages: pinkie-promise: 2.0.1 dev: true - /globby/7.1.1: + /globby@7.1.1: resolution: {integrity: sha512-yANWAN2DUcBtuus5Cpd+SKROzXHs2iVXFZt/Ykrfz6SAXqacLX25NZpltE+39ceMexYF4TtEadjuSTw8+3wX4g==} engines: {node: '>=4'} dependencies: @@ -8375,7 +8169,7 @@ packages: slash: 1.0.0 dev: true - /globby/9.2.0: + /globby@9.2.0: resolution: {integrity: sha512-ollPHROa5mcxDEkwg6bPt3QbEf4pDQSNtd6JPL1YvOvAo/7/0VAm9TccUeoTmarjPw4pfUthSCqcyfNB1I3ZSg==} engines: {node: '>=6'} dependencies: @@ -8391,12 +8185,12 @@ packages: - supports-color dev: true - /gopd/1.0.1: + /gopd@1.0.1: resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} dependencies: get-intrinsic: 1.2.0 - /got/9.6.0: + /got@9.6.0: resolution: {integrity: sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==} engines: {node: '>=8.6'} dependencies: @@ -8415,13 +8209,13 @@ packages: url-parse-lax: 3.0.0 dev: true - /graceful-fs/4.2.11: + /graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} - /grapheme-splitter/1.0.4: + /grapheme-splitter@1.0.4: resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==} - /gray-matter/4.0.3: + /gray-matter@4.0.3: resolution: {integrity: sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==} engines: {node: '>=6.0'} dependencies: @@ -8431,17 +8225,17 @@ packages: strip-bom-string: 1.0.0 dev: true - /gzip-size/6.0.0: + /gzip-size@6.0.0: resolution: {integrity: sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==} engines: {node: '>=10'} dependencies: duplexer: 0.1.2 dev: false - /handle-thing/2.0.1: + /handle-thing@2.0.1: resolution: {integrity: sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==} - /handlebars/4.7.7: + /handlebars@4.7.7: resolution: {integrity: sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==} engines: {node: '>=0.4.7'} hasBin: true @@ -8454,12 +8248,12 @@ packages: uglify-js: 3.17.4 dev: true - /har-schema/2.0.0: + /har-schema@2.0.0: resolution: {integrity: sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==} engines: {node: '>=4'} dev: true - /har-validator/5.1.5: + /har-validator@5.1.5: resolution: {integrity: sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==} engines: {node: '>=6'} deprecated: this library is no longer supported @@ -8468,41 +8262,41 @@ packages: har-schema: 2.0.0 dev: true - /harmony-reflect/1.6.2: + /harmony-reflect@1.6.2: resolution: {integrity: sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g==} dev: false - /has-bigints/1.0.2: + /has-bigints@1.0.2: resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} - /has-flag/3.0.0: + /has-flag@3.0.0: resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} engines: {node: '>=4'} - /has-flag/4.0.0: + /has-flag@4.0.0: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} engines: {node: '>=8'} - /has-property-descriptors/1.0.0: + /has-property-descriptors@1.0.0: resolution: {integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==} dependencies: get-intrinsic: 1.2.0 - /has-proto/1.0.1: + /has-proto@1.0.1: resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==} engines: {node: '>= 0.4'} - /has-symbols/1.0.3: + /has-symbols@1.0.3: resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} engines: {node: '>= 0.4'} - /has-tostringtag/1.0.0: + /has-tostringtag@1.0.0: resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==} engines: {node: '>= 0.4'} dependencies: has-symbols: 1.0.3 - /has-value/0.3.1: + /has-value@0.3.1: resolution: {integrity: sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==} engines: {node: '>=0.10.0'} dependencies: @@ -8511,7 +8305,7 @@ packages: isobject: 2.1.0 dev: true - /has-value/1.0.0: + /has-value@1.0.0: resolution: {integrity: sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==} engines: {node: '>=0.10.0'} dependencies: @@ -8520,12 +8314,12 @@ packages: isobject: 3.0.1 dev: true - /has-values/0.1.4: + /has-values@0.1.4: resolution: {integrity: sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==} engines: {node: '>=0.10.0'} dev: true - /has-values/1.0.0: + /has-values@1.0.0: resolution: {integrity: sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==} engines: {node: '>=0.10.0'} dependencies: @@ -8533,18 +8327,18 @@ packages: kind-of: 4.0.0 dev: true - /has-yarn/2.1.0: + /has-yarn@2.1.0: resolution: {integrity: sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==} engines: {node: '>=8'} dev: true - /has/1.0.3: + /has@1.0.3: resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} engines: {node: '>= 0.4.0'} dependencies: function-bind: 1.1.1 - /hash-base/3.1.0: + /hash-base@3.1.0: resolution: {integrity: sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==} engines: {node: '>=4'} dependencies: @@ -8553,36 +8347,36 @@ packages: safe-buffer: 5.2.1 dev: true - /hash-sum/1.0.2: + /hash-sum@1.0.2: resolution: {integrity: sha512-fUs4B4L+mlt8/XAtSOGMUO1TXmAelItBPtJG7CyHJfYTdDjwisntGO2JQz7oUsatOY9o68+57eziUVNw/mRHmA==} dev: true - /hash-sum/2.0.0: + /hash-sum@2.0.0: resolution: {integrity: sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==} dev: true - /hash.js/1.1.7: + /hash.js@1.1.7: resolution: {integrity: sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==} dependencies: inherits: 2.0.4 minimalistic-assert: 1.0.1 dev: true - /he/1.2.0: + /he@1.2.0: resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} hasBin: true - /hex-color-regex/1.1.0: + /hex-color-regex@1.1.0: resolution: {integrity: sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==} dev: true - /highlight.js/9.18.5: + /highlight.js@9.18.5: resolution: {integrity: sha512-a5bFyofd/BHCX52/8i8uJkjr9DYwXIPnM/plwI6W7ezItLGqzt7X2G2nXuYSfsIJdkwwj/g9DG1LkcGJI/dDoA==} deprecated: Support has ended for 9.x series. Upgrade to @latest requiresBuild: true dev: true - /hmac-drbg/1.0.1: + /hmac-drbg@1.0.1: resolution: {integrity: sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==} dependencies: hash.js: 1.1.7 @@ -8590,7 +8384,7 @@ packages: minimalistic-crypto-utils: 1.0.1 dev: true - /hogan.js/3.0.2: + /hogan.js@3.0.2: resolution: {integrity: sha512-RqGs4wavGYJWE07t35JQccByczmNUXQT0E12ZYV1VKYu5UiAU9lsos/yBAcf840+zrUQQxgVduCR5/B8nNtibg==} hasBin: true dependencies: @@ -8598,12 +8392,12 @@ packages: nopt: 1.0.10 dev: true - /hoopy/0.1.4: + /hoopy@0.1.4: resolution: {integrity: sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ==} engines: {node: '>= 6.0.0'} dev: false - /hpack.js/2.1.6: + /hpack.js@2.1.6: resolution: {integrity: sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==} dependencies: inherits: 2.0.4 @@ -8611,28 +8405,28 @@ packages: readable-stream: 2.3.8 wbuf: 1.7.3 - /hsl-regex/1.0.0: + /hsl-regex@1.0.0: resolution: {integrity: sha512-M5ezZw4LzXbBKMruP+BNANf0k+19hDQMgpzBIYnya//Al+fjNct9Wf3b1WedLqdEs2hKBvxq/jh+DsHJLj0F9A==} dev: true - /hsla-regex/1.0.0: + /hsla-regex@1.0.0: resolution: {integrity: sha512-7Wn5GMLuHBjZCb2bTmnDOycho0p/7UVaAeqXZGbHrBCl6Yd/xDhQJAXe6Ga9AXJH2I5zY1dEdYw2u1UptnSBJA==} dev: true - /html-encoding-sniffer/2.0.1: + /html-encoding-sniffer@2.0.1: resolution: {integrity: sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==} engines: {node: '>=10'} dependencies: whatwg-encoding: 1.0.5 dev: false - /html-entities/1.4.0: + /html-entities@1.4.0: resolution: {integrity: sha512-8nxjcBcd8wovbeKx7h3wTji4e6+rhaVuPNpMqwWgnHh+N9ToqsCs6XztWRBPQ+UtzsoMAdKZtUENoVzU/EMtZA==} - /html-escaper/2.0.2: + /html-escaper@2.0.2: resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} - /html-minifier-terser/6.1.0: + /html-minifier-terser@6.1.0: resolution: {integrity: sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==} engines: {node: '>=12'} hasBin: true @@ -8646,7 +8440,7 @@ packages: terser: 5.16.8 dev: false - /html-minifier/3.5.21: + /html-minifier@3.5.21: resolution: {integrity: sha512-LKUKwuJDhxNa3uf/LPR/KVjm/l3rBqtYeCOAekvG8F1vItxMUpueGd94i/asDDr8/1u7InxzFA5EeGjhhG5mMA==} engines: {node: '>=4'} hasBin: true @@ -8660,17 +8454,17 @@ packages: uglify-js: 3.4.10 dev: true - /html-tags/2.0.0: + /html-tags@2.0.0: resolution: {integrity: sha512-+Il6N8cCo2wB/Vd3gqy/8TZhTD3QvcVeQLCnZiGkGCH3JP28IgGAY41giccp2W4R3jfyJPAP318FQTa1yU7K7g==} engines: {node: '>=4'} dev: true - /html-tags/3.2.0: + /html-tags@3.2.0: resolution: {integrity: sha512-vy7ClnArOZwCnqZgvv+ddgHgJiAFXe3Ge9ML5/mBctVJoUoYPCdxVucOywjDARn6CVoh3dRSFdPHy2sX80L0Wg==} engines: {node: '>=8'} dev: true - /html-webpack-plugin/5.5.0_webpack@5.76.3: + /html-webpack-plugin@5.5.0(webpack@5.76.3): resolution: {integrity: sha512-sy88PC2cRTVxvETRgUHFrL4No3UxvcH8G1NepGhqaTT+GXN2kTamqasot0inS5hXeg1cMbFDt27zzo9p35lZVw==} engines: {node: '>=10.13.0'} peerDependencies: @@ -8681,10 +8475,10 @@ packages: lodash: 4.17.21 pretty-error: 4.0.0 tapable: 2.2.1 - webpack: 5.76.3 + webpack: 5.76.3(@swc/core@1.3.42) dev: false - /htmlparser2/6.1.0: + /htmlparser2@6.1.0: resolution: {integrity: sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==} dependencies: domelementtype: 2.3.0 @@ -8692,7 +8486,7 @@ packages: domutils: 2.8.0 entities: 2.2.0 - /htmlparser2/8.0.2: + /htmlparser2@8.0.2: resolution: {integrity: sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==} dependencies: domelementtype: 2.3.0 @@ -8701,14 +8495,14 @@ packages: entities: 4.4.0 dev: true - /http-cache-semantics/4.1.1: + /http-cache-semantics@4.1.1: resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==} dev: true - /http-deceiver/1.2.7: + /http-deceiver@1.2.7: resolution: {integrity: sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==} - /http-errors/1.6.3: + /http-errors@1.6.3: resolution: {integrity: sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==} engines: {node: '>= 0.6'} dependencies: @@ -8717,7 +8511,7 @@ packages: setprototypeof: 1.1.0 statuses: 1.5.0 - /http-errors/2.0.0: + /http-errors@2.0.0: resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} engines: {node: '>= 0.8'} dependencies: @@ -8727,39 +8521,39 @@ packages: statuses: 2.0.1 toidentifier: 1.0.1 - /http-parser-js/0.5.8: + /http-parser-js@0.5.8: resolution: {integrity: sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==} - /http-proxy-agent/4.0.1: + /http-proxy-agent@4.0.1: resolution: {integrity: sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==} engines: {node: '>= 6'} dependencies: '@tootallnate/once': 1.1.2 agent-base: 6.0.2 - debug: 4.3.4 + debug: 4.3.4(supports-color@6.1.0) transitivePeerDependencies: - supports-color dev: false - /http-proxy-middleware/0.19.1_tmpgdztspuwvsxzgjkhoqk7duq: + /http-proxy-middleware@0.19.1(debug@4.3.4)(supports-color@6.1.0): resolution: {integrity: sha512-yHYTgWMQO8VvwNS22eLLloAkvungsKdKTLO8AJlftYIKNfJr3GK3zK0ZCfzDDGUBttdGc8xFy1mCitvNKQtC3Q==} engines: {node: '>=4.0.0'} dependencies: - http-proxy: 1.18.1_debug@4.3.4 + http-proxy: 1.18.1(debug@4.3.4) is-glob: 4.0.3 lodash: 4.17.21 - micromatch: 3.1.10_supports-color@6.1.0 + micromatch: 3.1.10(supports-color@6.1.0) transitivePeerDependencies: - debug - supports-color dev: true - /http-proxy-middleware/1.3.1: + /http-proxy-middleware@1.3.1: resolution: {integrity: sha512-13eVVDYS4z79w7f1+NPllJtOQFx/FdUW4btIvVRMaRlUY9VGstAbo5MOhLEuUgZFRHn3x50ufn25zkj/boZnEg==} engines: {node: '>=8.0.0'} dependencies: '@types/http-proxy': 1.17.10 - http-proxy: 1.18.1 + http-proxy: 1.18.1(debug@4.3.4) is-glob: 4.0.3 is-plain-obj: 3.0.0 micromatch: 4.0.5 @@ -8767,7 +8561,7 @@ packages: - debug dev: true - /http-proxy-middleware/2.0.6_@types+express@4.17.17: + /http-proxy-middleware@2.0.6(@types/express@4.17.17): resolution: {integrity: sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==} engines: {node: '>=12.0.0'} peerDependencies: @@ -8778,7 +8572,7 @@ packages: dependencies: '@types/express': 4.17.17 '@types/http-proxy': 1.17.10 - http-proxy: 1.18.1 + http-proxy: 1.18.1(debug@4.3.4) is-glob: 4.0.3 is-plain-obj: 3.0.0 micromatch: 4.0.5 @@ -8786,28 +8580,17 @@ packages: - debug dev: false - /http-proxy/1.18.1: + /http-proxy@1.18.1(debug@4.3.4): resolution: {integrity: sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==} engines: {node: '>=8.0.0'} dependencies: eventemitter3: 4.0.7 - follow-redirects: 1.15.2 + follow-redirects: 1.15.2(debug@4.3.4) requires-port: 1.0.0 transitivePeerDependencies: - debug - /http-proxy/1.18.1_debug@4.3.4: - resolution: {integrity: sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==} - engines: {node: '>=8.0.0'} - dependencies: - eventemitter3: 4.0.7 - follow-redirects: 1.15.2_debug@4.3.4 - requires-port: 1.0.0 - transitivePeerDependencies: - - debug - dev: true - - /http-signature/1.2.0: + /http-signature@1.2.0: resolution: {integrity: sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==} engines: {node: '>=0.8', npm: '>=1.3.7'} dependencies: @@ -8816,50 +8599,50 @@ packages: sshpk: 1.17.0 dev: true - /https-browserify/1.0.0: + /https-browserify@1.0.0: resolution: {integrity: sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==} dev: true - /https-proxy-agent/5.0.1: + /https-proxy-agent@5.0.1: resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} engines: {node: '>= 6'} dependencies: agent-base: 6.0.2 - debug: 4.3.4 + debug: 4.3.4(supports-color@6.1.0) transitivePeerDependencies: - supports-color dev: false - /human-signals/2.1.0: + /human-signals@2.1.0: resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} engines: {node: '>=10.17.0'} dev: false - /iconv-lite/0.4.24: + /iconv-lite@0.4.24: resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} engines: {node: '>=0.10.0'} dependencies: safer-buffer: 2.1.2 - /iconv-lite/0.6.3: + /iconv-lite@0.6.3: resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} engines: {node: '>=0.10.0'} dependencies: safer-buffer: 2.1.2 dev: false - /icss-replace-symbols/1.1.0: + /icss-replace-symbols@1.1.0: resolution: {integrity: sha512-chIaY3Vh2mh2Q3RGXttaDIzeiPvaVXJ+C4DAh/w3c37SKZ/U6PGMmuicR2EQQp9bKG8zLMCl7I+PtIoOOPp8Gg==} dev: true - /icss-utils/4.1.1: + /icss-utils@4.1.1: resolution: {integrity: sha512-4aFq7wvWyMHKgxsH8QQtGpvbASCf+eM3wPRLI6R+MgAnTCZ6STYsRvttLvRWK0Nfif5piF394St3HeJDaljGPA==} engines: {node: '>= 6'} dependencies: postcss: 7.0.39 dev: true - /icss-utils/5.1.0_postcss@8.4.21: + /icss-utils@5.1.0(postcss@8.4.21): resolution: {integrity: sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: @@ -8868,54 +8651,54 @@ packages: postcss: 8.4.21 dev: false - /idb/7.1.1: + /idb@7.1.1: resolution: {integrity: sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==} dev: false - /identity-obj-proxy/3.0.0: + /identity-obj-proxy@3.0.0: resolution: {integrity: sha512-00n6YnVHKrinT9t0d9+5yZC6UBNJANpYEQvL2LlX6Ab9lnmxzIRcEmTPuyGScvl1+jKuCICX1Z0Ab1pPKKdikA==} engines: {node: '>=4'} dependencies: harmony-reflect: 1.6.2 dev: false - /ieee754/1.2.1: + /ieee754@1.2.1: resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} dev: true - /iferr/0.1.5: + /iferr@0.1.5: resolution: {integrity: sha512-DUNFN5j7Tln0D+TxzloUjKB+CtVu6myn0JEFak6dG18mNt9YkQ6lzGCdafwofISZ1lLF3xRHJ98VKy9ynkcFaA==} dev: true - /ignore/3.3.10: + /ignore@3.3.10: resolution: {integrity: sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==} dev: true - /ignore/4.0.6: + /ignore@4.0.6: resolution: {integrity: sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==} engines: {node: '>= 4'} dev: true - /ignore/5.2.4: + /ignore@5.2.4: resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==} engines: {node: '>= 4'} - /immediate/3.3.0: + /immediate@3.3.0: resolution: {integrity: sha512-HR7EVodfFUdQCTIeySw+WDRFJlPcLOJbXfwwZ7Oom6tjsvZ3bOkCDJHehQC3nxJrv7+f9XecwazynjU8e4Vw3Q==} dev: true - /immer/9.0.21: + /immer@9.0.21: resolution: {integrity: sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==} dev: false - /import-cwd/2.1.0: + /import-cwd@2.1.0: resolution: {integrity: sha512-Ew5AZzJQFqrOV5BTW3EIoHAnoie1LojZLXKcCQ/yTRyVZosBhK1x1ViYjHGf5pAFOq8ZyChZp6m/fSN7pJyZtg==} engines: {node: '>=4'} dependencies: import-from: 2.1.0 dev: true - /import-fresh/2.0.0: + /import-fresh@2.0.0: resolution: {integrity: sha512-eZ5H8rcgYazHbKC3PG4ClHNykCSxtAhxSSEM+2mb+7evD2CKF5V7c0dNum7AdpDh0ZdICwZY9sRSn8f+KH96sg==} engines: {node: '>=4'} dependencies: @@ -8923,26 +8706,26 @@ packages: resolve-from: 3.0.0 dev: true - /import-fresh/3.3.0: + /import-fresh@3.3.0: resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} engines: {node: '>=6'} dependencies: parent-module: 1.0.1 resolve-from: 4.0.0 - /import-from/2.1.0: + /import-from@2.1.0: resolution: {integrity: sha512-0vdnLL2wSGnhlRmzHJAg5JHjt1l2vYhzJ7tNLGbeVg0fse56tpGaH0uzH+r9Slej+BSXXEHvBKDEnVSLLE9/+w==} engines: {node: '>=4'} dependencies: resolve-from: 3.0.0 dev: true - /import-lazy/2.1.0: + /import-lazy@2.1.0: resolution: {integrity: sha512-m7ZEHgtw69qOGw+jwxXkHlrlIPdTGkyh66zXZ1ajZbxkDBNjSY/LGbmjc7h0s2ELsUDTAhFr55TrPSSqJGPG0A==} engines: {node: '>=4'} dev: true - /import-local/2.0.0: + /import-local@2.0.0: resolution: {integrity: sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==} engines: {node: '>=6'} hasBin: true @@ -8951,7 +8734,7 @@ packages: resolve-cwd: 2.0.0 dev: true - /import-local/3.1.0: + /import-local@3.1.0: resolution: {integrity: sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==} engines: {node: '>=8'} hasBin: true @@ -8960,42 +8743,42 @@ packages: resolve-cwd: 3.0.0 dev: false - /imurmurhash/0.1.4: + /imurmurhash@0.1.4: resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} engines: {node: '>=0.8.19'} - /indexes-of/1.0.1: + /indexes-of@1.0.1: resolution: {integrity: sha512-bup+4tap3Hympa+JBJUG7XuOsdNQ6fxt0MHyXMKuLBKn0OqsTfvUxkUrroEX1+B2VsSHvCjiIcZVxRtYa4nllA==} dev: true - /infer-owner/1.0.4: + /infer-owner@1.0.4: resolution: {integrity: sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==} dev: true - /inflight/1.0.6: + /inflight@1.0.6: resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} dependencies: once: 1.4.0 wrappy: 1.0.2 - /inherits/2.0.1: + /inherits@2.0.1: resolution: {integrity: sha512-8nWq2nLTAwd02jTqJExUYFSD/fKq6VH9Y/oG2accc/kdI0V98Bag8d5a4gi3XHz73rDWa2PvTtvcWYquKqSENA==} dev: true - /inherits/2.0.3: + /inherits@2.0.3: resolution: {integrity: sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==} - /inherits/2.0.4: + /inherits@2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} - /ini/1.3.7: + /ini@1.3.7: resolution: {integrity: sha512-iKpRpXP+CrP2jyrxvg1kMUpXDyRUFDWurxbnVT1vQPx+Wz9uCYsMIqYuSBLV+PAaZG/d7kRLKRFc9oDMsH+mFQ==} dev: true - /ini/1.3.8: + /ini@1.3.8: resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} - /internal-ip/4.3.0: + /internal-ip@4.3.0: resolution: {integrity: sha512-S1zBo1D6zcsyuC6PMmY5+55YMILQ9av8lotMx447Bq6SAgo/sDK6y6uUKmuYhW7eacnIhFfsPmCNYdDzsnnDCg==} engines: {node: '>=6'} dependencies: @@ -9003,7 +8786,7 @@ packages: ipaddr.js: 1.9.1 dev: true - /internal-slot/1.0.5: + /internal-slot@1.0.5: resolution: {integrity: sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==} engines: {node: '>= 0.4'} dependencies: @@ -9011,128 +8794,128 @@ packages: has: 1.0.3 side-channel: 1.0.4 - /ip-regex/2.1.0: + /ip-regex@2.1.0: resolution: {integrity: sha512-58yWmlHpp7VYfcdTwMTvwMmqx/Elfxjd9RXTDyMsbL7lLWmhMylLEqiYVLKuLzOZqVgiWXD9MfR62Vv89VRxkw==} engines: {node: '>=4'} dev: true - /ip/1.1.8: + /ip@1.1.8: resolution: {integrity: sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg==} dev: true - /ipaddr.js/1.9.1: + /ipaddr.js@1.9.1: resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} engines: {node: '>= 0.10'} - /ipaddr.js/2.0.1: + /ipaddr.js@2.0.1: resolution: {integrity: sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng==} engines: {node: '>= 10'} dev: false - /is-absolute-url/2.1.0: + /is-absolute-url@2.1.0: resolution: {integrity: sha512-vOx7VprsKyllwjSkLV79NIhpyLfr3jAp7VaTCMXOJHu4m0Ew1CZ2fcjASwmV1jI3BWuWHB013M48eyeldk9gYg==} engines: {node: '>=0.10.0'} dev: true - /is-absolute-url/3.0.3: + /is-absolute-url@3.0.3: resolution: {integrity: sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q==} engines: {node: '>=8'} dev: true - /is-accessor-descriptor/0.1.6: + /is-accessor-descriptor@0.1.6: resolution: {integrity: sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==} engines: {node: '>=0.10.0'} dependencies: kind-of: 3.2.2 dev: true - /is-accessor-descriptor/1.0.0: + /is-accessor-descriptor@1.0.0: resolution: {integrity: sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==} engines: {node: '>=0.10.0'} dependencies: kind-of: 6.0.3 dev: true - /is-alphabetical/1.0.4: + /is-alphabetical@1.0.4: resolution: {integrity: sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==} dev: true - /is-alphanumerical/1.0.4: + /is-alphanumerical@1.0.4: resolution: {integrity: sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==} dependencies: is-alphabetical: 1.0.4 is-decimal: 1.0.4 dev: true - /is-arguments/1.1.1: + /is-arguments@1.1.1: resolution: {integrity: sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==} engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 has-tostringtag: 1.0.0 - /is-array-buffer/3.0.2: + /is-array-buffer@3.0.2: resolution: {integrity: sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==} dependencies: call-bind: 1.0.2 get-intrinsic: 1.2.0 is-typed-array: 1.1.10 - /is-arrayish/0.2.1: + /is-arrayish@0.2.1: resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} - /is-arrayish/0.3.2: + /is-arrayish@0.3.2: resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==} dev: true - /is-bigint/1.0.4: + /is-bigint@1.0.4: resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} dependencies: has-bigints: 1.0.2 - /is-binary-path/1.0.1: + /is-binary-path@1.0.1: resolution: {integrity: sha512-9fRVlXc0uCxEDj1nQzaWONSpbTfx0FmJfzHF7pwlI8DkWGoHBBea4Pg5Ky0ojwwxQmnSifgbKkI06Qv0Ljgj+Q==} engines: {node: '>=0.10.0'} dependencies: binary-extensions: 1.13.1 dev: true - /is-binary-path/2.1.0: + /is-binary-path@2.1.0: resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} engines: {node: '>=8'} dependencies: binary-extensions: 2.2.0 - /is-boolean-object/1.1.2: + /is-boolean-object@1.1.2: resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 has-tostringtag: 1.0.0 - /is-buffer/1.1.6: + /is-buffer@1.1.6: resolution: {integrity: sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==} dev: true - /is-builtin-module/3.2.1: + /is-builtin-module@3.2.1: resolution: {integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==} engines: {node: '>=6'} dependencies: builtin-modules: 3.3.0 dev: true - /is-callable/1.2.7: + /is-callable@1.2.7: resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} engines: {node: '>= 0.4'} - /is-ci/2.0.0: + /is-ci@2.0.0: resolution: {integrity: sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==} hasBin: true dependencies: ci-info: 2.0.0 dev: true - /is-color-stop/1.1.0: + /is-color-stop@1.1.0: resolution: {integrity: sha512-H1U8Vz0cfXNujrJzEcvvwMDW9Ra+biSYA3ThdQvAnMLJkEHQXn6bWzLkxHtVYJ+Sdbx0b6finn3jZiaVe7MAHA==} dependencies: css-color-names: 0.0.4 @@ -9143,36 +8926,36 @@ packages: rgba-regex: 1.0.0 dev: true - /is-core-module/2.11.0: + /is-core-module@2.11.0: resolution: {integrity: sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==} dependencies: has: 1.0.3 - /is-data-descriptor/0.1.4: + /is-data-descriptor@0.1.4: resolution: {integrity: sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==} engines: {node: '>=0.10.0'} dependencies: kind-of: 3.2.2 dev: true - /is-data-descriptor/1.0.0: + /is-data-descriptor@1.0.0: resolution: {integrity: sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==} engines: {node: '>=0.10.0'} dependencies: kind-of: 6.0.3 dev: true - /is-date-object/1.0.5: + /is-date-object@1.0.5: resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} engines: {node: '>= 0.4'} dependencies: has-tostringtag: 1.0.0 - /is-decimal/1.0.4: + /is-decimal@1.0.4: resolution: {integrity: sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==} dev: true - /is-descriptor/0.1.6: + /is-descriptor@0.1.6: resolution: {integrity: sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==} engines: {node: '>=0.10.0'} dependencies: @@ -9181,7 +8964,7 @@ packages: kind-of: 5.1.0 dev: true - /is-descriptor/1.0.2: + /is-descriptor@1.0.2: resolution: {integrity: sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==} engines: {node: '>=0.10.0'} dependencies: @@ -9190,64 +8973,64 @@ packages: kind-of: 6.0.3 dev: true - /is-directory/0.3.1: + /is-directory@0.3.1: resolution: {integrity: sha512-yVChGzahRFvbkscn2MlwGismPO12i9+znNruC5gVEntG3qu0xQMzsGg/JFbrsqDOHtHFPci+V5aP5T9I+yeKqw==} engines: {node: '>=0.10.0'} dev: true - /is-docker/2.2.1: + /is-docker@2.2.1: resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} engines: {node: '>=8'} hasBin: true - /is-extendable/0.1.1: + /is-extendable@0.1.1: resolution: {integrity: sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==} engines: {node: '>=0.10.0'} dev: true - /is-extendable/1.0.1: + /is-extendable@1.0.1: resolution: {integrity: sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==} engines: {node: '>=0.10.0'} dependencies: is-plain-object: 2.0.4 dev: true - /is-extglob/2.1.1: + /is-extglob@2.1.1: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} - /is-fullwidth-code-point/2.0.0: + /is-fullwidth-code-point@2.0.0: resolution: {integrity: sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==} engines: {node: '>=4'} dev: true - /is-fullwidth-code-point/3.0.0: + /is-fullwidth-code-point@3.0.0: resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} engines: {node: '>=8'} - /is-generator-fn/2.1.0: + /is-generator-fn@2.1.0: resolution: {integrity: sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==} engines: {node: '>=6'} dev: false - /is-glob/3.1.0: + /is-glob@3.1.0: resolution: {integrity: sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==} engines: {node: '>=0.10.0'} dependencies: is-extglob: 2.1.1 dev: true - /is-glob/4.0.3: + /is-glob@4.0.3: resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} engines: {node: '>=0.10.0'} dependencies: is-extglob: 2.1.1 - /is-hexadecimal/1.0.4: + /is-hexadecimal@1.0.4: resolution: {integrity: sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==} dev: true - /is-installed-globally/0.3.2: + /is-installed-globally@0.3.2: resolution: {integrity: sha512-wZ8x1js7Ia0kecP/CHM/3ABkAmujX7WPvQk6uu3Fly/Mk44pySulQpnHG46OMjHGXApINnV4QhY3SWnECO2z5g==} engines: {node: '>=8'} dependencies: @@ -9255,154 +9038,154 @@ packages: is-path-inside: 3.0.3 dev: true - /is-map/2.0.2: + /is-map@2.0.2: resolution: {integrity: sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==} dev: false - /is-module/1.0.0: + /is-module@1.0.0: resolution: {integrity: sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==} - /is-negative-zero/2.0.2: + /is-negative-zero@2.0.2: resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==} engines: {node: '>= 0.4'} - /is-npm/4.0.0: + /is-npm@4.0.0: resolution: {integrity: sha512-96ECIfh9xtDDlPylNPXhzjsykHsMJZ18ASpaWzQyBr4YRTcVjUvzaHayDAES2oU/3KpljhHUjtSRNiDwi0F0ig==} engines: {node: '>=8'} dev: true - /is-number-object/1.0.7: + /is-number-object@1.0.7: resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} engines: {node: '>= 0.4'} dependencies: has-tostringtag: 1.0.0 - /is-number/3.0.0: + /is-number@3.0.0: resolution: {integrity: sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==} engines: {node: '>=0.10.0'} dependencies: kind-of: 3.2.2 dev: true - /is-number/7.0.0: + /is-number@7.0.0: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} - /is-obj/1.0.1: + /is-obj@1.0.1: resolution: {integrity: sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==} engines: {node: '>=0.10.0'} - /is-obj/2.0.0: + /is-obj@2.0.0: resolution: {integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==} engines: {node: '>=8'} dev: true - /is-path-cwd/2.2.0: + /is-path-cwd@2.2.0: resolution: {integrity: sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==} engines: {node: '>=6'} dev: true - /is-path-in-cwd/2.1.0: + /is-path-in-cwd@2.1.0: resolution: {integrity: sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ==} engines: {node: '>=6'} dependencies: is-path-inside: 2.1.0 dev: true - /is-path-inside/2.1.0: + /is-path-inside@2.1.0: resolution: {integrity: sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==} engines: {node: '>=6'} dependencies: path-is-inside: 1.0.2 dev: true - /is-path-inside/3.0.3: + /is-path-inside@3.0.3: resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} engines: {node: '>=8'} - /is-plain-obj/1.1.0: + /is-plain-obj@1.1.0: resolution: {integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==} engines: {node: '>=0.10.0'} dev: true - /is-plain-obj/3.0.0: + /is-plain-obj@3.0.0: resolution: {integrity: sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==} engines: {node: '>=10'} - /is-plain-object/2.0.4: + /is-plain-object@2.0.4: resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==} engines: {node: '>=0.10.0'} dependencies: isobject: 3.0.1 dev: true - /is-potential-custom-element-name/1.0.1: + /is-potential-custom-element-name@1.0.1: resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==} dev: false - /is-reference/1.2.1: + /is-reference@1.2.1: resolution: {integrity: sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==} dependencies: '@types/estree': 1.0.0 dev: true - /is-regex/1.1.4: + /is-regex@1.1.4: resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 has-tostringtag: 1.0.0 - /is-regexp/1.0.0: + /is-regexp@1.0.0: resolution: {integrity: sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==} engines: {node: '>=0.10.0'} - /is-regexp/2.1.0: + /is-regexp@2.1.0: resolution: {integrity: sha512-OZ4IlER3zmRIoB9AqNhEggVxqIH4ofDns5nRrPS6yQxXE1TPCUpFznBfRQmQa8uC+pXqjMnukiJBxCisIxiLGA==} engines: {node: '>=6'} dev: true - /is-resolvable/1.1.0: + /is-resolvable@1.1.0: resolution: {integrity: sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==} dev: true - /is-root/2.1.0: + /is-root@2.1.0: resolution: {integrity: sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg==} engines: {node: '>=6'} dev: false - /is-set/2.0.2: + /is-set@2.0.2: resolution: {integrity: sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==} dev: false - /is-shared-array-buffer/1.0.2: + /is-shared-array-buffer@1.0.2: resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==} dependencies: call-bind: 1.0.2 - /is-stream/1.1.0: + /is-stream@1.1.0: resolution: {integrity: sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==} engines: {node: '>=0.10.0'} dev: true - /is-stream/2.0.1: + /is-stream@2.0.1: resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} engines: {node: '>=8'} dev: false - /is-string/1.0.7: + /is-string@1.0.7: resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} engines: {node: '>= 0.4'} dependencies: has-tostringtag: 1.0.0 - /is-symbol/1.0.4: + /is-symbol@1.0.4: resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} engines: {node: '>= 0.4'} dependencies: has-symbols: 1.0.3 - /is-typed-array/1.1.10: + /is-typed-array@1.1.10: resolution: {integrity: sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==} engines: {node: '>= 0.4'} dependencies: @@ -9412,80 +9195,80 @@ packages: gopd: 1.0.1 has-tostringtag: 1.0.0 - /is-typedarray/1.0.0: + /is-typedarray@1.0.0: resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==} - /is-weakmap/2.0.1: + /is-weakmap@2.0.1: resolution: {integrity: sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==} dev: false - /is-weakref/1.0.2: + /is-weakref@1.0.2: resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} dependencies: call-bind: 1.0.2 - /is-weakset/2.0.2: + /is-weakset@2.0.2: resolution: {integrity: sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==} dependencies: call-bind: 1.0.2 get-intrinsic: 1.2.0 dev: false - /is-windows/1.0.2: + /is-windows@1.0.2: resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==} engines: {node: '>=0.10.0'} dev: true - /is-wsl/1.1.0: + /is-wsl@1.1.0: resolution: {integrity: sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==} engines: {node: '>=4'} dev: true - /is-wsl/2.2.0: + /is-wsl@2.2.0: resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} engines: {node: '>=8'} dependencies: is-docker: 2.2.1 - /is-yarn-global/0.3.0: + /is-yarn-global@0.3.0: resolution: {integrity: sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==} dev: true - /isarray/1.0.0: + /isarray@1.0.0: resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} - /isarray/2.0.5: + /isarray@2.0.5: resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} - /isbinaryfile/4.0.10: + /isbinaryfile@4.0.10: resolution: {integrity: sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw==} engines: {node: '>= 8.0.0'} dev: true - /isexe/2.0.0: + /isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} - /isobject/2.1.0: + /isobject@2.1.0: resolution: {integrity: sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==} engines: {node: '>=0.10.0'} dependencies: isarray: 1.0.0 dev: true - /isobject/3.0.1: + /isobject@3.0.1: resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==} engines: {node: '>=0.10.0'} dev: true - /isstream/0.1.2: + /isstream@0.1.2: resolution: {integrity: sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==} dev: true - /istanbul-lib-coverage/3.2.0: + /istanbul-lib-coverage@3.2.0: resolution: {integrity: sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==} engines: {node: '>=8'} - /istanbul-lib-instrument/5.2.1: + /istanbul-lib-instrument@5.2.1: resolution: {integrity: sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==} engines: {node: '>=8'} dependencies: @@ -9497,7 +9280,7 @@ packages: transitivePeerDependencies: - supports-color - /istanbul-lib-report/3.0.0: + /istanbul-lib-report@3.0.0: resolution: {integrity: sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==} engines: {node: '>=8'} dependencies: @@ -9505,24 +9288,24 @@ packages: make-dir: 3.1.0 supports-color: 7.2.0 - /istanbul-lib-source-maps/4.0.1: + /istanbul-lib-source-maps@4.0.1: resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==} engines: {node: '>=10'} dependencies: - debug: 4.3.4 + debug: 4.3.4(supports-color@6.1.0) istanbul-lib-coverage: 3.2.0 source-map: 0.6.1 transitivePeerDependencies: - supports-color - /istanbul-reports/3.1.5: + /istanbul-reports@3.1.5: resolution: {integrity: sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==} engines: {node: '>=8'} dependencies: html-escaper: 2.0.2 istanbul-lib-report: 3.0.0 - /jake/10.8.5: + /jake@10.8.5: resolution: {integrity: sha512-sVpxYeuAhWt0OTWITwT98oyV0GsXyMlXCF+3L1SuafBVUIr/uILGRB+NqwkzhgXKvoJpDIpQvqkUALgdmQsQxw==} engines: {node: '>=10'} hasBin: true @@ -9533,11 +9316,11 @@ packages: minimatch: 3.1.2 dev: false - /jasmine-core/3.99.1: + /jasmine-core@3.99.1: resolution: {integrity: sha512-Hu1dmuoGcZ7AfyynN3LsfruwMbxMALMka+YtZeGoLuDEySVmVAPaonkNoBRIw/ectu8b9tVQCJNgp4a4knp+tg==} dev: true - /jasmine/3.99.0: + /jasmine@3.99.0: resolution: {integrity: sha512-YIThBuHzaIIcjxeuLmPD40SjxkEcc8i//sGMDKCgkRMVgIwRJf5qyExtlJpQeh7pkeoBSOe6lQEdg+/9uKg9mw==} hasBin: true dependencies: @@ -9545,15 +9328,15 @@ packages: jasmine-core: 3.99.1 dev: true - /javascript-stringify/1.6.0: + /javascript-stringify@1.6.0: resolution: {integrity: sha512-fnjC0up+0SjEJtgmmG+teeel68kutkvzfctO/KxE3qJlbunkJYAshgH3boU++gSBHP8z5/r0ts0qRIrHf0RTQQ==} dev: true - /javascript-stringify/2.1.0: + /javascript-stringify@2.1.0: resolution: {integrity: sha512-JVAfqNPTvNq3sB/VHQJAFxN/sPgKnsKrCwyRt15zwNCdrMMJDdcEOdubuy+DuJYYdm0ox1J4uzEuYKkN+9yhVg==} dev: true - /jest-changed-files/27.5.1: + /jest-changed-files@27.5.1: resolution: {integrity: sha512-buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: @@ -9562,7 +9345,7 @@ packages: throat: 6.0.2 dev: false - /jest-circus/27.5.1: + /jest-circus@27.5.1: resolution: {integrity: sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: @@ -9589,7 +9372,7 @@ packages: - supports-color dev: false - /jest-cli/27.5.1: + /jest-cli@27.5.1: resolution: {integrity: sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} hasBin: true @@ -9619,7 +9402,7 @@ packages: - utf-8-validate dev: false - /jest-config/27.5.1: + /jest-config@27.5.1: resolution: {integrity: sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} peerDependencies: @@ -9631,7 +9414,7 @@ packages: '@babel/core': 7.21.3 '@jest/test-sequencer': 27.5.1 '@jest/types': 27.5.1 - babel-jest: 27.5.1_@babel+core@7.21.3 + babel-jest: 27.5.1(@babel/core@7.21.3) chalk: 4.1.2 ci-info: 3.8.0 deepmerge: 4.3.1 @@ -9659,7 +9442,7 @@ packages: - utf-8-validate dev: false - /jest-diff/27.5.1: + /jest-diff@27.5.1: resolution: {integrity: sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: @@ -9669,14 +9452,14 @@ packages: pretty-format: 27.5.1 dev: false - /jest-docblock/27.5.1: + /jest-docblock@27.5.1: resolution: {integrity: sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: detect-newline: 3.1.0 dev: false - /jest-each/27.5.1: + /jest-each@27.5.1: resolution: {integrity: sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: @@ -9687,7 +9470,7 @@ packages: pretty-format: 27.5.1 dev: false - /jest-environment-jsdom/27.5.1: + /jest-environment-jsdom@27.5.1: resolution: {integrity: sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: @@ -9705,7 +9488,7 @@ packages: - utf-8-validate dev: false - /jest-environment-node/27.5.1: + /jest-environment-node@27.5.1: resolution: {integrity: sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: @@ -9717,12 +9500,12 @@ packages: jest-util: 27.5.1 dev: false - /jest-get-type/27.5.1: + /jest-get-type@27.5.1: resolution: {integrity: sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dev: false - /jest-haste-map/27.5.1: + /jest-haste-map@27.5.1: resolution: {integrity: sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: @@ -9742,7 +9525,7 @@ packages: fsevents: 2.3.2 dev: false - /jest-jasmine2/27.5.1: + /jest-jasmine2@27.5.1: resolution: {integrity: sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: @@ -9767,7 +9550,7 @@ packages: - supports-color dev: false - /jest-leak-detector/27.5.1: + /jest-leak-detector@27.5.1: resolution: {integrity: sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: @@ -9775,7 +9558,7 @@ packages: pretty-format: 27.5.1 dev: false - /jest-matcher-utils/27.5.1: + /jest-matcher-utils@27.5.1: resolution: {integrity: sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: @@ -9785,7 +9568,7 @@ packages: pretty-format: 27.5.1 dev: false - /jest-message-util/27.5.1: + /jest-message-util@27.5.1: resolution: {integrity: sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: @@ -9800,7 +9583,7 @@ packages: stack-utils: 2.0.6 dev: false - /jest-message-util/28.1.3: + /jest-message-util@28.1.3: resolution: {integrity: sha512-PFdn9Iewbt575zKPf1286Ht9EPoJmYT7P0kY+RibeYZ2XtOr53pDLEFoTWXbd1h4JiGiWpTBC84fc8xMXQMb7g==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} dependencies: @@ -9815,7 +9598,7 @@ packages: stack-utils: 2.0.6 dev: false - /jest-mock/27.5.1: + /jest-mock@27.5.1: resolution: {integrity: sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: @@ -9823,7 +9606,7 @@ packages: '@types/node': 18.15.11 dev: false - /jest-pnp-resolver/1.2.3_jest-resolve@27.5.1: + /jest-pnp-resolver@1.2.3(jest-resolve@27.5.1): resolution: {integrity: sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==} engines: {node: '>=6'} peerDependencies: @@ -9835,17 +9618,17 @@ packages: jest-resolve: 27.5.1 dev: false - /jest-regex-util/27.5.1: + /jest-regex-util@27.5.1: resolution: {integrity: sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dev: false - /jest-regex-util/28.0.2: + /jest-regex-util@28.0.2: resolution: {integrity: sha512-4s0IgyNIy0y9FK+cjoVYoxamT7Zeo7MhzqRGx7YDYmaQn1wucY9rotiGkBzzcMXTtjrCAP/f7f+E0F7+fxPNdw==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} dev: false - /jest-resolve-dependencies/27.5.1: + /jest-resolve-dependencies@27.5.1: resolution: {integrity: sha512-QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: @@ -9856,7 +9639,7 @@ packages: - supports-color dev: false - /jest-resolve/27.5.1: + /jest-resolve@27.5.1: resolution: {integrity: sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: @@ -9864,7 +9647,7 @@ packages: chalk: 4.1.2 graceful-fs: 4.2.11 jest-haste-map: 27.5.1 - jest-pnp-resolver: 1.2.3_jest-resolve@27.5.1 + jest-pnp-resolver: 1.2.3(jest-resolve@27.5.1) jest-util: 27.5.1 jest-validate: 27.5.1 resolve: 1.22.1 @@ -9872,7 +9655,7 @@ packages: slash: 3.0.0 dev: false - /jest-runner/27.5.1: + /jest-runner@27.5.1: resolution: {integrity: sha512-g4NPsM4mFCOwFKXO4p/H/kWGdJp9V8kURY2lX8Me2drgXqG7rrZAx5kv+5H7wtt/cdFIjhqYx1HrlqWHaOvDaQ==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: @@ -9904,7 +9687,7 @@ packages: - utf-8-validate dev: false - /jest-runtime/27.5.1: + /jest-runtime@27.5.1: resolution: {integrity: sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: @@ -9934,7 +9717,7 @@ packages: - supports-color dev: false - /jest-serializer/27.5.1: + /jest-serializer@27.5.1: resolution: {integrity: sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: @@ -9942,20 +9725,20 @@ packages: graceful-fs: 4.2.11 dev: false - /jest-snapshot/27.5.1: + /jest-snapshot@27.5.1: resolution: {integrity: sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: '@babel/core': 7.21.3 '@babel/generator': 7.21.3 - '@babel/plugin-syntax-typescript': 7.20.0_@babel+core@7.21.3 + '@babel/plugin-syntax-typescript': 7.20.0(@babel/core@7.21.3) '@babel/traverse': 7.21.3 '@babel/types': 7.21.3 '@jest/transform': 27.5.1 '@jest/types': 27.5.1 '@types/babel__traverse': 7.18.3 '@types/prettier': 2.7.2 - babel-preset-current-node-syntax: 1.0.1_@babel+core@7.21.3 + babel-preset-current-node-syntax: 1.0.1(@babel/core@7.21.3) chalk: 4.1.2 expect: 27.5.1 graceful-fs: 4.2.11 @@ -9972,7 +9755,7 @@ packages: - supports-color dev: false - /jest-util/27.5.1: + /jest-util@27.5.1: resolution: {integrity: sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: @@ -9984,7 +9767,7 @@ packages: picomatch: 2.3.1 dev: false - /jest-util/28.1.3: + /jest-util@28.1.3: resolution: {integrity: sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} dependencies: @@ -9996,7 +9779,7 @@ packages: picomatch: 2.3.1 dev: false - /jest-validate/27.5.1: + /jest-validate@27.5.1: resolution: {integrity: sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: @@ -10008,7 +9791,7 @@ packages: pretty-format: 27.5.1 dev: false - /jest-watch-typeahead/1.1.0_jest@27.5.1: + /jest-watch-typeahead@1.1.0(jest@27.5.1): resolution: {integrity: sha512-Va5nLSJTN7YFtC2jd+7wsoe1pNe5K4ShLux/E5iHEwlB9AxaxmggY7to9KUqKojhaJw3aXqt5WAb4jGPOolpEw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -10024,7 +9807,7 @@ packages: strip-ansi: 7.0.1 dev: false - /jest-watcher/27.5.1: + /jest-watcher@27.5.1: resolution: {integrity: sha512-z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: @@ -10037,7 +9820,7 @@ packages: string-length: 4.0.2 dev: false - /jest-watcher/28.1.3: + /jest-watcher@28.1.3: resolution: {integrity: sha512-t4qcqj9hze+jviFPUN3YAtAEeFnr/azITXQEMARf5cMwKY2SMBRnCQTXLixTl20OR6mLh9KLMrgVJgJISym+1g==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} dependencies: @@ -10051,7 +9834,7 @@ packages: string-length: 4.0.2 dev: false - /jest-worker/26.6.2: + /jest-worker@26.6.2: resolution: {integrity: sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==} engines: {node: '>= 10.13.0'} dependencies: @@ -10059,7 +9842,7 @@ packages: merge-stream: 2.0.0 supports-color: 7.2.0 - /jest-worker/27.5.1: + /jest-worker@27.5.1: resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} engines: {node: '>= 10.13.0'} dependencies: @@ -10068,7 +9851,7 @@ packages: supports-color: 8.1.1 dev: false - /jest-worker/28.1.3: + /jest-worker@28.1.3: resolution: {integrity: sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} dependencies: @@ -10077,7 +9860,7 @@ packages: supports-color: 8.1.1 dev: false - /jest/27.5.1: + /jest@27.5.1: resolution: {integrity: sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} hasBin: true @@ -10098,12 +9881,12 @@ packages: - utf-8-validate dev: false - /jiti/1.18.2: + /jiti@1.18.2: resolution: {integrity: sha512-QAdOptna2NYiSSpv0O/BwoHBSmz4YhpzJHyi+fnMRTXFjp7B8i/YG5Z8IfusxB1ufjcD2Sre1F3R+nX3fvy7gg==} hasBin: true dev: false - /js-cleanup/1.2.0: + /js-cleanup@1.2.0: resolution: {integrity: sha512-JeDD0yiiSt80fXzAVa/crrS0JDPQljyBG/RpOtaSbyDq03VHa9szJWMaWOYU/bcTn412uMN2MxApXq8v79cUiQ==} engines: {node: ^10.14.2 || >=12.0.0} dependencies: @@ -10112,30 +9895,30 @@ packages: skip-regex: 1.0.2 dev: true - /js-sdsl/4.4.0: + /js-sdsl@4.4.0: resolution: {integrity: sha512-FfVSdx6pJ41Oa+CF7RDaFmTnCaFhua+SNYQX74riGOpl96x+2jQCqEfQ2bnXu/5DPCqlRuiqyvTJM0Qjz26IVg==} - /js-tokens/4.0.0: + /js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} - /js-yaml/3.14.1: + /js-yaml@3.14.1: resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} hasBin: true dependencies: argparse: 1.0.10 esprima: 4.0.1 - /js-yaml/4.1.0: + /js-yaml@4.1.0: resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} hasBin: true dependencies: argparse: 2.0.1 - /jsbn/0.1.1: + /jsbn@0.1.1: resolution: {integrity: sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==} dev: true - /jsdom/16.7.0: + /jsdom@16.7.0: resolution: {integrity: sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==} engines: {node: '>=10'} peerDependencies: @@ -10177,71 +9960,71 @@ packages: - utf-8-validate dev: false - /jsesc/0.5.0: + /jsesc@0.5.0: resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==} hasBin: true - /jsesc/2.5.2: + /jsesc@2.5.2: resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} engines: {node: '>=4'} hasBin: true - /json-buffer/3.0.0: + /json-buffer@3.0.0: resolution: {integrity: sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ==} dev: true - /json-parse-better-errors/1.0.2: + /json-parse-better-errors@1.0.2: resolution: {integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==} dev: true - /json-parse-even-better-errors/2.3.1: + /json-parse-even-better-errors@2.3.1: resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} dev: false - /json-schema-traverse/0.4.1: + /json-schema-traverse@0.4.1: resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} - /json-schema-traverse/1.0.0: + /json-schema-traverse@1.0.0: resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} dev: false - /json-schema/0.4.0: + /json-schema@0.4.0: resolution: {integrity: sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==} - /json-stable-stringify-without-jsonify/1.0.1: + /json-stable-stringify-without-jsonify@1.0.1: resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} - /json-stringify-safe/5.0.1: + /json-stringify-safe@5.0.1: resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==} dev: true - /json5/0.5.1: + /json5@0.5.1: resolution: {integrity: sha512-4xrs1aW+6N5DalkqSVA8fxh458CXvR99WU8WLKmq4v8eWAL86Xo3BVqyd3SkA9wEVjCMqyvvRRkshAdOnBp5rw==} hasBin: true dev: true - /json5/1.0.2: + /json5@1.0.2: resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} hasBin: true dependencies: minimist: 1.2.8 - /json5/2.2.3: + /json5@2.2.3: resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} engines: {node: '>=6'} hasBin: true - /jsonc-parser/3.2.0: + /jsonc-parser@3.2.0: resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==} dev: true - /jsonfile/4.0.0: + /jsonfile@4.0.0: resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} optionalDependencies: graceful-fs: 4.2.11 dev: true - /jsonfile/6.1.0: + /jsonfile@6.1.0: resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} dependencies: universalify: 2.0.0 @@ -10249,12 +10032,12 @@ packages: graceful-fs: 4.2.11 dev: false - /jsonpointer/5.0.1: + /jsonpointer@5.0.1: resolution: {integrity: sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==} engines: {node: '>=0.10.0'} dev: false - /jsprim/1.4.2: + /jsprim@1.4.2: resolution: {integrity: sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==} engines: {node: '>=0.6.0'} dependencies: @@ -10264,7 +10047,7 @@ packages: verror: 1.10.0 dev: true - /jsx-ast-utils/3.3.3: + /jsx-ast-utils@3.3.3: resolution: {integrity: sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw==} engines: {node: '>=4.0'} dependencies: @@ -10272,13 +10055,13 @@ packages: object.assign: 4.1.4 dev: false - /karma-chrome-launcher/3.1.1: + /karma-chrome-launcher@3.1.1: resolution: {integrity: sha512-hsIglcq1vtboGPAN+DGCISCFOxW+ZVnIqhDQcCMqqCp+4dmJ0Qpq5QAjkbA0X2L9Mi6OBkHi2Srrbmm7pUKkzQ==} dependencies: which: 1.3.1 dev: true - /karma-coverage/2.2.0: + /karma-coverage@2.2.0: resolution: {integrity: sha512-gPVdoZBNDZ08UCzdMHHhEImKrw1+PAOQOIiffv1YsvxFhBjqvo/SVXNk4tqn1SYqX0BJZT6S/59zgxiBe+9OuA==} engines: {node: '>=10.0.0'} dependencies: @@ -10292,7 +10075,7 @@ packages: - supports-color dev: true - /karma-edge-launcher/0.4.2_karma@6.4.1: + /karma-edge-launcher@0.4.2(karma@6.4.1): resolution: {integrity: sha512-YAJZb1fmRcxNhMIWYsjLuxwODBjh2cSHgTW/jkVmdpGguJjLbs9ZgIK/tEJsMQcBLUkO+yO4LBbqYxqgGW2HIw==} engines: {node: '>=4'} peerDependencies: @@ -10302,14 +10085,14 @@ packages: karma: 6.4.1 dev: true - /karma-firefox-launcher/2.1.2: + /karma-firefox-launcher@2.1.2: resolution: {integrity: sha512-VV9xDQU1QIboTrjtGVD4NCfzIH7n01ZXqy/qpBhnOeGVOkG5JYPEm8kuSd7psHE6WouZaQ9Ool92g8LFweSNMA==} dependencies: is-wsl: 2.2.0 which: 2.0.2 dev: true - /karma-jasmine-html-reporter/1.7.0_vnyzwauddsc7t4lqcn3ma57tre: + /karma-jasmine-html-reporter@1.7.0(jasmine-core@3.99.1)(karma-jasmine@4.0.2)(karma@6.4.1): resolution: {integrity: sha512-pzum1TL7j90DTE86eFt48/s12hqwQuiD+e5aXx2Dc9wDEn2LfGq6RoAxEZZjFiN0RDSCOnosEKRZWxbQ+iMpQQ==} peerDependencies: jasmine-core: '>=3.8' @@ -10318,10 +10101,10 @@ packages: dependencies: jasmine-core: 3.99.1 karma: 6.4.1 - karma-jasmine: 4.0.2_karma@6.4.1 + karma-jasmine: 4.0.2(karma@6.4.1) dev: true - /karma-jasmine/4.0.2_karma@6.4.1: + /karma-jasmine@4.0.2(karma@6.4.1): resolution: {integrity: sha512-ggi84RMNQffSDmWSyyt4zxzh2CQGwsxvYYsprgyR1j8ikzIduEdOlcLvXjZGwXG/0j41KUXOWsUCBfbEHPWP9g==} engines: {node: '>= 10'} peerDependencies: @@ -10331,7 +10114,7 @@ packages: karma: 6.4.1 dev: true - /karma-rollup-preprocessor/7.0.7_rollup@3.20.2: + /karma-rollup-preprocessor@7.0.7(rollup@3.20.2): resolution: {integrity: sha512-Y1QwsTCiCBp8sSALZdqmqry/mWIWIy0V6zonUIpy+0/D/Kpb2XZvR+JZrWfacQvcvKQdZFJvg6EwlnKtjepu3Q==} engines: {node: '>= 8.0.0'} peerDependencies: @@ -10342,13 +10125,13 @@ packages: rollup: 3.20.2 dev: true - /karma-safari-private-launcher/1.0.0: + /karma-safari-private-launcher@1.0.0: resolution: {integrity: sha512-kscGowncLO6msIm43AU1CPSR9Xas35t/myoSnfUs9Djsh7y/3ORBURxJPu2tAfzsNeTfWACJYO0bYOB5tihsXg==} dependencies: applescript: 1.0.0 dev: true - /karma-spec-reporter/0.0.32_karma@6.4.1: + /karma-spec-reporter@0.0.32(karma@6.4.1): resolution: {integrity: sha512-ZXsYERZJMTNRR2F3QN11OWF5kgnT/K2dzhM+oY3CDyMrDI3TjIWqYGG7c15rR9wjmy9lvdC+CCshqn3YZqnNrA==} peerDependencies: karma: '>=0.9' @@ -10357,7 +10140,7 @@ packages: karma: 6.4.1 dev: true - /karma/6.4.1: + /karma@6.4.1: resolution: {integrity: sha512-Cj57NKOskK7wtFWSlMvZf459iX+kpYIPXmkNUzP2WAFcA7nhr/ALn5R7sw3w+1udFDcpMx/tuB8d5amgm3ijaA==} engines: {node: '>= 10'} hasBin: true @@ -10371,7 +10154,7 @@ packages: dom-serialize: 2.2.1 glob: 7.2.3 graceful-fs: 4.2.11 - http-proxy: 1.18.1 + http-proxy: 1.18.1(debug@4.3.4) isbinaryfile: 4.0.10 lodash: 4.17.21 log4js: 6.9.1 @@ -10393,91 +10176,91 @@ packages: - utf-8-validate dev: true - /keyv/3.1.0: + /keyv@3.1.0: resolution: {integrity: sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==} dependencies: json-buffer: 3.0.0 dev: true - /killable/1.0.1: + /killable@1.0.1: resolution: {integrity: sha512-LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg==} dev: true - /kind-of/3.2.2: + /kind-of@3.2.2: resolution: {integrity: sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==} engines: {node: '>=0.10.0'} dependencies: is-buffer: 1.1.6 dev: true - /kind-of/4.0.0: + /kind-of@4.0.0: resolution: {integrity: sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==} engines: {node: '>=0.10.0'} dependencies: is-buffer: 1.1.6 dev: true - /kind-of/5.1.0: + /kind-of@5.1.0: resolution: {integrity: sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==} engines: {node: '>=0.10.0'} dev: true - /kind-of/6.0.3: + /kind-of@6.0.3: resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} engines: {node: '>=0.10.0'} - /kleur/3.0.3: + /kleur@3.0.3: resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} engines: {node: '>=6'} dev: false - /klona/2.0.6: + /klona@2.0.6: resolution: {integrity: sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==} engines: {node: '>= 8'} dev: false - /language-subtag-registry/0.3.22: + /language-subtag-registry@0.3.22: resolution: {integrity: sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==} dev: false - /language-tags/1.0.5: + /language-tags@1.0.5: resolution: {integrity: sha512-qJhlO9cGXi6hBGKoxEG/sKZDAHD5Hnu9Hs4WbOY3pCWXDhw0N8x1NenNzm2EnNLkLkk7J2SdxAkDSbb6ftT+UQ==} dependencies: language-subtag-registry: 0.3.22 dev: false - /last-call-webpack-plugin/3.0.0: + /last-call-webpack-plugin@3.0.0: resolution: {integrity: sha512-7KI2l2GIZa9p2spzPIVZBYyNKkN+e/SQPpnjlTiPhdbDW3F86tdKKELxKpzJ5sgU19wQWsACULZmpTPYHeWO5w==} dependencies: lodash: 4.17.21 webpack-sources: 1.4.3 dev: true - /latest-version/5.1.0: + /latest-version@5.1.0: resolution: {integrity: sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==} engines: {node: '>=8'} dependencies: package-json: 6.5.0 dev: true - /launch-editor/2.6.0: + /launch-editor@2.6.0: resolution: {integrity: sha512-JpDCcQnyAAzZZaZ7vEiSqL690w7dAEyLao+KC96zBplnYbJS7TYNjvM3M7y3dGz+v7aIsJk3hllWuc0kWAjyRQ==} dependencies: picocolors: 1.0.0 shell-quote: 1.8.0 dev: false - /lcov-parse/1.0.0: + /lcov-parse@1.0.0: resolution: {integrity: sha512-aprLII/vPzuQvYZnDRU78Fns9I2Ag3gi4Ipga/hxnVMCZC8DnR2nI7XBqrPoywGfxqIx/DgarGvDJZAD3YBTgQ==} hasBin: true dev: true - /leven/3.1.0: + /leven@3.1.0: resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} engines: {node: '>=6'} dev: false - /levn/0.3.0: + /levn@0.3.0: resolution: {integrity: sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==} engines: {node: '>= 0.8.0'} dependencies: @@ -10485,48 +10268,48 @@ packages: type-check: 0.3.2 dev: false - /levn/0.4.1: + /levn@0.4.1: resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} engines: {node: '>= 0.8.0'} dependencies: prelude-ls: 1.2.1 type-check: 0.4.0 - /lilconfig/2.1.0: + /lilconfig@2.1.0: resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} engines: {node: '>=10'} - /lines-and-columns/1.2.4: + /lines-and-columns@1.2.4: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} dev: false - /linkify-it/2.2.0: + /linkify-it@2.2.0: resolution: {integrity: sha512-GnAl/knGn+i1U/wjBz3akz2stz+HrHLsxMwHQGofCDfPvlf+gDKN58UtfmUquTY4/MXeE2x7k19KQmeoZi94Iw==} dependencies: uc.micro: 1.0.6 dev: true - /linkify-it/3.0.3: + /linkify-it@3.0.3: resolution: {integrity: sha512-ynTsyrFSdE5oZ/O9GEf00kPngmOfVwazR5GKDq6EYfhlpFug3J2zybX56a2PRRpc9P+FuSoGNAwjlbDs9jJBPQ==} dependencies: uc.micro: 1.0.6 dev: true - /load-script/1.0.0: + /load-script@1.0.0: resolution: {integrity: sha512-kPEjMFtZvwL9TaZo0uZ2ml+Ye9HUMmPwbYRJ324qF9tqMejwykJ5ggTyvzmrbBeapCAbk98BSbTeovHEEP1uCA==} dev: true - /loader-runner/2.4.0: + /loader-runner@2.4.0: resolution: {integrity: sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==} engines: {node: '>=4.3.0 <5.0.0 || >=5.10'} dev: true - /loader-runner/4.3.0: + /loader-runner@4.3.0: resolution: {integrity: sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==} engines: {node: '>=6.11.5'} dev: false - /loader-utils/0.2.17: + /loader-utils@0.2.17: resolution: {integrity: sha512-tiv66G0SmiOx+pLWMtGEkfSEejxvb6N6uRrQjfWJIT79W9GMpgKeCAmm9aVBKtd4WEgntciI8CsGqjpDoCWJug==} dependencies: big.js: 3.2.0 @@ -10535,7 +10318,7 @@ packages: object-assign: 4.1.1 dev: true - /loader-utils/1.4.2: + /loader-utils@1.4.2: resolution: {integrity: sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==} engines: {node: '>=4.0.0'} dependencies: @@ -10544,7 +10327,7 @@ packages: json5: 1.0.2 dev: true - /loader-utils/2.0.4: + /loader-utils@2.0.4: resolution: {integrity: sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==} engines: {node: '>=8.9.0'} dependencies: @@ -10552,85 +10335,85 @@ packages: emojis-list: 3.0.0 json5: 2.2.3 - /loader-utils/3.2.1: + /loader-utils@3.2.1: resolution: {integrity: sha512-ZvFw1KWS3GVyYBYb7qkmRM/WwL2TQQBxgCK62rlvm4WpVQ23Nb4tYjApUlfjrEGvOs7KHEsmyUn75OHZrJMWPw==} engines: {node: '>= 12.13.0'} dev: false - /locate-path/3.0.0: + /locate-path@3.0.0: resolution: {integrity: sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==} engines: {node: '>=6'} dependencies: p-locate: 3.0.0 path-exists: 3.0.0 - /locate-path/5.0.0: + /locate-path@5.0.0: resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} engines: {node: '>=8'} dependencies: p-locate: 4.1.0 - /locate-path/6.0.0: + /locate-path@6.0.0: resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} engines: {node: '>=10'} dependencies: p-locate: 5.0.0 - /lodash._reinterpolate/3.0.0: + /lodash._reinterpolate@3.0.0: resolution: {integrity: sha512-xYHt68QRoYGjeeM/XOE1uJtvXQAgvszfBhjV4yvsQH0u2i9I6cI6c6/eG4Hh3UAOVn0y/xAXwmTzEay49Q//HA==} dev: true - /lodash.clonedeep/4.5.0: + /lodash.clonedeep@4.5.0: resolution: {integrity: sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==} dev: true - /lodash.debounce/4.0.8: + /lodash.debounce@4.0.8: resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} - /lodash.kebabcase/4.1.1: + /lodash.kebabcase@4.1.1: resolution: {integrity: sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g==} dev: true - /lodash.memoize/4.1.2: + /lodash.memoize@4.1.2: resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==} - /lodash.merge/4.6.2: + /lodash.merge@4.6.2: resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} - /lodash.sortby/4.7.0: + /lodash.sortby@4.7.0: resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==} dev: false - /lodash.template/4.5.0: + /lodash.template@4.5.0: resolution: {integrity: sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==} dependencies: lodash._reinterpolate: 3.0.0 lodash.templatesettings: 4.2.0 dev: true - /lodash.templatesettings/4.2.0: + /lodash.templatesettings@4.2.0: resolution: {integrity: sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==} dependencies: lodash._reinterpolate: 3.0.0 dev: true - /lodash.uniq/4.5.0: + /lodash.uniq@4.5.0: resolution: {integrity: sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==} - /lodash/4.17.21: + /lodash@4.17.21: resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} - /log-driver/1.2.7: + /log-driver@1.2.7: resolution: {integrity: sha512-U7KCmLdqsGHBLeWqYlFA0V0Sl6P08EE1ZrmA9cxjUE0WVqT9qnyVDPz1kzpFEP0jdJuFnasWIfSd7fsaNXkpbg==} engines: {node: '>=0.8.6'} dev: true - /log4js/6.9.1: + /log4js@6.9.1: resolution: {integrity: sha512-1somDdy9sChrr9/f4UlzhdaGfDR2c/SaD2a4T7qEkG4jTS57/B3qmnjLYePwQ8cqWnUHZI0iAKxMBpCZICiZ2g==} engines: {node: '>=8.0'} dependencies: date-format: 4.0.14 - debug: 4.3.4 + debug: 4.3.4(supports-color@6.1.0) flatted: 3.2.7 rfdc: 1.3.0 streamroller: 3.1.5 @@ -10638,78 +10421,78 @@ packages: - supports-color dev: true - /loglevel/1.8.1: + /loglevel@1.8.1: resolution: {integrity: sha512-tCRIJM51SHjAayKwC+QAg8hT8vg6z7GSgLJKGvzuPb1Wc+hLzqtuVLxp6/HzSPOozuK+8ErAhy7U/sVzw8Dgfg==} engines: {node: '>= 0.6.0'} dev: true - /loose-envify/1.4.0: + /loose-envify@1.4.0: resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} hasBin: true dependencies: js-tokens: 4.0.0 dev: false - /lower-case/1.1.4: + /lower-case@1.1.4: resolution: {integrity: sha512-2Fgx1Ycm599x+WGpIYwJOvsjmXFzTSc34IwDWALRA/8AopUKAVPwfJ+h5+f85BCp0PWmmJcWzEpxOpoXycMpdA==} dev: true - /lower-case/2.0.2: + /lower-case@2.0.2: resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} dependencies: tslib: 2.5.0 dev: false - /lowercase-keys/1.0.1: + /lowercase-keys@1.0.1: resolution: {integrity: sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==} engines: {node: '>=0.10.0'} dev: true - /lowercase-keys/2.0.0: + /lowercase-keys@2.0.0: resolution: {integrity: sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==} engines: {node: '>=8'} dev: true - /lru-cache/4.1.5: + /lru-cache@4.1.5: resolution: {integrity: sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==} dependencies: pseudomap: 1.0.2 yallist: 2.1.2 dev: true - /lru-cache/5.1.1: + /lru-cache@5.1.1: resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} dependencies: yallist: 3.1.1 - /lru-cache/6.0.0: + /lru-cache@6.0.0: resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} engines: {node: '>=10'} dependencies: yallist: 4.0.0 - /lunr/2.3.9: + /lunr@2.3.9: resolution: {integrity: sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==} dev: true - /luxon/3.3.0: + /luxon@3.3.0: resolution: {integrity: sha512-An0UCfG/rSiqtAIiBPO0Y9/zAnHUZxAMiCpTd5h2smgsj7GGmcenvrvww2cqNA8/4A5ZrD1gJpHN2mIHZQF+Mg==} engines: {node: '>=12'} dev: true - /magic-string/0.25.9: + /magic-string@0.25.9: resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==} dependencies: sourcemap-codec: 1.4.8 - /magic-string/0.27.0: + /magic-string@0.27.0: resolution: {integrity: sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==} engines: {node: '>=12'} dependencies: '@jridgewell/sourcemap-codec': 1.4.14 dev: true - /make-dir/2.1.0: + /make-dir@2.1.0: resolution: {integrity: sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==} engines: {node: '>=6'} dependencies: @@ -10717,31 +10500,31 @@ packages: semver: 5.7.1 dev: true - /make-dir/3.1.0: + /make-dir@3.1.0: resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} engines: {node: '>=8'} dependencies: semver: 6.3.0 - /makeerror/1.0.12: + /makeerror@1.0.12: resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==} dependencies: tmpl: 1.0.5 dev: false - /map-cache/0.2.2: + /map-cache@0.2.2: resolution: {integrity: sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==} engines: {node: '>=0.10.0'} dev: true - /map-visit/1.0.0: + /map-visit@1.0.0: resolution: {integrity: sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==} engines: {node: '>=0.10.0'} dependencies: object-visit: 1.0.1 dev: true - /markdown-it-anchor/5.3.0_markdown-it@8.4.2: + /markdown-it-anchor@5.3.0(markdown-it@8.4.2): resolution: {integrity: sha512-/V1MnLL/rgJ3jkMWo84UR+K+jF1cxNG1a+KwqeXqTIJ+jtA8aWSHuigx8lTzauiIjBDbwF3NcWQMotd0Dm39jA==} peerDependencies: markdown-it: '*' @@ -10749,7 +10532,7 @@ packages: markdown-it: 8.4.2 dev: true - /markdown-it-chain/1.3.0_markdown-it@8.4.2: + /markdown-it-chain@1.3.0(markdown-it@8.4.2): resolution: {integrity: sha512-XClV8I1TKy8L2qsT9iX3qiV+50ZtcInGXI80CA+DP62sMs7hXlyV/RM3hfwy5O3Ad0sJm9xIwQELgANfESo8mQ==} engines: {node: '>=6.9'} peerDependencies: @@ -10759,15 +10542,15 @@ packages: webpack-chain: 4.12.1 dev: true - /markdown-it-container/2.0.0: + /markdown-it-container@2.0.0: resolution: {integrity: sha512-IxPOaq2LzrGuFGyYq80zaorXReh2ZHGFOB1/Hen429EJL1XkPI3FJTpx9TsJeua+j2qTru4h3W1TiCRdeivMmA==} dev: true - /markdown-it-emoji/1.4.0: + /markdown-it-emoji@1.4.0: resolution: {integrity: sha512-QCz3Hkd+r5gDYtS2xsFXmBYrgw6KuWcJZLCEkdfAuwzZbShCmCfta+hwAMq4NX/4xPzkSHduMKgMkkPUJxSXNg==} dev: true - /markdown-it-include/2.0.0_markdown-it@12.3.2: + /markdown-it-include@2.0.0(markdown-it@12.3.2): resolution: {integrity: sha512-wfgIX92ZEYahYWiCk6Jx36XmHvAimeHN420csOWgfyZjpf171Y0xREqZWcm/Rwjzyd0RLYryY+cbNmrkYW2MDw==} engines: {node: '>=10'} peerDependencies: @@ -10776,12 +10559,12 @@ packages: markdown-it: 12.3.2 dev: true - /markdown-it-table-of-contents/0.4.4: + /markdown-it-table-of-contents@0.4.4: resolution: {integrity: sha512-TAIHTHPwa9+ltKvKPWulm/beozQU41Ab+FIefRaQV1NRnpzwcV9QOe6wXQS5WLivm5Q/nlo0rl6laGkMDZE7Gw==} engines: {node: '>6.4.0'} dev: true - /markdown-it/12.3.2: + /markdown-it@12.3.2: resolution: {integrity: sha512-TchMembfxfNVpHkbtriWltGWc+m3xszaRD0CZup7GFFhzIgQqxIfn3eGj1yZpfuflzPvfkt611B2Q/Bsk1YnGg==} hasBin: true dependencies: @@ -10792,7 +10575,7 @@ packages: uc.micro: 1.0.6 dev: true - /markdown-it/8.4.2: + /markdown-it@8.4.2: resolution: {integrity: sha512-GcRz3AWTqSUphY3vsUqQSFMbgR38a4Lh3GWlHRh/7MRwz8mcu9n2IO7HOh+bXHrR9kOPDl5RNCaEsrneb+xhHQ==} hasBin: true dependencies: @@ -10803,13 +10586,13 @@ packages: uc.micro: 1.0.6 dev: true - /marked/4.3.0: + /marked@4.3.0: resolution: {integrity: sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A==} engines: {node: '>= 12'} hasBin: true dev: true - /md5.js/1.3.5: + /md5.js@1.3.5: resolution: {integrity: sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==} dependencies: hash-base: 3.1.0 @@ -10817,7 +10600,7 @@ packages: safe-buffer: 5.2.1 dev: true - /mdast-util-from-markdown/0.8.5: + /mdast-util-from-markdown@0.8.5: resolution: {integrity: sha512-2hkTXtYYnr+NubD/g6KGBS/0mFmBcifAsI0yIWRiRo0PjVs6SSOSOdtzbp6kSGnShDN6G5aWZpKQ2lWRy27mWQ==} dependencies: '@types/mdast': 3.0.11 @@ -10829,39 +10612,39 @@ packages: - supports-color dev: true - /mdast-util-to-string/2.0.0: + /mdast-util-to-string@2.0.0: resolution: {integrity: sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w==} dev: true - /mdn-data/2.0.14: + /mdn-data@2.0.14: resolution: {integrity: sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==} - /mdn-data/2.0.4: + /mdn-data@2.0.4: resolution: {integrity: sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==} - /mdurl/1.0.1: + /mdurl@1.0.1: resolution: {integrity: sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==} dev: true - /media-typer/0.3.0: + /media-typer@0.3.0: resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} engines: {node: '>= 0.6'} - /memfs/3.4.13: + /memfs@3.4.13: resolution: {integrity: sha512-omTM41g3Skpvx5dSYeZIbXKcXoAVc/AoMNwn9TKx++L/gaen/+4TTttmu8ZSch5vfVJ8uJvGbroTsIlslRg6lg==} engines: {node: '>= 4.0.0'} dependencies: fs-monkey: 1.0.3 dev: false - /memory-fs/0.4.1: + /memory-fs@0.4.1: resolution: {integrity: sha512-cda4JKCxReDXFXRqOHPQscuIYg1PvxbE2S2GP45rnwfEK+vZaXC8C1OFvdHIbgw0DLzowXGVoxLaAmlgRy14GQ==} dependencies: errno: 0.1.8 readable-stream: 2.3.8 dev: true - /memory-fs/0.5.0: + /memory-fs@0.5.0: resolution: {integrity: sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==} engines: {node: '>=4.3.0 <5.0.0 || >=5.10'} dependencies: @@ -10869,85 +10652,64 @@ packages: readable-stream: 2.3.8 dev: true - /merge-descriptors/1.0.1: + /merge-descriptors@1.0.1: resolution: {integrity: sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==} - /merge-source-map/1.1.0: + /merge-source-map@1.1.0: resolution: {integrity: sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==} dependencies: source-map: 0.6.1 dev: true - /merge-stream/2.0.0: + /merge-stream@2.0.0: resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} - /merge2/1.4.1: + /merge2@1.4.1: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} - /methods/1.1.2: + /methods@1.1.2: resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} engines: {node: '>= 0.6'} - /micromark/2.11.4: + /micromark@2.11.4: resolution: {integrity: sha512-+WoovN/ppKolQOFIAajxi7Lu9kInbPxFuTBVEavFcL8eAfVstoc5MocPmqBeAdBOJV00uaVjegzH4+MA0DN/uA==} dependencies: - debug: 4.3.4 + debug: 4.3.4(supports-color@6.1.0) parse-entities: 2.0.0 transitivePeerDependencies: - supports-color dev: true - /micromatch/3.1.10: - resolution: {integrity: sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==} - engines: {node: '>=0.10.0'} - dependencies: - arr-diff: 4.0.0 - array-unique: 0.3.2 - braces: 2.3.2 - define-property: 2.0.2 - extend-shallow: 3.0.2 - extglob: 2.0.4 - fragment-cache: 0.2.1 - kind-of: 6.0.3 - nanomatch: 1.2.13 - object.pick: 1.3.0 - regex-not: 1.0.2 - snapdragon: 0.8.2 - to-regex: 3.0.2 - transitivePeerDependencies: - - supports-color - dev: true - - /micromatch/3.1.10_supports-color@6.1.0: + /micromatch@3.1.10(supports-color@6.1.0): resolution: {integrity: sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==} engines: {node: '>=0.10.0'} dependencies: arr-diff: 4.0.0 array-unique: 0.3.2 - braces: 2.3.2_supports-color@6.1.0 + braces: 2.3.2(supports-color@6.1.0) define-property: 2.0.2 extend-shallow: 3.0.2 - extglob: 2.0.4_supports-color@6.1.0 + extglob: 2.0.4(supports-color@6.1.0) fragment-cache: 0.2.1 kind-of: 6.0.3 - nanomatch: 1.2.13_supports-color@6.1.0 + nanomatch: 1.2.13(supports-color@6.1.0) object.pick: 1.3.0 regex-not: 1.0.2 - snapdragon: 0.8.2_supports-color@6.1.0 + snapdragon: 0.8.2(supports-color@6.1.0) to-regex: 3.0.2 transitivePeerDependencies: - supports-color dev: true - /micromatch/4.0.5: + /micromatch@4.0.5: resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} engines: {node: '>=8.6'} dependencies: braces: 3.0.2 picomatch: 2.3.1 - /miller-rabin/4.0.1: + /miller-rabin@4.0.1: resolution: {integrity: sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==} hasBin: true dependencies: @@ -10955,44 +10717,44 @@ packages: brorand: 1.1.0 dev: true - /mime-db/1.52.0: + /mime-db@1.52.0: resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} engines: {node: '>= 0.6'} - /mime-types/2.1.35: + /mime-types@2.1.35: resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} engines: {node: '>= 0.6'} dependencies: mime-db: 1.52.0 - /mime/1.6.0: + /mime@1.6.0: resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} engines: {node: '>=4'} hasBin: true - /mime/2.6.0: + /mime@2.6.0: resolution: {integrity: sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==} engines: {node: '>=4.0.0'} hasBin: true dev: true - /mimic-fn/2.1.0: + /mimic-fn@2.1.0: resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} engines: {node: '>=6'} dev: false - /mimic-response/1.0.1: + /mimic-response@1.0.1: resolution: {integrity: sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==} engines: {node: '>=4'} dev: true - /min-document/2.19.0: + /min-document@2.19.0: resolution: {integrity: sha512-9Wy1B3m3f66bPPmU5hdA4DR4PB2OfDU/+GS3yAB7IQozE3tqXaVv2zOjgla7MEGSRv95+ILmOuvhLkOK6wJtCQ==} dependencies: dom-walk: 0.1.2 dev: true - /mini-css-extract-plugin/0.6.0_webpack@4.46.0: + /mini-css-extract-plugin@0.6.0(webpack@4.46.0): resolution: {integrity: sha512-79q5P7YGI6rdnVyIAV4NXpBQJFWdkzJxCim3Kog4078fM0piAaFlwocqbejdWtLW1cEzCexPrh6EdyFsPgVdAw==} engines: {node: '>= 6.9.0'} peerDependencies: @@ -11005,45 +10767,45 @@ packages: webpack-sources: 1.4.3 dev: true - /mini-css-extract-plugin/2.7.5_webpack@5.76.3: + /mini-css-extract-plugin@2.7.5(webpack@5.76.3): resolution: {integrity: sha512-9HaR++0mlgom81s95vvNjxkg52n2b5s//3ZTI1EtzFb98awsLSivs2LMsVqnQ3ay0PVhqWcGNyDaTE961FOcjQ==} engines: {node: '>= 12.13.0'} peerDependencies: webpack: ^5.0.0 dependencies: schema-utils: 4.0.0 - webpack: 5.76.3 + webpack: 5.76.3(@swc/core@1.3.42) dev: false - /minimalistic-assert/1.0.1: + /minimalistic-assert@1.0.1: resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==} - /minimalistic-crypto-utils/1.0.1: + /minimalistic-crypto-utils@1.0.1: resolution: {integrity: sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==} dev: true - /minimatch/3.1.2: + /minimatch@3.1.2: resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} dependencies: brace-expansion: 1.1.11 - /minimatch/5.1.6: + /minimatch@5.1.6: resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} engines: {node: '>=10'} dependencies: brace-expansion: 2.0.1 - /minimatch/7.4.3: + /minimatch@7.4.3: resolution: {integrity: sha512-5UB4yYusDtkRPbRiy1cqZ1IpGNcJCGlEMG17RKzPddpyiPKoCdwohbED8g4QXT0ewCt8LTkQXuljsUfQ3FKM4A==} engines: {node: '>=10'} dependencies: brace-expansion: 2.0.1 dev: true - /minimist/1.2.8: + /minimist@1.2.8: resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} - /mississippi/3.0.0: + /mississippi@3.0.0: resolution: {integrity: sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==} engines: {node: '>=4.0.0'} dependencies: @@ -11059,7 +10821,7 @@ packages: through2: 2.0.5 dev: true - /mixin-deep/1.3.2: + /mixin-deep@1.3.2: resolution: {integrity: sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==} engines: {node: '>=0.10.0'} dependencies: @@ -11067,34 +10829,34 @@ packages: is-extendable: 1.0.1 dev: true - /mkdirp/0.3.0: + /mkdirp@0.3.0: resolution: {integrity: sha512-OHsdUcVAQ6pOtg5JYWpCBo9W/GySVuwvP9hueRMW7UqshC0tbfzLv8wjySTPm3tfUZ/21CE9E1pJagOA91Pxew==} deprecated: Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.) dev: true - /mkdirp/0.5.6: + /mkdirp@0.5.6: resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} hasBin: true dependencies: minimist: 1.2.8 - /mkdirp/1.0.4: + /mkdirp@1.0.4: resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} engines: {node: '>=10'} hasBin: true dev: true - /moment-timezone/0.5.42: + /moment-timezone@0.5.42: resolution: {integrity: sha512-tjI9goqwzkflKSTxJo+jC/W8riTFwEjjunssmFvAWlvNVApjbkJM7UHggyKO0q1Fd/kZVKY77H7C9A0XKhhAFw==} dependencies: moment: 2.29.4 dev: true - /moment/2.29.4: + /moment@2.29.4: resolution: {integrity: sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w==} dev: true - /move-concurrently/1.0.1: + /move-concurrently@1.0.1: resolution: {integrity: sha512-hdrFxZOycD/g6A6SoI2bB5NA/5NEqD0569+S47WZhPvm46sD50ZHdYaFmnua5lndde9rCHGjmfK7Z8BuCt/PcQ==} dependencies: aproba: 1.2.0 @@ -11105,20 +10867,20 @@ packages: run-queue: 1.0.3 dev: true - /ms/2.0.0: + /ms@2.0.0: resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} - /ms/2.1.2: + /ms@2.1.2: resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} - /ms/2.1.3: + /ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} - /multicast-dns-service-types/1.1.0: + /multicast-dns-service-types@1.1.0: resolution: {integrity: sha512-cnAsSVxIDsYt0v7HmC0hWZFwwXSh+E6PgCrREDuN/EsjgLwA5XRmlMHhSiDPrt6HxY1gTivEa/Zh7GtODoLevQ==} dev: true - /multicast-dns/6.2.3: + /multicast-dns@6.2.3: resolution: {integrity: sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==} hasBin: true dependencies: @@ -11126,7 +10888,7 @@ packages: thunky: 1.1.0 dev: true - /multicast-dns/7.2.5: + /multicast-dns@7.2.5: resolution: {integrity: sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==} hasBin: true dependencies: @@ -11134,7 +10896,7 @@ packages: thunky: 1.1.0 dev: false - /mz/2.7.0: + /mz@2.7.0: resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} dependencies: any-promise: 1.3.0 @@ -11142,36 +10904,18 @@ packages: thenify-all: 1.6.0 dev: false - /nan/2.17.0: + /nan@2.17.0: resolution: {integrity: sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ==} + requiresBuild: true dev: true optional: true - /nanoid/3.3.6: + /nanoid@3.3.6: resolution: {integrity: sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true - /nanomatch/1.2.13: - resolution: {integrity: sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==} - engines: {node: '>=0.10.0'} - dependencies: - arr-diff: 4.0.0 - array-unique: 0.3.2 - define-property: 2.0.2 - extend-shallow: 3.0.2 - fragment-cache: 0.2.1 - is-windows: 1.0.2 - kind-of: 6.0.3 - object.pick: 1.3.0 - regex-not: 1.0.2 - snapdragon: 0.8.2 - to-regex: 3.0.2 - transitivePeerDependencies: - - supports-color - dev: true - - /nanomatch/1.2.13_supports-color@6.1.0: + /nanomatch@1.2.13(supports-color@6.1.0): resolution: {integrity: sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==} engines: {node: '>=0.10.0'} dependencies: @@ -11184,43 +10928,43 @@ packages: kind-of: 6.0.3 object.pick: 1.3.0 regex-not: 1.0.2 - snapdragon: 0.8.2_supports-color@6.1.0 + snapdragon: 0.8.2(supports-color@6.1.0) to-regex: 3.0.2 transitivePeerDependencies: - supports-color dev: true - /natural-compare-lite/1.4.0: + /natural-compare-lite@1.4.0: resolution: {integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==} - /natural-compare/1.4.0: + /natural-compare@1.4.0: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} - /negotiator/0.6.3: + /negotiator@0.6.3: resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} engines: {node: '>= 0.6'} - /neo-async/2.6.2: + /neo-async@2.6.2: resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} - /nice-try/1.0.5: + /nice-try@1.0.5: resolution: {integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==} dev: true - /no-case/2.3.2: + /no-case@2.3.2: resolution: {integrity: sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==} dependencies: lower-case: 1.1.4 dev: true - /no-case/3.0.4: + /no-case@3.0.4: resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} dependencies: lower-case: 2.0.2 tslib: 2.5.0 dev: false - /node-fetch/2.6.9: + /node-fetch@2.6.9: resolution: {integrity: sha512-DJm/CJkZkRjKKj4Zi4BsKVZh3ValV5IR5s7LVZnW+6YMh0W1BfNA8XSs6DLMGYlId5F3KnA70uu2qepcR08Qqg==} engines: {node: 4.x || >=6.0.0} peerDependencies: @@ -11232,21 +10976,21 @@ packages: whatwg-url: 5.0.0 dev: true - /node-forge/0.10.0: + /node-forge@0.10.0: resolution: {integrity: sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==} engines: {node: '>= 6.0.0'} dev: true - /node-forge/1.3.1: + /node-forge@1.3.1: resolution: {integrity: sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==} engines: {node: '>= 6.13.0'} dev: false - /node-int64/0.4.0: + /node-int64@0.4.0: resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} dev: false - /node-libs-browser/2.2.1: + /node-libs-browser@2.2.1: resolution: {integrity: sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==} dependencies: assert: 1.5.0 @@ -11274,32 +11018,32 @@ packages: vm-browserify: 1.1.2 dev: true - /node-releases/2.0.10: + /node-releases@2.0.10: resolution: {integrity: sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==} - /nopt/1.0.10: + /nopt@1.0.10: resolution: {integrity: sha512-NWmpvLSqUrgrAC9HCuxEvb+PSloHpqVu+FqcO4eeF2h5qYRhA7ev6KvelyQAKtegUbC6RypJnlEOhd8vloNKYg==} hasBin: true dependencies: abbrev: 1.1.1 dev: true - /normalize-path/2.1.1: + /normalize-path@2.1.1: resolution: {integrity: sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==} engines: {node: '>=0.10.0'} dependencies: remove-trailing-separator: 1.1.0 dev: true - /normalize-path/3.0.0: + /normalize-path@3.0.0: resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} engines: {node: '>=0.10.0'} - /normalize-range/0.1.2: + /normalize-range@0.1.2: resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==} engines: {node: '>=0.10.0'} - /normalize-url/2.0.1: + /normalize-url@2.0.1: resolution: {integrity: sha512-D6MUW4K/VzoJ4rJ01JFKxDrtY1v9wrgzCX5f2qj/lzH1m/lW6MhUZFKerVsnyjOhOsYzI9Kqqak+10l4LvLpMw==} engines: {node: '>=4'} dependencies: @@ -11308,65 +11052,65 @@ packages: sort-keys: 2.0.0 dev: true - /normalize-url/3.3.0: + /normalize-url@3.3.0: resolution: {integrity: sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg==} engines: {node: '>=6'} dev: true - /normalize-url/4.5.1: + /normalize-url@4.5.1: resolution: {integrity: sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==} engines: {node: '>=8'} dev: true - /normalize-url/6.1.0: + /normalize-url@6.1.0: resolution: {integrity: sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==} engines: {node: '>=10'} - /npm-run-path/2.0.2: + /npm-run-path@2.0.2: resolution: {integrity: sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==} engines: {node: '>=4'} dependencies: path-key: 2.0.1 dev: true - /npm-run-path/4.0.1: + /npm-run-path@4.0.1: resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} engines: {node: '>=8'} dependencies: path-key: 3.1.1 dev: false - /nprogress/0.2.0: + /nprogress@0.2.0: resolution: {integrity: sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA==} dev: true - /nth-check/1.0.2: + /nth-check@1.0.2: resolution: {integrity: sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==} dependencies: boolbase: 1.0.0 - /nth-check/2.1.1: + /nth-check@2.1.1: resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} dependencies: boolbase: 1.0.0 - /num2fraction/1.2.2: + /num2fraction@1.2.2: resolution: {integrity: sha512-Y1wZESM7VUThYY+4W+X4ySH2maqcA+p7UR+w8VWNWVAd6lwuXXWz/w/Cz43J/dI2I+PS6wD5N+bJUF+gjWvIqg==} dev: true - /nwsapi/2.2.2: + /nwsapi@2.2.2: resolution: {integrity: sha512-90yv+6538zuvUMnN+zCr8LuV6bPFdq50304114vJYJ8RDyK8D5O9Phpbd6SZWgI7PwzmmfN1upeOJlvybDSgCw==} dev: false - /oauth-sign/0.9.0: + /oauth-sign@0.9.0: resolution: {integrity: sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==} dev: true - /object-assign/4.1.1: + /object-assign@4.1.1: resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} engines: {node: '>=0.10.0'} - /object-copy/0.1.0: + /object-copy@0.1.0: resolution: {integrity: sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==} engines: {node: '>=0.10.0'} dependencies: @@ -11375,33 +11119,33 @@ packages: kind-of: 3.2.2 dev: true - /object-hash/3.0.0: + /object-hash@3.0.0: resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==} engines: {node: '>= 6'} dev: false - /object-inspect/1.12.3: + /object-inspect@1.12.3: resolution: {integrity: sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==} - /object-is/1.1.5: + /object-is@1.1.5: resolution: {integrity: sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==} engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 define-properties: 1.2.0 - /object-keys/1.1.1: + /object-keys@1.1.1: resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} engines: {node: '>= 0.4'} - /object-visit/1.0.1: + /object-visit@1.0.1: resolution: {integrity: sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==} engines: {node: '>=0.10.0'} dependencies: isobject: 3.0.1 dev: true - /object.assign/4.1.4: + /object.assign@4.1.4: resolution: {integrity: sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==} engines: {node: '>= 0.4'} dependencies: @@ -11410,7 +11154,7 @@ packages: has-symbols: 1.0.3 object-keys: 1.1.1 - /object.entries/1.1.6: + /object.entries@1.1.6: resolution: {integrity: sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==} engines: {node: '>= 0.4'} dependencies: @@ -11419,7 +11163,7 @@ packages: es-abstract: 1.21.2 dev: false - /object.fromentries/2.0.6: + /object.fromentries@2.0.6: resolution: {integrity: sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==} engines: {node: '>= 0.4'} dependencies: @@ -11428,7 +11172,7 @@ packages: es-abstract: 1.21.2 dev: false - /object.getownpropertydescriptors/2.1.5: + /object.getownpropertydescriptors@2.1.5: resolution: {integrity: sha512-yDNzckpM6ntyQiGTik1fKV1DcVDRS+w8bvpWNCBanvH5LfRX9O8WTHqQzG4RZwRAM4I0oU7TV11Lj5v0g20ibw==} engines: {node: '>= 0.8'} dependencies: @@ -11437,21 +11181,21 @@ packages: define-properties: 1.2.0 es-abstract: 1.21.2 - /object.hasown/1.1.2: + /object.hasown@1.1.2: resolution: {integrity: sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw==} dependencies: define-properties: 1.2.0 es-abstract: 1.21.2 dev: false - /object.pick/1.3.0: + /object.pick@1.3.0: resolution: {integrity: sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==} engines: {node: '>=0.10.0'} dependencies: isobject: 3.0.1 dev: true - /object.values/1.1.6: + /object.values@1.1.6: resolution: {integrity: sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==} engines: {node: '>= 0.4'} dependencies: @@ -11459,39 +11203,39 @@ packages: define-properties: 1.2.0 es-abstract: 1.21.2 - /obuf/1.1.2: + /obuf@1.1.2: resolution: {integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==} - /on-finished/2.3.0: + /on-finished@2.3.0: resolution: {integrity: sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==} engines: {node: '>= 0.8'} dependencies: ee-first: 1.1.1 dev: true - /on-finished/2.4.1: + /on-finished@2.4.1: resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} engines: {node: '>= 0.8'} dependencies: ee-first: 1.1.1 - /on-headers/1.0.2: + /on-headers@1.0.2: resolution: {integrity: sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==} engines: {node: '>= 0.8'} - /once/1.4.0: + /once@1.4.0: resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} dependencies: wrappy: 1.0.2 - /onetime/5.1.2: + /onetime@5.1.2: resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} engines: {node: '>=6'} dependencies: mimic-fn: 2.1.0 dev: false - /open/8.4.2: + /open@8.4.2: resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==} engines: {node: '>=12'} dependencies: @@ -11500,19 +11244,19 @@ packages: is-wsl: 2.2.0 dev: false - /opencollective-postinstall/2.0.3: + /opencollective-postinstall@2.0.3: resolution: {integrity: sha512-8AV/sCtuzUeTo8gQK5qDZzARrulB3egtLzFgteqB2tcT4Mw7B8Kt7JcDHmltjz6FOAHsvTevk70gZEbhM4ZS9Q==} hasBin: true dev: true - /opn/5.5.0: + /opn@5.5.0: resolution: {integrity: sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA==} engines: {node: '>=4'} dependencies: is-wsl: 1.1.0 dev: true - /optimize-css-assets-webpack-plugin/5.0.8_webpack@4.46.0: + /optimize-css-assets-webpack-plugin@5.0.8(webpack@4.46.0): resolution: {integrity: sha512-mgFS1JdOtEGzD8l+EuISqL57cKO+We9GcoiQEmdCWRqqck+FGNmYJtx9qfAPzEz+lRrlThWMuGDaRkI/yWNx/Q==} peerDependencies: webpack: ^4.0.0 @@ -11522,7 +11266,7 @@ packages: webpack: 4.46.0 dev: true - /optionator/0.8.3: + /optionator@0.8.3: resolution: {integrity: sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==} engines: {node: '>= 0.8.0'} dependencies: @@ -11534,7 +11278,7 @@ packages: word-wrap: 1.2.3 dev: false - /optionator/0.9.1: + /optionator@0.9.1: resolution: {integrity: sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==} engines: {node: '>= 0.8.0'} dependencies: @@ -11545,63 +11289,63 @@ packages: type-check: 0.4.0 word-wrap: 1.2.3 - /os-browserify/0.3.0: + /os-browserify@0.3.0: resolution: {integrity: sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==} dev: true - /p-cancelable/1.1.0: + /p-cancelable@1.1.0: resolution: {integrity: sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==} engines: {node: '>=6'} dev: true - /p-finally/1.0.0: + /p-finally@1.0.0: resolution: {integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==} engines: {node: '>=4'} dev: true - /p-limit/2.3.0: + /p-limit@2.3.0: resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} engines: {node: '>=6'} dependencies: p-try: 2.2.0 - /p-limit/3.1.0: + /p-limit@3.1.0: resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} engines: {node: '>=10'} dependencies: yocto-queue: 0.1.0 - /p-locate/3.0.0: + /p-locate@3.0.0: resolution: {integrity: sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==} engines: {node: '>=6'} dependencies: p-limit: 2.3.0 - /p-locate/4.1.0: + /p-locate@4.1.0: resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} engines: {node: '>=8'} dependencies: p-limit: 2.3.0 - /p-locate/5.0.0: + /p-locate@5.0.0: resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} engines: {node: '>=10'} dependencies: p-limit: 3.1.0 - /p-map/2.1.0: + /p-map@2.1.0: resolution: {integrity: sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==} engines: {node: '>=6'} dev: true - /p-retry/3.0.1: + /p-retry@3.0.1: resolution: {integrity: sha512-XE6G4+YTTkT2a0UWb2kjZe8xNwf8bIbnqpc/IS/idOBVhyves0mK5OJgeocjx7q5pvX/6m23xuzVPYT1uGM73w==} engines: {node: '>=6'} dependencies: retry: 0.12.0 dev: true - /p-retry/4.6.2: + /p-retry@4.6.2: resolution: {integrity: sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==} engines: {node: '>=8'} dependencies: @@ -11609,11 +11353,11 @@ packages: retry: 0.13.1 dev: false - /p-try/2.2.0: + /p-try@2.2.0: resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} engines: {node: '>=6'} - /package-json/6.5.0: + /package-json@6.5.0: resolution: {integrity: sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==} engines: {node: '>=8'} dependencies: @@ -11623,11 +11367,11 @@ packages: semver: 6.3.0 dev: true - /pako/1.0.11: + /pako@1.0.11: resolution: {integrity: sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==} dev: true - /parallel-transform/1.2.0: + /parallel-transform@1.2.0: resolution: {integrity: sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==} dependencies: cyclist: 1.0.1 @@ -11635,26 +11379,26 @@ packages: readable-stream: 2.3.8 dev: true - /param-case/2.1.1: + /param-case@2.1.1: resolution: {integrity: sha512-eQE845L6ot89sk2N8liD8HAuH4ca6Vvr7VWAWwt7+kvvG5aBcPmmphQ68JsEG2qa9n1TykS2DLeMt363AAH8/w==} dependencies: no-case: 2.3.2 dev: true - /param-case/3.0.4: + /param-case@3.0.4: resolution: {integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==} dependencies: dot-case: 3.0.4 tslib: 2.5.0 dev: false - /parent-module/1.0.1: + /parent-module@1.0.1: resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} engines: {node: '>=6'} dependencies: callsites: 3.1.0 - /parse-asn1/5.1.6: + /parse-asn1@5.1.6: resolution: {integrity: sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==} dependencies: asn1.js: 5.4.1 @@ -11664,7 +11408,7 @@ packages: safe-buffer: 5.2.1 dev: true - /parse-entities/2.0.0: + /parse-entities@2.0.0: resolution: {integrity: sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==} dependencies: character-entities: 1.2.4 @@ -11675,7 +11419,7 @@ packages: is-hexadecimal: 1.0.4 dev: true - /parse-json/4.0.0: + /parse-json@4.0.0: resolution: {integrity: sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==} engines: {node: '>=4'} dependencies: @@ -11683,7 +11427,7 @@ packages: json-parse-better-errors: 1.0.2 dev: true - /parse-json/5.2.0: + /parse-json@5.2.0: resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} engines: {node: '>=8'} dependencies: @@ -11693,77 +11437,77 @@ packages: lines-and-columns: 1.2.4 dev: false - /parse5/6.0.1: + /parse5@6.0.1: resolution: {integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==} dev: false - /parseurl/1.3.3: + /parseurl@1.3.3: resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} engines: {node: '>= 0.8'} - /pascal-case/3.1.2: + /pascal-case@3.1.2: resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==} dependencies: no-case: 3.0.4 tslib: 2.5.0 dev: false - /pascalcase/0.1.1: + /pascalcase@0.1.1: resolution: {integrity: sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==} engines: {node: '>=0.10.0'} dev: true - /path-browserify/0.0.1: + /path-browserify@0.0.1: resolution: {integrity: sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==} dev: true - /path-dirname/1.0.2: + /path-dirname@1.0.2: resolution: {integrity: sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q==} dev: true - /path-exists/3.0.0: + /path-exists@3.0.0: resolution: {integrity: sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==} engines: {node: '>=4'} - /path-exists/4.0.0: + /path-exists@4.0.0: resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} engines: {node: '>=8'} - /path-is-absolute/1.0.1: + /path-is-absolute@1.0.1: resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} engines: {node: '>=0.10.0'} - /path-is-inside/1.0.2: + /path-is-inside@1.0.2: resolution: {integrity: sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==} dev: true - /path-key/2.0.1: + /path-key@2.0.1: resolution: {integrity: sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==} engines: {node: '>=4'} dev: true - /path-key/3.1.1: + /path-key@3.1.1: resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} engines: {node: '>=8'} - /path-parse/1.0.7: + /path-parse@1.0.7: resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} - /path-to-regexp/0.1.7: + /path-to-regexp@0.1.7: resolution: {integrity: sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==} - /path-type/3.0.0: + /path-type@3.0.0: resolution: {integrity: sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==} engines: {node: '>=4'} dependencies: pify: 3.0.0 dev: true - /path-type/4.0.0: + /path-type@4.0.0: resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} engines: {node: '>=8'} - /pbkdf2/3.1.2: + /pbkdf2@3.1.2: resolution: {integrity: sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==} engines: {node: '>=0.12'} dependencies: @@ -11774,119 +11518,108 @@ packages: sha.js: 2.4.11 dev: true - /perf-regexes/1.0.1: + /perf-regexes@1.0.1: resolution: {integrity: sha512-L7MXxUDtqr4PUaLFCDCXBfGV/6KLIuSEccizDI7JxT+c9x1G1v04BQ4+4oag84SHaCdrBgQAIs/Cqn+flwFPng==} engines: {node: '>=6.14'} dev: true - /perfect-scrollbar/1.5.5: + /perfect-scrollbar@1.5.5: resolution: {integrity: sha512-dzalfutyP3e/FOpdlhVryN4AJ5XDVauVWxybSkLZmakFE2sS3y3pc4JnSprw8tGmHvkaG5Edr5T7LBTZ+WWU2g==} dev: true - /performance-now/2.1.0: + /performance-now@2.1.0: resolution: {integrity: sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==} - /picocolors/0.2.1: + /picocolors@0.2.1: resolution: {integrity: sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==} - /picocolors/1.0.0: + /picocolors@1.0.0: resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} - /picomatch/2.3.1: + /picomatch@2.3.1: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} - /pify/2.3.0: + /pify@2.3.0: resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} engines: {node: '>=0.10.0'} - /pify/3.0.0: + /pify@3.0.0: resolution: {integrity: sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==} engines: {node: '>=4'} dev: true - /pify/4.0.1: + /pify@4.0.1: resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} engines: {node: '>=6'} dev: true - /pinkie-promise/2.0.1: + /pinkie-promise@2.0.1: resolution: {integrity: sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==} engines: {node: '>=0.10.0'} dependencies: pinkie: 2.0.4 dev: true - /pinkie/2.0.4: + /pinkie@2.0.4: resolution: {integrity: sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==} engines: {node: '>=0.10.0'} dev: true - /pirates/4.0.5: + /pirates@4.0.5: resolution: {integrity: sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==} engines: {node: '>= 6'} dev: false - /pixelmatch/5.3.0: + /pixelmatch@5.3.0: resolution: {integrity: sha512-o8mkY4E/+LNUf6LzX96ht6k6CEDi65k9G2rjMtBe9Oo+VPKSvl+0GKHuH/AlG+GA5LPG/i5hrekkxUc3s2HU+Q==} hasBin: true dependencies: pngjs: 6.0.0 dev: true - /pkg-dir/3.0.0: + /pkg-dir@3.0.0: resolution: {integrity: sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==} engines: {node: '>=6'} dependencies: find-up: 3.0.0 dev: true - /pkg-dir/4.2.0: + /pkg-dir@4.2.0: resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} engines: {node: '>=8'} dependencies: find-up: 4.1.0 - /pkg-up/3.1.0: + /pkg-up@3.1.0: resolution: {integrity: sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==} engines: {node: '>=8'} dependencies: find-up: 3.0.0 dev: false - /pngjs/6.0.0: + /pngjs@6.0.0: resolution: {integrity: sha512-TRzzuFRRmEoSW/p1KVAmiOgPco2Irlah+bGFCeNfJXxxYGwSw7YwAOAcd7X28K/m5bjBWKsC29KyoMfHbypayg==} engines: {node: '>=12.13.0'} dev: true - /portfinder/1.0.32: - resolution: {integrity: sha512-on2ZJVVDXRADWE6jnQaX0ioEylzgBpQk8r55NE4wjXW1ZxO+BgDlY6DXwj20i0V8eB4SenDQ00WEaxfiIQPcxg==} - engines: {node: '>= 0.12.0'} - dependencies: - async: 2.6.4 - debug: 3.2.7 - mkdirp: 0.5.6 - transitivePeerDependencies: - - supports-color - dev: true - - /portfinder/1.0.32_supports-color@6.1.0: + /portfinder@1.0.32(supports-color@6.1.0): resolution: {integrity: sha512-on2ZJVVDXRADWE6jnQaX0ioEylzgBpQk8r55NE4wjXW1ZxO+BgDlY6DXwj20i0V8eB4SenDQ00WEaxfiIQPcxg==} engines: {node: '>= 0.12.0'} dependencies: async: 2.6.4 - debug: 3.2.7_supports-color@6.1.0 + debug: 3.2.7(supports-color@6.1.0) mkdirp: 0.5.6 transitivePeerDependencies: - supports-color dev: true - /posix-character-classes/0.1.1: + /posix-character-classes@0.1.1: resolution: {integrity: sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==} engines: {node: '>=0.10.0'} dev: true - /postcss-attribute-case-insensitive/5.0.2_postcss@8.4.21: + /postcss-attribute-case-insensitive@5.0.2(postcss@8.4.21): resolution: {integrity: sha512-XIidXV8fDr0kKt28vqki84fRK8VW8eTuIa4PChv2MqKuT6C9UjmSKzen6KaWhWEoYvwxFCa7n/tC1SZ3tyq4SQ==} engines: {node: ^12 || ^14 || >=16} peerDependencies: @@ -11896,7 +11629,7 @@ packages: postcss-selector-parser: 6.0.11 dev: false - /postcss-browser-comments/4.0.0_jrpp4geoaqu5dz2gragkckznb4: + /postcss-browser-comments@4.0.0(browserslist@4.21.5)(postcss@8.4.21): resolution: {integrity: sha512-X9X9/WN3KIvY9+hNERUqX9gncsgBA25XaeR+jshHz2j8+sYyHktHw1JdKuMjeLpGktXidqDhA7b/qm1mrBDmgg==} engines: {node: '>=8'} peerDependencies: @@ -11907,7 +11640,7 @@ packages: postcss: 8.4.21 dev: false - /postcss-calc/7.0.5: + /postcss-calc@7.0.5: resolution: {integrity: sha512-1tKHutbGtLtEZF6PT4JSihCHfIVldU72mZ8SdZHIYriIZ9fh9k9aWSppaT8rHsyI3dX+KSR+W+Ix9BMY3AODrg==} dependencies: postcss: 7.0.39 @@ -11915,16 +11648,7 @@ packages: postcss-value-parser: 4.2.0 dev: true - /postcss-calc/8.2.4: - resolution: {integrity: sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==} - peerDependencies: - postcss: ^8.2.2 - dependencies: - postcss-selector-parser: 6.0.11 - postcss-value-parser: 4.2.0 - dev: true - - /postcss-calc/8.2.4_postcss@8.4.21: + /postcss-calc@8.2.4(postcss@8.4.21): resolution: {integrity: sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==} peerDependencies: postcss: ^8.2.2 @@ -11932,9 +11656,8 @@ packages: postcss: 8.4.21 postcss-selector-parser: 6.0.11 postcss-value-parser: 4.2.0 - dev: false - /postcss-clamp/4.1.0_postcss@8.4.21: + /postcss-clamp@4.1.0(postcss@8.4.21): resolution: {integrity: sha512-ry4b1Llo/9zz+PKC+030KUnPITTJAHeOwjfAyyB60eT0AorGLdzp52s31OsPRHRf8NchkgFoG2y6fCfn1IV1Ow==} engines: {node: '>=7.6.0'} peerDependencies: @@ -11944,7 +11667,7 @@ packages: postcss-value-parser: 4.2.0 dev: false - /postcss-color-functional-notation/4.2.4_postcss@8.4.21: + /postcss-color-functional-notation@4.2.4(postcss@8.4.21): resolution: {integrity: sha512-2yrTAUZUab9s6CpxkxC4rVgFEVaR6/2Pipvi6qcgvnYiVqZcbDHEoBDhrXzyb7Efh2CCfHQNtcqWcIruDTIUeg==} engines: {node: ^12 || ^14 || >=16} peerDependencies: @@ -11954,7 +11677,7 @@ packages: postcss-value-parser: 4.2.0 dev: false - /postcss-color-hex-alpha/8.0.4_postcss@8.4.21: + /postcss-color-hex-alpha@8.0.4(postcss@8.4.21): resolution: {integrity: sha512-nLo2DCRC9eE4w2JmuKgVA3fGL3d01kGq752pVALF68qpGLmx2Qrk91QTKkdUqqp45T1K1XV8IhQpcu1hoAQflQ==} engines: {node: ^12 || ^14 || >=16} peerDependencies: @@ -11964,7 +11687,7 @@ packages: postcss-value-parser: 4.2.0 dev: false - /postcss-color-rebeccapurple/7.1.1_postcss@8.4.21: + /postcss-color-rebeccapurple@7.1.1(postcss@8.4.21): resolution: {integrity: sha512-pGxkuVEInwLHgkNxUc4sdg4g3py7zUeCQ9sMfwyHAT+Ezk8a4OaaVZ8lIY5+oNqA/BXXgLyXv0+5wHP68R79hg==} engines: {node: ^12 || ^14 || >=16} peerDependencies: @@ -11974,7 +11697,7 @@ packages: postcss-value-parser: 4.2.0 dev: false - /postcss-colormin/4.0.3: + /postcss-colormin@4.0.3: resolution: {integrity: sha512-WyQFAdDZpExQh32j0U0feWisZ0dmOtPl44qYmJKkq9xFWY3p+4qnRzCHeNrkeRhwPHz9bQ3mo0/yVkaply0MNw==} engines: {node: '>=6.9.0'} dependencies: @@ -11985,19 +11708,7 @@ packages: postcss-value-parser: 3.3.1 dev: true - /postcss-colormin/5.3.1: - resolution: {integrity: sha512-UsWQG0AqTFQmpBegeLLc1+c3jIqBNB0zlDGRWR+dQ3pRKJL1oeMzyqmH3o2PIfn9MBdNrVPWhDbT769LxCTLJQ==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - browserslist: 4.21.5 - caniuse-api: 3.0.0 - colord: 2.9.3 - postcss-value-parser: 4.2.0 - dev: true - - /postcss-colormin/5.3.1_postcss@8.4.21: + /postcss-colormin@5.3.1(postcss@8.4.21): resolution: {integrity: sha512-UsWQG0AqTFQmpBegeLLc1+c3jIqBNB0zlDGRWR+dQ3pRKJL1oeMzyqmH3o2PIfn9MBdNrVPWhDbT769LxCTLJQ==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: @@ -12008,9 +11719,8 @@ packages: colord: 2.9.3 postcss: 8.4.21 postcss-value-parser: 4.2.0 - dev: false - /postcss-convert-values/4.0.1: + /postcss-convert-values@4.0.1: resolution: {integrity: sha512-Kisdo1y77KUC0Jmn0OXU/COOJbzM8cImvw1ZFsBgBgMgb1iL23Zs/LXRe3r+EZqM3vGYKdQ2YJVQ5VkJI+zEJQ==} engines: {node: '>=6.9.0'} dependencies: @@ -12018,17 +11728,7 @@ packages: postcss-value-parser: 3.3.1 dev: true - /postcss-convert-values/5.1.3: - resolution: {integrity: sha512-82pC1xkJZtcJEfiLw6UXnXVXScgtBrjlO5CBmuDQc+dlb88ZYheFsjTn40+zBVi3DkfF7iezO0nJUPLcJK3pvA==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - browserslist: 4.21.5 - postcss-value-parser: 4.2.0 - dev: true - - /postcss-convert-values/5.1.3_postcss@8.4.21: + /postcss-convert-values@5.1.3(postcss@8.4.21): resolution: {integrity: sha512-82pC1xkJZtcJEfiLw6UXnXVXScgtBrjlO5CBmuDQc+dlb88ZYheFsjTn40+zBVi3DkfF7iezO0nJUPLcJK3pvA==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: @@ -12037,9 +11737,8 @@ packages: browserslist: 4.21.5 postcss: 8.4.21 postcss-value-parser: 4.2.0 - dev: false - /postcss-custom-media/8.0.2_postcss@8.4.21: + /postcss-custom-media@8.0.2(postcss@8.4.21): resolution: {integrity: sha512-7yi25vDAoHAkbhAzX9dHx2yc6ntS4jQvejrNcC+csQJAXjj15e7VcWfMgLqBNAbOvqi5uIa9huOVwdHbf+sKqg==} engines: {node: ^12 || ^14 || >=16} peerDependencies: @@ -12049,7 +11748,7 @@ packages: postcss-value-parser: 4.2.0 dev: false - /postcss-custom-properties/12.1.11_postcss@8.4.21: + /postcss-custom-properties@12.1.11(postcss@8.4.21): resolution: {integrity: sha512-0IDJYhgU8xDv1KY6+VgUwuQkVtmYzRwu+dMjnmdMafXYv86SWqfxkc7qdDvWS38vsjaEtv8e0vGOUQrAiMBLpQ==} engines: {node: ^12 || ^14 || >=16} peerDependencies: @@ -12059,7 +11758,7 @@ packages: postcss-value-parser: 4.2.0 dev: false - /postcss-custom-selectors/6.0.3_postcss@8.4.21: + /postcss-custom-selectors@6.0.3(postcss@8.4.21): resolution: {integrity: sha512-fgVkmyiWDwmD3JbpCmB45SvvlCD6z9CG6Ie6Iere22W5aHea6oWa7EM2bpnv2Fj3I94L3VbtvX9KqwSi5aFzSg==} engines: {node: ^12 || ^14 || >=16} peerDependencies: @@ -12069,7 +11768,7 @@ packages: postcss-selector-parser: 6.0.11 dev: false - /postcss-dir-pseudo-class/6.0.5_postcss@8.4.21: + /postcss-dir-pseudo-class@6.0.5(postcss@8.4.21): resolution: {integrity: sha512-eqn4m70P031PF7ZQIvSgy9RSJ5uI2171O/OO/zcRNYpJbvaeKFUlar1aJ7rmgiQtbm0FSPsRewjpdS0Oew7MPA==} engines: {node: ^12 || ^14 || >=16} peerDependencies: @@ -12079,110 +11778,78 @@ packages: postcss-selector-parser: 6.0.11 dev: false - /postcss-discard-comments/4.0.2: + /postcss-discard-comments@4.0.2: resolution: {integrity: sha512-RJutN259iuRf3IW7GZyLM5Sw4GLTOH8FmsXBnv8Ab/Tc2k4SR4qbV4DNbyyY4+Sjo362SyDmW2DQ7lBSChrpkg==} engines: {node: '>=6.9.0'} dependencies: postcss: 7.0.39 dev: true - /postcss-discard-comments/5.1.2: - resolution: {integrity: sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dev: true - - /postcss-discard-comments/5.1.2_postcss@8.4.21: + /postcss-discard-comments@5.1.2(postcss@8.4.21): resolution: {integrity: sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: postcss: 8.4.21 - dev: false - /postcss-discard-duplicates/4.0.2: + /postcss-discard-duplicates@4.0.2: resolution: {integrity: sha512-ZNQfR1gPNAiXZhgENFfEglF93pciw0WxMkJeVmw8eF+JZBbMD7jp6C67GqJAXVZP2BWbOztKfbsdmMp/k8c6oQ==} engines: {node: '>=6.9.0'} dependencies: postcss: 7.0.39 dev: true - /postcss-discard-duplicates/5.1.0: - resolution: {integrity: sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dev: true - - /postcss-discard-duplicates/5.1.0_postcss@8.4.21: + /postcss-discard-duplicates@5.1.0(postcss@8.4.21): resolution: {integrity: sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: postcss: 8.4.21 - dev: false - /postcss-discard-empty/4.0.1: + /postcss-discard-empty@4.0.1: resolution: {integrity: sha512-B9miTzbznhDjTfjvipfHoqbWKwd0Mj+/fL5s1QOz06wufguil+Xheo4XpOnc4NqKYBCNqqEzgPv2aPBIJLox0w==} engines: {node: '>=6.9.0'} dependencies: postcss: 7.0.39 dev: true - /postcss-discard-empty/5.1.1: - resolution: {integrity: sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dev: true - - /postcss-discard-empty/5.1.1_postcss@8.4.21: + /postcss-discard-empty@5.1.1(postcss@8.4.21): resolution: {integrity: sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: postcss: 8.4.21 - dev: false - /postcss-discard-overridden/4.0.1: + /postcss-discard-overridden@4.0.1: resolution: {integrity: sha512-IYY2bEDD7g1XM1IDEsUT4//iEYCxAmP5oDSFMVU/JVvT7gh+l4fmjciLqGgwjdWpQIdb0Che2VX00QObS5+cTg==} engines: {node: '>=6.9.0'} dependencies: postcss: 7.0.39 dev: true - /postcss-discard-overridden/5.1.0: - resolution: {integrity: sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dev: true - - /postcss-discard-overridden/5.1.0_postcss@8.4.21: + /postcss-discard-overridden@5.1.0(postcss@8.4.21): resolution: {integrity: sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: postcss: 8.4.21 - dev: false - /postcss-double-position-gradients/3.1.2_postcss@8.4.21: + /postcss-double-position-gradients@3.1.2(postcss@8.4.21): resolution: {integrity: sha512-GX+FuE/uBR6eskOK+4vkXgT6pDkexLokPaz/AbJna9s5Kzp/yl488pKPjhy0obB475ovfT1Wv8ho7U/cHNaRgQ==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.2 dependencies: - '@csstools/postcss-progressive-custom-properties': 1.3.0_postcss@8.4.21 + '@csstools/postcss-progressive-custom-properties': 1.3.0(postcss@8.4.21) postcss: 8.4.21 postcss-value-parser: 4.2.0 dev: false - /postcss-env-function/4.0.6_postcss@8.4.21: + /postcss-env-function@4.0.6(postcss@8.4.21): resolution: {integrity: sha512-kpA6FsLra+NqcFnL81TnsU+Z7orGtDTxcOhl6pwXeEq1yFPpRMkCDpHhrz8CFQDr/Wfm0jLiNQ1OsGGPjlqPwA==} engines: {node: ^12 || ^14 || >=16} peerDependencies: @@ -12192,7 +11859,7 @@ packages: postcss-value-parser: 4.2.0 dev: false - /postcss-flexbugs-fixes/5.0.2_postcss@8.4.21: + /postcss-flexbugs-fixes@5.0.2(postcss@8.4.21): resolution: {integrity: sha512-18f9voByak7bTktR2QgDveglpn9DTbBWPUzSOe9g0N4WR/2eSt6Vrcbf0hmspvMI6YWGywz6B9f7jzpFNJJgnQ==} peerDependencies: postcss: ^8.1.4 @@ -12200,7 +11867,7 @@ packages: postcss: 8.4.21 dev: false - /postcss-focus-visible/6.0.4_postcss@8.4.21: + /postcss-focus-visible@6.0.4(postcss@8.4.21): resolution: {integrity: sha512-QcKuUU/dgNsstIK6HELFRT5Y3lbrMLEOwG+A4s5cA+fx3A3y/JTq3X9LaOj3OC3ALH0XqyrgQIgey/MIZ8Wczw==} engines: {node: ^12 || ^14 || >=16} peerDependencies: @@ -12210,7 +11877,7 @@ packages: postcss-selector-parser: 6.0.11 dev: false - /postcss-focus-within/5.0.4_postcss@8.4.21: + /postcss-focus-within@5.0.4(postcss@8.4.21): resolution: {integrity: sha512-vvjDN++C0mu8jz4af5d52CB184ogg/sSxAFS+oUJQq2SuCe7T5U2iIsVJtsCp2d6R4j0jr5+q3rPkBVZkXD9fQ==} engines: {node: ^12 || ^14 || >=16} peerDependencies: @@ -12220,7 +11887,7 @@ packages: postcss-selector-parser: 6.0.11 dev: false - /postcss-font-variant/5.0.0_postcss@8.4.21: + /postcss-font-variant@5.0.0(postcss@8.4.21): resolution: {integrity: sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA==} peerDependencies: postcss: ^8.1.0 @@ -12228,7 +11895,7 @@ packages: postcss: 8.4.21 dev: false - /postcss-gap-properties/3.0.5_postcss@8.4.21: + /postcss-gap-properties@3.0.5(postcss@8.4.21): resolution: {integrity: sha512-IuE6gKSdoUNcvkGIqdtjtcMtZIFyXZhmFd5RUlg97iVEvp1BZKV5ngsAjCjrVy+14uhGBQl9tzmi1Qwq4kqVOg==} engines: {node: ^12 || ^14 || >=16} peerDependencies: @@ -12237,7 +11904,7 @@ packages: postcss: 8.4.21 dev: false - /postcss-image-set-function/4.0.7_postcss@8.4.21: + /postcss-image-set-function@4.0.7(postcss@8.4.21): resolution: {integrity: sha512-9T2r9rsvYzm5ndsBE8WgtrMlIT7VbtTfE7b3BQnudUqnBcBo7L758oc+o+pdj/dUV0l5wjwSdjeOH2DZtfv8qw==} engines: {node: ^12 || ^14 || >=16} peerDependencies: @@ -12247,7 +11914,7 @@ packages: postcss-value-parser: 4.2.0 dev: false - /postcss-import/12.0.1: + /postcss-import@12.0.1: resolution: {integrity: sha512-3Gti33dmCjyKBgimqGxL3vcV8w9+bsHwO5UrBawp796+jdardbcFl4RP5w/76BwNL7aGzpKstIfF9I+kdE8pTw==} engines: {node: '>=6.0.0'} dependencies: @@ -12257,7 +11924,7 @@ packages: resolve: 1.22.1 dev: true - /postcss-import/14.1.0_postcss@8.4.21: + /postcss-import@14.1.0(postcss@8.4.21): resolution: {integrity: sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==} engines: {node: '>=10.0.0'} peerDependencies: @@ -12269,7 +11936,7 @@ packages: resolve: 1.22.1 dev: false - /postcss-initial/4.0.1_postcss@8.4.21: + /postcss-initial@4.0.1(postcss@8.4.21): resolution: {integrity: sha512-0ueD7rPqX8Pn1xJIjay0AZeIuDoF+V+VvMt/uOnn+4ezUKhZM/NokDeP6DwMNyIoYByuN/94IQnt5FEkaN59xQ==} peerDependencies: postcss: ^8.0.0 @@ -12277,7 +11944,7 @@ packages: postcss: 8.4.21 dev: false - /postcss-js/4.0.1_postcss@8.4.21: + /postcss-js@4.0.1(postcss@8.4.21): resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==} engines: {node: ^12 || ^14 || >= 16} peerDependencies: @@ -12287,18 +11954,18 @@ packages: postcss: 8.4.21 dev: false - /postcss-lab-function/4.2.1_postcss@8.4.21: + /postcss-lab-function@4.2.1(postcss@8.4.21): resolution: {integrity: sha512-xuXll4isR03CrQsmxyz92LJB2xX9n+pZJ5jE9JgcnmsCammLyKdlzrBin+25dy6wIjfhJpKBAN80gsTlCgRk2w==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.2 dependencies: - '@csstools/postcss-progressive-custom-properties': 1.3.0_postcss@8.4.21 + '@csstools/postcss-progressive-custom-properties': 1.3.0(postcss@8.4.21) postcss: 8.4.21 postcss-value-parser: 4.2.0 dev: false - /postcss-load-config/2.1.2: + /postcss-load-config@2.1.2: resolution: {integrity: sha512-/rDeGV6vMUo3mwJZmeHfEDvwnTKKqQ0S7OHUi/kJvvtx3aWtyWG2/0ZWnzCt2keEclwN6Tf0DST2v9kITdOKYw==} engines: {node: '>= 4'} dependencies: @@ -12306,7 +11973,7 @@ packages: import-cwd: 2.1.0 dev: true - /postcss-load-config/3.1.4_postcss@8.4.21: + /postcss-load-config@3.1.4(postcss@8.4.21): resolution: {integrity: sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==} engines: {node: '>= 10'} peerDependencies: @@ -12323,7 +11990,7 @@ packages: yaml: 1.10.2 dev: false - /postcss-loader/3.0.0: + /postcss-loader@3.0.0: resolution: {integrity: sha512-cLWoDEY5OwHcAjDnkyRQzAXfs2jrKjXpO/HQFcc5b5u/r7aa471wdmChmwfnv7x2u840iat/wi0lQ5nbRgSkUA==} engines: {node: '>= 6'} dependencies: @@ -12333,7 +12000,7 @@ packages: schema-utils: 1.0.0 dev: true - /postcss-loader/6.2.1_twwyhqqim6liv4fz2ggv7g4m5a: + /postcss-loader@6.2.1(postcss@8.4.21)(webpack@5.76.3): resolution: {integrity: sha512-WbbYpmAaKcux/P66bZ40bpWsBucjx/TTgVVzRZ9yUO8yQfVBlameJ0ZGVaPfH64hNSBh63a+ICP5nqOpBA0w+Q==} engines: {node: '>= 12.13.0'} peerDependencies: @@ -12344,10 +12011,10 @@ packages: klona: 2.0.6 postcss: 8.4.21 semver: 7.3.8 - webpack: 5.76.3 + webpack: 5.76.3(@swc/core@1.3.42) dev: false - /postcss-logical/5.0.4_postcss@8.4.21: + /postcss-logical@5.0.4(postcss@8.4.21): resolution: {integrity: sha512-RHXxplCeLh9VjinvMrZONq7im4wjWGlRJAqmAVLXyZaXwfDWP73/oq4NdIp+OZwhQUMj0zjqDfM5Fj7qby+B4g==} engines: {node: ^12 || ^14 || >=16} peerDependencies: @@ -12356,7 +12023,7 @@ packages: postcss: 8.4.21 dev: false - /postcss-media-minmax/5.0.0_postcss@8.4.21: + /postcss-media-minmax@5.0.0(postcss@8.4.21): resolution: {integrity: sha512-yDUvFf9QdFZTuCUg0g0uNSHVlJ5X1lSzDZjPSFaiCWvjgsvu8vEVxtahPrLMinIDEEGnx6cBe6iqdx5YWz08wQ==} engines: {node: '>=10.0.0'} peerDependencies: @@ -12365,7 +12032,7 @@ packages: postcss: 8.4.21 dev: false - /postcss-merge-longhand/4.0.11: + /postcss-merge-longhand@4.0.11: resolution: {integrity: sha512-alx/zmoeXvJjp7L4mxEMjh8lxVlDFX1gqWHzaaQewwMZiVhLo42TEClKaeHbRf6J7j82ZOdTJ808RtN0ZOZwvw==} engines: {node: '>=6.9.0'} dependencies: @@ -12375,17 +12042,7 @@ packages: stylehacks: 4.0.3 dev: true - /postcss-merge-longhand/5.1.7: - resolution: {integrity: sha512-YCI9gZB+PLNskrK0BB3/2OzPnGhPkBEwmwhfYk1ilBHYVAZB7/tkTHFBAnCrvBBOmeYyMYw3DMjT55SyxMBzjQ==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - postcss-value-parser: 4.2.0 - stylehacks: 5.1.1 - dev: true - - /postcss-merge-longhand/5.1.7_postcss@8.4.21: + /postcss-merge-longhand@5.1.7(postcss@8.4.21): resolution: {integrity: sha512-YCI9gZB+PLNskrK0BB3/2OzPnGhPkBEwmwhfYk1ilBHYVAZB7/tkTHFBAnCrvBBOmeYyMYw3DMjT55SyxMBzjQ==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: @@ -12393,10 +12050,9 @@ packages: dependencies: postcss: 8.4.21 postcss-value-parser: 4.2.0 - stylehacks: 5.1.1_postcss@8.4.21 - dev: false + stylehacks: 5.1.1(postcss@8.4.21) - /postcss-merge-rules/4.0.3: + /postcss-merge-rules@4.0.3: resolution: {integrity: sha512-U7e3r1SbvYzO0Jr3UT/zKBVgYYyhAz0aitvGIYOYK5CPmkNih+WDSsS5tvPrJ8YMQYlEMvsZIiqmn7HdFUaeEQ==} engines: {node: '>=6.9.0'} dependencies: @@ -12408,7 +12064,7 @@ packages: vendors: 1.0.4 dev: true - /postcss-merge-rules/5.1.4: + /postcss-merge-rules@5.1.4(postcss@8.4.21): resolution: {integrity: sha512-0R2IuYpgU93y9lhVbO/OylTtKMVcHb67zjWIfCiKR9rWL3GUk1677LAqD/BcHizukdZEjT8Ru3oHRoAYoJy44g==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: @@ -12416,24 +12072,11 @@ packages: dependencies: browserslist: 4.21.5 caniuse-api: 3.0.0 - cssnano-utils: 3.1.0 - postcss-selector-parser: 6.0.11 - dev: true - - /postcss-merge-rules/5.1.4_postcss@8.4.21: - resolution: {integrity: sha512-0R2IuYpgU93y9lhVbO/OylTtKMVcHb67zjWIfCiKR9rWL3GUk1677LAqD/BcHizukdZEjT8Ru3oHRoAYoJy44g==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - browserslist: 4.21.5 - caniuse-api: 3.0.0 - cssnano-utils: 3.1.0_postcss@8.4.21 + cssnano-utils: 3.1.0(postcss@8.4.21) postcss: 8.4.21 postcss-selector-parser: 6.0.11 - dev: false - /postcss-minify-font-values/4.0.2: + /postcss-minify-font-values@4.0.2: resolution: {integrity: sha512-j85oO6OnRU9zPf04+PZv1LYIYOprWm6IA6zkXkrJXyRveDEuQggG6tvoy8ir8ZwjLxLuGfNkCZEQG7zan+Hbtg==} engines: {node: '>=6.9.0'} dependencies: @@ -12441,16 +12084,7 @@ packages: postcss-value-parser: 3.3.1 dev: true - /postcss-minify-font-values/5.1.0: - resolution: {integrity: sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - postcss-value-parser: 4.2.0 - dev: true - - /postcss-minify-font-values/5.1.0_postcss@8.4.21: + /postcss-minify-font-values@5.1.0(postcss@8.4.21): resolution: {integrity: sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: @@ -12458,9 +12092,8 @@ packages: dependencies: postcss: 8.4.21 postcss-value-parser: 4.2.0 - dev: false - /postcss-minify-gradients/4.0.2: + /postcss-minify-gradients@4.0.2: resolution: {integrity: sha512-qKPfwlONdcf/AndP1U8SJ/uzIJtowHlMaSioKzebAXSG4iJthlWC9iSWznQcX4f66gIWX44RSA841HTHj3wK+Q==} engines: {node: '>=6.9.0'} dependencies: @@ -12470,30 +12103,18 @@ packages: postcss-value-parser: 3.3.1 dev: true - /postcss-minify-gradients/5.1.1: + /postcss-minify-gradients@5.1.1(postcss@8.4.21): resolution: {integrity: sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: colord: 2.9.3 - cssnano-utils: 3.1.0 - postcss-value-parser: 4.2.0 - dev: true - - /postcss-minify-gradients/5.1.1_postcss@8.4.21: - resolution: {integrity: sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - colord: 2.9.3 - cssnano-utils: 3.1.0_postcss@8.4.21 + cssnano-utils: 3.1.0(postcss@8.4.21) postcss: 8.4.21 postcss-value-parser: 4.2.0 - dev: false - /postcss-minify-params/4.0.2: + /postcss-minify-params@4.0.2: resolution: {integrity: sha512-G7eWyzEx0xL4/wiBBJxJOz48zAKV2WG3iZOqVhPet/9geefm/Px5uo1fzlHu+DOjT+m0Mmiz3jkQzVHe6wxAWg==} engines: {node: '>=6.9.0'} dependencies: @@ -12505,30 +12126,18 @@ packages: uniqs: 2.0.0 dev: true - /postcss-minify-params/5.1.4: + /postcss-minify-params@5.1.4(postcss@8.4.21): resolution: {integrity: sha512-+mePA3MgdmVmv6g+30rn57USjOGSAyuxUmkfiWpzalZ8aiBkdPYjXWtHuwJGm1v5Ojy0Z0LaSYhHaLJQB0P8Jw==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: browserslist: 4.21.5 - cssnano-utils: 3.1.0 - postcss-value-parser: 4.2.0 - dev: true - - /postcss-minify-params/5.1.4_postcss@8.4.21: - resolution: {integrity: sha512-+mePA3MgdmVmv6g+30rn57USjOGSAyuxUmkfiWpzalZ8aiBkdPYjXWtHuwJGm1v5Ojy0Z0LaSYhHaLJQB0P8Jw==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - browserslist: 4.21.5 - cssnano-utils: 3.1.0_postcss@8.4.21 + cssnano-utils: 3.1.0(postcss@8.4.21) postcss: 8.4.21 postcss-value-parser: 4.2.0 - dev: false - /postcss-minify-selectors/4.0.2: + /postcss-minify-selectors@4.0.2: resolution: {integrity: sha512-D5S1iViljXBj9kflQo4YutWnJmwm8VvIsU1GeXJGiG9j8CIg9zs4voPMdQDUmIxetUOh60VilsNzCiAFTOqu3g==} engines: {node: '>=6.9.0'} dependencies: @@ -12538,16 +12147,7 @@ packages: postcss-selector-parser: 3.1.2 dev: true - /postcss-minify-selectors/5.2.1: - resolution: {integrity: sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - postcss-selector-parser: 6.0.11 - dev: true - - /postcss-minify-selectors/5.2.1_postcss@8.4.21: + /postcss-minify-selectors@5.2.1(postcss@8.4.21): resolution: {integrity: sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: @@ -12555,16 +12155,15 @@ packages: dependencies: postcss: 8.4.21 postcss-selector-parser: 6.0.11 - dev: false - /postcss-modules-extract-imports/2.0.0: + /postcss-modules-extract-imports@2.0.0: resolution: {integrity: sha512-LaYLDNS4SG8Q5WAWqIJgdHPJrDDr/Lv775rMBFUbgjTz6j34lUznACHcdRWroPvXANP2Vj7yNK57vp9eFqzLWQ==} engines: {node: '>= 6'} dependencies: postcss: 7.0.39 dev: true - /postcss-modules-extract-imports/3.0.0_postcss@8.4.21: + /postcss-modules-extract-imports@3.0.0(postcss@8.4.21): resolution: {integrity: sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: @@ -12573,7 +12172,7 @@ packages: postcss: 8.4.21 dev: false - /postcss-modules-local-by-default/2.0.6: + /postcss-modules-local-by-default@2.0.6: resolution: {integrity: sha512-oLUV5YNkeIBa0yQl7EYnxMgy4N6noxmiwZStaEJUSe2xPMcdNc8WmBQuQCx18H5psYbVxz8zoHk0RAAYZXP9gA==} engines: {node: '>= 6'} dependencies: @@ -12582,19 +12181,19 @@ packages: postcss-value-parser: 3.3.1 dev: true - /postcss-modules-local-by-default/4.0.0_postcss@8.4.21: + /postcss-modules-local-by-default@4.0.0(postcss@8.4.21): resolution: {integrity: sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - icss-utils: 5.1.0_postcss@8.4.21 + icss-utils: 5.1.0(postcss@8.4.21) postcss: 8.4.21 postcss-selector-parser: 6.0.11 postcss-value-parser: 4.2.0 dev: false - /postcss-modules-scope/2.2.0: + /postcss-modules-scope@2.2.0: resolution: {integrity: sha512-YyEgsTMRpNd+HmyC7H/mh3y+MeFWevy7V1evVhJWewmMbjDHIbZbOXICC2y+m1xI1UVfIT1HMW/O04Hxyu9oXQ==} engines: {node: '>= 6'} dependencies: @@ -12602,7 +12201,7 @@ packages: postcss-selector-parser: 6.0.11 dev: true - /postcss-modules-scope/3.0.0_postcss@8.4.21: + /postcss-modules-scope@3.0.0(postcss@8.4.21): resolution: {integrity: sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: @@ -12612,24 +12211,24 @@ packages: postcss-selector-parser: 6.0.11 dev: false - /postcss-modules-values/2.0.0: + /postcss-modules-values@2.0.0: resolution: {integrity: sha512-Ki7JZa7ff1N3EIMlPnGTZfUMe69FFwiQPnVSXC9mnn3jozCRBYIxiZd44yJOV2AmabOo4qFf8s0dC/+lweG7+w==} dependencies: icss-replace-symbols: 1.1.0 postcss: 7.0.39 dev: true - /postcss-modules-values/4.0.0_postcss@8.4.21: + /postcss-modules-values@4.0.0(postcss@8.4.21): resolution: {integrity: sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - icss-utils: 5.1.0_postcss@8.4.21 + icss-utils: 5.1.0(postcss@8.4.21) postcss: 8.4.21 dev: false - /postcss-nested/6.0.0_postcss@8.4.21: + /postcss-nested@6.0.0(postcss@8.4.21): resolution: {integrity: sha512-0DkamqrPcmkBDsLn+vQDIrtkSbNkv5AD/M322ySo9kqFkCIYklym2xEmWkwo+Y3/qZo34tzEPNUw4y7yMCdv5w==} engines: {node: '>=12.0'} peerDependencies: @@ -12639,41 +12238,33 @@ packages: postcss-selector-parser: 6.0.11 dev: false - /postcss-nesting/10.2.0_postcss@8.4.21: + /postcss-nesting@10.2.0(postcss@8.4.21): resolution: {integrity: sha512-EwMkYchxiDiKUhlJGzWsD9b2zvq/r2SSubcRrgP+jujMXFzqvANLt16lJANC+5uZ6hjI7lpRmI6O8JIl+8l1KA==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.2 dependencies: - '@csstools/selector-specificity': 2.2.0_laljekdltgzr3kfi7r4exvsr5a + '@csstools/selector-specificity': 2.2.0(postcss-selector-parser@6.0.11) postcss: 8.4.21 postcss-selector-parser: 6.0.11 dev: false - /postcss-normalize-charset/4.0.1: + /postcss-normalize-charset@4.0.1: resolution: {integrity: sha512-gMXCrrlWh6G27U0hF3vNvR3w8I1s2wOBILvA87iNXaPvSNo5uZAMYsZG7XjCUf1eVxuPfyL4TJ7++SGZLc9A3g==} engines: {node: '>=6.9.0'} dependencies: postcss: 7.0.39 dev: true - /postcss-normalize-charset/5.1.0: - resolution: {integrity: sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dev: true - - /postcss-normalize-charset/5.1.0_postcss@8.4.21: + /postcss-normalize-charset@5.1.0(postcss@8.4.21): resolution: {integrity: sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: postcss: 8.4.21 - dev: false - /postcss-normalize-display-values/4.0.2: + /postcss-normalize-display-values@4.0.2: resolution: {integrity: sha512-3F2jcsaMW7+VtRMAqf/3m4cPFhPD3EFRgNs18u+k3lTJJlVe7d0YPO+bnwqo2xg8YiRpDXJI2u8A0wqJxMsQuQ==} engines: {node: '>=6.9.0'} dependencies: @@ -12682,16 +12273,7 @@ packages: postcss-value-parser: 3.3.1 dev: true - /postcss-normalize-display-values/5.1.0: - resolution: {integrity: sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - postcss-value-parser: 4.2.0 - dev: true - - /postcss-normalize-display-values/5.1.0_postcss@8.4.21: + /postcss-normalize-display-values@5.1.0(postcss@8.4.21): resolution: {integrity: sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: @@ -12699,9 +12281,8 @@ packages: dependencies: postcss: 8.4.21 postcss-value-parser: 4.2.0 - dev: false - /postcss-normalize-positions/4.0.2: + /postcss-normalize-positions@4.0.2: resolution: {integrity: sha512-Dlf3/9AxpxE+NF1fJxYDeggi5WwV35MXGFnnoccP/9qDtFrTArZ0D0R+iKcg5WsUd8nUYMIl8yXDCtcrT8JrdA==} engines: {node: '>=6.9.0'} dependencies: @@ -12711,16 +12292,7 @@ packages: postcss-value-parser: 3.3.1 dev: true - /postcss-normalize-positions/5.1.1: - resolution: {integrity: sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - postcss-value-parser: 4.2.0 - dev: true - - /postcss-normalize-positions/5.1.1_postcss@8.4.21: + /postcss-normalize-positions@5.1.1(postcss@8.4.21): resolution: {integrity: sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: @@ -12728,9 +12300,8 @@ packages: dependencies: postcss: 8.4.21 postcss-value-parser: 4.2.0 - dev: false - /postcss-normalize-repeat-style/4.0.2: + /postcss-normalize-repeat-style@4.0.2: resolution: {integrity: sha512-qvigdYYMpSuoFs3Is/f5nHdRLJN/ITA7huIoCyqqENJe9PvPmLhNLMu7QTjPdtnVf6OcYYO5SHonx4+fbJE1+Q==} engines: {node: '>=6.9.0'} dependencies: @@ -12740,16 +12311,7 @@ packages: postcss-value-parser: 3.3.1 dev: true - /postcss-normalize-repeat-style/5.1.1: - resolution: {integrity: sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - postcss-value-parser: 4.2.0 - dev: true - - /postcss-normalize-repeat-style/5.1.1_postcss@8.4.21: + /postcss-normalize-repeat-style@5.1.1(postcss@8.4.21): resolution: {integrity: sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: @@ -12757,9 +12319,8 @@ packages: dependencies: postcss: 8.4.21 postcss-value-parser: 4.2.0 - dev: false - /postcss-normalize-string/4.0.2: + /postcss-normalize-string@4.0.2: resolution: {integrity: sha512-RrERod97Dnwqq49WNz8qo66ps0swYZDSb6rM57kN2J+aoyEAJfZ6bMx0sx/F9TIEX0xthPGCmeyiam/jXif0eA==} engines: {node: '>=6.9.0'} dependencies: @@ -12768,16 +12329,7 @@ packages: postcss-value-parser: 3.3.1 dev: true - /postcss-normalize-string/5.1.0: - resolution: {integrity: sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - postcss-value-parser: 4.2.0 - dev: true - - /postcss-normalize-string/5.1.0_postcss@8.4.21: + /postcss-normalize-string@5.1.0(postcss@8.4.21): resolution: {integrity: sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: @@ -12785,9 +12337,8 @@ packages: dependencies: postcss: 8.4.21 postcss-value-parser: 4.2.0 - dev: false - /postcss-normalize-timing-functions/4.0.2: + /postcss-normalize-timing-functions@4.0.2: resolution: {integrity: sha512-acwJY95edP762e++00Ehq9L4sZCEcOPyaHwoaFOhIwWCDfik6YvqsYNxckee65JHLKzuNSSmAdxwD2Cud1Z54A==} engines: {node: '>=6.9.0'} dependencies: @@ -12796,16 +12347,7 @@ packages: postcss-value-parser: 3.3.1 dev: true - /postcss-normalize-timing-functions/5.1.0: - resolution: {integrity: sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - postcss-value-parser: 4.2.0 - dev: true - - /postcss-normalize-timing-functions/5.1.0_postcss@8.4.21: + /postcss-normalize-timing-functions@5.1.0(postcss@8.4.21): resolution: {integrity: sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: @@ -12813,9 +12355,8 @@ packages: dependencies: postcss: 8.4.21 postcss-value-parser: 4.2.0 - dev: false - /postcss-normalize-unicode/4.0.1: + /postcss-normalize-unicode@4.0.1: resolution: {integrity: sha512-od18Uq2wCYn+vZ/qCOeutvHjB5jm57ToxRaMeNuf0nWVHaP9Hua56QyMF6fs/4FSUnVIw0CBPsU0K4LnBPwYwg==} engines: {node: '>=6.9.0'} dependencies: @@ -12824,17 +12365,7 @@ packages: postcss-value-parser: 3.3.1 dev: true - /postcss-normalize-unicode/5.1.1: - resolution: {integrity: sha512-qnCL5jzkNUmKVhZoENp1mJiGNPcsJCs1aaRmURmeJGES23Z/ajaln+EPTD+rBeNkSryI+2WTdW+lwcVdOikrpA==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - browserslist: 4.21.5 - postcss-value-parser: 4.2.0 - dev: true - - /postcss-normalize-unicode/5.1.1_postcss@8.4.21: + /postcss-normalize-unicode@5.1.1(postcss@8.4.21): resolution: {integrity: sha512-qnCL5jzkNUmKVhZoENp1mJiGNPcsJCs1aaRmURmeJGES23Z/ajaln+EPTD+rBeNkSryI+2WTdW+lwcVdOikrpA==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: @@ -12843,9 +12374,8 @@ packages: browserslist: 4.21.5 postcss: 8.4.21 postcss-value-parser: 4.2.0 - dev: false - /postcss-normalize-url/4.0.1: + /postcss-normalize-url@4.0.1: resolution: {integrity: sha512-p5oVaF4+IHwu7VpMan/SSpmpYxcJMtkGppYf0VbdH5B6hN8YNmVyJLuY9FmLQTzY3fag5ESUUHDqM+heid0UVA==} engines: {node: '>=6.9.0'} dependencies: @@ -12855,17 +12385,7 @@ packages: postcss-value-parser: 3.3.1 dev: true - /postcss-normalize-url/5.1.0: - resolution: {integrity: sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - normalize-url: 6.1.0 - postcss-value-parser: 4.2.0 - dev: true - - /postcss-normalize-url/5.1.0_postcss@8.4.21: + /postcss-normalize-url@5.1.0(postcss@8.4.21): resolution: {integrity: sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: @@ -12874,9 +12394,8 @@ packages: normalize-url: 6.1.0 postcss: 8.4.21 postcss-value-parser: 4.2.0 - dev: false - /postcss-normalize-whitespace/4.0.2: + /postcss-normalize-whitespace@4.0.2: resolution: {integrity: sha512-tO8QIgrsI3p95r8fyqKV+ufKlSHh9hMJqACqbv2XknufqEDhDvbguXGBBqxw9nsQoXWf0qOqppziKJKHMD4GtA==} engines: {node: '>=6.9.0'} dependencies: @@ -12884,16 +12403,7 @@ packages: postcss-value-parser: 3.3.1 dev: true - /postcss-normalize-whitespace/5.1.1: - resolution: {integrity: sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - postcss-value-parser: 4.2.0 - dev: true - - /postcss-normalize-whitespace/5.1.1_postcss@8.4.21: + /postcss-normalize-whitespace@5.1.1(postcss@8.4.21): resolution: {integrity: sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: @@ -12901,9 +12411,8 @@ packages: dependencies: postcss: 8.4.21 postcss-value-parser: 4.2.0 - dev: false - /postcss-normalize/10.0.1_jrpp4geoaqu5dz2gragkckznb4: + /postcss-normalize@10.0.1(browserslist@4.21.5)(postcss@8.4.21): resolution: {integrity: sha512-+5w18/rDev5mqERcG3W5GZNMJa1eoYYNGo8gB7tEwaos0ajk3ZXAI4mHGcNT47NE+ZnZD1pEpUOFLvltIwmeJA==} engines: {node: '>= 12'} peerDependencies: @@ -12913,11 +12422,11 @@ packages: '@csstools/normalize.css': 12.0.0 browserslist: 4.21.5 postcss: 8.4.21 - postcss-browser-comments: 4.0.0_jrpp4geoaqu5dz2gragkckznb4 + postcss-browser-comments: 4.0.0(browserslist@4.21.5)(postcss@8.4.21) sanitize.css: 13.0.0 dev: false - /postcss-opacity-percentage/1.1.3_postcss@8.4.21: + /postcss-opacity-percentage@1.1.3(postcss@8.4.21): resolution: {integrity: sha512-An6Ba4pHBiDtyVpSLymUUERMo2cU7s+Obz6BTrS+gxkbnSBNKSuD0AVUc+CpBMrpVPKKfoVz0WQCX+Tnst0i4A==} engines: {node: ^12 || ^14 || >=16} peerDependencies: @@ -12926,7 +12435,7 @@ packages: postcss: 8.4.21 dev: false - /postcss-ordered-values/4.1.2: + /postcss-ordered-values@4.1.2: resolution: {integrity: sha512-2fCObh5UanxvSxeXrtLtlwVThBvHn6MQcu4ksNT2tsaV2Fg76R2CV98W7wNSlX+5/pFwEyaDwKLLoEV7uRybAw==} engines: {node: '>=6.9.0'} dependencies: @@ -12935,28 +12444,17 @@ packages: postcss-value-parser: 3.3.1 dev: true - /postcss-ordered-values/5.1.3: - resolution: {integrity: sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - cssnano-utils: 3.1.0 - postcss-value-parser: 4.2.0 - dev: true - - /postcss-ordered-values/5.1.3_postcss@8.4.21: + /postcss-ordered-values@5.1.3(postcss@8.4.21): resolution: {integrity: sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - cssnano-utils: 3.1.0_postcss@8.4.21 + cssnano-utils: 3.1.0(postcss@8.4.21) postcss: 8.4.21 postcss-value-parser: 4.2.0 - dev: false - /postcss-overflow-shorthand/3.0.4_postcss@8.4.21: + /postcss-overflow-shorthand@3.0.4(postcss@8.4.21): resolution: {integrity: sha512-otYl/ylHK8Y9bcBnPLo3foYFLL6a6Ak+3EQBPOTR7luMYCOsiVTUk1iLvNf6tVPNGXcoL9Hoz37kpfriRIFb4A==} engines: {node: ^12 || ^14 || >=16} peerDependencies: @@ -12966,7 +12464,7 @@ packages: postcss-value-parser: 4.2.0 dev: false - /postcss-page-break/3.0.4_postcss@8.4.21: + /postcss-page-break@3.0.4(postcss@8.4.21): resolution: {integrity: sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ==} peerDependencies: postcss: ^8 @@ -12974,7 +12472,7 @@ packages: postcss: 8.4.21 dev: false - /postcss-place/7.0.5_postcss@8.4.21: + /postcss-place@7.0.5(postcss@8.4.21): resolution: {integrity: sha512-wR8igaZROA6Z4pv0d+bvVrvGY4GVHihBCBQieXFY3kuSuMyOmEnnfFzHl/tQuqHZkfkIVBEbDvYcFfHmpSet9g==} engines: {node: ^12 || ^14 || >=16} peerDependencies: @@ -12984,65 +12482,65 @@ packages: postcss-value-parser: 4.2.0 dev: false - /postcss-preset-env/7.8.3_postcss@8.4.21: + /postcss-preset-env@7.8.3(postcss@8.4.21): resolution: {integrity: sha512-T1LgRm5uEVFSEF83vHZJV2z19lHg4yJuZ6gXZZkqVsqv63nlr6zabMH3l4Pc01FQCyfWVrh2GaUeCVy9Po+Aag==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.2 dependencies: - '@csstools/postcss-cascade-layers': 1.1.1_postcss@8.4.21 - '@csstools/postcss-color-function': 1.1.1_postcss@8.4.21 - '@csstools/postcss-font-format-keywords': 1.0.1_postcss@8.4.21 - '@csstools/postcss-hwb-function': 1.0.2_postcss@8.4.21 - '@csstools/postcss-ic-unit': 1.0.1_postcss@8.4.21 - '@csstools/postcss-is-pseudo-class': 2.0.7_postcss@8.4.21 - '@csstools/postcss-nested-calc': 1.0.0_postcss@8.4.21 - '@csstools/postcss-normalize-display-values': 1.0.1_postcss@8.4.21 - '@csstools/postcss-oklab-function': 1.1.1_postcss@8.4.21 - '@csstools/postcss-progressive-custom-properties': 1.3.0_postcss@8.4.21 - '@csstools/postcss-stepped-value-functions': 1.0.1_postcss@8.4.21 - '@csstools/postcss-text-decoration-shorthand': 1.0.0_postcss@8.4.21 - '@csstools/postcss-trigonometric-functions': 1.0.2_postcss@8.4.21 - '@csstools/postcss-unset-value': 1.0.2_postcss@8.4.21 - autoprefixer: 10.4.14_postcss@8.4.21 + '@csstools/postcss-cascade-layers': 1.1.1(postcss@8.4.21) + '@csstools/postcss-color-function': 1.1.1(postcss@8.4.21) + '@csstools/postcss-font-format-keywords': 1.0.1(postcss@8.4.21) + '@csstools/postcss-hwb-function': 1.0.2(postcss@8.4.21) + '@csstools/postcss-ic-unit': 1.0.1(postcss@8.4.21) + '@csstools/postcss-is-pseudo-class': 2.0.7(postcss@8.4.21) + '@csstools/postcss-nested-calc': 1.0.0(postcss@8.4.21) + '@csstools/postcss-normalize-display-values': 1.0.1(postcss@8.4.21) + '@csstools/postcss-oklab-function': 1.1.1(postcss@8.4.21) + '@csstools/postcss-progressive-custom-properties': 1.3.0(postcss@8.4.21) + '@csstools/postcss-stepped-value-functions': 1.0.1(postcss@8.4.21) + '@csstools/postcss-text-decoration-shorthand': 1.0.0(postcss@8.4.21) + '@csstools/postcss-trigonometric-functions': 1.0.2(postcss@8.4.21) + '@csstools/postcss-unset-value': 1.0.2(postcss@8.4.21) + autoprefixer: 10.4.14(postcss@8.4.21) browserslist: 4.21.5 - css-blank-pseudo: 3.0.3_postcss@8.4.21 - css-has-pseudo: 3.0.4_postcss@8.4.21 - css-prefers-color-scheme: 6.0.3_postcss@8.4.21 + css-blank-pseudo: 3.0.3(postcss@8.4.21) + css-has-pseudo: 3.0.4(postcss@8.4.21) + css-prefers-color-scheme: 6.0.3(postcss@8.4.21) cssdb: 7.5.2 postcss: 8.4.21 - postcss-attribute-case-insensitive: 5.0.2_postcss@8.4.21 - postcss-clamp: 4.1.0_postcss@8.4.21 - postcss-color-functional-notation: 4.2.4_postcss@8.4.21 - postcss-color-hex-alpha: 8.0.4_postcss@8.4.21 - postcss-color-rebeccapurple: 7.1.1_postcss@8.4.21 - postcss-custom-media: 8.0.2_postcss@8.4.21 - postcss-custom-properties: 12.1.11_postcss@8.4.21 - postcss-custom-selectors: 6.0.3_postcss@8.4.21 - postcss-dir-pseudo-class: 6.0.5_postcss@8.4.21 - postcss-double-position-gradients: 3.1.2_postcss@8.4.21 - postcss-env-function: 4.0.6_postcss@8.4.21 - postcss-focus-visible: 6.0.4_postcss@8.4.21 - postcss-focus-within: 5.0.4_postcss@8.4.21 - postcss-font-variant: 5.0.0_postcss@8.4.21 - postcss-gap-properties: 3.0.5_postcss@8.4.21 - postcss-image-set-function: 4.0.7_postcss@8.4.21 - postcss-initial: 4.0.1_postcss@8.4.21 - postcss-lab-function: 4.2.1_postcss@8.4.21 - postcss-logical: 5.0.4_postcss@8.4.21 - postcss-media-minmax: 5.0.0_postcss@8.4.21 - postcss-nesting: 10.2.0_postcss@8.4.21 - postcss-opacity-percentage: 1.1.3_postcss@8.4.21 - postcss-overflow-shorthand: 3.0.4_postcss@8.4.21 - postcss-page-break: 3.0.4_postcss@8.4.21 - postcss-place: 7.0.5_postcss@8.4.21 - postcss-pseudo-class-any-link: 7.1.6_postcss@8.4.21 - postcss-replace-overflow-wrap: 4.0.0_postcss@8.4.21 - postcss-selector-not: 6.0.1_postcss@8.4.21 + postcss-attribute-case-insensitive: 5.0.2(postcss@8.4.21) + postcss-clamp: 4.1.0(postcss@8.4.21) + postcss-color-functional-notation: 4.2.4(postcss@8.4.21) + postcss-color-hex-alpha: 8.0.4(postcss@8.4.21) + postcss-color-rebeccapurple: 7.1.1(postcss@8.4.21) + postcss-custom-media: 8.0.2(postcss@8.4.21) + postcss-custom-properties: 12.1.11(postcss@8.4.21) + postcss-custom-selectors: 6.0.3(postcss@8.4.21) + postcss-dir-pseudo-class: 6.0.5(postcss@8.4.21) + postcss-double-position-gradients: 3.1.2(postcss@8.4.21) + postcss-env-function: 4.0.6(postcss@8.4.21) + postcss-focus-visible: 6.0.4(postcss@8.4.21) + postcss-focus-within: 5.0.4(postcss@8.4.21) + postcss-font-variant: 5.0.0(postcss@8.4.21) + postcss-gap-properties: 3.0.5(postcss@8.4.21) + postcss-image-set-function: 4.0.7(postcss@8.4.21) + postcss-initial: 4.0.1(postcss@8.4.21) + postcss-lab-function: 4.2.1(postcss@8.4.21) + postcss-logical: 5.0.4(postcss@8.4.21) + postcss-media-minmax: 5.0.0(postcss@8.4.21) + postcss-nesting: 10.2.0(postcss@8.4.21) + postcss-opacity-percentage: 1.1.3(postcss@8.4.21) + postcss-overflow-shorthand: 3.0.4(postcss@8.4.21) + postcss-page-break: 3.0.4(postcss@8.4.21) + postcss-place: 7.0.5(postcss@8.4.21) + postcss-pseudo-class-any-link: 7.1.6(postcss@8.4.21) + postcss-replace-overflow-wrap: 4.0.0(postcss@8.4.21) + postcss-selector-not: 6.0.1(postcss@8.4.21) postcss-value-parser: 4.2.0 dev: false - /postcss-pseudo-class-any-link/7.1.6_postcss@8.4.21: + /postcss-pseudo-class-any-link@7.1.6(postcss@8.4.21): resolution: {integrity: sha512-9sCtZkO6f/5ML9WcTLcIyV1yz9D1rf0tWc+ulKcvV30s0iZKS/ONyETvoWsr6vnrmW+X+KmuK3gV/w5EWnT37w==} engines: {node: ^12 || ^14 || >=16} peerDependencies: @@ -13052,7 +12550,7 @@ packages: postcss-selector-parser: 6.0.11 dev: false - /postcss-reduce-initial/4.0.3: + /postcss-reduce-initial@4.0.3: resolution: {integrity: sha512-gKWmR5aUulSjbzOfD9AlJiHCGH6AEVLaM0AV+aSioxUDd16qXP1PCh8d1/BGVvpdWn8k/HiK7n6TjeoXN1F7DA==} engines: {node: '>=6.9.0'} dependencies: @@ -13062,17 +12560,7 @@ packages: postcss: 7.0.39 dev: true - /postcss-reduce-initial/5.1.2: - resolution: {integrity: sha512-dE/y2XRaqAi6OvjzD22pjTUQ8eOfc6m/natGHgKFBK9DxFmIm69YmaRVQrGgFlEfc1HePIurY0TmDeROK05rIg==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - browserslist: 4.21.5 - caniuse-api: 3.0.0 - dev: true - - /postcss-reduce-initial/5.1.2_postcss@8.4.21: + /postcss-reduce-initial@5.1.2(postcss@8.4.21): resolution: {integrity: sha512-dE/y2XRaqAi6OvjzD22pjTUQ8eOfc6m/natGHgKFBK9DxFmIm69YmaRVQrGgFlEfc1HePIurY0TmDeROK05rIg==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: @@ -13081,9 +12569,8 @@ packages: browserslist: 4.21.5 caniuse-api: 3.0.0 postcss: 8.4.21 - dev: false - /postcss-reduce-transforms/4.0.2: + /postcss-reduce-transforms@4.0.2: resolution: {integrity: sha512-EEVig1Q2QJ4ELpJXMZR8Vt5DQx8/mo+dGWSR7vWXqcob2gQLyQGsionYcGKATXvQzMPn6DSN1vTN7yFximdIAg==} engines: {node: '>=6.9.0'} dependencies: @@ -13093,16 +12580,7 @@ packages: postcss-value-parser: 3.3.1 dev: true - /postcss-reduce-transforms/5.1.0: - resolution: {integrity: sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - postcss-value-parser: 4.2.0 - dev: true - - /postcss-reduce-transforms/5.1.0_postcss@8.4.21: + /postcss-reduce-transforms@5.1.0(postcss@8.4.21): resolution: {integrity: sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: @@ -13110,9 +12588,8 @@ packages: dependencies: postcss: 8.4.21 postcss-value-parser: 4.2.0 - dev: false - /postcss-replace-overflow-wrap/4.0.0_postcss@8.4.21: + /postcss-replace-overflow-wrap@4.0.0(postcss@8.4.21): resolution: {integrity: sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw==} peerDependencies: postcss: ^8.0.3 @@ -13120,14 +12597,14 @@ packages: postcss: 8.4.21 dev: false - /postcss-safe-parser/4.0.2: + /postcss-safe-parser@4.0.2: resolution: {integrity: sha512-Uw6ekxSWNLCPesSv/cmqf2bY/77z11O7jZGPax3ycZMFU/oi2DMH9i89AdHc1tRwFg/arFoEwX0IS3LCUxJh1g==} engines: {node: '>=6.0.0'} dependencies: postcss: 7.0.39 dev: true - /postcss-selector-not/6.0.1_postcss@8.4.21: + /postcss-selector-not@6.0.1(postcss@8.4.21): resolution: {integrity: sha512-1i9affjAe9xu/y9uqWH+tD4r6/hDaXJruk8xn2x1vzxC2U3J3LKO3zJW4CyxlNhA56pADJ/djpEwpH1RClI2rQ==} engines: {node: ^12 || ^14 || >=16} peerDependencies: @@ -13137,7 +12614,7 @@ packages: postcss-selector-parser: 6.0.11 dev: false - /postcss-selector-parser/3.1.2: + /postcss-selector-parser@3.1.2: resolution: {integrity: sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==} engines: {node: '>=8'} dependencies: @@ -13146,14 +12623,14 @@ packages: uniq: 1.0.1 dev: true - /postcss-selector-parser/6.0.11: + /postcss-selector-parser@6.0.11: resolution: {integrity: sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==} engines: {node: '>=4'} dependencies: cssesc: 3.0.0 util-deprecate: 1.0.2 - /postcss-svgo/4.0.3: + /postcss-svgo@4.0.3: resolution: {integrity: sha512-NoRbrcMWTtUghzuKSoIm6XV+sJdvZ7GZSc3wdBN0W19FTtp2ko8NqLsgoh/m9CzNhU3KLPvQmjIwtaNFkaFTvw==} engines: {node: '>=6.9.0'} dependencies: @@ -13162,17 +12639,7 @@ packages: svgo: 1.3.2 dev: true - /postcss-svgo/5.1.0: - resolution: {integrity: sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - postcss-value-parser: 4.2.0 - svgo: 2.8.0 - dev: true - - /postcss-svgo/5.1.0_postcss@8.4.21: + /postcss-svgo@5.1.0(postcss@8.4.21): resolution: {integrity: sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: @@ -13181,9 +12648,8 @@ packages: postcss: 8.4.21 postcss-value-parser: 4.2.0 svgo: 2.8.0 - dev: false - /postcss-unique-selectors/4.0.1: + /postcss-unique-selectors@4.0.1: resolution: {integrity: sha512-+JanVaryLo9QwZjKrmJgkI4Fn8SBgRO6WXQBJi7KiAVPlmxikB5Jzc4EvXMT2H0/m0RjrVVm9rGNhZddm/8Spg==} engines: {node: '>=6.9.0'} dependencies: @@ -13192,16 +12658,7 @@ packages: uniqs: 2.0.0 dev: true - /postcss-unique-selectors/5.1.1: - resolution: {integrity: sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - postcss-selector-parser: 6.0.11 - dev: true - - /postcss-unique-selectors/5.1.1_postcss@8.4.21: + /postcss-unique-selectors@5.1.1(postcss@8.4.21): resolution: {integrity: sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: @@ -13209,23 +12666,22 @@ packages: dependencies: postcss: 8.4.21 postcss-selector-parser: 6.0.11 - dev: false - /postcss-value-parser/3.3.1: + /postcss-value-parser@3.3.1: resolution: {integrity: sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==} dev: true - /postcss-value-parser/4.2.0: + /postcss-value-parser@4.2.0: resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} - /postcss/7.0.39: + /postcss@7.0.39: resolution: {integrity: sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==} engines: {node: '>=6.0.0'} dependencies: picocolors: 0.2.1 source-map: 0.6.1 - /postcss/8.4.21: + /postcss@8.4.21: resolution: {integrity: sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==} engines: {node: ^10 || ^12 || >=14} dependencies: @@ -13233,21 +12689,21 @@ packages: picocolors: 1.0.0 source-map-js: 1.0.2 - /prelude-ls/1.1.2: + /prelude-ls@1.1.2: resolution: {integrity: sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==} engines: {node: '>= 0.8.0'} dev: false - /prelude-ls/1.2.1: + /prelude-ls@1.2.1: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} - /prepend-http/2.0.0: + /prepend-http@2.0.0: resolution: {integrity: sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA==} engines: {node: '>=4'} dev: true - /prettier/2.8.7: + /prettier@2.8.7: resolution: {integrity: sha512-yPngTo3aXUUmyuTjeTUT75txrf+aMh9FiD7q9ZE/i6r0bPb22g4FsE6Y338PQX1bmfy08i9QQCB7/rcUAVntfw==} engines: {node: '>=10.13.0'} hasBin: true @@ -13255,26 +12711,26 @@ packages: dev: true optional: true - /pretty-bytes/5.6.0: + /pretty-bytes@5.6.0: resolution: {integrity: sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==} engines: {node: '>=6'} dev: false - /pretty-error/2.1.2: + /pretty-error@2.1.2: resolution: {integrity: sha512-EY5oDzmsX5wvuynAByrmY0P0hcp+QpnAKbJng2A2MPjVKXCxrDSUkzghVJ4ZGPIv+JC4gX8fPUWscC0RtjsWGw==} dependencies: lodash: 4.17.21 renderkid: 2.0.7 dev: true - /pretty-error/4.0.0: + /pretty-error@4.0.0: resolution: {integrity: sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==} dependencies: lodash: 4.17.21 renderkid: 3.0.0 dev: false - /pretty-format/27.5.1: + /pretty-format@27.5.1: resolution: {integrity: sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: @@ -13283,7 +12739,7 @@ packages: react-is: 17.0.2 dev: false - /pretty-format/28.1.3: + /pretty-format@28.1.3: resolution: {integrity: sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} dependencies: @@ -13293,25 +12749,25 @@ packages: react-is: 18.2.0 dev: false - /pretty-time/1.1.0: + /pretty-time@1.1.0: resolution: {integrity: sha512-28iF6xPQrP8Oa6uxE6a1biz+lWeTOAPKggvjB8HAs6nVMKZwf5bG++632Dx614hIWgUPkgivRfG+a8uAXGTIbA==} engines: {node: '>=4'} dev: true - /prismjs/1.29.0: + /prismjs@1.29.0: resolution: {integrity: sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==} engines: {node: '>=6'} dev: true - /process-nextick-args/2.0.1: + /process-nextick-args@2.0.1: resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} - /process/0.11.10: + /process@0.11.10: resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} engines: {node: '>= 0.6.0'} dev: true - /promise-inflight/1.0.1_bluebird@3.7.2: + /promise-inflight@1.0.1(bluebird@3.7.2): resolution: {integrity: sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==} peerDependencies: bluebird: '*' @@ -13322,13 +12778,13 @@ packages: bluebird: 3.7.2 dev: true - /promise/8.3.0: + /promise@8.3.0: resolution: {integrity: sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==} dependencies: asap: 2.0.6 dev: false - /prompts/2.4.2: + /prompts@2.4.2: resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} engines: {node: '>= 6'} dependencies: @@ -13336,7 +12792,7 @@ packages: sisteransi: 1.0.5 dev: false - /prop-types/15.8.1: + /prop-types@15.8.1: resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} dependencies: loose-envify: 1.4.0 @@ -13344,25 +12800,25 @@ packages: react-is: 16.13.1 dev: false - /proxy-addr/2.0.7: + /proxy-addr@2.0.7: resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} engines: {node: '>= 0.10'} dependencies: forwarded: 0.2.0 ipaddr.js: 1.9.1 - /prr/1.0.1: + /prr@1.0.1: resolution: {integrity: sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==} dev: true - /pseudomap/1.0.2: + /pseudomap@1.0.2: resolution: {integrity: sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==} dev: true - /psl/1.9.0: + /psl@1.9.0: resolution: {integrity: sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==} - /public-encrypt/4.0.3: + /public-encrypt@4.0.3: resolution: {integrity: sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==} dependencies: bn.js: 4.12.0 @@ -13373,21 +12829,21 @@ packages: safe-buffer: 5.2.1 dev: true - /pump/2.0.1: + /pump@2.0.1: resolution: {integrity: sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==} dependencies: end-of-stream: 1.4.4 once: 1.4.0 dev: true - /pump/3.0.0: + /pump@3.0.0: resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} dependencies: end-of-stream: 1.4.4 once: 1.4.0 dev: true - /pumpify/1.5.1: + /pumpify@1.5.1: resolution: {integrity: sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==} dependencies: duplexify: 3.7.1 @@ -13395,46 +12851,46 @@ packages: pump: 2.0.1 dev: true - /punycode/1.3.2: + /punycode@1.3.2: resolution: {integrity: sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw==} dev: true - /punycode/1.4.1: + /punycode@1.4.1: resolution: {integrity: sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==} dev: true - /punycode/2.3.0: + /punycode@2.3.0: resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} engines: {node: '>=6'} - /pupa/2.1.1: + /pupa@2.1.1: resolution: {integrity: sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A==} engines: {node: '>=8'} dependencies: escape-goat: 2.1.1 dev: true - /q/1.5.1: + /q@1.5.1: resolution: {integrity: sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==} engines: {node: '>=0.6.0', teleport: '>=0.2.0'} - /qjobs/1.2.0: + /qjobs@1.2.0: resolution: {integrity: sha512-8YOJEHtxpySA3fFDyCRxA+UUV+fA+rTWnuWvylOK/NCjhY+b4ocCtmu8TtsWb+mYeU+GCHf/S66KZF/AsteKHg==} engines: {node: '>=0.9'} dev: true - /qs/6.11.0: + /qs@6.11.0: resolution: {integrity: sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==} engines: {node: '>=0.6'} dependencies: side-channel: 1.0.4 - /qs/6.5.3: + /qs@6.5.3: resolution: {integrity: sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==} engines: {node: '>=0.6'} dev: true - /query-string/5.1.1: + /query-string@5.1.1: resolution: {integrity: sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==} engines: {node: '>=0.10.0'} dependencies: @@ -13443,51 +12899,51 @@ packages: strict-uri-encode: 1.1.0 dev: true - /querystring-es3/0.2.1: + /querystring-es3@0.2.1: resolution: {integrity: sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==} engines: {node: '>=0.4.x'} dev: true - /querystring/0.2.0: + /querystring@0.2.0: resolution: {integrity: sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g==} engines: {node: '>=0.4.x'} deprecated: The querystring API is considered Legacy. new code should use the URLSearchParams API instead. dev: true - /querystringify/2.2.0: + /querystringify@2.2.0: resolution: {integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==} - /queue-microtask/1.2.3: + /queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} - /quick-lru/5.1.1: + /quick-lru@5.1.1: resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==} engines: {node: '>=10'} dev: false - /raf/3.4.1: + /raf@3.4.1: resolution: {integrity: sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==} dependencies: performance-now: 2.1.0 dev: false - /randombytes/2.1.0: + /randombytes@2.1.0: resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} dependencies: safe-buffer: 5.2.1 - /randomfill/1.0.4: + /randomfill@1.0.4: resolution: {integrity: sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==} dependencies: randombytes: 2.1.0 safe-buffer: 5.2.1 dev: true - /range-parser/1.2.1: + /range-parser@1.2.1: resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} engines: {node: '>= 0.6'} - /raw-body/2.5.1: + /raw-body@2.5.1: resolution: {integrity: sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==} engines: {node: '>= 0.8'} dependencies: @@ -13496,7 +12952,7 @@ packages: iconv-lite: 0.4.24 unpipe: 1.0.0 - /raw-body/2.5.2: + /raw-body@2.5.2: resolution: {integrity: sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==} engines: {node: '>= 0.8'} dependencies: @@ -13506,7 +12962,7 @@ packages: unpipe: 1.0.0 dev: true - /rc/1.2.8: + /rc@1.2.8: resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} hasBin: true dependencies: @@ -13516,7 +12972,7 @@ packages: strip-json-comments: 2.0.1 dev: true - /react-app-polyfill/3.0.0: + /react-app-polyfill@3.0.0: resolution: {integrity: sha512-sZ41cxiU5llIB003yxxQBYrARBqe0repqPTTYBTmMqTz9szeBbE37BehCE891NZsmdZqqP+xWKdT3eo3vOzN8w==} engines: {node: '>=14'} dependencies: @@ -13528,7 +12984,7 @@ packages: whatwg-fetch: 3.6.2 dev: false - /react-dev-utils/12.0.1_toavp455ygo5xswyuptgsxzxqi: + /react-dev-utils@12.0.1(eslint@8.37.0)(typescript@4.9.5)(webpack@5.76.3): resolution: {integrity: sha512-84Ivxmr17KjUupyqzFode6xKhjwuEJDROWKJy/BthkL7Wn6NJ8h4WE6k/exAv6ImS+0oZLRRW5j/aINMHyeGeQ==} engines: {node: '>=14'} peerDependencies: @@ -13547,7 +13003,7 @@ packages: escape-string-regexp: 4.0.0 filesize: 8.0.7 find-up: 5.0.0 - fork-ts-checker-webpack-plugin: 6.5.3_toavp455ygo5xswyuptgsxzxqi + fork-ts-checker-webpack-plugin: 6.5.3(eslint@8.37.0)(typescript@4.9.5)(webpack@5.76.3) global-modules: 2.0.0 globby: 11.1.0 gzip-size: 6.0.0 @@ -13563,14 +13019,14 @@ packages: strip-ansi: 6.0.1 text-table: 0.2.0 typescript: 4.9.5 - webpack: 5.76.3 + webpack: 5.76.3(@swc/core@1.3.42) transitivePeerDependencies: - eslint - supports-color - vue-template-compiler dev: false - /react-dom/18.2.0_react@18.2.0: + /react-dom@18.2.0(react@18.2.0): resolution: {integrity: sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==} peerDependencies: react: ^18.2.0 @@ -13580,32 +13036,33 @@ packages: scheduler: 0.23.0 dev: false - /react-error-overlay/6.0.11: + /react-error-overlay@6.0.11: resolution: {integrity: sha512-/6UZ2qgEyH2aqzYZgQPxEnz33NJ2gNsnHA2o5+o4wW9bLM/JYQitNP9xPhsXwC08hMMovfGe/8retsdDsczPRg==} dev: false - /react-is/16.13.1: + /react-is@16.13.1: resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} dev: false - /react-is/17.0.2: + /react-is@17.0.2: resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==} dev: false - /react-is/18.2.0: + /react-is@18.2.0: resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} dev: false - /react-refresh/0.11.0: + /react-refresh@0.11.0: resolution: {integrity: sha512-F27qZr8uUqwhWZboondsPx8tnC3Ct3SxZA3V5WyEvujRyyNv0VYPhoBg1gZ8/MV5tubQp76Trw8lTv9hzRBa+A==} engines: {node: '>=0.10.0'} dev: false - /react-scripts/5.0.1_4b623jbeyzi4h3l6het54x5soi: + /react-scripts@5.0.1(@babel/plugin-syntax-flow@7.18.6)(@babel/plugin-transform-react-jsx@7.21.0)(@swc/core@1.3.42)(eslint@8.37.0)(react@18.2.0)(typescript@4.9.5): resolution: {integrity: sha512-8VAmEm/ZAwQzJ+GOMLbBsTdDKOpuZh7RPs0UymvBR2vRk4iZWCskjbFnxqjrzoIvlNNRZ3QJFx6/qDSi6zSnaQ==} engines: {node: '>=14.0.0'} hasBin: true peerDependencies: + eslint: '*' react: '>= 16' typescript: ^3.2.1 || ^4 peerDependenciesMeta: @@ -13613,54 +13070,54 @@ packages: optional: true dependencies: '@babel/core': 7.21.3 - '@pmmmwh/react-refresh-webpack-plugin': 0.5.10_vckesxtoflw6kccntvjqcgcmoa + '@pmmmwh/react-refresh-webpack-plugin': 0.5.10(react-refresh@0.11.0)(webpack-dev-server@4.13.1)(webpack@5.76.3) '@svgr/webpack': 5.5.0 - babel-jest: 27.5.1_@babel+core@7.21.3 - babel-loader: 8.3.0_qtovpurzjlo3biun26ymnwui7i - babel-plugin-named-asset-import: 0.3.8_@babel+core@7.21.3 + babel-jest: 27.5.1(@babel/core@7.21.3) + babel-loader: 8.3.0(@babel/core@7.21.3)(webpack@5.76.3) + babel-plugin-named-asset-import: 0.3.8(@babel/core@7.21.3) babel-preset-react-app: 10.0.1 bfj: 7.0.2 browserslist: 4.21.5 camelcase: 6.3.0 case-sensitive-paths-webpack-plugin: 2.4.0 - css-loader: 6.7.3_webpack@5.76.3 - css-minimizer-webpack-plugin: 3.4.1_webpack@5.76.3 + css-loader: 6.7.3(webpack@5.76.3) + css-minimizer-webpack-plugin: 3.4.1(webpack@5.76.3) dotenv: 10.0.0 dotenv-expand: 5.1.0 eslint: 8.37.0 - eslint-config-react-app: 7.0.1_5q4xpyf3bvofr5zzr7i2r3e62u - eslint-webpack-plugin: 3.2.0_s74exvdh6rwm5em3acnt7prvia - file-loader: 6.2.0_webpack@5.76.3 + eslint-config-react-app: 7.0.1(@babel/plugin-syntax-flow@7.18.6)(@babel/plugin-transform-react-jsx@7.21.0)(eslint@8.37.0)(jest@27.5.1)(typescript@4.9.5) + eslint-webpack-plugin: 3.2.0(eslint@8.37.0)(webpack@5.76.3) + file-loader: 6.2.0(webpack@5.76.3) fs-extra: 10.1.0 - html-webpack-plugin: 5.5.0_webpack@5.76.3 + html-webpack-plugin: 5.5.0(webpack@5.76.3) identity-obj-proxy: 3.0.0 jest: 27.5.1 jest-resolve: 27.5.1 - jest-watch-typeahead: 1.1.0_jest@27.5.1 - mini-css-extract-plugin: 2.7.5_webpack@5.76.3 + jest-watch-typeahead: 1.1.0(jest@27.5.1) + mini-css-extract-plugin: 2.7.5(webpack@5.76.3) postcss: 8.4.21 - postcss-flexbugs-fixes: 5.0.2_postcss@8.4.21 - postcss-loader: 6.2.1_twwyhqqim6liv4fz2ggv7g4m5a - postcss-normalize: 10.0.1_jrpp4geoaqu5dz2gragkckznb4 - postcss-preset-env: 7.8.3_postcss@8.4.21 + postcss-flexbugs-fixes: 5.0.2(postcss@8.4.21) + postcss-loader: 6.2.1(postcss@8.4.21)(webpack@5.76.3) + postcss-normalize: 10.0.1(browserslist@4.21.5)(postcss@8.4.21) + postcss-preset-env: 7.8.3(postcss@8.4.21) prompts: 2.4.2 react: 18.2.0 react-app-polyfill: 3.0.0 - react-dev-utils: 12.0.1_toavp455ygo5xswyuptgsxzxqi + react-dev-utils: 12.0.1(eslint@8.37.0)(typescript@4.9.5)(webpack@5.76.3) react-refresh: 0.11.0 resolve: 1.22.1 resolve-url-loader: 4.0.0 - sass-loader: 12.6.0_webpack@5.76.3 + sass-loader: 12.6.0(webpack@5.76.3) semver: 7.3.8 - source-map-loader: 3.0.2_webpack@5.76.3 - style-loader: 3.3.2_webpack@5.76.3 - tailwindcss: 3.3.0 - terser-webpack-plugin: 5.3.7_webpack@5.76.3 + source-map-loader: 3.0.2(webpack@5.76.3) + style-loader: 3.3.2(webpack@5.76.3) + tailwindcss: 3.3.0(postcss@8.4.21) + terser-webpack-plugin: 5.3.7(@swc/core@1.3.42)(webpack@5.76.3) typescript: 4.9.5 - webpack: 5.76.3 - webpack-dev-server: 4.13.1_webpack@5.76.3 - webpack-manifest-plugin: 4.1.1_webpack@5.76.3 - workbox-webpack-plugin: 6.5.4_webpack@5.76.3 + webpack: 5.76.3(@swc/core@1.3.42) + webpack-dev-server: 4.13.1(webpack@5.76.3) + webpack-manifest-plugin: 4.1.1(webpack@5.76.3) + workbox-webpack-plugin: 6.5.4(webpack@5.76.3) optionalDependencies: fsevents: 2.3.2 transitivePeerDependencies: @@ -13697,19 +13154,19 @@ packages: - webpack-plugin-serve dev: false - /react/18.2.0: + /react@18.2.0: resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==} engines: {node: '>=0.10.0'} dependencies: loose-envify: 1.4.0 dev: false - /read-cache/1.0.0: + /read-cache@1.0.0: resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==} dependencies: pify: 2.3.0 - /readable-stream/2.3.8: + /readable-stream@2.3.8: resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} dependencies: core-util-is: 1.0.3 @@ -13720,7 +13177,7 @@ packages: string_decoder: 1.1.1 util-deprecate: 1.0.2 - /readable-stream/3.6.2: + /readable-stream@3.6.2: resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} engines: {node: '>= 6'} dependencies: @@ -13728,65 +13185,54 @@ packages: string_decoder: 1.3.0 util-deprecate: 1.0.2 - /readdirp/2.2.1: + /readdirp@2.2.1(supports-color@6.1.0): resolution: {integrity: sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==} engines: {node: '>=0.10'} dependencies: graceful-fs: 4.2.11 - micromatch: 3.1.10 + micromatch: 3.1.10(supports-color@6.1.0) readable-stream: 2.3.8 transitivePeerDependencies: - supports-color dev: true - /readdirp/2.2.1_supports-color@6.1.0: - resolution: {integrity: sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==} - engines: {node: '>=0.10'} - dependencies: - graceful-fs: 4.2.11 - micromatch: 3.1.10_supports-color@6.1.0 - readable-stream: 2.3.8 - transitivePeerDependencies: - - supports-color - dev: true - - /readdirp/3.6.0: + /readdirp@3.6.0: resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} engines: {node: '>=8.10.0'} dependencies: picomatch: 2.3.1 - /recursive-readdir/2.2.3: + /recursive-readdir@2.2.3: resolution: {integrity: sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA==} engines: {node: '>=6.0.0'} dependencies: minimatch: 3.1.2 dev: false - /reduce/1.0.2: + /reduce@1.0.2: resolution: {integrity: sha512-xX7Fxke/oHO5IfZSk77lvPa/7bjMh9BuCk4OOoX5XTXrM7s0Z+MkPfSDfz0q7r91BhhGSs8gii/VEN/7zhCPpQ==} dependencies: object-keys: 1.1.1 dev: true - /regenerate-unicode-properties/10.1.0: + /regenerate-unicode-properties@10.1.0: resolution: {integrity: sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==} engines: {node: '>=4'} dependencies: regenerate: 1.4.2 - /regenerate/1.4.2: + /regenerate@1.4.2: resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==} - /regenerator-runtime/0.13.11: + /regenerator-runtime@0.13.11: resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==} - /regenerator-transform/0.15.1: + /regenerator-transform@0.15.1: resolution: {integrity: sha512-knzmNAcuyxV+gQCufkYcvOqX/qIIfHLv0u5x79kRxuGojfYVky1f15TzZEu2Avte8QGepvUNTnLskf8E6X6Vyg==} dependencies: '@babel/runtime': 7.21.0 - /regex-not/1.0.2: + /regex-not@1.0.2: resolution: {integrity: sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==} engines: {node: '>=0.10.0'} dependencies: @@ -13794,11 +13240,11 @@ packages: safe-regex: 1.1.0 dev: true - /regex-parser/2.2.11: + /regex-parser@2.2.11: resolution: {integrity: sha512-jbD/FT0+9MBU2XAZluI7w2OBs1RBi6p9M83nkoZayQXXU9e8Robt69FcZc7wU4eJD/YFTjn1JdCk3rbMJajz8Q==} dev: false - /regexp.prototype.flags/1.4.3: + /regexp.prototype.flags@1.4.3: resolution: {integrity: sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==} engines: {node: '>= 0.4'} dependencies: @@ -13806,12 +13252,12 @@ packages: define-properties: 1.2.0 functions-have-names: 1.2.3 - /regexpp/3.2.0: + /regexpp@3.2.0: resolution: {integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==} engines: {node: '>=8'} dev: true - /regexpu-core/5.3.2: + /regexpu-core@5.3.2: resolution: {integrity: sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==} engines: {node: '>=4'} dependencies: @@ -13822,35 +13268,35 @@ packages: unicode-match-property-ecmascript: 2.0.0 unicode-match-property-value-ecmascript: 2.1.0 - /registry-auth-token/4.2.2: + /registry-auth-token@4.2.2: resolution: {integrity: sha512-PC5ZysNb42zpFME6D/XlIgtNGdTl8bBOCw90xQLVMpzuuubJKYDWFAEuUNc+Cn8Z8724tg2SDhDRrkVEsqfDMg==} engines: {node: '>=6.0.0'} dependencies: rc: 1.2.8 dev: true - /registry-url/5.1.0: + /registry-url@5.1.0: resolution: {integrity: sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==} engines: {node: '>=8'} dependencies: rc: 1.2.8 dev: true - /regjsparser/0.9.1: + /regjsparser@0.9.1: resolution: {integrity: sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==} hasBin: true dependencies: jsesc: 0.5.0 - /relateurl/0.2.7: + /relateurl@0.2.7: resolution: {integrity: sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==} engines: {node: '>= 0.10'} - /remove-trailing-separator/1.1.0: + /remove-trailing-separator@1.1.0: resolution: {integrity: sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==} dev: true - /renderkid/2.0.7: + /renderkid@2.0.7: resolution: {integrity: sha512-oCcFyxaMrKsKcTY59qnCAtmDVSLfPbrv6A3tVbPdFMMrv5jaK10V6m40cKsoPNhAqN6rmHW9sswW4o3ruSrwUQ==} dependencies: css-select: 4.3.0 @@ -13860,7 +13306,7 @@ packages: strip-ansi: 3.0.1 dev: true - /renderkid/3.0.0: + /renderkid@3.0.0: resolution: {integrity: sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==} dependencies: css-select: 4.3.0 @@ -13870,17 +13316,17 @@ packages: strip-ansi: 6.0.1 dev: false - /repeat-element/1.1.4: + /repeat-element@1.1.4: resolution: {integrity: sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==} engines: {node: '>=0.10.0'} dev: true - /repeat-string/1.6.1: + /repeat-string@1.6.1: resolution: {integrity: sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==} engines: {node: '>=0.10'} dev: true - /request/2.88.2: + /request@2.88.2: resolution: {integrity: sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==} engines: {node: '>= 6'} deprecated: request has been deprecated, see https://github.com/request/request/issues/3142 @@ -13907,51 +13353,51 @@ packages: uuid: 3.4.0 dev: true - /require-directory/2.1.1: + /require-directory@2.1.1: resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} engines: {node: '>=0.10.0'} - /require-from-string/2.0.2: + /require-from-string@2.0.2: resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} engines: {node: '>=0.10.0'} dev: false - /require-main-filename/2.0.0: + /require-main-filename@2.0.0: resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==} dev: true - /requires-port/1.0.0: + /requires-port@1.0.0: resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==} - /resolve-cwd/2.0.0: + /resolve-cwd@2.0.0: resolution: {integrity: sha512-ccu8zQTrzVr954472aUVPLEcB3YpKSYR3cg/3lo1okzobPBM+1INXBbBZlDbnI/hbEocnf8j0QVo43hQKrbchg==} engines: {node: '>=4'} dependencies: resolve-from: 3.0.0 dev: true - /resolve-cwd/3.0.0: + /resolve-cwd@3.0.0: resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==} engines: {node: '>=8'} dependencies: resolve-from: 5.0.0 dev: false - /resolve-from/3.0.0: + /resolve-from@3.0.0: resolution: {integrity: sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==} engines: {node: '>=4'} dev: true - /resolve-from/4.0.0: + /resolve-from@4.0.0: resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} engines: {node: '>=4'} - /resolve-from/5.0.0: + /resolve-from@5.0.0: resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} engines: {node: '>=8'} dev: false - /resolve-url-loader/4.0.0: + /resolve-url-loader@4.0.0: resolution: {integrity: sha512-05VEMczVREcbtT7Bz+C+96eUO5HDNvdthIiMB34t7FcF8ehcu4wC0sSgPUubs3XW2Q3CNLJk/BJrCU9wVRymiA==} engines: {node: '>=8.9'} peerDependencies: @@ -13970,17 +13416,17 @@ packages: source-map: 0.6.1 dev: false - /resolve-url/0.2.1: + /resolve-url@0.2.1: resolution: {integrity: sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==} deprecated: https://github.com/lydell/resolve-url#deprecated dev: true - /resolve.exports/1.1.1: + /resolve.exports@1.1.1: resolution: {integrity: sha512-/NtpHNDN7jWhAaQ9BvBUYZ6YTXsRBgfqWFWP7BZBaoMJO/I3G5OFzvTuWNlZC3aPjins1F+TNrLKsGbH4rfsRQ==} engines: {node: '>=10'} dev: false - /resolve/1.22.1: + /resolve@1.22.1: resolution: {integrity: sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==} hasBin: true dependencies: @@ -13988,7 +13434,7 @@ packages: path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 - /resolve/2.0.0-next.4: + /resolve@2.0.0-next.4: resolution: {integrity: sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==} hasBin: true dependencies: @@ -13997,64 +13443,64 @@ packages: supports-preserve-symlinks-flag: 1.0.0 dev: false - /responselike/1.0.2: + /responselike@1.0.2: resolution: {integrity: sha512-/Fpe5guzJk1gPqdJLJR5u7eG/gNY4nImjbRDaVWVMRhne55TCmj2i9Q+54PBRfatRC8v/rIiv9BN0pMd9OV5EQ==} dependencies: lowercase-keys: 1.0.1 dev: true - /ret/0.1.15: + /ret@0.1.15: resolution: {integrity: sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==} engines: {node: '>=0.12'} dev: true - /retry/0.12.0: + /retry@0.12.0: resolution: {integrity: sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==} engines: {node: '>= 4'} dev: true - /retry/0.13.1: + /retry@0.13.1: resolution: {integrity: sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==} engines: {node: '>= 4'} dev: false - /reusify/1.0.4: + /reusify@1.0.4: resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - /rfdc/1.3.0: + /rfdc@1.3.0: resolution: {integrity: sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==} dev: true - /rgb-regex/1.0.1: + /rgb-regex@1.0.1: resolution: {integrity: sha512-gDK5mkALDFER2YLqH6imYvK6g02gpNGM4ILDZ472EwWfXZnC2ZEpoB2ECXTyOVUKuk/bPJZMzwQPBYICzP+D3w==} dev: true - /rgba-regex/1.0.0: + /rgba-regex@1.0.0: resolution: {integrity: sha512-zgn5OjNQXLUTdq8m17KdaicF6w89TZs8ZU8y0AYENIU6wG8GG6LLm0yLSiPY8DmaYmHdgRW8rnApjoT0fQRfMg==} dev: true - /rimraf/2.7.1: + /rimraf@2.7.1: resolution: {integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==} hasBin: true dependencies: glob: 7.2.3 dev: true - /rimraf/3.0.2: + /rimraf@3.0.2: resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} hasBin: true dependencies: glob: 7.2.3 - /ripemd160/2.0.2: + /ripemd160@2.0.2: resolution: {integrity: sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==} dependencies: hash-base: 3.1.0 inherits: 2.0.4 dev: true - /rollup-plugin-cleanup/3.2.1_rollup@3.20.2: + /rollup-plugin-cleanup@3.2.1(rollup@3.20.2): resolution: {integrity: sha512-zuv8EhoO3TpnrU8MX8W7YxSbO4gmOR0ny06Lm3nkFfq0IVKdBUtHwhVzY1OAJyNCIAdLiyPnOrU0KnO0Fri1GQ==} engines: {node: ^10.14.2 || >=12.0.0} peerDependencies: @@ -14065,7 +13511,7 @@ packages: rollup-pluginutils: 2.8.2 dev: true - /rollup-plugin-istanbul/4.0.0_rollup@3.20.2: + /rollup-plugin-istanbul@4.0.0(rollup@3.20.2): resolution: {integrity: sha512-AOauxxl4eAHWdvTnY/uwSrwMkbDymTWUhaD6aym8a4YJaO9hxK2U8bcuhZA0iravuOTUulqPWUbYP7mTV7i4oQ==} peerDependencies: rollup: ^1.20.0||^2.0.0||^3.0.0 @@ -14073,14 +13519,14 @@ packages: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.0.2_rollup@3.20.2 + '@rollup/pluginutils': 5.0.2(rollup@3.20.2) istanbul-lib-instrument: 5.2.1 rollup: 3.20.2 transitivePeerDependencies: - supports-color dev: true - /rollup-plugin-swc3/0.7.0_vhurfucjmfsh3mrr6fuldpixii: + /rollup-plugin-swc3@0.7.0(@swc/core@1.3.42)(rollup@3.20.2): resolution: {integrity: sha512-aWkbRGjmzSLs8BPQEuGo3PQsBAsYyL9Nk5xZ6ruEnBp+5RN9KavSQV1nM13gSmXZNBhz7Wh5mscyo5lCWQ1Bpg==} engines: {node: '>=12'} peerDependencies: @@ -14094,7 +13540,7 @@ packages: rollup: 3.20.2 dev: true - /rollup-plugin-terser/7.0.2_rollup@2.79.1: + /rollup-plugin-terser@7.0.2(rollup@2.79.1): resolution: {integrity: sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==} deprecated: This package has been deprecated and is no longer maintained. Please use @rollup/plugin-terser peerDependencies: @@ -14107,7 +13553,7 @@ packages: terser: 5.16.8 dev: false - /rollup-plugin-terser/7.0.2_rollup@3.20.2: + /rollup-plugin-terser@7.0.2(rollup@3.20.2): resolution: {integrity: sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==} deprecated: This package has been deprecated and is no longer maintained. Please use @rollup/plugin-terser peerDependencies: @@ -14120,13 +13566,13 @@ packages: terser: 5.16.8 dev: true - /rollup-pluginutils/2.8.2: + /rollup-pluginutils@2.8.2: resolution: {integrity: sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==} dependencies: estree-walker: 0.6.1 dev: true - /rollup/2.79.1: + /rollup@2.79.1: resolution: {integrity: sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==} engines: {node: '>=10.0.0'} hasBin: true @@ -14134,7 +13580,7 @@ packages: fsevents: 2.3.2 dev: false - /rollup/3.20.2: + /rollup@3.20.2: resolution: {integrity: sha512-3zwkBQl7Ai7MFYQE0y1MeQ15+9jsi7XxfrqwTb/9EK8D9C9+//EBR4M+CuA1KODRaNbFez/lWxA5vhEGZp4MUg==} engines: {node: '>=14.18.0', npm: '>=8.0.0'} hasBin: true @@ -14142,50 +13588,50 @@ packages: fsevents: 2.3.2 dev: true - /run-parallel/1.2.0: + /run-parallel@1.2.0: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} dependencies: queue-microtask: 1.2.3 - /run-queue/1.0.3: + /run-queue@1.0.3: resolution: {integrity: sha512-ntymy489o0/QQplUDnpYAYUsO50K9SBrIVaKCWDOJzYJts0f9WH9RFJkyagebkw5+y1oi00R7ynNW/d12GBumg==} dependencies: aproba: 1.2.0 dev: true - /rxjs/7.8.0: + /rxjs@7.8.0: resolution: {integrity: sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg==} dependencies: tslib: 2.5.0 dev: true - /safe-buffer/5.1.2: + /safe-buffer@5.1.2: resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} - /safe-buffer/5.2.1: + /safe-buffer@5.2.1: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} - /safe-regex-test/1.0.0: + /safe-regex-test@1.0.0: resolution: {integrity: sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==} dependencies: call-bind: 1.0.2 get-intrinsic: 1.2.0 is-regex: 1.1.4 - /safe-regex/1.1.0: + /safe-regex@1.1.0: resolution: {integrity: sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==} dependencies: ret: 0.1.15 dev: true - /safer-buffer/2.1.2: + /safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} - /sanitize.css/13.0.0: + /sanitize.css@13.0.0: resolution: {integrity: sha512-ZRwKbh/eQ6w9vmTjkuG0Ioi3HBwPFce0O+v//ve+aOq1oeCy7jMV2qzzAlpsNuqpqCBjjriM1lbtZbF/Q8jVyA==} dev: false - /sass-loader/12.6.0_webpack@5.76.3: + /sass-loader@12.6.0(webpack@5.76.3): resolution: {integrity: sha512-oLTaH0YCtX4cfnJZxKSLAyglED0naiYfNG1iXfU5w1LNZ+ukoA5DtyDIN5zmKVZwYNJP4KRc5Y3hkWga+7tYfA==} engines: {node: '>= 12.13.0'} peerDependencies: @@ -14206,71 +13652,71 @@ packages: dependencies: klona: 2.0.6 neo-async: 2.6.2 - webpack: 5.76.3 + webpack: 5.76.3(@swc/core@1.3.42) dev: false - /sax/1.2.4: + /sax@1.2.4: resolution: {integrity: sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==} - /saxes/5.0.1: + /saxes@5.0.1: resolution: {integrity: sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==} engines: {node: '>=10'} dependencies: xmlchars: 2.2.0 dev: false - /scheduler/0.23.0: + /scheduler@0.23.0: resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==} dependencies: loose-envify: 1.4.0 dev: false - /schema-utils/1.0.0: + /schema-utils@1.0.0: resolution: {integrity: sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==} engines: {node: '>= 4'} dependencies: ajv: 6.12.6 - ajv-errors: 1.0.1_ajv@6.12.6 - ajv-keywords: 3.5.2_ajv@6.12.6 + ajv-errors: 1.0.1(ajv@6.12.6) + ajv-keywords: 3.5.2(ajv@6.12.6) dev: true - /schema-utils/2.7.0: + /schema-utils@2.7.0: resolution: {integrity: sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==} engines: {node: '>= 8.9.0'} dependencies: '@types/json-schema': 7.0.11 ajv: 6.12.6 - ajv-keywords: 3.5.2_ajv@6.12.6 + ajv-keywords: 3.5.2(ajv@6.12.6) dev: false - /schema-utils/2.7.1: + /schema-utils@2.7.1: resolution: {integrity: sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==} engines: {node: '>= 8.9.0'} dependencies: '@types/json-schema': 7.0.11 ajv: 6.12.6 - ajv-keywords: 3.5.2_ajv@6.12.6 + ajv-keywords: 3.5.2(ajv@6.12.6) - /schema-utils/3.1.1: + /schema-utils@3.1.1: resolution: {integrity: sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==} engines: {node: '>= 10.13.0'} dependencies: '@types/json-schema': 7.0.11 ajv: 6.12.6 - ajv-keywords: 3.5.2_ajv@6.12.6 + ajv-keywords: 3.5.2(ajv@6.12.6) dev: false - /schema-utils/4.0.0: + /schema-utils@4.0.0: resolution: {integrity: sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==} engines: {node: '>= 12.13.0'} dependencies: '@types/json-schema': 7.0.11 ajv: 8.12.0 - ajv-formats: 2.1.1 - ajv-keywords: 5.1.0_ajv@8.12.0 + ajv-formats: 2.1.1(ajv@8.12.0) + ajv-keywords: 5.1.0(ajv@8.12.0) dev: false - /section-matter/1.0.0: + /section-matter@1.0.0: resolution: {integrity: sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==} engines: {node: '>=4'} dependencies: @@ -14278,76 +13724,55 @@ packages: kind-of: 6.0.3 dev: true - /select-hose/2.0.0: + /select-hose@2.0.0: resolution: {integrity: sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==} - /selfsigned/1.10.14: + /selfsigned@1.10.14: resolution: {integrity: sha512-lkjaiAye+wBZDCBsu5BGi0XiLRxeUlsGod5ZP924CRSEoGuZAw/f7y9RKu28rwTfiHVhdavhB0qH0INV6P1lEA==} dependencies: node-forge: 0.10.0 dev: true - /selfsigned/2.1.1: + /selfsigned@2.1.1: resolution: {integrity: sha512-GSL3aowiF7wa/WtSFwnUrludWFoNhftq8bUkH9pkzjpN2XSPOAYEgg6e0sS9s0rZwgJzJiQRPU18A6clnoW5wQ==} engines: {node: '>=10'} dependencies: node-forge: 1.3.1 dev: false - /semiver/1.1.0: + /semiver@1.1.0: resolution: {integrity: sha512-QNI2ChmuioGC1/xjyYwyZYADILWyW6AmS1UH6gDj/SFUUUS4MBAWs/7mxnkRPc/F4iHezDP+O8t0dO8WHiEOdg==} engines: {node: '>=6'} dev: true - /semver-diff/3.1.1: + /semver-diff@3.1.1: resolution: {integrity: sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==} engines: {node: '>=8'} dependencies: semver: 6.3.0 dev: true - /semver/5.7.1: + /semver@5.7.1: resolution: {integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==} hasBin: true dev: true - /semver/6.3.0: + /semver@6.3.0: resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==} hasBin: true - /semver/7.3.8: + /semver@7.3.8: resolution: {integrity: sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==} engines: {node: '>=10'} hasBin: true dependencies: lru-cache: 6.0.0 - /send/0.18.0: - resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==} - engines: {node: '>= 0.8.0'} - dependencies: - debug: 2.6.9 - depd: 2.0.0 - destroy: 1.2.0 - encodeurl: 1.0.2 - escape-html: 1.0.3 - etag: 1.8.1 - fresh: 0.5.2 - http-errors: 2.0.0 - mime: 1.6.0 - ms: 2.1.3 - on-finished: 2.4.1 - range-parser: 1.2.1 - statuses: 2.0.1 - transitivePeerDependencies: - - supports-color - dev: false - - /send/0.18.0_supports-color@6.1.0: + /send@0.18.0(supports-color@6.1.0): resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==} engines: {node: '>= 0.8.0'} dependencies: - debug: 2.6.9_supports-color@6.1.0 + debug: 2.6.9(supports-color@6.1.0) depd: 2.0.0 destroy: 1.2.0 encodeurl: 1.0.2 @@ -14362,77 +13787,47 @@ packages: statuses: 2.0.1 transitivePeerDependencies: - supports-color - dev: true - /serialize-javascript/4.0.0: + /serialize-javascript@4.0.0: resolution: {integrity: sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==} dependencies: randombytes: 2.1.0 - /serialize-javascript/6.0.1: + /serialize-javascript@6.0.1: resolution: {integrity: sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==} dependencies: randombytes: 2.1.0 - /serve-index/1.9.1: - resolution: {integrity: sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==} - engines: {node: '>= 0.8.0'} - dependencies: - accepts: 1.3.8 - batch: 0.6.1 - debug: 2.6.9 - escape-html: 1.0.3 - http-errors: 1.6.3 - mime-types: 2.1.35 - parseurl: 1.3.3 - transitivePeerDependencies: - - supports-color - dev: false - - /serve-index/1.9.1_supports-color@6.1.0: + /serve-index@1.9.1(supports-color@6.1.0): resolution: {integrity: sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==} engines: {node: '>= 0.8.0'} dependencies: accepts: 1.3.8 batch: 0.6.1 - debug: 2.6.9_supports-color@6.1.0 + debug: 2.6.9(supports-color@6.1.0) escape-html: 1.0.3 http-errors: 1.6.3 mime-types: 2.1.35 parseurl: 1.3.3 transitivePeerDependencies: - supports-color - dev: true - - /serve-static/1.15.0: - resolution: {integrity: sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==} - engines: {node: '>= 0.8.0'} - dependencies: - encodeurl: 1.0.2 - escape-html: 1.0.3 - parseurl: 1.3.3 - send: 0.18.0 - transitivePeerDependencies: - - supports-color - dev: false - /serve-static/1.15.0_supports-color@6.1.0: + /serve-static@1.15.0(supports-color@6.1.0): resolution: {integrity: sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==} engines: {node: '>= 0.8.0'} dependencies: encodeurl: 1.0.2 escape-html: 1.0.3 parseurl: 1.3.3 - send: 0.18.0_supports-color@6.1.0 + send: 0.18.0(supports-color@6.1.0) transitivePeerDependencies: - supports-color - dev: true - /set-blocking/2.0.0: + /set-blocking@2.0.0: resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} dev: true - /set-value/2.0.1: + /set-value@2.0.1: resolution: {integrity: sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==} engines: {node: '>=0.10.0'} dependencies: @@ -14442,17 +13837,17 @@ packages: split-string: 3.1.0 dev: true - /setimmediate/1.0.5: + /setimmediate@1.0.5: resolution: {integrity: sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==} dev: true - /setprototypeof/1.1.0: + /setprototypeof@1.1.0: resolution: {integrity: sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==} - /setprototypeof/1.2.0: + /setprototypeof@1.2.0: resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} - /sha.js/2.4.11: + /sha.js@2.4.11: resolution: {integrity: sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==} hasBin: true dependencies: @@ -14460,32 +13855,32 @@ packages: safe-buffer: 5.2.1 dev: true - /shebang-command/1.2.0: + /shebang-command@1.2.0: resolution: {integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==} engines: {node: '>=0.10.0'} dependencies: shebang-regex: 1.0.0 dev: true - /shebang-command/2.0.0: + /shebang-command@2.0.0: resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} engines: {node: '>=8'} dependencies: shebang-regex: 3.0.0 - /shebang-regex/1.0.0: + /shebang-regex@1.0.0: resolution: {integrity: sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==} engines: {node: '>=0.10.0'} dev: true - /shebang-regex/3.0.0: + /shebang-regex@3.0.0: resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} engines: {node: '>=8'} - /shell-quote/1.8.0: + /shell-quote@1.8.0: resolution: {integrity: sha512-QHsz8GgQIGKlRi24yFc6a6lN69Idnx634w49ay6+jA5yFh7a1UY+4Rp6HPx/L/1zcEDPEij8cIsiqR6bQsE5VQ==} - /shiki/0.14.1: + /shiki@0.14.1: resolution: {integrity: sha512-+Jz4nBkCBe0mEDqo1eKRcCdjRtrCjozmcbTUjbPTX7OOJfEbTZzlUWlZtGe3Gb5oV1/jnojhG//YZc3rs9zSEw==} dependencies: ansi-sequence-parser: 1.1.0 @@ -14494,55 +13889,55 @@ packages: vscode-textmate: 8.0.0 dev: true - /side-channel/1.0.4: + /side-channel@1.0.4: resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} dependencies: call-bind: 1.0.2 get-intrinsic: 1.2.0 object-inspect: 1.12.3 - /signal-exit/3.0.7: + /signal-exit@3.0.7: resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} - /simple-swizzle/0.2.2: + /simple-swizzle@0.2.2: resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==} dependencies: is-arrayish: 0.3.2 dev: true - /sisteransi/1.0.5: + /sisteransi@1.0.5: resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} dev: false - /skip-regex/1.0.2: + /skip-regex@1.0.2: resolution: {integrity: sha512-pEjMUbwJ5Pl/6Vn6FsamXHXItJXSRftcibixDmNCWbWhic0hzHrwkMZo0IZ7fMRH9KxcWDFSkzhccB4285PutA==} engines: {node: '>=4.2'} dev: true - /slash/1.0.0: + /slash@1.0.0: resolution: {integrity: sha512-3TYDR7xWt4dIqV2JauJr+EJeW356RXijHeUlO+8djJ+uBXPn8/2dpzBc8yQhh583sVvc9CvFAeQVgijsH+PNNg==} engines: {node: '>=0.10.0'} dev: true - /slash/2.0.0: + /slash@2.0.0: resolution: {integrity: sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==} engines: {node: '>=6'} dev: true - /slash/3.0.0: + /slash@3.0.0: resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} engines: {node: '>=8'} - /slash/4.0.0: + /slash@4.0.0: resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==} engines: {node: '>=12'} dev: false - /smoothscroll-polyfill/0.4.4: + /smoothscroll-polyfill@0.4.4: resolution: {integrity: sha512-TK5ZA9U5RqCwMpfoMq/l1mrH0JAR7y7KRvOBx0n2869aLxch+gT9GhN3yUfjiw+d/DiF1mKo14+hd62JyMmoBg==} dev: true - /snapdragon-node/2.1.1: + /snapdragon-node@2.1.1: resolution: {integrity: sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==} engines: {node: '>=0.10.0'} dependencies: @@ -14551,35 +13946,19 @@ packages: snapdragon-util: 3.0.1 dev: true - /snapdragon-util/3.0.1: + /snapdragon-util@3.0.1: resolution: {integrity: sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==} engines: {node: '>=0.10.0'} dependencies: kind-of: 3.2.2 dev: true - /snapdragon/0.8.2: - resolution: {integrity: sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==} - engines: {node: '>=0.10.0'} - dependencies: - base: 0.11.2 - debug: 2.6.9 - define-property: 0.2.5 - extend-shallow: 2.0.1 - map-cache: 0.2.2 - source-map: 0.5.7 - source-map-resolve: 0.5.3 - use: 3.1.1 - transitivePeerDependencies: - - supports-color - dev: true - - /snapdragon/0.8.2_supports-color@6.1.0: + /snapdragon@0.8.2(supports-color@6.1.0): resolution: {integrity: sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==} engines: {node: '>=0.10.0'} dependencies: base: 0.11.2 - debug: 2.6.9_supports-color@6.1.0 + debug: 2.6.9(supports-color@6.1.0) define-property: 0.2.5 extend-shallow: 2.0.1 map-cache: 0.2.2 @@ -14590,7 +13969,7 @@ packages: - supports-color dev: true - /socket.io-adapter/2.5.2: + /socket.io-adapter@2.5.2: resolution: {integrity: sha512-87C3LO/NOMc+eMcpcxUBebGjkpMDkNBS9tf7KJqcDsmL936EChtVva71Dw2q4tQcuVC+hAUy4an2NO/sYXmwRA==} dependencies: ws: 8.11.0 @@ -14599,23 +13978,23 @@ packages: - utf-8-validate dev: true - /socket.io-parser/4.2.2: + /socket.io-parser@4.2.2: resolution: {integrity: sha512-DJtziuKypFkMMHCm2uIshOYC7QaylbtzQwiMYDuCKy3OPkjLzu4B2vAhTlqipRHHzrI0NJeBAizTK7X+6m1jVw==} engines: {node: '>=10.0.0'} dependencies: '@socket.io/component-emitter': 3.1.0 - debug: 4.3.4 + debug: 4.3.4(supports-color@6.1.0) transitivePeerDependencies: - supports-color dev: true - /socket.io/4.6.1: + /socket.io@4.6.1: resolution: {integrity: sha512-KMcaAi4l/8+xEjkRICl6ak8ySoxsYG+gG6/XfRCPJPQ/haCRIJBTL4wIl8YCsmtaBovcAXGLOShyVWQ/FG8GZA==} engines: {node: '>=10.0.0'} dependencies: accepts: 1.3.8 base64id: 2.0.0 - debug: 4.3.4 + debug: 4.3.4(supports-color@6.1.0) engine.io: 6.4.1 socket.io-adapter: 2.5.2 socket.io-parser: 4.2.2 @@ -14625,11 +14004,11 @@ packages: - utf-8-validate dev: true - /sockjs-client/1.6.1_supports-color@6.1.0: + /sockjs-client@1.6.1(supports-color@6.1.0): resolution: {integrity: sha512-2g0tjOR+fRs0amxENLi/q5TiJTqY+WXFOzb5UwXndlK6TO3U/mirZznpx6w34HVMoc3g7cY24yC/ZMIYnDlfkw==} engines: {node: '>=12'} dependencies: - debug: 3.2.7_supports-color@6.1.0 + debug: 3.2.7(supports-color@6.1.0) eventsource: 2.0.2 faye-websocket: 0.11.4 inherits: 2.0.4 @@ -14638,28 +14017,28 @@ packages: - supports-color dev: true - /sockjs/0.3.24: + /sockjs@0.3.24: resolution: {integrity: sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==} dependencies: faye-websocket: 0.11.4 uuid: 8.3.2 websocket-driver: 0.7.4 - /sort-keys/2.0.0: + /sort-keys@2.0.0: resolution: {integrity: sha512-/dPCrG1s3ePpWm6yBbxZq5Be1dXGLyLn9Z791chDC3NFrpkVbWGzkBwPN1knaciexFXgRJ7hzdnwZ4stHSDmjg==} engines: {node: '>=4'} dependencies: is-plain-obj: 1.1.0 dev: true - /source-list-map/2.0.1: + /source-list-map@2.0.1: resolution: {integrity: sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==} - /source-map-js/1.0.2: + /source-map-js@1.0.2: resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} engines: {node: '>=0.10.0'} - /source-map-loader/3.0.2_webpack@5.76.3: + /source-map-loader@3.0.2(webpack@5.76.3): resolution: {integrity: sha512-BokxPoLjyl3iOrgkWaakaxqnelAJSS+0V+De0kKIq6lyWrXuiPgYTGp6z3iHmqljKAaLXwZa+ctD8GccRJeVvg==} engines: {node: '>= 12.13.0'} peerDependencies: @@ -14668,10 +14047,10 @@ packages: abab: 2.0.6 iconv-lite: 0.6.3 source-map-js: 1.0.2 - webpack: 5.76.3 + webpack: 5.76.3(@swc/core@1.3.42) dev: false - /source-map-resolve/0.5.3: + /source-map-resolve@0.5.3: resolution: {integrity: sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==} deprecated: See https://github.com/lydell/source-map-resolve#deprecated dependencies: @@ -14682,67 +14061,54 @@ packages: urix: 0.1.0 dev: true - /source-map-support/0.5.21: + /source-map-support@0.5.21: resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} dependencies: buffer-from: 1.1.2 source-map: 0.6.1 - /source-map-url/0.4.1: + /source-map-url@0.4.1: resolution: {integrity: sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==} deprecated: See https://github.com/lydell/source-map-url#deprecated dev: true - /source-map/0.5.6: + /source-map@0.5.6: resolution: {integrity: sha512-MjZkVp0NHr5+TPihLcadqnlVoGIoWo4IBHptutGh9wI3ttUYvCG26HkSuDi+K6lsZ25syXJXcctwgyVCt//xqA==} engines: {node: '>=0.10.0'} dev: true - /source-map/0.5.7: + /source-map@0.5.7: resolution: {integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==} engines: {node: '>=0.10.0'} dev: true - /source-map/0.6.1: + /source-map@0.6.1: resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} engines: {node: '>=0.10.0'} - /source-map/0.7.4: + /source-map@0.7.4: resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==} engines: {node: '>= 8'} - /source-map/0.8.0-beta.0: + /source-map@0.8.0-beta.0: resolution: {integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==} engines: {node: '>= 8'} dependencies: whatwg-url: 7.1.0 dev: false - /sourcemap-codec/1.4.8: + /sourcemap-codec@1.4.8: resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==} deprecated: Please use @jridgewell/sourcemap-codec instead - /spawn-command/0.0.2-1: + /spawn-command@0.0.2-1: resolution: {integrity: sha512-n98l9E2RMSJ9ON1AKisHzz7V42VDiBQGY6PB1BwRglz99wpVsSuGzQ+jOi6lFXBGVTCrRpltvjm+/XA+tpeJrg==} dev: true - /spdy-transport/3.0.0: - resolution: {integrity: sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==} - dependencies: - debug: 4.3.4 - detect-node: 2.1.0 - hpack.js: 2.1.6 - obuf: 1.1.2 - readable-stream: 3.6.2 - wbuf: 1.7.3 - transitivePeerDependencies: - - supports-color - dev: false - - /spdy-transport/3.0.0_supports-color@6.1.0: + /spdy-transport@3.0.0(supports-color@6.1.0): resolution: {integrity: sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==} dependencies: - debug: 4.3.4_supports-color@6.1.0 + debug: 4.3.4(supports-color@6.1.0) detect-node: 2.1.0 hpack.js: 2.1.6 obuf: 1.1.2 @@ -14750,45 +14116,30 @@ packages: wbuf: 1.7.3 transitivePeerDependencies: - supports-color - dev: true - /spdy/4.0.2: + /spdy@4.0.2(supports-color@6.1.0): resolution: {integrity: sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==} engines: {node: '>=6.0.0'} dependencies: - debug: 4.3.4 + debug: 4.3.4(supports-color@6.1.0) handle-thing: 2.0.1 http-deceiver: 1.2.7 select-hose: 2.0.0 - spdy-transport: 3.0.0 + spdy-transport: 3.0.0(supports-color@6.1.0) transitivePeerDependencies: - supports-color - dev: false - /spdy/4.0.2_supports-color@6.1.0: - resolution: {integrity: sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==} - engines: {node: '>=6.0.0'} - dependencies: - debug: 4.3.4_supports-color@6.1.0 - handle-thing: 2.0.1 - http-deceiver: 1.2.7 - select-hose: 2.0.0 - spdy-transport: 3.0.0_supports-color@6.1.0 - transitivePeerDependencies: - - supports-color - dev: true - - /split-string/3.1.0: + /split-string@3.1.0: resolution: {integrity: sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==} engines: {node: '>=0.10.0'} dependencies: extend-shallow: 3.0.2 dev: true - /sprintf-js/1.0.3: + /sprintf-js@1.0.3: resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} - /sshpk/1.17.0: + /sshpk@1.17.0: resolution: {integrity: sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==} engines: {node: '>=0.10.0'} hasBin: true @@ -14804,35 +14155,35 @@ packages: tweetnacl: 0.14.5 dev: true - /ssri/6.0.2: + /ssri@6.0.2: resolution: {integrity: sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==} dependencies: figgy-pudding: 3.5.2 dev: true - /stable/0.1.8: + /stable@0.1.8: resolution: {integrity: sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==} deprecated: 'Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility' - /stack-utils/1.0.5: + /stack-utils@1.0.5: resolution: {integrity: sha512-KZiTzuV3CnSnSvgMRrARVCj+Ht7rMbauGDK0LdVFRGyenwdylpajAp4Q0i6SX8rEmbTpMMf6ryq2gb8pPq2WgQ==} engines: {node: '>=8'} dependencies: escape-string-regexp: 2.0.0 dev: true - /stack-utils/2.0.6: + /stack-utils@2.0.6: resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} engines: {node: '>=10'} dependencies: escape-string-regexp: 2.0.0 dev: false - /stackframe/1.3.4: + /stackframe@1.3.4: resolution: {integrity: sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==} dev: false - /static-extend/0.1.2: + /static-extend@0.1.2: resolution: {integrity: sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==} engines: {node: '>=0.10.0'} dependencies: @@ -14840,42 +14191,42 @@ packages: object-copy: 0.1.0 dev: true - /statuses/1.5.0: + /statuses@1.5.0: resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==} engines: {node: '>= 0.6'} - /statuses/2.0.1: + /statuses@2.0.1: resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} engines: {node: '>= 0.8'} - /std-env/2.3.1: + /std-env@2.3.1: resolution: {integrity: sha512-eOsoKTWnr6C8aWrqJJ2KAReXoa7Vn5Ywyw6uCXgA/xDhxPoaIsBa5aNJmISY04dLwXPBnDHW4diGM7Sn5K4R/g==} dependencies: ci-info: 3.8.0 dev: true - /stop-iteration-iterator/1.0.0: + /stop-iteration-iterator@1.0.0: resolution: {integrity: sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==} engines: {node: '>= 0.4'} dependencies: internal-slot: 1.0.5 dev: false - /stream-browserify/2.0.2: + /stream-browserify@2.0.2: resolution: {integrity: sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==} dependencies: inherits: 2.0.4 readable-stream: 2.3.8 dev: true - /stream-each/1.2.3: + /stream-each@1.2.3: resolution: {integrity: sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==} dependencies: end-of-stream: 1.4.4 stream-shift: 1.0.1 dev: true - /stream-http/2.8.3: + /stream-http@2.8.3: resolution: {integrity: sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==} dependencies: builtin-status-codes: 3.0.0 @@ -14885,27 +14236,27 @@ packages: xtend: 4.0.2 dev: true - /stream-shift/1.0.1: + /stream-shift@1.0.1: resolution: {integrity: sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==} dev: true - /streamroller/3.1.5: + /streamroller@3.1.5: resolution: {integrity: sha512-KFxaM7XT+irxvdqSP1LGLgNWbYN7ay5owZ3r/8t77p+EtSUAfUgtl7be3xtqtOmGUl9K9YPO2ca8133RlTjvKw==} engines: {node: '>=8.0'} dependencies: date-format: 4.0.14 - debug: 4.3.4 + debug: 4.3.4(supports-color@6.1.0) fs-extra: 8.1.0 transitivePeerDependencies: - supports-color dev: true - /strict-uri-encode/1.1.0: + /strict-uri-encode@1.1.0: resolution: {integrity: sha512-R3f198pcvnB+5IpnBlRkphuE9n46WyVl8I39W/ZUTZLz4nqSP/oLYUrcnJrw462Ds8he4YKMov2efsTIw1BDGQ==} engines: {node: '>=0.10.0'} dev: true - /string-length/4.0.2: + /string-length@4.0.2: resolution: {integrity: sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==} engines: {node: '>=10'} dependencies: @@ -14913,7 +14264,7 @@ packages: strip-ansi: 6.0.1 dev: false - /string-length/5.0.1: + /string-length@5.0.1: resolution: {integrity: sha512-9Ep08KAMUn0OadnVaBuRdE2l615CQ508kr0XMadjClfYpdCyvrbFp6Taebo8yyxokQ4viUd/xPPUA4FGgUa0ow==} engines: {node: '>=12.20'} dependencies: @@ -14921,11 +14272,11 @@ packages: strip-ansi: 7.0.1 dev: false - /string-natural-compare/3.0.1: + /string-natural-compare@3.0.1: resolution: {integrity: sha512-n3sPwynL1nwKi3WJ6AIsClwBMa0zTi54fn2oLU6ndfTSIO05xaznjSf15PcBZU6FNWbmN5Q6cxT4V5hGvB4taw==} dev: false - /string-width/3.1.0: + /string-width@3.1.0: resolution: {integrity: sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==} engines: {node: '>=6'} dependencies: @@ -14934,7 +14285,7 @@ packages: strip-ansi: 5.2.0 dev: true - /string-width/4.2.3: + /string-width@4.2.3: resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} engines: {node: '>=8'} dependencies: @@ -14942,7 +14293,7 @@ packages: is-fullwidth-code-point: 3.0.0 strip-ansi: 6.0.1 - /string.prototype.matchall/4.0.8: + /string.prototype.matchall@4.0.8: resolution: {integrity: sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==} dependencies: call-bind: 1.0.2 @@ -14955,7 +14306,7 @@ packages: side-channel: 1.0.4 dev: false - /string.prototype.trim/1.2.7: + /string.prototype.trim@1.2.7: resolution: {integrity: sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==} engines: {node: '>= 0.4'} dependencies: @@ -14963,31 +14314,31 @@ packages: define-properties: 1.2.0 es-abstract: 1.21.2 - /string.prototype.trimend/1.0.6: + /string.prototype.trimend@1.0.6: resolution: {integrity: sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==} dependencies: call-bind: 1.0.2 define-properties: 1.2.0 es-abstract: 1.21.2 - /string.prototype.trimstart/1.0.6: + /string.prototype.trimstart@1.0.6: resolution: {integrity: sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==} dependencies: call-bind: 1.0.2 define-properties: 1.2.0 es-abstract: 1.21.2 - /string_decoder/1.1.1: + /string_decoder@1.1.1: resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} dependencies: safe-buffer: 5.1.2 - /string_decoder/1.3.0: + /string_decoder@1.3.0: resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} dependencies: safe-buffer: 5.2.1 - /stringify-object/3.3.0: + /stringify-object@3.3.0: resolution: {integrity: sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==} engines: {node: '>=4'} dependencies: @@ -14995,82 +14346,82 @@ packages: is-obj: 1.0.1 is-regexp: 1.0.0 - /strip-ansi/3.0.1: + /strip-ansi@3.0.1: resolution: {integrity: sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==} engines: {node: '>=0.10.0'} dependencies: ansi-regex: 2.1.1 dev: true - /strip-ansi/5.2.0: + /strip-ansi@5.2.0: resolution: {integrity: sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==} engines: {node: '>=6'} dependencies: ansi-regex: 4.1.1 dev: true - /strip-ansi/6.0.1: + /strip-ansi@6.0.1: resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} engines: {node: '>=8'} dependencies: ansi-regex: 5.0.1 - /strip-ansi/7.0.1: + /strip-ansi@7.0.1: resolution: {integrity: sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==} engines: {node: '>=12'} dependencies: ansi-regex: 6.0.1 dev: false - /strip-bom-string/1.0.0: + /strip-bom-string@1.0.0: resolution: {integrity: sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==} engines: {node: '>=0.10.0'} dev: true - /strip-bom/3.0.0: + /strip-bom@3.0.0: resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} engines: {node: '>=4'} dev: false - /strip-bom/4.0.0: + /strip-bom@4.0.0: resolution: {integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==} engines: {node: '>=8'} dev: false - /strip-comments/2.0.1: + /strip-comments@2.0.1: resolution: {integrity: sha512-ZprKx+bBLXv067WTCALv8SSz5l2+XhpYCsVtSqlMnkAXMWDq+/ekVbl1ghqP9rUHTzv6sm/DwCOiYutU/yp1fw==} engines: {node: '>=10'} dev: false - /strip-eof/1.0.0: + /strip-eof@1.0.0: resolution: {integrity: sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==} engines: {node: '>=0.10.0'} dev: true - /strip-final-newline/2.0.0: + /strip-final-newline@2.0.0: resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} engines: {node: '>=6'} dev: false - /strip-json-comments/2.0.1: + /strip-json-comments@2.0.1: resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} engines: {node: '>=0.10.0'} dev: true - /strip-json-comments/3.1.1: + /strip-json-comments@3.1.1: resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} engines: {node: '>=8'} - /style-loader/3.3.2_webpack@5.76.3: + /style-loader@3.3.2(webpack@5.76.3): resolution: {integrity: sha512-RHs/vcrKdQK8wZliteNK4NKzxvLBzpuHMqYmUVWeKa6MkaIQ97ZTOS0b+zapZhy6GcrgWnvWYCMHRirC3FsUmw==} engines: {node: '>= 12.13.0'} peerDependencies: webpack: ^5.0.0 dependencies: - webpack: 5.76.3 + webpack: 5.76.3(@swc/core@1.3.42) dev: false - /stylehacks/4.0.3: + /stylehacks@4.0.3: resolution: {integrity: sha512-7GlLk9JwlElY4Y6a/rmbH2MhVlTyVmiJd1PfTCqFaIBEGMYNsrO/v3SeGTdhBThLg4Z+NbOk/qFMwCa+J+3p/g==} engines: {node: '>=6.9.0'} dependencies: @@ -15079,17 +14430,7 @@ packages: postcss-selector-parser: 3.1.2 dev: true - /stylehacks/5.1.1: - resolution: {integrity: sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - browserslist: 4.21.5 - postcss-selector-parser: 6.0.11 - dev: true - - /stylehacks/5.1.1_postcss@8.4.21: + /stylehacks@5.1.1(postcss@8.4.21): resolution: {integrity: sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: @@ -15098,9 +14439,8 @@ packages: browserslist: 4.21.5 postcss: 8.4.21 postcss-selector-parser: 6.0.11 - dev: false - /stylus-loader/3.0.2_stylus@0.54.8: + /stylus-loader@3.0.2(stylus@0.54.8): resolution: {integrity: sha512-+VomPdZ6a0razP+zinir61yZgpw2NfljeSsdUF5kJuEzlo3khXhY19Fn6l8QQz1GRJGtMCo8nG5C04ePyV7SUA==} peerDependencies: stylus: '>=0.52.4' @@ -15111,7 +14451,7 @@ packages: when: 3.6.4 dev: true - /stylus/0.54.8: + /stylus@0.54.8: resolution: {integrity: sha512-vr54Or4BZ7pJafo2mpf0ZcwA74rpuYCZbxrHBsH8kbcXOwSfvBFwsRfpGO5OD5fhG5HDCFW737PKaawI7OqEAg==} hasBin: true dependencies: @@ -15127,7 +14467,7 @@ packages: - supports-color dev: true - /sucrase/3.31.0: + /sucrase@3.31.0: resolution: {integrity: sha512-6QsHnkqyVEzYcaiHsOKkzOtOgdJcb8i54x6AV2hDwyZcY9ZyykGZVw6L/YN98xC0evwTP6utsWWrKRaa8QlfEQ==} engines: {node: '>=8'} hasBin: true @@ -15140,32 +14480,31 @@ packages: ts-interface-checker: 0.1.13 dev: false - /supports-color/5.5.0: + /supports-color@5.5.0: resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} engines: {node: '>=4'} dependencies: has-flag: 3.0.0 - /supports-color/6.1.0: + /supports-color@6.1.0: resolution: {integrity: sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==} engines: {node: '>=6'} dependencies: has-flag: 3.0.0 - dev: true - /supports-color/7.2.0: + /supports-color@7.2.0: resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} engines: {node: '>=8'} dependencies: has-flag: 4.0.0 - /supports-color/8.1.1: + /supports-color@8.1.1: resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} engines: {node: '>=10'} dependencies: has-flag: 4.0.0 - /supports-hyperlinks/2.3.0: + /supports-hyperlinks@2.3.0: resolution: {integrity: sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==} engines: {node: '>=8'} dependencies: @@ -15173,19 +14512,19 @@ packages: supports-color: 7.2.0 dev: false - /supports-preserve-symlinks-flag/1.0.0: + /supports-preserve-symlinks-flag@1.0.0: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} - /svg-parser/2.0.4: + /svg-parser@2.0.4: resolution: {integrity: sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==} dev: false - /svg-tags/1.0.0: + /svg-tags@1.0.0: resolution: {integrity: sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==} dev: true - /svgo/1.3.2: + /svgo@1.3.2: resolution: {integrity: sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==} engines: {node: '>=4.0.0'} deprecated: This SVGO version is no longer supported. Upgrade to v2.x.x. @@ -15205,7 +14544,7 @@ packages: unquote: 1.1.1 util.promisify: 1.0.1 - /svgo/2.8.0: + /svgo@2.8.0: resolution: {integrity: sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==} engines: {node: '>=10.13.0'} hasBin: true @@ -15218,14 +14557,16 @@ packages: picocolors: 1.0.0 stable: 0.1.8 - /symbol-tree/3.2.4: + /symbol-tree@3.2.4: resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==} dev: false - /tailwindcss/3.3.0: + /tailwindcss@3.3.0(postcss@8.4.21): resolution: {integrity: sha512-hOXlFx+YcklJ8kXiCAfk/FMyr4Pm9ck477G0m/us2344Vuj355IpoEDB5UmGAsSpTBmr+4ZhjzW04JuFXkb/fw==} engines: {node: '>=12.13.0'} hasBin: true + peerDependencies: + postcss: ^8.0.9 dependencies: arg: 5.0.2 chokidar: 3.5.3 @@ -15242,10 +14583,10 @@ packages: object-hash: 3.0.0 picocolors: 1.0.0 postcss: 8.4.21 - postcss-import: 14.1.0_postcss@8.4.21 - postcss-js: 4.0.1_postcss@8.4.21 - postcss-load-config: 3.1.4_postcss@8.4.21 - postcss-nested: 6.0.0_postcss@8.4.21 + postcss-import: 14.1.0(postcss@8.4.21) + postcss-js: 4.0.1(postcss@8.4.21) + postcss-load-config: 3.1.4(postcss@8.4.21) + postcss-nested: 6.0.0(postcss@8.4.21) postcss-selector-parser: 6.0.11 postcss-value-parser: 4.2.0 quick-lru: 5.1.1 @@ -15255,21 +14596,21 @@ packages: - ts-node dev: false - /tapable/1.1.3: + /tapable@1.1.3: resolution: {integrity: sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==} engines: {node: '>=6'} - /tapable/2.2.1: + /tapable@2.2.1: resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} engines: {node: '>=6'} dev: false - /temp-dir/2.0.0: + /temp-dir@2.0.0: resolution: {integrity: sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==} engines: {node: '>=8'} dev: false - /tempy/0.6.0: + /tempy@0.6.0: resolution: {integrity: sha512-G13vtMYPT/J8A4X2SjdtBTphZlrp1gKv6hZiOjw14RCWg6GbHuQBGtjlx75xLbYV/wEc0D7G5K4rxKP/cXk8Bw==} engines: {node: '>=10'} dependencies: @@ -15279,12 +14620,12 @@ packages: unique-string: 2.0.0 dev: false - /term-size/2.2.1: + /term-size@2.2.1: resolution: {integrity: sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==} engines: {node: '>=8'} dev: true - /terminal-link/2.1.1: + /terminal-link@2.1.1: resolution: {integrity: sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==} engines: {node: '>=8'} dependencies: @@ -15292,7 +14633,7 @@ packages: supports-hyperlinks: 2.3.0 dev: false - /terser-webpack-plugin/1.4.5_webpack@4.46.0: + /terser-webpack-plugin@1.4.5(webpack@4.46.0): resolution: {integrity: sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==} engines: {node: '>= 6.9.0'} peerDependencies: @@ -15310,7 +14651,7 @@ packages: worker-farm: 1.7.0 dev: true - /terser-webpack-plugin/5.3.7_webpack@5.76.3: + /terser-webpack-plugin@5.3.7(@swc/core@1.3.42)(webpack@5.76.3): resolution: {integrity: sha512-AfKwIktyP7Cu50xNjXF/6Qb5lBNzYaWpU6YfoX3uZicTx0zTy0stDDCsvjDapKsSDvOeWo5MEq4TmdBy2cNoHw==} engines: {node: '>= 10.13.0'} peerDependencies: @@ -15327,14 +14668,15 @@ packages: optional: true dependencies: '@jridgewell/trace-mapping': 0.3.17 + '@swc/core': 1.3.42 jest-worker: 27.5.1 schema-utils: 3.1.1 serialize-javascript: 6.0.1 terser: 5.16.8 - webpack: 5.76.3 + webpack: 5.76.3(@swc/core@1.3.42) dev: false - /terser/4.8.1: + /terser@4.8.1: resolution: {integrity: sha512-4GnLC0x667eJG0ewJTa6z/yXrbLGv80D9Ru6HIpCQmO+Q4PfEtBFi0ObSckqwL6VyQv/7ENJieXHo2ANmdQwgw==} engines: {node: '>=6.0.0'} hasBin: true @@ -15345,7 +14687,7 @@ packages: source-map-support: 0.5.21 dev: true - /terser/5.16.8: + /terser@5.16.8: resolution: {integrity: sha512-QI5g1E/ef7d+PsDifb+a6nnVgC4F22Bg6T0xrBrz6iloVB4PUkkunp6V8nzoOOZJIzjWVdAGqCdlKlhLq/TbIA==} engines: {node: '>=10'} hasBin: true @@ -15355,7 +14697,7 @@ packages: commander: 2.20.3 source-map-support: 0.5.21 - /test-exclude/6.0.0: + /test-exclude@6.0.0: resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} engines: {node: '>=8'} dependencies: @@ -15364,87 +14706,87 @@ packages: minimatch: 3.1.2 dev: false - /text-table/0.2.0: + /text-table@0.2.0: resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} - /thenify-all/1.6.0: + /thenify-all@1.6.0: resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} engines: {node: '>=0.8'} dependencies: thenify: 3.3.1 dev: false - /thenify/3.3.1: + /thenify@3.3.1: resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} dependencies: any-promise: 1.3.0 dev: false - /throat/6.0.2: + /throat@6.0.2: resolution: {integrity: sha512-WKexMoJj3vEuK0yFEapj8y64V0A6xcuPuK9Gt1d0R+dzCSJc0lHqQytAbSB4cDAK0dWh4T0E2ETkoLE2WZ41OQ==} dev: false - /through/2.3.8: - resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} - dev: true - - /through2/2.0.5: + /through2@2.0.5: resolution: {integrity: sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==} dependencies: readable-stream: 2.3.8 xtend: 4.0.2 dev: true - /thunky/1.1.0: + /through@2.3.8: + resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} + dev: true + + /thunky@1.1.0: resolution: {integrity: sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==} - /timers-browserify/2.0.12: + /timers-browserify@2.0.12: resolution: {integrity: sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==} engines: {node: '>=0.6.0'} dependencies: setimmediate: 1.0.5 dev: true - /timsort/0.3.0: + /timsort@0.3.0: resolution: {integrity: sha512-qsdtZH+vMoCARQtyod4imc2nIJwg9Cc7lPRrw9CzF8ZKR0khdr8+2nX80PBhET3tcyTtJDxAffGh2rXH4tyU8A==} dev: true - /tmp/0.2.1: + /tmp@0.2.1: resolution: {integrity: sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==} engines: {node: '>=8.17.0'} dependencies: rimraf: 3.0.2 dev: true - /tmpl/1.0.5: + /tmpl@1.0.5: resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==} dev: false - /to-arraybuffer/1.0.1: + /to-arraybuffer@1.0.1: resolution: {integrity: sha512-okFlQcoGTi4LQBG/PgSYblw9VOyptsz2KJZqc6qtgGdes8VktzUQkj4BI2blit072iS8VODNcMA+tvnS9dnuMA==} dev: true - /to-factory/1.0.0: + /to-factory@1.0.0: resolution: {integrity: sha512-JVYrY42wMG7ddf+wBUQR/uHGbjUHZbLisJ8N62AMm0iTZ0p8YTcZLzdtomU0+H+wa99VbkyvQGB3zxB7NDzgIQ==} dev: true - /to-fast-properties/2.0.0: + /to-fast-properties@2.0.0: resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} engines: {node: '>=4'} - /to-object-path/0.3.0: + /to-object-path@0.3.0: resolution: {integrity: sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==} engines: {node: '>=0.10.0'} dependencies: kind-of: 3.2.2 dev: true - /to-readable-stream/1.0.0: + /to-readable-stream@1.0.0: resolution: {integrity: sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==} engines: {node: '>=6'} dev: true - /to-regex-range/2.1.1: + /to-regex-range@2.1.1: resolution: {integrity: sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==} engines: {node: '>=0.10.0'} dependencies: @@ -15452,13 +14794,13 @@ packages: repeat-string: 1.6.1 dev: true - /to-regex-range/5.0.1: + /to-regex-range@5.0.1: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} dependencies: is-number: 7.0.0 - /to-regex/3.0.2: + /to-regex@3.0.2: resolution: {integrity: sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==} engines: {node: '>=0.10.0'} dependencies: @@ -15468,19 +14810,19 @@ packages: safe-regex: 1.1.0 dev: true - /toidentifier/1.0.1: + /toidentifier@1.0.1: resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} engines: {node: '>=0.6'} - /toml/3.0.0: + /toml@3.0.0: resolution: {integrity: sha512-y/mWCZinnvxjTKYhJ+pYxwD0mRLVvOtdS2Awbgxln6iEnt4rk0yBxeSBHkGJcPucRiG0e55mwWp+g/05rsrd6w==} dev: true - /toposort/1.0.7: + /toposort@1.0.7: resolution: {integrity: sha512-FclLrw8b9bMWf4QlCJuHBEVhSRsqDj6u3nIjAzPeJvgl//1hBlffdlk0MALceL14+koWEdU4ofRAXofbODxQzg==} dev: true - /tough-cookie/2.5.0: + /tough-cookie@2.5.0: resolution: {integrity: sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==} engines: {node: '>=0.8'} dependencies: @@ -15488,7 +14830,7 @@ packages: punycode: 2.3.0 dev: true - /tough-cookie/4.1.2: + /tough-cookie@4.1.2: resolution: {integrity: sha512-G9fqXWoYFZgTc2z8Q5zaHy/vJMjm+WV0AkAeHxVCQiEB1b+dGvWzFW6QV07cY5jQ5gRkeid2qIkzkxUnmoQZUQ==} engines: {node: '>=6'} dependencies: @@ -15498,41 +14840,41 @@ packages: url-parse: 1.5.10 dev: false - /tr46/0.0.3: + /tr46@0.0.3: resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} dev: true - /tr46/1.0.1: + /tr46@1.0.1: resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==} dependencies: punycode: 2.3.0 dev: false - /tr46/2.1.0: + /tr46@2.1.0: resolution: {integrity: sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==} engines: {node: '>=8'} dependencies: punycode: 2.3.0 dev: false - /tree-kill/1.2.2: + /tree-kill@1.2.2: resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} hasBin: true dev: true - /tryer/1.0.1: + /tryer@1.0.1: resolution: {integrity: sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==} dev: false - /ts-expect/1.3.0: + /ts-expect@1.3.0: resolution: {integrity: sha512-e4g0EJtAjk64xgnFPD6kTBUtpnMVzDrMb12N1YZV0VvSlhnVT3SGxiYTLdGy8Q5cYHOIC/FAHmZ10eGrAguicQ==} dev: true - /ts-interface-checker/0.1.13: + /ts-interface-checker@0.1.13: resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} dev: false - /tsconfig-paths/3.14.2: + /tsconfig-paths@3.14.2: resolution: {integrity: sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==} dependencies: '@types/json5': 0.0.29 @@ -15541,13 +14883,13 @@ packages: strip-bom: 3.0.0 dev: false - /tslib/1.14.1: + /tslib@1.14.1: resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} - /tslib/2.5.0: + /tslib@2.5.0: resolution: {integrity: sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==} - /tsutils/3.21.0_typescript@4.9.5: + /tsutils@3.21.0(typescript@4.9.5): resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} engines: {node: '>= 6'} peerDependencies: @@ -15556,89 +14898,89 @@ packages: tslib: 1.14.1 typescript: 4.9.5 - /tty-browserify/0.0.0: + /tty-browserify@0.0.0: resolution: {integrity: sha512-JVa5ijo+j/sOoHGjw0sxw734b1LhBkQ3bvUGNdxnVXDCX81Yx7TFgnZygxrIIWn23hbfTaMYLwRmAxFyDuFmIw==} dev: true - /tunnel-agent/0.6.0: + /tunnel-agent@0.6.0: resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} dependencies: safe-buffer: 5.2.1 dev: true - /tweetnacl/0.14.5: + /tweetnacl@0.14.5: resolution: {integrity: sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==} dev: true - /type-check/0.3.2: + /type-check@0.3.2: resolution: {integrity: sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==} engines: {node: '>= 0.8.0'} dependencies: prelude-ls: 1.1.2 dev: false - /type-check/0.4.0: + /type-check@0.4.0: resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} engines: {node: '>= 0.8.0'} dependencies: prelude-ls: 1.2.1 - /type-detect/4.0.8: + /type-detect@4.0.8: resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} engines: {node: '>=4'} dev: false - /type-fest/0.16.0: + /type-fest@0.16.0: resolution: {integrity: sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==} engines: {node: '>=10'} dev: false - /type-fest/0.20.2: + /type-fest@0.20.2: resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} engines: {node: '>=10'} - /type-fest/0.21.3: + /type-fest@0.21.3: resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} engines: {node: '>=10'} - /type-fest/0.8.1: + /type-fest@0.8.1: resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} engines: {node: '>=8'} dev: true - /type-is/1.6.18: + /type-is@1.6.18: resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} engines: {node: '>= 0.6'} dependencies: media-typer: 0.3.0 mime-types: 2.1.35 - /typed-array-length/1.0.4: + /typed-array-length@1.0.4: resolution: {integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==} dependencies: call-bind: 1.0.2 for-each: 0.3.3 is-typed-array: 1.1.10 - /typedarray-to-buffer/3.1.5: + /typedarray-to-buffer@3.1.5: resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==} dependencies: is-typedarray: 1.0.0 - /typedarray/0.0.6: + /typedarray@0.0.6: resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==} dev: true - /typedoc-plugin-markdown/3.14.0_typedoc@0.23.28: + /typedoc-plugin-markdown@3.14.0(typedoc@0.23.28): resolution: {integrity: sha512-UyQLkLRkfTFhLdhSf3RRpA3nNInGn+k6sll2vRXjflaMNwQAAiB61SYbisNZTg16t4K1dt1bPQMMGLrxS0GZ0Q==} peerDependencies: typedoc: '>=0.23.0' dependencies: handlebars: 4.7.7 - typedoc: 0.23.28_typescript@4.9.5 + typedoc: 0.23.28(typescript@4.9.5) dev: true - /typedoc/0.23.28_typescript@4.9.5: + /typedoc@0.23.28(typescript@4.9.5): resolution: {integrity: sha512-9x1+hZWTHEQcGoP7qFmlo4unUoVJLB0H/8vfO/7wqTnZxg4kPuji9y3uRzEu0ZKez63OJAUmiGhUrtukC6Uj3w==} engines: {node: '>= 14.14'} hasBin: true @@ -15652,20 +14994,20 @@ packages: typescript: 4.9.5 dev: true - /typescript/4.9.5: + /typescript@4.9.5: resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==} engines: {node: '>=4.2.0'} hasBin: true - /ua-parser-js/0.7.34: + /ua-parser-js@0.7.34: resolution: {integrity: sha512-cJMeh/eOILyGu0ejgTKB95yKT3zOenSe9UGE3vj6WfiOwgGYnmATUsnDixMFvdU+rNMvWih83hrUP8VwhF9yXQ==} dev: true - /uc.micro/1.0.6: + /uc.micro@1.0.6: resolution: {integrity: sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==} dev: true - /uglify-js/3.17.4: + /uglify-js@3.17.4: resolution: {integrity: sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==} engines: {node: '>=0.8.0'} hasBin: true @@ -15673,7 +15015,7 @@ packages: dev: true optional: true - /uglify-js/3.4.10: + /uglify-js@3.4.10: resolution: {integrity: sha512-Y2VsbPVs0FIshJztycsO2SfPk7/KAF/T72qzv9u5EpQ4kB2hQoHlhNQTsNyy6ul7lQtqJN/AoWeS23OzEiEFxw==} engines: {node: '>=0.8.0'} hasBin: true @@ -15682,7 +15024,7 @@ packages: source-map: 0.6.1 dev: true - /unbox-primitive/1.0.2: + /unbox-primitive@1.0.2: resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} dependencies: call-bind: 1.0.2 @@ -15690,26 +15032,26 @@ packages: has-symbols: 1.0.3 which-boxed-primitive: 1.0.2 - /unicode-canonical-property-names-ecmascript/2.0.0: + /unicode-canonical-property-names-ecmascript@2.0.0: resolution: {integrity: sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==} engines: {node: '>=4'} - /unicode-match-property-ecmascript/2.0.0: + /unicode-match-property-ecmascript@2.0.0: resolution: {integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==} engines: {node: '>=4'} dependencies: unicode-canonical-property-names-ecmascript: 2.0.0 unicode-property-aliases-ecmascript: 2.1.0 - /unicode-match-property-value-ecmascript/2.1.0: + /unicode-match-property-value-ecmascript@2.1.0: resolution: {integrity: sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==} engines: {node: '>=4'} - /unicode-property-aliases-ecmascript/2.1.0: + /unicode-property-aliases-ecmascript@2.1.0: resolution: {integrity: sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==} engines: {node: '>=4'} - /union-value/1.0.1: + /union-value@1.0.1: resolution: {integrity: sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==} engines: {node: '>=0.10.0'} dependencies: @@ -15719,61 +15061,61 @@ packages: set-value: 2.0.1 dev: true - /uniq/1.0.1: + /uniq@1.0.1: resolution: {integrity: sha512-Gw+zz50YNKPDKXs+9d+aKAjVwpjNwqzvNpLigIruT4HA9lMZNdMqs9x07kKHB/L9WRzqp4+DlTU5s4wG2esdoA==} dev: true - /uniqs/2.0.0: + /uniqs@2.0.0: resolution: {integrity: sha512-mZdDpf3vBV5Efh29kMw5tXoup/buMgxLzOt/XKFKcVmi+15ManNQWr6HfZ2aiZTYlYixbdNJ0KFmIZIv52tHSQ==} dev: true - /unique-filename/1.1.1: + /unique-filename@1.1.1: resolution: {integrity: sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==} dependencies: unique-slug: 2.0.2 dev: true - /unique-slug/2.0.2: + /unique-slug@2.0.2: resolution: {integrity: sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==} dependencies: imurmurhash: 0.1.4 dev: true - /unique-string/2.0.0: + /unique-string@2.0.0: resolution: {integrity: sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==} engines: {node: '>=8'} dependencies: crypto-random-string: 2.0.0 - /unist-util-stringify-position/2.0.3: + /unist-util-stringify-position@2.0.3: resolution: {integrity: sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==} dependencies: '@types/unist': 2.0.6 dev: true - /universalify/0.1.2: + /universalify@0.1.2: resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} engines: {node: '>= 4.0.0'} dev: true - /universalify/0.2.0: + /universalify@0.2.0: resolution: {integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==} engines: {node: '>= 4.0.0'} dev: false - /universalify/2.0.0: + /universalify@2.0.0: resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==} engines: {node: '>= 10.0.0'} dev: false - /unpipe/1.0.0: + /unpipe@1.0.0: resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} engines: {node: '>= 0.8'} - /unquote/1.1.1: + /unquote@1.1.1: resolution: {integrity: sha512-vRCqFv6UhXpWxZPyGDh/F3ZpNv8/qo7w6iufLpQg9aKnQ71qM4B5KiI7Mia9COcjEhrO9LueHpMYjYzsWH3OIg==} - /unset-value/1.0.0: + /unset-value@1.0.0: resolution: {integrity: sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==} engines: {node: '>=0.10.0'} dependencies: @@ -15781,11 +15123,11 @@ packages: isobject: 3.0.1 dev: true - /upath/1.2.0: + /upath@1.2.0: resolution: {integrity: sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==} engines: {node: '>=4'} - /update-browserslist-db/1.0.10_browserslist@4.21.5: + /update-browserslist-db@1.0.10(browserslist@4.21.5): resolution: {integrity: sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==} hasBin: true peerDependencies: @@ -15795,7 +15137,7 @@ packages: escalade: 3.1.1 picocolors: 1.0.0 - /update-notifier/4.1.3: + /update-notifier@4.1.3: resolution: {integrity: sha512-Yld6Z0RyCYGB6ckIjffGOSOmHXj1gMeE7aROz4MG+XMkmixBX4jUngrGXNYz7wPKBmtoD4MnBa2Anu7RSKht/A==} engines: {node: '>=8'} dependencies: @@ -15814,21 +15156,21 @@ packages: xdg-basedir: 4.0.0 dev: true - /upper-case/1.1.3: + /upper-case@1.1.3: resolution: {integrity: sha512-WRbjgmYzgXkCV7zNVpy5YgrHgbBv126rMALQQMrmzOVC4GM2waQ9x7xtm8VU+1yF2kWyPzI9zbZ48n4vSxwfSA==} dev: true - /uri-js/4.4.1: + /uri-js@4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} dependencies: punycode: 2.3.0 - /urix/0.1.0: + /urix@0.1.0: resolution: {integrity: sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==} deprecated: Please see https://github.com/lydell/urix#deprecated dev: true - /url-loader/1.1.2_webpack@4.46.0: + /url-loader@1.1.2(webpack@4.46.0): resolution: {integrity: sha512-dXHkKmw8FhPqu8asTc1puBfe3TehOCo2+RmOOev5suNCIYBcT626kxiWg1NBVkwc4rO8BGa7gP70W7VXuqHrjg==} engines: {node: '>= 6.9.0'} peerDependencies: @@ -15840,42 +15182,42 @@ packages: webpack: 4.46.0 dev: true - /url-parse-lax/3.0.0: + /url-parse-lax@3.0.0: resolution: {integrity: sha512-NjFKA0DidqPa5ciFcSrXnAltTtzz84ogy+NebPvfEgAck0+TNg4UJ4IN+fB7zRZfbgUf0syOo9MDxFkDSMuFaQ==} engines: {node: '>=4'} dependencies: prepend-http: 2.0.0 dev: true - /url-parse/1.5.10: + /url-parse@1.5.10: resolution: {integrity: sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==} dependencies: querystringify: 2.2.0 requires-port: 1.0.0 - /url/0.11.0: + /url@0.11.0: resolution: {integrity: sha512-kbailJa29QrtXnxgq+DdCEGlbTeYM2eJUxsz6vjZavrCYPMIFHMKQmSKYAIuUK2i7hgPm28a8piX5NTUtM/LKQ==} dependencies: punycode: 1.3.2 querystring: 0.2.0 dev: true - /use/3.1.1: + /use@3.1.1: resolution: {integrity: sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==} engines: {node: '>=0.10.0'} dev: true - /util-deprecate/1.0.2: + /util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} - /util.promisify/1.0.0: + /util.promisify@1.0.0: resolution: {integrity: sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==} dependencies: define-properties: 1.2.0 object.getownpropertydescriptors: 2.1.5 dev: true - /util.promisify/1.0.1: + /util.promisify@1.0.1: resolution: {integrity: sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==} dependencies: define-properties: 1.2.0 @@ -15883,36 +15225,36 @@ packages: has-symbols: 1.0.3 object.getownpropertydescriptors: 2.1.5 - /util/0.10.3: + /util@0.10.3: resolution: {integrity: sha512-5KiHfsmkqacuKjkRkdV7SsfDJ2EGiPsK92s2MhNSY0craxjTdKTtqKsJaCWp4LW33ZZ0OPUv1WO/TFvNQRiQxQ==} dependencies: inherits: 2.0.1 dev: true - /util/0.11.1: + /util@0.11.1: resolution: {integrity: sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==} dependencies: inherits: 2.0.3 dev: true - /utila/0.4.0: + /utila@0.4.0: resolution: {integrity: sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==} - /utils-merge/1.0.1: + /utils-merge@1.0.1: resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==} engines: {node: '>= 0.4.0'} - /uuid/3.4.0: + /uuid@3.4.0: resolution: {integrity: sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==} deprecated: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details. hasBin: true dev: true - /uuid/8.3.2: + /uuid@8.3.2: resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} hasBin: true - /v8-to-istanbul/8.1.1: + /v8-to-istanbul@8.1.1: resolution: {integrity: sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w==} engines: {node: '>=10.12.0'} dependencies: @@ -15921,15 +15263,15 @@ packages: source-map: 0.7.4 dev: false - /vary/1.1.2: + /vary@1.1.2: resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} engines: {node: '>= 0.8'} - /vendors/1.0.4: + /vendors@1.0.4: resolution: {integrity: sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w==} dev: true - /verror/1.10.0: + /verror@1.10.0: resolution: {integrity: sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==} engines: {'0': node >=0.6.0} dependencies: @@ -15938,28 +15280,28 @@ packages: extsprintf: 1.3.0 dev: true - /vm-browserify/1.1.2: + /vm-browserify@1.1.2: resolution: {integrity: sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==} dev: true - /void-elements/2.0.1: + /void-elements@2.0.1: resolution: {integrity: sha512-qZKX4RnBzH2ugr8Lxa7x+0V6XD9Sb/ouARtiasEQCHB1EVU4NXtmHsDDrx1dO4ne5fc3J6EW05BP1Dl0z0iung==} engines: {node: '>=0.10.0'} dev: true - /vscode-oniguruma/1.7.0: + /vscode-oniguruma@1.7.0: resolution: {integrity: sha512-L9WMGRfrjOhgHSdOYgCt/yRMsXzLDJSL7BPrOZt73gU0iWO4mpqzqQzOz5srxqTvMBaR0XZTSrVWo4j55Rc6cA==} dev: true - /vscode-textmate/8.0.0: + /vscode-textmate@8.0.0: resolution: {integrity: sha512-AFbieoL7a5LMqcnOF04ji+rpXadgOXnZsxQr//r83kLPr7biP7am3g9zbaZIaBGwBRWeSvoMD4mgPdX3e4NWBg==} dev: true - /vue-hot-reload-api/2.3.4: + /vue-hot-reload-api@2.3.4: resolution: {integrity: sha512-BXq3jwIagosjgNVae6tkHzzIk6a8MHFtzAdwhnV5VlvPTFxDCvIttgSiHWjdGoTJvXtmRu5HacExfdarRcFhog==} dev: true - /vue-loader/15.10.1_lbhzzmlqoxkdndxnphn2sqq4kq: + /vue-loader@15.10.1(cache-loader@3.0.1)(css-loader@2.1.1)(vue-template-compiler@2.7.14)(webpack@4.46.0): resolution: {integrity: sha512-SaPHK1A01VrNthlix6h1hq4uJu7S/z0kdLUb6klubo738NeQoLbS6V9/d8Pv19tU0XdQKju3D1HSKuI8wJ5wMA==} peerDependencies: '@vue/compiler-sfc': ^3.0.8 @@ -15976,8 +15318,8 @@ packages: optional: true dependencies: '@vue/component-compiler-utils': 3.3.0 - cache-loader: 3.0.1_webpack@4.46.0 - css-loader: 2.1.1_webpack@4.46.0 + cache-loader: 3.0.1(webpack@4.46.0) + css-loader: 2.1.1(webpack@4.46.0) hash-sum: 1.0.2 loader-utils: 1.4.2 vue-hot-reload-api: 2.3.4 @@ -16040,7 +15382,7 @@ packages: - whiskers dev: true - /vue-prism-editor/1.3.0_vue@2.7.14: + /vue-prism-editor@1.3.0(vue@2.7.14): resolution: {integrity: sha512-54RfgtMGRMNr9484zKMOZs1wyLDR6EfFylzE2QrMCD9alCvXyYYcS0vX8oUHh+6pMUu6ts59uSN9cHglpU2NRQ==} engines: {node: '>=10'} peerDependencies: @@ -16049,7 +15391,7 @@ packages: vue: 2.7.14 dev: true - /vue-router/3.6.5_vue@2.7.14: + /vue-router@3.6.5(vue@2.7.14): resolution: {integrity: sha512-VYXZQLtjuvKxxcshuRAwjHnciqZVoXAjTjcqBTz4rKc8qih9g9pI3hbDjmqXaHdgL3v8pV6P8Z335XvHzESxLQ==} peerDependencies: vue: ^2 @@ -16057,7 +15399,7 @@ packages: vue: 2.7.14 dev: true - /vue-server-renderer/2.7.14: + /vue-server-renderer@2.7.14: resolution: {integrity: sha512-NlGFn24tnUrj7Sqb8njhIhWREuCJcM3140aMunLNcx951BHG8j3XOrPP7psSCaFA8z6L4IWEjudztdwTp1CBVw==} dependencies: chalk: 4.1.2 @@ -16070,14 +15412,14 @@ packages: source-map: 0.5.6 dev: true - /vue-style-loader/4.1.3: + /vue-style-loader@4.1.3: resolution: {integrity: sha512-sFuh0xfbtpRlKfm39ss/ikqs9AbKCoXZBpHeVZ8Tx650o0k0q/YCM7FRvigtxpACezfq6af+a7JeqVTWvncqDg==} dependencies: hash-sum: 1.0.2 loader-utils: 1.4.2 dev: true - /vue-tabs-component/1.5.0_vue@2.7.14: + /vue-tabs-component@1.5.0(vue@2.7.14): resolution: {integrity: sha512-ld4p+hv49Fimw+zv/7GQqMhbjAHjpbWF3UiJtmMaSnvLKbsB1ysfs9dQH0SZ8NvdYpqqKay/VLIqR9yXgse1Sg==} peerDependencies: vue: ^2.3.0 @@ -16085,35 +15427,35 @@ packages: vue: 2.7.14 dev: true - /vue-template-compiler/2.7.14: + /vue-template-compiler@2.7.14: resolution: {integrity: sha512-zyA5Y3ArvVG0NacJDkkzJuPQDF8RFeRlzV2vLeSnhSpieO6LK2OVbdLPi5MPPs09Ii+gMO8nY4S3iKQxBxDmWQ==} dependencies: de-indent: 1.0.2 he: 1.2.0 dev: true - /vue-template-es2015-compiler/1.9.1: + /vue-template-es2015-compiler@1.9.1: resolution: {integrity: sha512-4gDntzrifFnCEvyoO8PqyJDmguXgVPxKiIxrBKjIowvL9l+N66196+72XVYR8BBf1Uv1Fgt3bGevJ+sEmxfZzw==} dev: true - /vue/2.7.14: - resolution: {integrity: sha512-b2qkFyOM0kwqWFuQmgd4o+uHGU7T+2z3T+WQp8UBjADfEv2n4FEMffzBmCKNP0IGzOEEfYjvtcC62xaSKeQDrQ==} - dependencies: - '@vue/compiler-sfc': 2.7.14 - csstype: 3.1.1 - dev: true - - /vue2-perfect-scrollbar/1.5.56: + /vue2-perfect-scrollbar@1.5.56(postcss@8.4.21): resolution: {integrity: sha512-0ciZFj8kfMnsVkEi9BYf16HoybdN8bju8zj4Okwlrg9+rJp6i/PYXh+ZWsdeQn6jLDMi6CRSNEsaTsLPStIVHQ==} dependencies: - cssnano: 5.1.15 + cssnano: 5.1.15(postcss@8.4.21) perfect-scrollbar: 1.5.5 postcss-import: 12.0.1 transitivePeerDependencies: - postcss dev: true - /vuepress-html-webpack-plugin/3.2.0_webpack@4.46.0: + /vue@2.7.14: + resolution: {integrity: sha512-b2qkFyOM0kwqWFuQmgd4o+uHGU7T+2z3T+WQp8UBjADfEv2n4FEMffzBmCKNP0IGzOEEfYjvtcC62xaSKeQDrQ==} + dependencies: + '@vue/compiler-sfc': 2.7.14 + csstype: 3.1.1 + dev: true + + /vuepress-html-webpack-plugin@3.2.0(webpack@4.46.0): resolution: {integrity: sha512-BebAEl1BmWlro3+VyDhIOCY6Gef2MCBllEVAP3NUAtMguiyOwo/dClbwJ167WYmcxHJKLl7b0Chr9H7fpn1d0A==} engines: {node: '>=6.9'} peerDependencies: @@ -16129,11 +15471,11 @@ packages: webpack: 4.46.0 dev: true - /vuepress-plugin-code-copy/1.0.6: + /vuepress-plugin-code-copy@1.0.6: resolution: {integrity: sha512-FiqwMtlb4rEsOI56O6sSkekcd3SlESxbkR2IaTIQxsMOMoalKfW5R9WlR1Pjm10v6jmU661Ex8MR11k9IzrNUg==} dev: true - /vuepress-plugin-container/2.1.5: + /vuepress-plugin-container@2.1.5: resolution: {integrity: sha512-TQrDX/v+WHOihj3jpilVnjXu9RcTm6m8tzljNJwYhxnJUW0WWQ0hFLcDTqTBwgKIFdEiSxVOmYE+bJX/sq46MA==} dependencies: '@vuepress/shared-utils': 1.9.9 @@ -16142,7 +15484,7 @@ packages: - supports-color dev: true - /vuepress-plugin-dehydrate/1.1.5: + /vuepress-plugin-dehydrate@1.1.5: resolution: {integrity: sha512-9F2x1vLCK4poPUMkLupD4HsgWdbZ68Escvma+DE1Dk6aAJdH5FGwmfOMxj4sMCBwz7S4s6bTMna+QQgD3+bzBA==} dependencies: '@vuepress/shared-utils': 1.9.9 @@ -16150,7 +15492,7 @@ packages: - supports-color dev: true - /vuepress-plugin-flexsearch/0.3.0: + /vuepress-plugin-flexsearch@0.3.0: resolution: {integrity: sha512-dffrD35hDE6FcpN3JRTy5E9tccq1uB7l+ocdPBObuiuFjHJP/xlU+pOR3Yc6yQlsvP5ResweGOP2kaeGViorBg==} dependencies: '@vuepress/plugin-search': 1.9.9 @@ -16159,7 +15501,7 @@ packages: - debug dev: true - /vuepress-plugin-redirect/1.2.5: + /vuepress-plugin-redirect@1.2.5: resolution: {integrity: sha512-4RAWTVite154Tv7rUJEqWZ4fZtVXwKKoFOa2zY0Esn7cLi3Om2A+Pa2U84tBgPd90v2R7KEOy9jLEVphbsPK7g==} deprecated: Please use latest version dependencies: @@ -16169,27 +15511,27 @@ packages: - supports-color dev: true - /vuepress-plugin-smooth-scroll/0.0.3: + /vuepress-plugin-smooth-scroll@0.0.3: resolution: {integrity: sha512-qsQkDftLVFLe8BiviIHaLV0Ea38YLZKKonDGsNQy1IE0wllFpFIEldWD8frWZtDFdx6b/O3KDMgVQ0qp5NjJCg==} dependencies: smoothscroll-polyfill: 0.4.4 dev: true - /vuepress-plugin-tabs/0.3.0: + /vuepress-plugin-tabs@0.3.0: resolution: {integrity: sha512-jooDlcMdBqhXgIaF1awFSaOTM56mleP6bbCiGxyQxTZexfvCfDvZhNLGpyXqMQA50ZmNGmvLrK82YYb63k1jfA==} dev: true - /vuepress-plugin-typedoc/0.11.2_bhwftghzp2kjaeaba4ticsx7k4: + /vuepress-plugin-typedoc@0.11.2(typedoc-plugin-markdown@3.14.0)(typedoc@0.23.28): resolution: {integrity: sha512-OSnxx3jsAQBDwwJ6UsQRwSDvyzAYR9+J21x5iwiEfr9j7H/UqmtqY9BKqRTqNIVTLtUatJ0mmeiz+uZBDam9UQ==} peerDependencies: typedoc: '>=0.23.0' typedoc-plugin-markdown: '>=3.13.0' dependencies: - typedoc: 0.23.28_typescript@4.9.5 - typedoc-plugin-markdown: 3.14.0_typedoc@0.23.28 + typedoc: 0.23.28(typescript@4.9.5) + typedoc-plugin-markdown: 3.14.0(typedoc@0.23.28) dev: true - /vuepress-theme-chartjs/0.2.0_vue@2.7.14: + /vuepress-theme-chartjs@0.2.0(postcss@8.4.21)(vue@2.7.14): resolution: {integrity: sha512-OE9fdPN/bV+SM6dGIjM4nUSEzvHHbQlIriJi4bdVvlSDufgXkkfUbbu+aDqx/a7n7wrqWaTQox73KZX5FFY7rw==} peerDependencies: chart.js: '>= 2' @@ -16198,14 +15540,14 @@ packages: optional: true dependencies: acorn: 8.8.2 - vue-prism-editor: 1.3.0_vue@2.7.14 - vue2-perfect-scrollbar: 1.5.56 + vue-prism-editor: 1.3.0(vue@2.7.14) + vue2-perfect-scrollbar: 1.5.56(postcss@8.4.21) transitivePeerDependencies: - postcss - vue dev: true - /vuepress/1.9.9: + /vuepress@1.9.9: resolution: {integrity: sha512-CU94W3EdWaCavGx2VSvQJMI/hyv+m/YMdrvJJw67EVfmmJJDb1iTGrilDgLd0qsyrXzBy0Ru9Qi6rkf4IwcOTg==} engines: {node: '>=8.6'} hasBin: true @@ -16281,37 +15623,37 @@ packages: - whiskers dev: true - /w3c-hr-time/1.0.2: + /w3c-hr-time@1.0.2: resolution: {integrity: sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==} deprecated: Use your platform's native performance.now() and performance.timeOrigin. dependencies: browser-process-hrtime: 1.0.0 dev: false - /w3c-xmlserializer/2.0.0: + /w3c-xmlserializer@2.0.0: resolution: {integrity: sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==} engines: {node: '>=10'} dependencies: xml-name-validator: 3.0.0 dev: false - /walker/1.0.8: + /walker@1.0.8: resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==} dependencies: makeerror: 1.0.12 dev: false - /watchpack-chokidar2/2.0.1: + /watchpack-chokidar2@2.0.1: resolution: {integrity: sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww==} requiresBuild: true dependencies: - chokidar: 2.1.8 + chokidar: 2.1.8(supports-color@6.1.0) transitivePeerDependencies: - supports-color dev: true optional: true - /watchpack/1.7.5: + /watchpack@1.7.5: resolution: {integrity: sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==} dependencies: graceful-fs: 4.2.11 @@ -16323,7 +15665,7 @@ packages: - supports-color dev: true - /watchpack/2.4.0: + /watchpack@2.4.0: resolution: {integrity: sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==} engines: {node: '>=10.13.0'} dependencies: @@ -16331,41 +15673,41 @@ packages: graceful-fs: 4.2.11 dev: false - /wbuf/1.7.3: + /wbuf@1.7.3: resolution: {integrity: sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==} dependencies: minimalistic-assert: 1.0.1 - /web-vitals/2.1.4: + /web-vitals@2.1.4: resolution: {integrity: sha512-sVWcwhU5mX6crfI5Vd2dC4qchyTqxV8URinzt25XqVh+bHEPGH4C3NPrNionCP7Obx59wrYEbNlw4Z8sjALzZg==} dev: false - /webidl-conversions/3.0.1: + /webidl-conversions@3.0.1: resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} dev: true - /webidl-conversions/4.0.2: + /webidl-conversions@4.0.2: resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==} dev: false - /webidl-conversions/5.0.0: + /webidl-conversions@5.0.0: resolution: {integrity: sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==} engines: {node: '>=8'} dev: false - /webidl-conversions/6.1.0: + /webidl-conversions@6.1.0: resolution: {integrity: sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==} engines: {node: '>=10.4'} dev: false - /webpack-chain/4.12.1: + /webpack-chain@4.12.1: resolution: {integrity: sha512-BCfKo2YkDe2ByqkEWe1Rw+zko4LsyS75LVr29C6xIrxAg9JHJ4pl8kaIZ396SUSNp6b4815dRZPSTAS8LlURRQ==} dependencies: deepmerge: 1.5.2 javascript-stringify: 1.6.0 dev: true - /webpack-chain/6.5.1: + /webpack-chain@6.5.1: resolution: {integrity: sha512-7doO/SRtLu8q5WM0s7vPKPWX580qhi0/yBHkOxNkv50f6qB76Zy9o2wRTrrPULqYTvQlVHuvbA8v+G5ayuUDsA==} engines: {node: '>=8'} dependencies: @@ -16373,7 +15715,7 @@ packages: javascript-stringify: 2.1.0 dev: true - /webpack-dev-middleware/3.7.3_webpack@4.46.0: + /webpack-dev-middleware@3.7.3(webpack@4.46.0): resolution: {integrity: sha512-djelc/zGiz9nZj/U7PTBi2ViorGJXEWo/3ltkPbDyxCXhhEXkW0ce99falaok4TPj+AsxLiXJR0EBOb0zh9fKQ==} engines: {node: '>= 6'} peerDependencies: @@ -16387,7 +15729,7 @@ packages: webpack-log: 2.0.0 dev: true - /webpack-dev-middleware/5.3.3_webpack@5.76.3: + /webpack-dev-middleware@5.3.3(webpack@5.76.3): resolution: {integrity: sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA==} engines: {node: '>= 12.13.0'} peerDependencies: @@ -16398,10 +15740,10 @@ packages: mime-types: 2.1.35 range-parser: 1.2.1 schema-utils: 4.0.0 - webpack: 5.76.3 + webpack: 5.76.3(@swc/core@1.3.42) dev: false - /webpack-dev-server/3.11.3_webpack@4.46.0: + /webpack-dev-server@3.11.3(webpack@4.46.0): resolution: {integrity: sha512-3x31rjbEQWKMNzacUZRE6wXvUFuGpH7vr0lIEbYpMAG9BOxi0928QU1BBswOAP3kg3H1O4hiS+sq4YyAn6ANnA==} engines: {node: '>= 6.11.5'} hasBin: true @@ -16414,14 +15756,14 @@ packages: dependencies: ansi-html-community: 0.0.8 bonjour: 3.5.0 - chokidar: 2.1.8_supports-color@6.1.0 - compression: 1.7.4_supports-color@6.1.0 + chokidar: 2.1.8(supports-color@6.1.0) + compression: 1.7.4(supports-color@6.1.0) connect-history-api-fallback: 1.6.0 - debug: 4.3.4_supports-color@6.1.0 + debug: 4.3.4(supports-color@6.1.0) del: 4.1.1 - express: 4.18.2_supports-color@6.1.0 + express: 4.18.2(supports-color@6.1.0) html-entities: 1.4.0 - http-proxy-middleware: 0.19.1_tmpgdztspuwvsxzgjkhoqk7duq + http-proxy-middleware: 0.19.1(debug@4.3.4)(supports-color@6.1.0) import-local: 2.0.0 internal-ip: 4.3.0 ip: 1.1.8 @@ -16430,19 +15772,19 @@ packages: loglevel: 1.8.1 opn: 5.5.0 p-retry: 3.0.1 - portfinder: 1.0.32_supports-color@6.1.0 + portfinder: 1.0.32(supports-color@6.1.0) schema-utils: 1.0.0 selfsigned: 1.10.14 semver: 6.3.0 - serve-index: 1.9.1_supports-color@6.1.0 + serve-index: 1.9.1(supports-color@6.1.0) sockjs: 0.3.24 - sockjs-client: 1.6.1_supports-color@6.1.0 - spdy: 4.0.2_supports-color@6.1.0 + sockjs-client: 1.6.1(supports-color@6.1.0) + spdy: 4.0.2(supports-color@6.1.0) strip-ansi: 3.0.1 supports-color: 6.1.0 url: 0.11.0 webpack: 4.46.0 - webpack-dev-middleware: 3.7.3_webpack@4.46.0 + webpack-dev-middleware: 3.7.3(webpack@4.46.0) webpack-log: 2.0.0 ws: 6.2.2 yargs: 13.3.2 @@ -16451,7 +15793,7 @@ packages: - utf-8-validate dev: true - /webpack-dev-server/4.13.1_webpack@5.76.3: + /webpack-dev-server@4.13.1(webpack@5.76.3): resolution: {integrity: sha512-5tWg00bnWbYgkN+pd5yISQKDejRBYGEw15RaEEslH+zdbNDxxaZvEAO2WulaSaFKb5n3YG8JXsGaDsut1D0xdA==} engines: {node: '>= 12.13.0'} hasBin: true @@ -16475,13 +15817,13 @@ packages: bonjour-service: 1.1.1 chokidar: 3.5.3 colorette: 2.0.19 - compression: 1.7.4 + compression: 1.7.4(supports-color@6.1.0) connect-history-api-fallback: 2.0.0 default-gateway: 6.0.3 - express: 4.18.2 + express: 4.18.2(supports-color@6.1.0) graceful-fs: 4.2.11 html-entities: 1.4.0 - http-proxy-middleware: 2.0.6_@types+express@4.17.17 + http-proxy-middleware: 2.0.6(@types/express@4.17.17) ipaddr.js: 2.0.1 launch-editor: 2.6.0 open: 8.4.2 @@ -16489,11 +15831,11 @@ packages: rimraf: 3.0.2 schema-utils: 4.0.0 selfsigned: 2.1.1 - serve-index: 1.9.1 + serve-index: 1.9.1(supports-color@6.1.0) sockjs: 0.3.24 - spdy: 4.0.2 - webpack: 5.76.3 - webpack-dev-middleware: 5.3.3_webpack@5.76.3 + spdy: 4.0.2(supports-color@6.1.0) + webpack: 5.76.3(@swc/core@1.3.42) + webpack-dev-middleware: 5.3.3(webpack@5.76.3) ws: 8.13.0 transitivePeerDependencies: - bufferutil @@ -16502,7 +15844,7 @@ packages: - utf-8-validate dev: false - /webpack-log/2.0.0: + /webpack-log@2.0.0: resolution: {integrity: sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg==} engines: {node: '>= 6'} dependencies: @@ -16510,30 +15852,30 @@ packages: uuid: 3.4.0 dev: true - /webpack-manifest-plugin/4.1.1_webpack@5.76.3: + /webpack-manifest-plugin@4.1.1(webpack@5.76.3): resolution: {integrity: sha512-YXUAwxtfKIJIKkhg03MKuiFAD72PlrqCiwdwO4VEXdRO5V0ORCNwaOwAZawPZalCbmH9kBDmXnNeQOw+BIEiow==} engines: {node: '>=12.22.0'} peerDependencies: webpack: ^4.44.2 || ^5.47.0 dependencies: tapable: 2.2.1 - webpack: 5.76.3 + webpack: 5.76.3(@swc/core@1.3.42) webpack-sources: 2.3.1 dev: false - /webpack-merge/4.2.2: + /webpack-merge@4.2.2: resolution: {integrity: sha512-TUE1UGoTX2Cd42j3krGYqObZbOD+xF7u28WB7tfUordytSjbWTIjK/8V0amkBfTYN4/pB/GIDlJZZ657BGG19g==} dependencies: lodash: 4.17.21 dev: true - /webpack-sources/1.4.3: + /webpack-sources@1.4.3: resolution: {integrity: sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==} dependencies: source-list-map: 2.0.1 source-map: 0.6.1 - /webpack-sources/2.3.1: + /webpack-sources@2.3.1: resolution: {integrity: sha512-y9EI9AO42JjEcrTJFOYmVywVZdKVUfOvDUPsJea5GIr1JOEGFVqwlY2K098fFoIjOkDzHn2AjRvM8dsBZu+gCA==} engines: {node: '>=10.13.0'} dependencies: @@ -16541,12 +15883,12 @@ packages: source-map: 0.6.1 dev: false - /webpack-sources/3.2.3: + /webpack-sources@3.2.3: resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==} engines: {node: '>=10.13.0'} dev: false - /webpack/4.46.0: + /webpack@4.46.0: resolution: {integrity: sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q==} engines: {node: '>=6.11.5'} hasBin: true @@ -16565,7 +15907,7 @@ packages: '@webassemblyjs/wasm-parser': 1.9.0 acorn: 6.4.2 ajv: 6.12.6 - ajv-keywords: 3.5.2_ajv@6.12.6 + ajv-keywords: 3.5.2(ajv@6.12.6) chrome-trace-event: 1.0.3 enhanced-resolve: 4.5.0 eslint-scope: 4.0.3 @@ -16573,20 +15915,20 @@ packages: loader-runner: 2.4.0 loader-utils: 1.4.2 memory-fs: 0.4.1 - micromatch: 3.1.10 + micromatch: 3.1.10(supports-color@6.1.0) mkdirp: 0.5.6 neo-async: 2.6.2 node-libs-browser: 2.2.1 schema-utils: 1.0.0 tapable: 1.1.3 - terser-webpack-plugin: 1.4.5_webpack@4.46.0 + terser-webpack-plugin: 1.4.5(webpack@4.46.0) watchpack: 1.7.5 webpack-sources: 1.4.3 transitivePeerDependencies: - supports-color dev: true - /webpack/5.76.3: + /webpack@5.76.3(@swc/core@1.3.42): resolution: {integrity: sha512-18Qv7uGPU8b2vqGeEEObnfICyw2g39CHlDEK4I7NK13LOur1d0HGmGNKGT58Eluwddpn3oEejwvBPoP4M7/KSA==} engines: {node: '>=10.13.0'} hasBin: true @@ -16602,7 +15944,7 @@ packages: '@webassemblyjs/wasm-edit': 1.11.1 '@webassemblyjs/wasm-parser': 1.11.1 acorn: 8.8.2 - acorn-import-assertions: 1.8.0_acorn@8.8.2 + acorn-import-assertions: 1.8.0(acorn@8.8.2) browserslist: 4.21.5 chrome-trace-event: 1.0.3 enhanced-resolve: 5.12.0 @@ -16617,7 +15959,7 @@ packages: neo-async: 2.6.2 schema-utils: 3.1.1 tapable: 2.2.1 - terser-webpack-plugin: 5.3.7_webpack@5.76.3 + terser-webpack-plugin: 5.3.7(@swc/core@1.3.42)(webpack@5.76.3) watchpack: 2.4.0 webpack-sources: 3.2.3 transitivePeerDependencies: @@ -16626,7 +15968,7 @@ packages: - uglify-js dev: false - /webpackbar/3.2.0_webpack@4.46.0: + /webpackbar@3.2.0(webpack@4.46.0): resolution: {integrity: sha512-PC4o+1c8gWWileUfwabe0gqptlXUDJd5E0zbpr2xHP1VSOVlZVPBZ8j6NCR8zM5zbKdxPhctHXahgpNK1qFDPw==} engines: {node: '>= 6.9.0'} peerDependencies: @@ -16643,7 +15985,7 @@ packages: wrap-ansi: 5.1.0 dev: true - /websocket-driver/0.7.4: + /websocket-driver@0.7.4: resolution: {integrity: sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==} engines: {node: '>=0.8.0'} dependencies: @@ -16651,32 +15993,32 @@ packages: safe-buffer: 5.2.1 websocket-extensions: 0.1.4 - /websocket-extensions/0.1.4: + /websocket-extensions@0.1.4: resolution: {integrity: sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==} engines: {node: '>=0.8.0'} - /whatwg-encoding/1.0.5: + /whatwg-encoding@1.0.5: resolution: {integrity: sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==} dependencies: iconv-lite: 0.4.24 dev: false - /whatwg-fetch/3.6.2: + /whatwg-fetch@3.6.2: resolution: {integrity: sha512-bJlen0FcuU/0EMLrdbJ7zOnW6ITZLrZMIarMUVmdKtsGvZna8vxKYaexICWPfZ8qwf9fzNq+UEIZrnSaApt6RA==} dev: false - /whatwg-mimetype/2.3.0: + /whatwg-mimetype@2.3.0: resolution: {integrity: sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==} dev: false - /whatwg-url/5.0.0: + /whatwg-url@5.0.0: resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} dependencies: tr46: 0.0.3 webidl-conversions: 3.0.1 dev: true - /whatwg-url/7.1.0: + /whatwg-url@7.1.0: resolution: {integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==} dependencies: lodash.sortby: 4.7.0 @@ -16684,7 +16026,7 @@ packages: webidl-conversions: 4.0.2 dev: false - /whatwg-url/8.7.0: + /whatwg-url@8.7.0: resolution: {integrity: sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==} engines: {node: '>=10'} dependencies: @@ -16693,11 +16035,11 @@ packages: webidl-conversions: 6.1.0 dev: false - /when/3.6.4: + /when@3.6.4: resolution: {integrity: sha512-d1VUP9F96w664lKINMGeElWdhhb5sC+thXM+ydZGU3ZnaE09Wv6FaS+mpM9570kcDs/xMfcXJBTLsMdHEFYY9Q==} dev: true - /which-boxed-primitive/1.0.2: + /which-boxed-primitive@1.0.2: resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} dependencies: is-bigint: 1.0.4 @@ -16706,7 +16048,7 @@ packages: is-string: 1.0.7 is-symbol: 1.0.4 - /which-collection/1.0.1: + /which-collection@1.0.1: resolution: {integrity: sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==} dependencies: is-map: 2.0.2 @@ -16715,11 +16057,11 @@ packages: is-weakset: 2.0.2 dev: false - /which-module/2.0.0: + /which-module@2.0.0: resolution: {integrity: sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q==} dev: true - /which-typed-array/1.1.9: + /which-typed-array@1.1.9: resolution: {integrity: sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==} engines: {node: '>= 0.4'} dependencies: @@ -16730,58 +16072,58 @@ packages: has-tostringtag: 1.0.0 is-typed-array: 1.1.10 - /which/1.3.1: + /which@1.3.1: resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} hasBin: true dependencies: isexe: 2.0.0 - /which/2.0.2: + /which@2.0.2: resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} engines: {node: '>= 8'} hasBin: true dependencies: isexe: 2.0.0 - /widest-line/3.1.0: + /widest-line@3.1.0: resolution: {integrity: sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==} engines: {node: '>=8'} dependencies: string-width: 4.2.3 dev: true - /word-wrap/1.2.3: + /word-wrap@1.2.3: resolution: {integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==} engines: {node: '>=0.10.0'} - /wordwrap/1.0.0: + /wordwrap@1.0.0: resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==} dev: true - /workbox-background-sync/6.5.4: + /workbox-background-sync@6.5.4: resolution: {integrity: sha512-0r4INQZMyPky/lj4Ou98qxcThrETucOde+7mRGJl13MPJugQNKeZQOdIJe/1AchOP23cTqHcN/YVpD6r8E6I8g==} dependencies: idb: 7.1.1 workbox-core: 6.5.4 dev: false - /workbox-broadcast-update/6.5.4: + /workbox-broadcast-update@6.5.4: resolution: {integrity: sha512-I/lBERoH1u3zyBosnpPEtcAVe5lwykx9Yg1k6f8/BGEPGaMMgZrwVrqL1uA9QZ1NGGFoyE6t9i7lBjOlDhFEEw==} dependencies: workbox-core: 6.5.4 dev: false - /workbox-build/6.5.4: + /workbox-build@6.5.4: resolution: {integrity: sha512-kgRevLXEYvUW9WS4XoziYqZ8Q9j/2ziJYEtTrjdz5/L/cTUa2XfyMP2i7c3p34lgqJ03+mTiz13SdFef2POwbA==} engines: {node: '>=10.0.0'} dependencies: - '@apideck/better-ajv-errors': 0.3.6_ajv@8.12.0 + '@apideck/better-ajv-errors': 0.3.6(ajv@8.12.0) '@babel/core': 7.21.3 - '@babel/preset-env': 7.20.2_@babel+core@7.21.3 + '@babel/preset-env': 7.20.2(@babel/core@7.21.3) '@babel/runtime': 7.21.0 - '@rollup/plugin-babel': 5.3.1_hqhlikriuul7byjexqnpgcmenu - '@rollup/plugin-node-resolve': 11.2.1_rollup@2.79.1 - '@rollup/plugin-replace': 2.4.2_rollup@2.79.1 + '@rollup/plugin-babel': 5.3.1(@babel/core@7.21.3)(rollup@2.79.1) + '@rollup/plugin-node-resolve': 11.2.1(rollup@2.79.1) + '@rollup/plugin-replace': 2.4.2(rollup@2.79.1) '@surma/rollup-plugin-off-main-thread': 2.2.3 ajv: 8.12.0 common-tags: 1.8.2 @@ -16791,7 +16133,7 @@ packages: lodash: 4.17.21 pretty-bytes: 5.6.0 rollup: 2.79.1 - rollup-plugin-terser: 7.0.2_rollup@2.79.1 + rollup-plugin-terser: 7.0.2(rollup@2.79.1) source-map: 0.8.0-beta.0 stringify-object: 3.3.0 strip-comments: 2.0.1 @@ -16817,24 +16159,24 @@ packages: - supports-color dev: false - /workbox-cacheable-response/6.5.4: + /workbox-cacheable-response@6.5.4: resolution: {integrity: sha512-DCR9uD0Fqj8oB2TSWQEm1hbFs/85hXXoayVwFKLVuIuxwJaihBsLsp4y7J9bvZbqtPJ1KlCkmYVGQKrBU4KAug==} dependencies: workbox-core: 6.5.4 dev: false - /workbox-core/6.5.4: + /workbox-core@6.5.4: resolution: {integrity: sha512-OXYb+m9wZm8GrORlV2vBbE5EC1FKu71GGp0H4rjmxmF4/HLbMCoTFws87M3dFwgpmg0v00K++PImpNQ6J5NQ6Q==} dev: false - /workbox-expiration/6.5.4: + /workbox-expiration@6.5.4: resolution: {integrity: sha512-jUP5qPOpH1nXtjGGh1fRBa1wJL2QlIb5mGpct3NzepjGG2uFFBn4iiEBiI9GUmfAFR2ApuRhDydjcRmYXddiEQ==} dependencies: idb: 7.1.1 workbox-core: 6.5.4 dev: false - /workbox-google-analytics/6.5.4: + /workbox-google-analytics@6.5.4: resolution: {integrity: sha512-8AU1WuaXsD49249Wq0B2zn4a/vvFfHkpcFfqAFHNHwln3jK9QUYmzdkKXGIZl9wyKNP+RRX30vcgcyWMcZ9VAg==} dependencies: workbox-background-sync: 6.5.4 @@ -16843,13 +16185,13 @@ packages: workbox-strategies: 6.5.4 dev: false - /workbox-navigation-preload/6.5.4: + /workbox-navigation-preload@6.5.4: resolution: {integrity: sha512-IIwf80eO3cr8h6XSQJF+Hxj26rg2RPFVUmJLUlM0+A2GzB4HFbQyKkrgD5y2d84g2IbJzP4B4j5dPBRzamHrng==} dependencies: workbox-core: 6.5.4 dev: false - /workbox-precaching/6.5.4: + /workbox-precaching@6.5.4: resolution: {integrity: sha512-hSMezMsW6btKnxHB4bFy2Qfwey/8SYdGWvVIKFaUm8vJ4E53JAY+U2JwLTRD8wbLWoP6OVUdFlXsTdKu9yoLTg==} dependencies: workbox-core: 6.5.4 @@ -16857,13 +16199,13 @@ packages: workbox-strategies: 6.5.4 dev: false - /workbox-range-requests/6.5.4: + /workbox-range-requests@6.5.4: resolution: {integrity: sha512-Je2qR1NXCFC8xVJ/Lux6saH6IrQGhMpDrPXWZWWS8n/RD+WZfKa6dSZwU+/QksfEadJEr/NfY+aP/CXFFK5JFg==} dependencies: workbox-core: 6.5.4 dev: false - /workbox-recipes/6.5.4: + /workbox-recipes@6.5.4: resolution: {integrity: sha512-QZNO8Ez708NNwzLNEXTG4QYSKQ1ochzEtRLGaq+mr2PyoEIC1xFW7MrWxrONUxBFOByksds9Z4//lKAX8tHyUA==} dependencies: workbox-cacheable-response: 6.5.4 @@ -16874,30 +16216,30 @@ packages: workbox-strategies: 6.5.4 dev: false - /workbox-routing/6.5.4: + /workbox-routing@6.5.4: resolution: {integrity: sha512-apQswLsbrrOsBUWtr9Lf80F+P1sHnQdYodRo32SjiByYi36IDyL2r7BH1lJtFX8fwNHDa1QOVY74WKLLS6o5Pg==} dependencies: workbox-core: 6.5.4 dev: false - /workbox-strategies/6.5.4: + /workbox-strategies@6.5.4: resolution: {integrity: sha512-DEtsxhx0LIYWkJBTQolRxG4EI0setTJkqR4m7r4YpBdxtWJH1Mbg01Cj8ZjNOO8etqfA3IZaOPHUxCs8cBsKLw==} dependencies: workbox-core: 6.5.4 dev: false - /workbox-streams/6.5.4: + /workbox-streams@6.5.4: resolution: {integrity: sha512-FXKVh87d2RFXkliAIheBojBELIPnWbQdyDvsH3t74Cwhg0fDheL1T8BqSM86hZvC0ZESLsznSYWw+Va+KVbUzg==} dependencies: workbox-core: 6.5.4 workbox-routing: 6.5.4 dev: false - /workbox-sw/6.5.4: + /workbox-sw@6.5.4: resolution: {integrity: sha512-vo2RQo7DILVRoH5LjGqw3nphavEjK4Qk+FenXeUsknKn14eCNedHOXWbmnvP4ipKhlE35pvJ4yl4YYf6YsJArA==} dev: false - /workbox-webpack-plugin/6.5.4_webpack@5.76.3: + /workbox-webpack-plugin@6.5.4(webpack@5.76.3): resolution: {integrity: sha512-LmWm/zoaahe0EGmMTrSLUi+BjyR3cdGEfU3fS6PN1zKFYbqAKuQ+Oy/27e4VSXsyIwAw8+QDfk1XHNGtZu9nQg==} engines: {node: '>=10.0.0'} peerDependencies: @@ -16906,7 +16248,7 @@ packages: fast-json-stable-stringify: 2.1.0 pretty-bytes: 5.6.0 upath: 1.2.0 - webpack: 5.76.3 + webpack: 5.76.3(@swc/core@1.3.42) webpack-sources: 1.4.3 workbox-build: 6.5.4 transitivePeerDependencies: @@ -16914,20 +16256,20 @@ packages: - supports-color dev: false - /workbox-window/6.5.4: + /workbox-window@6.5.4: resolution: {integrity: sha512-HnLZJDwYBE+hpG25AQBO8RUWBJRaCsI9ksQJEp3aCOFCaG5kqaToAYXFRAHxzRluM2cQbGzdQF5rjKPWPA1fug==} dependencies: '@types/trusted-types': 2.0.3 workbox-core: 6.5.4 dev: false - /worker-farm/1.7.0: + /worker-farm@1.7.0: resolution: {integrity: sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==} dependencies: errno: 0.1.8 dev: true - /wrap-ansi/5.1.0: + /wrap-ansi@5.1.0: resolution: {integrity: sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==} engines: {node: '>=6'} dependencies: @@ -16936,7 +16278,7 @@ packages: strip-ansi: 5.2.0 dev: true - /wrap-ansi/7.0.0: + /wrap-ansi@7.0.0: resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} engines: {node: '>=10'} dependencies: @@ -16944,10 +16286,10 @@ packages: string-width: 4.2.3 strip-ansi: 6.0.1 - /wrappy/1.0.2: + /wrappy@1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} - /write-file-atomic/3.0.3: + /write-file-atomic@3.0.3: resolution: {integrity: sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==} dependencies: imurmurhash: 0.1.4 @@ -16955,7 +16297,7 @@ packages: signal-exit: 3.0.7 typedarray-to-buffer: 3.1.5 - /ws/6.2.2: + /ws@6.2.2: resolution: {integrity: sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw==} peerDependencies: bufferutil: ^4.0.1 @@ -16969,7 +16311,7 @@ packages: async-limiter: 1.0.1 dev: true - /ws/7.5.9: + /ws@7.5.9: resolution: {integrity: sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==} engines: {node: '>=8.3.0'} peerDependencies: @@ -16982,7 +16324,7 @@ packages: optional: true dev: false - /ws/8.11.0: + /ws@8.11.0: resolution: {integrity: sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==} engines: {node: '>=10.0.0'} peerDependencies: @@ -16995,7 +16337,7 @@ packages: optional: true dev: true - /ws/8.13.0: + /ws@8.13.0: resolution: {integrity: sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==} engines: {node: '>=10.0.0'} peerDependencies: @@ -17008,63 +16350,63 @@ packages: optional: true dev: false - /xdg-basedir/4.0.0: + /xdg-basedir@4.0.0: resolution: {integrity: sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==} engines: {node: '>=8'} dev: true - /xml-name-validator/3.0.0: + /xml-name-validator@3.0.0: resolution: {integrity: sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==} dev: false - /xmlchars/2.2.0: + /xmlchars@2.2.0: resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==} dev: false - /xtend/4.0.2: + /xtend@4.0.2: resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} engines: {node: '>=0.4'} dev: true - /y18n/4.0.3: + /y18n@4.0.3: resolution: {integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==} dev: true - /y18n/5.0.8: + /y18n@5.0.8: resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} engines: {node: '>=10'} - /yallist/2.1.2: + /yallist@2.1.2: resolution: {integrity: sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==} dev: true - /yallist/3.1.1: + /yallist@3.1.1: resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} - /yallist/4.0.0: + /yallist@4.0.0: resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} - /yaml/1.10.2: + /yaml@1.10.2: resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} engines: {node: '>= 6'} - /yargs-parser/13.1.2: + /yargs-parser@13.1.2: resolution: {integrity: sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==} dependencies: camelcase: 5.3.1 decamelize: 1.2.0 dev: true - /yargs-parser/20.2.9: + /yargs-parser@20.2.9: resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==} engines: {node: '>=10'} - /yargs-parser/21.1.1: + /yargs-parser@21.1.1: resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} engines: {node: '>=12'} dev: true - /yargs/13.3.2: + /yargs@13.3.2: resolution: {integrity: sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==} dependencies: cliui: 5.0.0 @@ -17079,7 +16421,7 @@ packages: yargs-parser: 13.1.2 dev: true - /yargs/16.2.0: + /yargs@16.2.0: resolution: {integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==} engines: {node: '>=10'} dependencies: @@ -17091,7 +16433,7 @@ packages: y18n: 5.0.8 yargs-parser: 20.2.9 - /yargs/17.7.1: + /yargs@17.7.1: resolution: {integrity: sha512-cwiTb08Xuv5fqF4AovYacTFNxk62th7LKJ6BL9IGUpTJrWoU7/7WdQGTP2SjKf1dUNBGzDd28p/Yfs/GI6JrLw==} engines: {node: '>=12'} dependencies: @@ -17104,10 +16446,10 @@ packages: yargs-parser: 21.1.1 dev: true - /yocto-queue/0.1.0: + /yocto-queue@0.1.0: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} - /zepto/1.2.0: + /zepto@1.2.0: resolution: {integrity: sha512-C1x6lfvBICFTQIMgbt3JqMOno3VOtkWat/xEakLTOurskYIHPmzJrzd1e8BnmtdDVJlGuk5D+FxyCA8MPmkIyA==} dev: true From fcdecf1720f37d0a44d15faf59a84c50a3ec6eed Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 9 Jan 2024 11:24:43 -0500 Subject: [PATCH 028/105] Bump follow-redirects from 1.15.2 to 1.15.4 (#11635) Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects) from 1.15.2 to 1.15.4. - [Release notes](https://github.com/follow-redirects/follow-redirects/releases) - [Commits](https://github.com/follow-redirects/follow-redirects/compare/v1.15.2...v1.15.4) --- updated-dependencies: - dependency-name: follow-redirects dependency-type: indirect ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- pnpm-lock.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 8e266e428d1..32d93f253b1 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -7774,8 +7774,8 @@ packages: readable-stream: 2.3.8 dev: true - /follow-redirects@1.15.2(debug@4.3.4): - resolution: {integrity: sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==} + /follow-redirects@1.15.4(debug@4.3.4): + resolution: {integrity: sha512-Cr4D/5wlrb0z9dgERpUL3LrmPKVDsETIJhaCMeDfuFYcqa5bldGV6wBsAN6X/vxlXQtFBMrXdXxdL8CbDTGniw==} engines: {node: '>=4.0'} peerDependencies: debug: '*' @@ -8585,7 +8585,7 @@ packages: engines: {node: '>=8.0.0'} dependencies: eventemitter3: 4.0.7 - follow-redirects: 1.15.2(debug@4.3.4) + follow-redirects: 1.15.4(debug@4.3.4) requires-port: 1.0.0 transitivePeerDependencies: - debug From 767d64e7a90dbfe94f9c5d159a890054818c1680 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 9 Jan 2024 11:24:51 -0500 Subject: [PATCH 029/105] Bump socket.io-parser from 4.2.2 to 4.2.4 (#11636) Bumps [socket.io-parser](https://github.com/socketio/socket.io-parser) from 4.2.2 to 4.2.4. - [Release notes](https://github.com/socketio/socket.io-parser/releases) - [Changelog](https://github.com/socketio/socket.io-parser/blob/main/CHANGELOG.md) - [Commits](https://github.com/socketio/socket.io-parser/compare/4.2.2...4.2.4) --- updated-dependencies: - dependency-name: socket.io-parser dependency-type: indirect ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- pnpm-lock.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 32d93f253b1..ac81dbac4ad 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -13978,8 +13978,8 @@ packages: - utf-8-validate dev: true - /socket.io-parser@4.2.2: - resolution: {integrity: sha512-DJtziuKypFkMMHCm2uIshOYC7QaylbtzQwiMYDuCKy3OPkjLzu4B2vAhTlqipRHHzrI0NJeBAizTK7X+6m1jVw==} + /socket.io-parser@4.2.4: + resolution: {integrity: sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew==} engines: {node: '>=10.0.0'} dependencies: '@socket.io/component-emitter': 3.1.0 @@ -13997,7 +13997,7 @@ packages: debug: 4.3.4(supports-color@6.1.0) engine.io: 6.4.1 socket.io-adapter: 2.5.2 - socket.io-parser: 4.2.2 + socket.io-parser: 4.2.4 transitivePeerDependencies: - bufferutil - supports-color From df7f1c284bd70b06ec6fd05b3bffbb654866eee3 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 4 Feb 2024 19:43:48 +0100 Subject: [PATCH 030/105] Bump dorny/paths-filter from 2 to 3 (#11650) Bumps [dorny/paths-filter](https://github.com/dorny/paths-filter) from 2 to 3. - [Release notes](https://github.com/dorny/paths-filter/releases) - [Changelog](https://github.com/dorny/paths-filter/blob/master/CHANGELOG.md) - [Commits](https://github.com/dorny/paths-filter/compare/v2...v3) --- updated-dependencies: - dependency-name: dorny/paths-filter dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 38a5dbea390..6aa57e94771 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -37,7 +37,7 @@ jobs: with: node-version: 16 cache: pnpm - - uses: dorny/paths-filter@v2 + - uses: dorny/paths-filter@v3 id: changes with: filters: | From aca90172f4d0943ab35bbea5235db254c1b5c971 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 6 Feb 2024 10:06:54 -0500 Subject: [PATCH 031/105] Bump release-drafter/release-drafter from 5 to 6 (#11657) Bumps [release-drafter/release-drafter](https://github.com/release-drafter/release-drafter) from 5 to 6. - [Release notes](https://github.com/release-drafter/release-drafter/releases) - [Commits](https://github.com/release-drafter/release-drafter/compare/v5...v6) --- updated-dependencies: - dependency-name: release-drafter/release-drafter dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/release-drafter.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release-drafter.yml b/.github/workflows/release-drafter.yml index 1bf557b652a..04609ba4def 100644 --- a/.github/workflows/release-drafter.yml +++ b/.github/workflows/release-drafter.yml @@ -26,6 +26,6 @@ jobs: needs: correct_repository runs-on: ubuntu-latest steps: - - uses: release-drafter/release-drafter@v5 + - uses: release-drafter/release-drafter@v6 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} From caa56ce87dd56c8f11e708e60964f60f10803adc Mon Sep 17 00:00:00 2001 From: waszkiewiczja <80920123+waszkiewiczja@users.noreply.github.com> Date: Mon, 12 Feb 2024 14:49:57 +0100 Subject: [PATCH 032/105] changed r to optional in BubbleDataPoint (#11662) --- src/types/index.d.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/types/index.d.ts b/src/types/index.d.ts index 6e661188a0b..84cf089cad2 100644 --- a/src/types/index.d.ts +++ b/src/types/index.d.ts @@ -177,7 +177,7 @@ export interface BubbleDataPoint extends Point { /** * Bubble radius in pixels (not scaled). */ - r: number; + r?: number; } export type BubbleController = DatasetController From bfce645fd35a14c83e55d7545e4e486ad156b3db Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 12 Feb 2024 08:50:16 -0500 Subject: [PATCH 033/105] Bump pnpm/action-setup from 2.4.0 to 3.0.0 (#11664) Bumps [pnpm/action-setup](https://github.com/pnpm/action-setup) from 2.4.0 to 3.0.0. - [Release notes](https://github.com/pnpm/action-setup/releases) - [Commits](https://github.com/pnpm/action-setup/compare/v2.4.0...v3.0.0) --- updated-dependencies: - dependency-name: pnpm/action-setup dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/ci.yml | 2 +- .github/workflows/compressed-size.yml | 2 +- .github/workflows/deploy-docs.yml | 2 +- .github/workflows/release.yml | 4 ++-- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 6aa57e94771..6d76e56da48 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -31,7 +31,7 @@ jobs: steps: - uses: actions/checkout@v4 - - uses: pnpm/action-setup@v2.4.0 + - uses: pnpm/action-setup@v3.0.0 - name: Use Node.js uses: actions/setup-node@v4 with: diff --git a/.github/workflows/compressed-size.yml b/.github/workflows/compressed-size.yml index 07c291e88cf..470757f53ec 100644 --- a/.github/workflows/compressed-size.yml +++ b/.github/workflows/compressed-size.yml @@ -17,7 +17,7 @@ jobs: steps: - uses: actions/checkout@v4 - - uses: pnpm/action-setup@v2.4.0 + - uses: pnpm/action-setup@v3.0.0 - uses: preactjs/compressed-size-action@v2 with: repo-token: "${{ secrets.GITHUB_TOKEN }}" diff --git a/.github/workflows/deploy-docs.yml b/.github/workflows/deploy-docs.yml index 58c3dda4b6d..bae55bd9f3b 100644 --- a/.github/workflows/deploy-docs.yml +++ b/.github/workflows/deploy-docs.yml @@ -24,7 +24,7 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - - uses: pnpm/action-setup@v2.4.0 + - uses: pnpm/action-setup@v3.0.0 - name: Use Node.js uses: actions/setup-node@v4 with: diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 690894f5c37..309155924b5 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -27,7 +27,7 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - - uses: pnpm/action-setup@v2.4.0 + - uses: pnpm/action-setup@v3.0.0 - uses: actions/setup-node@v4 with: registry-url: https://registry.npmjs.org/ @@ -72,7 +72,7 @@ jobs: if: "!github.event.release.prerelease" steps: - uses: actions/checkout@v4 - - uses: pnpm/action-setup@v2.4.0 + - uses: pnpm/action-setup@v3.0.0 - uses: actions/setup-node@v4 with: registry-url: https://registry.npmjs.org/ From ef5e4d4692a3e7fc3d24b6e780f18652287907ca Mon Sep 17 00:00:00 2001 From: mirumi Date: Sun, 18 Feb 2024 21:31:37 +0900 Subject: [PATCH 034/105] docs(types): fix description in index.d.ts (#11674) --- src/types/index.d.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/types/index.d.ts b/src/types/index.d.ts index 84cf089cad2..98bdf09a212 100644 --- a/src/types/index.d.ts +++ b/src/types/index.d.ts @@ -3268,11 +3268,11 @@ export type LinearScaleOptions = CartesianScaleOptions & { */ beginAtZero: boolean; /** - * Adjustment used when calculating the maximum data value. + * Adjustment used when calculating the minimum data value. */ suggestedMin?: number; /** - * Adjustment used when calculating the minimum data value. + * Adjustment used when calculating the maximum data value. */ suggestedMax?: number; /** From 4068bd8c47497c3e05688d0c939b711e8c5e1c33 Mon Sep 17 00:00:00 2001 From: Megaemce <1651451+Megaemce@users.noreply.github.com> Date: Sun, 25 Feb 2024 02:30:35 +0700 Subject: [PATCH 035/105] fix #11503, autoskipping 0 ticks when min is below 0 (#11682) --- src/scales/scale.radialLinear.js | 4 +- .../scale.radialLinear/ticks-below-zero.js | 45 ++++++++++++++++++ .../scale.radialLinear/ticks-below-zero.png | Bin 0 -> 34879 bytes 3 files changed, 47 insertions(+), 2 deletions(-) create mode 100644 test/fixtures/scale.radialLinear/ticks-below-zero.js create mode 100644 test/fixtures/scale.radialLinear/ticks-below-zero.png diff --git a/src/scales/scale.radialLinear.js b/src/scales/scale.radialLinear.js index 23e207bd5d9..1e3f7969093 100644 --- a/src/scales/scale.radialLinear.js +++ b/src/scales/scale.radialLinear.js @@ -578,7 +578,7 @@ export default class RadialLinearScale extends LinearScaleBase { if (grid.display) { this.ticks.forEach((tick, index) => { - if (index !== 0) { + if (index !== 0 || (index === 0 && this.min < 0)) { offset = this.getDistanceFromCenterForValue(tick.value); const context = this.getContext(index); const optsAtIndex = grid.setContext(context); @@ -645,7 +645,7 @@ export default class RadialLinearScale extends LinearScaleBase { ctx.textBaseline = 'middle'; this.ticks.forEach((tick, index) => { - if (index === 0 && !opts.reverse) { + if ((index === 0 && this.min >= 0) && !opts.reverse) { return; } diff --git a/test/fixtures/scale.radialLinear/ticks-below-zero.js b/test/fixtures/scale.radialLinear/ticks-below-zero.js new file mode 100644 index 00000000000..75647815ab5 --- /dev/null +++ b/test/fixtures/scale.radialLinear/ticks-below-zero.js @@ -0,0 +1,45 @@ +module.exports = { + config: { + type: 'radar', + data: { + labels: ['A', 'B', 'C', 'D', 'E'] + }, + options: { + responsive: false, + scales: { + r: { + min: -1, + max: 1, + grid: { + display: true, + color: 'blue', + lineWidth: 2 + }, + angleLines: { + color: 'rgba(255, 255, 255, 0.5)', + lineWidth: 2 + }, + pointLabels: { + display: false + }, + ticks: { + display: true, + autoSkip: false, + stepSize: 0.2, + callback: function(value) { + if (value === 0.8) { + return 'Strong'; + } + if (value === 0.4) { + return 'Weak'; + } + if (value === 0) { + return 'No'; + } + } + } + } + } + } + } +}; diff --git a/test/fixtures/scale.radialLinear/ticks-below-zero.png b/test/fixtures/scale.radialLinear/ticks-below-zero.png new file mode 100644 index 0000000000000000000000000000000000000000..36435fd1e1cd9efbf4c944ba8c2002ae4aac70f6 GIT binary patch literal 34879 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 Kg>rd|u>TKm*7oxN literal 0 HcmV?d00001 From bbdaa6a14b5b0e9dcce59396f53a2dd51883727d Mon Sep 17 00:00:00 2001 From: Arun Philip Date: Wed, 28 Feb 2024 10:55:52 -0500 Subject: [PATCH 036/105] addListener and removeListener are only invoked on defined (and valid) values (#11685) --- src/platform/platform.dom.js | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/platform/platform.dom.js b/src/platform/platform.dom.js index 301b2c46c47..6c4b96d7546 100644 --- a/src/platform/platform.dom.js +++ b/src/platform/platform.dom.js @@ -95,11 +95,15 @@ function initCanvas(canvas, aspectRatio) { const eventListenerOptions = supportsEventListenerOptions ? {passive: true} : false; function addListener(node, type, listener) { - node.addEventListener(type, listener, eventListenerOptions); + if (node) { + node.addEventListener(type, listener, eventListenerOptions); + } } function removeListener(chart, type, listener) { - chart.canvas.removeEventListener(type, listener, eventListenerOptions); + if (chart && chart.canvas) { + chart.canvas.removeEventListener(type, listener, eventListenerOptions); + } } function fromNativeEvent(event, chart) { From 7736ea32da0a93f89d20d59861dd8821a2802447 Mon Sep 17 00:00:00 2001 From: Jacco van den Berg Date: Wed, 28 Feb 2024 17:43:58 +0100 Subject: [PATCH 037/105] Bump to 4.4.2 (#11689) --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 00e66250cf6..da51bf267a8 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "chart.js", "homepage": "https://www.chartjs.org", "description": "Simple HTML5 charts using the canvas element.", - "version": "4.4.1", + "version": "4.4.2", "license": "MIT", "type": "module", "sideEffects": [ From 1777f959e5f4a80091dd89e798b239b7ba788eb5 Mon Sep 17 00:00:00 2001 From: Arun Philip Date: Mon, 11 Mar 2024 04:57:07 -0400 Subject: [PATCH 038/105] platform.isAttached should return false if canvas is false-y (#11707) * platform.isAttached should return false if canvas is false-y * change styling to conform to codeclimate linter --- src/helpers/helpers.dom.ts | 2 +- src/platform/platform.dom.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/helpers/helpers.dom.ts b/src/helpers/helpers.dom.ts index c83712983ac..e06fefe94a6 100644 --- a/src/helpers/helpers.dom.ts +++ b/src/helpers/helpers.dom.ts @@ -142,7 +142,7 @@ function getContainerSize(canvas: HTMLCanvasElement, width: number, height: numb let maxWidth: number, maxHeight: number; if (width === undefined || height === undefined) { - const container = _getParentNode(canvas); + const container = canvas && _getParentNode(canvas); if (!container) { width = canvas.clientWidth; height = canvas.clientHeight; diff --git a/src/platform/platform.dom.js b/src/platform/platform.dom.js index 6c4b96d7546..4c6f72e425e 100644 --- a/src/platform/platform.dom.js +++ b/src/platform/platform.dom.js @@ -383,7 +383,7 @@ export default class DomPlatform extends BasePlatform { * @param {HTMLCanvasElement} canvas */ isAttached(canvas) { - const container = _getParentNode(canvas); + const container = canvas && _getParentNode(canvas); return !!(container && container.isConnected); } } From 8c004a1c422ed0aca67113bf82e64f6c3fcd3713 Mon Sep 17 00:00:00 2001 From: Jacco van den Berg Date: Mon, 29 Apr 2024 02:37:29 +0200 Subject: [PATCH 039/105] Create parsed object with correct keys (#11690) * Create parsed object with correct keys * Add test --- src/core/core.datasetController.js | 12 ++++++---- .../data/object-index-axis-y.js | 21 ++++++++++++++++++ .../data/object-index-axis-y.png | Bin 0 -> 10245 bytes 3 files changed, 29 insertions(+), 4 deletions(-) create mode 100644 test/fixtures/controller.bar/data/object-index-axis-y.js create mode 100644 test/fixtures/controller.bar/data/object-index-axis-y.png diff --git a/src/core/core.datasetController.js b/src/core/core.datasetController.js index 4c7a66255ee..976a3a5f6f4 100644 --- a/src/core/core.datasetController.js +++ b/src/core/core.datasetController.js @@ -92,15 +92,18 @@ function applyStack(stack, value, dsIndex, options = {}) { return value; } -function convertObjectDataToArray(data) { +function convertObjectDataToArray(data, meta) { + const {iScale, vScale} = meta; + const iAxisKey = iScale.axis === 'x' ? 'x' : 'y'; + const vAxisKey = vScale.axis === 'x' ? 'x' : 'y'; const keys = Object.keys(data); const adata = new Array(keys.length); let i, ilen, key; for (i = 0, ilen = keys.length; i < ilen; ++i) { key = keys[i]; adata[i] = { - x: key, - y: data[key] + [iAxisKey]: key, + [vAxisKey]: data[key] }; } return adata; @@ -362,7 +365,8 @@ export default class DatasetController { // the internal metadata accordingly. if (isObject(data)) { - this._data = convertObjectDataToArray(data); + const meta = this._cachedMeta; + this._data = convertObjectDataToArray(data, meta); } else if (_data !== data) { if (_data) { // This case happens when the user replaced the data array instance. diff --git a/test/fixtures/controller.bar/data/object-index-axis-y.js b/test/fixtures/controller.bar/data/object-index-axis-y.js new file mode 100644 index 00000000000..0023d08632e --- /dev/null +++ b/test/fixtures/controller.bar/data/object-index-axis-y.js @@ -0,0 +1,21 @@ +module.exports = { + config: { + type: 'bar', + data: { + datasets: [{ + label: '# of Votes', + data: {a: 1, b: 3, c: 2} + }] + }, + options: { + indexAxis: 'y' + } + }, + options: { + spriteText: true, + canvas: { + height: 256, + width: 512 + } + } +}; diff --git a/test/fixtures/controller.bar/data/object-index-axis-y.png b/test/fixtures/controller.bar/data/object-index-axis-y.png new file mode 100644 index 0000000000000000000000000000000000000000..ace6956afca4ca04f72b53f469d58a50fa848553 GIT binary patch literal 10245 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 literal 0 HcmV?d00001 From 6daf4ba4e3993118e4a5f4b7783003eba2511864 Mon Sep 17 00:00:00 2001 From: EricWittrock <92955915+EricWittrock@users.noreply.github.com> Date: Sun, 28 Apr 2024 23:36:56 -0500 Subject: [PATCH 040/105] #11450 hide bar by dataindex (#11755) --- src/controllers/controller.bar.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/controllers/controller.bar.js b/src/controllers/controller.bar.js index 1221b64c323..7257bc23992 100644 --- a/src/controllers/controller.bar.js +++ b/src/controllers/controller.bar.js @@ -647,7 +647,7 @@ export default class BarController extends DatasetController { let i = 0; for (; i < ilen; ++i) { - if (this.getParsed(i)[vScale.axis] !== null) { + if (this.getParsed(i)[vScale.axis] !== null && !rects[i].hidden) { rects[i].draw(this._ctx); } } From f785882aeb6831ff90247a4845a7f8d26353b65f Mon Sep 17 00:00:00 2001 From: EricWittrock <92955915+EricWittrock@users.noreply.github.com> Date: Sun, 28 Apr 2024 23:42:05 -0500 Subject: [PATCH 041/105] Fix error when object prototype is frozen (#11754) --- src/helpers/helpers.config.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/helpers/helpers.config.ts b/src/helpers/helpers.config.ts index db0b125e9e3..3b1dd5b695a 100644 --- a/src/helpers/helpers.config.ts +++ b/src/helpers/helpers.config.ts @@ -220,7 +220,7 @@ function _cached( prop: string, resolve: () => unknown ) { - if (Object.prototype.hasOwnProperty.call(target, prop)) { + if (Object.prototype.hasOwnProperty.call(target, prop) || prop === 'constructor') { return target[prop]; } From ec927ee0854b7369b892afbdb14d5a12196887de Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 29 Apr 2024 06:42:20 +0200 Subject: [PATCH 042/105] Bump follow-redirects from 1.15.4 to 1.15.6 (#11720) --- pnpm-lock.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ac81dbac4ad..aa4dba709f2 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -7774,8 +7774,8 @@ packages: readable-stream: 2.3.8 dev: true - /follow-redirects@1.15.4(debug@4.3.4): - resolution: {integrity: sha512-Cr4D/5wlrb0z9dgERpUL3LrmPKVDsETIJhaCMeDfuFYcqa5bldGV6wBsAN6X/vxlXQtFBMrXdXxdL8CbDTGniw==} + /follow-redirects@1.15.6(debug@4.3.4): + resolution: {integrity: sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==} engines: {node: '>=4.0'} peerDependencies: debug: '*' @@ -8585,7 +8585,7 @@ packages: engines: {node: '>=8.0.0'} dependencies: eventemitter3: 4.0.7 - follow-redirects: 1.15.4(debug@4.3.4) + follow-redirects: 1.15.6(debug@4.3.4) requires-port: 1.0.0 transitivePeerDependencies: - debug From 334fdf7968ac7a7c6e826f80cce086d09583c6f5 Mon Sep 17 00:00:00 2001 From: Liam Swayne Date: Mon, 6 May 2024 08:40:54 -0400 Subject: [PATCH 043/105] Update LICENSE.md year (#11762) --- LICENSE.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/LICENSE.md b/LICENSE.md index 9182b8e81d6..f216610fd7e 100644 --- a/LICENSE.md +++ b/LICENSE.md @@ -1,6 +1,6 @@ The MIT License (MIT) -Copyright (c) 2014-2022 Chart.js Contributors +Copyright (c) 2014-2024 Chart.js Contributors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: From ca76d73149a16a142aec101d32e6382e2b3697c1 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 13 May 2024 08:29:49 -0400 Subject: [PATCH 044/105] Bump pnpm/action-setup from 3.0.0 to 4.0.0 (#11773) Bumps [pnpm/action-setup](https://github.com/pnpm/action-setup) from 3.0.0 to 4.0.0. - [Release notes](https://github.com/pnpm/action-setup/releases) - [Commits](https://github.com/pnpm/action-setup/compare/v3.0.0...v4.0.0) --- updated-dependencies: - dependency-name: pnpm/action-setup dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/ci.yml | 2 +- .github/workflows/compressed-size.yml | 2 +- .github/workflows/deploy-docs.yml | 2 +- .github/workflows/release.yml | 4 ++-- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 6d76e56da48..2432e914909 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -31,7 +31,7 @@ jobs: steps: - uses: actions/checkout@v4 - - uses: pnpm/action-setup@v3.0.0 + - uses: pnpm/action-setup@v4.0.0 - name: Use Node.js uses: actions/setup-node@v4 with: diff --git a/.github/workflows/compressed-size.yml b/.github/workflows/compressed-size.yml index 470757f53ec..24cc40e3310 100644 --- a/.github/workflows/compressed-size.yml +++ b/.github/workflows/compressed-size.yml @@ -17,7 +17,7 @@ jobs: steps: - uses: actions/checkout@v4 - - uses: pnpm/action-setup@v3.0.0 + - uses: pnpm/action-setup@v4.0.0 - uses: preactjs/compressed-size-action@v2 with: repo-token: "${{ secrets.GITHUB_TOKEN }}" diff --git a/.github/workflows/deploy-docs.yml b/.github/workflows/deploy-docs.yml index bae55bd9f3b..0a6486d5697 100644 --- a/.github/workflows/deploy-docs.yml +++ b/.github/workflows/deploy-docs.yml @@ -24,7 +24,7 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - - uses: pnpm/action-setup@v3.0.0 + - uses: pnpm/action-setup@v4.0.0 - name: Use Node.js uses: actions/setup-node@v4 with: diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 309155924b5..802c749c6b0 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -27,7 +27,7 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - - uses: pnpm/action-setup@v3.0.0 + - uses: pnpm/action-setup@v4.0.0 - uses: actions/setup-node@v4 with: registry-url: https://registry.npmjs.org/ @@ -72,7 +72,7 @@ jobs: if: "!github.event.release.prerelease" steps: - uses: actions/checkout@v4 - - uses: pnpm/action-setup@v3.0.0 + - uses: pnpm/action-setup@v4.0.0 - uses: actions/setup-node@v4 with: registry-url: https://registry.npmjs.org/ From e7b8fa290fd587fb800c25ddecfa4b26a5adad63 Mon Sep 17 00:00:00 2001 From: Arun Philip Date: Fri, 17 May 2024 08:16:58 -0400 Subject: [PATCH 045/105] do not attempt to clear canvas if one does not exist (#11764) * do not attempt to clear canvas if one does not exist * update test to explicitly run clearCanvas method to ensure it doesn't throw an error * explicitly set canvas and ctx to null in test since the helper in test code didn't * Update test/specs/helpers.canvas.tests.js --------- Co-authored-by: Jacco van den Berg --- src/helpers/helpers.canvas.ts | 6 +++++- test/specs/helpers.canvas.tests.js | 15 +++++++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/src/helpers/helpers.canvas.ts b/src/helpers/helpers.canvas.ts index a959d1dea1d..f37504c0097 100644 --- a/src/helpers/helpers.canvas.ts +++ b/src/helpers/helpers.canvas.ts @@ -131,7 +131,11 @@ export function _alignPixel(chart: Chart, pixel: number, width: number) { /** * Clears the entire canvas. */ -export function clearCanvas(canvas: HTMLCanvasElement, ctx?: CanvasRenderingContext2D) { +export function clearCanvas(canvas?: HTMLCanvasElement, ctx?: CanvasRenderingContext2D) { + if (!ctx && !canvas) { + return; + } + ctx = ctx || canvas.getContext('2d'); ctx.save(); diff --git a/test/specs/helpers.canvas.tests.js b/test/specs/helpers.canvas.tests.js index ec7a539042a..ba28e3f78d9 100644 --- a/test/specs/helpers.canvas.tests.js +++ b/test/specs/helpers.canvas.tests.js @@ -21,6 +21,21 @@ describe('Chart.helpers.canvas', function() { expect(chart.ctx.clearRect.calls.first().object).toBe(chart.ctx); expect(chart.ctx.clearRect.calls.first().args).toEqual([0, 0, 150, 245]); }); + + it('should not throw error when chart is null', function() { + function createAndClearChart() { + var chart = acquireChart({}, { + canvas: null + }); + // explicitly set canvas and ctx to null since setting it in acquireChart doesn't do anything + chart.canvas = null; + chart.ctx = null; + + helpers.clearCanvas(chart.canvas, chart.ctx); + } + + expect(createAndClearChart).not.toThrow(); + }); }); describe('isPointInArea', function() { From 3d0801299283cb6cb8e777e0cd45e6172cc43966 Mon Sep 17 00:00:00 2001 From: Jacco van den Berg Date: Fri, 17 May 2024 14:33:38 +0200 Subject: [PATCH 046/105] Bump to 4.4.3 (#11776) --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index da51bf267a8..b9d5459dfde 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "chart.js", "homepage": "https://www.chartjs.org", "description": "Simple HTML5 charts using the canvas element.", - "version": "4.4.2", + "version": "4.4.3", "license": "MIT", "type": "module", "sideEffects": [ From 5c9e5c66d2a5328338d38c271e2852de3642575c Mon Sep 17 00:00:00 2001 From: Jon Dufresne Date: Tue, 21 May 2024 03:10:07 -0700 Subject: [PATCH 047/105] Fix some typos (#11781) --- docs/migration/v4-migration.md | 2 +- src/core/core.controller.js | 2 +- test/specs/helpers.config.tests.js | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/migration/v4-migration.md b/docs/migration/v4-migration.md index eeeeb3112a5..8e014bb8982 100644 --- a/docs/migration/v4-migration.md +++ b/docs/migration/v4-migration.md @@ -28,7 +28,7 @@ A number of changes were made to the configuration options passed to the `Chart` * If the tooltip callback returns `undefined`, then the default callback will be used. * `maintainAspectRatio` respects container height. * Time and timeseries scales use `ticks.stepSize` instead of `time.stepSize`, which has been removed. -* `maxTickslimit` wont be used for the ticks in `autoSkip` if the determined max ticks is less then the `maxTicksLimit`. +* `maxTickslimit` won't be used for the ticks in `autoSkip` if the determined max ticks is less then the `maxTicksLimit`. * `dist/chart.js` has been removed. * `dist/chart.min.js` has been renamed to `dist/chart.umd.js`. * `dist/chart.esm.js` has been renamed to `dist/chart.js`. diff --git a/src/core/core.controller.js b/src/core/core.controller.js index a54c5a03283..3c643e8ba3f 100644 --- a/src/core/core.controller.js +++ b/src/core/core.controller.js @@ -1264,7 +1264,7 @@ class Chart { /** * @param {ChartEvent} e - The event * @param {import('../types/index.js').ActiveElement[]} lastActive - Previously active elements - * @param {boolean} inChartArea - Is the envent inside chartArea + * @param {boolean} inChartArea - Is the event inside chartArea * @param {boolean} useFinalPosition - Should the evaluation be done with current or final (after animation) element positions * @returns {import('../types/index.js').ActiveElement[]} - The active elements * @pravate diff --git a/test/specs/helpers.config.tests.js b/test/specs/helpers.config.tests.js index b4d08b9602a..50054dfed8a 100644 --- a/test/specs/helpers.config.tests.js +++ b/test/specs/helpers.config.tests.js @@ -293,7 +293,7 @@ describe('Chart.helpers.config', function() { }); }); - it('should fallback throuhg multiple routes', function() { + it('should fallback through multiple routes', function() { const descriptors = { _fallback: 'level1', level1: { From 228a4856037cafcaa955eccde31e79968c94a8c8 Mon Sep 17 00:00:00 2001 From: Jon Dufresne Date: Tue, 21 May 2024 06:07:35 -0700 Subject: [PATCH 048/105] types: Allow passing undefined for chart options (#11780) When exactOptionalPropertyTypes, TypeScript distinguishes between the value undefined and the property not existing. See: https://www.typescriptlang.org/tsconfig/#exactOptionalPropertyTypes For Chart.js options, this difference is not important and either passing undefined or not including it have the same effect. --- src/types/index.d.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/types/index.d.ts b/src/types/index.d.ts index 98bdf09a212..7a2c8a766e5 100644 --- a/src/types/index.d.ts +++ b/src/types/index.d.ts @@ -3815,7 +3815,7 @@ export interface ChartConfiguration< > { type: TType; data: ChartData; - options?: ChartOptions; + options?: ChartOptions | undefined; plugins?: Plugin[]; platform?: typeof BasePlatform; } @@ -3826,6 +3826,6 @@ export interface ChartConfigurationCustomTypesPerDataset< TLabel = unknown > { data: ChartDataCustomTypesPerDataset; - options?: ChartOptions; + options?: ChartOptions | undefined; plugins?: Plugin[]; } From ff740789a5ef722e52b6328417ed148a93a2b926 Mon Sep 17 00:00:00 2001 From: Jacco van den Berg Date: Fri, 24 May 2024 16:15:28 +0200 Subject: [PATCH 049/105] Fix drawing angle lines on reversed radial scale (#11788) * Fix drawing angle lines on reversed radial scale * add test * Show ticks in test --------- Co-authored-by: Jacco van den Berg --- src/scales/scale.radialLinear.js | 2 +- .../anglelines-reverse-scale.js | 35 ++++++++++++++++++ .../anglelines-reverse-scale.png | Bin 0 -> 35966 bytes 3 files changed, 36 insertions(+), 1 deletion(-) create mode 100644 test/fixtures/scale.radialLinear/anglelines-reverse-scale.js create mode 100644 test/fixtures/scale.radialLinear/anglelines-reverse-scale.png diff --git a/src/scales/scale.radialLinear.js b/src/scales/scale.radialLinear.js index 1e3f7969093..642fa1c140f 100644 --- a/src/scales/scale.radialLinear.js +++ b/src/scales/scale.radialLinear.js @@ -606,7 +606,7 @@ export default class RadialLinearScale extends LinearScaleBase { ctx.setLineDash(optsAtIndex.borderDash); ctx.lineDashOffset = optsAtIndex.borderDashOffset; - offset = this.getDistanceFromCenterForValue(opts.ticks.reverse ? this.min : this.max); + offset = this.getDistanceFromCenterForValue(opts.reverse ? this.min : this.max); position = this.getPointPosition(i, offset); ctx.beginPath(); ctx.moveTo(this.xCenter, this.yCenter); diff --git a/test/fixtures/scale.radialLinear/anglelines-reverse-scale.js b/test/fixtures/scale.radialLinear/anglelines-reverse-scale.js new file mode 100644 index 00000000000..af35a68bcc9 --- /dev/null +++ b/test/fixtures/scale.radialLinear/anglelines-reverse-scale.js @@ -0,0 +1,35 @@ +module.exports = { + config: { + type: 'radar', + data: { + labels: ['A', 'B', 'C', 'D', 'E'], + datasets: [{ + data: [1, 1, 2, 3, 5] + }] + }, + options: { + responsive: false, + scales: { + r: { + reverse: true, + grid: { + display: true, + }, + angleLines: { + color: 'red', + lineWidth: 5, + }, + pointLabels: { + display: false + }, + ticks: { + display: true, + } + } + } + } + }, + options: { + spriteText: true, + } +}; diff --git a/test/fixtures/scale.radialLinear/anglelines-reverse-scale.png b/test/fixtures/scale.radialLinear/anglelines-reverse-scale.png new file mode 100644 index 0000000000000000000000000000000000000000..f2367b980c24469397028af995ee06da2117b908 GIT binary patch literal 35966 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 V{XPGKO*a^Tz|+;wWt~$(695D Date: Fri, 31 May 2024 09:43:46 -0300 Subject: [PATCH 050/105] Add fit method to LegendElement interface (#11796) --- src/types/index.d.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/src/types/index.d.ts b/src/types/index.d.ts index 7a2c8a766e5..85f8afd117d 100644 --- a/src/types/index.d.ts +++ b/src/types/index.d.ts @@ -2344,6 +2344,7 @@ export interface LegendElement extends Element; + fit(): void; } export interface LegendOptions { From 19c02c8a258b3eec7b90b3b512e788c8e51d8118 Mon Sep 17 00:00:00 2001 From: Jacco van den Berg Date: Wed, 26 Jun 2024 14:01:19 +0200 Subject: [PATCH 051/105] Remove boxPading from legend options (#11817) Co-authored-by: Jacco van den Berg --- src/types/index.d.ts | 5 ----- 1 file changed, 5 deletions(-) diff --git a/src/types/index.d.ts b/src/types/index.d.ts index 85f8afd117d..38ff80794bb 100644 --- a/src/types/index.d.ts +++ b/src/types/index.d.ts @@ -2405,11 +2405,6 @@ export interface LegendOptions { * @default fontSize */ boxHeight: number; - /** - * Padding between the color box and the text - * @default 1 - */ - boxPadding: number; /** * Color of label * @see Defaults.color From 0ca1b6ef85b4668f28681f1114cc5527360e2ec9 Mon Sep 17 00:00:00 2001 From: Jo Liss Date: Sun, 30 Jun 2024 10:27:07 +0100 Subject: [PATCH 052/105] Update OffscreenCanvas documentation, as it is widely available now (#11823) --- docs/general/performance.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/general/performance.md b/docs/general/performance.md index bc6cedb7205..9262630e9c0 100644 --- a/docs/general/performance.md +++ b/docs/general/performance.md @@ -72,16 +72,16 @@ new Chart(ctx, { }); ``` -## Parallel rendering with web workers (Chromium only) +## Parallel rendering with web workers -Chromium (Chrome: version 69, Edge: 79, Opera: 56) added the ability to [transfer rendering control of a canvas](https://developer.mozilla.org/en-US/docs/Web/API/HTMLCanvasElement/transferControlToOffscreen) to a web worker. Web workers can use the [OffscreenCanvas API](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvas) to render from a web worker onto canvases in the DOM. Chart.js is a canvas-based library and supports rendering in a web worker - just pass an OffscreenCanvas into the Chart constructor instead of a Canvas element. Note that as of today, this API is only supported in Chromium based browsers. +As of 2023, modern browser have the ability to [transfer rendering control of a canvas](https://developer.mozilla.org/en-US/docs/Web/API/HTMLCanvasElement/transferControlToOffscreen) to a web worker. Web workers can use the [OffscreenCanvas API](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvas) to render from a web worker onto canvases in the DOM. Chart.js is a canvas-based library and supports rendering in a web worker - just pass an OffscreenCanvas into the Chart constructor instead of a Canvas element. By moving all Chart.js calculations onto a separate thread, the main thread can be freed up for other uses. Some tips and tricks when using Chart.js in a web worker: * Transferring data between threads can be expensive, so ensure that your config and data objects are as small as possible. Try generating them on the worker side if you can (workers can make HTTP requests!) or passing them to your worker as ArrayBuffers, which can be transferred quickly from one thread to another. * You can't transfer functions between threads, so if your config object includes functions you'll have to strip them out before transferring and then add them back later. * You can't access the DOM from worker threads, so Chart.js plugins that use the DOM (including any mouse interactions) will likely not work. -* Ensure that you have a fallback if you support browsers other than the most modern Chromium browsers. +* Ensure that you have a fallback if you support older browsers. * Resizing the chart must be done manually. See an example in the worker code below. Example main thread code: From 147ee593babba3b22d60f79b59180e69edba8e0c Mon Sep 17 00:00:00 2001 From: huqingkun Date: Tue, 6 Aug 2024 23:32:26 +0800 Subject: [PATCH 053/105] fix issue #11717 (#11844) * fix issue #11717 Signed-off-by: Hu, Vince * unit test for issue #11717 * fixing test lint style issue * update codes according review comments --------- Signed-off-by: Hu, Vince --- src/controllers/controller.bar.js | 4 +- test/specs/controller.bar.tests.js | 86 ++++++++++++++++++++++++++++++ 2 files changed, 89 insertions(+), 1 deletion(-) diff --git a/src/controllers/controller.bar.js b/src/controllers/controller.bar.js index 7257bc23992..82138f3fb74 100644 --- a/src/controllers/controller.bar.js +++ b/src/controllers/controller.bar.js @@ -437,9 +437,11 @@ export default class BarController extends DatasetController { .filter(meta => meta.controller.options.grouped); const stacked = iScale.options.stacked; const stacks = []; + const currentParsed = this._cachedMeta.controller.getParsed(dataIndex); + const iScaleValue = currentParsed && currentParsed[iScale.axis]; const skipNull = (meta) => { - const parsed = meta.controller.getParsed(dataIndex); + const parsed = meta._parsed.find(item => item[iScale.axis] === iScaleValue); const val = parsed && parsed[meta.vScale.axis]; if (isNullOrUndef(val) || isNaN(val)) { diff --git a/test/specs/controller.bar.tests.js b/test/specs/controller.bar.tests.js index 53a4738477c..a64af1a878b 100644 --- a/test/specs/controller.bar.tests.js +++ b/test/specs/controller.bar.tests.js @@ -1676,6 +1676,92 @@ describe('Chart.controllers.bar', function() { expect(unevenChart).not.toThrow(); }); + it('should correctly count the number of stacks when skipNull and different order datasets', function() { + + const chart = window.acquireChart({ + type: 'bar', + data: { + datasets: [ + { + id: '1', + label: 'USA', + data: [ + { + xScale: 'First', + Country: 'USA', + yScale: 524 + }, + { + xScale: 'Second', + Country: 'USA', + yScale: 325 + } + ], + + yAxisID: 'yScale', + xAxisID: 'xScale', + + parsing: { + yAxisKey: 'yScale', + xAxisKey: 'xScale' + } + }, + { + id: '2', + label: 'BRA', + data: [ + { + xScale: 'Second', + Country: 'BRA', + yScale: 183 + }, + { + xScale: 'First', + Country: 'BRA', + yScale: 177 + } + ], + + yAxisID: 'yScale', + xAxisID: 'xScale', + + parsing: { + yAxisKey: 'yScale', + xAxisKey: 'xScale' + } + }, + { + id: '3', + label: 'DEU', + data: [ + { + xScale: 'First', + Country: 'DEU', + yScale: 162 + } + ], + + yAxisID: 'yScale', + xAxisID: 'xScale', + + parsing: { + yAxisKey: 'yScale', + xAxisKey: 'xScale' + } + } + ] + }, + options: { + skipNull: true + } + }); + + var meta = chart.getDatasetMeta(0); + expect(meta.controller._getStackCount(0)).toBe(3); + expect(meta.controller._getStackCount(1)).toBe(2); + + }); + it('should not override tooltip title and label callbacks', async() => { const chart = window.acquireChart({ type: 'bar', From f3f84fd624e9e7e750c15db0508b573bd09e8563 Mon Sep 17 00:00:00 2001 From: Dimitris-Rafail Katsampas Date: Thu, 8 Aug 2024 21:08:30 +0300 Subject: [PATCH 054/105] fix: Unset _resizeBeforeDraw before _resize() call to avoid possible recursion (#11851) * fix: Unset _resizeBeforeDraw before _resize to avoid possible recursion * chore: Comment update * chore: Reverted dependency change in package json --- src/core/core.controller.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/core/core.controller.js b/src/core/core.controller.js index 3c643e8ba3f..47b238da8aa 100644 --- a/src/core/core.controller.js +++ b/src/core/core.controller.js @@ -717,8 +717,9 @@ class Chart { let i; if (this._resizeBeforeDraw) { const {width, height} = this._resizeBeforeDraw; - this._resize(width, height); + // Unset pending resize request now to avoid possible recursion within _resize this._resizeBeforeDraw = null; + this._resize(width, height); } this.clear(); From b9c01414bac867310d192da676c78e8e269f7d8b Mon Sep 17 00:00:00 2001 From: huqingkun Date: Mon, 12 Aug 2024 23:56:35 +0800 Subject: [PATCH 055/105] Bugfix/issue 11804 tooltip show for all invisible (#11858) * exclude 0 angle from inRange to not showing tooltip when all data are hidden Signed-off-by: Hu, Vince * test 0 angle point not in arc range --------- Signed-off-by: Hu, Vince --- src/elements/element.arc.ts | 3 ++- test/specs/element.arc.tests.js | 22 ++++++++++++++++++++++ 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/src/elements/element.arc.ts b/src/elements/element.arc.ts index 1595016c9b0..e2bd26f523b 100644 --- a/src/elements/element.arc.ts +++ b/src/elements/element.arc.ts @@ -324,7 +324,8 @@ export default class ArcElement extends Element { ], useFinalPosition); const rAdjust = (this.options.spacing + this.options.borderWidth) / 2; const _circumference = valueOrDefault(circumference, endAngle - startAngle); - const betweenAngles = _circumference >= TAU || _angleBetween(angle, startAngle, endAngle); + const nonZeroBetween = _angleBetween(angle, startAngle, endAngle) && startAngle !== endAngle; + const betweenAngles = _circumference >= TAU || nonZeroBetween; const withinRadius = _isBetween(distance, innerRadius + rAdjust, outerRadius + rAdjust); return (betweenAngles && withinRadius); diff --git a/test/specs/element.arc.tests.js b/test/specs/element.arc.tests.js index e8ba72f3a0a..63d20caaec4 100644 --- a/test/specs/element.arc.tests.js +++ b/test/specs/element.arc.tests.js @@ -281,4 +281,26 @@ describe('Arc element tests', function() { expect(ctx.getCalls().length).toBeGreaterThan(0); }); + + it ('should determine not in range when angle 0', function() { + // Mock out the arc as if the controller put it there + var arc = new Chart.elements.ArcElement({ + startAngle: 0, + endAngle: 0, + x: 0, + y: 0, + innerRadius: 0, + outerRadius: 10, + circumference: 0, + options: { + spacing: 0, + offset: 0, + borderWidth: 0 + } + }); + + var center = arc.getCenterPoint(); + + expect(arc.inRange(center.x, 1)).toBe(false); + }); }); From 74122c1b0febe44f1596b42ee1b4e80e38b6869a Mon Sep 17 00:00:00 2001 From: Artur Morys - Magiera Date: Fri, 16 Aug 2024 08:25:47 +0200 Subject: [PATCH 056/105] fix(types): add xCenter and yCenter properties to RadialLinearScale interface (#11862) --- src/types/index.d.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/types/index.d.ts b/src/types/index.d.ts index 38ff80794bb..65dd075e014 100644 --- a/src/types/index.d.ts +++ b/src/types/index.d.ts @@ -3577,6 +3577,8 @@ export type RadialLinearScaleOptions = CoreScaleOptions & { }; export interface RadialLinearScale extends Scale { + xCenter: number; + yCenter: number; setCenterPoint(leftMovement: number, rightMovement: number, topMovement: number, bottomMovement: number): void; getIndexAngle(index: number): number; getDistanceFromCenterForValue(value: number): number; From b51b57aca4182e8afbfe988a2bd8eb3abf2c895e Mon Sep 17 00:00:00 2001 From: Artur Morys - Magiera Date: Sat, 17 Aug 2024 01:57:26 +0200 Subject: [PATCH 057/105] fix(types): exclude DeepPartial from ChartOptions interface (#11867) * fix(types): exclude DeepPartial from ChartOptions interface * refactor: format index.d.ts to comply with ESLint rules --- src/types/index.d.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/types/index.d.ts b/src/types/index.d.ts index 65dd075e014..fcdd44fe06b 100644 --- a/src/types/index.d.ts +++ b/src/types/index.d.ts @@ -3742,13 +3742,16 @@ export type ScaleChartOptions = { }; }; -export type ChartOptions = DeepPartial< +export type ChartOptions = Exclude< +DeepPartial< CoreChartOptions & ElementChartOptions & PluginChartOptions & DatasetChartOptions & ScaleChartOptions & ChartTypeRegistry[TType]['chartOptions'] +>, +DeepPartial >; export type DefaultDataPoint = DistributiveArray; From 3dac05ed004d1b65037bfa80627cc1a0bbc4b41f Mon Sep 17 00:00:00 2001 From: Jacco van den Berg Date: Sat, 17 Aug 2024 08:52:36 +0200 Subject: [PATCH 058/105] Return false from the average tooltip positioner on no valid data (#11863) --- src/core/core.scale.js | 1 - src/plugins/plugin.tooltip.js | 5 +++++ test/specs/plugin.tooltip.tests.js | 9 +++++++++ 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/src/core/core.scale.js b/src/core/core.scale.js index 3265e103d1a..dcf4bd00b2b 100644 --- a/src/core/core.scale.js +++ b/src/core/core.scale.js @@ -301,7 +301,6 @@ export default class Scale extends Element { * @since 3.0 */ getMinMax(canStack) { - // eslint-disable-next-line prefer-const let {min, max, minDefined, maxDefined} = this.getUserBounds(); let range; diff --git a/src/plugins/plugin.tooltip.js b/src/plugins/plugin.tooltip.js index e76b1479e06..b39681ce2ca 100644 --- a/src/plugins/plugin.tooltip.js +++ b/src/plugins/plugin.tooltip.js @@ -38,6 +38,11 @@ const positioners = { } } + // No visible items where found, return false so we don't have to divide by 0 which reduces in NaN + if (count === 0 || xSet.size === 0) { + return false; + } + const xAverage = [...xSet].reduce((a, b) => a + b) / xSet.size; return { diff --git a/test/specs/plugin.tooltip.tests.js b/test/specs/plugin.tooltip.tests.js index 69e8c7f64c9..94ae45b7246 100644 --- a/test/specs/plugin.tooltip.tests.js +++ b/test/specs/plugin.tooltip.tests.js @@ -1144,6 +1144,15 @@ describe('Plugin.Tooltip', function() { expect(tooltipModel.caretX).not.toBe(xPositionArrayAverage); expect(tooltipModel.caretX).toBe(xPositionSetAverage); }); + + it('Should not fail with all hiden data elements on the average positioner', function() { + const averagePositioner = tooltipPlugin.positioners.average; + + // Simulate `hasValue` returns false + expect(() => averagePositioner([{x: 'invalidNumber', y: 'invalidNumber'}])).not.toThrow(); + const result = averagePositioner([{x: 'invalidNumber', y: 'invalidNumber'}]); + expect(result).toBe(false); + }); }); it('Should avoid tooltip truncation in x axis if there is enough space to show tooltip without truncation', async function() { From a1f7355ab827fe716fddeb07b595aed13c1031e5 Mon Sep 17 00:00:00 2001 From: Jacco van den Berg Date: Tue, 20 Aug 2024 18:11:00 +0200 Subject: [PATCH 059/105] Add radial linear scale to docs section of samples (#11871) * Add radial linear scale to docs section of samples * white space --------- Co-authored-by: Jacco van den Berg --- docs/samples/other-charts/polar-area.md | 1 + docs/samples/other-charts/radar-skip-points.md | 1 + docs/samples/other-charts/radar.md | 1 + 3 files changed, 3 insertions(+) diff --git a/docs/samples/other-charts/polar-area.md b/docs/samples/other-charts/polar-area.md index 00b7dde0e0e..3c951f9f1ea 100644 --- a/docs/samples/other-charts/polar-area.md +++ b/docs/samples/other-charts/polar-area.md @@ -92,3 +92,4 @@ module.exports = { ## Docs * [Polar Area Chart](../../charts/polar.md) +* [Radial linear scale](../../axes/radial/linear.md) diff --git a/docs/samples/other-charts/radar-skip-points.md b/docs/samples/other-charts/radar-skip-points.md index d3420656016..2dd268fc1af 100644 --- a/docs/samples/other-charts/radar-skip-points.md +++ b/docs/samples/other-charts/radar-skip-points.md @@ -88,3 +88,4 @@ module.exports = { ## Docs * [Radar](../../charts/radar.md) * [Data structures (`labels`)](../../general/data-structures.md) +* [Radial linear scale](../../axes/radial/linear.md) diff --git a/docs/samples/other-charts/radar.md b/docs/samples/other-charts/radar.md index 4ebc516a38c..e60648caa63 100644 --- a/docs/samples/other-charts/radar.md +++ b/docs/samples/other-charts/radar.md @@ -113,3 +113,4 @@ module.exports = { ## Docs * [Radar](../../charts/radar.md) * [Data structures (`labels`)](../../general/data-structures.md) +* [Radial linear scale](../../axes/radial/linear.md) From 2fa724110a25877dff97c8fd5a45c36d5e388b48 Mon Sep 17 00:00:00 2001 From: Jacco van den Berg Date: Tue, 20 Aug 2024 21:37:23 +0200 Subject: [PATCH 060/105] Check if range method exists on element before executing it (#11873) Co-authored-by: Jacco van den Berg --- src/core/core.interaction.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/core/core.interaction.js b/src/core/core.interaction.js index fc5aac83d38..c35f8d1ae08 100644 --- a/src/core/core.interaction.js +++ b/src/core/core.interaction.js @@ -211,7 +211,7 @@ function getAxisItems(chart, position, axis, intersect, useFinalPosition) { let intersectsItem = false; evaluateInteractionItems(chart, axis, position, (element, datasetIndex, index) => { - if (element[rangeMethod](position[axis], useFinalPosition)) { + if (element[rangeMethod] && element[rangeMethod](position[axis], useFinalPosition)) { items.push({element, datasetIndex, index}); intersectsItem = intersectsItem || element.inRange(position.x, position.y, useFinalPosition); } From dd554e0d87fc525c2a4efcecead9cc3c280936f4 Mon Sep 17 00:00:00 2001 From: Jacco van den Berg Date: Tue, 20 Aug 2024 22:25:36 +0200 Subject: [PATCH 061/105] Bump package version to 4.4.4 (#11874) --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index b9d5459dfde..81686756419 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "chart.js", "homepage": "https://www.chartjs.org", "description": "Simple HTML5 charts using the canvas element.", - "version": "4.4.3", + "version": "4.4.4", "license": "MIT", "type": "module", "sideEffects": [ From 680cd227d42ea1b9e7acb9d1b5e81900104f257b Mon Sep 17 00:00:00 2001 From: Jacco van den Berg Date: Mon, 26 Aug 2024 17:13:12 +0200 Subject: [PATCH 062/105] Fix initial dataset stacks (#11882) * Update cahced _stacked value after updating stacks * Add test --------- Co-authored-by: Jacco van den Berg --- src/core/core.datasetController.js | 1 + .../stacked-initial-render.js | 49 ++++++++++++++++++ .../stacked-initial-render.png | Bin 0 -> 35412 bytes test/specs/core.datasetController.tests.js | 2 + 4 files changed, 52 insertions(+) create mode 100644 test/fixtures/core.datasetController/stacked-initial-render.js create mode 100644 test/fixtures/core.datasetController/stacked-initial-render.png diff --git a/src/core/core.datasetController.js b/src/core/core.datasetController.js index 976a3a5f6f4..8753cab650d 100644 --- a/src/core/core.datasetController.js +++ b/src/core/core.datasetController.js @@ -420,6 +420,7 @@ export default class DatasetController { // if stack changed, update stack values for the whole dataset if (stackChanged || oldStacked !== meta._stacked) { updateStacks(this, meta._parsed); + meta._stacked = isStacked(meta.vScale, meta); } } diff --git a/test/fixtures/core.datasetController/stacked-initial-render.js b/test/fixtures/core.datasetController/stacked-initial-render.js new file mode 100644 index 00000000000..96c7fb977be --- /dev/null +++ b/test/fixtures/core.datasetController/stacked-initial-render.js @@ -0,0 +1,49 @@ +module.exports = { + config: { + type: 'line', + data: { + labels: [0, 1, 2, 3, 4, 5, 6], + datasets: [ + { + // option in dataset + data: [9, 13, 15, 25, 22, 15, 21], + stack: 'construction_stack', + borderWidth: 10, + borderColor: 'rgb(54, 162, 235)' + }, + { + data: [9, 13, 15, 25, 22, 15, 21], + stack: 'construction_stack', + borderWidth: 10, + borderColor: 'rgb(255, 99, 132)' + } + ] + }, + options: { + scales: { + x: { + ticks: { + display: false + } + }, + y: { + ticks: { + display: false + } + } + }, + plugins: { + legend: false, + title: false, + tooltip: false, + filler: false + } + } + }, + options: { + canvas: { + height: 512, + width: 512 + } + } +}; diff --git a/test/fixtures/core.datasetController/stacked-initial-render.png b/test/fixtures/core.datasetController/stacked-initial-render.png new file mode 100644 index 0000000000000000000000000000000000000000..8f55664df1ea0ce7b91ab61ffe452d4acb548d05 GIT binary patch literal 35412 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�{O%DCpMcj;&Solbz=I;>Xz>*uPs!6|D3`-oPMb1 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 Date: Mon, 26 Aug 2024 17:13:23 +0200 Subject: [PATCH 063/105] Bump socket.io from 4.6.1 to 4.7.5 (#11875) Bumps [socket.io](https://github.com/socketio/socket.io) from 4.6.1 to 4.7.5. - [Release notes](https://github.com/socketio/socket.io/releases) - [Changelog](https://github.com/socketio/socket.io/blob/4.7.5/CHANGELOG.md) - [Commits](https://github.com/socketio/socket.io/compare/4.6.1...4.7.5) --- updated-dependencies: - dependency-name: socket.io dependency-type: indirect ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- pnpm-lock.yaml | 38 ++++++++++++++++++++++++++------------ 1 file changed, 26 insertions(+), 12 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index aa4dba709f2..9bb42c09348 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -6615,14 +6615,14 @@ packages: once: 1.4.0 dev: true - /engine.io-parser@5.0.6: - resolution: {integrity: sha512-tjuoZDMAdEhVnSFleYPCtdL2GXwVTGtNjoeJd9IhIG3C1xs9uwxqRNEu5WpnDZCaozwVlK/nuQhpodhXSIMaxw==} + /engine.io-parser@5.2.3: + resolution: {integrity: sha512-HqD3yTBfnBxIrbnM1DoD6Pcq8NECnh8d4As1Qgh0z5Gg3jRRIqijury0CL3ghu/edArpUYiYqQiDUQBIs4np3Q==} engines: {node: '>=10.0.0'} dev: true - /engine.io@6.4.1: - resolution: {integrity: sha512-JFYQurD/nbsA5BSPmbaOSLa3tSVj8L6o4srSwXXY3NqE+gGUNmmPTbhn8tjzcCtSqhFgIeqef81ngny8JM25hw==} - engines: {node: '>=10.0.0'} + /engine.io@6.5.5: + resolution: {integrity: sha512-C5Pn8Wk+1vKBoHghJODM63yk8MvrO9EWZUfkAt5HAqIgPE4/8FF0PEGHXtEd40l223+cE5ABWuPzm38PHFXfMA==} + engines: {node: '>=10.2.0'} dependencies: '@types/cookie': 0.4.1 '@types/cors': 2.8.13 @@ -6632,8 +6632,8 @@ packages: cookie: 0.4.2 cors: 2.8.5 debug: 4.3.4(supports-color@6.1.0) - engine.io-parser: 5.0.6 - ws: 8.11.0 + engine.io-parser: 5.2.3 + ws: 8.17.1 transitivePeerDependencies: - bufferutil - supports-color @@ -10164,7 +10164,7 @@ packages: qjobs: 1.2.0 range-parser: 1.2.1 rimraf: 3.0.2 - socket.io: 4.6.1 + socket.io: 4.7.5 source-map: 0.6.1 tmp: 0.2.1 ua-parser-js: 0.7.34 @@ -13988,14 +13988,15 @@ packages: - supports-color dev: true - /socket.io@4.6.1: - resolution: {integrity: sha512-KMcaAi4l/8+xEjkRICl6ak8ySoxsYG+gG6/XfRCPJPQ/haCRIJBTL4wIl8YCsmtaBovcAXGLOShyVWQ/FG8GZA==} - engines: {node: '>=10.0.0'} + /socket.io@4.7.5: + resolution: {integrity: sha512-DmeAkF6cwM9jSfmp6Dr/5/mfMwb5Z5qRrSXLpo3Fq5SqyU8CMF15jIN4ZhfSwu35ksM1qmHZDQ/DK5XTccSTvA==} + engines: {node: '>=10.2.0'} dependencies: accepts: 1.3.8 base64id: 2.0.0 + cors: 2.8.5 debug: 4.3.4(supports-color@6.1.0) - engine.io: 6.4.1 + engine.io: 6.5.5 socket.io-adapter: 2.5.2 socket.io-parser: 4.2.4 transitivePeerDependencies: @@ -16350,6 +16351,19 @@ packages: optional: true dev: false + /ws@8.17.1: + resolution: {integrity: sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: '>=5.0.2' + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + dev: true + /xdg-basedir@4.0.0: resolution: {integrity: sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==} engines: {node: '>=8'} From 5d2dfbe68d06223a503b686cff2e59e6f77e30a3 Mon Sep 17 00:00:00 2001 From: Moriwaki Masafumi Date: Sun, 13 Oct 2024 10:14:07 +0900 Subject: [PATCH 064/105] Avoid error if borderOpts.dash is undefined (#11907) --- src/scales/scale.radialLinear.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/scales/scale.radialLinear.js b/src/scales/scale.radialLinear.js index 642fa1c140f..0a2c61f722b 100644 --- a/src/scales/scale.radialLinear.js +++ b/src/scales/scale.radialLinear.js @@ -317,7 +317,7 @@ function drawRadiusLine(scale, gridLineOpts, radius, labelCount, borderOpts) { ctx.save(); ctx.strokeStyle = color; ctx.lineWidth = lineWidth; - ctx.setLineDash(borderOpts.dash); + ctx.setLineDash(borderOpts.dash || []); ctx.lineDashOffset = borderOpts.dashOffset; ctx.beginPath(); From 3f2968cb41006baaaa8bd690ce0295b9a20ddacc Mon Sep 17 00:00:00 2001 From: Jacco van den Berg Date: Sun, 13 Oct 2024 09:12:16 +0200 Subject: [PATCH 065/105] Add check to colors plugin if defaults are set (#11927) --- src/plugins/plugin.colors.ts | 14 +++++++++++-- test/specs/plugin.colors.tests.js | 34 +++++++++++++++++++++++++++++++ 2 files changed, 46 insertions(+), 2 deletions(-) diff --git a/src/plugins/plugin.colors.ts b/src/plugins/plugin.colors.ts index 03af80eeabd..a32998a95dc 100644 --- a/src/plugins/plugin.colors.ts +++ b/src/plugins/plugin.colors.ts @@ -1,4 +1,4 @@ -import {DoughnutController, PolarAreaController} from '../index.js'; +import {DoughnutController, PolarAreaController, defaults} from '../index.js'; import type {Chart, ChartDataset} from '../types.js'; export interface ColorsPluginOptions { @@ -87,6 +87,10 @@ function containsColorsDefinition( return descriptor && (descriptor.borderColor || descriptor.backgroundColor); } +function containsDefaultColorsDefenitions() { + return defaults.borderColor !== 'rgba(0,0,0,0.1)' || defaults.backgroundColor !== 'rgba(0,0,0,0.1)'; +} + export default { id: 'colors', @@ -106,7 +110,13 @@ export default { } = chart.config; const {elements} = chartOptions; - if (!options.forceOverride && (containsColorsDefinitions(datasets) || containsColorsDefinition(chartOptions) || (elements && containsColorsDefinitions(elements)))) { + const containsColorDefenition = ( + containsColorsDefinitions(datasets) || + containsColorsDefinition(chartOptions) || + (elements && containsColorsDefinitions(elements)) || + containsDefaultColorsDefenitions()); + + if (!options.forceOverride && containsColorDefenition) { return; } diff --git a/test/specs/plugin.colors.tests.js b/test/specs/plugin.colors.tests.js index df5ff8fb993..9e66f6f5ea8 100644 --- a/test/specs/plugin.colors.tests.js +++ b/test/specs/plugin.colors.tests.js @@ -1,3 +1,37 @@ describe('Plugin.colors', () => { describe('auto', jasmine.fixture.specs('plugin.colors')); + + describe('Plugin.colors.chartDefaults', () => { + beforeAll(() => { + Chart.defaults.backgroundColor = ['green', 'yellow']; + }); + + afterAll(() => { + Chart.defaults.backgroundColor = 'rgba(0,0,0,0.1)'; + }); + + it('should not use colors plugin when chart defaults are given', () => { + const chart = window.acquireChart({ + type: 'bar', + data: { + datasets: [{ + data: [1, 10], + label: 'dataset1' + }], + labels: ['label1', 'label2'] + }, + options: { + plugins: { + colors: { + enabled: true + } + } + } + }); + + const meta = chart.getDatasetMeta(0); + expect(meta.data[0].options.backgroundColor).toBe('green'); + expect(meta.data[1].options.backgroundColor).toBe('yellow'); + }); + }); }); From 22a0ba9709745bd58fef2e4ba789461dc4dbe2f8 Mon Sep 17 00:00:00 2001 From: Damien Regad Date: Tue, 15 Oct 2024 14:06:50 +0200 Subject: [PATCH 066/105] Fix typo in time.md (#11930) --- docs/axes/cartesian/time.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/axes/cartesian/time.md b/docs/axes/cartesian/time.md index 0723f7978ad..50d5d625d19 100644 --- a/docs/axes/cartesian/time.md +++ b/docs/axes/cartesian/time.md @@ -1,6 +1,6 @@ # Time Cartesian Axis -The time scale is used to display times and dates. Data are spread according to the amount of time between data points. When building its ticks, it will automatically calculate the most comfortable unit base on the size of the scale. +The time scale is used to display times and dates. Data are spread according to the amount of time between data points. When building its ticks, it will automatically calculate the most comfortable unit based on the size of the scale. ## Date Adapters From 03d1d5caa2b7760334e4f0e94960dd5275a3466a Mon Sep 17 00:00:00 2001 From: Jacco van den Berg Date: Tue, 15 Oct 2024 20:31:51 +0200 Subject: [PATCH 067/105] Allow array's in backgroundColor defaults and add hover background and border color to defaults (#11931) * Allow array as default and add extra default options * Add test --------- Co-authored-by: Jacco van den Berg --- src/types/index.d.ts | 14 ++++++++++++-- test/types/defaults.ts | 16 ++++++++++++++++ 2 files changed, 28 insertions(+), 2 deletions(-) diff --git a/src/types/index.d.ts b/src/types/index.d.ts index fcdd44fe06b..5690a432e60 100644 --- a/src/types/index.d.ts +++ b/src/types/index.d.ts @@ -1611,12 +1611,22 @@ export interface CoreChartOptions extends ParsingOption * base background color * @see Defaults.backgroundColor */ - backgroundColor: Scriptable>; + backgroundColor: ScriptableAndArray>; + /** + * base hover background color + * @see Defaults.hoverBackgroundColor + */ + hoverBackgroundColor: ScriptableAndArray>; /** * base border color * @see Defaults.borderColor */ - borderColor: Scriptable>; + borderColor: ScriptableAndArray>; + /** + * base hover border color + * @see Defaults.hoverBorderColor + */ + hoverBorderColor: ScriptableAndArray>; /** * base font * @see Defaults.font diff --git a/test/types/defaults.ts b/test/types/defaults.ts index 84071849245..ae3eff23ac5 100644 --- a/test/types/defaults.ts +++ b/test/types/defaults.ts @@ -16,6 +16,22 @@ Chart.defaults.font.size = '8'; // @ts-expect-error should be number Chart.defaults.font.size = () => '10'; +Chart.defaults.backgroundColor = 'red'; +Chart.defaults.backgroundColor = ['red', 'blue']; +Chart.defaults.backgroundColor = (ctx) => ctx.datasetIndex % 2 === 0 ? 'red' : 'blue'; + +Chart.defaults.borderColor = 'red'; +Chart.defaults.borderColor = ['red', 'blue']; +Chart.defaults.borderColor = (ctx) => ctx.datasetIndex % 2 === 0 ? 'red' : 'blue'; + +Chart.defaults.hoverBackgroundColor = 'red'; +Chart.defaults.hoverBackgroundColor = ['red', 'blue']; +Chart.defaults.hoverBackgroundColor = (ctx) => ctx.datasetIndex % 2 === 0 ? 'red' : 'blue'; + +Chart.defaults.hoverBorderColor = 'red'; +Chart.defaults.hoverBorderColor = ['red', 'blue']; +Chart.defaults.hoverBorderColor = (ctx) => ctx.datasetIndex % 2 === 0 ? 'red' : 'blue'; + Chart.defaults.font = { family: "'Helvetica Neue', 'Helvetica', 'Arial', sans-serif", size: 10 From 7af71f507754deb4a3abf8ce0e0b95d0cca560c5 Mon Sep 17 00:00:00 2001 From: Jacco van den Berg Date: Tue, 15 Oct 2024 20:50:45 +0200 Subject: [PATCH 068/105] Bump package version to 4.4.5 (#11932) Co-authored-by: Jacco van den Berg --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 81686756419..6bca4184565 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "chart.js", "homepage": "https://www.chartjs.org", "description": "Simple HTML5 charts using the canvas element.", - "version": "4.4.4", + "version": "4.4.5", "license": "MIT", "type": "module", "sideEffects": [ From bb5ca384a373af5e9d4a2056fd3c8d06df1e9f13 Mon Sep 17 00:00:00 2001 From: Jacco van den Berg Date: Tue, 15 Oct 2024 21:12:00 +0200 Subject: [PATCH 069/105] Fix 404 to samples in release drafter (#11933) Co-authored-by: Jacco van den Berg --- .github/release-drafter.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/release-drafter.yml b/.github/release-drafter.yml index 582f5491d9a..636045e034d 100644 --- a/.github/release-drafter.yml +++ b/.github/release-drafter.yml @@ -47,7 +47,7 @@ template: | * [Migration guide](https://www.chartjs.org/docs/$RESOLVED_VERSION/migration/v4-migration.html) * [Docs](https://www.chartjs.org/docs/$RESOLVED_VERSION/) * [API](https://www.chartjs.org/docs/$RESOLVED_VERSION/api/) - * [Samples](https://www.chartjs.org/docs/$RESOLVED_VERSION/samples/) + * [Samples](https://www.chartjs.org/docs/$RESOLVED_VERSION/samples/information.html) $CHANGES From 6dd448b9337842b5c2f597306c28fccdfef6d3c6 Mon Sep 17 00:00:00 2001 From: Nikolai Iakovlev Date: Thu, 24 Oct 2024 18:55:58 +0300 Subject: [PATCH 070/105] Fix: applyStack() returned the sum of all values for hidden dataset indices, which resulted in wrong show animations (#11938) --- src/core/core.datasetController.js | 7 +++++ test/specs/controller.bar.tests.js | 43 ++++++++++++++++++++++++++++++ 2 files changed, 50 insertions(+) diff --git a/src/core/core.datasetController.js b/src/core/core.datasetController.js index 8753cab650d..9b7126a93fd 100644 --- a/src/core/core.datasetController.js +++ b/src/core/core.datasetController.js @@ -76,9 +76,11 @@ function applyStack(stack, value, dsIndex, options = {}) { return; } + let found = false; for (i = 0, ilen = keys.length; i < ilen; ++i) { datasetIndex = +keys[i]; if (datasetIndex === dsIndex) { + found = true; if (options.all) { continue; } @@ -89,6 +91,11 @@ function applyStack(stack, value, dsIndex, options = {}) { value += otherValue; } } + + if (!found && !options.all) { + return 0; + } + return value; } diff --git a/test/specs/controller.bar.tests.js b/test/specs/controller.bar.tests.js index a64af1a878b..128ef241d00 100644 --- a/test/specs/controller.bar.tests.js +++ b/test/specs/controller.bar.tests.js @@ -1613,6 +1613,49 @@ describe('Chart.controllers.bar', function() { expect(data[0].y).toBeCloseToPixel(512); }); + it('should hide bar dataset beneath the chart for correct animations', function() { + var chart = window.acquireChart({ + type: 'bar', + data: { + datasets: [{ + data: [1, 2, 3, 4] + }, { + data: [1, 2, 3, 4] + }], + labels: ['A', 'B', 'C', 'D'] + }, + options: { + plugins: { + legend: false, + title: false + }, + scales: { + x: { + type: 'category', + display: false, + stacked: true, + }, + y: { + type: 'linear', + display: false, + stacked: true, + } + } + } + }); + + var data = chart.getDatasetMeta(0).data; + expect(data[0].base).toBeCloseToPixel(512); + expect(data[0].y).toBeCloseToPixel(448); + + chart.setDatasetVisibility(0, false); + chart.update(); + + data = chart.getDatasetMeta(0).data; + expect(data[0].base).toBeCloseToPixel(640); + expect(data[0].y).toBeCloseToPixel(512); + }); + describe('Float bar', function() { it('Should return correct values from getMinMax', function() { var chart = window.acquireChart({ From 47245a7f36ea581ff996f454b72859437715b2a8 Mon Sep 17 00:00:00 2001 From: Evert Timberg Date: Mon, 28 Oct 2024 09:36:05 -0400 Subject: [PATCH 071/105] chore: version bump for 4.4.6 release (#11943) --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 6bca4184565..43d1e19254c 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "chart.js", "homepage": "https://www.chartjs.org", "description": "Simple HTML5 charts using the canvas element.", - "version": "4.4.5", + "version": "4.4.6", "license": "MIT", "type": "module", "sideEffects": [ From bb82c8f549374e552cc237593749eb6513d4d534 Mon Sep 17 00:00:00 2001 From: Jacco van den Berg Date: Mon, 4 Nov 2024 15:10:35 +0100 Subject: [PATCH 072/105] Export TRBL from geometric (#11948) Co-authored-by: Jacco van den Berg --- src/types/index.d.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/types/index.d.ts b/src/types/index.d.ts index 5690a432e60..0fbe356a3ae 100644 --- a/src/types/index.d.ts +++ b/src/types/index.d.ts @@ -17,7 +17,7 @@ export {default as ArcElement, ArcProps} from '../elements/element.arc.js'; export {default as PointElement, PointProps} from '../elements/element.point.js'; export {Animation, Animations, Animator, AnimationEvent} from './animation.js'; export {Color} from './color.js'; -export {ChartArea, Point} from './geometric.js'; +export {ChartArea, Point, TRBL} from './geometric.js'; export {LayoutItem, LayoutPosition} from './layout.js'; export interface ScriptableContext { From 49256c61495c5e72939ea0d659ef6cf04273a1fd Mon Sep 17 00:00:00 2001 From: Mikhail Date: Mon, 18 Nov 2024 22:24:43 +0200 Subject: [PATCH 073/105] simplify check undefinded (#11501) --- src/helpers/helpers.core.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/helpers/helpers.core.ts b/src/helpers/helpers.core.ts index 723495c3799..7203a92c2ce 100644 --- a/src/helpers/helpers.core.ts +++ b/src/helpers/helpers.core.ts @@ -26,7 +26,7 @@ export const uid = (() => { * @since 2.7.0 */ export function isNullOrUndef(value: unknown): value is null | undefined { - return value === null || typeof value === 'undefined'; + return value === null || value === undefined; } /** From 3a515d08e8e999dd8366fe6f4a0723464903f9b4 Mon Sep 17 00:00:00 2001 From: DustinEwan Date: Mon, 18 Nov 2024 14:43:17 -0600 Subject: [PATCH 074/105] fix: correct typing for doughnut, pie, and polarArea charts (#11521) * fix(#10896): correct typing for doughnut, pie, and polarArea charts * formatting --- src/types/index.d.ts | 2 +- test/types/options.ts | 14 +++++++++++++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/src/types/index.d.ts b/src/types/index.d.ts index 0fbe356a3ae..c59a39c4581 100644 --- a/src/types/index.d.ts +++ b/src/types/index.d.ts @@ -281,7 +281,7 @@ export interface DoughnutControllerDatasetOptions spacing: number; } -export interface DoughnutAnimationOptions { +export interface DoughnutAnimationOptions extends AnimationSpec<'doughnut'> { /** * If true, the chart will animate in with a rotation animation. This property is in the options.animation object. * @default true diff --git a/test/types/options.ts b/test/types/options.ts index a3b612f625d..21d0ccf17c7 100644 --- a/test/types/options.ts +++ b/test/types/options.ts @@ -1,4 +1,4 @@ -import { Chart } from '../../src/types.js'; +import { Chart, ChartOptions, ChartType, DoughnutControllerChartOptions } from '../../src/types.js'; const chart = new Chart('test', { type: 'bar', @@ -31,3 +31,15 @@ const chart = new Chart('test', { } } }); + +const doughnutOptions: DoughnutControllerChartOptions = { + circumference: 360, + cutout: '50%', + offset: 0, + radius: 100, + rotation: 0, + spacing: 0, + animation: false, +}; + +const chartOptions: ChartOptions = doughnutOptions; From 36d992027cfa6b51606568562e280b2ffb299e60 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 21 Nov 2024 20:47:57 +0100 Subject: [PATCH 075/105] Bump cross-spawn from 6.0.5 to 6.0.6 (#11959) Bumps [cross-spawn](https://github.com/moxystudio/node-cross-spawn) from 6.0.5 to 6.0.6. - [Changelog](https://github.com/moxystudio/node-cross-spawn/blob/v6.0.6/CHANGELOG.md) - [Commits](https://github.com/moxystudio/node-cross-spawn/compare/v6.0.5...v6.0.6) --- updated-dependencies: - dependency-name: cross-spawn dependency-type: indirect ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- pnpm-lock.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 9bb42c09348..22f6c2a011b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -7936,7 +7936,7 @@ packages: resolution: {integrity: sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==} engines: {node: '>= 4.0'} os: [darwin] - deprecated: The v1 package contains DANGEROUS / INSECURE binaries. Upgrade to safe fsevents v2 + deprecated: Upgrade to fsevents v2 to mitigate potential security issues requiresBuild: true dependencies: bindings: 1.5.0 From 79773b7243094017d757cbad7212ae5049cdcabf Mon Sep 17 00:00:00 2001 From: Jacco van den Berg Date: Thu, 21 Nov 2024 21:47:09 +0100 Subject: [PATCH 076/105] Show correct title in multi series pie chart example (#11962) Co-authored-by: Jacco van den Berg --- docs/samples/other-charts/multi-series-pie.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/samples/other-charts/multi-series-pie.md b/docs/samples/other-charts/multi-series-pie.md index 8332fc09bd2..66e8ce4bdde 100644 --- a/docs/samples/other-charts/multi-series-pie.md +++ b/docs/samples/other-charts/multi-series-pie.md @@ -74,9 +74,9 @@ const config = { }, tooltip: { callbacks: { - label: function(context) { - const labelIndex = (context.datasetIndex * 2) + context.dataIndex; - return context.chart.data.labels[labelIndex] + ': ' + context.formattedValue; + title: function(context) { + const labelIndex = (context[0].datasetIndex * 2) + context[0].dataIndex; + return context[0].chart.data.labels[labelIndex] + ': ' + context[0].formattedValue; } } } From 4d034a02759aaf2350ad288f7e5cd3afdb0b39cc Mon Sep 17 00:00:00 2001 From: Jacco van den Berg Date: Sun, 1 Dec 2024 10:49:55 +0100 Subject: [PATCH 077/105] Add documentation about setting default tooltip font (#11968) --- docs/configuration/tooltip.md | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/docs/configuration/tooltip.md b/docs/configuration/tooltip.md index 123f4c719ae..8e6e0539e60 100644 --- a/docs/configuration/tooltip.md +++ b/docs/configuration/tooltip.md @@ -4,6 +4,10 @@ Namespace: `options.plugins.tooltip`, the global options for the chart tooltips is defined in `Chart.defaults.plugins.tooltip`. +:::warning +The `titleFont`, `bodyFont` and `footerFont` options default to the `Chart.defaults.font` options. To change the overrides for those options, you will need to pass a function that returns a font object. See section about [overriding default fonts](#default-font-overrides) for extra information below. +::: + | Name | Type | Default | Description | ---- | ---- | ------- | ----------- | `enabled` | `boolean` | `true` | Are on-canvas tooltips enabled? @@ -420,7 +424,7 @@ Tooltip.positioners.myCustomPositioner = function(elements, eventPosition) { }; // Then, to use it... -new Chart.js(ctx, { +new Chart(ctx, { data, options: { plugins: { @@ -443,3 +447,15 @@ declare module 'chart.js' { } } ``` + +## Default font overrides + +By default, the `titleFont`, `bodyFont` and `footerFont` listen to the `Chart.defaults.font` options for setting its values. +Overriding these normally by accessing the object won't work because it is backed by a get function that looks to the default `font` namespace. +So you will need to override this get function with your own function that returns the desired config. + +Example: + +```javascript +Chart.defaults.plugins.tooltip.titleFont = () => ({ size: 20, lineHeight: 1.2, weight: 800 }); +``` \ No newline at end of file From 57b5c5b78fb2d8504f556bef6e4177735d9929ea Mon Sep 17 00:00:00 2001 From: Jacco van den Berg Date: Sun, 1 Dec 2024 17:35:13 +0100 Subject: [PATCH 078/105] Chore: bump version to 4.4.7 (#11969) --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 43d1e19254c..67b48bdf68e 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "chart.js", "homepage": "https://www.chartjs.org", "description": "Simple HTML5 charts using the canvas element.", - "version": "4.4.6", + "version": "4.4.7", "license": "MIT", "type": "module", "sideEffects": [ From 1e3d6e5711d60ed7f5212b62cfd3a6ce6ff4b503 Mon Sep 17 00:00:00 2001 From: Mariss Tubelis Date: Fri, 3 Jan 2025 01:17:24 +0100 Subject: [PATCH 079/105] Bugfix: span gaps over null values beyond scale limits (#11984) * Bugfix: spanGaps not working near min and max limits * Fix error when meta.dataset.options = null * Add tests for correct setting of line controller properties _drawStart and _drawCount * Fix spacing in controller line tests * Add tension to test * Add a better test case * Avoid the use of FindLastIndex * Avoid taking 0 for null value and improve naming --- src/helpers/helpers.extras.ts | 30 +++++++--- test/specs/controller.line.tests.js | 87 +++++++++++++++++++++++++++++ 2 files changed, 110 insertions(+), 7 deletions(-) diff --git a/src/helpers/helpers.extras.ts b/src/helpers/helpers.extras.ts index dc34ecf07f9..beabb6d96f3 100644 --- a/src/helpers/helpers.extras.ts +++ b/src/helpers/helpers.extras.ts @@ -91,25 +91,41 @@ export function _getStartAndCountOfVisiblePoints(meta: ChartMeta<'line' | 'scatt let count = pointCount; if (meta._sorted) { - const {iScale, _parsed} = meta; + const {iScale, vScale, _parsed} = meta; + const spanGaps = meta.dataset ? meta.dataset.options ? meta.dataset.options.spanGaps : null : null; const axis = iScale.axis; const {min, max, minDefined, maxDefined} = iScale.getUserBounds(); if (minDefined) { - start = _limitValue(Math.min( + start = Math.min( // @ts-expect-error Need to type _parsed _lookupByKey(_parsed, axis, min).lo, // @ts-expect-error Need to fix types on _lookupByKey - animationsDisabled ? pointCount : _lookupByKey(points, axis, iScale.getPixelForValue(min)).lo), - 0, pointCount - 1); + animationsDisabled ? pointCount : _lookupByKey(points, axis, iScale.getPixelForValue(min)).lo); + if (spanGaps) { + const distanceToDefinedLo = (_parsed + .slice(0, start + 1) + .reverse() + .findIndex( + point => point[vScale.axis] || point[vScale.axis] === 0)); + start -= Math.max(0, distanceToDefinedLo); + } + start = _limitValue(start, 0, pointCount - 1); } if (maxDefined) { - count = _limitValue(Math.max( + let end = Math.max( // @ts-expect-error Need to type _parsed _lookupByKey(_parsed, iScale.axis, max, true).hi + 1, // @ts-expect-error Need to fix types on _lookupByKey - animationsDisabled ? 0 : _lookupByKey(points, axis, iScale.getPixelForValue(max), true).hi + 1), - start, pointCount) - start; + animationsDisabled ? 0 : _lookupByKey(points, axis, iScale.getPixelForValue(max), true).hi + 1); + if (spanGaps) { + const distanceToDefinedHi = (_parsed + .slice(end - 1) + .findIndex( + point => point[vScale.axis] || point[vScale.axis] === 0)); + end += Math.max(0, distanceToDefinedHi); + } + count = _limitValue(end, start, pointCount) - start; } else { count = pointCount - start; } diff --git a/test/specs/controller.line.tests.js b/test/specs/controller.line.tests.js index 368627d68a0..3924a79887d 100644 --- a/test/specs/controller.line.tests.js +++ b/test/specs/controller.line.tests.js @@ -1071,6 +1071,93 @@ describe('Chart.controllers.line', function() { expect(visiblePoints.length).toBe(6); }, 500); + it('should correctly calc _drawStart and _drawCount when first points beyond scale limits are null and spanGaps=true', async() => { + var chart = window.acquireChart({ + type: 'line', + data: { + labels: [0, 10, 20, 30, 40, 50], + datasets: [{ + data: [3, null, 2, 3, null, 1.5], + spanGaps: true, + tension: 0.4 + }] + }, + options: { + scales: { + x: { + type: 'linear', + min: 11, + max: 40, + } + } + } + }); + + chart.update(); + var controller = chart.getDatasetMeta(0).controller; + + expect(controller._drawStart).toBe(0); + expect(controller._drawCount).toBe(6); + }, 500); + + it('should correctly calc _drawStart and _drawCount when all points beyond scale limits are null and spanGaps=true', async() => { + var chart = window.acquireChart({ + type: 'line', + data: { + labels: [0, 10, 20, 30, 40, 50], + datasets: [{ + data: [null, null, 2, 3, null, null], + spanGaps: true, + tension: 0.4 + }] + }, + options: { + scales: { + x: { + type: 'linear', + min: 11, + max: 40, + } + } + } + }); + + chart.update(); + var controller = chart.getDatasetMeta(0).controller; + + expect(controller._drawStart).toBe(1); + expect(controller._drawCount).toBe(4); + }, 500); + + it('should correctly calc _drawStart and _drawCount when spanGaps=false', async() => { + var chart = window.acquireChart({ + type: 'line', + data: { + labels: [0, 10, 20, 30, 40, 50], + datasets: [{ + data: [3, null, 2, 3, null, 1.5], + spanGaps: false, + tension: 0.4 + }] + }, + options: { + scales: { + x: { + type: 'linear', + min: 11, + max: 40, + } + } + } + }); + + chart.update(); + var controller = chart.getDatasetMeta(0).controller; + + expect(controller._drawStart).toBe(1); + expect(controller._drawCount).toBe(4); + }, 500); + it('should not override tooltip title and label callbacks', async() => { const chart = window.acquireChart({ type: 'line', From a77a63b16bc99fb588ca5252bfa62a09f32db2a6 Mon Sep 17 00:00:00 2001 From: Mariss Tubelis Date: Fri, 3 Jan 2025 16:50:56 +0100 Subject: [PATCH 080/105] Bugfix: return nearest non-null point on interaction when spanGaps=true (#11986) * First step in fixing the bug of spanGaps null point interaction * Complete bugfix of spanGaps null point interaction * Add two tests in core.interaction.tests for the bugfix change * Remove odd line break * Use isNullOrUndef helper for point value checks * Add 10 more test cases for nearest interaction when spanGaps=true --- src/core/core.interaction.js | 24 +++++++- src/helpers/helpers.extras.ts | 5 +- test/specs/core.interaction.tests.js | 90 ++++++++++++++++++++++++++++ 3 files changed, 115 insertions(+), 4 deletions(-) diff --git a/src/core/core.interaction.js b/src/core/core.interaction.js index c35f8d1ae08..8a716023651 100644 --- a/src/core/core.interaction.js +++ b/src/core/core.interaction.js @@ -1,7 +1,7 @@ import {_lookupByKey, _rlookupByKey} from '../helpers/helpers.collection.js'; import {getRelativePosition} from '../helpers/helpers.dom.js'; import {_angleBetween, getAngleFromPoint} from '../helpers/helpers.math.js'; -import {_isPointInArea} from '../helpers/index.js'; +import {_isPointInArea, isNullOrUndef} from '../helpers/index.js'; /** * @typedef { import('./core.controller.js').default } Chart @@ -22,10 +22,30 @@ import {_isPointInArea} from '../helpers/index.js'; function binarySearch(metaset, axis, value, intersect) { const {controller, data, _sorted} = metaset; const iScale = controller._cachedMeta.iScale; + const spanGaps = metaset.dataset ? metaset.dataset.options ? metaset.dataset.options.spanGaps : null : null; + if (iScale && axis === iScale.axis && axis !== 'r' && _sorted && data.length) { const lookupMethod = iScale._reversePixels ? _rlookupByKey : _lookupByKey; if (!intersect) { - return lookupMethod(data, axis, value); + const result = lookupMethod(data, axis, value); + if (spanGaps) { + const {vScale} = controller._cachedMeta; + const {_parsed} = metaset; + + const distanceToDefinedLo = (_parsed + .slice(0, result.lo + 1) + .reverse() + .findIndex( + point => !isNullOrUndef(point[vScale.axis]))); + result.lo -= Math.max(0, distanceToDefinedLo); + + const distanceToDefinedHi = (_parsed + .slice(result.hi - 1) + .findIndex( + point => !isNullOrUndef(point[vScale.axis]))); + result.hi += Math.max(0, distanceToDefinedHi); + } + return result; } else if (controller._sharedOptions) { // _sharedOptions indicates that each element has equal options -> equal proportions // So we can do a ranged binary search based on the range of first element and diff --git a/src/helpers/helpers.extras.ts b/src/helpers/helpers.extras.ts index beabb6d96f3..798e10c1e86 100644 --- a/src/helpers/helpers.extras.ts +++ b/src/helpers/helpers.extras.ts @@ -2,6 +2,7 @@ import type {ChartMeta, PointElement} from '../types/index.js'; import {_limitValue} from './helpers.math.js'; import {_lookupByKey} from './helpers.collection.js'; +import {isNullOrUndef} from './helpers.core.js'; export function fontString(pixelSize: number, fontStyle: string, fontFamily: string) { return fontStyle + ' ' + pixelSize + 'px ' + fontFamily; @@ -107,7 +108,7 @@ export function _getStartAndCountOfVisiblePoints(meta: ChartMeta<'line' | 'scatt .slice(0, start + 1) .reverse() .findIndex( - point => point[vScale.axis] || point[vScale.axis] === 0)); + point => !isNullOrUndef(point[vScale.axis]))); start -= Math.max(0, distanceToDefinedLo); } start = _limitValue(start, 0, pointCount - 1); @@ -122,7 +123,7 @@ export function _getStartAndCountOfVisiblePoints(meta: ChartMeta<'line' | 'scatt const distanceToDefinedHi = (_parsed .slice(end - 1) .findIndex( - point => point[vScale.axis] || point[vScale.axis] === 0)); + point => !isNullOrUndef(point[vScale.axis]))); end += Math.max(0, distanceToDefinedHi); } count = _limitValue(end, start, pointCount) - start; diff --git a/test/specs/core.interaction.tests.js b/test/specs/core.interaction.tests.js index bfd95ae352e..9d693f1488c 100644 --- a/test/specs/core.interaction.tests.js +++ b/test/specs/core.interaction.tests.js @@ -912,4 +912,94 @@ describe('Core.Interaction', function() { expect(elements).toContain(firstElement); }); }); + + const testCases = [ + { + data: [12, 19, null, null, null, null, 5, 2], + clickPointIndex: 0, + expectedNearestPointIndex: 0 + }, + { + data: [12, 19, null, null, null, null, 5, 2], + clickPointIndex: 1, + expectedNearestPointIndex: 1}, + { + data: [12, 19, null, null, null, null, 5, 2], + clickPointIndex: 2, + expectedNearestPointIndex: 1 + }, + { + data: [12, 19, null, null, null, null, 5, 2], + clickPointIndex: 3, + expectedNearestPointIndex: 1 + }, + { + data: [12, 19, null, null, null, null, 5, 2], + clickPointIndex: 4, + expectedNearestPointIndex: 6 + }, + { + data: [12, 19, null, null, null, null, 5, 2], + clickPointIndex: 5, + expectedNearestPointIndex: 6 + }, + { + data: [12, 19, null, null, null, null, 5, 2], + clickPointIndex: 6, + expectedNearestPointIndex: 6 + }, + { + data: [12, 19, null, null, null, null, 5, 2], + clickPointIndex: 7, + expectedNearestPointIndex: 7 + }, + { + data: [12, 0, null, null, null, null, 0, 2], + clickPointIndex: 3, + expectedNearestPointIndex: 1 + }, + { + data: [12, 0, null, null, null, null, 0, 2], + clickPointIndex: 4, + expectedNearestPointIndex: 6 + }, + { + data: [12, -1, null, null, null, null, -1, 2], + clickPointIndex: 3, + expectedNearestPointIndex: 1 + }, + { + data: [12, -1, null, null, null, null, -1, 2], + clickPointIndex: 4, + expectedNearestPointIndex: 6 + } + ]; + testCases.forEach(({data, clickPointIndex, expectedNearestPointIndex}, i) => { + it(`should select nearest non-null element with index ${expectedNearestPointIndex} when clicking on element with index ${clickPointIndex} in test case ${i + 1} if spanGaps=true`, function() { + const chart = window.acquireChart({ + type: 'line', + data: { + labels: [1, 2, 3, 4, 5, 6, 7, 8, 9], + datasets: [{ + data: data, + spanGaps: true, + }] + } + }); + chart.update(); + const meta = chart.getDatasetMeta(0); + const point = meta.data[clickPointIndex]; + + const evt = { + type: 'click', + chart: chart, + native: true, // needed otherwise things its a DOM event + x: point.x, + y: point.y, + }; + + const elements = Chart.Interaction.modes.nearest(chart, evt, {axis: 'x', intersect: false}).map(item => item.element); + expect(elements).toEqual([meta.data[expectedNearestPointIndex]]); + }); + }); }); From 97b564b718f06dfc6f01d573b7780fd0f93c8d40 Mon Sep 17 00:00:00 2001 From: Mariss Tubelis Date: Sun, 5 Jan 2025 15:42:33 +0100 Subject: [PATCH 081/105] Bugfix: Binary search wrapper returns non-existing index (#11991) --- src/core/core.interaction.js | 2 +- test/specs/core.interaction.tests.js | 20 ++++++++++++++++++++ 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/src/core/core.interaction.js b/src/core/core.interaction.js index 8a716023651..d84318b34d5 100644 --- a/src/core/core.interaction.js +++ b/src/core/core.interaction.js @@ -40,7 +40,7 @@ function binarySearch(metaset, axis, value, intersect) { result.lo -= Math.max(0, distanceToDefinedLo); const distanceToDefinedHi = (_parsed - .slice(result.hi - 1) + .slice(result.hi) .findIndex( point => !isNullOrUndef(point[vScale.axis]))); result.hi += Math.max(0, distanceToDefinedHi); diff --git a/test/specs/core.interaction.tests.js b/test/specs/core.interaction.tests.js index 9d693f1488c..ab6377dc94d 100644 --- a/test/specs/core.interaction.tests.js +++ b/test/specs/core.interaction.tests.js @@ -972,6 +972,26 @@ describe('Core.Interaction', function() { data: [12, -1, null, null, null, null, -1, 2], clickPointIndex: 4, expectedNearestPointIndex: 6 + }, + { + data: [null, 2], + clickPointIndex: 0, + expectedNearestPointIndex: 1 + }, + { + data: [2, null], + clickPointIndex: 1, + expectedNearestPointIndex: 0 + }, + { + data: [null, null, 2], + clickPointIndex: 0, + expectedNearestPointIndex: 2 + }, + { + data: [2, null, null], + clickPointIndex: 2, + expectedNearestPointIndex: 0 } ]; testCases.forEach(({data, clickPointIndex, expectedNearestPointIndex}, i) => { From b24cb2fd30596f28d801d1ac2e1ef598895bb6cc Mon Sep 17 00:00:00 2001 From: Prem Date: Tue, 14 Jan 2025 16:57:41 +0530 Subject: [PATCH 082/105] Update linear-step-size.md (#11997) hover: { mode: 'index', intersec: false }, corrected the spelling of intersect. --- docs/samples/scales/linear-step-size.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/samples/scales/linear-step-size.md b/docs/samples/scales/linear-step-size.md index da8905a0b6a..23c3c9e4c5e 100644 --- a/docs/samples/scales/linear-step-size.md +++ b/docs/samples/scales/linear-step-size.md @@ -106,7 +106,7 @@ const config = { }, hover: { mode: 'index', - intersec: false + intersect: false }, scales: { x: { From 246c5c78edd3a72de1ab3a4a0c4fc8b639d48c2e Mon Sep 17 00:00:00 2001 From: Ethan Shea Date: Tue, 21 Jan 2025 07:58:31 -0500 Subject: [PATCH 083/105] Correct broken link in animations.md (#12005) --- docs/configuration/animations.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/configuration/animations.md b/docs/configuration/animations.md index 3dcfd3b973f..c1abc45c658 100644 --- a/docs/configuration/animations.md +++ b/docs/configuration/animations.md @@ -127,7 +127,7 @@ These paths are valid under `defaults` for global configuration and `options` fo ## animation -The default configuration is defined here:
core.animations.js +The default configuration is defined here: core.animations.defaults.js Namespace: `options.animation` From f744621c9c6ed331d6fe81ac9744fa72bdb0700d Mon Sep 17 00:00:00 2001 From: Josh Kelley Date: Wed, 29 Jan 2025 05:32:29 -0500 Subject: [PATCH 084/105] Type fixes for time adapters (#12010) Specific changes: * `formats` is defined as an arbitrary record. In practice, it maps from `TimeUnit` and `'datetime'` to the specific date library's format strings. * `parse` and `format` were defined as requiring `TimeUnit`, but they actually take date library format strings. (E.g., it's up to the caller to look up format strings via `formats()` or user parameters.) * `endOf` is never passed `isoWeek` (`isoWeek` isn't a normal `TimeUnit`, it's only used as a special case to `startOf`), and [chartjs-adapter-date-fns](https://github.com/chartjs/chartjs-adapter-date-fns/blob/v3.0.0/src/index.js#L101) doesn't support it. * The constructor's options parameter is optional. * `weekday` is documented as allowing a boolean (true means to start on Monday). * `export default { _date: DateAdapterBase }` meant that `new _date()` returns a `DateAdapterBase` instance, whose methods take no parameters. Since it can be overridden at runtime, I replaced it with a more generic constructor + static methods. --- src/core/core.adapters.ts | 21 +++++++++++++-------- src/scales/scale.time.js | 2 +- 2 files changed, 14 insertions(+), 9 deletions(-) diff --git a/src/core/core.adapters.ts b/src/core/core.adapters.ts index 6c9b2b03248..282d13699f1 100644 --- a/src/core/core.adapters.ts +++ b/src/core/core.adapters.ts @@ -19,19 +19,19 @@ export interface DateAdapter { * Returns a map of time formats for the supported formatting units defined * in Unit as well as 'datetime' representing a detailed date/time string. */ - formats(this: DateAdapter): Record; + formats(this: DateAdapter): Record; /** * Parses the given `value` and return the associated timestamp. * @param value - the value to parse (usually comes from the data) * @param [format] - the expected data format */ - parse(this: DateAdapter, value: unknown, format?: TimeUnit): number | null; + parse(this: DateAdapter, value: unknown, format?: string): number | null; /** * Returns the formatted date in the specified `format` for a given `timestamp`. * @param timestamp - the timestamp to format * @param format - the date/time token */ - format(this: DateAdapter, timestamp: number, format: TimeUnit): string; + format(this: DateAdapter, timestamp: number, format: string): string; /** * Adds the specified `amount` of `unit` to the given `timestamp`. * @param timestamp - the input timestamp @@ -53,13 +53,13 @@ export interface DateAdapter { * @param [weekday] - the ISO day of the week with 1 being Monday * and 7 being Sunday (only needed if param *unit* is `isoWeek`). */ - startOf(this: DateAdapter, timestamp: number, unit: TimeUnit | 'isoWeek', weekday?: number): number; + startOf(this: DateAdapter, timestamp: number, unit: TimeUnit | 'isoWeek', weekday?: number | boolean): number; /** * Returns end of `unit` for the given `timestamp`. * @param timestamp - the input timestamp * @param unit - the unit as string */ - endOf(this: DateAdapter, timestamp: number, unit: TimeUnit | 'isoWeek'): number; + endOf(this: DateAdapter, timestamp: number, unit: TimeUnit): number; } function abstract(): T { @@ -92,14 +92,14 @@ class DateAdapterBase implements DateAdapter { readonly options: AnyObject; - constructor(options: AnyObject) { + constructor(options?: AnyObject) { this.options = options || {}; } // eslint-disable-next-line @typescript-eslint/no-empty-function init() {} - formats(): Record { + formats(): Record { return abstract(); } @@ -129,5 +129,10 @@ class DateAdapterBase implements DateAdapter { } export default { - _date: DateAdapterBase + _date: DateAdapterBase as { + new (options?: AnyObject): DateAdapter; + override( + members: Partial, 'options'>> + ): void; + } }; diff --git a/src/scales/scale.time.js b/src/scales/scale.time.js index 18493746659..f82d43ad72d 100644 --- a/src/scales/scale.time.js +++ b/src/scales/scale.time.js @@ -59,7 +59,7 @@ function parse(scale, input) { // Only parse if it's not a timestamp already if (!isFinite(value)) { value = typeof parser === 'string' - ? adapter.parse(value, /** @type {Unit} */ (parser)) + ? adapter.parse(value, parser) : adapter.parse(value); } From 370f6c385d648ab52f576824b9a22453fa4648f1 Mon Sep 17 00:00:00 2001 From: Josh Kelley Date: Thu, 30 Jan 2025 04:29:19 -0500 Subject: [PATCH 085/105] Fix helpers `Chart` type (#12012) helpers.dom.ts functions referenced the internal `Chart` JavaScript class rather than the published `Chart` TypeScript definition. This causes errors when outside code tries to call helper functions. The two `Chart` interfaces are incompatible - the `width`, `height`, and `currentDevicePixelRatio` properties are declared as readonly in the TS declaration but are manipulated by helpers.dom.ts functions, and helpers.dom.ts functions need to be invoked both by internal Chart.js code (which uses the JS class) and by outside code (which uses the TS types). To address this, I'm importing the JS version as `PrivateChart`. There may be a better solution. It's my understanding that the comment about "typedefs are auto-exported" is obsolete now that helpers.dom is a native TS file. Fixes #11153 --- src/helpers/helpers.dom.ts | 22 +++++++--------------- test/types/helpers/dom.ts | 11 +++++++++++ 2 files changed, 18 insertions(+), 15 deletions(-) create mode 100644 test/types/helpers/dom.ts diff --git a/src/helpers/helpers.dom.ts b/src/helpers/helpers.dom.ts index e06fefe94a6..bf88ac7d2f0 100644 --- a/src/helpers/helpers.dom.ts +++ b/src/helpers/helpers.dom.ts @@ -1,16 +1,8 @@ import type {ChartArea, Scale} from '../types/index.js'; -import type Chart from '../core/core.controller.js'; -import type {ChartEvent} from '../types.js'; +import type PrivateChart from '../core/core.controller.js'; +import type {Chart, ChartEvent} from '../types.js'; import {INFINITY} from './helpers.math.js'; -/** - * Note: typedefs are auto-exported, so use a made-up `dom` namespace where - * necessary to avoid duplicates with `export * from './helpers`; see - * https://github.com/microsoft/TypeScript/issues/46011 - * @typedef { import('../core/core.controller.js').default } dom.Chart - * @typedef { import('../../types').ChartEvent } ChartEvent - */ - /** * @private */ @@ -112,7 +104,7 @@ function getCanvasPosition( export function getRelativePosition( event: Event | ChartEvent | TouchEvent | MouseEvent, - chart: Chart + chart: Chart | PrivateChart ): { x: number; y: number } { if ('native' in event) { return event; @@ -214,7 +206,7 @@ export function getMaximumSize( * @returns True if the canvas context size or transformation has changed. */ export function retinaScale( - chart: Chart, + chart: Chart | PrivateChart, forceRatio: number, forceStyle?: boolean ): boolean | void { @@ -222,8 +214,8 @@ export function retinaScale( const deviceHeight = Math.floor(chart.height * pixelRatio); const deviceWidth = Math.floor(chart.width * pixelRatio); - chart.height = Math.floor(chart.height); - chart.width = Math.floor(chart.width); + (chart as PrivateChart).height = Math.floor(chart.height); + (chart as PrivateChart).width = Math.floor(chart.width); const canvas = chart.canvas; @@ -238,7 +230,7 @@ export function retinaScale( if (chart.currentDevicePixelRatio !== pixelRatio || canvas.height !== deviceHeight || canvas.width !== deviceWidth) { - chart.currentDevicePixelRatio = pixelRatio; + (chart as PrivateChart).currentDevicePixelRatio = pixelRatio; canvas.height = deviceHeight; canvas.width = deviceWidth; chart.ctx.setTransform(pixelRatio, 0, 0, pixelRatio, 0, 0); diff --git a/test/types/helpers/dom.ts b/test/types/helpers/dom.ts new file mode 100644 index 00000000000..dc1c44f5066 --- /dev/null +++ b/test/types/helpers/dom.ts @@ -0,0 +1,11 @@ +import { getRelativePosition } from '../../../src/helpers/helpers.dom.js'; +import { Chart, ChartOptions } from '../../../src/types.js'; + +const chart = new Chart('test', { + type: 'line', + data: { + datasets: [] + } +}); + +getRelativePosition(new MouseEvent('click'), chart); From 2f425290ee077d9d013af77fa978d6b6d6885634 Mon Sep 17 00:00:00 2001 From: Josh Kelley Date: Sun, 16 Feb 2025 12:24:26 -0500 Subject: [PATCH 086/105] [fix] Handle non-primitives in isNumber (#12034) While investigating https://github.com/chartjs/chartjs-plugin-zoom/issues/928, I found that `isNonPrimitive` will throw TypeError on a Moment.js object after it's passed through Chart.js's options proxy, because the object has its `Symbol.toPrimitive`, `toString`, and `valueOf` all set to null. (See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String#string_coercion for background reading.) Since isNumber appears to be a low-level function that can take any arbitrary input, it seems worth letting it handle this case. --- src/helpers/helpers.math.ts | 9 ++++++++- test/specs/helpers.math.tests.js | 2 ++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/helpers/helpers.math.ts b/src/helpers/helpers.math.ts index da463aeb04e..0fd2a95132c 100644 --- a/src/helpers/helpers.math.ts +++ b/src/helpers/helpers.math.ts @@ -57,8 +57,15 @@ export function _factorize(value: number) { return result; } +/** + * Verifies that attempting to coerce n to string or number won't throw a TypeError. + */ +function isNonPrimitive(n: unknown) { + return typeof n === 'symbol' || (typeof n === 'object' && n !== null && !(Symbol.toPrimitive in n || 'toString' in n || 'valueOf' in n)); +} + export function isNumber(n: unknown): n is number { - return !isNaN(parseFloat(n as string)) && isFinite(n as number); + return !isNonPrimitive(n) && !isNaN(parseFloat(n as string)) && isFinite(n as number); } export function almostWhole(x: number, epsilon: number) { diff --git a/test/specs/helpers.math.tests.js b/test/specs/helpers.math.tests.js index b6b8e125f09..938742959da 100644 --- a/test/specs/helpers.math.tests.js +++ b/test/specs/helpers.math.tests.js @@ -103,6 +103,8 @@ describe('Chart.helpers.math', function() { expect(math.isNumber(NaN)).toBe(false); expect(math.isNumber(undefined)).toBe(false); expect(math.isNumber('cbc')).toBe(false); + expect(math.isNumber(Symbol())).toBe(false); + expect(math.isNumber(Object.create(null))).toBe(false); }); it('should compute shortest distance between angles', function() { From ebe20add5373985d0463c928c51d7fc7fe5b7846 Mon Sep 17 00:00:00 2001 From: Josh Kelley Date: Tue, 18 Feb 2025 13:36:35 -0500 Subject: [PATCH 087/105] Export ...ParsedData interfaces (#12035) Otherwise, trying to inherit from DatasetController in a TypeScript project may result in TypeScript errors similar to the following: > error TS9006: Declaration emit for this file requires using private name 'RadialParsedData' from module '"/Users/joshkel/src/app/node_modules/chart.js/dist/types/index"'. An explicit type annotation may unblock declaration emit. --- src/types/index.d.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/types/index.d.ts b/src/types/index.d.ts index c59a39c4581..14461328a92 100644 --- a/src/types/index.d.ts +++ b/src/types/index.d.ts @@ -3643,7 +3643,7 @@ export interface CartesianParsedData extends Point { } } -interface BarParsedData extends CartesianParsedData { +export interface BarParsedData extends CartesianParsedData { // Only specified if floating bars are show _custom?: { barStart: number; @@ -3655,12 +3655,12 @@ interface BarParsedData extends CartesianParsedData { } } -interface BubbleParsedData extends CartesianParsedData { +export interface BubbleParsedData extends CartesianParsedData { // The bubble radius value _custom: number; } -interface RadialParsedData { +export interface RadialParsedData { r: number; } From 32c8032e3f8e0c91edfb50cadbd612da88fc26cd Mon Sep 17 00:00:00 2001 From: Evert Timberg Date: Wed, 19 Feb 2025 10:37:15 -0500 Subject: [PATCH 088/105] chore: bump to v4.4.8 (#12036) --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 67b48bdf68e..81e031b56d0 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "chart.js", "homepage": "https://www.chartjs.org", "description": "Simple HTML5 charts using the canvas element.", - "version": "4.4.7", + "version": "4.4.8", "license": "MIT", "type": "module", "sideEffects": [ From 44908f546f25458ca12c9245f6e260b06d57f0f8 Mon Sep 17 00:00:00 2001 From: Josh Kelley Date: Tue, 25 Feb 2025 11:15:48 -0500 Subject: [PATCH 089/105] Update docs (#12037) * Update docs Grammar and style: "TypeScript", add articles, etc. Add docs covering the `Array[]` version of data. Please review and let me know if I've made any mistakes. Fix an apparent mistake in the `parsing: false` description of category axes: I believe it's trying to say that _strings_ would be a mistake. * Reword based on feedback and further testing --- docs/general/data-structures.md | 33 +++++++++++++++++++++++++-------- 1 file changed, 25 insertions(+), 8 deletions(-) diff --git a/docs/general/data-structures.md b/docs/general/data-structures.md index 5c95e560ca6..39074070ab5 100644 --- a/docs/general/data-structures.md +++ b/docs/general/data-structures.md @@ -2,8 +2,8 @@ The `data` property of a dataset can be passed in various formats. By default, that `data` is parsed using the associated chart type and scales. -If the `labels` property of the main `data` property is used, it has to contain the same amount of elements as the dataset with the most values. These labels are used to label the index axis (default x axes). The values for the labels have to be provided in an array. -The provided labels can be of the type string or number to be rendered correctly. In case you want multiline labels you can provide an array with each line as one entry in the array. +If the `labels` property of the main `data` property is used, it has to contain the same amount of elements as the dataset with the most values. These labels are used to label the index axis (default `x` axis). The values for the labels have to be provided in an array. +The provided labels can be of the type string or number to be rendered correctly. If you want multiline labels, you can provide an array with each line as one entry in the array. ## Primitive[] @@ -19,7 +19,22 @@ const cfg = { } ``` -When the `data` is an array of numbers, values from `labels` array at the same index are used for the index axis (`x` for vertical, `y` for horizontal charts). +When `data` is an array of numbers, values from the `labels` array at the same index are used for the index axis (`x` for vertical, `y` for horizontal charts). + +## Array[] + +```javascript +const cfg = { + type: 'line', + data: { + datasets: [{ + data: [[10, 20], [15, null], [20, 10]] + }] + } +} +``` + +When `data` is an array of arrays (or what TypeScript would call tuples), the first element of each tuple is the index (`x` for vertical, `y` for horizontal charts) and the second element is the value (`y` by default). ## Object[] @@ -58,7 +73,9 @@ const cfg = { This is also the internal format used for parsed data. In this mode, parsing can be disabled by specifying `parsing: false` at chart options or dataset. If parsing is disabled, data must be sorted and in the formats the associated chart type and scales use internally. -The values provided must be parsable by the associated scales or in the internal format of the associated scales. A common mistake would be to provide integers for the `category` scale, which uses integers as an internal format, where each integer represents an index in the labels array. `null` can be used for skipped values. +The values provided must be parsable by the associated scales or in the internal format of the associated scales. For example, the `category` scale uses integers as an internal format, where each integer represents an index in the labels array; but, if parsing is enabled, it can also parse string labels. + +`null` can be used for skipped values. ## Object[] using custom properties @@ -117,7 +134,7 @@ const cfg = { ``` :::warning -When using object notation in a radar chart, you still need a labels array with labels for the chart to show correctly. +When using object notation in a radar chart, you still need a `labels` array with labels for the chart to show correctly. ::: ## Object @@ -136,7 +153,7 @@ const cfg = { } ``` -In this mode, property name is used for `index` scale and value for `value` scale. For vertical charts, index scale is `x` and value scale is `y`. +In this mode, the property name is used for the `index` scale and value for the `value` scale. For vertical charts, the index scale is `x` and value scale is `y`. ## Dataset Configuration @@ -180,9 +197,9 @@ const cfg = { }; ``` -## Typescript +## TypeScript -When using typescript, if you want to use a data structure that is not the default data structure, you will need to pass it to the type interface when instantiating the data variable. +When using TypeScript, if you want to use a data structure that is not the default data structure, you will need to pass it to the type interface when instantiating the data variable. ```ts import {ChartData} from 'chart.js'; From a647e0d007ff43e9ddc397603cc9ba1547ca0791 Mon Sep 17 00:00:00 2001 From: Josh Kelley Date: Tue, 25 Feb 2025 11:15:56 -0500 Subject: [PATCH 090/105] Add docs on using from Node.js (#12039) This has come up a couple of times in Discord, so I thought it would be helpful to have official docs. --- docs/.vuepress/config.ts | 1 + docs/getting-started/index.md | 7 ++-- docs/getting-started/using-from-node-js.md | 38 ++++++++++++++++++++++ 3 files changed, 43 insertions(+), 3 deletions(-) create mode 100644 docs/getting-started/using-from-node-js.md diff --git a/docs/.vuepress/config.ts b/docs/.vuepress/config.ts index 645754254c1..ccb310094cf 100644 --- a/docs/.vuepress/config.ts +++ b/docs/.vuepress/config.ts @@ -294,6 +294,7 @@ export default defineConfig({ 'getting-started/installation', 'getting-started/integration', 'getting-started/usage', + 'getting-started/using-from-node-js', ] }, { diff --git a/docs/getting-started/index.md b/docs/getting-started/index.md index 232f3d40d5b..6df4d1f57bf 100644 --- a/docs/getting-started/index.md +++ b/docs/getting-started/index.md @@ -3,8 +3,9 @@ Let's get started with Chart.js! * **[Follow a step-by-step guide](./usage) to get up to speed with Chart.js** -* [Install Chart.js](./installation) from npm or a CDN +* [Install Chart.js](./installation) from npm or a CDN * [Integrate Chart.js](./integration) with bundlers, loaders, and front-end frameworks +* [Use Chart.js from Node.js](./using-from-node-js) Alternatively, see the example below or check [samples](../samples). @@ -63,7 +64,7 @@ Now that we have a canvas, we can include Chart.js from a CDN. ``` -Finally, we can create a chart. We add a script that acquires the `myChart` canvas element and instantiates `new Chart` with desired configuration: `bar` chart type, labels, data points, and options. +Finally, we can create a chart. We add a script that acquires the `myChart` canvas element and instantiates `new Chart` with desired configuration: `bar` chart type, labels, data points, and options. ```html ``` -You can see all the ways to use Chart.js in the [step-by-step guide](./usage). \ No newline at end of file +You can see all the ways to use Chart.js in the [step-by-step guide](./usage). diff --git a/docs/getting-started/using-from-node-js.md b/docs/getting-started/using-from-node-js.md new file mode 100644 index 00000000000..90d8959a7be --- /dev/null +++ b/docs/getting-started/using-from-node-js.md @@ -0,0 +1,38 @@ +# Using from Node.js + +You can use Chart.js in Node.js for server-side generation of plots with help from an NPM package such as [node-canvas](https://github.com/Automattic/node-canvas) or [skia-canvas](https://skia-canvas.org/). + +Sample usage: + +```js +import {CategoryScale, Chart, LinearScale, LineController, LineElement, PointElement} from 'chart.js'; +import {Canvas} from 'skia-canvas'; +import fsp from 'node:fs/promises'; + +Chart.register([ + CategoryScale, + LineController, + LineElement, + LinearScale, + PointElement +]); + +const canvas = new Canvas(400, 300); +const chart = new Chart( + canvas, // TypeScript needs "as any" here + { + type: 'line', + data: { + labels: ['Red', 'Blue', 'Yellow', 'Green', 'Purple', 'Orange'], + datasets: [{ + label: '# of Votes', + data: [12, 19, 3, 5, 2, 3], + borderColor: 'red' + }] + } + } +); +const pngBuffer = await canvas.toBuffer('png', {matte: 'white'}); +await fsp.writeFile('output.png', pngBuffer); +chart.destroy(); +``` From 3dffb4fb8ebb529c0447d0ed6aa7e08479a591ed Mon Sep 17 00:00:00 2001 From: Adrian Cerbaro Date: Mon, 14 Apr 2025 10:41:14 -0300 Subject: [PATCH 091/105] fix: respect dataset clipping area when filling line charts (#12057) * fix(plugin.filler): respect dataset clipping area when filling line charts The filling area must respect the dataset's clipping area when clipping is enabled. Before this change, the line would be clipped according to the dataset's area but the fill would overlap other datasets. Closes #12052 * chore(plugin.filler): use @ts-expect-error instead of @ts-ignore --- src/core/core.controller.js | 36 ++------ src/helpers/helpers.dataset.ts | 33 ++++++++ src/helpers/index.ts | 1 + src/plugins/plugin.filler/filler.drawing.js | 49 ++++++++--- src/types/index.d.ts | 10 +++ .../line/dataset/clip-bounds-x-off.js | 78 ++++++++++++++++++ .../line/dataset/clip-bounds-x-off.png | Bin 0 -> 37985 bytes .../line/dataset/clip-bounds-x.js | 77 +++++++++++++++++ .../line/dataset/clip-bounds-x.png | Bin 0 -> 31501 bytes .../line/dataset/clip-bounds-y-off.js | 77 +++++++++++++++++ .../line/dataset/clip-bounds-y-off.png | Bin 0 -> 36728 bytes .../line/dataset/clip-bounds-y.js | 76 +++++++++++++++++ .../line/dataset/clip-bounds-y.png | Bin 0 -> 30206 bytes 13 files changed, 395 insertions(+), 42 deletions(-) create mode 100644 src/helpers/helpers.dataset.ts create mode 100644 test/fixtures/plugin.filler/line/dataset/clip-bounds-x-off.js create mode 100644 test/fixtures/plugin.filler/line/dataset/clip-bounds-x-off.png create mode 100644 test/fixtures/plugin.filler/line/dataset/clip-bounds-x.js create mode 100644 test/fixtures/plugin.filler/line/dataset/clip-bounds-x.png create mode 100644 test/fixtures/plugin.filler/line/dataset/clip-bounds-y-off.js create mode 100644 test/fixtures/plugin.filler/line/dataset/clip-bounds-y-off.png create mode 100644 test/fixtures/plugin.filler/line/dataset/clip-bounds-y.js create mode 100644 test/fixtures/plugin.filler/line/dataset/clip-bounds-y.png diff --git a/src/core/core.controller.js b/src/core/core.controller.js index 47b238da8aa..e0408ae212a 100644 --- a/src/core/core.controller.js +++ b/src/core/core.controller.js @@ -6,9 +6,8 @@ import {_detectPlatform} from '../platform/index.js'; import PluginService from './core.plugins.js'; import registry from './core.registry.js'; import Config, {determineAxis, getIndexAxis} from './core.config.js'; -import {retinaScale, _isDomSupported} from '../helpers/helpers.dom.js'; import {each, callback as callCallback, uid, valueOrDefault, _elementsEqual, isNullOrUndef, setsEqual, defined, isFunction, _isClickEvent} from '../helpers/helpers.core.js'; -import {clearCanvas, clipArea, createContext, unclipArea, _isPointInArea} from '../helpers/index.js'; +import {clearCanvas, clipArea, createContext, unclipArea, _isPointInArea, _isDomSupported, retinaScale, getDatasetClipArea} from '../helpers/index.js'; // @ts-ignore import {version} from '../../package.json'; import {debounce} from '../helpers/helpers.extras.js'; @@ -101,23 +100,6 @@ function determineLastEvent(e, lastEvent, inChartArea, isClick) { return e; } -function getSizeForArea(scale, chartArea, field) { - return scale.options.clip ? scale[field] : chartArea[field]; -} - -function getDatasetArea(meta, chartArea) { - const {xScale, yScale} = meta; - if (xScale && yScale) { - return { - left: getSizeForArea(xScale, chartArea, 'left'), - right: getSizeForArea(xScale, chartArea, 'right'), - top: getSizeForArea(yScale, chartArea, 'top'), - bottom: getSizeForArea(yScale, chartArea, 'bottom') - }; - } - return chartArea; -} - class Chart { static defaults = defaults; @@ -800,31 +782,25 @@ class Chart { */ _drawDataset(meta) { const ctx = this.ctx; - const clip = meta._clip; - const useClip = !clip.disabled; - const area = getDatasetArea(meta, this.chartArea); const args = { meta, index: meta.index, cancelable: true }; + // @ts-expect-error + const clip = getDatasetClipArea(this, meta); if (this.notifyPlugins('beforeDatasetDraw', args) === false) { return; } - if (useClip) { - clipArea(ctx, { - left: clip.left === false ? 0 : area.left - clip.left, - right: clip.right === false ? this.width : area.right + clip.right, - top: clip.top === false ? 0 : area.top - clip.top, - bottom: clip.bottom === false ? this.height : area.bottom + clip.bottom - }); + if (clip) { + clipArea(ctx, clip); } meta.controller.draw(); - if (useClip) { + if (clip) { unclipArea(ctx); } diff --git a/src/helpers/helpers.dataset.ts b/src/helpers/helpers.dataset.ts new file mode 100644 index 00000000000..000dcfe1977 --- /dev/null +++ b/src/helpers/helpers.dataset.ts @@ -0,0 +1,33 @@ +import type {Chart, ChartArea, ChartMeta, Scale, TRBL} from '../types/index.js'; + +function getSizeForArea(scale: Scale, chartArea: ChartArea, field: keyof ChartArea) { + return scale.options.clip ? scale[field] : chartArea[field]; +} + +function getDatasetArea(meta: ChartMeta, chartArea: ChartArea): TRBL { + const {xScale, yScale} = meta; + if (xScale && yScale) { + return { + left: getSizeForArea(xScale, chartArea, 'left'), + right: getSizeForArea(xScale, chartArea, 'right'), + top: getSizeForArea(yScale, chartArea, 'top'), + bottom: getSizeForArea(yScale, chartArea, 'bottom') + }; + } + return chartArea; +} + +export function getDatasetClipArea(chart: Chart, meta: ChartMeta): TRBL | false { + const clip = meta._clip; + if (clip.disabled) { + return false; + } + const area = getDatasetArea(meta, chart.chartArea); + + return { + left: clip.left === false ? 0 : area.left - (clip.left === true ? 0 : clip.left), + right: clip.right === false ? chart.width : area.right + (clip.right === true ? 0 : clip.right), + top: clip.top === false ? 0 : area.top - (clip.top === true ? 0 : clip.top), + bottom: clip.bottom === false ? chart.height : area.bottom + (clip.bottom === true ? 0 : clip.bottom) + }; +} diff --git a/src/helpers/index.ts b/src/helpers/index.ts index 1917ce740a1..9fde7b85951 100644 --- a/src/helpers/index.ts +++ b/src/helpers/index.ts @@ -13,3 +13,4 @@ export * from './helpers.options.js'; export * from './helpers.math.js'; export * from './helpers.rtl.js'; export * from './helpers.segment.js'; +export * from './helpers.dataset.js'; diff --git a/src/plugins/plugin.filler/filler.drawing.js b/src/plugins/plugin.filler/filler.drawing.js index 2e2fbd2b99e..9abb513cff0 100644 --- a/src/plugins/plugin.filler/filler.drawing.js +++ b/src/plugins/plugin.filler/filler.drawing.js @@ -1,35 +1,37 @@ -import {clipArea, unclipArea} from '../../helpers/index.js'; +import {clipArea, unclipArea, getDatasetClipArea} from '../../helpers/index.js'; import {_findSegmentEnd, _getBounds, _segments} from './filler.segment.js'; import {_getTarget} from './filler.target.js'; export function _drawfill(ctx, source, area) { const target = _getTarget(source); - const {line, scale, axis} = source; + const {chart, index, line, scale, axis} = source; const lineOpts = line.options; const fillOption = lineOpts.fill; const color = lineOpts.backgroundColor; const {above = color, below = color} = fillOption || {}; + const meta = chart.getDatasetMeta(index); + const clip = getDatasetClipArea(chart, meta); if (target && line.points.length) { clipArea(ctx, area); - doFill(ctx, {line, target, above, below, area, scale, axis}); + doFill(ctx, {line, target, above, below, area, scale, axis, clip}); unclipArea(ctx); } } function doFill(ctx, cfg) { - const {line, target, above, below, area, scale} = cfg; + const {line, target, above, below, area, scale, clip} = cfg; const property = line._loop ? 'angle' : cfg.axis; ctx.save(); if (property === 'x' && below !== above) { clipVertical(ctx, target, area.top); - fill(ctx, {line, target, color: above, scale, property}); + fill(ctx, {line, target, color: above, scale, property, clip}); ctx.restore(); ctx.save(); clipVertical(ctx, target, area.bottom); } - fill(ctx, {line, target, color: below, scale, property}); + fill(ctx, {line, target, color: below, scale, property, clip}); ctx.restore(); } @@ -65,7 +67,7 @@ function clipVertical(ctx, target, clipY) { } function fill(ctx, cfg) { - const {line, target, property, color, scale} = cfg; + const {line, target, property, color, scale, clip} = cfg; const segments = _segments(line, target, property); for (const {source: src, target: tgt, start, end} of segments) { @@ -75,7 +77,7 @@ function fill(ctx, cfg) { ctx.save(); ctx.fillStyle = backgroundColor; - clipBounds(ctx, scale, notShape && _getBounds(property, start, end)); + clipBounds(ctx, scale, clip, notShape && _getBounds(property, start, end)); ctx.beginPath(); @@ -103,12 +105,35 @@ function fill(ctx, cfg) { } } -function clipBounds(ctx, scale, bounds) { - const {top, bottom} = scale.chart.chartArea; +function clipBounds(ctx, scale, clip, bounds) { + const chartArea = scale.chart.chartArea; const {property, start, end} = bounds || {}; - if (property === 'x') { + + if (property === 'x' || property === 'y') { + let left, top, right, bottom; + + if (property === 'x') { + left = start; + top = chartArea.top; + right = end; + bottom = chartArea.bottom; + } else { + left = chartArea.left; + top = start; + right = chartArea.right; + bottom = end; + } + ctx.beginPath(); - ctx.rect(start, top, end - start, bottom - top); + + if (clip) { + left = Math.max(left, clip.left); + right = Math.min(right, clip.right); + top = Math.max(top, clip.top); + bottom = Math.min(bottom, clip.bottom); + } + + ctx.rect(left, top, right - left, bottom - top); ctx.clip(); } } diff --git a/src/types/index.d.ts b/src/types/index.d.ts index 14461328a92..807fe820879 100644 --- a/src/types/index.d.ts +++ b/src/types/index.d.ts @@ -429,6 +429,15 @@ export declare const RadarController: ChartComponent & { prototype: RadarController; new (chart: Chart, datasetIndex: number): RadarController; }; + +interface ChartMetaClip { + left: number | boolean; + top: number | boolean; + right: number | boolean; + bottom: number | boolean; + disabled: boolean; +} + interface ChartMetaCommon { type: string; controller: DatasetController; @@ -462,6 +471,7 @@ interface ChartMetaCommon v - 10), + fill: '1', + borderColor: 'rgb(255, 0, 0)', + backgroundColor: 'rgba(255, 0, 0, 0.25)', + xAxisID: 'x1', + }, + { + data: values, + fill: false, + borderColor: 'rgb(255, 0, 0)', + xAxisID: 'x1', + }, + { + data: values, + fill: false, + borderColor: 'rgb(0, 0, 255)', + xAxisID: 'x2', + }, + { + data: values.map(v => v + 10), + fill: '-1', + borderColor: 'rgb(0, 0, 255)', + backgroundColor: 'rgba(0, 0, 255, 0.25)', + xAxisID: 'x2', + } + ] + }, + options: { + clip: false, + indexAxis: 'y', + animation: false, + responsive: false, + plugins: { + legend: false, + title: false, + tooltip: false + }, + elements: { + point: { + radius: 0 + }, + line: { + cubicInterpolationMode: 'monotone', + borderColor: 'transparent', + tension: 0 + } + }, + scales: { + x2: { + axis: 'x', + stack: 'stack', + max: 80, + display: false, + }, + x1: { + min: 50, + axis: 'x', + stack: 'stack', + display: false, + }, + y: { + display: false, + } + } + } + }, +}; diff --git a/test/fixtures/plugin.filler/line/dataset/clip-bounds-x-off.png b/test/fixtures/plugin.filler/line/dataset/clip-bounds-x-off.png new file mode 100644 index 0000000000000000000000000000000000000000..f050a4759f3f09f467c6f78b649d734e15074e4d GIT binary patch literal 37985 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 literal 0 HcmV?d00001 diff --git a/test/fixtures/plugin.filler/line/dataset/clip-bounds-x.js b/test/fixtures/plugin.filler/line/dataset/clip-bounds-x.js new file mode 100644 index 00000000000..0ba25ac3122 --- /dev/null +++ b/test/fixtures/plugin.filler/line/dataset/clip-bounds-x.js @@ -0,0 +1,77 @@ +const labels = [1, 2, 3, 4, 5, 6, 7]; +const values = [65, 59, 80, 81, 56, 55, 40]; + +module.exports = { + description: 'https://github.com/chartjs/Chart.js/issues/12052', + config: { + type: 'line', + data: { + labels, + datasets: [ + { + data: values.map(v => v - 10), + fill: '1', + borderColor: 'rgb(255, 0, 0)', + backgroundColor: 'rgba(255, 0, 0, 0.25)', + xAxisID: 'x1', + }, + { + data: values, + fill: false, + borderColor: 'rgb(255, 0, 0)', + xAxisID: 'x1', + }, + { + data: values, + fill: false, + borderColor: 'rgb(0, 0, 255)', + xAxisID: 'x2', + }, + { + data: values.map(v => v + 10), + fill: '-1', + borderColor: 'rgb(0, 0, 255)', + backgroundColor: 'rgba(0, 0, 255, 0.25)', + xAxisID: 'x2', + } + ] + }, + options: { + indexAxis: 'y', + animation: false, + responsive: false, + plugins: { + legend: false, + title: false, + tooltip: false + }, + elements: { + point: { + radius: 0 + }, + line: { + cubicInterpolationMode: 'monotone', + borderColor: 'transparent', + tension: 0 + } + }, + scales: { + x2: { + axis: 'x', + stack: 'stack', + max: 80, + display: false, + }, + x1: { + min: 50, + axis: 'x', + stack: 'stack', + display: false, + }, + y: { + display: false, + } + } + } + }, +}; diff --git a/test/fixtures/plugin.filler/line/dataset/clip-bounds-x.png b/test/fixtures/plugin.filler/line/dataset/clip-bounds-x.png new file mode 100644 index 0000000000000000000000000000000000000000..4f1dfdd6cab0f1f18755ef07ef42b94423cee99d GIT binary patch literal 31501 zcmZU4by$>b)Bf(Vz|u>HG}1~V4NHS`3DSsypn%fNE+8Ns0*aK{s{rWaDX32 z-lG@553rlQssgCIpMD(#Vg{)z$s2lGZe`##d#)VawAK+mgC&q@(W&L@vMPQmGylKA>5&aax<*~8LP7yGb288r_!tG_PYVQ0c8W2 z)1ZCXftHEJ@xZKr?Mur|Q}9R9=TOv{hV^4aPz&Xm1)H---P$>t3{8aQWxgtvFz)>7 z8d^a0C4k@JngA`;`BneEu?0;%%mi9bH_3&zdhz&o6b(v{1>WgyVKol>iHoYodS!Zn z-bLL#PW}4@){!qO)gkBMq8d`RZ#7NKU^}NksPM^wETr!br!$QhYlU(EGZ|-87%f;3> zHs*K#Bp)$#f$hzvjUNlCSib~BMH87?c{@TEUqp$`ejT2>#+xKOvx*xuB@t)t@asdu z-e5LOuSjdL`!!!*Q%!O#(J*19CtYFqE9>hp!u|Oct#`oWpgBTOR)PH!%+g|)dq;KQ z>}S5BAyj^<{uL9>5h7t5Pu?XZ<11_eG@ymbAT*DE9q$MEco)MDtMuvoGU>r)4Vm}L z#)IzcpHx7KwZPx>jysB7FhTTi)LvFOHj@qId?$r5)Ka|#+wByKPpcyc-{Bi5Ytyu! zUPq2}j~F3$IExt7lgpL70U-#!e{5+2``z8wc(;NM(C`d z#CKMGZCg(IP-1zafuCkdK&+w<*y3d%9H8F?0;!GKbUYoxivA7GD7~Ca^Ls`d0K z9qS&D*Uy=i0Cu*)d%%i*EzTv4<L#uCvw>btB?Yzz8us(W!KncRZ5y_x1^ay}XZI?dU6uT z=>BFPyrR!s;dN2ajnn(ZhZUzRXvGJu47+HNY%1pCG4JfzhKRT)54qAdR3 zqV`oyBuJ&-aN2Ml_m+$aswPD)bVZtm;c~8u5x!E6MNQhX3CID9@(+q8MHOyaI}!A` zy5N4q(+~KK$);9uS1gg5TRB0wh@A9##%}8WPgV?JnBuqz@u7(IPu0Hca4!`xY^B z+CRKb-P?Bso@4(U8|UUQU`$V+$nDL;a@Q^soLHXRZBRx-t)2Ie#yH>+JV%!Z$Pz#L zQ3sYnz-Yji82t5Vv3zTG-)cyx_DLM)Le`v-2=OeTKiiU0mMqPHv<)tYm0dWMU{Mys2*Ml?J^!&+4 z{T;XRlpvD5Qi{GFu;<4fqWN7KlsQ}g+|6$A_>7jxxH{;%aQKAt8nbJ^aPddH2=`O< zQeSN=HKN|vnQx}0CZdWeT2w!)HDvJj=mS!d ztGksprsprvU@h;V`LtceqYItM6}aViHovWfB(W#S7;BxrsoG~bGEC3dEPgYWM35d$ zAx+ZpF0>6!=-h#A^07T=Y*uN^k6R6$h)k&xn~P1A4Ko6q|& z?dY5&epSWE3hcm`UvCsnG1G5$TGiq-0}drldrNE;GwxIkV4JwSM4z{*WGe#!S$?Gl@z56&#uIjV$zn&9Kb9BJWp<};E?@eYvr>CX$`QNmr z=C)pf_o{E#(kVW9GI7$XsTfp!xnH1(d3+Dz->mC6npKsGtIJaI3w8tnLfSId$6Q_| zrnaoOrO3s!1{Cmx(~yFM@{kVR@_S{T&782Awd1U)cStAJ#szCDp1zeu^ZA3xXhaYI zl{KC6F1W+!^J&rHHx>6T=H?{Al&AdFdl;gi-Leq*#IB4QSV``F|Fh@{?A)8w9EatK zNF$F>wrOd?nQI!?K-4DT#$j$rsi+qzyO@HGle&w7XKDTg z59(XqsQ^IV^5f{XiY zFwr4KLv|9GkDWfo?RU>be|4C!k4EC5qd#qKQs?wHSKuB|u_uLYr22(+3ORHw$#VZS zM$}jL?W^jR6wKcAIi9E6ORtITzLYsK=szJ!!jHAk&aoASoGPH9Xt9n6*pC+kHPto4 zsdrNw2O_Auua|tu`ARw}LiZN`V422aNQrTYHM2&B2Kosuw4*RL4cI>S<6elMpBI4| z9@5m&*fphK0eVS1EfSSg(emTv&ATi-ZS@?&$DF*2?ccoS?T3-z82%}gd&UZ}a{6^& zqLHn@5Qm0=isMk?BKeAlEnWh6{R3yE>}d}ET;QXjCbQzp{$F)Zj`>o#4m@{N#=^}#QVM5Uf`lsDHe zIE;Ibq@?oSue8iYjGauZ`{0u9kX*&e6CpKE5fWI;T_TRAwi4*IGY}o*DIfx%+3dO^ zCicBT?jZfMkx{u1{kp9Jy_7$DfT{ILkUAL318YaJ8 zSVt;%8TW;P6TZ@-W^bu!dNhvAyBRtu9-zno@{2jxCiZ`XAO37%DV3!#z7!B)K`e)x zqJb(tJ|w5by+8Ds`YuL?AmjrjkWpU%H0_&lvkqm-B2hcm%KvJW0bb<+31=X~tlcL99~7P2Cu- zomL*9>J)S-{a2lyFIV(md)#D|IH(!<%wj@7lEYtU!EEvUKL|rf-$PK|T(4eT5Y${d zCG6AgX$qA(giq)57n}N@mjgH(f3lbrc@wB7!9Rf|GU4dcV-!@XuviOwb))Hw6VwHB zCk5|<+yzU%#&Q=w-^f=0sR)leD-LdT9Z&tW3L(23nhyGXQcoEgx4d-oQzqus6Tx|h zQ+MoN-h-v#=4HO2Y%*9iH!D+}?_Usac|`%~w9LPePE(RBWp(o%J= z&4T1sW5UbFWu*L$mLkEO(sTH0XR7&&4V#XhwtT5co*`jkJ+l-Cvc2y$%>D1P380X8 zNS9C+=x3-wV0Si&d48Sz^=ZrGu=-KKRoxek(27%*GjWH_ z87*YlDq`{j=4wVIgo0}y|oI8~D~v@;CgvdQdU+iiNv zF1~AhcW*w|w#xmb>bQ4hfhEowfN3q-)=6Hz;$9~vBOO^WIdCvcPxkd88p z!tfD>WZe5mDgZeI;y(MdPUVVNmuF^udtFf`M9HO zGW)%0WX|DK(H;}9;jimq{+OAwroHZI`sG-ZWEfi#rr5z`xDi8ZKT8w}UPyzH~rKj4~-yygNtiU)0hL)>&mgzH}YAi{cNjH!C zq09C(20eKT2B{xT7R(#l#v`*&14gfmn?9<=m5QZd+P!R9L1eu?I%d104rfL(z2_dF z1gTrY5!@OswNA|+A-J-8ivG;)|91ABFz5mqF}lcC)GSy|uy7av^Jj$4|3Zri#kNYe zoJYia-B;{%sN8H|v4+H(b^iS^SI_WDrSV+^`ma7#T9U@<>x5K@?^@63WsCXHlu9%hY4fSRjVlS2lAx~8m5T_K*j+%S{A3I)zl>0k^7y0 z<9a7)Yu7b-hJ;AQl&meQF?nfSm3)DygBX39kBJ!%IEX>3^pq@Nt+n0)|2+;6$s?d5 zGp4t62VY-As;|z5d-1kls~7}WrxVz0Vh855Gesn^A>E?&Tdk(PbJbz8sOP8tvu-?K z-D!w#UqqJ_ipDDL-55|K^Fb#a?w0<2*Ngk*J_?=f*ygiwR+qxttxh( z;K~^QO4&u4d(K7Cxm}ho*M_w`Khwy1sew3Ld`69kKhxX2Zwtvj89RWjvVm(i0)&VF z+93t}M+)vcT{?whhJLRnpLYte4U{a(naQ7ZN0$$O;Rn7#T&7v|haJt$pb^t92(eWK z_P)1vz0()vums3fKeH{3=EVwzrhF z!_IFDl?(w)VXrUIiulYk$FG?+Nb-yuIvTYWHQq%{fnrPyzNQKtyCgdcUi|qEbPt@K z_2g0&iObKWjrj&d%BczvDb!xdqbV49ZbQ6?uv5!#HSL16>!qe|;&A&ip0$$qW-BRjEnw5t-H5`k!%GJ5jSV9UB$<59!(dw=zJjB-r(ibP=giC*4E^0%K6v#yGy4upu6j%Zii7ej~I<{K@8AOhKlK9 z%1s9=gm~y2l>U$P6a`S>DLF%vE5BsyzsO88j!uiO4KO_tM?iQ2s;*JT2IwZmGelOf zm2N358FGUV$%Jk4OkVI}HwFlEIsj<>bF}+QNcWLvyIji#t%K+ByR_CuLY@S$Jf!A; z^?S)bz~_>9ZA)88=O1h50uC3xt>WzJpBZkMT+&8HRu7Nn= z-i0&sU-6(d6ecsYd$sL{iTy373d;j8auhy0&M3sa5l-w27zLeKzqV_3jSM1!&HdyF zu=RYP2&vQ_>i2mSykZN!>*gd3QL)AWtp5{K-P}SJgkSpJKZSm0_uwFCd^QtHn#1B5 zJIwJ-H9J)3F6a*AlH*i|g!#jNK6YF2;$*KJCl}&o;ukzk`w-}6c{4C&<{|Sgd65@! z)=^q9`HA4EHb|DjdX+e@{Syt!^ftUHcQ~k`te(2gN6n_U%!E=Cl^6Bnz6JM;hwL@r z1USqL17;LOd2uq!F>pvpn}(M$2tk~H@XOw&O{)po*R-B?{~%inZo&3ej|>unaSqT8 z6I(DVLb82{$2_{rNwUj9{}|(c*B9QZhTOV?{&;w+)y4up8S|w`s6M&%IQ32&HlUb3 zWb|b?E(kNSuZ^7ZVxf-x4jTm$Gh!xUqQ%m@KECbRmIZv3U42B{5sTKUX&U+ye2UA* zKnPB&px!P`x;0`d%p?Fe9dwV}`xeavc}R4%35qe; zPAWQ)A6u$=!6IFu^L>DSToVuBVXUg0!5jYF8TkuFgCYfX0yN-Ke>u8TTxSrKy5L&O zdZPal?QggBuB?RGnBx^0mUQt0BgwNjns~@s3_pl5O~1+yq#^CKcjKa)jRyJ%2bKXSO_FZ}FQj9-g?>uRwNw4!_8c^yZHiW(P$siK3mkv*oBmttlrU z(U)2A6?3A%x*Jo5d^*W@vHbHVAwjP%x~&NGvNMo!M^H!yKg6(@wV3Zo%@gT87e6x0 zI~zMqkRf5AMTY+Jx&ipXnj0TO6DbWPfPFpEzKcUWvwS&Fin`5JF*C>ygz1(nU6-m* zP}5TNH@xU2iRwp+vRpY`q^^x~vNcOmzWqz{o&%g|`1+~_+}|$_@zC!j|HkQ7k95B8beEhjS9;SiKktk377U3WA*Femic@+LSS2T5tO2;vfRSIF>8nh)5I z-@A~=ZwF`8!d$d^eV?UE>_SWR;K+8=WxlmDbo{lSb%BcwuGnpjU%iLhSXunRST*Mdnvg)EQYOSx zv>h}Wfqi=-L5zp0hrim2*Q|_%_G8PY<5alQ-d~3nvL6^FGarLS*M7G%FP{mdd$ueh z$Q2Audgq`m1P3@2cCaDG(TYWdflHe;?m@xtD8BCQaaB zqP4~%J_VANDn5n%Vk6yuep9OK?UY9U_=fK}wb~3zap}OXyJxwd z^&z7`0VJ9+2=l7vC6c(_dMmrfIQJ5gW zFJ;7@?PaE`Rg27ALTqqLrU8A=MA3$nAy*+@aK`LVkASgf0~p$jH3(Wezenrwz`QIm zb#n@Pu-2RDFRYntGH;lt@T`VlZ;Ee#G-9u96iGpGSHwkL;k@){zVaa zHvL1`rV-e=XLatgj3~q{4k*q4*iL=nRpDOED0bX2fhG%}3~3@{VE`rcAP#^tNOt zt-J}8c20_fGClr|ko!z#osg|N;Ur^y+6y!7C=osoQyl!FwtA1ae?at=Y7&J8`GQ24 zG{Hu#8dhcRoD2h2#9*@&QY{1M{^0|WZkgv-`&~umDlfBcdoa2BetCG?fPIrfUu%WU zLpu4(L>4&@*%pG(-MT**+6L-{n4vPN9H-$=ThaMe5*c!=-W+i<145Vf3C zg$OqSvZ8@?c8mM`YGCxBXYN3Ek(}?b&)>`5OuLXI9#nk2{^`s^JCG~1|2Vzi%lB0< z5B&c2>09{U{N!xg48`yb$lW&qi27Cc?|*OJ`aEOPy=|U}BLDni=Wxe5dQf`b5Dzao z{{ln`c4ENffBd4O#6E+JA*lLl@mhqH<&)zTE5s#yut=c?HU*X>pM1qtVFj8c`ID*F zl1Ih09Wp_9UJCin(3U+pVh5GH%@+kDW~#6BrWfg0s|P4bj%`%usETKf3YbZM$-b4I{JFz*8-g+S^SP-O|5cjkPgk&F3^#B41}NL$EilFs5ou8Twn2b zww^1Yp3w4*??XsW`PzG7gKBC;^lCY0M&>79${C21bX&%##GCJAFOk&5{=G|A^Jt&gYFv=g?dXIo-c+UO7CBc@5*zU9G z-#X-pLVtKxU*=3j43Bc~tjKJGR-P0)=~*BpEsCWcr*USteP1eLeXqf@y&4RJya`<4 z=JGMCzyJf-!q~}eiga-6q zJk{X_vXlTIi4|_YPqYs{ufZt?zq{#co z@_48j2HD@FN8-vQ;VZep3~KI~Q7Rcd3?73FNR142k+M{nhSLkw#fbtrOBbu#@(B-= zV+!|l_-QQ*132JJXPs!X>d6FR`WA-{u7n9y)Q^f#uL1~eRIf{EENP$_?^isi$g?rRrm^L1= zf-h{YZQEmGU-;By7bR=Iv6u8JpR&Tei#%26Ucb6xl>Z@bGhZIk*5&tB#i35MJ>O8^ zeUwbop0QMw_}y91zq0@)8{S1}j*=(DAyZVqq5bXAZkdjr6@9ehhY{L_4QQq`MNNNP z-h+ZARCzDq=9amw_Zt+4z$2|LmdNXf^k-p9*&Op3>he{R#)vM4)dEako|EorNv!K# zNZu#)yrMA0?Kl@a=Ax&7@cXyIwY0JrqBb{itG(Ccg77H}1qxbTUjH`od*sMMKl{MA zIg7z?6!)8iy#r~cF2z`exh94GcU{obN_Xw=Nt{vizY~WQ1-_tK~k1c?>TdcR}vM z-6KZl&hPiIYjDfOmoWo4U5w^gdgimVuZ zPpFY8zu79+W}!IuQQlxQdCAq}sGiig_*z1nB|6(Xx4IzQ-bmp*s0eO2!tTc6%_>?< z5`XvTRY^gl=_!$qhn)L%_>cX&08#n#K8-*aTGjei&6z~3N_%jDG8kUSeyd(H;*9Tm ze8A;1h^2xZ@{y|7k5`kl)psk73H~|W=!&#Dx!guUlCdytO5O;@9h@4a5%dq1RwFNix5H3$MM)H{irvj4 z_xq2Ur+dpS`f=7_5WP1~hsg%vsS8fV*Y%bOM^NWYHFUd8A*Y2Dq*#S1g)Su%?SLf& zuc95fgBz-?9KVZWh^sH!@ftr{5@oK59qgy0cU0*4U2zn=Ag|bvTXiQe4dl)i7rW>T z{oJ4E5nI|O^oxn+fsBB=^x%htW<{{$v`>y9Z}vG>d%o~$|R2P92j?4={yyEg08RpQcA zPwcSit#&f1>(ynR8q(`R7YOy{#J(_W75Xz<{6H&n~C14mT^1C(rPJ^Ky62TP%Nd}NA#?vK#0 zC^?sh$Kbhcu1CK@Ci9*zmGBFtsrXG5WaF?psOnUV`H54RM6J71E(=M?hZd6OZ5x5`Pd;X#xA*`q zt8dS)s5EbMTS+7ICk*Z^G#bn^H`o|`)CiJm|MFvo14PLx!0)gir-mXq^H))FUawX> zPXBbdAG>(AVL=C@Jou10xSN#{mIHV|9Be7e30)-58%@C>RqxJo+>kQ?%P&tB;dj=95pQYH^G-A>+*%N2vc~PV7x{E zGO)cyF|T%ffpo}fTxR0}Ifc=C_B9(1@t~+GXIqi^VVjY%9l)J--EuMh*9wAXE9naJ z%3aX=H8-S4d{W(}Y)>o^MDc}L;RVvoAOOMFB}q`gD&J#e++<={U(7~~hxZJjW_B@< zo8$ZeI z;stL*HUcNh)*cO^KNYV>JiGvNK9cm^5VxteU+f=6s}vR0l@l)r#{n!VRL zlUb<=;!(0L5wS(&B$u3M&7VC9w&Dv3TW(Sz*){m7O!KJG@U+*NgUNHHKZc{jaG&1Q^;V6yVT?fGyHg|gaM4# zK$tbK@f>0M@$ zH6HXpksixAxlqG^!eeFrVB>&CxC>kR?yBtCT+yKsxUw7 zUWu=k@tb>iw|KZk8gKmPLVE|)`hk}QlxTVAb1vB+to1Uh{LR+#7m`^-zJI!Z10+2FQ z=8d_cetRQ_7Nrgg1_EeAYMP67d3Eyt99Rj4= zVjbdji|%Bv$E$*}vc|Eej#-E_^tBXgER4DgT)qTbH<5`Ji*bN*SpN>(K>^8f>PbrI zo^ZG)miug}oBi8H%@IvdKHg|IQ`FwF``t?al|G*Qk>&4yHXw#1uV{3QNSi;eY5u;q zJh3m}%GY#(O^z(L8-MLVk9unh-iEIIvRbXlyS}?kruH?E4v06Rc)P0v@j=f)(5DSe z6hAe!VL`YjwyO{W)^mHsE=Zob?AaSeo_7XxoB^WXZef>`DcD`;V%2(Ct0d;SU!?MH z6hT-I)cQNkuN!hw?S}_VD;>G50KEqd+-%fXEp+sp9-OnR^wua^E+xLeEsG&Y162$1 zp7g+?qY;MF~tbzPVG-D1pnSf>w{Px;nP-Nclf8_Lh7|x|NwIj(BABd)~gXpem!EqnPCH}s@ zJ+1Crxes%YNyGfD~ z=Wl(9pxM2uixxb@qxGt%&1CAD%~ z04yKv6-K&71lhmukR8u@GhyAWAzmT2P$xbpt~9{B`X_h~WIweOH;s!P-U$Vi*hH9=ubJ_J&<16O9^RF{PbCzy+L|rJf+5- z%w-ptj={h6J3}<00v?feC)>@A$V-n18H8n;h!KB2V#xkYlPy$v)b$;H3T7-A5mOeZ z0Qyx_Spx%OmR$6NwjxOjfiZEfMA!pxA?}_-8QFpjvQea0Zy=GV#m>~qc{RKr;!e-( zXN(M)TDJ@OCInt{*QFuQ((307jW~Ij1c9VAVLN!o!vOw-g?ar^;HI>VD_QihZ(Lt4W%^=VSQhRqH`a zIMpKJ@V&a=u*da+1TaEj9g94A7LBlkDX9--+Cm1)OO*%RWil>P4NjC`cj50!it_aI zzgMl|oVk{x+=pDqk$iSzg0v`XR=6=V&=FFJ$acgaLhnSOw4Zr(YNH1ny`Jn)NdrRy z7S06%YtEH5P=Ll$?zTD804KB&L8$CDVY4WBM2OR&F-NM%=z1?zgIF=I8Rs*_fZa*Z zWwb9iD9|5Z+Gr9ptKYC{dej*=>{*3pU%+;pAE^k1noEDx*QkdVBf_ya=gK8LpL#Gl zZ~S75`o&9~>zyHkG18LwYyw!&MH~32qumQq2WrU6_C3e4D~sv2wPy<&OBI3mFvG>dUO6zfoOJcU2CVfZPg5OyZOcJ_aL?$o<(?6Q z`**~+{`xL`{Q$gX{*WP_^gSPB|I7b;h%w$yw7aB9pETp<=a{VdPaG3TiB?k@HO6UE zB#;mZ60NC$Lqq|H5p)qz-r)cIApx`f=M&-@Q2tph;XK&ze!~plxwnI#j+l}4apIJ|BRJhldbbeJQTz`tI`XF&Z$mg<$B z606;0853gj^dLG}JlZ|TkkKs8VBK8+m{4#BqhNQy&%(o&-R9C>o5z)IS^uG*7o_bP=AO_3NhWLK+5$a#YB<*@ zC`-Q(94OauaQGRv=Rw<*w;F8<7M)|J%0cZi&0~aO3xvx*g4{WhiGKh`DCNxXg->WJ zeQ6ArJJ>SC=Vh8~gJGmiUi>LA?rb2q4)B`2{yO4TCo;fm^Fh{;>WRNFz2YslQEV|| ziI`2CGyl#n?wx=}{kg-aTaDPEi}NsqD!7UPW%ZPP?jtId10zFO$^KRZ{9K)ND-5u< zN_He7R0qVbgZUVS6(DLGT8mw)anmY{o)(JD`@iesV}awA1^MN_A0_jC-MPQMZPf&- za)YSN42}x`2qEG`_uT;lr^opU%xx`bz4cu_sBFBTz9hz&0l75=8t4;G>Aywb2SZ6X z@K|FgB2)`3bM~wu4*L-wD)_tz8XZuV+UE&F$)0#K?K&4`Tznr<|hFP#tV_t3JP-D&#LRCFYDuViiyHK zv;DjObQiGR3Aa1w)_-PQ~*isZ7BY``DJ*Nd~j92cm1{}x< z;LAmQHGf{jXt$LXw^%!jlM^$6x0e@fyB@j;3{0!#04-XT>?oMh8GGf+NGF2%@#rP# z=$;MCFD&2+$i0kL0A|P?+~NOz(+YQ7?aQ|O?DSukrvfXwCl~Rj5lh;Cod2&V!Xhvu z)SrDxybNcuYWV}G`W}mC7Yy*EE-QRtR0J1+85u(Ith?33MB#+4 z^tOf#nfG%5Tp5jqz|f79cr&}8%cs$kpV4_em{zE_Hvq;q0F2tXL-My^RE92QW9yb7 ztC*-IK}~k_s{!~7NZurj7q$u4f3J>_=F%x##+ji8LIK1=8y(Tv@iBVkU6 zj%G_4<-wx|FS&n=c=bW8FHFvp0I$-ZrT~!O&L=o57*jd=1{M8t&81u6*Q;aq1|moy z2l~H-4@3e}jKlVIIDumS2zS99*KTnloxe)C_)Sm;%*-a(;W_}il>@MPuy?fFIt3ad zeqXXp@Y1A{Y(4~VHukNv{{^W%@O^CS42t=W$Xz@7QrJ(s9?UfsJ-}GMo17u>w+03b zV4=d?#@?Z5m2~vf1*`m*`0NB^niE4pvNs-W+cOJzXv<&?bPEb02x&j4Rzr{x>@T_G zEed|MyNr1YKKUu0vSlF#?v{N+e5*7c8+_rebsa?x2bQBMv+*=&l3yZ71-wFRY@oUA>xw`w0sZd5bI^af3Ix;jpFVc;brr1BfPxD>%Im= zZQ{ReM~uHRn;`4Q_iDqvWny?hx`YPjD06w*9@1Q$7kJWk|8`9Ow>%win#l_x9hI`G z?Q?h^yX@{(GlsNHIy8Qxu9t1T)H4O7=+Y7URlwbAl8`qPdyK%JOM~=OBgSlruyP3y zJL=pQDe6Y}nO7E2hCL~^9Z*J_6>ihjTZ^&hF)y@M6s^+6Rw=6Lj+c zJuHDUM49!!Q4g?H$huFK=Jx;B)IvV53d z`M7Q{ff@fiz`b0K!$V|MZJPjQ>?TIRUKpu>=DHEo%*IVY&%~DGz>M)Pm@W3Eq1gnF z-3f0QkP3JRWTgYXfljh7S?^+*KfYi>4`kycIqcnm&T0IUI;eo0Pyn9O%DR-;Ys3yH zSP8OXwD10PiF@YKcfDQe2T-L}85S^ClT83bG-bVP#{sW()6b=gd#_q4+Cv~$!iU~f z9&=FU>CxY>0VOVwh|pvdQ-Mhk!OJ9{KgOV_TpC8Yd6y4eNoAM7b-4Wg*xM|F3uRT4 z!xV6je~iL38~uGZhnhMbq+Ugh$%KG@lzC@TY?ne0PuPb464IT{hFiUkN_iEZq!9#etZFb+{6a*n<{QmS) zy6N8s{nDj}AJQT93h(c|`YBy{^#=%ae*2S20Q8J3@P!3*mO(cL1k@vEt6+_Mnn(D1 zUwgj7Vq*bGx8g(4D)y98<>?l8_!^@N_BS{)yv1ES~_RRI6Ji zYeG`TxT8)2&P3*4_mqu6{3`AHGxnD8ma3l$sHw`2bGy(jTh2;mNQ6N4!fyz#*tSsm;)bhQA zxe;V98Z_4fvM?Uv;)POpJZz`we~w z^E*cW@qr4k^O@2;4`I6<%ZHfU0Npkq>hOTd9IQJ7vJi(9?tn^3=Ray$Z-{c%y^DTx z`~PTIH3dq15FF2lpoXDwk({|EnUwQ)?!WnV=tm3S{#|W69p}e%af@0}g!W z7U+6117%*_`t1dnNHPv!0l}h_Qw{6OpCK((uIc+|ke3~!PVH^(|0pTt4CF^9c*LH{ z{3ONZL}U*V_bL6U0ct4;Q-^ILv}97{1ql0Jd($@qqxJ|-vb~|`r5Tb*=5tH}$m|)t z#tBe-Kh09Wy{-0)0sef_z?6SBidQMP7pJ-OP3{$U<*S3BZIJOZIt|W0z>Y?Vjv*9K z(?W^4tpJspJIM#p?iTNNLTx8vtO)kD{=d5L1x#rW>+mPVgdFM@N=hikU@3?lY+ftm zOZbX_%mFeOe0LI<>;yhdiGq~~z`K2PFXq@Y-Q@GRWT1nf?5g?Q;Lpc8Pdop&xJLbj zM`$RXX}N9strP+3caNSJ17kg~EhAdIbn;iH*s}!Ef)W94dbpLQ$hlPtC1aq;wB~5X zkV^WVAEGC`!XLJ$i#5gwO#>7^I(t0Kvfb24>Mnai z0!9@#9tTl-z1K#uc4_UQC9c61=KTn$-q~dFlhT-!rJ)Tg2$rSw>XLrWb|FO)(F@R{K+8 zo*V74NnnnX?C)cL8RFT<?4o*0RG3hjb^(yx995GKA@FpAQ9)U~P5igkkRoblV} z&SeVYnIGY{K#}c2a>}{WJ1rX2ZyV;l} z1?I>w`ei$g1Pu3TQJjQxn&@=7|C~BI?+++`>ibnXm zPXz{8>}LldRt^*6WNHfUwdS6EiZ!t60y>aq{XhqjF+Ea%eb+3lwuk-rGU2CEpnG#J zcVJ}RyAvbL$Y*h&#@&~+071mdCvJTP269pLnvQkDB(Hr=isNRJFM4#a?%ow<0(!Nl zGn6(mhz73Y>+0qE>)YoAOO`>g6&2dpHD_fe4LftlZLH@e3HRB6)d@XJu@Hp-{fUDP z#T#qu7YLaNBZIkmyG|X0#R;gjxtCGmQ8Hn($I9xB|PD#&;9* zkj3yQO`y=G@)>X;2VsZzwJAV_x!B6wXmKi#;XzMHre!*2PJm7UXaz2ae$(mt-mXt_ zzVR5tgt8T)IQ8MdBF)-(+**51LKs5h^a1D`#XBr+d1k>Qbof5YC?$_2r+gtpZbmZw zB>`W!;Q$?9tiiwM$>KD=IsVcG2P|V&=4q0`uD+YpKED}Eytw8EsH8NdaL%^PpRB$Z z1IEn|*YEw5*#xwpi@eAgnsgSD>0|YI`;-tPpbh;Y`aJNS`uWC7^NUlXOAj)OUaf(k zuZGKYYV7ajKz=y&ulNKGMbmD_bDV1|MeF) zWI8bUfY2Pf-k1wA`0}ly;WTgNg9!CerD07Faem|t5z;Aa^lBN?!*fGGaF6E~i{_;X zpz6HecUUz9byiwEQ!G~D$eYzXLUmwlfT{PrSRDjL7a?}gZ?wC3&#M;M!piqM3?qt! zG4z@P;J0K>V($I?bFB#!*Maeh%qOo!07t5{_hmhRxJ4k$#f^+M(`(W(mfu?N%M1kr z1#P8VM8P!dpGXaf_}@P3;noQH5 zWpC)`K;r!HM1fmbiocx)>7|a zwTn7kTVqA$D^K~}_OeJ4x8NU@tQVcEumh&-ES})&+!(&Z1d*LV_f{`tM8WUz53!}s z@)kK|f@<2;Jp^$-PJ~#6_=%LCdTX5hjqhwY9{SH^`Dmmi4trmd`fF!?ryGxa@9Bx@ z&&B8b8ZOsFvP!^Jh`KEZ<5gWAakLJl6eO+ueaNrP?-*m5BT;D{WUjxH%W!rXU`C#D#UH&-ZWWzHrv z^@qk11|yY80*g)=R#RH2t`1*J0tX;rJRx@u=E;H^wMW`a1{NU zcnnM!L^%_3-gJazOi=b$=N8RO*V~#YS|29<$Q4r}*%$GykR4AuQUqe2l;|JtF*5gY zV)~%DMCd5nTR+E}h;8`x9c3=Od`sNz8miJw0$G2*K0ejCi%<0nm>=zqdJT`8Nt)O) zXqGjQOD)b5^ON2&U>$&S<9^B+)OS%pDTy+qb=P8lZDFH+m-H~<;y*|o%%lI@tF0ay zKptrC8JJ`goY4@dL=F8pWf-pwa-H87>HM*(+y7&PPve$RSZcTMk6 zj{ZpjPq}3BCL&h#3OZ+dDIhMTDLCx$Tkp8bC%K`YUn$S~R*r7_;+0vl0ptUwi5|Vv zRo;wlkV172nK@FaZPXDsKN#l%T-l4R^Nl8Gb%*h#b4wqf<6D2D^xHE$ww4NLfB{&Z>>_>X1H{edMtM!!O9l53WzD!6o?6z)#PO?uD;8s< zi1u_T;8_b5VgSYSB-Yd5cFg~K|R+i6VD5XN-h;k=2r@lRn%=s2*^i@}M{&`Nqq zI1cMs&=AX7P!YB}m0+VquJ|Z3YhE?<2w&NoCv2}KeKIlw>WA?qgIJ5sh2CIUhOHb= zU4tE2$A~7I{iPQ--(0C+3VaBLux|<+oXpo!zJD`sAe>rp5KdIhOIycn_X@G*%QifN zRt}>@k2IU#6>q)q2ngE;%9#iu50)@t-|=g_sdCyVYD0UO&=YmM!(< zkP3D8y+x%Ks7nb-{anx7bdJ!-CvQ{?Hqre3{8H{0soi`=mW^Iz{3iaz2Rbfp7juOM z$YDGc2mN1i#r(^$8s*I;6E=>S%iodyk|!y8Li(`WjL!_63k3=C+L8}f1j#!vijVg+ zL!J&v-E(E_i=J%IqaUAWQPvhInY( zI4*`TxMLrgC?_Q`$-vhejO2e@;1g>JHBFJb?)g~(oW-5@!zl^39jaX^KW!s>`-KUG zG^l-DgO3Hzn5;CMo9*dpm?HcmpPNqS>^$|O3MuKdi6^Y5C8BOW&K~3MG>AQjF&5sP zaz0&G+|(Ydg}mHbe2skYS<97=ynM^*I#)kNV}^SHA6pj>?qOgSf_hc1*WD>!Uuy9f zIx`m^G!jK7sN)RF9Y5W7Ex)NLic-1YQa~>&nILw0OO7h#V~FogDXR<(jt0A#;kZe2 zLHuWWsaB0{&%$J>H-;jXaSfiFn6ve*v_uUjfBSVajJ+{yw|)NQfOO~{C7b}m2@1`Jn`XO zhGc}-t3-DkhOZ4SX&~rMBxXC?u1c|M%<3uPN{1rj=nXDi%Qq*hu&r6D)T^fU!D{s< zrv>$9Hdr`?{3b4=2E}2RldYwx__8|A5SapuFHFwCw}YN8;i(`$Xfc28{)85e9R@k zQw&raIVz>~gRCl(kT&yJUl$B$-6|GWjPv>FFC@LgJ&+lGFX7YJ%wSYYsb}4c{)rC@ zh~!MlFCQfs<#tJRS4Tw+nvC4?+^}l8zK_Y3?~c@UrE%onCy!-(t3SW|6DTk#WeU6w zUc~*ps$u4`<>VnFy_4M`c73{ly}vlOLfSFuPuCyO`;T{=9n0N+ZTb<8PB-pt@34#0 z1jVg=DZ9Jqfh0|nQ)qPMFOir`&_t3qt$$w%Fz{-~P#~dtDb8oGWB)koH}R8D(Dg7} zYU>_8c;DAs6#gCitpwULT7=(jHy+ED88-}Q;r18#ZsiRq@(nMgmt;mc2sT70mYDrjwTEmIXF@)k_gF`91*&$jZbzfGD>iDJ_kex_M-%!kxCZkAfpZ@7zv;{ zvS<8ry~Fh#YT+gsWz9w5brU-!{1f!$p(EUSwbaYq!}Urv1(*`M2!w0uhl&H-2RCef zID#S|((rQBuJV!}A~W7C58-`JViGw_Tf@L#D`l+PmhQXn&{3J@pUMH6uG_ETXxUT>eBx^;2fmLbu0nQ}W{`xlS^|&+;h);(f88U_0*Zg*8%r z2Q9nt(X*S<2mOH=&nz1MWV~3pKrjEvy{J2eWDKrb}tJU2dS? zE;By+U{Vq!^HP23yR4r>x_n<_e<;<~P~Bn=TA)SuztV_|4qq=dXAOyk%XfC4sa2Xe zpP1>(=s5w4lWH-0U<16(SzmI%b(&QX^#miFPb5b25-avZpQzY{h+kTGyWxYi zZ%dO94vWsq;(cBfzU@9;>~U!uOfSXkw-6Jne_ShMHl_%uTcb!SsP3=N5j4S=Swkn_OL)mHyJeF2Hoh zkq*gAHr<+@>(4BnI<);xC3fP#qe<_yi1!tv8%TVDlF8{+=SJ(30Ib$Z6gIpXe@Yv? zC6T*%&)|z%ord#i<3c90L}ulw8mXBVovKH-NV?`{wJnbWN1bF+2HLO7vTu5;#+SJG zf+Co9r;Kz=Mc1DdA}G#S=X~gj?T7n9RgSg)Cnaq_dQ7t5$e<(+77n zi~hL7kS$4NxHhs_gsf7U9aU7D8TJ2xPMd_{{0G5ArA42xTsA~s^xWm87UY9iMEnY9 z2ZIrgX5u?;T9R8k--+l(U?u7}u}`ff110T*&c{9`zqF!}0TxZ)*E`mIcK zcc*Zhd8j)F&--oj*bF3@3~Fvj9|$>hi3vHvjPYg8_PX71oURWoCbI@|!!7#VQv_QL z$?hIn>Rpa{Zni{cBT_Vi37hmWs4Mw;x-a)e-4(1bDwq<@4aiQP+QA@^Pn$n3t9NI8 zHwb&&?bzr@N$Mt-E0^_WnK ze4VCq#I>x9`r>@r3C@Jgi5hWgftaU(b06G1R0@v{v@WqrgKed5Lg_$X z&&NwrUFv{BW8tLnOA)oRj!{dVZjrR43I{3_Lbh%sI|)L_M-rDXTRevjmN`d*Uy+ zimi6cH}BEO*AWf*M2Jmn~d6vfSoAc?|a(BlGWwL@a=(dX_$|}luJt?|c<$n{p?8Qjq3u@e6 zMo~NIkoIw?ZqzbQ4}xBA?z>{0+gW1w^6OOB4Q`JY<_yDpunV`+o%)89&-|2N@SZwf z^0yCLDK=<%!mba4m%abgiQ4Zj%-)W@ag68k&2`uQ9n2)y zCBfg#Rp2QcDD&NZYLT4oZ7^5qwV1QBW12NE2sV_!cUTFeoW};{o%xg5zkQ=s{slLn zPv&n$uJfxwd3R&wBSK!L-`Dtbl1N_Ls>bmm%vcjBn=d({qjPz;cdh?xNFa4KzE1QZ z{yrJ3)7$LNo3K{xm8qDC_DR|8(lap{JWd@{pAll-FitcciDKPB5uI9(N>SPfLmo&k z>F2eeMe=o=sNqcmV1*&(IzIW68}-{?dbw!7NuSKjLxJwp=fLAsS@$-n{uJ*8bb)_5 zqecy9h-p~Ah!-iDNOCUo%2=Kj%IA1e*HzyCRM}SS+FZ6ymq?WPB=Ii>P=?o?-&Dyn zqYH0u^kn&X>Lzw2Sm|@#HLJLD!|X6BjJA%XA(YcJcmIkb2c%0liclwhZ}2hscY26E z#ui`cO^zo?;pWOWeSP7$ur2*cr4m(9z-wSuA+zw)yE!w4eDCy!7e?g|d^1z5s=V8Y zF&#cbMiz0`H%A}=DI8^-J`jG}$tJsR(pa!1M9L=m zNu~c(SGepq5J*pjTGL&5%G6Aj*gLg-#>CZ+5Qg^R<&+2)#eF^~=33RO&bS?*nr^pJ zL$N1eQFuR1Viv*B(0N38QuWw@1kwf13Fa5R-?2XoDLZw>FF_qNm9I&LzSTMCL*g#) zW&6wWWh{|ZQRJvP#~=mQ3gp@mRdp2Kqi_G9rv&<4ZHx-zc2D_A4NBlo4ptlU%b;*pz>sw-GI zi$mHrjiu?-UhNF=pFu*8V2N@VNiY^6^V=Yk%TcKK<8wp|?P<>8>8fmnAv0EYBKMm7 z8`e*bQIt0C0hOxzUzwla_}6#Az)ve{=%02l)u0prEswG9t0wM1gnn5kcTh&Fin(Y~3XxJA8yYGY(i>LtP>YRymzdax+x56JC>VnqbpY|pCIOUly zaD!H-lE;NRM@OeN4vMyzRK&y6Zp*C?VbfpO3w5E-r{c-Z3fI)Z@Dv zoHu;&s8rF{>>I@`&LxI8*AGjGwJf}u!SP~Wlr^bw>?khU_~muXwvkZ*ODAf5s(b4< zg+GJ2{IB8Tpw#;!51@mu3IVa4Xxkmzhun1-XU{nTiL<-6o1fhdX>sQ&HVo^gglGrE zTMvJQ`envX4e@byx#GE;Fm=E@6*Omfr4lEayuQX4;EantJac#f_*J}LU?&5H6` zjqkTt+gSqh@v-P}f2zs1Bd2r2-xRLGi?%&4k*@&`vBk$u#1oe<6a1X#W?=`S3n<5A zVO_{dur|5tZ*))w$DJ91G=D3@c`NO3&;M5Q$rvs69c9Og9@e8}1b}!myO>677eZ3> zyndN?f>^}6cSSWcGtsD)Yn3~9u0QXS`M`6mdc}N?mUwWN@1WY!5e0lo<&og;``QSf zY{2t^0OW-Ta8#S{ntA(pqpb=-GQFd?jVQJGwXwk8)3RUw2j}hFMM#XP2>lVNgln6i znwr{FS}X*k$Tx-X-0*O2YN1=0l-0VSdg{Dw_)RRpy6=eh!oA@V4zP2>EaF?PfCwBA z8B!%kc~S$ro1NPw>A=}_7bG<@H*Fd2XWLDmZHxQ@CeoC()on_CRT4g)dQtX^fjv$a z^WW&!EhZ8t0bp;Z-fd_NU%$`xT*dsJ>RG+eX+k^7(qw+(Ao)2r_NeR^AEhS~F6Puc z9RhWsk8MM0kxVg12TTS<)ysj@GQ)5aYRb~s$@gdbu>xzlMO)8acdU{-Bo?D(Lo$C< zy%UmV6yzHZmC#7Uy~?`4KGzLQatE65{RSo7kvk~~&zSpmH;PMo*gB^jLo8b2AsJyi<1ee#&pBgKB)54aw+@u$pbocgo zhk1SR4YNRNEB8=!_#ikKF@<&|CULAkrKK4lUzZW9cZHz3;QV zx}71|HJ^8D`~0FbsAX1^a>yBp+3xXEx1A#JJd`HN_fibf&h1qJI5|ez@7}#i2G~M= zz6-~;{~be(ItGjkyUckpX8#{fHp!>HFCmA3s;{EO{j(~&Yc4v(4UKo6!tA(!>PpcW zV^3w2Vhd}c5SW67f#NM%vmmu7-P&X;UF+n#BHbcvG2yj!B0tYtXK9s+CS=5YDuDZ5 z2{SP4485+W;BDRj8mB{i%|*m0r``RLjTixDAWIGowod~1m2ndnr@Q?x*0(;e=K=%( zJLh<_EAY1HJD}1r<1h2&u-6izwD@Ry>Qm2ZI_fK(Lrr$YImVIYa&1niw0zeJX3D&` zfE3+bnNW8}Kuvn^4FcRz|Ad2r6IhR~x`S<=Yop*N&@-MkBh!>3yL+R^jSQv{`L!Pf zkA%T9k!r5F?F6--!mzdYSob#G6Q!$E9%HQH`nE+km1bCFkV<0@*-&pcBYc#3^lp9s zz9==&U#@cTfu|hm_iy91kk zR0s)VCP7Uc?5lDlGh5^`H*8ab`1(ZzIzWbFmvw@j+gfe>Sz$Z;7A0{PDWC}(}(q%Ix^TCcii%!V*V#vx7tzYct0Tp1PCF=}FDvyi$mZ<)9@D5ZD z3^jB`uyCHSzPViQ0H(m617rcp{DRBma?l@+Av<`Q5)}0D=4pGDLup+mqrTbw%t^Qj z&BWiaKEy|(exqVRl5?!fJy7&J<|;=fUGEmE)@+&Q6j^j=;WQK;6X^JI=h5z+Py=%g%>Z@w0^%i8C2?%8ssc7kVuRPMrq|dz%lcf$Rv?Z zuCN4}XFF>^Y5P`>?%%&iMAm48kcdS0qyAy#(?~zxJJ>i{8WXEWv2R zO(+?DkPDREj`&R&q_vEu6ghjNe+3l=s9rPQ8-7fVQCl{vpDgUZ2lU~D*nr^@g2ka0 zyl2*kXUs?7h3;7m*SAfpsiMdl{SpG^pq-Agxok>vosF$i^CBK7mXW6gcgBT^@;~R! z-%S-&^>BV|5qz?M*(=|iXaGX4sg^<^_m$E?ltY^a@}T|=L`FK)-Awpm6|0|tUYz+4 z&_JKNswed?3XX)3tlTf$^v~&xf=_&WC&ktfwR>Z71JB8R`A%oTuFuiarhqJL5^k7OF*jT{oX+_?TQuTj-7;43AkmUyZ~btihJdl z_#)&r0){e7zJ%Ej6E7)lFTAUg`Gv&i`ay6y!0|AlX+0BS-fPokj?X$H!FS&|h@{j4 z_SBtJD03Z19LByTvU*En+sXz~C^bLXnh9k-j4SmdgV!?Nq(@sDz7BvSe|4pqAMFO0g z)IMB~kf1!UI~SZjkWI*oe+%GW!AWdS3Uc^AdEe*1D0YCixBo!pKpbwJ^~FCTe9G$_ zEq#}B?g$UR;xK*q55h`CwJ%Ds(ZiF4{#SSUSa6B0WG|uPL+6T~fxec*ok})s|L=4@ z2Vl2va$;;sK<4^lBwP~jHb_xy`dIYOg*^#G4*xT1z9$B3i>&Z3M_#NI()5&2q;)X- zukM^NKalvA{w8Ja2JB$F|if;vs;}_c{zHF{FVERWf?iJ(552fb<7uJT+@OJjzZ?VG>E)cMm8?zT8Q2+FP9`oN3-htbPUb6_zYT!?b?Hqf)a-am79S zqG9F6&s$r71+LBjLOJgtyL)Lo(6kJ6OLl1r{nW8&*kU$5$?|+%6U;i$yOZ~Cydd7u z;Pkhe3g$c8pyfwpvukHQT&9Zy zB3Wd$9&Sd9C`z^6{6czEtNX6<@C=>(RY2lTw`=sOFvQ78n9K8@7Vb)VY}`>>-E$2I zkaD%%R&#Bbugb*(U1DZt%R=zXLyV!rT;=AL-U3T z)yCZUK*7M|o-fJ@yw*PkH&nHZJ_Q0&A+7c2Wg1%Pp5V^of!DXh81EQn8+zi5aqZC-$uPxWIm*i?S=r&qHywMInR)46ynOMea(>Y0T1CvtwA z*gE{`T%{RzP;ZL#${-idu>uED2v}3(tFL2}M8g)&Wln*|^2Fs$qEOoP*jQ3YKumO5 z^YoPw-AoE}y86g$aX&(o66Fy{K-0DW8_Jn{A?d@}bs4WWzZLsfQMx#DH$a3UP0Nt( z#Y5@_N6EFAYIZ4uu+CEr)wZ0v3IBbtOxQsx|0DhrzCIqEmBvhFfF>6 zN;q%%40!UJ#ZRR_s+)4Wae0a$lE{$=4`Vn+8HgMwz6_g_gGY}0c?p5ve$(gn@DOeL zp3DC?ku$|>cqbmRtAsCNzSmtB#EDL!ewf-mowg>}xUYsF$7_fZC{!2L*gD(_%q3U( zxA@+(e=Mk{^F7t6lv{_uJ$bnQ7qUQqJxs1VFL&U--p6%N>HMqcExxsVqPEfw03E!0OYY+pdwAJ8X-8F)`n>KxD1}h z?W*`T^MXQ(wL*9P+`mnVrgutyo+mHx{mkPk< zi@#5|A;B+_>#CE9_%=F6m$d7J7}@nB>M23n@mCxw7rMbjc1s>$gUC?hQPGvDUb2uy zd`kOYdo#woNg6yYM#Ezza=I@w{261%HzmmaaWZ#mly-%Y1S5~JjyN_!w&Cj&93#f- z!9;J+SJFOayO|CgjP?bluOaE6%boQ@oRDPP%0vx~Hw<=aYYzkpQ=<$}vAQaL?TujK!@bKgSkZ zGPTHh#d1dwK9na_c<)Z#THo}hO=kAN#g-J0nISewj@}@phgVeq}OARmq3$z@gF? zfwIQT|mVJldR4a^UC=(`IJ>yG4TG<;t>t9CbX`Ct8Yyt!1<`#W<^T zUoZeyMc!ZTb4qaN1Q>p~vY(+y-oqzJ?gEP}TX{w66^m_a51C9Sm2OV4%xgT#Q8+k3 zwakw0D-qjRPA$UrnO>S*@cvz@fq^Y6V<2$EA1;2T0<+~k3HEt(?(wq~pRs$~(QEZY z1>O(HgW@P133$4K*-)f`Rxu{MP?fD=Jedk0nLaXnuC7xl4r==2-2p?}qXP?sq>!y| zMFg^BL5Pc@A5w1+0jU>qxCiw|zCA%L*v%A#KZ5df$$@ifU3tk{&%bMOZTwGbA7mpk zWuiicApti@XsD^+bC2W^Wf|#X@aTPm5ZES2uu8^tkhs9fOm`^NF|en9$47eW$M1OF zuWnAloMD2c>#XW-)a!u{^C&aN1f`U-k3B5mcqg3*en2l!h%2$v=sRXB{gY+!mn&Sp zvT-n0V8>x(W*L0)%PZT&Ps~1Y7_rGPRjTfgdnS&CUDTC0o`}t-P9Q%W{%kJXw&!@R8xbJpN!m zU8J@JrAj$QoD;U)9}2*e1-&$i`8J)Kf#|_51BzCddRj1w097nQty9QRE@dECwrXXu z(RY$t=vA=P>^|m7SZc?dYJOBG=UtUED;V&A<`VD@dILI<4A&$}GiSI%b2E^GeF{jk zkEPw+(xZ2;fwYeZE*y9B7+g5@Z` z0E&w)hMPCZFtD)K;DSlChAy$4xr>(97_=hz-gzCwc3R8dEu&osAMbR90qutUf(uVI zl5ddRUiTxDq>i41MQ}_37V>(hQSmq-J^_*fw|S&YNF7f|A7Wh~P?!*i@sPRFm3r%? zL=hXNEy_Pxbn+LhS^)#WRNakIIa&5I;nsGnp}JetZ&9?#gUhxrwf&QS#Ig!ahv8Um zf43wC{y^e(2Ay^|AKE7$7tW^shN)W+gG$J_ouwErWt)UdS}hcVJS1)(j2NQqP;HtVE>e^wv%(#@`0?iOsvW?=n`cc2462CbH4xJ zup=It+<(hKf?}dm2q!G9Qhtc#B|u3BvVE0vW|)c?xjP;B9!2u{704zX%U3bw1`j8# zzm%L@UmA}-;#WBNz7NT@_LzJ&Z$eow(Ii7ByQ2dGz~|Rm;mO9yhgZy`?h@P#B&2i! zZWgG%ZqH3X9-rt<>W(A%Jl5566L8c_#WaNm=qRXzg1QAc1QUk&{J~cYND95RWg6yf zDD6(e$OcmFHb*O#7n59EY*@3=DN~SWeQH9or#h8YP`gq0;VTjRZZ2#gX?@lKit^Ac zLe?Z@-#QZ`7JP1>1lleF;=926HLf52CZl8E!$~=F*GSUxemj#?7_9i=9E-e8w^A?3 z%|}%bQodIN(#**v)^!?kS7j`c0h}$W-Saz4ot+9KzgL-~gUqyxW9^ugJunGPkKN&& z`Y`f#^+11RV_NIN0pj(m+ay5QEGN^7XV)=3QcPhQ z&zHP}M3VVM-sneN zOyl8YKXmd=Rz*(Fj!`~>Bu6uBd3_*&r*C>qo475oR5T8L5y)C$=P2B(z|9&=)dT>i zwxB-Q@Pb^wx0Hw|*vfH;ieD8WtEx=jPN^w}OHBOSCF9ztrVBA4#iDH(ECmJ?s0Y?U z(8{P?sFaQfqogzR0wu2$@S-qR5Se^jsln7);D6=?*+xGupLM;O=7y_S%0>&qQjh7e zKogVw(G}R8oexL|jWdG=`{=qLrBYn=hmO6`(UiyR&-EOS(FVYqH9)ntpi*wM{zJv7 z$H^lB6r3KoJBmgfR=nbQL&NJr#D0VLq{^}#7hgtQUxaG0Jaeyo>wJhNcA%K9hMrWu zVhW@M7U$8$MrQ#c>S@=Zp%(yGvZ-hAo(e}jGc+}zHne5V=dooXvW;7JpD2kDGI<16 z-7o8+8+gXo6X932RRGHP;S!0n*{@HoalH9h;`32pwyqUyCI$8UUBEh5GUrDThV_X} zu5|v&L-}Y4K#FmK#&C<6mJ+xpTH0NJ82RJqn=f%J!^Hcj9XVaLj1b?(9U8)?1aVsd zb8DYTKqV_976I9os7cy&Y!@|K);;yx5G93Dt?|ASp_$lM}<#aN8&VZLO?`})QM0PQ--swYGr5SJypag*^`Nc?!5g6{Zx`eFj@ZKh<(^8T ze3M>{@>5@T8x~WFRp5J(X_CzGUMCFPFn_?)I3RFSDaQ@xxWhBMHZ1z-C8@C8%$VCU z%m?~^Fzpx)N-l>dAfnF6U?LV_2VNu*BmmDdQg?nu7aBHlyWcV)z59i;TT7WOX4`+L zvj$HC`1|!5LrDbad{`^6oaA;>e;Kem;bjgfKizm9_wznS#;qkf3FwpG@3Z;*ONWn1GYmVLBk7C-sRn;MnifBysJtJd zKAUXa>5E>sT?o5&?#Y%r#3xQhu|)(JL24wsoo8ez>x1yb#K~K{fT9kBr*h-{HnJR^ z#VvXoW?Ka)KxlH#F0|P{xU;<*THv@DNEx7w!g+S%XHZXj1q)*b7`r!96D#(&x9X2| zpHJ$U&FQqLwc=VaaZy|KCMJ@Q=}igp5zAZW49XJ=Oe6v}IWbzOT8|>;LDM)-f-I-O zCwk9kKgX8{Jk>0y)xml4gybAg&V4I)KF5JJRFn+J_)#wFV(d{Ni%?Q2^37fxbZ7HD zM2nU(yxH*K{jT#e0C{;)Z#F6EoUxar1DOed&EWiES%zIIoBkvF`AK&ZuKwMH44JLN zd&F&!QqcO~g@6em>AMcRkj%}hzi_*=Y-F$iQ3y6NwmYH#{&ceT+kv>DZevN3LH`AV zokAK91g_tCL>ee4`IC1A4dWZVfNDgQOP&mhBY8%t6C#la8CJUM_;j6na#Uf}EH zUcN@$#E&;A<(&6j;)>;NSbZ|15XByvLC!`M|NcLOlF7F3Oni^54x- zXxsmwKZw-(pYPKwx&b$@&im?0Y`nv0jB?qzNw8bh@FZpVdD%N|#C|nupW&nI>%@TW z={ek_uXVKm>^Bmcd<|P``BmGz^0}rs$sP4DZU8L)?#N$^si!%^j%a~<@fEhACG-`J zv2i8L$0vo(6Xfek)Vsqq3Vq5omq+EiAGRjZZl_bsoJMYT(r z8m*D=#o&2rlkYQ~)WIHf@*}=UUF7O&C0;_8Qs5K>sJw)F>QnmPWBRj+G=a*58$O-N zX$fa#Ai#)X@;arZ(KXKJMB~+jqbnF-?=a&V_Lt@xnIA+~xB192Xx~od88yYosJ6@Q z<5;IC!G6^LK>$wTE)Kj{Hukbo-k0F6PKJ&NYik|5xp5!m#|aBL`_UgzhpZgmhD|n~ zgB}C>0|Fn^#EaO-g5Xq`)5u=Sj=Y~!hXT`)mIGvU^zGt)q5i0ll>)d;oujNT49;B6DxDuq~qE$7Ht-5UlB?^=KF14$*V`Y!cwda52dSfh3x-fKh4#f-vRbwh^e{g z)N_sP|lSS$+n%rm(eHVQmssCBb94tuBhmst{u+kKQfzpzs@CY5rR>NqNoIsySb?! zg?+^1PsYswu{vxnH0eqG@=wcKAxjqyz`gw(-xt}tsDLK!o_ENAiJ}hw7X8yzaO*XE zIk{xO&^Z6~o6$nOAcvGOX4~T50UU2G0Gl+Zn2{}Nbduf|M6cw5ZS`)CEZu{lqpgzOD6HWpI;`f(+p}{#*b6 literal 0 HcmV?d00001 diff --git a/test/fixtures/plugin.filler/line/dataset/clip-bounds-y-off.js b/test/fixtures/plugin.filler/line/dataset/clip-bounds-y-off.js new file mode 100644 index 00000000000..16a9759bb7d --- /dev/null +++ b/test/fixtures/plugin.filler/line/dataset/clip-bounds-y-off.js @@ -0,0 +1,77 @@ +const labels = [1, 2, 3, 4, 5, 6, 7]; +const values = [65, 59, 80, 81, 56, 55, 40]; + +module.exports = { + description: 'https://github.com/chartjs/Chart.js/issues/12052', + config: { + type: 'line', + data: { + labels, + datasets: [ + { + data: values.map(v => v - 10), + fill: '1', + borderColor: 'rgb(255, 0, 0)', + backgroundColor: 'rgba(255, 0, 0, 0.25)', + yAxisID: 'y1', + }, + { + data: values, + fill: false, + borderColor: 'rgb(255, 0, 0)', + yAxisID: 'y1', + }, + { + data: values, + fill: false, + borderColor: 'rgb(0, 0, 255)', + yAxisID: 'y2', + }, + { + data: values.map(v => v + 10), + fill: '-1', + borderColor: 'rgb(0, 0, 255)', + backgroundColor: 'rgba(0, 0, 255, 0.25)', + yAxisID: 'y2', + } + ] + }, + options: { + clip: false, + animation: false, + responsive: false, + plugins: { + legend: false, + title: false, + tooltip: false + }, + elements: { + point: { + radius: 0 + }, + line: { + cubicInterpolationMode: 'monotone', + borderColor: 'transparent', + tension: 0 + } + }, + scales: { + y2: { + axis: 'y', + stack: 'stack', + max: 80, + display: false, + }, + y1: { + min: 50, + axis: 'y', + stack: 'stack', + display: false, + }, + x: { + display: false, + } + } + } + }, +}; diff --git a/test/fixtures/plugin.filler/line/dataset/clip-bounds-y-off.png b/test/fixtures/plugin.filler/line/dataset/clip-bounds-y-off.png new file mode 100644 index 0000000000000000000000000000000000000000..a2b8766f84d62af6ae178d1b46c2fb7f5b389b72 GIT binary patch literal 36728 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�%WORc5YGPl= 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 J=LkXG{{UVs{fqzr literal 0 HcmV?d00001 diff --git a/test/fixtures/plugin.filler/line/dataset/clip-bounds-y.js b/test/fixtures/plugin.filler/line/dataset/clip-bounds-y.js new file mode 100644 index 00000000000..cbfc6d40381 --- /dev/null +++ b/test/fixtures/plugin.filler/line/dataset/clip-bounds-y.js @@ -0,0 +1,76 @@ +const labels = [1, 2, 3, 4, 5, 6, 7]; +const values = [65, 59, 80, 81, 56, 55, 40]; + +module.exports = { + description: 'https://github.com/chartjs/Chart.js/issues/12052', + config: { + type: 'line', + data: { + labels, + datasets: [ + { + data: values.map(v => v - 10), + fill: '1', + borderColor: 'rgb(255, 0, 0)', + backgroundColor: 'rgba(255, 0, 0, 0.25)', + yAxisID: 'y1', + }, + { + data: values, + fill: false, + borderColor: 'rgb(255, 0, 0)', + yAxisID: 'y1', + }, + { + data: values, + fill: false, + borderColor: 'rgb(0, 0, 255)', + yAxisID: 'y2', + }, + { + data: values.map(v => v + 10), + fill: '-1', + borderColor: 'rgb(0, 0, 255)', + backgroundColor: 'rgba(0, 0, 255, 0.25)', + yAxisID: 'y2', + } + ] + }, + options: { + animation: false, + responsive: false, + plugins: { + legend: false, + title: false, + tooltip: false + }, + elements: { + point: { + radius: 0 + }, + line: { + cubicInterpolationMode: 'monotone', + borderColor: 'transparent', + tension: 0 + } + }, + scales: { + y2: { + axis: 'y', + stack: 'stack', + max: 80, + display: false, + }, + y1: { + min: 50, + axis: 'y', + stack: 'stack', + display: false, + }, + x: { + display: false, + } + } + } + }, +}; diff --git a/test/fixtures/plugin.filler/line/dataset/clip-bounds-y.png b/test/fixtures/plugin.filler/line/dataset/clip-bounds-y.png new file mode 100644 index 0000000000000000000000000000000000000000..137e0315bb205506a6145e2461615ce3870d2c60 GIT binary patch literal 30206 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 XndPRLaI=nX0Q}R@GSI9#j}QMpLs*Zu literal 0 HcmV?d00001 From 817bec0439b0e0666687deef2aefc435ff9710db Mon Sep 17 00:00:00 2001 From: Jacco van den Berg Date: Tue, 15 Apr 2025 15:19:05 +0200 Subject: [PATCH 092/105] Bump version to 4.4.9 (#12062) --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 81e031b56d0..c76c9c5c6d4 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "chart.js", "homepage": "https://www.chartjs.org", "description": "Simple HTML5 charts using the canvas element.", - "version": "4.4.8", + "version": "4.4.9", "license": "MIT", "type": "module", "sideEffects": [ From 9b1306ab0a397ac51a256255770da99f2543afcf Mon Sep 17 00:00:00 2001 From: FabTechAT Date: Tue, 15 Apr 2025 15:31:58 +0200 Subject: [PATCH 093/105] feature: make above/below colors in filler plugin work with pivoted line charts (#12058) * adapted filler plugin to make above/below colors work with pivoted line charts resolved conflicts in src/plugins/plugin.filler/filler.drawing.js * fixed doFill; added tests --- src/plugins/plugin.filler/filler.drawing.js | 54 +++++++++++++++--- .../line/above-below-vertical-linechart.js | 46 +++++++++++++++ .../line/above-below-vertical-linechart.png | Bin 0 -> 52026 bytes 3 files changed, 93 insertions(+), 7 deletions(-) create mode 100644 test/fixtures/plugin.filler/line/above-below-vertical-linechart.js create mode 100644 test/fixtures/plugin.filler/line/above-below-vertical-linechart.png diff --git a/src/plugins/plugin.filler/filler.drawing.js b/src/plugins/plugin.filler/filler.drawing.js index 9abb513cff0..0a718355da8 100644 --- a/src/plugins/plugin.filler/filler.drawing.js +++ b/src/plugins/plugin.filler/filler.drawing.js @@ -24,14 +24,24 @@ function doFill(ctx, cfg) { ctx.save(); - if (property === 'x' && below !== above) { - clipVertical(ctx, target, area.top); - fill(ctx, {line, target, color: above, scale, property, clip}); - ctx.restore(); - ctx.save(); - clipVertical(ctx, target, area.bottom); + let fillColor = below; + if (below !== above) { + if (property === 'x') { + clipVertical(ctx, target, area.top); + fill(ctx, {line, target, color: above, scale, property, clip}); + ctx.restore(); + ctx.save(); + clipVertical(ctx, target, area.bottom); + } else if (property === 'y') { + clipHorizontal(ctx, target, area.left); + fill(ctx, {line, target, color: below, scale, property, clip}); + ctx.restore(); + ctx.save(); + clipHorizontal(ctx, target, area.right); + fillColor = above; + } } - fill(ctx, {line, target, color: below, scale, property, clip}); + fill(ctx, {line, target, color: fillColor, scale, property, clip}); ctx.restore(); } @@ -66,6 +76,36 @@ function clipVertical(ctx, target, clipY) { ctx.clip(); } +function clipHorizontal(ctx, target, clipX) { + const {segments, points} = target; + let first = true; + let lineLoop = false; + + ctx.beginPath(); + for (const segment of segments) { + const {start, end} = segment; + const firstPoint = points[start]; + const lastPoint = points[_findSegmentEnd(start, end, points)]; + if (first) { + ctx.moveTo(firstPoint.x, firstPoint.y); + first = false; + } else { + ctx.lineTo(clipX, firstPoint.y); + ctx.lineTo(firstPoint.x, firstPoint.y); + } + lineLoop = !!target.pathSegment(ctx, segment, {move: lineLoop}); + if (lineLoop) { + ctx.closePath(); + } else { + ctx.lineTo(clipX, lastPoint.y); + } + } + + ctx.lineTo(clipX, target.first().y); + ctx.closePath(); + ctx.clip(); +} + function fill(ctx, cfg) { const {line, target, property, color, scale, clip} = cfg; const segments = _segments(line, target, property); diff --git a/test/fixtures/plugin.filler/line/above-below-vertical-linechart.js b/test/fixtures/plugin.filler/line/above-below-vertical-linechart.js new file mode 100644 index 00000000000..82ada178f01 --- /dev/null +++ b/test/fixtures/plugin.filler/line/above-below-vertical-linechart.js @@ -0,0 +1,46 @@ +module.exports = { + config: { + type: 'line', + data: { + labels: [1, 2, 3, 4], + datasets: [ + { + data: [200, 400, 200, 400], + cubicInterpolationMode: 'monotone', + tension: 0.4, + spanGaps: true, + borderColor: 'blue', + pointRadius: 0, + fill: { + target: 1, + below: 'rgba(255, 0, 0, 0.4)', + above: 'rgba(53, 221, 53, 0.4)', + } + }, + { + data: [400, 200, 400, 200], + cubicInterpolationMode: 'monotone', + tension: 0.4, + spanGaps: true, + borderColor: 'orange', + pointRadius: 0, + }, + ] + }, + options: { + indexAxis: 'y', + // maintainAspectRatio: false, + plugins: { + filler: { + propagate: false + }, + datalabels: { + display: false + }, + legend: { + display: false + }, + } + } + } +}; diff --git a/test/fixtures/plugin.filler/line/above-below-vertical-linechart.png b/test/fixtures/plugin.filler/line/above-below-vertical-linechart.png new file mode 100644 index 0000000000000000000000000000000000000000..2052737e792ea1e9e01d95c2ec55b27eb9accf12 GIT binary patch literal 52026 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 literal 0 HcmV?d00001 From 74961d1c868e47429fc1206679f0c9ba09b75ab5 Mon Sep 17 00:00:00 2001 From: Pierre <73789471+R2Jeu-prive@users.noreply.github.com> Date: Tue, 15 Apr 2025 15:32:13 +0200 Subject: [PATCH 094/105] Add selfJoin option for doughnut graphs (#12054) Co-authored-by: Pierre Gueguen --- src/elements/element.arc.ts | 42 +++++++++++++++++- src/types/index.d.ts | 6 +++ .../controller.doughnut/selfJoin/doughnut.js | 25 +++++++++++ .../controller.doughnut/selfJoin/doughnut.png | Bin 0 -> 14751 bytes .../controller.doughnut/selfJoin/pie.js | 26 +++++++++++ .../controller.doughnut/selfJoin/pie.png | Bin 0 -> 11313 bytes 6 files changed, 97 insertions(+), 2 deletions(-) create mode 100644 test/fixtures/controller.doughnut/selfJoin/doughnut.js create mode 100644 test/fixtures/controller.doughnut/selfJoin/doughnut.png create mode 100644 test/fixtures/controller.doughnut/selfJoin/pie.js create mode 100644 test/fixtures/controller.doughnut/selfJoin/pie.png diff --git a/src/elements/element.arc.ts b/src/elements/element.arc.ts index e2bd26f523b..42f41f045b0 100644 --- a/src/elements/element.arc.ts +++ b/src/elements/element.arc.ts @@ -1,9 +1,42 @@ import Element from '../core/core.element.js'; import {_angleBetween, getAngleFromPoint, TAU, HALF_PI, valueOrDefault} from '../helpers/index.js'; -import {PI, _isBetween, _limitValue} from '../helpers/helpers.math.js'; +import {PI, _angleDiff, _normalizeAngle, _isBetween, _limitValue} from '../helpers/helpers.math.js'; import {_readValueToProps} from '../helpers/helpers.options.js'; import type {ArcOptions, Point} from '../types/index.js'; +function clipSelf(ctx: CanvasRenderingContext2D, element: ArcElement, endAngle: number) { + const {startAngle, x, y, outerRadius, innerRadius, options} = element; + const {borderWidth, borderJoinStyle} = options; + const outerAngleClip = Math.min(borderWidth / outerRadius, _normalizeAngle(startAngle - endAngle)); + ctx.beginPath(); + ctx.arc(x, y, outerRadius - borderWidth / 2, startAngle + outerAngleClip / 2, endAngle - outerAngleClip / 2); + + if (innerRadius > 0) { + const innerAngleClip = Math.min(borderWidth / innerRadius, _normalizeAngle(startAngle - endAngle)); + ctx.arc(x, y, innerRadius + borderWidth / 2, endAngle - innerAngleClip / 2, startAngle + innerAngleClip / 2, true); + } else { + const clipWidth = Math.min(borderWidth / 2, outerRadius * _normalizeAngle(startAngle - endAngle)); + + if (borderJoinStyle === 'round') { + ctx.arc(x, y, clipWidth, endAngle - PI / 2, startAngle + PI / 2, true); + } else if (borderJoinStyle === 'bevel') { + const r = 2 * clipWidth * clipWidth; + const endX = -r * Math.cos(endAngle + PI / 2) + x; + const endY = -r * Math.sin(endAngle + PI / 2) + y; + const startX = r * Math.cos(startAngle + PI / 2) + x; + const startY = r * Math.sin(startAngle + PI / 2) + y; + ctx.lineTo(endX, endY); + ctx.lineTo(startX, startY); + } + } + ctx.closePath(); + + ctx.moveTo(0, 0); + ctx.rect(0, 0, ctx.canvas.width, ctx.canvas.height); + + ctx.clip('evenodd'); +} + function clipArc(ctx: CanvasRenderingContext2D, element: ArcElement, endAngle: number) { const {startAngle, pixelMargin, x, y, outerRadius, innerRadius} = element; @@ -213,7 +246,7 @@ function drawBorder( circular: boolean, ) { const {fullCircles, startAngle, circumference, options} = element; - const {borderWidth, borderJoinStyle, borderDash, borderDashOffset} = options; + const {borderWidth, borderJoinStyle, borderDash, borderDashOffset, borderRadius} = options; const inner = options.borderAlign === 'inner'; if (!borderWidth) { @@ -246,6 +279,10 @@ function drawBorder( clipArc(ctx, element, endAngle); } + if (options.selfJoin && endAngle - startAngle >= PI && borderRadius === 0 && borderJoinStyle !== 'miter') { + clipSelf(ctx, element, endAngle); + } + if (!fullCircles) { pathArc(ctx, element, offset, spacing, endAngle, circular); ctx.stroke(); @@ -276,6 +313,7 @@ export default class ArcElement extends Element { spacing: 0, angle: undefined, circular: true, + selfJoin: false, }; static defaultRoutes = { diff --git a/src/types/index.d.ts b/src/types/index.d.ts index 807fe820879..175336ec793 100644 --- a/src/types/index.d.ts +++ b/src/types/index.d.ts @@ -1847,6 +1847,12 @@ export interface ArcBorderRadius { } export interface ArcOptions extends CommonElementOptions { + /** + * If true, Arc can take up 100% of a circular graph without any visual split or cut. This option doesn't support borderRadius and borderJoinStyle miter + * @default true + */ + selfJoin: boolean; + /** * Arc stroke alignment. */ diff --git a/test/fixtures/controller.doughnut/selfJoin/doughnut.js b/test/fixtures/controller.doughnut/selfJoin/doughnut.js new file mode 100644 index 00000000000..f29939cec2a --- /dev/null +++ b/test/fixtures/controller.doughnut/selfJoin/doughnut.js @@ -0,0 +1,25 @@ +module.exports = { + config: { + type: 'doughnut', + data: { + labels: ['Red'], + datasets: [ + { + // option in dataset + data: [100], + borderWidth: 15, + backgroundColor: '#FF0000', + borderColor: '#000000', + borderAlign: 'center', + selfJoin: true + } + ] + } + }, + options: { + canvas: { + height: 256, + width: 512 + } + } +}; diff --git a/test/fixtures/controller.doughnut/selfJoin/doughnut.png b/test/fixtures/controller.doughnut/selfJoin/doughnut.png new file mode 100644 index 0000000000000000000000000000000000000000..af2d4b438736b45f0b08649e41050d3a17cb5da4 GIT binary patch literal 14751 zcmY*=cRbbc+xPbz2M6Jp*?aGiy_IZFQ0Mk>-t>R`x~dPr%p^rM+g7_v8Kj70|0=6zd`^w9{A&X%8�FK+{N zRiJW+VI2Ti0L^WEeK}a4UfaFdBp6g#p1;t6pN|F;29Qk@D-<|rDznxd0Dk0 z-|6@2YxL;%3a}Yu@E%ecWPH57cy{6+dU7~-@n!e%=B|hKaC$f%A1k ze_RwcZ&=8ns)ar5L7?98Gcz@&ePkz4}BA=@CKyO+2CjaIi3rY!c>V0i4 z>vv!UKcbGf+1wtGc*d$v4UGp(gMLMZEp?nVY0@&@+UroiKC#f1Ev|`1A+l*8xB!K1 z5r35O99#eg$p~yhO_|VIzH*2=e|&*T{5==owo5k)+$e_(ssiT$;7|kmC=^bF(E(1l z8{h)Tp0_R={B*LajQR>F-9m7vD#PzYp`fT3)I{}{`zX>t#jUeIK~!qpX?w(h6!2;V ziE4$tIwl4NP2hLpz=d2tCniHxk>Y?k&LkzeJT&(d;eCaV5(n~Nm~z%5pHc(@iU*?v zXq3}mB4`j1iI6rNbQWMKUzjBHItu+B2+NC%AcDOFm+gb}z36^KeUXR`0{&!?|7nDX zICQ*)zrMN)guyUNAx{wYrZG{<1!Vfb$m;Kj+4l%j@s9NlM)dQC_w5{>z;=ed0?7oG z)b~LyCc#C>ZoOPpj6&R<)kPqSf-;e1?;_*DGal5ggxF_1Drhu&AyBx7n{m;=j!wAB z2et^2Z>QBKP>Zad5Bh4P*|yt5hyXKUPVlr_D3Dc%@+hY&fd00=P%DRG1O~Y7J&psI zue*zC`#OQy87kbyLrDRwD6aIHN*4Z7$gvmPy`Q4NJc?{ zIa*a@2uu=E?a(JXuMAKnqR&csM_-XIkl$!Up%66D*fk`oNG+H#&YlENMJ|%BiqQh( zxb$M?eVvVS6A+#(g#a4z=8;@9S{n#~pj)-`s9qCPdynvY+y6}fECEc-Z0D7cUWIFRc9ULQ9|&I%q<>j+0v;4E;g8Q>;i0Sgxb~HVnAfW-YVN_0=s>Ib zVi~5Z$i7#4sgF6VY4`@W3k5hBk@4v7W5(ax&Q#{2#vVXf?hbFqoxL~?FezHWyZwQj z!0*zjMWkIu1V2R3-)M&*VgsQM=rcCf&W6D>W)IbX_{N{V1%WnxrM`a2o zr6}riC{V4-GJnpQPEIo1uXZ8Ga&lun9dgEi>THlyE!+f+ckP_eC9EHiuF!11rZVKZ zYCqHM___8T6&&#>Z1qD(ERL6rb)-<;lf4SS-E9P)SP;girVLRo-s=nKgnO11v<@_M zxC#?t#(+QB+Us;b-u5go>z*MTR*{$$dwcX?94SQlZO($kCy+T%L%;v>Zw|7c4Ni7B z=uGX;Cin_^ES~?Okf!z{zX<1i<=XX_sb{(uXdKQU#Nl0IW7UU(wy9;xc_w`eI#40U zh_>nE39MZH_f4hrXgd7vyk^5lqgWMZMqM`x@$1lwyZ zg`rD3+`GYoVh)v@PuKt4YDoB~avu@E#p#=u=5iA7NdNs-mK3`)gTY;b2xqMNi7RU# z3qu8VFBDOU8#I1#m(+biD(BGO5vRYpPd)6Jmv;IYk6XUIi>`qDVhH{vrIPrI6n1p+ zJK1;VKwv^^pt%H^-LavW=5VtK7*_asCR6DaEzN1ZG)q-*O8X=%di0Z=4@ zrmz;|eN@O!!5tUUkJ9+4g5t2+inqiJBfIUEe$NP@e{P{Tqb1-nIEv<-(sZiuC@==F zFc{F5Ln3m3OG@-+8B_c=B*#>rkTm>vK!#1h6};K+Y1k)~p}tm#psjSJ^$OiPM=+jI zehK;F^G0~-HemXtZ>lb=;QKtgpm!OAc4OIHR7FytX?U3L-2_wnG8}UGTAaFjaLNcU zgs^34>e<64*<-iYdUs6XJW=9fSxUUYoO3FmZ@|@g1-+!qM3iTkFBgtmZ9VPN-1wRGsTuqf)GDT1pZb#;a!!Z9 zil9JAoPZY4IFALAg8~HfQ{^E@L!hI)r+t7BA_ZE{ETT_28oqauQ{TRzD#mQ@Hpu91 zhNrEHS*WMj;{%$ER`0AwhCj&|N4xSbLF z7B)?>LdKRe*{W$#;_uW?c~G6e$2MWQDfemH77P=R^wB!yslV&?mVFq6x_R~n~JPu;Sr2)g_k@krXbaKW3gS87>* z>ptB4sGmO{&C=0#&xk{B1I7S4w_W*64mAOsh8F7PkVEf+28VR)DMBQm*;?3y%ky_b z&TgH2|C-eIM2U>0jI^cXOiI5;Yk*|TA8$H?msNxk6no5b?c4b5Xt9vd`t%j4ds+Qg zm?7L~*E5 zme(M{M)!UcIs-1BuX!Cwx~qA6APj2r(nHBtZuk zVhpcNM)TIduh?)q>AP|>Bv?g6q32)nXxJ^tlF_}q>KhJ(9V~5sJo)y6G?^i_AnuKU#2qQjY!^Q1Ux>$I5 zs`&NY5tfHUnqeHOg}g8l{OaH>%$9DKq7gZ(z6>Z5zF1S7r!dpZ?$4{yY>0)jQC6~; zr+4AfWRv1#rXf>Kwi)MhfMseAyq5~Bz%tpuRBsSq7eWbL<&eGBWkXnhnl8si39^?Z?On?O`=PE3LG2{SB2M8bc6K})Zl$dA^&g4KhLZ0PNE?>1({Nfl zPlH&S56v1;%69NI|9UY;J8AZ6a?~c0xT1Ume*wvZ)kJ{)4IApRIX zn9o}kNe)u)!~G}@J#dEaD!R);gwxEKc`>*q!4b-;51O>Ia4MhSPCV`6Fkq}_6wASu z0gv#+`u1JE$oGiThxgpXokE$ld?)G%AG7KM&}5u!_MzcLgAUZm_ndT2);$L71yYZq z(ZP_t?tVd1X!eAg8eWugD14R_!}+Z93k6#9*~(K*xQ;58%_u&EDIt0n*n^`vCszH+ zh1d7Y>+zGkI^>`aQABsUBQv5rkw3K4;;2icS# zD|s2i;1o`sbPl+u>=ca3U}D3kuCX(e2GAvKiWN8*wkoo9qKFtWWFV%@dw3Ht`G->- zj$#B49tO3eETzf;71kxt_75WVB3el8IyzyiVg)x)v+N~zQA(TVF%$iuqV1C5)V9Ma zbHLZ7Y@!4jP&UyrzXWxx%2(X1a}#8iA9#zLw>#*&7N1B@yksmDw0(!CbgTLP^=qoz z92Sp7O{~^pzxhj9yn&ZnE{co38+@wFg$ov3^pMc1IWV~0M}C2`-FbFN8m?5cwZ#QY za8)kzAK=_nE)41z+CBs}agZf+O!tI|kpD2EpWSzCfk`x<@;KDf3FKrAYnVY{I554N z~nM+m!F7n!ek*C=Nz!3(BJup2(%E;z9DgBDiHBAk*DoI|H(h>#%oFZ3FQ?+bMG*kcrkKYl_v^O8&q=t=dkwv*d{A z_h2u^Wq&!bs*{qy5aU*;VL4auRqbk(VYUJK7c>qb!deKRVXrg9paZyzQytpbiIr(e zD2pY(e$5aeW%EyM5A~i02WnrHjS2oatn0d^5rbCh%1+B{2lo|v@H5F-H7Ys$>o9A7 z)z~!eHog<{motzknlm^QF}fJWh|Ueo-nz3AAOP$nNiT;02^AcwNNgUyMVvz^1}#5v znCmcG>80Hc{X$^&xyepwK|Ip5nyo2$2-vHAzKVI4PsMn+s`rXXPNo=DiVLO+N@(cS zHX|X2g}e|nB&_CBuRy5VQD=DtSY!Q6c+y1Kgzx!iHY?yECZ#okGed7dG_Um}W(>dd z_6smWKyO#z3U!d7hvmbLME8?@G4rr$IaGKcdb3c-TRCaK{BP*RL!0CNmTQS+Q6L!y zBo+xf|7Sr@Lt`PW3kypPI&K?^B%9iVp8Zs){Pix_`@{H`)~ug>j8TIeLTghsz~M_`E6OjfAMb{R_3pu| zwNQx(lZ78Q4+>_@t&3FBpS2eyA+@6K!Ea%of)U73HQI=1pxLkHOyud^oXY;pvxKPp z6AnMv>E4Y5>h~7c%b!nW)~3TeZUcL$`2>L@2$-NlO_!Tx!gzgi=Ej`ekM9xp8+TYx zyPt*Qp;u=_HQiNb!K`&AEM+yx8L-s(=oTUUMNQLiPwdfIi#Q4bMJx+qtZEEpT(pxomMynR`2sqIi;##LO((5_3O!scHvn;cemTloYwgYDcMo-8tG7Ap%e8r$uCwR$xG!~Ayg54&PGEZ3hv z&#L`3K1=W=o7e`)poc@@TFyuci*JwS&J_s(!V|7zJZbB&T5ESSown^r;G3v!t zJ(-Z|eI*pte7VmzY(yA$6vi1(Y&VJBqA4Wl@ zoejrW74rMKyH<5g5a~gW`_!Kkly8Tpx3*d84koInm)}Scu;brHSWvi+9sF*x;a&c! zL>==O3c*9h8@B6RH<;h}>%75<{73KXZ;3-430jm*)+bSQ z(tjx#sXyJ4e>|zOM~;uA)@DigQo+3i;Zwa-lkTG&QV{`i*@qe*R^*wl{ryrz*3eJR z*G%gpfvwGvSI*to0%sqWB>TSR#Z*1z%O1aHk~snxW}{%6~a2 zekNFwerG1;Oe{E+1WT3ia`i@Ee=}z!7`08LFL?ab%id;vM$+x#Mq$!@W^jKw>+J1T z3_aJbMuHl5w3*8vedSDo7P*0~{6TgW(ogq5WoNEsd0d16hvpx?hIThnmYQEOmvxe8 z%&5`ij^g!Z(mXvjQ_Py=B#nomTqDXOHec?wc6|wXKRfo*S(BZ?fIbo1Lm)N0i)vG_ z_meT{M`u+K3}56N-R3D$o4jN9<3?=6zW0NMunwM`!TqQgGG4^A3ga5enk>9|!imRP zIvrzF($iPd^xb z55K0VP9>=#S}wU18eBJ@uY#Vw7>=rM#YRn`O6P$*rkd-W>KsjzH||SKoU86BDS`p{ zvpK>&PfG@>7Z7KpmgJ)Rw?plsa3Uo0aIY?f{1f?D5p&nM2EfRCL&5lfl%9ai>f^UE z{0=|(MTK`<7PyW7JpfqH6GQG(E+Rl;5>;TL~vxvQ=>L$B*qFG>K(!@ybV~PRdQ=;?9!tC2#s|T;GSJxcqcWA5y0P)PG2K zt&*Nmex4MopVPhRk@eA_Vj6c%k7J*u6D5os@ua^0Uf95e0IV4v*CGVH z7MFo*{(Ox*GE3|9B8U~J zxTL@jVtix-jC@t|)pJq@=BuaIR2P~3szlY54WZpnULKa4YVDfABsJxDRs(8GA?RaE zcH+&$)??KIQb^ZxMf{>UAy6dsE(+6_K~kV?>~9Y>5N7kxHFc;IXneUJYiABJq9kESPohQ5@o*|G~fy_J;@%M75wZr!a8x| z3S6)I#|+c`xSJ*o)1W-MpDa_k{XY7HkmVt?>0ZJ+d4S#1!pIQoHVuREi97B!rOIpv*wZ(8YgMLAW`$dh9icg7IVp8FAab+ZI||;E8A86&C!+cI6-z! zWH}DrMyl72L|CvnRC*2!-gwHWXgY3E&$&m!3$%k9OgO|FiZGNqEeXL3f5!LP4HDqh zj)MkwcHlE}bviv9H{wnWch?&Lp~IGMjqRHkIvT+mFpZb$VZrJ8Kfiu*pc6OfJ?k8N zVzSbv6_kWJRNRmWn#;XzqA*d2Q;o?YJ1uX*De!1XKj=IxyYfA^q*u_X$&s+6K`c*be#+~V>l*A1QL z9lva@sBoFXn6rA~|5fXp%jEkS9?VyPcW>WAXAb*QqDbW!9ku3i`i7~0n@B9T{&2$w zFP^R;(GC8Z$Cd^V3${|u?%Rg}^6eso^mw(;3X1|^&FRC8S8t1#Y*D08Y5O(W2gb+^ zB10sH0+@J|lW&Lr`gMZ8=R`!=&2@m<7JNy(DNlf;E+8#{c~*mQGZHZ=Jatz7o7&0O zp`K6bV|O3@za2@!{qwwsCeDmtt*@+3Jt~vP44s^|iR6&w{6K+Uq|$Nc;io@tUv*>` z;LVmxRd{Hfq0y+RWS5zI5*}0ysnDPw*g7s`+#IRDZEtf&5fVskmYY&t&~d`&T-5T_mb7@;5gc zUrR{`BdrqgTeHW+CZi6od6|Jh%oKZwyA!FP z3*}>VA4Zf>%$x0}xc?ORYJ6rD7rpKb+FdPCay5B6)xJw6H7iCH3kFno5CYF3f+Gz5 z5qj09SE4|9v9NC5)PoYP4IIDs>Gh-#Kik>azs9BYXn{_JX|V-OSw7r)+X(_)Tp-`{ z{shNA9ja$mwWiXd4@=wo-%VDNkj9fXU7(v+;jN$V@ZZBMmUax^7W{Vt^?adLW6hYg zkSiOYd+>Tb)bP)}&av^m|C+bdBE`#buM@t9-^MSqL$l;(0#7`ezNeEKCuvT{qH=zY zmQRY{t(F*%(@%vWZlf4m^&I(twJx#GTwkStc1lvgmCt2w)n6KU{yEY+o^0uvri8b_ z0dIL-0~^({I;LZNU{)gah!S#@eeAQKu6yws=;4#CPa!&426a=0u2oYfJq;!*R&b;~ z3R0JnDiNq5N6DGZ{uJwz0=8U#Wj@9SyDlRUYCd`k_`n~hny-?dyi`-)DAm)hb z=;DS5sH)3mjqJ&z{*LD>gjbyu8X~D{vq-BMOePISD^j0mZMiIP6gRUpK;}oDXZn1` zHdWor-#bvRJZTRoslw5y9jM3#9bjX~Py>{{Qbs9&Z-N*SJ*#GKi$HQljWr;o6 z@{2S90vi6mo7I8-#{=@Xm}ucwh&9c2VFW83W< zE9|MVn|ns_-(R+)4M`Ut6-zRK{QFpm2oL!roZdpM6Lls(h{@kl?7%_y{)Yrq&Qw~F z?92oPxrDeRX-B*7kpS^C|66d$#e!op0`}KLh4u6=Ts?x#x#Tosd(#}S(#3)5IA7G* zF^oP=U#a0(@E;+IQp!uJUlDX_Kaik~7!B*Nbr5#BhaL#GF?L1x8?@&JBy*p&DFWmy zTGR39AHYyU^GWHEhyofk&p#I*+HgO_ z(MQvc4di8kDqGnXE%0zWdpfPB8m#OWYFX<88Cm{ zLWIl^G~iwk2Qz3HKBV&J1A)8ye~|upX;CVtK7O%ha|JV%LW84VoYy}mJippCBF8iV zTaMicgQUHAJWj&U6%Mp5ur=~0FmZD#92h{JoDDttUHkEWt7*PWOnI~`2jp&HU@}59 zs^|;6x@U2d`oxs&+%MiHQdZ!5ey^h9OrU^+$t(MHFdy=S;$B^!yo9egl)l=1y`5d- z@^|4s8Ug(Gbpzk50+U5ps|bLi%R#Gv1Z4j2>u$<2rrImN54;B~T_3vYud)G~Q{6Yu zGwsI}i|)kULx*HM$X#oQVJKhkKV!`6-+?)yrLZ-C4;U#k+MkErm`%9bbcX`ykn4Sy z22Tl;#1{J-1B_5jXrrBTF2PmUYcY8fUe}=$?&;1~lcDzP)q~p`qXLXz8ZE9WoDV8ZxKi_;av6P0rdBAtdSS6IYayHL!~o0m&_xbGg^p_`7zM!RnZ@bD zv1`4RW@fs$*MNX{y>T7kgL68XREe5;ycdH|%bPX(Ai_WNB$ij_4!Mo*^UOkq-euqa zP_BXlss;hKfBPW`wnrAf%juru^=9bx8wh{{(Y!!p5yHw~ml`l11a)l}-KhCeW*oi~e+sLtp3O^t9BI}rGFo18P+Dq2=B`@;rvN~!i^T$b9NR3ixR=#UDp-Z<**o%h zkY7YM#Hf{isE_{wJ(`Drh)aC;Esa2HQRI5eO!{HkA{Vtrg%<6rSNp)bFuwAlc}H+IXTLoCS5nBY2!y|8C6^A_?MKh9Rd3*hJO1 z|DrWEFaPHwU?iv5N4HC-pf8ty+%l8vC|I{(OdF^9yMyYq3S58`gI6Z#EhVst zQVAO9Fq?6YSCcmf)prr_X{B3(n)9AN?KWU?D{vkCngAx|58K08EFR z(+rYp^6rGm3!T*yi17O2fg;a0)0(*F2Y4oYhw{QSIZfY59|EWUhAjZiL%63@h;=-@ zyf|h`CGIarQGhV;V>gWnn;yF3m7F(R@pTMp-rC79m;D)8RO4eHLHYh7v39UFBq+Ak zDbG!Lf^ZwNGyRApr zXJ1hL-|9%;=!RgcJe0!rpldTJw{cHPKFOW8L%Xv_?GdXFYK9{fDMp3<%Po<4H!B9p zVvBndMfV7Lmb@FOdB_^ZPj#3W?CV|^Ep6Xi04eBB*7I$D)C85$9L&N@^G3dMIMgeq z(T5r(^`CkgEZ2Ul_VJeTZ_fOuvc+_l#tvuQx5&%Y!vEt8lD>NjFrN%Xit|f0q#ZF} zy}AQ(Uw1xlq$Bi`x?-a~L*%4>mgcjr0>bFRM@=n(i{IKF{ZkT}Y~;l`zWA4EyGzP- zjVzKmS z;WBpSS_(zSS~=8H0Y3J;a}*2aTe`;l#axEZ+Ep&zdcZuBsFc=;qtW(2Gm$%Wv`3a_-)1+70YjZ|G6Q)9t)uP$EUgsOa6XwtoirpW@jI%0}`S)N6mb zi%|>QoPTukpo#jp%GbA!9(^#?o=5Ln#{ew0KY0ff3iB&W$`1xUEHAd#^(|E;hj|N5 zd8aGFf!CuN;BEvE95`Tg3n`c!5#u|*+utI?>suS*&}lfbCx|VKwW;56x^EF;_^GYz zH_&As`X0YbAkBTx-}-RfLoG=Zp{4re8P~!$FMryXU;B!q47MntL&2qnrjBCiNos-e z&S~n9w#lL?5>5xF-#r`}AMd%Nx~E0Uh628t$II{u^~DtwuO;--757;|L|#055x~!Y z@zphgC{GywQYz@K2>qrR-@UbA5WVFb(swzh1X&fWn2#WNjC@`k@0;q(ndV!>rN70%v&iF%ozoTC#fTwA%X?@R0GS2C{ ziGop_M?(cxI^#-o%R0bodf(!46|6^kKFl|q#s|`;bPn#IXmxV8AO4l;@fF>X4zIG! z_bgN_2Hz$qh|ghYI#( zfqsu485FunSf#s{5J5z`e{pi2l+ol!w=%h5R3TdW#|slOU{^5Td^Ck1C+;dhV+L1} zVLT_47uM&H4w=v?Hj(Pi-b|$O%Wa>{O%|i$oX9ec$5?XX0s_`|2qPbQ@n}S$pMtcn z+0&3h-cY$aM}K&lbet-4$g>!247{oG_t-E4XS)7Ba<=M=UwwGeRCX2RpZ+Fbz*+Fh zbR(|bU#ZNacS^eS*B|xv9PQvwpyiDWiZVgXxsBx{`@}WZi;daSSDxXW>_#pP2jag< zh)64CSB_C?v^V907HLEF7~cBG%#Ho?99^2v>N9-6&xn7<91psVseG$VqOe|hwwN33 z=iK_HTVKH!9M=$c<1>d{R`20xX_LoJaWmH-0)XXPYrbq(K%G2_e!KAF<#3Wki3I38 zL4g+OwoO0X%BiojoH6!Id`%j=O2DMdvhXuSQErsQRtAkU=LdN<>*7DIWcqa`BJa!7 zT&~qUS-y@xQPiK@c+CiKsv-%ovWdy2gL*(cv#6NfFoOgWk&lGB3EXm}saKoMwV+10dVi|Bzy6qgQ zm_V#bbVUVWra>X8RPPvVDAvl|qt^BYy?+MTakNZfl_B{4k>c<>8q6SKl100dB0wTPg zM>;Kwwf;gD9=uSYrpe^kylZApGg|c=mu~`Rx9`!rk1)M9kfCsz%1O&31V=zZ*rMH5 zCkhC!?qzjP8-`8}7fo4mrqx!Pet8$xL2BQYbMc!q(29>=f#bZQ02q8_FdI1g^plyJ z=r;%f+tzxGM|=s-1l@ln7k%^|e+h}rM9^gjUzXAEqE_}!C$K_XCt3Nn-(cr9b8fLA zyo0R(X7r=mcIZ)s-_?`x$bjJ9vOWA)>;^k`Kw4zKv{|Ry4$9Jh%2|31XnY)#AkY}0 zgQcZ=`TwBDYiU-Ss4iu5I&Jzi%FXm$z+f35o>G*xi{AN5f6+G^`ON{e1uQ8gucTbP zipUhc+ivGP+Lip$t*q^9wn6jFOm6>j@>bGS9K$w-n~4MSQVM5MJWDMwq>2V5NR9EF z(Mbv6EA)p1-t^uGlR*u^W*W*pNrkML82vZWQvRRphmiEM5Aom56|&^g=1TAuWG~@> zKVD^(b(=~IX69P%pya?o3YPyWv$G$Y-TWTbI zjJ;Kl6}b87UlaKp$FNVG*YbY3V&YepRFI@$TW14%_kH%?iX;q$gl(;GylAAgf8(D- zM2zoV zz403v*;_r2k6b>{+pzWDf}UE-$fx7CSd!K1CwYtynO|(G(J+qVz1FEI{GwePW-E&1 z=>FKp>dJ^d{^WGGZ=v)NJqQI*Uewmlz$tR&^exkDmKwO)6q@&u@32d~c*Yg=Ez`6n zfC$*3-0SR9b2m;1nXHQ|rFE51I`3pjE2$mvv|A7$xhoy@G!=1>9$v@EY zq^*#{^7bm2hUad>K3|&8zLF^Sek0K0ccqwWSYQ$JS;)ahdiCv21AEr%-wKX6i}@r- z?VDzuM2ryX9$W|8PbXj<#kECvnjBxXF3vQw2c+^N2a_b!J{``WB?o2?3QC4l=;`9; z<7lsJ(>2ppZ$OhrfM$mGT=RCKDl%u*dG1!9We)j}Yaxr;Kho2C(^g9LECn+dzOxk4 zt<$U<$2@<$Jz}N3flCKm@Xr642HGMp?#nAokFxWB91gX^=bz3)G41U-lhVVuK;F7_ zzF5*s(X@r=)B7dGP=W(rFutQfm!+ZMvydi)a2<-5&I^=5ny1SxKCn^1S}4#>=Dmkx z$oD7(SuGlgiepQK4_;9^`JoqD>n=;+90WyyW-4o4i-@D&{5`(SiW(qhaUm(a;y}mb zOucwQ7Me~Z;&iRo0t2+~fZ>t{441cXUkNcqqh-miHe0pG8Zz=0?VlafNhVJVeXlc&xOQ*R z@344dv`Ad1k*q;`{rZt@J53qKuhX`9^HEigZ7Fu5Q0%;h*+jv8$hGT7jH{6K&)OWz z5eY9aO!D+7qugdc^Hkw^N~27CpLyLK;;qgW)$keN^TnnWBaY&g)GV# z{7sHizdkK7)-4Tmc%%0PcL;wk(?>7N@^I(Y^4A}6Nju;Rmf3$u;n%5K`>7+aRlb~2 zxS@hQ0t@w26Si^z!OQ!+mL5IGZ(SmwHdsoPh`uBz@Y0sSY{uVi=gyx_{nR@Mfk7{h z(u|*5G;*q<6Ts<`xQ_utBwDSsHnH{0K1Zr)jJPjB^5UnTT4Ue^BdTEK!(H7}qW!(V z3(6E%Lge?ZogTkbF#Dnz85`Gwdq~N}uUltL$C6V7{>Qd(SgJ!l!JDm7n;!yujRC!X zbn7{a<`-A255+BCw;T$W7uKi9iMty1*SRzKmmUJW~{U2E*k6`!`Z``@zJDq|1K9A6@sD3m&^2u z>$wh_0Ys~^Srlk}MQ# zR4dt&CoeZb61F*1(b$2TRFs$qUIgif+v<(C{CdB&R7@QS@&5-SgT5w>hcwImAP#Fv ziWBAJR|P;kO=}?`Y?dIx=OuxCxA8*0D`7+~BEaN>90^TQDP#F35c?wn5)h@rd-pv8 zv!g%(UEP28E(8#MKI%ajf%Xn3#~0g83+Gg2xdkfHTEB0E26o!0%0%BJ(wW~81`W{MXexwNL=YBGRU5>nF)6%Bq0;#D zK3oUvt^sohBlbOWpez92+G!f6<=&u+_PJ^yA1wRLaIBKH5YE!)7rS~WX0e|SK{|bW ztj+IKeD_vFy=L?))d^t#fTpgfe3FxZ?tttuacYL6M6y`EvQ0&Dsuq%i>mNbO5|UJq z^uTH5cg`5C}PG!gRhXiC0tTM;-)|!tb5C6b- zCoQuQpZOf#FXW}Sgk8UCZ2m(xle0QgD)7pTZC}zvmY~nuST2B$SMLr1qN1U!V5#xYg}1!#U%c3 zd^SR%WlBS@xE}gVNufFlKfisC$jskIAipuQPcV0V^X5Vg+UoY@Vo`fnmU;=Pl^^jy z0Bg0=2><&5kBo$TVr51ccFRwAb=`an5JpSXZv>dm@sU9ru&-&q9tjK&%<>k-8PLA} zw$^LfxEYF0c!+1G4hI4V(a!r*fl@f86lhzh8T<~m$I7KYk^P>`6b8&cUrBy$XAOkI zL|igdrq(5(MN78gpMq^3HcNTq?^l5k%IDzv`^bqxTLdzYh2YvgUUfwca8FL)d&iKT z4+7|J2>vyaP`B?N4i?A(LF${rDUM%$&9>a;F)KNO>98JT?MR zx7Ztu1tRlkBGK)Dq7^QmfDBTy=^i{m4bvAQVnrslRCcba)@Wx8&jtex^0}^-1Pj{T zasHDH!~NU%YZ`@wj`8)q#_hqyw|)tmtSb07BvlNx2@pZ(K{j2RHOrV_lN9;+;hoVT zkPac&KKn?Yq-{EBSiE6`f1&OU02^OaZybyax1dWGav}X*A67K8$O+Vl_r}}4C#|Xc?g_bN$ z++F+fHM2k0~TFa=jf&@beBuH}1sh~iV8Kk*#nzyDW zYUVomkz7JKQ3MuU(}m&TKV}snLNS{JhY+=qqD>$v2Bro=&>L8_?S`bU>aih)?DvN_ zr58HkVAz6z(t2siB_l%uRf1Lf{_bHQ#aI9z%0T=#sT!&{bRHLd-bxp>4x1SlNs2*0 z--2EVk2d__d>>;Akdy@tsChF^Xc>`mT(H8Q;2;lAcR~#h-J}33f@e?eM=1|totV~> z_;wNyccoXcIQfS0Nq_))JUZz*9Y3N+U&d2DIDtEnFc@pSN?~I}xB%oX|>dinR=kJjc#Q_O}Xe@b%Cpqr0 zh-I-*5vyM=WLcaHP*lYq`*ORkYm#r}VUjP94vg3SiC*4%f*7kf#2Qv&vNZ|0T{JLz z=$?emrJPm-o(MSv$(ha08!13(d+aRNpUz{gFuao@%VYcb56-z`L2IO8Qb)tPV|7Cr}- zb+DcNiwoa`#Fo;RAAZ%AqeScx-{=9iON^7aSKRdkTZJ{4 zH25Ibned1|*zT&7c12uLBv1w;!9(XqjQ4IHl6(yUsD*gKG2rmh+k|V4RZ}r8=rJGZ z(o5C$GwmqlU99i6a!y2bvxt~09&(lhm)TX;yA2g$BzVi7;R4!AJ<;XrzTv68Xm#Vf zSYQ?pbN*=GGcc?*y#6fSb8yrxpoKW8z_apMBx}V{&EL_h=VLzxB_8hrQ z^gO1wjQ09MLX_Q~;^AGUP)5Mi%9XQO!zbrFm->feWt!H{0=bL?_K4poxE1t0mE)MT zR$!RlsOs}L3c=jwTebTXqjYCfL%8FYxd`*5 zm$MX5Lo9&RotRaG0qR|{bYcO7z|ohTr5hVB5zR_c;WjuQRbL|bR8{Sx(FpKJ8mNE; zAM6KvpTYZ;Z~cjI?Q@9y=M2<U(f_1OOT!48=pCisXY= zKS#;octDidlzK66`Lr47L*1KiUw``)gI}>lf;bMOevwZ;VviLqrizENCHmmp8Z4;; z!RnlnWCv7ny+$NM&DpsqXJEJ#g2dwIAgT*|_)hbyAVe&vh#{VS=~?b6@w z-R}2vOUyy>u8jvdOJ3bWwmek%+6LG|L=GQaCtWv9i9gY4U+l~+;O@R;1QBf+%>P2x l<|iLCOSrI(5W}vS)1F8;7YkMX1i!chG}ZL(RjMMN{~v;hg}?v+ literal 0 HcmV?d00001 diff --git a/test/fixtures/controller.doughnut/selfJoin/pie.js b/test/fixtures/controller.doughnut/selfJoin/pie.js new file mode 100644 index 00000000000..d0187db0917 --- /dev/null +++ b/test/fixtures/controller.doughnut/selfJoin/pie.js @@ -0,0 +1,26 @@ +module.exports = { + config: { + type: 'pie', + data: { + labels: ['Red'], + datasets: [ + { + // option in dataset + data: [100], + borderWidth: 15, + backgroundColor: '#FF0000', + borderColor: '#000000', + borderAlign: 'center', + borderJoinStyle: 'round', + selfJoin: true + } + ] + } + }, + options: { + canvas: { + height: 256, + width: 512 + } + } +}; diff --git a/test/fixtures/controller.doughnut/selfJoin/pie.png b/test/fixtures/controller.doughnut/selfJoin/pie.png new file mode 100644 index 0000000000000000000000000000000000000000..17a2e3b195132b5cc05f35a951c352acd0b9b0aa GIT binary patch literal 11313 zcmY*XHGXXMCU z5wgecKJ|HjfA9BSc)0HCb-kX~bv>_f-?7GqT2yCP&p;p$DjjVNQwRhAe}zKeWZ;kX zlpc5DUw)=qYLK!X_9X~}8=|A3dNtT?Et9;#Rr66tWEbu}PXUh(E#uP{j|#a}ZD9=8 z&kMroHRzy>8qBj(j>-UFcF?JmoHVh!!;YL3@5-c4tbS#D{aedt!WYVFG#b zJAD1k;)|lPgWrw2!^)Gkzqu^+@vwA5f-U|-t30L>zn#}ieO&)M4xbHViJWAy&6%H; zMTWBMDf(Lf8uJg_nSv?k5mXe|8cAd^ZgiHA;Dr>?gV@v35!KE<7u2cpugEDy?Em4nLJpcH!E5gbm?JG2ERmKJmVjl`O>&9EAQE3*UwPjL*(@%(HzoN~V$n#nKDYNr z7(HCrI&8WeT0)(mS7Gix^h@&`&IJ{zODoLp0Fay`z#LEnWv>FnqMn`o&Ve;mS_9LR zw4f2tD*70z%(tgL0+F*rvYdwsK%(;3E8l1kc=7Z2XgsCundW56Y-j|@3(6OhF4uu;hLs|Z%$4c8Zj#X3aOY`ugYL{p&8Ls zKGu-xKsL>~MJ}iz)KCOVQFXSC2e~K#9%!2t-jNlL7it$h?ndABJ6oGchnTo_p2Uj3 zp(g>v_y>r_Lw9!rQMXXk!t`N|69JzMO2N-(4?OE4P{0=^W-&7Ac*i=zq zFIHj+#$h?fE+7l(K)a;VDc^wq(gQ*nGY)Pp;WAkt;Su-~yvV#Wz%NF$yhT#q!3AK0 zghtygtgsm8A#7;V&mD6!*z^~-!}J~CL=g^s2UDPnM1{;kCe4DbfoxQK&}GlBIQNbi ze+mkZKmkg{b#Ztl{4Ux^MqEf5X}o|-jmwN3fcQYO1Vi?Uws9we6v01MyfksijK`7Y z(MFNWhsD=^BQ1XCKEp7#&68)g9`gF$sE*&`vKC${EUj#ZDHwo?3ks&*F~eFc!Y(Wx zR@UWGx_YBD$p_E*PHz-C_56qrp*2(?FI4Nb&Dng^Gh@q<&St}qq+K{;)UCPS9Tb1R ze7Hn~e=op4z}cbe2Zg=;iSzQ}Ed26YE3bF0XXIWB{mIk7p;S z>SVGB3Zc0myV3QHH7Dn3i0$z0cgfHo%06-$Z{Q`pFJLTW$HpZFRbC!3o9~SD5+w`c z*fYNU^cJ3-RsLwkQRRcYro=}5I}Kb6GMhAs>&ph`5O_DxNSl_r%PfGx^2wGlnZ=u< zi>c)dw)ZBGa-xBZJ1Qk|RgXsQ7!4be)`{o}ZRZo>^>GN;3y72>cGX!0R#X2|-ytXB zscG5J%!A|iU+X#0OQw|9gW_QRAt=S)HTk&;Fvd76P;;K3dyi3V*LaR-=_PyXaxD7h zZt>4hJ_*m;SYxf-S7k05G!l>S7ah$yZnS?>7Gb<9_=b^&SBSk|{W(e=Jn?DUkVP>c zZYEp+STPr09gnxqS*D+rHD>&v#Who#dw|PonXt{gs8CZOZ+!cwi7lG*H5=?`e<<

Q0Zb{8`W9P+^<9!Lk<*{ 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 bQxd9MpOr03uAc+H0fy*k8fuiOIo$hyfUQq9 literal 0 HcmV?d00001 From f46572e19a039792dae1553007dc7d38030c9eb1 Mon Sep 17 00:00:00 2001 From: Josh Kelley Date: Fri, 18 Apr 2025 07:15:57 -0400 Subject: [PATCH 095/105] Add beforeEvent changed (#12063) --- src/types/index.d.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/types/index.d.ts b/src/types/index.d.ts index 175336ec793..898a2c821cb 100644 --- a/src/types/index.d.ts +++ b/src/types/index.d.ts @@ -1080,9 +1080,10 @@ export interface Plugin exte * @param {ChartEvent} args.event - The event object. * @param {boolean} args.replay - True if this event is replayed from `Chart.update` * @param {boolean} args.inChartArea - The event position is inside chartArea + * @param {boolean} [args.changed] - Set to true if the plugin needs a render. Should only be changed to true, because this args object is passed through all plugins. * @param {object} options - The plugin options. */ - beforeEvent?(chart: Chart, args: { event: ChartEvent, replay: boolean, cancelable: true, inChartArea: boolean }, options: O): boolean | void; + beforeEvent?(chart: Chart, args: { event: ChartEvent, replay: boolean, changed?: boolean; cancelable: true, inChartArea: boolean }, options: O): boolean | void; /** * @desc Called after the `event` has been consumed. Note that this hook * will not be called if the `event` has been previously discarded. From 3361a637052c2e51d5bcf077e727e06a53941a3a Mon Sep 17 00:00:00 2001 From: Josh Kelley Date: Fri, 18 Apr 2025 07:16:34 -0400 Subject: [PATCH 096/105] Require 'this' when calling tick formatters (#12064) The `numeric` and `logarithmic` tick formatters require that `this` be provided. That happens automatically if they're used directly as a tick callback but not if they're invoked manually. Failing to pass `this` results in runtime errors similar to the following: ``` TypeError: Cannot read properties of undefined (reading 'chart') ``` --- src/types/index.d.ts | 4 ++-- test/types/ticks/ticks.ts | 15 +++++++++++++++ 2 files changed, 17 insertions(+), 2 deletions(-) create mode 100644 test/types/ticks/ticks.ts diff --git a/src/types/index.d.ts b/src/types/index.d.ts index 898a2c821cb..69a4cfccbc5 100644 --- a/src/types/index.d.ts +++ b/src/types/index.d.ts @@ -1519,7 +1519,7 @@ export declare const Ticks: { * @param ticks the list of ticks being converted * @return string representation of the tickValue parameter */ - numeric(tickValue: number, index: number, ticks: { value: number }[]): string; + numeric(this: Scale, tickValue: number, index: number, ticks: { value: number }[]): string; /** * Formatter for logarithmic ticks * @param tickValue the value to be formatted @@ -1527,7 +1527,7 @@ export declare const Ticks: { * @param ticks the list of ticks being converted * @return string representation of the tickValue parameter */ - logarithmic(tickValue: number, index: number, ticks: { value: number }[]): string; + logarithmic(this: Scale, tickValue: number, index: number, ticks: { value: number }[]): string; }; }; diff --git a/test/types/ticks/ticks.ts b/test/types/ticks/ticks.ts new file mode 100644 index 00000000000..a5a9e28bef8 --- /dev/null +++ b/test/types/ticks/ticks.ts @@ -0,0 +1,15 @@ +import { Chart, Ticks } from '../../../src/types.js'; + +// @ts-expect-error The 'this' context... is not assignable to method's 'this' of type 'Scale'. +Ticks.formatters.numeric(0, 0, [{ value: 0 }]); + +const chart = new Chart('test', { + type: 'line', + data: { + datasets: [{ + data: [{ x: 1, y: 1 }] + }] + }, +}); + +Ticks.formatters.numeric.call(chart.scales.x, 0, 0, [{ value: 0 }]); From bcc7681ba1cb3c4089332d93903a881ce1b6f396 Mon Sep 17 00:00:00 2001 From: Lucas Leung <66652566+lucasleung8@users.noreply.github.com> Date: Fri, 25 Apr 2025 07:47:44 -0400 Subject: [PATCH 097/105] Fix minor typo (#12068) --- docs/axes/cartesian/linear.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/axes/cartesian/linear.md b/docs/axes/cartesian/linear.md index f534a4d9b82..fae3b98d11b 100644 --- a/docs/axes/cartesian/linear.md +++ b/docs/axes/cartesian/linear.md @@ -97,4 +97,4 @@ module.exports = { ## Internal data format -Internally, the linear scale uses numeric data +Internally, the linear scale uses numeric data. From 8ea47cad19ec894319f74fde340e8bc8d79fc370 Mon Sep 17 00:00:00 2001 From: Xavier Leune Date: Thu, 5 Jun 2025 17:27:56 +0200 Subject: [PATCH 098/105] Fix: display stacked bar with multiple x-Axis (#12070) --- src/controllers/controller.bar.js | 32 +++++++-- .../stacking/stacked-and-multiple-axis.js | 64 ++++++++++++++++++ .../stacking/stacked-and-multiple-axis.png | Bin 0 -> 14649 bytes 3 files changed, 92 insertions(+), 4 deletions(-) create mode 100644 test/fixtures/controller.bar/stacking/stacked-and-multiple-axis.js create mode 100644 test/fixtures/controller.bar/stacking/stacked-and-multiple-axis.png diff --git a/src/controllers/controller.bar.js b/src/controllers/controller.bar.js index 82138f3fb74..554497b3053 100644 --- a/src/controllers/controller.bar.js +++ b/src/controllers/controller.bar.js @@ -486,6 +486,27 @@ export default class BarController extends DatasetController { return this._getStacks(undefined, index).length; } + _getAxisCount() { + return this._getAxis().length; + } + + getFirstScaleIdForIndexAxis() { + const scales = this.chart.scales; + const indexScaleId = this.chart.options.indexAxis; + return Object.keys(scales).filter(key => scales[key].axis === indexScaleId).shift(); + } + + _getAxis() { + const axis = {}; + const firstScaleAxisId = this.getFirstScaleIdForIndexAxis(); + for (const dataset of this.chart.data.datasets) { + axis[valueOrDefault( + this.chart.options.indexAxis === 'x' ? dataset.xAxisID : dataset.yAxisID, firstScaleAxisId + )] = true; + } + return Object.keys(axis); + } + /** * Returns the stack index for the given dataset based on groups and bar visibility. * @param {number} [datasetIndex] - The dataset index @@ -618,13 +639,15 @@ export default class BarController extends DatasetController { const skipNull = options.skipNull; const maxBarThickness = valueOrDefault(options.maxBarThickness, Infinity); let center, size; + const axisCount = this._getAxisCount(); if (ruler.grouped) { const stackCount = skipNull ? this._getStackCount(index) : ruler.stackCount; const range = options.barThickness === 'flex' - ? computeFlexCategoryTraits(index, ruler, options, stackCount) - : computeFitCategoryTraits(index, ruler, options, stackCount); - - const stackIndex = this._getStackIndex(this.index, this._cachedMeta.stack, skipNull ? index : undefined); + ? computeFlexCategoryTraits(index, ruler, options, stackCount * axisCount) + : computeFitCategoryTraits(index, ruler, options, stackCount * axisCount); + const axisID = this.chart.options.indexAxis === 'x' ? this.getDataset().xAxisID : this.getDataset().yAxisID; + const axisNumber = this._getAxis().indexOf(valueOrDefault(axisID, this.getFirstScaleIdForIndexAxis())); + const stackIndex = this._getStackIndex(this.index, this._cachedMeta.stack, skipNull ? index : undefined) + axisNumber; center = range.start + (range.chunk * stackIndex) + (range.chunk / 2); size = Math.min(maxBarThickness, range.chunk * range.ratio); } else { @@ -633,6 +656,7 @@ export default class BarController extends DatasetController { size = Math.min(maxBarThickness, ruler.min * ruler.ratio); } + return { base: center - size / 2, head: center + size / 2, diff --git a/test/fixtures/controller.bar/stacking/stacked-and-multiple-axis.js b/test/fixtures/controller.bar/stacking/stacked-and-multiple-axis.js new file mode 100644 index 00000000000..ca5490a9291 --- /dev/null +++ b/test/fixtures/controller.bar/stacking/stacked-and-multiple-axis.js @@ -0,0 +1,64 @@ +module.exports = { + config: { + type: 'bar', + data: { + labels: ['January', 'February', 'March', 'April', 'May', 'June', 'July'], + datasets: [ + { + label: 'Dataset 1', + data: [100, 90, 100, 50, 99, 87, 34], + backgroundColor: 'rgba(255,99,132,0.8)', + stack: 'a', + xAxisID: 'x' + }, + { + label: 'Dataset 2', + data: [20, 25, 30, 32, 58, 14, 12], + backgroundColor: 'rgba(54,162,235,0.8)', + stack: 'b', + xAxisID: 'x2' + }, + { + label: 'Dataset 3', + data: [80, 30, 40, 60, 70, 80, 47], + backgroundColor: 'rgba(75,192,192,0.8)', + stack: 'a', + xAxisID: 'x3' + }, + { + label: 'Dataset 4', + data: [80, 30, 40, 60, 70, 80, 47], + backgroundColor: 'rgba(54,162,235,0.8)', + stack: 'a', + xAxisID: 'x3' + }, + ] + }, + options: { + plugins: false, + barThickness: 'flex', + scales: { + x: { + stacked: true, + display: false, + }, + x2: { + labels: ['January 2024', 'February 2024', 'March 2024', 'April 2024', 'May 2024', 'June 2024', 'July 2024'], + stacked: true, + display: false, + }, + x3: { + labels: ['January 2025', 'February 2025', 'March 2025', 'April 2025', 'May 2025', 'June 2025', 'July 2025'], + stacked: true, + display: false, + }, + y: { + stacked: true, + display: false, + } + } + } + }, + options: { + } +}; diff --git a/test/fixtures/controller.bar/stacking/stacked-and-multiple-axis.png b/test/fixtures/controller.bar/stacking/stacked-and-multiple-axis.png new file mode 100644 index 0000000000000000000000000000000000000000..ea571109e90cad2295defb015a131c52b009c9a3 GIT binary patch literal 14649 zcmeHNX;_nImwpm90dd2s1r=IUv@W=yhyqE~A}zAC_7a6+P}`zJh-DEGLZTg|s0eCX zRD@tr(9wVtLkb9qbpu5r27$7K)kMUwB_w2@^9HcmUNiH}HS^84@yEQxC-1YIbMAAW z`#g!h-Wx5righ%r1m%(Z?G;{QSUn zaWm~zPjFyMe|H4?^30XT>NAR$5-pE5ez(c<5bg*5<`WGMzgB;{qvNyH2|McAJUq4t z@r&=>IniqK$m%pM-`@4?d)B7y>wGl%;lA_d&0JeQ;}_-~V)nj#aw;PtrrE|u!|qi{ij=nm=S}2t_1T7#TFHgRo|2)imcE;@RrmUB1ZjDySEs&} zrymcFIf^%%pUL%e*r(`M<(2gvHW#o$8AU7;Z;tROnN6)C4f1?StPt8iD7+AWGt&P1 zG(^u2n~nU*Ww;sS1?lcMqaU{+biddS!GElJx@W3yP`(igx_-?Fp&4X5Y{0YtY=HmR zfU$EJ^M`-%xTvqjJ7~E!fwJ;DG-VyzRr@kOLHDALBtM}m6GynKUC@cBg#d)RLND>> z-^en`{iP#1kK`q>hM_L3SRWFt%c9XO_%6?YyOj<2xwO`OO%i@BfWyE&95JjW0=~-> zmBpmuk1s|@5rVUIdg+Wq=t)G&Ezd*u0Da7X}; z!%a@TpJ51OOInON-CgbByMsMx(F<~J%9~7!;dX*?DWQbZ!9$aTVUCLlN+sVY@x}d z0CzkDM z6rC7~LFE9GZvfP5s5Bh=R-ZD)&S5xpj-A8UIRJqf!-rua_m`YQ;yAj(Ml)nyRdGlw z@1^ZfKH(_&5d+t28zRC=dfRhoclbTd(|NH6C}lkb8z%^&mt;JDmsHA)lh(6Y&(u+k z@}gFDHY5H~?_S+ZpRGB-9Q}bH=y~i;5~|EQ$Uh_-^wHgQc7Bp2e#TEs;~enLFhZga zcCkg38j5Q3SIg_Cv&;~&$_N!r9wx8cWK{gh8bwyb3AW>rGnRQ? zGmxJt=*e73Ol-w`be0s`?Zh_srWMiP+)vyhL6t!O3^pnBEmyMR9#wsKmveU` zBA%Rx`NdQ#O{D>^Xdguxlu>Cp@l{~>^VE}@CZ>l@0m+F{?R*x|BPR7b^iM`99R|cO zLv#dO#?Dn#s9F-QbaD}Az!bAbC7|aYTc$xx<@G43-x-z5(eMN~;z`IR)gG2;>C@2b zv}vgPF<1;wUk3&~1y5Fc@W{P5X^;oZVT8h0VD6Op1YB?qJh`7o^iyHGGzGw~jQ@hoxZ}BT z8YYk8vn}v@pIP%}H>=tsA24Y*1|y8)5E_4A0U2A#qStd=x`_5k>jOhWQiYon5@UL^ zyM`LQLp2w0HV7GPe`p0;ooW96y@|h#MUwDz#Y%$q@cs`~r{dZjmua+-YN3ti=5BQ? zDrYS*`Lhiz4Cr;Gns=B?!8xA`^RiVrjV;QDj;tz<3H=K=v@BzE#KRy7afzwV|8sS2&wiQ2aQtcCuwa%VbC{ncRAD_uJk*%)or{3Q?(|8JqCUa;;jfZqL({nmfb| zrN@Np5=�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 literal 0 HcmV?d00001 From 4bd8cf4ad203dde4f3954fd11e5d04ce1d3f3a19 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=A0=84=EC=84=B1=ED=98=B8?= Date: Fri, 6 Jun 2025 20:54:37 +0900 Subject: [PATCH 099/105] Update docs for Developers API (#12082) - .update(): add documentation for function argument support - isDatasetVisible(): add missing method documentation with example - getDataVisibility(): fix anchor link for toggleDataVisibility - Static: unregister(): add example --- docs/developers/api.md | 27 ++++++++++++++++++++++++--- 1 file changed, 24 insertions(+), 3 deletions(-) diff --git a/docs/developers/api.md b/docs/developers/api.md index 11ece0128a6..2662f68f8a5 100644 --- a/docs/developers/api.md +++ b/docs/developers/api.md @@ -25,13 +25,19 @@ Triggers an update of the chart. This can be safely called after updating the da myLineChart.data.datasets[0].data[2] = 50; // Would update the first dataset's value of 'March' to be 50 myLineChart.update(); // Calling update now animates the position of March from 90 to 50. ``` +A `mode` can be provided to indicate transition configuration should be used. This can be either: -A `mode` string can be provided to indicate transition configuration should be used. Core calls this method using any of `'active'`, `'hide'`, `'reset'`, `'resize'`, `'show'` or `undefined`. `'none'` is also a supported mode for skipping animations for single update. Please see [animations](../configuration/animations.md) docs for more details. +- **string value**: Core calls this method using any of `'active'`, `'hide'`, `'reset'`, `'resize'`, `'show'` or `undefined`. `'none'` is also supported for skipping animations for single update. Please see [animations](../configuration/animations.md) docs for more details. -Example: +- **function**: that receives a context object `{ datasetIndex: number }` and returns a mode string, allowing different modes per dataset. +Examples: ```javascript +// Using string mode myChart.update('active'); + +// Using function mode for dataset-specific animations +myChart.update(ctx => ctx.datasetIndex === 0 ? 'active' : 'none'); ``` See [Updating Charts](updates.md) for more details. @@ -141,6 +147,15 @@ Returns the number of datasets that are currently not hidden. ```javascript const numberOfVisibleDatasets = chart.getVisibleDatasetCount(); ``` +## isDatasetVisible(datasetIndex) + +Returns a boolean if a dataset at the given index is currently visible. + +The visibility is determined by first checking the hidden property in the dataset metadata (set via [`setDatasetVisibility()`](#setdatasetvisibility-datasetindex-visibility) and accessible through [`getDatasetMeta()`](#getdatasetmeta-index)). If this is not set, the hidden property of the dataset object itself (`chart.data.datasets[n].hidden`) is returned. + +```javascript +chart.isDatasetVisible(1); +``` ## setDatasetVisibility(datasetIndex, visibility) @@ -162,7 +177,7 @@ chart.update(); // chart now renders with item hidden ## getDataVisibility(index) -Returns the stored visibility state of a data index for all datasets. Set by [toggleDataVisibility](#toggleDataVisibility). A dataset controller should use this method to determine if an item should not be visible. +Returns the stored visibility state of a data index for all datasets. Set by [toggleDataVisibility](#toggledatavisibility-index). A dataset controller should use this method to determine if an item should not be visible. ```javascript const visible = chart.getDataVisibility(2); @@ -229,3 +244,9 @@ Chart.register(Tooltip, LinearScale, PointElement, BubbleController); ## Static: unregister(chartComponentLike) Used to unregister plugins, axis types or chart types globally from all your charts. + +```javascript +import { Chart, Tooltip, LinearScale, PointElement, BubbleController } from 'chart.js'; + +Chart.unregister(Tooltip, LinearScale, PointElement, BubbleController); +``` From c86116dbca6887a4c89125e7f5edd85869118cfd Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 6 Jun 2025 13:55:10 +0200 Subject: [PATCH 100/105] Bump pnpm/action-setup from 4.0.0 to 4.1.0 (#12025) Bumps [pnpm/action-setup](https://github.com/pnpm/action-setup) from 4.0.0 to 4.1.0. - [Release notes](https://github.com/pnpm/action-setup/releases) - [Commits](https://github.com/pnpm/action-setup/compare/v4.0.0...v4.1.0) --- updated-dependencies: - dependency-name: pnpm/action-setup dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/ci.yml | 2 +- .github/workflows/compressed-size.yml | 2 +- .github/workflows/deploy-docs.yml | 2 +- .github/workflows/release.yml | 4 ++-- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 2432e914909..c1264017cd3 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -31,7 +31,7 @@ jobs: steps: - uses: actions/checkout@v4 - - uses: pnpm/action-setup@v4.0.0 + - uses: pnpm/action-setup@v4.1.0 - name: Use Node.js uses: actions/setup-node@v4 with: diff --git a/.github/workflows/compressed-size.yml b/.github/workflows/compressed-size.yml index 24cc40e3310..a79a28f8d25 100644 --- a/.github/workflows/compressed-size.yml +++ b/.github/workflows/compressed-size.yml @@ -17,7 +17,7 @@ jobs: steps: - uses: actions/checkout@v4 - - uses: pnpm/action-setup@v4.0.0 + - uses: pnpm/action-setup@v4.1.0 - uses: preactjs/compressed-size-action@v2 with: repo-token: "${{ secrets.GITHUB_TOKEN }}" diff --git a/.github/workflows/deploy-docs.yml b/.github/workflows/deploy-docs.yml index 0a6486d5697..949a4ec2118 100644 --- a/.github/workflows/deploy-docs.yml +++ b/.github/workflows/deploy-docs.yml @@ -24,7 +24,7 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - - uses: pnpm/action-setup@v4.0.0 + - uses: pnpm/action-setup@v4.1.0 - name: Use Node.js uses: actions/setup-node@v4 with: diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 802c749c6b0..93699285c06 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -27,7 +27,7 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - - uses: pnpm/action-setup@v4.0.0 + - uses: pnpm/action-setup@v4.1.0 - uses: actions/setup-node@v4 with: registry-url: https://registry.npmjs.org/ @@ -72,7 +72,7 @@ jobs: if: "!github.event.release.prerelease" steps: - uses: actions/checkout@v4 - - uses: pnpm/action-setup@v4.0.0 + - uses: pnpm/action-setup@v4.1.0 - uses: actions/setup-node@v4 with: registry-url: https://registry.npmjs.org/ From 14d66be764d422e6c6711bc2479f25646c70a8e0 Mon Sep 17 00:00:00 2001 From: nakanoh Date: Tue, 10 Jun 2025 19:17:06 +0900 Subject: [PATCH 101/105] fix: correct grammar in segment comments (#12084) --- src/plugins/plugin.filler/filler.target.stack.js | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/plugins/plugin.filler/filler.target.stack.js b/src/plugins/plugin.filler/filler.target.stack.js index 006c5737fea..8c6d0532c12 100644 --- a/src/plugins/plugin.filler/filler.target.stack.js +++ b/src/plugins/plugin.filler/filler.target.stack.js @@ -65,13 +65,12 @@ function addPointsBelow(points, sourcePoint, linesBelow) { continue; } if (first) { - // First point of an segment -> need to add another point before this, - // from next line below. + // First point of a segment -> need to add another point before this, postponed.unshift(point); } else { points.push(point); if (!last) { - // In the middle of an segment, no need to add more points. + // In the middle of a segment, no need to add more points. break; } } From debdf07c1ddb13099b21d7f2bc0f1e902922de28 Mon Sep 17 00:00:00 2001 From: William Entriken Date: Tue, 10 Jun 2025 08:31:41 -0400 Subject: [PATCH 102/105] Fix min js two renames (#11470) * Name artifact chart.umd.js, fixes #11455 * Add (.min)? to karma filter --- .github/ISSUE_TEMPLATE/bug.yml | 2 +- docs/developers/contributing.md | 2 +- docs/getting-started/integration.md | 6 +++--- docs/migration/v4-migration.md | 2 +- karma.conf.cjs | 2 +- package.json | 5 +++-- rollup.config.js | 16 +++++++++++++++- test/BasicChartWebWorker.js | 2 +- 8 files changed, 26 insertions(+), 11 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/bug.yml b/.github/ISSUE_TEMPLATE/bug.yml index b04b9fa33b8..ffccce5de0b 100644 --- a/.github/ISSUE_TEMPLATE/bug.yml +++ b/.github/ISSUE_TEMPLATE/bug.yml @@ -45,7 +45,7 @@ body: For typescript issues you can make use of [this TS Playground](https://www.typescriptlang.org/play?#code/JYWwDg9gTgLgBAbzgYQBYENZwL5wGZQQhwDkAxhrAHQBWAziQNwCwAUGwG6ZxkwAecALxwAJhDIBXEAFMAdjCoBzaTACiAG2kz5AIQCeASREAKAEQg9aTDFMBKOOjpwAEgBUAsgBlk6WVzoaWnIwLKxcUHAWVljCstIA7iiUMMa8fAA0iGxwOXAwemDSAFyk6sBxJOnZuSLoMOglCNW5ueroAEbS6nQlANqmAErSIqaZpjrqEtKjcKYAml3qEPEzpgDiUNJyqwAKElBgmqsA8lC+yqYAulWsLS219XQqPXC9Tbd3n22d6iUkAMRwCB4OAANQgMGkDBun0+DwarwAjAAmTKIgCcmQAzJkAKyZVFwLHXZp3bCXUnYGG5CBgGDACCyF7vT50MjoTTM0ktPiNbl3fk5KmCuB6PkfWFwEXYfkyiU4NjYWyMIA) to make a reproducible sample. If filing a bug against `master`, you may reference the latest code via - https://www.chartjs.org/dist/master/chart.umd.js (changing the filename to + https://www.chartjs.org/dist/master/chart.umd.min.js (changing the filename to point at the file you need as appropriate). Do not rely on these files for production purposes as they may be removed at any time. validations: diff --git a/docs/developers/contributing.md b/docs/developers/contributing.md index 96c3d05d800..a5bb44566c0 100644 --- a/docs/developers/contributing.md +++ b/docs/developers/contributing.md @@ -74,6 +74,6 @@ Guidelines for reporting bugs: - Check the issue search to see if it has already been reported - Isolate the problem to a simple test case -- Please include a demonstration of the bug on a website such as [JS Bin](https://jsbin.com/), [JS Fiddle](https://jsfiddle.net/), or [Codepen](https://codepen.io/pen/). ([Template](https://codepen.io/pen?template=wvezeOq)). If filing a bug against `master`, you may reference the latest code via (changing the filename to point at the file you need as appropriate). Do not rely on these files for production purposes as they may be removed at any time. +- Please include a demonstration of the bug on a website such as [JS Bin](https://jsbin.com/), [JS Fiddle](https://jsfiddle.net/), or [Codepen](https://codepen.io/pen/). ([Template](https://codepen.io/pen?template=wvezeOq)). If filing a bug against `master`, you may reference the latest code via (changing the filename to point at the file you need as appropriate). Do not rely on these files for production purposes as they may be removed at any time. Please provide any additional details associated with the bug, if it's browser or screen density specific, or only happens with a certain configuration or data. diff --git a/docs/getting-started/integration.md b/docs/getting-started/integration.md index a83e49574e8..3d0c92c4530 100644 --- a/docs/getting-started/integration.md +++ b/docs/getting-started/integration.md @@ -7,7 +7,7 @@ If you're using a front-end framework (e.g., React, Angular, or Vue), please see ## Script Tag ```html - + @@ -122,10 +122,10 @@ const { Chart } = await import('chart.js'); ## RequireJS -**Important:** RequireJS can load only [AMD modules](https://requirejs.org/docs/whyamd.html), so be sure to require one of the UMD builds instead (i.e. `dist/chart.umd.js`). +**Important:** RequireJS can load only [AMD modules](https://requirejs.org/docs/whyamd.html), so be sure to require one of the UMD builds instead (i.e. `dist/chart.umd.min.js`). ```javascript -require(['path/to/chartjs/dist/chart.umd.js'], function(Chart){ +require(['path/to/chartjs/dist/chart.umd.min.js'], function(Chart){ const myChart = new Chart(ctx, {...}); }); ``` diff --git a/docs/migration/v4-migration.md b/docs/migration/v4-migration.md index 8e014bb8982..8048c5cae93 100644 --- a/docs/migration/v4-migration.md +++ b/docs/migration/v4-migration.md @@ -30,7 +30,7 @@ A number of changes were made to the configuration options passed to the `Chart` * Time and timeseries scales use `ticks.stepSize` instead of `time.stepSize`, which has been removed. * `maxTickslimit` won't be used for the ticks in `autoSkip` if the determined max ticks is less then the `maxTicksLimit`. * `dist/chart.js` has been removed. -* `dist/chart.min.js` has been renamed to `dist/chart.umd.js`. +* `dist/chart.min.js` has been renamed to `dist/chart.umd.min.js` (and before 4.5.0 `dist/chart.umd.js`). * `dist/chart.esm.js` has been renamed to `dist/chart.js`. #### Type changes diff --git a/karma.conf.cjs b/karma.conf.cjs index 61122bd97e5..1306c412e24 100644 --- a/karma.conf.cjs +++ b/karma.conf.cjs @@ -20,7 +20,7 @@ module.exports = async function(karma) { // we will prefer the unminified build which is easier to browse and works // better with source mapping. In other cases, pick the minified build to // make sure that the minification process (terser) doesn't break anything. - const regex = /chart\.umd\.js$/; + const regex = /chart\.umd(\.min)?\.js$/; const build = builds.filter(v => v.output.file && v.output.file.match(regex))[0]; if (karma.autoWatch) { diff --git a/package.json b/package.json index c76c9c5c6d4..c762573b067 100644 --- a/package.json +++ b/package.json @@ -8,10 +8,11 @@ "sideEffects": [ "./auto/auto.js", "./auto/auto.cjs", + "./dist/chart.umd.min.js", "./dist/chart.umd.js" ], - "jsdelivr": "./dist/chart.umd.js", - "unpkg": "./dist/chart.umd.js", + "jsdelivr": "./dist/chart.umd.min.js", + "unpkg": "./dist/chart.umd.min.js", "main": "./dist/chart.cjs", "module": "./dist/chart.js", "exports": { diff --git a/rollup.config.js b/rollup.config.js index c6a77531048..b396488c148 100644 --- a/rollup.config.js +++ b/rollup.config.js @@ -45,7 +45,21 @@ const plugins = (minify) => export default [ // UMD build - // dist/chart.umd.js + // dist/chart.umd.min.js + { + input: 'src/index.umd.ts', + plugins: plugins(true), + output: { + name: 'Chart', + file: 'dist/chart.umd.min.js', + format: 'umd', + indent: false, + sourcemap: true, + }, + }, + + // UMD build + // dist/chart.umd.js (old filename) { input: 'src/index.umd.ts', plugins: plugins(true), diff --git a/test/BasicChartWebWorker.js b/test/BasicChartWebWorker.js index 900084ffe2a..7a7bd1dc4da 100644 --- a/test/BasicChartWebWorker.js +++ b/test/BasicChartWebWorker.js @@ -6,7 +6,7 @@ // Sends messages with data of types: { type: 'success' } | { type: 'error', errorMessage: string } // eslint-disable-next-line no-undef -importScripts('../src/chart.umd.js'); +importScripts('../src/chart.umd.min.js'); onmessage = function(event) { try { From 59ffa84202428a1f8dac6cacbecfb5e268e8f0f9 Mon Sep 17 00:00:00 2001 From: Jacco van den Berg Date: Wed, 11 Jun 2025 21:21:55 +0200 Subject: [PATCH 103/105] Fix minified url for development builds (#12087) --- docs/developers/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/developers/index.md b/docs/developers/index.md index d1e78e97a45..b48290f4fbf 100644 --- a/docs/developers/index.md +++ b/docs/developers/index.md @@ -14,7 +14,7 @@ The latest documentation and samples, including unreleased features, are availab Latest builds are available for testing at: - -- +- :::warning Warning From e106aa93423a5d509108a5a5b39ef20f2343f04f Mon Sep 17 00:00:00 2001 From: Finn Moore <85089563+ffdm@users.noreply.github.com> Date: Wed, 11 Jun 2025 15:22:48 -0400 Subject: [PATCH 104/105] Fix grammar typo: '... and only draw line.' -> '... and only draw lines.' (#12088) --- docs/general/performance.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/general/performance.md b/docs/general/performance.md index 9262630e9c0..1fedf4d62ba 100644 --- a/docs/general/performance.md +++ b/docs/general/performance.md @@ -161,7 +161,7 @@ new Chart(ctx, { ### Disable Point Drawing -If you have a lot of data points, it can be more performant to disable rendering of the points for a dataset and only draw line. Doing this means that there is less to draw on the canvas which will improve render performance. +If you have a lot of data points, it can be more performant to disable rendering of the points for a dataset and only draw lines. Doing this means that there is less to draw on the canvas which will improve render performance. To disable point drawing: From b5ee134effb0d1b28d48bf8c0146eff13f2fa3e5 Mon Sep 17 00:00:00 2001 From: Jacco van den Berg Date: Sat, 14 Jun 2025 22:19:17 +0200 Subject: [PATCH 105/105] bump version to 4.5.0 (#12090) --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index c762573b067..c370a71e19c 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "chart.js", "homepage": "https://www.chartjs.org", "description": "Simple HTML5 charts using the canvas element.", - "version": "4.4.9", + "version": "4.5.0", "license": "MIT", "type": "module", "sideEffects": [