diff --git a/README.md b/README.md index 1317102..e548acb 100644 --- a/README.md +++ b/README.md @@ -24,6 +24,30 @@ The `name` must match the entry-point key declared in `pyproject.toml`: } ``` +## Configuration + +Everything under `config` is passed straight to the frontend component, so the popup is +tuned from the database without rebuilding the plugin. All keys are optional: + +| Key | Type | Default | Meaning | +| --- | --- | --- | --- | +| `messages` | `{ : string }` | built-in English text | Popup text per language code, picked with the site's active language and falling back to `en`. May contain HTML (e.g. a link). | +| `closeLabels` | `{ : string }` | `{ "en": "Close", "pl": "Zamknij" }` | Accessible name of the close button, per language. | +| `dismissMinutes` | number | `15` | How long the popup stays hidden after the user closes it. A page reload also brings it back. | + +```json +{ + "name": "nothingshere", + "config": { + "messages": { + "en": "No points here yet. Add one?", + "pl": "Brak punktów tym miejscu." + }, + "dismissMinutes": 30 + } +} +``` + ## Development This is a goodmap frontend plugin: the backend class subclasses a goodmap capability diff --git a/frontend/package-lock.json b/frontend/package-lock.json index d5ef88b..8b4265e 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -12,13 +12,13 @@ "@babel/preset-env": "^8.0.2", "@babel/preset-react": "^8.0.1", "babel-loader": "^10.1.1", - "react": "^19.2.8", + "react": "^18.3.1", "react-dom": "^18.3.1", "webpack": "^5.108.3", "webpack-cli": "^7.1.0" }, "peerDependencies": { - "react": "^19.2.8", + "react": "^18.2.0", "react-dom": "^18.2.0" } }, @@ -126,345 +126,20 @@ "node": "^22.18.0 || >=24.11.0" } }, - "node_modules/@babel/helper-define-polyfill-provider": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-1.0.0.tgz", - "integrity": "sha512-9jzVaTeZyXRDKTgUnNzcPQMO8y0ga3o+Z4fKjNet9Fcx7slgKa83qRbz0EwROSd6qO6CoEe/HQszqSPKb5lhkw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-compilation-targets": "^8.0.0", - "@babel/helper-plugin-utils": "^8.0.0", - "lodash.debounce": "^4.0.8" - }, - "engines": { - "node": "^20.19.0 || >=22.12.0" - }, - "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0" - } - }, - "node_modules/@babel/helper-define-polyfill-provider/node_modules/@babel/helper-plugin-utils": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-8.0.1.tgz", - "integrity": "sha512-3PKFgjTyPlhFhorfP+SjKQxLViIL++zWjFOO4hGriYU+Bsm983DxEM1JmDRJVWXV0O9npu+xXRqz7Pbd3mh70g==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^22.18.0 || >=24.11.0" - }, - "peerDependencies": { - "@babel/core": "^8.0.0" - } - }, - "node_modules/@babel/helper-globals": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-8.0.0.tgz", - "integrity": "sha512-lLozHOM6sWWlxNo8CYqHy4MBZeTvHXNgVPBfPOGsjPKUzHC2Az9QwB6gxdQmpwHl6GlQtbGgS+lj5887guDiLw==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^22.18.0 || >=24.11.0" - } - }, - "node_modules/@babel/helper-member-expression-to-functions": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-8.0.0.tgz", - "integrity": "sha512-xkXrMbtk87Gk7+oKBVmBc6EORg/Qwx++AHESldmHkpvG8wgccdhJJFwrzqlF382Fk8wfXhJHWE/g/43QvEGNPQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/traverse": "^8.0.0", - "@babel/types": "^8.0.0" - }, - "engines": { - "node": "^22.18.0 || >=24.11.0" - } - }, - "node_modules/@babel/helper-optimise-call-expression": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-8.0.0.tgz", - "integrity": "sha512-3W6satvtPuCUkUx63S2jMoW9EQNYkADgs1HTfufmL7gCmAulHMKupA/12WNz4A0GMMFn/YnWWwqOT9IZrJHQjg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^8.0.0" - }, - "engines": { - "node": "^22.18.0 || >=24.11.0" - } - }, - "node_modules/@babel/helper-skip-transparent-expression-wrappers": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-8.0.0.tgz", - "integrity": "sha512-xmCA9kP3IhySsqhzwIdWGlDN/1A4cCKNBO/uwZx/3YzmDoMePwno2Q5/Bq0q+tYaKbeF940YiKV/kaW8Mzvpjw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/traverse": "^8.0.0", - "@babel/types": "^8.0.0" - }, - "engines": { - "node": "^22.18.0 || >=24.11.0" - } - }, - "node_modules/@babel/helper-string-parser": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-8.0.0.tgz", - "integrity": "sha512-6mJgmFFFIIO82vvoLt9XtRC7/TkzXfts1t/SpRX4IHSzMgqoPYCWesVu1udUPUWioAE/2fcG6WuI8zrkE1gwrg==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^22.18.0 || >=24.11.0" - } - }, - "node_modules/@babel/helper-validator-identifier": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-8.0.2.tgz", - "integrity": "sha512-9Fr9QeyCAyi1BR1jKZ6uYQ24EIhQUx5ReHfQU7drOE+TPOb+w11/dsqLkMOT2U29OdCT71XajrOT8xDc1C7orA==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^22.18.0 || >=24.11.0" - } - }, - "node_modules/@babel/helper-validator-option": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-8.0.0.tgz", - "integrity": "sha512-U4Dybxh4WESWHt5XhBeExi4DrY0/DNK1aHpQbsrQXCUbFHuMweT0TpLEWKvaraV2Y6fS+ZXunsZ8zIuZIgvF2Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^22.18.0 || >=24.11.0" - } - }, - "node_modules/@babel/helper-wrap-function": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-8.0.0.tgz", - "integrity": "sha512-Qpm8+wi5xfDkBfollanwriCcKniFfBmMmaKB01GVM6VGzKXo1fdxosZp04qEr5HM+LKhwr3hG1yRy8+ORsficA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/template": "^8.0.0", - "@babel/traverse": "^8.0.0", - "@babel/types": "^8.0.0" - }, - "engines": { - "node": "^22.18.0 || >=24.11.0" - } - }, - "node_modules/@babel/helpers": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-8.0.0.tgz", - "integrity": "sha512-wfbi91pM3py96oIiJEz7qIpyXDytgr9zQC1HEWwlGNVRAEmItuU/0a41ZUKu1sJGyhhOIpc4t5vk4PYzt8wpsg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/template": "^8.0.0", - "@babel/types": "^8.0.0" - }, - "engines": { - "node": "^22.18.0 || >=24.11.0" - } - }, - "node_modules/@babel/parser": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-8.0.0.tgz", - "integrity": "sha512-aLxAE+imI9bCcyaPrUDjBv3uSkWieifjLe0kuFOZF0zli0L6GCsTmsePnTr55adbIAgYz2zhN1vnFimCBUYcRQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^8.0.0" - }, - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": "^22.18.0 || >=24.11.0" - } - }, - "node_modules/@babel/preset-env": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-8.0.2.tgz", - "integrity": "sha512-CUGLn9hNBCF/eXnwdFAWERbniCcXCRvnKwLV9fegeUEIqv7YlU2MepsWMMM54GcILx5XYMnRh+JAL+K5G+mK6g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/compat-data": "^8.0.0", - "@babel/helper-compilation-targets": "^8.0.0", - "@babel/helper-plugin-utils": "^8.0.1", - "@babel/helper-validator-option": "^8.0.0", - "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^8.0.1", - "@babel/plugin-bugfix-safari-class-field-initializer-scope": "^8.0.1", - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^8.0.1", - "@babel/plugin-bugfix-safari-rest-destructuring-rhs-array": "^8.0.1", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^8.0.1", - "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^8.0.1", - "@babel/plugin-transform-arrow-functions": "^8.0.1", - "@babel/plugin-transform-async-generator-functions": "^8.0.1", - "@babel/plugin-transform-async-to-generator": "^8.0.1", - "@babel/plugin-transform-block-scoped-functions": "^8.0.1", - "@babel/plugin-transform-block-scoping": "^8.0.1", - "@babel/plugin-transform-class-properties": "^8.0.1", - "@babel/plugin-transform-class-static-block": "^8.0.1", - "@babel/plugin-transform-classes": "^8.0.1", - "@babel/plugin-transform-computed-properties": "^8.0.1", - "@babel/plugin-transform-destructuring": "^8.0.1", - "@babel/plugin-transform-dotall-regex": "^8.0.1", - "@babel/plugin-transform-duplicate-keys": "^8.0.1", - "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^8.0.1", - "@babel/plugin-transform-dynamic-import": "^8.0.1", - "@babel/plugin-transform-explicit-resource-management": "^8.0.1", - "@babel/plugin-transform-exponentiation-operator": "^8.0.1", - "@babel/plugin-transform-export-namespace-from": "^8.0.1", - "@babel/plugin-transform-for-of": "^8.0.1", - "@babel/plugin-transform-function-name": "^8.0.1", - "@babel/plugin-transform-json-strings": "^8.0.1", - "@babel/plugin-transform-literals": "^8.0.1", - "@babel/plugin-transform-logical-assignment-operators": "^8.0.1", - "@babel/plugin-transform-member-expression-literals": "^8.0.1", - "@babel/plugin-transform-modules-amd": "^8.0.1", - "@babel/plugin-transform-modules-commonjs": "^8.0.1", - "@babel/plugin-transform-modules-systemjs": "^8.0.1", - "@babel/plugin-transform-modules-umd": "^8.0.1", - "@babel/plugin-transform-named-capturing-groups-regex": "^8.0.1", - "@babel/plugin-transform-new-target": "^8.0.1", - "@babel/plugin-transform-nullish-coalescing-operator": "^8.0.1", - "@babel/plugin-transform-numeric-separator": "^8.0.1", - "@babel/plugin-transform-object-rest-spread": "^8.0.1", - "@babel/plugin-transform-object-super": "^8.0.1", - "@babel/plugin-transform-optional-catch-binding": "^8.0.1", - "@babel/plugin-transform-optional-chaining": "^8.0.1", - "@babel/plugin-transform-parameters": "^8.0.1", - "@babel/plugin-transform-private-methods": "^8.0.1", - "@babel/plugin-transform-private-property-in-object": "^8.0.1", - "@babel/plugin-transform-property-literals": "^8.0.1", - "@babel/plugin-transform-regenerator": "^8.0.2", - "@babel/plugin-transform-regexp-modifiers": "^8.0.1", - "@babel/plugin-transform-reserved-words": "^8.0.1", - "@babel/plugin-transform-shorthand-properties": "^8.0.1", - "@babel/plugin-transform-spread": "^8.0.1", - "@babel/plugin-transform-sticky-regex": "^8.0.1", - "@babel/plugin-transform-template-literals": "^8.0.1", - "@babel/plugin-transform-typeof-symbol": "^8.0.1", - "@babel/plugin-transform-unicode-escapes": "^8.0.1", - "@babel/plugin-transform-unicode-property-regex": "^8.0.1", - "@babel/plugin-transform-unicode-regex": "^8.0.1", - "@babel/plugin-transform-unicode-sets-regex": "^8.0.1", - "@babel/preset-modules": "^0.2.0", - "babel-plugin-polyfill-corejs3": "^1.0.0", - "core-js-compat": "^3.48.0", - "semver": "^7.7.3" - }, - "engines": { - "node": "^22.18.0 || >=24.11.0" - }, - "peerDependencies": { - "@babel/core": "^8.0.0" - } - }, - "node_modules/@babel/preset-env/node_modules/@babel/helper-module-imports": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-8.0.0.tgz", - "integrity": "sha512-NZ7mSS93o4ndX4KrbD7W8Sf3QT8Qe24PrnFyUcuOPDzK6faqDFKjY9RG7he7+I7FdiQ4llpnosFqzrXa+Vy3Ew==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/traverse": "^8.0.0", - "@babel/types": "^8.0.0" - }, - "engines": { - "node": "^22.18.0 || >=24.11.0" - } - }, - "node_modules/@babel/preset-env/node_modules/@babel/helper-plugin-utils": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-8.0.1.tgz", - "integrity": "sha512-3PKFgjTyPlhFhorfP+SjKQxLViIL++zWjFOO4hGriYU+Bsm983DxEM1JmDRJVWXV0O9npu+xXRqz7Pbd3mh70g==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^22.18.0 || >=24.11.0" - }, - "peerDependencies": { - "@babel/core": "^8.0.0" - } - }, - "node_modules/@babel/preset-env/node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-8.0.1.tgz", - "integrity": "sha512-Ytgjjne4RnG3Oig7ik+NfY4ebRY30BPptVkkyu1f72eINJXRM3/bkU++tIc5aPvyLmo4KH20avq0xJ2o+9aEnw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^8.0.1" - }, - "engines": { - "node": "^22.18.0 || >=24.11.0" - }, - "peerDependencies": { - "@babel/core": "^8.0.0" - } - }, - "node_modules/@babel/preset-env/node_modules/@babel/plugin-bugfix-safari-class-field-initializer-scope": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-8.0.1.tgz", - "integrity": "sha512-X7pAMBhuKluA7UfwZNvKN0XVVu/AGeo84Z75eJl85rcb8J2aBzLK92btahM1X5h0oi0QIrbe0qIMA/0+4Buk7w==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^8.0.1" - }, - "engines": { - "node": "^22.18.0 || >=24.11.0" - }, - "peerDependencies": { - "@babel/core": "^8.0.0" - } - }, - "node_modules/@babel/preset-env/node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-8.0.1.tgz", - "integrity": "sha512-DJviKTxYfH0hFwnMiW4dnPyMGzS3Hrr4zUfXl1zwQ0QiGlGlNYklLoPSYEQr8S7nau0/K7NdQjTh0qbYuyFjCA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^8.0.1" - }, - "engines": { - "node": "^22.18.0 || >=24.11.0" - }, - "peerDependencies": { - "@babel/core": "^8.0.0" - } - }, - "node_modules/@babel/preset-env/node_modules/@babel/plugin-bugfix-safari-rest-destructuring-rhs-array": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-rest-destructuring-rhs-array/-/plugin-bugfix-safari-rest-destructuring-rhs-array-8.0.1.tgz", - "integrity": "sha512-DmR/N+B9+4PbURFj4+zdnWj49/PFAnK2bn8+E4ZAmwn3J5QCxnbG7Ep6aRfz9M8Aw+rBro0kIJQycvzFpl4buQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^8.0.1", - "@babel/helper-skip-transparent-expression-wrappers": "^8.0.0" - }, - "engines": { - "node": "^22.18.0 || >=24.11.0" - }, - "peerDependencies": { - "@babel/core": "^8.0.0" - } - }, - "node_modules/@babel/preset-env/node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "node_modules/@babel/helper-create-class-features-plugin": { "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-8.0.1.tgz", - "integrity": "sha512-x8bi0LFVD2xkULjfNn+hCMg16yAFHAM9fS/ThSFeYBi+0MP9K6qcY2BZb4urUwC7PYtEy5wPe6TKjOEjXrCGFA==", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-8.0.1.tgz", + "integrity": "sha512-++t3ZktzlLmASAxIlxeXQK9Z2YwUafYGYcvGBFevqOqt16HozVHStUoQvWD09fzAZOb/uJGpUTBuGK41AJAuOA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^8.0.1", + "@babel/helper-annotate-as-pure": "^8.0.0", + "@babel/helper-member-expression-to-functions": "^8.0.0", + "@babel/helper-optimise-call-expression": "^8.0.0", + "@babel/helper-replace-supers": "^8.0.1", "@babel/helper-skip-transparent-expression-wrappers": "^8.0.0", - "@babel/plugin-transform-optional-chaining": "^8.0.1" + "@babel/traverse": "^8.0.0", + "semver": "^7.7.3" }, "engines": { "node": "^22.18.0 || >=24.11.0" @@ -473,14 +148,16 @@ "@babel/core": "^8.0.0" } }, - "node_modules/@babel/preset-env/node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { + "node_modules/@babel/helper-create-regexp-features-plugin": { "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-8.0.1.tgz", - "integrity": "sha512-P8+RN2n7ts2s1vnE+lXdHYf+dhnmcGSen/kWzBsVluT9Sey5AqmcRXYWlHqgQxaNlKTD5YMa1tf5z4d1v8W88w==", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-8.0.1.tgz", + "integrity": "sha512-PydTbcVTiIfVweHMeY1u3MslaD/ZzvnaTNhJp+7ghofelLWshF66Ckc/ZsjStfvRQIKQ4uVG0yEJucyDtyrWgw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^8.0.1" + "@babel/helper-annotate-as-pure": "^8.0.0", + "regexpu-core": "^6.3.1", + "semver": "^7.7.3" }, "engines": { "node": "^22.18.0 || >=24.11.0" @@ -489,85 +166,71 @@ "@babel/core": "^8.0.0" } }, - "node_modules/@babel/preset-env/node_modules/@babel/plugin-transform-arrow-functions": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-8.0.1.tgz", - "integrity": "sha512-o/gr7kRlq3PKLLuYth4udOsrC7geBerti+QtwPeyxMOsEQO1d8kDHqk9r2PtMx2y9i8FG7tzyTerfv1yMLSMsQ==", + "node_modules/@babel/helper-define-polyfill-provider": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-1.0.0.tgz", + "integrity": "sha512-9jzVaTeZyXRDKTgUnNzcPQMO8y0ga3o+Z4fKjNet9Fcx7slgKa83qRbz0EwROSd6qO6CoEe/HQszqSPKb5lhkw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^8.0.1" + "@babel/helper-compilation-targets": "^8.0.0", + "@babel/helper-plugin-utils": "^8.0.0", + "lodash.debounce": "^4.0.8" }, "engines": { - "node": "^22.18.0 || >=24.11.0" + "node": "^20.19.0 || >=22.12.0" }, "peerDependencies": { - "@babel/core": "^8.0.0" + "@babel/core": "^7.4.0 || ^8.0.0" } }, - "node_modules/@babel/preset-env/node_modules/@babel/plugin-transform-async-generator-functions": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-8.0.1.tgz", - "integrity": "sha512-kqnSMF1YHBzuiQrl68675i5Ma1oljvo+SJsNEZFZVBu5BUrVIZm9KId3ui2PdtLK2sv2zM8sJnjPDfgLxQlEqQ==", + "node_modules/@babel/helper-globals": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-8.0.0.tgz", + "integrity": "sha512-lLozHOM6sWWlxNo8CYqHy4MBZeTvHXNgVPBfPOGsjPKUzHC2Az9QwB6gxdQmpwHl6GlQtbGgS+lj5887guDiLw==", "dev": true, "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^8.0.1", - "@babel/helper-remap-async-to-generator": "^8.0.1", - "@babel/traverse": "^8.0.0" - }, "engines": { "node": "^22.18.0 || >=24.11.0" - }, - "peerDependencies": { - "@babel/core": "^8.0.0" } }, - "node_modules/@babel/preset-env/node_modules/@babel/plugin-transform-async-generator-functions/node_modules/@babel/helper-remap-async-to-generator": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-8.0.1.tgz", - "integrity": "sha512-baAKuLEMmu6BCSY3tuiU7qglM1qOZt6F1SrFScA241oNqksxkxfEZEKztlGRmoVns9AQ5UgArH7RsUEjxWnzgQ==", + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-8.0.0.tgz", + "integrity": "sha512-xkXrMbtk87Gk7+oKBVmBc6EORg/Qwx++AHESldmHkpvG8wgccdhJJFwrzqlF382Fk8wfXhJHWE/g/43QvEGNPQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^8.0.0", - "@babel/helper-wrap-function": "^8.0.0", - "@babel/traverse": "^8.0.0" + "@babel/traverse": "^8.0.0", + "@babel/types": "^8.0.0" }, "engines": { "node": "^22.18.0 || >=24.11.0" - }, - "peerDependencies": { - "@babel/core": "^8.0.0" } }, - "node_modules/@babel/preset-env/node_modules/@babel/plugin-transform-async-to-generator": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-8.0.1.tgz", - "integrity": "sha512-e1jmmEU4p2Lx64sA1+EF8e8/RxPuegzbXcEbmFp5alDyLE+f2ViUpZ77bRWMXzihTwgVVmn/TOpqDbAuS5g1Ew==", + "node_modules/@babel/helper-module-imports": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-8.0.0.tgz", + "integrity": "sha512-NZ7mSS93o4ndX4KrbD7W8Sf3QT8Qe24PrnFyUcuOPDzK6faqDFKjY9RG7he7+I7FdiQ4llpnosFqzrXa+Vy3Ew==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-module-imports": "^8.0.0", - "@babel/helper-plugin-utils": "^8.0.1", - "@babel/helper-remap-async-to-generator": "^8.0.1" + "@babel/traverse": "^8.0.0", + "@babel/types": "^8.0.0" }, "engines": { "node": "^22.18.0 || >=24.11.0" - }, - "peerDependencies": { - "@babel/core": "^8.0.0" } }, - "node_modules/@babel/preset-env/node_modules/@babel/plugin-transform-async-to-generator/node_modules/@babel/helper-remap-async-to-generator": { + "node_modules/@babel/helper-module-transforms": { "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-8.0.1.tgz", - "integrity": "sha512-baAKuLEMmu6BCSY3tuiU7qglM1qOZt6F1SrFScA241oNqksxkxfEZEKztlGRmoVns9AQ5UgArH7RsUEjxWnzgQ==", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-8.0.1.tgz", + "integrity": "sha512-UgAhl1kqiW5ciE0yCXqqvnb4H2n3IELJ7lIIQRezwDPilPEZX5i+Rvbja9MFTkwUn2biEiSMeV31aUzR4Lwakw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^8.0.0", - "@babel/helper-wrap-function": "^8.0.0", + "@babel/helper-module-imports": "^8.0.0", + "@babel/helper-validator-identifier": "^8.0.0", "@babel/traverse": "^8.0.0" }, "engines": { @@ -577,48 +240,25 @@ "@babel/core": "^8.0.0" } }, - "node_modules/@babel/preset-env/node_modules/@babel/plugin-transform-block-scoped-functions": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-8.0.1.tgz", - "integrity": "sha512-0V97/gcf7LIgPieEiK1YT0eXa18XJFSLOTZjzEZhA9SJIqZhD/IwGUrCitBzXSmnGCP7hchwC6svHtJ/Eidcpg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^8.0.1" - }, - "engines": { - "node": "^22.18.0 || >=24.11.0" - }, - "peerDependencies": { - "@babel/core": "^8.0.0" - } - }, - "node_modules/@babel/preset-env/node_modules/@babel/plugin-transform-block-scoping": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-8.0.1.tgz", - "integrity": "sha512-HxiQvKsSCs2jOmMhjDrooHaZYOy6W8bqwXp/zjdgPjsNrda6tK9/CH3a/cVIeg6ge3hSS02ALqvqgIo4rTsuSg==", + "node_modules/@babel/helper-optimise-call-expression": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-8.0.0.tgz", + "integrity": "sha512-3W6satvtPuCUkUx63S2jMoW9EQNYkADgs1HTfufmL7gCmAulHMKupA/12WNz4A0GMMFn/YnWWwqOT9IZrJHQjg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^8.0.1" + "@babel/types": "^8.0.0" }, "engines": { "node": "^22.18.0 || >=24.11.0" - }, - "peerDependencies": { - "@babel/core": "^8.0.0" } }, - "node_modules/@babel/preset-env/node_modules/@babel/plugin-transform-class-properties": { + "node_modules/@babel/helper-plugin-utils": { "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-8.0.1.tgz", - "integrity": "sha512-tORnYiVhIHnKj90TgbSZXrO24f9oEpA6MgFxpIDSKKlHv7AzBIRhkMlYevanueLNYaQXqZWarfCgXM4bWTfNiw==", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-8.0.1.tgz", + "integrity": "sha512-3PKFgjTyPlhFhorfP+SjKQxLViIL++zWjFOO4hGriYU+Bsm983DxEM1JmDRJVWXV0O9npu+xXRqz7Pbd3mh70g==", "dev": true, "license": "MIT", - "dependencies": { - "@babel/helper-create-class-features-plugin": "^8.0.1", - "@babel/helper-plugin-utils": "^8.0.1" - }, "engines": { "node": "^22.18.0 || >=24.11.0" }, @@ -626,20 +266,16 @@ "@babel/core": "^8.0.0" } }, - "node_modules/@babel/preset-env/node_modules/@babel/plugin-transform-class-properties/node_modules/@babel/helper-create-class-features-plugin": { + "node_modules/@babel/helper-remap-async-to-generator": { "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-8.0.1.tgz", - "integrity": "sha512-++t3ZktzlLmASAxIlxeXQK9Z2YwUafYGYcvGBFevqOqt16HozVHStUoQvWD09fzAZOb/uJGpUTBuGK41AJAuOA==", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-8.0.1.tgz", + "integrity": "sha512-baAKuLEMmu6BCSY3tuiU7qglM1qOZt6F1SrFScA241oNqksxkxfEZEKztlGRmoVns9AQ5UgArH7RsUEjxWnzgQ==", "dev": true, "license": "MIT", "dependencies": { "@babel/helper-annotate-as-pure": "^8.0.0", - "@babel/helper-member-expression-to-functions": "^8.0.0", - "@babel/helper-optimise-call-expression": "^8.0.0", - "@babel/helper-replace-supers": "^8.0.1", - "@babel/helper-skip-transparent-expression-wrappers": "^8.0.0", - "@babel/traverse": "^8.0.0", - "semver": "^7.7.3" + "@babel/helper-wrap-function": "^8.0.0", + "@babel/traverse": "^8.0.0" }, "engines": { "node": "^22.18.0 || >=24.11.0" @@ -648,7 +284,7 @@ "@babel/core": "^8.0.0" } }, - "node_modules/@babel/preset-env/node_modules/@babel/plugin-transform-class-properties/node_modules/@babel/helper-create-class-features-plugin/node_modules/@babel/helper-replace-supers": { + "node_modules/@babel/helper-replace-supers": { "version": "8.0.1", "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-8.0.1.tgz", "integrity": "sha512-B1SZADIcy3tmH8CmWvj4SHi/oAPom4UL3uknTc2QRNsPVLFk/sPnZvQL/8kj7Y5omvjMqie0vklvs6XM4OLW5Q==", @@ -666,142 +302,102 @@ "@babel/core": "^8.0.0" } }, - "node_modules/@babel/preset-env/node_modules/@babel/plugin-transform-class-static-block": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-8.0.1.tgz", - "integrity": "sha512-NEVK+L0Le8h8tJ+IK0CGS5y9Yi1ZHxLj6M5PeanhMFuq9aSo0XI+Wtmbuyop6fTNukOm7ORNntf/kwid891vqQ==", + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-8.0.0.tgz", + "integrity": "sha512-xmCA9kP3IhySsqhzwIdWGlDN/1A4cCKNBO/uwZx/3YzmDoMePwno2Q5/Bq0q+tYaKbeF940YiKV/kaW8Mzvpjw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-create-class-features-plugin": "^8.0.1", - "@babel/helper-plugin-utils": "^8.0.1" + "@babel/traverse": "^8.0.0", + "@babel/types": "^8.0.0" }, "engines": { "node": "^22.18.0 || >=24.11.0" - }, - "peerDependencies": { - "@babel/core": "^8.0.0" } }, - "node_modules/@babel/preset-env/node_modules/@babel/plugin-transform-class-static-block/node_modules/@babel/helper-create-class-features-plugin": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-8.0.1.tgz", - "integrity": "sha512-++t3ZktzlLmASAxIlxeXQK9Z2YwUafYGYcvGBFevqOqt16HozVHStUoQvWD09fzAZOb/uJGpUTBuGK41AJAuOA==", + "node_modules/@babel/helper-string-parser": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-8.0.0.tgz", + "integrity": "sha512-6mJgmFFFIIO82vvoLt9XtRC7/TkzXfts1t/SpRX4IHSzMgqoPYCWesVu1udUPUWioAE/2fcG6WuI8zrkE1gwrg==", "dev": true, "license": "MIT", - "dependencies": { - "@babel/helper-annotate-as-pure": "^8.0.0", - "@babel/helper-member-expression-to-functions": "^8.0.0", - "@babel/helper-optimise-call-expression": "^8.0.0", - "@babel/helper-replace-supers": "^8.0.1", - "@babel/helper-skip-transparent-expression-wrappers": "^8.0.0", - "@babel/traverse": "^8.0.0", - "semver": "^7.7.3" - }, "engines": { "node": "^22.18.0 || >=24.11.0" - }, - "peerDependencies": { - "@babel/core": "^8.0.0" } }, - "node_modules/@babel/preset-env/node_modules/@babel/plugin-transform-class-static-block/node_modules/@babel/helper-create-class-features-plugin/node_modules/@babel/helper-replace-supers": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-8.0.1.tgz", - "integrity": "sha512-B1SZADIcy3tmH8CmWvj4SHi/oAPom4UL3uknTc2QRNsPVLFk/sPnZvQL/8kj7Y5omvjMqie0vklvs6XM4OLW5Q==", + "node_modules/@babel/helper-validator-identifier": { + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-8.0.4.tgz", + "integrity": "sha512-4wFaiLd0bVo4cIoTXI3zKI038NIWE/cr3jvBjejOVYVxV/m8Ltav1USiGzG1fmS5J2RhgEOgXNNK46cRPnRsrg==", "dev": true, "license": "MIT", - "dependencies": { - "@babel/helper-member-expression-to-functions": "^8.0.0", - "@babel/helper-optimise-call-expression": "^8.0.0", - "@babel/traverse": "^8.0.0" - }, "engines": { "node": "^22.18.0 || >=24.11.0" - }, - "peerDependencies": { - "@babel/core": "^8.0.0" } }, - "node_modules/@babel/preset-env/node_modules/@babel/plugin-transform-classes": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-8.0.1.tgz", - "integrity": "sha512-phwyCES8kIMAdVOFw25ztmgAvkl2G+TvUv7azUYyrlR1Qoo3eLJC/MU3MGUKFZ4BWtsJ1NTJM1lKRLzKbswg7w==", + "node_modules/@babel/helper-validator-option": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-8.0.0.tgz", + "integrity": "sha512-U4Dybxh4WESWHt5XhBeExi4DrY0/DNK1aHpQbsrQXCUbFHuMweT0TpLEWKvaraV2Y6fS+ZXunsZ8zIuZIgvF2Q==", "dev": true, "license": "MIT", - "dependencies": { - "@babel/helper-annotate-as-pure": "^8.0.0", - "@babel/helper-compilation-targets": "^8.0.0", - "@babel/helper-globals": "^8.0.0", - "@babel/helper-plugin-utils": "^8.0.1", - "@babel/helper-replace-supers": "^8.0.1", - "@babel/traverse": "^8.0.0" - }, "engines": { "node": "^22.18.0 || >=24.11.0" - }, - "peerDependencies": { - "@babel/core": "^8.0.0" } }, - "node_modules/@babel/preset-env/node_modules/@babel/plugin-transform-classes/node_modules/@babel/helper-replace-supers": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-8.0.1.tgz", - "integrity": "sha512-B1SZADIcy3tmH8CmWvj4SHi/oAPom4UL3uknTc2QRNsPVLFk/sPnZvQL/8kj7Y5omvjMqie0vklvs6XM4OLW5Q==", + "node_modules/@babel/helper-wrap-function": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-8.0.0.tgz", + "integrity": "sha512-Qpm8+wi5xfDkBfollanwriCcKniFfBmMmaKB01GVM6VGzKXo1fdxosZp04qEr5HM+LKhwr3hG1yRy8+ORsficA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-member-expression-to-functions": "^8.0.0", - "@babel/helper-optimise-call-expression": "^8.0.0", - "@babel/traverse": "^8.0.0" + "@babel/template": "^8.0.0", + "@babel/traverse": "^8.0.0", + "@babel/types": "^8.0.0" }, "engines": { "node": "^22.18.0 || >=24.11.0" - }, - "peerDependencies": { - "@babel/core": "^8.0.0" } }, - "node_modules/@babel/preset-env/node_modules/@babel/plugin-transform-computed-properties": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-8.0.1.tgz", - "integrity": "sha512-i4l3OGLO8DUDcwdnyraOvILbhqdUf4QgfzhVxSOSzRy49XKXrY7pwaSg9gDSKmhZfNPrEMciBSJSciQh/CjB1A==", + "node_modules/@babel/helpers": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-8.0.0.tgz", + "integrity": "sha512-wfbi91pM3py96oIiJEz7qIpyXDytgr9zQC1HEWwlGNVRAEmItuU/0a41ZUKu1sJGyhhOIpc4t5vk4PYzt8wpsg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^8.0.1" + "@babel/template": "^8.0.0", + "@babel/types": "^8.0.0" }, "engines": { "node": "^22.18.0 || >=24.11.0" - }, - "peerDependencies": { - "@babel/core": "^8.0.0" } }, - "node_modules/@babel/preset-env/node_modules/@babel/plugin-transform-destructuring": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-8.0.1.tgz", - "integrity": "sha512-RtR8uLDl0QcCmqMNIkM8gmDeYZ3rS0ZH+sa+I6sfc09yFoqfp9AEPgBstq9KyfVb0lFCVSRFfJXCI70FIl5ccw==", + "node_modules/@babel/parser": { + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-8.0.4.tgz", + "integrity": "sha512-srpptsAkEbbNIC/q8nT7o+m6CQe8CJUTV/t7MYc9NnWlgYVtHOb7JH6SorxMhN0kuRJjVqXbKClG6xSbPtzz+g==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^8.0.1" + "@babel/types": "^8.0.4" + }, + "bin": { + "parser": "bin/babel-parser.js" }, "engines": { "node": "^22.18.0 || >=24.11.0" - }, - "peerDependencies": { - "@babel/core": "^8.0.0" } }, - "node_modules/@babel/preset-env/node_modules/@babel/plugin-transform-dotall-regex": { + "node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key": { "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-8.0.1.tgz", - "integrity": "sha512-czOUoSaZljJ92yu+bYlXqb/UBN8K9daNCob/B6/7nthSvfGP6YhCnfqD64XWfyb2dN4ypxALNplApoJrsMd4fw==", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-8.0.1.tgz", + "integrity": "sha512-Ytgjjne4RnG3Oig7ik+NfY4ebRY30BPptVkkyu1f72eINJXRM3/bkU++tIc5aPvyLmo4KH20avq0xJ2o+9aEnw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^8.0.1", "@babel/helper-plugin-utils": "^8.0.1" }, "engines": { @@ -811,16 +407,14 @@ "@babel/core": "^8.0.0" } }, - "node_modules/@babel/preset-env/node_modules/@babel/plugin-transform-dotall-regex/node_modules/@babel/helper-create-regexp-features-plugin": { + "node_modules/@babel/plugin-bugfix-safari-class-field-initializer-scope": { "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-8.0.1.tgz", - "integrity": "sha512-PydTbcVTiIfVweHMeY1u3MslaD/ZzvnaTNhJp+7ghofelLWshF66Ckc/ZsjStfvRQIKQ4uVG0yEJucyDtyrWgw==", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-8.0.1.tgz", + "integrity": "sha512-X7pAMBhuKluA7UfwZNvKN0XVVu/AGeo84Z75eJl85rcb8J2aBzLK92btahM1X5h0oi0QIrbe0qIMA/0+4Buk7w==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^8.0.0", - "regexpu-core": "^6.3.1", - "semver": "^7.7.3" + "@babel/helper-plugin-utils": "^8.0.1" }, "engines": { "node": "^22.18.0 || >=24.11.0" @@ -829,10 +423,10 @@ "@babel/core": "^8.0.0" } }, - "node_modules/@babel/preset-env/node_modules/@babel/plugin-transform-duplicate-keys": { + "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-8.0.1.tgz", - "integrity": "sha512-kNnVLkxFUEcTtCyB5PFVQ5Xoy88Bk1lU/ZgDu97CW8eNhRH2Wsiy8Sq5l5dFnwtIUYjzsXHU77jUy1W5AtGSIw==", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-8.0.1.tgz", + "integrity": "sha512-DJviKTxYfH0hFwnMiW4dnPyMGzS3Hrr4zUfXl1zwQ0QiGlGlNYklLoPSYEQr8S7nau0/K7NdQjTh0qbYuyFjCA==", "dev": true, "license": "MIT", "dependencies": { @@ -845,15 +439,15 @@ "@babel/core": "^8.0.0" } }, - "node_modules/@babel/preset-env/node_modules/@babel/plugin-transform-duplicate-named-capturing-groups-regex": { + "node_modules/@babel/plugin-bugfix-safari-rest-destructuring-rhs-array": { "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-8.0.1.tgz", - "integrity": "sha512-Tv43P47o6fuHgBL7HLHQg3WKXohW9CEUGjLtnCDW27yJLK0zKUdTTqREbZbycNHA83hewMjde5tF6ekrHu9bAA==", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-rest-destructuring-rhs-array/-/plugin-bugfix-safari-rest-destructuring-rhs-array-8.0.1.tgz", + "integrity": "sha512-DmR/N+B9+4PbURFj4+zdnWj49/PFAnK2bn8+E4ZAmwn3J5QCxnbG7Ep6aRfz9M8Aw+rBro0kIJQycvzFpl4buQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^8.0.1", - "@babel/helper-plugin-utils": "^8.0.1" + "@babel/helper-plugin-utils": "^8.0.1", + "@babel/helper-skip-transparent-expression-wrappers": "^8.0.0" }, "engines": { "node": "^22.18.0 || >=24.11.0" @@ -862,16 +456,16 @@ "@babel/core": "^8.0.0" } }, - "node_modules/@babel/preset-env/node_modules/@babel/plugin-transform-duplicate-named-capturing-groups-regex/node_modules/@babel/helper-create-regexp-features-plugin": { + "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-8.0.1.tgz", - "integrity": "sha512-PydTbcVTiIfVweHMeY1u3MslaD/ZzvnaTNhJp+7ghofelLWshF66Ckc/ZsjStfvRQIKQ4uVG0yEJucyDtyrWgw==", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-8.0.1.tgz", + "integrity": "sha512-x8bi0LFVD2xkULjfNn+hCMg16yAFHAM9fS/ThSFeYBi+0MP9K6qcY2BZb4urUwC7PYtEy5wPe6TKjOEjXrCGFA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^8.0.0", - "regexpu-core": "^6.3.1", - "semver": "^7.7.3" + "@babel/helper-plugin-utils": "^8.0.1", + "@babel/helper-skip-transparent-expression-wrappers": "^8.0.0", + "@babel/plugin-transform-optional-chaining": "^8.0.1" }, "engines": { "node": "^22.18.0 || >=24.11.0" @@ -880,10 +474,10 @@ "@babel/core": "^8.0.0" } }, - "node_modules/@babel/preset-env/node_modules/@babel/plugin-transform-dynamic-import": { + "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-8.0.1.tgz", - "integrity": "sha512-AS9GlgKc43tJNRu7yOvLaTko4qmdOb+8M69uNS8i421WLO20eVez7LdG5khKdi8E0LIQpYzzzdGIrdXWnO753g==", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-8.0.1.tgz", + "integrity": "sha512-P8+RN2n7ts2s1vnE+lXdHYf+dhnmcGSen/kWzBsVluT9Sey5AqmcRXYWlHqgQxaNlKTD5YMa1tf5z4d1v8W88w==", "dev": true, "license": "MIT", "dependencies": { @@ -896,15 +490,14 @@ "@babel/core": "^8.0.0" } }, - "node_modules/@babel/preset-env/node_modules/@babel/plugin-transform-explicit-resource-management": { + "node_modules/@babel/plugin-syntax-jsx": { "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-explicit-resource-management/-/plugin-transform-explicit-resource-management-8.0.1.tgz", - "integrity": "sha512-VzDIYwBlLCpV6mJfloRdJm8HmYnMqs7O+bGha8yfg2kP7jAdxeCw6yZBVBeaKKQUThtSU52iy+3lB7DhYsbOBA==", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-8.0.1.tgz", + "integrity": "sha512-n0jtCOxEovhU7METqSQjcZO9pX53nu9uNIjMS+hEt+Nt9jA7oOZoBIgbCxhhASmF6T6rPDGge5UAvh6Z4eFz/g==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^8.0.1", - "@babel/plugin-transform-destructuring": "^8.0.1" + "@babel/helper-plugin-utils": "^8.0.1" }, "engines": { "node": "^22.18.0 || >=24.11.0" @@ -913,10 +506,10 @@ "@babel/core": "^8.0.0" } }, - "node_modules/@babel/preset-env/node_modules/@babel/plugin-transform-exponentiation-operator": { + "node_modules/@babel/plugin-transform-arrow-functions": { "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-8.0.1.tgz", - "integrity": "sha512-DsZvUUklUmDQ7d2vp+VjqgUWD51mGxhZZ1FPdPP9Hcj0vsgGUKX+zEBGp/vzB1O5PZUxWT/Euq5fu39M9dm9wg==", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-8.0.1.tgz", + "integrity": "sha512-o/gr7kRlq3PKLLuYth4udOsrC7geBerti+QtwPeyxMOsEQO1d8kDHqk9r2PtMx2y9i8FG7tzyTerfv1yMLSMsQ==", "dev": true, "license": "MIT", "dependencies": { @@ -929,14 +522,16 @@ "@babel/core": "^8.0.0" } }, - "node_modules/@babel/preset-env/node_modules/@babel/plugin-transform-export-namespace-from": { + "node_modules/@babel/plugin-transform-async-generator-functions": { "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-8.0.1.tgz", - "integrity": "sha512-bFzznm46bvWGaTYKle3iolbBJ+oPBfUjwCPesxlFE3SQ7DaY9EHf/8Y5ZzrodKJi8JDdcAyaVWaDUSVyhULh0g==", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-8.0.1.tgz", + "integrity": "sha512-kqnSMF1YHBzuiQrl68675i5Ma1oljvo+SJsNEZFZVBu5BUrVIZm9KId3ui2PdtLK2sv2zM8sJnjPDfgLxQlEqQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^8.0.1" + "@babel/helper-plugin-utils": "^8.0.1", + "@babel/helper-remap-async-to-generator": "^8.0.1", + "@babel/traverse": "^8.0.0" }, "engines": { "node": "^22.18.0 || >=24.11.0" @@ -945,15 +540,16 @@ "@babel/core": "^8.0.0" } }, - "node_modules/@babel/preset-env/node_modules/@babel/plugin-transform-for-of": { + "node_modules/@babel/plugin-transform-async-to-generator": { "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-8.0.1.tgz", - "integrity": "sha512-rpeXtgELjpIBQH/+YmyFlD9timPEVCyqY+TNednzoeoTYvXSBEeUvYnYE+BK8rB8m6hHiNK7aL9QWKhGifEJCw==", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-8.0.1.tgz", + "integrity": "sha512-e1jmmEU4p2Lx64sA1+EF8e8/RxPuegzbXcEbmFp5alDyLE+f2ViUpZ77bRWMXzihTwgVVmn/TOpqDbAuS5g1Ew==", "dev": true, "license": "MIT", "dependencies": { + "@babel/helper-module-imports": "^8.0.0", "@babel/helper-plugin-utils": "^8.0.1", - "@babel/helper-skip-transparent-expression-wrappers": "^8.0.0" + "@babel/helper-remap-async-to-generator": "^8.0.1" }, "engines": { "node": "^22.18.0 || >=24.11.0" @@ -962,14 +558,13 @@ "@babel/core": "^8.0.0" } }, - "node_modules/@babel/preset-env/node_modules/@babel/plugin-transform-function-name": { + "node_modules/@babel/plugin-transform-block-scoped-functions": { "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-8.0.1.tgz", - "integrity": "sha512-H1L/JfPf3CqmubuaiZaquXKQ8MRs4YWSsgRllkTviM8TafcCNnlvc4/fJZ3rXP8HmFM+/Bg+TlsPehUI9BtDFA==", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-8.0.1.tgz", + "integrity": "sha512-0V97/gcf7LIgPieEiK1YT0eXa18XJFSLOTZjzEZhA9SJIqZhD/IwGUrCitBzXSmnGCP7hchwC6svHtJ/Eidcpg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-compilation-targets": "^8.0.0", "@babel/helper-plugin-utils": "^8.0.1" }, "engines": { @@ -979,10 +574,10 @@ "@babel/core": "^8.0.0" } }, - "node_modules/@babel/preset-env/node_modules/@babel/plugin-transform-json-strings": { + "node_modules/@babel/plugin-transform-block-scoping": { "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-8.0.1.tgz", - "integrity": "sha512-Mowp8X0J6p7ZehLU82B5e65te2uuSeDHyxrEROwEAS2VKXNXssfw5ZMqhY7k9iXTsOv1Xs/49G3lDCj9Vvw8qQ==", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-8.0.1.tgz", + "integrity": "sha512-HxiQvKsSCs2jOmMhjDrooHaZYOy6W8bqwXp/zjdgPjsNrda6tK9/CH3a/cVIeg6ge3hSS02ALqvqgIo4rTsuSg==", "dev": true, "license": "MIT", "dependencies": { @@ -995,13 +590,14 @@ "@babel/core": "^8.0.0" } }, - "node_modules/@babel/preset-env/node_modules/@babel/plugin-transform-literals": { + "node_modules/@babel/plugin-transform-class-properties": { "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-8.0.1.tgz", - "integrity": "sha512-ai7kfPRcfyUV1EszXoF1PvL3IuJoCuH08WSEPoRcJTWfZZ55VL/rcfvbVY16QLA3jjbzzSneQSoCtD3L6OyUjw==", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-8.0.1.tgz", + "integrity": "sha512-tORnYiVhIHnKj90TgbSZXrO24f9oEpA6MgFxpIDSKKlHv7AzBIRhkMlYevanueLNYaQXqZWarfCgXM4bWTfNiw==", "dev": true, "license": "MIT", "dependencies": { + "@babel/helper-create-class-features-plugin": "^8.0.1", "@babel/helper-plugin-utils": "^8.0.1" }, "engines": { @@ -1011,13 +607,14 @@ "@babel/core": "^8.0.0" } }, - "node_modules/@babel/preset-env/node_modules/@babel/plugin-transform-logical-assignment-operators": { + "node_modules/@babel/plugin-transform-class-static-block": { "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-8.0.1.tgz", - "integrity": "sha512-Emvtr5zkEGyCNAmt+qKD5EUh8G0RbxV9EZWrDdX0LuVy5tBq1B3fOIslvVF9aCJmpnwS/AvAT53b9LxAZyXlng==", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-8.0.1.tgz", + "integrity": "sha512-NEVK+L0Le8h8tJ+IK0CGS5y9Yi1ZHxLj6M5PeanhMFuq9aSo0XI+Wtmbuyop6fTNukOm7ORNntf/kwid891vqQ==", "dev": true, "license": "MIT", "dependencies": { + "@babel/helper-create-class-features-plugin": "^8.0.1", "@babel/helper-plugin-utils": "^8.0.1" }, "engines": { @@ -1027,14 +624,19 @@ "@babel/core": "^8.0.0" } }, - "node_modules/@babel/preset-env/node_modules/@babel/plugin-transform-member-expression-literals": { + "node_modules/@babel/plugin-transform-classes": { "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-8.0.1.tgz", - "integrity": "sha512-3Axi9abnyGsm/hh6DsKPZ1Cr9fTtKqS7w0Ig5g12mU269YclpH8pV3xMln2vPLexXgUp6S6L+I06d9/YOLfRKA==", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-8.0.1.tgz", + "integrity": "sha512-phwyCES8kIMAdVOFw25ztmgAvkl2G+TvUv7azUYyrlR1Qoo3eLJC/MU3MGUKFZ4BWtsJ1NTJM1lKRLzKbswg7w==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^8.0.1" + "@babel/helper-annotate-as-pure": "^8.0.0", + "@babel/helper-compilation-targets": "^8.0.0", + "@babel/helper-globals": "^8.0.0", + "@babel/helper-plugin-utils": "^8.0.1", + "@babel/helper-replace-supers": "^8.0.1", + "@babel/traverse": "^8.0.0" }, "engines": { "node": "^22.18.0 || >=24.11.0" @@ -1043,14 +645,13 @@ "@babel/core": "^8.0.0" } }, - "node_modules/@babel/preset-env/node_modules/@babel/plugin-transform-modules-amd": { + "node_modules/@babel/plugin-transform-computed-properties": { "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-8.0.1.tgz", - "integrity": "sha512-FDdhET8y1YFDNRuoynqSf23WTzbBBpbIB2oRrlFX7YYm9uWtFvJDSD1r/epBSjfPkOjeaaLgRW9xNnt3JGx46A==", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-8.0.1.tgz", + "integrity": "sha512-i4l3OGLO8DUDcwdnyraOvILbhqdUf4QgfzhVxSOSzRy49XKXrY7pwaSg9gDSKmhZfNPrEMciBSJSciQh/CjB1A==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-module-transforms": "^8.0.1", "@babel/helper-plugin-utils": "^8.0.1" }, "engines": { @@ -1060,16 +661,14 @@ "@babel/core": "^8.0.0" } }, - "node_modules/@babel/preset-env/node_modules/@babel/plugin-transform-modules-amd/node_modules/@babel/helper-module-transforms": { + "node_modules/@babel/plugin-transform-destructuring": { "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-8.0.1.tgz", - "integrity": "sha512-UgAhl1kqiW5ciE0yCXqqvnb4H2n3IELJ7lIIQRezwDPilPEZX5i+Rvbja9MFTkwUn2biEiSMeV31aUzR4Lwakw==", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-8.0.1.tgz", + "integrity": "sha512-RtR8uLDl0QcCmqMNIkM8gmDeYZ3rS0ZH+sa+I6sfc09yFoqfp9AEPgBstq9KyfVb0lFCVSRFfJXCI70FIl5ccw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-module-imports": "^8.0.0", - "@babel/helper-validator-identifier": "^8.0.0", - "@babel/traverse": "^8.0.0" + "@babel/helper-plugin-utils": "^8.0.1" }, "engines": { "node": "^22.18.0 || >=24.11.0" @@ -1078,14 +677,14 @@ "@babel/core": "^8.0.0" } }, - "node_modules/@babel/preset-env/node_modules/@babel/plugin-transform-modules-commonjs": { + "node_modules/@babel/plugin-transform-dotall-regex": { "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-8.0.1.tgz", - "integrity": "sha512-PMuzulWrrzFNmY3lXSk/tV9NRb7y0eZZLJY4UEo2TKszroxvUZHAPPi+T9FDyrQhod+TQA+t+8/QYaaMpiEuhA==", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-8.0.1.tgz", + "integrity": "sha512-czOUoSaZljJ92yu+bYlXqb/UBN8K9daNCob/B6/7nthSvfGP6YhCnfqD64XWfyb2dN4ypxALNplApoJrsMd4fw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-module-transforms": "^8.0.1", + "@babel/helper-create-regexp-features-plugin": "^8.0.1", "@babel/helper-plugin-utils": "^8.0.1" }, "engines": { @@ -1095,16 +694,14 @@ "@babel/core": "^8.0.0" } }, - "node_modules/@babel/preset-env/node_modules/@babel/plugin-transform-modules-commonjs/node_modules/@babel/helper-module-transforms": { + "node_modules/@babel/plugin-transform-duplicate-keys": { "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-8.0.1.tgz", - "integrity": "sha512-UgAhl1kqiW5ciE0yCXqqvnb4H2n3IELJ7lIIQRezwDPilPEZX5i+Rvbja9MFTkwUn2biEiSMeV31aUzR4Lwakw==", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-8.0.1.tgz", + "integrity": "sha512-kNnVLkxFUEcTtCyB5PFVQ5Xoy88Bk1lU/ZgDu97CW8eNhRH2Wsiy8Sq5l5dFnwtIUYjzsXHU77jUy1W5AtGSIw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-module-imports": "^8.0.0", - "@babel/helper-validator-identifier": "^8.0.0", - "@babel/traverse": "^8.0.0" + "@babel/helper-plugin-utils": "^8.0.1" }, "engines": { "node": "^22.18.0 || >=24.11.0" @@ -1113,16 +710,15 @@ "@babel/core": "^8.0.0" } }, - "node_modules/@babel/preset-env/node_modules/@babel/plugin-transform-modules-systemjs": { + "node_modules/@babel/plugin-transform-duplicate-named-capturing-groups-regex": { "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-8.0.1.tgz", - "integrity": "sha512-0NEHanXmnFEnfT2dLKTXnu7m8GXFsnxRgteBC2aH21hYMBwAgxu5dcTdi/Eg+ToI1HbZe0CHwz4XRLgRNQhYoQ==", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-8.0.1.tgz", + "integrity": "sha512-Tv43P47o6fuHgBL7HLHQg3WKXohW9CEUGjLtnCDW27yJLK0zKUdTTqREbZbycNHA83hewMjde5tF6ekrHu9bAA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-module-transforms": "^8.0.1", - "@babel/helper-plugin-utils": "^8.0.1", - "@babel/helper-validator-identifier": "^8.0.0" + "@babel/helper-create-regexp-features-plugin": "^8.0.1", + "@babel/helper-plugin-utils": "^8.0.1" }, "engines": { "node": "^22.18.0 || >=24.11.0" @@ -1131,16 +727,14 @@ "@babel/core": "^8.0.0" } }, - "node_modules/@babel/preset-env/node_modules/@babel/plugin-transform-modules-systemjs/node_modules/@babel/helper-module-transforms": { + "node_modules/@babel/plugin-transform-dynamic-import": { "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-8.0.1.tgz", - "integrity": "sha512-UgAhl1kqiW5ciE0yCXqqvnb4H2n3IELJ7lIIQRezwDPilPEZX5i+Rvbja9MFTkwUn2biEiSMeV31aUzR4Lwakw==", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-8.0.1.tgz", + "integrity": "sha512-AS9GlgKc43tJNRu7yOvLaTko4qmdOb+8M69uNS8i421WLO20eVez7LdG5khKdi8E0LIQpYzzzdGIrdXWnO753g==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-module-imports": "^8.0.0", - "@babel/helper-validator-identifier": "^8.0.0", - "@babel/traverse": "^8.0.0" + "@babel/helper-plugin-utils": "^8.0.1" }, "engines": { "node": "^22.18.0 || >=24.11.0" @@ -1149,15 +743,15 @@ "@babel/core": "^8.0.0" } }, - "node_modules/@babel/preset-env/node_modules/@babel/plugin-transform-modules-umd": { + "node_modules/@babel/plugin-transform-explicit-resource-management": { "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-8.0.1.tgz", - "integrity": "sha512-XKTa2J2MdkmbVEeChq9f7Or0VYcsF0NyVBgytRyeN9F+J+ETAB2SHhfkG4toz/ssuU0i+h/QgJ6ddo5YakSQcA==", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-explicit-resource-management/-/plugin-transform-explicit-resource-management-8.0.1.tgz", + "integrity": "sha512-VzDIYwBlLCpV6mJfloRdJm8HmYnMqs7O+bGha8yfg2kP7jAdxeCw6yZBVBeaKKQUThtSU52iy+3lB7DhYsbOBA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-module-transforms": "^8.0.1", - "@babel/helper-plugin-utils": "^8.0.1" + "@babel/helper-plugin-utils": "^8.0.1", + "@babel/plugin-transform-destructuring": "^8.0.1" }, "engines": { "node": "^22.18.0 || >=24.11.0" @@ -1166,16 +760,14 @@ "@babel/core": "^8.0.0" } }, - "node_modules/@babel/preset-env/node_modules/@babel/plugin-transform-modules-umd/node_modules/@babel/helper-module-transforms": { + "node_modules/@babel/plugin-transform-exponentiation-operator": { "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-8.0.1.tgz", - "integrity": "sha512-UgAhl1kqiW5ciE0yCXqqvnb4H2n3IELJ7lIIQRezwDPilPEZX5i+Rvbja9MFTkwUn2biEiSMeV31aUzR4Lwakw==", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-8.0.1.tgz", + "integrity": "sha512-DsZvUUklUmDQ7d2vp+VjqgUWD51mGxhZZ1FPdPP9Hcj0vsgGUKX+zEBGp/vzB1O5PZUxWT/Euq5fu39M9dm9wg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-module-imports": "^8.0.0", - "@babel/helper-validator-identifier": "^8.0.0", - "@babel/traverse": "^8.0.0" + "@babel/helper-plugin-utils": "^8.0.1" }, "engines": { "node": "^22.18.0 || >=24.11.0" @@ -1184,14 +776,13 @@ "@babel/core": "^8.0.0" } }, - "node_modules/@babel/preset-env/node_modules/@babel/plugin-transform-named-capturing-groups-regex": { + "node_modules/@babel/plugin-transform-export-namespace-from": { "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-8.0.1.tgz", - "integrity": "sha512-zCHu+Jr2gTdJE48lN9SV/kXueCW2M79mKtKJc/ttfzzr/jvgdQdCd17RADMqFRQc/25MLxdtjTmlD0HSAMOlIQ==", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-8.0.1.tgz", + "integrity": "sha512-bFzznm46bvWGaTYKle3iolbBJ+oPBfUjwCPesxlFE3SQ7DaY9EHf/8Y5ZzrodKJi8JDdcAyaVWaDUSVyhULh0g==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^8.0.1", "@babel/helper-plugin-utils": "^8.0.1" }, "engines": { @@ -1201,16 +792,15 @@ "@babel/core": "^8.0.0" } }, - "node_modules/@babel/preset-env/node_modules/@babel/plugin-transform-named-capturing-groups-regex/node_modules/@babel/helper-create-regexp-features-plugin": { + "node_modules/@babel/plugin-transform-for-of": { "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-8.0.1.tgz", - "integrity": "sha512-PydTbcVTiIfVweHMeY1u3MslaD/ZzvnaTNhJp+7ghofelLWshF66Ckc/ZsjStfvRQIKQ4uVG0yEJucyDtyrWgw==", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-8.0.1.tgz", + "integrity": "sha512-rpeXtgELjpIBQH/+YmyFlD9timPEVCyqY+TNednzoeoTYvXSBEeUvYnYE+BK8rB8m6hHiNK7aL9QWKhGifEJCw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^8.0.0", - "regexpu-core": "^6.3.1", - "semver": "^7.7.3" + "@babel/helper-plugin-utils": "^8.0.1", + "@babel/helper-skip-transparent-expression-wrappers": "^8.0.0" }, "engines": { "node": "^22.18.0 || >=24.11.0" @@ -1219,13 +809,14 @@ "@babel/core": "^8.0.0" } }, - "node_modules/@babel/preset-env/node_modules/@babel/plugin-transform-new-target": { + "node_modules/@babel/plugin-transform-function-name": { "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-8.0.1.tgz", - "integrity": "sha512-QSQxVg1x4PuOuhWUs4Y9u+x9Y+ER8z6G3tC+bDLBzvoOrNLJrEBQLRnwrTP8e5klihAw6Z+e9X5RjdAKcAGapA==", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-8.0.1.tgz", + "integrity": "sha512-H1L/JfPf3CqmubuaiZaquXKQ8MRs4YWSsgRllkTviM8TafcCNnlvc4/fJZ3rXP8HmFM+/Bg+TlsPehUI9BtDFA==", "dev": true, "license": "MIT", "dependencies": { + "@babel/helper-compilation-targets": "^8.0.0", "@babel/helper-plugin-utils": "^8.0.1" }, "engines": { @@ -1235,10 +826,10 @@ "@babel/core": "^8.0.0" } }, - "node_modules/@babel/preset-env/node_modules/@babel/plugin-transform-nullish-coalescing-operator": { + "node_modules/@babel/plugin-transform-json-strings": { "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-8.0.1.tgz", - "integrity": "sha512-AgCJAmQLF7+PtsK79wJqr4xJ2StHCXlz7JL5CVFP4HejJx25Tk6yl1ZrXvi0cKh3VGDVnfVxefxnrpsBirgpyQ==", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-8.0.1.tgz", + "integrity": "sha512-Mowp8X0J6p7ZehLU82B5e65te2uuSeDHyxrEROwEAS2VKXNXssfw5ZMqhY7k9iXTsOv1Xs/49G3lDCj9Vvw8qQ==", "dev": true, "license": "MIT", "dependencies": { @@ -1251,10 +842,10 @@ "@babel/core": "^8.0.0" } }, - "node_modules/@babel/preset-env/node_modules/@babel/plugin-transform-numeric-separator": { + "node_modules/@babel/plugin-transform-literals": { "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-8.0.1.tgz", - "integrity": "sha512-it2DmUyLIA1GQUXlFDEnI+/G89mTgxndnAiZYpW8xYR6LboblfirMqiWJeTna5uypQJg7viTT4D1iEURRtFcfw==", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-8.0.1.tgz", + "integrity": "sha512-ai7kfPRcfyUV1EszXoF1PvL3IuJoCuH08WSEPoRcJTWfZZ55VL/rcfvbVY16QLA3jjbzzSneQSoCtD3L6OyUjw==", "dev": true, "license": "MIT", "dependencies": { @@ -1267,17 +858,14 @@ "@babel/core": "^8.0.0" } }, - "node_modules/@babel/preset-env/node_modules/@babel/plugin-transform-object-rest-spread": { + "node_modules/@babel/plugin-transform-logical-assignment-operators": { "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-8.0.1.tgz", - "integrity": "sha512-VmxkDu6bBdbxRzqn6E93hYucug4OVa6svSO19W//vVzNUGAmQzk3QRyHyyEtfcjSLR3NWfRsWwVM9zExLmd+2w==", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-8.0.1.tgz", + "integrity": "sha512-Emvtr5zkEGyCNAmt+qKD5EUh8G0RbxV9EZWrDdX0LuVy5tBq1B3fOIslvVF9aCJmpnwS/AvAT53b9LxAZyXlng==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-compilation-targets": "^8.0.0", - "@babel/helper-plugin-utils": "^8.0.1", - "@babel/plugin-transform-destructuring": "^8.0.1", - "@babel/plugin-transform-parameters": "^8.0.1" + "@babel/helper-plugin-utils": "^8.0.1" }, "engines": { "node": "^22.18.0 || >=24.11.0" @@ -1286,15 +874,14 @@ "@babel/core": "^8.0.0" } }, - "node_modules/@babel/preset-env/node_modules/@babel/plugin-transform-object-super": { + "node_modules/@babel/plugin-transform-member-expression-literals": { "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-8.0.1.tgz", - "integrity": "sha512-fDkPXRTRKGm25bAq01q82UM4ypPqdVXCwphUUm4t1dL01fGIG0v8KRvT+4BjhMAtRxtPuI34t5Vs7yjRgs3ZgQ==", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-8.0.1.tgz", + "integrity": "sha512-3Axi9abnyGsm/hh6DsKPZ1Cr9fTtKqS7w0Ig5g12mU269YclpH8pV3xMln2vPLexXgUp6S6L+I06d9/YOLfRKA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^8.0.1", - "@babel/helper-replace-supers": "^8.0.1" + "@babel/helper-plugin-utils": "^8.0.1" }, "engines": { "node": "^22.18.0 || >=24.11.0" @@ -1303,16 +890,15 @@ "@babel/core": "^8.0.0" } }, - "node_modules/@babel/preset-env/node_modules/@babel/plugin-transform-object-super/node_modules/@babel/helper-replace-supers": { + "node_modules/@babel/plugin-transform-modules-amd": { "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-8.0.1.tgz", - "integrity": "sha512-B1SZADIcy3tmH8CmWvj4SHi/oAPom4UL3uknTc2QRNsPVLFk/sPnZvQL/8kj7Y5omvjMqie0vklvs6XM4OLW5Q==", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-8.0.1.tgz", + "integrity": "sha512-FDdhET8y1YFDNRuoynqSf23WTzbBBpbIB2oRrlFX7YYm9uWtFvJDSD1r/epBSjfPkOjeaaLgRW9xNnt3JGx46A==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-member-expression-to-functions": "^8.0.0", - "@babel/helper-optimise-call-expression": "^8.0.0", - "@babel/traverse": "^8.0.0" + "@babel/helper-module-transforms": "^8.0.1", + "@babel/helper-plugin-utils": "^8.0.1" }, "engines": { "node": "^22.18.0 || >=24.11.0" @@ -1321,13 +907,14 @@ "@babel/core": "^8.0.0" } }, - "node_modules/@babel/preset-env/node_modules/@babel/plugin-transform-optional-catch-binding": { + "node_modules/@babel/plugin-transform-modules-commonjs": { "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-8.0.1.tgz", - "integrity": "sha512-b2OQ74uGliyATcasTjxGy2O/86UI/n+EN4juB4EMfEwTi9j9uq70PuP0L8fW77vfRY66gO/YoTo/WbIdQ/Si1g==", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-8.0.1.tgz", + "integrity": "sha512-PMuzulWrrzFNmY3lXSk/tV9NRb7y0eZZLJY4UEo2TKszroxvUZHAPPi+T9FDyrQhod+TQA+t+8/QYaaMpiEuhA==", "dev": true, "license": "MIT", "dependencies": { + "@babel/helper-module-transforms": "^8.0.1", "@babel/helper-plugin-utils": "^8.0.1" }, "engines": { @@ -1337,15 +924,16 @@ "@babel/core": "^8.0.0" } }, - "node_modules/@babel/preset-env/node_modules/@babel/plugin-transform-optional-chaining": { + "node_modules/@babel/plugin-transform-modules-systemjs": { "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-8.0.1.tgz", - "integrity": "sha512-WtRS1c94lZGpGHxYLXMEWeoMVcuv8nkiyr8BTs6OYZv7N3Y9xVE8nbdFIl4lDJH6aH8/pLhqAQOL69d/WI9WdA==", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-8.0.1.tgz", + "integrity": "sha512-0NEHanXmnFEnfT2dLKTXnu7m8GXFsnxRgteBC2aH21hYMBwAgxu5dcTdi/Eg+ToI1HbZe0CHwz4XRLgRNQhYoQ==", "dev": true, "license": "MIT", "dependencies": { + "@babel/helper-module-transforms": "^8.0.1", "@babel/helper-plugin-utils": "^8.0.1", - "@babel/helper-skip-transparent-expression-wrappers": "^8.0.0" + "@babel/helper-validator-identifier": "^8.0.0" }, "engines": { "node": "^22.18.0 || >=24.11.0" @@ -1354,13 +942,14 @@ "@babel/core": "^8.0.0" } }, - "node_modules/@babel/preset-env/node_modules/@babel/plugin-transform-parameters": { + "node_modules/@babel/plugin-transform-modules-umd": { "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-8.0.1.tgz", - "integrity": "sha512-IIwRqroW0CYQwR6+3pnmu27z+H98poScWdnov8z6osumMeEsFxAFBBsDS2CFk2jFpPlGqVr89jK/HXO6i5DzxQ==", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-8.0.1.tgz", + "integrity": "sha512-XKTa2J2MdkmbVEeChq9f7Or0VYcsF0NyVBgytRyeN9F+J+ETAB2SHhfkG4toz/ssuU0i+h/QgJ6ddo5YakSQcA==", "dev": true, "license": "MIT", "dependencies": { + "@babel/helper-module-transforms": "^8.0.1", "@babel/helper-plugin-utils": "^8.0.1" }, "engines": { @@ -1370,14 +959,14 @@ "@babel/core": "^8.0.0" } }, - "node_modules/@babel/preset-env/node_modules/@babel/plugin-transform-private-methods": { + "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-8.0.1.tgz", - "integrity": "sha512-TrFCGcXaVDh6S5IRhmLSRTY9H80VTCMQWnZtzBRg4RWg3KCLmdmsmj4M15kZAPZfoPkWL/SJb4em3Py/vOiX8g==", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-8.0.1.tgz", + "integrity": "sha512-zCHu+Jr2gTdJE48lN9SV/kXueCW2M79mKtKJc/ttfzzr/jvgdQdCd17RADMqFRQc/25MLxdtjTmlD0HSAMOlIQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-create-class-features-plugin": "^8.0.1", + "@babel/helper-create-regexp-features-plugin": "^8.0.1", "@babel/helper-plugin-utils": "^8.0.1" }, "engines": { @@ -1387,20 +976,14 @@ "@babel/core": "^8.0.0" } }, - "node_modules/@babel/preset-env/node_modules/@babel/plugin-transform-private-methods/node_modules/@babel/helper-create-class-features-plugin": { + "node_modules/@babel/plugin-transform-new-target": { "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-8.0.1.tgz", - "integrity": "sha512-++t3ZktzlLmASAxIlxeXQK9Z2YwUafYGYcvGBFevqOqt16HozVHStUoQvWD09fzAZOb/uJGpUTBuGK41AJAuOA==", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-8.0.1.tgz", + "integrity": "sha512-QSQxVg1x4PuOuhWUs4Y9u+x9Y+ER8z6G3tC+bDLBzvoOrNLJrEBQLRnwrTP8e5klihAw6Z+e9X5RjdAKcAGapA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^8.0.0", - "@babel/helper-member-expression-to-functions": "^8.0.0", - "@babel/helper-optimise-call-expression": "^8.0.0", - "@babel/helper-replace-supers": "^8.0.1", - "@babel/helper-skip-transparent-expression-wrappers": "^8.0.0", - "@babel/traverse": "^8.0.0", - "semver": "^7.7.3" + "@babel/helper-plugin-utils": "^8.0.1" }, "engines": { "node": "^22.18.0 || >=24.11.0" @@ -1409,16 +992,14 @@ "@babel/core": "^8.0.0" } }, - "node_modules/@babel/preset-env/node_modules/@babel/plugin-transform-private-methods/node_modules/@babel/helper-create-class-features-plugin/node_modules/@babel/helper-replace-supers": { + "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-8.0.1.tgz", - "integrity": "sha512-B1SZADIcy3tmH8CmWvj4SHi/oAPom4UL3uknTc2QRNsPVLFk/sPnZvQL/8kj7Y5omvjMqie0vklvs6XM4OLW5Q==", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-8.0.1.tgz", + "integrity": "sha512-AgCJAmQLF7+PtsK79wJqr4xJ2StHCXlz7JL5CVFP4HejJx25Tk6yl1ZrXvi0cKh3VGDVnfVxefxnrpsBirgpyQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-member-expression-to-functions": "^8.0.0", - "@babel/helper-optimise-call-expression": "^8.0.0", - "@babel/traverse": "^8.0.0" + "@babel/helper-plugin-utils": "^8.0.1" }, "engines": { "node": "^22.18.0 || >=24.11.0" @@ -1427,15 +1008,13 @@ "@babel/core": "^8.0.0" } }, - "node_modules/@babel/preset-env/node_modules/@babel/plugin-transform-private-property-in-object": { + "node_modules/@babel/plugin-transform-numeric-separator": { "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-8.0.1.tgz", - "integrity": "sha512-e+yfOqSYBZaf3PARpiQkjZrpWYgmcFLhK+1tevh2CpHR1O9/36IdyPnAZusESX5nzVV/XZTDAtQBRLa8HPT5Dw==", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-8.0.1.tgz", + "integrity": "sha512-it2DmUyLIA1GQUXlFDEnI+/G89mTgxndnAiZYpW8xYR6LboblfirMqiWJeTna5uypQJg7viTT4D1iEURRtFcfw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^8.0.0", - "@babel/helper-create-class-features-plugin": "^8.0.1", "@babel/helper-plugin-utils": "^8.0.1" }, "engines": { @@ -1445,20 +1024,17 @@ "@babel/core": "^8.0.0" } }, - "node_modules/@babel/preset-env/node_modules/@babel/plugin-transform-private-property-in-object/node_modules/@babel/helper-create-class-features-plugin": { + "node_modules/@babel/plugin-transform-object-rest-spread": { "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-8.0.1.tgz", - "integrity": "sha512-++t3ZktzlLmASAxIlxeXQK9Z2YwUafYGYcvGBFevqOqt16HozVHStUoQvWD09fzAZOb/uJGpUTBuGK41AJAuOA==", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-8.0.1.tgz", + "integrity": "sha512-VmxkDu6bBdbxRzqn6E93hYucug4OVa6svSO19W//vVzNUGAmQzk3QRyHyyEtfcjSLR3NWfRsWwVM9zExLmd+2w==", "dev": true, "license": "MIT", - "dependencies": { - "@babel/helper-annotate-as-pure": "^8.0.0", - "@babel/helper-member-expression-to-functions": "^8.0.0", - "@babel/helper-optimise-call-expression": "^8.0.0", - "@babel/helper-replace-supers": "^8.0.1", - "@babel/helper-skip-transparent-expression-wrappers": "^8.0.0", - "@babel/traverse": "^8.0.0", - "semver": "^7.7.3" + "dependencies": { + "@babel/helper-compilation-targets": "^8.0.0", + "@babel/helper-plugin-utils": "^8.0.1", + "@babel/plugin-transform-destructuring": "^8.0.1", + "@babel/plugin-transform-parameters": "^8.0.1" }, "engines": { "node": "^22.18.0 || >=24.11.0" @@ -1467,16 +1043,15 @@ "@babel/core": "^8.0.0" } }, - "node_modules/@babel/preset-env/node_modules/@babel/plugin-transform-private-property-in-object/node_modules/@babel/helper-create-class-features-plugin/node_modules/@babel/helper-replace-supers": { + "node_modules/@babel/plugin-transform-object-super": { "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-8.0.1.tgz", - "integrity": "sha512-B1SZADIcy3tmH8CmWvj4SHi/oAPom4UL3uknTc2QRNsPVLFk/sPnZvQL/8kj7Y5omvjMqie0vklvs6XM4OLW5Q==", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-8.0.1.tgz", + "integrity": "sha512-fDkPXRTRKGm25bAq01q82UM4ypPqdVXCwphUUm4t1dL01fGIG0v8KRvT+4BjhMAtRxtPuI34t5Vs7yjRgs3ZgQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-member-expression-to-functions": "^8.0.0", - "@babel/helper-optimise-call-expression": "^8.0.0", - "@babel/traverse": "^8.0.0" + "@babel/helper-plugin-utils": "^8.0.1", + "@babel/helper-replace-supers": "^8.0.1" }, "engines": { "node": "^22.18.0 || >=24.11.0" @@ -1485,10 +1060,10 @@ "@babel/core": "^8.0.0" } }, - "node_modules/@babel/preset-env/node_modules/@babel/plugin-transform-property-literals": { + "node_modules/@babel/plugin-transform-optional-catch-binding": { "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-8.0.1.tgz", - "integrity": "sha512-Z/qx4cxUtYR1nt7XWRutObPxDks98fEYsjWbVeKEqZH6y3AGknmgzCqmHf2FHWZCl1DfoPeuJY+3hZ+35D+2tg==", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-8.0.1.tgz", + "integrity": "sha512-b2OQ74uGliyATcasTjxGy2O/86UI/n+EN4juB4EMfEwTi9j9uq70PuP0L8fW77vfRY66gO/YoTo/WbIdQ/Si1g==", "dev": true, "license": "MIT", "dependencies": { @@ -1501,14 +1076,15 @@ "@babel/core": "^8.0.0" } }, - "node_modules/@babel/preset-env/node_modules/@babel/plugin-transform-regenerator": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-8.0.2.tgz", - "integrity": "sha512-aFfsjCRYducRV4dPnpsBbdRkLjboca9FVDg6HZCgy0Ahvk2ZQ/2exmCRC5qS9P6rsWwrmIheNaIM6A1j2F8KMA==", + "node_modules/@babel/plugin-transform-optional-chaining": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-8.0.1.tgz", + "integrity": "sha512-WtRS1c94lZGpGHxYLXMEWeoMVcuv8nkiyr8BTs6OYZv7N3Y9xVE8nbdFIl4lDJH6aH8/pLhqAQOL69d/WI9WdA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^8.0.1" + "@babel/helper-plugin-utils": "^8.0.1", + "@babel/helper-skip-transparent-expression-wrappers": "^8.0.0" }, "engines": { "node": "^22.18.0 || >=24.11.0" @@ -1517,14 +1093,13 @@ "@babel/core": "^8.0.0" } }, - "node_modules/@babel/preset-env/node_modules/@babel/plugin-transform-regexp-modifiers": { + "node_modules/@babel/plugin-transform-parameters": { "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regexp-modifiers/-/plugin-transform-regexp-modifiers-8.0.1.tgz", - "integrity": "sha512-02ITRDBesPdTYU0oShAzERwEPzozOUQSXlz3qrt8JGuhalBJQv9z5NjgHJPC9sS3Fsam8gDtfAEpBnqZwUIdjQ==", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-8.0.1.tgz", + "integrity": "sha512-IIwRqroW0CYQwR6+3pnmu27z+H98poScWdnov8z6osumMeEsFxAFBBsDS2CFk2jFpPlGqVr89jK/HXO6i5DzxQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^8.0.1", "@babel/helper-plugin-utils": "^8.0.1" }, "engines": { @@ -1534,16 +1109,15 @@ "@babel/core": "^8.0.0" } }, - "node_modules/@babel/preset-env/node_modules/@babel/plugin-transform-regexp-modifiers/node_modules/@babel/helper-create-regexp-features-plugin": { + "node_modules/@babel/plugin-transform-private-methods": { "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-8.0.1.tgz", - "integrity": "sha512-PydTbcVTiIfVweHMeY1u3MslaD/ZzvnaTNhJp+7ghofelLWshF66Ckc/ZsjStfvRQIKQ4uVG0yEJucyDtyrWgw==", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-8.0.1.tgz", + "integrity": "sha512-TrFCGcXaVDh6S5IRhmLSRTY9H80VTCMQWnZtzBRg4RWg3KCLmdmsmj4M15kZAPZfoPkWL/SJb4em3Py/vOiX8g==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^8.0.0", - "regexpu-core": "^6.3.1", - "semver": "^7.7.3" + "@babel/helper-create-class-features-plugin": "^8.0.1", + "@babel/helper-plugin-utils": "^8.0.1" }, "engines": { "node": "^22.18.0 || >=24.11.0" @@ -1552,13 +1126,15 @@ "@babel/core": "^8.0.0" } }, - "node_modules/@babel/preset-env/node_modules/@babel/plugin-transform-reserved-words": { + "node_modules/@babel/plugin-transform-private-property-in-object": { "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-8.0.1.tgz", - "integrity": "sha512-+aykZi7ZP3U84veqfJXm3HhPZGddWFi64g7jr0ni6tb1zel+1ey+SL+IRKPoZXFyFqvYEsoqrmx4PyEJRlHl/Q==", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-8.0.1.tgz", + "integrity": "sha512-e+yfOqSYBZaf3PARpiQkjZrpWYgmcFLhK+1tevh2CpHR1O9/36IdyPnAZusESX5nzVV/XZTDAtQBRLa8HPT5Dw==", "dev": true, "license": "MIT", "dependencies": { + "@babel/helper-annotate-as-pure": "^8.0.0", + "@babel/helper-create-class-features-plugin": "^8.0.1", "@babel/helper-plugin-utils": "^8.0.1" }, "engines": { @@ -1568,10 +1144,10 @@ "@babel/core": "^8.0.0" } }, - "node_modules/@babel/preset-env/node_modules/@babel/plugin-transform-shorthand-properties": { + "node_modules/@babel/plugin-transform-property-literals": { "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-8.0.1.tgz", - "integrity": "sha512-JddANd9yPVH8dYgVoNkqAH5BftnsDxFpG51Zas7sc6F3poz5QWcejHNGO8a/57IX5ByjGSzEmYk9Z7ZMa5MWaw==", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-8.0.1.tgz", + "integrity": "sha512-Z/qx4cxUtYR1nt7XWRutObPxDks98fEYsjWbVeKEqZH6y3AGknmgzCqmHf2FHWZCl1DfoPeuJY+3hZ+35D+2tg==", "dev": true, "license": "MIT", "dependencies": { @@ -1584,15 +1160,14 @@ "@babel/core": "^8.0.0" } }, - "node_modules/@babel/preset-env/node_modules/@babel/plugin-transform-spread": { + "node_modules/@babel/plugin-transform-react-display-name": { "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-8.0.1.tgz", - "integrity": "sha512-O9Bw9FyxlSw1SlMg3S82/GKNZ0x77RPbHezotEy1JTlIM/vk6WO8jW1iF+iTiKLOXNvi+b+LZ9t77Gi+Q0FhGg==", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-8.0.1.tgz", + "integrity": "sha512-soLishXlkyu6jcICPyO3HEP7A3GCzKEnn7XfvYrImuWEOwFAz93qShmWSYPf5ww0ZkO4By0zsN2bVIDF54fSdA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^8.0.1", - "@babel/helper-skip-transparent-expression-wrappers": "^8.0.0" + "@babel/helper-plugin-utils": "^8.0.1" }, "engines": { "node": "^22.18.0 || >=24.11.0" @@ -1601,14 +1176,18 @@ "@babel/core": "^8.0.0" } }, - "node_modules/@babel/preset-env/node_modules/@babel/plugin-transform-sticky-regex": { + "node_modules/@babel/plugin-transform-react-jsx": { "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-8.0.1.tgz", - "integrity": "sha512-IsVP6WrZZQdaG2zLmeKwWiI+ua2NB5L1+f77C2/8z2NCDz7uxlIA/lnwocYOJk9PXcOC2sZgRls3LN4XpNduzQ==", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-8.0.1.tgz", + "integrity": "sha512-NgkoF7Uq+30TmOPDdNUimT0Nta02uVjqJRFNlVWKrbOCu/CkzfHa4aMnIs0lMpkMmZmWA1e42Va+F04i/pY1zw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^8.0.1" + "@babel/helper-annotate-as-pure": "^8.0.0", + "@babel/helper-module-imports": "^8.0.0", + "@babel/helper-plugin-utils": "^8.0.1", + "@babel/plugin-syntax-jsx": "^8.0.1", + "@babel/types": "^8.0.0" }, "engines": { "node": "^22.18.0 || >=24.11.0" @@ -1617,14 +1196,14 @@ "@babel/core": "^8.0.0" } }, - "node_modules/@babel/preset-env/node_modules/@babel/plugin-transform-template-literals": { + "node_modules/@babel/plugin-transform-react-jsx-development": { "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-8.0.1.tgz", - "integrity": "sha512-JXvtj5+BJA9Qv3prDzW2z2DkGTJNmG0BObTdUD03STiu1Jr4fNQkQy3hYZgPL46a2RjcuhwBMYf49BOuJ98gnA==", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-8.0.1.tgz", + "integrity": "sha512-Hb+HUZpV9KFHjm+F+P3aLDMi8QXU9l3ROCQv20z18Me2sGyW5nNNR5YTevNlgHvCpFek3BnAwhDGq/BRndXViw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^8.0.1" + "@babel/plugin-transform-react-jsx": "^8.0.1" }, "engines": { "node": "^22.18.0 || >=24.11.0" @@ -1633,13 +1212,14 @@ "@babel/core": "^8.0.0" } }, - "node_modules/@babel/preset-env/node_modules/@babel/plugin-transform-typeof-symbol": { + "node_modules/@babel/plugin-transform-react-pure-annotations": { "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-8.0.1.tgz", - "integrity": "sha512-+wJoxgxP2gtey0UMUOMhzMMji2XHO/Uu6MXUh/r5Yhc2jngKzK/wFxY2WNe4UCaRcMvCb4gcnB8wIgFXJsocXg==", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-8.0.1.tgz", + "integrity": "sha512-7/8UwU8hoPBurXa9tUiTTC8aACTRy5tCqLUtqikHp2eGiWoEB57AduOdbQ71OOMTEvawKrGhv3WfzkDpI+/oSg==", "dev": true, "license": "MIT", "dependencies": { + "@babel/helper-annotate-as-pure": "^8.0.0", "@babel/helper-plugin-utils": "^8.0.1" }, "engines": { @@ -1649,10 +1229,10 @@ "@babel/core": "^8.0.0" } }, - "node_modules/@babel/preset-env/node_modules/@babel/plugin-transform-unicode-escapes": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-8.0.1.tgz", - "integrity": "sha512-TAXJepIJ6vZphytTwcf+LuXi2M2ZWI43VCqNw+1ZZLPP/38Z1A8j4Mahvg8kqDgMOSM/cakk+hedTJCiw3jQuQ==", + "node_modules/@babel/plugin-transform-regenerator": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-8.0.2.tgz", + "integrity": "sha512-aFfsjCRYducRV4dPnpsBbdRkLjboca9FVDg6HZCgy0Ahvk2ZQ/2exmCRC5qS9P6rsWwrmIheNaIM6A1j2F8KMA==", "dev": true, "license": "MIT", "dependencies": { @@ -1665,10 +1245,10 @@ "@babel/core": "^8.0.0" } }, - "node_modules/@babel/preset-env/node_modules/@babel/plugin-transform-unicode-property-regex": { + "node_modules/@babel/plugin-transform-regexp-modifiers": { "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-8.0.1.tgz", - "integrity": "sha512-zjBN9tSMSuomNDfurL69Gf7+v4D2t5uI1mSZaYJDo88SKpbduhCXqtxH7Tx66iCF6caWYwnBzSM0tnCozmQq5Q==", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regexp-modifiers/-/plugin-transform-regexp-modifiers-8.0.1.tgz", + "integrity": "sha512-02ITRDBesPdTYU0oShAzERwEPzozOUQSXlz3qrt8JGuhalBJQv9z5NjgHJPC9sS3Fsam8gDtfAEpBnqZwUIdjQ==", "dev": true, "license": "MIT", "dependencies": { @@ -1682,16 +1262,14 @@ "@babel/core": "^8.0.0" } }, - "node_modules/@babel/preset-env/node_modules/@babel/plugin-transform-unicode-property-regex/node_modules/@babel/helper-create-regexp-features-plugin": { + "node_modules/@babel/plugin-transform-reserved-words": { "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-8.0.1.tgz", - "integrity": "sha512-PydTbcVTiIfVweHMeY1u3MslaD/ZzvnaTNhJp+7ghofelLWshF66Ckc/ZsjStfvRQIKQ4uVG0yEJucyDtyrWgw==", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-8.0.1.tgz", + "integrity": "sha512-+aykZi7ZP3U84veqfJXm3HhPZGddWFi64g7jr0ni6tb1zel+1ey+SL+IRKPoZXFyFqvYEsoqrmx4PyEJRlHl/Q==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^8.0.0", - "regexpu-core": "^6.3.1", - "semver": "^7.7.3" + "@babel/helper-plugin-utils": "^8.0.1" }, "engines": { "node": "^22.18.0 || >=24.11.0" @@ -1700,14 +1278,13 @@ "@babel/core": "^8.0.0" } }, - "node_modules/@babel/preset-env/node_modules/@babel/plugin-transform-unicode-regex": { + "node_modules/@babel/plugin-transform-shorthand-properties": { "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-8.0.1.tgz", - "integrity": "sha512-v0oO83cvT5lwbcIVRShpx4vaHD8AvM9IBowsQuTeP+kGmhh3recJQs33Bl6dlo3/2g9amlznLbFGn4VJbPCJqA==", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-8.0.1.tgz", + "integrity": "sha512-JddANd9yPVH8dYgVoNkqAH5BftnsDxFpG51Zas7sc6F3poz5QWcejHNGO8a/57IX5ByjGSzEmYk9Z7ZMa5MWaw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^8.0.1", "@babel/helper-plugin-utils": "^8.0.1" }, "engines": { @@ -1717,16 +1294,15 @@ "@babel/core": "^8.0.0" } }, - "node_modules/@babel/preset-env/node_modules/@babel/plugin-transform-unicode-regex/node_modules/@babel/helper-create-regexp-features-plugin": { + "node_modules/@babel/plugin-transform-spread": { "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-8.0.1.tgz", - "integrity": "sha512-PydTbcVTiIfVweHMeY1u3MslaD/ZzvnaTNhJp+7ghofelLWshF66Ckc/ZsjStfvRQIKQ4uVG0yEJucyDtyrWgw==", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-8.0.1.tgz", + "integrity": "sha512-O9Bw9FyxlSw1SlMg3S82/GKNZ0x77RPbHezotEy1JTlIM/vk6WO8jW1iF+iTiKLOXNvi+b+LZ9t77Gi+Q0FhGg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^8.0.0", - "regexpu-core": "^6.3.1", - "semver": "^7.7.3" + "@babel/helper-plugin-utils": "^8.0.1", + "@babel/helper-skip-transparent-expression-wrappers": "^8.0.0" }, "engines": { "node": "^22.18.0 || >=24.11.0" @@ -1735,14 +1311,13 @@ "@babel/core": "^8.0.0" } }, - "node_modules/@babel/preset-env/node_modules/@babel/plugin-transform-unicode-sets-regex": { + "node_modules/@babel/plugin-transform-sticky-regex": { "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-8.0.1.tgz", - "integrity": "sha512-MlQeyS0K7gh0XNeLBMS/3Z07HjDOKhA7xm2L18GyxOXyiFHI9E+ZuQ4mFYmcLjluXsE/Wf6dABIqZvKpKw0Z3w==", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-8.0.1.tgz", + "integrity": "sha512-IsVP6WrZZQdaG2zLmeKwWiI+ua2NB5L1+f77C2/8z2NCDz7uxlIA/lnwocYOJk9PXcOC2sZgRls3LN4XpNduzQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^8.0.1", "@babel/helper-plugin-utils": "^8.0.1" }, "engines": { @@ -1752,16 +1327,14 @@ "@babel/core": "^8.0.0" } }, - "node_modules/@babel/preset-env/node_modules/@babel/plugin-transform-unicode-sets-regex/node_modules/@babel/helper-create-regexp-features-plugin": { + "node_modules/@babel/plugin-transform-template-literals": { "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-8.0.1.tgz", - "integrity": "sha512-PydTbcVTiIfVweHMeY1u3MslaD/ZzvnaTNhJp+7ghofelLWshF66Ckc/ZsjStfvRQIKQ4uVG0yEJucyDtyrWgw==", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-8.0.1.tgz", + "integrity": "sha512-JXvtj5+BJA9Qv3prDzW2z2DkGTJNmG0BObTdUD03STiu1Jr4fNQkQy3hYZgPL46a2RjcuhwBMYf49BOuJ98gnA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^8.0.0", - "regexpu-core": "^6.3.1", - "semver": "^7.7.3" + "@babel/helper-plugin-utils": "^8.0.1" }, "engines": { "node": "^22.18.0 || >=24.11.0" @@ -1770,36 +1343,30 @@ "@babel/core": "^8.0.0" } }, - "node_modules/@babel/preset-env/node_modules/@babel/preset-modules": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.2.0.tgz", - "integrity": "sha512-yz0RBN2fx4fjCeFcTWsWgL7PxSRltvTa0Qg14HkWCU3qS8MO7ZSJlBVbGceynd5C9NsJwwUHNQD3dc6tYO+jqQ==", + "node_modules/@babel/plugin-transform-typeof-symbol": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-8.0.1.tgz", + "integrity": "sha512-+wJoxgxP2gtey0UMUOMhzMMji2XHO/Uu6MXUh/r5Yhc2jngKzK/wFxY2WNe4UCaRcMvCb4gcnB8wIgFXJsocXg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^8.0.1", - "@babel/plugin-transform-dotall-regex": "^8.0.1", - "@babel/plugin-transform-unicode-property-regex": "^8.0.1", - "@babel/types": "^8.0.0", - "esutils": "^2.0.2" + "@babel/helper-plugin-utils": "^8.0.1" + }, + "engines": { + "node": "^22.18.0 || >=24.11.0" }, "peerDependencies": { "@babel/core": "^8.0.0" } }, - "node_modules/@babel/preset-react": { + "node_modules/@babel/plugin-transform-unicode-escapes": { "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-8.0.1.tgz", - "integrity": "sha512-jrFuPp/pTddFZbtmWhdLNAYc6UMcpboeUPnw0BBrm4nOmcAko/1TRcFi1PzWCeOFRU+VaSiKmat87W1HvR7mIg==", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-8.0.1.tgz", + "integrity": "sha512-TAXJepIJ6vZphytTwcf+LuXi2M2ZWI43VCqNw+1ZZLPP/38Z1A8j4Mahvg8kqDgMOSM/cakk+hedTJCiw3jQuQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^8.0.1", - "@babel/helper-validator-option": "^8.0.0", - "@babel/plugin-transform-react-display-name": "^8.0.1", - "@babel/plugin-transform-react-jsx": "^8.0.1", - "@babel/plugin-transform-react-jsx-development": "^8.0.1", - "@babel/plugin-transform-react-pure-annotations": "^8.0.1" + "@babel/helper-plugin-utils": "^8.0.1" }, "engines": { "node": "^22.18.0 || >=24.11.0" @@ -1808,26 +1375,16 @@ "@babel/core": "^8.0.0" } }, - "node_modules/@babel/preset-react/node_modules/@babel/helper-module-imports": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-8.0.0.tgz", - "integrity": "sha512-NZ7mSS93o4ndX4KrbD7W8Sf3QT8Qe24PrnFyUcuOPDzK6faqDFKjY9RG7he7+I7FdiQ4llpnosFqzrXa+Vy3Ew==", + "node_modules/@babel/plugin-transform-unicode-property-regex": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-8.0.1.tgz", + "integrity": "sha512-zjBN9tSMSuomNDfurL69Gf7+v4D2t5uI1mSZaYJDo88SKpbduhCXqtxH7Tx66iCF6caWYwnBzSM0tnCozmQq5Q==", "dev": true, "license": "MIT", "dependencies": { - "@babel/traverse": "^8.0.0", - "@babel/types": "^8.0.0" + "@babel/helper-create-regexp-features-plugin": "^8.0.1", + "@babel/helper-plugin-utils": "^8.0.1" }, - "engines": { - "node": "^22.18.0 || >=24.11.0" - } - }, - "node_modules/@babel/preset-react/node_modules/@babel/helper-plugin-utils": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-8.0.1.tgz", - "integrity": "sha512-3PKFgjTyPlhFhorfP+SjKQxLViIL++zWjFOO4hGriYU+Bsm983DxEM1JmDRJVWXV0O9npu+xXRqz7Pbd3mh70g==", - "dev": true, - "license": "MIT", "engines": { "node": "^22.18.0 || >=24.11.0" }, @@ -1835,13 +1392,14 @@ "@babel/core": "^8.0.0" } }, - "node_modules/@babel/preset-react/node_modules/@babel/plugin-transform-react-display-name": { + "node_modules/@babel/plugin-transform-unicode-regex": { "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-8.0.1.tgz", - "integrity": "sha512-soLishXlkyu6jcICPyO3HEP7A3GCzKEnn7XfvYrImuWEOwFAz93qShmWSYPf5ww0ZkO4By0zsN2bVIDF54fSdA==", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-8.0.1.tgz", + "integrity": "sha512-v0oO83cvT5lwbcIVRShpx4vaHD8AvM9IBowsQuTeP+kGmhh3recJQs33Bl6dlo3/2g9amlznLbFGn4VJbPCJqA==", "dev": true, "license": "MIT", "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^8.0.1", "@babel/helper-plugin-utils": "^8.0.1" }, "engines": { @@ -1851,18 +1409,15 @@ "@babel/core": "^8.0.0" } }, - "node_modules/@babel/preset-react/node_modules/@babel/plugin-transform-react-jsx": { + "node_modules/@babel/plugin-transform-unicode-sets-regex": { "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-8.0.1.tgz", - "integrity": "sha512-NgkoF7Uq+30TmOPDdNUimT0Nta02uVjqJRFNlVWKrbOCu/CkzfHa4aMnIs0lMpkMmZmWA1e42Va+F04i/pY1zw==", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-8.0.1.tgz", + "integrity": "sha512-MlQeyS0K7gh0XNeLBMS/3Z07HjDOKhA7xm2L18GyxOXyiFHI9E+ZuQ4mFYmcLjluXsE/Wf6dABIqZvKpKw0Z3w==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^8.0.0", - "@babel/helper-module-imports": "^8.0.0", - "@babel/helper-plugin-utils": "^8.0.1", - "@babel/plugin-syntax-jsx": "^8.0.1", - "@babel/types": "^8.0.0" + "@babel/helper-create-regexp-features-plugin": "^8.0.1", + "@babel/helper-plugin-utils": "^8.0.1" }, "engines": { "node": "^22.18.0 || >=24.11.0" @@ -1871,14 +1426,78 @@ "@babel/core": "^8.0.0" } }, - "node_modules/@babel/preset-react/node_modules/@babel/plugin-transform-react-jsx-development": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-8.0.1.tgz", - "integrity": "sha512-Hb+HUZpV9KFHjm+F+P3aLDMi8QXU9l3ROCQv20z18Me2sGyW5nNNR5YTevNlgHvCpFek3BnAwhDGq/BRndXViw==", + "node_modules/@babel/preset-env": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-8.0.2.tgz", + "integrity": "sha512-CUGLn9hNBCF/eXnwdFAWERbniCcXCRvnKwLV9fegeUEIqv7YlU2MepsWMMM54GcILx5XYMnRh+JAL+K5G+mK6g==", "dev": true, "license": "MIT", "dependencies": { - "@babel/plugin-transform-react-jsx": "^8.0.1" + "@babel/compat-data": "^8.0.0", + "@babel/helper-compilation-targets": "^8.0.0", + "@babel/helper-plugin-utils": "^8.0.1", + "@babel/helper-validator-option": "^8.0.0", + "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^8.0.1", + "@babel/plugin-bugfix-safari-class-field-initializer-scope": "^8.0.1", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^8.0.1", + "@babel/plugin-bugfix-safari-rest-destructuring-rhs-array": "^8.0.1", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^8.0.1", + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^8.0.1", + "@babel/plugin-transform-arrow-functions": "^8.0.1", + "@babel/plugin-transform-async-generator-functions": "^8.0.1", + "@babel/plugin-transform-async-to-generator": "^8.0.1", + "@babel/plugin-transform-block-scoped-functions": "^8.0.1", + "@babel/plugin-transform-block-scoping": "^8.0.1", + "@babel/plugin-transform-class-properties": "^8.0.1", + "@babel/plugin-transform-class-static-block": "^8.0.1", + "@babel/plugin-transform-classes": "^8.0.1", + "@babel/plugin-transform-computed-properties": "^8.0.1", + "@babel/plugin-transform-destructuring": "^8.0.1", + "@babel/plugin-transform-dotall-regex": "^8.0.1", + "@babel/plugin-transform-duplicate-keys": "^8.0.1", + "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^8.0.1", + "@babel/plugin-transform-dynamic-import": "^8.0.1", + "@babel/plugin-transform-explicit-resource-management": "^8.0.1", + "@babel/plugin-transform-exponentiation-operator": "^8.0.1", + "@babel/plugin-transform-export-namespace-from": "^8.0.1", + "@babel/plugin-transform-for-of": "^8.0.1", + "@babel/plugin-transform-function-name": "^8.0.1", + "@babel/plugin-transform-json-strings": "^8.0.1", + "@babel/plugin-transform-literals": "^8.0.1", + "@babel/plugin-transform-logical-assignment-operators": "^8.0.1", + "@babel/plugin-transform-member-expression-literals": "^8.0.1", + "@babel/plugin-transform-modules-amd": "^8.0.1", + "@babel/plugin-transform-modules-commonjs": "^8.0.1", + "@babel/plugin-transform-modules-systemjs": "^8.0.1", + "@babel/plugin-transform-modules-umd": "^8.0.1", + "@babel/plugin-transform-named-capturing-groups-regex": "^8.0.1", + "@babel/plugin-transform-new-target": "^8.0.1", + "@babel/plugin-transform-nullish-coalescing-operator": "^8.0.1", + "@babel/plugin-transform-numeric-separator": "^8.0.1", + "@babel/plugin-transform-object-rest-spread": "^8.0.1", + "@babel/plugin-transform-object-super": "^8.0.1", + "@babel/plugin-transform-optional-catch-binding": "^8.0.1", + "@babel/plugin-transform-optional-chaining": "^8.0.1", + "@babel/plugin-transform-parameters": "^8.0.1", + "@babel/plugin-transform-private-methods": "^8.0.1", + "@babel/plugin-transform-private-property-in-object": "^8.0.1", + "@babel/plugin-transform-property-literals": "^8.0.1", + "@babel/plugin-transform-regenerator": "^8.0.2", + "@babel/plugin-transform-regexp-modifiers": "^8.0.1", + "@babel/plugin-transform-reserved-words": "^8.0.1", + "@babel/plugin-transform-shorthand-properties": "^8.0.1", + "@babel/plugin-transform-spread": "^8.0.1", + "@babel/plugin-transform-sticky-regex": "^8.0.1", + "@babel/plugin-transform-template-literals": "^8.0.1", + "@babel/plugin-transform-typeof-symbol": "^8.0.1", + "@babel/plugin-transform-unicode-escapes": "^8.0.1", + "@babel/plugin-transform-unicode-property-regex": "^8.0.1", + "@babel/plugin-transform-unicode-regex": "^8.0.1", + "@babel/plugin-transform-unicode-sets-regex": "^8.0.1", + "@babel/preset-modules": "^0.2.0", + "babel-plugin-polyfill-corejs3": "^1.0.0", + "core-js-compat": "^3.48.0", + "semver": "^7.7.3" }, "engines": { "node": "^22.18.0 || >=24.11.0" @@ -1887,31 +1506,36 @@ "@babel/core": "^8.0.0" } }, - "node_modules/@babel/preset-react/node_modules/@babel/plugin-transform-react-jsx/node_modules/@babel/plugin-syntax-jsx": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-8.0.1.tgz", - "integrity": "sha512-n0jtCOxEovhU7METqSQjcZO9pX53nu9uNIjMS+hEt+Nt9jA7oOZoBIgbCxhhASmF6T6rPDGge5UAvh6Z4eFz/g==", + "node_modules/@babel/preset-modules": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.2.0.tgz", + "integrity": "sha512-yz0RBN2fx4fjCeFcTWsWgL7PxSRltvTa0Qg14HkWCU3qS8MO7ZSJlBVbGceynd5C9NsJwwUHNQD3dc6tYO+jqQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^8.0.1" - }, - "engines": { - "node": "^22.18.0 || >=24.11.0" + "@babel/helper-plugin-utils": "^8.0.1", + "@babel/plugin-transform-dotall-regex": "^8.0.1", + "@babel/plugin-transform-unicode-property-regex": "^8.0.1", + "@babel/types": "^8.0.0", + "esutils": "^2.0.2" }, "peerDependencies": { "@babel/core": "^8.0.0" } }, - "node_modules/@babel/preset-react/node_modules/@babel/plugin-transform-react-pure-annotations": { + "node_modules/@babel/preset-react": { "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-8.0.1.tgz", - "integrity": "sha512-7/8UwU8hoPBurXa9tUiTTC8aACTRy5tCqLUtqikHp2eGiWoEB57AduOdbQ71OOMTEvawKrGhv3WfzkDpI+/oSg==", + "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-8.0.1.tgz", + "integrity": "sha512-jrFuPp/pTddFZbtmWhdLNAYc6UMcpboeUPnw0BBrm4nOmcAko/1TRcFi1PzWCeOFRU+VaSiKmat87W1HvR7mIg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^8.0.0", - "@babel/helper-plugin-utils": "^8.0.1" + "@babel/helper-plugin-utils": "^8.0.1", + "@babel/helper-validator-option": "^8.0.0", + "@babel/plugin-transform-react-display-name": "^8.0.1", + "@babel/plugin-transform-react-jsx": "^8.0.1", + "@babel/plugin-transform-react-jsx-development": "^8.0.1", + "@babel/plugin-transform-react-pure-annotations": "^8.0.1" }, "engines": { "node": "^22.18.0 || >=24.11.0" @@ -1936,18 +1560,18 @@ } }, "node_modules/@babel/traverse": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-8.0.0.tgz", - "integrity": "sha512-bxTj/W2VclGE6CctlfQOpxg8MPDzXArRqkOBePw8EHfebcjF7fETWSS3BriEECo+UiU/Yblq+xUtSImFu7cTbw==", + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-8.0.4.tgz", + "integrity": "sha512-bZnmqzGG8UZneG1lLxBoWIH0G6Gr1D846Yu4/3XnY6FhCndMR49u26nTY08u/dAxWmLWF9vGQOuC+84FfIUoeg==", "dev": true, "license": "MIT", "dependencies": { "@babel/code-frame": "^8.0.0", "@babel/generator": "^8.0.0", "@babel/helper-globals": "^8.0.0", - "@babel/parser": "^8.0.0", + "@babel/parser": "^8.0.4", "@babel/template": "^8.0.0", - "@babel/types": "^8.0.0", + "@babel/types": "^8.0.4", "obug": "^2.1.1" }, "engines": { @@ -1955,14 +1579,14 @@ } }, "node_modules/@babel/types": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-8.0.0.tgz", - "integrity": "sha512-K8ponJDxBwDHigkeFqaqT5wLGl4bTlwMafR8k7b5CPxr6Ww+UG9ls8Yx6Tcpboxu97eeGVEEyKcHmEyOwN1vSw==", + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-8.0.4.tgz", + "integrity": "sha512-eY+Yn3dCqTGmyiq2QRU66lA5FL8lqqqvecHt0fF3uHONIa7ToYsaCiWV8lOKqAs0Rb2SjixiKFROngnulPtt2g==", "dev": true, "license": "MIT", "dependencies": { "@babel/helper-string-parser": "^8.0.0", - "@babel/helper-validator-identifier": "^8.0.0" + "@babel/helper-validator-identifier": "^8.0.4" }, "engines": { "node": "^22.18.0 || >=24.11.0" @@ -2011,9 +1635,9 @@ } }, "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", - "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.6.0.tgz", + "integrity": "sha512-T7jf+5zgsZHwNJ4lvQ7/aezbyk0nNX+zJVWpmHA7VYsEx7a7qr5Rg5IbtJFqkgze5Y2sruq1RUY8Q837Od7iFw==", "dev": true, "license": "MIT" }, @@ -2057,9 +1681,9 @@ "license": "MIT" }, "node_modules/@types/node": { - "version": "26.0.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-26.0.1.tgz", - "integrity": "sha512-fc3KiUoBt6kie0N9bIW3E47vZsuaMf0PM2AaUpLCLT0s/LvX1nxAim6Fc049cNxODPpGm6qRAuUOB86SkRuPQw==", + "version": "26.4.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-26.4.1.tgz", + "integrity": "sha512-k97ENvZWtvA6yqz5/FS6a7duDgOPEeOQOc2iKS/nY6mX6qJUKtLnWzQS+Xj6tXweyj6ZcTAK2Qecetnvi9nCLA==", "dev": true, "license": "MIT", "dependencies": { @@ -2242,9 +1866,9 @@ "license": "Apache-2.0" }, "node_modules/acorn": { - "version": "8.16.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz", - "integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==", + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.18.0.tgz", + "integrity": "sha512-lGq+9yr1/GuAWaVYIHRjvvySG5/4VfKIvC8EWxStPdcDh/Ka7FG3twP6v4d5BkravUilhIAsG4Qj83t02LWUPQ==", "dev": true, "license": "MIT", "bin": { @@ -2254,19 +1878,6 @@ "node": ">=0.4.0" } }, - "node_modules/acorn-import-phases": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/acorn-import-phases/-/acorn-import-phases-1.0.4.tgz", - "integrity": "sha512-wKmbr/DDiIXzEOiWrTTUcDm24kQ2vGfZQvM2fwg2vXqR5uW6aapr7ObPtj1th32b9u90/Pf4AItvdTh42fBmVQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10.13.0" - }, - "peerDependencies": { - "acorn": "^8.14.0" - } - }, "node_modules/ajv": { "version": "8.20.0", "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.20.0.tgz", @@ -2341,71 +1952,6 @@ } } }, - "node_modules/babel-loader/node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "license": "MIT", - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/babel-loader/node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/babel-loader/node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/babel-loader/node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/babel-plugin-polyfill-corejs3": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-1.0.0.tgz", @@ -2424,9 +1970,9 @@ } }, "node_modules/baseline-browser-mapping": { - "version": "2.10.34", - "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.34.tgz", - "integrity": "sha512-IMDedajPifLnHNY0X9n8hKxRTQ6/eTHwr5bDo04WnuqxyKw6LYtQywCuuqPZwhl3aBXMvQpJov42GLCwRRdQzw==", + "version": "2.11.21", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.11.21.tgz", + "integrity": "sha512-uh8vpY/1/YyFkunIDFH/12p7/7VdPKA1hejMVEbdkEaWnUz0Hesvx5EbiU6XxjyHZIOju+ZMbQJkRh+es3/spQ==", "dev": true, "license": "Apache-2.0", "bin": { @@ -2437,9 +1983,9 @@ } }, "node_modules/browserslist": { - "version": "4.28.2", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.2.tgz", - "integrity": "sha512-48xSriZYYg+8qXna9kwqjIVzuQxi+KYWp2+5nCYnYKPTr0LvD89Jqk2Or5ogxz0NUMfIjhh2lIUX/LyX9B4oIg==", + "version": "4.28.9", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.9.tgz", + "integrity": "sha512-EWazOblFYUvlGZcfGhPUPmYh3nikUxBVb+y9MJun5f3hBi812X+8MSQTujLBtgK3cf51fJWbWfOjyeO954d+Eg==", "dev": true, "funding": [ { @@ -2457,11 +2003,11 @@ ], "license": "MIT", "dependencies": { - "baseline-browser-mapping": "^2.10.12", - "caniuse-lite": "^1.0.30001782", - "electron-to-chromium": "^1.5.328", - "node-releases": "^2.0.36", - "update-browserslist-db": "^1.2.3" + "baseline-browser-mapping": "^2.11.20", + "caniuse-lite": "^1.0.30001810", + "electron-to-chromium": "^1.5.420", + "node-releases": "^2.0.54", + "update-browserslist-db": "^1.3.2" }, "bin": { "browserslist": "cli.js" @@ -2478,9 +2024,9 @@ "license": "MIT" }, "node_modules/caniuse-lite": { - "version": "1.0.30001797", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001797.tgz", - "integrity": "sha512-l8xKG+gwAIExZGl9FrF7KUwuOmk6wbEPC9Xoy/RtnWv1XG0Q4LFlagaLpUv3Kiza3W/wm27zy0yWJEieYKAP6w==", + "version": "1.0.30001810", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001810.tgz", + "integrity": "sha512-TITQPUkaz+aVk5GL6NhOdwk1aEaNTSDPsGFWrTuhKGtjTF70jL/Oht2W4c6rXUe5fu7Ie19VIahAXHIIiWWNeg==", "dev": true, "funding": [ { @@ -2538,13 +2084,16 @@ "license": "MIT" }, "node_modules/core-js-compat": { - "version": "3.49.0", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.49.0.tgz", - "integrity": "sha512-VQXt1jr9cBz03b331DFDCCP90b3fanciLkgiOoy8SBHy06gNf+vQ1A3WFLqG7I8TipYIKeYK9wxd0tUrvHcOZA==", + "version": "3.50.0", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.50.0.tgz", + "integrity": "sha512-XGpFGbMLHwSt74YLTKho7Ib242qi6O8MSX+sRokV4oz7iKXvQWGYZthjIhjRGMxjzVkAubBO512dKGYcefmX3Q==", "dev": true, "license": "MIT", "dependencies": { - "browserslist": "^4.28.1" + "browserslist": "^4.28.7" + }, + "engines": { + "node": ">=6.4.0" }, "funding": { "type": "opencollective", @@ -2567,9 +2116,9 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.5.368", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.368.tgz", - "integrity": "sha512-7RckJJK4uESJF9PxvfMWd3TGqIiieUTG4HxnKaKuIpGbcr+r2ZEB3g2gAhCP3Fqm42vJSzLfgab9eva/C4/XVw==", + "version": "1.5.422", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.422.tgz", + "integrity": "sha512-UvA/32XqrLDdZSn7Jllo1AYNcWji/G0d5M0GTViE7KoGBiMunw3a34Sb2KO4ZZyrSEhqsxFoVhWWJshdyfKqJA==", "dev": true, "license": "ISC" }, @@ -2584,9 +2133,9 @@ } }, "node_modules/enhanced-resolve": { - "version": "5.23.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.23.0.tgz", - "integrity": "sha512-yJN/BOOLxcOW2aQgeif9mSnaUB8KtvmMMp56oA1kx1CRfBKbhZm2pJ+NBY+3eOboHxix8lfjWpHE0Ei5U8RbSA==", + "version": "5.24.5", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.24.5.tgz", + "integrity": "sha512-L1l8TNvomm6UVW5B253AGxQagSQr+vGwhMlrrfRS2qmhx46AMpMVJKQYLvWYbysTMY8VoicOvzHzoHMbyzB+4A==", "dev": true, "license": "MIT", "dependencies": { @@ -2621,9 +2170,9 @@ } }, "node_modules/es-module-lexer": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-2.1.0.tgz", - "integrity": "sha512-n27zTYMjYu1aj4MjCWzSP7G9r75utsaoc8m61weK+W8JMBGGQybd43GstCXZ3WNmSFtGT9wi59qQTW6mhTR5LQ==", + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-2.3.2.tgz", + "integrity": "sha512-poHGpORABojJJucnV9KbOavETW8lBVnphkW77ER5/BQ5Fz7oXSoCNek7IH3vR5nRjdsEz926ibFYX8KtLQmdyw==", "dev": true, "license": "MIT" }, @@ -2637,53 +2186,6 @@ "node": ">=6" } }, - "node_modules/eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esrecurse/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, "node_modules/esutils": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", @@ -2712,9 +2214,9 @@ "license": "MIT" }, "node_modules/fast-uri": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.2.tgz", - "integrity": "sha512-rVjf7ArG3LTk+FS6Yw81V1DLuZl1bRbNrev6Tmd/9RaroeeRRJhAt7jg/6YFxbvAQXUCavSoZhPPj6oOx+5KjQ==", + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.7.tgz", + "integrity": "sha512-dOvZVzjdZdz7phd9v6jCbwxrBW3fK6n8Rc0CtdmM4bumzMnxywBYhuph6J819RRw/ku+rLbelwfMunktuzVVHg==", "dev": true, "funding": [ { @@ -2729,17 +2231,20 @@ "license": "BSD-3-Clause" }, "node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", "dev": true, "license": "MIT", "dependencies": { - "locate-path": "^5.0.0", + "locate-path": "^6.0.0", "path-exists": "^4.0.0" }, "engines": { - "node": ">=8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/flat": { @@ -2954,31 +2459,20 @@ "node": ">=0.10.0" } }, - "node_modules/loader-runner": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.2.tgz", - "integrity": "sha512-DFEqQ3ihfS9blba08cLfYf1NRAIEm+dDjic073DRDc3/JspI/8wYmtDsHwd3+4hwvdxSK7PGaElfTmm0awWJ4w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.11.5" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, "node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", "dev": true, "license": "MIT", "dependencies": { - "p-locate": "^4.1.0" + "p-locate": "^5.0.0" }, "engines": { - "node": ">=8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/lodash.debounce": { @@ -3009,9 +2503,9 @@ "license": "MIT" }, "node_modules/lru-cache": { - "version": "11.5.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.5.1.tgz", - "integrity": "sha512-RPimw/7aMdv2oqRrxKwvZXcPfwBrn/JZ2xYcY9Hus/6LaS3VOAKVWKWgNLCFSiOm1ESXinjsDlidVU7JlnCN2A==", + "version": "11.5.2", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.5.2.tgz", + "integrity": "sha512-4pfM1Ff0x50o0tQwb5ucw/RzNyD0/YJME6IVcStalZuMWxdt3sR3huStTtxz4PUmvZfRguvDejasvQ2kifR11g==", "dev": true, "license": "BlueOak-1.0.0", "engines": { @@ -3036,16 +2530,16 @@ } }, "node_modules/minimizer-webpack-plugin": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/minimizer-webpack-plugin/-/minimizer-webpack-plugin-5.6.1.tgz", - "integrity": "sha512-DoeAZz8Q1C1znwsUzej1fdoi4jCf7/+Em27ouLqfK/+3m8G+D7yDhUwrc3CNhjSzGUN1kn7Iv4sWmjflQHenpw==", + "version": "5.10.0", + "resolved": "https://registry.npmjs.org/minimizer-webpack-plugin/-/minimizer-webpack-plugin-5.10.0.tgz", + "integrity": "sha512-2//60T4S0X1Ug/dqLDOgDaGlZsN1Lv8hf8oB0NOV/KIHSaXlPwXBBIbim79dE2Z7NEs52ES8YHoSv6Lmsk+XNg==", "dev": true, "license": "MIT", "dependencies": { - "@jridgewell/trace-mapping": "^0.3.25", + "@jridgewell/trace-mapping": "^0.3.31", "jest-worker": "^27.4.5", - "schema-utils": "^4.3.0", - "terser": "^5.31.1" + "schema-utils": "^4.3.3", + "terser": "^5.51.0" }, "engines": { "node": ">= 10.13.0" @@ -3061,6 +2555,9 @@ "@minify-html/node": { "optional": true }, + "@napi-rs/image": { + "optional": true + }, "@swc/core": { "optional": true }, @@ -3085,12 +2582,21 @@ "html-minifier-terser": { "optional": true }, + "imagemin": { + "optional": true + }, "lightningcss": { "optional": true }, "postcss": { "optional": true }, + "sharp": { + "optional": true + }, + "svgo": { + "optional": true + }, "uglify-js": { "optional": true } @@ -3104,9 +2610,9 @@ "license": "MIT" }, "node_modules/node-releases": { - "version": "2.0.47", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.47.tgz", - "integrity": "sha512-Uzmd6LXpouKo8EUK68IjH4+E01w/hXyV3R3g/geCJo+rXLNfh1xucB+LOzYEOQPSiUK3h/xZf0cQGcSsmyL2Og==", + "version": "2.0.54", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.54.tgz", + "integrity": "sha512-YHs7BmmcsdAI5Ozuf8JZo6PT0mv2GIWC9vMfvUC3dp65M8hn7Ux8CPL+2oBI7juNuj9d0ndhTcznq2ODBps9cQ==", "dev": true, "license": "MIT", "engines": { @@ -3114,9 +2620,9 @@ } }, "node_modules/obug": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/obug/-/obug-2.1.3.tgz", - "integrity": "sha512-9miFgM2OFba7hB+pRgvtV84pYTBaoTHohvmIgiRt6dRIzbwEOIaNaP+dIlGs2fNFoB0SeISs0Jz5WFVRid6Xyg==", + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/obug/-/obug-2.1.4.tgz", + "integrity": "sha512-4a+OsYv9UktOJKE+l1A4OufDgdRF9PifWj+tJnHURo/P+WOxpG4GzUFL9qCalmWauao6ogiG+QvnCovwPoyAWA==", "dev": true, "funding": [ "https://github.com/sponsors/sxzz", @@ -3128,32 +2634,35 @@ } }, "node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", "dev": true, "license": "MIT", "dependencies": { - "p-try": "^2.0.0" + "yocto-queue": "^0.1.0" }, "engines": { - "node": ">=6" + "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", "dev": true, "license": "MIT", "dependencies": { - "p-limit": "^2.2.0" + "p-limit": "^3.0.2" }, "engines": { - "node": ">=8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/p-try": { @@ -3213,12 +2722,71 @@ "node": ">=8" } }, + "node_modules/pkg-dir/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pkg-dir/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/react": { - "version": "19.2.8", - "resolved": "https://registry.npmjs.org/react/-/react-19.2.8.tgz", - "integrity": "sha512-PWaYA1L/q9u2u7xYQi+Y3L3Yfnie7XyLeaJICV1MGD6LprsBxcAqGjYyr0eY3p+QdsA+x/Irkt4Qif8D63+Sbw==", + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", + "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==", "dev": true, "license": "MIT", + "dependencies": { + "loose-envify": "^1.1.0" + }, "engines": { "node": ">=0.10.0" } @@ -3507,9 +3075,9 @@ } }, "node_modules/terser": { - "version": "5.48.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.48.0.tgz", - "integrity": "sha512-J/9An6vs9Us6wKRriSFXBWdRZapREHqFzdNUKk0pmu804EMR6dr6winwo7e5JDxN4xahxQsuysyYFwlwj4XN/Q==", + "version": "5.51.2", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.51.2.tgz", + "integrity": "sha512-bWnjSNscmuI+GJze6ZupnHP8G/cTcsJF+bXCeQknk2SHQsgbNJnLrqiH9jZ2W4STPVXH2mDKKRX3iwPhc9Cn/Q==", "dev": true, "license": "BSD-2-Clause", "dependencies": { @@ -3577,9 +3145,9 @@ } }, "node_modules/update-browserslist-db": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz", - "integrity": "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==", + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.3.2.tgz", + "integrity": "sha512-UQ+MSxlhRm1bzjhU+DcuXfjFO1FzNtqhK5+9Yvlp90ItDLk5vT932A0rFu619nf7RVS+Y/VeaUW1jaRDqZ8VJw==", "dev": true, "funding": [ { @@ -3621,9 +3189,9 @@ } }, "node_modules/webpack": { - "version": "5.108.3", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.108.3.tgz", - "integrity": "sha512-hOpaCHmQVVY66IVTjofnH14IgSdmod2aquSGHGuYig/OIdWge01Hk2Wt988DZcwXumFUT4+FvJY5N+ikl8o/ww==", + "version": "5.110.3", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.110.3.tgz", + "integrity": "sha512-GuizBzRvo9YPpyoNMf3ag7AzxbaW85qrRSqTha345KyJbAFPt3/cMzBM0h+RWg7SK/7DdzRLINP3LvQ0hvr4hg==", "dev": true, "license": "MIT", "dependencies": { @@ -3633,22 +3201,19 @@ "@webassemblyjs/wasm-edit": "^1.14.1", "@webassemblyjs/wasm-parser": "^1.14.1", "acorn": "^8.16.0", - "acorn-import-phases": "^1.0.3", "browserslist": "^4.28.1", "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.22.2", + "enhanced-resolve": "^5.24.4", "es-module-lexer": "^2.1.0", - "eslint-scope": "5.1.1", "events": "^3.2.0", "graceful-fs": "^4.2.11", - "loader-runner": "^4.3.2", "mime-db": "^1.54.0", - "minimizer-webpack-plugin": "^5.6.1", + "minimizer-webpack-plugin": "^5.7.0", "neo-async": "^2.6.2", "schema-utils": "^4.3.3", "tapable": "^2.3.0", "watchpack": "^2.5.2", - "webpack-sources": "^3.5.0" + "webpack-sources": "^3.5.1" }, "bin": { "webpack": "bin/webpack.js" @@ -3667,9 +3232,9 @@ } }, "node_modules/webpack-cli": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-7.1.0.tgz", - "integrity": "sha512-pSJ5p5PkXRD88sfCq5Wo+coc42QykwRu5Md0DyESj0rT6PPPA2wTNabpHPKgqH8EMkfTDo3IWx3iiNXMu8XDBQ==", + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-7.2.3.tgz", + "integrity": "sha512-vDFU7jrfCctnN7jJQWPl+V26B51GLp11prVZXg50oeonsgeBzSTJEWmXkjHsOjTgMjlPOQM8GWLh33X9RN/0ow==", "dev": true, "license": "MIT", "dependencies": { @@ -3695,10 +3260,10 @@ "peerDependencies": { "js-yaml": "^4.0.0 || ^5.0.0", "json5": "^2.2.3", - "toml": "^3.0.0 || ^4.0.0", + "toml": "^3.0.0 || ^4.0.0 || ^5.0.0", "webpack": "^5.101.0", "webpack-bundle-analyzer": "^4.0.0 || ^5.0.0", - "webpack-dev-server": "^5.0.0" + "webpack-dev-server": "^5.0.0 || ^6.0.0" }, "peerDependenciesMeta": { "js-yaml": { @@ -3744,9 +3309,9 @@ } }, "node_modules/webpack-sources": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.5.0.tgz", - "integrity": "sha512-HPuy+uuoTCaaoEoI1LQ3JN9+vrPBvEesnnX1jADHy728cHSMlq4wUc4afYqahq2B1mhQVZxCXOkNTnXltr+2vQ==", + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.5.1.tgz", + "integrity": "sha512-jyuiGJdtvY434z5bUZrjz67v76/ePNvFZTp9Mdz29IlH4+GPsgyGjiv0fKI+M7BdkU6ADjulUcKAd3tUK3WlEw==", "dev": true, "license": "MIT", "engines": { diff --git a/frontend/package.json b/frontend/package.json index d4c1241..6215a9a 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -10,7 +10,7 @@ "@babel/preset-env": "^8.0.2", "@babel/preset-react": "^8.0.1", "babel-loader": "^10.1.1", - "react": "^19.2.8", + "react": "^18.3.1", "react-dom": "^18.3.1", "webpack": "^5.108.3", "webpack-cli": "^7.1.0" diff --git a/frontend/src/MapOverlay.jsx b/frontend/src/MapOverlay.jsx index e96ef43..cf760bb 100644 --- a/frontend/src/MapOverlay.jsx +++ b/frontend/src/MapOverlay.jsx @@ -3,16 +3,47 @@ import React, { useEffect, useState } from 'react'; // Shown only if the deployment didn't configure a message for the active language. const DEFAULT_MESSAGE = 'No points visible in this area.'; +// Accessible name for the close button, for the languages this plugin ships catalogues +// for. A deployment can override/extend it with config.closeLabels, same shape as messages. +const DEFAULT_CLOSE_LABELS = { en: 'Close', pl: 'Zamknij' }; + +// Closing hides the overlay for a while - long enough to explore the area that the popup +// was covering, short enough that the message comes back for a later, unrelated search. +// Tunable per deployment with config.dismissMinutes (read from the database plugin config). +const DEFAULT_DISMISS_MINUTES = 15; + +// setTimeout stores its delay in a signed 32-bit int; anything larger overflows and fires +// straight away, which would defeat a long configured window. +const MAX_TIMEOUT_MS = 2147483647; + +function resolveLocalized(byLang, fallback) { + const lang = globalThis.APP_LANG; + return byLang[lang] || byLang.en || fallback; +} + // config.messages is keyed by language code, e.g. { pl: "...", en: "..." }. A message // may contain HTML (e.g. an link to a partner page); the link is part of the message. function resolveMessage(config) { - const messages = (config && config.messages) || {}; - const lang = globalThis.APP_LANG; - return messages[lang] || messages.en || DEFAULT_MESSAGE; + return resolveLocalized((config && config.messages) || {}, DEFAULT_MESSAGE); +} + +function resolveCloseLabel(config) { + const labels = { ...DEFAULT_CLOSE_LABELS, ...((config && config.closeLabels) || {}) }; + return resolveLocalized(labels, DEFAULT_CLOSE_LABELS.en); +} + +function resolveDismissMs(config) { + const minutes = config && config.dismissMinutes; + const valid = typeof minutes === 'number' && Number.isFinite(minutes) && minutes > 0; + return (valid ? minutes : DEFAULT_DISMISS_MINUTES) * 60 * 1000; } export default function NothingsherePlugin({ config, isMapLoading = false }) { const [noMarkers, setNoMarkers] = useState(false); + // Deliberately in-memory only: a reload is itself a fresh look at the map, so the + // overlay comes back with it. Storing an epoch-ms deadline rather than a boolean keeps + // the expiry timer below immune to re-renders that hand us a new config object. + const [dismissedUntil, setDismissedUntil] = useState(0); useEffect(() => { const container = document.querySelector('.leaflet-container'); @@ -33,15 +64,27 @@ export default function NothingsherePlugin({ config, isMapLoading = false }) { return () => observer.disconnect(); }, []); + // Bring the overlay back when the window runs out, without waiting for a reload. + useEffect(() => { + const remaining = dismissedUntil - Date.now(); + if (remaining <= 0 || remaining > MAX_TIMEOUT_MS) return undefined; + + const timer = setTimeout(() => setDismissedUntil(0), remaining); + + return () => clearTimeout(timer); + }, [dismissedUntil]); + // Stay hidden until the map's data has loaded, so we don't flash the message // during the initial fetch (or while a lazy-load refetch is in flight). - if (isMapLoading || !noMarkers) return null; + if (isMapLoading || !noMarkers || dismissedUntil > Date.now()) return null; // Match the page's top header bar: both follow the site's primary_color // (falls back to Bootstrap's light surface). Text and links use the accent color. const background = globalThis.PRIMARY_COLOR || '#f8f9fa'; const color = globalThis.SECONDARY_COLOR || 'black'; + const dismiss = () => setDismissedUntil(Date.now() + resolveDismissMs(config)); + return (
{/* Links adopt the message text color instead of the browser default blue. */} + {/* config is authored by the deployment admin (trusted), so HTML is allowed. */}
diff --git a/poetry.lock b/poetry.lock index 8d6aa18..2a0efca 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,4 +1,4 @@ -# This file is automatically @generated by Poetry 2.4.1 and should not be changed by hand. +# This file is automatically @generated by Poetry 2.2.1 and should not be changed by hand. [[package]] name = "aiohappyeyeballs" @@ -1013,14 +1013,14 @@ files = [ [[package]] name = "goodmap" -version = "2.0.0a2" +version = "2.0.0a8" description = "Map engine to serve all the people :)" optional = false python-versions = "<4.0,>=3.10" groups = ["main"] files = [ - {file = "goodmap-2.0.0a2-py3-none-any.whl", hash = "sha256:b5506b9d2ef3b39068cb5195d147339663e2800e5aebe6d486c926601f9d185a"}, - {file = "goodmap-2.0.0a2.tar.gz", hash = "sha256:9de59d8bd04e06450789e37432242ebf112a570b61a1e9a61433f6e6eab89020"}, + {file = "goodmap-2.0.0a8-py3-none-any.whl", hash = "sha256:854ee55b2d00b671667fbd0c3ef35c28e5c2b4fd838dd3609af3f9b60b0c2a40"}, + {file = "goodmap-2.0.0a8.tar.gz", hash = "sha256:b15c3c1eee0fd4d834dacd05c0ec3fc23e5f8da7fb67d7dceeec4a1df7e98fb2"}, ] [package.dependencies] @@ -1034,7 +1034,7 @@ gql = ">=3.4.0,<4.0.0" gunicorn = ">=20.1,<26.0" humanize = ">=4.6.0,<5.0.0" numpy = ">=2.2.0,<3.0.0" -platzky = "2.0.0a10" +platzky = "2.0.0a14" pydantic = ">=2.12.0,<3.0.0" pysupercluster-problematy = ">=0.7.8,<0.8.0" PyYAML = ">=6.0,<7.0" @@ -1060,8 +1060,8 @@ files = [ google-auth = ">=2.14.1,<3.0.0" googleapis-common-protos = ">=1.63.2,<2.0.0" proto-plus = [ - {version = ">=1.24.0,<2.0.0", markers = "python_version < \"3.13\""}, {version = ">=1.25.0,<2.0.0", markers = "python_version >= \"3.13\""}, + {version = ">=1.24.0,<2.0.0", markers = "python_version < \"3.13\""}, ] protobuf = ">=5.29.6,<8.0.0" requests = ">=2.33.0,<3.0.0" @@ -1130,15 +1130,15 @@ files = [ ] [package.dependencies] -google-api-core = ">=2.15.0,<3.0.0.dev0" -google-auth = ">=2.26.1,<3.0.dev0" -google-cloud-core = ">=2.3.0,<3.0.dev0" -google-crc32c = ">=1.0,<2.0.dev0" +google-api-core = ">=2.15.0,<3.0.0dev" +google-auth = ">=2.26.1,<3.0dev" +google-cloud-core = ">=2.3.0,<3.0dev" +google-crc32c = ">=1.0,<2.0dev" google-resumable-media = ">=2.7.2" -requests = ">=2.18.0,<3.0.0.dev0" +requests = ">=2.18.0,<3.0.0dev" [package.extras] -protobuf = ["protobuf (<6.0.0.dev0)"] +protobuf = ["protobuf (<6.0.0dev)"] tracing = ["opentelemetry-api (>=1.1.0)"] [[package]] @@ -1825,14 +1825,14 @@ files = [ [[package]] name = "platzky" -version = "2.0.0a10" +version = "2.0.0a14" description = "Not only blog engine" optional = false python-versions = "<4.0,>=3.10" groups = ["main"] files = [ - {file = "platzky-2.0.0a10-py3-none-any.whl", hash = "sha256:8a5ee8f4a69c256d3c293a3b7d4ed5e08057fc1ea6ca96e07474a1db192f894a"}, - {file = "platzky-2.0.0a10.tar.gz", hash = "sha256:d9d3fe1c5920498928fce9d10b6557b3e4b100a13ffd0890c1d4db85c2a6b8d5"}, + {file = "platzky-2.0.0a14-py3-none-any.whl", hash = "sha256:4f4bfa32eb8bfb9657d31af8b5cc98923f854e0a8c6a648d89960f73dd390a20"}, + {file = "platzky-2.0.0a14.tar.gz", hash = "sha256:8e243d8e6ac56089a83a0bc7688f8dec60363187b74b06ac52ed8cec4ea61228"}, ] [package.dependencies] @@ -3323,4 +3323,4 @@ propcache = ">=0.2.1" [metadata] lock-version = "2.1" python-versions = "^3.12" -content-hash = "72e03fb126e5bcceb946fa17ae1d786b56927785139595274592d8aa9d51f372" +content-hash = "e74ee6936d4fd6d5568e596c0943f79410953af44cd495c69f621c078a0ed097" diff --git a/pyproject.toml b/pyproject.toml index cece6b2..fbd3a4c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -20,7 +20,7 @@ include = [ [tool.poetry.dependencies] python = "^3.12" -goodmap = "^2.0.0a2" +goodmap = "^2.0.0a8" [tool.poetry.plugins."goodmap.plugins"] nothingshere = "goodmap_nothingshere:NothingsherePlugin"