From 9bf6872e520d1a58698918ff88e294244242d98a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 20 Mar 2026 01:56:28 +0000 Subject: [PATCH 01/20] build(deps-dev): bump @types/jsdom from 28.0.0 to 28.0.1 Bumps [@types/jsdom](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/jsdom) from 28.0.0 to 28.0.1. - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/jsdom) --- updated-dependencies: - dependency-name: "@types/jsdom" dependency-version: 28.0.1 dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pnpm-lock.yaml | 10519 ++++++++++++++++++++--------------------------- 1 file changed, 4555 insertions(+), 5964 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 87418907bd4..7f865c40745 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1,52 +1,53 @@ -lockfileVersion: "9.0" +lockfileVersion: '9.0' settings: autoInstallPeers: true excludeLinksFromLockfile: false importers: + .: devDependencies: - "@commitlint/cli": + '@commitlint/cli': specifier: ^20.5.0 version: 20.5.0(@types/node@25.5.0)(conventional-commits-parser@6.3.0)(typescript@5.9.3) - "@commitlint/config-conventional": + '@commitlint/config-conventional': specifier: ^20.5.0 version: 20.5.0 - "@swc/core": + '@swc/core': specifier: ^1.15.18 version: 1.15.18 - "@tsparticles/cli": + '@tsparticles/cli': specifier: ^3.3.8 version: 3.3.8(@types/eslint@8.56.6)(esbuild@0.27.2)(jiti@2.6.1)(webpack-cli@7.0.2) - "@tsparticles/depcruise-config": + '@tsparticles/depcruise-config': specifier: ^3.3.5 version: 3.3.5(dependency-cruiser@17.3.9) - "@tsparticles/eslint-config": + '@tsparticles/eslint-config': specifier: ^3.3.5 version: 3.3.5(@types/eslint@8.56.6)(eslint@10.0.3(jiti@2.6.1)) - "@tsparticles/prettier-config": + '@tsparticles/prettier-config': specifier: ^3.3.5 version: 3.3.5(prettier@3.8.1) - "@tsparticles/tsconfig": + '@tsparticles/tsconfig': specifier: ^3.3.5 version: 3.3.5(typescript@5.9.3) - "@tsparticles/webpack-plugin": + '@tsparticles/webpack-plugin': specifier: ^3.3.5 version: 3.3.5(@types/eslint@8.56.6)(esbuild@0.27.2)(jiti@2.6.1) - "@types/jsdom": + '@types/jsdom': specifier: ^28.0.0 - version: 28.0.0 - "@types/node": + version: 28.0.1 + '@types/node': specifier: ^25.5.0 version: 25.5.0 - "@types/webpack-env": + '@types/webpack-env': specifier: ^1.18.8 version: 1.18.8 - "@vitest/coverage-v8": + '@vitest/coverage-v8': specifier: ^4.1.0 version: 4.1.0(vitest@4.1.0) - "@vitest/ui": + '@vitest/ui': specifier: ^4.1.0 version: 4.1.0(vitest@4.1.0) browserslist: @@ -172,229 +173,229 @@ importers: bundles/all: dependencies: - "@tsparticles/effect-bubble": + '@tsparticles/effect-bubble': specifier: workspace:4.0.0-beta.0 version: link:../../effects/bubble/dist - "@tsparticles/effect-particles": + '@tsparticles/effect-particles': specifier: workspace:4.0.0-beta.0 version: link:../../effects/particles/dist - "@tsparticles/effect-shadow": + '@tsparticles/effect-shadow': specifier: workspace:4.0.0-beta.0 version: link:../../effects/shadow/dist - "@tsparticles/effect-trail": + '@tsparticles/effect-trail': specifier: workspace:4.0.0-beta.0 version: link:../../effects/trail/dist - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../engine/dist - "@tsparticles/interaction-external-particle": + '@tsparticles/interaction-external-particle': specifier: workspace:4.0.0-beta.0 version: link:../../interactions/external/particle/dist - "@tsparticles/interaction-external-pop": + '@tsparticles/interaction-external-pop': specifier: workspace:4.0.0-beta.0 version: link:../../interactions/external/pop/dist - "@tsparticles/interaction-light": + '@tsparticles/interaction-light': specifier: workspace:4.0.0-beta.0 version: link:../../interactions/light/dist - "@tsparticles/interaction-particles-repulse": + '@tsparticles/interaction-particles-repulse': specifier: workspace:4.0.0-beta.0 version: link:../../interactions/particles/repulse/dist - "@tsparticles/path-branches": + '@tsparticles/path-branches': specifier: workspace:4.0.0-beta.0 version: link:../../paths/branches/dist - "@tsparticles/path-brownian": + '@tsparticles/path-brownian': specifier: workspace:4.0.0-beta.0 version: link:../../paths/brownian/dist - "@tsparticles/path-curl-noise": + '@tsparticles/path-curl-noise': specifier: workspace:4.0.0-beta.0 version: link:../../paths/curlNoise/dist - "@tsparticles/path-curves": + '@tsparticles/path-curves': specifier: workspace:4.0.0-beta.0 version: link:../../paths/curves/dist - "@tsparticles/path-fractal-noise": + '@tsparticles/path-fractal-noise': specifier: workspace:4.0.0-beta.0 version: link:../../paths/fractalNoise/dist - "@tsparticles/path-grid": + '@tsparticles/path-grid': specifier: workspace:4.0.0-beta.0 version: link:../../paths/grid/dist - "@tsparticles/path-levy": + '@tsparticles/path-levy': specifier: workspace:4.0.0-beta.0 version: link:../../paths/levy/dist - "@tsparticles/path-perlin-noise": + '@tsparticles/path-perlin-noise': specifier: workspace:4.0.0-beta.0 version: link:../../paths/perlinNoise/dist - "@tsparticles/path-polygon": + '@tsparticles/path-polygon': specifier: workspace:4.0.0-beta.0 version: link:../../paths/polygon/dist - "@tsparticles/path-random": + '@tsparticles/path-random': specifier: workspace:4.0.0-beta.0 version: link:../../paths/random/dist - "@tsparticles/path-simplex-noise": + '@tsparticles/path-simplex-noise': specifier: workspace:4.0.0-beta.0 version: link:../../paths/simplexNoise/dist - "@tsparticles/path-spiral": + '@tsparticles/path-spiral': specifier: workspace:4.0.0-beta.0 version: link:../../paths/spiral/dist - "@tsparticles/path-svg": + '@tsparticles/path-svg': specifier: workspace:4.0.0-beta.0 version: link:../../paths/svg/dist - "@tsparticles/path-zig-zag": + '@tsparticles/path-zig-zag': specifier: workspace:4.0.0-beta.0 version: link:../../paths/zigzag/dist - "@tsparticles/plugin-background-mask": + '@tsparticles/plugin-background-mask': specifier: workspace:4.0.0-beta.0 version: link:../../plugins/backgroundMask/dist - "@tsparticles/plugin-blend": + '@tsparticles/plugin-blend': specifier: workspace:4.0.0-beta.0 version: link:../../plugins/blend/dist - "@tsparticles/plugin-canvas-mask": + '@tsparticles/plugin-canvas-mask': specifier: workspace:4.0.0-beta.0 version: link:../../plugins/canvasMask/dist - "@tsparticles/plugin-easing-back": + '@tsparticles/plugin-easing-back': specifier: workspace:4.0.0-beta.0 version: link:../../plugins/easings/back/dist - "@tsparticles/plugin-easing-bounce": + '@tsparticles/plugin-easing-bounce': specifier: workspace:4.0.0-beta.0 version: link:../../plugins/easings/bounce/dist - "@tsparticles/plugin-easing-circ": + '@tsparticles/plugin-easing-circ': specifier: workspace:4.0.0-beta.0 version: link:../../plugins/easings/circ/dist - "@tsparticles/plugin-easing-cubic": + '@tsparticles/plugin-easing-cubic': specifier: workspace:4.0.0-beta.0 version: link:../../plugins/easings/cubic/dist - "@tsparticles/plugin-easing-elastic": + '@tsparticles/plugin-easing-elastic': specifier: workspace:4.0.0-beta.0 version: link:../../plugins/easings/elastic/dist - "@tsparticles/plugin-easing-expo": + '@tsparticles/plugin-easing-expo': specifier: workspace:4.0.0-beta.0 version: link:../../plugins/easings/expo/dist - "@tsparticles/plugin-easing-gaussian": + '@tsparticles/plugin-easing-gaussian': specifier: workspace:4.0.0-beta.0 version: link:../../plugins/easings/gaussian/dist - "@tsparticles/plugin-easing-linear": + '@tsparticles/plugin-easing-linear': specifier: workspace:4.0.0-beta.0 version: link:../../plugins/easings/linear/dist - "@tsparticles/plugin-easing-quart": + '@tsparticles/plugin-easing-quart': specifier: workspace:4.0.0-beta.0 version: link:../../plugins/easings/quart/dist - "@tsparticles/plugin-easing-quint": + '@tsparticles/plugin-easing-quint': specifier: workspace:4.0.0-beta.0 version: link:../../plugins/easings/quint/dist - "@tsparticles/plugin-easing-sigmoid": + '@tsparticles/plugin-easing-sigmoid': specifier: workspace:4.0.0-beta.0 version: link:../../plugins/easings/sigmoid/dist - "@tsparticles/plugin-easing-sine": + '@tsparticles/plugin-easing-sine': specifier: workspace:4.0.0-beta.0 version: link:../../plugins/easings/sine/dist - "@tsparticles/plugin-easing-smoothstep": + '@tsparticles/plugin-easing-smoothstep': specifier: workspace:4.0.0-beta.0 version: link:../../plugins/easings/smoothstep/dist - "@tsparticles/plugin-emitters-shape-canvas": + '@tsparticles/plugin-emitters-shape-canvas': specifier: workspace:4.0.0-beta.0 version: link:../../plugins/emittersShapes/canvas/dist - "@tsparticles/plugin-emitters-shape-path": + '@tsparticles/plugin-emitters-shape-path': specifier: workspace:4.0.0-beta.0 version: link:../../plugins/emittersShapes/path/dist - "@tsparticles/plugin-emitters-shape-polygon": + '@tsparticles/plugin-emitters-shape-polygon': specifier: workspace:4.0.0-beta.0 version: link:../../plugins/emittersShapes/polygon/dist - "@tsparticles/plugin-export-image": + '@tsparticles/plugin-export-image': specifier: workspace:4.0.0-beta.0 version: link:../../plugins/exports/image/dist - "@tsparticles/plugin-export-json": + '@tsparticles/plugin-export-json': specifier: workspace:4.0.0-beta.0 version: link:../../plugins/exports/json/dist - "@tsparticles/plugin-export-video": + '@tsparticles/plugin-export-video': specifier: workspace:4.0.0-beta.0 version: link:../../plugins/exports/video/dist - "@tsparticles/plugin-hsv-color": + '@tsparticles/plugin-hsv-color': specifier: workspace:4.0.0-beta.0 version: link:../../plugins/colors/hsv/dist - "@tsparticles/plugin-hwb-color": + '@tsparticles/plugin-hwb-color': specifier: workspace:4.0.0-beta.0 version: link:../../plugins/colors/hwb/dist - "@tsparticles/plugin-infection": + '@tsparticles/plugin-infection': specifier: workspace:4.0.0-beta.0 version: link:../../plugins/infection/dist - "@tsparticles/plugin-lab-color": + '@tsparticles/plugin-lab-color': specifier: workspace:4.0.0-beta.0 version: link:../../plugins/colors/lab/dist - "@tsparticles/plugin-lch-color": + '@tsparticles/plugin-lch-color': specifier: workspace:4.0.0-beta.0 version: link:../../plugins/colors/lch/dist - "@tsparticles/plugin-manual-particles": + '@tsparticles/plugin-manual-particles': specifier: workspace:4.0.0-beta.0 version: link:../../plugins/manualParticles/dist - "@tsparticles/plugin-motion": + '@tsparticles/plugin-motion': specifier: workspace:4.0.0-beta.0 version: link:../../plugins/motion/dist - "@tsparticles/plugin-named-color": + '@tsparticles/plugin-named-color': specifier: workspace:4.0.0-beta.0 version: link:../../plugins/colors/named/dist - "@tsparticles/plugin-oklab-color": + '@tsparticles/plugin-oklab-color': specifier: workspace:4.0.0-beta.0 version: link:../../plugins/colors/oklab/dist - "@tsparticles/plugin-oklch-color": + '@tsparticles/plugin-oklch-color': specifier: workspace:4.0.0-beta.0 version: link:../../plugins/colors/oklch/dist - "@tsparticles/plugin-poisson-disc": + '@tsparticles/plugin-poisson-disc': specifier: workspace:4.0.0-beta.0 version: link:../../plugins/poisson/dist - "@tsparticles/plugin-polygon-mask": + '@tsparticles/plugin-polygon-mask': specifier: workspace:4.0.0-beta.0 version: link:../../plugins/polygonMask/dist - "@tsparticles/plugin-responsive": + '@tsparticles/plugin-responsive': specifier: workspace:4.0.0-beta.0 version: link:../../plugins/responsive/dist - "@tsparticles/plugin-sounds": + '@tsparticles/plugin-sounds': specifier: workspace:4.0.0-beta.0 version: link:../../plugins/sounds/dist - "@tsparticles/plugin-themes": + '@tsparticles/plugin-themes': specifier: workspace:4.0.0-beta.0 version: link:../../plugins/themes/dist - "@tsparticles/plugin-trail": + '@tsparticles/plugin-trail': specifier: workspace:4.0.0-beta.0 version: link:../../plugins/trail/dist - "@tsparticles/plugin-zoom": + '@tsparticles/plugin-zoom': specifier: workspace:4.0.0-beta.0 version: link:../../plugins/zoom/dist - "@tsparticles/shape-arrow": + '@tsparticles/shape-arrow': specifier: workspace:4.0.0-beta.0 version: link:../../shapes/arrow/dist - "@tsparticles/shape-cards": + '@tsparticles/shape-cards': specifier: workspace:4.0.0-beta.0 version: link:../../shapes/cards/dist - "@tsparticles/shape-cog": + '@tsparticles/shape-cog': specifier: workspace:4.0.0-beta.0 version: link:../../shapes/cog/dist - "@tsparticles/shape-heart": + '@tsparticles/shape-heart': specifier: workspace:4.0.0-beta.0 version: link:../../shapes/heart/dist - "@tsparticles/shape-infinity": + '@tsparticles/shape-infinity': specifier: workspace:4.0.0-beta.0 version: link:../../shapes/infinity/dist - "@tsparticles/shape-matrix": + '@tsparticles/shape-matrix': specifier: workspace:4.0.0-beta.0 version: link:../../shapes/matrix/dist - "@tsparticles/shape-path": + '@tsparticles/shape-path': specifier: workspace:4.0.0-beta.0 version: link:../../shapes/path/dist - "@tsparticles/shape-rounded-polygon": + '@tsparticles/shape-rounded-polygon': specifier: workspace:4.0.0-beta.0 version: link:../../shapes/rounded-polygon/dist - "@tsparticles/shape-rounded-rect": + '@tsparticles/shape-rounded-rect': specifier: workspace:4.0.0-beta.0 version: link:../../shapes/rounded-rect/dist - "@tsparticles/shape-spiral": + '@tsparticles/shape-spiral': specifier: workspace:4.0.0-beta.0 version: link:../../shapes/spiral/dist - "@tsparticles/shape-squircle": + '@tsparticles/shape-squircle': specifier: workspace:4.0.0-beta.0 version: link:../../shapes/squircle/dist - "@tsparticles/updater-gradient": + '@tsparticles/updater-gradient': specifier: workspace:4.0.0-beta.0 version: link:../../updaters/gradient/dist - "@tsparticles/updater-orbit": + '@tsparticles/updater-orbit': specifier: workspace:4.0.0-beta.0 version: link:../../updaters/orbit/dist tsparticles: @@ -404,275 +405,275 @@ importers: bundles/basic: dependencies: - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../engine/dist - "@tsparticles/plugin-hex-color": + '@tsparticles/plugin-hex-color': specifier: workspace:4.0.0-beta.0 version: link:../../plugins/colors/hex/dist - "@tsparticles/plugin-hsl-color": + '@tsparticles/plugin-hsl-color': specifier: workspace:4.0.0-beta.0 version: link:../../plugins/colors/hsl/dist - "@tsparticles/plugin-move": + '@tsparticles/plugin-move': specifier: workspace:4.0.0-beta.0 version: link:../../plugins/move/dist - "@tsparticles/plugin-rgb-color": + '@tsparticles/plugin-rgb-color': specifier: workspace:4.0.0-beta.0 version: link:../../plugins/colors/rgb/dist - "@tsparticles/shape-circle": + '@tsparticles/shape-circle': specifier: workspace:4.0.0-beta.0 version: link:../../shapes/circle/dist - "@tsparticles/updater-fill-color": + '@tsparticles/updater-fill-color': specifier: workspace:4.0.0-beta.0 version: link:../../updaters/fillColor/dist - "@tsparticles/updater-opacity": + '@tsparticles/updater-opacity': specifier: workspace:4.0.0-beta.0 version: link:../../updaters/opacity/dist - "@tsparticles/updater-out-modes": + '@tsparticles/updater-out-modes': specifier: workspace:4.0.0-beta.0 version: link:../../updaters/outModes/dist - "@tsparticles/updater-size": + '@tsparticles/updater-size': specifier: workspace:4.0.0-beta.0 version: link:../../updaters/size/dist publishDirectory: dist bundles/confetti: dependencies: - "@tsparticles/basic": + '@tsparticles/basic': specifier: workspace:4.0.0-beta.0 version: link:../basic/dist - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../engine/dist - "@tsparticles/plugin-emitters": + '@tsparticles/plugin-emitters': specifier: workspace:4.0.0-beta.0 version: link:../../plugins/emitters/dist - "@tsparticles/plugin-motion": + '@tsparticles/plugin-motion': specifier: workspace:4.0.0-beta.0 version: link:../../plugins/motion/dist - "@tsparticles/shape-cards": + '@tsparticles/shape-cards': specifier: workspace:4.0.0-beta.0 version: link:../../shapes/cards/dist - "@tsparticles/shape-emoji": + '@tsparticles/shape-emoji': specifier: workspace:4.0.0-beta.0 version: link:../../shapes/emoji/dist - "@tsparticles/shape-heart": + '@tsparticles/shape-heart': specifier: workspace:4.0.0-beta.0 version: link:../../shapes/heart/dist - "@tsparticles/shape-image": + '@tsparticles/shape-image': specifier: workspace:4.0.0-beta.0 version: link:../../shapes/image/dist - "@tsparticles/shape-polygon": + '@tsparticles/shape-polygon': specifier: workspace:4.0.0-beta.0 version: link:../../shapes/polygon/dist - "@tsparticles/shape-square": + '@tsparticles/shape-square': specifier: workspace:4.0.0-beta.0 version: link:../../shapes/square/dist - "@tsparticles/shape-star": + '@tsparticles/shape-star': specifier: workspace:4.0.0-beta.0 version: link:../../shapes/star/dist - "@tsparticles/updater-life": + '@tsparticles/updater-life': specifier: workspace:4.0.0-beta.0 version: link:../../updaters/life/dist - "@tsparticles/updater-roll": + '@tsparticles/updater-roll': specifier: workspace:4.0.0-beta.0 version: link:../../updaters/roll/dist - "@tsparticles/updater-rotate": + '@tsparticles/updater-rotate': specifier: workspace:4.0.0-beta.0 version: link:../../updaters/rotate/dist - "@tsparticles/updater-tilt": + '@tsparticles/updater-tilt': specifier: workspace:4.0.0-beta.0 version: link:../../updaters/tilt/dist - "@tsparticles/updater-wobble": + '@tsparticles/updater-wobble': specifier: workspace:4.0.0-beta.0 version: link:../../updaters/wobble/dist publishDirectory: dist bundles/fireworks: dependencies: - "@tsparticles/basic": + '@tsparticles/basic': specifier: workspace:4.0.0-beta.0 version: link:../basic/dist - "@tsparticles/effect-trail": + '@tsparticles/effect-trail': specifier: workspace:4.0.0-beta.0 version: link:../../effects/trail/dist - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../engine/dist - "@tsparticles/plugin-emitters": + '@tsparticles/plugin-emitters': specifier: workspace:4.0.0-beta.0 version: link:../../plugins/emitters/dist - "@tsparticles/plugin-emitters-shape-square": + '@tsparticles/plugin-emitters-shape-square': specifier: workspace:4.0.0-beta.0 version: link:../../plugins/emittersShapes/square/dist - "@tsparticles/plugin-sounds": + '@tsparticles/plugin-sounds': specifier: workspace:4.0.0-beta.0 version: link:../../plugins/sounds/dist - "@tsparticles/updater-destroy": + '@tsparticles/updater-destroy': specifier: workspace:4.0.0-beta.0 version: link:../../updaters/destroy/dist - "@tsparticles/updater-life": + '@tsparticles/updater-life': specifier: workspace:4.0.0-beta.0 version: link:../../updaters/life/dist - "@tsparticles/updater-rotate": + '@tsparticles/updater-rotate': specifier: workspace:4.0.0-beta.0 version: link:../../updaters/rotate/dist publishDirectory: dist bundles/full: dependencies: - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../engine/dist - "@tsparticles/interaction-external-drag": + '@tsparticles/interaction-external-drag': specifier: workspace:4.0.0-beta.0 version: link:../../interactions/external/drag/dist - "@tsparticles/interaction-external-trail": + '@tsparticles/interaction-external-trail': specifier: workspace:4.0.0-beta.0 version: link:../../interactions/external/trail/dist - "@tsparticles/plugin-absorbers": + '@tsparticles/plugin-absorbers': specifier: workspace:4.0.0-beta.0 version: link:../../plugins/absorbers/dist - "@tsparticles/plugin-emitters": + '@tsparticles/plugin-emitters': specifier: workspace:4.0.0-beta.0 version: link:../../plugins/emitters/dist - "@tsparticles/plugin-emitters-shape-circle": + '@tsparticles/plugin-emitters-shape-circle': specifier: workspace:4.0.0-beta.0 version: link:../../plugins/emittersShapes/circle/dist - "@tsparticles/plugin-emitters-shape-square": + '@tsparticles/plugin-emitters-shape-square': specifier: workspace:4.0.0-beta.0 version: link:../../plugins/emittersShapes/square/dist - "@tsparticles/shape-text": + '@tsparticles/shape-text': specifier: workspace:4.0.0-beta.0 version: link:../../shapes/text/dist - "@tsparticles/slim": + '@tsparticles/slim': specifier: workspace:4.0.0-beta.0 version: link:../slim/dist - "@tsparticles/updater-destroy": + '@tsparticles/updater-destroy': specifier: workspace:4.0.0-beta.0 version: link:../../updaters/destroy/dist - "@tsparticles/updater-roll": + '@tsparticles/updater-roll': specifier: workspace:4.0.0-beta.0 version: link:../../updaters/roll/dist - "@tsparticles/updater-tilt": + '@tsparticles/updater-tilt': specifier: workspace:4.0.0-beta.0 version: link:../../updaters/tilt/dist - "@tsparticles/updater-twinkle": + '@tsparticles/updater-twinkle': specifier: workspace:4.0.0-beta.0 version: link:../../updaters/twinkle/dist - "@tsparticles/updater-wobble": + '@tsparticles/updater-wobble': specifier: workspace:4.0.0-beta.0 version: link:../../updaters/wobble/dist publishDirectory: dist bundles/pjs: dependencies: - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../engine/dist - "@tsparticles/plugin-responsive": + '@tsparticles/plugin-responsive': specifier: workspace:4.0.0-beta.0 version: link:../../plugins/responsive/dist tsparticles: specifier: workspace:4.0.0-beta.0 version: link:../full/dist devDependencies: - "@tsparticles/plugin-interactivity": + '@tsparticles/plugin-interactivity': specifier: workspace:4.0.0-beta.0 version: link:../../plugins/interactivity/dist publishDirectory: dist bundles/slim: dependencies: - "@tsparticles/basic": + '@tsparticles/basic': specifier: workspace:4.0.0-beta.0 version: link:../basic/dist - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../engine/dist - "@tsparticles/interaction-external-attract": + '@tsparticles/interaction-external-attract': specifier: workspace:4.0.0-beta.0 version: link:../../interactions/external/attract/dist - "@tsparticles/interaction-external-bounce": + '@tsparticles/interaction-external-bounce': specifier: workspace:4.0.0-beta.0 version: link:../../interactions/external/bounce/dist - "@tsparticles/interaction-external-bubble": + '@tsparticles/interaction-external-bubble': specifier: workspace:4.0.0-beta.0 version: link:../../interactions/external/bubble/dist - "@tsparticles/interaction-external-connect": + '@tsparticles/interaction-external-connect': specifier: workspace:4.0.0-beta.0 version: link:../../interactions/external/connect/dist - "@tsparticles/interaction-external-grab": + '@tsparticles/interaction-external-grab': specifier: workspace:4.0.0-beta.0 version: link:../../interactions/external/grab/dist - "@tsparticles/interaction-external-parallax": + '@tsparticles/interaction-external-parallax': specifier: workspace:4.0.0-beta.0 version: link:../../interactions/external/parallax/dist - "@tsparticles/interaction-external-pause": + '@tsparticles/interaction-external-pause': specifier: workspace:4.0.0-beta.0 version: link:../../interactions/external/pause/dist - "@tsparticles/interaction-external-push": + '@tsparticles/interaction-external-push': specifier: workspace:4.0.0-beta.0 version: link:../../interactions/external/push/dist - "@tsparticles/interaction-external-remove": + '@tsparticles/interaction-external-remove': specifier: workspace:4.0.0-beta.0 version: link:../../interactions/external/remove/dist - "@tsparticles/interaction-external-repulse": + '@tsparticles/interaction-external-repulse': specifier: workspace:4.0.0-beta.0 version: link:../../interactions/external/repulse/dist - "@tsparticles/interaction-external-slow": + '@tsparticles/interaction-external-slow': specifier: workspace:4.0.0-beta.0 version: link:../../interactions/external/slow/dist - "@tsparticles/interaction-particles-attract": + '@tsparticles/interaction-particles-attract': specifier: workspace:4.0.0-beta.0 version: link:../../interactions/particles/attract/dist - "@tsparticles/interaction-particles-collisions": + '@tsparticles/interaction-particles-collisions': specifier: workspace:4.0.0-beta.0 version: link:../../interactions/particles/collisions/dist - "@tsparticles/interaction-particles-links": + '@tsparticles/interaction-particles-links': specifier: workspace:4.0.0-beta.0 version: link:../../interactions/particles/links/dist - "@tsparticles/plugin-easing-quad": + '@tsparticles/plugin-easing-quad': specifier: workspace:4.0.0-beta.0 version: link:../../plugins/easings/quad/dist - "@tsparticles/plugin-interactivity": + '@tsparticles/plugin-interactivity': specifier: workspace:4.0.0-beta.0 version: link:../../plugins/interactivity/dist - "@tsparticles/shape-emoji": + '@tsparticles/shape-emoji': specifier: workspace:4.0.0-beta.0 version: link:../../shapes/emoji/dist - "@tsparticles/shape-image": + '@tsparticles/shape-image': specifier: workspace:4.0.0-beta.0 version: link:../../shapes/image/dist - "@tsparticles/shape-line": + '@tsparticles/shape-line': specifier: workspace:4.0.0-beta.0 version: link:../../shapes/line/dist - "@tsparticles/shape-polygon": + '@tsparticles/shape-polygon': specifier: workspace:4.0.0-beta.0 version: link:../../shapes/polygon/dist - "@tsparticles/shape-square": + '@tsparticles/shape-square': specifier: workspace:4.0.0-beta.0 version: link:../../shapes/square/dist - "@tsparticles/shape-star": + '@tsparticles/shape-star': specifier: workspace:4.0.0-beta.0 version: link:../../shapes/star/dist - "@tsparticles/updater-life": + '@tsparticles/updater-life': specifier: workspace:4.0.0-beta.0 version: link:../../updaters/life/dist - "@tsparticles/updater-rotate": + '@tsparticles/updater-rotate': specifier: workspace:4.0.0-beta.0 version: link:../../updaters/rotate/dist - "@tsparticles/updater-stroke-color": + '@tsparticles/updater-stroke-color': specifier: workspace:4.0.0-beta.0 version: link:../../updaters/strokeColor/dist publishDirectory: dist demo/electron: dependencies: - "@tsparticles/configs": + '@tsparticles/configs': specifier: workspace:4.0.0-beta.0 version: link:../../utils/configs/dist - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../engine/dist tsparticles: @@ -685,434 +686,434 @@ importers: demo/vanilla: dependencies: - "@tsparticles/all": + '@tsparticles/all': specifier: workspace:4.0.0-beta.0 version: link:../../bundles/all/dist - "@tsparticles/basic": + '@tsparticles/basic': specifier: workspace:4.0.0-beta.0 version: link:../../bundles/basic/dist - "@tsparticles/canvas-utils": + '@tsparticles/canvas-utils': specifier: workspace:4.0.0-beta.0 version: link:../../utils/canvasUtils/dist - "@tsparticles/confetti": + '@tsparticles/confetti': specifier: workspace:4.0.0-beta.0 version: link:../../bundles/confetti/dist - "@tsparticles/configs": + '@tsparticles/configs': specifier: workspace:4.0.0-beta.0 version: link:../../utils/configs/dist - "@tsparticles/effect-bubble": + '@tsparticles/effect-bubble': specifier: workspace:4.0.0-beta.0 version: link:../../effects/bubble/dist - "@tsparticles/effect-particles": + '@tsparticles/effect-particles': specifier: workspace:4.0.0-beta.0 version: link:../../effects/particles/dist - "@tsparticles/effect-shadow": + '@tsparticles/effect-shadow': specifier: workspace:4.0.0-beta.0 version: link:../../effects/shadow/dist - "@tsparticles/effect-trail": + '@tsparticles/effect-trail': specifier: workspace:4.0.0-beta.0 version: link:../../effects/trail/dist - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../engine/dist - "@tsparticles/fireworks": + '@tsparticles/fireworks': specifier: workspace:4.0.0-beta.0 version: link:../../bundles/fireworks/dist - "@tsparticles/fractal-noise": + '@tsparticles/fractal-noise': specifier: workspace:4.0.0-beta.0 version: link:../../utils/fractalNoise/dist - "@tsparticles/interaction-external-attract": + '@tsparticles/interaction-external-attract': specifier: workspace:4.0.0-beta.0 version: link:../../interactions/external/attract/dist - "@tsparticles/interaction-external-bounce": + '@tsparticles/interaction-external-bounce': specifier: workspace:4.0.0-beta.0 version: link:../../interactions/external/bounce/dist - "@tsparticles/interaction-external-bubble": + '@tsparticles/interaction-external-bubble': specifier: workspace:4.0.0-beta.0 version: link:../../interactions/external/bubble/dist - "@tsparticles/interaction-external-connect": + '@tsparticles/interaction-external-connect': specifier: workspace:4.0.0-beta.0 version: link:../../interactions/external/connect/dist - "@tsparticles/interaction-external-drag": + '@tsparticles/interaction-external-drag': specifier: workspace:4.0.0-beta.0 version: link:../../interactions/external/drag/dist - "@tsparticles/interaction-external-grab": + '@tsparticles/interaction-external-grab': specifier: workspace:4.0.0-beta.0 version: link:../../interactions/external/grab/dist - "@tsparticles/interaction-external-parallax": + '@tsparticles/interaction-external-parallax': specifier: workspace:4.0.0-beta.0 version: link:../../interactions/external/parallax/dist - "@tsparticles/interaction-external-particle": + '@tsparticles/interaction-external-particle': specifier: workspace:4.0.0-beta.0 version: link:../../interactions/external/particle/dist - "@tsparticles/interaction-external-pause": + '@tsparticles/interaction-external-pause': specifier: workspace:4.0.0-beta.0 version: link:../../interactions/external/pause/dist - "@tsparticles/interaction-external-pop": + '@tsparticles/interaction-external-pop': specifier: workspace:4.0.0-beta.0 version: link:../../interactions/external/pop/dist - "@tsparticles/interaction-external-push": + '@tsparticles/interaction-external-push': specifier: workspace:4.0.0-beta.0 version: link:../../interactions/external/push/dist - "@tsparticles/interaction-external-remove": + '@tsparticles/interaction-external-remove': specifier: workspace:4.0.0-beta.0 version: link:../../interactions/external/remove/dist - "@tsparticles/interaction-external-repulse": + '@tsparticles/interaction-external-repulse': specifier: workspace:4.0.0-beta.0 version: link:../../interactions/external/repulse/dist - "@tsparticles/interaction-external-slow": + '@tsparticles/interaction-external-slow': specifier: workspace:4.0.0-beta.0 version: link:../../interactions/external/slow/dist - "@tsparticles/interaction-external-trail": + '@tsparticles/interaction-external-trail': specifier: workspace:4.0.0-beta.0 version: link:../../interactions/external/trail/dist - "@tsparticles/interaction-light": + '@tsparticles/interaction-light': specifier: workspace:4.0.0-beta.0 version: link:../../interactions/light/dist - "@tsparticles/interaction-particles-attract": + '@tsparticles/interaction-particles-attract': specifier: workspace:4.0.0-beta.0 version: link:../../interactions/particles/attract/dist - "@tsparticles/interaction-particles-collisions": + '@tsparticles/interaction-particles-collisions': specifier: workspace:4.0.0-beta.0 version: link:../../interactions/particles/collisions/dist - "@tsparticles/interaction-particles-links": + '@tsparticles/interaction-particles-links': specifier: workspace:4.0.0-beta.0 version: link:../../interactions/particles/links/dist - "@tsparticles/interaction-particles-repulse": + '@tsparticles/interaction-particles-repulse': specifier: workspace:4.0.0-beta.0 version: link:../../interactions/particles/repulse/dist - "@tsparticles/noise-field": + '@tsparticles/noise-field': specifier: workspace:4.0.0-beta.0 version: link:../../utils/noiseField/dist - "@tsparticles/path-branches": + '@tsparticles/path-branches': specifier: workspace:4.0.0-beta.0 version: link:../../paths/branches/dist - "@tsparticles/path-brownian": + '@tsparticles/path-brownian': specifier: workspace:4.0.0-beta.0 version: link:../../paths/brownian/dist - "@tsparticles/path-curl-noise": + '@tsparticles/path-curl-noise': specifier: workspace:4.0.0-beta.0 version: link:../../paths/curlNoise/dist - "@tsparticles/path-curves": + '@tsparticles/path-curves': specifier: workspace:4.0.0-beta.0 version: link:../../paths/curves/dist - "@tsparticles/path-fractal-noise": + '@tsparticles/path-fractal-noise': specifier: workspace:4.0.0-beta.0 version: link:../../paths/fractalNoise/dist - "@tsparticles/path-grid": + '@tsparticles/path-grid': specifier: workspace:4.0.0-beta.0 version: link:../../paths/grid/dist - "@tsparticles/path-levy": + '@tsparticles/path-levy': specifier: workspace:4.0.0-beta.0 version: link:../../paths/levy/dist - "@tsparticles/path-perlin-noise": + '@tsparticles/path-perlin-noise': specifier: workspace:4.0.0-beta.0 version: link:../../paths/perlinNoise/dist - "@tsparticles/path-polygon": + '@tsparticles/path-polygon': specifier: workspace:4.0.0-beta.0 version: link:../../paths/polygon/dist - "@tsparticles/path-random": + '@tsparticles/path-random': specifier: workspace:4.0.0-beta.0 version: link:../../paths/random/dist - "@tsparticles/path-simplex-noise": + '@tsparticles/path-simplex-noise': specifier: workspace:4.0.0-beta.0 version: link:../../paths/simplexNoise/dist - "@tsparticles/path-spiral": + '@tsparticles/path-spiral': specifier: workspace:4.0.0-beta.0 version: link:../../paths/spiral/dist - "@tsparticles/path-svg": + '@tsparticles/path-svg': specifier: workspace:4.0.0-beta.0 version: link:../../paths/svg/dist - "@tsparticles/path-utils": + '@tsparticles/path-utils': specifier: workspace:4.0.0-beta.0 version: link:../../utils/pathUtils/dist - "@tsparticles/path-zig-zag": + '@tsparticles/path-zig-zag': specifier: workspace:4.0.0-beta.0 version: link:../../paths/zigzag/dist - "@tsparticles/perlin-noise": + '@tsparticles/perlin-noise': specifier: workspace:4.0.0-beta.0 version: link:../../utils/perlinNoise/dist - "@tsparticles/pjs": + '@tsparticles/pjs': specifier: workspace:4.0.0-beta.0 version: link:../../bundles/pjs/dist - "@tsparticles/plugin-absorbers": + '@tsparticles/plugin-absorbers': specifier: workspace:4.0.0-beta.0 version: link:../../plugins/absorbers/dist - "@tsparticles/plugin-background-mask": + '@tsparticles/plugin-background-mask': specifier: workspace:4.0.0-beta.0 version: link:../../plugins/backgroundMask/dist - "@tsparticles/plugin-blend": + '@tsparticles/plugin-blend': specifier: workspace:4.0.0-beta.0 version: link:../../plugins/blend/dist - "@tsparticles/plugin-canvas-mask": + '@tsparticles/plugin-canvas-mask': specifier: workspace:4.0.0-beta.0 version: link:../../plugins/canvasMask/dist - "@tsparticles/plugin-easing-back": + '@tsparticles/plugin-easing-back': specifier: workspace:4.0.0-beta.0 version: link:../../plugins/easings/back/dist - "@tsparticles/plugin-easing-bounce": + '@tsparticles/plugin-easing-bounce': specifier: workspace:4.0.0-beta.0 version: link:../../plugins/easings/bounce/dist - "@tsparticles/plugin-easing-circ": + '@tsparticles/plugin-easing-circ': specifier: workspace:4.0.0-beta.0 version: link:../../plugins/easings/circ/dist - "@tsparticles/plugin-easing-cubic": + '@tsparticles/plugin-easing-cubic': specifier: workspace:4.0.0-beta.0 version: link:../../plugins/easings/cubic/dist - "@tsparticles/plugin-easing-elastic": + '@tsparticles/plugin-easing-elastic': specifier: workspace:4.0.0-beta.0 version: link:../../plugins/easings/elastic/dist - "@tsparticles/plugin-easing-expo": + '@tsparticles/plugin-easing-expo': specifier: workspace:4.0.0-beta.0 version: link:../../plugins/easings/expo/dist - "@tsparticles/plugin-easing-gaussian": + '@tsparticles/plugin-easing-gaussian': specifier: workspace:4.0.0-beta.0 version: link:../../plugins/easings/gaussian/dist - "@tsparticles/plugin-easing-linear": + '@tsparticles/plugin-easing-linear': specifier: workspace:4.0.0-beta.0 version: link:../../plugins/easings/linear/dist - "@tsparticles/plugin-easing-quad": + '@tsparticles/plugin-easing-quad': specifier: workspace:4.0.0-beta.0 version: link:../../plugins/easings/quad/dist - "@tsparticles/plugin-easing-quart": + '@tsparticles/plugin-easing-quart': specifier: workspace:4.0.0-beta.0 version: link:../../plugins/easings/quart/dist - "@tsparticles/plugin-easing-quint": + '@tsparticles/plugin-easing-quint': specifier: workspace:4.0.0-beta.0 version: link:../../plugins/easings/quint/dist - "@tsparticles/plugin-easing-sigmoid": + '@tsparticles/plugin-easing-sigmoid': specifier: workspace:4.0.0-beta.0 version: link:../../plugins/easings/sigmoid/dist - "@tsparticles/plugin-easing-sine": + '@tsparticles/plugin-easing-sine': specifier: workspace:4.0.0-beta.0 version: link:../../plugins/easings/sine/dist - "@tsparticles/plugin-easing-smoothstep": + '@tsparticles/plugin-easing-smoothstep': specifier: workspace:4.0.0-beta.0 version: link:../../plugins/easings/smoothstep/dist - "@tsparticles/plugin-emitters": + '@tsparticles/plugin-emitters': specifier: workspace:4.0.0-beta.0 version: link:../../plugins/emitters/dist - "@tsparticles/plugin-emitters-shape-canvas": + '@tsparticles/plugin-emitters-shape-canvas': specifier: workspace:4.0.0-beta.0 version: link:../../plugins/emittersShapes/canvas/dist - "@tsparticles/plugin-emitters-shape-circle": + '@tsparticles/plugin-emitters-shape-circle': specifier: workspace:4.0.0-beta.0 version: link:../../plugins/emittersShapes/circle/dist - "@tsparticles/plugin-emitters-shape-path": + '@tsparticles/plugin-emitters-shape-path': specifier: workspace:4.0.0-beta.0 version: link:../../plugins/emittersShapes/path/dist - "@tsparticles/plugin-emitters-shape-polygon": + '@tsparticles/plugin-emitters-shape-polygon': specifier: workspace:4.0.0-beta.0 version: link:../../plugins/emittersShapes/polygon/dist - "@tsparticles/plugin-emitters-shape-square": + '@tsparticles/plugin-emitters-shape-square': specifier: workspace:4.0.0-beta.0 version: link:../../plugins/emittersShapes/square/dist - "@tsparticles/plugin-export-image": + '@tsparticles/plugin-export-image': specifier: workspace:4.0.0-beta.0 version: link:../../plugins/exports/image/dist - "@tsparticles/plugin-export-json": + '@tsparticles/plugin-export-json': specifier: workspace:4.0.0-beta.0 version: link:../../plugins/exports/json/dist - "@tsparticles/plugin-export-video": + '@tsparticles/plugin-export-video': specifier: workspace:4.0.0-beta.0 version: link:../../plugins/exports/video/dist - "@tsparticles/plugin-hex-color": + '@tsparticles/plugin-hex-color': specifier: workspace:4.0.0-beta.0 version: link:../../plugins/colors/hex/dist - "@tsparticles/plugin-hsl-color": + '@tsparticles/plugin-hsl-color': specifier: workspace:4.0.0-beta.0 version: link:../../plugins/colors/hsl/dist - "@tsparticles/plugin-hsv-color": + '@tsparticles/plugin-hsv-color': specifier: workspace:4.0.0-beta.0 version: link:../../plugins/colors/hsv/dist - "@tsparticles/plugin-hwb-color": + '@tsparticles/plugin-hwb-color': specifier: workspace:4.0.0-beta.0 version: link:../../plugins/colors/hwb/dist - "@tsparticles/plugin-infection": + '@tsparticles/plugin-infection': specifier: workspace:4.0.0-beta.0 version: link:../../plugins/infection/dist - "@tsparticles/plugin-interactivity": + '@tsparticles/plugin-interactivity': specifier: workspace:4.0.0-beta.0 version: link:../../plugins/interactivity/dist - "@tsparticles/plugin-lab-color": + '@tsparticles/plugin-lab-color': specifier: workspace:4.0.0-beta.0 version: link:../../plugins/colors/lab/dist - "@tsparticles/plugin-lch-color": + '@tsparticles/plugin-lch-color': specifier: workspace:4.0.0-beta.0 version: link:../../plugins/colors/lch/dist - "@tsparticles/plugin-manual-particles": + '@tsparticles/plugin-manual-particles': specifier: workspace:4.0.0-beta.0 version: link:../../plugins/manualParticles/dist - "@tsparticles/plugin-motion": + '@tsparticles/plugin-motion': specifier: workspace:4.0.0-beta.0 version: link:../../plugins/motion/dist - "@tsparticles/plugin-move": + '@tsparticles/plugin-move': specifier: workspace:4.0.0-beta.0 version: link:../../plugins/move/dist - "@tsparticles/plugin-named-color": + '@tsparticles/plugin-named-color': specifier: workspace:4.0.0-beta.0 version: link:../../plugins/colors/named/dist - "@tsparticles/plugin-oklab-color": + '@tsparticles/plugin-oklab-color': specifier: workspace:4.0.0-beta.0 version: link:../../plugins/colors/oklab/dist - "@tsparticles/plugin-oklch-color": + '@tsparticles/plugin-oklch-color': specifier: workspace:4.0.0-beta.0 version: link:../../plugins/colors/oklch/dist - "@tsparticles/plugin-poisson-disc": + '@tsparticles/plugin-poisson-disc': specifier: workspace:4.0.0-beta.0 version: link:../../plugins/poisson/dist - "@tsparticles/plugin-polygon-mask": + '@tsparticles/plugin-polygon-mask': specifier: workspace:4.0.0-beta.0 version: link:../../plugins/polygonMask/dist - "@tsparticles/plugin-responsive": + '@tsparticles/plugin-responsive': specifier: workspace:4.0.0-beta.0 version: link:../../plugins/responsive/dist - "@tsparticles/plugin-rgb-color": + '@tsparticles/plugin-rgb-color': specifier: workspace:4.0.0-beta.0 version: link:../../plugins/colors/rgb/dist - "@tsparticles/plugin-sounds": + '@tsparticles/plugin-sounds': specifier: workspace:4.0.0-beta.0 version: link:../../plugins/sounds/dist - "@tsparticles/plugin-themes": + '@tsparticles/plugin-themes': specifier: workspace:4.0.0-beta.0 version: link:../../plugins/themes/dist - "@tsparticles/plugin-trail": + '@tsparticles/plugin-trail': specifier: workspace:4.0.0-beta.0 version: link:../../plugins/trail/dist - "@tsparticles/plugin-zoom": + '@tsparticles/plugin-zoom': specifier: workspace:4.0.0-beta.0 version: link:../../plugins/zoom/dist - "@tsparticles/shape-arrow": + '@tsparticles/shape-arrow': specifier: workspace:4.0.0-beta.0 version: link:../../shapes/arrow/dist - "@tsparticles/shape-cards": + '@tsparticles/shape-cards': specifier: workspace:4.0.0-beta.0 version: link:../../shapes/cards/dist - "@tsparticles/shape-circle": + '@tsparticles/shape-circle': specifier: workspace:4.0.0-beta.0 version: link:../../shapes/circle/dist - "@tsparticles/shape-cog": + '@tsparticles/shape-cog': specifier: workspace:4.0.0-beta.0 version: link:../../shapes/cog/dist - "@tsparticles/shape-emoji": + '@tsparticles/shape-emoji': specifier: workspace:4.0.0-beta.0 version: link:../../shapes/emoji/dist - "@tsparticles/shape-heart": + '@tsparticles/shape-heart': specifier: workspace:4.0.0-beta.0 version: link:../../shapes/heart/dist - "@tsparticles/shape-image": + '@tsparticles/shape-image': specifier: workspace:4.0.0-beta.0 version: link:../../shapes/image/dist - "@tsparticles/shape-infinity": + '@tsparticles/shape-infinity': specifier: workspace:4.0.0-beta.0 version: link:../../shapes/infinity/dist - "@tsparticles/shape-line": + '@tsparticles/shape-line': specifier: workspace:4.0.0-beta.0 version: link:../../shapes/line/dist - "@tsparticles/shape-matrix": + '@tsparticles/shape-matrix': specifier: workspace:4.0.0-beta.0 version: link:../../shapes/matrix/dist - "@tsparticles/shape-path": + '@tsparticles/shape-path': specifier: workspace:4.0.0-beta.0 version: link:../../shapes/path/dist - "@tsparticles/shape-polygon": + '@tsparticles/shape-polygon': specifier: workspace:4.0.0-beta.0 version: link:../../shapes/polygon/dist - "@tsparticles/shape-rounded-polygon": + '@tsparticles/shape-rounded-polygon': specifier: workspace:4.0.0-beta.0 version: link:../../shapes/rounded-polygon/dist - "@tsparticles/shape-rounded-rect": + '@tsparticles/shape-rounded-rect': specifier: workspace:4.0.0-beta.0 version: link:../../shapes/rounded-rect/dist - "@tsparticles/shape-spiral": + '@tsparticles/shape-spiral': specifier: workspace:4.0.0-beta.0 version: link:../../shapes/spiral/dist - "@tsparticles/shape-square": + '@tsparticles/shape-square': specifier: workspace:4.0.0-beta.0 version: link:../../shapes/square/dist - "@tsparticles/shape-squircle": + '@tsparticles/shape-squircle': specifier: workspace:4.0.0-beta.0 version: link:../../shapes/squircle/dist - "@tsparticles/shape-star": + '@tsparticles/shape-star': specifier: workspace:4.0.0-beta.0 version: link:../../shapes/star/dist - "@tsparticles/shape-text": + '@tsparticles/shape-text': specifier: workspace:4.0.0-beta.0 version: link:../../shapes/text/dist - "@tsparticles/simplex-noise": + '@tsparticles/simplex-noise': specifier: workspace:4.0.0-beta.0 version: link:../../utils/simplexNoise/dist - "@tsparticles/slim": + '@tsparticles/slim': specifier: workspace:4.0.0-beta.0 version: link:../../bundles/slim/dist - "@tsparticles/smooth-value-noise": + '@tsparticles/smooth-value-noise': specifier: workspace:4.0.0-beta.0 version: link:../../utils/smoothValueNoise/dist - "@tsparticles/updater-destroy": + '@tsparticles/updater-destroy': specifier: workspace:4.0.0-beta.0 version: link:../../updaters/destroy/dist - "@tsparticles/updater-fill-color": + '@tsparticles/updater-fill-color': specifier: workspace:4.0.0-beta.0 version: link:../../updaters/fillColor/dist - "@tsparticles/updater-gradient": + '@tsparticles/updater-gradient': specifier: workspace:4.0.0-beta.0 version: link:../../updaters/gradient/dist - "@tsparticles/updater-life": + '@tsparticles/updater-life': specifier: workspace:4.0.0-beta.0 version: link:../../updaters/life/dist - "@tsparticles/updater-opacity": + '@tsparticles/updater-opacity': specifier: workspace:4.0.0-beta.0 version: link:../../updaters/opacity/dist - "@tsparticles/updater-orbit": + '@tsparticles/updater-orbit': specifier: workspace:4.0.0-beta.0 version: link:../../updaters/orbit/dist - "@tsparticles/updater-out-modes": + '@tsparticles/updater-out-modes': specifier: workspace:4.0.0-beta.0 version: link:../../updaters/outModes/dist - "@tsparticles/updater-roll": + '@tsparticles/updater-roll': specifier: workspace:4.0.0-beta.0 version: link:../../updaters/roll/dist - "@tsparticles/updater-rotate": + '@tsparticles/updater-rotate': specifier: workspace:4.0.0-beta.0 version: link:../../updaters/rotate/dist - "@tsparticles/updater-size": + '@tsparticles/updater-size': specifier: workspace:4.0.0-beta.0 version: link:../../updaters/size/dist - "@tsparticles/updater-stroke-color": + '@tsparticles/updater-stroke-color': specifier: workspace:4.0.0-beta.0 version: link:../../updaters/strokeColor/dist - "@tsparticles/updater-tilt": + '@tsparticles/updater-tilt': specifier: workspace:4.0.0-beta.0 version: link:../../updaters/tilt/dist - "@tsparticles/updater-twinkle": + '@tsparticles/updater-twinkle': specifier: workspace:4.0.0-beta.0 version: link:../../updaters/twinkle/dist - "@tsparticles/updater-wobble": + '@tsparticles/updater-wobble': specifier: workspace:4.0.0-beta.0 version: link:../../updaters/wobble/dist tsparticles: specifier: workspace:4.0.0-beta.0 version: link:../../bundles/full/dist devDependencies: - "@datalust/winston-seq": + '@datalust/winston-seq': specifier: ^3.0.1 version: 3.0.1(encoding@0.1.13)(winston@3.19.0) - "@fortawesome/fontawesome-free": + '@fortawesome/fontawesome-free': specifier: ^7.2.0 version: 7.2.0 - "@types/connect-livereload": + '@types/connect-livereload': specifier: ^0.6.3 version: 0.6.3 - "@types/express": + '@types/express': specifier: ^5.0.6 version: 5.0.6 - "@types/livereload": + '@types/livereload': specifier: ^0.9.5 version: 0.9.5 - "@types/node": + '@types/node': specifier: ^25.5.0 version: 25.5.0 - "@types/stylus": + '@types/stylus': specifier: ^0.48.43 version: 0.48.43 ace-builds: @@ -1169,44 +1170,44 @@ importers: demo/vanilla_new: dependencies: - "@tsparticles/configs": + '@tsparticles/configs': specifier: workspace:4.0.0-beta.0 version: link:../../utils/configs/dist - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../engine/dist - "@tsparticles/interaction-light": + '@tsparticles/interaction-light': specifier: workspace:4.0.0-beta.0 version: link:../../interactions/light/dist - "@tsparticles/interaction-particles-repulse": + '@tsparticles/interaction-particles-repulse': specifier: workspace:4.0.0-beta.0 version: link:../../interactions/particles/repulse/dist - "@tsparticles/path-curves": + '@tsparticles/path-curves': specifier: workspace:4.0.0-beta.0 version: link:../../paths/curves/dist - "@tsparticles/path-perlin-noise": + '@tsparticles/path-perlin-noise': specifier: workspace:4.0.0-beta.0 version: link:../../paths/perlinNoise/dist - "@tsparticles/path-polygon": + '@tsparticles/path-polygon': specifier: workspace:4.0.0-beta.0 version: link:../../paths/polygon/dist - "@tsparticles/path-simplex-noise": + '@tsparticles/path-simplex-noise': specifier: workspace:4.0.0-beta.0 version: link:../../paths/simplexNoise/dist - "@tsparticles/plugin-infection": + '@tsparticles/plugin-infection': specifier: workspace:4.0.0-beta.0 version: link:../../plugins/infection/dist - "@tsparticles/updater-gradient": + '@tsparticles/updater-gradient': specifier: workspace:4.0.0-beta.0 version: link:../../updaters/gradient/dist - "@tsparticles/updater-orbit": + '@tsparticles/updater-orbit': specifier: workspace:4.0.0-beta.0 version: link:../../updaters/orbit/dist tsparticles: specifier: workspace:4.0.0-beta.0 version: link:../../bundles/full/dist devDependencies: - "@swc/core": + '@swc/core': specifier: ^1.15.18 version: 1.15.18 fs-extra: @@ -1221,13 +1222,13 @@ importers: demo/vite: dependencies: - "@tsparticles/all": + '@tsparticles/all': specifier: workspace:4.0.0-beta.0 version: link:../../bundles/all/dist - "@tsparticles/configs": + '@tsparticles/configs': specifier: workspace:4.0.0-beta.0 version: link:../../utils/configs/dist - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../engine/dist devDependencies: @@ -1240,28 +1241,28 @@ importers: effects/bubble: dependencies: - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../engine/dist publishDirectory: dist effects/particles: dependencies: - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../engine/dist publishDirectory: dist effects/shadow: dependencies: - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../engine/dist publishDirectory: dist effects/trail: dependencies: - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../engine/dist publishDirectory: dist @@ -1271,1024 +1272,1024 @@ importers: interactions/external/attract: dependencies: - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../../engine/dist - "@tsparticles/plugin-interactivity": + '@tsparticles/plugin-interactivity': specifier: workspace:4.0.0-beta.0 version: link:../../../plugins/interactivity/dist publishDirectory: dist interactions/external/bounce: dependencies: - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../../engine/dist - "@tsparticles/plugin-interactivity": + '@tsparticles/plugin-interactivity': specifier: workspace:4.0.0-beta.0 version: link:../../../plugins/interactivity/dist publishDirectory: dist interactions/external/bubble: dependencies: - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../../engine/dist - "@tsparticles/plugin-interactivity": + '@tsparticles/plugin-interactivity': specifier: workspace:4.0.0-beta.0 version: link:../../../plugins/interactivity/dist publishDirectory: dist interactions/external/connect: dependencies: - "@tsparticles/canvas-utils": + '@tsparticles/canvas-utils': specifier: workspace:4.0.0-beta.0 version: link:../../../utils/canvasUtils/dist - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../../engine/dist - "@tsparticles/plugin-interactivity": + '@tsparticles/plugin-interactivity': specifier: workspace:4.0.0-beta.0 version: link:../../../plugins/interactivity/dist publishDirectory: dist interactions/external/drag: dependencies: - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../../engine/dist - "@tsparticles/plugin-interactivity": + '@tsparticles/plugin-interactivity': specifier: workspace:4.0.0-beta.0 version: link:../../../plugins/interactivity/dist publishDirectory: dist interactions/external/grab: dependencies: - "@tsparticles/canvas-utils": + '@tsparticles/canvas-utils': specifier: workspace:4.0.0-beta.0 version: link:../../../utils/canvasUtils/dist - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../../engine/dist - "@tsparticles/plugin-interactivity": + '@tsparticles/plugin-interactivity': specifier: workspace:4.0.0-beta.0 version: link:../../../plugins/interactivity/dist publishDirectory: dist interactions/external/parallax: dependencies: - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../../engine/dist - "@tsparticles/plugin-interactivity": + '@tsparticles/plugin-interactivity': specifier: workspace:4.0.0-beta.0 version: link:../../../plugins/interactivity/dist publishDirectory: dist interactions/external/particle: dependencies: - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../../engine/dist - "@tsparticles/plugin-interactivity": + '@tsparticles/plugin-interactivity': specifier: workspace:4.0.0-beta.0 version: link:../../../plugins/interactivity/dist publishDirectory: dist interactions/external/pause: dependencies: - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../../engine/dist - "@tsparticles/plugin-interactivity": + '@tsparticles/plugin-interactivity': specifier: workspace:4.0.0-beta.0 version: link:../../../plugins/interactivity/dist publishDirectory: dist interactions/external/pop: dependencies: - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../../engine/dist - "@tsparticles/plugin-interactivity": + '@tsparticles/plugin-interactivity': specifier: workspace:4.0.0-beta.0 version: link:../../../plugins/interactivity/dist publishDirectory: dist interactions/external/push: dependencies: - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../../engine/dist - "@tsparticles/plugin-interactivity": + '@tsparticles/plugin-interactivity': specifier: workspace:4.0.0-beta.0 version: link:../../../plugins/interactivity/dist publishDirectory: dist interactions/external/remove: dependencies: - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../../engine/dist - "@tsparticles/plugin-interactivity": + '@tsparticles/plugin-interactivity': specifier: workspace:4.0.0-beta.0 version: link:../../../plugins/interactivity/dist publishDirectory: dist interactions/external/repulse: dependencies: - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../../engine/dist - "@tsparticles/plugin-interactivity": + '@tsparticles/plugin-interactivity': specifier: workspace:4.0.0-beta.0 version: link:../../../plugins/interactivity/dist publishDirectory: dist interactions/external/slow: dependencies: - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../../engine/dist - "@tsparticles/plugin-interactivity": + '@tsparticles/plugin-interactivity': specifier: workspace:4.0.0-beta.0 version: link:../../../plugins/interactivity/dist publishDirectory: dist interactions/external/trail: dependencies: - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../../engine/dist - "@tsparticles/plugin-interactivity": + '@tsparticles/plugin-interactivity': specifier: workspace:4.0.0-beta.0 version: link:../../../plugins/interactivity/dist publishDirectory: dist interactions/light: dependencies: - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../engine/dist - "@tsparticles/plugin-interactivity": + '@tsparticles/plugin-interactivity': specifier: workspace:4.0.0-beta.0 version: link:../../plugins/interactivity/dist publishDirectory: dist interactions/particles/attract: dependencies: - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../../engine/dist - "@tsparticles/plugin-interactivity": + '@tsparticles/plugin-interactivity': specifier: workspace:4.0.0-beta.0 version: link:../../../plugins/interactivity/dist publishDirectory: dist interactions/particles/collisions: dependencies: - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../../engine/dist - "@tsparticles/plugin-interactivity": + '@tsparticles/plugin-interactivity': specifier: workspace:4.0.0-beta.0 version: link:../../../plugins/interactivity/dist publishDirectory: dist interactions/particles/links: dependencies: - "@tsparticles/canvas-utils": + '@tsparticles/canvas-utils': specifier: workspace:4.0.0-beta.0 version: link:../../../utils/canvasUtils/dist - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../../engine/dist - "@tsparticles/plugin-interactivity": + '@tsparticles/plugin-interactivity': specifier: workspace:4.0.0-beta.0 version: link:../../../plugins/interactivity/dist publishDirectory: dist interactions/particles/repulse: dependencies: - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../../engine/dist - "@tsparticles/plugin-interactivity": + '@tsparticles/plugin-interactivity': specifier: workspace:4.0.0-beta.0 version: link:../../../plugins/interactivity/dist publishDirectory: dist paths/branches: dependencies: - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../engine/dist - "@tsparticles/plugin-move": + '@tsparticles/plugin-move': specifier: workspace:4.0.0-beta.0 version: link:../../plugins/move/dist publishDirectory: dist paths/brownian: dependencies: - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../engine/dist - "@tsparticles/plugin-move": + '@tsparticles/plugin-move': specifier: workspace:4.0.0-beta.0 version: link:../../plugins/move/dist publishDirectory: dist paths/curlNoise: dependencies: - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../engine/dist - "@tsparticles/plugin-move": + '@tsparticles/plugin-move': specifier: workspace:4.0.0-beta.0 version: link:../../plugins/move/dist - "@tsparticles/simplex-noise": + '@tsparticles/simplex-noise': specifier: workspace:4.0.0-beta.0 version: link:../../utils/simplexNoise/dist publishDirectory: dist paths/curves: dependencies: - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../engine/dist - "@tsparticles/plugin-move": + '@tsparticles/plugin-move': specifier: workspace:4.0.0-beta.0 version: link:../../plugins/move/dist publishDirectory: dist paths/fractalNoise: dependencies: - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../engine/dist - "@tsparticles/fractal-noise": + '@tsparticles/fractal-noise': specifier: workspace:4.0.0-beta.0 version: link:../../utils/fractalNoise/dist - "@tsparticles/noise-field": + '@tsparticles/noise-field': specifier: workspace:4.0.0-beta.0 version: link:../../utils/noiseField/dist - "@tsparticles/plugin-move": + '@tsparticles/plugin-move': specifier: workspace:4.0.0-beta.0 version: link:../../plugins/move/dist publishDirectory: dist paths/grid: dependencies: - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../engine/dist - "@tsparticles/plugin-move": + '@tsparticles/plugin-move': specifier: workspace:4.0.0-beta.0 version: link:../../plugins/move/dist publishDirectory: dist paths/levy: dependencies: - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../engine/dist - "@tsparticles/plugin-move": + '@tsparticles/plugin-move': specifier: workspace:4.0.0-beta.0 version: link:../../plugins/move/dist publishDirectory: dist paths/perlinNoise: dependencies: - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../engine/dist - "@tsparticles/noise-field": + '@tsparticles/noise-field': specifier: workspace:4.0.0-beta.0 version: link:../../utils/noiseField/dist - "@tsparticles/perlin-noise": + '@tsparticles/perlin-noise': specifier: workspace:4.0.0-beta.0 version: link:../../utils/perlinNoise/dist - "@tsparticles/plugin-move": + '@tsparticles/plugin-move': specifier: workspace:4.0.0-beta.0 version: link:../../plugins/move/dist publishDirectory: dist paths/polygon: dependencies: - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../engine/dist - "@tsparticles/plugin-move": + '@tsparticles/plugin-move': specifier: workspace:4.0.0-beta.0 version: link:../../plugins/move/dist publishDirectory: dist paths/random: dependencies: - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../engine/dist - "@tsparticles/plugin-move": + '@tsparticles/plugin-move': specifier: workspace:4.0.0-beta.0 version: link:../../plugins/move/dist publishDirectory: dist paths/simplexNoise: dependencies: - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../engine/dist - "@tsparticles/noise-field": + '@tsparticles/noise-field': specifier: workspace:4.0.0-beta.0 version: link:../../utils/noiseField/dist - "@tsparticles/plugin-move": + '@tsparticles/plugin-move': specifier: workspace:4.0.0-beta.0 version: link:../../plugins/move/dist - "@tsparticles/simplex-noise": + '@tsparticles/simplex-noise': specifier: workspace:4.0.0-beta.0 version: link:../../utils/simplexNoise/dist publishDirectory: dist paths/spiral: dependencies: - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../engine/dist - "@tsparticles/plugin-move": + '@tsparticles/plugin-move': specifier: workspace:4.0.0-beta.0 version: link:../../plugins/move/dist publishDirectory: dist paths/svg: dependencies: - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../engine/dist - "@tsparticles/plugin-move": + '@tsparticles/plugin-move': specifier: workspace:4.0.0-beta.0 version: link:../../plugins/move/dist publishDirectory: dist paths/zigzag: dependencies: - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../engine/dist - "@tsparticles/plugin-move": + '@tsparticles/plugin-move': specifier: workspace:4.0.0-beta.0 version: link:../../plugins/move/dist publishDirectory: dist plugins/absorbers: dependencies: - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../engine/dist - "@tsparticles/plugin-interactivity": + '@tsparticles/plugin-interactivity': specifier: workspace:4.0.0-beta.0 version: link:../interactivity/dist publishDirectory: dist plugins/backgroundMask: dependencies: - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../engine/dist publishDirectory: dist plugins/blend: dependencies: - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../engine/dist publishDirectory: dist plugins/canvasMask: dependencies: - "@tsparticles/canvas-utils": + '@tsparticles/canvas-utils': specifier: workspace:4.0.0-beta.0 version: link:../../utils/canvasUtils/dist - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../engine/dist publishDirectory: dist plugins/colors/hex: dependencies: - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../../engine/dist publishDirectory: dist plugins/colors/hsl: dependencies: - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../../engine/dist publishDirectory: dist plugins/colors/hsv: dependencies: - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../../engine/dist publishDirectory: dist plugins/colors/hwb: dependencies: - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../../engine/dist publishDirectory: dist plugins/colors/lab: dependencies: - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../../engine/dist publishDirectory: dist plugins/colors/lch: dependencies: - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../../engine/dist publishDirectory: dist plugins/colors/named: dependencies: - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../../engine/dist publishDirectory: dist plugins/colors/oklab: dependencies: - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../../engine/dist publishDirectory: dist plugins/colors/oklch: dependencies: - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../../engine/dist publishDirectory: dist plugins/colors/rgb: dependencies: - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../../engine/dist publishDirectory: dist plugins/easings/back: dependencies: - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../../engine/dist publishDirectory: dist plugins/easings/bounce: dependencies: - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../../engine/dist publishDirectory: dist plugins/easings/circ: dependencies: - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../../engine/dist publishDirectory: dist plugins/easings/cubic: dependencies: - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../../engine/dist publishDirectory: dist plugins/easings/elastic: dependencies: - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../../engine/dist publishDirectory: dist plugins/easings/expo: dependencies: - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../../engine/dist publishDirectory: dist plugins/easings/gaussian: dependencies: - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../../engine/dist publishDirectory: dist plugins/easings/linear: dependencies: - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../../engine/dist publishDirectory: dist plugins/easings/quad: dependencies: - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../../engine/dist publishDirectory: dist plugins/easings/quart: dependencies: - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../../engine/dist publishDirectory: dist plugins/easings/quint: dependencies: - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../../engine/dist publishDirectory: dist plugins/easings/sigmoid: dependencies: - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../../engine/dist publishDirectory: dist plugins/easings/sine: dependencies: - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../../engine/dist publishDirectory: dist plugins/easings/smoothstep: dependencies: - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../../engine/dist publishDirectory: dist plugins/emitters: dependencies: - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../engine/dist - "@tsparticles/plugin-interactivity": + '@tsparticles/plugin-interactivity': specifier: workspace:4.0.0-beta.0 version: link:../interactivity/dist publishDirectory: dist plugins/emittersShapes/canvas: dependencies: - "@tsparticles/canvas-utils": + '@tsparticles/canvas-utils': specifier: workspace:4.0.0-beta.0 version: link:../../../utils/canvasUtils/dist - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../../engine/dist - "@tsparticles/plugin-emitters": + '@tsparticles/plugin-emitters': specifier: workspace:4.0.0-beta.0 version: link:../../emitters/dist publishDirectory: dist plugins/emittersShapes/circle: dependencies: - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../../engine/dist - "@tsparticles/plugin-emitters": + '@tsparticles/plugin-emitters': specifier: workspace:4.0.0-beta.0 version: link:../../emitters/dist publishDirectory: dist plugins/emittersShapes/path: dependencies: - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../../engine/dist - "@tsparticles/plugin-emitters": + '@tsparticles/plugin-emitters': specifier: workspace:4.0.0-beta.0 version: link:../../emitters/dist publishDirectory: dist plugins/emittersShapes/polygon: dependencies: - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../../engine/dist - "@tsparticles/plugin-emitters": + '@tsparticles/plugin-emitters': specifier: workspace:4.0.0-beta.0 version: link:../../emitters/dist publishDirectory: dist plugins/emittersShapes/square: dependencies: - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../../engine/dist - "@tsparticles/plugin-emitters": + '@tsparticles/plugin-emitters': specifier: workspace:4.0.0-beta.0 version: link:../../emitters/dist publishDirectory: dist plugins/exports/image: dependencies: - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../../engine/dist publishDirectory: dist plugins/exports/json: dependencies: - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../../engine/dist publishDirectory: dist plugins/exports/video: dependencies: - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../../engine/dist publishDirectory: dist plugins/infection: dependencies: - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../engine/dist - "@tsparticles/plugin-interactivity": + '@tsparticles/plugin-interactivity': specifier: workspace:4.0.0-beta.0 version: link:../interactivity/dist publishDirectory: dist plugins/interactivity: dependencies: - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../engine/dist publishDirectory: dist plugins/manualParticles: dependencies: - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../engine/dist publishDirectory: dist plugins/motion: dependencies: - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../engine/dist publishDirectory: dist plugins/move: dependencies: - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../engine/dist publishDirectory: dist plugins/poisson: dependencies: - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../engine/dist publishDirectory: dist plugins/polygonMask: dependencies: - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../engine/dist publishDirectory: dist plugins/responsive: dependencies: - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../engine/dist publishDirectory: dist plugins/sounds: dependencies: - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../engine/dist publishDirectory: dist plugins/themes: dependencies: - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../engine/dist publishDirectory: dist plugins/trail: dependencies: - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../engine/dist publishDirectory: dist plugins/zoom: dependencies: - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../engine/dist publishDirectory: dist shapes/arrow: dependencies: - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../engine/dist publishDirectory: dist shapes/cards: dependencies: - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../engine/dist - "@tsparticles/path-utils": + '@tsparticles/path-utils': specifier: workspace:4.0.0-beta.0 version: link:../../utils/pathUtils/dist publishDirectory: dist shapes/circle: dependencies: - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../engine/dist publishDirectory: dist shapes/cog: dependencies: - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../engine/dist publishDirectory: dist shapes/emoji: dependencies: - "@tsparticles/canvas-utils": + '@tsparticles/canvas-utils': specifier: workspace:4.0.0-beta.0 version: link:../../utils/canvasUtils/dist - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../engine/dist publishDirectory: dist shapes/heart: dependencies: - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../engine/dist publishDirectory: dist shapes/image: dependencies: - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../engine/dist publishDirectory: dist shapes/infinity: dependencies: - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../engine/dist publishDirectory: dist shapes/line: dependencies: - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../engine/dist publishDirectory: dist shapes/matrix: dependencies: - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../engine/dist publishDirectory: dist shapes/path: dependencies: - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../engine/dist - "@tsparticles/path-utils": + '@tsparticles/path-utils': specifier: workspace:4.0.0-beta.0 version: link:../../utils/pathUtils/dist publishDirectory: dist shapes/polygon: dependencies: - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../engine/dist publishDirectory: dist shapes/rounded-polygon: dependencies: - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../engine/dist publishDirectory: dist shapes/rounded-rect: dependencies: - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../engine/dist publishDirectory: dist shapes/spiral: dependencies: - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../engine/dist publishDirectory: dist shapes/square: dependencies: - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../engine/dist publishDirectory: dist shapes/squircle: dependencies: - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../engine/dist publishDirectory: dist shapes/star: dependencies: - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../engine/dist publishDirectory: dist shapes/text: dependencies: - "@tsparticles/canvas-utils": + '@tsparticles/canvas-utils': specifier: workspace:4.0.0-beta.0 version: link:../../utils/canvasUtils/dist - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../engine/dist publishDirectory: dist updaters/destroy: dependencies: - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../engine/dist publishDirectory: dist updaters/fillColor: dependencies: - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../engine/dist publishDirectory: dist updaters/gradient: dependencies: - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../engine/dist publishDirectory: dist updaters/life: dependencies: - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../engine/dist publishDirectory: dist updaters/opacity: dependencies: - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../engine/dist publishDirectory: dist updaters/orbit: dependencies: - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../engine/dist publishDirectory: dist updaters/outModes: dependencies: - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../engine/dist publishDirectory: dist updaters/roll: dependencies: - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../engine/dist publishDirectory: dist updaters/rotate: dependencies: - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../engine/dist publishDirectory: dist updaters/size: dependencies: - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../engine/dist publishDirectory: dist updaters/strokeColor: dependencies: - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../engine/dist publishDirectory: dist updaters/tilt: dependencies: - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../engine/dist publishDirectory: dist updaters/twinkle: dependencies: - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../engine/dist publishDirectory: dist updaters/wobble: dependencies: - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../engine/dist publishDirectory: dist utils/canvasUtils: dependencies: - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../engine/dist publishDirectory: dist utils/configs: dependencies: - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../engine/dist publishDirectory: dist utils/fractalNoise: dependencies: - "@tsparticles/smooth-value-noise": + '@tsparticles/smooth-value-noise': specifier: workspace:4.0.0-beta.0 version: link:../smoothValueNoise/dist publishDirectory: dist utils/noiseField: dependencies: - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../engine/dist - "@tsparticles/plugin-move": + '@tsparticles/plugin-move': specifier: workspace:4.0.0-beta.0 version: link:../../plugins/move/dist publishDirectory: dist utils/pathUtils: dependencies: - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../engine/dist publishDirectory: dist @@ -2304,192 +2305,159 @@ importers: utils/tests: dependencies: - "@tsparticles/engine": + '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../engine/dist - "@tsparticles/plugin-hex-color": + '@tsparticles/plugin-hex-color': specifier: workspace:4.0.0-beta.0 version: link:../../plugins/colors/hex/dist - "@tsparticles/plugin-hsl-color": + '@tsparticles/plugin-hsl-color': specifier: workspace:4.0.0-beta.0 version: link:../../plugins/colors/hsl/dist - "@tsparticles/plugin-hsv-color": + '@tsparticles/plugin-hsv-color': specifier: workspace:4.0.0-beta.0 version: link:../../plugins/colors/hsv/dist - "@tsparticles/plugin-rgb-color": + '@tsparticles/plugin-rgb-color': specifier: workspace:4.0.0-beta.0 version: link:../../plugins/colors/rgb/dist packages: - "@aashutoshrathi/word-wrap@1.2.6": - resolution: - { integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA== } - engines: { node: ">=0.10.0" } - - "@adobe/css-tools@4.3.3": - resolution: - { integrity: sha512-rE0Pygv0sEZ4vBWHlAgJLGDU7Pm8xoO6p3wsEceb7GYAjScrOHpEo8KK/eVkAcnSM+slAEtXjA2JpdjLp4fJQQ== } - - "@asamuzakjp/css-color@5.0.1": - resolution: - { integrity: sha512-2SZFvqMyvboVV1d15lMf7XiI3m7SDqXUuKaTymJYLN6dSGadqp+fVojqJlVoMlbZnlTmu3S0TLwLTJpvBMO1Aw== } - engines: { node: ^20.19.0 || ^22.12.0 || >=24.0.0 } - - "@asamuzakjp/dom-selector@7.0.3": - resolution: - { integrity: sha512-Q6mU0Z6bfj6YvnX2k9n0JxiIwrCFN59x/nWmYQnAqP000ruX/yV+5bp/GRcF5T8ncvfwJQ7fgfP74DlpKExILA== } - engines: { node: ^20.19.0 || ^22.12.0 || >=24.0.0 } - - "@asamuzakjp/nwsapi@2.3.9": - resolution: - { integrity: sha512-n8GuYSrI9bF7FFZ/SjhwevlHc8xaVlb/7HmHelnc/PZXBD2ZR49NnN9sMMuDdEGPeeRQ5d0hqlSlEpgCX3Wl0Q== } - - "@augment-vir/assert@31.59.3": - resolution: - { integrity: sha512-o6+RSEJZJLb9oTPcRkvUkO5QRVVSJby/mOZ6iQqCVkWrkqeMEeFHjqrvlf8C4KfJzg1323QSj+EARXKkcTHWQA== } - engines: { node: ">=22" } - - "@augment-vir/common@31.59.3": - resolution: - { integrity: sha512-hEMnLeHE+eOCX4XEb0sIlUBbC/3gNsgLCsA+WA5a4syEgtijvWc+/t2r2LW9N+3XmQrH76fPyyxsxfgzvoT82Q== } - engines: { node: ">=22" } - - "@augment-vir/core@31.59.3": - resolution: - { integrity: sha512-5Yj/ONzKZYdH6P0a130pgP6QkLpLyNelICXAHqDvZrhMcOKxGKdwRR+DxQlOvPvKulOC30o2QH84VI1/zj8eVw== } - engines: { node: ">=22" } - - "@babel/code-frame@7.27.1": - resolution: - { integrity: sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg== } - engines: { node: ">=6.9.0" } - - "@babel/helper-string-parser@7.27.1": - resolution: - { integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA== } - engines: { node: ">=6.9.0" } - - "@babel/helper-validator-identifier@7.28.5": - resolution: - { integrity: sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q== } - engines: { node: ">=6.9.0" } - - "@babel/parser@7.29.0": - resolution: - { integrity: sha512-IyDgFV5GeDUVX4YdF/3CPULtVGSXXMLh1xVIgdCgxApktqnQV0r7/8Nqthg+8YLGaAtdyIlo2qIdZrbCv4+7ww== } - engines: { node: ">=6.0.0" } + + '@aashutoshrathi/word-wrap@1.2.6': + resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==} + engines: {node: '>=0.10.0'} + + '@adobe/css-tools@4.3.3': + resolution: {integrity: sha512-rE0Pygv0sEZ4vBWHlAgJLGDU7Pm8xoO6p3wsEceb7GYAjScrOHpEo8KK/eVkAcnSM+slAEtXjA2JpdjLp4fJQQ==} + + '@asamuzakjp/css-color@5.0.1': + resolution: {integrity: sha512-2SZFvqMyvboVV1d15lMf7XiI3m7SDqXUuKaTymJYLN6dSGadqp+fVojqJlVoMlbZnlTmu3S0TLwLTJpvBMO1Aw==} + engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0} + + '@asamuzakjp/dom-selector@7.0.3': + resolution: {integrity: sha512-Q6mU0Z6bfj6YvnX2k9n0JxiIwrCFN59x/nWmYQnAqP000ruX/yV+5bp/GRcF5T8ncvfwJQ7fgfP74DlpKExILA==} + engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0} + + '@asamuzakjp/nwsapi@2.3.9': + resolution: {integrity: sha512-n8GuYSrI9bF7FFZ/SjhwevlHc8xaVlb/7HmHelnc/PZXBD2ZR49NnN9sMMuDdEGPeeRQ5d0hqlSlEpgCX3Wl0Q==} + + '@augment-vir/assert@31.59.3': + resolution: {integrity: sha512-o6+RSEJZJLb9oTPcRkvUkO5QRVVSJby/mOZ6iQqCVkWrkqeMEeFHjqrvlf8C4KfJzg1323QSj+EARXKkcTHWQA==} + engines: {node: '>=22'} + + '@augment-vir/common@31.59.3': + resolution: {integrity: sha512-hEMnLeHE+eOCX4XEb0sIlUBbC/3gNsgLCsA+WA5a4syEgtijvWc+/t2r2LW9N+3XmQrH76fPyyxsxfgzvoT82Q==} + engines: {node: '>=22'} + + '@augment-vir/core@31.59.3': + resolution: {integrity: sha512-5Yj/ONzKZYdH6P0a130pgP6QkLpLyNelICXAHqDvZrhMcOKxGKdwRR+DxQlOvPvKulOC30o2QH84VI1/zj8eVw==} + engines: {node: '>=22'} + + '@babel/code-frame@7.27.1': + resolution: {integrity: sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==} + engines: {node: '>=6.9.0'} + + '@babel/helper-string-parser@7.27.1': + resolution: {integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-identifier@7.28.5': + resolution: {integrity: sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==} + engines: {node: '>=6.9.0'} + + '@babel/parser@7.29.0': + resolution: {integrity: sha512-IyDgFV5GeDUVX4YdF/3CPULtVGSXXMLh1xVIgdCgxApktqnQV0r7/8Nqthg+8YLGaAtdyIlo2qIdZrbCv4+7ww==} + engines: {node: '>=6.0.0'} hasBin: true - "@babel/types@7.29.0": - resolution: - { integrity: sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A== } - engines: { node: ">=6.9.0" } + '@babel/types@7.29.0': + resolution: {integrity: sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==} + engines: {node: '>=6.9.0'} - "@bcoe/v8-coverage@1.0.2": - resolution: - { integrity: sha512-6zABk/ECA/QYSCQ1NGiVwwbQerUCZ+TQbp64Q3AgmfNvurHH0j8TtXa1qbShXA6qqkpAj4V5W8pP6mLe1mcMqA== } - engines: { node: ">=18" } + '@bcoe/v8-coverage@1.0.2': + resolution: {integrity: sha512-6zABk/ECA/QYSCQ1NGiVwwbQerUCZ+TQbp64Q3AgmfNvurHH0j8TtXa1qbShXA6qqkpAj4V5W8pP6mLe1mcMqA==} + engines: {node: '>=18'} - "@bramus/specificity@2.4.2": - resolution: - { integrity: sha512-ctxtJ/eA+t+6q2++vj5j7FYX3nRu311q1wfYH3xjlLOsczhlhxAg2FWNUXhpGvAw3BWo1xBcvOV6/YLc2r5FJw== } + '@bramus/specificity@2.4.2': + resolution: {integrity: sha512-ctxtJ/eA+t+6q2++vj5j7FYX3nRu311q1wfYH3xjlLOsczhlhxAg2FWNUXhpGvAw3BWo1xBcvOV6/YLc2r5FJw==} hasBin: true - "@colors/colors@1.6.0": - resolution: - { integrity: sha512-Ir+AOibqzrIsL6ajt3Rz3LskB7OiMVHqltZmspbW/TJuTVuyOMirVqAkjfY6JISiLHgyNqicAC8AyHHGzNd/dA== } - engines: { node: ">=0.1.90" } + '@colors/colors@1.6.0': + resolution: {integrity: sha512-Ir+AOibqzrIsL6ajt3Rz3LskB7OiMVHqltZmspbW/TJuTVuyOMirVqAkjfY6JISiLHgyNqicAC8AyHHGzNd/dA==} + engines: {node: '>=0.1.90'} - "@commitlint/cli@20.5.0": - resolution: - { integrity: sha512-yNkyN/tuKTJS3wdVfsZ2tXDM4G4Gi7z+jW54Cki8N8tZqwKBltbIvUUrSbT4hz1bhW/h0CdR+5sCSpXD+wMKaQ== } - engines: { node: ">=v18" } + '@commitlint/cli@20.5.0': + resolution: {integrity: sha512-yNkyN/tuKTJS3wdVfsZ2tXDM4G4Gi7z+jW54Cki8N8tZqwKBltbIvUUrSbT4hz1bhW/h0CdR+5sCSpXD+wMKaQ==} + engines: {node: '>=v18'} hasBin: true - "@commitlint/config-conventional@20.5.0": - resolution: - { integrity: sha512-t3Ni88rFw1XMa4nZHgOKJ8fIAT9M2j5TnKyTqJzsxea7FUetlNdYFus9dz+MhIRZmc16P0PPyEfh6X2d/qw8SA== } - engines: { node: ">=v18" } - - "@commitlint/config-validator@20.5.0": - resolution: - { integrity: sha512-T/Uh6iJUzyx7j35GmHWdIiGRQB+ouZDk0pwAaYq4SXgB54KZhFdJ0vYmxiW6AMYICTIWuyMxDBl1jK74oFp/Gw== } - engines: { node: ">=v18" } - - "@commitlint/ensure@20.5.0": - resolution: - { integrity: sha512-IpHqAUesBeW1EDDdjzJeaOxU9tnogLAyXLRBn03SHlj1SGENn2JGZqSWGkFvBJkJzfXAuCNtsoYzax+ZPS+puw== } - engines: { node: ">=v18" } - - "@commitlint/execute-rule@20.0.0": - resolution: - { integrity: sha512-xyCoOShoPuPL44gVa+5EdZsBVao/pNzpQhkzq3RdtlFdKZtjWcLlUFQHSWBuhk5utKYykeJPSz2i8ABHQA+ZZw== } - engines: { node: ">=v18" } - - "@commitlint/format@20.5.0": - resolution: - { integrity: sha512-TI9EwFU/qZWSK7a5qyXMpKPPv3qta7FO4tKW+Wt2al7sgMbLWTsAcDpX1cU8k16TRdsiiet9aOw0zpvRXNJu7Q== } - engines: { node: ">=v18" } - - "@commitlint/is-ignored@20.5.0": - resolution: - { integrity: sha512-JWLarAsurHJhPozbuAH6GbP4p/hdOCoqS9zJMfqwswne+/GPs5V0+rrsfOkP68Y8PSLphwtFXV0EzJ+GTXTTGg== } - engines: { node: ">=v18" } - - "@commitlint/lint@20.5.0": - resolution: - { integrity: sha512-jiM3hNUdu04jFBf1VgPdjtIPvbuVfDTBAc6L98AWcoLjF5sYqkulBHBzlVWll4rMF1T5zeQFB6r//a+s+BBKlA== } - engines: { node: ">=v18" } - - "@commitlint/load@20.5.0": - resolution: - { integrity: sha512-sLhhYTL/KxeOTZjjabKDhwidGZan84XKK1+XFkwDYL/4883kIajcz/dZFAhBJmZPtL8+nBx6bnkzA95YxPeDPw== } - engines: { node: ">=v18" } - - "@commitlint/message@20.4.3": - resolution: - { integrity: sha512-6akwCYrzcrFcTYz9GyUaWlhisY4lmQ3KvrnabmhoeAV8nRH4dXJAh4+EUQ3uArtxxKQkvxJS78hNX2EU3USgxQ== } - engines: { node: ">=v18" } - - "@commitlint/parse@20.5.0": - resolution: - { integrity: sha512-SeKWHBMk7YOTnnEWUhx+d1a9vHsjjuo6Uo1xRfPNfeY4bdYFasCH1dDpAv13Lyn+dDPOels+jP6D2GRZqzc5fA== } - engines: { node: ">=v18" } - - "@commitlint/read@20.5.0": - resolution: - { integrity: sha512-JDEIJ2+GnWpK8QqwfmW7O42h0aycJEWNqcdkJnyzLD11nf9dW2dWLTVEa8Wtlo4IZFGLPATjR5neA5QlOvIH1w== } - engines: { node: ">=v18" } - - "@commitlint/resolve-extends@20.5.0": - resolution: - { integrity: sha512-3SHPWUW2v0tyspCTcfSsYml0gses92l6TlogwzvM2cbxDgmhSRc+fldDjvGkCXJrjSM87BBaWYTPWwwyASZRrg== } - engines: { node: ">=v18" } - - "@commitlint/rules@20.5.0": - resolution: - { integrity: sha512-5NdQXQEdnDPT5pK8O39ZA7HohzPRHEsDGU23cyVCNPQy4WegAbAwrQk3nIu7p2sl3dutPk8RZd91yKTrMTnRkQ== } - engines: { node: ">=v18" } - - "@commitlint/to-lines@20.0.0": - resolution: - { integrity: sha512-2l9gmwiCRqZNWgV+pX1X7z4yP0b3ex/86UmUFgoRt672Ez6cAM2lOQeHFRUTuE6sPpi8XBCGnd8Kh3bMoyHwJw== } - engines: { node: ">=v18" } - - "@commitlint/top-level@20.4.3": - resolution: - { integrity: sha512-qD9xfP6dFg5jQ3NMrOhG0/w5y3bBUsVGyJvXxdWEwBm8hyx4WOk3kKXw28T5czBYvyeCVJgJJ6aoJZUWDpaacQ== } - engines: { node: ">=v18" } - - "@commitlint/types@20.5.0": - resolution: - { integrity: sha512-ZJoS8oSq2CAZEpc/YI9SulLrdiIyXeHb/OGqGrkUP6Q7YV+0ouNAa7GjqRdXeQPncHQIDz/jbCTlHScvYvO/gA== } - engines: { node: ">=v18" } - - "@conventional-changelog/git-client@2.6.0": - resolution: - { integrity: sha512-T+uPDciKf0/ioNNDpMGc8FDsehJClZP0yR3Q5MN6wE/Y/1QZ7F+80OgznnTCOlMEG4AV0LvH2UJi3C/nBnaBUg== } - engines: { node: ">=18" } + '@commitlint/config-conventional@20.5.0': + resolution: {integrity: sha512-t3Ni88rFw1XMa4nZHgOKJ8fIAT9M2j5TnKyTqJzsxea7FUetlNdYFus9dz+MhIRZmc16P0PPyEfh6X2d/qw8SA==} + engines: {node: '>=v18'} + + '@commitlint/config-validator@20.5.0': + resolution: {integrity: sha512-T/Uh6iJUzyx7j35GmHWdIiGRQB+ouZDk0pwAaYq4SXgB54KZhFdJ0vYmxiW6AMYICTIWuyMxDBl1jK74oFp/Gw==} + engines: {node: '>=v18'} + + '@commitlint/ensure@20.5.0': + resolution: {integrity: sha512-IpHqAUesBeW1EDDdjzJeaOxU9tnogLAyXLRBn03SHlj1SGENn2JGZqSWGkFvBJkJzfXAuCNtsoYzax+ZPS+puw==} + engines: {node: '>=v18'} + + '@commitlint/execute-rule@20.0.0': + resolution: {integrity: sha512-xyCoOShoPuPL44gVa+5EdZsBVao/pNzpQhkzq3RdtlFdKZtjWcLlUFQHSWBuhk5utKYykeJPSz2i8ABHQA+ZZw==} + engines: {node: '>=v18'} + + '@commitlint/format@20.5.0': + resolution: {integrity: sha512-TI9EwFU/qZWSK7a5qyXMpKPPv3qta7FO4tKW+Wt2al7sgMbLWTsAcDpX1cU8k16TRdsiiet9aOw0zpvRXNJu7Q==} + engines: {node: '>=v18'} + + '@commitlint/is-ignored@20.5.0': + resolution: {integrity: sha512-JWLarAsurHJhPozbuAH6GbP4p/hdOCoqS9zJMfqwswne+/GPs5V0+rrsfOkP68Y8PSLphwtFXV0EzJ+GTXTTGg==} + engines: {node: '>=v18'} + + '@commitlint/lint@20.5.0': + resolution: {integrity: sha512-jiM3hNUdu04jFBf1VgPdjtIPvbuVfDTBAc6L98AWcoLjF5sYqkulBHBzlVWll4rMF1T5zeQFB6r//a+s+BBKlA==} + engines: {node: '>=v18'} + + '@commitlint/load@20.5.0': + resolution: {integrity: sha512-sLhhYTL/KxeOTZjjabKDhwidGZan84XKK1+XFkwDYL/4883kIajcz/dZFAhBJmZPtL8+nBx6bnkzA95YxPeDPw==} + engines: {node: '>=v18'} + + '@commitlint/message@20.4.3': + resolution: {integrity: sha512-6akwCYrzcrFcTYz9GyUaWlhisY4lmQ3KvrnabmhoeAV8nRH4dXJAh4+EUQ3uArtxxKQkvxJS78hNX2EU3USgxQ==} + engines: {node: '>=v18'} + + '@commitlint/parse@20.5.0': + resolution: {integrity: sha512-SeKWHBMk7YOTnnEWUhx+d1a9vHsjjuo6Uo1xRfPNfeY4bdYFasCH1dDpAv13Lyn+dDPOels+jP6D2GRZqzc5fA==} + engines: {node: '>=v18'} + + '@commitlint/read@20.5.0': + resolution: {integrity: sha512-JDEIJ2+GnWpK8QqwfmW7O42h0aycJEWNqcdkJnyzLD11nf9dW2dWLTVEa8Wtlo4IZFGLPATjR5neA5QlOvIH1w==} + engines: {node: '>=v18'} + + '@commitlint/resolve-extends@20.5.0': + resolution: {integrity: sha512-3SHPWUW2v0tyspCTcfSsYml0gses92l6TlogwzvM2cbxDgmhSRc+fldDjvGkCXJrjSM87BBaWYTPWwwyASZRrg==} + engines: {node: '>=v18'} + + '@commitlint/rules@20.5.0': + resolution: {integrity: sha512-5NdQXQEdnDPT5pK8O39ZA7HohzPRHEsDGU23cyVCNPQy4WegAbAwrQk3nIu7p2sl3dutPk8RZd91yKTrMTnRkQ==} + engines: {node: '>=v18'} + + '@commitlint/to-lines@20.0.0': + resolution: {integrity: sha512-2l9gmwiCRqZNWgV+pX1X7z4yP0b3ex/86UmUFgoRt672Ez6cAM2lOQeHFRUTuE6sPpi8XBCGnd8Kh3bMoyHwJw==} + engines: {node: '>=v18'} + + '@commitlint/top-level@20.4.3': + resolution: {integrity: sha512-qD9xfP6dFg5jQ3NMrOhG0/w5y3bBUsVGyJvXxdWEwBm8hyx4WOk3kKXw28T5czBYvyeCVJgJJ6aoJZUWDpaacQ==} + engines: {node: '>=v18'} + + '@commitlint/types@20.5.0': + resolution: {integrity: sha512-ZJoS8oSq2CAZEpc/YI9SulLrdiIyXeHb/OGqGrkUP6Q7YV+0ouNAa7GjqRdXeQPncHQIDz/jbCTlHScvYvO/gA==} + engines: {node: '>=v18'} + + '@conventional-changelog/git-client@2.6.0': + resolution: {integrity: sha512-T+uPDciKf0/ioNNDpMGc8FDsehJClZP0yR3Q5MN6wE/Y/1QZ7F+80OgznnTCOlMEG4AV0LvH2UJi3C/nBnaBUg==} + engines: {node: '>=18'} peerDependencies: conventional-commits-filter: ^5.0.0 conventional-commits-parser: ^6.3.0 @@ -2499,1974 +2467,1642 @@ packages: conventional-commits-parser: optional: true - "@cspotcode/source-map-support@0.8.1": - resolution: - { integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw== } - engines: { node: ">=12" } + '@cspotcode/source-map-support@0.8.1': + resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} + engines: {node: '>=12'} - "@csstools/color-helpers@6.0.2": - resolution: - { integrity: sha512-LMGQLS9EuADloEFkcTBR3BwV/CGHV7zyDxVRtVDTwdI2Ca4it0CCVTT9wCkxSgokjE5Ho41hEPgb8OEUwoXr6Q== } - engines: { node: ">=20.19.0" } + '@csstools/color-helpers@6.0.2': + resolution: {integrity: sha512-LMGQLS9EuADloEFkcTBR3BwV/CGHV7zyDxVRtVDTwdI2Ca4it0CCVTT9wCkxSgokjE5Ho41hEPgb8OEUwoXr6Q==} + engines: {node: '>=20.19.0'} - "@csstools/css-calc@3.1.1": - resolution: - { integrity: sha512-HJ26Z/vmsZQqs/o3a6bgKslXGFAungXGbinULZO3eMsOyNJHeBBZfup5FiZInOghgoM4Hwnmw+OgbJCNg1wwUQ== } - engines: { node: ">=20.19.0" } + '@csstools/css-calc@3.1.1': + resolution: {integrity: sha512-HJ26Z/vmsZQqs/o3a6bgKslXGFAungXGbinULZO3eMsOyNJHeBBZfup5FiZInOghgoM4Hwnmw+OgbJCNg1wwUQ==} + engines: {node: '>=20.19.0'} peerDependencies: - "@csstools/css-parser-algorithms": ^4.0.0 - "@csstools/css-tokenizer": ^4.0.0 + '@csstools/css-parser-algorithms': ^4.0.0 + '@csstools/css-tokenizer': ^4.0.0 - "@csstools/css-color-parser@4.0.2": - resolution: - { integrity: sha512-0GEfbBLmTFf0dJlpsNU7zwxRIH0/BGEMuXLTCvFYxuL1tNhqzTbtnFICyJLTNK4a+RechKP75e7w42ClXSnJQw== } - engines: { node: ">=20.19.0" } + '@csstools/css-color-parser@4.0.2': + resolution: {integrity: sha512-0GEfbBLmTFf0dJlpsNU7zwxRIH0/BGEMuXLTCvFYxuL1tNhqzTbtnFICyJLTNK4a+RechKP75e7w42ClXSnJQw==} + engines: {node: '>=20.19.0'} peerDependencies: - "@csstools/css-parser-algorithms": ^4.0.0 - "@csstools/css-tokenizer": ^4.0.0 + '@csstools/css-parser-algorithms': ^4.0.0 + '@csstools/css-tokenizer': ^4.0.0 - "@csstools/css-parser-algorithms@4.0.0": - resolution: - { integrity: sha512-+B87qS7fIG3L5h3qwJ/IFbjoVoOe/bpOdh9hAjXbvx0o8ImEmUsGXN0inFOnk2ChCFgqkkGFQ+TpM5rbhkKe4w== } - engines: { node: ">=20.19.0" } + '@csstools/css-parser-algorithms@4.0.0': + resolution: {integrity: sha512-+B87qS7fIG3L5h3qwJ/IFbjoVoOe/bpOdh9hAjXbvx0o8ImEmUsGXN0inFOnk2ChCFgqkkGFQ+TpM5rbhkKe4w==} + engines: {node: '>=20.19.0'} peerDependencies: - "@csstools/css-tokenizer": ^4.0.0 + '@csstools/css-tokenizer': ^4.0.0 - "@csstools/css-syntax-patches-for-csstree@1.1.1": - resolution: - { integrity: sha512-BvqN0AMWNAnLk9G8jnUT77D+mUbY/H2b3uDTvg2isJkHaOufUE2R3AOwxWo7VBQKT1lOdwdvorddo2B/lk64+w== } + '@csstools/css-syntax-patches-for-csstree@1.1.1': + resolution: {integrity: sha512-BvqN0AMWNAnLk9G8jnUT77D+mUbY/H2b3uDTvg2isJkHaOufUE2R3AOwxWo7VBQKT1lOdwdvorddo2B/lk64+w==} peerDependencies: css-tree: ^3.2.1 peerDependenciesMeta: css-tree: optional: true - "@csstools/css-tokenizer@4.0.0": - resolution: - { integrity: sha512-QxULHAm7cNu72w97JUNCBFODFaXpbDg+dP8b/oWFAZ2MTRppA3U00Y2L1HqaS4J6yBqxwa/Y3nMBaxVKbB/NsA== } - engines: { node: ">=20.19.0" } + '@csstools/css-tokenizer@4.0.0': + resolution: {integrity: sha512-QxULHAm7cNu72w97JUNCBFODFaXpbDg+dP8b/oWFAZ2MTRppA3U00Y2L1HqaS4J6yBqxwa/Y3nMBaxVKbB/NsA==} + engines: {node: '>=20.19.0'} - "@dabh/diagnostics@2.0.8": - resolution: - { integrity: sha512-R4MSXTVnuMzGD7bzHdW2ZhhdPC/igELENcq5IjEverBvq5hn1SXCWcsi6eSsdWP0/Ur+SItRRjAktmdoX/8R/Q== } + '@dabh/diagnostics@2.0.8': + resolution: {integrity: sha512-R4MSXTVnuMzGD7bzHdW2ZhhdPC/igELENcq5IjEverBvq5hn1SXCWcsi6eSsdWP0/Ur+SItRRjAktmdoX/8R/Q==} - "@datalust/winston-seq@3.0.1": - resolution: - { integrity: sha512-jWJd5PKcj/nM5f1T65KJgKaxPJRADWe+GEWtj1yEji1H0ub4RWhBEDLYzIFdwUy365lxtc5njsakenp4Evmv+g== } + '@datalust/winston-seq@3.0.1': + resolution: {integrity: sha512-jWJd5PKcj/nM5f1T65KJgKaxPJRADWe+GEWtj1yEji1H0ub4RWhBEDLYzIFdwUy365lxtc5njsakenp4Evmv+g==} peerDependencies: winston: ^3.17.0 - "@date-vir/duration@8.1.0": - resolution: - { integrity: sha512-PwvII5Lo3dzZKpTIYHvPnrKQg6UlOY6V/z/ahPiSGt1HeAMlC96PPfuPZ9ZmzcrKQuAZgO9NzX67sXWRI3T62Q== } - engines: { node: ">=22" } - - "@discoveryjs/json-ext@0.5.7": - resolution: - { integrity: sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw== } - engines: { node: ">=10.0.0" } - - "@discoveryjs/json-ext@1.0.0": - resolution: - { integrity: sha512-dDlz3W405VMFO4w5kIP9DOmELBcvFQGmLoKSdIRstBDubKFYwaNHV1NnlzMCQpXQFGWVALmeMORAuiLx18AvZQ== } - engines: { node: ">=14.17.0" } - - "@electron/get@2.0.3": - resolution: - { integrity: sha512-Qkzpg2s9GnVV2I2BjRksUi43U5e6+zaQMcjoJy0C+C5oxaKl+fmckGDQFtRpZpZV0NQekuZZ+tGz7EA9TVnQtQ== } - engines: { node: ">=12" } - - "@emnapi/core@1.8.1": - resolution: - { integrity: sha512-AvT9QFpxK0Zd8J0jopedNm+w/2fIzvtPKPjqyw9jwvBaReTTqPBk9Hixaz7KbjimP+QNz605/XnjFcDAL2pqBg== } - - "@emnapi/runtime@1.8.1": - resolution: - { integrity: sha512-mehfKSMWjjNol8659Z8KxEMrdSJDDot5SXMq00dM8BN4o+CLNXQ0xH2V7EchNHV4RmbZLmmPdEaXZc5H2FXmDg== } - - "@emnapi/wasi-threads@1.1.0": - resolution: - { integrity: sha512-WI0DdZ8xFSbgMjR1sFsKABJ/C5OnRrjT06JXbZKexJGrDuPTzZdDYfFlsgcCXCyf+suG5QU2e/y1Wo2V/OapLQ== } - - "@epic-web/invariant@1.0.0": - resolution: - { integrity: sha512-lrTPqgvfFQtR/eY/qkIzp98OGdNJu0m5ji3q/nJI8v3SXkRKEnWiOxMmbvcSoAIzv/cGiuvRy57k4suKQSAdwA== } - - "@es-joy/jsdoccomment@0.84.0": - resolution: - { integrity: sha512-0xew1CxOam0gV5OMjh2KjFQZsKL2bByX1+q4j3E73MpYIdyUxcZb/xQct9ccUb+ve5KGUYbCUxyPnYB7RbuP+w== } - engines: { node: ^20.19.0 || ^22.13.0 || >=24 } - - "@es-joy/resolve.exports@1.2.0": - resolution: - { integrity: sha512-Q9hjxWI5xBM+qW2enxfe8wDKdFWMfd0Z29k5ZJnuBqD/CasY5Zryj09aCA6owbGATWz+39p5uIdaHXpopOcG8g== } - engines: { node: ">=10" } - - "@esbuild/aix-ppc64@0.27.2": - resolution: - { integrity: sha512-GZMB+a0mOMZs4MpDbj8RJp4cw+w1WV5NYD6xzgvzUJ5Ek2jerwfO2eADyI6ExDSUED+1X8aMbegahsJi+8mgpw== } - engines: { node: ">=18" } + '@date-vir/duration@8.1.0': + resolution: {integrity: sha512-PwvII5Lo3dzZKpTIYHvPnrKQg6UlOY6V/z/ahPiSGt1HeAMlC96PPfuPZ9ZmzcrKQuAZgO9NzX67sXWRI3T62Q==} + engines: {node: '>=22'} + + '@discoveryjs/json-ext@0.5.7': + resolution: {integrity: sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==} + engines: {node: '>=10.0.0'} + + '@discoveryjs/json-ext@1.0.0': + resolution: {integrity: sha512-dDlz3W405VMFO4w5kIP9DOmELBcvFQGmLoKSdIRstBDubKFYwaNHV1NnlzMCQpXQFGWVALmeMORAuiLx18AvZQ==} + engines: {node: '>=14.17.0'} + + '@electron/get@2.0.3': + resolution: {integrity: sha512-Qkzpg2s9GnVV2I2BjRksUi43U5e6+zaQMcjoJy0C+C5oxaKl+fmckGDQFtRpZpZV0NQekuZZ+tGz7EA9TVnQtQ==} + engines: {node: '>=12'} + + '@emnapi/core@1.8.1': + resolution: {integrity: sha512-AvT9QFpxK0Zd8J0jopedNm+w/2fIzvtPKPjqyw9jwvBaReTTqPBk9Hixaz7KbjimP+QNz605/XnjFcDAL2pqBg==} + + '@emnapi/runtime@1.8.1': + resolution: {integrity: sha512-mehfKSMWjjNol8659Z8KxEMrdSJDDot5SXMq00dM8BN4o+CLNXQ0xH2V7EchNHV4RmbZLmmPdEaXZc5H2FXmDg==} + + '@emnapi/wasi-threads@1.1.0': + resolution: {integrity: sha512-WI0DdZ8xFSbgMjR1sFsKABJ/C5OnRrjT06JXbZKexJGrDuPTzZdDYfFlsgcCXCyf+suG5QU2e/y1Wo2V/OapLQ==} + + '@epic-web/invariant@1.0.0': + resolution: {integrity: sha512-lrTPqgvfFQtR/eY/qkIzp98OGdNJu0m5ji3q/nJI8v3SXkRKEnWiOxMmbvcSoAIzv/cGiuvRy57k4suKQSAdwA==} + + '@es-joy/jsdoccomment@0.84.0': + resolution: {integrity: sha512-0xew1CxOam0gV5OMjh2KjFQZsKL2bByX1+q4j3E73MpYIdyUxcZb/xQct9ccUb+ve5KGUYbCUxyPnYB7RbuP+w==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} + + '@es-joy/resolve.exports@1.2.0': + resolution: {integrity: sha512-Q9hjxWI5xBM+qW2enxfe8wDKdFWMfd0Z29k5ZJnuBqD/CasY5Zryj09aCA6owbGATWz+39p5uIdaHXpopOcG8g==} + engines: {node: '>=10'} + + '@esbuild/aix-ppc64@0.27.2': + resolution: {integrity: sha512-GZMB+a0mOMZs4MpDbj8RJp4cw+w1WV5NYD6xzgvzUJ5Ek2jerwfO2eADyI6ExDSUED+1X8aMbegahsJi+8mgpw==} + engines: {node: '>=18'} cpu: [ppc64] os: [aix] - "@esbuild/android-arm64@0.27.2": - resolution: - { integrity: sha512-pvz8ZZ7ot/RBphf8fv60ljmaoydPU12VuXHImtAs0XhLLw+EXBi2BLe3OYSBslR4rryHvweW5gmkKFwTiFy6KA== } - engines: { node: ">=18" } + '@esbuild/android-arm64@0.27.2': + resolution: {integrity: sha512-pvz8ZZ7ot/RBphf8fv60ljmaoydPU12VuXHImtAs0XhLLw+EXBi2BLe3OYSBslR4rryHvweW5gmkKFwTiFy6KA==} + engines: {node: '>=18'} cpu: [arm64] os: [android] - "@esbuild/android-arm@0.27.2": - resolution: - { integrity: sha512-DVNI8jlPa7Ujbr1yjU2PfUSRtAUZPG9I1RwW4F4xFB1Imiu2on0ADiI/c3td+KmDtVKNbi+nffGDQMfcIMkwIA== } - engines: { node: ">=18" } + '@esbuild/android-arm@0.27.2': + resolution: {integrity: sha512-DVNI8jlPa7Ujbr1yjU2PfUSRtAUZPG9I1RwW4F4xFB1Imiu2on0ADiI/c3td+KmDtVKNbi+nffGDQMfcIMkwIA==} + engines: {node: '>=18'} cpu: [arm] os: [android] - "@esbuild/android-x64@0.27.2": - resolution: - { integrity: sha512-z8Ank4Byh4TJJOh4wpz8g2vDy75zFL0TlZlkUkEwYXuPSgX8yzep596n6mT7905kA9uHZsf/o2OJZubl2l3M7A== } - engines: { node: ">=18" } + '@esbuild/android-x64@0.27.2': + resolution: {integrity: sha512-z8Ank4Byh4TJJOh4wpz8g2vDy75zFL0TlZlkUkEwYXuPSgX8yzep596n6mT7905kA9uHZsf/o2OJZubl2l3M7A==} + engines: {node: '>=18'} cpu: [x64] os: [android] - "@esbuild/darwin-arm64@0.27.2": - resolution: - { integrity: sha512-davCD2Zc80nzDVRwXTcQP/28fiJbcOwvdolL0sOiOsbwBa72kegmVU0Wrh1MYrbuCL98Omp5dVhQFWRKR2ZAlg== } - engines: { node: ">=18" } + '@esbuild/darwin-arm64@0.27.2': + resolution: {integrity: sha512-davCD2Zc80nzDVRwXTcQP/28fiJbcOwvdolL0sOiOsbwBa72kegmVU0Wrh1MYrbuCL98Omp5dVhQFWRKR2ZAlg==} + engines: {node: '>=18'} cpu: [arm64] os: [darwin] - "@esbuild/darwin-x64@0.27.2": - resolution: - { integrity: sha512-ZxtijOmlQCBWGwbVmwOF/UCzuGIbUkqB1faQRf5akQmxRJ1ujusWsb3CVfk/9iZKr2L5SMU5wPBi1UWbvL+VQA== } - engines: { node: ">=18" } + '@esbuild/darwin-x64@0.27.2': + resolution: {integrity: sha512-ZxtijOmlQCBWGwbVmwOF/UCzuGIbUkqB1faQRf5akQmxRJ1ujusWsb3CVfk/9iZKr2L5SMU5wPBi1UWbvL+VQA==} + engines: {node: '>=18'} cpu: [x64] os: [darwin] - "@esbuild/freebsd-arm64@0.27.2": - resolution: - { integrity: sha512-lS/9CN+rgqQ9czogxlMcBMGd+l8Q3Nj1MFQwBZJyoEKI50XGxwuzznYdwcav6lpOGv5BqaZXqvBSiB/kJ5op+g== } - engines: { node: ">=18" } + '@esbuild/freebsd-arm64@0.27.2': + resolution: {integrity: sha512-lS/9CN+rgqQ9czogxlMcBMGd+l8Q3Nj1MFQwBZJyoEKI50XGxwuzznYdwcav6lpOGv5BqaZXqvBSiB/kJ5op+g==} + engines: {node: '>=18'} cpu: [arm64] os: [freebsd] - "@esbuild/freebsd-x64@0.27.2": - resolution: - { integrity: sha512-tAfqtNYb4YgPnJlEFu4c212HYjQWSO/w/h/lQaBK7RbwGIkBOuNKQI9tqWzx7Wtp7bTPaGC6MJvWI608P3wXYA== } - engines: { node: ">=18" } + '@esbuild/freebsd-x64@0.27.2': + resolution: {integrity: sha512-tAfqtNYb4YgPnJlEFu4c212HYjQWSO/w/h/lQaBK7RbwGIkBOuNKQI9tqWzx7Wtp7bTPaGC6MJvWI608P3wXYA==} + engines: {node: '>=18'} cpu: [x64] os: [freebsd] - "@esbuild/linux-arm64@0.27.2": - resolution: - { integrity: sha512-hYxN8pr66NsCCiRFkHUAsxylNOcAQaxSSkHMMjcpx0si13t1LHFphxJZUiGwojB1a/Hd5OiPIqDdXONia6bhTw== } - engines: { node: ">=18" } + '@esbuild/linux-arm64@0.27.2': + resolution: {integrity: sha512-hYxN8pr66NsCCiRFkHUAsxylNOcAQaxSSkHMMjcpx0si13t1LHFphxJZUiGwojB1a/Hd5OiPIqDdXONia6bhTw==} + engines: {node: '>=18'} cpu: [arm64] os: [linux] - "@esbuild/linux-arm@0.27.2": - resolution: - { integrity: sha512-vWfq4GaIMP9AIe4yj1ZUW18RDhx6EPQKjwe7n8BbIecFtCQG4CfHGaHuh7fdfq+y3LIA2vGS/o9ZBGVxIDi9hw== } - engines: { node: ">=18" } + '@esbuild/linux-arm@0.27.2': + resolution: {integrity: sha512-vWfq4GaIMP9AIe4yj1ZUW18RDhx6EPQKjwe7n8BbIecFtCQG4CfHGaHuh7fdfq+y3LIA2vGS/o9ZBGVxIDi9hw==} + engines: {node: '>=18'} cpu: [arm] os: [linux] - "@esbuild/linux-ia32@0.27.2": - resolution: - { integrity: sha512-MJt5BRRSScPDwG2hLelYhAAKh9imjHK5+NE/tvnRLbIqUWa+0E9N4WNMjmp/kXXPHZGqPLxggwVhz7QP8CTR8w== } - engines: { node: ">=18" } + '@esbuild/linux-ia32@0.27.2': + resolution: {integrity: sha512-MJt5BRRSScPDwG2hLelYhAAKh9imjHK5+NE/tvnRLbIqUWa+0E9N4WNMjmp/kXXPHZGqPLxggwVhz7QP8CTR8w==} + engines: {node: '>=18'} cpu: [ia32] os: [linux] - "@esbuild/linux-loong64@0.27.2": - resolution: - { integrity: sha512-lugyF1atnAT463aO6KPshVCJK5NgRnU4yb3FUumyVz+cGvZbontBgzeGFO1nF+dPueHD367a2ZXe1NtUkAjOtg== } - engines: { node: ">=18" } + '@esbuild/linux-loong64@0.27.2': + resolution: {integrity: sha512-lugyF1atnAT463aO6KPshVCJK5NgRnU4yb3FUumyVz+cGvZbontBgzeGFO1nF+dPueHD367a2ZXe1NtUkAjOtg==} + engines: {node: '>=18'} cpu: [loong64] os: [linux] - "@esbuild/linux-mips64el@0.27.2": - resolution: - { integrity: sha512-nlP2I6ArEBewvJ2gjrrkESEZkB5mIoaTswuqNFRv/WYd+ATtUpe9Y09RnJvgvdag7he0OWgEZWhviS1OTOKixw== } - engines: { node: ">=18" } + '@esbuild/linux-mips64el@0.27.2': + resolution: {integrity: sha512-nlP2I6ArEBewvJ2gjrrkESEZkB5mIoaTswuqNFRv/WYd+ATtUpe9Y09RnJvgvdag7he0OWgEZWhviS1OTOKixw==} + engines: {node: '>=18'} cpu: [mips64el] os: [linux] - "@esbuild/linux-ppc64@0.27.2": - resolution: - { integrity: sha512-C92gnpey7tUQONqg1n6dKVbx3vphKtTHJaNG2Ok9lGwbZil6DrfyecMsp9CrmXGQJmZ7iiVXvvZH6Ml5hL6XdQ== } - engines: { node: ">=18" } + '@esbuild/linux-ppc64@0.27.2': + resolution: {integrity: sha512-C92gnpey7tUQONqg1n6dKVbx3vphKtTHJaNG2Ok9lGwbZil6DrfyecMsp9CrmXGQJmZ7iiVXvvZH6Ml5hL6XdQ==} + engines: {node: '>=18'} cpu: [ppc64] os: [linux] - "@esbuild/linux-riscv64@0.27.2": - resolution: - { integrity: sha512-B5BOmojNtUyN8AXlK0QJyvjEZkWwy/FKvakkTDCziX95AowLZKR6aCDhG7LeF7uMCXEJqwa8Bejz5LTPYm8AvA== } - engines: { node: ">=18" } + '@esbuild/linux-riscv64@0.27.2': + resolution: {integrity: sha512-B5BOmojNtUyN8AXlK0QJyvjEZkWwy/FKvakkTDCziX95AowLZKR6aCDhG7LeF7uMCXEJqwa8Bejz5LTPYm8AvA==} + engines: {node: '>=18'} cpu: [riscv64] os: [linux] - "@esbuild/linux-s390x@0.27.2": - resolution: - { integrity: sha512-p4bm9+wsPwup5Z8f4EpfN63qNagQ47Ua2znaqGH6bqLlmJ4bx97Y9JdqxgGZ6Y8xVTixUnEkoKSHcpRlDnNr5w== } - engines: { node: ">=18" } + '@esbuild/linux-s390x@0.27.2': + resolution: {integrity: sha512-p4bm9+wsPwup5Z8f4EpfN63qNagQ47Ua2znaqGH6bqLlmJ4bx97Y9JdqxgGZ6Y8xVTixUnEkoKSHcpRlDnNr5w==} + engines: {node: '>=18'} cpu: [s390x] os: [linux] - "@esbuild/linux-x64@0.27.2": - resolution: - { integrity: sha512-uwp2Tip5aPmH+NRUwTcfLb+W32WXjpFejTIOWZFw/v7/KnpCDKG66u4DLcurQpiYTiYwQ9B7KOeMJvLCu/OvbA== } - engines: { node: ">=18" } + '@esbuild/linux-x64@0.27.2': + resolution: {integrity: sha512-uwp2Tip5aPmH+NRUwTcfLb+W32WXjpFejTIOWZFw/v7/KnpCDKG66u4DLcurQpiYTiYwQ9B7KOeMJvLCu/OvbA==} + engines: {node: '>=18'} cpu: [x64] os: [linux] - "@esbuild/netbsd-arm64@0.27.2": - resolution: - { integrity: sha512-Kj6DiBlwXrPsCRDeRvGAUb/LNrBASrfqAIok+xB0LxK8CHqxZ037viF13ugfsIpePH93mX7xfJp97cyDuTZ3cw== } - engines: { node: ">=18" } + '@esbuild/netbsd-arm64@0.27.2': + resolution: {integrity: sha512-Kj6DiBlwXrPsCRDeRvGAUb/LNrBASrfqAIok+xB0LxK8CHqxZ037viF13ugfsIpePH93mX7xfJp97cyDuTZ3cw==} + engines: {node: '>=18'} cpu: [arm64] os: [netbsd] - "@esbuild/netbsd-x64@0.27.2": - resolution: - { integrity: sha512-HwGDZ0VLVBY3Y+Nw0JexZy9o/nUAWq9MlV7cahpaXKW6TOzfVno3y3/M8Ga8u8Yr7GldLOov27xiCnqRZf0tCA== } - engines: { node: ">=18" } + '@esbuild/netbsd-x64@0.27.2': + resolution: {integrity: sha512-HwGDZ0VLVBY3Y+Nw0JexZy9o/nUAWq9MlV7cahpaXKW6TOzfVno3y3/M8Ga8u8Yr7GldLOov27xiCnqRZf0tCA==} + engines: {node: '>=18'} cpu: [x64] os: [netbsd] - "@esbuild/openbsd-arm64@0.27.2": - resolution: - { integrity: sha512-DNIHH2BPQ5551A7oSHD0CKbwIA/Ox7+78/AWkbS5QoRzaqlev2uFayfSxq68EkonB+IKjiuxBFoV8ESJy8bOHA== } - engines: { node: ">=18" } + '@esbuild/openbsd-arm64@0.27.2': + resolution: {integrity: sha512-DNIHH2BPQ5551A7oSHD0CKbwIA/Ox7+78/AWkbS5QoRzaqlev2uFayfSxq68EkonB+IKjiuxBFoV8ESJy8bOHA==} + engines: {node: '>=18'} cpu: [arm64] os: [openbsd] - "@esbuild/openbsd-x64@0.27.2": - resolution: - { integrity: sha512-/it7w9Nb7+0KFIzjalNJVR5bOzA9Vay+yIPLVHfIQYG/j+j9VTH84aNB8ExGKPU4AzfaEvN9/V4HV+F+vo8OEg== } - engines: { node: ">=18" } + '@esbuild/openbsd-x64@0.27.2': + resolution: {integrity: sha512-/it7w9Nb7+0KFIzjalNJVR5bOzA9Vay+yIPLVHfIQYG/j+j9VTH84aNB8ExGKPU4AzfaEvN9/V4HV+F+vo8OEg==} + engines: {node: '>=18'} cpu: [x64] os: [openbsd] - "@esbuild/openharmony-arm64@0.27.2": - resolution: - { integrity: sha512-LRBbCmiU51IXfeXk59csuX/aSaToeG7w48nMwA6049Y4J4+VbWALAuXcs+qcD04rHDuSCSRKdmY63sruDS5qag== } - engines: { node: ">=18" } + '@esbuild/openharmony-arm64@0.27.2': + resolution: {integrity: sha512-LRBbCmiU51IXfeXk59csuX/aSaToeG7w48nMwA6049Y4J4+VbWALAuXcs+qcD04rHDuSCSRKdmY63sruDS5qag==} + engines: {node: '>=18'} cpu: [arm64] os: [openharmony] - "@esbuild/sunos-x64@0.27.2": - resolution: - { integrity: sha512-kMtx1yqJHTmqaqHPAzKCAkDaKsffmXkPHThSfRwZGyuqyIeBvf08KSsYXl+abf5HDAPMJIPnbBfXvP2ZC2TfHg== } - engines: { node: ">=18" } + '@esbuild/sunos-x64@0.27.2': + resolution: {integrity: sha512-kMtx1yqJHTmqaqHPAzKCAkDaKsffmXkPHThSfRwZGyuqyIeBvf08KSsYXl+abf5HDAPMJIPnbBfXvP2ZC2TfHg==} + engines: {node: '>=18'} cpu: [x64] os: [sunos] - "@esbuild/win32-arm64@0.27.2": - resolution: - { integrity: sha512-Yaf78O/B3Kkh+nKABUF++bvJv5Ijoy9AN1ww904rOXZFLWVc5OLOfL56W+C8F9xn5JQZa3UX6m+IktJnIb1Jjg== } - engines: { node: ">=18" } + '@esbuild/win32-arm64@0.27.2': + resolution: {integrity: sha512-Yaf78O/B3Kkh+nKABUF++bvJv5Ijoy9AN1ww904rOXZFLWVc5OLOfL56W+C8F9xn5JQZa3UX6m+IktJnIb1Jjg==} + engines: {node: '>=18'} cpu: [arm64] os: [win32] - "@esbuild/win32-ia32@0.27.2": - resolution: - { integrity: sha512-Iuws0kxo4yusk7sw70Xa2E2imZU5HoixzxfGCdxwBdhiDgt9vX9VUCBhqcwY7/uh//78A1hMkkROMJq9l27oLQ== } - engines: { node: ">=18" } + '@esbuild/win32-ia32@0.27.2': + resolution: {integrity: sha512-Iuws0kxo4yusk7sw70Xa2E2imZU5HoixzxfGCdxwBdhiDgt9vX9VUCBhqcwY7/uh//78A1hMkkROMJq9l27oLQ==} + engines: {node: '>=18'} cpu: [ia32] os: [win32] - "@esbuild/win32-x64@0.27.2": - resolution: - { integrity: sha512-sRdU18mcKf7F+YgheI/zGf5alZatMUTKj/jNS6l744f9u3WFu4v7twcUI9vu4mknF4Y9aDlblIie0IM+5xxaqQ== } - engines: { node: ">=18" } + '@esbuild/win32-x64@0.27.2': + resolution: {integrity: sha512-sRdU18mcKf7F+YgheI/zGf5alZatMUTKj/jNS6l744f9u3WFu4v7twcUI9vu4mknF4Y9aDlblIie0IM+5xxaqQ==} + engines: {node: '>=18'} cpu: [x64] os: [win32] - "@eslint-community/eslint-utils@4.9.1": - resolution: - { integrity: sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ== } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + '@eslint-community/eslint-utils@4.9.1': + resolution: {integrity: sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - "@eslint-community/regexpp@4.12.2": - resolution: - { integrity: sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew== } - engines: { node: ^12.0.0 || ^14.0.0 || >=16.0.0 } - - "@eslint/config-array@0.23.3": - resolution: - { integrity: sha512-j+eEWmB6YYLwcNOdlwQ6L2OsptI/LO6lNBuLIqe5R7RetD658HLoF+Mn7LzYmAWWNNzdC6cqP+L6r8ujeYXWLw== } - engines: { node: ^20.19.0 || ^22.13.0 || >=24 } - - "@eslint/config-helpers@0.5.3": - resolution: - { integrity: sha512-lzGN0onllOZCGroKJmRwY6QcEHxbjBw1gwB8SgRSqK8YbbtEXMvKynsXc3553ckIEBxsbMBU7oOZXKIPGZNeZw== } - engines: { node: ^20.19.0 || ^22.13.0 || >=24 } - - "@eslint/core@1.1.1": - resolution: - { integrity: sha512-QUPblTtE51/7/Zhfv8BDwO0qkkzQL7P/aWWbqcf4xWLEYn1oKjdO0gglQBB4GAsu7u6wjijbCmzsUTy6mnk6oQ== } - engines: { node: ^20.19.0 || ^22.13.0 || >=24 } - - "@eslint/js@10.0.1": - resolution: - { integrity: sha512-zeR9k5pd4gxjZ0abRoIaxdc7I3nDktoXZk2qOv9gCNWx3mVwEn32VRhyLaRsDiJjTs0xq/T8mfPtyuXu7GWBcA== } - engines: { node: ^20.19.0 || ^22.13.0 || >=24 } + '@eslint-community/regexpp@4.12.2': + resolution: {integrity: sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + + '@eslint/config-array@0.23.3': + resolution: {integrity: sha512-j+eEWmB6YYLwcNOdlwQ6L2OsptI/LO6lNBuLIqe5R7RetD658HLoF+Mn7LzYmAWWNNzdC6cqP+L6r8ujeYXWLw==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} + + '@eslint/config-helpers@0.5.3': + resolution: {integrity: sha512-lzGN0onllOZCGroKJmRwY6QcEHxbjBw1gwB8SgRSqK8YbbtEXMvKynsXc3553ckIEBxsbMBU7oOZXKIPGZNeZw==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} + + '@eslint/core@1.1.1': + resolution: {integrity: sha512-QUPblTtE51/7/Zhfv8BDwO0qkkzQL7P/aWWbqcf4xWLEYn1oKjdO0gglQBB4GAsu7u6wjijbCmzsUTy6mnk6oQ==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} + + '@eslint/js@10.0.1': + resolution: {integrity: sha512-zeR9k5pd4gxjZ0abRoIaxdc7I3nDktoXZk2qOv9gCNWx3mVwEn32VRhyLaRsDiJjTs0xq/T8mfPtyuXu7GWBcA==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} peerDependencies: eslint: ^10.0.0 peerDependenciesMeta: eslint: optional: true - "@eslint/object-schema@3.0.3": - resolution: - { integrity: sha512-iM869Pugn9Nsxbh/YHRqYiqd23AmIbxJOcpUMOuWCVNdoQJ5ZtwL6h3t0bcZzJUlC3Dq9jCFCESBZnX0GTv7iQ== } - engines: { node: ^20.19.0 || ^22.13.0 || >=24 } + '@eslint/object-schema@3.0.3': + resolution: {integrity: sha512-iM869Pugn9Nsxbh/YHRqYiqd23AmIbxJOcpUMOuWCVNdoQJ5ZtwL6h3t0bcZzJUlC3Dq9jCFCESBZnX0GTv7iQ==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} - "@eslint/plugin-kit@0.6.1": - resolution: - { integrity: sha512-iH1B076HoAshH1mLpHMgwdGeTs0CYwL0SPMkGuSebZrwBp16v415e9NZXg2jtrqPVQjf6IANe2Vtlr5KswtcZQ== } - engines: { node: ^20.19.0 || ^22.13.0 || >=24 } + '@eslint/plugin-kit@0.6.1': + resolution: {integrity: sha512-iH1B076HoAshH1mLpHMgwdGeTs0CYwL0SPMkGuSebZrwBp16v415e9NZXg2jtrqPVQjf6IANe2Vtlr5KswtcZQ==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} - "@exodus/bytes@1.15.0": - resolution: - { integrity: sha512-UY0nlA+feH81UGSHv92sLEPLCeZFjXOuHhrIo0HQydScuQc8s0A7kL/UdgwgDq8g8ilksmuoF35YVTNphV2aBQ== } - engines: { node: ^20.19.0 || ^22.12.0 || >=24.0.0 } + '@exodus/bytes@1.15.0': + resolution: {integrity: sha512-UY0nlA+feH81UGSHv92sLEPLCeZFjXOuHhrIo0HQydScuQc8s0A7kL/UdgwgDq8g8ilksmuoF35YVTNphV2aBQ==} + engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0} peerDependencies: - "@noble/hashes": ^1.8.0 || ^2.0.0 + '@noble/hashes': ^1.8.0 || ^2.0.0 peerDependenciesMeta: - "@noble/hashes": + '@noble/hashes': optional: true - "@fortawesome/fontawesome-free@7.2.0": - resolution: - { integrity: sha512-3DguDv/oUE+7vjMeTSOjCSG+KeawgVQOHrKRnvUuqYh1mfArrh7s+s8hXW3e4RerBA1+Wh+hBqf8sJNpqNrBWg== } - engines: { node: ">=6" } - - "@gerrit0/mini-shiki@3.20.0": - resolution: - { integrity: sha512-Wa57i+bMpK6PGJZ1f2myxo3iO+K/kZikcyvH8NIqNNZhQUbDav7V9LQmWOXhf946mz5c1NZ19WMsGYiDKTryzQ== } - - "@humanfs/core@0.19.1": - resolution: - { integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA== } - engines: { node: ">=18.18.0" } - - "@humanfs/node@0.16.6": - resolution: - { integrity: sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw== } - engines: { node: ">=18.18.0" } - - "@humanwhocodes/module-importer@1.0.1": - resolution: - { integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== } - engines: { node: ">=12.22" } - - "@humanwhocodes/retry@0.3.1": - resolution: - { integrity: sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA== } - engines: { node: ">=18.18" } - - "@humanwhocodes/retry@0.4.3": - resolution: - { integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ== } - engines: { node: ">=18.18" } - - "@hutson/parse-repository-url@3.0.2": - resolution: - { integrity: sha512-H9XAx3hc0BQHY6l+IFSWHDySypcXsvsuLhgYLUGywmJ5pswRVQJUHpOsobnLYp2ZUaUlKiKDrgWWhosOwAEM8Q== } - engines: { node: ">=6.9.0" } - - "@inquirer/ansi@1.0.2": - resolution: - { integrity: sha512-S8qNSZiYzFd0wAcyG5AXCvUHC5Sr7xpZ9wZ2py9XR88jUz8wooStVx5M6dRzczbBWjic9NP7+rY0Xi7qqK/aMQ== } - engines: { node: ">=18" } - - "@inquirer/checkbox@4.3.2": - resolution: - { integrity: sha512-VXukHf0RR1doGe6Sm4F0Em7SWYLTHSsbGfJdS9Ja2bX5/D5uwVOEjr07cncLROdBvmnvCATYEWlHqYmXv2IlQA== } - engines: { node: ">=18" } + '@fortawesome/fontawesome-free@7.2.0': + resolution: {integrity: sha512-3DguDv/oUE+7vjMeTSOjCSG+KeawgVQOHrKRnvUuqYh1mfArrh7s+s8hXW3e4RerBA1+Wh+hBqf8sJNpqNrBWg==} + engines: {node: '>=6'} + + '@gerrit0/mini-shiki@3.20.0': + resolution: {integrity: sha512-Wa57i+bMpK6PGJZ1f2myxo3iO+K/kZikcyvH8NIqNNZhQUbDav7V9LQmWOXhf946mz5c1NZ19WMsGYiDKTryzQ==} + + '@humanfs/core@0.19.1': + resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==} + engines: {node: '>=18.18.0'} + + '@humanfs/node@0.16.6': + resolution: {integrity: sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==} + engines: {node: '>=18.18.0'} + + '@humanwhocodes/module-importer@1.0.1': + resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} + engines: {node: '>=12.22'} + + '@humanwhocodes/retry@0.3.1': + resolution: {integrity: sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==} + engines: {node: '>=18.18'} + + '@humanwhocodes/retry@0.4.3': + resolution: {integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==} + engines: {node: '>=18.18'} + + '@hutson/parse-repository-url@3.0.2': + resolution: {integrity: sha512-H9XAx3hc0BQHY6l+IFSWHDySypcXsvsuLhgYLUGywmJ5pswRVQJUHpOsobnLYp2ZUaUlKiKDrgWWhosOwAEM8Q==} + engines: {node: '>=6.9.0'} + + '@inquirer/ansi@1.0.2': + resolution: {integrity: sha512-S8qNSZiYzFd0wAcyG5AXCvUHC5Sr7xpZ9wZ2py9XR88jUz8wooStVx5M6dRzczbBWjic9NP7+rY0Xi7qqK/aMQ==} + engines: {node: '>=18'} + + '@inquirer/checkbox@4.3.2': + resolution: {integrity: sha512-VXukHf0RR1doGe6Sm4F0Em7SWYLTHSsbGfJdS9Ja2bX5/D5uwVOEjr07cncLROdBvmnvCATYEWlHqYmXv2IlQA==} + engines: {node: '>=18'} peerDependencies: - "@types/node": ">=18" + '@types/node': '>=18' peerDependenciesMeta: - "@types/node": + '@types/node': optional: true - "@inquirer/confirm@5.1.21": - resolution: - { integrity: sha512-KR8edRkIsUayMXV+o3Gv+q4jlhENF9nMYUZs9PA2HzrXeHI8M5uDag70U7RJn9yyiMZSbtF5/UexBtAVtZGSbQ== } - engines: { node: ">=18" } + '@inquirer/confirm@5.1.21': + resolution: {integrity: sha512-KR8edRkIsUayMXV+o3Gv+q4jlhENF9nMYUZs9PA2HzrXeHI8M5uDag70U7RJn9yyiMZSbtF5/UexBtAVtZGSbQ==} + engines: {node: '>=18'} peerDependencies: - "@types/node": ">=18" + '@types/node': '>=18' peerDependenciesMeta: - "@types/node": + '@types/node': optional: true - "@inquirer/core@10.3.2": - resolution: - { integrity: sha512-43RTuEbfP8MbKzedNqBrlhhNKVwoK//vUFNW3Q3vZ88BLcrs4kYpGg+B2mm5p2K/HfygoCxuKwJJiv8PbGmE0A== } - engines: { node: ">=18" } + '@inquirer/core@10.3.2': + resolution: {integrity: sha512-43RTuEbfP8MbKzedNqBrlhhNKVwoK//vUFNW3Q3vZ88BLcrs4kYpGg+B2mm5p2K/HfygoCxuKwJJiv8PbGmE0A==} + engines: {node: '>=18'} peerDependencies: - "@types/node": ">=18" + '@types/node': '>=18' peerDependenciesMeta: - "@types/node": + '@types/node': optional: true - "@inquirer/editor@4.2.23": - resolution: - { integrity: sha512-aLSROkEwirotxZ1pBaP8tugXRFCxW94gwrQLxXfrZsKkfjOYC1aRvAZuhpJOb5cu4IBTJdsCigUlf2iCOu4ZDQ== } - engines: { node: ">=18" } + '@inquirer/editor@4.2.23': + resolution: {integrity: sha512-aLSROkEwirotxZ1pBaP8tugXRFCxW94gwrQLxXfrZsKkfjOYC1aRvAZuhpJOb5cu4IBTJdsCigUlf2iCOu4ZDQ==} + engines: {node: '>=18'} peerDependencies: - "@types/node": ">=18" + '@types/node': '>=18' peerDependenciesMeta: - "@types/node": + '@types/node': optional: true - "@inquirer/expand@4.0.23": - resolution: - { integrity: sha512-nRzdOyFYnpeYTTR2qFwEVmIWypzdAx/sIkCMeTNTcflFOovfqUk+HcFhQQVBftAh9gmGrpFj6QcGEqrDMDOiew== } - engines: { node: ">=18" } + '@inquirer/expand@4.0.23': + resolution: {integrity: sha512-nRzdOyFYnpeYTTR2qFwEVmIWypzdAx/sIkCMeTNTcflFOovfqUk+HcFhQQVBftAh9gmGrpFj6QcGEqrDMDOiew==} + engines: {node: '>=18'} peerDependencies: - "@types/node": ">=18" + '@types/node': '>=18' peerDependenciesMeta: - "@types/node": + '@types/node': optional: true - "@inquirer/external-editor@1.0.3": - resolution: - { integrity: sha512-RWbSrDiYmO4LbejWY7ttpxczuwQyZLBUyygsA9Nsv95hpzUWwnNTVQmAq3xuh7vNwCp07UTmE5i11XAEExx4RA== } - engines: { node: ">=18" } + '@inquirer/external-editor@1.0.3': + resolution: {integrity: sha512-RWbSrDiYmO4LbejWY7ttpxczuwQyZLBUyygsA9Nsv95hpzUWwnNTVQmAq3xuh7vNwCp07UTmE5i11XAEExx4RA==} + engines: {node: '>=18'} peerDependencies: - "@types/node": ">=18" + '@types/node': '>=18' peerDependenciesMeta: - "@types/node": + '@types/node': optional: true - "@inquirer/figures@1.0.15": - resolution: - { integrity: sha512-t2IEY+unGHOzAaVM5Xx6DEWKeXlDDcNPeDyUpsRc6CUhBfU3VQOEl+Vssh7VNp1dR8MdUJBWhuObjXCsVpjN5g== } - engines: { node: ">=18" } + '@inquirer/figures@1.0.15': + resolution: {integrity: sha512-t2IEY+unGHOzAaVM5Xx6DEWKeXlDDcNPeDyUpsRc6CUhBfU3VQOEl+Vssh7VNp1dR8MdUJBWhuObjXCsVpjN5g==} + engines: {node: '>=18'} - "@inquirer/input@4.3.1": - resolution: - { integrity: sha512-kN0pAM4yPrLjJ1XJBjDxyfDduXOuQHrBB8aLDMueuwUGn+vNpF7Gq7TvyVxx8u4SHlFFj4trmj+a2cbpG4Jn1g== } - engines: { node: ">=18" } + '@inquirer/input@4.3.1': + resolution: {integrity: sha512-kN0pAM4yPrLjJ1XJBjDxyfDduXOuQHrBB8aLDMueuwUGn+vNpF7Gq7TvyVxx8u4SHlFFj4trmj+a2cbpG4Jn1g==} + engines: {node: '>=18'} peerDependencies: - "@types/node": ">=18" + '@types/node': '>=18' peerDependenciesMeta: - "@types/node": + '@types/node': optional: true - "@inquirer/number@3.0.23": - resolution: - { integrity: sha512-5Smv0OK7K0KUzUfYUXDXQc9jrf8OHo4ktlEayFlelCjwMXz0299Y8OrI+lj7i4gCBY15UObk76q0QtxjzFcFcg== } - engines: { node: ">=18" } + '@inquirer/number@3.0.23': + resolution: {integrity: sha512-5Smv0OK7K0KUzUfYUXDXQc9jrf8OHo4ktlEayFlelCjwMXz0299Y8OrI+lj7i4gCBY15UObk76q0QtxjzFcFcg==} + engines: {node: '>=18'} peerDependencies: - "@types/node": ">=18" + '@types/node': '>=18' peerDependenciesMeta: - "@types/node": + '@types/node': optional: true - "@inquirer/password@4.0.23": - resolution: - { integrity: sha512-zREJHjhT5vJBMZX/IUbyI9zVtVfOLiTO66MrF/3GFZYZ7T4YILW5MSkEYHceSii/KtRk+4i3RE7E1CUXA2jHcA== } - engines: { node: ">=18" } + '@inquirer/password@4.0.23': + resolution: {integrity: sha512-zREJHjhT5vJBMZX/IUbyI9zVtVfOLiTO66MrF/3GFZYZ7T4YILW5MSkEYHceSii/KtRk+4i3RE7E1CUXA2jHcA==} + engines: {node: '>=18'} peerDependencies: - "@types/node": ">=18" + '@types/node': '>=18' peerDependenciesMeta: - "@types/node": + '@types/node': optional: true - "@inquirer/prompts@7.10.1": - resolution: - { integrity: sha512-Dx/y9bCQcXLI5ooQ5KyvA4FTgeo2jYj/7plWfV5Ak5wDPKQZgudKez2ixyfz7tKXzcJciTxqLeK7R9HItwiByg== } - engines: { node: ">=18" } + '@inquirer/prompts@7.10.1': + resolution: {integrity: sha512-Dx/y9bCQcXLI5ooQ5KyvA4FTgeo2jYj/7plWfV5Ak5wDPKQZgudKez2ixyfz7tKXzcJciTxqLeK7R9HItwiByg==} + engines: {node: '>=18'} peerDependencies: - "@types/node": ">=18" + '@types/node': '>=18' peerDependenciesMeta: - "@types/node": + '@types/node': optional: true - "@inquirer/rawlist@4.1.11": - resolution: - { integrity: sha512-+LLQB8XGr3I5LZN/GuAHo+GpDJegQwuPARLChlMICNdwW7OwV2izlCSCxN6cqpL0sMXmbKbFcItJgdQq5EBXTw== } - engines: { node: ">=18" } + '@inquirer/rawlist@4.1.11': + resolution: {integrity: sha512-+LLQB8XGr3I5LZN/GuAHo+GpDJegQwuPARLChlMICNdwW7OwV2izlCSCxN6cqpL0sMXmbKbFcItJgdQq5EBXTw==} + engines: {node: '>=18'} peerDependencies: - "@types/node": ">=18" + '@types/node': '>=18' peerDependenciesMeta: - "@types/node": + '@types/node': optional: true - "@inquirer/search@3.2.2": - resolution: - { integrity: sha512-p2bvRfENXCZdWF/U2BXvnSI9h+tuA8iNqtUKb9UWbmLYCRQxd8WkvwWvYn+3NgYaNwdUkHytJMGG4MMLucI1kA== } - engines: { node: ">=18" } + '@inquirer/search@3.2.2': + resolution: {integrity: sha512-p2bvRfENXCZdWF/U2BXvnSI9h+tuA8iNqtUKb9UWbmLYCRQxd8WkvwWvYn+3NgYaNwdUkHytJMGG4MMLucI1kA==} + engines: {node: '>=18'} peerDependencies: - "@types/node": ">=18" + '@types/node': '>=18' peerDependenciesMeta: - "@types/node": + '@types/node': optional: true - "@inquirer/select@4.4.2": - resolution: - { integrity: sha512-l4xMuJo55MAe+N7Qr4rX90vypFwCajSakx59qe/tMaC1aEHWLyw68wF4o0A4SLAY4E0nd+Vt+EyskeDIqu1M6w== } - engines: { node: ">=18" } + '@inquirer/select@4.4.2': + resolution: {integrity: sha512-l4xMuJo55MAe+N7Qr4rX90vypFwCajSakx59qe/tMaC1aEHWLyw68wF4o0A4SLAY4E0nd+Vt+EyskeDIqu1M6w==} + engines: {node: '>=18'} peerDependencies: - "@types/node": ">=18" + '@types/node': '>=18' peerDependenciesMeta: - "@types/node": + '@types/node': optional: true - "@inquirer/type@3.0.10": - resolution: - { integrity: sha512-BvziSRxfz5Ov8ch0z/n3oijRSEcEsHnhggm4xFZe93DHcUCTlutlq9Ox4SVENAfcRD22UQq7T/atg9Wr3k09eA== } - engines: { node: ">=18" } + '@inquirer/type@3.0.10': + resolution: {integrity: sha512-BvziSRxfz5Ov8ch0z/n3oijRSEcEsHnhggm4xFZe93DHcUCTlutlq9Ox4SVENAfcRD22UQq7T/atg9Wr3k09eA==} + engines: {node: '>=18'} peerDependencies: - "@types/node": ">=18" + '@types/node': '>=18' peerDependenciesMeta: - "@types/node": + '@types/node': optional: true - "@isaacs/cliui@8.0.2": - resolution: - { integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA== } - engines: { node: ">=12" } - - "@isaacs/fs-minipass@4.0.1": - resolution: - { integrity: sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w== } - engines: { node: ">=18.0.0" } - - "@isaacs/string-locale-compare@1.1.0": - resolution: - { integrity: sha512-SQ7Kzhh9+D+ZW9MA0zkYv3VXhIDNx+LzM6EJ+/65I3QY+enU6Itte7E5XX7EWrqLW2FN4n06GWzBnPoC3th2aQ== } - - "@jest/diff-sequences@30.0.1": - resolution: - { integrity: sha512-n5H8QLDJ47QqbCNn5SuFjCRDrOLEZ0h8vAHCK5RL9Ls7Xa8AQLa/YxAc9UjFqoEDM48muwtBGjtMY5cr0PLDCw== } - engines: { node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0 } - - "@jest/get-type@30.1.0": - resolution: - { integrity: sha512-eMbZE2hUnx1WV0pmURZY9XoXPkUYjpc55mb0CrhtdWLtzMQPFvu/rZkTLZFTsdaVQa+Tr4eWAteqcUzoawq/uA== } - engines: { node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0 } - - "@jest/schemas@30.0.5": - resolution: - { integrity: sha512-DmdYgtezMkh3cpU8/1uyXakv3tJRcmcXxBOcO0tbaozPwpmh4YMsnWrQm9ZmZMfa5ocbxzbFk6O4bDPEc/iAnA== } - engines: { node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0 } - - "@jridgewell/gen-mapping@0.3.5": - resolution: - { integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg== } - engines: { node: ">=6.0.0" } - - "@jridgewell/resolve-uri@3.1.1": - resolution: - { integrity: sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA== } - engines: { node: ">=6.0.0" } - - "@jridgewell/set-array@1.2.1": - resolution: - { integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A== } - engines: { node: ">=6.0.0" } - - "@jridgewell/source-map@0.3.5": - resolution: - { integrity: sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ== } - - "@jridgewell/sourcemap-codec@1.5.5": - resolution: - { integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og== } - - "@jridgewell/trace-mapping@0.3.31": - resolution: - { integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw== } - - "@jridgewell/trace-mapping@0.3.9": - resolution: - { integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ== } - - "@ltd/j-toml@1.38.0": - resolution: - { integrity: sha512-lYtBcmvHustHQtg4X7TXUu1Xa/tbLC3p2wLvgQI+fWVySguVZJF60Snxijw5EiohumxZbR10kWYFFebh1zotiw== } - - "@microsoft/tsdoc-config@0.18.1": - resolution: - { integrity: sha512-9brPoVdfN9k9g0dcWkFeA7IH9bbcttzDJlXvkf8b2OBzd5MueR1V2wkKBL0abn0otvmkHJC6aapBOTJDDeMCZg== } - - "@microsoft/tsdoc@0.16.0": - resolution: - { integrity: sha512-xgAyonlVVS+q7Vc7qLW0UrJU7rSFcETRWsqdXZtjzRU8dF+6CkozTK4V4y1LwOX7j8r/vHphjDeMeGI4tNGeGA== } - - "@napi-rs/wasm-runtime@0.2.4": - resolution: - { integrity: sha512-9zESzOO5aDByvhIAsOy9TbpZ0Ur2AJbUI7UT73kcUTS2mxAMHOBaa1st/jAymNoCtvrit99kkzT1FZuXVcgfIQ== } - - "@napi-rs/wasm-runtime@1.1.1": - resolution: - { integrity: sha512-p64ah1M1ld8xjWv3qbvFwHiFVWrq1yFvV4f7w+mzaqiR4IlSgkqhcRdHwsGgomwzBH51sRY4NEowLxnaBjcW/A== } - - "@nodelib/fs.scandir@2.1.5": - resolution: - { integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== } - engines: { node: ">= 8" } - - "@nodelib/fs.stat@2.0.5": - resolution: - { integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== } - engines: { node: ">= 8" } - - "@nodelib/fs.walk@1.2.8": - resolution: - { integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== } - engines: { node: ">= 8" } - - "@npmcli/agent@4.0.0": - resolution: - { integrity: sha512-kAQTcEN9E8ERLVg5AsGwLNoFb+oEG6engbqAU2P43gD4JEIkNGMHdVQ096FsOAAYpZPB0RSt0zgInKIAS1l5QA== } - engines: { node: ^20.17.0 || >=22.9.0 } - - "@npmcli/arborist@9.1.6": - resolution: - { integrity: sha512-c5Pr3EG8UP5ollkJy2x+UdEQC5sEHe3H9whYn6hb2HJimAKS4zmoJkx5acCiR/g4P38RnCSMlsYQyyHnKYeLvQ== } - engines: { node: ^20.17.0 || >=22.9.0 } + '@isaacs/cliui@8.0.2': + resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} + engines: {node: '>=12'} + + '@isaacs/fs-minipass@4.0.1': + resolution: {integrity: sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==} + engines: {node: '>=18.0.0'} + + '@isaacs/string-locale-compare@1.1.0': + resolution: {integrity: sha512-SQ7Kzhh9+D+ZW9MA0zkYv3VXhIDNx+LzM6EJ+/65I3QY+enU6Itte7E5XX7EWrqLW2FN4n06GWzBnPoC3th2aQ==} + + '@jest/diff-sequences@30.0.1': + resolution: {integrity: sha512-n5H8QLDJ47QqbCNn5SuFjCRDrOLEZ0h8vAHCK5RL9Ls7Xa8AQLa/YxAc9UjFqoEDM48muwtBGjtMY5cr0PLDCw==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + + '@jest/get-type@30.1.0': + resolution: {integrity: sha512-eMbZE2hUnx1WV0pmURZY9XoXPkUYjpc55mb0CrhtdWLtzMQPFvu/rZkTLZFTsdaVQa+Tr4eWAteqcUzoawq/uA==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + + '@jest/schemas@30.0.5': + resolution: {integrity: sha512-DmdYgtezMkh3cpU8/1uyXakv3tJRcmcXxBOcO0tbaozPwpmh4YMsnWrQm9ZmZMfa5ocbxzbFk6O4bDPEc/iAnA==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + + '@jridgewell/gen-mapping@0.3.5': + resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} + engines: {node: '>=6.0.0'} + + '@jridgewell/resolve-uri@3.1.1': + resolution: {integrity: sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==} + engines: {node: '>=6.0.0'} + + '@jridgewell/set-array@1.2.1': + resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} + engines: {node: '>=6.0.0'} + + '@jridgewell/source-map@0.3.5': + resolution: {integrity: sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==} + + '@jridgewell/sourcemap-codec@1.5.5': + resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==} + + '@jridgewell/trace-mapping@0.3.31': + resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==} + + '@jridgewell/trace-mapping@0.3.9': + resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} + + '@ltd/j-toml@1.38.0': + resolution: {integrity: sha512-lYtBcmvHustHQtg4X7TXUu1Xa/tbLC3p2wLvgQI+fWVySguVZJF60Snxijw5EiohumxZbR10kWYFFebh1zotiw==} + + '@microsoft/tsdoc-config@0.18.1': + resolution: {integrity: sha512-9brPoVdfN9k9g0dcWkFeA7IH9bbcttzDJlXvkf8b2OBzd5MueR1V2wkKBL0abn0otvmkHJC6aapBOTJDDeMCZg==} + + '@microsoft/tsdoc@0.16.0': + resolution: {integrity: sha512-xgAyonlVVS+q7Vc7qLW0UrJU7rSFcETRWsqdXZtjzRU8dF+6CkozTK4V4y1LwOX7j8r/vHphjDeMeGI4tNGeGA==} + + '@napi-rs/wasm-runtime@0.2.4': + resolution: {integrity: sha512-9zESzOO5aDByvhIAsOy9TbpZ0Ur2AJbUI7UT73kcUTS2mxAMHOBaa1st/jAymNoCtvrit99kkzT1FZuXVcgfIQ==} + + '@napi-rs/wasm-runtime@1.1.1': + resolution: {integrity: sha512-p64ah1M1ld8xjWv3qbvFwHiFVWrq1yFvV4f7w+mzaqiR4IlSgkqhcRdHwsGgomwzBH51sRY4NEowLxnaBjcW/A==} + + '@nodelib/fs.scandir@2.1.5': + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} + + '@nodelib/fs.stat@2.0.5': + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} + + '@nodelib/fs.walk@1.2.8': + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} + + '@npmcli/agent@4.0.0': + resolution: {integrity: sha512-kAQTcEN9E8ERLVg5AsGwLNoFb+oEG6engbqAU2P43gD4JEIkNGMHdVQ096FsOAAYpZPB0RSt0zgInKIAS1l5QA==} + engines: {node: ^20.17.0 || >=22.9.0} + + '@npmcli/arborist@9.1.6': + resolution: {integrity: sha512-c5Pr3EG8UP5ollkJy2x+UdEQC5sEHe3H9whYn6hb2HJimAKS4zmoJkx5acCiR/g4P38RnCSMlsYQyyHnKYeLvQ==} + engines: {node: ^20.17.0 || >=22.9.0} hasBin: true - "@npmcli/fs@4.0.0": - resolution: - { integrity: sha512-/xGlezI6xfGO9NwuJlnwz/K14qD1kCSAGtacBHnGzeAIuJGazcp45KP5NuyARXoKb7cwulAGWVsbeSxdG/cb0Q== } - engines: { node: ^18.17.0 || >=20.5.0 } - - "@npmcli/fs@5.0.0": - resolution: - { integrity: sha512-7OsC1gNORBEawOa5+j2pXN9vsicaIOH5cPXxoR6fJOmH6/EXpJB2CajXOu1fPRFun2m1lktEFX11+P89hqO/og== } - engines: { node: ^20.17.0 || >=22.9.0 } - - "@npmcli/git@6.0.3": - resolution: - { integrity: sha512-GUYESQlxZRAdhs3UhbB6pVRNUELQOHXwK9ruDkwmCv2aZ5y0SApQzUJCg02p3A7Ue2J5hxvlk1YI53c00NmRyQ== } - engines: { node: ^18.17.0 || >=20.5.0 } - - "@npmcli/git@7.0.1": - resolution: - { integrity: sha512-+XTFxK2jJF/EJJ5SoAzXk3qwIDfvFc5/g+bD274LZ7uY7LE8sTfG6Z8rOanPl2ZEvZWqNvmEdtXC25cE54VcoA== } - engines: { node: ^20.17.0 || >=22.9.0 } - - "@npmcli/installed-package-contents@3.0.0": - resolution: - { integrity: sha512-fkxoPuFGvxyrH+OQzyTkX2LUEamrF4jZSmxjAtPPHHGO0dqsQ8tTKjnIS8SAnPHdk2I03BDtSMR5K/4loKg79Q== } - engines: { node: ^18.17.0 || >=20.5.0 } + '@npmcli/fs@4.0.0': + resolution: {integrity: sha512-/xGlezI6xfGO9NwuJlnwz/K14qD1kCSAGtacBHnGzeAIuJGazcp45KP5NuyARXoKb7cwulAGWVsbeSxdG/cb0Q==} + engines: {node: ^18.17.0 || >=20.5.0} + + '@npmcli/fs@5.0.0': + resolution: {integrity: sha512-7OsC1gNORBEawOa5+j2pXN9vsicaIOH5cPXxoR6fJOmH6/EXpJB2CajXOu1fPRFun2m1lktEFX11+P89hqO/og==} + engines: {node: ^20.17.0 || >=22.9.0} + + '@npmcli/git@6.0.3': + resolution: {integrity: sha512-GUYESQlxZRAdhs3UhbB6pVRNUELQOHXwK9ruDkwmCv2aZ5y0SApQzUJCg02p3A7Ue2J5hxvlk1YI53c00NmRyQ==} + engines: {node: ^18.17.0 || >=20.5.0} + + '@npmcli/git@7.0.1': + resolution: {integrity: sha512-+XTFxK2jJF/EJJ5SoAzXk3qwIDfvFc5/g+bD274LZ7uY7LE8sTfG6Z8rOanPl2ZEvZWqNvmEdtXC25cE54VcoA==} + engines: {node: ^20.17.0 || >=22.9.0} + + '@npmcli/installed-package-contents@3.0.0': + resolution: {integrity: sha512-fkxoPuFGvxyrH+OQzyTkX2LUEamrF4jZSmxjAtPPHHGO0dqsQ8tTKjnIS8SAnPHdk2I03BDtSMR5K/4loKg79Q==} + engines: {node: ^18.17.0 || >=20.5.0} hasBin: true - "@npmcli/installed-package-contents@4.0.0": - resolution: - { integrity: sha512-yNyAdkBxB72gtZ4GrwXCM0ZUedo9nIbOMKfGjt6Cu6DXf0p8y1PViZAKDC8q8kv/fufx0WTjRBdSlyrvnP7hmA== } - engines: { node: ^20.17.0 || >=22.9.0 } + '@npmcli/installed-package-contents@4.0.0': + resolution: {integrity: sha512-yNyAdkBxB72gtZ4GrwXCM0ZUedo9nIbOMKfGjt6Cu6DXf0p8y1PViZAKDC8q8kv/fufx0WTjRBdSlyrvnP7hmA==} + engines: {node: ^20.17.0 || >=22.9.0} hasBin: true - "@npmcli/map-workspaces@5.0.3": - resolution: - { integrity: sha512-o2grssXo1e774E5OtEwwrgoszYRh0lqkJH+Pb9r78UcqdGJRDRfhpM8DvZPjzNLLNYeD/rNbjOKM3Ss5UABROw== } - engines: { node: ^20.17.0 || >=22.9.0 } - - "@npmcli/metavuln-calculator@9.0.3": - resolution: - { integrity: sha512-94GLSYhLXF2t2LAC7pDwLaM4uCARzxShyAQKsirmlNcpidH89VA4/+K1LbJmRMgz5gy65E/QBBWQdUvGLe2Frg== } - engines: { node: ^20.17.0 || >=22.9.0 } - - "@npmcli/name-from-folder@3.0.0": - resolution: - { integrity: sha512-61cDL8LUc9y80fXn+lir+iVt8IS0xHqEKwPu/5jCjxQTVoSCmkXvw4vbMrzAMtmghz3/AkiBjhHkDKUH+kf7kA== } - engines: { node: ^18.17.0 || >=20.5.0 } - - "@npmcli/name-from-folder@4.0.0": - resolution: - { integrity: sha512-qfrhVlOSqmKM8i6rkNdZzABj8MKEITGFAY+4teqBziksCQAOLutiAxM1wY2BKEd8KjUSpWmWCYxvXr0y4VTlPg== } - engines: { node: ^20.17.0 || >=22.9.0 } - - "@npmcli/node-gyp@4.0.0": - resolution: - { integrity: sha512-+t5DZ6mO/QFh78PByMq1fGSAub/agLJZDRfJRMeOSNCt8s9YVlTjmGpIPwPhvXTGUIJk+WszlT0rQa1W33yzNA== } - engines: { node: ^18.17.0 || >=20.5.0 } - - "@npmcli/node-gyp@5.0.0": - resolution: - { integrity: sha512-uuG5HZFXLfyFKqg8QypsmgLQW7smiRjVc45bqD/ofZZcR/uxEjgQU8qDPv0s9TEeMUiAAU/GC5bR6++UdTirIQ== } - engines: { node: ^20.17.0 || >=22.9.0 } - - "@npmcli/package-json@7.0.2": - resolution: - { integrity: sha512-0ylN3U5htO1SJTmy2YI78PZZjLkKUGg7EKgukb2CRi0kzyoDr0cfjHAzi7kozVhj2V3SxN1oyKqZ2NSo40z00g== } - engines: { node: ^20.17.0 || >=22.9.0 } - - "@npmcli/promise-spawn@8.0.3": - resolution: - { integrity: sha512-Yb00SWaL4F8w+K8YGhQ55+xE4RUNdMHV43WZGsiTM92gS+lC0mGsn7I4hLug7pbao035S6bj3Y3w0cUNGLfmkg== } - engines: { node: ^18.17.0 || >=20.5.0 } - - "@npmcli/promise-spawn@9.0.1": - resolution: - { integrity: sha512-OLUaoqBuyxeTqUvjA3FZFiXUfYC1alp3Sa99gW3EUDz3tZ3CbXDdcZ7qWKBzicrJleIgucoWamWH1saAmH/l2Q== } - engines: { node: ^20.17.0 || >=22.9.0 } - - "@npmcli/query@4.0.1": - resolution: - { integrity: sha512-4OIPFb4weUUwkDXJf4Hh1inAn8neBGq3xsH4ZsAaN6FK3ldrFkH7jSpCc7N9xesi0Sp+EBXJ9eGMDrEww2Ztqw== } - engines: { node: ^18.17.0 || >=20.5.0 } - - "@npmcli/redact@3.2.2": - resolution: - { integrity: sha512-7VmYAmk4csGv08QzrDKScdzn11jHPFGyqJW39FyPgPuAp3zIaUmuCo1yxw9aGs+NEJuTGQ9Gwqpt93vtJubucg== } - engines: { node: ^18.17.0 || >=20.5.0 } - - "@npmcli/run-script@10.0.3": - resolution: - { integrity: sha512-ER2N6itRkzWbbtVmZ9WKaWxVlKlOeBFF1/7xx+KA5J1xKa4JjUwBdb6tDpk0v1qA+d+VDwHI9qmLcXSWcmi+Rw== } - engines: { node: ^20.17.0 || >=22.9.0 } - - "@nrwl/nx-cloud@19.1.0": - resolution: - { integrity: sha512-krngXVPfX0Zf6+zJDtcI59/Pt3JfcMPMZ9C/+/x6rvz4WGgyv1s0MI4crEUM0Lx5ZpS4QI0WNDCFVQSfGEBXUg== } - - "@nx/devkit@22.3.3": - resolution: - { integrity: sha512-/hxcdhE+QDalsWEbJurHtZh9aY27taHeImbCVJnogwv85H3RbAE+0YuKXGInutfLszAs7phwzli71yq+d2P45Q== } + '@npmcli/map-workspaces@5.0.3': + resolution: {integrity: sha512-o2grssXo1e774E5OtEwwrgoszYRh0lqkJH+Pb9r78UcqdGJRDRfhpM8DvZPjzNLLNYeD/rNbjOKM3Ss5UABROw==} + engines: {node: ^20.17.0 || >=22.9.0} + + '@npmcli/metavuln-calculator@9.0.3': + resolution: {integrity: sha512-94GLSYhLXF2t2LAC7pDwLaM4uCARzxShyAQKsirmlNcpidH89VA4/+K1LbJmRMgz5gy65E/QBBWQdUvGLe2Frg==} + engines: {node: ^20.17.0 || >=22.9.0} + + '@npmcli/name-from-folder@3.0.0': + resolution: {integrity: sha512-61cDL8LUc9y80fXn+lir+iVt8IS0xHqEKwPu/5jCjxQTVoSCmkXvw4vbMrzAMtmghz3/AkiBjhHkDKUH+kf7kA==} + engines: {node: ^18.17.0 || >=20.5.0} + + '@npmcli/name-from-folder@4.0.0': + resolution: {integrity: sha512-qfrhVlOSqmKM8i6rkNdZzABj8MKEITGFAY+4teqBziksCQAOLutiAxM1wY2BKEd8KjUSpWmWCYxvXr0y4VTlPg==} + engines: {node: ^20.17.0 || >=22.9.0} + + '@npmcli/node-gyp@4.0.0': + resolution: {integrity: sha512-+t5DZ6mO/QFh78PByMq1fGSAub/agLJZDRfJRMeOSNCt8s9YVlTjmGpIPwPhvXTGUIJk+WszlT0rQa1W33yzNA==} + engines: {node: ^18.17.0 || >=20.5.0} + + '@npmcli/node-gyp@5.0.0': + resolution: {integrity: sha512-uuG5HZFXLfyFKqg8QypsmgLQW7smiRjVc45bqD/ofZZcR/uxEjgQU8qDPv0s9TEeMUiAAU/GC5bR6++UdTirIQ==} + engines: {node: ^20.17.0 || >=22.9.0} + + '@npmcli/package-json@7.0.2': + resolution: {integrity: sha512-0ylN3U5htO1SJTmy2YI78PZZjLkKUGg7EKgukb2CRi0kzyoDr0cfjHAzi7kozVhj2V3SxN1oyKqZ2NSo40z00g==} + engines: {node: ^20.17.0 || >=22.9.0} + + '@npmcli/promise-spawn@8.0.3': + resolution: {integrity: sha512-Yb00SWaL4F8w+K8YGhQ55+xE4RUNdMHV43WZGsiTM92gS+lC0mGsn7I4hLug7pbao035S6bj3Y3w0cUNGLfmkg==} + engines: {node: ^18.17.0 || >=20.5.0} + + '@npmcli/promise-spawn@9.0.1': + resolution: {integrity: sha512-OLUaoqBuyxeTqUvjA3FZFiXUfYC1alp3Sa99gW3EUDz3tZ3CbXDdcZ7qWKBzicrJleIgucoWamWH1saAmH/l2Q==} + engines: {node: ^20.17.0 || >=22.9.0} + + '@npmcli/query@4.0.1': + resolution: {integrity: sha512-4OIPFb4weUUwkDXJf4Hh1inAn8neBGq3xsH4ZsAaN6FK3ldrFkH7jSpCc7N9xesi0Sp+EBXJ9eGMDrEww2Ztqw==} + engines: {node: ^18.17.0 || >=20.5.0} + + '@npmcli/redact@3.2.2': + resolution: {integrity: sha512-7VmYAmk4csGv08QzrDKScdzn11jHPFGyqJW39FyPgPuAp3zIaUmuCo1yxw9aGs+NEJuTGQ9Gwqpt93vtJubucg==} + engines: {node: ^18.17.0 || >=20.5.0} + + '@npmcli/run-script@10.0.3': + resolution: {integrity: sha512-ER2N6itRkzWbbtVmZ9WKaWxVlKlOeBFF1/7xx+KA5J1xKa4JjUwBdb6tDpk0v1qA+d+VDwHI9qmLcXSWcmi+Rw==} + engines: {node: ^20.17.0 || >=22.9.0} + + '@nrwl/nx-cloud@19.1.0': + resolution: {integrity: sha512-krngXVPfX0Zf6+zJDtcI59/Pt3JfcMPMZ9C/+/x6rvz4WGgyv1s0MI4crEUM0Lx5ZpS4QI0WNDCFVQSfGEBXUg==} + + '@nx/devkit@22.3.3': + resolution: {integrity: sha512-/hxcdhE+QDalsWEbJurHtZh9aY27taHeImbCVJnogwv85H3RbAE+0YuKXGInutfLszAs7phwzli71yq+d2P45Q==} peerDependencies: - nx: ">= 21 <= 23 || ^22.0.0-0" + nx: '>= 21 <= 23 || ^22.0.0-0' - "@nx/nx-darwin-arm64@22.6.0": - resolution: - { integrity: sha512-sOlgi3ym6gA5ipMtTv39fC3+33KvNEAsI5CoVejVezLdVFjtSlS+ccR3OKZRZeuZuvpeOzKNqGtnqwE+UNtIhg== } + '@nx/nx-darwin-arm64@22.6.0': + resolution: {integrity: sha512-sOlgi3ym6gA5ipMtTv39fC3+33KvNEAsI5CoVejVezLdVFjtSlS+ccR3OKZRZeuZuvpeOzKNqGtnqwE+UNtIhg==} cpu: [arm64] os: [darwin] - "@nx/nx-darwin-x64@22.6.0": - resolution: - { integrity: sha512-qg+wMRkgPazGG3dBKtP8mRFppLTigyGVJJnRfQquxnjXPY5oFVL9UZcKbISItAIdSk5jzxZ9SwAIMk2Ggeg36w== } + '@nx/nx-darwin-x64@22.6.0': + resolution: {integrity: sha512-qg+wMRkgPazGG3dBKtP8mRFppLTigyGVJJnRfQquxnjXPY5oFVL9UZcKbISItAIdSk5jzxZ9SwAIMk2Ggeg36w==} cpu: [x64] os: [darwin] - "@nx/nx-freebsd-x64@22.6.0": - resolution: - { integrity: sha512-PjYRBZalFE2IGrZD7ukGXfRppPm21BpeGVqPH6BjcnB8dmyRx5cJG1uc6xom09yQK5X0Z+PPYzQhYGmZn5F4yQ== } + '@nx/nx-freebsd-x64@22.6.0': + resolution: {integrity: sha512-PjYRBZalFE2IGrZD7ukGXfRppPm21BpeGVqPH6BjcnB8dmyRx5cJG1uc6xom09yQK5X0Z+PPYzQhYGmZn5F4yQ==} cpu: [x64] os: [freebsd] - "@nx/nx-linux-arm-gnueabihf@22.6.0": - resolution: - { integrity: sha512-rb/KEq90/Su5mzPdDybURzHt8cTAqwJPd6K/Q1ojD9dmClYVsPUZjbGwNveeQRp/iD1kzbaUF2WcbJx1b87seg== } + '@nx/nx-linux-arm-gnueabihf@22.6.0': + resolution: {integrity: sha512-rb/KEq90/Su5mzPdDybURzHt8cTAqwJPd6K/Q1ojD9dmClYVsPUZjbGwNveeQRp/iD1kzbaUF2WcbJx1b87seg==} cpu: [arm] os: [linux] - "@nx/nx-linux-arm64-gnu@22.6.0": - resolution: - { integrity: sha512-AfcY3cbtqwc43pIkI0vlgak70P7cQgt8RhfRpG9rd3LYEpdaVxxfKP+0unMFjT23UWEUfexHlJyLoam1lgIenQ== } + '@nx/nx-linux-arm64-gnu@22.6.0': + resolution: {integrity: sha512-AfcY3cbtqwc43pIkI0vlgak70P7cQgt8RhfRpG9rd3LYEpdaVxxfKP+0unMFjT23UWEUfexHlJyLoam1lgIenQ==} cpu: [arm64] os: [linux] libc: [glibc] - "@nx/nx-linux-arm64-musl@22.6.0": - resolution: - { integrity: sha512-hvFMdPnS1nSnzyklOJMyQEC12ovC8h0JRAvdmpEKBPLiHV3Wjuj2IGSl0MCMI/YVMq3Y3uxRtwIKqHzYsZK8kw== } + '@nx/nx-linux-arm64-musl@22.6.0': + resolution: {integrity: sha512-hvFMdPnS1nSnzyklOJMyQEC12ovC8h0JRAvdmpEKBPLiHV3Wjuj2IGSl0MCMI/YVMq3Y3uxRtwIKqHzYsZK8kw==} cpu: [arm64] os: [linux] libc: [musl] - "@nx/nx-linux-x64-gnu@22.6.0": - resolution: - { integrity: sha512-1EM/M9RVVfqSWsSJAb8RLXGBGiVuwLb2AA4Dpv1pC+yjziAbfg9ERsVXuh14XaUTklBugI+Tm/k0dyZD2B22qw== } + '@nx/nx-linux-x64-gnu@22.6.0': + resolution: {integrity: sha512-1EM/M9RVVfqSWsSJAb8RLXGBGiVuwLb2AA4Dpv1pC+yjziAbfg9ERsVXuh14XaUTklBugI+Tm/k0dyZD2B22qw==} cpu: [x64] os: [linux] libc: [glibc] - "@nx/nx-linux-x64-musl@22.6.0": - resolution: - { integrity: sha512-C33hO5YMv55K0XK+elkCUKEN3c/86KAVTpXRGr3Ywvw/5dftR4vYI/yfBUC/gbxW95AjzeX9fHtY1EThKUCvuA== } + '@nx/nx-linux-x64-musl@22.6.0': + resolution: {integrity: sha512-C33hO5YMv55K0XK+elkCUKEN3c/86KAVTpXRGr3Ywvw/5dftR4vYI/yfBUC/gbxW95AjzeX9fHtY1EThKUCvuA==} cpu: [x64] os: [linux] libc: [musl] - "@nx/nx-win32-arm64-msvc@22.6.0": - resolution: - { integrity: sha512-/NJ1CgAWBpR55PUENospq5sChxK9PC2NIgOI5BLZpyjClAW1dLwaKRr5EFDS4wBKzhz5Dp9ebmo92MiPEWsAvg== } + '@nx/nx-win32-arm64-msvc@22.6.0': + resolution: {integrity: sha512-/NJ1CgAWBpR55PUENospq5sChxK9PC2NIgOI5BLZpyjClAW1dLwaKRr5EFDS4wBKzhz5Dp9ebmo92MiPEWsAvg==} cpu: [arm64] os: [win32] - "@nx/nx-win32-x64-msvc@22.6.0": - resolution: - { integrity: sha512-XY/csfuGjVwVFyFayU0ZWbnXPinVnP/AcjMi39SCWM72bxeSB1lKmPYo0z/18mJcGQRQC0mJrGpzr1YPlhW3mQ== } + '@nx/nx-win32-x64-msvc@22.6.0': + resolution: {integrity: sha512-XY/csfuGjVwVFyFayU0ZWbnXPinVnP/AcjMi39SCWM72bxeSB1lKmPYo0z/18mJcGQRQC0mJrGpzr1YPlhW3mQ==} cpu: [x64] os: [win32] - "@octokit/auth-token@4.0.0": - resolution: - { integrity: sha512-tY/msAuJo6ARbK6SPIxZrPBms3xPbfwBrulZe0Wtr/DIY9lje2HeV1uoebShn6mx7SjCHif6EjMvoREj+gZ+SA== } - engines: { node: ">= 18" } - - "@octokit/core@5.2.1": - resolution: - { integrity: sha512-dKYCMuPO1bmrpuogcjQ8z7ICCH3FP6WmxpwC03yjzGfZhj9fTJg6+bS1+UAplekbN2C+M61UNllGOOoAfGCrdQ== } - engines: { node: ">= 18" } - - "@octokit/endpoint@9.0.6": - resolution: - { integrity: sha512-H1fNTMA57HbkFESSt3Y9+FBICv+0jFceJFPWDePYlR/iMGrwM5ph+Dd4XRQs+8X+PUFURLQgX9ChPfhJ/1uNQw== } - engines: { node: ">= 18" } - - "@octokit/graphql@7.1.1": - resolution: - { integrity: sha512-3mkDltSfcDUoa176nlGoA32RGjeWjl3K7F/BwHwRMJUW/IteSa4bnSV8p2ThNkcIcZU2umkZWxwETSSCJf2Q7g== } - engines: { node: ">= 18" } - - "@octokit/openapi-types@24.2.0": - resolution: - { integrity: sha512-9sIH3nSUttelJSXUrmGzl7QUBFul0/mB8HRYl3fOlgHbIWG+WnYDXU3v/2zMtAvuzZ/ed00Ei6on975FhBfzrg== } - - "@octokit/plugin-enterprise-rest@6.0.1": - resolution: - { integrity: sha512-93uGjlhUD+iNg1iWhUENAtJata6w5nE+V4urXOAlIXdco6xNZtUSfYY8dzp3Udy74aqO/B5UZL80x/YMa5PKRw== } - - "@octokit/plugin-paginate-rest@11.4.4-cjs.2": - resolution: - { integrity: sha512-2dK6z8fhs8lla5PaOTgqfCGBxgAv/le+EhPs27KklPhm1bKObpu6lXzwfUEQ16ajXzqNrKMujsFyo9K2eaoISw== } - engines: { node: ">= 18" } + '@octokit/auth-token@4.0.0': + resolution: {integrity: sha512-tY/msAuJo6ARbK6SPIxZrPBms3xPbfwBrulZe0Wtr/DIY9lje2HeV1uoebShn6mx7SjCHif6EjMvoREj+gZ+SA==} + engines: {node: '>= 18'} + + '@octokit/core@5.2.1': + resolution: {integrity: sha512-dKYCMuPO1bmrpuogcjQ8z7ICCH3FP6WmxpwC03yjzGfZhj9fTJg6+bS1+UAplekbN2C+M61UNllGOOoAfGCrdQ==} + engines: {node: '>= 18'} + + '@octokit/endpoint@9.0.6': + resolution: {integrity: sha512-H1fNTMA57HbkFESSt3Y9+FBICv+0jFceJFPWDePYlR/iMGrwM5ph+Dd4XRQs+8X+PUFURLQgX9ChPfhJ/1uNQw==} + engines: {node: '>= 18'} + + '@octokit/graphql@7.1.1': + resolution: {integrity: sha512-3mkDltSfcDUoa176nlGoA32RGjeWjl3K7F/BwHwRMJUW/IteSa4bnSV8p2ThNkcIcZU2umkZWxwETSSCJf2Q7g==} + engines: {node: '>= 18'} + + '@octokit/openapi-types@24.2.0': + resolution: {integrity: sha512-9sIH3nSUttelJSXUrmGzl7QUBFul0/mB8HRYl3fOlgHbIWG+WnYDXU3v/2zMtAvuzZ/ed00Ei6on975FhBfzrg==} + + '@octokit/plugin-enterprise-rest@6.0.1': + resolution: {integrity: sha512-93uGjlhUD+iNg1iWhUENAtJata6w5nE+V4urXOAlIXdco6xNZtUSfYY8dzp3Udy74aqO/B5UZL80x/YMa5PKRw==} + + '@octokit/plugin-paginate-rest@11.4.4-cjs.2': + resolution: {integrity: sha512-2dK6z8fhs8lla5PaOTgqfCGBxgAv/le+EhPs27KklPhm1bKObpu6lXzwfUEQ16ajXzqNrKMujsFyo9K2eaoISw==} + engines: {node: '>= 18'} peerDependencies: - "@octokit/core": "5" + '@octokit/core': '5' - "@octokit/plugin-request-log@4.0.1": - resolution: - { integrity: sha512-GihNqNpGHorUrO7Qa9JbAl0dbLnqJVrV8OXe2Zm5/Y4wFkZQDfTreBzVmiRfJVfE4mClXdihHnbpyyO9FSX4HA== } - engines: { node: ">= 18" } + '@octokit/plugin-request-log@4.0.1': + resolution: {integrity: sha512-GihNqNpGHorUrO7Qa9JbAl0dbLnqJVrV8OXe2Zm5/Y4wFkZQDfTreBzVmiRfJVfE4mClXdihHnbpyyO9FSX4HA==} + engines: {node: '>= 18'} peerDependencies: - "@octokit/core": "5" + '@octokit/core': '5' - "@octokit/plugin-rest-endpoint-methods@13.3.2-cjs.1": - resolution: - { integrity: sha512-VUjIjOOvF2oELQmiFpWA1aOPdawpyaCUqcEBc/UOUnj3Xp6DJGrJ1+bjUIIDzdHjnFNO6q57ODMfdEZnoBkCwQ== } - engines: { node: ">= 18" } + '@octokit/plugin-rest-endpoint-methods@13.3.2-cjs.1': + resolution: {integrity: sha512-VUjIjOOvF2oELQmiFpWA1aOPdawpyaCUqcEBc/UOUnj3Xp6DJGrJ1+bjUIIDzdHjnFNO6q57ODMfdEZnoBkCwQ==} + engines: {node: '>= 18'} peerDependencies: - "@octokit/core": ^5 - - "@octokit/request-error@5.1.1": - resolution: - { integrity: sha512-v9iyEQJH6ZntoENr9/yXxjuezh4My67CBSu9r6Ve/05Iu5gNgnisNWOsoJHTP6k0Rr0+HQIpnH+kyammu90q/g== } - engines: { node: ">= 18" } - - "@octokit/request@8.4.1": - resolution: - { integrity: sha512-qnB2+SY3hkCmBxZsR/MPCybNmbJe4KAlfWErXq+rBKkQJlbjdJeS85VI9r8UqeLYLvnAenU8Q1okM/0MBsAGXw== } - engines: { node: ">= 18" } - - "@octokit/rest@20.1.2": - resolution: - { integrity: sha512-GmYiltypkHHtihFwPRxlaorG5R9VAHuk/vbszVoRTGXnAsY60wYLkh/E2XiFmdZmqrisw+9FaazS1i5SbdWYgA== } - engines: { node: ">= 18" } - - "@octokit/types@13.10.0": - resolution: - { integrity: sha512-ifLaO34EbbPj0Xgro4G5lP5asESjwHracYJvVaPIyXMuiuXLlhic3S47cBdTb+jfODkTE5YtGCLt3Ay3+J97sA== } - - "@oxc-minify/binding-android-arm-eabi@0.116.0": - resolution: - { integrity: sha512-xJRj6ygJ9PYIqp7RBWylb0U5OdSHFFbETkXKMic9EVfFuMm7PpOsvs+5n6Dhp9XjAlHswcyBVoh2N/zzg/1lNw== } - engines: { node: ^20.19.0 || >=22.12.0 } + '@octokit/core': ^5 + + '@octokit/request-error@5.1.1': + resolution: {integrity: sha512-v9iyEQJH6ZntoENr9/yXxjuezh4My67CBSu9r6Ve/05Iu5gNgnisNWOsoJHTP6k0Rr0+HQIpnH+kyammu90q/g==} + engines: {node: '>= 18'} + + '@octokit/request@8.4.1': + resolution: {integrity: sha512-qnB2+SY3hkCmBxZsR/MPCybNmbJe4KAlfWErXq+rBKkQJlbjdJeS85VI9r8UqeLYLvnAenU8Q1okM/0MBsAGXw==} + engines: {node: '>= 18'} + + '@octokit/rest@20.1.2': + resolution: {integrity: sha512-GmYiltypkHHtihFwPRxlaorG5R9VAHuk/vbszVoRTGXnAsY60wYLkh/E2XiFmdZmqrisw+9FaazS1i5SbdWYgA==} + engines: {node: '>= 18'} + + '@octokit/types@13.10.0': + resolution: {integrity: sha512-ifLaO34EbbPj0Xgro4G5lP5asESjwHracYJvVaPIyXMuiuXLlhic3S47cBdTb+jfODkTE5YtGCLt3Ay3+J97sA==} + + '@oxc-minify/binding-android-arm-eabi@0.116.0': + resolution: {integrity: sha512-xJRj6ygJ9PYIqp7RBWylb0U5OdSHFFbETkXKMic9EVfFuMm7PpOsvs+5n6Dhp9XjAlHswcyBVoh2N/zzg/1lNw==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [android] - "@oxc-minify/binding-android-arm64@0.116.0": - resolution: - { integrity: sha512-4cMIwsMG+ie62tGKUbmqSWkqHXTb6vjAB0l6XHQRec5BFatn+x6btPbu1tZ0e4khxYHXusd3vRyLdfYpya8Qrg== } - engines: { node: ^20.19.0 || >=22.12.0 } + '@oxc-minify/binding-android-arm64@0.116.0': + resolution: {integrity: sha512-4cMIwsMG+ie62tGKUbmqSWkqHXTb6vjAB0l6XHQRec5BFatn+x6btPbu1tZ0e4khxYHXusd3vRyLdfYpya8Qrg==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [android] - "@oxc-minify/binding-darwin-arm64@0.116.0": - resolution: - { integrity: sha512-03+i13fHa7SPuTfHaQ2eDnqxfv0XPzMAw7TpN4FpblGH+m+e6IvfDfpj/xT/zzvgRdFV8cBtLZ49bX50ZDmHAA== } - engines: { node: ^20.19.0 || >=22.12.0 } + '@oxc-minify/binding-darwin-arm64@0.116.0': + resolution: {integrity: sha512-03+i13fHa7SPuTfHaQ2eDnqxfv0XPzMAw7TpN4FpblGH+m+e6IvfDfpj/xT/zzvgRdFV8cBtLZ49bX50ZDmHAA==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [darwin] - "@oxc-minify/binding-darwin-x64@0.116.0": - resolution: - { integrity: sha512-ICNEKYEgJw4UX1MQEshQLJNz5tIDImQMgoA7HHzLO2Z0Y2M6oQlsyFfoSMuc3lO4EPK6PrNRxuFBtt3wc8dd9g== } - engines: { node: ^20.19.0 || >=22.12.0 } + '@oxc-minify/binding-darwin-x64@0.116.0': + resolution: {integrity: sha512-ICNEKYEgJw4UX1MQEshQLJNz5tIDImQMgoA7HHzLO2Z0Y2M6oQlsyFfoSMuc3lO4EPK6PrNRxuFBtt3wc8dd9g==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [darwin] - "@oxc-minify/binding-freebsd-x64@0.116.0": - resolution: - { integrity: sha512-J5y2cTphLSiTD8IAidxYDjdrklweXZh5FdAGCDnL9fh02cAc8g2ZXa53TNRdPsjnYXIEH5w4SvMzf63hDd+ezw== } - engines: { node: ^20.19.0 || >=22.12.0 } + '@oxc-minify/binding-freebsd-x64@0.116.0': + resolution: {integrity: sha512-J5y2cTphLSiTD8IAidxYDjdrklweXZh5FdAGCDnL9fh02cAc8g2ZXa53TNRdPsjnYXIEH5w4SvMzf63hDd+ezw==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [freebsd] - "@oxc-minify/binding-linux-arm-gnueabihf@0.116.0": - resolution: - { integrity: sha512-thcu4qGtNHt3/SRB2xcJEMG9xxJIuflbWAzXJPLAhZugNmJS0ttcmIvDfvJQ2MJ+PSssZOtX7Gxu/5blTiaBEg== } - engines: { node: ^20.19.0 || >=22.12.0 } + '@oxc-minify/binding-linux-arm-gnueabihf@0.116.0': + resolution: {integrity: sha512-thcu4qGtNHt3/SRB2xcJEMG9xxJIuflbWAzXJPLAhZugNmJS0ttcmIvDfvJQ2MJ+PSssZOtX7Gxu/5blTiaBEg==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [linux] - "@oxc-minify/binding-linux-arm-musleabihf@0.116.0": - resolution: - { integrity: sha512-mru7IDG/VDty51FBTnqAgjgeXM2x+1NadU1y26gq1U46WqO+ISrcdESlmHGp8tnMpj7rFGGk3kbmEoCDR8UQBg== } - engines: { node: ^20.19.0 || >=22.12.0 } + '@oxc-minify/binding-linux-arm-musleabihf@0.116.0': + resolution: {integrity: sha512-mru7IDG/VDty51FBTnqAgjgeXM2x+1NadU1y26gq1U46WqO+ISrcdESlmHGp8tnMpj7rFGGk3kbmEoCDR8UQBg==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [linux] - "@oxc-minify/binding-linux-arm64-gnu@0.116.0": - resolution: - { integrity: sha512-1CIngrhxBd+tZ30JSpTc7R2b2YvMx3UMJZUjGQfXfZJQHya8s2nxfZXQszmQZFbtUzD789JZkcYrW8wl+xg//Q== } - engines: { node: ^20.19.0 || >=22.12.0 } + '@oxc-minify/binding-linux-arm64-gnu@0.116.0': + resolution: {integrity: sha512-1CIngrhxBd+tZ30JSpTc7R2b2YvMx3UMJZUjGQfXfZJQHya8s2nxfZXQszmQZFbtUzD789JZkcYrW8wl+xg//Q==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] libc: [glibc] - "@oxc-minify/binding-linux-arm64-musl@0.116.0": - resolution: - { integrity: sha512-Xz/yCEAlJ/eT1DAmOIiJLSh0OwJE+8XkKMwTwL4hxL+pcJMpIXMBg1t1VIgHc561DmWxw//s5RPXqON+DRAkig== } - engines: { node: ^20.19.0 || >=22.12.0 } + '@oxc-minify/binding-linux-arm64-musl@0.116.0': + resolution: {integrity: sha512-Xz/yCEAlJ/eT1DAmOIiJLSh0OwJE+8XkKMwTwL4hxL+pcJMpIXMBg1t1VIgHc561DmWxw//s5RPXqON+DRAkig==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] libc: [musl] - "@oxc-minify/binding-linux-ppc64-gnu@0.116.0": - resolution: - { integrity: sha512-Qk88V65XjhyrYcRZv/k6fHI7/c2lpYSOYeWgrRnqXNDryZ1oU3eZbJP7bgcZf+YCXHWg0SwJ3rZJuFmi+/Ml0Q== } - engines: { node: ^20.19.0 || >=22.12.0 } + '@oxc-minify/binding-linux-ppc64-gnu@0.116.0': + resolution: {integrity: sha512-Qk88V65XjhyrYcRZv/k6fHI7/c2lpYSOYeWgrRnqXNDryZ1oU3eZbJP7bgcZf+YCXHWg0SwJ3rZJuFmi+/Ml0Q==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [ppc64] os: [linux] libc: [glibc] - "@oxc-minify/binding-linux-riscv64-gnu@0.116.0": - resolution: - { integrity: sha512-1NlzrKgKgsvJg+8dtXGHZLdKLXmr6JSt6/7S6KCjG/FW2MZfjfiEnHbwW9U6iVpkmKlD73UDJsoyMQWGOZO6fQ== } - engines: { node: ^20.19.0 || >=22.12.0 } + '@oxc-minify/binding-linux-riscv64-gnu@0.116.0': + resolution: {integrity: sha512-1NlzrKgKgsvJg+8dtXGHZLdKLXmr6JSt6/7S6KCjG/FW2MZfjfiEnHbwW9U6iVpkmKlD73UDJsoyMQWGOZO6fQ==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [riscv64] os: [linux] libc: [glibc] - "@oxc-minify/binding-linux-riscv64-musl@0.116.0": - resolution: - { integrity: sha512-7sesJpftUQAFyMhnrdC2EoKWnsXeqC87A3spco5knPNfm90yzFYvpGGzBquJnWWwXHI5gplfDPYkiVrOP3AcRw== } - engines: { node: ^20.19.0 || >=22.12.0 } + '@oxc-minify/binding-linux-riscv64-musl@0.116.0': + resolution: {integrity: sha512-7sesJpftUQAFyMhnrdC2EoKWnsXeqC87A3spco5knPNfm90yzFYvpGGzBquJnWWwXHI5gplfDPYkiVrOP3AcRw==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [riscv64] os: [linux] libc: [musl] - "@oxc-minify/binding-linux-s390x-gnu@0.116.0": - resolution: - { integrity: sha512-Npe3A85+TLU1wK0BanMoJJhCAGIqM8SzKmteABxaBwjyfzQr4HtbOU/Boem6MoPegALIRNo0XHbR04Vby6wxSQ== } - engines: { node: ^20.19.0 || >=22.12.0 } + '@oxc-minify/binding-linux-s390x-gnu@0.116.0': + resolution: {integrity: sha512-Npe3A85+TLU1wK0BanMoJJhCAGIqM8SzKmteABxaBwjyfzQr4HtbOU/Boem6MoPegALIRNo0XHbR04Vby6wxSQ==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [s390x] os: [linux] libc: [glibc] - "@oxc-minify/binding-linux-x64-gnu@0.116.0": - resolution: - { integrity: sha512-1Ed/oZXVmgMSccgi6nBYC7ezqYjPhDRWHbdVJGNoXFcC6I138KHp/tTUWaqQNxtvwE1NrkYViaxnl7Gvq9Cjdg== } - engines: { node: ^20.19.0 || >=22.12.0 } + '@oxc-minify/binding-linux-x64-gnu@0.116.0': + resolution: {integrity: sha512-1Ed/oZXVmgMSccgi6nBYC7ezqYjPhDRWHbdVJGNoXFcC6I138KHp/tTUWaqQNxtvwE1NrkYViaxnl7Gvq9Cjdg==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] libc: [glibc] - "@oxc-minify/binding-linux-x64-musl@0.116.0": - resolution: - { integrity: sha512-QlXCrfdh3NFdKcBFUCgQvXc3Wp6xSonlZh0h8oZGBardy9d3IiIwDS7geXZkpFrpaU63kMmbt/vEB9elDCag4A== } - engines: { node: ^20.19.0 || >=22.12.0 } + '@oxc-minify/binding-linux-x64-musl@0.116.0': + resolution: {integrity: sha512-QlXCrfdh3NFdKcBFUCgQvXc3Wp6xSonlZh0h8oZGBardy9d3IiIwDS7geXZkpFrpaU63kMmbt/vEB9elDCag4A==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] libc: [musl] - "@oxc-minify/binding-openharmony-arm64@0.116.0": - resolution: - { integrity: sha512-b+IcvnKIfy44E35Oo+x5cbzp41odP2uoXLC+jNgkZCn3kwa/rlGc/mmT6l9INdNIGA+pK7MyZjZWSOYZZNk/3g== } - engines: { node: ^20.19.0 || >=22.12.0 } + '@oxc-minify/binding-openharmony-arm64@0.116.0': + resolution: {integrity: sha512-b+IcvnKIfy44E35Oo+x5cbzp41odP2uoXLC+jNgkZCn3kwa/rlGc/mmT6l9INdNIGA+pK7MyZjZWSOYZZNk/3g==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [openharmony] - "@oxc-minify/binding-wasm32-wasi@0.116.0": - resolution: - { integrity: sha512-WM4olmljUhhXwAZP/4UPOHxmQTczWBCFKv0IoPXhIWdoowJWhdiPOAn8Yq9PvZ7yupdVsJdyt2Jaf3zCNuwVrA== } - engines: { node: ">=14.0.0" } + '@oxc-minify/binding-wasm32-wasi@0.116.0': + resolution: {integrity: sha512-WM4olmljUhhXwAZP/4UPOHxmQTczWBCFKv0IoPXhIWdoowJWhdiPOAn8Yq9PvZ7yupdVsJdyt2Jaf3zCNuwVrA==} + engines: {node: '>=14.0.0'} cpu: [wasm32] - "@oxc-minify/binding-win32-arm64-msvc@0.116.0": - resolution: - { integrity: sha512-wNARwIEz1iBSwn6PitToCGQRfM/7KcutxeL/POXtA9pGxtniw2bksq1Fiov+ESGBjtOk8GGAN02yftC6WhzGSw== } - engines: { node: ^20.19.0 || >=22.12.0 } + '@oxc-minify/binding-win32-arm64-msvc@0.116.0': + resolution: {integrity: sha512-wNARwIEz1iBSwn6PitToCGQRfM/7KcutxeL/POXtA9pGxtniw2bksq1Fiov+ESGBjtOk8GGAN02yftC6WhzGSw==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [win32] - "@oxc-minify/binding-win32-ia32-msvc@0.116.0": - resolution: - { integrity: sha512-H9yR4/P+lZfqTsGPiKTnnZnXInzeiBCGyUi6Tv3nvQhMsiM1liLKgJ1konR0YaOMYxpObG5Qu0TKQ/8uufldZA== } - engines: { node: ^20.19.0 || >=22.12.0 } + '@oxc-minify/binding-win32-ia32-msvc@0.116.0': + resolution: {integrity: sha512-H9yR4/P+lZfqTsGPiKTnnZnXInzeiBCGyUi6Tv3nvQhMsiM1liLKgJ1konR0YaOMYxpObG5Qu0TKQ/8uufldZA==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [ia32] os: [win32] - "@oxc-minify/binding-win32-x64-msvc@0.116.0": - resolution: - { integrity: sha512-mGRIhi37Eh/YjvImseaNqCo0sv8aUBR69BKb65Oh4qAuk+hWzY5GyfEFUCQ1Dt6tmdLmi2R+4aaFWIzDJIzSVA== } - engines: { node: ^20.19.0 || >=22.12.0 } + '@oxc-minify/binding-win32-x64-msvc@0.116.0': + resolution: {integrity: sha512-mGRIhi37Eh/YjvImseaNqCo0sv8aUBR69BKb65Oh4qAuk+hWzY5GyfEFUCQ1Dt6tmdLmi2R+4aaFWIzDJIzSVA==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [win32] - "@oxc-project/types@0.120.0": - resolution: - { integrity: sha512-k1YNu55DuvAip/MGE1FTsIuU3FUCn6v/ujG9V7Nq5Df/kX2CWb13hhwD0lmJGMGqE+bE1MXvv9SZVnMzEXlWcg== } + '@oxc-project/types@0.120.0': + resolution: {integrity: sha512-k1YNu55DuvAip/MGE1FTsIuU3FUCn6v/ujG9V7Nq5Df/kX2CWb13hhwD0lmJGMGqE+bE1MXvv9SZVnMzEXlWcg==} - "@parcel/watcher-android-arm64@2.5.1": - resolution: - { integrity: sha512-KF8+j9nNbUN8vzOFDpRMsaKBHZ/mcjEjMToVMJOhTozkDonQFFrRcfdLWn6yWKCmJKmdVxSgHiYvTCef4/qcBA== } - engines: { node: ">= 10.0.0" } + '@parcel/watcher-android-arm64@2.5.1': + resolution: {integrity: sha512-KF8+j9nNbUN8vzOFDpRMsaKBHZ/mcjEjMToVMJOhTozkDonQFFrRcfdLWn6yWKCmJKmdVxSgHiYvTCef4/qcBA==} + engines: {node: '>= 10.0.0'} cpu: [arm64] os: [android] - "@parcel/watcher-darwin-arm64@2.5.1": - resolution: - { integrity: sha512-eAzPv5osDmZyBhou8PoF4i6RQXAfeKL9tjb3QzYuccXFMQU0ruIc/POh30ePnaOyD1UXdlKguHBmsTs53tVoPw== } - engines: { node: ">= 10.0.0" } + '@parcel/watcher-darwin-arm64@2.5.1': + resolution: {integrity: sha512-eAzPv5osDmZyBhou8PoF4i6RQXAfeKL9tjb3QzYuccXFMQU0ruIc/POh30ePnaOyD1UXdlKguHBmsTs53tVoPw==} + engines: {node: '>= 10.0.0'} cpu: [arm64] os: [darwin] - "@parcel/watcher-darwin-x64@2.5.1": - resolution: - { integrity: sha512-1ZXDthrnNmwv10A0/3AJNZ9JGlzrF82i3gNQcWOzd7nJ8aj+ILyW1MTxVk35Db0u91oD5Nlk9MBiujMlwmeXZg== } - engines: { node: ">= 10.0.0" } + '@parcel/watcher-darwin-x64@2.5.1': + resolution: {integrity: sha512-1ZXDthrnNmwv10A0/3AJNZ9JGlzrF82i3gNQcWOzd7nJ8aj+ILyW1MTxVk35Db0u91oD5Nlk9MBiujMlwmeXZg==} + engines: {node: '>= 10.0.0'} cpu: [x64] os: [darwin] - "@parcel/watcher-freebsd-x64@2.5.1": - resolution: - { integrity: sha512-SI4eljM7Flp9yPuKi8W0ird8TI/JK6CSxju3NojVI6BjHsTyK7zxA9urjVjEKJ5MBYC+bLmMcbAWlZ+rFkLpJQ== } - engines: { node: ">= 10.0.0" } + '@parcel/watcher-freebsd-x64@2.5.1': + resolution: {integrity: sha512-SI4eljM7Flp9yPuKi8W0ird8TI/JK6CSxju3NojVI6BjHsTyK7zxA9urjVjEKJ5MBYC+bLmMcbAWlZ+rFkLpJQ==} + engines: {node: '>= 10.0.0'} cpu: [x64] os: [freebsd] - "@parcel/watcher-linux-arm-glibc@2.5.1": - resolution: - { integrity: sha512-RCdZlEyTs8geyBkkcnPWvtXLY44BCeZKmGYRtSgtwwnHR4dxfHRG3gR99XdMEdQ7KeiDdasJwwvNSF5jKtDwdA== } - engines: { node: ">= 10.0.0" } + '@parcel/watcher-linux-arm-glibc@2.5.1': + resolution: {integrity: sha512-RCdZlEyTs8geyBkkcnPWvtXLY44BCeZKmGYRtSgtwwnHR4dxfHRG3gR99XdMEdQ7KeiDdasJwwvNSF5jKtDwdA==} + engines: {node: '>= 10.0.0'} cpu: [arm] os: [linux] libc: [glibc] - "@parcel/watcher-linux-arm-musl@2.5.1": - resolution: - { integrity: sha512-6E+m/Mm1t1yhB8X412stiKFG3XykmgdIOqhjWj+VL8oHkKABfu/gjFj8DvLrYVHSBNC+/u5PeNrujiSQ1zwd1Q== } - engines: { node: ">= 10.0.0" } + '@parcel/watcher-linux-arm-musl@2.5.1': + resolution: {integrity: sha512-6E+m/Mm1t1yhB8X412stiKFG3XykmgdIOqhjWj+VL8oHkKABfu/gjFj8DvLrYVHSBNC+/u5PeNrujiSQ1zwd1Q==} + engines: {node: '>= 10.0.0'} cpu: [arm] os: [linux] libc: [musl] - "@parcel/watcher-linux-arm64-glibc@2.5.1": - resolution: - { integrity: sha512-LrGp+f02yU3BN9A+DGuY3v3bmnFUggAITBGriZHUREfNEzZh/GO06FF5u2kx8x+GBEUYfyTGamol4j3m9ANe8w== } - engines: { node: ">= 10.0.0" } + '@parcel/watcher-linux-arm64-glibc@2.5.1': + resolution: {integrity: sha512-LrGp+f02yU3BN9A+DGuY3v3bmnFUggAITBGriZHUREfNEzZh/GO06FF5u2kx8x+GBEUYfyTGamol4j3m9ANe8w==} + engines: {node: '>= 10.0.0'} cpu: [arm64] os: [linux] libc: [glibc] - "@parcel/watcher-linux-arm64-musl@2.5.1": - resolution: - { integrity: sha512-cFOjABi92pMYRXS7AcQv9/M1YuKRw8SZniCDw0ssQb/noPkRzA+HBDkwmyOJYp5wXcsTrhxO0zq1U11cK9jsFg== } - engines: { node: ">= 10.0.0" } + '@parcel/watcher-linux-arm64-musl@2.5.1': + resolution: {integrity: sha512-cFOjABi92pMYRXS7AcQv9/M1YuKRw8SZniCDw0ssQb/noPkRzA+HBDkwmyOJYp5wXcsTrhxO0zq1U11cK9jsFg==} + engines: {node: '>= 10.0.0'} cpu: [arm64] os: [linux] libc: [musl] - "@parcel/watcher-linux-x64-glibc@2.5.1": - resolution: - { integrity: sha512-GcESn8NZySmfwlTsIur+49yDqSny2IhPeZfXunQi48DMugKeZ7uy1FX83pO0X22sHntJ4Ub+9k34XQCX+oHt2A== } - engines: { node: ">= 10.0.0" } + '@parcel/watcher-linux-x64-glibc@2.5.1': + resolution: {integrity: sha512-GcESn8NZySmfwlTsIur+49yDqSny2IhPeZfXunQi48DMugKeZ7uy1FX83pO0X22sHntJ4Ub+9k34XQCX+oHt2A==} + engines: {node: '>= 10.0.0'} cpu: [x64] os: [linux] libc: [glibc] - "@parcel/watcher-linux-x64-musl@2.5.1": - resolution: - { integrity: sha512-n0E2EQbatQ3bXhcH2D1XIAANAcTZkQICBPVaxMeaCVBtOpBZpWJuf7LwyWPSBDITb7In8mqQgJ7gH8CILCURXg== } - engines: { node: ">= 10.0.0" } + '@parcel/watcher-linux-x64-musl@2.5.1': + resolution: {integrity: sha512-n0E2EQbatQ3bXhcH2D1XIAANAcTZkQICBPVaxMeaCVBtOpBZpWJuf7LwyWPSBDITb7In8mqQgJ7gH8CILCURXg==} + engines: {node: '>= 10.0.0'} cpu: [x64] os: [linux] libc: [musl] - "@parcel/watcher-win32-arm64@2.5.1": - resolution: - { integrity: sha512-RFzklRvmc3PkjKjry3hLF9wD7ppR4AKcWNzH7kXR7GUe0Igb3Nz8fyPwtZCSquGrhU5HhUNDr/mKBqj7tqA2Vw== } - engines: { node: ">= 10.0.0" } + '@parcel/watcher-win32-arm64@2.5.1': + resolution: {integrity: sha512-RFzklRvmc3PkjKjry3hLF9wD7ppR4AKcWNzH7kXR7GUe0Igb3Nz8fyPwtZCSquGrhU5HhUNDr/mKBqj7tqA2Vw==} + engines: {node: '>= 10.0.0'} cpu: [arm64] os: [win32] - "@parcel/watcher-win32-ia32@2.5.1": - resolution: - { integrity: sha512-c2KkcVN+NJmuA7CGlaGD1qJh1cLfDnQsHjE89E60vUEMlqduHGCdCLJCID5geFVM0dOtA3ZiIO8BoEQmzQVfpQ== } - engines: { node: ">= 10.0.0" } + '@parcel/watcher-win32-ia32@2.5.1': + resolution: {integrity: sha512-c2KkcVN+NJmuA7CGlaGD1qJh1cLfDnQsHjE89E60vUEMlqduHGCdCLJCID5geFVM0dOtA3ZiIO8BoEQmzQVfpQ==} + engines: {node: '>= 10.0.0'} cpu: [ia32] os: [win32] - "@parcel/watcher-win32-x64@2.5.1": - resolution: - { integrity: sha512-9lHBdJITeNR++EvSQVUcaZoWupyHfXe1jZvGZ06O/5MflPcuPLtEphScIBL+AiCWBO46tDSHzWyD0uDmmZqsgA== } - engines: { node: ">= 10.0.0" } + '@parcel/watcher-win32-x64@2.5.1': + resolution: {integrity: sha512-9lHBdJITeNR++EvSQVUcaZoWupyHfXe1jZvGZ06O/5MflPcuPLtEphScIBL+AiCWBO46tDSHzWyD0uDmmZqsgA==} + engines: {node: '>= 10.0.0'} cpu: [x64] os: [win32] - "@parcel/watcher@2.5.1": - resolution: - { integrity: sha512-dfUnCxiN9H4ap84DvD2ubjw+3vUNpstxa0TneY/Paat8a3R4uQZDLSvWjmznAY/DoahqTHl9V46HF/Zs3F29pg== } - engines: { node: ">= 10.0.0" } - - "@pkgjs/parseargs@0.11.0": - resolution: - { integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg== } - engines: { node: ">=14" } - - "@pkgr/core@0.2.9": - resolution: - { integrity: sha512-QNqXyfVS2wm9hweSYD2O7F0G06uurj9kZ96TRQE5Y9hU7+tgdZwIkbAKc5Ocy1HxEY2kuDQa6cQ1WRs/O5LFKA== } - engines: { node: ^12.20.0 || ^14.18.0 || >=16.0.0 } - - "@polka/url@1.0.0-next.25": - resolution: - { integrity: sha512-j7P6Rgr3mmtdkeDGTe0E/aYyWEWVtc5yFXtHCRHs28/jptDEWfaVOc5T7cblqy1XKPPfCxJc/8DwQ5YgLOZOVQ== } - - "@popperjs/core@2.11.8": - resolution: - { integrity: sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A== } - - "@putout/minify@6.0.0": - resolution: - { integrity: sha512-v/nzJzgUyh9TzRfy+5pTjj1z8Yhhg83TC4TQ/Mrrn2UwJnWWS/mVcpOWwHuFy7KsLnazE0ChHK/anM7GncrbHg== } - engines: { node: ">=22" } - - "@rolldown/binding-android-arm64@1.0.0-rc.10": - resolution: - { integrity: sha512-jOHxwXhxmFKuXztiu1ORieJeTbx5vrTkcOkkkn2d35726+iwhrY1w/+nYY/AGgF12thg33qC3R1LMBF5tHTZHg== } - engines: { node: ^20.19.0 || >=22.12.0 } + '@parcel/watcher@2.5.1': + resolution: {integrity: sha512-dfUnCxiN9H4ap84DvD2ubjw+3vUNpstxa0TneY/Paat8a3R4uQZDLSvWjmznAY/DoahqTHl9V46HF/Zs3F29pg==} + engines: {node: '>= 10.0.0'} + + '@pkgjs/parseargs@0.11.0': + resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} + engines: {node: '>=14'} + + '@pkgr/core@0.2.9': + resolution: {integrity: sha512-QNqXyfVS2wm9hweSYD2O7F0G06uurj9kZ96TRQE5Y9hU7+tgdZwIkbAKc5Ocy1HxEY2kuDQa6cQ1WRs/O5LFKA==} + engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} + + '@polka/url@1.0.0-next.25': + resolution: {integrity: sha512-j7P6Rgr3mmtdkeDGTe0E/aYyWEWVtc5yFXtHCRHs28/jptDEWfaVOc5T7cblqy1XKPPfCxJc/8DwQ5YgLOZOVQ==} + + '@popperjs/core@2.11.8': + resolution: {integrity: sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==} + + '@putout/minify@6.0.0': + resolution: {integrity: sha512-v/nzJzgUyh9TzRfy+5pTjj1z8Yhhg83TC4TQ/Mrrn2UwJnWWS/mVcpOWwHuFy7KsLnazE0ChHK/anM7GncrbHg==} + engines: {node: '>=22'} + + '@rolldown/binding-android-arm64@1.0.0-rc.10': + resolution: {integrity: sha512-jOHxwXhxmFKuXztiu1ORieJeTbx5vrTkcOkkkn2d35726+iwhrY1w/+nYY/AGgF12thg33qC3R1LMBF5tHTZHg==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [android] - "@rolldown/binding-darwin-arm64@1.0.0-rc.10": - resolution: - { integrity: sha512-gED05Teg/vtTZbIJBc4VNMAxAFDUPkuO/rAIyyxZjTj1a1/s6z5TII/5yMGZ0uLRCifEtwUQn8OlYzuYc0m70w== } - engines: { node: ^20.19.0 || >=22.12.0 } + '@rolldown/binding-darwin-arm64@1.0.0-rc.10': + resolution: {integrity: sha512-gED05Teg/vtTZbIJBc4VNMAxAFDUPkuO/rAIyyxZjTj1a1/s6z5TII/5yMGZ0uLRCifEtwUQn8OlYzuYc0m70w==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [darwin] - "@rolldown/binding-darwin-x64@1.0.0-rc.10": - resolution: - { integrity: sha512-rI15NcM1mA48lqrIxVkHfAqcyFLcQwyXWThy+BQ5+mkKKPvSO26ir+ZDp36AgYoYVkqvMcdS8zOE6SeBsR9e8A== } - engines: { node: ^20.19.0 || >=22.12.0 } + '@rolldown/binding-darwin-x64@1.0.0-rc.10': + resolution: {integrity: sha512-rI15NcM1mA48lqrIxVkHfAqcyFLcQwyXWThy+BQ5+mkKKPvSO26ir+ZDp36AgYoYVkqvMcdS8zOE6SeBsR9e8A==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [darwin] - "@rolldown/binding-freebsd-x64@1.0.0-rc.10": - resolution: - { integrity: sha512-XZRXHdTa+4ME1MuDVp021+doQ+z6Ei4CCFmNc5/sKbqb8YmkiJdj8QKlV3rCI0AJtAeSB5n0WGPuJWNL9p/L2w== } - engines: { node: ^20.19.0 || >=22.12.0 } + '@rolldown/binding-freebsd-x64@1.0.0-rc.10': + resolution: {integrity: sha512-XZRXHdTa+4ME1MuDVp021+doQ+z6Ei4CCFmNc5/sKbqb8YmkiJdj8QKlV3rCI0AJtAeSB5n0WGPuJWNL9p/L2w==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [freebsd] - "@rolldown/binding-linux-arm-gnueabihf@1.0.0-rc.10": - resolution: - { integrity: sha512-R0SQMRluISSLzFE20sPWYHVmJdDQnRyc/FzSCN72BqQmh2SOZUFG+N3/vBZpR4C6WpEUVYJLrYUXaj43sJsNLA== } - engines: { node: ^20.19.0 || >=22.12.0 } + '@rolldown/binding-linux-arm-gnueabihf@1.0.0-rc.10': + resolution: {integrity: sha512-R0SQMRluISSLzFE20sPWYHVmJdDQnRyc/FzSCN72BqQmh2SOZUFG+N3/vBZpR4C6WpEUVYJLrYUXaj43sJsNLA==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [linux] - "@rolldown/binding-linux-arm64-gnu@1.0.0-rc.10": - resolution: - { integrity: sha512-Y1reMrV/o+cwpduYhJuOE3OMKx32RMYCidf14y+HssARRmhDuWXJ4yVguDg2R/8SyyGNo+auzz64LnPK9Hq6jg== } - engines: { node: ^20.19.0 || >=22.12.0 } + '@rolldown/binding-linux-arm64-gnu@1.0.0-rc.10': + resolution: {integrity: sha512-Y1reMrV/o+cwpduYhJuOE3OMKx32RMYCidf14y+HssARRmhDuWXJ4yVguDg2R/8SyyGNo+auzz64LnPK9Hq6jg==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] libc: [glibc] - "@rolldown/binding-linux-arm64-musl@1.0.0-rc.10": - resolution: - { integrity: sha512-vELN+HNb2IzuzSBUOD4NHmP9yrGwl1DVM29wlQvx1OLSclL0NgVWnVDKl/8tEks79EFek/kebQKnNJkIAA4W2g== } - engines: { node: ^20.19.0 || >=22.12.0 } + '@rolldown/binding-linux-arm64-musl@1.0.0-rc.10': + resolution: {integrity: sha512-vELN+HNb2IzuzSBUOD4NHmP9yrGwl1DVM29wlQvx1OLSclL0NgVWnVDKl/8tEks79EFek/kebQKnNJkIAA4W2g==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] libc: [musl] - "@rolldown/binding-linux-ppc64-gnu@1.0.0-rc.10": - resolution: - { integrity: sha512-ZqrufYTgzxbHwpqOjzSsb0UV/aV2TFIY5rP8HdsiPTv/CuAgCRjM6s9cYFwQ4CNH+hf9Y4erHW1GjZuZ7WoI7w== } - engines: { node: ^20.19.0 || >=22.12.0 } + '@rolldown/binding-linux-ppc64-gnu@1.0.0-rc.10': + resolution: {integrity: sha512-ZqrufYTgzxbHwpqOjzSsb0UV/aV2TFIY5rP8HdsiPTv/CuAgCRjM6s9cYFwQ4CNH+hf9Y4erHW1GjZuZ7WoI7w==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [ppc64] os: [linux] libc: [glibc] - "@rolldown/binding-linux-s390x-gnu@1.0.0-rc.10": - resolution: - { integrity: sha512-gSlmVS1FZJSRicA6IyjoRoKAFK7IIHBs7xJuHRSmjImqk3mPPWbR7RhbnfH2G6bcmMEllCt2vQ/7u9e6bBnByg== } - engines: { node: ^20.19.0 || >=22.12.0 } + '@rolldown/binding-linux-s390x-gnu@1.0.0-rc.10': + resolution: {integrity: sha512-gSlmVS1FZJSRicA6IyjoRoKAFK7IIHBs7xJuHRSmjImqk3mPPWbR7RhbnfH2G6bcmMEllCt2vQ/7u9e6bBnByg==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [s390x] os: [linux] libc: [glibc] - "@rolldown/binding-linux-x64-gnu@1.0.0-rc.10": - resolution: - { integrity: sha512-eOCKUpluKgfObT2pHjztnaWEIbUabWzk3qPZ5PuacuPmr4+JtQG4k2vGTY0H15edaTnicgU428XW/IH6AimcQw== } - engines: { node: ^20.19.0 || >=22.12.0 } + '@rolldown/binding-linux-x64-gnu@1.0.0-rc.10': + resolution: {integrity: sha512-eOCKUpluKgfObT2pHjztnaWEIbUabWzk3qPZ5PuacuPmr4+JtQG4k2vGTY0H15edaTnicgU428XW/IH6AimcQw==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] libc: [glibc] - "@rolldown/binding-linux-x64-musl@1.0.0-rc.10": - resolution: - { integrity: sha512-Xdf2jQbfQowJnLcgYfD/m0Uu0Qj5OdxKallD78/IPPfzaiaI4KRAwZzHcKQ4ig1gtg1SuzC7jovNiM2TzQsBXA== } - engines: { node: ^20.19.0 || >=22.12.0 } + '@rolldown/binding-linux-x64-musl@1.0.0-rc.10': + resolution: {integrity: sha512-Xdf2jQbfQowJnLcgYfD/m0Uu0Qj5OdxKallD78/IPPfzaiaI4KRAwZzHcKQ4ig1gtg1SuzC7jovNiM2TzQsBXA==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] libc: [musl] - "@rolldown/binding-openharmony-arm64@1.0.0-rc.10": - resolution: - { integrity: sha512-o1hYe8hLi1EY6jgPFyxQgQ1wcycX+qz8eEbVmot2hFkgUzPxy9+kF0u0NIQBeDq+Mko47AkaFFaChcvZa9UX9Q== } - engines: { node: ^20.19.0 || >=22.12.0 } + '@rolldown/binding-openharmony-arm64@1.0.0-rc.10': + resolution: {integrity: sha512-o1hYe8hLi1EY6jgPFyxQgQ1wcycX+qz8eEbVmot2hFkgUzPxy9+kF0u0NIQBeDq+Mko47AkaFFaChcvZa9UX9Q==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [openharmony] - "@rolldown/binding-wasm32-wasi@1.0.0-rc.10": - resolution: - { integrity: sha512-Ugv9o7qYJudqQO5Y5y2N2SOo6S4WiqiNOpuQyoPInnhVzCY+wi/GHltcLHypG9DEUYMB0iTB/huJrpadiAcNcA== } - engines: { node: ">=14.0.0" } + '@rolldown/binding-wasm32-wasi@1.0.0-rc.10': + resolution: {integrity: sha512-Ugv9o7qYJudqQO5Y5y2N2SOo6S4WiqiNOpuQyoPInnhVzCY+wi/GHltcLHypG9DEUYMB0iTB/huJrpadiAcNcA==} + engines: {node: '>=14.0.0'} cpu: [wasm32] - "@rolldown/binding-win32-arm64-msvc@1.0.0-rc.10": - resolution: - { integrity: sha512-7UODQb4fQUNT/vmgDZBl3XOBAIOutP5R3O/rkxg0aLfEGQ4opbCgU5vOw/scPe4xOqBwL9fw7/RP1vAMZ6QlAQ== } - engines: { node: ^20.19.0 || >=22.12.0 } + '@rolldown/binding-win32-arm64-msvc@1.0.0-rc.10': + resolution: {integrity: sha512-7UODQb4fQUNT/vmgDZBl3XOBAIOutP5R3O/rkxg0aLfEGQ4opbCgU5vOw/scPe4xOqBwL9fw7/RP1vAMZ6QlAQ==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [win32] - "@rolldown/binding-win32-x64-msvc@1.0.0-rc.10": - resolution: - { integrity: sha512-PYxKHMVHOb5NJuDL53vBUl1VwUjymDcYI6rzpIni0C9+9mTiJedvUxSk7/RPp7OOAm3v+EjgMu9bIy3N6b408w== } - engines: { node: ^20.19.0 || >=22.12.0 } + '@rolldown/binding-win32-x64-msvc@1.0.0-rc.10': + resolution: {integrity: sha512-PYxKHMVHOb5NJuDL53vBUl1VwUjymDcYI6rzpIni0C9+9mTiJedvUxSk7/RPp7OOAm3v+EjgMu9bIy3N6b408w==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [win32] - "@rolldown/pluginutils@1.0.0-rc.10": - resolution: - { integrity: sha512-UkVDEFk1w3mveXeKgaTuYfKWtPbvgck1dT8TUG3bnccrH0XtLTuAyfCoks4Q/M5ZGToSVJTIQYCzy2g/atAOeg== } + '@rolldown/pluginutils@1.0.0-rc.10': + resolution: {integrity: sha512-UkVDEFk1w3mveXeKgaTuYfKWtPbvgck1dT8TUG3bnccrH0XtLTuAyfCoks4Q/M5ZGToSVJTIQYCzy2g/atAOeg==} - "@rollup/rollup-android-arm-eabi@4.59.0": - resolution: - { integrity: sha512-upnNBkA6ZH2VKGcBj9Fyl9IGNPULcjXRlg0LLeaioQWueH30p6IXtJEbKAgvyv+mJaMxSm1l6xwDXYjpEMiLMg== } + '@rollup/rollup-android-arm-eabi@4.59.0': + resolution: {integrity: sha512-upnNBkA6ZH2VKGcBj9Fyl9IGNPULcjXRlg0LLeaioQWueH30p6IXtJEbKAgvyv+mJaMxSm1l6xwDXYjpEMiLMg==} cpu: [arm] os: [android] - "@rollup/rollup-android-arm64@4.59.0": - resolution: - { integrity: sha512-hZ+Zxj3SySm4A/DylsDKZAeVg0mvi++0PYVceVyX7hemkw7OreKdCvW2oQ3T1FMZvCaQXqOTHb8qmBShoqk69Q== } + '@rollup/rollup-android-arm64@4.59.0': + resolution: {integrity: sha512-hZ+Zxj3SySm4A/DylsDKZAeVg0mvi++0PYVceVyX7hemkw7OreKdCvW2oQ3T1FMZvCaQXqOTHb8qmBShoqk69Q==} cpu: [arm64] os: [android] - "@rollup/rollup-darwin-arm64@4.59.0": - resolution: - { integrity: sha512-W2Psnbh1J8ZJw0xKAd8zdNgF9HRLkdWwwdWqubSVk0pUuQkoHnv7rx4GiF9rT4t5DIZGAsConRE3AxCdJ4m8rg== } + '@rollup/rollup-darwin-arm64@4.59.0': + resolution: {integrity: sha512-W2Psnbh1J8ZJw0xKAd8zdNgF9HRLkdWwwdWqubSVk0pUuQkoHnv7rx4GiF9rT4t5DIZGAsConRE3AxCdJ4m8rg==} cpu: [arm64] os: [darwin] - "@rollup/rollup-darwin-x64@4.59.0": - resolution: - { integrity: sha512-ZW2KkwlS4lwTv7ZVsYDiARfFCnSGhzYPdiOU4IM2fDbL+QGlyAbjgSFuqNRbSthybLbIJ915UtZBtmuLrQAT/w== } + '@rollup/rollup-darwin-x64@4.59.0': + resolution: {integrity: sha512-ZW2KkwlS4lwTv7ZVsYDiARfFCnSGhzYPdiOU4IM2fDbL+QGlyAbjgSFuqNRbSthybLbIJ915UtZBtmuLrQAT/w==} cpu: [x64] os: [darwin] - "@rollup/rollup-freebsd-arm64@4.59.0": - resolution: - { integrity: sha512-EsKaJ5ytAu9jI3lonzn3BgG8iRBjV4LxZexygcQbpiU0wU0ATxhNVEpXKfUa0pS05gTcSDMKpn3Sx+QB9RlTTA== } + '@rollup/rollup-freebsd-arm64@4.59.0': + resolution: {integrity: sha512-EsKaJ5ytAu9jI3lonzn3BgG8iRBjV4LxZexygcQbpiU0wU0ATxhNVEpXKfUa0pS05gTcSDMKpn3Sx+QB9RlTTA==} cpu: [arm64] os: [freebsd] - "@rollup/rollup-freebsd-x64@4.59.0": - resolution: - { integrity: sha512-d3DuZi2KzTMjImrxoHIAODUZYoUUMsuUiY4SRRcJy6NJoZ6iIqWnJu9IScV9jXysyGMVuW+KNzZvBLOcpdl3Vg== } + '@rollup/rollup-freebsd-x64@4.59.0': + resolution: {integrity: sha512-d3DuZi2KzTMjImrxoHIAODUZYoUUMsuUiY4SRRcJy6NJoZ6iIqWnJu9IScV9jXysyGMVuW+KNzZvBLOcpdl3Vg==} cpu: [x64] os: [freebsd] - "@rollup/rollup-linux-arm-gnueabihf@4.59.0": - resolution: - { integrity: sha512-t4ONHboXi/3E0rT6OZl1pKbl2Vgxf9vJfWgmUoCEVQVxhW6Cw/c8I6hbbu7DAvgp82RKiH7TpLwxnJeKv2pbsw== } + '@rollup/rollup-linux-arm-gnueabihf@4.59.0': + resolution: {integrity: sha512-t4ONHboXi/3E0rT6OZl1pKbl2Vgxf9vJfWgmUoCEVQVxhW6Cw/c8I6hbbu7DAvgp82RKiH7TpLwxnJeKv2pbsw==} cpu: [arm] os: [linux] libc: [glibc] - "@rollup/rollup-linux-arm-musleabihf@4.59.0": - resolution: - { integrity: sha512-CikFT7aYPA2ufMD086cVORBYGHffBo4K8MQ4uPS/ZnY54GKj36i196u8U+aDVT2LX4eSMbyHtyOh7D7Zvk2VvA== } + '@rollup/rollup-linux-arm-musleabihf@4.59.0': + resolution: {integrity: sha512-CikFT7aYPA2ufMD086cVORBYGHffBo4K8MQ4uPS/ZnY54GKj36i196u8U+aDVT2LX4eSMbyHtyOh7D7Zvk2VvA==} cpu: [arm] os: [linux] libc: [musl] - "@rollup/rollup-linux-arm64-gnu@4.59.0": - resolution: - { integrity: sha512-jYgUGk5aLd1nUb1CtQ8E+t5JhLc9x5WdBKew9ZgAXg7DBk0ZHErLHdXM24rfX+bKrFe+Xp5YuJo54I5HFjGDAA== } + '@rollup/rollup-linux-arm64-gnu@4.59.0': + resolution: {integrity: sha512-jYgUGk5aLd1nUb1CtQ8E+t5JhLc9x5WdBKew9ZgAXg7DBk0ZHErLHdXM24rfX+bKrFe+Xp5YuJo54I5HFjGDAA==} cpu: [arm64] os: [linux] libc: [glibc] - "@rollup/rollup-linux-arm64-musl@4.59.0": - resolution: - { integrity: sha512-peZRVEdnFWZ5Bh2KeumKG9ty7aCXzzEsHShOZEFiCQlDEepP1dpUl/SrUNXNg13UmZl+gzVDPsiCwnV1uI0RUA== } + '@rollup/rollup-linux-arm64-musl@4.59.0': + resolution: {integrity: sha512-peZRVEdnFWZ5Bh2KeumKG9ty7aCXzzEsHShOZEFiCQlDEepP1dpUl/SrUNXNg13UmZl+gzVDPsiCwnV1uI0RUA==} cpu: [arm64] os: [linux] libc: [musl] - "@rollup/rollup-linux-loong64-gnu@4.59.0": - resolution: - { integrity: sha512-gbUSW/97f7+r4gHy3Jlup8zDG190AuodsWnNiXErp9mT90iCy9NKKU0Xwx5k8VlRAIV2uU9CsMnEFg/xXaOfXg== } + '@rollup/rollup-linux-loong64-gnu@4.59.0': + resolution: {integrity: sha512-gbUSW/97f7+r4gHy3Jlup8zDG190AuodsWnNiXErp9mT90iCy9NKKU0Xwx5k8VlRAIV2uU9CsMnEFg/xXaOfXg==} cpu: [loong64] os: [linux] libc: [glibc] - "@rollup/rollup-linux-loong64-musl@4.59.0": - resolution: - { integrity: sha512-yTRONe79E+o0FWFijasoTjtzG9EBedFXJMl888NBEDCDV9I2wGbFFfJQQe63OijbFCUZqxpHz1GzpbtSFikJ4Q== } + '@rollup/rollup-linux-loong64-musl@4.59.0': + resolution: {integrity: sha512-yTRONe79E+o0FWFijasoTjtzG9EBedFXJMl888NBEDCDV9I2wGbFFfJQQe63OijbFCUZqxpHz1GzpbtSFikJ4Q==} cpu: [loong64] os: [linux] libc: [musl] - "@rollup/rollup-linux-ppc64-gnu@4.59.0": - resolution: - { integrity: sha512-sw1o3tfyk12k3OEpRddF68a1unZ5VCN7zoTNtSn2KndUE+ea3m3ROOKRCZxEpmT9nsGnogpFP9x6mnLTCaoLkA== } + '@rollup/rollup-linux-ppc64-gnu@4.59.0': + resolution: {integrity: sha512-sw1o3tfyk12k3OEpRddF68a1unZ5VCN7zoTNtSn2KndUE+ea3m3ROOKRCZxEpmT9nsGnogpFP9x6mnLTCaoLkA==} cpu: [ppc64] os: [linux] libc: [glibc] - "@rollup/rollup-linux-ppc64-musl@4.59.0": - resolution: - { integrity: sha512-+2kLtQ4xT3AiIxkzFVFXfsmlZiG5FXYW7ZyIIvGA7Bdeuh9Z0aN4hVyXS/G1E9bTP/vqszNIN/pUKCk/BTHsKA== } + '@rollup/rollup-linux-ppc64-musl@4.59.0': + resolution: {integrity: sha512-+2kLtQ4xT3AiIxkzFVFXfsmlZiG5FXYW7ZyIIvGA7Bdeuh9Z0aN4hVyXS/G1E9bTP/vqszNIN/pUKCk/BTHsKA==} cpu: [ppc64] os: [linux] libc: [musl] - "@rollup/rollup-linux-riscv64-gnu@4.59.0": - resolution: - { integrity: sha512-NDYMpsXYJJaj+I7UdwIuHHNxXZ/b/N2hR15NyH3m2qAtb/hHPA4g4SuuvrdxetTdndfj9b1WOmy73kcPRoERUg== } + '@rollup/rollup-linux-riscv64-gnu@4.59.0': + resolution: {integrity: sha512-NDYMpsXYJJaj+I7UdwIuHHNxXZ/b/N2hR15NyH3m2qAtb/hHPA4g4SuuvrdxetTdndfj9b1WOmy73kcPRoERUg==} cpu: [riscv64] os: [linux] libc: [glibc] - "@rollup/rollup-linux-riscv64-musl@4.59.0": - resolution: - { integrity: sha512-nLckB8WOqHIf1bhymk+oHxvM9D3tyPndZH8i8+35p/1YiVoVswPid2yLzgX7ZJP0KQvnkhM4H6QZ5m0LzbyIAg== } + '@rollup/rollup-linux-riscv64-musl@4.59.0': + resolution: {integrity: sha512-nLckB8WOqHIf1bhymk+oHxvM9D3tyPndZH8i8+35p/1YiVoVswPid2yLzgX7ZJP0KQvnkhM4H6QZ5m0LzbyIAg==} cpu: [riscv64] os: [linux] libc: [musl] - "@rollup/rollup-linux-s390x-gnu@4.59.0": - resolution: - { integrity: sha512-oF87Ie3uAIvORFBpwnCvUzdeYUqi2wY6jRFWJAy1qus/udHFYIkplYRW+wo+GRUP4sKzYdmE1Y3+rY5Gc4ZO+w== } + '@rollup/rollup-linux-s390x-gnu@4.59.0': + resolution: {integrity: sha512-oF87Ie3uAIvORFBpwnCvUzdeYUqi2wY6jRFWJAy1qus/udHFYIkplYRW+wo+GRUP4sKzYdmE1Y3+rY5Gc4ZO+w==} cpu: [s390x] os: [linux] libc: [glibc] - "@rollup/rollup-linux-x64-gnu@4.59.0": - resolution: - { integrity: sha512-3AHmtQq/ppNuUspKAlvA8HtLybkDflkMuLK4DPo77DfthRb71V84/c4MlWJXixZz4uruIH4uaa07IqoAkG64fg== } + '@rollup/rollup-linux-x64-gnu@4.59.0': + resolution: {integrity: sha512-3AHmtQq/ppNuUspKAlvA8HtLybkDflkMuLK4DPo77DfthRb71V84/c4MlWJXixZz4uruIH4uaa07IqoAkG64fg==} cpu: [x64] os: [linux] libc: [glibc] - "@rollup/rollup-linux-x64-musl@4.59.0": - resolution: - { integrity: sha512-2UdiwS/9cTAx7qIUZB/fWtToJwvt0Vbo0zmnYt7ED35KPg13Q0ym1g442THLC7VyI6JfYTP4PiSOWyoMdV2/xg== } + '@rollup/rollup-linux-x64-musl@4.59.0': + resolution: {integrity: sha512-2UdiwS/9cTAx7qIUZB/fWtToJwvt0Vbo0zmnYt7ED35KPg13Q0ym1g442THLC7VyI6JfYTP4PiSOWyoMdV2/xg==} cpu: [x64] os: [linux] libc: [musl] - "@rollup/rollup-openbsd-x64@4.59.0": - resolution: - { integrity: sha512-M3bLRAVk6GOwFlPTIxVBSYKUaqfLrn8l0psKinkCFxl4lQvOSz8ZrKDz2gxcBwHFpci0B6rttydI4IpS4IS/jQ== } + '@rollup/rollup-openbsd-x64@4.59.0': + resolution: {integrity: sha512-M3bLRAVk6GOwFlPTIxVBSYKUaqfLrn8l0psKinkCFxl4lQvOSz8ZrKDz2gxcBwHFpci0B6rttydI4IpS4IS/jQ==} cpu: [x64] os: [openbsd] - "@rollup/rollup-openharmony-arm64@4.59.0": - resolution: - { integrity: sha512-tt9KBJqaqp5i5HUZzoafHZX8b5Q2Fe7UjYERADll83O4fGqJ49O1FsL6LpdzVFQcpwvnyd0i+K/VSwu/o/nWlA== } + '@rollup/rollup-openharmony-arm64@4.59.0': + resolution: {integrity: sha512-tt9KBJqaqp5i5HUZzoafHZX8b5Q2Fe7UjYERADll83O4fGqJ49O1FsL6LpdzVFQcpwvnyd0i+K/VSwu/o/nWlA==} cpu: [arm64] os: [openharmony] - "@rollup/rollup-win32-arm64-msvc@4.59.0": - resolution: - { integrity: sha512-V5B6mG7OrGTwnxaNUzZTDTjDS7F75PO1ae6MJYdiMu60sq0CqN5CVeVsbhPxalupvTX8gXVSU9gq+Rx1/hvu6A== } + '@rollup/rollup-win32-arm64-msvc@4.59.0': + resolution: {integrity: sha512-V5B6mG7OrGTwnxaNUzZTDTjDS7F75PO1ae6MJYdiMu60sq0CqN5CVeVsbhPxalupvTX8gXVSU9gq+Rx1/hvu6A==} cpu: [arm64] os: [win32] - "@rollup/rollup-win32-ia32-msvc@4.59.0": - resolution: - { integrity: sha512-UKFMHPuM9R0iBegwzKF4y0C4J9u8C6MEJgFuXTBerMk7EJ92GFVFYBfOZaSGLu6COf7FxpQNqhNS4c4icUPqxA== } + '@rollup/rollup-win32-ia32-msvc@4.59.0': + resolution: {integrity: sha512-UKFMHPuM9R0iBegwzKF4y0C4J9u8C6MEJgFuXTBerMk7EJ92GFVFYBfOZaSGLu6COf7FxpQNqhNS4c4icUPqxA==} cpu: [ia32] os: [win32] - "@rollup/rollup-win32-x64-gnu@4.59.0": - resolution: - { integrity: sha512-laBkYlSS1n2L8fSo1thDNGrCTQMmxjYY5G0WFWjFFYZkKPjsMBsgJfGf4TLxXrF6RyhI60L8TMOjBMvXiTcxeA== } + '@rollup/rollup-win32-x64-gnu@4.59.0': + resolution: {integrity: sha512-laBkYlSS1n2L8fSo1thDNGrCTQMmxjYY5G0WFWjFFYZkKPjsMBsgJfGf4TLxXrF6RyhI60L8TMOjBMvXiTcxeA==} cpu: [x64] os: [win32] - "@rollup/rollup-win32-x64-msvc@4.59.0": - resolution: - { integrity: sha512-2HRCml6OztYXyJXAvdDXPKcawukWY2GpR5/nxKp4iBgiO3wcoEGkAaqctIbZcNB6KlUQBIqt8VYkNSj2397EfA== } + '@rollup/rollup-win32-x64-msvc@4.59.0': + resolution: {integrity: sha512-2HRCml6OztYXyJXAvdDXPKcawukWY2GpR5/nxKp4iBgiO3wcoEGkAaqctIbZcNB6KlUQBIqt8VYkNSj2397EfA==} cpu: [x64] os: [win32] - "@shikijs/engine-oniguruma@3.20.0": - resolution: - { integrity: sha512-Yx3gy7xLzM0ZOjqoxciHjA7dAt5tyzJE3L4uQoM83agahy+PlW244XJSrmJRSBvGYELDhYXPacD4R/cauV5bzQ== } - - "@shikijs/langs@3.20.0": - resolution: - { integrity: sha512-le+bssCxcSHrygCWuOrYJHvjus6zhQ2K7q/0mgjiffRbkhM4o1EWu2m+29l0yEsHDbWaWPNnDUTRVVBvBBeKaA== } - - "@shikijs/themes@3.20.0": - resolution: - { integrity: sha512-U1NSU7Sl26Q7ErRvJUouArxfM2euWqq1xaSrbqMu2iqa+tSp0D1Yah8216sDYbdDHw4C8b75UpE65eWorm2erQ== } - - "@shikijs/types@3.20.0": - resolution: - { integrity: sha512-lhYAATn10nkZcBQ0BlzSbJA3wcmL5MXUUF8d2Zzon6saZDlToKaiRX60n2+ZaHJCmXEcZRWNzn+k9vplr8Jhsw== } - - "@shikijs/vscode-textmate@10.0.2": - resolution: - { integrity: sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg== } - - "@sigstore/bundle@4.0.0": - resolution: - { integrity: sha512-NwCl5Y0V6Di0NexvkTqdoVfmjTaQwoLM236r89KEojGmq/jMls8S+zb7yOwAPdXvbwfKDlP+lmXgAL4vKSQT+A== } - engines: { node: ^20.17.0 || >=22.9.0 } - - "@sigstore/core@3.1.0": - resolution: - { integrity: sha512-o5cw1QYhNQ9IroioJxpzexmPjfCe7gzafd2RY3qnMpxr4ZEja+Jad/U8sgFpaue6bOaF+z7RVkyKVV44FN+N8A== } - engines: { node: ^20.17.0 || >=22.9.0 } - - "@sigstore/protobuf-specs@0.5.0": - resolution: - { integrity: sha512-MM8XIwUjN2bwvCg1QvrMtbBmpcSHrkhFSCu1D11NyPvDQ25HEc4oG5/OcQfd/Tlf/OxmKWERDj0zGE23jQaMwA== } - engines: { node: ^18.17.0 || >=20.5.0 } - - "@sigstore/sign@4.1.0": - resolution: - { integrity: sha512-Vx1RmLxLGnSUqx/o5/VsCjkuN5L7y+vxEEwawvc7u+6WtX2W4GNa7b9HEjmcRWohw/d6BpATXmvOwc78m+Swdg== } - engines: { node: ^20.17.0 || >=22.9.0 } - - "@sigstore/tuf@4.0.1": - resolution: - { integrity: sha512-OPZBg8y5Vc9yZjmWCHrlWPMBqW5yd8+wFNl+thMdtcWz3vjVSoJQutF8YkrzI0SLGnkuFof4HSsWUhXrf219Lw== } - engines: { node: ^20.17.0 || >=22.9.0 } - - "@sigstore/verify@3.1.0": - resolution: - { integrity: sha512-mNe0Iigql08YupSOGv197YdHpPPr+EzDZmfCgMc7RPNaZTw5aLN01nBl6CHJOh3BGtnMIj83EeN4butBchc8Ag== } - engines: { node: ^20.17.0 || >=22.9.0 } - - "@simple-libs/child-process-utils@1.0.2": - resolution: - { integrity: sha512-/4R8QKnd/8agJynkNdJmNw2MBxuFTRcNFnE5Sg/G+jkSsV8/UBgULMzhizWWW42p8L5H7flImV2ATi79Ove2Tw== } - engines: { node: ">=18" } - - "@simple-libs/stream-utils@1.2.0": - resolution: - { integrity: sha512-KxXvfapcixpz6rVEB6HPjOUZT22yN6v0vI0urQSk1L8MlEWPDFCZkhw2xmkyoTGYeFw7tWTZd7e3lVzRZRN/EA== } - engines: { node: ">=18" } - - "@sinclair/typebox@0.34.41": - resolution: - { integrity: sha512-6gS8pZzSXdyRHTIqoqSVknxolr1kzfy4/CeDnrzsVz8TTIWUbOBr6gnzOmTYJ3eXQNh4IYHIGi5aIL7sOZ2G/g== } - - "@sindresorhus/base62@1.0.0": - resolution: - { integrity: sha512-TeheYy0ILzBEI/CO55CP6zJCSdSWeRtGnHy8U8dWSUH4I68iqTsy7HkMktR4xakThc9jotkPQUXT4ITdbV7cHA== } - engines: { node: ">=18" } - - "@sindresorhus/is@4.6.0": - resolution: - { integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw== } - engines: { node: ">=10" } - - "@so-ric/colorspace@1.1.6": - resolution: - { integrity: sha512-/KiKkpHNOBgkFJwu9sh48LkHSMYGyuTcSFK/qMBdnOAlrRJzRSXAOFB5qwzaVQuDl8wAvHVMkaASQDReTahxuw== } - - "@sphinxxxx/color-conversion@2.2.2": - resolution: - { integrity: sha512-XExJS3cLqgrmNBIP3bBw6+1oQ1ksGjFh0+oClDKFYpCCqx/hlqwWO5KO/S63fzUo67SxI9dMrF0y5T/Ey7h8Zw== } - - "@standard-schema/spec@1.1.0": - resolution: - { integrity: sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w== } - - "@stylistic/eslint-plugin@5.10.0": - resolution: - { integrity: sha512-nPK52ZHvot8Ju/0A4ucSX1dcPV2/1clx0kLcH5wDmrE4naKso7TUC/voUyU1O9OTKTrR6MYip6LP0ogEMQ9jPQ== } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + '@shikijs/engine-oniguruma@3.20.0': + resolution: {integrity: sha512-Yx3gy7xLzM0ZOjqoxciHjA7dAt5tyzJE3L4uQoM83agahy+PlW244XJSrmJRSBvGYELDhYXPacD4R/cauV5bzQ==} + + '@shikijs/langs@3.20.0': + resolution: {integrity: sha512-le+bssCxcSHrygCWuOrYJHvjus6zhQ2K7q/0mgjiffRbkhM4o1EWu2m+29l0yEsHDbWaWPNnDUTRVVBvBBeKaA==} + + '@shikijs/themes@3.20.0': + resolution: {integrity: sha512-U1NSU7Sl26Q7ErRvJUouArxfM2euWqq1xaSrbqMu2iqa+tSp0D1Yah8216sDYbdDHw4C8b75UpE65eWorm2erQ==} + + '@shikijs/types@3.20.0': + resolution: {integrity: sha512-lhYAATn10nkZcBQ0BlzSbJA3wcmL5MXUUF8d2Zzon6saZDlToKaiRX60n2+ZaHJCmXEcZRWNzn+k9vplr8Jhsw==} + + '@shikijs/vscode-textmate@10.0.2': + resolution: {integrity: sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==} + + '@sigstore/bundle@4.0.0': + resolution: {integrity: sha512-NwCl5Y0V6Di0NexvkTqdoVfmjTaQwoLM236r89KEojGmq/jMls8S+zb7yOwAPdXvbwfKDlP+lmXgAL4vKSQT+A==} + engines: {node: ^20.17.0 || >=22.9.0} + + '@sigstore/core@3.1.0': + resolution: {integrity: sha512-o5cw1QYhNQ9IroioJxpzexmPjfCe7gzafd2RY3qnMpxr4ZEja+Jad/U8sgFpaue6bOaF+z7RVkyKVV44FN+N8A==} + engines: {node: ^20.17.0 || >=22.9.0} + + '@sigstore/protobuf-specs@0.5.0': + resolution: {integrity: sha512-MM8XIwUjN2bwvCg1QvrMtbBmpcSHrkhFSCu1D11NyPvDQ25HEc4oG5/OcQfd/Tlf/OxmKWERDj0zGE23jQaMwA==} + engines: {node: ^18.17.0 || >=20.5.0} + + '@sigstore/sign@4.1.0': + resolution: {integrity: sha512-Vx1RmLxLGnSUqx/o5/VsCjkuN5L7y+vxEEwawvc7u+6WtX2W4GNa7b9HEjmcRWohw/d6BpATXmvOwc78m+Swdg==} + engines: {node: ^20.17.0 || >=22.9.0} + + '@sigstore/tuf@4.0.1': + resolution: {integrity: sha512-OPZBg8y5Vc9yZjmWCHrlWPMBqW5yd8+wFNl+thMdtcWz3vjVSoJQutF8YkrzI0SLGnkuFof4HSsWUhXrf219Lw==} + engines: {node: ^20.17.0 || >=22.9.0} + + '@sigstore/verify@3.1.0': + resolution: {integrity: sha512-mNe0Iigql08YupSOGv197YdHpPPr+EzDZmfCgMc7RPNaZTw5aLN01nBl6CHJOh3BGtnMIj83EeN4butBchc8Ag==} + engines: {node: ^20.17.0 || >=22.9.0} + + '@simple-libs/child-process-utils@1.0.2': + resolution: {integrity: sha512-/4R8QKnd/8agJynkNdJmNw2MBxuFTRcNFnE5Sg/G+jkSsV8/UBgULMzhizWWW42p8L5H7flImV2ATi79Ove2Tw==} + engines: {node: '>=18'} + + '@simple-libs/stream-utils@1.2.0': + resolution: {integrity: sha512-KxXvfapcixpz6rVEB6HPjOUZT22yN6v0vI0urQSk1L8MlEWPDFCZkhw2xmkyoTGYeFw7tWTZd7e3lVzRZRN/EA==} + engines: {node: '>=18'} + + '@sinclair/typebox@0.34.41': + resolution: {integrity: sha512-6gS8pZzSXdyRHTIqoqSVknxolr1kzfy4/CeDnrzsVz8TTIWUbOBr6gnzOmTYJ3eXQNh4IYHIGi5aIL7sOZ2G/g==} + + '@sindresorhus/base62@1.0.0': + resolution: {integrity: sha512-TeheYy0ILzBEI/CO55CP6zJCSdSWeRtGnHy8U8dWSUH4I68iqTsy7HkMktR4xakThc9jotkPQUXT4ITdbV7cHA==} + engines: {node: '>=18'} + + '@sindresorhus/is@4.6.0': + resolution: {integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==} + engines: {node: '>=10'} + + '@so-ric/colorspace@1.1.6': + resolution: {integrity: sha512-/KiKkpHNOBgkFJwu9sh48LkHSMYGyuTcSFK/qMBdnOAlrRJzRSXAOFB5qwzaVQuDl8wAvHVMkaASQDReTahxuw==} + + '@sphinxxxx/color-conversion@2.2.2': + resolution: {integrity: sha512-XExJS3cLqgrmNBIP3bBw6+1oQ1ksGjFh0+oClDKFYpCCqx/hlqwWO5KO/S63fzUo67SxI9dMrF0y5T/Ey7h8Zw==} + + '@standard-schema/spec@1.1.0': + resolution: {integrity: sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==} + + '@stylistic/eslint-plugin@5.10.0': + resolution: {integrity: sha512-nPK52ZHvot8Ju/0A4ucSX1dcPV2/1clx0kLcH5wDmrE4naKso7TUC/voUyU1O9OTKTrR6MYip6LP0ogEMQ9jPQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^9.0.0 || ^10.0.0 - "@swc/core-darwin-arm64@1.15.18": - resolution: - { integrity: sha512-+mIv7uBuSaywN3C9LNuWaX1jJJ3SKfiJuE6Lr3bd+/1Iv8oMU7oLBjYMluX1UrEPzwN2qCdY6Io0yVicABoCwQ== } - engines: { node: ">=10" } + '@swc/core-darwin-arm64@1.15.18': + resolution: {integrity: sha512-+mIv7uBuSaywN3C9LNuWaX1jJJ3SKfiJuE6Lr3bd+/1Iv8oMU7oLBjYMluX1UrEPzwN2qCdY6Io0yVicABoCwQ==} + engines: {node: '>=10'} cpu: [arm64] os: [darwin] - "@swc/core-darwin-x64@1.15.18": - resolution: - { integrity: sha512-wZle0eaQhnzxWX5V/2kEOI6Z9vl/lTFEC6V4EWcn+5pDjhemCpQv9e/TDJ0GIoiClX8EDWRvuZwh+Z3dhL1NAg== } - engines: { node: ">=10" } + '@swc/core-darwin-x64@1.15.18': + resolution: {integrity: sha512-wZle0eaQhnzxWX5V/2kEOI6Z9vl/lTFEC6V4EWcn+5pDjhemCpQv9e/TDJ0GIoiClX8EDWRvuZwh+Z3dhL1NAg==} + engines: {node: '>=10'} cpu: [x64] os: [darwin] - "@swc/core-linux-arm-gnueabihf@1.15.18": - resolution: - { integrity: sha512-ao61HGXVqrJFHAcPtF4/DegmwEkVCo4HApnotLU8ognfmU8x589z7+tcf3hU+qBiU1WOXV5fQX6W9Nzs6hjxDw== } - engines: { node: ">=10" } + '@swc/core-linux-arm-gnueabihf@1.15.18': + resolution: {integrity: sha512-ao61HGXVqrJFHAcPtF4/DegmwEkVCo4HApnotLU8ognfmU8x589z7+tcf3hU+qBiU1WOXV5fQX6W9Nzs6hjxDw==} + engines: {node: '>=10'} cpu: [arm] os: [linux] - "@swc/core-linux-arm64-gnu@1.15.18": - resolution: - { integrity: sha512-3xnctOBLIq3kj8PxOCgPrGjBLP/kNOddr6f5gukYt/1IZxsITQaU9TDyjeX6jG+FiCIHjCuWuffsyQDL5Ew1bg== } - engines: { node: ">=10" } + '@swc/core-linux-arm64-gnu@1.15.18': + resolution: {integrity: sha512-3xnctOBLIq3kj8PxOCgPrGjBLP/kNOddr6f5gukYt/1IZxsITQaU9TDyjeX6jG+FiCIHjCuWuffsyQDL5Ew1bg==} + engines: {node: '>=10'} cpu: [arm64] os: [linux] libc: [glibc] - "@swc/core-linux-arm64-musl@1.15.18": - resolution: - { integrity: sha512-0a+Lix+FSSHBSBOA0XznCcHo5/1nA6oLLjcnocvzXeqtdjnPb+SvchItHI+lfeiuj1sClYPDvPMLSLyXFaiIKw== } - engines: { node: ">=10" } + '@swc/core-linux-arm64-musl@1.15.18': + resolution: {integrity: sha512-0a+Lix+FSSHBSBOA0XznCcHo5/1nA6oLLjcnocvzXeqtdjnPb+SvchItHI+lfeiuj1sClYPDvPMLSLyXFaiIKw==} + engines: {node: '>=10'} cpu: [arm64] os: [linux] libc: [musl] - "@swc/core-linux-x64-gnu@1.15.18": - resolution: - { integrity: sha512-wG9J8vReUlpaHz4KOD/5UE1AUgirimU4UFT9oZmupUDEofxJKYb1mTA/DrMj0s78bkBiNI+7Fo2EgPuvOJfuAA== } - engines: { node: ">=10" } + '@swc/core-linux-x64-gnu@1.15.18': + resolution: {integrity: sha512-wG9J8vReUlpaHz4KOD/5UE1AUgirimU4UFT9oZmupUDEofxJKYb1mTA/DrMj0s78bkBiNI+7Fo2EgPuvOJfuAA==} + engines: {node: '>=10'} cpu: [x64] os: [linux] libc: [glibc] - "@swc/core-linux-x64-musl@1.15.18": - resolution: - { integrity: sha512-4nwbVvCphKzicwNWRmvD5iBaZj8JYsRGa4xOxJmOyHlMDpsvvJ2OR2cODlvWyGFH6BYL1MfIAK3qph3hp0Az6g== } - engines: { node: ">=10" } + '@swc/core-linux-x64-musl@1.15.18': + resolution: {integrity: sha512-4nwbVvCphKzicwNWRmvD5iBaZj8JYsRGa4xOxJmOyHlMDpsvvJ2OR2cODlvWyGFH6BYL1MfIAK3qph3hp0Az6g==} + engines: {node: '>=10'} cpu: [x64] os: [linux] libc: [musl] - "@swc/core-win32-arm64-msvc@1.15.18": - resolution: - { integrity: sha512-zk0RYO+LjiBCat2RTMHzAWaMky0cra9loH4oRrLKLLNuL+jarxKLFDA8xTZWEkCPLjUTwlRN7d28eDLLMgtUcQ== } - engines: { node: ">=10" } + '@swc/core-win32-arm64-msvc@1.15.18': + resolution: {integrity: sha512-zk0RYO+LjiBCat2RTMHzAWaMky0cra9loH4oRrLKLLNuL+jarxKLFDA8xTZWEkCPLjUTwlRN7d28eDLLMgtUcQ==} + engines: {node: '>=10'} cpu: [arm64] os: [win32] - "@swc/core-win32-ia32-msvc@1.15.18": - resolution: - { integrity: sha512-yVuTrZ0RccD5+PEkpcLOBAuPbYBXS6rslENvIXfvJGXSdX5QGi1ehC4BjAMl5FkKLiam4kJECUI0l7Hq7T1vwg== } - engines: { node: ">=10" } + '@swc/core-win32-ia32-msvc@1.15.18': + resolution: {integrity: sha512-yVuTrZ0RccD5+PEkpcLOBAuPbYBXS6rslENvIXfvJGXSdX5QGi1ehC4BjAMl5FkKLiam4kJECUI0l7Hq7T1vwg==} + engines: {node: '>=10'} cpu: [ia32] os: [win32] - "@swc/core-win32-x64-msvc@1.15.18": - resolution: - { integrity: sha512-7NRmE4hmUQNCbYU3Hn9Tz57mK9Qq4c97ZS+YlamlK6qG9Fb5g/BB3gPDe0iLlJkns/sYv2VWSkm8c3NmbEGjbg== } - engines: { node: ">=10" } + '@swc/core-win32-x64-msvc@1.15.18': + resolution: {integrity: sha512-7NRmE4hmUQNCbYU3Hn9Tz57mK9Qq4c97ZS+YlamlK6qG9Fb5g/BB3gPDe0iLlJkns/sYv2VWSkm8c3NmbEGjbg==} + engines: {node: '>=10'} cpu: [x64] os: [win32] - "@swc/core@1.15.18": - resolution: - { integrity: sha512-z87aF9GphWp//fnkRsqvtY+inMVPgYW3zSlXH1kJFvRT5H/wiAn+G32qW5l3oEk63KSF1x3Ov0BfHCObAmT8RA== } - engines: { node: ">=10" } + '@swc/core@1.15.18': + resolution: {integrity: sha512-z87aF9GphWp//fnkRsqvtY+inMVPgYW3zSlXH1kJFvRT5H/wiAn+G32qW5l3oEk63KSF1x3Ov0BfHCObAmT8RA==} + engines: {node: '>=10'} peerDependencies: - "@swc/helpers": ">=0.5.17" + '@swc/helpers': '>=0.5.17' peerDependenciesMeta: - "@swc/helpers": + '@swc/helpers': optional: true - "@swc/counter@0.1.3": - resolution: - { integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ== } + '@swc/counter@0.1.3': + resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==} - "@swc/types@0.1.25": - resolution: - { integrity: sha512-iAoY/qRhNH8a/hBvm3zKj9qQ4oc2+3w1unPJa2XvTK3XjeLXtzcCingVPw/9e5mn1+0yPqxcBGp9Jf0pkfMb1g== } + '@swc/types@0.1.25': + resolution: {integrity: sha512-iAoY/qRhNH8a/hBvm3zKj9qQ4oc2+3w1unPJa2XvTK3XjeLXtzcCingVPw/9e5mn1+0yPqxcBGp9Jf0pkfMb1g==} - "@szmarczak/http-timer@4.0.6": - resolution: - { integrity: sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w== } - engines: { node: ">=10" } + '@szmarczak/http-timer@4.0.6': + resolution: {integrity: sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==} + engines: {node: '>=10'} - "@tsconfig/node10@1.0.9": - resolution: - { integrity: sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA== } + '@tsconfig/node10@1.0.9': + resolution: {integrity: sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==} - "@tsconfig/node12@1.0.11": - resolution: - { integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag== } + '@tsconfig/node12@1.0.11': + resolution: {integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==} - "@tsconfig/node14@1.0.3": - resolution: - { integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow== } + '@tsconfig/node14@1.0.3': + resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==} - "@tsconfig/node16@1.0.4": - resolution: - { integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA== } + '@tsconfig/node16@1.0.4': + resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==} - "@tsparticles/cli@3.3.8": - resolution: - { integrity: sha512-LNOGKvSeD34mTCWr62WCo6kVZqzZmllDH+OMDzCRzz1Dg6RzmJSx1qi1/sdqveIdtRP+YxEZPva6XswUBw3zRw== } + '@tsparticles/cli@3.3.8': + resolution: {integrity: sha512-LNOGKvSeD34mTCWr62WCo6kVZqzZmllDH+OMDzCRzz1Dg6RzmJSx1qi1/sdqveIdtRP+YxEZPva6XswUBw3zRw==} hasBin: true - "@tsparticles/depcruise-config@3.3.5": - resolution: - { integrity: sha512-Hp/OMURkE521nn9/c8ccYr707zcgMgQ4XRHLvLPPRIQOfri9iRMWuppoXUYD1v/iBBW2JDee7vtjGEST/rLDDg== } + '@tsparticles/depcruise-config@3.3.5': + resolution: {integrity: sha512-Hp/OMURkE521nn9/c8ccYr707zcgMgQ4XRHLvLPPRIQOfri9iRMWuppoXUYD1v/iBBW2JDee7vtjGEST/rLDDg==} peerDependencies: dependency-cruiser: ^17 - "@tsparticles/eslint-config@3.3.5": - resolution: - { integrity: sha512-Uad/9ncxgj/xjg9aX+zuXz91/IivSpWLuIcyrU83qa5RXJE6hFp7kbwQaM2qEqzQBVtyguWBC8ib9PX32+6SIA== } + '@tsparticles/eslint-config@3.3.5': + resolution: {integrity: sha512-Uad/9ncxgj/xjg9aX+zuXz91/IivSpWLuIcyrU83qa5RXJE6hFp7kbwQaM2qEqzQBVtyguWBC8ib9PX32+6SIA==} peerDependencies: eslint: ^10 - "@tsparticles/prettier-config@3.3.5": - resolution: - { integrity: sha512-YS5Cn8PrsDwXAoJHVC+NLJozKx3el7zfxC0HgIpVe/f8kSlmgatH+p4KJKury2xUCpvhQF2R9cjzbZlTF8PrCQ== } + '@tsparticles/prettier-config@3.3.5': + resolution: {integrity: sha512-YS5Cn8PrsDwXAoJHVC+NLJozKx3el7zfxC0HgIpVe/f8kSlmgatH+p4KJKury2xUCpvhQF2R9cjzbZlTF8PrCQ==} peerDependencies: prettier: ^3 - "@tsparticles/tsconfig@3.3.5": - resolution: - { integrity: sha512-DJ/5FBwyj4MubMDNuRfMyeesAlshtzyMex04NFFyLtTixIVr4h4ZewBwC92YKEyyWvoE2cp7HDB4jkThtxSg+g== } + '@tsparticles/tsconfig@3.3.5': + resolution: {integrity: sha512-DJ/5FBwyj4MubMDNuRfMyeesAlshtzyMex04NFFyLtTixIVr4h4ZewBwC92YKEyyWvoE2cp7HDB4jkThtxSg+g==} peerDependencies: typescript: ^5 - "@tsparticles/webpack-plugin@3.3.5": - resolution: - { integrity: sha512-Cvw6tdrDIoi7cb4xZaP3z4od3OMQS6xx7CuWMJGEzx9iZUfJUnf/RrLmLxpGpskTCSEW5DbaKpeAKAGETdMYNw== } + '@tsparticles/webpack-plugin@3.3.5': + resolution: {integrity: sha512-Cvw6tdrDIoi7cb4xZaP3z4od3OMQS6xx7CuWMJGEzx9iZUfJUnf/RrLmLxpGpskTCSEW5DbaKpeAKAGETdMYNw==} + + '@tufjs/canonical-json@2.0.0': + resolution: {integrity: sha512-yVtV8zsdo8qFHe+/3kw81dSLyF7D576A5cCFCi4X7B39tWT7SekaEFUnvnWJHz+9qO7qJTah1JbrDjWKqFtdWA==} + engines: {node: ^16.14.0 || >=18.0.0} - "@tufjs/canonical-json@2.0.0": - resolution: - { integrity: sha512-yVtV8zsdo8qFHe+/3kw81dSLyF7D576A5cCFCi4X7B39tWT7SekaEFUnvnWJHz+9qO7qJTah1JbrDjWKqFtdWA== } - engines: { node: ^16.14.0 || >=18.0.0 } + '@tufjs/models@4.1.0': + resolution: {integrity: sha512-Y8cK9aggNRsqJVaKUlEYs4s7CvQ1b1ta2DVPyAimb0I2qhzjNk+A+mxvll/klL0RlfuIUei8BF7YWiua4kQqww==} + engines: {node: ^20.17.0 || >=22.9.0} - "@tufjs/models@4.1.0": - resolution: - { integrity: sha512-Y8cK9aggNRsqJVaKUlEYs4s7CvQ1b1ta2DVPyAimb0I2qhzjNk+A+mxvll/klL0RlfuIUei8BF7YWiua4kQqww== } - engines: { node: ^20.17.0 || >=22.9.0 } + '@tybys/wasm-util@0.10.1': + resolution: {integrity: sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==} - "@tybys/wasm-util@0.10.1": - resolution: - { integrity: sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg== } + '@tybys/wasm-util@0.9.0': + resolution: {integrity: sha512-6+7nlbMVX/PVDCwaIQ8nTOPveOcFLSt8GcXdx8hD0bt39uWxYT88uXzqTd4fTvqta7oeUJqudepapKNt2DYJFw==} - "@tybys/wasm-util@0.9.0": - resolution: - { integrity: sha512-6+7nlbMVX/PVDCwaIQ8nTOPveOcFLSt8GcXdx8hD0bt39uWxYT88uXzqTd4fTvqta7oeUJqudepapKNt2DYJFw== } + '@types/body-parser@1.19.2': + resolution: {integrity: sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==} - "@types/body-parser@1.19.2": - resolution: - { integrity: sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g== } + '@types/cacheable-request@6.0.3': + resolution: {integrity: sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==} - "@types/cacheable-request@6.0.3": - resolution: - { integrity: sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw== } + '@types/chai@5.2.2': + resolution: {integrity: sha512-8kB30R7Hwqf40JPiKhVzodJs2Qc1ZJ5zuT3uzw5Hq/dhNCl3G3l83jfpdI1e20BP348+fV7VIL/+FxaXkqBmWg==} - "@types/chai@5.2.2": - resolution: - { integrity: sha512-8kB30R7Hwqf40JPiKhVzodJs2Qc1ZJ5zuT3uzw5Hq/dhNCl3G3l83jfpdI1e20BP348+fV7VIL/+FxaXkqBmWg== } + '@types/connect-livereload@0.6.3': + resolution: {integrity: sha512-CaWami/rQdycHKnOR+UIfBNxNeqLC5f1KqMdclbsf+TsiLgXwYm2/+KlAefcR3ODom7Fuz4bvWazDMsmfaV5gw==} - "@types/connect-livereload@0.6.3": - resolution: - { integrity: sha512-CaWami/rQdycHKnOR+UIfBNxNeqLC5f1KqMdclbsf+TsiLgXwYm2/+KlAefcR3ODom7Fuz4bvWazDMsmfaV5gw== } + '@types/connect@3.4.35': + resolution: {integrity: sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==} - "@types/connect@3.4.35": - resolution: - { integrity: sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ== } + '@types/deep-eql@4.0.2': + resolution: {integrity: sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==} - "@types/deep-eql@4.0.2": - resolution: - { integrity: sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw== } + '@types/eslint-scope@3.7.7': + resolution: {integrity: sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==} - "@types/eslint-scope@3.7.7": - resolution: - { integrity: sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg== } + '@types/eslint@8.56.6': + resolution: {integrity: sha512-ymwc+qb1XkjT/gfoQwxIeHZ6ixH23A+tCT2ADSA/DPVKzAjwYkTXBMCQ/f6fe4wEa85Lhp26VPeUxI7wMhAi7A==} - "@types/eslint@8.56.6": - resolution: - { integrity: sha512-ymwc+qb1XkjT/gfoQwxIeHZ6ixH23A+tCT2ADSA/DPVKzAjwYkTXBMCQ/f6fe4wEa85Lhp26VPeUxI7wMhAi7A== } + '@types/esrecurse@4.3.1': + resolution: {integrity: sha512-xJBAbDifo5hpffDBuHl0Y8ywswbiAp/Wi7Y/GtAgSlZyIABppyurxVueOPE8LUQOxdlgi6Zqce7uoEpqNTeiUw==} - "@types/esrecurse@4.3.1": - resolution: - { integrity: sha512-xJBAbDifo5hpffDBuHl0Y8ywswbiAp/Wi7Y/GtAgSlZyIABppyurxVueOPE8LUQOxdlgi6Zqce7uoEpqNTeiUw== } + '@types/estree@1.0.8': + resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} - "@types/estree@1.0.8": - resolution: - { integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w== } + '@types/express-serve-static-core@5.0.0': + resolution: {integrity: sha512-AbXMTZGt40T+KON9/Fdxx0B2WK5hsgxcfXJLr5bFpZ7b4JCex2WyQPTEKdXqfHiY5nKKBScZ7yCoO6Pvgxfvnw==} - "@types/express-serve-static-core@5.0.0": - resolution: - { integrity: sha512-AbXMTZGt40T+KON9/Fdxx0B2WK5hsgxcfXJLr5bFpZ7b4JCex2WyQPTEKdXqfHiY5nKKBScZ7yCoO6Pvgxfvnw== } + '@types/express@5.0.6': + resolution: {integrity: sha512-sKYVuV7Sv9fbPIt/442koC7+IIwK5olP1KWeD88e/idgoJqDm3JV/YUiPwkoKK92ylff2MGxSz1CSjsXelx0YA==} - "@types/express@5.0.6": - resolution: - { integrity: sha512-sKYVuV7Sv9fbPIt/442koC7+IIwK5olP1KWeD88e/idgoJqDm3JV/YUiPwkoKK92ylff2MGxSz1CSjsXelx0YA== } + '@types/hast@3.0.4': + resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==} - "@types/hast@3.0.4": - resolution: - { integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ== } + '@types/http-cache-semantics@4.0.4': + resolution: {integrity: sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==} - "@types/http-cache-semantics@4.0.4": - resolution: - { integrity: sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA== } + '@types/http-errors@2.0.5': + resolution: {integrity: sha512-r8Tayk8HJnX0FztbZN7oVqGccWgw98T/0neJphO91KkmOzug1KkofZURD4UaD5uH8AqcFLfdPErnBod0u71/qg==} - "@types/http-errors@2.0.5": - resolution: - { integrity: sha512-r8Tayk8HJnX0FztbZN7oVqGccWgw98T/0neJphO91KkmOzug1KkofZURD4UaD5uH8AqcFLfdPErnBod0u71/qg== } + '@types/jsdom@28.0.1': + resolution: {integrity: sha512-GJq2QE4TAZ5ajSoCasn5DOFm8u1mI3tIFvM5tIq3W5U/RTB6gsHwc6Yhpl91X9VSDOUVblgXmG+2+sSvFQrdlw==} - "@types/jsdom@28.0.0": - resolution: - { integrity: sha512-A8TBQQC/xAOojy9kM8E46cqT00sF0h7dWjV8t8BJhUi2rG6JRh7XXQo/oLoENuZIQEpXsxLccLCnknyQd7qssQ== } + '@types/json-schema@7.0.15': + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} - "@types/json-schema@7.0.15": - resolution: - { integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA== } + '@types/keyv@3.1.4': + resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==} - "@types/keyv@3.1.4": - resolution: - { integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg== } + '@types/livereload@0.9.5': + resolution: {integrity: sha512-2RXcRKdivPmn67pwjytvHoRv46AeXaLYVUWA0zkel1XSAOH5i71G0KfUdE5u3g80T155gR3Fo3ilVaqparLsVA==} - "@types/livereload@0.9.5": - resolution: - { integrity: sha512-2RXcRKdivPmn67pwjytvHoRv46AeXaLYVUWA0zkel1XSAOH5i71G0KfUdE5u3g80T155gR3Fo3ilVaqparLsVA== } + '@types/luxon@3.7.1': + resolution: {integrity: sha512-H3iskjFIAn5SlJU7OuxUmTEpebK6TKB8rxZShDslBMZJ5u9S//KM1sbdAisiSrqwLQncVjnpi2OK2J51h+4lsg==} - "@types/luxon@3.7.1": - resolution: - { integrity: sha512-H3iskjFIAn5SlJU7OuxUmTEpebK6TKB8rxZShDslBMZJ5u9S//KM1sbdAisiSrqwLQncVjnpi2OK2J51h+4lsg== } - - "@types/mime@1.3.2": - resolution: - { integrity: sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw== } - - "@types/minimist@1.2.2": - resolution: - { integrity: sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ== } - - "@types/node@18.19.45": - resolution: - { integrity: sha512-VZxPKNNhjKmaC1SUYowuXSRSMGyQGmQjvvA1xE4QZ0xce2kLtEhPDS+kqpCPBZYgqblCLQ2DAjSzmgCM5auvhA== } + '@types/mime@1.3.2': + resolution: {integrity: sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==} - "@types/node@24.10.9": - resolution: - { integrity: sha512-ne4A0IpG3+2ETuREInjPNhUGis1SFjv1d5asp8MzEAGtOZeTeHVDOYqOgqfhvseqg/iXty2hjBf1zAOb7RNiNw== } + '@types/minimist@1.2.2': + resolution: {integrity: sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==} - "@types/node@25.5.0": - resolution: - { integrity: sha512-jp2P3tQMSxWugkCUKLRPVUpGaL5MVFwF8RDuSRztfwgN1wmqJeMSbKlnEtQqU8UrhTmzEmZdu2I6v2dpp7XIxw== } + '@types/node@18.19.45': + resolution: {integrity: sha512-VZxPKNNhjKmaC1SUYowuXSRSMGyQGmQjvvA1xE4QZ0xce2kLtEhPDS+kqpCPBZYgqblCLQ2DAjSzmgCM5auvhA==} - "@types/normalize-package-data@2.4.1": - resolution: - { integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw== } + '@types/node@24.10.9': + resolution: {integrity: sha512-ne4A0IpG3+2ETuREInjPNhUGis1SFjv1d5asp8MzEAGtOZeTeHVDOYqOgqfhvseqg/iXty2hjBf1zAOb7RNiNw==} - "@types/qs@6.9.7": - resolution: - { integrity: sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw== } + '@types/node@25.5.0': + resolution: {integrity: sha512-jp2P3tQMSxWugkCUKLRPVUpGaL5MVFwF8RDuSRztfwgN1wmqJeMSbKlnEtQqU8UrhTmzEmZdu2I6v2dpp7XIxw==} - "@types/range-parser@1.2.4": - resolution: - { integrity: sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw== } + '@types/normalize-package-data@2.4.1': + resolution: {integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==} - "@types/responselike@1.0.3": - resolution: - { integrity: sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw== } + '@types/qs@6.9.7': + resolution: {integrity: sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==} - "@types/send@0.17.1": - resolution: - { integrity: sha512-Cwo8LE/0rnvX7kIIa3QHCkcuF21c05Ayb0ZfxPiv0W8VRiZiNW/WuRupHKpqqGVGf7SUA44QSOUKaEd9lIrd/Q== } + '@types/range-parser@1.2.4': + resolution: {integrity: sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==} - "@types/serve-static@2.2.0": - resolution: - { integrity: sha512-8mam4H1NHLtu7nmtalF7eyBH14QyOASmcxHhSfEoRyr0nP/YdoesEtU+uSRvMe96TW/HPTtkoKqQLl53N7UXMQ== } + '@types/responselike@1.0.3': + resolution: {integrity: sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw==} - "@types/stylus@0.48.43": - resolution: - { integrity: sha512-72dv/zdhuyXWVHUXG2VTPEQdOG+oen95/DNFx2aMFFaY6LoITI6PwEqf5x31JF49kp2w9hvUzkNfTGBIeg61LQ== } + '@types/send@0.17.1': + resolution: {integrity: sha512-Cwo8LE/0rnvX7kIIa3QHCkcuF21c05Ayb0ZfxPiv0W8VRiZiNW/WuRupHKpqqGVGf7SUA44QSOUKaEd9lIrd/Q==} - "@types/tough-cookie@4.0.2": - resolution: - { integrity: sha512-Q5vtl1W5ue16D+nIaW8JWebSSraJVlK+EthKn7e7UcD4KWsaSJ8BqGPXNaPghgtcn/fhvrN17Tv8ksUsQpiplw== } + '@types/serve-static@2.2.0': + resolution: {integrity: sha512-8mam4H1NHLtu7nmtalF7eyBH14QyOASmcxHhSfEoRyr0nP/YdoesEtU+uSRvMe96TW/HPTtkoKqQLl53N7UXMQ==} - "@types/triple-beam@1.3.2": - resolution: - { integrity: sha512-txGIh+0eDFzKGC25zORnswy+br1Ha7hj5cMVwKIU7+s0U2AxxJru/jZSMU6OC9MJWP6+pc/hc6ZjyZShpsyY2g== } + '@types/stylus@0.48.43': + resolution: {integrity: sha512-72dv/zdhuyXWVHUXG2VTPEQdOG+oen95/DNFx2aMFFaY6LoITI6PwEqf5x31JF49kp2w9hvUzkNfTGBIeg61LQ==} - "@types/unist@3.0.3": - resolution: - { integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q== } + '@types/tough-cookie@4.0.5': + resolution: {integrity: sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==} - "@types/webpack-env@1.18.8": - resolution: - { integrity: sha512-G9eAoJRMLjcvN4I08wB5I7YofOb/kaJNd5uoCMX+LbKXTPCF+ZIHuqTnFaK9Jz1rgs035f9JUPUhNFtqgucy/A== } + '@types/triple-beam@1.3.2': + resolution: {integrity: sha512-txGIh+0eDFzKGC25zORnswy+br1Ha7hj5cMVwKIU7+s0U2AxxJru/jZSMU6OC9MJWP6+pc/hc6ZjyZShpsyY2g==} - "@types/ws@8.5.4": - resolution: - { integrity: sha512-zdQDHKUgcX/zBc4GrwsE/7dVdAD8JR4EuiAXiiUhhfyIJXXb2+PrGshFyeXWQPMmmZ2XxgaqclgpIC7eTXc1mg== } + '@types/unist@3.0.3': + resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==} - "@types/yauzl@2.10.3": - resolution: - { integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q== } + '@types/webpack-env@1.18.8': + resolution: {integrity: sha512-G9eAoJRMLjcvN4I08wB5I7YofOb/kaJNd5uoCMX+LbKXTPCF+ZIHuqTnFaK9Jz1rgs035f9JUPUhNFtqgucy/A==} - "@typescript-eslint/eslint-plugin@8.57.1": - resolution: - { integrity: sha512-Gn3aqnvNl4NGc6x3/Bqk1AOn0thyTU9bqDRhiRnUWezgvr2OnhYCWCgC8zXXRVqBsIL1pSDt7T9nJUe0oM0kDQ== } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + '@types/ws@8.5.4': + resolution: {integrity: sha512-zdQDHKUgcX/zBc4GrwsE/7dVdAD8JR4EuiAXiiUhhfyIJXXb2+PrGshFyeXWQPMmmZ2XxgaqclgpIC7eTXc1mg==} + + '@types/yauzl@2.10.3': + resolution: {integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==} + + '@typescript-eslint/eslint-plugin@8.57.1': + resolution: {integrity: sha512-Gn3aqnvNl4NGc6x3/Bqk1AOn0thyTU9bqDRhiRnUWezgvr2OnhYCWCgC8zXXRVqBsIL1pSDt7T9nJUe0oM0kDQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - "@typescript-eslint/parser": ^8.57.1 + '@typescript-eslint/parser': ^8.57.1 eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 - typescript: ">=4.8.4 <6.0.0" + typescript: '>=4.8.4 <6.0.0' - "@typescript-eslint/parser@8.57.1": - resolution: - { integrity: sha512-k4eNDan0EIMTT/dUKc/g+rsJ6wcHYhNPdY19VoX/EOtaAG8DLtKCykhrUnuHPYvinn5jhAPgD2Qw9hXBwrahsw== } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + '@typescript-eslint/parser@8.57.1': + resolution: {integrity: sha512-k4eNDan0EIMTT/dUKc/g+rsJ6wcHYhNPdY19VoX/EOtaAG8DLtKCykhrUnuHPYvinn5jhAPgD2Qw9hXBwrahsw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 - typescript: ">=4.8.4 <6.0.0" + typescript: '>=4.8.4 <6.0.0' - "@typescript-eslint/project-service@8.56.1": - resolution: - { integrity: sha512-TAdqQTzHNNvlVFfR+hu2PDJrURiwKsUvxFn1M0h95BB8ah5jejas08jUWG4dBA68jDMI988IvtfdAI53JzEHOQ== } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + '@typescript-eslint/project-service@8.56.1': + resolution: {integrity: sha512-TAdqQTzHNNvlVFfR+hu2PDJrURiwKsUvxFn1M0h95BB8ah5jejas08jUWG4dBA68jDMI988IvtfdAI53JzEHOQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - typescript: ">=4.8.4 <6.0.0" + typescript: '>=4.8.4 <6.0.0' - "@typescript-eslint/project-service@8.57.1": - resolution: - { integrity: sha512-vx1F37BRO1OftsYlmG9xay1TqnjNVlqALymwWVuYTdo18XuKxtBpCj1QlzNIEHlvlB27osvXFWptYiEWsVdYsg== } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + '@typescript-eslint/project-service@8.57.1': + resolution: {integrity: sha512-vx1F37BRO1OftsYlmG9xay1TqnjNVlqALymwWVuYTdo18XuKxtBpCj1QlzNIEHlvlB27osvXFWptYiEWsVdYsg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - typescript: ">=4.8.4 <6.0.0" - - "@typescript-eslint/scope-manager@8.56.1": - resolution: - { integrity: sha512-YAi4VDKcIZp0O4tz/haYKhmIDZFEUPOreKbfdAN3SzUDMcPhJ8QI99xQXqX+HoUVq8cs85eRKnD+rne2UAnj2w== } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } - - "@typescript-eslint/scope-manager@8.57.1": - resolution: - { integrity: sha512-hs/QcpCwlwT2L5S+3fT6gp0PabyGk4Q0Rv2doJXA0435/OpnSR3VRgvrp8Xdoc3UAYSg9cyUjTeFXZEPg/3OKg== } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } - - "@typescript-eslint/tsconfig-utils@8.56.1": - resolution: - { integrity: sha512-qOtCYzKEeyr3aR9f28mPJqBty7+DBqsdd63eO0yyDwc6vgThj2UjWfJIcsFeSucYydqcuudMOprZ+x1SpF3ZuQ== } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + typescript: '>=4.8.4 <6.0.0' + + '@typescript-eslint/scope-manager@8.56.1': + resolution: {integrity: sha512-YAi4VDKcIZp0O4tz/haYKhmIDZFEUPOreKbfdAN3SzUDMcPhJ8QI99xQXqX+HoUVq8cs85eRKnD+rne2UAnj2w==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@typescript-eslint/scope-manager@8.57.1': + resolution: {integrity: sha512-hs/QcpCwlwT2L5S+3fT6gp0PabyGk4Q0Rv2doJXA0435/OpnSR3VRgvrp8Xdoc3UAYSg9cyUjTeFXZEPg/3OKg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@typescript-eslint/tsconfig-utils@8.56.1': + resolution: {integrity: sha512-qOtCYzKEeyr3aR9f28mPJqBty7+DBqsdd63eO0yyDwc6vgThj2UjWfJIcsFeSucYydqcuudMOprZ+x1SpF3ZuQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - typescript: ">=4.8.4 <6.0.0" + typescript: '>=4.8.4 <6.0.0' - "@typescript-eslint/tsconfig-utils@8.57.1": - resolution: - { integrity: sha512-0lgOZB8cl19fHO4eI46YUx2EceQqhgkPSuCGLlGi79L2jwYY1cxeYc1Nae8Aw1xjgW3PKVDLlr3YJ6Bxx8HkWg== } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + '@typescript-eslint/tsconfig-utils@8.57.1': + resolution: {integrity: sha512-0lgOZB8cl19fHO4eI46YUx2EceQqhgkPSuCGLlGi79L2jwYY1cxeYc1Nae8Aw1xjgW3PKVDLlr3YJ6Bxx8HkWg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - typescript: ">=4.8.4 <6.0.0" + typescript: '>=4.8.4 <6.0.0' - "@typescript-eslint/type-utils@8.57.1": - resolution: - { integrity: sha512-+Bwwm0ScukFdyoJsh2u6pp4S9ktegF98pYUU0hkphOOqdMB+1sNQhIz8y5E9+4pOioZijrkfNO/HUJVAFFfPKA== } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + '@typescript-eslint/type-utils@8.57.1': + resolution: {integrity: sha512-+Bwwm0ScukFdyoJsh2u6pp4S9ktegF98pYUU0hkphOOqdMB+1sNQhIz8y5E9+4pOioZijrkfNO/HUJVAFFfPKA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 - typescript: ">=4.8.4 <6.0.0" - - "@typescript-eslint/types@8.56.1": - resolution: - { integrity: sha512-dbMkdIUkIkchgGDIv7KLUpa0Mda4IYjo4IAMJUZ+3xNoUXxMsk9YtKpTHSChRS85o+H9ftm51gsK1dZReY9CVw== } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } - - "@typescript-eslint/types@8.57.0": - resolution: - { integrity: sha512-dTLI8PEXhjUC7B9Kre+u0XznO696BhXcTlOn0/6kf1fHaQW8+VjJAVHJ3eTI14ZapTxdkOmc80HblPQLaEeJdg== } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } - - "@typescript-eslint/types@8.57.1": - resolution: - { integrity: sha512-S29BOBPJSFUiblEl6RzPPjJt6w25A6XsBqRVDt53tA/tlL8q7ceQNZHTjPeONt/3S7KRI4quk+yP9jK2WjBiPQ== } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } - - "@typescript-eslint/typescript-estree@8.56.1": - resolution: - { integrity: sha512-qzUL1qgalIvKWAf9C1HpvBjif+Vm6rcT5wZd4VoMb9+Km3iS3Cv9DY6dMRMDtPnwRAFyAi7YXJpTIEXLvdfPxg== } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + typescript: '>=4.8.4 <6.0.0' + + '@typescript-eslint/types@8.56.1': + resolution: {integrity: sha512-dbMkdIUkIkchgGDIv7KLUpa0Mda4IYjo4IAMJUZ+3xNoUXxMsk9YtKpTHSChRS85o+H9ftm51gsK1dZReY9CVw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@typescript-eslint/types@8.57.0': + resolution: {integrity: sha512-dTLI8PEXhjUC7B9Kre+u0XznO696BhXcTlOn0/6kf1fHaQW8+VjJAVHJ3eTI14ZapTxdkOmc80HblPQLaEeJdg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@typescript-eslint/types@8.57.1': + resolution: {integrity: sha512-S29BOBPJSFUiblEl6RzPPjJt6w25A6XsBqRVDt53tA/tlL8q7ceQNZHTjPeONt/3S7KRI4quk+yP9jK2WjBiPQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@typescript-eslint/typescript-estree@8.56.1': + resolution: {integrity: sha512-qzUL1qgalIvKWAf9C1HpvBjif+Vm6rcT5wZd4VoMb9+Km3iS3Cv9DY6dMRMDtPnwRAFyAi7YXJpTIEXLvdfPxg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - typescript: ">=4.8.4 <6.0.0" + typescript: '>=4.8.4 <6.0.0' - "@typescript-eslint/typescript-estree@8.57.1": - resolution: - { integrity: sha512-ybe2hS9G6pXpqGtPli9Gx9quNV0TWLOmh58ADlmZe9DguLq0tiAKVjirSbtM1szG6+QH6rVXyU6GTLQbWnMY+g== } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + '@typescript-eslint/typescript-estree@8.57.1': + resolution: {integrity: sha512-ybe2hS9G6pXpqGtPli9Gx9quNV0TWLOmh58ADlmZe9DguLq0tiAKVjirSbtM1szG6+QH6rVXyU6GTLQbWnMY+g==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - typescript: ">=4.8.4 <6.0.0" + typescript: '>=4.8.4 <6.0.0' - "@typescript-eslint/utils@8.56.1": - resolution: - { integrity: sha512-HPAVNIME3tABJ61siYlHzSWCGtOoeP2RTIaHXFMPqjrQKCGB9OgUVdiNgH7TJS2JNIQ5qQ4RsAUDuGaGme/KOA== } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + '@typescript-eslint/utils@8.56.1': + resolution: {integrity: sha512-HPAVNIME3tABJ61siYlHzSWCGtOoeP2RTIaHXFMPqjrQKCGB9OgUVdiNgH7TJS2JNIQ5qQ4RsAUDuGaGme/KOA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 - typescript: ">=4.8.4 <6.0.0" + typescript: '>=4.8.4 <6.0.0' - "@typescript-eslint/utils@8.57.1": - resolution: - { integrity: sha512-XUNSJ/lEVFttPMMoDVA2r2bwrl8/oPx8cURtczkSEswY5T3AeLmCy+EKWQNdL4u0MmAHOjcWrqJp2cdvgjn8dQ== } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + '@typescript-eslint/utils@8.57.1': + resolution: {integrity: sha512-XUNSJ/lEVFttPMMoDVA2r2bwrl8/oPx8cURtczkSEswY5T3AeLmCy+EKWQNdL4u0MmAHOjcWrqJp2cdvgjn8dQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 - typescript: ">=4.8.4 <6.0.0" + typescript: '>=4.8.4 <6.0.0' - "@typescript-eslint/visitor-keys@8.56.1": - resolution: - { integrity: sha512-KiROIzYdEV85YygXw6BI/Dx4fnBlFQu6Mq4QE4MOH9fFnhohw6wX/OAvDY2/C+ut0I3RSPKenvZJIVYqJNkhEw== } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + '@typescript-eslint/visitor-keys@8.56.1': + resolution: {integrity: sha512-KiROIzYdEV85YygXw6BI/Dx4fnBlFQu6Mq4QE4MOH9fFnhohw6wX/OAvDY2/C+ut0I3RSPKenvZJIVYqJNkhEw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - "@typescript-eslint/visitor-keys@8.57.1": - resolution: - { integrity: sha512-YWnmJkXbofiz9KbnbbwuA2rpGkFPLbAIetcCNO6mJ8gdhdZ/v7WDXsoGFAJuM6ikUFKTlSQnjWnVO4ux+UzS6A== } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + '@typescript-eslint/visitor-keys@8.57.1': + resolution: {integrity: sha512-YWnmJkXbofiz9KbnbbwuA2rpGkFPLbAIetcCNO6mJ8gdhdZ/v7WDXsoGFAJuM6ikUFKTlSQnjWnVO4ux+UzS6A==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - "@vitest/coverage-v8@4.1.0": - resolution: - { integrity: sha512-nDWulKeik2bL2Va/Wl4x7DLuTKAXa906iRFooIRPR+huHkcvp9QDkPQ2RJdmjOFrqOqvNfoSQLF68deE3xC3CQ== } + '@vitest/coverage-v8@4.1.0': + resolution: {integrity: sha512-nDWulKeik2bL2Va/Wl4x7DLuTKAXa906iRFooIRPR+huHkcvp9QDkPQ2RJdmjOFrqOqvNfoSQLF68deE3xC3CQ==} peerDependencies: - "@vitest/browser": 4.1.0 + '@vitest/browser': 4.1.0 vitest: 4.1.0 peerDependenciesMeta: - "@vitest/browser": + '@vitest/browser': optional: true - "@vitest/expect@4.1.0": - resolution: - { integrity: sha512-EIxG7k4wlWweuCLG9Y5InKFwpMEOyrMb6ZJ1ihYu02LVj/bzUwn2VMU+13PinsjRW75XnITeFrQBMH5+dLvCDA== } + '@vitest/expect@4.1.0': + resolution: {integrity: sha512-EIxG7k4wlWweuCLG9Y5InKFwpMEOyrMb6ZJ1ihYu02LVj/bzUwn2VMU+13PinsjRW75XnITeFrQBMH5+dLvCDA==} - "@vitest/mocker@4.1.0": - resolution: - { integrity: sha512-evxREh+Hork43+Y4IOhTo+h5lGmVRyjqI739Rz4RlUPqwrkFFDF6EMvOOYjTx4E8Tl6gyCLRL8Mu7Ry12a13Tw== } + '@vitest/mocker@4.1.0': + resolution: {integrity: sha512-evxREh+Hork43+Y4IOhTo+h5lGmVRyjqI739Rz4RlUPqwrkFFDF6EMvOOYjTx4E8Tl6gyCLRL8Mu7Ry12a13Tw==} peerDependencies: msw: ^2.4.9 vite: ^6.0.0 || ^7.0.0 || ^8.0.0-0 @@ -4476,225 +4112,177 @@ packages: vite: optional: true - "@vitest/pretty-format@4.1.0": - resolution: - { integrity: sha512-3RZLZlh88Ib0J7NQTRATfc/3ZPOnSUn2uDBUoGNn5T36+bALixmzphN26OUD3LRXWkJu4H0s5vvUeqBiw+kS0A== } + '@vitest/pretty-format@4.1.0': + resolution: {integrity: sha512-3RZLZlh88Ib0J7NQTRATfc/3ZPOnSUn2uDBUoGNn5T36+bALixmzphN26OUD3LRXWkJu4H0s5vvUeqBiw+kS0A==} - "@vitest/runner@4.1.0": - resolution: - { integrity: sha512-Duvx2OzQ7d6OjchL+trw+aSrb9idh7pnNfxrklo14p3zmNL4qPCDeIJAK+eBKYjkIwG96Bc6vYuxhqDXQOWpoQ== } + '@vitest/runner@4.1.0': + resolution: {integrity: sha512-Duvx2OzQ7d6OjchL+trw+aSrb9idh7pnNfxrklo14p3zmNL4qPCDeIJAK+eBKYjkIwG96Bc6vYuxhqDXQOWpoQ==} - "@vitest/snapshot@4.1.0": - resolution: - { integrity: sha512-0Vy9euT1kgsnj1CHttwi9i9o+4rRLEaPRSOJ5gyv579GJkNpgJK+B4HSv/rAWixx2wdAFci1X4CEPjiu2bXIMg== } + '@vitest/snapshot@4.1.0': + resolution: {integrity: sha512-0Vy9euT1kgsnj1CHttwi9i9o+4rRLEaPRSOJ5gyv579GJkNpgJK+B4HSv/rAWixx2wdAFci1X4CEPjiu2bXIMg==} - "@vitest/spy@4.1.0": - resolution: - { integrity: sha512-pz77k+PgNpyMDv2FV6qmk5ZVau6c3R8HC8v342T2xlFxQKTrSeYw9waIJG8KgV9fFwAtTu4ceRzMivPTH6wSxw== } + '@vitest/spy@4.1.0': + resolution: {integrity: sha512-pz77k+PgNpyMDv2FV6qmk5ZVau6c3R8HC8v342T2xlFxQKTrSeYw9waIJG8KgV9fFwAtTu4ceRzMivPTH6wSxw==} - "@vitest/ui@4.1.0": - resolution: - { integrity: sha512-sTSDtVM1GOevRGsCNhp1mBUHKo9Qlc55+HCreFT4fe99AHxl1QQNXSL3uj4Pkjh5yEuWZIx8E2tVC94nnBZECQ== } + '@vitest/ui@4.1.0': + resolution: {integrity: sha512-sTSDtVM1GOevRGsCNhp1mBUHKo9Qlc55+HCreFT4fe99AHxl1QQNXSL3uj4Pkjh5yEuWZIx8E2tVC94nnBZECQ==} peerDependencies: vitest: 4.1.0 - "@vitest/utils@4.1.0": - resolution: - { integrity: sha512-XfPXT6a8TZY3dcGY8EdwsBulFCIw+BeeX0RZn2x/BtiY/75YGh8FeWGG8QISN/WhaqSrE2OrlDgtF8q5uhOTmw== } + '@vitest/utils@4.1.0': + resolution: {integrity: sha512-XfPXT6a8TZY3dcGY8EdwsBulFCIw+BeeX0RZn2x/BtiY/75YGh8FeWGG8QISN/WhaqSrE2OrlDgtF8q5uhOTmw==} - "@webassemblyjs/ast@1.14.1": - resolution: - { integrity: sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ== } + '@webassemblyjs/ast@1.14.1': + resolution: {integrity: sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==} - "@webassemblyjs/floating-point-hex-parser@1.13.2": - resolution: - { integrity: sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA== } + '@webassemblyjs/floating-point-hex-parser@1.13.2': + resolution: {integrity: sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==} - "@webassemblyjs/helper-api-error@1.13.2": - resolution: - { integrity: sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ== } + '@webassemblyjs/helper-api-error@1.13.2': + resolution: {integrity: sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==} - "@webassemblyjs/helper-buffer@1.14.1": - resolution: - { integrity: sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA== } + '@webassemblyjs/helper-buffer@1.14.1': + resolution: {integrity: sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==} - "@webassemblyjs/helper-numbers@1.13.2": - resolution: - { integrity: sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA== } + '@webassemblyjs/helper-numbers@1.13.2': + resolution: {integrity: sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==} - "@webassemblyjs/helper-wasm-bytecode@1.13.2": - resolution: - { integrity: sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA== } + '@webassemblyjs/helper-wasm-bytecode@1.13.2': + resolution: {integrity: sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==} - "@webassemblyjs/helper-wasm-section@1.14.1": - resolution: - { integrity: sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw== } + '@webassemblyjs/helper-wasm-section@1.14.1': + resolution: {integrity: sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==} - "@webassemblyjs/ieee754@1.13.2": - resolution: - { integrity: sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw== } + '@webassemblyjs/ieee754@1.13.2': + resolution: {integrity: sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==} - "@webassemblyjs/leb128@1.13.2": - resolution: - { integrity: sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw== } + '@webassemblyjs/leb128@1.13.2': + resolution: {integrity: sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==} - "@webassemblyjs/utf8@1.13.2": - resolution: - { integrity: sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ== } + '@webassemblyjs/utf8@1.13.2': + resolution: {integrity: sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==} - "@webassemblyjs/wasm-edit@1.14.1": - resolution: - { integrity: sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ== } + '@webassemblyjs/wasm-edit@1.14.1': + resolution: {integrity: sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==} - "@webassemblyjs/wasm-gen@1.14.1": - resolution: - { integrity: sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg== } + '@webassemblyjs/wasm-gen@1.14.1': + resolution: {integrity: sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==} - "@webassemblyjs/wasm-opt@1.14.1": - resolution: - { integrity: sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw== } + '@webassemblyjs/wasm-opt@1.14.1': + resolution: {integrity: sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==} - "@webassemblyjs/wasm-parser@1.14.1": - resolution: - { integrity: sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ== } + '@webassemblyjs/wasm-parser@1.14.1': + resolution: {integrity: sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==} - "@webassemblyjs/wast-printer@1.14.1": - resolution: - { integrity: sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw== } + '@webassemblyjs/wast-printer@1.14.1': + resolution: {integrity: sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==} - "@xtuc/ieee754@1.2.0": - resolution: - { integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA== } + '@xtuc/ieee754@1.2.0': + resolution: {integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==} - "@xtuc/long@4.2.2": - resolution: - { integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== } + '@xtuc/long@4.2.2': + resolution: {integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==} - "@yarnpkg/lockfile@1.1.0": - resolution: - { integrity: sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ== } + '@yarnpkg/lockfile@1.1.0': + resolution: {integrity: sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==} - "@yarnpkg/parsers@3.0.2": - resolution: - { integrity: sha512-/HcYgtUSiJiot/XWGLOlGxPYUG65+/31V8oqk17vZLW1xlCoR4PampyePljOxY2n8/3jz9+tIFzICsyGujJZoA== } - engines: { node: ">=18.12.0" } + '@yarnpkg/parsers@3.0.2': + resolution: {integrity: sha512-/HcYgtUSiJiot/XWGLOlGxPYUG65+/31V8oqk17vZLW1xlCoR4PampyePljOxY2n8/3jz9+tIFzICsyGujJZoA==} + engines: {node: '>=18.12.0'} - "@zkochan/js-yaml@0.0.7": - resolution: - { integrity: sha512-nrUSn7hzt7J6JWgWGz78ZYI8wj+gdIJdk0Ynjpp8l+trkn58Uqsf6RYrYkEK+3X18EX+TNdtJI0WxAtc+L84SQ== } + '@zkochan/js-yaml@0.0.7': + resolution: {integrity: sha512-nrUSn7hzt7J6JWgWGz78ZYI8wj+gdIJdk0Ynjpp8l+trkn58Uqsf6RYrYkEK+3X18EX+TNdtJI0WxAtc+L84SQ==} hasBin: true JSONStream@1.3.5: - resolution: - { integrity: sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ== } + resolution: {integrity: sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==} hasBin: true abbrev@1.1.1: - resolution: - { integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== } + resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==} abbrev@3.0.1: - resolution: - { integrity: sha512-AO2ac6pjRB3SJmGJo+v5/aK6Omggp6fsLrs6wN9bd35ulu4cCwaAU9+7ZhXjeqHVkaHThLuzH0nZr0YpCDhygg== } - engines: { node: ^18.17.0 || >=20.5.0 } + resolution: {integrity: sha512-AO2ac6pjRB3SJmGJo+v5/aK6Omggp6fsLrs6wN9bd35ulu4cCwaAU9+7ZhXjeqHVkaHThLuzH0nZr0YpCDhygg==} + engines: {node: ^18.17.0 || >=20.5.0} abbrev@4.0.0: - resolution: - { integrity: sha512-a1wflyaL0tHtJSmLSOVybYhy22vRih4eduhhrkcjgrWGnRfrZtovJ2FRjxuTtkkj47O/baf0R86QU5OuYpz8fA== } - engines: { node: ^20.17.0 || >=22.9.0 } + resolution: {integrity: sha512-a1wflyaL0tHtJSmLSOVybYhy22vRih4eduhhrkcjgrWGnRfrZtovJ2FRjxuTtkkj47O/baf0R86QU5OuYpz8fA==} + engines: {node: ^20.17.0 || >=22.9.0} abort-controller@3.0.0: - resolution: - { integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg== } - engines: { node: ">=6.5" } + resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==} + engines: {node: '>=6.5'} accepts@2.0.0: - resolution: - { integrity: sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng== } - engines: { node: ">= 0.6" } + resolution: {integrity: sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng==} + engines: {node: '>= 0.6'} ace-builds@1.43.6: - resolution: - { integrity: sha512-L1ddibQ7F3vyXR2k2fg+I8TQTPWVA6CKeDQr/h2+8CeyTp3W6EQL8xNFZRTztuP8xNOAqL3IYPqdzs31GCjDvg== } + resolution: {integrity: sha512-L1ddibQ7F3vyXR2k2fg+I8TQTPWVA6CKeDQr/h2+8CeyTp3W6EQL8xNFZRTztuP8xNOAqL3IYPqdzs31GCjDvg==} acorn-import-phases@1.0.4: - resolution: - { integrity: sha512-wKmbr/DDiIXzEOiWrTTUcDm24kQ2vGfZQvM2fwg2vXqR5uW6aapr7ObPtj1th32b9u90/Pf4AItvdTh42fBmVQ== } - engines: { node: ">=10.13.0" } + resolution: {integrity: sha512-wKmbr/DDiIXzEOiWrTTUcDm24kQ2vGfZQvM2fwg2vXqR5uW6aapr7ObPtj1th32b9u90/Pf4AItvdTh42fBmVQ==} + engines: {node: '>=10.13.0'} peerDependencies: acorn: ^8.14.0 acorn-jsx-walk@2.0.0: - resolution: - { integrity: sha512-uuo6iJj4D4ygkdzd6jPtcxs8vZgDX9YFIkqczGImoypX2fQ4dVImmu3UzA4ynixCIMTrEOWW+95M2HuBaCEOVA== } + resolution: {integrity: sha512-uuo6iJj4D4ygkdzd6jPtcxs8vZgDX9YFIkqczGImoypX2fQ4dVImmu3UzA4ynixCIMTrEOWW+95M2HuBaCEOVA==} acorn-jsx@5.3.2: - resolution: - { integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== } + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 acorn-loose@8.5.2: - resolution: - { integrity: sha512-PPvV6g8UGMGgjrMu+n/f9E/tCSkNQ2Y97eFvuVdJfG11+xdIeDcLyNdC8SHcrHbRqkfwLASdplyR6B6sKM1U4A== } - engines: { node: ">=0.4.0" } + resolution: {integrity: sha512-PPvV6g8UGMGgjrMu+n/f9E/tCSkNQ2Y97eFvuVdJfG11+xdIeDcLyNdC8SHcrHbRqkfwLASdplyR6B6sKM1U4A==} + engines: {node: '>=0.4.0'} acorn-walk@8.2.0: - resolution: - { integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA== } - engines: { node: ">=0.4.0" } + resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==} + engines: {node: '>=0.4.0'} acorn-walk@8.3.4: - resolution: - { integrity: sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g== } - engines: { node: ">=0.4.0" } + resolution: {integrity: sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==} + engines: {node: '>=0.4.0'} acorn-walk@8.3.5: - resolution: - { integrity: sha512-HEHNfbars9v4pgpW6SO1KSPkfoS0xVOM/9UzkJltjlsHZmJasxg8aXkuZa7SMf8vKGIBhpUsPluQSqhJFCqebw== } - engines: { node: ">=0.4.0" } + resolution: {integrity: sha512-HEHNfbars9v4pgpW6SO1KSPkfoS0xVOM/9UzkJltjlsHZmJasxg8aXkuZa7SMf8vKGIBhpUsPluQSqhJFCqebw==} + engines: {node: '>=0.4.0'} acorn@7.4.1: - resolution: - { integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== } - engines: { node: ">=0.4.0" } + resolution: {integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==} + engines: {node: '>=0.4.0'} hasBin: true acorn@8.10.0: - resolution: - { integrity: sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw== } - engines: { node: ">=0.4.0" } + resolution: {integrity: sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==} + engines: {node: '>=0.4.0'} hasBin: true acorn@8.15.0: - resolution: - { integrity: sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg== } - engines: { node: ">=0.4.0" } + resolution: {integrity: sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==} + engines: {node: '>=0.4.0'} hasBin: true acorn@8.16.0: - resolution: - { integrity: sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw== } - engines: { node: ">=0.4.0" } + resolution: {integrity: sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==} + engines: {node: '>=0.4.0'} hasBin: true add-stream@1.0.0: - resolution: - { integrity: sha512-qQLMr+8o0WC4FZGQTcJiKBVC59JylcPSrTtk6usvmIDFUOCKegapy1VHQwRbFMOFyb/inzUVqHs+eMYKDM1YeQ== } + resolution: {integrity: sha512-qQLMr+8o0WC4FZGQTcJiKBVC59JylcPSrTtk6usvmIDFUOCKegapy1VHQwRbFMOFyb/inzUVqHs+eMYKDM1YeQ==} agent-base@7.1.3: - resolution: - { integrity: sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw== } - engines: { node: ">= 14" } + resolution: {integrity: sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw==} + engines: {node: '>= 14'} aggregate-error@3.1.0: - resolution: - { integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA== } - engines: { node: ">=8" } + resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} + engines: {node: '>=8'} ajv-formats@2.1.1: - resolution: - { integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA== } + resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} peerDependencies: ajv: ^8.0.0 peerDependenciesMeta: @@ -4702,759 +4290,605 @@ packages: optional: true ajv-keywords@5.1.0: - resolution: - { integrity: sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw== } + resolution: {integrity: sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==} peerDependencies: ajv: ^8.8.2 ajv@6.12.6: - resolution: - { integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== } + resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} ajv@6.14.0: - resolution: - { integrity: sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw== } + resolution: {integrity: sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw==} ajv@8.18.0: - resolution: - { integrity: sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A== } + resolution: {integrity: sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==} ansi-colors@4.1.3: - resolution: - { integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw== } - engines: { node: ">=6" } + resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} + engines: {node: '>=6'} ansi-regex@5.0.1: - resolution: - { integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== } - engines: { node: ">=8" } + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} ansi-regex@6.0.1: - resolution: - { integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA== } - engines: { node: ">=12" } + resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} + engines: {node: '>=12'} ansi-styles@4.3.0: - resolution: - { integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== } - engines: { node: ">=8" } + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} ansi-styles@5.2.0: - resolution: - { integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== } - engines: { node: ">=10" } + resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} + engines: {node: '>=10'} ansi-styles@6.2.3: - resolution: - { integrity: sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg== } - engines: { node: ">=12" } + resolution: {integrity: sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==} + engines: {node: '>=12'} anymatch@3.1.3: - resolution: - { integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== } - engines: { node: ">= 8" } + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} aproba@2.0.0: - resolution: - { integrity: sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ== } + resolution: {integrity: sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==} are-docs-informative@0.0.2: - resolution: - { integrity: sha512-ixiS0nLNNG5jNQzgZJNoUpBKdo9yTYZMGJ+QgT2jmjR7G7+QHRCc4v6LQ3NgE7EBJq+o0ams3waJwkrlBom8Ig== } - engines: { node: ">=14" } + resolution: {integrity: sha512-ixiS0nLNNG5jNQzgZJNoUpBKdo9yTYZMGJ+QgT2jmjR7G7+QHRCc4v6LQ3NgE7EBJq+o0ams3waJwkrlBom8Ig==} + engines: {node: '>=14'} arg@4.1.3: - resolution: - { integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== } + resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} argparse@1.0.10: - resolution: - { integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== } + resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} argparse@2.0.1: - resolution: - { integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== } + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} array-ify@1.0.0: - resolution: - { integrity: sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng== } + resolution: {integrity: sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==} array-union@2.1.0: - resolution: - { integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== } - engines: { node: ">=8" } + resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} + engines: {node: '>=8'} arrify@1.0.1: - resolution: - { integrity: sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA== } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==} + engines: {node: '>=0.10.0'} asap@2.0.6: - resolution: - { integrity: sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA== } + resolution: {integrity: sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==} assert-never@1.3.0: - resolution: - { integrity: sha512-9Z3vxQ+berkL/JJo0dK+EY3Lp0s3NtSnP3VCLsh5HDcZPrh0M+KQRK5sWhUeyPPH+/RCxZqOxLMR+YC6vlviEQ== } + resolution: {integrity: sha512-9Z3vxQ+berkL/JJo0dK+EY3Lp0s3NtSnP3VCLsh5HDcZPrh0M+KQRK5sWhUeyPPH+/RCxZqOxLMR+YC6vlviEQ==} ast-v8-to-istanbul@1.0.0: - resolution: - { integrity: sha512-1fSfIwuDICFA4LKkCzRPO7F0hzFf0B7+Xqrl27ynQaa+Rh0e1Es0v6kWHPott3lU10AyAr7oKHa65OppjLn3Rg== } + resolution: {integrity: sha512-1fSfIwuDICFA4LKkCzRPO7F0hzFf0B7+Xqrl27ynQaa+Rh0e1Es0v6kWHPott3lU10AyAr7oKHa65OppjLn3Rg==} async@3.2.4: - resolution: - { integrity: sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ== } + resolution: {integrity: sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==} asynckit@0.4.0: - resolution: - { integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== } + resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} axios@1.13.2: - resolution: - { integrity: sha512-VPk9ebNqPcy5lRGuSlKx752IlDatOjT9paPlm8A7yOuW2Fbvp4X3JznJtT4f0GzGLLiWE9W8onz51SqLYwzGaA== } + resolution: {integrity: sha512-VPk9ebNqPcy5lRGuSlKx752IlDatOjT9paPlm8A7yOuW2Fbvp4X3JznJtT4f0GzGLLiWE9W8onz51SqLYwzGaA==} babel-walk@3.0.0-canary-5: - resolution: - { integrity: sha512-GAwkz0AihzY5bkwIY5QDR+LvsRQgB/B+1foMPvi0FZPMl5fjD7ICiznUiBdLYMH1QYe6vqu4gWYytZOccLouFw== } - engines: { node: ">= 10.0.0" } + resolution: {integrity: sha512-GAwkz0AihzY5bkwIY5QDR+LvsRQgB/B+1foMPvi0FZPMl5fjD7ICiznUiBdLYMH1QYe6vqu4gWYytZOccLouFw==} + engines: {node: '>= 10.0.0'} balanced-match@1.0.2: - resolution: - { integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== } + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} balanced-match@4.0.3: - resolution: - { integrity: sha512-1pHv8LX9CpKut1Zp4EXey7Z8OfH11ONNH6Dhi2WDUt31VVZFXZzKwXcysBgqSumFCmR+0dqjMK5v5JiFHzi0+g== } - engines: { node: 20 || >=22 } + resolution: {integrity: sha512-1pHv8LX9CpKut1Zp4EXey7Z8OfH11ONNH6Dhi2WDUt31VVZFXZzKwXcysBgqSumFCmR+0dqjMK5v5JiFHzi0+g==} + engines: {node: 20 || >=22} base64-js@1.5.1: - resolution: - { integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== } + resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} baseline-browser-mapping@2.9.11: - resolution: - { integrity: sha512-Sg0xJUNDU1sJNGdfGWhVHX0kkZ+HWcvmVymJbj6NSgZZmW/8S9Y2HQ5euytnIgakgxN6papOAWiwDo1ctFDcoQ== } + resolution: {integrity: sha512-Sg0xJUNDU1sJNGdfGWhVHX0kkZ+HWcvmVymJbj6NSgZZmW/8S9Y2HQ5euytnIgakgxN6papOAWiwDo1ctFDcoQ==} hasBin: true before-after-hook@2.2.3: - resolution: - { integrity: sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ== } + resolution: {integrity: sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==} bidi-js@1.0.3: - resolution: - { integrity: sha512-RKshQI1R3YQ+n9YJz2QQ147P66ELpa1FQEg20Dk8oW9t2KgLbpDLLp9aGZ7y8WHSshDknG0bknqGw5/tyCs5tw== } + resolution: {integrity: sha512-RKshQI1R3YQ+n9YJz2QQ147P66ELpa1FQEg20Dk8oW9t2KgLbpDLLp9aGZ7y8WHSshDknG0bknqGw5/tyCs5tw==} bin-links@5.0.0: - resolution: - { integrity: sha512-sdleLVfCjBtgO5cNjA2HVRvWBJAHs4zwenaCPMNJAJU0yNxpzj80IpjOIimkpkr+mhlA+how5poQtt53PygbHA== } - engines: { node: ^18.17.0 || >=20.5.0 } + resolution: {integrity: sha512-sdleLVfCjBtgO5cNjA2HVRvWBJAHs4zwenaCPMNJAJU0yNxpzj80IpjOIimkpkr+mhlA+how5poQtt53PygbHA==} + engines: {node: ^18.17.0 || >=20.5.0} binary-extensions@2.2.0: - resolution: - { integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== } - engines: { node: ">=8" } + resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} + engines: {node: '>=8'} bl@4.1.0: - resolution: - { integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w== } + resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} body-parser@2.2.1: - resolution: - { integrity: sha512-nfDwkulwiZYQIGwxdy0RUmowMhKcFVcYXUU7m4QlKYim1rUtg83xm2yjZ40QjDuc291AJjjeSc9b++AWHSgSHw== } - engines: { node: ">=18" } + resolution: {integrity: sha512-nfDwkulwiZYQIGwxdy0RUmowMhKcFVcYXUU7m4QlKYim1rUtg83xm2yjZ40QjDuc291AJjjeSc9b++AWHSgSHw==} + engines: {node: '>=18'} boolbase@1.0.0: - resolution: - { integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww== } + resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} boolean@3.2.0: - resolution: - { integrity: sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw== } + resolution: {integrity: sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==} deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. bootstrap@5.3.8: - resolution: - { integrity: sha512-HP1SZDqaLDPwsNiqRqi5NcP0SSXciX2s9E+RyqJIIqGo+vJeN5AJVM98CXmW/Wux0nQ5L7jeWUdplCEf0Ee+tg== } + resolution: {integrity: sha512-HP1SZDqaLDPwsNiqRqi5NcP0SSXciX2s9E+RyqJIIqGo+vJeN5AJVM98CXmW/Wux0nQ5L7jeWUdplCEf0Ee+tg==} peerDependencies: - "@popperjs/core": ^2.11.8 + '@popperjs/core': ^2.11.8 brace-expansion@1.1.11: - resolution: - { integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== } + resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} brace-expansion@2.0.1: - resolution: - { integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== } + resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} brace-expansion@5.0.2: - resolution: - { integrity: sha512-Pdk8c9poy+YhOgVWw1JNN22/HcivgKWwpxKq04M/jTmHyCZn12WPJebZxdjSa5TmBqISrUSgNYU3eRORljfCCw== } - engines: { node: 20 || >=22 } + resolution: {integrity: sha512-Pdk8c9poy+YhOgVWw1JNN22/HcivgKWwpxKq04M/jTmHyCZn12WPJebZxdjSa5TmBqISrUSgNYU3eRORljfCCw==} + engines: {node: 20 || >=22} braces@3.0.2: - resolution: - { integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== } - engines: { node: ">=8" } + resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} + engines: {node: '>=8'} browser-or-node@3.0.0: - resolution: - { integrity: sha512-iczIdVJzGEYhP5DqQxYM9Hh7Ztpqqi+CXZpSmX8ALFs9ecXkQIeqRyM6TfxEfMVpwhl3dSuDvxdzzo9sUOIVBQ== } + resolution: {integrity: sha512-iczIdVJzGEYhP5DqQxYM9Hh7Ztpqqi+CXZpSmX8ALFs9ecXkQIeqRyM6TfxEfMVpwhl3dSuDvxdzzo9sUOIVBQ==} browserslist@4.28.1: - resolution: - { integrity: sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA== } - engines: { node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7 } + resolution: {integrity: sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true buffer-crc32@0.2.13: - resolution: - { integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ== } + resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} buffer-from@1.1.2: - resolution: - { integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== } + resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} buffer@5.7.1: - resolution: - { integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== } + resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} byte-size@8.1.1: - resolution: - { integrity: sha512-tUkzZWK0M/qdoLEqikxBWe4kumyuwjl3HO6zHTr4yEI23EojPtLYXdG1+AQY7MN0cGyNDvEaJ8wiYQm6P2bPxg== } - engines: { node: ">=12.17" } + resolution: {integrity: sha512-tUkzZWK0M/qdoLEqikxBWe4kumyuwjl3HO6zHTr4yEI23EojPtLYXdG1+AQY7MN0cGyNDvEaJ8wiYQm6P2bPxg==} + engines: {node: '>=12.17'} bytes@3.1.2: - resolution: - { integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== } - engines: { node: ">= 0.8" } + resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} + engines: {node: '>= 0.8'} cacache@20.0.3: - resolution: - { integrity: sha512-3pUp4e8hv07k1QlijZu6Kn7c9+ZpWWk4j3F8N3xPuCExULobqJydKYOTj1FTq58srkJsXvO7LbGAH4C0ZU3WGw== } - engines: { node: ^20.17.0 || >=22.9.0 } + resolution: {integrity: sha512-3pUp4e8hv07k1QlijZu6Kn7c9+ZpWWk4j3F8N3xPuCExULobqJydKYOTj1FTq58srkJsXvO7LbGAH4C0ZU3WGw==} + engines: {node: ^20.17.0 || >=22.9.0} cacheable-lookup@5.0.4: - resolution: - { integrity: sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA== } - engines: { node: ">=10.6.0" } + resolution: {integrity: sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==} + engines: {node: '>=10.6.0'} cacheable-request@7.0.4: - resolution: - { integrity: sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg== } - engines: { node: ">=8" } + resolution: {integrity: sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg==} + engines: {node: '>=8'} call-bind-apply-helpers@1.0.2: - resolution: - { integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ== } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==} + engines: {node: '>= 0.4'} call-bind@1.0.7: - resolution: - { integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w== } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==} + engines: {node: '>= 0.4'} call-bound@1.0.4: - resolution: - { integrity: sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg== } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==} + engines: {node: '>= 0.4'} callsites@3.1.0: - resolution: - { integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== } - engines: { node: ">=6" } + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} + engines: {node: '>=6'} camelcase-keys@6.2.2: - resolution: - { integrity: sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg== } - engines: { node: ">=8" } + resolution: {integrity: sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==} + engines: {node: '>=8'} camelcase@5.3.1: - resolution: - { integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== } - engines: { node: ">=6" } + resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} + engines: {node: '>=6'} caniuse-lite@1.0.30001761: - resolution: - { integrity: sha512-JF9ptu1vP2coz98+5051jZ4PwQgd2ni8A+gYSN7EA7dPKIMf0pDlSUxhdmVOaV3/fYK5uWBkgSXJaRLr4+3A6g== } + resolution: {integrity: sha512-JF9ptu1vP2coz98+5051jZ4PwQgd2ni8A+gYSN7EA7dPKIMf0pDlSUxhdmVOaV3/fYK5uWBkgSXJaRLr4+3A6g==} canvas@3.2.1: - resolution: - { integrity: sha512-ej1sPFR5+0YWtaVp6S1N1FVz69TQCqmrkGeRvQxZeAB1nAIcjNTHVwrZtYtWFFBmQsF40/uDLehsW5KuYC99mg== } - engines: { node: ^18.12.0 || >= 20.9.0 } + resolution: {integrity: sha512-ej1sPFR5+0YWtaVp6S1N1FVz69TQCqmrkGeRvQxZeAB1nAIcjNTHVwrZtYtWFFBmQsF40/uDLehsW5KuYC99mg==} + engines: {node: ^18.12.0 || >= 20.9.0} chai@6.2.2: - resolution: - { integrity: sha512-NUPRluOfOiTKBKvWPtSD4PhFvWCqOi0BGStNWs57X9js7XGTprSmFoz5F0tWhR4WPjNeR9jXqdC7/UpSJTnlRg== } - engines: { node: ">=18" } + resolution: {integrity: sha512-NUPRluOfOiTKBKvWPtSD4PhFvWCqOi0BGStNWs57X9js7XGTprSmFoz5F0tWhR4WPjNeR9jXqdC7/UpSJTnlRg==} + engines: {node: '>=18'} chalk@4.1.0: - resolution: - { integrity: sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A== } - engines: { node: ">=10" } + resolution: {integrity: sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==} + engines: {node: '>=10'} chalk@4.1.2: - resolution: - { integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== } - engines: { node: ">=10" } + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} character-parser@2.2.0: - resolution: - { integrity: sha512-+UqJQjFEFaTAs3bNsF2j2kEN1baG/zghZbdqoYEDxGZtJo9LBzl1A+m0D4n3qKx8N2FNv8/Xp6yV9mQmBuptaw== } + resolution: {integrity: sha512-+UqJQjFEFaTAs3bNsF2j2kEN1baG/zghZbdqoYEDxGZtJo9LBzl1A+m0D4n3qKx8N2FNv8/Xp6yV9mQmBuptaw==} chardet@2.1.1: - resolution: - { integrity: sha512-PsezH1rqdV9VvyNhxxOW32/d75r01NY7TQCmOqomRo15ZSOKbpTFVsfjghxo6JloQUCGnH4k1LGu0R4yCLlWQQ== } + resolution: {integrity: sha512-PsezH1rqdV9VvyNhxxOW32/d75r01NY7TQCmOqomRo15ZSOKbpTFVsfjghxo6JloQUCGnH4k1LGu0R4yCLlWQQ==} chokidar@3.5.3: - resolution: - { integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== } - engines: { node: ">= 8.10.0" } + resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} + engines: {node: '>= 8.10.0'} chokidar@4.0.3: - resolution: - { integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA== } - engines: { node: ">= 14.16.0" } + resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==} + engines: {node: '>= 14.16.0'} chownr@1.1.4: - resolution: - { integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== } + resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==} chownr@2.0.0: - resolution: - { integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ== } - engines: { node: ">=10" } + resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==} + engines: {node: '>=10'} chownr@3.0.0: - resolution: - { integrity: sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g== } - engines: { node: ">=18" } + resolution: {integrity: sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==} + engines: {node: '>=18'} chrome-trace-event@1.0.3: - resolution: - { integrity: sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg== } - engines: { node: ">=6.0" } + resolution: {integrity: sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==} + engines: {node: '>=6.0'} ci-info@3.8.0: - resolution: - { integrity: sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw== } - engines: { node: ">=8" } + resolution: {integrity: sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==} + engines: {node: '>=8'} ci-info@4.3.1: - resolution: - { integrity: sha512-Wdy2Igu8OcBpI2pZePZ5oWjPC38tmDVx5WKUXKwlLYkA0ozo85sLsLvkBbBn/sZaSCMFOGZJ14fvW9t5/d7kdA== } - engines: { node: ">=8" } + resolution: {integrity: sha512-Wdy2Igu8OcBpI2pZePZ5oWjPC38tmDVx5WKUXKwlLYkA0ozo85sLsLvkBbBn/sZaSCMFOGZJ14fvW9t5/d7kdA==} + engines: {node: '>=8'} clean-css@5.3.3: - resolution: - { integrity: sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg== } - engines: { node: ">= 10.0" } + resolution: {integrity: sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg==} + engines: {node: '>= 10.0'} clean-stack@2.2.0: - resolution: - { integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== } - engines: { node: ">=6" } + resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} + engines: {node: '>=6'} cli-cursor@3.1.0: - resolution: - { integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== } - engines: { node: ">=8" } + resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} + engines: {node: '>=8'} cli-spinners@2.6.1: - resolution: - { integrity: sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g== } - engines: { node: ">=6" } + resolution: {integrity: sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==} + engines: {node: '>=6'} cli-spinners@2.9.0: - resolution: - { integrity: sha512-4/aL9X3Wh0yiMQlE+eeRhWP6vclO3QRtw1JHKIT0FFUs5FjpFmESqtMvYZ0+lbzBw900b95mS0hohy+qn2VK/g== } - engines: { node: ">=6" } + resolution: {integrity: sha512-4/aL9X3Wh0yiMQlE+eeRhWP6vclO3QRtw1JHKIT0FFUs5FjpFmESqtMvYZ0+lbzBw900b95mS0hohy+qn2VK/g==} + engines: {node: '>=6'} cli-width@4.1.0: - resolution: - { integrity: sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ== } - engines: { node: ">= 12" } + resolution: {integrity: sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==} + engines: {node: '>= 12'} cliui@7.0.4: - resolution: - { integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== } + resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==} cliui@8.0.1: - resolution: - { integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ== } - engines: { node: ">=12" } + resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} + engines: {node: '>=12'} cliui@9.0.1: - resolution: - { integrity: sha512-k7ndgKhwoQveBL+/1tqGJYNz097I7WOvwbmmU2AR5+magtbjPWQTS1C5vzGkBC8Ym8UWRzfKUzUUqFLypY4Q+w== } - engines: { node: ">=20" } + resolution: {integrity: sha512-k7ndgKhwoQveBL+/1tqGJYNz097I7WOvwbmmU2AR5+magtbjPWQTS1C5vzGkBC8Ym8UWRzfKUzUUqFLypY4Q+w==} + engines: {node: '>=20'} clone-deep@4.0.1: - resolution: - { integrity: sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ== } - engines: { node: ">=6" } + resolution: {integrity: sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==} + engines: {node: '>=6'} clone-response@1.0.3: - resolution: - { integrity: sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA== } + resolution: {integrity: sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==} clone@1.0.4: - resolution: - { integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg== } - engines: { node: ">=0.8" } + resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} + engines: {node: '>=0.8'} cmd-shim@6.0.3: - resolution: - { integrity: sha512-FMabTRlc5t5zjdenF6mS0MBeFZm0XqHqeOkcskKFb/LYCcRQ5fVgLOHVc4Lq9CqABd9zhjwPjMBCJvMCziSVtA== } - engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } + resolution: {integrity: sha512-FMabTRlc5t5zjdenF6mS0MBeFZm0XqHqeOkcskKFb/LYCcRQ5fVgLOHVc4Lq9CqABd9zhjwPjMBCJvMCziSVtA==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} cmd-shim@7.0.0: - resolution: - { integrity: sha512-rtpaCbr164TPPh+zFdkWpCyZuKkjpAzODfaZCf/SVJZzJN+4bHQb/LP3Jzq5/+84um3XXY8r548XiWKSborwVw== } - engines: { node: ^18.17.0 || >=20.5.0 } + resolution: {integrity: sha512-rtpaCbr164TPPh+zFdkWpCyZuKkjpAzODfaZCf/SVJZzJN+4bHQb/LP3Jzq5/+84um3XXY8r548XiWKSborwVw==} + engines: {node: ^18.17.0 || >=20.5.0} color-convert@2.0.1: - resolution: - { integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== } - engines: { node: ">=7.0.0" } + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} color-convert@3.1.3: - resolution: - { integrity: sha512-fasDH2ont2GqF5HpyO4w0+BcewlhHEZOFn9c1ckZdHpJ56Qb7MHhH/IcJZbBGgvdtwdwNbLvxiBEdg336iA9Sg== } - engines: { node: ">=14.6" } + resolution: {integrity: sha512-fasDH2ont2GqF5HpyO4w0+BcewlhHEZOFn9c1ckZdHpJ56Qb7MHhH/IcJZbBGgvdtwdwNbLvxiBEdg336iA9Sg==} + engines: {node: '>=14.6'} color-name@1.1.4: - resolution: - { integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== } + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} color-name@2.1.0: - resolution: - { integrity: sha512-1bPaDNFm0axzE4MEAzKPuqKWeRaT43U/hyxKPBdqTfmPF+d6n7FSoTFxLVULUJOmiLp01KjhIPPH+HrXZJN4Rg== } - engines: { node: ">=12.20" } + resolution: {integrity: sha512-1bPaDNFm0axzE4MEAzKPuqKWeRaT43U/hyxKPBdqTfmPF+d6n7FSoTFxLVULUJOmiLp01KjhIPPH+HrXZJN4Rg==} + engines: {node: '>=12.20'} color-string@2.1.4: - resolution: - { integrity: sha512-Bb6Cq8oq0IjDOe8wJmi4JeNn763Xs9cfrBcaylK1tPypWzyoy2G3l90v9k64kjphl/ZJjPIShFztenRomi8WTg== } - engines: { node: ">=18" } + resolution: {integrity: sha512-Bb6Cq8oq0IjDOe8wJmi4JeNn763Xs9cfrBcaylK1tPypWzyoy2G3l90v9k64kjphl/ZJjPIShFztenRomi8WTg==} + engines: {node: '>=18'} color-support@1.1.3: - resolution: - { integrity: sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg== } + resolution: {integrity: sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==} hasBin: true color@5.0.3: - resolution: - { integrity: sha512-ezmVcLR3xAVp8kYOm4GS45ZLLgIE6SPAFoduLr6hTDajwb3KZ2F46gulK3XpcwRFb5KKGCSezCBAY4Dw4HsyXA== } - engines: { node: ">=18" } + resolution: {integrity: sha512-ezmVcLR3xAVp8kYOm4GS45ZLLgIE6SPAFoduLr6hTDajwb3KZ2F46gulK3XpcwRFb5KKGCSezCBAY4Dw4HsyXA==} + engines: {node: '>=18'} columnify@1.6.0: - resolution: - { integrity: sha512-lomjuFZKfM6MSAnV9aCZC9sc0qGbmZdfygNv+nCpqVkSKdCxCklLtd16O0EILGkImHw9ZpHkAnHaB+8Zxq5W6Q== } - engines: { node: ">=8.0.0" } + resolution: {integrity: sha512-lomjuFZKfM6MSAnV9aCZC9sc0qGbmZdfygNv+nCpqVkSKdCxCklLtd16O0EILGkImHw9ZpHkAnHaB+8Zxq5W6Q==} + engines: {node: '>=8.0.0'} combined-stream@1.0.8: - resolution: - { integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== } - engines: { node: ">= 0.8" } + resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} + engines: {node: '>= 0.8'} commander@11.1.0: - resolution: - { integrity: sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ== } - engines: { node: ">=16" } + resolution: {integrity: sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==} + engines: {node: '>=16'} commander@13.1.0: - resolution: - { integrity: sha512-/rFeCpNJQbhSZjGVwO9RFV3xPqbnERS8MmIQzCtD/zl6gpJuV/bMLuN92oG3F7d8oDEHHRrujSXNUr8fpjntKw== } - engines: { node: ">=18" } + resolution: {integrity: sha512-/rFeCpNJQbhSZjGVwO9RFV3xPqbnERS8MmIQzCtD/zl6gpJuV/bMLuN92oG3F7d8oDEHHRrujSXNUr8fpjntKw==} + engines: {node: '>=18'} commander@14.0.3: - resolution: - { integrity: sha512-H+y0Jo/T1RZ9qPP4Eh1pkcQcLRglraJaSLoyOtHxu6AapkjWVCy2Sit1QQ4x3Dng8qDlSsZEet7g5Pq06MvTgw== } - engines: { node: ">=20" } + resolution: {integrity: sha512-H+y0Jo/T1RZ9qPP4Eh1pkcQcLRglraJaSLoyOtHxu6AapkjWVCy2Sit1QQ4x3Dng8qDlSsZEet7g5Pq06MvTgw==} + engines: {node: '>=20'} commander@2.20.3: - resolution: - { integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== } + resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} commander@7.2.0: - resolution: - { integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== } - engines: { node: ">= 10" } + resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} + engines: {node: '>= 10'} comment-parser@1.4.5: - resolution: - { integrity: sha512-aRDkn3uyIlCFfk5NUA+VdwMmMsh8JGhc4hapfV4yxymHGQ3BVskMQfoXGpCo5IoBuQ9tS5iiVKhCpTcB4pW4qw== } - engines: { node: ">= 12.0.0" } + resolution: {integrity: sha512-aRDkn3uyIlCFfk5NUA+VdwMmMsh8JGhc4hapfV4yxymHGQ3BVskMQfoXGpCo5IoBuQ9tS5iiVKhCpTcB4pW4qw==} + engines: {node: '>= 12.0.0'} common-ancestor-path@1.0.1: - resolution: - { integrity: sha512-L3sHRo1pXXEqX8VU28kfgUY+YGsk09hPqZiZmLacNib6XNTCM8ubYeT7ryXQw8asB1sKgcU5lkB7ONug08aB8w== } + resolution: {integrity: sha512-L3sHRo1pXXEqX8VU28kfgUY+YGsk09hPqZiZmLacNib6XNTCM8ubYeT7ryXQw8asB1sKgcU5lkB7ONug08aB8w==} commondir@1.0.1: - resolution: - { integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg== } + resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} compare-func@2.0.0: - resolution: - { integrity: sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA== } + resolution: {integrity: sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==} concat-map@0.0.1: - resolution: - { integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== } + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} concat-stream@2.0.0: - resolution: - { integrity: sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A== } - engines: { "0": node >= 6.0 } + resolution: {integrity: sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==} + engines: {'0': node >= 6.0} concurrently@9.2.1: - resolution: - { integrity: sha512-fsfrO0MxV64Znoy8/l1vVIjjHa29SZyyqPgQBwhiDcaW8wJc2W3XWVOGx4M3oJBnv/zdUZIIp1gDeS98GzP8Ng== } - engines: { node: ">=18" } + resolution: {integrity: sha512-fsfrO0MxV64Znoy8/l1vVIjjHa29SZyyqPgQBwhiDcaW8wJc2W3XWVOGx4M3oJBnv/zdUZIIp1gDeS98GzP8Ng==} + engines: {node: '>=18'} hasBin: true connect-livereload@0.6.1: - resolution: - { integrity: sha512-3R0kMOdL7CjJpU66fzAkCe6HNtd3AavCS4m+uW4KtJjrdGPT0SQEZieAYd+cm+lJoBznNQ4lqipYWkhBMgk00g== } + resolution: {integrity: sha512-3R0kMOdL7CjJpU66fzAkCe6HNtd3AavCS4m+uW4KtJjrdGPT0SQEZieAYd+cm+lJoBznNQ4lqipYWkhBMgk00g==} console-control-strings@1.1.0: - resolution: - { integrity: sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ== } + resolution: {integrity: sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==} constantinople@4.0.1: - resolution: - { integrity: sha512-vCrqcSIq4//Gx74TXXCGnHpulY1dskqLTFGDmhrGxzeXL8lF8kvXv6mpNWlJj1uD4DW23D4ljAqbY4RRaaUZIw== } + resolution: {integrity: sha512-vCrqcSIq4//Gx74TXXCGnHpulY1dskqLTFGDmhrGxzeXL8lF8kvXv6mpNWlJj1uD4DW23D4ljAqbY4RRaaUZIw==} content-disposition@1.0.1: - resolution: - { integrity: sha512-oIXISMynqSqm241k6kcQ5UwttDILMK4BiurCfGEREw6+X9jkkpEe5T9FZaApyLGGOnFuyMWZpdolTXMtvEJ08Q== } - engines: { node: ">=18" } + resolution: {integrity: sha512-oIXISMynqSqm241k6kcQ5UwttDILMK4BiurCfGEREw6+X9jkkpEe5T9FZaApyLGGOnFuyMWZpdolTXMtvEJ08Q==} + engines: {node: '>=18'} content-type@1.0.5: - resolution: - { integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA== } - engines: { node: ">= 0.6" } + resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} + engines: {node: '>= 0.6'} conventional-changelog-angular@7.0.0: - resolution: - { integrity: sha512-ROjNchA9LgfNMTTFSIWPzebCwOGFdgkEq45EnvvrmSLvCtAw0HSmrCs7/ty+wAeYUZyNay0YMUNYFTRL72PkBQ== } - engines: { node: ">=16" } + resolution: {integrity: sha512-ROjNchA9LgfNMTTFSIWPzebCwOGFdgkEq45EnvvrmSLvCtAw0HSmrCs7/ty+wAeYUZyNay0YMUNYFTRL72PkBQ==} + engines: {node: '>=16'} conventional-changelog-angular@8.3.0: - resolution: - { integrity: sha512-DOuBwYSqWzfwuRByY9O4oOIvDlkUCTDzfbOgcSbkY+imXXj+4tmrEFao3K+FxemClYfYnZzsvudbwrhje9VHDA== } - engines: { node: ">=18" } + resolution: {integrity: sha512-DOuBwYSqWzfwuRByY9O4oOIvDlkUCTDzfbOgcSbkY+imXXj+4tmrEFao3K+FxemClYfYnZzsvudbwrhje9VHDA==} + engines: {node: '>=18'} conventional-changelog-conventionalcommits@9.3.0: - resolution: - { integrity: sha512-kYFx6gAyjSIMwNtASkI3ZE99U1fuVDJr0yTYgVy+I2QG46zNZfl2her+0+eoviG82c5WQvW1jMt1eOQTeJLodA== } - engines: { node: ">=18" } + resolution: {integrity: sha512-kYFx6gAyjSIMwNtASkI3ZE99U1fuVDJr0yTYgVy+I2QG46zNZfl2her+0+eoviG82c5WQvW1jMt1eOQTeJLodA==} + engines: {node: '>=18'} conventional-changelog-core@5.0.1: - resolution: - { integrity: sha512-Rvi5pH+LvgsqGwZPZ3Cq/tz4ty7mjijhr3qR4m9IBXNbxGGYgTVVO+duXzz9aArmHxFtwZ+LRkrNIMDQzgoY4A== } - engines: { node: ">=14" } + resolution: {integrity: sha512-Rvi5pH+LvgsqGwZPZ3Cq/tz4ty7mjijhr3qR4m9IBXNbxGGYgTVVO+duXzz9aArmHxFtwZ+LRkrNIMDQzgoY4A==} + engines: {node: '>=14'} conventional-changelog-preset-loader@3.0.0: - resolution: - { integrity: sha512-qy9XbdSLmVnwnvzEisjxdDiLA4OmV3o8db+Zdg4WiFw14fP3B6XNz98X0swPPpkTd/pc1K7+adKgEDM1JCUMiA== } - engines: { node: ">=14" } + resolution: {integrity: sha512-qy9XbdSLmVnwnvzEisjxdDiLA4OmV3o8db+Zdg4WiFw14fP3B6XNz98X0swPPpkTd/pc1K7+adKgEDM1JCUMiA==} + engines: {node: '>=14'} conventional-changelog-writer@6.0.0: - resolution: - { integrity: sha512-8PyWTnn7zBIt9l4hj4UusFs1TyG+9Ulu1zlOAc72L7Sdv9Hsc8E86ot7htY3HXCVhXHB/NO0pVGvZpwsyJvFfw== } - engines: { node: ">=14" } + resolution: {integrity: sha512-8PyWTnn7zBIt9l4hj4UusFs1TyG+9Ulu1zlOAc72L7Sdv9Hsc8E86ot7htY3HXCVhXHB/NO0pVGvZpwsyJvFfw==} + engines: {node: '>=14'} hasBin: true conventional-commits-filter@3.0.0: - resolution: - { integrity: sha512-1ymej8b5LouPx9Ox0Dw/qAO2dVdfpRFq28e5Y0jJEU8ZrLdy0vOSkkIInwmxErFGhg6SALro60ZrwYFVTUDo4Q== } - engines: { node: ">=14" } + resolution: {integrity: sha512-1ymej8b5LouPx9Ox0Dw/qAO2dVdfpRFq28e5Y0jJEU8ZrLdy0vOSkkIInwmxErFGhg6SALro60ZrwYFVTUDo4Q==} + engines: {node: '>=14'} conventional-commits-parser@4.0.0: - resolution: - { integrity: sha512-WRv5j1FsVM5FISJkoYMR6tPk07fkKT0UodruX4je86V4owk451yjXAKzKAPOs9l7y59E2viHUS9eQ+dfUA9NSg== } - engines: { node: ">=14" } + resolution: {integrity: sha512-WRv5j1FsVM5FISJkoYMR6tPk07fkKT0UodruX4je86V4owk451yjXAKzKAPOs9l7y59E2viHUS9eQ+dfUA9NSg==} + engines: {node: '>=14'} hasBin: true conventional-commits-parser@6.3.0: - resolution: - { integrity: sha512-RfOq/Cqy9xV9bOA8N+ZH6DlrDR+5S3Mi0B5kACEjESpE+AviIpAptx9a9cFpWCCvgRtWT+0BbUw+e1BZfts9jg== } - engines: { node: ">=18" } + resolution: {integrity: sha512-RfOq/Cqy9xV9bOA8N+ZH6DlrDR+5S3Mi0B5kACEjESpE+AviIpAptx9a9cFpWCCvgRtWT+0BbUw+e1BZfts9jg==} + engines: {node: '>=18'} hasBin: true conventional-recommended-bump@7.0.1: - resolution: - { integrity: sha512-Ft79FF4SlOFvX4PkwFDRnaNiIVX7YbmqGU0RwccUaiGvgp3S0a8ipR2/Qxk31vclDNM+GSdJOVs2KrsUCjblVA== } - engines: { node: ">=14" } + resolution: {integrity: sha512-Ft79FF4SlOFvX4PkwFDRnaNiIVX7YbmqGU0RwccUaiGvgp3S0a8ipR2/Qxk31vclDNM+GSdJOVs2KrsUCjblVA==} + engines: {node: '>=14'} hasBin: true convert-source-map@2.0.0: - resolution: - { integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== } + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} cookie-signature@1.2.2: - resolution: - { integrity: sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg== } - engines: { node: ">=6.6.0" } + resolution: {integrity: sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg==} + engines: {node: '>=6.6.0'} cookie@0.7.2: - resolution: - { integrity: sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w== } - engines: { node: ">= 0.6" } + resolution: {integrity: sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==} + engines: {node: '>= 0.6'} copyfiles@2.4.1: - resolution: - { integrity: sha512-fereAvAvxDrQDOXybk3Qu3dPbOoKoysFMWtkY3mv5BsL8//OSZVL5DCLYqgRfY5cWirgRzlC+WSrxp6Bo3eNZg== } + resolution: {integrity: sha512-fereAvAvxDrQDOXybk3Qu3dPbOoKoysFMWtkY3mv5BsL8//OSZVL5DCLYqgRfY5cWirgRzlC+WSrxp6Bo3eNZg==} hasBin: true core-util-is@1.0.3: - resolution: - { integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== } + resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} cosmiconfig-typescript-loader@6.1.0: - resolution: - { integrity: sha512-tJ1w35ZRUiM5FeTzT7DtYWAFFv37ZLqSRkGi2oeCK1gPhvaWjkAtfXvLmvE1pRfxxp9aQo6ba/Pvg1dKj05D4g== } - engines: { node: ">=v18" } + resolution: {integrity: sha512-tJ1w35ZRUiM5FeTzT7DtYWAFFv37ZLqSRkGi2oeCK1gPhvaWjkAtfXvLmvE1pRfxxp9aQo6ba/Pvg1dKj05D4g==} + engines: {node: '>=v18'} peerDependencies: - "@types/node": "*" - cosmiconfig: ">=9" - typescript: ">=5" + '@types/node': '*' + cosmiconfig: '>=9' + typescript: '>=5' cosmiconfig@9.0.0: - resolution: - { integrity: sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg== } - engines: { node: ">=14" } + resolution: {integrity: sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==} + engines: {node: '>=14'} peerDependencies: - typescript: ">=4.9.5" + typescript: '>=4.9.5' peerDependenciesMeta: typescript: optional: true cosmiconfig@9.0.1: - resolution: - { integrity: sha512-hr4ihw+DBqcvrsEDioRO31Z17x71pUYoNe/4h6Z0wB72p7MU7/9gH8Q3s12NFhHPfYBBOV3qyfUxmr/Yn3shnQ== } - engines: { node: ">=14" } + resolution: {integrity: sha512-hr4ihw+DBqcvrsEDioRO31Z17x71pUYoNe/4h6Z0wB72p7MU7/9gH8Q3s12NFhHPfYBBOV3qyfUxmr/Yn3shnQ==} + engines: {node: '>=14'} peerDependencies: - typescript: ">=4.9.5" + typescript: '>=4.9.5' peerDependenciesMeta: typescript: optional: true create-require@1.1.1: - resolution: - { integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== } + resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} cross-env@10.1.0: - resolution: - { integrity: sha512-GsYosgnACZTADcmEyJctkJIoqAhHjttw7RsFrVoJNXbsWWqaq6Ym+7kZjq6mS45O0jij6vtiReppKQEtqWy6Dw== } - engines: { node: ">=20" } + resolution: {integrity: sha512-GsYosgnACZTADcmEyJctkJIoqAhHjttw7RsFrVoJNXbsWWqaq6Ym+7kZjq6mS45O0jij6vtiReppKQEtqWy6Dw==} + engines: {node: '>=20'} hasBin: true cross-spawn@7.0.6: - resolution: - { integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA== } - engines: { node: ">= 8" } + resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} + engines: {node: '>= 8'} css-b64-images@0.2.5: - resolution: - { integrity: sha512-TgQBEdP07adhrDfXvI5o6bHGukKBNMzp2Ngckc/6d09zpjD2gc1Hl3Ca1CKgb8FXjHi88+Phv2Uegs2kTL4zjg== } + resolution: {integrity: sha512-TgQBEdP07adhrDfXvI5o6bHGukKBNMzp2Ngckc/6d09zpjD2gc1Hl3Ca1CKgb8FXjHi88+Phv2Uegs2kTL4zjg==} hasBin: true css-select@5.2.2: - resolution: - { integrity: sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw== } + resolution: {integrity: sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw==} css-tree@2.2.1: - resolution: - { integrity: sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA== } - engines: { node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: ">=7.0.0" } + resolution: {integrity: sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==} + engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'} css-tree@3.1.0: - resolution: - { integrity: sha512-0eW44TGN5SQXU1mWSkKwFstI/22X2bG1nYzZTYMAWjylYURhse752YgbE4Cx46AC+bAvI+/dYTPRk1LqSUnu6w== } - engines: { node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0 } + resolution: {integrity: sha512-0eW44TGN5SQXU1mWSkKwFstI/22X2bG1nYzZTYMAWjylYURhse752YgbE4Cx46AC+bAvI+/dYTPRk1LqSUnu6w==} + engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0} css-tree@3.2.1: - resolution: - { integrity: sha512-X7sjQzceUhu1u7Y/ylrRZFU2FS6LRiFVp6rKLPg23y3x3c3DOKAwuXGDp+PAGjh6CSnCjYeAul8pcT8bAl+lSA== } - engines: { node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0 } + resolution: {integrity: sha512-X7sjQzceUhu1u7Y/ylrRZFU2FS6LRiFVp6rKLPg23y3x3c3DOKAwuXGDp+PAGjh6CSnCjYeAul8pcT8bAl+lSA==} + engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0} css-what@6.2.2: - resolution: - { integrity: sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA== } - engines: { node: ">= 6" } + resolution: {integrity: sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==} + engines: {node: '>= 6'} cssesc@3.0.0: - resolution: - { integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== } - engines: { node: ">=4" } + resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} + engines: {node: '>=4'} hasBin: true csso@5.0.5: - resolution: - { integrity: sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ== } - engines: { node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: ">=7.0.0" } + resolution: {integrity: sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==} + engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'} dargs@7.0.0: - resolution: - { integrity: sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg== } - engines: { node: ">=8" } + resolution: {integrity: sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg==} + engines: {node: '>=8'} data-urls@7.0.0: - resolution: - { integrity: sha512-23XHcCF+coGYevirZceTVD7NdJOqVn+49IHyxgszm+JIiHLoB2TkmPtsYkNWT1pvRSGkc35L6NHs0yHkN2SumA== } - engines: { node: ^20.19.0 || ^22.12.0 || >=24.0.0 } + resolution: {integrity: sha512-23XHcCF+coGYevirZceTVD7NdJOqVn+49IHyxgszm+JIiHLoB2TkmPtsYkNWT1pvRSGkc35L6NHs0yHkN2SumA==} + engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0} dateformat@3.0.3: - resolution: - { integrity: sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q== } + resolution: {integrity: sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==} debounce@1.2.1: - resolution: - { integrity: sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug== } + resolution: {integrity: sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==} debug@4.3.6: - resolution: - { integrity: sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg== } - engines: { node: ">=6.0" } + resolution: {integrity: sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==} + engines: {node: '>=6.0'} peerDependencies: - supports-color: "*" + supports-color: '*' peerDependenciesMeta: supports-color: optional: true debug@4.4.3: - resolution: - { integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA== } - engines: { node: ">=6.0" } + resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==} + engines: {node: '>=6.0'} peerDependencies: - supports-color: "*" + supports-color: '*' peerDependenciesMeta: supports-color: optional: true decamelize-keys@1.1.1: - resolution: - { integrity: sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg== } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==} + engines: {node: '>=0.10.0'} decamelize@1.2.0: - resolution: - { integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA== } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} + engines: {node: '>=0.10.0'} decimal.js@10.6.0: - resolution: - { integrity: sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg== } + resolution: {integrity: sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg==} decompress-response@6.0.0: - resolution: - { integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ== } - engines: { node: ">=10" } + resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==} + engines: {node: '>=10'} dedent@1.5.3: - resolution: - { integrity: sha512-NHQtfOOW68WD8lgypbLA5oT+Bt0xXJhiYvoR6SmmNXZfpzOGXwdKWmcwG8N7PwVVWV3eF/68nmD9BaJSsTBhyQ== } + resolution: {integrity: sha512-NHQtfOOW68WD8lgypbLA5oT+Bt0xXJhiYvoR6SmmNXZfpzOGXwdKWmcwG8N7PwVVWV3eF/68nmD9BaJSsTBhyQ==} peerDependencies: babel-plugin-macros: ^3.1.0 peerDependenciesMeta: @@ -5462,531 +4896,425 @@ packages: optional: true deep-eql@5.0.2: - resolution: - { integrity: sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q== } - engines: { node: ">=6" } + resolution: {integrity: sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==} + engines: {node: '>=6'} deep-extend@0.6.0: - resolution: - { integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== } - engines: { node: ">=4.0.0" } + resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} + engines: {node: '>=4.0.0'} deep-is@0.1.4: - resolution: - { integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== } + resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} deepcopy-esm@2.1.1: - resolution: - { integrity: sha512-0lopQd/gi3excE3sgBrjuR3gJv6ZElk027i30pUgdjtvSJl/OoZ8B6L42GUBm6C3G8hD1EB5ir2gTYnINzWx4g== } - engines: { node: ">=22" } + resolution: {integrity: sha512-0lopQd/gi3excE3sgBrjuR3gJv6ZElk027i30pUgdjtvSJl/OoZ8B6L42GUBm6C3G8hD1EB5ir2gTYnINzWx4g==} + engines: {node: '>=22'} defaults@1.0.4: - resolution: - { integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A== } + resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} defer-to-connect@2.0.1: - resolution: - { integrity: sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg== } - engines: { node: ">=10" } + resolution: {integrity: sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==} + engines: {node: '>=10'} define-data-property@1.1.4: - resolution: - { integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A== } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} + engines: {node: '>= 0.4'} define-lazy-prop@2.0.0: - resolution: - { integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og== } - engines: { node: ">=8" } + resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==} + engines: {node: '>=8'} define-properties@1.2.1: - resolution: - { integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg== } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} + engines: {node: '>= 0.4'} delayed-stream@1.0.0: - resolution: - { integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== } - engines: { node: ">=0.4.0" } + resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} + engines: {node: '>=0.4.0'} depd@2.0.0: - resolution: - { integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== } - engines: { node: ">= 0.8" } + resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} + engines: {node: '>= 0.8'} dependency-cruiser@17.3.9: - resolution: - { integrity: sha512-LwaotlB9bZ8zhdFGGYf/g2oYkYj7YNxlqx1btL/XIYGob/aKRArsSwkLKo+ZrHiegsEArQVg4ZQ3NhAh8uk+hg== } - engines: { node: ^20.12||^22||>=24 } + resolution: {integrity: sha512-LwaotlB9bZ8zhdFGGYf/g2oYkYj7YNxlqx1btL/XIYGob/aKRArsSwkLKo+ZrHiegsEArQVg4ZQ3NhAh8uk+hg==} + engines: {node: ^20.12||^22||>=24} hasBin: true deprecation@2.3.1: - resolution: - { integrity: sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ== } + resolution: {integrity: sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==} detect-libc@1.0.3: - resolution: - { integrity: sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg== } - engines: { node: ">=0.10" } + resolution: {integrity: sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==} + engines: {node: '>=0.10'} hasBin: true detect-libc@2.1.2: - resolution: - { integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ== } - engines: { node: ">=8" } + resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==} + engines: {node: '>=8'} detect-node@2.1.0: - resolution: - { integrity: sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g== } + resolution: {integrity: sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==} diff@4.0.2: - resolution: - { integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== } - engines: { node: ">=0.3.1" } + resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} + engines: {node: '>=0.3.1'} diff@8.0.3: - resolution: - { integrity: sha512-qejHi7bcSD4hQAZE0tNAawRK1ZtafHDmMTMkrrIGgSLl7hTnQHmKCeB45xAcbfTqK2zowkM3j3bHt/4b/ARbYQ== } - engines: { node: ">=0.3.1" } + resolution: {integrity: sha512-qejHi7bcSD4hQAZE0tNAawRK1ZtafHDmMTMkrrIGgSLl7hTnQHmKCeB45xAcbfTqK2zowkM3j3bHt/4b/ARbYQ==} + engines: {node: '>=0.3.1'} dir-glob@3.0.1: - resolution: - { integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== } - engines: { node: ">=8" } + resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} + engines: {node: '>=8'} doctypes@1.1.0: - resolution: - { integrity: sha512-LLBi6pEqS6Do3EKQ3J0NqHWV5hhb78Pi8vvESYwyOy2c31ZEZVdtitdzsQsKb7878PEERhzUk0ftqGhG6Mz+pQ== } + resolution: {integrity: sha512-LLBi6pEqS6Do3EKQ3J0NqHWV5hhb78Pi8vvESYwyOy2c31ZEZVdtitdzsQsKb7878PEERhzUk0ftqGhG6Mz+pQ==} dom-serializer@2.0.0: - resolution: - { integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg== } + resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==} domelementtype@2.3.0: - resolution: - { integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw== } + resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} domhandler@5.0.3: - resolution: - { integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w== } - engines: { node: ">= 4" } + resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==} + engines: {node: '>= 4'} domutils@3.2.2: - resolution: - { integrity: sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw== } + resolution: {integrity: sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==} dot-prop@5.3.0: - resolution: - { integrity: sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q== } - engines: { node: ">=8" } + resolution: {integrity: sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==} + engines: {node: '>=8'} dotenv-expand@11.0.6: - resolution: - { integrity: sha512-8NHi73otpWsZGBSZwwknTXS5pqMOrk9+Ssrna8xCaxkzEpU9OTf9R5ArQGVw03//Zmk9MOwLPng9WwndvpAJ5g== } - engines: { node: ">=12" } + resolution: {integrity: sha512-8NHi73otpWsZGBSZwwknTXS5pqMOrk9+Ssrna8xCaxkzEpU9OTf9R5ArQGVw03//Zmk9MOwLPng9WwndvpAJ5g==} + engines: {node: '>=12'} dotenv@10.0.0: - resolution: - { integrity: sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q== } - engines: { node: ">=10" } + resolution: {integrity: sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==} + engines: {node: '>=10'} dotenv@16.4.5: - resolution: - { integrity: sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg== } - engines: { node: ">=12" } + resolution: {integrity: sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==} + engines: {node: '>=12'} dotenv@17.3.1: - resolution: - { integrity: sha512-IO8C/dzEb6O3F9/twg6ZLXz164a2fhTnEWb95H23Dm4OuN+92NmEAlTrupP9VW6Jm3sO26tQlqyvyi4CsnY9GA== } - engines: { node: ">=12" } + resolution: {integrity: sha512-IO8C/dzEb6O3F9/twg6ZLXz164a2fhTnEWb95H23Dm4OuN+92NmEAlTrupP9VW6Jm3sO26tQlqyvyi4CsnY9GA==} + engines: {node: '>=12'} dunder-proto@1.0.1: - resolution: - { integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A== } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} + engines: {node: '>= 0.4'} eastasianwidth@0.2.0: - resolution: - { integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== } + resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} ee-first@1.1.1: - resolution: - { integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== } + resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} ejs@3.1.9: - resolution: - { integrity: sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ== } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ==} + engines: {node: '>=0.10.0'} hasBin: true electron-to-chromium@1.5.267: - resolution: - { integrity: sha512-0Drusm6MVRXSOJpGbaSVgcQsuB4hEkMpHXaVstcPmhu5LIedxs1xNK/nIxmQIU/RPC0+1/o0AVZfBTkTNJOdUw== } + resolution: {integrity: sha512-0Drusm6MVRXSOJpGbaSVgcQsuB4hEkMpHXaVstcPmhu5LIedxs1xNK/nIxmQIU/RPC0+1/o0AVZfBTkTNJOdUw==} electron@41.0.3: - resolution: - { integrity: sha512-IDjx8liW1q+r7+MOip5W1Eo1eMwJzVObmYrd9yz2dPCkS7XlgLq3qPVMR80TpiROFp73iY30kTzMdpA6fEVs3A== } - engines: { node: ">= 12.20.55" } + resolution: {integrity: sha512-IDjx8liW1q+r7+MOip5W1Eo1eMwJzVObmYrd9yz2dPCkS7XlgLq3qPVMR80TpiROFp73iY30kTzMdpA6fEVs3A==} + engines: {node: '>= 12.20.55'} hasBin: true email-addresses@5.0.0: - resolution: - { integrity: sha512-4OIPYlA6JXqtVn8zpHpGiI7vE6EQOAg16aGnDMIAlZVinnoZ8208tW1hAbjWydgN/4PLTT9q+O1K6AH/vALJGw== } + resolution: {integrity: sha512-4OIPYlA6JXqtVn8zpHpGiI7vE6EQOAg16aGnDMIAlZVinnoZ8208tW1hAbjWydgN/4PLTT9q+O1K6AH/vALJGw==} emoji-regex@10.4.0: - resolution: - { integrity: sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw== } + resolution: {integrity: sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==} emoji-regex@8.0.0: - resolution: - { integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== } + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} emoji-regex@9.2.2: - resolution: - { integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== } + resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} enabled@2.0.0: - resolution: - { integrity: sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ== } + resolution: {integrity: sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ==} encodeurl@2.0.0: - resolution: - { integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg== } - engines: { node: ">= 0.8" } + resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==} + engines: {node: '>= 0.8'} encoding@0.1.13: - resolution: - { integrity: sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A== } + resolution: {integrity: sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==} end-of-stream@1.4.5: - resolution: - { integrity: sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg== } + resolution: {integrity: sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==} enhanced-resolve@5.20.0: - resolution: - { integrity: sha512-/ce7+jQ1PQ6rVXwe+jKEg5hW5ciicHwIQUagZkp6IufBoY3YDgdTTY1azVs0qoRgVmvsNB+rbjLJxDAeHHtwsQ== } - engines: { node: ">=10.13.0" } + resolution: {integrity: sha512-/ce7+jQ1PQ6rVXwe+jKEg5hW5ciicHwIQUagZkp6IufBoY3YDgdTTY1azVs0qoRgVmvsNB+rbjLJxDAeHHtwsQ==} + engines: {node: '>=10.13.0'} enquirer@2.3.6: - resolution: - { integrity: sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg== } - engines: { node: ">=8.6" } + resolution: {integrity: sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==} + engines: {node: '>=8.6'} entities@4.5.0: - resolution: - { integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw== } - engines: { node: ">=0.12" } + resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} + engines: {node: '>=0.12'} entities@6.0.1: - resolution: - { integrity: sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g== } - engines: { node: ">=0.12" } + resolution: {integrity: sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==} + engines: {node: '>=0.12'} entities@7.0.1: - resolution: - { integrity: sha512-TWrgLOFUQTH994YUyl1yT4uyavY5nNB5muff+RtWaqNVCAK408b5ZnnbNAUEWLTCpum9w6arT70i1XdQ4UeOPA== } - engines: { node: ">=0.12" } + resolution: {integrity: sha512-TWrgLOFUQTH994YUyl1yT4uyavY5nNB5muff+RtWaqNVCAK408b5ZnnbNAUEWLTCpum9w6arT70i1XdQ4UeOPA==} + engines: {node: '>=0.12'} env-paths@2.2.1: - resolution: - { integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A== } - engines: { node: ">=6" } + resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==} + engines: {node: '>=6'} envinfo@7.13.0: - resolution: - { integrity: sha512-cvcaMr7KqXVh4nyzGTVqTum+gAiL265x5jUWQIDLq//zOGbW+gSW/C+OWLleY/rs9Qole6AZLMXPbtIFQbqu+Q== } - engines: { node: ">=4" } + resolution: {integrity: sha512-cvcaMr7KqXVh4nyzGTVqTum+gAiL265x5jUWQIDLq//zOGbW+gSW/C+OWLleY/rs9Qole6AZLMXPbtIFQbqu+Q==} + engines: {node: '>=4'} hasBin: true envinfo@7.14.0: - resolution: - { integrity: sha512-CO40UI41xDQzhLB1hWyqUKgFhs250pNcGbyGKe1l/e4FSaI/+YE4IMG76GDt0In67WLPACIITC+sOi08x4wIvg== } - engines: { node: ">=4" } + resolution: {integrity: sha512-CO40UI41xDQzhLB1hWyqUKgFhs250pNcGbyGKe1l/e4FSaI/+YE4IMG76GDt0In67WLPACIITC+sOi08x4wIvg==} + engines: {node: '>=4'} hasBin: true err-code@2.0.3: - resolution: - { integrity: sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA== } + resolution: {integrity: sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==} error-ex@1.3.2: - resolution: - { integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== } + resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} es-define-property@1.0.1: - resolution: - { integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g== } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==} + engines: {node: '>= 0.4'} es-errors@1.3.0: - resolution: - { integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw== } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} + engines: {node: '>= 0.4'} es-module-lexer@2.0.0: - resolution: - { integrity: sha512-5POEcUuZybH7IdmGsD8wlf0AI55wMecM9rVBTI/qEAy2c1kTOm3DjFYjrBdI2K3BaJjJYfYFeRtM0t9ssnRuxw== } + resolution: {integrity: sha512-5POEcUuZybH7IdmGsD8wlf0AI55wMecM9rVBTI/qEAy2c1kTOm3DjFYjrBdI2K3BaJjJYfYFeRtM0t9ssnRuxw==} es-object-atoms@1.1.1: - resolution: - { integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA== } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==} + engines: {node: '>= 0.4'} es-set-tostringtag@2.1.0: - resolution: - { integrity: sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA== } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==} + engines: {node: '>= 0.4'} es6-error@4.1.1: - resolution: - { integrity: sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg== } + resolution: {integrity: sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==} esbuild@0.27.2: - resolution: - { integrity: sha512-HyNQImnsOC7X9PMNaCIeAm4ISCQXs5a5YasTXVliKv4uuBo1dKrG0A+uQS8M5eXjVMnLg3WgXaKvprHlFJQffw== } - engines: { node: ">=18" } + resolution: {integrity: sha512-HyNQImnsOC7X9PMNaCIeAm4ISCQXs5a5YasTXVliKv4uuBo1dKrG0A+uQS8M5eXjVMnLg3WgXaKvprHlFJQffw==} + engines: {node: '>=18'} hasBin: true escalade@3.1.1: - resolution: - { integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== } - engines: { node: ">=6" } + resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} + engines: {node: '>=6'} escalade@3.2.0: - resolution: - { integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA== } - engines: { node: ">=6" } + resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} + engines: {node: '>=6'} escape-html@1.0.3: - resolution: - { integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow== } + resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} escape-string-regexp@1.0.5: - resolution: - { integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== } - engines: { node: ">=0.8.0" } + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} + engines: {node: '>=0.8.0'} escape-string-regexp@4.0.0: - resolution: - { integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== } - engines: { node: ">=10" } + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} + engines: {node: '>=10'} eslint-config-prettier@10.1.8: - resolution: - { integrity: sha512-82GZUjRS0p/jganf6q1rEO25VSoHH0hKPCTrgillPjdI/3bgBhAE1QzHrHTizjpRvy6pGAvKjDJtk2pF9NDq8w== } + resolution: {integrity: sha512-82GZUjRS0p/jganf6q1rEO25VSoHH0hKPCTrgillPjdI/3bgBhAE1QzHrHTizjpRvy6pGAvKjDJtk2pF9NDq8w==} hasBin: true peerDependencies: - eslint: ">=7.0.0" + eslint: '>=7.0.0' eslint-plugin-jsdoc@62.8.0: - resolution: - { integrity: sha512-hu3r9/6JBmPG6wTcqtYzgZAnjEG2eqRUATfkFscokESg1VDxZM21ZaMire0KjeMwfj+SXvgB4Rvh5LBuesj92w== } - engines: { node: ^20.19.0 || ^22.13.0 || >=24 } + resolution: {integrity: sha512-hu3r9/6JBmPG6wTcqtYzgZAnjEG2eqRUATfkFscokESg1VDxZM21ZaMire0KjeMwfj+SXvgB4Rvh5LBuesj92w==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} peerDependencies: eslint: ^7.0.0 || ^8.0.0 || ^9.0.0 || ^10.0.0 eslint-plugin-prettier@5.5.5: - resolution: - { integrity: sha512-hscXkbqUZ2sPithAuLm5MXL+Wph+U7wHngPBv9OMWwlP8iaflyxpjTYZkmdgB4/vPIhemRlBEoLrH7UC1n7aUw== } - engines: { node: ^14.18.0 || >=16.0.0 } + resolution: {integrity: sha512-hscXkbqUZ2sPithAuLm5MXL+Wph+U7wHngPBv9OMWwlP8iaflyxpjTYZkmdgB4/vPIhemRlBEoLrH7UC1n7aUw==} + engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: - "@types/eslint": ">=8.0.0" - eslint: ">=8.0.0" - eslint-config-prettier: ">= 7.0.0 <10.0.0 || >=10.1.0" - prettier: ">=3.0.0" + '@types/eslint': '>=8.0.0' + eslint: '>=8.0.0' + eslint-config-prettier: '>= 7.0.0 <10.0.0 || >=10.1.0' + prettier: '>=3.0.0' peerDependenciesMeta: - "@types/eslint": + '@types/eslint': optional: true eslint-config-prettier: optional: true eslint-plugin-tsdoc@0.5.2: - resolution: - { integrity: sha512-BlvqjWZdBJDIPO/YU3zcPCF23CvjYT3gyu63yo6b609NNV3D1b6zceAREy2xnweuBoDpZcLNuPyAUq9cvx6bbQ== } + resolution: {integrity: sha512-BlvqjWZdBJDIPO/YU3zcPCF23CvjYT3gyu63yo6b609NNV3D1b6zceAREy2xnweuBoDpZcLNuPyAUq9cvx6bbQ==} eslint-scope@5.1.1: - resolution: - { integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== } - engines: { node: ">=8.0.0" } + resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} + engines: {node: '>=8.0.0'} eslint-scope@9.1.2: - resolution: - { integrity: sha512-xS90H51cKw0jltxmvmHy2Iai1LIqrfbw57b79w/J7MfvDfkIkFZ+kj6zC3BjtUwh150HsSSdxXZcsuv72miDFQ== } - engines: { node: ^20.19.0 || ^22.13.0 || >=24 } + resolution: {integrity: sha512-xS90H51cKw0jltxmvmHy2Iai1LIqrfbw57b79w/J7MfvDfkIkFZ+kj6zC3BjtUwh150HsSSdxXZcsuv72miDFQ==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} eslint-visitor-keys@3.4.3: - resolution: - { integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} eslint-visitor-keys@4.2.1: - resolution: - { integrity: sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ== } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + resolution: {integrity: sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} eslint-visitor-keys@5.0.0: - resolution: - { integrity: sha512-A0XeIi7CXU7nPlfHS9loMYEKxUaONu/hTEzHTGba9Huu94Cq1hPivf+DE5erJozZOky0LfvXAyrV/tcswpLI0Q== } - engines: { node: ^20.19.0 || ^22.13.0 || >=24 } + resolution: {integrity: sha512-A0XeIi7CXU7nPlfHS9loMYEKxUaONu/hTEzHTGba9Huu94Cq1hPivf+DE5erJozZOky0LfvXAyrV/tcswpLI0Q==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} eslint-visitor-keys@5.0.1: - resolution: - { integrity: sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA== } - engines: { node: ^20.19.0 || ^22.13.0 || >=24 } + resolution: {integrity: sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} eslint@10.0.3: - resolution: - { integrity: sha512-COV33RzXZkqhG9P2rZCFl9ZmJ7WL+gQSCRzE7RhkbclbQPtLAWReL7ysA0Sh4c8Im2U9ynybdR56PV0XcKvqaQ== } - engines: { node: ^20.19.0 || ^22.13.0 || >=24 } + resolution: {integrity: sha512-COV33RzXZkqhG9P2rZCFl9ZmJ7WL+gQSCRzE7RhkbclbQPtLAWReL7ysA0Sh4c8Im2U9ynybdR56PV0XcKvqaQ==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} hasBin: true peerDependencies: - jiti: "*" + jiti: '*' peerDependenciesMeta: jiti: optional: true espree@10.4.0: - resolution: - { integrity: sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ== } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + resolution: {integrity: sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} espree@11.2.0: - resolution: - { integrity: sha512-7p3DrVEIopW1B1avAGLuCSh1jubc01H2JHc8B4qqGblmg5gI9yumBgACjWo4JlIc04ufug4xJ3SQI8HkS/Rgzw== } - engines: { node: ^20.19.0 || ^22.13.0 || >=24 } + resolution: {integrity: sha512-7p3DrVEIopW1B1avAGLuCSh1jubc01H2JHc8B4qqGblmg5gI9yumBgACjWo4JlIc04ufug4xJ3SQI8HkS/Rgzw==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} esprima@4.0.1: - resolution: - { integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== } - engines: { node: ">=4" } + resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} + engines: {node: '>=4'} hasBin: true esquery@1.7.0: - resolution: - { integrity: sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g== } - engines: { node: ">=0.10" } + resolution: {integrity: sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==} + engines: {node: '>=0.10'} esrecurse@4.3.0: - resolution: - { integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== } - engines: { node: ">=4.0" } + resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} + engines: {node: '>=4.0'} estraverse@4.3.0: - resolution: - { integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== } - engines: { node: ">=4.0" } + resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} + engines: {node: '>=4.0'} estraverse@5.3.0: - resolution: - { integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== } - engines: { node: ">=4.0" } + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} + engines: {node: '>=4.0'} estree-walker@3.0.3: - resolution: - { integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g== } + resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} esutils@2.0.3: - resolution: - { integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} + engines: {node: '>=0.10.0'} etag@1.8.1: - resolution: - { integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg== } - engines: { node: ">= 0.6" } + resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} + engines: {node: '>= 0.6'} event-target-shim@5.0.1: - resolution: - { integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ== } - engines: { node: ">=6" } + resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==} + engines: {node: '>=6'} eventemitter3@4.0.7: - resolution: - { integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== } + resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==} events@3.3.0: - resolution: - { integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== } - engines: { node: ">=0.8.x" } + resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} + engines: {node: '>=0.8.x'} execa@5.0.0: - resolution: - { integrity: sha512-ov6w/2LCiuyO4RLYGdpFGjkcs0wMTgGE8PrkTHikeUy5iJekXyPIKUjifk5CsE0pt7sMCrMZ3YNqoCj6idQOnQ== } - engines: { node: ">=10" } + resolution: {integrity: sha512-ov6w/2LCiuyO4RLYGdpFGjkcs0wMTgGE8PrkTHikeUy5iJekXyPIKUjifk5CsE0pt7sMCrMZ3YNqoCj6idQOnQ==} + engines: {node: '>=10'} expand-template@2.0.3: - resolution: - { integrity: sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg== } - engines: { node: ">=6" } + resolution: {integrity: sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==} + engines: {node: '>=6'} expect-type@1.3.0: - resolution: - { integrity: sha512-knvyeauYhqjOYvQ66MznSMs83wmHrCycNEN6Ao+2AeYEfxUIkuiVxdEa1qlGEPK+We3n0THiDciYSsCcgW/DoA== } - engines: { node: ">=12.0.0" } + resolution: {integrity: sha512-knvyeauYhqjOYvQ66MznSMs83wmHrCycNEN6Ao+2AeYEfxUIkuiVxdEa1qlGEPK+We3n0THiDciYSsCcgW/DoA==} + engines: {node: '>=12.0.0'} exponential-backoff@3.1.1: - resolution: - { integrity: sha512-dX7e/LHVJ6W3DE1MHWi9S1EYzDESENfLrYohG2G++ovZrYOkm4Knwa0mc1cn84xJOR4KEU0WSchhLbd0UklbHw== } + resolution: {integrity: sha512-dX7e/LHVJ6W3DE1MHWi9S1EYzDESENfLrYohG2G++ovZrYOkm4Knwa0mc1cn84xJOR4KEU0WSchhLbd0UklbHw==} express-rate-limit@8.3.1: - resolution: - { integrity: sha512-D1dKN+cmyPWuvB+G2SREQDzPY1agpBIcTa9sJxOPMCNeH3gwzhqJRDWCXW3gg0y//+LQ/8j52JbMROWyrKdMdw== } - engines: { node: ">= 16" } + resolution: {integrity: sha512-D1dKN+cmyPWuvB+G2SREQDzPY1agpBIcTa9sJxOPMCNeH3gwzhqJRDWCXW3gg0y//+LQ/8j52JbMROWyrKdMdw==} + engines: {node: '>= 16'} peerDependencies: - express: ">= 4.11" + express: '>= 4.11' express@5.2.1: - resolution: - { integrity: sha512-hIS4idWWai69NezIdRt2xFVofaF4j+6INOpJlVOLDO8zXGpUVEVzIYk12UUi2JzjEzWL3IOAxcTubgz9Po0yXw== } - engines: { node: ">= 18" } + resolution: {integrity: sha512-hIS4idWWai69NezIdRt2xFVofaF4j+6INOpJlVOLDO8zXGpUVEVzIYk12UUi2JzjEzWL3IOAxcTubgz9Po0yXw==} + engines: {node: '>= 18'} extract-zip@2.0.1: - resolution: - { integrity: sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg== } - engines: { node: ">= 10.17.0" } + resolution: {integrity: sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==} + engines: {node: '>= 10.17.0'} hasBin: true fast-deep-equal@3.1.3: - resolution: - { integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== } + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} fast-diff@1.3.0: - resolution: - { integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw== } + resolution: {integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==} fast-glob@3.3.2: - resolution: - { integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow== } - engines: { node: ">=8.6.0" } + resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} + engines: {node: '>=8.6.0'} fast-json-stable-stringify@2.1.0: - resolution: - { integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== } + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} fast-levenshtein@2.0.6: - resolution: - { integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== } + resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} fast-uri@3.1.0: - resolution: - { integrity: sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA== } + resolution: {integrity: sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==} fastest-levenshtein@1.0.16: - resolution: - { integrity: sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg== } - engines: { node: ">= 4.9.1" } + resolution: {integrity: sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==} + engines: {node: '>= 4.9.1'} fastq@1.15.0: - resolution: - { integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw== } + resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} fd-slicer@1.1.0: - resolution: - { integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g== } + resolution: {integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==} fdir@6.5.0: - resolution: - { integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg== } - engines: { node: ">=12.0.0" } + resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==} + engines: {node: '>=12.0.0'} peerDependencies: picomatch: ^3 || ^4 peerDependenciesMeta: @@ -5994,832 +5322,664 @@ packages: optional: true fecha@4.2.3: - resolution: - { integrity: sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw== } + resolution: {integrity: sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw==} fflate@0.8.2: - resolution: - { integrity: sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A== } + resolution: {integrity: sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==} figures@3.2.0: - resolution: - { integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg== } - engines: { node: ">=8" } + resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==} + engines: {node: '>=8'} file-entry-cache@8.0.0: - resolution: - { integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ== } - engines: { node: ">=16.0.0" } + resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} + engines: {node: '>=16.0.0'} filelist@1.0.4: - resolution: - { integrity: sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q== } + resolution: {integrity: sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==} filename-reserved-regex@2.0.0: - resolution: - { integrity: sha512-lc1bnsSr4L4Bdif8Xb/qrtokGbq5zlsms/CYH8PP+WtCkGNF65DPiQY8vG3SakEdRn8Dlnm+gW/qWKKjS5sZzQ== } - engines: { node: ">=4" } + resolution: {integrity: sha512-lc1bnsSr4L4Bdif8Xb/qrtokGbq5zlsms/CYH8PP+WtCkGNF65DPiQY8vG3SakEdRn8Dlnm+gW/qWKKjS5sZzQ==} + engines: {node: '>=4'} filenamify@4.3.0: - resolution: - { integrity: sha512-hcFKyUG57yWGAzu1CMt/dPzYZuv+jAJUT85bL8mrXvNe6hWj6yEHEc4EdcgiA6Z3oi1/9wXJdZPXF2dZNgwgOg== } - engines: { node: ">=8" } + resolution: {integrity: sha512-hcFKyUG57yWGAzu1CMt/dPzYZuv+jAJUT85bL8mrXvNe6hWj6yEHEc4EdcgiA6Z3oi1/9wXJdZPXF2dZNgwgOg==} + engines: {node: '>=8'} fill-range@7.0.1: - resolution: - { integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== } - engines: { node: ">=8" } + resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} + engines: {node: '>=8'} finalhandler@2.1.1: - resolution: - { integrity: sha512-S8KoZgRZN+a5rNwqTxlZZePjT/4cnm0ROV70LedRHZ0p8u9fRID0hJUZQpkKLzro8LfmC8sx23bY6tVNxv8pQA== } - engines: { node: ">= 18.0.0" } + resolution: {integrity: sha512-S8KoZgRZN+a5rNwqTxlZZePjT/4cnm0ROV70LedRHZ0p8u9fRID0hJUZQpkKLzro8LfmC8sx23bY6tVNxv8pQA==} + engines: {node: '>= 18.0.0'} find-cache-dir@3.3.2: - resolution: - { integrity: sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig== } - engines: { node: ">=8" } + resolution: {integrity: sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==} + engines: {node: '>=8'} find-up@2.1.0: - resolution: - { integrity: sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ== } - engines: { node: ">=4" } + resolution: {integrity: sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==} + engines: {node: '>=4'} find-up@4.1.0: - resolution: - { integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== } - engines: { node: ">=8" } + resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} + engines: {node: '>=8'} find-up@5.0.0: - resolution: - { integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== } - engines: { node: ">=10" } + resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} + engines: {node: '>=10'} find-up@8.0.0: - resolution: - { integrity: sha512-JGG8pvDi2C+JxidYdIwQDyS/CgcrIdh18cvgxcBge3wSHRQOrooMD3GlFBcmMJAN9M42SAZjDp5zv1dglJjwww== } - engines: { node: ">=20" } + resolution: {integrity: sha512-JGG8pvDi2C+JxidYdIwQDyS/CgcrIdh18cvgxcBge3wSHRQOrooMD3GlFBcmMJAN9M42SAZjDp5zv1dglJjwww==} + engines: {node: '>=20'} flat-cache@4.0.1: - resolution: - { integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw== } - engines: { node: ">=16" } + resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} + engines: {node: '>=16'} flat@5.0.2: - resolution: - { integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ== } + resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==} hasBin: true flatted@3.3.3: - resolution: - { integrity: sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg== } + resolution: {integrity: sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==} flatted@3.4.0: - resolution: - { integrity: sha512-kC6Bb+ooptOIvWj5B63EQWkF0FEnNjV2ZNkLMLZRDDduIiWeFF4iKnslwhiWxjAdbg4NzTNo6h0qLuvFrcx+Sw== } + resolution: {integrity: sha512-kC6Bb+ooptOIvWj5B63EQWkF0FEnNjV2ZNkLMLZRDDduIiWeFF4iKnslwhiWxjAdbg4NzTNo6h0qLuvFrcx+Sw==} fn.name@1.1.0: - resolution: - { integrity: sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw== } + resolution: {integrity: sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==} follow-redirects@1.15.6: - resolution: - { integrity: sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA== } - engines: { node: ">=4.0" } + resolution: {integrity: sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==} + engines: {node: '>=4.0'} peerDependencies: - debug: "*" + debug: '*' peerDependenciesMeta: debug: optional: true foreground-child@3.1.1: - resolution: - { integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg== } - engines: { node: ">=14" } + resolution: {integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==} + engines: {node: '>=14'} foreground-child@3.3.1: - resolution: - { integrity: sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw== } - engines: { node: ">=14" } + resolution: {integrity: sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==} + engines: {node: '>=14'} form-data@4.0.5: - resolution: - { integrity: sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w== } - engines: { node: ">= 6" } + resolution: {integrity: sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==} + engines: {node: '>= 6'} forwarded@0.2.0: - resolution: - { integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow== } - engines: { node: ">= 0.6" } + resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} + engines: {node: '>= 0.6'} fresh@2.0.0: - resolution: - { integrity: sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A== } - engines: { node: ">= 0.8" } + resolution: {integrity: sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==} + engines: {node: '>= 0.8'} front-matter@4.0.2: - resolution: - { integrity: sha512-I8ZuJ/qG92NWX8i5x1Y8qyj3vizhXS31OxjKDu3LKP+7/qBgfIKValiZIEwoVoJKUHlhWtYrktkxV1XsX+pPlg== } + resolution: {integrity: sha512-I8ZuJ/qG92NWX8i5x1Y8qyj3vizhXS31OxjKDu3LKP+7/qBgfIKValiZIEwoVoJKUHlhWtYrktkxV1XsX+pPlg==} fs-constants@1.0.0: - resolution: - { integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== } + resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} fs-extra@11.3.4: - resolution: - { integrity: sha512-CTXd6rk/M3/ULNQj8FBqBWHYBVYybQ3VPBw0xGKFe3tuH7ytT6ACnvzpIQ3UZtB8yvUKC2cXn1a+x+5EVQLovA== } - engines: { node: ">=14.14" } + resolution: {integrity: sha512-CTXd6rk/M3/ULNQj8FBqBWHYBVYybQ3VPBw0xGKFe3tuH7ytT6ACnvzpIQ3UZtB8yvUKC2cXn1a+x+5EVQLovA==} + engines: {node: '>=14.14'} fs-extra@8.1.0: - resolution: - { integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g== } - engines: { node: ">=6 <7 || >=8" } + resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==} + engines: {node: '>=6 <7 || >=8'} fs-minipass@2.1.0: - resolution: - { integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg== } - engines: { node: ">= 8" } + resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==} + engines: {node: '>= 8'} fs-minipass@3.0.2: - resolution: - { integrity: sha512-2GAfyfoaCDRrM6jaOS3UsBts8yJ55VioXdWcOL7dK9zdAuKT71+WBA4ifnNYqVjYv+4SsPxjK0JT4yIIn4cA/g== } - engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } + resolution: {integrity: sha512-2GAfyfoaCDRrM6jaOS3UsBts8yJ55VioXdWcOL7dK9zdAuKT71+WBA4ifnNYqVjYv+4SsPxjK0JT4yIIn4cA/g==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} fs.realpath@1.0.0: - resolution: - { integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== } + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} fsevents@2.3.3: - resolution: - { integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== } - engines: { node: ^8.16.0 || ^10.6.0 || >=11.0.0 } + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} os: [darwin] function-bind@1.1.2: - resolution: - { integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== } + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} get-caller-file@2.0.5: - resolution: - { integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== } - engines: { node: 6.* || 8.* || >= 10.* } + resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} + engines: {node: 6.* || 8.* || >= 10.*} get-east-asian-width@1.3.0: - resolution: - { integrity: sha512-vpeMIQKxczTD/0s2CdEWHcb0eeJe6TFjxb+J5xgX7hScxqrGuyjmv4c1D4A/gelKfyox0gJJwIHF+fLjeaM8kQ== } - engines: { node: ">=18" } + resolution: {integrity: sha512-vpeMIQKxczTD/0s2CdEWHcb0eeJe6TFjxb+J5xgX7hScxqrGuyjmv4c1D4A/gelKfyox0gJJwIHF+fLjeaM8kQ==} + engines: {node: '>=18'} get-intrinsic@1.3.0: - resolution: - { integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ== } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==} + engines: {node: '>= 0.4'} get-pkg-repo@4.2.1: - resolution: - { integrity: sha512-2+QbHjFRfGB74v/pYWjd5OhU3TDIC2Gv/YKUTk/tCvAz0pkn/Mz6P3uByuBimLOcPvN2jYdScl3xGFSrx0jEcA== } - engines: { node: ">=6.9.0" } + resolution: {integrity: sha512-2+QbHjFRfGB74v/pYWjd5OhU3TDIC2Gv/YKUTk/tCvAz0pkn/Mz6P3uByuBimLOcPvN2jYdScl3xGFSrx0jEcA==} + engines: {node: '>=6.9.0'} hasBin: true get-proto@1.0.1: - resolution: - { integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g== } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==} + engines: {node: '>= 0.4'} get-stream@5.2.0: - resolution: - { integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== } - engines: { node: ">=8" } + resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} + engines: {node: '>=8'} get-stream@6.0.0: - resolution: - { integrity: sha512-A1B3Bh1UmL0bidM/YX2NsCOTnGJePL9rO/M+Mw3m9f2gUpfokS0hi5Eah0WSUEWZdZhIZtMjkIYS7mDfOqNHbg== } - engines: { node: ">=10" } + resolution: {integrity: sha512-A1B3Bh1UmL0bidM/YX2NsCOTnGJePL9rO/M+Mw3m9f2gUpfokS0hi5Eah0WSUEWZdZhIZtMjkIYS7mDfOqNHbg==} + engines: {node: '>=10'} get-stream@6.0.1: - resolution: - { integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== } - engines: { node: ">=10" } + resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} + engines: {node: '>=10'} gh-pages@6.3.0: - resolution: - { integrity: sha512-Ot5lU6jK0Eb+sszG8pciXdjMXdBJ5wODvgjR+imihTqsUWF2K6dJ9HST55lgqcs8wWcw6o6wAsUzfcYRhJPXbA== } - engines: { node: ">=10" } + resolution: {integrity: sha512-Ot5lU6jK0Eb+sszG8pciXdjMXdBJ5wODvgjR+imihTqsUWF2K6dJ9HST55lgqcs8wWcw6o6wAsUzfcYRhJPXbA==} + engines: {node: '>=10'} hasBin: true git-raw-commits@3.0.0: - resolution: - { integrity: sha512-b5OHmZ3vAgGrDn/X0kS+9qCfNKWe4K/jFnhwzVWWg0/k5eLa3060tZShrRg8Dja5kPc+YjS0Gc6y7cRr44Lpjw== } - engines: { node: ">=14" } + resolution: {integrity: sha512-b5OHmZ3vAgGrDn/X0kS+9qCfNKWe4K/jFnhwzVWWg0/k5eLa3060tZShrRg8Dja5kPc+YjS0Gc6y7cRr44Lpjw==} + engines: {node: '>=14'} deprecated: This package is no longer maintained. For the JavaScript API, please use @conventional-changelog/git-client instead. hasBin: true git-raw-commits@5.0.1: - resolution: - { integrity: sha512-Y+csSm2GD/PCSh6Isd/WiMjNAydu0VBiG9J7EdQsNA5P9uXvLayqjmTsNlK5Gs9IhblFZqOU0yid5Il5JPoLiQ== } - engines: { node: ">=18" } + resolution: {integrity: sha512-Y+csSm2GD/PCSh6Isd/WiMjNAydu0VBiG9J7EdQsNA5P9uXvLayqjmTsNlK5Gs9IhblFZqOU0yid5Il5JPoLiQ==} + engines: {node: '>=18'} hasBin: true git-remote-origin-url@2.0.0: - resolution: - { integrity: sha512-eU+GGrZgccNJcsDH5LkXR3PB9M958hxc7sbA8DFJjrv9j4L2P/eZfKhM+QD6wyzpiv+b1BpK0XrYCxkovtjSLw== } - engines: { node: ">=4" } + resolution: {integrity: sha512-eU+GGrZgccNJcsDH5LkXR3PB9M958hxc7sbA8DFJjrv9j4L2P/eZfKhM+QD6wyzpiv+b1BpK0XrYCxkovtjSLw==} + engines: {node: '>=4'} git-semver-tags@5.0.0: - resolution: - { integrity: sha512-fZ+tmZ1O5aXW/T5nLzZLbxWAHdQTLLXalOECMNAmhoEQSfqZjtaeMjpsXH4C5qVhrICTkVQeQFujB1lKzIHljA== } - engines: { node: ">=14" } + resolution: {integrity: sha512-fZ+tmZ1O5aXW/T5nLzZLbxWAHdQTLLXalOECMNAmhoEQSfqZjtaeMjpsXH4C5qVhrICTkVQeQFujB1lKzIHljA==} + engines: {node: '>=14'} deprecated: This package is no longer maintained. For the JavaScript API, please use @conventional-changelog/git-client instead. hasBin: true git-up@7.0.0: - resolution: - { integrity: sha512-ONdIrbBCFusq1Oy0sC71F5azx8bVkvtZtMJAsv+a6lz5YAmbNnLD6HAB4gptHZVLPR8S2/kVN6Gab7lryq5+lQ== } + resolution: {integrity: sha512-ONdIrbBCFusq1Oy0sC71F5azx8bVkvtZtMJAsv+a6lz5YAmbNnLD6HAB4gptHZVLPR8S2/kVN6Gab7lryq5+lQ==} git-url-parse@14.0.0: - resolution: - { integrity: sha512-NnLweV+2A4nCvn4U/m2AoYu0pPKlsmhK9cknG7IMwsjFY1S2jxM+mAhsDxyxfCIGfGaD+dozsyX4b6vkYc83yQ== } + resolution: {integrity: sha512-NnLweV+2A4nCvn4U/m2AoYu0pPKlsmhK9cknG7IMwsjFY1S2jxM+mAhsDxyxfCIGfGaD+dozsyX4b6vkYc83yQ==} gitconfiglocal@1.0.0: - resolution: - { integrity: sha512-spLUXeTAVHxDtKsJc8FkFVgFtMdEN9qPGpL23VfSHx4fP4+Ds097IXLvymbnDH8FnmxX5Nr9bPw3A+AQ6mWEaQ== } + resolution: {integrity: sha512-spLUXeTAVHxDtKsJc8FkFVgFtMdEN9qPGpL23VfSHx4fP4+Ds097IXLvymbnDH8FnmxX5Nr9bPw3A+AQ6mWEaQ==} github-from-package@0.0.0: - resolution: - { integrity: sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw== } + resolution: {integrity: sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==} glob-parent@5.1.2: - resolution: - { integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== } - engines: { node: ">= 6" } + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} glob-parent@6.0.2: - resolution: - { integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== } - engines: { node: ">=10.13.0" } + resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} + engines: {node: '>=10.13.0'} glob-to-regexp@0.4.1: - resolution: - { integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== } + resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} glob@10.4.5: - resolution: - { integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg== } + resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==} deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me hasBin: true glob@11.1.0: - resolution: - { integrity: sha512-vuNwKSaKiqm7g0THUBu2x7ckSs3XJLXE+2ssL7/MfTGPLLcrJQ/4Uq1CjPTtO5cCIiRxqvN6Twy1qOwhL0Xjcw== } - engines: { node: 20 || >=22 } + resolution: {integrity: sha512-vuNwKSaKiqm7g0THUBu2x7ckSs3XJLXE+2ssL7/MfTGPLLcrJQ/4Uq1CjPTtO5cCIiRxqvN6Twy1qOwhL0Xjcw==} + engines: {node: 20 || >=22} deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me hasBin: true glob@13.0.6: - resolution: - { integrity: sha512-Wjlyrolmm8uDpm/ogGyXZXb1Z+Ca2B8NbJwqBVg0axK9GbBeoS7yGV6vjXnYdGm6X53iehEuxxbyiKp8QmN4Vw== } - engines: { node: 18 || 20 || >=22 } + resolution: {integrity: sha512-Wjlyrolmm8uDpm/ogGyXZXb1Z+Ca2B8NbJwqBVg0axK9GbBeoS7yGV6vjXnYdGm6X53iehEuxxbyiKp8QmN4Vw==} + engines: {node: 18 || 20 || >=22} glob@7.2.3: - resolution: - { integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== } + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me global-agent@3.0.0: - resolution: - { integrity: sha512-PT6XReJ+D07JvGoxQMkT6qji/jVNfX/h364XHZOWeRzy64sSFr+xJ5OX7LI3b4MPQzdL4H8Y8M0xzPpsVMwA8Q== } - engines: { node: ">=10.0" } + resolution: {integrity: sha512-PT6XReJ+D07JvGoxQMkT6qji/jVNfX/h364XHZOWeRzy64sSFr+xJ5OX7LI3b4MPQzdL4H8Y8M0xzPpsVMwA8Q==} + engines: {node: '>=10.0'} global-directory@4.0.1: - resolution: - { integrity: sha512-wHTUcDUoZ1H5/0iVqEudYW4/kAlN5cZ3j/bXn0Dpbizl9iaUVeWSHqiOjsgk6OW2bkLclbBjzewBz6weQ1zA2Q== } - engines: { node: ">=18" } + resolution: {integrity: sha512-wHTUcDUoZ1H5/0iVqEudYW4/kAlN5cZ3j/bXn0Dpbizl9iaUVeWSHqiOjsgk6OW2bkLclbBjzewBz6weQ1zA2Q==} + engines: {node: '>=18'} globalthis@1.0.4: - resolution: - { integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ== } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==} + engines: {node: '>= 0.4'} globby@11.1.0: - resolution: - { integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== } - engines: { node: ">=10" } + resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} + engines: {node: '>=10'} gopd@1.2.0: - resolution: - { integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg== } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} + engines: {node: '>= 0.4'} got@11.8.6: - resolution: - { integrity: sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g== } - engines: { node: ">=10.19.0" } + resolution: {integrity: sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==} + engines: {node: '>=10.19.0'} graceful-fs@4.2.11: - resolution: - { integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== } + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} handlebars@4.7.7: - resolution: - { integrity: sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA== } - engines: { node: ">=0.4.7" } + resolution: {integrity: sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==} + engines: {node: '>=0.4.7'} hasBin: true hard-rejection@2.1.0: - resolution: - { integrity: sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA== } - engines: { node: ">=6" } + resolution: {integrity: sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==} + engines: {node: '>=6'} has-flag@3.0.0: - resolution: - { integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== } - engines: { node: ">=4" } + resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} + engines: {node: '>=4'} has-flag@4.0.0: - resolution: - { integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== } - engines: { node: ">=8" } + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} has-property-descriptors@1.0.2: - resolution: - { integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg== } + resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} has-symbols@1.1.0: - resolution: - { integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ== } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==} + engines: {node: '>= 0.4'} has-tostringtag@1.0.2: - resolution: - { integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw== } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} + engines: {node: '>= 0.4'} has-unicode@2.0.1: - resolution: - { integrity: sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ== } + resolution: {integrity: sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==} hasown@2.0.2: - resolution: - { integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ== } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} + engines: {node: '>= 0.4'} helmet@8.1.0: - resolution: - { integrity: sha512-jOiHyAZsmnr8LqoPGmCjYAaiuWwjAPLgY8ZX2XrmHawt99/u1y6RgrZMTeoPfpUbV96HOalYgz1qzkRbw54Pmg== } - engines: { node: ">=18.0.0" } + resolution: {integrity: sha512-jOiHyAZsmnr8LqoPGmCjYAaiuWwjAPLgY8ZX2XrmHawt99/u1y6RgrZMTeoPfpUbV96HOalYgz1qzkRbw54Pmg==} + engines: {node: '>=18.0.0'} hosted-git-info@2.8.9: - resolution: - { integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== } + resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} hosted-git-info@4.1.0: - resolution: - { integrity: sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA== } - engines: { node: ">=10" } + resolution: {integrity: sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==} + engines: {node: '>=10'} hosted-git-info@8.1.0: - resolution: - { integrity: sha512-Rw/B2DNQaPBICNXEm8balFz9a6WpZrkCGpcWFpy7nCj+NyhSdqXipmfvtmWt9xGfp0wZnBxB+iVpLmQMYt47Tw== } - engines: { node: ^18.17.0 || >=20.5.0 } + resolution: {integrity: sha512-Rw/B2DNQaPBICNXEm8balFz9a6WpZrkCGpcWFpy7nCj+NyhSdqXipmfvtmWt9xGfp0wZnBxB+iVpLmQMYt47Tw==} + engines: {node: ^18.17.0 || >=20.5.0} hosted-git-info@9.0.2: - resolution: - { integrity: sha512-M422h7o/BR3rmCQ8UHi7cyyMqKltdP9Uo+J2fXK+RSAY+wTcKOIRyhTuKv4qn+DJf3g+PL890AzId5KZpX+CBg== } - engines: { node: ^20.17.0 || >=22.9.0 } + resolution: {integrity: sha512-M422h7o/BR3rmCQ8UHi7cyyMqKltdP9Uo+J2fXK+RSAY+wTcKOIRyhTuKv4qn+DJf3g+PL890AzId5KZpX+CBg==} + engines: {node: ^20.17.0 || >=22.9.0} html-encoding-sniffer@6.0.0: - resolution: - { integrity: sha512-CV9TW3Y3f8/wT0BRFc1/KAVQ3TUHiXmaAb6VW9vtiMFf7SLoMd1PdAc4W3KFOFETBJUb90KatHqlsZMWV+R9Gg== } - engines: { node: ^20.19.0 || ^22.12.0 || >=24.0.0 } + resolution: {integrity: sha512-CV9TW3Y3f8/wT0BRFc1/KAVQ3TUHiXmaAb6VW9vtiMFf7SLoMd1PdAc4W3KFOFETBJUb90KatHqlsZMWV+R9Gg==} + engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0} html-entities@2.6.0: - resolution: - { integrity: sha512-kig+rMn/QOVRvr7c86gQ8lWXq+Hkv6CbAH1hLu+RG338StTpE8Z0b44SDVaqVu7HGKf27frdmUYEs9hTUX/cLQ== } + resolution: {integrity: sha512-kig+rMn/QOVRvr7c86gQ8lWXq+Hkv6CbAH1hLu+RG338StTpE8Z0b44SDVaqVu7HGKf27frdmUYEs9hTUX/cLQ==} html-escaper@2.0.2: - resolution: - { integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== } + resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} html-minifier-next@5.2.0: - resolution: - { integrity: sha512-11wQG8dw+sIEdIt8LNBdV8R8nyXwAX4ni8WSpTdulP3RN4evUSx12cwe0FuO9HRsteBTKUUlKZkS/2XRBSYfLg== } + resolution: {integrity: sha512-11wQG8dw+sIEdIt8LNBdV8R8nyXwAX4ni8WSpTdulP3RN4evUSx12cwe0FuO9HRsteBTKUUlKZkS/2XRBSYfLg==} hasBin: true peerDependencies: - "@swc/core": ^1.15.7 + '@swc/core': ^1.15.7 peerDependenciesMeta: - "@swc/core": + '@swc/core': optional: true http-cache-semantics@4.2.0: - resolution: - { integrity: sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ== } + resolution: {integrity: sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==} http-errors@2.0.0: - resolution: - { integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ== } - engines: { node: ">= 0.8" } + resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} + engines: {node: '>= 0.8'} http-errors@2.0.1: - resolution: - { integrity: sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ== } - engines: { node: ">= 0.8" } + resolution: {integrity: sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==} + engines: {node: '>= 0.8'} http-proxy-agent@7.0.2: - resolution: - { integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig== } - engines: { node: ">= 14" } + resolution: {integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==} + engines: {node: '>= 14'} http2-wrapper@1.0.3: - resolution: - { integrity: sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg== } - engines: { node: ">=10.19.0" } + resolution: {integrity: sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==} + engines: {node: '>=10.19.0'} https-proxy-agent@7.0.6: - resolution: - { integrity: sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw== } - engines: { node: ">= 14" } + resolution: {integrity: sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==} + engines: {node: '>= 14'} human-signals@2.1.0: - resolution: - { integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== } - engines: { node: ">=10.17.0" } + resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} + engines: {node: '>=10.17.0'} husky@9.1.7: - resolution: - { integrity: sha512-5gs5ytaNjBrh5Ow3zrvdUUY+0VxIuWVL4i9irt6friV+BqdCfmV11CQTWMiBYWHbXhco+J1kHfTOUkePhCDvMA== } - engines: { node: ">=18" } + resolution: {integrity: sha512-5gs5ytaNjBrh5Ow3zrvdUUY+0VxIuWVL4i9irt6friV+BqdCfmV11CQTWMiBYWHbXhco+J1kHfTOUkePhCDvMA==} + engines: {node: '>=18'} hasBin: true iconv-lite@0.6.3: - resolution: - { integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} + engines: {node: '>=0.10.0'} iconv-lite@0.7.1: - resolution: - { integrity: sha512-2Tth85cXwGFHfvRgZWszZSvdo+0Xsqmw8k8ZwxScfcBneNUraK+dxRxRm24nszx80Y0TVio8kKLt5sLE7ZCLlw== } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-2Tth85cXwGFHfvRgZWszZSvdo+0Xsqmw8k8ZwxScfcBneNUraK+dxRxRm24nszx80Y0TVio8kKLt5sLE7ZCLlw==} + engines: {node: '>=0.10.0'} ieee754@1.2.1: - resolution: - { integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== } + resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} ignore-by-default@1.0.1: - resolution: - { integrity: sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA== } + resolution: {integrity: sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA==} ignore-walk@8.0.0: - resolution: - { integrity: sha512-FCeMZT4NiRQGh+YkeKMtWrOmBgWjHjMJ26WQWrRQyoyzqevdaGSakUaJW5xQYmjLlUVk2qUnCjYVBax9EKKg8A== } - engines: { node: ^20.17.0 || >=22.9.0 } + resolution: {integrity: sha512-FCeMZT4NiRQGh+YkeKMtWrOmBgWjHjMJ26WQWrRQyoyzqevdaGSakUaJW5xQYmjLlUVk2qUnCjYVBax9EKKg8A==} + engines: {node: ^20.17.0 || >=22.9.0} ignore@5.3.1: - resolution: - { integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw== } - engines: { node: ">= 4" } + resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} + engines: {node: '>= 4'} ignore@7.0.5: - resolution: - { integrity: sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg== } - engines: { node: ">= 4" } + resolution: {integrity: sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==} + engines: {node: '>= 4'} immutable@5.1.5: - resolution: - { integrity: sha512-t7xcm2siw+hlUM68I+UEOK+z84RzmN59as9DZ7P1l0994DKUWV7UXBMQZVxaoMSRQ+PBZbHCOoBt7a2wxOMt+A== } + resolution: {integrity: sha512-t7xcm2siw+hlUM68I+UEOK+z84RzmN59as9DZ7P1l0994DKUWV7UXBMQZVxaoMSRQ+PBZbHCOoBt7a2wxOMt+A==} import-fresh@3.3.0: - resolution: - { integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== } - engines: { node: ">=6" } + resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} + engines: {node: '>=6'} import-local@3.1.0: - resolution: - { integrity: sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg== } - engines: { node: ">=8" } + resolution: {integrity: sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==} + engines: {node: '>=8'} hasBin: true import-meta-resolve@4.0.0: - resolution: - { integrity: sha512-okYUR7ZQPH+efeuMJGlq4f8ubUgO50kByRPyt/Cy1Io4PSRsPjxME+YlVaCOx+NIToW7hCsZNFJyTPFFKepRSA== } + resolution: {integrity: sha512-okYUR7ZQPH+efeuMJGlq4f8ubUgO50kByRPyt/Cy1Io4PSRsPjxME+YlVaCOx+NIToW7hCsZNFJyTPFFKepRSA==} imurmurhash@0.1.4: - resolution: - { integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== } - engines: { node: ">=0.8.19" } + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} + engines: {node: '>=0.8.19'} indent-string@4.0.0: - resolution: - { integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== } - engines: { node: ">=8" } + resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} + engines: {node: '>=8'} inflight@1.0.6: - resolution: - { integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== } + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. inherits@2.0.4: - resolution: - { integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== } + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} ini@1.3.8: - resolution: - { integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== } + resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} ini@4.1.1: - resolution: - { integrity: sha512-QQnnxNyfvmHFIsj7gkPcYymR8Jdw/o7mp5ZFihxn6h8Ci6fh3Dx4E1gPjpQEpIuPo9XVNY/ZUwh4BPMjGyL01g== } - engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } + resolution: {integrity: sha512-QQnnxNyfvmHFIsj7gkPcYymR8Jdw/o7mp5ZFihxn6h8Ci6fh3Dx4E1gPjpQEpIuPo9XVNY/ZUwh4BPMjGyL01g==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} ini@4.1.3: - resolution: - { integrity: sha512-X7rqawQBvfdjS10YU1y1YVreA3SsLrW9dX2CewP2EbBJM4ypVNLDkO5y04gejPwKIY9lR+7r9gn3rFPt/kmWFg== } - engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } + resolution: {integrity: sha512-X7rqawQBvfdjS10YU1y1YVreA3SsLrW9dX2CewP2EbBJM4ypVNLDkO5y04gejPwKIY9lR+7r9gn3rFPt/kmWFg==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} ini@5.0.0: - resolution: - { integrity: sha512-+N0ngpO3e7cRUWOJAS7qw0IZIVc6XPrW4MlFBdD066F2L4k1L6ker3hLqSq7iXxU5tgS4WGkIUElWn5vogAEnw== } - engines: { node: ^18.17.0 || >=20.5.0 } + resolution: {integrity: sha512-+N0ngpO3e7cRUWOJAS7qw0IZIVc6XPrW4MlFBdD066F2L4k1L6ker3hLqSq7iXxU5tgS4WGkIUElWn5vogAEnw==} + engines: {node: ^18.17.0 || >=20.5.0} ini@6.0.0: - resolution: - { integrity: sha512-IBTdIkzZNOpqm7q3dRqJvMaldXjDHWkEDfrwGEQTs5eaQMWV+djAhR+wahyNNMAa+qpbDUhBMVt4ZKNwpPm7xQ== } - engines: { node: ^20.17.0 || >=22.9.0 } + resolution: {integrity: sha512-IBTdIkzZNOpqm7q3dRqJvMaldXjDHWkEDfrwGEQTs5eaQMWV+djAhR+wahyNNMAa+qpbDUhBMVt4ZKNwpPm7xQ==} + engines: {node: ^20.17.0 || >=22.9.0} init-package-json@8.2.2: - resolution: - { integrity: sha512-pXVMn67Jdw2hPKLCuJZj62NC9B2OIDd1R3JwZXTHXuEnfN3Uq5kJbKOSld6YEU+KOGfMD82EzxFTYz5o0SSJoA== } - engines: { node: ^20.17.0 || >=22.9.0 } + resolution: {integrity: sha512-pXVMn67Jdw2hPKLCuJZj62NC9B2OIDd1R3JwZXTHXuEnfN3Uq5kJbKOSld6YEU+KOGfMD82EzxFTYz5o0SSJoA==} + engines: {node: ^20.17.0 || >=22.9.0} inquirer@12.9.6: - resolution: - { integrity: sha512-603xXOgyfxhuis4nfnWaZrMaotNT0Km9XwwBNWUKbIDqeCY89jGr2F9YPEMiNhU6XjIP4VoWISMBFfcc5NgrTw== } - engines: { node: ">=18" } + resolution: {integrity: sha512-603xXOgyfxhuis4nfnWaZrMaotNT0Km9XwwBNWUKbIDqeCY89jGr2F9YPEMiNhU6XjIP4VoWISMBFfcc5NgrTw==} + engines: {node: '>=18'} peerDependencies: - "@types/node": ">=18" + '@types/node': '>=18' peerDependenciesMeta: - "@types/node": + '@types/node': optional: true interpret@3.1.1: - resolution: - { integrity: sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ== } - engines: { node: ">=10.13.0" } + resolution: {integrity: sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==} + engines: {node: '>=10.13.0'} ip-address@10.1.0: - resolution: - { integrity: sha512-XXADHxXmvT9+CRxhXg56LJovE+bmWnEWB78LB83VZTprKTmaC5QfruXocxzTZ2Kl0DNwKuBdlIhjL8LeY8Sf8Q== } - engines: { node: ">= 12" } + resolution: {integrity: sha512-XXADHxXmvT9+CRxhXg56LJovE+bmWnEWB78LB83VZTprKTmaC5QfruXocxzTZ2Kl0DNwKuBdlIhjL8LeY8Sf8Q==} + engines: {node: '>= 12'} ipaddr.js@1.9.1: - resolution: - { integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== } - engines: { node: ">= 0.10" } + resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} + engines: {node: '>= 0.10'} is-arrayish@0.2.1: - resolution: - { integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== } + resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} is-binary-path@2.1.0: - resolution: - { integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== } - engines: { node: ">=8" } + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} is-ci@3.0.1: - resolution: - { integrity: sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ== } + resolution: {integrity: sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==} hasBin: true is-core-module@2.16.1: - resolution: - { integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w== } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==} + engines: {node: '>= 0.4'} is-docker@2.2.1: - resolution: - { integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== } - engines: { node: ">=8" } + resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} + engines: {node: '>=8'} hasBin: true is-expression@4.0.0: - resolution: - { integrity: sha512-zMIXX63sxzG3XrkHkrAPvm/OVZVSCPNkwMHU8oTX7/U3AL78I0QXCEICXUM13BIa8TYGZ68PiTKfQz3yaTNr4A== } + resolution: {integrity: sha512-zMIXX63sxzG3XrkHkrAPvm/OVZVSCPNkwMHU8oTX7/U3AL78I0QXCEICXUM13BIa8TYGZ68PiTKfQz3yaTNr4A==} is-extglob@2.1.1: - resolution: - { integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} is-fullwidth-code-point@3.0.0: - resolution: - { integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== } - engines: { node: ">=8" } + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} is-glob@4.0.3: - resolution: - { integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} is-installed-globally@1.0.0: - resolution: - { integrity: sha512-K55T22lfpQ63N4KEN57jZUAaAYqYHEe8veb/TycJRk9DdSCLLcovXz/mL6mOnhQaZsQGwPhuFopdQIlqGSEjiQ== } - engines: { node: ">=18" } + resolution: {integrity: sha512-K55T22lfpQ63N4KEN57jZUAaAYqYHEe8veb/TycJRk9DdSCLLcovXz/mL6mOnhQaZsQGwPhuFopdQIlqGSEjiQ==} + engines: {node: '>=18'} is-interactive@1.0.0: - resolution: - { integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w== } - engines: { node: ">=8" } + resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==} + engines: {node: '>=8'} is-number@7.0.0: - resolution: - { integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== } - engines: { node: ">=0.12.0" } + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} is-obj@2.0.0: - resolution: - { integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w== } - engines: { node: ">=8" } + resolution: {integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==} + engines: {node: '>=8'} is-path-inside@4.0.0: - resolution: - { integrity: sha512-lJJV/5dYS+RcL8uQdBDW9c9uWFLLBNRyFhnAKXw5tVqLlKZ4RMGZKv+YQ/IA3OhD+RpbJa1LLFM1FQPGyIXvOA== } - engines: { node: ">=12" } + resolution: {integrity: sha512-lJJV/5dYS+RcL8uQdBDW9c9uWFLLBNRyFhnAKXw5tVqLlKZ4RMGZKv+YQ/IA3OhD+RpbJa1LLFM1FQPGyIXvOA==} + engines: {node: '>=12'} is-plain-obj@1.1.0: - resolution: - { integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg== } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==} + engines: {node: '>=0.10.0'} is-plain-obj@4.1.0: - resolution: - { integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg== } - engines: { node: ">=12" } + resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} + engines: {node: '>=12'} is-plain-object@2.0.4: - resolution: - { integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==} + engines: {node: '>=0.10.0'} is-potential-custom-element-name@1.0.1: - resolution: - { integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ== } + resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==} is-promise@2.2.2: - resolution: - { integrity: sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ== } + resolution: {integrity: sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==} is-promise@4.0.0: - resolution: - { integrity: sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ== } + resolution: {integrity: sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==} is-regex@1.1.4: - resolution: - { integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} + engines: {node: '>= 0.4'} is-ssh@1.4.0: - resolution: - { integrity: sha512-x7+VxdxOdlV3CYpjvRLBv5Lo9OJerlYanjwFrPR9fuGPjCiNiCzFgAWpiLAohSbsnH4ZAys3SBh+hq5rJosxUQ== } + resolution: {integrity: sha512-x7+VxdxOdlV3CYpjvRLBv5Lo9OJerlYanjwFrPR9fuGPjCiNiCzFgAWpiLAohSbsnH4ZAys3SBh+hq5rJosxUQ==} is-stream@2.0.1: - resolution: - { integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== } - engines: { node: ">=8" } + resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} + engines: {node: '>=8'} is-text-path@1.0.1: - resolution: - { integrity: sha512-xFuJpne9oFz5qDaodwmmG08e3CawH/2ZV8Qqza1Ko7Sk8POWbkRdwIoAWVhqvq0XeUzANEhKo2n0IXUGBm7A/w== } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-xFuJpne9oFz5qDaodwmmG08e3CawH/2ZV8Qqza1Ko7Sk8POWbkRdwIoAWVhqvq0XeUzANEhKo2n0IXUGBm7A/w==} + engines: {node: '>=0.10.0'} is-unicode-supported@0.1.0: - resolution: - { integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw== } - engines: { node: ">=10" } + resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} + engines: {node: '>=10'} is-wsl@2.2.0: - resolution: - { integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== } - engines: { node: ">=8" } + resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} + engines: {node: '>=8'} isarray@0.0.1: - resolution: - { integrity: sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ== } + resolution: {integrity: sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==} isarray@1.0.0: - resolution: - { integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== } + resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} isexe@2.0.0: - resolution: - { integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== } + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} isexe@3.1.1: - resolution: - { integrity: sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ== } - engines: { node: ">=16" } + resolution: {integrity: sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==} + engines: {node: '>=16'} isobject@3.0.1: - resolution: - { integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg== } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==} + engines: {node: '>=0.10.0'} istanbul-lib-coverage@3.2.2: - resolution: - { integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg== } - engines: { node: ">=8" } + resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==} + engines: {node: '>=8'} istanbul-lib-report@3.0.1: - resolution: - { integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw== } - engines: { node: ">=10" } + resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==} + engines: {node: '>=10'} istanbul-reports@3.2.0: - resolution: - { integrity: sha512-HGYWWS/ehqTV3xN10i23tkPkpH46MLCIMFNCaaKNavAXTF1RkqxawEPtnjnGZ6XKSInBKkiOA5BKS+aZiY3AvA== } - engines: { node: ">=8" } + resolution: {integrity: sha512-HGYWWS/ehqTV3xN10i23tkPkpH46MLCIMFNCaaKNavAXTF1RkqxawEPtnjnGZ6XKSInBKkiOA5BKS+aZiY3AvA==} + engines: {node: '>=8'} jackspeak@3.4.3: - resolution: - { integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw== } + resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} jackspeak@4.1.1: - resolution: - { integrity: sha512-zptv57P3GpL+O0I7VdMJNBZCu+BPHVQUk55Ft8/QCJjTVxrnJHuVuX/0Bl2A6/+2oyR/ZMEuFKwmzqqZ/U5nPQ== } - engines: { node: 20 || >=22 } + resolution: {integrity: sha512-zptv57P3GpL+O0I7VdMJNBZCu+BPHVQUk55Ft8/QCJjTVxrnJHuVuX/0Bl2A6/+2oyR/ZMEuFKwmzqqZ/U5nPQ==} + engines: {node: 20 || >=22} jake@10.8.7: - resolution: - { integrity: sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w== } - engines: { node: ">=10" } + resolution: {integrity: sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w==} + engines: {node: '>=10'} hasBin: true javascript-natural-sort@0.7.1: - resolution: - { integrity: sha512-nO6jcEfZWQXDhOiBtG2KvKyEptz7RVbpGP4vTD2hLBdmNQSsCiicO2Ioinv6UI4y9ukqnBpy+XZ9H6uLNgJTlw== } + resolution: {integrity: sha512-nO6jcEfZWQXDhOiBtG2KvKyEptz7RVbpGP4vTD2hLBdmNQSsCiicO2Ioinv6UI4y9ukqnBpy+XZ9H6uLNgJTlw==} jest-diff@30.2.0: - resolution: - { integrity: sha512-dQHFo3Pt4/NLlG5z4PxZ/3yZTZ1C7s9hveiOj+GCN+uT109NC2QgsoVZsVOAvbJ3RgKkvyLGXZV9+piDpWbm6A== } - engines: { node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0 } + resolution: {integrity: sha512-dQHFo3Pt4/NLlG5z4PxZ/3yZTZ1C7s9hveiOj+GCN+uT109NC2QgsoVZsVOAvbJ3RgKkvyLGXZV9+piDpWbm6A==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} jest-worker@27.5.1: - resolution: - { integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg== } - engines: { node: ">= 10.13.0" } + resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} + engines: {node: '>= 10.13.0'} jiti@2.6.1: - resolution: - { integrity: sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ== } + resolution: {integrity: sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==} hasBin: true jju@1.4.0: - resolution: - { integrity: sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA== } + resolution: {integrity: sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==} jmespath@0.16.0: - resolution: - { integrity: sha512-9FzQjJ7MATs1tSpnco1K6ayiYE3figslrXA72G2HQ/n76RzvYlofyi5QM+iX4YRs/pu3yzxlVQSST23+dMDknw== } - engines: { node: ">= 0.6.0" } + resolution: {integrity: sha512-9FzQjJ7MATs1tSpnco1K6ayiYE3figslrXA72G2HQ/n76RzvYlofyi5QM+iX4YRs/pu3yzxlVQSST23+dMDknw==} + engines: {node: '>= 0.6.0'} jquery@4.0.0: - resolution: - { integrity: sha512-TXCHVR3Lb6TZdtw1l3RTLf8RBWVGexdxL6AC8/e0xZKEpBflBsjh9/8LXw+dkNFuOyW9B7iB3O1sP7hS0Kiacg== } + resolution: {integrity: sha512-TXCHVR3Lb6TZdtw1l3RTLf8RBWVGexdxL6AC8/e0xZKEpBflBsjh9/8LXw+dkNFuOyW9B7iB3O1sP7hS0Kiacg==} js-stringify@1.0.2: - resolution: - { integrity: sha512-rtS5ATOo2Q5k1G+DADISilDA6lv79zIiwFd6CcjuIxGKLFm5C+RLImRscVap9k55i+MOZwgliw+NejvkLuGD5g== } + resolution: {integrity: sha512-rtS5ATOo2Q5k1G+DADISilDA6lv79zIiwFd6CcjuIxGKLFm5C+RLImRscVap9k55i+MOZwgliw+NejvkLuGD5g==} js-tokens@10.0.0: - resolution: - { integrity: sha512-lM/UBzQmfJRo9ABXbPWemivdCW8V2G8FHaHdypQaIy523snUjog0W71ayWXTjiR+ixeMyVHN2XcpnTd/liPg/Q== } + resolution: {integrity: sha512-lM/UBzQmfJRo9ABXbPWemivdCW8V2G8FHaHdypQaIy523snUjog0W71ayWXTjiR+ixeMyVHN2XcpnTd/liPg/Q==} js-tokens@4.0.0: - resolution: - { integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== } + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} js-yaml@3.14.1: - resolution: - { integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== } + resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} hasBin: true js-yaml@4.1.1: - resolution: - { integrity: sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA== } + resolution: {integrity: sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==} hasBin: true jsdoc-type-pratt-parser@7.1.1: - resolution: - { integrity: sha512-/2uqY7x6bsrpi3i9LVU6J89352C0rpMk0as8trXxCtvd4kPk1ke/Eyif6wqfSLvoNJqcDG9Vk4UsXgygzCt2xA== } - engines: { node: ">=20.0.0" } + resolution: {integrity: sha512-/2uqY7x6bsrpi3i9LVU6J89352C0rpMk0as8trXxCtvd4kPk1ke/Eyif6wqfSLvoNJqcDG9Vk4UsXgygzCt2xA==} + engines: {node: '>=20.0.0'} jsdom-global@3.0.2: - resolution: - { integrity: sha512-t1KMcBkz/pT5JrvcJbpUR2u/w1kO9jXctaaGJ0vZDzwFnIvGWw9IDSRciT83kIs8Bnw4qpOl8bQK08V01YgMPg== } + resolution: {integrity: sha512-t1KMcBkz/pT5JrvcJbpUR2u/w1kO9jXctaaGJ0vZDzwFnIvGWw9IDSRciT83kIs8Bnw4qpOl8bQK08V01YgMPg==} peerDependencies: - jsdom: ">=10.0.0" + jsdom: '>=10.0.0' jsdom@29.0.0: - resolution: - { integrity: sha512-9FshNB6OepopZ08unmmGpsF7/qCjxGPbo3NbgfJAnPeHXnsODE9WWffXZtRFRFe0ntzaAOcSKNJFz8wiyvF1jQ== } - engines: { node: ^20.19.0 || ^22.13.0 || >=24.0.0 } + resolution: {integrity: sha512-9FshNB6OepopZ08unmmGpsF7/qCjxGPbo3NbgfJAnPeHXnsODE9WWffXZtRFRFe0ntzaAOcSKNJFz8wiyvF1jQ==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24.0.0} peerDependencies: canvas: ^3.0.0 peerDependenciesMeta: @@ -6827,773 +5987,621 @@ packages: optional: true json-buffer@3.0.1: - resolution: - { integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== } + resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} json-parse-better-errors@1.0.2: - resolution: - { integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== } + resolution: {integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==} json-parse-even-better-errors@2.3.1: - resolution: - { integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== } + resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} json-parse-even-better-errors@4.0.0: - resolution: - { integrity: sha512-lR4MXjGNgkJc7tkQ97kb2nuEMnNCyU//XYVH0MKTGcXEiSudQ5MKGKen3C5QubYy0vmq+JGitUg92uuywGEwIA== } - engines: { node: ^18.17.0 || >=20.5.0 } + resolution: {integrity: sha512-lR4MXjGNgkJc7tkQ97kb2nuEMnNCyU//XYVH0MKTGcXEiSudQ5MKGKen3C5QubYy0vmq+JGitUg92uuywGEwIA==} + engines: {node: ^18.17.0 || >=20.5.0} json-parse-even-better-errors@5.0.0: - resolution: - { integrity: sha512-ZF1nxZ28VhQouRWhUcVlUIN3qwSgPuswK05s/HIaoetAoE/9tngVmCHjSxmSQPav1nd+lPtTL0YZ/2AFdR/iYQ== } - engines: { node: ^20.17.0 || >=22.9.0 } + resolution: {integrity: sha512-ZF1nxZ28VhQouRWhUcVlUIN3qwSgPuswK05s/HIaoetAoE/9tngVmCHjSxmSQPav1nd+lPtTL0YZ/2AFdR/iYQ==} + engines: {node: ^20.17.0 || >=22.9.0} json-schema-traverse@0.4.1: - resolution: - { integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== } + resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} json-schema-traverse@1.0.0: - resolution: - { integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== } + resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} json-source-map@0.6.1: - resolution: - { integrity: sha512-1QoztHPsMQqhDq0hlXY5ZqcEdUzxQEIxgFkKl4WUp2pgShObl+9ovi4kRh2TfvAfxAoHOJ9vIMEqk3k4iex7tg== } + resolution: {integrity: sha512-1QoztHPsMQqhDq0hlXY5ZqcEdUzxQEIxgFkKl4WUp2pgShObl+9ovi4kRh2TfvAfxAoHOJ9vIMEqk3k4iex7tg==} json-stable-stringify-without-jsonify@1.0.1: - resolution: - { integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== } + resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} json-stringify-nice@1.1.4: - resolution: - { integrity: sha512-5Z5RFW63yxReJ7vANgW6eZFGWaQvnPE3WNmZoOJrSkGju2etKA2L5rrOa1sm877TVTFt57A80BH1bArcmlLfPw== } + resolution: {integrity: sha512-5Z5RFW63yxReJ7vANgW6eZFGWaQvnPE3WNmZoOJrSkGju2etKA2L5rrOa1sm877TVTFt57A80BH1bArcmlLfPw==} json-stringify-safe@5.0.1: - resolution: - { integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA== } + resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==} json5@2.2.3: - resolution: - { integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== } - engines: { node: ">=6" } + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} + engines: {node: '>=6'} hasBin: true jsonc-parser@3.2.0: - resolution: - { integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w== } + resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==} jsoneditor@10.4.2: - resolution: - { integrity: sha512-SQPCXlanU4PqdVsYuj2X7yfbLiiJYjklbksGfMKPsuwLhAIPxDlG43jYfXieGXvxpuq1fkw08YoRbkKXKabcLA== } + resolution: {integrity: sha512-SQPCXlanU4PqdVsYuj2X7yfbLiiJYjklbksGfMKPsuwLhAIPxDlG43jYfXieGXvxpuq1fkw08YoRbkKXKabcLA==} jsonfile@4.0.0: - resolution: - { integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg== } + resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} jsonfile@6.1.0: - resolution: - { integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== } + resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} jsonparse@1.3.1: - resolution: - { integrity: sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg== } - engines: { "0": node >= 0.2.0 } + resolution: {integrity: sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==} + engines: {'0': node >= 0.2.0} jsonrepair@3.13.1: - resolution: - { integrity: sha512-WJeiE0jGfxYmtLwBTEk8+y/mYcaleyLXWaqp5bJu0/ZTSeG0KQq/wWQ8pmnkKenEdN6pdnn6QtcoSUkbqDHWNw== } + resolution: {integrity: sha512-WJeiE0jGfxYmtLwBTEk8+y/mYcaleyLXWaqp5bJu0/ZTSeG0KQq/wWQ8pmnkKenEdN6pdnn6QtcoSUkbqDHWNw==} hasBin: true jstransformer@1.0.0: - resolution: - { integrity: sha512-C9YK3Rf8q6VAPDCCU9fnqo3mAfOH6vUGnMcP4AQAYIEpWtfGLpwOTmZ+igtdK5y+VvI2n3CyYSzy4Qh34eq24A== } + resolution: {integrity: sha512-C9YK3Rf8q6VAPDCCU9fnqo3mAfOH6vUGnMcP4AQAYIEpWtfGLpwOTmZ+igtdK5y+VvI2n3CyYSzy4Qh34eq24A==} just-diff-apply@5.5.0: - resolution: - { integrity: sha512-OYTthRfSh55WOItVqwpefPtNt2VdKsq5AnAK6apdtR6yCH8pr0CmSr710J0Mf+WdQy7K/OzMy7K2MgAfdQURDw== } + resolution: {integrity: sha512-OYTthRfSh55WOItVqwpefPtNt2VdKsq5AnAK6apdtR6yCH8pr0CmSr710J0Mf+WdQy7K/OzMy7K2MgAfdQURDw==} just-diff@6.0.2: - resolution: - { integrity: sha512-S59eriX5u3/QhMNq3v/gm8Kd0w8OS6Tz2FS1NG4blv+z0MuQcBRJyFWjdovM0Rad4/P4aUPFtnkNjMjyMlMSYA== } + resolution: {integrity: sha512-S59eriX5u3/QhMNq3v/gm8Kd0w8OS6Tz2FS1NG4blv+z0MuQcBRJyFWjdovM0Rad4/P4aUPFtnkNjMjyMlMSYA==} keyv@4.5.4: - resolution: - { integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw== } + resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} kind-of@6.0.3: - resolution: - { integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} + engines: {node: '>=0.10.0'} klaw@4.1.0: - resolution: - { integrity: sha512-1zGZ9MF9H22UnkpVeuaGKOjfA2t6WrfdrJmGjy16ykcjnKQDmHVX+KI477rpbGevz/5FD4MC3xf1oxylBgcaQw== } - engines: { node: ">=14.14.0" } + resolution: {integrity: sha512-1zGZ9MF9H22UnkpVeuaGKOjfA2t6WrfdrJmGjy16ykcjnKQDmHVX+KI477rpbGevz/5FD4MC3xf1oxylBgcaQw==} + engines: {node: '>=14.14.0'} kleur@3.0.3: - resolution: - { integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== } - engines: { node: ">=6" } + resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} + engines: {node: '>=6'} kuler@2.0.0: - resolution: - { integrity: sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A== } + resolution: {integrity: sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A==} lerna@9.0.7: - resolution: - { integrity: sha512-PMjbSWYfwL1yZ5c1D2PZuFyzmtYhLdn0f76uG8L25g6eYy34j+2jPb4Q6USx1UJvxVtxkdVEeAAWS/WxgJ8VZA== } - engines: { node: ^20.19.0 || ^22.12.0 || >=24.0.0 } + resolution: {integrity: sha512-PMjbSWYfwL1yZ5c1D2PZuFyzmtYhLdn0f76uG8L25g6eYy34j+2jPb4Q6USx1UJvxVtxkdVEeAAWS/WxgJ8VZA==} + engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0} hasBin: true levn@0.4.1: - resolution: - { integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== } - engines: { node: ">= 0.8.0" } + resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} + engines: {node: '>= 0.8.0'} libnpmaccess@10.0.3: - resolution: - { integrity: sha512-JPHTfWJxIK+NVPdNMNGnkz4XGX56iijPbe0qFWbdt68HL+kIvSzh+euBL8npLZvl2fpaxo+1eZSdoG15f5YdIQ== } - engines: { node: ^20.17.0 || >=22.9.0 } + resolution: {integrity: sha512-JPHTfWJxIK+NVPdNMNGnkz4XGX56iijPbe0qFWbdt68HL+kIvSzh+euBL8npLZvl2fpaxo+1eZSdoG15f5YdIQ==} + engines: {node: ^20.17.0 || >=22.9.0} libnpmpublish@11.1.2: - resolution: - { integrity: sha512-tNcU3cLH7toloAzhOOrBDhjzgbxpyuYvkf+BPPnnJCdc5EIcdJ8JcT+SglvCQKKyZ6m9dVXtCVlJcA6csxKdEA== } - engines: { node: ^20.17.0 || >=22.9.0 } + resolution: {integrity: sha512-tNcU3cLH7toloAzhOOrBDhjzgbxpyuYvkf+BPPnnJCdc5EIcdJ8JcT+SglvCQKKyZ6m9dVXtCVlJcA6csxKdEA==} + engines: {node: ^20.17.0 || >=22.9.0} lightningcss-android-arm64@1.30.2: - resolution: - { integrity: sha512-BH9sEdOCahSgmkVhBLeU7Hc9DWeZ1Eb6wNS6Da8igvUwAe0sqROHddIlvU06q3WyXVEOYDZ6ykBZQnjTbmo4+A== } - engines: { node: ">= 12.0.0" } + resolution: {integrity: sha512-BH9sEdOCahSgmkVhBLeU7Hc9DWeZ1Eb6wNS6Da8igvUwAe0sqROHddIlvU06q3WyXVEOYDZ6ykBZQnjTbmo4+A==} + engines: {node: '>= 12.0.0'} cpu: [arm64] os: [android] lightningcss-android-arm64@1.32.0: - resolution: - { integrity: sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg== } - engines: { node: ">= 12.0.0" } + resolution: {integrity: sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg==} + engines: {node: '>= 12.0.0'} cpu: [arm64] os: [android] lightningcss-darwin-arm64@1.30.2: - resolution: - { integrity: sha512-ylTcDJBN3Hp21TdhRT5zBOIi73P6/W0qwvlFEk22fkdXchtNTOU4Qc37SkzV+EKYxLouZ6M4LG9NfZ1qkhhBWA== } - engines: { node: ">= 12.0.0" } + resolution: {integrity: sha512-ylTcDJBN3Hp21TdhRT5zBOIi73P6/W0qwvlFEk22fkdXchtNTOU4Qc37SkzV+EKYxLouZ6M4LG9NfZ1qkhhBWA==} + engines: {node: '>= 12.0.0'} cpu: [arm64] os: [darwin] lightningcss-darwin-arm64@1.32.0: - resolution: - { integrity: sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ== } - engines: { node: ">= 12.0.0" } + resolution: {integrity: sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ==} + engines: {node: '>= 12.0.0'} cpu: [arm64] os: [darwin] lightningcss-darwin-x64@1.30.2: - resolution: - { integrity: sha512-oBZgKchomuDYxr7ilwLcyms6BCyLn0z8J0+ZZmfpjwg9fRVZIR5/GMXd7r9RH94iDhld3UmSjBM6nXWM2TfZTQ== } - engines: { node: ">= 12.0.0" } + resolution: {integrity: sha512-oBZgKchomuDYxr7ilwLcyms6BCyLn0z8J0+ZZmfpjwg9fRVZIR5/GMXd7r9RH94iDhld3UmSjBM6nXWM2TfZTQ==} + engines: {node: '>= 12.0.0'} cpu: [x64] os: [darwin] lightningcss-darwin-x64@1.32.0: - resolution: - { integrity: sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w== } - engines: { node: ">= 12.0.0" } + resolution: {integrity: sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w==} + engines: {node: '>= 12.0.0'} cpu: [x64] os: [darwin] lightningcss-freebsd-x64@1.30.2: - resolution: - { integrity: sha512-c2bH6xTrf4BDpK8MoGG4Bd6zAMZDAXS569UxCAGcA7IKbHNMlhGQ89eRmvpIUGfKWNVdbhSbkQaWhEoMGmGslA== } - engines: { node: ">= 12.0.0" } + resolution: {integrity: sha512-c2bH6xTrf4BDpK8MoGG4Bd6zAMZDAXS569UxCAGcA7IKbHNMlhGQ89eRmvpIUGfKWNVdbhSbkQaWhEoMGmGslA==} + engines: {node: '>= 12.0.0'} cpu: [x64] os: [freebsd] lightningcss-freebsd-x64@1.32.0: - resolution: - { integrity: sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig== } - engines: { node: ">= 12.0.0" } + resolution: {integrity: sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig==} + engines: {node: '>= 12.0.0'} cpu: [x64] os: [freebsd] lightningcss-linux-arm-gnueabihf@1.30.2: - resolution: - { integrity: sha512-eVdpxh4wYcm0PofJIZVuYuLiqBIakQ9uFZmipf6LF/HRj5Bgm0eb3qL/mr1smyXIS1twwOxNWndd8z0E374hiA== } - engines: { node: ">= 12.0.0" } + resolution: {integrity: sha512-eVdpxh4wYcm0PofJIZVuYuLiqBIakQ9uFZmipf6LF/HRj5Bgm0eb3qL/mr1smyXIS1twwOxNWndd8z0E374hiA==} + engines: {node: '>= 12.0.0'} cpu: [arm] os: [linux] lightningcss-linux-arm-gnueabihf@1.32.0: - resolution: - { integrity: sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw== } - engines: { node: ">= 12.0.0" } + resolution: {integrity: sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw==} + engines: {node: '>= 12.0.0'} cpu: [arm] os: [linux] lightningcss-linux-arm64-gnu@1.30.2: - resolution: - { integrity: sha512-UK65WJAbwIJbiBFXpxrbTNArtfuznvxAJw4Q2ZGlU8kPeDIWEX1dg3rn2veBVUylA2Ezg89ktszWbaQnxD/e3A== } - engines: { node: ">= 12.0.0" } + resolution: {integrity: sha512-UK65WJAbwIJbiBFXpxrbTNArtfuznvxAJw4Q2ZGlU8kPeDIWEX1dg3rn2veBVUylA2Ezg89ktszWbaQnxD/e3A==} + engines: {node: '>= 12.0.0'} cpu: [arm64] os: [linux] libc: [glibc] lightningcss-linux-arm64-gnu@1.32.0: - resolution: - { integrity: sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ== } - engines: { node: ">= 12.0.0" } + resolution: {integrity: sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ==} + engines: {node: '>= 12.0.0'} cpu: [arm64] os: [linux] libc: [glibc] lightningcss-linux-arm64-musl@1.30.2: - resolution: - { integrity: sha512-5Vh9dGeblpTxWHpOx8iauV02popZDsCYMPIgiuw97OJ5uaDsL86cnqSFs5LZkG3ghHoX5isLgWzMs+eD1YzrnA== } - engines: { node: ">= 12.0.0" } + resolution: {integrity: sha512-5Vh9dGeblpTxWHpOx8iauV02popZDsCYMPIgiuw97OJ5uaDsL86cnqSFs5LZkG3ghHoX5isLgWzMs+eD1YzrnA==} + engines: {node: '>= 12.0.0'} cpu: [arm64] os: [linux] libc: [musl] lightningcss-linux-arm64-musl@1.32.0: - resolution: - { integrity: sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg== } - engines: { node: ">= 12.0.0" } + resolution: {integrity: sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg==} + engines: {node: '>= 12.0.0'} cpu: [arm64] os: [linux] libc: [musl] lightningcss-linux-x64-gnu@1.30.2: - resolution: - { integrity: sha512-Cfd46gdmj1vQ+lR6VRTTadNHu6ALuw2pKR9lYq4FnhvgBc4zWY1EtZcAc6EffShbb1MFrIPfLDXD6Xprbnni4w== } - engines: { node: ">= 12.0.0" } + resolution: {integrity: sha512-Cfd46gdmj1vQ+lR6VRTTadNHu6ALuw2pKR9lYq4FnhvgBc4zWY1EtZcAc6EffShbb1MFrIPfLDXD6Xprbnni4w==} + engines: {node: '>= 12.0.0'} cpu: [x64] os: [linux] libc: [glibc] lightningcss-linux-x64-gnu@1.32.0: - resolution: - { integrity: sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA== } - engines: { node: ">= 12.0.0" } + resolution: {integrity: sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA==} + engines: {node: '>= 12.0.0'} cpu: [x64] os: [linux] libc: [glibc] lightningcss-linux-x64-musl@1.30.2: - resolution: - { integrity: sha512-XJaLUUFXb6/QG2lGIW6aIk6jKdtjtcffUT0NKvIqhSBY3hh9Ch+1LCeH80dR9q9LBjG3ewbDjnumefsLsP6aiA== } - engines: { node: ">= 12.0.0" } + resolution: {integrity: sha512-XJaLUUFXb6/QG2lGIW6aIk6jKdtjtcffUT0NKvIqhSBY3hh9Ch+1LCeH80dR9q9LBjG3ewbDjnumefsLsP6aiA==} + engines: {node: '>= 12.0.0'} cpu: [x64] os: [linux] libc: [musl] lightningcss-linux-x64-musl@1.32.0: - resolution: - { integrity: sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg== } - engines: { node: ">= 12.0.0" } + resolution: {integrity: sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg==} + engines: {node: '>= 12.0.0'} cpu: [x64] os: [linux] libc: [musl] lightningcss-win32-arm64-msvc@1.30.2: - resolution: - { integrity: sha512-FZn+vaj7zLv//D/192WFFVA0RgHawIcHqLX9xuWiQt7P0PtdFEVaxgF9rjM/IRYHQXNnk61/H/gb2Ei+kUQ4xQ== } - engines: { node: ">= 12.0.0" } + resolution: {integrity: sha512-FZn+vaj7zLv//D/192WFFVA0RgHawIcHqLX9xuWiQt7P0PtdFEVaxgF9rjM/IRYHQXNnk61/H/gb2Ei+kUQ4xQ==} + engines: {node: '>= 12.0.0'} cpu: [arm64] os: [win32] lightningcss-win32-arm64-msvc@1.32.0: - resolution: - { integrity: sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw== } - engines: { node: ">= 12.0.0" } + resolution: {integrity: sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw==} + engines: {node: '>= 12.0.0'} cpu: [arm64] os: [win32] lightningcss-win32-x64-msvc@1.30.2: - resolution: - { integrity: sha512-5g1yc73p+iAkid5phb4oVFMB45417DkRevRbt/El/gKXJk4jid+vPFF/AXbxn05Aky8PapwzZrdJShv5C0avjw== } - engines: { node: ">= 12.0.0" } + resolution: {integrity: sha512-5g1yc73p+iAkid5phb4oVFMB45417DkRevRbt/El/gKXJk4jid+vPFF/AXbxn05Aky8PapwzZrdJShv5C0avjw==} + engines: {node: '>= 12.0.0'} cpu: [x64] os: [win32] lightningcss-win32-x64-msvc@1.32.0: - resolution: - { integrity: sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q== } - engines: { node: ">= 12.0.0" } + resolution: {integrity: sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q==} + engines: {node: '>= 12.0.0'} cpu: [x64] os: [win32] lightningcss@1.30.2: - resolution: - { integrity: sha512-utfs7Pr5uJyyvDETitgsaqSyjCb2qNRAtuqUeWIAKztsOYdcACf2KtARYXg2pSvhkt+9NfoaNY7fxjl6nuMjIQ== } - engines: { node: ">= 12.0.0" } + resolution: {integrity: sha512-utfs7Pr5uJyyvDETitgsaqSyjCb2qNRAtuqUeWIAKztsOYdcACf2KtARYXg2pSvhkt+9NfoaNY7fxjl6nuMjIQ==} + engines: {node: '>= 12.0.0'} lightningcss@1.32.0: - resolution: - { integrity: sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ== } - engines: { node: ">= 12.0.0" } + resolution: {integrity: sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ==} + engines: {node: '>= 12.0.0'} lines-and-columns@1.2.4: - resolution: - { integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== } + resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} lines-and-columns@2.0.3: - resolution: - { integrity: sha512-cNOjgCnLB+FnvWWtyRTzmB3POJ+cXxTA81LoW7u8JdmhfXzriropYwpjShnz1QLLWsQwY7nIxoDmcPTwphDK9w== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-cNOjgCnLB+FnvWWtyRTzmB3POJ+cXxTA81LoW7u8JdmhfXzriropYwpjShnz1QLLWsQwY7nIxoDmcPTwphDK9w==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} linkify-it@5.0.0: - resolution: - { integrity: sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ== } + resolution: {integrity: sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==} livereload-js@4.0.2: - resolution: - { integrity: sha512-Fy7VwgQNiOkynYyNBTo3v9hQUhcW5pFAheJN148+DTgpShjsy/22pLHKKwDK5v0kOsZsJBK+6q1PMgLvRmrwFQ== } + resolution: {integrity: sha512-Fy7VwgQNiOkynYyNBTo3v9hQUhcW5pFAheJN148+DTgpShjsy/22pLHKKwDK5v0kOsZsJBK+6q1PMgLvRmrwFQ==} livereload@0.10.3: - resolution: - { integrity: sha512-llSb8HrtSH7ByPFMc8WTTeW3oy++smwgSA8JVGzEn8KiDPESq6jt1M4ZKKkhKTrhn2wvUOadQq4ip10E5daZ3w== } - engines: { node: ">=8.0.0" } + resolution: {integrity: sha512-llSb8HrtSH7ByPFMc8WTTeW3oy++smwgSA8JVGzEn8KiDPESq6jt1M4ZKKkhKTrhn2wvUOadQq4ip10E5daZ3w==} + engines: {node: '>=8.0.0'} hasBin: true load-json-file@4.0.0: - resolution: - { integrity: sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw== } - engines: { node: ">=4" } + resolution: {integrity: sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==} + engines: {node: '>=4'} load-json-file@6.2.0: - resolution: - { integrity: sha512-gUD/epcRms75Cw8RT1pUdHugZYM5ce64ucs2GEISABwkRsOQr0q2wm/MV2TKThycIe5e0ytRweW2RZxclogCdQ== } - engines: { node: ">=8" } + resolution: {integrity: sha512-gUD/epcRms75Cw8RT1pUdHugZYM5ce64ucs2GEISABwkRsOQr0q2wm/MV2TKThycIe5e0ytRweW2RZxclogCdQ==} + engines: {node: '>=8'} loader-runner@4.3.1: - resolution: - { integrity: sha512-IWqP2SCPhyVFTBtRcgMHdzlf9ul25NwaFx4wCEH/KjAXuuHY4yNjvPXsBokp8jCB936PyWRaPKUNh8NvylLp2Q== } - engines: { node: ">=6.11.5" } + resolution: {integrity: sha512-IWqP2SCPhyVFTBtRcgMHdzlf9ul25NwaFx4wCEH/KjAXuuHY4yNjvPXsBokp8jCB936PyWRaPKUNh8NvylLp2Q==} + engines: {node: '>=6.11.5'} locate-path@2.0.0: - resolution: - { integrity: sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA== } - engines: { node: ">=4" } + resolution: {integrity: sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==} + engines: {node: '>=4'} locate-path@5.0.0: - resolution: - { integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== } - engines: { node: ">=8" } + resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} + engines: {node: '>=8'} locate-path@6.0.0: - resolution: - { integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== } - engines: { node: ">=10" } + resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} + engines: {node: '>=10'} locate-path@8.0.0: - resolution: - { integrity: sha512-XT9ewWAC43tiAV7xDAPflMkG0qOPn2QjHqlgX8FOqmWa/rxnyYDulF9T0F7tRy1u+TVTmK/M//6VIOye+2zDXg== } - engines: { node: ">=20" } + resolution: {integrity: sha512-XT9ewWAC43tiAV7xDAPflMkG0qOPn2QjHqlgX8FOqmWa/rxnyYDulF9T0F7tRy1u+TVTmK/M//6VIOye+2zDXg==} + engines: {node: '>=20'} lodash.camelcase@4.3.0: - resolution: - { integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA== } + resolution: {integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==} lodash.ismatch@4.4.0: - resolution: - { integrity: sha512-fPMfXjGQEV9Xsq/8MTSgUf255gawYRbjwMyDbcvDhXgV7enSZA0hynz6vMPnpAb5iONEzBHBPsT+0zes5Z301g== } + resolution: {integrity: sha512-fPMfXjGQEV9Xsq/8MTSgUf255gawYRbjwMyDbcvDhXgV7enSZA0hynz6vMPnpAb5iONEzBHBPsT+0zes5Z301g==} lodash.kebabcase@4.1.1: - resolution: - { integrity: sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g== } + resolution: {integrity: sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g==} lodash.mergewith@4.6.2: - resolution: - { integrity: sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ== } + resolution: {integrity: sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ==} lodash.snakecase@4.1.1: - resolution: - { integrity: sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw== } + resolution: {integrity: sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw==} lodash.startcase@4.4.0: - resolution: - { integrity: sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg== } + resolution: {integrity: sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==} lodash.upperfirst@4.3.1: - resolution: - { integrity: sha512-sReKOYJIJf74dhJONhU4e0/shzi1trVbSWDOhKYE5XV2O+H7Sb2Dihwuc7xWxVl+DgFPyTqIN3zMfT9cq5iWDg== } + resolution: {integrity: sha512-sReKOYJIJf74dhJONhU4e0/shzi1trVbSWDOhKYE5XV2O+H7Sb2Dihwuc7xWxVl+DgFPyTqIN3zMfT9cq5iWDg==} lodash@4.17.23: - resolution: - { integrity: sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w== } + resolution: {integrity: sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==} log-symbols@4.1.0: - resolution: - { integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg== } - engines: { node: ">=10" } + resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} + engines: {node: '>=10'} logform@2.7.0: - resolution: - { integrity: sha512-TFYA4jnP7PVbmlBIfhlSe+WKxs9dklXMTEGcBCIvLhE/Tn3H6Gk1norupVW7m5Cnd4bLcr08AytbyV/xj7f/kQ== } - engines: { node: ">= 12.0.0" } + resolution: {integrity: sha512-TFYA4jnP7PVbmlBIfhlSe+WKxs9dklXMTEGcBCIvLhE/Tn3H6Gk1norupVW7m5Cnd4bLcr08AytbyV/xj7f/kQ==} + engines: {node: '>= 12.0.0'} lookpath@1.2.3: - resolution: - { integrity: sha512-kthRVhf4kH4+HW3anM4UBHxsw/XFESf13euCEldhXr6GpBdmBoa7rDd7WO5G0Mhd4G5XtKTcEy8OR0iRZXpS3Q== } - engines: { npm: ">=6.13.4" } + resolution: {integrity: sha512-kthRVhf4kH4+HW3anM4UBHxsw/XFESf13euCEldhXr6GpBdmBoa7rDd7WO5G0Mhd4G5XtKTcEy8OR0iRZXpS3Q==} + engines: {npm: '>=6.13.4'} hasBin: true lowercase-keys@2.0.0: - resolution: - { integrity: sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA== } - engines: { node: ">=8" } + resolution: {integrity: sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==} + engines: {node: '>=8'} lru-cache@10.4.3: - resolution: - { integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ== } + resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} lru-cache@11.2.7: - resolution: - { integrity: sha512-aY/R+aEsRelme17KGQa/1ZSIpLpNYYrhcrepKTZgE+W3WM16YMCaPwOHLHsmopZHELU0Ojin1lPVxKR0MihncA== } - engines: { node: 20 || >=22 } + resolution: {integrity: sha512-aY/R+aEsRelme17KGQa/1ZSIpLpNYYrhcrepKTZgE+W3WM16YMCaPwOHLHsmopZHELU0Ojin1lPVxKR0MihncA==} + engines: {node: 20 || >=22} lru-cache@6.0.0: - resolution: - { integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== } - engines: { node: ">=10" } + resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} + engines: {node: '>=10'} lunr@2.3.9: - resolution: - { integrity: sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow== } + resolution: {integrity: sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==} luxon@3.7.2: - resolution: - { integrity: sha512-vtEhXh/gNjI9Yg1u4jX/0YVPMvxzHuGgCm6tC5kZyb08yjGWGnqAjGJvcXbqQR2P3MyMEFnRbpcdFS6PBcLqew== } - engines: { node: ">=12" } + resolution: {integrity: sha512-vtEhXh/gNjI9Yg1u4jX/0YVPMvxzHuGgCm6tC5kZyb08yjGWGnqAjGJvcXbqQR2P3MyMEFnRbpcdFS6PBcLqew==} + engines: {node: '>=12'} magic-string@0.30.21: - resolution: - { integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ== } + resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==} magicast@0.5.2: - resolution: - { integrity: sha512-E3ZJh4J3S9KfwdjZhe2afj6R9lGIN5Pher1pF39UGrXRqq/VDaGVIGN13BjHd2u8B61hArAGOnso7nBOouW3TQ== } + resolution: {integrity: sha512-E3ZJh4J3S9KfwdjZhe2afj6R9lGIN5Pher1pF39UGrXRqq/VDaGVIGN13BjHd2u8B61hArAGOnso7nBOouW3TQ==} make-dir@3.1.0: - resolution: - { integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== } - engines: { node: ">=8" } + resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} + engines: {node: '>=8'} make-dir@4.0.0: - resolution: - { integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw== } - engines: { node: ">=10" } + resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} + engines: {node: '>=10'} make-error@1.3.6: - resolution: - { integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== } + resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} make-fetch-happen@15.0.2: - resolution: - { integrity: sha512-sI1NY4lWlXBAfjmCtVWIIpBypbBdhHtcjnwnv+gtCnsaOffyFil3aidszGC8hgzJe+fT1qix05sWxmD/Bmf/oQ== } - engines: { node: ^20.17.0 || >=22.9.0 } + resolution: {integrity: sha512-sI1NY4lWlXBAfjmCtVWIIpBypbBdhHtcjnwnv+gtCnsaOffyFil3aidszGC8hgzJe+fT1qix05sWxmD/Bmf/oQ==} + engines: {node: ^20.17.0 || >=22.9.0} make-fetch-happen@15.0.3: - resolution: - { integrity: sha512-iyyEpDty1mwW3dGlYXAJqC/azFn5PPvgKVwXayOGBSmKLxhKZ9fg4qIan2ePpp1vJIwfFiO34LAPZgq9SZW9Aw== } - engines: { node: ^20.17.0 || >=22.9.0 } + resolution: {integrity: sha512-iyyEpDty1mwW3dGlYXAJqC/azFn5PPvgKVwXayOGBSmKLxhKZ9fg4qIan2ePpp1vJIwfFiO34LAPZgq9SZW9Aw==} + engines: {node: ^20.17.0 || >=22.9.0} map-obj@1.0.1: - resolution: - { integrity: sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg== } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==} + engines: {node: '>=0.10.0'} map-obj@4.3.0: - resolution: - { integrity: sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ== } - engines: { node: ">=8" } + resolution: {integrity: sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==} + engines: {node: '>=8'} markdown-it@14.1.0: - resolution: - { integrity: sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg== } + resolution: {integrity: sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg==} hasBin: true matcher@3.0.0: - resolution: - { integrity: sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng== } - engines: { node: ">=10" } + resolution: {integrity: sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng==} + engines: {node: '>=10'} math-intrinsics@1.1.0: - resolution: - { integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g== } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} + engines: {node: '>= 0.4'} mdn-data@2.0.28: - resolution: - { integrity: sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g== } + resolution: {integrity: sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==} mdn-data@2.12.2: - resolution: - { integrity: sha512-IEn+pegP1aManZuckezWCO+XZQDplx1366JoVhTpMpBB1sPey/SbveZQUosKiKiGYjg1wH4pMlNgXbCiYgihQA== } + resolution: {integrity: sha512-IEn+pegP1aManZuckezWCO+XZQDplx1366JoVhTpMpBB1sPey/SbveZQUosKiKiGYjg1wH4pMlNgXbCiYgihQA==} mdn-data@2.27.1: - resolution: - { integrity: sha512-9Yubnt3e8A0OKwxYSXyhLymGW4sCufcLG6VdiDdUGVkPhpqLxlvP5vl1983gQjJl3tqbrM731mjaZaP68AgosQ== } + resolution: {integrity: sha512-9Yubnt3e8A0OKwxYSXyhLymGW4sCufcLG6VdiDdUGVkPhpqLxlvP5vl1983gQjJl3tqbrM731mjaZaP68AgosQ==} mdurl@2.0.0: - resolution: - { integrity: sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w== } + resolution: {integrity: sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==} media-typer@1.1.0: - resolution: - { integrity: sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw== } - engines: { node: ">= 0.8" } + resolution: {integrity: sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==} + engines: {node: '>= 0.8'} meow@13.2.0: - resolution: - { integrity: sha512-pxQJQzB6djGPXh08dacEloMFopsOqGVRKFPYvPOt9XDZ1HasbgDZA74CJGreSU4G3Ak7EFJGoiH2auq+yXISgA== } - engines: { node: ">=18" } + resolution: {integrity: sha512-pxQJQzB6djGPXh08dacEloMFopsOqGVRKFPYvPOt9XDZ1HasbgDZA74CJGreSU4G3Ak7EFJGoiH2auq+yXISgA==} + engines: {node: '>=18'} meow@8.1.2: - resolution: - { integrity: sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q== } - engines: { node: ">=10" } + resolution: {integrity: sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==} + engines: {node: '>=10'} merge-descriptors@2.0.0: - resolution: - { integrity: sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g== } - engines: { node: ">=18" } + resolution: {integrity: sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g==} + engines: {node: '>=18'} merge-stream@2.0.0: - resolution: - { integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== } + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} merge2@1.4.1: - resolution: - { integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== } - engines: { node: ">= 8" } + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} micromatch@4.0.5: - resolution: - { integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== } - engines: { node: ">=8.6" } + resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} + engines: {node: '>=8.6'} mime-db@1.52.0: - resolution: - { integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== } - engines: { node: ">= 0.6" } + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} + engines: {node: '>= 0.6'} mime-db@1.54.0: - resolution: - { integrity: sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ== } - engines: { node: ">= 0.6" } + resolution: {integrity: sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==} + engines: {node: '>= 0.6'} mime-types@2.1.35: - resolution: - { integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== } - engines: { node: ">= 0.6" } + resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} + engines: {node: '>= 0.6'} mime-types@3.0.2: - resolution: - { integrity: sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A== } - engines: { node: ">=18" } + resolution: {integrity: sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==} + engines: {node: '>=18'} mimic-fn@2.1.0: - resolution: - { integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== } - engines: { node: ">=6" } + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} + engines: {node: '>=6'} mimic-response@1.0.1: - resolution: - { integrity: sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ== } - engines: { node: ">=4" } + resolution: {integrity: sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==} + engines: {node: '>=4'} mimic-response@3.1.0: - resolution: - { integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ== } - engines: { node: ">=10" } + resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==} + engines: {node: '>=10'} min-indent@1.0.1: - resolution: - { integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== } - engines: { node: ">=4" } + resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} + engines: {node: '>=4'} minify@15.2.0: - resolution: - { integrity: sha512-8syAQ9x4vGx4YgmsqaN2kefkxWzR7ET4IxYRC6iLWLImINsxwYMYXzx1jj/uOtbs0eVEI578H5KDgl+bPl3s+w== } - engines: { node: ">=22" } + resolution: {integrity: sha512-8syAQ9x4vGx4YgmsqaN2kefkxWzR7ET4IxYRC6iLWLImINsxwYMYXzx1jj/uOtbs0eVEI578H5KDgl+bPl3s+w==} + engines: {node: '>=22'} hasBin: true minimatch@10.2.2: - resolution: - { integrity: sha512-+G4CpNBxa5MprY+04MbgOw1v7So6n5JY166pFi9KfYwT78fxScCeSNQSNzp6dpPSW2rONOps6Ocam1wFhCgoVw== } - engines: { node: 18 || 20 || >=22 } + resolution: {integrity: sha512-+G4CpNBxa5MprY+04MbgOw1v7So6n5JY166pFi9KfYwT78fxScCeSNQSNzp6dpPSW2rONOps6Ocam1wFhCgoVw==} + engines: {node: 18 || 20 || >=22} minimatch@10.2.4: - resolution: - { integrity: sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg== } - engines: { node: 18 || 20 || >=22 } + resolution: {integrity: sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg==} + engines: {node: 18 || 20 || >=22} minimatch@3.1.2: - resolution: - { integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== } + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} minimatch@3.1.4: - resolution: - { integrity: sha512-twmL+S8+7yIsE9wsqgzU3E8/LumN3M3QELrBZ20OdmQ9jB2JvW5oZtBEmft84k/Gs5CG9mqtWc6Y9vW+JEzGxw== } + resolution: {integrity: sha512-twmL+S8+7yIsE9wsqgzU3E8/LumN3M3QELrBZ20OdmQ9jB2JvW5oZtBEmft84k/Gs5CG9mqtWc6Y9vW+JEzGxw==} minimatch@5.1.6: - resolution: - { integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g== } - engines: { node: ">=10" } + resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} + engines: {node: '>=10'} minimatch@9.0.3: - resolution: - { integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg== } - engines: { node: ">=16 || 14 >=14.17" } + resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} + engines: {node: '>=16 || 14 >=14.17'} minimatch@9.0.5: - resolution: - { integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow== } - engines: { node: ">=16 || 14 >=14.17" } + resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} + engines: {node: '>=16 || 14 >=14.17'} minimist-options@4.1.0: - resolution: - { integrity: sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A== } - engines: { node: ">= 6" } + resolution: {integrity: sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==} + engines: {node: '>= 6'} minimist@1.2.8: - resolution: - { integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== } + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} minipass-collect@2.0.1: - resolution: - { integrity: sha512-D7V8PO9oaz7PWGLbCACuI1qEOsq7UKfLotx/C0Aet43fCUB/wfQ7DYeq2oR/svFJGYDHPr38SHATeaj/ZoKHKw== } - engines: { node: ">=16 || 14 >=14.17" } + resolution: {integrity: sha512-D7V8PO9oaz7PWGLbCACuI1qEOsq7UKfLotx/C0Aet43fCUB/wfQ7DYeq2oR/svFJGYDHPr38SHATeaj/ZoKHKw==} + engines: {node: '>=16 || 14 >=14.17'} minipass-fetch@4.0.1: - resolution: - { integrity: sha512-j7U11C5HXigVuutxebFadoYBbd7VSdZWggSe64NVdvWNBqGAiXPL2QVCehjmw7lY1oF9gOllYbORh+hiNgfPgQ== } - engines: { node: ^18.17.0 || >=20.5.0 } + resolution: {integrity: sha512-j7U11C5HXigVuutxebFadoYBbd7VSdZWggSe64NVdvWNBqGAiXPL2QVCehjmw7lY1oF9gOllYbORh+hiNgfPgQ==} + engines: {node: ^18.17.0 || >=20.5.0} minipass-fetch@5.0.0: - resolution: - { integrity: sha512-fiCdUALipqgPWrOVTz9fw0XhcazULXOSU6ie40DDbX1F49p1dBrSRBuswndTx1x3vEb/g0FT7vC4c4C2u/mh3A== } - engines: { node: ^20.17.0 || >=22.9.0 } + resolution: {integrity: sha512-fiCdUALipqgPWrOVTz9fw0XhcazULXOSU6ie40DDbX1F49p1dBrSRBuswndTx1x3vEb/g0FT7vC4c4C2u/mh3A==} + engines: {node: ^20.17.0 || >=22.9.0} minipass-flush@1.0.5: - resolution: - { integrity: sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw== } - engines: { node: ">= 8" } + resolution: {integrity: sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==} + engines: {node: '>= 8'} minipass-pipeline@1.2.4: - resolution: - { integrity: sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A== } - engines: { node: ">=8" } + resolution: {integrity: sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==} + engines: {node: '>=8'} minipass-sized@1.0.3: - resolution: - { integrity: sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g== } - engines: { node: ">=8" } + resolution: {integrity: sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==} + engines: {node: '>=8'} minipass@3.3.6: - resolution: - { integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw== } - engines: { node: ">=8" } + resolution: {integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==} + engines: {node: '>=8'} minipass@5.0.0: - resolution: - { integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ== } - engines: { node: ">=8" } + resolution: {integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==} + engines: {node: '>=8'} minipass@7.1.2: - resolution: - { integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw== } - engines: { node: ">=16 || 14 >=14.17" } + resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} + engines: {node: '>=16 || 14 >=14.17'} minipass@7.1.3: - resolution: - { integrity: sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A== } - engines: { node: ">=16 || 14 >=14.17" } + resolution: {integrity: sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==} + engines: {node: '>=16 || 14 >=14.17'} minizlib@2.1.2: - resolution: - { integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg== } - engines: { node: ">= 8" } + resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==} + engines: {node: '>= 8'} minizlib@3.1.0: - resolution: - { integrity: sha512-KZxYo1BUkWD2TVFLr0MQoM8vUUigWD3LlD83a/75BqC+4qE0Hb1Vo5v1FgcfaNXvfXzr+5EhQ6ing/CaBijTlw== } - engines: { node: ">= 18" } + resolution: {integrity: sha512-KZxYo1BUkWD2TVFLr0MQoM8vUUigWD3LlD83a/75BqC+4qE0Hb1Vo5v1FgcfaNXvfXzr+5EhQ6ing/CaBijTlw==} + engines: {node: '>= 18'} mkdirp-classic@0.5.3: - resolution: - { integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A== } + resolution: {integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==} mkdirp@1.0.4: - resolution: - { integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== } - engines: { node: ">=10" } + resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} + engines: {node: '>=10'} hasBin: true modify-values@1.0.1: - resolution: - { integrity: sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw== } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw==} + engines: {node: '>=0.10.0'} montag@1.2.1: - resolution: - { integrity: sha512-YFuR6t5KhDlmAnUmVSxGzNcpWqSDqxbd95tvnEnn7X9yFv7g3kDFoRjwyGayVdF/NNoWk7YW7IxUjilnGnoC5Q== } + resolution: {integrity: sha512-YFuR6t5KhDlmAnUmVSxGzNcpWqSDqxbd95tvnEnn7X9yFv7g3kDFoRjwyGayVdF/NNoWk7YW7IxUjilnGnoC5Q==} mrmime@2.0.0: - resolution: - { integrity: sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw== } - engines: { node: ">=10" } + resolution: {integrity: sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==} + engines: {node: '>=10'} ms@2.1.2: - resolution: - { integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== } + resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} ms@2.1.3: - resolution: - { integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== } + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} mute-stream@2.0.0: - resolution: - { integrity: sha512-WWdIxpyjEn+FhQJQQv9aQAYlHoNVdzIzUySNV1gHUPDSdZJ3yZn7pAAbQcV7B56Mvu881q9FZV+0Vx2xC44VWA== } - engines: { node: ^18.17.0 || >=20.5.0 } + resolution: {integrity: sha512-WWdIxpyjEn+FhQJQQv9aQAYlHoNVdzIzUySNV1gHUPDSdZJ3yZn7pAAbQcV7B56Mvu881q9FZV+0Vx2xC44VWA==} + engines: {node: ^18.17.0 || >=20.5.0} nanoid@3.3.11: - resolution: - { integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w== } - engines: { node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1 } + resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true napi-build-utils@2.0.0: - resolution: - { integrity: sha512-GEbrYkbfF7MoNaoh2iGG84Mnf/WZfB0GdGEsM8wz7Expx/LlWf5U8t9nvJKXSp3qr5IsEbK04cBGhol/KwOsWA== } + resolution: {integrity: sha512-GEbrYkbfF7MoNaoh2iGG84Mnf/WZfB0GdGEsM8wz7Expx/LlWf5U8t9nvJKXSp3qr5IsEbK04cBGhol/KwOsWA==} natural-compare@1.4.0: - resolution: - { integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== } + resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} negotiator@1.0.0: - resolution: - { integrity: sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg== } - engines: { node: ">= 0.6" } + resolution: {integrity: sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==} + engines: {node: '>= 0.6'} neo-async@2.6.2: - resolution: - { integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== } + resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} node-abi@3.74.0: - resolution: - { integrity: sha512-c5XK0MjkGBrQPGYG24GBADZud0NCbznxNx0ZkS+ebUTrmV1qTDxPxSL8zEAPURXSbLRWVexxmP4986BziahL5w== } - engines: { node: ">=10" } + resolution: {integrity: sha512-c5XK0MjkGBrQPGYG24GBADZud0NCbznxNx0ZkS+ebUTrmV1qTDxPxSL8zEAPURXSbLRWVexxmP4986BziahL5w==} + engines: {node: '>=10'} node-addon-api@7.1.1: - resolution: - { integrity: sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ== } + resolution: {integrity: sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==} node-fetch@2.7.0: - resolution: - { integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A== } - engines: { node: 4.x || >=6.0.0 } + resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} + engines: {node: 4.x || >=6.0.0} peerDependencies: encoding: ^0.1.0 peerDependenciesMeta: @@ -7601,1344 +6609,1067 @@ packages: optional: true node-gyp@12.2.0: - resolution: - { integrity: sha512-q23WdzrQv48KozXlr0U1v9dwO/k59NHeSzn6loGcasyf0UnSrtzs8kRxM+mfwJSf0DkX0s43hcqgnSO4/VNthQ== } - engines: { node: ^20.17.0 || >=22.9.0 } + resolution: {integrity: sha512-q23WdzrQv48KozXlr0U1v9dwO/k59NHeSzn6loGcasyf0UnSrtzs8kRxM+mfwJSf0DkX0s43hcqgnSO4/VNthQ==} + engines: {node: ^20.17.0 || >=22.9.0} hasBin: true node-machine-id@1.1.12: - resolution: - { integrity: sha512-QNABxbrPa3qEIfrE6GOJ7BYIuignnJw7iQ2YPbc3Nla1HzRJjXzZOiikfF8m7eAMfichLt3M4VgLOetqgDmgGQ== } + resolution: {integrity: sha512-QNABxbrPa3qEIfrE6GOJ7BYIuignnJw7iQ2YPbc3Nla1HzRJjXzZOiikfF8m7eAMfichLt3M4VgLOetqgDmgGQ==} node-releases@2.0.27: - resolution: - { integrity: sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA== } + resolution: {integrity: sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==} nodemon@3.1.14: - resolution: - { integrity: sha512-jakjZi93UtB3jHMWsXL68FXSAosbLfY0In5gtKq3niLSkrWznrVBzXFNOEMJUfc9+Ke7SHWoAZsiMkNP3vq6Jw== } - engines: { node: ">=10" } + resolution: {integrity: sha512-jakjZi93UtB3jHMWsXL68FXSAosbLfY0In5gtKq3niLSkrWznrVBzXFNOEMJUfc9+Ke7SHWoAZsiMkNP3vq6Jw==} + engines: {node: '>=10'} hasBin: true noms@0.0.0: - resolution: - { integrity: sha512-lNDU9VJaOPxUmXcLb+HQFeUgQQPtMI24Gt6hgfuMHRJgMRHMF/qZ4HJD3GDru4sSw9IQl2jPjAYnQrdIeLbwow== } + resolution: {integrity: sha512-lNDU9VJaOPxUmXcLb+HQFeUgQQPtMI24Gt6hgfuMHRJgMRHMF/qZ4HJD3GDru4sSw9IQl2jPjAYnQrdIeLbwow==} nopt@1.0.10: - resolution: - { integrity: sha512-NWmpvLSqUrgrAC9HCuxEvb+PSloHpqVu+FqcO4eeF2h5qYRhA7ev6KvelyQAKtegUbC6RypJnlEOhd8vloNKYg== } + resolution: {integrity: sha512-NWmpvLSqUrgrAC9HCuxEvb+PSloHpqVu+FqcO4eeF2h5qYRhA7ev6KvelyQAKtegUbC6RypJnlEOhd8vloNKYg==} hasBin: true nopt@8.1.0: - resolution: - { integrity: sha512-ieGu42u/Qsa4TFktmaKEwM6MQH0pOWnaB3htzh0JRtx84+Mebc0cbZYN5bC+6WTZ4+77xrL9Pn5m7CV6VIkV7A== } - engines: { node: ^18.17.0 || >=20.5.0 } + resolution: {integrity: sha512-ieGu42u/Qsa4TFktmaKEwM6MQH0pOWnaB3htzh0JRtx84+Mebc0cbZYN5bC+6WTZ4+77xrL9Pn5m7CV6VIkV7A==} + engines: {node: ^18.17.0 || >=20.5.0} hasBin: true nopt@9.0.0: - resolution: - { integrity: sha512-Zhq3a+yFKrYwSBluL4H9XP3m3y5uvQkB/09CwDruCiRmR/UJYnn9W4R48ry0uGC70aeTPKLynBtscP9efFFcPw== } - engines: { node: ^20.17.0 || >=22.9.0 } + resolution: {integrity: sha512-Zhq3a+yFKrYwSBluL4H9XP3m3y5uvQkB/09CwDruCiRmR/UJYnn9W4R48ry0uGC70aeTPKLynBtscP9efFFcPw==} + engines: {node: ^20.17.0 || >=22.9.0} hasBin: true normalize-package-data@2.5.0: - resolution: - { integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== } + resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} normalize-package-data@3.0.3: - resolution: - { integrity: sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA== } - engines: { node: ">=10" } + resolution: {integrity: sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==} + engines: {node: '>=10'} normalize-path@3.0.0: - resolution: - { integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} normalize-url@6.1.0: - resolution: - { integrity: sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A== } - engines: { node: ">=10" } + resolution: {integrity: sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==} + engines: {node: '>=10'} npm-bundled@4.0.0: - resolution: - { integrity: sha512-IxaQZDMsqfQ2Lz37VvyyEtKLe8FsRZuysmedy/N06TU1RyVppYKXrO4xIhR0F+7ubIBox6Q7nir6fQI3ej39iA== } - engines: { node: ^18.17.0 || >=20.5.0 } + resolution: {integrity: sha512-IxaQZDMsqfQ2Lz37VvyyEtKLe8FsRZuysmedy/N06TU1RyVppYKXrO4xIhR0F+7ubIBox6Q7nir6fQI3ej39iA==} + engines: {node: ^18.17.0 || >=20.5.0} npm-bundled@5.0.0: - resolution: - { integrity: sha512-JLSpbzh6UUXIEoqPsYBvVNVmyrjVZ1fzEFbqxKkTJQkWBO3xFzFT+KDnSKQWwOQNbuWRwt5LSD6HOTLGIWzfrw== } - engines: { node: ^20.17.0 || >=22.9.0 } + resolution: {integrity: sha512-JLSpbzh6UUXIEoqPsYBvVNVmyrjVZ1fzEFbqxKkTJQkWBO3xFzFT+KDnSKQWwOQNbuWRwt5LSD6HOTLGIWzfrw==} + engines: {node: ^20.17.0 || >=22.9.0} npm-install-checks@7.1.2: - resolution: - { integrity: sha512-z9HJBCYw9Zr8BqXcllKIs5nI+QggAImbBdHphOzVYrz2CB4iQ6FzWyKmlqDZua+51nAu7FcemlbTc9VgQN5XDQ== } - engines: { node: ^18.17.0 || >=20.5.0 } + resolution: {integrity: sha512-z9HJBCYw9Zr8BqXcllKIs5nI+QggAImbBdHphOzVYrz2CB4iQ6FzWyKmlqDZua+51nAu7FcemlbTc9VgQN5XDQ==} + engines: {node: ^18.17.0 || >=20.5.0} npm-install-checks@8.0.0: - resolution: - { integrity: sha512-ScAUdMpyzkbpxoNekQ3tNRdFI8SJ86wgKZSQZdUxT+bj0wVFpsEMWnkXP0twVe1gJyNF5apBWDJhhIbgrIViRA== } - engines: { node: ^20.17.0 || >=22.9.0 } + resolution: {integrity: sha512-ScAUdMpyzkbpxoNekQ3tNRdFI8SJ86wgKZSQZdUxT+bj0wVFpsEMWnkXP0twVe1gJyNF5apBWDJhhIbgrIViRA==} + engines: {node: ^20.17.0 || >=22.9.0} npm-normalize-package-bin@4.0.0: - resolution: - { integrity: sha512-TZKxPvItzai9kN9H/TkmCtx/ZN/hvr3vUycjlfmH0ootY9yFBzNOpiXAdIn1Iteqsvk4lQn6B5PTrt+n6h8k/w== } - engines: { node: ^18.17.0 || >=20.5.0 } + resolution: {integrity: sha512-TZKxPvItzai9kN9H/TkmCtx/ZN/hvr3vUycjlfmH0ootY9yFBzNOpiXAdIn1Iteqsvk4lQn6B5PTrt+n6h8k/w==} + engines: {node: ^18.17.0 || >=20.5.0} npm-normalize-package-bin@5.0.0: - resolution: - { integrity: sha512-CJi3OS4JLsNMmr2u07OJlhcrPxCeOeP/4xq67aWNai6TNWWbTrlNDgl8NcFKVlcBKp18GPj+EzbNIgrBfZhsag== } - engines: { node: ^20.17.0 || >=22.9.0 } + resolution: {integrity: sha512-CJi3OS4JLsNMmr2u07OJlhcrPxCeOeP/4xq67aWNai6TNWWbTrlNDgl8NcFKVlcBKp18GPj+EzbNIgrBfZhsag==} + engines: {node: ^20.17.0 || >=22.9.0} npm-package-arg@12.0.2: - resolution: - { integrity: sha512-f1NpFjNI9O4VbKMOlA5QoBq/vSQPORHcTZ2feJpFkTHJ9eQkdlmZEKSjcAhxTGInC7RlEyScT9ui67NaOsjFWA== } - engines: { node: ^18.17.0 || >=20.5.0 } + resolution: {integrity: sha512-f1NpFjNI9O4VbKMOlA5QoBq/vSQPORHcTZ2feJpFkTHJ9eQkdlmZEKSjcAhxTGInC7RlEyScT9ui67NaOsjFWA==} + engines: {node: ^18.17.0 || >=20.5.0} npm-package-arg@13.0.1: - resolution: - { integrity: sha512-6zqls5xFvJbgFjB1B2U6yITtyGBjDBORB7suI4zA4T/sZ1OmkMFlaQSNB/4K0LtXNA1t4OprAFxPisadK5O2ag== } - engines: { node: ^20.17.0 || >=22.9.0 } + resolution: {integrity: sha512-6zqls5xFvJbgFjB1B2U6yITtyGBjDBORB7suI4zA4T/sZ1OmkMFlaQSNB/4K0LtXNA1t4OprAFxPisadK5O2ag==} + engines: {node: ^20.17.0 || >=22.9.0} npm-packlist@10.0.3: - resolution: - { integrity: sha512-zPukTwJMOu5X5uvm0fztwS5Zxyvmk38H/LfidkOMt3gbZVCyro2cD/ETzwzVPcWZA3JOyPznfUN/nkyFiyUbxg== } - engines: { node: ^20.17.0 || >=22.9.0 } + resolution: {integrity: sha512-zPukTwJMOu5X5uvm0fztwS5Zxyvmk38H/LfidkOMt3gbZVCyro2cD/ETzwzVPcWZA3JOyPznfUN/nkyFiyUbxg==} + engines: {node: ^20.17.0 || >=22.9.0} npm-pick-manifest@10.0.0: - resolution: - { integrity: sha512-r4fFa4FqYY8xaM7fHecQ9Z2nE9hgNfJR+EmoKv0+chvzWkBcORX3r0FpTByP+CbOVJDladMXnPQGVN8PBLGuTQ== } - engines: { node: ^18.17.0 || >=20.5.0 } + resolution: {integrity: sha512-r4fFa4FqYY8xaM7fHecQ9Z2nE9hgNfJR+EmoKv0+chvzWkBcORX3r0FpTByP+CbOVJDladMXnPQGVN8PBLGuTQ==} + engines: {node: ^18.17.0 || >=20.5.0} npm-pick-manifest@11.0.3: - resolution: - { integrity: sha512-buzyCfeoGY/PxKqmBqn1IUJrZnUi1VVJTdSSRPGI60tJdUhUoSQFhs0zycJokDdOznQentgrpf8LayEHyyYlqQ== } - engines: { node: ^20.17.0 || >=22.9.0 } + resolution: {integrity: sha512-buzyCfeoGY/PxKqmBqn1IUJrZnUi1VVJTdSSRPGI60tJdUhUoSQFhs0zycJokDdOznQentgrpf8LayEHyyYlqQ==} + engines: {node: ^20.17.0 || >=22.9.0} npm-registry-fetch@19.1.0: - resolution: - { integrity: sha512-xyZLfs7TxPu/WKjHUs0jZOPinzBAI32kEUel6za0vH+JUTnFZ5zbHI1ZoGZRDm6oMjADtrli6FxtMlk/5ABPNw== } - engines: { node: ^20.17.0 || >=22.9.0 } + resolution: {integrity: sha512-xyZLfs7TxPu/WKjHUs0jZOPinzBAI32kEUel6za0vH+JUTnFZ5zbHI1ZoGZRDm6oMjADtrli6FxtMlk/5ABPNw==} + engines: {node: ^20.17.0 || >=22.9.0} npm-run-path@4.0.1: - resolution: - { integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== } - engines: { node: ">=8" } + resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} + engines: {node: '>=8'} nth-check@2.1.1: - resolution: - { integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w== } + resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} nx-cloud@19.1.0: - resolution: - { integrity: sha512-f24vd5/57/MFSXNMfkerdDiK0EvScGOKO71iOWgJNgI1xVweDRmOA/EfjnPMRd5m+pnoPs/4A7DzuwSW0jZVyw== } + resolution: {integrity: sha512-f24vd5/57/MFSXNMfkerdDiK0EvScGOKO71iOWgJNgI1xVweDRmOA/EfjnPMRd5m+pnoPs/4A7DzuwSW0jZVyw==} hasBin: true nx@22.6.0: - resolution: - { integrity: sha512-pKkq/ZP2/4YcAQlDOQvtCmPz/gpTgn1AfBiYhcyKX970MilvK6lqb9u/PTLfbi146oqPyEmphupV8YsORDvJ6A== } + resolution: {integrity: sha512-pKkq/ZP2/4YcAQlDOQvtCmPz/gpTgn1AfBiYhcyKX970MilvK6lqb9u/PTLfbi146oqPyEmphupV8YsORDvJ6A==} hasBin: true peerDependencies: - "@swc-node/register": ^1.11.1 - "@swc/core": ^1.15.8 + '@swc-node/register': ^1.11.1 + '@swc/core': ^1.15.8 peerDependenciesMeta: - "@swc-node/register": + '@swc-node/register': optional: true - "@swc/core": + '@swc/core': optional: true object-assign@4.1.1: - resolution: - { integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} + engines: {node: '>=0.10.0'} object-deep-merge@2.0.0: - resolution: - { integrity: sha512-3DC3UMpeffLTHiuXSy/UG4NOIYTLlY9u3V82+djSCLYClWobZiS4ivYzpIUWrRY/nfsJ8cWsKyG3QfyLePmhvg== } + resolution: {integrity: sha512-3DC3UMpeffLTHiuXSy/UG4NOIYTLlY9u3V82+djSCLYClWobZiS4ivYzpIUWrRY/nfsJ8cWsKyG3QfyLePmhvg==} object-inspect@1.13.4: - resolution: - { integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew== } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==} + engines: {node: '>= 0.4'} object-keys@1.1.1: - resolution: - { integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} + engines: {node: '>= 0.4'} obug@2.1.1: - resolution: - { integrity: sha512-uTqF9MuPraAQ+IsnPf366RG4cP9RtUi7MLO1N3KEc+wb0a6yKpeL0lmk2IB1jY5KHPAlTc6T/JRdC/YqxHNwkQ== } + resolution: {integrity: sha512-uTqF9MuPraAQ+IsnPf366RG4cP9RtUi7MLO1N3KEc+wb0a6yKpeL0lmk2IB1jY5KHPAlTc6T/JRdC/YqxHNwkQ==} on-finished@2.4.1: - resolution: - { integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg== } - engines: { node: ">= 0.8" } + resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} + engines: {node: '>= 0.8'} once@1.4.0: - resolution: - { integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== } + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} one-time@1.0.0: - resolution: - { integrity: sha512-5DXOiRKwuSEcQ/l0kGCF6Q3jcADFv5tSmRaJck/OqkVFcOzutB134KRSfF0xDrL39MNnqxbHBbUUcjZIhTgb2g== } + resolution: {integrity: sha512-5DXOiRKwuSEcQ/l0kGCF6Q3jcADFv5tSmRaJck/OqkVFcOzutB134KRSfF0xDrL39MNnqxbHBbUUcjZIhTgb2g==} onetime@5.1.2: - resolution: - { integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== } - engines: { node: ">=6" } + resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} + engines: {node: '>=6'} open@8.4.2: - resolution: - { integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ== } - engines: { node: ">=12" } + resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==} + engines: {node: '>=12'} opener@1.5.2: - resolution: - { integrity: sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A== } + resolution: {integrity: sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==} hasBin: true optionator@0.9.3: - resolution: - { integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg== } - engines: { node: ">= 0.8.0" } + resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} + engines: {node: '>= 0.8.0'} opts@2.0.2: - resolution: - { integrity: sha512-k41FwbcLnlgnFh69f4qdUfvDQ+5vaSDnVPFI/y5XuhKRq97EnVVneO9F1ESVCdiVu4fCS2L8usX3mU331hB7pg== } + resolution: {integrity: sha512-k41FwbcLnlgnFh69f4qdUfvDQ+5vaSDnVPFI/y5XuhKRq97EnVVneO9F1ESVCdiVu4fCS2L8usX3mU331hB7pg==} ora@5.3.0: - resolution: - { integrity: sha512-zAKMgGXUim0Jyd6CXK9lraBnD3H5yPGBPPOkC23a2BG6hsm4Zu6OQSjQuEtV0BHDf4aKHcUFvJiGRrFuW3MG8g== } - engines: { node: ">=10" } + resolution: {integrity: sha512-zAKMgGXUim0Jyd6CXK9lraBnD3H5yPGBPPOkC23a2BG6hsm4Zu6OQSjQuEtV0BHDf4aKHcUFvJiGRrFuW3MG8g==} + engines: {node: '>=10'} oxc-minify@0.116.0: - resolution: - { integrity: sha512-QgwBX/I81xEsKaD0/M5OsLbuKUx48F2nnJnQrpAgCDOpqjfm8AdF/bbtmrGM9YmsSUsAxGTh+Va10ImlwUVwww== } - engines: { node: ^20.19.0 || >=22.12.0 } + resolution: {integrity: sha512-QgwBX/I81xEsKaD0/M5OsLbuKUx48F2nnJnQrpAgCDOpqjfm8AdF/bbtmrGM9YmsSUsAxGTh+Va10ImlwUVwww==} + engines: {node: ^20.19.0 || >=22.12.0} p-cancelable@2.1.1: - resolution: - { integrity: sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg== } - engines: { node: ">=8" } + resolution: {integrity: sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==} + engines: {node: '>=8'} p-finally@1.0.0: - resolution: - { integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow== } - engines: { node: ">=4" } + resolution: {integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==} + engines: {node: '>=4'} p-limit@1.3.0: - resolution: - { integrity: sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q== } - engines: { node: ">=4" } + resolution: {integrity: sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==} + engines: {node: '>=4'} p-limit@2.3.0: - resolution: - { integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== } - engines: { node: ">=6" } + resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} + engines: {node: '>=6'} p-limit@3.1.0: - resolution: - { integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== } - engines: { node: ">=10" } + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} + engines: {node: '>=10'} p-limit@4.0.0: - resolution: - { integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} p-locate@2.0.0: - resolution: - { integrity: sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg== } - engines: { node: ">=4" } + resolution: {integrity: sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==} + engines: {node: '>=4'} p-locate@4.1.0: - resolution: - { integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== } - engines: { node: ">=8" } + resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} + engines: {node: '>=8'} p-locate@5.0.0: - resolution: - { integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== } - engines: { node: ">=10" } + resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} + engines: {node: '>=10'} p-locate@6.0.0: - resolution: - { integrity: sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} p-map-series@2.1.0: - resolution: - { integrity: sha512-RpYIIK1zXSNEOdwxcfe7FdvGcs7+y5n8rifMhMNWvaxRNMPINJHF5GDeuVxWqnfrcHPSCnp7Oo5yNXHId9Av2Q== } - engines: { node: ">=8" } + resolution: {integrity: sha512-RpYIIK1zXSNEOdwxcfe7FdvGcs7+y5n8rifMhMNWvaxRNMPINJHF5GDeuVxWqnfrcHPSCnp7Oo5yNXHId9Av2Q==} + engines: {node: '>=8'} p-map@4.0.0: - resolution: - { integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ== } - engines: { node: ">=10" } + resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} + engines: {node: '>=10'} p-map@7.0.4: - resolution: - { integrity: sha512-tkAQEw8ysMzmkhgw8k+1U/iPhWNhykKnSk4Rd5zLoPJCuJaGRPo6YposrZgaxHKzDHdDWWZvE/Sk7hsL2X/CpQ== } - engines: { node: ">=18" } + resolution: {integrity: sha512-tkAQEw8ysMzmkhgw8k+1U/iPhWNhykKnSk4Rd5zLoPJCuJaGRPo6YposrZgaxHKzDHdDWWZvE/Sk7hsL2X/CpQ==} + engines: {node: '>=18'} p-pipe@3.1.0: - resolution: - { integrity: sha512-08pj8ATpzMR0Y80x50yJHn37NF6vjrqHutASaX5LiH5npS9XPvrUmscd9MF5R4fuYRHOxQR1FfMIlF7AzwoPqw== } - engines: { node: ">=8" } + resolution: {integrity: sha512-08pj8ATpzMR0Y80x50yJHn37NF6vjrqHutASaX5LiH5npS9XPvrUmscd9MF5R4fuYRHOxQR1FfMIlF7AzwoPqw==} + engines: {node: '>=8'} p-queue@6.6.2: - resolution: - { integrity: sha512-RwFpb72c/BhQLEXIZ5K2e+AhgNVmIejGlTgiB9MzZ0e93GRvqZ7uSi0dvRF7/XIXDeNkra2fNHBxTyPDGySpjQ== } - engines: { node: ">=8" } + resolution: {integrity: sha512-RwFpb72c/BhQLEXIZ5K2e+AhgNVmIejGlTgiB9MzZ0e93GRvqZ7uSi0dvRF7/XIXDeNkra2fNHBxTyPDGySpjQ==} + engines: {node: '>=8'} p-reduce@2.1.0: - resolution: - { integrity: sha512-2USApvnsutq8uoxZBGbbWM0JIYLiEMJ9RlaN7fAzVNb9OZN0SHjjTTfIcb667XynS5Y1VhwDJVDa72TnPzAYWw== } - engines: { node: ">=8" } + resolution: {integrity: sha512-2USApvnsutq8uoxZBGbbWM0JIYLiEMJ9RlaN7fAzVNb9OZN0SHjjTTfIcb667XynS5Y1VhwDJVDa72TnPzAYWw==} + engines: {node: '>=8'} p-timeout@3.2.0: - resolution: - { integrity: sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg== } - engines: { node: ">=8" } + resolution: {integrity: sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==} + engines: {node: '>=8'} p-try@1.0.0: - resolution: - { integrity: sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww== } - engines: { node: ">=4" } + resolution: {integrity: sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==} + engines: {node: '>=4'} p-try@2.2.0: - resolution: - { integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== } - engines: { node: ">=6" } + resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} + engines: {node: '>=6'} p-waterfall@2.1.1: - resolution: - { integrity: sha512-RRTnDb2TBG/epPRI2yYXsimO0v3BXC8Yd3ogr1545IaqKK17VGhbWVeGGN+XfCm/08OK8635nH31c8bATkHuSw== } - engines: { node: ">=8" } + resolution: {integrity: sha512-RRTnDb2TBG/epPRI2yYXsimO0v3BXC8Yd3ogr1545IaqKK17VGhbWVeGGN+XfCm/08OK8635nH31c8bATkHuSw==} + engines: {node: '>=8'} package-json-from-dist@1.0.0: - resolution: - { integrity: sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw== } + resolution: {integrity: sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==} package-json-from-dist@1.0.1: - resolution: - { integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw== } + resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==} pacote@21.0.1: - resolution: - { integrity: sha512-LHGIUQUrcDIJUej53KJz1BPvUuHrItrR2yrnN0Kl9657cJ0ZT6QJHk9wWPBnQZhYT5KLyZWrk9jaYc2aKDu4yw== } - engines: { node: ^20.17.0 || >=22.9.0 } + resolution: {integrity: sha512-LHGIUQUrcDIJUej53KJz1BPvUuHrItrR2yrnN0Kl9657cJ0ZT6QJHk9wWPBnQZhYT5KLyZWrk9jaYc2aKDu4yw==} + engines: {node: ^20.17.0 || >=22.9.0} hasBin: true pacote@21.0.4: - resolution: - { integrity: sha512-RplP/pDW0NNNDh3pnaoIWYPvNenS7UqMbXyvMqJczosiFWTeGGwJC2NQBLqKf4rGLFfwCOnntw1aEp9Jiqm1MA== } - engines: { node: ^20.17.0 || >=22.9.0 } + resolution: {integrity: sha512-RplP/pDW0NNNDh3pnaoIWYPvNenS7UqMbXyvMqJczosiFWTeGGwJC2NQBLqKf4rGLFfwCOnntw1aEp9Jiqm1MA==} + engines: {node: ^20.17.0 || >=22.9.0} hasBin: true parent-module@1.0.1: - resolution: - { integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== } - engines: { node: ">=6" } + resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} + engines: {node: '>=6'} parse-conflict-json@4.0.0: - resolution: - { integrity: sha512-37CN2VtcuvKgHUs8+0b1uJeEsbGn61GRHz469C94P5xiOoqpDYJYwjg4RY9Vmz39WyZAVkR5++nbJwLMIgOCnQ== } - engines: { node: ^18.17.0 || >=20.5.0 } + resolution: {integrity: sha512-37CN2VtcuvKgHUs8+0b1uJeEsbGn61GRHz469C94P5xiOoqpDYJYwjg4RY9Vmz39WyZAVkR5++nbJwLMIgOCnQ==} + engines: {node: ^18.17.0 || >=20.5.0} parse-imports-exports@0.2.4: - resolution: - { integrity: sha512-4s6vd6dx1AotCx/RCI2m7t7GCh5bDRUtGNvRfHSP2wbBQdMi67pPe7mtzmgwcaQ8VKK/6IB7Glfyu3qdZJPybQ== } + resolution: {integrity: sha512-4s6vd6dx1AotCx/RCI2m7t7GCh5bDRUtGNvRfHSP2wbBQdMi67pPe7mtzmgwcaQ8VKK/6IB7Glfyu3qdZJPybQ==} parse-json@4.0.0: - resolution: - { integrity: sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw== } - engines: { node: ">=4" } + resolution: {integrity: sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==} + engines: {node: '>=4'} parse-json@5.2.0: - resolution: - { integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== } - engines: { node: ">=8" } + resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} + engines: {node: '>=8'} parse-path@7.0.0: - resolution: - { integrity: sha512-Euf9GG8WT9CdqwuWJGdf3RkUcTBArppHABkO7Lm8IzRQp0e2r/kkFnmhu4TSK30Wcu5rVAZLmfPKSBBi9tWFog== } + resolution: {integrity: sha512-Euf9GG8WT9CdqwuWJGdf3RkUcTBArppHABkO7Lm8IzRQp0e2r/kkFnmhu4TSK30Wcu5rVAZLmfPKSBBi9tWFog==} parse-statements@1.0.11: - resolution: - { integrity: sha512-HlsyYdMBnbPQ9Jr/VgJ1YF4scnldvJpJxCVx6KgqPL4dxppsWrJHCIIxQXMJrqGnsRkNPATbeMJ8Yxu7JMsYcA== } + resolution: {integrity: sha512-HlsyYdMBnbPQ9Jr/VgJ1YF4scnldvJpJxCVx6KgqPL4dxppsWrJHCIIxQXMJrqGnsRkNPATbeMJ8Yxu7JMsYcA==} parse-url@8.1.0: - resolution: - { integrity: sha512-xDvOoLU5XRrcOZvnI6b8zA6n9O9ejNk/GExuz1yBuWUGn9KA97GI6HTs6u02wKara1CeVmZhH+0TZFdWScR89w== } + resolution: {integrity: sha512-xDvOoLU5XRrcOZvnI6b8zA6n9O9ejNk/GExuz1yBuWUGn9KA97GI6HTs6u02wKara1CeVmZhH+0TZFdWScR89w==} - parse5@7.2.1: - resolution: - { integrity: sha512-BuBYQYlv1ckiPdQi/ohiivi9Sagc9JG+Ozs0r7b/0iK3sKmrb0b9FdWdBbOdx6hBCM/F9Ir82ofnBhtZOjCRPQ== } + parse5@7.3.0: + resolution: {integrity: sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==} parse5@8.0.0: - resolution: - { integrity: sha512-9m4m5GSgXjL4AjumKzq1Fgfp3Z8rsvjRNbnkVwfu2ImRqE5D0LnY2QfDen18FSY9C573YU5XxSapdHZTZ2WolA== } + resolution: {integrity: sha512-9m4m5GSgXjL4AjumKzq1Fgfp3Z8rsvjRNbnkVwfu2ImRqE5D0LnY2QfDen18FSY9C573YU5XxSapdHZTZ2WolA==} parseurl@1.3.3: - resolution: - { integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== } - engines: { node: ">= 0.8" } + resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} + engines: {node: '>= 0.8'} path-equal@1.2.5: - resolution: - { integrity: sha512-i73IctDr3F2W+bsOWDyyVm/lqsXO47aY9nsFZUjTT/aljSbkxHxxCoyZ9UUrM8jK0JVod+An+rl48RCsvWM+9g== } + resolution: {integrity: sha512-i73IctDr3F2W+bsOWDyyVm/lqsXO47aY9nsFZUjTT/aljSbkxHxxCoyZ9UUrM8jK0JVod+An+rl48RCsvWM+9g==} path-exists@3.0.0: - resolution: - { integrity: sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ== } - engines: { node: ">=4" } + resolution: {integrity: sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==} + engines: {node: '>=4'} path-exists@4.0.0: - resolution: - { integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== } - engines: { node: ">=8" } + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} path-is-absolute@1.0.1: - resolution: - { integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} + engines: {node: '>=0.10.0'} path-key@3.1.1: - resolution: - { integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== } - engines: { node: ">=8" } + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} path-parse@1.0.7: - resolution: - { integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== } + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} path-scurry@1.11.1: - resolution: - { integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA== } - engines: { node: ">=16 || 14 >=14.18" } + resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} + engines: {node: '>=16 || 14 >=14.18'} path-scurry@2.0.2: - resolution: - { integrity: sha512-3O/iVVsJAPsOnpwWIeD+d6z/7PmqApyQePUtCndjatj/9I5LylHvt5qluFaBT3I5h3r1ejfR056c+FCv+NnNXg== } - engines: { node: 18 || 20 || >=22 } + resolution: {integrity: sha512-3O/iVVsJAPsOnpwWIeD+d6z/7PmqApyQePUtCndjatj/9I5LylHvt5qluFaBT3I5h3r1ejfR056c+FCv+NnNXg==} + engines: {node: 18 || 20 || >=22} path-to-regexp@8.3.0: - resolution: - { integrity: sha512-7jdwVIRtsP8MYpdXSwOS0YdD0Du+qOoF/AEPIt88PcCFrZCzx41oxku1jD88hZBwbNUIEfpqvuhjFaMAqMTWnA== } + resolution: {integrity: sha512-7jdwVIRtsP8MYpdXSwOS0YdD0Du+qOoF/AEPIt88PcCFrZCzx41oxku1jD88hZBwbNUIEfpqvuhjFaMAqMTWnA==} path-type@3.0.0: - resolution: - { integrity: sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg== } - engines: { node: ">=4" } + resolution: {integrity: sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==} + engines: {node: '>=4'} path-type@4.0.0: - resolution: - { integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== } - engines: { node: ">=8" } + resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} + engines: {node: '>=8'} pathe@2.0.3: - resolution: - { integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w== } + resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==} pend@1.2.0: - resolution: - { integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg== } + resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==} picocolors@1.1.1: - resolution: - { integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA== } + resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} picomatch@2.3.1: - resolution: - { integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== } - engines: { node: ">=8.6" } + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} picomatch@4.0.3: - resolution: - { integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q== } - engines: { node: ">=12" } + resolution: {integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==} + engines: {node: '>=12'} picomodal@3.0.0: - resolution: - { integrity: sha512-FoR3TDfuLlqUvcEeK5ifpKSVVns6B4BQvc8SDF6THVMuadya6LLtji0QgUDSStw0ZR2J7I6UGi5V2V23rnPWTw== } + resolution: {integrity: sha512-FoR3TDfuLlqUvcEeK5ifpKSVVns6B4BQvc8SDF6THVMuadya6LLtji0QgUDSStw0ZR2J7I6UGi5V2V23rnPWTw==} pify@2.3.0: - resolution: - { integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog== } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} + engines: {node: '>=0.10.0'} pify@3.0.0: - resolution: - { integrity: sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg== } - engines: { node: ">=4" } + resolution: {integrity: sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==} + engines: {node: '>=4'} pkg-dir@4.2.0: - resolution: - { integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== } - engines: { node: ">=8" } + resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} + engines: {node: '>=8'} postcss-selector-parser@7.1.1: - resolution: - { integrity: sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg== } - engines: { node: ">=4" } + resolution: {integrity: sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==} + engines: {node: '>=4'} postcss@8.5.8: - resolution: - { integrity: sha512-OW/rX8O/jXnm82Ey1k44pObPtdblfiuWnrd8X7GJ7emImCOstunGbXUpp7HdBrFQX6rJzn3sPT397Wp5aCwCHg== } - engines: { node: ^10 || ^12 || >=14 } + resolution: {integrity: sha512-OW/rX8O/jXnm82Ey1k44pObPtdblfiuWnrd8X7GJ7emImCOstunGbXUpp7HdBrFQX6rJzn3sPT397Wp5aCwCHg==} + engines: {node: ^10 || ^12 || >=14} prebuild-install@7.1.3: - resolution: - { integrity: sha512-8Mf2cbV7x1cXPUILADGI3wuhfqWvtiLA1iclTDbFRZkgRQS0NqsPZphna9V+HyTEadheuPmjaJMsbzKQFOzLug== } - engines: { node: ">=10" } + resolution: {integrity: sha512-8Mf2cbV7x1cXPUILADGI3wuhfqWvtiLA1iclTDbFRZkgRQS0NqsPZphna9V+HyTEadheuPmjaJMsbzKQFOzLug==} + engines: {node: '>=10'} deprecated: No longer maintained. Please contact the author of the relevant native addon; alternatives are available. hasBin: true prelude-ls@1.2.1: - resolution: - { integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== } - engines: { node: ">= 0.8.0" } + resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} + engines: {node: '>= 0.8.0'} prettier-linter-helpers@1.0.1: - resolution: - { integrity: sha512-SxToR7P8Y2lWmv/kTzVLC1t/GDI2WGjMwNhLLE9qtH8Q13C+aEmuRlzDst4Up4s0Wc8sF2M+J57iB3cMLqftfg== } - engines: { node: ">=6.0.0" } + resolution: {integrity: sha512-SxToR7P8Y2lWmv/kTzVLC1t/GDI2WGjMwNhLLE9qtH8Q13C+aEmuRlzDst4Up4s0Wc8sF2M+J57iB3cMLqftfg==} + engines: {node: '>=6.0.0'} prettier-plugin-multiline-arrays@4.1.5: - resolution: - { integrity: sha512-eDrP12o6egIqvPg8eCAt94L/jxzMwU6vrOOBooe3FdUPh2h4cfu90ixH1keAkqPyArM2wPsNTBCZo+tY948UdA== } - engines: { node: ">=20" } + resolution: {integrity: sha512-eDrP12o6egIqvPg8eCAt94L/jxzMwU6vrOOBooe3FdUPh2h4cfu90ixH1keAkqPyArM2wPsNTBCZo+tY948UdA==} + engines: {node: '>=20'} peerDependencies: - prettier: ">=3.0.0 <4.0.0" + prettier: '>=3.0.0 <4.0.0' prettier@3.8.1: - resolution: - { integrity: sha512-UOnG6LftzbdaHZcKoPFtOcCKztrQ57WkHDeRD9t/PTQtmT0NHSeWWepj6pS0z/N7+08BHFDQVUrfmfMRcZwbMg== } - engines: { node: ">=14" } + resolution: {integrity: sha512-UOnG6LftzbdaHZcKoPFtOcCKztrQ57WkHDeRD9t/PTQtmT0NHSeWWepj6pS0z/N7+08BHFDQVUrfmfMRcZwbMg==} + engines: {node: '>=14'} hasBin: true pretty-format@30.2.0: - resolution: - { integrity: sha512-9uBdv/B4EefsuAL+pWqueZyZS2Ba+LxfFeQ9DN14HU4bN8bhaxKdkpjpB6fs9+pSjIBu+FXQHImEg8j/Lw0+vA== } - engines: { node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0 } + resolution: {integrity: sha512-9uBdv/B4EefsuAL+pWqueZyZS2Ba+LxfFeQ9DN14HU4bN8bhaxKdkpjpB6fs9+pSjIBu+FXQHImEg8j/Lw0+vA==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} proc-log@5.0.0: - resolution: - { integrity: sha512-Azwzvl90HaF0aCz1JrDdXQykFakSSNPaPoiZ9fm5qJIMHioDZEi7OAdRwSm6rSoPtY3Qutnm3L7ogmg3dc+wbQ== } - engines: { node: ^18.17.0 || >=20.5.0 } + resolution: {integrity: sha512-Azwzvl90HaF0aCz1JrDdXQykFakSSNPaPoiZ9fm5qJIMHioDZEi7OAdRwSm6rSoPtY3Qutnm3L7ogmg3dc+wbQ==} + engines: {node: ^18.17.0 || >=20.5.0} proc-log@6.1.0: - resolution: - { integrity: sha512-iG+GYldRf2BQ0UDUAd6JQ/RwzaQy6mXmsk/IzlYyal4A4SNFw54MeH4/tLkF4I5WoWG9SQwuqWzS99jaFQHBuQ== } - engines: { node: ^20.17.0 || >=22.9.0 } + resolution: {integrity: sha512-iG+GYldRf2BQ0UDUAd6JQ/RwzaQy6mXmsk/IzlYyal4A4SNFw54MeH4/tLkF4I5WoWG9SQwuqWzS99jaFQHBuQ==} + engines: {node: ^20.17.0 || >=22.9.0} process-nextick-args@2.0.1: - resolution: - { integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== } + resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} proggy@3.0.0: - resolution: - { integrity: sha512-QE8RApCM3IaRRxVzxrjbgNMpQEX6Wu0p0KBeoSiSEw5/bsGwZHsshF4LCxH2jp/r6BU+bqA3LrMDEYNfJnpD8Q== } - engines: { node: ^18.17.0 || >=20.5.0 } + resolution: {integrity: sha512-QE8RApCM3IaRRxVzxrjbgNMpQEX6Wu0p0KBeoSiSEw5/bsGwZHsshF4LCxH2jp/r6BU+bqA3LrMDEYNfJnpD8Q==} + engines: {node: ^18.17.0 || >=20.5.0} progress@2.0.3: - resolution: - { integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== } - engines: { node: ">=0.4.0" } + resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==} + engines: {node: '>=0.4.0'} promise-all-reject-late@1.0.1: - resolution: - { integrity: sha512-vuf0Lf0lOxyQREH7GDIOUMLS7kz+gs8i6B+Yi8dC68a2sychGrHTJYghMBD6k7eUcH0H5P73EckCA48xijWqXw== } + resolution: {integrity: sha512-vuf0Lf0lOxyQREH7GDIOUMLS7kz+gs8i6B+Yi8dC68a2sychGrHTJYghMBD6k7eUcH0H5P73EckCA48xijWqXw==} promise-call-limit@3.0.1: - resolution: - { integrity: sha512-utl+0x8gIDasV5X+PI5qWEPqH6fJS0pFtQ/4gZ95xfEFb/89dmh+/b895TbFDBLiafBvxD/PGTKfvxl4kH/pQg== } + resolution: {integrity: sha512-utl+0x8gIDasV5X+PI5qWEPqH6fJS0pFtQ/4gZ95xfEFb/89dmh+/b895TbFDBLiafBvxD/PGTKfvxl4kH/pQg==} promise-retry@2.0.1: - resolution: - { integrity: sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g== } - engines: { node: ">=10" } + resolution: {integrity: sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==} + engines: {node: '>=10'} promise@7.3.1: - resolution: - { integrity: sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg== } + resolution: {integrity: sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==} prompts@2.4.2: - resolution: - { integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q== } - engines: { node: ">= 6" } + resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} + engines: {node: '>= 6'} promzard@2.0.0: - resolution: - { integrity: sha512-Ncd0vyS2eXGOjchIRg6PVCYKetJYrW1BSbbIo+bKdig61TB6nH2RQNF2uP+qMpsI73L/jURLWojcw8JNIKZ3gg== } - engines: { node: ^18.17.0 || >=20.5.0 } + resolution: {integrity: sha512-Ncd0vyS2eXGOjchIRg6PVCYKetJYrW1BSbbIo+bKdig61TB6nH2RQNF2uP+qMpsI73L/jURLWojcw8JNIKZ3gg==} + engines: {node: ^18.17.0 || >=20.5.0} protocols@2.0.1: - resolution: - { integrity: sha512-/XJ368cyBJ7fzLMwLKv1e4vLxOju2MNAIokcr7meSaNcVbWz/CPcW22cP04mwxOErdA5mwjA8Q6w/cdAQxVn7Q== } + resolution: {integrity: sha512-/XJ368cyBJ7fzLMwLKv1e4vLxOju2MNAIokcr7meSaNcVbWz/CPcW22cP04mwxOErdA5mwjA8Q6w/cdAQxVn7Q==} proxy-addr@2.0.7: - resolution: - { integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg== } - engines: { node: ">= 0.10" } + resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} + engines: {node: '>= 0.10'} proxy-from-env@1.1.0: - resolution: - { integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== } + resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} proxy-vir@2.0.2: - resolution: - { integrity: sha512-YgV6c/9aJ7RyNZDTPqLQ6SdqBocWHGUa5rU3hyEsHj2kg4/b0y0EMWp3dNNUEJQrw6BoywonNINEVyFvj97YXQ== } - engines: { node: ">=22" } + resolution: {integrity: sha512-YgV6c/9aJ7RyNZDTPqLQ6SdqBocWHGUa5rU3hyEsHj2kg4/b0y0EMWp3dNNUEJQrw6BoywonNINEVyFvj97YXQ==} + engines: {node: '>=22'} pstree.remy@1.1.8: - resolution: - { integrity: sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w== } + resolution: {integrity: sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==} pug-attrs@3.0.0: - resolution: - { integrity: sha512-azINV9dUtzPMFQktvTXciNAfAuVh/L/JCl0vtPCwvOA21uZrC08K/UnmrL+SXGEVc1FwzjW62+xw5S/uaLj6cA== } + resolution: {integrity: sha512-azINV9dUtzPMFQktvTXciNAfAuVh/L/JCl0vtPCwvOA21uZrC08K/UnmrL+SXGEVc1FwzjW62+xw5S/uaLj6cA==} pug-code-gen@3.0.4: - resolution: - { integrity: sha512-6okWYIKdasTyXICyEtvobmTZAVX57JkzgzIi4iRJlin8kmhG+Xry2dsus+Mun/nGCn6F2U49haHI5mkELXB14g== } + resolution: {integrity: sha512-6okWYIKdasTyXICyEtvobmTZAVX57JkzgzIi4iRJlin8kmhG+Xry2dsus+Mun/nGCn6F2U49haHI5mkELXB14g==} pug-error@2.1.0: - resolution: - { integrity: sha512-lv7sU9e5Jk8IeUheHata6/UThZ7RK2jnaaNztxfPYUY+VxZyk/ePVaNZ/vwmH8WqGvDz3LrNYt/+gA55NDg6Pg== } + resolution: {integrity: sha512-lv7sU9e5Jk8IeUheHata6/UThZ7RK2jnaaNztxfPYUY+VxZyk/ePVaNZ/vwmH8WqGvDz3LrNYt/+gA55NDg6Pg==} pug-filters@4.0.0: - resolution: - { integrity: sha512-yeNFtq5Yxmfz0f9z2rMXGw/8/4i1cCFecw/Q7+D0V2DdtII5UvqE12VaZ2AY7ri6o5RNXiweGH79OCq+2RQU4A== } + resolution: {integrity: sha512-yeNFtq5Yxmfz0f9z2rMXGw/8/4i1cCFecw/Q7+D0V2DdtII5UvqE12VaZ2AY7ri6o5RNXiweGH79OCq+2RQU4A==} pug-lexer@5.0.1: - resolution: - { integrity: sha512-0I6C62+keXlZPZkOJeVam9aBLVP2EnbeDw3An+k0/QlqdwH6rv8284nko14Na7c0TtqtogfWXcRoFE4O4Ff20w== } + resolution: {integrity: sha512-0I6C62+keXlZPZkOJeVam9aBLVP2EnbeDw3An+k0/QlqdwH6rv8284nko14Na7c0TtqtogfWXcRoFE4O4Ff20w==} pug-linker@4.0.0: - resolution: - { integrity: sha512-gjD1yzp0yxbQqnzBAdlhbgoJL5qIFJw78juN1NpTLt/mfPJ5VgC4BvkoD3G23qKzJtIIXBbcCt6FioLSFLOHdw== } + resolution: {integrity: sha512-gjD1yzp0yxbQqnzBAdlhbgoJL5qIFJw78juN1NpTLt/mfPJ5VgC4BvkoD3G23qKzJtIIXBbcCt6FioLSFLOHdw==} pug-load@3.0.0: - resolution: - { integrity: sha512-OCjTEnhLWZBvS4zni/WUMjH2YSUosnsmjGBB1An7CsKQarYSWQ0GCVyd4eQPMFJqZ8w9xgs01QdiZXKVjk92EQ== } + resolution: {integrity: sha512-OCjTEnhLWZBvS4zni/WUMjH2YSUosnsmjGBB1An7CsKQarYSWQ0GCVyd4eQPMFJqZ8w9xgs01QdiZXKVjk92EQ==} pug-parser@6.0.0: - resolution: - { integrity: sha512-ukiYM/9cH6Cml+AOl5kETtM9NR3WulyVP2y4HOU45DyMim1IeP/OOiyEWRr6qk5I5klpsBnbuHpwKmTx6WURnw== } + resolution: {integrity: sha512-ukiYM/9cH6Cml+AOl5kETtM9NR3WulyVP2y4HOU45DyMim1IeP/OOiyEWRr6qk5I5klpsBnbuHpwKmTx6WURnw==} pug-runtime@3.0.1: - resolution: - { integrity: sha512-L50zbvrQ35TkpHwv0G6aLSuueDRwc/97XdY8kL3tOT0FmhgG7UypU3VztfV/LATAvmUfYi4wNxSajhSAeNN+Kg== } + resolution: {integrity: sha512-L50zbvrQ35TkpHwv0G6aLSuueDRwc/97XdY8kL3tOT0FmhgG7UypU3VztfV/LATAvmUfYi4wNxSajhSAeNN+Kg==} pug-strip-comments@2.0.0: - resolution: - { integrity: sha512-zo8DsDpH7eTkPHCXFeAk1xZXJbyoTfdPlNR0bK7rpOMuhBYb0f5qUVCO1xlsitYd3w5FQTK7zpNVKb3rZoUrrQ== } + resolution: {integrity: sha512-zo8DsDpH7eTkPHCXFeAk1xZXJbyoTfdPlNR0bK7rpOMuhBYb0f5qUVCO1xlsitYd3w5FQTK7zpNVKb3rZoUrrQ==} pug-walk@2.0.0: - resolution: - { integrity: sha512-yYELe9Q5q9IQhuvqsZNwA5hfPkMJ8u92bQLIMcsMxf/VADjNtEYptU+inlufAFYcWdHlwNfZOEnOOQrZrcyJCQ== } + resolution: {integrity: sha512-yYELe9Q5q9IQhuvqsZNwA5hfPkMJ8u92bQLIMcsMxf/VADjNtEYptU+inlufAFYcWdHlwNfZOEnOOQrZrcyJCQ==} pug@3.0.4: - resolution: - { integrity: sha512-kFfq5mMzrS7+wrl5pLJzZEzemx34OQ0w4SARfhy/3yxTlhbstsudDwJzhf1hP02yHzbjoVMSXUj/Sz6RNfMyXg== } + resolution: {integrity: sha512-kFfq5mMzrS7+wrl5pLJzZEzemx34OQ0w4SARfhy/3yxTlhbstsudDwJzhf1hP02yHzbjoVMSXUj/Sz6RNfMyXg==} pump@3.0.3: - resolution: - { integrity: sha512-todwxLMY7/heScKmntwQG8CXVkWUOdYxIvY2s0VWAAMh/nd8SoYiRaKjlr7+iCs984f2P8zvrfWcDDYVb73NfA== } + resolution: {integrity: sha512-todwxLMY7/heScKmntwQG8CXVkWUOdYxIvY2s0VWAAMh/nd8SoYiRaKjlr7+iCs984f2P8zvrfWcDDYVb73NfA==} punycode.js@2.3.1: - resolution: - { integrity: sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA== } - engines: { node: ">=6" } + resolution: {integrity: sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==} + engines: {node: '>=6'} punycode@2.3.1: - resolution: - { integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== } - engines: { node: ">=6" } + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} + engines: {node: '>=6'} qs@6.14.0: - resolution: - { integrity: sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w== } - engines: { node: ">=0.6" } + resolution: {integrity: sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==} + engines: {node: '>=0.6'} queue-microtask@1.2.3: - resolution: - { integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== } + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} quick-lru@4.0.1: - resolution: - { integrity: sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g== } - engines: { node: ">=8" } + resolution: {integrity: sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==} + engines: {node: '>=8'} quick-lru@5.1.1: - resolution: - { integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA== } - engines: { node: ">=10" } + resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==} + engines: {node: '>=10'} range-parser@1.2.1: - resolution: - { integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== } - engines: { node: ">= 0.6" } + resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} + engines: {node: '>= 0.6'} raw-body@3.0.2: - resolution: - { integrity: sha512-K5zQjDllxWkf7Z5xJdV0/B0WTNqx6vxG70zJE4N0kBs4LovmEYWJzQGxC9bS9RAKu3bgM40lrd5zoLJ12MQ5BA== } - engines: { node: ">= 0.10" } + resolution: {integrity: sha512-K5zQjDllxWkf7Z5xJdV0/B0WTNqx6vxG70zJE4N0kBs4LovmEYWJzQGxC9bS9RAKu3bgM40lrd5zoLJ12MQ5BA==} + engines: {node: '>= 0.10'} rc@1.2.8: - resolution: - { integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== } + resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} hasBin: true react-is@18.3.1: - resolution: - { integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg== } + resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} read-cmd-shim@4.0.0: - resolution: - { integrity: sha512-yILWifhaSEEytfXI76kB9xEEiG1AiozaCJZ83A87ytjRiN+jVibXjedjCRNjoZviinhG+4UkalO3mWTd8u5O0Q== } - engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } + resolution: {integrity: sha512-yILWifhaSEEytfXI76kB9xEEiG1AiozaCJZ83A87ytjRiN+jVibXjedjCRNjoZviinhG+4UkalO3mWTd8u5O0Q==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} read-cmd-shim@5.0.0: - resolution: - { integrity: sha512-SEbJV7tohp3DAAILbEMPXavBjAnMN0tVnh4+9G8ihV4Pq3HYF9h8QNez9zkJ1ILkv9G2BjdzwctznGZXgu/HGw== } - engines: { node: ^18.17.0 || >=20.5.0 } + resolution: {integrity: sha512-SEbJV7tohp3DAAILbEMPXavBjAnMN0tVnh4+9G8ihV4Pq3HYF9h8QNez9zkJ1ILkv9G2BjdzwctznGZXgu/HGw==} + engines: {node: ^18.17.0 || >=20.5.0} read-pkg-up@3.0.0: - resolution: - { integrity: sha512-YFzFrVvpC6frF1sz8psoHDBGF7fLPc+llq/8NB43oagqWkx8ar5zYtsTORtOjw9W2RHLpWP+zTWwBvf1bCmcSw== } - engines: { node: ">=4" } + resolution: {integrity: sha512-YFzFrVvpC6frF1sz8psoHDBGF7fLPc+llq/8NB43oagqWkx8ar5zYtsTORtOjw9W2RHLpWP+zTWwBvf1bCmcSw==} + engines: {node: '>=4'} read-pkg-up@7.0.1: - resolution: - { integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg== } - engines: { node: ">=8" } + resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} + engines: {node: '>=8'} read-pkg@3.0.0: - resolution: - { integrity: sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA== } - engines: { node: ">=4" } + resolution: {integrity: sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==} + engines: {node: '>=4'} read-pkg@5.2.0: - resolution: - { integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg== } - engines: { node: ">=8" } + resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==} + engines: {node: '>=8'} read@4.1.0: - resolution: - { integrity: sha512-uRfX6K+f+R8OOrYScaM3ixPY4erg69f8DN6pgTvMcA9iRc8iDhwrA4m3Yu8YYKsXJgVvum+m8PkRboZwwuLzYA== } - engines: { node: ^18.17.0 || >=20.5.0 } + resolution: {integrity: sha512-uRfX6K+f+R8OOrYScaM3ixPY4erg69f8DN6pgTvMcA9iRc8iDhwrA4m3Yu8YYKsXJgVvum+m8PkRboZwwuLzYA==} + engines: {node: ^18.17.0 || >=20.5.0} readable-stream@1.0.34: - resolution: - { integrity: sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg== } + resolution: {integrity: sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==} readable-stream@2.3.8: - resolution: - { integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== } + resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} readable-stream@3.6.2: - resolution: - { integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== } - engines: { node: ">= 6" } + resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} + engines: {node: '>= 6'} readdirp@3.6.0: - resolution: - { integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== } - engines: { node: ">=8.10.0" } + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} + engines: {node: '>=8.10.0'} readdirp@4.1.2: - resolution: - { integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg== } - engines: { node: ">= 14.18.0" } + resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==} + engines: {node: '>= 14.18.0'} readjson@2.2.2: - resolution: - { integrity: sha512-PdeC9tsmLWBiL8vMhJvocq+OezQ3HhsH2HrN7YkhfYcTjQSa/iraB15A7Qvt7Xpr0Yd2rDNt6GbFwVQDg3HcAw== } - engines: { node: ">=10" } + resolution: {integrity: sha512-PdeC9tsmLWBiL8vMhJvocq+OezQ3HhsH2HrN7YkhfYcTjQSa/iraB15A7Qvt7Xpr0Yd2rDNt6GbFwVQDg3HcAw==} + engines: {node: '>=10'} rechoir@0.8.0: - resolution: - { integrity: sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ== } - engines: { node: ">= 10.13.0" } + resolution: {integrity: sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==} + engines: {node: '>= 10.13.0'} redent@3.0.0: - resolution: - { integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg== } - engines: { node: ">=8" } + resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==} + engines: {node: '>=8'} regexp-tree@0.1.27: - resolution: - { integrity: sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA== } + resolution: {integrity: sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==} hasBin: true require-directory@2.1.1: - resolution: - { integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} + engines: {node: '>=0.10.0'} require-from-string@2.0.2: - resolution: - { integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} + engines: {node: '>=0.10.0'} reserved-identifiers@1.2.0: - resolution: - { integrity: sha512-yE7KUfFvaBFzGPs5H3Ops1RevfUEsDc5Iz65rOwWg4lE8HJSYtle77uul3+573457oHvBKuHYDl/xqUkKpEEdw== } - engines: { node: ">=18" } + resolution: {integrity: sha512-yE7KUfFvaBFzGPs5H3Ops1RevfUEsDc5Iz65rOwWg4lE8HJSYtle77uul3+573457oHvBKuHYDl/xqUkKpEEdw==} + engines: {node: '>=18'} resolve-alpn@1.2.1: - resolution: - { integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g== } + resolution: {integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==} resolve-cwd@3.0.0: - resolution: - { integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg== } - engines: { node: ">=8" } + resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==} + engines: {node: '>=8'} resolve-from@4.0.0: - resolution: - { integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== } - engines: { node: ">=4" } + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} + engines: {node: '>=4'} resolve-from@5.0.0: - resolution: - { integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== } - engines: { node: ">=8" } + resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} + engines: {node: '>=8'} resolve.exports@2.0.3: - resolution: - { integrity: sha512-OcXjMsGdhL4XnbShKpAcSqPMzQoYkYyhbEaeSko47MjRP9NfEQMhZkXL1DoFlt9LWQn4YttrdnV6X2OiyzBi+A== } - engines: { node: ">=10" } + resolution: {integrity: sha512-OcXjMsGdhL4XnbShKpAcSqPMzQoYkYyhbEaeSko47MjRP9NfEQMhZkXL1DoFlt9LWQn4YttrdnV6X2OiyzBi+A==} + engines: {node: '>=10'} resolve@1.22.10: - resolution: - { integrity: sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w== } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==} + engines: {node: '>= 0.4'} hasBin: true responselike@2.0.1: - resolution: - { integrity: sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw== } + resolution: {integrity: sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==} restore-cursor@3.1.0: - resolution: - { integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== } - engines: { node: ">=8" } + resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} + engines: {node: '>=8'} retry@0.12.0: - resolution: - { integrity: sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow== } - engines: { node: ">= 4" } + resolution: {integrity: sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==} + engines: {node: '>= 4'} reusify@1.0.4: - resolution: - { integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== } - engines: { iojs: ">=1.0.0", node: ">=0.10.0" } + resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} rimraf@3.0.2: - resolution: - { integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== } + resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} deprecated: Rimraf versions prior to v4 are no longer supported hasBin: true rimraf@6.1.3: - resolution: - { integrity: sha512-LKg+Cr2ZF61fkcaK1UdkH2yEBBKnYjTyWzTJT6KNPcSPaiT7HSdhtMXQuN5wkTX0Xu72KQ1l8S42rlmexS2hSA== } - engines: { node: 20 || >=22 } + resolution: {integrity: sha512-LKg+Cr2ZF61fkcaK1UdkH2yEBBKnYjTyWzTJT6KNPcSPaiT7HSdhtMXQuN5wkTX0Xu72KQ1l8S42rlmexS2hSA==} + engines: {node: 20 || >=22} hasBin: true roarr@2.15.4: - resolution: - { integrity: sha512-CHhPh+UNHD2GTXNYhPWLnU8ONHdI+5DI+4EYIAOaiD63rHeYlZvyh8P+in5999TTSFgUYuKUAjzRI4mdh/p+2A== } - engines: { node: ">=8.0" } + resolution: {integrity: sha512-CHhPh+UNHD2GTXNYhPWLnU8ONHdI+5DI+4EYIAOaiD63rHeYlZvyh8P+in5999TTSFgUYuKUAjzRI4mdh/p+2A==} + engines: {node: '>=8.0'} rolldown@1.0.0-rc.10: - resolution: - { integrity: sha512-q7j6vvarRFmKpgJUT8HCAUljkgzEp4LAhPlJUvQhA5LA1SUL36s5QCysMutErzL3EbNOZOkoziSx9iZC4FddKA== } - engines: { node: ^20.19.0 || >=22.12.0 } + resolution: {integrity: sha512-q7j6vvarRFmKpgJUT8HCAUljkgzEp4LAhPlJUvQhA5LA1SUL36s5QCysMutErzL3EbNOZOkoziSx9iZC4FddKA==} + engines: {node: ^20.19.0 || >=22.12.0} hasBin: true rollup@4.59.0: - resolution: - { integrity: sha512-2oMpl67a3zCH9H79LeMcbDhXW/UmWG/y2zuqnF2jQq5uq9TbM9TVyXvA4+t+ne2IIkBdrLpAaRQAvo7YI/Yyeg== } - engines: { node: ">=18.0.0", npm: ">=8.0.0" } + resolution: {integrity: sha512-2oMpl67a3zCH9H79LeMcbDhXW/UmWG/y2zuqnF2jQq5uq9TbM9TVyXvA4+t+ne2IIkBdrLpAaRQAvo7YI/Yyeg==} + engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true router@2.2.0: - resolution: - { integrity: sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ== } - engines: { node: ">= 18" } + resolution: {integrity: sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==} + engines: {node: '>= 18'} run-async@4.0.6: - resolution: - { integrity: sha512-IoDlSLTs3Yq593mb3ZoKWKXMNu3UpObxhgA/Xuid5p4bbfi2jdY1Hj0m1K+0/tEuQTxIGMhQDqGjKb7RuxGpAQ== } - engines: { node: ">=0.12.0" } + resolution: {integrity: sha512-IoDlSLTs3Yq593mb3ZoKWKXMNu3UpObxhgA/Xuid5p4bbfi2jdY1Hj0m1K+0/tEuQTxIGMhQDqGjKb7RuxGpAQ==} + engines: {node: '>=0.12.0'} run-parallel@1.2.0: - resolution: - { integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== } + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} rxjs@7.8.2: - resolution: - { integrity: sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA== } + resolution: {integrity: sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==} safe-buffer@5.1.2: - resolution: - { integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== } + resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} safe-buffer@5.2.1: - resolution: - { integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== } + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} safe-regex@2.1.1: - resolution: - { integrity: sha512-rx+x8AMzKb5Q5lQ95Zoi6ZbJqwCLkqi3XuJXp5P3rT8OEc6sZCJG5AE5dU3lsgRr/F4Bs31jSlVN+j5KrsGu9A== } + resolution: {integrity: sha512-rx+x8AMzKb5Q5lQ95Zoi6ZbJqwCLkqi3XuJXp5P3rT8OEc6sZCJG5AE5dU3lsgRr/F4Bs31jSlVN+j5KrsGu9A==} safe-stable-stringify@2.5.0: - resolution: - { integrity: sha512-b3rppTKm9T+PsVCBEOUR46GWI7fdOs00VKZ1+9c1EWDaDMvjQc6tUwuFyIprgGgTcWoVHSKrU8H31ZHA2e0RHA== } - engines: { node: ">=10" } + resolution: {integrity: sha512-b3rppTKm9T+PsVCBEOUR46GWI7fdOs00VKZ1+9c1EWDaDMvjQc6tUwuFyIprgGgTcWoVHSKrU8H31ZHA2e0RHA==} + engines: {node: '>=10'} safer-buffer@2.1.2: - resolution: - { integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== } + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} sass@1.98.0: - resolution: - { integrity: sha512-+4N/u9dZ4PrgzGgPlKnaaRQx64RO0JBKs9sDhQ2pLgN6JQZ25uPQZKQYaBJU48Kd5BxgXoJ4e09Dq7nMcOUW3A== } - engines: { node: ">=14.0.0" } + resolution: {integrity: sha512-+4N/u9dZ4PrgzGgPlKnaaRQx64RO0JBKs9sDhQ2pLgN6JQZ25uPQZKQYaBJU48Kd5BxgXoJ4e09Dq7nMcOUW3A==} + engines: {node: '>=14.0.0'} hasBin: true sax@1.4.1: - resolution: - { integrity: sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg== } + resolution: {integrity: sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==} sax@1.5.0: - resolution: - { integrity: sha512-21IYA3Q5cQf089Z6tgaUTr7lDAyzoTPx5HRtbhsME8Udispad8dC/+sziTNugOEx54ilvatQ9YCzl4KQLPcRHA== } - engines: { node: ">=11.0.0" } + resolution: {integrity: sha512-21IYA3Q5cQf089Z6tgaUTr7lDAyzoTPx5HRtbhsME8Udispad8dC/+sziTNugOEx54ilvatQ9YCzl4KQLPcRHA==} + engines: {node: '>=11.0.0'} saxes@6.0.0: - resolution: - { integrity: sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA== } - engines: { node: ">=v12.22.7" } + resolution: {integrity: sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==} + engines: {node: '>=v12.22.7'} schema-utils@4.3.3: - resolution: - { integrity: sha512-eflK8wEtyOE6+hsaRVPxvUKYCpRgzLqDTb8krvAsRIwOGlHoSgYLgBXoubGgLd2fT41/OUYdb48v4k4WWHQurA== } - engines: { node: ">= 10.13.0" } + resolution: {integrity: sha512-eflK8wEtyOE6+hsaRVPxvUKYCpRgzLqDTb8krvAsRIwOGlHoSgYLgBXoubGgLd2fT41/OUYdb48v4k4WWHQurA==} + engines: {node: '>= 10.13.0'} semver-compare@1.0.0: - resolution: - { integrity: sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow== } + resolution: {integrity: sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==} semver@5.7.2: - resolution: - { integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g== } + resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} hasBin: true semver@6.3.1: - resolution: - { integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== } + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} hasBin: true semver@7.7.2: - resolution: - { integrity: sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA== } - engines: { node: ">=10" } + resolution: {integrity: sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==} + engines: {node: '>=10'} hasBin: true semver@7.7.4: - resolution: - { integrity: sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA== } - engines: { node: ">=10" } + resolution: {integrity: sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==} + engines: {node: '>=10'} hasBin: true send@1.2.1: - resolution: - { integrity: sha512-1gnZf7DFcoIcajTjTwjwuDjzuz4PPcY2StKPlsGAQ1+YH20IRVrBaXSWmdjowTJ6u8Rc01PoYOGHXfP1mYcZNQ== } - engines: { node: ">= 18" } + resolution: {integrity: sha512-1gnZf7DFcoIcajTjTwjwuDjzuz4PPcY2StKPlsGAQ1+YH20IRVrBaXSWmdjowTJ6u8Rc01PoYOGHXfP1mYcZNQ==} + engines: {node: '>= 18'} seq-logging@3.0.0: - resolution: - { integrity: sha512-ys5QV0745vxBCWuZBPSkgoobuLoUMxTSz1g7ZclHqX1tXXKFLyRIIn8V89EPgDnfRiWfoSo4KSxy/E0MtOYYyw== } - engines: { node: ">=14.18" } + resolution: {integrity: sha512-ys5QV0745vxBCWuZBPSkgoobuLoUMxTSz1g7ZclHqX1tXXKFLyRIIn8V89EPgDnfRiWfoSo4KSxy/E0MtOYYyw==} + engines: {node: '>=14.18'} serialize-error@7.0.1: - resolution: - { integrity: sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw== } - engines: { node: ">=10" } + resolution: {integrity: sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw==} + engines: {node: '>=10'} serve-static@2.2.1: - resolution: - { integrity: sha512-xRXBn0pPqQTVQiC8wyQrKs2MOlX24zQ0POGaj0kultvoOCstBQM5yvOhAVSUwOMjQtTvsPWoNCHfPGwaaQJhTw== } - engines: { node: ">= 18" } + resolution: {integrity: sha512-xRXBn0pPqQTVQiC8wyQrKs2MOlX24zQ0POGaj0kultvoOCstBQM5yvOhAVSUwOMjQtTvsPWoNCHfPGwaaQJhTw==} + engines: {node: '>= 18'} set-function-length@1.2.2: - resolution: - { integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg== } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} + engines: {node: '>= 0.4'} setprototypeof@1.2.0: - resolution: - { integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== } + resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} shallow-clone@3.0.1: - resolution: - { integrity: sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA== } - engines: { node: ">=8" } + resolution: {integrity: sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==} + engines: {node: '>=8'} shebang-command@2.0.0: - resolution: - { integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== } - engines: { node: ">=8" } + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} shebang-regex@3.0.0: - resolution: - { integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== } - engines: { node: ">=8" } + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} shell-quote@1.8.3: - resolution: - { integrity: sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw== } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==} + engines: {node: '>= 0.4'} side-channel-list@1.0.0: - resolution: - { integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA== } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==} + engines: {node: '>= 0.4'} side-channel-map@1.0.1: - resolution: - { integrity: sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA== } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==} + engines: {node: '>= 0.4'} side-channel-weakmap@1.0.2: - resolution: - { integrity: sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A== } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==} + engines: {node: '>= 0.4'} side-channel@1.1.0: - resolution: - { integrity: sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw== } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==} + engines: {node: '>= 0.4'} siginfo@2.0.0: - resolution: - { integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g== } + resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} signal-exit@3.0.7: - resolution: - { integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== } + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} signal-exit@4.1.0: - resolution: - { integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw== } - engines: { node: ">=14" } + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} + engines: {node: '>=14'} sigstore@4.1.0: - resolution: - { integrity: sha512-/fUgUhYghuLzVT/gaJoeVehLCgZiUxPCPMcyVNY0lIf/cTCz58K/WTI7PefDarXxp9nUKpEwg1yyz3eSBMTtgA== } - engines: { node: ^20.17.0 || >=22.9.0 } + resolution: {integrity: sha512-/fUgUhYghuLzVT/gaJoeVehLCgZiUxPCPMcyVNY0lIf/cTCz58K/WTI7PefDarXxp9nUKpEwg1yyz3eSBMTtgA==} + engines: {node: ^20.17.0 || >=22.9.0} simple-concat@1.0.1: - resolution: - { integrity: sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q== } + resolution: {integrity: sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==} simple-get@4.0.1: - resolution: - { integrity: sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA== } + resolution: {integrity: sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==} simple-update-notifier@2.0.0: - resolution: - { integrity: sha512-a2B9Y0KlNXl9u/vsW6sTIu9vGEpfKu2wRV6l1H3XEas/0gUIzGzBoP/IouTcUQbm9JWZLH3COxyn03TYlFax6w== } - engines: { node: ">=10" } + resolution: {integrity: sha512-a2B9Y0KlNXl9u/vsW6sTIu9vGEpfKu2wRV6l1H3XEas/0gUIzGzBoP/IouTcUQbm9JWZLH3COxyn03TYlFax6w==} + engines: {node: '>=10'} sirv@3.0.2: - resolution: - { integrity: sha512-2wcC/oGxHis/BoHkkPwldgiPSYcpZK3JU28WoMVv55yHJgcZ8rlXvuG9iZggz+sU1d4bRgIGASwyWqjxu3FM0g== } - engines: { node: ">=18" } + resolution: {integrity: sha512-2wcC/oGxHis/BoHkkPwldgiPSYcpZK3JU28WoMVv55yHJgcZ8rlXvuG9iZggz+sU1d4bRgIGASwyWqjxu3FM0g==} + engines: {node: '>=18'} sisteransi@1.0.5: - resolution: - { integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== } + resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} slash@3.0.0: - resolution: - { integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== } - engines: { node: ">=8" } + resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} + engines: {node: '>=8'} smart-buffer@4.2.0: - resolution: - { integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg== } - engines: { node: ">= 6.0.0", npm: ">= 3.0.0" } + resolution: {integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==} + engines: {node: '>= 6.0.0', npm: '>= 3.0.0'} socks-proxy-agent@8.0.5: - resolution: - { integrity: sha512-HehCEsotFqbPW9sJ8WVYB6UbmIMv7kUUORIF2Nncq4VQvBfNBLibW9YZR5dlYCSUhwcD628pRllm7n+E+YTzJw== } - engines: { node: ">= 14" } + resolution: {integrity: sha512-HehCEsotFqbPW9sJ8WVYB6UbmIMv7kUUORIF2Nncq4VQvBfNBLibW9YZR5dlYCSUhwcD628pRllm7n+E+YTzJw==} + engines: {node: '>= 14'} socks@2.8.7: - resolution: - { integrity: sha512-HLpt+uLy/pxB+bum/9DzAgiKS8CX1EvbWxI4zlmgGCExImLdiad2iCwXT5Z4c9c3Eq8rP2318mPW2c+QbtjK8A== } - engines: { node: ">= 10.0.0", npm: ">= 3.0.0" } + resolution: {integrity: sha512-HLpt+uLy/pxB+bum/9DzAgiKS8CX1EvbWxI4zlmgGCExImLdiad2iCwXT5Z4c9c3Eq8rP2318mPW2c+QbtjK8A==} + engines: {node: '>= 10.0.0', npm: '>= 3.0.0'} source-map-js@1.2.1: - resolution: - { integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA== } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} + engines: {node: '>=0.10.0'} source-map-support@0.5.21: - resolution: - { integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== } + resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} source-map@0.6.1: - resolution: - { integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} source-map@0.7.4: - resolution: - { integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA== } - engines: { node: ">= 8" } + resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==} + engines: {node: '>= 8'} spdx-correct@3.2.0: - resolution: - { integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA== } + resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} spdx-exceptions@2.3.0: - resolution: - { integrity: sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== } + resolution: {integrity: sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==} spdx-expression-parse@3.0.1: - resolution: - { integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== } + resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} spdx-expression-parse@4.0.0: - resolution: - { integrity: sha512-Clya5JIij/7C6bRR22+tnGXbc4VKlibKSVj2iHvVeX5iMW7s1SIQlqu699JkODJJIhh/pUu8L0/VLh8xflD+LQ== } + resolution: {integrity: sha512-Clya5JIij/7C6bRR22+tnGXbc4VKlibKSVj2iHvVeX5iMW7s1SIQlqu699JkODJJIhh/pUu8L0/VLh8xflD+LQ==} spdx-license-ids@3.0.13: - resolution: - { integrity: sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w== } + resolution: {integrity: sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w==} split2@3.2.2: - resolution: - { integrity: sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg== } + resolution: {integrity: sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==} split@1.0.1: - resolution: - { integrity: sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg== } + resolution: {integrity: sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==} sprintf-js@1.0.3: - resolution: - { integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== } + resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} sprintf-js@1.1.3: - resolution: - { integrity: sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA== } + resolution: {integrity: sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==} ssri@12.0.0: - resolution: - { integrity: sha512-S7iGNosepx9RadX82oimUkvr0Ct7IjJbEbs4mJcTxst8um95J3sDYU1RBEOvdu6oL1Wek2ODI5i4MAw+dZ6cAQ== } - engines: { node: ^18.17.0 || >=20.5.0 } + resolution: {integrity: sha512-S7iGNosepx9RadX82oimUkvr0Ct7IjJbEbs4mJcTxst8um95J3sDYU1RBEOvdu6oL1Wek2ODI5i4MAw+dZ6cAQ==} + engines: {node: ^18.17.0 || >=20.5.0} ssri@13.0.0: - resolution: - { integrity: sha512-yizwGBpbCn4YomB2lzhZqrHLJoqFGXihNbib3ozhqF/cIp5ue+xSmOQrjNasEE62hFxsCcg/V/z23t4n8jMEng== } - engines: { node: ^20.17.0 || >=22.9.0 } + resolution: {integrity: sha512-yizwGBpbCn4YomB2lzhZqrHLJoqFGXihNbib3ozhqF/cIp5ue+xSmOQrjNasEE62hFxsCcg/V/z23t4n8jMEng==} + engines: {node: ^20.17.0 || >=22.9.0} stack-trace@0.0.10: - resolution: - { integrity: sha512-KGzahc7puUKkzyMt+IqAep+TVNbKP+k2Lmwhub39m1AsTSkaDutx56aDCo+HLDzf/D26BIHTJWNiTG1KAJiQCg== } + resolution: {integrity: sha512-KGzahc7puUKkzyMt+IqAep+TVNbKP+k2Lmwhub39m1AsTSkaDutx56aDCo+HLDzf/D26BIHTJWNiTG1KAJiQCg==} stackback@0.0.2: - resolution: - { integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw== } + resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} stats.ts@2.1.6: - resolution: - { integrity: sha512-2oitRIDbcfRjpC3q+YGXtFld4y7BjLSTlFuRtitbkLFTucLpInG/0whMqIqP9B3LqrUfhcK8lKgZRDebTz++7w== } + resolution: {integrity: sha512-2oitRIDbcfRjpC3q+YGXtFld4y7BjLSTlFuRtitbkLFTucLpInG/0whMqIqP9B3LqrUfhcK8lKgZRDebTz++7w==} statuses@2.0.1: - resolution: - { integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== } - engines: { node: ">= 0.8" } + resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} + engines: {node: '>= 0.8'} statuses@2.0.2: - resolution: - { integrity: sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw== } - engines: { node: ">= 0.8" } + resolution: {integrity: sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==} + engines: {node: '>= 0.8'} std-env@4.0.0: - resolution: - { integrity: sha512-zUMPtQ/HBY3/50VbpkupYHbRroTRZJPRLvreamgErJVys0ceuzMkD44J/QjqhHjOzK42GQ3QZIeFG1OYfOtKqQ== } + resolution: {integrity: sha512-zUMPtQ/HBY3/50VbpkupYHbRroTRZJPRLvreamgErJVys0ceuzMkD44J/QjqhHjOzK42GQ3QZIeFG1OYfOtKqQ==} string-width@4.2.3: - resolution: - { integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== } - engines: { node: ">=8" } + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} string-width@5.1.2: - resolution: - { integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA== } - engines: { node: ">=12" } + resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} + engines: {node: '>=12'} string-width@7.2.0: - resolution: - { integrity: sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ== } - engines: { node: ">=18" } + resolution: {integrity: sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==} + engines: {node: '>=18'} string_decoder@0.10.31: - resolution: - { integrity: sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ== } + resolution: {integrity: sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==} string_decoder@1.1.1: - resolution: - { integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== } + resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} string_decoder@1.3.0: - resolution: - { integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== } + resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} strip-ansi@6.0.1: - resolution: - { integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== } - engines: { node: ">=8" } + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} strip-ansi@7.1.0: - resolution: - { integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ== } - engines: { node: ">=12" } + resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} + engines: {node: '>=12'} strip-bom@3.0.0: - resolution: - { integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA== } - engines: { node: ">=4" } + resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} + engines: {node: '>=4'} strip-bom@4.0.0: - resolution: - { integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w== } - engines: { node: ">=8" } + resolution: {integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==} + engines: {node: '>=8'} strip-final-newline@2.0.0: - resolution: - { integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== } - engines: { node: ">=6" } + resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} + engines: {node: '>=6'} strip-indent@3.0.0: - resolution: - { integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ== } - engines: { node: ">=8" } + resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} + engines: {node: '>=8'} strip-json-comments@2.0.1: - resolution: - { integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ== } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} + engines: {node: '>=0.10.0'} strip-outer@1.0.1: - resolution: - { integrity: sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg== } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==} + engines: {node: '>=0.10.0'} stylus@0.64.0: - resolution: - { integrity: sha512-ZIdT8eUv8tegmqy1tTIdJv9We2DumkNZFdCF5mz/Kpq3OcTaxSuCAYZge6HKK2CmNC02G1eJig2RV7XTw5hQrA== } - engines: { node: ">=16" } + resolution: {integrity: sha512-ZIdT8eUv8tegmqy1tTIdJv9We2DumkNZFdCF5mz/Kpq3OcTaxSuCAYZge6HKK2CmNC02G1eJig2RV7XTw5hQrA==} + engines: {node: '>=16'} hasBin: true sumchecker@3.0.1: - resolution: - { integrity: sha512-MvjXzkz/BOfyVDkG0oFOtBxHX2u3gKbMHIF/dXblZsgD3BWOFLmHovIpZY7BykJdAjcqRCBi1WYBNdEC9yI7vg== } - engines: { node: ">= 8.0" } + resolution: {integrity: sha512-MvjXzkz/BOfyVDkG0oFOtBxHX2u3gKbMHIF/dXblZsgD3BWOFLmHovIpZY7BykJdAjcqRCBi1WYBNdEC9yI7vg==} + engines: {node: '>= 8.0'} supports-color@5.5.0: - resolution: - { integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== } - engines: { node: ">=4" } + resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} + engines: {node: '>=4'} supports-color@7.2.0: - resolution: - { integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== } - engines: { node: ">=8" } + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} supports-color@8.1.1: - resolution: - { integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== } - engines: { node: ">=10" } + resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} + engines: {node: '>=10'} supports-preserve-symlinks-flag@1.0.0: - resolution: - { integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} svgo@4.0.1: - resolution: - { integrity: sha512-XDpWUOPC6FEibaLzjfe0ucaV0YrOjYotGJO1WpF0Zd+n6ZGEQUsSugaoLq9QkEZtAfQIxT42UChcssDVPP3+/w== } - engines: { node: ">=16" } + resolution: {integrity: sha512-XDpWUOPC6FEibaLzjfe0ucaV0YrOjYotGJO1WpF0Zd+n6ZGEQUsSugaoLq9QkEZtAfQIxT42UChcssDVPP3+/w==} + engines: {node: '>=16'} hasBin: true swc-loader@0.2.7: - resolution: - { integrity: sha512-nwYWw3Fh9ame3Rtm7StS9SBLpHRRnYcK7bnpF3UKZmesAK0gw2/ADvlURFAINmPvKtDLzp+GBiP9yLoEjg6S9w== } + resolution: {integrity: sha512-nwYWw3Fh9ame3Rtm7StS9SBLpHRRnYcK7bnpF3UKZmesAK0gw2/ADvlURFAINmPvKtDLzp+GBiP9yLoEjg6S9w==} peerDependencies: - "@swc/core": ^1.2.147 - webpack: ">=2" + '@swc/core': ^1.2.147 + webpack: '>=2' symbol-tree@3.2.4: - resolution: - { integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== } + resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==} synckit@0.11.12: - resolution: - { integrity: sha512-Bh7QjT8/SuKUIfObSXNHNSK6WHo6J1tHCqJsuaFDP7gP0fkzSfTxI8y85JrppZ0h8l0maIgc2tfuZQ6/t3GtnQ== } - engines: { node: ^14.18.0 || >=16.0.0 } + resolution: {integrity: sha512-Bh7QjT8/SuKUIfObSXNHNSK6WHo6J1tHCqJsuaFDP7gP0fkzSfTxI8y85JrppZ0h8l0maIgc2tfuZQ6/t3GtnQ==} + engines: {node: ^14.18.0 || >=16.0.0} tagged-tag@1.0.0: - resolution: - { integrity: sha512-yEFYrVhod+hdNyx7g5Bnkkb0G6si8HJurOoOEgC8B/O0uXLHlaey/65KRv6cuWBNhBgHKAROVpc7QyYqE5gFng== } - engines: { node: ">=20" } + resolution: {integrity: sha512-yEFYrVhod+hdNyx7g5Bnkkb0G6si8HJurOoOEgC8B/O0uXLHlaey/65KRv6cuWBNhBgHKAROVpc7QyYqE5gFng==} + engines: {node: '>=20'} tapable@2.3.0: - resolution: - { integrity: sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg== } - engines: { node: ">=6" } + resolution: {integrity: sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==} + engines: {node: '>=6'} tar-fs@2.1.2: - resolution: - { integrity: sha512-EsaAXwxmx8UB7FRKqeozqEPop69DXcmYwTQwXvyAPF352HJsPdkVhvTaDPYqfNgruveJIJy3TA2l+2zj8LJIJA== } + resolution: {integrity: sha512-EsaAXwxmx8UB7FRKqeozqEPop69DXcmYwTQwXvyAPF352HJsPdkVhvTaDPYqfNgruveJIJy3TA2l+2zj8LJIJA==} tar-stream@2.2.0: - resolution: - { integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ== } - engines: { node: ">=6" } + resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==} + engines: {node: '>=6'} tar@6.2.1: - resolution: - { integrity: sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A== } - engines: { node: ">=10" } + resolution: {integrity: sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==} + engines: {node: '>=10'} deprecated: Old versions of tar are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me tar@7.5.11: - resolution: - { integrity: sha512-ChjMH33/KetonMTAtpYdgUFr0tbz69Fp2v7zWxQfYZX4g5ZN2nOBXm1R2xyA+lMIKrLKIoKAwFj93jE/avX9cQ== } - engines: { node: ">=18" } + resolution: {integrity: sha512-ChjMH33/KetonMTAtpYdgUFr0tbz69Fp2v7zWxQfYZX4g5ZN2nOBXm1R2xyA+lMIKrLKIoKAwFj93jE/avX9cQ==} + engines: {node: '>=18'} terser-webpack-plugin@5.4.0: - resolution: - { integrity: sha512-Bn5vxm48flOIfkdl5CaD2+1CiUVbonWQ3KQPyP7/EuIl9Gbzq/gQFOzaMFUEgVjB1396tcK0SG8XcNJ/2kDH8g== } - engines: { node: ">= 10.13.0" } + resolution: {integrity: sha512-Bn5vxm48flOIfkdl5CaD2+1CiUVbonWQ3KQPyP7/EuIl9Gbzq/gQFOzaMFUEgVjB1396tcK0SG8XcNJ/2kDH8g==} + engines: {node: '>= 10.13.0'} peerDependencies: - "@swc/core": "*" - esbuild: "*" - uglify-js: "*" + '@swc/core': '*' + esbuild: '*' + uglify-js: '*' webpack: ^5.1.0 peerDependenciesMeta: - "@swc/core": + '@swc/core': optional: true esbuild: optional: true @@ -8946,455 +7677,370 @@ packages: optional: true terser@5.44.1: - resolution: - { integrity: sha512-t/R3R/n0MSwnnazuPpPNVO60LX0SKL45pyl9YlvxIdkH0Of7D5qM2EVe+yASRIlY5pZ73nclYJfNANGWPwFDZw== } - engines: { node: ">=10" } + resolution: {integrity: sha512-t/R3R/n0MSwnnazuPpPNVO60LX0SKL45pyl9YlvxIdkH0Of7D5qM2EVe+yASRIlY5pZ73nclYJfNANGWPwFDZw==} + engines: {node: '>=10'} hasBin: true terser@5.46.0: - resolution: - { integrity: sha512-jTwoImyr/QbOWFFso3YoU3ik0jBBDJ6JTOQiy/J2YxVJdZCc+5u7skhNwiOR3FQIygFqVUPHl7qbbxtjW2K3Qg== } - engines: { node: ">=10" } + resolution: {integrity: sha512-jTwoImyr/QbOWFFso3YoU3ik0jBBDJ6JTOQiy/J2YxVJdZCc+5u7skhNwiOR3FQIygFqVUPHl7qbbxtjW2K3Qg==} + engines: {node: '>=10'} hasBin: true text-extensions@1.9.0: - resolution: - { integrity: sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ== } - engines: { node: ">=0.10" } + resolution: {integrity: sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ==} + engines: {node: '>=0.10'} text-hex@1.0.0: - resolution: - { integrity: sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg== } + resolution: {integrity: sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg==} through2@2.0.5: - resolution: - { integrity: sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ== } + resolution: {integrity: sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==} through@2.3.8: - resolution: - { integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg== } + resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} tinybench@2.9.0: - resolution: - { integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg== } + resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==} tinyexec@1.0.2: - resolution: - { integrity: sha512-W/KYk+NFhkmsYpuHq5JykngiOCnxeVL8v8dFnqxSD8qEEdRfXk1SDM6JzNqcERbcGYj9tMrDQBYV9cjgnunFIg== } - engines: { node: ">=18" } + resolution: {integrity: sha512-W/KYk+NFhkmsYpuHq5JykngiOCnxeVL8v8dFnqxSD8qEEdRfXk1SDM6JzNqcERbcGYj9tMrDQBYV9cjgnunFIg==} + engines: {node: '>=18'} tinyglobby@0.2.12: - resolution: - { integrity: sha512-qkf4trmKSIiMTs/E63cxH+ojC2unam7rJ0WrauAzpT3ECNTxGRMlaXxVbfxMUC/w0LaYk6jQ4y/nGR9uBO3tww== } - engines: { node: ">=12.0.0" } + resolution: {integrity: sha512-qkf4trmKSIiMTs/E63cxH+ojC2unam7rJ0WrauAzpT3ECNTxGRMlaXxVbfxMUC/w0LaYk6jQ4y/nGR9uBO3tww==} + engines: {node: '>=12.0.0'} tinyglobby@0.2.15: - resolution: - { integrity: sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ== } - engines: { node: ">=12.0.0" } + resolution: {integrity: sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==} + engines: {node: '>=12.0.0'} tinyrainbow@3.0.3: - resolution: - { integrity: sha512-PSkbLUoxOFRzJYjjxHJt9xro7D+iilgMX/C9lawzVuYiIdcihh9DXmVibBe8lmcFrRi/VzlPjBxbN7rH24q8/Q== } - engines: { node: ">=14.0.0" } + resolution: {integrity: sha512-PSkbLUoxOFRzJYjjxHJt9xro7D+iilgMX/C9lawzVuYiIdcihh9DXmVibBe8lmcFrRi/VzlPjBxbN7rH24q8/Q==} + engines: {node: '>=14.0.0'} tldts-core@7.0.19: - resolution: - { integrity: sha512-lJX2dEWx0SGH4O6p+7FPwYmJ/bu1JbcGJ8RLaG9b7liIgZ85itUVEPbMtWRVrde/0fnDPEPHW10ZsKW3kVsE9A== } + resolution: {integrity: sha512-lJX2dEWx0SGH4O6p+7FPwYmJ/bu1JbcGJ8RLaG9b7liIgZ85itUVEPbMtWRVrde/0fnDPEPHW10ZsKW3kVsE9A==} tldts@7.0.19: - resolution: - { integrity: sha512-8PWx8tvC4jDB39BQw1m4x8y5MH1BcQ5xHeL2n7UVFulMPH/3Q0uiamahFJ3lXA0zO2SUyRXuVVbWSDmstlt9YA== } + resolution: {integrity: sha512-8PWx8tvC4jDB39BQw1m4x8y5MH1BcQ5xHeL2n7UVFulMPH/3Q0uiamahFJ3lXA0zO2SUyRXuVVbWSDmstlt9YA==} hasBin: true tmp@0.2.1: - resolution: - { integrity: sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ== } - engines: { node: ">=8.17.0" } + resolution: {integrity: sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==} + engines: {node: '>=8.17.0'} to-regex-range@5.0.1: - resolution: - { integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== } - engines: { node: ">=8.0" } + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} to-valid-identifier@1.0.0: - resolution: - { integrity: sha512-41wJyvKep3yT2tyPqX/4blcfybknGB4D+oETKLs7Q76UiPqRpUJK3hr1nxelyYO0PHKVzJwlu0aCeEAsGI6rpw== } - engines: { node: ">=20" } + resolution: {integrity: sha512-41wJyvKep3yT2tyPqX/4blcfybknGB4D+oETKLs7Q76UiPqRpUJK3hr1nxelyYO0PHKVzJwlu0aCeEAsGI6rpw==} + engines: {node: '>=20'} toidentifier@1.0.1: - resolution: - { integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== } - engines: { node: ">=0.6" } + resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} + engines: {node: '>=0.6'} token-stream@1.0.0: - resolution: - { integrity: sha512-VSsyNPPW74RpHwR8Fc21uubwHY7wMDeJLys2IX5zJNih+OnAnaifKHo+1LHT7DAdloQ7apeaaWg8l7qnf/TnEg== } + resolution: {integrity: sha512-VSsyNPPW74RpHwR8Fc21uubwHY7wMDeJLys2IX5zJNih+OnAnaifKHo+1LHT7DAdloQ7apeaaWg8l7qnf/TnEg==} totalist@3.0.1: - resolution: - { integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ== } - engines: { node: ">=6" } + resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==} + engines: {node: '>=6'} touch@3.1.0: - resolution: - { integrity: sha512-WBx8Uy5TLtOSRtIq+M03/sKDrXCLHxwDcquSP2c43Le03/9serjQBIztjRz6FkJez9D/hleyAXTBGLwwZUw9lA== } + resolution: {integrity: sha512-WBx8Uy5TLtOSRtIq+M03/sKDrXCLHxwDcquSP2c43Le03/9serjQBIztjRz6FkJez9D/hleyAXTBGLwwZUw9lA==} hasBin: true tough-cookie@6.0.1: - resolution: - { integrity: sha512-LktZQb3IeoUWB9lqR5EWTHgW/VTITCXg4D21M+lvybRVdylLrRMnqaIONLVb5mav8vM19m44HIcGq4qASeu2Qw== } - engines: { node: ">=16" } + resolution: {integrity: sha512-LktZQb3IeoUWB9lqR5EWTHgW/VTITCXg4D21M+lvybRVdylLrRMnqaIONLVb5mav8vM19m44HIcGq4qASeu2Qw==} + engines: {node: '>=16'} tr46@0.0.3: - resolution: - { integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== } + resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} tr46@6.0.0: - resolution: - { integrity: sha512-bLVMLPtstlZ4iMQHpFHTR7GAGj2jxi8Dg0s2h2MafAE4uSWF98FC/3MomU51iQAMf8/qDUbKWf5GxuvvVcXEhw== } - engines: { node: ">=20" } + resolution: {integrity: sha512-bLVMLPtstlZ4iMQHpFHTR7GAGj2jxi8Dg0s2h2MafAE4uSWF98FC/3MomU51iQAMf8/qDUbKWf5GxuvvVcXEhw==} + engines: {node: '>=20'} tree-kill@1.2.2: - resolution: - { integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A== } + resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} hasBin: true treeverse@3.0.0: - resolution: - { integrity: sha512-gcANaAnd2QDZFmHFEOF4k7uc1J/6a6z3DJMd/QwEyxLoKGiptJRwid582r7QIsFlFMIZ3SnxfS52S4hm2DHkuQ== } - engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } + resolution: {integrity: sha512-gcANaAnd2QDZFmHFEOF4k7uc1J/6a6z3DJMd/QwEyxLoKGiptJRwid582r7QIsFlFMIZ3SnxfS52S4hm2DHkuQ==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} trim-newlines@3.0.1: - resolution: - { integrity: sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw== } - engines: { node: ">=8" } + resolution: {integrity: sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==} + engines: {node: '>=8'} trim-repeated@1.0.0: - resolution: - { integrity: sha512-pkonvlKk8/ZuR0D5tLW8ljt5I8kmxp2XKymhepUeOdCEfKpZaktSArkLHZt76OB1ZvO9bssUsDty4SWhLvZpLg== } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-pkonvlKk8/ZuR0D5tLW8ljt5I8kmxp2XKymhepUeOdCEfKpZaktSArkLHZt76OB1ZvO9bssUsDty4SWhLvZpLg==} + engines: {node: '>=0.10.0'} triple-beam@1.4.0: - resolution: - { integrity: sha512-rD6Q7Grj07i2PW1sQmz4KXviI+9E02EWBnAU9DafQbUueb7Esh786jop+be92KFxvxPGHuC0mR7YVcE6rScMBg== } - engines: { node: ">= 16.0.0" } + resolution: {integrity: sha512-rD6Q7Grj07i2PW1sQmz4KXviI+9E02EWBnAU9DafQbUueb7Esh786jop+be92KFxvxPGHuC0mR7YVcE6rScMBg==} + engines: {node: '>= 16.0.0'} try-catch@3.0.1: - resolution: - { integrity: sha512-91yfXw1rr/P6oLpHSyHDOHm0vloVvUoo9FVdw8YwY05QjJQG9OT0LUxe2VRAzmHG+0CUOmI3nhxDUMLxDN/NEQ== } - engines: { node: ">=6" } + resolution: {integrity: sha512-91yfXw1rr/P6oLpHSyHDOHm0vloVvUoo9FVdw8YwY05QjJQG9OT0LUxe2VRAzmHG+0CUOmI3nhxDUMLxDN/NEQ==} + engines: {node: '>=6'} try-catch@4.0.7: - resolution: - { integrity: sha512-gkBWUxbiN4T4PsO8KhoQYWzUPN6e0/h12H9H3YhcfPbwaN8b84fy8cFqL4rWTiPh7qHPFaEfklr6OkVxYRW0Gg== } - engines: { node: ">=22" } + resolution: {integrity: sha512-gkBWUxbiN4T4PsO8KhoQYWzUPN6e0/h12H9H3YhcfPbwaN8b84fy8cFqL4rWTiPh7qHPFaEfklr6OkVxYRW0Gg==} + engines: {node: '>=22'} try-to-catch@4.0.3: - resolution: - { integrity: sha512-mUz1zpe6nkRQW0XZ/Ojfe/Eg7e5h3s+r+h7ONfP3Oo27/Jm8mkNDAnLzZ/A3sEMApROolzuJGBiQhGmmVDAFLw== } - engines: { node: ">=22" } + resolution: {integrity: sha512-mUz1zpe6nkRQW0XZ/Ojfe/Eg7e5h3s+r+h7ONfP3Oo27/Jm8mkNDAnLzZ/A3sEMApROolzuJGBiQhGmmVDAFLw==} + engines: {node: '>=22'} ts-api-utils@2.4.0: - resolution: - { integrity: sha512-3TaVTaAv2gTiMB35i3FiGJaRfwb3Pyn/j3m/bfAvGe8FB7CF6u+LMYqYlDh7reQf7UNvoTvdfAqHGmPGOSsPmA== } - engines: { node: ">=18.12" } + resolution: {integrity: sha512-3TaVTaAv2gTiMB35i3FiGJaRfwb3Pyn/j3m/bfAvGe8FB7CF6u+LMYqYlDh7reQf7UNvoTvdfAqHGmPGOSsPmA==} + engines: {node: '>=18.12'} peerDependencies: - typescript: ">=4.8.4" + typescript: '>=4.8.4' ts-json-schema-generator@2.9.0: - resolution: - { integrity: sha512-NR5ZE108uiPtBHBJNGnhwoUaUx5vWTDJzDFG9YlRoqxPU76n+5FClRh92dcGgysbe1smRmYalM9Saj97GW1J4Q== } - engines: { node: ">=22.0.0" } + resolution: {integrity: sha512-NR5ZE108uiPtBHBJNGnhwoUaUx5vWTDJzDFG9YlRoqxPU76n+5FClRh92dcGgysbe1smRmYalM9Saj97GW1J4Q==} + engines: {node: '>=22.0.0'} hasBin: true ts-node@10.9.2: - resolution: - { integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ== } + resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==} hasBin: true peerDependencies: - "@swc/core": ">=1.2.50" - "@swc/wasm": ">=1.2.50" - "@types/node": "*" - typescript: ">=2.7" + '@swc/core': '>=1.2.50' + '@swc/wasm': '>=1.2.50' + '@types/node': '*' + typescript: '>=2.7' peerDependenciesMeta: - "@swc/core": + '@swc/core': optional: true - "@swc/wasm": + '@swc/wasm': optional: true tsconfig-paths-webpack-plugin@4.2.0: - resolution: - { integrity: sha512-zbem3rfRS8BgeNK50Zz5SIQgXzLafiHjOwUAvk/38/o1jHn/V5QAgVUcz884or7WYcPaH3N2CIfUc2u0ul7UcA== } - engines: { node: ">=10.13.0" } + resolution: {integrity: sha512-zbem3rfRS8BgeNK50Zz5SIQgXzLafiHjOwUAvk/38/o1jHn/V5QAgVUcz884or7WYcPaH3N2CIfUc2u0ul7UcA==} + engines: {node: '>=10.13.0'} tsconfig-paths@4.2.0: - resolution: - { integrity: sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg== } - engines: { node: ">=6" } + resolution: {integrity: sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==} + engines: {node: '>=6'} tslib@2.8.1: - resolution: - { integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w== } + resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} tuf-js@4.1.0: - resolution: - { integrity: sha512-50QV99kCKH5P/Vs4E2Gzp7BopNV+KzTXqWeaxrfu5IQJBOULRsTIS9seSsOVT8ZnGXzCyx55nYWAi4qJzpZKEQ== } - engines: { node: ^20.17.0 || >=22.9.0 } + resolution: {integrity: sha512-50QV99kCKH5P/Vs4E2Gzp7BopNV+KzTXqWeaxrfu5IQJBOULRsTIS9seSsOVT8ZnGXzCyx55nYWAi4qJzpZKEQ==} + engines: {node: ^20.17.0 || >=22.9.0} tunnel-agent@0.6.0: - resolution: - { integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w== } + resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} type-check@0.4.0: - resolution: - { integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== } - engines: { node: ">= 0.8.0" } + resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} + engines: {node: '>= 0.8.0'} type-fest@0.13.1: - resolution: - { integrity: sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg== } - engines: { node: ">=10" } + resolution: {integrity: sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==} + engines: {node: '>=10'} type-fest@0.18.1: - resolution: - { integrity: sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw== } - engines: { node: ">=10" } + resolution: {integrity: sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==} + engines: {node: '>=10'} type-fest@0.6.0: - resolution: - { integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg== } - engines: { node: ">=8" } + resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==} + engines: {node: '>=8'} type-fest@0.8.1: - resolution: - { integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== } - engines: { node: ">=8" } + resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} + engines: {node: '>=8'} type-fest@5.4.4: - resolution: - { integrity: sha512-JnTrzGu+zPV3aXIUhnyWJj4z/wigMsdYajGLIYakqyOW1nPllzXEJee0QQbHj+CTIQtXGlAjuK0UY+2xTyjVAw== } - engines: { node: ">=20" } + resolution: {integrity: sha512-JnTrzGu+zPV3aXIUhnyWJj4z/wigMsdYajGLIYakqyOW1nPllzXEJee0QQbHj+CTIQtXGlAjuK0UY+2xTyjVAw==} + engines: {node: '>=20'} type-is@2.0.1: - resolution: - { integrity: sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw== } - engines: { node: ">= 0.6" } + resolution: {integrity: sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw==} + engines: {node: '>= 0.6'} typed-event-target@4.1.0: - resolution: - { integrity: sha512-fDFhZb7ofywLsVv8mYePD6ONfCpVHyM1t2dboEJx/XMsnflljnu3GQ5qH09hS1USuypGMR7wRbdWQPydgJ8nGQ== } - engines: { node: ">=22" } + resolution: {integrity: sha512-fDFhZb7ofywLsVv8mYePD6ONfCpVHyM1t2dboEJx/XMsnflljnu3GQ5qH09hS1USuypGMR7wRbdWQPydgJ8nGQ==} + engines: {node: '>=22'} typedarray@0.0.6: - resolution: - { integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA== } + resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==} typedoc-plugin-clarity@1.6.0: - resolution: - { integrity: sha512-BvJj8ZvgCZzS2sLO7yIkRg9EWLPdll+xLyQekjMAtypHITOXSwCO9E9Ir77R2fctsVC9BVJiToGAYcsMtyuPdw== } + resolution: {integrity: sha512-BvJj8ZvgCZzS2sLO7yIkRg9EWLPdll+xLyQekjMAtypHITOXSwCO9E9Ir77R2fctsVC9BVJiToGAYcsMtyuPdw==} peerDependencies: typedoc: ^0.25.4 typedoc-plugin-coverage@4.0.2: - resolution: - { integrity: sha512-mfn0e7NCqB8x2PfvhXrtmd7KWlsNf1+B2N9y8gR/jexXBLrXl/0e+b2HdG5HaTXGi7i0t2pyQY2VRmq7gtdEHQ== } - engines: { node: ">= 18" } + resolution: {integrity: sha512-mfn0e7NCqB8x2PfvhXrtmd7KWlsNf1+B2N9y8gR/jexXBLrXl/0e+b2HdG5HaTXGi7i0t2pyQY2VRmq7gtdEHQ==} + engines: {node: '>= 18'} peerDependencies: typedoc: 0.28.x typedoc-plugin-google-ads@1.6.0: - resolution: - { integrity: sha512-pFkPK9tjGc/0NWnJojh1wc/UZ/+cUJXe13ZbbUsQ0JUjkCSWRuOt1d9BGrmar7184fq0GBU8zByJ3ucG2wI/MA== } + resolution: {integrity: sha512-pFkPK9tjGc/0NWnJojh1wc/UZ/+cUJXe13ZbbUsQ0JUjkCSWRuOt1d9BGrmar7184fq0GBU8zByJ3ucG2wI/MA==} peerDependencies: typedoc: ^0.25.4 typedoc-plugin-keywords@1.6.0: - resolution: - { integrity: sha512-URyCIHw6+Lwil0ywy6lVb2TckfDVGjAWnRnTAiiSZaRaglI6vaaP1EhhwEipOIlHaJSnHZfdwpWe1t4mffTIpA== } + resolution: {integrity: sha512-URyCIHw6+Lwil0ywy6lVb2TckfDVGjAWnRnTAiiSZaRaglI6vaaP1EhhwEipOIlHaJSnHZfdwpWe1t4mffTIpA==} peerDependencies: typedoc: ^0.25.4 typedoc-plugin-mdn-links@5.1.1: - resolution: - { integrity: sha512-fLlYudnlGkE9uspOEm/SBXwr+G0RbxoDZiHAVsCg+5NwKe2aUxjZK1YyQfleNZydImanzkX2oUJF29xbEeOSWw== } + resolution: {integrity: sha512-fLlYudnlGkE9uspOEm/SBXwr+G0RbxoDZiHAVsCg+5NwKe2aUxjZK1YyQfleNZydImanzkX2oUJF29xbEeOSWw==} peerDependencies: typedoc: 0.27.x || 0.28.x typedoc-plugin-missing-exports@4.1.2: - resolution: - { integrity: sha512-WNoeWX9+8X3E3riuYPduilUTFefl1K+Z+5bmYqNeH5qcWjtnTRMbRzGdEQ4XXn1WEO4WCIlU0vf46Ca2y/mspg== } + resolution: {integrity: sha512-WNoeWX9+8X3E3riuYPduilUTFefl1K+Z+5bmYqNeH5qcWjtnTRMbRzGdEQ4XXn1WEO4WCIlU0vf46Ca2y/mspg==} peerDependencies: typedoc: ^0.28.1 typedoc@0.28.17: - resolution: - { integrity: sha512-ZkJ2G7mZrbxrKxinTQMjFqsCoYY6a5Luwv2GKbTnBCEgV2ihYm5CflA9JnJAwH0pZWavqfYxmDkFHPt4yx2oDQ== } - engines: { node: ">= 18", pnpm: ">= 10" } + resolution: {integrity: sha512-ZkJ2G7mZrbxrKxinTQMjFqsCoYY6a5Luwv2GKbTnBCEgV2ihYm5CflA9JnJAwH0pZWavqfYxmDkFHPt4yx2oDQ==} + engines: {node: '>= 18', pnpm: '>= 10'} hasBin: true peerDependencies: typescript: 5.0.x || 5.1.x || 5.2.x || 5.3.x || 5.4.x || 5.5.x || 5.6.x || 5.7.x || 5.8.x || 5.9.x typescript-eslint@8.57.1: - resolution: - { integrity: sha512-fLvZWf+cAGw3tqMCYzGIU6yR8K+Y9NT2z23RwOjlNFF2HwSB3KhdEFI5lSBv8tNmFkkBShSjsCjzx1vahZfISA== } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + resolution: {integrity: sha512-fLvZWf+cAGw3tqMCYzGIU6yR8K+Y9NT2z23RwOjlNFF2HwSB3KhdEFI5lSBv8tNmFkkBShSjsCjzx1vahZfISA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 - typescript: ">=4.8.4 <6.0.0" + typescript: '>=4.8.4 <6.0.0' typescript-json-schema@0.67.1: - resolution: - { integrity: sha512-vKTZB/RoYTIBdVP7E7vrgHMCssBuhja91wQy498QIVhvfRimaOgjc98uwAXmZ7mbLUytJmOSbF11wPz+ByQeXg== } + resolution: {integrity: sha512-vKTZB/RoYTIBdVP7E7vrgHMCssBuhja91wQy498QIVhvfRimaOgjc98uwAXmZ7mbLUytJmOSbF11wPz+ByQeXg==} hasBin: true typescript@5.5.4: - resolution: - { integrity: sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q== } - engines: { node: ">=14.17" } + resolution: {integrity: sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q==} + engines: {node: '>=14.17'} hasBin: true typescript@5.9.3: - resolution: - { integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw== } - engines: { node: ">=14.17" } + resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==} + engines: {node: '>=14.17'} hasBin: true uc.micro@2.1.0: - resolution: - { integrity: sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A== } + resolution: {integrity: sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==} uglify-js@3.17.4: - resolution: - { integrity: sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g== } - engines: { node: ">=0.8.0" } + resolution: {integrity: sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==} + engines: {node: '>=0.8.0'} hasBin: true undefsafe@2.0.5: - resolution: - { integrity: sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA== } + resolution: {integrity: sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==} undici-types@5.26.5: - resolution: - { integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== } + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} undici-types@7.16.0: - resolution: - { integrity: sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw== } + resolution: {integrity: sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==} undici-types@7.18.2: - resolution: - { integrity: sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w== } + resolution: {integrity: sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==} - undici-types@7.22.0: - resolution: - { integrity: sha512-RKZvifiL60xdsIuC80UY0dq8Z7DbJUV8/l2hOVbyZAxBzEeQU4Z58+4ZzJ6WN2Lidi9KzT5EbiGX+PI/UGYuRw== } + undici-types@7.24.5: + resolution: {integrity: sha512-kNh333UBSbgK35OIW7FwJTr9tTfVIG51Fm1tSVT7m8foPHfDVjsb7OIee/q/rs3bB2aV/3qOPgG5mHNWl1odiA==} undici@7.24.3: - resolution: - { integrity: sha512-eJdUmK/Wrx2d+mnWWmwwLRyA7OQCkLap60sk3dOK4ViZR7DKwwptwuIvFBg2HaiP9ESaEdhtpSymQPvytpmkCA== } - engines: { node: ">=20.18.1" } + resolution: {integrity: sha512-eJdUmK/Wrx2d+mnWWmwwLRyA7OQCkLap60sk3dOK4ViZR7DKwwptwuIvFBg2HaiP9ESaEdhtpSymQPvytpmkCA==} + engines: {node: '>=20.18.1'} unicorn-magic@0.3.0: - resolution: - { integrity: sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA== } - engines: { node: ">=18" } + resolution: {integrity: sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==} + engines: {node: '>=18'} unique-filename@5.0.0: - resolution: - { integrity: sha512-2RaJTAvAb4owyjllTfXzFClJ7WsGxlykkPvCr9pA//LD9goVq+m4PPAeBgNodGZ7nSrntT/auWpJ6Y5IFXcfjg== } - engines: { node: ^20.17.0 || >=22.9.0 } + resolution: {integrity: sha512-2RaJTAvAb4owyjllTfXzFClJ7WsGxlykkPvCr9pA//LD9goVq+m4PPAeBgNodGZ7nSrntT/auWpJ6Y5IFXcfjg==} + engines: {node: ^20.17.0 || >=22.9.0} unique-slug@6.0.0: - resolution: - { integrity: sha512-4Lup7Ezn8W3d52/xBhZBVdx323ckxa7DEvd9kPQHppTkLoJXw6ltrBCyj5pnrxj0qKDxYMJ56CoxNuFCscdTiw== } - engines: { node: ^20.17.0 || >=22.9.0 } + resolution: {integrity: sha512-4Lup7Ezn8W3d52/xBhZBVdx323ckxa7DEvd9kPQHppTkLoJXw6ltrBCyj5pnrxj0qKDxYMJ56CoxNuFCscdTiw==} + engines: {node: ^20.17.0 || >=22.9.0} universal-user-agent@6.0.0: - resolution: - { integrity: sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w== } + resolution: {integrity: sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==} universalify@0.1.2: - resolution: - { integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== } - engines: { node: ">= 4.0.0" } + resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} + engines: {node: '>= 4.0.0'} universalify@2.0.0: - resolution: - { integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ== } - engines: { node: ">= 10.0.0" } + resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==} + engines: {node: '>= 10.0.0'} unpipe@1.0.0: - resolution: - { integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== } - engines: { node: ">= 0.8" } + resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} + engines: {node: '>= 0.8'} untildify@4.0.0: - resolution: - { integrity: sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw== } - engines: { node: ">=8" } + resolution: {integrity: sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==} + engines: {node: '>=8'} upath@2.0.1: - resolution: - { integrity: sha512-1uEe95xksV1O0CYKXo8vQvN1JEbtJp7lb7C5U9HMsIp6IVwntkH/oNUzyVNQSd4S1sYk2FpSSW44FqMc8qee5w== } - engines: { node: ">=4" } + resolution: {integrity: sha512-1uEe95xksV1O0CYKXo8vQvN1JEbtJp7lb7C5U9HMsIp6IVwntkH/oNUzyVNQSd4S1sYk2FpSSW44FqMc8qee5w==} + engines: {node: '>=4'} update-browserslist-db@1.2.3: - resolution: - { integrity: sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w== } + resolution: {integrity: sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==} hasBin: true peerDependencies: - browserslist: ">= 4.21.0" + browserslist: '>= 4.21.0' uri-js@4.4.1: - resolution: - { integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== } + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} util-deprecate@1.0.2: - resolution: - { integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== } + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} v8-compile-cache-lib@3.0.1: - resolution: - { integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg== } + resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} validate-npm-package-license@3.0.4: - resolution: - { integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== } + resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} validate-npm-package-name@6.0.2: - resolution: - { integrity: sha512-IUoow1YUtvoBBC06dXs8bR8B9vuA3aJfmQNKMoaPG/OFsPmoQvw8xh+6Ye25Gx9DQhoEom3Pcu9MKHerm/NpUQ== } - engines: { node: ^18.17.0 || >=20.5.0 } + resolution: {integrity: sha512-IUoow1YUtvoBBC06dXs8bR8B9vuA3aJfmQNKMoaPG/OFsPmoQvw8xh+6Ye25Gx9DQhoEom3Pcu9MKHerm/NpUQ==} + engines: {node: ^18.17.0 || >=20.5.0} vanilla-picker@2.12.3: - resolution: - { integrity: sha512-qVkT1E7yMbUsB2mmJNFmaXMWE2hF8ffqzMMwe9zdAikd8u2VfnsVY2HQcOUi2F38bgbxzlJBEdS1UUhOXdF9GQ== } + resolution: {integrity: sha512-qVkT1E7yMbUsB2mmJNFmaXMWE2hF8ffqzMMwe9zdAikd8u2VfnsVY2HQcOUi2F38bgbxzlJBEdS1UUhOXdF9GQ==} vary@1.1.2: - resolution: - { integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg== } - engines: { node: ">= 0.8" } + resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} + engines: {node: '>= 0.8'} vite@7.3.1: - resolution: - { integrity: sha512-w+N7Hifpc3gRjZ63vYBXA56dvvRlNWRczTdmCBBa+CotUzAPf5b7YMdMR/8CQoeYE5LX3W4wj6RYTgonm1b9DA== } - engines: { node: ^20.19.0 || >=22.12.0 } + resolution: {integrity: sha512-w+N7Hifpc3gRjZ63vYBXA56dvvRlNWRczTdmCBBa+CotUzAPf5b7YMdMR/8CQoeYE5LX3W4wj6RYTgonm1b9DA==} + engines: {node: ^20.19.0 || >=22.12.0} hasBin: true peerDependencies: - "@types/node": ^20.19.0 || >=22.12.0 - jiti: ">=1.21.0" + '@types/node': ^20.19.0 || >=22.12.0 + jiti: '>=1.21.0' less: ^4.0.0 lightningcss: ^1.21.0 sass: ^1.70.0 sass-embedded: ^1.70.0 - stylus: ">=0.54.8" + stylus: '>=0.54.8' sugarss: ^5.0.0 terser: ^5.16.0 tsx: ^4.8.1 yaml: ^2.4.2 peerDependenciesMeta: - "@types/node": + '@types/node': optional: true jiti: optional: true @@ -9418,27 +8064,26 @@ packages: optional: true vite@8.0.1: - resolution: - { integrity: sha512-wt+Z2qIhfFt85uiyRt5LPU4oVEJBXj8hZNWKeqFG4gRG/0RaRGJ7njQCwzFVjO+v4+Ipmf5CY7VdmZRAYYBPHw== } - engines: { node: ^20.19.0 || >=22.12.0 } + resolution: {integrity: sha512-wt+Z2qIhfFt85uiyRt5LPU4oVEJBXj8hZNWKeqFG4gRG/0RaRGJ7njQCwzFVjO+v4+Ipmf5CY7VdmZRAYYBPHw==} + engines: {node: ^20.19.0 || >=22.12.0} hasBin: true peerDependencies: - "@types/node": ^20.19.0 || >=22.12.0 - "@vitejs/devtools": ^0.1.0 + '@types/node': ^20.19.0 || >=22.12.0 + '@vitejs/devtools': ^0.1.0 esbuild: ^0.27.0 - jiti: ">=1.21.0" + jiti: '>=1.21.0' less: ^4.0.0 sass: ^1.70.0 sass-embedded: ^1.70.0 - stylus: ">=0.54.8" + stylus: '>=0.54.8' sugarss: ^5.0.0 terser: ^5.16.0 tsx: ^4.8.1 yaml: ^2.4.2 peerDependenciesMeta: - "@types/node": + '@types/node': optional: true - "@vitejs/devtools": + '@vitejs/devtools': optional: true esbuild: optional: true @@ -9462,35 +8107,34 @@ packages: optional: true vitest@4.1.0: - resolution: - { integrity: sha512-YbDrMF9jM2Lqc++2530UourxZHmkKLxrs4+mYhEwqWS97WJ7wOYEkcr+QfRgJ3PW9wz3odRijLZjHEaRLTNbqw== } - engines: { node: ^20.0.0 || ^22.0.0 || >=24.0.0 } + resolution: {integrity: sha512-YbDrMF9jM2Lqc++2530UourxZHmkKLxrs4+mYhEwqWS97WJ7wOYEkcr+QfRgJ3PW9wz3odRijLZjHEaRLTNbqw==} + engines: {node: ^20.0.0 || ^22.0.0 || >=24.0.0} hasBin: true peerDependencies: - "@edge-runtime/vm": "*" - "@opentelemetry/api": ^1.9.0 - "@types/node": ^20.0.0 || ^22.0.0 || >=24.0.0 - "@vitest/browser-playwright": 4.1.0 - "@vitest/browser-preview": 4.1.0 - "@vitest/browser-webdriverio": 4.1.0 - "@vitest/ui": 4.1.0 - happy-dom: "*" - jsdom: "*" + '@edge-runtime/vm': '*' + '@opentelemetry/api': ^1.9.0 + '@types/node': ^20.0.0 || ^22.0.0 || >=24.0.0 + '@vitest/browser-playwright': 4.1.0 + '@vitest/browser-preview': 4.1.0 + '@vitest/browser-webdriverio': 4.1.0 + '@vitest/ui': 4.1.0 + happy-dom: '*' + jsdom: '*' vite: ^6.0.0 || ^7.0.0 || ^8.0.0-0 peerDependenciesMeta: - "@edge-runtime/vm": + '@edge-runtime/vm': optional: true - "@opentelemetry/api": + '@opentelemetry/api': optional: true - "@types/node": + '@types/node': optional: true - "@vitest/browser-playwright": + '@vitest/browser-playwright': optional: true - "@vitest/browser-preview": + '@vitest/browser-preview': optional: true - "@vitest/browser-webdriverio": + '@vitest/browser-webdriverio': optional: true - "@vitest/ui": + '@vitest/ui': optional: true happy-dom: optional: true @@ -9498,60 +8142,49 @@ packages: optional: true vm2@3.10.0: - resolution: - { integrity: sha512-3ggF4Bs0cw4M7Rxn19/Cv3nJi04xrgHwt4uLto+zkcZocaKwP/nKP9wPx6ggN2X0DSXxOOIc63BV1jvES19wXQ== } - engines: { node: ">=6.0" } + resolution: {integrity: sha512-3ggF4Bs0cw4M7Rxn19/Cv3nJi04xrgHwt4uLto+zkcZocaKwP/nKP9wPx6ggN2X0DSXxOOIc63BV1jvES19wXQ==} + engines: {node: '>=6.0'} hasBin: true void-elements@3.1.0: - resolution: - { integrity: sha512-Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w== } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w==} + engines: {node: '>=0.10.0'} w3c-xmlserializer@5.0.0: - resolution: - { integrity: sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA== } - engines: { node: ">=18" } + resolution: {integrity: sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==} + engines: {node: '>=18'} walk-up-path@4.0.0: - resolution: - { integrity: sha512-3hu+tD8YzSLGuFYtPRb48vdhKMi0KQV5sn+uWr8+7dMEq/2G/dtLrdDinkLjqq5TIbIBjYJ4Ax/n3YiaW7QM8A== } - engines: { node: 20 || >=22 } + resolution: {integrity: sha512-3hu+tD8YzSLGuFYtPRb48vdhKMi0KQV5sn+uWr8+7dMEq/2G/dtLrdDinkLjqq5TIbIBjYJ4Ax/n3YiaW7QM8A==} + engines: {node: 20 || >=22} watchpack@2.5.1: - resolution: - { integrity: sha512-Zn5uXdcFNIA1+1Ei5McRd+iRzfhENPCe7LeABkJtNulSxjma+l7ltNx55BWZkRlwRnpOgHqxnjyaDgJnNXnqzg== } - engines: { node: ">=10.13.0" } + resolution: {integrity: sha512-Zn5uXdcFNIA1+1Ei5McRd+iRzfhENPCe7LeABkJtNulSxjma+l7ltNx55BWZkRlwRnpOgHqxnjyaDgJnNXnqzg==} + engines: {node: '>=10.13.0'} watskeburt@5.0.3: - resolution: - { integrity: sha512-g9CXukMjazlJJVQ3OHzXsnG25KFYgSgKMIyoJrD8ggr0DbS9UNF7OzIqWmmKKBMedkxj3T01uqEaGnn+y7QhMA== } - engines: { node: ^20.12||^22.13||>=24.0 } + resolution: {integrity: sha512-g9CXukMjazlJJVQ3OHzXsnG25KFYgSgKMIyoJrD8ggr0DbS9UNF7OzIqWmmKKBMedkxj3T01uqEaGnn+y7QhMA==} + engines: {node: ^20.12||^22.13||>=24.0} hasBin: true wcwidth@1.0.1: - resolution: - { integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg== } + resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} webidl-conversions@3.0.1: - resolution: - { integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== } + resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} webidl-conversions@8.0.1: - resolution: - { integrity: sha512-BMhLD/Sw+GbJC21C/UgyaZX41nPt8bUTg+jWyDeg7e7YN4xOM05YPSIXceACnXVtqyEw/LMClUQMtMZ+PGGpqQ== } - engines: { node: ">=20" } + resolution: {integrity: sha512-BMhLD/Sw+GbJC21C/UgyaZX41nPt8bUTg+jWyDeg7e7YN4xOM05YPSIXceACnXVtqyEw/LMClUQMtMZ+PGGpqQ==} + engines: {node: '>=20'} webpack-bundle-analyzer@5.2.0: - resolution: - { integrity: sha512-Etrauj1wYO/xjiz/Vfd6bW1lG9fEhrJpNmu10tv0X9kv+gyY3qiE09uYepqg1Xd0PxOvllRXwWYWjtQYoO/glQ== } - engines: { node: ">= 20.9.0" } + resolution: {integrity: sha512-Etrauj1wYO/xjiz/Vfd6bW1lG9fEhrJpNmu10tv0X9kv+gyY3qiE09uYepqg1Xd0PxOvllRXwWYWjtQYoO/glQ==} + engines: {node: '>= 20.9.0'} hasBin: true webpack-cli@7.0.2: - resolution: - { integrity: sha512-dB0R4T+C/8YuvM+fabdvil6QE44/ChDXikV5lOOkrUeCkW5hTJv2pGLE3keh+D5hjYw8icBaJkZzpFoaHV4T+g== } - engines: { node: ">=20.9.0" } + resolution: {integrity: sha512-dB0R4T+C/8YuvM+fabdvil6QE44/ChDXikV5lOOkrUeCkW5hTJv2pGLE3keh+D5hjYw8icBaJkZzpFoaHV4T+g==} + engines: {node: '>=20.9.0'} hasBin: true peerDependencies: webpack: ^5.101.0 @@ -9564,132 +8197,108 @@ packages: optional: true webpack-merge@6.0.1: - resolution: - { integrity: sha512-hXXvrjtx2PLYx4qruKl+kyRSLc52V+cCvMxRjmKwoA+CBbbF5GfIBtR6kCvl0fYGqTUPKB+1ktVmTHqMOzgCBg== } - engines: { node: ">=18.0.0" } + resolution: {integrity: sha512-hXXvrjtx2PLYx4qruKl+kyRSLc52V+cCvMxRjmKwoA+CBbbF5GfIBtR6kCvl0fYGqTUPKB+1ktVmTHqMOzgCBg==} + engines: {node: '>=18.0.0'} webpack-sources@3.3.4: - resolution: - { integrity: sha512-7tP1PdV4vF+lYPnkMR0jMY5/la2ub5Fc/8VQrrU+lXkiM6C4TjVfGw7iKfyhnTQOsD+6Q/iKw0eFciziRgD58Q== } - engines: { node: ">=10.13.0" } + resolution: {integrity: sha512-7tP1PdV4vF+lYPnkMR0jMY5/la2ub5Fc/8VQrrU+lXkiM6C4TjVfGw7iKfyhnTQOsD+6Q/iKw0eFciziRgD58Q==} + engines: {node: '>=10.13.0'} webpack@5.105.4: - resolution: - { integrity: sha512-jTywjboN9aHxFlToqb0K0Zs9SbBoW4zRUlGzI2tYNxVYcEi/IPpn+Xi4ye5jTLvX2YeLuic/IvxNot+Q1jMoOw== } - engines: { node: ">=10.13.0" } + resolution: {integrity: sha512-jTywjboN9aHxFlToqb0K0Zs9SbBoW4zRUlGzI2tYNxVYcEi/IPpn+Xi4ye5jTLvX2YeLuic/IvxNot+Q1jMoOw==} + engines: {node: '>=10.13.0'} hasBin: true peerDependencies: - webpack-cli: "*" + webpack-cli: '*' peerDependenciesMeta: webpack-cli: optional: true whatwg-mimetype@5.0.0: - resolution: - { integrity: sha512-sXcNcHOC51uPGF0P/D4NVtrkjSU2fNsm9iog4ZvZJsL3rjoDAzXZhkm2MWt1y+PUdggKAYVoMAIYcs78wJ51Cw== } - engines: { node: ">=20" } + resolution: {integrity: sha512-sXcNcHOC51uPGF0P/D4NVtrkjSU2fNsm9iog4ZvZJsL3rjoDAzXZhkm2MWt1y+PUdggKAYVoMAIYcs78wJ51Cw==} + engines: {node: '>=20'} whatwg-url@16.0.1: - resolution: - { integrity: sha512-1to4zXBxmXHV3IiSSEInrreIlu02vUOvrhxJJH5vcxYTBDAx51cqZiKdyTxlecdKNSjj8EcxGBxNf6Vg+945gw== } - engines: { node: ^20.19.0 || ^22.12.0 || >=24.0.0 } + resolution: {integrity: sha512-1to4zXBxmXHV3IiSSEInrreIlu02vUOvrhxJJH5vcxYTBDAx51cqZiKdyTxlecdKNSjj8EcxGBxNf6Vg+945gw==} + engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0} whatwg-url@5.0.0: - resolution: - { integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw== } + resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} which@2.0.2: - resolution: - { integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== } - engines: { node: ">= 8" } + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} hasBin: true which@5.0.0: - resolution: - { integrity: sha512-JEdGzHwwkrbWoGOlIHqQ5gtprKGOenpDHpxE9zVR1bWbOtYRyPPHMe9FaP6x61CmNaTThSkb0DAJte5jD+DmzQ== } - engines: { node: ^18.17.0 || >=20.5.0 } + resolution: {integrity: sha512-JEdGzHwwkrbWoGOlIHqQ5gtprKGOenpDHpxE9zVR1bWbOtYRyPPHMe9FaP6x61CmNaTThSkb0DAJte5jD+DmzQ==} + engines: {node: ^18.17.0 || >=20.5.0} hasBin: true which@6.0.0: - resolution: - { integrity: sha512-f+gEpIKMR9faW/JgAgPK1D7mekkFoqbmiwvNzuhsHetni20QSgzg9Vhn0g2JSJkkfehQnqdUAx7/e15qS1lPxg== } - engines: { node: ^20.17.0 || >=22.9.0 } + resolution: {integrity: sha512-f+gEpIKMR9faW/JgAgPK1D7mekkFoqbmiwvNzuhsHetni20QSgzg9Vhn0g2JSJkkfehQnqdUAx7/e15qS1lPxg==} + engines: {node: ^20.17.0 || >=22.9.0} hasBin: true why-is-node-running@2.3.0: - resolution: - { integrity: sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w== } - engines: { node: ">=8" } + resolution: {integrity: sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==} + engines: {node: '>=8'} hasBin: true wide-align@1.1.5: - resolution: - { integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg== } + resolution: {integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==} wildcard@2.0.1: - resolution: - { integrity: sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ== } + resolution: {integrity: sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==} winston-transport@4.9.0: - resolution: - { integrity: sha512-8drMJ4rkgaPo1Me4zD/3WLfI/zPdA9o2IipKODunnGDcuqbHwjsbB79ylv04LCGGzU0xQ6vTznOMpQGaLhhm6A== } - engines: { node: ">= 12.0.0" } + resolution: {integrity: sha512-8drMJ4rkgaPo1Me4zD/3WLfI/zPdA9o2IipKODunnGDcuqbHwjsbB79ylv04LCGGzU0xQ6vTznOMpQGaLhhm6A==} + engines: {node: '>= 12.0.0'} winston@3.19.0: - resolution: - { integrity: sha512-LZNJgPzfKR+/J3cHkxcpHKpKKvGfDZVPS4hfJCc4cCG0CgYzvlD6yE/S3CIL/Yt91ak327YCpiF/0MyeZHEHKA== } - engines: { node: ">= 12.0.0" } + resolution: {integrity: sha512-LZNJgPzfKR+/J3cHkxcpHKpKKvGfDZVPS4hfJCc4cCG0CgYzvlD6yE/S3CIL/Yt91ak327YCpiF/0MyeZHEHKA==} + engines: {node: '>= 12.0.0'} with@7.0.2: - resolution: - { integrity: sha512-RNGKj82nUPg3g5ygxkQl0R937xLyho1J24ItRCBTr/m1YnZkzJy1hUiHUJrc/VlsDQzsCnInEGSg3bci0Lmd4w== } - engines: { node: ">= 10.0.0" } + resolution: {integrity: sha512-RNGKj82nUPg3g5ygxkQl0R937xLyho1J24ItRCBTr/m1YnZkzJy1hUiHUJrc/VlsDQzsCnInEGSg3bci0Lmd4w==} + engines: {node: '>= 10.0.0'} wordwrap@1.0.0: - resolution: - { integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q== } + resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==} wrap-ansi@6.2.0: - resolution: - { integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== } - engines: { node: ">=8" } + resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} + engines: {node: '>=8'} wrap-ansi@7.0.0: - resolution: - { integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== } - engines: { node: ">=10" } + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} + engines: {node: '>=10'} wrap-ansi@8.1.0: - resolution: - { integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ== } - engines: { node: ">=12" } + resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} + engines: {node: '>=12'} wrap-ansi@9.0.0: - resolution: - { integrity: sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q== } - engines: { node: ">=18" } + resolution: {integrity: sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==} + engines: {node: '>=18'} wrappy@1.0.2: - resolution: - { integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== } + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} write-file-atomic@5.0.1: - resolution: - { integrity: sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw== } - engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } + resolution: {integrity: sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} write-file-atomic@6.0.0: - resolution: - { integrity: sha512-GmqrO8WJ1NuzJ2DrziEI2o57jKAVIQNf8a18W3nCYU3H7PNWqCCVTeH6/NQE93CIllIgQS98rrmVkYgTX9fFJQ== } - engines: { node: ^18.17.0 || >=20.5.0 } + resolution: {integrity: sha512-GmqrO8WJ1NuzJ2DrziEI2o57jKAVIQNf8a18W3nCYU3H7PNWqCCVTeH6/NQE93CIllIgQS98rrmVkYgTX9fFJQ==} + engines: {node: ^18.17.0 || >=20.5.0} ws@8.18.3: - resolution: - { integrity: sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg== } - engines: { node: ">=10.0.0" } + resolution: {integrity: sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==} + engines: {node: '>=10.0.0'} peerDependencies: bufferutil: ^4.0.1 - utf-8-validate: ">=5.0.2" + utf-8-validate: '>=5.0.2' peerDependenciesMeta: bufferutil: optional: true @@ -9697,12 +8306,11 @@ packages: optional: true ws@8.19.0: - resolution: - { integrity: sha512-blAT2mjOEIi0ZzruJfIhb3nps74PRWTCz1IjglWEEpQl5XS/UNama6u2/rjFkDDouqr4L67ry+1aGIALViWjDg== } - engines: { node: ">=10.0.0" } + resolution: {integrity: sha512-blAT2mjOEIi0ZzruJfIhb3nps74PRWTCz1IjglWEEpQl5XS/UNama6u2/rjFkDDouqr4L67ry+1aGIALViWjDg==} + engines: {node: '>=10.0.0'} peerDependencies: bufferutil: ^4.0.1 - utf-8-validate: ">=5.0.2" + utf-8-validate: '>=5.0.2' peerDependenciesMeta: bufferutil: optional: true @@ -9710,250 +8318,233 @@ packages: optional: true xml-name-validator@5.0.0: - resolution: - { integrity: sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg== } - engines: { node: ">=18" } + resolution: {integrity: sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==} + engines: {node: '>=18'} xmlchars@2.2.0: - resolution: - { integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== } + resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==} xtend@4.0.2: - resolution: - { integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== } - engines: { node: ">=0.4" } + resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} + engines: {node: '>=0.4'} y18n@5.0.8: - resolution: - { integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== } - engines: { node: ">=10" } + resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} + engines: {node: '>=10'} yallist@4.0.0: - resolution: - { integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== } + resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} yallist@5.0.0: - resolution: - { integrity: sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw== } - engines: { node: ">=18" } + resolution: {integrity: sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==} + engines: {node: '>=18'} yaml@2.8.1: - resolution: - { integrity: sha512-lcYcMxX2PO9XMGvAJkJ3OsNMw+/7FKes7/hgerGUYWIoWu5j/+YQqcZr5JnPZWzOsEBgMbSbiSTn/dv/69Mkpw== } - engines: { node: ">= 14.6" } + resolution: {integrity: sha512-lcYcMxX2PO9XMGvAJkJ3OsNMw+/7FKes7/hgerGUYWIoWu5j/+YQqcZr5JnPZWzOsEBgMbSbiSTn/dv/69Mkpw==} + engines: {node: '>= 14.6'} hasBin: true yargs-parser@20.2.9: - resolution: - { integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== } - engines: { node: ">=10" } + resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==} + engines: {node: '>=10'} yargs-parser@21.1.1: - resolution: - { integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== } - engines: { node: ">=12" } + resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} + engines: {node: '>=12'} yargs-parser@22.0.0: - resolution: - { integrity: sha512-rwu/ClNdSMpkSrUb+d6BRsSkLUq1fmfsY6TOpYzTwvwkg1/NRG85KBy3kq++A8LKQwX6lsu+aWad+2khvuXrqw== } - engines: { node: ^20.19.0 || ^22.12.0 || >=23 } + resolution: {integrity: sha512-rwu/ClNdSMpkSrUb+d6BRsSkLUq1fmfsY6TOpYzTwvwkg1/NRG85KBy3kq++A8LKQwX6lsu+aWad+2khvuXrqw==} + engines: {node: ^20.19.0 || ^22.12.0 || >=23} yargs@16.2.0: - resolution: - { integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== } - engines: { node: ">=10" } + resolution: {integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==} + engines: {node: '>=10'} yargs@17.7.2: - resolution: - { integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w== } - engines: { node: ">=12" } + resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} + engines: {node: '>=12'} yargs@18.0.0: - resolution: - { integrity: sha512-4UEqdc2RYGHZc7Doyqkrqiln3p9X2DZVxaGbwhn2pi7MrRagKaOcIKe8L3OxYcbhXLgLFUS3zAYuQjKBQgmuNg== } - engines: { node: ^20.19.0 || ^22.12.0 || >=23 } + resolution: {integrity: sha512-4UEqdc2RYGHZc7Doyqkrqiln3p9X2DZVxaGbwhn2pi7MrRagKaOcIKe8L3OxYcbhXLgLFUS3zAYuQjKBQgmuNg==} + engines: {node: ^20.19.0 || ^22.12.0 || >=23} yauzl@2.10.0: - resolution: - { integrity: sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g== } + resolution: {integrity: sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==} yn@3.1.1: - resolution: - { integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== } - engines: { node: ">=6" } + resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} + engines: {node: '>=6'} yocto-queue@0.1.0: - resolution: - { integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== } - engines: { node: ">=10" } + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} + engines: {node: '>=10'} yocto-queue@1.0.0: - resolution: - { integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g== } - engines: { node: ">=12.20" } + resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==} + engines: {node: '>=12.20'} yoctocolors-cjs@2.1.3: - resolution: - { integrity: sha512-U/PBtDf35ff0D8X8D0jfdzHYEPFxAI7jJlxZXwCSez5M3190m+QobIfh+sWDWSHMCWWJN2AWamkegn6vr6YBTw== } - engines: { node: ">=18" } + resolution: {integrity: sha512-U/PBtDf35ff0D8X8D0jfdzHYEPFxAI7jJlxZXwCSez5M3190m+QobIfh+sWDWSHMCWWJN2AWamkegn6vr6YBTw==} + engines: {node: '>=18'} snapshots: - "@aashutoshrathi/word-wrap@1.2.6": {} - "@adobe/css-tools@4.3.3": {} + '@aashutoshrathi/word-wrap@1.2.6': {} + + '@adobe/css-tools@4.3.3': {} - "@asamuzakjp/css-color@5.0.1": + '@asamuzakjp/css-color@5.0.1': dependencies: - "@csstools/css-calc": 3.1.1(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0) - "@csstools/css-color-parser": 4.0.2(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0) - "@csstools/css-parser-algorithms": 4.0.0(@csstools/css-tokenizer@4.0.0) - "@csstools/css-tokenizer": 4.0.0 + '@csstools/css-calc': 3.1.1(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0) + '@csstools/css-color-parser': 4.0.2(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0) + '@csstools/css-parser-algorithms': 4.0.0(@csstools/css-tokenizer@4.0.0) + '@csstools/css-tokenizer': 4.0.0 lru-cache: 11.2.7 - "@asamuzakjp/dom-selector@7.0.3": + '@asamuzakjp/dom-selector@7.0.3': dependencies: - "@asamuzakjp/nwsapi": 2.3.9 + '@asamuzakjp/nwsapi': 2.3.9 bidi-js: 1.0.3 css-tree: 3.2.1 is-potential-custom-element-name: 1.0.1 lru-cache: 11.2.7 - "@asamuzakjp/nwsapi@2.3.9": {} + '@asamuzakjp/nwsapi@2.3.9': {} - "@augment-vir/assert@31.59.3": + '@augment-vir/assert@31.59.3': dependencies: - "@augment-vir/core": 31.59.3 - "@date-vir/duration": 8.1.0 + '@augment-vir/core': 31.59.3 + '@date-vir/duration': 8.1.0 deep-eql: 5.0.2 expect-type: 1.3.0 type-fest: 5.4.4 - "@augment-vir/common@31.59.3": + '@augment-vir/common@31.59.3': dependencies: - "@augment-vir/assert": 31.59.3 - "@augment-vir/core": 31.59.3 - "@date-vir/duration": 8.1.0 + '@augment-vir/assert': 31.59.3 + '@augment-vir/core': 31.59.3 + '@date-vir/duration': 8.1.0 ansi-styles: 6.2.3 deepcopy-esm: 2.1.1 json5: 2.2.3 type-fest: 5.4.4 typed-event-target: 4.1.0 - "@augment-vir/core@31.59.3": + '@augment-vir/core@31.59.3': dependencies: - "@date-vir/duration": 8.1.0 + '@date-vir/duration': 8.1.0 browser-or-node: 3.0.0 diff: 8.0.3 json5: 2.2.3 type-fest: 5.4.4 - "@babel/code-frame@7.27.1": + '@babel/code-frame@7.27.1': dependencies: - "@babel/helper-validator-identifier": 7.28.5 + '@babel/helper-validator-identifier': 7.28.5 js-tokens: 4.0.0 picocolors: 1.1.1 - "@babel/helper-string-parser@7.27.1": {} + '@babel/helper-string-parser@7.27.1': {} - "@babel/helper-validator-identifier@7.28.5": {} + '@babel/helper-validator-identifier@7.28.5': {} - "@babel/parser@7.29.0": + '@babel/parser@7.29.0': dependencies: - "@babel/types": 7.29.0 + '@babel/types': 7.29.0 - "@babel/types@7.29.0": + '@babel/types@7.29.0': dependencies: - "@babel/helper-string-parser": 7.27.1 - "@babel/helper-validator-identifier": 7.28.5 + '@babel/helper-string-parser': 7.27.1 + '@babel/helper-validator-identifier': 7.28.5 - "@bcoe/v8-coverage@1.0.2": {} + '@bcoe/v8-coverage@1.0.2': {} - "@bramus/specificity@2.4.2": + '@bramus/specificity@2.4.2': dependencies: css-tree: 3.2.1 - "@colors/colors@1.6.0": {} + '@colors/colors@1.6.0': {} - "@commitlint/cli@20.5.0(@types/node@25.5.0)(conventional-commits-parser@6.3.0)(typescript@5.9.3)": + '@commitlint/cli@20.5.0(@types/node@25.5.0)(conventional-commits-parser@6.3.0)(typescript@5.9.3)': dependencies: - "@commitlint/format": 20.5.0 - "@commitlint/lint": 20.5.0 - "@commitlint/load": 20.5.0(@types/node@25.5.0)(typescript@5.9.3) - "@commitlint/read": 20.5.0(conventional-commits-parser@6.3.0) - "@commitlint/types": 20.5.0 + '@commitlint/format': 20.5.0 + '@commitlint/lint': 20.5.0 + '@commitlint/load': 20.5.0(@types/node@25.5.0)(typescript@5.9.3) + '@commitlint/read': 20.5.0(conventional-commits-parser@6.3.0) + '@commitlint/types': 20.5.0 tinyexec: 1.0.2 yargs: 17.7.2 transitivePeerDependencies: - - "@types/node" + - '@types/node' - conventional-commits-filter - conventional-commits-parser - typescript - "@commitlint/config-conventional@20.5.0": + '@commitlint/config-conventional@20.5.0': dependencies: - "@commitlint/types": 20.5.0 + '@commitlint/types': 20.5.0 conventional-changelog-conventionalcommits: 9.3.0 - "@commitlint/config-validator@20.5.0": + '@commitlint/config-validator@20.5.0': dependencies: - "@commitlint/types": 20.5.0 + '@commitlint/types': 20.5.0 ajv: 8.18.0 - "@commitlint/ensure@20.5.0": + '@commitlint/ensure@20.5.0': dependencies: - "@commitlint/types": 20.5.0 + '@commitlint/types': 20.5.0 lodash.camelcase: 4.3.0 lodash.kebabcase: 4.1.1 lodash.snakecase: 4.1.1 lodash.startcase: 4.4.0 lodash.upperfirst: 4.3.1 - "@commitlint/execute-rule@20.0.0": {} + '@commitlint/execute-rule@20.0.0': {} - "@commitlint/format@20.5.0": + '@commitlint/format@20.5.0': dependencies: - "@commitlint/types": 20.5.0 + '@commitlint/types': 20.5.0 picocolors: 1.1.1 - "@commitlint/is-ignored@20.5.0": + '@commitlint/is-ignored@20.5.0': dependencies: - "@commitlint/types": 20.5.0 + '@commitlint/types': 20.5.0 semver: 7.7.4 - "@commitlint/lint@20.5.0": + '@commitlint/lint@20.5.0': dependencies: - "@commitlint/is-ignored": 20.5.0 - "@commitlint/parse": 20.5.0 - "@commitlint/rules": 20.5.0 - "@commitlint/types": 20.5.0 + '@commitlint/is-ignored': 20.5.0 + '@commitlint/parse': 20.5.0 + '@commitlint/rules': 20.5.0 + '@commitlint/types': 20.5.0 - "@commitlint/load@20.5.0(@types/node@25.5.0)(typescript@5.9.3)": + '@commitlint/load@20.5.0(@types/node@25.5.0)(typescript@5.9.3)': dependencies: - "@commitlint/config-validator": 20.5.0 - "@commitlint/execute-rule": 20.0.0 - "@commitlint/resolve-extends": 20.5.0 - "@commitlint/types": 20.5.0 + '@commitlint/config-validator': 20.5.0 + '@commitlint/execute-rule': 20.0.0 + '@commitlint/resolve-extends': 20.5.0 + '@commitlint/types': 20.5.0 cosmiconfig: 9.0.1(typescript@5.9.3) cosmiconfig-typescript-loader: 6.1.0(@types/node@25.5.0)(cosmiconfig@9.0.1(typescript@5.9.3))(typescript@5.9.3) is-plain-obj: 4.1.0 lodash.mergewith: 4.6.2 picocolors: 1.1.1 transitivePeerDependencies: - - "@types/node" + - '@types/node' - typescript - "@commitlint/message@20.4.3": {} + '@commitlint/message@20.4.3': {} - "@commitlint/parse@20.5.0": + '@commitlint/parse@20.5.0': dependencies: - "@commitlint/types": 20.5.0 + '@commitlint/types': 20.5.0 conventional-changelog-angular: 8.3.0 conventional-commits-parser: 6.3.0 - "@commitlint/read@20.5.0(conventional-commits-parser@6.3.0)": + '@commitlint/read@20.5.0(conventional-commits-parser@6.3.0)': dependencies: - "@commitlint/top-level": 20.4.3 - "@commitlint/types": 20.5.0 + '@commitlint/top-level': 20.4.3 + '@commitlint/types': 20.5.0 git-raw-commits: 5.0.1(conventional-commits-parser@6.3.0) minimist: 1.2.8 tinyexec: 1.0.2 @@ -9961,76 +8552,76 @@ snapshots: - conventional-commits-filter - conventional-commits-parser - "@commitlint/resolve-extends@20.5.0": + '@commitlint/resolve-extends@20.5.0': dependencies: - "@commitlint/config-validator": 20.5.0 - "@commitlint/types": 20.5.0 + '@commitlint/config-validator': 20.5.0 + '@commitlint/types': 20.5.0 global-directory: 4.0.1 import-meta-resolve: 4.0.0 lodash.mergewith: 4.6.2 resolve-from: 5.0.0 - "@commitlint/rules@20.5.0": + '@commitlint/rules@20.5.0': dependencies: - "@commitlint/ensure": 20.5.0 - "@commitlint/message": 20.4.3 - "@commitlint/to-lines": 20.0.0 - "@commitlint/types": 20.5.0 + '@commitlint/ensure': 20.5.0 + '@commitlint/message': 20.4.3 + '@commitlint/to-lines': 20.0.0 + '@commitlint/types': 20.5.0 - "@commitlint/to-lines@20.0.0": {} + '@commitlint/to-lines@20.0.0': {} - "@commitlint/top-level@20.4.3": + '@commitlint/top-level@20.4.3': dependencies: escalade: 3.2.0 - "@commitlint/types@20.5.0": + '@commitlint/types@20.5.0': dependencies: conventional-commits-parser: 6.3.0 picocolors: 1.1.1 - "@conventional-changelog/git-client@2.6.0(conventional-commits-parser@6.3.0)": + '@conventional-changelog/git-client@2.6.0(conventional-commits-parser@6.3.0)': dependencies: - "@simple-libs/child-process-utils": 1.0.2 - "@simple-libs/stream-utils": 1.2.0 + '@simple-libs/child-process-utils': 1.0.2 + '@simple-libs/stream-utils': 1.2.0 semver: 7.7.4 optionalDependencies: conventional-commits-parser: 6.3.0 - "@cspotcode/source-map-support@0.8.1": + '@cspotcode/source-map-support@0.8.1': dependencies: - "@jridgewell/trace-mapping": 0.3.9 + '@jridgewell/trace-mapping': 0.3.9 - "@csstools/color-helpers@6.0.2": {} + '@csstools/color-helpers@6.0.2': {} - "@csstools/css-calc@3.1.1(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0)": + '@csstools/css-calc@3.1.1(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0)': dependencies: - "@csstools/css-parser-algorithms": 4.0.0(@csstools/css-tokenizer@4.0.0) - "@csstools/css-tokenizer": 4.0.0 + '@csstools/css-parser-algorithms': 4.0.0(@csstools/css-tokenizer@4.0.0) + '@csstools/css-tokenizer': 4.0.0 - "@csstools/css-color-parser@4.0.2(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0)": + '@csstools/css-color-parser@4.0.2(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0)': dependencies: - "@csstools/color-helpers": 6.0.2 - "@csstools/css-calc": 3.1.1(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0) - "@csstools/css-parser-algorithms": 4.0.0(@csstools/css-tokenizer@4.0.0) - "@csstools/css-tokenizer": 4.0.0 + '@csstools/color-helpers': 6.0.2 + '@csstools/css-calc': 3.1.1(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0) + '@csstools/css-parser-algorithms': 4.0.0(@csstools/css-tokenizer@4.0.0) + '@csstools/css-tokenizer': 4.0.0 - "@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0)": + '@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0)': dependencies: - "@csstools/css-tokenizer": 4.0.0 + '@csstools/css-tokenizer': 4.0.0 - "@csstools/css-syntax-patches-for-csstree@1.1.1(css-tree@3.2.1)": + '@csstools/css-syntax-patches-for-csstree@1.1.1(css-tree@3.2.1)': optionalDependencies: css-tree: 3.2.1 - "@csstools/css-tokenizer@4.0.0": {} + '@csstools/css-tokenizer@4.0.0': {} - "@dabh/diagnostics@2.0.8": + '@dabh/diagnostics@2.0.8': dependencies: - "@so-ric/colorspace": 1.1.6 + '@so-ric/colorspace': 1.1.6 enabled: 2.0.0 kuler: 2.0.0 - "@datalust/winston-seq@3.0.1(encoding@0.1.13)(winston@3.19.0)": + '@datalust/winston-seq@3.0.1(encoding@0.1.13)(winston@3.19.0)': dependencies: seq-logging: 3.0.0(encoding@0.1.13) winston: 3.19.0 @@ -10038,17 +8629,17 @@ snapshots: transitivePeerDependencies: - encoding - "@date-vir/duration@8.1.0": + '@date-vir/duration@8.1.0': dependencies: - "@types/luxon": 3.7.1 + '@types/luxon': 3.7.1 luxon: 3.7.2 type-fest: 5.4.4 - "@discoveryjs/json-ext@0.5.7": {} + '@discoveryjs/json-ext@0.5.7': {} - "@discoveryjs/json-ext@1.0.0": {} + '@discoveryjs/json-ext@1.0.0': {} - "@electron/get@2.0.3": + '@electron/get@2.0.3': dependencies: debug: 4.4.3(supports-color@5.5.0) env-paths: 2.2.1 @@ -10062,296 +8653,296 @@ snapshots: transitivePeerDependencies: - supports-color - "@emnapi/core@1.8.1": + '@emnapi/core@1.8.1': dependencies: - "@emnapi/wasi-threads": 1.1.0 + '@emnapi/wasi-threads': 1.1.0 tslib: 2.8.1 - "@emnapi/runtime@1.8.1": + '@emnapi/runtime@1.8.1': dependencies: tslib: 2.8.1 - "@emnapi/wasi-threads@1.1.0": + '@emnapi/wasi-threads@1.1.0': dependencies: tslib: 2.8.1 - "@epic-web/invariant@1.0.0": {} + '@epic-web/invariant@1.0.0': {} - "@es-joy/jsdoccomment@0.84.0": + '@es-joy/jsdoccomment@0.84.0': dependencies: - "@types/estree": 1.0.8 - "@typescript-eslint/types": 8.57.0 + '@types/estree': 1.0.8 + '@typescript-eslint/types': 8.57.0 comment-parser: 1.4.5 esquery: 1.7.0 jsdoc-type-pratt-parser: 7.1.1 - "@es-joy/resolve.exports@1.2.0": {} + '@es-joy/resolve.exports@1.2.0': {} - "@esbuild/aix-ppc64@0.27.2": + '@esbuild/aix-ppc64@0.27.2': optional: true - "@esbuild/android-arm64@0.27.2": + '@esbuild/android-arm64@0.27.2': optional: true - "@esbuild/android-arm@0.27.2": + '@esbuild/android-arm@0.27.2': optional: true - "@esbuild/android-x64@0.27.2": + '@esbuild/android-x64@0.27.2': optional: true - "@esbuild/darwin-arm64@0.27.2": + '@esbuild/darwin-arm64@0.27.2': optional: true - "@esbuild/darwin-x64@0.27.2": + '@esbuild/darwin-x64@0.27.2': optional: true - "@esbuild/freebsd-arm64@0.27.2": + '@esbuild/freebsd-arm64@0.27.2': optional: true - "@esbuild/freebsd-x64@0.27.2": + '@esbuild/freebsd-x64@0.27.2': optional: true - "@esbuild/linux-arm64@0.27.2": + '@esbuild/linux-arm64@0.27.2': optional: true - "@esbuild/linux-arm@0.27.2": + '@esbuild/linux-arm@0.27.2': optional: true - "@esbuild/linux-ia32@0.27.2": + '@esbuild/linux-ia32@0.27.2': optional: true - "@esbuild/linux-loong64@0.27.2": + '@esbuild/linux-loong64@0.27.2': optional: true - "@esbuild/linux-mips64el@0.27.2": + '@esbuild/linux-mips64el@0.27.2': optional: true - "@esbuild/linux-ppc64@0.27.2": + '@esbuild/linux-ppc64@0.27.2': optional: true - "@esbuild/linux-riscv64@0.27.2": + '@esbuild/linux-riscv64@0.27.2': optional: true - "@esbuild/linux-s390x@0.27.2": + '@esbuild/linux-s390x@0.27.2': optional: true - "@esbuild/linux-x64@0.27.2": + '@esbuild/linux-x64@0.27.2': optional: true - "@esbuild/netbsd-arm64@0.27.2": + '@esbuild/netbsd-arm64@0.27.2': optional: true - "@esbuild/netbsd-x64@0.27.2": + '@esbuild/netbsd-x64@0.27.2': optional: true - "@esbuild/openbsd-arm64@0.27.2": + '@esbuild/openbsd-arm64@0.27.2': optional: true - "@esbuild/openbsd-x64@0.27.2": + '@esbuild/openbsd-x64@0.27.2': optional: true - "@esbuild/openharmony-arm64@0.27.2": + '@esbuild/openharmony-arm64@0.27.2': optional: true - "@esbuild/sunos-x64@0.27.2": + '@esbuild/sunos-x64@0.27.2': optional: true - "@esbuild/win32-arm64@0.27.2": + '@esbuild/win32-arm64@0.27.2': optional: true - "@esbuild/win32-ia32@0.27.2": + '@esbuild/win32-ia32@0.27.2': optional: true - "@esbuild/win32-x64@0.27.2": + '@esbuild/win32-x64@0.27.2': optional: true - "@eslint-community/eslint-utils@4.9.1(eslint@10.0.3(jiti@2.6.1))": + '@eslint-community/eslint-utils@4.9.1(eslint@10.0.3(jiti@2.6.1))': dependencies: eslint: 10.0.3(jiti@2.6.1) eslint-visitor-keys: 3.4.3 - "@eslint-community/regexpp@4.12.2": {} + '@eslint-community/regexpp@4.12.2': {} - "@eslint/config-array@0.23.3": + '@eslint/config-array@0.23.3': dependencies: - "@eslint/object-schema": 3.0.3 + '@eslint/object-schema': 3.0.3 debug: 4.4.3(supports-color@5.5.0) minimatch: 10.2.4 transitivePeerDependencies: - supports-color - "@eslint/config-helpers@0.5.3": + '@eslint/config-helpers@0.5.3': dependencies: - "@eslint/core": 1.1.1 + '@eslint/core': 1.1.1 - "@eslint/core@1.1.1": + '@eslint/core@1.1.1': dependencies: - "@types/json-schema": 7.0.15 + '@types/json-schema': 7.0.15 - "@eslint/js@10.0.1(eslint@10.0.3(jiti@2.6.1))": + '@eslint/js@10.0.1(eslint@10.0.3(jiti@2.6.1))': optionalDependencies: eslint: 10.0.3(jiti@2.6.1) - "@eslint/object-schema@3.0.3": {} + '@eslint/object-schema@3.0.3': {} - "@eslint/plugin-kit@0.6.1": + '@eslint/plugin-kit@0.6.1': dependencies: - "@eslint/core": 1.1.1 + '@eslint/core': 1.1.1 levn: 0.4.1 - "@exodus/bytes@1.15.0": {} + '@exodus/bytes@1.15.0': {} - "@fortawesome/fontawesome-free@7.2.0": {} + '@fortawesome/fontawesome-free@7.2.0': {} - "@gerrit0/mini-shiki@3.20.0": + '@gerrit0/mini-shiki@3.20.0': dependencies: - "@shikijs/engine-oniguruma": 3.20.0 - "@shikijs/langs": 3.20.0 - "@shikijs/themes": 3.20.0 - "@shikijs/types": 3.20.0 - "@shikijs/vscode-textmate": 10.0.2 + '@shikijs/engine-oniguruma': 3.20.0 + '@shikijs/langs': 3.20.0 + '@shikijs/themes': 3.20.0 + '@shikijs/types': 3.20.0 + '@shikijs/vscode-textmate': 10.0.2 - "@humanfs/core@0.19.1": {} + '@humanfs/core@0.19.1': {} - "@humanfs/node@0.16.6": + '@humanfs/node@0.16.6': dependencies: - "@humanfs/core": 0.19.1 - "@humanwhocodes/retry": 0.3.1 + '@humanfs/core': 0.19.1 + '@humanwhocodes/retry': 0.3.1 - "@humanwhocodes/module-importer@1.0.1": {} + '@humanwhocodes/module-importer@1.0.1': {} - "@humanwhocodes/retry@0.3.1": {} + '@humanwhocodes/retry@0.3.1': {} - "@humanwhocodes/retry@0.4.3": {} + '@humanwhocodes/retry@0.4.3': {} - "@hutson/parse-repository-url@3.0.2": {} + '@hutson/parse-repository-url@3.0.2': {} - "@inquirer/ansi@1.0.2": {} + '@inquirer/ansi@1.0.2': {} - "@inquirer/checkbox@4.3.2(@types/node@25.5.0)": + '@inquirer/checkbox@4.3.2(@types/node@25.5.0)': dependencies: - "@inquirer/ansi": 1.0.2 - "@inquirer/core": 10.3.2(@types/node@25.5.0) - "@inquirer/figures": 1.0.15 - "@inquirer/type": 3.0.10(@types/node@25.5.0) + '@inquirer/ansi': 1.0.2 + '@inquirer/core': 10.3.2(@types/node@25.5.0) + '@inquirer/figures': 1.0.15 + '@inquirer/type': 3.0.10(@types/node@25.5.0) yoctocolors-cjs: 2.1.3 optionalDependencies: - "@types/node": 25.5.0 + '@types/node': 25.5.0 - "@inquirer/confirm@5.1.21(@types/node@25.5.0)": + '@inquirer/confirm@5.1.21(@types/node@25.5.0)': dependencies: - "@inquirer/core": 10.3.2(@types/node@25.5.0) - "@inquirer/type": 3.0.10(@types/node@25.5.0) + '@inquirer/core': 10.3.2(@types/node@25.5.0) + '@inquirer/type': 3.0.10(@types/node@25.5.0) optionalDependencies: - "@types/node": 25.5.0 + '@types/node': 25.5.0 - "@inquirer/core@10.3.2(@types/node@25.5.0)": + '@inquirer/core@10.3.2(@types/node@25.5.0)': dependencies: - "@inquirer/ansi": 1.0.2 - "@inquirer/figures": 1.0.15 - "@inquirer/type": 3.0.10(@types/node@25.5.0) + '@inquirer/ansi': 1.0.2 + '@inquirer/figures': 1.0.15 + '@inquirer/type': 3.0.10(@types/node@25.5.0) cli-width: 4.1.0 mute-stream: 2.0.0 signal-exit: 4.1.0 wrap-ansi: 6.2.0 yoctocolors-cjs: 2.1.3 optionalDependencies: - "@types/node": 25.5.0 + '@types/node': 25.5.0 - "@inquirer/editor@4.2.23(@types/node@25.5.0)": + '@inquirer/editor@4.2.23(@types/node@25.5.0)': dependencies: - "@inquirer/core": 10.3.2(@types/node@25.5.0) - "@inquirer/external-editor": 1.0.3(@types/node@25.5.0) - "@inquirer/type": 3.0.10(@types/node@25.5.0) + '@inquirer/core': 10.3.2(@types/node@25.5.0) + '@inquirer/external-editor': 1.0.3(@types/node@25.5.0) + '@inquirer/type': 3.0.10(@types/node@25.5.0) optionalDependencies: - "@types/node": 25.5.0 + '@types/node': 25.5.0 - "@inquirer/expand@4.0.23(@types/node@25.5.0)": + '@inquirer/expand@4.0.23(@types/node@25.5.0)': dependencies: - "@inquirer/core": 10.3.2(@types/node@25.5.0) - "@inquirer/type": 3.0.10(@types/node@25.5.0) + '@inquirer/core': 10.3.2(@types/node@25.5.0) + '@inquirer/type': 3.0.10(@types/node@25.5.0) yoctocolors-cjs: 2.1.3 optionalDependencies: - "@types/node": 25.5.0 + '@types/node': 25.5.0 - "@inquirer/external-editor@1.0.3(@types/node@25.5.0)": + '@inquirer/external-editor@1.0.3(@types/node@25.5.0)': dependencies: chardet: 2.1.1 iconv-lite: 0.7.1 optionalDependencies: - "@types/node": 25.5.0 + '@types/node': 25.5.0 - "@inquirer/figures@1.0.15": {} + '@inquirer/figures@1.0.15': {} - "@inquirer/input@4.3.1(@types/node@25.5.0)": + '@inquirer/input@4.3.1(@types/node@25.5.0)': dependencies: - "@inquirer/core": 10.3.2(@types/node@25.5.0) - "@inquirer/type": 3.0.10(@types/node@25.5.0) + '@inquirer/core': 10.3.2(@types/node@25.5.0) + '@inquirer/type': 3.0.10(@types/node@25.5.0) optionalDependencies: - "@types/node": 25.5.0 + '@types/node': 25.5.0 - "@inquirer/number@3.0.23(@types/node@25.5.0)": + '@inquirer/number@3.0.23(@types/node@25.5.0)': dependencies: - "@inquirer/core": 10.3.2(@types/node@25.5.0) - "@inquirer/type": 3.0.10(@types/node@25.5.0) + '@inquirer/core': 10.3.2(@types/node@25.5.0) + '@inquirer/type': 3.0.10(@types/node@25.5.0) optionalDependencies: - "@types/node": 25.5.0 + '@types/node': 25.5.0 - "@inquirer/password@4.0.23(@types/node@25.5.0)": + '@inquirer/password@4.0.23(@types/node@25.5.0)': dependencies: - "@inquirer/ansi": 1.0.2 - "@inquirer/core": 10.3.2(@types/node@25.5.0) - "@inquirer/type": 3.0.10(@types/node@25.5.0) + '@inquirer/ansi': 1.0.2 + '@inquirer/core': 10.3.2(@types/node@25.5.0) + '@inquirer/type': 3.0.10(@types/node@25.5.0) optionalDependencies: - "@types/node": 25.5.0 - - "@inquirer/prompts@7.10.1(@types/node@25.5.0)": - dependencies: - "@inquirer/checkbox": 4.3.2(@types/node@25.5.0) - "@inquirer/confirm": 5.1.21(@types/node@25.5.0) - "@inquirer/editor": 4.2.23(@types/node@25.5.0) - "@inquirer/expand": 4.0.23(@types/node@25.5.0) - "@inquirer/input": 4.3.1(@types/node@25.5.0) - "@inquirer/number": 3.0.23(@types/node@25.5.0) - "@inquirer/password": 4.0.23(@types/node@25.5.0) - "@inquirer/rawlist": 4.1.11(@types/node@25.5.0) - "@inquirer/search": 3.2.2(@types/node@25.5.0) - "@inquirer/select": 4.4.2(@types/node@25.5.0) + '@types/node': 25.5.0 + + '@inquirer/prompts@7.10.1(@types/node@25.5.0)': + dependencies: + '@inquirer/checkbox': 4.3.2(@types/node@25.5.0) + '@inquirer/confirm': 5.1.21(@types/node@25.5.0) + '@inquirer/editor': 4.2.23(@types/node@25.5.0) + '@inquirer/expand': 4.0.23(@types/node@25.5.0) + '@inquirer/input': 4.3.1(@types/node@25.5.0) + '@inquirer/number': 3.0.23(@types/node@25.5.0) + '@inquirer/password': 4.0.23(@types/node@25.5.0) + '@inquirer/rawlist': 4.1.11(@types/node@25.5.0) + '@inquirer/search': 3.2.2(@types/node@25.5.0) + '@inquirer/select': 4.4.2(@types/node@25.5.0) optionalDependencies: - "@types/node": 25.5.0 + '@types/node': 25.5.0 - "@inquirer/rawlist@4.1.11(@types/node@25.5.0)": + '@inquirer/rawlist@4.1.11(@types/node@25.5.0)': dependencies: - "@inquirer/core": 10.3.2(@types/node@25.5.0) - "@inquirer/type": 3.0.10(@types/node@25.5.0) + '@inquirer/core': 10.3.2(@types/node@25.5.0) + '@inquirer/type': 3.0.10(@types/node@25.5.0) yoctocolors-cjs: 2.1.3 optionalDependencies: - "@types/node": 25.5.0 + '@types/node': 25.5.0 - "@inquirer/search@3.2.2(@types/node@25.5.0)": + '@inquirer/search@3.2.2(@types/node@25.5.0)': dependencies: - "@inquirer/core": 10.3.2(@types/node@25.5.0) - "@inquirer/figures": 1.0.15 - "@inquirer/type": 3.0.10(@types/node@25.5.0) + '@inquirer/core': 10.3.2(@types/node@25.5.0) + '@inquirer/figures': 1.0.15 + '@inquirer/type': 3.0.10(@types/node@25.5.0) yoctocolors-cjs: 2.1.3 optionalDependencies: - "@types/node": 25.5.0 + '@types/node': 25.5.0 - "@inquirer/select@4.4.2(@types/node@25.5.0)": + '@inquirer/select@4.4.2(@types/node@25.5.0)': dependencies: - "@inquirer/ansi": 1.0.2 - "@inquirer/core": 10.3.2(@types/node@25.5.0) - "@inquirer/figures": 1.0.15 - "@inquirer/type": 3.0.10(@types/node@25.5.0) + '@inquirer/ansi': 1.0.2 + '@inquirer/core': 10.3.2(@types/node@25.5.0) + '@inquirer/figures': 1.0.15 + '@inquirer/type': 3.0.10(@types/node@25.5.0) yoctocolors-cjs: 2.1.3 optionalDependencies: - "@types/node": 25.5.0 + '@types/node': 25.5.0 - "@inquirer/type@3.0.10(@types/node@25.5.0)": + '@inquirer/type@3.0.10(@types/node@25.5.0)': optionalDependencies: - "@types/node": 25.5.0 + '@types/node': 25.5.0 - "@isaacs/cliui@8.0.2": + '@isaacs/cliui@8.0.2': dependencies: string-width: 5.1.2 string-width-cjs: string-width@4.2.3 @@ -10360,84 +8951,84 @@ snapshots: wrap-ansi: 8.1.0 wrap-ansi-cjs: wrap-ansi@7.0.0 - "@isaacs/fs-minipass@4.0.1": + '@isaacs/fs-minipass@4.0.1': dependencies: minipass: 7.1.3 - "@isaacs/string-locale-compare@1.1.0": {} + '@isaacs/string-locale-compare@1.1.0': {} - "@jest/diff-sequences@30.0.1": {} + '@jest/diff-sequences@30.0.1': {} - "@jest/get-type@30.1.0": {} + '@jest/get-type@30.1.0': {} - "@jest/schemas@30.0.5": + '@jest/schemas@30.0.5': dependencies: - "@sinclair/typebox": 0.34.41 + '@sinclair/typebox': 0.34.41 - "@jridgewell/gen-mapping@0.3.5": + '@jridgewell/gen-mapping@0.3.5': dependencies: - "@jridgewell/set-array": 1.2.1 - "@jridgewell/sourcemap-codec": 1.5.5 - "@jridgewell/trace-mapping": 0.3.31 + '@jridgewell/set-array': 1.2.1 + '@jridgewell/sourcemap-codec': 1.5.5 + '@jridgewell/trace-mapping': 0.3.31 - "@jridgewell/resolve-uri@3.1.1": {} + '@jridgewell/resolve-uri@3.1.1': {} - "@jridgewell/set-array@1.2.1": {} + '@jridgewell/set-array@1.2.1': {} - "@jridgewell/source-map@0.3.5": + '@jridgewell/source-map@0.3.5': dependencies: - "@jridgewell/gen-mapping": 0.3.5 - "@jridgewell/trace-mapping": 0.3.31 + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.31 - "@jridgewell/sourcemap-codec@1.5.5": {} + '@jridgewell/sourcemap-codec@1.5.5': {} - "@jridgewell/trace-mapping@0.3.31": + '@jridgewell/trace-mapping@0.3.31': dependencies: - "@jridgewell/resolve-uri": 3.1.1 - "@jridgewell/sourcemap-codec": 1.5.5 + '@jridgewell/resolve-uri': 3.1.1 + '@jridgewell/sourcemap-codec': 1.5.5 - "@jridgewell/trace-mapping@0.3.9": + '@jridgewell/trace-mapping@0.3.9': dependencies: - "@jridgewell/resolve-uri": 3.1.1 - "@jridgewell/sourcemap-codec": 1.5.5 + '@jridgewell/resolve-uri': 3.1.1 + '@jridgewell/sourcemap-codec': 1.5.5 - "@ltd/j-toml@1.38.0": {} + '@ltd/j-toml@1.38.0': {} - "@microsoft/tsdoc-config@0.18.1": + '@microsoft/tsdoc-config@0.18.1': dependencies: - "@microsoft/tsdoc": 0.16.0 + '@microsoft/tsdoc': 0.16.0 ajv: 8.18.0 jju: 1.4.0 resolve: 1.22.10 - "@microsoft/tsdoc@0.16.0": {} + '@microsoft/tsdoc@0.16.0': {} - "@napi-rs/wasm-runtime@0.2.4": + '@napi-rs/wasm-runtime@0.2.4': dependencies: - "@emnapi/core": 1.8.1 - "@emnapi/runtime": 1.8.1 - "@tybys/wasm-util": 0.9.0 + '@emnapi/core': 1.8.1 + '@emnapi/runtime': 1.8.1 + '@tybys/wasm-util': 0.9.0 - "@napi-rs/wasm-runtime@1.1.1": + '@napi-rs/wasm-runtime@1.1.1': dependencies: - "@emnapi/core": 1.8.1 - "@emnapi/runtime": 1.8.1 - "@tybys/wasm-util": 0.10.1 + '@emnapi/core': 1.8.1 + '@emnapi/runtime': 1.8.1 + '@tybys/wasm-util': 0.10.1 optional: true - "@nodelib/fs.scandir@2.1.5": + '@nodelib/fs.scandir@2.1.5': dependencies: - "@nodelib/fs.stat": 2.0.5 + '@nodelib/fs.stat': 2.0.5 run-parallel: 1.2.0 - "@nodelib/fs.stat@2.0.5": {} + '@nodelib/fs.stat@2.0.5': {} - "@nodelib/fs.walk@1.2.8": + '@nodelib/fs.walk@1.2.8': dependencies: - "@nodelib/fs.scandir": 2.1.5 + '@nodelib/fs.scandir': 2.1.5 fastq: 1.15.0 - "@npmcli/agent@4.0.0": + '@npmcli/agent@4.0.0': dependencies: agent-base: 7.1.3 http-proxy-agent: 7.0.2 @@ -10447,19 +9038,19 @@ snapshots: transitivePeerDependencies: - supports-color - "@npmcli/arborist@9.1.6": - dependencies: - "@isaacs/string-locale-compare": 1.1.0 - "@npmcli/fs": 4.0.0 - "@npmcli/installed-package-contents": 3.0.0 - "@npmcli/map-workspaces": 5.0.3 - "@npmcli/metavuln-calculator": 9.0.3 - "@npmcli/name-from-folder": 3.0.0 - "@npmcli/node-gyp": 4.0.0 - "@npmcli/package-json": 7.0.2 - "@npmcli/query": 4.0.1 - "@npmcli/redact": 3.2.2 - "@npmcli/run-script": 10.0.3 + '@npmcli/arborist@9.1.6': + dependencies: + '@isaacs/string-locale-compare': 1.1.0 + '@npmcli/fs': 4.0.0 + '@npmcli/installed-package-contents': 3.0.0 + '@npmcli/map-workspaces': 5.0.3 + '@npmcli/metavuln-calculator': 9.0.3 + '@npmcli/name-from-folder': 3.0.0 + '@npmcli/node-gyp': 4.0.0 + '@npmcli/package-json': 7.0.2 + '@npmcli/query': 4.0.1 + '@npmcli/redact': 3.2.2 + '@npmcli/run-script': 10.0.3 bin-links: 5.0.0 cacache: 20.0.3 common-ancestor-path: 1.0.1 @@ -10485,17 +9076,17 @@ snapshots: transitivePeerDependencies: - supports-color - "@npmcli/fs@4.0.0": + '@npmcli/fs@4.0.0': dependencies: semver: 7.7.4 - "@npmcli/fs@5.0.0": + '@npmcli/fs@5.0.0': dependencies: semver: 7.7.4 - "@npmcli/git@6.0.3": + '@npmcli/git@6.0.3': dependencies: - "@npmcli/promise-spawn": 8.0.3 + '@npmcli/promise-spawn': 8.0.3 ini: 5.0.0 lru-cache: 10.4.3 npm-pick-manifest: 10.0.0 @@ -10504,9 +9095,9 @@ snapshots: semver: 7.7.4 which: 5.0.0 - "@npmcli/git@7.0.1": + '@npmcli/git@7.0.1': dependencies: - "@npmcli/promise-spawn": 9.0.1 + '@npmcli/promise-spawn': 9.0.1 ini: 6.0.0 lru-cache: 11.2.7 npm-pick-manifest: 11.0.3 @@ -10515,24 +9106,24 @@ snapshots: semver: 7.7.4 which: 6.0.0 - "@npmcli/installed-package-contents@3.0.0": + '@npmcli/installed-package-contents@3.0.0': dependencies: npm-bundled: 4.0.0 npm-normalize-package-bin: 4.0.0 - "@npmcli/installed-package-contents@4.0.0": + '@npmcli/installed-package-contents@4.0.0': dependencies: npm-bundled: 5.0.0 npm-normalize-package-bin: 5.0.0 - "@npmcli/map-workspaces@5.0.3": + '@npmcli/map-workspaces@5.0.3': dependencies: - "@npmcli/name-from-folder": 4.0.0 - "@npmcli/package-json": 7.0.2 + '@npmcli/name-from-folder': 4.0.0 + '@npmcli/package-json': 7.0.2 glob: 13.0.6 minimatch: 10.2.4 - "@npmcli/metavuln-calculator@9.0.3": + '@npmcli/metavuln-calculator@9.0.3': dependencies: cacache: 20.0.3 json-parse-even-better-errors: 5.0.0 @@ -10542,17 +9133,17 @@ snapshots: transitivePeerDependencies: - supports-color - "@npmcli/name-from-folder@3.0.0": {} + '@npmcli/name-from-folder@3.0.0': {} - "@npmcli/name-from-folder@4.0.0": {} + '@npmcli/name-from-folder@4.0.0': {} - "@npmcli/node-gyp@4.0.0": {} + '@npmcli/node-gyp@4.0.0': {} - "@npmcli/node-gyp@5.0.0": {} + '@npmcli/node-gyp@5.0.0': {} - "@npmcli/package-json@7.0.2": + '@npmcli/package-json@7.0.2': dependencies: - "@npmcli/git": 7.0.1 + '@npmcli/git': 7.0.1 glob: 11.1.0 hosted-git-info: 9.0.2 json-parse-even-better-errors: 5.0.0 @@ -10560,40 +9151,40 @@ snapshots: semver: 7.7.4 validate-npm-package-license: 3.0.4 - "@npmcli/promise-spawn@8.0.3": + '@npmcli/promise-spawn@8.0.3': dependencies: which: 5.0.0 - "@npmcli/promise-spawn@9.0.1": + '@npmcli/promise-spawn@9.0.1': dependencies: which: 6.0.0 - "@npmcli/query@4.0.1": + '@npmcli/query@4.0.1': dependencies: postcss-selector-parser: 7.1.1 - "@npmcli/redact@3.2.2": {} + '@npmcli/redact@3.2.2': {} - "@npmcli/run-script@10.0.3": + '@npmcli/run-script@10.0.3': dependencies: - "@npmcli/node-gyp": 5.0.0 - "@npmcli/package-json": 7.0.2 - "@npmcli/promise-spawn": 9.0.1 + '@npmcli/node-gyp': 5.0.0 + '@npmcli/package-json': 7.0.2 + '@npmcli/promise-spawn': 9.0.1 node-gyp: 12.2.0 proc-log: 6.1.0 which: 6.0.0 transitivePeerDependencies: - supports-color - "@nrwl/nx-cloud@19.1.0": + '@nrwl/nx-cloud@19.1.0': dependencies: nx-cloud: 19.1.0 transitivePeerDependencies: - debug - "@nx/devkit@22.3.3(nx@22.6.0(@swc/core@1.15.18))": + '@nx/devkit@22.3.3(nx@22.6.0(@swc/core@1.15.18))': dependencies: - "@zkochan/js-yaml": 0.0.7 + '@zkochan/js-yaml': 0.0.7 ejs: 3.1.9 enquirer: 2.3.6 minimatch: 9.0.3 @@ -10602,516 +9193,516 @@ snapshots: tslib: 2.8.1 yargs-parser: 21.1.1 - "@nx/nx-darwin-arm64@22.6.0": + '@nx/nx-darwin-arm64@22.6.0': optional: true - "@nx/nx-darwin-x64@22.6.0": + '@nx/nx-darwin-x64@22.6.0': optional: true - "@nx/nx-freebsd-x64@22.6.0": + '@nx/nx-freebsd-x64@22.6.0': optional: true - "@nx/nx-linux-arm-gnueabihf@22.6.0": + '@nx/nx-linux-arm-gnueabihf@22.6.0': optional: true - "@nx/nx-linux-arm64-gnu@22.6.0": + '@nx/nx-linux-arm64-gnu@22.6.0': optional: true - "@nx/nx-linux-arm64-musl@22.6.0": + '@nx/nx-linux-arm64-musl@22.6.0': optional: true - "@nx/nx-linux-x64-gnu@22.6.0": + '@nx/nx-linux-x64-gnu@22.6.0': optional: true - "@nx/nx-linux-x64-musl@22.6.0": + '@nx/nx-linux-x64-musl@22.6.0': optional: true - "@nx/nx-win32-arm64-msvc@22.6.0": + '@nx/nx-win32-arm64-msvc@22.6.0': optional: true - "@nx/nx-win32-x64-msvc@22.6.0": + '@nx/nx-win32-x64-msvc@22.6.0': optional: true - "@octokit/auth-token@4.0.0": {} + '@octokit/auth-token@4.0.0': {} - "@octokit/core@5.2.1": + '@octokit/core@5.2.1': dependencies: - "@octokit/auth-token": 4.0.0 - "@octokit/graphql": 7.1.1 - "@octokit/request": 8.4.1 - "@octokit/request-error": 5.1.1 - "@octokit/types": 13.10.0 + '@octokit/auth-token': 4.0.0 + '@octokit/graphql': 7.1.1 + '@octokit/request': 8.4.1 + '@octokit/request-error': 5.1.1 + '@octokit/types': 13.10.0 before-after-hook: 2.2.3 universal-user-agent: 6.0.0 - "@octokit/endpoint@9.0.6": + '@octokit/endpoint@9.0.6': dependencies: - "@octokit/types": 13.10.0 + '@octokit/types': 13.10.0 universal-user-agent: 6.0.0 - "@octokit/graphql@7.1.1": + '@octokit/graphql@7.1.1': dependencies: - "@octokit/request": 8.4.1 - "@octokit/types": 13.10.0 + '@octokit/request': 8.4.1 + '@octokit/types': 13.10.0 universal-user-agent: 6.0.0 - "@octokit/openapi-types@24.2.0": {} + '@octokit/openapi-types@24.2.0': {} - "@octokit/plugin-enterprise-rest@6.0.1": {} + '@octokit/plugin-enterprise-rest@6.0.1': {} - "@octokit/plugin-paginate-rest@11.4.4-cjs.2(@octokit/core@5.2.1)": + '@octokit/plugin-paginate-rest@11.4.4-cjs.2(@octokit/core@5.2.1)': dependencies: - "@octokit/core": 5.2.1 - "@octokit/types": 13.10.0 + '@octokit/core': 5.2.1 + '@octokit/types': 13.10.0 - "@octokit/plugin-request-log@4.0.1(@octokit/core@5.2.1)": + '@octokit/plugin-request-log@4.0.1(@octokit/core@5.2.1)': dependencies: - "@octokit/core": 5.2.1 + '@octokit/core': 5.2.1 - "@octokit/plugin-rest-endpoint-methods@13.3.2-cjs.1(@octokit/core@5.2.1)": + '@octokit/plugin-rest-endpoint-methods@13.3.2-cjs.1(@octokit/core@5.2.1)': dependencies: - "@octokit/core": 5.2.1 - "@octokit/types": 13.10.0 + '@octokit/core': 5.2.1 + '@octokit/types': 13.10.0 - "@octokit/request-error@5.1.1": + '@octokit/request-error@5.1.1': dependencies: - "@octokit/types": 13.10.0 + '@octokit/types': 13.10.0 deprecation: 2.3.1 once: 1.4.0 - "@octokit/request@8.4.1": + '@octokit/request@8.4.1': dependencies: - "@octokit/endpoint": 9.0.6 - "@octokit/request-error": 5.1.1 - "@octokit/types": 13.10.0 + '@octokit/endpoint': 9.0.6 + '@octokit/request-error': 5.1.1 + '@octokit/types': 13.10.0 universal-user-agent: 6.0.0 - "@octokit/rest@20.1.2": + '@octokit/rest@20.1.2': dependencies: - "@octokit/core": 5.2.1 - "@octokit/plugin-paginate-rest": 11.4.4-cjs.2(@octokit/core@5.2.1) - "@octokit/plugin-request-log": 4.0.1(@octokit/core@5.2.1) - "@octokit/plugin-rest-endpoint-methods": 13.3.2-cjs.1(@octokit/core@5.2.1) + '@octokit/core': 5.2.1 + '@octokit/plugin-paginate-rest': 11.4.4-cjs.2(@octokit/core@5.2.1) + '@octokit/plugin-request-log': 4.0.1(@octokit/core@5.2.1) + '@octokit/plugin-rest-endpoint-methods': 13.3.2-cjs.1(@octokit/core@5.2.1) - "@octokit/types@13.10.0": + '@octokit/types@13.10.0': dependencies: - "@octokit/openapi-types": 24.2.0 + '@octokit/openapi-types': 24.2.0 - "@oxc-minify/binding-android-arm-eabi@0.116.0": + '@oxc-minify/binding-android-arm-eabi@0.116.0': optional: true - "@oxc-minify/binding-android-arm64@0.116.0": + '@oxc-minify/binding-android-arm64@0.116.0': optional: true - "@oxc-minify/binding-darwin-arm64@0.116.0": + '@oxc-minify/binding-darwin-arm64@0.116.0': optional: true - "@oxc-minify/binding-darwin-x64@0.116.0": + '@oxc-minify/binding-darwin-x64@0.116.0': optional: true - "@oxc-minify/binding-freebsd-x64@0.116.0": + '@oxc-minify/binding-freebsd-x64@0.116.0': optional: true - "@oxc-minify/binding-linux-arm-gnueabihf@0.116.0": + '@oxc-minify/binding-linux-arm-gnueabihf@0.116.0': optional: true - "@oxc-minify/binding-linux-arm-musleabihf@0.116.0": + '@oxc-minify/binding-linux-arm-musleabihf@0.116.0': optional: true - "@oxc-minify/binding-linux-arm64-gnu@0.116.0": + '@oxc-minify/binding-linux-arm64-gnu@0.116.0': optional: true - "@oxc-minify/binding-linux-arm64-musl@0.116.0": + '@oxc-minify/binding-linux-arm64-musl@0.116.0': optional: true - "@oxc-minify/binding-linux-ppc64-gnu@0.116.0": + '@oxc-minify/binding-linux-ppc64-gnu@0.116.0': optional: true - "@oxc-minify/binding-linux-riscv64-gnu@0.116.0": + '@oxc-minify/binding-linux-riscv64-gnu@0.116.0': optional: true - "@oxc-minify/binding-linux-riscv64-musl@0.116.0": + '@oxc-minify/binding-linux-riscv64-musl@0.116.0': optional: true - "@oxc-minify/binding-linux-s390x-gnu@0.116.0": + '@oxc-minify/binding-linux-s390x-gnu@0.116.0': optional: true - "@oxc-minify/binding-linux-x64-gnu@0.116.0": + '@oxc-minify/binding-linux-x64-gnu@0.116.0': optional: true - "@oxc-minify/binding-linux-x64-musl@0.116.0": + '@oxc-minify/binding-linux-x64-musl@0.116.0': optional: true - "@oxc-minify/binding-openharmony-arm64@0.116.0": + '@oxc-minify/binding-openharmony-arm64@0.116.0': optional: true - "@oxc-minify/binding-wasm32-wasi@0.116.0": + '@oxc-minify/binding-wasm32-wasi@0.116.0': dependencies: - "@napi-rs/wasm-runtime": 1.1.1 + '@napi-rs/wasm-runtime': 1.1.1 optional: true - "@oxc-minify/binding-win32-arm64-msvc@0.116.0": + '@oxc-minify/binding-win32-arm64-msvc@0.116.0': optional: true - "@oxc-minify/binding-win32-ia32-msvc@0.116.0": + '@oxc-minify/binding-win32-ia32-msvc@0.116.0': optional: true - "@oxc-minify/binding-win32-x64-msvc@0.116.0": + '@oxc-minify/binding-win32-x64-msvc@0.116.0': optional: true - "@oxc-project/types@0.120.0": {} + '@oxc-project/types@0.120.0': {} - "@parcel/watcher-android-arm64@2.5.1": + '@parcel/watcher-android-arm64@2.5.1': optional: true - "@parcel/watcher-darwin-arm64@2.5.1": + '@parcel/watcher-darwin-arm64@2.5.1': optional: true - "@parcel/watcher-darwin-x64@2.5.1": + '@parcel/watcher-darwin-x64@2.5.1': optional: true - "@parcel/watcher-freebsd-x64@2.5.1": + '@parcel/watcher-freebsd-x64@2.5.1': optional: true - "@parcel/watcher-linux-arm-glibc@2.5.1": + '@parcel/watcher-linux-arm-glibc@2.5.1': optional: true - "@parcel/watcher-linux-arm-musl@2.5.1": + '@parcel/watcher-linux-arm-musl@2.5.1': optional: true - "@parcel/watcher-linux-arm64-glibc@2.5.1": + '@parcel/watcher-linux-arm64-glibc@2.5.1': optional: true - "@parcel/watcher-linux-arm64-musl@2.5.1": + '@parcel/watcher-linux-arm64-musl@2.5.1': optional: true - "@parcel/watcher-linux-x64-glibc@2.5.1": + '@parcel/watcher-linux-x64-glibc@2.5.1': optional: true - "@parcel/watcher-linux-x64-musl@2.5.1": + '@parcel/watcher-linux-x64-musl@2.5.1': optional: true - "@parcel/watcher-win32-arm64@2.5.1": + '@parcel/watcher-win32-arm64@2.5.1': optional: true - "@parcel/watcher-win32-ia32@2.5.1": + '@parcel/watcher-win32-ia32@2.5.1': optional: true - "@parcel/watcher-win32-x64@2.5.1": + '@parcel/watcher-win32-x64@2.5.1': optional: true - "@parcel/watcher@2.5.1": + '@parcel/watcher@2.5.1': dependencies: detect-libc: 1.0.3 is-glob: 4.0.3 micromatch: 4.0.5 node-addon-api: 7.1.1 optionalDependencies: - "@parcel/watcher-android-arm64": 2.5.1 - "@parcel/watcher-darwin-arm64": 2.5.1 - "@parcel/watcher-darwin-x64": 2.5.1 - "@parcel/watcher-freebsd-x64": 2.5.1 - "@parcel/watcher-linux-arm-glibc": 2.5.1 - "@parcel/watcher-linux-arm-musl": 2.5.1 - "@parcel/watcher-linux-arm64-glibc": 2.5.1 - "@parcel/watcher-linux-arm64-musl": 2.5.1 - "@parcel/watcher-linux-x64-glibc": 2.5.1 - "@parcel/watcher-linux-x64-musl": 2.5.1 - "@parcel/watcher-win32-arm64": 2.5.1 - "@parcel/watcher-win32-ia32": 2.5.1 - "@parcel/watcher-win32-x64": 2.5.1 + '@parcel/watcher-android-arm64': 2.5.1 + '@parcel/watcher-darwin-arm64': 2.5.1 + '@parcel/watcher-darwin-x64': 2.5.1 + '@parcel/watcher-freebsd-x64': 2.5.1 + '@parcel/watcher-linux-arm-glibc': 2.5.1 + '@parcel/watcher-linux-arm-musl': 2.5.1 + '@parcel/watcher-linux-arm64-glibc': 2.5.1 + '@parcel/watcher-linux-arm64-musl': 2.5.1 + '@parcel/watcher-linux-x64-glibc': 2.5.1 + '@parcel/watcher-linux-x64-musl': 2.5.1 + '@parcel/watcher-win32-arm64': 2.5.1 + '@parcel/watcher-win32-ia32': 2.5.1 + '@parcel/watcher-win32-x64': 2.5.1 optional: true - "@pkgjs/parseargs@0.11.0": + '@pkgjs/parseargs@0.11.0': optional: true - "@pkgr/core@0.2.9": {} + '@pkgr/core@0.2.9': {} - "@polka/url@1.0.0-next.25": {} + '@polka/url@1.0.0-next.25': {} - "@popperjs/core@2.11.8": {} + '@popperjs/core@2.11.8': {} - "@putout/minify@6.0.0": {} + '@putout/minify@6.0.0': {} - "@rolldown/binding-android-arm64@1.0.0-rc.10": + '@rolldown/binding-android-arm64@1.0.0-rc.10': optional: true - "@rolldown/binding-darwin-arm64@1.0.0-rc.10": + '@rolldown/binding-darwin-arm64@1.0.0-rc.10': optional: true - "@rolldown/binding-darwin-x64@1.0.0-rc.10": + '@rolldown/binding-darwin-x64@1.0.0-rc.10': optional: true - "@rolldown/binding-freebsd-x64@1.0.0-rc.10": + '@rolldown/binding-freebsd-x64@1.0.0-rc.10': optional: true - "@rolldown/binding-linux-arm-gnueabihf@1.0.0-rc.10": + '@rolldown/binding-linux-arm-gnueabihf@1.0.0-rc.10': optional: true - "@rolldown/binding-linux-arm64-gnu@1.0.0-rc.10": + '@rolldown/binding-linux-arm64-gnu@1.0.0-rc.10': optional: true - "@rolldown/binding-linux-arm64-musl@1.0.0-rc.10": + '@rolldown/binding-linux-arm64-musl@1.0.0-rc.10': optional: true - "@rolldown/binding-linux-ppc64-gnu@1.0.0-rc.10": + '@rolldown/binding-linux-ppc64-gnu@1.0.0-rc.10': optional: true - "@rolldown/binding-linux-s390x-gnu@1.0.0-rc.10": + '@rolldown/binding-linux-s390x-gnu@1.0.0-rc.10': optional: true - "@rolldown/binding-linux-x64-gnu@1.0.0-rc.10": + '@rolldown/binding-linux-x64-gnu@1.0.0-rc.10': optional: true - "@rolldown/binding-linux-x64-musl@1.0.0-rc.10": + '@rolldown/binding-linux-x64-musl@1.0.0-rc.10': optional: true - "@rolldown/binding-openharmony-arm64@1.0.0-rc.10": + '@rolldown/binding-openharmony-arm64@1.0.0-rc.10': optional: true - "@rolldown/binding-wasm32-wasi@1.0.0-rc.10": + '@rolldown/binding-wasm32-wasi@1.0.0-rc.10': dependencies: - "@napi-rs/wasm-runtime": 1.1.1 + '@napi-rs/wasm-runtime': 1.1.1 optional: true - "@rolldown/binding-win32-arm64-msvc@1.0.0-rc.10": + '@rolldown/binding-win32-arm64-msvc@1.0.0-rc.10': optional: true - "@rolldown/binding-win32-x64-msvc@1.0.0-rc.10": + '@rolldown/binding-win32-x64-msvc@1.0.0-rc.10': optional: true - "@rolldown/pluginutils@1.0.0-rc.10": {} + '@rolldown/pluginutils@1.0.0-rc.10': {} - "@rollup/rollup-android-arm-eabi@4.59.0": + '@rollup/rollup-android-arm-eabi@4.59.0': optional: true - "@rollup/rollup-android-arm64@4.59.0": + '@rollup/rollup-android-arm64@4.59.0': optional: true - "@rollup/rollup-darwin-arm64@4.59.0": + '@rollup/rollup-darwin-arm64@4.59.0': optional: true - "@rollup/rollup-darwin-x64@4.59.0": + '@rollup/rollup-darwin-x64@4.59.0': optional: true - "@rollup/rollup-freebsd-arm64@4.59.0": + '@rollup/rollup-freebsd-arm64@4.59.0': optional: true - "@rollup/rollup-freebsd-x64@4.59.0": + '@rollup/rollup-freebsd-x64@4.59.0': optional: true - "@rollup/rollup-linux-arm-gnueabihf@4.59.0": + '@rollup/rollup-linux-arm-gnueabihf@4.59.0': optional: true - "@rollup/rollup-linux-arm-musleabihf@4.59.0": + '@rollup/rollup-linux-arm-musleabihf@4.59.0': optional: true - "@rollup/rollup-linux-arm64-gnu@4.59.0": + '@rollup/rollup-linux-arm64-gnu@4.59.0': optional: true - "@rollup/rollup-linux-arm64-musl@4.59.0": + '@rollup/rollup-linux-arm64-musl@4.59.0': optional: true - "@rollup/rollup-linux-loong64-gnu@4.59.0": + '@rollup/rollup-linux-loong64-gnu@4.59.0': optional: true - "@rollup/rollup-linux-loong64-musl@4.59.0": + '@rollup/rollup-linux-loong64-musl@4.59.0': optional: true - "@rollup/rollup-linux-ppc64-gnu@4.59.0": + '@rollup/rollup-linux-ppc64-gnu@4.59.0': optional: true - "@rollup/rollup-linux-ppc64-musl@4.59.0": + '@rollup/rollup-linux-ppc64-musl@4.59.0': optional: true - "@rollup/rollup-linux-riscv64-gnu@4.59.0": + '@rollup/rollup-linux-riscv64-gnu@4.59.0': optional: true - "@rollup/rollup-linux-riscv64-musl@4.59.0": + '@rollup/rollup-linux-riscv64-musl@4.59.0': optional: true - "@rollup/rollup-linux-s390x-gnu@4.59.0": + '@rollup/rollup-linux-s390x-gnu@4.59.0': optional: true - "@rollup/rollup-linux-x64-gnu@4.59.0": + '@rollup/rollup-linux-x64-gnu@4.59.0': optional: true - "@rollup/rollup-linux-x64-musl@4.59.0": + '@rollup/rollup-linux-x64-musl@4.59.0': optional: true - "@rollup/rollup-openbsd-x64@4.59.0": + '@rollup/rollup-openbsd-x64@4.59.0': optional: true - "@rollup/rollup-openharmony-arm64@4.59.0": + '@rollup/rollup-openharmony-arm64@4.59.0': optional: true - "@rollup/rollup-win32-arm64-msvc@4.59.0": + '@rollup/rollup-win32-arm64-msvc@4.59.0': optional: true - "@rollup/rollup-win32-ia32-msvc@4.59.0": + '@rollup/rollup-win32-ia32-msvc@4.59.0': optional: true - "@rollup/rollup-win32-x64-gnu@4.59.0": + '@rollup/rollup-win32-x64-gnu@4.59.0': optional: true - "@rollup/rollup-win32-x64-msvc@4.59.0": + '@rollup/rollup-win32-x64-msvc@4.59.0': optional: true - "@shikijs/engine-oniguruma@3.20.0": + '@shikijs/engine-oniguruma@3.20.0': dependencies: - "@shikijs/types": 3.20.0 - "@shikijs/vscode-textmate": 10.0.2 + '@shikijs/types': 3.20.0 + '@shikijs/vscode-textmate': 10.0.2 - "@shikijs/langs@3.20.0": + '@shikijs/langs@3.20.0': dependencies: - "@shikijs/types": 3.20.0 + '@shikijs/types': 3.20.0 - "@shikijs/themes@3.20.0": + '@shikijs/themes@3.20.0': dependencies: - "@shikijs/types": 3.20.0 + '@shikijs/types': 3.20.0 - "@shikijs/types@3.20.0": + '@shikijs/types@3.20.0': dependencies: - "@shikijs/vscode-textmate": 10.0.2 - "@types/hast": 3.0.4 + '@shikijs/vscode-textmate': 10.0.2 + '@types/hast': 3.0.4 - "@shikijs/vscode-textmate@10.0.2": {} + '@shikijs/vscode-textmate@10.0.2': {} - "@sigstore/bundle@4.0.0": + '@sigstore/bundle@4.0.0': dependencies: - "@sigstore/protobuf-specs": 0.5.0 + '@sigstore/protobuf-specs': 0.5.0 - "@sigstore/core@3.1.0": {} + '@sigstore/core@3.1.0': {} - "@sigstore/protobuf-specs@0.5.0": {} + '@sigstore/protobuf-specs@0.5.0': {} - "@sigstore/sign@4.1.0": + '@sigstore/sign@4.1.0': dependencies: - "@sigstore/bundle": 4.0.0 - "@sigstore/core": 3.1.0 - "@sigstore/protobuf-specs": 0.5.0 + '@sigstore/bundle': 4.0.0 + '@sigstore/core': 3.1.0 + '@sigstore/protobuf-specs': 0.5.0 make-fetch-happen: 15.0.3 proc-log: 6.1.0 promise-retry: 2.0.1 transitivePeerDependencies: - supports-color - "@sigstore/tuf@4.0.1": + '@sigstore/tuf@4.0.1': dependencies: - "@sigstore/protobuf-specs": 0.5.0 + '@sigstore/protobuf-specs': 0.5.0 tuf-js: 4.1.0 transitivePeerDependencies: - supports-color - "@sigstore/verify@3.1.0": + '@sigstore/verify@3.1.0': dependencies: - "@sigstore/bundle": 4.0.0 - "@sigstore/core": 3.1.0 - "@sigstore/protobuf-specs": 0.5.0 + '@sigstore/bundle': 4.0.0 + '@sigstore/core': 3.1.0 + '@sigstore/protobuf-specs': 0.5.0 - "@simple-libs/child-process-utils@1.0.2": + '@simple-libs/child-process-utils@1.0.2': dependencies: - "@simple-libs/stream-utils": 1.2.0 + '@simple-libs/stream-utils': 1.2.0 - "@simple-libs/stream-utils@1.2.0": {} + '@simple-libs/stream-utils@1.2.0': {} - "@sinclair/typebox@0.34.41": {} + '@sinclair/typebox@0.34.41': {} - "@sindresorhus/base62@1.0.0": {} + '@sindresorhus/base62@1.0.0': {} - "@sindresorhus/is@4.6.0": {} + '@sindresorhus/is@4.6.0': {} - "@so-ric/colorspace@1.1.6": + '@so-ric/colorspace@1.1.6': dependencies: color: 5.0.3 text-hex: 1.0.0 - "@sphinxxxx/color-conversion@2.2.2": {} + '@sphinxxxx/color-conversion@2.2.2': {} - "@standard-schema/spec@1.1.0": {} + '@standard-schema/spec@1.1.0': {} - "@stylistic/eslint-plugin@5.10.0(eslint@10.0.3(jiti@2.6.1))": + '@stylistic/eslint-plugin@5.10.0(eslint@10.0.3(jiti@2.6.1))': dependencies: - "@eslint-community/eslint-utils": 4.9.1(eslint@10.0.3(jiti@2.6.1)) - "@typescript-eslint/types": 8.57.0 + '@eslint-community/eslint-utils': 4.9.1(eslint@10.0.3(jiti@2.6.1)) + '@typescript-eslint/types': 8.57.0 eslint: 10.0.3(jiti@2.6.1) eslint-visitor-keys: 4.2.1 espree: 10.4.0 estraverse: 5.3.0 picomatch: 4.0.3 - "@swc/core-darwin-arm64@1.15.18": + '@swc/core-darwin-arm64@1.15.18': optional: true - "@swc/core-darwin-x64@1.15.18": + '@swc/core-darwin-x64@1.15.18': optional: true - "@swc/core-linux-arm-gnueabihf@1.15.18": + '@swc/core-linux-arm-gnueabihf@1.15.18': optional: true - "@swc/core-linux-arm64-gnu@1.15.18": + '@swc/core-linux-arm64-gnu@1.15.18': optional: true - "@swc/core-linux-arm64-musl@1.15.18": + '@swc/core-linux-arm64-musl@1.15.18': optional: true - "@swc/core-linux-x64-gnu@1.15.18": + '@swc/core-linux-x64-gnu@1.15.18': optional: true - "@swc/core-linux-x64-musl@1.15.18": + '@swc/core-linux-x64-musl@1.15.18': optional: true - "@swc/core-win32-arm64-msvc@1.15.18": + '@swc/core-win32-arm64-msvc@1.15.18': optional: true - "@swc/core-win32-ia32-msvc@1.15.18": + '@swc/core-win32-ia32-msvc@1.15.18': optional: true - "@swc/core-win32-x64-msvc@1.15.18": + '@swc/core-win32-x64-msvc@1.15.18': optional: true - "@swc/core@1.15.18": + '@swc/core@1.15.18': dependencies: - "@swc/counter": 0.1.3 - "@swc/types": 0.1.25 + '@swc/counter': 0.1.3 + '@swc/types': 0.1.25 optionalDependencies: - "@swc/core-darwin-arm64": 1.15.18 - "@swc/core-darwin-x64": 1.15.18 - "@swc/core-linux-arm-gnueabihf": 1.15.18 - "@swc/core-linux-arm64-gnu": 1.15.18 - "@swc/core-linux-arm64-musl": 1.15.18 - "@swc/core-linux-x64-gnu": 1.15.18 - "@swc/core-linux-x64-musl": 1.15.18 - "@swc/core-win32-arm64-msvc": 1.15.18 - "@swc/core-win32-ia32-msvc": 1.15.18 - "@swc/core-win32-x64-msvc": 1.15.18 + '@swc/core-darwin-arm64': 1.15.18 + '@swc/core-darwin-x64': 1.15.18 + '@swc/core-linux-arm-gnueabihf': 1.15.18 + '@swc/core-linux-arm64-gnu': 1.15.18 + '@swc/core-linux-arm64-musl': 1.15.18 + '@swc/core-linux-x64-gnu': 1.15.18 + '@swc/core-linux-x64-musl': 1.15.18 + '@swc/core-win32-arm64-msvc': 1.15.18 + '@swc/core-win32-ia32-msvc': 1.15.18 + '@swc/core-win32-x64-msvc': 1.15.18 - "@swc/counter@0.1.3": {} + '@swc/counter@0.1.3': {} - "@swc/types@0.1.25": + '@swc/types@0.1.25': dependencies: - "@swc/counter": 0.1.3 + '@swc/counter': 0.1.3 - "@szmarczak/http-timer@4.0.6": + '@szmarczak/http-timer@4.0.6': dependencies: defer-to-connect: 2.0.1 - "@tsconfig/node10@1.0.9": {} + '@tsconfig/node10@1.0.9': {} - "@tsconfig/node12@1.0.11": {} + '@tsconfig/node12@1.0.11': {} - "@tsconfig/node14@1.0.3": {} + '@tsconfig/node14@1.0.3': {} - "@tsconfig/node16@1.0.4": {} + '@tsconfig/node16@1.0.4': {} - "@tsparticles/cli@3.3.8(@types/eslint@8.56.6)(esbuild@0.27.2)(jiti@2.6.1)(webpack-cli@7.0.2)": + '@tsparticles/cli@3.3.8(@types/eslint@8.56.6)(esbuild@0.27.2)(jiti@2.6.1)(webpack-cli@7.0.2)': dependencies: - "@swc/core": 1.15.18 - "@tsparticles/depcruise-config": 3.3.5(dependency-cruiser@17.3.9) - "@tsparticles/eslint-config": 3.3.5(@types/eslint@8.56.6)(eslint@10.0.3(jiti@2.6.1)) - "@tsparticles/prettier-config": 3.3.5(prettier@3.8.1) - "@tsparticles/tsconfig": 3.3.5(typescript@5.9.3) - "@tsparticles/webpack-plugin": 3.3.5(@types/eslint@8.56.6)(esbuild@0.27.2)(jiti@2.6.1) + '@swc/core': 1.15.18 + '@tsparticles/depcruise-config': 3.3.5(dependency-cruiser@17.3.9) + '@tsparticles/eslint-config': 3.3.5(@types/eslint@8.56.6)(eslint@10.0.3(jiti@2.6.1)) + '@tsparticles/prettier-config': 3.3.5(prettier@3.8.1) + '@tsparticles/tsconfig': 3.3.5(typescript@5.9.3) + '@tsparticles/webpack-plugin': 3.3.5(@types/eslint@8.56.6)(esbuild@0.27.2)(jiti@2.6.1) commander: 14.0.3 dependency-cruiser: 17.3.9 eslint: 10.0.3(jiti@2.6.1) @@ -11131,8 +9722,8 @@ snapshots: typescript-eslint: 8.57.1(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3) webpack: 5.105.4(@swc/core@1.15.18)(esbuild@0.27.2)(webpack-cli@7.0.2) transitivePeerDependencies: - - "@swc/helpers" - - "@types/eslint" + - '@swc/helpers' + - '@types/eslint' - bufferutil - esbuild - jiti @@ -11142,15 +9733,15 @@ snapshots: - webpack-cli - webpack-dev-server - "@tsparticles/depcruise-config@3.3.5(dependency-cruiser@17.3.9)": + '@tsparticles/depcruise-config@3.3.5(dependency-cruiser@17.3.9)': dependencies: dependency-cruiser: 17.3.9 - "@tsparticles/eslint-config@3.3.5(@types/eslint@8.56.6)(eslint@10.0.3(jiti@2.6.1))": + '@tsparticles/eslint-config@3.3.5(@types/eslint@8.56.6)(eslint@10.0.3(jiti@2.6.1))': dependencies: - "@eslint/js": 10.0.1(eslint@10.0.3(jiti@2.6.1)) - "@stylistic/eslint-plugin": 5.10.0(eslint@10.0.3(jiti@2.6.1)) - "@tsparticles/prettier-config": 3.3.5(prettier@3.8.1) + '@eslint/js': 10.0.1(eslint@10.0.3(jiti@2.6.1)) + '@stylistic/eslint-plugin': 5.10.0(eslint@10.0.3(jiti@2.6.1)) + '@tsparticles/prettier-config': 3.3.5(prettier@3.8.1) eslint: 10.0.3(jiti@2.6.1) eslint-config-prettier: 10.1.8(eslint@10.0.3(jiti@2.6.1)) eslint-plugin-jsdoc: 62.8.0(eslint@10.0.3(jiti@2.6.1)) @@ -11162,24 +9753,24 @@ snapshots: typescript: 5.9.3 typescript-eslint: 8.57.1(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3) transitivePeerDependencies: - - "@types/eslint" + - '@types/eslint' - supports-color - "@tsparticles/prettier-config@3.3.5(prettier@3.8.1)": + '@tsparticles/prettier-config@3.3.5(prettier@3.8.1)': dependencies: prettier: 3.8.1 prettier-plugin-multiline-arrays: 4.1.5(prettier@3.8.1) - "@tsparticles/tsconfig@3.3.5(typescript@5.9.3)": + '@tsparticles/tsconfig@3.3.5(typescript@5.9.3)': dependencies: typescript: 5.9.3 - "@tsparticles/webpack-plugin@3.3.5(@types/eslint@8.56.6)(esbuild@0.27.2)(jiti@2.6.1)": + '@tsparticles/webpack-plugin@3.3.5(@types/eslint@8.56.6)(esbuild@0.27.2)(jiti@2.6.1)': dependencies: - "@stylistic/eslint-plugin": 5.10.0(eslint@10.0.3(jiti@2.6.1)) - "@swc/core": 1.15.18 - "@tsparticles/eslint-config": 3.3.5(@types/eslint@8.56.6)(eslint@10.0.3(jiti@2.6.1)) - "@tsparticles/prettier-config": 3.3.5(prettier@3.8.1) + '@stylistic/eslint-plugin': 5.10.0(eslint@10.0.3(jiti@2.6.1)) + '@swc/core': 1.15.18 + '@tsparticles/eslint-config': 3.3.5(@types/eslint@8.56.6)(eslint@10.0.3(jiti@2.6.1)) + '@tsparticles/prettier-config': 3.3.5(prettier@3.8.1) browserslist: 4.28.1 eslint: 10.0.3(jiti@2.6.1) eslint-config-prettier: 10.1.8(eslint@10.0.3(jiti@2.6.1)) @@ -11195,8 +9786,8 @@ snapshots: webpack-bundle-analyzer: 5.2.0 webpack-cli: 7.0.2(webpack-bundle-analyzer@5.2.0)(webpack@5.105.4) transitivePeerDependencies: - - "@swc/helpers" - - "@types/eslint" + - '@swc/helpers' + - '@types/eslint' - bufferutil - esbuild - jiti @@ -11205,167 +9796,167 @@ snapshots: - utf-8-validate - webpack-dev-server - "@tufjs/canonical-json@2.0.0": {} + '@tufjs/canonical-json@2.0.0': {} - "@tufjs/models@4.1.0": + '@tufjs/models@4.1.0': dependencies: - "@tufjs/canonical-json": 2.0.0 + '@tufjs/canonical-json': 2.0.0 minimatch: 10.2.4 - "@tybys/wasm-util@0.10.1": + '@tybys/wasm-util@0.10.1': dependencies: tslib: 2.8.1 optional: true - "@tybys/wasm-util@0.9.0": + '@tybys/wasm-util@0.9.0': dependencies: tslib: 2.8.1 - "@types/body-parser@1.19.2": + '@types/body-parser@1.19.2': dependencies: - "@types/connect": 3.4.35 - "@types/node": 25.5.0 + '@types/connect': 3.4.35 + '@types/node': 25.5.0 - "@types/cacheable-request@6.0.3": + '@types/cacheable-request@6.0.3': dependencies: - "@types/http-cache-semantics": 4.0.4 - "@types/keyv": 3.1.4 - "@types/node": 25.5.0 - "@types/responselike": 1.0.3 + '@types/http-cache-semantics': 4.0.4 + '@types/keyv': 3.1.4 + '@types/node': 24.10.9 + '@types/responselike': 1.0.3 - "@types/chai@5.2.2": + '@types/chai@5.2.2': dependencies: - "@types/deep-eql": 4.0.2 + '@types/deep-eql': 4.0.2 - "@types/connect-livereload@0.6.3": + '@types/connect-livereload@0.6.3': dependencies: - "@types/connect": 3.4.35 + '@types/connect': 3.4.35 - "@types/connect@3.4.35": + '@types/connect@3.4.35': dependencies: - "@types/node": 25.5.0 + '@types/node': 25.5.0 - "@types/deep-eql@4.0.2": {} + '@types/deep-eql@4.0.2': {} - "@types/eslint-scope@3.7.7": + '@types/eslint-scope@3.7.7': dependencies: - "@types/eslint": 8.56.6 - "@types/estree": 1.0.8 + '@types/eslint': 8.56.6 + '@types/estree': 1.0.8 - "@types/eslint@8.56.6": + '@types/eslint@8.56.6': dependencies: - "@types/estree": 1.0.8 - "@types/json-schema": 7.0.15 + '@types/estree': 1.0.8 + '@types/json-schema': 7.0.15 - "@types/esrecurse@4.3.1": {} + '@types/esrecurse@4.3.1': {} - "@types/estree@1.0.8": {} + '@types/estree@1.0.8': {} - "@types/express-serve-static-core@5.0.0": + '@types/express-serve-static-core@5.0.0': dependencies: - "@types/node": 25.5.0 - "@types/qs": 6.9.7 - "@types/range-parser": 1.2.4 - "@types/send": 0.17.1 + '@types/node': 25.5.0 + '@types/qs': 6.9.7 + '@types/range-parser': 1.2.4 + '@types/send': 0.17.1 - "@types/express@5.0.6": + '@types/express@5.0.6': dependencies: - "@types/body-parser": 1.19.2 - "@types/express-serve-static-core": 5.0.0 - "@types/serve-static": 2.2.0 + '@types/body-parser': 1.19.2 + '@types/express-serve-static-core': 5.0.0 + '@types/serve-static': 2.2.0 - "@types/hast@3.0.4": + '@types/hast@3.0.4': dependencies: - "@types/unist": 3.0.3 + '@types/unist': 3.0.3 - "@types/http-cache-semantics@4.0.4": {} + '@types/http-cache-semantics@4.0.4': {} - "@types/http-errors@2.0.5": {} + '@types/http-errors@2.0.5': {} - "@types/jsdom@28.0.0": + '@types/jsdom@28.0.1': dependencies: - "@types/node": 25.5.0 - "@types/tough-cookie": 4.0.2 - parse5: 7.2.1 - undici-types: 7.22.0 + '@types/node': 25.5.0 + '@types/tough-cookie': 4.0.5 + parse5: 7.3.0 + undici-types: 7.24.5 - "@types/json-schema@7.0.15": {} + '@types/json-schema@7.0.15': {} - "@types/keyv@3.1.4": + '@types/keyv@3.1.4': dependencies: - "@types/node": 25.5.0 + '@types/node': 24.10.9 - "@types/livereload@0.9.5": + '@types/livereload@0.9.5': dependencies: - "@types/ws": 8.5.4 + '@types/ws': 8.5.4 - "@types/luxon@3.7.1": {} + '@types/luxon@3.7.1': {} - "@types/mime@1.3.2": {} + '@types/mime@1.3.2': {} - "@types/minimist@1.2.2": {} + '@types/minimist@1.2.2': {} - "@types/node@18.19.45": + '@types/node@18.19.45': dependencies: undici-types: 5.26.5 - "@types/node@24.10.9": + '@types/node@24.10.9': dependencies: undici-types: 7.16.0 - "@types/node@25.5.0": + '@types/node@25.5.0': dependencies: undici-types: 7.18.2 - "@types/normalize-package-data@2.4.1": {} + '@types/normalize-package-data@2.4.1': {} - "@types/qs@6.9.7": {} + '@types/qs@6.9.7': {} - "@types/range-parser@1.2.4": {} + '@types/range-parser@1.2.4': {} - "@types/responselike@1.0.3": + '@types/responselike@1.0.3': dependencies: - "@types/node": 25.5.0 + '@types/node': 24.10.9 - "@types/send@0.17.1": + '@types/send@0.17.1': dependencies: - "@types/mime": 1.3.2 - "@types/node": 25.5.0 + '@types/mime': 1.3.2 + '@types/node': 25.5.0 - "@types/serve-static@2.2.0": + '@types/serve-static@2.2.0': dependencies: - "@types/http-errors": 2.0.5 - "@types/node": 25.5.0 + '@types/http-errors': 2.0.5 + '@types/node': 25.5.0 - "@types/stylus@0.48.43": + '@types/stylus@0.48.43': dependencies: - "@types/node": 25.5.0 + '@types/node': 25.5.0 - "@types/tough-cookie@4.0.2": {} + '@types/tough-cookie@4.0.5': {} - "@types/triple-beam@1.3.2": {} + '@types/triple-beam@1.3.2': {} - "@types/unist@3.0.3": {} + '@types/unist@3.0.3': {} - "@types/webpack-env@1.18.8": {} + '@types/webpack-env@1.18.8': {} - "@types/ws@8.5.4": + '@types/ws@8.5.4': dependencies: - "@types/node": 25.5.0 + '@types/node': 25.5.0 - "@types/yauzl@2.10.3": + '@types/yauzl@2.10.3': dependencies: - "@types/node": 25.5.0 + '@types/node': 24.10.9 optional: true - "@typescript-eslint/eslint-plugin@8.57.1(@typescript-eslint/parser@8.57.1(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3))(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3)": + '@typescript-eslint/eslint-plugin@8.57.1(@typescript-eslint/parser@8.57.1(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3))(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3)': dependencies: - "@eslint-community/regexpp": 4.12.2 - "@typescript-eslint/parser": 8.57.1(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3) - "@typescript-eslint/scope-manager": 8.57.1 - "@typescript-eslint/type-utils": 8.57.1(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3) - "@typescript-eslint/utils": 8.57.1(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3) - "@typescript-eslint/visitor-keys": 8.57.1 + '@eslint-community/regexpp': 4.12.2 + '@typescript-eslint/parser': 8.57.1(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/scope-manager': 8.57.1 + '@typescript-eslint/type-utils': 8.57.1(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/utils': 8.57.1(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/visitor-keys': 8.57.1 eslint: 10.0.3(jiti@2.6.1) ignore: 7.0.5 natural-compare: 1.4.0 @@ -11374,59 +9965,59 @@ snapshots: transitivePeerDependencies: - supports-color - "@typescript-eslint/parser@8.57.1(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3)": + '@typescript-eslint/parser@8.57.1(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3)': dependencies: - "@typescript-eslint/scope-manager": 8.57.1 - "@typescript-eslint/types": 8.57.1 - "@typescript-eslint/typescript-estree": 8.57.1(typescript@5.9.3) - "@typescript-eslint/visitor-keys": 8.57.1 + '@typescript-eslint/scope-manager': 8.57.1 + '@typescript-eslint/types': 8.57.1 + '@typescript-eslint/typescript-estree': 8.57.1(typescript@5.9.3) + '@typescript-eslint/visitor-keys': 8.57.1 debug: 4.4.3(supports-color@5.5.0) eslint: 10.0.3(jiti@2.6.1) typescript: 5.9.3 transitivePeerDependencies: - supports-color - "@typescript-eslint/project-service@8.56.1(typescript@5.9.3)": + '@typescript-eslint/project-service@8.56.1(typescript@5.9.3)': dependencies: - "@typescript-eslint/tsconfig-utils": 8.56.1(typescript@5.9.3) - "@typescript-eslint/types": 8.56.1 + '@typescript-eslint/tsconfig-utils': 8.56.1(typescript@5.9.3) + '@typescript-eslint/types': 8.56.1 debug: 4.4.3(supports-color@5.5.0) typescript: 5.9.3 transitivePeerDependencies: - supports-color - "@typescript-eslint/project-service@8.57.1(typescript@5.9.3)": + '@typescript-eslint/project-service@8.57.1(typescript@5.9.3)': dependencies: - "@typescript-eslint/tsconfig-utils": 8.57.1(typescript@5.9.3) - "@typescript-eslint/types": 8.57.1 + '@typescript-eslint/tsconfig-utils': 8.57.1(typescript@5.9.3) + '@typescript-eslint/types': 8.57.1 debug: 4.4.3(supports-color@5.5.0) typescript: 5.9.3 transitivePeerDependencies: - supports-color - "@typescript-eslint/scope-manager@8.56.1": + '@typescript-eslint/scope-manager@8.56.1': dependencies: - "@typescript-eslint/types": 8.56.1 - "@typescript-eslint/visitor-keys": 8.56.1 + '@typescript-eslint/types': 8.56.1 + '@typescript-eslint/visitor-keys': 8.56.1 - "@typescript-eslint/scope-manager@8.57.1": + '@typescript-eslint/scope-manager@8.57.1': dependencies: - "@typescript-eslint/types": 8.57.1 - "@typescript-eslint/visitor-keys": 8.57.1 + '@typescript-eslint/types': 8.57.1 + '@typescript-eslint/visitor-keys': 8.57.1 - "@typescript-eslint/tsconfig-utils@8.56.1(typescript@5.9.3)": + '@typescript-eslint/tsconfig-utils@8.56.1(typescript@5.9.3)': dependencies: typescript: 5.9.3 - "@typescript-eslint/tsconfig-utils@8.57.1(typescript@5.9.3)": + '@typescript-eslint/tsconfig-utils@8.57.1(typescript@5.9.3)': dependencies: typescript: 5.9.3 - "@typescript-eslint/type-utils@8.57.1(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3)": + '@typescript-eslint/type-utils@8.57.1(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3)': dependencies: - "@typescript-eslint/types": 8.57.1 - "@typescript-eslint/typescript-estree": 8.57.1(typescript@5.9.3) - "@typescript-eslint/utils": 8.57.1(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/types': 8.57.1 + '@typescript-eslint/typescript-estree': 8.57.1(typescript@5.9.3) + '@typescript-eslint/utils': 8.57.1(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3) debug: 4.4.3(supports-color@5.5.0) eslint: 10.0.3(jiti@2.6.1) ts-api-utils: 2.4.0(typescript@5.9.3) @@ -11434,18 +10025,18 @@ snapshots: transitivePeerDependencies: - supports-color - "@typescript-eslint/types@8.56.1": {} + '@typescript-eslint/types@8.56.1': {} - "@typescript-eslint/types@8.57.0": {} + '@typescript-eslint/types@8.57.0': {} - "@typescript-eslint/types@8.57.1": {} + '@typescript-eslint/types@8.57.1': {} - "@typescript-eslint/typescript-estree@8.56.1(typescript@5.9.3)": + '@typescript-eslint/typescript-estree@8.56.1(typescript@5.9.3)': dependencies: - "@typescript-eslint/project-service": 8.56.1(typescript@5.9.3) - "@typescript-eslint/tsconfig-utils": 8.56.1(typescript@5.9.3) - "@typescript-eslint/types": 8.56.1 - "@typescript-eslint/visitor-keys": 8.56.1 + '@typescript-eslint/project-service': 8.56.1(typescript@5.9.3) + '@typescript-eslint/tsconfig-utils': 8.56.1(typescript@5.9.3) + '@typescript-eslint/types': 8.56.1 + '@typescript-eslint/visitor-keys': 8.56.1 debug: 4.4.3(supports-color@5.5.0) minimatch: 10.2.2 semver: 7.7.4 @@ -11455,12 +10046,12 @@ snapshots: transitivePeerDependencies: - supports-color - "@typescript-eslint/typescript-estree@8.57.1(typescript@5.9.3)": + '@typescript-eslint/typescript-estree@8.57.1(typescript@5.9.3)': dependencies: - "@typescript-eslint/project-service": 8.57.1(typescript@5.9.3) - "@typescript-eslint/tsconfig-utils": 8.57.1(typescript@5.9.3) - "@typescript-eslint/types": 8.57.1 - "@typescript-eslint/visitor-keys": 8.57.1 + '@typescript-eslint/project-service': 8.57.1(typescript@5.9.3) + '@typescript-eslint/tsconfig-utils': 8.57.1(typescript@5.9.3) + '@typescript-eslint/types': 8.57.1 + '@typescript-eslint/visitor-keys': 8.57.1 debug: 4.4.3(supports-color@5.5.0) minimatch: 10.2.4 semver: 7.7.4 @@ -11470,42 +10061,42 @@ snapshots: transitivePeerDependencies: - supports-color - "@typescript-eslint/utils@8.56.1(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3)": + '@typescript-eslint/utils@8.56.1(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3)': dependencies: - "@eslint-community/eslint-utils": 4.9.1(eslint@10.0.3(jiti@2.6.1)) - "@typescript-eslint/scope-manager": 8.56.1 - "@typescript-eslint/types": 8.56.1 - "@typescript-eslint/typescript-estree": 8.56.1(typescript@5.9.3) + '@eslint-community/eslint-utils': 4.9.1(eslint@10.0.3(jiti@2.6.1)) + '@typescript-eslint/scope-manager': 8.56.1 + '@typescript-eslint/types': 8.56.1 + '@typescript-eslint/typescript-estree': 8.56.1(typescript@5.9.3) eslint: 10.0.3(jiti@2.6.1) typescript: 5.9.3 transitivePeerDependencies: - supports-color - "@typescript-eslint/utils@8.57.1(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3)": + '@typescript-eslint/utils@8.57.1(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3)': dependencies: - "@eslint-community/eslint-utils": 4.9.1(eslint@10.0.3(jiti@2.6.1)) - "@typescript-eslint/scope-manager": 8.57.1 - "@typescript-eslint/types": 8.57.1 - "@typescript-eslint/typescript-estree": 8.57.1(typescript@5.9.3) + '@eslint-community/eslint-utils': 4.9.1(eslint@10.0.3(jiti@2.6.1)) + '@typescript-eslint/scope-manager': 8.57.1 + '@typescript-eslint/types': 8.57.1 + '@typescript-eslint/typescript-estree': 8.57.1(typescript@5.9.3) eslint: 10.0.3(jiti@2.6.1) typescript: 5.9.3 transitivePeerDependencies: - supports-color - "@typescript-eslint/visitor-keys@8.56.1": + '@typescript-eslint/visitor-keys@8.56.1': dependencies: - "@typescript-eslint/types": 8.56.1 + '@typescript-eslint/types': 8.56.1 eslint-visitor-keys: 5.0.0 - "@typescript-eslint/visitor-keys@8.57.1": + '@typescript-eslint/visitor-keys@8.57.1': dependencies: - "@typescript-eslint/types": 8.57.1 + '@typescript-eslint/types': 8.57.1 eslint-visitor-keys: 5.0.1 - "@vitest/coverage-v8@4.1.0(vitest@4.1.0)": + '@vitest/coverage-v8@4.1.0(vitest@4.1.0)': dependencies: - "@bcoe/v8-coverage": 1.0.2 - "@vitest/utils": 4.1.0 + '@bcoe/v8-coverage': 1.0.2 + '@vitest/utils': 4.1.0 ast-v8-to-istanbul: 1.0.0 istanbul-lib-coverage: 3.2.2 istanbul-lib-report: 3.0.1 @@ -11516,44 +10107,44 @@ snapshots: tinyrainbow: 3.0.3 vitest: 4.1.0(@types/node@25.5.0)(@vitest/ui@4.1.0)(jsdom@29.0.0(canvas@3.2.1))(vite@8.0.1(@types/node@25.5.0)(esbuild@0.27.2)(jiti@2.6.1)(sass@1.98.0)(stylus@0.64.0)(terser@5.46.0)(yaml@2.8.1)) - "@vitest/expect@4.1.0": + '@vitest/expect@4.1.0': dependencies: - "@standard-schema/spec": 1.1.0 - "@types/chai": 5.2.2 - "@vitest/spy": 4.1.0 - "@vitest/utils": 4.1.0 + '@standard-schema/spec': 1.1.0 + '@types/chai': 5.2.2 + '@vitest/spy': 4.1.0 + '@vitest/utils': 4.1.0 chai: 6.2.2 tinyrainbow: 3.0.3 - "@vitest/mocker@4.1.0(vite@8.0.1(@types/node@25.5.0)(esbuild@0.27.2)(jiti@2.6.1)(sass@1.98.0)(stylus@0.64.0)(terser@5.46.0)(yaml@2.8.1))": + '@vitest/mocker@4.1.0(vite@8.0.1(@types/node@25.5.0)(esbuild@0.27.2)(jiti@2.6.1)(sass@1.98.0)(stylus@0.64.0)(terser@5.46.0)(yaml@2.8.1))': dependencies: - "@vitest/spy": 4.1.0 + '@vitest/spy': 4.1.0 estree-walker: 3.0.3 magic-string: 0.30.21 optionalDependencies: vite: 8.0.1(@types/node@25.5.0)(esbuild@0.27.2)(jiti@2.6.1)(sass@1.98.0)(stylus@0.64.0)(terser@5.46.0)(yaml@2.8.1) - "@vitest/pretty-format@4.1.0": + '@vitest/pretty-format@4.1.0': dependencies: tinyrainbow: 3.0.3 - "@vitest/runner@4.1.0": + '@vitest/runner@4.1.0': dependencies: - "@vitest/utils": 4.1.0 + '@vitest/utils': 4.1.0 pathe: 2.0.3 - "@vitest/snapshot@4.1.0": + '@vitest/snapshot@4.1.0': dependencies: - "@vitest/pretty-format": 4.1.0 - "@vitest/utils": 4.1.0 + '@vitest/pretty-format': 4.1.0 + '@vitest/utils': 4.1.0 magic-string: 0.30.21 pathe: 2.0.3 - "@vitest/spy@4.1.0": {} + '@vitest/spy@4.1.0': {} - "@vitest/ui@4.1.0(vitest@4.1.0)": + '@vitest/ui@4.1.0(vitest@4.1.0)': dependencies: - "@vitest/utils": 4.1.0 + '@vitest/utils': 4.1.0 fflate: 0.8.2 flatted: 3.4.0 pathe: 2.0.3 @@ -11562,100 +10153,100 @@ snapshots: tinyrainbow: 3.0.3 vitest: 4.1.0(@types/node@25.5.0)(@vitest/ui@4.1.0)(jsdom@29.0.0(canvas@3.2.1))(vite@8.0.1(@types/node@25.5.0)(esbuild@0.27.2)(jiti@2.6.1)(sass@1.98.0)(stylus@0.64.0)(terser@5.46.0)(yaml@2.8.1)) - "@vitest/utils@4.1.0": + '@vitest/utils@4.1.0': dependencies: - "@vitest/pretty-format": 4.1.0 + '@vitest/pretty-format': 4.1.0 convert-source-map: 2.0.0 tinyrainbow: 3.0.3 - "@webassemblyjs/ast@1.14.1": + '@webassemblyjs/ast@1.14.1': dependencies: - "@webassemblyjs/helper-numbers": 1.13.2 - "@webassemblyjs/helper-wasm-bytecode": 1.13.2 + '@webassemblyjs/helper-numbers': 1.13.2 + '@webassemblyjs/helper-wasm-bytecode': 1.13.2 - "@webassemblyjs/floating-point-hex-parser@1.13.2": {} + '@webassemblyjs/floating-point-hex-parser@1.13.2': {} - "@webassemblyjs/helper-api-error@1.13.2": {} + '@webassemblyjs/helper-api-error@1.13.2': {} - "@webassemblyjs/helper-buffer@1.14.1": {} + '@webassemblyjs/helper-buffer@1.14.1': {} - "@webassemblyjs/helper-numbers@1.13.2": + '@webassemblyjs/helper-numbers@1.13.2': dependencies: - "@webassemblyjs/floating-point-hex-parser": 1.13.2 - "@webassemblyjs/helper-api-error": 1.13.2 - "@xtuc/long": 4.2.2 + '@webassemblyjs/floating-point-hex-parser': 1.13.2 + '@webassemblyjs/helper-api-error': 1.13.2 + '@xtuc/long': 4.2.2 - "@webassemblyjs/helper-wasm-bytecode@1.13.2": {} + '@webassemblyjs/helper-wasm-bytecode@1.13.2': {} - "@webassemblyjs/helper-wasm-section@1.14.1": + '@webassemblyjs/helper-wasm-section@1.14.1': dependencies: - "@webassemblyjs/ast": 1.14.1 - "@webassemblyjs/helper-buffer": 1.14.1 - "@webassemblyjs/helper-wasm-bytecode": 1.13.2 - "@webassemblyjs/wasm-gen": 1.14.1 + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/helper-buffer': 1.14.1 + '@webassemblyjs/helper-wasm-bytecode': 1.13.2 + '@webassemblyjs/wasm-gen': 1.14.1 - "@webassemblyjs/ieee754@1.13.2": + '@webassemblyjs/ieee754@1.13.2': dependencies: - "@xtuc/ieee754": 1.2.0 + '@xtuc/ieee754': 1.2.0 - "@webassemblyjs/leb128@1.13.2": + '@webassemblyjs/leb128@1.13.2': dependencies: - "@xtuc/long": 4.2.2 + '@xtuc/long': 4.2.2 - "@webassemblyjs/utf8@1.13.2": {} + '@webassemblyjs/utf8@1.13.2': {} - "@webassemblyjs/wasm-edit@1.14.1": + '@webassemblyjs/wasm-edit@1.14.1': dependencies: - "@webassemblyjs/ast": 1.14.1 - "@webassemblyjs/helper-buffer": 1.14.1 - "@webassemblyjs/helper-wasm-bytecode": 1.13.2 - "@webassemblyjs/helper-wasm-section": 1.14.1 - "@webassemblyjs/wasm-gen": 1.14.1 - "@webassemblyjs/wasm-opt": 1.14.1 - "@webassemblyjs/wasm-parser": 1.14.1 - "@webassemblyjs/wast-printer": 1.14.1 + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/helper-buffer': 1.14.1 + '@webassemblyjs/helper-wasm-bytecode': 1.13.2 + '@webassemblyjs/helper-wasm-section': 1.14.1 + '@webassemblyjs/wasm-gen': 1.14.1 + '@webassemblyjs/wasm-opt': 1.14.1 + '@webassemblyjs/wasm-parser': 1.14.1 + '@webassemblyjs/wast-printer': 1.14.1 - "@webassemblyjs/wasm-gen@1.14.1": + '@webassemblyjs/wasm-gen@1.14.1': dependencies: - "@webassemblyjs/ast": 1.14.1 - "@webassemblyjs/helper-wasm-bytecode": 1.13.2 - "@webassemblyjs/ieee754": 1.13.2 - "@webassemblyjs/leb128": 1.13.2 - "@webassemblyjs/utf8": 1.13.2 + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/helper-wasm-bytecode': 1.13.2 + '@webassemblyjs/ieee754': 1.13.2 + '@webassemblyjs/leb128': 1.13.2 + '@webassemblyjs/utf8': 1.13.2 - "@webassemblyjs/wasm-opt@1.14.1": + '@webassemblyjs/wasm-opt@1.14.1': dependencies: - "@webassemblyjs/ast": 1.14.1 - "@webassemblyjs/helper-buffer": 1.14.1 - "@webassemblyjs/wasm-gen": 1.14.1 - "@webassemblyjs/wasm-parser": 1.14.1 + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/helper-buffer': 1.14.1 + '@webassemblyjs/wasm-gen': 1.14.1 + '@webassemblyjs/wasm-parser': 1.14.1 - "@webassemblyjs/wasm-parser@1.14.1": + '@webassemblyjs/wasm-parser@1.14.1': dependencies: - "@webassemblyjs/ast": 1.14.1 - "@webassemblyjs/helper-api-error": 1.13.2 - "@webassemblyjs/helper-wasm-bytecode": 1.13.2 - "@webassemblyjs/ieee754": 1.13.2 - "@webassemblyjs/leb128": 1.13.2 - "@webassemblyjs/utf8": 1.13.2 + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/helper-api-error': 1.13.2 + '@webassemblyjs/helper-wasm-bytecode': 1.13.2 + '@webassemblyjs/ieee754': 1.13.2 + '@webassemblyjs/leb128': 1.13.2 + '@webassemblyjs/utf8': 1.13.2 - "@webassemblyjs/wast-printer@1.14.1": + '@webassemblyjs/wast-printer@1.14.1': dependencies: - "@webassemblyjs/ast": 1.14.1 - "@xtuc/long": 4.2.2 + '@webassemblyjs/ast': 1.14.1 + '@xtuc/long': 4.2.2 - "@xtuc/ieee754@1.2.0": {} + '@xtuc/ieee754@1.2.0': {} - "@xtuc/long@4.2.2": {} + '@xtuc/long@4.2.2': {} - "@yarnpkg/lockfile@1.1.0": {} + '@yarnpkg/lockfile@1.1.0': {} - "@yarnpkg/parsers@3.0.2": + '@yarnpkg/parsers@3.0.2': dependencies: js-yaml: 3.14.1 tslib: 2.8.1 - "@zkochan/js-yaml@0.0.7": + '@zkochan/js-yaml@0.0.7': dependencies: argparse: 2.0.1 @@ -11795,7 +10386,7 @@ snapshots: ast-v8-to-istanbul@1.0.0: dependencies: - "@jridgewell/trace-mapping": 0.3.31 + '@jridgewell/trace-mapping': 0.3.31 estree-walker: 3.0.3 js-tokens: 10.0.0 @@ -11813,7 +10404,7 @@ snapshots: babel-walk@3.0.0-canary-5: dependencies: - "@babel/types": 7.29.0 + '@babel/types': 7.29.0 balanced-match@1.0.2: {} @@ -11866,7 +10457,7 @@ snapshots: bootstrap@5.3.8(@popperjs/core@2.11.8): dependencies: - "@popperjs/core": 2.11.8 + '@popperjs/core': 2.11.8 brace-expansion@1.1.11: dependencies: @@ -11910,7 +10501,7 @@ snapshots: cacache@20.0.3: dependencies: - "@npmcli/fs": 5.0.0 + '@npmcli/fs': 5.0.0 fs-minipass: 3.0.2 glob: 13.0.6 lru-cache: 11.2.7 @@ -12142,8 +10733,8 @@ snapshots: constantinople@4.0.1: dependencies: - "@babel/parser": 7.29.0 - "@babel/types": 7.29.0 + '@babel/parser': 7.29.0 + '@babel/types': 7.29.0 content-disposition@1.0.1: {} @@ -12201,7 +10792,7 @@ snapshots: conventional-commits-parser@6.3.0: dependencies: - "@simple-libs/stream-utils": 1.2.0 + '@simple-libs/stream-utils': 1.2.0 meow: 13.2.0 conventional-recommended-bump@7.0.1: @@ -12234,7 +10825,7 @@ snapshots: cosmiconfig-typescript-loader@6.1.0(@types/node@25.5.0)(cosmiconfig@9.0.1(typescript@5.9.3))(typescript@5.9.3): dependencies: - "@types/node": 25.5.0 + '@types/node': 25.5.0 cosmiconfig: 9.0.1(typescript@5.9.3) jiti: 2.6.1 typescript: 5.9.3 @@ -12261,7 +10852,7 @@ snapshots: cross-env@10.1.0: dependencies: - "@epic-web/invariant": 1.0.0 + '@epic-web/invariant': 1.0.0 cross-spawn: 7.0.6 cross-spawn@7.0.6: @@ -12310,7 +10901,7 @@ snapshots: whatwg-mimetype: 5.0.0 whatwg-url: 16.0.1 transitivePeerDependencies: - - "@noble/hashes" + - '@noble/hashes' dateformat@3.0.3: {} @@ -12465,8 +11056,8 @@ snapshots: electron@41.0.3: dependencies: - "@electron/get": 2.0.3 - "@types/node": 24.10.9 + '@electron/get': 2.0.3 + '@types/node': 24.10.9 extract-zip: 2.0.1 transitivePeerDependencies: - supports-color @@ -12541,32 +11132,32 @@ snapshots: esbuild@0.27.2: optionalDependencies: - "@esbuild/aix-ppc64": 0.27.2 - "@esbuild/android-arm": 0.27.2 - "@esbuild/android-arm64": 0.27.2 - "@esbuild/android-x64": 0.27.2 - "@esbuild/darwin-arm64": 0.27.2 - "@esbuild/darwin-x64": 0.27.2 - "@esbuild/freebsd-arm64": 0.27.2 - "@esbuild/freebsd-x64": 0.27.2 - "@esbuild/linux-arm": 0.27.2 - "@esbuild/linux-arm64": 0.27.2 - "@esbuild/linux-ia32": 0.27.2 - "@esbuild/linux-loong64": 0.27.2 - "@esbuild/linux-mips64el": 0.27.2 - "@esbuild/linux-ppc64": 0.27.2 - "@esbuild/linux-riscv64": 0.27.2 - "@esbuild/linux-s390x": 0.27.2 - "@esbuild/linux-x64": 0.27.2 - "@esbuild/netbsd-arm64": 0.27.2 - "@esbuild/netbsd-x64": 0.27.2 - "@esbuild/openbsd-arm64": 0.27.2 - "@esbuild/openbsd-x64": 0.27.2 - "@esbuild/openharmony-arm64": 0.27.2 - "@esbuild/sunos-x64": 0.27.2 - "@esbuild/win32-arm64": 0.27.2 - "@esbuild/win32-ia32": 0.27.2 - "@esbuild/win32-x64": 0.27.2 + '@esbuild/aix-ppc64': 0.27.2 + '@esbuild/android-arm': 0.27.2 + '@esbuild/android-arm64': 0.27.2 + '@esbuild/android-x64': 0.27.2 + '@esbuild/darwin-arm64': 0.27.2 + '@esbuild/darwin-x64': 0.27.2 + '@esbuild/freebsd-arm64': 0.27.2 + '@esbuild/freebsd-x64': 0.27.2 + '@esbuild/linux-arm': 0.27.2 + '@esbuild/linux-arm64': 0.27.2 + '@esbuild/linux-ia32': 0.27.2 + '@esbuild/linux-loong64': 0.27.2 + '@esbuild/linux-mips64el': 0.27.2 + '@esbuild/linux-ppc64': 0.27.2 + '@esbuild/linux-riscv64': 0.27.2 + '@esbuild/linux-s390x': 0.27.2 + '@esbuild/linux-x64': 0.27.2 + '@esbuild/netbsd-arm64': 0.27.2 + '@esbuild/netbsd-x64': 0.27.2 + '@esbuild/openbsd-arm64': 0.27.2 + '@esbuild/openbsd-x64': 0.27.2 + '@esbuild/openharmony-arm64': 0.27.2 + '@esbuild/sunos-x64': 0.27.2 + '@esbuild/win32-arm64': 0.27.2 + '@esbuild/win32-ia32': 0.27.2 + '@esbuild/win32-x64': 0.27.2 escalade@3.1.1: {} @@ -12584,8 +11175,8 @@ snapshots: eslint-plugin-jsdoc@62.8.0(eslint@10.0.3(jiti@2.6.1)): dependencies: - "@es-joy/jsdoccomment": 0.84.0 - "@es-joy/resolve.exports": 1.2.0 + '@es-joy/jsdoccomment': 0.84.0 + '@es-joy/resolve.exports': 1.2.0 are-docs-informative: 0.0.2 comment-parser: 1.4.5 debug: 4.4.3(supports-color@5.5.0) @@ -12609,14 +11200,14 @@ snapshots: prettier-linter-helpers: 1.0.1 synckit: 0.11.12 optionalDependencies: - "@types/eslint": 8.56.6 + '@types/eslint': 8.56.6 eslint-config-prettier: 10.1.8(eslint@10.0.3(jiti@2.6.1)) eslint-plugin-tsdoc@0.5.2(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3): dependencies: - "@microsoft/tsdoc": 0.16.0 - "@microsoft/tsdoc-config": 0.18.1 - "@typescript-eslint/utils": 8.56.1(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3) + '@microsoft/tsdoc': 0.16.0 + '@microsoft/tsdoc-config': 0.18.1 + '@typescript-eslint/utils': 8.56.1(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3) transitivePeerDependencies: - eslint - supports-color @@ -12629,8 +11220,8 @@ snapshots: eslint-scope@9.1.2: dependencies: - "@types/esrecurse": 4.3.1 - "@types/estree": 1.0.8 + '@types/esrecurse': 4.3.1 + '@types/estree': 1.0.8 esrecurse: 4.3.0 estraverse: 5.3.0 @@ -12644,16 +11235,16 @@ snapshots: eslint@10.0.3(jiti@2.6.1): dependencies: - "@eslint-community/eslint-utils": 4.9.1(eslint@10.0.3(jiti@2.6.1)) - "@eslint-community/regexpp": 4.12.2 - "@eslint/config-array": 0.23.3 - "@eslint/config-helpers": 0.5.3 - "@eslint/core": 1.1.1 - "@eslint/plugin-kit": 0.6.1 - "@humanfs/node": 0.16.6 - "@humanwhocodes/module-importer": 1.0.1 - "@humanwhocodes/retry": 0.4.3 - "@types/estree": 1.0.8 + '@eslint-community/eslint-utils': 4.9.1(eslint@10.0.3(jiti@2.6.1)) + '@eslint-community/regexpp': 4.12.2 + '@eslint/config-array': 0.23.3 + '@eslint/config-helpers': 0.5.3 + '@eslint/core': 1.1.1 + '@eslint/plugin-kit': 0.6.1 + '@humanfs/node': 0.16.6 + '@humanwhocodes/module-importer': 1.0.1 + '@humanwhocodes/retry': 0.4.3 + '@types/estree': 1.0.8 ajv: 6.14.0 cross-spawn: 7.0.6 debug: 4.4.3(supports-color@5.5.0) @@ -12707,7 +11298,7 @@ snapshots: estree-walker@3.0.3: dependencies: - "@types/estree": 1.0.8 + '@types/estree': 1.0.8 esutils@2.0.3: {} @@ -12781,7 +11372,7 @@ snapshots: get-stream: 5.2.0 yauzl: 2.10.0 optionalDependencies: - "@types/yauzl": 2.10.3 + '@types/yauzl': 2.10.3 transitivePeerDependencies: - supports-color @@ -12791,8 +11382,8 @@ snapshots: fast-glob@3.3.2: dependencies: - "@nodelib/fs.stat": 2.0.5 - "@nodelib/fs.walk": 1.2.8 + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 glob-parent: 5.1.2 merge2: 1.4.1 micromatch: 4.0.5 @@ -12970,7 +11561,7 @@ snapshots: get-pkg-repo@4.2.1: dependencies: - "@hutson/parse-repository-url": 3.0.2 + '@hutson/parse-repository-url': 3.0.2 hosted-git-info: 4.1.0 through2: 2.0.5 yargs: 16.2.0 @@ -13006,7 +11597,7 @@ snapshots: git-raw-commits@5.0.1(conventional-commits-parser@6.3.0): dependencies: - "@conventional-changelog/git-client": 2.6.0(conventional-commits-parser@6.3.0) + '@conventional-changelog/git-client': 2.6.0(conventional-commits-parser@6.3.0) meow: 13.2.0 transitivePeerDependencies: - conventional-commits-filter @@ -13113,10 +11704,10 @@ snapshots: got@11.8.6: dependencies: - "@sindresorhus/is": 4.6.0 - "@szmarczak/http-timer": 4.0.6 - "@types/cacheable-request": 6.0.3 - "@types/responselike": 1.0.3 + '@sindresorhus/is': 4.6.0 + '@szmarczak/http-timer': 4.0.6 + '@types/cacheable-request': 6.0.3 + '@types/responselike': 1.0.3 cacheable-lookup: 5.0.4 cacheable-request: 7.0.4 decompress-response: 6.0.0 @@ -13176,9 +11767,9 @@ snapshots: html-encoding-sniffer@6.0.0: dependencies: - "@exodus/bytes": 1.15.0 + '@exodus/bytes': 1.15.0 transitivePeerDependencies: - - "@noble/hashes" + - '@noble/hashes' html-entities@2.6.0: {} @@ -13192,7 +11783,7 @@ snapshots: svgo: 4.0.1 terser: 5.46.0 optionalDependencies: - "@swc/core": 1.15.18 + '@swc/core': 1.15.18 http-cache-semantics@4.2.0: {} @@ -13293,7 +11884,7 @@ snapshots: init-package-json@8.2.2: dependencies: - "@npmcli/package-json": 7.0.2 + '@npmcli/package-json': 7.0.2 npm-package-arg: 13.0.1 promzard: 2.0.0 read: 4.1.0 @@ -13303,15 +11894,15 @@ snapshots: inquirer@12.9.6(@types/node@25.5.0): dependencies: - "@inquirer/ansi": 1.0.2 - "@inquirer/core": 10.3.2(@types/node@25.5.0) - "@inquirer/prompts": 7.10.1(@types/node@25.5.0) - "@inquirer/type": 3.0.10(@types/node@25.5.0) + '@inquirer/ansi': 1.0.2 + '@inquirer/core': 10.3.2(@types/node@25.5.0) + '@inquirer/prompts': 7.10.1(@types/node@25.5.0) + '@inquirer/type': 3.0.10(@types/node@25.5.0) mute-stream: 2.0.0 run-async: 4.0.6 rxjs: 7.8.2 optionalDependencies: - "@types/node": 25.5.0 + '@types/node': 25.5.0 interpret@3.1.1: {} @@ -13421,13 +12012,13 @@ snapshots: jackspeak@3.4.3: dependencies: - "@isaacs/cliui": 8.0.2 + '@isaacs/cliui': 8.0.2 optionalDependencies: - "@pkgjs/parseargs": 0.11.0 + '@pkgjs/parseargs': 0.11.0 jackspeak@4.1.1: dependencies: - "@isaacs/cliui": 8.0.2 + '@isaacs/cliui': 8.0.2 jake@10.8.7: dependencies: @@ -13440,14 +12031,14 @@ snapshots: jest-diff@30.2.0: dependencies: - "@jest/diff-sequences": 30.0.1 - "@jest/get-type": 30.1.0 + '@jest/diff-sequences': 30.0.1 + '@jest/get-type': 30.1.0 chalk: 4.1.2 pretty-format: 30.2.0 jest-worker@27.5.1: dependencies: - "@types/node": 25.5.0 + '@types/node': 25.5.0 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -13482,11 +12073,11 @@ snapshots: jsdom@29.0.0(canvas@3.2.1): dependencies: - "@asamuzakjp/css-color": 5.0.1 - "@asamuzakjp/dom-selector": 7.0.3 - "@bramus/specificity": 2.4.2 - "@csstools/css-syntax-patches-for-csstree": 1.1.1(css-tree@3.2.1) - "@exodus/bytes": 1.15.0 + '@asamuzakjp/css-color': 5.0.1 + '@asamuzakjp/dom-selector': 7.0.3 + '@bramus/specificity': 2.4.2 + '@csstools/css-syntax-patches-for-csstree': 1.1.1(css-tree@3.2.1) + '@exodus/bytes': 1.15.0 css-tree: 3.2.1 data-urls: 7.0.0 decimal.js: 10.6.0 @@ -13506,7 +12097,7 @@ snapshots: optionalDependencies: canvas: 3.2.1 transitivePeerDependencies: - - "@noble/hashes" + - '@noble/hashes' json-buffer@3.0.1: {} @@ -13582,12 +12173,12 @@ snapshots: lerna@9.0.7(@swc/core@1.15.18)(@types/node@25.5.0): dependencies: - "@npmcli/arborist": 9.1.6 - "@npmcli/package-json": 7.0.2 - "@npmcli/run-script": 10.0.3 - "@nx/devkit": 22.3.3(nx@22.6.0(@swc/core@1.15.18)) - "@octokit/plugin-enterprise-rest": 6.0.1 - "@octokit/rest": 20.1.2 + '@npmcli/arborist': 9.1.6 + '@npmcli/package-json': 7.0.2 + '@npmcli/run-script': 10.0.3 + '@nx/devkit': 22.3.3(nx@22.6.0(@swc/core@1.15.18)) + '@octokit/plugin-enterprise-rest': 6.0.1 + '@octokit/rest': 20.1.2 aproba: 2.0.0 byte-size: 8.1.1 chalk: 4.1.0 @@ -13649,9 +12240,9 @@ snapshots: yargs: 17.7.2 yargs-parser: 21.1.1 transitivePeerDependencies: - - "@swc-node/register" - - "@swc/core" - - "@types/node" + - '@swc-node/register' + - '@swc/core' + - '@types/node' - babel-plugin-macros - debug - supports-color @@ -13670,7 +12261,7 @@ snapshots: libnpmpublish@11.1.2: dependencies: - "@npmcli/package-json": 7.0.2 + '@npmcli/package-json': 7.0.2 ci-info: 4.3.1 npm-package-arg: 13.0.1 npm-registry-fetch: 19.1.0 @@ -13855,8 +12446,8 @@ snapshots: logform@2.7.0: dependencies: - "@colors/colors": 1.6.0 - "@types/triple-beam": 1.3.2 + '@colors/colors': 1.6.0 + '@types/triple-beam': 1.3.2 fecha: 4.2.3 ms: 2.1.3 safe-stable-stringify: 2.5.0 @@ -13880,12 +12471,12 @@ snapshots: magic-string@0.30.21: dependencies: - "@jridgewell/sourcemap-codec": 1.5.5 + '@jridgewell/sourcemap-codec': 1.5.5 magicast@0.5.2: dependencies: - "@babel/parser": 7.29.0 - "@babel/types": 7.29.0 + '@babel/parser': 7.29.0 + '@babel/types': 7.29.0 source-map-js: 1.2.1 make-dir@3.1.0: @@ -13900,7 +12491,7 @@ snapshots: make-fetch-happen@15.0.2: dependencies: - "@npmcli/agent": 4.0.0 + '@npmcli/agent': 4.0.0 cacache: 20.0.3 http-cache-semantics: 4.2.0 minipass: 7.1.3 @@ -13916,7 +12507,7 @@ snapshots: make-fetch-happen@15.0.3: dependencies: - "@npmcli/agent": 4.0.0 + '@npmcli/agent': 4.0.0 cacache: 20.0.3 http-cache-semantics: 4.2.0 minipass: 7.1.3 @@ -13964,7 +12555,7 @@ snapshots: meow@8.1.2: dependencies: - "@types/minimist": 1.2.2 + '@types/minimist': 1.2.2 camelcase-keys: 6.2.2 decamelize-keys: 1.1.1 hard-rejection: 2.1.0 @@ -14009,8 +12600,8 @@ snapshots: minify@15.2.0: dependencies: - "@putout/minify": 6.0.0 - "@swc/core": 1.15.18 + '@putout/minify': 6.0.0 + '@swc/core': 1.15.18 clean-css: 5.3.3 css-b64-images: 0.2.5 debug: 4.4.3(supports-color@5.5.0) @@ -14025,7 +12616,7 @@ snapshots: try-catch: 4.0.7 try-to-catch: 4.0.3 transitivePeerDependencies: - - "@swc/helpers" + - '@swc/helpers' - supports-color minimatch@10.2.2: @@ -14275,7 +12866,7 @@ snapshots: npm-registry-fetch@19.1.0: dependencies: - "@npmcli/redact": 3.2.2 + '@npmcli/redact': 3.2.2 jsonparse: 1.3.1 make-fetch-happen: 15.0.3 minipass: 7.1.3 @@ -14296,7 +12887,7 @@ snapshots: nx-cloud@19.1.0: dependencies: - "@nrwl/nx-cloud": 19.1.0 + '@nrwl/nx-cloud': 19.1.0 axios: 1.13.2 chalk: 4.1.2 dotenv: 10.0.0 @@ -14311,11 +12902,11 @@ snapshots: nx@22.6.0(@swc/core@1.15.18): dependencies: - "@ltd/j-toml": 1.38.0 - "@napi-rs/wasm-runtime": 0.2.4 - "@yarnpkg/lockfile": 1.1.0 - "@yarnpkg/parsers": 3.0.2 - "@zkochan/js-yaml": 0.0.7 + '@ltd/j-toml': 1.38.0 + '@napi-rs/wasm-runtime': 0.2.4 + '@yarnpkg/lockfile': 1.1.0 + '@yarnpkg/parsers': 3.0.2 + '@zkochan/js-yaml': 0.0.7 axios: 1.13.2 cli-cursor: 3.1.0 cli-spinners: 2.6.1 @@ -14349,17 +12940,17 @@ snapshots: yargs: 17.7.2 yargs-parser: 21.1.1 optionalDependencies: - "@nx/nx-darwin-arm64": 22.6.0 - "@nx/nx-darwin-x64": 22.6.0 - "@nx/nx-freebsd-x64": 22.6.0 - "@nx/nx-linux-arm-gnueabihf": 22.6.0 - "@nx/nx-linux-arm64-gnu": 22.6.0 - "@nx/nx-linux-arm64-musl": 22.6.0 - "@nx/nx-linux-x64-gnu": 22.6.0 - "@nx/nx-linux-x64-musl": 22.6.0 - "@nx/nx-win32-arm64-msvc": 22.6.0 - "@nx/nx-win32-x64-msvc": 22.6.0 - "@swc/core": 1.15.18 + '@nx/nx-darwin-arm64': 22.6.0 + '@nx/nx-darwin-x64': 22.6.0 + '@nx/nx-freebsd-x64': 22.6.0 + '@nx/nx-linux-arm-gnueabihf': 22.6.0 + '@nx/nx-linux-arm64-gnu': 22.6.0 + '@nx/nx-linux-arm64-musl': 22.6.0 + '@nx/nx-linux-x64-gnu': 22.6.0 + '@nx/nx-linux-x64-musl': 22.6.0 + '@nx/nx-win32-arm64-msvc': 22.6.0 + '@nx/nx-win32-x64-msvc': 22.6.0 + '@swc/core': 1.15.18 transitivePeerDependencies: - debug @@ -14400,7 +12991,7 @@ snapshots: optionator@0.9.3: dependencies: - "@aashutoshrathi/word-wrap": 1.2.6 + '@aashutoshrathi/word-wrap': 1.2.6 deep-is: 0.1.4 fast-levenshtein: 2.0.6 levn: 0.4.1 @@ -14422,26 +13013,26 @@ snapshots: oxc-minify@0.116.0: optionalDependencies: - "@oxc-minify/binding-android-arm-eabi": 0.116.0 - "@oxc-minify/binding-android-arm64": 0.116.0 - "@oxc-minify/binding-darwin-arm64": 0.116.0 - "@oxc-minify/binding-darwin-x64": 0.116.0 - "@oxc-minify/binding-freebsd-x64": 0.116.0 - "@oxc-minify/binding-linux-arm-gnueabihf": 0.116.0 - "@oxc-minify/binding-linux-arm-musleabihf": 0.116.0 - "@oxc-minify/binding-linux-arm64-gnu": 0.116.0 - "@oxc-minify/binding-linux-arm64-musl": 0.116.0 - "@oxc-minify/binding-linux-ppc64-gnu": 0.116.0 - "@oxc-minify/binding-linux-riscv64-gnu": 0.116.0 - "@oxc-minify/binding-linux-riscv64-musl": 0.116.0 - "@oxc-minify/binding-linux-s390x-gnu": 0.116.0 - "@oxc-minify/binding-linux-x64-gnu": 0.116.0 - "@oxc-minify/binding-linux-x64-musl": 0.116.0 - "@oxc-minify/binding-openharmony-arm64": 0.116.0 - "@oxc-minify/binding-wasm32-wasi": 0.116.0 - "@oxc-minify/binding-win32-arm64-msvc": 0.116.0 - "@oxc-minify/binding-win32-ia32-msvc": 0.116.0 - "@oxc-minify/binding-win32-x64-msvc": 0.116.0 + '@oxc-minify/binding-android-arm-eabi': 0.116.0 + '@oxc-minify/binding-android-arm64': 0.116.0 + '@oxc-minify/binding-darwin-arm64': 0.116.0 + '@oxc-minify/binding-darwin-x64': 0.116.0 + '@oxc-minify/binding-freebsd-x64': 0.116.0 + '@oxc-minify/binding-linux-arm-gnueabihf': 0.116.0 + '@oxc-minify/binding-linux-arm-musleabihf': 0.116.0 + '@oxc-minify/binding-linux-arm64-gnu': 0.116.0 + '@oxc-minify/binding-linux-arm64-musl': 0.116.0 + '@oxc-minify/binding-linux-ppc64-gnu': 0.116.0 + '@oxc-minify/binding-linux-riscv64-gnu': 0.116.0 + '@oxc-minify/binding-linux-riscv64-musl': 0.116.0 + '@oxc-minify/binding-linux-s390x-gnu': 0.116.0 + '@oxc-minify/binding-linux-x64-gnu': 0.116.0 + '@oxc-minify/binding-linux-x64-musl': 0.116.0 + '@oxc-minify/binding-openharmony-arm64': 0.116.0 + '@oxc-minify/binding-wasm32-wasi': 0.116.0 + '@oxc-minify/binding-win32-arm64-msvc': 0.116.0 + '@oxc-minify/binding-win32-ia32-msvc': 0.116.0 + '@oxc-minify/binding-win32-x64-msvc': 0.116.0 p-cancelable@2.1.1: {} @@ -14514,11 +13105,11 @@ snapshots: pacote@21.0.1: dependencies: - "@npmcli/git": 6.0.3 - "@npmcli/installed-package-contents": 3.0.0 - "@npmcli/package-json": 7.0.2 - "@npmcli/promise-spawn": 8.0.3 - "@npmcli/run-script": 10.0.3 + '@npmcli/git': 6.0.3 + '@npmcli/installed-package-contents': 3.0.0 + '@npmcli/package-json': 7.0.2 + '@npmcli/promise-spawn': 8.0.3 + '@npmcli/run-script': 10.0.3 cacache: 20.0.3 fs-minipass: 3.0.2 minipass: 7.1.3 @@ -14536,11 +13127,11 @@ snapshots: pacote@21.0.4: dependencies: - "@npmcli/git": 7.0.1 - "@npmcli/installed-package-contents": 4.0.0 - "@npmcli/package-json": 7.0.2 - "@npmcli/promise-spawn": 9.0.1 - "@npmcli/run-script": 10.0.3 + '@npmcli/git': 7.0.1 + '@npmcli/installed-package-contents': 4.0.0 + '@npmcli/package-json': 7.0.2 + '@npmcli/promise-spawn': 9.0.1 + '@npmcli/run-script': 10.0.3 cacache: 20.0.3 fs-minipass: 3.0.2 minipass: 7.1.3 @@ -14577,7 +13168,7 @@ snapshots: parse-json@5.2.0: dependencies: - "@babel/code-frame": 7.27.1 + '@babel/code-frame': 7.27.1 error-ex: 1.3.2 json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 @@ -14592,9 +13183,9 @@ snapshots: dependencies: parse-path: 7.0.0 - parse5@7.2.1: + parse5@7.3.0: dependencies: - entities: 4.5.0 + entities: 6.0.1 parse5@8.0.0: dependencies: @@ -14686,8 +13277,8 @@ snapshots: prettier-plugin-multiline-arrays@4.1.5(prettier@3.8.1): dependencies: - "@augment-vir/assert": 31.59.3 - "@augment-vir/common": 31.59.3 + '@augment-vir/assert': 31.59.3 + '@augment-vir/common': 31.59.3 prettier: 3.8.1 proxy-vir: 2.0.2 @@ -14695,7 +13286,7 @@ snapshots: pretty-format@30.2.0: dependencies: - "@jest/schemas": 30.0.5 + '@jest/schemas': 30.0.5 ansi-styles: 5.2.0 react-is: 18.3.1 @@ -14742,8 +13333,8 @@ snapshots: proxy-vir@2.0.2: dependencies: - "@augment-vir/assert": 31.59.3 - "@augment-vir/common": 31.59.3 + '@augment-vir/assert': 31.59.3 + '@augment-vir/common': 31.59.3 pstree.remy@1.1.8: {} @@ -14874,7 +13465,7 @@ snapshots: read-pkg@5.2.0: dependencies: - "@types/normalize-package-data": 2.4.1 + '@types/normalize-package-data': 2.4.1 normalize-package-data: 2.5.0 parse-json: 5.2.0 type-fest: 0.6.0 @@ -14986,54 +13577,54 @@ snapshots: rolldown@1.0.0-rc.10: dependencies: - "@oxc-project/types": 0.120.0 - "@rolldown/pluginutils": 1.0.0-rc.10 + '@oxc-project/types': 0.120.0 + '@rolldown/pluginutils': 1.0.0-rc.10 optionalDependencies: - "@rolldown/binding-android-arm64": 1.0.0-rc.10 - "@rolldown/binding-darwin-arm64": 1.0.0-rc.10 - "@rolldown/binding-darwin-x64": 1.0.0-rc.10 - "@rolldown/binding-freebsd-x64": 1.0.0-rc.10 - "@rolldown/binding-linux-arm-gnueabihf": 1.0.0-rc.10 - "@rolldown/binding-linux-arm64-gnu": 1.0.0-rc.10 - "@rolldown/binding-linux-arm64-musl": 1.0.0-rc.10 - "@rolldown/binding-linux-ppc64-gnu": 1.0.0-rc.10 - "@rolldown/binding-linux-s390x-gnu": 1.0.0-rc.10 - "@rolldown/binding-linux-x64-gnu": 1.0.0-rc.10 - "@rolldown/binding-linux-x64-musl": 1.0.0-rc.10 - "@rolldown/binding-openharmony-arm64": 1.0.0-rc.10 - "@rolldown/binding-wasm32-wasi": 1.0.0-rc.10 - "@rolldown/binding-win32-arm64-msvc": 1.0.0-rc.10 - "@rolldown/binding-win32-x64-msvc": 1.0.0-rc.10 + '@rolldown/binding-android-arm64': 1.0.0-rc.10 + '@rolldown/binding-darwin-arm64': 1.0.0-rc.10 + '@rolldown/binding-darwin-x64': 1.0.0-rc.10 + '@rolldown/binding-freebsd-x64': 1.0.0-rc.10 + '@rolldown/binding-linux-arm-gnueabihf': 1.0.0-rc.10 + '@rolldown/binding-linux-arm64-gnu': 1.0.0-rc.10 + '@rolldown/binding-linux-arm64-musl': 1.0.0-rc.10 + '@rolldown/binding-linux-ppc64-gnu': 1.0.0-rc.10 + '@rolldown/binding-linux-s390x-gnu': 1.0.0-rc.10 + '@rolldown/binding-linux-x64-gnu': 1.0.0-rc.10 + '@rolldown/binding-linux-x64-musl': 1.0.0-rc.10 + '@rolldown/binding-openharmony-arm64': 1.0.0-rc.10 + '@rolldown/binding-wasm32-wasi': 1.0.0-rc.10 + '@rolldown/binding-win32-arm64-msvc': 1.0.0-rc.10 + '@rolldown/binding-win32-x64-msvc': 1.0.0-rc.10 rollup@4.59.0: dependencies: - "@types/estree": 1.0.8 + '@types/estree': 1.0.8 optionalDependencies: - "@rollup/rollup-android-arm-eabi": 4.59.0 - "@rollup/rollup-android-arm64": 4.59.0 - "@rollup/rollup-darwin-arm64": 4.59.0 - "@rollup/rollup-darwin-x64": 4.59.0 - "@rollup/rollup-freebsd-arm64": 4.59.0 - "@rollup/rollup-freebsd-x64": 4.59.0 - "@rollup/rollup-linux-arm-gnueabihf": 4.59.0 - "@rollup/rollup-linux-arm-musleabihf": 4.59.0 - "@rollup/rollup-linux-arm64-gnu": 4.59.0 - "@rollup/rollup-linux-arm64-musl": 4.59.0 - "@rollup/rollup-linux-loong64-gnu": 4.59.0 - "@rollup/rollup-linux-loong64-musl": 4.59.0 - "@rollup/rollup-linux-ppc64-gnu": 4.59.0 - "@rollup/rollup-linux-ppc64-musl": 4.59.0 - "@rollup/rollup-linux-riscv64-gnu": 4.59.0 - "@rollup/rollup-linux-riscv64-musl": 4.59.0 - "@rollup/rollup-linux-s390x-gnu": 4.59.0 - "@rollup/rollup-linux-x64-gnu": 4.59.0 - "@rollup/rollup-linux-x64-musl": 4.59.0 - "@rollup/rollup-openbsd-x64": 4.59.0 - "@rollup/rollup-openharmony-arm64": 4.59.0 - "@rollup/rollup-win32-arm64-msvc": 4.59.0 - "@rollup/rollup-win32-ia32-msvc": 4.59.0 - "@rollup/rollup-win32-x64-gnu": 4.59.0 - "@rollup/rollup-win32-x64-msvc": 4.59.0 + '@rollup/rollup-android-arm-eabi': 4.59.0 + '@rollup/rollup-android-arm64': 4.59.0 + '@rollup/rollup-darwin-arm64': 4.59.0 + '@rollup/rollup-darwin-x64': 4.59.0 + '@rollup/rollup-freebsd-arm64': 4.59.0 + '@rollup/rollup-freebsd-x64': 4.59.0 + '@rollup/rollup-linux-arm-gnueabihf': 4.59.0 + '@rollup/rollup-linux-arm-musleabihf': 4.59.0 + '@rollup/rollup-linux-arm64-gnu': 4.59.0 + '@rollup/rollup-linux-arm64-musl': 4.59.0 + '@rollup/rollup-linux-loong64-gnu': 4.59.0 + '@rollup/rollup-linux-loong64-musl': 4.59.0 + '@rollup/rollup-linux-ppc64-gnu': 4.59.0 + '@rollup/rollup-linux-ppc64-musl': 4.59.0 + '@rollup/rollup-linux-riscv64-gnu': 4.59.0 + '@rollup/rollup-linux-riscv64-musl': 4.59.0 + '@rollup/rollup-linux-s390x-gnu': 4.59.0 + '@rollup/rollup-linux-x64-gnu': 4.59.0 + '@rollup/rollup-linux-x64-musl': 4.59.0 + '@rollup/rollup-openbsd-x64': 4.59.0 + '@rollup/rollup-openharmony-arm64': 4.59.0 + '@rollup/rollup-win32-arm64-msvc': 4.59.0 + '@rollup/rollup-win32-ia32-msvc': 4.59.0 + '@rollup/rollup-win32-x64-gnu': 4.59.0 + '@rollup/rollup-win32-x64-msvc': 4.59.0 fsevents: 2.3.3 router@2.2.0: @@ -15074,7 +13665,7 @@ snapshots: immutable: 5.1.5 source-map-js: 1.2.1 optionalDependencies: - "@parcel/watcher": 2.5.1 + '@parcel/watcher': 2.5.1 sax@1.4.1: {} @@ -15086,7 +13677,7 @@ snapshots: schema-utils@4.3.3: dependencies: - "@types/json-schema": 7.0.15 + '@types/json-schema': 7.0.15 ajv: 8.18.0 ajv-formats: 2.1.1(ajv@8.18.0) ajv-keywords: 5.1.0(ajv@8.18.0) @@ -15198,12 +13789,12 @@ snapshots: sigstore@4.1.0: dependencies: - "@sigstore/bundle": 4.0.0 - "@sigstore/core": 3.1.0 - "@sigstore/protobuf-specs": 0.5.0 - "@sigstore/sign": 4.1.0 - "@sigstore/tuf": 4.0.1 - "@sigstore/verify": 3.1.0 + '@sigstore/bundle': 4.0.0 + '@sigstore/core': 3.1.0 + '@sigstore/protobuf-specs': 0.5.0 + '@sigstore/sign': 4.1.0 + '@sigstore/tuf': 4.0.1 + '@sigstore/verify': 3.1.0 transitivePeerDependencies: - supports-color @@ -15221,7 +13812,7 @@ snapshots: sirv@3.0.2: dependencies: - "@polka/url": 1.0.0-next.25 + '@polka/url': 1.0.0-next.25 mrmime: 2.0.0 totalist: 3.0.1 @@ -15361,7 +13952,7 @@ snapshots: stylus@0.64.0: dependencies: - "@adobe/css-tools": 4.3.3 + '@adobe/css-tools': 4.3.3 debug: 4.3.6 glob: 10.4.5 sax: 1.4.1 @@ -15401,15 +13992,15 @@ snapshots: swc-loader@0.2.7(@swc/core@1.15.18)(webpack@5.105.4): dependencies: - "@swc/core": 1.15.18 - "@swc/counter": 0.1.3 + '@swc/core': 1.15.18 + '@swc/counter': 0.1.3 webpack: 5.105.4(@swc/core@1.15.18)(esbuild@0.27.2)(webpack-cli@7.0.2) symbol-tree@3.2.4: {} synckit@0.11.12: dependencies: - "@pkgr/core": 0.2.9 + '@pkgr/core': 0.2.9 tagged-tag@1.0.0: {} @@ -15441,7 +14032,7 @@ snapshots: tar@7.5.11: dependencies: - "@isaacs/fs-minipass": 4.0.1 + '@isaacs/fs-minipass': 4.0.1 chownr: 3.0.0 minipass: 7.1.3 minizlib: 3.1.0 @@ -15449,25 +14040,25 @@ snapshots: terser-webpack-plugin@5.4.0(@swc/core@1.15.18)(esbuild@0.27.2)(webpack@5.105.4): dependencies: - "@jridgewell/trace-mapping": 0.3.31 + '@jridgewell/trace-mapping': 0.3.31 jest-worker: 27.5.1 schema-utils: 4.3.3 terser: 5.46.0 webpack: 5.105.4(@swc/core@1.15.18)(esbuild@0.27.2)(webpack-cli@7.0.2) optionalDependencies: - "@swc/core": 1.15.18 + '@swc/core': 1.15.18 esbuild: 0.27.2 terser@5.44.1: dependencies: - "@jridgewell/source-map": 0.3.5 + '@jridgewell/source-map': 0.3.5 acorn: 8.15.0 commander: 2.20.3 source-map-support: 0.5.21 terser@5.46.0: dependencies: - "@jridgewell/source-map": 0.3.5 + '@jridgewell/source-map': 0.3.5 acorn: 8.16.0 commander: 2.20.3 source-map-support: 0.5.21 @@ -15515,7 +14106,7 @@ snapshots: to-valid-identifier@1.0.0: dependencies: - "@sindresorhus/base62": 1.0.0 + '@sindresorhus/base62': 1.0.0 reserved-identifiers: 1.2.0 toidentifier@1.0.1: {} @@ -15562,7 +14153,7 @@ snapshots: ts-json-schema-generator@2.9.0: dependencies: - "@types/json-schema": 7.0.15 + '@types/json-schema': 7.0.15 commander: 14.0.3 glob: 13.0.6 json5: 2.2.3 @@ -15573,12 +14164,12 @@ snapshots: ts-node@10.9.2(@swc/core@1.15.18)(@types/node@18.19.45)(typescript@5.5.4): dependencies: - "@cspotcode/source-map-support": 0.8.1 - "@tsconfig/node10": 1.0.9 - "@tsconfig/node12": 1.0.11 - "@tsconfig/node14": 1.0.3 - "@tsconfig/node16": 1.0.4 - "@types/node": 18.19.45 + '@cspotcode/source-map-support': 0.8.1 + '@tsconfig/node10': 1.0.9 + '@tsconfig/node12': 1.0.11 + '@tsconfig/node14': 1.0.3 + '@tsconfig/node16': 1.0.4 + '@types/node': 18.19.45 acorn: 8.10.0 acorn-walk: 8.2.0 arg: 4.1.3 @@ -15589,16 +14180,16 @@ snapshots: v8-compile-cache-lib: 3.0.1 yn: 3.1.1 optionalDependencies: - "@swc/core": 1.15.18 + '@swc/core': 1.15.18 ts-node@10.9.2(@swc/core@1.15.18)(@types/node@25.5.0)(typescript@5.9.3): dependencies: - "@cspotcode/source-map-support": 0.8.1 - "@tsconfig/node10": 1.0.9 - "@tsconfig/node12": 1.0.11 - "@tsconfig/node14": 1.0.3 - "@tsconfig/node16": 1.0.4 - "@types/node": 25.5.0 + '@cspotcode/source-map-support': 0.8.1 + '@tsconfig/node10': 1.0.9 + '@tsconfig/node12': 1.0.11 + '@tsconfig/node14': 1.0.3 + '@tsconfig/node16': 1.0.4 + '@types/node': 25.5.0 acorn: 8.10.0 acorn-walk: 8.2.0 arg: 4.1.3 @@ -15609,7 +14200,7 @@ snapshots: v8-compile-cache-lib: 3.0.1 yn: 3.1.1 optionalDependencies: - "@swc/core": 1.15.18 + '@swc/core': 1.15.18 tsconfig-paths-webpack-plugin@4.2.0: dependencies: @@ -15628,7 +14219,7 @@ snapshots: tuf-js@4.1.0: dependencies: - "@tufjs/models": 4.1.0 + '@tufjs/models': 4.1.0 debug: 4.4.3(supports-color@5.5.0) make-fetch-happen: 15.0.3 transitivePeerDependencies: @@ -15663,9 +14254,9 @@ snapshots: typed-event-target@4.1.0: dependencies: - "@augment-vir/assert": 31.59.3 - "@augment-vir/common": 31.59.3 - "@augment-vir/core": 31.59.3 + '@augment-vir/assert': 31.59.3 + '@augment-vir/common': 31.59.3 + '@augment-vir/core': 31.59.3 typedarray@0.0.6: {} @@ -15698,7 +14289,7 @@ snapshots: typedoc@0.28.17(typescript@5.9.3): dependencies: - "@gerrit0/mini-shiki": 3.20.0 + '@gerrit0/mini-shiki': 3.20.0 lunr: 2.3.9 markdown-it: 14.1.0 minimatch: 9.0.5 @@ -15707,10 +14298,10 @@ snapshots: typescript-eslint@8.57.1(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3): dependencies: - "@typescript-eslint/eslint-plugin": 8.57.1(@typescript-eslint/parser@8.57.1(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3))(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3) - "@typescript-eslint/parser": 8.57.1(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3) - "@typescript-eslint/typescript-estree": 8.57.1(typescript@5.9.3) - "@typescript-eslint/utils": 8.57.1(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/eslint-plugin': 8.57.1(@typescript-eslint/parser@8.57.1(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3))(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/parser': 8.57.1(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/typescript-estree': 8.57.1(typescript@5.9.3) + '@typescript-eslint/utils': 8.57.1(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3) eslint: 10.0.3(jiti@2.6.1) typescript: 5.9.3 transitivePeerDependencies: @@ -15718,8 +14309,8 @@ snapshots: typescript-json-schema@0.67.1(@swc/core@1.15.18): dependencies: - "@types/json-schema": 7.0.15 - "@types/node": 18.19.45 + '@types/json-schema': 7.0.15 + '@types/node': 18.19.45 glob: 7.2.3 path-equal: 1.2.5 safe-stable-stringify: 2.5.0 @@ -15728,8 +14319,8 @@ snapshots: vm2: 3.10.0 yargs: 17.7.2 transitivePeerDependencies: - - "@swc/core" - - "@swc/wasm" + - '@swc/core' + - '@swc/wasm' typescript@5.5.4: {} @@ -15748,7 +14339,7 @@ snapshots: undici-types@7.18.2: {} - undici-types@7.22.0: {} + undici-types@7.24.5: {} undici@7.24.3: {} @@ -15797,7 +14388,7 @@ snapshots: vanilla-picker@2.12.3: dependencies: - "@sphinxxxx/color-conversion": 2.2.2 + '@sphinxxxx/color-conversion': 2.2.2 vary@1.1.2: {} @@ -15810,7 +14401,7 @@ snapshots: rollup: 4.59.0 tinyglobby: 0.2.15 optionalDependencies: - "@types/node": 25.5.0 + '@types/node': 25.5.0 fsevents: 2.3.3 jiti: 2.6.1 lightningcss: 1.32.0 @@ -15827,7 +14418,7 @@ snapshots: rolldown: 1.0.0-rc.10 tinyglobby: 0.2.15 optionalDependencies: - "@types/node": 25.5.0 + '@types/node': 25.5.0 esbuild: 0.27.2 fsevents: 2.3.3 jiti: 2.6.1 @@ -15838,13 +14429,13 @@ snapshots: vitest@4.1.0(@types/node@25.5.0)(@vitest/ui@4.1.0)(jsdom@29.0.0(canvas@3.2.1))(vite@8.0.1(@types/node@25.5.0)(esbuild@0.27.2)(jiti@2.6.1)(sass@1.98.0)(stylus@0.64.0)(terser@5.46.0)(yaml@2.8.1)): dependencies: - "@vitest/expect": 4.1.0 - "@vitest/mocker": 4.1.0(vite@8.0.1(@types/node@25.5.0)(esbuild@0.27.2)(jiti@2.6.1)(sass@1.98.0)(stylus@0.64.0)(terser@5.46.0)(yaml@2.8.1)) - "@vitest/pretty-format": 4.1.0 - "@vitest/runner": 4.1.0 - "@vitest/snapshot": 4.1.0 - "@vitest/spy": 4.1.0 - "@vitest/utils": 4.1.0 + '@vitest/expect': 4.1.0 + '@vitest/mocker': 4.1.0(vite@8.0.1(@types/node@25.5.0)(esbuild@0.27.2)(jiti@2.6.1)(sass@1.98.0)(stylus@0.64.0)(terser@5.46.0)(yaml@2.8.1)) + '@vitest/pretty-format': 4.1.0 + '@vitest/runner': 4.1.0 + '@vitest/snapshot': 4.1.0 + '@vitest/spy': 4.1.0 + '@vitest/utils': 4.1.0 es-module-lexer: 2.0.0 expect-type: 1.3.0 magic-string: 0.30.21 @@ -15859,8 +14450,8 @@ snapshots: vite: 8.0.1(@types/node@25.5.0)(esbuild@0.27.2)(jiti@2.6.1)(sass@1.98.0)(stylus@0.64.0)(terser@5.46.0)(yaml@2.8.1) why-is-node-running: 2.3.0 optionalDependencies: - "@types/node": 25.5.0 - "@vitest/ui": 4.1.0(vitest@4.1.0) + '@types/node': 25.5.0 + '@vitest/ui': 4.1.0(vitest@4.1.0) jsdom: 29.0.0(canvas@3.2.1) transitivePeerDependencies: - msw @@ -15895,7 +14486,7 @@ snapshots: webpack-bundle-analyzer@5.2.0: dependencies: - "@discoveryjs/json-ext": 0.5.7 + '@discoveryjs/json-ext': 0.5.7 acorn: 8.15.0 acorn-walk: 8.3.4 commander: 7.2.0 @@ -15912,7 +14503,7 @@ snapshots: webpack-cli@7.0.2(webpack-bundle-analyzer@5.2.0)(webpack@5.105.4): dependencies: - "@discoveryjs/json-ext": 1.0.0 + '@discoveryjs/json-ext': 1.0.0 commander: 14.0.3 cross-spawn: 7.0.6 envinfo: 7.14.0 @@ -15935,12 +14526,12 @@ snapshots: webpack@5.105.4(@swc/core@1.15.18)(esbuild@0.27.2)(webpack-cli@7.0.2): dependencies: - "@types/eslint-scope": 3.7.7 - "@types/estree": 1.0.8 - "@types/json-schema": 7.0.15 - "@webassemblyjs/ast": 1.14.1 - "@webassemblyjs/wasm-edit": 1.14.1 - "@webassemblyjs/wasm-parser": 1.14.1 + '@types/eslint-scope': 3.7.7 + '@types/estree': 1.0.8 + '@types/json-schema': 7.0.15 + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/wasm-edit': 1.14.1 + '@webassemblyjs/wasm-parser': 1.14.1 acorn: 8.16.0 acorn-import-phases: 1.0.4(acorn@8.16.0) browserslist: 4.28.1 @@ -15963,7 +14554,7 @@ snapshots: optionalDependencies: webpack-cli: 7.0.2(webpack-bundle-analyzer@5.2.0)(webpack@5.105.4) transitivePeerDependencies: - - "@swc/core" + - '@swc/core' - esbuild - uglify-js @@ -15971,11 +14562,11 @@ snapshots: whatwg-url@16.0.1: dependencies: - "@exodus/bytes": 1.15.0 + '@exodus/bytes': 1.15.0 tr46: 6.0.0 webidl-conversions: 8.0.1 transitivePeerDependencies: - - "@noble/hashes" + - '@noble/hashes' whatwg-url@5.0.0: dependencies: @@ -16013,8 +14604,8 @@ snapshots: winston@3.19.0: dependencies: - "@colors/colors": 1.6.0 - "@dabh/diagnostics": 2.0.8 + '@colors/colors': 1.6.0 + '@dabh/diagnostics': 2.0.8 async: 3.2.4 is-stream: 2.0.1 logform: 2.7.0 @@ -16027,8 +14618,8 @@ snapshots: with@7.0.2: dependencies: - "@babel/parser": 7.29.0 - "@babel/types": 7.29.0 + '@babel/parser': 7.29.0 + '@babel/types': 7.29.0 assert-never: 1.3.0 babel-walk: 3.0.0-canary-5 From 1f59a7861a1af6cd5e4d8890efacf406f0ab689a Mon Sep 17 00:00:00 2001 From: Matteo Bruni <176620+matteobruni@users.noreply.github.com> Date: Fri, 20 Mar 2026 08:42:42 +0100 Subject: [PATCH 02/20] build: small refactoring in some utils --- utils/canvasUtils/src/Utils.ts | 23 ++++++++------- utils/fractalNoise/src/FractalNoise.ts | 6 ++-- utils/noiseField/src/NoiseFieldGenerator.ts | 11 ++++---- .../src/Classes/SimplexNoise2D.ts | 28 +++++++++++-------- .../src/Classes/SimplexNoise3D.ts | 10 ++++--- .../src/Classes/SimplexNoise4D.ts | 13 ++++++--- 6 files changed, 52 insertions(+), 39 deletions(-) diff --git a/utils/canvasUtils/src/Utils.ts b/utils/canvasUtils/src/Utils.ts index 89d014afbe7..5edd05d7c3a 100644 --- a/utils/canvasUtils/src/Utils.ts +++ b/utils/canvasUtils/src/Utils.ts @@ -5,12 +5,21 @@ import { type IRgba, defaultAlpha, defaultRgbMin, + identity, isNumber, originPoint, safeDocument, } from "@tsparticles/engine"; -const defaultWidth = 0; +const defaultWidth = 0, + indexesOffset = { + r: 0, + g: 1, + b: 2, + a: 3, + }, + alphaMax = 255, + alphaFactor = identity / alphaMax; /** * Draws a line between two points using canvas API in the given context. @@ -55,14 +64,7 @@ export function getCanvasImageData( pixels[pos.y] ??= []; - const indexesOffset = { - r: 0, - g: 1, - b: 2, - a: 3, - }, - alphaFactor = 255, - row = pixels[pos.y]; + const row = pixels[pos.y]; if (!row) { continue; @@ -72,7 +74,7 @@ export function getCanvasImageData( r: imageData[i + indexesOffset.r] ?? defaultRgbMin, g: imageData[i + indexesOffset.g] ?? defaultRgbMin, b: imageData[i + indexesOffset.b] ?? defaultRgbMin, - a: (imageData[i + indexesOffset.a] ?? defaultAlpha) / alphaFactor, + a: (imageData[i + indexesOffset.a] ?? defaultAlpha) * alphaFactor, }; } @@ -110,6 +112,7 @@ export function getImageData( if (!context) { reject(new Error("Could not get canvas context")); + return; } diff --git a/utils/fractalNoise/src/FractalNoise.ts b/utils/fractalNoise/src/FractalNoise.ts index 24e0a489978..20b5d679d44 100644 --- a/utils/fractalNoise/src/FractalNoise.ts +++ b/utils/fractalNoise/src/FractalNoise.ts @@ -8,7 +8,7 @@ export class FractalNoise { this._smoothValueNoise = new SmoothValueNoise(); } - noise2d(x: number, y: number, octaves = 5, persistence = 0.5, lacunarity = 2.0): number { + noise2d(x: number, y: number, octaves = 5, persistence = 0.5, lacunarity = 2): number { let total = 0, frequency = 1, amplitude = 1, @@ -24,7 +24,7 @@ export class FractalNoise { return total / maxValue; } - noise3d(x: number, y: number, z: number, octaves = 5, persistence = 0.5, lacunarity = 2.0): number { + noise3d(x: number, y: number, z: number, octaves = 5, persistence = 0.5, lacunarity = 2): number { let total = 0, frequency = 1, amplitude = 1, @@ -40,7 +40,7 @@ export class FractalNoise { return total / maxValue; } - noise4d(x: number, y: number, z: number, w: number, octaves = 5, persistence = 0.5, lacunarity = 2.0): number { + noise4d(x: number, y: number, z: number, w: number, octaves = 5, persistence = 0.5, lacunarity = 2): number { let total = 0, frequency = 1, amplitude = 1, diff --git a/utils/noiseField/src/NoiseFieldGenerator.ts b/utils/noiseField/src/NoiseFieldGenerator.ts index 30371adda36..70bad2b0b14 100644 --- a/utils/noiseField/src/NoiseFieldGenerator.ts +++ b/utils/noiseField/src/NoiseFieldGenerator.ts @@ -1,4 +1,4 @@ -import { type Container, type Particle, Vector, deepExtend, doublePI, getRandom } from "@tsparticles/engine"; +import { type Container, type Particle, Vector, deepExtend, doublePI, getRandom, identity } from "@tsparticles/engine"; import type { IFactorValues, IOffsetValues } from "./IFactorOffsetValues.js"; import { type IMovePathGenerator } from "@tsparticles/plugin-move"; import type { INoiseFieldOptions } from "./INoiseFieldOptions.js"; @@ -56,10 +56,11 @@ export abstract class NoiseFieldGenerator implements IMovePathGenerator { generate(particle: Particle): Vector { const pos = particle.getPosition(), { size } = this.options, + sizeFactor = identity / size, point = { - x: Math.max(Math.floor(pos.x / size), originCoordinate), - y: Math.max(Math.floor(pos.y / size), originCoordinate), - z: Math.max(Math.floor(pos.z / size), originCoordinate), + x: Math.max(Math.floor(pos.x * sizeFactor), originCoordinate), + y: Math.max(Math.floor(pos.y * sizeFactor), originCoordinate), + z: Math.max(Math.floor(pos.z * sizeFactor), originCoordinate), }, { field } = this, fieldPoint = field[point.x]?.[point.y]?.[point.z]; @@ -215,7 +216,6 @@ export abstract class NoiseFieldGenerator implements IMovePathGenerator { options.width = container.canvas.size.width; options.height = container.canvas.size.height; - options.size = (sourceOptions["size"] as number) > empty ? (sourceOptions["size"] as number) : defaultOptions.size; options.increment = (sourceOptions["increment"] as number) > empty @@ -233,7 +233,6 @@ export abstract class NoiseFieldGenerator implements IMovePathGenerator { options.factor.angle = factor?.angle ?? defaultOptions.factor.angle; options.factor.length = factor?.length ?? defaultOptions.factor.length; - options.seed = sourceOptions["seed"] as number | undefined; this.noiseGen.seed(options.seed ?? getRandom()); diff --git a/utils/simplexNoise/src/Classes/SimplexNoise2D.ts b/utils/simplexNoise/src/Classes/SimplexNoise2D.ts index 6d3c78d1603..d2eb053ca78 100644 --- a/utils/simplexNoise/src/Classes/SimplexNoise2D.ts +++ b/utils/simplexNoise/src/Classes/SimplexNoise2D.ts @@ -1,9 +1,10 @@ /* eslint-disable @typescript-eslint/no-magic-numbers */ /* eslint-disable @typescript-eslint/no-non-null-assertion */ - import type { Contribution2D } from "../Contributions.js"; import { shuffleSeed } from "../utils.js"; +const half = 0.5; + export class SimplexNoise2D { private readonly _NORM_2D; private readonly _SQUISH_2D; @@ -18,9 +19,9 @@ export class SimplexNoise2D { private _perm2D: Uint8Array; constructor() { - this._NORM_2D = 1.0 / 47.0; - this._SQUISH_2D = (Math.sqrt(2 + 1) - 1) / 2; - this._STRETCH_2D = (1 / Math.sqrt(2 + 1) - 1) / 2; + this._NORM_2D = 1 / 47; + this._SQUISH_2D = (Math.sqrt(2 + 1) - 1) * half; + this._STRETCH_2D = (1 / Math.sqrt(2 + 1) - 1) * half; this._base2D = [ [1, 1, 0, 1, 0, 1, 0, 0, 0], [1, 1, 0, 1, 0, 1, 2, 1, 1], @@ -122,15 +123,17 @@ export class SimplexNoise2D { dy = dy0 + c.dy, attn = 2 - dx * dx - dy * dy; - if (attn > 0) { - const px = xsb + c.xsb, - py = ysb + c.ysb, - indexPartA = _perm[px & 0xff]!, - index = _perm2D[(indexPartA + py) & 0xff]!, - valuePart = _gradients2D[index]! * dx + _gradients2D[index + 1]! * dy; - - value += attn * attn * attn * attn * valuePart; + if (attn <= 0) { + continue; } + + const px = xsb + c.xsb, + py = ysb + c.ysb, + indexPartA = _perm[px & 0xff]!, + index = _perm2D[(indexPartA + py) & 0xff]!, + valuePart = _gradients2D[index]! * dx + _gradients2D[index + 1]! * dy; + + value += attn * attn * attn * attn * valuePart; } return value * _NORM_2D; @@ -196,6 +199,7 @@ export class SimplexNoise2D { this._perm[i] = source[r[0]]!; this._perm2D[i] = this._perm[i]! & 0x0e; + source[r[0]] = source[i]!; } } diff --git a/utils/simplexNoise/src/Classes/SimplexNoise3D.ts b/utils/simplexNoise/src/Classes/SimplexNoise3D.ts index bd0505ea242..8c868398167 100644 --- a/utils/simplexNoise/src/Classes/SimplexNoise3D.ts +++ b/utils/simplexNoise/src/Classes/SimplexNoise3D.ts @@ -1,9 +1,10 @@ /* eslint-disable @typescript-eslint/no-magic-numbers */ /* eslint-disable @typescript-eslint/no-non-null-assertion */ - import type { Contribution3D } from "../Contributions.js"; import { shuffleSeed } from "../utils.js"; +const third = 1 / 3; + export class SimplexNoise3D { private readonly _NORM_3D; private readonly _SQUISH_3D; @@ -18,9 +19,9 @@ export class SimplexNoise3D { private _perm3D: Uint8Array; constructor() { - this._NORM_3D = 1.0 / 103.0; - this._SQUISH_3D = (Math.sqrt(3 + 1) - 1) / 3; - this._STRETCH_3D = (1 / Math.sqrt(3 + 1) - 1) / 3; + this._NORM_3D = 1 / 103; + this._SQUISH_3D = (Math.sqrt(3 + 1) - 1) * third; + this._STRETCH_3D = (1 / Math.sqrt(3 + 1) - 1) * third; this._base3D = [ [0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1], @@ -580,6 +581,7 @@ export class SimplexNoise3D { this._perm[i] = source[r[0]]!; this._perm3D[i] = (this._perm[i]! % 24) * 3; + source[r[0]] = source[i]!; } } diff --git a/utils/simplexNoise/src/Classes/SimplexNoise4D.ts b/utils/simplexNoise/src/Classes/SimplexNoise4D.ts index baf9021065f..7a7bac712b3 100644 --- a/utils/simplexNoise/src/Classes/SimplexNoise4D.ts +++ b/utils/simplexNoise/src/Classes/SimplexNoise4D.ts @@ -4,6 +4,8 @@ import type { Contribution4D } from "../Contributions.js"; import { shuffleSeed } from "../utils.js"; +const quarter = 0.25; + export class SimplexNoise4D { private readonly _NORM_4D; private readonly _SQUISH_4D; @@ -18,9 +20,9 @@ export class SimplexNoise4D { private _perm4D: Uint8Array; constructor() { - this._NORM_4D = 1.0 / 30.0; - this._SQUISH_4D = (Math.sqrt(4 + 1) - 1) * 0.25; - this._STRETCH_4D = (1 / Math.sqrt(4 + 1) - 1) * 0.25; + this._NORM_4D = 1 / 30; + this._SQUISH_4D = (Math.sqrt(4 + 1) - 1) * quarter; + this._STRETCH_4D = (1 / Math.sqrt(4 + 1) - 1) * quarter; this._lookup = []; this._perm = new Uint8Array(0); this._perm4D = new Uint8Array(0); @@ -2798,7 +2800,6 @@ export class SimplexNoise4D { } /** - * * @param x - * @param y - * @param z - @@ -2866,12 +2867,14 @@ export class SimplexNoise4D { value += attn * attn * attn * attn * valuePart; } } + return value * _NORM_4D; } seed(clientSeed: number): void { const { _p4D, _base4D, _lookupPairs4D } = this, contributions: Contribution4D[] = []; + for (let i = 0; i < _p4D.length; i += 16) { const baseSet = _base4D[_p4D[i]!]!; @@ -2911,6 +2914,7 @@ export class SimplexNoise4D { this._perm = new Uint8Array(256); this._perm4D = new Uint8Array(256); + const source = new Uint8Array(256); for (let i = 0; i < 256; i++) { @@ -2935,6 +2939,7 @@ export class SimplexNoise4D { this._perm[i] = source[r[0]]!; this._perm4D[i] = this._perm[i]! & 0xfc; + source[r[0]] = source[i]!; } } From 8ac9402c8ae540b38ccdb4e7f4719aa71ed70728 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 20 Mar 2026 13:56:33 +0000 Subject: [PATCH 03/20] chore(deps): update nrwl/nx-set-shas action to v5 --- .github/workflows/nodejs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/nodejs.yml b/.github/workflows/nodejs.yml index 078199393b0..6df0ec6f6b1 100644 --- a/.github/workflows/nodejs.yml +++ b/.github/workflows/nodejs.yml @@ -25,7 +25,7 @@ jobs: fetch-depth: 0 - name: Derive SHAs for nx affected - uses: nrwl/nx-set-shas@v4 + uses: nrwl/nx-set-shas@v5 - uses: actions/setup-node@v6 with: From 10445ea0153b8148591e7d133adef3262bfa283a Mon Sep 17 00:00:00 2001 From: Matteo Bruni <176620+matteobruni@users.noreply.github.com> Date: Sun, 29 Mar 2026 20:50:53 +0200 Subject: [PATCH 04/20] build: updated deps --- package.json | 26 +- pnpm-lock.yaml | 864 +++++++++++++++++++++++++++++-------------------- 2 files changed, 518 insertions(+), 372 deletions(-) diff --git a/package.json b/package.json index 10a68a0e50f..17aed9cb85b 100644 --- a/package.json +++ b/package.json @@ -30,34 +30,34 @@ "devDependencies": { "@commitlint/cli": "^20.5.0", "@commitlint/config-conventional": "^20.5.0", - "@swc/core": "^1.15.18", + "@swc/core": "^1.15.21", "@tsparticles/cli": "^3.3.8", "@tsparticles/depcruise-config": "^3.3.5", "@tsparticles/eslint-config": "^3.3.5", "@tsparticles/prettier-config": "^3.3.5", "@tsparticles/tsconfig": "^3.3.5", "@tsparticles/webpack-plugin": "^3.3.5", - "@types/jsdom": "^28.0.0", + "@types/jsdom": "^28.0.1", "@types/node": "^25.5.0", "@types/webpack-env": "^1.18.8", - "@vitest/coverage-v8": "^4.1.0", - "@vitest/ui": "^4.1.0", + "@vitest/coverage-v8": "^4.1.2", + "@vitest/ui": "^4.1.2", "browserslist": "^4.28.1", - "canvas": "^3.2.1", + "canvas": "^3.2.2", "copyfiles": "^2.4.1", "cross-env": "^10.1.0", - "eslint": "^10.0.3", + "eslint": "^10.1.0", "eslint-config-prettier": "^10.1.8", - "eslint-plugin-jsdoc": "^62.8.0", + "eslint-plugin-jsdoc": "^62.8.1", "eslint-plugin-prettier": "^5.5.5", "eslint-plugin-tsdoc": "^0.5.2", "fs-extra": "^11.3.4", "gh-pages": "^6.3.0", "husky": "^9.1.7", - "jsdom": "^29.0.0", + "jsdom": "^29.0.1", "jsdom-global": "^3.0.2", "lerna": "^9.0.7", - "nx": "^22.6.0", + "nx": "^22.6.3", "nx-cloud": "^19.1.0", "prettier": "^3.8.1", "prettier-plugin-multiline-arrays": "^4.1.5", @@ -67,7 +67,7 @@ "terser-webpack-plugin": "^5.4.0", "ts-json-schema-generator": "^2.9.0", "ts-node": "^10.9.2", - "typedoc": "^0.28.17", + "typedoc": "^0.28.18", "typedoc-plugin-google-ads": "^1.6.0", "typedoc-plugin-clarity": "^1.6.0", "typedoc-plugin-coverage": "^4.0.2", @@ -77,11 +77,11 @@ "typescript": "^5.9.3", "typescript-eslint": "^8.57.1", "typescript-json-schema": "^0.67.1", - "vitest": "^4.1.0", + "vitest": "^4.1.2", "webpack": "^5.105.4", - "webpack-bundle-analyzer": "^5.2.0", + "webpack-bundle-analyzer": "^5.3.0", "webpack-cli": "^7.0.2", "yargs": "^18.0.0" }, - "packageManager": "pnpm@10.32.1" + "packageManager": "pnpm@10.33.0" } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 7f865c40745..374d5ddf9f8 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -15,8 +15,8 @@ importers: specifier: ^20.5.0 version: 20.5.0 '@swc/core': - specifier: ^1.15.18 - version: 1.15.18 + specifier: ^1.15.21 + version: 1.15.21 '@tsparticles/cli': specifier: ^3.3.8 version: 3.3.8(@types/eslint@8.56.6)(esbuild@0.27.2)(jiti@2.6.1)(webpack-cli@7.0.2) @@ -25,7 +25,7 @@ importers: version: 3.3.5(dependency-cruiser@17.3.9) '@tsparticles/eslint-config': specifier: ^3.3.5 - version: 3.3.5(@types/eslint@8.56.6)(eslint@10.0.3(jiti@2.6.1)) + version: 3.3.5(@types/eslint@8.56.6)(eslint@10.1.0(jiti@2.6.1)) '@tsparticles/prettier-config': specifier: ^3.3.5 version: 3.3.5(prettier@3.8.1) @@ -36,7 +36,7 @@ importers: specifier: ^3.3.5 version: 3.3.5(@types/eslint@8.56.6)(esbuild@0.27.2)(jiti@2.6.1) '@types/jsdom': - specifier: ^28.0.0 + specifier: ^28.0.1 version: 28.0.1 '@types/node': specifier: ^25.5.0 @@ -45,17 +45,17 @@ importers: specifier: ^1.18.8 version: 1.18.8 '@vitest/coverage-v8': - specifier: ^4.1.0 - version: 4.1.0(vitest@4.1.0) + specifier: ^4.1.2 + version: 4.1.2(vitest@4.1.2) '@vitest/ui': - specifier: ^4.1.0 - version: 4.1.0(vitest@4.1.0) + specifier: ^4.1.2 + version: 4.1.2(vitest@4.1.2) browserslist: specifier: ^4.28.1 version: 4.28.1 canvas: - specifier: ^3.2.1 - version: 3.2.1 + specifier: ^3.2.2 + version: 3.2.2 copyfiles: specifier: ^2.4.1 version: 2.4.1 @@ -63,20 +63,20 @@ importers: specifier: ^10.1.0 version: 10.1.0 eslint: - specifier: ^10.0.3 - version: 10.0.3(jiti@2.6.1) + specifier: ^10.1.0 + version: 10.1.0(jiti@2.6.1) eslint-config-prettier: specifier: ^10.1.8 - version: 10.1.8(eslint@10.0.3(jiti@2.6.1)) + version: 10.1.8(eslint@10.1.0(jiti@2.6.1)) eslint-plugin-jsdoc: - specifier: ^62.8.0 - version: 62.8.0(eslint@10.0.3(jiti@2.6.1)) + specifier: ^62.8.1 + version: 62.8.1(eslint@10.1.0(jiti@2.6.1)) eslint-plugin-prettier: specifier: ^5.5.5 - version: 5.5.5(@types/eslint@8.56.6)(eslint-config-prettier@10.1.8(eslint@10.0.3(jiti@2.6.1)))(eslint@10.0.3(jiti@2.6.1))(prettier@3.8.1) + version: 5.5.5(@types/eslint@8.56.6)(eslint-config-prettier@10.1.8(eslint@10.1.0(jiti@2.6.1)))(eslint@10.1.0(jiti@2.6.1))(prettier@3.8.1) eslint-plugin-tsdoc: specifier: ^0.5.2 - version: 0.5.2(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3) + version: 0.5.2(eslint@10.1.0(jiti@2.6.1))(typescript@5.9.3) fs-extra: specifier: ^11.3.4 version: 11.3.4 @@ -87,17 +87,17 @@ importers: specifier: ^9.1.7 version: 9.1.7 jsdom: - specifier: ^29.0.0 - version: 29.0.0(canvas@3.2.1) + specifier: ^29.0.1 + version: 29.0.1(canvas@3.2.2) jsdom-global: specifier: ^3.0.2 - version: 3.0.2(jsdom@29.0.0(canvas@3.2.1)) + version: 3.0.2(jsdom@29.0.1(canvas@3.2.2)) lerna: specifier: ^9.0.7 - version: 9.0.7(@swc/core@1.15.18)(@types/node@25.5.0) + version: 9.0.7(@swc/core@1.15.21)(@types/node@25.5.0) nx: - specifier: ^22.6.0 - version: 22.6.0(@swc/core@1.15.18) + specifier: ^22.6.3 + version: 22.6.3(@swc/core@1.15.21) nx-cloud: specifier: ^19.1.0 version: 19.1.0 @@ -115,58 +115,58 @@ importers: version: 0.5.21 swc-loader: specifier: ^0.2.7 - version: 0.2.7(@swc/core@1.15.18)(webpack@5.105.4) + version: 0.2.7(@swc/core@1.15.21)(webpack@5.105.4) terser-webpack-plugin: specifier: ^5.4.0 - version: 5.4.0(@swc/core@1.15.18)(esbuild@0.27.2)(webpack@5.105.4) + version: 5.4.0(@swc/core@1.15.21)(esbuild@0.27.2)(webpack@5.105.4) ts-json-schema-generator: specifier: ^2.9.0 version: 2.9.0 ts-node: specifier: ^10.9.2 - version: 10.9.2(@swc/core@1.15.18)(@types/node@25.5.0)(typescript@5.9.3) + version: 10.9.2(@swc/core@1.15.21)(@types/node@25.5.0)(typescript@5.9.3) typedoc: - specifier: ^0.28.17 - version: 0.28.17(typescript@5.9.3) + specifier: ^0.28.18 + version: 0.28.18(typescript@5.9.3) typedoc-plugin-clarity: specifier: ^1.6.0 - version: 1.6.0(typedoc@0.28.17(typescript@5.9.3)) + version: 1.6.0(typedoc@0.28.18(typescript@5.9.3)) typedoc-plugin-coverage: specifier: ^4.0.2 - version: 4.0.2(typedoc@0.28.17(typescript@5.9.3)) + version: 4.0.2(typedoc@0.28.18(typescript@5.9.3)) typedoc-plugin-google-ads: specifier: ^1.6.0 - version: 1.6.0(typedoc@0.28.17(typescript@5.9.3)) + version: 1.6.0(typedoc@0.28.18(typescript@5.9.3)) typedoc-plugin-keywords: specifier: ^1.6.0 - version: 1.6.0(typedoc@0.28.17(typescript@5.9.3)) + version: 1.6.0(typedoc@0.28.18(typescript@5.9.3)) typedoc-plugin-mdn-links: specifier: ^5.1.1 - version: 5.1.1(typedoc@0.28.17(typescript@5.9.3)) + version: 5.1.1(typedoc@0.28.18(typescript@5.9.3)) typedoc-plugin-missing-exports: specifier: ^4.1.2 - version: 4.1.2(typedoc@0.28.17(typescript@5.9.3)) + version: 4.1.2(typedoc@0.28.18(typescript@5.9.3)) typescript: specifier: ^5.9.3 version: 5.9.3 typescript-eslint: specifier: ^8.57.1 - version: 8.57.1(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3) + version: 8.57.1(eslint@10.1.0(jiti@2.6.1))(typescript@5.9.3) typescript-json-schema: specifier: ^0.67.1 - version: 0.67.1(@swc/core@1.15.18) + version: 0.67.1(@swc/core@1.15.21) vitest: - specifier: ^4.1.0 - version: 4.1.0(@types/node@25.5.0)(@vitest/ui@4.1.0)(jsdom@29.0.0(canvas@3.2.1))(vite@8.0.1(@types/node@25.5.0)(esbuild@0.27.2)(jiti@2.6.1)(sass@1.98.0)(stylus@0.64.0)(terser@5.46.0)(yaml@2.8.1)) + specifier: ^4.1.2 + version: 4.1.2(@types/node@25.5.0)(@vitest/ui@4.1.2)(jsdom@29.0.1(canvas@3.2.2))(vite@8.0.1(@types/node@25.5.0)(esbuild@0.27.2)(jiti@2.6.1)(sass@1.98.0)(stylus@0.64.0)(terser@5.46.0)(yaml@2.8.3)) webpack: specifier: ^5.105.4 - version: 5.105.4(@swc/core@1.15.18)(esbuild@0.27.2)(webpack-cli@7.0.2) + version: 5.105.4(@swc/core@1.15.21)(esbuild@0.27.2)(webpack-cli@7.0.2) webpack-bundle-analyzer: - specifier: ^5.2.0 - version: 5.2.0 + specifier: ^5.3.0 + version: 5.3.0 webpack-cli: specifier: ^7.0.2 - version: 7.0.2(webpack-bundle-analyzer@5.2.0)(webpack@5.105.4) + version: 7.0.2(webpack-bundle-analyzer@5.3.0)(webpack@5.105.4) yargs: specifier: ^18.0.0 version: 18.0.0 @@ -1237,7 +1237,7 @@ importers: version: 5.9.3 vite: specifier: ^7.3.1 - version: 7.3.1(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.98.0)(stylus@0.64.0)(terser@5.46.0)(yaml@2.8.1) + version: 7.3.1(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.98.0)(stylus@0.64.0)(terser@5.46.0)(yaml@2.8.3) effects/bubble: dependencies: @@ -2519,9 +2519,9 @@ packages: resolution: {integrity: sha512-PwvII5Lo3dzZKpTIYHvPnrKQg6UlOY6V/z/ahPiSGt1HeAMlC96PPfuPZ9ZmzcrKQuAZgO9NzX67sXWRI3T62Q==} engines: {node: '>=22'} - '@discoveryjs/json-ext@0.5.7': - resolution: {integrity: sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==} - engines: {node: '>=10.0.0'} + '@discoveryjs/json-ext@0.6.3': + resolution: {integrity: sha512-4B4OijXeVNOPZlYA2oEwWOTkzyltLao+xbotHQeqN++Rv27Y6s818+n2Qkp8q+Fxhn0t/5lA5X1Mxktud8eayQ==} + engines: {node: '>=14.17.0'} '@discoveryjs/json-ext@1.0.0': resolution: {integrity: sha512-dDlz3W405VMFO4w5kIP9DOmELBcvFQGmLoKSdIRstBDubKFYwaNHV1NnlzMCQpXQFGWVALmeMORAuiLx18AvZQ==} @@ -2759,8 +2759,8 @@ packages: resolution: {integrity: sha512-3DguDv/oUE+7vjMeTSOjCSG+KeawgVQOHrKRnvUuqYh1mfArrh7s+s8hXW3e4RerBA1+Wh+hBqf8sJNpqNrBWg==} engines: {node: '>=6'} - '@gerrit0/mini-shiki@3.20.0': - resolution: {integrity: sha512-Wa57i+bMpK6PGJZ1f2myxo3iO+K/kZikcyvH8NIqNNZhQUbDav7V9LQmWOXhf946mz5c1NZ19WMsGYiDKTryzQ==} + '@gerrit0/mini-shiki@3.23.0': + resolution: {integrity: sha512-bEMORlG0cqdjVyCEuU0cDQbORWX+kYCeo0kV1lbxF5bt4r7SID2l9bqsxJEM0zndaxpOUT7riCyIVEuqq/Ynxg==} '@humanfs/core@0.19.1': resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==} @@ -3085,57 +3085,57 @@ packages: peerDependencies: nx: '>= 21 <= 23 || ^22.0.0-0' - '@nx/nx-darwin-arm64@22.6.0': - resolution: {integrity: sha512-sOlgi3ym6gA5ipMtTv39fC3+33KvNEAsI5CoVejVezLdVFjtSlS+ccR3OKZRZeuZuvpeOzKNqGtnqwE+UNtIhg==} + '@nx/nx-darwin-arm64@22.6.3': + resolution: {integrity: sha512-m8hEp2WufqUJzrl2uI5OItkPqIo8+0lbOBEKI7yZN9uoL6FKzP5LF6WlMFPJ8FlajtjBzQqaoDwp04+bkuXeaw==} cpu: [arm64] os: [darwin] - '@nx/nx-darwin-x64@22.6.0': - resolution: {integrity: sha512-qg+wMRkgPazGG3dBKtP8mRFppLTigyGVJJnRfQquxnjXPY5oFVL9UZcKbISItAIdSk5jzxZ9SwAIMk2Ggeg36w==} + '@nx/nx-darwin-x64@22.6.3': + resolution: {integrity: sha512-biPybnU2qlNuP7ytBYmRuusrU5TWXqVKMHr7Kxrqlin87iJR5MosXSZ+Pjr8H+0zFrB4rGf/9yro3s/dYG40Yw==} cpu: [x64] os: [darwin] - '@nx/nx-freebsd-x64@22.6.0': - resolution: {integrity: sha512-PjYRBZalFE2IGrZD7ukGXfRppPm21BpeGVqPH6BjcnB8dmyRx5cJG1uc6xom09yQK5X0Z+PPYzQhYGmZn5F4yQ==} + '@nx/nx-freebsd-x64@22.6.3': + resolution: {integrity: sha512-8C6hhvVuqPwnvjHMPAA77DeEZ/WSY6AxuuIiyRje9uKF2B5F26sV89lRjBoEiWnV1dmLdy5YY5HJZEjwqjifAQ==} cpu: [x64] os: [freebsd] - '@nx/nx-linux-arm-gnueabihf@22.6.0': - resolution: {integrity: sha512-rb/KEq90/Su5mzPdDybURzHt8cTAqwJPd6K/Q1ojD9dmClYVsPUZjbGwNveeQRp/iD1kzbaUF2WcbJx1b87seg==} + '@nx/nx-linux-arm-gnueabihf@22.6.3': + resolution: {integrity: sha512-8gWDhe4lY3pegmKx5/z7z/h4adlmL+3wuPXMUlBtMkhJ5TX1z94PkVtHRprEsHuQHO7PsSFaOJdsIZbr/sx7SQ==} cpu: [arm] os: [linux] - '@nx/nx-linux-arm64-gnu@22.6.0': - resolution: {integrity: sha512-AfcY3cbtqwc43pIkI0vlgak70P7cQgt8RhfRpG9rd3LYEpdaVxxfKP+0unMFjT23UWEUfexHlJyLoam1lgIenQ==} + '@nx/nx-linux-arm64-gnu@22.6.3': + resolution: {integrity: sha512-ZRP5qf4lsk0HFuvhhSJc+t3a0NKc+WXElKPXTEK9DGOluY327lUogeZrSSJfxGf+dBTtpuRIO8rOIrnZOf5Xww==} cpu: [arm64] os: [linux] libc: [glibc] - '@nx/nx-linux-arm64-musl@22.6.0': - resolution: {integrity: sha512-hvFMdPnS1nSnzyklOJMyQEC12ovC8h0JRAvdmpEKBPLiHV3Wjuj2IGSl0MCMI/YVMq3Y3uxRtwIKqHzYsZK8kw==} + '@nx/nx-linux-arm64-musl@22.6.3': + resolution: {integrity: sha512-AcOf/5UJD7Fyc2ujHYajxLw+ajJ8C1IhHoCQyLwBpd/15lu3pii9Z9G4cNBm0ejKnnzofzRmhv2xka9qqCtpXQ==} cpu: [arm64] os: [linux] libc: [musl] - '@nx/nx-linux-x64-gnu@22.6.0': - resolution: {integrity: sha512-1EM/M9RVVfqSWsSJAb8RLXGBGiVuwLb2AA4Dpv1pC+yjziAbfg9ERsVXuh14XaUTklBugI+Tm/k0dyZD2B22qw==} + '@nx/nx-linux-x64-gnu@22.6.3': + resolution: {integrity: sha512-KxSdUCGOt2GGXzgggp9sSLJacWj7AAI410UPOEGw5F6GS5148e+kiy3piULF/0NE5/q40IK7gyS43HY99qgAqQ==} cpu: [x64] os: [linux] libc: [glibc] - '@nx/nx-linux-x64-musl@22.6.0': - resolution: {integrity: sha512-C33hO5YMv55K0XK+elkCUKEN3c/86KAVTpXRGr3Ywvw/5dftR4vYI/yfBUC/gbxW95AjzeX9fHtY1EThKUCvuA==} + '@nx/nx-linux-x64-musl@22.6.3': + resolution: {integrity: sha512-Tvlw6XvTj+5IQRkprV3AdCKnlQFYh2OJYn0wgHrvQWeV1Eks/RaCoRChfHXdAyE4S64YrBA6NAOxfXANh3yLTg==} cpu: [x64] os: [linux] libc: [musl] - '@nx/nx-win32-arm64-msvc@22.6.0': - resolution: {integrity: sha512-/NJ1CgAWBpR55PUENospq5sChxK9PC2NIgOI5BLZpyjClAW1dLwaKRr5EFDS4wBKzhz5Dp9ebmo92MiPEWsAvg==} + '@nx/nx-win32-arm64-msvc@22.6.3': + resolution: {integrity: sha512-9yRRuoVeQdV52GJtHo+vH6+es2PNF8skWlUa74jyWRsoZM9Ew8JmRZruRfhkUmhjJTrguqJLj9koa/NXgS0yeg==} cpu: [arm64] os: [win32] - '@nx/nx-win32-x64-msvc@22.6.0': - resolution: {integrity: sha512-XY/csfuGjVwVFyFayU0ZWbnXPinVnP/AcjMi39SCWM72bxeSB1lKmPYo0z/18mJcGQRQC0mJrGpzr1YPlhW3mQ==} + '@nx/nx-win32-x64-msvc@22.6.3': + resolution: {integrity: sha512-21wjiUSV5hMa1oj8UfpfMTxpROksWrr/minAv8ejmGFwUSoztSzAkNf5i4PESPsbYNytjKooDzzAiQMLo6b0kg==} cpu: [x64] os: [win32] @@ -3666,17 +3666,17 @@ packages: cpu: [x64] os: [win32] - '@shikijs/engine-oniguruma@3.20.0': - resolution: {integrity: sha512-Yx3gy7xLzM0ZOjqoxciHjA7dAt5tyzJE3L4uQoM83agahy+PlW244XJSrmJRSBvGYELDhYXPacD4R/cauV5bzQ==} + '@shikijs/engine-oniguruma@3.23.0': + resolution: {integrity: sha512-1nWINwKXxKKLqPibT5f4pAFLej9oZzQTsby8942OTlsJzOBZ0MWKiwzMsd+jhzu8YPCHAswGnnN1YtQfirL35g==} - '@shikijs/langs@3.20.0': - resolution: {integrity: sha512-le+bssCxcSHrygCWuOrYJHvjus6zhQ2K7q/0mgjiffRbkhM4o1EWu2m+29l0yEsHDbWaWPNnDUTRVVBvBBeKaA==} + '@shikijs/langs@3.23.0': + resolution: {integrity: sha512-2Ep4W3Re5aB1/62RSYQInK9mM3HsLeB91cHqznAJMuylqjzNVAVCMnNWRHFtcNHXsoNRayP9z1qj4Sq3nMqYXg==} - '@shikijs/themes@3.20.0': - resolution: {integrity: sha512-U1NSU7Sl26Q7ErRvJUouArxfM2euWqq1xaSrbqMu2iqa+tSp0D1Yah8216sDYbdDHw4C8b75UpE65eWorm2erQ==} + '@shikijs/themes@3.23.0': + resolution: {integrity: sha512-5qySYa1ZgAT18HR/ypENL9cUSGOeI2x+4IvYJu4JgVJdizn6kG4ia5Q1jDEOi7gTbN4RbuYtmHh0W3eccOrjMA==} - '@shikijs/types@3.20.0': - resolution: {integrity: sha512-lhYAATn10nkZcBQ0BlzSbJA3wcmL5MXUUF8d2Zzon6saZDlToKaiRX60n2+ZaHJCmXEcZRWNzn+k9vplr8Jhsw==} + '@shikijs/types@3.23.0': + resolution: {integrity: sha512-3JZ5HXOZfYjsYSk0yPwBrkupyYSLpAE26Qc0HLghhZNGTZg/SKxXIIgoxOpmmeQP0RRSDJTk1/vPfw9tbw+jSQ==} '@shikijs/vscode-textmate@10.0.2': resolution: {integrity: sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==} @@ -3745,18 +3745,36 @@ packages: cpu: [arm64] os: [darwin] + '@swc/core-darwin-arm64@1.15.21': + resolution: {integrity: sha512-SA8SFg9dp0qKRH8goWsax6bptFE2EdmPf2YRAQW9WoHGf3XKM1bX0nd5UdwxmC5hXsBUZAYf7xSciCler6/oyA==} + engines: {node: '>=10'} + cpu: [arm64] + os: [darwin] + '@swc/core-darwin-x64@1.15.18': resolution: {integrity: sha512-wZle0eaQhnzxWX5V/2kEOI6Z9vl/lTFEC6V4EWcn+5pDjhemCpQv9e/TDJ0GIoiClX8EDWRvuZwh+Z3dhL1NAg==} engines: {node: '>=10'} cpu: [x64] os: [darwin] + '@swc/core-darwin-x64@1.15.21': + resolution: {integrity: sha512-//fOVntgowz9+V90lVsNCtyyrtbHp3jWH6Rch7MXHXbcvbLmbCTmssl5DeedUWLLGiAAW1wksBdqdGYOTjaNLw==} + engines: {node: '>=10'} + cpu: [x64] + os: [darwin] + '@swc/core-linux-arm-gnueabihf@1.15.18': resolution: {integrity: sha512-ao61HGXVqrJFHAcPtF4/DegmwEkVCo4HApnotLU8ognfmU8x589z7+tcf3hU+qBiU1WOXV5fQX6W9Nzs6hjxDw==} engines: {node: '>=10'} cpu: [arm] os: [linux] + '@swc/core-linux-arm-gnueabihf@1.15.21': + resolution: {integrity: sha512-meNI4Sh6h9h8DvIfEc0l5URabYMSuNvyisLmG6vnoYAS43s8ON3NJR8sDHvdP7NJTrLe0q/x2XCn6yL/BeHcZg==} + engines: {node: '>=10'} + cpu: [arm] + os: [linux] + '@swc/core-linux-arm64-gnu@1.15.18': resolution: {integrity: sha512-3xnctOBLIq3kj8PxOCgPrGjBLP/kNOddr6f5gukYt/1IZxsITQaU9TDyjeX6jG+FiCIHjCuWuffsyQDL5Ew1bg==} engines: {node: '>=10'} @@ -3764,6 +3782,13 @@ packages: os: [linux] libc: [glibc] + '@swc/core-linux-arm64-gnu@1.15.21': + resolution: {integrity: sha512-QrXlNQnHeXqU2EzLlnsPoWEh8/GtNJLvfMiPsDhk+ht6Xv8+vhvZ5YZ/BokNWSIZiWPKLAqR0M7T92YF5tmD3g==} + engines: {node: '>=10'} + cpu: [arm64] + os: [linux] + libc: [glibc] + '@swc/core-linux-arm64-musl@1.15.18': resolution: {integrity: sha512-0a+Lix+FSSHBSBOA0XznCcHo5/1nA6oLLjcnocvzXeqtdjnPb+SvchItHI+lfeiuj1sClYPDvPMLSLyXFaiIKw==} engines: {node: '>=10'} @@ -3771,6 +3796,27 @@ packages: os: [linux] libc: [musl] + '@swc/core-linux-arm64-musl@1.15.21': + resolution: {integrity: sha512-8/yGCMO333ultDaMQivE5CjO6oXDPeeg1IV4sphojPkb0Pv0i6zvcRIkgp60xDB+UxLr6VgHgt+BBgqS959E9g==} + engines: {node: '>=10'} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@swc/core-linux-ppc64-gnu@1.15.21': + resolution: {integrity: sha512-ucW0HzPx0s1dgRvcvuLSPSA/2Kk/VYTv9st8qe1Kc22Gu0Q0rH9+6TcBTmMuNIp0Xs4BPr1uBttmbO1wEGI49Q==} + engines: {node: '>=10'} + cpu: [ppc64] + os: [linux] + libc: [glibc] + + '@swc/core-linux-s390x-gnu@1.15.21': + resolution: {integrity: sha512-ulTnOGc5I7YRObE/9NreAhQg94QkiR5qNhhcUZ1iFAYjzg/JGAi1ch+s/Ixe61pMIr8bfVrF0NOaB0f8wjaAfA==} + engines: {node: '>=10'} + cpu: [s390x] + os: [linux] + libc: [glibc] + '@swc/core-linux-x64-gnu@1.15.18': resolution: {integrity: sha512-wG9J8vReUlpaHz4KOD/5UE1AUgirimU4UFT9oZmupUDEofxJKYb1mTA/DrMj0s78bkBiNI+7Fo2EgPuvOJfuAA==} engines: {node: '>=10'} @@ -3778,6 +3824,13 @@ packages: os: [linux] libc: [glibc] + '@swc/core-linux-x64-gnu@1.15.21': + resolution: {integrity: sha512-D0RokxtM+cPvSqJIKR6uja4hbD+scI9ezo95mBhfSyLUs9wnPPl26sLp1ZPR/EXRdYm3F3S6RUtVi+8QXhT24Q==} + engines: {node: '>=10'} + cpu: [x64] + os: [linux] + libc: [glibc] + '@swc/core-linux-x64-musl@1.15.18': resolution: {integrity: sha512-4nwbVvCphKzicwNWRmvD5iBaZj8JYsRGa4xOxJmOyHlMDpsvvJ2OR2cODlvWyGFH6BYL1MfIAK3qph3hp0Az6g==} engines: {node: '>=10'} @@ -3785,24 +3838,49 @@ packages: os: [linux] libc: [musl] + '@swc/core-linux-x64-musl@1.15.21': + resolution: {integrity: sha512-nER8u7VeRfmU6fMDzl1NQAbbB/G7O2avmvCOwIul1uGkZ2/acbPH+DCL9h5+0yd/coNcxMBTL6NGepIew+7C2w==} + engines: {node: '>=10'} + cpu: [x64] + os: [linux] + libc: [musl] + '@swc/core-win32-arm64-msvc@1.15.18': resolution: {integrity: sha512-zk0RYO+LjiBCat2RTMHzAWaMky0cra9loH4oRrLKLLNuL+jarxKLFDA8xTZWEkCPLjUTwlRN7d28eDLLMgtUcQ==} engines: {node: '>=10'} cpu: [arm64] os: [win32] + '@swc/core-win32-arm64-msvc@1.15.21': + resolution: {integrity: sha512-+/AgNBnjYugUA8C0Do4YzymgvnGbztv7j8HKSQLvR/DQgZPoXQ2B3PqB2mTtGh/X5DhlJWiqnunN35JUgWcAeQ==} + engines: {node: '>=10'} + cpu: [arm64] + os: [win32] + '@swc/core-win32-ia32-msvc@1.15.18': resolution: {integrity: sha512-yVuTrZ0RccD5+PEkpcLOBAuPbYBXS6rslENvIXfvJGXSdX5QGi1ehC4BjAMl5FkKLiam4kJECUI0l7Hq7T1vwg==} engines: {node: '>=10'} cpu: [ia32] os: [win32] + '@swc/core-win32-ia32-msvc@1.15.21': + resolution: {integrity: sha512-IkSZj8PX/N4HcaFhMQtzmkV8YSnuNoJ0E6OvMwFiOfejPhiKXvl7CdDsn1f4/emYEIDO3fpgZW9DTaCRMDxaDA==} + engines: {node: '>=10'} + cpu: [ia32] + os: [win32] + '@swc/core-win32-x64-msvc@1.15.18': resolution: {integrity: sha512-7NRmE4hmUQNCbYU3Hn9Tz57mK9Qq4c97ZS+YlamlK6qG9Fb5g/BB3gPDe0iLlJkns/sYv2VWSkm8c3NmbEGjbg==} engines: {node: '>=10'} cpu: [x64] os: [win32] + '@swc/core-win32-x64-msvc@1.15.21': + resolution: {integrity: sha512-zUyWso7OOENB6e1N1hNuNn8vbvLsTdKQ5WKLgt/JcBNfJhKy/6jmBmqI3GXk/MyvQKd5SLvP7A0F36p7TeDqvw==} + engines: {node: '>=10'} + cpu: [x64] + os: [win32] + '@swc/core@1.15.18': resolution: {integrity: sha512-z87aF9GphWp//fnkRsqvtY+inMVPgYW3zSlXH1kJFvRT5H/wiAn+G32qW5l3oEk63KSF1x3Ov0BfHCObAmT8RA==} engines: {node: '>=10'} @@ -3812,6 +3890,15 @@ packages: '@swc/helpers': optional: true + '@swc/core@1.15.21': + resolution: {integrity: sha512-fkk7NJcBscrR3/F8jiqlMptRHP650NxqDnspBMrRe5d8xOoCy9MLL5kOBLFXjFLfMo3KQQHhk+/jUULOMlR1uQ==} + engines: {node: '>=10'} + peerDependencies: + '@swc/helpers': '>=0.5.17' + peerDependenciesMeta: + '@swc/helpers': + optional: true + '@swc/counter@0.1.3': resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==} @@ -4089,48 +4176,48 @@ packages: resolution: {integrity: sha512-YWnmJkXbofiz9KbnbbwuA2rpGkFPLbAIetcCNO6mJ8gdhdZ/v7WDXsoGFAJuM6ikUFKTlSQnjWnVO4ux+UzS6A==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@vitest/coverage-v8@4.1.0': - resolution: {integrity: sha512-nDWulKeik2bL2Va/Wl4x7DLuTKAXa906iRFooIRPR+huHkcvp9QDkPQ2RJdmjOFrqOqvNfoSQLF68deE3xC3CQ==} + '@vitest/coverage-v8@4.1.2': + resolution: {integrity: sha512-sPK//PHO+kAkScb8XITeB1bf7fsk85Km7+rt4eeuRR3VS1/crD47cmV5wicisJmjNdfeokTZwjMk4Mj2d58Mgg==} peerDependencies: - '@vitest/browser': 4.1.0 - vitest: 4.1.0 + '@vitest/browser': 4.1.2 + vitest: 4.1.2 peerDependenciesMeta: '@vitest/browser': optional: true - '@vitest/expect@4.1.0': - resolution: {integrity: sha512-EIxG7k4wlWweuCLG9Y5InKFwpMEOyrMb6ZJ1ihYu02LVj/bzUwn2VMU+13PinsjRW75XnITeFrQBMH5+dLvCDA==} + '@vitest/expect@4.1.2': + resolution: {integrity: sha512-gbu+7B0YgUJ2nkdsRJrFFW6X7NTP44WlhiclHniUhxADQJH5Szt9mZ9hWnJPJ8YwOK5zUOSSlSvyzRf0u1DSBQ==} - '@vitest/mocker@4.1.0': - resolution: {integrity: sha512-evxREh+Hork43+Y4IOhTo+h5lGmVRyjqI739Rz4RlUPqwrkFFDF6EMvOOYjTx4E8Tl6gyCLRL8Mu7Ry12a13Tw==} + '@vitest/mocker@4.1.2': + resolution: {integrity: sha512-Ize4iQtEALHDttPRCmN+FKqOl2vxTiNUhzobQFFt/BM1lRUTG7zRCLOykG/6Vo4E4hnUdfVLo5/eqKPukcWW7Q==} peerDependencies: msw: ^2.4.9 - vite: ^6.0.0 || ^7.0.0 || ^8.0.0-0 + vite: ^6.0.0 || ^7.0.0 || ^8.0.0 peerDependenciesMeta: msw: optional: true vite: optional: true - '@vitest/pretty-format@4.1.0': - resolution: {integrity: sha512-3RZLZlh88Ib0J7NQTRATfc/3ZPOnSUn2uDBUoGNn5T36+bALixmzphN26OUD3LRXWkJu4H0s5vvUeqBiw+kS0A==} + '@vitest/pretty-format@4.1.2': + resolution: {integrity: sha512-dwQga8aejqeuB+TvXCMzSQemvV9hNEtDDpgUKDzOmNQayl2OG241PSWeJwKRH3CiC+sESrmoFd49rfnq7T4RnA==} - '@vitest/runner@4.1.0': - resolution: {integrity: sha512-Duvx2OzQ7d6OjchL+trw+aSrb9idh7pnNfxrklo14p3zmNL4qPCDeIJAK+eBKYjkIwG96Bc6vYuxhqDXQOWpoQ==} + '@vitest/runner@4.1.2': + resolution: {integrity: sha512-Gr+FQan34CdiYAwpGJmQG8PgkyFVmARK8/xSijia3eTFgVfpcpztWLuP6FttGNfPLJhaZVP/euvujeNYar36OQ==} - '@vitest/snapshot@4.1.0': - resolution: {integrity: sha512-0Vy9euT1kgsnj1CHttwi9i9o+4rRLEaPRSOJ5gyv579GJkNpgJK+B4HSv/rAWixx2wdAFci1X4CEPjiu2bXIMg==} + '@vitest/snapshot@4.1.2': + resolution: {integrity: sha512-g7yfUmxYS4mNxk31qbOYsSt2F4m1E02LFqO53Xpzg3zKMhLAPZAjjfyl9e6z7HrW6LvUdTwAQR3HHfLjpko16A==} - '@vitest/spy@4.1.0': - resolution: {integrity: sha512-pz77k+PgNpyMDv2FV6qmk5ZVau6c3R8HC8v342T2xlFxQKTrSeYw9waIJG8KgV9fFwAtTu4ceRzMivPTH6wSxw==} + '@vitest/spy@4.1.2': + resolution: {integrity: sha512-DU4fBnbVCJGNBwVA6xSToNXrkZNSiw59H8tcuUspVMsBDBST4nfvsPsEHDHGtWRRnqBERBQu7TrTKskmjqTXKA==} - '@vitest/ui@4.1.0': - resolution: {integrity: sha512-sTSDtVM1GOevRGsCNhp1mBUHKo9Qlc55+HCreFT4fe99AHxl1QQNXSL3uj4Pkjh5yEuWZIx8E2tVC94nnBZECQ==} + '@vitest/ui@4.1.2': + resolution: {integrity: sha512-/irhyeAcKS2u6Zokagf9tqZJ0t8S6kMZq4ZG9BHZv7I+fkRrYfQX4w7geYeC2r6obThz39PDxvXQzZX+qXqGeg==} peerDependencies: - vitest: 4.1.0 + vitest: 4.1.2 - '@vitest/utils@4.1.0': - resolution: {integrity: sha512-XfPXT6a8TZY3dcGY8EdwsBulFCIw+BeeX0RZn2x/BtiY/75YGh8FeWGG8QISN/WhaqSrE2OrlDgtF8q5uhOTmw==} + '@vitest/utils@4.1.2': + resolution: {integrity: sha512-xw2/TiX82lQHA06cgbqRKFb5lCAy3axQ4H4SoUFhUsg+wztiet+co86IAMDtF6Vm1hc7J6j09oh/rgDn+JdKIQ==} '@webassemblyjs/ast@1.14.1': resolution: {integrity: sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==} @@ -4505,8 +4592,8 @@ packages: caniuse-lite@1.0.30001761: resolution: {integrity: sha512-JF9ptu1vP2coz98+5051jZ4PwQgd2ni8A+gYSN7EA7dPKIMf0pDlSUxhdmVOaV3/fYK5uWBkgSXJaRLr4+3A6g==} - canvas@3.2.1: - resolution: {integrity: sha512-ej1sPFR5+0YWtaVp6S1N1FVz69TQCqmrkGeRvQxZeAB1nAIcjNTHVwrZtYtWFFBmQsF40/uDLehsW5KuYC99mg==} + canvas@3.2.2: + resolution: {integrity: sha512-duEt4h1HHu9sJZyVKfLRXR6tsKPY7cEELzxSRJkwddOXYvQT3P/+es98SV384JA0zMOZ5s+9gatnGfM6sL4Drg==} engines: {node: ^18.12.0 || >= 20.9.0} chai@6.2.2: @@ -4662,10 +4749,6 @@ packages: commander@2.20.3: resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} - commander@7.2.0: - resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} - engines: {node: '>= 10'} - comment-parser@1.4.5: resolution: {integrity: sha512-aRDkn3uyIlCFfk5NUA+VdwMmMsh8JGhc4hapfV4yxymHGQ3BVskMQfoXGpCo5IoBuQ9tS5iiVKhCpTcB4pW4qw==} engines: {node: '>= 12.0.0'} @@ -4851,9 +4934,6 @@ packages: dateformat@3.0.3: resolution: {integrity: sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==} - debounce@1.2.1: - resolution: {integrity: sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==} - debug@4.3.6: resolution: {integrity: sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==} engines: {node: '>=6.0'} @@ -5139,14 +5219,18 @@ packages: resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} engines: {node: '>=10'} + escape-string-regexp@5.0.0: + resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} + engines: {node: '>=12'} + eslint-config-prettier@10.1.8: resolution: {integrity: sha512-82GZUjRS0p/jganf6q1rEO25VSoHH0hKPCTrgillPjdI/3bgBhAE1QzHrHTizjpRvy6pGAvKjDJtk2pF9NDq8w==} hasBin: true peerDependencies: eslint: '>=7.0.0' - eslint-plugin-jsdoc@62.8.0: - resolution: {integrity: sha512-hu3r9/6JBmPG6wTcqtYzgZAnjEG2eqRUATfkFscokESg1VDxZM21ZaMire0KjeMwfj+SXvgB4Rvh5LBuesj92w==} + eslint-plugin-jsdoc@62.8.1: + resolution: {integrity: sha512-e9358PdHgvcMF98foNd3L7hVCw70Lt+YcSL7JzlJebB8eT5oRJtW6bHMQKoAwJtw6q0q0w/fRIr2kwnHdFDI6A==} engines: {node: ^20.19.0 || ^22.13.0 || >=24} peerDependencies: eslint: ^7.0.0 || ^8.0.0 || ^9.0.0 || ^10.0.0 @@ -5192,8 +5276,8 @@ packages: resolution: {integrity: sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==} engines: {node: ^20.19.0 || ^22.13.0 || >=24} - eslint@10.0.3: - resolution: {integrity: sha512-COV33RzXZkqhG9P2rZCFl9ZmJ7WL+gQSCRzE7RhkbclbQPtLAWReL7ysA0Sh4c8Im2U9ynybdR56PV0XcKvqaQ==} + eslint@10.1.0: + resolution: {integrity: sha512-S9jlY/ELKEUwwQnqWDO+f+m6sercqOPSqXM5Go94l7DOmxHVDgmSFGWEzeE/gwgTAr0W103BWt0QLe/7mabIvA==} engines: {node: ^20.19.0 || ^22.13.0 || >=24} hasBin: true peerDependencies: @@ -5382,12 +5466,12 @@ packages: resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==} hasBin: true - flatted@3.3.3: - resolution: {integrity: sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==} - flatted@3.4.0: resolution: {integrity: sha512-kC6Bb+ooptOIvWj5B63EQWkF0FEnNjV2ZNkLMLZRDDduIiWeFF4iKnslwhiWxjAdbg4NzTNo6h0qLuvFrcx+Sw==} + flatted@3.4.2: + resolution: {integrity: sha512-PjDse7RzhcPkIJwy5t7KPWQSZ9cAbzQXcafsetQoD7sOJRQlGikNbx7yZp2OotDnJyrDcbyRq3Ttb18iYOqkxA==} + fn.name@1.1.0: resolution: {integrity: sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==} @@ -5645,6 +5729,9 @@ packages: html-escaper@2.0.2: resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} + html-escaper@3.0.3: + resolution: {integrity: sha512-RuMffC89BOWQoY0WKGpIhn5gX3iI54O6nRA0yC124NYVtzjmFWBIiFd8M0x+ZdX0P9R4lADg1mgP8C7PxGOWuQ==} + html-minifier-next@5.2.0: resolution: {integrity: sha512-11wQG8dw+sIEdIt8LNBdV8R8nyXwAX4ni8WSpTdulP3RN4evUSx12cwe0FuO9HRsteBTKUUlKZkS/2XRBSYfLg==} hasBin: true @@ -5977,8 +6064,8 @@ packages: peerDependencies: jsdom: '>=10.0.0' - jsdom@29.0.0: - resolution: {integrity: sha512-9FshNB6OepopZ08unmmGpsF7/qCjxGPbo3NbgfJAnPeHXnsODE9WWffXZtRFRFe0ntzaAOcSKNJFz8wiyvF1jQ==} + jsdom@29.0.1: + resolution: {integrity: sha512-z6JOK5gRO7aMybVq/y/MlIpKh8JIi68FBKMUtKkK2KH/wMSRlCxQ682d08LB9fYXplyY/UXG8P4XXTScmdjApg==} engines: {node: ^20.19.0 || ^22.13.0 || >=24.0.0} peerDependencies: canvas: ^3.0.0 @@ -6376,8 +6463,8 @@ packages: resolution: {integrity: sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==} engines: {node: '>=8'} - markdown-it@14.1.0: - resolution: {integrity: sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg==} + markdown-it@14.1.1: + resolution: {integrity: sha512-BuU2qnTti9YKgK5N+IeMubp14ZUKUUw7yeJbkjtosvHiP0AZ5c8IAgEMk79D0eC8F23r4Ac/q8cAIFdm2FtyoA==} hasBin: true matcher@3.0.0: @@ -6715,8 +6802,8 @@ packages: resolution: {integrity: sha512-f24vd5/57/MFSXNMfkerdDiK0EvScGOKO71iOWgJNgI1xVweDRmOA/EfjnPMRd5m+pnoPs/4A7DzuwSW0jZVyw==} hasBin: true - nx@22.6.0: - resolution: {integrity: sha512-pKkq/ZP2/4YcAQlDOQvtCmPz/gpTgn1AfBiYhcyKX970MilvK6lqb9u/PTLfbi146oqPyEmphupV8YsORDvJ6A==} + nx@22.6.3: + resolution: {integrity: sha512-8eIkEAlvkTvR2zY+yjhuTxMD6z4AtM1SumSBbwMmUMEXMtXE88fH0RL59T5V6MLjaov1exUM3lhUqPE3IyuBPg==} hasBin: true peerDependencies: '@swc-node/register': ^1.11.1 @@ -7714,8 +7801,8 @@ packages: resolution: {integrity: sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==} engines: {node: '>=12.0.0'} - tinyrainbow@3.0.3: - resolution: {integrity: sha512-PSkbLUoxOFRzJYjjxHJt9xro7D+iilgMX/C9lawzVuYiIdcihh9DXmVibBe8lmcFrRi/VzlPjBxbN7rH24q8/Q==} + tinyrainbow@3.1.0: + resolution: {integrity: sha512-Bf+ILmBgretUrdJxzXM0SgXLZ3XfiaUuOj/IKQHuTXip+05Xn+uyEYdVg0kYDipTBcLrCVyUzAPz7QmArb0mmw==} engines: {node: '>=14.0.0'} tldts-core@7.0.19: @@ -7904,12 +7991,12 @@ packages: peerDependencies: typedoc: ^0.28.1 - typedoc@0.28.17: - resolution: {integrity: sha512-ZkJ2G7mZrbxrKxinTQMjFqsCoYY6a5Luwv2GKbTnBCEgV2ihYm5CflA9JnJAwH0pZWavqfYxmDkFHPt4yx2oDQ==} + typedoc@0.28.18: + resolution: {integrity: sha512-NTWTUOFRQ9+SGKKTuWKUioUkjxNwtS3JDRPVKZAXGHZy2wCA8bdv2iJiyeePn0xkmK+TCCqZFT0X7+2+FLjngA==} engines: {node: '>= 18', pnpm: '>= 10'} hasBin: true peerDependencies: - typescript: 5.0.x || 5.1.x || 5.2.x || 5.3.x || 5.4.x || 5.5.x || 5.6.x || 5.7.x || 5.8.x || 5.9.x + typescript: 5.0.x || 5.1.x || 5.2.x || 5.3.x || 5.4.x || 5.5.x || 5.6.x || 5.7.x || 5.8.x || 5.9.x || 6.0.x typescript-eslint@8.57.1: resolution: {integrity: sha512-fLvZWf+cAGw3tqMCYzGIU6yR8K+Y9NT2z23RwOjlNFF2HwSB3KhdEFI5lSBv8tNmFkkBShSjsCjzx1vahZfISA==} @@ -7955,8 +8042,8 @@ packages: undici-types@7.24.5: resolution: {integrity: sha512-kNh333UBSbgK35OIW7FwJTr9tTfVIG51Fm1tSVT7m8foPHfDVjsb7OIee/q/rs3bB2aV/3qOPgG5mHNWl1odiA==} - undici@7.24.3: - resolution: {integrity: sha512-eJdUmK/Wrx2d+mnWWmwwLRyA7OQCkLap60sk3dOK4ViZR7DKwwptwuIvFBg2HaiP9ESaEdhtpSymQPvytpmkCA==} + undici@7.24.6: + resolution: {integrity: sha512-Xi4agocCbRzt0yYMZGMA6ApD7gvtUFaxm4ZmeacWI4cZxaF6C+8I8QfofC20NAePiB/IcvZmzkJ7XPa471AEtA==} engines: {node: '>=20.18.1'} unicorn-magic@0.3.0: @@ -8106,21 +8193,21 @@ packages: yaml: optional: true - vitest@4.1.0: - resolution: {integrity: sha512-YbDrMF9jM2Lqc++2530UourxZHmkKLxrs4+mYhEwqWS97WJ7wOYEkcr+QfRgJ3PW9wz3odRijLZjHEaRLTNbqw==} + vitest@4.1.2: + resolution: {integrity: sha512-xjR1dMTVHlFLh98JE3i/f/WePqJsah4A0FK9cc8Ehp9Udk0AZk6ccpIZhh1qJ/yxVWRZ+Q54ocnD8TXmkhspGg==} engines: {node: ^20.0.0 || ^22.0.0 || >=24.0.0} hasBin: true peerDependencies: '@edge-runtime/vm': '*' '@opentelemetry/api': ^1.9.0 '@types/node': ^20.0.0 || ^22.0.0 || >=24.0.0 - '@vitest/browser-playwright': 4.1.0 - '@vitest/browser-preview': 4.1.0 - '@vitest/browser-webdriverio': 4.1.0 - '@vitest/ui': 4.1.0 + '@vitest/browser-playwright': 4.1.2 + '@vitest/browser-preview': 4.1.2 + '@vitest/browser-webdriverio': 4.1.2 + '@vitest/ui': 4.1.2 happy-dom: '*' jsdom: '*' - vite: ^6.0.0 || ^7.0.0 || ^8.0.0-0 + vite: ^6.0.0 || ^7.0.0 || ^8.0.0 peerDependenciesMeta: '@edge-runtime/vm': optional: true @@ -8177,8 +8264,8 @@ packages: resolution: {integrity: sha512-BMhLD/Sw+GbJC21C/UgyaZX41nPt8bUTg+jWyDeg7e7YN4xOM05YPSIXceACnXVtqyEw/LMClUQMtMZ+PGGpqQ==} engines: {node: '>=20'} - webpack-bundle-analyzer@5.2.0: - resolution: {integrity: sha512-Etrauj1wYO/xjiz/Vfd6bW1lG9fEhrJpNmu10tv0X9kv+gyY3qiE09uYepqg1Xd0PxOvllRXwWYWjtQYoO/glQ==} + webpack-bundle-analyzer@5.3.0: + resolution: {integrity: sha512-PEhAoqiJ+47d0uLMx/+zo5XOvaU+Vk6N2ZLht7H3n09QLy/fhyvqGNwjdRUHJDgMN8crBR2ZwVHkIswT3Xuawg==} engines: {node: '>= 20.9.0'} hasBin: true @@ -8344,6 +8431,11 @@ packages: engines: {node: '>= 14.6'} hasBin: true + yaml@2.8.3: + resolution: {integrity: sha512-AvbaCLOO2Otw/lW5bmh9d/WEdcDFdQp2Z2ZUH3pX9U2ihyUY0nvLv7J6TrWowklRGPYbB/IuIMfYgxaCPg5Bpg==} + engines: {node: '>= 14.6'} + hasBin: true + yargs-parser@20.2.9: resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==} engines: {node: '>=10'} @@ -8635,7 +8727,7 @@ snapshots: luxon: 3.7.2 type-fest: 5.4.4 - '@discoveryjs/json-ext@0.5.7': {} + '@discoveryjs/json-ext@0.6.3': {} '@discoveryjs/json-ext@1.0.0': {} @@ -8671,7 +8763,7 @@ snapshots: '@es-joy/jsdoccomment@0.84.0': dependencies: '@types/estree': 1.0.8 - '@typescript-eslint/types': 8.57.0 + '@typescript-eslint/types': 8.57.1 comment-parser: 1.4.5 esquery: 1.7.0 jsdoc-type-pratt-parser: 7.1.1 @@ -8756,9 +8848,9 @@ snapshots: '@esbuild/win32-x64@0.27.2': optional: true - '@eslint-community/eslint-utils@4.9.1(eslint@10.0.3(jiti@2.6.1))': + '@eslint-community/eslint-utils@4.9.1(eslint@10.1.0(jiti@2.6.1))': dependencies: - eslint: 10.0.3(jiti@2.6.1) + eslint: 10.1.0(jiti@2.6.1) eslint-visitor-keys: 3.4.3 '@eslint-community/regexpp@4.12.2': {} @@ -8779,9 +8871,9 @@ snapshots: dependencies: '@types/json-schema': 7.0.15 - '@eslint/js@10.0.1(eslint@10.0.3(jiti@2.6.1))': + '@eslint/js@10.0.1(eslint@10.1.0(jiti@2.6.1))': optionalDependencies: - eslint: 10.0.3(jiti@2.6.1) + eslint: 10.1.0(jiti@2.6.1) '@eslint/object-schema@3.0.3': {} @@ -8794,12 +8886,12 @@ snapshots: '@fortawesome/fontawesome-free@7.2.0': {} - '@gerrit0/mini-shiki@3.20.0': + '@gerrit0/mini-shiki@3.23.0': dependencies: - '@shikijs/engine-oniguruma': 3.20.0 - '@shikijs/langs': 3.20.0 - '@shikijs/themes': 3.20.0 - '@shikijs/types': 3.20.0 + '@shikijs/engine-oniguruma': 3.23.0 + '@shikijs/langs': 3.23.0 + '@shikijs/themes': 3.23.0 + '@shikijs/types': 3.23.0 '@shikijs/vscode-textmate': 10.0.2 '@humanfs/core@0.19.1': {} @@ -9182,45 +9274,45 @@ snapshots: transitivePeerDependencies: - debug - '@nx/devkit@22.3.3(nx@22.6.0(@swc/core@1.15.18))': + '@nx/devkit@22.3.3(nx@22.6.3(@swc/core@1.15.21))': dependencies: '@zkochan/js-yaml': 0.0.7 ejs: 3.1.9 enquirer: 2.3.6 minimatch: 9.0.3 - nx: 22.6.0(@swc/core@1.15.18) + nx: 22.6.3(@swc/core@1.15.21) semver: 7.7.4 tslib: 2.8.1 yargs-parser: 21.1.1 - '@nx/nx-darwin-arm64@22.6.0': + '@nx/nx-darwin-arm64@22.6.3': optional: true - '@nx/nx-darwin-x64@22.6.0': + '@nx/nx-darwin-x64@22.6.3': optional: true - '@nx/nx-freebsd-x64@22.6.0': + '@nx/nx-freebsd-x64@22.6.3': optional: true - '@nx/nx-linux-arm-gnueabihf@22.6.0': + '@nx/nx-linux-arm-gnueabihf@22.6.3': optional: true - '@nx/nx-linux-arm64-gnu@22.6.0': + '@nx/nx-linux-arm64-gnu@22.6.3': optional: true - '@nx/nx-linux-arm64-musl@22.6.0': + '@nx/nx-linux-arm64-musl@22.6.3': optional: true - '@nx/nx-linux-x64-gnu@22.6.0': + '@nx/nx-linux-x64-gnu@22.6.3': optional: true - '@nx/nx-linux-x64-musl@22.6.0': + '@nx/nx-linux-x64-musl@22.6.3': optional: true - '@nx/nx-win32-arm64-msvc@22.6.0': + '@nx/nx-win32-arm64-msvc@22.6.3': optional: true - '@nx/nx-win32-x64-msvc@22.6.0': + '@nx/nx-win32-x64-msvc@22.6.3': optional: true '@octokit/auth-token@4.0.0': {} @@ -9548,20 +9640,20 @@ snapshots: '@rollup/rollup-win32-x64-msvc@4.59.0': optional: true - '@shikijs/engine-oniguruma@3.20.0': + '@shikijs/engine-oniguruma@3.23.0': dependencies: - '@shikijs/types': 3.20.0 + '@shikijs/types': 3.23.0 '@shikijs/vscode-textmate': 10.0.2 - '@shikijs/langs@3.20.0': + '@shikijs/langs@3.23.0': dependencies: - '@shikijs/types': 3.20.0 + '@shikijs/types': 3.23.0 - '@shikijs/themes@3.20.0': + '@shikijs/themes@3.23.0': dependencies: - '@shikijs/types': 3.20.0 + '@shikijs/types': 3.23.0 - '@shikijs/types@3.20.0': + '@shikijs/types@3.23.0': dependencies: '@shikijs/vscode-textmate': 10.0.2 '@types/hast': 3.0.4 @@ -9621,11 +9713,11 @@ snapshots: '@standard-schema/spec@1.1.0': {} - '@stylistic/eslint-plugin@5.10.0(eslint@10.0.3(jiti@2.6.1))': + '@stylistic/eslint-plugin@5.10.0(eslint@10.1.0(jiti@2.6.1))': dependencies: - '@eslint-community/eslint-utils': 4.9.1(eslint@10.0.3(jiti@2.6.1)) + '@eslint-community/eslint-utils': 4.9.1(eslint@10.1.0(jiti@2.6.1)) '@typescript-eslint/types': 8.57.0 - eslint: 10.0.3(jiti@2.6.1) + eslint: 10.1.0(jiti@2.6.1) eslint-visitor-keys: 4.2.1 espree: 10.4.0 estraverse: 5.3.0 @@ -9634,33 +9726,69 @@ snapshots: '@swc/core-darwin-arm64@1.15.18': optional: true + '@swc/core-darwin-arm64@1.15.21': + optional: true + '@swc/core-darwin-x64@1.15.18': optional: true + '@swc/core-darwin-x64@1.15.21': + optional: true + '@swc/core-linux-arm-gnueabihf@1.15.18': optional: true + '@swc/core-linux-arm-gnueabihf@1.15.21': + optional: true + '@swc/core-linux-arm64-gnu@1.15.18': optional: true + '@swc/core-linux-arm64-gnu@1.15.21': + optional: true + '@swc/core-linux-arm64-musl@1.15.18': optional: true + '@swc/core-linux-arm64-musl@1.15.21': + optional: true + + '@swc/core-linux-ppc64-gnu@1.15.21': + optional: true + + '@swc/core-linux-s390x-gnu@1.15.21': + optional: true + '@swc/core-linux-x64-gnu@1.15.18': optional: true + '@swc/core-linux-x64-gnu@1.15.21': + optional: true + '@swc/core-linux-x64-musl@1.15.18': optional: true + '@swc/core-linux-x64-musl@1.15.21': + optional: true + '@swc/core-win32-arm64-msvc@1.15.18': optional: true + '@swc/core-win32-arm64-msvc@1.15.21': + optional: true + '@swc/core-win32-ia32-msvc@1.15.18': optional: true + '@swc/core-win32-ia32-msvc@1.15.21': + optional: true + '@swc/core-win32-x64-msvc@1.15.18': optional: true + '@swc/core-win32-x64-msvc@1.15.21': + optional: true + '@swc/core@1.15.18': dependencies: '@swc/counter': 0.1.3 @@ -9677,6 +9805,24 @@ snapshots: '@swc/core-win32-ia32-msvc': 1.15.18 '@swc/core-win32-x64-msvc': 1.15.18 + '@swc/core@1.15.21': + dependencies: + '@swc/counter': 0.1.3 + '@swc/types': 0.1.25 + optionalDependencies: + '@swc/core-darwin-arm64': 1.15.21 + '@swc/core-darwin-x64': 1.15.21 + '@swc/core-linux-arm-gnueabihf': 1.15.21 + '@swc/core-linux-arm64-gnu': 1.15.21 + '@swc/core-linux-arm64-musl': 1.15.21 + '@swc/core-linux-ppc64-gnu': 1.15.21 + '@swc/core-linux-s390x-gnu': 1.15.21 + '@swc/core-linux-x64-gnu': 1.15.21 + '@swc/core-linux-x64-musl': 1.15.21 + '@swc/core-win32-arm64-msvc': 1.15.21 + '@swc/core-win32-ia32-msvc': 1.15.21 + '@swc/core-win32-x64-msvc': 1.15.21 + '@swc/counter@0.1.3': {} '@swc/types@0.1.25': @@ -9697,19 +9843,19 @@ snapshots: '@tsparticles/cli@3.3.8(@types/eslint@8.56.6)(esbuild@0.27.2)(jiti@2.6.1)(webpack-cli@7.0.2)': dependencies: - '@swc/core': 1.15.18 + '@swc/core': 1.15.21 '@tsparticles/depcruise-config': 3.3.5(dependency-cruiser@17.3.9) - '@tsparticles/eslint-config': 3.3.5(@types/eslint@8.56.6)(eslint@10.0.3(jiti@2.6.1)) + '@tsparticles/eslint-config': 3.3.5(@types/eslint@8.56.6)(eslint@10.1.0(jiti@2.6.1)) '@tsparticles/prettier-config': 3.3.5(prettier@3.8.1) '@tsparticles/tsconfig': 3.3.5(typescript@5.9.3) '@tsparticles/webpack-plugin': 3.3.5(@types/eslint@8.56.6)(esbuild@0.27.2)(jiti@2.6.1) commander: 14.0.3 dependency-cruiser: 17.3.9 - eslint: 10.0.3(jiti@2.6.1) - eslint-config-prettier: 10.1.8(eslint@10.0.3(jiti@2.6.1)) - eslint-plugin-jsdoc: 62.8.0(eslint@10.0.3(jiti@2.6.1)) - eslint-plugin-prettier: 5.5.5(@types/eslint@8.56.6)(eslint-config-prettier@10.1.8(eslint@10.0.3(jiti@2.6.1)))(eslint@10.0.3(jiti@2.6.1))(prettier@3.8.1) - eslint-plugin-tsdoc: 0.5.2(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3) + eslint: 10.1.0(jiti@2.6.1) + eslint-config-prettier: 10.1.8(eslint@10.1.0(jiti@2.6.1)) + eslint-plugin-jsdoc: 62.8.1(eslint@10.1.0(jiti@2.6.1)) + eslint-plugin-prettier: 5.5.5(@types/eslint@8.56.6)(eslint-config-prettier@10.1.8(eslint@10.1.0(jiti@2.6.1)))(eslint@10.1.0(jiti@2.6.1))(prettier@3.8.1) + eslint-plugin-tsdoc: 0.5.2(eslint@10.1.0(jiti@2.6.1))(typescript@5.9.3) klaw: 4.1.0 lookpath: 1.2.3 path-scurry: 2.0.2 @@ -9717,10 +9863,10 @@ snapshots: prettier-plugin-multiline-arrays: 4.1.5(prettier@3.8.1) prompts: 2.4.2 rimraf: 6.1.3 - swc-loader: 0.2.7(@swc/core@1.15.18)(webpack@5.105.4) + swc-loader: 0.2.7(@swc/core@1.15.21)(webpack@5.105.4) typescript: 5.9.3 - typescript-eslint: 8.57.1(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3) - webpack: 5.105.4(@swc/core@1.15.18)(esbuild@0.27.2)(webpack-cli@7.0.2) + typescript-eslint: 8.57.1(eslint@10.1.0(jiti@2.6.1))(typescript@5.9.3) + webpack: 5.105.4(@swc/core@1.15.21)(esbuild@0.27.2)(webpack-cli@7.0.2) transitivePeerDependencies: - '@swc/helpers' - '@types/eslint' @@ -9737,21 +9883,21 @@ snapshots: dependencies: dependency-cruiser: 17.3.9 - '@tsparticles/eslint-config@3.3.5(@types/eslint@8.56.6)(eslint@10.0.3(jiti@2.6.1))': + '@tsparticles/eslint-config@3.3.5(@types/eslint@8.56.6)(eslint@10.1.0(jiti@2.6.1))': dependencies: - '@eslint/js': 10.0.1(eslint@10.0.3(jiti@2.6.1)) - '@stylistic/eslint-plugin': 5.10.0(eslint@10.0.3(jiti@2.6.1)) + '@eslint/js': 10.0.1(eslint@10.1.0(jiti@2.6.1)) + '@stylistic/eslint-plugin': 5.10.0(eslint@10.1.0(jiti@2.6.1)) '@tsparticles/prettier-config': 3.3.5(prettier@3.8.1) - eslint: 10.0.3(jiti@2.6.1) - eslint-config-prettier: 10.1.8(eslint@10.0.3(jiti@2.6.1)) - eslint-plugin-jsdoc: 62.8.0(eslint@10.0.3(jiti@2.6.1)) - eslint-plugin-prettier: 5.5.5(@types/eslint@8.56.6)(eslint-config-prettier@10.1.8(eslint@10.0.3(jiti@2.6.1)))(eslint@10.0.3(jiti@2.6.1))(prettier@3.8.1) - eslint-plugin-tsdoc: 0.5.2(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3) + eslint: 10.1.0(jiti@2.6.1) + eslint-config-prettier: 10.1.8(eslint@10.1.0(jiti@2.6.1)) + eslint-plugin-jsdoc: 62.8.1(eslint@10.1.0(jiti@2.6.1)) + eslint-plugin-prettier: 5.5.5(@types/eslint@8.56.6)(eslint-config-prettier@10.1.8(eslint@10.1.0(jiti@2.6.1)))(eslint@10.1.0(jiti@2.6.1))(prettier@3.8.1) + eslint-plugin-tsdoc: 0.5.2(eslint@10.1.0(jiti@2.6.1))(typescript@5.9.3) jiti: 2.6.1 prettier: 3.8.1 prettier-plugin-multiline-arrays: 4.1.5(prettier@3.8.1) typescript: 5.9.3 - typescript-eslint: 8.57.1(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3) + typescript-eslint: 8.57.1(eslint@10.1.0(jiti@2.6.1))(typescript@5.9.3) transitivePeerDependencies: - '@types/eslint' - supports-color @@ -9767,24 +9913,24 @@ snapshots: '@tsparticles/webpack-plugin@3.3.5(@types/eslint@8.56.6)(esbuild@0.27.2)(jiti@2.6.1)': dependencies: - '@stylistic/eslint-plugin': 5.10.0(eslint@10.0.3(jiti@2.6.1)) - '@swc/core': 1.15.18 - '@tsparticles/eslint-config': 3.3.5(@types/eslint@8.56.6)(eslint@10.0.3(jiti@2.6.1)) + '@stylistic/eslint-plugin': 5.10.0(eslint@10.1.0(jiti@2.6.1)) + '@swc/core': 1.15.21 + '@tsparticles/eslint-config': 3.3.5(@types/eslint@8.56.6)(eslint@10.1.0(jiti@2.6.1)) '@tsparticles/prettier-config': 3.3.5(prettier@3.8.1) browserslist: 4.28.1 - eslint: 10.0.3(jiti@2.6.1) - eslint-config-prettier: 10.1.8(eslint@10.0.3(jiti@2.6.1)) - eslint-plugin-jsdoc: 62.8.0(eslint@10.0.3(jiti@2.6.1)) - eslint-plugin-tsdoc: 0.5.2(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3) + eslint: 10.1.0(jiti@2.6.1) + eslint-config-prettier: 10.1.8(eslint@10.1.0(jiti@2.6.1)) + eslint-plugin-jsdoc: 62.8.1(eslint@10.1.0(jiti@2.6.1)) + eslint-plugin-tsdoc: 0.5.2(eslint@10.1.0(jiti@2.6.1))(typescript@5.9.3) prettier: 3.8.1 prettier-plugin-multiline-arrays: 4.1.5(prettier@3.8.1) - swc-loader: 0.2.7(@swc/core@1.15.18)(webpack@5.105.4) - terser-webpack-plugin: 5.4.0(@swc/core@1.15.18)(esbuild@0.27.2)(webpack@5.105.4) + swc-loader: 0.2.7(@swc/core@1.15.21)(webpack@5.105.4) + terser-webpack-plugin: 5.4.0(@swc/core@1.15.21)(esbuild@0.27.2)(webpack@5.105.4) typescript: 5.9.3 - typescript-eslint: 8.57.1(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3) - webpack: 5.105.4(@swc/core@1.15.18)(esbuild@0.27.2)(webpack-cli@7.0.2) - webpack-bundle-analyzer: 5.2.0 - webpack-cli: 7.0.2(webpack-bundle-analyzer@5.2.0)(webpack@5.105.4) + typescript-eslint: 8.57.1(eslint@10.1.0(jiti@2.6.1))(typescript@5.9.3) + webpack: 5.105.4(@swc/core@1.15.21)(esbuild@0.27.2)(webpack-cli@7.0.2) + webpack-bundle-analyzer: 5.3.0 + webpack-cli: 7.0.2(webpack-bundle-analyzer@5.3.0)(webpack@5.105.4) transitivePeerDependencies: - '@swc/helpers' - '@types/eslint' @@ -9821,7 +9967,7 @@ snapshots: dependencies: '@types/http-cache-semantics': 4.0.4 '@types/keyv': 3.1.4 - '@types/node': 24.10.9 + '@types/node': 25.5.0 '@types/responselike': 1.0.3 '@types/chai@5.2.2': @@ -9884,7 +10030,7 @@ snapshots: '@types/keyv@3.1.4': dependencies: - '@types/node': 24.10.9 + '@types/node': 25.5.0 '@types/livereload@0.9.5': dependencies: @@ -9916,7 +10062,7 @@ snapshots: '@types/responselike@1.0.3': dependencies: - '@types/node': 24.10.9 + '@types/node': 25.5.0 '@types/send@0.17.1': dependencies: @@ -9946,18 +10092,18 @@ snapshots: '@types/yauzl@2.10.3': dependencies: - '@types/node': 24.10.9 + '@types/node': 25.5.0 optional: true - '@typescript-eslint/eslint-plugin@8.57.1(@typescript-eslint/parser@8.57.1(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3))(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3)': + '@typescript-eslint/eslint-plugin@8.57.1(@typescript-eslint/parser@8.57.1(eslint@10.1.0(jiti@2.6.1))(typescript@5.9.3))(eslint@10.1.0(jiti@2.6.1))(typescript@5.9.3)': dependencies: '@eslint-community/regexpp': 4.12.2 - '@typescript-eslint/parser': 8.57.1(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/parser': 8.57.1(eslint@10.1.0(jiti@2.6.1))(typescript@5.9.3) '@typescript-eslint/scope-manager': 8.57.1 - '@typescript-eslint/type-utils': 8.57.1(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3) - '@typescript-eslint/utils': 8.57.1(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/type-utils': 8.57.1(eslint@10.1.0(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/utils': 8.57.1(eslint@10.1.0(jiti@2.6.1))(typescript@5.9.3) '@typescript-eslint/visitor-keys': 8.57.1 - eslint: 10.0.3(jiti@2.6.1) + eslint: 10.1.0(jiti@2.6.1) ignore: 7.0.5 natural-compare: 1.4.0 ts-api-utils: 2.4.0(typescript@5.9.3) @@ -9965,14 +10111,14 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.57.1(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3)': + '@typescript-eslint/parser@8.57.1(eslint@10.1.0(jiti@2.6.1))(typescript@5.9.3)': dependencies: '@typescript-eslint/scope-manager': 8.57.1 '@typescript-eslint/types': 8.57.1 '@typescript-eslint/typescript-estree': 8.57.1(typescript@5.9.3) '@typescript-eslint/visitor-keys': 8.57.1 debug: 4.4.3(supports-color@5.5.0) - eslint: 10.0.3(jiti@2.6.1) + eslint: 10.1.0(jiti@2.6.1) typescript: 5.9.3 transitivePeerDependencies: - supports-color @@ -10013,13 +10159,13 @@ snapshots: dependencies: typescript: 5.9.3 - '@typescript-eslint/type-utils@8.57.1(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3)': + '@typescript-eslint/type-utils@8.57.1(eslint@10.1.0(jiti@2.6.1))(typescript@5.9.3)': dependencies: '@typescript-eslint/types': 8.57.1 '@typescript-eslint/typescript-estree': 8.57.1(typescript@5.9.3) - '@typescript-eslint/utils': 8.57.1(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/utils': 8.57.1(eslint@10.1.0(jiti@2.6.1))(typescript@5.9.3) debug: 4.4.3(supports-color@5.5.0) - eslint: 10.0.3(jiti@2.6.1) + eslint: 10.1.0(jiti@2.6.1) ts-api-utils: 2.4.0(typescript@5.9.3) typescript: 5.9.3 transitivePeerDependencies: @@ -10061,24 +10207,24 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.56.1(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3)': + '@typescript-eslint/utils@8.56.1(eslint@10.1.0(jiti@2.6.1))(typescript@5.9.3)': dependencies: - '@eslint-community/eslint-utils': 4.9.1(eslint@10.0.3(jiti@2.6.1)) + '@eslint-community/eslint-utils': 4.9.1(eslint@10.1.0(jiti@2.6.1)) '@typescript-eslint/scope-manager': 8.56.1 '@typescript-eslint/types': 8.56.1 '@typescript-eslint/typescript-estree': 8.56.1(typescript@5.9.3) - eslint: 10.0.3(jiti@2.6.1) + eslint: 10.1.0(jiti@2.6.1) typescript: 5.9.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.57.1(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3)': + '@typescript-eslint/utils@8.57.1(eslint@10.1.0(jiti@2.6.1))(typescript@5.9.3)': dependencies: - '@eslint-community/eslint-utils': 4.9.1(eslint@10.0.3(jiti@2.6.1)) + '@eslint-community/eslint-utils': 4.9.1(eslint@10.1.0(jiti@2.6.1)) '@typescript-eslint/scope-manager': 8.57.1 '@typescript-eslint/types': 8.57.1 '@typescript-eslint/typescript-estree': 8.57.1(typescript@5.9.3) - eslint: 10.0.3(jiti@2.6.1) + eslint: 10.1.0(jiti@2.6.1) typescript: 5.9.3 transitivePeerDependencies: - supports-color @@ -10093,10 +10239,10 @@ snapshots: '@typescript-eslint/types': 8.57.1 eslint-visitor-keys: 5.0.1 - '@vitest/coverage-v8@4.1.0(vitest@4.1.0)': + '@vitest/coverage-v8@4.1.2(vitest@4.1.2)': dependencies: '@bcoe/v8-coverage': 1.0.2 - '@vitest/utils': 4.1.0 + '@vitest/utils': 4.1.2 ast-v8-to-istanbul: 1.0.0 istanbul-lib-coverage: 3.2.2 istanbul-lib-report: 3.0.1 @@ -10104,60 +10250,60 @@ snapshots: magicast: 0.5.2 obug: 2.1.1 std-env: 4.0.0 - tinyrainbow: 3.0.3 - vitest: 4.1.0(@types/node@25.5.0)(@vitest/ui@4.1.0)(jsdom@29.0.0(canvas@3.2.1))(vite@8.0.1(@types/node@25.5.0)(esbuild@0.27.2)(jiti@2.6.1)(sass@1.98.0)(stylus@0.64.0)(terser@5.46.0)(yaml@2.8.1)) + tinyrainbow: 3.1.0 + vitest: 4.1.2(@types/node@25.5.0)(@vitest/ui@4.1.2)(jsdom@29.0.1(canvas@3.2.2))(vite@8.0.1(@types/node@25.5.0)(esbuild@0.27.2)(jiti@2.6.1)(sass@1.98.0)(stylus@0.64.0)(terser@5.46.0)(yaml@2.8.3)) - '@vitest/expect@4.1.0': + '@vitest/expect@4.1.2': dependencies: '@standard-schema/spec': 1.1.0 '@types/chai': 5.2.2 - '@vitest/spy': 4.1.0 - '@vitest/utils': 4.1.0 + '@vitest/spy': 4.1.2 + '@vitest/utils': 4.1.2 chai: 6.2.2 - tinyrainbow: 3.0.3 + tinyrainbow: 3.1.0 - '@vitest/mocker@4.1.0(vite@8.0.1(@types/node@25.5.0)(esbuild@0.27.2)(jiti@2.6.1)(sass@1.98.0)(stylus@0.64.0)(terser@5.46.0)(yaml@2.8.1))': + '@vitest/mocker@4.1.2(vite@8.0.1(@types/node@25.5.0)(esbuild@0.27.2)(jiti@2.6.1)(sass@1.98.0)(stylus@0.64.0)(terser@5.46.0)(yaml@2.8.3))': dependencies: - '@vitest/spy': 4.1.0 + '@vitest/spy': 4.1.2 estree-walker: 3.0.3 magic-string: 0.30.21 optionalDependencies: - vite: 8.0.1(@types/node@25.5.0)(esbuild@0.27.2)(jiti@2.6.1)(sass@1.98.0)(stylus@0.64.0)(terser@5.46.0)(yaml@2.8.1) + vite: 8.0.1(@types/node@25.5.0)(esbuild@0.27.2)(jiti@2.6.1)(sass@1.98.0)(stylus@0.64.0)(terser@5.46.0)(yaml@2.8.3) - '@vitest/pretty-format@4.1.0': + '@vitest/pretty-format@4.1.2': dependencies: - tinyrainbow: 3.0.3 + tinyrainbow: 3.1.0 - '@vitest/runner@4.1.0': + '@vitest/runner@4.1.2': dependencies: - '@vitest/utils': 4.1.0 + '@vitest/utils': 4.1.2 pathe: 2.0.3 - '@vitest/snapshot@4.1.0': + '@vitest/snapshot@4.1.2': dependencies: - '@vitest/pretty-format': 4.1.0 - '@vitest/utils': 4.1.0 + '@vitest/pretty-format': 4.1.2 + '@vitest/utils': 4.1.2 magic-string: 0.30.21 pathe: 2.0.3 - '@vitest/spy@4.1.0': {} + '@vitest/spy@4.1.2': {} - '@vitest/ui@4.1.0(vitest@4.1.0)': + '@vitest/ui@4.1.2(vitest@4.1.2)': dependencies: - '@vitest/utils': 4.1.0 + '@vitest/utils': 4.1.2 fflate: 0.8.2 - flatted: 3.4.0 + flatted: 3.4.2 pathe: 2.0.3 sirv: 3.0.2 tinyglobby: 0.2.15 - tinyrainbow: 3.0.3 - vitest: 4.1.0(@types/node@25.5.0)(@vitest/ui@4.1.0)(jsdom@29.0.0(canvas@3.2.1))(vite@8.0.1(@types/node@25.5.0)(esbuild@0.27.2)(jiti@2.6.1)(sass@1.98.0)(stylus@0.64.0)(terser@5.46.0)(yaml@2.8.1)) + tinyrainbow: 3.1.0 + vitest: 4.1.2(@types/node@25.5.0)(@vitest/ui@4.1.2)(jsdom@29.0.1(canvas@3.2.2))(vite@8.0.1(@types/node@25.5.0)(esbuild@0.27.2)(jiti@2.6.1)(sass@1.98.0)(stylus@0.64.0)(terser@5.46.0)(yaml@2.8.3)) - '@vitest/utils@4.1.0': + '@vitest/utils@4.1.2': dependencies: - '@vitest/pretty-format': 4.1.0 + '@vitest/pretty-format': 4.1.2 convert-source-map: 2.0.0 - tinyrainbow: 3.0.3 + tinyrainbow: 3.1.0 '@webassemblyjs/ast@1.14.1': dependencies: @@ -10555,7 +10701,7 @@ snapshots: caniuse-lite@1.0.30001761: {} - canvas@3.2.1: + canvas@3.2.2: dependencies: node-addon-api: 7.1.1 prebuild-install: 7.1.3 @@ -10696,8 +10842,6 @@ snapshots: commander@2.20.3: {} - commander@7.2.0: {} - comment-parser@1.4.5: {} common-ancestor-path@1.0.1: {} @@ -10905,8 +11049,6 @@ snapshots: dateformat@3.0.3: {} - debounce@1.2.1: {} - debug@4.3.6: dependencies: ms: 2.1.2 @@ -11169,11 +11311,13 @@ snapshots: escape-string-regexp@4.0.0: {} - eslint-config-prettier@10.1.8(eslint@10.0.3(jiti@2.6.1)): + escape-string-regexp@5.0.0: {} + + eslint-config-prettier@10.1.8(eslint@10.1.0(jiti@2.6.1)): dependencies: - eslint: 10.0.3(jiti@2.6.1) + eslint: 10.1.0(jiti@2.6.1) - eslint-plugin-jsdoc@62.8.0(eslint@10.0.3(jiti@2.6.1)): + eslint-plugin-jsdoc@62.8.1(eslint@10.1.0(jiti@2.6.1)): dependencies: '@es-joy/jsdoccomment': 0.84.0 '@es-joy/resolve.exports': 1.2.0 @@ -11181,7 +11325,7 @@ snapshots: comment-parser: 1.4.5 debug: 4.4.3(supports-color@5.5.0) escape-string-regexp: 4.0.0 - eslint: 10.0.3(jiti@2.6.1) + eslint: 10.1.0(jiti@2.6.1) espree: 11.2.0 esquery: 1.7.0 html-entities: 2.6.0 @@ -11193,21 +11337,21 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-plugin-prettier@5.5.5(@types/eslint@8.56.6)(eslint-config-prettier@10.1.8(eslint@10.0.3(jiti@2.6.1)))(eslint@10.0.3(jiti@2.6.1))(prettier@3.8.1): + eslint-plugin-prettier@5.5.5(@types/eslint@8.56.6)(eslint-config-prettier@10.1.8(eslint@10.1.0(jiti@2.6.1)))(eslint@10.1.0(jiti@2.6.1))(prettier@3.8.1): dependencies: - eslint: 10.0.3(jiti@2.6.1) + eslint: 10.1.0(jiti@2.6.1) prettier: 3.8.1 prettier-linter-helpers: 1.0.1 synckit: 0.11.12 optionalDependencies: '@types/eslint': 8.56.6 - eslint-config-prettier: 10.1.8(eslint@10.0.3(jiti@2.6.1)) + eslint-config-prettier: 10.1.8(eslint@10.1.0(jiti@2.6.1)) - eslint-plugin-tsdoc@0.5.2(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3): + eslint-plugin-tsdoc@0.5.2(eslint@10.1.0(jiti@2.6.1))(typescript@5.9.3): dependencies: '@microsoft/tsdoc': 0.16.0 '@microsoft/tsdoc-config': 0.18.1 - '@typescript-eslint/utils': 8.56.1(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/utils': 8.56.1(eslint@10.1.0(jiti@2.6.1))(typescript@5.9.3) transitivePeerDependencies: - eslint - supports-color @@ -11233,9 +11377,9 @@ snapshots: eslint-visitor-keys@5.0.1: {} - eslint@10.0.3(jiti@2.6.1): + eslint@10.1.0(jiti@2.6.1): dependencies: - '@eslint-community/eslint-utils': 4.9.1(eslint@10.0.3(jiti@2.6.1)) + '@eslint-community/eslint-utils': 4.9.1(eslint@10.1.0(jiti@2.6.1)) '@eslint-community/regexpp': 4.12.2 '@eslint/config-array': 0.23.3 '@eslint/config-helpers': 0.5.3 @@ -11474,15 +11618,15 @@ snapshots: flat-cache@4.0.1: dependencies: - flatted: 3.3.3 + flatted: 3.4.0 keyv: 4.5.4 flat@5.0.2: {} - flatted@3.3.3: {} - flatted@3.4.0: {} + flatted@3.4.2: {} + fn.name@1.1.0: {} follow-redirects@1.15.6: {} @@ -11775,7 +11919,9 @@ snapshots: html-escaper@2.0.2: {} - html-minifier-next@5.2.0(@swc/core@1.15.18): + html-escaper@3.0.3: {} + + html-minifier-next@5.2.0(@swc/core@1.15.21): dependencies: commander: 14.0.3 entities: 7.0.1 @@ -11783,7 +11929,7 @@ snapshots: svgo: 4.0.1 terser: 5.46.0 optionalDependencies: - '@swc/core': 1.15.18 + '@swc/core': 1.15.21 http-cache-semantics@4.2.0: {} @@ -12067,11 +12213,11 @@ snapshots: jsdoc-type-pratt-parser@7.1.1: {} - jsdom-global@3.0.2(jsdom@29.0.0(canvas@3.2.1)): + jsdom-global@3.0.2(jsdom@29.0.1(canvas@3.2.2)): dependencies: - jsdom: 29.0.0(canvas@3.2.1) + jsdom: 29.0.1(canvas@3.2.2) - jsdom@29.0.0(canvas@3.2.1): + jsdom@29.0.1(canvas@3.2.2): dependencies: '@asamuzakjp/css-color': 5.0.1 '@asamuzakjp/dom-selector': 7.0.3 @@ -12088,14 +12234,14 @@ snapshots: saxes: 6.0.0 symbol-tree: 3.2.4 tough-cookie: 6.0.1 - undici: 7.24.3 + undici: 7.24.6 w3c-xmlserializer: 5.0.0 webidl-conversions: 8.0.1 whatwg-mimetype: 5.0.0 whatwg-url: 16.0.1 xml-name-validator: 5.0.0 optionalDependencies: - canvas: 3.2.1 + canvas: 3.2.2 transitivePeerDependencies: - '@noble/hashes' @@ -12171,12 +12317,12 @@ snapshots: kuler@2.0.0: {} - lerna@9.0.7(@swc/core@1.15.18)(@types/node@25.5.0): + lerna@9.0.7(@swc/core@1.15.21)(@types/node@25.5.0): dependencies: '@npmcli/arborist': 9.1.6 '@npmcli/package-json': 7.0.2 '@npmcli/run-script': 10.0.3 - '@nx/devkit': 22.3.3(nx@22.6.0(@swc/core@1.15.18)) + '@nx/devkit': 22.3.3(nx@22.6.3(@swc/core@1.15.21)) '@octokit/plugin-enterprise-rest': 6.0.1 '@octokit/rest': 20.1.2 aproba: 2.0.0 @@ -12214,7 +12360,7 @@ snapshots: npm-package-arg: 13.0.1 npm-packlist: 10.0.3 npm-registry-fetch: 19.1.0 - nx: 22.6.0(@swc/core@1.15.18) + nx: 22.6.3(@swc/core@1.15.21) p-map: 4.0.0 p-map-series: 2.1.0 p-pipe: 3.1.0 @@ -12525,7 +12671,7 @@ snapshots: map-obj@4.3.0: {} - markdown-it@14.1.0: + markdown-it@14.1.1: dependencies: argparse: 2.0.1 entities: 4.5.0 @@ -12601,13 +12747,13 @@ snapshots: minify@15.2.0: dependencies: '@putout/minify': 6.0.0 - '@swc/core': 1.15.18 + '@swc/core': 1.15.21 clean-css: 5.3.3 css-b64-images: 0.2.5 debug: 4.4.3(supports-color@5.5.0) esbuild: 0.27.2 find-up: 8.0.0 - html-minifier-next: 5.2.0(@swc/core@1.15.18) + html-minifier-next: 5.2.0(@swc/core@1.15.21) lightningcss: 1.30.2 montag: 1.2.1 oxc-minify: 0.116.0 @@ -12900,7 +13046,7 @@ snapshots: transitivePeerDependencies: - debug - nx@22.6.0(@swc/core@1.15.18): + nx@22.6.3(@swc/core@1.15.21): dependencies: '@ltd/j-toml': 1.38.0 '@napi-rs/wasm-runtime': 0.2.4 @@ -12923,7 +13069,6 @@ snapshots: jsonc-parser: 3.2.0 lines-and-columns: 2.0.3 minimatch: 10.2.4 - node-machine-id: 1.1.12 npm-run-path: 4.0.1 open: 8.4.2 ora: 5.3.0 @@ -12940,17 +13085,17 @@ snapshots: yargs: 17.7.2 yargs-parser: 21.1.1 optionalDependencies: - '@nx/nx-darwin-arm64': 22.6.0 - '@nx/nx-darwin-x64': 22.6.0 - '@nx/nx-freebsd-x64': 22.6.0 - '@nx/nx-linux-arm-gnueabihf': 22.6.0 - '@nx/nx-linux-arm64-gnu': 22.6.0 - '@nx/nx-linux-arm64-musl': 22.6.0 - '@nx/nx-linux-x64-gnu': 22.6.0 - '@nx/nx-linux-x64-musl': 22.6.0 - '@nx/nx-win32-arm64-msvc': 22.6.0 - '@nx/nx-win32-x64-msvc': 22.6.0 - '@swc/core': 1.15.18 + '@nx/nx-darwin-arm64': 22.6.3 + '@nx/nx-darwin-x64': 22.6.3 + '@nx/nx-freebsd-x64': 22.6.3 + '@nx/nx-linux-arm-gnueabihf': 22.6.3 + '@nx/nx-linux-arm64-gnu': 22.6.3 + '@nx/nx-linux-arm64-musl': 22.6.3 + '@nx/nx-linux-x64-gnu': 22.6.3 + '@nx/nx-linux-x64-musl': 22.6.3 + '@nx/nx-win32-arm64-msvc': 22.6.3 + '@nx/nx-win32-x64-msvc': 22.6.3 + '@swc/core': 1.15.21 transitivePeerDependencies: - debug @@ -13990,11 +14135,11 @@ snapshots: picocolors: 1.1.1 sax: 1.5.0 - swc-loader@0.2.7(@swc/core@1.15.18)(webpack@5.105.4): + swc-loader@0.2.7(@swc/core@1.15.21)(webpack@5.105.4): dependencies: - '@swc/core': 1.15.18 + '@swc/core': 1.15.21 '@swc/counter': 0.1.3 - webpack: 5.105.4(@swc/core@1.15.18)(esbuild@0.27.2)(webpack-cli@7.0.2) + webpack: 5.105.4(@swc/core@1.15.21)(esbuild@0.27.2)(webpack-cli@7.0.2) symbol-tree@3.2.4: {} @@ -14038,15 +14183,15 @@ snapshots: minizlib: 3.1.0 yallist: 5.0.0 - terser-webpack-plugin@5.4.0(@swc/core@1.15.18)(esbuild@0.27.2)(webpack@5.105.4): + terser-webpack-plugin@5.4.0(@swc/core@1.15.21)(esbuild@0.27.2)(webpack@5.105.4): dependencies: '@jridgewell/trace-mapping': 0.3.31 jest-worker: 27.5.1 schema-utils: 4.3.3 terser: 5.46.0 - webpack: 5.105.4(@swc/core@1.15.18)(esbuild@0.27.2)(webpack-cli@7.0.2) + webpack: 5.105.4(@swc/core@1.15.21)(esbuild@0.27.2)(webpack-cli@7.0.2) optionalDependencies: - '@swc/core': 1.15.18 + '@swc/core': 1.15.21 esbuild: 0.27.2 terser@5.44.1: @@ -14088,7 +14233,7 @@ snapshots: fdir: 6.5.0(picomatch@4.0.3) picomatch: 4.0.3 - tinyrainbow@3.0.3: {} + tinyrainbow@3.1.0: {} tldts-core@7.0.19: {} @@ -14162,7 +14307,7 @@ snapshots: tslib: 2.8.1 typescript: 5.9.3 - ts-node@10.9.2(@swc/core@1.15.18)(@types/node@18.19.45)(typescript@5.5.4): + ts-node@10.9.2(@swc/core@1.15.21)(@types/node@18.19.45)(typescript@5.5.4): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.9 @@ -14180,9 +14325,9 @@ snapshots: v8-compile-cache-lib: 3.0.1 yn: 3.1.1 optionalDependencies: - '@swc/core': 1.15.18 + '@swc/core': 1.15.21 - ts-node@10.9.2(@swc/core@1.15.18)(@types/node@25.5.0)(typescript@5.9.3): + ts-node@10.9.2(@swc/core@1.15.21)(@types/node@25.5.0)(typescript@5.9.3): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.9 @@ -14200,7 +14345,7 @@ snapshots: v8-compile-cache-lib: 3.0.1 yn: 3.1.1 optionalDependencies: - '@swc/core': 1.15.18 + '@swc/core': 1.15.21 tsconfig-paths-webpack-plugin@4.2.0: dependencies: @@ -14260,61 +14405,61 @@ snapshots: typedarray@0.0.6: {} - typedoc-plugin-clarity@1.6.0(typedoc@0.28.17(typescript@5.9.3)): + typedoc-plugin-clarity@1.6.0(typedoc@0.28.18(typescript@5.9.3)): dependencies: - typedoc: 0.28.17(typescript@5.9.3) + typedoc: 0.28.18(typescript@5.9.3) typescript: 5.9.3 - typedoc-plugin-coverage@4.0.2(typedoc@0.28.17(typescript@5.9.3)): + typedoc-plugin-coverage@4.0.2(typedoc@0.28.18(typescript@5.9.3)): dependencies: - typedoc: 0.28.17(typescript@5.9.3) + typedoc: 0.28.18(typescript@5.9.3) - typedoc-plugin-google-ads@1.6.0(typedoc@0.28.17(typescript@5.9.3)): + typedoc-plugin-google-ads@1.6.0(typedoc@0.28.18(typescript@5.9.3)): dependencies: - typedoc: 0.28.17(typescript@5.9.3) + typedoc: 0.28.18(typescript@5.9.3) typescript: 5.9.3 - typedoc-plugin-keywords@1.6.0(typedoc@0.28.17(typescript@5.9.3)): + typedoc-plugin-keywords@1.6.0(typedoc@0.28.18(typescript@5.9.3)): dependencies: - typedoc: 0.28.17(typescript@5.9.3) + typedoc: 0.28.18(typescript@5.9.3) typescript: 5.9.3 - typedoc-plugin-mdn-links@5.1.1(typedoc@0.28.17(typescript@5.9.3)): + typedoc-plugin-mdn-links@5.1.1(typedoc@0.28.18(typescript@5.9.3)): dependencies: - typedoc: 0.28.17(typescript@5.9.3) + typedoc: 0.28.18(typescript@5.9.3) - typedoc-plugin-missing-exports@4.1.2(typedoc@0.28.17(typescript@5.9.3)): + typedoc-plugin-missing-exports@4.1.2(typedoc@0.28.18(typescript@5.9.3)): dependencies: - typedoc: 0.28.17(typescript@5.9.3) + typedoc: 0.28.18(typescript@5.9.3) - typedoc@0.28.17(typescript@5.9.3): + typedoc@0.28.18(typescript@5.9.3): dependencies: - '@gerrit0/mini-shiki': 3.20.0 + '@gerrit0/mini-shiki': 3.23.0 lunr: 2.3.9 - markdown-it: 14.1.0 - minimatch: 9.0.5 + markdown-it: 14.1.1 + minimatch: 10.2.4 typescript: 5.9.3 - yaml: 2.8.1 + yaml: 2.8.3 - typescript-eslint@8.57.1(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3): + typescript-eslint@8.57.1(eslint@10.1.0(jiti@2.6.1))(typescript@5.9.3): dependencies: - '@typescript-eslint/eslint-plugin': 8.57.1(@typescript-eslint/parser@8.57.1(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3))(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3) - '@typescript-eslint/parser': 8.57.1(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/eslint-plugin': 8.57.1(@typescript-eslint/parser@8.57.1(eslint@10.1.0(jiti@2.6.1))(typescript@5.9.3))(eslint@10.1.0(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/parser': 8.57.1(eslint@10.1.0(jiti@2.6.1))(typescript@5.9.3) '@typescript-eslint/typescript-estree': 8.57.1(typescript@5.9.3) - '@typescript-eslint/utils': 8.57.1(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3) - eslint: 10.0.3(jiti@2.6.1) + '@typescript-eslint/utils': 8.57.1(eslint@10.1.0(jiti@2.6.1))(typescript@5.9.3) + eslint: 10.1.0(jiti@2.6.1) typescript: 5.9.3 transitivePeerDependencies: - supports-color - typescript-json-schema@0.67.1(@swc/core@1.15.18): + typescript-json-schema@0.67.1(@swc/core@1.15.21): dependencies: '@types/json-schema': 7.0.15 '@types/node': 18.19.45 glob: 7.2.3 path-equal: 1.2.5 safe-stable-stringify: 2.5.0 - ts-node: 10.9.2(@swc/core@1.15.18)(@types/node@18.19.45)(typescript@5.5.4) + ts-node: 10.9.2(@swc/core@1.15.21)(@types/node@18.19.45)(typescript@5.5.4) typescript: 5.5.4 vm2: 3.10.0 yargs: 17.7.2 @@ -14341,7 +14486,7 @@ snapshots: undici-types@7.24.5: {} - undici@7.24.3: {} + undici@7.24.6: {} unicorn-magic@0.3.0: {} @@ -14392,7 +14537,7 @@ snapshots: vary@1.1.2: {} - vite@7.3.1(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.98.0)(stylus@0.64.0)(terser@5.46.0)(yaml@2.8.1): + vite@7.3.1(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.98.0)(stylus@0.64.0)(terser@5.46.0)(yaml@2.8.3): dependencies: esbuild: 0.27.2 fdir: 6.5.0(picomatch@4.0.3) @@ -14408,9 +14553,9 @@ snapshots: sass: 1.98.0 stylus: 0.64.0 terser: 5.46.0 - yaml: 2.8.1 + yaml: 2.8.3 - vite@8.0.1(@types/node@25.5.0)(esbuild@0.27.2)(jiti@2.6.1)(sass@1.98.0)(stylus@0.64.0)(terser@5.46.0)(yaml@2.8.1): + vite@8.0.1(@types/node@25.5.0)(esbuild@0.27.2)(jiti@2.6.1)(sass@1.98.0)(stylus@0.64.0)(terser@5.46.0)(yaml@2.8.3): dependencies: lightningcss: 1.32.0 picomatch: 4.0.3 @@ -14425,17 +14570,17 @@ snapshots: sass: 1.98.0 stylus: 0.64.0 terser: 5.46.0 - yaml: 2.8.1 + yaml: 2.8.3 - vitest@4.1.0(@types/node@25.5.0)(@vitest/ui@4.1.0)(jsdom@29.0.0(canvas@3.2.1))(vite@8.0.1(@types/node@25.5.0)(esbuild@0.27.2)(jiti@2.6.1)(sass@1.98.0)(stylus@0.64.0)(terser@5.46.0)(yaml@2.8.1)): + vitest@4.1.2(@types/node@25.5.0)(@vitest/ui@4.1.2)(jsdom@29.0.1(canvas@3.2.2))(vite@8.0.1(@types/node@25.5.0)(esbuild@0.27.2)(jiti@2.6.1)(sass@1.98.0)(stylus@0.64.0)(terser@5.46.0)(yaml@2.8.3)): dependencies: - '@vitest/expect': 4.1.0 - '@vitest/mocker': 4.1.0(vite@8.0.1(@types/node@25.5.0)(esbuild@0.27.2)(jiti@2.6.1)(sass@1.98.0)(stylus@0.64.0)(terser@5.46.0)(yaml@2.8.1)) - '@vitest/pretty-format': 4.1.0 - '@vitest/runner': 4.1.0 - '@vitest/snapshot': 4.1.0 - '@vitest/spy': 4.1.0 - '@vitest/utils': 4.1.0 + '@vitest/expect': 4.1.2 + '@vitest/mocker': 4.1.2(vite@8.0.1(@types/node@25.5.0)(esbuild@0.27.2)(jiti@2.6.1)(sass@1.98.0)(stylus@0.64.0)(terser@5.46.0)(yaml@2.8.3)) + '@vitest/pretty-format': 4.1.2 + '@vitest/runner': 4.1.2 + '@vitest/snapshot': 4.1.2 + '@vitest/spy': 4.1.2 + '@vitest/utils': 4.1.2 es-module-lexer: 2.0.0 expect-type: 1.3.0 magic-string: 0.30.21 @@ -14446,13 +14591,13 @@ snapshots: tinybench: 2.9.0 tinyexec: 1.0.2 tinyglobby: 0.2.15 - tinyrainbow: 3.0.3 - vite: 8.0.1(@types/node@25.5.0)(esbuild@0.27.2)(jiti@2.6.1)(sass@1.98.0)(stylus@0.64.0)(terser@5.46.0)(yaml@2.8.1) + tinyrainbow: 3.1.0 + vite: 8.0.1(@types/node@25.5.0)(esbuild@0.27.2)(jiti@2.6.1)(sass@1.98.0)(stylus@0.64.0)(terser@5.46.0)(yaml@2.8.3) why-is-node-running: 2.3.0 optionalDependencies: '@types/node': 25.5.0 - '@vitest/ui': 4.1.0(vitest@4.1.0) - jsdom: 29.0.0(canvas@3.2.1) + '@vitest/ui': 4.1.2(vitest@4.1.2) + jsdom: 29.0.1(canvas@3.2.2) transitivePeerDependencies: - msw @@ -14484,15 +14629,14 @@ snapshots: webidl-conversions@8.0.1: {} - webpack-bundle-analyzer@5.2.0: + webpack-bundle-analyzer@5.3.0: dependencies: - '@discoveryjs/json-ext': 0.5.7 - acorn: 8.15.0 - acorn-walk: 8.3.4 - commander: 7.2.0 - debounce: 1.2.1 - escape-string-regexp: 4.0.0 - html-escaper: 2.0.2 + '@discoveryjs/json-ext': 0.6.3 + acorn: 8.16.0 + acorn-walk: 8.3.5 + commander: 14.0.3 + escape-string-regexp: 5.0.0 + html-escaper: 3.0.3 opener: 1.5.2 picocolors: 1.1.1 sirv: 3.0.2 @@ -14501,7 +14645,7 @@ snapshots: - bufferutil - utf-8-validate - webpack-cli@7.0.2(webpack-bundle-analyzer@5.2.0)(webpack@5.105.4): + webpack-cli@7.0.2(webpack-bundle-analyzer@5.3.0)(webpack@5.105.4): dependencies: '@discoveryjs/json-ext': 1.0.0 commander: 14.0.3 @@ -14511,10 +14655,10 @@ snapshots: import-local: 3.1.0 interpret: 3.1.1 rechoir: 0.8.0 - webpack: 5.105.4(@swc/core@1.15.18)(esbuild@0.27.2)(webpack-cli@7.0.2) + webpack: 5.105.4(@swc/core@1.15.21)(esbuild@0.27.2)(webpack-cli@7.0.2) webpack-merge: 6.0.1 optionalDependencies: - webpack-bundle-analyzer: 5.2.0 + webpack-bundle-analyzer: 5.3.0 webpack-merge@6.0.1: dependencies: @@ -14524,7 +14668,7 @@ snapshots: webpack-sources@3.3.4: {} - webpack@5.105.4(@swc/core@1.15.18)(esbuild@0.27.2)(webpack-cli@7.0.2): + webpack@5.105.4(@swc/core@1.15.21)(esbuild@0.27.2)(webpack-cli@7.0.2): dependencies: '@types/eslint-scope': 3.7.7 '@types/estree': 1.0.8 @@ -14548,11 +14692,11 @@ snapshots: neo-async: 2.6.2 schema-utils: 4.3.3 tapable: 2.3.0 - terser-webpack-plugin: 5.4.0(@swc/core@1.15.18)(esbuild@0.27.2)(webpack@5.105.4) + terser-webpack-plugin: 5.4.0(@swc/core@1.15.21)(esbuild@0.27.2)(webpack@5.105.4) watchpack: 2.5.1 webpack-sources: 3.3.4 optionalDependencies: - webpack-cli: 7.0.2(webpack-bundle-analyzer@5.2.0)(webpack@5.105.4) + webpack-cli: 7.0.2(webpack-bundle-analyzer@5.3.0)(webpack@5.105.4) transitivePeerDependencies: - '@swc/core' - esbuild @@ -14679,6 +14823,8 @@ snapshots: yaml@2.8.1: {} + yaml@2.8.3: {} + yargs-parser@20.2.9: {} yargs-parser@21.1.1: {} From 800b48a9b725eac45d5fe6b063a0f20ae7c5d55d Mon Sep 17 00:00:00 2001 From: Matteo Bruni <176620+matteobruni@users.noreply.github.com> Date: Mon, 30 Mar 2026 08:17:19 +0200 Subject: [PATCH 05/20] refactor: improved delete pipeline --- engine/src/Core/Particles.ts | 36 +++++++++---------- .../src/InteractivityParticleMaker.ts | 2 +- interactions/external/pop/src/Popper.ts | 2 +- interactions/external/remove/src/Remover.ts | 4 ++- updaters/opacity/src/OpacityUpdater.ts | 8 +++-- updaters/outModes/src/DestroyOutMode.ts | 2 +- updaters/outModes/src/NoneOutMode.ts | 4 +-- updaters/size/src/SizeUpdater.ts | 3 +- 8 files changed, 33 insertions(+), 28 deletions(-) diff --git a/engine/src/Core/Particles.ts b/engine/src/Core/Particles.ts index 217e7e4120d..d8af23b7a36 100644 --- a/engine/src/Core/Particles.ts +++ b/engine/src/Core/Particles.ts @@ -434,38 +434,38 @@ export class Particles { this.grid.insert(particle); } - if (particlesToDelete.size) { - const checkDelete = (p: Particle): boolean => !particlesToDelete.has(p); - - this._array = this.filter(checkDelete); - this._zArray = this._zArray.filter(checkDelete); - - for (const particle of particlesToDelete) { - this._engine.dispatchEvent(EventType.particleRemoved, { - container: this._container, - data: { - particle, - }, - }); - } - - this._addToPool(...particlesToDelete); - } - for (const plugin of this._postUpdatePlugins) { plugin.postUpdate?.(delta); } // this loop is required to be done after mouse interactions for (const particle of this._array) { + if (particle.destroyed) { + particlesToDelete.add(particle); + + continue; + } + for (const updater of this.updaters) { updater.update(particle, delta); } + // particle.destroyed can be set to true in updater.update + // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition if (!particle.destroyed && !particle.spawning) { for (const plugin of this._postParticleUpdatePlugins) { plugin.postParticleUpdate?.(particle, delta); } + + // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition + } else if (particle.destroyed) { + particlesToDelete.add(particle); + } + } + + if (particlesToDelete.size) { + for (const particle of particlesToDelete) { + this.remove(particle); } } diff --git a/interactions/external/particle/src/InteractivityParticleMaker.ts b/interactions/external/particle/src/InteractivityParticleMaker.ts index 4606fcaa032..70b1101c10e 100644 --- a/interactions/external/particle/src/InteractivityParticleMaker.ts +++ b/interactions/external/particle/src/InteractivityParticleMaker.ts @@ -95,7 +95,7 @@ export class InteractivityParticleMaker extends ExternalInteractorBase { const removeNb = getRangeValue(options.interactivity.modes.remove.quantity); - container.particles.removeQuantity(removeNb); + for (let i = 0; i < removeNb; i++) { + container.particles.get(i)?.destroy(); + } }; } diff --git a/updaters/opacity/src/OpacityUpdater.ts b/updaters/opacity/src/OpacityUpdater.ts index 6127505ec10..087052c4189 100644 --- a/updaters/opacity/src/OpacityUpdater.ts +++ b/updaters/opacity/src/OpacityUpdater.ts @@ -71,10 +71,12 @@ export class OpacityUpdater implements IParticleUpdater { * @param particle - */ reset(particle: Particle): void { - if (particle.opacity) { - particle.opacity.time = 0; - particle.opacity.loops = 0; + if (!particle.opacity) { + return; } + + particle.opacity.time = 0; + particle.opacity.loops = 0; } /** diff --git a/updaters/outModes/src/DestroyOutMode.ts b/updaters/outModes/src/DestroyOutMode.ts index b4fb6972ce9..0107f37ebf3 100644 --- a/updaters/outModes/src/DestroyOutMode.ts +++ b/updaters/outModes/src/DestroyOutMode.ts @@ -57,6 +57,6 @@ export class DestroyOutMode implements IOutModeManager { } } - container.particles.remove(particle, particle.group, true); + particle.destroy(true); } } diff --git a/updaters/outModes/src/NoneOutMode.ts b/updaters/outModes/src/NoneOutMode.ts index c1953f893ad..e81f87adbcb 100644 --- a/updaters/outModes/src/NoneOutMode.ts +++ b/updaters/outModes/src/NoneOutMode.ts @@ -53,7 +53,7 @@ export class NoneOutMode implements IOutModeManager { } if (!isPointInside(particle.position, container.canvas.size, originPoint, pRadius, direction)) { - container.particles.remove(particle); + particle.destroy(); } } else { const position = particle.position; @@ -64,7 +64,7 @@ export class NoneOutMode implements IOutModeManager { direction === OutModeDirection.bottom) || (gravityOptions.inverse && position.y < -pRadius && direction === OutModeDirection.top) ) { - container.particles.remove(particle); + particle.destroy(); } } } diff --git a/updaters/size/src/SizeUpdater.ts b/updaters/size/src/SizeUpdater.ts index e09c3d80528..8831ac22b6b 100644 --- a/updaters/size/src/SizeUpdater.ts +++ b/updaters/size/src/SizeUpdater.ts @@ -38,7 +38,8 @@ export class SizeUpdater implements IParticleUpdater { } reset(particle: Particle): void { - particle.size.loops = minLoops; + particle.size.time = 0; + particle.size.loops = 0; } update(particle: Particle, delta: IDelta): void { From a1e8fc5fbf2a9c973ed5b557da7904cbf02dbec9 Mon Sep 17 00:00:00 2001 From: Matteo Bruni <176620+matteobruni@users.noreply.github.com> Date: Mon, 30 Mar 2026 08:34:56 +0200 Subject: [PATCH 06/20] refactor: improved retina class/init --- .../Core/Interfaces/IParticleRetinaProps.ts | 8 ++-- engine/src/Core/Particle.ts | 4 ++ engine/src/Core/Retina.ts | 15 ++---- plugins/absorbers/src/AbsorberInstance.ts | 47 ++++++++++--------- plugins/move/src/MovePluginInstance.ts | 23 ++++----- plugins/poisson/src/PoissonDisc.ts | 2 +- updaters/size/src/SizeUpdater.ts | 3 +- utils/configs/src/b/blackHole.ts | 9 +--- 8 files changed, 50 insertions(+), 61 deletions(-) diff --git a/engine/src/Core/Interfaces/IParticleRetinaProps.ts b/engine/src/Core/Interfaces/IParticleRetinaProps.ts index 41fdec68dcf..d6fd085f328 100644 --- a/engine/src/Core/Interfaces/IParticleRetinaProps.ts +++ b/engine/src/Core/Interfaces/IParticleRetinaProps.ts @@ -2,8 +2,8 @@ import type { IDistance } from "./IDistance.js"; export interface IParticleRetinaProps { maxDistance: Partial; - maxSpeed?: number; - moveDrift?: number; - moveSpeed?: number; - sizeAnimationSpeed?: number; + maxSpeed: number; + moveDrift: number; + moveSpeed: number; + sizeAnimationSpeed: number; } diff --git a/engine/src/Core/Particle.ts b/engine/src/Core/Particle.ts index 33127d2120a..61bd901b9f8 100644 --- a/engine/src/Core/Particle.ts +++ b/engine/src/Core/Particle.ts @@ -508,6 +508,10 @@ export class Particle { this.misplaced = false; this.retina = { maxDistance: {}, + maxSpeed: 0, + moveDrift: 0, + moveSpeed: 0, + sizeAnimationSpeed: 0, }; this.outType = ParticleOutType.normal; this.ignoresResizeRatio = true; diff --git a/engine/src/Core/Retina.ts b/engine/src/Core/Retina.ts index 3a0d78bbd06..e8752565bf4 100644 --- a/engine/src/Core/Retina.ts +++ b/engine/src/Core/Retina.ts @@ -6,10 +6,8 @@ import { getRangeValue } from "../Utils/MathUtils.js"; /** */ export class Retina { - maxSpeed!: number; pixelRatio: number; reduceFactor: number; - sizeAnimationSpeed!: number; constructor(private readonly container: Container) { this.pixelRatio = defaultRatio; @@ -35,12 +33,6 @@ export class Retina { canvas.size.width = element.offsetWidth * ratio; canvas.size.height = element.offsetHeight * ratio; } - - const particles = options.particles, - moveOptions = particles.move; - - this.maxSpeed = getRangeValue(moveOptions.gravity.maxSpeed) * ratio; - this.sizeAnimationSpeed = getRangeValue(particles.size.animation.speed) * ratio; } initParticle(particle: Particle): void { @@ -50,15 +42,14 @@ export class Retina { moveDistance = moveOptions.distance, props = particle.retina; + props.maxSpeed = getRangeValue(moveOptions.gravity.maxSpeed) * ratio; props.moveDrift = getRangeValue(moveOptions.drift) * ratio; props.moveSpeed = getRangeValue(moveOptions.speed) * ratio; props.sizeAnimationSpeed = getRangeValue(options.size.animation.speed) * ratio; const maxDistance = props.maxDistance; - maxDistance.horizontal = moveDistance.horizontal !== undefined ? moveDistance.horizontal * ratio : undefined; - maxDistance.vertical = moveDistance.vertical !== undefined ? moveDistance.vertical * ratio : undefined; - - props.maxSpeed = getRangeValue(moveOptions.gravity.maxSpeed) * ratio; + maxDistance.horizontal = moveDistance.horizontal === undefined ? undefined : moveDistance.horizontal * ratio; + maxDistance.vertical = moveDistance.vertical === undefined ? undefined : moveDistance.vertical * ratio; } } diff --git a/plugins/absorbers/src/AbsorberInstance.ts b/plugins/absorbers/src/AbsorberInstance.ts index 48ea99f8dc9..9ff24230a67 100644 --- a/plugins/absorbers/src/AbsorberInstance.ts +++ b/plugins/absorbers/src/AbsorberInstance.ts @@ -14,12 +14,14 @@ import { getDistance, getDistances, getRandom, + getRangeMax, getRangeValue, getStyleFromRgb, + half, + identity, isPointInside, millisecondsToSeconds, originPoint, - percentDenominator, rangeColorToRgb, } from "@tsparticles/engine"; import { Absorber } from "./Options/Classes/Absorber.js"; @@ -33,6 +35,8 @@ const squareExp = 2, minMass = 0, minAngle = 0, maxAngle = doublePI, + maxDegreeAngle = 360, + angleIncrementFactor = identity / maxDegreeAngle, minVelocity = 0, defaultLifeDelay = 0, minLifeCount = 0, @@ -192,14 +196,14 @@ export class AbsorberInstance { } else { particle.needsNewPosition = true; - this._updateParticlePosition(particle, v); + this._updateParticlePosition(particle, delta, v); } } else { if (options.destroy) { particle.size.value -= sizeFactor; } - this._updateParticlePosition(particle, v); + this._updateParticlePosition(particle, delta, v); } if (this.limit.radius <= minRadius || this.size < this.limit.radius) { @@ -210,7 +214,7 @@ export class AbsorberInstance { this.mass += sizeFactor * this.options.size.density * container.retina.reduceFactor; } } else { - this._updateParticlePosition(particle, v); + this._updateParticlePosition(particle, delta, v); } } @@ -316,10 +320,15 @@ export class AbsorberInstance { /** * Updates the particle position, if the particle needs a new position * @param particle - the particle to update + * @param delta - the delta * @param v - the vector used for calculating the distance between the Absorber and the particle * @internal */ - private readonly _updateParticlePosition: (particle: OrbitingParticle, v: Vector) => void = (particle, v) => { + private readonly _updateParticlePosition: (particle: OrbitingParticle, delta: IDelta, v: Vector) => void = ( + particle, + delta, + v, + ) => { if (particle.destroyed) { return; } @@ -361,25 +370,21 @@ export class AbsorberInstance { particle.velocity.setTo(Vector.origin); - const updateFunc = { - x: orbitDirection === RotateDirection.clockwise ? Math.cos : Math.sin, - y: orbitDirection === RotateDirection.clockwise ? Math.sin : Math.cos, - }; + const maxSize = getRangeMax(particle.options.size.value) * container.retina.pixelRatio, + sizeFactor = particle.options.move.size ? particle.getRadius() / maxSize : identity, + deltaFactor = delta.factor || identity, + baseSpeed = particle.retina.moveSpeed, + moveSpeed = baseSpeed * sizeFactor * deltaFactor * half; - particle.position.x = this.position.x + orbitRadius * updateFunc.x(orbitAngle); - particle.position.y = this.position.y + orbitRadius * updateFunc.y(orbitAngle); + particle.position.x = this.position.x + orbitRadius * Math.cos(orbitAngle); + particle.position.y = + this.position.y + + orbitRadius * (orbitDirection === RotateDirection.clockwise ? identity : -identity) * Math.sin(orbitAngle); - particle.absorberOrbit.length -= v.length; - particle.absorberOrbit.angle += - (((particle.retina.moveSpeed ?? minVelocity) * container.retina.pixelRatio) / percentDenominator) * - container.retina.reduceFactor; + particle.absorberOrbit.length = Math.max(minOrbitLength, particle.absorberOrbit.length - v.length); + particle.absorberOrbit.angle += moveSpeed * angleIncrementFactor * container.retina.reduceFactor; } else { - const addV = Vector.origin; - - addV.length = v.length; - addV.angle = v.angle; - - particle.velocity.addTo(addV); + particle.velocity.addTo(v); } }; diff --git a/plugins/move/src/MovePluginInstance.ts b/plugins/move/src/MovePluginInstance.ts index 52ce8700a0d..b55533e0253 100644 --- a/plugins/move/src/MovePluginInstance.ts +++ b/plugins/move/src/MovePluginInstance.ts @@ -5,14 +5,14 @@ import { decayOffset, getRangeMax, getRangeValue, + half, millisecondsToSeconds, } from "@tsparticles/engine"; import type { MoveEngine, MoveParticle } from "./Types.js"; import { applyDistance, getProximitySpeedFactor, initSpin, move, spin } from "./Utils.js"; import type { IMovePathGenerator } from "./IMovePathGenerator.js"; -const diffFactor = 2, - defaultSizeFactor = 1, +const defaultSizeFactor = 1, defaultDeltaFactor = 1; export class MovePluginInstance implements IContainerPlugin { @@ -48,10 +48,11 @@ export class MovePluginInstance implements IContainerPlugin { */ particleCreated(particle: MoveParticle): void { const options = particle.options, - gravityOptions = options.move.gravity, - pathOptions = options.move.path; + moveOptions = options.move, + gravityOptions = moveOptions.gravity, + pathOptions = moveOptions.path; - particle.moveDecay = decayOffset - getRangeValue(options.move.decay); + particle.moveDecay = decayOffset - getRangeValue(moveOptions.decay); particle.pathDelay = getRangeValue(pathOptions.delay.value) * millisecondsToSeconds; if (pathOptions.generator) { @@ -98,20 +99,16 @@ export class MovePluginInstance implements IContainerPlugin { } const container = particle.container, - pxRatio = container.retina.pixelRatio; - - particle.retina.moveSpeed ??= getRangeValue(moveOptions.speed) * pxRatio; - particle.retina.moveDrift ??= getRangeValue(particle.options.move.drift) * pxRatio; - - const slowFactor = getProximitySpeedFactor(particle), + pxRatio = container.retina.pixelRatio, + slowFactor = getProximitySpeedFactor(particle), reduceFactor = container.retina.reduceFactor, baseSpeed = particle.retina.moveSpeed, moveDrift = particle.retina.moveDrift, maxSize = getRangeMax(particleOptions.size.value) * pxRatio, sizeFactor = moveOptions.size ? particle.getRadius() / maxSize : defaultSizeFactor, deltaFactor = delta.factor || defaultDeltaFactor, - moveSpeed = (baseSpeed * sizeFactor * slowFactor * deltaFactor) / diffFactor, - maxSpeed = particle.retina.maxSpeed ?? container.retina.maxSpeed; + moveSpeed = baseSpeed * sizeFactor * slowFactor * deltaFactor * half, + maxSpeed = particle.retina.maxSpeed; if (moveOptions.spin.enable) { spin(particle, moveSpeed, reduceFactor); diff --git a/plugins/poisson/src/PoissonDisc.ts b/plugins/poisson/src/PoissonDisc.ts index 50e7bb8ce75..1fa5027f7ab 100644 --- a/plugins/poisson/src/PoissonDisc.ts +++ b/plugins/poisson/src/PoissonDisc.ts @@ -237,7 +237,7 @@ export class PoissonDisc { return; } - // La cella è già occupata + // The cell is already occupied if (cellValue >= gridMinValue) { return; } diff --git a/updaters/size/src/SizeUpdater.ts b/updaters/size/src/SizeUpdater.ts index 8831ac22b6b..b7600975a8b 100644 --- a/updaters/size/src/SizeUpdater.ts +++ b/updaters/size/src/SizeUpdater.ts @@ -17,8 +17,7 @@ export class SizeUpdater implements IParticleUpdater { if (sizeAnimation.enable) { particle.size.velocity = - ((particle.retina.sizeAnimationSpeed ?? container.retina.sizeAnimationSpeed) / percentDenominator) * - container.retina.reduceFactor; + (particle.retina.sizeAnimationSpeed / percentDenominator) * container.retina.reduceFactor; if (!sizeAnimation.sync) { particle.size.velocity *= getRandom(); diff --git a/utils/configs/src/b/blackHole.ts b/utils/configs/src/b/blackHole.ts index 491f5f651e0..cc7303e67d0 100644 --- a/utils/configs/src/b/blackHole.ts +++ b/utils/configs/src/b/blackHole.ts @@ -28,16 +28,9 @@ const options: ISourceOptions = { max: 10, }, }, - links: { - enable: false, - distance: 150, - color: "#ffffff", - opacity: 0.4, - width: 1, - }, move: { enable: true, - speed: 0.5, + speed: { max: 2, min: 0 }, warp: true, }, }, From 364882de37394ebcceab246162c8e9c5b1b295b0 Mon Sep 17 00:00:00 2001 From: Matteo Bruni <176620+matteobruni@users.noreply.github.com> Date: Mon, 30 Mar 2026 09:10:53 +0200 Subject: [PATCH 07/20] refactor: removed public container from particle --- effects/particles/src/ParticlesDrawer.ts | 8 +++- effects/particles/src/index.ts | 4 +- effects/shadow/src/ShadowDrawer.ts | 8 ++-- effects/shadow/src/index.ts | 4 +- effects/trail/src/TrailDrawer.ts | 13 +++-- effects/trail/src/index.ts | 4 +- engine/src/Core/Container.ts | 23 +++++---- engine/src/Core/Particle.ts | 37 +++++++------- engine/src/Core/Particles.ts | 14 ++---- interactions/external/connect/src/Utils.ts | 7 +-- paths/svg/src/SVGPathGenerator.ts | 5 +- plugins/emitters/src/EmitterInstance.ts | 48 +++++++++---------- plugins/move/src/MovePluginInstance.ts | 6 +-- plugins/move/src/Utils.ts | 12 ++--- .../polygonMask/src/PolygonMaskInstance.ts | 4 +- plugins/sounds/src/SoundsPluginInstance.ts | 4 +- shapes/cards/src/cards/CardDrawer.ts | 13 +++-- shapes/cards/src/cards/index.ts | 4 +- shapes/image/src/ImageDrawer.ts | 11 +++-- shapes/image/src/index.ts | 4 +- updaters/gradient/src/GradientUpdater.ts | 21 ++++---- updaters/gradient/src/index.ts | 4 +- updaters/orbit/src/OrbitUpdater.ts | 1 + updaters/orbit/src/Utils.ts | 6 ++- updaters/size/src/SizeUpdater.ts | 9 +++- updaters/size/src/index.ts | 4 +- updaters/twinkle/src/TwinkleUpdater.ts | 7 ++- updaters/twinkle/src/index.ts | 4 +- updaters/wobble/src/Utils.ts | 7 +-- updaters/wobble/src/WobbleUpdater.ts | 8 ++-- 30 files changed, 167 insertions(+), 137 deletions(-) diff --git a/effects/particles/src/ParticlesDrawer.ts b/effects/particles/src/ParticlesDrawer.ts index 46789a668b9..46ed6b90e58 100644 --- a/effects/particles/src/ParticlesDrawer.ts +++ b/effects/particles/src/ParticlesDrawer.ts @@ -38,9 +38,15 @@ type ParticlesParticle = Particle & { }; export class ParticlesDrawer implements IEffectDrawer { + private readonly _container; + + constructor(container: Container) { + this._container = container; + } + drawAfter(data: IShapeDrawData): void { const { particle } = data, - { container } = particle; + { _container: container } = this; if (!particle.particlesNextSpawn) { return; diff --git a/effects/particles/src/index.ts b/effects/particles/src/index.ts index 9a8ea328173..3fbd5a4e71c 100644 --- a/effects/particles/src/index.ts +++ b/effects/particles/src/index.ts @@ -9,10 +9,10 @@ export async function loadParticlesEffect(engine: Engine): Promise { engine.checkVersion(__VERSION__); await engine.register(e => { - e.addEffect("particles", async () => { + e.addEffect("particles", async container => { const { ParticlesDrawer } = await import("./ParticlesDrawer.js"); - return new ParticlesDrawer(); + return new ParticlesDrawer(container); }); }); } diff --git a/effects/shadow/src/ShadowDrawer.ts b/effects/shadow/src/ShadowDrawer.ts index 1d29e9bfa3e..87f45438ab4 100644 --- a/effects/shadow/src/ShadowDrawer.ts +++ b/effects/shadow/src/ShadowDrawer.ts @@ -30,10 +30,12 @@ type ShadowParticle = Particle & { }; export class ShadowDrawer implements IEffectDrawer { - private readonly _engine: Engine; + private readonly _container; + private readonly _engine; - constructor(engine: Engine) { + constructor(engine: Engine, container: Container) { this._engine = engine; + this._container = container; } drawAfter(data: IShapeDrawData): void { @@ -47,7 +49,7 @@ export class ShadowDrawer implements IEffectDrawer { drawBefore(data: IShapeDrawData): void { const { particle, context } = data, - { container } = particle, + { _container: container } = this, shadowParticle = particle as ShadowParticle, shadowColor = shadowParticle.shadowColor, shadowOffset = shadowParticle.shadowOffset; diff --git a/effects/shadow/src/index.ts b/effects/shadow/src/index.ts index ccff5e6affc..a56c35efc5f 100644 --- a/effects/shadow/src/index.ts +++ b/effects/shadow/src/index.ts @@ -9,10 +9,10 @@ export async function loadShadowEffect(engine: Engine): Promise { engine.checkVersion(__VERSION__); await engine.register(e => { - e.addEffect("shadow", async () => { + e.addEffect("shadow", async container => { const { ShadowDrawer } = await import("./ShadowDrawer.js"); - return new ShadowDrawer(e); + return new ShadowDrawer(e, container); }); }); } diff --git a/effects/trail/src/TrailDrawer.ts b/effects/trail/src/TrailDrawer.ts index 71641f4f21d..c6c5dd88a3e 100644 --- a/effects/trail/src/TrailDrawer.ts +++ b/effects/trail/src/TrailDrawer.ts @@ -58,10 +58,17 @@ const defaultTransform = { }; export class TrailDrawer implements IEffectDrawer { + private readonly _container; + + constructor(container: Container) { + this._container = container; + } + drawAfter(data: IShapeDrawData): void { const { context, drawPosition, drawRadius, drawScale, particle, transformData } = data, + container = this._container, diameter = drawRadius * double, - pxRatio = particle.container.retina.pixelRatio, + pxRatio = container.retina.pixelRatio, trail = particle.trail; if (!trail || !particle.trailLength) { @@ -92,8 +99,8 @@ export class TrailDrawer implements IEffectDrawer { const trailLength = Math.min(trail.length, pathLength), canvasSize = { - width: particle.container.canvas.size.width * drawScale + diameter, - height: particle.container.canvas.size.height * drawScale + diameter, + width: container.canvas.size.width * drawScale + diameter, + height: container.canvas.size.height * drawScale + diameter, }; context.save(); diff --git a/effects/trail/src/index.ts b/effects/trail/src/index.ts index 1918809047b..da679791a70 100644 --- a/effects/trail/src/index.ts +++ b/effects/trail/src/index.ts @@ -9,10 +9,10 @@ export async function loadTrailEffect(engine: Engine): Promise { engine.checkVersion(__VERSION__); await engine.register(e => { - e.addEffect("trail", async () => { + e.addEffect("trail", async container => { const { TrailDrawer } = await import("./TrailDrawer.js"); - return new TrailDrawer(); + return new TrailDrawer(container); }); }); } diff --git a/engine/src/Core/Container.ts b/engine/src/Core/Container.ts index 4a16019486a..8389f2b98c3 100644 --- a/engine/src/Core/Container.ts +++ b/engine/src/Core/Container.ts @@ -181,7 +181,7 @@ export class Container { /* ---------- tsParticles - start ------------ */ this._eventListeners = new EventListeners(this); - this._engine.dispatchEvent(EventType.containerBuilt, { container: this }); + this.dispatchEvent(EventType.containerBuilt); } /** @@ -249,7 +249,14 @@ export class Container { } } - this._engine.dispatchEvent(EventType.containerDestroyed, { container: this }); + this.dispatchEvent(EventType.containerDestroyed); + } + + dispatchEvent(type: string, data?: unknown): void { + this._engine.dispatchEvent(type, { + container: this, + data, + }); } /** @@ -368,7 +375,7 @@ export class Container { await this.particles.init(); - this._engine.dispatchEvent(EventType.containerInit, { container: this }); + this.dispatchEvent(EventType.containerInit); this.particles.setDensity(); @@ -376,7 +383,7 @@ export class Container { plugin.particlesSetup?.(); } - this._engine.dispatchEvent(EventType.particlesSetup, { container: this }); + this.dispatchEvent(EventType.particlesSetup); } /** @@ -405,7 +412,7 @@ export class Container { this._paused = true; } - this._engine.dispatchEvent(EventType.containerPaused, { container: this }); + this.dispatchEvent(EventType.containerPaused); } /** @@ -437,7 +444,7 @@ export class Container { } } - this._engine.dispatchEvent(EventType.containerPlay, { container: this }); + this.dispatchEvent(EventType.containerPlay); this.draw(needsUpdate ?? false); } @@ -490,7 +497,7 @@ export class Container { await plugin.start?.(); } - this._engine.dispatchEvent(EventType.containerStarted, { container: this }); + this.dispatchEvent(EventType.containerStarted); this.play(); @@ -532,7 +539,7 @@ export class Container { this._sourceOptions = this._options; - this._engine.dispatchEvent(EventType.containerStopped, { container: this }); + this.dispatchEvent(EventType.containerStopped); } /** diff --git a/engine/src/Core/Particle.ts b/engine/src/Core/Particle.ts index 61bd901b9f8..43e8a9695af 100644 --- a/engine/src/Core/Particle.ts +++ b/engine/src/Core/Particle.ts @@ -368,17 +368,17 @@ export class Particle { d: 1, }; + private readonly _container; + /** * Gets the particle containing engine instance * @internal */ private readonly _engine; - constructor( - engine: Engine, - readonly container: Container, - ) { + constructor(engine: Engine, container: Container) { this._engine = engine; + this._container = container; } destroy(override?: boolean): void { @@ -390,7 +390,7 @@ export class Particle { this.bubble.inRange = false; this.slow.inRange = false; - const container = this.container, + const container = this._container, shapeDrawer = this.shape ? container.particles.shapeDrawers.get(this.shape) : undefined; shapeDrawer?.particleDestroy?.(this); @@ -403,16 +403,13 @@ export class Particle { updater.particleDestroyed?.(this, override); } - this._engine.dispatchEvent(EventType.particleDestroyed, { - container: this.container, - data: { - particle: this, - }, + this._container.dispatchEvent(EventType.particleDestroyed, { + particle: this, }); } draw(delta: IDelta): void { - const container = this.container, + const container = this._container, canvas = container.canvas; canvas.drawParticlePlugins(this, delta); @@ -493,7 +490,7 @@ export class Particle { overrideOptions?: RecursivePartial, group?: string, ): void { - const container = this.container; + const container = this._container; this.id = id; this.group = group; @@ -554,13 +551,13 @@ export class Particle { } if (this.effect === randomColorValue) { - const availableEffects = [...this.container.particles.effectDrawers.keys()]; + const availableEffects = [...this._container.particles.effectDrawers.keys()]; this.effect = availableEffects[Math.floor(getRandom() * availableEffects.length)]; } if (this.shape === randomColorValue) { - const availableShapes = [...this.container.particles.shapeDrawers.keys()]; + const availableShapes = [...this._container.particles.shapeDrawers.keys()]; this.shape = availableShapes[Math.floor(getRandom() * availableShapes.length)]; } @@ -654,7 +651,7 @@ export class Particle { isInsideCanvas(): boolean { const radius = this.getRadius(), - canvasSize = this.container.canvas.size, + canvasSize = this._container.canvas.size, position = this.position; return ( @@ -704,7 +701,7 @@ export class Particle { * This method is used when the particle has lost a life and needs some value resets */ reset(): void { - for (const updater of this.container.particles.updaters) { + for (const updater of this._container.particles.updaters) { updater.reset?.(this); } } @@ -716,7 +713,7 @@ export class Particle { let tryCount = defaultRetryCount, posVec = position ? Vector3d.create(position.x, position.y, zIndex) : undefined; - const container = this.container, + const container = this._container, plugins = container.particlePositionPlugins, outModes = this.options.move.outModes, radius = this.getRadius(), @@ -803,7 +800,7 @@ export class Particle { outMode, checkModes: [OutMode.bounce], coord: pos.x, - maxCoord: this.container.canvas.size.width, + maxCoord: this._container.canvas.size.width, setCb: (value: number) => (pos.x += value), radius, }); @@ -818,7 +815,7 @@ export class Particle { outMode, checkModes: [OutMode.bounce], coord: pos.y, - maxCoord: this.container.canvas.size.height, + maxCoord: this._container.canvas.size.height, setCb: (value: number) => (pos.y += value), radius, }); @@ -845,7 +842,7 @@ export class Particle { }; private readonly _initPosition: (position?: ICoordinates) => void = position => { - const container = this.container, + const container = this._container, zIndexValue = getRangeValue(this.options.zIndex.value), initialPosition = this._calcPosition(position, clamp(zIndexValue, minZ, container.zLayers)); diff --git a/engine/src/Core/Particles.ts b/engine/src/Core/Particles.ts index d8af23b7a36..8d3b292b3ed 100644 --- a/engine/src/Core/Particles.ts +++ b/engine/src/Core/Particles.ts @@ -153,11 +153,8 @@ export class Particles { this._nextId++; - this._engine.dispatchEvent(EventType.particleAdded, { - container: this._container, - data: { - particle, - }, + this._container.dispatchEvent(EventType.particleAdded, { + particle, }); return particle; @@ -561,11 +558,8 @@ export class Particles { particle.destroy(override); - this._engine.dispatchEvent(EventType.particleRemoved, { - container: this._container, - data: { - particle, - }, + this._container.dispatchEvent(EventType.particleRemoved, { + particle, }); this._addToPool(particle); diff --git a/interactions/external/connect/src/Utils.ts b/interactions/external/connect/src/Utils.ts index 5250dba7d9c..ae6f7003f0c 100644 --- a/interactions/external/connect/src/Utils.ts +++ b/interactions/external/connect/src/Utils.ts @@ -15,6 +15,7 @@ const gradientMin = 0, /** * Creates a gradient using two particles colors and opacity. + * @param container - The particles container * @param context - The canvas context to draw on. * @param p1 - The first particle. * @param p2 - The second particle. @@ -22,6 +23,7 @@ const gradientMin = 0, * @returns The gradient. */ export function gradient( + container: ConnectContainer, context: CanvasRenderingContext2D, p1: Particle, p2: Particle, @@ -35,8 +37,7 @@ export function gradient( return; } - const { container } = p1, - sourcePos = p1.getPosition(), + const sourcePos = p1.getPosition(), destPos = p2.getPosition(), midRgb = colorMix(color1, color2, p1.getRadius(), p2.getRadius()), grad = context.createLinearGradient(sourcePos.x, sourcePos.y, destPos.x, destPos.y); @@ -89,7 +90,7 @@ export function lineStyle( return; } - return gradient(ctx, p1, p2, connectOptions.links.opacity); + return gradient(container, ctx, p1, p2, connectOptions.links.opacity); } /** diff --git a/paths/svg/src/SVGPathGenerator.ts b/paths/svg/src/SVGPathGenerator.ts index e8d16c2963a..7e52a7cbdc0 100644 --- a/paths/svg/src/SVGPathGenerator.ts +++ b/paths/svg/src/SVGPathGenerator.ts @@ -23,8 +23,7 @@ enum SVGPathDirection { reverse, } -const defaultSpeed = 1, - minStep = 0, +const minStep = 0, minIndex = 0, minWidth = 0, minScale = 1; @@ -77,7 +76,7 @@ export class SVGPathGenerator implements IMovePathGenerator { particle.svgDirection ??= getRandom() > half ? SVGPathDirection.normal : SVGPathDirection.reverse; particle.svgPathIndex ??= Math.floor(getRandom() * this._paths.length); - particle.svgSpeed ??= particle.velocity.mult((particle.retina.moveSpeed ?? defaultSpeed) * half).length; + particle.svgSpeed ??= particle.velocity.mult(particle.retina.moveSpeed * half).length; particle.svgStep ??= randomInRangeValue({ min: 0, max: this._paths[particle.svgPathIndex]!.length }) * pxRatio; particle.svgOffset ??= { width: randomInRangeValue({ min: -this._width * half, max: this._width * half }) * pxRatio, diff --git a/plugins/emitters/src/EmitterInstance.ts b/plugins/emitters/src/EmitterInstance.ts index cddbd9eba15..17cbdb1c74c 100644 --- a/plugins/emitters/src/EmitterInstance.ts +++ b/plugins/emitters/src/EmitterInstance.ts @@ -99,6 +99,7 @@ export class EmitterInstance { spawnStrokeOpacity?: number; spawnStrokeWidth?: number; + private readonly _container; private _currentDuration; private _currentEmitDelay; private _currentSpawnDelay; @@ -112,6 +113,7 @@ export class EmitterInstance { private _mutationObserver?: MutationObserver; private readonly _particlesOptions: RecursivePartial; private _paused; + private readonly _removeCallback; private _resizeObserver?: ResizeObserver; private readonly _shape?: IEmitterShape; private _size; @@ -120,12 +122,14 @@ export class EmitterInstance { constructor( engine: EmittersEngine, - private readonly container: Container, - private readonly removeCallback: (emitter: EmitterInstance) => void, + container: Container, + removeCallback: (emitter: EmitterInstance) => void, options: Emitter | RecursivePartial, position?: ICoordinates, ) { this._engine = engine; + this._container = container; + this._removeCallback = removeCallback; this._currentDuration = 0; this._currentEmitDelay = 0; this._currentSpawnDelay = 0; @@ -166,7 +170,7 @@ export class EmitterInstance { this._paused = !this.options.autoPlay; this._particlesOptions = particlesOptions; this._size = this._calcSize(); - this.size = getSize(this._size, this.container.canvas.size); + this.size = getSize(this._size, this._container.canvas.size); this._lifeCount = this.options.life.count ?? defaultLifeCount; this._immortal = this._lifeCount <= minLifeCount; @@ -194,14 +198,11 @@ export class EmitterInstance { shapeGenerator = this._engine.emitterShapeManager?.getShapeGenerator(shapeOptions.type); if (shapeGenerator) { - this._shape = shapeGenerator.generate(this.container, this.position, this.size, this.fill, shapeOptions.options); + this._shape = shapeGenerator.generate(this._container, this.position, this.size, this.fill, shapeOptions.options); } - this._engine.dispatchEvent("emitterCreated", { - container, - data: { - emitter: this, - }, + this._container.dispatchEvent("emitterCreated", { + emitter: this, }); this.play(); @@ -245,7 +246,7 @@ export class EmitterInstance { return; } - const container = this.container; + const container = this._container; if (this._emitDelay === undefined) { const delay = getRangeValue(this.options.rate.delay); @@ -262,7 +263,7 @@ export class EmitterInstance { resize(): void { const initialPosition = this._initialPosition, - container = this.container; + container = this._container; this.position = initialPosition && isPointInside(initialPosition, container.canvas.size, Vector.origin) @@ -280,7 +281,7 @@ export class EmitterInstance { return; } - const container = this.container; + const container = this._container; if (this._firstSpawn) { this._firstSpawn = false; @@ -332,9 +333,7 @@ export class EmitterInstance { this._currentSpawnDelay += delta.value; if (this._currentSpawnDelay >= this._spawnDelay) { - this._engine.dispatchEvent("emitterPlay", { - container: this.container, - }); + this._container.dispatchEvent("emitterPlay"); this.play(); @@ -355,7 +354,7 @@ export class EmitterInstance { } private _calcPosition(): ICoordinates { - const container = this.container; + const container = this._container; if (this.options.domId) { const element = safeDocument().getElementById(this.options.domId); @@ -378,7 +377,7 @@ export class EmitterInstance { } private _calcSize(): IDimensionWithMode { - const container = this.container; + const container = this._container; if (this.options.domId) { const element = safeDocument().getElementById(this.options.domId); @@ -417,13 +416,10 @@ export class EmitterInstance { this._resizeObserver?.disconnect(); this._resizeObserver = undefined; - this.removeCallback(this); + this._removeCallback(this); - this._engine.dispatchEvent("emitterDestroyed", { - container: this.container, - data: { - emitter: this, - }, + this._container.dispatchEvent("emitterDestroyed", { + emitter: this, }); }; @@ -455,7 +451,7 @@ export class EmitterInstance { this.options.spawn.stroke?.width === undefined ? defaultStrokeWidth : getRangeValue(this.options.spawn.stroke.width), - reduceFactor = this.container.retina.reduceFactor, + reduceFactor = this._container.retina.reduceFactor, needsFillColorAnimation = !!fillHslAnimation, needsStrokeColorAnimation = !!strokeHslAnimation, needsShapeData = !!this._shape, @@ -538,7 +534,7 @@ export class EmitterInstance { } if (position) { - this.container.particles.addParticle(position, particlesOptions); + this._container.particles.addParticle(position, particlesOptions); } } } @@ -563,7 +559,7 @@ export class EmitterInstance { maxValue: number, factor: number = defaultColorAnimationFactor, ): number => { - const container = this.container; + const container = this._container; if (!animation.enable) { return initValue; diff --git a/plugins/move/src/MovePluginInstance.ts b/plugins/move/src/MovePluginInstance.ts index b55533e0253..132bfd8ce49 100644 --- a/plugins/move/src/MovePluginInstance.ts +++ b/plugins/move/src/MovePluginInstance.ts @@ -77,7 +77,7 @@ export class MovePluginInstance implements IContainerPlugin { inverse: gravityOptions.inverse, }; - initSpin(particle); + initSpin(this._container, particle); } particleDestroyed(particle: MoveParticle): void { @@ -98,7 +98,7 @@ export class MovePluginInstance implements IContainerPlugin { return; } - const container = particle.container, + const container = this._container, pxRatio = container.retina.pixelRatio, slowFactor = getProximitySpeedFactor(particle), reduceFactor = container.retina.reduceFactor, @@ -111,7 +111,7 @@ export class MovePluginInstance implements IContainerPlugin { maxSpeed = particle.retina.maxSpeed; if (moveOptions.spin.enable) { - spin(particle, moveSpeed, reduceFactor); + spin(container, particle, moveSpeed, reduceFactor); } else { move(particle, moveOptions, moveSpeed, maxSpeed, moveDrift, reduceFactor, delta); } diff --git a/plugins/move/src/Utils.ts b/plugins/move/src/Utils.ts index d74305c7eca..2f8dc6a042a 100644 --- a/plugins/move/src/Utils.ts +++ b/plugins/move/src/Utils.ts @@ -1,4 +1,5 @@ import { + type Container, type IDelta, type Move, type Particle, @@ -141,13 +142,12 @@ export function move( } /** + * @param container - * @param particle - * @param moveSpeed - * @param reduceFactor - */ -export function spin(particle: MoveParticle, moveSpeed: number, reduceFactor: number): void { - const container = particle.container; - +export function spin(container: Container, particle: MoveParticle, moveSpeed: number, reduceFactor: number): void { if (!particle.spin) { return; } @@ -222,11 +222,11 @@ export function getProximitySpeedFactor(particle: Particle): number { } /** + * @param container - * @param particle - */ -export function initSpin(particle: MoveParticle): void { - const container = particle.container, - options = particle.options, +export function initSpin(container: Container, particle: MoveParticle): void { + const options = particle.options, spinOptions = options.move.spin; if (!spinOptions.enable) { diff --git a/plugins/polygonMask/src/PolygonMaskInstance.ts b/plugins/polygonMask/src/PolygonMaskInstance.ts index bf53d2b7ba3..69609b54264 100644 --- a/plugins/polygonMask/src/PolygonMaskInstance.ts +++ b/plugins/polygonMask/src/PolygonMaskInstance.ts @@ -454,9 +454,7 @@ export class PolygonMaskInstance implements IContainerPlugin { this._createPath2D(); - this._engine.dispatchEvent("polygonMaskLoaded", { - container: this._container, - }); + this._container.dispatchEvent("polygonMaskLoaded"); }; private readonly _parseSvgPath = (xml: string, force?: boolean): ICoordinates[] | undefined => { diff --git a/plugins/sounds/src/SoundsPluginInstance.ts b/plugins/sounds/src/SoundsPluginInstance.ts index b00f4df3847..fd14905cd67 100644 --- a/plugins/sounds/src/SoundsPluginInstance.ts +++ b/plugins/sounds/src/SoundsPluginInstance.ts @@ -435,7 +435,7 @@ export class SoundsPluginInstance implements IContainerPlugin { container.audioContext = undefined; - this._engine.dispatchEvent(SoundsEventType.mute, { container: this._container }); + this._container.dispatchEvent(SoundsEventType.mute); }; private readonly _playBuffer: (audio: SoundsAudio) => void = audio => { @@ -604,7 +604,7 @@ export class SoundsPluginInstance implements IContainerPlugin { this._initEvents(); - this._engine.dispatchEvent(SoundsEventType.unmute, { container: this._container }); + this._container.dispatchEvent(SoundsEventType.unmute); }; private readonly _updateMuteIcons: () => void = () => { diff --git a/shapes/cards/src/cards/CardDrawer.ts b/shapes/cards/src/cards/CardDrawer.ts index 0b49aac78b7..41b4d03f62a 100644 --- a/shapes/cards/src/cards/CardDrawer.ts +++ b/shapes/cards/src/cards/CardDrawer.ts @@ -4,6 +4,12 @@ import type { ICardData } from "../ICardData.js"; import { drawRoundedCard } from "../utils.js"; export class CardDrawer implements IShapeDrawer { + private readonly _container; + + constructor(container: Container) { + this._container = container; + } + draw(data: IShapeDrawData): void { const { context, particle, opacity, radius } = data; @@ -11,7 +17,8 @@ export class CardDrawer implements IShapeDrawer { return; } - const defaultOpacity = context.globalAlpha; + const defaultOpacity = context.globalAlpha, + container = this._container; context.globalAlpha = opacity; @@ -19,9 +26,9 @@ export class CardDrawer implements IShapeDrawer { context, radius, particle.cardData, - particle.container.hdr, + container.hdr, particle.isShowingBack(), - particle.container.canvas.settings, + container.canvas.settings, ); context.globalAlpha = defaultOpacity; diff --git a/shapes/cards/src/cards/index.ts b/shapes/cards/src/cards/index.ts index 0af7b98c5f6..f9a016b887c 100644 --- a/shapes/cards/src/cards/index.ts +++ b/shapes/cards/src/cards/index.ts @@ -9,10 +9,10 @@ export async function loadFullCardsShape(engine: Engine): Promise { engine.checkVersion(__VERSION__); await engine.register(e => { - e.addShape(["card"], async () => { + e.addShape(["card"], async container => { const { CardDrawer } = await import("./CardDrawer.js"); - return new CardDrawer(); + return new CardDrawer(container); }); }); } diff --git a/shapes/image/src/ImageDrawer.ts b/shapes/image/src/ImageDrawer.ts index 1c2288f54e2..39225ef8c82 100644 --- a/shapes/image/src/ImageDrawer.ts +++ b/shapes/image/src/ImageDrawer.ts @@ -17,14 +17,17 @@ const sides = 12; * Particles Image Drawer */ export class ImageDrawer implements IShapeDrawer { - private readonly _engine: ImageEngine; + private readonly _container; + private readonly _engine; /** * Image drawer constructor, initializing the image set collection * @param engine - + * @param container - */ - constructor(engine: ImageEngine) { + constructor(engine: ImageEngine, container: ImageContainer) { this._engine = engine; + this._container = container; } /** @@ -43,7 +46,7 @@ export class ImageDrawer implements IShapeDrawer { context.globalAlpha = opacity; if (image.gif && image.gifData) { - drawGif(data, particle.container.canvas.settings); + drawGif(data, this._container.canvas.settings); } else if (element) { const ratio = image.ratio, pos = { @@ -84,7 +87,7 @@ export class ImageDrawer implements IShapeDrawer { } loadShape(particle: ImageParticle): void { - const { container } = particle; + const { _container: container } = this; if (!particle.shape || !shapeTypes.includes(particle.shape)) { return; diff --git a/shapes/image/src/index.ts b/shapes/image/src/index.ts index 5387a0608f0..6ee2b53ed3f 100644 --- a/shapes/image/src/index.ts +++ b/shapes/image/src/index.ts @@ -94,10 +94,10 @@ export async function loadImageShape(engine: ImageEngine): Promise { addLoadImageToEngine(e); e.addPlugin(new ImagePreloaderPlugin(e)); - e.addShape(shapeTypes, async () => { + e.addShape(shapeTypes, async container => { const { ImageDrawer } = await import("./ImageDrawer.js"); - return new ImageDrawer(e); + return new ImageDrawer(e, container); }); }); } diff --git a/updaters/gradient/src/GradientUpdater.ts b/updaters/gradient/src/GradientUpdater.ts index 594243f05ce..a5f6bcc3bbb 100644 --- a/updaters/gradient/src/GradientUpdater.ts +++ b/updaters/gradient/src/GradientUpdater.ts @@ -1,5 +1,6 @@ import { AnimationStatus, + type Container, type Engine, GradientType, type ICoordinates, @@ -29,10 +30,12 @@ import { AnimatableGradient } from "./Options/Classes/AnimatableGradient.js"; import { updateGradient } from "./Utils.js"; export class GradientUpdater implements IParticleUpdater { + private readonly _container; private readonly _engine; - constructor(engine: Engine) { + constructor(engine: Engine, container: Container) { this._engine = engine; + this._container = container; } getColorStyles( @@ -47,7 +50,7 @@ export class GradientUpdater implements IParticleUpdater { return {}; } - const { container } = particle, + const { _container: container } = this, gradientAngle = gradient.angle.value, origin: ICoordinates = { x: 0, y: 0 }, minRadius = 0, @@ -81,7 +84,8 @@ export class GradientUpdater implements IParticleUpdater { return; } - const { angle } = gradient, + const container = this._container, + { angle } = gradient, speedFactor = 360, delayOffset = 1; @@ -89,7 +93,7 @@ export class GradientUpdater implements IParticleUpdater { angle: { value: getRangeValue(angle.value), enable: angle.animation.enable, - velocity: (getRangeValue(angle.animation.speed) / speedFactor) * particle.container.retina.reduceFactor, + velocity: (getRangeValue(angle.animation.speed) / speedFactor) * container.retina.reduceFactor, decay: delayOffset - getRangeValue(angle.animation.decay), delayTime: getRangeValue(angle.animation.delay) * millisecondsToSeconds, max: doublePI, @@ -128,11 +132,7 @@ export class GradientUpdater implements IParticleUpdater { continue; } - const grHslAnimation = getHslAnimationFromHsl( - grHslColor, - grColor.value.animation, - particle.container.retina.reduceFactor, - ), + const grHslAnimation = getHslAnimationFromHsl(grHslColor, grColor.value.animation, container.retina.reduceFactor), addColor = { stop: grColor.stop, value: grHslAnimation, @@ -144,8 +144,7 @@ export class GradientUpdater implements IParticleUpdater { status: AnimationStatus.increasing, value: getRangeValue(grColor.opacity.value), velocity: - (getRangeValue(grColor.opacity.animation.speed) / percentDenominator) * - particle.container.retina.reduceFactor, + (getRangeValue(grColor.opacity.animation.speed) / percentDenominator) * container.retina.reduceFactor, decay: delayOffset - getRangeValue(grColor.opacity.animation.decay), delayTime: getRangeValue(grColor.opacity.animation.delay) * millisecondsToSeconds, time: 0, diff --git a/updaters/gradient/src/index.ts b/updaters/gradient/src/index.ts index dbbe8db83f5..12d31d0f710 100644 --- a/updaters/gradient/src/index.ts +++ b/updaters/gradient/src/index.ts @@ -9,10 +9,10 @@ export async function loadGradientUpdater(engine: Engine): Promise { engine.checkVersion(__VERSION__); await engine.register(e => { - e.addParticleUpdater("gradient", async () => { + e.addParticleUpdater("gradient", async container => { const { GradientUpdater } = await import("./GradientUpdater.js"); - return new GradientUpdater(e); + return new GradientUpdater(e, container); }); }); } diff --git a/updaters/orbit/src/OrbitUpdater.ts b/updaters/orbit/src/OrbitUpdater.ts index 1ea368f7f8d..afcfb64f1bb 100644 --- a/updaters/orbit/src/OrbitUpdater.ts +++ b/updaters/orbit/src/OrbitUpdater.ts @@ -67,6 +67,7 @@ export class OrbitUpdater implements IParticleUpdater { container.canvas.draw(ctx => { drawEllipse( + container, ctx, particle, particle.orbitColor ?? particle.getFillColor(), diff --git a/updaters/orbit/src/Utils.ts b/updaters/orbit/src/Utils.ts index 7019318a687..272b7f9c019 100644 --- a/updaters/orbit/src/Utils.ts +++ b/updaters/orbit/src/Utils.ts @@ -1,9 +1,11 @@ import { type IHsl, type Particle, degToRad, double, getStyleFromHsl, half } from "@tsparticles/engine"; +import type { OrbitContainer } from "./Types.js"; const minWidth = 0; /** * Draws an ellipse for the given particle. + * @param container - The container * @param context - The canvas context. * @param particle - The particle to draw. * @param fillColorValue - The particle fill color. @@ -15,6 +17,7 @@ const minWidth = 0; * @param end - The end angle of the particle. */ export function drawEllipse( + container: OrbitContainer, context: CanvasRenderingContext2D, particle: Particle, fillColorValue: IHsl | undefined, @@ -29,8 +32,7 @@ export function drawEllipse( return; } - const pos = particle.getPosition(), - { container } = particle; + const pos = particle.getPosition(); if (fillColorValue) { context.strokeStyle = getStyleFromHsl(fillColorValue, container.hdr, opacity); diff --git a/updaters/size/src/SizeUpdater.ts b/updaters/size/src/SizeUpdater.ts index b7600975a8b..13ac7f9cc6c 100644 --- a/updaters/size/src/SizeUpdater.ts +++ b/updaters/size/src/SizeUpdater.ts @@ -1,4 +1,5 @@ import { + type Container, type IDelta, type IParticleUpdater, type Particle, @@ -10,8 +11,14 @@ import { const minLoops = 0; export class SizeUpdater implements IParticleUpdater { + private readonly _container; + + constructor(container: Container) { + this._container = container; + } + init(particle: Particle): void { - const container = particle.container, + const container = this._container, sizeOptions = particle.options.size, sizeAnimation = sizeOptions.animation; diff --git a/updaters/size/src/index.ts b/updaters/size/src/index.ts index 26c9a921e67..bc8f95f9462 100644 --- a/updaters/size/src/index.ts +++ b/updaters/size/src/index.ts @@ -9,10 +9,10 @@ export async function loadSizeUpdater(engine: Engine): Promise { engine.checkVersion(__VERSION__); await engine.register(e => { - e.addParticleUpdater("size", async () => { + e.addParticleUpdater("size", async container => { const { SizeUpdater } = await import("./SizeUpdater.js"); - return new SizeUpdater(); + return new SizeUpdater(container); }); }); } diff --git a/updaters/twinkle/src/TwinkleUpdater.ts b/updaters/twinkle/src/TwinkleUpdater.ts index 395011f4b83..e3cb2873ed9 100644 --- a/updaters/twinkle/src/TwinkleUpdater.ts +++ b/updaters/twinkle/src/TwinkleUpdater.ts @@ -1,4 +1,5 @@ import { + type Container, type Engine, type IParticleColorStyle, type IParticleUpdater, @@ -13,10 +14,12 @@ import type { ITwinkleParticlesOptions, TwinkeParticle, TwinkleParticlesOptions import { Twinkle } from "./Options/Classes/Twinkle.js"; export class TwinkleUpdater implements IParticleUpdater { + private readonly _container; private readonly _engine; - constructor(engine: Engine) { + constructor(engine: Engine, container: Container) { this._engine = engine; + this._container = container; } getColorStyles( @@ -26,7 +29,7 @@ export class TwinkleUpdater implements IParticleUpdater { opacity: number, ): IParticleColorStyle { const pOptions = particle.options, - { container } = particle, + { _container: container } = this, twinkleOptions = pOptions["twinkle"] as Twinkle | undefined; if (!twinkleOptions) { diff --git a/updaters/twinkle/src/index.ts b/updaters/twinkle/src/index.ts index d5ed43b39f3..adeb6477d96 100644 --- a/updaters/twinkle/src/index.ts +++ b/updaters/twinkle/src/index.ts @@ -9,10 +9,10 @@ export async function loadTwinkleUpdater(engine: Engine): Promise { engine.checkVersion(__VERSION__); await engine.register(e => { - e.addParticleUpdater("twinkle", async () => { + e.addParticleUpdater("twinkle", async container => { const { TwinkleUpdater } = await import("./TwinkleUpdater.js"); - return new TwinkleUpdater(e); + return new TwinkleUpdater(e, container); }); }); } diff --git a/updaters/wobble/src/Utils.ts b/updaters/wobble/src/Utils.ts index 298b2051811..d152dbc3370 100644 --- a/updaters/wobble/src/Utils.ts +++ b/updaters/wobble/src/Utils.ts @@ -1,4 +1,4 @@ -import { type IDelta, doublePI, millisecondsToSeconds } from "@tsparticles/engine"; +import { type Container, type IDelta, doublePI, millisecondsToSeconds } from "@tsparticles/engine"; import type { WobbleParticle } from "./Types.js"; const defaultDistance = 0, @@ -6,12 +6,13 @@ const defaultDistance = 0, /** * Updates particle wobbling values + * @param container - the particles container * @param particle - the particle to update * @param delta - this variable contains the delta between the current frame and the previous frame */ -export function updateWobble(particle: WobbleParticle, delta: IDelta): void { +export function updateWobble(container: Container, particle: WobbleParticle, delta: IDelta): void { const { wobble: wobbleOptions } = particle.options, - { container, wobble } = particle; + { wobble } = particle; if (!wobbleOptions?.enable || !wobble) { return; diff --git a/updaters/wobble/src/WobbleUpdater.ts b/updaters/wobble/src/WobbleUpdater.ts index e2bd913275a..40a5cad1b14 100644 --- a/updaters/wobble/src/WobbleUpdater.ts +++ b/updaters/wobble/src/WobbleUpdater.ts @@ -19,14 +19,14 @@ const maxAngle = 360, * The Wobble updater plugin */ export class WobbleUpdater implements IParticleUpdater { - private readonly container; + private readonly _container; /** * The Wobble updater plugin constructor, assigns the container using the plugin * @param container - the container using the plugin */ constructor(container: Container) { - this.container = container; + this._container = container; } /** @@ -51,7 +51,7 @@ export class WobbleUpdater implements IParticleUpdater { } particle.retina.wobbleDistance = - getRangeValue(wobbleOpt?.distance ?? defaultDistance) * this.container.retina.pixelRatio; + getRangeValue(wobbleOpt?.distance ?? defaultDistance) * this._container.retina.pixelRatio; } /** @@ -84,6 +84,6 @@ export class WobbleUpdater implements IParticleUpdater { return; } - updateWobble(particle, delta); + updateWobble(this._container, particle, delta); } } From 6e87b91307574eb2e3c2be82a073527cc050daf2 Mon Sep 17 00:00:00 2001 From: Matteo Bruni <176620+matteobruni@users.noreply.github.com> Date: Mon, 30 Mar 2026 09:11:45 +0200 Subject: [PATCH 08/20] build: updated basic config --- utils/configs/src/b/basic.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/utils/configs/src/b/basic.ts b/utils/configs/src/b/basic.ts index 830e25c33cc..47dcdb2371b 100644 --- a/utils/configs/src/b/basic.ts +++ b/utils/configs/src/b/basic.ts @@ -35,7 +35,7 @@ const options: ISourceOptions = { }, links: { enable: true, - distance: 200, + distance: 150, color: "#ffffff", opacity: 0.4, width: 1, From 6c9c114d8cfeb8b446aeeede3a0a3a4cc17fa2f4 Mon Sep 17 00:00:00 2001 From: Matteo Bruni <176620+matteobruni@users.noreply.github.com> Date: Mon, 30 Mar 2026 09:39:23 +0200 Subject: [PATCH 09/20] refactor: moved drawers and updaters to container --- engine/src/Core/Canvas.ts | 2 +- engine/src/Core/Container.ts | 31 ++++++++++++++++++++++++- engine/src/Core/Particle.ts | 16 ++++++------- engine/src/Core/Particles.ts | 41 ++++----------------------------- engine/src/Utils/CanvasUtils.ts | 2 +- 5 files changed, 44 insertions(+), 48 deletions(-) diff --git a/engine/src/Core/Canvas.ts b/engine/src/Core/Canvas.ts index 41a3f2e89b4..7e173fc38a6 100644 --- a/engine/src/Core/Canvas.ts +++ b/engine/src/Core/Canvas.ts @@ -518,7 +518,7 @@ export class Canvas { this._preDrawUpdaters = []; this._postDrawUpdaters = []; - for (const updater of this.container.particles.updaters) { + for (const updater of this.container.particleUpdaters) { if (updater.afterDraw) { this._postDrawUpdaters.push(updater); } diff --git a/engine/src/Core/Container.ts b/engine/src/Core/Container.ts index 8389f2b98c3..19c95a6884b 100644 --- a/engine/src/Core/Container.ts +++ b/engine/src/Core/Container.ts @@ -13,7 +13,10 @@ import { EventListeners } from "./Utils/EventListeners.js"; import { EventType } from "../Enums/Types/EventType.js"; import type { IContainerPlugin } from "./Interfaces/IContainerPlugin.js"; import type { IDelta } from "./Interfaces/IDelta.js"; +import { type IEffectDrawer } from "./Interfaces/IEffectDrawer.js"; +import { type IParticleUpdater } from "./Interfaces/IParticleUpdater.js"; import type { IPlugin } from "./Interfaces/IPlugin.js"; +import { type IShapeDrawer } from "./Interfaces/IShapeDrawer.js"; import type { ISourceOptions } from "../Types/ISourceOptions.js"; import { Options } from "../Options/Classes/Options.js"; import { Particles } from "./Particles.js"; @@ -79,6 +82,8 @@ export class Container { */ destroyed; + effectDrawers: Map; + /** * The container fps limit, coming from options */ @@ -100,6 +105,8 @@ export class Container { readonly particleDestroyedPlugins: IContainerPlugin[]; readonly particlePositionPlugins: IContainerPlugin[]; + particleUpdaters: IParticleUpdater[]; + /** * The particles manager */ @@ -112,6 +119,8 @@ export class Container { readonly retina; + shapeDrawers: Map; + /** * Check if the particles container is started */ @@ -168,6 +177,9 @@ export class Container { this.pageHidden = false; this._sourceOptions = sourceOptions; this._initialSourceOptions = sourceOptions; + this.effectDrawers = new Map(); + this.shapeDrawers = new Map(); + this.particleUpdaters = []; this.retina = new Retina(this); this.canvas = new Canvas(this, this._engine); this.particles = new Particles(this._engine, this); @@ -230,10 +242,21 @@ export class Container { this.particles.destroy(); this.canvas.destroy(); + for (const [, effectDrawer] of this.effectDrawers) { + effectDrawer.destroy?.(this); + } + + for (const [, shapeDrawer] of this.shapeDrawers) { + shapeDrawer.destroy?.(this); + } + for (const plugin of this.plugins) { plugin.destroy?.(); } + this.effectDrawers = new Map(); + this.shapeDrawers = new Map(); + this.particleUpdaters = []; this.plugins.length = 0; this._engine.clearPlugins(this); @@ -321,7 +344,7 @@ export class Container { allContainerPlugins.set(plugin, containerPlugin); } - await this.particles.initPlugins(); + await this.initDrawersAndUpdaters(); /* options settings */ this._options = loadContainerOptions(this._engine, this, this._initialSourceOptions, this.sourceOptions); @@ -386,6 +409,12 @@ export class Container { this.dispatchEvent(EventType.particlesSetup); } + async initDrawersAndUpdaters(): Promise { + this.effectDrawers = await this._engine.getEffectDrawers(this, true); + this.shapeDrawers = await this._engine.getShapeDrawers(this, true); + this.particleUpdaters = await this._engine.getUpdaters(this, true); + } + /** * Pauses animations */ diff --git a/engine/src/Core/Particle.ts b/engine/src/Core/Particle.ts index 43e8a9695af..1870adfe5eb 100644 --- a/engine/src/Core/Particle.ts +++ b/engine/src/Core/Particle.ts @@ -391,7 +391,7 @@ export class Particle { this.slow.inRange = false; const container = this._container, - shapeDrawer = this.shape ? container.particles.shapeDrawers.get(this.shape) : undefined; + shapeDrawer = this.shape ? container.shapeDrawers.get(this.shape) : undefined; shapeDrawer?.particleDestroy?.(this); @@ -399,7 +399,7 @@ export class Particle { plugin.particleDestroyed?.(this, override); } - for (const updater of container.particles.updaters) { + for (const updater of container.particleUpdaters) { updater.particleDestroyed?.(this, override); } @@ -551,13 +551,13 @@ export class Particle { } if (this.effect === randomColorValue) { - const availableEffects = [...this._container.particles.effectDrawers.keys()]; + const availableEffects = [...this._container.effectDrawers.keys()]; this.effect = availableEffects[Math.floor(getRandom() * availableEffects.length)]; } if (this.shape === randomColorValue) { - const availableShapes = [...this._container.particles.shapeDrawers.keys()]; + const availableShapes = [...this._container.shapeDrawers.keys()]; this.shape = availableShapes[Math.floor(getRandom() * availableShapes.length)]; } @@ -614,7 +614,7 @@ export class Particle { let effectDrawer: IEffectDrawer | undefined, shapeDrawer: IShapeDrawer | undefined; if (this.effect) { - effectDrawer = container.particles.effectDrawers.get(this.effect); + effectDrawer = container.effectDrawers.get(this.effect); } if (effectDrawer?.loadEffect) { @@ -622,7 +622,7 @@ export class Particle { } if (this.shape) { - shapeDrawer = container.particles.shapeDrawers.get(this.shape); + shapeDrawer = container.shapeDrawers.get(this.shape); } if (shapeDrawer?.loadShape) { @@ -637,7 +637,7 @@ export class Particle { this.spawning = false; - for (const updater of particles.updaters) { + for (const updater of container.particleUpdaters) { updater.init(this); } @@ -701,7 +701,7 @@ export class Particle { * This method is used when the particle has lost a life and needs some value resets */ reset(): void { - for (const updater of this._container.particles.updaters) { + for (const updater of this._container.particleUpdaters) { updater.reset?.(this); } } diff --git a/engine/src/Core/Particles.ts b/engine/src/Core/Particles.ts index 8d3b292b3ed..9695a133353 100644 --- a/engine/src/Core/Particles.ts +++ b/engine/src/Core/Particles.ts @@ -17,11 +17,8 @@ import type { IContainerPlugin } from "./Interfaces/IContainerPlugin.js"; import type { ICoordinates } from "./Interfaces/ICoordinates.js"; import type { IDelta } from "./Interfaces/IDelta.js"; import type { IDimension } from "./Interfaces/IDimension.js"; -import type { IEffectDrawer } from "./Interfaces/IEffectDrawer.js"; -import type { IParticleUpdater } from "./Interfaces/IParticleUpdater.js"; import type { IParticlesDensity } from "../Options/Interfaces/Particles/Number/IParticlesDensity.js"; import type { IParticlesOptions } from "../Options/Interfaces/Particles/IParticlesOptions.js"; -import type { IShapeDrawer } from "./Interfaces/IShapeDrawer.js"; import { LimitMode } from "../Enums/Modes/LimitMode.js"; import { Particle } from "./Particle.js"; import { type ParticlesOptions } from "../Options/Classes/Particles/ParticlesOptions.js"; @@ -36,14 +33,8 @@ import { loadParticlesOptions } from "../Utils/OptionsUtils.js"; export class Particles { checkParticlePositionPlugins: IContainerPlugin[]; - effectDrawers: Map; - grid; - shapeDrawers: Map; - - updaters: IParticleUpdater[]; - /** * All the particles used in canvas */ @@ -83,9 +74,6 @@ export class Particles { this._minZIndex = 0; this._maxZIndex = 0; this.grid = new SpatialHashGrid(spatialHashGridCellSize); - this.effectDrawers = new Map(); - this.shapeDrawers = new Map(); - this.updaters = []; this.checkParticlePositionPlugins = []; this._particleResetPlugins = []; this._particleUpdatePlugins = []; @@ -174,22 +162,9 @@ export class Particles { } destroy(): void { - const container = this._container; - - for (const [, effectDrawer] of this.effectDrawers) { - effectDrawer.destroy?.(container); - } - - for (const [, shapeDrawer] of this.shapeDrawers) { - shapeDrawer.destroy?.(container); - } - this._array = []; this._pool.length = 0; this._zArray = []; - this.effectDrawers = new Map(); - this.shapeDrawers = new Map(); - this.updaters = []; this.checkParticlePositionPlugins = []; this._particleResetPlugins = []; this._particleUpdatePlugins = []; @@ -263,13 +238,13 @@ export class Particles { } } - await this.initPlugins(); + await this._container.initDrawersAndUpdaters(); - for (const drawer of this.effectDrawers.values()) { + for (const drawer of this._container.effectDrawers.values()) { await drawer.init?.(container); } - for (const drawer of this.shapeDrawers.values()) { + for (const drawer of this._container.shapeDrawers.values()) { await drawer.init?.(container); } @@ -305,14 +280,6 @@ export class Particles { } } - async initPlugins(): Promise { - const container = this._container; - - this.effectDrawers = await this._engine.getEffectDrawers(container, true); - this.shapeDrawers = await this._engine.getShapeDrawers(container, true); - this.updaters = await this._engine.getUpdaters(container, true); - } - push( nb: number, position?: ICoordinates, @@ -443,7 +410,7 @@ export class Particles { continue; } - for (const updater of this.updaters) { + for (const updater of this._container.particleUpdaters) { updater.update(particle, delta); } diff --git a/engine/src/Utils/CanvasUtils.ts b/engine/src/Utils/CanvasUtils.ts index 6023cac3d21..5aeb3cafe2e 100644 --- a/engine/src/Utils/CanvasUtils.ts +++ b/engine/src/Utils/CanvasUtils.ts @@ -59,7 +59,7 @@ export function clear(context: CanvasRenderingContext2D, dimension: IDimension): */ export function drawParticle(data: IDrawParticleParams): void { const { container, context, particle, delta, colorStyles, radius, opacity, transform } = data, - { effectDrawers, shapeDrawers } = container.particles, + { effectDrawers, shapeDrawers } = container, pos = particle.getPosition(), transformData = particle.getTransformData(transform), drawScale = defaultZoom, From f77a1472146ffd4f796bdd114e45b915c07249b5 Mon Sep 17 00:00:00 2001 From: Matteo Bruni <176620+matteobruni@users.noreply.github.com> Date: Mon, 30 Mar 2026 09:39:34 +0200 Subject: [PATCH 10/20] build: updated readmes --- README.md | 21 --------------------- engine/README.md | 21 --------------------- 2 files changed, 42 deletions(-) diff --git a/README.md b/README.md index 6de2e0efbdf..22a80c16f30 100644 --- a/README.md +++ b/README.md @@ -98,8 +98,6 @@ React.js, Vue.js (2.x and 3.x), Angular, Svelte, jQuery, Preact, Inferno, Riot.j - [Migrating from Particles.js](#migrating-from-particlesjs) - [Plugins/Customizations](#pluginscustomizations) - [Dependency Graph](#dependency-graph) - - [Sponsors](#sponsors) - - [Huge thanks to JetBrains for the 2020-2022 Open Source Licenses!](#huge-thanks-to-jetbrains-for-the-2020-2022-open-source-licenses) --- @@ -989,22 +987,3 @@ flowchart TD bundle-full --> bundle-all ``` - ---- - -

- - JetBrains - - - JetBrains - -

- -## Sponsors - -### JetBrains - -Huge thanks to [JetBrains](https://www.jetbrains.com/?from=tsParticles) for the 2020-2022 Open Source Licenses! - -[JetBrains WebStorm](https://www.jetbrains.com/webstorm/?from=tsParticles) is used to maintain this project. diff --git a/engine/README.md b/engine/README.md index 0bf9af293a0..1f0f2dde239 100644 --- a/engine/README.md +++ b/engine/README.md @@ -98,8 +98,6 @@ React.js, Vue.js (2.x and 3.x), Angular, Svelte, jQuery, Preact, Inferno, Riot.j - [Migrating from Particles.js](#migrating-from-particlesjs) - [Plugins/Customizations](#pluginscustomizations) - [Dependency Graph](#dependency-graph) -- [Sponsors](#sponsors) -- [Huge thanks to JetBrains for the 2020-2022 Open Source Licenses!](#huge-thanks-to-jetbrains-for-the-2020-2022-open-source-licenses) --- @@ -989,22 +987,3 @@ flowchart TD bundle-full --> bundle-all ``` - ---- - -

- - JetBrains - - - JetBrains - -

- -## Sponsors - -### JetBrains - -Huge thanks to [JetBrains](https://www.jetbrains.com/?from=tsParticles) for the 2020-2022 Open Source Licenses! - -[JetBrains WebStorm](https://www.jetbrains.com/webstorm/?from=tsParticles) is used to maintain this project. From ea15db8c61feab6a190fb2d5373c915464782eb8 Mon Sep 17 00:00:00 2001 From: Matteo Bruni <176620+matteobruni@users.noreply.github.com> Date: Mon, 30 Mar 2026 11:42:53 +0200 Subject: [PATCH 11/20] refactor: added the plugin manager, reducing the engine class scope --- bundles/all/src/index.ts | 2 +- bundles/basic/src/index.ts | 2 +- bundles/confetti/src/confetti.ts | 2 +- bundles/fireworks/src/fireworks.ts | 2 +- bundles/full/src/index.ts | 2 +- bundles/pjs/src/VincentGarreau/particles.ts | 2 +- bundles/pjs/src/index.ts | 2 +- bundles/slim/src/index.ts | 2 +- effects/bubble/src/index.ts | 4 +- effects/particles/src/index.ts | 4 +- effects/shadow/src/ShadowDrawer.ts | 10 +- effects/shadow/src/index.ts | 6 +- effects/trail/src/index.ts | 4 +- engine/src/Core/Canvas.ts | 55 ++- engine/src/Core/Container.ts | 45 ++- engine/src/Core/Engine.ts | 298 +--------------- engine/src/Core/Particle.ts | 10 +- engine/src/Core/Particles.ts | 14 +- engine/src/Core/Utils/PluginManager.ts | 318 ++++++++++++++++++ engine/src/Options/Classes/Options.ts | 16 +- .../Classes/Particles/ParticlesOptions.ts | 12 +- engine/src/Utils/ColorUtils.ts | 65 ++-- engine/src/Utils/OptionsUtils.ts | 8 +- engine/src/export-types.ts | 1 + .../external/attract/src/Attractor.ts | 12 +- interactions/external/attract/src/Utils.ts | 20 +- interactions/external/attract/src/index.ts | 6 +- interactions/external/bounce/src/index.ts | 4 +- interactions/external/bubble/src/Bubbler.ts | 10 +- interactions/external/bubble/src/index.ts | 6 +- interactions/external/connect/src/index.ts | 4 +- interactions/external/drag/src/index.ts | 4 +- interactions/external/grab/src/Grabber.ts | 24 +- interactions/external/grab/src/index.ts | 6 +- interactions/external/parallax/src/index.ts | 4 +- interactions/external/particle/src/index.ts | 4 +- interactions/external/pause/src/index.ts | 4 +- interactions/external/pop/src/index.ts | 4 +- interactions/external/push/src/index.ts | 4 +- interactions/external/remove/src/index.ts | 4 +- interactions/external/repulse/src/Repulser.ts | 313 +---------------- interactions/external/repulse/src/index.ts | 8 +- interactions/external/slow/src/index.ts | 4 +- interactions/external/trail/src/TrailMaker.ts | 10 +- interactions/external/trail/src/index.ts | 6 +- interactions/light/src/ExternalLighter.ts | 12 +- interactions/light/src/ParticlesLighter.ts | 10 +- interactions/light/src/index.ts | 10 +- interactions/particles/attract/src/index.ts | 4 +- .../particles/collisions/src/index.ts | 6 +- .../particles/links/src/LinkInstance.ts | 14 +- interactions/particles/links/src/Linker.ts | 10 +- .../particles/links/src/LinksPlugin.ts | 10 +- interactions/particles/links/src/index.ts | 23 +- interactions/particles/repulse/src/index.ts | 4 +- paths/branches/src/index.ts | 4 +- paths/brownian/src/index.ts | 4 +- paths/curlNoise/src/index.ts | 4 +- paths/curves/src/index.ts | 4 +- paths/fractalNoise/src/index.ts | 4 +- paths/grid/src/index.ts | 4 +- paths/levy/src/index.ts | 4 +- paths/perlinNoise/src/index.ts | 4 +- paths/polygon/src/index.ts | 4 +- paths/random/src/index.ts | 4 +- paths/simplexNoise/src/index.ts | 4 +- paths/spiral/src/index.ts | 4 +- paths/svg/src/index.ts | 4 +- paths/zigzag/src/index.ts | 4 +- plugins/absorbers/src/AbsorberInstance.ts | 17 +- .../src/AbsorbersInstancesManager.ts | 10 +- plugins/absorbers/src/index.ts | 9 +- .../src/BackgroundMaskPlugin.ts | 10 +- .../src/BackgroundMaskPluginInstance.ts | 10 +- plugins/backgroundMask/src/index.ts | 4 +- plugins/blend/src/index.ts | 4 +- plugins/canvasMask/src/index.ts | 4 +- plugins/colors/hex/src/index.ts | 4 +- plugins/colors/hsl/src/index.ts | 4 +- plugins/colors/hsv/src/index.ts | 4 +- plugins/colors/hwb/src/index.ts | 4 +- plugins/colors/lab/src/index.ts | 4 +- plugins/colors/lch/src/index.ts | 4 +- plugins/colors/named/src/index.ts | 4 +- plugins/colors/oklab/src/index.ts | 4 +- plugins/colors/oklch/src/index.ts | 4 +- plugins/colors/rgb/src/index.ts | 4 +- plugins/easings/back/src/index.ts | 4 +- plugins/easings/bounce/src/index.ts | 4 +- plugins/easings/circ/src/index.ts | 4 +- plugins/easings/cubic/src/index.ts | 4 +- plugins/easings/elastic/src/index.ts | 4 +- plugins/easings/expo/src/index.ts | 4 +- plugins/easings/gaussian/src/index.ts | 4 +- plugins/easings/linear/src/index.ts | 4 +- plugins/easings/quad/src/index.ts | 4 +- plugins/easings/quart/src/index.ts | 4 +- plugins/easings/quint/src/index.ts | 4 +- plugins/easings/sigmoid/src/index.ts | 4 +- plugins/easings/sine/src/index.ts | 4 +- plugins/easings/smoothstep/src/index.ts | 4 +- plugins/emitters/src/EmitterInstance.ts | 14 +- plugins/emitters/src/EmittersEngine.ts | 8 +- .../emitters/src/EmittersInstancesManager.ts | 10 +- plugins/emitters/src/index.ts | 17 +- plugins/emittersShapes/canvas/src/index.ts | 4 +- plugins/emittersShapes/circle/src/index.ts | 4 +- plugins/emittersShapes/path/src/index.ts | 4 +- plugins/emittersShapes/polygon/src/index.ts | 4 +- plugins/emittersShapes/square/src/index.ts | 4 +- plugins/exports/image/src/index.ts | 4 +- plugins/exports/json/src/index.ts | 4 +- plugins/exports/video/src/index.ts | 4 +- plugins/infection/src/index.ts | 6 +- .../interactivity/src/InteractionManager.ts | 22 +- .../interactivity/src/InteractivityPlugin.ts | 16 +- .../src/InteractivityPluginInstance.ts | 14 +- .../src/Options/Classes/Interactivity.ts | 6 +- .../src/Options/Classes/Modes/Modes.ts | 10 +- plugins/interactivity/src/index.ts | 29 +- plugins/interactivity/src/types.ts | 7 +- plugins/manualParticles/src/index.ts | 4 +- plugins/motion/src/index.ts | 4 +- plugins/move/src/MovePlugin.ts | 10 +- plugins/move/src/MovePluginInstance.ts | 10 +- plugins/move/src/Types.ts | 8 +- plugins/move/src/index.ts | 29 +- plugins/poisson/src/index.ts | 4 +- .../src/Options/Classes/PolygonMask.ts | 6 +- .../src/Options/Classes/PolygonMaskDraw.ts | 6 +- .../Options/Classes/PolygonMaskDrawStroke.ts | 10 +- .../polygonMask/src/PolygonMaskInstance.ts | 12 +- plugins/polygonMask/src/PolygonMaskPlugin.ts | 12 +- plugins/polygonMask/src/index.ts | 4 +- plugins/polygonMask/src/utils.ts | 14 +- plugins/responsive/src/index.ts | 4 +- plugins/sounds/src/index.ts | 4 +- plugins/themes/src/index.ts | 4 +- plugins/trail/src/TrailPlugin.ts | 10 +- plugins/trail/src/TrailPluginInstance.ts | 10 +- plugins/trail/src/index.ts | 4 +- plugins/zoom/src/index.ts | 4 +- shapes/arrow/src/index.ts | 4 +- shapes/cards/src/cards/index.ts | 4 +- shapes/cards/src/clubs/index.ts | 4 +- shapes/cards/src/diamonds/index.ts | 4 +- shapes/cards/src/hearts/index.ts | 4 +- shapes/cards/src/index.ts | 4 +- shapes/cards/src/spades/index.ts | 4 +- shapes/circle/src/index.ts | 4 +- shapes/cog/src/index.ts | 4 +- shapes/emoji/src/index.ts | 4 +- shapes/heart/src/index.ts | 4 +- shapes/image/src/index.ts | 6 +- shapes/infinity/src/index.ts | 4 +- shapes/line/src/index.ts | 4 +- shapes/matrix/src/index.ts | 4 +- shapes/path/src/index.ts | 4 +- shapes/polygon/src/index.ts | 8 +- shapes/rounded-polygon/src/index.ts | 4 +- shapes/rounded-rect/src/index.ts | 4 +- shapes/spiral/src/index.ts | 4 +- shapes/square/src/index.ts | 4 +- shapes/squircle/src/index.ts | 4 +- shapes/star/src/index.ts | 4 +- shapes/text/src/index.ts | 4 +- updaters/destroy/src/DestroyUpdater.ts | 16 +- updaters/destroy/src/Utils.ts | 14 +- updaters/destroy/src/index.ts | 6 +- updaters/fillColor/src/FillColorUpdater.ts | 10 +- updaters/fillColor/src/index.ts | 6 +- updaters/gradient/src/GradientUpdater.ts | 10 +- updaters/gradient/src/index.ts | 6 +- updaters/life/src/index.ts | 4 +- updaters/opacity/src/index.ts | 4 +- updaters/orbit/src/OrbitUpdater.ts | 10 +- updaters/orbit/src/index.ts | 6 +- updaters/outModes/src/index.ts | 4 +- updaters/roll/src/RollUpdater.ts | 10 +- updaters/roll/src/Utils.ts | 8 +- updaters/roll/src/index.ts | 6 +- updaters/rotate/src/index.ts | 4 +- updaters/size/src/index.ts | 4 +- .../strokeColor/src/StrokeColorUpdater.ts | 10 +- updaters/strokeColor/src/index.ts | 6 +- updaters/tilt/src/index.ts | 4 +- updaters/twinkle/src/TwinkleUpdater.ts | 12 +- updaters/twinkle/src/index.ts | 6 +- updaters/wobble/src/index.ts | 4 +- utils/configs/src/index.ts | 4 +- utils/tests/src/tests/ColorUtils.ts | 44 +-- 191 files changed, 1065 insertions(+), 1289 deletions(-) create mode 100644 engine/src/Core/Utils/PluginManager.ts diff --git a/bundles/all/src/index.ts b/bundles/all/src/index.ts index 4bc18ca4cce..410b4b98fa8 100644 --- a/bundles/all/src/index.ts +++ b/bundles/all/src/index.ts @@ -13,7 +13,7 @@ declare const __VERSION__: string; export async function loadAll(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(async e => { + await engine.pluginManager.register(async e => { const [ { loadFull }, diff --git a/bundles/basic/src/index.ts b/bundles/basic/src/index.ts index 61782736dfe..5e6b5498774 100644 --- a/bundles/basic/src/index.ts +++ b/bundles/basic/src/index.ts @@ -13,7 +13,7 @@ declare const __VERSION__: string; export async function loadBasic(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(async e => { + await engine.pluginManager.register(async e => { const [ { loadHexColorPlugin }, { loadHslColorPlugin }, diff --git a/bundles/confetti/src/confetti.ts b/bundles/confetti/src/confetti.ts index bfce3b6f639..bcb1b302443 100644 --- a/bundles/confetti/src/confetti.ts +++ b/bundles/confetti/src/confetti.ts @@ -99,7 +99,7 @@ async function initPlugins(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(async e => { + await engine.pluginManager.register(async e => { const [ { loadBasic }, { loadEmittersPlugin }, diff --git a/bundles/fireworks/src/fireworks.ts b/bundles/fireworks/src/fireworks.ts index 448d6b7ed98..7c650ff244d 100644 --- a/bundles/fireworks/src/fireworks.ts +++ b/bundles/fireworks/src/fireworks.ts @@ -77,7 +77,7 @@ async function initPlugins(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(async e => { + await engine.pluginManager.register(async e => { const [ { loadBasic }, { loadEmittersPlugin }, diff --git a/bundles/full/src/index.ts b/bundles/full/src/index.ts index 4c040a6bd42..3508a3b0bb1 100644 --- a/bundles/full/src/index.ts +++ b/bundles/full/src/index.ts @@ -13,7 +13,7 @@ declare const __VERSION__: string; export async function loadFull(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(async e => { + await engine.pluginManager.register(async e => { const [ { loadSlim }, { loadExternalDragInteraction }, diff --git a/bundles/pjs/src/VincentGarreau/particles.ts b/bundles/pjs/src/VincentGarreau/particles.ts index fb773b8a376..a95d4a1ef1f 100644 --- a/bundles/pjs/src/VincentGarreau/particles.ts +++ b/bundles/pjs/src/VincentGarreau/particles.ts @@ -309,7 +309,7 @@ const defaultMinOpacity = 0, */ // eslint-disable-next-line @typescript-eslint/no-deprecated particlesJS.setOnClickHandler = (callback: (e: Event, particles?: Particle[]) => void): void => { - engine.setOnClickHandler?.(callback); + engine.pluginManager.setOnClickHandler?.(callback); }; /** diff --git a/bundles/pjs/src/index.ts b/bundles/pjs/src/index.ts index a789f381d0f..238168b4010 100644 --- a/bundles/pjs/src/index.ts +++ b/bundles/pjs/src/index.ts @@ -34,7 +34,7 @@ declare global { const initPjs = async (engine: Engine): Promise => { engine.checkVersion(__VERSION__); - await engine.register(async e => { + await engine.pluginManager.register(async e => { const [ { loadFull }, { loadResponsivePlugin }, diff --git a/bundles/slim/src/index.ts b/bundles/slim/src/index.ts index c2ed097482a..d75979eacd9 100644 --- a/bundles/slim/src/index.ts +++ b/bundles/slim/src/index.ts @@ -13,7 +13,7 @@ declare const __VERSION__: string; export async function loadSlim(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(async e => { + await engine.pluginManager.register(async e => { const [ { loadBasic }, diff --git a/effects/bubble/src/index.ts b/effects/bubble/src/index.ts index 563498ee244..4e1dca7b1f1 100644 --- a/effects/bubble/src/index.ts +++ b/effects/bubble/src/index.ts @@ -8,8 +8,8 @@ declare const __VERSION__: string; export async function loadBubbleEffect(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(e => { - e.addEffect("bubble", async () => { + await engine.pluginManager.register(e => { + e.pluginManager.addEffect("bubble", async () => { const { BubbleDrawer } = await import("./BubbleDrawer.js"); return new BubbleDrawer(); diff --git a/effects/particles/src/index.ts b/effects/particles/src/index.ts index 3fbd5a4e71c..51eb7df912a 100644 --- a/effects/particles/src/index.ts +++ b/effects/particles/src/index.ts @@ -8,8 +8,8 @@ declare const __VERSION__: string; export async function loadParticlesEffect(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(e => { - e.addEffect("particles", async container => { + await engine.pluginManager.register(e => { + e.pluginManager.addEffect("particles", async container => { const { ParticlesDrawer } = await import("./ParticlesDrawer.js"); return new ParticlesDrawer(container); diff --git a/effects/shadow/src/ShadowDrawer.ts b/effects/shadow/src/ShadowDrawer.ts index 87f45438ab4..9b8053f0edd 100644 --- a/effects/shadow/src/ShadowDrawer.ts +++ b/effects/shadow/src/ShadowDrawer.ts @@ -1,6 +1,5 @@ import { type Container, - type Engine, type ICoordinates, type IEffectDrawer, type IOptionsColor, @@ -9,6 +8,7 @@ import { type IShapeValues, OptionsColor, type Particle, + type PluginManager, getStyleFromRgb, originPoint, rangeColorToRgb, @@ -31,10 +31,10 @@ type ShadowParticle = Particle & { export class ShadowDrawer implements IEffectDrawer { private readonly _container; - private readonly _engine; + private readonly _pluginManager; - constructor(engine: Engine, container: Container) { - this._engine = engine; + constructor(pluginManager: PluginManager, container: Container) { + this._pluginManager = pluginManager; this._container = container; } @@ -68,7 +68,7 @@ export class ShadowDrawer implements IEffectDrawer { const effectData = particle.effectData as IShadowData | undefined, shadowColor = OptionsColor.create(new OptionsColor(), effectData?.color); - particle.shadowColor = rangeColorToRgb(this._engine, shadowColor); + particle.shadowColor = rangeColorToRgb(this._pluginManager, shadowColor); particle.shadowBlur = effectData?.blur ?? defaultShadowBlur; particle.shadowOffset = effectData?.offset ?? originPoint; } diff --git a/effects/shadow/src/index.ts b/effects/shadow/src/index.ts index a56c35efc5f..4d176611327 100644 --- a/effects/shadow/src/index.ts +++ b/effects/shadow/src/index.ts @@ -8,11 +8,11 @@ declare const __VERSION__: string; export async function loadShadowEffect(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(e => { - e.addEffect("shadow", async container => { + await engine.pluginManager.register(e => { + e.pluginManager.addEffect("shadow", async container => { const { ShadowDrawer } = await import("./ShadowDrawer.js"); - return new ShadowDrawer(e, container); + return new ShadowDrawer(e.pluginManager, container); }); }); } diff --git a/effects/trail/src/index.ts b/effects/trail/src/index.ts index da679791a70..1aad9d25246 100644 --- a/effects/trail/src/index.ts +++ b/effects/trail/src/index.ts @@ -8,8 +8,8 @@ declare const __VERSION__: string; export async function loadTrailEffect(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(e => { - e.addEffect("trail", async container => { + await engine.pluginManager.register(e => { + e.pluginManager.addEffect("trail", async container => { const { TrailDrawer } = await import("./TrailDrawer.js"); return new TrailDrawer(container); diff --git a/engine/src/Core/Canvas.ts b/engine/src/Core/Canvas.ts index 7e173fc38a6..aaeaccd70ce 100644 --- a/engine/src/Core/Canvas.ts +++ b/engine/src/Core/Canvas.ts @@ -11,7 +11,6 @@ import { } from "./Utils/Constants.js"; import { getStyleFromHsl, getStyleFromRgb, rangeColorToHsl, rangeColorToRgb } from "../Utils/ColorUtils.js"; import type { Container } from "./Container.js"; -import type { Engine } from "./Engine.js"; import type { IContainerPlugin } from "./Interfaces/IContainerPlugin.js"; import type { ICoordinates } from "./Interfaces/ICoordinates.js"; import type { IDelta } from "./Interfaces/IDelta.js"; @@ -21,6 +20,7 @@ import type { IParticleColorStyle } from "./Interfaces/IParticleColorStyle.js"; import type { IParticleTransformValues } from "./Interfaces/IParticleTransformValues.js"; import type { IParticleUpdater } from "./Interfaces/IParticleUpdater.js"; import type { Particle } from "./Particle.js"; +import type { PluginManager } from "./Utils/PluginManager.js"; const fColorIndex = 0, sColorIndex = 1; @@ -112,6 +112,7 @@ export class Canvas { private _canvasSettings?: CanvasRenderingContext2DSettings; private _clearDrawPlugins: IContainerPlugin[]; private _colorPlugins: IContainerPlugin[]; + private readonly _container; /** * The particles canvas context */ @@ -122,10 +123,10 @@ export class Canvas { private _drawPlugins: IContainerPlugin[]; private _drawSettingsCleanupPlugins: IContainerPlugin[]; private _drawSettingsSetupPlugins: IContainerPlugin[]; - private readonly _engine; private _generated; private _mutationObserver?: MutationObserver; private _originalStyle?: CSSStyleDeclaration; + private readonly _pluginManager; private _pointerEvents: string; private _postDrawUpdaters: IParticleUpdater[]; private _preDrawUpdaters: IParticleUpdater[]; @@ -142,14 +143,12 @@ export class Canvas { /** * Constructor of canvas manager + * @param pluginManager - the engine managing the whole library * @param container - the parent container - * @param engine - the engine managing the whole library */ - constructor( - private readonly container: Container, - engine: Engine, - ) { - this._engine = engine; + constructor(pluginManager: PluginManager, container: Container) { + this._pluginManager = pluginManager; + this._container = container; this._standardSize = { height: 0, width: 0, @@ -186,11 +185,11 @@ export class Canvas { } private get _fullScreen(): boolean { - return this.container.actualOptions.fullScreen.enable; + return this._container.actualOptions.fullScreen.enable; } canvasClear(): void { - if (!this.container.actualOptions.clear) { + if (!this._container.actualOptions.clear) { return; } @@ -294,7 +293,7 @@ export class Canvas { return; } - const container = this.container, + const container = this._container, zIndexOptions = particle.options.zIndex, zIndexFactor = zIndexFactorOffset - particle.zIndexFactor, { fillOpacity, opacity, strokeOpacity } = particle.getOpacity(), @@ -348,7 +347,7 @@ export class Canvas { } drawParticles(delta: IDelta): void { - const { particles } = this.container; + const { particles } = this._container; this.clear(); @@ -377,7 +376,7 @@ export class Canvas { } getZoomCenter(): ICoordinates { - const pxRatio = this.container.retina.pixelRatio, + const pxRatio = this._container.retina.pixelRatio, { width, height } = this.size; if (this._zoomCenter) { @@ -424,8 +423,8 @@ export class Canvas { * Initializes the canvas background */ initBackground(): void { - const { container } = this, - options = container.actualOptions, + const { _container } = this, + options = _container.actualOptions, background = options.background, element = this.element; @@ -434,10 +433,10 @@ export class Canvas { } const elementStyle = element.style, - color = rangeColorToRgb(this._engine, background.color); + color = rangeColorToRgb(this._pluginManager, background.color); if (color) { - elementStyle.backgroundColor = getStyleFromRgb(color, container.hdr, background.opacity); + elementStyle.backgroundColor = getStyleFromRgb(color, _container.hdr, background.opacity); } else { elementStyle.backgroundColor = ""; } @@ -464,7 +463,7 @@ export class Canvas { this._drawSettingsSetupPlugins = []; this._drawSettingsCleanupPlugins = []; - for (const plugin of this.container.plugins) { + for (const plugin of this._container.plugins) { if (plugin.resize) { this._resizePlugins.push(plugin); } @@ -518,7 +517,7 @@ export class Canvas { this._preDrawUpdaters = []; this._postDrawUpdaters = []; - for (const updater of this.container.particleUpdaters) { + for (const updater of this._container.particleUpdaters) { if (updater.afterDraw) { this._postDrawUpdaters.push(updater); } @@ -538,7 +537,7 @@ export class Canvas { this.element.remove(); } - const container = this.container; + const container = this._container; this._generated = generatedAttribute in canvas.dataset ? canvas.dataset[generatedAttribute] === "true" : this._generated; @@ -551,7 +550,7 @@ export class Canvas { standardSize.height = canvas.offsetHeight; standardSize.width = canvas.offsetWidth; - const pxRatio = this.container.retina.pixelRatio, + const pxRatio = this._container.retina.pixelRatio, retinaSize = this.size; canvas.height = retinaSize.height = standardSize.height * pxRatio; @@ -629,7 +628,7 @@ export class Canvas { return false; } - const container = this.container, + const container = this._container, currentSize = container.canvas._standardSize, newSize = { width: this.element.offsetWidth, @@ -660,7 +659,7 @@ export class Canvas { this.element.width = canvasSize.width = retinaSize.width; this.element.height = canvasSize.height = retinaSize.height; - if (this.container.started) { + if (this._container.started) { container.particles.setResizeFactor({ width: currentSize.width / oldSize.width, height: currentSize.height / oldSize.height, @@ -711,7 +710,7 @@ export class Canvas { return; } - const container = this.container, + const container = this._container, needsRefresh = container.updateActualOptions(); /* density particles enabled */ @@ -774,11 +773,11 @@ export class Canvas { for (const plugin of this._colorPlugins) { if (!fColor && plugin.particleFillColor) { - fColor = rangeColorToHsl(this._engine, plugin.particleFillColor(particle)); + fColor = rangeColorToHsl(this._pluginManager, plugin.particleFillColor(particle)); } if (!sColor && plugin.particleStrokeColor) { - sColor = rangeColorToHsl(this._engine, plugin.particleStrokeColor(particle)); + sColor = rangeColorToHsl(this._pluginManager, plugin.particleStrokeColor(particle)); } if (fColor && sColor) { @@ -794,7 +793,7 @@ export class Canvas { private readonly _initStyle: () => void = () => { const element = this.element, - options = this.container.actualOptions; + options = this._container.actualOptions; if (!element) { return; @@ -874,6 +873,6 @@ export class Canvas { return; } - setStyle(element, getFullScreenStyle(this.container.actualOptions.fullScreen.zIndex), true); + setStyle(element, getFullScreenStyle(this._container.actualOptions.fullScreen.zIndex), true); }; } diff --git a/engine/src/Core/Container.ts b/engine/src/Core/Container.ts index 19c95a6884b..8b26e758a97 100644 --- a/engine/src/Core/Container.ts +++ b/engine/src/Core/Container.ts @@ -20,6 +20,7 @@ import { type IShapeDrawer } from "./Interfaces/IShapeDrawer.js"; import type { ISourceOptions } from "../Types/ISourceOptions.js"; import { Options } from "../Options/Classes/Options.js"; import { Particles } from "./Particles.js"; +import type { PluginManager } from "./Utils/PluginManager.js"; import { Retina } from "./Retina.js"; import { getLogger } from "../Utils/LogUtils.js"; import { loadOptions } from "../Utils/OptionsUtils.js"; @@ -45,17 +46,17 @@ function updateDelta(delta: IDelta, value: number, fpsLimit = defaultFps, smooth } /** - * @param engine - + * @param pluginManager - * @param container - * @param sourceOptionsArr - * @returns the options loaded */ function loadContainerOptions( - engine: Engine, + pluginManager: PluginManager, container: Container, ...sourceOptionsArr: (ISourceOptions | undefined)[] ): Options { - const options = new Options(engine, container); + const options = new Options(pluginManager, container); loadOptions(options, ...sourceOptionsArr); @@ -181,15 +182,15 @@ export class Container { this.shapeDrawers = new Map(); this.particleUpdaters = []; this.retina = new Retina(this); - this.canvas = new Canvas(this, this._engine); - this.particles = new Particles(this._engine, this); + this.canvas = new Canvas(this._engine.pluginManager, this); + this.particles = new Particles(this._engine.pluginManager, this); this.plugins = []; this.particleDestroyedPlugins = []; this.particleCreatedPlugins = []; this.particlePositionPlugins = []; /* tsParticles variables with default values */ - this._options = loadContainerOptions(this._engine, this); - this.actualOptions = loadContainerOptions(this._engine, this); + this._options = loadContainerOptions(this._engine.pluginManager, this); + this.actualOptions = loadContainerOptions(this._engine.pluginManager, this); /* ---------- tsParticles - start ------------ */ this._eventListeners = new EventListeners(this); @@ -259,7 +260,7 @@ export class Container { this.particleUpdaters = []; this.plugins.length = 0; - this._engine.clearPlugins(this); + this._engine.pluginManager.clearPlugins(this); this.destroyed = true; @@ -334,7 +335,7 @@ export class Container { const allContainerPlugins = new Map(); - for (const plugin of this._engine.plugins) { + for (const plugin of this._engine.pluginManager.plugins) { const containerPlugin = await plugin.getPlugin(this); if (containerPlugin.preInit) { @@ -347,8 +348,13 @@ export class Container { await this.initDrawersAndUpdaters(); /* options settings */ - this._options = loadContainerOptions(this._engine, this, this._initialSourceOptions, this.sourceOptions); - this.actualOptions = loadContainerOptions(this._engine, this, this._options); + this._options = loadContainerOptions( + this._engine.pluginManager, + this, + this._initialSourceOptions, + this.sourceOptions, + ); + this.actualOptions = loadContainerOptions(this._engine.pluginManager, this, this._options); this.plugins.length = 0; this.particleDestroyedPlugins.length = 0; @@ -410,9 +416,11 @@ export class Container { } async initDrawersAndUpdaters(): Promise { - this.effectDrawers = await this._engine.getEffectDrawers(this, true); - this.shapeDrawers = await this._engine.getShapeDrawers(this, true); - this.particleUpdaters = await this._engine.getUpdaters(this, true); + const pluginManager = this._engine.pluginManager; + + this.effectDrawers = await pluginManager.getEffectDrawers(this, true); + this.shapeDrawers = await pluginManager.getShapeDrawers(this, true); + this.particleUpdaters = await pluginManager.getUpdaters(this, true); } /** @@ -500,8 +508,13 @@ export class Container { this._initialSourceOptions = sourceOptions; this._sourceOptions = sourceOptions; - this._options = loadContainerOptions(this._engine, this, this._initialSourceOptions, this.sourceOptions); - this.actualOptions = loadContainerOptions(this._engine, this, this._options); + this._options = loadContainerOptions( + this._engine.pluginManager, + this, + this._initialSourceOptions, + this.sourceOptions, + ); + this.actualOptions = loadContainerOptions(this._engine.pluginManager, this, this._options); return this.refresh(); } diff --git a/engine/src/Core/Engine.ts b/engine/src/Core/Engine.ts index 54947f57662..541d11d8a87 100644 --- a/engine/src/Core/Engine.ts +++ b/engine/src/Core/Engine.ts @@ -2,13 +2,6 @@ * Engine class for creating the singleton on globalThis. * It's a singleton class for initializing {@link Container} instances */ -import type { EasingType, EasingTypeAlt } from "../Enums/Types/EasingType.js"; -import type { - EffectInitializer, - Initializers, - ShapeInitializer, - UpdaterInitializer, -} from "../Types/EngineInitializers.js"; import { canvasFirstIndex, canvasTag, @@ -21,29 +14,14 @@ import { one, removeDeleteCount, } from "./Utils/Constants.js"; -import { - getItemMapFromInitializer, - getItemsFromInitializer, - itemFromSingleOrMultiple, - safeDocument, -} from "../Utils/Utils.js"; +import { itemFromSingleOrMultiple, safeDocument } from "../Utils/Utils.js"; import type { Container } from "./Container.js"; import type { CustomEventArgs } from "../Types/CustomEventArgs.js"; import type { CustomEventListener } from "../Types/CustomEventListener.js"; -import type { EasingFunction } from "../Types/EasingFunction.js"; import { EventDispatcher } from "../Utils/EventDispatcher.js"; -import { EventType } from "../Enums/Types/EventType.js"; -import type { IColorManager } from "./Interfaces/IColorManager.js"; -import type { IEffectDrawer } from "./Interfaces/IEffectDrawer.js"; import type { ILoadParams } from "./Interfaces/ILoadParams.js"; -import type { IPalette } from "./Interfaces/IPalette.js"; -import type { IParticleUpdater } from "./Interfaces/IParticleUpdater.js"; -import type { IParticlesOptions } from "../Options/Interfaces/Particles/IParticlesOptions.js"; -import type { IPlugin } from "./Interfaces/IPlugin.js"; -import type { IShapeDrawer } from "./Interfaces/IShapeDrawer.js"; import type { ISourceOptions } from "../Types/ISourceOptions.js"; -import type { ParticlesOptions } from "../Options/Classes/Particles/ParticlesOptions.js"; -import type { RecursivePartial } from "../Types/RecursivePartial.js"; +import { PluginManager } from "./Utils/PluginManager.js"; import type { SingleOrMultiple } from "../Types/SingleOrMultiple.js"; import { getLogger } from "../Utils/LogUtils.js"; import { getRandom } from "../Utils/MathUtils.js"; @@ -62,16 +40,6 @@ interface DataFromUrlParams { url: SingleOrMultiple; } -type AsyncLoadPluginFunction = (engine: Engine) => Promise; -type SyncLoadPluginFunction = (engine: Engine) => void; -type AsyncLoadPluginNoEngine = () => Promise; -type SyncLoadPluginNoEngine = () => void; -type LoadPluginFunction = - | AsyncLoadPluginFunction - | SyncLoadPluginFunction - | AsyncLoadPluginNoEngine - | SyncLoadPluginNoEngine; - /** * @param data - * @returns the options object from the jsonUrl @@ -155,47 +123,7 @@ const getCanvasFromContainer = (domContainer: HTMLElement): HTMLCanvasElement => * and for Plugins class responsible for every external feature */ export class Engine { - readonly colorManagers = new Map(); - - readonly easingFunctions = new Map(); - - /** - * The drawers (additional effects) array - */ - readonly effectDrawers = new Map>(); - - readonly initializers: Initializers = { - effects: new Map(), - shapes: new Map(), - updaters: new Map(), - }; - - readonly palettes = new Map(); - - /** - * The plugins array - */ - readonly plugins: IPlugin[] = []; - - /** - * The presets array - */ - readonly presets = new Map(); - - /** - * The drawers (additional shapes) array - */ - readonly shapeDrawers = new Map>(); - - /** - * The updaters array - */ - readonly updaters = new Map(); - - private _allLoadersSet = new Set(); - - private readonly _configs = new Map(); - + readonly pluginManager = new PluginManager(this); /** * Contains all the {@link Container} instances of the current engine instance */ @@ -203,27 +131,11 @@ export class Engine { private readonly _eventDispatcher = new EventDispatcher(); - private _executedSet = new Set(); - /** * Checks if the engine instance is initialized */ private _initialized = false; - private _isRunningLoaders = false; - - private readonly _loadPromises = new Set(); - - get configs(): Record { - const res: Record = {}; - - for (const [name, config] of this._configs) { - res[name] = config; - } - - return res; - } - get items(): Container[] { return this._domArray; } @@ -232,42 +144,6 @@ export class Engine { return __VERSION__; } - /** - * @param name - - * @param manager - - */ - addColorManager(name: string, manager: IColorManager): void { - this.colorManagers.set(name, manager); - } - - addConfig(config: ISourceOptions): void { - const key = config.key ?? config.name ?? "default"; - - this._configs.set(key, config); - this._eventDispatcher.dispatchEvent(EventType.configAdded, { data: { name: key, config } }); - } - - /** - * @param name - - * @param easing - - */ - addEasing(name: EasingType | EasingTypeAlt, easing: EasingFunction): void { - if (this.easingFunctions.get(name)) { - return; - } - - this.easingFunctions.set(name, easing); - } - - /** - * addEffect adds effect to tsParticles, it will be available to all future instances created - * @param effect - the effect name - * @param drawer - the effect drawer function or class instance that draws the effect in the canvas - */ - addEffect(effect: string, drawer: EffectInitializer): void { - this.initializers.effects.set(effect, drawer); - } - /** * Adds a listener to the specified event * @param type - The event to listen to @@ -277,56 +153,6 @@ export class Engine { this._eventDispatcher.addEventListener(type, listener); } - addPalette(name: string, palette: IPalette): void { - this.palettes.set(name, palette); - } - - /** - * Adds a particle updater to the collection - * @param name - the particle updater name used as a key - * @param updaterInitializer - the particle updater initializer - */ - addParticleUpdater(name: string, updaterInitializer: UpdaterInitializer): void { - this.initializers.updaters.set(name, updaterInitializer); - } - - /** - * addPlugin adds plugin to tsParticles, if an instance needs it, it will be loaded - * @param plugin - the plugin implementation of {@link IPlugin} - */ - addPlugin(plugin: IPlugin): void { - if (this.getPlugin(plugin.id)) { - return; - } - - this.plugins.push(plugin); - } - - /** - * addPreset adds preset to tsParticles, it will be available to all future instances created - * @param preset - the preset name - * @param options - the options to add to the preset - * @param override - if true, the preset will override any existing with the same name - */ - addPreset(preset: string, options: Readonly, override = false): void { - if (!(override || !this.getPreset(preset))) { - return; - } - - this.presets.set(preset, options); - } - - /** - * addShape adds shape to tsParticles, it will be available to all future instances created - * @param shapes - the shape names to add, it can be a single shape or an array of shapes - * @param drawer - the shape drawer function or class instance that draws the shape in the canvas - */ - addShape(shapes: string[], drawer: ShapeInitializer): void { - for (const shape of shapes) { - this.initializers.shapes.set(shape, drawer); - } - } - /** * @param pluginVersion - the plugin version to check against */ @@ -340,12 +166,6 @@ export class Engine { ); } - clearPlugins(container: Container): void { - this.effectDrawers.delete(container); - this.shapeDrawers.delete(container); - this.updaters.delete(container); - } - /** * Dispatches an event that will be listened from listeners * @param type - The event to dispatch @@ -355,76 +175,17 @@ export class Engine { this._eventDispatcher.dispatchEvent(type, args); } - /** - * @param name - - * @returns the easing function - */ - getEasing(name: EasingType | EasingTypeAlt): EasingFunction { - return this.easingFunctions.get(name) ?? ((value: number): number => value); - } - - getEffectDrawers(container: Container, force = false): Promise> { - return getItemMapFromInitializer(container, this.effectDrawers, this.initializers.effects, force); - } - - getPalette(name: string): IPalette | undefined { - return this.palettes.get(name); - } - - /** - * Searches if the specified plugin exists and returns it - * @param plugin - the plugin name - * @returns the plugin if found, or undefined - */ - getPlugin(plugin: string): IPlugin | undefined { - return this.plugins.find(t => t.id === plugin); - } - - /** - * Searches the preset with the given name - * @param preset - the preset name to search - * @returns the preset if found, or undefined - */ - getPreset(preset: string): ISourceOptions | undefined { - return this.presets.get(preset); - } - - async getShapeDrawers(container: Container, force = false): Promise> { - return getItemMapFromInitializer(container, this.shapeDrawers, this.initializers.shapes, force); - } - - /** - * Returns all the container particle updaters - * @param container - the container used to check which particle updaters are enabled - * @param force - if true reloads the updater collection for the given container - * @returns the array of updaters for the given container - */ - async getUpdaters(container: Container, force = false): Promise { - return getItemsFromInitializer(container, this.updaters, this.initializers.updaters, force); - } - /** * init method, used by imports */ async init(): Promise { - if (this._initialized || this._isRunningLoaders) { + if (this._initialized) { return; } - this._isRunningLoaders = true; + await this.pluginManager.init(); - this._executedSet = new Set(); - this._allLoadersSet = new Set(this._loadPromises); - - try { - for (const loader of this._allLoadersSet) { - await this._runLoader(loader, this._executedSet, this._allLoadersSet); - } - } finally { - this._loadPromises.clear(); - this._isRunningLoaders = false; - this._initialized = true; - } + this._initialized = true; } /** @@ -487,26 +248,6 @@ export class Engine { return newItem; } - /** - * Load the given particles options for all the updaters - * @param container - the container of the updaters - * @param options - the actual options to set - * @param sourceOptions - the source options to read - */ - loadParticlesOptions( - container: Container, - options: ParticlesOptions, - ...sourceOptions: (RecursivePartial | undefined)[] - ): void { - const updaters = this.updaters.get(container); - - if (!updaters) { - return; - } - - updaters.forEach(updater => updater.loadOptions?.(options, ...sourceOptions)); - } - /** * Reloads all existing tsParticles loaded instances * @param refresh - should refresh the dom after reloading @@ -519,20 +260,6 @@ export class Engine { await Promise.all(this.items.map(t => t.refresh())); } - async register(...loaders: LoadPluginFunction[]): Promise { - if (this._initialized) { - throw new Error("Register plugins can only be done before calling tsParticles.load()"); - } - - for (const loader of loaders) { - if (this._isRunningLoaders) { - await this._runLoader(loader, this._executedSet, this._allLoadersSet); - } else { - this._loadPromises.add(loader); - } - } - } - /** * Removes a listener from the specified event * @param type - The event to stop listening to @@ -541,17 +268,4 @@ export class Engine { removeEventListener(type: string, listener: CustomEventListener): void { this._eventDispatcher.removeEventListener(type, listener); } - - private async _runLoader( - loader: LoadPluginFunction, - executed: Set, - allLoaders: Set, - ): Promise { - if (executed.has(loader)) return; - - executed.add(loader); - allLoaders.add(loader); - - await loader(this); - } } diff --git a/engine/src/Core/Particle.ts b/engine/src/Core/Particle.ts index 1870adfe5eb..e9afc4282dc 100644 --- a/engine/src/Core/Particle.ts +++ b/engine/src/Core/Particle.ts @@ -36,7 +36,6 @@ import { zIndexFactorOffset, } from "./Utils/Constants.js"; import type { Container } from "./Container.js"; -import type { Engine } from "./Engine.js"; import { EventType } from "../Enums/Types/EventType.js"; import type { IBubbleParticleData } from "./Interfaces/IBubbleParticleData.js"; import type { IDelta } from "./Interfaces/IDelta.js"; @@ -59,6 +58,7 @@ import { MoveDirection } from "../Enums/Directions/MoveDirection.js"; import { OutMode } from "../Enums/Modes/OutMode.js"; import { ParticleOutType } from "../Enums/Types/ParticleOutType.js"; import type { ParticlesOptions } from "../Options/Classes/Particles/ParticlesOptions.js"; +import type { PluginManager } from "./Utils/PluginManager.js"; import type { RecursivePartial } from "../Types/RecursivePartial.js"; import { loadParticlesOptions } from "../Utils/OptionsUtils.js"; @@ -374,10 +374,10 @@ export class Particle { * Gets the particle containing engine instance * @internal */ - private readonly _engine; + private readonly _pluginManager; - constructor(engine: Engine, container: Container) { - this._engine = engine; + constructor(pluginManager: PluginManager, container: Container) { + this._pluginManager = pluginManager; this._container = container; } @@ -515,7 +515,7 @@ export class Particle { const pxRatio = container.retina.pixelRatio, mainOptions = container.actualOptions, - particlesOptions = loadParticlesOptions(this._engine, container, mainOptions.particles), + particlesOptions = loadParticlesOptions(this._pluginManager, container, mainOptions.particles), reduceDuplicates = particlesOptions.reduceDuplicates, effectType = particlesOptions.effect.type, shapeType = particlesOptions.shape.type; diff --git a/engine/src/Core/Particles.ts b/engine/src/Core/Particles.ts index 9695a133353..5b1a94d2911 100644 --- a/engine/src/Core/Particles.ts +++ b/engine/src/Core/Particles.ts @@ -11,7 +11,6 @@ import { squareExp, } from "./Utils/Constants.js"; import type { Container } from "./Container.js"; -import type { Engine } from "./Engine.js"; import { EventType } from "../Enums/Types/EventType.js"; import type { IContainerPlugin } from "./Interfaces/IContainerPlugin.js"; import type { ICoordinates } from "./Interfaces/ICoordinates.js"; @@ -22,6 +21,7 @@ import type { IParticlesOptions } from "../Options/Interfaces/Particles/IParticl import { LimitMode } from "../Enums/Modes/LimitMode.js"; import { Particle } from "./Particle.js"; import { type ParticlesOptions } from "../Options/Classes/Particles/ParticlesOptions.js"; +import type { PluginManager } from "./Utils/PluginManager.js"; import type { RecursivePartial } from "../Types/RecursivePartial.js"; import { SpatialHashGrid } from "./Utils/SpatialHashGrid.js"; import { getLogger } from "../Utils/LogUtils.js"; @@ -40,7 +40,6 @@ export class Particles { */ private _array: Particle[]; private readonly _container: Container; - private readonly _engine; private readonly _groupLimits: Map; private _limit; private _maxZIndex; @@ -49,6 +48,7 @@ export class Particles { private _nextId; private _particleResetPlugins: IContainerPlugin[]; private _particleUpdatePlugins: IContainerPlugin[]; + private readonly _pluginManager; private readonly _pool: Particle[]; private _postParticleUpdatePlugins: IContainerPlugin[]; private _postUpdatePlugins: IContainerPlugin[]; @@ -58,11 +58,11 @@ export class Particles { /** * - * @param engine - + * @param pluginManager - * @param container - */ - constructor(engine: Engine, container: Container) { - this._engine = engine; + constructor(pluginManager: PluginManager, container: Container) { + this._pluginManager = pluginManager; this._container = container; this._nextId = 0; this._array = []; @@ -120,7 +120,7 @@ export class Particles { } try { - const particle = this._pool.pop() ?? new Particle(this._engine, this._container); + const particle = this._pool.pop() ?? new Particle(this._pluginManager, this._container); particle.init(this._nextId, position, overrideOptions, group); @@ -340,7 +340,7 @@ export class Particles { continue; } - const groupDataOptions = loadParticlesOptions(this._engine, this._container, groupData); + const groupDataOptions = loadParticlesOptions(this._pluginManager, this._container, groupData); this._applyDensity(groupDataOptions, pluginsCount, group); } diff --git a/engine/src/Core/Utils/PluginManager.ts b/engine/src/Core/Utils/PluginManager.ts new file mode 100644 index 00000000000..c74627d49a7 --- /dev/null +++ b/engine/src/Core/Utils/PluginManager.ts @@ -0,0 +1,318 @@ +import type { EasingType, EasingTypeAlt } from "../../Enums/Types/EasingType.js"; +import type { + EffectInitializer, + Initializers, + ShapeInitializer, + UpdaterInitializer, +} from "../../Types/EngineInitializers.js"; +import { getItemMapFromInitializer, getItemsFromInitializer } from "../../Utils/Utils.js"; +import type { Container } from "../Container.js"; +import type { EasingFunction } from "../../Types/EasingFunction.js"; +import type { Engine } from "../Engine.js"; +import { EventType } from "../../Enums/Types/EventType.js"; +import type { IColorManager } from "../Interfaces/IColorManager.js"; +import type { IEffectDrawer } from "../Interfaces/IEffectDrawer.js"; +import type { IPalette } from "../Interfaces/IPalette.js"; +import type { IParticleUpdater } from "../Interfaces/IParticleUpdater.js"; +import type { IParticlesOptions } from "../../Options/Interfaces/Particles/IParticlesOptions.js"; +import type { IPlugin } from "../Interfaces/IPlugin.js"; +import type { IShapeDrawer } from "../Interfaces/IShapeDrawer.js"; +import type { ISourceOptions } from "../../Types/ISourceOptions.js"; +import type { ParticlesOptions } from "../../Options/Classes/Particles/ParticlesOptions.js"; +import type { RecursivePartial } from "../../Types/RecursivePartial.js"; + +type AsyncLoadPluginFunction = (engine: Engine) => Promise; +type SyncLoadPluginFunction = (engine: Engine) => void; +type AsyncLoadPluginNoEngine = () => Promise; +type SyncLoadPluginNoEngine = () => void; +type LoadPluginFunction = + | AsyncLoadPluginFunction + | SyncLoadPluginFunction + | AsyncLoadPluginNoEngine + | SyncLoadPluginNoEngine; + +/** + * Engine class for creating the singleton on globalThis. + * It's a singleton class for initializing {@link Container} instances, + * and for Plugins class responsible for every external feature + */ +export class PluginManager { + readonly colorManagers = new Map(); + + readonly easingFunctions = new Map(); + + /** + * The drawers (additional effects) array + */ + readonly effectDrawers = new Map>(); + + readonly initializers: Initializers = { + effects: new Map(), + shapes: new Map(), + updaters: new Map(), + }; + + readonly palettes = new Map(); + + /** + * The plugins array + */ + readonly plugins: IPlugin[] = []; + + /** + * The presets array + */ + readonly presets = new Map(); + + /** + * The drawers (additional shapes) array + */ + readonly shapeDrawers = new Map>(); + + /** + * The updaters array + */ + readonly updaters = new Map(); + + private _allLoadersSet = new Set(); + + private readonly _configs = new Map(); + + private readonly _engine; + + private _executedSet = new Set(); + + /** + * Checks if the engine instance is initialized + */ + private _initialized = false; + + private _isRunningLoaders = false; + + private readonly _loadPromises = new Set(); + + constructor(engine: Engine) { + this._engine = engine; + } + + get configs(): Record { + const res: Record = {}; + + for (const [name, config] of this._configs) { + res[name] = config; + } + + return res; + } + + /** + * @param name - + * @param manager - + */ + addColorManager(name: string, manager: IColorManager): void { + this.colorManagers.set(name, manager); + } + + addConfig(config: ISourceOptions): void { + const key = config.key ?? config.name ?? "default"; + + this._configs.set(key, config); + this._engine.dispatchEvent(EventType.configAdded, { data: { name: key, config } }); + } + + /** + * @param name - + * @param easing - + */ + addEasing(name: EasingType | EasingTypeAlt, easing: EasingFunction): void { + if (this.easingFunctions.get(name)) { + return; + } + + this.easingFunctions.set(name, easing); + } + + /** + * addEffect adds effect to tsParticles, it will be available to all future instances created + * @param effect - the effect name + * @param drawer - the effect drawer function or class instance that draws the effect in the canvas + */ + addEffect(effect: string, drawer: EffectInitializer): void { + this.initializers.effects.set(effect, drawer); + } + + addPalette(name: string, palette: IPalette): void { + this.palettes.set(name, palette); + } + + /** + * Adds a particle updater to the collection + * @param name - the particle updater name used as a key + * @param updaterInitializer - the particle updater initializer + */ + addParticleUpdater(name: string, updaterInitializer: UpdaterInitializer): void { + this.initializers.updaters.set(name, updaterInitializer); + } + + /** + * addPlugin adds plugin to tsParticles, if an instance needs it, it will be loaded + * @param plugin - the plugin implementation of {@link IPlugin} + */ + addPlugin(plugin: IPlugin): void { + if (this.getPlugin(plugin.id)) { + return; + } + + this.plugins.push(plugin); + } + + /** + * addPreset adds preset to tsParticles, it will be available to all future instances created + * @param preset - the preset name + * @param options - the options to add to the preset + * @param override - if true, the preset will override any existing with the same name + */ + addPreset(preset: string, options: Readonly, override = false): void { + if (!(override || !this.getPreset(preset))) { + return; + } + + this.presets.set(preset, options); + } + + /** + * addShape adds shape to tsParticles, it will be available to all future instances created + * @param shapes - the shape names to add, it can be a single shape or an array of shapes + * @param drawer - the shape drawer function or class instance that draws the shape in the canvas + */ + addShape(shapes: string[], drawer: ShapeInitializer): void { + for (const shape of shapes) { + this.initializers.shapes.set(shape, drawer); + } + } + + clearPlugins(container: Container): void { + this.effectDrawers.delete(container); + this.shapeDrawers.delete(container); + this.updaters.delete(container); + } + + /** + * @param name - + * @returns the easing function + */ + getEasing(name: EasingType | EasingTypeAlt): EasingFunction { + return this.easingFunctions.get(name) ?? ((value: number): number => value); + } + + getEffectDrawers(container: Container, force = false): Promise> { + return getItemMapFromInitializer(container, this.effectDrawers, this.initializers.effects, force); + } + + getPalette(name: string): IPalette | undefined { + return this.palettes.get(name); + } + + /** + * Searches if the specified plugin exists and returns it + * @param plugin - the plugin name + * @returns the plugin if found, or undefined + */ + getPlugin(plugin: string): IPlugin | undefined { + return this.plugins.find(t => t.id === plugin); + } + + /** + * Searches the preset with the given name + * @param preset - the preset name to search + * @returns the preset if found, or undefined + */ + getPreset(preset: string): ISourceOptions | undefined { + return this.presets.get(preset); + } + + async getShapeDrawers(container: Container, force = false): Promise> { + return getItemMapFromInitializer(container, this.shapeDrawers, this.initializers.shapes, force); + } + + /** + * Returns all the container particle updaters + * @param container - the container used to check which particle updaters are enabled + * @param force - if true reloads the updater collection for the given container + * @returns the array of updaters for the given container + */ + async getUpdaters(container: Container, force = false): Promise { + return getItemsFromInitializer(container, this.updaters, this.initializers.updaters, force); + } + + /** + * init method, used by imports + */ + async init(): Promise { + if (this._initialized || this._isRunningLoaders) { + return; + } + + this._isRunningLoaders = true; + + this._executedSet = new Set(); + this._allLoadersSet = new Set(this._loadPromises); + + try { + for (const loader of this._allLoadersSet) { + await this._runLoader(loader, this._executedSet, this._allLoadersSet); + } + } finally { + this._loadPromises.clear(); + this._isRunningLoaders = false; + this._initialized = true; + } + } + + /** + * Load the given particles options for all the updaters + * @param container - the container of the updaters + * @param options - the actual options to set + * @param sourceOptions - the source options to read + */ + loadParticlesOptions( + container: Container, + options: ParticlesOptions, + ...sourceOptions: (RecursivePartial | undefined)[] + ): void { + const updaters = this.updaters.get(container); + + if (!updaters) { + return; + } + + updaters.forEach(updater => updater.loadOptions?.(options, ...sourceOptions)); + } + + async register(...loaders: LoadPluginFunction[]): Promise { + if (this._initialized) { + throw new Error("Register plugins can only be done before calling tsParticles.load()"); + } + + for (const loader of loaders) { + if (this._isRunningLoaders) { + await this._runLoader(loader, this._executedSet, this._allLoadersSet); + } else { + this._loadPromises.add(loader); + } + } + } + + private async _runLoader( + loader: LoadPluginFunction, + executed: Set, + allLoaders: Set, + ): Promise { + if (executed.has(loader)) return; + + executed.add(loader); + allLoaders.add(loader); + + await loader(this._engine); + } +} diff --git a/engine/src/Options/Classes/Options.ts b/engine/src/Options/Classes/Options.ts index 0e0e67d2915..650eb0c3a87 100644 --- a/engine/src/Options/Classes/Options.ts +++ b/engine/src/Options/Classes/Options.ts @@ -2,11 +2,11 @@ import { deepExtend, executeOnSingleOrMultiple } from "../../Utils/Utils.js"; import { isBoolean, isNull } from "../../Utils/TypeUtils.js"; import { Background } from "./Background/Background.js"; import type { Container } from "../../Core/Container.js"; -import type { Engine } from "../../Core/Engine.js"; import { FullScreen } from "./FullScreen/FullScreen.js"; import type { IOptionLoader } from "../Interfaces/IOptionLoader.js"; import type { IOptions } from "../Interfaces/IOptions.js"; import type { ISourceOptions } from "../../Types/ISourceOptions.js"; +import type { PluginManager } from "../../Core/Utils/PluginManager.js"; import type { RangeValue } from "../../Types/RangeValue.js"; import type { RecursivePartial } from "../../Types/RecursivePartial.js"; import { ResizeEvent } from "./ResizeEvent.js"; @@ -48,10 +48,10 @@ export class Options implements IOptions, IOptionLoader { zLayers; private readonly _container; - private readonly _engine; + private readonly _pluginManager; - constructor(engine: Engine, container: Container) { - this._engine = engine; + constructor(pluginManager: PluginManager, container: Container) { + this._pluginManager = pluginManager; this._container = container; this.autoPlay = true; this.background = new Background(); @@ -63,7 +63,7 @@ export class Options implements IOptions, IOptionLoader { this.duration = 0; this.fpsLimit = 120; this.hdr = true; - this.particles = loadParticlesOptions(this._engine, this._container); + this.particles = loadParticlesOptions(this._pluginManager, this._container); this.pauseOnBlur = true; this.pauseOnOutsideViewport = true; this.resize = new ResizeEvent(); @@ -167,13 +167,13 @@ export class Options implements IOptions, IOptionLoader { this.smooth = data.smooth; } - this._engine.plugins.forEach(plugin => { + this._pluginManager.plugins.forEach(plugin => { plugin.loadOptions(this._container, this, data); }); } private readonly _importPalette: (palette: string) => void = palette => { - const paletteData = this._engine.getPalette(palette); + const paletteData = this._pluginManager.getPalette(palette); if (!paletteData) { return; @@ -207,6 +207,6 @@ export class Options implements IOptions, IOptionLoader { }; private readonly _importPreset: (preset: string) => void = preset => { - this.load(this._engine.getPreset(preset)); + this.load(this._pluginManager.getPreset(preset)); }; } diff --git a/engine/src/Options/Classes/Particles/ParticlesOptions.ts b/engine/src/Options/Classes/Particles/ParticlesOptions.ts index 4e40226949d..6e1e0c36c97 100644 --- a/engine/src/Options/Classes/Particles/ParticlesOptions.ts +++ b/engine/src/Options/Classes/Particles/ParticlesOptions.ts @@ -1,7 +1,6 @@ import { deepExtend, executeOnSingleOrMultiple } from "../../../Utils/Utils.js"; import type { Container } from "../../../Core/Container.js"; import { Effect } from "./Effect/Effect.js"; -import type { Engine } from "../../../Core/Engine.js"; import { Fill } from "./Fill.js"; import type { IOptionLoader } from "../../Interfaces/IOptionLoader.js"; import type { IParticlesOptions } from "../../Interfaces/Particles/IParticlesOptions.js"; @@ -10,6 +9,7 @@ import { Opacity } from "./Opacity/Opacity.js"; import { ParticlesBounce } from "./Bounce/ParticlesBounce.js"; import type { ParticlesGroups } from "../../../Types/ParticlesGroups.js"; import { ParticlesNumber } from "./Number/ParticlesNumber.js"; +import type { PluginManager } from "../../../Core/Utils/PluginManager.js"; import type { RecursivePartial } from "../../../Types/RecursivePartial.js"; import { Shape } from "./Shape/Shape.js"; import type { SingleOrMultiple } from "../../../Types/SingleOrMultiple.js"; @@ -38,10 +38,10 @@ export class ParticlesOptions implements IParticlesOptions, IOptionLoader(), @@ -81,16 +81,16 @@ function getCachedStyle(key: string, generator: () => string): string { /** * Converts a string to a RGBA color. - * @param engine - The engine managing the current parameters. + * @param pluginManager - The plugin manager * @param input - A string that represents a color. * @returns the converted color from string to {@link IRgba} interfaec */ -function stringToRgba(engine: Engine, input: string): IRgba | undefined { +function stringToRgba(pluginManager: PluginManager, input: string): IRgba | undefined { if (!input) { return; } - for (const manager of engine.colorManagers.values()) { + for (const manager of pluginManager.colorManagers.values()) { if (manager.accepts(input)) { return manager.parseString(input); } @@ -101,14 +101,14 @@ function stringToRgba(engine: Engine, input: string): IRgba | undefined { /** * Gets the particles color - * @param engine - the engine managing the current parameters + * @param pluginManager - the plugin manager * @param input - the input color to convert in {@link IRgb} object * @param index - the array index, if needed * @param useIndex - set to false for ignoring the index parameter * @returns returns a RGB color in the given range */ export function rangeColorToRgb( - engine: Engine, + pluginManager: PluginManager, input?: string | IRangeColor, index?: number, useIndex = true, @@ -120,7 +120,7 @@ export function rangeColorToRgb( const color = isString(input) ? { value: input } : input; if (isString(color.value)) { - return colorToRgb(engine, color.value, index, useIndex); + return colorToRgb(pluginManager, color.value, index, useIndex); } if (isArray(color.value)) { @@ -130,12 +130,12 @@ export function rangeColorToRgb( return; } - return rangeColorToRgb(engine, { + return rangeColorToRgb(pluginManager, { value, }); } - for (const manager of engine.colorManagers.values()) { + for (const manager of pluginManager.colorManagers.values()) { const res = manager.handleRangeColor(color); if (res) { @@ -148,13 +148,18 @@ export function rangeColorToRgb( /** * Gets the particles color - * @param engine - the engine managing the current parameters + * @param pluginManager - the plugin manager * @param input - the input color to convert in {@link IRgb} object * @param index - the array index, if needed * @param useIndex - set to false to ignore the index parameter * @returns returns an RGB color taken from a {@link IColor} object */ -export function colorToRgb(engine: Engine, input?: string | IColor, index?: number, useIndex = true): IRgb | undefined { +export function colorToRgb( + pluginManager: PluginManager, + input?: string | IColor, + index?: number, + useIndex = true, +): IRgb | undefined { if (!input) { return; } @@ -162,7 +167,7 @@ export function colorToRgb(engine: Engine, input?: string | IColor, index?: numb const color = isString(input) ? { value: input } : input; if (isString(color.value)) { - return color.value === randomColorValue ? getRandomRgbColor() : stringToRgb(engine, color.value); + return color.value === randomColorValue ? getRandomRgbColor() : stringToRgb(pluginManager, color.value); } if (isArray(color.value)) { @@ -172,12 +177,12 @@ export function colorToRgb(engine: Engine, input?: string | IColor, index?: numb return; } - return colorToRgb(engine, { + return colorToRgb(pluginManager, { value, }); } - for (const manager of engine.colorManagers.values()) { + for (const manager of pluginManager.colorManagers.values()) { const res = manager.handleColor(color); if (res) { @@ -190,38 +195,38 @@ export function colorToRgb(engine: Engine, input?: string | IColor, index?: numb /** * Gets the particles color - * @param engine - the engine managing the current parameters + * @param pluginManager - the plugin manager * @param color - the input color to convert in {@link IHsl} object * @param index - the array index, if needed * @param useIndex - set to false to ignore the index parameter * @returns the {@link IHsl} object */ export function colorToHsl( - engine: Engine, + pluginManager: PluginManager, color: string | IColor | undefined, index?: number, useIndex = true, ): IHsl | undefined { - const rgb = colorToRgb(engine, color, index, useIndex); + const rgb = colorToRgb(pluginManager, color, index, useIndex); return rgb ? rgbToHsl(rgb) : undefined; } /** * Gets the particles color - * @param engine - the engine managing the current parameters + * @param pluginManager - the plugin manager * @param color - the input color to convert in {@link IHsl} object * @param index - the array index, if needed * @param useIndex - set to false to ignore the index parameter * @returns the {@link IHsl} object */ export function rangeColorToHsl( - engine: Engine, + pluginManager: PluginManager, color: string | IRangeColor | undefined, index?: number, useIndex = true, ): IHsl | undefined { - const rgb = rangeColorToRgb(engine, color, index, useIndex); + const rgb = rangeColorToRgb(pluginManager, color, index, useIndex); return rgb ? rgbToHsl(rgb) : undefined; } @@ -274,22 +279,22 @@ export function rgbToHsl(color: IRgb): IHsl { /** * Gets alpha value from string color - * @param engine - the engine managing the current parameters + * @param pluginManager - the plugin manager * @param input - the input color to convert in alpha value * @returns the alpha value */ -export function stringToAlpha(engine: Engine, input: string): number | undefined { - return stringToRgba(engine, input)?.a; +export function stringToAlpha(pluginManager: PluginManager, input: string): number | undefined { + return stringToRgba(pluginManager, input)?.a; } /** * Converts hexadecimal string (HTML color code) in a {@link IRgb} object - * @param engine - the engine managing the current parameters + * @param pluginManager - the plugin manager * @param input - the hexadecimal string (#f70 or #ff7700) * @returns the {@link IRgb} object */ -export function stringToRgb(engine: Engine, input: string): IRgb | undefined { - return stringToRgba(engine, input); +export function stringToRgb(pluginManager: PluginManager, input: string): IRgb | undefined { + return stringToRgba(pluginManager, input); } /** @@ -512,14 +517,14 @@ export function getLinkColor(p1: Particle, p2?: Particle, linkColor?: string | I } /** - * @param engine - + * @param pluginManager - * @param optColor - * @param blink - * @param consent - * @returns returns a link random color, if needed */ export function getLinkRandomColor( - engine: Engine, + pluginManager: PluginManager, optColor: string | IOptionsColor, blink: boolean, consent: boolean, @@ -528,7 +533,7 @@ export function getLinkRandomColor( if (color === randomColorValue) { if (consent) { - return rangeColorToRgb(engine, { + return rangeColorToRgb(pluginManager, { value: color, }); } @@ -541,7 +546,7 @@ export function getLinkRandomColor( } else if (color === midColorValue) { return midColorValue; } else { - return rangeColorToRgb(engine, { + return rangeColorToRgb(pluginManager, { value: color, }); } diff --git a/engine/src/Utils/OptionsUtils.ts b/engine/src/Utils/OptionsUtils.ts index 674f56b3438..0473e4c3001 100644 --- a/engine/src/Utils/OptionsUtils.ts +++ b/engine/src/Utils/OptionsUtils.ts @@ -1,8 +1,8 @@ import type { Container } from "../Core/Container.js"; -import type { Engine } from "../Core/Engine.js"; import type { IOptionLoader } from "../Options/Interfaces/IOptionLoader.js"; import type { IParticlesOptions } from "../Options/Interfaces/Particles/IParticlesOptions.js"; import { ParticlesOptions } from "../Options/Classes/Particles/ParticlesOptions.js"; +import type { PluginManager } from "../Core/Utils/PluginManager.js"; import type { RecursivePartial } from "../Types/RecursivePartial.js"; /** @@ -19,17 +19,17 @@ export function loadOptions( } /** - * @param engine - + * @param pluginManager - * @param container - * @param sourceOptionsArr - * @returns the newly created {@link ParticlesOptions} object */ export function loadParticlesOptions( - engine: Engine, + pluginManager: PluginManager, container: Container, ...sourceOptionsArr: RecursivePartial[] ): ParticlesOptions { - const options = new ParticlesOptions(engine, container); + const options = new ParticlesOptions(pluginManager, container); loadOptions(options, ...sourceOptionsArr); diff --git a/engine/src/export-types.ts b/engine/src/export-types.ts index 3d1ec8b65cc..7ad39ba059a 100644 --- a/engine/src/export-types.ts +++ b/engine/src/export-types.ts @@ -94,3 +94,4 @@ export type { Particle } from "./Core/Particle.js"; export type { Particles } from "./Core/Particles.js"; export type { Retina } from "./Core/Retina.js"; export type { Engine } from "./Core/Engine.js"; +export type { PluginManager } from "./Core/Utils/PluginManager.js"; diff --git a/interactions/external/attract/src/Attractor.ts b/interactions/external/attract/src/Attractor.ts index a0cbd150e4d..d17e12688a5 100644 --- a/interactions/external/attract/src/Attractor.ts +++ b/interactions/external/attract/src/Attractor.ts @@ -1,5 +1,4 @@ import type { AttractContainer, AttractMode, IAttractMode } from "./Types.js"; -import { type Engine, type RecursivePartial, isInArray, millisecondsToSeconds } from "@tsparticles/engine"; import { ExternalInteractorBase, type IInteractivityData, @@ -8,6 +7,7 @@ import { type Modes, mouseMoveEvent, } from "@tsparticles/plugin-interactivity"; +import { type PluginManager, type RecursivePartial, isInArray, millisecondsToSeconds } from "@tsparticles/engine"; import { clickAttract, hoverAttract } from "./Utils.js"; import { Attract } from "./Options/Classes/Attract.js"; @@ -19,13 +19,13 @@ const attractMode = "attract"; export class Attractor extends ExternalInteractorBase { handleClickMode: (mode: string, interactivityData: IInteractivityData) => void; - private readonly _engine; private _maxDistance; + private readonly _pluginManager; - constructor(engine: Engine, container: AttractContainer) { + constructor(pluginManager: PluginManager, container: AttractContainer) { super(container); - this._engine = engine; + this._pluginManager = pluginManager; this._maxDistance = 0; container.attract ??= { particles: [] }; @@ -101,9 +101,9 @@ export class Attractor extends ExternalInteractorBase { { enable: clickEnabled, mode: clickMode } = events.onClick; if (mouseMoveStatus && hoverEnabled && isInArray(attractMode, hoverMode)) { - hoverAttract(this._engine, this.container, interactivityData, p => this.isEnabled(interactivityData, p)); + hoverAttract(this._pluginManager, this.container, interactivityData, p => this.isEnabled(interactivityData, p)); } else if (clickEnabled && isInArray(attractMode, clickMode)) { - clickAttract(this._engine, this.container, interactivityData, p => this.isEnabled(interactivityData, p)); + clickAttract(this._pluginManager, this.container, interactivityData, p => this.isEnabled(interactivityData, p)); } } diff --git a/interactions/external/attract/src/Utils.ts b/interactions/external/attract/src/Utils.ts index 4d14eb258aa..86c8c1f25b8 100644 --- a/interactions/external/attract/src/Utils.ts +++ b/interactions/external/attract/src/Utils.ts @@ -1,9 +1,9 @@ import { type BaseRange, Circle, - type Engine, type ICoordinates, type Particle, + type PluginManager, Vector, clamp, getDistances, @@ -18,7 +18,7 @@ const minFactor = 1, /** * - * @param engine - + * @param pluginManager - * @param container - * @param position - * @param attractRadius - @@ -26,7 +26,7 @@ const minFactor = 1, * @param queryCb - */ function processAttract( - engine: Engine, + pluginManager: PluginManager, container: AttractContainer, position: ICoordinates, attractRadius: number, @@ -45,7 +45,7 @@ function processAttract( const { dx, dy, distance } = getDistances(particle.position, position), velocity = attractOptions.speed * attractOptions.factor, attractFactor = clamp( - engine.getEasing(attractOptions.easing)(identity - distance / attractRadius) * velocity, + pluginManager.getEasing(attractOptions.easing)(identity - distance / attractRadius) * velocity, minFactor, attractOptions.maxSpeed, ); @@ -58,13 +58,13 @@ function processAttract( } /** - * @param engine - + * @param pluginManager - * @param container - * @param interactivityData - * @param enabledCb - */ export function clickAttract( - engine: Engine, + pluginManager: PluginManager, container: AttractContainer, interactivityData: IInteractivityData, enabledCb: (particle: Particle) => boolean, @@ -91,7 +91,7 @@ export function clickAttract( } processAttract( - engine, + pluginManager, container, mousePos, attractRadius, @@ -104,13 +104,13 @@ export function clickAttract( } /** - * @param engine - + * @param pluginManager - * @param container - * @param interactivityData - * @param enabledCb - */ export function hoverAttract( - engine: Engine, + pluginManager: PluginManager, container: AttractContainer, interactivityData: IInteractivityData, enabledCb: (particle: Particle) => boolean, @@ -123,7 +123,7 @@ export function hoverAttract( } processAttract( - engine, + pluginManager, container, mousePos, attractRadius, diff --git a/interactions/external/attract/src/index.ts b/interactions/external/attract/src/index.ts index d8c58262804..a4e7065355b 100644 --- a/interactions/external/attract/src/index.ts +++ b/interactions/external/attract/src/index.ts @@ -9,15 +9,15 @@ declare const __VERSION__: string; export async function loadExternalAttractInteraction(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(async (e: InteractivityEngine) => { + await engine.pluginManager.register(async (e: InteractivityEngine) => { const { ensureInteractivityPluginLoaded } = await import("@tsparticles/plugin-interactivity"); ensureInteractivityPluginLoaded(e); - e.addInteractor?.("externalAttract", async container => { + e.pluginManager.addInteractor?.("externalAttract", async container => { const { Attractor } = await import("./Attractor.js"); - return new Attractor(e, container); + return new Attractor(e.pluginManager, container); }); }); } diff --git a/interactions/external/bounce/src/index.ts b/interactions/external/bounce/src/index.ts index cb2dd429812..1fa1c4d76ae 100644 --- a/interactions/external/bounce/src/index.ts +++ b/interactions/external/bounce/src/index.ts @@ -9,12 +9,12 @@ declare const __VERSION__: string; export async function loadExternalBounceInteraction(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(async (e: InteractivityEngine) => { + await engine.pluginManager.register(async (e: InteractivityEngine) => { const { ensureInteractivityPluginLoaded } = await import("@tsparticles/plugin-interactivity"); ensureInteractivityPluginLoaded(e); - e.addInteractor?.("externalBounce", async container => { + e.pluginManager.addInteractor?.("externalBounce", async container => { const { Bouncer } = await import("./Bouncer.js"); return new Bouncer(container); diff --git a/interactions/external/bubble/src/Bubbler.ts b/interactions/external/bubble/src/Bubbler.ts index 5040398acc0..0bb4a3b63b8 100644 --- a/interactions/external/bubble/src/Bubbler.ts +++ b/interactions/external/bubble/src/Bubbler.ts @@ -1,9 +1,9 @@ import type { BubbleContainer, BubbleMode, IBubbleMode } from "./Types.js"; import { Circle, - type Engine, type IDelta, type Particle, + type PluginManager, Rectangle, type RecursivePartial, colorMix, @@ -53,13 +53,13 @@ const bubbleMode = "bubble", export class Bubbler extends ExternalInteractorBase { handleClickMode: (mode: string, interactivityData: IInteractivityData) => void; - private readonly _engine; private _maxDistance; + private readonly _pluginManager; - constructor(engine: Engine, container: BubbleContainer) { + constructor(pluginManager: PluginManager, container: BubbleContainer) { super(container); - this._engine = engine; + this._pluginManager = pluginManager; this._maxDistance = 0; container.bubble ??= {}; @@ -313,7 +313,7 @@ export class Bubbler extends ExternalInteractorBase { const bubbleColor = itemFromSingleOrMultiple(modeColor); - particle.bubble.finalColor = rangeColorToHsl(this._engine, bubbleColor); + particle.bubble.finalColor = rangeColorToHsl(this._pluginManager, bubbleColor); } if (!particle.bubble.finalColor) { diff --git a/interactions/external/bubble/src/index.ts b/interactions/external/bubble/src/index.ts index d45f1e8be71..a52ea7b6a92 100644 --- a/interactions/external/bubble/src/index.ts +++ b/interactions/external/bubble/src/index.ts @@ -9,15 +9,15 @@ declare const __VERSION__: string; export async function loadExternalBubbleInteraction(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(async (e: InteractivityEngine) => { + await engine.pluginManager.register(async (e: InteractivityEngine) => { const { ensureInteractivityPluginLoaded } = await import("@tsparticles/plugin-interactivity"); ensureInteractivityPluginLoaded(e); - e.addInteractor?.("externalBubble", async container => { + e.pluginManager.addInteractor?.("externalBubble", async container => { const { Bubbler } = await import("./Bubbler.js"); - return new Bubbler(e, container); + return new Bubbler(e.pluginManager, container); }); }); } diff --git a/interactions/external/connect/src/index.ts b/interactions/external/connect/src/index.ts index d5d5fe56a6e..48c4ec1d8a3 100644 --- a/interactions/external/connect/src/index.ts +++ b/interactions/external/connect/src/index.ts @@ -9,12 +9,12 @@ declare const __VERSION__: string; export async function loadExternalConnectInteraction(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(async (e: InteractivityEngine) => { + await engine.pluginManager.register(async (e: InteractivityEngine) => { const { ensureInteractivityPluginLoaded } = await import("@tsparticles/plugin-interactivity"); ensureInteractivityPluginLoaded(e); - e.addInteractor?.("externalConnect", async container => { + e.pluginManager.addInteractor?.("externalConnect", async container => { const { Connector } = await import("./Connector.js"); return new Connector(container); diff --git a/interactions/external/drag/src/index.ts b/interactions/external/drag/src/index.ts index d05f4aa3ec3..131fde14f76 100644 --- a/interactions/external/drag/src/index.ts +++ b/interactions/external/drag/src/index.ts @@ -16,12 +16,12 @@ declare const __VERSION__: string; export async function loadExternalDragInteraction(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(async (e: InteractivityEngine) => { + await engine.pluginManager.register(async (e: InteractivityEngine) => { const { ensureInteractivityPluginLoaded } = await import("@tsparticles/plugin-interactivity"); ensureInteractivityPluginLoaded(e); - e.addInteractor?.("externalDrag", async container => { + e.pluginManager.addInteractor?.("externalDrag", async container => { const { Dragger } = await import("./Dragger.js"); return new Dragger(container); diff --git a/interactions/external/grab/src/Grabber.ts b/interactions/external/grab/src/Grabber.ts index 9da896c5596..cec65cde480 100644 --- a/interactions/external/grab/src/Grabber.ts +++ b/interactions/external/grab/src/Grabber.ts @@ -1,11 +1,3 @@ -import { - type Engine, - type RecursivePartial, - getDistance, - getLinkColor, - getLinkRandomColor, - isInArray, -} from "@tsparticles/engine"; import { ExternalInteractorBase, type IInteractivityData, @@ -15,6 +7,14 @@ import { mouseMoveEvent, } from "@tsparticles/plugin-interactivity"; import type { GrabContainer, GrabMode, IGrabMode, LinkParticle } from "./Types.js"; +import { + type PluginManager, + type RecursivePartial, + getDistance, + getLinkColor, + getLinkRandomColor, + isInArray, +} from "@tsparticles/engine"; import { Grab } from "./Options/Classes/Grab.js"; import { drawGrab } from "./Utils.js"; @@ -26,13 +26,13 @@ const grabMode = "grab", * Particle grab manager */ export class Grabber extends ExternalInteractorBase { - private readonly _engine; private _maxDistance; + private readonly _pluginManager; - constructor(container: GrabContainer, engine: Engine) { + constructor(pluginManager: PluginManager, container: GrabContainer) { super(container); - this._engine = engine; + this._pluginManager = pluginManager; this._maxDistance = 0; } @@ -112,7 +112,7 @@ export class Grabber extends ExternalInteractorBase { const linksOptions = interactivity.modes.grab.links; container.particles.grabLineColor = getLinkRandomColor( - this._engine, + this._pluginManager, optColor, linksOptions.blink, linksOptions.consent, diff --git a/interactions/external/grab/src/index.ts b/interactions/external/grab/src/index.ts index e241e4668d0..bca8095f161 100644 --- a/interactions/external/grab/src/index.ts +++ b/interactions/external/grab/src/index.ts @@ -9,15 +9,15 @@ declare const __VERSION__: string; export async function loadExternalGrabInteraction(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(async (e: InteractivityEngine) => { + await engine.pluginManager.register(async (e: InteractivityEngine) => { const { ensureInteractivityPluginLoaded } = await import("@tsparticles/plugin-interactivity"); ensureInteractivityPluginLoaded(e); - e.addInteractor?.("externalGrab", async container => { + e.pluginManager.addInteractor?.("externalGrab", async container => { const { Grabber } = await import("./Grabber.js"); - return new Grabber(container, engine); + return new Grabber(e.pluginManager, container); }); }); } diff --git a/interactions/external/parallax/src/index.ts b/interactions/external/parallax/src/index.ts index 6637551338f..a53fafbbe03 100644 --- a/interactions/external/parallax/src/index.ts +++ b/interactions/external/parallax/src/index.ts @@ -9,12 +9,12 @@ declare const __VERSION__: string; export async function loadExternalParallaxInteraction(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(async (e: InteractivityEngine) => { + await engine.pluginManager.register(async (e: InteractivityEngine) => { const { ensureInteractivityPluginLoaded } = await import("@tsparticles/plugin-interactivity"); ensureInteractivityPluginLoaded(e); - e.addInteractor?.("externalParallax", async container => { + e.pluginManager.addInteractor?.("externalParallax", async container => { const { Parallaxer } = await import("./Parallaxer.js"); return new Parallaxer(container); diff --git a/interactions/external/particle/src/index.ts b/interactions/external/particle/src/index.ts index b9a7124d0f7..fc23f6c74f4 100644 --- a/interactions/external/particle/src/index.ts +++ b/interactions/external/particle/src/index.ts @@ -9,12 +9,12 @@ declare const __VERSION__: string; export async function loadExternalParticleInteraction(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(async (e: InteractivityEngine) => { + await engine.pluginManager.register(async (e: InteractivityEngine) => { const { ensureInteractivityPluginLoaded } = await import("@tsparticles/plugin-interactivity"); ensureInteractivityPluginLoaded(e); - e.addInteractor?.("externalParticle", async container => { + e.pluginManager.addInteractor?.("externalParticle", async container => { const { InteractivityParticleMaker } = await import("./InteractivityParticleMaker.js"); return new InteractivityParticleMaker(container); diff --git a/interactions/external/pause/src/index.ts b/interactions/external/pause/src/index.ts index f1e3152d772..24434e0bc21 100644 --- a/interactions/external/pause/src/index.ts +++ b/interactions/external/pause/src/index.ts @@ -9,12 +9,12 @@ declare const __VERSION__: string; export async function loadExternalPauseInteraction(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(async (e: InteractivityEngine) => { + await engine.pluginManager.register(async (e: InteractivityEngine) => { const { ensureInteractivityPluginLoaded } = await import("@tsparticles/plugin-interactivity"); ensureInteractivityPluginLoaded(e); - e.addInteractor?.("externalPause", async container => { + e.pluginManager.addInteractor?.("externalPause", async container => { const { Pauser } = await import("./Pauser.js"); return new Pauser(container); diff --git a/interactions/external/pop/src/index.ts b/interactions/external/pop/src/index.ts index bbe50cf83d5..7280ab9ea49 100644 --- a/interactions/external/pop/src/index.ts +++ b/interactions/external/pop/src/index.ts @@ -9,12 +9,12 @@ declare const __VERSION__: string; export async function loadExternalPopInteraction(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(async (e: InteractivityEngine) => { + await engine.pluginManager.register(async (e: InteractivityEngine) => { const { ensureInteractivityPluginLoaded } = await import("@tsparticles/plugin-interactivity"); ensureInteractivityPluginLoaded(e); - e.addInteractor?.("externalPop", async container => { + e.pluginManager.addInteractor?.("externalPop", async container => { const { Popper } = await import("./Popper.js"); return new Popper(container); diff --git a/interactions/external/push/src/index.ts b/interactions/external/push/src/index.ts index 5f94a7e8d9b..15e5d01f2d4 100644 --- a/interactions/external/push/src/index.ts +++ b/interactions/external/push/src/index.ts @@ -9,12 +9,12 @@ declare const __VERSION__: string; export async function loadExternalPushInteraction(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(async (e: InteractivityEngine) => { + await engine.pluginManager.register(async (e: InteractivityEngine) => { const { ensureInteractivityPluginLoaded } = await import("@tsparticles/plugin-interactivity"); ensureInteractivityPluginLoaded(e); - e.addInteractor?.("externalPush", async container => { + e.pluginManager.addInteractor?.("externalPush", async container => { const { Pusher } = await import("./Pusher.js"); return new Pusher(container); diff --git a/interactions/external/remove/src/index.ts b/interactions/external/remove/src/index.ts index ffa03605868..381ee6588a1 100644 --- a/interactions/external/remove/src/index.ts +++ b/interactions/external/remove/src/index.ts @@ -9,12 +9,12 @@ declare const __VERSION__: string; export async function loadExternalRemoveInteraction(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(async (e: InteractivityEngine) => { + await engine.pluginManager.register(async (e: InteractivityEngine) => { const { ensureInteractivityPluginLoaded } = await import("@tsparticles/plugin-interactivity"); ensureInteractivityPluginLoaded(e); - e.addInteractor?.("externalRemove", async container => { + e.pluginManager.addInteractor?.("externalRemove", async container => { const { Remover } = await import("./Remover.js"); return new Remover(container); diff --git a/interactions/external/repulse/src/Repulser.ts b/interactions/external/repulse/src/Repulser.ts index e14bca2ebf1..4ad7db7a50b 100644 --- a/interactions/external/repulse/src/Repulser.ts +++ b/interactions/external/repulse/src/Repulser.ts @@ -1,8 +1,8 @@ import { type BaseRange, Circle, - type Engine, type ICoordinates, + type PluginManager, Rectangle, type RecursivePartial, Vector, @@ -46,14 +46,14 @@ export class Repulser extends ExternalInteractorBase { handleClickMode: (mode: string, interactivityData: IInteractivityData) => void; private readonly _clickVec: Vector; - private readonly _engine; private _maxDistance; private readonly _normVec: Vector; + private readonly _pluginManager; - constructor(engine: Engine, container: RepulseContainer) { + constructor(pluginManager: PluginManager, container: RepulseContainer) { super(container); - this._engine = engine; + this._pluginManager = pluginManager; this._maxDistance = 0; this._normVec = Vector.origin; this._clickVec = Vector.origin; @@ -276,7 +276,7 @@ export class Repulser extends ExternalInteractorBase { } const { easing, speed, factor, maxSpeed } = repulseOptions, - easingFunc = this._engine.getEasing(easing), + easingFunc = this._pluginManager.getEasing(easing), velocity = (divRepulse?.speed ?? speed) * factor; for (const particle of query) { @@ -332,306 +332,3 @@ export class Repulser extends ExternalInteractorBase { }); }; } - -/* import { - Circle, - type DivEvent, - DivType, - type Engine, - ExternalInteractorBase, - type ICoordinates, - type IDelta, - type IModes, - type Modes, - type Range, - Rectangle, - type RecursivePartial - Vector, - clamp, - divMode, - divModeExecute, - getDistances, - getEasing, - isDivModeEnabled, - isInArray, - mouseMoveEvent, -} from "@tsparticles/engine"; -import type { IRepulseMode, RepulseContainer, RepulseMode, RepulseParticle } from "./Types.js"; -import { Repulse } from "./Options/Classes/Repulse.js"; -import type { RepulseDiv } from "./Options/Classes/RepulseDiv.js"; - -/** - * Particle repulse manager - - * -export class Repulser extends ExternalInteractorBase { - handleClickMode: (mode: string) => void; - - private readonly _engine; - - constructor(engine: Engine, container: RepulseContainer) { - super(container); - - this._engine = engine; - - this.handleClickMode = (mode): void => { - const options = this.container.actualOptions, - repulse = options.interactivity.modes.repulse; - - if (!repulse || mode !== repulseMode) { - return; - } - }; - } - - clear(/*particle: RepulseParticle, delta: IDelta*): void { - // if (particle.repulse || !particle.normalPosition) { - // return; - // } - // - // const container = this.container, - // repulseOptions = container.actualOptions.interactivity.modes.repulse, - // repulseDistance = container.retina.repulseModeDistance; - // - // if (!repulseOptions || !repulseDistance) { - // return; - // } - // - // this.particleRepulse( - // particle, - // delta, - // true, - // particle.normalPosition, - // repulseOptions, - // repulseDistance, - // repulseOptions.speed - // ); - } - - doInteract(delta: IDelta, inverse = false): void { - const container = this.container, - options = container.actualOptions, - mouseMoveStatus = container.interactivity.status === mouseMoveEvent, - events = options.interactivity.events, - hoverEnabled = events.onHover.enable, - hoverMode = events.onHover.mode, - clickEnabled = events.onClick.enable, - clickMode = events.onClick.mode, - divs = events.onDiv; - - if (mouseMoveStatus && hoverEnabled && isInArray(repulseMode, hoverMode)) { - this.hoverRepulse(delta, inverse); - } else if (clickEnabled && isInArray(repulseMode, clickMode)) { - this.clickRepulse(delta, inverse); - } else { - divModeExecute(repulseMode, divs, (selector, div): void => - this.singleSelectorRepulse(delta, inverse, selector, div) - ); - } - } - - init(): void { - const container = this.container, - repulse = container.actualOptions.interactivity.modes.repulse; - - if (!repulse) { - return; - } - - container.retina.repulseModeDistance = repulse.distance * container.retina.pixelRatio; - } - - interact(delta: IDelta): void { - this.doInteract(delta); - } - - isEnabled(particle?: RepulseParticle): boolean { - const container = this.container, - options = container.actualOptions, - mouse = container.interactivity.mouse, - events = (particle?.interactivity ?? options.interactivity).events, - divs = events.onDiv, - divRepulse = isDivModeEnabled(repulseMode, divs); - - if ( - !(divRepulse || (events.onHover.enable && mouse.position) || (events.onClick.enable && mouse.clickPosition)) - ) { - return false; - } - - const hoverMode = events.onHover.mode, - clickMode = events.onClick.mode; - - return isInArray(repulseMode, hoverMode) || isInArray(repulseMode, clickMode) || divRepulse; - } - - loadModeOptions( - options: Modes & RepulseMode, - ...sources: RecursivePartial<(IModes & IRepulseMode) | undefined>[] - ): void { - if (!options.repulse) { - options.repulse = new Repulse(); - } - - for (const source of sources) { - options.repulse.load(source?.repulse); - } - } - - reset(particle: RepulseParticle): void { - particle.repulse = false; - } - - private clickRepulse(delta: IDelta, inverse: boolean): void { - const container = this.container, - repulse = container.actualOptions.interactivity.modes.repulse; - - if (!repulse) { - return; - } - - const repulseDistance = container.retina.repulseModeDistance; - - if (!repulseDistance || repulseDistance < 0) { - return; - } - - const repulseRadius = repulseDistance, - mouseClickPos = container.interactivity.mouse.clickPosition; - - if (mouseClickPos === undefined) { - return; - } - - this.processRepulse( - delta, - inverse, - mouseClickPos, - repulseRadius, - new Circle(mouseClickPos.x, mouseClickPos.y, repulseRadius) - ); - } - - private hoverRepulse(delta: IDelta, inverse: boolean): void { - const container = this.container, - mousePos = container.interactivity.mouse.position, - repulseRadius = container.retina.repulseModeDistance; - - if (!repulseRadius || repulseRadius < 0 || !mousePos) { - return; - } - - this.processRepulse(delta, inverse, mousePos, repulseRadius, new Circle(mousePos.x, mousePos.y, repulseRadius)); - } - - private particleRepulse( - particle: RepulseParticle, - delta: IDelta, - inverse: boolean, - position: ICoordinates, - repulseOptions: Repulse, - repulseRadius: number, - speed: number - ): void { - const { dx, dy, distance } = getDistances(particle.position, position), - velocity = speed * repulseOptions.factor * (inverse ? -1 : 1), - repulseFactor = clamp( - getEasing(repulseOptions.easing)(1 - distance / repulseRadius) * velocity, - inverse ? -repulseOptions.maxSpeed : 0, - inverse ? 0 : repulseOptions.maxSpeed - ), - normVec = Vector.create( - distance === 0 ? repulseFactor : (dx / distance) * repulseFactor, - distance === 0 ? repulseFactor : (dy / distance) * repulseFactor - ); - - if (!inverse) { - if (!particle.normalPosition) { - particle.normalPosition = particle.position.copy(); - } else { - particle.normalPosition.add(particle.velocity); - } - - particle.repulse = true; - } else { - if ( - particle.normalPosition && - particle.position.x - particle.normalPosition.x < 1 && - particle.position.y - particle.normalPosition.y < 1 - ) { - particle.normalPosition = undefined; - return; - } - } - - particle.position.addTo(normVec); - } - - private processRepulse( - delta: IDelta, - inverse: boolean, - position: ICoordinates, - repulseRadius: number, - area: Range, - divRepulse?: RepulseDiv - ): void { - const container = this.container, - query = container.particles.grid.query(area, (p) => this.isEnabled(p)) as RepulseParticle[], - repulseOptions = container.actualOptions.interactivity.modes.repulse; - - if (!repulseOptions) { - return; - } - - for (const particle of query) { - this.particleRepulse( - particle, - delta, - inverse, - position, - repulseOptions, - repulseRadius, - divRepulse?.speed ?? repulseOptions.speed - ); - } - } - - private singleSelectorRepulse(delta: IDelta, inverse: boolean, selector: string, div: DivEvent): void { - const container = this.container, - repulse = container.actualOptions.interactivity.modes.repulse; - - if (!repulse) { - return; - } - - const query = safeDocument().querySelectorAll(selector); - - if (!query.length) { - return; - } - - query.forEach((item) => { - const elem = item as HTMLElement, - pxRatio = container.retina.pixelRatio, - pos = { - x: (elem.offsetLeft + elem.offsetWidth / 2) * pxRatio, - y: (elem.offsetTop + elem.offsetHeight / 2) * pxRatio, - }, - repulseRadius = (elem.offsetWidth / 2) * pxRatio, - area = - div.type === DivType.circle - ? new Circle(pos.x, pos.y, repulseRadius) - : new Rectangle( - elem.offsetLeft * pxRatio, - elem.offsetTop * pxRatio, - elem.offsetWidth * pxRatio, - elem.offsetHeight * pxRatio - ), - divs = repulse.divs, - divRepulse = divMode(divs, elem); - - this.processRepulse(delta, inverse, pos, repulseRadius, area, divRepulse); - }); - } -} -*/ diff --git a/interactions/external/repulse/src/index.ts b/interactions/external/repulse/src/index.ts index 80670cf0714..fc0faff0191 100644 --- a/interactions/external/repulse/src/index.ts +++ b/interactions/external/repulse/src/index.ts @@ -9,15 +9,17 @@ declare const __VERSION__: string; export async function loadExternalRepulseInteraction(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(async (e: InteractivityEngine) => { + await engine.pluginManager.register(async (e: InteractivityEngine) => { const { ensureInteractivityPluginLoaded } = await import("@tsparticles/plugin-interactivity"); ensureInteractivityPluginLoaded(e); - e.addInteractor?.("externalRepulse", async container => { + const pluginManager = e.pluginManager; + + pluginManager.addInteractor?.("externalRepulse", async container => { const { Repulser } = await import("./Repulser.js"); - return new Repulser(engine, container); + return new Repulser(pluginManager, container); }); }); } diff --git a/interactions/external/slow/src/index.ts b/interactions/external/slow/src/index.ts index 31e55553626..4929649fb11 100644 --- a/interactions/external/slow/src/index.ts +++ b/interactions/external/slow/src/index.ts @@ -9,12 +9,12 @@ declare const __VERSION__: string; export async function loadExternalSlowInteraction(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(async (e: InteractivityEngine) => { + await engine.pluginManager.register(async (e: InteractivityEngine) => { const { ensureInteractivityPluginLoaded } = await import("@tsparticles/plugin-interactivity"); ensureInteractivityPluginLoaded(e); - e.addInteractor?.("externalSlow", async container => { + e.pluginManager.addInteractor?.("externalSlow", async container => { const { Slower } = await import("./Slower.js"); return new Slower(container); diff --git a/interactions/external/trail/src/TrailMaker.ts b/interactions/external/trail/src/TrailMaker.ts index 911aeecbc85..22c3d69bac3 100644 --- a/interactions/external/trail/src/TrailMaker.ts +++ b/interactions/external/trail/src/TrailMaker.ts @@ -20,8 +20,8 @@ import { ExternalInteractorBase, type IInteractivityData, type IModes, - type InteractivityEngine, type InteractivityParticle, + type InteractivityPluginManager, type Modes, } from "@tsparticles/plugin-interactivity"; import type { ITrailMode, TrailContainer, TrailMode } from "./Types.js"; @@ -36,12 +36,12 @@ export class TrailMaker extends ExternalInteractorBase { readonly maxDistance = 0; private _delay: number; - private readonly _engine; private _lastPosition?: ICoordinates; + private readonly _pluginManager; - constructor(engine: InteractivityEngine, container: TrailContainer) { + constructor(pluginManager: InteractivityPluginManager, container: TrailContainer) { super(container); - this._engine = engine; + this._pluginManager = pluginManager; this._delay = 0; } @@ -117,7 +117,7 @@ export class TrailMaker extends ExternalInteractorBase { // Safe conversion of the particle color option to HSL structure // This handles strings, RGB, and existing HSL objects correctly baseHsl = fillData - ? rangeColorToHsl(this._engine, AnimatableColor.create(undefined, fillData.color)) + ? rangeColorToHsl(this._pluginManager, AnimatableColor.create(undefined, fillData.color)) : undefined, h = calculateValue(colorCoords.h, baseHsl?.h, hMax), s = calculateValue(colorCoords.s, baseHsl?.s, sMax), diff --git a/interactions/external/trail/src/index.ts b/interactions/external/trail/src/index.ts index d09da3ecd09..7c16cab6bea 100644 --- a/interactions/external/trail/src/index.ts +++ b/interactions/external/trail/src/index.ts @@ -9,15 +9,15 @@ declare const __VERSION__: string; export async function loadExternalTrailInteraction(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(async (e: InteractivityEngine) => { + await engine.pluginManager.register(async (e: InteractivityEngine) => { const { ensureInteractivityPluginLoaded } = await import("@tsparticles/plugin-interactivity"); ensureInteractivityPluginLoaded(e); - e.addInteractor?.("externalTrail", async container => { + e.pluginManager.addInteractor?.("externalTrail", async container => { const { TrailMaker } = await import("./TrailMaker.js"); - return new TrailMaker(e, container); + return new TrailMaker(e.pluginManager, container); }); }); } diff --git a/interactions/light/src/ExternalLighter.ts b/interactions/light/src/ExternalLighter.ts index ed9c0b53e04..d6b3fbed87f 100644 --- a/interactions/light/src/ExternalLighter.ts +++ b/interactions/light/src/ExternalLighter.ts @@ -1,4 +1,3 @@ -import { type Engine, type RecursivePartial, isInArray, rangeColorToRgb } from "@tsparticles/engine"; import { ExternalInteractorBase, type IInteractivityData, @@ -6,17 +5,18 @@ import { type Modes, } from "@tsparticles/plugin-interactivity"; import type { ILightMode, LightContainer, LightMode, LightParticle } from "./Types.js"; +import { type PluginManager, type RecursivePartial, isInArray, rangeColorToRgb } from "@tsparticles/engine"; import { drawLight, lightMode } from "./Utils.js"; import { Light } from "./Options/Classes/Light.js"; export class ExternalLighter extends ExternalInteractorBase { readonly maxDistance = 0; - private readonly _engine; + private readonly _pluginManager; - constructor(container: LightContainer, engine: Engine) { + constructor(pluginManager: PluginManager, container: LightContainer) { super(container); - this._engine = engine; + this._pluginManager = pluginManager; } clear(): void { @@ -63,8 +63,8 @@ export class ExternalLighter extends ExternalInteractorBase { const lightGradient = interactivity.modes.light.area.gradient; container.canvas.mouseLight = { - start: rangeColorToRgb(this._engine, lightGradient.start), - stop: rangeColorToRgb(this._engine, lightGradient.stop), + start: rangeColorToRgb(this._pluginManager, lightGradient.start), + stop: rangeColorToRgb(this._pluginManager, lightGradient.stop), }; } diff --git a/interactions/light/src/ParticlesLighter.ts b/interactions/light/src/ParticlesLighter.ts index 0db1c1977c4..17e4dba11fd 100644 --- a/interactions/light/src/ParticlesLighter.ts +++ b/interactions/light/src/ParticlesLighter.ts @@ -1,17 +1,17 @@ -import { type Engine, isInArray, rangeColorToRgb } from "@tsparticles/engine"; import { type IInteractivityData, ParticlesInteractorBase } from "@tsparticles/plugin-interactivity"; import type { LightContainer, LightParticle } from "./Types.js"; +import { type PluginManager, isInArray, rangeColorToRgb } from "@tsparticles/engine"; import { drawParticleShadow, lightMode } from "./Utils.js"; export class ParticlesLighter extends ParticlesInteractorBase { readonly maxDistance; - private readonly _engine; + private readonly _pluginManager; - constructor(container: LightContainer, engine: Engine) { + constructor(pluginManager: PluginManager, container: LightContainer) { super(container); - this._engine = engine; + this._pluginManager = pluginManager; this.maxDistance = 0; } @@ -56,7 +56,7 @@ export class ParticlesLighter extends ParticlesInteractorBase { if (res && interactivity.modes.light) { const shadowOptions = interactivity.modes.light.shadow; - particle.lightShadow = rangeColorToRgb(this._engine, shadowOptions.color); + particle.lightShadow = rangeColorToRgb(this._pluginManager, shadowOptions.color); } return res; diff --git a/interactions/light/src/index.ts b/interactions/light/src/index.ts index 7fa1b9c7cd7..9295c4fb35d 100644 --- a/interactions/light/src/index.ts +++ b/interactions/light/src/index.ts @@ -9,20 +9,20 @@ declare const __VERSION__: string; export async function loadLightInteraction(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(async (e: InteractivityEngine) => { + await engine.pluginManager.register(async (e: InteractivityEngine) => { const { ensureInteractivityPluginLoaded } = await import("@tsparticles/plugin-interactivity"); ensureInteractivityPluginLoaded(e); - e.addInteractor?.("externalLight", async container => { + e.pluginManager.addInteractor?.("externalLight", async container => { const { ExternalLighter } = await import("./ExternalLighter.js"); - return new ExternalLighter(container, engine); + return new ExternalLighter(e.pluginManager, container); }); - e.addInteractor?.("particlesLight", async container => { + e.pluginManager.addInteractor?.("particlesLight", async container => { const { ParticlesLighter } = await import("./ParticlesLighter.js"); - return new ParticlesLighter(container, engine); + return new ParticlesLighter(e.pluginManager, container); }); }); } diff --git a/interactions/particles/attract/src/index.ts b/interactions/particles/attract/src/index.ts index 0a3afce5fb6..ed6731394d7 100644 --- a/interactions/particles/attract/src/index.ts +++ b/interactions/particles/attract/src/index.ts @@ -9,12 +9,12 @@ declare const __VERSION__: string; export async function loadParticlesAttractInteraction(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(async (e: InteractivityEngine) => { + await engine.pluginManager.register(async (e: InteractivityEngine) => { const { ensureInteractivityPluginLoaded } = await import("@tsparticles/plugin-interactivity"); ensureInteractivityPluginLoaded(e); - e.addInteractor?.("particlesAttract", async container => { + e.pluginManager.addInteractor?.("particlesAttract", async container => { const { Attractor } = await import("./Attractor.js"); return new Attractor(container); diff --git a/interactions/particles/collisions/src/index.ts b/interactions/particles/collisions/src/index.ts index 317f0abbf4d..a37e5d3af1c 100644 --- a/interactions/particles/collisions/src/index.ts +++ b/interactions/particles/collisions/src/index.ts @@ -9,7 +9,7 @@ declare const __VERSION__: string; export async function loadParticlesCollisionsInteraction(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(async (e: InteractivityEngine) => { + await engine.pluginManager.register(async (e: InteractivityEngine) => { const [ { ensureInteractivityPluginLoaded }, { OverlapPlugin }, @@ -20,9 +20,9 @@ export async function loadParticlesCollisionsInteraction(engine: Engine): Promis ensureInteractivityPluginLoaded(e); - e.addPlugin(new OverlapPlugin()); + e.pluginManager.addPlugin(new OverlapPlugin()); - e.addInteractor?.("particlesCollisions", async container => { + e.pluginManager.addInteractor?.("particlesCollisions", async container => { const { Collider } = await import("./Collider.js"); return new Collider(container); diff --git a/interactions/particles/links/src/LinkInstance.ts b/interactions/particles/links/src/LinkInstance.ts index 97d892a43ae..2eab5041a7b 100644 --- a/interactions/particles/links/src/LinkInstance.ts +++ b/interactions/particles/links/src/LinkInstance.ts @@ -1,7 +1,7 @@ import { - type Engine, type IContainerPlugin, type IRgb, + type PluginManager, getLinkColor as engineGetLinkColor, getRandom, getRangeValue, @@ -23,12 +23,12 @@ const minOpacity = 0, export class LinkInstance implements IContainerPlugin { private readonly _colorCache = new Map(); private readonly _container: LinkContainer; - private readonly _engine: Engine; private readonly _freqs: IParticlesFrequencies; + private readonly _pluginManager: PluginManager; - constructor(container: LinkContainer, engine: Engine) { + constructor(pluginManager: PluginManager, container: LinkContainer) { + this._pluginManager = pluginManager; this._container = container; - this._engine = engine; this._freqs = { links: new Map(), triangles: new Map() }; } @@ -86,7 +86,9 @@ export class LinkInstance implements IContainerPlugin { colorLine = link.color; const twinkleRgb = - twinkle?.enable && getRandom() < twinkle.frequency ? rangeColorToRgb(this._engine, twinkle.color) : undefined; + twinkle?.enable && getRandom() < twinkle.frequency + ? rangeColorToRgb(this._pluginManager, twinkle.color) + : undefined; if (twinkle && twinkleRgb) { colorLine = twinkleRgb; @@ -220,7 +222,7 @@ export class LinkInstance implements IContainerPlugin { } const opacityTriangle = triangleOptions.opacity ?? (link.opacity + vertex.opacity) * half, - colorTriangle = rangeColorToRgb(this._engine, triangleOptions.color) ?? link.color; + colorTriangle = rangeColorToRgb(this._pluginManager, triangleOptions.color) ?? link.color; if (!colorTriangle || opacityTriangle <= minOpacity) { continue; diff --git a/interactions/particles/links/src/Linker.ts b/interactions/particles/links/src/Linker.ts index 0b97b535bde..efa160ccd39 100644 --- a/interactions/particles/links/src/Linker.ts +++ b/interactions/particles/links/src/Linker.ts @@ -1,9 +1,9 @@ import { Circle, - type Engine, type ICoordinates, type IDimension, type IRgb, + type PluginManager, type RecursivePartial, getDistances, getLinkColor, @@ -38,13 +38,13 @@ function getWarpDistance(pos1: ICoordinates, pos2: ICoordinates, canvasSize: IDi } export class Linker extends ParticlesInteractorBase { - private readonly _engine; private _maxDistance; + private readonly _pluginManager; - constructor(container: LinkContainer, engine: Engine) { + constructor(pluginManager: PluginManager, container: LinkContainer) { super(container); - this._engine = engine; + this._pluginManager = pluginManager; this._maxDistance = 0; } @@ -183,7 +183,7 @@ export class Linker extends ParticlesInteractorBase return; } - linkColor = getLinkRandomColor(this._engine, linksOptions.color, linksOptions.blink, linksOptions.consent); + linkColor = getLinkRandomColor(this._pluginManager, linksOptions.color, linksOptions.blink, linksOptions.consent); if (linksOptions.id === undefined) { container.particles.linksColor = linkColor; diff --git a/interactions/particles/links/src/LinksPlugin.ts b/interactions/particles/links/src/LinksPlugin.ts index 427f1d8afaa..aa803d51681 100644 --- a/interactions/particles/links/src/LinksPlugin.ts +++ b/interactions/particles/links/src/LinksPlugin.ts @@ -1,19 +1,19 @@ -import { type Engine, type IPlugin } from "@tsparticles/engine"; +import { type IPlugin, type PluginManager } from "@tsparticles/engine"; import type { LinkContainer } from "./Types.js"; import type { LinkInstance } from "./LinkInstance.js"; export class LinksPlugin implements IPlugin { readonly id = "links"; - private readonly _engine; + private readonly _pluginManager; - constructor(engine: Engine) { - this._engine = engine; + constructor(pluginManager: PluginManager) { + this._pluginManager = pluginManager; } async getPlugin(container: LinkContainer): Promise { const { LinkInstance } = await import("./LinkInstance.js"); - return new LinkInstance(container, this._engine); + return new LinkInstance(this._pluginManager, container); } loadOptions(): void { diff --git a/interactions/particles/links/src/index.ts b/interactions/particles/links/src/index.ts index 487c8e3b1e7..cd2a70919e3 100644 --- a/interactions/particles/links/src/index.ts +++ b/interactions/particles/links/src/index.ts @@ -10,23 +10,24 @@ declare const __VERSION__: string; export async function loadParticlesLinksInteraction(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(async (e: InteractivityEngine) => { - const [ - { ensureInteractivityPluginLoaded }, - { LinksPlugin }, - ] = await Promise.all([ - import("@tsparticles/plugin-interactivity"), - import("./LinksPlugin.js"), - ]); + await engine.pluginManager.register(async (e: InteractivityEngine) => { + const pluginManager = e.pluginManager, + [ + { ensureInteractivityPluginLoaded }, + { LinksPlugin }, + ] = await Promise.all([ + import("@tsparticles/plugin-interactivity"), + import("./LinksPlugin.js"), + ]); ensureInteractivityPluginLoaded(e); - e.addPlugin(new LinksPlugin(e)); + pluginManager.addPlugin(new LinksPlugin(pluginManager)); - e.addInteractor?.("particlesLinks", async container => { + pluginManager.addInteractor?.("particlesLinks", async container => { const { Linker } = await import("./Linker.js"); - return new Linker(container as LinkContainer, e); + return new Linker(pluginManager, container as LinkContainer); }); }); } diff --git a/interactions/particles/repulse/src/index.ts b/interactions/particles/repulse/src/index.ts index 55b9e71c12a..4fdc06ab22d 100644 --- a/interactions/particles/repulse/src/index.ts +++ b/interactions/particles/repulse/src/index.ts @@ -9,12 +9,12 @@ declare const __VERSION__: string; export async function loadParticlesRepulseInteraction(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(async (e: InteractivityEngine) => { + await engine.pluginManager.register(async (e: InteractivityEngine) => { const { ensureInteractivityPluginLoaded } = await import("@tsparticles/plugin-interactivity"); ensureInteractivityPluginLoaded(e); - e.addInteractor?.("particlesRepulse", async container => { + e.pluginManager.addInteractor?.("particlesRepulse", async container => { const { Repulser } = await import("./Repulser.js"); return new Repulser(container); diff --git a/paths/branches/src/index.ts b/paths/branches/src/index.ts index c456ed06bd8..7294e1d3e6e 100644 --- a/paths/branches/src/index.ts +++ b/paths/branches/src/index.ts @@ -11,12 +11,12 @@ export const branchingPathName = "branchesPathGenerator"; export async function loadBranchesPath(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(async (e: MoveEngine) => { + await engine.pluginManager.register(async (e: MoveEngine) => { const { ensureBaseMoverLoaded } = await import("@tsparticles/plugin-move"); ensureBaseMoverLoaded(e); - e.addPathGenerator?.(branchingPathName, async container => { + e.pluginManager.addPathGenerator?.(branchingPathName, async container => { const { BranchesPathGenerator } = await import("./BranchesPathGenerator.js"); return new BranchesPathGenerator(container); diff --git a/paths/brownian/src/index.ts b/paths/brownian/src/index.ts index 38f3f925b2a..a886127eb41 100644 --- a/paths/brownian/src/index.ts +++ b/paths/brownian/src/index.ts @@ -11,12 +11,12 @@ export const brownianPathName = "brownianPathGenerator"; export async function loadBrownianPath(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(async (e: MoveEngine) => { + await engine.pluginManager.register(async (e: MoveEngine) => { const { ensureBaseMoverLoaded } = await import("@tsparticles/plugin-move"); ensureBaseMoverLoaded(e); - e.addPathGenerator?.(brownianPathName, async container => { + e.pluginManager.addPathGenerator?.(brownianPathName, async container => { const { BrownianPathGenerator } = await import("./BrownianPathGenerator.js"); return new BrownianPathGenerator(container); diff --git a/paths/curlNoise/src/index.ts b/paths/curlNoise/src/index.ts index 117f114407f..7d97377396f 100644 --- a/paths/curlNoise/src/index.ts +++ b/paths/curlNoise/src/index.ts @@ -11,12 +11,12 @@ export const curlNoisePathName = "curlNoise"; export async function loadCurlNoisePath(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(async (e: MoveEngine) => { + await engine.pluginManager.register(async (e: MoveEngine) => { const { ensureBaseMoverLoaded } = await import("@tsparticles/plugin-move"); ensureBaseMoverLoaded(e); - e.addPathGenerator?.(curlNoisePathName, async container => { + e.pluginManager.addPathGenerator?.(curlNoisePathName, async container => { const { CurlNoiseGenerator } = await import("./CurlNoiseGenerator.js"); return new CurlNoiseGenerator(container); diff --git a/paths/curves/src/index.ts b/paths/curves/src/index.ts index 5715bace24f..66887ff6cba 100644 --- a/paths/curves/src/index.ts +++ b/paths/curves/src/index.ts @@ -11,12 +11,12 @@ export const curvesPathName = "curvesPathGenerator"; export async function loadCurvesPath(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(async (e: MoveEngine) => { + await engine.pluginManager.register(async (e: MoveEngine) => { const { ensureBaseMoverLoaded } = await import("@tsparticles/plugin-move"); ensureBaseMoverLoaded(e); - e.addPathGenerator?.(curvesPathName, async container => { + e.pluginManager.addPathGenerator?.(curvesPathName, async container => { const { CurvesPathGenerator } = await import("./CurvesPathGenerator.js"); return new CurvesPathGenerator(container); diff --git a/paths/fractalNoise/src/index.ts b/paths/fractalNoise/src/index.ts index 455cc25e81d..e6be4f7582b 100644 --- a/paths/fractalNoise/src/index.ts +++ b/paths/fractalNoise/src/index.ts @@ -11,12 +11,12 @@ export const fractalNoisePathName = "fractalNoise"; export async function loadFractalNoisePath(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(async (e: MoveEngine) => { + await engine.pluginManager.register(async (e: MoveEngine) => { const { ensureBaseMoverLoaded } = await import("@tsparticles/plugin-move"); ensureBaseMoverLoaded(e); - e.addPathGenerator?.(fractalNoisePathName, async container => { + e.pluginManager.addPathGenerator?.(fractalNoisePathName, async container => { const { FractalNoiseGenerator } = await import("./FractalNoiseGenerator.js"); return new FractalNoiseGenerator(container); diff --git a/paths/grid/src/index.ts b/paths/grid/src/index.ts index 6aa2a491480..3f396a97779 100644 --- a/paths/grid/src/index.ts +++ b/paths/grid/src/index.ts @@ -11,12 +11,12 @@ export const gridPathName = "gridPathGenerator"; export async function loadGridPath(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(async (e: MoveEngine) => { + await engine.pluginManager.register(async (e: MoveEngine) => { const { ensureBaseMoverLoaded } = await import("@tsparticles/plugin-move"); ensureBaseMoverLoaded(e); - e.addPathGenerator?.(gridPathName, async container => { + e.pluginManager.addPathGenerator?.(gridPathName, async container => { const { GridPathGenerator } = await import("./GridPathGenerator.js"); return new GridPathGenerator(container); diff --git a/paths/levy/src/index.ts b/paths/levy/src/index.ts index f84029085a1..24dc5d1f7f8 100644 --- a/paths/levy/src/index.ts +++ b/paths/levy/src/index.ts @@ -11,12 +11,12 @@ export const levyPathName = "levyPathGenerator"; export async function loadLevyPath(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(async (e: MoveEngine) => { + await engine.pluginManager.register(async (e: MoveEngine) => { const { ensureBaseMoverLoaded } = await import("@tsparticles/plugin-move"); ensureBaseMoverLoaded(e); - e.addPathGenerator?.(levyPathName, async container => { + e.pluginManager.addPathGenerator?.(levyPathName, async container => { const { LevyPathGenerator } = await import("./LevyPathGenerator.js"); return new LevyPathGenerator(container); diff --git a/paths/perlinNoise/src/index.ts b/paths/perlinNoise/src/index.ts index 945b4c76965..7e638f500af 100644 --- a/paths/perlinNoise/src/index.ts +++ b/paths/perlinNoise/src/index.ts @@ -11,12 +11,12 @@ export const perlinNoisePathName = "perlinNoise"; export async function loadPerlinNoisePath(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(async (e: MoveEngine) => { + await engine.pluginManager.register(async (e: MoveEngine) => { const { ensureBaseMoverLoaded } = await import("@tsparticles/plugin-move"); ensureBaseMoverLoaded(e); - e.addPathGenerator?.(perlinNoisePathName, async container => { + e.pluginManager.addPathGenerator?.(perlinNoisePathName, async container => { const { PerlinNoiseGenerator } = await import("./PerlinNoiseGenerator.js"); return new PerlinNoiseGenerator(container); diff --git a/paths/polygon/src/index.ts b/paths/polygon/src/index.ts index 0e5ab3ed7fd..c54842fa7b4 100644 --- a/paths/polygon/src/index.ts +++ b/paths/polygon/src/index.ts @@ -11,12 +11,12 @@ export const polygonPathName = "polygonPathGenerator"; export async function loadPolygonPath(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(async (e: MoveEngine) => { + await engine.pluginManager.register(async (e: MoveEngine) => { const { ensureBaseMoverLoaded } = await import("@tsparticles/plugin-move"); ensureBaseMoverLoaded(e); - e.addPathGenerator?.(polygonPathName, async container => { + e.pluginManager.addPathGenerator?.(polygonPathName, async container => { const { PolygonPathGenerator } = await import("./PolygonPathGenerator.js"); return new PolygonPathGenerator(container); diff --git a/paths/random/src/index.ts b/paths/random/src/index.ts index 4977eb866e4..e6e242a0357 100644 --- a/paths/random/src/index.ts +++ b/paths/random/src/index.ts @@ -11,12 +11,12 @@ export const randomPathName = "randomPathGenerator"; export async function loadRandomPath(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(async (e: MoveEngine) => { + await engine.pluginManager.register(async (e: MoveEngine) => { const { ensureBaseMoverLoaded } = await import("@tsparticles/plugin-move"); ensureBaseMoverLoaded(e); - e.addPathGenerator?.(randomPathName, async () => { + e.pluginManager.addPathGenerator?.(randomPathName, async () => { const { RandomPathGenerator } = await import("./RandomPathGenerator.js"); return new RandomPathGenerator(); diff --git a/paths/simplexNoise/src/index.ts b/paths/simplexNoise/src/index.ts index e5f8f94f499..4f5a52f7aea 100644 --- a/paths/simplexNoise/src/index.ts +++ b/paths/simplexNoise/src/index.ts @@ -11,12 +11,12 @@ export const simplexNoisePathName = "simplexNoise"; export async function loadSimplexNoisePath(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(async (e: MoveEngine) => { + await engine.pluginManager.register(async (e: MoveEngine) => { const { ensureBaseMoverLoaded } = await import("@tsparticles/plugin-move"); ensureBaseMoverLoaded(e); - e.addPathGenerator?.(simplexNoisePathName, async container => { + e.pluginManager.addPathGenerator?.(simplexNoisePathName, async container => { const { SimplexNoiseGenerator } = await import("./SimplexNoiseGenerator.js"); return new SimplexNoiseGenerator(container); diff --git a/paths/spiral/src/index.ts b/paths/spiral/src/index.ts index a414e34cbe8..36ee53bdf7f 100644 --- a/paths/spiral/src/index.ts +++ b/paths/spiral/src/index.ts @@ -11,12 +11,12 @@ export const spiralPathName = "spiralPathGenerator"; export async function loadSpiralPath(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(async (e: MoveEngine) => { + await engine.pluginManager.register(async (e: MoveEngine) => { const { ensureBaseMoverLoaded } = await import("@tsparticles/plugin-move"); ensureBaseMoverLoaded(e); - e.addPathGenerator?.(spiralPathName, async container => { + e.pluginManager.addPathGenerator?.(spiralPathName, async container => { const { SpiralPathGenerator } = await import("./SpiralPathGenerator.js"); return new SpiralPathGenerator(container); diff --git a/paths/svg/src/index.ts b/paths/svg/src/index.ts index 9387d8cfa4d..5f3ba5157f0 100644 --- a/paths/svg/src/index.ts +++ b/paths/svg/src/index.ts @@ -11,12 +11,12 @@ export const svgPathName = "svgPathGenerator"; export async function loadSVGPath(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(async (e: MoveEngine) => { + await engine.pluginManager.register(async (e: MoveEngine) => { const { ensureBaseMoverLoaded } = await import("@tsparticles/plugin-move"); ensureBaseMoverLoaded(e); - e.addPathGenerator?.(svgPathName, async container => { + e.pluginManager.addPathGenerator?.(svgPathName, async container => { const { SVGPathGenerator } = await import("./SVGPathGenerator.js"); return new SVGPathGenerator(container); diff --git a/paths/zigzag/src/index.ts b/paths/zigzag/src/index.ts index 9b3325a4795..9840d55d553 100644 --- a/paths/zigzag/src/index.ts +++ b/paths/zigzag/src/index.ts @@ -11,12 +11,12 @@ export const zigZagPathName = "zigZagPathGenerator"; export async function loadZigZagPath(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(async (e: MoveEngine) => { + await engine.pluginManager.register(async (e: MoveEngine) => { const { ensureBaseMoverLoaded } = await import("@tsparticles/plugin-move"); ensureBaseMoverLoaded(e); - e.addPathGenerator?.(zigZagPathName, async container => { + e.pluginManager.addPathGenerator?.(zigZagPathName, async container => { const { ZigZagPathGenerator } = await import("./ZigZagPathGenerator.js"); return new ZigZagPathGenerator(container); diff --git a/plugins/absorbers/src/AbsorberInstance.ts b/plugins/absorbers/src/AbsorberInstance.ts index 9ff24230a67..6c4c29026f9 100644 --- a/plugins/absorbers/src/AbsorberInstance.ts +++ b/plugins/absorbers/src/AbsorberInstance.ts @@ -1,10 +1,10 @@ import { type Container, - type Engine, type ICoordinates, type IDelta, type IRgb, type Particle, + type PluginManager, type RecursivePartial, RotateDirection, Vector, @@ -111,23 +111,28 @@ export class AbsorberInstance { private _currentDuration; private _currentSpawnDelay; private _duration?: number; - private readonly _engine; private _firstSpawn; private readonly _immortal; private _lifeCount; + private readonly _pluginManager; private _spawnDelay?: number; private readonly initialPosition?: Vector; /** * The absorber constructor, initializes the absorber based on the given options and position - * @param engine - the Engine instance that will be used for calculating the Absorber interactions + * @param pluginManager - the plugin manager * @param container - the Container engine using the absorber plugin, containing the particles that will interact with this Absorber * @param options - the Absorber source options * @param position - the Absorber optional position, if not given, it will be searched in options, and if not available also there, a random one will be used */ - constructor(engine: Engine, container: Container, options: RecursivePartial, position?: ICoordinates) { + constructor( + pluginManager: PluginManager, + container: Container, + options: RecursivePartial, + position?: ICoordinates, + ) { this._container = container; - this._engine = engine; + this._pluginManager = pluginManager; this._currentDuration = 0; this._currentSpawnDelay = 0; @@ -153,7 +158,7 @@ export class AbsorberInstance { mass: limit.mass, }; - this.color = rangeColorToRgb(this._engine, this.options.color) ?? { + this.color = rangeColorToRgb(this._pluginManager, this.options.color) ?? { b: 0, g: 0, r: 0, diff --git a/plugins/absorbers/src/AbsorbersInstancesManager.ts b/plugins/absorbers/src/AbsorbersInstancesManager.ts index dbaaaaf5d61..6ddf7ddb490 100644 --- a/plugins/absorbers/src/AbsorbersInstancesManager.ts +++ b/plugins/absorbers/src/AbsorbersInstancesManager.ts @@ -1,4 +1,4 @@ -import { type Engine, type ICoordinates, type RecursivePartial, isNumber } from "@tsparticles/engine"; +import { type ICoordinates, type PluginManager, type RecursivePartial, isNumber } from "@tsparticles/engine"; import type { AbsorberContainer } from "./AbsorberContainer.js"; import type { AbsorberInstance } from "./AbsorberInstance.js"; import type { IAbsorber } from "./Options/Interfaces/IAbsorber.js"; @@ -7,11 +7,11 @@ const defaultIndex = 0; export class AbsorbersInstancesManager { private readonly _containerArrays; - private readonly _engine; + private readonly _pluginManager; - constructor(engine: Engine) { + constructor(pluginManager: PluginManager) { + this._pluginManager = pluginManager; this._containerArrays = new Map(); - this._engine = engine; } async addAbsorber( @@ -20,7 +20,7 @@ export class AbsorbersInstancesManager { position?: ICoordinates, ): Promise { const { AbsorberInstance } = await import("./AbsorberInstance.js"), - absorber = new AbsorberInstance(this._engine, container, options, position), + absorber = new AbsorberInstance(this._pluginManager, container, options, position), array = this.getArray(container); array.push(absorber); diff --git a/plugins/absorbers/src/index.ts b/plugins/absorbers/src/index.ts index a22b491a644..7c2db79dbb9 100644 --- a/plugins/absorbers/src/index.ts +++ b/plugins/absorbers/src/index.ts @@ -10,7 +10,7 @@ declare const __VERSION__: string; export async function loadAbsorbersPlugin(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(async (e: InteractivityEngine) => { + await engine.pluginManager.register(async (e: InteractivityEngine) => { const [ { ensureInteractivityPluginLoaded }, { AbsorbersInstancesManager }, @@ -20,13 +20,14 @@ export async function loadAbsorbersPlugin(engine: Engine): Promise { import("./AbsorbersInstancesManager.js"), import("./AbsorbersPlugin.js"), ]), - instancesManager = new AbsorbersInstancesManager(e); + pluginManager = e.pluginManager, + instancesManager = new AbsorbersInstancesManager(pluginManager); ensureInteractivityPluginLoaded(e); - e.addPlugin(new AbsorbersPlugin(instancesManager)); + pluginManager.addPlugin(new AbsorbersPlugin(instancesManager)); - e.addInteractor?.("externalAbsorbers", async container => { + pluginManager.addInteractor?.("externalAbsorbers", async container => { const { AbsorbersInteractor } = await import("./AbsorbersInteractor.js"); return new AbsorbersInteractor(container as AbsorberContainer, instancesManager); diff --git a/plugins/backgroundMask/src/BackgroundMaskPlugin.ts b/plugins/backgroundMask/src/BackgroundMaskPlugin.ts index a6c853a2b94..a8d80671ab7 100644 --- a/plugins/backgroundMask/src/BackgroundMaskPlugin.ts +++ b/plugins/backgroundMask/src/BackgroundMaskPlugin.ts @@ -1,5 +1,5 @@ import type { BackgroundMaskOptions, IBackgroundMaskOptions } from "./types.js"; -import type { Container, Engine, IContainerPlugin, IPlugin, RecursivePartial } from "@tsparticles/engine"; +import type { Container, IContainerPlugin, IPlugin, PluginManager, RecursivePartial } from "@tsparticles/engine"; import { BackgroundMask } from "./Options/Classes/BackgroundMask.js"; /** @@ -7,16 +7,16 @@ import { BackgroundMask } from "./Options/Classes/BackgroundMask.js"; export class BackgroundMaskPlugin implements IPlugin { readonly id = "background-mask"; - private readonly _engine; + private readonly _pluginManager; - constructor(engine: Engine) { - this._engine = engine; + constructor(pluginManager: PluginManager) { + this._pluginManager = pluginManager; } async getPlugin(container: Container): Promise { const { BackgroundMaskPluginInstance } = await import("./BackgroundMaskPluginInstance.js"); - return new BackgroundMaskPluginInstance(container, this._engine); + return new BackgroundMaskPluginInstance(this._pluginManager, container); } loadOptions( diff --git a/plugins/backgroundMask/src/BackgroundMaskPluginInstance.ts b/plugins/backgroundMask/src/BackgroundMaskPluginInstance.ts index a3a4a30ef1b..644c61a85c3 100644 --- a/plugins/backgroundMask/src/BackgroundMaskPluginInstance.ts +++ b/plugins/backgroundMask/src/BackgroundMaskPluginInstance.ts @@ -1,6 +1,6 @@ import { - type Engine, type IContainerPlugin, + type PluginManager, getStyleFromRgb, rangeColorToRgb, safeDocument, @@ -12,11 +12,11 @@ export class BackgroundMaskPluginInstance implements IContainerPlugin { private _coverColorStyle?: string; private _coverImage?: { image: HTMLImageElement; opacity: number }; private _defaultCompositeValue?: GlobalCompositeOperation; - private readonly _engine; + private readonly _pluginManager; - constructor(container: BackgroundMaskContainer, engine: Engine) { + constructor(pluginManager: PluginManager, container: BackgroundMaskContainer) { + this._pluginManager = pluginManager; this._container = container; - this._engine = engine; } canvasClear(): boolean { @@ -74,7 +74,7 @@ export class BackgroundMaskPluginInstance implements IContainerPlugin { color = cover?.color; if (color) { - const coverRgb = rangeColorToRgb(this._engine, color); + const coverRgb = rangeColorToRgb(this._pluginManager, color); if (coverRgb) { const coverColor = { diff --git a/plugins/backgroundMask/src/index.ts b/plugins/backgroundMask/src/index.ts index e64aa338a32..715b9228620 100644 --- a/plugins/backgroundMask/src/index.ts +++ b/plugins/backgroundMask/src/index.ts @@ -8,9 +8,9 @@ declare const __VERSION__: string; export async function loadBackgroundMaskPlugin(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(async e => { + await engine.pluginManager.register(async e => { const { BackgroundMaskPlugin } = await import("./BackgroundMaskPlugin.js"); - e.addPlugin(new BackgroundMaskPlugin(e)); + e.pluginManager.addPlugin(new BackgroundMaskPlugin(e.pluginManager)); }); } diff --git a/plugins/blend/src/index.ts b/plugins/blend/src/index.ts index 64c4935a5dd..28e66e24d49 100644 --- a/plugins/blend/src/index.ts +++ b/plugins/blend/src/index.ts @@ -8,9 +8,9 @@ declare const __VERSION__: string; export async function loadBlendPlugin(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(async e => { + await engine.pluginManager.register(async e => { const { BlendPlugin } = await import("./BlendPlugin.js"); - e.addPlugin(new BlendPlugin()); + e.pluginManager.addPlugin(new BlendPlugin()); }); } diff --git a/plugins/canvasMask/src/index.ts b/plugins/canvasMask/src/index.ts index 05bc8045307..b6b19c30a97 100644 --- a/plugins/canvasMask/src/index.ts +++ b/plugins/canvasMask/src/index.ts @@ -8,9 +8,9 @@ declare const __VERSION__: string; export async function loadCanvasMaskPlugin(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(async e => { + await engine.pluginManager.register(async e => { const { CanvasMaskPlugin } = await import("./CanvasMaskPlugin.js"); - e.addPlugin(new CanvasMaskPlugin()); + e.pluginManager.addPlugin(new CanvasMaskPlugin()); }); } diff --git a/plugins/colors/hex/src/index.ts b/plugins/colors/hex/src/index.ts index d1a4d25c820..e25b525ab6c 100644 --- a/plugins/colors/hex/src/index.ts +++ b/plugins/colors/hex/src/index.ts @@ -9,9 +9,9 @@ declare const __VERSION__: string; export async function loadHexColorPlugin(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(async e => { + await engine.pluginManager.register(async e => { const { HexColorManager } = await import("./HexColorManager.js"); - e.addColorManager("hex", new HexColorManager()); + e.pluginManager.addColorManager("hex", new HexColorManager()); }); } diff --git a/plugins/colors/hsl/src/index.ts b/plugins/colors/hsl/src/index.ts index 0edd1605f81..73e4c4ef6e1 100644 --- a/plugins/colors/hsl/src/index.ts +++ b/plugins/colors/hsl/src/index.ts @@ -9,9 +9,9 @@ declare const __VERSION__: string; export async function loadHslColorPlugin(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(async e => { + await engine.pluginManager.register(async e => { const { HslColorManager } = await import("./HslColorManager.js"); - e.addColorManager("hsl", new HslColorManager()); + e.pluginManager.addColorManager("hsl", new HslColorManager()); }); } diff --git a/plugins/colors/hsv/src/index.ts b/plugins/colors/hsv/src/index.ts index bb5287df0fa..642f29b771a 100644 --- a/plugins/colors/hsv/src/index.ts +++ b/plugins/colors/hsv/src/index.ts @@ -9,9 +9,9 @@ declare const __VERSION__: string; export async function loadHsvColorPlugin(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(async e => { + await engine.pluginManager.register(async e => { const { HsvColorManager } = await import("./HsvColorManager.js"); - e.addColorManager("hsv", new HsvColorManager()); + e.pluginManager.addColorManager("hsv", new HsvColorManager()); }); } diff --git a/plugins/colors/hwb/src/index.ts b/plugins/colors/hwb/src/index.ts index 5e60519a54d..ad2a02a545a 100644 --- a/plugins/colors/hwb/src/index.ts +++ b/plugins/colors/hwb/src/index.ts @@ -9,9 +9,9 @@ declare const __VERSION__: string; export async function loadHwbColorPlugin(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(async e => { + await engine.pluginManager.register(async e => { const { HwbColorManager } = await import("./HwbColorManager.js"); - e.addColorManager("hwb", new HwbColorManager()); + e.pluginManager.addColorManager("hwb", new HwbColorManager()); }); } diff --git a/plugins/colors/lab/src/index.ts b/plugins/colors/lab/src/index.ts index 9eccef13598..c5f4a50272a 100644 --- a/plugins/colors/lab/src/index.ts +++ b/plugins/colors/lab/src/index.ts @@ -9,9 +9,9 @@ declare const __VERSION__: string; export async function loadLabColorPlugin(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(async e => { + await engine.pluginManager.register(async e => { const { LabColorManager } = await import("./LabColorManager.js"); - e.addColorManager("lab", new LabColorManager()); + e.pluginManager.addColorManager("lab", new LabColorManager()); }); } diff --git a/plugins/colors/lch/src/index.ts b/plugins/colors/lch/src/index.ts index f71fd4715e2..08340412d87 100644 --- a/plugins/colors/lch/src/index.ts +++ b/plugins/colors/lch/src/index.ts @@ -9,9 +9,9 @@ declare const __VERSION__: string; export async function loadLchColorPlugin(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(async e => { + await engine.pluginManager.register(async e => { const { LchColorManager } = await import("./LchColorManager.js"); - e.addColorManager("lch", new LchColorManager()); + e.pluginManager.addColorManager("lch", new LchColorManager()); }); } diff --git a/plugins/colors/named/src/index.ts b/plugins/colors/named/src/index.ts index 1af1c7da763..d0159bdef00 100644 --- a/plugins/colors/named/src/index.ts +++ b/plugins/colors/named/src/index.ts @@ -9,9 +9,9 @@ declare const __VERSION__: string; export async function loadNamedColorPlugin(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(async e => { + await engine.pluginManager.register(async e => { const { NamedColorManager } = await import("./NamedColorManager.js"); - e.addColorManager("named", new NamedColorManager()); + e.pluginManager.addColorManager("named", new NamedColorManager()); }); } diff --git a/plugins/colors/oklab/src/index.ts b/plugins/colors/oklab/src/index.ts index 14ef6c7d69d..23b43a98d1c 100644 --- a/plugins/colors/oklab/src/index.ts +++ b/plugins/colors/oklab/src/index.ts @@ -9,9 +9,9 @@ declare const __VERSION__: string; export async function loadOklabColorPlugin(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(async e => { + await engine.pluginManager.register(async e => { const { OklabColorManager } = await import("./OklabColorManager.js"); - e.addColorManager("oklab", new OklabColorManager()); + e.pluginManager.addColorManager("oklab", new OklabColorManager()); }); } diff --git a/plugins/colors/oklch/src/index.ts b/plugins/colors/oklch/src/index.ts index 9556f3c8b7a..06af323f66a 100644 --- a/plugins/colors/oklch/src/index.ts +++ b/plugins/colors/oklch/src/index.ts @@ -9,9 +9,9 @@ declare const __VERSION__: string; export async function loadOklchColorPlugin(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(async e => { + await engine.pluginManager.register(async e => { const { OklchColorManager } = await import("./OklchColorManager.js"); - e.addColorManager("oklch", new OklchColorManager()); + e.pluginManager.addColorManager("oklch", new OklchColorManager()); }); } diff --git a/plugins/colors/rgb/src/index.ts b/plugins/colors/rgb/src/index.ts index e225455b802..7e2f8b1f1fa 100644 --- a/plugins/colors/rgb/src/index.ts +++ b/plugins/colors/rgb/src/index.ts @@ -9,9 +9,9 @@ declare const __VERSION__: string; export async function loadRgbColorPlugin(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(async e => { + await engine.pluginManager.register(async e => { const { RgbColorManager } = await import("./RgbColorManager.js"); - e.addColorManager("rgb", new RgbColorManager()); + e.pluginManager.addColorManager("rgb", new RgbColorManager()); }); } diff --git a/plugins/easings/back/src/index.ts b/plugins/easings/back/src/index.ts index 4746efb863f..af797b1aacb 100644 --- a/plugins/easings/back/src/index.ts +++ b/plugins/easings/back/src/index.ts @@ -8,11 +8,11 @@ declare const __VERSION__: string; export async function loadEasingBackPlugin(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(async e => { + await engine.pluginManager.register(async e => { const { easingsFunctions } = await import("./easingsFunctions.js"); for (const [easing, easingFn] of easingsFunctions) { - e.addEasing(easing, easingFn); + e.pluginManager.addEasing(easing, easingFn); } }); } diff --git a/plugins/easings/bounce/src/index.ts b/plugins/easings/bounce/src/index.ts index 2fdad45eb8f..6f307d1cfc2 100644 --- a/plugins/easings/bounce/src/index.ts +++ b/plugins/easings/bounce/src/index.ts @@ -8,11 +8,11 @@ declare const __VERSION__: string; export async function loadEasingBouncePlugin(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(async e => { + await engine.pluginManager.register(async e => { const { easingsFunctions } = await import("./easingsFunctions.js"); for (const [easing, easingFn] of easingsFunctions) { - e.addEasing(easing, easingFn); + e.pluginManager.addEasing(easing, easingFn); } }); } diff --git a/plugins/easings/circ/src/index.ts b/plugins/easings/circ/src/index.ts index 9d331b63fb3..795398003b6 100644 --- a/plugins/easings/circ/src/index.ts +++ b/plugins/easings/circ/src/index.ts @@ -8,11 +8,11 @@ declare const __VERSION__: string; export async function loadEasingCircPlugin(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(async e => { + await engine.pluginManager.register(async e => { const { easingsFunctions } = await import("./easingsFunctions.js"); for (const [easing, easingFn] of easingsFunctions) { - e.addEasing(easing, easingFn); + e.pluginManager.addEasing(easing, easingFn); } }); } diff --git a/plugins/easings/cubic/src/index.ts b/plugins/easings/cubic/src/index.ts index f5ba8377d8d..34ce9ab33fa 100644 --- a/plugins/easings/cubic/src/index.ts +++ b/plugins/easings/cubic/src/index.ts @@ -8,11 +8,11 @@ declare const __VERSION__: string; export async function loadEasingCubicPlugin(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(async e => { + await engine.pluginManager.register(async e => { const { easingsFunctions } = await import("./easingsFunctions.js"); for (const [easing, easingFn] of easingsFunctions) { - e.addEasing(easing, easingFn); + e.pluginManager.addEasing(easing, easingFn); } }); } diff --git a/plugins/easings/elastic/src/index.ts b/plugins/easings/elastic/src/index.ts index f62d72d5a15..77464358c48 100644 --- a/plugins/easings/elastic/src/index.ts +++ b/plugins/easings/elastic/src/index.ts @@ -8,11 +8,11 @@ declare const __VERSION__: string; export async function loadEasingElasticPlugin(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(async e => { + await engine.pluginManager.register(async e => { const { easingsFunctions } = await import("./easingsFunctions.js"); for (const [easing, easingFn] of easingsFunctions) { - e.addEasing(easing, easingFn); + e.pluginManager.addEasing(easing, easingFn); } }); } diff --git a/plugins/easings/expo/src/index.ts b/plugins/easings/expo/src/index.ts index 0e66a484443..9ef85b342c7 100644 --- a/plugins/easings/expo/src/index.ts +++ b/plugins/easings/expo/src/index.ts @@ -8,11 +8,11 @@ declare const __VERSION__: string; export async function loadEasingExpoPlugin(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(async e => { + await engine.pluginManager.register(async e => { const { easingsFunctions } = await import("./easingsFunctions.js"); for (const [easing, easingFn] of easingsFunctions) { - e.addEasing(easing, easingFn); + e.pluginManager.addEasing(easing, easingFn); } }); } diff --git a/plugins/easings/gaussian/src/index.ts b/plugins/easings/gaussian/src/index.ts index 801f9253081..8bb4c6235f3 100644 --- a/plugins/easings/gaussian/src/index.ts +++ b/plugins/easings/gaussian/src/index.ts @@ -8,11 +8,11 @@ declare const __VERSION__: string; export async function loadEasingGaussianPlugin(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(async e => { + await engine.pluginManager.register(async e => { const { easingsFunctions } = await import("./easingsFunctions.js"); for (const [easing, easingFn] of easingsFunctions) { - e.addEasing(easing, easingFn); + e.pluginManager.addEasing(easing, easingFn); } }); } diff --git a/plugins/easings/linear/src/index.ts b/plugins/easings/linear/src/index.ts index 53162e8d71b..97e67641785 100644 --- a/plugins/easings/linear/src/index.ts +++ b/plugins/easings/linear/src/index.ts @@ -8,11 +8,11 @@ declare const __VERSION__: string; export async function loadEasingLinearPlugin(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(async e => { + await engine.pluginManager.register(async e => { const { easingsFunctions } = await import("./easingsFunctions.js"); for (const [easing, easingFn] of easingsFunctions) { - e.addEasing(easing, easingFn); + e.pluginManager.addEasing(easing, easingFn); } }); } diff --git a/plugins/easings/quad/src/index.ts b/plugins/easings/quad/src/index.ts index 18dd6456dc5..cceb1a96e30 100644 --- a/plugins/easings/quad/src/index.ts +++ b/plugins/easings/quad/src/index.ts @@ -8,11 +8,11 @@ declare const __VERSION__: string; export async function loadEasingQuadPlugin(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(async e => { + await engine.pluginManager.register(async e => { const { easingsFunctions } = await import("./easingsFunctions.js"); for (const [easing, easingFn] of easingsFunctions) { - e.addEasing(easing, easingFn); + e.pluginManager.addEasing(easing, easingFn); } }); } diff --git a/plugins/easings/quart/src/index.ts b/plugins/easings/quart/src/index.ts index b9665cb4af6..f4b7ed25b1e 100644 --- a/plugins/easings/quart/src/index.ts +++ b/plugins/easings/quart/src/index.ts @@ -8,11 +8,11 @@ declare const __VERSION__: string; export async function loadEasingQuartPlugin(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(async e => { + await engine.pluginManager.register(async e => { const { easingsFunctions } = await import("./easingsFunctions.js"); for (const [easing, easingFn] of easingsFunctions) { - e.addEasing(easing, easingFn); + e.pluginManager.addEasing(easing, easingFn); } }); } diff --git a/plugins/easings/quint/src/index.ts b/plugins/easings/quint/src/index.ts index bbe7d3d27f9..c6de60c4fd3 100644 --- a/plugins/easings/quint/src/index.ts +++ b/plugins/easings/quint/src/index.ts @@ -8,11 +8,11 @@ declare const __VERSION__: string; export async function loadEasingQuintPlugin(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(async e => { + await engine.pluginManager.register(async e => { const { easingsFunctions } = await import("./easingsFunctions.js"); for (const [easing, easingFn] of easingsFunctions) { - e.addEasing(easing, easingFn); + e.pluginManager.addEasing(easing, easingFn); } }); } diff --git a/plugins/easings/sigmoid/src/index.ts b/plugins/easings/sigmoid/src/index.ts index 6eda257f1f5..0d91a0c0c0e 100644 --- a/plugins/easings/sigmoid/src/index.ts +++ b/plugins/easings/sigmoid/src/index.ts @@ -8,11 +8,11 @@ declare const __VERSION__: string; export async function loadEasingSigmoidPlugin(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(async e => { + await engine.pluginManager.register(async e => { const { easingsFunctions } = await import("./easingsFunctions.js"); for (const [easing, easingFn] of easingsFunctions) { - e.addEasing(easing, easingFn); + e.pluginManager.addEasing(easing, easingFn); } }); } diff --git a/plugins/easings/sine/src/index.ts b/plugins/easings/sine/src/index.ts index 8ed25457ac1..df8abd797fa 100644 --- a/plugins/easings/sine/src/index.ts +++ b/plugins/easings/sine/src/index.ts @@ -8,11 +8,11 @@ declare const __VERSION__: string; export async function loadEasingSinePlugin(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(async e => { + await engine.pluginManager.register(async e => { const { easingsFunctions } = await import("./easingsFunctions.js"); for (const [easing, easingFn] of easingsFunctions) { - e.addEasing(easing, easingFn); + e.pluginManager.addEasing(easing, easingFn); } }); } diff --git a/plugins/easings/smoothstep/src/index.ts b/plugins/easings/smoothstep/src/index.ts index 0c7abc63774..1b36ffaf509 100644 --- a/plugins/easings/smoothstep/src/index.ts +++ b/plugins/easings/smoothstep/src/index.ts @@ -8,11 +8,11 @@ declare const __VERSION__: string; export async function loadEasingSmoothstepPlugin(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(async e => { + await engine.pluginManager.register(async e => { const { easingsFunctions } = await import("./easingsFunctions.js"); for (const [easing, easingFn] of easingsFunctions) { - e.addEasing(easing, easingFn); + e.pluginManager.addEasing(easing, easingFn); } }); } diff --git a/plugins/emitters/src/EmitterInstance.ts b/plugins/emitters/src/EmitterInstance.ts index 17cbdb1c74c..ff4d751d4b2 100644 --- a/plugins/emitters/src/EmitterInstance.ts +++ b/plugins/emitters/src/EmitterInstance.ts @@ -32,7 +32,7 @@ import { } from "@tsparticles/engine"; import { Emitter } from "./Options/Classes/Emitter.js"; import { EmitterSize } from "./Options/Classes/EmitterSize.js"; -import type { EmittersEngine } from "./EmittersEngine.js"; +import type { EmittersPluginManager } from "./EmittersEngine.js"; import type { IEmitter } from "./Options/Interfaces/IEmitter.js"; import type { IEmitterShape } from "./IEmitterShape.js"; import type { IEmitterSize } from "./Options/Interfaces/IEmitterSize.js"; @@ -105,7 +105,6 @@ export class EmitterInstance { private _currentSpawnDelay; private _duration?: number; private _emitDelay?: number; - private readonly _engine; private _firstSpawn; private readonly _immortal; private readonly _initialPosition?: ICoordinates; @@ -113,6 +112,7 @@ export class EmitterInstance { private _mutationObserver?: MutationObserver; private readonly _particlesOptions: RecursivePartial; private _paused; + private readonly _pluginManager; private readonly _removeCallback; private _resizeObserver?: ResizeObserver; private readonly _shape?: IEmitterShape; @@ -121,13 +121,13 @@ export class EmitterInstance { private _startParticlesAdded; constructor( - engine: EmittersEngine, + pluginManager: EmittersPluginManager, container: Container, removeCallback: (emitter: EmitterInstance) => void, options: Emitter | RecursivePartial, position?: ICoordinates, ) { - this._engine = engine; + this._pluginManager = pluginManager; this._container = container; this._removeCallback = removeCallback; this._currentDuration = 0; @@ -160,11 +160,11 @@ export class EmitterInstance { particlesOptions.move.direction ??= this.options.direction; if (this.options.spawn.fill?.color) { - this.spawnFillColor = rangeColorToHsl(this._engine, this.options.spawn.fill.color); + this.spawnFillColor = rangeColorToHsl(this._pluginManager, this.options.spawn.fill.color); } if (this.options.spawn.stroke?.color) { - this.spawnStrokeColor = rangeColorToHsl(this._engine, this.options.spawn.stroke.color); + this.spawnStrokeColor = rangeColorToHsl(this._pluginManager, this.options.spawn.stroke.color); } this._paused = !this.options.autoPlay; @@ -195,7 +195,7 @@ export class EmitterInstance { } const shapeOptions = this.options.shape, - shapeGenerator = this._engine.emitterShapeManager?.getShapeGenerator(shapeOptions.type); + shapeGenerator = this._pluginManager.emitterShapeManager?.getShapeGenerator(shapeOptions.type); if (shapeGenerator) { this._shape = shapeGenerator.generate(this._container, this.position, this.size, this.fill, shapeOptions.options); diff --git a/plugins/emitters/src/EmittersEngine.ts b/plugins/emitters/src/EmittersEngine.ts index dee644aab60..d6ad0c8fba9 100644 --- a/plugins/emitters/src/EmittersEngine.ts +++ b/plugins/emitters/src/EmittersEngine.ts @@ -1,8 +1,12 @@ +import type { InteractivityEngine, InteractivityPluginManager } from "@tsparticles/plugin-interactivity"; import type { IEmitterShapeGenerator } from "./IEmitterShapeGenerator.js"; -import type { InteractivityEngine } from "@tsparticles/plugin-interactivity"; import type { ShapeManager } from "./ShapeManager.js"; -export type EmittersEngine = InteractivityEngine & { +export type EmittersPluginManager = InteractivityPluginManager & { addEmitterShapeGenerator?: (name: string, shape: IEmitterShapeGenerator) => void; emitterShapeManager?: ShapeManager; }; + +export type EmittersEngine = InteractivityEngine & { + pluginManager: EmittersPluginManager; +}; diff --git a/plugins/emitters/src/EmittersInstancesManager.ts b/plugins/emitters/src/EmittersInstancesManager.ts index c38b3e68cee..d46e0da80bc 100644 --- a/plugins/emitters/src/EmittersInstancesManager.ts +++ b/plugins/emitters/src/EmittersInstancesManager.ts @@ -2,18 +2,18 @@ import { type ICoordinates, type RecursivePartial, isNumber } from "@tsparticles import { Emitter } from "./Options/Classes/Emitter.js"; import type { EmitterContainer } from "./EmitterContainer.js"; import type { EmitterInstance } from "./EmitterInstance.js"; -import type { EmittersEngine } from "./EmittersEngine.js"; +import type { EmittersPluginManager } from "./EmittersEngine.js"; import type { IEmitter } from "./Options/Interfaces/IEmitter.js"; const defaultIndex = 0; export class EmittersInstancesManager { private readonly _containerArrays; - private readonly _engine; + private readonly _pluginManager; - constructor(engine: EmittersEngine) { + constructor(pluginManager: EmittersPluginManager) { this._containerArrays = new Map(); - this._engine = engine; + this._pluginManager = pluginManager; } async addEmitter( @@ -27,7 +27,7 @@ export class EmittersInstancesManager { const { EmitterInstance } = await import("./EmitterInstance.js"), emitter = new EmitterInstance( - this._engine, + this._pluginManager, container, (emitter: EmitterInstance) => { this.removeEmitter(container, emitter); diff --git a/plugins/emitters/src/index.ts b/plugins/emitters/src/index.ts index 8d8e60bfa64..aa12784df91 100644 --- a/plugins/emitters/src/index.ts +++ b/plugins/emitters/src/index.ts @@ -10,7 +10,7 @@ declare const __VERSION__: string; export async function loadEmittersPlugin(engine: EmittersEngine): Promise { engine.checkVersion(__VERSION__); - await engine.register(async (e: EmittersEngine) => { + await engine.pluginManager.register(async (e: EmittersEngine) => { const [ { ensureInteractivityPluginLoaded }, { ShapeManager }, @@ -22,18 +22,19 @@ export async function loadEmittersPlugin(engine: EmittersEngine): Promise import("./EmittersInstancesManager.js"), import("./EmittersPlugin.js"), ]), - instancesManager = new EmittersInstancesManager(e); + pluginManager = e.pluginManager, + instancesManager = new EmittersInstancesManager(pluginManager); ensureInteractivityPluginLoaded(e); - e.emitterShapeManager ??= new ShapeManager(); - e.addEmitterShapeGenerator ??= (name: string, generator: IEmitterShapeGenerator): void => { - e.emitterShapeManager?.addShapeGenerator(name, generator); + pluginManager.emitterShapeManager ??= new ShapeManager(); + pluginManager.addEmitterShapeGenerator ??= (name: string, generator: IEmitterShapeGenerator): void => { + pluginManager.emitterShapeManager?.addShapeGenerator(name, generator); }; - e.addPlugin(new EmittersPlugin(instancesManager)); + pluginManager.addPlugin(new EmittersPlugin(instancesManager)); - e.addInteractor?.("externalEmitters", async container => { + pluginManager.addInteractor?.("externalEmitters", async container => { const { EmittersInteractor } = await import("./EmittersInteractor.js"); return new EmittersInteractor(instancesManager, container as EmitterContainer); @@ -45,7 +46,7 @@ export async function loadEmittersPlugin(engine: EmittersEngine): Promise * @param e - */ export function ensureEmittersPluginLoaded(e: EmittersEngine): void { - if (!e.addEmitterShapeGenerator) { + if (!e.pluginManager.addEmitterShapeGenerator) { throw new Error("tsParticles Emitters Plugin is not loaded"); } } diff --git a/plugins/emittersShapes/canvas/src/index.ts b/plugins/emittersShapes/canvas/src/index.ts index b403ad80a8d..6dc123f3da1 100644 --- a/plugins/emittersShapes/canvas/src/index.ts +++ b/plugins/emittersShapes/canvas/src/index.ts @@ -9,13 +9,13 @@ declare const __VERSION__: string; export async function loadEmittersShapeCanvas(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(async (e: EmittersEngine) => { + await engine.pluginManager.register(async (e: EmittersEngine) => { const { ensureEmittersPluginLoaded } = await import("@tsparticles/plugin-emitters"); ensureEmittersPluginLoaded(e); const { EmittersCanvasShapeGenerator } = await import("./EmittersCanvasShapeGenerator.js"); - e.addEmitterShapeGenerator?.("canvas", new EmittersCanvasShapeGenerator()); + e.pluginManager.addEmitterShapeGenerator?.("canvas", new EmittersCanvasShapeGenerator()); }); } diff --git a/plugins/emittersShapes/circle/src/index.ts b/plugins/emittersShapes/circle/src/index.ts index ac05afb57e4..467bdc078f6 100644 --- a/plugins/emittersShapes/circle/src/index.ts +++ b/plugins/emittersShapes/circle/src/index.ts @@ -9,13 +9,13 @@ declare const __VERSION__: string; export async function loadEmittersShapeCircle(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(async (e: EmittersEngine) => { + await engine.pluginManager.register(async (e: EmittersEngine) => { const { ensureEmittersPluginLoaded } = await import("@tsparticles/plugin-emitters"); ensureEmittersPluginLoaded(e); const { EmittersCircleShapeGenerator } = await import("./EmittersCircleShapeGenerator.js"); - e.addEmitterShapeGenerator?.("circle", new EmittersCircleShapeGenerator()); + e.pluginManager.addEmitterShapeGenerator?.("circle", new EmittersCircleShapeGenerator()); }); } diff --git a/plugins/emittersShapes/path/src/index.ts b/plugins/emittersShapes/path/src/index.ts index 6e7de32b0f4..84367cd756f 100644 --- a/plugins/emittersShapes/path/src/index.ts +++ b/plugins/emittersShapes/path/src/index.ts @@ -10,13 +10,13 @@ declare const __VERSION__: string; export async function loadEmittersShapePath(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(async (e: EmittersEngine) => { + await engine.pluginManager.register(async (e: EmittersEngine) => { const { ensureEmittersPluginLoaded } = await import("@tsparticles/plugin-emitters"); ensureEmittersPluginLoaded(e); const { EmittersPathShapeGenerator } = await import("./EmittersPathShapeGenerator.js"); - e.addEmitterShapeGenerator?.("path", new EmittersPathShapeGenerator()); + e.pluginManager.addEmitterShapeGenerator?.("path", new EmittersPathShapeGenerator()); }); } diff --git a/plugins/emittersShapes/polygon/src/index.ts b/plugins/emittersShapes/polygon/src/index.ts index 6403e9a01ef..9141f57d2c3 100644 --- a/plugins/emittersShapes/polygon/src/index.ts +++ b/plugins/emittersShapes/polygon/src/index.ts @@ -9,13 +9,13 @@ declare const __VERSION__: string; export async function loadEmittersShapePolygon(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(async (e: EmittersEngine) => { + await engine.pluginManager.register(async (e: EmittersEngine) => { const { ensureEmittersPluginLoaded } = await import("@tsparticles/plugin-emitters"); ensureEmittersPluginLoaded(e); const { EmittersPolygonShapeGenerator } = await import("./EmittersPolygonShapeGenerator.js"); - e.addEmitterShapeGenerator?.("polygon", new EmittersPolygonShapeGenerator()); + e.pluginManager.addEmitterShapeGenerator?.("polygon", new EmittersPolygonShapeGenerator()); }); } diff --git a/plugins/emittersShapes/square/src/index.ts b/plugins/emittersShapes/square/src/index.ts index aa9003eaa67..d1e61c5e45e 100644 --- a/plugins/emittersShapes/square/src/index.ts +++ b/plugins/emittersShapes/square/src/index.ts @@ -9,13 +9,13 @@ declare const __VERSION__: string; export async function loadEmittersShapeSquare(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(async (e: EmittersEngine) => { + await engine.pluginManager.register(async (e: EmittersEngine) => { const { ensureEmittersPluginLoaded } = await import("@tsparticles/plugin-emitters"); ensureEmittersPluginLoaded(e); const { EmittersSquareShapeGenerator } = await import("./EmittersSquareShapeGenerator.js"); - e.addEmitterShapeGenerator?.("square", new EmittersSquareShapeGenerator()); + e.pluginManager.addEmitterShapeGenerator?.("square", new EmittersSquareShapeGenerator()); }); } diff --git a/plugins/exports/image/src/index.ts b/plugins/exports/image/src/index.ts index 0ebc5a22bf8..66f4d90991a 100644 --- a/plugins/exports/image/src/index.ts +++ b/plugins/exports/image/src/index.ts @@ -8,9 +8,9 @@ declare const __VERSION__: string; export async function loadExportImagePlugin(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(async e => { + await engine.pluginManager.register(async e => { const { ExportImagePlugin } = await import("./ExportImagePlugin.js"); - e.addPlugin(new ExportImagePlugin()); + e.pluginManager.addPlugin(new ExportImagePlugin()); }); } diff --git a/plugins/exports/json/src/index.ts b/plugins/exports/json/src/index.ts index c3e9e0fc2b1..99285d6c225 100644 --- a/plugins/exports/json/src/index.ts +++ b/plugins/exports/json/src/index.ts @@ -8,9 +8,9 @@ declare const __VERSION__: string; export async function loadExportJSONPlugin(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(async e => { + await engine.pluginManager.register(async e => { const { ExportJSONPlugin } = await import("./ExportJSONPlugin.js"); - e.addPlugin(new ExportJSONPlugin()); + e.pluginManager.addPlugin(new ExportJSONPlugin()); }); } diff --git a/plugins/exports/video/src/index.ts b/plugins/exports/video/src/index.ts index 197aafa6a55..179690ed941 100644 --- a/plugins/exports/video/src/index.ts +++ b/plugins/exports/video/src/index.ts @@ -8,9 +8,9 @@ declare const __VERSION__: string; export async function loadExportVideoPlugin(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(async e => { + await engine.pluginManager.register(async e => { const { ExportVideoPlugin } = await import("./ExportVideoPlugin.js"); - e.addPlugin(new ExportVideoPlugin()); + e.pluginManager.addPlugin(new ExportVideoPlugin()); }); } diff --git a/plugins/infection/src/index.ts b/plugins/infection/src/index.ts index 7ab55678e04..3ce985e7501 100644 --- a/plugins/infection/src/index.ts +++ b/plugins/infection/src/index.ts @@ -9,7 +9,7 @@ declare const __VERSION__: string; export async function loadInfectionPlugin(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(async (e: InteractivityEngine) => { + await engine.pluginManager.register(async (e: InteractivityEngine) => { const [ { ensureInteractivityPluginLoaded }, { InfectionPlugin }, @@ -20,9 +20,9 @@ export async function loadInfectionPlugin(engine: Engine): Promise { ensureInteractivityPluginLoaded(e); - e.addPlugin(new InfectionPlugin()); + e.pluginManager.addPlugin(new InfectionPlugin()); - e.addInteractor?.("particlesInfection", async container => { + e.pluginManager.addInteractor?.("particlesInfection", async container => { const { ParticlesInfecter } = await import("./ParticlesInfecter.js"); return new ParticlesInfecter(container); diff --git a/plugins/interactivity/src/InteractionManager.ts b/plugins/interactivity/src/InteractionManager.ts index 85c897eac3e..447eaee4548 100644 --- a/plugins/interactivity/src/InteractionManager.ts +++ b/plugins/interactivity/src/InteractionManager.ts @@ -16,8 +16,8 @@ import type { IExternalInteractor } from "./Interfaces/IExternalInteractor.js"; import type { IInteractivityData } from "./Interfaces/IInteractivityData.js"; import type { IInteractor } from "./Interfaces/IInteractor.js"; import type { IParticlesInteractor } from "./Interfaces/IParticlesInteractor.js"; -import type { InteractivityEngine } from "./types.js"; import { InteractivityEventListeners } from "./InteractivityEventListeners.js"; +import type { InteractivityPluginManager } from "./types.js"; import { InteractorType } from "./Enums/InteractorType.js"; const clickRadius = 1, @@ -31,12 +31,6 @@ export class InteractionManager { private readonly _clickHandlers; - /** - * The engine used for registering the interactions managers - * @internal - */ - private readonly _engine; - private readonly _eventListeners; /** @@ -59,16 +53,22 @@ export class InteractionManager { */ private _particleInteractors: IParticlesInteractor[]; + /** + * The plugin manager used for registering the interactions managers + * @internal + */ + private readonly _pluginManager; + /** * The constructor of the interaction manager - * @param engine - the parent engine + * @param pluginManager - the parent engine * @param container - the parent container */ constructor( - engine: InteractivityEngine, + pluginManager: InteractivityPluginManager, private readonly container: Container, ) { - this._engine = engine; + this._pluginManager = pluginManager; this._interactors = []; this._externalInteractors = []; this._particleInteractors = []; @@ -256,7 +256,7 @@ export class InteractionManager { } async initInteractors(): Promise { - const interactors = await this._engine.getInteractors?.(this.container, true); + const interactors = await this._pluginManager.getInteractors?.(this.container, true); if (!interactors) { return; diff --git a/plugins/interactivity/src/InteractivityPlugin.ts b/plugins/interactivity/src/InteractivityPlugin.ts index 127b9433db7..9fbf39c6a22 100644 --- a/plugins/interactivity/src/InteractivityPlugin.ts +++ b/plugins/interactivity/src/InteractivityPlugin.ts @@ -8,9 +8,9 @@ import { import type { IInteractivityOptions, IInteractivityParticlesOptions, - InteractivityEngine, InteractivityOptions, InteractivityParticlesOptions, + InteractivityPluginManager, } from "./types.js"; import type { IInteractivity } from "./Options/Interfaces/IInteractivity.js"; import type { IParticleInteractorBase } from "./Interfaces/IParticleInteractorBase.js"; @@ -21,16 +21,16 @@ import { Interactivity } from "./Options/Classes/Interactivity.js"; export class InteractivityPlugin implements IPlugin { readonly id = "interactivity"; - private readonly _engine; + private readonly _pluginManager; - constructor(engine: InteractivityEngine) { - this._engine = engine; + constructor(pluginManager: InteractivityPluginManager) { + this._pluginManager = pluginManager; } async getPlugin(container: Container): Promise { const { InteractivityPluginInstance } = await import("./InteractivityPluginInstance.js"); - return new InteractivityPluginInstance(this._engine, container); + return new InteractivityPluginInstance(this._pluginManager, container); } loadOptions( @@ -45,12 +45,12 @@ export class InteractivityPlugin implements IPlugin { let interactivityOptions = options.interactivity; if (!interactivityOptions?.load) { - options.interactivity = interactivityOptions = new Interactivity(this._engine, container); + options.interactivity = interactivityOptions = new Interactivity(this._pluginManager, container); } interactivityOptions.load(source?.interactivity); - const interactors = this._engine.interactors?.get(container); + const interactors = this._pluginManager.interactors?.get(container); if (!interactors) { return; @@ -72,7 +72,7 @@ export class InteractivityPlugin implements IPlugin { options.interactivity = deepExtend({}, source.interactivity) as RecursivePartial; } - const interactors = this._engine.interactors?.get(container) as IParticleInteractorBase[] | undefined; + const interactors = this._pluginManager.interactors?.get(container) as IParticleInteractorBase[] | undefined; if (!interactors) { return; diff --git a/plugins/interactivity/src/InteractivityPluginInstance.ts b/plugins/interactivity/src/InteractivityPluginInstance.ts index 54872d217b5..2748740bfda 100644 --- a/plugins/interactivity/src/InteractivityPluginInstance.ts +++ b/plugins/interactivity/src/InteractivityPluginInstance.ts @@ -1,5 +1,5 @@ import { type IContainerPlugin, type IDelta, type Particle } from "@tsparticles/engine"; -import type { InteractivityContainer, InteractivityEngine, InteractivityParticle } from "./types.js"; +import type { InteractivityContainer, InteractivityParticle, InteractivityPluginManager } from "./types.js"; import { InteractionManager } from "./InteractionManager.js"; import { Interactivity } from "./Options/Classes/Interactivity.js"; @@ -7,12 +7,12 @@ export class InteractivityPluginInstance implements IContainerPlugin { readonly interactionManager: InteractionManager; private readonly _container; - private readonly _engine; + private readonly _pluginManager; - constructor(engine: InteractivityEngine, container: InteractivityContainer) { + constructor(pluginManager: InteractivityPluginManager, container: InteractivityContainer) { this._container = container; - this._engine = engine; - this.interactionManager = new InteractionManager(engine, container); + this._pluginManager = pluginManager; + this.interactionManager = new InteractionManager(pluginManager, container); this._container.addClickHandler = (callback: (evt: Event, particles?: Particle[]) => void): void => { this.interactionManager.addClickHandler(callback); @@ -34,12 +34,12 @@ export class InteractivityPluginInstance implements IContainerPlugin { destroy(): void { this.clearClickHandlers(); - this._engine.interactors?.delete(this._container); + this._pluginManager.interactors?.delete(this._container); } particleCreated(particle: Particle): void { const interactivityParticle = particle as InteractivityParticle, - interactivity = new Interactivity(this._engine, this._container); + interactivity = new Interactivity(this._pluginManager, this._container); interactivity.load(this._container.actualOptions.interactivity); interactivity.load(interactivityParticle.options.interactivity); diff --git a/plugins/interactivity/src/Options/Classes/Interactivity.ts b/plugins/interactivity/src/Options/Classes/Interactivity.ts index 0442f52a7bc..a50de567dc3 100644 --- a/plugins/interactivity/src/Options/Classes/Interactivity.ts +++ b/plugins/interactivity/src/Options/Classes/Interactivity.ts @@ -2,7 +2,7 @@ import { type Container, type IOptionLoader, type RecursivePartial, isNull } fro import { Events } from "./Events/Events.js"; import type { IInteractivity } from "../Interfaces/IInteractivity.js"; import { InteractivityDetect } from "../../Enums/InteractivityDetect.js"; -import type { InteractivityEngine } from "../../types.js"; +import type { InteractivityPluginManager } from "../../types.js"; import { Modes } from "./Modes/Modes.js"; /** @@ -16,10 +16,10 @@ export class Interactivity implements IInteractivity, IOptionLoader): void { diff --git a/plugins/interactivity/src/Options/Classes/Modes/Modes.ts b/plugins/interactivity/src/Options/Classes/Modes/Modes.ts index 02b0131038a..7c135aaf364 100644 --- a/plugins/interactivity/src/Options/Classes/Modes/Modes.ts +++ b/plugins/interactivity/src/Options/Classes/Modes/Modes.ts @@ -1,7 +1,7 @@ import { type Container, type IOptionLoader, type RecursivePartial, isNull } from "@tsparticles/engine"; import type { IExternalInteractor } from "../../../Interfaces/IExternalInteractor.js"; import type { IModes } from "../../Interfaces/Modes/IModes.js"; -import type { InteractivityEngine } from "../../../types.js"; +import type { InteractivityPluginManager } from "../../../types.js"; /** * [[include:Options/Interactivity/Modes.md]] @@ -10,10 +10,10 @@ export class Modes implements IModes, IOptionLoader { [name: string]: unknown; private readonly _container; - private readonly _engine; + private readonly _pluginManager; - constructor(engine: InteractivityEngine, container?: Container) { - this._engine = engine; + constructor(pluginManager: InteractivityPluginManager, container?: Container) { + this._pluginManager = pluginManager; this._container = container; } @@ -26,7 +26,7 @@ export class Modes implements IModes, IOptionLoader { return; } - const interactors = this._engine.interactors?.get(this._container) as IExternalInteractor[] | undefined; + const interactors = this._pluginManager.interactors?.get(this._container) as IExternalInteractor[] | undefined; if (!interactors) { return; diff --git a/plugins/interactivity/src/index.ts b/plugins/interactivity/src/index.ts index 8d0775781b8..0f4ccaa3365 100644 --- a/plugins/interactivity/src/index.ts +++ b/plugins/interactivity/src/index.ts @@ -10,24 +10,25 @@ declare const __VERSION__: string; export async function loadInteractivityPlugin(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(async e => { + await engine.pluginManager.register(async e => { const interactivityEngine = e as InteractivityEngine, + interactivityPluginManager = interactivityEngine.pluginManager, { InteractivityPlugin } = await import("./InteractivityPlugin.js"); - interactivityEngine.addPlugin(new InteractivityPlugin(interactivityEngine)); + interactivityPluginManager.addPlugin(new InteractivityPlugin(interactivityPluginManager)); - interactivityEngine.initializers.interactors ??= new Map(); - interactivityEngine.interactors ??= new Map(); + interactivityPluginManager.initializers.interactors ??= new Map(); + interactivityPluginManager.interactors ??= new Map(); /** * Adds an interaction manager to the current collection * @param name - the interaction manager name * @param interactorInitializer - the interaction manager initializer */ - interactivityEngine.addInteractor = (name: string, interactorInitializer: InteractorInitializer): void => { - interactivityEngine.initializers.interactors ??= new Map(); + interactivityPluginManager.addInteractor = (name: string, interactorInitializer: InteractorInitializer): void => { + interactivityPluginManager.initializers.interactors ??= new Map(); - interactivityEngine.initializers.interactors.set(name, interactorInitializer); + interactivityPluginManager.initializers.interactors.set(name, interactorInitializer); }; /** @@ -36,14 +37,14 @@ export async function loadInteractivityPlugin(engine: Engine): Promise { * @param force - if true reloads the interaction managers collection for the given container * @returns the array of interaction managers for the given container */ - interactivityEngine.getInteractors = async (container: Container, force = false): Promise => { - interactivityEngine.interactors ??= new Map(); - interactivityEngine.initializers.interactors ??= new Map(); + interactivityPluginManager.getInteractors = async (container: Container, force = false): Promise => { + interactivityPluginManager.interactors ??= new Map(); + interactivityPluginManager.initializers.interactors ??= new Map(); return getItemsFromInitializer( container, - interactivityEngine.interactors, - interactivityEngine.initializers.interactors, + interactivityPluginManager.interactors, + interactivityPluginManager.initializers.interactors, force, ); }; @@ -52,7 +53,7 @@ export async function loadInteractivityPlugin(engine: Engine): Promise { * Adds another click handler to all the loaded {@link Container} objects. * @param callback - The function called after the click event is fired */ - interactivityEngine.setOnClickHandler = (callback: (e: Event, particles?: Particle[]) => void): void => { + interactivityPluginManager.setOnClickHandler = (callback: (e: Event, particles?: Particle[]) => void): void => { const { items } = interactivityEngine; if (!items.length) { @@ -72,7 +73,7 @@ export async function loadInteractivityPlugin(engine: Engine): Promise { * @param e - */ export function ensureInteractivityPluginLoaded(e: InteractivityEngine): void { - if (!e.addInteractor) { + if (!e.pluginManager.addInteractor) { throw new Error("tsParticles Interactivity Plugin is not loaded"); } } diff --git a/plugins/interactivity/src/types.ts b/plugins/interactivity/src/types.ts index 0da83313ddb..9071e479a47 100644 --- a/plugins/interactivity/src/types.ts +++ b/plugins/interactivity/src/types.ts @@ -7,6 +7,7 @@ import type { Options, Particle, ParticlesOptions, + PluginManager, RecursivePartial, } from "@tsparticles/engine"; import type { IInteractivity } from "./Options/Interfaces/IInteractivity.js"; @@ -45,7 +46,7 @@ export type InteractivityParticlesOptions = RecursivePartial & */ export type InteractorInitializer = GenericInitializer; -export type InteractivityEngine = Engine & { +export type InteractivityPluginManager = PluginManager & { addInteractor?: (name: string, interactorInitializer: InteractorInitializer) => void; getInteractors?: (container: Container, force?: boolean) => Promise; @@ -58,3 +59,7 @@ export type InteractivityEngine = Engine & { setOnClickHandler?: (callback: (e: Event, particles?: Particle[]) => void) => void; }; + +export type InteractivityEngine = Engine & { + pluginManager: InteractivityPluginManager; +}; diff --git a/plugins/manualParticles/src/index.ts b/plugins/manualParticles/src/index.ts index bc84c820517..01a407873eb 100644 --- a/plugins/manualParticles/src/index.ts +++ b/plugins/manualParticles/src/index.ts @@ -8,9 +8,9 @@ declare const __VERSION__: string; export async function loadManualParticlesPlugin(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(async e => { + await engine.pluginManager.register(async e => { const { ManualParticlesPlugin } = await import("./ManualParticlesPlugin.js"); - e.addPlugin(new ManualParticlesPlugin()); + e.pluginManager.addPlugin(new ManualParticlesPlugin()); }); } diff --git a/plugins/motion/src/index.ts b/plugins/motion/src/index.ts index d23b32a3b93..1a86290c0ed 100644 --- a/plugins/motion/src/index.ts +++ b/plugins/motion/src/index.ts @@ -8,9 +8,9 @@ declare const __VERSION__: string; export async function loadMotionPlugin(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(async e => { + await engine.pluginManager.register(async e => { const { MotionPlugin } = await import("./MotionPlugin.js"); - e.addPlugin(new MotionPlugin()); + e.pluginManager.addPlugin(new MotionPlugin()); }); } diff --git a/plugins/move/src/MovePlugin.ts b/plugins/move/src/MovePlugin.ts index c8ffc59713a..c9b6d83c140 100644 --- a/plugins/move/src/MovePlugin.ts +++ b/plugins/move/src/MovePlugin.ts @@ -1,19 +1,19 @@ import type { Container, IContainerPlugin, IPlugin } from "@tsparticles/engine"; -import type { MoveEngine } from "./Types.js"; +import type { MovePluginManager } from "./Types.js"; export class MovePlugin implements IPlugin { id = "move"; - private readonly _engine; + private readonly _pluginManager; - constructor(engine: MoveEngine) { - this._engine = engine; + constructor(pluginManager: MovePluginManager) { + this._pluginManager = pluginManager; } async getPlugin(container: Container): Promise { const { MovePluginInstance } = await import("./MovePluginInstance.js"); - return new MovePluginInstance(this._engine, container); + return new MovePluginInstance(this._pluginManager, container); } loadOptions(): void { diff --git a/plugins/move/src/MovePluginInstance.ts b/plugins/move/src/MovePluginInstance.ts index 132bfd8ce49..262cf2ef63a 100644 --- a/plugins/move/src/MovePluginInstance.ts +++ b/plugins/move/src/MovePluginInstance.ts @@ -8,7 +8,7 @@ import { half, millisecondsToSeconds, } from "@tsparticles/engine"; -import type { MoveEngine, MoveParticle } from "./Types.js"; +import type { MoveParticle, MovePluginManager } from "./Types.js"; import { applyDistance, getProximitySpeedFactor, initSpin, move, spin } from "./Utils.js"; import type { IMovePathGenerator } from "./IMovePathGenerator.js"; @@ -20,10 +20,10 @@ export class MovePluginInstance implements IContainerPlugin { pathGenerators: Map; private readonly _container; - private readonly _engine; + private readonly _pluginManager; - constructor(engine: MoveEngine, container: Container) { - this._engine = engine; + constructor(pluginManager: MovePluginManager, container: Container) { + this._pluginManager = pluginManager; this._container = container; this.availablePathGenerators = new Map(); @@ -134,7 +134,7 @@ export class MovePluginInstance implements IContainerPlugin { } private async _init(): Promise { - const availablePathGenerators = await this._engine.getPathGenerators?.(this._container, true); + const availablePathGenerators = await this._pluginManager.getPathGenerators?.(this._container, true); if (!availablePathGenerators) { return; diff --git a/plugins/move/src/Types.ts b/plugins/move/src/Types.ts index dbf2657d71c..0f41b4586cf 100644 --- a/plugins/move/src/Types.ts +++ b/plugins/move/src/Types.ts @@ -1,11 +1,11 @@ -import type { Container, Engine, GenericInitializer, Particle } from "@tsparticles/engine"; +import type { Container, Engine, GenericInitializer, Particle, PluginManager } from "@tsparticles/engine"; import type { IMovePathGenerator } from "./IMovePathGenerator.js"; import type { IParticleGravity } from "./IParticleGravity.js"; import type { IParticleSpin } from "./IParticleSpin.js"; export type PathGeneratorInitializer = GenericInitializer; -export type MoveEngine = Engine & { +export type MovePluginManager = PluginManager & { addPathGenerator?: (name: string, generator: PathGeneratorInitializer) => void; getPathGenerators?: (container: Container, force?: boolean) => Promise>; @@ -17,6 +17,10 @@ export type MoveEngine = Engine & { pathGenerators?: Map>; }; +export type MoveEngine = Engine & { + pluginManager: MovePluginManager; +}; + export type MoveParticle = Particle & { /** * Gets particle gravity options diff --git a/plugins/move/src/index.ts b/plugins/move/src/index.ts index a8c5308ae4a..7f766081fd9 100644 --- a/plugins/move/src/index.ts +++ b/plugins/move/src/index.ts @@ -10,41 +10,42 @@ declare const __VERSION__: string; export async function loadMovePlugin(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(async e => { - const moveEngine = e as MoveEngine; + await engine.pluginManager.register(async e => { + const moveEngine = e as MoveEngine, + movePluginManager = moveEngine.pluginManager; - moveEngine.initializers.pathGenerators ??= new Map(); - moveEngine.pathGenerators ??= new Map>(); + movePluginManager.initializers.pathGenerators ??= new Map(); + movePluginManager.pathGenerators ??= new Map>(); /** * addPathGenerator adds a named path generator to tsParticles, this can be called by options * @param name - the path generator name * @param generator - the path generator object */ - moveEngine.addPathGenerator = (name: string, generator: PathGeneratorInitializer): void => { - moveEngine.initializers.pathGenerators ??= new Map(); + movePluginManager.addPathGenerator = (name: string, generator: PathGeneratorInitializer): void => { + movePluginManager.initializers.pathGenerators ??= new Map(); - moveEngine.initializers.pathGenerators.set(name, generator); + movePluginManager.initializers.pathGenerators.set(name, generator); }; - moveEngine.getPathGenerators = async ( + movePluginManager.getPathGenerators = async ( container: Container, force = false, ): Promise> => { - moveEngine.initializers.pathGenerators ??= new Map(); - moveEngine.pathGenerators ??= new Map>(); + movePluginManager.initializers.pathGenerators ??= new Map(); + movePluginManager.pathGenerators ??= new Map>(); return getItemMapFromInitializer( container, - moveEngine.pathGenerators, - moveEngine.initializers.pathGenerators, + movePluginManager.pathGenerators, + movePluginManager.initializers.pathGenerators, force, ); }; const { MovePlugin } = await import("./MovePlugin.js"); - e.addPlugin(new MovePlugin(e)); + e.pluginManager.addPlugin(new MovePlugin(e.pluginManager)); }); } @@ -52,7 +53,7 @@ export async function loadMovePlugin(engine: Engine): Promise { * @param e - */ export function ensureBaseMoverLoaded(e: MoveEngine): void { - if (!e.addPathGenerator) { + if (!e.pluginManager.addPathGenerator) { throw new Error("tsParticles Base Mover is not loaded"); } } diff --git a/plugins/poisson/src/index.ts b/plugins/poisson/src/index.ts index 98b5d8f8132..9bd34804e8b 100644 --- a/plugins/poisson/src/index.ts +++ b/plugins/poisson/src/index.ts @@ -8,9 +8,9 @@ declare const __VERSION__: string; export async function loadPoissonDiscPlugin(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(async e => { + await engine.pluginManager.register(async e => { const { PoissonDiscPlugin } = await import("./PoissonDiscPlugin.js"); - e.addPlugin(new PoissonDiscPlugin()); + e.pluginManager.addPlugin(new PoissonDiscPlugin()); }); } diff --git a/plugins/polygonMask/src/Options/Classes/PolygonMask.ts b/plugins/polygonMask/src/Options/Classes/PolygonMask.ts index 7fd91ecfaac..a510c06593b 100644 --- a/plugins/polygonMask/src/Options/Classes/PolygonMask.ts +++ b/plugins/polygonMask/src/Options/Classes/PolygonMask.ts @@ -1,7 +1,7 @@ import { - type Engine, type ICoordinates, type IOptionLoader, + type PluginManager, type RecursivePartial, deepExtend, isNull, @@ -28,8 +28,8 @@ export class PolygonMask implements IPolygonMask, IOptionLoader { type; url?: string; - constructor(engine: Engine) { - this.draw = new PolygonMaskDraw(engine); + constructor(pluginManager: PluginManager) { + this.draw = new PolygonMaskDraw(pluginManager); this.enable = false; this.inline = new PolygonMaskInline(); this.move = new PolygonMaskMove(); diff --git a/plugins/polygonMask/src/Options/Classes/PolygonMaskDraw.ts b/plugins/polygonMask/src/Options/Classes/PolygonMaskDraw.ts index b502de3bb3b..2ae1f360b4f 100644 --- a/plugins/polygonMask/src/Options/Classes/PolygonMaskDraw.ts +++ b/plugins/polygonMask/src/Options/Classes/PolygonMaskDraw.ts @@ -1,4 +1,4 @@ -import { type Engine, type IOptionLoader, type RecursivePartial, isNull } from "@tsparticles/engine"; +import { type IOptionLoader, type PluginManager, type RecursivePartial, isNull } from "@tsparticles/engine"; import type { IPolygonMaskDraw } from "../Interfaces/IPolygonMaskDraw.js"; import { PolygonMaskDrawStroke } from "./PolygonMaskDrawStroke.js"; @@ -8,9 +8,9 @@ export class PolygonMaskDraw implements IPolygonMaskDraw, IOptionLoader): void { diff --git a/plugins/polygonMask/src/Options/Classes/PolygonMaskDrawStroke.ts b/plugins/polygonMask/src/Options/Classes/PolygonMaskDrawStroke.ts index 6e418a852c4..3377c94ccb2 100644 --- a/plugins/polygonMask/src/Options/Classes/PolygonMaskDrawStroke.ts +++ b/plugins/polygonMask/src/Options/Classes/PolygonMaskDrawStroke.ts @@ -1,7 +1,7 @@ import { - type Engine, type IOptionLoader, OptionsColor, + type PluginManager, type RecursivePartial, isNull, isString, @@ -16,10 +16,10 @@ export class PolygonMaskDrawStroke implements IPolygonMaskDrawStroke, IOptionLoa opacity; width; - private readonly _engine; + private readonly _pluginManager; - constructor(engine: Engine) { - this._engine = engine; + constructor(pluginManager: PluginManager) { + this._pluginManager = pluginManager; this.color = new OptionsColor(); this.width = 0.5; this.opacity = 1; @@ -33,7 +33,7 @@ export class PolygonMaskDrawStroke implements IPolygonMaskDrawStroke, IOptionLoa this.color = OptionsColor.create(this.color, data.color); if (isString(this.color.value)) { - this.opacity = stringToAlpha(this._engine, this.color.value) ?? this.opacity; + this.opacity = stringToAlpha(this._pluginManager, this.color.value) ?? this.opacity; } if (data.opacity !== undefined) { diff --git a/plugins/polygonMask/src/PolygonMaskInstance.ts b/plugins/polygonMask/src/PolygonMaskInstance.ts index 69609b54264..65122803fb8 100644 --- a/plugins/polygonMask/src/PolygonMaskInstance.ts +++ b/plugins/polygonMask/src/PolygonMaskInstance.ts @@ -1,12 +1,12 @@ import "./pathseg.js"; import { - type Engine, type IContainerPlugin, type ICoordinates, type IDelta, type IDimension, OutModeDirection, type Particle, + type PluginManager, deepExtend, double, getDistance, @@ -40,13 +40,13 @@ export class PolygonMaskInstance implements IContainerPlugin { redrawTimeout?: number | NodeJS.Timeout; private readonly _container; - private readonly _engine; private _moveRadius; + private readonly _pluginManager; private _scale; - constructor(container: PolygonMaskContainer, engine: Engine) { + constructor(pluginManager: PluginManager, container: PolygonMaskContainer) { this._container = container; - this._engine = engine; + this._pluginManager = pluginManager; this.dimension = { height: 0, width: 0, @@ -89,9 +89,9 @@ export class PolygonMaskInstance implements IContainerPlugin { const path2d = path.path2d; if (path2d && this.offset) { - drawPolygonMaskPath(this._engine, context, path2d, polygonDraw.stroke, this.offset, this._container.hdr); + drawPolygonMaskPath(this._pluginManager, context, path2d, polygonDraw.stroke, this.offset, this._container.hdr); } else if (rawData) { - drawPolygonMask(this._engine, context, rawData, polygonDraw.stroke, this._container.hdr); + drawPolygonMask(this._pluginManager, context, rawData, polygonDraw.stroke, this._container.hdr); } } } diff --git a/plugins/polygonMask/src/PolygonMaskPlugin.ts b/plugins/polygonMask/src/PolygonMaskPlugin.ts index 4a17fca7479..01ac84d7e36 100644 --- a/plugins/polygonMask/src/PolygonMaskPlugin.ts +++ b/plugins/polygonMask/src/PolygonMaskPlugin.ts @@ -1,4 +1,4 @@ -import type { Container, Engine, IContainerPlugin, IPlugin, RecursivePartial } from "@tsparticles/engine"; +import type { Container, IContainerPlugin, IPlugin, PluginManager, RecursivePartial } from "@tsparticles/engine"; import type { IPolygonMaskOptions, PolygonMaskOptions } from "./types.js"; import { PolygonMask } from "./Options/Classes/PolygonMask.js"; import { PolygonMaskType } from "./Enums/PolygonMaskType.js"; @@ -8,16 +8,16 @@ import { PolygonMaskType } from "./Enums/PolygonMaskType.js"; export class PolygonMaskPlugin implements IPlugin { readonly id = "polygon-mask"; - private readonly _engine; + private readonly _pluginManager; - constructor(engine: Engine) { - this._engine = engine; + constructor(pluginManager: PluginManager) { + this._pluginManager = pluginManager; } async getPlugin(container: Container): Promise { const { PolygonMaskInstance } = await import("./PolygonMaskInstance.js"); - return new PolygonMaskInstance(container, this._engine); + return new PolygonMaskInstance(this._pluginManager, container); } loadOptions( @@ -32,7 +32,7 @@ export class PolygonMaskPlugin implements IPlugin { let polygonOptions = options.polygon; if (polygonOptions?.load === undefined) { - options.polygon = polygonOptions = new PolygonMask(this._engine); + options.polygon = polygonOptions = new PolygonMask(this._pluginManager); } polygonOptions.load(source?.polygon); diff --git a/plugins/polygonMask/src/index.ts b/plugins/polygonMask/src/index.ts index aef3f9afd4e..7ccb373bb9b 100644 --- a/plugins/polygonMask/src/index.ts +++ b/plugins/polygonMask/src/index.ts @@ -8,10 +8,10 @@ declare const __VERSION__: string; export async function loadPolygonMaskPlugin(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(async e => { + await engine.pluginManager.register(async e => { const { PolygonMaskPlugin } = await import("./PolygonMaskPlugin.js"); - e.addPlugin(new PolygonMaskPlugin(engine)); + e.pluginManager.addPlugin(new PolygonMaskPlugin(e.pluginManager)); }); } diff --git a/plugins/polygonMask/src/utils.ts b/plugins/polygonMask/src/utils.ts index 1dff84842ae..a4a2783e05e 100644 --- a/plugins/polygonMask/src/utils.ts +++ b/plugins/polygonMask/src/utils.ts @@ -1,6 +1,6 @@ import { - type Engine, type ICoordinates, + type PluginManager, Vector, double, getDistances, @@ -25,20 +25,20 @@ const squareExp = 2, }; /** - * @param engine - + * @param pluginManager - * @param context - * @param rawData - * @param stroke - * @param hdr - */ export function drawPolygonMask( - engine: Engine, + pluginManager: PluginManager, context: CanvasRenderingContext2D, rawData: ICoordinates[], stroke: IPolygonMaskDrawStroke, hdr = false, ): void { - const color = rangeColorToRgb(engine, stroke.color); + const color = rangeColorToRgb(pluginManager, stroke.color); if (!color) { return; @@ -65,7 +65,7 @@ export function drawPolygonMask( } /** - * @param engine - + * @param pluginManager - * @param context - * @param path - * @param stroke - @@ -73,7 +73,7 @@ export function drawPolygonMask( * @param hdr - */ export function drawPolygonMaskPath( - engine: Engine, + pluginManager: PluginManager, context: CanvasRenderingContext2D, path: Path2D, stroke: IPolygonMaskDrawStroke, @@ -96,7 +96,7 @@ export function drawPolygonMaskPath( position.y, ); - const color = rangeColorToRgb(engine, stroke.color); + const color = rangeColorToRgb(pluginManager, stroke.color); if (!color) { return; diff --git a/plugins/responsive/src/index.ts b/plugins/responsive/src/index.ts index 019d3381f0d..974a7b2f454 100644 --- a/plugins/responsive/src/index.ts +++ b/plugins/responsive/src/index.ts @@ -8,9 +8,9 @@ declare const __VERSION__: string; export async function loadResponsivePlugin(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(async e => { + await engine.pluginManager.register(async e => { const { ResponsivePlugin } = await import("./ResponsivePlugin.js"); - e.addPlugin(new ResponsivePlugin()); + e.pluginManager.addPlugin(new ResponsivePlugin()); }); } diff --git a/plugins/sounds/src/index.ts b/plugins/sounds/src/index.ts index 1b32b09acad..d1cfb210a03 100644 --- a/plugins/sounds/src/index.ts +++ b/plugins/sounds/src/index.ts @@ -8,9 +8,9 @@ declare const __VERSION__: string; export async function loadSoundsPlugin(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(async e => { + await engine.pluginManager.register(async e => { const { SoundsPlugin } = await import("./SoundsPlugin.js"); - e.addPlugin(new SoundsPlugin(engine)); + e.pluginManager.addPlugin(new SoundsPlugin(e)); }); } diff --git a/plugins/themes/src/index.ts b/plugins/themes/src/index.ts index bc967acaf8c..8090853c0ec 100644 --- a/plugins/themes/src/index.ts +++ b/plugins/themes/src/index.ts @@ -8,9 +8,9 @@ declare const __VERSION__: string; export async function loadThemesPlugin(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(async e => { + await engine.pluginManager.register(async e => { const { ThemesPlugin } = await import("./ThemesPlugin.js"); - e.addPlugin(new ThemesPlugin()); + e.pluginManager.addPlugin(new ThemesPlugin()); }); } diff --git a/plugins/trail/src/TrailPlugin.ts b/plugins/trail/src/TrailPlugin.ts index 369d2d5cbcd..50594be1a82 100644 --- a/plugins/trail/src/TrailPlugin.ts +++ b/plugins/trail/src/TrailPlugin.ts @@ -1,4 +1,4 @@ -import type { Container, Engine, IContainerPlugin, IPlugin, RecursivePartial } from "@tsparticles/engine"; +import type { Container, IContainerPlugin, IPlugin, PluginManager, RecursivePartial } from "@tsparticles/engine"; import type { ITrailOptions, TrailOptions } from "./types.js"; import { Trail } from "./Options/Classes/Trail.js"; @@ -7,16 +7,16 @@ import { Trail } from "./Options/Classes/Trail.js"; export class TrailPlugin implements IPlugin { readonly id = "trail"; - private readonly _engine; + private readonly _pluginManager; - constructor(engine: Engine) { - this._engine = engine; + constructor(pluginManager: PluginManager) { + this._pluginManager = pluginManager; } async getPlugin(container: Container): Promise { const { TrailPluginInstance } = await import("./TrailPluginInstance.js"); - return new TrailPluginInstance(container, this._engine); + return new TrailPluginInstance(this._pluginManager, container); } loadOptions(_container: Container, options: TrailOptions, source?: RecursivePartial): void { diff --git a/plugins/trail/src/TrailPluginInstance.ts b/plugins/trail/src/TrailPluginInstance.ts index 889e5687efd..ae3aaa75aeb 100644 --- a/plugins/trail/src/TrailPluginInstance.ts +++ b/plugins/trail/src/TrailPluginInstance.ts @@ -1,7 +1,7 @@ import { - type Engine, type IContainerPlugin, type IRgb, + type PluginManager, getLogger, getStyleFromRgb, inverseFactorNumerator, @@ -20,12 +20,12 @@ interface ITrailFillData { export class TrailPluginInstance implements IContainerPlugin { private readonly _container; - private readonly _engine; + private readonly _pluginManager; private _trailFill?: ITrailFillData; - constructor(container: TrailContainer, engine: Engine) { + constructor(pluginManager: PluginManager, container: TrailContainer) { this._container = container; - this._engine = engine; + this._pluginManager = pluginManager; } canvasClear(): boolean { @@ -74,7 +74,7 @@ export class TrailPluginInstance implements IContainerPlugin { opacity = inverseFactorNumerator / trail.length; if (trailFill.color) { - const fillColor = rangeColorToRgb(this._engine, trailFill.color); + const fillColor = rangeColorToRgb(this._pluginManager, trailFill.color); if (!fillColor) { return; diff --git a/plugins/trail/src/index.ts b/plugins/trail/src/index.ts index 28d847f8398..39ac8987f6b 100644 --- a/plugins/trail/src/index.ts +++ b/plugins/trail/src/index.ts @@ -8,9 +8,9 @@ declare const __VERSION__: string; export async function loadTrailPlugin(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(async e => { + await engine.pluginManager.register(async e => { const { TrailPlugin } = await import("./TrailPlugin.js"); - e.addPlugin(new TrailPlugin(engine)); + e.pluginManager.addPlugin(new TrailPlugin(e.pluginManager)); }); } diff --git a/plugins/zoom/src/index.ts b/plugins/zoom/src/index.ts index 85d2045cba3..d39a75b3e54 100644 --- a/plugins/zoom/src/index.ts +++ b/plugins/zoom/src/index.ts @@ -24,9 +24,9 @@ export { export async function loadZoomPlugin(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(async e => { + await engine.pluginManager.register(async e => { const { ZoomPlugin } = await import("./ZoomPlugin.js"); - e.addPlugin(new ZoomPlugin()); + e.pluginManager.addPlugin(new ZoomPlugin()); }); } diff --git a/shapes/arrow/src/index.ts b/shapes/arrow/src/index.ts index f6a21f194e3..71195ce01ce 100644 --- a/shapes/arrow/src/index.ts +++ b/shapes/arrow/src/index.ts @@ -8,8 +8,8 @@ declare const __VERSION__: string; export async function loadArrowShape(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(e => { - e.addShape(["arrow"], async () => { + await engine.pluginManager.register(e => { + e.pluginManager.addShape(["arrow"], async () => { const { ArrowDrawer } = await import("./ArrowDrawer.js"); return new ArrowDrawer(); diff --git a/shapes/cards/src/cards/index.ts b/shapes/cards/src/cards/index.ts index f9a016b887c..851678b86c8 100644 --- a/shapes/cards/src/cards/index.ts +++ b/shapes/cards/src/cards/index.ts @@ -8,8 +8,8 @@ declare const __VERSION__: string; export async function loadFullCardsShape(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(e => { - e.addShape(["card"], async container => { + await engine.pluginManager.register(e => { + e.pluginManager.addShape(["card"], async container => { const { CardDrawer } = await import("./CardDrawer.js"); return new CardDrawer(container); diff --git a/shapes/cards/src/clubs/index.ts b/shapes/cards/src/clubs/index.ts index 07911293eae..e5a56dfd320 100644 --- a/shapes/cards/src/clubs/index.ts +++ b/shapes/cards/src/clubs/index.ts @@ -8,8 +8,8 @@ declare const __VERSION__: string; export async function loadClubsSuitShape(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(e => { - e.addShape(["club", "clubs"], async () => { + await engine.pluginManager.register(e => { + e.pluginManager.addShape(["club", "clubs"], async () => { const { ClubDrawer } = await import("./ClubDrawer.js"); return new ClubDrawer(); diff --git a/shapes/cards/src/diamonds/index.ts b/shapes/cards/src/diamonds/index.ts index d0b51fdcad9..e96e01549ca 100644 --- a/shapes/cards/src/diamonds/index.ts +++ b/shapes/cards/src/diamonds/index.ts @@ -8,8 +8,8 @@ declare const __VERSION__: string; export async function loadDiamondsSuitShape(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(e => { - e.addShape(["diamond", "diamonds"], async () => { + await engine.pluginManager.register(e => { + e.pluginManager.addShape(["diamond", "diamonds"], async () => { const { DiamondDrawer } = await import("./DiamondDrawer.js"); return new DiamondDrawer(); diff --git a/shapes/cards/src/hearts/index.ts b/shapes/cards/src/hearts/index.ts index c884bad6b2b..adf6d091ca5 100644 --- a/shapes/cards/src/hearts/index.ts +++ b/shapes/cards/src/hearts/index.ts @@ -8,8 +8,8 @@ declare const __VERSION__: string; export async function loadHeartsSuitShape(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(e => { - e.addShape(["heart", "hearts"], async () => { + await engine.pluginManager.register(e => { + e.pluginManager.addShape(["heart", "hearts"], async () => { const { HeartDrawer } = await import("./HeartDrawer.js"); return new HeartDrawer(); diff --git a/shapes/cards/src/index.ts b/shapes/cards/src/index.ts index 9df7292e41a..7ae17617dbb 100644 --- a/shapes/cards/src/index.ts +++ b/shapes/cards/src/index.ts @@ -8,7 +8,7 @@ declare const __VERSION__: string; export async function loadCardSuitsShape(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(async e => { + await engine.pluginManager.register(async e => { const [ { loadClubsSuitShape }, { loadDiamondsSuitShape }, @@ -36,7 +36,7 @@ export async function loadCardSuitsShape(engine: Engine): Promise { export async function loadCardsShape(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(async e => { + await engine.pluginManager.register(async e => { const { loadFullCardsShape } = await import("./cards/index.js"); await Promise.all([ diff --git a/shapes/cards/src/spades/index.ts b/shapes/cards/src/spades/index.ts index fbe80568598..a124b65437c 100644 --- a/shapes/cards/src/spades/index.ts +++ b/shapes/cards/src/spades/index.ts @@ -8,8 +8,8 @@ declare const __VERSION__: string; export async function loadSpadesSuitShape(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(e => { - e.addShape(["spade", "spades"], async () => { + await engine.pluginManager.register(e => { + e.pluginManager.addShape(["spade", "spades"], async () => { const { SpadeDrawer } = await import("./SpadeDrawer.js"); return new SpadeDrawer(); diff --git a/shapes/circle/src/index.ts b/shapes/circle/src/index.ts index 46bebc31df8..d53acffa8e3 100644 --- a/shapes/circle/src/index.ts +++ b/shapes/circle/src/index.ts @@ -8,8 +8,8 @@ declare const __VERSION__: string; export async function loadCircleShape(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(e => { - e.addShape(["circle"], async () => { + await engine.pluginManager.register(e => { + e.pluginManager.addShape(["circle"], async () => { const { CircleDrawer } = await import("./CircleDrawer.js"); return new CircleDrawer(); diff --git a/shapes/cog/src/index.ts b/shapes/cog/src/index.ts index 0c5b7a4ce4c..c5d0d2fc32f 100644 --- a/shapes/cog/src/index.ts +++ b/shapes/cog/src/index.ts @@ -8,8 +8,8 @@ declare const __VERSION__: string; export async function loadCogShape(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(e => { - e.addShape(["cog"], async () => { + await engine.pluginManager.register(e => { + e.pluginManager.addShape(["cog"], async () => { const { CogDrawer } = await import("./CogDrawer.js"); return new CogDrawer(); diff --git a/shapes/emoji/src/index.ts b/shapes/emoji/src/index.ts index fb8a2e8ffb9..6924dcf9cc9 100644 --- a/shapes/emoji/src/index.ts +++ b/shapes/emoji/src/index.ts @@ -9,8 +9,8 @@ declare const __VERSION__: string; export async function loadEmojiShape(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(e => { - e.addShape(validTypes, async () => { + await engine.pluginManager.register(e => { + e.pluginManager.addShape(validTypes, async () => { const { EmojiDrawer } = await import("./EmojiDrawer.js"); return new EmojiDrawer(); diff --git a/shapes/heart/src/index.ts b/shapes/heart/src/index.ts index ac8a27d93b7..3764317047f 100644 --- a/shapes/heart/src/index.ts +++ b/shapes/heart/src/index.ts @@ -8,8 +8,8 @@ declare const __VERSION__: string; export async function loadHeartShape(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(e => { - e.addShape(["heart"], async () => { + await engine.pluginManager.register(e => { + e.pluginManager.addShape(["heart"], async () => { const { HeartDrawer } = await import("./HeartDrawer.js"); return new HeartDrawer(); diff --git a/shapes/image/src/index.ts b/shapes/image/src/index.ts index 6ee2b53ed3f..17c73d8cdb6 100644 --- a/shapes/image/src/index.ts +++ b/shapes/image/src/index.ts @@ -88,13 +88,13 @@ declare const __VERSION__: string; export async function loadImageShape(engine: ImageEngine): Promise { engine.checkVersion(__VERSION__); - await engine.register(async e => { + await engine.pluginManager.register(async e => { const { ImagePreloaderPlugin } = await import("./ImagePreloader.js"); addLoadImageToEngine(e); - e.addPlugin(new ImagePreloaderPlugin(e)); - e.addShape(shapeTypes, async container => { + e.pluginManager.addPlugin(new ImagePreloaderPlugin(e)); + e.pluginManager.addShape(shapeTypes, async container => { const { ImageDrawer } = await import("./ImageDrawer.js"); return new ImageDrawer(e, container); diff --git a/shapes/infinity/src/index.ts b/shapes/infinity/src/index.ts index 9abf8cdf43d..c27dad5e797 100644 --- a/shapes/infinity/src/index.ts +++ b/shapes/infinity/src/index.ts @@ -8,8 +8,8 @@ declare const __VERSION__: string; export async function loadInfinityShape(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(e => { - e.addShape(["infinity"], async () => { + await engine.pluginManager.register(e => { + e.pluginManager.addShape(["infinity"], async () => { const { InfinityDrawer } = await import("./InfinityDrawer.js"); return new InfinityDrawer(); diff --git a/shapes/line/src/index.ts b/shapes/line/src/index.ts index ba194632b37..21d08ecac15 100644 --- a/shapes/line/src/index.ts +++ b/shapes/line/src/index.ts @@ -8,8 +8,8 @@ declare const __VERSION__: string; export async function loadLineShape(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(e => { - e.addShape(["line"], async () => { + await engine.pluginManager.register(e => { + e.pluginManager.addShape(["line"], async () => { const { LineDrawer } = await import("./LineDrawer.js"); return new LineDrawer(); diff --git a/shapes/matrix/src/index.ts b/shapes/matrix/src/index.ts index 45708ddf28f..bbd771a9f01 100644 --- a/shapes/matrix/src/index.ts +++ b/shapes/matrix/src/index.ts @@ -8,8 +8,8 @@ declare const __VERSION__: string; export async function loadMatrixShape(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(e => { - e.addShape(["matrix"], async () => { + await engine.pluginManager.register(e => { + e.pluginManager.addShape(["matrix"], async () => { const { MatrixDrawer } = await import("./MatrixDrawer.js"); return new MatrixDrawer(); diff --git a/shapes/path/src/index.ts b/shapes/path/src/index.ts index 69058ad0f3d..6dccbd7f8dc 100644 --- a/shapes/path/src/index.ts +++ b/shapes/path/src/index.ts @@ -8,8 +8,8 @@ declare const __VERSION__: string; export async function loadPathShape(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(e => { - e.addShape(["path"], async () => { + await engine.pluginManager.register(e => { + e.pluginManager.addShape(["path"], async () => { const { PathDrawer } = await import("./PathDrawer.js"); return new PathDrawer(); diff --git a/shapes/polygon/src/index.ts b/shapes/polygon/src/index.ts index 5be1d48225f..3616bb95e17 100644 --- a/shapes/polygon/src/index.ts +++ b/shapes/polygon/src/index.ts @@ -8,8 +8,8 @@ declare const __VERSION__: string; export async function loadGenericPolygonShape(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(e => { - e.addShape(["polygon"], async () => { + await engine.pluginManager.register(e => { + e.pluginManager.addShape(["polygon"], async () => { const { PolygonDrawer } = await import("./PolygonDrawer.js"); return new PolygonDrawer(); @@ -23,8 +23,8 @@ export async function loadGenericPolygonShape(engine: Engine): Promise { export async function loadTriangleShape(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(e => { - e.addShape(["triangle"], async () => { + await engine.pluginManager.register(e => { + e.pluginManager.addShape(["triangle"], async () => { const { TriangleDrawer } = await import("./TriangleDrawer.js"); return new TriangleDrawer(); diff --git a/shapes/rounded-polygon/src/index.ts b/shapes/rounded-polygon/src/index.ts index 453cec5d90b..4493fbb01a5 100644 --- a/shapes/rounded-polygon/src/index.ts +++ b/shapes/rounded-polygon/src/index.ts @@ -8,8 +8,8 @@ declare const __VERSION__: string; export async function loadRoundedPolygonShape(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(e => { - e.addShape(["rounded-polygon"], async () => { + await engine.pluginManager.register(e => { + e.pluginManager.addShape(["rounded-polygon"], async () => { const { RoundedPolygonDrawer } = await import("./RoundedPolygonDrawer.js"); return new RoundedPolygonDrawer(); diff --git a/shapes/rounded-rect/src/index.ts b/shapes/rounded-rect/src/index.ts index a1cf73f64f8..63b0349b6b6 100644 --- a/shapes/rounded-rect/src/index.ts +++ b/shapes/rounded-rect/src/index.ts @@ -8,8 +8,8 @@ declare const __VERSION__: string; export async function loadRoundedRectShape(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(e => { - e.addShape(["rounded-rect"], async () => { + await engine.pluginManager.register(e => { + e.pluginManager.addShape(["rounded-rect"], async () => { const { RoundedRectDrawer } = await import("./RoundedRectDrawer.js"); return new RoundedRectDrawer(); diff --git a/shapes/spiral/src/index.ts b/shapes/spiral/src/index.ts index 1c0f6729302..4723c1d6ef4 100644 --- a/shapes/spiral/src/index.ts +++ b/shapes/spiral/src/index.ts @@ -8,8 +8,8 @@ declare const __VERSION__: string; export async function loadSpiralShape(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(e => { - e.addShape(["spiral"], async () => { + await engine.pluginManager.register(e => { + e.pluginManager.addShape(["spiral"], async () => { const { SpiralDrawer } = await import("./SpiralDrawer.js"); return new SpiralDrawer(); diff --git a/shapes/square/src/index.ts b/shapes/square/src/index.ts index b978c557acc..f9b017a73ab 100644 --- a/shapes/square/src/index.ts +++ b/shapes/square/src/index.ts @@ -8,8 +8,8 @@ declare const __VERSION__: string; export async function loadSquareShape(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(e => { - e.addShape(["edge", "square"], async () => { + await engine.pluginManager.register(e => { + e.pluginManager.addShape(["edge", "square"], async () => { const { SquareDrawer } = await import("./SquareDrawer.js"); return new SquareDrawer(); diff --git a/shapes/squircle/src/index.ts b/shapes/squircle/src/index.ts index 9c4ce012433..9f2a37ee088 100644 --- a/shapes/squircle/src/index.ts +++ b/shapes/squircle/src/index.ts @@ -8,8 +8,8 @@ declare const __VERSION__: string; export async function loadSquircleShape(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(e => { - e.addShape(["squircle"], async () => { + await engine.pluginManager.register(e => { + e.pluginManager.addShape(["squircle"], async () => { const { SquircleDrawer } = await import("./SquircleDrawer.js"); return new SquircleDrawer(); diff --git a/shapes/star/src/index.ts b/shapes/star/src/index.ts index 771c4bc472e..eae8a7a4b52 100644 --- a/shapes/star/src/index.ts +++ b/shapes/star/src/index.ts @@ -8,8 +8,8 @@ declare const __VERSION__: string; export async function loadStarShape(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(e => { - e.addShape(["star"], async () => { + await engine.pluginManager.register(e => { + e.pluginManager.addShape(["star"], async () => { const { StarDrawer } = await import("./StarDrawer.js"); return new StarDrawer(); diff --git a/shapes/text/src/index.ts b/shapes/text/src/index.ts index fe3ea2d149c..e3ffd6a52e0 100644 --- a/shapes/text/src/index.ts +++ b/shapes/text/src/index.ts @@ -9,8 +9,8 @@ declare const __VERSION__: string; export async function loadTextShape(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(e => { - e.addShape(validTypes, async () => { + await engine.pluginManager.register(e => { + e.pluginManager.addShape(validTypes, async () => { const { TextDrawer } = await import("./TextDrawer.js"); return new TextDrawer(); diff --git a/updaters/destroy/src/DestroyUpdater.ts b/updaters/destroy/src/DestroyUpdater.ts index 8897c600daa..529aa0d10f0 100644 --- a/updaters/destroy/src/DestroyUpdater.ts +++ b/updaters/destroy/src/DestroyUpdater.ts @@ -1,8 +1,8 @@ import { type Container, - type Engine, type IParticleUpdater, type Particle, + type PluginManager, type RecursivePartial, getRangeValue, percentDenominator, @@ -13,16 +13,16 @@ import { DestroyMode } from "./Enums/DestroyMode.js"; import { split } from "./Utils.js"; export class DestroyUpdater implements IParticleUpdater { - private readonly container; - private readonly engine; + private readonly _container; + private readonly _pluginManager; - constructor(engine: Engine, container: Container) { - this.container = container; - this.engine = engine; + constructor(pluginManager: PluginManager, container: Container) { + this._container = container; + this._pluginManager = pluginManager; } init(particle: DestroyParticle): void { - const container = this.container, + const container = this._container, particlesOptions = particle.options, destroyOptions = particlesOptions.destroy; @@ -80,7 +80,7 @@ export class DestroyUpdater implements IParticleUpdater { const destroyOptions = particle.options.destroy; if (destroyOptions?.mode === DestroyMode.split) { - split(this.engine, this.container, particle); + split(this._pluginManager, this._container, particle); } } diff --git a/updaters/destroy/src/Utils.ts b/updaters/destroy/src/Utils.ts index 84ce3c99dc6..da59084bdc5 100644 --- a/updaters/destroy/src/Utils.ts +++ b/updaters/destroy/src/Utils.ts @@ -1,10 +1,10 @@ import { AnimatableColor, type Container, - type Engine, type IParticlesOptions, type Particle, PixelMode, + type PluginManager, type RecursivePartial, getRangeValue, identity, @@ -24,14 +24,14 @@ const defaultOffset = 0, minSplitCount = 0; /** - * @param engine - + * @param pluginManager - * @param container - * @param parent - * @param splitParticlesOptions - * @returns the added particle if any */ function addSplitParticle( - engine: Engine, + pluginManager: PluginManager, container: Container, parent: DestroyParticle, splitParticlesOptions?: RecursivePartial, @@ -43,7 +43,7 @@ function addSplitParticle( } const splitOptions = destroyOptions.split, - options = loadParticlesOptions(engine, container, parent.options), + options = loadParticlesOptions(pluginManager, container, parent.options), fillOptions = itemFromSingleOrMultiple(options.fill), strokeOptions = itemFromSingleOrMultiple(options.stroke); @@ -138,11 +138,11 @@ function addSplitParticle( /** * - * @param engine - + * @param pluginManager - * @param container - * @param particle - */ -export function split(engine: Engine, container: Container, particle: DestroyParticle): void { +export function split(pluginManager: PluginManager, container: Container, particle: DestroyParticle): void { const destroyOptions = particle.options.destroy; if (!destroyOptions) { @@ -163,6 +163,6 @@ export function split(engine: Engine, container: Container, particle: DestroyPar particlesSplitOptions = itemFromSingleOrMultiple(splitOptions.particles); for (let i = 0; i < rate; i++) { - addSplitParticle(engine, container, particle, particlesSplitOptions); + addSplitParticle(pluginManager, container, particle, particlesSplitOptions); } } diff --git a/updaters/destroy/src/index.ts b/updaters/destroy/src/index.ts index 8452d452702..a9a7a1851d3 100644 --- a/updaters/destroy/src/index.ts +++ b/updaters/destroy/src/index.ts @@ -8,11 +8,11 @@ declare const __VERSION__: string; export async function loadDestroyUpdater(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(e => { - e.addParticleUpdater("destroy", async container => { + await engine.pluginManager.register(e => { + e.pluginManager.addParticleUpdater("destroy", async container => { const { DestroyUpdater } = await import("./DestroyUpdater.js"); - return new DestroyUpdater(e, container); + return new DestroyUpdater(e.pluginManager, container); }); }); } diff --git a/updaters/fillColor/src/FillColorUpdater.ts b/updaters/fillColor/src/FillColorUpdater.ts index 14fa585b6d5..4bc2c76832b 100644 --- a/updaters/fillColor/src/FillColorUpdater.ts +++ b/updaters/fillColor/src/FillColorUpdater.ts @@ -1,9 +1,9 @@ import { type Container, - type Engine, type IDelta, type IParticleUpdater, type Particle, + type PluginManager, getHslAnimationFromHsl, getRangeValue, itemFromSingleOrMultiple, @@ -14,11 +14,11 @@ import type { FillParticle } from "./Types.js"; export class FillColorUpdater implements IParticleUpdater { private readonly _container; - private readonly _engine; + private readonly _pluginManager; - constructor(engine: Engine, container: Container) { + constructor(pluginManager: PluginManager, container: Container) { this._container = container; - this._engine = engine; + this._pluginManager = pluginManager; } init(particle: FillParticle): void { @@ -35,7 +35,7 @@ export class FillColorUpdater implements IParticleUpdater { particle.fillOpacity = getRangeValue(fill.opacity); particle.fillAnimation = fill.color.animation; - const fillHslColor = rangeColorToHsl(this._engine, fill.color); + const fillHslColor = rangeColorToHsl(this._pluginManager, fill.color); if (fillHslColor) { particle.fillColor = getHslAnimationFromHsl(fillHslColor, particle.fillAnimation, container.retina.reduceFactor); diff --git a/updaters/fillColor/src/index.ts b/updaters/fillColor/src/index.ts index a4956102de0..1c2555b7e6a 100644 --- a/updaters/fillColor/src/index.ts +++ b/updaters/fillColor/src/index.ts @@ -8,11 +8,11 @@ declare const __VERSION__: string; export async function loadFillColorUpdater(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(e => { - e.addParticleUpdater("color", async container => { + await engine.pluginManager.register(e => { + e.pluginManager.addParticleUpdater("color", async container => { const { FillColorUpdater } = await import("./FillColorUpdater.js"); - return new FillColorUpdater(e, container); + return new FillColorUpdater(e.pluginManager, container); }); }); } diff --git a/updaters/gradient/src/GradientUpdater.ts b/updaters/gradient/src/GradientUpdater.ts index a5f6bcc3bbb..fdcfd7c76fe 100644 --- a/updaters/gradient/src/GradientUpdater.ts +++ b/updaters/gradient/src/GradientUpdater.ts @@ -1,12 +1,12 @@ import { AnimationStatus, type Container, - type Engine, GradientType, type ICoordinates, type IDelta, type IParticleColorStyle, type IParticleUpdater, + type PluginManager, type RecursivePartial, RotateDirection, StartValueType, @@ -31,10 +31,10 @@ import { updateGradient } from "./Utils.js"; export class GradientUpdater implements IParticleUpdater { private readonly _container; - private readonly _engine; + private readonly _pluginManager; - constructor(engine: Engine, container: Container) { - this._engine = engine; + constructor(pluginManager: PluginManager, container: Container) { + this._pluginManager = pluginManager; this._container = container; } @@ -126,7 +126,7 @@ export class GradientUpdater implements IParticleUpdater { const reduceDuplicates = particle.options.reduceDuplicates; for (const grColor of gradient.colors) { - const grHslColor = rangeColorToHsl(this._engine, grColor.value, particle.id, reduceDuplicates); + const grHslColor = rangeColorToHsl(this._pluginManager, grColor.value, particle.id, reduceDuplicates); if (!grHslColor) { continue; diff --git a/updaters/gradient/src/index.ts b/updaters/gradient/src/index.ts index 12d31d0f710..417182523b0 100644 --- a/updaters/gradient/src/index.ts +++ b/updaters/gradient/src/index.ts @@ -8,11 +8,11 @@ declare const __VERSION__: string; export async function loadGradientUpdater(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(e => { - e.addParticleUpdater("gradient", async container => { + await engine.pluginManager.register(e => { + e.pluginManager.addParticleUpdater("gradient", async container => { const { GradientUpdater } = await import("./GradientUpdater.js"); - return new GradientUpdater(e, container); + return new GradientUpdater(e.pluginManager, container); }); }); } diff --git a/updaters/life/src/index.ts b/updaters/life/src/index.ts index e2d24f3d52c..44b654ff89b 100644 --- a/updaters/life/src/index.ts +++ b/updaters/life/src/index.ts @@ -8,8 +8,8 @@ declare const __VERSION__: string; export async function loadLifeUpdater(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(e => { - e.addParticleUpdater("life", async container => { + await engine.pluginManager.register(e => { + e.pluginManager.addParticleUpdater("life", async container => { const { LifeUpdater } = await import("./LifeUpdater.js"); return new LifeUpdater(container); diff --git a/updaters/opacity/src/index.ts b/updaters/opacity/src/index.ts index 8a17202dcac..0fc3b6dfa05 100644 --- a/updaters/opacity/src/index.ts +++ b/updaters/opacity/src/index.ts @@ -8,8 +8,8 @@ declare const __VERSION__: string; export async function loadOpacityUpdater(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(e => { - e.addParticleUpdater("opacity", async container => { + await engine.pluginManager.register(e => { + e.pluginManager.addParticleUpdater("opacity", async container => { const { OpacityUpdater } = await import("./OpacityUpdater.js"); return new OpacityUpdater(container); diff --git a/updaters/orbit/src/OrbitUpdater.ts b/updaters/orbit/src/OrbitUpdater.ts index afcfb64f1bb..aa95c928d9e 100644 --- a/updaters/orbit/src/OrbitUpdater.ts +++ b/updaters/orbit/src/OrbitUpdater.ts @@ -1,7 +1,7 @@ import { - type Engine, type IDelta, type IParticleUpdater, + type PluginManager, type RecursivePartial, defaultOpacity, doublePI, @@ -23,10 +23,10 @@ const defaultOrbitSpeed = 0, export class OrbitUpdater implements IParticleUpdater { private readonly _container; - private readonly _engine; + private readonly _pluginManager; - constructor(engine: Engine, container: OrbitContainer) { - this._engine = engine; + constructor(pluginManager: PluginManager, container: OrbitContainer) { + this._pluginManager = pluginManager; this._container = container; } @@ -92,7 +92,7 @@ export class OrbitUpdater implements IParticleUpdater { } particle.orbitRotation = getRangeValue(orbitOptions.rotation.value); - particle.orbitColor = rangeColorToHsl(this._engine, orbitOptions.color); + particle.orbitColor = rangeColorToHsl(this._pluginManager, orbitOptions.color); particle.retina.orbitRadius = orbitOptions.radius !== undefined ? getRangeValue(orbitOptions.radius) * container.retina.pixelRatio : undefined; container.retina.orbitRadius = particle.retina.orbitRadius; diff --git a/updaters/orbit/src/index.ts b/updaters/orbit/src/index.ts index 61d87d3c067..a34807bc1c7 100644 --- a/updaters/orbit/src/index.ts +++ b/updaters/orbit/src/index.ts @@ -8,11 +8,11 @@ declare const __VERSION__: string; export async function loadOrbitUpdater(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(e => { - e.addParticleUpdater("orbit", async container => { + await engine.pluginManager.register(e => { + e.pluginManager.addParticleUpdater("orbit", async container => { const { OrbitUpdater } = await import("./OrbitUpdater.js"); - return new OrbitUpdater(e, container); + return new OrbitUpdater(e.pluginManager, container); }); }); } diff --git a/updaters/outModes/src/index.ts b/updaters/outModes/src/index.ts index 2a77a5ed827..e1708df1f1a 100644 --- a/updaters/outModes/src/index.ts +++ b/updaters/outModes/src/index.ts @@ -8,8 +8,8 @@ declare const __VERSION__: string; export async function loadOutModesUpdater(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(e => { - e.addParticleUpdater("outModes", async container => { + await engine.pluginManager.register(e => { + e.pluginManager.addParticleUpdater("outModes", async container => { const { OutOfCanvasUpdater } = await import("./OutOfCanvasUpdater.js"); return new OutOfCanvasUpdater(container); diff --git a/updaters/roll/src/RollUpdater.ts b/updaters/roll/src/RollUpdater.ts index 2e510f4edf9..b59d67ef1b8 100644 --- a/updaters/roll/src/RollUpdater.ts +++ b/updaters/roll/src/RollUpdater.ts @@ -1,9 +1,9 @@ import { - type Engine, type IDelta, type IParticleTransformValues, type IParticleUpdater, type Particle, + type PluginManager, type RecursivePartial, } from "@tsparticles/engine"; import type { IRollParticlesOptions, RollParticle, RollParticlesOptions } from "./Types.js"; @@ -11,10 +11,10 @@ import { initParticle, updateRoll } from "./Utils.js"; import { Roll } from "./Options/Classes/Roll.js"; export class RollUpdater implements IParticleUpdater { - private readonly _engine; + private readonly _pluginManager; - constructor(engine: Engine) { - this._engine = engine; + constructor(pluginManager: PluginManager) { + this._pluginManager = pluginManager; } getTransformValues(particle: Particle): Partial { @@ -29,7 +29,7 @@ export class RollUpdater implements IParticleUpdater { } init(particle: RollParticle): void { - initParticle(this._engine, particle); + initParticle(this._pluginManager, particle); } isEnabled(particle: RollParticle): boolean { diff --git a/updaters/roll/src/Utils.ts b/updaters/roll/src/Utils.ts index 706c7324fa9..9511e2b0776 100644 --- a/updaters/roll/src/Utils.ts +++ b/updaters/roll/src/Utils.ts @@ -1,7 +1,7 @@ import { AlterType, - type Engine, type IDelta, + type PluginManager, doublePI, getRandom, getRangeValue, @@ -14,10 +14,10 @@ import type { RollParticle } from "./Types.js"; const maxAngle = 360; /** - * @param engine - + * @param pluginManager - * @param particle - */ -export function initParticle(engine: Engine, particle: RollParticle): void { +export function initParticle(pluginManager: PluginManager, particle: RollParticle): void { const rollOpt = particle.options.roll; if (!rollOpt?.enable) { @@ -41,7 +41,7 @@ export function initParticle(engine: Engine, particle: RollParticle): void { }; if (rollOpt.backColor) { - particle.backColor = rangeColorToHsl(engine, rollOpt.backColor); + particle.backColor = rangeColorToHsl(pluginManager, rollOpt.backColor); } else if (rollOpt.darken.enable && rollOpt.enlighten.enable) { const alterType = getRandom() >= half ? AlterType.darken : AlterType.enlighten; diff --git a/updaters/roll/src/index.ts b/updaters/roll/src/index.ts index 439b5cc43dd..e3552e351e1 100644 --- a/updaters/roll/src/index.ts +++ b/updaters/roll/src/index.ts @@ -8,11 +8,11 @@ declare const __VERSION__: string; export async function loadRollUpdater(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(e => { - e.addParticleUpdater("roll", async () => { + await engine.pluginManager.register(e => { + e.pluginManager.addParticleUpdater("roll", async () => { const { RollUpdater } = await import("./RollUpdater.js"); - return new RollUpdater(e); + return new RollUpdater(e.pluginManager); }); }); } diff --git a/updaters/rotate/src/index.ts b/updaters/rotate/src/index.ts index 2100aa04a01..224ab32dd66 100644 --- a/updaters/rotate/src/index.ts +++ b/updaters/rotate/src/index.ts @@ -8,8 +8,8 @@ declare const __VERSION__: string; export async function loadRotateUpdater(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(e => { - e.addParticleUpdater("rotate", async container => { + await engine.pluginManager.register(e => { + e.pluginManager.addParticleUpdater("rotate", async container => { const { RotateUpdater } = await import("./RotateUpdater.js"); return new RotateUpdater(container); diff --git a/updaters/size/src/index.ts b/updaters/size/src/index.ts index bc8f95f9462..fd572de518e 100644 --- a/updaters/size/src/index.ts +++ b/updaters/size/src/index.ts @@ -8,8 +8,8 @@ declare const __VERSION__: string; export async function loadSizeUpdater(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(e => { - e.addParticleUpdater("size", async container => { + await engine.pluginManager.register(e => { + e.pluginManager.addParticleUpdater("size", async container => { const { SizeUpdater } = await import("./SizeUpdater.js"); return new SizeUpdater(container); diff --git a/updaters/strokeColor/src/StrokeColorUpdater.ts b/updaters/strokeColor/src/StrokeColorUpdater.ts index deef143aef6..5f86f178fd0 100644 --- a/updaters/strokeColor/src/StrokeColorUpdater.ts +++ b/updaters/strokeColor/src/StrokeColorUpdater.ts @@ -1,9 +1,9 @@ import { type Container, - type Engine, type IDelta, type IParticleUpdater, type Particle, + type PluginManager, getHslAnimationFromHsl, getRangeValue, itemFromSingleOrMultiple, @@ -16,11 +16,11 @@ const defaultOpacity = 1; export class StrokeColorUpdater implements IParticleUpdater { private readonly _container; - private readonly _engine; + private readonly _pluginManager; - constructor(engine: Engine, container: Container) { + constructor(pluginManager: PluginManager, container: Container) { this._container = container; - this._engine = engine; + this._pluginManager = pluginManager; } init(particle: StrokeParticle): void { @@ -37,7 +37,7 @@ export class StrokeColorUpdater implements IParticleUpdater { particle.strokeOpacity = getRangeValue(stroke.opacity ?? defaultOpacity); particle.strokeAnimation = stroke.color?.animation; - const strokeHslColor = rangeColorToHsl(this._engine, stroke.color) ?? particle.getFillColor(); + const strokeHslColor = rangeColorToHsl(this._pluginManager, stroke.color) ?? particle.getFillColor(); if (strokeHslColor) { particle.strokeColor = getHslAnimationFromHsl( diff --git a/updaters/strokeColor/src/index.ts b/updaters/strokeColor/src/index.ts index 83919ee3ee0..1d5d0c751bb 100644 --- a/updaters/strokeColor/src/index.ts +++ b/updaters/strokeColor/src/index.ts @@ -8,11 +8,11 @@ declare const __VERSION__: string; export async function loadStrokeColorUpdater(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(e => { - e.addParticleUpdater("strokeColor", async container => { + await engine.pluginManager.register(e => { + e.pluginManager.addParticleUpdater("strokeColor", async container => { const { StrokeColorUpdater } = await import("./StrokeColorUpdater.js"); - return new StrokeColorUpdater(e, container); + return new StrokeColorUpdater(e.pluginManager, container); }); }); } diff --git a/updaters/tilt/src/index.ts b/updaters/tilt/src/index.ts index 04b1c0fa557..b3141bab3bc 100644 --- a/updaters/tilt/src/index.ts +++ b/updaters/tilt/src/index.ts @@ -8,8 +8,8 @@ declare const __VERSION__: string; export async function loadTiltUpdater(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(e => { - e.addParticleUpdater("tilt", async container => { + await engine.pluginManager.register(e => { + e.pluginManager.addParticleUpdater("tilt", async container => { const { TiltUpdater } = await import("./TiltUpdater.js"); return new TiltUpdater(container); diff --git a/updaters/twinkle/src/TwinkleUpdater.ts b/updaters/twinkle/src/TwinkleUpdater.ts index e3cb2873ed9..445ecf95ae6 100644 --- a/updaters/twinkle/src/TwinkleUpdater.ts +++ b/updaters/twinkle/src/TwinkleUpdater.ts @@ -1,9 +1,9 @@ import { type Container, - type Engine, type IParticleColorStyle, type IParticleUpdater, type Particle, + type PluginManager, type RecursivePartial, getRandom, getRangeValue, @@ -15,10 +15,10 @@ import { Twinkle } from "./Options/Classes/Twinkle.js"; export class TwinkleUpdater implements IParticleUpdater { private readonly _container; - private readonly _engine; + private readonly _pluginManager; - constructor(engine: Engine, container: Container) { - this._engine = engine; + constructor(pluginManager: PluginManager, container: Container) { + this._pluginManager = pluginManager; this._container = container; } @@ -42,8 +42,8 @@ export class TwinkleUpdater implements IParticleUpdater { zOffset = 1, zOpacityFactor = (zOffset - particle.zIndexFactor) ** zIndexOptions.opacityRate, twinklingOpacity = twinkling ? getRangeValue(twinkle.opacity) * zOpacityFactor : opacity, - twinkleFillRgb = rangeColorToHsl(this._engine, twinkle.fillColor), - twinkleStrokeRgb = rangeColorToHsl(this._engine, twinkle.strokeColor), + twinkleFillRgb = rangeColorToHsl(this._pluginManager, twinkle.fillColor), + twinkleStrokeRgb = rangeColorToHsl(this._pluginManager, twinkle.strokeColor), getTwinkleFillStyle = (): string | undefined => { if (!twinkleFillRgb) { return undefined; diff --git a/updaters/twinkle/src/index.ts b/updaters/twinkle/src/index.ts index adeb6477d96..c85d1c636fb 100644 --- a/updaters/twinkle/src/index.ts +++ b/updaters/twinkle/src/index.ts @@ -8,11 +8,11 @@ declare const __VERSION__: string; export async function loadTwinkleUpdater(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(e => { - e.addParticleUpdater("twinkle", async container => { + await engine.pluginManager.register(e => { + e.pluginManager.addParticleUpdater("twinkle", async container => { const { TwinkleUpdater } = await import("./TwinkleUpdater.js"); - return new TwinkleUpdater(e, container); + return new TwinkleUpdater(e.pluginManager, container); }); }); } diff --git a/updaters/wobble/src/index.ts b/updaters/wobble/src/index.ts index 4ebd76d0416..c208c248745 100644 --- a/updaters/wobble/src/index.ts +++ b/updaters/wobble/src/index.ts @@ -8,8 +8,8 @@ declare const __VERSION__: string; export async function loadWobbleUpdater(engine: Engine): Promise { engine.checkVersion(__VERSION__); - await engine.register(e => { - e.addParticleUpdater("wobble", async container => { + await engine.pluginManager.register(e => { + e.pluginManager.addParticleUpdater("wobble", async container => { const { WobbleUpdater } = await import("./WobbleUpdater.js"); return new WobbleUpdater(container); diff --git a/utils/configs/src/index.ts b/utils/configs/src/index.ts index af02eb1e5b7..cb143b5c0f5 100644 --- a/utils/configs/src/index.ts +++ b/utils/configs/src/index.ts @@ -34,7 +34,7 @@ for (const key of Object.keys(palettes)) { continue; } - tsParticles.addPalette(key, palette); + tsParticles.pluginManager.addPalette(key, palette); } const configs = { @@ -73,7 +73,7 @@ for (const key of Object.keys(configs)) { continue; } - tsParticles.addConfig(config); + tsParticles.pluginManager.addConfig(config); } export default configs; diff --git a/utils/tests/src/tests/ColorUtils.ts b/utils/tests/src/tests/ColorUtils.ts index 7d8a84c2827..23ee9fdb7e9 100644 --- a/utils/tests/src/tests/ColorUtils.ts +++ b/utils/tests/src/tests/ColorUtils.ts @@ -21,7 +21,9 @@ import { loadHsvColorPlugin } from "@tsparticles/plugin-hsv-color"; import { loadRgbColorPlugin } from "@tsparticles/plugin-rgb-color"; describe("ColorUtils", async () => { - await tsParticles.register(async engine => { + const pluginManager = tsParticles.pluginManager; + + await pluginManager.register(async engine => { await loadHexColorPlugin(engine); await loadHslColorPlugin(engine); await loadHsvColorPlugin(engine); @@ -42,7 +44,7 @@ describe("ColorUtils", async () => { value: "#ff0000", }; - expect(colorToRgb(tsParticles, color)).to.include(red).and.not.be.undefined.and.not.be.null; + expect(colorToRgb(pluginManager, color)).to.include(red).and.not.be.undefined.and.not.be.null; }); it("string value 2", () => { @@ -50,7 +52,7 @@ describe("ColorUtils", async () => { value: "rgb(255, 0, 0)", }; - expect(colorToRgb(tsParticles, color)).to.include(red).and.not.be.undefined.and.not.be.null; + expect(colorToRgb(pluginManager, color)).to.include(red).and.not.be.undefined.and.not.be.null; }); it("string value 3", () => { @@ -58,7 +60,7 @@ describe("ColorUtils", async () => { value: "rgba(255, 0, 0, 1)", }; - expect(colorToRgb(tsParticles, color)).to.include(red).and.not.be.undefined.and.not.be.null; + expect(colorToRgb(pluginManager, color)).to.include(red).and.not.be.undefined.and.not.be.null; }); it("string value 4", () => { @@ -66,7 +68,7 @@ describe("ColorUtils", async () => { value: "rgb(255 0 0)", }; - expect(colorToRgb(tsParticles, color)).to.include(red).and.not.be.undefined.and.not.be.null; + expect(colorToRgb(pluginManager, color)).to.include(red).and.not.be.undefined.and.not.be.null; }); it("string value 5", () => { @@ -74,7 +76,7 @@ describe("ColorUtils", async () => { value: "rgba(255 0 0 1)", }; - expect(colorToRgb(tsParticles, color)).to.include(red).and.not.be.undefined.and.not.be.null; + expect(colorToRgb(pluginManager, color)).to.include(red).and.not.be.undefined.and.not.be.null; }); it("string value 6", () => { @@ -82,7 +84,7 @@ describe("ColorUtils", async () => { value: "hsla(0, 100%, 50%, 1)", }; - expect(colorToRgb(tsParticles, color)).to.include(red).and.not.be.undefined.and.not.be.null; + expect(colorToRgb(pluginManager, color)).to.include(red).and.not.be.undefined.and.not.be.null; }); it("string value 7", () => { @@ -90,7 +92,7 @@ describe("ColorUtils", async () => { value: "hsla(0 100% 50% 1)", }; - expect(colorToRgb(tsParticles, color)).to.include(red).and.not.be.undefined.and.not.be.null; + expect(colorToRgb(pluginManager, color)).to.include(red).and.not.be.undefined.and.not.be.null; }); it("array string value", () => { @@ -98,7 +100,7 @@ describe("ColorUtils", async () => { value: ["#ff0000", "#00ff00", "#0000ff"], }; - expect(colorToRgb(tsParticles, color)).to.satisfy((rgb: IRgb) => { + expect(colorToRgb(pluginManager, color)).to.satisfy((rgb: IRgb) => { return rgb.r === 255 || rgb.g === 255 || rgb.b === 255; }).and.not.be.undefined.and.not.be.null; }); @@ -114,7 +116,7 @@ describe("ColorUtils", async () => { }, }; - expect(colorToRgb(tsParticles, color)).to.include(red).and.not.be.undefined.and.not.be.null; + expect(colorToRgb(pluginManager, color)).to.include(red).and.not.be.undefined.and.not.be.null; }); it("IValueColor w/ hsl value", () => { @@ -128,7 +130,7 @@ describe("ColorUtils", async () => { }, }; - expect(colorToRgb(tsParticles, color)).to.include(red).and.not.be.undefined.and.not.be.null; + expect(colorToRgb(pluginManager, color)).to.include(red).and.not.be.undefined.and.not.be.null; }); it("rgb value", () => { @@ -140,7 +142,7 @@ describe("ColorUtils", async () => { }, }; - expect(colorToRgb(tsParticles, color)).to.include(red).and.not.be.undefined.and.not.be.null; + expect(colorToRgb(pluginManager, color)).to.include(red).and.not.be.undefined.and.not.be.null; }); it("hsl value", () => { @@ -152,7 +154,7 @@ describe("ColorUtils", async () => { }, }; - expect(colorToRgb(tsParticles, color)).to.include(red).and.not.be.undefined.and.not.be.null; + expect(colorToRgb(pluginManager, color)).to.include(red).and.not.be.undefined.and.not.be.null; }); it("invalid string value", () => { @@ -160,19 +162,19 @@ describe("ColorUtils", async () => { value: "hello world", }; - expect(colorToRgb(tsParticles, color)).to.be.undefined; + expect(colorToRgb(pluginManager, color)).to.be.undefined; }); it("input undefined", () => { const color = undefined; - expect(colorToRgb(tsParticles, color)).to.be.undefined; + expect(colorToRgb(pluginManager, color)).to.be.undefined; }); it("random value", () => { const color = "random"; - expect(colorToRgb(tsParticles, color)).not.be.undefined.and.not.be.null; + expect(colorToRgb(pluginManager, color)).not.be.undefined.and.not.be.null; }); }); @@ -180,19 +182,19 @@ describe("ColorUtils", async () => { it("from hex with alpha string to alpha value", () => { const value = "#ff0000ff"; - expect(stringToAlpha(tsParticles, value)).to.equal(1).and.be.not.undefined; + expect(stringToAlpha(pluginManager, value)).to.equal(1).and.be.not.undefined; }); it("from hex without alpha string to alpha value", () => { const value = "#ff0000"; - expect(stringToAlpha(tsParticles, value)).to.equal(1).and.be.not.undefined; + expect(stringToAlpha(pluginManager, value)).to.equal(1).and.be.not.undefined; }); it("invalid string value", () => { const value = "hello world"; - expect(stringToAlpha(tsParticles, value)).to.be.undefined; + expect(stringToAlpha(pluginManager, value)).to.be.undefined; }); }); @@ -200,13 +202,13 @@ describe("ColorUtils", async () => { it("from hex string to rgb value", () => { const color = "#ff0000"; - expect(stringToRgb(tsParticles, color)).to.include(red).and.not.be.undefined.and.not.be.null; + expect(stringToRgb(pluginManager, color)).to.include(red).and.not.be.undefined.and.not.be.null; }); it("invalid string value", () => { const value = "hello world"; - expect(stringToRgb(tsParticles, value)).to.be.undefined; + expect(stringToRgb(pluginManager, value)).to.be.undefined; }); }); From 1779147fce7534846db763e939d726f1fcdb9845 Mon Sep 17 00:00:00 2001 From: Matteo Bruni <176620+matteobruni@users.noreply.github.com> Date: Mon, 30 Mar 2026 12:53:34 +0200 Subject: [PATCH 12/20] refactor: splitted the old canvas class to canvas and render managers --- engine/src/Core/CanvasManager.ts | 475 ++++++++++++++++++ engine/src/Core/Container.ts | 10 +- engine/src/Core/Particle.ts | 6 +- .../{Particles.ts => ParticlesManager.ts} | 4 +- .../src/Core/{Canvas.ts => RenderManager.ts} | 453 +---------------- engine/src/export-types.ts | 4 +- interactions/external/connect/src/Utils.ts | 2 +- interactions/external/grab/src/Utils.ts | 2 +- interactions/light/src/ExternalLighter.ts | 2 +- interactions/light/src/ParticlesLighter.ts | 2 +- .../src/BackgroundMaskPluginInstance.ts | 6 +- .../src/CanvasMaskPluginInstance.ts | 6 +- .../canvas/src/EmittersCanvasShape.ts | 6 +- .../path/src/EmittersPathShape.ts | 2 +- plugins/trail/src/TrailPluginInstance.ts | 4 +- shapes/cards/src/cards/CardDrawer.ts | 2 +- shapes/emoji/src/EmojiDrawer.ts | 4 +- shapes/image/src/ImageDrawer.ts | 2 +- updaters/orbit/src/OrbitUpdater.ts | 2 +- utils/noiseField/src/NoiseFieldGenerator.ts | 2 +- 20 files changed, 529 insertions(+), 467 deletions(-) create mode 100644 engine/src/Core/CanvasManager.ts rename engine/src/Core/{Particles.ts => ParticlesManager.ts} (99%) rename engine/src/Core/{Canvas.ts => RenderManager.ts} (53%) diff --git a/engine/src/Core/CanvasManager.ts b/engine/src/Core/CanvasManager.ts new file mode 100644 index 00000000000..f63f7223134 --- /dev/null +++ b/engine/src/Core/CanvasManager.ts @@ -0,0 +1,475 @@ +import { cloneStyle, getFullScreenStyle, safeMatchMedia, safeMutationObserver } from "../Utils/Utils.js"; +import { defaultZoom, generatedAttribute, half } from "./Utils/Constants.js"; +import { getStyleFromRgb, rangeColorToRgb } from "../Utils/ColorUtils.js"; +import type { Container } from "./Container.js"; +import type { IContainerPlugin } from "./Interfaces/IContainerPlugin.js"; +import type { ICoordinates } from "./Interfaces/ICoordinates.js"; +import type { IDimension } from "./Interfaces/IDimension.js"; +import type { PluginManager } from "./Utils/PluginManager.js"; +import { RenderManager } from "./RenderManager.js"; + +/** + * + * @param canvas - + * @param style - + * @param important - + */ +function setStyle(canvas: HTMLCanvasElement, style?: CSSStyleDeclaration, important = false): void { + if (!style) { + return; + } + + const element = canvas, + elementStyle = element.style, + keys = new Set(); + + for (let i = 0; i < elementStyle.length; i++) { + const key = elementStyle.item(i); + + if (!key) { + continue; + } + + keys.add(key); + } + + for (let i = 0; i < style.length; i++) { + const key = style.item(i); + + if (!key) { + continue; + } + + keys.add(key); + } + + for (const key of keys) { + const value = style.getPropertyValue(key); + + if (value) { + elementStyle.setProperty(key, value, important ? "important" : ""); + } else { + elementStyle.removeProperty(key); + } + } +} + +/** + * Canvas manager + */ +export class CanvasManager { + /** + * The particles canvas + */ + element?: HTMLCanvasElement; + + readonly render; + + /** + * The particles canvas dimension + */ + readonly size: IDimension; + + /** + * Current zoom level + */ + zoom = defaultZoom; + + private readonly _container; + private _generated; + private _mutationObserver?: MutationObserver; + private _originalStyle?: CSSStyleDeclaration; + private readonly _pluginManager; + private _pointerEvents: string; + private _resizePlugins: IContainerPlugin[]; + private readonly _standardSize: IDimension; + + /** + * Zoom center point (for centered zooming) + */ + private _zoomCenter?: ICoordinates; + + /** + * Constructor of canvas manager + * @param pluginManager - the engine managing the whole library + * @param container - the parent container + */ + constructor(pluginManager: PluginManager, container: Container) { + this._pluginManager = pluginManager; + this._container = container; + this.render = new RenderManager(pluginManager, container, this); + this._standardSize = { + height: 0, + width: 0, + }; + + const pxRatio = container.retina.pixelRatio, + stdSize = this._standardSize; + + this.size = { + height: stdSize.height * pxRatio, + width: stdSize.width * pxRatio, + }; + + this._generated = false; + this._resizePlugins = []; + this._pointerEvents = "none"; + } + + private get _fullScreen(): boolean { + return this._container.actualOptions.fullScreen.enable; + } + + /** + * Destroying object actions + */ + destroy(): void { + this.stop(); + + if (this._generated) { + const element = this.element; + + element?.remove(); + + this.element = undefined; + } else { + this._resetOriginalStyle(); + } + + this.render.destroy(); + + this._resizePlugins = []; + } + + getZoomCenter(): ICoordinates { + const pxRatio = this._container.retina.pixelRatio, + { width, height } = this.size; + + if (this._zoomCenter) { + return this._zoomCenter; + } + + return { + x: (width * half) / pxRatio, + y: (height * half) / pxRatio, + }; + } + + /** + * Initializes the canvas element + */ + init(): void { + this._safeMutationObserver(obs => { + obs.disconnect(); + }); + this._mutationObserver = safeMutationObserver(records => { + for (const record of records) { + if (record.type === "attributes" && record.attributeName === "style") { + this._repairStyle(); + } + } + }); + + this.resize(); + this._initStyle(); + this.initBackground(); + this._safeMutationObserver(obs => { + if (!this.element || !(this.element instanceof Node)) { + return; + } + + obs.observe(this.element, { attributes: true }); + }); + + this.initPlugins(); + this.render.init(); + } + + /** + * Initializes the canvas background + */ + initBackground(): void { + const { _container } = this, + options = _container.actualOptions, + background = options.background, + element = this.element; + + if (!element) { + return; + } + + const elementStyle = element.style, + color = rangeColorToRgb(this._pluginManager, background.color); + + if (color) { + elementStyle.backgroundColor = getStyleFromRgb(color, _container.hdr, background.opacity); + } else { + elementStyle.backgroundColor = ""; + } + + elementStyle.backgroundImage = background.image || ""; + elementStyle.backgroundPosition = background.position || ""; + elementStyle.backgroundRepeat = background.repeat || ""; + elementStyle.backgroundSize = background.size || ""; + } + + /** + * Initializes the plugins needed by canvas + */ + initPlugins(): void { + this._resizePlugins = []; + + for (const plugin of this._container.plugins) { + if (plugin.resize) { + this._resizePlugins.push(plugin); + } + } + } + + /** + * Loads the canvas HTML element + * @param canvas - the canvas HTML element + */ + loadCanvas(canvas: HTMLCanvasElement): void { + if (this._generated && this.element) { + this.element.remove(); + } + + const container = this._container; + + this._generated = + generatedAttribute in canvas.dataset ? canvas.dataset[generatedAttribute] === "true" : this._generated; + this.element = canvas; + this.element.ariaHidden = "true"; + this._originalStyle = cloneStyle(this.element.style); + + const standardSize = this._standardSize; + + standardSize.height = canvas.offsetHeight; + standardSize.width = canvas.offsetWidth; + + const pxRatio = this._container.retina.pixelRatio, + retinaSize = this.size; + + canvas.height = retinaSize.height = standardSize.height * pxRatio; + canvas.width = retinaSize.width = standardSize.width * pxRatio; + + const canSupportHdrQuery = safeMatchMedia("(color-gamut: p3)"); + + this.render.setContextSettings({ + alpha: true, + colorSpace: canSupportHdrQuery?.matches && container.hdr ? "display-p3" : "srgb", + desynchronized: true, + willReadFrequently: false, + }); + this.render.setContext(this.element.getContext("2d", this.render.settings)); + + this._safeMutationObserver(obs => { + obs.disconnect(); + }); + + container.retina.init(); + this.initBackground(); + + this._safeMutationObserver(obs => { + if (!this.element || !(this.element instanceof Node)) { + return; + } + + obs.observe(this.element, { attributes: true }); + }); + } + + /** + * Calculates the size of the canvas + * @returns true if the size changed + */ + resize(): boolean { + if (!this.element) { + return false; + } + + const container = this._container, + currentSize = container.canvas._standardSize, + newSize = { + width: this.element.offsetWidth, + height: this.element.offsetHeight, + }, + pxRatio = container.retina.pixelRatio, + retinaSize = { + width: newSize.width * pxRatio, + height: newSize.height * pxRatio, + }; + + if ( + newSize.height === currentSize.height && + newSize.width === currentSize.width && + retinaSize.height === this.element.height && + retinaSize.width === this.element.width + ) { + return false; + } + + const oldSize = { ...currentSize }; + + currentSize.height = newSize.height; + currentSize.width = newSize.width; + + const canvasSize = this.size; + + this.element.width = canvasSize.width = retinaSize.width; + this.element.height = canvasSize.height = retinaSize.height; + + if (this._container.started) { + container.particles.setResizeFactor({ + width: currentSize.width / oldSize.width, + height: currentSize.height / oldSize.height, + }); + } + + return true; + } + + setPointerEvents(type: string): void { + const element = this.element; + + if (!element) { + return; + } + + this._pointerEvents = type; + this._repairStyle(); + } + + /** + * Sets the zoom level and center point + * @param zoomLevel - the new zoom level + * @param center - optional center point for zoom (default is canvas center) + */ + setZoom(zoomLevel: number, center?: ICoordinates): void { + this.zoom = zoomLevel; + this._zoomCenter = center; + } + + stop(): void { + this._safeMutationObserver(obs => { + obs.disconnect(); + }); + + this._mutationObserver = undefined; + + this.render.stop(); + } + + /** + * The window resize event handler + */ + async windowResize(): Promise { + if (!this.element || !this.resize()) { + return; + } + + const container = this._container, + needsRefresh = container.updateActualOptions(); + + /* density particles enabled */ + container.particles.setDensity(); + + this._applyResizePlugins(); + + if (needsRefresh) { + await container.refresh(); + } + } + + private readonly _applyResizePlugins: () => void = () => { + for (const plugin of this._resizePlugins) { + plugin.resize?.(); + } + }; + + private readonly _initStyle: () => void = () => { + const element = this.element, + options = this._container.actualOptions; + + if (!element) { + return; + } + + if (this._fullScreen) { + this._setFullScreenStyle(); + } else { + this._resetOriginalStyle(); + } + + for (const key in options.style) { + if (!key || !(key in options.style)) { + continue; + } + + const value = options.style[key]; + + if (!value) { + continue; + } + + element.style.setProperty(key, value, "important"); + } + }; + + private readonly _repairStyle: () => void = () => { + const element = this.element; + + if (!element) { + return; + } + + this._safeMutationObserver(observer => { + observer.disconnect(); + }); + this._initStyle(); + this.initBackground(); + + const pointerEvents = this._pointerEvents; + + element.style.pointerEvents = pointerEvents; + element.setAttribute("pointer-events", pointerEvents); + + this._safeMutationObserver(observer => { + if (!(element instanceof Node)) { + return; + } + + observer.observe(element, { attributes: true }); + }); + }; + + private readonly _resetOriginalStyle: () => void = () => { + const element = this.element, + originalStyle = this._originalStyle; + + if (!element || !originalStyle) { + return; + } + + setStyle(element, originalStyle, true); + }; + + private readonly _safeMutationObserver: (callback: (observer: MutationObserver) => void) => void = callback => { + if (!this._mutationObserver) { + return; + } + + callback(this._mutationObserver); + }; + + private readonly _setFullScreenStyle: () => void = () => { + const element = this.element; + + if (!element) { + return; + } + + setStyle(element, getFullScreenStyle(this._container.actualOptions.fullScreen.zIndex), true); + }; +} diff --git a/engine/src/Core/Container.ts b/engine/src/Core/Container.ts index 8b26e758a97..51e21485f85 100644 --- a/engine/src/Core/Container.ts +++ b/engine/src/Core/Container.ts @@ -7,7 +7,7 @@ import { removeDeleteCount, removeMinIndex, } from "./Utils/Constants.js"; -import { Canvas } from "./Canvas.js"; +import { CanvasManager } from "./CanvasManager.js"; import type { Engine } from "./Engine.js"; import { EventListeners } from "./Utils/EventListeners.js"; import { EventType } from "../Enums/Types/EventType.js"; @@ -19,7 +19,7 @@ import type { IPlugin } from "./Interfaces/IPlugin.js"; import { type IShapeDrawer } from "./Interfaces/IShapeDrawer.js"; import type { ISourceOptions } from "../Types/ISourceOptions.js"; import { Options } from "../Options/Classes/Options.js"; -import { Particles } from "./Particles.js"; +import { ParticlesManager } from "./ParticlesManager.js"; import type { PluginManager } from "./Utils/PluginManager.js"; import { Retina } from "./Retina.js"; import { getLogger } from "../Utils/LogUtils.js"; @@ -182,8 +182,8 @@ export class Container { this.shapeDrawers = new Map(); this.particleUpdaters = []; this.retina = new Retina(this); - this.canvas = new Canvas(this._engine.pluginManager, this); - this.particles = new Particles(this._engine.pluginManager, this); + this.canvas = new CanvasManager(this._engine.pluginManager, this); + this.particles = new ParticlesManager(this._engine.pluginManager, this); this.plugins = []; this.particleDestroyedPlugins = []; this.particleCreatedPlugins = []; @@ -625,7 +625,7 @@ export class Container { return; } - this.canvas.drawParticles(this._delta); + this.canvas.render.drawParticles(this._delta); if (!this.alive()) { this.destroy(); diff --git a/engine/src/Core/Particle.ts b/engine/src/Core/Particle.ts index e9afc4282dc..0e068b7bfdc 100644 --- a/engine/src/Core/Particle.ts +++ b/engine/src/Core/Particle.ts @@ -410,10 +410,10 @@ export class Particle { draw(delta: IDelta): void { const container = this._container, - canvas = container.canvas; + render = container.canvas.render; - canvas.drawParticlePlugins(this, delta); - canvas.drawParticle(this, delta); + render.drawParticlePlugins(this, delta); + render.drawParticle(this, delta); } getAngle(): number { diff --git a/engine/src/Core/Particles.ts b/engine/src/Core/ParticlesManager.ts similarity index 99% rename from engine/src/Core/Particles.ts rename to engine/src/Core/ParticlesManager.ts index 5b1a94d2911..4e8d6ce2c6b 100644 --- a/engine/src/Core/Particles.ts +++ b/engine/src/Core/ParticlesManager.ts @@ -30,7 +30,7 @@ import { loadParticlesOptions } from "../Utils/OptionsUtils.js"; /** * Particles manager object */ -export class Particles { +export class ParticlesManager { checkParticlePositionPlugins: IContainerPlugin[]; grid; @@ -295,7 +295,7 @@ export class Particles { this.clear(); await this.init(); - this._container.canvas.drawParticles({ value: 0, factor: 0 }); + this._container.canvas.render.drawParticles({ value: 0, factor: 0 }); } remove(particle: Particle, group?: string, override?: boolean): void { diff --git a/engine/src/Core/Canvas.ts b/engine/src/Core/RenderManager.ts similarity index 53% rename from engine/src/Core/Canvas.ts rename to engine/src/Core/RenderManager.ts index aaeaccd70ce..32e6a646847 100644 --- a/engine/src/Core/Canvas.ts +++ b/engine/src/Core/RenderManager.ts @@ -1,20 +1,10 @@ import { clear, drawParticle, drawParticlePlugin, paintBase, paintImage } from "../Utils/CanvasUtils.js"; -import { cloneStyle, getFullScreenStyle, safeMatchMedia, safeMutationObserver } from "../Utils/Utils.js"; -import { - defaultCompositeValue, - defaultTransformValue, - defaultZoom, - generatedAttribute, - half, - minimumSize, - zIndexFactorOffset, -} from "./Utils/Constants.js"; -import { getStyleFromHsl, getStyleFromRgb, rangeColorToHsl, rangeColorToRgb } from "../Utils/ColorUtils.js"; +import { defaultCompositeValue, defaultTransformValue, minimumSize, zIndexFactorOffset } from "./Utils/Constants.js"; +import { getStyleFromHsl, rangeColorToHsl } from "../Utils/ColorUtils.js"; +import type { CanvasManager } from "./CanvasManager.js"; import type { Container } from "./Container.js"; import type { IContainerPlugin } from "./Interfaces/IContainerPlugin.js"; -import type { ICoordinates } from "./Interfaces/ICoordinates.js"; import type { IDelta } from "./Interfaces/IDelta.js"; -import type { IDimension } from "./Interfaces/IDimension.js"; import type { IHsl } from "./Interfaces/Colors.js"; import type { IParticleColorStyle } from "./Interfaces/IParticleColorStyle.js"; import type { IParticleTransformValues } from "./Interfaces/IParticleTransformValues.js"; @@ -42,74 +32,13 @@ function setTransformValue( } } -/** - * - * @param canvas - - * @param style - - * @param important - - */ -function setStyle(canvas: HTMLCanvasElement, style?: CSSStyleDeclaration, important = false): void { - if (!style) { - return; - } - - const element = canvas, - elementStyle = element.style, - keys = new Set(); - - for (let i = 0; i < elementStyle.length; i++) { - const key = elementStyle.item(i); - - if (!key) { - continue; - } - - keys.add(key); - } - - for (let i = 0; i < style.length; i++) { - const key = style.item(i); - - if (!key) { - continue; - } - - keys.add(key); - } - - for (const key of keys) { - const value = style.getPropertyValue(key); - - if (value) { - elementStyle.setProperty(key, value, important ? "important" : ""); - } else { - elementStyle.removeProperty(key); - } - } -} - /** * Canvas manager */ -export class Canvas { - /** - * The particles canvas - */ - element?: HTMLCanvasElement; - - /** - * The particles canvas dimension - */ - readonly size: IDimension; - - /** - * Current zoom level - */ - zoom = defaultZoom; - +export class RenderManager { private _canvasClearPlugins: IContainerPlugin[]; + private readonly _canvasManager: CanvasManager; private _canvasPaintPlugins: IContainerPlugin[]; - private _canvasSettings?: CanvasRenderingContext2DSettings; private _clearDrawPlugins: IContainerPlugin[]; private _colorPlugins: IContainerPlugin[]; private readonly _container; @@ -117,56 +46,33 @@ export class Canvas { * The particles canvas context */ private _context: CanvasRenderingContext2D | null; + private _contextSettings?: CanvasRenderingContext2DSettings; private _drawParticlePlugins: IContainerPlugin[]; private _drawParticlesCleanupPlugins: IContainerPlugin[]; private _drawParticlesSetupPlugins: IContainerPlugin[]; private _drawPlugins: IContainerPlugin[]; private _drawSettingsCleanupPlugins: IContainerPlugin[]; private _drawSettingsSetupPlugins: IContainerPlugin[]; - private _generated; - private _mutationObserver?: MutationObserver; - private _originalStyle?: CSSStyleDeclaration; private readonly _pluginManager; - private _pointerEvents: string; private _postDrawUpdaters: IParticleUpdater[]; private _preDrawUpdaters: IParticleUpdater[]; - private _resizePlugins: IContainerPlugin[]; private readonly _reusableColorStyles: IParticleColorStyle = {}; private readonly _reusablePluginColors: (IHsl | undefined)[] = [undefined, undefined]; private readonly _reusableTransform: Partial = {}; - private readonly _standardSize: IDimension; - - /** - * Zoom center point (for centered zooming) - */ - private _zoomCenter?: ICoordinates; /** * Constructor of canvas manager * @param pluginManager - the engine managing the whole library * @param container - the parent container + * @param canvasManager - */ - constructor(pluginManager: PluginManager, container: Container) { + constructor(pluginManager: PluginManager, container: Container, canvasManager: CanvasManager) { this._pluginManager = pluginManager; this._container = container; - this._standardSize = { - height: 0, - width: 0, - }; - - const pxRatio = container.retina.pixelRatio, - stdSize = this._standardSize; - - this.size = { - height: stdSize.height * pxRatio, - width: stdSize.width * pxRatio, - }; - + this._canvasManager = canvasManager; this._context = null; - this._generated = false; this._preDrawUpdaters = []; this._postDrawUpdaters = []; - this._resizePlugins = []; this._colorPlugins = []; this._canvasClearPlugins = []; this._canvasPaintPlugins = []; @@ -177,15 +83,10 @@ export class Canvas { this._drawPlugins = []; this._drawSettingsSetupPlugins = []; this._drawSettingsCleanupPlugins = []; - this._pointerEvents = "none"; } get settings(): CanvasRenderingContext2DSettings | undefined { - return this._canvasSettings; - } - - private get _fullScreen(): boolean { - return this._container.actualOptions.fullScreen.enable; + return this._contextSettings; } canvasClear(): void { @@ -194,7 +95,7 @@ export class Canvas { } this.draw(ctx => { - clear(ctx, this.size); + clear(ctx, this._canvasManager.size); }); } @@ -225,19 +126,8 @@ export class Canvas { destroy(): void { this.stop(); - if (this._generated) { - const element = this.element; - - element?.remove(); - - this.element = undefined; - } else { - this._resetOriginalStyle(); - } - this._preDrawUpdaters = []; this._postDrawUpdaters = []; - this._resizePlugins = []; this._colorPlugins = []; this._canvasClearPlugins = []; this._canvasPaintPlugins = []; @@ -375,83 +265,19 @@ export class Canvas { }); } - getZoomCenter(): ICoordinates { - const pxRatio = this._container.retina.pixelRatio, - { width, height } = this.size; - - if (this._zoomCenter) { - return this._zoomCenter; - } - - return { - x: (width * half) / pxRatio, - y: (height * half) / pxRatio, - }; - } - /** * Initializes the canvas element */ init(): void { - this._safeMutationObserver(obs => { - obs.disconnect(); - }); - this._mutationObserver = safeMutationObserver(records => { - for (const record of records) { - if (record.type === "attributes" && record.attributeName === "style") { - this._repairStyle(); - } - } - }); - - this.resize(); - this._initStyle(); - this.initBackground(); - this._safeMutationObserver(obs => { - if (!this.element || !(this.element instanceof Node)) { - return; - } - - obs.observe(this.element, { attributes: true }); - }); this.initUpdaters(); this.initPlugins(); this.paint(); } - /** - * Initializes the canvas background - */ - initBackground(): void { - const { _container } = this, - options = _container.actualOptions, - background = options.background, - element = this.element; - - if (!element) { - return; - } - - const elementStyle = element.style, - color = rangeColorToRgb(this._pluginManager, background.color); - - if (color) { - elementStyle.backgroundColor = getStyleFromRgb(color, _container.hdr, background.opacity); - } else { - elementStyle.backgroundColor = ""; - } - - elementStyle.backgroundImage = background.image || ""; - elementStyle.backgroundPosition = background.position || ""; - elementStyle.backgroundRepeat = background.repeat || ""; - elementStyle.backgroundSize = background.size || ""; - } - /** * Initializes the plugins needed by canvas */ initPlugins(): void { - this._resizePlugins = []; this._colorPlugins = []; this._canvasClearPlugins = []; this._canvasPaintPlugins = []; @@ -464,10 +290,6 @@ export class Canvas { this._drawSettingsCleanupPlugins = []; for (const plugin of this._container.plugins) { - if (plugin.resize) { - this._resizePlugins.push(plugin); - } - if (plugin.particleFillColor ?? plugin.particleStrokeColor) { this._colorPlugins.push(plugin); } @@ -528,64 +350,6 @@ export class Canvas { } } - /** - * Loads the canvas HTML element - * @param canvas - the canvas HTML element - */ - loadCanvas(canvas: HTMLCanvasElement): void { - if (this._generated && this.element) { - this.element.remove(); - } - - const container = this._container; - - this._generated = - generatedAttribute in canvas.dataset ? canvas.dataset[generatedAttribute] === "true" : this._generated; - this.element = canvas; - this.element.ariaHidden = "true"; - this._originalStyle = cloneStyle(this.element.style); - - const standardSize = this._standardSize; - - standardSize.height = canvas.offsetHeight; - standardSize.width = canvas.offsetWidth; - - const pxRatio = this._container.retina.pixelRatio, - retinaSize = this.size; - - canvas.height = retinaSize.height = standardSize.height * pxRatio; - canvas.width = retinaSize.width = standardSize.width * pxRatio; - - const canSupportHdrQuery = safeMatchMedia("(color-gamut: p3)"); - - this._canvasSettings = { - alpha: true, - colorSpace: canSupportHdrQuery?.matches && container.hdr ? "display-p3" : "srgb", - desynchronized: true, - willReadFrequently: false, - }; - this._context = this.element.getContext("2d", this._canvasSettings); - - if (this._context) { - this._context.globalCompositeOperation = defaultCompositeValue; - } - - this._safeMutationObserver(obs => { - obs.disconnect(); - }); - - container.retina.init(); - this.initBackground(); - - this._safeMutationObserver(obs => { - if (!this.element || !(this.element instanceof Node)) { - return; - } - - obs.observe(this.element, { attributes: true }); - }); - } - /** * Paints the canvas background */ @@ -609,120 +373,34 @@ export class Canvas { paintBase(baseColor?: string): void { this.draw(ctx => { - paintBase(ctx, this.size, baseColor); + paintBase(ctx, this._canvasManager.size, baseColor); }); } paintImage(image: HTMLImageElement, opacity: number): void { this.draw(ctx => { - paintImage(ctx, this.size, image, opacity); + paintImage(ctx, this._canvasManager.size, image, opacity); }); } - /** - * Calculates the size of the canvas - * @returns true if the size changed - */ - resize(): boolean { - if (!this.element) { - return false; - } - - const container = this._container, - currentSize = container.canvas._standardSize, - newSize = { - width: this.element.offsetWidth, - height: this.element.offsetHeight, - }, - pxRatio = container.retina.pixelRatio, - retinaSize = { - width: newSize.width * pxRatio, - height: newSize.height * pxRatio, - }; - - if ( - newSize.height === currentSize.height && - newSize.width === currentSize.width && - retinaSize.height === this.element.height && - retinaSize.width === this.element.width - ) { - return false; - } - - const oldSize = { ...currentSize }; - - currentSize.height = newSize.height; - currentSize.width = newSize.width; - - const canvasSize = this.size; - - this.element.width = canvasSize.width = retinaSize.width; - this.element.height = canvasSize.height = retinaSize.height; - - if (this._container.started) { - container.particles.setResizeFactor({ - width: currentSize.width / oldSize.width, - height: currentSize.height / oldSize.height, - }); - } - - return true; - } - - setPointerEvents(type: string): void { - const element = this.element; + setContext(context: CanvasRenderingContext2D | null): void { + this._context = context; - if (!element) { - return; + if (this._context) { + this._context.globalCompositeOperation = defaultCompositeValue; } - - this._pointerEvents = type; - this._repairStyle(); } - /** - * Sets the zoom level and center point - * @param zoomLevel - the new zoom level - * @param center - optional center point for zoom (default is canvas center) - */ - setZoom(zoomLevel: number, center?: ICoordinates): void { - this.zoom = zoomLevel; - this._zoomCenter = center; + setContextSettings(settings: CanvasRenderingContext2DSettings): void { + this._contextSettings = settings; } stop(): void { - this._safeMutationObserver(obs => { - obs.disconnect(); - }); - - this._mutationObserver = undefined; - this.draw(ctx => { - clear(ctx, this.size); + clear(ctx, this._canvasManager.size); }); } - /** - * The window resize event handler - */ - async windowResize(): Promise { - if (!this.element || !this.resize()) { - return; - } - - const container = this._container, - needsRefresh = container.updateActualOptions(); - - /* density particles enabled */ - container.particles.setDensity(); - - this._applyResizePlugins(); - - if (needsRefresh) { - await container.refresh(); - } - } - private readonly _applyPostDrawUpdaters: (particle: Particle) => void = particle => { for (const updater of this._postDrawUpdaters) { updater.afterDraw?.(particle); @@ -762,12 +440,6 @@ export class Canvas { } }; - private readonly _applyResizePlugins: () => void = () => { - for (const plugin of this._resizePlugins) { - plugin.resize?.(); - } - }; - private readonly _getPluginParticleColors: (particle: Particle) => (IHsl | undefined)[] = particle => { let fColor: IHsl | undefined, sColor: IHsl | undefined; @@ -790,89 +462,4 @@ export class Canvas { return this._reusablePluginColors; }; - - private readonly _initStyle: () => void = () => { - const element = this.element, - options = this._container.actualOptions; - - if (!element) { - return; - } - - if (this._fullScreen) { - this._setFullScreenStyle(); - } else { - this._resetOriginalStyle(); - } - - for (const key in options.style) { - if (!key || !(key in options.style)) { - continue; - } - - const value = options.style[key]; - - if (!value) { - continue; - } - - element.style.setProperty(key, value, "important"); - } - }; - - private readonly _repairStyle: () => void = () => { - const element = this.element; - - if (!element) { - return; - } - - this._safeMutationObserver(observer => { - observer.disconnect(); - }); - this._initStyle(); - this.initBackground(); - - const pointerEvents = this._pointerEvents; - - element.style.pointerEvents = pointerEvents; - element.setAttribute("pointer-events", pointerEvents); - - this._safeMutationObserver(observer => { - if (!(element instanceof Node)) { - return; - } - - observer.observe(element, { attributes: true }); - }); - }; - - private readonly _resetOriginalStyle: () => void = () => { - const element = this.element, - originalStyle = this._originalStyle; - - if (!element || !originalStyle) { - return; - } - - setStyle(element, originalStyle, true); - }; - - private readonly _safeMutationObserver: (callback: (observer: MutationObserver) => void) => void = callback => { - if (!this._mutationObserver) { - return; - } - - callback(this._mutationObserver); - }; - - private readonly _setFullScreenStyle: () => void = () => { - const element = this.element; - - if (!element) { - return; - } - - setStyle(element, getFullScreenStyle(this._container.actualOptions.fullScreen.zIndex), true); - }; } diff --git a/engine/src/export-types.ts b/engine/src/export-types.ts index 7ad39ba059a..98bc773108c 100644 --- a/engine/src/export-types.ts +++ b/engine/src/export-types.ts @@ -88,10 +88,10 @@ export type * from "./Types/SingleOrMultiple.js"; export type { EventListeners } from "./Core/Utils/EventListeners.js"; export type { SpatialHashGrid } from "./Core/Utils/SpatialHashGrid.js"; -export type { Canvas } from "./Core/Canvas.js"; +export type { CanvasManager } from "./Core/CanvasManager.js"; export type { Container } from "./Core/Container.js"; export type { Particle } from "./Core/Particle.js"; -export type { Particles } from "./Core/Particles.js"; +export type { ParticlesManager } from "./Core/ParticlesManager.js"; export type { Retina } from "./Core/Retina.js"; export type { Engine } from "./Core/Engine.js"; export type { PluginManager } from "./Core/Utils/PluginManager.js"; diff --git a/interactions/external/connect/src/Utils.ts b/interactions/external/connect/src/Utils.ts index ae6f7003f0c..7d8e2e5b1c8 100644 --- a/interactions/external/connect/src/Utils.ts +++ b/interactions/external/connect/src/Utils.ts @@ -99,7 +99,7 @@ export function lineStyle( * @param p2 - */ export function drawConnection(container: ConnectContainer, p1: LinkParticle, p2: LinkParticle): void { - container.canvas.draw(ctx => { + container.canvas.render.draw(ctx => { const ls = lineStyle(container, ctx, p1, p2); if (!ls) { diff --git a/interactions/external/grab/src/Utils.ts b/interactions/external/grab/src/Utils.ts index 02699648f04..3829abcc46f 100644 --- a/interactions/external/grab/src/Utils.ts +++ b/interactions/external/grab/src/Utils.ts @@ -44,7 +44,7 @@ export function drawGrab( opacity: number, mousePos: ICoordinates, ): void { - container.canvas.draw(ctx => { + container.canvas.render.draw(ctx => { const beginPos = particle.getPosition(); drawGrabLine( diff --git a/interactions/light/src/ExternalLighter.ts b/interactions/light/src/ExternalLighter.ts index d6b3fbed87f..40871196b07 100644 --- a/interactions/light/src/ExternalLighter.ts +++ b/interactions/light/src/ExternalLighter.ts @@ -42,7 +42,7 @@ export class ExternalLighter extends ExternalInteractorBase { return; } - container.canvas.draw(ctx => { + container.canvas.render.draw(ctx => { drawLight(container, ctx, mousePos); }); } diff --git a/interactions/light/src/ParticlesLighter.ts b/interactions/light/src/ParticlesLighter.ts index 17e4dba11fd..ae440c60350 100644 --- a/interactions/light/src/ParticlesLighter.ts +++ b/interactions/light/src/ParticlesLighter.ts @@ -37,7 +37,7 @@ export class ParticlesLighter extends ParticlesInteractorBase { return; } - container.canvas.draw(ctx => { + container.canvas.render.draw(ctx => { drawParticleShadow(container, ctx, particle, mousePos); }); } diff --git a/plugins/backgroundMask/src/BackgroundMaskPluginInstance.ts b/plugins/backgroundMask/src/BackgroundMaskPluginInstance.ts index 644c61a85c3..c939fff3e2c 100644 --- a/plugins/backgroundMask/src/BackgroundMaskPluginInstance.ts +++ b/plugins/backgroundMask/src/BackgroundMaskPluginInstance.ts @@ -36,12 +36,12 @@ export class BackgroundMaskPluginInstance implements IContainerPlugin { const canvas = this._container.canvas; - canvas.canvasClear(); + canvas.render.canvasClear(); if (this._coverImage) { - canvas.paintImage(this._coverImage.image, this._coverImage.opacity); + canvas.render.paintImage(this._coverImage.image, this._coverImage.opacity); } else { - canvas.paintBase(this._coverColorStyle); + canvas.render.paintBase(this._coverColorStyle); } return true; diff --git a/plugins/canvasMask/src/CanvasMaskPluginInstance.ts b/plugins/canvasMask/src/CanvasMaskPluginInstance.ts index d4ef5856f4e..753ca999818 100644 --- a/plugins/canvasMask/src/CanvasMaskPluginInstance.ts +++ b/plugins/canvasMask/src/CanvasMaskPluginInstance.ts @@ -33,10 +33,10 @@ export class CanvasMaskPluginInstance implements IContainerPlugin { return; } - pixelData = await getImageData(url, offset, container.canvas.settings); + pixelData = await getImageData(url, offset, container.canvas.render.settings); } else if (options.text) { const textOptions = options.text, - data = getTextData(textOptions, offset, textOptions.fill, container.canvas.settings); + data = getTextData(textOptions, offset, textOptions.fill, container.canvas.render.settings); if (isNull(data)) { return; @@ -51,7 +51,7 @@ export class CanvasMaskPluginInstance implements IContainerPlugin { return; } - const context = canvas.getContext("2d", container.canvas.settings); + const context = canvas.getContext("2d", container.canvas.render.settings); if (!context) { return; diff --git a/plugins/emittersShapes/canvas/src/EmittersCanvasShape.ts b/plugins/emittersShapes/canvas/src/EmittersCanvasShape.ts index 367b0216ea1..5e63a85e77f 100644 --- a/plugins/emittersShapes/canvas/src/EmittersCanvasShape.ts +++ b/plugins/emittersShapes/canvas/src/EmittersCanvasShape.ts @@ -81,7 +81,7 @@ export class EmittersCanvasShape extends EmitterShapeBase(selector)); @@ -89,7 +89,7 @@ export class EmittersCanvasShape extends EmitterShapeBase { particle.cardData, container.hdr, particle.isShowingBack(), - container.canvas.settings, + container.canvas.render.settings, ); context.globalAlpha = defaultOpacity; diff --git a/shapes/emoji/src/EmojiDrawer.ts b/shapes/emoji/src/EmojiDrawer.ts index f69eab46c13..ef75625a076 100644 --- a/shapes/emoji/src/EmojiDrawer.ts +++ b/shapes/emoji/src/EmojiDrawer.ts @@ -122,11 +122,11 @@ export class EmojiDrawer implements IShapeDrawer { canvas.width = canvasSize; canvas.height = canvasSize; - context = canvas.getContext("2d", container.canvas.settings); + context = canvas.getContext("2d", container.canvas.render.settings); cacheCanvas = canvas; } else { cacheCanvas = new OffscreenCanvas(canvasSize, canvasSize); - context = cacheCanvas.getContext("2d", container.canvas.settings); + context = cacheCanvas.getContext("2d", container.canvas.render.settings); } if (!context) { diff --git a/shapes/image/src/ImageDrawer.ts b/shapes/image/src/ImageDrawer.ts index 39225ef8c82..0a349c1cf85 100644 --- a/shapes/image/src/ImageDrawer.ts +++ b/shapes/image/src/ImageDrawer.ts @@ -46,7 +46,7 @@ export class ImageDrawer implements IShapeDrawer { context.globalAlpha = opacity; if (image.gif && image.gifData) { - drawGif(data, this._container.canvas.settings); + drawGif(data, this._container.canvas.render.settings); } else if (element) { const ratio = image.ratio, pos = { diff --git a/updaters/orbit/src/OrbitUpdater.ts b/updaters/orbit/src/OrbitUpdater.ts index aa95c928d9e..2b490c79d5e 100644 --- a/updaters/orbit/src/OrbitUpdater.ts +++ b/updaters/orbit/src/OrbitUpdater.ts @@ -65,7 +65,7 @@ export class OrbitUpdater implements IParticleUpdater { end = doublePI; } - container.canvas.draw(ctx => { + container.canvas.render.draw(ctx => { drawEllipse( container, ctx, diff --git a/utils/noiseField/src/NoiseFieldGenerator.ts b/utils/noiseField/src/NoiseFieldGenerator.ts index 70bad2b0b14..f7598d8da3b 100644 --- a/utils/noiseField/src/NoiseFieldGenerator.ts +++ b/utils/noiseField/src/NoiseFieldGenerator.ts @@ -93,7 +93,7 @@ export abstract class NoiseFieldGenerator implements IMovePathGenerator { return; } - this.container.canvas.draw(ctx => { + this.container.canvas.render.draw(ctx => { this._drawField(ctx); }); } From 289815f4ebea9c2e544d90087ccdb51c742a0913 Mon Sep 17 00:00:00 2001 From: Matteo Bruni <176620+matteobruni@users.noreply.github.com> Date: Mon, 30 Mar 2026 12:55:38 +0200 Subject: [PATCH 13/20] build: fixed demo --- demo/vanilla/public/javascripts/demo.js | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/demo/vanilla/public/javascripts/demo.js b/demo/vanilla/public/javascripts/demo.js index 0401173fce4..8b8ae250c79 100644 --- a/demo/vanilla/public/javascripts/demo.js +++ b/demo/vanilla/public/javascripts/demo.js @@ -93,7 +93,10 @@ }); } - const particles = await tsParticles.load({ id: "tsparticles", options: tsParticles.configs[presetId] }); + const particles = await tsParticles.load({ + id: "tsparticles", + options: tsParticles.pluginManager.configs[presetId], + }); localStorage.presetId = presetId; @@ -165,14 +168,14 @@ document.addEventListener("DOMContentLoaded", async () => { await initParticles(tsParticles); - for (const presetId in tsParticles.configs) { - const preset = tsParticles.configs[presetId]; + for (const presetId in tsParticles.pluginManager.configs) { + const preset = tsParticles.pluginManager.configs[presetId]; - const option = document.createElement("option"); - option.value = presetId; - option.text = preset.name || presetId; + const option = document.createElement("option"); + option.value = presetId; + option.text = preset.name || presetId; - document.getElementById("presets").appendChild(option); + document.getElementById("presets").appendChild(option); } const element = document.getElementById("editor"), options = { From a3a518b44c33bb98fc0e5ccf9e80469d31c20c4d Mon Sep 17 00:00:00 2001 From: Matteo Bruni <176620+matteobruni@users.noreply.github.com> Date: Mon, 30 Mar 2026 15:39:49 +0200 Subject: [PATCH 14/20] refactor: changed type from standard canvas context, to both types (canvas and offscreen) --- engine/src/Core/Container.ts | 78 ++++++++----------- engine/src/Core/Engine.ts | 26 ++++++- .../src/Core/Interfaces/IContainerPlugin.ts | 15 ++-- .../Core/Interfaces/IDrawParticleParams.ts | 3 +- .../src/Core/Interfaces/IParticleUpdater.ts | 3 +- engine/src/Core/Interfaces/IShapeDrawData.ts | 3 +- engine/src/Core/RenderManager.ts | 9 ++- engine/src/Types/CanvasContextType.ts | 1 + engine/src/Utils/CanvasUtils.ts | 13 ++-- engine/src/export-types.ts | 1 + interactions/external/connect/src/Utils.ts | 9 ++- interactions/external/grab/src/Utils.ts | 4 +- interactions/light/src/Utils.ts | 13 +++- .../particles/links/src/LinkInstance.ts | 5 +- plugins/absorbers/src/AbsorberInstance.ts | 3 +- .../absorbers/src/AbsorbersPluginInstance.ts | 3 +- .../src/BackgroundMaskPluginInstance.ts | 5 +- .../src/Options/Classes/BackgroundMask.ts | 2 +- .../src/Options/Interfaces/IBackgroundMask.ts | 2 +- plugins/blend/src/BlendPluginInstance.ts | 10 +-- plugins/blend/src/Options/Classes/Blend.ts | 2 +- .../blend/src/Options/Interfaces/IBlend.ts | 2 +- .../path/src/EmittersPathShape.ts | 3 +- plugins/emittersShapes/path/src/utils.ts | 6 +- .../polygonMask/src/PolygonMaskInstance.ts | 3 +- plugins/polygonMask/src/utils.ts | 5 +- plugins/zoom/src/ZoomPluginInstance.ts | 6 +- shapes/cards/src/utils.ts | 17 ++-- shapes/emoji/src/EmojiDrawer.ts | 4 +- shapes/rounded-polygon/src/Utils.ts | 4 +- shapes/rounded-rect/src/Utils.ts | 3 +- shapes/text/src/Utils.ts | 10 ++- updaters/gradient/src/GradientUpdater.ts | 3 +- updaters/orbit/src/Utils.ts | 12 ++- updaters/twinkle/src/TwinkleUpdater.ts | 3 +- utils/canvasUtils/src/Utils.ts | 7 +- utils/noiseField/src/NoiseFieldGenerator.ts | 13 +++- utils/pathUtils/src/Utils.ts | 7 +- 38 files changed, 185 insertions(+), 133 deletions(-) create mode 100644 engine/src/Types/CanvasContextType.ts diff --git a/engine/src/Core/Container.ts b/engine/src/Core/Container.ts index 51e21485f85..c394fcfff93 100644 --- a/engine/src/Core/Container.ts +++ b/engine/src/Core/Container.ts @@ -1,14 +1,7 @@ import { animate, cancelAnimation, getRangeValue } from "../Utils/MathUtils.js"; -import { - defaultFps, - defaultFpsLimit, - millisecondsToSeconds, - minFpsLimit, - removeDeleteCount, - removeMinIndex, -} from "./Utils/Constants.js"; +import { defaultFps, defaultFpsLimit, millisecondsToSeconds, minFpsLimit } from "./Utils/Constants.js"; import { CanvasManager } from "./CanvasManager.js"; -import type { Engine } from "./Engine.js"; +import type { CustomEventArgs } from "../Types/CustomEventArgs.js"; import { EventListeners } from "./Utils/EventListeners.js"; import { EventType } from "../Enums/Types/EventType.js"; import type { IContainerPlugin } from "./Interfaces/IContainerPlugin.js"; @@ -25,6 +18,14 @@ import { Retina } from "./Retina.js"; import { getLogger } from "../Utils/LogUtils.js"; import { loadOptions } from "../Utils/OptionsUtils.js"; +interface ContainerParams { + dispatchCallback: (eventType: string, args?: CustomEventArgs) => void; + id: string; + onDestroy: (remove: boolean) => void; + pluginManager: PluginManager; + sourceOptions?: ISourceOptions; +} + /** * Checks if the container is still usable * @param container - the container to check @@ -132,12 +133,12 @@ export class Container { private _delay: number; private _delayTimeout?: number | NodeJS.Timeout; private readonly _delta: IDelta = { value: 0, factor: 0 }; + private readonly _dispatchCallback; private _drawAnimationFrame?: number; /** * The container duration */ private _duration; - private readonly _engine; private readonly _eventListeners; private _firstStart; private _initialSourceOptions; @@ -149,19 +150,23 @@ export class Container { * The container lifetime */ private _lifeTime; + private readonly _onDestroy; private _options; private _paused; + private readonly _pluginManager; private _smooth; private _sourceOptions; /** * This is the core class, create an instance to have a new working particles manager - * @param engine - the engine used by container - * @param id - the id to identify this instance - * @param sourceOptions - the options to load + * @param params - */ - constructor(engine: Engine, id: string, sourceOptions?: ISourceOptions) { - this._engine = engine; + constructor(params: ContainerParams) { + const { dispatchCallback, pluginManager, id, onDestroy, sourceOptions } = params; + + this._pluginManager = pluginManager; + this._dispatchCallback = dispatchCallback; + this._onDestroy = onDestroy; this.id = Symbol(id); this.fpsLimit = 120; this.hdr = false; @@ -182,15 +187,15 @@ export class Container { this.shapeDrawers = new Map(); this.particleUpdaters = []; this.retina = new Retina(this); - this.canvas = new CanvasManager(this._engine.pluginManager, this); - this.particles = new ParticlesManager(this._engine.pluginManager, this); + this.canvas = new CanvasManager(this._pluginManager, this); + this.particles = new ParticlesManager(this._pluginManager, this); this.plugins = []; this.particleDestroyedPlugins = []; this.particleCreatedPlugins = []; this.particlePositionPlugins = []; /* tsParticles variables with default values */ - this._options = loadContainerOptions(this._engine.pluginManager, this); - this.actualOptions = loadContainerOptions(this._engine.pluginManager, this); + this._options = loadContainerOptions(this._pluginManager, this); + this.actualOptions = loadContainerOptions(this._pluginManager, this); /* ---------- tsParticles - start ------------ */ this._eventListeners = new EventListeners(this); @@ -260,24 +265,17 @@ export class Container { this.particleUpdaters = []; this.plugins.length = 0; - this._engine.pluginManager.clearPlugins(this); + this._pluginManager.clearPlugins(this); this.destroyed = true; - if (remove) { - const mainArr = this._engine.items, - idx = mainArr.indexOf(this); - - if (idx >= removeMinIndex) { - mainArr.splice(idx, removeDeleteCount); - } - } + this._onDestroy(remove); this.dispatchEvent(EventType.containerDestroyed); } dispatchEvent(type: string, data?: unknown): void { - this._engine.dispatchEvent(type, { + this._dispatchCallback(type, { container: this, data, }); @@ -335,7 +333,7 @@ export class Container { const allContainerPlugins = new Map(); - for (const plugin of this._engine.pluginManager.plugins) { + for (const plugin of this._pluginManager.plugins) { const containerPlugin = await plugin.getPlugin(this); if (containerPlugin.preInit) { @@ -348,13 +346,8 @@ export class Container { await this.initDrawersAndUpdaters(); /* options settings */ - this._options = loadContainerOptions( - this._engine.pluginManager, - this, - this._initialSourceOptions, - this.sourceOptions, - ); - this.actualOptions = loadContainerOptions(this._engine.pluginManager, this, this._options); + this._options = loadContainerOptions(this._pluginManager, this, this._initialSourceOptions, this.sourceOptions); + this.actualOptions = loadContainerOptions(this._pluginManager, this, this._options); this.plugins.length = 0; this.particleDestroyedPlugins.length = 0; @@ -416,7 +409,7 @@ export class Container { } async initDrawersAndUpdaters(): Promise { - const pluginManager = this._engine.pluginManager; + const pluginManager = this._pluginManager; this.effectDrawers = await pluginManager.getEffectDrawers(this, true); this.shapeDrawers = await pluginManager.getShapeDrawers(this, true); @@ -508,13 +501,8 @@ export class Container { this._initialSourceOptions = sourceOptions; this._sourceOptions = sourceOptions; - this._options = loadContainerOptions( - this._engine.pluginManager, - this, - this._initialSourceOptions, - this.sourceOptions, - ); - this.actualOptions = loadContainerOptions(this._engine.pluginManager, this, this._options); + this._options = loadContainerOptions(this._pluginManager, this, this._initialSourceOptions, this.sourceOptions); + this.actualOptions = loadContainerOptions(this._pluginManager, this, this._options); return this.refresh(); } diff --git a/engine/src/Core/Engine.ts b/engine/src/Core/Engine.ts index 541d11d8a87..d9107c53d84 100644 --- a/engine/src/Core/Engine.ts +++ b/engine/src/Core/Engine.ts @@ -13,6 +13,7 @@ import { none, one, removeDeleteCount, + removeMinIndex, } from "./Utils/Constants.js"; import { itemFromSingleOrMultiple, safeDocument } from "../Utils/Utils.js"; import type { Container } from "./Container.js"; @@ -56,7 +57,7 @@ async function getDataFromUrl( const response = await fetch(url); if (response.ok) { - return (await response.json()) as SingleOrMultiple; + return (await response.json()) as SingleOrMultiple>; } getLogger().error(`${response.status.toString()} while retrieving config file`); @@ -107,7 +108,7 @@ const getCanvasFromContainer = (domContainer: HTMLElement): HTMLCanvasElement => return domContainer; } - domContainer = documentSafe.createElement("div"); + domContainer = documentSafe.createElement("canvas"); domContainer.id = id; domContainer.dataset[generatedAttribute] = generatedTrue; @@ -222,7 +223,26 @@ export class Engine { currentOptions = itemFromSingleOrMultiple(options, index), { items } = this, oldIndex = items.findIndex(v => v.id.description === id), - newItem = new Container(this, id, currentOptions); + newItem = new Container({ + dispatchCallback: (eventType, args): void => { + this.dispatchEvent(eventType, args); + }, + id, + onDestroy: (remove): void => { + if (!remove) { + return; + } + + const mainArr = this.items, + idx = mainArr.indexOf(newItem); + + if (idx >= removeMinIndex) { + mainArr.splice(idx, removeDeleteCount); + } + }, + pluginManager: this.pluginManager, + sourceOptions: currentOptions, + }); if (oldIndex >= loadMinIndex) { const old = this.item(oldIndex), diff --git a/engine/src/Core/Interfaces/IContainerPlugin.ts b/engine/src/Core/Interfaces/IContainerPlugin.ts index eb0a36eaad6..9b253b9d5ab 100644 --- a/engine/src/Core/Interfaces/IContainerPlugin.ts +++ b/engine/src/Core/Interfaces/IContainerPlugin.ts @@ -1,3 +1,4 @@ +import type { CanvasContextType } from "../../Types/CanvasContextType.js"; import type { ExportResult } from "../../Types/ExportResult.js"; import type { ICoordinates } from "./ICoordinates.js"; import type { IDelta } from "./IDelta.js"; @@ -12,16 +13,16 @@ export interface IContainerPlugin { canvasClear?: () => boolean; canvasPaint?: () => boolean; checkParticlePosition?: (particle: Particle, position: ICoordinates, tryCount: number) => boolean; - clearDraw?: (context: CanvasRenderingContext2D, delta: IDelta) => void; + clearDraw?: (context: CanvasContextType, delta: IDelta) => void; clickPositionValid?: (position: ICoordinates) => boolean; destroy?: () => void; - draw?: (context: CanvasRenderingContext2D, delta: IDelta) => void; - drawParticle?: (context: CanvasRenderingContext2D, particle: Particle, delta: IDelta) => void; - drawParticleCleanup?: (context: CanvasRenderingContext2D, particle: Particle, delta: IDelta) => void; - drawParticleSetup?: (context: CanvasRenderingContext2D, particle: Particle, delta: IDelta) => void; + draw?: (context: CanvasContextType, delta: IDelta) => void; + drawParticle?: (context: CanvasContextType, particle: Particle, delta: IDelta) => void; + drawParticleCleanup?: (context: CanvasContextType, particle: Particle, delta: IDelta) => void; + drawParticleSetup?: (context: CanvasContextType, particle: Particle, delta: IDelta) => void; drawParticleTransform?: (data: IShapeDrawData) => void; - drawSettingsCleanup?: (context: CanvasRenderingContext2D, delta: IDelta) => void; - drawSettingsSetup?: (context: CanvasRenderingContext2D, delta: IDelta) => void; + drawSettingsCleanup?: (context: CanvasContextType, delta: IDelta) => void; + drawSettingsSetup?: (context: CanvasContextType, delta: IDelta) => void; export?: (type: string, data: Record) => Promise; init?: () => Promise; particleBounce?: (particle: Particle, delta: IDelta, direction: OutModeDirection) => boolean; diff --git a/engine/src/Core/Interfaces/IDrawParticleParams.ts b/engine/src/Core/Interfaces/IDrawParticleParams.ts index 8264d02a165..657ffcebd7f 100644 --- a/engine/src/Core/Interfaces/IDrawParticleParams.ts +++ b/engine/src/Core/Interfaces/IDrawParticleParams.ts @@ -1,3 +1,4 @@ +import type { CanvasContextType } from "../../Types/CanvasContextType.js"; import type { Container } from "../Container.js"; import type { IDelta } from "./IDelta.js"; import type { IParticleColorStyle } from "./IParticleColorStyle.js"; @@ -16,7 +17,7 @@ export interface IDrawParticleParams { /** * The canvas context to draw on */ - context: CanvasRenderingContext2D; + context: CanvasContextType; /** * This variable contains the delta between the current frame and the previous frame */ diff --git a/engine/src/Core/Interfaces/IParticleUpdater.ts b/engine/src/Core/Interfaces/IParticleUpdater.ts index 6b4130c30a0..c9416a62e00 100644 --- a/engine/src/Core/Interfaces/IParticleUpdater.ts +++ b/engine/src/Core/Interfaces/IParticleUpdater.ts @@ -1,3 +1,4 @@ +import type { CanvasContextType } from "../../Types/CanvasContextType.js"; import type { IDelta } from "./IDelta.js"; import type { IParticleColorStyle } from "./IParticleColorStyle.js"; import type { IParticleTransformValues } from "./IParticleTransformValues.js"; @@ -13,7 +14,7 @@ export interface IParticleUpdater { getColorStyles?: ( particle: Particle, - context: CanvasRenderingContext2D, + context: CanvasContextType, radius: number, opacity: number, ) => IParticleColorStyle; diff --git a/engine/src/Core/Interfaces/IShapeDrawData.ts b/engine/src/Core/Interfaces/IShapeDrawData.ts index 7b0fe85042b..57357caacaa 100644 --- a/engine/src/Core/Interfaces/IShapeDrawData.ts +++ b/engine/src/Core/Interfaces/IShapeDrawData.ts @@ -1,3 +1,4 @@ +import type { CanvasContextType } from "../../Types/CanvasContextType.js"; import type { ICoordinates } from "./ICoordinates.js"; import type { IDelta } from "./IDelta.js"; import type { Particle } from "../Particle.js"; @@ -6,7 +7,7 @@ export interface IShapeDrawData { /** * the canvas context for drawing */ - context: CanvasRenderingContext2D; + context: CanvasContextType; /** * this variable contains the delta between the current frame and the previous frame diff --git a/engine/src/Core/RenderManager.ts b/engine/src/Core/RenderManager.ts index 32e6a646847..3e6236cb973 100644 --- a/engine/src/Core/RenderManager.ts +++ b/engine/src/Core/RenderManager.ts @@ -1,6 +1,7 @@ import { clear, drawParticle, drawParticlePlugin, paintBase, paintImage } from "../Utils/CanvasUtils.js"; import { defaultCompositeValue, defaultTransformValue, minimumSize, zIndexFactorOffset } from "./Utils/Constants.js"; import { getStyleFromHsl, rangeColorToHsl } from "../Utils/ColorUtils.js"; +import type { CanvasContextType } from "../Types/CanvasContextType.js"; import type { CanvasManager } from "./CanvasManager.js"; import type { Container } from "./Container.js"; import type { IContainerPlugin } from "./Interfaces/IContainerPlugin.js"; @@ -45,7 +46,7 @@ export class RenderManager { /** * The particles canvas context */ - private _context: CanvasRenderingContext2D | null; + private _context: CanvasContextType | null; private _contextSettings?: CanvasRenderingContext2DSettings; private _drawParticlePlugins: IContainerPlugin[]; private _drawParticlesCleanupPlugins: IContainerPlugin[]; @@ -145,7 +146,7 @@ export class RenderManager { * @param cb - * @returns the result of the callback */ - draw(cb: (context: CanvasRenderingContext2D) => T): T | undefined { + draw(cb: (context: CanvasContextType) => T): T | undefined { const ctx = this._context; if (!ctx) { @@ -383,7 +384,7 @@ export class RenderManager { }); } - setContext(context: CanvasRenderingContext2D | null): void { + setContext(context: CanvasContextType | null): void { this._context = context; if (this._context) { @@ -408,7 +409,7 @@ export class RenderManager { }; private readonly _applyPreDrawUpdaters: ( - ctx: CanvasRenderingContext2D, + ctx: CanvasContextType, particle: Particle, radius: number, zOpacity: number, diff --git a/engine/src/Types/CanvasContextType.ts b/engine/src/Types/CanvasContextType.ts new file mode 100644 index 00000000000..6a52a153883 --- /dev/null +++ b/engine/src/Types/CanvasContextType.ts @@ -0,0 +1 @@ +export type CanvasContextType = CanvasRenderingContext2D | OffscreenCanvasRenderingContext2D; diff --git a/engine/src/Utils/CanvasUtils.ts b/engine/src/Utils/CanvasUtils.ts index 5aeb3cafe2e..559999a9c96 100644 --- a/engine/src/Utils/CanvasUtils.ts +++ b/engine/src/Utils/CanvasUtils.ts @@ -1,9 +1,12 @@ -import type { IEffectDrawer, IShapeDrawData, IShapeDrawer } from "../export-types.js"; import { defaultZoom, minStrokeWidth, originPoint } from "../Core/Utils/Constants.js"; +import type { CanvasContextType } from "../Types/CanvasContextType.js"; import type { IContainerPlugin } from "../Core/Interfaces/IContainerPlugin.js"; import type { IDelta } from "../Core/Interfaces/IDelta.js"; import type { IDimension } from "../Core/Interfaces/IDimension.js"; import type { IDrawParticleParams } from "../Core/Interfaces/IDrawParticleParams.js"; +import type { IEffectDrawer } from "../Core/Interfaces/IEffectDrawer.js"; +import type { IShapeDrawData } from "../Core/Interfaces/IShapeDrawData.js"; +import type { IShapeDrawer } from "../Core/Interfaces/IShapeDrawer.js"; import type { Particle } from "../Core/Particle.js"; /** @@ -12,7 +15,7 @@ import type { Particle } from "../Core/Particle.js"; * @param dimension - The dimension of the rectangle. * @param baseColor - The base color of the rectangle, if not specified a transparent color will be used. */ -export function paintBase(context: CanvasRenderingContext2D, dimension: IDimension, baseColor?: string): void { +export function paintBase(context: CanvasContextType, dimension: IDimension, baseColor?: string): void { context.fillStyle = baseColor ?? "rgba(0,0,0,0)"; context.fillRect(originPoint.x, originPoint.y, dimension.width, dimension.height); @@ -26,7 +29,7 @@ export function paintBase(context: CanvasRenderingContext2D, dimension: IDimensi * @param opacity - The opacity of the image. */ export function paintImage( - context: CanvasRenderingContext2D, + context: CanvasContextType, dimension: IDimension, image: HTMLImageElement | undefined, opacity: number, @@ -49,7 +52,7 @@ export function paintImage( * @param context - The canvas context to clear. * @param dimension - The dimension of the canvas. */ -export function clear(context: CanvasRenderingContext2D, dimension: IDimension): void { +export function clear(context: CanvasContextType, dimension: IDimension): void { context.clearRect(originPoint.x, originPoint.y, dimension.width, dimension.height); } @@ -232,7 +235,7 @@ export function drawShapeBeforeDraw(drawer: IShapeDrawer | undefined, data: ISha * @param delta - this variable contains the delta between the current frame and the previous frame */ export function drawParticlePlugin( - context: CanvasRenderingContext2D, + context: CanvasContextType, plugin: IContainerPlugin, particle: Particle, delta: IDelta, diff --git a/engine/src/export-types.ts b/engine/src/export-types.ts index 98bc773108c..5a8e65507f5 100644 --- a/engine/src/export-types.ts +++ b/engine/src/export-types.ts @@ -73,6 +73,7 @@ export type * from "./Options/Interfaces/Particles/Size/ISizeAnimation.js"; export type * from "./Options/Interfaces/Particles/ZIndex/IZIndex.js"; +export type * from "./Types/CanvasContextType.js"; export type * from "./Types/CustomEventArgs.js"; export type * from "./Types/CustomEventListener.js"; export type * from "./Types/EasingFunction.js"; diff --git a/interactions/external/connect/src/Utils.ts b/interactions/external/connect/src/Utils.ts index 7d8e2e5b1c8..efaa45b482f 100644 --- a/interactions/external/connect/src/Utils.ts +++ b/interactions/external/connect/src/Utils.ts @@ -1,5 +1,5 @@ -import type { ConnectContainer, LinkParticle } from "./Types.js"; import { + type CanvasContextType, type ICoordinates, type Particle, clamp, @@ -7,6 +7,7 @@ import { getStyleFromHsl, getStyleFromRgb, } from "@tsparticles/engine"; +import type { ConnectContainer, LinkParticle } from "./Types.js"; import { drawLine } from "@tsparticles/canvas-utils"; const gradientMin = 0, @@ -24,7 +25,7 @@ const gradientMin = 0, */ export function gradient( container: ConnectContainer, - context: CanvasRenderingContext2D, + context: CanvasContextType, p1: Particle, p2: Particle, opacity: number, @@ -57,7 +58,7 @@ export function gradient( * @param end - */ export function drawConnectLine( - context: CanvasRenderingContext2D, + context: CanvasContextType, width: number, lineStyle: CanvasGradient, begin: ICoordinates, @@ -79,7 +80,7 @@ export function drawConnectLine( */ export function lineStyle( container: ConnectContainer, - ctx: CanvasRenderingContext2D, + ctx: CanvasContextType, p1: Particle, p2: Particle, ): CanvasGradient | undefined { diff --git a/interactions/external/grab/src/Utils.ts b/interactions/external/grab/src/Utils.ts index 3829abcc46f..517af789c46 100644 --- a/interactions/external/grab/src/Utils.ts +++ b/interactions/external/grab/src/Utils.ts @@ -1,5 +1,5 @@ +import { type CanvasContextType, type ICoordinates, type IRgb, getStyleFromRgb } from "@tsparticles/engine"; import type { GrabContainer, LinkParticle } from "./Types.js"; -import { type ICoordinates, type IRgb, getStyleFromRgb } from "@tsparticles/engine"; import { drawLine } from "@tsparticles/canvas-utils"; const defaultWidth = 0; @@ -15,7 +15,7 @@ const defaultWidth = 0; * @param hdr - Whether the line should be drawn in HDR mode or not. */ export function drawGrabLine( - context: CanvasRenderingContext2D, + context: CanvasContextType, width: number, begin: ICoordinates, end: ICoordinates, diff --git a/interactions/light/src/Utils.ts b/interactions/light/src/Utils.ts index c8f1f916cd9..e09f0bd0336 100644 --- a/interactions/light/src/Utils.ts +++ b/interactions/light/src/Utils.ts @@ -1,4 +1,11 @@ -import { type ICoordinates, doublePI, getStyleFromRgb, half, quarter } from "@tsparticles/engine"; +import { + type CanvasContextType, + type ICoordinates, + doublePI, + getStyleFromRgb, + half, + quarter, +} from "@tsparticles/engine"; import type { LightContainer, LightParticle } from "./Types.js"; const gradientPos = { @@ -16,7 +23,7 @@ export const lightMode = "light"; * @param context - * @param mousePos - */ -export function drawLight(container: LightContainer, context: CanvasRenderingContext2D, mousePos: ICoordinates): void { +export function drawLight(container: LightContainer, context: CanvasContextType, mousePos: ICoordinates): void { const lightOptions = container.actualOptions.interactivity?.modes.light?.area; if (!lightOptions) { @@ -55,7 +62,7 @@ export function drawLight(container: LightContainer, context: CanvasRenderingCon */ export function drawParticleShadow( container: LightContainer, - context: CanvasRenderingContext2D, + context: CanvasContextType, particle: LightParticle, mousePos: ICoordinates, ): void { diff --git a/interactions/particles/links/src/LinkInstance.ts b/interactions/particles/links/src/LinkInstance.ts index 2eab5041a7b..59c0f88849b 100644 --- a/interactions/particles/links/src/LinkInstance.ts +++ b/interactions/particles/links/src/LinkInstance.ts @@ -1,4 +1,5 @@ import { + type CanvasContextType, type IContainerPlugin, type IRgb, type PluginManager, @@ -32,7 +33,7 @@ export class LinkInstance implements IContainerPlugin { this._freqs = { links: new Map(), triangles: new Map() }; } - drawParticle(context: CanvasRenderingContext2D, particle: LinkParticle): void { + drawParticle(context: CanvasContextType, particle: LinkParticle): void { const { links, options } = particle; if (!links?.length || !options.links) { @@ -191,7 +192,7 @@ export class LinkInstance implements IContainerPlugin { p1Destinations: Set, pos1: ReturnType, pos2: ReturnType, - context: CanvasRenderingContext2D, + context: CanvasContextType, ): void { const p2 = link.destination, triangleOptions = options.links?.triangles; diff --git a/plugins/absorbers/src/AbsorberInstance.ts b/plugins/absorbers/src/AbsorberInstance.ts index 6c4c29026f9..39edc4fe1f9 100644 --- a/plugins/absorbers/src/AbsorberInstance.ts +++ b/plugins/absorbers/src/AbsorberInstance.ts @@ -1,4 +1,5 @@ import { + type CanvasContextType, type Container, type ICoordinates, type IDelta, @@ -227,7 +228,7 @@ export class AbsorberInstance { * The draw method, for drawing the absorber in the canvas * @param context - the canvas 2d context used for drawing */ - draw(context: CanvasRenderingContext2D): void { + draw(context: CanvasContextType): void { context.translate(this.position.x, this.position.y); context.beginPath(); context.arc(originPoint.x, originPoint.y, this.size, minAngle, maxAngle, false); diff --git a/plugins/absorbers/src/AbsorbersPluginInstance.ts b/plugins/absorbers/src/AbsorbersPluginInstance.ts index 0c7385b839a..6bc8fceb274 100644 --- a/plugins/absorbers/src/AbsorbersPluginInstance.ts +++ b/plugins/absorbers/src/AbsorbersPluginInstance.ts @@ -1,4 +1,5 @@ import { + type CanvasContextType, type IContainerPlugin, type IDelta, type Particle, @@ -21,7 +22,7 @@ export class AbsorbersPluginInstance implements IContainerPlugin { this._instancesManager.initContainer(container); } - draw(context: CanvasRenderingContext2D): void { + draw(context: CanvasContextType): void { for (const absorber of this._instancesManager.getArray(this._container)) { absorber.draw(context); } diff --git a/plugins/backgroundMask/src/BackgroundMaskPluginInstance.ts b/plugins/backgroundMask/src/BackgroundMaskPluginInstance.ts index c939fff3e2c..134529c83e3 100644 --- a/plugins/backgroundMask/src/BackgroundMaskPluginInstance.ts +++ b/plugins/backgroundMask/src/BackgroundMaskPluginInstance.ts @@ -1,4 +1,5 @@ import { + type CanvasContextType, type IContainerPlugin, type PluginManager, getStyleFromRgb, @@ -47,7 +48,7 @@ export class BackgroundMaskPluginInstance implements IContainerPlugin { return true; } - drawSettingsCleanup(context: CanvasRenderingContext2D): void { + drawSettingsCleanup(context: CanvasContextType): void { if (!this._defaultCompositeValue) { return; } @@ -55,7 +56,7 @@ export class BackgroundMaskPluginInstance implements IContainerPlugin { context.globalCompositeOperation = this._defaultCompositeValue; } - drawSettingsSetup(context: CanvasRenderingContext2D): void { + drawSettingsSetup(context: CanvasContextType): void { const previousComposite = context.globalCompositeOperation, backgroundMask = this._container.actualOptions.backgroundMask; diff --git a/plugins/backgroundMask/src/Options/Classes/BackgroundMask.ts b/plugins/backgroundMask/src/Options/Classes/BackgroundMask.ts index 6741f47b03c..9bf921d14fc 100644 --- a/plugins/backgroundMask/src/Options/Classes/BackgroundMask.ts +++ b/plugins/backgroundMask/src/Options/Classes/BackgroundMask.ts @@ -9,7 +9,7 @@ import type { IBackgroundMaskCover } from "../Interfaces/IBackgroundMaskCover.js export class BackgroundMask implements IBackgroundMask, IOptionLoader { /** * Canvas composite operation - * values here: https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/globalCompositeOperation + * values here: https://developer.mozilla.org/en-US/docs/Web/API/CanvasContextType/globalCompositeOperation */ composite: GlobalCompositeOperation; diff --git a/plugins/backgroundMask/src/Options/Interfaces/IBackgroundMask.ts b/plugins/backgroundMask/src/Options/Interfaces/IBackgroundMask.ts index 80dd81db830..7bdddddf8cc 100644 --- a/plugins/backgroundMask/src/Options/Interfaces/IBackgroundMask.ts +++ b/plugins/backgroundMask/src/Options/Interfaces/IBackgroundMask.ts @@ -11,7 +11,7 @@ export interface IBackgroundMask { * This property is used to choose the composition mode for the background mask effect. * * The default value is `destination-out`, which unveils the background below using drawn elements, any other valid value - * can be found [here](https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/globalCompositeOperation) + * can be found [here](https://developer.mozilla.org/en-US/docs/Web/API/CanvasContextType/globalCompositeOperation) */ composite: GlobalCompositeOperation; diff --git a/plugins/blend/src/BlendPluginInstance.ts b/plugins/blend/src/BlendPluginInstance.ts index 0026e9b57c4..2d333212ce9 100644 --- a/plugins/blend/src/BlendPluginInstance.ts +++ b/plugins/blend/src/BlendPluginInstance.ts @@ -1,5 +1,5 @@ import type { BlendContainer, BlendParticle } from "./types.js"; -import { type IContainerPlugin, defaultCompositeValue } from "@tsparticles/engine"; +import { type CanvasContextType, type IContainerPlugin, defaultCompositeValue } from "@tsparticles/engine"; export class BlendPluginInstance implements IContainerPlugin { private readonly _container; @@ -9,7 +9,7 @@ export class BlendPluginInstance implements IContainerPlugin { this._container = container; } - drawParticleCleanup(context: CanvasRenderingContext2D, particle: BlendParticle): void { + drawParticleCleanup(context: CanvasContextType, particle: BlendParticle): void { if (!particle.options.blend?.enable) { return; } @@ -19,7 +19,7 @@ export class BlendPluginInstance implements IContainerPlugin { particle.originalBlendMode = undefined; } - drawParticleSetup(context: CanvasRenderingContext2D, particle: BlendParticle): void { + drawParticleSetup(context: CanvasContextType, particle: BlendParticle): void { if (!particle.options.blend?.enable) { return; } @@ -29,7 +29,7 @@ export class BlendPluginInstance implements IContainerPlugin { context.globalCompositeOperation = particle.options.blend.mode; } - drawSettingsCleanup(context: CanvasRenderingContext2D): void { + drawSettingsCleanup(context: CanvasContextType): void { if (!this._defaultCompositeValue) { return; } @@ -37,7 +37,7 @@ export class BlendPluginInstance implements IContainerPlugin { context.globalCompositeOperation = this._defaultCompositeValue; } - drawSettingsSetup(context: CanvasRenderingContext2D): void { + drawSettingsSetup(context: CanvasContextType): void { const previousComposite = context.globalCompositeOperation, blend = this._container.actualOptions.blend; diff --git a/plugins/blend/src/Options/Classes/Blend.ts b/plugins/blend/src/Options/Classes/Blend.ts index 3d84393a9df..21eef9b0b14 100644 --- a/plugins/blend/src/Options/Classes/Blend.ts +++ b/plugins/blend/src/Options/Classes/Blend.ts @@ -12,7 +12,7 @@ export class Blend implements IBlend, IOptionLoader { /** * Canvas composite operation - * values here: https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/globalCompositeOperation + * values here: https://developer.mozilla.org/en-US/docs/Web/API/CanvasContextType/globalCompositeOperation */ mode: GlobalCompositeOperation; diff --git a/plugins/blend/src/Options/Interfaces/IBlend.ts b/plugins/blend/src/Options/Interfaces/IBlend.ts index 05b15481d25..62143cbc7fd 100644 --- a/plugins/blend/src/Options/Interfaces/IBlend.ts +++ b/plugins/blend/src/Options/Interfaces/IBlend.ts @@ -13,7 +13,7 @@ export interface IBlend { * This property is used to choose the composition mode for the blend effect. * * The default value is `destination-out`, which unveils the background below using drawn elements, any other valid value - * can be found [here](https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/globalCompositeOperation) + * can be found [here](https://developer.mozilla.org/en-US/docs/Web/API/CanvasContextType/globalCompositeOperation) */ mode: GlobalCompositeOperation; } diff --git a/plugins/emittersShapes/path/src/EmittersPathShape.ts b/plugins/emittersShapes/path/src/EmittersPathShape.ts index adbf8a6f20c..e3cb59141ac 100644 --- a/plugins/emittersShapes/path/src/EmittersPathShape.ts +++ b/plugins/emittersShapes/path/src/EmittersPathShape.ts @@ -1,4 +1,5 @@ import { + type CanvasContextType, type Container, type ICoordinates, type IDimension, @@ -11,7 +12,7 @@ import { generateRandomPointOnPathPerimeter, generateRandomPointWithinPath } fro import type { EmittersPathShapeOptions } from "./Options/Classes/EmittersPathShapeOptions.js"; export class EmittersPathShape extends EmitterShapeBase { - checkContext: CanvasRenderingContext2D; + checkContext: CanvasContextType; path: Path2D; points: ICoordinates[]; diff --git a/plugins/emittersShapes/path/src/utils.ts b/plugins/emittersShapes/path/src/utils.ts index 6f53e3054f0..a2b72850482 100644 --- a/plugins/emittersShapes/path/src/utils.ts +++ b/plugins/emittersShapes/path/src/utils.ts @@ -1,4 +1,4 @@ -import { type ICoordinates, type IDimension, getRandom, half } from "@tsparticles/engine"; +import { type CanvasContextType, type ICoordinates, type IDimension, getRandom, half } from "@tsparticles/engine"; const maxAttempts = 100; @@ -11,7 +11,7 @@ const maxAttempts = 100; * @returns the random point within the path */ export function generateRandomPointWithinPath( - ctx: CanvasRenderingContext2D, + ctx: CanvasContextType, path: Path2D, center: ICoordinates, size: IDimension, @@ -43,7 +43,7 @@ export function generateRandomPointWithinPath( * @returns the random point on the perimeter of the path */ export function generateRandomPointOnPathPerimeter( - ctx: CanvasRenderingContext2D, + ctx: CanvasContextType, path: Path2D, center: ICoordinates, size: IDimension, diff --git a/plugins/polygonMask/src/PolygonMaskInstance.ts b/plugins/polygonMask/src/PolygonMaskInstance.ts index 65122803fb8..fb1c9b0ba4c 100644 --- a/plugins/polygonMask/src/PolygonMaskInstance.ts +++ b/plugins/polygonMask/src/PolygonMaskInstance.ts @@ -1,5 +1,6 @@ import "./pathseg.js"; import { + type CanvasContextType, type IContainerPlugin, type ICoordinates, type IDelta, @@ -66,7 +67,7 @@ export class PolygonMaskInstance implements IContainerPlugin { ); } - draw(context: CanvasRenderingContext2D): void { + draw(context: CanvasContextType): void { if (!this.paths?.length) { return; } diff --git a/plugins/polygonMask/src/utils.ts b/plugins/polygonMask/src/utils.ts index a4a2783e05e..4dc1d2b22e2 100644 --- a/plugins/polygonMask/src/utils.ts +++ b/plugins/polygonMask/src/utils.ts @@ -1,4 +1,5 @@ import { + type CanvasContextType, type ICoordinates, type PluginManager, Vector, @@ -33,7 +34,7 @@ const squareExp = 2, */ export function drawPolygonMask( pluginManager: PluginManager, - context: CanvasRenderingContext2D, + context: CanvasContextType, rawData: ICoordinates[], stroke: IPolygonMaskDrawStroke, hdr = false, @@ -74,7 +75,7 @@ export function drawPolygonMask( */ export function drawPolygonMaskPath( pluginManager: PluginManager, - context: CanvasRenderingContext2D, + context: CanvasContextType, path: Path2D, stroke: IPolygonMaskDrawStroke, position: ICoordinates, diff --git a/plugins/zoom/src/ZoomPluginInstance.ts b/plugins/zoom/src/ZoomPluginInstance.ts index c3bdf7b4cc6..708b220c6be 100644 --- a/plugins/zoom/src/ZoomPluginInstance.ts +++ b/plugins/zoom/src/ZoomPluginInstance.ts @@ -1,4 +1,4 @@ -import { type IContainerPlugin, type IShapeDrawData, defaultZoom } from "@tsparticles/engine"; +import { type CanvasContextType, type IContainerPlugin, type IShapeDrawData, defaultZoom } from "@tsparticles/engine"; import type { ZoomContainer } from "./types.js"; import { ZoomEventListeners } from "./ZoomEventListeners.js"; @@ -43,7 +43,7 @@ export class ZoomPluginInstance implements IContainerPlugin { ); } - drawSettingsCleanup(context: CanvasRenderingContext2D): void { + drawSettingsCleanup(context: CanvasContextType): void { const zoom = this._container.canvas.zoom; if (zoom === defaultZoom) { @@ -53,7 +53,7 @@ export class ZoomPluginInstance implements IContainerPlugin { context.restore(); } - drawSettingsSetup(context: CanvasRenderingContext2D): void { + drawSettingsSetup(context: CanvasContextType): void { const zoom = this._container.canvas.zoom; if (zoom === defaultZoom) { diff --git a/shapes/cards/src/utils.ts b/shapes/cards/src/utils.ts index e93a0a85f01..38ae249b32a 100644 --- a/shapes/cards/src/utils.ts +++ b/shapes/cards/src/utils.ts @@ -1,4 +1,5 @@ import { + type CanvasContextType, type IRgb, double, doublePI, @@ -41,7 +42,7 @@ const cardWidthRatio = (double * double) / triple, * @param canvasSettings - */ export function drawRoundedCard( - ctx: CanvasRenderingContext2D, + ctx: CanvasContextType, radius: number, cardData: ICardData, hdr: boolean, @@ -60,8 +61,7 @@ export function drawRoundedCard( let cachedData = cardsCache.get(cacheKey); if (!cachedData) { - let cacheCanvas: HTMLCanvasElement | OffscreenCanvas, - cacheCtx: CanvasRenderingContext2D | OffscreenCanvasRenderingContext2D | null; + let cacheCanvas: HTMLCanvasElement | OffscreenCanvas, cacheCtx: CanvasContextType | null; if (typeof OffscreenCanvas === "undefined") { cacheCanvas = safeDocument().createElement("canvas"); @@ -108,7 +108,7 @@ function getCacheKey(radius: number, hdr: boolean, cardData: ICardData): string * @param ctx - * @param radius - */ -function drawRoundedCardBack(ctx: CanvasRenderingContext2D | OffscreenCanvasRenderingContext2D, radius: number): void { +function drawRoundedCardBack(ctx: CanvasContextType, radius: number): void { drawCardBody(ctx, radius); } @@ -118,12 +118,7 @@ function drawRoundedCardBack(ctx: CanvasRenderingContext2D | OffscreenCanvasRend * @param cardData - * @param hdr - */ -function drawRoundedCardFront( - ctx: CanvasRenderingContext2D | OffscreenCanvasRenderingContext2D, - radius: number, - cardData: ICardData, - hdr: boolean, -): void { +function drawRoundedCardFront(ctx: CanvasContextType, radius: number, cardData: ICardData, hdr: boolean): void { const { suit, value } = cardData, cardWidth = radius * cardWidthRatio, cardHeight = radius * cardHeightRatio, @@ -207,7 +202,7 @@ function drawRoundedCardFront( * @param ctx - * @param radius - */ -function drawCardBody(ctx: CanvasRenderingContext2D | OffscreenCanvasRenderingContext2D, radius: number): void { +function drawCardBody(ctx: CanvasContextType, radius: number): void { const cardWidth = radius * cardWidthRatio, cardHeight = radius * cardHeightRatio, halfWidth = cardWidth * half, diff --git a/shapes/emoji/src/EmojiDrawer.ts b/shapes/emoji/src/EmojiDrawer.ts index ef75625a076..b02464f1657 100644 --- a/shapes/emoji/src/EmojiDrawer.ts +++ b/shapes/emoji/src/EmojiDrawer.ts @@ -1,4 +1,5 @@ import { + type CanvasContextType, type Container, type IShapeDrawData, type IShapeDrawer, @@ -113,8 +114,7 @@ export class EmojiDrawer implements IShapeDrawer { fullSize = maxSize + padding, canvasSize = fullSize * double; - let cacheCanvas: HTMLCanvasElement | OffscreenCanvas, - context: CanvasRenderingContext2D | OffscreenCanvasRenderingContext2D | null; + let cacheCanvas: HTMLCanvasElement | OffscreenCanvas, context: CanvasContextType | null; if (typeof OffscreenCanvas === "undefined") { const canvas = safeDocument().createElement("canvas"); diff --git a/shapes/rounded-polygon/src/Utils.ts b/shapes/rounded-polygon/src/Utils.ts index a5ceffe3491..2a3ab07601c 100644 --- a/shapes/rounded-polygon/src/Utils.ts +++ b/shapes/rounded-polygon/src/Utils.ts @@ -1,4 +1,4 @@ -import { type ICoordinates, doublePI, half } from "@tsparticles/engine"; +import { type CanvasContextType, type ICoordinates, doublePI, half } from "@tsparticles/engine"; const defaultRotation = 0; @@ -24,7 +24,7 @@ export function polygon(sides: number, radius: number, rot = defaultRotation): I * @param path - * @param radius - */ -export function roundedPath(context: CanvasRenderingContext2D, path: ICoordinates[], radius: number): void { +export function roundedPath(context: CanvasContextType, path: ICoordinates[], radius: number): void { const index1 = 0, index2 = 1, increment = 1; diff --git a/shapes/rounded-rect/src/Utils.ts b/shapes/rounded-rect/src/Utils.ts index 3730e5e9289..4ac73b41ba0 100644 --- a/shapes/rounded-rect/src/Utils.ts +++ b/shapes/rounded-rect/src/Utils.ts @@ -1,3 +1,4 @@ +import type { CanvasContextType } from "@tsparticles/engine"; import type { RadiusInfo } from "./RadiusInfo.js"; import type { RectInfo } from "./RectInfo.js"; @@ -9,7 +10,7 @@ import type { RectInfo } from "./RectInfo.js"; * @param borderRadius - */ export function drawRoundedRect( - ctx: CanvasRenderingContext2D, + ctx: CanvasContextType, fixedRadius: number, fixedDiameter: number, borderRadius: number, diff --git a/shapes/text/src/Utils.ts b/shapes/text/src/Utils.ts index 33986f28eb4..632af9c14f9 100644 --- a/shapes/text/src/Utils.ts +++ b/shapes/text/src/Utils.ts @@ -1,4 +1,10 @@ -import { type IShapeDrawData, double, half, itemFromSingleOrMultiple } from "@tsparticles/engine"; +import { + type CanvasContextType, + type IShapeDrawData, + double, + half, + itemFromSingleOrMultiple, +} from "@tsparticles/engine"; import type { ITextShape } from "./ITextShape.js"; import type { TextParticle } from "./TextParticle.js"; @@ -64,7 +70,7 @@ export function drawText(data: IShapeDrawData): void { * @param stroke - */ function drawTextLine( - context: CanvasRenderingContext2D, + context: CanvasContextType, line: string, size: number, index: number, diff --git a/updaters/gradient/src/GradientUpdater.ts b/updaters/gradient/src/GradientUpdater.ts index fdcfd7c76fe..c397bd7c8cb 100644 --- a/updaters/gradient/src/GradientUpdater.ts +++ b/updaters/gradient/src/GradientUpdater.ts @@ -1,5 +1,6 @@ import { AnimationStatus, + type CanvasContextType, type Container, GradientType, type ICoordinates, @@ -40,7 +41,7 @@ export class GradientUpdater implements IParticleUpdater { getColorStyles( particle: GradientParticle, - context: CanvasRenderingContext2D, + context: CanvasContextType, radius: number, opacity: number, ): IParticleColorStyle { diff --git a/updaters/orbit/src/Utils.ts b/updaters/orbit/src/Utils.ts index 272b7f9c019..5401164622c 100644 --- a/updaters/orbit/src/Utils.ts +++ b/updaters/orbit/src/Utils.ts @@ -1,4 +1,12 @@ -import { type IHsl, type Particle, degToRad, double, getStyleFromHsl, half } from "@tsparticles/engine"; +import { + type CanvasContextType, + type IHsl, + type Particle, + degToRad, + double, + getStyleFromHsl, + half, +} from "@tsparticles/engine"; import type { OrbitContainer } from "./Types.js"; const minWidth = 0; @@ -18,7 +26,7 @@ const minWidth = 0; */ export function drawEllipse( container: OrbitContainer, - context: CanvasRenderingContext2D, + context: CanvasContextType, particle: Particle, fillColorValue: IHsl | undefined, radius: number, diff --git a/updaters/twinkle/src/TwinkleUpdater.ts b/updaters/twinkle/src/TwinkleUpdater.ts index 445ecf95ae6..cc5b64ff3fc 100644 --- a/updaters/twinkle/src/TwinkleUpdater.ts +++ b/updaters/twinkle/src/TwinkleUpdater.ts @@ -1,4 +1,5 @@ import { + type CanvasContextType, type Container, type IParticleColorStyle, type IParticleUpdater, @@ -24,7 +25,7 @@ export class TwinkleUpdater implements IParticleUpdater { getColorStyles( particle: Particle, - _context: CanvasRenderingContext2D, + _context: CanvasContextType, _radius: number, opacity: number, ): IParticleColorStyle { diff --git a/utils/canvasUtils/src/Utils.ts b/utils/canvasUtils/src/Utils.ts index 5edd05d7c3a..d2d140f0fe5 100644 --- a/utils/canvasUtils/src/Utils.ts +++ b/utils/canvasUtils/src/Utils.ts @@ -1,5 +1,5 @@ -import type { CanvasPixelData, ITextDataOptions, TextLineData } from "./types.js"; import { + type CanvasContextType, type ICoordinates, type IDimension, type IRgba, @@ -10,6 +10,7 @@ import { originPoint, safeDocument, } from "@tsparticles/engine"; +import type { CanvasPixelData, ITextDataOptions, TextLineData } from "./types.js"; const defaultWidth = 0, indexesOffset = { @@ -27,7 +28,7 @@ const defaultWidth = 0, * @param begin - The start point of the line. * @param end - The end point of the line. */ -export function drawLine(context: CanvasRenderingContext2D, begin: ICoordinates, end: ICoordinates): void { +export function drawLine(context: CanvasContextType, begin: ICoordinates, end: ICoordinates): void { context.beginPath(); context.moveTo(begin.x, begin.y); context.lineTo(end.x, end.y); @@ -42,7 +43,7 @@ export function drawLine(context: CanvasRenderingContext2D, begin: ICoordinates, * @returns the canvas pixel data */ export function getCanvasImageData( - ctx: CanvasRenderingContext2D, + ctx: CanvasContextType, size: IDimension, offset: number, clear = true, diff --git a/utils/noiseField/src/NoiseFieldGenerator.ts b/utils/noiseField/src/NoiseFieldGenerator.ts index f7598d8da3b..a511a9fc60d 100644 --- a/utils/noiseField/src/NoiseFieldGenerator.ts +++ b/utils/noiseField/src/NoiseFieldGenerator.ts @@ -1,4 +1,13 @@ -import { type Container, type Particle, Vector, deepExtend, doublePI, getRandom, identity } from "@tsparticles/engine"; +import { + type CanvasContextType, + type Container, + type Particle, + Vector, + deepExtend, + doublePI, + getRandom, + identity, +} from "@tsparticles/engine"; import type { IFactorValues, IOffsetValues } from "./IFactorOffsetValues.js"; import { type IMovePathGenerator } from "@tsparticles/plugin-move"; import type { INoiseFieldOptions } from "./INoiseFieldOptions.js"; @@ -136,7 +145,7 @@ export abstract class NoiseFieldGenerator implements IMovePathGenerator { } } - private _drawField(ctx: CanvasRenderingContext2D): void { + private _drawField(ctx: CanvasContextType): void { const { field, options } = this; for (let x = 0; x < options.columns; x++) { diff --git a/utils/pathUtils/src/Utils.ts b/utils/pathUtils/src/Utils.ts index 06b7ce3915c..e912df769cd 100644 --- a/utils/pathUtils/src/Utils.ts +++ b/utils/pathUtils/src/Utils.ts @@ -1,3 +1,4 @@ +import type { CanvasContextType } from "@tsparticles/engine"; import type { IPathData } from "./IPathData.js"; import { SegmentType } from "./SegmentType.js"; @@ -11,11 +12,7 @@ const firstIndex = 0, * @param radius - * @param path - */ -export function drawPath( - ctx: CanvasRenderingContext2D | OffscreenCanvasRenderingContext2D, - radius: number, - path: IPathData, -): void { +export function drawPath(ctx: CanvasContextType, radius: number, path: IPathData): void { const firstSegment = path.segments[firstIndex]; if (!firstSegment) { From f0231704624b802f2134a1277fac3c0c45d73c9a Mon Sep 17 00:00:00 2001 From: Matteo Bruni <176620+matteobruni@users.noreply.github.com> Date: Mon, 30 Mar 2026 18:44:50 +0200 Subject: [PATCH 15/20] build: fixed comments --- engine/src/Core/Utils/PluginManager.ts | 5 ----- 1 file changed, 5 deletions(-) diff --git a/engine/src/Core/Utils/PluginManager.ts b/engine/src/Core/Utils/PluginManager.ts index c74627d49a7..fc1d8c92fc2 100644 --- a/engine/src/Core/Utils/PluginManager.ts +++ b/engine/src/Core/Utils/PluginManager.ts @@ -31,11 +31,6 @@ type LoadPluginFunction = | AsyncLoadPluginNoEngine | SyncLoadPluginNoEngine; -/** - * Engine class for creating the singleton on globalThis. - * It's a singleton class for initializing {@link Container} instances, - * and for Plugins class responsible for every external feature - */ export class PluginManager { readonly colorManagers = new Map(); From e133ab35835b6411c0da1b151b046a36bcfd9ee1 Mon Sep 17 00:00:00 2001 From: Matteo Bruni <176620+matteobruni@users.noreply.github.com> Date: Tue, 31 Mar 2026 02:11:26 +0200 Subject: [PATCH 16/20] feat: added cannon external interaction --- bundles/all/package.dist.json | 1 + bundles/all/package.json | 1 + bundles/all/src/index.ts | 3 + demo/vanilla/app.ts | 1 + demo/vanilla/package.json | 1 + demo/vanilla/views/index.pug | 1 + interactions/external/cannon/.browserslistrc | 3 + interactions/external/cannon/.npmignore | 2 + interactions/external/cannon/LICENSE | 21 ++ interactions/external/cannon/README.md | 88 ++++++ interactions/external/cannon/eslint.config.js | 7 + .../external/cannon/package.dist.json | 97 ++++++ interactions/external/cannon/package.json | 79 +++++ interactions/external/cannon/src/Cannoner.ts | 282 ++++++++++++++++++ .../cannon/src/Options/Classes/Cannon.ts | 58 ++++ .../src/Options/Classes/CannonOptions.ts | 8 + .../cannon/src/Options/Interfaces/ICannon.ts | 41 +++ interactions/external/cannon/src/Types.ts | 16 + interactions/external/cannon/src/index.ts | 26 ++ .../external/cannon/tsconfig.base.json | 10 + .../external/cannon/tsconfig.browser.json | 7 + interactions/external/cannon/tsconfig.json | 7 + .../external/cannon/tsconfig.module.json | 7 + .../external/cannon/tsconfig.types.json | 7 + .../external/cannon/tsconfig.umd.json | 7 + interactions/external/cannon/typedoc.json | 16 + .../external/cannon/webpack.config.js | 19 ++ interactions/external/drag/src/Dragger.ts | 7 +- pnpm-lock.yaml | 16 + utils/configs/src/m/index.ts | 2 + utils/configs/src/m/mouseCannon.ts | 103 +++++++ 31 files changed, 941 insertions(+), 3 deletions(-) create mode 100644 interactions/external/cannon/.browserslistrc create mode 100644 interactions/external/cannon/.npmignore create mode 100644 interactions/external/cannon/LICENSE create mode 100644 interactions/external/cannon/README.md create mode 100644 interactions/external/cannon/eslint.config.js create mode 100644 interactions/external/cannon/package.dist.json create mode 100644 interactions/external/cannon/package.json create mode 100644 interactions/external/cannon/src/Cannoner.ts create mode 100644 interactions/external/cannon/src/Options/Classes/Cannon.ts create mode 100644 interactions/external/cannon/src/Options/Classes/CannonOptions.ts create mode 100644 interactions/external/cannon/src/Options/Interfaces/ICannon.ts create mode 100644 interactions/external/cannon/src/Types.ts create mode 100644 interactions/external/cannon/src/index.ts create mode 100644 interactions/external/cannon/tsconfig.base.json create mode 100644 interactions/external/cannon/tsconfig.browser.json create mode 100644 interactions/external/cannon/tsconfig.json create mode 100644 interactions/external/cannon/tsconfig.module.json create mode 100644 interactions/external/cannon/tsconfig.types.json create mode 100644 interactions/external/cannon/tsconfig.umd.json create mode 100644 interactions/external/cannon/typedoc.json create mode 100644 interactions/external/cannon/webpack.config.js create mode 100644 utils/configs/src/m/mouseCannon.ts diff --git a/bundles/all/package.dist.json b/bundles/all/package.dist.json index 97266920351..474bc1d0235 100644 --- a/bundles/all/package.dist.json +++ b/bundles/all/package.dist.json @@ -104,6 +104,7 @@ "@tsparticles/effect-shadow": "4.0.0-beta.0", "@tsparticles/effect-trail": "4.0.0-beta.0", "@tsparticles/engine": "4.0.0-beta.0", + "@tsparticles/interaction-external-cannon": "4.0.0-beta.0", "@tsparticles/interaction-external-particle": "4.0.0-beta.0", "@tsparticles/interaction-external-pop": "4.0.0-beta.0", "@tsparticles/interaction-light": "4.0.0-beta.0", diff --git a/bundles/all/package.json b/bundles/all/package.json index 86a4db7feaa..ba34b1df411 100644 --- a/bundles/all/package.json +++ b/bundles/all/package.json @@ -112,6 +112,7 @@ "@tsparticles/effect-shadow": "workspace:4.0.0-beta.0", "@tsparticles/effect-trail": "workspace:4.0.0-beta.0", "@tsparticles/engine": "workspace:4.0.0-beta.0", + "@tsparticles/interaction-external-cannon": "workspace:4.0.0-beta.0", "@tsparticles/interaction-external-particle": "workspace:4.0.0-beta.0", "@tsparticles/interaction-external-pop": "workspace:4.0.0-beta.0", "@tsparticles/interaction-light": "workspace:4.0.0-beta.0", diff --git a/bundles/all/src/index.ts b/bundles/all/src/index.ts index 410b4b98fa8..0c4cd8af1ef 100644 --- a/bundles/all/src/index.ts +++ b/bundles/all/src/index.ts @@ -57,6 +57,7 @@ export async function loadAll(engine: Engine): Promise { { loadExportJSONPlugin }, { loadExportVideoPlugin }, + { loadExternalCannonInteraction }, { loadExternalParticleInteraction }, { loadExternalPopInteraction }, { loadLightInteraction }, @@ -143,6 +144,7 @@ export async function loadAll(engine: Engine): Promise { import("@tsparticles/plugin-export-json"), import("@tsparticles/plugin-export-video"), + import("@tsparticles/interaction-external-cannon"), import("@tsparticles/interaction-external-particle"), import("@tsparticles/interaction-external-pop"), import("@tsparticles/interaction-light"), @@ -193,6 +195,7 @@ export async function loadAll(engine: Engine): Promise { await loadFull(e); await Promise.all([ + loadExternalCannonInteraction(e), loadExternalParticleInteraction(e), loadExternalPopInteraction(e), loadLightInteraction(e), diff --git a/demo/vanilla/app.ts b/demo/vanilla/app.ts index 1e5fb37a179..e421a69ef22 100644 --- a/demo/vanilla/app.ts +++ b/demo/vanilla/app.ts @@ -117,6 +117,7 @@ app.use("/plugin-emitters", express.static("./node_modules/@tsparticles/plugin-e app.use("/plugin-interactivity", express.static("./node_modules/@tsparticles/plugin-interactivity")); app.use("/plugin-polygon-mask", express.static("./node_modules/@tsparticles/plugin-polygon-mask")); app.use("/plugin-poisson-disc", express.static("./node_modules/@tsparticles/plugin-poisson-disc")); +app.use("/interaction-external-cannon", express.static("./node_modules/@tsparticles/interaction-external-cannon")); app.use("/interaction-external-parallax", express.static("./node_modules/@tsparticles/interaction-external-parallax")); app.use("/interaction-external-particle", express.static("./node_modules/@tsparticles/interaction-external-particle")); app.use("/interaction-external-pop", express.static("./node_modules/@tsparticles/interaction-external-pop")); diff --git a/demo/vanilla/package.json b/demo/vanilla/package.json index 2ade1747756..2a2ac3b0e76 100644 --- a/demo/vanilla/package.json +++ b/demo/vanilla/package.json @@ -65,6 +65,7 @@ "@tsparticles/interaction-external-attract": "workspace:4.0.0-beta.0", "@tsparticles/interaction-external-bounce": "workspace:4.0.0-beta.0", "@tsparticles/interaction-external-bubble": "workspace:4.0.0-beta.0", + "@tsparticles/interaction-external-cannon": "workspace:4.0.0-beta.0", "@tsparticles/interaction-external-connect": "workspace:4.0.0-beta.0", "@tsparticles/interaction-external-drag": "workspace:4.0.0-beta.0", "@tsparticles/interaction-external-grab": "workspace:4.0.0-beta.0", diff --git a/demo/vanilla/views/index.pug b/demo/vanilla/views/index.pug index 635288cef70..b27e4d04631 100644 --- a/demo/vanilla/views/index.pug +++ b/demo/vanilla/views/index.pug @@ -128,6 +128,7 @@ html(lang="en") script(src="/interaction-external-attract/tsparticles.interaction.external.attract.min.js") script(src="/interaction-external-bounce/tsparticles.interaction.external.bounce.min.js") script(src="/interaction-external-bubble/tsparticles.interaction.external.bubble.min.js") + script(src="/interaction-external-cannon/tsparticles.interaction.external.cannon.min.js") script(src="/interaction-external-connect/tsparticles.interaction.external.connect.min.js") script(src="/interaction-external-drag/tsparticles.interaction.external.drag.min.js") script(src="/interaction-external-grab/tsparticles.interaction.external.grab.min.js") diff --git a/interactions/external/cannon/.browserslistrc b/interactions/external/cannon/.browserslistrc new file mode 100644 index 00000000000..8e3f6e2d618 --- /dev/null +++ b/interactions/external/cannon/.browserslistrc @@ -0,0 +1,3 @@ +since 2021 +not dead + diff --git a/interactions/external/cannon/.npmignore b/interactions/external/cannon/.npmignore new file mode 100644 index 00000000000..ec3632c8123 --- /dev/null +++ b/interactions/external/cannon/.npmignore @@ -0,0 +1,2 @@ +report.html + diff --git a/interactions/external/cannon/LICENSE b/interactions/external/cannon/LICENSE new file mode 100644 index 00000000000..bdc05f528fa --- /dev/null +++ b/interactions/external/cannon/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2020 Matteo Bruni + +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: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/interactions/external/cannon/README.md b/interactions/external/cannon/README.md new file mode 100644 index 00000000000..30aa165f848 --- /dev/null +++ b/interactions/external/cannon/README.md @@ -0,0 +1,88 @@ +[![banner](https://particles.js.org/images/banner2.png)](https://particles.js.org) + +# tsParticles External Cannon Interaction + +[![jsDelivr](https://data.jsdelivr.com/v1/package/npm/@tsparticles/interaction-external-cannon/badge)](https://www.jsdelivr.com/package/npm/@tsparticles/interaction-external-cannon) +[![npmjs](https://badge.fury.io/js/@tsparticles/interaction-external-cannon.svg)](https://www.npmjs.com/package/@tsparticles/interaction-external-cannon) +[![npmjs](https://img.shields.io/npm/dt/@tsparticles/interaction-external-cannon)](https://www.npmjs.com/package/@tsparticles/interaction-external-cannon) [![GitHub Sponsors](https://img.shields.io/github/sponsors/matteobruni)](https://github.com/sponsors/matteobruni) + +[tsParticles](https://github.com/tsparticles/tsparticles) interaction plugin for a particles cannon +with the mouse/pointer. + +## How to use it + +### CDN / Vanilla JS / jQuery + +The CDN/Vanilla version JS has one required file in vanilla configuration: + +Including the `tsparticles.interaction.external.cannon.min.js` file will export the function to load the interaction +plugin: + +```javascript +loadExternalCannonInteraction; +``` + +### Usage + +Once the scripts are loaded you can set up `tsParticles` and the interaction plugin like this: + +```javascript +(async () => { + await loadInteractivityPlugin(tsParticles); + await loadExternalCannonInteraction(tsParticles); + + await tsParticles.load({ + id: "tsparticles", + options: { + interactivity: { + events: { + onClick: { + enable: true, + mode: "cannon", + }, + }, + }, + }, + }); +})(); +``` + +### ESM / CommonJS + +This package is compatible also with ES or CommonJS modules, firstly this needs to be installed, like this: + +```shell +$ npm install @tsparticles/interaction-external-cannon +``` + +or + +```shell +$ yarn add @tsparticles/interaction-external-cannon +``` + +Then you need to import it in the app, like this: + +```javascript +const { tsParticles } = require("@tsparticles/engine"); +const { loadInteractivityPlugin } = require("@tsparticles/plugin-interactivity"); +const { loadExternalCannonInteraction } = require("@tsparticles/interaction-external-cannon"); + +(async () => { + await loadInteractivityPlugin(tsParticles); + await loadExternalCannonInteraction(tsParticles); +})(); +``` + +or + +```javascript +import { tsParticles } from "@tsparticles/engine"; +import { loadInteractivityPlugin } from "@tsparticles/plugin-interactivity"; +import { loadExternalCannonInteraction } from "@tsparticles/interaction-external-cannon"; + +(async () => { + await loadInteractivityPlugin(tsParticles); + await loadExternalCannonInteraction(tsParticles); +})(); +``` diff --git a/interactions/external/cannon/eslint.config.js b/interactions/external/cannon/eslint.config.js new file mode 100644 index 00000000000..4304e66d2b2 --- /dev/null +++ b/interactions/external/cannon/eslint.config.js @@ -0,0 +1,7 @@ +import tsParticlesESLintConfig from "@tsparticles/eslint-config"; +import { defineConfig } from "eslint/config"; + +export default defineConfig([ + tsParticlesESLintConfig, +]); + diff --git a/interactions/external/cannon/package.dist.json b/interactions/external/cannon/package.dist.json new file mode 100644 index 00000000000..46f867f67a0 --- /dev/null +++ b/interactions/external/cannon/package.dist.json @@ -0,0 +1,97 @@ +{ + "name": "@tsparticles/interaction-external-cannon", + "version": "4.0.0-beta.0", + "description": "tsParticles cannon external interaction", + "homepage": "https://particles.js.org", + "repository": { + "type": "git", + "url": "git+https://github.com/tsparticles/tsparticles.git", + "directory": "interactions/external/cannon" + }, + "keywords": [ + "front-end", + "frontend", + "tsparticles", + "particles.js", + "particlesjs", + "particles", + "particle", + "canvas", + "jsparticles", + "xparticles", + "particles-js", + "particles-bg", + "particles-bg-vue", + "particles-ts", + "particles.ts", + "react-particles-js", + "react-particles.js", + "react-particles", + "react", + "reactjs", + "vue-particles", + "ngx-particles", + "angular-particles", + "particleground", + "vue", + "vuejs", + "preact", + "preactjs", + "jquery", + "angularjs", + "angular", + "typescript", + "javascript", + "animation", + "web", + "html5", + "web-design", + "webdesign", + "css", + "html", + "css3", + "animated", + "background", + "confetti", + "canvas", + "fireworks", + "fireworks-js", + "confetti-js", + "confettijs", + "fireworksjs", + "canvas-confetti", + "tsparticles-plugin", + "@tsparticles/interaction" + ], + "author": "Matteo Bruni ", + "license": "MIT", + "bugs": { + "url": "https://github.com/tsparticles/tsparticles/issues" + }, + "sideEffects": false, + "jsdelivr": "tsparticles.interaction.external.cannon.min.js", + "unpkg": "tsparticles.interaction.external.cannon.min.js", + "browser": "browser/index.js", + "main": "cjs/index.js", + "module": "esm/index.js", + "types": "types/index.d.ts", + "exports": { + ".": { + "types": "./types/index.d.ts", + "browser": "./browser/index.js", + "import": "./esm/index.js", + "require": "./cjs/index.js", + "umd": "./umd/index.js", + "default": "./cjs/index.js" + }, + "./package.json": "./package.json" + }, + "dependencies": { + "@tsparticles/engine": "4.0.0-beta.0", + "@tsparticles/plugin-interactivity": "4.0.0-beta.0" + }, + "publishConfig": { + "access": "public" + }, + "type": "module" +} diff --git a/interactions/external/cannon/package.json b/interactions/external/cannon/package.json new file mode 100644 index 00000000000..7fe89a5322c --- /dev/null +++ b/interactions/external/cannon/package.json @@ -0,0 +1,79 @@ +{ + "name": "@tsparticles/interaction-external-cannon", + "version": "4.0.0-beta.0", + "description": "tsParticles cannon external interaction", + "homepage": "https://particles.js.org", + "scripts": { + "build": "tsparticles-cli build", + "build:ci": "tsparticles-cli build --ci", + "version": "tsparticles-cli build -d && git add package.dist.json && tsparticles-cli build -p -l && git add .", + "prepack": "pnpm run build" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/tsparticles/tsparticles.git", + "directory": "interactions/external/cannon" + }, + "keywords": [ + "front-end", + "frontend", + "tsparticles", + "particles", + "particle", + "canvas", + "jsparticles", + "xparticles", + "particles-js", + "particles.js", + "particles-ts", + "particles.ts", + "typescript", + "javascript", + "animation", + "web", + "html5", + "web-design", + "webdesign", + "css", + "html", + "css3", + "animated", + "background", + "@tsparticles/interaction" + ], + "author": "Matteo Bruni ", + "license": "MIT", + "bugs": { + "url": "https://github.com/tsparticles/tsparticles/issues" + }, + "prettier": "@tsparticles/prettier-config", + "files": [ + "dist" + ], + "sideEffects": false, + "browser": "dist/browser/index.js", + "main": "dist/cjs/index.js", + "module": "dist/esm/index.js", + "types": "dist/types/index.d.ts", + "exports": { + ".": { + "types": "./dist/types/index.d.ts", + "browser": "./dist/browser/index.js", + "import": "./dist/esm/index.js", + "require": "./dist/cjs/index.js", + "umd": "./dist/umd/index.js", + "default": "./dist/cjs/index.js" + }, + "./package.json": "./dist/package.json" + }, + "dependencies": { + "@tsparticles/engine": "workspace:4.0.0-beta.0", + "@tsparticles/plugin-interactivity": "workspace:4.0.0-beta.0" + }, + "publishConfig": { + "access": "public", + "directory": "dist", + "linkDirectory": true + }, + "type": "module" +} diff --git a/interactions/external/cannon/src/Cannoner.ts b/interactions/external/cannon/src/Cannoner.ts new file mode 100644 index 00000000000..6bd2bf9ddb1 --- /dev/null +++ b/interactions/external/cannon/src/Cannoner.ts @@ -0,0 +1,282 @@ +import type { CannonContainer, CannonMode, ICannonMode } from "./Types.js"; +import { + ExternalInteractorBase, + type IInteractivityData, + type IModes, + type InteractivityParticle, + type Modes, +} from "@tsparticles/plugin-interactivity"; +import { + type ICoordinates, + type IDelta, + type RecursivePartial, + Vector, + degToRad, + double, + doublePI, + getDistance, + getRandomInRange, + identity, +} from "@tsparticles/engine"; +import { Cannon } from "./Options/Classes/Cannon.js"; + +enum CannonState { + idle, + aiming, + fired, +} + +const cannonMode = "cannon", + minAngle = 0, + powerRadiusMin = 4, + powerRadiusMaxDenominator = 20, + powerRadiusMaxFactor = identity / powerRadiusMaxDenominator, + minTapsLength = 2, + piDeg = 180, + quarter = 0.25, + minDistance = 0; + +/** + * Computes the angle in radians between two points. + * @param x0 - + * @param y0 - + * @param x1 - + * @param y1 - + * @returns - + */ +function angleRad(x0: number, y0: number, x1: number, y1: number): number { + return Math.atan2(y1 - y0, x1 - x0); +} + +interface CannonData { + drawVector: boolean; + maxDragDistance: number; + maxParticles: number; + minParticles: number; + particleFactor: number; + spread: number; + vectorColor: string; + velocityFactor: number; +} + +interface CannonGesture { + /** Whether the pointer is currently held down. */ + active: boolean; + /** Current drag endpoint (updated on mousemove). */ + current: ICoordinates; + /** Canvas-space origin of the drag (mousedown position). */ + origin: ICoordinates; +} + +/** + * Cannon interactor for tsParticles. + * + * The user presses and drags away from the desired launch origin. + * On release the drag vector is reversed (slingshot / confetti-cannon style) + * and a burst of particles is fired in that direction. + * + * The number of particles and their velocity scale with the drag length. + * + * Options live under `interactivity.modes.cannon`: + * - `spread` — half-angle spread in degrees around the launch angle (default 30) + * - `velocityFactor` — multiplier applied to drag length to obtain particle speed (default 10) + * - `particleFactor` — how many particles per pixel of drag (default 0.2) + * - `minParticles` — minimum burst size regardless of drag length (default 5) + * - `maxParticles` — cap for burst size (default 200) + * - `drawVector` — whether to render the aiming line while dragging (default true) + * - `vectorColor` — CSS color for the aiming line (default "#ffffff80") + */ +export class Cannoner extends ExternalInteractorBase { + readonly maxDistance = 0; + + private _gesture: CannonGesture = { + origin: Vector.origin, + current: Vector.origin, + active: false, + }; + + private _lastDownPosition: ICoordinates | undefined = undefined; + private _state: CannonState = CannonState.idle; + + // eslint-disable-next-line @typescript-eslint/no-useless-constructor + constructor(container: CannonContainer) { + super(container); + } + + clear(_particle: InteractivityParticle, _delta: IDelta): void { + // nothing to clear per-particle + } + + init(): void { + // nothing to initialize + } + + interact(interactivityData: IInteractivityData, _delta: IDelta): void { + const mouse = interactivityData.mouse, + mousePos = mouse.position, + clicking = mouse.clicking, + downPos = mouse.downPosition; + + // ── DOWN transition: new downPosition that we haven't processed yet + if (clicking && downPos && downPos !== this._lastDownPosition && this._state === CannonState.idle) { + this._lastDownPosition = downPos; + this._gesture = { + origin: { x: downPos.x, y: downPos.y }, + current: { x: downPos.x, y: downPos.y }, + active: true, + }; + this._state = CannonState.aiming; + } + + // ── Update endpoint during drag + if (this._state === CannonState.aiming && mousePos) { + this._gesture.current = { x: mousePos.x, y: mousePos.y }; + this._drawVector(); + } + + // ── UP transition: clicking false while we were aiming + if (!clicking && this._state === CannonState.aiming) { + this._gesture.active = false; + this._fire(); + this._state = CannonState.idle; + } + } + + isEnabled(interactivityData: IInteractivityData): boolean { + const { container } = this, + events = container.actualOptions.interactivity?.events; + + if (!events?.onClick.enable) { + return false; + } + + const modes = events.onClick.mode, + modeEnabled = Array.isArray(modes) ? modes.includes(cannonMode) : modes === cannonMode; + + if (!modeEnabled) { + return false; + } + + // Enabled if the gesture is active OR if the mouse is pressed — + // the second case covers frame zero before _state switches to "aiming" + return this._state !== CannonState.idle || interactivityData.mouse.clicking; + } + + loadModeOptions( + options: Modes & CannonMode, + ...sources: RecursivePartial<(IModes & ICannonMode) | undefined>[] + ): void { + options.cannon ??= new Cannon(); + + for (const source of sources) { + options.cannon.load(source?.cannon); + } + } + + reset(_interactivityData: IInteractivityData, _particle: InteractivityParticle): void { + // nothing to reset + } + + // ── Private helpers ──────────────────────────────────────────────────────── + /** + * Resolves cannon options with defaults. + * @returns - + */ + private _cannonOptions(): CannonData { + const raw = (this.container.actualOptions.interactivity?.modes as CannonMode | undefined)?.cannon ?? new Cannon(); + + return { + spread: degToRad(raw.spread), + maxDragDistance: raw.maxDragDistance * this.container.retina.pixelRatio, + velocityFactor: raw.velocityFactor, + particleFactor: raw.particleFactor, + minParticles: raw.minParticles, + maxParticles: raw.maxParticles, + drawVector: raw.drawVector, + vectorColor: raw.vectorColor, + }; + } + + /** + * Draws the aiming line and power circle on the canvas. + * Rendered directly on the container canvas context. + */ + private _drawVector(): void { + const canvas = this.container.canvas.element; + + if (!canvas) { + return; + } + + const ctx = canvas.getContext("2d"); + + if (!ctx) { + return; + } + + const opts = this._cannonOptions(), + { origin, current } = this._gesture, + pxRatio = this.container.retina.pixelRatio, + dragDist = getDistance(origin, current), + // Clamp to maxDragDistance so visual feedback matches actual force + clampedDist = Math.min(dragDist, opts.maxDragDistance), + clampRatio = dragDist > minDistance ? clampedDist / dragDist : minDistance, + clampedX = origin.x + (current.x - origin.x) * clampRatio, + clampedY = origin.y + (current.y - origin.y) * clampRatio; + + ctx.save(); + ctx.strokeStyle = opts.vectorColor; + ctx.lineWidth = double * pxRatio; + ctx.beginPath(); + ctx.moveTo(origin.x, origin.y); + ctx.lineTo(clampedX, clampedY); + ctx.stroke(); + + // Power circle at origin — radius reflects clamped force + const radius = Math.max(powerRadiusMin, clampedDist * powerRadiusMaxFactor) * pxRatio; + + ctx.beginPath(); + ctx.arc(origin.x, origin.y, radius, minAngle, doublePI); + ctx.strokeStyle = opts.vectorColor; + ctx.lineWidth = double * pxRatio; + ctx.stroke(); + ctx.restore(); + } + + /** + * Fires a burst of particles based on the completed drag gesture. + */ + private _fire(): void { + const opts = this._cannonOptions(), + { origin, current } = this._gesture, + dragLength = Math.min(getDistance(origin, current), opts.maxDragDistance); + + if (dragLength < minTapsLength) { + // Ignore accidental taps + return; + } + + const pxRatio = this.container.retina.pixelRatio, + pxRatioFactor = identity / pxRatio, + // Reverse the drag vector to get launch angle (already in radians) + launchAngle = angleRad(current.x, current.y, origin.x, origin.y), + velocity = dragLength * pxRatioFactor * opts.velocityFactor, + count = Math.min(opts.maxParticles, Math.max(opts.minParticles, Math.round(dragLength * opts.particleFactor))), + toDeg = piDeg / Math.PI; + + for (let i = 0; i < count; i++) { + const spreadAngle = launchAngle + getRandomInRange(-opts.spread, opts.spread), + speed = getRandomInRange(velocity * quarter, velocity); + + // addParticle expects logical (non-retina) coords + // direction is in degrees, convert once per particle from the cached radian value + this.container.particles.addParticle(origin, { + move: { + enable: true, + speed, + direction: spreadAngle * toDeg, + }, + }); + } + } +} diff --git a/interactions/external/cannon/src/Options/Classes/Cannon.ts b/interactions/external/cannon/src/Options/Classes/Cannon.ts new file mode 100644 index 00000000000..f31fec97a3c --- /dev/null +++ b/interactions/external/cannon/src/Options/Classes/Cannon.ts @@ -0,0 +1,58 @@ +import type { ICannon } from "../Interfaces/ICannon.js"; +import type { RecursivePartial } from "@tsparticles/engine"; + +export class Cannon implements ICannon { + drawVector; + maxDragDistance; + maxParticles; + minParticles; + particleFactor; + spread; + vectorColor; + velocityFactor; + + constructor() { + this.spread = 30; + this.velocityFactor = 0.5; + this.particleFactor = 0.2; + this.maxDragDistance = 200; + this.minParticles = 5; + this.maxParticles = 200; + this.drawVector = true; + this.vectorColor = "#ffffff80"; + } + + load(data?: RecursivePartial): void { + if (!data) { + return; + } + + if (data.spread !== undefined) { + this.spread = data.spread; + } + + if (data.velocityFactor !== undefined) { + this.velocityFactor = data.velocityFactor; + } + + if (data.particleFactor !== undefined) { + this.particleFactor = data.particleFactor; + } + + if (data.minParticles !== undefined) { + this.minParticles = data.minParticles; + } + + if (data.maxParticles !== undefined) { + this.maxParticles = data.maxParticles; + } + + if (data.drawVector !== undefined) { + this.drawVector = data.drawVector; + } + + if (data.vectorColor !== undefined) { + this.vectorColor = data.vectorColor; + } + } +} diff --git a/interactions/external/cannon/src/Options/Classes/CannonOptions.ts b/interactions/external/cannon/src/Options/Classes/CannonOptions.ts new file mode 100644 index 00000000000..0f30d69508e --- /dev/null +++ b/interactions/external/cannon/src/Options/Classes/CannonOptions.ts @@ -0,0 +1,8 @@ +import type { CannonMode } from "../../Types.js"; +import type { InteractivityOptions } from "@tsparticles/plugin-interactivity"; + +export type CannonOptions = InteractivityOptions & { + interactivity?: { + modes: CannonMode; + }; +}; diff --git a/interactions/external/cannon/src/Options/Interfaces/ICannon.ts b/interactions/external/cannon/src/Options/Interfaces/ICannon.ts new file mode 100644 index 00000000000..97a56a3cf84 --- /dev/null +++ b/interactions/external/cannon/src/Options/Interfaces/ICannon.ts @@ -0,0 +1,41 @@ +export interface ICannon { + /** + * Whether to render the dashed aim line and power circle while dragging. + */ + drawVector: boolean; + + maxDragDistance: number; + + /** + * Maximum number of particles spawned per shot. + */ + maxParticles: number; + + /** + * Minimum number of particles spawned per shot, regardless of drag length. + */ + minParticles: number; + + /** + * How many particles to spawn per pixel of drag. + * The final count is clamped between minParticles and maxParticles. + */ + particleFactor: number; + + /** + * Half-angle spread around the launch direction, in degrees. + * A value of 30 means particles can spread ±30° from the aim angle. + */ + spread: number; + + /** + * CSS color string for the aim line and power circle. + */ + vectorColor: string; + + /** + * Multiplier applied to the drag length (in canvas pixels) to produce + * the base particle speed. Larger values = faster particles. + */ + velocityFactor: number; +} diff --git a/interactions/external/cannon/src/Types.ts b/interactions/external/cannon/src/Types.ts new file mode 100644 index 00000000000..f390a3a0417 --- /dev/null +++ b/interactions/external/cannon/src/Types.ts @@ -0,0 +1,16 @@ +import type { Cannon } from "./Options/Classes/Cannon.js"; +import type { CannonOptions } from "./Options/Classes/CannonOptions.js"; +import type { ICannon } from "./Options/Interfaces/ICannon.js"; +import type { InteractivityContainer } from "@tsparticles/plugin-interactivity"; + +export interface ICannonMode { + cannon: ICannon; +} + +export interface CannonMode { + cannon?: Cannon; +} + +export type CannonContainer = InteractivityContainer & { + actualOptions: CannonOptions; +}; diff --git a/interactions/external/cannon/src/index.ts b/interactions/external/cannon/src/index.ts new file mode 100644 index 00000000000..4697c87710f --- /dev/null +++ b/interactions/external/cannon/src/index.ts @@ -0,0 +1,26 @@ +import { type Engine } from "@tsparticles/engine"; +import type { InteractivityEngine } from "@tsparticles/plugin-interactivity"; +export type { ICannon } from "./Options/Interfaces/ICannon.js"; +export type { CannonContainer, CannonMode, ICannonMode } from "./Types.js"; +export { Cannon } from "./Options/Classes/Cannon.js"; + +declare const __VERSION__: string; + +/** + * @param engine - + */ +export async function loadExternalCannonInteraction(engine: Engine): Promise { + engine.checkVersion(__VERSION__); + + await engine.pluginManager.register(async (e: InteractivityEngine) => { + const { ensureInteractivityPluginLoaded } = await import("@tsparticles/plugin-interactivity"); + + ensureInteractivityPluginLoaded(e); + + e.pluginManager.addInteractor?.("externalCannon", async container => { + const { Cannoner } = await import("./Cannoner.js"); + + return new Cannoner(container); + }); + }); +} diff --git a/interactions/external/cannon/tsconfig.base.json b/interactions/external/cannon/tsconfig.base.json new file mode 100644 index 00000000000..deef1f14976 --- /dev/null +++ b/interactions/external/cannon/tsconfig.base.json @@ -0,0 +1,10 @@ +{ + "extends": "@tsparticles/tsconfig/dist/tsconfig.base.json", + "compilerOptions": { + "rootDir": "./src" + }, + "include": [ + "./src" + ] +} + diff --git a/interactions/external/cannon/tsconfig.browser.json b/interactions/external/cannon/tsconfig.browser.json new file mode 100644 index 00000000000..824ce17c0fd --- /dev/null +++ b/interactions/external/cannon/tsconfig.browser.json @@ -0,0 +1,7 @@ +{ + "extends": ["./tsconfig.base.json", "@tsparticles/tsconfig/dist/tsconfig.browser.json"], + "compilerOptions": { + "outDir": "./dist/browser" + } +} + diff --git a/interactions/external/cannon/tsconfig.json b/interactions/external/cannon/tsconfig.json new file mode 100644 index 00000000000..d29d546208c --- /dev/null +++ b/interactions/external/cannon/tsconfig.json @@ -0,0 +1,7 @@ +{ + "extends": ["./tsconfig.base.json", "@tsparticles/tsconfig/dist/tsconfig.json"], + "compilerOptions": { + "outDir": "./dist/cjs" + } +} + diff --git a/interactions/external/cannon/tsconfig.module.json b/interactions/external/cannon/tsconfig.module.json new file mode 100644 index 00000000000..030719f2c21 --- /dev/null +++ b/interactions/external/cannon/tsconfig.module.json @@ -0,0 +1,7 @@ +{ + "extends": ["./tsconfig.base.json", "@tsparticles/tsconfig/dist/tsconfig.module.json"], + "compilerOptions": { + "outDir": "./dist/esm" + } +} + diff --git a/interactions/external/cannon/tsconfig.types.json b/interactions/external/cannon/tsconfig.types.json new file mode 100644 index 00000000000..db4045ffaef --- /dev/null +++ b/interactions/external/cannon/tsconfig.types.json @@ -0,0 +1,7 @@ +{ + "extends": ["./tsconfig.base.json", "@tsparticles/tsconfig/dist/tsconfig.types.json"], + "compilerOptions": { + "outDir": "./dist/types" + } +} + diff --git a/interactions/external/cannon/tsconfig.umd.json b/interactions/external/cannon/tsconfig.umd.json new file mode 100644 index 00000000000..17e1acb271d --- /dev/null +++ b/interactions/external/cannon/tsconfig.umd.json @@ -0,0 +1,7 @@ +{ + "extends": ["./tsconfig.base.json", "@tsparticles/tsconfig/dist/tsconfig.umd.json"], + "compilerOptions": { + "outDir": "./dist/umd" + } +} + diff --git a/interactions/external/cannon/typedoc.json b/interactions/external/cannon/typedoc.json new file mode 100644 index 00000000000..7a189f8cbe0 --- /dev/null +++ b/interactions/external/cannon/typedoc.json @@ -0,0 +1,16 @@ +{ + "projectDocuments": ["../markdown/**/*.md"], + "entryPoints": [ + "./src/" + ], + "entryPointStrategy": "expand", + "name": "tsParticles Drag External Interaction", + "includeVersion": true, + "hideGenerator": true, + "out": "./docs", + "validation": { + "invalidLink": true, + "notDocumented": true + } +} + diff --git a/interactions/external/cannon/webpack.config.js b/interactions/external/cannon/webpack.config.js new file mode 100644 index 00000000000..2e14cf49f68 --- /dev/null +++ b/interactions/external/cannon/webpack.config.js @@ -0,0 +1,19 @@ +import { loadParticlesInteractionExternal } from "@tsparticles/webpack-plugin"; +import { fileURLToPath } from "node:url"; +import fs from "fs-extra"; +import path from "node:path"; + +const __filename = fileURLToPath(import.meta.url), + __dirname = path.dirname(__filename), + rootPkgPath = path.join(__dirname, "package.json"), + pkg = await fs.readJson(rootPkgPath), + version = pkg.version; + +export default loadParticlesInteractionExternal({ + moduleName: "cannon", + pluginName: "Cannon", + version, + dir: __dirname, + progress: false, +}); + diff --git a/interactions/external/drag/src/Dragger.ts b/interactions/external/drag/src/Dragger.ts index 4b0396a7bdb..e67a3fe9046 100644 --- a/interactions/external/drag/src/Dragger.ts +++ b/interactions/external/drag/src/Dragger.ts @@ -7,6 +7,7 @@ import { type Modes, } from "@tsparticles/plugin-interactivity"; import { + type ICoordinates, type IDelta, type Particle, type RecursivePartial, @@ -48,11 +49,11 @@ export class Dragger extends ExternalInteractorBase { private _dragStartClickTime?: number; private _dragStartClickingFalseTime?: number; private _draggedParticle?: Particle; - private _grabOffset?: { x: number; y: number }; - private _lastMousePosition?: { x: number; y: number }; + private _grabOffset?: ICoordinates; + private _lastMousePosition?: ICoordinates; private _momentumSamples: MomentumSample[] = []; private _mouseDownHandled = false; - private _savedVelocity?: { x: number; y: number }; + private _savedVelocity?: ICoordinates; // eslint-disable-next-line @typescript-eslint/no-useless-constructor constructor(container: DragContainer) { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 374d5ddf9f8..a93c77e35d6 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -188,6 +188,9 @@ importers: '@tsparticles/engine': specifier: workspace:4.0.0-beta.0 version: link:../../engine/dist + '@tsparticles/interaction-external-cannon': + specifier: workspace:4.0.0-beta.0 + version: link:../../interactions/external/cannon/dist '@tsparticles/interaction-external-particle': specifier: workspace:4.0.0-beta.0 version: link:../../interactions/external/particle/dist @@ -731,6 +734,9 @@ importers: '@tsparticles/interaction-external-bubble': specifier: workspace:4.0.0-beta.0 version: link:../../interactions/external/bubble/dist + '@tsparticles/interaction-external-cannon': + specifier: workspace:4.0.0-beta.0 + version: link:../../interactions/external/cannon/dist '@tsparticles/interaction-external-connect': specifier: workspace:4.0.0-beta.0 version: link:../../interactions/external/connect/dist @@ -1300,6 +1306,16 @@ importers: version: link:../../../plugins/interactivity/dist publishDirectory: dist + interactions/external/cannon: + dependencies: + '@tsparticles/engine': + specifier: workspace:4.0.0-beta.0 + version: link:../../../engine/dist + '@tsparticles/plugin-interactivity': + specifier: workspace:4.0.0-beta.0 + version: link:../../../plugins/interactivity/dist + publishDirectory: dist + interactions/external/connect: dependencies: '@tsparticles/canvas-utils': diff --git a/utils/configs/src/m/index.ts b/utils/configs/src/m/index.ts index d23125a5cb2..c5c668d8171 100644 --- a/utils/configs/src/m/index.ts +++ b/utils/configs/src/m/index.ts @@ -4,6 +4,7 @@ import motionDisable from "./motionDisable.js"; import motionReduce from "./motionReduce.js"; import mouseAttract from "./mouseAttract.js"; import mouseBounce from "./mouseBounce.js"; +import mouseCannon from "./mouseCannon.js"; import mouseDrag from "./mouseDrag.js"; import mouseDragMomentum from "./mouseDragMomentum.js"; import mouseFollow from "./mouseFollow.js"; @@ -25,6 +26,7 @@ export default { motionReduce, mouseAttract, mouseBounce, + mouseCannon, mouseDrag, mouseDragMomentum, mouseFollow, diff --git a/utils/configs/src/m/mouseCannon.ts b/utils/configs/src/m/mouseCannon.ts new file mode 100644 index 00000000000..3d75793dbae --- /dev/null +++ b/utils/configs/src/m/mouseCannon.ts @@ -0,0 +1,103 @@ +import type { ISourceOptions } from "@tsparticles/engine"; + +const options: ISourceOptions = { + key: "mouseCannon", + name: "Mouse Cannon", + particles: { + number: { + value: 0, + density: { + enable: true, + }, + }, + fill: { + color: { + value: ["#ffffff", "#ff0000"], + }, + enable: true, + }, + shape: { + type: ["square", "circle"], + }, + size: { + value: { + min: 3, + max: 5, + }, + }, + move: { + enable: true, + speed: 1, + decay: 0.1, + gravity: { + enable: true, + }, + outModes: { + default: "destroy", + top: "none", + }, + }, + rotate: { + value: { + min: 0, + max: 360, + }, + direction: "random", + move: true, + animation: { + enable: true, + speed: 60, + }, + }, + tilt: { + direction: "random", + enable: true, + value: { + min: 0, + max: 360, + }, + animation: { + enable: true, + speed: 60, + }, + }, + roll: { + darken: { + enable: true, + value: 30, + }, + enlighten: { + enable: true, + value: 30, + }, + enable: true, + mode: "both", + speed: { + min: 15, + max: 25, + }, + }, + wobble: { + distance: 30, + enable: true, + move: true, + speed: { + min: -15, + max: 15, + }, + }, + }, + interactivity: { + events: { + onClick: { + enable: true, + mode: "cannon", + }, + }, + }, + background: { + color: "#000000", + }, +}; + +export default options; From 5d55e8f22aa34939ac96a58ef9e1eb478f33e9f6 Mon Sep 17 00:00:00 2001 From: Matteo Bruni <176620+matteobruni@users.noreply.github.com> Date: Tue, 31 Mar 2026 02:14:52 +0200 Subject: [PATCH 17/20] fix: improved cannon vector draw --- interactions/external/cannon/src/Cannoner.ts | 68 +++++++++----------- 1 file changed, 29 insertions(+), 39 deletions(-) diff --git a/interactions/external/cannon/src/Cannoner.ts b/interactions/external/cannon/src/Cannoner.ts index 6bd2bf9ddb1..293c2e5bef5 100644 --- a/interactions/external/cannon/src/Cannoner.ts +++ b/interactions/external/cannon/src/Cannoner.ts @@ -202,45 +202,35 @@ export class Cannoner extends ExternalInteractorBase { * Rendered directly on the container canvas context. */ private _drawVector(): void { - const canvas = this.container.canvas.element; - - if (!canvas) { - return; - } - - const ctx = canvas.getContext("2d"); - - if (!ctx) { - return; - } - - const opts = this._cannonOptions(), - { origin, current } = this._gesture, - pxRatio = this.container.retina.pixelRatio, - dragDist = getDistance(origin, current), - // Clamp to maxDragDistance so visual feedback matches actual force - clampedDist = Math.min(dragDist, opts.maxDragDistance), - clampRatio = dragDist > minDistance ? clampedDist / dragDist : minDistance, - clampedX = origin.x + (current.x - origin.x) * clampRatio, - clampedY = origin.y + (current.y - origin.y) * clampRatio; - - ctx.save(); - ctx.strokeStyle = opts.vectorColor; - ctx.lineWidth = double * pxRatio; - ctx.beginPath(); - ctx.moveTo(origin.x, origin.y); - ctx.lineTo(clampedX, clampedY); - ctx.stroke(); - - // Power circle at origin — radius reflects clamped force - const radius = Math.max(powerRadiusMin, clampedDist * powerRadiusMaxFactor) * pxRatio; - - ctx.beginPath(); - ctx.arc(origin.x, origin.y, radius, minAngle, doublePI); - ctx.strokeStyle = opts.vectorColor; - ctx.lineWidth = double * pxRatio; - ctx.stroke(); - ctx.restore(); + this.container.canvas.render.draw(ctx => { + const opts = this._cannonOptions(), + { origin, current } = this._gesture, + pxRatio = this.container.retina.pixelRatio, + dragDist = getDistance(origin, current), + // Clamp to maxDragDistance so visual feedback matches actual force + clampedDist = Math.min(dragDist, opts.maxDragDistance), + clampRatio = dragDist > minDistance ? clampedDist / dragDist : minDistance, + clampedX = origin.x + (current.x - origin.x) * clampRatio, + clampedY = origin.y + (current.y - origin.y) * clampRatio; + + ctx.save(); + ctx.strokeStyle = opts.vectorColor; + ctx.lineWidth = double * pxRatio; + ctx.beginPath(); + ctx.moveTo(origin.x, origin.y); + ctx.lineTo(clampedX, clampedY); + ctx.stroke(); + + // Power circle at origin — radius reflects clamped force + const radius = Math.max(powerRadiusMin, clampedDist * powerRadiusMaxFactor) * pxRatio; + + ctx.beginPath(); + ctx.arc(origin.x, origin.y, radius, minAngle, doublePI); + ctx.strokeStyle = opts.vectorColor; + ctx.lineWidth = double * pxRatio; + ctx.stroke(); + ctx.restore(); + }); } /** From 8cfcc50f4375582b73ff79569a097aea8464c8c7 Mon Sep 17 00:00:00 2001 From: Matteo Bruni <176620+matteobruni@users.noreply.github.com> Date: Tue, 31 Mar 2026 08:52:48 +0200 Subject: [PATCH 18/20] fix: improved cannon options loading --- interactions/external/cannon/src/Cannoner.ts | 59 ++++++++++---------- 1 file changed, 31 insertions(+), 28 deletions(-) diff --git a/interactions/external/cannon/src/Cannoner.ts b/interactions/external/cannon/src/Cannoner.ts index 293c2e5bef5..f4097b03bb9 100644 --- a/interactions/external/cannon/src/Cannoner.ts +++ b/interactions/external/cannon/src/Cannoner.ts @@ -89,6 +89,7 @@ interface CannonGesture { export class Cannoner extends ExternalInteractorBase { readonly maxDistance = 0; + private _data?: CannonData; private _gesture: CannonGesture = { origin: Vector.origin, current: Vector.origin, @@ -108,7 +109,18 @@ export class Cannoner extends ExternalInteractorBase { } init(): void { - // nothing to initialize + const options = this.container.actualOptions.interactivity?.modes.cannon ?? new Cannon(); + + this._data = { + spread: degToRad(options.spread), + maxDragDistance: options.maxDragDistance, + velocityFactor: options.velocityFactor, + particleFactor: options.particleFactor, + minParticles: options.minParticles, + maxParticles: options.maxParticles, + drawVector: options.drawVector, + vectorColor: options.vectorColor, + }; } interact(interactivityData: IInteractivityData, _delta: IDelta): void { @@ -178,37 +190,23 @@ export class Cannoner extends ExternalInteractorBase { } // ── Private helpers ──────────────────────────────────────────────────────── - /** - * Resolves cannon options with defaults. - * @returns - - */ - private _cannonOptions(): CannonData { - const raw = (this.container.actualOptions.interactivity?.modes as CannonMode | undefined)?.cannon ?? new Cannon(); - - return { - spread: degToRad(raw.spread), - maxDragDistance: raw.maxDragDistance * this.container.retina.pixelRatio, - velocityFactor: raw.velocityFactor, - particleFactor: raw.particleFactor, - minParticles: raw.minParticles, - maxParticles: raw.maxParticles, - drawVector: raw.drawVector, - vectorColor: raw.vectorColor, - }; - } - /** * Draws the aiming line and power circle on the canvas. * Rendered directly on the container canvas context. */ private _drawVector(): void { this.container.canvas.render.draw(ctx => { - const opts = this._cannonOptions(), - { origin, current } = this._gesture, + const opts = this._data; + + if (!opts) { + return; + } + + const { origin, current } = this._gesture, pxRatio = this.container.retina.pixelRatio, dragDist = getDistance(origin, current), // Clamp to maxDragDistance so visual feedback matches actual force - clampedDist = Math.min(dragDist, opts.maxDragDistance), + clampedDist = Math.min(dragDist, opts.maxDragDistance * pxRatio), clampRatio = dragDist > minDistance ? clampedDist / dragDist : minDistance, clampedX = origin.x + (current.x - origin.x) * clampRatio, clampedY = origin.y + (current.y - origin.y) * clampRatio; @@ -237,17 +235,22 @@ export class Cannoner extends ExternalInteractorBase { * Fires a burst of particles based on the completed drag gesture. */ private _fire(): void { - const opts = this._cannonOptions(), - { origin, current } = this._gesture, - dragLength = Math.min(getDistance(origin, current), opts.maxDragDistance); + const opts = this._data; + + if (!opts) { + return; + } + + const { origin, current } = this._gesture, + pxRatio = this.container.retina.pixelRatio, + dragLength = Math.min(getDistance(origin, current), opts.maxDragDistance * pxRatio); if (dragLength < minTapsLength) { // Ignore accidental taps return; } - const pxRatio = this.container.retina.pixelRatio, - pxRatioFactor = identity / pxRatio, + const pxRatioFactor = identity / pxRatio, // Reverse the drag vector to get launch angle (already in radians) launchAngle = angleRad(current.x, current.y, origin.x, origin.y), velocity = dragLength * pxRatioFactor * opts.velocityFactor, From b836a59e90afdc68b6307e8d37898e71b5881a21 Mon Sep 17 00:00:00 2001 From: Matteo Bruni <176620+matteobruni@users.noreply.github.com> Date: Tue, 31 Mar 2026 10:27:32 +0200 Subject: [PATCH 19/20] fix: improved cannon and interactivity events --- engine/src/Utils/LogUtils.ts | 4 ++++ interactions/external/cannon/src/Cannoner.ts | 6 ++++-- .../src/InteractivityParticleMaker.ts | 8 ++++---- .../src/InteractivityConstants.ts | 1 - .../src/InteractivityEventListeners.ts | 19 ++++++------------- 5 files changed, 18 insertions(+), 20 deletions(-) diff --git a/engine/src/Utils/LogUtils.ts b/engine/src/Utils/LogUtils.ts index eaec82eabee..2e988c9c31f 100644 --- a/engine/src/Utils/LogUtils.ts +++ b/engine/src/Utils/LogUtils.ts @@ -14,6 +14,9 @@ interface ILogger { // eslint-disable-next-line @typescript-eslint/no-invalid-void-type log(this: void, message?: unknown, ...optionalParams: unknown[]): void; + // eslint-disable-next-line @typescript-eslint/no-invalid-void-type + trace(this: void, ...data: unknown[]): void; + // eslint-disable-next-line @typescript-eslint/no-invalid-void-type verbose(this: void, message?: unknown, ...optionalParams: unknown[]): void; @@ -29,6 +32,7 @@ const _logger: ILogger = { }, info: console.info, log: console.log, + trace: console.trace, verbose: console.log, warning: console.warn, }; diff --git a/interactions/external/cannon/src/Cannoner.ts b/interactions/external/cannon/src/Cannoner.ts index f4097b03bb9..3f28ab8a63e 100644 --- a/interactions/external/cannon/src/Cannoner.ts +++ b/interactions/external/cannon/src/Cannoner.ts @@ -17,6 +17,7 @@ import { getDistance, getRandomInRange, identity, + none, } from "@tsparticles/engine"; import { Cannon } from "./Options/Classes/Cannon.js"; @@ -206,7 +207,7 @@ export class Cannoner extends ExternalInteractorBase { pxRatio = this.container.retina.pixelRatio, dragDist = getDistance(origin, current), // Clamp to maxDragDistance so visual feedback matches actual force - clampedDist = Math.min(dragDist, opts.maxDragDistance * pxRatio), + clampedDist = opts.maxDragDistance > none ? Math.min(dragDist, opts.maxDragDistance * pxRatio) : pxRatio, clampRatio = dragDist > minDistance ? clampedDist / dragDist : minDistance, clampedX = origin.x + (current.x - origin.x) * clampRatio, clampedY = origin.y + (current.y - origin.y) * clampRatio; @@ -243,7 +244,8 @@ export class Cannoner extends ExternalInteractorBase { const { origin, current } = this._gesture, pxRatio = this.container.retina.pixelRatio, - dragLength = Math.min(getDistance(origin, current), opts.maxDragDistance * pxRatio); + dist = getDistance(origin, current), + dragLength = opts.maxDragDistance > none ? Math.min(dist, opts.maxDragDistance * pxRatio) : dist; if (dragLength < minTapsLength) { // Ignore accidental taps diff --git a/interactions/external/particle/src/InteractivityParticleMaker.ts b/interactions/external/particle/src/InteractivityParticleMaker.ts index 70b1101c10e..c8d2e63732f 100644 --- a/interactions/external/particle/src/InteractivityParticleMaker.ts +++ b/interactions/external/particle/src/InteractivityParticleMaker.ts @@ -84,10 +84,10 @@ export class InteractivityParticleMaker extends ExternalInteractorBase void = ( - mouseLeaveTmpEvent, - add, - ) => { + private readonly _manageInteractivityListeners: (add: boolean) => void = add => { const handlers = this._handlers, container = this._container, interactionManager = this._interactionManager, @@ -204,7 +201,7 @@ export class InteractivityEventListeners { manageListener(interactivityEl, touchEndEvent, handlers.touchEnd, add); } - manageListener(interactivityEl, mouseLeaveTmpEvent, handlers.mouseLeave, add); + manageListener(interactivityEl, mouseLeaveEvent, handlers.mouseLeave, add); manageListener(interactivityEl, touchCancelEvent, handlers.touchCancel, add); }; @@ -220,20 +217,16 @@ export class InteractivityEventListeners { detectType = options.interactivity?.detectsOn, canvasEl = container.canvas.element; - let mouseLeaveTmpEvent = mouseLeaveEvent; - /* events target element */ if (detectType === InteractivityDetect.window) { - interactionManager.interactivityData.element = globalThis; - - mouseLeaveTmpEvent = mouseOutEvent; + interactionManager.interactivityData.element = safeDocument(); } else if (detectType === InteractivityDetect.parent && canvasEl) { interactionManager.interactivityData.element = canvasEl.parentElement ?? canvasEl.parentNode; } else { interactionManager.interactivityData.element = canvasEl; } - this._manageInteractivityListeners(mouseLeaveTmpEvent, add); + this._manageInteractivityListeners(add); manageListener(document, visibilityChangeEvent, handlers.visibilityChange, add, false); }; @@ -326,7 +319,7 @@ export class InteractivityEventListeners { const mouseEvent = e as MouseEvent; - if (interactivity.element === globalThis) { + if (interactivity.element === safeDocument()) { if (canvasEl) { const clientRect = canvasEl.getBoundingClientRect(); From ff32b5f40d2285409d0b10b98b0504fc7a6ab546 Mon Sep 17 00:00:00 2001 From: Matteo Bruni <176620+matteobruni@users.noreply.github.com> Date: Tue, 31 Mar 2026 10:42:18 +0200 Subject: [PATCH 20/20] chore(release): published new version --- CHANGELOG.md | 12 + bundles/all/CHANGELOG.md | 6 + bundles/all/package.dist.json | 156 +- bundles/all/package.json | 156 +- bundles/basic/CHANGELOG.md | 4 + bundles/basic/package.dist.json | 22 +- bundles/basic/package.json | 22 +- bundles/confetti/CHANGELOG.md | 4 + bundles/confetti/package.dist.json | 34 +- bundles/confetti/package.json | 34 +- bundles/fireworks/CHANGELOG.md | 4 + bundles/fireworks/package.dist.json | 20 +- bundles/fireworks/package.json | 20 +- bundles/full/CHANGELOG.md | 4 + bundles/full/package.dist.json | 30 +- bundles/full/package.json | 30 +- bundles/pjs/CHANGELOG.md | 4 + bundles/pjs/package.dist.json | 8 +- bundles/pjs/package.json | 10 +- bundles/slim/CHANGELOG.md | 4 + bundles/slim/package.dist.json | 56 +- bundles/slim/package.json | 56 +- demo/electron/CHANGELOG.md | 4 + demo/electron/package.json | 8 +- demo/vanilla/CHANGELOG.md | 6 + demo/vanilla/package.json | 276 +- demo/vanilla_new/CHANGELOG.md | 4 + demo/vanilla_new/package.json | 26 +- demo/vite/CHANGELOG.md | 4 + demo/vite/package.json | 8 +- effects/bubble/CHANGELOG.md | 4 + effects/bubble/package.dist.json | 4 +- effects/bubble/package.json | 4 +- effects/particles/CHANGELOG.md | 4 + effects/particles/package.dist.json | 4 +- effects/particles/package.json | 4 +- effects/shadow/CHANGELOG.md | 4 + effects/shadow/package.dist.json | 4 +- effects/shadow/package.json | 4 +- effects/trail/CHANGELOG.md | 4 + effects/trail/package.dist.json | 4 +- effects/trail/package.json | 4 +- engine/CHANGELOG.md | 6 + engine/package.dist.json | 2 +- engine/package.json | 2 +- interactions/external/attract/CHANGELOG.md | 4 + .../external/attract/package.dist.json | 6 +- interactions/external/attract/package.json | 6 +- interactions/external/bounce/CHANGELOG.md | 4 + .../external/bounce/package.dist.json | 6 +- interactions/external/bounce/package.json | 6 +- interactions/external/bubble/CHANGELOG.md | 4 + .../external/bubble/package.dist.json | 6 +- interactions/external/bubble/package.json | 6 +- interactions/external/cannon/CHANGELOG.md | 16 + .../external/cannon/package.dist.json | 6 +- interactions/external/cannon/package.json | 6 +- interactions/external/connect/CHANGELOG.md | 4 + .../external/connect/package.dist.json | 8 +- interactions/external/connect/package.json | 8 +- interactions/external/drag/CHANGELOG.md | 6 + interactions/external/drag/package.dist.json | 6 +- interactions/external/drag/package.json | 6 +- interactions/external/grab/CHANGELOG.md | 4 + interactions/external/grab/package.dist.json | 8 +- interactions/external/grab/package.json | 8 +- interactions/external/parallax/CHANGELOG.md | 4 + .../external/parallax/package.dist.json | 6 +- interactions/external/parallax/package.json | 6 +- interactions/external/particle/CHANGELOG.md | 6 + .../external/particle/package.dist.json | 6 +- interactions/external/particle/package.json | 6 +- interactions/external/pause/CHANGELOG.md | 4 + interactions/external/pause/package.dist.json | 6 +- interactions/external/pause/package.json | 6 +- interactions/external/pop/CHANGELOG.md | 4 + interactions/external/pop/package.dist.json | 6 +- interactions/external/pop/package.json | 6 +- interactions/external/push/CHANGELOG.md | 4 + interactions/external/push/package.dist.json | 6 +- interactions/external/push/package.json | 6 +- interactions/external/remove/CHANGELOG.md | 4 + .../external/remove/package.dist.json | 6 +- interactions/external/remove/package.json | 6 +- interactions/external/repulse/CHANGELOG.md | 4 + .../external/repulse/package.dist.json | 6 +- interactions/external/repulse/package.json | 6 +- interactions/external/slow/CHANGELOG.md | 4 + interactions/external/slow/package.dist.json | 6 +- interactions/external/slow/package.json | 6 +- interactions/external/trail/CHANGELOG.md | 4 + interactions/external/trail/package.dist.json | 6 +- interactions/external/trail/package.json | 6 +- interactions/light/CHANGELOG.md | 4 + interactions/light/package.dist.json | 6 +- interactions/light/package.json | 6 +- interactions/particles/attract/CHANGELOG.md | 4 + .../particles/attract/package.dist.json | 6 +- interactions/particles/attract/package.json | 6 +- .../particles/collisions/CHANGELOG.md | 4 + .../particles/collisions/package.dist.json | 6 +- .../particles/collisions/package.json | 6 +- interactions/particles/links/CHANGELOG.md | 4 + .../particles/links/package.dist.json | 8 +- interactions/particles/links/package.json | 8 +- interactions/particles/repulse/CHANGELOG.md | 4 + .../particles/repulse/package.dist.json | 6 +- interactions/particles/repulse/package.json | 6 +- lerna.json | 2 +- paths/branches/CHANGELOG.md | 4 + paths/branches/package.dist.json | 6 +- paths/branches/package.json | 6 +- paths/brownian/CHANGELOG.md | 4 + paths/brownian/package.dist.json | 6 +- paths/brownian/package.json | 6 +- paths/curlNoise/CHANGELOG.md | 4 + paths/curlNoise/package.dist.json | 8 +- paths/curlNoise/package.json | 8 +- paths/curves/CHANGELOG.md | 4 + paths/curves/package.dist.json | 6 +- paths/curves/package.json | 6 +- paths/fractalNoise/CHANGELOG.md | 4 + paths/fractalNoise/package.dist.json | 10 +- paths/fractalNoise/package.json | 10 +- paths/grid/CHANGELOG.md | 4 + paths/grid/package.dist.json | 6 +- paths/grid/package.json | 6 +- paths/levy/CHANGELOG.md | 4 + paths/levy/package.dist.json | 6 +- paths/levy/package.json | 6 +- paths/perlinNoise/CHANGELOG.md | 4 + paths/perlinNoise/package.dist.json | 10 +- paths/perlinNoise/package.json | 10 +- paths/polygon/CHANGELOG.md | 4 + paths/polygon/package.dist.json | 6 +- paths/polygon/package.json | 6 +- paths/random/CHANGELOG.md | 4 + paths/random/package.dist.json | 6 +- paths/random/package.json | 6 +- paths/simplexNoise/CHANGELOG.md | 4 + paths/simplexNoise/package.dist.json | 10 +- paths/simplexNoise/package.json | 10 +- paths/spiral/CHANGELOG.md | 4 + paths/spiral/package.dist.json | 6 +- paths/spiral/package.json | 6 +- paths/svg/CHANGELOG.md | 4 + paths/svg/package.dist.json | 6 +- paths/svg/package.json | 6 +- paths/zigzag/CHANGELOG.md | 4 + paths/zigzag/package.dist.json | 6 +- paths/zigzag/package.json | 6 +- plugins/absorbers/CHANGELOG.md | 4 + plugins/absorbers/package.dist.json | 6 +- plugins/absorbers/package.json | 6 +- plugins/backgroundMask/CHANGELOG.md | 4 + plugins/backgroundMask/package.dist.json | 4 +- plugins/backgroundMask/package.json | 4 +- plugins/blend/CHANGELOG.md | 4 + plugins/blend/package.dist.json | 4 +- plugins/blend/package.json | 4 +- plugins/canvasMask/CHANGELOG.md | 4 + plugins/canvasMask/package.dist.json | 6 +- plugins/canvasMask/package.json | 6 +- plugins/colors/hex/CHANGELOG.md | 4 + plugins/colors/hex/package.dist.json | 4 +- plugins/colors/hex/package.json | 4 +- plugins/colors/hsl/CHANGELOG.md | 4 + plugins/colors/hsl/package.dist.json | 4 +- plugins/colors/hsl/package.json | 4 +- plugins/colors/hsv/CHANGELOG.md | 4 + plugins/colors/hsv/package.dist.json | 4 +- plugins/colors/hsv/package.json | 4 +- plugins/colors/hwb/CHANGELOG.md | 4 + plugins/colors/hwb/package.dist.json | 4 +- plugins/colors/hwb/package.json | 4 +- plugins/colors/lab/CHANGELOG.md | 4 + plugins/colors/lab/package.dist.json | 4 +- plugins/colors/lab/package.json | 4 +- plugins/colors/lch/CHANGELOG.md | 4 + plugins/colors/lch/package.dist.json | 4 +- plugins/colors/lch/package.json | 4 +- plugins/colors/named/CHANGELOG.md | 4 + plugins/colors/named/package.dist.json | 4 +- plugins/colors/named/package.json | 4 +- plugins/colors/oklab/CHANGELOG.md | 4 + plugins/colors/oklab/package.dist.json | 4 +- plugins/colors/oklab/package.json | 4 +- plugins/colors/oklch/CHANGELOG.md | 4 + plugins/colors/oklch/package.dist.json | 4 +- plugins/colors/oklch/package.json | 4 +- plugins/colors/rgb/CHANGELOG.md | 4 + plugins/colors/rgb/package.dist.json | 4 +- plugins/colors/rgb/package.json | 4 +- plugins/easings/back/CHANGELOG.md | 4 + plugins/easings/back/package.dist.json | 4 +- plugins/easings/back/package.json | 4 +- plugins/easings/bounce/CHANGELOG.md | 4 + plugins/easings/bounce/package.dist.json | 4 +- plugins/easings/bounce/package.json | 4 +- plugins/easings/circ/CHANGELOG.md | 4 + plugins/easings/circ/package.dist.json | 4 +- plugins/easings/circ/package.json | 4 +- plugins/easings/cubic/CHANGELOG.md | 4 + plugins/easings/cubic/package.dist.json | 4 +- plugins/easings/cubic/package.json | 4 +- plugins/easings/elastic/CHANGELOG.md | 4 + plugins/easings/elastic/package.dist.json | 4 +- plugins/easings/elastic/package.json | 4 +- plugins/easings/expo/CHANGELOG.md | 4 + plugins/easings/expo/package.dist.json | 4 +- plugins/easings/expo/package.json | 4 +- plugins/easings/gaussian/CHANGELOG.md | 4 + plugins/easings/gaussian/package.dist.json | 4 +- plugins/easings/gaussian/package.json | 4 +- plugins/easings/linear/CHANGELOG.md | 4 + plugins/easings/linear/package.dist.json | 4 +- plugins/easings/linear/package.json | 4 +- plugins/easings/quad/CHANGELOG.md | 4 + plugins/easings/quad/package.dist.json | 4 +- plugins/easings/quad/package.json | 4 +- plugins/easings/quart/CHANGELOG.md | 4 + plugins/easings/quart/package.dist.json | 4 +- plugins/easings/quart/package.json | 4 +- plugins/easings/quint/CHANGELOG.md | 4 + plugins/easings/quint/package.dist.json | 4 +- plugins/easings/quint/package.json | 4 +- plugins/easings/sigmoid/CHANGELOG.md | 4 + plugins/easings/sigmoid/package.dist.json | 4 +- plugins/easings/sigmoid/package.json | 4 +- plugins/easings/sine/CHANGELOG.md | 4 + plugins/easings/sine/package.dist.json | 4 +- plugins/easings/sine/package.json | 4 +- plugins/easings/smoothstep/CHANGELOG.md | 4 + plugins/easings/smoothstep/package.dist.json | 4 +- plugins/easings/smoothstep/package.json | 4 +- plugins/emitters/CHANGELOG.md | 4 + plugins/emitters/package.dist.json | 6 +- plugins/emitters/package.json | 6 +- plugins/emittersShapes/canvas/CHANGELOG.md | 4 + .../emittersShapes/canvas/package.dist.json | 8 +- plugins/emittersShapes/canvas/package.json | 8 +- plugins/emittersShapes/circle/CHANGELOG.md | 4 + .../emittersShapes/circle/package.dist.json | 6 +- plugins/emittersShapes/circle/package.json | 6 +- plugins/emittersShapes/path/CHANGELOG.md | 4 + plugins/emittersShapes/path/package.dist.json | 6 +- plugins/emittersShapes/path/package.json | 6 +- plugins/emittersShapes/polygon/CHANGELOG.md | 4 + .../emittersShapes/polygon/package.dist.json | 6 +- plugins/emittersShapes/polygon/package.json | 6 +- plugins/emittersShapes/square/CHANGELOG.md | 4 + .../emittersShapes/square/package.dist.json | 6 +- plugins/emittersShapes/square/package.json | 6 +- plugins/exports/image/CHANGELOG.md | 4 + plugins/exports/image/package.dist.json | 4 +- plugins/exports/image/package.json | 4 +- plugins/exports/json/CHANGELOG.md | 4 + plugins/exports/json/package.dist.json | 4 +- plugins/exports/json/package.json | 4 +- plugins/exports/video/CHANGELOG.md | 4 + plugins/exports/video/package.dist.json | 4 +- plugins/exports/video/package.json | 4 +- plugins/infection/CHANGELOG.md | 4 + plugins/infection/package.dist.json | 6 +- plugins/infection/package.json | 6 +- plugins/interactivity/CHANGELOG.md | 6 + plugins/interactivity/package.dist.json | 4 +- plugins/interactivity/package.json | 4 +- plugins/manualParticles/CHANGELOG.md | 4 + plugins/manualParticles/package.dist.json | 4 +- plugins/manualParticles/package.json | 4 +- plugins/motion/CHANGELOG.md | 4 + plugins/motion/package.dist.json | 4 +- plugins/motion/package.json | 4 +- plugins/move/CHANGELOG.md | 4 + plugins/move/package.dist.json | 4 +- plugins/move/package.json | 4 +- plugins/poisson/CHANGELOG.md | 4 + plugins/poisson/package.dist.json | 4 +- plugins/poisson/package.json | 4 +- plugins/polygonMask/CHANGELOG.md | 4 + plugins/polygonMask/package.dist.json | 4 +- plugins/polygonMask/package.json | 4 +- plugins/responsive/CHANGELOG.md | 4 + plugins/responsive/package.dist.json | 4 +- plugins/responsive/package.json | 4 +- plugins/sounds/CHANGELOG.md | 4 + plugins/sounds/package.dist.json | 4 +- plugins/sounds/package.json | 4 +- plugins/themes/CHANGELOG.md | 4 + plugins/themes/package.dist.json | 4 +- plugins/themes/package.json | 4 +- plugins/trail/CHANGELOG.md | 4 + plugins/trail/package.dist.json | 4 +- plugins/trail/package.json | 4 +- plugins/zoom/CHANGELOG.md | 4 + plugins/zoom/package.dist.json | 4 +- plugins/zoom/package.json | 4 +- pnpm-lock.yaml | 11675 +++++++++------- shapes/arrow/CHANGELOG.md | 4 + shapes/arrow/package.dist.json | 4 +- shapes/arrow/package.json | 4 +- shapes/cards/CHANGELOG.md | 4 + shapes/cards/package.dist.json | 6 +- shapes/cards/package.json | 6 +- shapes/circle/CHANGELOG.md | 4 + shapes/circle/package.dist.json | 4 +- shapes/circle/package.json | 4 +- shapes/cog/CHANGELOG.md | 4 + shapes/cog/package.dist.json | 4 +- shapes/cog/package.json | 4 +- shapes/emoji/CHANGELOG.md | 4 + shapes/emoji/package.dist.json | 6 +- shapes/emoji/package.json | 6 +- shapes/heart/CHANGELOG.md | 4 + shapes/heart/package.dist.json | 4 +- shapes/heart/package.json | 4 +- shapes/image/CHANGELOG.md | 4 + shapes/image/package.dist.json | 4 +- shapes/image/package.json | 4 +- shapes/infinity/CHANGELOG.md | 4 + shapes/infinity/package.dist.json | 4 +- shapes/infinity/package.json | 4 +- shapes/line/CHANGELOG.md | 4 + shapes/line/package.dist.json | 4 +- shapes/line/package.json | 4 +- shapes/matrix/CHANGELOG.md | 4 + shapes/matrix/package.dist.json | 4 +- shapes/matrix/package.json | 4 +- shapes/path/CHANGELOG.md | 4 + shapes/path/package.dist.json | 6 +- shapes/path/package.json | 6 +- shapes/polygon/CHANGELOG.md | 4 + shapes/polygon/package.dist.json | 4 +- shapes/polygon/package.json | 4 +- shapes/rounded-polygon/CHANGELOG.md | 4 + shapes/rounded-polygon/package.dist.json | 4 +- shapes/rounded-polygon/package.json | 4 +- shapes/rounded-rect/CHANGELOG.md | 4 + shapes/rounded-rect/package.dist.json | 4 +- shapes/rounded-rect/package.json | 4 +- shapes/spiral/CHANGELOG.md | 4 + shapes/spiral/package.dist.json | 4 +- shapes/spiral/package.json | 4 +- shapes/square/CHANGELOG.md | 4 + shapes/square/package.dist.json | 4 +- shapes/square/package.json | 4 +- shapes/squircle/CHANGELOG.md | 4 + shapes/squircle/package.dist.json | 4 +- shapes/squircle/package.json | 4 +- shapes/star/CHANGELOG.md | 4 + shapes/star/package.dist.json | 4 +- shapes/star/package.json | 4 +- shapes/text/CHANGELOG.md | 4 + shapes/text/package.dist.json | 6 +- shapes/text/package.json | 6 +- updaters/destroy/CHANGELOG.md | 4 + updaters/destroy/package.dist.json | 4 +- updaters/destroy/package.json | 4 +- updaters/fillColor/CHANGELOG.md | 4 + updaters/fillColor/package.dist.json | 4 +- updaters/fillColor/package.json | 4 +- updaters/gradient/CHANGELOG.md | 4 + updaters/gradient/package.dist.json | 4 +- updaters/gradient/package.json | 4 +- updaters/life/CHANGELOG.md | 4 + updaters/life/package.dist.json | 4 +- updaters/life/package.json | 4 +- updaters/opacity/CHANGELOG.md | 4 + updaters/opacity/package.dist.json | 4 +- updaters/opacity/package.json | 4 +- updaters/orbit/CHANGELOG.md | 4 + updaters/orbit/package.dist.json | 4 +- updaters/orbit/package.json | 4 +- updaters/outModes/CHANGELOG.md | 4 + updaters/outModes/package.dist.json | 4 +- updaters/outModes/package.json | 4 +- updaters/roll/CHANGELOG.md | 4 + updaters/roll/package.dist.json | 4 +- updaters/roll/package.json | 4 +- updaters/rotate/CHANGELOG.md | 4 + updaters/rotate/package.dist.json | 4 +- updaters/rotate/package.json | 4 +- updaters/size/CHANGELOG.md | 4 + updaters/size/package.dist.json | 4 +- updaters/size/package.json | 4 +- updaters/strokeColor/CHANGELOG.md | 4 + updaters/strokeColor/package.dist.json | 4 +- updaters/strokeColor/package.json | 4 +- updaters/tilt/CHANGELOG.md | 4 + updaters/tilt/package.dist.json | 4 +- updaters/tilt/package.json | 4 +- updaters/twinkle/CHANGELOG.md | 4 + updaters/twinkle/package.dist.json | 4 +- updaters/twinkle/package.json | 4 +- updaters/wobble/CHANGELOG.md | 4 + updaters/wobble/package.dist.json | 4 +- updaters/wobble/package.json | 4 +- utils/canvasUtils/CHANGELOG.md | 4 + utils/canvasUtils/package.dist.json | 4 +- utils/canvasUtils/package.json | 4 +- utils/configs/CHANGELOG.md | 6 + utils/configs/package.dist.json | 4 +- utils/configs/package.json | 4 +- utils/fractalNoise/CHANGELOG.md | 4 + utils/fractalNoise/package.dist.json | 4 +- utils/fractalNoise/package.json | 4 +- utils/noiseField/CHANGELOG.md | 4 + utils/noiseField/package.dist.json | 6 +- utils/noiseField/package.json | 6 +- utils/pathUtils/CHANGELOG.md | 4 + utils/pathUtils/package.dist.json | 4 +- utils/pathUtils/package.json | 4 +- utils/perlinNoise/CHANGELOG.md | 4 + utils/perlinNoise/package.dist.json | 2 +- utils/perlinNoise/package.json | 2 +- utils/simplexNoise/CHANGELOG.md | 4 + utils/simplexNoise/package.dist.json | 2 +- utils/simplexNoise/package.json | 2 +- utils/smoothValueNoise/CHANGELOG.md | 4 + utils/smoothValueNoise/package.dist.json | 2 +- utils/smoothValueNoise/package.json | 2 +- utils/tests/CHANGELOG.md | 4 + utils/tests/package.json | 12 +- 424 files changed, 8280 insertions(+), 6251 deletions(-) create mode 100644 interactions/external/cannon/CHANGELOG.md diff --git a/CHANGELOG.md b/CHANGELOG.md index 7e888a72c51..bab98c7aabd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,18 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +### Bug Fixes + +- improved cannon and interactivity events ([b836a59](https://github.com/tsparticles/tsparticles/commit/b836a59e90afdc68b6307e8d37898e71b5881a21)) +- improved cannon options loading ([8cfcc50](https://github.com/tsparticles/tsparticles/commit/8cfcc50f4375582b73ff79569a097aea8464c8c7)) +- improved cannon vector draw ([5d55e8f](https://github.com/tsparticles/tsparticles/commit/5d55e8f22aa34939ac96a58ef9e1eb478f33e9f6)) + +### Features + +- added cannon external interaction ([e133ab3](https://github.com/tsparticles/tsparticles/commit/e133ab35835b6411c0da1b151b046a36bcfd9ee1)) + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) ### Bug Fixes diff --git a/bundles/all/CHANGELOG.md b/bundles/all/CHANGELOG.md index 3f2c507d484..4ce68f2c01f 100644 --- a/bundles/all/CHANGELOG.md +++ b/bundles/all/CHANGELOG.md @@ -3,6 +3,12 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +### Features + +- added cannon external interaction ([e133ab3](https://github.com/tsparticles/tsparticles/commit/e133ab35835b6411c0da1b151b046a36bcfd9ee1)) + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/all diff --git a/bundles/all/package.dist.json b/bundles/all/package.dist.json index 474bc1d0235..1b78af01206 100644 --- a/bundles/all/package.dist.json +++ b/bundles/all/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/all", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "Easily create highly customizable particle animations and use them as animated backgrounds for your website. Ready to use components available also for React, Vue.js (2.x and 3.x), Angular, Svelte, jQuery, Preact, Riot.js, Inferno.", "homepage": "https://particles.js.org", "repository": { @@ -99,83 +99,83 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/effect-bubble": "4.0.0-beta.0", - "@tsparticles/effect-particles": "4.0.0-beta.0", - "@tsparticles/effect-shadow": "4.0.0-beta.0", - "@tsparticles/effect-trail": "4.0.0-beta.0", - "@tsparticles/engine": "4.0.0-beta.0", - "@tsparticles/interaction-external-cannon": "4.0.0-beta.0", - "@tsparticles/interaction-external-particle": "4.0.0-beta.0", - "@tsparticles/interaction-external-pop": "4.0.0-beta.0", - "@tsparticles/interaction-light": "4.0.0-beta.0", - "@tsparticles/interaction-particles-repulse": "4.0.0-beta.0", - "@tsparticles/path-branches": "4.0.0-beta.0", - "@tsparticles/path-brownian": "4.0.0-beta.0", - "@tsparticles/path-curl-noise": "4.0.0-beta.0", - "@tsparticles/path-curves": "4.0.0-beta.0", - "@tsparticles/path-fractal-noise": "4.0.0-beta.0", - "@tsparticles/path-grid": "4.0.0-beta.0", - "@tsparticles/path-levy": "4.0.0-beta.0", - "@tsparticles/path-perlin-noise": "4.0.0-beta.0", - "@tsparticles/path-polygon": "4.0.0-beta.0", - "@tsparticles/path-random": "4.0.0-beta.0", - "@tsparticles/path-simplex-noise": "4.0.0-beta.0", - "@tsparticles/path-spiral": "4.0.0-beta.0", - "@tsparticles/path-svg": "4.0.0-beta.0", - "@tsparticles/path-zig-zag": "4.0.0-beta.0", - "@tsparticles/plugin-background-mask": "4.0.0-beta.0", - "@tsparticles/plugin-blend": "4.0.0-beta.0", - "@tsparticles/plugin-canvas-mask": "4.0.0-beta.0", - "@tsparticles/plugin-easing-back": "4.0.0-beta.0", - "@tsparticles/plugin-easing-bounce": "4.0.0-beta.0", - "@tsparticles/plugin-easing-circ": "4.0.0-beta.0", - "@tsparticles/plugin-easing-cubic": "4.0.0-beta.0", - "@tsparticles/plugin-easing-elastic": "4.0.0-beta.0", - "@tsparticles/plugin-easing-expo": "4.0.0-beta.0", - "@tsparticles/plugin-easing-gaussian": "4.0.0-beta.0", - "@tsparticles/plugin-easing-linear": "4.0.0-beta.0", - "@tsparticles/plugin-easing-quart": "4.0.0-beta.0", - "@tsparticles/plugin-easing-quint": "4.0.0-beta.0", - "@tsparticles/plugin-easing-sigmoid": "4.0.0-beta.0", - "@tsparticles/plugin-easing-sine": "4.0.0-beta.0", - "@tsparticles/plugin-easing-smoothstep": "4.0.0-beta.0", - "@tsparticles/plugin-emitters-shape-canvas": "4.0.0-beta.0", - "@tsparticles/plugin-emitters-shape-path": "4.0.0-beta.0", - "@tsparticles/plugin-emitters-shape-polygon": "4.0.0-beta.0", - "@tsparticles/plugin-export-image": "4.0.0-beta.0", - "@tsparticles/plugin-export-json": "4.0.0-beta.0", - "@tsparticles/plugin-export-video": "4.0.0-beta.0", - "@tsparticles/plugin-hsv-color": "4.0.0-beta.0", - "@tsparticles/plugin-hwb-color": "4.0.0-beta.0", - "@tsparticles/plugin-infection": "4.0.0-beta.0", - "@tsparticles/plugin-lab-color": "4.0.0-beta.0", - "@tsparticles/plugin-lch-color": "4.0.0-beta.0", - "@tsparticles/plugin-manual-particles": "4.0.0-beta.0", - "@tsparticles/plugin-motion": "4.0.0-beta.0", - "@tsparticles/plugin-named-color": "4.0.0-beta.0", - "@tsparticles/plugin-oklab-color": "4.0.0-beta.0", - "@tsparticles/plugin-oklch-color": "4.0.0-beta.0", - "@tsparticles/plugin-poisson-disc": "4.0.0-beta.0", - "@tsparticles/plugin-polygon-mask": "4.0.0-beta.0", - "@tsparticles/plugin-responsive": "4.0.0-beta.0", - "@tsparticles/plugin-sounds": "4.0.0-beta.0", - "@tsparticles/plugin-themes": "4.0.0-beta.0", - "@tsparticles/plugin-trail": "4.0.0-beta.0", - "@tsparticles/plugin-zoom": "4.0.0-beta.0", - "@tsparticles/shape-arrow": "4.0.0-beta.0", - "@tsparticles/shape-cards": "4.0.0-beta.0", - "@tsparticles/shape-cog": "4.0.0-beta.0", - "@tsparticles/shape-heart": "4.0.0-beta.0", - "@tsparticles/shape-infinity": "4.0.0-beta.0", - "@tsparticles/shape-matrix": "4.0.0-beta.0", - "@tsparticles/shape-path": "4.0.0-beta.0", - "@tsparticles/shape-rounded-polygon": "4.0.0-beta.0", - "@tsparticles/shape-rounded-rect": "4.0.0-beta.0", - "@tsparticles/shape-spiral": "4.0.0-beta.0", - "@tsparticles/shape-squircle": "4.0.0-beta.0", - "@tsparticles/updater-gradient": "4.0.0-beta.0", - "@tsparticles/updater-orbit": "4.0.0-beta.0", - "tsparticles": "4.0.0-beta.0" + "@tsparticles/effect-bubble": "4.0.0-beta.1", + "@tsparticles/effect-particles": "4.0.0-beta.1", + "@tsparticles/effect-shadow": "4.0.0-beta.1", + "@tsparticles/effect-trail": "4.0.0-beta.1", + "@tsparticles/engine": "4.0.0-beta.1", + "@tsparticles/interaction-external-cannon": "4.0.0-beta.1", + "@tsparticles/interaction-external-particle": "4.0.0-beta.1", + "@tsparticles/interaction-external-pop": "4.0.0-beta.1", + "@tsparticles/interaction-light": "4.0.0-beta.1", + "@tsparticles/interaction-particles-repulse": "4.0.0-beta.1", + "@tsparticles/path-branches": "4.0.0-beta.1", + "@tsparticles/path-brownian": "4.0.0-beta.1", + "@tsparticles/path-curl-noise": "4.0.0-beta.1", + "@tsparticles/path-curves": "4.0.0-beta.1", + "@tsparticles/path-fractal-noise": "4.0.0-beta.1", + "@tsparticles/path-grid": "4.0.0-beta.1", + "@tsparticles/path-levy": "4.0.0-beta.1", + "@tsparticles/path-perlin-noise": "4.0.0-beta.1", + "@tsparticles/path-polygon": "4.0.0-beta.1", + "@tsparticles/path-random": "4.0.0-beta.1", + "@tsparticles/path-simplex-noise": "4.0.0-beta.1", + "@tsparticles/path-spiral": "4.0.0-beta.1", + "@tsparticles/path-svg": "4.0.0-beta.1", + "@tsparticles/path-zig-zag": "4.0.0-beta.1", + "@tsparticles/plugin-background-mask": "4.0.0-beta.1", + "@tsparticles/plugin-blend": "4.0.0-beta.1", + "@tsparticles/plugin-canvas-mask": "4.0.0-beta.1", + "@tsparticles/plugin-easing-back": "4.0.0-beta.1", + "@tsparticles/plugin-easing-bounce": "4.0.0-beta.1", + "@tsparticles/plugin-easing-circ": "4.0.0-beta.1", + "@tsparticles/plugin-easing-cubic": "4.0.0-beta.1", + "@tsparticles/plugin-easing-elastic": "4.0.0-beta.1", + "@tsparticles/plugin-easing-expo": "4.0.0-beta.1", + "@tsparticles/plugin-easing-gaussian": "4.0.0-beta.1", + "@tsparticles/plugin-easing-linear": "4.0.0-beta.1", + "@tsparticles/plugin-easing-quart": "4.0.0-beta.1", + "@tsparticles/plugin-easing-quint": "4.0.0-beta.1", + "@tsparticles/plugin-easing-sigmoid": "4.0.0-beta.1", + "@tsparticles/plugin-easing-sine": "4.0.0-beta.1", + "@tsparticles/plugin-easing-smoothstep": "4.0.0-beta.1", + "@tsparticles/plugin-emitters-shape-canvas": "4.0.0-beta.1", + "@tsparticles/plugin-emitters-shape-path": "4.0.0-beta.1", + "@tsparticles/plugin-emitters-shape-polygon": "4.0.0-beta.1", + "@tsparticles/plugin-export-image": "4.0.0-beta.1", + "@tsparticles/plugin-export-json": "4.0.0-beta.1", + "@tsparticles/plugin-export-video": "4.0.0-beta.1", + "@tsparticles/plugin-hsv-color": "4.0.0-beta.1", + "@tsparticles/plugin-hwb-color": "4.0.0-beta.1", + "@tsparticles/plugin-infection": "4.0.0-beta.1", + "@tsparticles/plugin-lab-color": "4.0.0-beta.1", + "@tsparticles/plugin-lch-color": "4.0.0-beta.1", + "@tsparticles/plugin-manual-particles": "4.0.0-beta.1", + "@tsparticles/plugin-motion": "4.0.0-beta.1", + "@tsparticles/plugin-named-color": "4.0.0-beta.1", + "@tsparticles/plugin-oklab-color": "4.0.0-beta.1", + "@tsparticles/plugin-oklch-color": "4.0.0-beta.1", + "@tsparticles/plugin-poisson-disc": "4.0.0-beta.1", + "@tsparticles/plugin-polygon-mask": "4.0.0-beta.1", + "@tsparticles/plugin-responsive": "4.0.0-beta.1", + "@tsparticles/plugin-sounds": "4.0.0-beta.1", + "@tsparticles/plugin-themes": "4.0.0-beta.1", + "@tsparticles/plugin-trail": "4.0.0-beta.1", + "@tsparticles/plugin-zoom": "4.0.0-beta.1", + "@tsparticles/shape-arrow": "4.0.0-beta.1", + "@tsparticles/shape-cards": "4.0.0-beta.1", + "@tsparticles/shape-cog": "4.0.0-beta.1", + "@tsparticles/shape-heart": "4.0.0-beta.1", + "@tsparticles/shape-infinity": "4.0.0-beta.1", + "@tsparticles/shape-matrix": "4.0.0-beta.1", + "@tsparticles/shape-path": "4.0.0-beta.1", + "@tsparticles/shape-rounded-polygon": "4.0.0-beta.1", + "@tsparticles/shape-rounded-rect": "4.0.0-beta.1", + "@tsparticles/shape-spiral": "4.0.0-beta.1", + "@tsparticles/shape-squircle": "4.0.0-beta.1", + "@tsparticles/updater-gradient": "4.0.0-beta.1", + "@tsparticles/updater-orbit": "4.0.0-beta.1", + "tsparticles": "4.0.0-beta.1" }, "publishConfig": { "access": "public" diff --git a/bundles/all/package.json b/bundles/all/package.json index ba34b1df411..8d5ba91b45c 100644 --- a/bundles/all/package.json +++ b/bundles/all/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/all", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "Easily create highly customizable particle animations and use them as animated backgrounds for your website. Ready to use components available also for React, Vue.js (2.x and 3.x), Angular, Svelte, jQuery, Preact, Riot.js, Inferno.", "homepage": "https://particles.js.org", "scripts": { @@ -107,83 +107,83 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/effect-bubble": "workspace:4.0.0-beta.0", - "@tsparticles/effect-particles": "workspace:4.0.0-beta.0", - "@tsparticles/effect-shadow": "workspace:4.0.0-beta.0", - "@tsparticles/effect-trail": "workspace:4.0.0-beta.0", - "@tsparticles/engine": "workspace:4.0.0-beta.0", - "@tsparticles/interaction-external-cannon": "workspace:4.0.0-beta.0", - "@tsparticles/interaction-external-particle": "workspace:4.0.0-beta.0", - "@tsparticles/interaction-external-pop": "workspace:4.0.0-beta.0", - "@tsparticles/interaction-light": "workspace:4.0.0-beta.0", - "@tsparticles/interaction-particles-repulse": "workspace:4.0.0-beta.0", - "@tsparticles/path-branches": "workspace:4.0.0-beta.0", - "@tsparticles/path-brownian": "workspace:4.0.0-beta.0", - "@tsparticles/path-curl-noise": "workspace:4.0.0-beta.0", - "@tsparticles/path-curves": "workspace:4.0.0-beta.0", - "@tsparticles/path-fractal-noise": "workspace:4.0.0-beta.0", - "@tsparticles/path-grid": "workspace:4.0.0-beta.0", - "@tsparticles/path-levy": "workspace:4.0.0-beta.0", - "@tsparticles/path-perlin-noise": "workspace:4.0.0-beta.0", - "@tsparticles/path-polygon": "workspace:4.0.0-beta.0", - "@tsparticles/path-random": "workspace:4.0.0-beta.0", - "@tsparticles/path-simplex-noise": "workspace:4.0.0-beta.0", - "@tsparticles/path-spiral": "workspace:4.0.0-beta.0", - "@tsparticles/path-svg": "workspace:4.0.0-beta.0", - "@tsparticles/path-zig-zag": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-background-mask": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-blend": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-canvas-mask": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-easing-back": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-easing-bounce": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-easing-circ": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-easing-cubic": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-easing-elastic": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-easing-expo": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-easing-gaussian": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-easing-linear": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-easing-quart": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-easing-quint": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-easing-sigmoid": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-easing-sine": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-easing-smoothstep": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-emitters-shape-canvas": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-emitters-shape-path": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-emitters-shape-polygon": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-export-image": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-export-json": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-export-video": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-hsv-color": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-hwb-color": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-infection": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-lab-color": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-lch-color": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-manual-particles": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-motion": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-named-color": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-oklab-color": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-oklch-color": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-poisson-disc": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-polygon-mask": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-responsive": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-sounds": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-themes": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-trail": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-zoom": "workspace:4.0.0-beta.0", - "@tsparticles/shape-arrow": "workspace:4.0.0-beta.0", - "@tsparticles/shape-cards": "workspace:4.0.0-beta.0", - "@tsparticles/shape-cog": "workspace:4.0.0-beta.0", - "@tsparticles/shape-heart": "workspace:4.0.0-beta.0", - "@tsparticles/shape-infinity": "workspace:4.0.0-beta.0", - "@tsparticles/shape-matrix": "workspace:4.0.0-beta.0", - "@tsparticles/shape-path": "workspace:4.0.0-beta.0", - "@tsparticles/shape-rounded-polygon": "workspace:4.0.0-beta.0", - "@tsparticles/shape-rounded-rect": "workspace:4.0.0-beta.0", - "@tsparticles/shape-spiral": "workspace:4.0.0-beta.0", - "@tsparticles/shape-squircle": "workspace:4.0.0-beta.0", - "@tsparticles/updater-gradient": "workspace:4.0.0-beta.0", - "@tsparticles/updater-orbit": "workspace:4.0.0-beta.0", - "tsparticles": "workspace:4.0.0-beta.0" + "@tsparticles/effect-bubble": "workspace:4.0.0-beta.1", + "@tsparticles/effect-particles": "workspace:4.0.0-beta.1", + "@tsparticles/effect-shadow": "workspace:4.0.0-beta.1", + "@tsparticles/effect-trail": "workspace:4.0.0-beta.1", + "@tsparticles/engine": "workspace:4.0.0-beta.1", + "@tsparticles/interaction-external-cannon": "workspace:4.0.0-beta.1", + "@tsparticles/interaction-external-particle": "workspace:4.0.0-beta.1", + "@tsparticles/interaction-external-pop": "workspace:4.0.0-beta.1", + "@tsparticles/interaction-light": "workspace:4.0.0-beta.1", + "@tsparticles/interaction-particles-repulse": "workspace:4.0.0-beta.1", + "@tsparticles/path-branches": "workspace:4.0.0-beta.1", + "@tsparticles/path-brownian": "workspace:4.0.0-beta.1", + "@tsparticles/path-curl-noise": "workspace:4.0.0-beta.1", + "@tsparticles/path-curves": "workspace:4.0.0-beta.1", + "@tsparticles/path-fractal-noise": "workspace:4.0.0-beta.1", + "@tsparticles/path-grid": "workspace:4.0.0-beta.1", + "@tsparticles/path-levy": "workspace:4.0.0-beta.1", + "@tsparticles/path-perlin-noise": "workspace:4.0.0-beta.1", + "@tsparticles/path-polygon": "workspace:4.0.0-beta.1", + "@tsparticles/path-random": "workspace:4.0.0-beta.1", + "@tsparticles/path-simplex-noise": "workspace:4.0.0-beta.1", + "@tsparticles/path-spiral": "workspace:4.0.0-beta.1", + "@tsparticles/path-svg": "workspace:4.0.0-beta.1", + "@tsparticles/path-zig-zag": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-background-mask": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-blend": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-canvas-mask": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-easing-back": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-easing-bounce": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-easing-circ": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-easing-cubic": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-easing-elastic": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-easing-expo": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-easing-gaussian": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-easing-linear": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-easing-quart": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-easing-quint": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-easing-sigmoid": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-easing-sine": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-easing-smoothstep": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-emitters-shape-canvas": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-emitters-shape-path": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-emitters-shape-polygon": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-export-image": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-export-json": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-export-video": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-hsv-color": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-hwb-color": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-infection": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-lab-color": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-lch-color": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-manual-particles": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-motion": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-named-color": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-oklab-color": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-oklch-color": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-poisson-disc": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-polygon-mask": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-responsive": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-sounds": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-themes": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-trail": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-zoom": "workspace:4.0.0-beta.1", + "@tsparticles/shape-arrow": "workspace:4.0.0-beta.1", + "@tsparticles/shape-cards": "workspace:4.0.0-beta.1", + "@tsparticles/shape-cog": "workspace:4.0.0-beta.1", + "@tsparticles/shape-heart": "workspace:4.0.0-beta.1", + "@tsparticles/shape-infinity": "workspace:4.0.0-beta.1", + "@tsparticles/shape-matrix": "workspace:4.0.0-beta.1", + "@tsparticles/shape-path": "workspace:4.0.0-beta.1", + "@tsparticles/shape-rounded-polygon": "workspace:4.0.0-beta.1", + "@tsparticles/shape-rounded-rect": "workspace:4.0.0-beta.1", + "@tsparticles/shape-spiral": "workspace:4.0.0-beta.1", + "@tsparticles/shape-squircle": "workspace:4.0.0-beta.1", + "@tsparticles/updater-gradient": "workspace:4.0.0-beta.1", + "@tsparticles/updater-orbit": "workspace:4.0.0-beta.1", + "tsparticles": "workspace:4.0.0-beta.1" }, "publishConfig": { "access": "public", diff --git a/bundles/basic/CHANGELOG.md b/bundles/basic/CHANGELOG.md index 627476e78ca..1142307a271 100644 --- a/bundles/basic/CHANGELOG.md +++ b/bundles/basic/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/basic + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/basic diff --git a/bundles/basic/package.dist.json b/bundles/basic/package.dist.json index 58863c4ad4d..c881d72ef35 100644 --- a/bundles/basic/package.dist.json +++ b/bundles/basic/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/basic", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "Easily create highly customizable particle animations and use them as animated backgrounds for your website. Ready to use components available also for React, Vue.js (2.x and 3.x), Angular, Svelte, jQuery, Preact, Riot.js, Inferno.", "homepage": "https://particles.js.org", "repository": { @@ -99,16 +99,16 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/engine": "4.0.0-beta.0", - "@tsparticles/plugin-hex-color": "4.0.0-beta.0", - "@tsparticles/plugin-hsl-color": "4.0.0-beta.0", - "@tsparticles/plugin-move": "4.0.0-beta.0", - "@tsparticles/plugin-rgb-color": "4.0.0-beta.0", - "@tsparticles/shape-circle": "4.0.0-beta.0", - "@tsparticles/updater-fill-color": "4.0.0-beta.0", - "@tsparticles/updater-opacity": "4.0.0-beta.0", - "@tsparticles/updater-out-modes": "4.0.0-beta.0", - "@tsparticles/updater-size": "4.0.0-beta.0" + "@tsparticles/engine": "4.0.0-beta.1", + "@tsparticles/plugin-hex-color": "4.0.0-beta.1", + "@tsparticles/plugin-hsl-color": "4.0.0-beta.1", + "@tsparticles/plugin-move": "4.0.0-beta.1", + "@tsparticles/plugin-rgb-color": "4.0.0-beta.1", + "@tsparticles/shape-circle": "4.0.0-beta.1", + "@tsparticles/updater-fill-color": "4.0.0-beta.1", + "@tsparticles/updater-opacity": "4.0.0-beta.1", + "@tsparticles/updater-out-modes": "4.0.0-beta.1", + "@tsparticles/updater-size": "4.0.0-beta.1" }, "publishConfig": { "access": "public" diff --git a/bundles/basic/package.json b/bundles/basic/package.json index 477f7304dea..b37afc0adbd 100644 --- a/bundles/basic/package.json +++ b/bundles/basic/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/basic", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "Easily create highly customizable particle animations and use them as animated backgrounds for your website. Ready to use components available also for React, Vue.js (2.x and 3.x), Angular, Svelte, jQuery, Preact, Riot.js, Inferno.", "homepage": "https://particles.js.org", "scripts": { @@ -107,16 +107,16 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/engine": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-hex-color": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-hsl-color": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-move": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-rgb-color": "workspace:4.0.0-beta.0", - "@tsparticles/shape-circle": "workspace:4.0.0-beta.0", - "@tsparticles/updater-fill-color": "workspace:4.0.0-beta.0", - "@tsparticles/updater-opacity": "workspace:4.0.0-beta.0", - "@tsparticles/updater-out-modes": "workspace:4.0.0-beta.0", - "@tsparticles/updater-size": "workspace:4.0.0-beta.0" + "@tsparticles/engine": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-hex-color": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-hsl-color": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-move": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-rgb-color": "workspace:4.0.0-beta.1", + "@tsparticles/shape-circle": "workspace:4.0.0-beta.1", + "@tsparticles/updater-fill-color": "workspace:4.0.0-beta.1", + "@tsparticles/updater-opacity": "workspace:4.0.0-beta.1", + "@tsparticles/updater-out-modes": "workspace:4.0.0-beta.1", + "@tsparticles/updater-size": "workspace:4.0.0-beta.1" }, "publishConfig": { "access": "public", diff --git a/bundles/confetti/CHANGELOG.md b/bundles/confetti/CHANGELOG.md index d13804347ac..c45d78b9904 100644 --- a/bundles/confetti/CHANGELOG.md +++ b/bundles/confetti/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/confetti + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/confetti diff --git a/bundles/confetti/package.dist.json b/bundles/confetti/package.dist.json index e637f3bd8de..0acc10a54d5 100644 --- a/bundles/confetti/package.dist.json +++ b/bundles/confetti/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/confetti", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "Easily create highly customizable particle animations and use them as animated backgrounds for your website. Ready to use components available also for React, Vue.js (2.x and 3.x), Angular, Svelte, jQuery, Preact, Riot.js, Inferno.", "homepage": "https://particles.js.org", "repository": { @@ -99,22 +99,22 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/basic": "4.0.0-beta.0", - "@tsparticles/engine": "4.0.0-beta.0", - "@tsparticles/plugin-emitters": "4.0.0-beta.0", - "@tsparticles/plugin-motion": "4.0.0-beta.0", - "@tsparticles/shape-cards": "4.0.0-beta.0", - "@tsparticles/shape-emoji": "4.0.0-beta.0", - "@tsparticles/shape-heart": "4.0.0-beta.0", - "@tsparticles/shape-image": "4.0.0-beta.0", - "@tsparticles/shape-polygon": "4.0.0-beta.0", - "@tsparticles/shape-square": "4.0.0-beta.0", - "@tsparticles/shape-star": "4.0.0-beta.0", - "@tsparticles/updater-life": "4.0.0-beta.0", - "@tsparticles/updater-roll": "4.0.0-beta.0", - "@tsparticles/updater-rotate": "4.0.0-beta.0", - "@tsparticles/updater-tilt": "4.0.0-beta.0", - "@tsparticles/updater-wobble": "4.0.0-beta.0" + "@tsparticles/basic": "4.0.0-beta.1", + "@tsparticles/engine": "4.0.0-beta.1", + "@tsparticles/plugin-emitters": "4.0.0-beta.1", + "@tsparticles/plugin-motion": "4.0.0-beta.1", + "@tsparticles/shape-cards": "4.0.0-beta.1", + "@tsparticles/shape-emoji": "4.0.0-beta.1", + "@tsparticles/shape-heart": "4.0.0-beta.1", + "@tsparticles/shape-image": "4.0.0-beta.1", + "@tsparticles/shape-polygon": "4.0.0-beta.1", + "@tsparticles/shape-square": "4.0.0-beta.1", + "@tsparticles/shape-star": "4.0.0-beta.1", + "@tsparticles/updater-life": "4.0.0-beta.1", + "@tsparticles/updater-roll": "4.0.0-beta.1", + "@tsparticles/updater-rotate": "4.0.0-beta.1", + "@tsparticles/updater-tilt": "4.0.0-beta.1", + "@tsparticles/updater-wobble": "4.0.0-beta.1" }, "publishConfig": { "access": "public" diff --git a/bundles/confetti/package.json b/bundles/confetti/package.json index aa86cce94e1..c773ab0df99 100644 --- a/bundles/confetti/package.json +++ b/bundles/confetti/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/confetti", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "Easily create highly customizable particle animations and use them as animated backgrounds for your website. Ready to use components available also for React, Vue.js (2.x and 3.x), Angular, Svelte, jQuery, Preact, Riot.js, Inferno.", "homepage": "https://particles.js.org", "scripts": { @@ -107,22 +107,22 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/basic": "workspace:4.0.0-beta.0", - "@tsparticles/engine": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-emitters": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-motion": "workspace:4.0.0-beta.0", - "@tsparticles/shape-cards": "workspace:4.0.0-beta.0", - "@tsparticles/shape-emoji": "workspace:4.0.0-beta.0", - "@tsparticles/shape-heart": "workspace:4.0.0-beta.0", - "@tsparticles/shape-image": "workspace:4.0.0-beta.0", - "@tsparticles/shape-polygon": "workspace:4.0.0-beta.0", - "@tsparticles/shape-square": "workspace:4.0.0-beta.0", - "@tsparticles/shape-star": "workspace:4.0.0-beta.0", - "@tsparticles/updater-life": "workspace:4.0.0-beta.0", - "@tsparticles/updater-roll": "workspace:4.0.0-beta.0", - "@tsparticles/updater-rotate": "workspace:4.0.0-beta.0", - "@tsparticles/updater-tilt": "workspace:4.0.0-beta.0", - "@tsparticles/updater-wobble": "workspace:4.0.0-beta.0" + "@tsparticles/basic": "workspace:4.0.0-beta.1", + "@tsparticles/engine": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-emitters": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-motion": "workspace:4.0.0-beta.1", + "@tsparticles/shape-cards": "workspace:4.0.0-beta.1", + "@tsparticles/shape-emoji": "workspace:4.0.0-beta.1", + "@tsparticles/shape-heart": "workspace:4.0.0-beta.1", + "@tsparticles/shape-image": "workspace:4.0.0-beta.1", + "@tsparticles/shape-polygon": "workspace:4.0.0-beta.1", + "@tsparticles/shape-square": "workspace:4.0.0-beta.1", + "@tsparticles/shape-star": "workspace:4.0.0-beta.1", + "@tsparticles/updater-life": "workspace:4.0.0-beta.1", + "@tsparticles/updater-roll": "workspace:4.0.0-beta.1", + "@tsparticles/updater-rotate": "workspace:4.0.0-beta.1", + "@tsparticles/updater-tilt": "workspace:4.0.0-beta.1", + "@tsparticles/updater-wobble": "workspace:4.0.0-beta.1" }, "publishConfig": { "access": "public", diff --git a/bundles/fireworks/CHANGELOG.md b/bundles/fireworks/CHANGELOG.md index 8d9309ce063..e2854be5408 100644 --- a/bundles/fireworks/CHANGELOG.md +++ b/bundles/fireworks/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/fireworks + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/fireworks diff --git a/bundles/fireworks/package.dist.json b/bundles/fireworks/package.dist.json index d67907fe88c..1302032063d 100644 --- a/bundles/fireworks/package.dist.json +++ b/bundles/fireworks/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/fireworks", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "Easily create highly customizable particle animations and use them as animated backgrounds for your website. Ready to use components available also for React, Vue.js (2.x and 3.x), Angular, Svelte, jQuery, Preact, Riot.js, Inferno.", "homepage": "https://particles.js.org", "repository": { @@ -99,15 +99,15 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/basic": "4.0.0-beta.0", - "@tsparticles/effect-trail": "4.0.0-beta.0", - "@tsparticles/engine": "4.0.0-beta.0", - "@tsparticles/plugin-emitters": "4.0.0-beta.0", - "@tsparticles/plugin-emitters-shape-square": "4.0.0-beta.0", - "@tsparticles/plugin-sounds": "4.0.0-beta.0", - "@tsparticles/updater-destroy": "4.0.0-beta.0", - "@tsparticles/updater-life": "4.0.0-beta.0", - "@tsparticles/updater-rotate": "4.0.0-beta.0" + "@tsparticles/basic": "4.0.0-beta.1", + "@tsparticles/effect-trail": "4.0.0-beta.1", + "@tsparticles/engine": "4.0.0-beta.1", + "@tsparticles/plugin-emitters": "4.0.0-beta.1", + "@tsparticles/plugin-emitters-shape-square": "4.0.0-beta.1", + "@tsparticles/plugin-sounds": "4.0.0-beta.1", + "@tsparticles/updater-destroy": "4.0.0-beta.1", + "@tsparticles/updater-life": "4.0.0-beta.1", + "@tsparticles/updater-rotate": "4.0.0-beta.1" }, "publishConfig": { "access": "public" diff --git a/bundles/fireworks/package.json b/bundles/fireworks/package.json index 95d701428e5..a1df9c1f8a3 100644 --- a/bundles/fireworks/package.json +++ b/bundles/fireworks/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/fireworks", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "Easily create highly customizable particle animations and use them as animated backgrounds for your website. Ready to use components available also for React, Vue.js (2.x and 3.x), Angular, Svelte, jQuery, Preact, Riot.js, Inferno.", "homepage": "https://particles.js.org", "scripts": { @@ -107,15 +107,15 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/basic": "workspace:4.0.0-beta.0", - "@tsparticles/effect-trail": "workspace:4.0.0-beta.0", - "@tsparticles/engine": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-emitters": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-emitters-shape-square": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-sounds": "workspace:4.0.0-beta.0", - "@tsparticles/updater-destroy": "workspace:4.0.0-beta.0", - "@tsparticles/updater-life": "workspace:4.0.0-beta.0", - "@tsparticles/updater-rotate": "workspace:4.0.0-beta.0" + "@tsparticles/basic": "workspace:4.0.0-beta.1", + "@tsparticles/effect-trail": "workspace:4.0.0-beta.1", + "@tsparticles/engine": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-emitters": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-emitters-shape-square": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-sounds": "workspace:4.0.0-beta.1", + "@tsparticles/updater-destroy": "workspace:4.0.0-beta.1", + "@tsparticles/updater-life": "workspace:4.0.0-beta.1", + "@tsparticles/updater-rotate": "workspace:4.0.0-beta.1" }, "publishConfig": { "access": "public", diff --git a/bundles/full/CHANGELOG.md b/bundles/full/CHANGELOG.md index 5b0f343124c..affa6715be0 100644 --- a/bundles/full/CHANGELOG.md +++ b/bundles/full/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package tsparticles + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) ### Features diff --git a/bundles/full/package.dist.json b/bundles/full/package.dist.json index 81109e4081a..7dc7c7b7f62 100644 --- a/bundles/full/package.dist.json +++ b/bundles/full/package.dist.json @@ -1,6 +1,6 @@ { "name": "tsparticles", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "Easily create highly customizable particle animations and use them as animated backgrounds for your website. Ready to use components available also for React, Vue.js (2.x and 3.x), Angular, Svelte, jQuery, Preact, Riot.js, Inferno.", "homepage": "https://particles.js.org", "repository": { @@ -99,20 +99,20 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/engine": "4.0.0-beta.0", - "@tsparticles/interaction-external-drag": "4.0.0-beta.0", - "@tsparticles/interaction-external-trail": "4.0.0-beta.0", - "@tsparticles/plugin-absorbers": "4.0.0-beta.0", - "@tsparticles/plugin-emitters": "4.0.0-beta.0", - "@tsparticles/plugin-emitters-shape-circle": "4.0.0-beta.0", - "@tsparticles/plugin-emitters-shape-square": "4.0.0-beta.0", - "@tsparticles/shape-text": "4.0.0-beta.0", - "@tsparticles/slim": "4.0.0-beta.0", - "@tsparticles/updater-destroy": "4.0.0-beta.0", - "@tsparticles/updater-roll": "4.0.0-beta.0", - "@tsparticles/updater-tilt": "4.0.0-beta.0", - "@tsparticles/updater-twinkle": "4.0.0-beta.0", - "@tsparticles/updater-wobble": "4.0.0-beta.0" + "@tsparticles/engine": "4.0.0-beta.1", + "@tsparticles/interaction-external-drag": "4.0.0-beta.1", + "@tsparticles/interaction-external-trail": "4.0.0-beta.1", + "@tsparticles/plugin-absorbers": "4.0.0-beta.1", + "@tsparticles/plugin-emitters": "4.0.0-beta.1", + "@tsparticles/plugin-emitters-shape-circle": "4.0.0-beta.1", + "@tsparticles/plugin-emitters-shape-square": "4.0.0-beta.1", + "@tsparticles/shape-text": "4.0.0-beta.1", + "@tsparticles/slim": "4.0.0-beta.1", + "@tsparticles/updater-destroy": "4.0.0-beta.1", + "@tsparticles/updater-roll": "4.0.0-beta.1", + "@tsparticles/updater-tilt": "4.0.0-beta.1", + "@tsparticles/updater-twinkle": "4.0.0-beta.1", + "@tsparticles/updater-wobble": "4.0.0-beta.1" }, "publishConfig": { "access": "public" diff --git a/bundles/full/package.json b/bundles/full/package.json index d0f14d8e1b7..7e21662d523 100644 --- a/bundles/full/package.json +++ b/bundles/full/package.json @@ -1,6 +1,6 @@ { "name": "tsparticles", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "Easily create highly customizable particle animations and use them as animated backgrounds for your website. Ready to use components available also for React, Vue.js (2.x and 3.x), Angular, Svelte, jQuery, Preact, Riot.js, Inferno.", "homepage": "https://particles.js.org", "scripts": { @@ -107,20 +107,20 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/engine": "workspace:4.0.0-beta.0", - "@tsparticles/interaction-external-drag": "workspace:4.0.0-beta.0", - "@tsparticles/interaction-external-trail": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-absorbers": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-emitters": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-emitters-shape-circle": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-emitters-shape-square": "workspace:4.0.0-beta.0", - "@tsparticles/shape-text": "workspace:4.0.0-beta.0", - "@tsparticles/slim": "workspace:4.0.0-beta.0", - "@tsparticles/updater-destroy": "workspace:4.0.0-beta.0", - "@tsparticles/updater-roll": "workspace:4.0.0-beta.0", - "@tsparticles/updater-tilt": "workspace:4.0.0-beta.0", - "@tsparticles/updater-twinkle": "workspace:4.0.0-beta.0", - "@tsparticles/updater-wobble": "workspace:4.0.0-beta.0" + "@tsparticles/engine": "workspace:4.0.0-beta.1", + "@tsparticles/interaction-external-drag": "workspace:4.0.0-beta.1", + "@tsparticles/interaction-external-trail": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-absorbers": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-emitters": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-emitters-shape-circle": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-emitters-shape-square": "workspace:4.0.0-beta.1", + "@tsparticles/shape-text": "workspace:4.0.0-beta.1", + "@tsparticles/slim": "workspace:4.0.0-beta.1", + "@tsparticles/updater-destroy": "workspace:4.0.0-beta.1", + "@tsparticles/updater-roll": "workspace:4.0.0-beta.1", + "@tsparticles/updater-tilt": "workspace:4.0.0-beta.1", + "@tsparticles/updater-twinkle": "workspace:4.0.0-beta.1", + "@tsparticles/updater-wobble": "workspace:4.0.0-beta.1" }, "publishConfig": { "access": "public", diff --git a/bundles/pjs/CHANGELOG.md b/bundles/pjs/CHANGELOG.md index 03efd66aa09..32996eb3e1c 100644 --- a/bundles/pjs/CHANGELOG.md +++ b/bundles/pjs/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/pjs + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/pjs diff --git a/bundles/pjs/package.dist.json b/bundles/pjs/package.dist.json index c55597b8987..289ad5d87f8 100644 --- a/bundles/pjs/package.dist.json +++ b/bundles/pjs/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/pjs", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "Easily create highly customizable particle animations and use them as animated backgrounds for your website. Ready to use components available also for React, Vue.js (2.x and 3.x), Angular, Svelte, jQuery, Preact, Riot.js, Inferno.", "homepage": "https://particles.js.org", "repository": { @@ -99,9 +99,9 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/engine": "4.0.0-beta.0", - "@tsparticles/plugin-responsive": "4.0.0-beta.0", - "tsparticles": "4.0.0-beta.0" + "@tsparticles/engine": "4.0.0-beta.1", + "@tsparticles/plugin-responsive": "4.0.0-beta.1", + "tsparticles": "4.0.0-beta.1" }, "publishConfig": { "access": "public" diff --git a/bundles/pjs/package.json b/bundles/pjs/package.json index 3e9edbe990f..c1485db308c 100644 --- a/bundles/pjs/package.json +++ b/bundles/pjs/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/pjs", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "Easily create highly customizable particle animations and use them as animated backgrounds for your website. Ready to use components available also for React, Vue.js (2.x and 3.x), Angular, Svelte, jQuery, Preact, Riot.js, Inferno.", "homepage": "https://particles.js.org", "scripts": { @@ -107,12 +107,12 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/engine": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-responsive": "workspace:4.0.0-beta.0", - "tsparticles": "workspace:4.0.0-beta.0" + "@tsparticles/engine": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-responsive": "workspace:4.0.0-beta.1", + "tsparticles": "workspace:4.0.0-beta.1" }, "devDependencies": { - "@tsparticles/plugin-interactivity": "workspace:4.0.0-beta.0" + "@tsparticles/plugin-interactivity": "workspace:4.0.0-beta.1" }, "publishConfig": { "access": "public", diff --git a/bundles/slim/CHANGELOG.md b/bundles/slim/CHANGELOG.md index 2d774771762..12095b52bad 100644 --- a/bundles/slim/CHANGELOG.md +++ b/bundles/slim/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/slim + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/slim diff --git a/bundles/slim/package.dist.json b/bundles/slim/package.dist.json index e79350186f7..99f4ba49c07 100644 --- a/bundles/slim/package.dist.json +++ b/bundles/slim/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/slim", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "Easily create highly customizable particle animations and use them as animated backgrounds for your website. Ready to use components available also for React, Vue.js (2.x and 3.x), Angular, Svelte, jQuery, Preact, Riot.js, Inferno.", "homepage": "https://particles.js.org", "repository": { @@ -99,33 +99,33 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/basic": "4.0.0-beta.0", - "@tsparticles/engine": "4.0.0-beta.0", - "@tsparticles/interaction-external-attract": "4.0.0-beta.0", - "@tsparticles/interaction-external-bounce": "4.0.0-beta.0", - "@tsparticles/interaction-external-bubble": "4.0.0-beta.0", - "@tsparticles/interaction-external-connect": "4.0.0-beta.0", - "@tsparticles/interaction-external-grab": "4.0.0-beta.0", - "@tsparticles/interaction-external-parallax": "4.0.0-beta.0", - "@tsparticles/interaction-external-pause": "4.0.0-beta.0", - "@tsparticles/interaction-external-push": "4.0.0-beta.0", - "@tsparticles/interaction-external-remove": "4.0.0-beta.0", - "@tsparticles/interaction-external-repulse": "4.0.0-beta.0", - "@tsparticles/interaction-external-slow": "4.0.0-beta.0", - "@tsparticles/interaction-particles-attract": "4.0.0-beta.0", - "@tsparticles/interaction-particles-collisions": "4.0.0-beta.0", - "@tsparticles/interaction-particles-links": "4.0.0-beta.0", - "@tsparticles/plugin-easing-quad": "4.0.0-beta.0", - "@tsparticles/plugin-interactivity": "4.0.0-beta.0", - "@tsparticles/shape-emoji": "4.0.0-beta.0", - "@tsparticles/shape-image": "4.0.0-beta.0", - "@tsparticles/shape-line": "4.0.0-beta.0", - "@tsparticles/shape-polygon": "4.0.0-beta.0", - "@tsparticles/shape-square": "4.0.0-beta.0", - "@tsparticles/shape-star": "4.0.0-beta.0", - "@tsparticles/updater-life": "4.0.0-beta.0", - "@tsparticles/updater-rotate": "4.0.0-beta.0", - "@tsparticles/updater-stroke-color": "4.0.0-beta.0" + "@tsparticles/basic": "4.0.0-beta.1", + "@tsparticles/engine": "4.0.0-beta.1", + "@tsparticles/interaction-external-attract": "4.0.0-beta.1", + "@tsparticles/interaction-external-bounce": "4.0.0-beta.1", + "@tsparticles/interaction-external-bubble": "4.0.0-beta.1", + "@tsparticles/interaction-external-connect": "4.0.0-beta.1", + "@tsparticles/interaction-external-grab": "4.0.0-beta.1", + "@tsparticles/interaction-external-parallax": "4.0.0-beta.1", + "@tsparticles/interaction-external-pause": "4.0.0-beta.1", + "@tsparticles/interaction-external-push": "4.0.0-beta.1", + "@tsparticles/interaction-external-remove": "4.0.0-beta.1", + "@tsparticles/interaction-external-repulse": "4.0.0-beta.1", + "@tsparticles/interaction-external-slow": "4.0.0-beta.1", + "@tsparticles/interaction-particles-attract": "4.0.0-beta.1", + "@tsparticles/interaction-particles-collisions": "4.0.0-beta.1", + "@tsparticles/interaction-particles-links": "4.0.0-beta.1", + "@tsparticles/plugin-easing-quad": "4.0.0-beta.1", + "@tsparticles/plugin-interactivity": "4.0.0-beta.1", + "@tsparticles/shape-emoji": "4.0.0-beta.1", + "@tsparticles/shape-image": "4.0.0-beta.1", + "@tsparticles/shape-line": "4.0.0-beta.1", + "@tsparticles/shape-polygon": "4.0.0-beta.1", + "@tsparticles/shape-square": "4.0.0-beta.1", + "@tsparticles/shape-star": "4.0.0-beta.1", + "@tsparticles/updater-life": "4.0.0-beta.1", + "@tsparticles/updater-rotate": "4.0.0-beta.1", + "@tsparticles/updater-stroke-color": "4.0.0-beta.1" }, "publishConfig": { "access": "public" diff --git a/bundles/slim/package.json b/bundles/slim/package.json index f3c6ecd9eb3..f0ef622f704 100644 --- a/bundles/slim/package.json +++ b/bundles/slim/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/slim", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "Easily create highly customizable particle animations and use them as animated backgrounds for your website. Ready to use components available also for React, Vue.js (2.x and 3.x), Angular, Svelte, jQuery, Preact, Riot.js, Inferno.", "homepage": "https://particles.js.org", "scripts": { @@ -107,33 +107,33 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/basic": "workspace:4.0.0-beta.0", - "@tsparticles/engine": "workspace:4.0.0-beta.0", - "@tsparticles/interaction-external-attract": "workspace:4.0.0-beta.0", - "@tsparticles/interaction-external-bounce": "workspace:4.0.0-beta.0", - "@tsparticles/interaction-external-bubble": "workspace:4.0.0-beta.0", - "@tsparticles/interaction-external-connect": "workspace:4.0.0-beta.0", - "@tsparticles/interaction-external-grab": "workspace:4.0.0-beta.0", - "@tsparticles/interaction-external-parallax": "workspace:4.0.0-beta.0", - "@tsparticles/interaction-external-pause": "workspace:4.0.0-beta.0", - "@tsparticles/interaction-external-push": "workspace:4.0.0-beta.0", - "@tsparticles/interaction-external-remove": "workspace:4.0.0-beta.0", - "@tsparticles/interaction-external-repulse": "workspace:4.0.0-beta.0", - "@tsparticles/interaction-external-slow": "workspace:4.0.0-beta.0", - "@tsparticles/interaction-particles-attract": "workspace:4.0.0-beta.0", - "@tsparticles/interaction-particles-collisions": "workspace:4.0.0-beta.0", - "@tsparticles/interaction-particles-links": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-easing-quad": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-interactivity": "workspace:4.0.0-beta.0", - "@tsparticles/shape-emoji": "workspace:4.0.0-beta.0", - "@tsparticles/shape-image": "workspace:4.0.0-beta.0", - "@tsparticles/shape-line": "workspace:4.0.0-beta.0", - "@tsparticles/shape-polygon": "workspace:4.0.0-beta.0", - "@tsparticles/shape-square": "workspace:4.0.0-beta.0", - "@tsparticles/shape-star": "workspace:4.0.0-beta.0", - "@tsparticles/updater-life": "workspace:4.0.0-beta.0", - "@tsparticles/updater-rotate": "workspace:4.0.0-beta.0", - "@tsparticles/updater-stroke-color": "workspace:4.0.0-beta.0" + "@tsparticles/basic": "workspace:4.0.0-beta.1", + "@tsparticles/engine": "workspace:4.0.0-beta.1", + "@tsparticles/interaction-external-attract": "workspace:4.0.0-beta.1", + "@tsparticles/interaction-external-bounce": "workspace:4.0.0-beta.1", + "@tsparticles/interaction-external-bubble": "workspace:4.0.0-beta.1", + "@tsparticles/interaction-external-connect": "workspace:4.0.0-beta.1", + "@tsparticles/interaction-external-grab": "workspace:4.0.0-beta.1", + "@tsparticles/interaction-external-parallax": "workspace:4.0.0-beta.1", + "@tsparticles/interaction-external-pause": "workspace:4.0.0-beta.1", + "@tsparticles/interaction-external-push": "workspace:4.0.0-beta.1", + "@tsparticles/interaction-external-remove": "workspace:4.0.0-beta.1", + "@tsparticles/interaction-external-repulse": "workspace:4.0.0-beta.1", + "@tsparticles/interaction-external-slow": "workspace:4.0.0-beta.1", + "@tsparticles/interaction-particles-attract": "workspace:4.0.0-beta.1", + "@tsparticles/interaction-particles-collisions": "workspace:4.0.0-beta.1", + "@tsparticles/interaction-particles-links": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-easing-quad": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-interactivity": "workspace:4.0.0-beta.1", + "@tsparticles/shape-emoji": "workspace:4.0.0-beta.1", + "@tsparticles/shape-image": "workspace:4.0.0-beta.1", + "@tsparticles/shape-line": "workspace:4.0.0-beta.1", + "@tsparticles/shape-polygon": "workspace:4.0.0-beta.1", + "@tsparticles/shape-square": "workspace:4.0.0-beta.1", + "@tsparticles/shape-star": "workspace:4.0.0-beta.1", + "@tsparticles/updater-life": "workspace:4.0.0-beta.1", + "@tsparticles/updater-rotate": "workspace:4.0.0-beta.1", + "@tsparticles/updater-stroke-color": "workspace:4.0.0-beta.1" }, "publishConfig": { "access": "public", diff --git a/demo/electron/CHANGELOG.md b/demo/electron/CHANGELOG.md index 6e3a29ade46..78c7055d8a9 100644 --- a/demo/electron/CHANGELOG.md +++ b/demo/electron/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/electron-demo + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/electron-demo diff --git a/demo/electron/package.json b/demo/electron/package.json index 937a9e9b17c..52acef68b45 100644 --- a/demo/electron/package.json +++ b/demo/electron/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/electron-demo", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "", "main": "app/index.js", "private": true, @@ -14,9 +14,9 @@ "author": "Matteo Bruni ", "license": "MIT", "dependencies": { - "@tsparticles/configs": "workspace:4.0.0-beta.0", - "@tsparticles/engine": "workspace:4.0.0-beta.0", - "tsparticles": "workspace:4.0.0-beta.0" + "@tsparticles/configs": "workspace:4.0.0-beta.1", + "@tsparticles/engine": "workspace:4.0.0-beta.1", + "tsparticles": "workspace:4.0.0-beta.1" }, "devDependencies": { "electron": "^41.0.3" diff --git a/demo/vanilla/CHANGELOG.md b/demo/vanilla/CHANGELOG.md index 2a8de17013d..d1256fd017c 100644 --- a/demo/vanilla/CHANGELOG.md +++ b/demo/vanilla/CHANGELOG.md @@ -3,6 +3,12 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +### Features + +- added cannon external interaction ([e133ab3](https://github.com/tsparticles/tsparticles/commit/e133ab35835b6411c0da1b151b046a36bcfd9ee1)) + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) ### Features diff --git a/demo/vanilla/package.json b/demo/vanilla/package.json index 2a2ac3b0e76..89b10a2dacf 100644 --- a/demo/vanilla/package.json +++ b/demo/vanilla/package.json @@ -1,7 +1,7 @@ { "name": "@tsparticles/demo", "private": true, - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "> TODO: description", "author": "Matteo Bruni ", "homepage": "https://particles.js.org", @@ -50,143 +50,143 @@ "winston": "^3.19.0" }, "dependencies": { - "@tsparticles/all": "workspace:4.0.0-beta.0", - "@tsparticles/basic": "workspace:4.0.0-beta.0", - "@tsparticles/canvas-utils": "workspace:4.0.0-beta.0", - "@tsparticles/confetti": "workspace:4.0.0-beta.0", - "@tsparticles/configs": "workspace:4.0.0-beta.0", - "@tsparticles/effect-bubble": "workspace:4.0.0-beta.0", - "@tsparticles/effect-particles": "workspace:4.0.0-beta.0", - "@tsparticles/effect-shadow": "workspace:4.0.0-beta.0", - "@tsparticles/effect-trail": "workspace:4.0.0-beta.0", - "@tsparticles/engine": "workspace:4.0.0-beta.0", - "@tsparticles/fireworks": "workspace:4.0.0-beta.0", - "@tsparticles/fractal-noise": "workspace:4.0.0-beta.0", - "@tsparticles/interaction-external-attract": "workspace:4.0.0-beta.0", - "@tsparticles/interaction-external-bounce": "workspace:4.0.0-beta.0", - "@tsparticles/interaction-external-bubble": "workspace:4.0.0-beta.0", - "@tsparticles/interaction-external-cannon": "workspace:4.0.0-beta.0", - "@tsparticles/interaction-external-connect": "workspace:4.0.0-beta.0", - "@tsparticles/interaction-external-drag": "workspace:4.0.0-beta.0", - "@tsparticles/interaction-external-grab": "workspace:4.0.0-beta.0", - "@tsparticles/interaction-external-parallax": "workspace:4.0.0-beta.0", - "@tsparticles/interaction-external-particle": "workspace:4.0.0-beta.0", - "@tsparticles/interaction-external-pause": "workspace:4.0.0-beta.0", - "@tsparticles/interaction-external-pop": "workspace:4.0.0-beta.0", - "@tsparticles/interaction-external-push": "workspace:4.0.0-beta.0", - "@tsparticles/interaction-external-remove": "workspace:4.0.0-beta.0", - "@tsparticles/interaction-external-repulse": "workspace:4.0.0-beta.0", - "@tsparticles/interaction-external-slow": "workspace:4.0.0-beta.0", - "@tsparticles/interaction-external-trail": "workspace:4.0.0-beta.0", - "@tsparticles/interaction-light": "workspace:4.0.0-beta.0", - "@tsparticles/interaction-particles-attract": "workspace:4.0.0-beta.0", - "@tsparticles/interaction-particles-collisions": "workspace:4.0.0-beta.0", - "@tsparticles/interaction-particles-links": "workspace:4.0.0-beta.0", - "@tsparticles/interaction-particles-repulse": "workspace:4.0.0-beta.0", - "@tsparticles/noise-field": "workspace:4.0.0-beta.0", - "@tsparticles/path-branches": "workspace:4.0.0-beta.0", - "@tsparticles/path-brownian": "workspace:4.0.0-beta.0", - "@tsparticles/path-curl-noise": "workspace:4.0.0-beta.0", - "@tsparticles/path-curves": "workspace:4.0.0-beta.0", - "@tsparticles/path-fractal-noise": "workspace:4.0.0-beta.0", - "@tsparticles/path-grid": "workspace:4.0.0-beta.0", - "@tsparticles/path-levy": "workspace:4.0.0-beta.0", - "@tsparticles/path-perlin-noise": "workspace:4.0.0-beta.0", - "@tsparticles/path-polygon": "workspace:4.0.0-beta.0", - "@tsparticles/path-random": "workspace:4.0.0-beta.0", - "@tsparticles/path-simplex-noise": "workspace:4.0.0-beta.0", - "@tsparticles/path-spiral": "workspace:4.0.0-beta.0", - "@tsparticles/path-svg": "workspace:4.0.0-beta.0", - "@tsparticles/path-utils": "workspace:4.0.0-beta.0", - "@tsparticles/path-zig-zag": "workspace:4.0.0-beta.0", - "@tsparticles/perlin-noise": "workspace:4.0.0-beta.0", - "@tsparticles/pjs": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-absorbers": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-background-mask": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-blend": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-canvas-mask": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-easing-back": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-easing-bounce": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-easing-circ": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-easing-cubic": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-easing-elastic": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-easing-expo": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-easing-gaussian": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-easing-linear": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-easing-quad": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-easing-quart": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-easing-quint": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-easing-sigmoid": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-easing-sine": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-easing-smoothstep": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-emitters": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-emitters-shape-canvas": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-emitters-shape-circle": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-emitters-shape-path": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-emitters-shape-polygon": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-emitters-shape-square": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-export-image": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-export-json": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-export-video": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-hex-color": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-hsl-color": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-hsv-color": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-hwb-color": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-infection": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-interactivity": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-lab-color": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-lch-color": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-manual-particles": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-motion": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-move": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-named-color": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-oklab-color": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-oklch-color": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-poisson-disc": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-polygon-mask": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-responsive": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-rgb-color": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-sounds": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-themes": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-trail": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-zoom": "workspace:4.0.0-beta.0", - "@tsparticles/shape-arrow": "workspace:4.0.0-beta.0", - "@tsparticles/shape-cards": "workspace:4.0.0-beta.0", - "@tsparticles/shape-circle": "workspace:4.0.0-beta.0", - "@tsparticles/shape-cog": "workspace:4.0.0-beta.0", - "@tsparticles/shape-emoji": "workspace:4.0.0-beta.0", - "@tsparticles/shape-heart": "workspace:4.0.0-beta.0", - "@tsparticles/shape-image": "workspace:4.0.0-beta.0", - "@tsparticles/shape-infinity": "workspace:4.0.0-beta.0", - "@tsparticles/shape-line": "workspace:4.0.0-beta.0", - "@tsparticles/shape-matrix": "workspace:4.0.0-beta.0", - "@tsparticles/shape-path": "workspace:4.0.0-beta.0", - "@tsparticles/shape-polygon": "workspace:4.0.0-beta.0", - "@tsparticles/shape-rounded-polygon": "workspace:4.0.0-beta.0", - "@tsparticles/shape-rounded-rect": "workspace:4.0.0-beta.0", - "@tsparticles/shape-spiral": "workspace:4.0.0-beta.0", - "@tsparticles/shape-square": "workspace:4.0.0-beta.0", - "@tsparticles/shape-squircle": "workspace:4.0.0-beta.0", - "@tsparticles/shape-star": "workspace:4.0.0-beta.0", - "@tsparticles/shape-text": "workspace:4.0.0-beta.0", - "@tsparticles/simplex-noise": "workspace:4.0.0-beta.0", - "@tsparticles/slim": "workspace:4.0.0-beta.0", - "@tsparticles/smooth-value-noise": "workspace:4.0.0-beta.0", - "@tsparticles/updater-destroy": "workspace:4.0.0-beta.0", - "@tsparticles/updater-fill-color": "workspace:4.0.0-beta.0", - "@tsparticles/updater-gradient": "workspace:4.0.0-beta.0", - "@tsparticles/updater-life": "workspace:4.0.0-beta.0", - "@tsparticles/updater-opacity": "workspace:4.0.0-beta.0", - "@tsparticles/updater-orbit": "workspace:4.0.0-beta.0", - "@tsparticles/updater-out-modes": "workspace:4.0.0-beta.0", - "@tsparticles/updater-roll": "workspace:4.0.0-beta.0", - "@tsparticles/updater-rotate": "workspace:4.0.0-beta.0", - "@tsparticles/updater-size": "workspace:4.0.0-beta.0", - "@tsparticles/updater-stroke-color": "workspace:4.0.0-beta.0", - "@tsparticles/updater-tilt": "workspace:4.0.0-beta.0", - "@tsparticles/updater-twinkle": "workspace:4.0.0-beta.0", - "@tsparticles/updater-wobble": "workspace:4.0.0-beta.0", - "tsparticles": "workspace:4.0.0-beta.0" + "@tsparticles/all": "workspace:4.0.0-beta.1", + "@tsparticles/basic": "workspace:4.0.0-beta.1", + "@tsparticles/canvas-utils": "workspace:4.0.0-beta.1", + "@tsparticles/confetti": "workspace:4.0.0-beta.1", + "@tsparticles/configs": "workspace:4.0.0-beta.1", + "@tsparticles/effect-bubble": "workspace:4.0.0-beta.1", + "@tsparticles/effect-particles": "workspace:4.0.0-beta.1", + "@tsparticles/effect-shadow": "workspace:4.0.0-beta.1", + "@tsparticles/effect-trail": "workspace:4.0.0-beta.1", + "@tsparticles/engine": "workspace:4.0.0-beta.1", + "@tsparticles/fireworks": "workspace:4.0.0-beta.1", + "@tsparticles/fractal-noise": "workspace:4.0.0-beta.1", + "@tsparticles/interaction-external-attract": "workspace:4.0.0-beta.1", + "@tsparticles/interaction-external-bounce": "workspace:4.0.0-beta.1", + "@tsparticles/interaction-external-bubble": "workspace:4.0.0-beta.1", + "@tsparticles/interaction-external-cannon": "workspace:4.0.0-beta.1", + "@tsparticles/interaction-external-connect": "workspace:4.0.0-beta.1", + "@tsparticles/interaction-external-drag": "workspace:4.0.0-beta.1", + "@tsparticles/interaction-external-grab": "workspace:4.0.0-beta.1", + "@tsparticles/interaction-external-parallax": "workspace:4.0.0-beta.1", + "@tsparticles/interaction-external-particle": "workspace:4.0.0-beta.1", + "@tsparticles/interaction-external-pause": "workspace:4.0.0-beta.1", + "@tsparticles/interaction-external-pop": "workspace:4.0.0-beta.1", + "@tsparticles/interaction-external-push": "workspace:4.0.0-beta.1", + "@tsparticles/interaction-external-remove": "workspace:4.0.0-beta.1", + "@tsparticles/interaction-external-repulse": "workspace:4.0.0-beta.1", + "@tsparticles/interaction-external-slow": "workspace:4.0.0-beta.1", + "@tsparticles/interaction-external-trail": "workspace:4.0.0-beta.1", + "@tsparticles/interaction-light": "workspace:4.0.0-beta.1", + "@tsparticles/interaction-particles-attract": "workspace:4.0.0-beta.1", + "@tsparticles/interaction-particles-collisions": "workspace:4.0.0-beta.1", + "@tsparticles/interaction-particles-links": "workspace:4.0.0-beta.1", + "@tsparticles/interaction-particles-repulse": "workspace:4.0.0-beta.1", + "@tsparticles/noise-field": "workspace:4.0.0-beta.1", + "@tsparticles/path-branches": "workspace:4.0.0-beta.1", + "@tsparticles/path-brownian": "workspace:4.0.0-beta.1", + "@tsparticles/path-curl-noise": "workspace:4.0.0-beta.1", + "@tsparticles/path-curves": "workspace:4.0.0-beta.1", + "@tsparticles/path-fractal-noise": "workspace:4.0.0-beta.1", + "@tsparticles/path-grid": "workspace:4.0.0-beta.1", + "@tsparticles/path-levy": "workspace:4.0.0-beta.1", + "@tsparticles/path-perlin-noise": "workspace:4.0.0-beta.1", + "@tsparticles/path-polygon": "workspace:4.0.0-beta.1", + "@tsparticles/path-random": "workspace:4.0.0-beta.1", + "@tsparticles/path-simplex-noise": "workspace:4.0.0-beta.1", + "@tsparticles/path-spiral": "workspace:4.0.0-beta.1", + "@tsparticles/path-svg": "workspace:4.0.0-beta.1", + "@tsparticles/path-utils": "workspace:4.0.0-beta.1", + "@tsparticles/path-zig-zag": "workspace:4.0.0-beta.1", + "@tsparticles/perlin-noise": "workspace:4.0.0-beta.1", + "@tsparticles/pjs": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-absorbers": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-background-mask": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-blend": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-canvas-mask": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-easing-back": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-easing-bounce": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-easing-circ": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-easing-cubic": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-easing-elastic": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-easing-expo": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-easing-gaussian": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-easing-linear": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-easing-quad": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-easing-quart": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-easing-quint": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-easing-sigmoid": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-easing-sine": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-easing-smoothstep": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-emitters": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-emitters-shape-canvas": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-emitters-shape-circle": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-emitters-shape-path": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-emitters-shape-polygon": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-emitters-shape-square": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-export-image": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-export-json": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-export-video": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-hex-color": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-hsl-color": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-hsv-color": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-hwb-color": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-infection": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-interactivity": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-lab-color": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-lch-color": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-manual-particles": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-motion": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-move": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-named-color": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-oklab-color": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-oklch-color": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-poisson-disc": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-polygon-mask": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-responsive": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-rgb-color": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-sounds": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-themes": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-trail": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-zoom": "workspace:4.0.0-beta.1", + "@tsparticles/shape-arrow": "workspace:4.0.0-beta.1", + "@tsparticles/shape-cards": "workspace:4.0.0-beta.1", + "@tsparticles/shape-circle": "workspace:4.0.0-beta.1", + "@tsparticles/shape-cog": "workspace:4.0.0-beta.1", + "@tsparticles/shape-emoji": "workspace:4.0.0-beta.1", + "@tsparticles/shape-heart": "workspace:4.0.0-beta.1", + "@tsparticles/shape-image": "workspace:4.0.0-beta.1", + "@tsparticles/shape-infinity": "workspace:4.0.0-beta.1", + "@tsparticles/shape-line": "workspace:4.0.0-beta.1", + "@tsparticles/shape-matrix": "workspace:4.0.0-beta.1", + "@tsparticles/shape-path": "workspace:4.0.0-beta.1", + "@tsparticles/shape-polygon": "workspace:4.0.0-beta.1", + "@tsparticles/shape-rounded-polygon": "workspace:4.0.0-beta.1", + "@tsparticles/shape-rounded-rect": "workspace:4.0.0-beta.1", + "@tsparticles/shape-spiral": "workspace:4.0.0-beta.1", + "@tsparticles/shape-square": "workspace:4.0.0-beta.1", + "@tsparticles/shape-squircle": "workspace:4.0.0-beta.1", + "@tsparticles/shape-star": "workspace:4.0.0-beta.1", + "@tsparticles/shape-text": "workspace:4.0.0-beta.1", + "@tsparticles/simplex-noise": "workspace:4.0.0-beta.1", + "@tsparticles/slim": "workspace:4.0.0-beta.1", + "@tsparticles/smooth-value-noise": "workspace:4.0.0-beta.1", + "@tsparticles/updater-destroy": "workspace:4.0.0-beta.1", + "@tsparticles/updater-fill-color": "workspace:4.0.0-beta.1", + "@tsparticles/updater-gradient": "workspace:4.0.0-beta.1", + "@tsparticles/updater-life": "workspace:4.0.0-beta.1", + "@tsparticles/updater-opacity": "workspace:4.0.0-beta.1", + "@tsparticles/updater-orbit": "workspace:4.0.0-beta.1", + "@tsparticles/updater-out-modes": "workspace:4.0.0-beta.1", + "@tsparticles/updater-roll": "workspace:4.0.0-beta.1", + "@tsparticles/updater-rotate": "workspace:4.0.0-beta.1", + "@tsparticles/updater-size": "workspace:4.0.0-beta.1", + "@tsparticles/updater-stroke-color": "workspace:4.0.0-beta.1", + "@tsparticles/updater-tilt": "workspace:4.0.0-beta.1", + "@tsparticles/updater-twinkle": "workspace:4.0.0-beta.1", + "@tsparticles/updater-wobble": "workspace:4.0.0-beta.1", + "tsparticles": "workspace:4.0.0-beta.1" }, "type": "module" } diff --git a/demo/vanilla_new/CHANGELOG.md b/demo/vanilla_new/CHANGELOG.md index fb72392b2d4..96b9d5259ad 100644 --- a/demo/vanilla_new/CHANGELOG.md +++ b/demo/vanilla_new/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/demo-new + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/demo-new diff --git a/demo/vanilla_new/package.json b/demo/vanilla_new/package.json index b43cc393f38..586bd6ced2a 100644 --- a/demo/vanilla_new/package.json +++ b/demo/vanilla_new/package.json @@ -1,7 +1,7 @@ { "name": "@tsparticles/demo-new", "private": true, - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles Demo Website", "main": "index.html", "scripts": { @@ -40,18 +40,18 @@ "sass": "^1.98.0" }, "dependencies": { - "@tsparticles/configs": "workspace:4.0.0-beta.0", - "@tsparticles/engine": "workspace:4.0.0-beta.0", - "@tsparticles/interaction-light": "workspace:4.0.0-beta.0", - "@tsparticles/interaction-particles-repulse": "workspace:4.0.0-beta.0", - "@tsparticles/path-curves": "workspace:4.0.0-beta.0", - "@tsparticles/path-perlin-noise": "workspace:4.0.0-beta.0", - "@tsparticles/path-polygon": "workspace:4.0.0-beta.0", - "@tsparticles/path-simplex-noise": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-infection": "workspace:4.0.0-beta.0", - "@tsparticles/updater-gradient": "workspace:4.0.0-beta.0", - "@tsparticles/updater-orbit": "workspace:4.0.0-beta.0", - "tsparticles": "workspace:4.0.0-beta.0" + "@tsparticles/configs": "workspace:4.0.0-beta.1", + "@tsparticles/engine": "workspace:4.0.0-beta.1", + "@tsparticles/interaction-light": "workspace:4.0.0-beta.1", + "@tsparticles/interaction-particles-repulse": "workspace:4.0.0-beta.1", + "@tsparticles/path-curves": "workspace:4.0.0-beta.1", + "@tsparticles/path-perlin-noise": "workspace:4.0.0-beta.1", + "@tsparticles/path-polygon": "workspace:4.0.0-beta.1", + "@tsparticles/path-simplex-noise": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-infection": "workspace:4.0.0-beta.1", + "@tsparticles/updater-gradient": "workspace:4.0.0-beta.1", + "@tsparticles/updater-orbit": "workspace:4.0.0-beta.1", + "tsparticles": "workspace:4.0.0-beta.1" }, "type": "module" } diff --git a/demo/vite/CHANGELOG.md b/demo/vite/CHANGELOG.md index 608e9712c01..35f4eb20452 100644 --- a/demo/vite/CHANGELOG.md +++ b/demo/vite/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/vite-demo + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/vite-demo diff --git a/demo/vite/package.json b/demo/vite/package.json index a3447c4c3df..ff900259e70 100644 --- a/demo/vite/package.json +++ b/demo/vite/package.json @@ -1,7 +1,7 @@ { "name": "@tsparticles/vite-demo", "private": true, - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "type": "module", "scripts": { "dev": "vite", @@ -9,9 +9,9 @@ "preview": "vite preview" }, "dependencies": { - "@tsparticles/all": "workspace:4.0.0-beta.0", - "@tsparticles/configs": "workspace:4.0.0-beta.0", - "@tsparticles/engine": "workspace:4.0.0-beta.0" + "@tsparticles/all": "workspace:4.0.0-beta.1", + "@tsparticles/configs": "workspace:4.0.0-beta.1", + "@tsparticles/engine": "workspace:4.0.0-beta.1" }, "devDependencies": { "typescript": "^5.9.3", diff --git a/effects/bubble/CHANGELOG.md b/effects/bubble/CHANGELOG.md index 94fe37a59ca..e7a15d5a105 100644 --- a/effects/bubble/CHANGELOG.md +++ b/effects/bubble/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/effect-bubble + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/effect-bubble diff --git a/effects/bubble/package.dist.json b/effects/bubble/package.dist.json index fec9ddbbeda..8913bea9b75 100644 --- a/effects/bubble/package.dist.json +++ b/effects/bubble/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/effect-bubble", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles bubble effect", "homepage": "https://particles.js.org", "repository": { @@ -100,7 +100,7 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/engine": "4.0.0-beta.0" + "@tsparticles/engine": "4.0.0-beta.1" }, "publishConfig": { "access": "public" diff --git a/effects/bubble/package.json b/effects/bubble/package.json index e3356d982f1..1167b2c25e4 100644 --- a/effects/bubble/package.json +++ b/effects/bubble/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/effect-bubble", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles bubble effect", "homepage": "https://particles.js.org", "scripts": { @@ -108,7 +108,7 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/engine": "workspace:4.0.0-beta.0" + "@tsparticles/engine": "workspace:4.0.0-beta.1" }, "publishConfig": { "access": "public", diff --git a/effects/particles/CHANGELOG.md b/effects/particles/CHANGELOG.md index e43bbb694d6..e424af96c0f 100644 --- a/effects/particles/CHANGELOG.md +++ b/effects/particles/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/effect-particles + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/effect-particles diff --git a/effects/particles/package.dist.json b/effects/particles/package.dist.json index ab9123f055e..ed6a631d31d 100644 --- a/effects/particles/package.dist.json +++ b/effects/particles/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/effect-particles", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles particles effect", "homepage": "https://particles.js.org", "repository": { @@ -100,7 +100,7 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/engine": "4.0.0-beta.0" + "@tsparticles/engine": "4.0.0-beta.1" }, "publishConfig": { "access": "public" diff --git a/effects/particles/package.json b/effects/particles/package.json index f4f18186f85..08fc361b620 100644 --- a/effects/particles/package.json +++ b/effects/particles/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/effect-particles", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles particles effect", "homepage": "https://particles.js.org", "scripts": { @@ -108,7 +108,7 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/engine": "workspace:4.0.0-beta.0" + "@tsparticles/engine": "workspace:4.0.0-beta.1" }, "publishConfig": { "access": "public", diff --git a/effects/shadow/CHANGELOG.md b/effects/shadow/CHANGELOG.md index eaa45845a6f..6ce812fee7c 100644 --- a/effects/shadow/CHANGELOG.md +++ b/effects/shadow/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/effect-shadow + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/effect-shadow diff --git a/effects/shadow/package.dist.json b/effects/shadow/package.dist.json index 2d326fcd679..4899babdc1c 100644 --- a/effects/shadow/package.dist.json +++ b/effects/shadow/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/effect-shadow", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles shadow effect", "homepage": "https://particles.js.org", "repository": { @@ -100,7 +100,7 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/engine": "4.0.0-beta.0" + "@tsparticles/engine": "4.0.0-beta.1" }, "publishConfig": { "access": "public" diff --git a/effects/shadow/package.json b/effects/shadow/package.json index 2da62494812..699aaea10a9 100644 --- a/effects/shadow/package.json +++ b/effects/shadow/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/effect-shadow", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles shadow effect", "homepage": "https://particles.js.org", "scripts": { @@ -108,7 +108,7 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/engine": "workspace:4.0.0-beta.0" + "@tsparticles/engine": "workspace:4.0.0-beta.1" }, "publishConfig": { "access": "public", diff --git a/effects/trail/CHANGELOG.md b/effects/trail/CHANGELOG.md index f39ef93e4ff..91f8665392e 100644 --- a/effects/trail/CHANGELOG.md +++ b/effects/trail/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/effect-trail + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) ### Bug Fixes diff --git a/effects/trail/package.dist.json b/effects/trail/package.dist.json index e1450c75231..e5de668061f 100644 --- a/effects/trail/package.dist.json +++ b/effects/trail/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/effect-trail", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles trail effect", "homepage": "https://particles.js.org", "repository": { @@ -100,7 +100,7 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/engine": "4.0.0-beta.0" + "@tsparticles/engine": "4.0.0-beta.1" }, "publishConfig": { "access": "public" diff --git a/effects/trail/package.json b/effects/trail/package.json index a1c25fdbd64..76520762c79 100644 --- a/effects/trail/package.json +++ b/effects/trail/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/effect-trail", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles trail effect", "homepage": "https://particles.js.org", "scripts": { @@ -108,7 +108,7 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/engine": "workspace:4.0.0-beta.0" + "@tsparticles/engine": "workspace:4.0.0-beta.1" }, "publishConfig": { "access": "public", diff --git a/engine/CHANGELOG.md b/engine/CHANGELOG.md index 627a9a4a10a..e7d5761d345 100644 --- a/engine/CHANGELOG.md +++ b/engine/CHANGELOG.md @@ -3,6 +3,12 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +### Bug Fixes + +- improved cannon and interactivity events ([b836a59](https://github.com/tsparticles/tsparticles/commit/b836a59e90afdc68b6307e8d37898e71b5881a21)) + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/engine diff --git a/engine/package.dist.json b/engine/package.dist.json index 0b18fe275ef..4f619c434b8 100644 --- a/engine/package.dist.json +++ b/engine/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/engine", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "Easily create highly customizable particle, confetti and fireworks animations and use them as animated backgrounds for your website. Ready to use components available also for React, Vue.js (2.x and 3.x), Angular, Svelte, jQuery, Preact, Riot.js, Inferno.", "homepage": "https://particles.js.org", "scripts": { diff --git a/engine/package.json b/engine/package.json index 9b0ea00b043..7a93fd7cb4f 100644 --- a/engine/package.json +++ b/engine/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/engine", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "Easily create highly customizable particle, confetti and fireworks animations and use them as animated backgrounds for your website. Ready to use components available also for React, Vue.js (2.x and 3.x), Angular, Svelte, jQuery, Preact, Riot.js, Inferno.", "homepage": "https://particles.js.org", "scripts": { diff --git a/interactions/external/attract/CHANGELOG.md b/interactions/external/attract/CHANGELOG.md index 1c93c58e384..e9e36d03383 100644 --- a/interactions/external/attract/CHANGELOG.md +++ b/interactions/external/attract/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/interaction-external-attract + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/interaction-external-attract diff --git a/interactions/external/attract/package.dist.json b/interactions/external/attract/package.dist.json index 72ae7bc3c63..21a33f7f1db 100644 --- a/interactions/external/attract/package.dist.json +++ b/interactions/external/attract/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/interaction-external-attract", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles attract external interaction", "homepage": "https://particles.js.org", "repository": { @@ -87,8 +87,8 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/engine": "4.0.0-beta.0", - "@tsparticles/plugin-interactivity": "4.0.0-beta.0" + "@tsparticles/engine": "4.0.0-beta.1", + "@tsparticles/plugin-interactivity": "4.0.0-beta.1" }, "publishConfig": { "access": "public" diff --git a/interactions/external/attract/package.json b/interactions/external/attract/package.json index f7a8da04955..0c940e205a2 100644 --- a/interactions/external/attract/package.json +++ b/interactions/external/attract/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/interaction-external-attract", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles attract external interaction", "homepage": "https://particles.js.org", "scripts": { @@ -95,8 +95,8 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/engine": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-interactivity": "workspace:4.0.0-beta.0" + "@tsparticles/engine": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-interactivity": "workspace:4.0.0-beta.1" }, "publishConfig": { "access": "public", diff --git a/interactions/external/bounce/CHANGELOG.md b/interactions/external/bounce/CHANGELOG.md index 7c98ac9a327..3b5bb968fa8 100644 --- a/interactions/external/bounce/CHANGELOG.md +++ b/interactions/external/bounce/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/interaction-external-bounce + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/interaction-external-bounce diff --git a/interactions/external/bounce/package.dist.json b/interactions/external/bounce/package.dist.json index ffa1d4492ba..51f57ff28bd 100644 --- a/interactions/external/bounce/package.dist.json +++ b/interactions/external/bounce/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/interaction-external-bounce", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles bounce external interaction", "homepage": "https://particles.js.org", "repository": { @@ -87,8 +87,8 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/engine": "4.0.0-beta.0", - "@tsparticles/plugin-interactivity": "4.0.0-beta.0" + "@tsparticles/engine": "4.0.0-beta.1", + "@tsparticles/plugin-interactivity": "4.0.0-beta.1" }, "publishConfig": { "access": "public" diff --git a/interactions/external/bounce/package.json b/interactions/external/bounce/package.json index 2e4f1b61321..c69c9dcac8c 100644 --- a/interactions/external/bounce/package.json +++ b/interactions/external/bounce/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/interaction-external-bounce", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles bounce external interaction", "homepage": "https://particles.js.org", "scripts": { @@ -95,8 +95,8 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/engine": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-interactivity": "workspace:4.0.0-beta.0" + "@tsparticles/engine": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-interactivity": "workspace:4.0.0-beta.1" }, "publishConfig": { "access": "public", diff --git a/interactions/external/bubble/CHANGELOG.md b/interactions/external/bubble/CHANGELOG.md index a84b8baf0e8..7cbb9cb3d4e 100644 --- a/interactions/external/bubble/CHANGELOG.md +++ b/interactions/external/bubble/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/interaction-external-bubble + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/interaction-external-bubble diff --git a/interactions/external/bubble/package.dist.json b/interactions/external/bubble/package.dist.json index 296abd8ad09..707b5f722c5 100644 --- a/interactions/external/bubble/package.dist.json +++ b/interactions/external/bubble/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/interaction-external-bubble", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles bubble external interaction", "homepage": "https://particles.js.org", "repository": { @@ -87,8 +87,8 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/engine": "4.0.0-beta.0", - "@tsparticles/plugin-interactivity": "4.0.0-beta.0" + "@tsparticles/engine": "4.0.0-beta.1", + "@tsparticles/plugin-interactivity": "4.0.0-beta.1" }, "publishConfig": { "access": "public" diff --git a/interactions/external/bubble/package.json b/interactions/external/bubble/package.json index 0618b73bbad..04f8c2139dc 100644 --- a/interactions/external/bubble/package.json +++ b/interactions/external/bubble/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/interaction-external-bubble", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles bubble external interaction", "homepage": "https://particles.js.org", "scripts": { @@ -95,8 +95,8 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/engine": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-interactivity": "workspace:4.0.0-beta.0" + "@tsparticles/engine": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-interactivity": "workspace:4.0.0-beta.1" }, "publishConfig": { "access": "public", diff --git a/interactions/external/cannon/CHANGELOG.md b/interactions/external/cannon/CHANGELOG.md new file mode 100644 index 00000000000..8281460b30b --- /dev/null +++ b/interactions/external/cannon/CHANGELOG.md @@ -0,0 +1,16 @@ +# Change Log + +All notable changes to this project will be documented in this file. +See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. + +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +### Bug Fixes + +- improved cannon and interactivity events ([b836a59](https://github.com/tsparticles/tsparticles/commit/b836a59e90afdc68b6307e8d37898e71b5881a21)) +- improved cannon options loading ([8cfcc50](https://github.com/tsparticles/tsparticles/commit/8cfcc50f4375582b73ff79569a097aea8464c8c7)) +- improved cannon vector draw ([5d55e8f](https://github.com/tsparticles/tsparticles/commit/5d55e8f22aa34939ac96a58ef9e1eb478f33e9f6)) + +### Features + +- added cannon external interaction ([e133ab3](https://github.com/tsparticles/tsparticles/commit/e133ab35835b6411c0da1b151b046a36bcfd9ee1)) diff --git a/interactions/external/cannon/package.dist.json b/interactions/external/cannon/package.dist.json index 46f867f67a0..fb825c35bd5 100644 --- a/interactions/external/cannon/package.dist.json +++ b/interactions/external/cannon/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/interaction-external-cannon", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles cannon external interaction", "homepage": "https://particles.js.org", "repository": { @@ -87,8 +87,8 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/engine": "4.0.0-beta.0", - "@tsparticles/plugin-interactivity": "4.0.0-beta.0" + "@tsparticles/engine": "4.0.0-beta.1", + "@tsparticles/plugin-interactivity": "4.0.0-beta.1" }, "publishConfig": { "access": "public" diff --git a/interactions/external/cannon/package.json b/interactions/external/cannon/package.json index 7fe89a5322c..dd3588b9b48 100644 --- a/interactions/external/cannon/package.json +++ b/interactions/external/cannon/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/interaction-external-cannon", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles cannon external interaction", "homepage": "https://particles.js.org", "scripts": { @@ -67,8 +67,8 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/engine": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-interactivity": "workspace:4.0.0-beta.0" + "@tsparticles/engine": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-interactivity": "workspace:4.0.0-beta.1" }, "publishConfig": { "access": "public", diff --git a/interactions/external/connect/CHANGELOG.md b/interactions/external/connect/CHANGELOG.md index 4f490154f9d..ca3536710b8 100644 --- a/interactions/external/connect/CHANGELOG.md +++ b/interactions/external/connect/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/interaction-external-connect + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/interaction-external-connect diff --git a/interactions/external/connect/package.dist.json b/interactions/external/connect/package.dist.json index 710bef62eed..a9be9bfd13f 100644 --- a/interactions/external/connect/package.dist.json +++ b/interactions/external/connect/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/interaction-external-connect", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles connect external interaction", "homepage": "https://particles.js.org", "repository": { @@ -87,9 +87,9 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/canvas-utils": "4.0.0-beta.0", - "@tsparticles/engine": "4.0.0-beta.0", - "@tsparticles/plugin-interactivity": "4.0.0-beta.0" + "@tsparticles/canvas-utils": "4.0.0-beta.1", + "@tsparticles/engine": "4.0.0-beta.1", + "@tsparticles/plugin-interactivity": "4.0.0-beta.1" }, "publishConfig": { "access": "public" diff --git a/interactions/external/connect/package.json b/interactions/external/connect/package.json index 587ae1e7e1f..16d9ba4df4b 100644 --- a/interactions/external/connect/package.json +++ b/interactions/external/connect/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/interaction-external-connect", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles connect external interaction", "homepage": "https://particles.js.org", "scripts": { @@ -95,9 +95,9 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/canvas-utils": "workspace:4.0.0-beta.0", - "@tsparticles/engine": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-interactivity": "workspace:4.0.0-beta.0" + "@tsparticles/canvas-utils": "workspace:4.0.0-beta.1", + "@tsparticles/engine": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-interactivity": "workspace:4.0.0-beta.1" }, "publishConfig": { "access": "public", diff --git a/interactions/external/drag/CHANGELOG.md b/interactions/external/drag/CHANGELOG.md index d455f35ccf3..9b8f0e26341 100644 --- a/interactions/external/drag/CHANGELOG.md +++ b/interactions/external/drag/CHANGELOG.md @@ -3,6 +3,12 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +### Features + +- added cannon external interaction ([e133ab3](https://github.com/tsparticles/tsparticles/commit/e133ab35835b6411c0da1b151b046a36bcfd9ee1)) + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) ### Features diff --git a/interactions/external/drag/package.dist.json b/interactions/external/drag/package.dist.json index 39a3e935aa0..b654b2703a6 100644 --- a/interactions/external/drag/package.dist.json +++ b/interactions/external/drag/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/interaction-external-drag", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles drag external interaction", "homepage": "https://particles.js.org", "repository": { @@ -87,8 +87,8 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/engine": "4.0.0-beta.0", - "@tsparticles/plugin-interactivity": "4.0.0-beta.0" + "@tsparticles/engine": "4.0.0-beta.1", + "@tsparticles/plugin-interactivity": "4.0.0-beta.1" }, "publishConfig": { "access": "public" diff --git a/interactions/external/drag/package.json b/interactions/external/drag/package.json index 5eb5ee4c26d..42fd44920b6 100644 --- a/interactions/external/drag/package.json +++ b/interactions/external/drag/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/interaction-external-drag", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles drag external interaction", "homepage": "https://particles.js.org", "scripts": { @@ -67,8 +67,8 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/engine": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-interactivity": "workspace:4.0.0-beta.0" + "@tsparticles/engine": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-interactivity": "workspace:4.0.0-beta.1" }, "publishConfig": { "access": "public", diff --git a/interactions/external/grab/CHANGELOG.md b/interactions/external/grab/CHANGELOG.md index 5a6263122b4..d38b7146e2e 100644 --- a/interactions/external/grab/CHANGELOG.md +++ b/interactions/external/grab/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/interaction-external-grab + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/interaction-external-grab diff --git a/interactions/external/grab/package.dist.json b/interactions/external/grab/package.dist.json index 37691a67919..67a29bb2db3 100644 --- a/interactions/external/grab/package.dist.json +++ b/interactions/external/grab/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/interaction-external-grab", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles grab external interaction", "homepage": "https://particles.js.org", "repository": { @@ -87,9 +87,9 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/canvas-utils": "4.0.0-beta.0", - "@tsparticles/engine": "4.0.0-beta.0", - "@tsparticles/plugin-interactivity": "4.0.0-beta.0" + "@tsparticles/canvas-utils": "4.0.0-beta.1", + "@tsparticles/engine": "4.0.0-beta.1", + "@tsparticles/plugin-interactivity": "4.0.0-beta.1" }, "publishConfig": { "access": "public" diff --git a/interactions/external/grab/package.json b/interactions/external/grab/package.json index 7c8ccb83de8..76b9768559f 100644 --- a/interactions/external/grab/package.json +++ b/interactions/external/grab/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/interaction-external-grab", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles grab external interaction", "homepage": "https://particles.js.org", "scripts": { @@ -95,9 +95,9 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/canvas-utils": "workspace:4.0.0-beta.0", - "@tsparticles/engine": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-interactivity": "workspace:4.0.0-beta.0" + "@tsparticles/canvas-utils": "workspace:4.0.0-beta.1", + "@tsparticles/engine": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-interactivity": "workspace:4.0.0-beta.1" }, "publishConfig": { "access": "public", diff --git a/interactions/external/parallax/CHANGELOG.md b/interactions/external/parallax/CHANGELOG.md index 36aa49d6a0d..928d1745b50 100644 --- a/interactions/external/parallax/CHANGELOG.md +++ b/interactions/external/parallax/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/interaction-external-parallax + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/interaction-external-parallax diff --git a/interactions/external/parallax/package.dist.json b/interactions/external/parallax/package.dist.json index b03ee5a321f..2291db1a71e 100644 --- a/interactions/external/parallax/package.dist.json +++ b/interactions/external/parallax/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/interaction-external-parallax", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles parallax external interaction", "homepage": "https://particles.js.org", "repository": { @@ -87,8 +87,8 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/engine": "4.0.0-beta.0", - "@tsparticles/plugin-interactivity": "4.0.0-beta.0" + "@tsparticles/engine": "4.0.0-beta.1", + "@tsparticles/plugin-interactivity": "4.0.0-beta.1" }, "publishConfig": { "access": "public" diff --git a/interactions/external/parallax/package.json b/interactions/external/parallax/package.json index d91242fe9b2..fff497ae6af 100644 --- a/interactions/external/parallax/package.json +++ b/interactions/external/parallax/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/interaction-external-parallax", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles parallax external interaction", "homepage": "https://particles.js.org", "scripts": { @@ -95,8 +95,8 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/engine": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-interactivity": "workspace:4.0.0-beta.0" + "@tsparticles/engine": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-interactivity": "workspace:4.0.0-beta.1" }, "publishConfig": { "access": "public", diff --git a/interactions/external/particle/CHANGELOG.md b/interactions/external/particle/CHANGELOG.md index 7fdd6b1d1fc..a2fd2692aeb 100644 --- a/interactions/external/particle/CHANGELOG.md +++ b/interactions/external/particle/CHANGELOG.md @@ -3,6 +3,12 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +### Bug Fixes + +- improved cannon and interactivity events ([b836a59](https://github.com/tsparticles/tsparticles/commit/b836a59e90afdc68b6307e8d37898e71b5881a21)) + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/interaction-external-particle diff --git a/interactions/external/particle/package.dist.json b/interactions/external/particle/package.dist.json index 102cd195c49..32e1b57cbfc 100644 --- a/interactions/external/particle/package.dist.json +++ b/interactions/external/particle/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/interaction-external-particle", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles particle external interaction", "homepage": "https://particles.js.org", "repository": { @@ -87,8 +87,8 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/engine": "4.0.0-beta.0", - "@tsparticles/plugin-interactivity": "4.0.0-beta.0" + "@tsparticles/engine": "4.0.0-beta.1", + "@tsparticles/plugin-interactivity": "4.0.0-beta.1" }, "publishConfig": { "access": "public" diff --git a/interactions/external/particle/package.json b/interactions/external/particle/package.json index 8a947fc9b0d..8106a67a4b5 100644 --- a/interactions/external/particle/package.json +++ b/interactions/external/particle/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/interaction-external-particle", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles particle external interaction", "homepage": "https://particles.js.org", "scripts": { @@ -67,8 +67,8 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/engine": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-interactivity": "workspace:4.0.0-beta.0" + "@tsparticles/engine": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-interactivity": "workspace:4.0.0-beta.1" }, "publishConfig": { "access": "public", diff --git a/interactions/external/pause/CHANGELOG.md b/interactions/external/pause/CHANGELOG.md index 3d0949814bd..287fdd42757 100644 --- a/interactions/external/pause/CHANGELOG.md +++ b/interactions/external/pause/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/interaction-external-pause + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/interaction-external-pause diff --git a/interactions/external/pause/package.dist.json b/interactions/external/pause/package.dist.json index 16bc2cbbe79..7086437c598 100644 --- a/interactions/external/pause/package.dist.json +++ b/interactions/external/pause/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/interaction-external-pause", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles pause external interaction", "homepage": "https://particles.js.org", "repository": { @@ -87,8 +87,8 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/engine": "4.0.0-beta.0", - "@tsparticles/plugin-interactivity": "4.0.0-beta.0" + "@tsparticles/engine": "4.0.0-beta.1", + "@tsparticles/plugin-interactivity": "4.0.0-beta.1" }, "publishConfig": { "access": "public" diff --git a/interactions/external/pause/package.json b/interactions/external/pause/package.json index 8956fc47406..11a5cda36d7 100644 --- a/interactions/external/pause/package.json +++ b/interactions/external/pause/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/interaction-external-pause", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles pause external interaction", "homepage": "https://particles.js.org", "scripts": { @@ -95,8 +95,8 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/engine": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-interactivity": "workspace:4.0.0-beta.0" + "@tsparticles/engine": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-interactivity": "workspace:4.0.0-beta.1" }, "publishConfig": { "access": "public", diff --git a/interactions/external/pop/CHANGELOG.md b/interactions/external/pop/CHANGELOG.md index 17480eaf42c..ee978d66a1b 100644 --- a/interactions/external/pop/CHANGELOG.md +++ b/interactions/external/pop/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/interaction-external-pop + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/interaction-external-pop diff --git a/interactions/external/pop/package.dist.json b/interactions/external/pop/package.dist.json index 0e20048b7a0..744ace5ab21 100644 --- a/interactions/external/pop/package.dist.json +++ b/interactions/external/pop/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/interaction-external-pop", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles pop external interaction", "homepage": "https://particles.js.org", "repository": { @@ -87,8 +87,8 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/engine": "4.0.0-beta.0", - "@tsparticles/plugin-interactivity": "4.0.0-beta.0" + "@tsparticles/engine": "4.0.0-beta.1", + "@tsparticles/plugin-interactivity": "4.0.0-beta.1" }, "publishConfig": { "access": "public" diff --git a/interactions/external/pop/package.json b/interactions/external/pop/package.json index 80caff0138d..a661645b33a 100644 --- a/interactions/external/pop/package.json +++ b/interactions/external/pop/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/interaction-external-pop", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles pop external interaction", "homepage": "https://particles.js.org", "scripts": { @@ -95,8 +95,8 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/engine": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-interactivity": "workspace:4.0.0-beta.0" + "@tsparticles/engine": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-interactivity": "workspace:4.0.0-beta.1" }, "publishConfig": { "access": "public", diff --git a/interactions/external/push/CHANGELOG.md b/interactions/external/push/CHANGELOG.md index 1ea9a657cd7..d5643890bfd 100644 --- a/interactions/external/push/CHANGELOG.md +++ b/interactions/external/push/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/interaction-external-push + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/interaction-external-push diff --git a/interactions/external/push/package.dist.json b/interactions/external/push/package.dist.json index 3c1e808dea7..9a8fd9c4cbf 100644 --- a/interactions/external/push/package.dist.json +++ b/interactions/external/push/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/interaction-external-push", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles push external interaction", "homepage": "https://particles.js.org", "repository": { @@ -87,8 +87,8 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/engine": "4.0.0-beta.0", - "@tsparticles/plugin-interactivity": "4.0.0-beta.0" + "@tsparticles/engine": "4.0.0-beta.1", + "@tsparticles/plugin-interactivity": "4.0.0-beta.1" }, "publishConfig": { "access": "public" diff --git a/interactions/external/push/package.json b/interactions/external/push/package.json index 85f64f7af14..95579f2e480 100644 --- a/interactions/external/push/package.json +++ b/interactions/external/push/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/interaction-external-push", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles push external interaction", "homepage": "https://particles.js.org", "scripts": { @@ -95,8 +95,8 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/engine": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-interactivity": "workspace:4.0.0-beta.0" + "@tsparticles/engine": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-interactivity": "workspace:4.0.0-beta.1" }, "publishConfig": { "access": "public", diff --git a/interactions/external/remove/CHANGELOG.md b/interactions/external/remove/CHANGELOG.md index 88e497888f2..0596f9fa863 100644 --- a/interactions/external/remove/CHANGELOG.md +++ b/interactions/external/remove/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/interaction-external-remove + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/interaction-external-remove diff --git a/interactions/external/remove/package.dist.json b/interactions/external/remove/package.dist.json index fcdcf90541b..79b5134fdc7 100644 --- a/interactions/external/remove/package.dist.json +++ b/interactions/external/remove/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/interaction-external-remove", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles remove external interaction", "homepage": "https://particles.js.org", "repository": { @@ -87,8 +87,8 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/engine": "4.0.0-beta.0", - "@tsparticles/plugin-interactivity": "4.0.0-beta.0" + "@tsparticles/engine": "4.0.0-beta.1", + "@tsparticles/plugin-interactivity": "4.0.0-beta.1" }, "publishConfig": { "access": "public" diff --git a/interactions/external/remove/package.json b/interactions/external/remove/package.json index 6337ba9da75..684593045cb 100644 --- a/interactions/external/remove/package.json +++ b/interactions/external/remove/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/interaction-external-remove", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles remove external interaction", "homepage": "https://particles.js.org", "scripts": { @@ -95,8 +95,8 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/engine": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-interactivity": "workspace:4.0.0-beta.0" + "@tsparticles/engine": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-interactivity": "workspace:4.0.0-beta.1" }, "publishConfig": { "access": "public", diff --git a/interactions/external/repulse/CHANGELOG.md b/interactions/external/repulse/CHANGELOG.md index e0b88c8b640..b8e324cd52e 100644 --- a/interactions/external/repulse/CHANGELOG.md +++ b/interactions/external/repulse/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/interaction-external-repulse + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/interaction-external-repulse diff --git a/interactions/external/repulse/package.dist.json b/interactions/external/repulse/package.dist.json index b4b752cb20e..590c164abc2 100644 --- a/interactions/external/repulse/package.dist.json +++ b/interactions/external/repulse/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/interaction-external-repulse", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles repulse external interaction", "homepage": "https://particles.js.org", "repository": { @@ -87,8 +87,8 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/engine": "4.0.0-beta.0", - "@tsparticles/plugin-interactivity": "4.0.0-beta.0" + "@tsparticles/engine": "4.0.0-beta.1", + "@tsparticles/plugin-interactivity": "4.0.0-beta.1" }, "publishConfig": { "access": "public" diff --git a/interactions/external/repulse/package.json b/interactions/external/repulse/package.json index 29c35b161f3..73d8fa4a1b5 100644 --- a/interactions/external/repulse/package.json +++ b/interactions/external/repulse/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/interaction-external-repulse", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles repulse external interaction", "homepage": "https://particles.js.org", "scripts": { @@ -95,8 +95,8 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/engine": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-interactivity": "workspace:4.0.0-beta.0" + "@tsparticles/engine": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-interactivity": "workspace:4.0.0-beta.1" }, "publishConfig": { "access": "public", diff --git a/interactions/external/slow/CHANGELOG.md b/interactions/external/slow/CHANGELOG.md index d78b843e7f1..3ba3006f458 100644 --- a/interactions/external/slow/CHANGELOG.md +++ b/interactions/external/slow/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/interaction-external-slow + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/interaction-external-slow diff --git a/interactions/external/slow/package.dist.json b/interactions/external/slow/package.dist.json index 2ca53dd61a9..bb14635c78b 100644 --- a/interactions/external/slow/package.dist.json +++ b/interactions/external/slow/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/interaction-external-slow", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles slow external interaction", "homepage": "https://particles.js.org", "repository": { @@ -87,8 +87,8 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/engine": "4.0.0-beta.0", - "@tsparticles/plugin-interactivity": "4.0.0-beta.0" + "@tsparticles/engine": "4.0.0-beta.1", + "@tsparticles/plugin-interactivity": "4.0.0-beta.1" }, "publishConfig": { "access": "public" diff --git a/interactions/external/slow/package.json b/interactions/external/slow/package.json index ba1e932248e..e8aa5b6d0f0 100644 --- a/interactions/external/slow/package.json +++ b/interactions/external/slow/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/interaction-external-slow", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles slow external interaction", "homepage": "https://particles.js.org", "scripts": { @@ -95,8 +95,8 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/engine": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-interactivity": "workspace:4.0.0-beta.0" + "@tsparticles/engine": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-interactivity": "workspace:4.0.0-beta.1" }, "publishConfig": { "access": "public", diff --git a/interactions/external/trail/CHANGELOG.md b/interactions/external/trail/CHANGELOG.md index 8e0ec39022b..08394c654b8 100644 --- a/interactions/external/trail/CHANGELOG.md +++ b/interactions/external/trail/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/interaction-external-trail + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/interaction-external-trail diff --git a/interactions/external/trail/package.dist.json b/interactions/external/trail/package.dist.json index 86682644688..f0ca9141995 100644 --- a/interactions/external/trail/package.dist.json +++ b/interactions/external/trail/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/interaction-external-trail", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles trail external interaction", "homepage": "https://particles.js.org", "repository": { @@ -87,8 +87,8 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/engine": "4.0.0-beta.0", - "@tsparticles/plugin-interactivity": "4.0.0-beta.0" + "@tsparticles/engine": "4.0.0-beta.1", + "@tsparticles/plugin-interactivity": "4.0.0-beta.1" }, "publishConfig": { "access": "public" diff --git a/interactions/external/trail/package.json b/interactions/external/trail/package.json index 9bfb2fe5e92..ae0210fdc83 100644 --- a/interactions/external/trail/package.json +++ b/interactions/external/trail/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/interaction-external-trail", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles trail external interaction", "homepage": "https://particles.js.org", "scripts": { @@ -67,8 +67,8 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/engine": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-interactivity": "workspace:4.0.0-beta.0" + "@tsparticles/engine": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-interactivity": "workspace:4.0.0-beta.1" }, "publishConfig": { "access": "public", diff --git a/interactions/light/CHANGELOG.md b/interactions/light/CHANGELOG.md index 07393218c44..d1379af0ca5 100644 --- a/interactions/light/CHANGELOG.md +++ b/interactions/light/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/interaction-light + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/interaction-light diff --git a/interactions/light/package.dist.json b/interactions/light/package.dist.json index cdd5b998d5d..fbd96ce9a75 100644 --- a/interactions/light/package.dist.json +++ b/interactions/light/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/interaction-light", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles Light interaction", "homepage": "https://particles.js.org", "repository": { @@ -101,8 +101,8 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/engine": "4.0.0-beta.0", - "@tsparticles/plugin-interactivity": "4.0.0-beta.0" + "@tsparticles/engine": "4.0.0-beta.1", + "@tsparticles/plugin-interactivity": "4.0.0-beta.1" }, "publishConfig": { "access": "public" diff --git a/interactions/light/package.json b/interactions/light/package.json index c612391a1bc..9b1a30ea15c 100644 --- a/interactions/light/package.json +++ b/interactions/light/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/interaction-light", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles Light interaction", "homepage": "https://particles.js.org", "scripts": { @@ -109,8 +109,8 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/engine": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-interactivity": "workspace:4.0.0-beta.0" + "@tsparticles/engine": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-interactivity": "workspace:4.0.0-beta.1" }, "publishConfig": { "access": "public", diff --git a/interactions/particles/attract/CHANGELOG.md b/interactions/particles/attract/CHANGELOG.md index f9e01bd5560..7003747122e 100644 --- a/interactions/particles/attract/CHANGELOG.md +++ b/interactions/particles/attract/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/interaction-particles-attract + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/interaction-particles-attract diff --git a/interactions/particles/attract/package.dist.json b/interactions/particles/attract/package.dist.json index c0232d7284f..654dde17dbf 100644 --- a/interactions/particles/attract/package.dist.json +++ b/interactions/particles/attract/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/interaction-particles-attract", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles attract particles interaction", "homepage": "https://particles.js.org", "repository": { @@ -87,8 +87,8 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/engine": "4.0.0-beta.0", - "@tsparticles/plugin-interactivity": "4.0.0-beta.0" + "@tsparticles/engine": "4.0.0-beta.1", + "@tsparticles/plugin-interactivity": "4.0.0-beta.1" }, "publishConfig": { "access": "public" diff --git a/interactions/particles/attract/package.json b/interactions/particles/attract/package.json index c9c76aa012d..12e0e478d88 100644 --- a/interactions/particles/attract/package.json +++ b/interactions/particles/attract/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/interaction-particles-attract", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles attract particles interaction", "homepage": "https://particles.js.org", "scripts": { @@ -95,8 +95,8 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/engine": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-interactivity": "workspace:4.0.0-beta.0" + "@tsparticles/engine": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-interactivity": "workspace:4.0.0-beta.1" }, "publishConfig": { "access": "public", diff --git a/interactions/particles/collisions/CHANGELOG.md b/interactions/particles/collisions/CHANGELOG.md index 5fdd163ac7a..b73990ab696 100644 --- a/interactions/particles/collisions/CHANGELOG.md +++ b/interactions/particles/collisions/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/interaction-particles-collisions + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/interaction-particles-collisions diff --git a/interactions/particles/collisions/package.dist.json b/interactions/particles/collisions/package.dist.json index 1ed7ecfdd19..8b9c29bad70 100644 --- a/interactions/particles/collisions/package.dist.json +++ b/interactions/particles/collisions/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/interaction-particles-collisions", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles collisions particles interaction", "homepage": "https://particles.js.org", "repository": { @@ -87,8 +87,8 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/engine": "4.0.0-beta.0", - "@tsparticles/plugin-interactivity": "4.0.0-beta.0" + "@tsparticles/engine": "4.0.0-beta.1", + "@tsparticles/plugin-interactivity": "4.0.0-beta.1" }, "publishConfig": { "access": "public" diff --git a/interactions/particles/collisions/package.json b/interactions/particles/collisions/package.json index 41f4b1944ac..9e492fc2ff2 100644 --- a/interactions/particles/collisions/package.json +++ b/interactions/particles/collisions/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/interaction-particles-collisions", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles collisions particles interaction", "homepage": "https://particles.js.org", "scripts": { @@ -95,8 +95,8 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/engine": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-interactivity": "workspace:4.0.0-beta.0" + "@tsparticles/engine": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-interactivity": "workspace:4.0.0-beta.1" }, "publishConfig": { "access": "public", diff --git a/interactions/particles/links/CHANGELOG.md b/interactions/particles/links/CHANGELOG.md index f83891509d1..b7e38d87875 100644 --- a/interactions/particles/links/CHANGELOG.md +++ b/interactions/particles/links/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/interaction-particles-links + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/interaction-particles-links diff --git a/interactions/particles/links/package.dist.json b/interactions/particles/links/package.dist.json index 37cac17939c..d8d5dab074c 100644 --- a/interactions/particles/links/package.dist.json +++ b/interactions/particles/links/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/interaction-particles-links", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles links particles interaction", "homepage": "https://particles.js.org", "repository": { @@ -87,9 +87,9 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/canvas-utils": "4.0.0-beta.0", - "@tsparticles/engine": "4.0.0-beta.0", - "@tsparticles/plugin-interactivity": "4.0.0-beta.0" + "@tsparticles/canvas-utils": "4.0.0-beta.1", + "@tsparticles/engine": "4.0.0-beta.1", + "@tsparticles/plugin-interactivity": "4.0.0-beta.1" }, "publishConfig": { "access": "public" diff --git a/interactions/particles/links/package.json b/interactions/particles/links/package.json index e52c5b7b505..6cc517f373c 100644 --- a/interactions/particles/links/package.json +++ b/interactions/particles/links/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/interaction-particles-links", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles links particles interaction", "homepage": "https://particles.js.org", "scripts": { @@ -95,9 +95,9 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/canvas-utils": "workspace:4.0.0-beta.0", - "@tsparticles/engine": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-interactivity": "workspace:4.0.0-beta.0" + "@tsparticles/canvas-utils": "workspace:4.0.0-beta.1", + "@tsparticles/engine": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-interactivity": "workspace:4.0.0-beta.1" }, "publishConfig": { "access": "public", diff --git a/interactions/particles/repulse/CHANGELOG.md b/interactions/particles/repulse/CHANGELOG.md index d7c7eb301db..2e6cb777636 100644 --- a/interactions/particles/repulse/CHANGELOG.md +++ b/interactions/particles/repulse/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/interaction-particles-repulse + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/interaction-particles-repulse diff --git a/interactions/particles/repulse/package.dist.json b/interactions/particles/repulse/package.dist.json index b1f5cea0324..66df140157d 100644 --- a/interactions/particles/repulse/package.dist.json +++ b/interactions/particles/repulse/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/interaction-particles-repulse", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles repulse particles interaction", "homepage": "https://particles.js.org", "repository": { @@ -101,8 +101,8 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/engine": "4.0.0-beta.0", - "@tsparticles/plugin-interactivity": "4.0.0-beta.0" + "@tsparticles/engine": "4.0.0-beta.1", + "@tsparticles/plugin-interactivity": "4.0.0-beta.1" }, "publishConfig": { "access": "public" diff --git a/interactions/particles/repulse/package.json b/interactions/particles/repulse/package.json index 941c794d355..01779753baf 100644 --- a/interactions/particles/repulse/package.json +++ b/interactions/particles/repulse/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/interaction-particles-repulse", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles repulse particles interaction", "homepage": "https://particles.js.org", "scripts": { @@ -109,8 +109,8 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/engine": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-interactivity": "workspace:4.0.0-beta.0" + "@tsparticles/engine": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-interactivity": "workspace:4.0.0-beta.1" }, "publishConfig": { "access": "public", diff --git a/lerna.json b/lerna.json index 50342361d09..5d64a0ef86b 100644 --- a/lerna.json +++ b/lerna.json @@ -1,5 +1,5 @@ { - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "npmClient": "pnpm", "conventionalCommits": true, "command": { diff --git a/paths/branches/CHANGELOG.md b/paths/branches/CHANGELOG.md index 5e5b0de969a..ec05789e6a1 100644 --- a/paths/branches/CHANGELOG.md +++ b/paths/branches/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/path-branches + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/path-branches diff --git a/paths/branches/package.dist.json b/paths/branches/package.dist.json index a374de533d5..ab2e982417a 100644 --- a/paths/branches/package.dist.json +++ b/paths/branches/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/path-branches", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles branches path", "homepage": "https://particles.js.org", "repository": { @@ -104,8 +104,8 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/engine": "4.0.0-beta.0", - "@tsparticles/plugin-move": "4.0.0-beta.0" + "@tsparticles/engine": "4.0.0-beta.1", + "@tsparticles/plugin-move": "4.0.0-beta.1" }, "type": "module" } diff --git a/paths/branches/package.json b/paths/branches/package.json index 2dba60b251c..677fe8ffddc 100644 --- a/paths/branches/package.json +++ b/paths/branches/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/path-branches", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles branches path", "homepage": "https://particles.js.org", "scripts": { @@ -109,8 +109,8 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/engine": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-move": "workspace:4.0.0-beta.0" + "@tsparticles/engine": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-move": "workspace:4.0.0-beta.1" }, "publishConfig": { "access": "public", diff --git a/paths/brownian/CHANGELOG.md b/paths/brownian/CHANGELOG.md index 6663d7b50ad..e935744e5ea 100644 --- a/paths/brownian/CHANGELOG.md +++ b/paths/brownian/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/path-brownian + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/path-brownian diff --git a/paths/brownian/package.dist.json b/paths/brownian/package.dist.json index f18910c1812..376c135a899 100644 --- a/paths/brownian/package.dist.json +++ b/paths/brownian/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/path-brownian", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles brownian path", "homepage": "https://particles.js.org", "repository": { @@ -104,8 +104,8 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/engine": "4.0.0-beta.0", - "@tsparticles/plugin-move": "4.0.0-beta.0" + "@tsparticles/engine": "4.0.0-beta.1", + "@tsparticles/plugin-move": "4.0.0-beta.1" }, "type": "module" } diff --git a/paths/brownian/package.json b/paths/brownian/package.json index fb7e151d3cd..f5915c88c35 100644 --- a/paths/brownian/package.json +++ b/paths/brownian/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/path-brownian", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles brownian path", "homepage": "https://particles.js.org", "scripts": { @@ -109,8 +109,8 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/engine": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-move": "workspace:4.0.0-beta.0" + "@tsparticles/engine": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-move": "workspace:4.0.0-beta.1" }, "publishConfig": { "access": "public", diff --git a/paths/curlNoise/CHANGELOG.md b/paths/curlNoise/CHANGELOG.md index 8620daefbf1..27eca73508a 100644 --- a/paths/curlNoise/CHANGELOG.md +++ b/paths/curlNoise/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/path-curl-noise + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/path-curl-noise diff --git a/paths/curlNoise/package.dist.json b/paths/curlNoise/package.dist.json index 893161a8052..f87701d551b 100644 --- a/paths/curlNoise/package.dist.json +++ b/paths/curlNoise/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/path-curl-noise", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles curl noise path", "homepage": "https://particles.js.org", "repository": { @@ -104,9 +104,9 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/engine": "4.0.0-beta.0", - "@tsparticles/plugin-move": "4.0.0-beta.0", - "@tsparticles/simplex-noise": "4.0.0-beta.0" + "@tsparticles/engine": "4.0.0-beta.1", + "@tsparticles/plugin-move": "4.0.0-beta.1", + "@tsparticles/simplex-noise": "4.0.0-beta.1" }, "type": "module" } diff --git a/paths/curlNoise/package.json b/paths/curlNoise/package.json index 945a32156e5..38101b0d650 100644 --- a/paths/curlNoise/package.json +++ b/paths/curlNoise/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/path-curl-noise", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles curl noise path", "homepage": "https://particles.js.org", "scripts": { @@ -95,9 +95,9 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/engine": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-move": "workspace:4.0.0-beta.0", - "@tsparticles/simplex-noise": "workspace:4.0.0-beta.0" + "@tsparticles/engine": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-move": "workspace:4.0.0-beta.1", + "@tsparticles/simplex-noise": "workspace:4.0.0-beta.1" }, "publishConfig": { "access": "public", diff --git a/paths/curves/CHANGELOG.md b/paths/curves/CHANGELOG.md index 556fbd52981..4182c412596 100644 --- a/paths/curves/CHANGELOG.md +++ b/paths/curves/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/path-curves + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/path-curves diff --git a/paths/curves/package.dist.json b/paths/curves/package.dist.json index 9e6afe1cc31..6841e894631 100644 --- a/paths/curves/package.dist.json +++ b/paths/curves/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/path-curves", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles curves path", "homepage": "https://particles.js.org", "repository": { @@ -104,8 +104,8 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/engine": "4.0.0-beta.0", - "@tsparticles/plugin-move": "4.0.0-beta.0" + "@tsparticles/engine": "4.0.0-beta.1", + "@tsparticles/plugin-move": "4.0.0-beta.1" }, "type": "module" } diff --git a/paths/curves/package.json b/paths/curves/package.json index ecbfef6d2b2..d3e54531d02 100644 --- a/paths/curves/package.json +++ b/paths/curves/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/path-curves", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles curves path", "homepage": "https://particles.js.org", "scripts": { @@ -109,8 +109,8 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/engine": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-move": "workspace:4.0.0-beta.0" + "@tsparticles/engine": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-move": "workspace:4.0.0-beta.1" }, "publishConfig": { "access": "public", diff --git a/paths/fractalNoise/CHANGELOG.md b/paths/fractalNoise/CHANGELOG.md index 6663c24b4b1..f0e250c1997 100644 --- a/paths/fractalNoise/CHANGELOG.md +++ b/paths/fractalNoise/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/path-fractal-noise + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/path-fractal-noise diff --git a/paths/fractalNoise/package.dist.json b/paths/fractalNoise/package.dist.json index a040b164b03..505114c328f 100644 --- a/paths/fractalNoise/package.dist.json +++ b/paths/fractalNoise/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/path-fractal-noise", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles fractal noise path", "homepage": "https://particles.js.org", "repository": { @@ -104,10 +104,10 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/engine": "4.0.0-beta.0", - "@tsparticles/fractal-noise": "4.0.0-beta.0", - "@tsparticles/noise-field": "4.0.0-beta.0", - "@tsparticles/plugin-move": "4.0.0-beta.0" + "@tsparticles/engine": "4.0.0-beta.1", + "@tsparticles/fractal-noise": "4.0.0-beta.1", + "@tsparticles/noise-field": "4.0.0-beta.1", + "@tsparticles/plugin-move": "4.0.0-beta.1" }, "type": "module" } diff --git a/paths/fractalNoise/package.json b/paths/fractalNoise/package.json index b12e90fa5d4..73ff58df143 100644 --- a/paths/fractalNoise/package.json +++ b/paths/fractalNoise/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/path-fractal-noise", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles fractal noise path", "homepage": "https://particles.js.org", "scripts": { @@ -109,10 +109,10 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/engine": "workspace:4.0.0-beta.0", - "@tsparticles/fractal-noise": "workspace:4.0.0-beta.0", - "@tsparticles/noise-field": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-move": "workspace:4.0.0-beta.0" + "@tsparticles/engine": "workspace:4.0.0-beta.1", + "@tsparticles/fractal-noise": "workspace:4.0.0-beta.1", + "@tsparticles/noise-field": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-move": "workspace:4.0.0-beta.1" }, "publishConfig": { "access": "public", diff --git a/paths/grid/CHANGELOG.md b/paths/grid/CHANGELOG.md index 51cf752f213..1d1b1fb802e 100644 --- a/paths/grid/CHANGELOG.md +++ b/paths/grid/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/path-grid + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/path-grid diff --git a/paths/grid/package.dist.json b/paths/grid/package.dist.json index 89d60d61a80..9c143328b58 100644 --- a/paths/grid/package.dist.json +++ b/paths/grid/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/path-grid", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles grid path", "homepage": "https://particles.js.org", "repository": { @@ -104,8 +104,8 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/engine": "4.0.0-beta.0", - "@tsparticles/plugin-move": "4.0.0-beta.0" + "@tsparticles/engine": "4.0.0-beta.1", + "@tsparticles/plugin-move": "4.0.0-beta.1" }, "type": "module" } diff --git a/paths/grid/package.json b/paths/grid/package.json index 9efbe1bdc34..409a12d88f3 100644 --- a/paths/grid/package.json +++ b/paths/grid/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/path-grid", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles grid path", "homepage": "https://particles.js.org", "scripts": { @@ -109,8 +109,8 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/engine": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-move": "workspace:4.0.0-beta.0" + "@tsparticles/engine": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-move": "workspace:4.0.0-beta.1" }, "publishConfig": { "access": "public", diff --git a/paths/levy/CHANGELOG.md b/paths/levy/CHANGELOG.md index fb4a1b87312..f02ad5e42c9 100644 --- a/paths/levy/CHANGELOG.md +++ b/paths/levy/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/path-levy + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/path-levy diff --git a/paths/levy/package.dist.json b/paths/levy/package.dist.json index c43761900a5..664507feb8f 100644 --- a/paths/levy/package.dist.json +++ b/paths/levy/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/path-levy", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles levy path", "homepage": "https://particles.js.org", "repository": { @@ -104,8 +104,8 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/engine": "4.0.0-beta.0", - "@tsparticles/plugin-move": "4.0.0-beta.0" + "@tsparticles/engine": "4.0.0-beta.1", + "@tsparticles/plugin-move": "4.0.0-beta.1" }, "type": "module" } diff --git a/paths/levy/package.json b/paths/levy/package.json index 0626f82131c..fc60b3fe20b 100644 --- a/paths/levy/package.json +++ b/paths/levy/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/path-levy", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles levy path", "homepage": "https://particles.js.org", "scripts": { @@ -109,8 +109,8 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/engine": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-move": "workspace:4.0.0-beta.0" + "@tsparticles/engine": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-move": "workspace:4.0.0-beta.1" }, "publishConfig": { "access": "public", diff --git a/paths/perlinNoise/CHANGELOG.md b/paths/perlinNoise/CHANGELOG.md index fe4476d5d9f..2fff8bef0c2 100644 --- a/paths/perlinNoise/CHANGELOG.md +++ b/paths/perlinNoise/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/path-perlin-noise + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/path-perlin-noise diff --git a/paths/perlinNoise/package.dist.json b/paths/perlinNoise/package.dist.json index a5e68f743c1..208881e5680 100644 --- a/paths/perlinNoise/package.dist.json +++ b/paths/perlinNoise/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/path-perlin-noise", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles perlin noise path", "homepage": "https://particles.js.org", "repository": { @@ -104,10 +104,10 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/engine": "4.0.0-beta.0", - "@tsparticles/noise-field": "4.0.0-beta.0", - "@tsparticles/perlin-noise": "4.0.0-beta.0", - "@tsparticles/plugin-move": "4.0.0-beta.0" + "@tsparticles/engine": "4.0.0-beta.1", + "@tsparticles/noise-field": "4.0.0-beta.1", + "@tsparticles/perlin-noise": "4.0.0-beta.1", + "@tsparticles/plugin-move": "4.0.0-beta.1" }, "type": "module" } diff --git a/paths/perlinNoise/package.json b/paths/perlinNoise/package.json index 0e5752df287..bb484c043af 100644 --- a/paths/perlinNoise/package.json +++ b/paths/perlinNoise/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/path-perlin-noise", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles perlin noise path", "homepage": "https://particles.js.org", "scripts": { @@ -109,10 +109,10 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/engine": "workspace:4.0.0-beta.0", - "@tsparticles/noise-field": "workspace:4.0.0-beta.0", - "@tsparticles/perlin-noise": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-move": "workspace:4.0.0-beta.0" + "@tsparticles/engine": "workspace:4.0.0-beta.1", + "@tsparticles/noise-field": "workspace:4.0.0-beta.1", + "@tsparticles/perlin-noise": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-move": "workspace:4.0.0-beta.1" }, "publishConfig": { "access": "public", diff --git a/paths/polygon/CHANGELOG.md b/paths/polygon/CHANGELOG.md index 8d55a64e50b..1cf2ba7b57c 100644 --- a/paths/polygon/CHANGELOG.md +++ b/paths/polygon/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/path-polygon + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/path-polygon diff --git a/paths/polygon/package.dist.json b/paths/polygon/package.dist.json index 05fdf006e4c..cd8c709cbbd 100644 --- a/paths/polygon/package.dist.json +++ b/paths/polygon/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/path-polygon", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles polygon path", "homepage": "https://particles.js.org", "repository": { @@ -104,8 +104,8 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/engine": "4.0.0-beta.0", - "@tsparticles/plugin-move": "4.0.0-beta.0" + "@tsparticles/engine": "4.0.0-beta.1", + "@tsparticles/plugin-move": "4.0.0-beta.1" }, "type": "module" } diff --git a/paths/polygon/package.json b/paths/polygon/package.json index c978523119d..dc5c4bf93e1 100644 --- a/paths/polygon/package.json +++ b/paths/polygon/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/path-polygon", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles polygon path", "homepage": "https://particles.js.org", "scripts": { @@ -109,8 +109,8 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/engine": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-move": "workspace:4.0.0-beta.0" + "@tsparticles/engine": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-move": "workspace:4.0.0-beta.1" }, "publishConfig": { "access": "public", diff --git a/paths/random/CHANGELOG.md b/paths/random/CHANGELOG.md index a6414d822c1..f6259f943a6 100644 --- a/paths/random/CHANGELOG.md +++ b/paths/random/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/path-random + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/path-random diff --git a/paths/random/package.dist.json b/paths/random/package.dist.json index aa87eab7bfe..15478f71c2e 100644 --- a/paths/random/package.dist.json +++ b/paths/random/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/path-random", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles zig zag path", "homepage": "https://particles.js.org", "repository": { @@ -101,8 +101,8 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/engine": "4.0.0-beta.0", - "@tsparticles/plugin-move": "4.0.0-beta.0" + "@tsparticles/engine": "4.0.0-beta.1", + "@tsparticles/plugin-move": "4.0.0-beta.1" }, "publishConfig": { "access": "public" diff --git a/paths/random/package.json b/paths/random/package.json index 369aa684a48..21edad90be4 100644 --- a/paths/random/package.json +++ b/paths/random/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/path-random", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles zig zag path", "homepage": "https://particles.js.org", "scripts": { @@ -109,8 +109,8 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/engine": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-move": "workspace:4.0.0-beta.0" + "@tsparticles/engine": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-move": "workspace:4.0.0-beta.1" }, "publishConfig": { "access": "public", diff --git a/paths/simplexNoise/CHANGELOG.md b/paths/simplexNoise/CHANGELOG.md index 351adca6708..fc85ff42b84 100644 --- a/paths/simplexNoise/CHANGELOG.md +++ b/paths/simplexNoise/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/path-simplex-noise + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/path-simplex-noise diff --git a/paths/simplexNoise/package.dist.json b/paths/simplexNoise/package.dist.json index c6b06eb2408..bb8ed89c555 100644 --- a/paths/simplexNoise/package.dist.json +++ b/paths/simplexNoise/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/path-simplex-noise", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles simplex noise path", "homepage": "https://particles.js.org", "repository": { @@ -104,10 +104,10 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/engine": "4.0.0-beta.0", - "@tsparticles/noise-field": "4.0.0-beta.0", - "@tsparticles/plugin-move": "4.0.0-beta.0", - "@tsparticles/simplex-noise": "4.0.0-beta.0" + "@tsparticles/engine": "4.0.0-beta.1", + "@tsparticles/noise-field": "4.0.0-beta.1", + "@tsparticles/plugin-move": "4.0.0-beta.1", + "@tsparticles/simplex-noise": "4.0.0-beta.1" }, "type": "module" } diff --git a/paths/simplexNoise/package.json b/paths/simplexNoise/package.json index 1b2b521d14d..52b080dcbb4 100644 --- a/paths/simplexNoise/package.json +++ b/paths/simplexNoise/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/path-simplex-noise", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles simplex noise path", "homepage": "https://particles.js.org", "scripts": { @@ -95,10 +95,10 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/engine": "workspace:4.0.0-beta.0", - "@tsparticles/noise-field": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-move": "workspace:4.0.0-beta.0", - "@tsparticles/simplex-noise": "workspace:4.0.0-beta.0" + "@tsparticles/engine": "workspace:4.0.0-beta.1", + "@tsparticles/noise-field": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-move": "workspace:4.0.0-beta.1", + "@tsparticles/simplex-noise": "workspace:4.0.0-beta.1" }, "publishConfig": { "access": "public", diff --git a/paths/spiral/CHANGELOG.md b/paths/spiral/CHANGELOG.md index f498300149f..3a6a4f4b216 100644 --- a/paths/spiral/CHANGELOG.md +++ b/paths/spiral/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/path-spiral + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/path-spiral diff --git a/paths/spiral/package.dist.json b/paths/spiral/package.dist.json index 33bc92cf561..6558422115d 100644 --- a/paths/spiral/package.dist.json +++ b/paths/spiral/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/path-spiral", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles spiral path", "homepage": "https://particles.js.org", "repository": { @@ -104,8 +104,8 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/engine": "4.0.0-beta.0", - "@tsparticles/plugin-move": "4.0.0-beta.0" + "@tsparticles/engine": "4.0.0-beta.1", + "@tsparticles/plugin-move": "4.0.0-beta.1" }, "type": "module" } diff --git a/paths/spiral/package.json b/paths/spiral/package.json index 2c4c5f2036c..d7b52a0f9b8 100644 --- a/paths/spiral/package.json +++ b/paths/spiral/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/path-spiral", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles spiral path", "homepage": "https://particles.js.org", "scripts": { @@ -109,8 +109,8 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/engine": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-move": "workspace:4.0.0-beta.0" + "@tsparticles/engine": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-move": "workspace:4.0.0-beta.1" }, "publishConfig": { "access": "public", diff --git a/paths/svg/CHANGELOG.md b/paths/svg/CHANGELOG.md index e2e64fd61e6..61ca731b918 100644 --- a/paths/svg/CHANGELOG.md +++ b/paths/svg/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/path-svg + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/path-svg diff --git a/paths/svg/package.dist.json b/paths/svg/package.dist.json index 0758e2cc9d2..7f405fe5e80 100644 --- a/paths/svg/package.dist.json +++ b/paths/svg/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/path-svg", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles svg path", "homepage": "https://particles.js.org", "repository": { @@ -101,8 +101,8 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/engine": "4.0.0-beta.0", - "@tsparticles/plugin-move": "4.0.0-beta.0" + "@tsparticles/engine": "4.0.0-beta.1", + "@tsparticles/plugin-move": "4.0.0-beta.1" }, "publishConfig": { "access": "public" diff --git a/paths/svg/package.json b/paths/svg/package.json index fab727ff356..a5b94644856 100644 --- a/paths/svg/package.json +++ b/paths/svg/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/path-svg", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles svg path", "homepage": "https://particles.js.org", "scripts": { @@ -109,8 +109,8 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/engine": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-move": "workspace:4.0.0-beta.0" + "@tsparticles/engine": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-move": "workspace:4.0.0-beta.1" }, "publishConfig": { "access": "public", diff --git a/paths/zigzag/CHANGELOG.md b/paths/zigzag/CHANGELOG.md index 77056543f9a..560e8286381 100644 --- a/paths/zigzag/CHANGELOG.md +++ b/paths/zigzag/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/path-zig-zag + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/path-zig-zag diff --git a/paths/zigzag/package.dist.json b/paths/zigzag/package.dist.json index 6e6ee91a93d..d18a4609a14 100644 --- a/paths/zigzag/package.dist.json +++ b/paths/zigzag/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/path-zig-zag", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles zig zag path", "homepage": "https://particles.js.org", "repository": { @@ -101,8 +101,8 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/engine": "4.0.0-beta.0", - "@tsparticles/plugin-move": "4.0.0-beta.0" + "@tsparticles/engine": "4.0.0-beta.1", + "@tsparticles/plugin-move": "4.0.0-beta.1" }, "publishConfig": { "access": "public" diff --git a/paths/zigzag/package.json b/paths/zigzag/package.json index 0718581a17b..f99b9b94e97 100644 --- a/paths/zigzag/package.json +++ b/paths/zigzag/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/path-zig-zag", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles zig zag path", "homepage": "https://particles.js.org", "scripts": { @@ -109,8 +109,8 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/engine": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-move": "workspace:4.0.0-beta.0" + "@tsparticles/engine": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-move": "workspace:4.0.0-beta.1" }, "publishConfig": { "access": "public", diff --git a/plugins/absorbers/CHANGELOG.md b/plugins/absorbers/CHANGELOG.md index a6dc6f97d5d..21892484dc3 100644 --- a/plugins/absorbers/CHANGELOG.md +++ b/plugins/absorbers/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/plugin-absorbers + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/plugin-absorbers diff --git a/plugins/absorbers/package.dist.json b/plugins/absorbers/package.dist.json index 3b08f14f7b4..01817af47f5 100644 --- a/plugins/absorbers/package.dist.json +++ b/plugins/absorbers/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/plugin-absorbers", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles absorbers plugin", "homepage": "https://particles.js.org", "repository": { @@ -86,8 +86,8 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/engine": "4.0.0-beta.0", - "@tsparticles/plugin-interactivity": "4.0.0-beta.0" + "@tsparticles/engine": "4.0.0-beta.1", + "@tsparticles/plugin-interactivity": "4.0.0-beta.1" }, "publishConfig": { "access": "public" diff --git a/plugins/absorbers/package.json b/plugins/absorbers/package.json index 846c7bc88c5..1d4108c78b3 100644 --- a/plugins/absorbers/package.json +++ b/plugins/absorbers/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/plugin-absorbers", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles absorbers plugin", "homepage": "https://particles.js.org", "scripts": { @@ -94,8 +94,8 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/engine": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-interactivity": "workspace:4.0.0-beta.0" + "@tsparticles/engine": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-interactivity": "workspace:4.0.0-beta.1" }, "publishConfig": { "access": "public", diff --git a/plugins/backgroundMask/CHANGELOG.md b/plugins/backgroundMask/CHANGELOG.md index 6afda33fd82..e772650c374 100644 --- a/plugins/backgroundMask/CHANGELOG.md +++ b/plugins/backgroundMask/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/plugin-background-mask + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/plugin-background-mask diff --git a/plugins/backgroundMask/package.dist.json b/plugins/backgroundMask/package.dist.json index eb7a2a8aa2e..e97f5222ffe 100644 --- a/plugins/backgroundMask/package.dist.json +++ b/plugins/backgroundMask/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/plugin-background-mask", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles background mask plugin", "homepage": "https://particles.js.org", "repository": { @@ -86,7 +86,7 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/engine": "4.0.0-beta.0" + "@tsparticles/engine": "4.0.0-beta.1" }, "publishConfig": { "access": "public" diff --git a/plugins/backgroundMask/package.json b/plugins/backgroundMask/package.json index 4a4f82e8a0d..15fc407a811 100644 --- a/plugins/backgroundMask/package.json +++ b/plugins/backgroundMask/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/plugin-background-mask", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles background mask plugin", "homepage": "https://particles.js.org", "scripts": { @@ -94,7 +94,7 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/engine": "workspace:4.0.0-beta.0" + "@tsparticles/engine": "workspace:4.0.0-beta.1" }, "publishConfig": { "access": "public", diff --git a/plugins/blend/CHANGELOG.md b/plugins/blend/CHANGELOG.md index 575dbcd0e11..ef3338d270f 100644 --- a/plugins/blend/CHANGELOG.md +++ b/plugins/blend/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/plugin-blend + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/plugin-blend diff --git a/plugins/blend/package.dist.json b/plugins/blend/package.dist.json index 26e5bf86c46..884e592dd24 100644 --- a/plugins/blend/package.dist.json +++ b/plugins/blend/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/plugin-blend", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles blend plugin", "homepage": "https://particles.js.org", "repository": { @@ -86,7 +86,7 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/engine": "4.0.0-beta.0" + "@tsparticles/engine": "4.0.0-beta.1" }, "publishConfig": { "access": "public" diff --git a/plugins/blend/package.json b/plugins/blend/package.json index 543af026fc8..5c1eafc6425 100644 --- a/plugins/blend/package.json +++ b/plugins/blend/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/plugin-blend", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles blend plugin", "homepage": "https://particles.js.org", "scripts": { @@ -94,7 +94,7 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/engine": "workspace:4.0.0-beta.0" + "@tsparticles/engine": "workspace:4.0.0-beta.1" }, "publishConfig": { "access": "public", diff --git a/plugins/canvasMask/CHANGELOG.md b/plugins/canvasMask/CHANGELOG.md index f5a4c995df6..825cb56f0fa 100644 --- a/plugins/canvasMask/CHANGELOG.md +++ b/plugins/canvasMask/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/plugin-canvas-mask + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/plugin-canvas-mask diff --git a/plugins/canvasMask/package.dist.json b/plugins/canvasMask/package.dist.json index 0a00880ed37..8e258eef2a2 100644 --- a/plugins/canvasMask/package.dist.json +++ b/plugins/canvasMask/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/plugin-canvas-mask", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles canvas mask plugin", "homepage": "https://particles.js.org", "repository": { @@ -86,8 +86,8 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/canvas-utils": "4.0.0-beta.0", - "@tsparticles/engine": "4.0.0-beta.0" + "@tsparticles/canvas-utils": "4.0.0-beta.1", + "@tsparticles/engine": "4.0.0-beta.1" }, "publishConfig": { "access": "public" diff --git a/plugins/canvasMask/package.json b/plugins/canvasMask/package.json index 300a756c96a..7e8352b7036 100644 --- a/plugins/canvasMask/package.json +++ b/plugins/canvasMask/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/plugin-canvas-mask", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles canvas mask plugin", "homepage": "https://particles.js.org", "scripts": { @@ -94,8 +94,8 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/canvas-utils": "workspace:4.0.0-beta.0", - "@tsparticles/engine": "workspace:4.0.0-beta.0" + "@tsparticles/canvas-utils": "workspace:4.0.0-beta.1", + "@tsparticles/engine": "workspace:4.0.0-beta.1" }, "publishConfig": { "access": "public", diff --git a/plugins/colors/hex/CHANGELOG.md b/plugins/colors/hex/CHANGELOG.md index d5f2697e297..e5f9c21b673 100644 --- a/plugins/colors/hex/CHANGELOG.md +++ b/plugins/colors/hex/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/plugin-hex-color + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/plugin-hex-color diff --git a/plugins/colors/hex/package.dist.json b/plugins/colors/hex/package.dist.json index 191156c7bc3..87ed37cff7a 100644 --- a/plugins/colors/hex/package.dist.json +++ b/plugins/colors/hex/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/plugin-hex-color", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles hex color plugin", "homepage": "https://particles.js.org", "repository": { @@ -100,7 +100,7 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/engine": "4.0.0-beta.0" + "@tsparticles/engine": "4.0.0-beta.1" }, "publishConfig": { "access": "public" diff --git a/plugins/colors/hex/package.json b/plugins/colors/hex/package.json index 6afda7f2c12..2ac6021cdd5 100644 --- a/plugins/colors/hex/package.json +++ b/plugins/colors/hex/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/plugin-hex-color", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles hex color plugin", "homepage": "https://particles.js.org", "scripts": { @@ -108,7 +108,7 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/engine": "workspace:4.0.0-beta.0" + "@tsparticles/engine": "workspace:4.0.0-beta.1" }, "publishConfig": { "access": "public", diff --git a/plugins/colors/hsl/CHANGELOG.md b/plugins/colors/hsl/CHANGELOG.md index 58f09611da3..f94271a4375 100644 --- a/plugins/colors/hsl/CHANGELOG.md +++ b/plugins/colors/hsl/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/plugin-hsl-color + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/plugin-hsl-color diff --git a/plugins/colors/hsl/package.dist.json b/plugins/colors/hsl/package.dist.json index 2f6c05f2273..8e1c8680956 100644 --- a/plugins/colors/hsl/package.dist.json +++ b/plugins/colors/hsl/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/plugin-hsl-color", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles HSL color plugin", "homepage": "https://particles.js.org", "repository": { @@ -100,7 +100,7 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/engine": "4.0.0-beta.0" + "@tsparticles/engine": "4.0.0-beta.1" }, "publishConfig": { "access": "public" diff --git a/plugins/colors/hsl/package.json b/plugins/colors/hsl/package.json index acb368e22cf..a2f5a41a914 100644 --- a/plugins/colors/hsl/package.json +++ b/plugins/colors/hsl/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/plugin-hsl-color", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles HSL color plugin", "homepage": "https://particles.js.org", "scripts": { @@ -108,7 +108,7 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/engine": "workspace:4.0.0-beta.0" + "@tsparticles/engine": "workspace:4.0.0-beta.1" }, "publishConfig": { "access": "public", diff --git a/plugins/colors/hsv/CHANGELOG.md b/plugins/colors/hsv/CHANGELOG.md index a9521125567..5170a41f020 100644 --- a/plugins/colors/hsv/CHANGELOG.md +++ b/plugins/colors/hsv/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/plugin-hsv-color + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/plugin-hsv-color diff --git a/plugins/colors/hsv/package.dist.json b/plugins/colors/hsv/package.dist.json index a94e035aaf1..5128e49ffc8 100644 --- a/plugins/colors/hsv/package.dist.json +++ b/plugins/colors/hsv/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/plugin-hsv-color", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles HSV color plugin", "homepage": "https://particles.js.org", "repository": { @@ -100,7 +100,7 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/engine": "4.0.0-beta.0" + "@tsparticles/engine": "4.0.0-beta.1" }, "publishConfig": { "access": "public" diff --git a/plugins/colors/hsv/package.json b/plugins/colors/hsv/package.json index 7387919a86d..e3b629a048f 100644 --- a/plugins/colors/hsv/package.json +++ b/plugins/colors/hsv/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/plugin-hsv-color", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles HSV color plugin", "homepage": "https://particles.js.org", "scripts": { @@ -108,7 +108,7 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/engine": "workspace:4.0.0-beta.0" + "@tsparticles/engine": "workspace:4.0.0-beta.1" }, "publishConfig": { "access": "public", diff --git a/plugins/colors/hwb/CHANGELOG.md b/plugins/colors/hwb/CHANGELOG.md index 68bb69af56f..aadc0273e70 100644 --- a/plugins/colors/hwb/CHANGELOG.md +++ b/plugins/colors/hwb/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/plugin-hwb-color + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/plugin-hwb-color diff --git a/plugins/colors/hwb/package.dist.json b/plugins/colors/hwb/package.dist.json index 5ac172fbd52..a0691d605f4 100644 --- a/plugins/colors/hwb/package.dist.json +++ b/plugins/colors/hwb/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/plugin-hwb-color", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles HWB color plugin", "homepage": "https://particles.js.org", "repository": { @@ -100,7 +100,7 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/engine": "4.0.0-beta.0" + "@tsparticles/engine": "4.0.0-beta.1" }, "publishConfig": { "access": "public" diff --git a/plugins/colors/hwb/package.json b/plugins/colors/hwb/package.json index 570c7441210..f3a8d58ffd6 100644 --- a/plugins/colors/hwb/package.json +++ b/plugins/colors/hwb/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/plugin-hwb-color", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles HWB color plugin", "homepage": "https://particles.js.org", "scripts": { @@ -108,7 +108,7 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/engine": "workspace:4.0.0-beta.0" + "@tsparticles/engine": "workspace:4.0.0-beta.1" }, "publishConfig": { "access": "public", diff --git a/plugins/colors/lab/CHANGELOG.md b/plugins/colors/lab/CHANGELOG.md index f6d447a06b7..4079dbf5c2d 100644 --- a/plugins/colors/lab/CHANGELOG.md +++ b/plugins/colors/lab/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/plugin-lab-color + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/plugin-lab-color diff --git a/plugins/colors/lab/package.dist.json b/plugins/colors/lab/package.dist.json index f148e710e44..31574230e12 100644 --- a/plugins/colors/lab/package.dist.json +++ b/plugins/colors/lab/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/plugin-lab-color", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles LAB color plugin", "homepage": "https://particles.js.org", "repository": { @@ -100,7 +100,7 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/engine": "4.0.0-beta.0" + "@tsparticles/engine": "4.0.0-beta.1" }, "publishConfig": { "access": "public" diff --git a/plugins/colors/lab/package.json b/plugins/colors/lab/package.json index 4eb5e194fcd..a7b8afbab53 100644 --- a/plugins/colors/lab/package.json +++ b/plugins/colors/lab/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/plugin-lab-color", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles LAB color plugin", "homepage": "https://particles.js.org", "scripts": { @@ -108,7 +108,7 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/engine": "workspace:4.0.0-beta.0" + "@tsparticles/engine": "workspace:4.0.0-beta.1" }, "publishConfig": { "access": "public", diff --git a/plugins/colors/lch/CHANGELOG.md b/plugins/colors/lch/CHANGELOG.md index 9eecfd18df1..01b301c2c35 100644 --- a/plugins/colors/lch/CHANGELOG.md +++ b/plugins/colors/lch/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/plugin-lch-color + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/plugin-lch-color diff --git a/plugins/colors/lch/package.dist.json b/plugins/colors/lch/package.dist.json index ae8fa0e950d..87135b0f3f6 100644 --- a/plugins/colors/lch/package.dist.json +++ b/plugins/colors/lch/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/plugin-lch-color", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles LCH color plugin", "homepage": "https://particles.js.org", "repository": { @@ -100,7 +100,7 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/engine": "4.0.0-beta.0" + "@tsparticles/engine": "4.0.0-beta.1" }, "publishConfig": { "access": "public" diff --git a/plugins/colors/lch/package.json b/plugins/colors/lch/package.json index 123f9e11c5a..77300babb9c 100644 --- a/plugins/colors/lch/package.json +++ b/plugins/colors/lch/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/plugin-lch-color", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles LCH color plugin", "homepage": "https://particles.js.org", "scripts": { @@ -108,7 +108,7 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/engine": "workspace:4.0.0-beta.0" + "@tsparticles/engine": "workspace:4.0.0-beta.1" }, "publishConfig": { "access": "public", diff --git a/plugins/colors/named/CHANGELOG.md b/plugins/colors/named/CHANGELOG.md index e8fcde0fb74..632e03e49f1 100644 --- a/plugins/colors/named/CHANGELOG.md +++ b/plugins/colors/named/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/plugin-named-color + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/plugin-named-color diff --git a/plugins/colors/named/package.dist.json b/plugins/colors/named/package.dist.json index 2422cf4b09d..156b616f4b3 100644 --- a/plugins/colors/named/package.dist.json +++ b/plugins/colors/named/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/plugin-named-color", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles named color plugin", "homepage": "https://particles.js.org", "repository": { @@ -100,7 +100,7 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/engine": "4.0.0-beta.0" + "@tsparticles/engine": "4.0.0-beta.1" }, "publishConfig": { "access": "public" diff --git a/plugins/colors/named/package.json b/plugins/colors/named/package.json index f533b76d978..5f8afc67485 100644 --- a/plugins/colors/named/package.json +++ b/plugins/colors/named/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/plugin-named-color", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles named color plugin", "homepage": "https://particles.js.org", "scripts": { @@ -108,7 +108,7 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/engine": "workspace:4.0.0-beta.0" + "@tsparticles/engine": "workspace:4.0.0-beta.1" }, "publishConfig": { "access": "public", diff --git a/plugins/colors/oklab/CHANGELOG.md b/plugins/colors/oklab/CHANGELOG.md index 757dfe4a8b2..00ac83a7401 100644 --- a/plugins/colors/oklab/CHANGELOG.md +++ b/plugins/colors/oklab/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/plugin-oklab-color + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/plugin-oklab-color diff --git a/plugins/colors/oklab/package.dist.json b/plugins/colors/oklab/package.dist.json index 5f06469aa77..9067b062272 100644 --- a/plugins/colors/oklab/package.dist.json +++ b/plugins/colors/oklab/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/plugin-oklab-color", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles OKLAB color plugin", "homepage": "https://particles.js.org", "repository": { @@ -100,7 +100,7 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/engine": "4.0.0-beta.0" + "@tsparticles/engine": "4.0.0-beta.1" }, "publishConfig": { "access": "public" diff --git a/plugins/colors/oklab/package.json b/plugins/colors/oklab/package.json index 55148d064a7..0d6ef5e99a1 100644 --- a/plugins/colors/oklab/package.json +++ b/plugins/colors/oklab/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/plugin-oklab-color", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles OKLAB color plugin", "homepage": "https://particles.js.org", "scripts": { @@ -108,7 +108,7 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/engine": "workspace:4.0.0-beta.0" + "@tsparticles/engine": "workspace:4.0.0-beta.1" }, "publishConfig": { "access": "public", diff --git a/plugins/colors/oklch/CHANGELOG.md b/plugins/colors/oklch/CHANGELOG.md index 255d16570ae..2dc1aad7e97 100644 --- a/plugins/colors/oklch/CHANGELOG.md +++ b/plugins/colors/oklch/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/plugin-oklch-color + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/plugin-oklch-color diff --git a/plugins/colors/oklch/package.dist.json b/plugins/colors/oklch/package.dist.json index 07a996dc18d..c6608f9b2ef 100644 --- a/plugins/colors/oklch/package.dist.json +++ b/plugins/colors/oklch/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/plugin-oklch-color", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles OKLCH color plugin", "homepage": "https://particles.js.org", "repository": { @@ -100,7 +100,7 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/engine": "4.0.0-beta.0" + "@tsparticles/engine": "4.0.0-beta.1" }, "publishConfig": { "access": "public" diff --git a/plugins/colors/oklch/package.json b/plugins/colors/oklch/package.json index ec47b1c0568..70c78d7972e 100644 --- a/plugins/colors/oklch/package.json +++ b/plugins/colors/oklch/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/plugin-oklch-color", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles OKLCH color plugin", "homepage": "https://particles.js.org", "scripts": { @@ -108,7 +108,7 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/engine": "workspace:4.0.0-beta.0" + "@tsparticles/engine": "workspace:4.0.0-beta.1" }, "publishConfig": { "access": "public", diff --git a/plugins/colors/rgb/CHANGELOG.md b/plugins/colors/rgb/CHANGELOG.md index 66c4acc33b9..7d6aced13cb 100644 --- a/plugins/colors/rgb/CHANGELOG.md +++ b/plugins/colors/rgb/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/plugin-rgb-color + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/plugin-rgb-color diff --git a/plugins/colors/rgb/package.dist.json b/plugins/colors/rgb/package.dist.json index 3bb25cd16d3..4a411ba1d6b 100644 --- a/plugins/colors/rgb/package.dist.json +++ b/plugins/colors/rgb/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/plugin-rgb-color", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles RGB color plugin", "homepage": "https://particles.js.org", "repository": { @@ -100,7 +100,7 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/engine": "4.0.0-beta.0" + "@tsparticles/engine": "4.0.0-beta.1" }, "publishConfig": { "access": "public" diff --git a/plugins/colors/rgb/package.json b/plugins/colors/rgb/package.json index ae6e38c641f..08398614486 100644 --- a/plugins/colors/rgb/package.json +++ b/plugins/colors/rgb/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/plugin-rgb-color", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles RGB color plugin", "homepage": "https://particles.js.org", "scripts": { @@ -108,7 +108,7 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/engine": "workspace:4.0.0-beta.0" + "@tsparticles/engine": "workspace:4.0.0-beta.1" }, "publishConfig": { "access": "public", diff --git a/plugins/easings/back/CHANGELOG.md b/plugins/easings/back/CHANGELOG.md index 73d177d4f97..8625a988817 100644 --- a/plugins/easings/back/CHANGELOG.md +++ b/plugins/easings/back/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/plugin-easing-back + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/plugin-easing-back diff --git a/plugins/easings/back/package.dist.json b/plugins/easings/back/package.dist.json index e2353df8c73..7051b96bd45 100644 --- a/plugins/easings/back/package.dist.json +++ b/plugins/easings/back/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/plugin-easing-back", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles easing back plugin", "homepage": "https://particles.js.org", "repository": { @@ -100,7 +100,7 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/engine": "4.0.0-beta.0" + "@tsparticles/engine": "4.0.0-beta.1" }, "publishConfig": { "access": "public" diff --git a/plugins/easings/back/package.json b/plugins/easings/back/package.json index fa05a8ada0b..14980ebfd35 100644 --- a/plugins/easings/back/package.json +++ b/plugins/easings/back/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/plugin-easing-back", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles easing back plugin", "homepage": "https://particles.js.org", "scripts": { @@ -108,7 +108,7 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/engine": "workspace:4.0.0-beta.0" + "@tsparticles/engine": "workspace:4.0.0-beta.1" }, "publishConfig": { "access": "public", diff --git a/plugins/easings/bounce/CHANGELOG.md b/plugins/easings/bounce/CHANGELOG.md index 7a712d7cfd6..b4976ee3acf 100644 --- a/plugins/easings/bounce/CHANGELOG.md +++ b/plugins/easings/bounce/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/plugin-easing-bounce + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/plugin-easing-bounce diff --git a/plugins/easings/bounce/package.dist.json b/plugins/easings/bounce/package.dist.json index 8f661ba27f6..a8002ff6be6 100644 --- a/plugins/easings/bounce/package.dist.json +++ b/plugins/easings/bounce/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/plugin-easing-bounce", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles easing bounce plugin", "homepage": "https://particles.js.org", "repository": { @@ -100,7 +100,7 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/engine": "4.0.0-beta.0" + "@tsparticles/engine": "4.0.0-beta.1" }, "publishConfig": { "access": "public" diff --git a/plugins/easings/bounce/package.json b/plugins/easings/bounce/package.json index 935c9376061..0db4ea79b41 100644 --- a/plugins/easings/bounce/package.json +++ b/plugins/easings/bounce/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/plugin-easing-bounce", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles easing bounce plugin", "homepage": "https://particles.js.org", "scripts": { @@ -108,7 +108,7 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/engine": "workspace:4.0.0-beta.0" + "@tsparticles/engine": "workspace:4.0.0-beta.1" }, "publishConfig": { "access": "public", diff --git a/plugins/easings/circ/CHANGELOG.md b/plugins/easings/circ/CHANGELOG.md index ebc5db4e07d..6201dcba0ba 100644 --- a/plugins/easings/circ/CHANGELOG.md +++ b/plugins/easings/circ/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/plugin-easing-circ + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/plugin-easing-circ diff --git a/plugins/easings/circ/package.dist.json b/plugins/easings/circ/package.dist.json index d530298ea32..04e78871a04 100644 --- a/plugins/easings/circ/package.dist.json +++ b/plugins/easings/circ/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/plugin-easing-circ", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles easing circ plugin", "homepage": "https://particles.js.org", "repository": { @@ -100,7 +100,7 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/engine": "4.0.0-beta.0" + "@tsparticles/engine": "4.0.0-beta.1" }, "publishConfig": { "access": "public" diff --git a/plugins/easings/circ/package.json b/plugins/easings/circ/package.json index 5aba7d5d023..ba85834f270 100644 --- a/plugins/easings/circ/package.json +++ b/plugins/easings/circ/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/plugin-easing-circ", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles easing circ plugin", "homepage": "https://particles.js.org", "scripts": { @@ -108,7 +108,7 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/engine": "workspace:4.0.0-beta.0" + "@tsparticles/engine": "workspace:4.0.0-beta.1" }, "publishConfig": { "access": "public", diff --git a/plugins/easings/cubic/CHANGELOG.md b/plugins/easings/cubic/CHANGELOG.md index 2f0e3ddded0..c1cfb0b2a4c 100644 --- a/plugins/easings/cubic/CHANGELOG.md +++ b/plugins/easings/cubic/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/plugin-easing-cubic + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/plugin-easing-cubic diff --git a/plugins/easings/cubic/package.dist.json b/plugins/easings/cubic/package.dist.json index da145af498d..147f1e19730 100644 --- a/plugins/easings/cubic/package.dist.json +++ b/plugins/easings/cubic/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/plugin-easing-cubic", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles easing cubic plugin", "homepage": "https://particles.js.org", "repository": { @@ -100,7 +100,7 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/engine": "4.0.0-beta.0" + "@tsparticles/engine": "4.0.0-beta.1" }, "publishConfig": { "access": "public" diff --git a/plugins/easings/cubic/package.json b/plugins/easings/cubic/package.json index ac8c0230030..2d56dc83184 100644 --- a/plugins/easings/cubic/package.json +++ b/plugins/easings/cubic/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/plugin-easing-cubic", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles easing cubic plugin", "homepage": "https://particles.js.org", "scripts": { @@ -108,7 +108,7 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/engine": "workspace:4.0.0-beta.0" + "@tsparticles/engine": "workspace:4.0.0-beta.1" }, "publishConfig": { "access": "public", diff --git a/plugins/easings/elastic/CHANGELOG.md b/plugins/easings/elastic/CHANGELOG.md index a88f7b8b52d..4d9b42d8642 100644 --- a/plugins/easings/elastic/CHANGELOG.md +++ b/plugins/easings/elastic/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/plugin-easing-elastic + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/plugin-easing-elastic diff --git a/plugins/easings/elastic/package.dist.json b/plugins/easings/elastic/package.dist.json index c7d1c6c635f..e23fbdd0a3e 100644 --- a/plugins/easings/elastic/package.dist.json +++ b/plugins/easings/elastic/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/plugin-easing-elastic", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles easing elastic plugin", "homepage": "https://particles.js.org", "repository": { @@ -100,7 +100,7 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/engine": "4.0.0-beta.0" + "@tsparticles/engine": "4.0.0-beta.1" }, "publishConfig": { "access": "public" diff --git a/plugins/easings/elastic/package.json b/plugins/easings/elastic/package.json index 3b5ebef67f7..ecad38ffb3c 100644 --- a/plugins/easings/elastic/package.json +++ b/plugins/easings/elastic/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/plugin-easing-elastic", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles easing elastic plugin", "homepage": "https://particles.js.org", "scripts": { @@ -108,7 +108,7 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/engine": "workspace:4.0.0-beta.0" + "@tsparticles/engine": "workspace:4.0.0-beta.1" }, "publishConfig": { "access": "public", diff --git a/plugins/easings/expo/CHANGELOG.md b/plugins/easings/expo/CHANGELOG.md index 11212590b00..84f6a2ed698 100644 --- a/plugins/easings/expo/CHANGELOG.md +++ b/plugins/easings/expo/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/plugin-easing-expo + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/plugin-easing-expo diff --git a/plugins/easings/expo/package.dist.json b/plugins/easings/expo/package.dist.json index 56d8ca03d26..c02f0cde51f 100644 --- a/plugins/easings/expo/package.dist.json +++ b/plugins/easings/expo/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/plugin-easing-expo", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles easing expo plugin", "homepage": "https://particles.js.org", "repository": { @@ -100,7 +100,7 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/engine": "4.0.0-beta.0" + "@tsparticles/engine": "4.0.0-beta.1" }, "publishConfig": { "access": "public" diff --git a/plugins/easings/expo/package.json b/plugins/easings/expo/package.json index 40108f1d355..49d1af284d6 100644 --- a/plugins/easings/expo/package.json +++ b/plugins/easings/expo/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/plugin-easing-expo", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles easing expo plugin", "homepage": "https://particles.js.org", "scripts": { @@ -108,7 +108,7 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/engine": "workspace:4.0.0-beta.0" + "@tsparticles/engine": "workspace:4.0.0-beta.1" }, "publishConfig": { "access": "public", diff --git a/plugins/easings/gaussian/CHANGELOG.md b/plugins/easings/gaussian/CHANGELOG.md index 290893ab402..61fb97e09cb 100644 --- a/plugins/easings/gaussian/CHANGELOG.md +++ b/plugins/easings/gaussian/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/plugin-easing-gaussian + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/plugin-easing-gaussian diff --git a/plugins/easings/gaussian/package.dist.json b/plugins/easings/gaussian/package.dist.json index cd984f769b4..12404424cee 100644 --- a/plugins/easings/gaussian/package.dist.json +++ b/plugins/easings/gaussian/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/plugin-easing-gaussian", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles easing gaussian plugin", "homepage": "https://particles.js.org", "repository": { @@ -100,7 +100,7 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/engine": "4.0.0-beta.0" + "@tsparticles/engine": "4.0.0-beta.1" }, "publishConfig": { "access": "public" diff --git a/plugins/easings/gaussian/package.json b/plugins/easings/gaussian/package.json index 68f097b7182..c7fd787faf1 100644 --- a/plugins/easings/gaussian/package.json +++ b/plugins/easings/gaussian/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/plugin-easing-gaussian", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles easing gaussian plugin", "homepage": "https://particles.js.org", "scripts": { @@ -108,7 +108,7 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/engine": "workspace:4.0.0-beta.0" + "@tsparticles/engine": "workspace:4.0.0-beta.1" }, "publishConfig": { "access": "public", diff --git a/plugins/easings/linear/CHANGELOG.md b/plugins/easings/linear/CHANGELOG.md index 91a4a065845..303fa83acfb 100644 --- a/plugins/easings/linear/CHANGELOG.md +++ b/plugins/easings/linear/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/plugin-easing-linear + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/plugin-easing-linear diff --git a/plugins/easings/linear/package.dist.json b/plugins/easings/linear/package.dist.json index 1e4d4303ad5..482703e1c79 100644 --- a/plugins/easings/linear/package.dist.json +++ b/plugins/easings/linear/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/plugin-easing-linear", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles easing linear plugin", "homepage": "https://particles.js.org", "repository": { @@ -100,7 +100,7 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/engine": "4.0.0-beta.0" + "@tsparticles/engine": "4.0.0-beta.1" }, "publishConfig": { "access": "public" diff --git a/plugins/easings/linear/package.json b/plugins/easings/linear/package.json index c444fb0c7f4..cd17f03a692 100644 --- a/plugins/easings/linear/package.json +++ b/plugins/easings/linear/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/plugin-easing-linear", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles easing linear plugin", "homepage": "https://particles.js.org", "scripts": { @@ -108,7 +108,7 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/engine": "workspace:4.0.0-beta.0" + "@tsparticles/engine": "workspace:4.0.0-beta.1" }, "publishConfig": { "access": "public", diff --git a/plugins/easings/quad/CHANGELOG.md b/plugins/easings/quad/CHANGELOG.md index 9160be2849a..285cc476210 100644 --- a/plugins/easings/quad/CHANGELOG.md +++ b/plugins/easings/quad/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/plugin-easing-quad + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/plugin-easing-quad diff --git a/plugins/easings/quad/package.dist.json b/plugins/easings/quad/package.dist.json index 169bc5e3d05..5f9678a0aa2 100644 --- a/plugins/easings/quad/package.dist.json +++ b/plugins/easings/quad/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/plugin-easing-quad", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles easing quad plugin", "homepage": "https://particles.js.org", "repository": { @@ -100,7 +100,7 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/engine": "4.0.0-beta.0" + "@tsparticles/engine": "4.0.0-beta.1" }, "publishConfig": { "access": "public" diff --git a/plugins/easings/quad/package.json b/plugins/easings/quad/package.json index 2ef7211a964..1c1d42cd32b 100644 --- a/plugins/easings/quad/package.json +++ b/plugins/easings/quad/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/plugin-easing-quad", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles easing quad plugin", "homepage": "https://particles.js.org", "scripts": { @@ -108,7 +108,7 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/engine": "workspace:4.0.0-beta.0" + "@tsparticles/engine": "workspace:4.0.0-beta.1" }, "publishConfig": { "access": "public", diff --git a/plugins/easings/quart/CHANGELOG.md b/plugins/easings/quart/CHANGELOG.md index 72e3683dcde..c1eca74034b 100644 --- a/plugins/easings/quart/CHANGELOG.md +++ b/plugins/easings/quart/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/plugin-easing-quart + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/plugin-easing-quart diff --git a/plugins/easings/quart/package.dist.json b/plugins/easings/quart/package.dist.json index 109e0d70a96..51ae6d21c91 100644 --- a/plugins/easings/quart/package.dist.json +++ b/plugins/easings/quart/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/plugin-easing-quart", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles easing quart plugin", "homepage": "https://particles.js.org", "repository": { @@ -100,7 +100,7 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/engine": "4.0.0-beta.0" + "@tsparticles/engine": "4.0.0-beta.1" }, "publishConfig": { "access": "public" diff --git a/plugins/easings/quart/package.json b/plugins/easings/quart/package.json index 86506fe17dc..fba1beb831e 100644 --- a/plugins/easings/quart/package.json +++ b/plugins/easings/quart/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/plugin-easing-quart", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles easing quart plugin", "homepage": "https://particles.js.org", "scripts": { @@ -108,7 +108,7 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/engine": "workspace:4.0.0-beta.0" + "@tsparticles/engine": "workspace:4.0.0-beta.1" }, "publishConfig": { "access": "public", diff --git a/plugins/easings/quint/CHANGELOG.md b/plugins/easings/quint/CHANGELOG.md index 80eeb049f9d..9ae6b628604 100644 --- a/plugins/easings/quint/CHANGELOG.md +++ b/plugins/easings/quint/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/plugin-easing-quint + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/plugin-easing-quint diff --git a/plugins/easings/quint/package.dist.json b/plugins/easings/quint/package.dist.json index 1ceb80b6bc8..8f07c226b20 100644 --- a/plugins/easings/quint/package.dist.json +++ b/plugins/easings/quint/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/plugin-easing-quint", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles easing quint plugin", "homepage": "https://particles.js.org", "repository": { @@ -100,7 +100,7 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/engine": "4.0.0-beta.0" + "@tsparticles/engine": "4.0.0-beta.1" }, "publishConfig": { "access": "public" diff --git a/plugins/easings/quint/package.json b/plugins/easings/quint/package.json index 8fc59342851..514f7dad4c2 100644 --- a/plugins/easings/quint/package.json +++ b/plugins/easings/quint/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/plugin-easing-quint", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles easing quint plugin", "homepage": "https://particles.js.org", "scripts": { @@ -108,7 +108,7 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/engine": "workspace:4.0.0-beta.0" + "@tsparticles/engine": "workspace:4.0.0-beta.1" }, "publishConfig": { "access": "public", diff --git a/plugins/easings/sigmoid/CHANGELOG.md b/plugins/easings/sigmoid/CHANGELOG.md index 64bb6f14285..912f27bff8e 100644 --- a/plugins/easings/sigmoid/CHANGELOG.md +++ b/plugins/easings/sigmoid/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/plugin-easing-sigmoid + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/plugin-easing-sigmoid diff --git a/plugins/easings/sigmoid/package.dist.json b/plugins/easings/sigmoid/package.dist.json index 6a57a3400df..377f4eac660 100644 --- a/plugins/easings/sigmoid/package.dist.json +++ b/plugins/easings/sigmoid/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/plugin-easing-sigmoid", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles easing sigmoid plugin", "homepage": "https://particles.js.org", "repository": { @@ -100,7 +100,7 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/engine": "4.0.0-beta.0" + "@tsparticles/engine": "4.0.0-beta.1" }, "publishConfig": { "access": "public" diff --git a/plugins/easings/sigmoid/package.json b/plugins/easings/sigmoid/package.json index 3b561cc32e8..9397494c7d9 100644 --- a/plugins/easings/sigmoid/package.json +++ b/plugins/easings/sigmoid/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/plugin-easing-sigmoid", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles easing sigmoid plugin", "homepage": "https://particles.js.org", "scripts": { @@ -108,7 +108,7 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/engine": "workspace:4.0.0-beta.0" + "@tsparticles/engine": "workspace:4.0.0-beta.1" }, "publishConfig": { "access": "public", diff --git a/plugins/easings/sine/CHANGELOG.md b/plugins/easings/sine/CHANGELOG.md index 33d1d70df3c..c47bd07d06d 100644 --- a/plugins/easings/sine/CHANGELOG.md +++ b/plugins/easings/sine/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/plugin-easing-sine + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/plugin-easing-sine diff --git a/plugins/easings/sine/package.dist.json b/plugins/easings/sine/package.dist.json index 3abbf8488a9..2aa9317d748 100644 --- a/plugins/easings/sine/package.dist.json +++ b/plugins/easings/sine/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/plugin-easing-sine", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles easing sine plugin", "homepage": "https://particles.js.org", "repository": { @@ -100,7 +100,7 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/engine": "4.0.0-beta.0" + "@tsparticles/engine": "4.0.0-beta.1" }, "publishConfig": { "access": "public" diff --git a/plugins/easings/sine/package.json b/plugins/easings/sine/package.json index deb716880a9..67188b172a0 100644 --- a/plugins/easings/sine/package.json +++ b/plugins/easings/sine/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/plugin-easing-sine", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles easing sine plugin", "homepage": "https://particles.js.org", "scripts": { @@ -108,7 +108,7 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/engine": "workspace:4.0.0-beta.0" + "@tsparticles/engine": "workspace:4.0.0-beta.1" }, "publishConfig": { "access": "public", diff --git a/plugins/easings/smoothstep/CHANGELOG.md b/plugins/easings/smoothstep/CHANGELOG.md index 56b0779bd0d..cbf84eb22a7 100644 --- a/plugins/easings/smoothstep/CHANGELOG.md +++ b/plugins/easings/smoothstep/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/plugin-easing-smoothstep + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/plugin-easing-smoothstep diff --git a/plugins/easings/smoothstep/package.dist.json b/plugins/easings/smoothstep/package.dist.json index 4d5b07bc0be..e1500921370 100644 --- a/plugins/easings/smoothstep/package.dist.json +++ b/plugins/easings/smoothstep/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/plugin-easing-smoothstep", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles easing smoothstep plugin", "homepage": "https://particles.js.org", "repository": { @@ -100,7 +100,7 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/engine": "4.0.0-beta.0" + "@tsparticles/engine": "4.0.0-beta.1" }, "publishConfig": { "access": "public" diff --git a/plugins/easings/smoothstep/package.json b/plugins/easings/smoothstep/package.json index cfb8fa4e9cc..3530265f7e1 100644 --- a/plugins/easings/smoothstep/package.json +++ b/plugins/easings/smoothstep/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/plugin-easing-smoothstep", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles easing smoothstep plugin", "homepage": "https://particles.js.org", "scripts": { @@ -108,7 +108,7 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/engine": "workspace:4.0.0-beta.0" + "@tsparticles/engine": "workspace:4.0.0-beta.1" }, "publishConfig": { "access": "public", diff --git a/plugins/emitters/CHANGELOG.md b/plugins/emitters/CHANGELOG.md index 5d3c58762ba..c071f83c704 100644 --- a/plugins/emitters/CHANGELOG.md +++ b/plugins/emitters/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/plugin-emitters + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/plugin-emitters diff --git a/plugins/emitters/package.dist.json b/plugins/emitters/package.dist.json index b6dfd3c9ebe..d590c34d13d 100644 --- a/plugins/emitters/package.dist.json +++ b/plugins/emitters/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/plugin-emitters", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles emitters plugin", "homepage": "https://particles.js.org", "repository": { @@ -86,8 +86,8 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/engine": "4.0.0-beta.0", - "@tsparticles/plugin-interactivity": "4.0.0-beta.0" + "@tsparticles/engine": "4.0.0-beta.1", + "@tsparticles/plugin-interactivity": "4.0.0-beta.1" }, "publishConfig": { "access": "public" diff --git a/plugins/emitters/package.json b/plugins/emitters/package.json index 3aa75b2dadb..ef7f594c77e 100644 --- a/plugins/emitters/package.json +++ b/plugins/emitters/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/plugin-emitters", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles emitters plugin", "homepage": "https://particles.js.org", "scripts": { @@ -94,8 +94,8 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/engine": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-interactivity": "workspace:4.0.0-beta.0" + "@tsparticles/engine": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-interactivity": "workspace:4.0.0-beta.1" }, "publishConfig": { "access": "public", diff --git a/plugins/emittersShapes/canvas/CHANGELOG.md b/plugins/emittersShapes/canvas/CHANGELOG.md index 6a1c19560a6..6683f36dcc6 100644 --- a/plugins/emittersShapes/canvas/CHANGELOG.md +++ b/plugins/emittersShapes/canvas/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/plugin-emitters-shape-canvas + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/plugin-emitters-shape-canvas diff --git a/plugins/emittersShapes/canvas/package.dist.json b/plugins/emittersShapes/canvas/package.dist.json index 9139c691350..83f1e7c966f 100644 --- a/plugins/emittersShapes/canvas/package.dist.json +++ b/plugins/emittersShapes/canvas/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/plugin-emitters-shape-canvas", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles emitters shape canvas plugin", "homepage": "https://particles.js.org", "repository": { @@ -100,9 +100,9 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/canvas-utils": "4.0.0-beta.0", - "@tsparticles/engine": "4.0.0-beta.0", - "@tsparticles/plugin-emitters": "4.0.0-beta.0" + "@tsparticles/canvas-utils": "4.0.0-beta.1", + "@tsparticles/engine": "4.0.0-beta.1", + "@tsparticles/plugin-emitters": "4.0.0-beta.1" }, "publishConfig": { "access": "public" diff --git a/plugins/emittersShapes/canvas/package.json b/plugins/emittersShapes/canvas/package.json index f7fdda79af2..9c4d9104d94 100644 --- a/plugins/emittersShapes/canvas/package.json +++ b/plugins/emittersShapes/canvas/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/plugin-emitters-shape-canvas", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles emitters shape canvas plugin", "homepage": "https://particles.js.org", "scripts": { @@ -108,9 +108,9 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/canvas-utils": "workspace:4.0.0-beta.0", - "@tsparticles/engine": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-emitters": "workspace:4.0.0-beta.0" + "@tsparticles/canvas-utils": "workspace:4.0.0-beta.1", + "@tsparticles/engine": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-emitters": "workspace:4.0.0-beta.1" }, "publishConfig": { "access": "public", diff --git a/plugins/emittersShapes/circle/CHANGELOG.md b/plugins/emittersShapes/circle/CHANGELOG.md index d4b9f74a427..52997ed3391 100644 --- a/plugins/emittersShapes/circle/CHANGELOG.md +++ b/plugins/emittersShapes/circle/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/plugin-emitters-shape-circle + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/plugin-emitters-shape-circle diff --git a/plugins/emittersShapes/circle/package.dist.json b/plugins/emittersShapes/circle/package.dist.json index 0a28a97cbaf..a670133913a 100644 --- a/plugins/emittersShapes/circle/package.dist.json +++ b/plugins/emittersShapes/circle/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/plugin-emitters-shape-circle", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles emitters shape circle plugin", "homepage": "https://particles.js.org", "repository": { @@ -100,8 +100,8 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/engine": "4.0.0-beta.0", - "@tsparticles/plugin-emitters": "4.0.0-beta.0" + "@tsparticles/engine": "4.0.0-beta.1", + "@tsparticles/plugin-emitters": "4.0.0-beta.1" }, "publishConfig": { "access": "public" diff --git a/plugins/emittersShapes/circle/package.json b/plugins/emittersShapes/circle/package.json index 3f593c40e81..de1dab75580 100644 --- a/plugins/emittersShapes/circle/package.json +++ b/plugins/emittersShapes/circle/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/plugin-emitters-shape-circle", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles emitters shape circle plugin", "homepage": "https://particles.js.org", "scripts": { @@ -108,8 +108,8 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/engine": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-emitters": "workspace:4.0.0-beta.0" + "@tsparticles/engine": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-emitters": "workspace:4.0.0-beta.1" }, "publishConfig": { "access": "public", diff --git a/plugins/emittersShapes/path/CHANGELOG.md b/plugins/emittersShapes/path/CHANGELOG.md index 61dede3f28c..3b2bf11252a 100644 --- a/plugins/emittersShapes/path/CHANGELOG.md +++ b/plugins/emittersShapes/path/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/plugin-emitters-shape-path + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/plugin-emitters-shape-path diff --git a/plugins/emittersShapes/path/package.dist.json b/plugins/emittersShapes/path/package.dist.json index 1da6c0c70c3..4964a0a1380 100644 --- a/plugins/emittersShapes/path/package.dist.json +++ b/plugins/emittersShapes/path/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/plugin-emitters-shape-path", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles emitters shape path plugin", "homepage": "https://particles.js.org", "repository": { @@ -100,8 +100,8 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/engine": "4.0.0-beta.0", - "@tsparticles/plugin-emitters": "4.0.0-beta.0" + "@tsparticles/engine": "4.0.0-beta.1", + "@tsparticles/plugin-emitters": "4.0.0-beta.1" }, "publishConfig": { "access": "public" diff --git a/plugins/emittersShapes/path/package.json b/plugins/emittersShapes/path/package.json index 56177d29864..19a39fcc007 100644 --- a/plugins/emittersShapes/path/package.json +++ b/plugins/emittersShapes/path/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/plugin-emitters-shape-path", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles emitters shape path plugin", "homepage": "https://particles.js.org", "scripts": { @@ -108,8 +108,8 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/engine": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-emitters": "workspace:4.0.0-beta.0" + "@tsparticles/engine": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-emitters": "workspace:4.0.0-beta.1" }, "publishConfig": { "access": "public", diff --git a/plugins/emittersShapes/polygon/CHANGELOG.md b/plugins/emittersShapes/polygon/CHANGELOG.md index 9b37f763018..86935bb9c3b 100644 --- a/plugins/emittersShapes/polygon/CHANGELOG.md +++ b/plugins/emittersShapes/polygon/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/plugin-emitters-shape-polygon + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/plugin-emitters-shape-polygon diff --git a/plugins/emittersShapes/polygon/package.dist.json b/plugins/emittersShapes/polygon/package.dist.json index d31f2c790b9..fd6b8ab4a34 100644 --- a/plugins/emittersShapes/polygon/package.dist.json +++ b/plugins/emittersShapes/polygon/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/plugin-emitters-shape-polygon", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles emitters shape polygon plugin", "homepage": "https://particles.js.org", "repository": { @@ -100,8 +100,8 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/engine": "4.0.0-beta.0", - "@tsparticles/plugin-emitters": "4.0.0-beta.0" + "@tsparticles/engine": "4.0.0-beta.1", + "@tsparticles/plugin-emitters": "4.0.0-beta.1" }, "publishConfig": { "access": "public" diff --git a/plugins/emittersShapes/polygon/package.json b/plugins/emittersShapes/polygon/package.json index b6035a6a185..bdc273884d7 100644 --- a/plugins/emittersShapes/polygon/package.json +++ b/plugins/emittersShapes/polygon/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/plugin-emitters-shape-polygon", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles emitters shape polygon plugin", "homepage": "https://particles.js.org", "scripts": { @@ -108,8 +108,8 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/engine": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-emitters": "workspace:4.0.0-beta.0" + "@tsparticles/engine": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-emitters": "workspace:4.0.0-beta.1" }, "publishConfig": { "access": "public", diff --git a/plugins/emittersShapes/square/CHANGELOG.md b/plugins/emittersShapes/square/CHANGELOG.md index 4a1c7a60a09..95fb751a0bf 100644 --- a/plugins/emittersShapes/square/CHANGELOG.md +++ b/plugins/emittersShapes/square/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/plugin-emitters-shape-square + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/plugin-emitters-shape-square diff --git a/plugins/emittersShapes/square/package.dist.json b/plugins/emittersShapes/square/package.dist.json index 5f24bb49134..686c3ba87e0 100644 --- a/plugins/emittersShapes/square/package.dist.json +++ b/plugins/emittersShapes/square/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/plugin-emitters-shape-square", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles emitters shape square plugin", "homepage": "https://particles.js.org", "repository": { @@ -100,8 +100,8 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/engine": "4.0.0-beta.0", - "@tsparticles/plugin-emitters": "4.0.0-beta.0" + "@tsparticles/engine": "4.0.0-beta.1", + "@tsparticles/plugin-emitters": "4.0.0-beta.1" }, "publishConfig": { "access": "public" diff --git a/plugins/emittersShapes/square/package.json b/plugins/emittersShapes/square/package.json index 01a4f58b6b7..cd3ea02c504 100644 --- a/plugins/emittersShapes/square/package.json +++ b/plugins/emittersShapes/square/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/plugin-emitters-shape-square", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles emitters shape square plugin", "homepage": "https://particles.js.org", "scripts": { @@ -108,8 +108,8 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/engine": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-emitters": "workspace:4.0.0-beta.0" + "@tsparticles/engine": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-emitters": "workspace:4.0.0-beta.1" }, "publishConfig": { "access": "public", diff --git a/plugins/exports/image/CHANGELOG.md b/plugins/exports/image/CHANGELOG.md index 1ff9b61dd74..9143b815adf 100644 --- a/plugins/exports/image/CHANGELOG.md +++ b/plugins/exports/image/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/plugin-export-image + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/plugin-export-image diff --git a/plugins/exports/image/package.dist.json b/plugins/exports/image/package.dist.json index a0530536264..5b0ce17aa69 100644 --- a/plugins/exports/image/package.dist.json +++ b/plugins/exports/image/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/plugin-export-image", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles export image plugin", "homepage": "https://particles.js.org", "repository": { @@ -100,7 +100,7 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/engine": "4.0.0-beta.0" + "@tsparticles/engine": "4.0.0-beta.1" }, "publishConfig": { "access": "public" diff --git a/plugins/exports/image/package.json b/plugins/exports/image/package.json index 53b7de4d495..53ed6303f75 100644 --- a/plugins/exports/image/package.json +++ b/plugins/exports/image/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/plugin-export-image", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles export image plugin", "homepage": "https://particles.js.org", "scripts": { @@ -108,7 +108,7 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/engine": "workspace:4.0.0-beta.0" + "@tsparticles/engine": "workspace:4.0.0-beta.1" }, "publishConfig": { "access": "public", diff --git a/plugins/exports/json/CHANGELOG.md b/plugins/exports/json/CHANGELOG.md index 65140178784..9b912843760 100644 --- a/plugins/exports/json/CHANGELOG.md +++ b/plugins/exports/json/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/plugin-export-json + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/plugin-export-json diff --git a/plugins/exports/json/package.dist.json b/plugins/exports/json/package.dist.json index 6ced1ad3f7f..04f69b8c45e 100644 --- a/plugins/exports/json/package.dist.json +++ b/plugins/exports/json/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/plugin-export-json", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles export json plugin", "homepage": "https://particles.js.org", "repository": { @@ -100,7 +100,7 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/engine": "4.0.0-beta.0" + "@tsparticles/engine": "4.0.0-beta.1" }, "publishConfig": { "access": "public" diff --git a/plugins/exports/json/package.json b/plugins/exports/json/package.json index e16afad2486..cd4624ad639 100644 --- a/plugins/exports/json/package.json +++ b/plugins/exports/json/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/plugin-export-json", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles export json plugin", "homepage": "https://particles.js.org", "scripts": { @@ -108,7 +108,7 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/engine": "workspace:4.0.0-beta.0" + "@tsparticles/engine": "workspace:4.0.0-beta.1" }, "publishConfig": { "access": "public", diff --git a/plugins/exports/video/CHANGELOG.md b/plugins/exports/video/CHANGELOG.md index 64d1dd2b65f..f505baf997d 100644 --- a/plugins/exports/video/CHANGELOG.md +++ b/plugins/exports/video/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/plugin-export-video + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/plugin-export-video diff --git a/plugins/exports/video/package.dist.json b/plugins/exports/video/package.dist.json index ba25ba9da3d..334d445a0e3 100644 --- a/plugins/exports/video/package.dist.json +++ b/plugins/exports/video/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/plugin-export-video", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles export video plugin", "homepage": "https://particles.js.org", "repository": { @@ -100,7 +100,7 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/engine": "4.0.0-beta.0" + "@tsparticles/engine": "4.0.0-beta.1" }, "publishConfig": { "access": "public" diff --git a/plugins/exports/video/package.json b/plugins/exports/video/package.json index b0c25e2fd49..8dc9de24948 100644 --- a/plugins/exports/video/package.json +++ b/plugins/exports/video/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/plugin-export-video", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles export video plugin", "homepage": "https://particles.js.org", "scripts": { @@ -108,7 +108,7 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/engine": "workspace:4.0.0-beta.0" + "@tsparticles/engine": "workspace:4.0.0-beta.1" }, "publishConfig": { "access": "public", diff --git a/plugins/infection/CHANGELOG.md b/plugins/infection/CHANGELOG.md index 348667fd78b..462f4a420b8 100644 --- a/plugins/infection/CHANGELOG.md +++ b/plugins/infection/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/plugin-infection + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/plugin-infection diff --git a/plugins/infection/package.dist.json b/plugins/infection/package.dist.json index 9ef68d79dbe..3347c9ac64b 100644 --- a/plugins/infection/package.dist.json +++ b/plugins/infection/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/plugin-infection", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles infection plugin", "homepage": "https://particles.js.org", "repository": { @@ -100,8 +100,8 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/engine": "4.0.0-beta.0", - "@tsparticles/plugin-interactivity": "4.0.0-beta.0" + "@tsparticles/engine": "4.0.0-beta.1", + "@tsparticles/plugin-interactivity": "4.0.0-beta.1" }, "publishConfig": { "access": "public" diff --git a/plugins/infection/package.json b/plugins/infection/package.json index 90902e5d8f2..6f8beff2133 100644 --- a/plugins/infection/package.json +++ b/plugins/infection/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/plugin-infection", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles infection plugin", "homepage": "https://particles.js.org", "scripts": { @@ -108,8 +108,8 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/engine": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-interactivity": "workspace:4.0.0-beta.0" + "@tsparticles/engine": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-interactivity": "workspace:4.0.0-beta.1" }, "publishConfig": { "access": "public", diff --git a/plugins/interactivity/CHANGELOG.md b/plugins/interactivity/CHANGELOG.md index 5d62ae3553e..b3708f11a4d 100644 --- a/plugins/interactivity/CHANGELOG.md +++ b/plugins/interactivity/CHANGELOG.md @@ -3,6 +3,12 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +### Bug Fixes + +- improved cannon and interactivity events ([b836a59](https://github.com/tsparticles/tsparticles/commit/b836a59e90afdc68b6307e8d37898e71b5881a21)) + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/plugin-interactivity diff --git a/plugins/interactivity/package.dist.json b/plugins/interactivity/package.dist.json index 4be1751cca5..22478ad0f12 100644 --- a/plugins/interactivity/package.dist.json +++ b/plugins/interactivity/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/plugin-interactivity", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles interactivity sickness plugin", "homepage": "https://particles.js.org", "repository": { @@ -86,7 +86,7 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/engine": "4.0.0-beta.0" + "@tsparticles/engine": "4.0.0-beta.1" }, "publishConfig": { "access": "public" diff --git a/plugins/interactivity/package.json b/plugins/interactivity/package.json index d9bd38f9dc8..d36f5c599d5 100644 --- a/plugins/interactivity/package.json +++ b/plugins/interactivity/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/plugin-interactivity", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles interactivity sickness plugin", "homepage": "https://particles.js.org", "scripts": { @@ -94,7 +94,7 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/engine": "workspace:4.0.0-beta.0" + "@tsparticles/engine": "workspace:4.0.0-beta.1" }, "publishConfig": { "access": "public", diff --git a/plugins/manualParticles/CHANGELOG.md b/plugins/manualParticles/CHANGELOG.md index e78392ff03d..9429018ccc2 100644 --- a/plugins/manualParticles/CHANGELOG.md +++ b/plugins/manualParticles/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/plugin-manual-particles + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/plugin-manual-particles diff --git a/plugins/manualParticles/package.dist.json b/plugins/manualParticles/package.dist.json index b3da11dbcb6..7bff3f23bbb 100644 --- a/plugins/manualParticles/package.dist.json +++ b/plugins/manualParticles/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/plugin-manual-particles", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles manual particles plugin", "homepage": "https://particles.js.org", "repository": { @@ -86,7 +86,7 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/engine": "4.0.0-beta.0" + "@tsparticles/engine": "4.0.0-beta.1" }, "publishConfig": { "access": "public" diff --git a/plugins/manualParticles/package.json b/plugins/manualParticles/package.json index 786d2c38de0..6ea8bcdab13 100644 --- a/plugins/manualParticles/package.json +++ b/plugins/manualParticles/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/plugin-manual-particles", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles manual particles plugin", "homepage": "https://particles.js.org", "scripts": { @@ -94,7 +94,7 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/engine": "workspace:4.0.0-beta.0" + "@tsparticles/engine": "workspace:4.0.0-beta.1" }, "publishConfig": { "access": "public", diff --git a/plugins/motion/CHANGELOG.md b/plugins/motion/CHANGELOG.md index c64a439b79e..fd7592f8ec7 100644 --- a/plugins/motion/CHANGELOG.md +++ b/plugins/motion/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/plugin-motion + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/plugin-motion diff --git a/plugins/motion/package.dist.json b/plugins/motion/package.dist.json index 027742b723d..cb4ad9a4b45 100644 --- a/plugins/motion/package.dist.json +++ b/plugins/motion/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/plugin-motion", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles motion sickness plugin", "homepage": "https://particles.js.org", "repository": { @@ -86,7 +86,7 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/engine": "4.0.0-beta.0" + "@tsparticles/engine": "4.0.0-beta.1" }, "publishConfig": { "access": "public" diff --git a/plugins/motion/package.json b/plugins/motion/package.json index c3414c79f5e..8d73f413898 100644 --- a/plugins/motion/package.json +++ b/plugins/motion/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/plugin-motion", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles motion sickness plugin", "homepage": "https://particles.js.org", "scripts": { @@ -94,7 +94,7 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/engine": "workspace:4.0.0-beta.0" + "@tsparticles/engine": "workspace:4.0.0-beta.1" }, "publishConfig": { "access": "public", diff --git a/plugins/move/CHANGELOG.md b/plugins/move/CHANGELOG.md index 4e3bf84ac7a..5e3868f605f 100644 --- a/plugins/move/CHANGELOG.md +++ b/plugins/move/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/plugin-move + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/plugin-move diff --git a/plugins/move/package.dist.json b/plugins/move/package.dist.json index c6024de6ffc..1dd9e9c819b 100644 --- a/plugins/move/package.dist.json +++ b/plugins/move/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/plugin-move", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles Move plugin", "homepage": "https://particles.js.org", "repository": { @@ -86,7 +86,7 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/engine": "4.0.0-beta.0" + "@tsparticles/engine": "4.0.0-beta.1" }, "publishConfig": { "access": "public" diff --git a/plugins/move/package.json b/plugins/move/package.json index e57cabc9f8c..5febdc19fef 100644 --- a/plugins/move/package.json +++ b/plugins/move/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/plugin-move", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles Move plugin", "homepage": "https://particles.js.org", "scripts": { @@ -94,7 +94,7 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/engine": "workspace:4.0.0-beta.0" + "@tsparticles/engine": "workspace:4.0.0-beta.1" }, "publishConfig": { "access": "public", diff --git a/plugins/poisson/CHANGELOG.md b/plugins/poisson/CHANGELOG.md index 088f88b577a..0eb214a8473 100644 --- a/plugins/poisson/CHANGELOG.md +++ b/plugins/poisson/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/plugin-poisson-disc + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/plugin-poisson-disc diff --git a/plugins/poisson/package.dist.json b/plugins/poisson/package.dist.json index 90389f6d4d4..8243c55a329 100644 --- a/plugins/poisson/package.dist.json +++ b/plugins/poisson/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/plugin-poisson-disc", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles poisson disc plugin", "homepage": "https://particles.js.org", "repository": { @@ -85,7 +85,7 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/engine": "4.0.0-beta.0" + "@tsparticles/engine": "4.0.0-beta.1" }, "publishConfig": { "access": "public" diff --git a/plugins/poisson/package.json b/plugins/poisson/package.json index 490d3ee7277..9bf2eb2e839 100644 --- a/plugins/poisson/package.json +++ b/plugins/poisson/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/plugin-poisson-disc", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles poisson disc plugin", "homepage": "https://particles.js.org", "scripts": { @@ -78,7 +78,7 @@ "types": "dist/types/index.d.ts", "prettier": "@tsparticles/prettier-config", "dependencies": { - "@tsparticles/engine": "workspace:4.0.0-beta.0" + "@tsparticles/engine": "workspace:4.0.0-beta.1" }, "publishConfig": { "access": "public", diff --git a/plugins/polygonMask/CHANGELOG.md b/plugins/polygonMask/CHANGELOG.md index 9e40a154d5f..0c6ddcd2ef9 100644 --- a/plugins/polygonMask/CHANGELOG.md +++ b/plugins/polygonMask/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/plugin-polygon-mask + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/plugin-polygon-mask diff --git a/plugins/polygonMask/package.dist.json b/plugins/polygonMask/package.dist.json index 4b9277d5b07..b0ff81c4bb0 100644 --- a/plugins/polygonMask/package.dist.json +++ b/plugins/polygonMask/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/plugin-polygon-mask", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles polygon mask plugin", "homepage": "https://particles.js.org", "repository": { @@ -88,7 +88,7 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/engine": "4.0.0-beta.0" + "@tsparticles/engine": "4.0.0-beta.1" }, "publishConfig": { "access": "public" diff --git a/plugins/polygonMask/package.json b/plugins/polygonMask/package.json index bd38b37e853..4ff11254210 100644 --- a/plugins/polygonMask/package.json +++ b/plugins/polygonMask/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/plugin-polygon-mask", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles polygon mask plugin", "homepage": "https://particles.js.org", "scripts": { @@ -81,7 +81,7 @@ "dist/**/pathseg.js" ], "dependencies": { - "@tsparticles/engine": "workspace:4.0.0-beta.0" + "@tsparticles/engine": "workspace:4.0.0-beta.1" }, "publishConfig": { "access": "public", diff --git a/plugins/responsive/CHANGELOG.md b/plugins/responsive/CHANGELOG.md index 5ee702a087e..fab37172ab0 100644 --- a/plugins/responsive/CHANGELOG.md +++ b/plugins/responsive/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/plugin-responsive + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/plugin-responsive diff --git a/plugins/responsive/package.dist.json b/plugins/responsive/package.dist.json index c997521061e..1b8f06540b1 100644 --- a/plugins/responsive/package.dist.json +++ b/plugins/responsive/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/plugin-responsive", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles responsive plugin", "homepage": "https://particles.js.org", "repository": { @@ -86,7 +86,7 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/engine": "4.0.0-beta.0" + "@tsparticles/engine": "4.0.0-beta.1" }, "publishConfig": { "access": "public" diff --git a/plugins/responsive/package.json b/plugins/responsive/package.json index 63dddfd26a2..71fc94297d2 100644 --- a/plugins/responsive/package.json +++ b/plugins/responsive/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/plugin-responsive", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles responsive plugin", "homepage": "https://particles.js.org", "scripts": { @@ -94,7 +94,7 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/engine": "workspace:4.0.0-beta.0" + "@tsparticles/engine": "workspace:4.0.0-beta.1" }, "publishConfig": { "access": "public", diff --git a/plugins/sounds/CHANGELOG.md b/plugins/sounds/CHANGELOG.md index 5f297357bcc..416728fd452 100644 --- a/plugins/sounds/CHANGELOG.md +++ b/plugins/sounds/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/plugin-sounds + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/plugin-sounds diff --git a/plugins/sounds/package.dist.json b/plugins/sounds/package.dist.json index 6f8034e4938..a69f4199664 100644 --- a/plugins/sounds/package.dist.json +++ b/plugins/sounds/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/plugin-sounds", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles sounds plugin", "homepage": "https://particles.js.org", "repository": { @@ -86,7 +86,7 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/engine": "4.0.0-beta.0" + "@tsparticles/engine": "4.0.0-beta.1" }, "publishConfig": { "access": "public" diff --git a/plugins/sounds/package.json b/plugins/sounds/package.json index 651e98cbc59..b8eec10bc88 100644 --- a/plugins/sounds/package.json +++ b/plugins/sounds/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/plugin-sounds", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles sounds plugin", "homepage": "https://particles.js.org", "scripts": { @@ -94,7 +94,7 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/engine": "workspace:4.0.0-beta.0" + "@tsparticles/engine": "workspace:4.0.0-beta.1" }, "publishConfig": { "access": "public", diff --git a/plugins/themes/CHANGELOG.md b/plugins/themes/CHANGELOG.md index dda0f37b106..81150c031cd 100644 --- a/plugins/themes/CHANGELOG.md +++ b/plugins/themes/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/plugin-themes + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/plugin-themes diff --git a/plugins/themes/package.dist.json b/plugins/themes/package.dist.json index 9d90894aeb9..23fd54755d5 100644 --- a/plugins/themes/package.dist.json +++ b/plugins/themes/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/plugin-themes", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles themes plugin", "homepage": "https://particles.js.org", "repository": { @@ -86,7 +86,7 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/engine": "4.0.0-beta.0" + "@tsparticles/engine": "4.0.0-beta.1" }, "publishConfig": { "access": "public" diff --git a/plugins/themes/package.json b/plugins/themes/package.json index 145a74e60f7..73018ff8681 100644 --- a/plugins/themes/package.json +++ b/plugins/themes/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/plugin-themes", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles themes plugin", "homepage": "https://particles.js.org", "scripts": { @@ -94,7 +94,7 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/engine": "workspace:4.0.0-beta.0" + "@tsparticles/engine": "workspace:4.0.0-beta.1" }, "publishConfig": { "access": "public", diff --git a/plugins/trail/CHANGELOG.md b/plugins/trail/CHANGELOG.md index f5b190855d9..4b891b9cb9a 100644 --- a/plugins/trail/CHANGELOG.md +++ b/plugins/trail/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/plugin-trail + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/plugin-trail diff --git a/plugins/trail/package.dist.json b/plugins/trail/package.dist.json index 86aa212f888..2bd53553fc1 100644 --- a/plugins/trail/package.dist.json +++ b/plugins/trail/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/plugin-trail", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles trail plugin", "homepage": "https://particles.js.org", "repository": { @@ -86,7 +86,7 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/engine": "4.0.0-beta.0" + "@tsparticles/engine": "4.0.0-beta.1" }, "publishConfig": { "access": "public" diff --git a/plugins/trail/package.json b/plugins/trail/package.json index a3852702410..a99abd451d6 100644 --- a/plugins/trail/package.json +++ b/plugins/trail/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/plugin-trail", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles trail plugin", "homepage": "https://particles.js.org", "scripts": { @@ -94,7 +94,7 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/engine": "workspace:4.0.0-beta.0" + "@tsparticles/engine": "workspace:4.0.0-beta.1" }, "publishConfig": { "access": "public", diff --git a/plugins/zoom/CHANGELOG.md b/plugins/zoom/CHANGELOG.md index 20064ae4f55..e1e9ffcdf7a 100644 --- a/plugins/zoom/CHANGELOG.md +++ b/plugins/zoom/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/plugin-zoom + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/plugin-zoom diff --git a/plugins/zoom/package.dist.json b/plugins/zoom/package.dist.json index 6e5563773a3..392b4b7f117 100644 --- a/plugins/zoom/package.dist.json +++ b/plugins/zoom/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/plugin-zoom", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles zoom plugin", "homepage": "https://particles.js.org", "repository": { @@ -86,7 +86,7 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/engine": "4.0.0-beta.0" + "@tsparticles/engine": "4.0.0-beta.1" }, "publishConfig": { "access": "public" diff --git a/plugins/zoom/package.json b/plugins/zoom/package.json index 3ba6dd3dc1a..60f86c4e557 100644 --- a/plugins/zoom/package.json +++ b/plugins/zoom/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/plugin-zoom", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles zoom plugin", "homepage": "https://particles.js.org", "scripts": { @@ -94,7 +94,7 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/engine": "workspace:4.0.0-beta.0" + "@tsparticles/engine": "workspace:4.0.0-beta.1" }, "publishConfig": { "access": "public", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a93c77e35d6..d022b312167 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1,53 +1,52 @@ -lockfileVersion: '9.0' +lockfileVersion: "9.0" settings: autoInstallPeers: true excludeLinksFromLockfile: false importers: - .: devDependencies: - '@commitlint/cli': + "@commitlint/cli": specifier: ^20.5.0 version: 20.5.0(@types/node@25.5.0)(conventional-commits-parser@6.3.0)(typescript@5.9.3) - '@commitlint/config-conventional': + "@commitlint/config-conventional": specifier: ^20.5.0 version: 20.5.0 - '@swc/core': + "@swc/core": specifier: ^1.15.21 version: 1.15.21 - '@tsparticles/cli': + "@tsparticles/cli": specifier: ^3.3.8 version: 3.3.8(@types/eslint@8.56.6)(esbuild@0.27.2)(jiti@2.6.1)(webpack-cli@7.0.2) - '@tsparticles/depcruise-config': + "@tsparticles/depcruise-config": specifier: ^3.3.5 version: 3.3.5(dependency-cruiser@17.3.9) - '@tsparticles/eslint-config': + "@tsparticles/eslint-config": specifier: ^3.3.5 version: 3.3.5(@types/eslint@8.56.6)(eslint@10.1.0(jiti@2.6.1)) - '@tsparticles/prettier-config': + "@tsparticles/prettier-config": specifier: ^3.3.5 version: 3.3.5(prettier@3.8.1) - '@tsparticles/tsconfig': + "@tsparticles/tsconfig": specifier: ^3.3.5 version: 3.3.5(typescript@5.9.3) - '@tsparticles/webpack-plugin': + "@tsparticles/webpack-plugin": specifier: ^3.3.5 version: 3.3.5(@types/eslint@8.56.6)(esbuild@0.27.2)(jiti@2.6.1) - '@types/jsdom': + "@types/jsdom": specifier: ^28.0.1 version: 28.0.1 - '@types/node': + "@types/node": specifier: ^25.5.0 version: 25.5.0 - '@types/webpack-env': + "@types/webpack-env": specifier: ^1.18.8 version: 1.18.8 - '@vitest/coverage-v8': + "@vitest/coverage-v8": specifier: ^4.1.2 version: 4.1.2(vitest@4.1.2) - '@vitest/ui': + "@vitest/ui": specifier: ^4.1.2 version: 4.1.2(vitest@4.1.2) browserslist: @@ -173,514 +172,514 @@ importers: bundles/all: dependencies: - '@tsparticles/effect-bubble': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/effect-bubble": + specifier: workspace:4.0.0-beta.1 version: link:../../effects/bubble/dist - '@tsparticles/effect-particles': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/effect-particles": + specifier: workspace:4.0.0-beta.1 version: link:../../effects/particles/dist - '@tsparticles/effect-shadow': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/effect-shadow": + specifier: workspace:4.0.0-beta.1 version: link:../../effects/shadow/dist - '@tsparticles/effect-trail': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/effect-trail": + specifier: workspace:4.0.0-beta.1 version: link:../../effects/trail/dist - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../engine/dist - '@tsparticles/interaction-external-cannon': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/interaction-external-cannon": + specifier: workspace:4.0.0-beta.1 version: link:../../interactions/external/cannon/dist - '@tsparticles/interaction-external-particle': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/interaction-external-particle": + specifier: workspace:4.0.0-beta.1 version: link:../../interactions/external/particle/dist - '@tsparticles/interaction-external-pop': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/interaction-external-pop": + specifier: workspace:4.0.0-beta.1 version: link:../../interactions/external/pop/dist - '@tsparticles/interaction-light': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/interaction-light": + specifier: workspace:4.0.0-beta.1 version: link:../../interactions/light/dist - '@tsparticles/interaction-particles-repulse': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/interaction-particles-repulse": + specifier: workspace:4.0.0-beta.1 version: link:../../interactions/particles/repulse/dist - '@tsparticles/path-branches': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/path-branches": + specifier: workspace:4.0.0-beta.1 version: link:../../paths/branches/dist - '@tsparticles/path-brownian': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/path-brownian": + specifier: workspace:4.0.0-beta.1 version: link:../../paths/brownian/dist - '@tsparticles/path-curl-noise': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/path-curl-noise": + specifier: workspace:4.0.0-beta.1 version: link:../../paths/curlNoise/dist - '@tsparticles/path-curves': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/path-curves": + specifier: workspace:4.0.0-beta.1 version: link:../../paths/curves/dist - '@tsparticles/path-fractal-noise': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/path-fractal-noise": + specifier: workspace:4.0.0-beta.1 version: link:../../paths/fractalNoise/dist - '@tsparticles/path-grid': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/path-grid": + specifier: workspace:4.0.0-beta.1 version: link:../../paths/grid/dist - '@tsparticles/path-levy': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/path-levy": + specifier: workspace:4.0.0-beta.1 version: link:../../paths/levy/dist - '@tsparticles/path-perlin-noise': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/path-perlin-noise": + specifier: workspace:4.0.0-beta.1 version: link:../../paths/perlinNoise/dist - '@tsparticles/path-polygon': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/path-polygon": + specifier: workspace:4.0.0-beta.1 version: link:../../paths/polygon/dist - '@tsparticles/path-random': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/path-random": + specifier: workspace:4.0.0-beta.1 version: link:../../paths/random/dist - '@tsparticles/path-simplex-noise': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/path-simplex-noise": + specifier: workspace:4.0.0-beta.1 version: link:../../paths/simplexNoise/dist - '@tsparticles/path-spiral': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/path-spiral": + specifier: workspace:4.0.0-beta.1 version: link:../../paths/spiral/dist - '@tsparticles/path-svg': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/path-svg": + specifier: workspace:4.0.0-beta.1 version: link:../../paths/svg/dist - '@tsparticles/path-zig-zag': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/path-zig-zag": + specifier: workspace:4.0.0-beta.1 version: link:../../paths/zigzag/dist - '@tsparticles/plugin-background-mask': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-background-mask": + specifier: workspace:4.0.0-beta.1 version: link:../../plugins/backgroundMask/dist - '@tsparticles/plugin-blend': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-blend": + specifier: workspace:4.0.0-beta.1 version: link:../../plugins/blend/dist - '@tsparticles/plugin-canvas-mask': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-canvas-mask": + specifier: workspace:4.0.0-beta.1 version: link:../../plugins/canvasMask/dist - '@tsparticles/plugin-easing-back': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-easing-back": + specifier: workspace:4.0.0-beta.1 version: link:../../plugins/easings/back/dist - '@tsparticles/plugin-easing-bounce': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-easing-bounce": + specifier: workspace:4.0.0-beta.1 version: link:../../plugins/easings/bounce/dist - '@tsparticles/plugin-easing-circ': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-easing-circ": + specifier: workspace:4.0.0-beta.1 version: link:../../plugins/easings/circ/dist - '@tsparticles/plugin-easing-cubic': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-easing-cubic": + specifier: workspace:4.0.0-beta.1 version: link:../../plugins/easings/cubic/dist - '@tsparticles/plugin-easing-elastic': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-easing-elastic": + specifier: workspace:4.0.0-beta.1 version: link:../../plugins/easings/elastic/dist - '@tsparticles/plugin-easing-expo': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-easing-expo": + specifier: workspace:4.0.0-beta.1 version: link:../../plugins/easings/expo/dist - '@tsparticles/plugin-easing-gaussian': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-easing-gaussian": + specifier: workspace:4.0.0-beta.1 version: link:../../plugins/easings/gaussian/dist - '@tsparticles/plugin-easing-linear': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-easing-linear": + specifier: workspace:4.0.0-beta.1 version: link:../../plugins/easings/linear/dist - '@tsparticles/plugin-easing-quart': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-easing-quart": + specifier: workspace:4.0.0-beta.1 version: link:../../plugins/easings/quart/dist - '@tsparticles/plugin-easing-quint': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-easing-quint": + specifier: workspace:4.0.0-beta.1 version: link:../../plugins/easings/quint/dist - '@tsparticles/plugin-easing-sigmoid': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-easing-sigmoid": + specifier: workspace:4.0.0-beta.1 version: link:../../plugins/easings/sigmoid/dist - '@tsparticles/plugin-easing-sine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-easing-sine": + specifier: workspace:4.0.0-beta.1 version: link:../../plugins/easings/sine/dist - '@tsparticles/plugin-easing-smoothstep': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-easing-smoothstep": + specifier: workspace:4.0.0-beta.1 version: link:../../plugins/easings/smoothstep/dist - '@tsparticles/plugin-emitters-shape-canvas': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-emitters-shape-canvas": + specifier: workspace:4.0.0-beta.1 version: link:../../plugins/emittersShapes/canvas/dist - '@tsparticles/plugin-emitters-shape-path': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-emitters-shape-path": + specifier: workspace:4.0.0-beta.1 version: link:../../plugins/emittersShapes/path/dist - '@tsparticles/plugin-emitters-shape-polygon': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-emitters-shape-polygon": + specifier: workspace:4.0.0-beta.1 version: link:../../plugins/emittersShapes/polygon/dist - '@tsparticles/plugin-export-image': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-export-image": + specifier: workspace:4.0.0-beta.1 version: link:../../plugins/exports/image/dist - '@tsparticles/plugin-export-json': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-export-json": + specifier: workspace:4.0.0-beta.1 version: link:../../plugins/exports/json/dist - '@tsparticles/plugin-export-video': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-export-video": + specifier: workspace:4.0.0-beta.1 version: link:../../plugins/exports/video/dist - '@tsparticles/plugin-hsv-color': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-hsv-color": + specifier: workspace:4.0.0-beta.1 version: link:../../plugins/colors/hsv/dist - '@tsparticles/plugin-hwb-color': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-hwb-color": + specifier: workspace:4.0.0-beta.1 version: link:../../plugins/colors/hwb/dist - '@tsparticles/plugin-infection': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-infection": + specifier: workspace:4.0.0-beta.1 version: link:../../plugins/infection/dist - '@tsparticles/plugin-lab-color': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-lab-color": + specifier: workspace:4.0.0-beta.1 version: link:../../plugins/colors/lab/dist - '@tsparticles/plugin-lch-color': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-lch-color": + specifier: workspace:4.0.0-beta.1 version: link:../../plugins/colors/lch/dist - '@tsparticles/plugin-manual-particles': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-manual-particles": + specifier: workspace:4.0.0-beta.1 version: link:../../plugins/manualParticles/dist - '@tsparticles/plugin-motion': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-motion": + specifier: workspace:4.0.0-beta.1 version: link:../../plugins/motion/dist - '@tsparticles/plugin-named-color': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-named-color": + specifier: workspace:4.0.0-beta.1 version: link:../../plugins/colors/named/dist - '@tsparticles/plugin-oklab-color': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-oklab-color": + specifier: workspace:4.0.0-beta.1 version: link:../../plugins/colors/oklab/dist - '@tsparticles/plugin-oklch-color': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-oklch-color": + specifier: workspace:4.0.0-beta.1 version: link:../../plugins/colors/oklch/dist - '@tsparticles/plugin-poisson-disc': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-poisson-disc": + specifier: workspace:4.0.0-beta.1 version: link:../../plugins/poisson/dist - '@tsparticles/plugin-polygon-mask': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-polygon-mask": + specifier: workspace:4.0.0-beta.1 version: link:../../plugins/polygonMask/dist - '@tsparticles/plugin-responsive': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-responsive": + specifier: workspace:4.0.0-beta.1 version: link:../../plugins/responsive/dist - '@tsparticles/plugin-sounds': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-sounds": + specifier: workspace:4.0.0-beta.1 version: link:../../plugins/sounds/dist - '@tsparticles/plugin-themes': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-themes": + specifier: workspace:4.0.0-beta.1 version: link:../../plugins/themes/dist - '@tsparticles/plugin-trail': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-trail": + specifier: workspace:4.0.0-beta.1 version: link:../../plugins/trail/dist - '@tsparticles/plugin-zoom': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-zoom": + specifier: workspace:4.0.0-beta.1 version: link:../../plugins/zoom/dist - '@tsparticles/shape-arrow': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/shape-arrow": + specifier: workspace:4.0.0-beta.1 version: link:../../shapes/arrow/dist - '@tsparticles/shape-cards': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/shape-cards": + specifier: workspace:4.0.0-beta.1 version: link:../../shapes/cards/dist - '@tsparticles/shape-cog': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/shape-cog": + specifier: workspace:4.0.0-beta.1 version: link:../../shapes/cog/dist - '@tsparticles/shape-heart': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/shape-heart": + specifier: workspace:4.0.0-beta.1 version: link:../../shapes/heart/dist - '@tsparticles/shape-infinity': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/shape-infinity": + specifier: workspace:4.0.0-beta.1 version: link:../../shapes/infinity/dist - '@tsparticles/shape-matrix': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/shape-matrix": + specifier: workspace:4.0.0-beta.1 version: link:../../shapes/matrix/dist - '@tsparticles/shape-path': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/shape-path": + specifier: workspace:4.0.0-beta.1 version: link:../../shapes/path/dist - '@tsparticles/shape-rounded-polygon': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/shape-rounded-polygon": + specifier: workspace:4.0.0-beta.1 version: link:../../shapes/rounded-polygon/dist - '@tsparticles/shape-rounded-rect': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/shape-rounded-rect": + specifier: workspace:4.0.0-beta.1 version: link:../../shapes/rounded-rect/dist - '@tsparticles/shape-spiral': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/shape-spiral": + specifier: workspace:4.0.0-beta.1 version: link:../../shapes/spiral/dist - '@tsparticles/shape-squircle': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/shape-squircle": + specifier: workspace:4.0.0-beta.1 version: link:../../shapes/squircle/dist - '@tsparticles/updater-gradient': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/updater-gradient": + specifier: workspace:4.0.0-beta.1 version: link:../../updaters/gradient/dist - '@tsparticles/updater-orbit': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/updater-orbit": + specifier: workspace:4.0.0-beta.1 version: link:../../updaters/orbit/dist tsparticles: - specifier: workspace:4.0.0-beta.0 + specifier: workspace:4.0.0-beta.1 version: link:../full/dist publishDirectory: dist bundles/basic: dependencies: - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../engine/dist - '@tsparticles/plugin-hex-color': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-hex-color": + specifier: workspace:4.0.0-beta.1 version: link:../../plugins/colors/hex/dist - '@tsparticles/plugin-hsl-color': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-hsl-color": + specifier: workspace:4.0.0-beta.1 version: link:../../plugins/colors/hsl/dist - '@tsparticles/plugin-move': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-move": + specifier: workspace:4.0.0-beta.1 version: link:../../plugins/move/dist - '@tsparticles/plugin-rgb-color': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-rgb-color": + specifier: workspace:4.0.0-beta.1 version: link:../../plugins/colors/rgb/dist - '@tsparticles/shape-circle': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/shape-circle": + specifier: workspace:4.0.0-beta.1 version: link:../../shapes/circle/dist - '@tsparticles/updater-fill-color': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/updater-fill-color": + specifier: workspace:4.0.0-beta.1 version: link:../../updaters/fillColor/dist - '@tsparticles/updater-opacity': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/updater-opacity": + specifier: workspace:4.0.0-beta.1 version: link:../../updaters/opacity/dist - '@tsparticles/updater-out-modes': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/updater-out-modes": + specifier: workspace:4.0.0-beta.1 version: link:../../updaters/outModes/dist - '@tsparticles/updater-size': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/updater-size": + specifier: workspace:4.0.0-beta.1 version: link:../../updaters/size/dist publishDirectory: dist bundles/confetti: dependencies: - '@tsparticles/basic': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/basic": + specifier: workspace:4.0.0-beta.1 version: link:../basic/dist - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../engine/dist - '@tsparticles/plugin-emitters': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-emitters": + specifier: workspace:4.0.0-beta.1 version: link:../../plugins/emitters/dist - '@tsparticles/plugin-motion': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-motion": + specifier: workspace:4.0.0-beta.1 version: link:../../plugins/motion/dist - '@tsparticles/shape-cards': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/shape-cards": + specifier: workspace:4.0.0-beta.1 version: link:../../shapes/cards/dist - '@tsparticles/shape-emoji': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/shape-emoji": + specifier: workspace:4.0.0-beta.1 version: link:../../shapes/emoji/dist - '@tsparticles/shape-heart': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/shape-heart": + specifier: workspace:4.0.0-beta.1 version: link:../../shapes/heart/dist - '@tsparticles/shape-image': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/shape-image": + specifier: workspace:4.0.0-beta.1 version: link:../../shapes/image/dist - '@tsparticles/shape-polygon': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/shape-polygon": + specifier: workspace:4.0.0-beta.1 version: link:../../shapes/polygon/dist - '@tsparticles/shape-square': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/shape-square": + specifier: workspace:4.0.0-beta.1 version: link:../../shapes/square/dist - '@tsparticles/shape-star': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/shape-star": + specifier: workspace:4.0.0-beta.1 version: link:../../shapes/star/dist - '@tsparticles/updater-life': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/updater-life": + specifier: workspace:4.0.0-beta.1 version: link:../../updaters/life/dist - '@tsparticles/updater-roll': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/updater-roll": + specifier: workspace:4.0.0-beta.1 version: link:../../updaters/roll/dist - '@tsparticles/updater-rotate': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/updater-rotate": + specifier: workspace:4.0.0-beta.1 version: link:../../updaters/rotate/dist - '@tsparticles/updater-tilt': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/updater-tilt": + specifier: workspace:4.0.0-beta.1 version: link:../../updaters/tilt/dist - '@tsparticles/updater-wobble': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/updater-wobble": + specifier: workspace:4.0.0-beta.1 version: link:../../updaters/wobble/dist publishDirectory: dist bundles/fireworks: dependencies: - '@tsparticles/basic': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/basic": + specifier: workspace:4.0.0-beta.1 version: link:../basic/dist - '@tsparticles/effect-trail': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/effect-trail": + specifier: workspace:4.0.0-beta.1 version: link:../../effects/trail/dist - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../engine/dist - '@tsparticles/plugin-emitters': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-emitters": + specifier: workspace:4.0.0-beta.1 version: link:../../plugins/emitters/dist - '@tsparticles/plugin-emitters-shape-square': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-emitters-shape-square": + specifier: workspace:4.0.0-beta.1 version: link:../../plugins/emittersShapes/square/dist - '@tsparticles/plugin-sounds': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-sounds": + specifier: workspace:4.0.0-beta.1 version: link:../../plugins/sounds/dist - '@tsparticles/updater-destroy': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/updater-destroy": + specifier: workspace:4.0.0-beta.1 version: link:../../updaters/destroy/dist - '@tsparticles/updater-life': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/updater-life": + specifier: workspace:4.0.0-beta.1 version: link:../../updaters/life/dist - '@tsparticles/updater-rotate': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/updater-rotate": + specifier: workspace:4.0.0-beta.1 version: link:../../updaters/rotate/dist publishDirectory: dist bundles/full: dependencies: - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../engine/dist - '@tsparticles/interaction-external-drag': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/interaction-external-drag": + specifier: workspace:4.0.0-beta.1 version: link:../../interactions/external/drag/dist - '@tsparticles/interaction-external-trail': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/interaction-external-trail": + specifier: workspace:4.0.0-beta.1 version: link:../../interactions/external/trail/dist - '@tsparticles/plugin-absorbers': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-absorbers": + specifier: workspace:4.0.0-beta.1 version: link:../../plugins/absorbers/dist - '@tsparticles/plugin-emitters': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-emitters": + specifier: workspace:4.0.0-beta.1 version: link:../../plugins/emitters/dist - '@tsparticles/plugin-emitters-shape-circle': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-emitters-shape-circle": + specifier: workspace:4.0.0-beta.1 version: link:../../plugins/emittersShapes/circle/dist - '@tsparticles/plugin-emitters-shape-square': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-emitters-shape-square": + specifier: workspace:4.0.0-beta.1 version: link:../../plugins/emittersShapes/square/dist - '@tsparticles/shape-text': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/shape-text": + specifier: workspace:4.0.0-beta.1 version: link:../../shapes/text/dist - '@tsparticles/slim': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/slim": + specifier: workspace:4.0.0-beta.1 version: link:../slim/dist - '@tsparticles/updater-destroy': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/updater-destroy": + specifier: workspace:4.0.0-beta.1 version: link:../../updaters/destroy/dist - '@tsparticles/updater-roll': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/updater-roll": + specifier: workspace:4.0.0-beta.1 version: link:../../updaters/roll/dist - '@tsparticles/updater-tilt': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/updater-tilt": + specifier: workspace:4.0.0-beta.1 version: link:../../updaters/tilt/dist - '@tsparticles/updater-twinkle': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/updater-twinkle": + specifier: workspace:4.0.0-beta.1 version: link:../../updaters/twinkle/dist - '@tsparticles/updater-wobble': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/updater-wobble": + specifier: workspace:4.0.0-beta.1 version: link:../../updaters/wobble/dist publishDirectory: dist bundles/pjs: dependencies: - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../engine/dist - '@tsparticles/plugin-responsive': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-responsive": + specifier: workspace:4.0.0-beta.1 version: link:../../plugins/responsive/dist tsparticles: - specifier: workspace:4.0.0-beta.0 + specifier: workspace:4.0.0-beta.1 version: link:../full/dist devDependencies: - '@tsparticles/plugin-interactivity': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-interactivity": + specifier: workspace:4.0.0-beta.1 version: link:../../plugins/interactivity/dist publishDirectory: dist bundles/slim: dependencies: - '@tsparticles/basic': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/basic": + specifier: workspace:4.0.0-beta.1 version: link:../basic/dist - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../engine/dist - '@tsparticles/interaction-external-attract': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/interaction-external-attract": + specifier: workspace:4.0.0-beta.1 version: link:../../interactions/external/attract/dist - '@tsparticles/interaction-external-bounce': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/interaction-external-bounce": + specifier: workspace:4.0.0-beta.1 version: link:../../interactions/external/bounce/dist - '@tsparticles/interaction-external-bubble': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/interaction-external-bubble": + specifier: workspace:4.0.0-beta.1 version: link:../../interactions/external/bubble/dist - '@tsparticles/interaction-external-connect': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/interaction-external-connect": + specifier: workspace:4.0.0-beta.1 version: link:../../interactions/external/connect/dist - '@tsparticles/interaction-external-grab': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/interaction-external-grab": + specifier: workspace:4.0.0-beta.1 version: link:../../interactions/external/grab/dist - '@tsparticles/interaction-external-parallax': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/interaction-external-parallax": + specifier: workspace:4.0.0-beta.1 version: link:../../interactions/external/parallax/dist - '@tsparticles/interaction-external-pause': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/interaction-external-pause": + specifier: workspace:4.0.0-beta.1 version: link:../../interactions/external/pause/dist - '@tsparticles/interaction-external-push': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/interaction-external-push": + specifier: workspace:4.0.0-beta.1 version: link:../../interactions/external/push/dist - '@tsparticles/interaction-external-remove': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/interaction-external-remove": + specifier: workspace:4.0.0-beta.1 version: link:../../interactions/external/remove/dist - '@tsparticles/interaction-external-repulse': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/interaction-external-repulse": + specifier: workspace:4.0.0-beta.1 version: link:../../interactions/external/repulse/dist - '@tsparticles/interaction-external-slow': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/interaction-external-slow": + specifier: workspace:4.0.0-beta.1 version: link:../../interactions/external/slow/dist - '@tsparticles/interaction-particles-attract': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/interaction-particles-attract": + specifier: workspace:4.0.0-beta.1 version: link:../../interactions/particles/attract/dist - '@tsparticles/interaction-particles-collisions': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/interaction-particles-collisions": + specifier: workspace:4.0.0-beta.1 version: link:../../interactions/particles/collisions/dist - '@tsparticles/interaction-particles-links': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/interaction-particles-links": + specifier: workspace:4.0.0-beta.1 version: link:../../interactions/particles/links/dist - '@tsparticles/plugin-easing-quad': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-easing-quad": + specifier: workspace:4.0.0-beta.1 version: link:../../plugins/easings/quad/dist - '@tsparticles/plugin-interactivity': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-interactivity": + specifier: workspace:4.0.0-beta.1 version: link:../../plugins/interactivity/dist - '@tsparticles/shape-emoji': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/shape-emoji": + specifier: workspace:4.0.0-beta.1 version: link:../../shapes/emoji/dist - '@tsparticles/shape-image': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/shape-image": + specifier: workspace:4.0.0-beta.1 version: link:../../shapes/image/dist - '@tsparticles/shape-line': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/shape-line": + specifier: workspace:4.0.0-beta.1 version: link:../../shapes/line/dist - '@tsparticles/shape-polygon': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/shape-polygon": + specifier: workspace:4.0.0-beta.1 version: link:../../shapes/polygon/dist - '@tsparticles/shape-square': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/shape-square": + specifier: workspace:4.0.0-beta.1 version: link:../../shapes/square/dist - '@tsparticles/shape-star': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/shape-star": + specifier: workspace:4.0.0-beta.1 version: link:../../shapes/star/dist - '@tsparticles/updater-life': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/updater-life": + specifier: workspace:4.0.0-beta.1 version: link:../../updaters/life/dist - '@tsparticles/updater-rotate': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/updater-rotate": + specifier: workspace:4.0.0-beta.1 version: link:../../updaters/rotate/dist - '@tsparticles/updater-stroke-color': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/updater-stroke-color": + specifier: workspace:4.0.0-beta.1 version: link:../../updaters/strokeColor/dist publishDirectory: dist demo/electron: dependencies: - '@tsparticles/configs': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/configs": + specifier: workspace:4.0.0-beta.1 version: link:../../utils/configs/dist - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../engine/dist tsparticles: - specifier: workspace:4.0.0-beta.0 + specifier: workspace:4.0.0-beta.1 version: link:../../bundles/full/dist devDependencies: electron: @@ -689,437 +688,437 @@ importers: demo/vanilla: dependencies: - '@tsparticles/all': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/all": + specifier: workspace:4.0.0-beta.1 version: link:../../bundles/all/dist - '@tsparticles/basic': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/basic": + specifier: workspace:4.0.0-beta.1 version: link:../../bundles/basic/dist - '@tsparticles/canvas-utils': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/canvas-utils": + specifier: workspace:4.0.0-beta.1 version: link:../../utils/canvasUtils/dist - '@tsparticles/confetti': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/confetti": + specifier: workspace:4.0.0-beta.1 version: link:../../bundles/confetti/dist - '@tsparticles/configs': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/configs": + specifier: workspace:4.0.0-beta.1 version: link:../../utils/configs/dist - '@tsparticles/effect-bubble': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/effect-bubble": + specifier: workspace:4.0.0-beta.1 version: link:../../effects/bubble/dist - '@tsparticles/effect-particles': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/effect-particles": + specifier: workspace:4.0.0-beta.1 version: link:../../effects/particles/dist - '@tsparticles/effect-shadow': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/effect-shadow": + specifier: workspace:4.0.0-beta.1 version: link:../../effects/shadow/dist - '@tsparticles/effect-trail': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/effect-trail": + specifier: workspace:4.0.0-beta.1 version: link:../../effects/trail/dist - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../engine/dist - '@tsparticles/fireworks': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/fireworks": + specifier: workspace:4.0.0-beta.1 version: link:../../bundles/fireworks/dist - '@tsparticles/fractal-noise': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/fractal-noise": + specifier: workspace:4.0.0-beta.1 version: link:../../utils/fractalNoise/dist - '@tsparticles/interaction-external-attract': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/interaction-external-attract": + specifier: workspace:4.0.0-beta.1 version: link:../../interactions/external/attract/dist - '@tsparticles/interaction-external-bounce': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/interaction-external-bounce": + specifier: workspace:4.0.0-beta.1 version: link:../../interactions/external/bounce/dist - '@tsparticles/interaction-external-bubble': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/interaction-external-bubble": + specifier: workspace:4.0.0-beta.1 version: link:../../interactions/external/bubble/dist - '@tsparticles/interaction-external-cannon': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/interaction-external-cannon": + specifier: workspace:4.0.0-beta.1 version: link:../../interactions/external/cannon/dist - '@tsparticles/interaction-external-connect': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/interaction-external-connect": + specifier: workspace:4.0.0-beta.1 version: link:../../interactions/external/connect/dist - '@tsparticles/interaction-external-drag': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/interaction-external-drag": + specifier: workspace:4.0.0-beta.1 version: link:../../interactions/external/drag/dist - '@tsparticles/interaction-external-grab': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/interaction-external-grab": + specifier: workspace:4.0.0-beta.1 version: link:../../interactions/external/grab/dist - '@tsparticles/interaction-external-parallax': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/interaction-external-parallax": + specifier: workspace:4.0.0-beta.1 version: link:../../interactions/external/parallax/dist - '@tsparticles/interaction-external-particle': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/interaction-external-particle": + specifier: workspace:4.0.0-beta.1 version: link:../../interactions/external/particle/dist - '@tsparticles/interaction-external-pause': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/interaction-external-pause": + specifier: workspace:4.0.0-beta.1 version: link:../../interactions/external/pause/dist - '@tsparticles/interaction-external-pop': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/interaction-external-pop": + specifier: workspace:4.0.0-beta.1 version: link:../../interactions/external/pop/dist - '@tsparticles/interaction-external-push': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/interaction-external-push": + specifier: workspace:4.0.0-beta.1 version: link:../../interactions/external/push/dist - '@tsparticles/interaction-external-remove': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/interaction-external-remove": + specifier: workspace:4.0.0-beta.1 version: link:../../interactions/external/remove/dist - '@tsparticles/interaction-external-repulse': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/interaction-external-repulse": + specifier: workspace:4.0.0-beta.1 version: link:../../interactions/external/repulse/dist - '@tsparticles/interaction-external-slow': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/interaction-external-slow": + specifier: workspace:4.0.0-beta.1 version: link:../../interactions/external/slow/dist - '@tsparticles/interaction-external-trail': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/interaction-external-trail": + specifier: workspace:4.0.0-beta.1 version: link:../../interactions/external/trail/dist - '@tsparticles/interaction-light': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/interaction-light": + specifier: workspace:4.0.0-beta.1 version: link:../../interactions/light/dist - '@tsparticles/interaction-particles-attract': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/interaction-particles-attract": + specifier: workspace:4.0.0-beta.1 version: link:../../interactions/particles/attract/dist - '@tsparticles/interaction-particles-collisions': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/interaction-particles-collisions": + specifier: workspace:4.0.0-beta.1 version: link:../../interactions/particles/collisions/dist - '@tsparticles/interaction-particles-links': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/interaction-particles-links": + specifier: workspace:4.0.0-beta.1 version: link:../../interactions/particles/links/dist - '@tsparticles/interaction-particles-repulse': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/interaction-particles-repulse": + specifier: workspace:4.0.0-beta.1 version: link:../../interactions/particles/repulse/dist - '@tsparticles/noise-field': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/noise-field": + specifier: workspace:4.0.0-beta.1 version: link:../../utils/noiseField/dist - '@tsparticles/path-branches': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/path-branches": + specifier: workspace:4.0.0-beta.1 version: link:../../paths/branches/dist - '@tsparticles/path-brownian': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/path-brownian": + specifier: workspace:4.0.0-beta.1 version: link:../../paths/brownian/dist - '@tsparticles/path-curl-noise': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/path-curl-noise": + specifier: workspace:4.0.0-beta.1 version: link:../../paths/curlNoise/dist - '@tsparticles/path-curves': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/path-curves": + specifier: workspace:4.0.0-beta.1 version: link:../../paths/curves/dist - '@tsparticles/path-fractal-noise': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/path-fractal-noise": + specifier: workspace:4.0.0-beta.1 version: link:../../paths/fractalNoise/dist - '@tsparticles/path-grid': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/path-grid": + specifier: workspace:4.0.0-beta.1 version: link:../../paths/grid/dist - '@tsparticles/path-levy': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/path-levy": + specifier: workspace:4.0.0-beta.1 version: link:../../paths/levy/dist - '@tsparticles/path-perlin-noise': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/path-perlin-noise": + specifier: workspace:4.0.0-beta.1 version: link:../../paths/perlinNoise/dist - '@tsparticles/path-polygon': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/path-polygon": + specifier: workspace:4.0.0-beta.1 version: link:../../paths/polygon/dist - '@tsparticles/path-random': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/path-random": + specifier: workspace:4.0.0-beta.1 version: link:../../paths/random/dist - '@tsparticles/path-simplex-noise': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/path-simplex-noise": + specifier: workspace:4.0.0-beta.1 version: link:../../paths/simplexNoise/dist - '@tsparticles/path-spiral': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/path-spiral": + specifier: workspace:4.0.0-beta.1 version: link:../../paths/spiral/dist - '@tsparticles/path-svg': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/path-svg": + specifier: workspace:4.0.0-beta.1 version: link:../../paths/svg/dist - '@tsparticles/path-utils': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/path-utils": + specifier: workspace:4.0.0-beta.1 version: link:../../utils/pathUtils/dist - '@tsparticles/path-zig-zag': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/path-zig-zag": + specifier: workspace:4.0.0-beta.1 version: link:../../paths/zigzag/dist - '@tsparticles/perlin-noise': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/perlin-noise": + specifier: workspace:4.0.0-beta.1 version: link:../../utils/perlinNoise/dist - '@tsparticles/pjs': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/pjs": + specifier: workspace:4.0.0-beta.1 version: link:../../bundles/pjs/dist - '@tsparticles/plugin-absorbers': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-absorbers": + specifier: workspace:4.0.0-beta.1 version: link:../../plugins/absorbers/dist - '@tsparticles/plugin-background-mask': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-background-mask": + specifier: workspace:4.0.0-beta.1 version: link:../../plugins/backgroundMask/dist - '@tsparticles/plugin-blend': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-blend": + specifier: workspace:4.0.0-beta.1 version: link:../../plugins/blend/dist - '@tsparticles/plugin-canvas-mask': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-canvas-mask": + specifier: workspace:4.0.0-beta.1 version: link:../../plugins/canvasMask/dist - '@tsparticles/plugin-easing-back': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-easing-back": + specifier: workspace:4.0.0-beta.1 version: link:../../plugins/easings/back/dist - '@tsparticles/plugin-easing-bounce': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-easing-bounce": + specifier: workspace:4.0.0-beta.1 version: link:../../plugins/easings/bounce/dist - '@tsparticles/plugin-easing-circ': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-easing-circ": + specifier: workspace:4.0.0-beta.1 version: link:../../plugins/easings/circ/dist - '@tsparticles/plugin-easing-cubic': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-easing-cubic": + specifier: workspace:4.0.0-beta.1 version: link:../../plugins/easings/cubic/dist - '@tsparticles/plugin-easing-elastic': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-easing-elastic": + specifier: workspace:4.0.0-beta.1 version: link:../../plugins/easings/elastic/dist - '@tsparticles/plugin-easing-expo': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-easing-expo": + specifier: workspace:4.0.0-beta.1 version: link:../../plugins/easings/expo/dist - '@tsparticles/plugin-easing-gaussian': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-easing-gaussian": + specifier: workspace:4.0.0-beta.1 version: link:../../plugins/easings/gaussian/dist - '@tsparticles/plugin-easing-linear': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-easing-linear": + specifier: workspace:4.0.0-beta.1 version: link:../../plugins/easings/linear/dist - '@tsparticles/plugin-easing-quad': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-easing-quad": + specifier: workspace:4.0.0-beta.1 version: link:../../plugins/easings/quad/dist - '@tsparticles/plugin-easing-quart': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-easing-quart": + specifier: workspace:4.0.0-beta.1 version: link:../../plugins/easings/quart/dist - '@tsparticles/plugin-easing-quint': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-easing-quint": + specifier: workspace:4.0.0-beta.1 version: link:../../plugins/easings/quint/dist - '@tsparticles/plugin-easing-sigmoid': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-easing-sigmoid": + specifier: workspace:4.0.0-beta.1 version: link:../../plugins/easings/sigmoid/dist - '@tsparticles/plugin-easing-sine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-easing-sine": + specifier: workspace:4.0.0-beta.1 version: link:../../plugins/easings/sine/dist - '@tsparticles/plugin-easing-smoothstep': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-easing-smoothstep": + specifier: workspace:4.0.0-beta.1 version: link:../../plugins/easings/smoothstep/dist - '@tsparticles/plugin-emitters': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-emitters": + specifier: workspace:4.0.0-beta.1 version: link:../../plugins/emitters/dist - '@tsparticles/plugin-emitters-shape-canvas': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-emitters-shape-canvas": + specifier: workspace:4.0.0-beta.1 version: link:../../plugins/emittersShapes/canvas/dist - '@tsparticles/plugin-emitters-shape-circle': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-emitters-shape-circle": + specifier: workspace:4.0.0-beta.1 version: link:../../plugins/emittersShapes/circle/dist - '@tsparticles/plugin-emitters-shape-path': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-emitters-shape-path": + specifier: workspace:4.0.0-beta.1 version: link:../../plugins/emittersShapes/path/dist - '@tsparticles/plugin-emitters-shape-polygon': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-emitters-shape-polygon": + specifier: workspace:4.0.0-beta.1 version: link:../../plugins/emittersShapes/polygon/dist - '@tsparticles/plugin-emitters-shape-square': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-emitters-shape-square": + specifier: workspace:4.0.0-beta.1 version: link:../../plugins/emittersShapes/square/dist - '@tsparticles/plugin-export-image': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-export-image": + specifier: workspace:4.0.0-beta.1 version: link:../../plugins/exports/image/dist - '@tsparticles/plugin-export-json': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-export-json": + specifier: workspace:4.0.0-beta.1 version: link:../../plugins/exports/json/dist - '@tsparticles/plugin-export-video': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-export-video": + specifier: workspace:4.0.0-beta.1 version: link:../../plugins/exports/video/dist - '@tsparticles/plugin-hex-color': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-hex-color": + specifier: workspace:4.0.0-beta.1 version: link:../../plugins/colors/hex/dist - '@tsparticles/plugin-hsl-color': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-hsl-color": + specifier: workspace:4.0.0-beta.1 version: link:../../plugins/colors/hsl/dist - '@tsparticles/plugin-hsv-color': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-hsv-color": + specifier: workspace:4.0.0-beta.1 version: link:../../plugins/colors/hsv/dist - '@tsparticles/plugin-hwb-color': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-hwb-color": + specifier: workspace:4.0.0-beta.1 version: link:../../plugins/colors/hwb/dist - '@tsparticles/plugin-infection': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-infection": + specifier: workspace:4.0.0-beta.1 version: link:../../plugins/infection/dist - '@tsparticles/plugin-interactivity': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-interactivity": + specifier: workspace:4.0.0-beta.1 version: link:../../plugins/interactivity/dist - '@tsparticles/plugin-lab-color': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-lab-color": + specifier: workspace:4.0.0-beta.1 version: link:../../plugins/colors/lab/dist - '@tsparticles/plugin-lch-color': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-lch-color": + specifier: workspace:4.0.0-beta.1 version: link:../../plugins/colors/lch/dist - '@tsparticles/plugin-manual-particles': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-manual-particles": + specifier: workspace:4.0.0-beta.1 version: link:../../plugins/manualParticles/dist - '@tsparticles/plugin-motion': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-motion": + specifier: workspace:4.0.0-beta.1 version: link:../../plugins/motion/dist - '@tsparticles/plugin-move': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-move": + specifier: workspace:4.0.0-beta.1 version: link:../../plugins/move/dist - '@tsparticles/plugin-named-color': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-named-color": + specifier: workspace:4.0.0-beta.1 version: link:../../plugins/colors/named/dist - '@tsparticles/plugin-oklab-color': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-oklab-color": + specifier: workspace:4.0.0-beta.1 version: link:../../plugins/colors/oklab/dist - '@tsparticles/plugin-oklch-color': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-oklch-color": + specifier: workspace:4.0.0-beta.1 version: link:../../plugins/colors/oklch/dist - '@tsparticles/plugin-poisson-disc': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-poisson-disc": + specifier: workspace:4.0.0-beta.1 version: link:../../plugins/poisson/dist - '@tsparticles/plugin-polygon-mask': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-polygon-mask": + specifier: workspace:4.0.0-beta.1 version: link:../../plugins/polygonMask/dist - '@tsparticles/plugin-responsive': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-responsive": + specifier: workspace:4.0.0-beta.1 version: link:../../plugins/responsive/dist - '@tsparticles/plugin-rgb-color': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-rgb-color": + specifier: workspace:4.0.0-beta.1 version: link:../../plugins/colors/rgb/dist - '@tsparticles/plugin-sounds': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-sounds": + specifier: workspace:4.0.0-beta.1 version: link:../../plugins/sounds/dist - '@tsparticles/plugin-themes': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-themes": + specifier: workspace:4.0.0-beta.1 version: link:../../plugins/themes/dist - '@tsparticles/plugin-trail': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-trail": + specifier: workspace:4.0.0-beta.1 version: link:../../plugins/trail/dist - '@tsparticles/plugin-zoom': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-zoom": + specifier: workspace:4.0.0-beta.1 version: link:../../plugins/zoom/dist - '@tsparticles/shape-arrow': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/shape-arrow": + specifier: workspace:4.0.0-beta.1 version: link:../../shapes/arrow/dist - '@tsparticles/shape-cards': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/shape-cards": + specifier: workspace:4.0.0-beta.1 version: link:../../shapes/cards/dist - '@tsparticles/shape-circle': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/shape-circle": + specifier: workspace:4.0.0-beta.1 version: link:../../shapes/circle/dist - '@tsparticles/shape-cog': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/shape-cog": + specifier: workspace:4.0.0-beta.1 version: link:../../shapes/cog/dist - '@tsparticles/shape-emoji': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/shape-emoji": + specifier: workspace:4.0.0-beta.1 version: link:../../shapes/emoji/dist - '@tsparticles/shape-heart': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/shape-heart": + specifier: workspace:4.0.0-beta.1 version: link:../../shapes/heart/dist - '@tsparticles/shape-image': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/shape-image": + specifier: workspace:4.0.0-beta.1 version: link:../../shapes/image/dist - '@tsparticles/shape-infinity': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/shape-infinity": + specifier: workspace:4.0.0-beta.1 version: link:../../shapes/infinity/dist - '@tsparticles/shape-line': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/shape-line": + specifier: workspace:4.0.0-beta.1 version: link:../../shapes/line/dist - '@tsparticles/shape-matrix': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/shape-matrix": + specifier: workspace:4.0.0-beta.1 version: link:../../shapes/matrix/dist - '@tsparticles/shape-path': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/shape-path": + specifier: workspace:4.0.0-beta.1 version: link:../../shapes/path/dist - '@tsparticles/shape-polygon': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/shape-polygon": + specifier: workspace:4.0.0-beta.1 version: link:../../shapes/polygon/dist - '@tsparticles/shape-rounded-polygon': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/shape-rounded-polygon": + specifier: workspace:4.0.0-beta.1 version: link:../../shapes/rounded-polygon/dist - '@tsparticles/shape-rounded-rect': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/shape-rounded-rect": + specifier: workspace:4.0.0-beta.1 version: link:../../shapes/rounded-rect/dist - '@tsparticles/shape-spiral': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/shape-spiral": + specifier: workspace:4.0.0-beta.1 version: link:../../shapes/spiral/dist - '@tsparticles/shape-square': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/shape-square": + specifier: workspace:4.0.0-beta.1 version: link:../../shapes/square/dist - '@tsparticles/shape-squircle': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/shape-squircle": + specifier: workspace:4.0.0-beta.1 version: link:../../shapes/squircle/dist - '@tsparticles/shape-star': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/shape-star": + specifier: workspace:4.0.0-beta.1 version: link:../../shapes/star/dist - '@tsparticles/shape-text': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/shape-text": + specifier: workspace:4.0.0-beta.1 version: link:../../shapes/text/dist - '@tsparticles/simplex-noise': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/simplex-noise": + specifier: workspace:4.0.0-beta.1 version: link:../../utils/simplexNoise/dist - '@tsparticles/slim': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/slim": + specifier: workspace:4.0.0-beta.1 version: link:../../bundles/slim/dist - '@tsparticles/smooth-value-noise': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/smooth-value-noise": + specifier: workspace:4.0.0-beta.1 version: link:../../utils/smoothValueNoise/dist - '@tsparticles/updater-destroy': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/updater-destroy": + specifier: workspace:4.0.0-beta.1 version: link:../../updaters/destroy/dist - '@tsparticles/updater-fill-color': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/updater-fill-color": + specifier: workspace:4.0.0-beta.1 version: link:../../updaters/fillColor/dist - '@tsparticles/updater-gradient': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/updater-gradient": + specifier: workspace:4.0.0-beta.1 version: link:../../updaters/gradient/dist - '@tsparticles/updater-life': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/updater-life": + specifier: workspace:4.0.0-beta.1 version: link:../../updaters/life/dist - '@tsparticles/updater-opacity': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/updater-opacity": + specifier: workspace:4.0.0-beta.1 version: link:../../updaters/opacity/dist - '@tsparticles/updater-orbit': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/updater-orbit": + specifier: workspace:4.0.0-beta.1 version: link:../../updaters/orbit/dist - '@tsparticles/updater-out-modes': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/updater-out-modes": + specifier: workspace:4.0.0-beta.1 version: link:../../updaters/outModes/dist - '@tsparticles/updater-roll': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/updater-roll": + specifier: workspace:4.0.0-beta.1 version: link:../../updaters/roll/dist - '@tsparticles/updater-rotate': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/updater-rotate": + specifier: workspace:4.0.0-beta.1 version: link:../../updaters/rotate/dist - '@tsparticles/updater-size': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/updater-size": + specifier: workspace:4.0.0-beta.1 version: link:../../updaters/size/dist - '@tsparticles/updater-stroke-color': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/updater-stroke-color": + specifier: workspace:4.0.0-beta.1 version: link:../../updaters/strokeColor/dist - '@tsparticles/updater-tilt': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/updater-tilt": + specifier: workspace:4.0.0-beta.1 version: link:../../updaters/tilt/dist - '@tsparticles/updater-twinkle': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/updater-twinkle": + specifier: workspace:4.0.0-beta.1 version: link:../../updaters/twinkle/dist - '@tsparticles/updater-wobble': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/updater-wobble": + specifier: workspace:4.0.0-beta.1 version: link:../../updaters/wobble/dist tsparticles: - specifier: workspace:4.0.0-beta.0 + specifier: workspace:4.0.0-beta.1 version: link:../../bundles/full/dist devDependencies: - '@datalust/winston-seq': + "@datalust/winston-seq": specifier: ^3.0.1 version: 3.0.1(encoding@0.1.13)(winston@3.19.0) - '@fortawesome/fontawesome-free': + "@fortawesome/fontawesome-free": specifier: ^7.2.0 version: 7.2.0 - '@types/connect-livereload': + "@types/connect-livereload": specifier: ^0.6.3 version: 0.6.3 - '@types/express': + "@types/express": specifier: ^5.0.6 version: 5.0.6 - '@types/livereload': + "@types/livereload": specifier: ^0.9.5 version: 0.9.5 - '@types/node': + "@types/node": specifier: ^25.5.0 version: 25.5.0 - '@types/stylus': + "@types/stylus": specifier: ^0.48.43 version: 0.48.43 ace-builds: @@ -1176,44 +1175,44 @@ importers: demo/vanilla_new: dependencies: - '@tsparticles/configs': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/configs": + specifier: workspace:4.0.0-beta.1 version: link:../../utils/configs/dist - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../engine/dist - '@tsparticles/interaction-light': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/interaction-light": + specifier: workspace:4.0.0-beta.1 version: link:../../interactions/light/dist - '@tsparticles/interaction-particles-repulse': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/interaction-particles-repulse": + specifier: workspace:4.0.0-beta.1 version: link:../../interactions/particles/repulse/dist - '@tsparticles/path-curves': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/path-curves": + specifier: workspace:4.0.0-beta.1 version: link:../../paths/curves/dist - '@tsparticles/path-perlin-noise': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/path-perlin-noise": + specifier: workspace:4.0.0-beta.1 version: link:../../paths/perlinNoise/dist - '@tsparticles/path-polygon': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/path-polygon": + specifier: workspace:4.0.0-beta.1 version: link:../../paths/polygon/dist - '@tsparticles/path-simplex-noise': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/path-simplex-noise": + specifier: workspace:4.0.0-beta.1 version: link:../../paths/simplexNoise/dist - '@tsparticles/plugin-infection': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-infection": + specifier: workspace:4.0.0-beta.1 version: link:../../plugins/infection/dist - '@tsparticles/updater-gradient': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/updater-gradient": + specifier: workspace:4.0.0-beta.1 version: link:../../updaters/gradient/dist - '@tsparticles/updater-orbit': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/updater-orbit": + specifier: workspace:4.0.0-beta.1 version: link:../../updaters/orbit/dist tsparticles: - specifier: workspace:4.0.0-beta.0 + specifier: workspace:4.0.0-beta.1 version: link:../../bundles/full/dist devDependencies: - '@swc/core': + "@swc/core": specifier: ^1.15.18 version: 1.15.18 fs-extra: @@ -1228,14 +1227,14 @@ importers: demo/vite: dependencies: - '@tsparticles/all': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/all": + specifier: workspace:4.0.0-beta.1 version: link:../../bundles/all/dist - '@tsparticles/configs': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/configs": + specifier: workspace:4.0.0-beta.1 version: link:../../utils/configs/dist - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../engine/dist devDependencies: typescript: @@ -1247,29 +1246,29 @@ importers: effects/bubble: dependencies: - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../engine/dist publishDirectory: dist effects/particles: dependencies: - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../engine/dist publishDirectory: dist effects/shadow: dependencies: - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../engine/dist publishDirectory: dist effects/trail: dependencies: - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../engine/dist publishDirectory: dist @@ -1278,1035 +1277,1035 @@ importers: interactions/external/attract: dependencies: - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../../engine/dist - '@tsparticles/plugin-interactivity': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-interactivity": + specifier: workspace:4.0.0-beta.1 version: link:../../../plugins/interactivity/dist publishDirectory: dist interactions/external/bounce: dependencies: - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../../engine/dist - '@tsparticles/plugin-interactivity': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-interactivity": + specifier: workspace:4.0.0-beta.1 version: link:../../../plugins/interactivity/dist publishDirectory: dist interactions/external/bubble: dependencies: - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../../engine/dist - '@tsparticles/plugin-interactivity': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-interactivity": + specifier: workspace:4.0.0-beta.1 version: link:../../../plugins/interactivity/dist publishDirectory: dist interactions/external/cannon: dependencies: - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../../engine/dist - '@tsparticles/plugin-interactivity': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-interactivity": + specifier: workspace:4.0.0-beta.1 version: link:../../../plugins/interactivity/dist publishDirectory: dist interactions/external/connect: dependencies: - '@tsparticles/canvas-utils': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/canvas-utils": + specifier: workspace:4.0.0-beta.1 version: link:../../../utils/canvasUtils/dist - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../../engine/dist - '@tsparticles/plugin-interactivity': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-interactivity": + specifier: workspace:4.0.0-beta.1 version: link:../../../plugins/interactivity/dist publishDirectory: dist interactions/external/drag: dependencies: - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../../engine/dist - '@tsparticles/plugin-interactivity': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-interactivity": + specifier: workspace:4.0.0-beta.1 version: link:../../../plugins/interactivity/dist publishDirectory: dist interactions/external/grab: dependencies: - '@tsparticles/canvas-utils': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/canvas-utils": + specifier: workspace:4.0.0-beta.1 version: link:../../../utils/canvasUtils/dist - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../../engine/dist - '@tsparticles/plugin-interactivity': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-interactivity": + specifier: workspace:4.0.0-beta.1 version: link:../../../plugins/interactivity/dist publishDirectory: dist interactions/external/parallax: dependencies: - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../../engine/dist - '@tsparticles/plugin-interactivity': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-interactivity": + specifier: workspace:4.0.0-beta.1 version: link:../../../plugins/interactivity/dist publishDirectory: dist interactions/external/particle: dependencies: - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../../engine/dist - '@tsparticles/plugin-interactivity': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-interactivity": + specifier: workspace:4.0.0-beta.1 version: link:../../../plugins/interactivity/dist publishDirectory: dist interactions/external/pause: dependencies: - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../../engine/dist - '@tsparticles/plugin-interactivity': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-interactivity": + specifier: workspace:4.0.0-beta.1 version: link:../../../plugins/interactivity/dist publishDirectory: dist interactions/external/pop: dependencies: - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../../engine/dist - '@tsparticles/plugin-interactivity': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-interactivity": + specifier: workspace:4.0.0-beta.1 version: link:../../../plugins/interactivity/dist publishDirectory: dist interactions/external/push: dependencies: - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../../engine/dist - '@tsparticles/plugin-interactivity': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-interactivity": + specifier: workspace:4.0.0-beta.1 version: link:../../../plugins/interactivity/dist publishDirectory: dist interactions/external/remove: dependencies: - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../../engine/dist - '@tsparticles/plugin-interactivity': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-interactivity": + specifier: workspace:4.0.0-beta.1 version: link:../../../plugins/interactivity/dist publishDirectory: dist interactions/external/repulse: dependencies: - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../../engine/dist - '@tsparticles/plugin-interactivity': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-interactivity": + specifier: workspace:4.0.0-beta.1 version: link:../../../plugins/interactivity/dist publishDirectory: dist interactions/external/slow: dependencies: - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../../engine/dist - '@tsparticles/plugin-interactivity': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-interactivity": + specifier: workspace:4.0.0-beta.1 version: link:../../../plugins/interactivity/dist publishDirectory: dist interactions/external/trail: dependencies: - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../../engine/dist - '@tsparticles/plugin-interactivity': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-interactivity": + specifier: workspace:4.0.0-beta.1 version: link:../../../plugins/interactivity/dist publishDirectory: dist interactions/light: dependencies: - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../engine/dist - '@tsparticles/plugin-interactivity': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-interactivity": + specifier: workspace:4.0.0-beta.1 version: link:../../plugins/interactivity/dist publishDirectory: dist interactions/particles/attract: dependencies: - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../../engine/dist - '@tsparticles/plugin-interactivity': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-interactivity": + specifier: workspace:4.0.0-beta.1 version: link:../../../plugins/interactivity/dist publishDirectory: dist interactions/particles/collisions: dependencies: - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../../engine/dist - '@tsparticles/plugin-interactivity': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-interactivity": + specifier: workspace:4.0.0-beta.1 version: link:../../../plugins/interactivity/dist publishDirectory: dist interactions/particles/links: dependencies: - '@tsparticles/canvas-utils': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/canvas-utils": + specifier: workspace:4.0.0-beta.1 version: link:../../../utils/canvasUtils/dist - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../../engine/dist - '@tsparticles/plugin-interactivity': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-interactivity": + specifier: workspace:4.0.0-beta.1 version: link:../../../plugins/interactivity/dist publishDirectory: dist interactions/particles/repulse: dependencies: - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../../engine/dist - '@tsparticles/plugin-interactivity': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-interactivity": + specifier: workspace:4.0.0-beta.1 version: link:../../../plugins/interactivity/dist publishDirectory: dist paths/branches: dependencies: - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../engine/dist - '@tsparticles/plugin-move': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-move": + specifier: workspace:4.0.0-beta.1 version: link:../../plugins/move/dist publishDirectory: dist paths/brownian: dependencies: - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../engine/dist - '@tsparticles/plugin-move': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-move": + specifier: workspace:4.0.0-beta.1 version: link:../../plugins/move/dist publishDirectory: dist paths/curlNoise: dependencies: - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../engine/dist - '@tsparticles/plugin-move': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-move": + specifier: workspace:4.0.0-beta.1 version: link:../../plugins/move/dist - '@tsparticles/simplex-noise': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/simplex-noise": + specifier: workspace:4.0.0-beta.1 version: link:../../utils/simplexNoise/dist publishDirectory: dist paths/curves: dependencies: - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../engine/dist - '@tsparticles/plugin-move': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-move": + specifier: workspace:4.0.0-beta.1 version: link:../../plugins/move/dist publishDirectory: dist paths/fractalNoise: dependencies: - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../engine/dist - '@tsparticles/fractal-noise': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/fractal-noise": + specifier: workspace:4.0.0-beta.1 version: link:../../utils/fractalNoise/dist - '@tsparticles/noise-field': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/noise-field": + specifier: workspace:4.0.0-beta.1 version: link:../../utils/noiseField/dist - '@tsparticles/plugin-move': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-move": + specifier: workspace:4.0.0-beta.1 version: link:../../plugins/move/dist publishDirectory: dist paths/grid: dependencies: - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../engine/dist - '@tsparticles/plugin-move': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-move": + specifier: workspace:4.0.0-beta.1 version: link:../../plugins/move/dist publishDirectory: dist paths/levy: dependencies: - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../engine/dist - '@tsparticles/plugin-move': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-move": + specifier: workspace:4.0.0-beta.1 version: link:../../plugins/move/dist publishDirectory: dist paths/perlinNoise: dependencies: - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../engine/dist - '@tsparticles/noise-field': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/noise-field": + specifier: workspace:4.0.0-beta.1 version: link:../../utils/noiseField/dist - '@tsparticles/perlin-noise': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/perlin-noise": + specifier: workspace:4.0.0-beta.1 version: link:../../utils/perlinNoise/dist - '@tsparticles/plugin-move': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-move": + specifier: workspace:4.0.0-beta.1 version: link:../../plugins/move/dist publishDirectory: dist paths/polygon: dependencies: - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../engine/dist - '@tsparticles/plugin-move': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-move": + specifier: workspace:4.0.0-beta.1 version: link:../../plugins/move/dist publishDirectory: dist paths/random: dependencies: - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../engine/dist - '@tsparticles/plugin-move': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-move": + specifier: workspace:4.0.0-beta.1 version: link:../../plugins/move/dist publishDirectory: dist paths/simplexNoise: dependencies: - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../engine/dist - '@tsparticles/noise-field': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/noise-field": + specifier: workspace:4.0.0-beta.1 version: link:../../utils/noiseField/dist - '@tsparticles/plugin-move': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-move": + specifier: workspace:4.0.0-beta.1 version: link:../../plugins/move/dist - '@tsparticles/simplex-noise': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/simplex-noise": + specifier: workspace:4.0.0-beta.1 version: link:../../utils/simplexNoise/dist publishDirectory: dist paths/spiral: dependencies: - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../engine/dist - '@tsparticles/plugin-move': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-move": + specifier: workspace:4.0.0-beta.1 version: link:../../plugins/move/dist publishDirectory: dist paths/svg: dependencies: - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../engine/dist - '@tsparticles/plugin-move': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-move": + specifier: workspace:4.0.0-beta.1 version: link:../../plugins/move/dist publishDirectory: dist paths/zigzag: dependencies: - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../engine/dist - '@tsparticles/plugin-move': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-move": + specifier: workspace:4.0.0-beta.1 version: link:../../plugins/move/dist publishDirectory: dist plugins/absorbers: dependencies: - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../engine/dist - '@tsparticles/plugin-interactivity': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-interactivity": + specifier: workspace:4.0.0-beta.1 version: link:../interactivity/dist publishDirectory: dist plugins/backgroundMask: dependencies: - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../engine/dist publishDirectory: dist plugins/blend: dependencies: - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../engine/dist publishDirectory: dist plugins/canvasMask: dependencies: - '@tsparticles/canvas-utils': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/canvas-utils": + specifier: workspace:4.0.0-beta.1 version: link:../../utils/canvasUtils/dist - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../engine/dist publishDirectory: dist plugins/colors/hex: dependencies: - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../../engine/dist publishDirectory: dist plugins/colors/hsl: dependencies: - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../../engine/dist publishDirectory: dist plugins/colors/hsv: dependencies: - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../../engine/dist publishDirectory: dist plugins/colors/hwb: dependencies: - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../../engine/dist publishDirectory: dist plugins/colors/lab: dependencies: - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../../engine/dist publishDirectory: dist plugins/colors/lch: dependencies: - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../../engine/dist publishDirectory: dist plugins/colors/named: dependencies: - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../../engine/dist publishDirectory: dist plugins/colors/oklab: dependencies: - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../../engine/dist publishDirectory: dist plugins/colors/oklch: dependencies: - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../../engine/dist publishDirectory: dist plugins/colors/rgb: dependencies: - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../../engine/dist publishDirectory: dist plugins/easings/back: dependencies: - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../../engine/dist publishDirectory: dist plugins/easings/bounce: dependencies: - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../../engine/dist publishDirectory: dist plugins/easings/circ: dependencies: - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../../engine/dist publishDirectory: dist plugins/easings/cubic: dependencies: - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../../engine/dist publishDirectory: dist plugins/easings/elastic: dependencies: - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../../engine/dist publishDirectory: dist plugins/easings/expo: dependencies: - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../../engine/dist publishDirectory: dist plugins/easings/gaussian: dependencies: - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../../engine/dist publishDirectory: dist plugins/easings/linear: dependencies: - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../../engine/dist publishDirectory: dist plugins/easings/quad: dependencies: - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../../engine/dist publishDirectory: dist plugins/easings/quart: dependencies: - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../../engine/dist publishDirectory: dist plugins/easings/quint: dependencies: - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../../engine/dist publishDirectory: dist plugins/easings/sigmoid: dependencies: - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../../engine/dist publishDirectory: dist plugins/easings/sine: dependencies: - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../../engine/dist publishDirectory: dist plugins/easings/smoothstep: dependencies: - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../../engine/dist publishDirectory: dist plugins/emitters: dependencies: - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../engine/dist - '@tsparticles/plugin-interactivity': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-interactivity": + specifier: workspace:4.0.0-beta.1 version: link:../interactivity/dist publishDirectory: dist plugins/emittersShapes/canvas: dependencies: - '@tsparticles/canvas-utils': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/canvas-utils": + specifier: workspace:4.0.0-beta.1 version: link:../../../utils/canvasUtils/dist - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../../engine/dist - '@tsparticles/plugin-emitters': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-emitters": + specifier: workspace:4.0.0-beta.1 version: link:../../emitters/dist publishDirectory: dist plugins/emittersShapes/circle: dependencies: - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../../engine/dist - '@tsparticles/plugin-emitters': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-emitters": + specifier: workspace:4.0.0-beta.1 version: link:../../emitters/dist publishDirectory: dist plugins/emittersShapes/path: dependencies: - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../../engine/dist - '@tsparticles/plugin-emitters': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-emitters": + specifier: workspace:4.0.0-beta.1 version: link:../../emitters/dist publishDirectory: dist plugins/emittersShapes/polygon: dependencies: - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../../engine/dist - '@tsparticles/plugin-emitters': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-emitters": + specifier: workspace:4.0.0-beta.1 version: link:../../emitters/dist publishDirectory: dist plugins/emittersShapes/square: dependencies: - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../../engine/dist - '@tsparticles/plugin-emitters': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-emitters": + specifier: workspace:4.0.0-beta.1 version: link:../../emitters/dist publishDirectory: dist plugins/exports/image: dependencies: - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../../engine/dist publishDirectory: dist plugins/exports/json: dependencies: - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../../engine/dist publishDirectory: dist plugins/exports/video: dependencies: - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../../engine/dist publishDirectory: dist plugins/infection: dependencies: - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../engine/dist - '@tsparticles/plugin-interactivity': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-interactivity": + specifier: workspace:4.0.0-beta.1 version: link:../interactivity/dist publishDirectory: dist plugins/interactivity: dependencies: - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../engine/dist publishDirectory: dist plugins/manualParticles: dependencies: - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../engine/dist publishDirectory: dist plugins/motion: dependencies: - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../engine/dist publishDirectory: dist plugins/move: dependencies: - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../engine/dist publishDirectory: dist plugins/poisson: dependencies: - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../engine/dist publishDirectory: dist plugins/polygonMask: dependencies: - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../engine/dist publishDirectory: dist plugins/responsive: dependencies: - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../engine/dist publishDirectory: dist plugins/sounds: dependencies: - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../engine/dist publishDirectory: dist plugins/themes: dependencies: - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../engine/dist publishDirectory: dist plugins/trail: dependencies: - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../engine/dist publishDirectory: dist plugins/zoom: dependencies: - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../engine/dist publishDirectory: dist shapes/arrow: dependencies: - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../engine/dist publishDirectory: dist shapes/cards: dependencies: - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../engine/dist - '@tsparticles/path-utils': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/path-utils": + specifier: workspace:4.0.0-beta.1 version: link:../../utils/pathUtils/dist publishDirectory: dist shapes/circle: dependencies: - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../engine/dist publishDirectory: dist shapes/cog: dependencies: - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../engine/dist publishDirectory: dist shapes/emoji: dependencies: - '@tsparticles/canvas-utils': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/canvas-utils": + specifier: workspace:4.0.0-beta.1 version: link:../../utils/canvasUtils/dist - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../engine/dist publishDirectory: dist shapes/heart: dependencies: - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../engine/dist publishDirectory: dist shapes/image: dependencies: - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../engine/dist publishDirectory: dist shapes/infinity: dependencies: - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../engine/dist publishDirectory: dist shapes/line: dependencies: - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../engine/dist publishDirectory: dist shapes/matrix: dependencies: - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../engine/dist publishDirectory: dist shapes/path: dependencies: - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../engine/dist - '@tsparticles/path-utils': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/path-utils": + specifier: workspace:4.0.0-beta.1 version: link:../../utils/pathUtils/dist publishDirectory: dist shapes/polygon: dependencies: - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../engine/dist publishDirectory: dist shapes/rounded-polygon: dependencies: - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../engine/dist publishDirectory: dist shapes/rounded-rect: dependencies: - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../engine/dist publishDirectory: dist shapes/spiral: dependencies: - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../engine/dist publishDirectory: dist shapes/square: dependencies: - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../engine/dist publishDirectory: dist shapes/squircle: dependencies: - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../engine/dist publishDirectory: dist shapes/star: dependencies: - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../engine/dist publishDirectory: dist shapes/text: dependencies: - '@tsparticles/canvas-utils': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/canvas-utils": + specifier: workspace:4.0.0-beta.1 version: link:../../utils/canvasUtils/dist - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../engine/dist publishDirectory: dist updaters/destroy: dependencies: - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../engine/dist publishDirectory: dist updaters/fillColor: dependencies: - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../engine/dist publishDirectory: dist updaters/gradient: dependencies: - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../engine/dist publishDirectory: dist updaters/life: dependencies: - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../engine/dist publishDirectory: dist updaters/opacity: dependencies: - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../engine/dist publishDirectory: dist updaters/orbit: dependencies: - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../engine/dist publishDirectory: dist updaters/outModes: dependencies: - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../engine/dist publishDirectory: dist updaters/roll: dependencies: - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../engine/dist publishDirectory: dist updaters/rotate: dependencies: - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../engine/dist publishDirectory: dist updaters/size: dependencies: - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../engine/dist publishDirectory: dist updaters/strokeColor: dependencies: - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../engine/dist publishDirectory: dist updaters/tilt: dependencies: - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../engine/dist publishDirectory: dist updaters/twinkle: dependencies: - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../engine/dist publishDirectory: dist updaters/wobble: dependencies: - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../engine/dist publishDirectory: dist utils/canvasUtils: dependencies: - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../engine/dist publishDirectory: dist utils/configs: dependencies: - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../engine/dist publishDirectory: dist utils/fractalNoise: dependencies: - '@tsparticles/smooth-value-noise': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/smooth-value-noise": + specifier: workspace:4.0.0-beta.1 version: link:../smoothValueNoise/dist publishDirectory: dist utils/noiseField: dependencies: - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../engine/dist - '@tsparticles/plugin-move': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-move": + specifier: workspace:4.0.0-beta.1 version: link:../../plugins/move/dist publishDirectory: dist utils/pathUtils: dependencies: - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../engine/dist publishDirectory: dist @@ -2321,159 +2320,192 @@ importers: utils/tests: dependencies: - '@tsparticles/engine': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/engine": + specifier: workspace:4.0.0-beta.1 version: link:../../engine/dist - '@tsparticles/plugin-hex-color': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-hex-color": + specifier: workspace:4.0.0-beta.1 version: link:../../plugins/colors/hex/dist - '@tsparticles/plugin-hsl-color': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-hsl-color": + specifier: workspace:4.0.0-beta.1 version: link:../../plugins/colors/hsl/dist - '@tsparticles/plugin-hsv-color': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-hsv-color": + specifier: workspace:4.0.0-beta.1 version: link:../../plugins/colors/hsv/dist - '@tsparticles/plugin-rgb-color': - specifier: workspace:4.0.0-beta.0 + "@tsparticles/plugin-rgb-color": + specifier: workspace:4.0.0-beta.1 version: link:../../plugins/colors/rgb/dist packages: - - '@aashutoshrathi/word-wrap@1.2.6': - resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==} - engines: {node: '>=0.10.0'} - - '@adobe/css-tools@4.3.3': - resolution: {integrity: sha512-rE0Pygv0sEZ4vBWHlAgJLGDU7Pm8xoO6p3wsEceb7GYAjScrOHpEo8KK/eVkAcnSM+slAEtXjA2JpdjLp4fJQQ==} - - '@asamuzakjp/css-color@5.0.1': - resolution: {integrity: sha512-2SZFvqMyvboVV1d15lMf7XiI3m7SDqXUuKaTymJYLN6dSGadqp+fVojqJlVoMlbZnlTmu3S0TLwLTJpvBMO1Aw==} - engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0} - - '@asamuzakjp/dom-selector@7.0.3': - resolution: {integrity: sha512-Q6mU0Z6bfj6YvnX2k9n0JxiIwrCFN59x/nWmYQnAqP000ruX/yV+5bp/GRcF5T8ncvfwJQ7fgfP74DlpKExILA==} - engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0} - - '@asamuzakjp/nwsapi@2.3.9': - resolution: {integrity: sha512-n8GuYSrI9bF7FFZ/SjhwevlHc8xaVlb/7HmHelnc/PZXBD2ZR49NnN9sMMuDdEGPeeRQ5d0hqlSlEpgCX3Wl0Q==} - - '@augment-vir/assert@31.59.3': - resolution: {integrity: sha512-o6+RSEJZJLb9oTPcRkvUkO5QRVVSJby/mOZ6iQqCVkWrkqeMEeFHjqrvlf8C4KfJzg1323QSj+EARXKkcTHWQA==} - engines: {node: '>=22'} - - '@augment-vir/common@31.59.3': - resolution: {integrity: sha512-hEMnLeHE+eOCX4XEb0sIlUBbC/3gNsgLCsA+WA5a4syEgtijvWc+/t2r2LW9N+3XmQrH76fPyyxsxfgzvoT82Q==} - engines: {node: '>=22'} - - '@augment-vir/core@31.59.3': - resolution: {integrity: sha512-5Yj/ONzKZYdH6P0a130pgP6QkLpLyNelICXAHqDvZrhMcOKxGKdwRR+DxQlOvPvKulOC30o2QH84VI1/zj8eVw==} - engines: {node: '>=22'} - - '@babel/code-frame@7.27.1': - resolution: {integrity: sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==} - engines: {node: '>=6.9.0'} - - '@babel/helper-string-parser@7.27.1': - resolution: {integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==} - engines: {node: '>=6.9.0'} - - '@babel/helper-validator-identifier@7.28.5': - resolution: {integrity: sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==} - engines: {node: '>=6.9.0'} - - '@babel/parser@7.29.0': - resolution: {integrity: sha512-IyDgFV5GeDUVX4YdF/3CPULtVGSXXMLh1xVIgdCgxApktqnQV0r7/8Nqthg+8YLGaAtdyIlo2qIdZrbCv4+7ww==} - engines: {node: '>=6.0.0'} + "@aashutoshrathi/word-wrap@1.2.6": + resolution: + { integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA== } + engines: { node: ">=0.10.0" } + + "@adobe/css-tools@4.3.3": + resolution: + { integrity: sha512-rE0Pygv0sEZ4vBWHlAgJLGDU7Pm8xoO6p3wsEceb7GYAjScrOHpEo8KK/eVkAcnSM+slAEtXjA2JpdjLp4fJQQ== } + + "@asamuzakjp/css-color@5.0.1": + resolution: + { integrity: sha512-2SZFvqMyvboVV1d15lMf7XiI3m7SDqXUuKaTymJYLN6dSGadqp+fVojqJlVoMlbZnlTmu3S0TLwLTJpvBMO1Aw== } + engines: { node: ^20.19.0 || ^22.12.0 || >=24.0.0 } + + "@asamuzakjp/dom-selector@7.0.3": + resolution: + { integrity: sha512-Q6mU0Z6bfj6YvnX2k9n0JxiIwrCFN59x/nWmYQnAqP000ruX/yV+5bp/GRcF5T8ncvfwJQ7fgfP74DlpKExILA== } + engines: { node: ^20.19.0 || ^22.12.0 || >=24.0.0 } + + "@asamuzakjp/nwsapi@2.3.9": + resolution: + { integrity: sha512-n8GuYSrI9bF7FFZ/SjhwevlHc8xaVlb/7HmHelnc/PZXBD2ZR49NnN9sMMuDdEGPeeRQ5d0hqlSlEpgCX3Wl0Q== } + + "@augment-vir/assert@31.59.3": + resolution: + { integrity: sha512-o6+RSEJZJLb9oTPcRkvUkO5QRVVSJby/mOZ6iQqCVkWrkqeMEeFHjqrvlf8C4KfJzg1323QSj+EARXKkcTHWQA== } + engines: { node: ">=22" } + + "@augment-vir/common@31.59.3": + resolution: + { integrity: sha512-hEMnLeHE+eOCX4XEb0sIlUBbC/3gNsgLCsA+WA5a4syEgtijvWc+/t2r2LW9N+3XmQrH76fPyyxsxfgzvoT82Q== } + engines: { node: ">=22" } + + "@augment-vir/core@31.59.3": + resolution: + { integrity: sha512-5Yj/ONzKZYdH6P0a130pgP6QkLpLyNelICXAHqDvZrhMcOKxGKdwRR+DxQlOvPvKulOC30o2QH84VI1/zj8eVw== } + engines: { node: ">=22" } + + "@babel/code-frame@7.27.1": + resolution: + { integrity: sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg== } + engines: { node: ">=6.9.0" } + + "@babel/helper-string-parser@7.27.1": + resolution: + { integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA== } + engines: { node: ">=6.9.0" } + + "@babel/helper-validator-identifier@7.28.5": + resolution: + { integrity: sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q== } + engines: { node: ">=6.9.0" } + + "@babel/parser@7.29.0": + resolution: + { integrity: sha512-IyDgFV5GeDUVX4YdF/3CPULtVGSXXMLh1xVIgdCgxApktqnQV0r7/8Nqthg+8YLGaAtdyIlo2qIdZrbCv4+7ww== } + engines: { node: ">=6.0.0" } hasBin: true - '@babel/types@7.29.0': - resolution: {integrity: sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==} - engines: {node: '>=6.9.0'} + "@babel/types@7.29.0": + resolution: + { integrity: sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A== } + engines: { node: ">=6.9.0" } - '@bcoe/v8-coverage@1.0.2': - resolution: {integrity: sha512-6zABk/ECA/QYSCQ1NGiVwwbQerUCZ+TQbp64Q3AgmfNvurHH0j8TtXa1qbShXA6qqkpAj4V5W8pP6mLe1mcMqA==} - engines: {node: '>=18'} + "@bcoe/v8-coverage@1.0.2": + resolution: + { integrity: sha512-6zABk/ECA/QYSCQ1NGiVwwbQerUCZ+TQbp64Q3AgmfNvurHH0j8TtXa1qbShXA6qqkpAj4V5W8pP6mLe1mcMqA== } + engines: { node: ">=18" } - '@bramus/specificity@2.4.2': - resolution: {integrity: sha512-ctxtJ/eA+t+6q2++vj5j7FYX3nRu311q1wfYH3xjlLOsczhlhxAg2FWNUXhpGvAw3BWo1xBcvOV6/YLc2r5FJw==} + "@bramus/specificity@2.4.2": + resolution: + { integrity: sha512-ctxtJ/eA+t+6q2++vj5j7FYX3nRu311q1wfYH3xjlLOsczhlhxAg2FWNUXhpGvAw3BWo1xBcvOV6/YLc2r5FJw== } hasBin: true - '@colors/colors@1.6.0': - resolution: {integrity: sha512-Ir+AOibqzrIsL6ajt3Rz3LskB7OiMVHqltZmspbW/TJuTVuyOMirVqAkjfY6JISiLHgyNqicAC8AyHHGzNd/dA==} - engines: {node: '>=0.1.90'} + "@colors/colors@1.6.0": + resolution: + { integrity: sha512-Ir+AOibqzrIsL6ajt3Rz3LskB7OiMVHqltZmspbW/TJuTVuyOMirVqAkjfY6JISiLHgyNqicAC8AyHHGzNd/dA== } + engines: { node: ">=0.1.90" } - '@commitlint/cli@20.5.0': - resolution: {integrity: sha512-yNkyN/tuKTJS3wdVfsZ2tXDM4G4Gi7z+jW54Cki8N8tZqwKBltbIvUUrSbT4hz1bhW/h0CdR+5sCSpXD+wMKaQ==} - engines: {node: '>=v18'} + "@commitlint/cli@20.5.0": + resolution: + { integrity: sha512-yNkyN/tuKTJS3wdVfsZ2tXDM4G4Gi7z+jW54Cki8N8tZqwKBltbIvUUrSbT4hz1bhW/h0CdR+5sCSpXD+wMKaQ== } + engines: { node: ">=v18" } hasBin: true - '@commitlint/config-conventional@20.5.0': - resolution: {integrity: sha512-t3Ni88rFw1XMa4nZHgOKJ8fIAT9M2j5TnKyTqJzsxea7FUetlNdYFus9dz+MhIRZmc16P0PPyEfh6X2d/qw8SA==} - engines: {node: '>=v18'} - - '@commitlint/config-validator@20.5.0': - resolution: {integrity: sha512-T/Uh6iJUzyx7j35GmHWdIiGRQB+ouZDk0pwAaYq4SXgB54KZhFdJ0vYmxiW6AMYICTIWuyMxDBl1jK74oFp/Gw==} - engines: {node: '>=v18'} - - '@commitlint/ensure@20.5.0': - resolution: {integrity: sha512-IpHqAUesBeW1EDDdjzJeaOxU9tnogLAyXLRBn03SHlj1SGENn2JGZqSWGkFvBJkJzfXAuCNtsoYzax+ZPS+puw==} - engines: {node: '>=v18'} - - '@commitlint/execute-rule@20.0.0': - resolution: {integrity: sha512-xyCoOShoPuPL44gVa+5EdZsBVao/pNzpQhkzq3RdtlFdKZtjWcLlUFQHSWBuhk5utKYykeJPSz2i8ABHQA+ZZw==} - engines: {node: '>=v18'} - - '@commitlint/format@20.5.0': - resolution: {integrity: sha512-TI9EwFU/qZWSK7a5qyXMpKPPv3qta7FO4tKW+Wt2al7sgMbLWTsAcDpX1cU8k16TRdsiiet9aOw0zpvRXNJu7Q==} - engines: {node: '>=v18'} - - '@commitlint/is-ignored@20.5.0': - resolution: {integrity: sha512-JWLarAsurHJhPozbuAH6GbP4p/hdOCoqS9zJMfqwswne+/GPs5V0+rrsfOkP68Y8PSLphwtFXV0EzJ+GTXTTGg==} - engines: {node: '>=v18'} - - '@commitlint/lint@20.5.0': - resolution: {integrity: sha512-jiM3hNUdu04jFBf1VgPdjtIPvbuVfDTBAc6L98AWcoLjF5sYqkulBHBzlVWll4rMF1T5zeQFB6r//a+s+BBKlA==} - engines: {node: '>=v18'} - - '@commitlint/load@20.5.0': - resolution: {integrity: sha512-sLhhYTL/KxeOTZjjabKDhwidGZan84XKK1+XFkwDYL/4883kIajcz/dZFAhBJmZPtL8+nBx6bnkzA95YxPeDPw==} - engines: {node: '>=v18'} - - '@commitlint/message@20.4.3': - resolution: {integrity: sha512-6akwCYrzcrFcTYz9GyUaWlhisY4lmQ3KvrnabmhoeAV8nRH4dXJAh4+EUQ3uArtxxKQkvxJS78hNX2EU3USgxQ==} - engines: {node: '>=v18'} - - '@commitlint/parse@20.5.0': - resolution: {integrity: sha512-SeKWHBMk7YOTnnEWUhx+d1a9vHsjjuo6Uo1xRfPNfeY4bdYFasCH1dDpAv13Lyn+dDPOels+jP6D2GRZqzc5fA==} - engines: {node: '>=v18'} - - '@commitlint/read@20.5.0': - resolution: {integrity: sha512-JDEIJ2+GnWpK8QqwfmW7O42h0aycJEWNqcdkJnyzLD11nf9dW2dWLTVEa8Wtlo4IZFGLPATjR5neA5QlOvIH1w==} - engines: {node: '>=v18'} - - '@commitlint/resolve-extends@20.5.0': - resolution: {integrity: sha512-3SHPWUW2v0tyspCTcfSsYml0gses92l6TlogwzvM2cbxDgmhSRc+fldDjvGkCXJrjSM87BBaWYTPWwwyASZRrg==} - engines: {node: '>=v18'} - - '@commitlint/rules@20.5.0': - resolution: {integrity: sha512-5NdQXQEdnDPT5pK8O39ZA7HohzPRHEsDGU23cyVCNPQy4WegAbAwrQk3nIu7p2sl3dutPk8RZd91yKTrMTnRkQ==} - engines: {node: '>=v18'} - - '@commitlint/to-lines@20.0.0': - resolution: {integrity: sha512-2l9gmwiCRqZNWgV+pX1X7z4yP0b3ex/86UmUFgoRt672Ez6cAM2lOQeHFRUTuE6sPpi8XBCGnd8Kh3bMoyHwJw==} - engines: {node: '>=v18'} - - '@commitlint/top-level@20.4.3': - resolution: {integrity: sha512-qD9xfP6dFg5jQ3NMrOhG0/w5y3bBUsVGyJvXxdWEwBm8hyx4WOk3kKXw28T5czBYvyeCVJgJJ6aoJZUWDpaacQ==} - engines: {node: '>=v18'} - - '@commitlint/types@20.5.0': - resolution: {integrity: sha512-ZJoS8oSq2CAZEpc/YI9SulLrdiIyXeHb/OGqGrkUP6Q7YV+0ouNAa7GjqRdXeQPncHQIDz/jbCTlHScvYvO/gA==} - engines: {node: '>=v18'} - - '@conventional-changelog/git-client@2.6.0': - resolution: {integrity: sha512-T+uPDciKf0/ioNNDpMGc8FDsehJClZP0yR3Q5MN6wE/Y/1QZ7F+80OgznnTCOlMEG4AV0LvH2UJi3C/nBnaBUg==} - engines: {node: '>=18'} + "@commitlint/config-conventional@20.5.0": + resolution: + { integrity: sha512-t3Ni88rFw1XMa4nZHgOKJ8fIAT9M2j5TnKyTqJzsxea7FUetlNdYFus9dz+MhIRZmc16P0PPyEfh6X2d/qw8SA== } + engines: { node: ">=v18" } + + "@commitlint/config-validator@20.5.0": + resolution: + { integrity: sha512-T/Uh6iJUzyx7j35GmHWdIiGRQB+ouZDk0pwAaYq4SXgB54KZhFdJ0vYmxiW6AMYICTIWuyMxDBl1jK74oFp/Gw== } + engines: { node: ">=v18" } + + "@commitlint/ensure@20.5.0": + resolution: + { integrity: sha512-IpHqAUesBeW1EDDdjzJeaOxU9tnogLAyXLRBn03SHlj1SGENn2JGZqSWGkFvBJkJzfXAuCNtsoYzax+ZPS+puw== } + engines: { node: ">=v18" } + + "@commitlint/execute-rule@20.0.0": + resolution: + { integrity: sha512-xyCoOShoPuPL44gVa+5EdZsBVao/pNzpQhkzq3RdtlFdKZtjWcLlUFQHSWBuhk5utKYykeJPSz2i8ABHQA+ZZw== } + engines: { node: ">=v18" } + + "@commitlint/format@20.5.0": + resolution: + { integrity: sha512-TI9EwFU/qZWSK7a5qyXMpKPPv3qta7FO4tKW+Wt2al7sgMbLWTsAcDpX1cU8k16TRdsiiet9aOw0zpvRXNJu7Q== } + engines: { node: ">=v18" } + + "@commitlint/is-ignored@20.5.0": + resolution: + { integrity: sha512-JWLarAsurHJhPozbuAH6GbP4p/hdOCoqS9zJMfqwswne+/GPs5V0+rrsfOkP68Y8PSLphwtFXV0EzJ+GTXTTGg== } + engines: { node: ">=v18" } + + "@commitlint/lint@20.5.0": + resolution: + { integrity: sha512-jiM3hNUdu04jFBf1VgPdjtIPvbuVfDTBAc6L98AWcoLjF5sYqkulBHBzlVWll4rMF1T5zeQFB6r//a+s+BBKlA== } + engines: { node: ">=v18" } + + "@commitlint/load@20.5.0": + resolution: + { integrity: sha512-sLhhYTL/KxeOTZjjabKDhwidGZan84XKK1+XFkwDYL/4883kIajcz/dZFAhBJmZPtL8+nBx6bnkzA95YxPeDPw== } + engines: { node: ">=v18" } + + "@commitlint/message@20.4.3": + resolution: + { integrity: sha512-6akwCYrzcrFcTYz9GyUaWlhisY4lmQ3KvrnabmhoeAV8nRH4dXJAh4+EUQ3uArtxxKQkvxJS78hNX2EU3USgxQ== } + engines: { node: ">=v18" } + + "@commitlint/parse@20.5.0": + resolution: + { integrity: sha512-SeKWHBMk7YOTnnEWUhx+d1a9vHsjjuo6Uo1xRfPNfeY4bdYFasCH1dDpAv13Lyn+dDPOels+jP6D2GRZqzc5fA== } + engines: { node: ">=v18" } + + "@commitlint/read@20.5.0": + resolution: + { integrity: sha512-JDEIJ2+GnWpK8QqwfmW7O42h0aycJEWNqcdkJnyzLD11nf9dW2dWLTVEa8Wtlo4IZFGLPATjR5neA5QlOvIH1w== } + engines: { node: ">=v18" } + + "@commitlint/resolve-extends@20.5.0": + resolution: + { integrity: sha512-3SHPWUW2v0tyspCTcfSsYml0gses92l6TlogwzvM2cbxDgmhSRc+fldDjvGkCXJrjSM87BBaWYTPWwwyASZRrg== } + engines: { node: ">=v18" } + + "@commitlint/rules@20.5.0": + resolution: + { integrity: sha512-5NdQXQEdnDPT5pK8O39ZA7HohzPRHEsDGU23cyVCNPQy4WegAbAwrQk3nIu7p2sl3dutPk8RZd91yKTrMTnRkQ== } + engines: { node: ">=v18" } + + "@commitlint/to-lines@20.0.0": + resolution: + { integrity: sha512-2l9gmwiCRqZNWgV+pX1X7z4yP0b3ex/86UmUFgoRt672Ez6cAM2lOQeHFRUTuE6sPpi8XBCGnd8Kh3bMoyHwJw== } + engines: { node: ">=v18" } + + "@commitlint/top-level@20.4.3": + resolution: + { integrity: sha512-qD9xfP6dFg5jQ3NMrOhG0/w5y3bBUsVGyJvXxdWEwBm8hyx4WOk3kKXw28T5czBYvyeCVJgJJ6aoJZUWDpaacQ== } + engines: { node: ">=v18" } + + "@commitlint/types@20.5.0": + resolution: + { integrity: sha512-ZJoS8oSq2CAZEpc/YI9SulLrdiIyXeHb/OGqGrkUP6Q7YV+0ouNAa7GjqRdXeQPncHQIDz/jbCTlHScvYvO/gA== } + engines: { node: ">=v18" } + + "@conventional-changelog/git-client@2.6.0": + resolution: + { integrity: sha512-T+uPDciKf0/ioNNDpMGc8FDsehJClZP0yR3Q5MN6wE/Y/1QZ7F+80OgznnTCOlMEG4AV0LvH2UJi3C/nBnaBUg== } + engines: { node: ">=18" } peerDependencies: conventional-commits-filter: ^5.0.0 conventional-commits-parser: ^6.3.0 @@ -2483,1729 +2515,2074 @@ packages: conventional-commits-parser: optional: true - '@cspotcode/source-map-support@0.8.1': - resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} - engines: {node: '>=12'} + "@cspotcode/source-map-support@0.8.1": + resolution: + { integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw== } + engines: { node: ">=12" } - '@csstools/color-helpers@6.0.2': - resolution: {integrity: sha512-LMGQLS9EuADloEFkcTBR3BwV/CGHV7zyDxVRtVDTwdI2Ca4it0CCVTT9wCkxSgokjE5Ho41hEPgb8OEUwoXr6Q==} - engines: {node: '>=20.19.0'} + "@csstools/color-helpers@6.0.2": + resolution: + { integrity: sha512-LMGQLS9EuADloEFkcTBR3BwV/CGHV7zyDxVRtVDTwdI2Ca4it0CCVTT9wCkxSgokjE5Ho41hEPgb8OEUwoXr6Q== } + engines: { node: ">=20.19.0" } - '@csstools/css-calc@3.1.1': - resolution: {integrity: sha512-HJ26Z/vmsZQqs/o3a6bgKslXGFAungXGbinULZO3eMsOyNJHeBBZfup5FiZInOghgoM4Hwnmw+OgbJCNg1wwUQ==} - engines: {node: '>=20.19.0'} + "@csstools/css-calc@3.1.1": + resolution: + { integrity: sha512-HJ26Z/vmsZQqs/o3a6bgKslXGFAungXGbinULZO3eMsOyNJHeBBZfup5FiZInOghgoM4Hwnmw+OgbJCNg1wwUQ== } + engines: { node: ">=20.19.0" } peerDependencies: - '@csstools/css-parser-algorithms': ^4.0.0 - '@csstools/css-tokenizer': ^4.0.0 + "@csstools/css-parser-algorithms": ^4.0.0 + "@csstools/css-tokenizer": ^4.0.0 - '@csstools/css-color-parser@4.0.2': - resolution: {integrity: sha512-0GEfbBLmTFf0dJlpsNU7zwxRIH0/BGEMuXLTCvFYxuL1tNhqzTbtnFICyJLTNK4a+RechKP75e7w42ClXSnJQw==} - engines: {node: '>=20.19.0'} + "@csstools/css-color-parser@4.0.2": + resolution: + { integrity: sha512-0GEfbBLmTFf0dJlpsNU7zwxRIH0/BGEMuXLTCvFYxuL1tNhqzTbtnFICyJLTNK4a+RechKP75e7w42ClXSnJQw== } + engines: { node: ">=20.19.0" } peerDependencies: - '@csstools/css-parser-algorithms': ^4.0.0 - '@csstools/css-tokenizer': ^4.0.0 + "@csstools/css-parser-algorithms": ^4.0.0 + "@csstools/css-tokenizer": ^4.0.0 - '@csstools/css-parser-algorithms@4.0.0': - resolution: {integrity: sha512-+B87qS7fIG3L5h3qwJ/IFbjoVoOe/bpOdh9hAjXbvx0o8ImEmUsGXN0inFOnk2ChCFgqkkGFQ+TpM5rbhkKe4w==} - engines: {node: '>=20.19.0'} + "@csstools/css-parser-algorithms@4.0.0": + resolution: + { integrity: sha512-+B87qS7fIG3L5h3qwJ/IFbjoVoOe/bpOdh9hAjXbvx0o8ImEmUsGXN0inFOnk2ChCFgqkkGFQ+TpM5rbhkKe4w== } + engines: { node: ">=20.19.0" } peerDependencies: - '@csstools/css-tokenizer': ^4.0.0 + "@csstools/css-tokenizer": ^4.0.0 - '@csstools/css-syntax-patches-for-csstree@1.1.1': - resolution: {integrity: sha512-BvqN0AMWNAnLk9G8jnUT77D+mUbY/H2b3uDTvg2isJkHaOufUE2R3AOwxWo7VBQKT1lOdwdvorddo2B/lk64+w==} + "@csstools/css-syntax-patches-for-csstree@1.1.1": + resolution: + { integrity: sha512-BvqN0AMWNAnLk9G8jnUT77D+mUbY/H2b3uDTvg2isJkHaOufUE2R3AOwxWo7VBQKT1lOdwdvorddo2B/lk64+w== } peerDependencies: css-tree: ^3.2.1 peerDependenciesMeta: css-tree: optional: true - '@csstools/css-tokenizer@4.0.0': - resolution: {integrity: sha512-QxULHAm7cNu72w97JUNCBFODFaXpbDg+dP8b/oWFAZ2MTRppA3U00Y2L1HqaS4J6yBqxwa/Y3nMBaxVKbB/NsA==} - engines: {node: '>=20.19.0'} + "@csstools/css-tokenizer@4.0.0": + resolution: + { integrity: sha512-QxULHAm7cNu72w97JUNCBFODFaXpbDg+dP8b/oWFAZ2MTRppA3U00Y2L1HqaS4J6yBqxwa/Y3nMBaxVKbB/NsA== } + engines: { node: ">=20.19.0" } - '@dabh/diagnostics@2.0.8': - resolution: {integrity: sha512-R4MSXTVnuMzGD7bzHdW2ZhhdPC/igELENcq5IjEverBvq5hn1SXCWcsi6eSsdWP0/Ur+SItRRjAktmdoX/8R/Q==} + "@dabh/diagnostics@2.0.8": + resolution: + { integrity: sha512-R4MSXTVnuMzGD7bzHdW2ZhhdPC/igELENcq5IjEverBvq5hn1SXCWcsi6eSsdWP0/Ur+SItRRjAktmdoX/8R/Q== } - '@datalust/winston-seq@3.0.1': - resolution: {integrity: sha512-jWJd5PKcj/nM5f1T65KJgKaxPJRADWe+GEWtj1yEji1H0ub4RWhBEDLYzIFdwUy365lxtc5njsakenp4Evmv+g==} + "@datalust/winston-seq@3.0.1": + resolution: + { integrity: sha512-jWJd5PKcj/nM5f1T65KJgKaxPJRADWe+GEWtj1yEji1H0ub4RWhBEDLYzIFdwUy365lxtc5njsakenp4Evmv+g== } peerDependencies: winston: ^3.17.0 - '@date-vir/duration@8.1.0': - resolution: {integrity: sha512-PwvII5Lo3dzZKpTIYHvPnrKQg6UlOY6V/z/ahPiSGt1HeAMlC96PPfuPZ9ZmzcrKQuAZgO9NzX67sXWRI3T62Q==} - engines: {node: '>=22'} - - '@discoveryjs/json-ext@0.6.3': - resolution: {integrity: sha512-4B4OijXeVNOPZlYA2oEwWOTkzyltLao+xbotHQeqN++Rv27Y6s818+n2Qkp8q+Fxhn0t/5lA5X1Mxktud8eayQ==} - engines: {node: '>=14.17.0'} - - '@discoveryjs/json-ext@1.0.0': - resolution: {integrity: sha512-dDlz3W405VMFO4w5kIP9DOmELBcvFQGmLoKSdIRstBDubKFYwaNHV1NnlzMCQpXQFGWVALmeMORAuiLx18AvZQ==} - engines: {node: '>=14.17.0'} - - '@electron/get@2.0.3': - resolution: {integrity: sha512-Qkzpg2s9GnVV2I2BjRksUi43U5e6+zaQMcjoJy0C+C5oxaKl+fmckGDQFtRpZpZV0NQekuZZ+tGz7EA9TVnQtQ==} - engines: {node: '>=12'} - - '@emnapi/core@1.8.1': - resolution: {integrity: sha512-AvT9QFpxK0Zd8J0jopedNm+w/2fIzvtPKPjqyw9jwvBaReTTqPBk9Hixaz7KbjimP+QNz605/XnjFcDAL2pqBg==} - - '@emnapi/runtime@1.8.1': - resolution: {integrity: sha512-mehfKSMWjjNol8659Z8KxEMrdSJDDot5SXMq00dM8BN4o+CLNXQ0xH2V7EchNHV4RmbZLmmPdEaXZc5H2FXmDg==} - - '@emnapi/wasi-threads@1.1.0': - resolution: {integrity: sha512-WI0DdZ8xFSbgMjR1sFsKABJ/C5OnRrjT06JXbZKexJGrDuPTzZdDYfFlsgcCXCyf+suG5QU2e/y1Wo2V/OapLQ==} - - '@epic-web/invariant@1.0.0': - resolution: {integrity: sha512-lrTPqgvfFQtR/eY/qkIzp98OGdNJu0m5ji3q/nJI8v3SXkRKEnWiOxMmbvcSoAIzv/cGiuvRy57k4suKQSAdwA==} - - '@es-joy/jsdoccomment@0.84.0': - resolution: {integrity: sha512-0xew1CxOam0gV5OMjh2KjFQZsKL2bByX1+q4j3E73MpYIdyUxcZb/xQct9ccUb+ve5KGUYbCUxyPnYB7RbuP+w==} - engines: {node: ^20.19.0 || ^22.13.0 || >=24} - - '@es-joy/resolve.exports@1.2.0': - resolution: {integrity: sha512-Q9hjxWI5xBM+qW2enxfe8wDKdFWMfd0Z29k5ZJnuBqD/CasY5Zryj09aCA6owbGATWz+39p5uIdaHXpopOcG8g==} - engines: {node: '>=10'} - - '@esbuild/aix-ppc64@0.27.2': - resolution: {integrity: sha512-GZMB+a0mOMZs4MpDbj8RJp4cw+w1WV5NYD6xzgvzUJ5Ek2jerwfO2eADyI6ExDSUED+1X8aMbegahsJi+8mgpw==} - engines: {node: '>=18'} + "@date-vir/duration@8.1.0": + resolution: + { integrity: sha512-PwvII5Lo3dzZKpTIYHvPnrKQg6UlOY6V/z/ahPiSGt1HeAMlC96PPfuPZ9ZmzcrKQuAZgO9NzX67sXWRI3T62Q== } + engines: { node: ">=22" } + + "@discoveryjs/json-ext@0.6.3": + resolution: + { integrity: sha512-4B4OijXeVNOPZlYA2oEwWOTkzyltLao+xbotHQeqN++Rv27Y6s818+n2Qkp8q+Fxhn0t/5lA5X1Mxktud8eayQ== } + engines: { node: ">=14.17.0" } + + "@discoveryjs/json-ext@1.0.0": + resolution: + { integrity: sha512-dDlz3W405VMFO4w5kIP9DOmELBcvFQGmLoKSdIRstBDubKFYwaNHV1NnlzMCQpXQFGWVALmeMORAuiLx18AvZQ== } + engines: { node: ">=14.17.0" } + + "@electron/get@2.0.3": + resolution: + { integrity: sha512-Qkzpg2s9GnVV2I2BjRksUi43U5e6+zaQMcjoJy0C+C5oxaKl+fmckGDQFtRpZpZV0NQekuZZ+tGz7EA9TVnQtQ== } + engines: { node: ">=12" } + + "@emnapi/core@1.8.1": + resolution: + { integrity: sha512-AvT9QFpxK0Zd8J0jopedNm+w/2fIzvtPKPjqyw9jwvBaReTTqPBk9Hixaz7KbjimP+QNz605/XnjFcDAL2pqBg== } + + "@emnapi/runtime@1.8.1": + resolution: + { integrity: sha512-mehfKSMWjjNol8659Z8KxEMrdSJDDot5SXMq00dM8BN4o+CLNXQ0xH2V7EchNHV4RmbZLmmPdEaXZc5H2FXmDg== } + + "@emnapi/wasi-threads@1.1.0": + resolution: + { integrity: sha512-WI0DdZ8xFSbgMjR1sFsKABJ/C5OnRrjT06JXbZKexJGrDuPTzZdDYfFlsgcCXCyf+suG5QU2e/y1Wo2V/OapLQ== } + + "@epic-web/invariant@1.0.0": + resolution: + { integrity: sha512-lrTPqgvfFQtR/eY/qkIzp98OGdNJu0m5ji3q/nJI8v3SXkRKEnWiOxMmbvcSoAIzv/cGiuvRy57k4suKQSAdwA== } + + "@es-joy/jsdoccomment@0.84.0": + resolution: + { integrity: sha512-0xew1CxOam0gV5OMjh2KjFQZsKL2bByX1+q4j3E73MpYIdyUxcZb/xQct9ccUb+ve5KGUYbCUxyPnYB7RbuP+w== } + engines: { node: ^20.19.0 || ^22.13.0 || >=24 } + + "@es-joy/resolve.exports@1.2.0": + resolution: + { integrity: sha512-Q9hjxWI5xBM+qW2enxfe8wDKdFWMfd0Z29k5ZJnuBqD/CasY5Zryj09aCA6owbGATWz+39p5uIdaHXpopOcG8g== } + engines: { node: ">=10" } + + "@esbuild/aix-ppc64@0.27.2": + resolution: + { integrity: sha512-GZMB+a0mOMZs4MpDbj8RJp4cw+w1WV5NYD6xzgvzUJ5Ek2jerwfO2eADyI6ExDSUED+1X8aMbegahsJi+8mgpw== } + engines: { node: ">=18" } cpu: [ppc64] os: [aix] - '@esbuild/android-arm64@0.27.2': - resolution: {integrity: sha512-pvz8ZZ7ot/RBphf8fv60ljmaoydPU12VuXHImtAs0XhLLw+EXBi2BLe3OYSBslR4rryHvweW5gmkKFwTiFy6KA==} - engines: {node: '>=18'} + "@esbuild/android-arm64@0.27.2": + resolution: + { integrity: sha512-pvz8ZZ7ot/RBphf8fv60ljmaoydPU12VuXHImtAs0XhLLw+EXBi2BLe3OYSBslR4rryHvweW5gmkKFwTiFy6KA== } + engines: { node: ">=18" } cpu: [arm64] os: [android] - '@esbuild/android-arm@0.27.2': - resolution: {integrity: sha512-DVNI8jlPa7Ujbr1yjU2PfUSRtAUZPG9I1RwW4F4xFB1Imiu2on0ADiI/c3td+KmDtVKNbi+nffGDQMfcIMkwIA==} - engines: {node: '>=18'} + "@esbuild/android-arm@0.27.2": + resolution: + { integrity: sha512-DVNI8jlPa7Ujbr1yjU2PfUSRtAUZPG9I1RwW4F4xFB1Imiu2on0ADiI/c3td+KmDtVKNbi+nffGDQMfcIMkwIA== } + engines: { node: ">=18" } cpu: [arm] os: [android] - '@esbuild/android-x64@0.27.2': - resolution: {integrity: sha512-z8Ank4Byh4TJJOh4wpz8g2vDy75zFL0TlZlkUkEwYXuPSgX8yzep596n6mT7905kA9uHZsf/o2OJZubl2l3M7A==} - engines: {node: '>=18'} + "@esbuild/android-x64@0.27.2": + resolution: + { integrity: sha512-z8Ank4Byh4TJJOh4wpz8g2vDy75zFL0TlZlkUkEwYXuPSgX8yzep596n6mT7905kA9uHZsf/o2OJZubl2l3M7A== } + engines: { node: ">=18" } cpu: [x64] os: [android] - '@esbuild/darwin-arm64@0.27.2': - resolution: {integrity: sha512-davCD2Zc80nzDVRwXTcQP/28fiJbcOwvdolL0sOiOsbwBa72kegmVU0Wrh1MYrbuCL98Omp5dVhQFWRKR2ZAlg==} - engines: {node: '>=18'} + "@esbuild/darwin-arm64@0.27.2": + resolution: + { integrity: sha512-davCD2Zc80nzDVRwXTcQP/28fiJbcOwvdolL0sOiOsbwBa72kegmVU0Wrh1MYrbuCL98Omp5dVhQFWRKR2ZAlg== } + engines: { node: ">=18" } cpu: [arm64] os: [darwin] - '@esbuild/darwin-x64@0.27.2': - resolution: {integrity: sha512-ZxtijOmlQCBWGwbVmwOF/UCzuGIbUkqB1faQRf5akQmxRJ1ujusWsb3CVfk/9iZKr2L5SMU5wPBi1UWbvL+VQA==} - engines: {node: '>=18'} + "@esbuild/darwin-x64@0.27.2": + resolution: + { integrity: sha512-ZxtijOmlQCBWGwbVmwOF/UCzuGIbUkqB1faQRf5akQmxRJ1ujusWsb3CVfk/9iZKr2L5SMU5wPBi1UWbvL+VQA== } + engines: { node: ">=18" } cpu: [x64] os: [darwin] - '@esbuild/freebsd-arm64@0.27.2': - resolution: {integrity: sha512-lS/9CN+rgqQ9czogxlMcBMGd+l8Q3Nj1MFQwBZJyoEKI50XGxwuzznYdwcav6lpOGv5BqaZXqvBSiB/kJ5op+g==} - engines: {node: '>=18'} + "@esbuild/freebsd-arm64@0.27.2": + resolution: + { integrity: sha512-lS/9CN+rgqQ9czogxlMcBMGd+l8Q3Nj1MFQwBZJyoEKI50XGxwuzznYdwcav6lpOGv5BqaZXqvBSiB/kJ5op+g== } + engines: { node: ">=18" } cpu: [arm64] os: [freebsd] - '@esbuild/freebsd-x64@0.27.2': - resolution: {integrity: sha512-tAfqtNYb4YgPnJlEFu4c212HYjQWSO/w/h/lQaBK7RbwGIkBOuNKQI9tqWzx7Wtp7bTPaGC6MJvWI608P3wXYA==} - engines: {node: '>=18'} + "@esbuild/freebsd-x64@0.27.2": + resolution: + { integrity: sha512-tAfqtNYb4YgPnJlEFu4c212HYjQWSO/w/h/lQaBK7RbwGIkBOuNKQI9tqWzx7Wtp7bTPaGC6MJvWI608P3wXYA== } + engines: { node: ">=18" } cpu: [x64] os: [freebsd] - '@esbuild/linux-arm64@0.27.2': - resolution: {integrity: sha512-hYxN8pr66NsCCiRFkHUAsxylNOcAQaxSSkHMMjcpx0si13t1LHFphxJZUiGwojB1a/Hd5OiPIqDdXONia6bhTw==} - engines: {node: '>=18'} + "@esbuild/linux-arm64@0.27.2": + resolution: + { integrity: sha512-hYxN8pr66NsCCiRFkHUAsxylNOcAQaxSSkHMMjcpx0si13t1LHFphxJZUiGwojB1a/Hd5OiPIqDdXONia6bhTw== } + engines: { node: ">=18" } cpu: [arm64] os: [linux] - '@esbuild/linux-arm@0.27.2': - resolution: {integrity: sha512-vWfq4GaIMP9AIe4yj1ZUW18RDhx6EPQKjwe7n8BbIecFtCQG4CfHGaHuh7fdfq+y3LIA2vGS/o9ZBGVxIDi9hw==} - engines: {node: '>=18'} + "@esbuild/linux-arm@0.27.2": + resolution: + { integrity: sha512-vWfq4GaIMP9AIe4yj1ZUW18RDhx6EPQKjwe7n8BbIecFtCQG4CfHGaHuh7fdfq+y3LIA2vGS/o9ZBGVxIDi9hw== } + engines: { node: ">=18" } cpu: [arm] os: [linux] - '@esbuild/linux-ia32@0.27.2': - resolution: {integrity: sha512-MJt5BRRSScPDwG2hLelYhAAKh9imjHK5+NE/tvnRLbIqUWa+0E9N4WNMjmp/kXXPHZGqPLxggwVhz7QP8CTR8w==} - engines: {node: '>=18'} + "@esbuild/linux-ia32@0.27.2": + resolution: + { integrity: sha512-MJt5BRRSScPDwG2hLelYhAAKh9imjHK5+NE/tvnRLbIqUWa+0E9N4WNMjmp/kXXPHZGqPLxggwVhz7QP8CTR8w== } + engines: { node: ">=18" } cpu: [ia32] os: [linux] - '@esbuild/linux-loong64@0.27.2': - resolution: {integrity: sha512-lugyF1atnAT463aO6KPshVCJK5NgRnU4yb3FUumyVz+cGvZbontBgzeGFO1nF+dPueHD367a2ZXe1NtUkAjOtg==} - engines: {node: '>=18'} + "@esbuild/linux-loong64@0.27.2": + resolution: + { integrity: sha512-lugyF1atnAT463aO6KPshVCJK5NgRnU4yb3FUumyVz+cGvZbontBgzeGFO1nF+dPueHD367a2ZXe1NtUkAjOtg== } + engines: { node: ">=18" } cpu: [loong64] os: [linux] - '@esbuild/linux-mips64el@0.27.2': - resolution: {integrity: sha512-nlP2I6ArEBewvJ2gjrrkESEZkB5mIoaTswuqNFRv/WYd+ATtUpe9Y09RnJvgvdag7he0OWgEZWhviS1OTOKixw==} - engines: {node: '>=18'} + "@esbuild/linux-mips64el@0.27.2": + resolution: + { integrity: sha512-nlP2I6ArEBewvJ2gjrrkESEZkB5mIoaTswuqNFRv/WYd+ATtUpe9Y09RnJvgvdag7he0OWgEZWhviS1OTOKixw== } + engines: { node: ">=18" } cpu: [mips64el] os: [linux] - '@esbuild/linux-ppc64@0.27.2': - resolution: {integrity: sha512-C92gnpey7tUQONqg1n6dKVbx3vphKtTHJaNG2Ok9lGwbZil6DrfyecMsp9CrmXGQJmZ7iiVXvvZH6Ml5hL6XdQ==} - engines: {node: '>=18'} + "@esbuild/linux-ppc64@0.27.2": + resolution: + { integrity: sha512-C92gnpey7tUQONqg1n6dKVbx3vphKtTHJaNG2Ok9lGwbZil6DrfyecMsp9CrmXGQJmZ7iiVXvvZH6Ml5hL6XdQ== } + engines: { node: ">=18" } cpu: [ppc64] os: [linux] - '@esbuild/linux-riscv64@0.27.2': - resolution: {integrity: sha512-B5BOmojNtUyN8AXlK0QJyvjEZkWwy/FKvakkTDCziX95AowLZKR6aCDhG7LeF7uMCXEJqwa8Bejz5LTPYm8AvA==} - engines: {node: '>=18'} + "@esbuild/linux-riscv64@0.27.2": + resolution: + { integrity: sha512-B5BOmojNtUyN8AXlK0QJyvjEZkWwy/FKvakkTDCziX95AowLZKR6aCDhG7LeF7uMCXEJqwa8Bejz5LTPYm8AvA== } + engines: { node: ">=18" } cpu: [riscv64] os: [linux] - '@esbuild/linux-s390x@0.27.2': - resolution: {integrity: sha512-p4bm9+wsPwup5Z8f4EpfN63qNagQ47Ua2znaqGH6bqLlmJ4bx97Y9JdqxgGZ6Y8xVTixUnEkoKSHcpRlDnNr5w==} - engines: {node: '>=18'} + "@esbuild/linux-s390x@0.27.2": + resolution: + { integrity: sha512-p4bm9+wsPwup5Z8f4EpfN63qNagQ47Ua2znaqGH6bqLlmJ4bx97Y9JdqxgGZ6Y8xVTixUnEkoKSHcpRlDnNr5w== } + engines: { node: ">=18" } cpu: [s390x] os: [linux] - '@esbuild/linux-x64@0.27.2': - resolution: {integrity: sha512-uwp2Tip5aPmH+NRUwTcfLb+W32WXjpFejTIOWZFw/v7/KnpCDKG66u4DLcurQpiYTiYwQ9B7KOeMJvLCu/OvbA==} - engines: {node: '>=18'} + "@esbuild/linux-x64@0.27.2": + resolution: + { integrity: sha512-uwp2Tip5aPmH+NRUwTcfLb+W32WXjpFejTIOWZFw/v7/KnpCDKG66u4DLcurQpiYTiYwQ9B7KOeMJvLCu/OvbA== } + engines: { node: ">=18" } cpu: [x64] os: [linux] - '@esbuild/netbsd-arm64@0.27.2': - resolution: {integrity: sha512-Kj6DiBlwXrPsCRDeRvGAUb/LNrBASrfqAIok+xB0LxK8CHqxZ037viF13ugfsIpePH93mX7xfJp97cyDuTZ3cw==} - engines: {node: '>=18'} + "@esbuild/netbsd-arm64@0.27.2": + resolution: + { integrity: sha512-Kj6DiBlwXrPsCRDeRvGAUb/LNrBASrfqAIok+xB0LxK8CHqxZ037viF13ugfsIpePH93mX7xfJp97cyDuTZ3cw== } + engines: { node: ">=18" } cpu: [arm64] os: [netbsd] - '@esbuild/netbsd-x64@0.27.2': - resolution: {integrity: sha512-HwGDZ0VLVBY3Y+Nw0JexZy9o/nUAWq9MlV7cahpaXKW6TOzfVno3y3/M8Ga8u8Yr7GldLOov27xiCnqRZf0tCA==} - engines: {node: '>=18'} + "@esbuild/netbsd-x64@0.27.2": + resolution: + { integrity: sha512-HwGDZ0VLVBY3Y+Nw0JexZy9o/nUAWq9MlV7cahpaXKW6TOzfVno3y3/M8Ga8u8Yr7GldLOov27xiCnqRZf0tCA== } + engines: { node: ">=18" } cpu: [x64] os: [netbsd] - '@esbuild/openbsd-arm64@0.27.2': - resolution: {integrity: sha512-DNIHH2BPQ5551A7oSHD0CKbwIA/Ox7+78/AWkbS5QoRzaqlev2uFayfSxq68EkonB+IKjiuxBFoV8ESJy8bOHA==} - engines: {node: '>=18'} + "@esbuild/openbsd-arm64@0.27.2": + resolution: + { integrity: sha512-DNIHH2BPQ5551A7oSHD0CKbwIA/Ox7+78/AWkbS5QoRzaqlev2uFayfSxq68EkonB+IKjiuxBFoV8ESJy8bOHA== } + engines: { node: ">=18" } cpu: [arm64] os: [openbsd] - '@esbuild/openbsd-x64@0.27.2': - resolution: {integrity: sha512-/it7w9Nb7+0KFIzjalNJVR5bOzA9Vay+yIPLVHfIQYG/j+j9VTH84aNB8ExGKPU4AzfaEvN9/V4HV+F+vo8OEg==} - engines: {node: '>=18'} + "@esbuild/openbsd-x64@0.27.2": + resolution: + { integrity: sha512-/it7w9Nb7+0KFIzjalNJVR5bOzA9Vay+yIPLVHfIQYG/j+j9VTH84aNB8ExGKPU4AzfaEvN9/V4HV+F+vo8OEg== } + engines: { node: ">=18" } cpu: [x64] os: [openbsd] - '@esbuild/openharmony-arm64@0.27.2': - resolution: {integrity: sha512-LRBbCmiU51IXfeXk59csuX/aSaToeG7w48nMwA6049Y4J4+VbWALAuXcs+qcD04rHDuSCSRKdmY63sruDS5qag==} - engines: {node: '>=18'} + "@esbuild/openharmony-arm64@0.27.2": + resolution: + { integrity: sha512-LRBbCmiU51IXfeXk59csuX/aSaToeG7w48nMwA6049Y4J4+VbWALAuXcs+qcD04rHDuSCSRKdmY63sruDS5qag== } + engines: { node: ">=18" } cpu: [arm64] os: [openharmony] - '@esbuild/sunos-x64@0.27.2': - resolution: {integrity: sha512-kMtx1yqJHTmqaqHPAzKCAkDaKsffmXkPHThSfRwZGyuqyIeBvf08KSsYXl+abf5HDAPMJIPnbBfXvP2ZC2TfHg==} - engines: {node: '>=18'} + "@esbuild/sunos-x64@0.27.2": + resolution: + { integrity: sha512-kMtx1yqJHTmqaqHPAzKCAkDaKsffmXkPHThSfRwZGyuqyIeBvf08KSsYXl+abf5HDAPMJIPnbBfXvP2ZC2TfHg== } + engines: { node: ">=18" } cpu: [x64] os: [sunos] - '@esbuild/win32-arm64@0.27.2': - resolution: {integrity: sha512-Yaf78O/B3Kkh+nKABUF++bvJv5Ijoy9AN1ww904rOXZFLWVc5OLOfL56W+C8F9xn5JQZa3UX6m+IktJnIb1Jjg==} - engines: {node: '>=18'} + "@esbuild/win32-arm64@0.27.2": + resolution: + { integrity: sha512-Yaf78O/B3Kkh+nKABUF++bvJv5Ijoy9AN1ww904rOXZFLWVc5OLOfL56W+C8F9xn5JQZa3UX6m+IktJnIb1Jjg== } + engines: { node: ">=18" } cpu: [arm64] os: [win32] - '@esbuild/win32-ia32@0.27.2': - resolution: {integrity: sha512-Iuws0kxo4yusk7sw70Xa2E2imZU5HoixzxfGCdxwBdhiDgt9vX9VUCBhqcwY7/uh//78A1hMkkROMJq9l27oLQ==} - engines: {node: '>=18'} + "@esbuild/win32-ia32@0.27.2": + resolution: + { integrity: sha512-Iuws0kxo4yusk7sw70Xa2E2imZU5HoixzxfGCdxwBdhiDgt9vX9VUCBhqcwY7/uh//78A1hMkkROMJq9l27oLQ== } + engines: { node: ">=18" } cpu: [ia32] os: [win32] - '@esbuild/win32-x64@0.27.2': - resolution: {integrity: sha512-sRdU18mcKf7F+YgheI/zGf5alZatMUTKj/jNS6l744f9u3WFu4v7twcUI9vu4mknF4Y9aDlblIie0IM+5xxaqQ==} - engines: {node: '>=18'} + "@esbuild/win32-x64@0.27.2": + resolution: + { integrity: sha512-sRdU18mcKf7F+YgheI/zGf5alZatMUTKj/jNS6l744f9u3WFu4v7twcUI9vu4mknF4Y9aDlblIie0IM+5xxaqQ== } + engines: { node: ">=18" } cpu: [x64] os: [win32] - '@eslint-community/eslint-utils@4.9.1': - resolution: {integrity: sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + "@eslint-community/eslint-utils@4.9.1": + resolution: + { integrity: sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ== } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - '@eslint-community/regexpp@4.12.2': - resolution: {integrity: sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==} - engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - - '@eslint/config-array@0.23.3': - resolution: {integrity: sha512-j+eEWmB6YYLwcNOdlwQ6L2OsptI/LO6lNBuLIqe5R7RetD658HLoF+Mn7LzYmAWWNNzdC6cqP+L6r8ujeYXWLw==} - engines: {node: ^20.19.0 || ^22.13.0 || >=24} - - '@eslint/config-helpers@0.5.3': - resolution: {integrity: sha512-lzGN0onllOZCGroKJmRwY6QcEHxbjBw1gwB8SgRSqK8YbbtEXMvKynsXc3553ckIEBxsbMBU7oOZXKIPGZNeZw==} - engines: {node: ^20.19.0 || ^22.13.0 || >=24} - - '@eslint/core@1.1.1': - resolution: {integrity: sha512-QUPblTtE51/7/Zhfv8BDwO0qkkzQL7P/aWWbqcf4xWLEYn1oKjdO0gglQBB4GAsu7u6wjijbCmzsUTy6mnk6oQ==} - engines: {node: ^20.19.0 || ^22.13.0 || >=24} - - '@eslint/js@10.0.1': - resolution: {integrity: sha512-zeR9k5pd4gxjZ0abRoIaxdc7I3nDktoXZk2qOv9gCNWx3mVwEn32VRhyLaRsDiJjTs0xq/T8mfPtyuXu7GWBcA==} - engines: {node: ^20.19.0 || ^22.13.0 || >=24} + "@eslint-community/regexpp@4.12.2": + resolution: + { integrity: sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew== } + engines: { node: ^12.0.0 || ^14.0.0 || >=16.0.0 } + + "@eslint/config-array@0.23.3": + resolution: + { integrity: sha512-j+eEWmB6YYLwcNOdlwQ6L2OsptI/LO6lNBuLIqe5R7RetD658HLoF+Mn7LzYmAWWNNzdC6cqP+L6r8ujeYXWLw== } + engines: { node: ^20.19.0 || ^22.13.0 || >=24 } + + "@eslint/config-helpers@0.5.3": + resolution: + { integrity: sha512-lzGN0onllOZCGroKJmRwY6QcEHxbjBw1gwB8SgRSqK8YbbtEXMvKynsXc3553ckIEBxsbMBU7oOZXKIPGZNeZw== } + engines: { node: ^20.19.0 || ^22.13.0 || >=24 } + + "@eslint/core@1.1.1": + resolution: + { integrity: sha512-QUPblTtE51/7/Zhfv8BDwO0qkkzQL7P/aWWbqcf4xWLEYn1oKjdO0gglQBB4GAsu7u6wjijbCmzsUTy6mnk6oQ== } + engines: { node: ^20.19.0 || ^22.13.0 || >=24 } + + "@eslint/js@10.0.1": + resolution: + { integrity: sha512-zeR9k5pd4gxjZ0abRoIaxdc7I3nDktoXZk2qOv9gCNWx3mVwEn32VRhyLaRsDiJjTs0xq/T8mfPtyuXu7GWBcA== } + engines: { node: ^20.19.0 || ^22.13.0 || >=24 } peerDependencies: eslint: ^10.0.0 peerDependenciesMeta: eslint: optional: true - '@eslint/object-schema@3.0.3': - resolution: {integrity: sha512-iM869Pugn9Nsxbh/YHRqYiqd23AmIbxJOcpUMOuWCVNdoQJ5ZtwL6h3t0bcZzJUlC3Dq9jCFCESBZnX0GTv7iQ==} - engines: {node: ^20.19.0 || ^22.13.0 || >=24} + "@eslint/object-schema@3.0.3": + resolution: + { integrity: sha512-iM869Pugn9Nsxbh/YHRqYiqd23AmIbxJOcpUMOuWCVNdoQJ5ZtwL6h3t0bcZzJUlC3Dq9jCFCESBZnX0GTv7iQ== } + engines: { node: ^20.19.0 || ^22.13.0 || >=24 } - '@eslint/plugin-kit@0.6.1': - resolution: {integrity: sha512-iH1B076HoAshH1mLpHMgwdGeTs0CYwL0SPMkGuSebZrwBp16v415e9NZXg2jtrqPVQjf6IANe2Vtlr5KswtcZQ==} - engines: {node: ^20.19.0 || ^22.13.0 || >=24} + "@eslint/plugin-kit@0.6.1": + resolution: + { integrity: sha512-iH1B076HoAshH1mLpHMgwdGeTs0CYwL0SPMkGuSebZrwBp16v415e9NZXg2jtrqPVQjf6IANe2Vtlr5KswtcZQ== } + engines: { node: ^20.19.0 || ^22.13.0 || >=24 } - '@exodus/bytes@1.15.0': - resolution: {integrity: sha512-UY0nlA+feH81UGSHv92sLEPLCeZFjXOuHhrIo0HQydScuQc8s0A7kL/UdgwgDq8g8ilksmuoF35YVTNphV2aBQ==} - engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0} + "@exodus/bytes@1.15.0": + resolution: + { integrity: sha512-UY0nlA+feH81UGSHv92sLEPLCeZFjXOuHhrIo0HQydScuQc8s0A7kL/UdgwgDq8g8ilksmuoF35YVTNphV2aBQ== } + engines: { node: ^20.19.0 || ^22.12.0 || >=24.0.0 } peerDependencies: - '@noble/hashes': ^1.8.0 || ^2.0.0 + "@noble/hashes": ^1.8.0 || ^2.0.0 peerDependenciesMeta: - '@noble/hashes': + "@noble/hashes": optional: true - '@fortawesome/fontawesome-free@7.2.0': - resolution: {integrity: sha512-3DguDv/oUE+7vjMeTSOjCSG+KeawgVQOHrKRnvUuqYh1mfArrh7s+s8hXW3e4RerBA1+Wh+hBqf8sJNpqNrBWg==} - engines: {node: '>=6'} - - '@gerrit0/mini-shiki@3.23.0': - resolution: {integrity: sha512-bEMORlG0cqdjVyCEuU0cDQbORWX+kYCeo0kV1lbxF5bt4r7SID2l9bqsxJEM0zndaxpOUT7riCyIVEuqq/Ynxg==} - - '@humanfs/core@0.19.1': - resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==} - engines: {node: '>=18.18.0'} - - '@humanfs/node@0.16.6': - resolution: {integrity: sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==} - engines: {node: '>=18.18.0'} - - '@humanwhocodes/module-importer@1.0.1': - resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} - engines: {node: '>=12.22'} - - '@humanwhocodes/retry@0.3.1': - resolution: {integrity: sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==} - engines: {node: '>=18.18'} - - '@humanwhocodes/retry@0.4.3': - resolution: {integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==} - engines: {node: '>=18.18'} - - '@hutson/parse-repository-url@3.0.2': - resolution: {integrity: sha512-H9XAx3hc0BQHY6l+IFSWHDySypcXsvsuLhgYLUGywmJ5pswRVQJUHpOsobnLYp2ZUaUlKiKDrgWWhosOwAEM8Q==} - engines: {node: '>=6.9.0'} - - '@inquirer/ansi@1.0.2': - resolution: {integrity: sha512-S8qNSZiYzFd0wAcyG5AXCvUHC5Sr7xpZ9wZ2py9XR88jUz8wooStVx5M6dRzczbBWjic9NP7+rY0Xi7qqK/aMQ==} - engines: {node: '>=18'} - - '@inquirer/checkbox@4.3.2': - resolution: {integrity: sha512-VXukHf0RR1doGe6Sm4F0Em7SWYLTHSsbGfJdS9Ja2bX5/D5uwVOEjr07cncLROdBvmnvCATYEWlHqYmXv2IlQA==} - engines: {node: '>=18'} + "@fortawesome/fontawesome-free@7.2.0": + resolution: + { integrity: sha512-3DguDv/oUE+7vjMeTSOjCSG+KeawgVQOHrKRnvUuqYh1mfArrh7s+s8hXW3e4RerBA1+Wh+hBqf8sJNpqNrBWg== } + engines: { node: ">=6" } + + "@gerrit0/mini-shiki@3.23.0": + resolution: + { integrity: sha512-bEMORlG0cqdjVyCEuU0cDQbORWX+kYCeo0kV1lbxF5bt4r7SID2l9bqsxJEM0zndaxpOUT7riCyIVEuqq/Ynxg== } + + "@humanfs/core@0.19.1": + resolution: + { integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA== } + engines: { node: ">=18.18.0" } + + "@humanfs/node@0.16.6": + resolution: + { integrity: sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw== } + engines: { node: ">=18.18.0" } + + "@humanwhocodes/module-importer@1.0.1": + resolution: + { integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== } + engines: { node: ">=12.22" } + + "@humanwhocodes/retry@0.3.1": + resolution: + { integrity: sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA== } + engines: { node: ">=18.18" } + + "@humanwhocodes/retry@0.4.3": + resolution: + { integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ== } + engines: { node: ">=18.18" } + + "@hutson/parse-repository-url@3.0.2": + resolution: + { integrity: sha512-H9XAx3hc0BQHY6l+IFSWHDySypcXsvsuLhgYLUGywmJ5pswRVQJUHpOsobnLYp2ZUaUlKiKDrgWWhosOwAEM8Q== } + engines: { node: ">=6.9.0" } + + "@inquirer/ansi@1.0.2": + resolution: + { integrity: sha512-S8qNSZiYzFd0wAcyG5AXCvUHC5Sr7xpZ9wZ2py9XR88jUz8wooStVx5M6dRzczbBWjic9NP7+rY0Xi7qqK/aMQ== } + engines: { node: ">=18" } + + "@inquirer/checkbox@4.3.2": + resolution: + { integrity: sha512-VXukHf0RR1doGe6Sm4F0Em7SWYLTHSsbGfJdS9Ja2bX5/D5uwVOEjr07cncLROdBvmnvCATYEWlHqYmXv2IlQA== } + engines: { node: ">=18" } peerDependencies: - '@types/node': '>=18' + "@types/node": ">=18" peerDependenciesMeta: - '@types/node': + "@types/node": optional: true - '@inquirer/confirm@5.1.21': - resolution: {integrity: sha512-KR8edRkIsUayMXV+o3Gv+q4jlhENF9nMYUZs9PA2HzrXeHI8M5uDag70U7RJn9yyiMZSbtF5/UexBtAVtZGSbQ==} - engines: {node: '>=18'} + "@inquirer/confirm@5.1.21": + resolution: + { integrity: sha512-KR8edRkIsUayMXV+o3Gv+q4jlhENF9nMYUZs9PA2HzrXeHI8M5uDag70U7RJn9yyiMZSbtF5/UexBtAVtZGSbQ== } + engines: { node: ">=18" } peerDependencies: - '@types/node': '>=18' + "@types/node": ">=18" peerDependenciesMeta: - '@types/node': + "@types/node": optional: true - '@inquirer/core@10.3.2': - resolution: {integrity: sha512-43RTuEbfP8MbKzedNqBrlhhNKVwoK//vUFNW3Q3vZ88BLcrs4kYpGg+B2mm5p2K/HfygoCxuKwJJiv8PbGmE0A==} - engines: {node: '>=18'} + "@inquirer/core@10.3.2": + resolution: + { integrity: sha512-43RTuEbfP8MbKzedNqBrlhhNKVwoK//vUFNW3Q3vZ88BLcrs4kYpGg+B2mm5p2K/HfygoCxuKwJJiv8PbGmE0A== } + engines: { node: ">=18" } peerDependencies: - '@types/node': '>=18' + "@types/node": ">=18" peerDependenciesMeta: - '@types/node': + "@types/node": optional: true - '@inquirer/editor@4.2.23': - resolution: {integrity: sha512-aLSROkEwirotxZ1pBaP8tugXRFCxW94gwrQLxXfrZsKkfjOYC1aRvAZuhpJOb5cu4IBTJdsCigUlf2iCOu4ZDQ==} - engines: {node: '>=18'} + "@inquirer/editor@4.2.23": + resolution: + { integrity: sha512-aLSROkEwirotxZ1pBaP8tugXRFCxW94gwrQLxXfrZsKkfjOYC1aRvAZuhpJOb5cu4IBTJdsCigUlf2iCOu4ZDQ== } + engines: { node: ">=18" } peerDependencies: - '@types/node': '>=18' + "@types/node": ">=18" peerDependenciesMeta: - '@types/node': + "@types/node": optional: true - '@inquirer/expand@4.0.23': - resolution: {integrity: sha512-nRzdOyFYnpeYTTR2qFwEVmIWypzdAx/sIkCMeTNTcflFOovfqUk+HcFhQQVBftAh9gmGrpFj6QcGEqrDMDOiew==} - engines: {node: '>=18'} + "@inquirer/expand@4.0.23": + resolution: + { integrity: sha512-nRzdOyFYnpeYTTR2qFwEVmIWypzdAx/sIkCMeTNTcflFOovfqUk+HcFhQQVBftAh9gmGrpFj6QcGEqrDMDOiew== } + engines: { node: ">=18" } peerDependencies: - '@types/node': '>=18' + "@types/node": ">=18" peerDependenciesMeta: - '@types/node': + "@types/node": optional: true - '@inquirer/external-editor@1.0.3': - resolution: {integrity: sha512-RWbSrDiYmO4LbejWY7ttpxczuwQyZLBUyygsA9Nsv95hpzUWwnNTVQmAq3xuh7vNwCp07UTmE5i11XAEExx4RA==} - engines: {node: '>=18'} + "@inquirer/external-editor@1.0.3": + resolution: + { integrity: sha512-RWbSrDiYmO4LbejWY7ttpxczuwQyZLBUyygsA9Nsv95hpzUWwnNTVQmAq3xuh7vNwCp07UTmE5i11XAEExx4RA== } + engines: { node: ">=18" } peerDependencies: - '@types/node': '>=18' + "@types/node": ">=18" peerDependenciesMeta: - '@types/node': + "@types/node": optional: true - '@inquirer/figures@1.0.15': - resolution: {integrity: sha512-t2IEY+unGHOzAaVM5Xx6DEWKeXlDDcNPeDyUpsRc6CUhBfU3VQOEl+Vssh7VNp1dR8MdUJBWhuObjXCsVpjN5g==} - engines: {node: '>=18'} + "@inquirer/figures@1.0.15": + resolution: + { integrity: sha512-t2IEY+unGHOzAaVM5Xx6DEWKeXlDDcNPeDyUpsRc6CUhBfU3VQOEl+Vssh7VNp1dR8MdUJBWhuObjXCsVpjN5g== } + engines: { node: ">=18" } - '@inquirer/input@4.3.1': - resolution: {integrity: sha512-kN0pAM4yPrLjJ1XJBjDxyfDduXOuQHrBB8aLDMueuwUGn+vNpF7Gq7TvyVxx8u4SHlFFj4trmj+a2cbpG4Jn1g==} - engines: {node: '>=18'} + "@inquirer/input@4.3.1": + resolution: + { integrity: sha512-kN0pAM4yPrLjJ1XJBjDxyfDduXOuQHrBB8aLDMueuwUGn+vNpF7Gq7TvyVxx8u4SHlFFj4trmj+a2cbpG4Jn1g== } + engines: { node: ">=18" } peerDependencies: - '@types/node': '>=18' + "@types/node": ">=18" peerDependenciesMeta: - '@types/node': + "@types/node": optional: true - '@inquirer/number@3.0.23': - resolution: {integrity: sha512-5Smv0OK7K0KUzUfYUXDXQc9jrf8OHo4ktlEayFlelCjwMXz0299Y8OrI+lj7i4gCBY15UObk76q0QtxjzFcFcg==} - engines: {node: '>=18'} + "@inquirer/number@3.0.23": + resolution: + { integrity: sha512-5Smv0OK7K0KUzUfYUXDXQc9jrf8OHo4ktlEayFlelCjwMXz0299Y8OrI+lj7i4gCBY15UObk76q0QtxjzFcFcg== } + engines: { node: ">=18" } peerDependencies: - '@types/node': '>=18' + "@types/node": ">=18" peerDependenciesMeta: - '@types/node': + "@types/node": optional: true - '@inquirer/password@4.0.23': - resolution: {integrity: sha512-zREJHjhT5vJBMZX/IUbyI9zVtVfOLiTO66MrF/3GFZYZ7T4YILW5MSkEYHceSii/KtRk+4i3RE7E1CUXA2jHcA==} - engines: {node: '>=18'} + "@inquirer/password@4.0.23": + resolution: + { integrity: sha512-zREJHjhT5vJBMZX/IUbyI9zVtVfOLiTO66MrF/3GFZYZ7T4YILW5MSkEYHceSii/KtRk+4i3RE7E1CUXA2jHcA== } + engines: { node: ">=18" } peerDependencies: - '@types/node': '>=18' + "@types/node": ">=18" peerDependenciesMeta: - '@types/node': + "@types/node": optional: true - '@inquirer/prompts@7.10.1': - resolution: {integrity: sha512-Dx/y9bCQcXLI5ooQ5KyvA4FTgeo2jYj/7plWfV5Ak5wDPKQZgudKez2ixyfz7tKXzcJciTxqLeK7R9HItwiByg==} - engines: {node: '>=18'} + "@inquirer/prompts@7.10.1": + resolution: + { integrity: sha512-Dx/y9bCQcXLI5ooQ5KyvA4FTgeo2jYj/7plWfV5Ak5wDPKQZgudKez2ixyfz7tKXzcJciTxqLeK7R9HItwiByg== } + engines: { node: ">=18" } peerDependencies: - '@types/node': '>=18' + "@types/node": ">=18" peerDependenciesMeta: - '@types/node': + "@types/node": optional: true - '@inquirer/rawlist@4.1.11': - resolution: {integrity: sha512-+LLQB8XGr3I5LZN/GuAHo+GpDJegQwuPARLChlMICNdwW7OwV2izlCSCxN6cqpL0sMXmbKbFcItJgdQq5EBXTw==} - engines: {node: '>=18'} + "@inquirer/rawlist@4.1.11": + resolution: + { integrity: sha512-+LLQB8XGr3I5LZN/GuAHo+GpDJegQwuPARLChlMICNdwW7OwV2izlCSCxN6cqpL0sMXmbKbFcItJgdQq5EBXTw== } + engines: { node: ">=18" } peerDependencies: - '@types/node': '>=18' + "@types/node": ">=18" peerDependenciesMeta: - '@types/node': + "@types/node": optional: true - '@inquirer/search@3.2.2': - resolution: {integrity: sha512-p2bvRfENXCZdWF/U2BXvnSI9h+tuA8iNqtUKb9UWbmLYCRQxd8WkvwWvYn+3NgYaNwdUkHytJMGG4MMLucI1kA==} - engines: {node: '>=18'} + "@inquirer/search@3.2.2": + resolution: + { integrity: sha512-p2bvRfENXCZdWF/U2BXvnSI9h+tuA8iNqtUKb9UWbmLYCRQxd8WkvwWvYn+3NgYaNwdUkHytJMGG4MMLucI1kA== } + engines: { node: ">=18" } peerDependencies: - '@types/node': '>=18' + "@types/node": ">=18" peerDependenciesMeta: - '@types/node': + "@types/node": optional: true - '@inquirer/select@4.4.2': - resolution: {integrity: sha512-l4xMuJo55MAe+N7Qr4rX90vypFwCajSakx59qe/tMaC1aEHWLyw68wF4o0A4SLAY4E0nd+Vt+EyskeDIqu1M6w==} - engines: {node: '>=18'} + "@inquirer/select@4.4.2": + resolution: + { integrity: sha512-l4xMuJo55MAe+N7Qr4rX90vypFwCajSakx59qe/tMaC1aEHWLyw68wF4o0A4SLAY4E0nd+Vt+EyskeDIqu1M6w== } + engines: { node: ">=18" } peerDependencies: - '@types/node': '>=18' + "@types/node": ">=18" peerDependenciesMeta: - '@types/node': + "@types/node": optional: true - '@inquirer/type@3.0.10': - resolution: {integrity: sha512-BvziSRxfz5Ov8ch0z/n3oijRSEcEsHnhggm4xFZe93DHcUCTlutlq9Ox4SVENAfcRD22UQq7T/atg9Wr3k09eA==} - engines: {node: '>=18'} + "@inquirer/type@3.0.10": + resolution: + { integrity: sha512-BvziSRxfz5Ov8ch0z/n3oijRSEcEsHnhggm4xFZe93DHcUCTlutlq9Ox4SVENAfcRD22UQq7T/atg9Wr3k09eA== } + engines: { node: ">=18" } peerDependencies: - '@types/node': '>=18' + "@types/node": ">=18" peerDependenciesMeta: - '@types/node': + "@types/node": optional: true - '@isaacs/cliui@8.0.2': - resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} - engines: {node: '>=12'} - - '@isaacs/fs-minipass@4.0.1': - resolution: {integrity: sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==} - engines: {node: '>=18.0.0'} - - '@isaacs/string-locale-compare@1.1.0': - resolution: {integrity: sha512-SQ7Kzhh9+D+ZW9MA0zkYv3VXhIDNx+LzM6EJ+/65I3QY+enU6Itte7E5XX7EWrqLW2FN4n06GWzBnPoC3th2aQ==} - - '@jest/diff-sequences@30.0.1': - resolution: {integrity: sha512-n5H8QLDJ47QqbCNn5SuFjCRDrOLEZ0h8vAHCK5RL9Ls7Xa8AQLa/YxAc9UjFqoEDM48muwtBGjtMY5cr0PLDCw==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - - '@jest/get-type@30.1.0': - resolution: {integrity: sha512-eMbZE2hUnx1WV0pmURZY9XoXPkUYjpc55mb0CrhtdWLtzMQPFvu/rZkTLZFTsdaVQa+Tr4eWAteqcUzoawq/uA==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - - '@jest/schemas@30.0.5': - resolution: {integrity: sha512-DmdYgtezMkh3cpU8/1uyXakv3tJRcmcXxBOcO0tbaozPwpmh4YMsnWrQm9ZmZMfa5ocbxzbFk6O4bDPEc/iAnA==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - - '@jridgewell/gen-mapping@0.3.5': - resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} - engines: {node: '>=6.0.0'} - - '@jridgewell/resolve-uri@3.1.1': - resolution: {integrity: sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==} - engines: {node: '>=6.0.0'} - - '@jridgewell/set-array@1.2.1': - resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} - engines: {node: '>=6.0.0'} - - '@jridgewell/source-map@0.3.5': - resolution: {integrity: sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==} - - '@jridgewell/sourcemap-codec@1.5.5': - resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==} - - '@jridgewell/trace-mapping@0.3.31': - resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==} - - '@jridgewell/trace-mapping@0.3.9': - resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} - - '@ltd/j-toml@1.38.0': - resolution: {integrity: sha512-lYtBcmvHustHQtg4X7TXUu1Xa/tbLC3p2wLvgQI+fWVySguVZJF60Snxijw5EiohumxZbR10kWYFFebh1zotiw==} - - '@microsoft/tsdoc-config@0.18.1': - resolution: {integrity: sha512-9brPoVdfN9k9g0dcWkFeA7IH9bbcttzDJlXvkf8b2OBzd5MueR1V2wkKBL0abn0otvmkHJC6aapBOTJDDeMCZg==} - - '@microsoft/tsdoc@0.16.0': - resolution: {integrity: sha512-xgAyonlVVS+q7Vc7qLW0UrJU7rSFcETRWsqdXZtjzRU8dF+6CkozTK4V4y1LwOX7j8r/vHphjDeMeGI4tNGeGA==} - - '@napi-rs/wasm-runtime@0.2.4': - resolution: {integrity: sha512-9zESzOO5aDByvhIAsOy9TbpZ0Ur2AJbUI7UT73kcUTS2mxAMHOBaa1st/jAymNoCtvrit99kkzT1FZuXVcgfIQ==} - - '@napi-rs/wasm-runtime@1.1.1': - resolution: {integrity: sha512-p64ah1M1ld8xjWv3qbvFwHiFVWrq1yFvV4f7w+mzaqiR4IlSgkqhcRdHwsGgomwzBH51sRY4NEowLxnaBjcW/A==} - - '@nodelib/fs.scandir@2.1.5': - resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} - engines: {node: '>= 8'} - - '@nodelib/fs.stat@2.0.5': - resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} - engines: {node: '>= 8'} - - '@nodelib/fs.walk@1.2.8': - resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} - engines: {node: '>= 8'} - - '@npmcli/agent@4.0.0': - resolution: {integrity: sha512-kAQTcEN9E8ERLVg5AsGwLNoFb+oEG6engbqAU2P43gD4JEIkNGMHdVQ096FsOAAYpZPB0RSt0zgInKIAS1l5QA==} - engines: {node: ^20.17.0 || >=22.9.0} - - '@npmcli/arborist@9.1.6': - resolution: {integrity: sha512-c5Pr3EG8UP5ollkJy2x+UdEQC5sEHe3H9whYn6hb2HJimAKS4zmoJkx5acCiR/g4P38RnCSMlsYQyyHnKYeLvQ==} - engines: {node: ^20.17.0 || >=22.9.0} + "@isaacs/cliui@8.0.2": + resolution: + { integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA== } + engines: { node: ">=12" } + + "@isaacs/fs-minipass@4.0.1": + resolution: + { integrity: sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w== } + engines: { node: ">=18.0.0" } + + "@isaacs/string-locale-compare@1.1.0": + resolution: + { integrity: sha512-SQ7Kzhh9+D+ZW9MA0zkYv3VXhIDNx+LzM6EJ+/65I3QY+enU6Itte7E5XX7EWrqLW2FN4n06GWzBnPoC3th2aQ== } + + "@jest/diff-sequences@30.0.1": + resolution: + { integrity: sha512-n5H8QLDJ47QqbCNn5SuFjCRDrOLEZ0h8vAHCK5RL9Ls7Xa8AQLa/YxAc9UjFqoEDM48muwtBGjtMY5cr0PLDCw== } + engines: { node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0 } + + "@jest/get-type@30.1.0": + resolution: + { integrity: sha512-eMbZE2hUnx1WV0pmURZY9XoXPkUYjpc55mb0CrhtdWLtzMQPFvu/rZkTLZFTsdaVQa+Tr4eWAteqcUzoawq/uA== } + engines: { node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0 } + + "@jest/schemas@30.0.5": + resolution: + { integrity: sha512-DmdYgtezMkh3cpU8/1uyXakv3tJRcmcXxBOcO0tbaozPwpmh4YMsnWrQm9ZmZMfa5ocbxzbFk6O4bDPEc/iAnA== } + engines: { node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0 } + + "@jridgewell/gen-mapping@0.3.5": + resolution: + { integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg== } + engines: { node: ">=6.0.0" } + + "@jridgewell/resolve-uri@3.1.1": + resolution: + { integrity: sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA== } + engines: { node: ">=6.0.0" } + + "@jridgewell/set-array@1.2.1": + resolution: + { integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A== } + engines: { node: ">=6.0.0" } + + "@jridgewell/source-map@0.3.5": + resolution: + { integrity: sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ== } + + "@jridgewell/sourcemap-codec@1.5.5": + resolution: + { integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og== } + + "@jridgewell/trace-mapping@0.3.31": + resolution: + { integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw== } + + "@jridgewell/trace-mapping@0.3.9": + resolution: + { integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ== } + + "@ltd/j-toml@1.38.0": + resolution: + { integrity: sha512-lYtBcmvHustHQtg4X7TXUu1Xa/tbLC3p2wLvgQI+fWVySguVZJF60Snxijw5EiohumxZbR10kWYFFebh1zotiw== } + + "@microsoft/tsdoc-config@0.18.1": + resolution: + { integrity: sha512-9brPoVdfN9k9g0dcWkFeA7IH9bbcttzDJlXvkf8b2OBzd5MueR1V2wkKBL0abn0otvmkHJC6aapBOTJDDeMCZg== } + + "@microsoft/tsdoc@0.16.0": + resolution: + { integrity: sha512-xgAyonlVVS+q7Vc7qLW0UrJU7rSFcETRWsqdXZtjzRU8dF+6CkozTK4V4y1LwOX7j8r/vHphjDeMeGI4tNGeGA== } + + "@napi-rs/wasm-runtime@0.2.4": + resolution: + { integrity: sha512-9zESzOO5aDByvhIAsOy9TbpZ0Ur2AJbUI7UT73kcUTS2mxAMHOBaa1st/jAymNoCtvrit99kkzT1FZuXVcgfIQ== } + + "@napi-rs/wasm-runtime@1.1.1": + resolution: + { integrity: sha512-p64ah1M1ld8xjWv3qbvFwHiFVWrq1yFvV4f7w+mzaqiR4IlSgkqhcRdHwsGgomwzBH51sRY4NEowLxnaBjcW/A== } + + "@nodelib/fs.scandir@2.1.5": + resolution: + { integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== } + engines: { node: ">= 8" } + + "@nodelib/fs.stat@2.0.5": + resolution: + { integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== } + engines: { node: ">= 8" } + + "@nodelib/fs.walk@1.2.8": + resolution: + { integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== } + engines: { node: ">= 8" } + + "@npmcli/agent@4.0.0": + resolution: + { integrity: sha512-kAQTcEN9E8ERLVg5AsGwLNoFb+oEG6engbqAU2P43gD4JEIkNGMHdVQ096FsOAAYpZPB0RSt0zgInKIAS1l5QA== } + engines: { node: ^20.17.0 || >=22.9.0 } + + "@npmcli/arborist@9.1.6": + resolution: + { integrity: sha512-c5Pr3EG8UP5ollkJy2x+UdEQC5sEHe3H9whYn6hb2HJimAKS4zmoJkx5acCiR/g4P38RnCSMlsYQyyHnKYeLvQ== } + engines: { node: ^20.17.0 || >=22.9.0 } hasBin: true - '@npmcli/fs@4.0.0': - resolution: {integrity: sha512-/xGlezI6xfGO9NwuJlnwz/K14qD1kCSAGtacBHnGzeAIuJGazcp45KP5NuyARXoKb7cwulAGWVsbeSxdG/cb0Q==} - engines: {node: ^18.17.0 || >=20.5.0} - - '@npmcli/fs@5.0.0': - resolution: {integrity: sha512-7OsC1gNORBEawOa5+j2pXN9vsicaIOH5cPXxoR6fJOmH6/EXpJB2CajXOu1fPRFun2m1lktEFX11+P89hqO/og==} - engines: {node: ^20.17.0 || >=22.9.0} - - '@npmcli/git@6.0.3': - resolution: {integrity: sha512-GUYESQlxZRAdhs3UhbB6pVRNUELQOHXwK9ruDkwmCv2aZ5y0SApQzUJCg02p3A7Ue2J5hxvlk1YI53c00NmRyQ==} - engines: {node: ^18.17.0 || >=20.5.0} - - '@npmcli/git@7.0.1': - resolution: {integrity: sha512-+XTFxK2jJF/EJJ5SoAzXk3qwIDfvFc5/g+bD274LZ7uY7LE8sTfG6Z8rOanPl2ZEvZWqNvmEdtXC25cE54VcoA==} - engines: {node: ^20.17.0 || >=22.9.0} - - '@npmcli/installed-package-contents@3.0.0': - resolution: {integrity: sha512-fkxoPuFGvxyrH+OQzyTkX2LUEamrF4jZSmxjAtPPHHGO0dqsQ8tTKjnIS8SAnPHdk2I03BDtSMR5K/4loKg79Q==} - engines: {node: ^18.17.0 || >=20.5.0} + "@npmcli/fs@4.0.0": + resolution: + { integrity: sha512-/xGlezI6xfGO9NwuJlnwz/K14qD1kCSAGtacBHnGzeAIuJGazcp45KP5NuyARXoKb7cwulAGWVsbeSxdG/cb0Q== } + engines: { node: ^18.17.0 || >=20.5.0 } + + "@npmcli/fs@5.0.0": + resolution: + { integrity: sha512-7OsC1gNORBEawOa5+j2pXN9vsicaIOH5cPXxoR6fJOmH6/EXpJB2CajXOu1fPRFun2m1lktEFX11+P89hqO/og== } + engines: { node: ^20.17.0 || >=22.9.0 } + + "@npmcli/git@6.0.3": + resolution: + { integrity: sha512-GUYESQlxZRAdhs3UhbB6pVRNUELQOHXwK9ruDkwmCv2aZ5y0SApQzUJCg02p3A7Ue2J5hxvlk1YI53c00NmRyQ== } + engines: { node: ^18.17.0 || >=20.5.0 } + + "@npmcli/git@7.0.1": + resolution: + { integrity: sha512-+XTFxK2jJF/EJJ5SoAzXk3qwIDfvFc5/g+bD274LZ7uY7LE8sTfG6Z8rOanPl2ZEvZWqNvmEdtXC25cE54VcoA== } + engines: { node: ^20.17.0 || >=22.9.0 } + + "@npmcli/installed-package-contents@3.0.0": + resolution: + { integrity: sha512-fkxoPuFGvxyrH+OQzyTkX2LUEamrF4jZSmxjAtPPHHGO0dqsQ8tTKjnIS8SAnPHdk2I03BDtSMR5K/4loKg79Q== } + engines: { node: ^18.17.0 || >=20.5.0 } hasBin: true - '@npmcli/installed-package-contents@4.0.0': - resolution: {integrity: sha512-yNyAdkBxB72gtZ4GrwXCM0ZUedo9nIbOMKfGjt6Cu6DXf0p8y1PViZAKDC8q8kv/fufx0WTjRBdSlyrvnP7hmA==} - engines: {node: ^20.17.0 || >=22.9.0} + "@npmcli/installed-package-contents@4.0.0": + resolution: + { integrity: sha512-yNyAdkBxB72gtZ4GrwXCM0ZUedo9nIbOMKfGjt6Cu6DXf0p8y1PViZAKDC8q8kv/fufx0WTjRBdSlyrvnP7hmA== } + engines: { node: ^20.17.0 || >=22.9.0 } hasBin: true - '@npmcli/map-workspaces@5.0.3': - resolution: {integrity: sha512-o2grssXo1e774E5OtEwwrgoszYRh0lqkJH+Pb9r78UcqdGJRDRfhpM8DvZPjzNLLNYeD/rNbjOKM3Ss5UABROw==} - engines: {node: ^20.17.0 || >=22.9.0} - - '@npmcli/metavuln-calculator@9.0.3': - resolution: {integrity: sha512-94GLSYhLXF2t2LAC7pDwLaM4uCARzxShyAQKsirmlNcpidH89VA4/+K1LbJmRMgz5gy65E/QBBWQdUvGLe2Frg==} - engines: {node: ^20.17.0 || >=22.9.0} - - '@npmcli/name-from-folder@3.0.0': - resolution: {integrity: sha512-61cDL8LUc9y80fXn+lir+iVt8IS0xHqEKwPu/5jCjxQTVoSCmkXvw4vbMrzAMtmghz3/AkiBjhHkDKUH+kf7kA==} - engines: {node: ^18.17.0 || >=20.5.0} - - '@npmcli/name-from-folder@4.0.0': - resolution: {integrity: sha512-qfrhVlOSqmKM8i6rkNdZzABj8MKEITGFAY+4teqBziksCQAOLutiAxM1wY2BKEd8KjUSpWmWCYxvXr0y4VTlPg==} - engines: {node: ^20.17.0 || >=22.9.0} - - '@npmcli/node-gyp@4.0.0': - resolution: {integrity: sha512-+t5DZ6mO/QFh78PByMq1fGSAub/agLJZDRfJRMeOSNCt8s9YVlTjmGpIPwPhvXTGUIJk+WszlT0rQa1W33yzNA==} - engines: {node: ^18.17.0 || >=20.5.0} - - '@npmcli/node-gyp@5.0.0': - resolution: {integrity: sha512-uuG5HZFXLfyFKqg8QypsmgLQW7smiRjVc45bqD/ofZZcR/uxEjgQU8qDPv0s9TEeMUiAAU/GC5bR6++UdTirIQ==} - engines: {node: ^20.17.0 || >=22.9.0} - - '@npmcli/package-json@7.0.2': - resolution: {integrity: sha512-0ylN3U5htO1SJTmy2YI78PZZjLkKUGg7EKgukb2CRi0kzyoDr0cfjHAzi7kozVhj2V3SxN1oyKqZ2NSo40z00g==} - engines: {node: ^20.17.0 || >=22.9.0} - - '@npmcli/promise-spawn@8.0.3': - resolution: {integrity: sha512-Yb00SWaL4F8w+K8YGhQ55+xE4RUNdMHV43WZGsiTM92gS+lC0mGsn7I4hLug7pbao035S6bj3Y3w0cUNGLfmkg==} - engines: {node: ^18.17.0 || >=20.5.0} - - '@npmcli/promise-spawn@9.0.1': - resolution: {integrity: sha512-OLUaoqBuyxeTqUvjA3FZFiXUfYC1alp3Sa99gW3EUDz3tZ3CbXDdcZ7qWKBzicrJleIgucoWamWH1saAmH/l2Q==} - engines: {node: ^20.17.0 || >=22.9.0} - - '@npmcli/query@4.0.1': - resolution: {integrity: sha512-4OIPFb4weUUwkDXJf4Hh1inAn8neBGq3xsH4ZsAaN6FK3ldrFkH7jSpCc7N9xesi0Sp+EBXJ9eGMDrEww2Ztqw==} - engines: {node: ^18.17.0 || >=20.5.0} - - '@npmcli/redact@3.2.2': - resolution: {integrity: sha512-7VmYAmk4csGv08QzrDKScdzn11jHPFGyqJW39FyPgPuAp3zIaUmuCo1yxw9aGs+NEJuTGQ9Gwqpt93vtJubucg==} - engines: {node: ^18.17.0 || >=20.5.0} - - '@npmcli/run-script@10.0.3': - resolution: {integrity: sha512-ER2N6itRkzWbbtVmZ9WKaWxVlKlOeBFF1/7xx+KA5J1xKa4JjUwBdb6tDpk0v1qA+d+VDwHI9qmLcXSWcmi+Rw==} - engines: {node: ^20.17.0 || >=22.9.0} - - '@nrwl/nx-cloud@19.1.0': - resolution: {integrity: sha512-krngXVPfX0Zf6+zJDtcI59/Pt3JfcMPMZ9C/+/x6rvz4WGgyv1s0MI4crEUM0Lx5ZpS4QI0WNDCFVQSfGEBXUg==} - - '@nx/devkit@22.3.3': - resolution: {integrity: sha512-/hxcdhE+QDalsWEbJurHtZh9aY27taHeImbCVJnogwv85H3RbAE+0YuKXGInutfLszAs7phwzli71yq+d2P45Q==} + "@npmcli/map-workspaces@5.0.3": + resolution: + { integrity: sha512-o2grssXo1e774E5OtEwwrgoszYRh0lqkJH+Pb9r78UcqdGJRDRfhpM8DvZPjzNLLNYeD/rNbjOKM3Ss5UABROw== } + engines: { node: ^20.17.0 || >=22.9.0 } + + "@npmcli/metavuln-calculator@9.0.3": + resolution: + { integrity: sha512-94GLSYhLXF2t2LAC7pDwLaM4uCARzxShyAQKsirmlNcpidH89VA4/+K1LbJmRMgz5gy65E/QBBWQdUvGLe2Frg== } + engines: { node: ^20.17.0 || >=22.9.0 } + + "@npmcli/name-from-folder@3.0.0": + resolution: + { integrity: sha512-61cDL8LUc9y80fXn+lir+iVt8IS0xHqEKwPu/5jCjxQTVoSCmkXvw4vbMrzAMtmghz3/AkiBjhHkDKUH+kf7kA== } + engines: { node: ^18.17.0 || >=20.5.0 } + + "@npmcli/name-from-folder@4.0.0": + resolution: + { integrity: sha512-qfrhVlOSqmKM8i6rkNdZzABj8MKEITGFAY+4teqBziksCQAOLutiAxM1wY2BKEd8KjUSpWmWCYxvXr0y4VTlPg== } + engines: { node: ^20.17.0 || >=22.9.0 } + + "@npmcli/node-gyp@4.0.0": + resolution: + { integrity: sha512-+t5DZ6mO/QFh78PByMq1fGSAub/agLJZDRfJRMeOSNCt8s9YVlTjmGpIPwPhvXTGUIJk+WszlT0rQa1W33yzNA== } + engines: { node: ^18.17.0 || >=20.5.0 } + + "@npmcli/node-gyp@5.0.0": + resolution: + { integrity: sha512-uuG5HZFXLfyFKqg8QypsmgLQW7smiRjVc45bqD/ofZZcR/uxEjgQU8qDPv0s9TEeMUiAAU/GC5bR6++UdTirIQ== } + engines: { node: ^20.17.0 || >=22.9.0 } + + "@npmcli/package-json@7.0.2": + resolution: + { integrity: sha512-0ylN3U5htO1SJTmy2YI78PZZjLkKUGg7EKgukb2CRi0kzyoDr0cfjHAzi7kozVhj2V3SxN1oyKqZ2NSo40z00g== } + engines: { node: ^20.17.0 || >=22.9.0 } + + "@npmcli/promise-spawn@8.0.3": + resolution: + { integrity: sha512-Yb00SWaL4F8w+K8YGhQ55+xE4RUNdMHV43WZGsiTM92gS+lC0mGsn7I4hLug7pbao035S6bj3Y3w0cUNGLfmkg== } + engines: { node: ^18.17.0 || >=20.5.0 } + + "@npmcli/promise-spawn@9.0.1": + resolution: + { integrity: sha512-OLUaoqBuyxeTqUvjA3FZFiXUfYC1alp3Sa99gW3EUDz3tZ3CbXDdcZ7qWKBzicrJleIgucoWamWH1saAmH/l2Q== } + engines: { node: ^20.17.0 || >=22.9.0 } + + "@npmcli/query@4.0.1": + resolution: + { integrity: sha512-4OIPFb4weUUwkDXJf4Hh1inAn8neBGq3xsH4ZsAaN6FK3ldrFkH7jSpCc7N9xesi0Sp+EBXJ9eGMDrEww2Ztqw== } + engines: { node: ^18.17.0 || >=20.5.0 } + + "@npmcli/redact@3.2.2": + resolution: + { integrity: sha512-7VmYAmk4csGv08QzrDKScdzn11jHPFGyqJW39FyPgPuAp3zIaUmuCo1yxw9aGs+NEJuTGQ9Gwqpt93vtJubucg== } + engines: { node: ^18.17.0 || >=20.5.0 } + + "@npmcli/run-script@10.0.3": + resolution: + { integrity: sha512-ER2N6itRkzWbbtVmZ9WKaWxVlKlOeBFF1/7xx+KA5J1xKa4JjUwBdb6tDpk0v1qA+d+VDwHI9qmLcXSWcmi+Rw== } + engines: { node: ^20.17.0 || >=22.9.0 } + + "@nrwl/nx-cloud@19.1.0": + resolution: + { integrity: sha512-krngXVPfX0Zf6+zJDtcI59/Pt3JfcMPMZ9C/+/x6rvz4WGgyv1s0MI4crEUM0Lx5ZpS4QI0WNDCFVQSfGEBXUg== } + + "@nx/devkit@22.3.3": + resolution: + { integrity: sha512-/hxcdhE+QDalsWEbJurHtZh9aY27taHeImbCVJnogwv85H3RbAE+0YuKXGInutfLszAs7phwzli71yq+d2P45Q== } peerDependencies: - nx: '>= 21 <= 23 || ^22.0.0-0' + nx: ">= 21 <= 23 || ^22.0.0-0" - '@nx/nx-darwin-arm64@22.6.3': - resolution: {integrity: sha512-m8hEp2WufqUJzrl2uI5OItkPqIo8+0lbOBEKI7yZN9uoL6FKzP5LF6WlMFPJ8FlajtjBzQqaoDwp04+bkuXeaw==} + "@nx/nx-darwin-arm64@22.6.3": + resolution: + { integrity: sha512-m8hEp2WufqUJzrl2uI5OItkPqIo8+0lbOBEKI7yZN9uoL6FKzP5LF6WlMFPJ8FlajtjBzQqaoDwp04+bkuXeaw== } cpu: [arm64] os: [darwin] - '@nx/nx-darwin-x64@22.6.3': - resolution: {integrity: sha512-biPybnU2qlNuP7ytBYmRuusrU5TWXqVKMHr7Kxrqlin87iJR5MosXSZ+Pjr8H+0zFrB4rGf/9yro3s/dYG40Yw==} + "@nx/nx-darwin-x64@22.6.3": + resolution: + { integrity: sha512-biPybnU2qlNuP7ytBYmRuusrU5TWXqVKMHr7Kxrqlin87iJR5MosXSZ+Pjr8H+0zFrB4rGf/9yro3s/dYG40Yw== } cpu: [x64] os: [darwin] - '@nx/nx-freebsd-x64@22.6.3': - resolution: {integrity: sha512-8C6hhvVuqPwnvjHMPAA77DeEZ/WSY6AxuuIiyRje9uKF2B5F26sV89lRjBoEiWnV1dmLdy5YY5HJZEjwqjifAQ==} + "@nx/nx-freebsd-x64@22.6.3": + resolution: + { integrity: sha512-8C6hhvVuqPwnvjHMPAA77DeEZ/WSY6AxuuIiyRje9uKF2B5F26sV89lRjBoEiWnV1dmLdy5YY5HJZEjwqjifAQ== } cpu: [x64] os: [freebsd] - '@nx/nx-linux-arm-gnueabihf@22.6.3': - resolution: {integrity: sha512-8gWDhe4lY3pegmKx5/z7z/h4adlmL+3wuPXMUlBtMkhJ5TX1z94PkVtHRprEsHuQHO7PsSFaOJdsIZbr/sx7SQ==} + "@nx/nx-linux-arm-gnueabihf@22.6.3": + resolution: + { integrity: sha512-8gWDhe4lY3pegmKx5/z7z/h4adlmL+3wuPXMUlBtMkhJ5TX1z94PkVtHRprEsHuQHO7PsSFaOJdsIZbr/sx7SQ== } cpu: [arm] os: [linux] - '@nx/nx-linux-arm64-gnu@22.6.3': - resolution: {integrity: sha512-ZRP5qf4lsk0HFuvhhSJc+t3a0NKc+WXElKPXTEK9DGOluY327lUogeZrSSJfxGf+dBTtpuRIO8rOIrnZOf5Xww==} + "@nx/nx-linux-arm64-gnu@22.6.3": + resolution: + { integrity: sha512-ZRP5qf4lsk0HFuvhhSJc+t3a0NKc+WXElKPXTEK9DGOluY327lUogeZrSSJfxGf+dBTtpuRIO8rOIrnZOf5Xww== } cpu: [arm64] os: [linux] libc: [glibc] - '@nx/nx-linux-arm64-musl@22.6.3': - resolution: {integrity: sha512-AcOf/5UJD7Fyc2ujHYajxLw+ajJ8C1IhHoCQyLwBpd/15lu3pii9Z9G4cNBm0ejKnnzofzRmhv2xka9qqCtpXQ==} + "@nx/nx-linux-arm64-musl@22.6.3": + resolution: + { integrity: sha512-AcOf/5UJD7Fyc2ujHYajxLw+ajJ8C1IhHoCQyLwBpd/15lu3pii9Z9G4cNBm0ejKnnzofzRmhv2xka9qqCtpXQ== } cpu: [arm64] os: [linux] libc: [musl] - '@nx/nx-linux-x64-gnu@22.6.3': - resolution: {integrity: sha512-KxSdUCGOt2GGXzgggp9sSLJacWj7AAI410UPOEGw5F6GS5148e+kiy3piULF/0NE5/q40IK7gyS43HY99qgAqQ==} + "@nx/nx-linux-x64-gnu@22.6.3": + resolution: + { integrity: sha512-KxSdUCGOt2GGXzgggp9sSLJacWj7AAI410UPOEGw5F6GS5148e+kiy3piULF/0NE5/q40IK7gyS43HY99qgAqQ== } cpu: [x64] os: [linux] libc: [glibc] - '@nx/nx-linux-x64-musl@22.6.3': - resolution: {integrity: sha512-Tvlw6XvTj+5IQRkprV3AdCKnlQFYh2OJYn0wgHrvQWeV1Eks/RaCoRChfHXdAyE4S64YrBA6NAOxfXANh3yLTg==} + "@nx/nx-linux-x64-musl@22.6.3": + resolution: + { integrity: sha512-Tvlw6XvTj+5IQRkprV3AdCKnlQFYh2OJYn0wgHrvQWeV1Eks/RaCoRChfHXdAyE4S64YrBA6NAOxfXANh3yLTg== } cpu: [x64] os: [linux] libc: [musl] - '@nx/nx-win32-arm64-msvc@22.6.3': - resolution: {integrity: sha512-9yRRuoVeQdV52GJtHo+vH6+es2PNF8skWlUa74jyWRsoZM9Ew8JmRZruRfhkUmhjJTrguqJLj9koa/NXgS0yeg==} + "@nx/nx-win32-arm64-msvc@22.6.3": + resolution: + { integrity: sha512-9yRRuoVeQdV52GJtHo+vH6+es2PNF8skWlUa74jyWRsoZM9Ew8JmRZruRfhkUmhjJTrguqJLj9koa/NXgS0yeg== } cpu: [arm64] os: [win32] - '@nx/nx-win32-x64-msvc@22.6.3': - resolution: {integrity: sha512-21wjiUSV5hMa1oj8UfpfMTxpROksWrr/minAv8ejmGFwUSoztSzAkNf5i4PESPsbYNytjKooDzzAiQMLo6b0kg==} + "@nx/nx-win32-x64-msvc@22.6.3": + resolution: + { integrity: sha512-21wjiUSV5hMa1oj8UfpfMTxpROksWrr/minAv8ejmGFwUSoztSzAkNf5i4PESPsbYNytjKooDzzAiQMLo6b0kg== } cpu: [x64] os: [win32] - '@octokit/auth-token@4.0.0': - resolution: {integrity: sha512-tY/msAuJo6ARbK6SPIxZrPBms3xPbfwBrulZe0Wtr/DIY9lje2HeV1uoebShn6mx7SjCHif6EjMvoREj+gZ+SA==} - engines: {node: '>= 18'} - - '@octokit/core@5.2.1': - resolution: {integrity: sha512-dKYCMuPO1bmrpuogcjQ8z7ICCH3FP6WmxpwC03yjzGfZhj9fTJg6+bS1+UAplekbN2C+M61UNllGOOoAfGCrdQ==} - engines: {node: '>= 18'} - - '@octokit/endpoint@9.0.6': - resolution: {integrity: sha512-H1fNTMA57HbkFESSt3Y9+FBICv+0jFceJFPWDePYlR/iMGrwM5ph+Dd4XRQs+8X+PUFURLQgX9ChPfhJ/1uNQw==} - engines: {node: '>= 18'} - - '@octokit/graphql@7.1.1': - resolution: {integrity: sha512-3mkDltSfcDUoa176nlGoA32RGjeWjl3K7F/BwHwRMJUW/IteSa4bnSV8p2ThNkcIcZU2umkZWxwETSSCJf2Q7g==} - engines: {node: '>= 18'} - - '@octokit/openapi-types@24.2.0': - resolution: {integrity: sha512-9sIH3nSUttelJSXUrmGzl7QUBFul0/mB8HRYl3fOlgHbIWG+WnYDXU3v/2zMtAvuzZ/ed00Ei6on975FhBfzrg==} - - '@octokit/plugin-enterprise-rest@6.0.1': - resolution: {integrity: sha512-93uGjlhUD+iNg1iWhUENAtJata6w5nE+V4urXOAlIXdco6xNZtUSfYY8dzp3Udy74aqO/B5UZL80x/YMa5PKRw==} - - '@octokit/plugin-paginate-rest@11.4.4-cjs.2': - resolution: {integrity: sha512-2dK6z8fhs8lla5PaOTgqfCGBxgAv/le+EhPs27KklPhm1bKObpu6lXzwfUEQ16ajXzqNrKMujsFyo9K2eaoISw==} - engines: {node: '>= 18'} + "@octokit/auth-token@4.0.0": + resolution: + { integrity: sha512-tY/msAuJo6ARbK6SPIxZrPBms3xPbfwBrulZe0Wtr/DIY9lje2HeV1uoebShn6mx7SjCHif6EjMvoREj+gZ+SA== } + engines: { node: ">= 18" } + + "@octokit/core@5.2.1": + resolution: + { integrity: sha512-dKYCMuPO1bmrpuogcjQ8z7ICCH3FP6WmxpwC03yjzGfZhj9fTJg6+bS1+UAplekbN2C+M61UNllGOOoAfGCrdQ== } + engines: { node: ">= 18" } + + "@octokit/endpoint@9.0.6": + resolution: + { integrity: sha512-H1fNTMA57HbkFESSt3Y9+FBICv+0jFceJFPWDePYlR/iMGrwM5ph+Dd4XRQs+8X+PUFURLQgX9ChPfhJ/1uNQw== } + engines: { node: ">= 18" } + + "@octokit/graphql@7.1.1": + resolution: + { integrity: sha512-3mkDltSfcDUoa176nlGoA32RGjeWjl3K7F/BwHwRMJUW/IteSa4bnSV8p2ThNkcIcZU2umkZWxwETSSCJf2Q7g== } + engines: { node: ">= 18" } + + "@octokit/openapi-types@24.2.0": + resolution: + { integrity: sha512-9sIH3nSUttelJSXUrmGzl7QUBFul0/mB8HRYl3fOlgHbIWG+WnYDXU3v/2zMtAvuzZ/ed00Ei6on975FhBfzrg== } + + "@octokit/plugin-enterprise-rest@6.0.1": + resolution: + { integrity: sha512-93uGjlhUD+iNg1iWhUENAtJata6w5nE+V4urXOAlIXdco6xNZtUSfYY8dzp3Udy74aqO/B5UZL80x/YMa5PKRw== } + + "@octokit/plugin-paginate-rest@11.4.4-cjs.2": + resolution: + { integrity: sha512-2dK6z8fhs8lla5PaOTgqfCGBxgAv/le+EhPs27KklPhm1bKObpu6lXzwfUEQ16ajXzqNrKMujsFyo9K2eaoISw== } + engines: { node: ">= 18" } peerDependencies: - '@octokit/core': '5' + "@octokit/core": "5" - '@octokit/plugin-request-log@4.0.1': - resolution: {integrity: sha512-GihNqNpGHorUrO7Qa9JbAl0dbLnqJVrV8OXe2Zm5/Y4wFkZQDfTreBzVmiRfJVfE4mClXdihHnbpyyO9FSX4HA==} - engines: {node: '>= 18'} + "@octokit/plugin-request-log@4.0.1": + resolution: + { integrity: sha512-GihNqNpGHorUrO7Qa9JbAl0dbLnqJVrV8OXe2Zm5/Y4wFkZQDfTreBzVmiRfJVfE4mClXdihHnbpyyO9FSX4HA== } + engines: { node: ">= 18" } peerDependencies: - '@octokit/core': '5' + "@octokit/core": "5" - '@octokit/plugin-rest-endpoint-methods@13.3.2-cjs.1': - resolution: {integrity: sha512-VUjIjOOvF2oELQmiFpWA1aOPdawpyaCUqcEBc/UOUnj3Xp6DJGrJ1+bjUIIDzdHjnFNO6q57ODMfdEZnoBkCwQ==} - engines: {node: '>= 18'} + "@octokit/plugin-rest-endpoint-methods@13.3.2-cjs.1": + resolution: + { integrity: sha512-VUjIjOOvF2oELQmiFpWA1aOPdawpyaCUqcEBc/UOUnj3Xp6DJGrJ1+bjUIIDzdHjnFNO6q57ODMfdEZnoBkCwQ== } + engines: { node: ">= 18" } peerDependencies: - '@octokit/core': ^5 - - '@octokit/request-error@5.1.1': - resolution: {integrity: sha512-v9iyEQJH6ZntoENr9/yXxjuezh4My67CBSu9r6Ve/05Iu5gNgnisNWOsoJHTP6k0Rr0+HQIpnH+kyammu90q/g==} - engines: {node: '>= 18'} - - '@octokit/request@8.4.1': - resolution: {integrity: sha512-qnB2+SY3hkCmBxZsR/MPCybNmbJe4KAlfWErXq+rBKkQJlbjdJeS85VI9r8UqeLYLvnAenU8Q1okM/0MBsAGXw==} - engines: {node: '>= 18'} - - '@octokit/rest@20.1.2': - resolution: {integrity: sha512-GmYiltypkHHtihFwPRxlaorG5R9VAHuk/vbszVoRTGXnAsY60wYLkh/E2XiFmdZmqrisw+9FaazS1i5SbdWYgA==} - engines: {node: '>= 18'} - - '@octokit/types@13.10.0': - resolution: {integrity: sha512-ifLaO34EbbPj0Xgro4G5lP5asESjwHracYJvVaPIyXMuiuXLlhic3S47cBdTb+jfODkTE5YtGCLt3Ay3+J97sA==} - - '@oxc-minify/binding-android-arm-eabi@0.116.0': - resolution: {integrity: sha512-xJRj6ygJ9PYIqp7RBWylb0U5OdSHFFbETkXKMic9EVfFuMm7PpOsvs+5n6Dhp9XjAlHswcyBVoh2N/zzg/1lNw==} - engines: {node: ^20.19.0 || >=22.12.0} + "@octokit/core": ^5 + + "@octokit/request-error@5.1.1": + resolution: + { integrity: sha512-v9iyEQJH6ZntoENr9/yXxjuezh4My67CBSu9r6Ve/05Iu5gNgnisNWOsoJHTP6k0Rr0+HQIpnH+kyammu90q/g== } + engines: { node: ">= 18" } + + "@octokit/request@8.4.1": + resolution: + { integrity: sha512-qnB2+SY3hkCmBxZsR/MPCybNmbJe4KAlfWErXq+rBKkQJlbjdJeS85VI9r8UqeLYLvnAenU8Q1okM/0MBsAGXw== } + engines: { node: ">= 18" } + + "@octokit/rest@20.1.2": + resolution: + { integrity: sha512-GmYiltypkHHtihFwPRxlaorG5R9VAHuk/vbszVoRTGXnAsY60wYLkh/E2XiFmdZmqrisw+9FaazS1i5SbdWYgA== } + engines: { node: ">= 18" } + + "@octokit/types@13.10.0": + resolution: + { integrity: sha512-ifLaO34EbbPj0Xgro4G5lP5asESjwHracYJvVaPIyXMuiuXLlhic3S47cBdTb+jfODkTE5YtGCLt3Ay3+J97sA== } + + "@oxc-minify/binding-android-arm-eabi@0.116.0": + resolution: + { integrity: sha512-xJRj6ygJ9PYIqp7RBWylb0U5OdSHFFbETkXKMic9EVfFuMm7PpOsvs+5n6Dhp9XjAlHswcyBVoh2N/zzg/1lNw== } + engines: { node: ^20.19.0 || >=22.12.0 } cpu: [arm] os: [android] - '@oxc-minify/binding-android-arm64@0.116.0': - resolution: {integrity: sha512-4cMIwsMG+ie62tGKUbmqSWkqHXTb6vjAB0l6XHQRec5BFatn+x6btPbu1tZ0e4khxYHXusd3vRyLdfYpya8Qrg==} - engines: {node: ^20.19.0 || >=22.12.0} + "@oxc-minify/binding-android-arm64@0.116.0": + resolution: + { integrity: sha512-4cMIwsMG+ie62tGKUbmqSWkqHXTb6vjAB0l6XHQRec5BFatn+x6btPbu1tZ0e4khxYHXusd3vRyLdfYpya8Qrg== } + engines: { node: ^20.19.0 || >=22.12.0 } cpu: [arm64] os: [android] - '@oxc-minify/binding-darwin-arm64@0.116.0': - resolution: {integrity: sha512-03+i13fHa7SPuTfHaQ2eDnqxfv0XPzMAw7TpN4FpblGH+m+e6IvfDfpj/xT/zzvgRdFV8cBtLZ49bX50ZDmHAA==} - engines: {node: ^20.19.0 || >=22.12.0} + "@oxc-minify/binding-darwin-arm64@0.116.0": + resolution: + { integrity: sha512-03+i13fHa7SPuTfHaQ2eDnqxfv0XPzMAw7TpN4FpblGH+m+e6IvfDfpj/xT/zzvgRdFV8cBtLZ49bX50ZDmHAA== } + engines: { node: ^20.19.0 || >=22.12.0 } cpu: [arm64] os: [darwin] - '@oxc-minify/binding-darwin-x64@0.116.0': - resolution: {integrity: sha512-ICNEKYEgJw4UX1MQEshQLJNz5tIDImQMgoA7HHzLO2Z0Y2M6oQlsyFfoSMuc3lO4EPK6PrNRxuFBtt3wc8dd9g==} - engines: {node: ^20.19.0 || >=22.12.0} + "@oxc-minify/binding-darwin-x64@0.116.0": + resolution: + { integrity: sha512-ICNEKYEgJw4UX1MQEshQLJNz5tIDImQMgoA7HHzLO2Z0Y2M6oQlsyFfoSMuc3lO4EPK6PrNRxuFBtt3wc8dd9g== } + engines: { node: ^20.19.0 || >=22.12.0 } cpu: [x64] os: [darwin] - '@oxc-minify/binding-freebsd-x64@0.116.0': - resolution: {integrity: sha512-J5y2cTphLSiTD8IAidxYDjdrklweXZh5FdAGCDnL9fh02cAc8g2ZXa53TNRdPsjnYXIEH5w4SvMzf63hDd+ezw==} - engines: {node: ^20.19.0 || >=22.12.0} + "@oxc-minify/binding-freebsd-x64@0.116.0": + resolution: + { integrity: sha512-J5y2cTphLSiTD8IAidxYDjdrklweXZh5FdAGCDnL9fh02cAc8g2ZXa53TNRdPsjnYXIEH5w4SvMzf63hDd+ezw== } + engines: { node: ^20.19.0 || >=22.12.0 } cpu: [x64] os: [freebsd] - '@oxc-minify/binding-linux-arm-gnueabihf@0.116.0': - resolution: {integrity: sha512-thcu4qGtNHt3/SRB2xcJEMG9xxJIuflbWAzXJPLAhZugNmJS0ttcmIvDfvJQ2MJ+PSssZOtX7Gxu/5blTiaBEg==} - engines: {node: ^20.19.0 || >=22.12.0} + "@oxc-minify/binding-linux-arm-gnueabihf@0.116.0": + resolution: + { integrity: sha512-thcu4qGtNHt3/SRB2xcJEMG9xxJIuflbWAzXJPLAhZugNmJS0ttcmIvDfvJQ2MJ+PSssZOtX7Gxu/5blTiaBEg== } + engines: { node: ^20.19.0 || >=22.12.0 } cpu: [arm] os: [linux] - '@oxc-minify/binding-linux-arm-musleabihf@0.116.0': - resolution: {integrity: sha512-mru7IDG/VDty51FBTnqAgjgeXM2x+1NadU1y26gq1U46WqO+ISrcdESlmHGp8tnMpj7rFGGk3kbmEoCDR8UQBg==} - engines: {node: ^20.19.0 || >=22.12.0} + "@oxc-minify/binding-linux-arm-musleabihf@0.116.0": + resolution: + { integrity: sha512-mru7IDG/VDty51FBTnqAgjgeXM2x+1NadU1y26gq1U46WqO+ISrcdESlmHGp8tnMpj7rFGGk3kbmEoCDR8UQBg== } + engines: { node: ^20.19.0 || >=22.12.0 } cpu: [arm] os: [linux] - '@oxc-minify/binding-linux-arm64-gnu@0.116.0': - resolution: {integrity: sha512-1CIngrhxBd+tZ30JSpTc7R2b2YvMx3UMJZUjGQfXfZJQHya8s2nxfZXQszmQZFbtUzD789JZkcYrW8wl+xg//Q==} - engines: {node: ^20.19.0 || >=22.12.0} + "@oxc-minify/binding-linux-arm64-gnu@0.116.0": + resolution: + { integrity: sha512-1CIngrhxBd+tZ30JSpTc7R2b2YvMx3UMJZUjGQfXfZJQHya8s2nxfZXQszmQZFbtUzD789JZkcYrW8wl+xg//Q== } + engines: { node: ^20.19.0 || >=22.12.0 } cpu: [arm64] os: [linux] libc: [glibc] - '@oxc-minify/binding-linux-arm64-musl@0.116.0': - resolution: {integrity: sha512-Xz/yCEAlJ/eT1DAmOIiJLSh0OwJE+8XkKMwTwL4hxL+pcJMpIXMBg1t1VIgHc561DmWxw//s5RPXqON+DRAkig==} - engines: {node: ^20.19.0 || >=22.12.0} + "@oxc-minify/binding-linux-arm64-musl@0.116.0": + resolution: + { integrity: sha512-Xz/yCEAlJ/eT1DAmOIiJLSh0OwJE+8XkKMwTwL4hxL+pcJMpIXMBg1t1VIgHc561DmWxw//s5RPXqON+DRAkig== } + engines: { node: ^20.19.0 || >=22.12.0 } cpu: [arm64] os: [linux] libc: [musl] - '@oxc-minify/binding-linux-ppc64-gnu@0.116.0': - resolution: {integrity: sha512-Qk88V65XjhyrYcRZv/k6fHI7/c2lpYSOYeWgrRnqXNDryZ1oU3eZbJP7bgcZf+YCXHWg0SwJ3rZJuFmi+/Ml0Q==} - engines: {node: ^20.19.0 || >=22.12.0} + "@oxc-minify/binding-linux-ppc64-gnu@0.116.0": + resolution: + { integrity: sha512-Qk88V65XjhyrYcRZv/k6fHI7/c2lpYSOYeWgrRnqXNDryZ1oU3eZbJP7bgcZf+YCXHWg0SwJ3rZJuFmi+/Ml0Q== } + engines: { node: ^20.19.0 || >=22.12.0 } cpu: [ppc64] os: [linux] libc: [glibc] - '@oxc-minify/binding-linux-riscv64-gnu@0.116.0': - resolution: {integrity: sha512-1NlzrKgKgsvJg+8dtXGHZLdKLXmr6JSt6/7S6KCjG/FW2MZfjfiEnHbwW9U6iVpkmKlD73UDJsoyMQWGOZO6fQ==} - engines: {node: ^20.19.0 || >=22.12.0} + "@oxc-minify/binding-linux-riscv64-gnu@0.116.0": + resolution: + { integrity: sha512-1NlzrKgKgsvJg+8dtXGHZLdKLXmr6JSt6/7S6KCjG/FW2MZfjfiEnHbwW9U6iVpkmKlD73UDJsoyMQWGOZO6fQ== } + engines: { node: ^20.19.0 || >=22.12.0 } cpu: [riscv64] os: [linux] libc: [glibc] - '@oxc-minify/binding-linux-riscv64-musl@0.116.0': - resolution: {integrity: sha512-7sesJpftUQAFyMhnrdC2EoKWnsXeqC87A3spco5knPNfm90yzFYvpGGzBquJnWWwXHI5gplfDPYkiVrOP3AcRw==} - engines: {node: ^20.19.0 || >=22.12.0} + "@oxc-minify/binding-linux-riscv64-musl@0.116.0": + resolution: + { integrity: sha512-7sesJpftUQAFyMhnrdC2EoKWnsXeqC87A3spco5knPNfm90yzFYvpGGzBquJnWWwXHI5gplfDPYkiVrOP3AcRw== } + engines: { node: ^20.19.0 || >=22.12.0 } cpu: [riscv64] os: [linux] libc: [musl] - '@oxc-minify/binding-linux-s390x-gnu@0.116.0': - resolution: {integrity: sha512-Npe3A85+TLU1wK0BanMoJJhCAGIqM8SzKmteABxaBwjyfzQr4HtbOU/Boem6MoPegALIRNo0XHbR04Vby6wxSQ==} - engines: {node: ^20.19.0 || >=22.12.0} + "@oxc-minify/binding-linux-s390x-gnu@0.116.0": + resolution: + { integrity: sha512-Npe3A85+TLU1wK0BanMoJJhCAGIqM8SzKmteABxaBwjyfzQr4HtbOU/Boem6MoPegALIRNo0XHbR04Vby6wxSQ== } + engines: { node: ^20.19.0 || >=22.12.0 } cpu: [s390x] os: [linux] libc: [glibc] - '@oxc-minify/binding-linux-x64-gnu@0.116.0': - resolution: {integrity: sha512-1Ed/oZXVmgMSccgi6nBYC7ezqYjPhDRWHbdVJGNoXFcC6I138KHp/tTUWaqQNxtvwE1NrkYViaxnl7Gvq9Cjdg==} - engines: {node: ^20.19.0 || >=22.12.0} + "@oxc-minify/binding-linux-x64-gnu@0.116.0": + resolution: + { integrity: sha512-1Ed/oZXVmgMSccgi6nBYC7ezqYjPhDRWHbdVJGNoXFcC6I138KHp/tTUWaqQNxtvwE1NrkYViaxnl7Gvq9Cjdg== } + engines: { node: ^20.19.0 || >=22.12.0 } cpu: [x64] os: [linux] libc: [glibc] - '@oxc-minify/binding-linux-x64-musl@0.116.0': - resolution: {integrity: sha512-QlXCrfdh3NFdKcBFUCgQvXc3Wp6xSonlZh0h8oZGBardy9d3IiIwDS7geXZkpFrpaU63kMmbt/vEB9elDCag4A==} - engines: {node: ^20.19.0 || >=22.12.0} + "@oxc-minify/binding-linux-x64-musl@0.116.0": + resolution: + { integrity: sha512-QlXCrfdh3NFdKcBFUCgQvXc3Wp6xSonlZh0h8oZGBardy9d3IiIwDS7geXZkpFrpaU63kMmbt/vEB9elDCag4A== } + engines: { node: ^20.19.0 || >=22.12.0 } cpu: [x64] os: [linux] libc: [musl] - '@oxc-minify/binding-openharmony-arm64@0.116.0': - resolution: {integrity: sha512-b+IcvnKIfy44E35Oo+x5cbzp41odP2uoXLC+jNgkZCn3kwa/rlGc/mmT6l9INdNIGA+pK7MyZjZWSOYZZNk/3g==} - engines: {node: ^20.19.0 || >=22.12.0} + "@oxc-minify/binding-openharmony-arm64@0.116.0": + resolution: + { integrity: sha512-b+IcvnKIfy44E35Oo+x5cbzp41odP2uoXLC+jNgkZCn3kwa/rlGc/mmT6l9INdNIGA+pK7MyZjZWSOYZZNk/3g== } + engines: { node: ^20.19.0 || >=22.12.0 } cpu: [arm64] os: [openharmony] - '@oxc-minify/binding-wasm32-wasi@0.116.0': - resolution: {integrity: sha512-WM4olmljUhhXwAZP/4UPOHxmQTczWBCFKv0IoPXhIWdoowJWhdiPOAn8Yq9PvZ7yupdVsJdyt2Jaf3zCNuwVrA==} - engines: {node: '>=14.0.0'} + "@oxc-minify/binding-wasm32-wasi@0.116.0": + resolution: + { integrity: sha512-WM4olmljUhhXwAZP/4UPOHxmQTczWBCFKv0IoPXhIWdoowJWhdiPOAn8Yq9PvZ7yupdVsJdyt2Jaf3zCNuwVrA== } + engines: { node: ">=14.0.0" } cpu: [wasm32] - '@oxc-minify/binding-win32-arm64-msvc@0.116.0': - resolution: {integrity: sha512-wNARwIEz1iBSwn6PitToCGQRfM/7KcutxeL/POXtA9pGxtniw2bksq1Fiov+ESGBjtOk8GGAN02yftC6WhzGSw==} - engines: {node: ^20.19.0 || >=22.12.0} + "@oxc-minify/binding-win32-arm64-msvc@0.116.0": + resolution: + { integrity: sha512-wNARwIEz1iBSwn6PitToCGQRfM/7KcutxeL/POXtA9pGxtniw2bksq1Fiov+ESGBjtOk8GGAN02yftC6WhzGSw== } + engines: { node: ^20.19.0 || >=22.12.0 } cpu: [arm64] os: [win32] - '@oxc-minify/binding-win32-ia32-msvc@0.116.0': - resolution: {integrity: sha512-H9yR4/P+lZfqTsGPiKTnnZnXInzeiBCGyUi6Tv3nvQhMsiM1liLKgJ1konR0YaOMYxpObG5Qu0TKQ/8uufldZA==} - engines: {node: ^20.19.0 || >=22.12.0} + "@oxc-minify/binding-win32-ia32-msvc@0.116.0": + resolution: + { integrity: sha512-H9yR4/P+lZfqTsGPiKTnnZnXInzeiBCGyUi6Tv3nvQhMsiM1liLKgJ1konR0YaOMYxpObG5Qu0TKQ/8uufldZA== } + engines: { node: ^20.19.0 || >=22.12.0 } cpu: [ia32] os: [win32] - '@oxc-minify/binding-win32-x64-msvc@0.116.0': - resolution: {integrity: sha512-mGRIhi37Eh/YjvImseaNqCo0sv8aUBR69BKb65Oh4qAuk+hWzY5GyfEFUCQ1Dt6tmdLmi2R+4aaFWIzDJIzSVA==} - engines: {node: ^20.19.0 || >=22.12.0} + "@oxc-minify/binding-win32-x64-msvc@0.116.0": + resolution: + { integrity: sha512-mGRIhi37Eh/YjvImseaNqCo0sv8aUBR69BKb65Oh4qAuk+hWzY5GyfEFUCQ1Dt6tmdLmi2R+4aaFWIzDJIzSVA== } + engines: { node: ^20.19.0 || >=22.12.0 } cpu: [x64] os: [win32] - '@oxc-project/types@0.120.0': - resolution: {integrity: sha512-k1YNu55DuvAip/MGE1FTsIuU3FUCn6v/ujG9V7Nq5Df/kX2CWb13hhwD0lmJGMGqE+bE1MXvv9SZVnMzEXlWcg==} + "@oxc-project/types@0.120.0": + resolution: + { integrity: sha512-k1YNu55DuvAip/MGE1FTsIuU3FUCn6v/ujG9V7Nq5Df/kX2CWb13hhwD0lmJGMGqE+bE1MXvv9SZVnMzEXlWcg== } - '@parcel/watcher-android-arm64@2.5.1': - resolution: {integrity: sha512-KF8+j9nNbUN8vzOFDpRMsaKBHZ/mcjEjMToVMJOhTozkDonQFFrRcfdLWn6yWKCmJKmdVxSgHiYvTCef4/qcBA==} - engines: {node: '>= 10.0.0'} + "@parcel/watcher-android-arm64@2.5.1": + resolution: + { integrity: sha512-KF8+j9nNbUN8vzOFDpRMsaKBHZ/mcjEjMToVMJOhTozkDonQFFrRcfdLWn6yWKCmJKmdVxSgHiYvTCef4/qcBA== } + engines: { node: ">= 10.0.0" } cpu: [arm64] os: [android] - '@parcel/watcher-darwin-arm64@2.5.1': - resolution: {integrity: sha512-eAzPv5osDmZyBhou8PoF4i6RQXAfeKL9tjb3QzYuccXFMQU0ruIc/POh30ePnaOyD1UXdlKguHBmsTs53tVoPw==} - engines: {node: '>= 10.0.0'} + "@parcel/watcher-darwin-arm64@2.5.1": + resolution: + { integrity: sha512-eAzPv5osDmZyBhou8PoF4i6RQXAfeKL9tjb3QzYuccXFMQU0ruIc/POh30ePnaOyD1UXdlKguHBmsTs53tVoPw== } + engines: { node: ">= 10.0.0" } cpu: [arm64] os: [darwin] - '@parcel/watcher-darwin-x64@2.5.1': - resolution: {integrity: sha512-1ZXDthrnNmwv10A0/3AJNZ9JGlzrF82i3gNQcWOzd7nJ8aj+ILyW1MTxVk35Db0u91oD5Nlk9MBiujMlwmeXZg==} - engines: {node: '>= 10.0.0'} + "@parcel/watcher-darwin-x64@2.5.1": + resolution: + { integrity: sha512-1ZXDthrnNmwv10A0/3AJNZ9JGlzrF82i3gNQcWOzd7nJ8aj+ILyW1MTxVk35Db0u91oD5Nlk9MBiujMlwmeXZg== } + engines: { node: ">= 10.0.0" } cpu: [x64] os: [darwin] - '@parcel/watcher-freebsd-x64@2.5.1': - resolution: {integrity: sha512-SI4eljM7Flp9yPuKi8W0ird8TI/JK6CSxju3NojVI6BjHsTyK7zxA9urjVjEKJ5MBYC+bLmMcbAWlZ+rFkLpJQ==} - engines: {node: '>= 10.0.0'} + "@parcel/watcher-freebsd-x64@2.5.1": + resolution: + { integrity: sha512-SI4eljM7Flp9yPuKi8W0ird8TI/JK6CSxju3NojVI6BjHsTyK7zxA9urjVjEKJ5MBYC+bLmMcbAWlZ+rFkLpJQ== } + engines: { node: ">= 10.0.0" } cpu: [x64] os: [freebsd] - '@parcel/watcher-linux-arm-glibc@2.5.1': - resolution: {integrity: sha512-RCdZlEyTs8geyBkkcnPWvtXLY44BCeZKmGYRtSgtwwnHR4dxfHRG3gR99XdMEdQ7KeiDdasJwwvNSF5jKtDwdA==} - engines: {node: '>= 10.0.0'} + "@parcel/watcher-linux-arm-glibc@2.5.1": + resolution: + { integrity: sha512-RCdZlEyTs8geyBkkcnPWvtXLY44BCeZKmGYRtSgtwwnHR4dxfHRG3gR99XdMEdQ7KeiDdasJwwvNSF5jKtDwdA== } + engines: { node: ">= 10.0.0" } cpu: [arm] os: [linux] libc: [glibc] - '@parcel/watcher-linux-arm-musl@2.5.1': - resolution: {integrity: sha512-6E+m/Mm1t1yhB8X412stiKFG3XykmgdIOqhjWj+VL8oHkKABfu/gjFj8DvLrYVHSBNC+/u5PeNrujiSQ1zwd1Q==} - engines: {node: '>= 10.0.0'} + "@parcel/watcher-linux-arm-musl@2.5.1": + resolution: + { integrity: sha512-6E+m/Mm1t1yhB8X412stiKFG3XykmgdIOqhjWj+VL8oHkKABfu/gjFj8DvLrYVHSBNC+/u5PeNrujiSQ1zwd1Q== } + engines: { node: ">= 10.0.0" } cpu: [arm] os: [linux] libc: [musl] - '@parcel/watcher-linux-arm64-glibc@2.5.1': - resolution: {integrity: sha512-LrGp+f02yU3BN9A+DGuY3v3bmnFUggAITBGriZHUREfNEzZh/GO06FF5u2kx8x+GBEUYfyTGamol4j3m9ANe8w==} - engines: {node: '>= 10.0.0'} + "@parcel/watcher-linux-arm64-glibc@2.5.1": + resolution: + { integrity: sha512-LrGp+f02yU3BN9A+DGuY3v3bmnFUggAITBGriZHUREfNEzZh/GO06FF5u2kx8x+GBEUYfyTGamol4j3m9ANe8w== } + engines: { node: ">= 10.0.0" } cpu: [arm64] os: [linux] libc: [glibc] - '@parcel/watcher-linux-arm64-musl@2.5.1': - resolution: {integrity: sha512-cFOjABi92pMYRXS7AcQv9/M1YuKRw8SZniCDw0ssQb/noPkRzA+HBDkwmyOJYp5wXcsTrhxO0zq1U11cK9jsFg==} - engines: {node: '>= 10.0.0'} + "@parcel/watcher-linux-arm64-musl@2.5.1": + resolution: + { integrity: sha512-cFOjABi92pMYRXS7AcQv9/M1YuKRw8SZniCDw0ssQb/noPkRzA+HBDkwmyOJYp5wXcsTrhxO0zq1U11cK9jsFg== } + engines: { node: ">= 10.0.0" } cpu: [arm64] os: [linux] libc: [musl] - '@parcel/watcher-linux-x64-glibc@2.5.1': - resolution: {integrity: sha512-GcESn8NZySmfwlTsIur+49yDqSny2IhPeZfXunQi48DMugKeZ7uy1FX83pO0X22sHntJ4Ub+9k34XQCX+oHt2A==} - engines: {node: '>= 10.0.0'} + "@parcel/watcher-linux-x64-glibc@2.5.1": + resolution: + { integrity: sha512-GcESn8NZySmfwlTsIur+49yDqSny2IhPeZfXunQi48DMugKeZ7uy1FX83pO0X22sHntJ4Ub+9k34XQCX+oHt2A== } + engines: { node: ">= 10.0.0" } cpu: [x64] os: [linux] libc: [glibc] - '@parcel/watcher-linux-x64-musl@2.5.1': - resolution: {integrity: sha512-n0E2EQbatQ3bXhcH2D1XIAANAcTZkQICBPVaxMeaCVBtOpBZpWJuf7LwyWPSBDITb7In8mqQgJ7gH8CILCURXg==} - engines: {node: '>= 10.0.0'} + "@parcel/watcher-linux-x64-musl@2.5.1": + resolution: + { integrity: sha512-n0E2EQbatQ3bXhcH2D1XIAANAcTZkQICBPVaxMeaCVBtOpBZpWJuf7LwyWPSBDITb7In8mqQgJ7gH8CILCURXg== } + engines: { node: ">= 10.0.0" } cpu: [x64] os: [linux] libc: [musl] - '@parcel/watcher-win32-arm64@2.5.1': - resolution: {integrity: sha512-RFzklRvmc3PkjKjry3hLF9wD7ppR4AKcWNzH7kXR7GUe0Igb3Nz8fyPwtZCSquGrhU5HhUNDr/mKBqj7tqA2Vw==} - engines: {node: '>= 10.0.0'} + "@parcel/watcher-win32-arm64@2.5.1": + resolution: + { integrity: sha512-RFzklRvmc3PkjKjry3hLF9wD7ppR4AKcWNzH7kXR7GUe0Igb3Nz8fyPwtZCSquGrhU5HhUNDr/mKBqj7tqA2Vw== } + engines: { node: ">= 10.0.0" } cpu: [arm64] os: [win32] - '@parcel/watcher-win32-ia32@2.5.1': - resolution: {integrity: sha512-c2KkcVN+NJmuA7CGlaGD1qJh1cLfDnQsHjE89E60vUEMlqduHGCdCLJCID5geFVM0dOtA3ZiIO8BoEQmzQVfpQ==} - engines: {node: '>= 10.0.0'} + "@parcel/watcher-win32-ia32@2.5.1": + resolution: + { integrity: sha512-c2KkcVN+NJmuA7CGlaGD1qJh1cLfDnQsHjE89E60vUEMlqduHGCdCLJCID5geFVM0dOtA3ZiIO8BoEQmzQVfpQ== } + engines: { node: ">= 10.0.0" } cpu: [ia32] os: [win32] - '@parcel/watcher-win32-x64@2.5.1': - resolution: {integrity: sha512-9lHBdJITeNR++EvSQVUcaZoWupyHfXe1jZvGZ06O/5MflPcuPLtEphScIBL+AiCWBO46tDSHzWyD0uDmmZqsgA==} - engines: {node: '>= 10.0.0'} + "@parcel/watcher-win32-x64@2.5.1": + resolution: + { integrity: sha512-9lHBdJITeNR++EvSQVUcaZoWupyHfXe1jZvGZ06O/5MflPcuPLtEphScIBL+AiCWBO46tDSHzWyD0uDmmZqsgA== } + engines: { node: ">= 10.0.0" } cpu: [x64] os: [win32] - '@parcel/watcher@2.5.1': - resolution: {integrity: sha512-dfUnCxiN9H4ap84DvD2ubjw+3vUNpstxa0TneY/Paat8a3R4uQZDLSvWjmznAY/DoahqTHl9V46HF/Zs3F29pg==} - engines: {node: '>= 10.0.0'} - - '@pkgjs/parseargs@0.11.0': - resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} - engines: {node: '>=14'} - - '@pkgr/core@0.2.9': - resolution: {integrity: sha512-QNqXyfVS2wm9hweSYD2O7F0G06uurj9kZ96TRQE5Y9hU7+tgdZwIkbAKc5Ocy1HxEY2kuDQa6cQ1WRs/O5LFKA==} - engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} - - '@polka/url@1.0.0-next.25': - resolution: {integrity: sha512-j7P6Rgr3mmtdkeDGTe0E/aYyWEWVtc5yFXtHCRHs28/jptDEWfaVOc5T7cblqy1XKPPfCxJc/8DwQ5YgLOZOVQ==} - - '@popperjs/core@2.11.8': - resolution: {integrity: sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==} - - '@putout/minify@6.0.0': - resolution: {integrity: sha512-v/nzJzgUyh9TzRfy+5pTjj1z8Yhhg83TC4TQ/Mrrn2UwJnWWS/mVcpOWwHuFy7KsLnazE0ChHK/anM7GncrbHg==} - engines: {node: '>=22'} - - '@rolldown/binding-android-arm64@1.0.0-rc.10': - resolution: {integrity: sha512-jOHxwXhxmFKuXztiu1ORieJeTbx5vrTkcOkkkn2d35726+iwhrY1w/+nYY/AGgF12thg33qC3R1LMBF5tHTZHg==} - engines: {node: ^20.19.0 || >=22.12.0} + "@parcel/watcher@2.5.1": + resolution: + { integrity: sha512-dfUnCxiN9H4ap84DvD2ubjw+3vUNpstxa0TneY/Paat8a3R4uQZDLSvWjmznAY/DoahqTHl9V46HF/Zs3F29pg== } + engines: { node: ">= 10.0.0" } + + "@pkgjs/parseargs@0.11.0": + resolution: + { integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg== } + engines: { node: ">=14" } + + "@pkgr/core@0.2.9": + resolution: + { integrity: sha512-QNqXyfVS2wm9hweSYD2O7F0G06uurj9kZ96TRQE5Y9hU7+tgdZwIkbAKc5Ocy1HxEY2kuDQa6cQ1WRs/O5LFKA== } + engines: { node: ^12.20.0 || ^14.18.0 || >=16.0.0 } + + "@polka/url@1.0.0-next.25": + resolution: + { integrity: sha512-j7P6Rgr3mmtdkeDGTe0E/aYyWEWVtc5yFXtHCRHs28/jptDEWfaVOc5T7cblqy1XKPPfCxJc/8DwQ5YgLOZOVQ== } + + "@popperjs/core@2.11.8": + resolution: + { integrity: sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A== } + + "@putout/minify@6.0.0": + resolution: + { integrity: sha512-v/nzJzgUyh9TzRfy+5pTjj1z8Yhhg83TC4TQ/Mrrn2UwJnWWS/mVcpOWwHuFy7KsLnazE0ChHK/anM7GncrbHg== } + engines: { node: ">=22" } + + "@rolldown/binding-android-arm64@1.0.0-rc.10": + resolution: + { integrity: sha512-jOHxwXhxmFKuXztiu1ORieJeTbx5vrTkcOkkkn2d35726+iwhrY1w/+nYY/AGgF12thg33qC3R1LMBF5tHTZHg== } + engines: { node: ^20.19.0 || >=22.12.0 } cpu: [arm64] os: [android] - '@rolldown/binding-darwin-arm64@1.0.0-rc.10': - resolution: {integrity: sha512-gED05Teg/vtTZbIJBc4VNMAxAFDUPkuO/rAIyyxZjTj1a1/s6z5TII/5yMGZ0uLRCifEtwUQn8OlYzuYc0m70w==} - engines: {node: ^20.19.0 || >=22.12.0} + "@rolldown/binding-darwin-arm64@1.0.0-rc.10": + resolution: + { integrity: sha512-gED05Teg/vtTZbIJBc4VNMAxAFDUPkuO/rAIyyxZjTj1a1/s6z5TII/5yMGZ0uLRCifEtwUQn8OlYzuYc0m70w== } + engines: { node: ^20.19.0 || >=22.12.0 } cpu: [arm64] os: [darwin] - '@rolldown/binding-darwin-x64@1.0.0-rc.10': - resolution: {integrity: sha512-rI15NcM1mA48lqrIxVkHfAqcyFLcQwyXWThy+BQ5+mkKKPvSO26ir+ZDp36AgYoYVkqvMcdS8zOE6SeBsR9e8A==} - engines: {node: ^20.19.0 || >=22.12.0} + "@rolldown/binding-darwin-x64@1.0.0-rc.10": + resolution: + { integrity: sha512-rI15NcM1mA48lqrIxVkHfAqcyFLcQwyXWThy+BQ5+mkKKPvSO26ir+ZDp36AgYoYVkqvMcdS8zOE6SeBsR9e8A== } + engines: { node: ^20.19.0 || >=22.12.0 } cpu: [x64] os: [darwin] - '@rolldown/binding-freebsd-x64@1.0.0-rc.10': - resolution: {integrity: sha512-XZRXHdTa+4ME1MuDVp021+doQ+z6Ei4CCFmNc5/sKbqb8YmkiJdj8QKlV3rCI0AJtAeSB5n0WGPuJWNL9p/L2w==} - engines: {node: ^20.19.0 || >=22.12.0} + "@rolldown/binding-freebsd-x64@1.0.0-rc.10": + resolution: + { integrity: sha512-XZRXHdTa+4ME1MuDVp021+doQ+z6Ei4CCFmNc5/sKbqb8YmkiJdj8QKlV3rCI0AJtAeSB5n0WGPuJWNL9p/L2w== } + engines: { node: ^20.19.0 || >=22.12.0 } cpu: [x64] os: [freebsd] - '@rolldown/binding-linux-arm-gnueabihf@1.0.0-rc.10': - resolution: {integrity: sha512-R0SQMRluISSLzFE20sPWYHVmJdDQnRyc/FzSCN72BqQmh2SOZUFG+N3/vBZpR4C6WpEUVYJLrYUXaj43sJsNLA==} - engines: {node: ^20.19.0 || >=22.12.0} + "@rolldown/binding-linux-arm-gnueabihf@1.0.0-rc.10": + resolution: + { integrity: sha512-R0SQMRluISSLzFE20sPWYHVmJdDQnRyc/FzSCN72BqQmh2SOZUFG+N3/vBZpR4C6WpEUVYJLrYUXaj43sJsNLA== } + engines: { node: ^20.19.0 || >=22.12.0 } cpu: [arm] os: [linux] - '@rolldown/binding-linux-arm64-gnu@1.0.0-rc.10': - resolution: {integrity: sha512-Y1reMrV/o+cwpduYhJuOE3OMKx32RMYCidf14y+HssARRmhDuWXJ4yVguDg2R/8SyyGNo+auzz64LnPK9Hq6jg==} - engines: {node: ^20.19.0 || >=22.12.0} + "@rolldown/binding-linux-arm64-gnu@1.0.0-rc.10": + resolution: + { integrity: sha512-Y1reMrV/o+cwpduYhJuOE3OMKx32RMYCidf14y+HssARRmhDuWXJ4yVguDg2R/8SyyGNo+auzz64LnPK9Hq6jg== } + engines: { node: ^20.19.0 || >=22.12.0 } cpu: [arm64] os: [linux] libc: [glibc] - '@rolldown/binding-linux-arm64-musl@1.0.0-rc.10': - resolution: {integrity: sha512-vELN+HNb2IzuzSBUOD4NHmP9yrGwl1DVM29wlQvx1OLSclL0NgVWnVDKl/8tEks79EFek/kebQKnNJkIAA4W2g==} - engines: {node: ^20.19.0 || >=22.12.0} + "@rolldown/binding-linux-arm64-musl@1.0.0-rc.10": + resolution: + { integrity: sha512-vELN+HNb2IzuzSBUOD4NHmP9yrGwl1DVM29wlQvx1OLSclL0NgVWnVDKl/8tEks79EFek/kebQKnNJkIAA4W2g== } + engines: { node: ^20.19.0 || >=22.12.0 } cpu: [arm64] os: [linux] libc: [musl] - '@rolldown/binding-linux-ppc64-gnu@1.0.0-rc.10': - resolution: {integrity: sha512-ZqrufYTgzxbHwpqOjzSsb0UV/aV2TFIY5rP8HdsiPTv/CuAgCRjM6s9cYFwQ4CNH+hf9Y4erHW1GjZuZ7WoI7w==} - engines: {node: ^20.19.0 || >=22.12.0} + "@rolldown/binding-linux-ppc64-gnu@1.0.0-rc.10": + resolution: + { integrity: sha512-ZqrufYTgzxbHwpqOjzSsb0UV/aV2TFIY5rP8HdsiPTv/CuAgCRjM6s9cYFwQ4CNH+hf9Y4erHW1GjZuZ7WoI7w== } + engines: { node: ^20.19.0 || >=22.12.0 } cpu: [ppc64] os: [linux] libc: [glibc] - '@rolldown/binding-linux-s390x-gnu@1.0.0-rc.10': - resolution: {integrity: sha512-gSlmVS1FZJSRicA6IyjoRoKAFK7IIHBs7xJuHRSmjImqk3mPPWbR7RhbnfH2G6bcmMEllCt2vQ/7u9e6bBnByg==} - engines: {node: ^20.19.0 || >=22.12.0} + "@rolldown/binding-linux-s390x-gnu@1.0.0-rc.10": + resolution: + { integrity: sha512-gSlmVS1FZJSRicA6IyjoRoKAFK7IIHBs7xJuHRSmjImqk3mPPWbR7RhbnfH2G6bcmMEllCt2vQ/7u9e6bBnByg== } + engines: { node: ^20.19.0 || >=22.12.0 } cpu: [s390x] os: [linux] libc: [glibc] - '@rolldown/binding-linux-x64-gnu@1.0.0-rc.10': - resolution: {integrity: sha512-eOCKUpluKgfObT2pHjztnaWEIbUabWzk3qPZ5PuacuPmr4+JtQG4k2vGTY0H15edaTnicgU428XW/IH6AimcQw==} - engines: {node: ^20.19.0 || >=22.12.0} + "@rolldown/binding-linux-x64-gnu@1.0.0-rc.10": + resolution: + { integrity: sha512-eOCKUpluKgfObT2pHjztnaWEIbUabWzk3qPZ5PuacuPmr4+JtQG4k2vGTY0H15edaTnicgU428XW/IH6AimcQw== } + engines: { node: ^20.19.0 || >=22.12.0 } cpu: [x64] os: [linux] libc: [glibc] - '@rolldown/binding-linux-x64-musl@1.0.0-rc.10': - resolution: {integrity: sha512-Xdf2jQbfQowJnLcgYfD/m0Uu0Qj5OdxKallD78/IPPfzaiaI4KRAwZzHcKQ4ig1gtg1SuzC7jovNiM2TzQsBXA==} - engines: {node: ^20.19.0 || >=22.12.0} + "@rolldown/binding-linux-x64-musl@1.0.0-rc.10": + resolution: + { integrity: sha512-Xdf2jQbfQowJnLcgYfD/m0Uu0Qj5OdxKallD78/IPPfzaiaI4KRAwZzHcKQ4ig1gtg1SuzC7jovNiM2TzQsBXA== } + engines: { node: ^20.19.0 || >=22.12.0 } cpu: [x64] os: [linux] libc: [musl] - '@rolldown/binding-openharmony-arm64@1.0.0-rc.10': - resolution: {integrity: sha512-o1hYe8hLi1EY6jgPFyxQgQ1wcycX+qz8eEbVmot2hFkgUzPxy9+kF0u0NIQBeDq+Mko47AkaFFaChcvZa9UX9Q==} - engines: {node: ^20.19.0 || >=22.12.0} + "@rolldown/binding-openharmony-arm64@1.0.0-rc.10": + resolution: + { integrity: sha512-o1hYe8hLi1EY6jgPFyxQgQ1wcycX+qz8eEbVmot2hFkgUzPxy9+kF0u0NIQBeDq+Mko47AkaFFaChcvZa9UX9Q== } + engines: { node: ^20.19.0 || >=22.12.0 } cpu: [arm64] os: [openharmony] - '@rolldown/binding-wasm32-wasi@1.0.0-rc.10': - resolution: {integrity: sha512-Ugv9o7qYJudqQO5Y5y2N2SOo6S4WiqiNOpuQyoPInnhVzCY+wi/GHltcLHypG9DEUYMB0iTB/huJrpadiAcNcA==} - engines: {node: '>=14.0.0'} + "@rolldown/binding-wasm32-wasi@1.0.0-rc.10": + resolution: + { integrity: sha512-Ugv9o7qYJudqQO5Y5y2N2SOo6S4WiqiNOpuQyoPInnhVzCY+wi/GHltcLHypG9DEUYMB0iTB/huJrpadiAcNcA== } + engines: { node: ">=14.0.0" } cpu: [wasm32] - '@rolldown/binding-win32-arm64-msvc@1.0.0-rc.10': - resolution: {integrity: sha512-7UODQb4fQUNT/vmgDZBl3XOBAIOutP5R3O/rkxg0aLfEGQ4opbCgU5vOw/scPe4xOqBwL9fw7/RP1vAMZ6QlAQ==} - engines: {node: ^20.19.0 || >=22.12.0} + "@rolldown/binding-win32-arm64-msvc@1.0.0-rc.10": + resolution: + { integrity: sha512-7UODQb4fQUNT/vmgDZBl3XOBAIOutP5R3O/rkxg0aLfEGQ4opbCgU5vOw/scPe4xOqBwL9fw7/RP1vAMZ6QlAQ== } + engines: { node: ^20.19.0 || >=22.12.0 } cpu: [arm64] os: [win32] - '@rolldown/binding-win32-x64-msvc@1.0.0-rc.10': - resolution: {integrity: sha512-PYxKHMVHOb5NJuDL53vBUl1VwUjymDcYI6rzpIni0C9+9mTiJedvUxSk7/RPp7OOAm3v+EjgMu9bIy3N6b408w==} - engines: {node: ^20.19.0 || >=22.12.0} + "@rolldown/binding-win32-x64-msvc@1.0.0-rc.10": + resolution: + { integrity: sha512-PYxKHMVHOb5NJuDL53vBUl1VwUjymDcYI6rzpIni0C9+9mTiJedvUxSk7/RPp7OOAm3v+EjgMu9bIy3N6b408w== } + engines: { node: ^20.19.0 || >=22.12.0 } cpu: [x64] os: [win32] - '@rolldown/pluginutils@1.0.0-rc.10': - resolution: {integrity: sha512-UkVDEFk1w3mveXeKgaTuYfKWtPbvgck1dT8TUG3bnccrH0XtLTuAyfCoks4Q/M5ZGToSVJTIQYCzy2g/atAOeg==} + "@rolldown/pluginutils@1.0.0-rc.10": + resolution: + { integrity: sha512-UkVDEFk1w3mveXeKgaTuYfKWtPbvgck1dT8TUG3bnccrH0XtLTuAyfCoks4Q/M5ZGToSVJTIQYCzy2g/atAOeg== } - '@rollup/rollup-android-arm-eabi@4.59.0': - resolution: {integrity: sha512-upnNBkA6ZH2VKGcBj9Fyl9IGNPULcjXRlg0LLeaioQWueH30p6IXtJEbKAgvyv+mJaMxSm1l6xwDXYjpEMiLMg==} + "@rollup/rollup-android-arm-eabi@4.59.0": + resolution: + { integrity: sha512-upnNBkA6ZH2VKGcBj9Fyl9IGNPULcjXRlg0LLeaioQWueH30p6IXtJEbKAgvyv+mJaMxSm1l6xwDXYjpEMiLMg== } cpu: [arm] os: [android] - '@rollup/rollup-android-arm64@4.59.0': - resolution: {integrity: sha512-hZ+Zxj3SySm4A/DylsDKZAeVg0mvi++0PYVceVyX7hemkw7OreKdCvW2oQ3T1FMZvCaQXqOTHb8qmBShoqk69Q==} + "@rollup/rollup-android-arm64@4.59.0": + resolution: + { integrity: sha512-hZ+Zxj3SySm4A/DylsDKZAeVg0mvi++0PYVceVyX7hemkw7OreKdCvW2oQ3T1FMZvCaQXqOTHb8qmBShoqk69Q== } cpu: [arm64] os: [android] - '@rollup/rollup-darwin-arm64@4.59.0': - resolution: {integrity: sha512-W2Psnbh1J8ZJw0xKAd8zdNgF9HRLkdWwwdWqubSVk0pUuQkoHnv7rx4GiF9rT4t5DIZGAsConRE3AxCdJ4m8rg==} + "@rollup/rollup-darwin-arm64@4.59.0": + resolution: + { integrity: sha512-W2Psnbh1J8ZJw0xKAd8zdNgF9HRLkdWwwdWqubSVk0pUuQkoHnv7rx4GiF9rT4t5DIZGAsConRE3AxCdJ4m8rg== } cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-x64@4.59.0': - resolution: {integrity: sha512-ZW2KkwlS4lwTv7ZVsYDiARfFCnSGhzYPdiOU4IM2fDbL+QGlyAbjgSFuqNRbSthybLbIJ915UtZBtmuLrQAT/w==} + "@rollup/rollup-darwin-x64@4.59.0": + resolution: + { integrity: sha512-ZW2KkwlS4lwTv7ZVsYDiARfFCnSGhzYPdiOU4IM2fDbL+QGlyAbjgSFuqNRbSthybLbIJ915UtZBtmuLrQAT/w== } cpu: [x64] os: [darwin] - '@rollup/rollup-freebsd-arm64@4.59.0': - resolution: {integrity: sha512-EsKaJ5ytAu9jI3lonzn3BgG8iRBjV4LxZexygcQbpiU0wU0ATxhNVEpXKfUa0pS05gTcSDMKpn3Sx+QB9RlTTA==} + "@rollup/rollup-freebsd-arm64@4.59.0": + resolution: + { integrity: sha512-EsKaJ5ytAu9jI3lonzn3BgG8iRBjV4LxZexygcQbpiU0wU0ATxhNVEpXKfUa0pS05gTcSDMKpn3Sx+QB9RlTTA== } cpu: [arm64] os: [freebsd] - '@rollup/rollup-freebsd-x64@4.59.0': - resolution: {integrity: sha512-d3DuZi2KzTMjImrxoHIAODUZYoUUMsuUiY4SRRcJy6NJoZ6iIqWnJu9IScV9jXysyGMVuW+KNzZvBLOcpdl3Vg==} + "@rollup/rollup-freebsd-x64@4.59.0": + resolution: + { integrity: sha512-d3DuZi2KzTMjImrxoHIAODUZYoUUMsuUiY4SRRcJy6NJoZ6iIqWnJu9IScV9jXysyGMVuW+KNzZvBLOcpdl3Vg== } cpu: [x64] os: [freebsd] - '@rollup/rollup-linux-arm-gnueabihf@4.59.0': - resolution: {integrity: sha512-t4ONHboXi/3E0rT6OZl1pKbl2Vgxf9vJfWgmUoCEVQVxhW6Cw/c8I6hbbu7DAvgp82RKiH7TpLwxnJeKv2pbsw==} + "@rollup/rollup-linux-arm-gnueabihf@4.59.0": + resolution: + { integrity: sha512-t4ONHboXi/3E0rT6OZl1pKbl2Vgxf9vJfWgmUoCEVQVxhW6Cw/c8I6hbbu7DAvgp82RKiH7TpLwxnJeKv2pbsw== } cpu: [arm] os: [linux] libc: [glibc] - '@rollup/rollup-linux-arm-musleabihf@4.59.0': - resolution: {integrity: sha512-CikFT7aYPA2ufMD086cVORBYGHffBo4K8MQ4uPS/ZnY54GKj36i196u8U+aDVT2LX4eSMbyHtyOh7D7Zvk2VvA==} + "@rollup/rollup-linux-arm-musleabihf@4.59.0": + resolution: + { integrity: sha512-CikFT7aYPA2ufMD086cVORBYGHffBo4K8MQ4uPS/ZnY54GKj36i196u8U+aDVT2LX4eSMbyHtyOh7D7Zvk2VvA== } cpu: [arm] os: [linux] libc: [musl] - '@rollup/rollup-linux-arm64-gnu@4.59.0': - resolution: {integrity: sha512-jYgUGk5aLd1nUb1CtQ8E+t5JhLc9x5WdBKew9ZgAXg7DBk0ZHErLHdXM24rfX+bKrFe+Xp5YuJo54I5HFjGDAA==} + "@rollup/rollup-linux-arm64-gnu@4.59.0": + resolution: + { integrity: sha512-jYgUGk5aLd1nUb1CtQ8E+t5JhLc9x5WdBKew9ZgAXg7DBk0ZHErLHdXM24rfX+bKrFe+Xp5YuJo54I5HFjGDAA== } cpu: [arm64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-arm64-musl@4.59.0': - resolution: {integrity: sha512-peZRVEdnFWZ5Bh2KeumKG9ty7aCXzzEsHShOZEFiCQlDEepP1dpUl/SrUNXNg13UmZl+gzVDPsiCwnV1uI0RUA==} + "@rollup/rollup-linux-arm64-musl@4.59.0": + resolution: + { integrity: sha512-peZRVEdnFWZ5Bh2KeumKG9ty7aCXzzEsHShOZEFiCQlDEepP1dpUl/SrUNXNg13UmZl+gzVDPsiCwnV1uI0RUA== } cpu: [arm64] os: [linux] libc: [musl] - '@rollup/rollup-linux-loong64-gnu@4.59.0': - resolution: {integrity: sha512-gbUSW/97f7+r4gHy3Jlup8zDG190AuodsWnNiXErp9mT90iCy9NKKU0Xwx5k8VlRAIV2uU9CsMnEFg/xXaOfXg==} + "@rollup/rollup-linux-loong64-gnu@4.59.0": + resolution: + { integrity: sha512-gbUSW/97f7+r4gHy3Jlup8zDG190AuodsWnNiXErp9mT90iCy9NKKU0Xwx5k8VlRAIV2uU9CsMnEFg/xXaOfXg== } cpu: [loong64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-loong64-musl@4.59.0': - resolution: {integrity: sha512-yTRONe79E+o0FWFijasoTjtzG9EBedFXJMl888NBEDCDV9I2wGbFFfJQQe63OijbFCUZqxpHz1GzpbtSFikJ4Q==} + "@rollup/rollup-linux-loong64-musl@4.59.0": + resolution: + { integrity: sha512-yTRONe79E+o0FWFijasoTjtzG9EBedFXJMl888NBEDCDV9I2wGbFFfJQQe63OijbFCUZqxpHz1GzpbtSFikJ4Q== } cpu: [loong64] os: [linux] libc: [musl] - '@rollup/rollup-linux-ppc64-gnu@4.59.0': - resolution: {integrity: sha512-sw1o3tfyk12k3OEpRddF68a1unZ5VCN7zoTNtSn2KndUE+ea3m3ROOKRCZxEpmT9nsGnogpFP9x6mnLTCaoLkA==} + "@rollup/rollup-linux-ppc64-gnu@4.59.0": + resolution: + { integrity: sha512-sw1o3tfyk12k3OEpRddF68a1unZ5VCN7zoTNtSn2KndUE+ea3m3ROOKRCZxEpmT9nsGnogpFP9x6mnLTCaoLkA== } cpu: [ppc64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-ppc64-musl@4.59.0': - resolution: {integrity: sha512-+2kLtQ4xT3AiIxkzFVFXfsmlZiG5FXYW7ZyIIvGA7Bdeuh9Z0aN4hVyXS/G1E9bTP/vqszNIN/pUKCk/BTHsKA==} + "@rollup/rollup-linux-ppc64-musl@4.59.0": + resolution: + { integrity: sha512-+2kLtQ4xT3AiIxkzFVFXfsmlZiG5FXYW7ZyIIvGA7Bdeuh9Z0aN4hVyXS/G1E9bTP/vqszNIN/pUKCk/BTHsKA== } cpu: [ppc64] os: [linux] libc: [musl] - '@rollup/rollup-linux-riscv64-gnu@4.59.0': - resolution: {integrity: sha512-NDYMpsXYJJaj+I7UdwIuHHNxXZ/b/N2hR15NyH3m2qAtb/hHPA4g4SuuvrdxetTdndfj9b1WOmy73kcPRoERUg==} + "@rollup/rollup-linux-riscv64-gnu@4.59.0": + resolution: + { integrity: sha512-NDYMpsXYJJaj+I7UdwIuHHNxXZ/b/N2hR15NyH3m2qAtb/hHPA4g4SuuvrdxetTdndfj9b1WOmy73kcPRoERUg== } cpu: [riscv64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-riscv64-musl@4.59.0': - resolution: {integrity: sha512-nLckB8WOqHIf1bhymk+oHxvM9D3tyPndZH8i8+35p/1YiVoVswPid2yLzgX7ZJP0KQvnkhM4H6QZ5m0LzbyIAg==} + "@rollup/rollup-linux-riscv64-musl@4.59.0": + resolution: + { integrity: sha512-nLckB8WOqHIf1bhymk+oHxvM9D3tyPndZH8i8+35p/1YiVoVswPid2yLzgX7ZJP0KQvnkhM4H6QZ5m0LzbyIAg== } cpu: [riscv64] os: [linux] libc: [musl] - '@rollup/rollup-linux-s390x-gnu@4.59.0': - resolution: {integrity: sha512-oF87Ie3uAIvORFBpwnCvUzdeYUqi2wY6jRFWJAy1qus/udHFYIkplYRW+wo+GRUP4sKzYdmE1Y3+rY5Gc4ZO+w==} + "@rollup/rollup-linux-s390x-gnu@4.59.0": + resolution: + { integrity: sha512-oF87Ie3uAIvORFBpwnCvUzdeYUqi2wY6jRFWJAy1qus/udHFYIkplYRW+wo+GRUP4sKzYdmE1Y3+rY5Gc4ZO+w== } cpu: [s390x] os: [linux] libc: [glibc] - '@rollup/rollup-linux-x64-gnu@4.59.0': - resolution: {integrity: sha512-3AHmtQq/ppNuUspKAlvA8HtLybkDflkMuLK4DPo77DfthRb71V84/c4MlWJXixZz4uruIH4uaa07IqoAkG64fg==} + "@rollup/rollup-linux-x64-gnu@4.59.0": + resolution: + { integrity: sha512-3AHmtQq/ppNuUspKAlvA8HtLybkDflkMuLK4DPo77DfthRb71V84/c4MlWJXixZz4uruIH4uaa07IqoAkG64fg== } cpu: [x64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-x64-musl@4.59.0': - resolution: {integrity: sha512-2UdiwS/9cTAx7qIUZB/fWtToJwvt0Vbo0zmnYt7ED35KPg13Q0ym1g442THLC7VyI6JfYTP4PiSOWyoMdV2/xg==} + "@rollup/rollup-linux-x64-musl@4.59.0": + resolution: + { integrity: sha512-2UdiwS/9cTAx7qIUZB/fWtToJwvt0Vbo0zmnYt7ED35KPg13Q0ym1g442THLC7VyI6JfYTP4PiSOWyoMdV2/xg== } cpu: [x64] os: [linux] libc: [musl] - '@rollup/rollup-openbsd-x64@4.59.0': - resolution: {integrity: sha512-M3bLRAVk6GOwFlPTIxVBSYKUaqfLrn8l0psKinkCFxl4lQvOSz8ZrKDz2gxcBwHFpci0B6rttydI4IpS4IS/jQ==} + "@rollup/rollup-openbsd-x64@4.59.0": + resolution: + { integrity: sha512-M3bLRAVk6GOwFlPTIxVBSYKUaqfLrn8l0psKinkCFxl4lQvOSz8ZrKDz2gxcBwHFpci0B6rttydI4IpS4IS/jQ== } cpu: [x64] os: [openbsd] - '@rollup/rollup-openharmony-arm64@4.59.0': - resolution: {integrity: sha512-tt9KBJqaqp5i5HUZzoafHZX8b5Q2Fe7UjYERADll83O4fGqJ49O1FsL6LpdzVFQcpwvnyd0i+K/VSwu/o/nWlA==} + "@rollup/rollup-openharmony-arm64@4.59.0": + resolution: + { integrity: sha512-tt9KBJqaqp5i5HUZzoafHZX8b5Q2Fe7UjYERADll83O4fGqJ49O1FsL6LpdzVFQcpwvnyd0i+K/VSwu/o/nWlA== } cpu: [arm64] os: [openharmony] - '@rollup/rollup-win32-arm64-msvc@4.59.0': - resolution: {integrity: sha512-V5B6mG7OrGTwnxaNUzZTDTjDS7F75PO1ae6MJYdiMu60sq0CqN5CVeVsbhPxalupvTX8gXVSU9gq+Rx1/hvu6A==} + "@rollup/rollup-win32-arm64-msvc@4.59.0": + resolution: + { integrity: sha512-V5B6mG7OrGTwnxaNUzZTDTjDS7F75PO1ae6MJYdiMu60sq0CqN5CVeVsbhPxalupvTX8gXVSU9gq+Rx1/hvu6A== } cpu: [arm64] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.59.0': - resolution: {integrity: sha512-UKFMHPuM9R0iBegwzKF4y0C4J9u8C6MEJgFuXTBerMk7EJ92GFVFYBfOZaSGLu6COf7FxpQNqhNS4c4icUPqxA==} + "@rollup/rollup-win32-ia32-msvc@4.59.0": + resolution: + { integrity: sha512-UKFMHPuM9R0iBegwzKF4y0C4J9u8C6MEJgFuXTBerMk7EJ92GFVFYBfOZaSGLu6COf7FxpQNqhNS4c4icUPqxA== } cpu: [ia32] os: [win32] - '@rollup/rollup-win32-x64-gnu@4.59.0': - resolution: {integrity: sha512-laBkYlSS1n2L8fSo1thDNGrCTQMmxjYY5G0WFWjFFYZkKPjsMBsgJfGf4TLxXrF6RyhI60L8TMOjBMvXiTcxeA==} + "@rollup/rollup-win32-x64-gnu@4.59.0": + resolution: + { integrity: sha512-laBkYlSS1n2L8fSo1thDNGrCTQMmxjYY5G0WFWjFFYZkKPjsMBsgJfGf4TLxXrF6RyhI60L8TMOjBMvXiTcxeA== } cpu: [x64] os: [win32] - '@rollup/rollup-win32-x64-msvc@4.59.0': - resolution: {integrity: sha512-2HRCml6OztYXyJXAvdDXPKcawukWY2GpR5/nxKp4iBgiO3wcoEGkAaqctIbZcNB6KlUQBIqt8VYkNSj2397EfA==} + "@rollup/rollup-win32-x64-msvc@4.59.0": + resolution: + { integrity: sha512-2HRCml6OztYXyJXAvdDXPKcawukWY2GpR5/nxKp4iBgiO3wcoEGkAaqctIbZcNB6KlUQBIqt8VYkNSj2397EfA== } cpu: [x64] os: [win32] - '@shikijs/engine-oniguruma@3.23.0': - resolution: {integrity: sha512-1nWINwKXxKKLqPibT5f4pAFLej9oZzQTsby8942OTlsJzOBZ0MWKiwzMsd+jhzu8YPCHAswGnnN1YtQfirL35g==} - - '@shikijs/langs@3.23.0': - resolution: {integrity: sha512-2Ep4W3Re5aB1/62RSYQInK9mM3HsLeB91cHqznAJMuylqjzNVAVCMnNWRHFtcNHXsoNRayP9z1qj4Sq3nMqYXg==} - - '@shikijs/themes@3.23.0': - resolution: {integrity: sha512-5qySYa1ZgAT18HR/ypENL9cUSGOeI2x+4IvYJu4JgVJdizn6kG4ia5Q1jDEOi7gTbN4RbuYtmHh0W3eccOrjMA==} - - '@shikijs/types@3.23.0': - resolution: {integrity: sha512-3JZ5HXOZfYjsYSk0yPwBrkupyYSLpAE26Qc0HLghhZNGTZg/SKxXIIgoxOpmmeQP0RRSDJTk1/vPfw9tbw+jSQ==} - - '@shikijs/vscode-textmate@10.0.2': - resolution: {integrity: sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==} - - '@sigstore/bundle@4.0.0': - resolution: {integrity: sha512-NwCl5Y0V6Di0NexvkTqdoVfmjTaQwoLM236r89KEojGmq/jMls8S+zb7yOwAPdXvbwfKDlP+lmXgAL4vKSQT+A==} - engines: {node: ^20.17.0 || >=22.9.0} - - '@sigstore/core@3.1.0': - resolution: {integrity: sha512-o5cw1QYhNQ9IroioJxpzexmPjfCe7gzafd2RY3qnMpxr4ZEja+Jad/U8sgFpaue6bOaF+z7RVkyKVV44FN+N8A==} - engines: {node: ^20.17.0 || >=22.9.0} - - '@sigstore/protobuf-specs@0.5.0': - resolution: {integrity: sha512-MM8XIwUjN2bwvCg1QvrMtbBmpcSHrkhFSCu1D11NyPvDQ25HEc4oG5/OcQfd/Tlf/OxmKWERDj0zGE23jQaMwA==} - engines: {node: ^18.17.0 || >=20.5.0} - - '@sigstore/sign@4.1.0': - resolution: {integrity: sha512-Vx1RmLxLGnSUqx/o5/VsCjkuN5L7y+vxEEwawvc7u+6WtX2W4GNa7b9HEjmcRWohw/d6BpATXmvOwc78m+Swdg==} - engines: {node: ^20.17.0 || >=22.9.0} - - '@sigstore/tuf@4.0.1': - resolution: {integrity: sha512-OPZBg8y5Vc9yZjmWCHrlWPMBqW5yd8+wFNl+thMdtcWz3vjVSoJQutF8YkrzI0SLGnkuFof4HSsWUhXrf219Lw==} - engines: {node: ^20.17.0 || >=22.9.0} - - '@sigstore/verify@3.1.0': - resolution: {integrity: sha512-mNe0Iigql08YupSOGv197YdHpPPr+EzDZmfCgMc7RPNaZTw5aLN01nBl6CHJOh3BGtnMIj83EeN4butBchc8Ag==} - engines: {node: ^20.17.0 || >=22.9.0} - - '@simple-libs/child-process-utils@1.0.2': - resolution: {integrity: sha512-/4R8QKnd/8agJynkNdJmNw2MBxuFTRcNFnE5Sg/G+jkSsV8/UBgULMzhizWWW42p8L5H7flImV2ATi79Ove2Tw==} - engines: {node: '>=18'} - - '@simple-libs/stream-utils@1.2.0': - resolution: {integrity: sha512-KxXvfapcixpz6rVEB6HPjOUZT22yN6v0vI0urQSk1L8MlEWPDFCZkhw2xmkyoTGYeFw7tWTZd7e3lVzRZRN/EA==} - engines: {node: '>=18'} - - '@sinclair/typebox@0.34.41': - resolution: {integrity: sha512-6gS8pZzSXdyRHTIqoqSVknxolr1kzfy4/CeDnrzsVz8TTIWUbOBr6gnzOmTYJ3eXQNh4IYHIGi5aIL7sOZ2G/g==} - - '@sindresorhus/base62@1.0.0': - resolution: {integrity: sha512-TeheYy0ILzBEI/CO55CP6zJCSdSWeRtGnHy8U8dWSUH4I68iqTsy7HkMktR4xakThc9jotkPQUXT4ITdbV7cHA==} - engines: {node: '>=18'} - - '@sindresorhus/is@4.6.0': - resolution: {integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==} - engines: {node: '>=10'} - - '@so-ric/colorspace@1.1.6': - resolution: {integrity: sha512-/KiKkpHNOBgkFJwu9sh48LkHSMYGyuTcSFK/qMBdnOAlrRJzRSXAOFB5qwzaVQuDl8wAvHVMkaASQDReTahxuw==} - - '@sphinxxxx/color-conversion@2.2.2': - resolution: {integrity: sha512-XExJS3cLqgrmNBIP3bBw6+1oQ1ksGjFh0+oClDKFYpCCqx/hlqwWO5KO/S63fzUo67SxI9dMrF0y5T/Ey7h8Zw==} - - '@standard-schema/spec@1.1.0': - resolution: {integrity: sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==} - - '@stylistic/eslint-plugin@5.10.0': - resolution: {integrity: sha512-nPK52ZHvot8Ju/0A4ucSX1dcPV2/1clx0kLcH5wDmrE4naKso7TUC/voUyU1O9OTKTrR6MYip6LP0ogEMQ9jPQ==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + "@shikijs/engine-oniguruma@3.23.0": + resolution: + { integrity: sha512-1nWINwKXxKKLqPibT5f4pAFLej9oZzQTsby8942OTlsJzOBZ0MWKiwzMsd+jhzu8YPCHAswGnnN1YtQfirL35g== } + + "@shikijs/langs@3.23.0": + resolution: + { integrity: sha512-2Ep4W3Re5aB1/62RSYQInK9mM3HsLeB91cHqznAJMuylqjzNVAVCMnNWRHFtcNHXsoNRayP9z1qj4Sq3nMqYXg== } + + "@shikijs/themes@3.23.0": + resolution: + { integrity: sha512-5qySYa1ZgAT18HR/ypENL9cUSGOeI2x+4IvYJu4JgVJdizn6kG4ia5Q1jDEOi7gTbN4RbuYtmHh0W3eccOrjMA== } + + "@shikijs/types@3.23.0": + resolution: + { integrity: sha512-3JZ5HXOZfYjsYSk0yPwBrkupyYSLpAE26Qc0HLghhZNGTZg/SKxXIIgoxOpmmeQP0RRSDJTk1/vPfw9tbw+jSQ== } + + "@shikijs/vscode-textmate@10.0.2": + resolution: + { integrity: sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg== } + + "@sigstore/bundle@4.0.0": + resolution: + { integrity: sha512-NwCl5Y0V6Di0NexvkTqdoVfmjTaQwoLM236r89KEojGmq/jMls8S+zb7yOwAPdXvbwfKDlP+lmXgAL4vKSQT+A== } + engines: { node: ^20.17.0 || >=22.9.0 } + + "@sigstore/core@3.1.0": + resolution: + { integrity: sha512-o5cw1QYhNQ9IroioJxpzexmPjfCe7gzafd2RY3qnMpxr4ZEja+Jad/U8sgFpaue6bOaF+z7RVkyKVV44FN+N8A== } + engines: { node: ^20.17.0 || >=22.9.0 } + + "@sigstore/protobuf-specs@0.5.0": + resolution: + { integrity: sha512-MM8XIwUjN2bwvCg1QvrMtbBmpcSHrkhFSCu1D11NyPvDQ25HEc4oG5/OcQfd/Tlf/OxmKWERDj0zGE23jQaMwA== } + engines: { node: ^18.17.0 || >=20.5.0 } + + "@sigstore/sign@4.1.0": + resolution: + { integrity: sha512-Vx1RmLxLGnSUqx/o5/VsCjkuN5L7y+vxEEwawvc7u+6WtX2W4GNa7b9HEjmcRWohw/d6BpATXmvOwc78m+Swdg== } + engines: { node: ^20.17.0 || >=22.9.0 } + + "@sigstore/tuf@4.0.1": + resolution: + { integrity: sha512-OPZBg8y5Vc9yZjmWCHrlWPMBqW5yd8+wFNl+thMdtcWz3vjVSoJQutF8YkrzI0SLGnkuFof4HSsWUhXrf219Lw== } + engines: { node: ^20.17.0 || >=22.9.0 } + + "@sigstore/verify@3.1.0": + resolution: + { integrity: sha512-mNe0Iigql08YupSOGv197YdHpPPr+EzDZmfCgMc7RPNaZTw5aLN01nBl6CHJOh3BGtnMIj83EeN4butBchc8Ag== } + engines: { node: ^20.17.0 || >=22.9.0 } + + "@simple-libs/child-process-utils@1.0.2": + resolution: + { integrity: sha512-/4R8QKnd/8agJynkNdJmNw2MBxuFTRcNFnE5Sg/G+jkSsV8/UBgULMzhizWWW42p8L5H7flImV2ATi79Ove2Tw== } + engines: { node: ">=18" } + + "@simple-libs/stream-utils@1.2.0": + resolution: + { integrity: sha512-KxXvfapcixpz6rVEB6HPjOUZT22yN6v0vI0urQSk1L8MlEWPDFCZkhw2xmkyoTGYeFw7tWTZd7e3lVzRZRN/EA== } + engines: { node: ">=18" } + + "@sinclair/typebox@0.34.41": + resolution: + { integrity: sha512-6gS8pZzSXdyRHTIqoqSVknxolr1kzfy4/CeDnrzsVz8TTIWUbOBr6gnzOmTYJ3eXQNh4IYHIGi5aIL7sOZ2G/g== } + + "@sindresorhus/base62@1.0.0": + resolution: + { integrity: sha512-TeheYy0ILzBEI/CO55CP6zJCSdSWeRtGnHy8U8dWSUH4I68iqTsy7HkMktR4xakThc9jotkPQUXT4ITdbV7cHA== } + engines: { node: ">=18" } + + "@sindresorhus/is@4.6.0": + resolution: + { integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw== } + engines: { node: ">=10" } + + "@so-ric/colorspace@1.1.6": + resolution: + { integrity: sha512-/KiKkpHNOBgkFJwu9sh48LkHSMYGyuTcSFK/qMBdnOAlrRJzRSXAOFB5qwzaVQuDl8wAvHVMkaASQDReTahxuw== } + + "@sphinxxxx/color-conversion@2.2.2": + resolution: + { integrity: sha512-XExJS3cLqgrmNBIP3bBw6+1oQ1ksGjFh0+oClDKFYpCCqx/hlqwWO5KO/S63fzUo67SxI9dMrF0y5T/Ey7h8Zw== } + + "@standard-schema/spec@1.1.0": + resolution: + { integrity: sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w== } + + "@stylistic/eslint-plugin@5.10.0": + resolution: + { integrity: sha512-nPK52ZHvot8Ju/0A4ucSX1dcPV2/1clx0kLcH5wDmrE4naKso7TUC/voUyU1O9OTKTrR6MYip6LP0ogEMQ9jPQ== } + engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } peerDependencies: eslint: ^9.0.0 || ^10.0.0 - '@swc/core-darwin-arm64@1.15.18': - resolution: {integrity: sha512-+mIv7uBuSaywN3C9LNuWaX1jJJ3SKfiJuE6Lr3bd+/1Iv8oMU7oLBjYMluX1UrEPzwN2qCdY6Io0yVicABoCwQ==} - engines: {node: '>=10'} + "@swc/core-darwin-arm64@1.15.18": + resolution: + { integrity: sha512-+mIv7uBuSaywN3C9LNuWaX1jJJ3SKfiJuE6Lr3bd+/1Iv8oMU7oLBjYMluX1UrEPzwN2qCdY6Io0yVicABoCwQ== } + engines: { node: ">=10" } cpu: [arm64] os: [darwin] - '@swc/core-darwin-arm64@1.15.21': - resolution: {integrity: sha512-SA8SFg9dp0qKRH8goWsax6bptFE2EdmPf2YRAQW9WoHGf3XKM1bX0nd5UdwxmC5hXsBUZAYf7xSciCler6/oyA==} - engines: {node: '>=10'} + "@swc/core-darwin-arm64@1.15.21": + resolution: + { integrity: sha512-SA8SFg9dp0qKRH8goWsax6bptFE2EdmPf2YRAQW9WoHGf3XKM1bX0nd5UdwxmC5hXsBUZAYf7xSciCler6/oyA== } + engines: { node: ">=10" } cpu: [arm64] os: [darwin] - '@swc/core-darwin-x64@1.15.18': - resolution: {integrity: sha512-wZle0eaQhnzxWX5V/2kEOI6Z9vl/lTFEC6V4EWcn+5pDjhemCpQv9e/TDJ0GIoiClX8EDWRvuZwh+Z3dhL1NAg==} - engines: {node: '>=10'} + "@swc/core-darwin-x64@1.15.18": + resolution: + { integrity: sha512-wZle0eaQhnzxWX5V/2kEOI6Z9vl/lTFEC6V4EWcn+5pDjhemCpQv9e/TDJ0GIoiClX8EDWRvuZwh+Z3dhL1NAg== } + engines: { node: ">=10" } cpu: [x64] os: [darwin] - '@swc/core-darwin-x64@1.15.21': - resolution: {integrity: sha512-//fOVntgowz9+V90lVsNCtyyrtbHp3jWH6Rch7MXHXbcvbLmbCTmssl5DeedUWLLGiAAW1wksBdqdGYOTjaNLw==} - engines: {node: '>=10'} + "@swc/core-darwin-x64@1.15.21": + resolution: + { integrity: sha512-//fOVntgowz9+V90lVsNCtyyrtbHp3jWH6Rch7MXHXbcvbLmbCTmssl5DeedUWLLGiAAW1wksBdqdGYOTjaNLw== } + engines: { node: ">=10" } cpu: [x64] os: [darwin] - '@swc/core-linux-arm-gnueabihf@1.15.18': - resolution: {integrity: sha512-ao61HGXVqrJFHAcPtF4/DegmwEkVCo4HApnotLU8ognfmU8x589z7+tcf3hU+qBiU1WOXV5fQX6W9Nzs6hjxDw==} - engines: {node: '>=10'} + "@swc/core-linux-arm-gnueabihf@1.15.18": + resolution: + { integrity: sha512-ao61HGXVqrJFHAcPtF4/DegmwEkVCo4HApnotLU8ognfmU8x589z7+tcf3hU+qBiU1WOXV5fQX6W9Nzs6hjxDw== } + engines: { node: ">=10" } cpu: [arm] os: [linux] - '@swc/core-linux-arm-gnueabihf@1.15.21': - resolution: {integrity: sha512-meNI4Sh6h9h8DvIfEc0l5URabYMSuNvyisLmG6vnoYAS43s8ON3NJR8sDHvdP7NJTrLe0q/x2XCn6yL/BeHcZg==} - engines: {node: '>=10'} + "@swc/core-linux-arm-gnueabihf@1.15.21": + resolution: + { integrity: sha512-meNI4Sh6h9h8DvIfEc0l5URabYMSuNvyisLmG6vnoYAS43s8ON3NJR8sDHvdP7NJTrLe0q/x2XCn6yL/BeHcZg== } + engines: { node: ">=10" } cpu: [arm] os: [linux] - '@swc/core-linux-arm64-gnu@1.15.18': - resolution: {integrity: sha512-3xnctOBLIq3kj8PxOCgPrGjBLP/kNOddr6f5gukYt/1IZxsITQaU9TDyjeX6jG+FiCIHjCuWuffsyQDL5Ew1bg==} - engines: {node: '>=10'} + "@swc/core-linux-arm64-gnu@1.15.18": + resolution: + { integrity: sha512-3xnctOBLIq3kj8PxOCgPrGjBLP/kNOddr6f5gukYt/1IZxsITQaU9TDyjeX6jG+FiCIHjCuWuffsyQDL5Ew1bg== } + engines: { node: ">=10" } cpu: [arm64] os: [linux] libc: [glibc] - '@swc/core-linux-arm64-gnu@1.15.21': - resolution: {integrity: sha512-QrXlNQnHeXqU2EzLlnsPoWEh8/GtNJLvfMiPsDhk+ht6Xv8+vhvZ5YZ/BokNWSIZiWPKLAqR0M7T92YF5tmD3g==} - engines: {node: '>=10'} + "@swc/core-linux-arm64-gnu@1.15.21": + resolution: + { integrity: sha512-QrXlNQnHeXqU2EzLlnsPoWEh8/GtNJLvfMiPsDhk+ht6Xv8+vhvZ5YZ/BokNWSIZiWPKLAqR0M7T92YF5tmD3g== } + engines: { node: ">=10" } cpu: [arm64] os: [linux] libc: [glibc] - '@swc/core-linux-arm64-musl@1.15.18': - resolution: {integrity: sha512-0a+Lix+FSSHBSBOA0XznCcHo5/1nA6oLLjcnocvzXeqtdjnPb+SvchItHI+lfeiuj1sClYPDvPMLSLyXFaiIKw==} - engines: {node: '>=10'} + "@swc/core-linux-arm64-musl@1.15.18": + resolution: + { integrity: sha512-0a+Lix+FSSHBSBOA0XznCcHo5/1nA6oLLjcnocvzXeqtdjnPb+SvchItHI+lfeiuj1sClYPDvPMLSLyXFaiIKw== } + engines: { node: ">=10" } cpu: [arm64] os: [linux] libc: [musl] - '@swc/core-linux-arm64-musl@1.15.21': - resolution: {integrity: sha512-8/yGCMO333ultDaMQivE5CjO6oXDPeeg1IV4sphojPkb0Pv0i6zvcRIkgp60xDB+UxLr6VgHgt+BBgqS959E9g==} - engines: {node: '>=10'} + "@swc/core-linux-arm64-musl@1.15.21": + resolution: + { integrity: sha512-8/yGCMO333ultDaMQivE5CjO6oXDPeeg1IV4sphojPkb0Pv0i6zvcRIkgp60xDB+UxLr6VgHgt+BBgqS959E9g== } + engines: { node: ">=10" } cpu: [arm64] os: [linux] libc: [musl] - '@swc/core-linux-ppc64-gnu@1.15.21': - resolution: {integrity: sha512-ucW0HzPx0s1dgRvcvuLSPSA/2Kk/VYTv9st8qe1Kc22Gu0Q0rH9+6TcBTmMuNIp0Xs4BPr1uBttmbO1wEGI49Q==} - engines: {node: '>=10'} + "@swc/core-linux-ppc64-gnu@1.15.21": + resolution: + { integrity: sha512-ucW0HzPx0s1dgRvcvuLSPSA/2Kk/VYTv9st8qe1Kc22Gu0Q0rH9+6TcBTmMuNIp0Xs4BPr1uBttmbO1wEGI49Q== } + engines: { node: ">=10" } cpu: [ppc64] os: [linux] libc: [glibc] - '@swc/core-linux-s390x-gnu@1.15.21': - resolution: {integrity: sha512-ulTnOGc5I7YRObE/9NreAhQg94QkiR5qNhhcUZ1iFAYjzg/JGAi1ch+s/Ixe61pMIr8bfVrF0NOaB0f8wjaAfA==} - engines: {node: '>=10'} + "@swc/core-linux-s390x-gnu@1.15.21": + resolution: + { integrity: sha512-ulTnOGc5I7YRObE/9NreAhQg94QkiR5qNhhcUZ1iFAYjzg/JGAi1ch+s/Ixe61pMIr8bfVrF0NOaB0f8wjaAfA== } + engines: { node: ">=10" } cpu: [s390x] os: [linux] libc: [glibc] - '@swc/core-linux-x64-gnu@1.15.18': - resolution: {integrity: sha512-wG9J8vReUlpaHz4KOD/5UE1AUgirimU4UFT9oZmupUDEofxJKYb1mTA/DrMj0s78bkBiNI+7Fo2EgPuvOJfuAA==} - engines: {node: '>=10'} + "@swc/core-linux-x64-gnu@1.15.18": + resolution: + { integrity: sha512-wG9J8vReUlpaHz4KOD/5UE1AUgirimU4UFT9oZmupUDEofxJKYb1mTA/DrMj0s78bkBiNI+7Fo2EgPuvOJfuAA== } + engines: { node: ">=10" } cpu: [x64] os: [linux] libc: [glibc] - '@swc/core-linux-x64-gnu@1.15.21': - resolution: {integrity: sha512-D0RokxtM+cPvSqJIKR6uja4hbD+scI9ezo95mBhfSyLUs9wnPPl26sLp1ZPR/EXRdYm3F3S6RUtVi+8QXhT24Q==} - engines: {node: '>=10'} + "@swc/core-linux-x64-gnu@1.15.21": + resolution: + { integrity: sha512-D0RokxtM+cPvSqJIKR6uja4hbD+scI9ezo95mBhfSyLUs9wnPPl26sLp1ZPR/EXRdYm3F3S6RUtVi+8QXhT24Q== } + engines: { node: ">=10" } cpu: [x64] os: [linux] libc: [glibc] - '@swc/core-linux-x64-musl@1.15.18': - resolution: {integrity: sha512-4nwbVvCphKzicwNWRmvD5iBaZj8JYsRGa4xOxJmOyHlMDpsvvJ2OR2cODlvWyGFH6BYL1MfIAK3qph3hp0Az6g==} - engines: {node: '>=10'} + "@swc/core-linux-x64-musl@1.15.18": + resolution: + { integrity: sha512-4nwbVvCphKzicwNWRmvD5iBaZj8JYsRGa4xOxJmOyHlMDpsvvJ2OR2cODlvWyGFH6BYL1MfIAK3qph3hp0Az6g== } + engines: { node: ">=10" } cpu: [x64] os: [linux] libc: [musl] - '@swc/core-linux-x64-musl@1.15.21': - resolution: {integrity: sha512-nER8u7VeRfmU6fMDzl1NQAbbB/G7O2avmvCOwIul1uGkZ2/acbPH+DCL9h5+0yd/coNcxMBTL6NGepIew+7C2w==} - engines: {node: '>=10'} + "@swc/core-linux-x64-musl@1.15.21": + resolution: + { integrity: sha512-nER8u7VeRfmU6fMDzl1NQAbbB/G7O2avmvCOwIul1uGkZ2/acbPH+DCL9h5+0yd/coNcxMBTL6NGepIew+7C2w== } + engines: { node: ">=10" } cpu: [x64] os: [linux] libc: [musl] - '@swc/core-win32-arm64-msvc@1.15.18': - resolution: {integrity: sha512-zk0RYO+LjiBCat2RTMHzAWaMky0cra9loH4oRrLKLLNuL+jarxKLFDA8xTZWEkCPLjUTwlRN7d28eDLLMgtUcQ==} - engines: {node: '>=10'} + "@swc/core-win32-arm64-msvc@1.15.18": + resolution: + { integrity: sha512-zk0RYO+LjiBCat2RTMHzAWaMky0cra9loH4oRrLKLLNuL+jarxKLFDA8xTZWEkCPLjUTwlRN7d28eDLLMgtUcQ== } + engines: { node: ">=10" } cpu: [arm64] os: [win32] - '@swc/core-win32-arm64-msvc@1.15.21': - resolution: {integrity: sha512-+/AgNBnjYugUA8C0Do4YzymgvnGbztv7j8HKSQLvR/DQgZPoXQ2B3PqB2mTtGh/X5DhlJWiqnunN35JUgWcAeQ==} - engines: {node: '>=10'} + "@swc/core-win32-arm64-msvc@1.15.21": + resolution: + { integrity: sha512-+/AgNBnjYugUA8C0Do4YzymgvnGbztv7j8HKSQLvR/DQgZPoXQ2B3PqB2mTtGh/X5DhlJWiqnunN35JUgWcAeQ== } + engines: { node: ">=10" } cpu: [arm64] os: [win32] - '@swc/core-win32-ia32-msvc@1.15.18': - resolution: {integrity: sha512-yVuTrZ0RccD5+PEkpcLOBAuPbYBXS6rslENvIXfvJGXSdX5QGi1ehC4BjAMl5FkKLiam4kJECUI0l7Hq7T1vwg==} - engines: {node: '>=10'} + "@swc/core-win32-ia32-msvc@1.15.18": + resolution: + { integrity: sha512-yVuTrZ0RccD5+PEkpcLOBAuPbYBXS6rslENvIXfvJGXSdX5QGi1ehC4BjAMl5FkKLiam4kJECUI0l7Hq7T1vwg== } + engines: { node: ">=10" } cpu: [ia32] os: [win32] - '@swc/core-win32-ia32-msvc@1.15.21': - resolution: {integrity: sha512-IkSZj8PX/N4HcaFhMQtzmkV8YSnuNoJ0E6OvMwFiOfejPhiKXvl7CdDsn1f4/emYEIDO3fpgZW9DTaCRMDxaDA==} - engines: {node: '>=10'} + "@swc/core-win32-ia32-msvc@1.15.21": + resolution: + { integrity: sha512-IkSZj8PX/N4HcaFhMQtzmkV8YSnuNoJ0E6OvMwFiOfejPhiKXvl7CdDsn1f4/emYEIDO3fpgZW9DTaCRMDxaDA== } + engines: { node: ">=10" } cpu: [ia32] os: [win32] - '@swc/core-win32-x64-msvc@1.15.18': - resolution: {integrity: sha512-7NRmE4hmUQNCbYU3Hn9Tz57mK9Qq4c97ZS+YlamlK6qG9Fb5g/BB3gPDe0iLlJkns/sYv2VWSkm8c3NmbEGjbg==} - engines: {node: '>=10'} + "@swc/core-win32-x64-msvc@1.15.18": + resolution: + { integrity: sha512-7NRmE4hmUQNCbYU3Hn9Tz57mK9Qq4c97ZS+YlamlK6qG9Fb5g/BB3gPDe0iLlJkns/sYv2VWSkm8c3NmbEGjbg== } + engines: { node: ">=10" } cpu: [x64] os: [win32] - '@swc/core-win32-x64-msvc@1.15.21': - resolution: {integrity: sha512-zUyWso7OOENB6e1N1hNuNn8vbvLsTdKQ5WKLgt/JcBNfJhKy/6jmBmqI3GXk/MyvQKd5SLvP7A0F36p7TeDqvw==} - engines: {node: '>=10'} + "@swc/core-win32-x64-msvc@1.15.21": + resolution: + { integrity: sha512-zUyWso7OOENB6e1N1hNuNn8vbvLsTdKQ5WKLgt/JcBNfJhKy/6jmBmqI3GXk/MyvQKd5SLvP7A0F36p7TeDqvw== } + engines: { node: ">=10" } cpu: [x64] os: [win32] - '@swc/core@1.15.18': - resolution: {integrity: sha512-z87aF9GphWp//fnkRsqvtY+inMVPgYW3zSlXH1kJFvRT5H/wiAn+G32qW5l3oEk63KSF1x3Ov0BfHCObAmT8RA==} - engines: {node: '>=10'} + "@swc/core@1.15.18": + resolution: + { integrity: sha512-z87aF9GphWp//fnkRsqvtY+inMVPgYW3zSlXH1kJFvRT5H/wiAn+G32qW5l3oEk63KSF1x3Ov0BfHCObAmT8RA== } + engines: { node: ">=10" } peerDependencies: - '@swc/helpers': '>=0.5.17' + "@swc/helpers": ">=0.5.17" peerDependenciesMeta: - '@swc/helpers': + "@swc/helpers": optional: true - '@swc/core@1.15.21': - resolution: {integrity: sha512-fkk7NJcBscrR3/F8jiqlMptRHP650NxqDnspBMrRe5d8xOoCy9MLL5kOBLFXjFLfMo3KQQHhk+/jUULOMlR1uQ==} - engines: {node: '>=10'} + "@swc/core@1.15.21": + resolution: + { integrity: sha512-fkk7NJcBscrR3/F8jiqlMptRHP650NxqDnspBMrRe5d8xOoCy9MLL5kOBLFXjFLfMo3KQQHhk+/jUULOMlR1uQ== } + engines: { node: ">=10" } peerDependencies: - '@swc/helpers': '>=0.5.17' + "@swc/helpers": ">=0.5.17" peerDependenciesMeta: - '@swc/helpers': + "@swc/helpers": optional: true - '@swc/counter@0.1.3': - resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==} + "@swc/counter@0.1.3": + resolution: + { integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ== } - '@swc/types@0.1.25': - resolution: {integrity: sha512-iAoY/qRhNH8a/hBvm3zKj9qQ4oc2+3w1unPJa2XvTK3XjeLXtzcCingVPw/9e5mn1+0yPqxcBGp9Jf0pkfMb1g==} + "@swc/types@0.1.25": + resolution: + { integrity: sha512-iAoY/qRhNH8a/hBvm3zKj9qQ4oc2+3w1unPJa2XvTK3XjeLXtzcCingVPw/9e5mn1+0yPqxcBGp9Jf0pkfMb1g== } - '@szmarczak/http-timer@4.0.6': - resolution: {integrity: sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==} - engines: {node: '>=10'} + "@szmarczak/http-timer@4.0.6": + resolution: + { integrity: sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w== } + engines: { node: ">=10" } - '@tsconfig/node10@1.0.9': - resolution: {integrity: sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==} + "@tsconfig/node10@1.0.9": + resolution: + { integrity: sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA== } - '@tsconfig/node12@1.0.11': - resolution: {integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==} + "@tsconfig/node12@1.0.11": + resolution: + { integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag== } - '@tsconfig/node14@1.0.3': - resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==} + "@tsconfig/node14@1.0.3": + resolution: + { integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow== } - '@tsconfig/node16@1.0.4': - resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==} + "@tsconfig/node16@1.0.4": + resolution: + { integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA== } - '@tsparticles/cli@3.3.8': - resolution: {integrity: sha512-LNOGKvSeD34mTCWr62WCo6kVZqzZmllDH+OMDzCRzz1Dg6RzmJSx1qi1/sdqveIdtRP+YxEZPva6XswUBw3zRw==} + "@tsparticles/cli@3.3.8": + resolution: + { integrity: sha512-LNOGKvSeD34mTCWr62WCo6kVZqzZmllDH+OMDzCRzz1Dg6RzmJSx1qi1/sdqveIdtRP+YxEZPva6XswUBw3zRw== } hasBin: true - '@tsparticles/depcruise-config@3.3.5': - resolution: {integrity: sha512-Hp/OMURkE521nn9/c8ccYr707zcgMgQ4XRHLvLPPRIQOfri9iRMWuppoXUYD1v/iBBW2JDee7vtjGEST/rLDDg==} + "@tsparticles/depcruise-config@3.3.5": + resolution: + { integrity: sha512-Hp/OMURkE521nn9/c8ccYr707zcgMgQ4XRHLvLPPRIQOfri9iRMWuppoXUYD1v/iBBW2JDee7vtjGEST/rLDDg== } peerDependencies: dependency-cruiser: ^17 - '@tsparticles/eslint-config@3.3.5': - resolution: {integrity: sha512-Uad/9ncxgj/xjg9aX+zuXz91/IivSpWLuIcyrU83qa5RXJE6hFp7kbwQaM2qEqzQBVtyguWBC8ib9PX32+6SIA==} + "@tsparticles/eslint-config@3.3.5": + resolution: + { integrity: sha512-Uad/9ncxgj/xjg9aX+zuXz91/IivSpWLuIcyrU83qa5RXJE6hFp7kbwQaM2qEqzQBVtyguWBC8ib9PX32+6SIA== } peerDependencies: eslint: ^10 - '@tsparticles/prettier-config@3.3.5': - resolution: {integrity: sha512-YS5Cn8PrsDwXAoJHVC+NLJozKx3el7zfxC0HgIpVe/f8kSlmgatH+p4KJKury2xUCpvhQF2R9cjzbZlTF8PrCQ==} + "@tsparticles/prettier-config@3.3.5": + resolution: + { integrity: sha512-YS5Cn8PrsDwXAoJHVC+NLJozKx3el7zfxC0HgIpVe/f8kSlmgatH+p4KJKury2xUCpvhQF2R9cjzbZlTF8PrCQ== } peerDependencies: prettier: ^3 - '@tsparticles/tsconfig@3.3.5': - resolution: {integrity: sha512-DJ/5FBwyj4MubMDNuRfMyeesAlshtzyMex04NFFyLtTixIVr4h4ZewBwC92YKEyyWvoE2cp7HDB4jkThtxSg+g==} + "@tsparticles/tsconfig@3.3.5": + resolution: + { integrity: sha512-DJ/5FBwyj4MubMDNuRfMyeesAlshtzyMex04NFFyLtTixIVr4h4ZewBwC92YKEyyWvoE2cp7HDB4jkThtxSg+g== } peerDependencies: typescript: ^5 - '@tsparticles/webpack-plugin@3.3.5': - resolution: {integrity: sha512-Cvw6tdrDIoi7cb4xZaP3z4od3OMQS6xx7CuWMJGEzx9iZUfJUnf/RrLmLxpGpskTCSEW5DbaKpeAKAGETdMYNw==} - - '@tufjs/canonical-json@2.0.0': - resolution: {integrity: sha512-yVtV8zsdo8qFHe+/3kw81dSLyF7D576A5cCFCi4X7B39tWT7SekaEFUnvnWJHz+9qO7qJTah1JbrDjWKqFtdWA==} - engines: {node: ^16.14.0 || >=18.0.0} - - '@tufjs/models@4.1.0': - resolution: {integrity: sha512-Y8cK9aggNRsqJVaKUlEYs4s7CvQ1b1ta2DVPyAimb0I2qhzjNk+A+mxvll/klL0RlfuIUei8BF7YWiua4kQqww==} - engines: {node: ^20.17.0 || >=22.9.0} - - '@tybys/wasm-util@0.10.1': - resolution: {integrity: sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==} + "@tsparticles/webpack-plugin@3.3.5": + resolution: + { integrity: sha512-Cvw6tdrDIoi7cb4xZaP3z4od3OMQS6xx7CuWMJGEzx9iZUfJUnf/RrLmLxpGpskTCSEW5DbaKpeAKAGETdMYNw== } - '@tybys/wasm-util@0.9.0': - resolution: {integrity: sha512-6+7nlbMVX/PVDCwaIQ8nTOPveOcFLSt8GcXdx8hD0bt39uWxYT88uXzqTd4fTvqta7oeUJqudepapKNt2DYJFw==} + "@tufjs/canonical-json@2.0.0": + resolution: + { integrity: sha512-yVtV8zsdo8qFHe+/3kw81dSLyF7D576A5cCFCi4X7B39tWT7SekaEFUnvnWJHz+9qO7qJTah1JbrDjWKqFtdWA== } + engines: { node: ^16.14.0 || >=18.0.0 } - '@types/body-parser@1.19.2': - resolution: {integrity: sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==} + "@tufjs/models@4.1.0": + resolution: + { integrity: sha512-Y8cK9aggNRsqJVaKUlEYs4s7CvQ1b1ta2DVPyAimb0I2qhzjNk+A+mxvll/klL0RlfuIUei8BF7YWiua4kQqww== } + engines: { node: ^20.17.0 || >=22.9.0 } - '@types/cacheable-request@6.0.3': - resolution: {integrity: sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==} + "@tybys/wasm-util@0.10.1": + resolution: + { integrity: sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg== } - '@types/chai@5.2.2': - resolution: {integrity: sha512-8kB30R7Hwqf40JPiKhVzodJs2Qc1ZJ5zuT3uzw5Hq/dhNCl3G3l83jfpdI1e20BP348+fV7VIL/+FxaXkqBmWg==} + "@tybys/wasm-util@0.9.0": + resolution: + { integrity: sha512-6+7nlbMVX/PVDCwaIQ8nTOPveOcFLSt8GcXdx8hD0bt39uWxYT88uXzqTd4fTvqta7oeUJqudepapKNt2DYJFw== } - '@types/connect-livereload@0.6.3': - resolution: {integrity: sha512-CaWami/rQdycHKnOR+UIfBNxNeqLC5f1KqMdclbsf+TsiLgXwYm2/+KlAefcR3ODom7Fuz4bvWazDMsmfaV5gw==} + "@types/body-parser@1.19.2": + resolution: + { integrity: sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g== } - '@types/connect@3.4.35': - resolution: {integrity: sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==} + "@types/cacheable-request@6.0.3": + resolution: + { integrity: sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw== } - '@types/deep-eql@4.0.2': - resolution: {integrity: sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==} + "@types/chai@5.2.2": + resolution: + { integrity: sha512-8kB30R7Hwqf40JPiKhVzodJs2Qc1ZJ5zuT3uzw5Hq/dhNCl3G3l83jfpdI1e20BP348+fV7VIL/+FxaXkqBmWg== } - '@types/eslint-scope@3.7.7': - resolution: {integrity: sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==} + "@types/connect-livereload@0.6.3": + resolution: + { integrity: sha512-CaWami/rQdycHKnOR+UIfBNxNeqLC5f1KqMdclbsf+TsiLgXwYm2/+KlAefcR3ODom7Fuz4bvWazDMsmfaV5gw== } - '@types/eslint@8.56.6': - resolution: {integrity: sha512-ymwc+qb1XkjT/gfoQwxIeHZ6ixH23A+tCT2ADSA/DPVKzAjwYkTXBMCQ/f6fe4wEa85Lhp26VPeUxI7wMhAi7A==} + "@types/connect@3.4.35": + resolution: + { integrity: sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ== } - '@types/esrecurse@4.3.1': - resolution: {integrity: sha512-xJBAbDifo5hpffDBuHl0Y8ywswbiAp/Wi7Y/GtAgSlZyIABppyurxVueOPE8LUQOxdlgi6Zqce7uoEpqNTeiUw==} + "@types/deep-eql@4.0.2": + resolution: + { integrity: sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw== } - '@types/estree@1.0.8': - resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} + "@types/eslint-scope@3.7.7": + resolution: + { integrity: sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg== } - '@types/express-serve-static-core@5.0.0': - resolution: {integrity: sha512-AbXMTZGt40T+KON9/Fdxx0B2WK5hsgxcfXJLr5bFpZ7b4JCex2WyQPTEKdXqfHiY5nKKBScZ7yCoO6Pvgxfvnw==} + "@types/eslint@8.56.6": + resolution: + { integrity: sha512-ymwc+qb1XkjT/gfoQwxIeHZ6ixH23A+tCT2ADSA/DPVKzAjwYkTXBMCQ/f6fe4wEa85Lhp26VPeUxI7wMhAi7A== } - '@types/express@5.0.6': - resolution: {integrity: sha512-sKYVuV7Sv9fbPIt/442koC7+IIwK5olP1KWeD88e/idgoJqDm3JV/YUiPwkoKK92ylff2MGxSz1CSjsXelx0YA==} + "@types/esrecurse@4.3.1": + resolution: + { integrity: sha512-xJBAbDifo5hpffDBuHl0Y8ywswbiAp/Wi7Y/GtAgSlZyIABppyurxVueOPE8LUQOxdlgi6Zqce7uoEpqNTeiUw== } - '@types/hast@3.0.4': - resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==} + "@types/estree@1.0.8": + resolution: + { integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w== } - '@types/http-cache-semantics@4.0.4': - resolution: {integrity: sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==} + "@types/express-serve-static-core@5.0.0": + resolution: + { integrity: sha512-AbXMTZGt40T+KON9/Fdxx0B2WK5hsgxcfXJLr5bFpZ7b4JCex2WyQPTEKdXqfHiY5nKKBScZ7yCoO6Pvgxfvnw== } - '@types/http-errors@2.0.5': - resolution: {integrity: sha512-r8Tayk8HJnX0FztbZN7oVqGccWgw98T/0neJphO91KkmOzug1KkofZURD4UaD5uH8AqcFLfdPErnBod0u71/qg==} + "@types/express@5.0.6": + resolution: + { integrity: sha512-sKYVuV7Sv9fbPIt/442koC7+IIwK5olP1KWeD88e/idgoJqDm3JV/YUiPwkoKK92ylff2MGxSz1CSjsXelx0YA== } - '@types/jsdom@28.0.1': - resolution: {integrity: sha512-GJq2QE4TAZ5ajSoCasn5DOFm8u1mI3tIFvM5tIq3W5U/RTB6gsHwc6Yhpl91X9VSDOUVblgXmG+2+sSvFQrdlw==} + "@types/hast@3.0.4": + resolution: + { integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ== } - '@types/json-schema@7.0.15': - resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} + "@types/http-cache-semantics@4.0.4": + resolution: + { integrity: sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA== } - '@types/keyv@3.1.4': - resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==} + "@types/http-errors@2.0.5": + resolution: + { integrity: sha512-r8Tayk8HJnX0FztbZN7oVqGccWgw98T/0neJphO91KkmOzug1KkofZURD4UaD5uH8AqcFLfdPErnBod0u71/qg== } - '@types/livereload@0.9.5': - resolution: {integrity: sha512-2RXcRKdivPmn67pwjytvHoRv46AeXaLYVUWA0zkel1XSAOH5i71G0KfUdE5u3g80T155gR3Fo3ilVaqparLsVA==} + "@types/jsdom@28.0.1": + resolution: + { integrity: sha512-GJq2QE4TAZ5ajSoCasn5DOFm8u1mI3tIFvM5tIq3W5U/RTB6gsHwc6Yhpl91X9VSDOUVblgXmG+2+sSvFQrdlw== } - '@types/luxon@3.7.1': - resolution: {integrity: sha512-H3iskjFIAn5SlJU7OuxUmTEpebK6TKB8rxZShDslBMZJ5u9S//KM1sbdAisiSrqwLQncVjnpi2OK2J51h+4lsg==} + "@types/json-schema@7.0.15": + resolution: + { integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA== } - '@types/mime@1.3.2': - resolution: {integrity: sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==} + "@types/keyv@3.1.4": + resolution: + { integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg== } - '@types/minimist@1.2.2': - resolution: {integrity: sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==} + "@types/livereload@0.9.5": + resolution: + { integrity: sha512-2RXcRKdivPmn67pwjytvHoRv46AeXaLYVUWA0zkel1XSAOH5i71G0KfUdE5u3g80T155gR3Fo3ilVaqparLsVA== } - '@types/node@18.19.45': - resolution: {integrity: sha512-VZxPKNNhjKmaC1SUYowuXSRSMGyQGmQjvvA1xE4QZ0xce2kLtEhPDS+kqpCPBZYgqblCLQ2DAjSzmgCM5auvhA==} + "@types/luxon@3.7.1": + resolution: + { integrity: sha512-H3iskjFIAn5SlJU7OuxUmTEpebK6TKB8rxZShDslBMZJ5u9S//KM1sbdAisiSrqwLQncVjnpi2OK2J51h+4lsg== } + + "@types/mime@1.3.2": + resolution: + { integrity: sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw== } + + "@types/minimist@1.2.2": + resolution: + { integrity: sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ== } + + "@types/node@18.19.45": + resolution: + { integrity: sha512-VZxPKNNhjKmaC1SUYowuXSRSMGyQGmQjvvA1xE4QZ0xce2kLtEhPDS+kqpCPBZYgqblCLQ2DAjSzmgCM5auvhA== } - '@types/node@24.10.9': - resolution: {integrity: sha512-ne4A0IpG3+2ETuREInjPNhUGis1SFjv1d5asp8MzEAGtOZeTeHVDOYqOgqfhvseqg/iXty2hjBf1zAOb7RNiNw==} + "@types/node@24.10.9": + resolution: + { integrity: sha512-ne4A0IpG3+2ETuREInjPNhUGis1SFjv1d5asp8MzEAGtOZeTeHVDOYqOgqfhvseqg/iXty2hjBf1zAOb7RNiNw== } - '@types/node@25.5.0': - resolution: {integrity: sha512-jp2P3tQMSxWugkCUKLRPVUpGaL5MVFwF8RDuSRztfwgN1wmqJeMSbKlnEtQqU8UrhTmzEmZdu2I6v2dpp7XIxw==} + "@types/node@25.5.0": + resolution: + { integrity: sha512-jp2P3tQMSxWugkCUKLRPVUpGaL5MVFwF8RDuSRztfwgN1wmqJeMSbKlnEtQqU8UrhTmzEmZdu2I6v2dpp7XIxw== } - '@types/normalize-package-data@2.4.1': - resolution: {integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==} + "@types/normalize-package-data@2.4.1": + resolution: + { integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw== } - '@types/qs@6.9.7': - resolution: {integrity: sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==} + "@types/qs@6.9.7": + resolution: + { integrity: sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw== } - '@types/range-parser@1.2.4': - resolution: {integrity: sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==} + "@types/range-parser@1.2.4": + resolution: + { integrity: sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw== } - '@types/responselike@1.0.3': - resolution: {integrity: sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw==} + "@types/responselike@1.0.3": + resolution: + { integrity: sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw== } - '@types/send@0.17.1': - resolution: {integrity: sha512-Cwo8LE/0rnvX7kIIa3QHCkcuF21c05Ayb0ZfxPiv0W8VRiZiNW/WuRupHKpqqGVGf7SUA44QSOUKaEd9lIrd/Q==} + "@types/send@0.17.1": + resolution: + { integrity: sha512-Cwo8LE/0rnvX7kIIa3QHCkcuF21c05Ayb0ZfxPiv0W8VRiZiNW/WuRupHKpqqGVGf7SUA44QSOUKaEd9lIrd/Q== } - '@types/serve-static@2.2.0': - resolution: {integrity: sha512-8mam4H1NHLtu7nmtalF7eyBH14QyOASmcxHhSfEoRyr0nP/YdoesEtU+uSRvMe96TW/HPTtkoKqQLl53N7UXMQ==} + "@types/serve-static@2.2.0": + resolution: + { integrity: sha512-8mam4H1NHLtu7nmtalF7eyBH14QyOASmcxHhSfEoRyr0nP/YdoesEtU+uSRvMe96TW/HPTtkoKqQLl53N7UXMQ== } - '@types/stylus@0.48.43': - resolution: {integrity: sha512-72dv/zdhuyXWVHUXG2VTPEQdOG+oen95/DNFx2aMFFaY6LoITI6PwEqf5x31JF49kp2w9hvUzkNfTGBIeg61LQ==} + "@types/stylus@0.48.43": + resolution: + { integrity: sha512-72dv/zdhuyXWVHUXG2VTPEQdOG+oen95/DNFx2aMFFaY6LoITI6PwEqf5x31JF49kp2w9hvUzkNfTGBIeg61LQ== } - '@types/tough-cookie@4.0.5': - resolution: {integrity: sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==} + "@types/tough-cookie@4.0.5": + resolution: + { integrity: sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA== } - '@types/triple-beam@1.3.2': - resolution: {integrity: sha512-txGIh+0eDFzKGC25zORnswy+br1Ha7hj5cMVwKIU7+s0U2AxxJru/jZSMU6OC9MJWP6+pc/hc6ZjyZShpsyY2g==} + "@types/triple-beam@1.3.2": + resolution: + { integrity: sha512-txGIh+0eDFzKGC25zORnswy+br1Ha7hj5cMVwKIU7+s0U2AxxJru/jZSMU6OC9MJWP6+pc/hc6ZjyZShpsyY2g== } - '@types/unist@3.0.3': - resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==} + "@types/unist@3.0.3": + resolution: + { integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q== } - '@types/webpack-env@1.18.8': - resolution: {integrity: sha512-G9eAoJRMLjcvN4I08wB5I7YofOb/kaJNd5uoCMX+LbKXTPCF+ZIHuqTnFaK9Jz1rgs035f9JUPUhNFtqgucy/A==} + "@types/webpack-env@1.18.8": + resolution: + { integrity: sha512-G9eAoJRMLjcvN4I08wB5I7YofOb/kaJNd5uoCMX+LbKXTPCF+ZIHuqTnFaK9Jz1rgs035f9JUPUhNFtqgucy/A== } - '@types/ws@8.5.4': - resolution: {integrity: sha512-zdQDHKUgcX/zBc4GrwsE/7dVdAD8JR4EuiAXiiUhhfyIJXXb2+PrGshFyeXWQPMmmZ2XxgaqclgpIC7eTXc1mg==} + "@types/ws@8.5.4": + resolution: + { integrity: sha512-zdQDHKUgcX/zBc4GrwsE/7dVdAD8JR4EuiAXiiUhhfyIJXXb2+PrGshFyeXWQPMmmZ2XxgaqclgpIC7eTXc1mg== } - '@types/yauzl@2.10.3': - resolution: {integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==} + "@types/yauzl@2.10.3": + resolution: + { integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q== } - '@typescript-eslint/eslint-plugin@8.57.1': - resolution: {integrity: sha512-Gn3aqnvNl4NGc6x3/Bqk1AOn0thyTU9bqDRhiRnUWezgvr2OnhYCWCgC8zXXRVqBsIL1pSDt7T9nJUe0oM0kDQ==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + "@typescript-eslint/eslint-plugin@8.57.1": + resolution: + { integrity: sha512-Gn3aqnvNl4NGc6x3/Bqk1AOn0thyTU9bqDRhiRnUWezgvr2OnhYCWCgC8zXXRVqBsIL1pSDt7T9nJUe0oM0kDQ== } + engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } peerDependencies: - '@typescript-eslint/parser': ^8.57.1 + "@typescript-eslint/parser": ^8.57.1 eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 - typescript: '>=4.8.4 <6.0.0' + typescript: ">=4.8.4 <6.0.0" - '@typescript-eslint/parser@8.57.1': - resolution: {integrity: sha512-k4eNDan0EIMTT/dUKc/g+rsJ6wcHYhNPdY19VoX/EOtaAG8DLtKCykhrUnuHPYvinn5jhAPgD2Qw9hXBwrahsw==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + "@typescript-eslint/parser@8.57.1": + resolution: + { integrity: sha512-k4eNDan0EIMTT/dUKc/g+rsJ6wcHYhNPdY19VoX/EOtaAG8DLtKCykhrUnuHPYvinn5jhAPgD2Qw9hXBwrahsw== } + engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } peerDependencies: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 - typescript: '>=4.8.4 <6.0.0' + typescript: ">=4.8.4 <6.0.0" - '@typescript-eslint/project-service@8.56.1': - resolution: {integrity: sha512-TAdqQTzHNNvlVFfR+hu2PDJrURiwKsUvxFn1M0h95BB8ah5jejas08jUWG4dBA68jDMI988IvtfdAI53JzEHOQ==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + "@typescript-eslint/project-service@8.56.1": + resolution: + { integrity: sha512-TAdqQTzHNNvlVFfR+hu2PDJrURiwKsUvxFn1M0h95BB8ah5jejas08jUWG4dBA68jDMI988IvtfdAI53JzEHOQ== } + engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } peerDependencies: - typescript: '>=4.8.4 <6.0.0' + typescript: ">=4.8.4 <6.0.0" - '@typescript-eslint/project-service@8.57.1': - resolution: {integrity: sha512-vx1F37BRO1OftsYlmG9xay1TqnjNVlqALymwWVuYTdo18XuKxtBpCj1QlzNIEHlvlB27osvXFWptYiEWsVdYsg==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + "@typescript-eslint/project-service@8.57.1": + resolution: + { integrity: sha512-vx1F37BRO1OftsYlmG9xay1TqnjNVlqALymwWVuYTdo18XuKxtBpCj1QlzNIEHlvlB27osvXFWptYiEWsVdYsg== } + engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } peerDependencies: - typescript: '>=4.8.4 <6.0.0' - - '@typescript-eslint/scope-manager@8.56.1': - resolution: {integrity: sha512-YAi4VDKcIZp0O4tz/haYKhmIDZFEUPOreKbfdAN3SzUDMcPhJ8QI99xQXqX+HoUVq8cs85eRKnD+rne2UAnj2w==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - '@typescript-eslint/scope-manager@8.57.1': - resolution: {integrity: sha512-hs/QcpCwlwT2L5S+3fT6gp0PabyGk4Q0Rv2doJXA0435/OpnSR3VRgvrp8Xdoc3UAYSg9cyUjTeFXZEPg/3OKg==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - '@typescript-eslint/tsconfig-utils@8.56.1': - resolution: {integrity: sha512-qOtCYzKEeyr3aR9f28mPJqBty7+DBqsdd63eO0yyDwc6vgThj2UjWfJIcsFeSucYydqcuudMOprZ+x1SpF3ZuQ==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + typescript: ">=4.8.4 <6.0.0" + + "@typescript-eslint/scope-manager@8.56.1": + resolution: + { integrity: sha512-YAi4VDKcIZp0O4tz/haYKhmIDZFEUPOreKbfdAN3SzUDMcPhJ8QI99xQXqX+HoUVq8cs85eRKnD+rne2UAnj2w== } + engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + + "@typescript-eslint/scope-manager@8.57.1": + resolution: + { integrity: sha512-hs/QcpCwlwT2L5S+3fT6gp0PabyGk4Q0Rv2doJXA0435/OpnSR3VRgvrp8Xdoc3UAYSg9cyUjTeFXZEPg/3OKg== } + engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + + "@typescript-eslint/tsconfig-utils@8.56.1": + resolution: + { integrity: sha512-qOtCYzKEeyr3aR9f28mPJqBty7+DBqsdd63eO0yyDwc6vgThj2UjWfJIcsFeSucYydqcuudMOprZ+x1SpF3ZuQ== } + engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } peerDependencies: - typescript: '>=4.8.4 <6.0.0' + typescript: ">=4.8.4 <6.0.0" - '@typescript-eslint/tsconfig-utils@8.57.1': - resolution: {integrity: sha512-0lgOZB8cl19fHO4eI46YUx2EceQqhgkPSuCGLlGi79L2jwYY1cxeYc1Nae8Aw1xjgW3PKVDLlr3YJ6Bxx8HkWg==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + "@typescript-eslint/tsconfig-utils@8.57.1": + resolution: + { integrity: sha512-0lgOZB8cl19fHO4eI46YUx2EceQqhgkPSuCGLlGi79L2jwYY1cxeYc1Nae8Aw1xjgW3PKVDLlr3YJ6Bxx8HkWg== } + engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } peerDependencies: - typescript: '>=4.8.4 <6.0.0' + typescript: ">=4.8.4 <6.0.0" - '@typescript-eslint/type-utils@8.57.1': - resolution: {integrity: sha512-+Bwwm0ScukFdyoJsh2u6pp4S9ktegF98pYUU0hkphOOqdMB+1sNQhIz8y5E9+4pOioZijrkfNO/HUJVAFFfPKA==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + "@typescript-eslint/type-utils@8.57.1": + resolution: + { integrity: sha512-+Bwwm0ScukFdyoJsh2u6pp4S9ktegF98pYUU0hkphOOqdMB+1sNQhIz8y5E9+4pOioZijrkfNO/HUJVAFFfPKA== } + engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } peerDependencies: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 - typescript: '>=4.8.4 <6.0.0' - - '@typescript-eslint/types@8.56.1': - resolution: {integrity: sha512-dbMkdIUkIkchgGDIv7KLUpa0Mda4IYjo4IAMJUZ+3xNoUXxMsk9YtKpTHSChRS85o+H9ftm51gsK1dZReY9CVw==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - '@typescript-eslint/types@8.57.0': - resolution: {integrity: sha512-dTLI8PEXhjUC7B9Kre+u0XznO696BhXcTlOn0/6kf1fHaQW8+VjJAVHJ3eTI14ZapTxdkOmc80HblPQLaEeJdg==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - '@typescript-eslint/types@8.57.1': - resolution: {integrity: sha512-S29BOBPJSFUiblEl6RzPPjJt6w25A6XsBqRVDt53tA/tlL8q7ceQNZHTjPeONt/3S7KRI4quk+yP9jK2WjBiPQ==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - '@typescript-eslint/typescript-estree@8.56.1': - resolution: {integrity: sha512-qzUL1qgalIvKWAf9C1HpvBjif+Vm6rcT5wZd4VoMb9+Km3iS3Cv9DY6dMRMDtPnwRAFyAi7YXJpTIEXLvdfPxg==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + typescript: ">=4.8.4 <6.0.0" + + "@typescript-eslint/types@8.56.1": + resolution: + { integrity: sha512-dbMkdIUkIkchgGDIv7KLUpa0Mda4IYjo4IAMJUZ+3xNoUXxMsk9YtKpTHSChRS85o+H9ftm51gsK1dZReY9CVw== } + engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + + "@typescript-eslint/types@8.57.0": + resolution: + { integrity: sha512-dTLI8PEXhjUC7B9Kre+u0XznO696BhXcTlOn0/6kf1fHaQW8+VjJAVHJ3eTI14ZapTxdkOmc80HblPQLaEeJdg== } + engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + + "@typescript-eslint/types@8.57.1": + resolution: + { integrity: sha512-S29BOBPJSFUiblEl6RzPPjJt6w25A6XsBqRVDt53tA/tlL8q7ceQNZHTjPeONt/3S7KRI4quk+yP9jK2WjBiPQ== } + engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + + "@typescript-eslint/typescript-estree@8.56.1": + resolution: + { integrity: sha512-qzUL1qgalIvKWAf9C1HpvBjif+Vm6rcT5wZd4VoMb9+Km3iS3Cv9DY6dMRMDtPnwRAFyAi7YXJpTIEXLvdfPxg== } + engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } peerDependencies: - typescript: '>=4.8.4 <6.0.0' + typescript: ">=4.8.4 <6.0.0" - '@typescript-eslint/typescript-estree@8.57.1': - resolution: {integrity: sha512-ybe2hS9G6pXpqGtPli9Gx9quNV0TWLOmh58ADlmZe9DguLq0tiAKVjirSbtM1szG6+QH6rVXyU6GTLQbWnMY+g==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + "@typescript-eslint/typescript-estree@8.57.1": + resolution: + { integrity: sha512-ybe2hS9G6pXpqGtPli9Gx9quNV0TWLOmh58ADlmZe9DguLq0tiAKVjirSbtM1szG6+QH6rVXyU6GTLQbWnMY+g== } + engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } peerDependencies: - typescript: '>=4.8.4 <6.0.0' + typescript: ">=4.8.4 <6.0.0" - '@typescript-eslint/utils@8.56.1': - resolution: {integrity: sha512-HPAVNIME3tABJ61siYlHzSWCGtOoeP2RTIaHXFMPqjrQKCGB9OgUVdiNgH7TJS2JNIQ5qQ4RsAUDuGaGme/KOA==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + "@typescript-eslint/utils@8.56.1": + resolution: + { integrity: sha512-HPAVNIME3tABJ61siYlHzSWCGtOoeP2RTIaHXFMPqjrQKCGB9OgUVdiNgH7TJS2JNIQ5qQ4RsAUDuGaGme/KOA== } + engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } peerDependencies: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 - typescript: '>=4.8.4 <6.0.0' + typescript: ">=4.8.4 <6.0.0" - '@typescript-eslint/utils@8.57.1': - resolution: {integrity: sha512-XUNSJ/lEVFttPMMoDVA2r2bwrl8/oPx8cURtczkSEswY5T3AeLmCy+EKWQNdL4u0MmAHOjcWrqJp2cdvgjn8dQ==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + "@typescript-eslint/utils@8.57.1": + resolution: + { integrity: sha512-XUNSJ/lEVFttPMMoDVA2r2bwrl8/oPx8cURtczkSEswY5T3AeLmCy+EKWQNdL4u0MmAHOjcWrqJp2cdvgjn8dQ== } + engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } peerDependencies: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 - typescript: '>=4.8.4 <6.0.0' + typescript: ">=4.8.4 <6.0.0" - '@typescript-eslint/visitor-keys@8.56.1': - resolution: {integrity: sha512-KiROIzYdEV85YygXw6BI/Dx4fnBlFQu6Mq4QE4MOH9fFnhohw6wX/OAvDY2/C+ut0I3RSPKenvZJIVYqJNkhEw==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + "@typescript-eslint/visitor-keys@8.56.1": + resolution: + { integrity: sha512-KiROIzYdEV85YygXw6BI/Dx4fnBlFQu6Mq4QE4MOH9fFnhohw6wX/OAvDY2/C+ut0I3RSPKenvZJIVYqJNkhEw== } + engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } - '@typescript-eslint/visitor-keys@8.57.1': - resolution: {integrity: sha512-YWnmJkXbofiz9KbnbbwuA2rpGkFPLbAIetcCNO6mJ8gdhdZ/v7WDXsoGFAJuM6ikUFKTlSQnjWnVO4ux+UzS6A==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + "@typescript-eslint/visitor-keys@8.57.1": + resolution: + { integrity: sha512-YWnmJkXbofiz9KbnbbwuA2rpGkFPLbAIetcCNO6mJ8gdhdZ/v7WDXsoGFAJuM6ikUFKTlSQnjWnVO4ux+UzS6A== } + engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } - '@vitest/coverage-v8@4.1.2': - resolution: {integrity: sha512-sPK//PHO+kAkScb8XITeB1bf7fsk85Km7+rt4eeuRR3VS1/crD47cmV5wicisJmjNdfeokTZwjMk4Mj2d58Mgg==} + "@vitest/coverage-v8@4.1.2": + resolution: + { integrity: sha512-sPK//PHO+kAkScb8XITeB1bf7fsk85Km7+rt4eeuRR3VS1/crD47cmV5wicisJmjNdfeokTZwjMk4Mj2d58Mgg== } peerDependencies: - '@vitest/browser': 4.1.2 + "@vitest/browser": 4.1.2 vitest: 4.1.2 peerDependenciesMeta: - '@vitest/browser': + "@vitest/browser": optional: true - '@vitest/expect@4.1.2': - resolution: {integrity: sha512-gbu+7B0YgUJ2nkdsRJrFFW6X7NTP44WlhiclHniUhxADQJH5Szt9mZ9hWnJPJ8YwOK5zUOSSlSvyzRf0u1DSBQ==} + "@vitest/expect@4.1.2": + resolution: + { integrity: sha512-gbu+7B0YgUJ2nkdsRJrFFW6X7NTP44WlhiclHniUhxADQJH5Szt9mZ9hWnJPJ8YwOK5zUOSSlSvyzRf0u1DSBQ== } - '@vitest/mocker@4.1.2': - resolution: {integrity: sha512-Ize4iQtEALHDttPRCmN+FKqOl2vxTiNUhzobQFFt/BM1lRUTG7zRCLOykG/6Vo4E4hnUdfVLo5/eqKPukcWW7Q==} + "@vitest/mocker@4.1.2": + resolution: + { integrity: sha512-Ize4iQtEALHDttPRCmN+FKqOl2vxTiNUhzobQFFt/BM1lRUTG7zRCLOykG/6Vo4E4hnUdfVLo5/eqKPukcWW7Q== } peerDependencies: msw: ^2.4.9 vite: ^6.0.0 || ^7.0.0 || ^8.0.0 @@ -4215,177 +4592,225 @@ packages: vite: optional: true - '@vitest/pretty-format@4.1.2': - resolution: {integrity: sha512-dwQga8aejqeuB+TvXCMzSQemvV9hNEtDDpgUKDzOmNQayl2OG241PSWeJwKRH3CiC+sESrmoFd49rfnq7T4RnA==} + "@vitest/pretty-format@4.1.2": + resolution: + { integrity: sha512-dwQga8aejqeuB+TvXCMzSQemvV9hNEtDDpgUKDzOmNQayl2OG241PSWeJwKRH3CiC+sESrmoFd49rfnq7T4RnA== } - '@vitest/runner@4.1.2': - resolution: {integrity: sha512-Gr+FQan34CdiYAwpGJmQG8PgkyFVmARK8/xSijia3eTFgVfpcpztWLuP6FttGNfPLJhaZVP/euvujeNYar36OQ==} + "@vitest/runner@4.1.2": + resolution: + { integrity: sha512-Gr+FQan34CdiYAwpGJmQG8PgkyFVmARK8/xSijia3eTFgVfpcpztWLuP6FttGNfPLJhaZVP/euvujeNYar36OQ== } - '@vitest/snapshot@4.1.2': - resolution: {integrity: sha512-g7yfUmxYS4mNxk31qbOYsSt2F4m1E02LFqO53Xpzg3zKMhLAPZAjjfyl9e6z7HrW6LvUdTwAQR3HHfLjpko16A==} + "@vitest/snapshot@4.1.2": + resolution: + { integrity: sha512-g7yfUmxYS4mNxk31qbOYsSt2F4m1E02LFqO53Xpzg3zKMhLAPZAjjfyl9e6z7HrW6LvUdTwAQR3HHfLjpko16A== } - '@vitest/spy@4.1.2': - resolution: {integrity: sha512-DU4fBnbVCJGNBwVA6xSToNXrkZNSiw59H8tcuUspVMsBDBST4nfvsPsEHDHGtWRRnqBERBQu7TrTKskmjqTXKA==} + "@vitest/spy@4.1.2": + resolution: + { integrity: sha512-DU4fBnbVCJGNBwVA6xSToNXrkZNSiw59H8tcuUspVMsBDBST4nfvsPsEHDHGtWRRnqBERBQu7TrTKskmjqTXKA== } - '@vitest/ui@4.1.2': - resolution: {integrity: sha512-/irhyeAcKS2u6Zokagf9tqZJ0t8S6kMZq4ZG9BHZv7I+fkRrYfQX4w7geYeC2r6obThz39PDxvXQzZX+qXqGeg==} + "@vitest/ui@4.1.2": + resolution: + { integrity: sha512-/irhyeAcKS2u6Zokagf9tqZJ0t8S6kMZq4ZG9BHZv7I+fkRrYfQX4w7geYeC2r6obThz39PDxvXQzZX+qXqGeg== } peerDependencies: vitest: 4.1.2 - '@vitest/utils@4.1.2': - resolution: {integrity: sha512-xw2/TiX82lQHA06cgbqRKFb5lCAy3axQ4H4SoUFhUsg+wztiet+co86IAMDtF6Vm1hc7J6j09oh/rgDn+JdKIQ==} + "@vitest/utils@4.1.2": + resolution: + { integrity: sha512-xw2/TiX82lQHA06cgbqRKFb5lCAy3axQ4H4SoUFhUsg+wztiet+co86IAMDtF6Vm1hc7J6j09oh/rgDn+JdKIQ== } - '@webassemblyjs/ast@1.14.1': - resolution: {integrity: sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==} + "@webassemblyjs/ast@1.14.1": + resolution: + { integrity: sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ== } - '@webassemblyjs/floating-point-hex-parser@1.13.2': - resolution: {integrity: sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==} + "@webassemblyjs/floating-point-hex-parser@1.13.2": + resolution: + { integrity: sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA== } - '@webassemblyjs/helper-api-error@1.13.2': - resolution: {integrity: sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==} + "@webassemblyjs/helper-api-error@1.13.2": + resolution: + { integrity: sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ== } - '@webassemblyjs/helper-buffer@1.14.1': - resolution: {integrity: sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==} + "@webassemblyjs/helper-buffer@1.14.1": + resolution: + { integrity: sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA== } - '@webassemblyjs/helper-numbers@1.13.2': - resolution: {integrity: sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==} + "@webassemblyjs/helper-numbers@1.13.2": + resolution: + { integrity: sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA== } - '@webassemblyjs/helper-wasm-bytecode@1.13.2': - resolution: {integrity: sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==} + "@webassemblyjs/helper-wasm-bytecode@1.13.2": + resolution: + { integrity: sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA== } - '@webassemblyjs/helper-wasm-section@1.14.1': - resolution: {integrity: sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==} + "@webassemblyjs/helper-wasm-section@1.14.1": + resolution: + { integrity: sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw== } - '@webassemblyjs/ieee754@1.13.2': - resolution: {integrity: sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==} + "@webassemblyjs/ieee754@1.13.2": + resolution: + { integrity: sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw== } - '@webassemblyjs/leb128@1.13.2': - resolution: {integrity: sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==} + "@webassemblyjs/leb128@1.13.2": + resolution: + { integrity: sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw== } - '@webassemblyjs/utf8@1.13.2': - resolution: {integrity: sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==} + "@webassemblyjs/utf8@1.13.2": + resolution: + { integrity: sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ== } - '@webassemblyjs/wasm-edit@1.14.1': - resolution: {integrity: sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==} + "@webassemblyjs/wasm-edit@1.14.1": + resolution: + { integrity: sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ== } - '@webassemblyjs/wasm-gen@1.14.1': - resolution: {integrity: sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==} + "@webassemblyjs/wasm-gen@1.14.1": + resolution: + { integrity: sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg== } - '@webassemblyjs/wasm-opt@1.14.1': - resolution: {integrity: sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==} + "@webassemblyjs/wasm-opt@1.14.1": + resolution: + { integrity: sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw== } - '@webassemblyjs/wasm-parser@1.14.1': - resolution: {integrity: sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==} + "@webassemblyjs/wasm-parser@1.14.1": + resolution: + { integrity: sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ== } - '@webassemblyjs/wast-printer@1.14.1': - resolution: {integrity: sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==} + "@webassemblyjs/wast-printer@1.14.1": + resolution: + { integrity: sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw== } - '@xtuc/ieee754@1.2.0': - resolution: {integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==} + "@xtuc/ieee754@1.2.0": + resolution: + { integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA== } - '@xtuc/long@4.2.2': - resolution: {integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==} + "@xtuc/long@4.2.2": + resolution: + { integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== } - '@yarnpkg/lockfile@1.1.0': - resolution: {integrity: sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==} + "@yarnpkg/lockfile@1.1.0": + resolution: + { integrity: sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ== } - '@yarnpkg/parsers@3.0.2': - resolution: {integrity: sha512-/HcYgtUSiJiot/XWGLOlGxPYUG65+/31V8oqk17vZLW1xlCoR4PampyePljOxY2n8/3jz9+tIFzICsyGujJZoA==} - engines: {node: '>=18.12.0'} + "@yarnpkg/parsers@3.0.2": + resolution: + { integrity: sha512-/HcYgtUSiJiot/XWGLOlGxPYUG65+/31V8oqk17vZLW1xlCoR4PampyePljOxY2n8/3jz9+tIFzICsyGujJZoA== } + engines: { node: ">=18.12.0" } - '@zkochan/js-yaml@0.0.7': - resolution: {integrity: sha512-nrUSn7hzt7J6JWgWGz78ZYI8wj+gdIJdk0Ynjpp8l+trkn58Uqsf6RYrYkEK+3X18EX+TNdtJI0WxAtc+L84SQ==} + "@zkochan/js-yaml@0.0.7": + resolution: + { integrity: sha512-nrUSn7hzt7J6JWgWGz78ZYI8wj+gdIJdk0Ynjpp8l+trkn58Uqsf6RYrYkEK+3X18EX+TNdtJI0WxAtc+L84SQ== } hasBin: true JSONStream@1.3.5: - resolution: {integrity: sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==} + resolution: + { integrity: sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ== } hasBin: true abbrev@1.1.1: - resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==} + resolution: + { integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== } abbrev@3.0.1: - resolution: {integrity: sha512-AO2ac6pjRB3SJmGJo+v5/aK6Omggp6fsLrs6wN9bd35ulu4cCwaAU9+7ZhXjeqHVkaHThLuzH0nZr0YpCDhygg==} - engines: {node: ^18.17.0 || >=20.5.0} + resolution: + { integrity: sha512-AO2ac6pjRB3SJmGJo+v5/aK6Omggp6fsLrs6wN9bd35ulu4cCwaAU9+7ZhXjeqHVkaHThLuzH0nZr0YpCDhygg== } + engines: { node: ^18.17.0 || >=20.5.0 } abbrev@4.0.0: - resolution: {integrity: sha512-a1wflyaL0tHtJSmLSOVybYhy22vRih4eduhhrkcjgrWGnRfrZtovJ2FRjxuTtkkj47O/baf0R86QU5OuYpz8fA==} - engines: {node: ^20.17.0 || >=22.9.0} + resolution: + { integrity: sha512-a1wflyaL0tHtJSmLSOVybYhy22vRih4eduhhrkcjgrWGnRfrZtovJ2FRjxuTtkkj47O/baf0R86QU5OuYpz8fA== } + engines: { node: ^20.17.0 || >=22.9.0 } abort-controller@3.0.0: - resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==} - engines: {node: '>=6.5'} + resolution: + { integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg== } + engines: { node: ">=6.5" } accepts@2.0.0: - resolution: {integrity: sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng==} - engines: {node: '>= 0.6'} + resolution: + { integrity: sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng== } + engines: { node: ">= 0.6" } ace-builds@1.43.6: - resolution: {integrity: sha512-L1ddibQ7F3vyXR2k2fg+I8TQTPWVA6CKeDQr/h2+8CeyTp3W6EQL8xNFZRTztuP8xNOAqL3IYPqdzs31GCjDvg==} + resolution: + { integrity: sha512-L1ddibQ7F3vyXR2k2fg+I8TQTPWVA6CKeDQr/h2+8CeyTp3W6EQL8xNFZRTztuP8xNOAqL3IYPqdzs31GCjDvg== } acorn-import-phases@1.0.4: - resolution: {integrity: sha512-wKmbr/DDiIXzEOiWrTTUcDm24kQ2vGfZQvM2fwg2vXqR5uW6aapr7ObPtj1th32b9u90/Pf4AItvdTh42fBmVQ==} - engines: {node: '>=10.13.0'} + resolution: + { integrity: sha512-wKmbr/DDiIXzEOiWrTTUcDm24kQ2vGfZQvM2fwg2vXqR5uW6aapr7ObPtj1th32b9u90/Pf4AItvdTh42fBmVQ== } + engines: { node: ">=10.13.0" } peerDependencies: acorn: ^8.14.0 acorn-jsx-walk@2.0.0: - resolution: {integrity: sha512-uuo6iJj4D4ygkdzd6jPtcxs8vZgDX9YFIkqczGImoypX2fQ4dVImmu3UzA4ynixCIMTrEOWW+95M2HuBaCEOVA==} + resolution: + { integrity: sha512-uuo6iJj4D4ygkdzd6jPtcxs8vZgDX9YFIkqczGImoypX2fQ4dVImmu3UzA4ynixCIMTrEOWW+95M2HuBaCEOVA== } acorn-jsx@5.3.2: - resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} + resolution: + { integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== } peerDependencies: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 acorn-loose@8.5.2: - resolution: {integrity: sha512-PPvV6g8UGMGgjrMu+n/f9E/tCSkNQ2Y97eFvuVdJfG11+xdIeDcLyNdC8SHcrHbRqkfwLASdplyR6B6sKM1U4A==} - engines: {node: '>=0.4.0'} + resolution: + { integrity: sha512-PPvV6g8UGMGgjrMu+n/f9E/tCSkNQ2Y97eFvuVdJfG11+xdIeDcLyNdC8SHcrHbRqkfwLASdplyR6B6sKM1U4A== } + engines: { node: ">=0.4.0" } acorn-walk@8.2.0: - resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==} - engines: {node: '>=0.4.0'} + resolution: + { integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA== } + engines: { node: ">=0.4.0" } acorn-walk@8.3.4: - resolution: {integrity: sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==} - engines: {node: '>=0.4.0'} + resolution: + { integrity: sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g== } + engines: { node: ">=0.4.0" } acorn-walk@8.3.5: - resolution: {integrity: sha512-HEHNfbars9v4pgpW6SO1KSPkfoS0xVOM/9UzkJltjlsHZmJasxg8aXkuZa7SMf8vKGIBhpUsPluQSqhJFCqebw==} - engines: {node: '>=0.4.0'} + resolution: + { integrity: sha512-HEHNfbars9v4pgpW6SO1KSPkfoS0xVOM/9UzkJltjlsHZmJasxg8aXkuZa7SMf8vKGIBhpUsPluQSqhJFCqebw== } + engines: { node: ">=0.4.0" } acorn@7.4.1: - resolution: {integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==} - engines: {node: '>=0.4.0'} + resolution: + { integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== } + engines: { node: ">=0.4.0" } hasBin: true acorn@8.10.0: - resolution: {integrity: sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==} - engines: {node: '>=0.4.0'} + resolution: + { integrity: sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw== } + engines: { node: ">=0.4.0" } hasBin: true acorn@8.15.0: - resolution: {integrity: sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==} - engines: {node: '>=0.4.0'} + resolution: + { integrity: sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg== } + engines: { node: ">=0.4.0" } hasBin: true acorn@8.16.0: - resolution: {integrity: sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==} - engines: {node: '>=0.4.0'} + resolution: + { integrity: sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw== } + engines: { node: ">=0.4.0" } hasBin: true add-stream@1.0.0: - resolution: {integrity: sha512-qQLMr+8o0WC4FZGQTcJiKBVC59JylcPSrTtk6usvmIDFUOCKegapy1VHQwRbFMOFyb/inzUVqHs+eMYKDM1YeQ==} + resolution: + { integrity: sha512-qQLMr+8o0WC4FZGQTcJiKBVC59JylcPSrTtk6usvmIDFUOCKegapy1VHQwRbFMOFyb/inzUVqHs+eMYKDM1YeQ== } agent-base@7.1.3: - resolution: {integrity: sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw==} - engines: {node: '>= 14'} + resolution: + { integrity: sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw== } + engines: { node: ">= 14" } aggregate-error@3.1.0: - resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA== } + engines: { node: ">=8" } ajv-formats@2.1.1: - resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} + resolution: + { integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA== } peerDependencies: ajv: ^8.0.0 peerDependenciesMeta: @@ -4393,598 +4818,750 @@ packages: optional: true ajv-keywords@5.1.0: - resolution: {integrity: sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==} + resolution: + { integrity: sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw== } peerDependencies: ajv: ^8.8.2 ajv@6.12.6: - resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} + resolution: + { integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== } ajv@6.14.0: - resolution: {integrity: sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw==} + resolution: + { integrity: sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw== } ajv@8.18.0: - resolution: {integrity: sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==} + resolution: + { integrity: sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A== } ansi-colors@4.1.3: - resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} - engines: {node: '>=6'} + resolution: + { integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw== } + engines: { node: ">=6" } ansi-regex@5.0.1: - resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== } + engines: { node: ">=8" } ansi-regex@6.0.1: - resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA== } + engines: { node: ">=12" } ansi-styles@4.3.0: - resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== } + engines: { node: ">=8" } ansi-styles@5.2.0: - resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== } + engines: { node: ">=10" } ansi-styles@6.2.3: - resolution: {integrity: sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg== } + engines: { node: ">=12" } anymatch@3.1.3: - resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} - engines: {node: '>= 8'} + resolution: + { integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== } + engines: { node: ">= 8" } aproba@2.0.0: - resolution: {integrity: sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==} + resolution: + { integrity: sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ== } are-docs-informative@0.0.2: - resolution: {integrity: sha512-ixiS0nLNNG5jNQzgZJNoUpBKdo9yTYZMGJ+QgT2jmjR7G7+QHRCc4v6LQ3NgE7EBJq+o0ams3waJwkrlBom8Ig==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-ixiS0nLNNG5jNQzgZJNoUpBKdo9yTYZMGJ+QgT2jmjR7G7+QHRCc4v6LQ3NgE7EBJq+o0ams3waJwkrlBom8Ig== } + engines: { node: ">=14" } arg@4.1.3: - resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} + resolution: + { integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== } argparse@1.0.10: - resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} + resolution: + { integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== } argparse@2.0.1: - resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + resolution: + { integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== } array-ify@1.0.0: - resolution: {integrity: sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==} + resolution: + { integrity: sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng== } array-union@2.1.0: - resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== } + engines: { node: ">=8" } arrify@1.0.1: - resolution: {integrity: sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==} - engines: {node: '>=0.10.0'} + resolution: + { integrity: sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA== } + engines: { node: ">=0.10.0" } asap@2.0.6: - resolution: {integrity: sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==} + resolution: + { integrity: sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA== } assert-never@1.3.0: - resolution: {integrity: sha512-9Z3vxQ+berkL/JJo0dK+EY3Lp0s3NtSnP3VCLsh5HDcZPrh0M+KQRK5sWhUeyPPH+/RCxZqOxLMR+YC6vlviEQ==} + resolution: + { integrity: sha512-9Z3vxQ+berkL/JJo0dK+EY3Lp0s3NtSnP3VCLsh5HDcZPrh0M+KQRK5sWhUeyPPH+/RCxZqOxLMR+YC6vlviEQ== } ast-v8-to-istanbul@1.0.0: - resolution: {integrity: sha512-1fSfIwuDICFA4LKkCzRPO7F0hzFf0B7+Xqrl27ynQaa+Rh0e1Es0v6kWHPott3lU10AyAr7oKHa65OppjLn3Rg==} + resolution: + { integrity: sha512-1fSfIwuDICFA4LKkCzRPO7F0hzFf0B7+Xqrl27ynQaa+Rh0e1Es0v6kWHPott3lU10AyAr7oKHa65OppjLn3Rg== } async@3.2.4: - resolution: {integrity: sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==} + resolution: + { integrity: sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ== } asynckit@0.4.0: - resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} + resolution: + { integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== } axios@1.13.2: - resolution: {integrity: sha512-VPk9ebNqPcy5lRGuSlKx752IlDatOjT9paPlm8A7yOuW2Fbvp4X3JznJtT4f0GzGLLiWE9W8onz51SqLYwzGaA==} + resolution: + { integrity: sha512-VPk9ebNqPcy5lRGuSlKx752IlDatOjT9paPlm8A7yOuW2Fbvp4X3JznJtT4f0GzGLLiWE9W8onz51SqLYwzGaA== } babel-walk@3.0.0-canary-5: - resolution: {integrity: sha512-GAwkz0AihzY5bkwIY5QDR+LvsRQgB/B+1foMPvi0FZPMl5fjD7ICiznUiBdLYMH1QYe6vqu4gWYytZOccLouFw==} - engines: {node: '>= 10.0.0'} + resolution: + { integrity: sha512-GAwkz0AihzY5bkwIY5QDR+LvsRQgB/B+1foMPvi0FZPMl5fjD7ICiznUiBdLYMH1QYe6vqu4gWYytZOccLouFw== } + engines: { node: ">= 10.0.0" } balanced-match@1.0.2: - resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + resolution: + { integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== } balanced-match@4.0.3: - resolution: {integrity: sha512-1pHv8LX9CpKut1Zp4EXey7Z8OfH11ONNH6Dhi2WDUt31VVZFXZzKwXcysBgqSumFCmR+0dqjMK5v5JiFHzi0+g==} - engines: {node: 20 || >=22} + resolution: + { integrity: sha512-1pHv8LX9CpKut1Zp4EXey7Z8OfH11ONNH6Dhi2WDUt31VVZFXZzKwXcysBgqSumFCmR+0dqjMK5v5JiFHzi0+g== } + engines: { node: 20 || >=22 } base64-js@1.5.1: - resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} + resolution: + { integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== } baseline-browser-mapping@2.9.11: - resolution: {integrity: sha512-Sg0xJUNDU1sJNGdfGWhVHX0kkZ+HWcvmVymJbj6NSgZZmW/8S9Y2HQ5euytnIgakgxN6papOAWiwDo1ctFDcoQ==} + resolution: + { integrity: sha512-Sg0xJUNDU1sJNGdfGWhVHX0kkZ+HWcvmVymJbj6NSgZZmW/8S9Y2HQ5euytnIgakgxN6papOAWiwDo1ctFDcoQ== } hasBin: true before-after-hook@2.2.3: - resolution: {integrity: sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==} + resolution: + { integrity: sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ== } bidi-js@1.0.3: - resolution: {integrity: sha512-RKshQI1R3YQ+n9YJz2QQ147P66ELpa1FQEg20Dk8oW9t2KgLbpDLLp9aGZ7y8WHSshDknG0bknqGw5/tyCs5tw==} + resolution: + { integrity: sha512-RKshQI1R3YQ+n9YJz2QQ147P66ELpa1FQEg20Dk8oW9t2KgLbpDLLp9aGZ7y8WHSshDknG0bknqGw5/tyCs5tw== } bin-links@5.0.0: - resolution: {integrity: sha512-sdleLVfCjBtgO5cNjA2HVRvWBJAHs4zwenaCPMNJAJU0yNxpzj80IpjOIimkpkr+mhlA+how5poQtt53PygbHA==} - engines: {node: ^18.17.0 || >=20.5.0} + resolution: + { integrity: sha512-sdleLVfCjBtgO5cNjA2HVRvWBJAHs4zwenaCPMNJAJU0yNxpzj80IpjOIimkpkr+mhlA+how5poQtt53PygbHA== } + engines: { node: ^18.17.0 || >=20.5.0 } binary-extensions@2.2.0: - resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== } + engines: { node: ">=8" } bl@4.1.0: - resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} + resolution: + { integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w== } body-parser@2.2.1: - resolution: {integrity: sha512-nfDwkulwiZYQIGwxdy0RUmowMhKcFVcYXUU7m4QlKYim1rUtg83xm2yjZ40QjDuc291AJjjeSc9b++AWHSgSHw==} - engines: {node: '>=18'} + resolution: + { integrity: sha512-nfDwkulwiZYQIGwxdy0RUmowMhKcFVcYXUU7m4QlKYim1rUtg83xm2yjZ40QjDuc291AJjjeSc9b++AWHSgSHw== } + engines: { node: ">=18" } boolbase@1.0.0: - resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} + resolution: + { integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww== } boolean@3.2.0: - resolution: {integrity: sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==} + resolution: + { integrity: sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw== } deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. bootstrap@5.3.8: - resolution: {integrity: sha512-HP1SZDqaLDPwsNiqRqi5NcP0SSXciX2s9E+RyqJIIqGo+vJeN5AJVM98CXmW/Wux0nQ5L7jeWUdplCEf0Ee+tg==} + resolution: + { integrity: sha512-HP1SZDqaLDPwsNiqRqi5NcP0SSXciX2s9E+RyqJIIqGo+vJeN5AJVM98CXmW/Wux0nQ5L7jeWUdplCEf0Ee+tg== } peerDependencies: - '@popperjs/core': ^2.11.8 + "@popperjs/core": ^2.11.8 brace-expansion@1.1.11: - resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} + resolution: + { integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== } brace-expansion@2.0.1: - resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} + resolution: + { integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== } brace-expansion@5.0.2: - resolution: {integrity: sha512-Pdk8c9poy+YhOgVWw1JNN22/HcivgKWwpxKq04M/jTmHyCZn12WPJebZxdjSa5TmBqISrUSgNYU3eRORljfCCw==} - engines: {node: 20 || >=22} + resolution: + { integrity: sha512-Pdk8c9poy+YhOgVWw1JNN22/HcivgKWwpxKq04M/jTmHyCZn12WPJebZxdjSa5TmBqISrUSgNYU3eRORljfCCw== } + engines: { node: 20 || >=22 } braces@3.0.2: - resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== } + engines: { node: ">=8" } browser-or-node@3.0.0: - resolution: {integrity: sha512-iczIdVJzGEYhP5DqQxYM9Hh7Ztpqqi+CXZpSmX8ALFs9ecXkQIeqRyM6TfxEfMVpwhl3dSuDvxdzzo9sUOIVBQ==} + resolution: + { integrity: sha512-iczIdVJzGEYhP5DqQxYM9Hh7Ztpqqi+CXZpSmX8ALFs9ecXkQIeqRyM6TfxEfMVpwhl3dSuDvxdzzo9sUOIVBQ== } browserslist@4.28.1: - resolution: {integrity: sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==} - engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + resolution: + { integrity: sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA== } + engines: { node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7 } hasBin: true buffer-crc32@0.2.13: - resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} + resolution: + { integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ== } buffer-from@1.1.2: - resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} + resolution: + { integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== } buffer@5.7.1: - resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} + resolution: + { integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== } byte-size@8.1.1: - resolution: {integrity: sha512-tUkzZWK0M/qdoLEqikxBWe4kumyuwjl3HO6zHTr4yEI23EojPtLYXdG1+AQY7MN0cGyNDvEaJ8wiYQm6P2bPxg==} - engines: {node: '>=12.17'} + resolution: + { integrity: sha512-tUkzZWK0M/qdoLEqikxBWe4kumyuwjl3HO6zHTr4yEI23EojPtLYXdG1+AQY7MN0cGyNDvEaJ8wiYQm6P2bPxg== } + engines: { node: ">=12.17" } bytes@3.1.2: - resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} - engines: {node: '>= 0.8'} + resolution: + { integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== } + engines: { node: ">= 0.8" } cacache@20.0.3: - resolution: {integrity: sha512-3pUp4e8hv07k1QlijZu6Kn7c9+ZpWWk4j3F8N3xPuCExULobqJydKYOTj1FTq58srkJsXvO7LbGAH4C0ZU3WGw==} - engines: {node: ^20.17.0 || >=22.9.0} + resolution: + { integrity: sha512-3pUp4e8hv07k1QlijZu6Kn7c9+ZpWWk4j3F8N3xPuCExULobqJydKYOTj1FTq58srkJsXvO7LbGAH4C0ZU3WGw== } + engines: { node: ^20.17.0 || >=22.9.0 } cacheable-lookup@5.0.4: - resolution: {integrity: sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==} - engines: {node: '>=10.6.0'} + resolution: + { integrity: sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA== } + engines: { node: ">=10.6.0" } cacheable-request@7.0.4: - resolution: {integrity: sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg== } + engines: { node: ">=8" } call-bind-apply-helpers@1.0.2: - resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==} - engines: {node: '>= 0.4'} + resolution: + { integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ== } + engines: { node: ">= 0.4" } call-bind@1.0.7: - resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==} - engines: {node: '>= 0.4'} + resolution: + { integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w== } + engines: { node: ">= 0.4" } call-bound@1.0.4: - resolution: {integrity: sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==} - engines: {node: '>= 0.4'} + resolution: + { integrity: sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg== } + engines: { node: ">= 0.4" } callsites@3.1.0: - resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} - engines: {node: '>=6'} + resolution: + { integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== } + engines: { node: ">=6" } camelcase-keys@6.2.2: - resolution: {integrity: sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg== } + engines: { node: ">=8" } camelcase@5.3.1: - resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} - engines: {node: '>=6'} + resolution: + { integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== } + engines: { node: ">=6" } caniuse-lite@1.0.30001761: - resolution: {integrity: sha512-JF9ptu1vP2coz98+5051jZ4PwQgd2ni8A+gYSN7EA7dPKIMf0pDlSUxhdmVOaV3/fYK5uWBkgSXJaRLr4+3A6g==} + resolution: + { integrity: sha512-JF9ptu1vP2coz98+5051jZ4PwQgd2ni8A+gYSN7EA7dPKIMf0pDlSUxhdmVOaV3/fYK5uWBkgSXJaRLr4+3A6g== } canvas@3.2.2: - resolution: {integrity: sha512-duEt4h1HHu9sJZyVKfLRXR6tsKPY7cEELzxSRJkwddOXYvQT3P/+es98SV384JA0zMOZ5s+9gatnGfM6sL4Drg==} - engines: {node: ^18.12.0 || >= 20.9.0} + resolution: + { integrity: sha512-duEt4h1HHu9sJZyVKfLRXR6tsKPY7cEELzxSRJkwddOXYvQT3P/+es98SV384JA0zMOZ5s+9gatnGfM6sL4Drg== } + engines: { node: ^18.12.0 || >= 20.9.0 } chai@6.2.2: - resolution: {integrity: sha512-NUPRluOfOiTKBKvWPtSD4PhFvWCqOi0BGStNWs57X9js7XGTprSmFoz5F0tWhR4WPjNeR9jXqdC7/UpSJTnlRg==} - engines: {node: '>=18'} + resolution: + { integrity: sha512-NUPRluOfOiTKBKvWPtSD4PhFvWCqOi0BGStNWs57X9js7XGTprSmFoz5F0tWhR4WPjNeR9jXqdC7/UpSJTnlRg== } + engines: { node: ">=18" } chalk@4.1.0: - resolution: {integrity: sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A== } + engines: { node: ">=10" } chalk@4.1.2: - resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== } + engines: { node: ">=10" } character-parser@2.2.0: - resolution: {integrity: sha512-+UqJQjFEFaTAs3bNsF2j2kEN1baG/zghZbdqoYEDxGZtJo9LBzl1A+m0D4n3qKx8N2FNv8/Xp6yV9mQmBuptaw==} + resolution: + { integrity: sha512-+UqJQjFEFaTAs3bNsF2j2kEN1baG/zghZbdqoYEDxGZtJo9LBzl1A+m0D4n3qKx8N2FNv8/Xp6yV9mQmBuptaw== } chardet@2.1.1: - resolution: {integrity: sha512-PsezH1rqdV9VvyNhxxOW32/d75r01NY7TQCmOqomRo15ZSOKbpTFVsfjghxo6JloQUCGnH4k1LGu0R4yCLlWQQ==} + resolution: + { integrity: sha512-PsezH1rqdV9VvyNhxxOW32/d75r01NY7TQCmOqomRo15ZSOKbpTFVsfjghxo6JloQUCGnH4k1LGu0R4yCLlWQQ== } chokidar@3.5.3: - resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} - engines: {node: '>= 8.10.0'} + resolution: + { integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== } + engines: { node: ">= 8.10.0" } chokidar@4.0.3: - resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==} - engines: {node: '>= 14.16.0'} + resolution: + { integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA== } + engines: { node: ">= 14.16.0" } chownr@1.1.4: - resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==} + resolution: + { integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== } chownr@2.0.0: - resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ== } + engines: { node: ">=10" } chownr@3.0.0: - resolution: {integrity: sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==} - engines: {node: '>=18'} + resolution: + { integrity: sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g== } + engines: { node: ">=18" } chrome-trace-event@1.0.3: - resolution: {integrity: sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==} - engines: {node: '>=6.0'} + resolution: + { integrity: sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg== } + engines: { node: ">=6.0" } ci-info@3.8.0: - resolution: {integrity: sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw== } + engines: { node: ">=8" } ci-info@4.3.1: - resolution: {integrity: sha512-Wdy2Igu8OcBpI2pZePZ5oWjPC38tmDVx5WKUXKwlLYkA0ozo85sLsLvkBbBn/sZaSCMFOGZJ14fvW9t5/d7kdA==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-Wdy2Igu8OcBpI2pZePZ5oWjPC38tmDVx5WKUXKwlLYkA0ozo85sLsLvkBbBn/sZaSCMFOGZJ14fvW9t5/d7kdA== } + engines: { node: ">=8" } clean-css@5.3.3: - resolution: {integrity: sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg==} - engines: {node: '>= 10.0'} + resolution: + { integrity: sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg== } + engines: { node: ">= 10.0" } clean-stack@2.2.0: - resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} - engines: {node: '>=6'} + resolution: + { integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== } + engines: { node: ">=6" } cli-cursor@3.1.0: - resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== } + engines: { node: ">=8" } cli-spinners@2.6.1: - resolution: {integrity: sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==} - engines: {node: '>=6'} + resolution: + { integrity: sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g== } + engines: { node: ">=6" } cli-spinners@2.9.0: - resolution: {integrity: sha512-4/aL9X3Wh0yiMQlE+eeRhWP6vclO3QRtw1JHKIT0FFUs5FjpFmESqtMvYZ0+lbzBw900b95mS0hohy+qn2VK/g==} - engines: {node: '>=6'} + resolution: + { integrity: sha512-4/aL9X3Wh0yiMQlE+eeRhWP6vclO3QRtw1JHKIT0FFUs5FjpFmESqtMvYZ0+lbzBw900b95mS0hohy+qn2VK/g== } + engines: { node: ">=6" } cli-width@4.1.0: - resolution: {integrity: sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==} - engines: {node: '>= 12'} + resolution: + { integrity: sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ== } + engines: { node: ">= 12" } cliui@7.0.4: - resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==} + resolution: + { integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== } cliui@8.0.1: - resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ== } + engines: { node: ">=12" } cliui@9.0.1: - resolution: {integrity: sha512-k7ndgKhwoQveBL+/1tqGJYNz097I7WOvwbmmU2AR5+magtbjPWQTS1C5vzGkBC8Ym8UWRzfKUzUUqFLypY4Q+w==} - engines: {node: '>=20'} + resolution: + { integrity: sha512-k7ndgKhwoQveBL+/1tqGJYNz097I7WOvwbmmU2AR5+magtbjPWQTS1C5vzGkBC8Ym8UWRzfKUzUUqFLypY4Q+w== } + engines: { node: ">=20" } clone-deep@4.0.1: - resolution: {integrity: sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==} - engines: {node: '>=6'} + resolution: + { integrity: sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ== } + engines: { node: ">=6" } clone-response@1.0.3: - resolution: {integrity: sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==} + resolution: + { integrity: sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA== } clone@1.0.4: - resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} - engines: {node: '>=0.8'} + resolution: + { integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg== } + engines: { node: ">=0.8" } cmd-shim@6.0.3: - resolution: {integrity: sha512-FMabTRlc5t5zjdenF6mS0MBeFZm0XqHqeOkcskKFb/LYCcRQ5fVgLOHVc4Lq9CqABd9zhjwPjMBCJvMCziSVtA==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + resolution: + { integrity: sha512-FMabTRlc5t5zjdenF6mS0MBeFZm0XqHqeOkcskKFb/LYCcRQ5fVgLOHVc4Lq9CqABd9zhjwPjMBCJvMCziSVtA== } + engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } cmd-shim@7.0.0: - resolution: {integrity: sha512-rtpaCbr164TPPh+zFdkWpCyZuKkjpAzODfaZCf/SVJZzJN+4bHQb/LP3Jzq5/+84um3XXY8r548XiWKSborwVw==} - engines: {node: ^18.17.0 || >=20.5.0} + resolution: + { integrity: sha512-rtpaCbr164TPPh+zFdkWpCyZuKkjpAzODfaZCf/SVJZzJN+4bHQb/LP3Jzq5/+84um3XXY8r548XiWKSborwVw== } + engines: { node: ^18.17.0 || >=20.5.0 } color-convert@2.0.1: - resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} - engines: {node: '>=7.0.0'} + resolution: + { integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== } + engines: { node: ">=7.0.0" } color-convert@3.1.3: - resolution: {integrity: sha512-fasDH2ont2GqF5HpyO4w0+BcewlhHEZOFn9c1ckZdHpJ56Qb7MHhH/IcJZbBGgvdtwdwNbLvxiBEdg336iA9Sg==} - engines: {node: '>=14.6'} + resolution: + { integrity: sha512-fasDH2ont2GqF5HpyO4w0+BcewlhHEZOFn9c1ckZdHpJ56Qb7MHhH/IcJZbBGgvdtwdwNbLvxiBEdg336iA9Sg== } + engines: { node: ">=14.6" } color-name@1.1.4: - resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + resolution: + { integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== } color-name@2.1.0: - resolution: {integrity: sha512-1bPaDNFm0axzE4MEAzKPuqKWeRaT43U/hyxKPBdqTfmPF+d6n7FSoTFxLVULUJOmiLp01KjhIPPH+HrXZJN4Rg==} - engines: {node: '>=12.20'} + resolution: + { integrity: sha512-1bPaDNFm0axzE4MEAzKPuqKWeRaT43U/hyxKPBdqTfmPF+d6n7FSoTFxLVULUJOmiLp01KjhIPPH+HrXZJN4Rg== } + engines: { node: ">=12.20" } color-string@2.1.4: - resolution: {integrity: sha512-Bb6Cq8oq0IjDOe8wJmi4JeNn763Xs9cfrBcaylK1tPypWzyoy2G3l90v9k64kjphl/ZJjPIShFztenRomi8WTg==} - engines: {node: '>=18'} + resolution: + { integrity: sha512-Bb6Cq8oq0IjDOe8wJmi4JeNn763Xs9cfrBcaylK1tPypWzyoy2G3l90v9k64kjphl/ZJjPIShFztenRomi8WTg== } + engines: { node: ">=18" } color-support@1.1.3: - resolution: {integrity: sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==} + resolution: + { integrity: sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg== } hasBin: true color@5.0.3: - resolution: {integrity: sha512-ezmVcLR3xAVp8kYOm4GS45ZLLgIE6SPAFoduLr6hTDajwb3KZ2F46gulK3XpcwRFb5KKGCSezCBAY4Dw4HsyXA==} - engines: {node: '>=18'} + resolution: + { integrity: sha512-ezmVcLR3xAVp8kYOm4GS45ZLLgIE6SPAFoduLr6hTDajwb3KZ2F46gulK3XpcwRFb5KKGCSezCBAY4Dw4HsyXA== } + engines: { node: ">=18" } columnify@1.6.0: - resolution: {integrity: sha512-lomjuFZKfM6MSAnV9aCZC9sc0qGbmZdfygNv+nCpqVkSKdCxCklLtd16O0EILGkImHw9ZpHkAnHaB+8Zxq5W6Q==} - engines: {node: '>=8.0.0'} + resolution: + { integrity: sha512-lomjuFZKfM6MSAnV9aCZC9sc0qGbmZdfygNv+nCpqVkSKdCxCklLtd16O0EILGkImHw9ZpHkAnHaB+8Zxq5W6Q== } + engines: { node: ">=8.0.0" } combined-stream@1.0.8: - resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} - engines: {node: '>= 0.8'} + resolution: + { integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== } + engines: { node: ">= 0.8" } commander@11.1.0: - resolution: {integrity: sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==} - engines: {node: '>=16'} + resolution: + { integrity: sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ== } + engines: { node: ">=16" } commander@13.1.0: - resolution: {integrity: sha512-/rFeCpNJQbhSZjGVwO9RFV3xPqbnERS8MmIQzCtD/zl6gpJuV/bMLuN92oG3F7d8oDEHHRrujSXNUr8fpjntKw==} - engines: {node: '>=18'} + resolution: + { integrity: sha512-/rFeCpNJQbhSZjGVwO9RFV3xPqbnERS8MmIQzCtD/zl6gpJuV/bMLuN92oG3F7d8oDEHHRrujSXNUr8fpjntKw== } + engines: { node: ">=18" } commander@14.0.3: - resolution: {integrity: sha512-H+y0Jo/T1RZ9qPP4Eh1pkcQcLRglraJaSLoyOtHxu6AapkjWVCy2Sit1QQ4x3Dng8qDlSsZEet7g5Pq06MvTgw==} - engines: {node: '>=20'} + resolution: + { integrity: sha512-H+y0Jo/T1RZ9qPP4Eh1pkcQcLRglraJaSLoyOtHxu6AapkjWVCy2Sit1QQ4x3Dng8qDlSsZEet7g5Pq06MvTgw== } + engines: { node: ">=20" } commander@2.20.3: - resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} + resolution: + { integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== } comment-parser@1.4.5: - resolution: {integrity: sha512-aRDkn3uyIlCFfk5NUA+VdwMmMsh8JGhc4hapfV4yxymHGQ3BVskMQfoXGpCo5IoBuQ9tS5iiVKhCpTcB4pW4qw==} - engines: {node: '>= 12.0.0'} + resolution: + { integrity: sha512-aRDkn3uyIlCFfk5NUA+VdwMmMsh8JGhc4hapfV4yxymHGQ3BVskMQfoXGpCo5IoBuQ9tS5iiVKhCpTcB4pW4qw== } + engines: { node: ">= 12.0.0" } common-ancestor-path@1.0.1: - resolution: {integrity: sha512-L3sHRo1pXXEqX8VU28kfgUY+YGsk09hPqZiZmLacNib6XNTCM8ubYeT7ryXQw8asB1sKgcU5lkB7ONug08aB8w==} + resolution: + { integrity: sha512-L3sHRo1pXXEqX8VU28kfgUY+YGsk09hPqZiZmLacNib6XNTCM8ubYeT7ryXQw8asB1sKgcU5lkB7ONug08aB8w== } commondir@1.0.1: - resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} + resolution: + { integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg== } compare-func@2.0.0: - resolution: {integrity: sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==} + resolution: + { integrity: sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA== } concat-map@0.0.1: - resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + resolution: + { integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== } concat-stream@2.0.0: - resolution: {integrity: sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==} - engines: {'0': node >= 6.0} + resolution: + { integrity: sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A== } + engines: { "0": node >= 6.0 } concurrently@9.2.1: - resolution: {integrity: sha512-fsfrO0MxV64Znoy8/l1vVIjjHa29SZyyqPgQBwhiDcaW8wJc2W3XWVOGx4M3oJBnv/zdUZIIp1gDeS98GzP8Ng==} - engines: {node: '>=18'} + resolution: + { integrity: sha512-fsfrO0MxV64Znoy8/l1vVIjjHa29SZyyqPgQBwhiDcaW8wJc2W3XWVOGx4M3oJBnv/zdUZIIp1gDeS98GzP8Ng== } + engines: { node: ">=18" } hasBin: true connect-livereload@0.6.1: - resolution: {integrity: sha512-3R0kMOdL7CjJpU66fzAkCe6HNtd3AavCS4m+uW4KtJjrdGPT0SQEZieAYd+cm+lJoBznNQ4lqipYWkhBMgk00g==} + resolution: + { integrity: sha512-3R0kMOdL7CjJpU66fzAkCe6HNtd3AavCS4m+uW4KtJjrdGPT0SQEZieAYd+cm+lJoBznNQ4lqipYWkhBMgk00g== } console-control-strings@1.1.0: - resolution: {integrity: sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==} + resolution: + { integrity: sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ== } constantinople@4.0.1: - resolution: {integrity: sha512-vCrqcSIq4//Gx74TXXCGnHpulY1dskqLTFGDmhrGxzeXL8lF8kvXv6mpNWlJj1uD4DW23D4ljAqbY4RRaaUZIw==} + resolution: + { integrity: sha512-vCrqcSIq4//Gx74TXXCGnHpulY1dskqLTFGDmhrGxzeXL8lF8kvXv6mpNWlJj1uD4DW23D4ljAqbY4RRaaUZIw== } content-disposition@1.0.1: - resolution: {integrity: sha512-oIXISMynqSqm241k6kcQ5UwttDILMK4BiurCfGEREw6+X9jkkpEe5T9FZaApyLGGOnFuyMWZpdolTXMtvEJ08Q==} - engines: {node: '>=18'} + resolution: + { integrity: sha512-oIXISMynqSqm241k6kcQ5UwttDILMK4BiurCfGEREw6+X9jkkpEe5T9FZaApyLGGOnFuyMWZpdolTXMtvEJ08Q== } + engines: { node: ">=18" } content-type@1.0.5: - resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} - engines: {node: '>= 0.6'} + resolution: + { integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA== } + engines: { node: ">= 0.6" } conventional-changelog-angular@7.0.0: - resolution: {integrity: sha512-ROjNchA9LgfNMTTFSIWPzebCwOGFdgkEq45EnvvrmSLvCtAw0HSmrCs7/ty+wAeYUZyNay0YMUNYFTRL72PkBQ==} - engines: {node: '>=16'} + resolution: + { integrity: sha512-ROjNchA9LgfNMTTFSIWPzebCwOGFdgkEq45EnvvrmSLvCtAw0HSmrCs7/ty+wAeYUZyNay0YMUNYFTRL72PkBQ== } + engines: { node: ">=16" } conventional-changelog-angular@8.3.0: - resolution: {integrity: sha512-DOuBwYSqWzfwuRByY9O4oOIvDlkUCTDzfbOgcSbkY+imXXj+4tmrEFao3K+FxemClYfYnZzsvudbwrhje9VHDA==} - engines: {node: '>=18'} + resolution: + { integrity: sha512-DOuBwYSqWzfwuRByY9O4oOIvDlkUCTDzfbOgcSbkY+imXXj+4tmrEFao3K+FxemClYfYnZzsvudbwrhje9VHDA== } + engines: { node: ">=18" } conventional-changelog-conventionalcommits@9.3.0: - resolution: {integrity: sha512-kYFx6gAyjSIMwNtASkI3ZE99U1fuVDJr0yTYgVy+I2QG46zNZfl2her+0+eoviG82c5WQvW1jMt1eOQTeJLodA==} - engines: {node: '>=18'} + resolution: + { integrity: sha512-kYFx6gAyjSIMwNtASkI3ZE99U1fuVDJr0yTYgVy+I2QG46zNZfl2her+0+eoviG82c5WQvW1jMt1eOQTeJLodA== } + engines: { node: ">=18" } conventional-changelog-core@5.0.1: - resolution: {integrity: sha512-Rvi5pH+LvgsqGwZPZ3Cq/tz4ty7mjijhr3qR4m9IBXNbxGGYgTVVO+duXzz9aArmHxFtwZ+LRkrNIMDQzgoY4A==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-Rvi5pH+LvgsqGwZPZ3Cq/tz4ty7mjijhr3qR4m9IBXNbxGGYgTVVO+duXzz9aArmHxFtwZ+LRkrNIMDQzgoY4A== } + engines: { node: ">=14" } conventional-changelog-preset-loader@3.0.0: - resolution: {integrity: sha512-qy9XbdSLmVnwnvzEisjxdDiLA4OmV3o8db+Zdg4WiFw14fP3B6XNz98X0swPPpkTd/pc1K7+adKgEDM1JCUMiA==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-qy9XbdSLmVnwnvzEisjxdDiLA4OmV3o8db+Zdg4WiFw14fP3B6XNz98X0swPPpkTd/pc1K7+adKgEDM1JCUMiA== } + engines: { node: ">=14" } conventional-changelog-writer@6.0.0: - resolution: {integrity: sha512-8PyWTnn7zBIt9l4hj4UusFs1TyG+9Ulu1zlOAc72L7Sdv9Hsc8E86ot7htY3HXCVhXHB/NO0pVGvZpwsyJvFfw==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-8PyWTnn7zBIt9l4hj4UusFs1TyG+9Ulu1zlOAc72L7Sdv9Hsc8E86ot7htY3HXCVhXHB/NO0pVGvZpwsyJvFfw== } + engines: { node: ">=14" } hasBin: true conventional-commits-filter@3.0.0: - resolution: {integrity: sha512-1ymej8b5LouPx9Ox0Dw/qAO2dVdfpRFq28e5Y0jJEU8ZrLdy0vOSkkIInwmxErFGhg6SALro60ZrwYFVTUDo4Q==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-1ymej8b5LouPx9Ox0Dw/qAO2dVdfpRFq28e5Y0jJEU8ZrLdy0vOSkkIInwmxErFGhg6SALro60ZrwYFVTUDo4Q== } + engines: { node: ">=14" } conventional-commits-parser@4.0.0: - resolution: {integrity: sha512-WRv5j1FsVM5FISJkoYMR6tPk07fkKT0UodruX4je86V4owk451yjXAKzKAPOs9l7y59E2viHUS9eQ+dfUA9NSg==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-WRv5j1FsVM5FISJkoYMR6tPk07fkKT0UodruX4je86V4owk451yjXAKzKAPOs9l7y59E2viHUS9eQ+dfUA9NSg== } + engines: { node: ">=14" } hasBin: true conventional-commits-parser@6.3.0: - resolution: {integrity: sha512-RfOq/Cqy9xV9bOA8N+ZH6DlrDR+5S3Mi0B5kACEjESpE+AviIpAptx9a9cFpWCCvgRtWT+0BbUw+e1BZfts9jg==} - engines: {node: '>=18'} + resolution: + { integrity: sha512-RfOq/Cqy9xV9bOA8N+ZH6DlrDR+5S3Mi0B5kACEjESpE+AviIpAptx9a9cFpWCCvgRtWT+0BbUw+e1BZfts9jg== } + engines: { node: ">=18" } hasBin: true conventional-recommended-bump@7.0.1: - resolution: {integrity: sha512-Ft79FF4SlOFvX4PkwFDRnaNiIVX7YbmqGU0RwccUaiGvgp3S0a8ipR2/Qxk31vclDNM+GSdJOVs2KrsUCjblVA==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-Ft79FF4SlOFvX4PkwFDRnaNiIVX7YbmqGU0RwccUaiGvgp3S0a8ipR2/Qxk31vclDNM+GSdJOVs2KrsUCjblVA== } + engines: { node: ">=14" } hasBin: true convert-source-map@2.0.0: - resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} + resolution: + { integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== } cookie-signature@1.2.2: - resolution: {integrity: sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg==} - engines: {node: '>=6.6.0'} + resolution: + { integrity: sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg== } + engines: { node: ">=6.6.0" } cookie@0.7.2: - resolution: {integrity: sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==} - engines: {node: '>= 0.6'} + resolution: + { integrity: sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w== } + engines: { node: ">= 0.6" } copyfiles@2.4.1: - resolution: {integrity: sha512-fereAvAvxDrQDOXybk3Qu3dPbOoKoysFMWtkY3mv5BsL8//OSZVL5DCLYqgRfY5cWirgRzlC+WSrxp6Bo3eNZg==} + resolution: + { integrity: sha512-fereAvAvxDrQDOXybk3Qu3dPbOoKoysFMWtkY3mv5BsL8//OSZVL5DCLYqgRfY5cWirgRzlC+WSrxp6Bo3eNZg== } hasBin: true core-util-is@1.0.3: - resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} + resolution: + { integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== } cosmiconfig-typescript-loader@6.1.0: - resolution: {integrity: sha512-tJ1w35ZRUiM5FeTzT7DtYWAFFv37ZLqSRkGi2oeCK1gPhvaWjkAtfXvLmvE1pRfxxp9aQo6ba/Pvg1dKj05D4g==} - engines: {node: '>=v18'} + resolution: + { integrity: sha512-tJ1w35ZRUiM5FeTzT7DtYWAFFv37ZLqSRkGi2oeCK1gPhvaWjkAtfXvLmvE1pRfxxp9aQo6ba/Pvg1dKj05D4g== } + engines: { node: ">=v18" } peerDependencies: - '@types/node': '*' - cosmiconfig: '>=9' - typescript: '>=5' + "@types/node": "*" + cosmiconfig: ">=9" + typescript: ">=5" cosmiconfig@9.0.0: - resolution: {integrity: sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg== } + engines: { node: ">=14" } peerDependencies: - typescript: '>=4.9.5' + typescript: ">=4.9.5" peerDependenciesMeta: typescript: optional: true cosmiconfig@9.0.1: - resolution: {integrity: sha512-hr4ihw+DBqcvrsEDioRO31Z17x71pUYoNe/4h6Z0wB72p7MU7/9gH8Q3s12NFhHPfYBBOV3qyfUxmr/Yn3shnQ==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-hr4ihw+DBqcvrsEDioRO31Z17x71pUYoNe/4h6Z0wB72p7MU7/9gH8Q3s12NFhHPfYBBOV3qyfUxmr/Yn3shnQ== } + engines: { node: ">=14" } peerDependencies: - typescript: '>=4.9.5' + typescript: ">=4.9.5" peerDependenciesMeta: typescript: optional: true create-require@1.1.1: - resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} + resolution: + { integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== } cross-env@10.1.0: - resolution: {integrity: sha512-GsYosgnACZTADcmEyJctkJIoqAhHjttw7RsFrVoJNXbsWWqaq6Ym+7kZjq6mS45O0jij6vtiReppKQEtqWy6Dw==} - engines: {node: '>=20'} + resolution: + { integrity: sha512-GsYosgnACZTADcmEyJctkJIoqAhHjttw7RsFrVoJNXbsWWqaq6Ym+7kZjq6mS45O0jij6vtiReppKQEtqWy6Dw== } + engines: { node: ">=20" } hasBin: true cross-spawn@7.0.6: - resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} - engines: {node: '>= 8'} + resolution: + { integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA== } + engines: { node: ">= 8" } css-b64-images@0.2.5: - resolution: {integrity: sha512-TgQBEdP07adhrDfXvI5o6bHGukKBNMzp2Ngckc/6d09zpjD2gc1Hl3Ca1CKgb8FXjHi88+Phv2Uegs2kTL4zjg==} + resolution: + { integrity: sha512-TgQBEdP07adhrDfXvI5o6bHGukKBNMzp2Ngckc/6d09zpjD2gc1Hl3Ca1CKgb8FXjHi88+Phv2Uegs2kTL4zjg== } hasBin: true css-select@5.2.2: - resolution: {integrity: sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw==} + resolution: + { integrity: sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw== } css-tree@2.2.1: - resolution: {integrity: sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==} - engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'} + resolution: + { integrity: sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA== } + engines: { node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: ">=7.0.0" } css-tree@3.1.0: - resolution: {integrity: sha512-0eW44TGN5SQXU1mWSkKwFstI/22X2bG1nYzZTYMAWjylYURhse752YgbE4Cx46AC+bAvI+/dYTPRk1LqSUnu6w==} - engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0} + resolution: + { integrity: sha512-0eW44TGN5SQXU1mWSkKwFstI/22X2bG1nYzZTYMAWjylYURhse752YgbE4Cx46AC+bAvI+/dYTPRk1LqSUnu6w== } + engines: { node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0 } css-tree@3.2.1: - resolution: {integrity: sha512-X7sjQzceUhu1u7Y/ylrRZFU2FS6LRiFVp6rKLPg23y3x3c3DOKAwuXGDp+PAGjh6CSnCjYeAul8pcT8bAl+lSA==} - engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0} + resolution: + { integrity: sha512-X7sjQzceUhu1u7Y/ylrRZFU2FS6LRiFVp6rKLPg23y3x3c3DOKAwuXGDp+PAGjh6CSnCjYeAul8pcT8bAl+lSA== } + engines: { node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0 } css-what@6.2.2: - resolution: {integrity: sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==} - engines: {node: '>= 6'} + resolution: + { integrity: sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA== } + engines: { node: ">= 6" } cssesc@3.0.0: - resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} - engines: {node: '>=4'} + resolution: + { integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== } + engines: { node: ">=4" } hasBin: true csso@5.0.5: - resolution: {integrity: sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==} - engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'} + resolution: + { integrity: sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ== } + engines: { node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: ">=7.0.0" } dargs@7.0.0: - resolution: {integrity: sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg== } + engines: { node: ">=8" } data-urls@7.0.0: - resolution: {integrity: sha512-23XHcCF+coGYevirZceTVD7NdJOqVn+49IHyxgszm+JIiHLoB2TkmPtsYkNWT1pvRSGkc35L6NHs0yHkN2SumA==} - engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0} + resolution: + { integrity: sha512-23XHcCF+coGYevirZceTVD7NdJOqVn+49IHyxgszm+JIiHLoB2TkmPtsYkNWT1pvRSGkc35L6NHs0yHkN2SumA== } + engines: { node: ^20.19.0 || ^22.12.0 || >=24.0.0 } dateformat@3.0.3: - resolution: {integrity: sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==} + resolution: + { integrity: sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q== } debug@4.3.6: - resolution: {integrity: sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==} - engines: {node: '>=6.0'} + resolution: + { integrity: sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg== } + engines: { node: ">=6.0" } peerDependencies: - supports-color: '*' + supports-color: "*" peerDependenciesMeta: supports-color: optional: true debug@4.4.3: - resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==} - engines: {node: '>=6.0'} + resolution: + { integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA== } + engines: { node: ">=6.0" } peerDependencies: - supports-color: '*' + supports-color: "*" peerDependenciesMeta: supports-color: optional: true decamelize-keys@1.1.1: - resolution: {integrity: sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==} - engines: {node: '>=0.10.0'} + resolution: + { integrity: sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg== } + engines: { node: ">=0.10.0" } decamelize@1.2.0: - resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} - engines: {node: '>=0.10.0'} + resolution: + { integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA== } + engines: { node: ">=0.10.0" } decimal.js@10.6.0: - resolution: {integrity: sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg==} + resolution: + { integrity: sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg== } decompress-response@6.0.0: - resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ== } + engines: { node: ">=10" } dedent@1.5.3: - resolution: {integrity: sha512-NHQtfOOW68WD8lgypbLA5oT+Bt0xXJhiYvoR6SmmNXZfpzOGXwdKWmcwG8N7PwVVWV3eF/68nmD9BaJSsTBhyQ==} + resolution: + { integrity: sha512-NHQtfOOW68WD8lgypbLA5oT+Bt0xXJhiYvoR6SmmNXZfpzOGXwdKWmcwG8N7PwVVWV3eF/68nmD9BaJSsTBhyQ== } peerDependencies: babel-plugin-macros: ^3.1.0 peerDependenciesMeta: @@ -4992,429 +5569,536 @@ packages: optional: true deep-eql@5.0.2: - resolution: {integrity: sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==} - engines: {node: '>=6'} + resolution: + { integrity: sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q== } + engines: { node: ">=6" } deep-extend@0.6.0: - resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} - engines: {node: '>=4.0.0'} + resolution: + { integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== } + engines: { node: ">=4.0.0" } deep-is@0.1.4: - resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + resolution: + { integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== } deepcopy-esm@2.1.1: - resolution: {integrity: sha512-0lopQd/gi3excE3sgBrjuR3gJv6ZElk027i30pUgdjtvSJl/OoZ8B6L42GUBm6C3G8hD1EB5ir2gTYnINzWx4g==} - engines: {node: '>=22'} + resolution: + { integrity: sha512-0lopQd/gi3excE3sgBrjuR3gJv6ZElk027i30pUgdjtvSJl/OoZ8B6L42GUBm6C3G8hD1EB5ir2gTYnINzWx4g== } + engines: { node: ">=22" } defaults@1.0.4: - resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} + resolution: + { integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A== } defer-to-connect@2.0.1: - resolution: {integrity: sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg== } + engines: { node: ">=10" } define-data-property@1.1.4: - resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} - engines: {node: '>= 0.4'} + resolution: + { integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A== } + engines: { node: ">= 0.4" } define-lazy-prop@2.0.0: - resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og== } + engines: { node: ">=8" } define-properties@1.2.1: - resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} - engines: {node: '>= 0.4'} + resolution: + { integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg== } + engines: { node: ">= 0.4" } delayed-stream@1.0.0: - resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} - engines: {node: '>=0.4.0'} + resolution: + { integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== } + engines: { node: ">=0.4.0" } depd@2.0.0: - resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} - engines: {node: '>= 0.8'} + resolution: + { integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== } + engines: { node: ">= 0.8" } dependency-cruiser@17.3.9: - resolution: {integrity: sha512-LwaotlB9bZ8zhdFGGYf/g2oYkYj7YNxlqx1btL/XIYGob/aKRArsSwkLKo+ZrHiegsEArQVg4ZQ3NhAh8uk+hg==} - engines: {node: ^20.12||^22||>=24} + resolution: + { integrity: sha512-LwaotlB9bZ8zhdFGGYf/g2oYkYj7YNxlqx1btL/XIYGob/aKRArsSwkLKo+ZrHiegsEArQVg4ZQ3NhAh8uk+hg== } + engines: { node: ^20.12||^22||>=24 } hasBin: true deprecation@2.3.1: - resolution: {integrity: sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==} + resolution: + { integrity: sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ== } detect-libc@1.0.3: - resolution: {integrity: sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==} - engines: {node: '>=0.10'} + resolution: + { integrity: sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg== } + engines: { node: ">=0.10" } hasBin: true detect-libc@2.1.2: - resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ== } + engines: { node: ">=8" } detect-node@2.1.0: - resolution: {integrity: sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==} + resolution: + { integrity: sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g== } diff@4.0.2: - resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} - engines: {node: '>=0.3.1'} + resolution: + { integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== } + engines: { node: ">=0.3.1" } diff@8.0.3: - resolution: {integrity: sha512-qejHi7bcSD4hQAZE0tNAawRK1ZtafHDmMTMkrrIGgSLl7hTnQHmKCeB45xAcbfTqK2zowkM3j3bHt/4b/ARbYQ==} - engines: {node: '>=0.3.1'} + resolution: + { integrity: sha512-qejHi7bcSD4hQAZE0tNAawRK1ZtafHDmMTMkrrIGgSLl7hTnQHmKCeB45xAcbfTqK2zowkM3j3bHt/4b/ARbYQ== } + engines: { node: ">=0.3.1" } dir-glob@3.0.1: - resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== } + engines: { node: ">=8" } doctypes@1.1.0: - resolution: {integrity: sha512-LLBi6pEqS6Do3EKQ3J0NqHWV5hhb78Pi8vvESYwyOy2c31ZEZVdtitdzsQsKb7878PEERhzUk0ftqGhG6Mz+pQ==} + resolution: + { integrity: sha512-LLBi6pEqS6Do3EKQ3J0NqHWV5hhb78Pi8vvESYwyOy2c31ZEZVdtitdzsQsKb7878PEERhzUk0ftqGhG6Mz+pQ== } dom-serializer@2.0.0: - resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==} + resolution: + { integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg== } domelementtype@2.3.0: - resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} + resolution: + { integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw== } domhandler@5.0.3: - resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==} - engines: {node: '>= 4'} + resolution: + { integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w== } + engines: { node: ">= 4" } domutils@3.2.2: - resolution: {integrity: sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==} + resolution: + { integrity: sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw== } dot-prop@5.3.0: - resolution: {integrity: sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q== } + engines: { node: ">=8" } dotenv-expand@11.0.6: - resolution: {integrity: sha512-8NHi73otpWsZGBSZwwknTXS5pqMOrk9+Ssrna8xCaxkzEpU9OTf9R5ArQGVw03//Zmk9MOwLPng9WwndvpAJ5g==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-8NHi73otpWsZGBSZwwknTXS5pqMOrk9+Ssrna8xCaxkzEpU9OTf9R5ArQGVw03//Zmk9MOwLPng9WwndvpAJ5g== } + engines: { node: ">=12" } dotenv@10.0.0: - resolution: {integrity: sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q== } + engines: { node: ">=10" } dotenv@16.4.5: - resolution: {integrity: sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg== } + engines: { node: ">=12" } dotenv@17.3.1: - resolution: {integrity: sha512-IO8C/dzEb6O3F9/twg6ZLXz164a2fhTnEWb95H23Dm4OuN+92NmEAlTrupP9VW6Jm3sO26tQlqyvyi4CsnY9GA==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-IO8C/dzEb6O3F9/twg6ZLXz164a2fhTnEWb95H23Dm4OuN+92NmEAlTrupP9VW6Jm3sO26tQlqyvyi4CsnY9GA== } + engines: { node: ">=12" } dunder-proto@1.0.1: - resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} - engines: {node: '>= 0.4'} + resolution: + { integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A== } + engines: { node: ">= 0.4" } eastasianwidth@0.2.0: - resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} + resolution: + { integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== } ee-first@1.1.1: - resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} + resolution: + { integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== } ejs@3.1.9: - resolution: {integrity: sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ==} - engines: {node: '>=0.10.0'} + resolution: + { integrity: sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ== } + engines: { node: ">=0.10.0" } hasBin: true electron-to-chromium@1.5.267: - resolution: {integrity: sha512-0Drusm6MVRXSOJpGbaSVgcQsuB4hEkMpHXaVstcPmhu5LIedxs1xNK/nIxmQIU/RPC0+1/o0AVZfBTkTNJOdUw==} + resolution: + { integrity: sha512-0Drusm6MVRXSOJpGbaSVgcQsuB4hEkMpHXaVstcPmhu5LIedxs1xNK/nIxmQIU/RPC0+1/o0AVZfBTkTNJOdUw== } electron@41.0.3: - resolution: {integrity: sha512-IDjx8liW1q+r7+MOip5W1Eo1eMwJzVObmYrd9yz2dPCkS7XlgLq3qPVMR80TpiROFp73iY30kTzMdpA6fEVs3A==} - engines: {node: '>= 12.20.55'} + resolution: + { integrity: sha512-IDjx8liW1q+r7+MOip5W1Eo1eMwJzVObmYrd9yz2dPCkS7XlgLq3qPVMR80TpiROFp73iY30kTzMdpA6fEVs3A== } + engines: { node: ">= 12.20.55" } hasBin: true email-addresses@5.0.0: - resolution: {integrity: sha512-4OIPYlA6JXqtVn8zpHpGiI7vE6EQOAg16aGnDMIAlZVinnoZ8208tW1hAbjWydgN/4PLTT9q+O1K6AH/vALJGw==} + resolution: + { integrity: sha512-4OIPYlA6JXqtVn8zpHpGiI7vE6EQOAg16aGnDMIAlZVinnoZ8208tW1hAbjWydgN/4PLTT9q+O1K6AH/vALJGw== } emoji-regex@10.4.0: - resolution: {integrity: sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==} + resolution: + { integrity: sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw== } emoji-regex@8.0.0: - resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + resolution: + { integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== } emoji-regex@9.2.2: - resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + resolution: + { integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== } enabled@2.0.0: - resolution: {integrity: sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ==} + resolution: + { integrity: sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ== } encodeurl@2.0.0: - resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==} - engines: {node: '>= 0.8'} + resolution: + { integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg== } + engines: { node: ">= 0.8" } encoding@0.1.13: - resolution: {integrity: sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==} + resolution: + { integrity: sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A== } end-of-stream@1.4.5: - resolution: {integrity: sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==} + resolution: + { integrity: sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg== } enhanced-resolve@5.20.0: - resolution: {integrity: sha512-/ce7+jQ1PQ6rVXwe+jKEg5hW5ciicHwIQUagZkp6IufBoY3YDgdTTY1azVs0qoRgVmvsNB+rbjLJxDAeHHtwsQ==} - engines: {node: '>=10.13.0'} + resolution: + { integrity: sha512-/ce7+jQ1PQ6rVXwe+jKEg5hW5ciicHwIQUagZkp6IufBoY3YDgdTTY1azVs0qoRgVmvsNB+rbjLJxDAeHHtwsQ== } + engines: { node: ">=10.13.0" } enquirer@2.3.6: - resolution: {integrity: sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==} - engines: {node: '>=8.6'} + resolution: + { integrity: sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg== } + engines: { node: ">=8.6" } entities@4.5.0: - resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} - engines: {node: '>=0.12'} + resolution: + { integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw== } + engines: { node: ">=0.12" } entities@6.0.1: - resolution: {integrity: sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==} - engines: {node: '>=0.12'} + resolution: + { integrity: sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g== } + engines: { node: ">=0.12" } entities@7.0.1: - resolution: {integrity: sha512-TWrgLOFUQTH994YUyl1yT4uyavY5nNB5muff+RtWaqNVCAK408b5ZnnbNAUEWLTCpum9w6arT70i1XdQ4UeOPA==} - engines: {node: '>=0.12'} + resolution: + { integrity: sha512-TWrgLOFUQTH994YUyl1yT4uyavY5nNB5muff+RtWaqNVCAK408b5ZnnbNAUEWLTCpum9w6arT70i1XdQ4UeOPA== } + engines: { node: ">=0.12" } env-paths@2.2.1: - resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==} - engines: {node: '>=6'} + resolution: + { integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A== } + engines: { node: ">=6" } envinfo@7.13.0: - resolution: {integrity: sha512-cvcaMr7KqXVh4nyzGTVqTum+gAiL265x5jUWQIDLq//zOGbW+gSW/C+OWLleY/rs9Qole6AZLMXPbtIFQbqu+Q==} - engines: {node: '>=4'} + resolution: + { integrity: sha512-cvcaMr7KqXVh4nyzGTVqTum+gAiL265x5jUWQIDLq//zOGbW+gSW/C+OWLleY/rs9Qole6AZLMXPbtIFQbqu+Q== } + engines: { node: ">=4" } hasBin: true envinfo@7.14.0: - resolution: {integrity: sha512-CO40UI41xDQzhLB1hWyqUKgFhs250pNcGbyGKe1l/e4FSaI/+YE4IMG76GDt0In67WLPACIITC+sOi08x4wIvg==} - engines: {node: '>=4'} + resolution: + { integrity: sha512-CO40UI41xDQzhLB1hWyqUKgFhs250pNcGbyGKe1l/e4FSaI/+YE4IMG76GDt0In67WLPACIITC+sOi08x4wIvg== } + engines: { node: ">=4" } hasBin: true err-code@2.0.3: - resolution: {integrity: sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==} + resolution: + { integrity: sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA== } error-ex@1.3.2: - resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} + resolution: + { integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== } es-define-property@1.0.1: - resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==} - engines: {node: '>= 0.4'} + resolution: + { integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g== } + engines: { node: ">= 0.4" } es-errors@1.3.0: - resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} - engines: {node: '>= 0.4'} + resolution: + { integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw== } + engines: { node: ">= 0.4" } es-module-lexer@2.0.0: - resolution: {integrity: sha512-5POEcUuZybH7IdmGsD8wlf0AI55wMecM9rVBTI/qEAy2c1kTOm3DjFYjrBdI2K3BaJjJYfYFeRtM0t9ssnRuxw==} + resolution: + { integrity: sha512-5POEcUuZybH7IdmGsD8wlf0AI55wMecM9rVBTI/qEAy2c1kTOm3DjFYjrBdI2K3BaJjJYfYFeRtM0t9ssnRuxw== } es-object-atoms@1.1.1: - resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==} - engines: {node: '>= 0.4'} + resolution: + { integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA== } + engines: { node: ">= 0.4" } es-set-tostringtag@2.1.0: - resolution: {integrity: sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==} - engines: {node: '>= 0.4'} + resolution: + { integrity: sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA== } + engines: { node: ">= 0.4" } es6-error@4.1.1: - resolution: {integrity: sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==} + resolution: + { integrity: sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg== } esbuild@0.27.2: - resolution: {integrity: sha512-HyNQImnsOC7X9PMNaCIeAm4ISCQXs5a5YasTXVliKv4uuBo1dKrG0A+uQS8M5eXjVMnLg3WgXaKvprHlFJQffw==} - engines: {node: '>=18'} + resolution: + { integrity: sha512-HyNQImnsOC7X9PMNaCIeAm4ISCQXs5a5YasTXVliKv4uuBo1dKrG0A+uQS8M5eXjVMnLg3WgXaKvprHlFJQffw== } + engines: { node: ">=18" } hasBin: true escalade@3.1.1: - resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} - engines: {node: '>=6'} + resolution: + { integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== } + engines: { node: ">=6" } escalade@3.2.0: - resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} - engines: {node: '>=6'} + resolution: + { integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA== } + engines: { node: ">=6" } escape-html@1.0.3: - resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} + resolution: + { integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow== } escape-string-regexp@1.0.5: - resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} - engines: {node: '>=0.8.0'} + resolution: + { integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== } + engines: { node: ">=0.8.0" } escape-string-regexp@4.0.0: - resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== } + engines: { node: ">=10" } escape-string-regexp@5.0.0: - resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw== } + engines: { node: ">=12" } eslint-config-prettier@10.1.8: - resolution: {integrity: sha512-82GZUjRS0p/jganf6q1rEO25VSoHH0hKPCTrgillPjdI/3bgBhAE1QzHrHTizjpRvy6pGAvKjDJtk2pF9NDq8w==} + resolution: + { integrity: sha512-82GZUjRS0p/jganf6q1rEO25VSoHH0hKPCTrgillPjdI/3bgBhAE1QzHrHTizjpRvy6pGAvKjDJtk2pF9NDq8w== } hasBin: true peerDependencies: - eslint: '>=7.0.0' + eslint: ">=7.0.0" eslint-plugin-jsdoc@62.8.1: - resolution: {integrity: sha512-e9358PdHgvcMF98foNd3L7hVCw70Lt+YcSL7JzlJebB8eT5oRJtW6bHMQKoAwJtw6q0q0w/fRIr2kwnHdFDI6A==} - engines: {node: ^20.19.0 || ^22.13.0 || >=24} + resolution: + { integrity: sha512-e9358PdHgvcMF98foNd3L7hVCw70Lt+YcSL7JzlJebB8eT5oRJtW6bHMQKoAwJtw6q0q0w/fRIr2kwnHdFDI6A== } + engines: { node: ^20.19.0 || ^22.13.0 || >=24 } peerDependencies: eslint: ^7.0.0 || ^8.0.0 || ^9.0.0 || ^10.0.0 eslint-plugin-prettier@5.5.5: - resolution: {integrity: sha512-hscXkbqUZ2sPithAuLm5MXL+Wph+U7wHngPBv9OMWwlP8iaflyxpjTYZkmdgB4/vPIhemRlBEoLrH7UC1n7aUw==} - engines: {node: ^14.18.0 || >=16.0.0} + resolution: + { integrity: sha512-hscXkbqUZ2sPithAuLm5MXL+Wph+U7wHngPBv9OMWwlP8iaflyxpjTYZkmdgB4/vPIhemRlBEoLrH7UC1n7aUw== } + engines: { node: ^14.18.0 || >=16.0.0 } peerDependencies: - '@types/eslint': '>=8.0.0' - eslint: '>=8.0.0' - eslint-config-prettier: '>= 7.0.0 <10.0.0 || >=10.1.0' - prettier: '>=3.0.0' + "@types/eslint": ">=8.0.0" + eslint: ">=8.0.0" + eslint-config-prettier: ">= 7.0.0 <10.0.0 || >=10.1.0" + prettier: ">=3.0.0" peerDependenciesMeta: - '@types/eslint': + "@types/eslint": optional: true eslint-config-prettier: optional: true eslint-plugin-tsdoc@0.5.2: - resolution: {integrity: sha512-BlvqjWZdBJDIPO/YU3zcPCF23CvjYT3gyu63yo6b609NNV3D1b6zceAREy2xnweuBoDpZcLNuPyAUq9cvx6bbQ==} + resolution: + { integrity: sha512-BlvqjWZdBJDIPO/YU3zcPCF23CvjYT3gyu63yo6b609NNV3D1b6zceAREy2xnweuBoDpZcLNuPyAUq9cvx6bbQ== } eslint-scope@5.1.1: - resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} - engines: {node: '>=8.0.0'} + resolution: + { integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== } + engines: { node: ">=8.0.0" } eslint-scope@9.1.2: - resolution: {integrity: sha512-xS90H51cKw0jltxmvmHy2Iai1LIqrfbw57b79w/J7MfvDfkIkFZ+kj6zC3BjtUwh150HsSSdxXZcsuv72miDFQ==} - engines: {node: ^20.19.0 || ^22.13.0 || >=24} + resolution: + { integrity: sha512-xS90H51cKw0jltxmvmHy2Iai1LIqrfbw57b79w/J7MfvDfkIkFZ+kj6zC3BjtUwh150HsSSdxXZcsuv72miDFQ== } + engines: { node: ^20.19.0 || ^22.13.0 || >=24 } eslint-visitor-keys@3.4.3: - resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + resolution: + { integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } eslint-visitor-keys@4.2.1: - resolution: {integrity: sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + resolution: + { integrity: sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ== } + engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } eslint-visitor-keys@5.0.0: - resolution: {integrity: sha512-A0XeIi7CXU7nPlfHS9loMYEKxUaONu/hTEzHTGba9Huu94Cq1hPivf+DE5erJozZOky0LfvXAyrV/tcswpLI0Q==} - engines: {node: ^20.19.0 || ^22.13.0 || >=24} + resolution: + { integrity: sha512-A0XeIi7CXU7nPlfHS9loMYEKxUaONu/hTEzHTGba9Huu94Cq1hPivf+DE5erJozZOky0LfvXAyrV/tcswpLI0Q== } + engines: { node: ^20.19.0 || ^22.13.0 || >=24 } eslint-visitor-keys@5.0.1: - resolution: {integrity: sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==} - engines: {node: ^20.19.0 || ^22.13.0 || >=24} + resolution: + { integrity: sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA== } + engines: { node: ^20.19.0 || ^22.13.0 || >=24 } eslint@10.1.0: - resolution: {integrity: sha512-S9jlY/ELKEUwwQnqWDO+f+m6sercqOPSqXM5Go94l7DOmxHVDgmSFGWEzeE/gwgTAr0W103BWt0QLe/7mabIvA==} - engines: {node: ^20.19.0 || ^22.13.0 || >=24} + resolution: + { integrity: sha512-S9jlY/ELKEUwwQnqWDO+f+m6sercqOPSqXM5Go94l7DOmxHVDgmSFGWEzeE/gwgTAr0W103BWt0QLe/7mabIvA== } + engines: { node: ^20.19.0 || ^22.13.0 || >=24 } hasBin: true peerDependencies: - jiti: '*' + jiti: "*" peerDependenciesMeta: jiti: optional: true espree@10.4.0: - resolution: {integrity: sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + resolution: + { integrity: sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ== } + engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } espree@11.2.0: - resolution: {integrity: sha512-7p3DrVEIopW1B1avAGLuCSh1jubc01H2JHc8B4qqGblmg5gI9yumBgACjWo4JlIc04ufug4xJ3SQI8HkS/Rgzw==} - engines: {node: ^20.19.0 || ^22.13.0 || >=24} + resolution: + { integrity: sha512-7p3DrVEIopW1B1avAGLuCSh1jubc01H2JHc8B4qqGblmg5gI9yumBgACjWo4JlIc04ufug4xJ3SQI8HkS/Rgzw== } + engines: { node: ^20.19.0 || ^22.13.0 || >=24 } esprima@4.0.1: - resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} - engines: {node: '>=4'} + resolution: + { integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== } + engines: { node: ">=4" } hasBin: true esquery@1.7.0: - resolution: {integrity: sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==} - engines: {node: '>=0.10'} + resolution: + { integrity: sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g== } + engines: { node: ">=0.10" } esrecurse@4.3.0: - resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} - engines: {node: '>=4.0'} + resolution: + { integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== } + engines: { node: ">=4.0" } estraverse@4.3.0: - resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} - engines: {node: '>=4.0'} + resolution: + { integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== } + engines: { node: ">=4.0" } estraverse@5.3.0: - resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} - engines: {node: '>=4.0'} + resolution: + { integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== } + engines: { node: ">=4.0" } estree-walker@3.0.3: - resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} + resolution: + { integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g== } esutils@2.0.3: - resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} - engines: {node: '>=0.10.0'} + resolution: + { integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== } + engines: { node: ">=0.10.0" } etag@1.8.1: - resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} - engines: {node: '>= 0.6'} + resolution: + { integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg== } + engines: { node: ">= 0.6" } event-target-shim@5.0.1: - resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==} - engines: {node: '>=6'} + resolution: + { integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ== } + engines: { node: ">=6" } eventemitter3@4.0.7: - resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==} + resolution: + { integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== } events@3.3.0: - resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} - engines: {node: '>=0.8.x'} + resolution: + { integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== } + engines: { node: ">=0.8.x" } execa@5.0.0: - resolution: {integrity: sha512-ov6w/2LCiuyO4RLYGdpFGjkcs0wMTgGE8PrkTHikeUy5iJekXyPIKUjifk5CsE0pt7sMCrMZ3YNqoCj6idQOnQ==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-ov6w/2LCiuyO4RLYGdpFGjkcs0wMTgGE8PrkTHikeUy5iJekXyPIKUjifk5CsE0pt7sMCrMZ3YNqoCj6idQOnQ== } + engines: { node: ">=10" } expand-template@2.0.3: - resolution: {integrity: sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==} - engines: {node: '>=6'} + resolution: + { integrity: sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg== } + engines: { node: ">=6" } expect-type@1.3.0: - resolution: {integrity: sha512-knvyeauYhqjOYvQ66MznSMs83wmHrCycNEN6Ao+2AeYEfxUIkuiVxdEa1qlGEPK+We3n0THiDciYSsCcgW/DoA==} - engines: {node: '>=12.0.0'} + resolution: + { integrity: sha512-knvyeauYhqjOYvQ66MznSMs83wmHrCycNEN6Ao+2AeYEfxUIkuiVxdEa1qlGEPK+We3n0THiDciYSsCcgW/DoA== } + engines: { node: ">=12.0.0" } exponential-backoff@3.1.1: - resolution: {integrity: sha512-dX7e/LHVJ6W3DE1MHWi9S1EYzDESENfLrYohG2G++ovZrYOkm4Knwa0mc1cn84xJOR4KEU0WSchhLbd0UklbHw==} + resolution: + { integrity: sha512-dX7e/LHVJ6W3DE1MHWi9S1EYzDESENfLrYohG2G++ovZrYOkm4Knwa0mc1cn84xJOR4KEU0WSchhLbd0UklbHw== } express-rate-limit@8.3.1: - resolution: {integrity: sha512-D1dKN+cmyPWuvB+G2SREQDzPY1agpBIcTa9sJxOPMCNeH3gwzhqJRDWCXW3gg0y//+LQ/8j52JbMROWyrKdMdw==} - engines: {node: '>= 16'} + resolution: + { integrity: sha512-D1dKN+cmyPWuvB+G2SREQDzPY1agpBIcTa9sJxOPMCNeH3gwzhqJRDWCXW3gg0y//+LQ/8j52JbMROWyrKdMdw== } + engines: { node: ">= 16" } peerDependencies: - express: '>= 4.11' + express: ">= 4.11" express@5.2.1: - resolution: {integrity: sha512-hIS4idWWai69NezIdRt2xFVofaF4j+6INOpJlVOLDO8zXGpUVEVzIYk12UUi2JzjEzWL3IOAxcTubgz9Po0yXw==} - engines: {node: '>= 18'} + resolution: + { integrity: sha512-hIS4idWWai69NezIdRt2xFVofaF4j+6INOpJlVOLDO8zXGpUVEVzIYk12UUi2JzjEzWL3IOAxcTubgz9Po0yXw== } + engines: { node: ">= 18" } extract-zip@2.0.1: - resolution: {integrity: sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==} - engines: {node: '>= 10.17.0'} + resolution: + { integrity: sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg== } + engines: { node: ">= 10.17.0" } hasBin: true fast-deep-equal@3.1.3: - resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + resolution: + { integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== } fast-diff@1.3.0: - resolution: {integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==} + resolution: + { integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw== } fast-glob@3.3.2: - resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} - engines: {node: '>=8.6.0'} + resolution: + { integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow== } + engines: { node: ">=8.6.0" } fast-json-stable-stringify@2.1.0: - resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + resolution: + { integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== } fast-levenshtein@2.0.6: - resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} + resolution: + { integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== } fast-uri@3.1.0: - resolution: {integrity: sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==} + resolution: + { integrity: sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA== } fastest-levenshtein@1.0.16: - resolution: {integrity: sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==} - engines: {node: '>= 4.9.1'} + resolution: + { integrity: sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg== } + engines: { node: ">= 4.9.1" } fastq@1.15.0: - resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} + resolution: + { integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw== } fd-slicer@1.1.0: - resolution: {integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==} + resolution: + { integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g== } fdir@6.5.0: - resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==} - engines: {node: '>=12.0.0'} + resolution: + { integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg== } + engines: { node: ">=12.0.0" } peerDependencies: picomatch: ^3 || ^4 peerDependenciesMeta: @@ -5422,667 +6106,836 @@ packages: optional: true fecha@4.2.3: - resolution: {integrity: sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw==} + resolution: + { integrity: sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw== } fflate@0.8.2: - resolution: {integrity: sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==} + resolution: + { integrity: sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A== } figures@3.2.0: - resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg== } + engines: { node: ">=8" } file-entry-cache@8.0.0: - resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} - engines: {node: '>=16.0.0'} + resolution: + { integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ== } + engines: { node: ">=16.0.0" } filelist@1.0.4: - resolution: {integrity: sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==} + resolution: + { integrity: sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q== } filename-reserved-regex@2.0.0: - resolution: {integrity: sha512-lc1bnsSr4L4Bdif8Xb/qrtokGbq5zlsms/CYH8PP+WtCkGNF65DPiQY8vG3SakEdRn8Dlnm+gW/qWKKjS5sZzQ==} - engines: {node: '>=4'} + resolution: + { integrity: sha512-lc1bnsSr4L4Bdif8Xb/qrtokGbq5zlsms/CYH8PP+WtCkGNF65DPiQY8vG3SakEdRn8Dlnm+gW/qWKKjS5sZzQ== } + engines: { node: ">=4" } filenamify@4.3.0: - resolution: {integrity: sha512-hcFKyUG57yWGAzu1CMt/dPzYZuv+jAJUT85bL8mrXvNe6hWj6yEHEc4EdcgiA6Z3oi1/9wXJdZPXF2dZNgwgOg==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-hcFKyUG57yWGAzu1CMt/dPzYZuv+jAJUT85bL8mrXvNe6hWj6yEHEc4EdcgiA6Z3oi1/9wXJdZPXF2dZNgwgOg== } + engines: { node: ">=8" } fill-range@7.0.1: - resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== } + engines: { node: ">=8" } finalhandler@2.1.1: - resolution: {integrity: sha512-S8KoZgRZN+a5rNwqTxlZZePjT/4cnm0ROV70LedRHZ0p8u9fRID0hJUZQpkKLzro8LfmC8sx23bY6tVNxv8pQA==} - engines: {node: '>= 18.0.0'} + resolution: + { integrity: sha512-S8KoZgRZN+a5rNwqTxlZZePjT/4cnm0ROV70LedRHZ0p8u9fRID0hJUZQpkKLzro8LfmC8sx23bY6tVNxv8pQA== } + engines: { node: ">= 18.0.0" } find-cache-dir@3.3.2: - resolution: {integrity: sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig== } + engines: { node: ">=8" } find-up@2.1.0: - resolution: {integrity: sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==} - engines: {node: '>=4'} + resolution: + { integrity: sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ== } + engines: { node: ">=4" } find-up@4.1.0: - resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== } + engines: { node: ">=8" } find-up@5.0.0: - resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== } + engines: { node: ">=10" } find-up@8.0.0: - resolution: {integrity: sha512-JGG8pvDi2C+JxidYdIwQDyS/CgcrIdh18cvgxcBge3wSHRQOrooMD3GlFBcmMJAN9M42SAZjDp5zv1dglJjwww==} - engines: {node: '>=20'} + resolution: + { integrity: sha512-JGG8pvDi2C+JxidYdIwQDyS/CgcrIdh18cvgxcBge3wSHRQOrooMD3GlFBcmMJAN9M42SAZjDp5zv1dglJjwww== } + engines: { node: ">=20" } flat-cache@4.0.1: - resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} - engines: {node: '>=16'} + resolution: + { integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw== } + engines: { node: ">=16" } flat@5.0.2: - resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==} + resolution: + { integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ== } hasBin: true flatted@3.4.0: - resolution: {integrity: sha512-kC6Bb+ooptOIvWj5B63EQWkF0FEnNjV2ZNkLMLZRDDduIiWeFF4iKnslwhiWxjAdbg4NzTNo6h0qLuvFrcx+Sw==} + resolution: + { integrity: sha512-kC6Bb+ooptOIvWj5B63EQWkF0FEnNjV2ZNkLMLZRDDduIiWeFF4iKnslwhiWxjAdbg4NzTNo6h0qLuvFrcx+Sw== } flatted@3.4.2: - resolution: {integrity: sha512-PjDse7RzhcPkIJwy5t7KPWQSZ9cAbzQXcafsetQoD7sOJRQlGikNbx7yZp2OotDnJyrDcbyRq3Ttb18iYOqkxA==} + resolution: + { integrity: sha512-PjDse7RzhcPkIJwy5t7KPWQSZ9cAbzQXcafsetQoD7sOJRQlGikNbx7yZp2OotDnJyrDcbyRq3Ttb18iYOqkxA== } fn.name@1.1.0: - resolution: {integrity: sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==} + resolution: + { integrity: sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw== } follow-redirects@1.15.6: - resolution: {integrity: sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==} - engines: {node: '>=4.0'} + resolution: + { integrity: sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA== } + engines: { node: ">=4.0" } peerDependencies: - debug: '*' + debug: "*" peerDependenciesMeta: debug: optional: true foreground-child@3.1.1: - resolution: {integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg== } + engines: { node: ">=14" } foreground-child@3.3.1: - resolution: {integrity: sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw== } + engines: { node: ">=14" } form-data@4.0.5: - resolution: {integrity: sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==} - engines: {node: '>= 6'} + resolution: + { integrity: sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w== } + engines: { node: ">= 6" } forwarded@0.2.0: - resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} - engines: {node: '>= 0.6'} + resolution: + { integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow== } + engines: { node: ">= 0.6" } fresh@2.0.0: - resolution: {integrity: sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==} - engines: {node: '>= 0.8'} + resolution: + { integrity: sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A== } + engines: { node: ">= 0.8" } front-matter@4.0.2: - resolution: {integrity: sha512-I8ZuJ/qG92NWX8i5x1Y8qyj3vizhXS31OxjKDu3LKP+7/qBgfIKValiZIEwoVoJKUHlhWtYrktkxV1XsX+pPlg==} + resolution: + { integrity: sha512-I8ZuJ/qG92NWX8i5x1Y8qyj3vizhXS31OxjKDu3LKP+7/qBgfIKValiZIEwoVoJKUHlhWtYrktkxV1XsX+pPlg== } fs-constants@1.0.0: - resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} + resolution: + { integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== } fs-extra@11.3.4: - resolution: {integrity: sha512-CTXd6rk/M3/ULNQj8FBqBWHYBVYybQ3VPBw0xGKFe3tuH7ytT6ACnvzpIQ3UZtB8yvUKC2cXn1a+x+5EVQLovA==} - engines: {node: '>=14.14'} + resolution: + { integrity: sha512-CTXd6rk/M3/ULNQj8FBqBWHYBVYybQ3VPBw0xGKFe3tuH7ytT6ACnvzpIQ3UZtB8yvUKC2cXn1a+x+5EVQLovA== } + engines: { node: ">=14.14" } fs-extra@8.1.0: - resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==} - engines: {node: '>=6 <7 || >=8'} + resolution: + { integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g== } + engines: { node: ">=6 <7 || >=8" } fs-minipass@2.1.0: - resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==} - engines: {node: '>= 8'} + resolution: + { integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg== } + engines: { node: ">= 8" } fs-minipass@3.0.2: - resolution: {integrity: sha512-2GAfyfoaCDRrM6jaOS3UsBts8yJ55VioXdWcOL7dK9zdAuKT71+WBA4ifnNYqVjYv+4SsPxjK0JT4yIIn4cA/g==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + resolution: + { integrity: sha512-2GAfyfoaCDRrM6jaOS3UsBts8yJ55VioXdWcOL7dK9zdAuKT71+WBA4ifnNYqVjYv+4SsPxjK0JT4yIIn4cA/g== } + engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } fs.realpath@1.0.0: - resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + resolution: + { integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== } fsevents@2.3.3: - resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} - engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + resolution: + { integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== } + engines: { node: ^8.16.0 || ^10.6.0 || >=11.0.0 } os: [darwin] function-bind@1.1.2: - resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + resolution: + { integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== } get-caller-file@2.0.5: - resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} - engines: {node: 6.* || 8.* || >= 10.*} + resolution: + { integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== } + engines: { node: 6.* || 8.* || >= 10.* } get-east-asian-width@1.3.0: - resolution: {integrity: sha512-vpeMIQKxczTD/0s2CdEWHcb0eeJe6TFjxb+J5xgX7hScxqrGuyjmv4c1D4A/gelKfyox0gJJwIHF+fLjeaM8kQ==} - engines: {node: '>=18'} + resolution: + { integrity: sha512-vpeMIQKxczTD/0s2CdEWHcb0eeJe6TFjxb+J5xgX7hScxqrGuyjmv4c1D4A/gelKfyox0gJJwIHF+fLjeaM8kQ== } + engines: { node: ">=18" } get-intrinsic@1.3.0: - resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==} - engines: {node: '>= 0.4'} + resolution: + { integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ== } + engines: { node: ">= 0.4" } get-pkg-repo@4.2.1: - resolution: {integrity: sha512-2+QbHjFRfGB74v/pYWjd5OhU3TDIC2Gv/YKUTk/tCvAz0pkn/Mz6P3uByuBimLOcPvN2jYdScl3xGFSrx0jEcA==} - engines: {node: '>=6.9.0'} + resolution: + { integrity: sha512-2+QbHjFRfGB74v/pYWjd5OhU3TDIC2Gv/YKUTk/tCvAz0pkn/Mz6P3uByuBimLOcPvN2jYdScl3xGFSrx0jEcA== } + engines: { node: ">=6.9.0" } hasBin: true get-proto@1.0.1: - resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==} - engines: {node: '>= 0.4'} + resolution: + { integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g== } + engines: { node: ">= 0.4" } get-stream@5.2.0: - resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== } + engines: { node: ">=8" } get-stream@6.0.0: - resolution: {integrity: sha512-A1B3Bh1UmL0bidM/YX2NsCOTnGJePL9rO/M+Mw3m9f2gUpfokS0hi5Eah0WSUEWZdZhIZtMjkIYS7mDfOqNHbg==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-A1B3Bh1UmL0bidM/YX2NsCOTnGJePL9rO/M+Mw3m9f2gUpfokS0hi5Eah0WSUEWZdZhIZtMjkIYS7mDfOqNHbg== } + engines: { node: ">=10" } get-stream@6.0.1: - resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== } + engines: { node: ">=10" } gh-pages@6.3.0: - resolution: {integrity: sha512-Ot5lU6jK0Eb+sszG8pciXdjMXdBJ5wODvgjR+imihTqsUWF2K6dJ9HST55lgqcs8wWcw6o6wAsUzfcYRhJPXbA==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-Ot5lU6jK0Eb+sszG8pciXdjMXdBJ5wODvgjR+imihTqsUWF2K6dJ9HST55lgqcs8wWcw6o6wAsUzfcYRhJPXbA== } + engines: { node: ">=10" } hasBin: true git-raw-commits@3.0.0: - resolution: {integrity: sha512-b5OHmZ3vAgGrDn/X0kS+9qCfNKWe4K/jFnhwzVWWg0/k5eLa3060tZShrRg8Dja5kPc+YjS0Gc6y7cRr44Lpjw==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-b5OHmZ3vAgGrDn/X0kS+9qCfNKWe4K/jFnhwzVWWg0/k5eLa3060tZShrRg8Dja5kPc+YjS0Gc6y7cRr44Lpjw== } + engines: { node: ">=14" } deprecated: This package is no longer maintained. For the JavaScript API, please use @conventional-changelog/git-client instead. hasBin: true git-raw-commits@5.0.1: - resolution: {integrity: sha512-Y+csSm2GD/PCSh6Isd/WiMjNAydu0VBiG9J7EdQsNA5P9uXvLayqjmTsNlK5Gs9IhblFZqOU0yid5Il5JPoLiQ==} - engines: {node: '>=18'} + resolution: + { integrity: sha512-Y+csSm2GD/PCSh6Isd/WiMjNAydu0VBiG9J7EdQsNA5P9uXvLayqjmTsNlK5Gs9IhblFZqOU0yid5Il5JPoLiQ== } + engines: { node: ">=18" } hasBin: true git-remote-origin-url@2.0.0: - resolution: {integrity: sha512-eU+GGrZgccNJcsDH5LkXR3PB9M958hxc7sbA8DFJjrv9j4L2P/eZfKhM+QD6wyzpiv+b1BpK0XrYCxkovtjSLw==} - engines: {node: '>=4'} + resolution: + { integrity: sha512-eU+GGrZgccNJcsDH5LkXR3PB9M958hxc7sbA8DFJjrv9j4L2P/eZfKhM+QD6wyzpiv+b1BpK0XrYCxkovtjSLw== } + engines: { node: ">=4" } git-semver-tags@5.0.0: - resolution: {integrity: sha512-fZ+tmZ1O5aXW/T5nLzZLbxWAHdQTLLXalOECMNAmhoEQSfqZjtaeMjpsXH4C5qVhrICTkVQeQFujB1lKzIHljA==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-fZ+tmZ1O5aXW/T5nLzZLbxWAHdQTLLXalOECMNAmhoEQSfqZjtaeMjpsXH4C5qVhrICTkVQeQFujB1lKzIHljA== } + engines: { node: ">=14" } deprecated: This package is no longer maintained. For the JavaScript API, please use @conventional-changelog/git-client instead. hasBin: true git-up@7.0.0: - resolution: {integrity: sha512-ONdIrbBCFusq1Oy0sC71F5azx8bVkvtZtMJAsv+a6lz5YAmbNnLD6HAB4gptHZVLPR8S2/kVN6Gab7lryq5+lQ==} + resolution: + { integrity: sha512-ONdIrbBCFusq1Oy0sC71F5azx8bVkvtZtMJAsv+a6lz5YAmbNnLD6HAB4gptHZVLPR8S2/kVN6Gab7lryq5+lQ== } git-url-parse@14.0.0: - resolution: {integrity: sha512-NnLweV+2A4nCvn4U/m2AoYu0pPKlsmhK9cknG7IMwsjFY1S2jxM+mAhsDxyxfCIGfGaD+dozsyX4b6vkYc83yQ==} + resolution: + { integrity: sha512-NnLweV+2A4nCvn4U/m2AoYu0pPKlsmhK9cknG7IMwsjFY1S2jxM+mAhsDxyxfCIGfGaD+dozsyX4b6vkYc83yQ== } gitconfiglocal@1.0.0: - resolution: {integrity: sha512-spLUXeTAVHxDtKsJc8FkFVgFtMdEN9qPGpL23VfSHx4fP4+Ds097IXLvymbnDH8FnmxX5Nr9bPw3A+AQ6mWEaQ==} + resolution: + { integrity: sha512-spLUXeTAVHxDtKsJc8FkFVgFtMdEN9qPGpL23VfSHx4fP4+Ds097IXLvymbnDH8FnmxX5Nr9bPw3A+AQ6mWEaQ== } github-from-package@0.0.0: - resolution: {integrity: sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==} + resolution: + { integrity: sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw== } glob-parent@5.1.2: - resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} - engines: {node: '>= 6'} + resolution: + { integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== } + engines: { node: ">= 6" } glob-parent@6.0.2: - resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} - engines: {node: '>=10.13.0'} + resolution: + { integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== } + engines: { node: ">=10.13.0" } glob-to-regexp@0.4.1: - resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} + resolution: + { integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== } glob@10.4.5: - resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==} + resolution: + { integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg== } deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me hasBin: true glob@11.1.0: - resolution: {integrity: sha512-vuNwKSaKiqm7g0THUBu2x7ckSs3XJLXE+2ssL7/MfTGPLLcrJQ/4Uq1CjPTtO5cCIiRxqvN6Twy1qOwhL0Xjcw==} - engines: {node: 20 || >=22} + resolution: + { integrity: sha512-vuNwKSaKiqm7g0THUBu2x7ckSs3XJLXE+2ssL7/MfTGPLLcrJQ/4Uq1CjPTtO5cCIiRxqvN6Twy1qOwhL0Xjcw== } + engines: { node: 20 || >=22 } deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me hasBin: true glob@13.0.6: - resolution: {integrity: sha512-Wjlyrolmm8uDpm/ogGyXZXb1Z+Ca2B8NbJwqBVg0axK9GbBeoS7yGV6vjXnYdGm6X53iehEuxxbyiKp8QmN4Vw==} - engines: {node: 18 || 20 || >=22} + resolution: + { integrity: sha512-Wjlyrolmm8uDpm/ogGyXZXb1Z+Ca2B8NbJwqBVg0axK9GbBeoS7yGV6vjXnYdGm6X53iehEuxxbyiKp8QmN4Vw== } + engines: { node: 18 || 20 || >=22 } glob@7.2.3: - resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + resolution: + { integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== } deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me global-agent@3.0.0: - resolution: {integrity: sha512-PT6XReJ+D07JvGoxQMkT6qji/jVNfX/h364XHZOWeRzy64sSFr+xJ5OX7LI3b4MPQzdL4H8Y8M0xzPpsVMwA8Q==} - engines: {node: '>=10.0'} + resolution: + { integrity: sha512-PT6XReJ+D07JvGoxQMkT6qji/jVNfX/h364XHZOWeRzy64sSFr+xJ5OX7LI3b4MPQzdL4H8Y8M0xzPpsVMwA8Q== } + engines: { node: ">=10.0" } global-directory@4.0.1: - resolution: {integrity: sha512-wHTUcDUoZ1H5/0iVqEudYW4/kAlN5cZ3j/bXn0Dpbizl9iaUVeWSHqiOjsgk6OW2bkLclbBjzewBz6weQ1zA2Q==} - engines: {node: '>=18'} + resolution: + { integrity: sha512-wHTUcDUoZ1H5/0iVqEudYW4/kAlN5cZ3j/bXn0Dpbizl9iaUVeWSHqiOjsgk6OW2bkLclbBjzewBz6weQ1zA2Q== } + engines: { node: ">=18" } globalthis@1.0.4: - resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==} - engines: {node: '>= 0.4'} + resolution: + { integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ== } + engines: { node: ">= 0.4" } globby@11.1.0: - resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== } + engines: { node: ">=10" } gopd@1.2.0: - resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} - engines: {node: '>= 0.4'} + resolution: + { integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg== } + engines: { node: ">= 0.4" } got@11.8.6: - resolution: {integrity: sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==} - engines: {node: '>=10.19.0'} + resolution: + { integrity: sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g== } + engines: { node: ">=10.19.0" } graceful-fs@4.2.11: - resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + resolution: + { integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== } handlebars@4.7.7: - resolution: {integrity: sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==} - engines: {node: '>=0.4.7'} + resolution: + { integrity: sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA== } + engines: { node: ">=0.4.7" } hasBin: true hard-rejection@2.1.0: - resolution: {integrity: sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==} - engines: {node: '>=6'} + resolution: + { integrity: sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA== } + engines: { node: ">=6" } has-flag@3.0.0: - resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} - engines: {node: '>=4'} + resolution: + { integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== } + engines: { node: ">=4" } has-flag@4.0.0: - resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== } + engines: { node: ">=8" } has-property-descriptors@1.0.2: - resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} + resolution: + { integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg== } has-symbols@1.1.0: - resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==} - engines: {node: '>= 0.4'} + resolution: + { integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ== } + engines: { node: ">= 0.4" } has-tostringtag@1.0.2: - resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} - engines: {node: '>= 0.4'} + resolution: + { integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw== } + engines: { node: ">= 0.4" } has-unicode@2.0.1: - resolution: {integrity: sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==} + resolution: + { integrity: sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ== } hasown@2.0.2: - resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} - engines: {node: '>= 0.4'} + resolution: + { integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ== } + engines: { node: ">= 0.4" } helmet@8.1.0: - resolution: {integrity: sha512-jOiHyAZsmnr8LqoPGmCjYAaiuWwjAPLgY8ZX2XrmHawt99/u1y6RgrZMTeoPfpUbV96HOalYgz1qzkRbw54Pmg==} - engines: {node: '>=18.0.0'} + resolution: + { integrity: sha512-jOiHyAZsmnr8LqoPGmCjYAaiuWwjAPLgY8ZX2XrmHawt99/u1y6RgrZMTeoPfpUbV96HOalYgz1qzkRbw54Pmg== } + engines: { node: ">=18.0.0" } hosted-git-info@2.8.9: - resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} + resolution: + { integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== } hosted-git-info@4.1.0: - resolution: {integrity: sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA== } + engines: { node: ">=10" } hosted-git-info@8.1.0: - resolution: {integrity: sha512-Rw/B2DNQaPBICNXEm8balFz9a6WpZrkCGpcWFpy7nCj+NyhSdqXipmfvtmWt9xGfp0wZnBxB+iVpLmQMYt47Tw==} - engines: {node: ^18.17.0 || >=20.5.0} + resolution: + { integrity: sha512-Rw/B2DNQaPBICNXEm8balFz9a6WpZrkCGpcWFpy7nCj+NyhSdqXipmfvtmWt9xGfp0wZnBxB+iVpLmQMYt47Tw== } + engines: { node: ^18.17.0 || >=20.5.0 } hosted-git-info@9.0.2: - resolution: {integrity: sha512-M422h7o/BR3rmCQ8UHi7cyyMqKltdP9Uo+J2fXK+RSAY+wTcKOIRyhTuKv4qn+DJf3g+PL890AzId5KZpX+CBg==} - engines: {node: ^20.17.0 || >=22.9.0} + resolution: + { integrity: sha512-M422h7o/BR3rmCQ8UHi7cyyMqKltdP9Uo+J2fXK+RSAY+wTcKOIRyhTuKv4qn+DJf3g+PL890AzId5KZpX+CBg== } + engines: { node: ^20.17.0 || >=22.9.0 } html-encoding-sniffer@6.0.0: - resolution: {integrity: sha512-CV9TW3Y3f8/wT0BRFc1/KAVQ3TUHiXmaAb6VW9vtiMFf7SLoMd1PdAc4W3KFOFETBJUb90KatHqlsZMWV+R9Gg==} - engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0} + resolution: + { integrity: sha512-CV9TW3Y3f8/wT0BRFc1/KAVQ3TUHiXmaAb6VW9vtiMFf7SLoMd1PdAc4W3KFOFETBJUb90KatHqlsZMWV+R9Gg== } + engines: { node: ^20.19.0 || ^22.12.0 || >=24.0.0 } html-entities@2.6.0: - resolution: {integrity: sha512-kig+rMn/QOVRvr7c86gQ8lWXq+Hkv6CbAH1hLu+RG338StTpE8Z0b44SDVaqVu7HGKf27frdmUYEs9hTUX/cLQ==} + resolution: + { integrity: sha512-kig+rMn/QOVRvr7c86gQ8lWXq+Hkv6CbAH1hLu+RG338StTpE8Z0b44SDVaqVu7HGKf27frdmUYEs9hTUX/cLQ== } html-escaper@2.0.2: - resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} + resolution: + { integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== } html-escaper@3.0.3: - resolution: {integrity: sha512-RuMffC89BOWQoY0WKGpIhn5gX3iI54O6nRA0yC124NYVtzjmFWBIiFd8M0x+ZdX0P9R4lADg1mgP8C7PxGOWuQ==} + resolution: + { integrity: sha512-RuMffC89BOWQoY0WKGpIhn5gX3iI54O6nRA0yC124NYVtzjmFWBIiFd8M0x+ZdX0P9R4lADg1mgP8C7PxGOWuQ== } html-minifier-next@5.2.0: - resolution: {integrity: sha512-11wQG8dw+sIEdIt8LNBdV8R8nyXwAX4ni8WSpTdulP3RN4evUSx12cwe0FuO9HRsteBTKUUlKZkS/2XRBSYfLg==} + resolution: + { integrity: sha512-11wQG8dw+sIEdIt8LNBdV8R8nyXwAX4ni8WSpTdulP3RN4evUSx12cwe0FuO9HRsteBTKUUlKZkS/2XRBSYfLg== } hasBin: true peerDependencies: - '@swc/core': ^1.15.7 + "@swc/core": ^1.15.7 peerDependenciesMeta: - '@swc/core': + "@swc/core": optional: true http-cache-semantics@4.2.0: - resolution: {integrity: sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==} + resolution: + { integrity: sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ== } http-errors@2.0.0: - resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} - engines: {node: '>= 0.8'} + resolution: + { integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ== } + engines: { node: ">= 0.8" } http-errors@2.0.1: - resolution: {integrity: sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==} - engines: {node: '>= 0.8'} + resolution: + { integrity: sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ== } + engines: { node: ">= 0.8" } http-proxy-agent@7.0.2: - resolution: {integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==} - engines: {node: '>= 14'} + resolution: + { integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig== } + engines: { node: ">= 14" } http2-wrapper@1.0.3: - resolution: {integrity: sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==} - engines: {node: '>=10.19.0'} + resolution: + { integrity: sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg== } + engines: { node: ">=10.19.0" } https-proxy-agent@7.0.6: - resolution: {integrity: sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==} - engines: {node: '>= 14'} + resolution: + { integrity: sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw== } + engines: { node: ">= 14" } human-signals@2.1.0: - resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} - engines: {node: '>=10.17.0'} + resolution: + { integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== } + engines: { node: ">=10.17.0" } husky@9.1.7: - resolution: {integrity: sha512-5gs5ytaNjBrh5Ow3zrvdUUY+0VxIuWVL4i9irt6friV+BqdCfmV11CQTWMiBYWHbXhco+J1kHfTOUkePhCDvMA==} - engines: {node: '>=18'} + resolution: + { integrity: sha512-5gs5ytaNjBrh5Ow3zrvdUUY+0VxIuWVL4i9irt6friV+BqdCfmV11CQTWMiBYWHbXhco+J1kHfTOUkePhCDvMA== } + engines: { node: ">=18" } hasBin: true iconv-lite@0.6.3: - resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} - engines: {node: '>=0.10.0'} + resolution: + { integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== } + engines: { node: ">=0.10.0" } iconv-lite@0.7.1: - resolution: {integrity: sha512-2Tth85cXwGFHfvRgZWszZSvdo+0Xsqmw8k8ZwxScfcBneNUraK+dxRxRm24nszx80Y0TVio8kKLt5sLE7ZCLlw==} - engines: {node: '>=0.10.0'} + resolution: + { integrity: sha512-2Tth85cXwGFHfvRgZWszZSvdo+0Xsqmw8k8ZwxScfcBneNUraK+dxRxRm24nszx80Y0TVio8kKLt5sLE7ZCLlw== } + engines: { node: ">=0.10.0" } ieee754@1.2.1: - resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} + resolution: + { integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== } ignore-by-default@1.0.1: - resolution: {integrity: sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA==} + resolution: + { integrity: sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA== } ignore-walk@8.0.0: - resolution: {integrity: sha512-FCeMZT4NiRQGh+YkeKMtWrOmBgWjHjMJ26WQWrRQyoyzqevdaGSakUaJW5xQYmjLlUVk2qUnCjYVBax9EKKg8A==} - engines: {node: ^20.17.0 || >=22.9.0} + resolution: + { integrity: sha512-FCeMZT4NiRQGh+YkeKMtWrOmBgWjHjMJ26WQWrRQyoyzqevdaGSakUaJW5xQYmjLlUVk2qUnCjYVBax9EKKg8A== } + engines: { node: ^20.17.0 || >=22.9.0 } ignore@5.3.1: - resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} - engines: {node: '>= 4'} + resolution: + { integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw== } + engines: { node: ">= 4" } ignore@7.0.5: - resolution: {integrity: sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==} - engines: {node: '>= 4'} + resolution: + { integrity: sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg== } + engines: { node: ">= 4" } immutable@5.1.5: - resolution: {integrity: sha512-t7xcm2siw+hlUM68I+UEOK+z84RzmN59as9DZ7P1l0994DKUWV7UXBMQZVxaoMSRQ+PBZbHCOoBt7a2wxOMt+A==} + resolution: + { integrity: sha512-t7xcm2siw+hlUM68I+UEOK+z84RzmN59as9DZ7P1l0994DKUWV7UXBMQZVxaoMSRQ+PBZbHCOoBt7a2wxOMt+A== } import-fresh@3.3.0: - resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} - engines: {node: '>=6'} + resolution: + { integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== } + engines: { node: ">=6" } import-local@3.1.0: - resolution: {integrity: sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg== } + engines: { node: ">=8" } hasBin: true import-meta-resolve@4.0.0: - resolution: {integrity: sha512-okYUR7ZQPH+efeuMJGlq4f8ubUgO50kByRPyt/Cy1Io4PSRsPjxME+YlVaCOx+NIToW7hCsZNFJyTPFFKepRSA==} + resolution: + { integrity: sha512-okYUR7ZQPH+efeuMJGlq4f8ubUgO50kByRPyt/Cy1Io4PSRsPjxME+YlVaCOx+NIToW7hCsZNFJyTPFFKepRSA== } imurmurhash@0.1.4: - resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} - engines: {node: '>=0.8.19'} + resolution: + { integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== } + engines: { node: ">=0.8.19" } indent-string@4.0.0: - resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== } + engines: { node: ">=8" } inflight@1.0.6: - resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + resolution: + { integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== } deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. inherits@2.0.4: - resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + resolution: + { integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== } ini@1.3.8: - resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} + resolution: + { integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== } ini@4.1.1: - resolution: {integrity: sha512-QQnnxNyfvmHFIsj7gkPcYymR8Jdw/o7mp5ZFihxn6h8Ci6fh3Dx4E1gPjpQEpIuPo9XVNY/ZUwh4BPMjGyL01g==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + resolution: + { integrity: sha512-QQnnxNyfvmHFIsj7gkPcYymR8Jdw/o7mp5ZFihxn6h8Ci6fh3Dx4E1gPjpQEpIuPo9XVNY/ZUwh4BPMjGyL01g== } + engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } ini@4.1.3: - resolution: {integrity: sha512-X7rqawQBvfdjS10YU1y1YVreA3SsLrW9dX2CewP2EbBJM4ypVNLDkO5y04gejPwKIY9lR+7r9gn3rFPt/kmWFg==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + resolution: + { integrity: sha512-X7rqawQBvfdjS10YU1y1YVreA3SsLrW9dX2CewP2EbBJM4ypVNLDkO5y04gejPwKIY9lR+7r9gn3rFPt/kmWFg== } + engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } ini@5.0.0: - resolution: {integrity: sha512-+N0ngpO3e7cRUWOJAS7qw0IZIVc6XPrW4MlFBdD066F2L4k1L6ker3hLqSq7iXxU5tgS4WGkIUElWn5vogAEnw==} - engines: {node: ^18.17.0 || >=20.5.0} + resolution: + { integrity: sha512-+N0ngpO3e7cRUWOJAS7qw0IZIVc6XPrW4MlFBdD066F2L4k1L6ker3hLqSq7iXxU5tgS4WGkIUElWn5vogAEnw== } + engines: { node: ^18.17.0 || >=20.5.0 } ini@6.0.0: - resolution: {integrity: sha512-IBTdIkzZNOpqm7q3dRqJvMaldXjDHWkEDfrwGEQTs5eaQMWV+djAhR+wahyNNMAa+qpbDUhBMVt4ZKNwpPm7xQ==} - engines: {node: ^20.17.0 || >=22.9.0} + resolution: + { integrity: sha512-IBTdIkzZNOpqm7q3dRqJvMaldXjDHWkEDfrwGEQTs5eaQMWV+djAhR+wahyNNMAa+qpbDUhBMVt4ZKNwpPm7xQ== } + engines: { node: ^20.17.0 || >=22.9.0 } init-package-json@8.2.2: - resolution: {integrity: sha512-pXVMn67Jdw2hPKLCuJZj62NC9B2OIDd1R3JwZXTHXuEnfN3Uq5kJbKOSld6YEU+KOGfMD82EzxFTYz5o0SSJoA==} - engines: {node: ^20.17.0 || >=22.9.0} + resolution: + { integrity: sha512-pXVMn67Jdw2hPKLCuJZj62NC9B2OIDd1R3JwZXTHXuEnfN3Uq5kJbKOSld6YEU+KOGfMD82EzxFTYz5o0SSJoA== } + engines: { node: ^20.17.0 || >=22.9.0 } inquirer@12.9.6: - resolution: {integrity: sha512-603xXOgyfxhuis4nfnWaZrMaotNT0Km9XwwBNWUKbIDqeCY89jGr2F9YPEMiNhU6XjIP4VoWISMBFfcc5NgrTw==} - engines: {node: '>=18'} + resolution: + { integrity: sha512-603xXOgyfxhuis4nfnWaZrMaotNT0Km9XwwBNWUKbIDqeCY89jGr2F9YPEMiNhU6XjIP4VoWISMBFfcc5NgrTw== } + engines: { node: ">=18" } peerDependencies: - '@types/node': '>=18' + "@types/node": ">=18" peerDependenciesMeta: - '@types/node': + "@types/node": optional: true interpret@3.1.1: - resolution: {integrity: sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==} - engines: {node: '>=10.13.0'} + resolution: + { integrity: sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ== } + engines: { node: ">=10.13.0" } ip-address@10.1.0: - resolution: {integrity: sha512-XXADHxXmvT9+CRxhXg56LJovE+bmWnEWB78LB83VZTprKTmaC5QfruXocxzTZ2Kl0DNwKuBdlIhjL8LeY8Sf8Q==} - engines: {node: '>= 12'} + resolution: + { integrity: sha512-XXADHxXmvT9+CRxhXg56LJovE+bmWnEWB78LB83VZTprKTmaC5QfruXocxzTZ2Kl0DNwKuBdlIhjL8LeY8Sf8Q== } + engines: { node: ">= 12" } ipaddr.js@1.9.1: - resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} - engines: {node: '>= 0.10'} + resolution: + { integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== } + engines: { node: ">= 0.10" } is-arrayish@0.2.1: - resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} + resolution: + { integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== } is-binary-path@2.1.0: - resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== } + engines: { node: ">=8" } is-ci@3.0.1: - resolution: {integrity: sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==} + resolution: + { integrity: sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ== } hasBin: true is-core-module@2.16.1: - resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==} - engines: {node: '>= 0.4'} + resolution: + { integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w== } + engines: { node: ">= 0.4" } is-docker@2.2.1: - resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== } + engines: { node: ">=8" } hasBin: true is-expression@4.0.0: - resolution: {integrity: sha512-zMIXX63sxzG3XrkHkrAPvm/OVZVSCPNkwMHU8oTX7/U3AL78I0QXCEICXUM13BIa8TYGZ68PiTKfQz3yaTNr4A==} + resolution: + { integrity: sha512-zMIXX63sxzG3XrkHkrAPvm/OVZVSCPNkwMHU8oTX7/U3AL78I0QXCEICXUM13BIa8TYGZ68PiTKfQz3yaTNr4A== } is-extglob@2.1.1: - resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} - engines: {node: '>=0.10.0'} + resolution: + { integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== } + engines: { node: ">=0.10.0" } is-fullwidth-code-point@3.0.0: - resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== } + engines: { node: ">=8" } is-glob@4.0.3: - resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} - engines: {node: '>=0.10.0'} + resolution: + { integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== } + engines: { node: ">=0.10.0" } is-installed-globally@1.0.0: - resolution: {integrity: sha512-K55T22lfpQ63N4KEN57jZUAaAYqYHEe8veb/TycJRk9DdSCLLcovXz/mL6mOnhQaZsQGwPhuFopdQIlqGSEjiQ==} - engines: {node: '>=18'} + resolution: + { integrity: sha512-K55T22lfpQ63N4KEN57jZUAaAYqYHEe8veb/TycJRk9DdSCLLcovXz/mL6mOnhQaZsQGwPhuFopdQIlqGSEjiQ== } + engines: { node: ">=18" } is-interactive@1.0.0: - resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w== } + engines: { node: ">=8" } is-number@7.0.0: - resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} - engines: {node: '>=0.12.0'} + resolution: + { integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== } + engines: { node: ">=0.12.0" } is-obj@2.0.0: - resolution: {integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w== } + engines: { node: ">=8" } is-path-inside@4.0.0: - resolution: {integrity: sha512-lJJV/5dYS+RcL8uQdBDW9c9uWFLLBNRyFhnAKXw5tVqLlKZ4RMGZKv+YQ/IA3OhD+RpbJa1LLFM1FQPGyIXvOA==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-lJJV/5dYS+RcL8uQdBDW9c9uWFLLBNRyFhnAKXw5tVqLlKZ4RMGZKv+YQ/IA3OhD+RpbJa1LLFM1FQPGyIXvOA== } + engines: { node: ">=12" } is-plain-obj@1.1.0: - resolution: {integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==} - engines: {node: '>=0.10.0'} + resolution: + { integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg== } + engines: { node: ">=0.10.0" } is-plain-obj@4.1.0: - resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg== } + engines: { node: ">=12" } is-plain-object@2.0.4: - resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==} - engines: {node: '>=0.10.0'} + resolution: + { integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== } + engines: { node: ">=0.10.0" } is-potential-custom-element-name@1.0.1: - resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==} + resolution: + { integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ== } is-promise@2.2.2: - resolution: {integrity: sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==} + resolution: + { integrity: sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ== } is-promise@4.0.0: - resolution: {integrity: sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==} + resolution: + { integrity: sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ== } is-regex@1.1.4: - resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} - engines: {node: '>= 0.4'} + resolution: + { integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== } + engines: { node: ">= 0.4" } is-ssh@1.4.0: - resolution: {integrity: sha512-x7+VxdxOdlV3CYpjvRLBv5Lo9OJerlYanjwFrPR9fuGPjCiNiCzFgAWpiLAohSbsnH4ZAys3SBh+hq5rJosxUQ==} + resolution: + { integrity: sha512-x7+VxdxOdlV3CYpjvRLBv5Lo9OJerlYanjwFrPR9fuGPjCiNiCzFgAWpiLAohSbsnH4ZAys3SBh+hq5rJosxUQ== } is-stream@2.0.1: - resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== } + engines: { node: ">=8" } is-text-path@1.0.1: - resolution: {integrity: sha512-xFuJpne9oFz5qDaodwmmG08e3CawH/2ZV8Qqza1Ko7Sk8POWbkRdwIoAWVhqvq0XeUzANEhKo2n0IXUGBm7A/w==} - engines: {node: '>=0.10.0'} + resolution: + { integrity: sha512-xFuJpne9oFz5qDaodwmmG08e3CawH/2ZV8Qqza1Ko7Sk8POWbkRdwIoAWVhqvq0XeUzANEhKo2n0IXUGBm7A/w== } + engines: { node: ">=0.10.0" } is-unicode-supported@0.1.0: - resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw== } + engines: { node: ">=10" } is-wsl@2.2.0: - resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== } + engines: { node: ">=8" } isarray@0.0.1: - resolution: {integrity: sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==} + resolution: + { integrity: sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ== } isarray@1.0.0: - resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} + resolution: + { integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== } isexe@2.0.0: - resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + resolution: + { integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== } isexe@3.1.1: - resolution: {integrity: sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==} - engines: {node: '>=16'} + resolution: + { integrity: sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ== } + engines: { node: ">=16" } isobject@3.0.1: - resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==} - engines: {node: '>=0.10.0'} + resolution: + { integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg== } + engines: { node: ">=0.10.0" } istanbul-lib-coverage@3.2.2: - resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg== } + engines: { node: ">=8" } istanbul-lib-report@3.0.1: - resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw== } + engines: { node: ">=10" } istanbul-reports@3.2.0: - resolution: {integrity: sha512-HGYWWS/ehqTV3xN10i23tkPkpH46MLCIMFNCaaKNavAXTF1RkqxawEPtnjnGZ6XKSInBKkiOA5BKS+aZiY3AvA==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-HGYWWS/ehqTV3xN10i23tkPkpH46MLCIMFNCaaKNavAXTF1RkqxawEPtnjnGZ6XKSInBKkiOA5BKS+aZiY3AvA== } + engines: { node: ">=8" } jackspeak@3.4.3: - resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} + resolution: + { integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw== } jackspeak@4.1.1: - resolution: {integrity: sha512-zptv57P3GpL+O0I7VdMJNBZCu+BPHVQUk55Ft8/QCJjTVxrnJHuVuX/0Bl2A6/+2oyR/ZMEuFKwmzqqZ/U5nPQ==} - engines: {node: 20 || >=22} + resolution: + { integrity: sha512-zptv57P3GpL+O0I7VdMJNBZCu+BPHVQUk55Ft8/QCJjTVxrnJHuVuX/0Bl2A6/+2oyR/ZMEuFKwmzqqZ/U5nPQ== } + engines: { node: 20 || >=22 } jake@10.8.7: - resolution: {integrity: sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w== } + engines: { node: ">=10" } hasBin: true javascript-natural-sort@0.7.1: - resolution: {integrity: sha512-nO6jcEfZWQXDhOiBtG2KvKyEptz7RVbpGP4vTD2hLBdmNQSsCiicO2Ioinv6UI4y9ukqnBpy+XZ9H6uLNgJTlw==} + resolution: + { integrity: sha512-nO6jcEfZWQXDhOiBtG2KvKyEptz7RVbpGP4vTD2hLBdmNQSsCiicO2Ioinv6UI4y9ukqnBpy+XZ9H6uLNgJTlw== } jest-diff@30.2.0: - resolution: {integrity: sha512-dQHFo3Pt4/NLlG5z4PxZ/3yZTZ1C7s9hveiOj+GCN+uT109NC2QgsoVZsVOAvbJ3RgKkvyLGXZV9+piDpWbm6A==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + resolution: + { integrity: sha512-dQHFo3Pt4/NLlG5z4PxZ/3yZTZ1C7s9hveiOj+GCN+uT109NC2QgsoVZsVOAvbJ3RgKkvyLGXZV9+piDpWbm6A== } + engines: { node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0 } jest-worker@27.5.1: - resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} - engines: {node: '>= 10.13.0'} + resolution: + { integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg== } + engines: { node: ">= 10.13.0" } jiti@2.6.1: - resolution: {integrity: sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==} + resolution: + { integrity: sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ== } hasBin: true jju@1.4.0: - resolution: {integrity: sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==} + resolution: + { integrity: sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA== } jmespath@0.16.0: - resolution: {integrity: sha512-9FzQjJ7MATs1tSpnco1K6ayiYE3figslrXA72G2HQ/n76RzvYlofyi5QM+iX4YRs/pu3yzxlVQSST23+dMDknw==} - engines: {node: '>= 0.6.0'} + resolution: + { integrity: sha512-9FzQjJ7MATs1tSpnco1K6ayiYE3figslrXA72G2HQ/n76RzvYlofyi5QM+iX4YRs/pu3yzxlVQSST23+dMDknw== } + engines: { node: ">= 0.6.0" } jquery@4.0.0: - resolution: {integrity: sha512-TXCHVR3Lb6TZdtw1l3RTLf8RBWVGexdxL6AC8/e0xZKEpBflBsjh9/8LXw+dkNFuOyW9B7iB3O1sP7hS0Kiacg==} + resolution: + { integrity: sha512-TXCHVR3Lb6TZdtw1l3RTLf8RBWVGexdxL6AC8/e0xZKEpBflBsjh9/8LXw+dkNFuOyW9B7iB3O1sP7hS0Kiacg== } js-stringify@1.0.2: - resolution: {integrity: sha512-rtS5ATOo2Q5k1G+DADISilDA6lv79zIiwFd6CcjuIxGKLFm5C+RLImRscVap9k55i+MOZwgliw+NejvkLuGD5g==} + resolution: + { integrity: sha512-rtS5ATOo2Q5k1G+DADISilDA6lv79zIiwFd6CcjuIxGKLFm5C+RLImRscVap9k55i+MOZwgliw+NejvkLuGD5g== } js-tokens@10.0.0: - resolution: {integrity: sha512-lM/UBzQmfJRo9ABXbPWemivdCW8V2G8FHaHdypQaIy523snUjog0W71ayWXTjiR+ixeMyVHN2XcpnTd/liPg/Q==} + resolution: + { integrity: sha512-lM/UBzQmfJRo9ABXbPWemivdCW8V2G8FHaHdypQaIy523snUjog0W71ayWXTjiR+ixeMyVHN2XcpnTd/liPg/Q== } js-tokens@4.0.0: - resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + resolution: + { integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== } js-yaml@3.14.1: - resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} + resolution: + { integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== } hasBin: true js-yaml@4.1.1: - resolution: {integrity: sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==} + resolution: + { integrity: sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA== } hasBin: true jsdoc-type-pratt-parser@7.1.1: - resolution: {integrity: sha512-/2uqY7x6bsrpi3i9LVU6J89352C0rpMk0as8trXxCtvd4kPk1ke/Eyif6wqfSLvoNJqcDG9Vk4UsXgygzCt2xA==} - engines: {node: '>=20.0.0'} + resolution: + { integrity: sha512-/2uqY7x6bsrpi3i9LVU6J89352C0rpMk0as8trXxCtvd4kPk1ke/Eyif6wqfSLvoNJqcDG9Vk4UsXgygzCt2xA== } + engines: { node: ">=20.0.0" } jsdom-global@3.0.2: - resolution: {integrity: sha512-t1KMcBkz/pT5JrvcJbpUR2u/w1kO9jXctaaGJ0vZDzwFnIvGWw9IDSRciT83kIs8Bnw4qpOl8bQK08V01YgMPg==} + resolution: + { integrity: sha512-t1KMcBkz/pT5JrvcJbpUR2u/w1kO9jXctaaGJ0vZDzwFnIvGWw9IDSRciT83kIs8Bnw4qpOl8bQK08V01YgMPg== } peerDependencies: - jsdom: '>=10.0.0' + jsdom: ">=10.0.0" jsdom@29.0.1: - resolution: {integrity: sha512-z6JOK5gRO7aMybVq/y/MlIpKh8JIi68FBKMUtKkK2KH/wMSRlCxQ682d08LB9fYXplyY/UXG8P4XXTScmdjApg==} - engines: {node: ^20.19.0 || ^22.13.0 || >=24.0.0} + resolution: + { integrity: sha512-z6JOK5gRO7aMybVq/y/MlIpKh8JIi68FBKMUtKkK2KH/wMSRlCxQ682d08LB9fYXplyY/UXG8P4XXTScmdjApg== } + engines: { node: ^20.19.0 || ^22.13.0 || >=24.0.0 } peerDependencies: canvas: ^3.0.0 peerDependenciesMeta: @@ -6090,621 +6943,773 @@ packages: optional: true json-buffer@3.0.1: - resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} + resolution: + { integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== } json-parse-better-errors@1.0.2: - resolution: {integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==} + resolution: + { integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== } json-parse-even-better-errors@2.3.1: - resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} + resolution: + { integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== } json-parse-even-better-errors@4.0.0: - resolution: {integrity: sha512-lR4MXjGNgkJc7tkQ97kb2nuEMnNCyU//XYVH0MKTGcXEiSudQ5MKGKen3C5QubYy0vmq+JGitUg92uuywGEwIA==} - engines: {node: ^18.17.0 || >=20.5.0} + resolution: + { integrity: sha512-lR4MXjGNgkJc7tkQ97kb2nuEMnNCyU//XYVH0MKTGcXEiSudQ5MKGKen3C5QubYy0vmq+JGitUg92uuywGEwIA== } + engines: { node: ^18.17.0 || >=20.5.0 } json-parse-even-better-errors@5.0.0: - resolution: {integrity: sha512-ZF1nxZ28VhQouRWhUcVlUIN3qwSgPuswK05s/HIaoetAoE/9tngVmCHjSxmSQPav1nd+lPtTL0YZ/2AFdR/iYQ==} - engines: {node: ^20.17.0 || >=22.9.0} + resolution: + { integrity: sha512-ZF1nxZ28VhQouRWhUcVlUIN3qwSgPuswK05s/HIaoetAoE/9tngVmCHjSxmSQPav1nd+lPtTL0YZ/2AFdR/iYQ== } + engines: { node: ^20.17.0 || >=22.9.0 } json-schema-traverse@0.4.1: - resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + resolution: + { integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== } json-schema-traverse@1.0.0: - resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} + resolution: + { integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== } json-source-map@0.6.1: - resolution: {integrity: sha512-1QoztHPsMQqhDq0hlXY5ZqcEdUzxQEIxgFkKl4WUp2pgShObl+9ovi4kRh2TfvAfxAoHOJ9vIMEqk3k4iex7tg==} + resolution: + { integrity: sha512-1QoztHPsMQqhDq0hlXY5ZqcEdUzxQEIxgFkKl4WUp2pgShObl+9ovi4kRh2TfvAfxAoHOJ9vIMEqk3k4iex7tg== } json-stable-stringify-without-jsonify@1.0.1: - resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} + resolution: + { integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== } json-stringify-nice@1.1.4: - resolution: {integrity: sha512-5Z5RFW63yxReJ7vANgW6eZFGWaQvnPE3WNmZoOJrSkGju2etKA2L5rrOa1sm877TVTFt57A80BH1bArcmlLfPw==} + resolution: + { integrity: sha512-5Z5RFW63yxReJ7vANgW6eZFGWaQvnPE3WNmZoOJrSkGju2etKA2L5rrOa1sm877TVTFt57A80BH1bArcmlLfPw== } json-stringify-safe@5.0.1: - resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==} + resolution: + { integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA== } json5@2.2.3: - resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} - engines: {node: '>=6'} + resolution: + { integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== } + engines: { node: ">=6" } hasBin: true jsonc-parser@3.2.0: - resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==} + resolution: + { integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w== } jsoneditor@10.4.2: - resolution: {integrity: sha512-SQPCXlanU4PqdVsYuj2X7yfbLiiJYjklbksGfMKPsuwLhAIPxDlG43jYfXieGXvxpuq1fkw08YoRbkKXKabcLA==} + resolution: + { integrity: sha512-SQPCXlanU4PqdVsYuj2X7yfbLiiJYjklbksGfMKPsuwLhAIPxDlG43jYfXieGXvxpuq1fkw08YoRbkKXKabcLA== } jsonfile@4.0.0: - resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} + resolution: + { integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg== } jsonfile@6.1.0: - resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} + resolution: + { integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== } jsonparse@1.3.1: - resolution: {integrity: sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==} - engines: {'0': node >= 0.2.0} + resolution: + { integrity: sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg== } + engines: { "0": node >= 0.2.0 } jsonrepair@3.13.1: - resolution: {integrity: sha512-WJeiE0jGfxYmtLwBTEk8+y/mYcaleyLXWaqp5bJu0/ZTSeG0KQq/wWQ8pmnkKenEdN6pdnn6QtcoSUkbqDHWNw==} + resolution: + { integrity: sha512-WJeiE0jGfxYmtLwBTEk8+y/mYcaleyLXWaqp5bJu0/ZTSeG0KQq/wWQ8pmnkKenEdN6pdnn6QtcoSUkbqDHWNw== } hasBin: true jstransformer@1.0.0: - resolution: {integrity: sha512-C9YK3Rf8q6VAPDCCU9fnqo3mAfOH6vUGnMcP4AQAYIEpWtfGLpwOTmZ+igtdK5y+VvI2n3CyYSzy4Qh34eq24A==} + resolution: + { integrity: sha512-C9YK3Rf8q6VAPDCCU9fnqo3mAfOH6vUGnMcP4AQAYIEpWtfGLpwOTmZ+igtdK5y+VvI2n3CyYSzy4Qh34eq24A== } just-diff-apply@5.5.0: - resolution: {integrity: sha512-OYTthRfSh55WOItVqwpefPtNt2VdKsq5AnAK6apdtR6yCH8pr0CmSr710J0Mf+WdQy7K/OzMy7K2MgAfdQURDw==} + resolution: + { integrity: sha512-OYTthRfSh55WOItVqwpefPtNt2VdKsq5AnAK6apdtR6yCH8pr0CmSr710J0Mf+WdQy7K/OzMy7K2MgAfdQURDw== } just-diff@6.0.2: - resolution: {integrity: sha512-S59eriX5u3/QhMNq3v/gm8Kd0w8OS6Tz2FS1NG4blv+z0MuQcBRJyFWjdovM0Rad4/P4aUPFtnkNjMjyMlMSYA==} + resolution: + { integrity: sha512-S59eriX5u3/QhMNq3v/gm8Kd0w8OS6Tz2FS1NG4blv+z0MuQcBRJyFWjdovM0Rad4/P4aUPFtnkNjMjyMlMSYA== } keyv@4.5.4: - resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} + resolution: + { integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw== } kind-of@6.0.3: - resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} - engines: {node: '>=0.10.0'} + resolution: + { integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== } + engines: { node: ">=0.10.0" } klaw@4.1.0: - resolution: {integrity: sha512-1zGZ9MF9H22UnkpVeuaGKOjfA2t6WrfdrJmGjy16ykcjnKQDmHVX+KI477rpbGevz/5FD4MC3xf1oxylBgcaQw==} - engines: {node: '>=14.14.0'} + resolution: + { integrity: sha512-1zGZ9MF9H22UnkpVeuaGKOjfA2t6WrfdrJmGjy16ykcjnKQDmHVX+KI477rpbGevz/5FD4MC3xf1oxylBgcaQw== } + engines: { node: ">=14.14.0" } kleur@3.0.3: - resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} - engines: {node: '>=6'} + resolution: + { integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== } + engines: { node: ">=6" } kuler@2.0.0: - resolution: {integrity: sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A==} + resolution: + { integrity: sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A== } lerna@9.0.7: - resolution: {integrity: sha512-PMjbSWYfwL1yZ5c1D2PZuFyzmtYhLdn0f76uG8L25g6eYy34j+2jPb4Q6USx1UJvxVtxkdVEeAAWS/WxgJ8VZA==} - engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0} + resolution: + { integrity: sha512-PMjbSWYfwL1yZ5c1D2PZuFyzmtYhLdn0f76uG8L25g6eYy34j+2jPb4Q6USx1UJvxVtxkdVEeAAWS/WxgJ8VZA== } + engines: { node: ^20.19.0 || ^22.12.0 || >=24.0.0 } hasBin: true levn@0.4.1: - resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} - engines: {node: '>= 0.8.0'} + resolution: + { integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== } + engines: { node: ">= 0.8.0" } libnpmaccess@10.0.3: - resolution: {integrity: sha512-JPHTfWJxIK+NVPdNMNGnkz4XGX56iijPbe0qFWbdt68HL+kIvSzh+euBL8npLZvl2fpaxo+1eZSdoG15f5YdIQ==} - engines: {node: ^20.17.0 || >=22.9.0} + resolution: + { integrity: sha512-JPHTfWJxIK+NVPdNMNGnkz4XGX56iijPbe0qFWbdt68HL+kIvSzh+euBL8npLZvl2fpaxo+1eZSdoG15f5YdIQ== } + engines: { node: ^20.17.0 || >=22.9.0 } libnpmpublish@11.1.2: - resolution: {integrity: sha512-tNcU3cLH7toloAzhOOrBDhjzgbxpyuYvkf+BPPnnJCdc5EIcdJ8JcT+SglvCQKKyZ6m9dVXtCVlJcA6csxKdEA==} - engines: {node: ^20.17.0 || >=22.9.0} + resolution: + { integrity: sha512-tNcU3cLH7toloAzhOOrBDhjzgbxpyuYvkf+BPPnnJCdc5EIcdJ8JcT+SglvCQKKyZ6m9dVXtCVlJcA6csxKdEA== } + engines: { node: ^20.17.0 || >=22.9.0 } lightningcss-android-arm64@1.30.2: - resolution: {integrity: sha512-BH9sEdOCahSgmkVhBLeU7Hc9DWeZ1Eb6wNS6Da8igvUwAe0sqROHddIlvU06q3WyXVEOYDZ6ykBZQnjTbmo4+A==} - engines: {node: '>= 12.0.0'} + resolution: + { integrity: sha512-BH9sEdOCahSgmkVhBLeU7Hc9DWeZ1Eb6wNS6Da8igvUwAe0sqROHddIlvU06q3WyXVEOYDZ6ykBZQnjTbmo4+A== } + engines: { node: ">= 12.0.0" } cpu: [arm64] os: [android] lightningcss-android-arm64@1.32.0: - resolution: {integrity: sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg==} - engines: {node: '>= 12.0.0'} + resolution: + { integrity: sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg== } + engines: { node: ">= 12.0.0" } cpu: [arm64] os: [android] lightningcss-darwin-arm64@1.30.2: - resolution: {integrity: sha512-ylTcDJBN3Hp21TdhRT5zBOIi73P6/W0qwvlFEk22fkdXchtNTOU4Qc37SkzV+EKYxLouZ6M4LG9NfZ1qkhhBWA==} - engines: {node: '>= 12.0.0'} + resolution: + { integrity: sha512-ylTcDJBN3Hp21TdhRT5zBOIi73P6/W0qwvlFEk22fkdXchtNTOU4Qc37SkzV+EKYxLouZ6M4LG9NfZ1qkhhBWA== } + engines: { node: ">= 12.0.0" } cpu: [arm64] os: [darwin] lightningcss-darwin-arm64@1.32.0: - resolution: {integrity: sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ==} - engines: {node: '>= 12.0.0'} + resolution: + { integrity: sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ== } + engines: { node: ">= 12.0.0" } cpu: [arm64] os: [darwin] lightningcss-darwin-x64@1.30.2: - resolution: {integrity: sha512-oBZgKchomuDYxr7ilwLcyms6BCyLn0z8J0+ZZmfpjwg9fRVZIR5/GMXd7r9RH94iDhld3UmSjBM6nXWM2TfZTQ==} - engines: {node: '>= 12.0.0'} + resolution: + { integrity: sha512-oBZgKchomuDYxr7ilwLcyms6BCyLn0z8J0+ZZmfpjwg9fRVZIR5/GMXd7r9RH94iDhld3UmSjBM6nXWM2TfZTQ== } + engines: { node: ">= 12.0.0" } cpu: [x64] os: [darwin] lightningcss-darwin-x64@1.32.0: - resolution: {integrity: sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w==} - engines: {node: '>= 12.0.0'} + resolution: + { integrity: sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w== } + engines: { node: ">= 12.0.0" } cpu: [x64] os: [darwin] lightningcss-freebsd-x64@1.30.2: - resolution: {integrity: sha512-c2bH6xTrf4BDpK8MoGG4Bd6zAMZDAXS569UxCAGcA7IKbHNMlhGQ89eRmvpIUGfKWNVdbhSbkQaWhEoMGmGslA==} - engines: {node: '>= 12.0.0'} + resolution: + { integrity: sha512-c2bH6xTrf4BDpK8MoGG4Bd6zAMZDAXS569UxCAGcA7IKbHNMlhGQ89eRmvpIUGfKWNVdbhSbkQaWhEoMGmGslA== } + engines: { node: ">= 12.0.0" } cpu: [x64] os: [freebsd] lightningcss-freebsd-x64@1.32.0: - resolution: {integrity: sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig==} - engines: {node: '>= 12.0.0'} + resolution: + { integrity: sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig== } + engines: { node: ">= 12.0.0" } cpu: [x64] os: [freebsd] lightningcss-linux-arm-gnueabihf@1.30.2: - resolution: {integrity: sha512-eVdpxh4wYcm0PofJIZVuYuLiqBIakQ9uFZmipf6LF/HRj5Bgm0eb3qL/mr1smyXIS1twwOxNWndd8z0E374hiA==} - engines: {node: '>= 12.0.0'} + resolution: + { integrity: sha512-eVdpxh4wYcm0PofJIZVuYuLiqBIakQ9uFZmipf6LF/HRj5Bgm0eb3qL/mr1smyXIS1twwOxNWndd8z0E374hiA== } + engines: { node: ">= 12.0.0" } cpu: [arm] os: [linux] lightningcss-linux-arm-gnueabihf@1.32.0: - resolution: {integrity: sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw==} - engines: {node: '>= 12.0.0'} + resolution: + { integrity: sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw== } + engines: { node: ">= 12.0.0" } cpu: [arm] os: [linux] lightningcss-linux-arm64-gnu@1.30.2: - resolution: {integrity: sha512-UK65WJAbwIJbiBFXpxrbTNArtfuznvxAJw4Q2ZGlU8kPeDIWEX1dg3rn2veBVUylA2Ezg89ktszWbaQnxD/e3A==} - engines: {node: '>= 12.0.0'} + resolution: + { integrity: sha512-UK65WJAbwIJbiBFXpxrbTNArtfuznvxAJw4Q2ZGlU8kPeDIWEX1dg3rn2veBVUylA2Ezg89ktszWbaQnxD/e3A== } + engines: { node: ">= 12.0.0" } cpu: [arm64] os: [linux] libc: [glibc] lightningcss-linux-arm64-gnu@1.32.0: - resolution: {integrity: sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ==} - engines: {node: '>= 12.0.0'} + resolution: + { integrity: sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ== } + engines: { node: ">= 12.0.0" } cpu: [arm64] os: [linux] libc: [glibc] lightningcss-linux-arm64-musl@1.30.2: - resolution: {integrity: sha512-5Vh9dGeblpTxWHpOx8iauV02popZDsCYMPIgiuw97OJ5uaDsL86cnqSFs5LZkG3ghHoX5isLgWzMs+eD1YzrnA==} - engines: {node: '>= 12.0.0'} + resolution: + { integrity: sha512-5Vh9dGeblpTxWHpOx8iauV02popZDsCYMPIgiuw97OJ5uaDsL86cnqSFs5LZkG3ghHoX5isLgWzMs+eD1YzrnA== } + engines: { node: ">= 12.0.0" } cpu: [arm64] os: [linux] libc: [musl] lightningcss-linux-arm64-musl@1.32.0: - resolution: {integrity: sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg==} - engines: {node: '>= 12.0.0'} + resolution: + { integrity: sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg== } + engines: { node: ">= 12.0.0" } cpu: [arm64] os: [linux] libc: [musl] lightningcss-linux-x64-gnu@1.30.2: - resolution: {integrity: sha512-Cfd46gdmj1vQ+lR6VRTTadNHu6ALuw2pKR9lYq4FnhvgBc4zWY1EtZcAc6EffShbb1MFrIPfLDXD6Xprbnni4w==} - engines: {node: '>= 12.0.0'} + resolution: + { integrity: sha512-Cfd46gdmj1vQ+lR6VRTTadNHu6ALuw2pKR9lYq4FnhvgBc4zWY1EtZcAc6EffShbb1MFrIPfLDXD6Xprbnni4w== } + engines: { node: ">= 12.0.0" } cpu: [x64] os: [linux] libc: [glibc] lightningcss-linux-x64-gnu@1.32.0: - resolution: {integrity: sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA==} - engines: {node: '>= 12.0.0'} + resolution: + { integrity: sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA== } + engines: { node: ">= 12.0.0" } cpu: [x64] os: [linux] libc: [glibc] lightningcss-linux-x64-musl@1.30.2: - resolution: {integrity: sha512-XJaLUUFXb6/QG2lGIW6aIk6jKdtjtcffUT0NKvIqhSBY3hh9Ch+1LCeH80dR9q9LBjG3ewbDjnumefsLsP6aiA==} - engines: {node: '>= 12.0.0'} + resolution: + { integrity: sha512-XJaLUUFXb6/QG2lGIW6aIk6jKdtjtcffUT0NKvIqhSBY3hh9Ch+1LCeH80dR9q9LBjG3ewbDjnumefsLsP6aiA== } + engines: { node: ">= 12.0.0" } cpu: [x64] os: [linux] libc: [musl] lightningcss-linux-x64-musl@1.32.0: - resolution: {integrity: sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg==} - engines: {node: '>= 12.0.0'} + resolution: + { integrity: sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg== } + engines: { node: ">= 12.0.0" } cpu: [x64] os: [linux] libc: [musl] lightningcss-win32-arm64-msvc@1.30.2: - resolution: {integrity: sha512-FZn+vaj7zLv//D/192WFFVA0RgHawIcHqLX9xuWiQt7P0PtdFEVaxgF9rjM/IRYHQXNnk61/H/gb2Ei+kUQ4xQ==} - engines: {node: '>= 12.0.0'} + resolution: + { integrity: sha512-FZn+vaj7zLv//D/192WFFVA0RgHawIcHqLX9xuWiQt7P0PtdFEVaxgF9rjM/IRYHQXNnk61/H/gb2Ei+kUQ4xQ== } + engines: { node: ">= 12.0.0" } cpu: [arm64] os: [win32] lightningcss-win32-arm64-msvc@1.32.0: - resolution: {integrity: sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw==} - engines: {node: '>= 12.0.0'} + resolution: + { integrity: sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw== } + engines: { node: ">= 12.0.0" } cpu: [arm64] os: [win32] lightningcss-win32-x64-msvc@1.30.2: - resolution: {integrity: sha512-5g1yc73p+iAkid5phb4oVFMB45417DkRevRbt/El/gKXJk4jid+vPFF/AXbxn05Aky8PapwzZrdJShv5C0avjw==} - engines: {node: '>= 12.0.0'} + resolution: + { integrity: sha512-5g1yc73p+iAkid5phb4oVFMB45417DkRevRbt/El/gKXJk4jid+vPFF/AXbxn05Aky8PapwzZrdJShv5C0avjw== } + engines: { node: ">= 12.0.0" } cpu: [x64] os: [win32] lightningcss-win32-x64-msvc@1.32.0: - resolution: {integrity: sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q==} - engines: {node: '>= 12.0.0'} + resolution: + { integrity: sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q== } + engines: { node: ">= 12.0.0" } cpu: [x64] os: [win32] lightningcss@1.30.2: - resolution: {integrity: sha512-utfs7Pr5uJyyvDETitgsaqSyjCb2qNRAtuqUeWIAKztsOYdcACf2KtARYXg2pSvhkt+9NfoaNY7fxjl6nuMjIQ==} - engines: {node: '>= 12.0.0'} + resolution: + { integrity: sha512-utfs7Pr5uJyyvDETitgsaqSyjCb2qNRAtuqUeWIAKztsOYdcACf2KtARYXg2pSvhkt+9NfoaNY7fxjl6nuMjIQ== } + engines: { node: ">= 12.0.0" } lightningcss@1.32.0: - resolution: {integrity: sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ==} - engines: {node: '>= 12.0.0'} + resolution: + { integrity: sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ== } + engines: { node: ">= 12.0.0" } lines-and-columns@1.2.4: - resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} + resolution: + { integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== } lines-and-columns@2.0.3: - resolution: {integrity: sha512-cNOjgCnLB+FnvWWtyRTzmB3POJ+cXxTA81LoW7u8JdmhfXzriropYwpjShnz1QLLWsQwY7nIxoDmcPTwphDK9w==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + resolution: + { integrity: sha512-cNOjgCnLB+FnvWWtyRTzmB3POJ+cXxTA81LoW7u8JdmhfXzriropYwpjShnz1QLLWsQwY7nIxoDmcPTwphDK9w== } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } linkify-it@5.0.0: - resolution: {integrity: sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==} + resolution: + { integrity: sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ== } livereload-js@4.0.2: - resolution: {integrity: sha512-Fy7VwgQNiOkynYyNBTo3v9hQUhcW5pFAheJN148+DTgpShjsy/22pLHKKwDK5v0kOsZsJBK+6q1PMgLvRmrwFQ==} + resolution: + { integrity: sha512-Fy7VwgQNiOkynYyNBTo3v9hQUhcW5pFAheJN148+DTgpShjsy/22pLHKKwDK5v0kOsZsJBK+6q1PMgLvRmrwFQ== } livereload@0.10.3: - resolution: {integrity: sha512-llSb8HrtSH7ByPFMc8WTTeW3oy++smwgSA8JVGzEn8KiDPESq6jt1M4ZKKkhKTrhn2wvUOadQq4ip10E5daZ3w==} - engines: {node: '>=8.0.0'} + resolution: + { integrity: sha512-llSb8HrtSH7ByPFMc8WTTeW3oy++smwgSA8JVGzEn8KiDPESq6jt1M4ZKKkhKTrhn2wvUOadQq4ip10E5daZ3w== } + engines: { node: ">=8.0.0" } hasBin: true load-json-file@4.0.0: - resolution: {integrity: sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==} - engines: {node: '>=4'} + resolution: + { integrity: sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw== } + engines: { node: ">=4" } load-json-file@6.2.0: - resolution: {integrity: sha512-gUD/epcRms75Cw8RT1pUdHugZYM5ce64ucs2GEISABwkRsOQr0q2wm/MV2TKThycIe5e0ytRweW2RZxclogCdQ==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-gUD/epcRms75Cw8RT1pUdHugZYM5ce64ucs2GEISABwkRsOQr0q2wm/MV2TKThycIe5e0ytRweW2RZxclogCdQ== } + engines: { node: ">=8" } loader-runner@4.3.1: - resolution: {integrity: sha512-IWqP2SCPhyVFTBtRcgMHdzlf9ul25NwaFx4wCEH/KjAXuuHY4yNjvPXsBokp8jCB936PyWRaPKUNh8NvylLp2Q==} - engines: {node: '>=6.11.5'} + resolution: + { integrity: sha512-IWqP2SCPhyVFTBtRcgMHdzlf9ul25NwaFx4wCEH/KjAXuuHY4yNjvPXsBokp8jCB936PyWRaPKUNh8NvylLp2Q== } + engines: { node: ">=6.11.5" } locate-path@2.0.0: - resolution: {integrity: sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==} - engines: {node: '>=4'} + resolution: + { integrity: sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA== } + engines: { node: ">=4" } locate-path@5.0.0: - resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== } + engines: { node: ">=8" } locate-path@6.0.0: - resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== } + engines: { node: ">=10" } locate-path@8.0.0: - resolution: {integrity: sha512-XT9ewWAC43tiAV7xDAPflMkG0qOPn2QjHqlgX8FOqmWa/rxnyYDulF9T0F7tRy1u+TVTmK/M//6VIOye+2zDXg==} - engines: {node: '>=20'} + resolution: + { integrity: sha512-XT9ewWAC43tiAV7xDAPflMkG0qOPn2QjHqlgX8FOqmWa/rxnyYDulF9T0F7tRy1u+TVTmK/M//6VIOye+2zDXg== } + engines: { node: ">=20" } lodash.camelcase@4.3.0: - resolution: {integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==} + resolution: + { integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA== } lodash.ismatch@4.4.0: - resolution: {integrity: sha512-fPMfXjGQEV9Xsq/8MTSgUf255gawYRbjwMyDbcvDhXgV7enSZA0hynz6vMPnpAb5iONEzBHBPsT+0zes5Z301g==} + resolution: + { integrity: sha512-fPMfXjGQEV9Xsq/8MTSgUf255gawYRbjwMyDbcvDhXgV7enSZA0hynz6vMPnpAb5iONEzBHBPsT+0zes5Z301g== } lodash.kebabcase@4.1.1: - resolution: {integrity: sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g==} + resolution: + { integrity: sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g== } lodash.mergewith@4.6.2: - resolution: {integrity: sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ==} + resolution: + { integrity: sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ== } lodash.snakecase@4.1.1: - resolution: {integrity: sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw==} + resolution: + { integrity: sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw== } lodash.startcase@4.4.0: - resolution: {integrity: sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==} + resolution: + { integrity: sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg== } lodash.upperfirst@4.3.1: - resolution: {integrity: sha512-sReKOYJIJf74dhJONhU4e0/shzi1trVbSWDOhKYE5XV2O+H7Sb2Dihwuc7xWxVl+DgFPyTqIN3zMfT9cq5iWDg==} + resolution: + { integrity: sha512-sReKOYJIJf74dhJONhU4e0/shzi1trVbSWDOhKYE5XV2O+H7Sb2Dihwuc7xWxVl+DgFPyTqIN3zMfT9cq5iWDg== } lodash@4.17.23: - resolution: {integrity: sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==} + resolution: + { integrity: sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w== } log-symbols@4.1.0: - resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg== } + engines: { node: ">=10" } logform@2.7.0: - resolution: {integrity: sha512-TFYA4jnP7PVbmlBIfhlSe+WKxs9dklXMTEGcBCIvLhE/Tn3H6Gk1norupVW7m5Cnd4bLcr08AytbyV/xj7f/kQ==} - engines: {node: '>= 12.0.0'} + resolution: + { integrity: sha512-TFYA4jnP7PVbmlBIfhlSe+WKxs9dklXMTEGcBCIvLhE/Tn3H6Gk1norupVW7m5Cnd4bLcr08AytbyV/xj7f/kQ== } + engines: { node: ">= 12.0.0" } lookpath@1.2.3: - resolution: {integrity: sha512-kthRVhf4kH4+HW3anM4UBHxsw/XFESf13euCEldhXr6GpBdmBoa7rDd7WO5G0Mhd4G5XtKTcEy8OR0iRZXpS3Q==} - engines: {npm: '>=6.13.4'} + resolution: + { integrity: sha512-kthRVhf4kH4+HW3anM4UBHxsw/XFESf13euCEldhXr6GpBdmBoa7rDd7WO5G0Mhd4G5XtKTcEy8OR0iRZXpS3Q== } + engines: { npm: ">=6.13.4" } hasBin: true lowercase-keys@2.0.0: - resolution: {integrity: sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA== } + engines: { node: ">=8" } lru-cache@10.4.3: - resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} + resolution: + { integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ== } lru-cache@11.2.7: - resolution: {integrity: sha512-aY/R+aEsRelme17KGQa/1ZSIpLpNYYrhcrepKTZgE+W3WM16YMCaPwOHLHsmopZHELU0Ojin1lPVxKR0MihncA==} - engines: {node: 20 || >=22} + resolution: + { integrity: sha512-aY/R+aEsRelme17KGQa/1ZSIpLpNYYrhcrepKTZgE+W3WM16YMCaPwOHLHsmopZHELU0Ojin1lPVxKR0MihncA== } + engines: { node: 20 || >=22 } lru-cache@6.0.0: - resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== } + engines: { node: ">=10" } lunr@2.3.9: - resolution: {integrity: sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==} + resolution: + { integrity: sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow== } luxon@3.7.2: - resolution: {integrity: sha512-vtEhXh/gNjI9Yg1u4jX/0YVPMvxzHuGgCm6tC5kZyb08yjGWGnqAjGJvcXbqQR2P3MyMEFnRbpcdFS6PBcLqew==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-vtEhXh/gNjI9Yg1u4jX/0YVPMvxzHuGgCm6tC5kZyb08yjGWGnqAjGJvcXbqQR2P3MyMEFnRbpcdFS6PBcLqew== } + engines: { node: ">=12" } magic-string@0.30.21: - resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==} + resolution: + { integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ== } magicast@0.5.2: - resolution: {integrity: sha512-E3ZJh4J3S9KfwdjZhe2afj6R9lGIN5Pher1pF39UGrXRqq/VDaGVIGN13BjHd2u8B61hArAGOnso7nBOouW3TQ==} + resolution: + { integrity: sha512-E3ZJh4J3S9KfwdjZhe2afj6R9lGIN5Pher1pF39UGrXRqq/VDaGVIGN13BjHd2u8B61hArAGOnso7nBOouW3TQ== } make-dir@3.1.0: - resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== } + engines: { node: ">=8" } make-dir@4.0.0: - resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw== } + engines: { node: ">=10" } make-error@1.3.6: - resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} + resolution: + { integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== } make-fetch-happen@15.0.2: - resolution: {integrity: sha512-sI1NY4lWlXBAfjmCtVWIIpBypbBdhHtcjnwnv+gtCnsaOffyFil3aidszGC8hgzJe+fT1qix05sWxmD/Bmf/oQ==} - engines: {node: ^20.17.0 || >=22.9.0} + resolution: + { integrity: sha512-sI1NY4lWlXBAfjmCtVWIIpBypbBdhHtcjnwnv+gtCnsaOffyFil3aidszGC8hgzJe+fT1qix05sWxmD/Bmf/oQ== } + engines: { node: ^20.17.0 || >=22.9.0 } make-fetch-happen@15.0.3: - resolution: {integrity: sha512-iyyEpDty1mwW3dGlYXAJqC/azFn5PPvgKVwXayOGBSmKLxhKZ9fg4qIan2ePpp1vJIwfFiO34LAPZgq9SZW9Aw==} - engines: {node: ^20.17.0 || >=22.9.0} + resolution: + { integrity: sha512-iyyEpDty1mwW3dGlYXAJqC/azFn5PPvgKVwXayOGBSmKLxhKZ9fg4qIan2ePpp1vJIwfFiO34LAPZgq9SZW9Aw== } + engines: { node: ^20.17.0 || >=22.9.0 } map-obj@1.0.1: - resolution: {integrity: sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==} - engines: {node: '>=0.10.0'} + resolution: + { integrity: sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg== } + engines: { node: ">=0.10.0" } map-obj@4.3.0: - resolution: {integrity: sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ== } + engines: { node: ">=8" } markdown-it@14.1.1: - resolution: {integrity: sha512-BuU2qnTti9YKgK5N+IeMubp14ZUKUUw7yeJbkjtosvHiP0AZ5c8IAgEMk79D0eC8F23r4Ac/q8cAIFdm2FtyoA==} + resolution: + { integrity: sha512-BuU2qnTti9YKgK5N+IeMubp14ZUKUUw7yeJbkjtosvHiP0AZ5c8IAgEMk79D0eC8F23r4Ac/q8cAIFdm2FtyoA== } hasBin: true matcher@3.0.0: - resolution: {integrity: sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng== } + engines: { node: ">=10" } math-intrinsics@1.1.0: - resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} - engines: {node: '>= 0.4'} + resolution: + { integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g== } + engines: { node: ">= 0.4" } mdn-data@2.0.28: - resolution: {integrity: sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==} + resolution: + { integrity: sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g== } mdn-data@2.12.2: - resolution: {integrity: sha512-IEn+pegP1aManZuckezWCO+XZQDplx1366JoVhTpMpBB1sPey/SbveZQUosKiKiGYjg1wH4pMlNgXbCiYgihQA==} + resolution: + { integrity: sha512-IEn+pegP1aManZuckezWCO+XZQDplx1366JoVhTpMpBB1sPey/SbveZQUosKiKiGYjg1wH4pMlNgXbCiYgihQA== } mdn-data@2.27.1: - resolution: {integrity: sha512-9Yubnt3e8A0OKwxYSXyhLymGW4sCufcLG6VdiDdUGVkPhpqLxlvP5vl1983gQjJl3tqbrM731mjaZaP68AgosQ==} + resolution: + { integrity: sha512-9Yubnt3e8A0OKwxYSXyhLymGW4sCufcLG6VdiDdUGVkPhpqLxlvP5vl1983gQjJl3tqbrM731mjaZaP68AgosQ== } mdurl@2.0.0: - resolution: {integrity: sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==} + resolution: + { integrity: sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w== } media-typer@1.1.0: - resolution: {integrity: sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==} - engines: {node: '>= 0.8'} + resolution: + { integrity: sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw== } + engines: { node: ">= 0.8" } meow@13.2.0: - resolution: {integrity: sha512-pxQJQzB6djGPXh08dacEloMFopsOqGVRKFPYvPOt9XDZ1HasbgDZA74CJGreSU4G3Ak7EFJGoiH2auq+yXISgA==} - engines: {node: '>=18'} + resolution: + { integrity: sha512-pxQJQzB6djGPXh08dacEloMFopsOqGVRKFPYvPOt9XDZ1HasbgDZA74CJGreSU4G3Ak7EFJGoiH2auq+yXISgA== } + engines: { node: ">=18" } meow@8.1.2: - resolution: {integrity: sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q== } + engines: { node: ">=10" } merge-descriptors@2.0.0: - resolution: {integrity: sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g==} - engines: {node: '>=18'} + resolution: + { integrity: sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g== } + engines: { node: ">=18" } merge-stream@2.0.0: - resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + resolution: + { integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== } merge2@1.4.1: - resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} - engines: {node: '>= 8'} + resolution: + { integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== } + engines: { node: ">= 8" } micromatch@4.0.5: - resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} - engines: {node: '>=8.6'} + resolution: + { integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== } + engines: { node: ">=8.6" } mime-db@1.52.0: - resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} - engines: {node: '>= 0.6'} + resolution: + { integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== } + engines: { node: ">= 0.6" } mime-db@1.54.0: - resolution: {integrity: sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==} - engines: {node: '>= 0.6'} + resolution: + { integrity: sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ== } + engines: { node: ">= 0.6" } mime-types@2.1.35: - resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} - engines: {node: '>= 0.6'} + resolution: + { integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== } + engines: { node: ">= 0.6" } mime-types@3.0.2: - resolution: {integrity: sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==} - engines: {node: '>=18'} + resolution: + { integrity: sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A== } + engines: { node: ">=18" } mimic-fn@2.1.0: - resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} - engines: {node: '>=6'} + resolution: + { integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== } + engines: { node: ">=6" } mimic-response@1.0.1: - resolution: {integrity: sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==} - engines: {node: '>=4'} + resolution: + { integrity: sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ== } + engines: { node: ">=4" } mimic-response@3.1.0: - resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ== } + engines: { node: ">=10" } min-indent@1.0.1: - resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} - engines: {node: '>=4'} + resolution: + { integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== } + engines: { node: ">=4" } minify@15.2.0: - resolution: {integrity: sha512-8syAQ9x4vGx4YgmsqaN2kefkxWzR7ET4IxYRC6iLWLImINsxwYMYXzx1jj/uOtbs0eVEI578H5KDgl+bPl3s+w==} - engines: {node: '>=22'} + resolution: + { integrity: sha512-8syAQ9x4vGx4YgmsqaN2kefkxWzR7ET4IxYRC6iLWLImINsxwYMYXzx1jj/uOtbs0eVEI578H5KDgl+bPl3s+w== } + engines: { node: ">=22" } hasBin: true minimatch@10.2.2: - resolution: {integrity: sha512-+G4CpNBxa5MprY+04MbgOw1v7So6n5JY166pFi9KfYwT78fxScCeSNQSNzp6dpPSW2rONOps6Ocam1wFhCgoVw==} - engines: {node: 18 || 20 || >=22} + resolution: + { integrity: sha512-+G4CpNBxa5MprY+04MbgOw1v7So6n5JY166pFi9KfYwT78fxScCeSNQSNzp6dpPSW2rONOps6Ocam1wFhCgoVw== } + engines: { node: 18 || 20 || >=22 } minimatch@10.2.4: - resolution: {integrity: sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg==} - engines: {node: 18 || 20 || >=22} + resolution: + { integrity: sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg== } + engines: { node: 18 || 20 || >=22 } minimatch@3.1.2: - resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + resolution: + { integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== } minimatch@3.1.4: - resolution: {integrity: sha512-twmL+S8+7yIsE9wsqgzU3E8/LumN3M3QELrBZ20OdmQ9jB2JvW5oZtBEmft84k/Gs5CG9mqtWc6Y9vW+JEzGxw==} + resolution: + { integrity: sha512-twmL+S8+7yIsE9wsqgzU3E8/LumN3M3QELrBZ20OdmQ9jB2JvW5oZtBEmft84k/Gs5CG9mqtWc6Y9vW+JEzGxw== } minimatch@5.1.6: - resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g== } + engines: { node: ">=10" } minimatch@9.0.3: - resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} - engines: {node: '>=16 || 14 >=14.17'} + resolution: + { integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg== } + engines: { node: ">=16 || 14 >=14.17" } minimatch@9.0.5: - resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} - engines: {node: '>=16 || 14 >=14.17'} + resolution: + { integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow== } + engines: { node: ">=16 || 14 >=14.17" } minimist-options@4.1.0: - resolution: {integrity: sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==} - engines: {node: '>= 6'} + resolution: + { integrity: sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A== } + engines: { node: ">= 6" } minimist@1.2.8: - resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + resolution: + { integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== } minipass-collect@2.0.1: - resolution: {integrity: sha512-D7V8PO9oaz7PWGLbCACuI1qEOsq7UKfLotx/C0Aet43fCUB/wfQ7DYeq2oR/svFJGYDHPr38SHATeaj/ZoKHKw==} - engines: {node: '>=16 || 14 >=14.17'} + resolution: + { integrity: sha512-D7V8PO9oaz7PWGLbCACuI1qEOsq7UKfLotx/C0Aet43fCUB/wfQ7DYeq2oR/svFJGYDHPr38SHATeaj/ZoKHKw== } + engines: { node: ">=16 || 14 >=14.17" } minipass-fetch@4.0.1: - resolution: {integrity: sha512-j7U11C5HXigVuutxebFadoYBbd7VSdZWggSe64NVdvWNBqGAiXPL2QVCehjmw7lY1oF9gOllYbORh+hiNgfPgQ==} - engines: {node: ^18.17.0 || >=20.5.0} + resolution: + { integrity: sha512-j7U11C5HXigVuutxebFadoYBbd7VSdZWggSe64NVdvWNBqGAiXPL2QVCehjmw7lY1oF9gOllYbORh+hiNgfPgQ== } + engines: { node: ^18.17.0 || >=20.5.0 } minipass-fetch@5.0.0: - resolution: {integrity: sha512-fiCdUALipqgPWrOVTz9fw0XhcazULXOSU6ie40DDbX1F49p1dBrSRBuswndTx1x3vEb/g0FT7vC4c4C2u/mh3A==} - engines: {node: ^20.17.0 || >=22.9.0} + resolution: + { integrity: sha512-fiCdUALipqgPWrOVTz9fw0XhcazULXOSU6ie40DDbX1F49p1dBrSRBuswndTx1x3vEb/g0FT7vC4c4C2u/mh3A== } + engines: { node: ^20.17.0 || >=22.9.0 } minipass-flush@1.0.5: - resolution: {integrity: sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==} - engines: {node: '>= 8'} + resolution: + { integrity: sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw== } + engines: { node: ">= 8" } minipass-pipeline@1.2.4: - resolution: {integrity: sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A== } + engines: { node: ">=8" } minipass-sized@1.0.3: - resolution: {integrity: sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g== } + engines: { node: ">=8" } minipass@3.3.6: - resolution: {integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw== } + engines: { node: ">=8" } minipass@5.0.0: - resolution: {integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ== } + engines: { node: ">=8" } minipass@7.1.2: - resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} - engines: {node: '>=16 || 14 >=14.17'} + resolution: + { integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw== } + engines: { node: ">=16 || 14 >=14.17" } minipass@7.1.3: - resolution: {integrity: sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==} - engines: {node: '>=16 || 14 >=14.17'} + resolution: + { integrity: sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A== } + engines: { node: ">=16 || 14 >=14.17" } minizlib@2.1.2: - resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==} - engines: {node: '>= 8'} + resolution: + { integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg== } + engines: { node: ">= 8" } minizlib@3.1.0: - resolution: {integrity: sha512-KZxYo1BUkWD2TVFLr0MQoM8vUUigWD3LlD83a/75BqC+4qE0Hb1Vo5v1FgcfaNXvfXzr+5EhQ6ing/CaBijTlw==} - engines: {node: '>= 18'} + resolution: + { integrity: sha512-KZxYo1BUkWD2TVFLr0MQoM8vUUigWD3LlD83a/75BqC+4qE0Hb1Vo5v1FgcfaNXvfXzr+5EhQ6ing/CaBijTlw== } + engines: { node: ">= 18" } mkdirp-classic@0.5.3: - resolution: {integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==} + resolution: + { integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A== } mkdirp@1.0.4: - resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== } + engines: { node: ">=10" } hasBin: true modify-values@1.0.1: - resolution: {integrity: sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw==} - engines: {node: '>=0.10.0'} + resolution: + { integrity: sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw== } + engines: { node: ">=0.10.0" } montag@1.2.1: - resolution: {integrity: sha512-YFuR6t5KhDlmAnUmVSxGzNcpWqSDqxbd95tvnEnn7X9yFv7g3kDFoRjwyGayVdF/NNoWk7YW7IxUjilnGnoC5Q==} + resolution: + { integrity: sha512-YFuR6t5KhDlmAnUmVSxGzNcpWqSDqxbd95tvnEnn7X9yFv7g3kDFoRjwyGayVdF/NNoWk7YW7IxUjilnGnoC5Q== } mrmime@2.0.0: - resolution: {integrity: sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw== } + engines: { node: ">=10" } ms@2.1.2: - resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + resolution: + { integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== } ms@2.1.3: - resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + resolution: + { integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== } mute-stream@2.0.0: - resolution: {integrity: sha512-WWdIxpyjEn+FhQJQQv9aQAYlHoNVdzIzUySNV1gHUPDSdZJ3yZn7pAAbQcV7B56Mvu881q9FZV+0Vx2xC44VWA==} - engines: {node: ^18.17.0 || >=20.5.0} + resolution: + { integrity: sha512-WWdIxpyjEn+FhQJQQv9aQAYlHoNVdzIzUySNV1gHUPDSdZJ3yZn7pAAbQcV7B56Mvu881q9FZV+0Vx2xC44VWA== } + engines: { node: ^18.17.0 || >=20.5.0 } nanoid@3.3.11: - resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==} - engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + resolution: + { integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w== } + engines: { node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1 } hasBin: true napi-build-utils@2.0.0: - resolution: {integrity: sha512-GEbrYkbfF7MoNaoh2iGG84Mnf/WZfB0GdGEsM8wz7Expx/LlWf5U8t9nvJKXSp3qr5IsEbK04cBGhol/KwOsWA==} + resolution: + { integrity: sha512-GEbrYkbfF7MoNaoh2iGG84Mnf/WZfB0GdGEsM8wz7Expx/LlWf5U8t9nvJKXSp3qr5IsEbK04cBGhol/KwOsWA== } natural-compare@1.4.0: - resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + resolution: + { integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== } negotiator@1.0.0: - resolution: {integrity: sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==} - engines: {node: '>= 0.6'} + resolution: + { integrity: sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg== } + engines: { node: ">= 0.6" } neo-async@2.6.2: - resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} + resolution: + { integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== } node-abi@3.74.0: - resolution: {integrity: sha512-c5XK0MjkGBrQPGYG24GBADZud0NCbznxNx0ZkS+ebUTrmV1qTDxPxSL8zEAPURXSbLRWVexxmP4986BziahL5w==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-c5XK0MjkGBrQPGYG24GBADZud0NCbznxNx0ZkS+ebUTrmV1qTDxPxSL8zEAPURXSbLRWVexxmP4986BziahL5w== } + engines: { node: ">=10" } node-addon-api@7.1.1: - resolution: {integrity: sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==} + resolution: + { integrity: sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ== } node-fetch@2.7.0: - resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} - engines: {node: 4.x || >=6.0.0} + resolution: + { integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A== } + engines: { node: 4.x || >=6.0.0 } peerDependencies: encoding: ^0.1.0 peerDependenciesMeta: @@ -6712,1067 +7717,1344 @@ packages: optional: true node-gyp@12.2.0: - resolution: {integrity: sha512-q23WdzrQv48KozXlr0U1v9dwO/k59NHeSzn6loGcasyf0UnSrtzs8kRxM+mfwJSf0DkX0s43hcqgnSO4/VNthQ==} - engines: {node: ^20.17.0 || >=22.9.0} + resolution: + { integrity: sha512-q23WdzrQv48KozXlr0U1v9dwO/k59NHeSzn6loGcasyf0UnSrtzs8kRxM+mfwJSf0DkX0s43hcqgnSO4/VNthQ== } + engines: { node: ^20.17.0 || >=22.9.0 } hasBin: true node-machine-id@1.1.12: - resolution: {integrity: sha512-QNABxbrPa3qEIfrE6GOJ7BYIuignnJw7iQ2YPbc3Nla1HzRJjXzZOiikfF8m7eAMfichLt3M4VgLOetqgDmgGQ==} + resolution: + { integrity: sha512-QNABxbrPa3qEIfrE6GOJ7BYIuignnJw7iQ2YPbc3Nla1HzRJjXzZOiikfF8m7eAMfichLt3M4VgLOetqgDmgGQ== } node-releases@2.0.27: - resolution: {integrity: sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==} + resolution: + { integrity: sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA== } nodemon@3.1.14: - resolution: {integrity: sha512-jakjZi93UtB3jHMWsXL68FXSAosbLfY0In5gtKq3niLSkrWznrVBzXFNOEMJUfc9+Ke7SHWoAZsiMkNP3vq6Jw==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-jakjZi93UtB3jHMWsXL68FXSAosbLfY0In5gtKq3niLSkrWznrVBzXFNOEMJUfc9+Ke7SHWoAZsiMkNP3vq6Jw== } + engines: { node: ">=10" } hasBin: true noms@0.0.0: - resolution: {integrity: sha512-lNDU9VJaOPxUmXcLb+HQFeUgQQPtMI24Gt6hgfuMHRJgMRHMF/qZ4HJD3GDru4sSw9IQl2jPjAYnQrdIeLbwow==} + resolution: + { integrity: sha512-lNDU9VJaOPxUmXcLb+HQFeUgQQPtMI24Gt6hgfuMHRJgMRHMF/qZ4HJD3GDru4sSw9IQl2jPjAYnQrdIeLbwow== } nopt@1.0.10: - resolution: {integrity: sha512-NWmpvLSqUrgrAC9HCuxEvb+PSloHpqVu+FqcO4eeF2h5qYRhA7ev6KvelyQAKtegUbC6RypJnlEOhd8vloNKYg==} + resolution: + { integrity: sha512-NWmpvLSqUrgrAC9HCuxEvb+PSloHpqVu+FqcO4eeF2h5qYRhA7ev6KvelyQAKtegUbC6RypJnlEOhd8vloNKYg== } hasBin: true nopt@8.1.0: - resolution: {integrity: sha512-ieGu42u/Qsa4TFktmaKEwM6MQH0pOWnaB3htzh0JRtx84+Mebc0cbZYN5bC+6WTZ4+77xrL9Pn5m7CV6VIkV7A==} - engines: {node: ^18.17.0 || >=20.5.0} + resolution: + { integrity: sha512-ieGu42u/Qsa4TFktmaKEwM6MQH0pOWnaB3htzh0JRtx84+Mebc0cbZYN5bC+6WTZ4+77xrL9Pn5m7CV6VIkV7A== } + engines: { node: ^18.17.0 || >=20.5.0 } hasBin: true nopt@9.0.0: - resolution: {integrity: sha512-Zhq3a+yFKrYwSBluL4H9XP3m3y5uvQkB/09CwDruCiRmR/UJYnn9W4R48ry0uGC70aeTPKLynBtscP9efFFcPw==} - engines: {node: ^20.17.0 || >=22.9.0} + resolution: + { integrity: sha512-Zhq3a+yFKrYwSBluL4H9XP3m3y5uvQkB/09CwDruCiRmR/UJYnn9W4R48ry0uGC70aeTPKLynBtscP9efFFcPw== } + engines: { node: ^20.17.0 || >=22.9.0 } hasBin: true normalize-package-data@2.5.0: - resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} + resolution: + { integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== } normalize-package-data@3.0.3: - resolution: {integrity: sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA== } + engines: { node: ">=10" } normalize-path@3.0.0: - resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} - engines: {node: '>=0.10.0'} + resolution: + { integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== } + engines: { node: ">=0.10.0" } normalize-url@6.1.0: - resolution: {integrity: sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A== } + engines: { node: ">=10" } npm-bundled@4.0.0: - resolution: {integrity: sha512-IxaQZDMsqfQ2Lz37VvyyEtKLe8FsRZuysmedy/N06TU1RyVppYKXrO4xIhR0F+7ubIBox6Q7nir6fQI3ej39iA==} - engines: {node: ^18.17.0 || >=20.5.0} + resolution: + { integrity: sha512-IxaQZDMsqfQ2Lz37VvyyEtKLe8FsRZuysmedy/N06TU1RyVppYKXrO4xIhR0F+7ubIBox6Q7nir6fQI3ej39iA== } + engines: { node: ^18.17.0 || >=20.5.0 } npm-bundled@5.0.0: - resolution: {integrity: sha512-JLSpbzh6UUXIEoqPsYBvVNVmyrjVZ1fzEFbqxKkTJQkWBO3xFzFT+KDnSKQWwOQNbuWRwt5LSD6HOTLGIWzfrw==} - engines: {node: ^20.17.0 || >=22.9.0} + resolution: + { integrity: sha512-JLSpbzh6UUXIEoqPsYBvVNVmyrjVZ1fzEFbqxKkTJQkWBO3xFzFT+KDnSKQWwOQNbuWRwt5LSD6HOTLGIWzfrw== } + engines: { node: ^20.17.0 || >=22.9.0 } npm-install-checks@7.1.2: - resolution: {integrity: sha512-z9HJBCYw9Zr8BqXcllKIs5nI+QggAImbBdHphOzVYrz2CB4iQ6FzWyKmlqDZua+51nAu7FcemlbTc9VgQN5XDQ==} - engines: {node: ^18.17.0 || >=20.5.0} + resolution: + { integrity: sha512-z9HJBCYw9Zr8BqXcllKIs5nI+QggAImbBdHphOzVYrz2CB4iQ6FzWyKmlqDZua+51nAu7FcemlbTc9VgQN5XDQ== } + engines: { node: ^18.17.0 || >=20.5.0 } npm-install-checks@8.0.0: - resolution: {integrity: sha512-ScAUdMpyzkbpxoNekQ3tNRdFI8SJ86wgKZSQZdUxT+bj0wVFpsEMWnkXP0twVe1gJyNF5apBWDJhhIbgrIViRA==} - engines: {node: ^20.17.0 || >=22.9.0} + resolution: + { integrity: sha512-ScAUdMpyzkbpxoNekQ3tNRdFI8SJ86wgKZSQZdUxT+bj0wVFpsEMWnkXP0twVe1gJyNF5apBWDJhhIbgrIViRA== } + engines: { node: ^20.17.0 || >=22.9.0 } npm-normalize-package-bin@4.0.0: - resolution: {integrity: sha512-TZKxPvItzai9kN9H/TkmCtx/ZN/hvr3vUycjlfmH0ootY9yFBzNOpiXAdIn1Iteqsvk4lQn6B5PTrt+n6h8k/w==} - engines: {node: ^18.17.0 || >=20.5.0} + resolution: + { integrity: sha512-TZKxPvItzai9kN9H/TkmCtx/ZN/hvr3vUycjlfmH0ootY9yFBzNOpiXAdIn1Iteqsvk4lQn6B5PTrt+n6h8k/w== } + engines: { node: ^18.17.0 || >=20.5.0 } npm-normalize-package-bin@5.0.0: - resolution: {integrity: sha512-CJi3OS4JLsNMmr2u07OJlhcrPxCeOeP/4xq67aWNai6TNWWbTrlNDgl8NcFKVlcBKp18GPj+EzbNIgrBfZhsag==} - engines: {node: ^20.17.0 || >=22.9.0} + resolution: + { integrity: sha512-CJi3OS4JLsNMmr2u07OJlhcrPxCeOeP/4xq67aWNai6TNWWbTrlNDgl8NcFKVlcBKp18GPj+EzbNIgrBfZhsag== } + engines: { node: ^20.17.0 || >=22.9.0 } npm-package-arg@12.0.2: - resolution: {integrity: sha512-f1NpFjNI9O4VbKMOlA5QoBq/vSQPORHcTZ2feJpFkTHJ9eQkdlmZEKSjcAhxTGInC7RlEyScT9ui67NaOsjFWA==} - engines: {node: ^18.17.0 || >=20.5.0} + resolution: + { integrity: sha512-f1NpFjNI9O4VbKMOlA5QoBq/vSQPORHcTZ2feJpFkTHJ9eQkdlmZEKSjcAhxTGInC7RlEyScT9ui67NaOsjFWA== } + engines: { node: ^18.17.0 || >=20.5.0 } npm-package-arg@13.0.1: - resolution: {integrity: sha512-6zqls5xFvJbgFjB1B2U6yITtyGBjDBORB7suI4zA4T/sZ1OmkMFlaQSNB/4K0LtXNA1t4OprAFxPisadK5O2ag==} - engines: {node: ^20.17.0 || >=22.9.0} + resolution: + { integrity: sha512-6zqls5xFvJbgFjB1B2U6yITtyGBjDBORB7suI4zA4T/sZ1OmkMFlaQSNB/4K0LtXNA1t4OprAFxPisadK5O2ag== } + engines: { node: ^20.17.0 || >=22.9.0 } npm-packlist@10.0.3: - resolution: {integrity: sha512-zPukTwJMOu5X5uvm0fztwS5Zxyvmk38H/LfidkOMt3gbZVCyro2cD/ETzwzVPcWZA3JOyPznfUN/nkyFiyUbxg==} - engines: {node: ^20.17.0 || >=22.9.0} + resolution: + { integrity: sha512-zPukTwJMOu5X5uvm0fztwS5Zxyvmk38H/LfidkOMt3gbZVCyro2cD/ETzwzVPcWZA3JOyPznfUN/nkyFiyUbxg== } + engines: { node: ^20.17.0 || >=22.9.0 } npm-pick-manifest@10.0.0: - resolution: {integrity: sha512-r4fFa4FqYY8xaM7fHecQ9Z2nE9hgNfJR+EmoKv0+chvzWkBcORX3r0FpTByP+CbOVJDladMXnPQGVN8PBLGuTQ==} - engines: {node: ^18.17.0 || >=20.5.0} + resolution: + { integrity: sha512-r4fFa4FqYY8xaM7fHecQ9Z2nE9hgNfJR+EmoKv0+chvzWkBcORX3r0FpTByP+CbOVJDladMXnPQGVN8PBLGuTQ== } + engines: { node: ^18.17.0 || >=20.5.0 } npm-pick-manifest@11.0.3: - resolution: {integrity: sha512-buzyCfeoGY/PxKqmBqn1IUJrZnUi1VVJTdSSRPGI60tJdUhUoSQFhs0zycJokDdOznQentgrpf8LayEHyyYlqQ==} - engines: {node: ^20.17.0 || >=22.9.0} + resolution: + { integrity: sha512-buzyCfeoGY/PxKqmBqn1IUJrZnUi1VVJTdSSRPGI60tJdUhUoSQFhs0zycJokDdOznQentgrpf8LayEHyyYlqQ== } + engines: { node: ^20.17.0 || >=22.9.0 } npm-registry-fetch@19.1.0: - resolution: {integrity: sha512-xyZLfs7TxPu/WKjHUs0jZOPinzBAI32kEUel6za0vH+JUTnFZ5zbHI1ZoGZRDm6oMjADtrli6FxtMlk/5ABPNw==} - engines: {node: ^20.17.0 || >=22.9.0} + resolution: + { integrity: sha512-xyZLfs7TxPu/WKjHUs0jZOPinzBAI32kEUel6za0vH+JUTnFZ5zbHI1ZoGZRDm6oMjADtrli6FxtMlk/5ABPNw== } + engines: { node: ^20.17.0 || >=22.9.0 } npm-run-path@4.0.1: - resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== } + engines: { node: ">=8" } nth-check@2.1.1: - resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} + resolution: + { integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w== } nx-cloud@19.1.0: - resolution: {integrity: sha512-f24vd5/57/MFSXNMfkerdDiK0EvScGOKO71iOWgJNgI1xVweDRmOA/EfjnPMRd5m+pnoPs/4A7DzuwSW0jZVyw==} + resolution: + { integrity: sha512-f24vd5/57/MFSXNMfkerdDiK0EvScGOKO71iOWgJNgI1xVweDRmOA/EfjnPMRd5m+pnoPs/4A7DzuwSW0jZVyw== } hasBin: true nx@22.6.3: - resolution: {integrity: sha512-8eIkEAlvkTvR2zY+yjhuTxMD6z4AtM1SumSBbwMmUMEXMtXE88fH0RL59T5V6MLjaov1exUM3lhUqPE3IyuBPg==} + resolution: + { integrity: sha512-8eIkEAlvkTvR2zY+yjhuTxMD6z4AtM1SumSBbwMmUMEXMtXE88fH0RL59T5V6MLjaov1exUM3lhUqPE3IyuBPg== } hasBin: true peerDependencies: - '@swc-node/register': ^1.11.1 - '@swc/core': ^1.15.8 + "@swc-node/register": ^1.11.1 + "@swc/core": ^1.15.8 peerDependenciesMeta: - '@swc-node/register': + "@swc-node/register": optional: true - '@swc/core': + "@swc/core": optional: true object-assign@4.1.1: - resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} - engines: {node: '>=0.10.0'} + resolution: + { integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== } + engines: { node: ">=0.10.0" } object-deep-merge@2.0.0: - resolution: {integrity: sha512-3DC3UMpeffLTHiuXSy/UG4NOIYTLlY9u3V82+djSCLYClWobZiS4ivYzpIUWrRY/nfsJ8cWsKyG3QfyLePmhvg==} + resolution: + { integrity: sha512-3DC3UMpeffLTHiuXSy/UG4NOIYTLlY9u3V82+djSCLYClWobZiS4ivYzpIUWrRY/nfsJ8cWsKyG3QfyLePmhvg== } object-inspect@1.13.4: - resolution: {integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==} - engines: {node: '>= 0.4'} + resolution: + { integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew== } + engines: { node: ">= 0.4" } object-keys@1.1.1: - resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} - engines: {node: '>= 0.4'} + resolution: + { integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== } + engines: { node: ">= 0.4" } obug@2.1.1: - resolution: {integrity: sha512-uTqF9MuPraAQ+IsnPf366RG4cP9RtUi7MLO1N3KEc+wb0a6yKpeL0lmk2IB1jY5KHPAlTc6T/JRdC/YqxHNwkQ==} + resolution: + { integrity: sha512-uTqF9MuPraAQ+IsnPf366RG4cP9RtUi7MLO1N3KEc+wb0a6yKpeL0lmk2IB1jY5KHPAlTc6T/JRdC/YqxHNwkQ== } on-finished@2.4.1: - resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} - engines: {node: '>= 0.8'} + resolution: + { integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg== } + engines: { node: ">= 0.8" } once@1.4.0: - resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + resolution: + { integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== } one-time@1.0.0: - resolution: {integrity: sha512-5DXOiRKwuSEcQ/l0kGCF6Q3jcADFv5tSmRaJck/OqkVFcOzutB134KRSfF0xDrL39MNnqxbHBbUUcjZIhTgb2g==} + resolution: + { integrity: sha512-5DXOiRKwuSEcQ/l0kGCF6Q3jcADFv5tSmRaJck/OqkVFcOzutB134KRSfF0xDrL39MNnqxbHBbUUcjZIhTgb2g== } onetime@5.1.2: - resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} - engines: {node: '>=6'} + resolution: + { integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== } + engines: { node: ">=6" } open@8.4.2: - resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ== } + engines: { node: ">=12" } opener@1.5.2: - resolution: {integrity: sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==} + resolution: + { integrity: sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A== } hasBin: true optionator@0.9.3: - resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} - engines: {node: '>= 0.8.0'} + resolution: + { integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg== } + engines: { node: ">= 0.8.0" } opts@2.0.2: - resolution: {integrity: sha512-k41FwbcLnlgnFh69f4qdUfvDQ+5vaSDnVPFI/y5XuhKRq97EnVVneO9F1ESVCdiVu4fCS2L8usX3mU331hB7pg==} + resolution: + { integrity: sha512-k41FwbcLnlgnFh69f4qdUfvDQ+5vaSDnVPFI/y5XuhKRq97EnVVneO9F1ESVCdiVu4fCS2L8usX3mU331hB7pg== } ora@5.3.0: - resolution: {integrity: sha512-zAKMgGXUim0Jyd6CXK9lraBnD3H5yPGBPPOkC23a2BG6hsm4Zu6OQSjQuEtV0BHDf4aKHcUFvJiGRrFuW3MG8g==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-zAKMgGXUim0Jyd6CXK9lraBnD3H5yPGBPPOkC23a2BG6hsm4Zu6OQSjQuEtV0BHDf4aKHcUFvJiGRrFuW3MG8g== } + engines: { node: ">=10" } oxc-minify@0.116.0: - resolution: {integrity: sha512-QgwBX/I81xEsKaD0/M5OsLbuKUx48F2nnJnQrpAgCDOpqjfm8AdF/bbtmrGM9YmsSUsAxGTh+Va10ImlwUVwww==} - engines: {node: ^20.19.0 || >=22.12.0} + resolution: + { integrity: sha512-QgwBX/I81xEsKaD0/M5OsLbuKUx48F2nnJnQrpAgCDOpqjfm8AdF/bbtmrGM9YmsSUsAxGTh+Va10ImlwUVwww== } + engines: { node: ^20.19.0 || >=22.12.0 } p-cancelable@2.1.1: - resolution: {integrity: sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg== } + engines: { node: ">=8" } p-finally@1.0.0: - resolution: {integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==} - engines: {node: '>=4'} + resolution: + { integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow== } + engines: { node: ">=4" } p-limit@1.3.0: - resolution: {integrity: sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==} - engines: {node: '>=4'} + resolution: + { integrity: sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q== } + engines: { node: ">=4" } p-limit@2.3.0: - resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} - engines: {node: '>=6'} + resolution: + { integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== } + engines: { node: ">=6" } p-limit@3.1.0: - resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== } + engines: { node: ">=10" } p-limit@4.0.0: - resolution: {integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + resolution: + { integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ== } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } p-locate@2.0.0: - resolution: {integrity: sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==} - engines: {node: '>=4'} + resolution: + { integrity: sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg== } + engines: { node: ">=4" } p-locate@4.1.0: - resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== } + engines: { node: ">=8" } p-locate@5.0.0: - resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== } + engines: { node: ">=10" } p-locate@6.0.0: - resolution: {integrity: sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + resolution: + { integrity: sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw== } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } p-map-series@2.1.0: - resolution: {integrity: sha512-RpYIIK1zXSNEOdwxcfe7FdvGcs7+y5n8rifMhMNWvaxRNMPINJHF5GDeuVxWqnfrcHPSCnp7Oo5yNXHId9Av2Q==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-RpYIIK1zXSNEOdwxcfe7FdvGcs7+y5n8rifMhMNWvaxRNMPINJHF5GDeuVxWqnfrcHPSCnp7Oo5yNXHId9Av2Q== } + engines: { node: ">=8" } p-map@4.0.0: - resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ== } + engines: { node: ">=10" } p-map@7.0.4: - resolution: {integrity: sha512-tkAQEw8ysMzmkhgw8k+1U/iPhWNhykKnSk4Rd5zLoPJCuJaGRPo6YposrZgaxHKzDHdDWWZvE/Sk7hsL2X/CpQ==} - engines: {node: '>=18'} + resolution: + { integrity: sha512-tkAQEw8ysMzmkhgw8k+1U/iPhWNhykKnSk4Rd5zLoPJCuJaGRPo6YposrZgaxHKzDHdDWWZvE/Sk7hsL2X/CpQ== } + engines: { node: ">=18" } p-pipe@3.1.0: - resolution: {integrity: sha512-08pj8ATpzMR0Y80x50yJHn37NF6vjrqHutASaX5LiH5npS9XPvrUmscd9MF5R4fuYRHOxQR1FfMIlF7AzwoPqw==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-08pj8ATpzMR0Y80x50yJHn37NF6vjrqHutASaX5LiH5npS9XPvrUmscd9MF5R4fuYRHOxQR1FfMIlF7AzwoPqw== } + engines: { node: ">=8" } p-queue@6.6.2: - resolution: {integrity: sha512-RwFpb72c/BhQLEXIZ5K2e+AhgNVmIejGlTgiB9MzZ0e93GRvqZ7uSi0dvRF7/XIXDeNkra2fNHBxTyPDGySpjQ==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-RwFpb72c/BhQLEXIZ5K2e+AhgNVmIejGlTgiB9MzZ0e93GRvqZ7uSi0dvRF7/XIXDeNkra2fNHBxTyPDGySpjQ== } + engines: { node: ">=8" } p-reduce@2.1.0: - resolution: {integrity: sha512-2USApvnsutq8uoxZBGbbWM0JIYLiEMJ9RlaN7fAzVNb9OZN0SHjjTTfIcb667XynS5Y1VhwDJVDa72TnPzAYWw==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-2USApvnsutq8uoxZBGbbWM0JIYLiEMJ9RlaN7fAzVNb9OZN0SHjjTTfIcb667XynS5Y1VhwDJVDa72TnPzAYWw== } + engines: { node: ">=8" } p-timeout@3.2.0: - resolution: {integrity: sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg== } + engines: { node: ">=8" } p-try@1.0.0: - resolution: {integrity: sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==} - engines: {node: '>=4'} + resolution: + { integrity: sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww== } + engines: { node: ">=4" } p-try@2.2.0: - resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} - engines: {node: '>=6'} + resolution: + { integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== } + engines: { node: ">=6" } p-waterfall@2.1.1: - resolution: {integrity: sha512-RRTnDb2TBG/epPRI2yYXsimO0v3BXC8Yd3ogr1545IaqKK17VGhbWVeGGN+XfCm/08OK8635nH31c8bATkHuSw==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-RRTnDb2TBG/epPRI2yYXsimO0v3BXC8Yd3ogr1545IaqKK17VGhbWVeGGN+XfCm/08OK8635nH31c8bATkHuSw== } + engines: { node: ">=8" } package-json-from-dist@1.0.0: - resolution: {integrity: sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==} + resolution: + { integrity: sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw== } package-json-from-dist@1.0.1: - resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==} + resolution: + { integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw== } pacote@21.0.1: - resolution: {integrity: sha512-LHGIUQUrcDIJUej53KJz1BPvUuHrItrR2yrnN0Kl9657cJ0ZT6QJHk9wWPBnQZhYT5KLyZWrk9jaYc2aKDu4yw==} - engines: {node: ^20.17.0 || >=22.9.0} + resolution: + { integrity: sha512-LHGIUQUrcDIJUej53KJz1BPvUuHrItrR2yrnN0Kl9657cJ0ZT6QJHk9wWPBnQZhYT5KLyZWrk9jaYc2aKDu4yw== } + engines: { node: ^20.17.0 || >=22.9.0 } hasBin: true pacote@21.0.4: - resolution: {integrity: sha512-RplP/pDW0NNNDh3pnaoIWYPvNenS7UqMbXyvMqJczosiFWTeGGwJC2NQBLqKf4rGLFfwCOnntw1aEp9Jiqm1MA==} - engines: {node: ^20.17.0 || >=22.9.0} + resolution: + { integrity: sha512-RplP/pDW0NNNDh3pnaoIWYPvNenS7UqMbXyvMqJczosiFWTeGGwJC2NQBLqKf4rGLFfwCOnntw1aEp9Jiqm1MA== } + engines: { node: ^20.17.0 || >=22.9.0 } hasBin: true parent-module@1.0.1: - resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} - engines: {node: '>=6'} + resolution: + { integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== } + engines: { node: ">=6" } parse-conflict-json@4.0.0: - resolution: {integrity: sha512-37CN2VtcuvKgHUs8+0b1uJeEsbGn61GRHz469C94P5xiOoqpDYJYwjg4RY9Vmz39WyZAVkR5++nbJwLMIgOCnQ==} - engines: {node: ^18.17.0 || >=20.5.0} + resolution: + { integrity: sha512-37CN2VtcuvKgHUs8+0b1uJeEsbGn61GRHz469C94P5xiOoqpDYJYwjg4RY9Vmz39WyZAVkR5++nbJwLMIgOCnQ== } + engines: { node: ^18.17.0 || >=20.5.0 } parse-imports-exports@0.2.4: - resolution: {integrity: sha512-4s6vd6dx1AotCx/RCI2m7t7GCh5bDRUtGNvRfHSP2wbBQdMi67pPe7mtzmgwcaQ8VKK/6IB7Glfyu3qdZJPybQ==} + resolution: + { integrity: sha512-4s6vd6dx1AotCx/RCI2m7t7GCh5bDRUtGNvRfHSP2wbBQdMi67pPe7mtzmgwcaQ8VKK/6IB7Glfyu3qdZJPybQ== } parse-json@4.0.0: - resolution: {integrity: sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==} - engines: {node: '>=4'} + resolution: + { integrity: sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw== } + engines: { node: ">=4" } parse-json@5.2.0: - resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== } + engines: { node: ">=8" } parse-path@7.0.0: - resolution: {integrity: sha512-Euf9GG8WT9CdqwuWJGdf3RkUcTBArppHABkO7Lm8IzRQp0e2r/kkFnmhu4TSK30Wcu5rVAZLmfPKSBBi9tWFog==} + resolution: + { integrity: sha512-Euf9GG8WT9CdqwuWJGdf3RkUcTBArppHABkO7Lm8IzRQp0e2r/kkFnmhu4TSK30Wcu5rVAZLmfPKSBBi9tWFog== } parse-statements@1.0.11: - resolution: {integrity: sha512-HlsyYdMBnbPQ9Jr/VgJ1YF4scnldvJpJxCVx6KgqPL4dxppsWrJHCIIxQXMJrqGnsRkNPATbeMJ8Yxu7JMsYcA==} + resolution: + { integrity: sha512-HlsyYdMBnbPQ9Jr/VgJ1YF4scnldvJpJxCVx6KgqPL4dxppsWrJHCIIxQXMJrqGnsRkNPATbeMJ8Yxu7JMsYcA== } parse-url@8.1.0: - resolution: {integrity: sha512-xDvOoLU5XRrcOZvnI6b8zA6n9O9ejNk/GExuz1yBuWUGn9KA97GI6HTs6u02wKara1CeVmZhH+0TZFdWScR89w==} + resolution: + { integrity: sha512-xDvOoLU5XRrcOZvnI6b8zA6n9O9ejNk/GExuz1yBuWUGn9KA97GI6HTs6u02wKara1CeVmZhH+0TZFdWScR89w== } parse5@7.3.0: - resolution: {integrity: sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==} + resolution: + { integrity: sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw== } parse5@8.0.0: - resolution: {integrity: sha512-9m4m5GSgXjL4AjumKzq1Fgfp3Z8rsvjRNbnkVwfu2ImRqE5D0LnY2QfDen18FSY9C573YU5XxSapdHZTZ2WolA==} + resolution: + { integrity: sha512-9m4m5GSgXjL4AjumKzq1Fgfp3Z8rsvjRNbnkVwfu2ImRqE5D0LnY2QfDen18FSY9C573YU5XxSapdHZTZ2WolA== } parseurl@1.3.3: - resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} - engines: {node: '>= 0.8'} + resolution: + { integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== } + engines: { node: ">= 0.8" } path-equal@1.2.5: - resolution: {integrity: sha512-i73IctDr3F2W+bsOWDyyVm/lqsXO47aY9nsFZUjTT/aljSbkxHxxCoyZ9UUrM8jK0JVod+An+rl48RCsvWM+9g==} + resolution: + { integrity: sha512-i73IctDr3F2W+bsOWDyyVm/lqsXO47aY9nsFZUjTT/aljSbkxHxxCoyZ9UUrM8jK0JVod+An+rl48RCsvWM+9g== } path-exists@3.0.0: - resolution: {integrity: sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==} - engines: {node: '>=4'} + resolution: + { integrity: sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ== } + engines: { node: ">=4" } path-exists@4.0.0: - resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== } + engines: { node: ">=8" } path-is-absolute@1.0.1: - resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} - engines: {node: '>=0.10.0'} + resolution: + { integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== } + engines: { node: ">=0.10.0" } path-key@3.1.1: - resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== } + engines: { node: ">=8" } path-parse@1.0.7: - resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + resolution: + { integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== } path-scurry@1.11.1: - resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} - engines: {node: '>=16 || 14 >=14.18'} + resolution: + { integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA== } + engines: { node: ">=16 || 14 >=14.18" } path-scurry@2.0.2: - resolution: {integrity: sha512-3O/iVVsJAPsOnpwWIeD+d6z/7PmqApyQePUtCndjatj/9I5LylHvt5qluFaBT3I5h3r1ejfR056c+FCv+NnNXg==} - engines: {node: 18 || 20 || >=22} + resolution: + { integrity: sha512-3O/iVVsJAPsOnpwWIeD+d6z/7PmqApyQePUtCndjatj/9I5LylHvt5qluFaBT3I5h3r1ejfR056c+FCv+NnNXg== } + engines: { node: 18 || 20 || >=22 } path-to-regexp@8.3.0: - resolution: {integrity: sha512-7jdwVIRtsP8MYpdXSwOS0YdD0Du+qOoF/AEPIt88PcCFrZCzx41oxku1jD88hZBwbNUIEfpqvuhjFaMAqMTWnA==} + resolution: + { integrity: sha512-7jdwVIRtsP8MYpdXSwOS0YdD0Du+qOoF/AEPIt88PcCFrZCzx41oxku1jD88hZBwbNUIEfpqvuhjFaMAqMTWnA== } path-type@3.0.0: - resolution: {integrity: sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==} - engines: {node: '>=4'} + resolution: + { integrity: sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg== } + engines: { node: ">=4" } path-type@4.0.0: - resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== } + engines: { node: ">=8" } pathe@2.0.3: - resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==} + resolution: + { integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w== } pend@1.2.0: - resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==} + resolution: + { integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg== } picocolors@1.1.1: - resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} + resolution: + { integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA== } picomatch@2.3.1: - resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} - engines: {node: '>=8.6'} + resolution: + { integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== } + engines: { node: ">=8.6" } picomatch@4.0.3: - resolution: {integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q== } + engines: { node: ">=12" } picomodal@3.0.0: - resolution: {integrity: sha512-FoR3TDfuLlqUvcEeK5ifpKSVVns6B4BQvc8SDF6THVMuadya6LLtji0QgUDSStw0ZR2J7I6UGi5V2V23rnPWTw==} + resolution: + { integrity: sha512-FoR3TDfuLlqUvcEeK5ifpKSVVns6B4BQvc8SDF6THVMuadya6LLtji0QgUDSStw0ZR2J7I6UGi5V2V23rnPWTw== } pify@2.3.0: - resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} - engines: {node: '>=0.10.0'} + resolution: + { integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog== } + engines: { node: ">=0.10.0" } pify@3.0.0: - resolution: {integrity: sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==} - engines: {node: '>=4'} + resolution: + { integrity: sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg== } + engines: { node: ">=4" } pkg-dir@4.2.0: - resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== } + engines: { node: ">=8" } postcss-selector-parser@7.1.1: - resolution: {integrity: sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==} - engines: {node: '>=4'} + resolution: + { integrity: sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg== } + engines: { node: ">=4" } postcss@8.5.8: - resolution: {integrity: sha512-OW/rX8O/jXnm82Ey1k44pObPtdblfiuWnrd8X7GJ7emImCOstunGbXUpp7HdBrFQX6rJzn3sPT397Wp5aCwCHg==} - engines: {node: ^10 || ^12 || >=14} + resolution: + { integrity: sha512-OW/rX8O/jXnm82Ey1k44pObPtdblfiuWnrd8X7GJ7emImCOstunGbXUpp7HdBrFQX6rJzn3sPT397Wp5aCwCHg== } + engines: { node: ^10 || ^12 || >=14 } prebuild-install@7.1.3: - resolution: {integrity: sha512-8Mf2cbV7x1cXPUILADGI3wuhfqWvtiLA1iclTDbFRZkgRQS0NqsPZphna9V+HyTEadheuPmjaJMsbzKQFOzLug==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-8Mf2cbV7x1cXPUILADGI3wuhfqWvtiLA1iclTDbFRZkgRQS0NqsPZphna9V+HyTEadheuPmjaJMsbzKQFOzLug== } + engines: { node: ">=10" } deprecated: No longer maintained. Please contact the author of the relevant native addon; alternatives are available. hasBin: true prelude-ls@1.2.1: - resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} - engines: {node: '>= 0.8.0'} + resolution: + { integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== } + engines: { node: ">= 0.8.0" } prettier-linter-helpers@1.0.1: - resolution: {integrity: sha512-SxToR7P8Y2lWmv/kTzVLC1t/GDI2WGjMwNhLLE9qtH8Q13C+aEmuRlzDst4Up4s0Wc8sF2M+J57iB3cMLqftfg==} - engines: {node: '>=6.0.0'} + resolution: + { integrity: sha512-SxToR7P8Y2lWmv/kTzVLC1t/GDI2WGjMwNhLLE9qtH8Q13C+aEmuRlzDst4Up4s0Wc8sF2M+J57iB3cMLqftfg== } + engines: { node: ">=6.0.0" } prettier-plugin-multiline-arrays@4.1.5: - resolution: {integrity: sha512-eDrP12o6egIqvPg8eCAt94L/jxzMwU6vrOOBooe3FdUPh2h4cfu90ixH1keAkqPyArM2wPsNTBCZo+tY948UdA==} - engines: {node: '>=20'} + resolution: + { integrity: sha512-eDrP12o6egIqvPg8eCAt94L/jxzMwU6vrOOBooe3FdUPh2h4cfu90ixH1keAkqPyArM2wPsNTBCZo+tY948UdA== } + engines: { node: ">=20" } peerDependencies: - prettier: '>=3.0.0 <4.0.0' + prettier: ">=3.0.0 <4.0.0" prettier@3.8.1: - resolution: {integrity: sha512-UOnG6LftzbdaHZcKoPFtOcCKztrQ57WkHDeRD9t/PTQtmT0NHSeWWepj6pS0z/N7+08BHFDQVUrfmfMRcZwbMg==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-UOnG6LftzbdaHZcKoPFtOcCKztrQ57WkHDeRD9t/PTQtmT0NHSeWWepj6pS0z/N7+08BHFDQVUrfmfMRcZwbMg== } + engines: { node: ">=14" } hasBin: true pretty-format@30.2.0: - resolution: {integrity: sha512-9uBdv/B4EefsuAL+pWqueZyZS2Ba+LxfFeQ9DN14HU4bN8bhaxKdkpjpB6fs9+pSjIBu+FXQHImEg8j/Lw0+vA==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + resolution: + { integrity: sha512-9uBdv/B4EefsuAL+pWqueZyZS2Ba+LxfFeQ9DN14HU4bN8bhaxKdkpjpB6fs9+pSjIBu+FXQHImEg8j/Lw0+vA== } + engines: { node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0 } proc-log@5.0.0: - resolution: {integrity: sha512-Azwzvl90HaF0aCz1JrDdXQykFakSSNPaPoiZ9fm5qJIMHioDZEi7OAdRwSm6rSoPtY3Qutnm3L7ogmg3dc+wbQ==} - engines: {node: ^18.17.0 || >=20.5.0} + resolution: + { integrity: sha512-Azwzvl90HaF0aCz1JrDdXQykFakSSNPaPoiZ9fm5qJIMHioDZEi7OAdRwSm6rSoPtY3Qutnm3L7ogmg3dc+wbQ== } + engines: { node: ^18.17.0 || >=20.5.0 } proc-log@6.1.0: - resolution: {integrity: sha512-iG+GYldRf2BQ0UDUAd6JQ/RwzaQy6mXmsk/IzlYyal4A4SNFw54MeH4/tLkF4I5WoWG9SQwuqWzS99jaFQHBuQ==} - engines: {node: ^20.17.0 || >=22.9.0} + resolution: + { integrity: sha512-iG+GYldRf2BQ0UDUAd6JQ/RwzaQy6mXmsk/IzlYyal4A4SNFw54MeH4/tLkF4I5WoWG9SQwuqWzS99jaFQHBuQ== } + engines: { node: ^20.17.0 || >=22.9.0 } process-nextick-args@2.0.1: - resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} + resolution: + { integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== } proggy@3.0.0: - resolution: {integrity: sha512-QE8RApCM3IaRRxVzxrjbgNMpQEX6Wu0p0KBeoSiSEw5/bsGwZHsshF4LCxH2jp/r6BU+bqA3LrMDEYNfJnpD8Q==} - engines: {node: ^18.17.0 || >=20.5.0} + resolution: + { integrity: sha512-QE8RApCM3IaRRxVzxrjbgNMpQEX6Wu0p0KBeoSiSEw5/bsGwZHsshF4LCxH2jp/r6BU+bqA3LrMDEYNfJnpD8Q== } + engines: { node: ^18.17.0 || >=20.5.0 } progress@2.0.3: - resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==} - engines: {node: '>=0.4.0'} + resolution: + { integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== } + engines: { node: ">=0.4.0" } promise-all-reject-late@1.0.1: - resolution: {integrity: sha512-vuf0Lf0lOxyQREH7GDIOUMLS7kz+gs8i6B+Yi8dC68a2sychGrHTJYghMBD6k7eUcH0H5P73EckCA48xijWqXw==} + resolution: + { integrity: sha512-vuf0Lf0lOxyQREH7GDIOUMLS7kz+gs8i6B+Yi8dC68a2sychGrHTJYghMBD6k7eUcH0H5P73EckCA48xijWqXw== } promise-call-limit@3.0.1: - resolution: {integrity: sha512-utl+0x8gIDasV5X+PI5qWEPqH6fJS0pFtQ/4gZ95xfEFb/89dmh+/b895TbFDBLiafBvxD/PGTKfvxl4kH/pQg==} + resolution: + { integrity: sha512-utl+0x8gIDasV5X+PI5qWEPqH6fJS0pFtQ/4gZ95xfEFb/89dmh+/b895TbFDBLiafBvxD/PGTKfvxl4kH/pQg== } promise-retry@2.0.1: - resolution: {integrity: sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g== } + engines: { node: ">=10" } promise@7.3.1: - resolution: {integrity: sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==} + resolution: + { integrity: sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg== } prompts@2.4.2: - resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} - engines: {node: '>= 6'} + resolution: + { integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q== } + engines: { node: ">= 6" } promzard@2.0.0: - resolution: {integrity: sha512-Ncd0vyS2eXGOjchIRg6PVCYKetJYrW1BSbbIo+bKdig61TB6nH2RQNF2uP+qMpsI73L/jURLWojcw8JNIKZ3gg==} - engines: {node: ^18.17.0 || >=20.5.0} + resolution: + { integrity: sha512-Ncd0vyS2eXGOjchIRg6PVCYKetJYrW1BSbbIo+bKdig61TB6nH2RQNF2uP+qMpsI73L/jURLWojcw8JNIKZ3gg== } + engines: { node: ^18.17.0 || >=20.5.0 } protocols@2.0.1: - resolution: {integrity: sha512-/XJ368cyBJ7fzLMwLKv1e4vLxOju2MNAIokcr7meSaNcVbWz/CPcW22cP04mwxOErdA5mwjA8Q6w/cdAQxVn7Q==} + resolution: + { integrity: sha512-/XJ368cyBJ7fzLMwLKv1e4vLxOju2MNAIokcr7meSaNcVbWz/CPcW22cP04mwxOErdA5mwjA8Q6w/cdAQxVn7Q== } proxy-addr@2.0.7: - resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} - engines: {node: '>= 0.10'} + resolution: + { integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg== } + engines: { node: ">= 0.10" } proxy-from-env@1.1.0: - resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} + resolution: + { integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== } proxy-vir@2.0.2: - resolution: {integrity: sha512-YgV6c/9aJ7RyNZDTPqLQ6SdqBocWHGUa5rU3hyEsHj2kg4/b0y0EMWp3dNNUEJQrw6BoywonNINEVyFvj97YXQ==} - engines: {node: '>=22'} + resolution: + { integrity: sha512-YgV6c/9aJ7RyNZDTPqLQ6SdqBocWHGUa5rU3hyEsHj2kg4/b0y0EMWp3dNNUEJQrw6BoywonNINEVyFvj97YXQ== } + engines: { node: ">=22" } pstree.remy@1.1.8: - resolution: {integrity: sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==} + resolution: + { integrity: sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w== } pug-attrs@3.0.0: - resolution: {integrity: sha512-azINV9dUtzPMFQktvTXciNAfAuVh/L/JCl0vtPCwvOA21uZrC08K/UnmrL+SXGEVc1FwzjW62+xw5S/uaLj6cA==} + resolution: + { integrity: sha512-azINV9dUtzPMFQktvTXciNAfAuVh/L/JCl0vtPCwvOA21uZrC08K/UnmrL+SXGEVc1FwzjW62+xw5S/uaLj6cA== } pug-code-gen@3.0.4: - resolution: {integrity: sha512-6okWYIKdasTyXICyEtvobmTZAVX57JkzgzIi4iRJlin8kmhG+Xry2dsus+Mun/nGCn6F2U49haHI5mkELXB14g==} + resolution: + { integrity: sha512-6okWYIKdasTyXICyEtvobmTZAVX57JkzgzIi4iRJlin8kmhG+Xry2dsus+Mun/nGCn6F2U49haHI5mkELXB14g== } pug-error@2.1.0: - resolution: {integrity: sha512-lv7sU9e5Jk8IeUheHata6/UThZ7RK2jnaaNztxfPYUY+VxZyk/ePVaNZ/vwmH8WqGvDz3LrNYt/+gA55NDg6Pg==} + resolution: + { integrity: sha512-lv7sU9e5Jk8IeUheHata6/UThZ7RK2jnaaNztxfPYUY+VxZyk/ePVaNZ/vwmH8WqGvDz3LrNYt/+gA55NDg6Pg== } pug-filters@4.0.0: - resolution: {integrity: sha512-yeNFtq5Yxmfz0f9z2rMXGw/8/4i1cCFecw/Q7+D0V2DdtII5UvqE12VaZ2AY7ri6o5RNXiweGH79OCq+2RQU4A==} + resolution: + { integrity: sha512-yeNFtq5Yxmfz0f9z2rMXGw/8/4i1cCFecw/Q7+D0V2DdtII5UvqE12VaZ2AY7ri6o5RNXiweGH79OCq+2RQU4A== } pug-lexer@5.0.1: - resolution: {integrity: sha512-0I6C62+keXlZPZkOJeVam9aBLVP2EnbeDw3An+k0/QlqdwH6rv8284nko14Na7c0TtqtogfWXcRoFE4O4Ff20w==} + resolution: + { integrity: sha512-0I6C62+keXlZPZkOJeVam9aBLVP2EnbeDw3An+k0/QlqdwH6rv8284nko14Na7c0TtqtogfWXcRoFE4O4Ff20w== } pug-linker@4.0.0: - resolution: {integrity: sha512-gjD1yzp0yxbQqnzBAdlhbgoJL5qIFJw78juN1NpTLt/mfPJ5VgC4BvkoD3G23qKzJtIIXBbcCt6FioLSFLOHdw==} + resolution: + { integrity: sha512-gjD1yzp0yxbQqnzBAdlhbgoJL5qIFJw78juN1NpTLt/mfPJ5VgC4BvkoD3G23qKzJtIIXBbcCt6FioLSFLOHdw== } pug-load@3.0.0: - resolution: {integrity: sha512-OCjTEnhLWZBvS4zni/WUMjH2YSUosnsmjGBB1An7CsKQarYSWQ0GCVyd4eQPMFJqZ8w9xgs01QdiZXKVjk92EQ==} + resolution: + { integrity: sha512-OCjTEnhLWZBvS4zni/WUMjH2YSUosnsmjGBB1An7CsKQarYSWQ0GCVyd4eQPMFJqZ8w9xgs01QdiZXKVjk92EQ== } pug-parser@6.0.0: - resolution: {integrity: sha512-ukiYM/9cH6Cml+AOl5kETtM9NR3WulyVP2y4HOU45DyMim1IeP/OOiyEWRr6qk5I5klpsBnbuHpwKmTx6WURnw==} + resolution: + { integrity: sha512-ukiYM/9cH6Cml+AOl5kETtM9NR3WulyVP2y4HOU45DyMim1IeP/OOiyEWRr6qk5I5klpsBnbuHpwKmTx6WURnw== } pug-runtime@3.0.1: - resolution: {integrity: sha512-L50zbvrQ35TkpHwv0G6aLSuueDRwc/97XdY8kL3tOT0FmhgG7UypU3VztfV/LATAvmUfYi4wNxSajhSAeNN+Kg==} + resolution: + { integrity: sha512-L50zbvrQ35TkpHwv0G6aLSuueDRwc/97XdY8kL3tOT0FmhgG7UypU3VztfV/LATAvmUfYi4wNxSajhSAeNN+Kg== } pug-strip-comments@2.0.0: - resolution: {integrity: sha512-zo8DsDpH7eTkPHCXFeAk1xZXJbyoTfdPlNR0bK7rpOMuhBYb0f5qUVCO1xlsitYd3w5FQTK7zpNVKb3rZoUrrQ==} + resolution: + { integrity: sha512-zo8DsDpH7eTkPHCXFeAk1xZXJbyoTfdPlNR0bK7rpOMuhBYb0f5qUVCO1xlsitYd3w5FQTK7zpNVKb3rZoUrrQ== } pug-walk@2.0.0: - resolution: {integrity: sha512-yYELe9Q5q9IQhuvqsZNwA5hfPkMJ8u92bQLIMcsMxf/VADjNtEYptU+inlufAFYcWdHlwNfZOEnOOQrZrcyJCQ==} + resolution: + { integrity: sha512-yYELe9Q5q9IQhuvqsZNwA5hfPkMJ8u92bQLIMcsMxf/VADjNtEYptU+inlufAFYcWdHlwNfZOEnOOQrZrcyJCQ== } pug@3.0.4: - resolution: {integrity: sha512-kFfq5mMzrS7+wrl5pLJzZEzemx34OQ0w4SARfhy/3yxTlhbstsudDwJzhf1hP02yHzbjoVMSXUj/Sz6RNfMyXg==} + resolution: + { integrity: sha512-kFfq5mMzrS7+wrl5pLJzZEzemx34OQ0w4SARfhy/3yxTlhbstsudDwJzhf1hP02yHzbjoVMSXUj/Sz6RNfMyXg== } pump@3.0.3: - resolution: {integrity: sha512-todwxLMY7/heScKmntwQG8CXVkWUOdYxIvY2s0VWAAMh/nd8SoYiRaKjlr7+iCs984f2P8zvrfWcDDYVb73NfA==} + resolution: + { integrity: sha512-todwxLMY7/heScKmntwQG8CXVkWUOdYxIvY2s0VWAAMh/nd8SoYiRaKjlr7+iCs984f2P8zvrfWcDDYVb73NfA== } punycode.js@2.3.1: - resolution: {integrity: sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==} - engines: {node: '>=6'} + resolution: + { integrity: sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA== } + engines: { node: ">=6" } punycode@2.3.1: - resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} - engines: {node: '>=6'} + resolution: + { integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== } + engines: { node: ">=6" } qs@6.14.0: - resolution: {integrity: sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==} - engines: {node: '>=0.6'} + resolution: + { integrity: sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w== } + engines: { node: ">=0.6" } queue-microtask@1.2.3: - resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + resolution: + { integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== } quick-lru@4.0.1: - resolution: {integrity: sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g== } + engines: { node: ">=8" } quick-lru@5.1.1: - resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA== } + engines: { node: ">=10" } range-parser@1.2.1: - resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} - engines: {node: '>= 0.6'} + resolution: + { integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== } + engines: { node: ">= 0.6" } raw-body@3.0.2: - resolution: {integrity: sha512-K5zQjDllxWkf7Z5xJdV0/B0WTNqx6vxG70zJE4N0kBs4LovmEYWJzQGxC9bS9RAKu3bgM40lrd5zoLJ12MQ5BA==} - engines: {node: '>= 0.10'} + resolution: + { integrity: sha512-K5zQjDllxWkf7Z5xJdV0/B0WTNqx6vxG70zJE4N0kBs4LovmEYWJzQGxC9bS9RAKu3bgM40lrd5zoLJ12MQ5BA== } + engines: { node: ">= 0.10" } rc@1.2.8: - resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} + resolution: + { integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== } hasBin: true react-is@18.3.1: - resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} + resolution: + { integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg== } read-cmd-shim@4.0.0: - resolution: {integrity: sha512-yILWifhaSEEytfXI76kB9xEEiG1AiozaCJZ83A87ytjRiN+jVibXjedjCRNjoZviinhG+4UkalO3mWTd8u5O0Q==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + resolution: + { integrity: sha512-yILWifhaSEEytfXI76kB9xEEiG1AiozaCJZ83A87ytjRiN+jVibXjedjCRNjoZviinhG+4UkalO3mWTd8u5O0Q== } + engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } read-cmd-shim@5.0.0: - resolution: {integrity: sha512-SEbJV7tohp3DAAILbEMPXavBjAnMN0tVnh4+9G8ihV4Pq3HYF9h8QNez9zkJ1ILkv9G2BjdzwctznGZXgu/HGw==} - engines: {node: ^18.17.0 || >=20.5.0} + resolution: + { integrity: sha512-SEbJV7tohp3DAAILbEMPXavBjAnMN0tVnh4+9G8ihV4Pq3HYF9h8QNez9zkJ1ILkv9G2BjdzwctznGZXgu/HGw== } + engines: { node: ^18.17.0 || >=20.5.0 } read-pkg-up@3.0.0: - resolution: {integrity: sha512-YFzFrVvpC6frF1sz8psoHDBGF7fLPc+llq/8NB43oagqWkx8ar5zYtsTORtOjw9W2RHLpWP+zTWwBvf1bCmcSw==} - engines: {node: '>=4'} + resolution: + { integrity: sha512-YFzFrVvpC6frF1sz8psoHDBGF7fLPc+llq/8NB43oagqWkx8ar5zYtsTORtOjw9W2RHLpWP+zTWwBvf1bCmcSw== } + engines: { node: ">=4" } read-pkg-up@7.0.1: - resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg== } + engines: { node: ">=8" } read-pkg@3.0.0: - resolution: {integrity: sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==} - engines: {node: '>=4'} + resolution: + { integrity: sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA== } + engines: { node: ">=4" } read-pkg@5.2.0: - resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg== } + engines: { node: ">=8" } read@4.1.0: - resolution: {integrity: sha512-uRfX6K+f+R8OOrYScaM3ixPY4erg69f8DN6pgTvMcA9iRc8iDhwrA4m3Yu8YYKsXJgVvum+m8PkRboZwwuLzYA==} - engines: {node: ^18.17.0 || >=20.5.0} + resolution: + { integrity: sha512-uRfX6K+f+R8OOrYScaM3ixPY4erg69f8DN6pgTvMcA9iRc8iDhwrA4m3Yu8YYKsXJgVvum+m8PkRboZwwuLzYA== } + engines: { node: ^18.17.0 || >=20.5.0 } readable-stream@1.0.34: - resolution: {integrity: sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==} + resolution: + { integrity: sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg== } readable-stream@2.3.8: - resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} + resolution: + { integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== } readable-stream@3.6.2: - resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} - engines: {node: '>= 6'} + resolution: + { integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== } + engines: { node: ">= 6" } readdirp@3.6.0: - resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} - engines: {node: '>=8.10.0'} + resolution: + { integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== } + engines: { node: ">=8.10.0" } readdirp@4.1.2: - resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==} - engines: {node: '>= 14.18.0'} + resolution: + { integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg== } + engines: { node: ">= 14.18.0" } readjson@2.2.2: - resolution: {integrity: sha512-PdeC9tsmLWBiL8vMhJvocq+OezQ3HhsH2HrN7YkhfYcTjQSa/iraB15A7Qvt7Xpr0Yd2rDNt6GbFwVQDg3HcAw==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-PdeC9tsmLWBiL8vMhJvocq+OezQ3HhsH2HrN7YkhfYcTjQSa/iraB15A7Qvt7Xpr0Yd2rDNt6GbFwVQDg3HcAw== } + engines: { node: ">=10" } rechoir@0.8.0: - resolution: {integrity: sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==} - engines: {node: '>= 10.13.0'} + resolution: + { integrity: sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ== } + engines: { node: ">= 10.13.0" } redent@3.0.0: - resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg== } + engines: { node: ">=8" } regexp-tree@0.1.27: - resolution: {integrity: sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==} + resolution: + { integrity: sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA== } hasBin: true require-directory@2.1.1: - resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} - engines: {node: '>=0.10.0'} + resolution: + { integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== } + engines: { node: ">=0.10.0" } require-from-string@2.0.2: - resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} - engines: {node: '>=0.10.0'} + resolution: + { integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== } + engines: { node: ">=0.10.0" } reserved-identifiers@1.2.0: - resolution: {integrity: sha512-yE7KUfFvaBFzGPs5H3Ops1RevfUEsDc5Iz65rOwWg4lE8HJSYtle77uul3+573457oHvBKuHYDl/xqUkKpEEdw==} - engines: {node: '>=18'} + resolution: + { integrity: sha512-yE7KUfFvaBFzGPs5H3Ops1RevfUEsDc5Iz65rOwWg4lE8HJSYtle77uul3+573457oHvBKuHYDl/xqUkKpEEdw== } + engines: { node: ">=18" } resolve-alpn@1.2.1: - resolution: {integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==} + resolution: + { integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g== } resolve-cwd@3.0.0: - resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg== } + engines: { node: ">=8" } resolve-from@4.0.0: - resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} - engines: {node: '>=4'} + resolution: + { integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== } + engines: { node: ">=4" } resolve-from@5.0.0: - resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== } + engines: { node: ">=8" } resolve.exports@2.0.3: - resolution: {integrity: sha512-OcXjMsGdhL4XnbShKpAcSqPMzQoYkYyhbEaeSko47MjRP9NfEQMhZkXL1DoFlt9LWQn4YttrdnV6X2OiyzBi+A==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-OcXjMsGdhL4XnbShKpAcSqPMzQoYkYyhbEaeSko47MjRP9NfEQMhZkXL1DoFlt9LWQn4YttrdnV6X2OiyzBi+A== } + engines: { node: ">=10" } resolve@1.22.10: - resolution: {integrity: sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==} - engines: {node: '>= 0.4'} + resolution: + { integrity: sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w== } + engines: { node: ">= 0.4" } hasBin: true responselike@2.0.1: - resolution: {integrity: sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==} + resolution: + { integrity: sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw== } restore-cursor@3.1.0: - resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== } + engines: { node: ">=8" } retry@0.12.0: - resolution: {integrity: sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==} - engines: {node: '>= 4'} + resolution: + { integrity: sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow== } + engines: { node: ">= 4" } reusify@1.0.4: - resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} - engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + resolution: + { integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== } + engines: { iojs: ">=1.0.0", node: ">=0.10.0" } rimraf@3.0.2: - resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + resolution: + { integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== } deprecated: Rimraf versions prior to v4 are no longer supported hasBin: true rimraf@6.1.3: - resolution: {integrity: sha512-LKg+Cr2ZF61fkcaK1UdkH2yEBBKnYjTyWzTJT6KNPcSPaiT7HSdhtMXQuN5wkTX0Xu72KQ1l8S42rlmexS2hSA==} - engines: {node: 20 || >=22} + resolution: + { integrity: sha512-LKg+Cr2ZF61fkcaK1UdkH2yEBBKnYjTyWzTJT6KNPcSPaiT7HSdhtMXQuN5wkTX0Xu72KQ1l8S42rlmexS2hSA== } + engines: { node: 20 || >=22 } hasBin: true roarr@2.15.4: - resolution: {integrity: sha512-CHhPh+UNHD2GTXNYhPWLnU8ONHdI+5DI+4EYIAOaiD63rHeYlZvyh8P+in5999TTSFgUYuKUAjzRI4mdh/p+2A==} - engines: {node: '>=8.0'} + resolution: + { integrity: sha512-CHhPh+UNHD2GTXNYhPWLnU8ONHdI+5DI+4EYIAOaiD63rHeYlZvyh8P+in5999TTSFgUYuKUAjzRI4mdh/p+2A== } + engines: { node: ">=8.0" } rolldown@1.0.0-rc.10: - resolution: {integrity: sha512-q7j6vvarRFmKpgJUT8HCAUljkgzEp4LAhPlJUvQhA5LA1SUL36s5QCysMutErzL3EbNOZOkoziSx9iZC4FddKA==} - engines: {node: ^20.19.0 || >=22.12.0} + resolution: + { integrity: sha512-q7j6vvarRFmKpgJUT8HCAUljkgzEp4LAhPlJUvQhA5LA1SUL36s5QCysMutErzL3EbNOZOkoziSx9iZC4FddKA== } + engines: { node: ^20.19.0 || >=22.12.0 } hasBin: true rollup@4.59.0: - resolution: {integrity: sha512-2oMpl67a3zCH9H79LeMcbDhXW/UmWG/y2zuqnF2jQq5uq9TbM9TVyXvA4+t+ne2IIkBdrLpAaRQAvo7YI/Yyeg==} - engines: {node: '>=18.0.0', npm: '>=8.0.0'} + resolution: + { integrity: sha512-2oMpl67a3zCH9H79LeMcbDhXW/UmWG/y2zuqnF2jQq5uq9TbM9TVyXvA4+t+ne2IIkBdrLpAaRQAvo7YI/Yyeg== } + engines: { node: ">=18.0.0", npm: ">=8.0.0" } hasBin: true router@2.2.0: - resolution: {integrity: sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==} - engines: {node: '>= 18'} + resolution: + { integrity: sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ== } + engines: { node: ">= 18" } run-async@4.0.6: - resolution: {integrity: sha512-IoDlSLTs3Yq593mb3ZoKWKXMNu3UpObxhgA/Xuid5p4bbfi2jdY1Hj0m1K+0/tEuQTxIGMhQDqGjKb7RuxGpAQ==} - engines: {node: '>=0.12.0'} + resolution: + { integrity: sha512-IoDlSLTs3Yq593mb3ZoKWKXMNu3UpObxhgA/Xuid5p4bbfi2jdY1Hj0m1K+0/tEuQTxIGMhQDqGjKb7RuxGpAQ== } + engines: { node: ">=0.12.0" } run-parallel@1.2.0: - resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + resolution: + { integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== } rxjs@7.8.2: - resolution: {integrity: sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==} + resolution: + { integrity: sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA== } safe-buffer@5.1.2: - resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} + resolution: + { integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== } safe-buffer@5.2.1: - resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + resolution: + { integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== } safe-regex@2.1.1: - resolution: {integrity: sha512-rx+x8AMzKb5Q5lQ95Zoi6ZbJqwCLkqi3XuJXp5P3rT8OEc6sZCJG5AE5dU3lsgRr/F4Bs31jSlVN+j5KrsGu9A==} + resolution: + { integrity: sha512-rx+x8AMzKb5Q5lQ95Zoi6ZbJqwCLkqi3XuJXp5P3rT8OEc6sZCJG5AE5dU3lsgRr/F4Bs31jSlVN+j5KrsGu9A== } safe-stable-stringify@2.5.0: - resolution: {integrity: sha512-b3rppTKm9T+PsVCBEOUR46GWI7fdOs00VKZ1+9c1EWDaDMvjQc6tUwuFyIprgGgTcWoVHSKrU8H31ZHA2e0RHA==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-b3rppTKm9T+PsVCBEOUR46GWI7fdOs00VKZ1+9c1EWDaDMvjQc6tUwuFyIprgGgTcWoVHSKrU8H31ZHA2e0RHA== } + engines: { node: ">=10" } safer-buffer@2.1.2: - resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + resolution: + { integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== } sass@1.98.0: - resolution: {integrity: sha512-+4N/u9dZ4PrgzGgPlKnaaRQx64RO0JBKs9sDhQ2pLgN6JQZ25uPQZKQYaBJU48Kd5BxgXoJ4e09Dq7nMcOUW3A==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-+4N/u9dZ4PrgzGgPlKnaaRQx64RO0JBKs9sDhQ2pLgN6JQZ25uPQZKQYaBJU48Kd5BxgXoJ4e09Dq7nMcOUW3A== } + engines: { node: ">=14.0.0" } hasBin: true sax@1.4.1: - resolution: {integrity: sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==} + resolution: + { integrity: sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg== } sax@1.5.0: - resolution: {integrity: sha512-21IYA3Q5cQf089Z6tgaUTr7lDAyzoTPx5HRtbhsME8Udispad8dC/+sziTNugOEx54ilvatQ9YCzl4KQLPcRHA==} - engines: {node: '>=11.0.0'} + resolution: + { integrity: sha512-21IYA3Q5cQf089Z6tgaUTr7lDAyzoTPx5HRtbhsME8Udispad8dC/+sziTNugOEx54ilvatQ9YCzl4KQLPcRHA== } + engines: { node: ">=11.0.0" } saxes@6.0.0: - resolution: {integrity: sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==} - engines: {node: '>=v12.22.7'} + resolution: + { integrity: sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA== } + engines: { node: ">=v12.22.7" } schema-utils@4.3.3: - resolution: {integrity: sha512-eflK8wEtyOE6+hsaRVPxvUKYCpRgzLqDTb8krvAsRIwOGlHoSgYLgBXoubGgLd2fT41/OUYdb48v4k4WWHQurA==} - engines: {node: '>= 10.13.0'} + resolution: + { integrity: sha512-eflK8wEtyOE6+hsaRVPxvUKYCpRgzLqDTb8krvAsRIwOGlHoSgYLgBXoubGgLd2fT41/OUYdb48v4k4WWHQurA== } + engines: { node: ">= 10.13.0" } semver-compare@1.0.0: - resolution: {integrity: sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==} + resolution: + { integrity: sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow== } semver@5.7.2: - resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} + resolution: + { integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g== } hasBin: true semver@6.3.1: - resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} + resolution: + { integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== } hasBin: true semver@7.7.2: - resolution: {integrity: sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA== } + engines: { node: ">=10" } hasBin: true semver@7.7.4: - resolution: {integrity: sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA== } + engines: { node: ">=10" } hasBin: true send@1.2.1: - resolution: {integrity: sha512-1gnZf7DFcoIcajTjTwjwuDjzuz4PPcY2StKPlsGAQ1+YH20IRVrBaXSWmdjowTJ6u8Rc01PoYOGHXfP1mYcZNQ==} - engines: {node: '>= 18'} + resolution: + { integrity: sha512-1gnZf7DFcoIcajTjTwjwuDjzuz4PPcY2StKPlsGAQ1+YH20IRVrBaXSWmdjowTJ6u8Rc01PoYOGHXfP1mYcZNQ== } + engines: { node: ">= 18" } seq-logging@3.0.0: - resolution: {integrity: sha512-ys5QV0745vxBCWuZBPSkgoobuLoUMxTSz1g7ZclHqX1tXXKFLyRIIn8V89EPgDnfRiWfoSo4KSxy/E0MtOYYyw==} - engines: {node: '>=14.18'} + resolution: + { integrity: sha512-ys5QV0745vxBCWuZBPSkgoobuLoUMxTSz1g7ZclHqX1tXXKFLyRIIn8V89EPgDnfRiWfoSo4KSxy/E0MtOYYyw== } + engines: { node: ">=14.18" } serialize-error@7.0.1: - resolution: {integrity: sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw== } + engines: { node: ">=10" } serve-static@2.2.1: - resolution: {integrity: sha512-xRXBn0pPqQTVQiC8wyQrKs2MOlX24zQ0POGaj0kultvoOCstBQM5yvOhAVSUwOMjQtTvsPWoNCHfPGwaaQJhTw==} - engines: {node: '>= 18'} + resolution: + { integrity: sha512-xRXBn0pPqQTVQiC8wyQrKs2MOlX24zQ0POGaj0kultvoOCstBQM5yvOhAVSUwOMjQtTvsPWoNCHfPGwaaQJhTw== } + engines: { node: ">= 18" } set-function-length@1.2.2: - resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} - engines: {node: '>= 0.4'} + resolution: + { integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg== } + engines: { node: ">= 0.4" } setprototypeof@1.2.0: - resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} + resolution: + { integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== } shallow-clone@3.0.1: - resolution: {integrity: sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA== } + engines: { node: ">=8" } shebang-command@2.0.0: - resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== } + engines: { node: ">=8" } shebang-regex@3.0.0: - resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== } + engines: { node: ">=8" } shell-quote@1.8.3: - resolution: {integrity: sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==} - engines: {node: '>= 0.4'} + resolution: + { integrity: sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw== } + engines: { node: ">= 0.4" } side-channel-list@1.0.0: - resolution: {integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==} - engines: {node: '>= 0.4'} + resolution: + { integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA== } + engines: { node: ">= 0.4" } side-channel-map@1.0.1: - resolution: {integrity: sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==} - engines: {node: '>= 0.4'} + resolution: + { integrity: sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA== } + engines: { node: ">= 0.4" } side-channel-weakmap@1.0.2: - resolution: {integrity: sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==} - engines: {node: '>= 0.4'} + resolution: + { integrity: sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A== } + engines: { node: ">= 0.4" } side-channel@1.1.0: - resolution: {integrity: sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==} - engines: {node: '>= 0.4'} + resolution: + { integrity: sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw== } + engines: { node: ">= 0.4" } siginfo@2.0.0: - resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} + resolution: + { integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g== } signal-exit@3.0.7: - resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + resolution: + { integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== } signal-exit@4.1.0: - resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw== } + engines: { node: ">=14" } sigstore@4.1.0: - resolution: {integrity: sha512-/fUgUhYghuLzVT/gaJoeVehLCgZiUxPCPMcyVNY0lIf/cTCz58K/WTI7PefDarXxp9nUKpEwg1yyz3eSBMTtgA==} - engines: {node: ^20.17.0 || >=22.9.0} + resolution: + { integrity: sha512-/fUgUhYghuLzVT/gaJoeVehLCgZiUxPCPMcyVNY0lIf/cTCz58K/WTI7PefDarXxp9nUKpEwg1yyz3eSBMTtgA== } + engines: { node: ^20.17.0 || >=22.9.0 } simple-concat@1.0.1: - resolution: {integrity: sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==} + resolution: + { integrity: sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q== } simple-get@4.0.1: - resolution: {integrity: sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==} + resolution: + { integrity: sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA== } simple-update-notifier@2.0.0: - resolution: {integrity: sha512-a2B9Y0KlNXl9u/vsW6sTIu9vGEpfKu2wRV6l1H3XEas/0gUIzGzBoP/IouTcUQbm9JWZLH3COxyn03TYlFax6w==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-a2B9Y0KlNXl9u/vsW6sTIu9vGEpfKu2wRV6l1H3XEas/0gUIzGzBoP/IouTcUQbm9JWZLH3COxyn03TYlFax6w== } + engines: { node: ">=10" } sirv@3.0.2: - resolution: {integrity: sha512-2wcC/oGxHis/BoHkkPwldgiPSYcpZK3JU28WoMVv55yHJgcZ8rlXvuG9iZggz+sU1d4bRgIGASwyWqjxu3FM0g==} - engines: {node: '>=18'} + resolution: + { integrity: sha512-2wcC/oGxHis/BoHkkPwldgiPSYcpZK3JU28WoMVv55yHJgcZ8rlXvuG9iZggz+sU1d4bRgIGASwyWqjxu3FM0g== } + engines: { node: ">=18" } sisteransi@1.0.5: - resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} + resolution: + { integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== } slash@3.0.0: - resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== } + engines: { node: ">=8" } smart-buffer@4.2.0: - resolution: {integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==} - engines: {node: '>= 6.0.0', npm: '>= 3.0.0'} + resolution: + { integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg== } + engines: { node: ">= 6.0.0", npm: ">= 3.0.0" } socks-proxy-agent@8.0.5: - resolution: {integrity: sha512-HehCEsotFqbPW9sJ8WVYB6UbmIMv7kUUORIF2Nncq4VQvBfNBLibW9YZR5dlYCSUhwcD628pRllm7n+E+YTzJw==} - engines: {node: '>= 14'} + resolution: + { integrity: sha512-HehCEsotFqbPW9sJ8WVYB6UbmIMv7kUUORIF2Nncq4VQvBfNBLibW9YZR5dlYCSUhwcD628pRllm7n+E+YTzJw== } + engines: { node: ">= 14" } socks@2.8.7: - resolution: {integrity: sha512-HLpt+uLy/pxB+bum/9DzAgiKS8CX1EvbWxI4zlmgGCExImLdiad2iCwXT5Z4c9c3Eq8rP2318mPW2c+QbtjK8A==} - engines: {node: '>= 10.0.0', npm: '>= 3.0.0'} + resolution: + { integrity: sha512-HLpt+uLy/pxB+bum/9DzAgiKS8CX1EvbWxI4zlmgGCExImLdiad2iCwXT5Z4c9c3Eq8rP2318mPW2c+QbtjK8A== } + engines: { node: ">= 10.0.0", npm: ">= 3.0.0" } source-map-js@1.2.1: - resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} - engines: {node: '>=0.10.0'} + resolution: + { integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA== } + engines: { node: ">=0.10.0" } source-map-support@0.5.21: - resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} + resolution: + { integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== } source-map@0.6.1: - resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} - engines: {node: '>=0.10.0'} + resolution: + { integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== } + engines: { node: ">=0.10.0" } source-map@0.7.4: - resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==} - engines: {node: '>= 8'} + resolution: + { integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA== } + engines: { node: ">= 8" } spdx-correct@3.2.0: - resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} + resolution: + { integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA== } spdx-exceptions@2.3.0: - resolution: {integrity: sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==} + resolution: + { integrity: sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== } spdx-expression-parse@3.0.1: - resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} + resolution: + { integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== } spdx-expression-parse@4.0.0: - resolution: {integrity: sha512-Clya5JIij/7C6bRR22+tnGXbc4VKlibKSVj2iHvVeX5iMW7s1SIQlqu699JkODJJIhh/pUu8L0/VLh8xflD+LQ==} + resolution: + { integrity: sha512-Clya5JIij/7C6bRR22+tnGXbc4VKlibKSVj2iHvVeX5iMW7s1SIQlqu699JkODJJIhh/pUu8L0/VLh8xflD+LQ== } spdx-license-ids@3.0.13: - resolution: {integrity: sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w==} + resolution: + { integrity: sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w== } split2@3.2.2: - resolution: {integrity: sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==} + resolution: + { integrity: sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg== } split@1.0.1: - resolution: {integrity: sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==} + resolution: + { integrity: sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg== } sprintf-js@1.0.3: - resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} + resolution: + { integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== } sprintf-js@1.1.3: - resolution: {integrity: sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==} + resolution: + { integrity: sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA== } ssri@12.0.0: - resolution: {integrity: sha512-S7iGNosepx9RadX82oimUkvr0Ct7IjJbEbs4mJcTxst8um95J3sDYU1RBEOvdu6oL1Wek2ODI5i4MAw+dZ6cAQ==} - engines: {node: ^18.17.0 || >=20.5.0} + resolution: + { integrity: sha512-S7iGNosepx9RadX82oimUkvr0Ct7IjJbEbs4mJcTxst8um95J3sDYU1RBEOvdu6oL1Wek2ODI5i4MAw+dZ6cAQ== } + engines: { node: ^18.17.0 || >=20.5.0 } ssri@13.0.0: - resolution: {integrity: sha512-yizwGBpbCn4YomB2lzhZqrHLJoqFGXihNbib3ozhqF/cIp5ue+xSmOQrjNasEE62hFxsCcg/V/z23t4n8jMEng==} - engines: {node: ^20.17.0 || >=22.9.0} + resolution: + { integrity: sha512-yizwGBpbCn4YomB2lzhZqrHLJoqFGXihNbib3ozhqF/cIp5ue+xSmOQrjNasEE62hFxsCcg/V/z23t4n8jMEng== } + engines: { node: ^20.17.0 || >=22.9.0 } stack-trace@0.0.10: - resolution: {integrity: sha512-KGzahc7puUKkzyMt+IqAep+TVNbKP+k2Lmwhub39m1AsTSkaDutx56aDCo+HLDzf/D26BIHTJWNiTG1KAJiQCg==} + resolution: + { integrity: sha512-KGzahc7puUKkzyMt+IqAep+TVNbKP+k2Lmwhub39m1AsTSkaDutx56aDCo+HLDzf/D26BIHTJWNiTG1KAJiQCg== } stackback@0.0.2: - resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} + resolution: + { integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw== } stats.ts@2.1.6: - resolution: {integrity: sha512-2oitRIDbcfRjpC3q+YGXtFld4y7BjLSTlFuRtitbkLFTucLpInG/0whMqIqP9B3LqrUfhcK8lKgZRDebTz++7w==} + resolution: + { integrity: sha512-2oitRIDbcfRjpC3q+YGXtFld4y7BjLSTlFuRtitbkLFTucLpInG/0whMqIqP9B3LqrUfhcK8lKgZRDebTz++7w== } statuses@2.0.1: - resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} - engines: {node: '>= 0.8'} + resolution: + { integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== } + engines: { node: ">= 0.8" } statuses@2.0.2: - resolution: {integrity: sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==} - engines: {node: '>= 0.8'} + resolution: + { integrity: sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw== } + engines: { node: ">= 0.8" } std-env@4.0.0: - resolution: {integrity: sha512-zUMPtQ/HBY3/50VbpkupYHbRroTRZJPRLvreamgErJVys0ceuzMkD44J/QjqhHjOzK42GQ3QZIeFG1OYfOtKqQ==} + resolution: + { integrity: sha512-zUMPtQ/HBY3/50VbpkupYHbRroTRZJPRLvreamgErJVys0ceuzMkD44J/QjqhHjOzK42GQ3QZIeFG1OYfOtKqQ== } string-width@4.2.3: - resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== } + engines: { node: ">=8" } string-width@5.1.2: - resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA== } + engines: { node: ">=12" } string-width@7.2.0: - resolution: {integrity: sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==} - engines: {node: '>=18'} + resolution: + { integrity: sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ== } + engines: { node: ">=18" } string_decoder@0.10.31: - resolution: {integrity: sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==} + resolution: + { integrity: sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ== } string_decoder@1.1.1: - resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} + resolution: + { integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== } string_decoder@1.3.0: - resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} + resolution: + { integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== } strip-ansi@6.0.1: - resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== } + engines: { node: ">=8" } strip-ansi@7.1.0: - resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ== } + engines: { node: ">=12" } strip-bom@3.0.0: - resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} - engines: {node: '>=4'} + resolution: + { integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA== } + engines: { node: ">=4" } strip-bom@4.0.0: - resolution: {integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w== } + engines: { node: ">=8" } strip-final-newline@2.0.0: - resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} - engines: {node: '>=6'} + resolution: + { integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== } + engines: { node: ">=6" } strip-indent@3.0.0: - resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ== } + engines: { node: ">=8" } strip-json-comments@2.0.1: - resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} - engines: {node: '>=0.10.0'} + resolution: + { integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ== } + engines: { node: ">=0.10.0" } strip-outer@1.0.1: - resolution: {integrity: sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==} - engines: {node: '>=0.10.0'} + resolution: + { integrity: sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg== } + engines: { node: ">=0.10.0" } stylus@0.64.0: - resolution: {integrity: sha512-ZIdT8eUv8tegmqy1tTIdJv9We2DumkNZFdCF5mz/Kpq3OcTaxSuCAYZge6HKK2CmNC02G1eJig2RV7XTw5hQrA==} - engines: {node: '>=16'} + resolution: + { integrity: sha512-ZIdT8eUv8tegmqy1tTIdJv9We2DumkNZFdCF5mz/Kpq3OcTaxSuCAYZge6HKK2CmNC02G1eJig2RV7XTw5hQrA== } + engines: { node: ">=16" } hasBin: true sumchecker@3.0.1: - resolution: {integrity: sha512-MvjXzkz/BOfyVDkG0oFOtBxHX2u3gKbMHIF/dXblZsgD3BWOFLmHovIpZY7BykJdAjcqRCBi1WYBNdEC9yI7vg==} - engines: {node: '>= 8.0'} + resolution: + { integrity: sha512-MvjXzkz/BOfyVDkG0oFOtBxHX2u3gKbMHIF/dXblZsgD3BWOFLmHovIpZY7BykJdAjcqRCBi1WYBNdEC9yI7vg== } + engines: { node: ">= 8.0" } supports-color@5.5.0: - resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} - engines: {node: '>=4'} + resolution: + { integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== } + engines: { node: ">=4" } supports-color@7.2.0: - resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== } + engines: { node: ">=8" } supports-color@8.1.1: - resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== } + engines: { node: ">=10" } supports-preserve-symlinks-flag@1.0.0: - resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} - engines: {node: '>= 0.4'} + resolution: + { integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== } + engines: { node: ">= 0.4" } svgo@4.0.1: - resolution: {integrity: sha512-XDpWUOPC6FEibaLzjfe0ucaV0YrOjYotGJO1WpF0Zd+n6ZGEQUsSugaoLq9QkEZtAfQIxT42UChcssDVPP3+/w==} - engines: {node: '>=16'} + resolution: + { integrity: sha512-XDpWUOPC6FEibaLzjfe0ucaV0YrOjYotGJO1WpF0Zd+n6ZGEQUsSugaoLq9QkEZtAfQIxT42UChcssDVPP3+/w== } + engines: { node: ">=16" } hasBin: true swc-loader@0.2.7: - resolution: {integrity: sha512-nwYWw3Fh9ame3Rtm7StS9SBLpHRRnYcK7bnpF3UKZmesAK0gw2/ADvlURFAINmPvKtDLzp+GBiP9yLoEjg6S9w==} + resolution: + { integrity: sha512-nwYWw3Fh9ame3Rtm7StS9SBLpHRRnYcK7bnpF3UKZmesAK0gw2/ADvlURFAINmPvKtDLzp+GBiP9yLoEjg6S9w== } peerDependencies: - '@swc/core': ^1.2.147 - webpack: '>=2' + "@swc/core": ^1.2.147 + webpack: ">=2" symbol-tree@3.2.4: - resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==} + resolution: + { integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== } synckit@0.11.12: - resolution: {integrity: sha512-Bh7QjT8/SuKUIfObSXNHNSK6WHo6J1tHCqJsuaFDP7gP0fkzSfTxI8y85JrppZ0h8l0maIgc2tfuZQ6/t3GtnQ==} - engines: {node: ^14.18.0 || >=16.0.0} + resolution: + { integrity: sha512-Bh7QjT8/SuKUIfObSXNHNSK6WHo6J1tHCqJsuaFDP7gP0fkzSfTxI8y85JrppZ0h8l0maIgc2tfuZQ6/t3GtnQ== } + engines: { node: ^14.18.0 || >=16.0.0 } tagged-tag@1.0.0: - resolution: {integrity: sha512-yEFYrVhod+hdNyx7g5Bnkkb0G6si8HJurOoOEgC8B/O0uXLHlaey/65KRv6cuWBNhBgHKAROVpc7QyYqE5gFng==} - engines: {node: '>=20'} + resolution: + { integrity: sha512-yEFYrVhod+hdNyx7g5Bnkkb0G6si8HJurOoOEgC8B/O0uXLHlaey/65KRv6cuWBNhBgHKAROVpc7QyYqE5gFng== } + engines: { node: ">=20" } tapable@2.3.0: - resolution: {integrity: sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==} - engines: {node: '>=6'} + resolution: + { integrity: sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg== } + engines: { node: ">=6" } tar-fs@2.1.2: - resolution: {integrity: sha512-EsaAXwxmx8UB7FRKqeozqEPop69DXcmYwTQwXvyAPF352HJsPdkVhvTaDPYqfNgruveJIJy3TA2l+2zj8LJIJA==} + resolution: + { integrity: sha512-EsaAXwxmx8UB7FRKqeozqEPop69DXcmYwTQwXvyAPF352HJsPdkVhvTaDPYqfNgruveJIJy3TA2l+2zj8LJIJA== } tar-stream@2.2.0: - resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==} - engines: {node: '>=6'} + resolution: + { integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ== } + engines: { node: ">=6" } tar@6.2.1: - resolution: {integrity: sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A== } + engines: { node: ">=10" } deprecated: Old versions of tar are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me tar@7.5.11: - resolution: {integrity: sha512-ChjMH33/KetonMTAtpYdgUFr0tbz69Fp2v7zWxQfYZX4g5ZN2nOBXm1R2xyA+lMIKrLKIoKAwFj93jE/avX9cQ==} - engines: {node: '>=18'} + resolution: + { integrity: sha512-ChjMH33/KetonMTAtpYdgUFr0tbz69Fp2v7zWxQfYZX4g5ZN2nOBXm1R2xyA+lMIKrLKIoKAwFj93jE/avX9cQ== } + engines: { node: ">=18" } terser-webpack-plugin@5.4.0: - resolution: {integrity: sha512-Bn5vxm48flOIfkdl5CaD2+1CiUVbonWQ3KQPyP7/EuIl9Gbzq/gQFOzaMFUEgVjB1396tcK0SG8XcNJ/2kDH8g==} - engines: {node: '>= 10.13.0'} + resolution: + { integrity: sha512-Bn5vxm48flOIfkdl5CaD2+1CiUVbonWQ3KQPyP7/EuIl9Gbzq/gQFOzaMFUEgVjB1396tcK0SG8XcNJ/2kDH8g== } + engines: { node: ">= 10.13.0" } peerDependencies: - '@swc/core': '*' - esbuild: '*' - uglify-js: '*' + "@swc/core": "*" + esbuild: "*" + uglify-js: "*" webpack: ^5.1.0 peerDependenciesMeta: - '@swc/core': + "@swc/core": optional: true esbuild: optional: true @@ -7780,370 +9062,455 @@ packages: optional: true terser@5.44.1: - resolution: {integrity: sha512-t/R3R/n0MSwnnazuPpPNVO60LX0SKL45pyl9YlvxIdkH0Of7D5qM2EVe+yASRIlY5pZ73nclYJfNANGWPwFDZw==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-t/R3R/n0MSwnnazuPpPNVO60LX0SKL45pyl9YlvxIdkH0Of7D5qM2EVe+yASRIlY5pZ73nclYJfNANGWPwFDZw== } + engines: { node: ">=10" } hasBin: true terser@5.46.0: - resolution: {integrity: sha512-jTwoImyr/QbOWFFso3YoU3ik0jBBDJ6JTOQiy/J2YxVJdZCc+5u7skhNwiOR3FQIygFqVUPHl7qbbxtjW2K3Qg==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-jTwoImyr/QbOWFFso3YoU3ik0jBBDJ6JTOQiy/J2YxVJdZCc+5u7skhNwiOR3FQIygFqVUPHl7qbbxtjW2K3Qg== } + engines: { node: ">=10" } hasBin: true text-extensions@1.9.0: - resolution: {integrity: sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ==} - engines: {node: '>=0.10'} + resolution: + { integrity: sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ== } + engines: { node: ">=0.10" } text-hex@1.0.0: - resolution: {integrity: sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg==} + resolution: + { integrity: sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg== } through2@2.0.5: - resolution: {integrity: sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==} + resolution: + { integrity: sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ== } through@2.3.8: - resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} + resolution: + { integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg== } tinybench@2.9.0: - resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==} + resolution: + { integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg== } tinyexec@1.0.2: - resolution: {integrity: sha512-W/KYk+NFhkmsYpuHq5JykngiOCnxeVL8v8dFnqxSD8qEEdRfXk1SDM6JzNqcERbcGYj9tMrDQBYV9cjgnunFIg==} - engines: {node: '>=18'} + resolution: + { integrity: sha512-W/KYk+NFhkmsYpuHq5JykngiOCnxeVL8v8dFnqxSD8qEEdRfXk1SDM6JzNqcERbcGYj9tMrDQBYV9cjgnunFIg== } + engines: { node: ">=18" } tinyglobby@0.2.12: - resolution: {integrity: sha512-qkf4trmKSIiMTs/E63cxH+ojC2unam7rJ0WrauAzpT3ECNTxGRMlaXxVbfxMUC/w0LaYk6jQ4y/nGR9uBO3tww==} - engines: {node: '>=12.0.0'} + resolution: + { integrity: sha512-qkf4trmKSIiMTs/E63cxH+ojC2unam7rJ0WrauAzpT3ECNTxGRMlaXxVbfxMUC/w0LaYk6jQ4y/nGR9uBO3tww== } + engines: { node: ">=12.0.0" } tinyglobby@0.2.15: - resolution: {integrity: sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==} - engines: {node: '>=12.0.0'} + resolution: + { integrity: sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ== } + engines: { node: ">=12.0.0" } tinyrainbow@3.1.0: - resolution: {integrity: sha512-Bf+ILmBgretUrdJxzXM0SgXLZ3XfiaUuOj/IKQHuTXip+05Xn+uyEYdVg0kYDipTBcLrCVyUzAPz7QmArb0mmw==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-Bf+ILmBgretUrdJxzXM0SgXLZ3XfiaUuOj/IKQHuTXip+05Xn+uyEYdVg0kYDipTBcLrCVyUzAPz7QmArb0mmw== } + engines: { node: ">=14.0.0" } tldts-core@7.0.19: - resolution: {integrity: sha512-lJX2dEWx0SGH4O6p+7FPwYmJ/bu1JbcGJ8RLaG9b7liIgZ85itUVEPbMtWRVrde/0fnDPEPHW10ZsKW3kVsE9A==} + resolution: + { integrity: sha512-lJX2dEWx0SGH4O6p+7FPwYmJ/bu1JbcGJ8RLaG9b7liIgZ85itUVEPbMtWRVrde/0fnDPEPHW10ZsKW3kVsE9A== } tldts@7.0.19: - resolution: {integrity: sha512-8PWx8tvC4jDB39BQw1m4x8y5MH1BcQ5xHeL2n7UVFulMPH/3Q0uiamahFJ3lXA0zO2SUyRXuVVbWSDmstlt9YA==} + resolution: + { integrity: sha512-8PWx8tvC4jDB39BQw1m4x8y5MH1BcQ5xHeL2n7UVFulMPH/3Q0uiamahFJ3lXA0zO2SUyRXuVVbWSDmstlt9YA== } hasBin: true tmp@0.2.1: - resolution: {integrity: sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==} - engines: {node: '>=8.17.0'} + resolution: + { integrity: sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ== } + engines: { node: ">=8.17.0" } to-regex-range@5.0.1: - resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} - engines: {node: '>=8.0'} + resolution: + { integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== } + engines: { node: ">=8.0" } to-valid-identifier@1.0.0: - resolution: {integrity: sha512-41wJyvKep3yT2tyPqX/4blcfybknGB4D+oETKLs7Q76UiPqRpUJK3hr1nxelyYO0PHKVzJwlu0aCeEAsGI6rpw==} - engines: {node: '>=20'} + resolution: + { integrity: sha512-41wJyvKep3yT2tyPqX/4blcfybknGB4D+oETKLs7Q76UiPqRpUJK3hr1nxelyYO0PHKVzJwlu0aCeEAsGI6rpw== } + engines: { node: ">=20" } toidentifier@1.0.1: - resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} - engines: {node: '>=0.6'} + resolution: + { integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== } + engines: { node: ">=0.6" } token-stream@1.0.0: - resolution: {integrity: sha512-VSsyNPPW74RpHwR8Fc21uubwHY7wMDeJLys2IX5zJNih+OnAnaifKHo+1LHT7DAdloQ7apeaaWg8l7qnf/TnEg==} + resolution: + { integrity: sha512-VSsyNPPW74RpHwR8Fc21uubwHY7wMDeJLys2IX5zJNih+OnAnaifKHo+1LHT7DAdloQ7apeaaWg8l7qnf/TnEg== } totalist@3.0.1: - resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==} - engines: {node: '>=6'} + resolution: + { integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ== } + engines: { node: ">=6" } touch@3.1.0: - resolution: {integrity: sha512-WBx8Uy5TLtOSRtIq+M03/sKDrXCLHxwDcquSP2c43Le03/9serjQBIztjRz6FkJez9D/hleyAXTBGLwwZUw9lA==} + resolution: + { integrity: sha512-WBx8Uy5TLtOSRtIq+M03/sKDrXCLHxwDcquSP2c43Le03/9serjQBIztjRz6FkJez9D/hleyAXTBGLwwZUw9lA== } hasBin: true tough-cookie@6.0.1: - resolution: {integrity: sha512-LktZQb3IeoUWB9lqR5EWTHgW/VTITCXg4D21M+lvybRVdylLrRMnqaIONLVb5mav8vM19m44HIcGq4qASeu2Qw==} - engines: {node: '>=16'} + resolution: + { integrity: sha512-LktZQb3IeoUWB9lqR5EWTHgW/VTITCXg4D21M+lvybRVdylLrRMnqaIONLVb5mav8vM19m44HIcGq4qASeu2Qw== } + engines: { node: ">=16" } tr46@0.0.3: - resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} + resolution: + { integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== } tr46@6.0.0: - resolution: {integrity: sha512-bLVMLPtstlZ4iMQHpFHTR7GAGj2jxi8Dg0s2h2MafAE4uSWF98FC/3MomU51iQAMf8/qDUbKWf5GxuvvVcXEhw==} - engines: {node: '>=20'} + resolution: + { integrity: sha512-bLVMLPtstlZ4iMQHpFHTR7GAGj2jxi8Dg0s2h2MafAE4uSWF98FC/3MomU51iQAMf8/qDUbKWf5GxuvvVcXEhw== } + engines: { node: ">=20" } tree-kill@1.2.2: - resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} + resolution: + { integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A== } hasBin: true treeverse@3.0.0: - resolution: {integrity: sha512-gcANaAnd2QDZFmHFEOF4k7uc1J/6a6z3DJMd/QwEyxLoKGiptJRwid582r7QIsFlFMIZ3SnxfS52S4hm2DHkuQ==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + resolution: + { integrity: sha512-gcANaAnd2QDZFmHFEOF4k7uc1J/6a6z3DJMd/QwEyxLoKGiptJRwid582r7QIsFlFMIZ3SnxfS52S4hm2DHkuQ== } + engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } trim-newlines@3.0.1: - resolution: {integrity: sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw== } + engines: { node: ">=8" } trim-repeated@1.0.0: - resolution: {integrity: sha512-pkonvlKk8/ZuR0D5tLW8ljt5I8kmxp2XKymhepUeOdCEfKpZaktSArkLHZt76OB1ZvO9bssUsDty4SWhLvZpLg==} - engines: {node: '>=0.10.0'} + resolution: + { integrity: sha512-pkonvlKk8/ZuR0D5tLW8ljt5I8kmxp2XKymhepUeOdCEfKpZaktSArkLHZt76OB1ZvO9bssUsDty4SWhLvZpLg== } + engines: { node: ">=0.10.0" } triple-beam@1.4.0: - resolution: {integrity: sha512-rD6Q7Grj07i2PW1sQmz4KXviI+9E02EWBnAU9DafQbUueb7Esh786jop+be92KFxvxPGHuC0mR7YVcE6rScMBg==} - engines: {node: '>= 16.0.0'} + resolution: + { integrity: sha512-rD6Q7Grj07i2PW1sQmz4KXviI+9E02EWBnAU9DafQbUueb7Esh786jop+be92KFxvxPGHuC0mR7YVcE6rScMBg== } + engines: { node: ">= 16.0.0" } try-catch@3.0.1: - resolution: {integrity: sha512-91yfXw1rr/P6oLpHSyHDOHm0vloVvUoo9FVdw8YwY05QjJQG9OT0LUxe2VRAzmHG+0CUOmI3nhxDUMLxDN/NEQ==} - engines: {node: '>=6'} + resolution: + { integrity: sha512-91yfXw1rr/P6oLpHSyHDOHm0vloVvUoo9FVdw8YwY05QjJQG9OT0LUxe2VRAzmHG+0CUOmI3nhxDUMLxDN/NEQ== } + engines: { node: ">=6" } try-catch@4.0.7: - resolution: {integrity: sha512-gkBWUxbiN4T4PsO8KhoQYWzUPN6e0/h12H9H3YhcfPbwaN8b84fy8cFqL4rWTiPh7qHPFaEfklr6OkVxYRW0Gg==} - engines: {node: '>=22'} + resolution: + { integrity: sha512-gkBWUxbiN4T4PsO8KhoQYWzUPN6e0/h12H9H3YhcfPbwaN8b84fy8cFqL4rWTiPh7qHPFaEfklr6OkVxYRW0Gg== } + engines: { node: ">=22" } try-to-catch@4.0.3: - resolution: {integrity: sha512-mUz1zpe6nkRQW0XZ/Ojfe/Eg7e5h3s+r+h7ONfP3Oo27/Jm8mkNDAnLzZ/A3sEMApROolzuJGBiQhGmmVDAFLw==} - engines: {node: '>=22'} + resolution: + { integrity: sha512-mUz1zpe6nkRQW0XZ/Ojfe/Eg7e5h3s+r+h7ONfP3Oo27/Jm8mkNDAnLzZ/A3sEMApROolzuJGBiQhGmmVDAFLw== } + engines: { node: ">=22" } ts-api-utils@2.4.0: - resolution: {integrity: sha512-3TaVTaAv2gTiMB35i3FiGJaRfwb3Pyn/j3m/bfAvGe8FB7CF6u+LMYqYlDh7reQf7UNvoTvdfAqHGmPGOSsPmA==} - engines: {node: '>=18.12'} + resolution: + { integrity: sha512-3TaVTaAv2gTiMB35i3FiGJaRfwb3Pyn/j3m/bfAvGe8FB7CF6u+LMYqYlDh7reQf7UNvoTvdfAqHGmPGOSsPmA== } + engines: { node: ">=18.12" } peerDependencies: - typescript: '>=4.8.4' + typescript: ">=4.8.4" ts-json-schema-generator@2.9.0: - resolution: {integrity: sha512-NR5ZE108uiPtBHBJNGnhwoUaUx5vWTDJzDFG9YlRoqxPU76n+5FClRh92dcGgysbe1smRmYalM9Saj97GW1J4Q==} - engines: {node: '>=22.0.0'} + resolution: + { integrity: sha512-NR5ZE108uiPtBHBJNGnhwoUaUx5vWTDJzDFG9YlRoqxPU76n+5FClRh92dcGgysbe1smRmYalM9Saj97GW1J4Q== } + engines: { node: ">=22.0.0" } hasBin: true ts-node@10.9.2: - resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==} + resolution: + { integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ== } hasBin: true peerDependencies: - '@swc/core': '>=1.2.50' - '@swc/wasm': '>=1.2.50' - '@types/node': '*' - typescript: '>=2.7' + "@swc/core": ">=1.2.50" + "@swc/wasm": ">=1.2.50" + "@types/node": "*" + typescript: ">=2.7" peerDependenciesMeta: - '@swc/core': + "@swc/core": optional: true - '@swc/wasm': + "@swc/wasm": optional: true tsconfig-paths-webpack-plugin@4.2.0: - resolution: {integrity: sha512-zbem3rfRS8BgeNK50Zz5SIQgXzLafiHjOwUAvk/38/o1jHn/V5QAgVUcz884or7WYcPaH3N2CIfUc2u0ul7UcA==} - engines: {node: '>=10.13.0'} + resolution: + { integrity: sha512-zbem3rfRS8BgeNK50Zz5SIQgXzLafiHjOwUAvk/38/o1jHn/V5QAgVUcz884or7WYcPaH3N2CIfUc2u0ul7UcA== } + engines: { node: ">=10.13.0" } tsconfig-paths@4.2.0: - resolution: {integrity: sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==} - engines: {node: '>=6'} + resolution: + { integrity: sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg== } + engines: { node: ">=6" } tslib@2.8.1: - resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} + resolution: + { integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w== } tuf-js@4.1.0: - resolution: {integrity: sha512-50QV99kCKH5P/Vs4E2Gzp7BopNV+KzTXqWeaxrfu5IQJBOULRsTIS9seSsOVT8ZnGXzCyx55nYWAi4qJzpZKEQ==} - engines: {node: ^20.17.0 || >=22.9.0} + resolution: + { integrity: sha512-50QV99kCKH5P/Vs4E2Gzp7BopNV+KzTXqWeaxrfu5IQJBOULRsTIS9seSsOVT8ZnGXzCyx55nYWAi4qJzpZKEQ== } + engines: { node: ^20.17.0 || >=22.9.0 } tunnel-agent@0.6.0: - resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} + resolution: + { integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w== } type-check@0.4.0: - resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} - engines: {node: '>= 0.8.0'} + resolution: + { integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== } + engines: { node: ">= 0.8.0" } type-fest@0.13.1: - resolution: {integrity: sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg== } + engines: { node: ">=10" } type-fest@0.18.1: - resolution: {integrity: sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw== } + engines: { node: ">=10" } type-fest@0.6.0: - resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg== } + engines: { node: ">=8" } type-fest@0.8.1: - resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== } + engines: { node: ">=8" } type-fest@5.4.4: - resolution: {integrity: sha512-JnTrzGu+zPV3aXIUhnyWJj4z/wigMsdYajGLIYakqyOW1nPllzXEJee0QQbHj+CTIQtXGlAjuK0UY+2xTyjVAw==} - engines: {node: '>=20'} + resolution: + { integrity: sha512-JnTrzGu+zPV3aXIUhnyWJj4z/wigMsdYajGLIYakqyOW1nPllzXEJee0QQbHj+CTIQtXGlAjuK0UY+2xTyjVAw== } + engines: { node: ">=20" } type-is@2.0.1: - resolution: {integrity: sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw==} - engines: {node: '>= 0.6'} + resolution: + { integrity: sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw== } + engines: { node: ">= 0.6" } typed-event-target@4.1.0: - resolution: {integrity: sha512-fDFhZb7ofywLsVv8mYePD6ONfCpVHyM1t2dboEJx/XMsnflljnu3GQ5qH09hS1USuypGMR7wRbdWQPydgJ8nGQ==} - engines: {node: '>=22'} + resolution: + { integrity: sha512-fDFhZb7ofywLsVv8mYePD6ONfCpVHyM1t2dboEJx/XMsnflljnu3GQ5qH09hS1USuypGMR7wRbdWQPydgJ8nGQ== } + engines: { node: ">=22" } typedarray@0.0.6: - resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==} + resolution: + { integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA== } typedoc-plugin-clarity@1.6.0: - resolution: {integrity: sha512-BvJj8ZvgCZzS2sLO7yIkRg9EWLPdll+xLyQekjMAtypHITOXSwCO9E9Ir77R2fctsVC9BVJiToGAYcsMtyuPdw==} + resolution: + { integrity: sha512-BvJj8ZvgCZzS2sLO7yIkRg9EWLPdll+xLyQekjMAtypHITOXSwCO9E9Ir77R2fctsVC9BVJiToGAYcsMtyuPdw== } peerDependencies: typedoc: ^0.25.4 typedoc-plugin-coverage@4.0.2: - resolution: {integrity: sha512-mfn0e7NCqB8x2PfvhXrtmd7KWlsNf1+B2N9y8gR/jexXBLrXl/0e+b2HdG5HaTXGi7i0t2pyQY2VRmq7gtdEHQ==} - engines: {node: '>= 18'} + resolution: + { integrity: sha512-mfn0e7NCqB8x2PfvhXrtmd7KWlsNf1+B2N9y8gR/jexXBLrXl/0e+b2HdG5HaTXGi7i0t2pyQY2VRmq7gtdEHQ== } + engines: { node: ">= 18" } peerDependencies: typedoc: 0.28.x typedoc-plugin-google-ads@1.6.0: - resolution: {integrity: sha512-pFkPK9tjGc/0NWnJojh1wc/UZ/+cUJXe13ZbbUsQ0JUjkCSWRuOt1d9BGrmar7184fq0GBU8zByJ3ucG2wI/MA==} + resolution: + { integrity: sha512-pFkPK9tjGc/0NWnJojh1wc/UZ/+cUJXe13ZbbUsQ0JUjkCSWRuOt1d9BGrmar7184fq0GBU8zByJ3ucG2wI/MA== } peerDependencies: typedoc: ^0.25.4 typedoc-plugin-keywords@1.6.0: - resolution: {integrity: sha512-URyCIHw6+Lwil0ywy6lVb2TckfDVGjAWnRnTAiiSZaRaglI6vaaP1EhhwEipOIlHaJSnHZfdwpWe1t4mffTIpA==} + resolution: + { integrity: sha512-URyCIHw6+Lwil0ywy6lVb2TckfDVGjAWnRnTAiiSZaRaglI6vaaP1EhhwEipOIlHaJSnHZfdwpWe1t4mffTIpA== } peerDependencies: typedoc: ^0.25.4 typedoc-plugin-mdn-links@5.1.1: - resolution: {integrity: sha512-fLlYudnlGkE9uspOEm/SBXwr+G0RbxoDZiHAVsCg+5NwKe2aUxjZK1YyQfleNZydImanzkX2oUJF29xbEeOSWw==} + resolution: + { integrity: sha512-fLlYudnlGkE9uspOEm/SBXwr+G0RbxoDZiHAVsCg+5NwKe2aUxjZK1YyQfleNZydImanzkX2oUJF29xbEeOSWw== } peerDependencies: typedoc: 0.27.x || 0.28.x typedoc-plugin-missing-exports@4.1.2: - resolution: {integrity: sha512-WNoeWX9+8X3E3riuYPduilUTFefl1K+Z+5bmYqNeH5qcWjtnTRMbRzGdEQ4XXn1WEO4WCIlU0vf46Ca2y/mspg==} + resolution: + { integrity: sha512-WNoeWX9+8X3E3riuYPduilUTFefl1K+Z+5bmYqNeH5qcWjtnTRMbRzGdEQ4XXn1WEO4WCIlU0vf46Ca2y/mspg== } peerDependencies: typedoc: ^0.28.1 typedoc@0.28.18: - resolution: {integrity: sha512-NTWTUOFRQ9+SGKKTuWKUioUkjxNwtS3JDRPVKZAXGHZy2wCA8bdv2iJiyeePn0xkmK+TCCqZFT0X7+2+FLjngA==} - engines: {node: '>= 18', pnpm: '>= 10'} + resolution: + { integrity: sha512-NTWTUOFRQ9+SGKKTuWKUioUkjxNwtS3JDRPVKZAXGHZy2wCA8bdv2iJiyeePn0xkmK+TCCqZFT0X7+2+FLjngA== } + engines: { node: ">= 18", pnpm: ">= 10" } hasBin: true peerDependencies: typescript: 5.0.x || 5.1.x || 5.2.x || 5.3.x || 5.4.x || 5.5.x || 5.6.x || 5.7.x || 5.8.x || 5.9.x || 6.0.x typescript-eslint@8.57.1: - resolution: {integrity: sha512-fLvZWf+cAGw3tqMCYzGIU6yR8K+Y9NT2z23RwOjlNFF2HwSB3KhdEFI5lSBv8tNmFkkBShSjsCjzx1vahZfISA==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + resolution: + { integrity: sha512-fLvZWf+cAGw3tqMCYzGIU6yR8K+Y9NT2z23RwOjlNFF2HwSB3KhdEFI5lSBv8tNmFkkBShSjsCjzx1vahZfISA== } + engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } peerDependencies: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 - typescript: '>=4.8.4 <6.0.0' + typescript: ">=4.8.4 <6.0.0" typescript-json-schema@0.67.1: - resolution: {integrity: sha512-vKTZB/RoYTIBdVP7E7vrgHMCssBuhja91wQy498QIVhvfRimaOgjc98uwAXmZ7mbLUytJmOSbF11wPz+ByQeXg==} + resolution: + { integrity: sha512-vKTZB/RoYTIBdVP7E7vrgHMCssBuhja91wQy498QIVhvfRimaOgjc98uwAXmZ7mbLUytJmOSbF11wPz+ByQeXg== } hasBin: true typescript@5.5.4: - resolution: {integrity: sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q==} - engines: {node: '>=14.17'} + resolution: + { integrity: sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q== } + engines: { node: ">=14.17" } hasBin: true typescript@5.9.3: - resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==} - engines: {node: '>=14.17'} + resolution: + { integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw== } + engines: { node: ">=14.17" } hasBin: true uc.micro@2.1.0: - resolution: {integrity: sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==} + resolution: + { integrity: sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A== } uglify-js@3.17.4: - resolution: {integrity: sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==} - engines: {node: '>=0.8.0'} + resolution: + { integrity: sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g== } + engines: { node: ">=0.8.0" } hasBin: true undefsafe@2.0.5: - resolution: {integrity: sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==} + resolution: + { integrity: sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA== } undici-types@5.26.5: - resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + resolution: + { integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== } undici-types@7.16.0: - resolution: {integrity: sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==} + resolution: + { integrity: sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw== } undici-types@7.18.2: - resolution: {integrity: sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==} + resolution: + { integrity: sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w== } undici-types@7.24.5: - resolution: {integrity: sha512-kNh333UBSbgK35OIW7FwJTr9tTfVIG51Fm1tSVT7m8foPHfDVjsb7OIee/q/rs3bB2aV/3qOPgG5mHNWl1odiA==} + resolution: + { integrity: sha512-kNh333UBSbgK35OIW7FwJTr9tTfVIG51Fm1tSVT7m8foPHfDVjsb7OIee/q/rs3bB2aV/3qOPgG5mHNWl1odiA== } undici@7.24.6: - resolution: {integrity: sha512-Xi4agocCbRzt0yYMZGMA6ApD7gvtUFaxm4ZmeacWI4cZxaF6C+8I8QfofC20NAePiB/IcvZmzkJ7XPa471AEtA==} - engines: {node: '>=20.18.1'} + resolution: + { integrity: sha512-Xi4agocCbRzt0yYMZGMA6ApD7gvtUFaxm4ZmeacWI4cZxaF6C+8I8QfofC20NAePiB/IcvZmzkJ7XPa471AEtA== } + engines: { node: ">=20.18.1" } unicorn-magic@0.3.0: - resolution: {integrity: sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==} - engines: {node: '>=18'} + resolution: + { integrity: sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA== } + engines: { node: ">=18" } unique-filename@5.0.0: - resolution: {integrity: sha512-2RaJTAvAb4owyjllTfXzFClJ7WsGxlykkPvCr9pA//LD9goVq+m4PPAeBgNodGZ7nSrntT/auWpJ6Y5IFXcfjg==} - engines: {node: ^20.17.0 || >=22.9.0} + resolution: + { integrity: sha512-2RaJTAvAb4owyjllTfXzFClJ7WsGxlykkPvCr9pA//LD9goVq+m4PPAeBgNodGZ7nSrntT/auWpJ6Y5IFXcfjg== } + engines: { node: ^20.17.0 || >=22.9.0 } unique-slug@6.0.0: - resolution: {integrity: sha512-4Lup7Ezn8W3d52/xBhZBVdx323ckxa7DEvd9kPQHppTkLoJXw6ltrBCyj5pnrxj0qKDxYMJ56CoxNuFCscdTiw==} - engines: {node: ^20.17.0 || >=22.9.0} + resolution: + { integrity: sha512-4Lup7Ezn8W3d52/xBhZBVdx323ckxa7DEvd9kPQHppTkLoJXw6ltrBCyj5pnrxj0qKDxYMJ56CoxNuFCscdTiw== } + engines: { node: ^20.17.0 || >=22.9.0 } universal-user-agent@6.0.0: - resolution: {integrity: sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==} + resolution: + { integrity: sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w== } universalify@0.1.2: - resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} - engines: {node: '>= 4.0.0'} + resolution: + { integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== } + engines: { node: ">= 4.0.0" } universalify@2.0.0: - resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==} - engines: {node: '>= 10.0.0'} + resolution: + { integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ== } + engines: { node: ">= 10.0.0" } unpipe@1.0.0: - resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} - engines: {node: '>= 0.8'} + resolution: + { integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== } + engines: { node: ">= 0.8" } untildify@4.0.0: - resolution: {integrity: sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw== } + engines: { node: ">=8" } upath@2.0.1: - resolution: {integrity: sha512-1uEe95xksV1O0CYKXo8vQvN1JEbtJp7lb7C5U9HMsIp6IVwntkH/oNUzyVNQSd4S1sYk2FpSSW44FqMc8qee5w==} - engines: {node: '>=4'} + resolution: + { integrity: sha512-1uEe95xksV1O0CYKXo8vQvN1JEbtJp7lb7C5U9HMsIp6IVwntkH/oNUzyVNQSd4S1sYk2FpSSW44FqMc8qee5w== } + engines: { node: ">=4" } update-browserslist-db@1.2.3: - resolution: {integrity: sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==} + resolution: + { integrity: sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w== } hasBin: true peerDependencies: - browserslist: '>= 4.21.0' + browserslist: ">= 4.21.0" uri-js@4.4.1: - resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + resolution: + { integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== } util-deprecate@1.0.2: - resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + resolution: + { integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== } v8-compile-cache-lib@3.0.1: - resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} + resolution: + { integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg== } validate-npm-package-license@3.0.4: - resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} + resolution: + { integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== } validate-npm-package-name@6.0.2: - resolution: {integrity: sha512-IUoow1YUtvoBBC06dXs8bR8B9vuA3aJfmQNKMoaPG/OFsPmoQvw8xh+6Ye25Gx9DQhoEom3Pcu9MKHerm/NpUQ==} - engines: {node: ^18.17.0 || >=20.5.0} + resolution: + { integrity: sha512-IUoow1YUtvoBBC06dXs8bR8B9vuA3aJfmQNKMoaPG/OFsPmoQvw8xh+6Ye25Gx9DQhoEom3Pcu9MKHerm/NpUQ== } + engines: { node: ^18.17.0 || >=20.5.0 } vanilla-picker@2.12.3: - resolution: {integrity: sha512-qVkT1E7yMbUsB2mmJNFmaXMWE2hF8ffqzMMwe9zdAikd8u2VfnsVY2HQcOUi2F38bgbxzlJBEdS1UUhOXdF9GQ==} + resolution: + { integrity: sha512-qVkT1E7yMbUsB2mmJNFmaXMWE2hF8ffqzMMwe9zdAikd8u2VfnsVY2HQcOUi2F38bgbxzlJBEdS1UUhOXdF9GQ== } vary@1.1.2: - resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} - engines: {node: '>= 0.8'} + resolution: + { integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg== } + engines: { node: ">= 0.8" } vite@7.3.1: - resolution: {integrity: sha512-w+N7Hifpc3gRjZ63vYBXA56dvvRlNWRczTdmCBBa+CotUzAPf5b7YMdMR/8CQoeYE5LX3W4wj6RYTgonm1b9DA==} - engines: {node: ^20.19.0 || >=22.12.0} + resolution: + { integrity: sha512-w+N7Hifpc3gRjZ63vYBXA56dvvRlNWRczTdmCBBa+CotUzAPf5b7YMdMR/8CQoeYE5LX3W4wj6RYTgonm1b9DA== } + engines: { node: ^20.19.0 || >=22.12.0 } hasBin: true peerDependencies: - '@types/node': ^20.19.0 || >=22.12.0 - jiti: '>=1.21.0' + "@types/node": ^20.19.0 || >=22.12.0 + jiti: ">=1.21.0" less: ^4.0.0 lightningcss: ^1.21.0 sass: ^1.70.0 sass-embedded: ^1.70.0 - stylus: '>=0.54.8' + stylus: ">=0.54.8" sugarss: ^5.0.0 terser: ^5.16.0 tsx: ^4.8.1 yaml: ^2.4.2 peerDependenciesMeta: - '@types/node': + "@types/node": optional: true jiti: optional: true @@ -8167,26 +9534,27 @@ packages: optional: true vite@8.0.1: - resolution: {integrity: sha512-wt+Z2qIhfFt85uiyRt5LPU4oVEJBXj8hZNWKeqFG4gRG/0RaRGJ7njQCwzFVjO+v4+Ipmf5CY7VdmZRAYYBPHw==} - engines: {node: ^20.19.0 || >=22.12.0} + resolution: + { integrity: sha512-wt+Z2qIhfFt85uiyRt5LPU4oVEJBXj8hZNWKeqFG4gRG/0RaRGJ7njQCwzFVjO+v4+Ipmf5CY7VdmZRAYYBPHw== } + engines: { node: ^20.19.0 || >=22.12.0 } hasBin: true peerDependencies: - '@types/node': ^20.19.0 || >=22.12.0 - '@vitejs/devtools': ^0.1.0 + "@types/node": ^20.19.0 || >=22.12.0 + "@vitejs/devtools": ^0.1.0 esbuild: ^0.27.0 - jiti: '>=1.21.0' + jiti: ">=1.21.0" less: ^4.0.0 sass: ^1.70.0 sass-embedded: ^1.70.0 - stylus: '>=0.54.8' + stylus: ">=0.54.8" sugarss: ^5.0.0 terser: ^5.16.0 tsx: ^4.8.1 yaml: ^2.4.2 peerDependenciesMeta: - '@types/node': + "@types/node": optional: true - '@vitejs/devtools': + "@vitejs/devtools": optional: true esbuild: optional: true @@ -8210,34 +9578,35 @@ packages: optional: true vitest@4.1.2: - resolution: {integrity: sha512-xjR1dMTVHlFLh98JE3i/f/WePqJsah4A0FK9cc8Ehp9Udk0AZk6ccpIZhh1qJ/yxVWRZ+Q54ocnD8TXmkhspGg==} - engines: {node: ^20.0.0 || ^22.0.0 || >=24.0.0} + resolution: + { integrity: sha512-xjR1dMTVHlFLh98JE3i/f/WePqJsah4A0FK9cc8Ehp9Udk0AZk6ccpIZhh1qJ/yxVWRZ+Q54ocnD8TXmkhspGg== } + engines: { node: ^20.0.0 || ^22.0.0 || >=24.0.0 } hasBin: true peerDependencies: - '@edge-runtime/vm': '*' - '@opentelemetry/api': ^1.9.0 - '@types/node': ^20.0.0 || ^22.0.0 || >=24.0.0 - '@vitest/browser-playwright': 4.1.2 - '@vitest/browser-preview': 4.1.2 - '@vitest/browser-webdriverio': 4.1.2 - '@vitest/ui': 4.1.2 - happy-dom: '*' - jsdom: '*' + "@edge-runtime/vm": "*" + "@opentelemetry/api": ^1.9.0 + "@types/node": ^20.0.0 || ^22.0.0 || >=24.0.0 + "@vitest/browser-playwright": 4.1.2 + "@vitest/browser-preview": 4.1.2 + "@vitest/browser-webdriverio": 4.1.2 + "@vitest/ui": 4.1.2 + happy-dom: "*" + jsdom: "*" vite: ^6.0.0 || ^7.0.0 || ^8.0.0 peerDependenciesMeta: - '@edge-runtime/vm': + "@edge-runtime/vm": optional: true - '@opentelemetry/api': + "@opentelemetry/api": optional: true - '@types/node': + "@types/node": optional: true - '@vitest/browser-playwright': + "@vitest/browser-playwright": optional: true - '@vitest/browser-preview': + "@vitest/browser-preview": optional: true - '@vitest/browser-webdriverio': + "@vitest/browser-webdriverio": optional: true - '@vitest/ui': + "@vitest/ui": optional: true happy-dom: optional: true @@ -8245,49 +9614,60 @@ packages: optional: true vm2@3.10.0: - resolution: {integrity: sha512-3ggF4Bs0cw4M7Rxn19/Cv3nJi04xrgHwt4uLto+zkcZocaKwP/nKP9wPx6ggN2X0DSXxOOIc63BV1jvES19wXQ==} - engines: {node: '>=6.0'} + resolution: + { integrity: sha512-3ggF4Bs0cw4M7Rxn19/Cv3nJi04xrgHwt4uLto+zkcZocaKwP/nKP9wPx6ggN2X0DSXxOOIc63BV1jvES19wXQ== } + engines: { node: ">=6.0" } hasBin: true void-elements@3.1.0: - resolution: {integrity: sha512-Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w==} - engines: {node: '>=0.10.0'} + resolution: + { integrity: sha512-Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w== } + engines: { node: ">=0.10.0" } w3c-xmlserializer@5.0.0: - resolution: {integrity: sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==} - engines: {node: '>=18'} + resolution: + { integrity: sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA== } + engines: { node: ">=18" } walk-up-path@4.0.0: - resolution: {integrity: sha512-3hu+tD8YzSLGuFYtPRb48vdhKMi0KQV5sn+uWr8+7dMEq/2G/dtLrdDinkLjqq5TIbIBjYJ4Ax/n3YiaW7QM8A==} - engines: {node: 20 || >=22} + resolution: + { integrity: sha512-3hu+tD8YzSLGuFYtPRb48vdhKMi0KQV5sn+uWr8+7dMEq/2G/dtLrdDinkLjqq5TIbIBjYJ4Ax/n3YiaW7QM8A== } + engines: { node: 20 || >=22 } watchpack@2.5.1: - resolution: {integrity: sha512-Zn5uXdcFNIA1+1Ei5McRd+iRzfhENPCe7LeABkJtNulSxjma+l7ltNx55BWZkRlwRnpOgHqxnjyaDgJnNXnqzg==} - engines: {node: '>=10.13.0'} + resolution: + { integrity: sha512-Zn5uXdcFNIA1+1Ei5McRd+iRzfhENPCe7LeABkJtNulSxjma+l7ltNx55BWZkRlwRnpOgHqxnjyaDgJnNXnqzg== } + engines: { node: ">=10.13.0" } watskeburt@5.0.3: - resolution: {integrity: sha512-g9CXukMjazlJJVQ3OHzXsnG25KFYgSgKMIyoJrD8ggr0DbS9UNF7OzIqWmmKKBMedkxj3T01uqEaGnn+y7QhMA==} - engines: {node: ^20.12||^22.13||>=24.0} + resolution: + { integrity: sha512-g9CXukMjazlJJVQ3OHzXsnG25KFYgSgKMIyoJrD8ggr0DbS9UNF7OzIqWmmKKBMedkxj3T01uqEaGnn+y7QhMA== } + engines: { node: ^20.12||^22.13||>=24.0 } hasBin: true wcwidth@1.0.1: - resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} + resolution: + { integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg== } webidl-conversions@3.0.1: - resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} + resolution: + { integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== } webidl-conversions@8.0.1: - resolution: {integrity: sha512-BMhLD/Sw+GbJC21C/UgyaZX41nPt8bUTg+jWyDeg7e7YN4xOM05YPSIXceACnXVtqyEw/LMClUQMtMZ+PGGpqQ==} - engines: {node: '>=20'} + resolution: + { integrity: sha512-BMhLD/Sw+GbJC21C/UgyaZX41nPt8bUTg+jWyDeg7e7YN4xOM05YPSIXceACnXVtqyEw/LMClUQMtMZ+PGGpqQ== } + engines: { node: ">=20" } webpack-bundle-analyzer@5.3.0: - resolution: {integrity: sha512-PEhAoqiJ+47d0uLMx/+zo5XOvaU+Vk6N2ZLht7H3n09QLy/fhyvqGNwjdRUHJDgMN8crBR2ZwVHkIswT3Xuawg==} - engines: {node: '>= 20.9.0'} + resolution: + { integrity: sha512-PEhAoqiJ+47d0uLMx/+zo5XOvaU+Vk6N2ZLht7H3n09QLy/fhyvqGNwjdRUHJDgMN8crBR2ZwVHkIswT3Xuawg== } + engines: { node: ">= 20.9.0" } hasBin: true webpack-cli@7.0.2: - resolution: {integrity: sha512-dB0R4T+C/8YuvM+fabdvil6QE44/ChDXikV5lOOkrUeCkW5hTJv2pGLE3keh+D5hjYw8icBaJkZzpFoaHV4T+g==} - engines: {node: '>=20.9.0'} + resolution: + { integrity: sha512-dB0R4T+C/8YuvM+fabdvil6QE44/ChDXikV5lOOkrUeCkW5hTJv2pGLE3keh+D5hjYw8icBaJkZzpFoaHV4T+g== } + engines: { node: ">=20.9.0" } hasBin: true peerDependencies: webpack: ^5.101.0 @@ -8300,108 +9680,132 @@ packages: optional: true webpack-merge@6.0.1: - resolution: {integrity: sha512-hXXvrjtx2PLYx4qruKl+kyRSLc52V+cCvMxRjmKwoA+CBbbF5GfIBtR6kCvl0fYGqTUPKB+1ktVmTHqMOzgCBg==} - engines: {node: '>=18.0.0'} + resolution: + { integrity: sha512-hXXvrjtx2PLYx4qruKl+kyRSLc52V+cCvMxRjmKwoA+CBbbF5GfIBtR6kCvl0fYGqTUPKB+1ktVmTHqMOzgCBg== } + engines: { node: ">=18.0.0" } webpack-sources@3.3.4: - resolution: {integrity: sha512-7tP1PdV4vF+lYPnkMR0jMY5/la2ub5Fc/8VQrrU+lXkiM6C4TjVfGw7iKfyhnTQOsD+6Q/iKw0eFciziRgD58Q==} - engines: {node: '>=10.13.0'} + resolution: + { integrity: sha512-7tP1PdV4vF+lYPnkMR0jMY5/la2ub5Fc/8VQrrU+lXkiM6C4TjVfGw7iKfyhnTQOsD+6Q/iKw0eFciziRgD58Q== } + engines: { node: ">=10.13.0" } webpack@5.105.4: - resolution: {integrity: sha512-jTywjboN9aHxFlToqb0K0Zs9SbBoW4zRUlGzI2tYNxVYcEi/IPpn+Xi4ye5jTLvX2YeLuic/IvxNot+Q1jMoOw==} - engines: {node: '>=10.13.0'} + resolution: + { integrity: sha512-jTywjboN9aHxFlToqb0K0Zs9SbBoW4zRUlGzI2tYNxVYcEi/IPpn+Xi4ye5jTLvX2YeLuic/IvxNot+Q1jMoOw== } + engines: { node: ">=10.13.0" } hasBin: true peerDependencies: - webpack-cli: '*' + webpack-cli: "*" peerDependenciesMeta: webpack-cli: optional: true whatwg-mimetype@5.0.0: - resolution: {integrity: sha512-sXcNcHOC51uPGF0P/D4NVtrkjSU2fNsm9iog4ZvZJsL3rjoDAzXZhkm2MWt1y+PUdggKAYVoMAIYcs78wJ51Cw==} - engines: {node: '>=20'} + resolution: + { integrity: sha512-sXcNcHOC51uPGF0P/D4NVtrkjSU2fNsm9iog4ZvZJsL3rjoDAzXZhkm2MWt1y+PUdggKAYVoMAIYcs78wJ51Cw== } + engines: { node: ">=20" } whatwg-url@16.0.1: - resolution: {integrity: sha512-1to4zXBxmXHV3IiSSEInrreIlu02vUOvrhxJJH5vcxYTBDAx51cqZiKdyTxlecdKNSjj8EcxGBxNf6Vg+945gw==} - engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0} + resolution: + { integrity: sha512-1to4zXBxmXHV3IiSSEInrreIlu02vUOvrhxJJH5vcxYTBDAx51cqZiKdyTxlecdKNSjj8EcxGBxNf6Vg+945gw== } + engines: { node: ^20.19.0 || ^22.12.0 || >=24.0.0 } whatwg-url@5.0.0: - resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} + resolution: + { integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw== } which@2.0.2: - resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} - engines: {node: '>= 8'} + resolution: + { integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== } + engines: { node: ">= 8" } hasBin: true which@5.0.0: - resolution: {integrity: sha512-JEdGzHwwkrbWoGOlIHqQ5gtprKGOenpDHpxE9zVR1bWbOtYRyPPHMe9FaP6x61CmNaTThSkb0DAJte5jD+DmzQ==} - engines: {node: ^18.17.0 || >=20.5.0} + resolution: + { integrity: sha512-JEdGzHwwkrbWoGOlIHqQ5gtprKGOenpDHpxE9zVR1bWbOtYRyPPHMe9FaP6x61CmNaTThSkb0DAJte5jD+DmzQ== } + engines: { node: ^18.17.0 || >=20.5.0 } hasBin: true which@6.0.0: - resolution: {integrity: sha512-f+gEpIKMR9faW/JgAgPK1D7mekkFoqbmiwvNzuhsHetni20QSgzg9Vhn0g2JSJkkfehQnqdUAx7/e15qS1lPxg==} - engines: {node: ^20.17.0 || >=22.9.0} + resolution: + { integrity: sha512-f+gEpIKMR9faW/JgAgPK1D7mekkFoqbmiwvNzuhsHetni20QSgzg9Vhn0g2JSJkkfehQnqdUAx7/e15qS1lPxg== } + engines: { node: ^20.17.0 || >=22.9.0 } hasBin: true why-is-node-running@2.3.0: - resolution: {integrity: sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w== } + engines: { node: ">=8" } hasBin: true wide-align@1.1.5: - resolution: {integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==} + resolution: + { integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg== } wildcard@2.0.1: - resolution: {integrity: sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==} + resolution: + { integrity: sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ== } winston-transport@4.9.0: - resolution: {integrity: sha512-8drMJ4rkgaPo1Me4zD/3WLfI/zPdA9o2IipKODunnGDcuqbHwjsbB79ylv04LCGGzU0xQ6vTznOMpQGaLhhm6A==} - engines: {node: '>= 12.0.0'} + resolution: + { integrity: sha512-8drMJ4rkgaPo1Me4zD/3WLfI/zPdA9o2IipKODunnGDcuqbHwjsbB79ylv04LCGGzU0xQ6vTznOMpQGaLhhm6A== } + engines: { node: ">= 12.0.0" } winston@3.19.0: - resolution: {integrity: sha512-LZNJgPzfKR+/J3cHkxcpHKpKKvGfDZVPS4hfJCc4cCG0CgYzvlD6yE/S3CIL/Yt91ak327YCpiF/0MyeZHEHKA==} - engines: {node: '>= 12.0.0'} + resolution: + { integrity: sha512-LZNJgPzfKR+/J3cHkxcpHKpKKvGfDZVPS4hfJCc4cCG0CgYzvlD6yE/S3CIL/Yt91ak327YCpiF/0MyeZHEHKA== } + engines: { node: ">= 12.0.0" } with@7.0.2: - resolution: {integrity: sha512-RNGKj82nUPg3g5ygxkQl0R937xLyho1J24ItRCBTr/m1YnZkzJy1hUiHUJrc/VlsDQzsCnInEGSg3bci0Lmd4w==} - engines: {node: '>= 10.0.0'} + resolution: + { integrity: sha512-RNGKj82nUPg3g5ygxkQl0R937xLyho1J24ItRCBTr/m1YnZkzJy1hUiHUJrc/VlsDQzsCnInEGSg3bci0Lmd4w== } + engines: { node: ">= 10.0.0" } wordwrap@1.0.0: - resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==} + resolution: + { integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q== } wrap-ansi@6.2.0: - resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== } + engines: { node: ">=8" } wrap-ansi@7.0.0: - resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== } + engines: { node: ">=10" } wrap-ansi@8.1.0: - resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ== } + engines: { node: ">=12" } wrap-ansi@9.0.0: - resolution: {integrity: sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==} - engines: {node: '>=18'} + resolution: + { integrity: sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q== } + engines: { node: ">=18" } wrappy@1.0.2: - resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + resolution: + { integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== } write-file-atomic@5.0.1: - resolution: {integrity: sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + resolution: + { integrity: sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw== } + engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } write-file-atomic@6.0.0: - resolution: {integrity: sha512-GmqrO8WJ1NuzJ2DrziEI2o57jKAVIQNf8a18W3nCYU3H7PNWqCCVTeH6/NQE93CIllIgQS98rrmVkYgTX9fFJQ==} - engines: {node: ^18.17.0 || >=20.5.0} + resolution: + { integrity: sha512-GmqrO8WJ1NuzJ2DrziEI2o57jKAVIQNf8a18W3nCYU3H7PNWqCCVTeH6/NQE93CIllIgQS98rrmVkYgTX9fFJQ== } + engines: { node: ^18.17.0 || >=20.5.0 } ws@8.18.3: - resolution: {integrity: sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==} - engines: {node: '>=10.0.0'} + resolution: + { integrity: sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg== } + engines: { node: ">=10.0.0" } peerDependencies: bufferutil: ^4.0.1 - utf-8-validate: '>=5.0.2' + utf-8-validate: ">=5.0.2" peerDependenciesMeta: bufferutil: optional: true @@ -8409,11 +9813,12 @@ packages: optional: true ws@8.19.0: - resolution: {integrity: sha512-blAT2mjOEIi0ZzruJfIhb3nps74PRWTCz1IjglWEEpQl5XS/UNama6u2/rjFkDDouqr4L67ry+1aGIALViWjDg==} - engines: {node: '>=10.0.0'} + resolution: + { integrity: sha512-blAT2mjOEIi0ZzruJfIhb3nps74PRWTCz1IjglWEEpQl5XS/UNama6u2/rjFkDDouqr4L67ry+1aGIALViWjDg== } + engines: { node: ">=10.0.0" } peerDependencies: bufferutil: ^4.0.1 - utf-8-validate: '>=5.0.2' + utf-8-validate: ">=5.0.2" peerDependenciesMeta: bufferutil: optional: true @@ -8421,238 +9826,256 @@ packages: optional: true xml-name-validator@5.0.0: - resolution: {integrity: sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==} - engines: {node: '>=18'} + resolution: + { integrity: sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg== } + engines: { node: ">=18" } xmlchars@2.2.0: - resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==} + resolution: + { integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== } xtend@4.0.2: - resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} - engines: {node: '>=0.4'} + resolution: + { integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== } + engines: { node: ">=0.4" } y18n@5.0.8: - resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== } + engines: { node: ">=10" } yallist@4.0.0: - resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + resolution: + { integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== } yallist@5.0.0: - resolution: {integrity: sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==} - engines: {node: '>=18'} + resolution: + { integrity: sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw== } + engines: { node: ">=18" } yaml@2.8.1: - resolution: {integrity: sha512-lcYcMxX2PO9XMGvAJkJ3OsNMw+/7FKes7/hgerGUYWIoWu5j/+YQqcZr5JnPZWzOsEBgMbSbiSTn/dv/69Mkpw==} - engines: {node: '>= 14.6'} + resolution: + { integrity: sha512-lcYcMxX2PO9XMGvAJkJ3OsNMw+/7FKes7/hgerGUYWIoWu5j/+YQqcZr5JnPZWzOsEBgMbSbiSTn/dv/69Mkpw== } + engines: { node: ">= 14.6" } hasBin: true yaml@2.8.3: - resolution: {integrity: sha512-AvbaCLOO2Otw/lW5bmh9d/WEdcDFdQp2Z2ZUH3pX9U2ihyUY0nvLv7J6TrWowklRGPYbB/IuIMfYgxaCPg5Bpg==} - engines: {node: '>= 14.6'} + resolution: + { integrity: sha512-AvbaCLOO2Otw/lW5bmh9d/WEdcDFdQp2Z2ZUH3pX9U2ihyUY0nvLv7J6TrWowklRGPYbB/IuIMfYgxaCPg5Bpg== } + engines: { node: ">= 14.6" } hasBin: true yargs-parser@20.2.9: - resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== } + engines: { node: ">=10" } yargs-parser@21.1.1: - resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== } + engines: { node: ">=12" } yargs-parser@22.0.0: - resolution: {integrity: sha512-rwu/ClNdSMpkSrUb+d6BRsSkLUq1fmfsY6TOpYzTwvwkg1/NRG85KBy3kq++A8LKQwX6lsu+aWad+2khvuXrqw==} - engines: {node: ^20.19.0 || ^22.12.0 || >=23} + resolution: + { integrity: sha512-rwu/ClNdSMpkSrUb+d6BRsSkLUq1fmfsY6TOpYzTwvwkg1/NRG85KBy3kq++A8LKQwX6lsu+aWad+2khvuXrqw== } + engines: { node: ^20.19.0 || ^22.12.0 || >=23 } yargs@16.2.0: - resolution: {integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== } + engines: { node: ">=10" } yargs@17.7.2: - resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w== } + engines: { node: ">=12" } yargs@18.0.0: - resolution: {integrity: sha512-4UEqdc2RYGHZc7Doyqkrqiln3p9X2DZVxaGbwhn2pi7MrRagKaOcIKe8L3OxYcbhXLgLFUS3zAYuQjKBQgmuNg==} - engines: {node: ^20.19.0 || ^22.12.0 || >=23} + resolution: + { integrity: sha512-4UEqdc2RYGHZc7Doyqkrqiln3p9X2DZVxaGbwhn2pi7MrRagKaOcIKe8L3OxYcbhXLgLFUS3zAYuQjKBQgmuNg== } + engines: { node: ^20.19.0 || ^22.12.0 || >=23 } yauzl@2.10.0: - resolution: {integrity: sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==} + resolution: + { integrity: sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g== } yn@3.1.1: - resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} - engines: {node: '>=6'} + resolution: + { integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== } + engines: { node: ">=6" } yocto-queue@0.1.0: - resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== } + engines: { node: ">=10" } yocto-queue@1.0.0: - resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==} - engines: {node: '>=12.20'} + resolution: + { integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g== } + engines: { node: ">=12.20" } yoctocolors-cjs@2.1.3: - resolution: {integrity: sha512-U/PBtDf35ff0D8X8D0jfdzHYEPFxAI7jJlxZXwCSez5M3190m+QobIfh+sWDWSHMCWWJN2AWamkegn6vr6YBTw==} - engines: {node: '>=18'} + resolution: + { integrity: sha512-U/PBtDf35ff0D8X8D0jfdzHYEPFxAI7jJlxZXwCSez5M3190m+QobIfh+sWDWSHMCWWJN2AWamkegn6vr6YBTw== } + engines: { node: ">=18" } snapshots: + "@aashutoshrathi/word-wrap@1.2.6": {} - '@aashutoshrathi/word-wrap@1.2.6': {} - - '@adobe/css-tools@4.3.3': {} + "@adobe/css-tools@4.3.3": {} - '@asamuzakjp/css-color@5.0.1': + "@asamuzakjp/css-color@5.0.1": dependencies: - '@csstools/css-calc': 3.1.1(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0) - '@csstools/css-color-parser': 4.0.2(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0) - '@csstools/css-parser-algorithms': 4.0.0(@csstools/css-tokenizer@4.0.0) - '@csstools/css-tokenizer': 4.0.0 + "@csstools/css-calc": 3.1.1(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0) + "@csstools/css-color-parser": 4.0.2(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0) + "@csstools/css-parser-algorithms": 4.0.0(@csstools/css-tokenizer@4.0.0) + "@csstools/css-tokenizer": 4.0.0 lru-cache: 11.2.7 - '@asamuzakjp/dom-selector@7.0.3': + "@asamuzakjp/dom-selector@7.0.3": dependencies: - '@asamuzakjp/nwsapi': 2.3.9 + "@asamuzakjp/nwsapi": 2.3.9 bidi-js: 1.0.3 css-tree: 3.2.1 is-potential-custom-element-name: 1.0.1 lru-cache: 11.2.7 - '@asamuzakjp/nwsapi@2.3.9': {} + "@asamuzakjp/nwsapi@2.3.9": {} - '@augment-vir/assert@31.59.3': + "@augment-vir/assert@31.59.3": dependencies: - '@augment-vir/core': 31.59.3 - '@date-vir/duration': 8.1.0 + "@augment-vir/core": 31.59.3 + "@date-vir/duration": 8.1.0 deep-eql: 5.0.2 expect-type: 1.3.0 type-fest: 5.4.4 - '@augment-vir/common@31.59.3': + "@augment-vir/common@31.59.3": dependencies: - '@augment-vir/assert': 31.59.3 - '@augment-vir/core': 31.59.3 - '@date-vir/duration': 8.1.0 + "@augment-vir/assert": 31.59.3 + "@augment-vir/core": 31.59.3 + "@date-vir/duration": 8.1.0 ansi-styles: 6.2.3 deepcopy-esm: 2.1.1 json5: 2.2.3 type-fest: 5.4.4 typed-event-target: 4.1.0 - '@augment-vir/core@31.59.3': + "@augment-vir/core@31.59.3": dependencies: - '@date-vir/duration': 8.1.0 + "@date-vir/duration": 8.1.0 browser-or-node: 3.0.0 diff: 8.0.3 json5: 2.2.3 type-fest: 5.4.4 - '@babel/code-frame@7.27.1': + "@babel/code-frame@7.27.1": dependencies: - '@babel/helper-validator-identifier': 7.28.5 + "@babel/helper-validator-identifier": 7.28.5 js-tokens: 4.0.0 picocolors: 1.1.1 - '@babel/helper-string-parser@7.27.1': {} + "@babel/helper-string-parser@7.27.1": {} - '@babel/helper-validator-identifier@7.28.5': {} + "@babel/helper-validator-identifier@7.28.5": {} - '@babel/parser@7.29.0': + "@babel/parser@7.29.0": dependencies: - '@babel/types': 7.29.0 + "@babel/types": 7.29.0 - '@babel/types@7.29.0': + "@babel/types@7.29.0": dependencies: - '@babel/helper-string-parser': 7.27.1 - '@babel/helper-validator-identifier': 7.28.5 + "@babel/helper-string-parser": 7.27.1 + "@babel/helper-validator-identifier": 7.28.5 - '@bcoe/v8-coverage@1.0.2': {} + "@bcoe/v8-coverage@1.0.2": {} - '@bramus/specificity@2.4.2': + "@bramus/specificity@2.4.2": dependencies: css-tree: 3.2.1 - '@colors/colors@1.6.0': {} + "@colors/colors@1.6.0": {} - '@commitlint/cli@20.5.0(@types/node@25.5.0)(conventional-commits-parser@6.3.0)(typescript@5.9.3)': + "@commitlint/cli@20.5.0(@types/node@25.5.0)(conventional-commits-parser@6.3.0)(typescript@5.9.3)": dependencies: - '@commitlint/format': 20.5.0 - '@commitlint/lint': 20.5.0 - '@commitlint/load': 20.5.0(@types/node@25.5.0)(typescript@5.9.3) - '@commitlint/read': 20.5.0(conventional-commits-parser@6.3.0) - '@commitlint/types': 20.5.0 + "@commitlint/format": 20.5.0 + "@commitlint/lint": 20.5.0 + "@commitlint/load": 20.5.0(@types/node@25.5.0)(typescript@5.9.3) + "@commitlint/read": 20.5.0(conventional-commits-parser@6.3.0) + "@commitlint/types": 20.5.0 tinyexec: 1.0.2 yargs: 17.7.2 transitivePeerDependencies: - - '@types/node' + - "@types/node" - conventional-commits-filter - conventional-commits-parser - typescript - '@commitlint/config-conventional@20.5.0': + "@commitlint/config-conventional@20.5.0": dependencies: - '@commitlint/types': 20.5.0 + "@commitlint/types": 20.5.0 conventional-changelog-conventionalcommits: 9.3.0 - '@commitlint/config-validator@20.5.0': + "@commitlint/config-validator@20.5.0": dependencies: - '@commitlint/types': 20.5.0 + "@commitlint/types": 20.5.0 ajv: 8.18.0 - '@commitlint/ensure@20.5.0': + "@commitlint/ensure@20.5.0": dependencies: - '@commitlint/types': 20.5.0 + "@commitlint/types": 20.5.0 lodash.camelcase: 4.3.0 lodash.kebabcase: 4.1.1 lodash.snakecase: 4.1.1 lodash.startcase: 4.4.0 lodash.upperfirst: 4.3.1 - '@commitlint/execute-rule@20.0.0': {} + "@commitlint/execute-rule@20.0.0": {} - '@commitlint/format@20.5.0': + "@commitlint/format@20.5.0": dependencies: - '@commitlint/types': 20.5.0 + "@commitlint/types": 20.5.0 picocolors: 1.1.1 - '@commitlint/is-ignored@20.5.0': + "@commitlint/is-ignored@20.5.0": dependencies: - '@commitlint/types': 20.5.0 + "@commitlint/types": 20.5.0 semver: 7.7.4 - '@commitlint/lint@20.5.0': + "@commitlint/lint@20.5.0": dependencies: - '@commitlint/is-ignored': 20.5.0 - '@commitlint/parse': 20.5.0 - '@commitlint/rules': 20.5.0 - '@commitlint/types': 20.5.0 + "@commitlint/is-ignored": 20.5.0 + "@commitlint/parse": 20.5.0 + "@commitlint/rules": 20.5.0 + "@commitlint/types": 20.5.0 - '@commitlint/load@20.5.0(@types/node@25.5.0)(typescript@5.9.3)': + "@commitlint/load@20.5.0(@types/node@25.5.0)(typescript@5.9.3)": dependencies: - '@commitlint/config-validator': 20.5.0 - '@commitlint/execute-rule': 20.0.0 - '@commitlint/resolve-extends': 20.5.0 - '@commitlint/types': 20.5.0 + "@commitlint/config-validator": 20.5.0 + "@commitlint/execute-rule": 20.0.0 + "@commitlint/resolve-extends": 20.5.0 + "@commitlint/types": 20.5.0 cosmiconfig: 9.0.1(typescript@5.9.3) cosmiconfig-typescript-loader: 6.1.0(@types/node@25.5.0)(cosmiconfig@9.0.1(typescript@5.9.3))(typescript@5.9.3) is-plain-obj: 4.1.0 lodash.mergewith: 4.6.2 picocolors: 1.1.1 transitivePeerDependencies: - - '@types/node' + - "@types/node" - typescript - '@commitlint/message@20.4.3': {} + "@commitlint/message@20.4.3": {} - '@commitlint/parse@20.5.0': + "@commitlint/parse@20.5.0": dependencies: - '@commitlint/types': 20.5.0 + "@commitlint/types": 20.5.0 conventional-changelog-angular: 8.3.0 conventional-commits-parser: 6.3.0 - '@commitlint/read@20.5.0(conventional-commits-parser@6.3.0)': + "@commitlint/read@20.5.0(conventional-commits-parser@6.3.0)": dependencies: - '@commitlint/top-level': 20.4.3 - '@commitlint/types': 20.5.0 + "@commitlint/top-level": 20.4.3 + "@commitlint/types": 20.5.0 git-raw-commits: 5.0.1(conventional-commits-parser@6.3.0) minimist: 1.2.8 tinyexec: 1.0.2 @@ -8660,76 +10083,76 @@ snapshots: - conventional-commits-filter - conventional-commits-parser - '@commitlint/resolve-extends@20.5.0': + "@commitlint/resolve-extends@20.5.0": dependencies: - '@commitlint/config-validator': 20.5.0 - '@commitlint/types': 20.5.0 + "@commitlint/config-validator": 20.5.0 + "@commitlint/types": 20.5.0 global-directory: 4.0.1 import-meta-resolve: 4.0.0 lodash.mergewith: 4.6.2 resolve-from: 5.0.0 - '@commitlint/rules@20.5.0': + "@commitlint/rules@20.5.0": dependencies: - '@commitlint/ensure': 20.5.0 - '@commitlint/message': 20.4.3 - '@commitlint/to-lines': 20.0.0 - '@commitlint/types': 20.5.0 + "@commitlint/ensure": 20.5.0 + "@commitlint/message": 20.4.3 + "@commitlint/to-lines": 20.0.0 + "@commitlint/types": 20.5.0 - '@commitlint/to-lines@20.0.0': {} + "@commitlint/to-lines@20.0.0": {} - '@commitlint/top-level@20.4.3': + "@commitlint/top-level@20.4.3": dependencies: escalade: 3.2.0 - '@commitlint/types@20.5.0': + "@commitlint/types@20.5.0": dependencies: conventional-commits-parser: 6.3.0 picocolors: 1.1.1 - '@conventional-changelog/git-client@2.6.0(conventional-commits-parser@6.3.0)': + "@conventional-changelog/git-client@2.6.0(conventional-commits-parser@6.3.0)": dependencies: - '@simple-libs/child-process-utils': 1.0.2 - '@simple-libs/stream-utils': 1.2.0 + "@simple-libs/child-process-utils": 1.0.2 + "@simple-libs/stream-utils": 1.2.0 semver: 7.7.4 optionalDependencies: conventional-commits-parser: 6.3.0 - '@cspotcode/source-map-support@0.8.1': + "@cspotcode/source-map-support@0.8.1": dependencies: - '@jridgewell/trace-mapping': 0.3.9 + "@jridgewell/trace-mapping": 0.3.9 - '@csstools/color-helpers@6.0.2': {} + "@csstools/color-helpers@6.0.2": {} - '@csstools/css-calc@3.1.1(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0)': + "@csstools/css-calc@3.1.1(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0)": dependencies: - '@csstools/css-parser-algorithms': 4.0.0(@csstools/css-tokenizer@4.0.0) - '@csstools/css-tokenizer': 4.0.0 + "@csstools/css-parser-algorithms": 4.0.0(@csstools/css-tokenizer@4.0.0) + "@csstools/css-tokenizer": 4.0.0 - '@csstools/css-color-parser@4.0.2(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0)': + "@csstools/css-color-parser@4.0.2(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0)": dependencies: - '@csstools/color-helpers': 6.0.2 - '@csstools/css-calc': 3.1.1(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0) - '@csstools/css-parser-algorithms': 4.0.0(@csstools/css-tokenizer@4.0.0) - '@csstools/css-tokenizer': 4.0.0 + "@csstools/color-helpers": 6.0.2 + "@csstools/css-calc": 3.1.1(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0) + "@csstools/css-parser-algorithms": 4.0.0(@csstools/css-tokenizer@4.0.0) + "@csstools/css-tokenizer": 4.0.0 - '@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0)': + "@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0)": dependencies: - '@csstools/css-tokenizer': 4.0.0 + "@csstools/css-tokenizer": 4.0.0 - '@csstools/css-syntax-patches-for-csstree@1.1.1(css-tree@3.2.1)': + "@csstools/css-syntax-patches-for-csstree@1.1.1(css-tree@3.2.1)": optionalDependencies: css-tree: 3.2.1 - '@csstools/css-tokenizer@4.0.0': {} + "@csstools/css-tokenizer@4.0.0": {} - '@dabh/diagnostics@2.0.8': + "@dabh/diagnostics@2.0.8": dependencies: - '@so-ric/colorspace': 1.1.6 + "@so-ric/colorspace": 1.1.6 enabled: 2.0.0 kuler: 2.0.0 - '@datalust/winston-seq@3.0.1(encoding@0.1.13)(winston@3.19.0)': + "@datalust/winston-seq@3.0.1(encoding@0.1.13)(winston@3.19.0)": dependencies: seq-logging: 3.0.0(encoding@0.1.13) winston: 3.19.0 @@ -8737,17 +10160,17 @@ snapshots: transitivePeerDependencies: - encoding - '@date-vir/duration@8.1.0': + "@date-vir/duration@8.1.0": dependencies: - '@types/luxon': 3.7.1 + "@types/luxon": 3.7.1 luxon: 3.7.2 type-fest: 5.4.4 - '@discoveryjs/json-ext@0.6.3': {} + "@discoveryjs/json-ext@0.6.3": {} - '@discoveryjs/json-ext@1.0.0': {} + "@discoveryjs/json-ext@1.0.0": {} - '@electron/get@2.0.3': + "@electron/get@2.0.3": dependencies: debug: 4.4.3(supports-color@5.5.0) env-paths: 2.2.1 @@ -8761,296 +10184,296 @@ snapshots: transitivePeerDependencies: - supports-color - '@emnapi/core@1.8.1': + "@emnapi/core@1.8.1": dependencies: - '@emnapi/wasi-threads': 1.1.0 + "@emnapi/wasi-threads": 1.1.0 tslib: 2.8.1 - '@emnapi/runtime@1.8.1': + "@emnapi/runtime@1.8.1": dependencies: tslib: 2.8.1 - '@emnapi/wasi-threads@1.1.0': + "@emnapi/wasi-threads@1.1.0": dependencies: tslib: 2.8.1 - '@epic-web/invariant@1.0.0': {} + "@epic-web/invariant@1.0.0": {} - '@es-joy/jsdoccomment@0.84.0': + "@es-joy/jsdoccomment@0.84.0": dependencies: - '@types/estree': 1.0.8 - '@typescript-eslint/types': 8.57.1 + "@types/estree": 1.0.8 + "@typescript-eslint/types": 8.57.1 comment-parser: 1.4.5 esquery: 1.7.0 jsdoc-type-pratt-parser: 7.1.1 - '@es-joy/resolve.exports@1.2.0': {} + "@es-joy/resolve.exports@1.2.0": {} - '@esbuild/aix-ppc64@0.27.2': + "@esbuild/aix-ppc64@0.27.2": optional: true - '@esbuild/android-arm64@0.27.2': + "@esbuild/android-arm64@0.27.2": optional: true - '@esbuild/android-arm@0.27.2': + "@esbuild/android-arm@0.27.2": optional: true - '@esbuild/android-x64@0.27.2': + "@esbuild/android-x64@0.27.2": optional: true - '@esbuild/darwin-arm64@0.27.2': + "@esbuild/darwin-arm64@0.27.2": optional: true - '@esbuild/darwin-x64@0.27.2': + "@esbuild/darwin-x64@0.27.2": optional: true - '@esbuild/freebsd-arm64@0.27.2': + "@esbuild/freebsd-arm64@0.27.2": optional: true - '@esbuild/freebsd-x64@0.27.2': + "@esbuild/freebsd-x64@0.27.2": optional: true - '@esbuild/linux-arm64@0.27.2': + "@esbuild/linux-arm64@0.27.2": optional: true - '@esbuild/linux-arm@0.27.2': + "@esbuild/linux-arm@0.27.2": optional: true - '@esbuild/linux-ia32@0.27.2': + "@esbuild/linux-ia32@0.27.2": optional: true - '@esbuild/linux-loong64@0.27.2': + "@esbuild/linux-loong64@0.27.2": optional: true - '@esbuild/linux-mips64el@0.27.2': + "@esbuild/linux-mips64el@0.27.2": optional: true - '@esbuild/linux-ppc64@0.27.2': + "@esbuild/linux-ppc64@0.27.2": optional: true - '@esbuild/linux-riscv64@0.27.2': + "@esbuild/linux-riscv64@0.27.2": optional: true - '@esbuild/linux-s390x@0.27.2': + "@esbuild/linux-s390x@0.27.2": optional: true - '@esbuild/linux-x64@0.27.2': + "@esbuild/linux-x64@0.27.2": optional: true - '@esbuild/netbsd-arm64@0.27.2': + "@esbuild/netbsd-arm64@0.27.2": optional: true - '@esbuild/netbsd-x64@0.27.2': + "@esbuild/netbsd-x64@0.27.2": optional: true - '@esbuild/openbsd-arm64@0.27.2': + "@esbuild/openbsd-arm64@0.27.2": optional: true - '@esbuild/openbsd-x64@0.27.2': + "@esbuild/openbsd-x64@0.27.2": optional: true - '@esbuild/openharmony-arm64@0.27.2': + "@esbuild/openharmony-arm64@0.27.2": optional: true - '@esbuild/sunos-x64@0.27.2': + "@esbuild/sunos-x64@0.27.2": optional: true - '@esbuild/win32-arm64@0.27.2': + "@esbuild/win32-arm64@0.27.2": optional: true - '@esbuild/win32-ia32@0.27.2': + "@esbuild/win32-ia32@0.27.2": optional: true - '@esbuild/win32-x64@0.27.2': + "@esbuild/win32-x64@0.27.2": optional: true - '@eslint-community/eslint-utils@4.9.1(eslint@10.1.0(jiti@2.6.1))': + "@eslint-community/eslint-utils@4.9.1(eslint@10.1.0(jiti@2.6.1))": dependencies: eslint: 10.1.0(jiti@2.6.1) eslint-visitor-keys: 3.4.3 - '@eslint-community/regexpp@4.12.2': {} + "@eslint-community/regexpp@4.12.2": {} - '@eslint/config-array@0.23.3': + "@eslint/config-array@0.23.3": dependencies: - '@eslint/object-schema': 3.0.3 + "@eslint/object-schema": 3.0.3 debug: 4.4.3(supports-color@5.5.0) minimatch: 10.2.4 transitivePeerDependencies: - supports-color - '@eslint/config-helpers@0.5.3': + "@eslint/config-helpers@0.5.3": dependencies: - '@eslint/core': 1.1.1 + "@eslint/core": 1.1.1 - '@eslint/core@1.1.1': + "@eslint/core@1.1.1": dependencies: - '@types/json-schema': 7.0.15 + "@types/json-schema": 7.0.15 - '@eslint/js@10.0.1(eslint@10.1.0(jiti@2.6.1))': + "@eslint/js@10.0.1(eslint@10.1.0(jiti@2.6.1))": optionalDependencies: eslint: 10.1.0(jiti@2.6.1) - '@eslint/object-schema@3.0.3': {} + "@eslint/object-schema@3.0.3": {} - '@eslint/plugin-kit@0.6.1': + "@eslint/plugin-kit@0.6.1": dependencies: - '@eslint/core': 1.1.1 + "@eslint/core": 1.1.1 levn: 0.4.1 - '@exodus/bytes@1.15.0': {} + "@exodus/bytes@1.15.0": {} - '@fortawesome/fontawesome-free@7.2.0': {} + "@fortawesome/fontawesome-free@7.2.0": {} - '@gerrit0/mini-shiki@3.23.0': + "@gerrit0/mini-shiki@3.23.0": dependencies: - '@shikijs/engine-oniguruma': 3.23.0 - '@shikijs/langs': 3.23.0 - '@shikijs/themes': 3.23.0 - '@shikijs/types': 3.23.0 - '@shikijs/vscode-textmate': 10.0.2 + "@shikijs/engine-oniguruma": 3.23.0 + "@shikijs/langs": 3.23.0 + "@shikijs/themes": 3.23.0 + "@shikijs/types": 3.23.0 + "@shikijs/vscode-textmate": 10.0.2 - '@humanfs/core@0.19.1': {} + "@humanfs/core@0.19.1": {} - '@humanfs/node@0.16.6': + "@humanfs/node@0.16.6": dependencies: - '@humanfs/core': 0.19.1 - '@humanwhocodes/retry': 0.3.1 + "@humanfs/core": 0.19.1 + "@humanwhocodes/retry": 0.3.1 - '@humanwhocodes/module-importer@1.0.1': {} + "@humanwhocodes/module-importer@1.0.1": {} - '@humanwhocodes/retry@0.3.1': {} + "@humanwhocodes/retry@0.3.1": {} - '@humanwhocodes/retry@0.4.3': {} + "@humanwhocodes/retry@0.4.3": {} - '@hutson/parse-repository-url@3.0.2': {} + "@hutson/parse-repository-url@3.0.2": {} - '@inquirer/ansi@1.0.2': {} + "@inquirer/ansi@1.0.2": {} - '@inquirer/checkbox@4.3.2(@types/node@25.5.0)': + "@inquirer/checkbox@4.3.2(@types/node@25.5.0)": dependencies: - '@inquirer/ansi': 1.0.2 - '@inquirer/core': 10.3.2(@types/node@25.5.0) - '@inquirer/figures': 1.0.15 - '@inquirer/type': 3.0.10(@types/node@25.5.0) + "@inquirer/ansi": 1.0.2 + "@inquirer/core": 10.3.2(@types/node@25.5.0) + "@inquirer/figures": 1.0.15 + "@inquirer/type": 3.0.10(@types/node@25.5.0) yoctocolors-cjs: 2.1.3 optionalDependencies: - '@types/node': 25.5.0 + "@types/node": 25.5.0 - '@inquirer/confirm@5.1.21(@types/node@25.5.0)': + "@inquirer/confirm@5.1.21(@types/node@25.5.0)": dependencies: - '@inquirer/core': 10.3.2(@types/node@25.5.0) - '@inquirer/type': 3.0.10(@types/node@25.5.0) + "@inquirer/core": 10.3.2(@types/node@25.5.0) + "@inquirer/type": 3.0.10(@types/node@25.5.0) optionalDependencies: - '@types/node': 25.5.0 + "@types/node": 25.5.0 - '@inquirer/core@10.3.2(@types/node@25.5.0)': + "@inquirer/core@10.3.2(@types/node@25.5.0)": dependencies: - '@inquirer/ansi': 1.0.2 - '@inquirer/figures': 1.0.15 - '@inquirer/type': 3.0.10(@types/node@25.5.0) + "@inquirer/ansi": 1.0.2 + "@inquirer/figures": 1.0.15 + "@inquirer/type": 3.0.10(@types/node@25.5.0) cli-width: 4.1.0 mute-stream: 2.0.0 signal-exit: 4.1.0 wrap-ansi: 6.2.0 yoctocolors-cjs: 2.1.3 optionalDependencies: - '@types/node': 25.5.0 + "@types/node": 25.5.0 - '@inquirer/editor@4.2.23(@types/node@25.5.0)': + "@inquirer/editor@4.2.23(@types/node@25.5.0)": dependencies: - '@inquirer/core': 10.3.2(@types/node@25.5.0) - '@inquirer/external-editor': 1.0.3(@types/node@25.5.0) - '@inquirer/type': 3.0.10(@types/node@25.5.0) + "@inquirer/core": 10.3.2(@types/node@25.5.0) + "@inquirer/external-editor": 1.0.3(@types/node@25.5.0) + "@inquirer/type": 3.0.10(@types/node@25.5.0) optionalDependencies: - '@types/node': 25.5.0 + "@types/node": 25.5.0 - '@inquirer/expand@4.0.23(@types/node@25.5.0)': + "@inquirer/expand@4.0.23(@types/node@25.5.0)": dependencies: - '@inquirer/core': 10.3.2(@types/node@25.5.0) - '@inquirer/type': 3.0.10(@types/node@25.5.0) + "@inquirer/core": 10.3.2(@types/node@25.5.0) + "@inquirer/type": 3.0.10(@types/node@25.5.0) yoctocolors-cjs: 2.1.3 optionalDependencies: - '@types/node': 25.5.0 + "@types/node": 25.5.0 - '@inquirer/external-editor@1.0.3(@types/node@25.5.0)': + "@inquirer/external-editor@1.0.3(@types/node@25.5.0)": dependencies: chardet: 2.1.1 iconv-lite: 0.7.1 optionalDependencies: - '@types/node': 25.5.0 + "@types/node": 25.5.0 - '@inquirer/figures@1.0.15': {} + "@inquirer/figures@1.0.15": {} - '@inquirer/input@4.3.1(@types/node@25.5.0)': + "@inquirer/input@4.3.1(@types/node@25.5.0)": dependencies: - '@inquirer/core': 10.3.2(@types/node@25.5.0) - '@inquirer/type': 3.0.10(@types/node@25.5.0) + "@inquirer/core": 10.3.2(@types/node@25.5.0) + "@inquirer/type": 3.0.10(@types/node@25.5.0) optionalDependencies: - '@types/node': 25.5.0 + "@types/node": 25.5.0 - '@inquirer/number@3.0.23(@types/node@25.5.0)': + "@inquirer/number@3.0.23(@types/node@25.5.0)": dependencies: - '@inquirer/core': 10.3.2(@types/node@25.5.0) - '@inquirer/type': 3.0.10(@types/node@25.5.0) + "@inquirer/core": 10.3.2(@types/node@25.5.0) + "@inquirer/type": 3.0.10(@types/node@25.5.0) optionalDependencies: - '@types/node': 25.5.0 + "@types/node": 25.5.0 - '@inquirer/password@4.0.23(@types/node@25.5.0)': + "@inquirer/password@4.0.23(@types/node@25.5.0)": dependencies: - '@inquirer/ansi': 1.0.2 - '@inquirer/core': 10.3.2(@types/node@25.5.0) - '@inquirer/type': 3.0.10(@types/node@25.5.0) + "@inquirer/ansi": 1.0.2 + "@inquirer/core": 10.3.2(@types/node@25.5.0) + "@inquirer/type": 3.0.10(@types/node@25.5.0) optionalDependencies: - '@types/node': 25.5.0 - - '@inquirer/prompts@7.10.1(@types/node@25.5.0)': - dependencies: - '@inquirer/checkbox': 4.3.2(@types/node@25.5.0) - '@inquirer/confirm': 5.1.21(@types/node@25.5.0) - '@inquirer/editor': 4.2.23(@types/node@25.5.0) - '@inquirer/expand': 4.0.23(@types/node@25.5.0) - '@inquirer/input': 4.3.1(@types/node@25.5.0) - '@inquirer/number': 3.0.23(@types/node@25.5.0) - '@inquirer/password': 4.0.23(@types/node@25.5.0) - '@inquirer/rawlist': 4.1.11(@types/node@25.5.0) - '@inquirer/search': 3.2.2(@types/node@25.5.0) - '@inquirer/select': 4.4.2(@types/node@25.5.0) + "@types/node": 25.5.0 + + "@inquirer/prompts@7.10.1(@types/node@25.5.0)": + dependencies: + "@inquirer/checkbox": 4.3.2(@types/node@25.5.0) + "@inquirer/confirm": 5.1.21(@types/node@25.5.0) + "@inquirer/editor": 4.2.23(@types/node@25.5.0) + "@inquirer/expand": 4.0.23(@types/node@25.5.0) + "@inquirer/input": 4.3.1(@types/node@25.5.0) + "@inquirer/number": 3.0.23(@types/node@25.5.0) + "@inquirer/password": 4.0.23(@types/node@25.5.0) + "@inquirer/rawlist": 4.1.11(@types/node@25.5.0) + "@inquirer/search": 3.2.2(@types/node@25.5.0) + "@inquirer/select": 4.4.2(@types/node@25.5.0) optionalDependencies: - '@types/node': 25.5.0 + "@types/node": 25.5.0 - '@inquirer/rawlist@4.1.11(@types/node@25.5.0)': + "@inquirer/rawlist@4.1.11(@types/node@25.5.0)": dependencies: - '@inquirer/core': 10.3.2(@types/node@25.5.0) - '@inquirer/type': 3.0.10(@types/node@25.5.0) + "@inquirer/core": 10.3.2(@types/node@25.5.0) + "@inquirer/type": 3.0.10(@types/node@25.5.0) yoctocolors-cjs: 2.1.3 optionalDependencies: - '@types/node': 25.5.0 + "@types/node": 25.5.0 - '@inquirer/search@3.2.2(@types/node@25.5.0)': + "@inquirer/search@3.2.2(@types/node@25.5.0)": dependencies: - '@inquirer/core': 10.3.2(@types/node@25.5.0) - '@inquirer/figures': 1.0.15 - '@inquirer/type': 3.0.10(@types/node@25.5.0) + "@inquirer/core": 10.3.2(@types/node@25.5.0) + "@inquirer/figures": 1.0.15 + "@inquirer/type": 3.0.10(@types/node@25.5.0) yoctocolors-cjs: 2.1.3 optionalDependencies: - '@types/node': 25.5.0 + "@types/node": 25.5.0 - '@inquirer/select@4.4.2(@types/node@25.5.0)': + "@inquirer/select@4.4.2(@types/node@25.5.0)": dependencies: - '@inquirer/ansi': 1.0.2 - '@inquirer/core': 10.3.2(@types/node@25.5.0) - '@inquirer/figures': 1.0.15 - '@inquirer/type': 3.0.10(@types/node@25.5.0) + "@inquirer/ansi": 1.0.2 + "@inquirer/core": 10.3.2(@types/node@25.5.0) + "@inquirer/figures": 1.0.15 + "@inquirer/type": 3.0.10(@types/node@25.5.0) yoctocolors-cjs: 2.1.3 optionalDependencies: - '@types/node': 25.5.0 + "@types/node": 25.5.0 - '@inquirer/type@3.0.10(@types/node@25.5.0)': + "@inquirer/type@3.0.10(@types/node@25.5.0)": optionalDependencies: - '@types/node': 25.5.0 + "@types/node": 25.5.0 - '@isaacs/cliui@8.0.2': + "@isaacs/cliui@8.0.2": dependencies: string-width: 5.1.2 string-width-cjs: string-width@4.2.3 @@ -9059,84 +10482,84 @@ snapshots: wrap-ansi: 8.1.0 wrap-ansi-cjs: wrap-ansi@7.0.0 - '@isaacs/fs-minipass@4.0.1': + "@isaacs/fs-minipass@4.0.1": dependencies: minipass: 7.1.3 - '@isaacs/string-locale-compare@1.1.0': {} + "@isaacs/string-locale-compare@1.1.0": {} - '@jest/diff-sequences@30.0.1': {} + "@jest/diff-sequences@30.0.1": {} - '@jest/get-type@30.1.0': {} + "@jest/get-type@30.1.0": {} - '@jest/schemas@30.0.5': + "@jest/schemas@30.0.5": dependencies: - '@sinclair/typebox': 0.34.41 + "@sinclair/typebox": 0.34.41 - '@jridgewell/gen-mapping@0.3.5': + "@jridgewell/gen-mapping@0.3.5": dependencies: - '@jridgewell/set-array': 1.2.1 - '@jridgewell/sourcemap-codec': 1.5.5 - '@jridgewell/trace-mapping': 0.3.31 + "@jridgewell/set-array": 1.2.1 + "@jridgewell/sourcemap-codec": 1.5.5 + "@jridgewell/trace-mapping": 0.3.31 - '@jridgewell/resolve-uri@3.1.1': {} + "@jridgewell/resolve-uri@3.1.1": {} - '@jridgewell/set-array@1.2.1': {} + "@jridgewell/set-array@1.2.1": {} - '@jridgewell/source-map@0.3.5': + "@jridgewell/source-map@0.3.5": dependencies: - '@jridgewell/gen-mapping': 0.3.5 - '@jridgewell/trace-mapping': 0.3.31 + "@jridgewell/gen-mapping": 0.3.5 + "@jridgewell/trace-mapping": 0.3.31 - '@jridgewell/sourcemap-codec@1.5.5': {} + "@jridgewell/sourcemap-codec@1.5.5": {} - '@jridgewell/trace-mapping@0.3.31': + "@jridgewell/trace-mapping@0.3.31": dependencies: - '@jridgewell/resolve-uri': 3.1.1 - '@jridgewell/sourcemap-codec': 1.5.5 + "@jridgewell/resolve-uri": 3.1.1 + "@jridgewell/sourcemap-codec": 1.5.5 - '@jridgewell/trace-mapping@0.3.9': + "@jridgewell/trace-mapping@0.3.9": dependencies: - '@jridgewell/resolve-uri': 3.1.1 - '@jridgewell/sourcemap-codec': 1.5.5 + "@jridgewell/resolve-uri": 3.1.1 + "@jridgewell/sourcemap-codec": 1.5.5 - '@ltd/j-toml@1.38.0': {} + "@ltd/j-toml@1.38.0": {} - '@microsoft/tsdoc-config@0.18.1': + "@microsoft/tsdoc-config@0.18.1": dependencies: - '@microsoft/tsdoc': 0.16.0 + "@microsoft/tsdoc": 0.16.0 ajv: 8.18.0 jju: 1.4.0 resolve: 1.22.10 - '@microsoft/tsdoc@0.16.0': {} + "@microsoft/tsdoc@0.16.0": {} - '@napi-rs/wasm-runtime@0.2.4': + "@napi-rs/wasm-runtime@0.2.4": dependencies: - '@emnapi/core': 1.8.1 - '@emnapi/runtime': 1.8.1 - '@tybys/wasm-util': 0.9.0 + "@emnapi/core": 1.8.1 + "@emnapi/runtime": 1.8.1 + "@tybys/wasm-util": 0.9.0 - '@napi-rs/wasm-runtime@1.1.1': + "@napi-rs/wasm-runtime@1.1.1": dependencies: - '@emnapi/core': 1.8.1 - '@emnapi/runtime': 1.8.1 - '@tybys/wasm-util': 0.10.1 + "@emnapi/core": 1.8.1 + "@emnapi/runtime": 1.8.1 + "@tybys/wasm-util": 0.10.1 optional: true - '@nodelib/fs.scandir@2.1.5': + "@nodelib/fs.scandir@2.1.5": dependencies: - '@nodelib/fs.stat': 2.0.5 + "@nodelib/fs.stat": 2.0.5 run-parallel: 1.2.0 - '@nodelib/fs.stat@2.0.5': {} + "@nodelib/fs.stat@2.0.5": {} - '@nodelib/fs.walk@1.2.8': + "@nodelib/fs.walk@1.2.8": dependencies: - '@nodelib/fs.scandir': 2.1.5 + "@nodelib/fs.scandir": 2.1.5 fastq: 1.15.0 - '@npmcli/agent@4.0.0': + "@npmcli/agent@4.0.0": dependencies: agent-base: 7.1.3 http-proxy-agent: 7.0.2 @@ -9146,19 +10569,19 @@ snapshots: transitivePeerDependencies: - supports-color - '@npmcli/arborist@9.1.6': - dependencies: - '@isaacs/string-locale-compare': 1.1.0 - '@npmcli/fs': 4.0.0 - '@npmcli/installed-package-contents': 3.0.0 - '@npmcli/map-workspaces': 5.0.3 - '@npmcli/metavuln-calculator': 9.0.3 - '@npmcli/name-from-folder': 3.0.0 - '@npmcli/node-gyp': 4.0.0 - '@npmcli/package-json': 7.0.2 - '@npmcli/query': 4.0.1 - '@npmcli/redact': 3.2.2 - '@npmcli/run-script': 10.0.3 + "@npmcli/arborist@9.1.6": + dependencies: + "@isaacs/string-locale-compare": 1.1.0 + "@npmcli/fs": 4.0.0 + "@npmcli/installed-package-contents": 3.0.0 + "@npmcli/map-workspaces": 5.0.3 + "@npmcli/metavuln-calculator": 9.0.3 + "@npmcli/name-from-folder": 3.0.0 + "@npmcli/node-gyp": 4.0.0 + "@npmcli/package-json": 7.0.2 + "@npmcli/query": 4.0.1 + "@npmcli/redact": 3.2.2 + "@npmcli/run-script": 10.0.3 bin-links: 5.0.0 cacache: 20.0.3 common-ancestor-path: 1.0.1 @@ -9184,17 +10607,17 @@ snapshots: transitivePeerDependencies: - supports-color - '@npmcli/fs@4.0.0': + "@npmcli/fs@4.0.0": dependencies: semver: 7.7.4 - '@npmcli/fs@5.0.0': + "@npmcli/fs@5.0.0": dependencies: semver: 7.7.4 - '@npmcli/git@6.0.3': + "@npmcli/git@6.0.3": dependencies: - '@npmcli/promise-spawn': 8.0.3 + "@npmcli/promise-spawn": 8.0.3 ini: 5.0.0 lru-cache: 10.4.3 npm-pick-manifest: 10.0.0 @@ -9203,9 +10626,9 @@ snapshots: semver: 7.7.4 which: 5.0.0 - '@npmcli/git@7.0.1': + "@npmcli/git@7.0.1": dependencies: - '@npmcli/promise-spawn': 9.0.1 + "@npmcli/promise-spawn": 9.0.1 ini: 6.0.0 lru-cache: 11.2.7 npm-pick-manifest: 11.0.3 @@ -9214,24 +10637,24 @@ snapshots: semver: 7.7.4 which: 6.0.0 - '@npmcli/installed-package-contents@3.0.0': + "@npmcli/installed-package-contents@3.0.0": dependencies: npm-bundled: 4.0.0 npm-normalize-package-bin: 4.0.0 - '@npmcli/installed-package-contents@4.0.0': + "@npmcli/installed-package-contents@4.0.0": dependencies: npm-bundled: 5.0.0 npm-normalize-package-bin: 5.0.0 - '@npmcli/map-workspaces@5.0.3': + "@npmcli/map-workspaces@5.0.3": dependencies: - '@npmcli/name-from-folder': 4.0.0 - '@npmcli/package-json': 7.0.2 + "@npmcli/name-from-folder": 4.0.0 + "@npmcli/package-json": 7.0.2 glob: 13.0.6 minimatch: 10.2.4 - '@npmcli/metavuln-calculator@9.0.3': + "@npmcli/metavuln-calculator@9.0.3": dependencies: cacache: 20.0.3 json-parse-even-better-errors: 5.0.0 @@ -9241,17 +10664,17 @@ snapshots: transitivePeerDependencies: - supports-color - '@npmcli/name-from-folder@3.0.0': {} + "@npmcli/name-from-folder@3.0.0": {} - '@npmcli/name-from-folder@4.0.0': {} + "@npmcli/name-from-folder@4.0.0": {} - '@npmcli/node-gyp@4.0.0': {} + "@npmcli/node-gyp@4.0.0": {} - '@npmcli/node-gyp@5.0.0': {} + "@npmcli/node-gyp@5.0.0": {} - '@npmcli/package-json@7.0.2': + "@npmcli/package-json@7.0.2": dependencies: - '@npmcli/git': 7.0.1 + "@npmcli/git": 7.0.1 glob: 11.1.0 hosted-git-info: 9.0.2 json-parse-even-better-errors: 5.0.0 @@ -9259,40 +10682,40 @@ snapshots: semver: 7.7.4 validate-npm-package-license: 3.0.4 - '@npmcli/promise-spawn@8.0.3': + "@npmcli/promise-spawn@8.0.3": dependencies: which: 5.0.0 - '@npmcli/promise-spawn@9.0.1': + "@npmcli/promise-spawn@9.0.1": dependencies: which: 6.0.0 - '@npmcli/query@4.0.1': + "@npmcli/query@4.0.1": dependencies: postcss-selector-parser: 7.1.1 - '@npmcli/redact@3.2.2': {} + "@npmcli/redact@3.2.2": {} - '@npmcli/run-script@10.0.3': + "@npmcli/run-script@10.0.3": dependencies: - '@npmcli/node-gyp': 5.0.0 - '@npmcli/package-json': 7.0.2 - '@npmcli/promise-spawn': 9.0.1 + "@npmcli/node-gyp": 5.0.0 + "@npmcli/package-json": 7.0.2 + "@npmcli/promise-spawn": 9.0.1 node-gyp: 12.2.0 proc-log: 6.1.0 which: 6.0.0 transitivePeerDependencies: - supports-color - '@nrwl/nx-cloud@19.1.0': + "@nrwl/nx-cloud@19.1.0": dependencies: nx-cloud: 19.1.0 transitivePeerDependencies: - debug - '@nx/devkit@22.3.3(nx@22.6.3(@swc/core@1.15.21))': + "@nx/devkit@22.3.3(nx@22.6.3(@swc/core@1.15.21))": dependencies: - '@zkochan/js-yaml': 0.0.7 + "@zkochan/js-yaml": 0.0.7 ejs: 3.1.9 enquirer: 2.3.6 minimatch: 9.0.3 @@ -9301,570 +10724,570 @@ snapshots: tslib: 2.8.1 yargs-parser: 21.1.1 - '@nx/nx-darwin-arm64@22.6.3': + "@nx/nx-darwin-arm64@22.6.3": optional: true - '@nx/nx-darwin-x64@22.6.3': + "@nx/nx-darwin-x64@22.6.3": optional: true - '@nx/nx-freebsd-x64@22.6.3': + "@nx/nx-freebsd-x64@22.6.3": optional: true - '@nx/nx-linux-arm-gnueabihf@22.6.3': + "@nx/nx-linux-arm-gnueabihf@22.6.3": optional: true - '@nx/nx-linux-arm64-gnu@22.6.3': + "@nx/nx-linux-arm64-gnu@22.6.3": optional: true - '@nx/nx-linux-arm64-musl@22.6.3': + "@nx/nx-linux-arm64-musl@22.6.3": optional: true - '@nx/nx-linux-x64-gnu@22.6.3': + "@nx/nx-linux-x64-gnu@22.6.3": optional: true - '@nx/nx-linux-x64-musl@22.6.3': + "@nx/nx-linux-x64-musl@22.6.3": optional: true - '@nx/nx-win32-arm64-msvc@22.6.3': + "@nx/nx-win32-arm64-msvc@22.6.3": optional: true - '@nx/nx-win32-x64-msvc@22.6.3': + "@nx/nx-win32-x64-msvc@22.6.3": optional: true - '@octokit/auth-token@4.0.0': {} + "@octokit/auth-token@4.0.0": {} - '@octokit/core@5.2.1': + "@octokit/core@5.2.1": dependencies: - '@octokit/auth-token': 4.0.0 - '@octokit/graphql': 7.1.1 - '@octokit/request': 8.4.1 - '@octokit/request-error': 5.1.1 - '@octokit/types': 13.10.0 + "@octokit/auth-token": 4.0.0 + "@octokit/graphql": 7.1.1 + "@octokit/request": 8.4.1 + "@octokit/request-error": 5.1.1 + "@octokit/types": 13.10.0 before-after-hook: 2.2.3 universal-user-agent: 6.0.0 - '@octokit/endpoint@9.0.6': + "@octokit/endpoint@9.0.6": dependencies: - '@octokit/types': 13.10.0 + "@octokit/types": 13.10.0 universal-user-agent: 6.0.0 - '@octokit/graphql@7.1.1': + "@octokit/graphql@7.1.1": dependencies: - '@octokit/request': 8.4.1 - '@octokit/types': 13.10.0 + "@octokit/request": 8.4.1 + "@octokit/types": 13.10.0 universal-user-agent: 6.0.0 - '@octokit/openapi-types@24.2.0': {} + "@octokit/openapi-types@24.2.0": {} - '@octokit/plugin-enterprise-rest@6.0.1': {} + "@octokit/plugin-enterprise-rest@6.0.1": {} - '@octokit/plugin-paginate-rest@11.4.4-cjs.2(@octokit/core@5.2.1)': + "@octokit/plugin-paginate-rest@11.4.4-cjs.2(@octokit/core@5.2.1)": dependencies: - '@octokit/core': 5.2.1 - '@octokit/types': 13.10.0 + "@octokit/core": 5.2.1 + "@octokit/types": 13.10.0 - '@octokit/plugin-request-log@4.0.1(@octokit/core@5.2.1)': + "@octokit/plugin-request-log@4.0.1(@octokit/core@5.2.1)": dependencies: - '@octokit/core': 5.2.1 + "@octokit/core": 5.2.1 - '@octokit/plugin-rest-endpoint-methods@13.3.2-cjs.1(@octokit/core@5.2.1)': + "@octokit/plugin-rest-endpoint-methods@13.3.2-cjs.1(@octokit/core@5.2.1)": dependencies: - '@octokit/core': 5.2.1 - '@octokit/types': 13.10.0 + "@octokit/core": 5.2.1 + "@octokit/types": 13.10.0 - '@octokit/request-error@5.1.1': + "@octokit/request-error@5.1.1": dependencies: - '@octokit/types': 13.10.0 + "@octokit/types": 13.10.0 deprecation: 2.3.1 once: 1.4.0 - '@octokit/request@8.4.1': + "@octokit/request@8.4.1": dependencies: - '@octokit/endpoint': 9.0.6 - '@octokit/request-error': 5.1.1 - '@octokit/types': 13.10.0 + "@octokit/endpoint": 9.0.6 + "@octokit/request-error": 5.1.1 + "@octokit/types": 13.10.0 universal-user-agent: 6.0.0 - '@octokit/rest@20.1.2': + "@octokit/rest@20.1.2": dependencies: - '@octokit/core': 5.2.1 - '@octokit/plugin-paginate-rest': 11.4.4-cjs.2(@octokit/core@5.2.1) - '@octokit/plugin-request-log': 4.0.1(@octokit/core@5.2.1) - '@octokit/plugin-rest-endpoint-methods': 13.3.2-cjs.1(@octokit/core@5.2.1) + "@octokit/core": 5.2.1 + "@octokit/plugin-paginate-rest": 11.4.4-cjs.2(@octokit/core@5.2.1) + "@octokit/plugin-request-log": 4.0.1(@octokit/core@5.2.1) + "@octokit/plugin-rest-endpoint-methods": 13.3.2-cjs.1(@octokit/core@5.2.1) - '@octokit/types@13.10.0': + "@octokit/types@13.10.0": dependencies: - '@octokit/openapi-types': 24.2.0 + "@octokit/openapi-types": 24.2.0 - '@oxc-minify/binding-android-arm-eabi@0.116.0': + "@oxc-minify/binding-android-arm-eabi@0.116.0": optional: true - '@oxc-minify/binding-android-arm64@0.116.0': + "@oxc-minify/binding-android-arm64@0.116.0": optional: true - '@oxc-minify/binding-darwin-arm64@0.116.0': + "@oxc-minify/binding-darwin-arm64@0.116.0": optional: true - '@oxc-minify/binding-darwin-x64@0.116.0': + "@oxc-minify/binding-darwin-x64@0.116.0": optional: true - '@oxc-minify/binding-freebsd-x64@0.116.0': + "@oxc-minify/binding-freebsd-x64@0.116.0": optional: true - '@oxc-minify/binding-linux-arm-gnueabihf@0.116.0': + "@oxc-minify/binding-linux-arm-gnueabihf@0.116.0": optional: true - '@oxc-minify/binding-linux-arm-musleabihf@0.116.0': + "@oxc-minify/binding-linux-arm-musleabihf@0.116.0": optional: true - '@oxc-minify/binding-linux-arm64-gnu@0.116.0': + "@oxc-minify/binding-linux-arm64-gnu@0.116.0": optional: true - '@oxc-minify/binding-linux-arm64-musl@0.116.0': + "@oxc-minify/binding-linux-arm64-musl@0.116.0": optional: true - '@oxc-minify/binding-linux-ppc64-gnu@0.116.0': + "@oxc-minify/binding-linux-ppc64-gnu@0.116.0": optional: true - '@oxc-minify/binding-linux-riscv64-gnu@0.116.0': + "@oxc-minify/binding-linux-riscv64-gnu@0.116.0": optional: true - '@oxc-minify/binding-linux-riscv64-musl@0.116.0': + "@oxc-minify/binding-linux-riscv64-musl@0.116.0": optional: true - '@oxc-minify/binding-linux-s390x-gnu@0.116.0': + "@oxc-minify/binding-linux-s390x-gnu@0.116.0": optional: true - '@oxc-minify/binding-linux-x64-gnu@0.116.0': + "@oxc-minify/binding-linux-x64-gnu@0.116.0": optional: true - '@oxc-minify/binding-linux-x64-musl@0.116.0': + "@oxc-minify/binding-linux-x64-musl@0.116.0": optional: true - '@oxc-minify/binding-openharmony-arm64@0.116.0': + "@oxc-minify/binding-openharmony-arm64@0.116.0": optional: true - '@oxc-minify/binding-wasm32-wasi@0.116.0': + "@oxc-minify/binding-wasm32-wasi@0.116.0": dependencies: - '@napi-rs/wasm-runtime': 1.1.1 + "@napi-rs/wasm-runtime": 1.1.1 optional: true - '@oxc-minify/binding-win32-arm64-msvc@0.116.0': + "@oxc-minify/binding-win32-arm64-msvc@0.116.0": optional: true - '@oxc-minify/binding-win32-ia32-msvc@0.116.0': + "@oxc-minify/binding-win32-ia32-msvc@0.116.0": optional: true - '@oxc-minify/binding-win32-x64-msvc@0.116.0': + "@oxc-minify/binding-win32-x64-msvc@0.116.0": optional: true - '@oxc-project/types@0.120.0': {} + "@oxc-project/types@0.120.0": {} - '@parcel/watcher-android-arm64@2.5.1': + "@parcel/watcher-android-arm64@2.5.1": optional: true - '@parcel/watcher-darwin-arm64@2.5.1': + "@parcel/watcher-darwin-arm64@2.5.1": optional: true - '@parcel/watcher-darwin-x64@2.5.1': + "@parcel/watcher-darwin-x64@2.5.1": optional: true - '@parcel/watcher-freebsd-x64@2.5.1': + "@parcel/watcher-freebsd-x64@2.5.1": optional: true - '@parcel/watcher-linux-arm-glibc@2.5.1': + "@parcel/watcher-linux-arm-glibc@2.5.1": optional: true - '@parcel/watcher-linux-arm-musl@2.5.1': + "@parcel/watcher-linux-arm-musl@2.5.1": optional: true - '@parcel/watcher-linux-arm64-glibc@2.5.1': + "@parcel/watcher-linux-arm64-glibc@2.5.1": optional: true - '@parcel/watcher-linux-arm64-musl@2.5.1': + "@parcel/watcher-linux-arm64-musl@2.5.1": optional: true - '@parcel/watcher-linux-x64-glibc@2.5.1': + "@parcel/watcher-linux-x64-glibc@2.5.1": optional: true - '@parcel/watcher-linux-x64-musl@2.5.1': + "@parcel/watcher-linux-x64-musl@2.5.1": optional: true - '@parcel/watcher-win32-arm64@2.5.1': + "@parcel/watcher-win32-arm64@2.5.1": optional: true - '@parcel/watcher-win32-ia32@2.5.1': + "@parcel/watcher-win32-ia32@2.5.1": optional: true - '@parcel/watcher-win32-x64@2.5.1': + "@parcel/watcher-win32-x64@2.5.1": optional: true - '@parcel/watcher@2.5.1': + "@parcel/watcher@2.5.1": dependencies: detect-libc: 1.0.3 is-glob: 4.0.3 micromatch: 4.0.5 node-addon-api: 7.1.1 optionalDependencies: - '@parcel/watcher-android-arm64': 2.5.1 - '@parcel/watcher-darwin-arm64': 2.5.1 - '@parcel/watcher-darwin-x64': 2.5.1 - '@parcel/watcher-freebsd-x64': 2.5.1 - '@parcel/watcher-linux-arm-glibc': 2.5.1 - '@parcel/watcher-linux-arm-musl': 2.5.1 - '@parcel/watcher-linux-arm64-glibc': 2.5.1 - '@parcel/watcher-linux-arm64-musl': 2.5.1 - '@parcel/watcher-linux-x64-glibc': 2.5.1 - '@parcel/watcher-linux-x64-musl': 2.5.1 - '@parcel/watcher-win32-arm64': 2.5.1 - '@parcel/watcher-win32-ia32': 2.5.1 - '@parcel/watcher-win32-x64': 2.5.1 + "@parcel/watcher-android-arm64": 2.5.1 + "@parcel/watcher-darwin-arm64": 2.5.1 + "@parcel/watcher-darwin-x64": 2.5.1 + "@parcel/watcher-freebsd-x64": 2.5.1 + "@parcel/watcher-linux-arm-glibc": 2.5.1 + "@parcel/watcher-linux-arm-musl": 2.5.1 + "@parcel/watcher-linux-arm64-glibc": 2.5.1 + "@parcel/watcher-linux-arm64-musl": 2.5.1 + "@parcel/watcher-linux-x64-glibc": 2.5.1 + "@parcel/watcher-linux-x64-musl": 2.5.1 + "@parcel/watcher-win32-arm64": 2.5.1 + "@parcel/watcher-win32-ia32": 2.5.1 + "@parcel/watcher-win32-x64": 2.5.1 optional: true - '@pkgjs/parseargs@0.11.0': + "@pkgjs/parseargs@0.11.0": optional: true - '@pkgr/core@0.2.9': {} + "@pkgr/core@0.2.9": {} - '@polka/url@1.0.0-next.25': {} + "@polka/url@1.0.0-next.25": {} - '@popperjs/core@2.11.8': {} + "@popperjs/core@2.11.8": {} - '@putout/minify@6.0.0': {} + "@putout/minify@6.0.0": {} - '@rolldown/binding-android-arm64@1.0.0-rc.10': + "@rolldown/binding-android-arm64@1.0.0-rc.10": optional: true - '@rolldown/binding-darwin-arm64@1.0.0-rc.10': + "@rolldown/binding-darwin-arm64@1.0.0-rc.10": optional: true - '@rolldown/binding-darwin-x64@1.0.0-rc.10': + "@rolldown/binding-darwin-x64@1.0.0-rc.10": optional: true - '@rolldown/binding-freebsd-x64@1.0.0-rc.10': + "@rolldown/binding-freebsd-x64@1.0.0-rc.10": optional: true - '@rolldown/binding-linux-arm-gnueabihf@1.0.0-rc.10': + "@rolldown/binding-linux-arm-gnueabihf@1.0.0-rc.10": optional: true - '@rolldown/binding-linux-arm64-gnu@1.0.0-rc.10': + "@rolldown/binding-linux-arm64-gnu@1.0.0-rc.10": optional: true - '@rolldown/binding-linux-arm64-musl@1.0.0-rc.10': + "@rolldown/binding-linux-arm64-musl@1.0.0-rc.10": optional: true - '@rolldown/binding-linux-ppc64-gnu@1.0.0-rc.10': + "@rolldown/binding-linux-ppc64-gnu@1.0.0-rc.10": optional: true - '@rolldown/binding-linux-s390x-gnu@1.0.0-rc.10': + "@rolldown/binding-linux-s390x-gnu@1.0.0-rc.10": optional: true - '@rolldown/binding-linux-x64-gnu@1.0.0-rc.10': + "@rolldown/binding-linux-x64-gnu@1.0.0-rc.10": optional: true - '@rolldown/binding-linux-x64-musl@1.0.0-rc.10': + "@rolldown/binding-linux-x64-musl@1.0.0-rc.10": optional: true - '@rolldown/binding-openharmony-arm64@1.0.0-rc.10': + "@rolldown/binding-openharmony-arm64@1.0.0-rc.10": optional: true - '@rolldown/binding-wasm32-wasi@1.0.0-rc.10': + "@rolldown/binding-wasm32-wasi@1.0.0-rc.10": dependencies: - '@napi-rs/wasm-runtime': 1.1.1 + "@napi-rs/wasm-runtime": 1.1.1 optional: true - '@rolldown/binding-win32-arm64-msvc@1.0.0-rc.10': + "@rolldown/binding-win32-arm64-msvc@1.0.0-rc.10": optional: true - '@rolldown/binding-win32-x64-msvc@1.0.0-rc.10': + "@rolldown/binding-win32-x64-msvc@1.0.0-rc.10": optional: true - '@rolldown/pluginutils@1.0.0-rc.10': {} + "@rolldown/pluginutils@1.0.0-rc.10": {} - '@rollup/rollup-android-arm-eabi@4.59.0': + "@rollup/rollup-android-arm-eabi@4.59.0": optional: true - '@rollup/rollup-android-arm64@4.59.0': + "@rollup/rollup-android-arm64@4.59.0": optional: true - '@rollup/rollup-darwin-arm64@4.59.0': + "@rollup/rollup-darwin-arm64@4.59.0": optional: true - '@rollup/rollup-darwin-x64@4.59.0': + "@rollup/rollup-darwin-x64@4.59.0": optional: true - '@rollup/rollup-freebsd-arm64@4.59.0': + "@rollup/rollup-freebsd-arm64@4.59.0": optional: true - '@rollup/rollup-freebsd-x64@4.59.0': + "@rollup/rollup-freebsd-x64@4.59.0": optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.59.0': + "@rollup/rollup-linux-arm-gnueabihf@4.59.0": optional: true - '@rollup/rollup-linux-arm-musleabihf@4.59.0': + "@rollup/rollup-linux-arm-musleabihf@4.59.0": optional: true - '@rollup/rollup-linux-arm64-gnu@4.59.0': + "@rollup/rollup-linux-arm64-gnu@4.59.0": optional: true - '@rollup/rollup-linux-arm64-musl@4.59.0': + "@rollup/rollup-linux-arm64-musl@4.59.0": optional: true - '@rollup/rollup-linux-loong64-gnu@4.59.0': + "@rollup/rollup-linux-loong64-gnu@4.59.0": optional: true - '@rollup/rollup-linux-loong64-musl@4.59.0': + "@rollup/rollup-linux-loong64-musl@4.59.0": optional: true - '@rollup/rollup-linux-ppc64-gnu@4.59.0': + "@rollup/rollup-linux-ppc64-gnu@4.59.0": optional: true - '@rollup/rollup-linux-ppc64-musl@4.59.0': + "@rollup/rollup-linux-ppc64-musl@4.59.0": optional: true - '@rollup/rollup-linux-riscv64-gnu@4.59.0': + "@rollup/rollup-linux-riscv64-gnu@4.59.0": optional: true - '@rollup/rollup-linux-riscv64-musl@4.59.0': + "@rollup/rollup-linux-riscv64-musl@4.59.0": optional: true - '@rollup/rollup-linux-s390x-gnu@4.59.0': + "@rollup/rollup-linux-s390x-gnu@4.59.0": optional: true - '@rollup/rollup-linux-x64-gnu@4.59.0': + "@rollup/rollup-linux-x64-gnu@4.59.0": optional: true - '@rollup/rollup-linux-x64-musl@4.59.0': + "@rollup/rollup-linux-x64-musl@4.59.0": optional: true - '@rollup/rollup-openbsd-x64@4.59.0': + "@rollup/rollup-openbsd-x64@4.59.0": optional: true - '@rollup/rollup-openharmony-arm64@4.59.0': + "@rollup/rollup-openharmony-arm64@4.59.0": optional: true - '@rollup/rollup-win32-arm64-msvc@4.59.0': + "@rollup/rollup-win32-arm64-msvc@4.59.0": optional: true - '@rollup/rollup-win32-ia32-msvc@4.59.0': + "@rollup/rollup-win32-ia32-msvc@4.59.0": optional: true - '@rollup/rollup-win32-x64-gnu@4.59.0': + "@rollup/rollup-win32-x64-gnu@4.59.0": optional: true - '@rollup/rollup-win32-x64-msvc@4.59.0': + "@rollup/rollup-win32-x64-msvc@4.59.0": optional: true - '@shikijs/engine-oniguruma@3.23.0': + "@shikijs/engine-oniguruma@3.23.0": dependencies: - '@shikijs/types': 3.23.0 - '@shikijs/vscode-textmate': 10.0.2 + "@shikijs/types": 3.23.0 + "@shikijs/vscode-textmate": 10.0.2 - '@shikijs/langs@3.23.0': + "@shikijs/langs@3.23.0": dependencies: - '@shikijs/types': 3.23.0 + "@shikijs/types": 3.23.0 - '@shikijs/themes@3.23.0': + "@shikijs/themes@3.23.0": dependencies: - '@shikijs/types': 3.23.0 + "@shikijs/types": 3.23.0 - '@shikijs/types@3.23.0': + "@shikijs/types@3.23.0": dependencies: - '@shikijs/vscode-textmate': 10.0.2 - '@types/hast': 3.0.4 + "@shikijs/vscode-textmate": 10.0.2 + "@types/hast": 3.0.4 - '@shikijs/vscode-textmate@10.0.2': {} + "@shikijs/vscode-textmate@10.0.2": {} - '@sigstore/bundle@4.0.0': + "@sigstore/bundle@4.0.0": dependencies: - '@sigstore/protobuf-specs': 0.5.0 + "@sigstore/protobuf-specs": 0.5.0 - '@sigstore/core@3.1.0': {} + "@sigstore/core@3.1.0": {} - '@sigstore/protobuf-specs@0.5.0': {} + "@sigstore/protobuf-specs@0.5.0": {} - '@sigstore/sign@4.1.0': + "@sigstore/sign@4.1.0": dependencies: - '@sigstore/bundle': 4.0.0 - '@sigstore/core': 3.1.0 - '@sigstore/protobuf-specs': 0.5.0 + "@sigstore/bundle": 4.0.0 + "@sigstore/core": 3.1.0 + "@sigstore/protobuf-specs": 0.5.0 make-fetch-happen: 15.0.3 proc-log: 6.1.0 promise-retry: 2.0.1 transitivePeerDependencies: - supports-color - '@sigstore/tuf@4.0.1': + "@sigstore/tuf@4.0.1": dependencies: - '@sigstore/protobuf-specs': 0.5.0 + "@sigstore/protobuf-specs": 0.5.0 tuf-js: 4.1.0 transitivePeerDependencies: - supports-color - '@sigstore/verify@3.1.0': + "@sigstore/verify@3.1.0": dependencies: - '@sigstore/bundle': 4.0.0 - '@sigstore/core': 3.1.0 - '@sigstore/protobuf-specs': 0.5.0 + "@sigstore/bundle": 4.0.0 + "@sigstore/core": 3.1.0 + "@sigstore/protobuf-specs": 0.5.0 - '@simple-libs/child-process-utils@1.0.2': + "@simple-libs/child-process-utils@1.0.2": dependencies: - '@simple-libs/stream-utils': 1.2.0 + "@simple-libs/stream-utils": 1.2.0 - '@simple-libs/stream-utils@1.2.0': {} + "@simple-libs/stream-utils@1.2.0": {} - '@sinclair/typebox@0.34.41': {} + "@sinclair/typebox@0.34.41": {} - '@sindresorhus/base62@1.0.0': {} + "@sindresorhus/base62@1.0.0": {} - '@sindresorhus/is@4.6.0': {} + "@sindresorhus/is@4.6.0": {} - '@so-ric/colorspace@1.1.6': + "@so-ric/colorspace@1.1.6": dependencies: color: 5.0.3 text-hex: 1.0.0 - '@sphinxxxx/color-conversion@2.2.2': {} + "@sphinxxxx/color-conversion@2.2.2": {} - '@standard-schema/spec@1.1.0': {} + "@standard-schema/spec@1.1.0": {} - '@stylistic/eslint-plugin@5.10.0(eslint@10.1.0(jiti@2.6.1))': + "@stylistic/eslint-plugin@5.10.0(eslint@10.1.0(jiti@2.6.1))": dependencies: - '@eslint-community/eslint-utils': 4.9.1(eslint@10.1.0(jiti@2.6.1)) - '@typescript-eslint/types': 8.57.0 + "@eslint-community/eslint-utils": 4.9.1(eslint@10.1.0(jiti@2.6.1)) + "@typescript-eslint/types": 8.57.0 eslint: 10.1.0(jiti@2.6.1) eslint-visitor-keys: 4.2.1 espree: 10.4.0 estraverse: 5.3.0 picomatch: 4.0.3 - '@swc/core-darwin-arm64@1.15.18': + "@swc/core-darwin-arm64@1.15.18": optional: true - '@swc/core-darwin-arm64@1.15.21': + "@swc/core-darwin-arm64@1.15.21": optional: true - '@swc/core-darwin-x64@1.15.18': + "@swc/core-darwin-x64@1.15.18": optional: true - '@swc/core-darwin-x64@1.15.21': + "@swc/core-darwin-x64@1.15.21": optional: true - '@swc/core-linux-arm-gnueabihf@1.15.18': + "@swc/core-linux-arm-gnueabihf@1.15.18": optional: true - '@swc/core-linux-arm-gnueabihf@1.15.21': + "@swc/core-linux-arm-gnueabihf@1.15.21": optional: true - '@swc/core-linux-arm64-gnu@1.15.18': + "@swc/core-linux-arm64-gnu@1.15.18": optional: true - '@swc/core-linux-arm64-gnu@1.15.21': + "@swc/core-linux-arm64-gnu@1.15.21": optional: true - '@swc/core-linux-arm64-musl@1.15.18': + "@swc/core-linux-arm64-musl@1.15.18": optional: true - '@swc/core-linux-arm64-musl@1.15.21': + "@swc/core-linux-arm64-musl@1.15.21": optional: true - '@swc/core-linux-ppc64-gnu@1.15.21': + "@swc/core-linux-ppc64-gnu@1.15.21": optional: true - '@swc/core-linux-s390x-gnu@1.15.21': + "@swc/core-linux-s390x-gnu@1.15.21": optional: true - '@swc/core-linux-x64-gnu@1.15.18': + "@swc/core-linux-x64-gnu@1.15.18": optional: true - '@swc/core-linux-x64-gnu@1.15.21': + "@swc/core-linux-x64-gnu@1.15.21": optional: true - '@swc/core-linux-x64-musl@1.15.18': + "@swc/core-linux-x64-musl@1.15.18": optional: true - '@swc/core-linux-x64-musl@1.15.21': + "@swc/core-linux-x64-musl@1.15.21": optional: true - '@swc/core-win32-arm64-msvc@1.15.18': + "@swc/core-win32-arm64-msvc@1.15.18": optional: true - '@swc/core-win32-arm64-msvc@1.15.21': + "@swc/core-win32-arm64-msvc@1.15.21": optional: true - '@swc/core-win32-ia32-msvc@1.15.18': + "@swc/core-win32-ia32-msvc@1.15.18": optional: true - '@swc/core-win32-ia32-msvc@1.15.21': + "@swc/core-win32-ia32-msvc@1.15.21": optional: true - '@swc/core-win32-x64-msvc@1.15.18': + "@swc/core-win32-x64-msvc@1.15.18": optional: true - '@swc/core-win32-x64-msvc@1.15.21': + "@swc/core-win32-x64-msvc@1.15.21": optional: true - '@swc/core@1.15.18': + "@swc/core@1.15.18": dependencies: - '@swc/counter': 0.1.3 - '@swc/types': 0.1.25 + "@swc/counter": 0.1.3 + "@swc/types": 0.1.25 optionalDependencies: - '@swc/core-darwin-arm64': 1.15.18 - '@swc/core-darwin-x64': 1.15.18 - '@swc/core-linux-arm-gnueabihf': 1.15.18 - '@swc/core-linux-arm64-gnu': 1.15.18 - '@swc/core-linux-arm64-musl': 1.15.18 - '@swc/core-linux-x64-gnu': 1.15.18 - '@swc/core-linux-x64-musl': 1.15.18 - '@swc/core-win32-arm64-msvc': 1.15.18 - '@swc/core-win32-ia32-msvc': 1.15.18 - '@swc/core-win32-x64-msvc': 1.15.18 - - '@swc/core@1.15.21': - dependencies: - '@swc/counter': 0.1.3 - '@swc/types': 0.1.25 + "@swc/core-darwin-arm64": 1.15.18 + "@swc/core-darwin-x64": 1.15.18 + "@swc/core-linux-arm-gnueabihf": 1.15.18 + "@swc/core-linux-arm64-gnu": 1.15.18 + "@swc/core-linux-arm64-musl": 1.15.18 + "@swc/core-linux-x64-gnu": 1.15.18 + "@swc/core-linux-x64-musl": 1.15.18 + "@swc/core-win32-arm64-msvc": 1.15.18 + "@swc/core-win32-ia32-msvc": 1.15.18 + "@swc/core-win32-x64-msvc": 1.15.18 + + "@swc/core@1.15.21": + dependencies: + "@swc/counter": 0.1.3 + "@swc/types": 0.1.25 optionalDependencies: - '@swc/core-darwin-arm64': 1.15.21 - '@swc/core-darwin-x64': 1.15.21 - '@swc/core-linux-arm-gnueabihf': 1.15.21 - '@swc/core-linux-arm64-gnu': 1.15.21 - '@swc/core-linux-arm64-musl': 1.15.21 - '@swc/core-linux-ppc64-gnu': 1.15.21 - '@swc/core-linux-s390x-gnu': 1.15.21 - '@swc/core-linux-x64-gnu': 1.15.21 - '@swc/core-linux-x64-musl': 1.15.21 - '@swc/core-win32-arm64-msvc': 1.15.21 - '@swc/core-win32-ia32-msvc': 1.15.21 - '@swc/core-win32-x64-msvc': 1.15.21 + "@swc/core-darwin-arm64": 1.15.21 + "@swc/core-darwin-x64": 1.15.21 + "@swc/core-linux-arm-gnueabihf": 1.15.21 + "@swc/core-linux-arm64-gnu": 1.15.21 + "@swc/core-linux-arm64-musl": 1.15.21 + "@swc/core-linux-ppc64-gnu": 1.15.21 + "@swc/core-linux-s390x-gnu": 1.15.21 + "@swc/core-linux-x64-gnu": 1.15.21 + "@swc/core-linux-x64-musl": 1.15.21 + "@swc/core-win32-arm64-msvc": 1.15.21 + "@swc/core-win32-ia32-msvc": 1.15.21 + "@swc/core-win32-x64-msvc": 1.15.21 - '@swc/counter@0.1.3': {} + "@swc/counter@0.1.3": {} - '@swc/types@0.1.25': + "@swc/types@0.1.25": dependencies: - '@swc/counter': 0.1.3 + "@swc/counter": 0.1.3 - '@szmarczak/http-timer@4.0.6': + "@szmarczak/http-timer@4.0.6": dependencies: defer-to-connect: 2.0.1 - '@tsconfig/node10@1.0.9': {} + "@tsconfig/node10@1.0.9": {} - '@tsconfig/node12@1.0.11': {} + "@tsconfig/node12@1.0.11": {} - '@tsconfig/node14@1.0.3': {} + "@tsconfig/node14@1.0.3": {} - '@tsconfig/node16@1.0.4': {} + "@tsconfig/node16@1.0.4": {} - '@tsparticles/cli@3.3.8(@types/eslint@8.56.6)(esbuild@0.27.2)(jiti@2.6.1)(webpack-cli@7.0.2)': + "@tsparticles/cli@3.3.8(@types/eslint@8.56.6)(esbuild@0.27.2)(jiti@2.6.1)(webpack-cli@7.0.2)": dependencies: - '@swc/core': 1.15.21 - '@tsparticles/depcruise-config': 3.3.5(dependency-cruiser@17.3.9) - '@tsparticles/eslint-config': 3.3.5(@types/eslint@8.56.6)(eslint@10.1.0(jiti@2.6.1)) - '@tsparticles/prettier-config': 3.3.5(prettier@3.8.1) - '@tsparticles/tsconfig': 3.3.5(typescript@5.9.3) - '@tsparticles/webpack-plugin': 3.3.5(@types/eslint@8.56.6)(esbuild@0.27.2)(jiti@2.6.1) + "@swc/core": 1.15.21 + "@tsparticles/depcruise-config": 3.3.5(dependency-cruiser@17.3.9) + "@tsparticles/eslint-config": 3.3.5(@types/eslint@8.56.6)(eslint@10.1.0(jiti@2.6.1)) + "@tsparticles/prettier-config": 3.3.5(prettier@3.8.1) + "@tsparticles/tsconfig": 3.3.5(typescript@5.9.3) + "@tsparticles/webpack-plugin": 3.3.5(@types/eslint@8.56.6)(esbuild@0.27.2)(jiti@2.6.1) commander: 14.0.3 dependency-cruiser: 17.3.9 eslint: 10.1.0(jiti@2.6.1) @@ -9884,8 +11307,8 @@ snapshots: typescript-eslint: 8.57.1(eslint@10.1.0(jiti@2.6.1))(typescript@5.9.3) webpack: 5.105.4(@swc/core@1.15.21)(esbuild@0.27.2)(webpack-cli@7.0.2) transitivePeerDependencies: - - '@swc/helpers' - - '@types/eslint' + - "@swc/helpers" + - "@types/eslint" - bufferutil - esbuild - jiti @@ -9895,15 +11318,15 @@ snapshots: - webpack-cli - webpack-dev-server - '@tsparticles/depcruise-config@3.3.5(dependency-cruiser@17.3.9)': + "@tsparticles/depcruise-config@3.3.5(dependency-cruiser@17.3.9)": dependencies: dependency-cruiser: 17.3.9 - '@tsparticles/eslint-config@3.3.5(@types/eslint@8.56.6)(eslint@10.1.0(jiti@2.6.1))': + "@tsparticles/eslint-config@3.3.5(@types/eslint@8.56.6)(eslint@10.1.0(jiti@2.6.1))": dependencies: - '@eslint/js': 10.0.1(eslint@10.1.0(jiti@2.6.1)) - '@stylistic/eslint-plugin': 5.10.0(eslint@10.1.0(jiti@2.6.1)) - '@tsparticles/prettier-config': 3.3.5(prettier@3.8.1) + "@eslint/js": 10.0.1(eslint@10.1.0(jiti@2.6.1)) + "@stylistic/eslint-plugin": 5.10.0(eslint@10.1.0(jiti@2.6.1)) + "@tsparticles/prettier-config": 3.3.5(prettier@3.8.1) eslint: 10.1.0(jiti@2.6.1) eslint-config-prettier: 10.1.8(eslint@10.1.0(jiti@2.6.1)) eslint-plugin-jsdoc: 62.8.1(eslint@10.1.0(jiti@2.6.1)) @@ -9915,24 +11338,24 @@ snapshots: typescript: 5.9.3 typescript-eslint: 8.57.1(eslint@10.1.0(jiti@2.6.1))(typescript@5.9.3) transitivePeerDependencies: - - '@types/eslint' + - "@types/eslint" - supports-color - '@tsparticles/prettier-config@3.3.5(prettier@3.8.1)': + "@tsparticles/prettier-config@3.3.5(prettier@3.8.1)": dependencies: prettier: 3.8.1 prettier-plugin-multiline-arrays: 4.1.5(prettier@3.8.1) - '@tsparticles/tsconfig@3.3.5(typescript@5.9.3)': + "@tsparticles/tsconfig@3.3.5(typescript@5.9.3)": dependencies: typescript: 5.9.3 - '@tsparticles/webpack-plugin@3.3.5(@types/eslint@8.56.6)(esbuild@0.27.2)(jiti@2.6.1)': + "@tsparticles/webpack-plugin@3.3.5(@types/eslint@8.56.6)(esbuild@0.27.2)(jiti@2.6.1)": dependencies: - '@stylistic/eslint-plugin': 5.10.0(eslint@10.1.0(jiti@2.6.1)) - '@swc/core': 1.15.21 - '@tsparticles/eslint-config': 3.3.5(@types/eslint@8.56.6)(eslint@10.1.0(jiti@2.6.1)) - '@tsparticles/prettier-config': 3.3.5(prettier@3.8.1) + "@stylistic/eslint-plugin": 5.10.0(eslint@10.1.0(jiti@2.6.1)) + "@swc/core": 1.15.21 + "@tsparticles/eslint-config": 3.3.5(@types/eslint@8.56.6)(eslint@10.1.0(jiti@2.6.1)) + "@tsparticles/prettier-config": 3.3.5(prettier@3.8.1) browserslist: 4.28.1 eslint: 10.1.0(jiti@2.6.1) eslint-config-prettier: 10.1.8(eslint@10.1.0(jiti@2.6.1)) @@ -9948,8 +11371,8 @@ snapshots: webpack-bundle-analyzer: 5.3.0 webpack-cli: 7.0.2(webpack-bundle-analyzer@5.3.0)(webpack@5.105.4) transitivePeerDependencies: - - '@swc/helpers' - - '@types/eslint' + - "@swc/helpers" + - "@types/eslint" - bufferutil - esbuild - jiti @@ -9958,167 +11381,167 @@ snapshots: - utf-8-validate - webpack-dev-server - '@tufjs/canonical-json@2.0.0': {} + "@tufjs/canonical-json@2.0.0": {} - '@tufjs/models@4.1.0': + "@tufjs/models@4.1.0": dependencies: - '@tufjs/canonical-json': 2.0.0 + "@tufjs/canonical-json": 2.0.0 minimatch: 10.2.4 - '@tybys/wasm-util@0.10.1': + "@tybys/wasm-util@0.10.1": dependencies: tslib: 2.8.1 optional: true - '@tybys/wasm-util@0.9.0': + "@tybys/wasm-util@0.9.0": dependencies: tslib: 2.8.1 - '@types/body-parser@1.19.2': + "@types/body-parser@1.19.2": dependencies: - '@types/connect': 3.4.35 - '@types/node': 25.5.0 + "@types/connect": 3.4.35 + "@types/node": 25.5.0 - '@types/cacheable-request@6.0.3': + "@types/cacheable-request@6.0.3": dependencies: - '@types/http-cache-semantics': 4.0.4 - '@types/keyv': 3.1.4 - '@types/node': 25.5.0 - '@types/responselike': 1.0.3 + "@types/http-cache-semantics": 4.0.4 + "@types/keyv": 3.1.4 + "@types/node": 25.5.0 + "@types/responselike": 1.0.3 - '@types/chai@5.2.2': + "@types/chai@5.2.2": dependencies: - '@types/deep-eql': 4.0.2 + "@types/deep-eql": 4.0.2 - '@types/connect-livereload@0.6.3': + "@types/connect-livereload@0.6.3": dependencies: - '@types/connect': 3.4.35 + "@types/connect": 3.4.35 - '@types/connect@3.4.35': + "@types/connect@3.4.35": dependencies: - '@types/node': 25.5.0 + "@types/node": 25.5.0 - '@types/deep-eql@4.0.2': {} + "@types/deep-eql@4.0.2": {} - '@types/eslint-scope@3.7.7': + "@types/eslint-scope@3.7.7": dependencies: - '@types/eslint': 8.56.6 - '@types/estree': 1.0.8 + "@types/eslint": 8.56.6 + "@types/estree": 1.0.8 - '@types/eslint@8.56.6': + "@types/eslint@8.56.6": dependencies: - '@types/estree': 1.0.8 - '@types/json-schema': 7.0.15 + "@types/estree": 1.0.8 + "@types/json-schema": 7.0.15 - '@types/esrecurse@4.3.1': {} + "@types/esrecurse@4.3.1": {} - '@types/estree@1.0.8': {} + "@types/estree@1.0.8": {} - '@types/express-serve-static-core@5.0.0': + "@types/express-serve-static-core@5.0.0": dependencies: - '@types/node': 25.5.0 - '@types/qs': 6.9.7 - '@types/range-parser': 1.2.4 - '@types/send': 0.17.1 + "@types/node": 25.5.0 + "@types/qs": 6.9.7 + "@types/range-parser": 1.2.4 + "@types/send": 0.17.1 - '@types/express@5.0.6': + "@types/express@5.0.6": dependencies: - '@types/body-parser': 1.19.2 - '@types/express-serve-static-core': 5.0.0 - '@types/serve-static': 2.2.0 + "@types/body-parser": 1.19.2 + "@types/express-serve-static-core": 5.0.0 + "@types/serve-static": 2.2.0 - '@types/hast@3.0.4': + "@types/hast@3.0.4": dependencies: - '@types/unist': 3.0.3 + "@types/unist": 3.0.3 - '@types/http-cache-semantics@4.0.4': {} + "@types/http-cache-semantics@4.0.4": {} - '@types/http-errors@2.0.5': {} + "@types/http-errors@2.0.5": {} - '@types/jsdom@28.0.1': + "@types/jsdom@28.0.1": dependencies: - '@types/node': 25.5.0 - '@types/tough-cookie': 4.0.5 + "@types/node": 25.5.0 + "@types/tough-cookie": 4.0.5 parse5: 7.3.0 undici-types: 7.24.5 - '@types/json-schema@7.0.15': {} + "@types/json-schema@7.0.15": {} - '@types/keyv@3.1.4': + "@types/keyv@3.1.4": dependencies: - '@types/node': 25.5.0 + "@types/node": 25.5.0 - '@types/livereload@0.9.5': + "@types/livereload@0.9.5": dependencies: - '@types/ws': 8.5.4 + "@types/ws": 8.5.4 - '@types/luxon@3.7.1': {} + "@types/luxon@3.7.1": {} - '@types/mime@1.3.2': {} + "@types/mime@1.3.2": {} - '@types/minimist@1.2.2': {} + "@types/minimist@1.2.2": {} - '@types/node@18.19.45': + "@types/node@18.19.45": dependencies: undici-types: 5.26.5 - '@types/node@24.10.9': + "@types/node@24.10.9": dependencies: undici-types: 7.16.0 - '@types/node@25.5.0': + "@types/node@25.5.0": dependencies: undici-types: 7.18.2 - '@types/normalize-package-data@2.4.1': {} + "@types/normalize-package-data@2.4.1": {} - '@types/qs@6.9.7': {} + "@types/qs@6.9.7": {} - '@types/range-parser@1.2.4': {} + "@types/range-parser@1.2.4": {} - '@types/responselike@1.0.3': + "@types/responselike@1.0.3": dependencies: - '@types/node': 25.5.0 + "@types/node": 25.5.0 - '@types/send@0.17.1': + "@types/send@0.17.1": dependencies: - '@types/mime': 1.3.2 - '@types/node': 25.5.0 + "@types/mime": 1.3.2 + "@types/node": 25.5.0 - '@types/serve-static@2.2.0': + "@types/serve-static@2.2.0": dependencies: - '@types/http-errors': 2.0.5 - '@types/node': 25.5.0 + "@types/http-errors": 2.0.5 + "@types/node": 25.5.0 - '@types/stylus@0.48.43': + "@types/stylus@0.48.43": dependencies: - '@types/node': 25.5.0 + "@types/node": 25.5.0 - '@types/tough-cookie@4.0.5': {} + "@types/tough-cookie@4.0.5": {} - '@types/triple-beam@1.3.2': {} + "@types/triple-beam@1.3.2": {} - '@types/unist@3.0.3': {} + "@types/unist@3.0.3": {} - '@types/webpack-env@1.18.8': {} + "@types/webpack-env@1.18.8": {} - '@types/ws@8.5.4': + "@types/ws@8.5.4": dependencies: - '@types/node': 25.5.0 + "@types/node": 25.5.0 - '@types/yauzl@2.10.3': + "@types/yauzl@2.10.3": dependencies: - '@types/node': 25.5.0 + "@types/node": 25.5.0 optional: true - '@typescript-eslint/eslint-plugin@8.57.1(@typescript-eslint/parser@8.57.1(eslint@10.1.0(jiti@2.6.1))(typescript@5.9.3))(eslint@10.1.0(jiti@2.6.1))(typescript@5.9.3)': + "@typescript-eslint/eslint-plugin@8.57.1(@typescript-eslint/parser@8.57.1(eslint@10.1.0(jiti@2.6.1))(typescript@5.9.3))(eslint@10.1.0(jiti@2.6.1))(typescript@5.9.3)": dependencies: - '@eslint-community/regexpp': 4.12.2 - '@typescript-eslint/parser': 8.57.1(eslint@10.1.0(jiti@2.6.1))(typescript@5.9.3) - '@typescript-eslint/scope-manager': 8.57.1 - '@typescript-eslint/type-utils': 8.57.1(eslint@10.1.0(jiti@2.6.1))(typescript@5.9.3) - '@typescript-eslint/utils': 8.57.1(eslint@10.1.0(jiti@2.6.1))(typescript@5.9.3) - '@typescript-eslint/visitor-keys': 8.57.1 + "@eslint-community/regexpp": 4.12.2 + "@typescript-eslint/parser": 8.57.1(eslint@10.1.0(jiti@2.6.1))(typescript@5.9.3) + "@typescript-eslint/scope-manager": 8.57.1 + "@typescript-eslint/type-utils": 8.57.1(eslint@10.1.0(jiti@2.6.1))(typescript@5.9.3) + "@typescript-eslint/utils": 8.57.1(eslint@10.1.0(jiti@2.6.1))(typescript@5.9.3) + "@typescript-eslint/visitor-keys": 8.57.1 eslint: 10.1.0(jiti@2.6.1) ignore: 7.0.5 natural-compare: 1.4.0 @@ -10127,59 +11550,59 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.57.1(eslint@10.1.0(jiti@2.6.1))(typescript@5.9.3)': + "@typescript-eslint/parser@8.57.1(eslint@10.1.0(jiti@2.6.1))(typescript@5.9.3)": dependencies: - '@typescript-eslint/scope-manager': 8.57.1 - '@typescript-eslint/types': 8.57.1 - '@typescript-eslint/typescript-estree': 8.57.1(typescript@5.9.3) - '@typescript-eslint/visitor-keys': 8.57.1 + "@typescript-eslint/scope-manager": 8.57.1 + "@typescript-eslint/types": 8.57.1 + "@typescript-eslint/typescript-estree": 8.57.1(typescript@5.9.3) + "@typescript-eslint/visitor-keys": 8.57.1 debug: 4.4.3(supports-color@5.5.0) eslint: 10.1.0(jiti@2.6.1) typescript: 5.9.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/project-service@8.56.1(typescript@5.9.3)': + "@typescript-eslint/project-service@8.56.1(typescript@5.9.3)": dependencies: - '@typescript-eslint/tsconfig-utils': 8.56.1(typescript@5.9.3) - '@typescript-eslint/types': 8.56.1 + "@typescript-eslint/tsconfig-utils": 8.56.1(typescript@5.9.3) + "@typescript-eslint/types": 8.56.1 debug: 4.4.3(supports-color@5.5.0) typescript: 5.9.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/project-service@8.57.1(typescript@5.9.3)': + "@typescript-eslint/project-service@8.57.1(typescript@5.9.3)": dependencies: - '@typescript-eslint/tsconfig-utils': 8.57.1(typescript@5.9.3) - '@typescript-eslint/types': 8.57.1 + "@typescript-eslint/tsconfig-utils": 8.57.1(typescript@5.9.3) + "@typescript-eslint/types": 8.57.1 debug: 4.4.3(supports-color@5.5.0) typescript: 5.9.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/scope-manager@8.56.1': + "@typescript-eslint/scope-manager@8.56.1": dependencies: - '@typescript-eslint/types': 8.56.1 - '@typescript-eslint/visitor-keys': 8.56.1 + "@typescript-eslint/types": 8.56.1 + "@typescript-eslint/visitor-keys": 8.56.1 - '@typescript-eslint/scope-manager@8.57.1': + "@typescript-eslint/scope-manager@8.57.1": dependencies: - '@typescript-eslint/types': 8.57.1 - '@typescript-eslint/visitor-keys': 8.57.1 + "@typescript-eslint/types": 8.57.1 + "@typescript-eslint/visitor-keys": 8.57.1 - '@typescript-eslint/tsconfig-utils@8.56.1(typescript@5.9.3)': + "@typescript-eslint/tsconfig-utils@8.56.1(typescript@5.9.3)": dependencies: typescript: 5.9.3 - '@typescript-eslint/tsconfig-utils@8.57.1(typescript@5.9.3)': + "@typescript-eslint/tsconfig-utils@8.57.1(typescript@5.9.3)": dependencies: typescript: 5.9.3 - '@typescript-eslint/type-utils@8.57.1(eslint@10.1.0(jiti@2.6.1))(typescript@5.9.3)': + "@typescript-eslint/type-utils@8.57.1(eslint@10.1.0(jiti@2.6.1))(typescript@5.9.3)": dependencies: - '@typescript-eslint/types': 8.57.1 - '@typescript-eslint/typescript-estree': 8.57.1(typescript@5.9.3) - '@typescript-eslint/utils': 8.57.1(eslint@10.1.0(jiti@2.6.1))(typescript@5.9.3) + "@typescript-eslint/types": 8.57.1 + "@typescript-eslint/typescript-estree": 8.57.1(typescript@5.9.3) + "@typescript-eslint/utils": 8.57.1(eslint@10.1.0(jiti@2.6.1))(typescript@5.9.3) debug: 4.4.3(supports-color@5.5.0) eslint: 10.1.0(jiti@2.6.1) ts-api-utils: 2.4.0(typescript@5.9.3) @@ -10187,18 +11610,18 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/types@8.56.1': {} + "@typescript-eslint/types@8.56.1": {} - '@typescript-eslint/types@8.57.0': {} + "@typescript-eslint/types@8.57.0": {} - '@typescript-eslint/types@8.57.1': {} + "@typescript-eslint/types@8.57.1": {} - '@typescript-eslint/typescript-estree@8.56.1(typescript@5.9.3)': + "@typescript-eslint/typescript-estree@8.56.1(typescript@5.9.3)": dependencies: - '@typescript-eslint/project-service': 8.56.1(typescript@5.9.3) - '@typescript-eslint/tsconfig-utils': 8.56.1(typescript@5.9.3) - '@typescript-eslint/types': 8.56.1 - '@typescript-eslint/visitor-keys': 8.56.1 + "@typescript-eslint/project-service": 8.56.1(typescript@5.9.3) + "@typescript-eslint/tsconfig-utils": 8.56.1(typescript@5.9.3) + "@typescript-eslint/types": 8.56.1 + "@typescript-eslint/visitor-keys": 8.56.1 debug: 4.4.3(supports-color@5.5.0) minimatch: 10.2.2 semver: 7.7.4 @@ -10208,12 +11631,12 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/typescript-estree@8.57.1(typescript@5.9.3)': + "@typescript-eslint/typescript-estree@8.57.1(typescript@5.9.3)": dependencies: - '@typescript-eslint/project-service': 8.57.1(typescript@5.9.3) - '@typescript-eslint/tsconfig-utils': 8.57.1(typescript@5.9.3) - '@typescript-eslint/types': 8.57.1 - '@typescript-eslint/visitor-keys': 8.57.1 + "@typescript-eslint/project-service": 8.57.1(typescript@5.9.3) + "@typescript-eslint/tsconfig-utils": 8.57.1(typescript@5.9.3) + "@typescript-eslint/types": 8.57.1 + "@typescript-eslint/visitor-keys": 8.57.1 debug: 4.4.3(supports-color@5.5.0) minimatch: 10.2.4 semver: 7.7.4 @@ -10223,42 +11646,42 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.56.1(eslint@10.1.0(jiti@2.6.1))(typescript@5.9.3)': + "@typescript-eslint/utils@8.56.1(eslint@10.1.0(jiti@2.6.1))(typescript@5.9.3)": dependencies: - '@eslint-community/eslint-utils': 4.9.1(eslint@10.1.0(jiti@2.6.1)) - '@typescript-eslint/scope-manager': 8.56.1 - '@typescript-eslint/types': 8.56.1 - '@typescript-eslint/typescript-estree': 8.56.1(typescript@5.9.3) + "@eslint-community/eslint-utils": 4.9.1(eslint@10.1.0(jiti@2.6.1)) + "@typescript-eslint/scope-manager": 8.56.1 + "@typescript-eslint/types": 8.56.1 + "@typescript-eslint/typescript-estree": 8.56.1(typescript@5.9.3) eslint: 10.1.0(jiti@2.6.1) typescript: 5.9.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.57.1(eslint@10.1.0(jiti@2.6.1))(typescript@5.9.3)': + "@typescript-eslint/utils@8.57.1(eslint@10.1.0(jiti@2.6.1))(typescript@5.9.3)": dependencies: - '@eslint-community/eslint-utils': 4.9.1(eslint@10.1.0(jiti@2.6.1)) - '@typescript-eslint/scope-manager': 8.57.1 - '@typescript-eslint/types': 8.57.1 - '@typescript-eslint/typescript-estree': 8.57.1(typescript@5.9.3) + "@eslint-community/eslint-utils": 4.9.1(eslint@10.1.0(jiti@2.6.1)) + "@typescript-eslint/scope-manager": 8.57.1 + "@typescript-eslint/types": 8.57.1 + "@typescript-eslint/typescript-estree": 8.57.1(typescript@5.9.3) eslint: 10.1.0(jiti@2.6.1) typescript: 5.9.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/visitor-keys@8.56.1': + "@typescript-eslint/visitor-keys@8.56.1": dependencies: - '@typescript-eslint/types': 8.56.1 + "@typescript-eslint/types": 8.56.1 eslint-visitor-keys: 5.0.0 - '@typescript-eslint/visitor-keys@8.57.1': + "@typescript-eslint/visitor-keys@8.57.1": dependencies: - '@typescript-eslint/types': 8.57.1 + "@typescript-eslint/types": 8.57.1 eslint-visitor-keys: 5.0.1 - '@vitest/coverage-v8@4.1.2(vitest@4.1.2)': + "@vitest/coverage-v8@4.1.2(vitest@4.1.2)": dependencies: - '@bcoe/v8-coverage': 1.0.2 - '@vitest/utils': 4.1.2 + "@bcoe/v8-coverage": 1.0.2 + "@vitest/utils": 4.1.2 ast-v8-to-istanbul: 1.0.0 istanbul-lib-coverage: 3.2.2 istanbul-lib-report: 3.0.1 @@ -10269,44 +11692,44 @@ snapshots: tinyrainbow: 3.1.0 vitest: 4.1.2(@types/node@25.5.0)(@vitest/ui@4.1.2)(jsdom@29.0.1(canvas@3.2.2))(vite@8.0.1(@types/node@25.5.0)(esbuild@0.27.2)(jiti@2.6.1)(sass@1.98.0)(stylus@0.64.0)(terser@5.46.0)(yaml@2.8.3)) - '@vitest/expect@4.1.2': + "@vitest/expect@4.1.2": dependencies: - '@standard-schema/spec': 1.1.0 - '@types/chai': 5.2.2 - '@vitest/spy': 4.1.2 - '@vitest/utils': 4.1.2 + "@standard-schema/spec": 1.1.0 + "@types/chai": 5.2.2 + "@vitest/spy": 4.1.2 + "@vitest/utils": 4.1.2 chai: 6.2.2 tinyrainbow: 3.1.0 - '@vitest/mocker@4.1.2(vite@8.0.1(@types/node@25.5.0)(esbuild@0.27.2)(jiti@2.6.1)(sass@1.98.0)(stylus@0.64.0)(terser@5.46.0)(yaml@2.8.3))': + "@vitest/mocker@4.1.2(vite@8.0.1(@types/node@25.5.0)(esbuild@0.27.2)(jiti@2.6.1)(sass@1.98.0)(stylus@0.64.0)(terser@5.46.0)(yaml@2.8.3))": dependencies: - '@vitest/spy': 4.1.2 + "@vitest/spy": 4.1.2 estree-walker: 3.0.3 magic-string: 0.30.21 optionalDependencies: vite: 8.0.1(@types/node@25.5.0)(esbuild@0.27.2)(jiti@2.6.1)(sass@1.98.0)(stylus@0.64.0)(terser@5.46.0)(yaml@2.8.3) - '@vitest/pretty-format@4.1.2': + "@vitest/pretty-format@4.1.2": dependencies: tinyrainbow: 3.1.0 - '@vitest/runner@4.1.2': + "@vitest/runner@4.1.2": dependencies: - '@vitest/utils': 4.1.2 + "@vitest/utils": 4.1.2 pathe: 2.0.3 - '@vitest/snapshot@4.1.2': + "@vitest/snapshot@4.1.2": dependencies: - '@vitest/pretty-format': 4.1.2 - '@vitest/utils': 4.1.2 + "@vitest/pretty-format": 4.1.2 + "@vitest/utils": 4.1.2 magic-string: 0.30.21 pathe: 2.0.3 - '@vitest/spy@4.1.2': {} + "@vitest/spy@4.1.2": {} - '@vitest/ui@4.1.2(vitest@4.1.2)': + "@vitest/ui@4.1.2(vitest@4.1.2)": dependencies: - '@vitest/utils': 4.1.2 + "@vitest/utils": 4.1.2 fflate: 0.8.2 flatted: 3.4.2 pathe: 2.0.3 @@ -10315,100 +11738,100 @@ snapshots: tinyrainbow: 3.1.0 vitest: 4.1.2(@types/node@25.5.0)(@vitest/ui@4.1.2)(jsdom@29.0.1(canvas@3.2.2))(vite@8.0.1(@types/node@25.5.0)(esbuild@0.27.2)(jiti@2.6.1)(sass@1.98.0)(stylus@0.64.0)(terser@5.46.0)(yaml@2.8.3)) - '@vitest/utils@4.1.2': + "@vitest/utils@4.1.2": dependencies: - '@vitest/pretty-format': 4.1.2 + "@vitest/pretty-format": 4.1.2 convert-source-map: 2.0.0 tinyrainbow: 3.1.0 - '@webassemblyjs/ast@1.14.1': + "@webassemblyjs/ast@1.14.1": dependencies: - '@webassemblyjs/helper-numbers': 1.13.2 - '@webassemblyjs/helper-wasm-bytecode': 1.13.2 + "@webassemblyjs/helper-numbers": 1.13.2 + "@webassemblyjs/helper-wasm-bytecode": 1.13.2 - '@webassemblyjs/floating-point-hex-parser@1.13.2': {} + "@webassemblyjs/floating-point-hex-parser@1.13.2": {} - '@webassemblyjs/helper-api-error@1.13.2': {} + "@webassemblyjs/helper-api-error@1.13.2": {} - '@webassemblyjs/helper-buffer@1.14.1': {} + "@webassemblyjs/helper-buffer@1.14.1": {} - '@webassemblyjs/helper-numbers@1.13.2': + "@webassemblyjs/helper-numbers@1.13.2": dependencies: - '@webassemblyjs/floating-point-hex-parser': 1.13.2 - '@webassemblyjs/helper-api-error': 1.13.2 - '@xtuc/long': 4.2.2 + "@webassemblyjs/floating-point-hex-parser": 1.13.2 + "@webassemblyjs/helper-api-error": 1.13.2 + "@xtuc/long": 4.2.2 - '@webassemblyjs/helper-wasm-bytecode@1.13.2': {} + "@webassemblyjs/helper-wasm-bytecode@1.13.2": {} - '@webassemblyjs/helper-wasm-section@1.14.1': + "@webassemblyjs/helper-wasm-section@1.14.1": dependencies: - '@webassemblyjs/ast': 1.14.1 - '@webassemblyjs/helper-buffer': 1.14.1 - '@webassemblyjs/helper-wasm-bytecode': 1.13.2 - '@webassemblyjs/wasm-gen': 1.14.1 + "@webassemblyjs/ast": 1.14.1 + "@webassemblyjs/helper-buffer": 1.14.1 + "@webassemblyjs/helper-wasm-bytecode": 1.13.2 + "@webassemblyjs/wasm-gen": 1.14.1 - '@webassemblyjs/ieee754@1.13.2': + "@webassemblyjs/ieee754@1.13.2": dependencies: - '@xtuc/ieee754': 1.2.0 + "@xtuc/ieee754": 1.2.0 - '@webassemblyjs/leb128@1.13.2': + "@webassemblyjs/leb128@1.13.2": dependencies: - '@xtuc/long': 4.2.2 + "@xtuc/long": 4.2.2 - '@webassemblyjs/utf8@1.13.2': {} + "@webassemblyjs/utf8@1.13.2": {} - '@webassemblyjs/wasm-edit@1.14.1': + "@webassemblyjs/wasm-edit@1.14.1": dependencies: - '@webassemblyjs/ast': 1.14.1 - '@webassemblyjs/helper-buffer': 1.14.1 - '@webassemblyjs/helper-wasm-bytecode': 1.13.2 - '@webassemblyjs/helper-wasm-section': 1.14.1 - '@webassemblyjs/wasm-gen': 1.14.1 - '@webassemblyjs/wasm-opt': 1.14.1 - '@webassemblyjs/wasm-parser': 1.14.1 - '@webassemblyjs/wast-printer': 1.14.1 + "@webassemblyjs/ast": 1.14.1 + "@webassemblyjs/helper-buffer": 1.14.1 + "@webassemblyjs/helper-wasm-bytecode": 1.13.2 + "@webassemblyjs/helper-wasm-section": 1.14.1 + "@webassemblyjs/wasm-gen": 1.14.1 + "@webassemblyjs/wasm-opt": 1.14.1 + "@webassemblyjs/wasm-parser": 1.14.1 + "@webassemblyjs/wast-printer": 1.14.1 - '@webassemblyjs/wasm-gen@1.14.1': + "@webassemblyjs/wasm-gen@1.14.1": dependencies: - '@webassemblyjs/ast': 1.14.1 - '@webassemblyjs/helper-wasm-bytecode': 1.13.2 - '@webassemblyjs/ieee754': 1.13.2 - '@webassemblyjs/leb128': 1.13.2 - '@webassemblyjs/utf8': 1.13.2 + "@webassemblyjs/ast": 1.14.1 + "@webassemblyjs/helper-wasm-bytecode": 1.13.2 + "@webassemblyjs/ieee754": 1.13.2 + "@webassemblyjs/leb128": 1.13.2 + "@webassemblyjs/utf8": 1.13.2 - '@webassemblyjs/wasm-opt@1.14.1': + "@webassemblyjs/wasm-opt@1.14.1": dependencies: - '@webassemblyjs/ast': 1.14.1 - '@webassemblyjs/helper-buffer': 1.14.1 - '@webassemblyjs/wasm-gen': 1.14.1 - '@webassemblyjs/wasm-parser': 1.14.1 + "@webassemblyjs/ast": 1.14.1 + "@webassemblyjs/helper-buffer": 1.14.1 + "@webassemblyjs/wasm-gen": 1.14.1 + "@webassemblyjs/wasm-parser": 1.14.1 - '@webassemblyjs/wasm-parser@1.14.1': + "@webassemblyjs/wasm-parser@1.14.1": dependencies: - '@webassemblyjs/ast': 1.14.1 - '@webassemblyjs/helper-api-error': 1.13.2 - '@webassemblyjs/helper-wasm-bytecode': 1.13.2 - '@webassemblyjs/ieee754': 1.13.2 - '@webassemblyjs/leb128': 1.13.2 - '@webassemblyjs/utf8': 1.13.2 + "@webassemblyjs/ast": 1.14.1 + "@webassemblyjs/helper-api-error": 1.13.2 + "@webassemblyjs/helper-wasm-bytecode": 1.13.2 + "@webassemblyjs/ieee754": 1.13.2 + "@webassemblyjs/leb128": 1.13.2 + "@webassemblyjs/utf8": 1.13.2 - '@webassemblyjs/wast-printer@1.14.1': + "@webassemblyjs/wast-printer@1.14.1": dependencies: - '@webassemblyjs/ast': 1.14.1 - '@xtuc/long': 4.2.2 + "@webassemblyjs/ast": 1.14.1 + "@xtuc/long": 4.2.2 - '@xtuc/ieee754@1.2.0': {} + "@xtuc/ieee754@1.2.0": {} - '@xtuc/long@4.2.2': {} + "@xtuc/long@4.2.2": {} - '@yarnpkg/lockfile@1.1.0': {} + "@yarnpkg/lockfile@1.1.0": {} - '@yarnpkg/parsers@3.0.2': + "@yarnpkg/parsers@3.0.2": dependencies: js-yaml: 3.14.1 tslib: 2.8.1 - '@zkochan/js-yaml@0.0.7': + "@zkochan/js-yaml@0.0.7": dependencies: argparse: 2.0.1 @@ -10548,7 +11971,7 @@ snapshots: ast-v8-to-istanbul@1.0.0: dependencies: - '@jridgewell/trace-mapping': 0.3.31 + "@jridgewell/trace-mapping": 0.3.31 estree-walker: 3.0.3 js-tokens: 10.0.0 @@ -10566,7 +11989,7 @@ snapshots: babel-walk@3.0.0-canary-5: dependencies: - '@babel/types': 7.29.0 + "@babel/types": 7.29.0 balanced-match@1.0.2: {} @@ -10619,7 +12042,7 @@ snapshots: bootstrap@5.3.8(@popperjs/core@2.11.8): dependencies: - '@popperjs/core': 2.11.8 + "@popperjs/core": 2.11.8 brace-expansion@1.1.11: dependencies: @@ -10663,7 +12086,7 @@ snapshots: cacache@20.0.3: dependencies: - '@npmcli/fs': 5.0.0 + "@npmcli/fs": 5.0.0 fs-minipass: 3.0.2 glob: 13.0.6 lru-cache: 11.2.7 @@ -10893,8 +12316,8 @@ snapshots: constantinople@4.0.1: dependencies: - '@babel/parser': 7.29.0 - '@babel/types': 7.29.0 + "@babel/parser": 7.29.0 + "@babel/types": 7.29.0 content-disposition@1.0.1: {} @@ -10952,7 +12375,7 @@ snapshots: conventional-commits-parser@6.3.0: dependencies: - '@simple-libs/stream-utils': 1.2.0 + "@simple-libs/stream-utils": 1.2.0 meow: 13.2.0 conventional-recommended-bump@7.0.1: @@ -10985,7 +12408,7 @@ snapshots: cosmiconfig-typescript-loader@6.1.0(@types/node@25.5.0)(cosmiconfig@9.0.1(typescript@5.9.3))(typescript@5.9.3): dependencies: - '@types/node': 25.5.0 + "@types/node": 25.5.0 cosmiconfig: 9.0.1(typescript@5.9.3) jiti: 2.6.1 typescript: 5.9.3 @@ -11012,7 +12435,7 @@ snapshots: cross-env@10.1.0: dependencies: - '@epic-web/invariant': 1.0.0 + "@epic-web/invariant": 1.0.0 cross-spawn: 7.0.6 cross-spawn@7.0.6: @@ -11061,7 +12484,7 @@ snapshots: whatwg-mimetype: 5.0.0 whatwg-url: 16.0.1 transitivePeerDependencies: - - '@noble/hashes' + - "@noble/hashes" dateformat@3.0.3: {} @@ -11214,8 +12637,8 @@ snapshots: electron@41.0.3: dependencies: - '@electron/get': 2.0.3 - '@types/node': 24.10.9 + "@electron/get": 2.0.3 + "@types/node": 24.10.9 extract-zip: 2.0.1 transitivePeerDependencies: - supports-color @@ -11290,32 +12713,32 @@ snapshots: esbuild@0.27.2: optionalDependencies: - '@esbuild/aix-ppc64': 0.27.2 - '@esbuild/android-arm': 0.27.2 - '@esbuild/android-arm64': 0.27.2 - '@esbuild/android-x64': 0.27.2 - '@esbuild/darwin-arm64': 0.27.2 - '@esbuild/darwin-x64': 0.27.2 - '@esbuild/freebsd-arm64': 0.27.2 - '@esbuild/freebsd-x64': 0.27.2 - '@esbuild/linux-arm': 0.27.2 - '@esbuild/linux-arm64': 0.27.2 - '@esbuild/linux-ia32': 0.27.2 - '@esbuild/linux-loong64': 0.27.2 - '@esbuild/linux-mips64el': 0.27.2 - '@esbuild/linux-ppc64': 0.27.2 - '@esbuild/linux-riscv64': 0.27.2 - '@esbuild/linux-s390x': 0.27.2 - '@esbuild/linux-x64': 0.27.2 - '@esbuild/netbsd-arm64': 0.27.2 - '@esbuild/netbsd-x64': 0.27.2 - '@esbuild/openbsd-arm64': 0.27.2 - '@esbuild/openbsd-x64': 0.27.2 - '@esbuild/openharmony-arm64': 0.27.2 - '@esbuild/sunos-x64': 0.27.2 - '@esbuild/win32-arm64': 0.27.2 - '@esbuild/win32-ia32': 0.27.2 - '@esbuild/win32-x64': 0.27.2 + "@esbuild/aix-ppc64": 0.27.2 + "@esbuild/android-arm": 0.27.2 + "@esbuild/android-arm64": 0.27.2 + "@esbuild/android-x64": 0.27.2 + "@esbuild/darwin-arm64": 0.27.2 + "@esbuild/darwin-x64": 0.27.2 + "@esbuild/freebsd-arm64": 0.27.2 + "@esbuild/freebsd-x64": 0.27.2 + "@esbuild/linux-arm": 0.27.2 + "@esbuild/linux-arm64": 0.27.2 + "@esbuild/linux-ia32": 0.27.2 + "@esbuild/linux-loong64": 0.27.2 + "@esbuild/linux-mips64el": 0.27.2 + "@esbuild/linux-ppc64": 0.27.2 + "@esbuild/linux-riscv64": 0.27.2 + "@esbuild/linux-s390x": 0.27.2 + "@esbuild/linux-x64": 0.27.2 + "@esbuild/netbsd-arm64": 0.27.2 + "@esbuild/netbsd-x64": 0.27.2 + "@esbuild/openbsd-arm64": 0.27.2 + "@esbuild/openbsd-x64": 0.27.2 + "@esbuild/openharmony-arm64": 0.27.2 + "@esbuild/sunos-x64": 0.27.2 + "@esbuild/win32-arm64": 0.27.2 + "@esbuild/win32-ia32": 0.27.2 + "@esbuild/win32-x64": 0.27.2 escalade@3.1.1: {} @@ -11335,8 +12758,8 @@ snapshots: eslint-plugin-jsdoc@62.8.1(eslint@10.1.0(jiti@2.6.1)): dependencies: - '@es-joy/jsdoccomment': 0.84.0 - '@es-joy/resolve.exports': 1.2.0 + "@es-joy/jsdoccomment": 0.84.0 + "@es-joy/resolve.exports": 1.2.0 are-docs-informative: 0.0.2 comment-parser: 1.4.5 debug: 4.4.3(supports-color@5.5.0) @@ -11360,14 +12783,14 @@ snapshots: prettier-linter-helpers: 1.0.1 synckit: 0.11.12 optionalDependencies: - '@types/eslint': 8.56.6 + "@types/eslint": 8.56.6 eslint-config-prettier: 10.1.8(eslint@10.1.0(jiti@2.6.1)) eslint-plugin-tsdoc@0.5.2(eslint@10.1.0(jiti@2.6.1))(typescript@5.9.3): dependencies: - '@microsoft/tsdoc': 0.16.0 - '@microsoft/tsdoc-config': 0.18.1 - '@typescript-eslint/utils': 8.56.1(eslint@10.1.0(jiti@2.6.1))(typescript@5.9.3) + "@microsoft/tsdoc": 0.16.0 + "@microsoft/tsdoc-config": 0.18.1 + "@typescript-eslint/utils": 8.56.1(eslint@10.1.0(jiti@2.6.1))(typescript@5.9.3) transitivePeerDependencies: - eslint - supports-color @@ -11380,8 +12803,8 @@ snapshots: eslint-scope@9.1.2: dependencies: - '@types/esrecurse': 4.3.1 - '@types/estree': 1.0.8 + "@types/esrecurse": 4.3.1 + "@types/estree": 1.0.8 esrecurse: 4.3.0 estraverse: 5.3.0 @@ -11395,16 +12818,16 @@ snapshots: eslint@10.1.0(jiti@2.6.1): dependencies: - '@eslint-community/eslint-utils': 4.9.1(eslint@10.1.0(jiti@2.6.1)) - '@eslint-community/regexpp': 4.12.2 - '@eslint/config-array': 0.23.3 - '@eslint/config-helpers': 0.5.3 - '@eslint/core': 1.1.1 - '@eslint/plugin-kit': 0.6.1 - '@humanfs/node': 0.16.6 - '@humanwhocodes/module-importer': 1.0.1 - '@humanwhocodes/retry': 0.4.3 - '@types/estree': 1.0.8 + "@eslint-community/eslint-utils": 4.9.1(eslint@10.1.0(jiti@2.6.1)) + "@eslint-community/regexpp": 4.12.2 + "@eslint/config-array": 0.23.3 + "@eslint/config-helpers": 0.5.3 + "@eslint/core": 1.1.1 + "@eslint/plugin-kit": 0.6.1 + "@humanfs/node": 0.16.6 + "@humanwhocodes/module-importer": 1.0.1 + "@humanwhocodes/retry": 0.4.3 + "@types/estree": 1.0.8 ajv: 6.14.0 cross-spawn: 7.0.6 debug: 4.4.3(supports-color@5.5.0) @@ -11458,7 +12881,7 @@ snapshots: estree-walker@3.0.3: dependencies: - '@types/estree': 1.0.8 + "@types/estree": 1.0.8 esutils@2.0.3: {} @@ -11532,7 +12955,7 @@ snapshots: get-stream: 5.2.0 yauzl: 2.10.0 optionalDependencies: - '@types/yauzl': 2.10.3 + "@types/yauzl": 2.10.3 transitivePeerDependencies: - supports-color @@ -11542,8 +12965,8 @@ snapshots: fast-glob@3.3.2: dependencies: - '@nodelib/fs.stat': 2.0.5 - '@nodelib/fs.walk': 1.2.8 + "@nodelib/fs.stat": 2.0.5 + "@nodelib/fs.walk": 1.2.8 glob-parent: 5.1.2 merge2: 1.4.1 micromatch: 4.0.5 @@ -11721,7 +13144,7 @@ snapshots: get-pkg-repo@4.2.1: dependencies: - '@hutson/parse-repository-url': 3.0.2 + "@hutson/parse-repository-url": 3.0.2 hosted-git-info: 4.1.0 through2: 2.0.5 yargs: 16.2.0 @@ -11757,7 +13180,7 @@ snapshots: git-raw-commits@5.0.1(conventional-commits-parser@6.3.0): dependencies: - '@conventional-changelog/git-client': 2.6.0(conventional-commits-parser@6.3.0) + "@conventional-changelog/git-client": 2.6.0(conventional-commits-parser@6.3.0) meow: 13.2.0 transitivePeerDependencies: - conventional-commits-filter @@ -11864,10 +13287,10 @@ snapshots: got@11.8.6: dependencies: - '@sindresorhus/is': 4.6.0 - '@szmarczak/http-timer': 4.0.6 - '@types/cacheable-request': 6.0.3 - '@types/responselike': 1.0.3 + "@sindresorhus/is": 4.6.0 + "@szmarczak/http-timer": 4.0.6 + "@types/cacheable-request": 6.0.3 + "@types/responselike": 1.0.3 cacheable-lookup: 5.0.4 cacheable-request: 7.0.4 decompress-response: 6.0.0 @@ -11927,9 +13350,9 @@ snapshots: html-encoding-sniffer@6.0.0: dependencies: - '@exodus/bytes': 1.15.0 + "@exodus/bytes": 1.15.0 transitivePeerDependencies: - - '@noble/hashes' + - "@noble/hashes" html-entities@2.6.0: {} @@ -11945,7 +13368,7 @@ snapshots: svgo: 4.0.1 terser: 5.46.0 optionalDependencies: - '@swc/core': 1.15.21 + "@swc/core": 1.15.21 http-cache-semantics@4.2.0: {} @@ -12046,7 +13469,7 @@ snapshots: init-package-json@8.2.2: dependencies: - '@npmcli/package-json': 7.0.2 + "@npmcli/package-json": 7.0.2 npm-package-arg: 13.0.1 promzard: 2.0.0 read: 4.1.0 @@ -12056,15 +13479,15 @@ snapshots: inquirer@12.9.6(@types/node@25.5.0): dependencies: - '@inquirer/ansi': 1.0.2 - '@inquirer/core': 10.3.2(@types/node@25.5.0) - '@inquirer/prompts': 7.10.1(@types/node@25.5.0) - '@inquirer/type': 3.0.10(@types/node@25.5.0) + "@inquirer/ansi": 1.0.2 + "@inquirer/core": 10.3.2(@types/node@25.5.0) + "@inquirer/prompts": 7.10.1(@types/node@25.5.0) + "@inquirer/type": 3.0.10(@types/node@25.5.0) mute-stream: 2.0.0 run-async: 4.0.6 rxjs: 7.8.2 optionalDependencies: - '@types/node': 25.5.0 + "@types/node": 25.5.0 interpret@3.1.1: {} @@ -12174,13 +13597,13 @@ snapshots: jackspeak@3.4.3: dependencies: - '@isaacs/cliui': 8.0.2 + "@isaacs/cliui": 8.0.2 optionalDependencies: - '@pkgjs/parseargs': 0.11.0 + "@pkgjs/parseargs": 0.11.0 jackspeak@4.1.1: dependencies: - '@isaacs/cliui': 8.0.2 + "@isaacs/cliui": 8.0.2 jake@10.8.7: dependencies: @@ -12193,14 +13616,14 @@ snapshots: jest-diff@30.2.0: dependencies: - '@jest/diff-sequences': 30.0.1 - '@jest/get-type': 30.1.0 + "@jest/diff-sequences": 30.0.1 + "@jest/get-type": 30.1.0 chalk: 4.1.2 pretty-format: 30.2.0 jest-worker@27.5.1: dependencies: - '@types/node': 25.5.0 + "@types/node": 25.5.0 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -12235,11 +13658,11 @@ snapshots: jsdom@29.0.1(canvas@3.2.2): dependencies: - '@asamuzakjp/css-color': 5.0.1 - '@asamuzakjp/dom-selector': 7.0.3 - '@bramus/specificity': 2.4.2 - '@csstools/css-syntax-patches-for-csstree': 1.1.1(css-tree@3.2.1) - '@exodus/bytes': 1.15.0 + "@asamuzakjp/css-color": 5.0.1 + "@asamuzakjp/dom-selector": 7.0.3 + "@bramus/specificity": 2.4.2 + "@csstools/css-syntax-patches-for-csstree": 1.1.1(css-tree@3.2.1) + "@exodus/bytes": 1.15.0 css-tree: 3.2.1 data-urls: 7.0.0 decimal.js: 10.6.0 @@ -12259,7 +13682,7 @@ snapshots: optionalDependencies: canvas: 3.2.2 transitivePeerDependencies: - - '@noble/hashes' + - "@noble/hashes" json-buffer@3.0.1: {} @@ -12335,12 +13758,12 @@ snapshots: lerna@9.0.7(@swc/core@1.15.21)(@types/node@25.5.0): dependencies: - '@npmcli/arborist': 9.1.6 - '@npmcli/package-json': 7.0.2 - '@npmcli/run-script': 10.0.3 - '@nx/devkit': 22.3.3(nx@22.6.3(@swc/core@1.15.21)) - '@octokit/plugin-enterprise-rest': 6.0.1 - '@octokit/rest': 20.1.2 + "@npmcli/arborist": 9.1.6 + "@npmcli/package-json": 7.0.2 + "@npmcli/run-script": 10.0.3 + "@nx/devkit": 22.3.3(nx@22.6.3(@swc/core@1.15.21)) + "@octokit/plugin-enterprise-rest": 6.0.1 + "@octokit/rest": 20.1.2 aproba: 2.0.0 byte-size: 8.1.1 chalk: 4.1.0 @@ -12402,9 +13825,9 @@ snapshots: yargs: 17.7.2 yargs-parser: 21.1.1 transitivePeerDependencies: - - '@swc-node/register' - - '@swc/core' - - '@types/node' + - "@swc-node/register" + - "@swc/core" + - "@types/node" - babel-plugin-macros - debug - supports-color @@ -12423,7 +13846,7 @@ snapshots: libnpmpublish@11.1.2: dependencies: - '@npmcli/package-json': 7.0.2 + "@npmcli/package-json": 7.0.2 ci-info: 4.3.1 npm-package-arg: 13.0.1 npm-registry-fetch: 19.1.0 @@ -12608,8 +14031,8 @@ snapshots: logform@2.7.0: dependencies: - '@colors/colors': 1.6.0 - '@types/triple-beam': 1.3.2 + "@colors/colors": 1.6.0 + "@types/triple-beam": 1.3.2 fecha: 4.2.3 ms: 2.1.3 safe-stable-stringify: 2.5.0 @@ -12633,12 +14056,12 @@ snapshots: magic-string@0.30.21: dependencies: - '@jridgewell/sourcemap-codec': 1.5.5 + "@jridgewell/sourcemap-codec": 1.5.5 magicast@0.5.2: dependencies: - '@babel/parser': 7.29.0 - '@babel/types': 7.29.0 + "@babel/parser": 7.29.0 + "@babel/types": 7.29.0 source-map-js: 1.2.1 make-dir@3.1.0: @@ -12653,7 +14076,7 @@ snapshots: make-fetch-happen@15.0.2: dependencies: - '@npmcli/agent': 4.0.0 + "@npmcli/agent": 4.0.0 cacache: 20.0.3 http-cache-semantics: 4.2.0 minipass: 7.1.3 @@ -12669,7 +14092,7 @@ snapshots: make-fetch-happen@15.0.3: dependencies: - '@npmcli/agent': 4.0.0 + "@npmcli/agent": 4.0.0 cacache: 20.0.3 http-cache-semantics: 4.2.0 minipass: 7.1.3 @@ -12717,7 +14140,7 @@ snapshots: meow@8.1.2: dependencies: - '@types/minimist': 1.2.2 + "@types/minimist": 1.2.2 camelcase-keys: 6.2.2 decamelize-keys: 1.1.1 hard-rejection: 2.1.0 @@ -12762,8 +14185,8 @@ snapshots: minify@15.2.0: dependencies: - '@putout/minify': 6.0.0 - '@swc/core': 1.15.21 + "@putout/minify": 6.0.0 + "@swc/core": 1.15.21 clean-css: 5.3.3 css-b64-images: 0.2.5 debug: 4.4.3(supports-color@5.5.0) @@ -12778,7 +14201,7 @@ snapshots: try-catch: 4.0.7 try-to-catch: 4.0.3 transitivePeerDependencies: - - '@swc/helpers' + - "@swc/helpers" - supports-color minimatch@10.2.2: @@ -13028,7 +14451,7 @@ snapshots: npm-registry-fetch@19.1.0: dependencies: - '@npmcli/redact': 3.2.2 + "@npmcli/redact": 3.2.2 jsonparse: 1.3.1 make-fetch-happen: 15.0.3 minipass: 7.1.3 @@ -13049,7 +14472,7 @@ snapshots: nx-cloud@19.1.0: dependencies: - '@nrwl/nx-cloud': 19.1.0 + "@nrwl/nx-cloud": 19.1.0 axios: 1.13.2 chalk: 4.1.2 dotenv: 10.0.0 @@ -13064,11 +14487,11 @@ snapshots: nx@22.6.3(@swc/core@1.15.21): dependencies: - '@ltd/j-toml': 1.38.0 - '@napi-rs/wasm-runtime': 0.2.4 - '@yarnpkg/lockfile': 1.1.0 - '@yarnpkg/parsers': 3.0.2 - '@zkochan/js-yaml': 0.0.7 + "@ltd/j-toml": 1.38.0 + "@napi-rs/wasm-runtime": 0.2.4 + "@yarnpkg/lockfile": 1.1.0 + "@yarnpkg/parsers": 3.0.2 + "@zkochan/js-yaml": 0.0.7 axios: 1.13.2 cli-cursor: 3.1.0 cli-spinners: 2.6.1 @@ -13101,17 +14524,17 @@ snapshots: yargs: 17.7.2 yargs-parser: 21.1.1 optionalDependencies: - '@nx/nx-darwin-arm64': 22.6.3 - '@nx/nx-darwin-x64': 22.6.3 - '@nx/nx-freebsd-x64': 22.6.3 - '@nx/nx-linux-arm-gnueabihf': 22.6.3 - '@nx/nx-linux-arm64-gnu': 22.6.3 - '@nx/nx-linux-arm64-musl': 22.6.3 - '@nx/nx-linux-x64-gnu': 22.6.3 - '@nx/nx-linux-x64-musl': 22.6.3 - '@nx/nx-win32-arm64-msvc': 22.6.3 - '@nx/nx-win32-x64-msvc': 22.6.3 - '@swc/core': 1.15.21 + "@nx/nx-darwin-arm64": 22.6.3 + "@nx/nx-darwin-x64": 22.6.3 + "@nx/nx-freebsd-x64": 22.6.3 + "@nx/nx-linux-arm-gnueabihf": 22.6.3 + "@nx/nx-linux-arm64-gnu": 22.6.3 + "@nx/nx-linux-arm64-musl": 22.6.3 + "@nx/nx-linux-x64-gnu": 22.6.3 + "@nx/nx-linux-x64-musl": 22.6.3 + "@nx/nx-win32-arm64-msvc": 22.6.3 + "@nx/nx-win32-x64-msvc": 22.6.3 + "@swc/core": 1.15.21 transitivePeerDependencies: - debug @@ -13152,7 +14575,7 @@ snapshots: optionator@0.9.3: dependencies: - '@aashutoshrathi/word-wrap': 1.2.6 + "@aashutoshrathi/word-wrap": 1.2.6 deep-is: 0.1.4 fast-levenshtein: 2.0.6 levn: 0.4.1 @@ -13174,26 +14597,26 @@ snapshots: oxc-minify@0.116.0: optionalDependencies: - '@oxc-minify/binding-android-arm-eabi': 0.116.0 - '@oxc-minify/binding-android-arm64': 0.116.0 - '@oxc-minify/binding-darwin-arm64': 0.116.0 - '@oxc-minify/binding-darwin-x64': 0.116.0 - '@oxc-minify/binding-freebsd-x64': 0.116.0 - '@oxc-minify/binding-linux-arm-gnueabihf': 0.116.0 - '@oxc-minify/binding-linux-arm-musleabihf': 0.116.0 - '@oxc-minify/binding-linux-arm64-gnu': 0.116.0 - '@oxc-minify/binding-linux-arm64-musl': 0.116.0 - '@oxc-minify/binding-linux-ppc64-gnu': 0.116.0 - '@oxc-minify/binding-linux-riscv64-gnu': 0.116.0 - '@oxc-minify/binding-linux-riscv64-musl': 0.116.0 - '@oxc-minify/binding-linux-s390x-gnu': 0.116.0 - '@oxc-minify/binding-linux-x64-gnu': 0.116.0 - '@oxc-minify/binding-linux-x64-musl': 0.116.0 - '@oxc-minify/binding-openharmony-arm64': 0.116.0 - '@oxc-minify/binding-wasm32-wasi': 0.116.0 - '@oxc-minify/binding-win32-arm64-msvc': 0.116.0 - '@oxc-minify/binding-win32-ia32-msvc': 0.116.0 - '@oxc-minify/binding-win32-x64-msvc': 0.116.0 + "@oxc-minify/binding-android-arm-eabi": 0.116.0 + "@oxc-minify/binding-android-arm64": 0.116.0 + "@oxc-minify/binding-darwin-arm64": 0.116.0 + "@oxc-minify/binding-darwin-x64": 0.116.0 + "@oxc-minify/binding-freebsd-x64": 0.116.0 + "@oxc-minify/binding-linux-arm-gnueabihf": 0.116.0 + "@oxc-minify/binding-linux-arm-musleabihf": 0.116.0 + "@oxc-minify/binding-linux-arm64-gnu": 0.116.0 + "@oxc-minify/binding-linux-arm64-musl": 0.116.0 + "@oxc-minify/binding-linux-ppc64-gnu": 0.116.0 + "@oxc-minify/binding-linux-riscv64-gnu": 0.116.0 + "@oxc-minify/binding-linux-riscv64-musl": 0.116.0 + "@oxc-minify/binding-linux-s390x-gnu": 0.116.0 + "@oxc-minify/binding-linux-x64-gnu": 0.116.0 + "@oxc-minify/binding-linux-x64-musl": 0.116.0 + "@oxc-minify/binding-openharmony-arm64": 0.116.0 + "@oxc-minify/binding-wasm32-wasi": 0.116.0 + "@oxc-minify/binding-win32-arm64-msvc": 0.116.0 + "@oxc-minify/binding-win32-ia32-msvc": 0.116.0 + "@oxc-minify/binding-win32-x64-msvc": 0.116.0 p-cancelable@2.1.1: {} @@ -13266,11 +14689,11 @@ snapshots: pacote@21.0.1: dependencies: - '@npmcli/git': 6.0.3 - '@npmcli/installed-package-contents': 3.0.0 - '@npmcli/package-json': 7.0.2 - '@npmcli/promise-spawn': 8.0.3 - '@npmcli/run-script': 10.0.3 + "@npmcli/git": 6.0.3 + "@npmcli/installed-package-contents": 3.0.0 + "@npmcli/package-json": 7.0.2 + "@npmcli/promise-spawn": 8.0.3 + "@npmcli/run-script": 10.0.3 cacache: 20.0.3 fs-minipass: 3.0.2 minipass: 7.1.3 @@ -13288,11 +14711,11 @@ snapshots: pacote@21.0.4: dependencies: - '@npmcli/git': 7.0.1 - '@npmcli/installed-package-contents': 4.0.0 - '@npmcli/package-json': 7.0.2 - '@npmcli/promise-spawn': 9.0.1 - '@npmcli/run-script': 10.0.3 + "@npmcli/git": 7.0.1 + "@npmcli/installed-package-contents": 4.0.0 + "@npmcli/package-json": 7.0.2 + "@npmcli/promise-spawn": 9.0.1 + "@npmcli/run-script": 10.0.3 cacache: 20.0.3 fs-minipass: 3.0.2 minipass: 7.1.3 @@ -13329,7 +14752,7 @@ snapshots: parse-json@5.2.0: dependencies: - '@babel/code-frame': 7.27.1 + "@babel/code-frame": 7.27.1 error-ex: 1.3.2 json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 @@ -13438,8 +14861,8 @@ snapshots: prettier-plugin-multiline-arrays@4.1.5(prettier@3.8.1): dependencies: - '@augment-vir/assert': 31.59.3 - '@augment-vir/common': 31.59.3 + "@augment-vir/assert": 31.59.3 + "@augment-vir/common": 31.59.3 prettier: 3.8.1 proxy-vir: 2.0.2 @@ -13447,7 +14870,7 @@ snapshots: pretty-format@30.2.0: dependencies: - '@jest/schemas': 30.0.5 + "@jest/schemas": 30.0.5 ansi-styles: 5.2.0 react-is: 18.3.1 @@ -13494,8 +14917,8 @@ snapshots: proxy-vir@2.0.2: dependencies: - '@augment-vir/assert': 31.59.3 - '@augment-vir/common': 31.59.3 + "@augment-vir/assert": 31.59.3 + "@augment-vir/common": 31.59.3 pstree.remy@1.1.8: {} @@ -13626,7 +15049,7 @@ snapshots: read-pkg@5.2.0: dependencies: - '@types/normalize-package-data': 2.4.1 + "@types/normalize-package-data": 2.4.1 normalize-package-data: 2.5.0 parse-json: 5.2.0 type-fest: 0.6.0 @@ -13738,54 +15161,54 @@ snapshots: rolldown@1.0.0-rc.10: dependencies: - '@oxc-project/types': 0.120.0 - '@rolldown/pluginutils': 1.0.0-rc.10 + "@oxc-project/types": 0.120.0 + "@rolldown/pluginutils": 1.0.0-rc.10 optionalDependencies: - '@rolldown/binding-android-arm64': 1.0.0-rc.10 - '@rolldown/binding-darwin-arm64': 1.0.0-rc.10 - '@rolldown/binding-darwin-x64': 1.0.0-rc.10 - '@rolldown/binding-freebsd-x64': 1.0.0-rc.10 - '@rolldown/binding-linux-arm-gnueabihf': 1.0.0-rc.10 - '@rolldown/binding-linux-arm64-gnu': 1.0.0-rc.10 - '@rolldown/binding-linux-arm64-musl': 1.0.0-rc.10 - '@rolldown/binding-linux-ppc64-gnu': 1.0.0-rc.10 - '@rolldown/binding-linux-s390x-gnu': 1.0.0-rc.10 - '@rolldown/binding-linux-x64-gnu': 1.0.0-rc.10 - '@rolldown/binding-linux-x64-musl': 1.0.0-rc.10 - '@rolldown/binding-openharmony-arm64': 1.0.0-rc.10 - '@rolldown/binding-wasm32-wasi': 1.0.0-rc.10 - '@rolldown/binding-win32-arm64-msvc': 1.0.0-rc.10 - '@rolldown/binding-win32-x64-msvc': 1.0.0-rc.10 + "@rolldown/binding-android-arm64": 1.0.0-rc.10 + "@rolldown/binding-darwin-arm64": 1.0.0-rc.10 + "@rolldown/binding-darwin-x64": 1.0.0-rc.10 + "@rolldown/binding-freebsd-x64": 1.0.0-rc.10 + "@rolldown/binding-linux-arm-gnueabihf": 1.0.0-rc.10 + "@rolldown/binding-linux-arm64-gnu": 1.0.0-rc.10 + "@rolldown/binding-linux-arm64-musl": 1.0.0-rc.10 + "@rolldown/binding-linux-ppc64-gnu": 1.0.0-rc.10 + "@rolldown/binding-linux-s390x-gnu": 1.0.0-rc.10 + "@rolldown/binding-linux-x64-gnu": 1.0.0-rc.10 + "@rolldown/binding-linux-x64-musl": 1.0.0-rc.10 + "@rolldown/binding-openharmony-arm64": 1.0.0-rc.10 + "@rolldown/binding-wasm32-wasi": 1.0.0-rc.10 + "@rolldown/binding-win32-arm64-msvc": 1.0.0-rc.10 + "@rolldown/binding-win32-x64-msvc": 1.0.0-rc.10 rollup@4.59.0: dependencies: - '@types/estree': 1.0.8 + "@types/estree": 1.0.8 optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.59.0 - '@rollup/rollup-android-arm64': 4.59.0 - '@rollup/rollup-darwin-arm64': 4.59.0 - '@rollup/rollup-darwin-x64': 4.59.0 - '@rollup/rollup-freebsd-arm64': 4.59.0 - '@rollup/rollup-freebsd-x64': 4.59.0 - '@rollup/rollup-linux-arm-gnueabihf': 4.59.0 - '@rollup/rollup-linux-arm-musleabihf': 4.59.0 - '@rollup/rollup-linux-arm64-gnu': 4.59.0 - '@rollup/rollup-linux-arm64-musl': 4.59.0 - '@rollup/rollup-linux-loong64-gnu': 4.59.0 - '@rollup/rollup-linux-loong64-musl': 4.59.0 - '@rollup/rollup-linux-ppc64-gnu': 4.59.0 - '@rollup/rollup-linux-ppc64-musl': 4.59.0 - '@rollup/rollup-linux-riscv64-gnu': 4.59.0 - '@rollup/rollup-linux-riscv64-musl': 4.59.0 - '@rollup/rollup-linux-s390x-gnu': 4.59.0 - '@rollup/rollup-linux-x64-gnu': 4.59.0 - '@rollup/rollup-linux-x64-musl': 4.59.0 - '@rollup/rollup-openbsd-x64': 4.59.0 - '@rollup/rollup-openharmony-arm64': 4.59.0 - '@rollup/rollup-win32-arm64-msvc': 4.59.0 - '@rollup/rollup-win32-ia32-msvc': 4.59.0 - '@rollup/rollup-win32-x64-gnu': 4.59.0 - '@rollup/rollup-win32-x64-msvc': 4.59.0 + "@rollup/rollup-android-arm-eabi": 4.59.0 + "@rollup/rollup-android-arm64": 4.59.0 + "@rollup/rollup-darwin-arm64": 4.59.0 + "@rollup/rollup-darwin-x64": 4.59.0 + "@rollup/rollup-freebsd-arm64": 4.59.0 + "@rollup/rollup-freebsd-x64": 4.59.0 + "@rollup/rollup-linux-arm-gnueabihf": 4.59.0 + "@rollup/rollup-linux-arm-musleabihf": 4.59.0 + "@rollup/rollup-linux-arm64-gnu": 4.59.0 + "@rollup/rollup-linux-arm64-musl": 4.59.0 + "@rollup/rollup-linux-loong64-gnu": 4.59.0 + "@rollup/rollup-linux-loong64-musl": 4.59.0 + "@rollup/rollup-linux-ppc64-gnu": 4.59.0 + "@rollup/rollup-linux-ppc64-musl": 4.59.0 + "@rollup/rollup-linux-riscv64-gnu": 4.59.0 + "@rollup/rollup-linux-riscv64-musl": 4.59.0 + "@rollup/rollup-linux-s390x-gnu": 4.59.0 + "@rollup/rollup-linux-x64-gnu": 4.59.0 + "@rollup/rollup-linux-x64-musl": 4.59.0 + "@rollup/rollup-openbsd-x64": 4.59.0 + "@rollup/rollup-openharmony-arm64": 4.59.0 + "@rollup/rollup-win32-arm64-msvc": 4.59.0 + "@rollup/rollup-win32-ia32-msvc": 4.59.0 + "@rollup/rollup-win32-x64-gnu": 4.59.0 + "@rollup/rollup-win32-x64-msvc": 4.59.0 fsevents: 2.3.3 router@2.2.0: @@ -13826,7 +15249,7 @@ snapshots: immutable: 5.1.5 source-map-js: 1.2.1 optionalDependencies: - '@parcel/watcher': 2.5.1 + "@parcel/watcher": 2.5.1 sax@1.4.1: {} @@ -13838,7 +15261,7 @@ snapshots: schema-utils@4.3.3: dependencies: - '@types/json-schema': 7.0.15 + "@types/json-schema": 7.0.15 ajv: 8.18.0 ajv-formats: 2.1.1(ajv@8.18.0) ajv-keywords: 5.1.0(ajv@8.18.0) @@ -13950,12 +15373,12 @@ snapshots: sigstore@4.1.0: dependencies: - '@sigstore/bundle': 4.0.0 - '@sigstore/core': 3.1.0 - '@sigstore/protobuf-specs': 0.5.0 - '@sigstore/sign': 4.1.0 - '@sigstore/tuf': 4.0.1 - '@sigstore/verify': 3.1.0 + "@sigstore/bundle": 4.0.0 + "@sigstore/core": 3.1.0 + "@sigstore/protobuf-specs": 0.5.0 + "@sigstore/sign": 4.1.0 + "@sigstore/tuf": 4.0.1 + "@sigstore/verify": 3.1.0 transitivePeerDependencies: - supports-color @@ -13973,7 +15396,7 @@ snapshots: sirv@3.0.2: dependencies: - '@polka/url': 1.0.0-next.25 + "@polka/url": 1.0.0-next.25 mrmime: 2.0.0 totalist: 3.0.1 @@ -14113,7 +15536,7 @@ snapshots: stylus@0.64.0: dependencies: - '@adobe/css-tools': 4.3.3 + "@adobe/css-tools": 4.3.3 debug: 4.3.6 glob: 10.4.5 sax: 1.4.1 @@ -14153,15 +15576,15 @@ snapshots: swc-loader@0.2.7(@swc/core@1.15.21)(webpack@5.105.4): dependencies: - '@swc/core': 1.15.21 - '@swc/counter': 0.1.3 + "@swc/core": 1.15.21 + "@swc/counter": 0.1.3 webpack: 5.105.4(@swc/core@1.15.21)(esbuild@0.27.2)(webpack-cli@7.0.2) symbol-tree@3.2.4: {} synckit@0.11.12: dependencies: - '@pkgr/core': 0.2.9 + "@pkgr/core": 0.2.9 tagged-tag@1.0.0: {} @@ -14193,7 +15616,7 @@ snapshots: tar@7.5.11: dependencies: - '@isaacs/fs-minipass': 4.0.1 + "@isaacs/fs-minipass": 4.0.1 chownr: 3.0.0 minipass: 7.1.3 minizlib: 3.1.0 @@ -14201,25 +15624,25 @@ snapshots: terser-webpack-plugin@5.4.0(@swc/core@1.15.21)(esbuild@0.27.2)(webpack@5.105.4): dependencies: - '@jridgewell/trace-mapping': 0.3.31 + "@jridgewell/trace-mapping": 0.3.31 jest-worker: 27.5.1 schema-utils: 4.3.3 terser: 5.46.0 webpack: 5.105.4(@swc/core@1.15.21)(esbuild@0.27.2)(webpack-cli@7.0.2) optionalDependencies: - '@swc/core': 1.15.21 + "@swc/core": 1.15.21 esbuild: 0.27.2 terser@5.44.1: dependencies: - '@jridgewell/source-map': 0.3.5 + "@jridgewell/source-map": 0.3.5 acorn: 8.15.0 commander: 2.20.3 source-map-support: 0.5.21 terser@5.46.0: dependencies: - '@jridgewell/source-map': 0.3.5 + "@jridgewell/source-map": 0.3.5 acorn: 8.16.0 commander: 2.20.3 source-map-support: 0.5.21 @@ -14267,7 +15690,7 @@ snapshots: to-valid-identifier@1.0.0: dependencies: - '@sindresorhus/base62': 1.0.0 + "@sindresorhus/base62": 1.0.0 reserved-identifiers: 1.2.0 toidentifier@1.0.1: {} @@ -14314,7 +15737,7 @@ snapshots: ts-json-schema-generator@2.9.0: dependencies: - '@types/json-schema': 7.0.15 + "@types/json-schema": 7.0.15 commander: 14.0.3 glob: 13.0.6 json5: 2.2.3 @@ -14325,12 +15748,12 @@ snapshots: ts-node@10.9.2(@swc/core@1.15.21)(@types/node@18.19.45)(typescript@5.5.4): dependencies: - '@cspotcode/source-map-support': 0.8.1 - '@tsconfig/node10': 1.0.9 - '@tsconfig/node12': 1.0.11 - '@tsconfig/node14': 1.0.3 - '@tsconfig/node16': 1.0.4 - '@types/node': 18.19.45 + "@cspotcode/source-map-support": 0.8.1 + "@tsconfig/node10": 1.0.9 + "@tsconfig/node12": 1.0.11 + "@tsconfig/node14": 1.0.3 + "@tsconfig/node16": 1.0.4 + "@types/node": 18.19.45 acorn: 8.10.0 acorn-walk: 8.2.0 arg: 4.1.3 @@ -14341,16 +15764,16 @@ snapshots: v8-compile-cache-lib: 3.0.1 yn: 3.1.1 optionalDependencies: - '@swc/core': 1.15.21 + "@swc/core": 1.15.21 ts-node@10.9.2(@swc/core@1.15.21)(@types/node@25.5.0)(typescript@5.9.3): dependencies: - '@cspotcode/source-map-support': 0.8.1 - '@tsconfig/node10': 1.0.9 - '@tsconfig/node12': 1.0.11 - '@tsconfig/node14': 1.0.3 - '@tsconfig/node16': 1.0.4 - '@types/node': 25.5.0 + "@cspotcode/source-map-support": 0.8.1 + "@tsconfig/node10": 1.0.9 + "@tsconfig/node12": 1.0.11 + "@tsconfig/node14": 1.0.3 + "@tsconfig/node16": 1.0.4 + "@types/node": 25.5.0 acorn: 8.10.0 acorn-walk: 8.2.0 arg: 4.1.3 @@ -14361,7 +15784,7 @@ snapshots: v8-compile-cache-lib: 3.0.1 yn: 3.1.1 optionalDependencies: - '@swc/core': 1.15.21 + "@swc/core": 1.15.21 tsconfig-paths-webpack-plugin@4.2.0: dependencies: @@ -14380,7 +15803,7 @@ snapshots: tuf-js@4.1.0: dependencies: - '@tufjs/models': 4.1.0 + "@tufjs/models": 4.1.0 debug: 4.4.3(supports-color@5.5.0) make-fetch-happen: 15.0.3 transitivePeerDependencies: @@ -14415,9 +15838,9 @@ snapshots: typed-event-target@4.1.0: dependencies: - '@augment-vir/assert': 31.59.3 - '@augment-vir/common': 31.59.3 - '@augment-vir/core': 31.59.3 + "@augment-vir/assert": 31.59.3 + "@augment-vir/common": 31.59.3 + "@augment-vir/core": 31.59.3 typedarray@0.0.6: {} @@ -14450,7 +15873,7 @@ snapshots: typedoc@0.28.18(typescript@5.9.3): dependencies: - '@gerrit0/mini-shiki': 3.23.0 + "@gerrit0/mini-shiki": 3.23.0 lunr: 2.3.9 markdown-it: 14.1.1 minimatch: 10.2.4 @@ -14459,10 +15882,10 @@ snapshots: typescript-eslint@8.57.1(eslint@10.1.0(jiti@2.6.1))(typescript@5.9.3): dependencies: - '@typescript-eslint/eslint-plugin': 8.57.1(@typescript-eslint/parser@8.57.1(eslint@10.1.0(jiti@2.6.1))(typescript@5.9.3))(eslint@10.1.0(jiti@2.6.1))(typescript@5.9.3) - '@typescript-eslint/parser': 8.57.1(eslint@10.1.0(jiti@2.6.1))(typescript@5.9.3) - '@typescript-eslint/typescript-estree': 8.57.1(typescript@5.9.3) - '@typescript-eslint/utils': 8.57.1(eslint@10.1.0(jiti@2.6.1))(typescript@5.9.3) + "@typescript-eslint/eslint-plugin": 8.57.1(@typescript-eslint/parser@8.57.1(eslint@10.1.0(jiti@2.6.1))(typescript@5.9.3))(eslint@10.1.0(jiti@2.6.1))(typescript@5.9.3) + "@typescript-eslint/parser": 8.57.1(eslint@10.1.0(jiti@2.6.1))(typescript@5.9.3) + "@typescript-eslint/typescript-estree": 8.57.1(typescript@5.9.3) + "@typescript-eslint/utils": 8.57.1(eslint@10.1.0(jiti@2.6.1))(typescript@5.9.3) eslint: 10.1.0(jiti@2.6.1) typescript: 5.9.3 transitivePeerDependencies: @@ -14470,8 +15893,8 @@ snapshots: typescript-json-schema@0.67.1(@swc/core@1.15.21): dependencies: - '@types/json-schema': 7.0.15 - '@types/node': 18.19.45 + "@types/json-schema": 7.0.15 + "@types/node": 18.19.45 glob: 7.2.3 path-equal: 1.2.5 safe-stable-stringify: 2.5.0 @@ -14480,8 +15903,8 @@ snapshots: vm2: 3.10.0 yargs: 17.7.2 transitivePeerDependencies: - - '@swc/core' - - '@swc/wasm' + - "@swc/core" + - "@swc/wasm" typescript@5.5.4: {} @@ -14549,7 +15972,7 @@ snapshots: vanilla-picker@2.12.3: dependencies: - '@sphinxxxx/color-conversion': 2.2.2 + "@sphinxxxx/color-conversion": 2.2.2 vary@1.1.2: {} @@ -14562,7 +15985,7 @@ snapshots: rollup: 4.59.0 tinyglobby: 0.2.15 optionalDependencies: - '@types/node': 25.5.0 + "@types/node": 25.5.0 fsevents: 2.3.3 jiti: 2.6.1 lightningcss: 1.32.0 @@ -14579,7 +16002,7 @@ snapshots: rolldown: 1.0.0-rc.10 tinyglobby: 0.2.15 optionalDependencies: - '@types/node': 25.5.0 + "@types/node": 25.5.0 esbuild: 0.27.2 fsevents: 2.3.3 jiti: 2.6.1 @@ -14590,13 +16013,13 @@ snapshots: vitest@4.1.2(@types/node@25.5.0)(@vitest/ui@4.1.2)(jsdom@29.0.1(canvas@3.2.2))(vite@8.0.1(@types/node@25.5.0)(esbuild@0.27.2)(jiti@2.6.1)(sass@1.98.0)(stylus@0.64.0)(terser@5.46.0)(yaml@2.8.3)): dependencies: - '@vitest/expect': 4.1.2 - '@vitest/mocker': 4.1.2(vite@8.0.1(@types/node@25.5.0)(esbuild@0.27.2)(jiti@2.6.1)(sass@1.98.0)(stylus@0.64.0)(terser@5.46.0)(yaml@2.8.3)) - '@vitest/pretty-format': 4.1.2 - '@vitest/runner': 4.1.2 - '@vitest/snapshot': 4.1.2 - '@vitest/spy': 4.1.2 - '@vitest/utils': 4.1.2 + "@vitest/expect": 4.1.2 + "@vitest/mocker": 4.1.2(vite@8.0.1(@types/node@25.5.0)(esbuild@0.27.2)(jiti@2.6.1)(sass@1.98.0)(stylus@0.64.0)(terser@5.46.0)(yaml@2.8.3)) + "@vitest/pretty-format": 4.1.2 + "@vitest/runner": 4.1.2 + "@vitest/snapshot": 4.1.2 + "@vitest/spy": 4.1.2 + "@vitest/utils": 4.1.2 es-module-lexer: 2.0.0 expect-type: 1.3.0 magic-string: 0.30.21 @@ -14611,8 +16034,8 @@ snapshots: vite: 8.0.1(@types/node@25.5.0)(esbuild@0.27.2)(jiti@2.6.1)(sass@1.98.0)(stylus@0.64.0)(terser@5.46.0)(yaml@2.8.3) why-is-node-running: 2.3.0 optionalDependencies: - '@types/node': 25.5.0 - '@vitest/ui': 4.1.2(vitest@4.1.2) + "@types/node": 25.5.0 + "@vitest/ui": 4.1.2(vitest@4.1.2) jsdom: 29.0.1(canvas@3.2.2) transitivePeerDependencies: - msw @@ -14647,7 +16070,7 @@ snapshots: webpack-bundle-analyzer@5.3.0: dependencies: - '@discoveryjs/json-ext': 0.6.3 + "@discoveryjs/json-ext": 0.6.3 acorn: 8.16.0 acorn-walk: 8.3.5 commander: 14.0.3 @@ -14663,7 +16086,7 @@ snapshots: webpack-cli@7.0.2(webpack-bundle-analyzer@5.3.0)(webpack@5.105.4): dependencies: - '@discoveryjs/json-ext': 1.0.0 + "@discoveryjs/json-ext": 1.0.0 commander: 14.0.3 cross-spawn: 7.0.6 envinfo: 7.14.0 @@ -14686,12 +16109,12 @@ snapshots: webpack@5.105.4(@swc/core@1.15.21)(esbuild@0.27.2)(webpack-cli@7.0.2): dependencies: - '@types/eslint-scope': 3.7.7 - '@types/estree': 1.0.8 - '@types/json-schema': 7.0.15 - '@webassemblyjs/ast': 1.14.1 - '@webassemblyjs/wasm-edit': 1.14.1 - '@webassemblyjs/wasm-parser': 1.14.1 + "@types/eslint-scope": 3.7.7 + "@types/estree": 1.0.8 + "@types/json-schema": 7.0.15 + "@webassemblyjs/ast": 1.14.1 + "@webassemblyjs/wasm-edit": 1.14.1 + "@webassemblyjs/wasm-parser": 1.14.1 acorn: 8.16.0 acorn-import-phases: 1.0.4(acorn@8.16.0) browserslist: 4.28.1 @@ -14714,7 +16137,7 @@ snapshots: optionalDependencies: webpack-cli: 7.0.2(webpack-bundle-analyzer@5.3.0)(webpack@5.105.4) transitivePeerDependencies: - - '@swc/core' + - "@swc/core" - esbuild - uglify-js @@ -14722,11 +16145,11 @@ snapshots: whatwg-url@16.0.1: dependencies: - '@exodus/bytes': 1.15.0 + "@exodus/bytes": 1.15.0 tr46: 6.0.0 webidl-conversions: 8.0.1 transitivePeerDependencies: - - '@noble/hashes' + - "@noble/hashes" whatwg-url@5.0.0: dependencies: @@ -14764,8 +16187,8 @@ snapshots: winston@3.19.0: dependencies: - '@colors/colors': 1.6.0 - '@dabh/diagnostics': 2.0.8 + "@colors/colors": 1.6.0 + "@dabh/diagnostics": 2.0.8 async: 3.2.4 is-stream: 2.0.1 logform: 2.7.0 @@ -14778,8 +16201,8 @@ snapshots: with@7.0.2: dependencies: - '@babel/parser': 7.29.0 - '@babel/types': 7.29.0 + "@babel/parser": 7.29.0 + "@babel/types": 7.29.0 assert-never: 1.3.0 babel-walk: 3.0.0-canary-5 diff --git a/shapes/arrow/CHANGELOG.md b/shapes/arrow/CHANGELOG.md index 1bb25988668..8d24e315cba 100644 --- a/shapes/arrow/CHANGELOG.md +++ b/shapes/arrow/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/shape-arrow + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/shape-arrow diff --git a/shapes/arrow/package.dist.json b/shapes/arrow/package.dist.json index 631abc0f051..d274165ef35 100644 --- a/shapes/arrow/package.dist.json +++ b/shapes/arrow/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/shape-arrow", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles arrow shape", "homepage": "https://particles.js.org", "repository": { @@ -100,7 +100,7 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/engine": "4.0.0-beta.0" + "@tsparticles/engine": "4.0.0-beta.1" }, "publishConfig": { "access": "public" diff --git a/shapes/arrow/package.json b/shapes/arrow/package.json index 2ac980559a4..d4fc8311b70 100644 --- a/shapes/arrow/package.json +++ b/shapes/arrow/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/shape-arrow", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles arrow shape", "homepage": "https://particles.js.org", "scripts": { @@ -108,7 +108,7 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/engine": "workspace:4.0.0-beta.0" + "@tsparticles/engine": "workspace:4.0.0-beta.1" }, "publishConfig": { "access": "public", diff --git a/shapes/cards/CHANGELOG.md b/shapes/cards/CHANGELOG.md index 3c643e0c44a..bf06e4f5c84 100644 --- a/shapes/cards/CHANGELOG.md +++ b/shapes/cards/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/shape-cards + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/shape-cards diff --git a/shapes/cards/package.dist.json b/shapes/cards/package.dist.json index 97de6deddb4..98eb6224bba 100644 --- a/shapes/cards/package.dist.json +++ b/shapes/cards/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/shape-cards", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles cards shape", "homepage": "https://particles.js.org", "repository": { @@ -100,8 +100,8 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/engine": "4.0.0-beta.0", - "@tsparticles/path-utils": "4.0.0-beta.0" + "@tsparticles/engine": "4.0.0-beta.1", + "@tsparticles/path-utils": "4.0.0-beta.1" }, "publishConfig": { "access": "public" diff --git a/shapes/cards/package.json b/shapes/cards/package.json index 9b423102942..af49c0a59d1 100644 --- a/shapes/cards/package.json +++ b/shapes/cards/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/shape-cards", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles cards shape", "homepage": "https://particles.js.org", "scripts": { @@ -108,8 +108,8 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/engine": "workspace:4.0.0-beta.0", - "@tsparticles/path-utils": "workspace:4.0.0-beta.0" + "@tsparticles/engine": "workspace:4.0.0-beta.1", + "@tsparticles/path-utils": "workspace:4.0.0-beta.1" }, "publishConfig": { "access": "public", diff --git a/shapes/circle/CHANGELOG.md b/shapes/circle/CHANGELOG.md index 5204503427d..1c3a258abbf 100644 --- a/shapes/circle/CHANGELOG.md +++ b/shapes/circle/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/shape-circle + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/shape-circle diff --git a/shapes/circle/package.dist.json b/shapes/circle/package.dist.json index 986f383e3c4..daeeb1aa711 100644 --- a/shapes/circle/package.dist.json +++ b/shapes/circle/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/shape-circle", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles circle shape", "homepage": "https://particles.js.org", "repository": { @@ -59,7 +59,7 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/engine": "4.0.0-beta.0" + "@tsparticles/engine": "4.0.0-beta.1" }, "publishConfig": { "access": "public" diff --git a/shapes/circle/package.json b/shapes/circle/package.json index 618c0c4d837..5614a2189ee 100644 --- a/shapes/circle/package.json +++ b/shapes/circle/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/shape-circle", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles circle shape", "homepage": "https://particles.js.org", "scripts": { @@ -64,7 +64,7 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/engine": "workspace:4.0.0-beta.0" + "@tsparticles/engine": "workspace:4.0.0-beta.1" }, "publishConfig": { "access": "public", diff --git a/shapes/cog/CHANGELOG.md b/shapes/cog/CHANGELOG.md index 3a99107a372..e27592b1454 100644 --- a/shapes/cog/CHANGELOG.md +++ b/shapes/cog/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/shape-cog + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/shape-cog diff --git a/shapes/cog/package.dist.json b/shapes/cog/package.dist.json index 0180b11624d..1dcd71b8b20 100644 --- a/shapes/cog/package.dist.json +++ b/shapes/cog/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/shape-cog", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles cog shape", "homepage": "https://particles.js.org", "repository": { @@ -100,7 +100,7 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/engine": "4.0.0-beta.0" + "@tsparticles/engine": "4.0.0-beta.1" }, "publishConfig": { "access": "public" diff --git a/shapes/cog/package.json b/shapes/cog/package.json index 41ae9a2b79b..afebb6e0628 100644 --- a/shapes/cog/package.json +++ b/shapes/cog/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/shape-cog", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles cog shape", "homepage": "https://particles.js.org", "scripts": { @@ -108,7 +108,7 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/engine": "workspace:4.0.0-beta.0" + "@tsparticles/engine": "workspace:4.0.0-beta.1" }, "publishConfig": { "access": "public", diff --git a/shapes/emoji/CHANGELOG.md b/shapes/emoji/CHANGELOG.md index ad10c08dade..fc09746911e 100644 --- a/shapes/emoji/CHANGELOG.md +++ b/shapes/emoji/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/shape-emoji + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/shape-emoji diff --git a/shapes/emoji/package.dist.json b/shapes/emoji/package.dist.json index 1e301eb3c3b..1724830bae1 100644 --- a/shapes/emoji/package.dist.json +++ b/shapes/emoji/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/shape-emoji", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles emoji shape", "homepage": "https://particles.js.org", "repository": { @@ -59,8 +59,8 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/canvas-utils": "4.0.0-beta.0", - "@tsparticles/engine": "4.0.0-beta.0" + "@tsparticles/canvas-utils": "4.0.0-beta.1", + "@tsparticles/engine": "4.0.0-beta.1" }, "publishConfig": { "access": "public" diff --git a/shapes/emoji/package.json b/shapes/emoji/package.json index 430c851cb60..6a5686f7974 100644 --- a/shapes/emoji/package.json +++ b/shapes/emoji/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/shape-emoji", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles emoji shape", "homepage": "https://particles.js.org", "scripts": { @@ -67,8 +67,8 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/canvas-utils": "workspace:4.0.0-beta.0", - "@tsparticles/engine": "workspace:4.0.0-beta.0" + "@tsparticles/canvas-utils": "workspace:4.0.0-beta.1", + "@tsparticles/engine": "workspace:4.0.0-beta.1" }, "publishConfig": { "access": "public", diff --git a/shapes/heart/CHANGELOG.md b/shapes/heart/CHANGELOG.md index 353cb664bf8..fc7c6677d34 100644 --- a/shapes/heart/CHANGELOG.md +++ b/shapes/heart/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/shape-heart + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/shape-heart diff --git a/shapes/heart/package.dist.json b/shapes/heart/package.dist.json index a8e1759793a..6b1892491d6 100644 --- a/shapes/heart/package.dist.json +++ b/shapes/heart/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/shape-heart", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles heart shape", "homepage": "https://particles.js.org", "repository": { @@ -100,7 +100,7 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/engine": "4.0.0-beta.0" + "@tsparticles/engine": "4.0.0-beta.1" }, "publishConfig": { "access": "public" diff --git a/shapes/heart/package.json b/shapes/heart/package.json index 187b9c1f059..27a3063838b 100644 --- a/shapes/heart/package.json +++ b/shapes/heart/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/shape-heart", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles heart shape", "homepage": "https://particles.js.org", "scripts": { @@ -108,7 +108,7 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/engine": "workspace:4.0.0-beta.0" + "@tsparticles/engine": "workspace:4.0.0-beta.1" }, "publishConfig": { "access": "public", diff --git a/shapes/image/CHANGELOG.md b/shapes/image/CHANGELOG.md index e0e6737b5d6..f12dca539e4 100644 --- a/shapes/image/CHANGELOG.md +++ b/shapes/image/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/shape-image + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/shape-image diff --git a/shapes/image/package.dist.json b/shapes/image/package.dist.json index d7759c4fb3a..9a1c846a262 100644 --- a/shapes/image/package.dist.json +++ b/shapes/image/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/shape-image", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles image shape", "homepage": "https://particles.js.org", "repository": { @@ -59,7 +59,7 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/engine": "4.0.0-beta.0" + "@tsparticles/engine": "4.0.0-beta.1" }, "publishConfig": { "access": "public" diff --git a/shapes/image/package.json b/shapes/image/package.json index 6a1126fda7f..27fa5854a7f 100644 --- a/shapes/image/package.json +++ b/shapes/image/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/shape-image", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles image shape", "homepage": "https://particles.js.org", "scripts": { @@ -67,7 +67,7 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/engine": "workspace:4.0.0-beta.0" + "@tsparticles/engine": "workspace:4.0.0-beta.1" }, "publishConfig": { "access": "public", diff --git a/shapes/infinity/CHANGELOG.md b/shapes/infinity/CHANGELOG.md index f3de0e905bf..dc4d3c7b292 100644 --- a/shapes/infinity/CHANGELOG.md +++ b/shapes/infinity/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/shape-infinity + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/shape-infinity diff --git a/shapes/infinity/package.dist.json b/shapes/infinity/package.dist.json index b5e953792bc..d16da756255 100644 --- a/shapes/infinity/package.dist.json +++ b/shapes/infinity/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/shape-infinity", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles infinity shape", "homepage": "https://particles.js.org", "repository": { @@ -100,7 +100,7 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/engine": "4.0.0-beta.0" + "@tsparticles/engine": "4.0.0-beta.1" }, "publishConfig": { "access": "public" diff --git a/shapes/infinity/package.json b/shapes/infinity/package.json index e546e063672..a069c7d2c00 100644 --- a/shapes/infinity/package.json +++ b/shapes/infinity/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/shape-infinity", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles infinity shape", "homepage": "https://particles.js.org", "scripts": { @@ -108,7 +108,7 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/engine": "workspace:4.0.0-beta.0" + "@tsparticles/engine": "workspace:4.0.0-beta.1" }, "publishConfig": { "access": "public", diff --git a/shapes/line/CHANGELOG.md b/shapes/line/CHANGELOG.md index 9cfb1db89f8..4342d33948c 100644 --- a/shapes/line/CHANGELOG.md +++ b/shapes/line/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/shape-line + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/shape-line diff --git a/shapes/line/package.dist.json b/shapes/line/package.dist.json index e0eab24480e..4fcb0f20848 100644 --- a/shapes/line/package.dist.json +++ b/shapes/line/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/shape-line", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles line shape", "homepage": "https://particles.js.org", "repository": { @@ -59,7 +59,7 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/engine": "4.0.0-beta.0" + "@tsparticles/engine": "4.0.0-beta.1" }, "publishConfig": { "access": "public" diff --git a/shapes/line/package.json b/shapes/line/package.json index 11431e439b9..478fd4a18db 100644 --- a/shapes/line/package.json +++ b/shapes/line/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/shape-line", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles line shape", "homepage": "https://particles.js.org", "scripts": { @@ -72,7 +72,7 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/engine": "workspace:4.0.0-beta.0" + "@tsparticles/engine": "workspace:4.0.0-beta.1" }, "type": "module" } diff --git a/shapes/matrix/CHANGELOG.md b/shapes/matrix/CHANGELOG.md index 4b12d0ca040..1b49e513121 100644 --- a/shapes/matrix/CHANGELOG.md +++ b/shapes/matrix/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/shape-matrix + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/shape-matrix diff --git a/shapes/matrix/package.dist.json b/shapes/matrix/package.dist.json index dddbed182b8..af928fcccb8 100644 --- a/shapes/matrix/package.dist.json +++ b/shapes/matrix/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/shape-matrix", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles matrix shape", "homepage": "https://particles.js.org", "repository": { @@ -100,7 +100,7 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/engine": "4.0.0-beta.0" + "@tsparticles/engine": "4.0.0-beta.1" }, "publishConfig": { "access": "public" diff --git a/shapes/matrix/package.json b/shapes/matrix/package.json index b27c1fe38c4..d6fe1b22451 100644 --- a/shapes/matrix/package.json +++ b/shapes/matrix/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/shape-matrix", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles matrix shape", "homepage": "https://particles.js.org", "scripts": { @@ -108,7 +108,7 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/engine": "workspace:4.0.0-beta.0" + "@tsparticles/engine": "workspace:4.0.0-beta.1" }, "publishConfig": { "access": "public", diff --git a/shapes/path/CHANGELOG.md b/shapes/path/CHANGELOG.md index 81a87f05da0..2fcd1b94234 100644 --- a/shapes/path/CHANGELOG.md +++ b/shapes/path/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/shape-path + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/shape-path diff --git a/shapes/path/package.dist.json b/shapes/path/package.dist.json index 3e19782819a..0f8e65fe1cb 100644 --- a/shapes/path/package.dist.json +++ b/shapes/path/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/shape-path", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles path shape", "homepage": "https://particles.js.org", "repository": { @@ -100,8 +100,8 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/engine": "4.0.0-beta.0", - "@tsparticles/path-utils": "4.0.0-beta.0" + "@tsparticles/engine": "4.0.0-beta.1", + "@tsparticles/path-utils": "4.0.0-beta.1" }, "publishConfig": { "access": "public" diff --git a/shapes/path/package.json b/shapes/path/package.json index 54cc658b2bc..4db00feea96 100644 --- a/shapes/path/package.json +++ b/shapes/path/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/shape-path", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles path shape", "homepage": "https://particles.js.org", "scripts": { @@ -108,8 +108,8 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/engine": "workspace:4.0.0-beta.0", - "@tsparticles/path-utils": "workspace:4.0.0-beta.0" + "@tsparticles/engine": "workspace:4.0.0-beta.1", + "@tsparticles/path-utils": "workspace:4.0.0-beta.1" }, "publishConfig": { "access": "public", diff --git a/shapes/polygon/CHANGELOG.md b/shapes/polygon/CHANGELOG.md index 175614af716..1ec2c8b6f47 100644 --- a/shapes/polygon/CHANGELOG.md +++ b/shapes/polygon/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/shape-polygon + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/shape-polygon diff --git a/shapes/polygon/package.dist.json b/shapes/polygon/package.dist.json index cee0f202ba3..c1e9b09a503 100644 --- a/shapes/polygon/package.dist.json +++ b/shapes/polygon/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/shape-polygon", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles polygon shape", "homepage": "https://particles.js.org", "repository": { @@ -59,7 +59,7 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/engine": "4.0.0-beta.0" + "@tsparticles/engine": "4.0.0-beta.1" }, "publishConfig": { "access": "public" diff --git a/shapes/polygon/package.json b/shapes/polygon/package.json index 8b6bff3e634..be9b312d4d0 100644 --- a/shapes/polygon/package.json +++ b/shapes/polygon/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/shape-polygon", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles polygon shape", "homepage": "https://particles.js.org", "scripts": { @@ -67,7 +67,7 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/engine": "workspace:4.0.0-beta.0" + "@tsparticles/engine": "workspace:4.0.0-beta.1" }, "publishConfig": { "access": "public", diff --git a/shapes/rounded-polygon/CHANGELOG.md b/shapes/rounded-polygon/CHANGELOG.md index e82a2697f88..59294c96c00 100644 --- a/shapes/rounded-polygon/CHANGELOG.md +++ b/shapes/rounded-polygon/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/shape-rounded-polygon + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/shape-rounded-polygon diff --git a/shapes/rounded-polygon/package.dist.json b/shapes/rounded-polygon/package.dist.json index e5ce46f681b..2dde0b04d7b 100644 --- a/shapes/rounded-polygon/package.dist.json +++ b/shapes/rounded-polygon/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/shape-rounded-polygon", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles rounded polygon shape", "homepage": "https://particles.js.org", "repository": { @@ -59,7 +59,7 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/engine": "4.0.0-beta.0" + "@tsparticles/engine": "4.0.0-beta.1" }, "publishConfig": { "access": "public" diff --git a/shapes/rounded-polygon/package.json b/shapes/rounded-polygon/package.json index aa9b4827721..0373df6430a 100644 --- a/shapes/rounded-polygon/package.json +++ b/shapes/rounded-polygon/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/shape-rounded-polygon", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles rounded polygon shape", "homepage": "https://particles.js.org", "scripts": { @@ -67,7 +67,7 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/engine": "workspace:4.0.0-beta.0" + "@tsparticles/engine": "workspace:4.0.0-beta.1" }, "publishConfig": { "access": "public", diff --git a/shapes/rounded-rect/CHANGELOG.md b/shapes/rounded-rect/CHANGELOG.md index 9c60f1f2387..819e2275757 100644 --- a/shapes/rounded-rect/CHANGELOG.md +++ b/shapes/rounded-rect/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/shape-rounded-rect + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/shape-rounded-rect diff --git a/shapes/rounded-rect/package.dist.json b/shapes/rounded-rect/package.dist.json index 4fd0af126ab..38ea3fc865d 100644 --- a/shapes/rounded-rect/package.dist.json +++ b/shapes/rounded-rect/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/shape-rounded-rect", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles rounded rect shape", "homepage": "https://particles.js.org", "repository": { @@ -100,7 +100,7 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/engine": "4.0.0-beta.0" + "@tsparticles/engine": "4.0.0-beta.1" }, "publishConfig": { "access": "public" diff --git a/shapes/rounded-rect/package.json b/shapes/rounded-rect/package.json index 3e6e9babe3a..0e14f20f054 100644 --- a/shapes/rounded-rect/package.json +++ b/shapes/rounded-rect/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/shape-rounded-rect", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles rounded rect shape", "homepage": "https://particles.js.org", "scripts": { @@ -108,7 +108,7 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/engine": "workspace:4.0.0-beta.0" + "@tsparticles/engine": "workspace:4.0.0-beta.1" }, "publishConfig": { "access": "public", diff --git a/shapes/spiral/CHANGELOG.md b/shapes/spiral/CHANGELOG.md index 7b6ddb61305..994887dd614 100644 --- a/shapes/spiral/CHANGELOG.md +++ b/shapes/spiral/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/shape-spiral + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/shape-spiral diff --git a/shapes/spiral/package.dist.json b/shapes/spiral/package.dist.json index 7d5fc6f339f..4b8801485ae 100644 --- a/shapes/spiral/package.dist.json +++ b/shapes/spiral/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/shape-spiral", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles spiral shape", "homepage": "https://particles.js.org", "repository": { @@ -100,7 +100,7 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/engine": "4.0.0-beta.0" + "@tsparticles/engine": "4.0.0-beta.1" }, "publishConfig": { "access": "public" diff --git a/shapes/spiral/package.json b/shapes/spiral/package.json index 5629387e1ab..94a950517a2 100644 --- a/shapes/spiral/package.json +++ b/shapes/spiral/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/shape-spiral", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles spiral shape", "homepage": "https://particles.js.org", "scripts": { @@ -108,7 +108,7 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/engine": "workspace:4.0.0-beta.0" + "@tsparticles/engine": "workspace:4.0.0-beta.1" }, "publishConfig": { "access": "public", diff --git a/shapes/square/CHANGELOG.md b/shapes/square/CHANGELOG.md index 010d6b2a488..7734d96b27a 100644 --- a/shapes/square/CHANGELOG.md +++ b/shapes/square/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/shape-square + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/shape-square diff --git a/shapes/square/package.dist.json b/shapes/square/package.dist.json index 752da447128..e5e969b1edb 100644 --- a/shapes/square/package.dist.json +++ b/shapes/square/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/shape-square", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles square shape", "homepage": "https://particles.js.org", "repository": { @@ -59,7 +59,7 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/engine": "4.0.0-beta.0" + "@tsparticles/engine": "4.0.0-beta.1" }, "publishConfig": { "access": "public" diff --git a/shapes/square/package.json b/shapes/square/package.json index 196cde13b61..8f27f953fe6 100644 --- a/shapes/square/package.json +++ b/shapes/square/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/shape-square", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles square shape", "homepage": "https://particles.js.org", "scripts": { @@ -72,7 +72,7 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/engine": "workspace:4.0.0-beta.0" + "@tsparticles/engine": "workspace:4.0.0-beta.1" }, "type": "module" } diff --git a/shapes/squircle/CHANGELOG.md b/shapes/squircle/CHANGELOG.md index b06147d36fa..dda966636c4 100644 --- a/shapes/squircle/CHANGELOG.md +++ b/shapes/squircle/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/shape-squircle + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/shape-squircle diff --git a/shapes/squircle/package.dist.json b/shapes/squircle/package.dist.json index bff95dc8227..6e28c77e540 100644 --- a/shapes/squircle/package.dist.json +++ b/shapes/squircle/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/shape-squircle", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles squircle shape", "homepage": "https://particles.js.org", "repository": { @@ -100,7 +100,7 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/engine": "4.0.0-beta.0" + "@tsparticles/engine": "4.0.0-beta.1" }, "publishConfig": { "access": "public" diff --git a/shapes/squircle/package.json b/shapes/squircle/package.json index d326471f4d1..64a9d359287 100644 --- a/shapes/squircle/package.json +++ b/shapes/squircle/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/shape-squircle", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles squircle shape", "homepage": "https://particles.js.org", "scripts": { @@ -108,7 +108,7 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/engine": "workspace:4.0.0-beta.0" + "@tsparticles/engine": "workspace:4.0.0-beta.1" }, "publishConfig": { "access": "public", diff --git a/shapes/star/CHANGELOG.md b/shapes/star/CHANGELOG.md index 13fc910710b..efd1cb3e27c 100644 --- a/shapes/star/CHANGELOG.md +++ b/shapes/star/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/shape-star + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/shape-star diff --git a/shapes/star/package.dist.json b/shapes/star/package.dist.json index 5f3720c32d0..fdd6de87a3e 100644 --- a/shapes/star/package.dist.json +++ b/shapes/star/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/shape-star", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles star shape", "homepage": "https://particles.js.org", "repository": { @@ -59,7 +59,7 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/engine": "4.0.0-beta.0" + "@tsparticles/engine": "4.0.0-beta.1" }, "publishConfig": { "access": "public" diff --git a/shapes/star/package.json b/shapes/star/package.json index ed97a731ac0..f2eadb0e063 100644 --- a/shapes/star/package.json +++ b/shapes/star/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/shape-star", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles star shape", "homepage": "https://particles.js.org", "scripts": { @@ -67,7 +67,7 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/engine": "workspace:4.0.0-beta.0" + "@tsparticles/engine": "workspace:4.0.0-beta.1" }, "publishConfig": { "access": "public", diff --git a/shapes/text/CHANGELOG.md b/shapes/text/CHANGELOG.md index 7725f087ed0..4588d6aa3e2 100644 --- a/shapes/text/CHANGELOG.md +++ b/shapes/text/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/shape-text + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/shape-text diff --git a/shapes/text/package.dist.json b/shapes/text/package.dist.json index 9839b0b3e18..ab4da25b91e 100644 --- a/shapes/text/package.dist.json +++ b/shapes/text/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/shape-text", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles text shape", "homepage": "https://particles.js.org", "repository": { @@ -59,8 +59,8 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/canvas-utils": "4.0.0-beta.0", - "@tsparticles/engine": "4.0.0-beta.0" + "@tsparticles/canvas-utils": "4.0.0-beta.1", + "@tsparticles/engine": "4.0.0-beta.1" }, "publishConfig": { "access": "public" diff --git a/shapes/text/package.json b/shapes/text/package.json index 3df917beb0e..4e4d6808377 100644 --- a/shapes/text/package.json +++ b/shapes/text/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/shape-text", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles text shape", "homepage": "https://particles.js.org", "scripts": { @@ -67,8 +67,8 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/canvas-utils": "workspace:4.0.0-beta.0", - "@tsparticles/engine": "workspace:4.0.0-beta.0" + "@tsparticles/canvas-utils": "workspace:4.0.0-beta.1", + "@tsparticles/engine": "workspace:4.0.0-beta.1" }, "publishConfig": { "access": "public", diff --git a/updaters/destroy/CHANGELOG.md b/updaters/destroy/CHANGELOG.md index de5d52fe043..33137465ace 100644 --- a/updaters/destroy/CHANGELOG.md +++ b/updaters/destroy/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/updater-destroy + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/updater-destroy diff --git a/updaters/destroy/package.dist.json b/updaters/destroy/package.dist.json index 0de20f9cf4f..b9053c5675e 100644 --- a/updaters/destroy/package.dist.json +++ b/updaters/destroy/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/updater-destroy", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles particles destroy updater", "homepage": "https://particles.js.org", "repository": { @@ -87,7 +87,7 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/engine": "4.0.0-beta.0" + "@tsparticles/engine": "4.0.0-beta.1" }, "publishConfig": { "access": "public" diff --git a/updaters/destroy/package.json b/updaters/destroy/package.json index 1ac0c1a6c2b..0770af35e9e 100644 --- a/updaters/destroy/package.json +++ b/updaters/destroy/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/updater-destroy", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles particles destroy updater", "homepage": "https://particles.js.org", "scripts": { @@ -95,7 +95,7 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/engine": "workspace:4.0.0-beta.0" + "@tsparticles/engine": "workspace:4.0.0-beta.1" }, "publishConfig": { "access": "public", diff --git a/updaters/fillColor/CHANGELOG.md b/updaters/fillColor/CHANGELOG.md index 16a67801449..53ad445ae87 100644 --- a/updaters/fillColor/CHANGELOG.md +++ b/updaters/fillColor/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/updater-fill-color + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/updater-fill-color diff --git a/updaters/fillColor/package.dist.json b/updaters/fillColor/package.dist.json index 12aaab5d244..6fe1cccb581 100644 --- a/updaters/fillColor/package.dist.json +++ b/updaters/fillColor/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/updater-fill-color", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles particles fill color updater", "homepage": "https://particles.js.org", "repository": { @@ -87,7 +87,7 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/engine": "4.0.0-beta.0" + "@tsparticles/engine": "4.0.0-beta.1" }, "publishConfig": { "access": "public" diff --git a/updaters/fillColor/package.json b/updaters/fillColor/package.json index 609ceb07520..58e8eaaddc9 100644 --- a/updaters/fillColor/package.json +++ b/updaters/fillColor/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/updater-fill-color", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles particles fill color updater", "homepage": "https://particles.js.org", "scripts": { @@ -97,7 +97,7 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/engine": "workspace:4.0.0-beta.0" + "@tsparticles/engine": "workspace:4.0.0-beta.1" }, "type": "module" } diff --git a/updaters/gradient/CHANGELOG.md b/updaters/gradient/CHANGELOG.md index 39b3895ed04..f31ae63fdc7 100644 --- a/updaters/gradient/CHANGELOG.md +++ b/updaters/gradient/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/updater-gradient + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/updater-gradient diff --git a/updaters/gradient/package.dist.json b/updaters/gradient/package.dist.json index 66e48c77e2d..fe7bcae157c 100644 --- a/updaters/gradient/package.dist.json +++ b/updaters/gradient/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/updater-gradient", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles particles gradient updater", "homepage": "https://particles.js.org", "repository": { @@ -101,7 +101,7 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/engine": "4.0.0-beta.0" + "@tsparticles/engine": "4.0.0-beta.1" }, "publishConfig": { "access": "public" diff --git a/updaters/gradient/package.json b/updaters/gradient/package.json index aef5644ef3b..4ce245453a7 100644 --- a/updaters/gradient/package.json +++ b/updaters/gradient/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/updater-gradient", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles particles gradient updater", "homepage": "https://particles.js.org", "scripts": { @@ -109,7 +109,7 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/engine": "workspace:4.0.0-beta.0" + "@tsparticles/engine": "workspace:4.0.0-beta.1" }, "publishConfig": { "access": "public", diff --git a/updaters/life/CHANGELOG.md b/updaters/life/CHANGELOG.md index 5307e2d3cdc..2d4d9e584c6 100644 --- a/updaters/life/CHANGELOG.md +++ b/updaters/life/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/updater-life + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/updater-life diff --git a/updaters/life/package.dist.json b/updaters/life/package.dist.json index 78558bdeb92..fb8418cf0fb 100644 --- a/updaters/life/package.dist.json +++ b/updaters/life/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/updater-life", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles particles life updater", "homepage": "https://particles.js.org", "repository": { @@ -87,7 +87,7 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/engine": "4.0.0-beta.0" + "@tsparticles/engine": "4.0.0-beta.1" }, "publishConfig": { "access": "public" diff --git a/updaters/life/package.json b/updaters/life/package.json index 247a37e902a..413aaa2f20d 100644 --- a/updaters/life/package.json +++ b/updaters/life/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/updater-life", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles particles life updater", "homepage": "https://particles.js.org", "scripts": { @@ -95,7 +95,7 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/engine": "workspace:4.0.0-beta.0" + "@tsparticles/engine": "workspace:4.0.0-beta.1" }, "publishConfig": { "access": "public", diff --git a/updaters/opacity/CHANGELOG.md b/updaters/opacity/CHANGELOG.md index 32dd4145a26..1c958cb9f24 100644 --- a/updaters/opacity/CHANGELOG.md +++ b/updaters/opacity/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/updater-opacity + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/updater-opacity diff --git a/updaters/opacity/package.dist.json b/updaters/opacity/package.dist.json index 810a661b190..5dc796825f2 100644 --- a/updaters/opacity/package.dist.json +++ b/updaters/opacity/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/updater-opacity", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles particles opacity updater", "homepage": "https://particles.js.org", "repository": { @@ -87,7 +87,7 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/engine": "4.0.0-beta.0" + "@tsparticles/engine": "4.0.0-beta.1" }, "publishConfig": { "access": "public" diff --git a/updaters/opacity/package.json b/updaters/opacity/package.json index d6f6078574d..ce2cb016664 100644 --- a/updaters/opacity/package.json +++ b/updaters/opacity/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/updater-opacity", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles particles opacity updater", "homepage": "https://particles.js.org", "scripts": { @@ -92,7 +92,7 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/engine": "workspace:4.0.0-beta.0" + "@tsparticles/engine": "workspace:4.0.0-beta.1" }, "publishConfig": { "access": "public", diff --git a/updaters/orbit/CHANGELOG.md b/updaters/orbit/CHANGELOG.md index 1b84d1f5df9..6aa49602226 100644 --- a/updaters/orbit/CHANGELOG.md +++ b/updaters/orbit/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/updater-orbit + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/updater-orbit diff --git a/updaters/orbit/package.dist.json b/updaters/orbit/package.dist.json index 9716ec99189..ac8b1a43a44 100644 --- a/updaters/orbit/package.dist.json +++ b/updaters/orbit/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/updater-orbit", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles particles orbit updater", "homepage": "https://particles.js.org", "repository": { @@ -101,7 +101,7 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/engine": "4.0.0-beta.0" + "@tsparticles/engine": "4.0.0-beta.1" }, "publishConfig": { "access": "public" diff --git a/updaters/orbit/package.json b/updaters/orbit/package.json index ec9d3f7fe76..68679dce205 100644 --- a/updaters/orbit/package.json +++ b/updaters/orbit/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/updater-orbit", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles particles orbit updater", "homepage": "https://particles.js.org", "scripts": { @@ -109,7 +109,7 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/engine": "workspace:4.0.0-beta.0" + "@tsparticles/engine": "workspace:4.0.0-beta.1" }, "publishConfig": { "access": "public", diff --git a/updaters/outModes/CHANGELOG.md b/updaters/outModes/CHANGELOG.md index 96f52e1f457..3d3f004a070 100644 --- a/updaters/outModes/CHANGELOG.md +++ b/updaters/outModes/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/updater-out-modes + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/updater-out-modes diff --git a/updaters/outModes/package.dist.json b/updaters/outModes/package.dist.json index aed6f9b0b5a..4ca176ee58e 100644 --- a/updaters/outModes/package.dist.json +++ b/updaters/outModes/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/updater-out-modes", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles particles out modes updater", "homepage": "https://particles.js.org", "repository": { @@ -87,7 +87,7 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/engine": "4.0.0-beta.0" + "@tsparticles/engine": "4.0.0-beta.1" }, "publishConfig": { "access": "public" diff --git a/updaters/outModes/package.json b/updaters/outModes/package.json index dd0115802bd..31699cc6333 100644 --- a/updaters/outModes/package.json +++ b/updaters/outModes/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/updater-out-modes", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles particles out modes updater", "homepage": "https://particles.js.org", "scripts": { @@ -92,7 +92,7 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/engine": "workspace:4.0.0-beta.0" + "@tsparticles/engine": "workspace:4.0.0-beta.1" }, "publishConfig": { "access": "public", diff --git a/updaters/roll/CHANGELOG.md b/updaters/roll/CHANGELOG.md index 112470cb14d..8114898b238 100644 --- a/updaters/roll/CHANGELOG.md +++ b/updaters/roll/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/updater-roll + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/updater-roll diff --git a/updaters/roll/package.dist.json b/updaters/roll/package.dist.json index 9ba28b011c1..bd00935e764 100644 --- a/updaters/roll/package.dist.json +++ b/updaters/roll/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/updater-roll", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles particles roll updater", "homepage": "https://particles.js.org", "repository": { @@ -87,7 +87,7 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/engine": "4.0.0-beta.0" + "@tsparticles/engine": "4.0.0-beta.1" }, "publishConfig": { "access": "public" diff --git a/updaters/roll/package.json b/updaters/roll/package.json index adff8e7c0cf..b2f92b62a10 100644 --- a/updaters/roll/package.json +++ b/updaters/roll/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/updater-roll", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles particles roll updater", "homepage": "https://particles.js.org", "scripts": { @@ -95,7 +95,7 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/engine": "workspace:4.0.0-beta.0" + "@tsparticles/engine": "workspace:4.0.0-beta.1" }, "publishConfig": { "access": "public", diff --git a/updaters/rotate/CHANGELOG.md b/updaters/rotate/CHANGELOG.md index 5b75dd3852c..d24643a8f68 100644 --- a/updaters/rotate/CHANGELOG.md +++ b/updaters/rotate/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/updater-rotate + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/updater-rotate diff --git a/updaters/rotate/package.dist.json b/updaters/rotate/package.dist.json index ba3808de7f1..5b3bf2f861c 100644 --- a/updaters/rotate/package.dist.json +++ b/updaters/rotate/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/updater-rotate", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles particles rotate updater", "homepage": "https://particles.js.org", "repository": { @@ -87,7 +87,7 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/engine": "4.0.0-beta.0" + "@tsparticles/engine": "4.0.0-beta.1" }, "publishConfig": { "access": "public" diff --git a/updaters/rotate/package.json b/updaters/rotate/package.json index 8bfb330e38b..5b893acb2ac 100644 --- a/updaters/rotate/package.json +++ b/updaters/rotate/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/updater-rotate", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles particles rotate updater", "homepage": "https://particles.js.org", "scripts": { @@ -95,7 +95,7 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/engine": "workspace:4.0.0-beta.0" + "@tsparticles/engine": "workspace:4.0.0-beta.1" }, "publishConfig": { "access": "public", diff --git a/updaters/size/CHANGELOG.md b/updaters/size/CHANGELOG.md index 66ab6d530bd..aaa7f30aa5c 100644 --- a/updaters/size/CHANGELOG.md +++ b/updaters/size/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/updater-size + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/updater-size diff --git a/updaters/size/package.dist.json b/updaters/size/package.dist.json index 66f0db26249..d16dbbacaa4 100644 --- a/updaters/size/package.dist.json +++ b/updaters/size/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/updater-size", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles particles size updater", "homepage": "https://particles.js.org", "repository": { @@ -87,7 +87,7 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/engine": "4.0.0-beta.0" + "@tsparticles/engine": "4.0.0-beta.1" }, "publishConfig": { "access": "public" diff --git a/updaters/size/package.json b/updaters/size/package.json index 7f547ffece8..a420e5ca7dc 100644 --- a/updaters/size/package.json +++ b/updaters/size/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/updater-size", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles particles size updater", "homepage": "https://particles.js.org", "scripts": { @@ -92,7 +92,7 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/engine": "workspace:4.0.0-beta.0" + "@tsparticles/engine": "workspace:4.0.0-beta.1" }, "publishConfig": { "access": "public", diff --git a/updaters/strokeColor/CHANGELOG.md b/updaters/strokeColor/CHANGELOG.md index d5d0182d6de..5ed4bd3c51a 100644 --- a/updaters/strokeColor/CHANGELOG.md +++ b/updaters/strokeColor/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/updater-stroke-color + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/updater-stroke-color diff --git a/updaters/strokeColor/package.dist.json b/updaters/strokeColor/package.dist.json index b72aac092ec..84b85ae9102 100644 --- a/updaters/strokeColor/package.dist.json +++ b/updaters/strokeColor/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/updater-stroke-color", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles particles stroke color updater", "homepage": "https://particles.js.org", "repository": { @@ -87,7 +87,7 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/engine": "4.0.0-beta.0" + "@tsparticles/engine": "4.0.0-beta.1" }, "publishConfig": { "access": "public" diff --git a/updaters/strokeColor/package.json b/updaters/strokeColor/package.json index 9db39c7cf27..3d54cefebb1 100644 --- a/updaters/strokeColor/package.json +++ b/updaters/strokeColor/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/updater-stroke-color", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles particles stroke color updater", "homepage": "https://particles.js.org", "scripts": { @@ -95,7 +95,7 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/engine": "workspace:4.0.0-beta.0" + "@tsparticles/engine": "workspace:4.0.0-beta.1" }, "publishConfig": { "access": "public", diff --git a/updaters/tilt/CHANGELOG.md b/updaters/tilt/CHANGELOG.md index fdc6cb6145a..2901e40482b 100644 --- a/updaters/tilt/CHANGELOG.md +++ b/updaters/tilt/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/updater-tilt + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/updater-tilt diff --git a/updaters/tilt/package.dist.json b/updaters/tilt/package.dist.json index 7ebb99104b1..e8813fed03c 100644 --- a/updaters/tilt/package.dist.json +++ b/updaters/tilt/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/updater-tilt", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles particles tilt updater", "homepage": "https://particles.js.org", "repository": { @@ -87,7 +87,7 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/engine": "4.0.0-beta.0" + "@tsparticles/engine": "4.0.0-beta.1" }, "publishConfig": { "access": "public" diff --git a/updaters/tilt/package.json b/updaters/tilt/package.json index 04f1299eb41..f7637e63932 100644 --- a/updaters/tilt/package.json +++ b/updaters/tilt/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/updater-tilt", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles particles tilt updater", "homepage": "https://particles.js.org", "scripts": { @@ -95,7 +95,7 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/engine": "workspace:4.0.0-beta.0" + "@tsparticles/engine": "workspace:4.0.0-beta.1" }, "publishConfig": { "access": "public", diff --git a/updaters/twinkle/CHANGELOG.md b/updaters/twinkle/CHANGELOG.md index 95e9f6788d9..ccf9469b1dc 100644 --- a/updaters/twinkle/CHANGELOG.md +++ b/updaters/twinkle/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/updater-twinkle + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/updater-twinkle diff --git a/updaters/twinkle/package.dist.json b/updaters/twinkle/package.dist.json index 7506099a442..84d4ca2ffd8 100644 --- a/updaters/twinkle/package.dist.json +++ b/updaters/twinkle/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/updater-twinkle", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles particles twinkle updater", "homepage": "https://particles.js.org", "repository": { @@ -87,7 +87,7 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/engine": "4.0.0-beta.0" + "@tsparticles/engine": "4.0.0-beta.1" }, "publishConfig": { "access": "public" diff --git a/updaters/twinkle/package.json b/updaters/twinkle/package.json index fb335cecd46..0ed2d4154e0 100644 --- a/updaters/twinkle/package.json +++ b/updaters/twinkle/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/updater-twinkle", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles particles twinkle updater", "homepage": "https://particles.js.org", "scripts": { @@ -95,7 +95,7 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/engine": "workspace:4.0.0-beta.0" + "@tsparticles/engine": "workspace:4.0.0-beta.1" }, "publishConfig": { "access": "public", diff --git a/updaters/wobble/CHANGELOG.md b/updaters/wobble/CHANGELOG.md index a494db534c7..a06ff13c213 100644 --- a/updaters/wobble/CHANGELOG.md +++ b/updaters/wobble/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/updater-wobble + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/updater-wobble diff --git a/updaters/wobble/package.dist.json b/updaters/wobble/package.dist.json index 3724b9bdb67..4822bedc9b5 100644 --- a/updaters/wobble/package.dist.json +++ b/updaters/wobble/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/updater-wobble", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles particles wobble updater", "homepage": "https://particles.js.org", "repository": { @@ -87,7 +87,7 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/engine": "4.0.0-beta.0" + "@tsparticles/engine": "4.0.0-beta.1" }, "publishConfig": { "access": "public" diff --git a/updaters/wobble/package.json b/updaters/wobble/package.json index b2155d153a2..d210717163d 100644 --- a/updaters/wobble/package.json +++ b/updaters/wobble/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/updater-wobble", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles particles wobble updater", "homepage": "https://particles.js.org", "scripts": { @@ -95,7 +95,7 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/engine": "workspace:4.0.0-beta.0" + "@tsparticles/engine": "workspace:4.0.0-beta.1" }, "publishConfig": { "access": "public", diff --git a/utils/canvasUtils/CHANGELOG.md b/utils/canvasUtils/CHANGELOG.md index fa7efd490de..33d60063c7d 100644 --- a/utils/canvasUtils/CHANGELOG.md +++ b/utils/canvasUtils/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/canvas-utils + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/canvas-utils diff --git a/utils/canvasUtils/package.dist.json b/utils/canvasUtils/package.dist.json index 947679bb182..7dd52631ba2 100644 --- a/utils/canvasUtils/package.dist.json +++ b/utils/canvasUtils/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/canvas-utils", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles canvas utils library", "homepage": "https://particles.js.org", "repository": { @@ -103,7 +103,7 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/engine": "4.0.0-beta.0" + "@tsparticles/engine": "4.0.0-beta.1" }, "type": "module" } diff --git a/utils/canvasUtils/package.json b/utils/canvasUtils/package.json index c0fe3f969c6..b16d9ee731d 100644 --- a/utils/canvasUtils/package.json +++ b/utils/canvasUtils/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/canvas-utils", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles canvas utils path", "homepage": "https://particles.js.org", "scripts": { @@ -108,7 +108,7 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/engine": "workspace:4.0.0-beta.0" + "@tsparticles/engine": "workspace:4.0.0-beta.1" }, "publishConfig": { "access": "public", diff --git a/utils/configs/CHANGELOG.md b/utils/configs/CHANGELOG.md index aeebed1e2be..4f5a48af48b 100644 --- a/utils/configs/CHANGELOG.md +++ b/utils/configs/CHANGELOG.md @@ -3,6 +3,12 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +### Features + +- added cannon external interaction ([e133ab3](https://github.com/tsparticles/tsparticles/commit/e133ab35835b6411c0da1b151b046a36bcfd9ee1)) + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) ### Features diff --git a/utils/configs/package.dist.json b/utils/configs/package.dist.json index 08c31e456f3..aa5335597cb 100644 --- a/utils/configs/package.dist.json +++ b/utils/configs/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/configs", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles demo configurations", "homepage": "https://particles.js.org", "repository": { @@ -99,7 +99,7 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/engine": "4.0.0-beta.0" + "@tsparticles/engine": "4.0.0-beta.1" }, "publishConfig": { "access": "public" diff --git a/utils/configs/package.json b/utils/configs/package.json index 9b6f562f555..5e95bde0553 100644 --- a/utils/configs/package.json +++ b/utils/configs/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/configs", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "homepage": "https://particles.js.org", "scripts": { "build": "tsparticles-cli build", @@ -106,7 +106,7 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/engine": "workspace:4.0.0-beta.0" + "@tsparticles/engine": "workspace:4.0.0-beta.1" }, "publishConfig": { "access": "public", diff --git a/utils/fractalNoise/CHANGELOG.md b/utils/fractalNoise/CHANGELOG.md index f030692e93a..bb8088ddc15 100644 --- a/utils/fractalNoise/CHANGELOG.md +++ b/utils/fractalNoise/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/fractal-noise + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/fractal-noise diff --git a/utils/fractalNoise/package.dist.json b/utils/fractalNoise/package.dist.json index ff314157499..a22c1e17e80 100644 --- a/utils/fractalNoise/package.dist.json +++ b/utils/fractalNoise/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/fractal-noise", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles fractal noise library", "homepage": "https://particles.js.org", "repository": { @@ -92,7 +92,7 @@ "module": "esm/index.js", "types": "types/index.d.ts", "dependencies": { - "@tsparticles/smooth-value-noise": "4.0.0-beta.0" + "@tsparticles/smooth-value-noise": "4.0.0-beta.1" }, "exports": { ".": { diff --git a/utils/fractalNoise/package.json b/utils/fractalNoise/package.json index d59bc95932f..e4d41208be2 100644 --- a/utils/fractalNoise/package.json +++ b/utils/fractalNoise/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/fractal-noise", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles fractal noise path", "homepage": "https://particles.js.org", "scripts": { @@ -108,7 +108,7 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/smooth-value-noise": "workspace:4.0.0-beta.0" + "@tsparticles/smooth-value-noise": "workspace:4.0.0-beta.1" }, "publishConfig": { "access": "public", diff --git a/utils/noiseField/CHANGELOG.md b/utils/noiseField/CHANGELOG.md index 5e5bab8317e..6eb0fa0d73b 100644 --- a/utils/noiseField/CHANGELOG.md +++ b/utils/noiseField/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/noise-field + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/noise-field diff --git a/utils/noiseField/package.dist.json b/utils/noiseField/package.dist.json index 67d02f4634b..4eb6e89d2b6 100644 --- a/utils/noiseField/package.dist.json +++ b/utils/noiseField/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/noise-field", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles noise field library", "homepage": "https://particles.js.org", "repository": { @@ -92,8 +92,8 @@ "module": "esm/index.js", "types": "types/index.d.ts", "dependencies": { - "@tsparticles/engine": "4.0.0-beta.0", - "@tsparticles/plugin-move": "4.0.0-beta.0" + "@tsparticles/engine": "4.0.0-beta.1", + "@tsparticles/plugin-move": "4.0.0-beta.1" }, "exports": { ".": { diff --git a/utils/noiseField/package.json b/utils/noiseField/package.json index 668a830cc66..80bea069ddb 100644 --- a/utils/noiseField/package.json +++ b/utils/noiseField/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/noise-field", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles noise field library", "homepage": "https://particles.js.org", "scripts": { @@ -108,8 +108,8 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/engine": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-move": "workspace:4.0.0-beta.0" + "@tsparticles/engine": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-move": "workspace:4.0.0-beta.1" }, "publishConfig": { "access": "public", diff --git a/utils/pathUtils/CHANGELOG.md b/utils/pathUtils/CHANGELOG.md index af3593dca6b..38d03a43b62 100644 --- a/utils/pathUtils/CHANGELOG.md +++ b/utils/pathUtils/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/path-utils + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/path-utils diff --git a/utils/pathUtils/package.dist.json b/utils/pathUtils/package.dist.json index 813c88caebd..9032f48b123 100644 --- a/utils/pathUtils/package.dist.json +++ b/utils/pathUtils/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/path-utils", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles path utils library", "homepage": "https://particles.js.org", "repository": { @@ -103,7 +103,7 @@ "./package.json": "./package.json" }, "dependencies": { - "@tsparticles/engine": "4.0.0-beta.0" + "@tsparticles/engine": "4.0.0-beta.1" }, "type": "module" } diff --git a/utils/pathUtils/package.json b/utils/pathUtils/package.json index cf62ece0bd0..ec77663a46b 100644 --- a/utils/pathUtils/package.json +++ b/utils/pathUtils/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/path-utils", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles path utils path", "homepage": "https://particles.js.org", "scripts": { @@ -108,7 +108,7 @@ "./package.json": "./dist/package.json" }, "dependencies": { - "@tsparticles/engine": "workspace:4.0.0-beta.0" + "@tsparticles/engine": "workspace:4.0.0-beta.1" }, "publishConfig": { "access": "public", diff --git a/utils/perlinNoise/CHANGELOG.md b/utils/perlinNoise/CHANGELOG.md index 5443ff433ba..b131ab47f7b 100644 --- a/utils/perlinNoise/CHANGELOG.md +++ b/utils/perlinNoise/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/perlin-noise + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/perlin-noise diff --git a/utils/perlinNoise/package.dist.json b/utils/perlinNoise/package.dist.json index 056870412ae..4c8504d6613 100644 --- a/utils/perlinNoise/package.dist.json +++ b/utils/perlinNoise/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/perlin-noise", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles perlin noise library", "homepage": "https://particles.js.org", "repository": { diff --git a/utils/perlinNoise/package.json b/utils/perlinNoise/package.json index 1a686072106..6c935468c5c 100644 --- a/utils/perlinNoise/package.json +++ b/utils/perlinNoise/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/perlin-noise", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles perlin noise path", "homepage": "https://particles.js.org", "scripts": { diff --git a/utils/simplexNoise/CHANGELOG.md b/utils/simplexNoise/CHANGELOG.md index b9a8e1e8fd5..c35544bd893 100644 --- a/utils/simplexNoise/CHANGELOG.md +++ b/utils/simplexNoise/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/simplex-noise + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/simplex-noise diff --git a/utils/simplexNoise/package.dist.json b/utils/simplexNoise/package.dist.json index 993ac20e9ac..767f6a9a2cf 100644 --- a/utils/simplexNoise/package.dist.json +++ b/utils/simplexNoise/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/simplex-noise", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles simplex noise library", "homepage": "https://particles.js.org", "repository": { diff --git a/utils/simplexNoise/package.json b/utils/simplexNoise/package.json index 5c4352a3981..a7e4b56583d 100644 --- a/utils/simplexNoise/package.json +++ b/utils/simplexNoise/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/simplex-noise", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles simplex noise library", "homepage": "https://particles.js.org", "scripts": { diff --git a/utils/smoothValueNoise/CHANGELOG.md b/utils/smoothValueNoise/CHANGELOG.md index fb192bb3b2d..0e761712853 100644 --- a/utils/smoothValueNoise/CHANGELOG.md +++ b/utils/smoothValueNoise/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/smooth-value-noise + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/smooth-value-noise diff --git a/utils/smoothValueNoise/package.dist.json b/utils/smoothValueNoise/package.dist.json index c79d48fd141..ae1e9a78895 100644 --- a/utils/smoothValueNoise/package.dist.json +++ b/utils/smoothValueNoise/package.dist.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/smooth-value-noise", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles smooth value noise library", "homepage": "https://particles.js.org", "repository": { diff --git a/utils/smoothValueNoise/package.json b/utils/smoothValueNoise/package.json index 0641b6e1ead..f3927b2bb37 100644 --- a/utils/smoothValueNoise/package.json +++ b/utils/smoothValueNoise/package.json @@ -1,6 +1,6 @@ { "name": "@tsparticles/smooth-value-noise", - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "description": "tsParticles smooth value noise path", "homepage": "https://particles.js.org", "scripts": { diff --git a/utils/tests/CHANGELOG.md b/utils/tests/CHANGELOG.md index 99c683f9e82..6aa0c524198 100644 --- a/utils/tests/CHANGELOG.md +++ b/utils/tests/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0-beta.1](https://github.com/tsparticles/tsparticles/compare/v4.0.0-beta.0...v4.0.0-beta.1) (2026-03-31) + +**Note:** Version bump only for package @tsparticles/tests + # [4.0.0-beta.0](https://github.com/tsparticles/tsparticles/compare/v4.0.0-alpha.28...v4.0.0-beta.0) (2026-03-19) **Note:** Version bump only for package @tsparticles/tests diff --git a/utils/tests/package.json b/utils/tests/package.json index f237cc8aaf2..6465055ae34 100644 --- a/utils/tests/package.json +++ b/utils/tests/package.json @@ -1,7 +1,7 @@ { "name": "@tsparticles/tests", "private": true, - "version": "4.0.0-beta.0", + "version": "4.0.0-beta.1", "scripts": { "prettify:ci": "prettier --check ./src", "prettify": "prettier --write ./src", @@ -16,11 +16,11 @@ "test:ci": "NODE_ENV=test vitest run --maxConcurrency=2" }, "dependencies": { - "@tsparticles/engine": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-hex-color": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-hsl-color": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-hsv-color": "workspace:4.0.0-beta.0", - "@tsparticles/plugin-rgb-color": "workspace:4.0.0-beta.0" + "@tsparticles/engine": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-hex-color": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-hsl-color": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-hsv-color": "workspace:4.0.0-beta.1", + "@tsparticles/plugin-rgb-color": "workspace:4.0.0-beta.1" }, "type": "module" }