diff --git a/package-lock.json b/package-lock.json index 8ac4690..cdef6bd 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,4436 +1,74 @@ { - "name": "reactshop", + "name": "i18n-translator", "version": "1.0.0", "lockfileVersion": 3, "requires": true, "packages": { "": { - "name": "reactshop", + "name": "i18n-translator", "version": "1.0.0", - "license": "0BSD", - "dependencies": { - "@emotion/react": "^11.14.0", - "@emotion/styled": "^11.14.0", - "@mui/icons-material": "^7.1.1", - "@mui/material": "^7.1.1", - "@stripe/react-stripe-js": "^3.7.0", - "@stripe/stripe-js": "^7.3.1", - "chart.js": "^4.5.0", - "country-flag-icons": "^1.5.19", - "html-react-parser": "^5.2.5", - "i18next": "^25.3.2", - "i18next-browser-languagedetector": "^8.2.0", - "react": "^19.1.0", - "react-chartjs-2": "^5.3.0", - "react-dom": "^19.1.0", - "react-i18next": "^15.6.0", - "react-router-dom": "^7.6.2", - "sharp": "^0.34.2", - "socket.io-client": "^4.7.5" - }, - "devDependencies": { - "@babel/core": "^7.27.4", - "@babel/eslint-parser": "^7.27.5", - "@babel/preset-env": "^7.27.2", - "@babel/preset-react": "^7.27.1", - "@babel/register": "^7.26.0", - "@emotion/server": "^11.11.0", - "@eslint/js": "^9.25.0", - "@pmmmwh/react-refresh-webpack-plugin": "^0.6.0", - "babel-loader": "^10.0.0", - "cross-env": "^7.0.3", - "css-loader": "^7.1.2", - "eslint": "^9.29.0", - "eslint-plugin-import": "^2.31.0", - "eslint-plugin-react": "^7.37.5", - "eslint-plugin-react-hooks": "^5.2.0", - "eslint-webpack-plugin": "^5.0.2", - "globals": "^16.2.0", - "html-webpack-plugin": "^5.6.3", - "jsdom": "^26.1.0", - "mini-css-extract-plugin": "^2.9.2", - "react-refresh": "^0.17.0", - "shx": "^0.4.0", - "style-loader": "^4.0.0", - "terser-webpack-plugin": "^5.3.14", - "webpack": "^5.99.9", - "webpack-bundle-analyzer": "^4.10.2", - "webpack-cli": "^6.0.1", - "webpack-dev-server": "^5.2.2", - "webpack-node-externals": "^3.0.0" - } - }, - "node_modules/@ampproject/remapping": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", - "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.24" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@asamuzakjp/css-color": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/@asamuzakjp/css-color/-/css-color-3.2.0.tgz", - "integrity": "sha512-K1A6z8tS3XsmCMM86xoWdn7Fkdn9m6RSVtocUrJYIwZnFVkng/PvkEoWtOWmP+Scc6saYWHWZYbndEEXxl24jw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@csstools/css-calc": "^2.1.3", - "@csstools/css-color-parser": "^3.0.9", - "@csstools/css-parser-algorithms": "^3.0.4", - "@csstools/css-tokenizer": "^3.0.3", - "lru-cache": "^10.4.3" - } - }, - "node_modules/@asamuzakjp/css-color/node_modules/lru-cache": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", - "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", - "dev": true, - "license": "ISC" - }, - "node_modules/@babel/code-frame": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz", - "integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==", - "license": "MIT", - "dependencies": { - "@babel/helper-validator-identifier": "^7.27.1", - "js-tokens": "^4.0.0", - "picocolors": "^1.1.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/compat-data": { - "version": "7.28.0", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.28.0.tgz", - "integrity": "sha512-60X7qkglvrap8mn1lh2ebxXdZYtUcpd7gsmy9kLaBJ4i/WdY8PqTSdxyA8qraikqKQK5C1KRBKXqznrVapyNaw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/core": { - "version": "7.28.0", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.28.0.tgz", - "integrity": "sha512-UlLAnTPrFdNGoFtbSXwcGFQBtQZJCNjaN6hQNP3UPvuNXT1i82N26KL3dZeIpNalWywr9IuQuncaAfUaS1g6sQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.27.1", - "@babel/generator": "^7.28.0", - "@babel/helper-compilation-targets": "^7.27.2", - "@babel/helper-module-transforms": "^7.27.3", - "@babel/helpers": "^7.27.6", - "@babel/parser": "^7.28.0", - "@babel/template": "^7.27.2", - "@babel/traverse": "^7.28.0", - "@babel/types": "^7.28.0", - "convert-source-map": "^2.0.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.3", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" - } - }, - "node_modules/@babel/eslint-parser": { - "version": "7.28.0", - "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.28.0.tgz", - "integrity": "sha512-N4ntErOlKvcbTt01rr5wj3y55xnIdx1ymrfIr8C2WnM1Y9glFgWaGDEULJIazOX3XM9NRzhfJ6zZnQ1sBNWU+w==", - "dev": true, - "license": "MIT", - "dependencies": { - "@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1", - "eslint-visitor-keys": "^2.1.0", - "semver": "^6.3.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || >=14.0.0" - }, - "peerDependencies": { - "@babel/core": "^7.11.0", - "eslint": "^7.5.0 || ^8.0.0 || ^9.0.0" - } - }, - "node_modules/@babel/generator": { - "version": "7.28.0", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.28.0.tgz", - "integrity": "sha512-lJjzvrbEeWrhB4P3QBsH7tey117PjLZnDbLiQEKjQ/fNJTjuq4HSqgFA+UNSwZT8D7dxxbnuSBMsa1lrWzKlQg==", - "license": "MIT", - "dependencies": { - "@babel/parser": "^7.28.0", - "@babel/types": "^7.28.0", - "@jridgewell/gen-mapping": "^0.3.12", - "@jridgewell/trace-mapping": "^0.3.28", - "jsesc": "^3.0.2" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-annotate-as-pure": { - "version": "7.27.3", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.27.3.tgz", - "integrity": "sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.27.3" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-compilation-targets": { - "version": "7.27.2", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz", - "integrity": "sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/compat-data": "^7.27.2", - "@babel/helper-validator-option": "^7.27.1", - "browserslist": "^4.24.0", - "lru-cache": "^5.1.1", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.27.1.tgz", - "integrity": "sha512-QwGAmuvM17btKU5VqXfb+Giw4JcN0hjuufz3DYnpeVDvZLAObloM77bhMXiqry3Iio+Ai4phVRDwl6WU10+r5A==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.27.1", - "@babel/helper-member-expression-to-functions": "^7.27.1", - "@babel/helper-optimise-call-expression": "^7.27.1", - "@babel/helper-replace-supers": "^7.27.1", - "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1", - "@babel/traverse": "^7.27.1", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-create-regexp-features-plugin": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.27.1.tgz", - "integrity": "sha512-uVDC72XVf8UbrH5qQTc18Agb8emwjTiZrQE11Nv3CuBEZmVvTwwE9CBUEvHku06gQCAyYf8Nv6ja1IN+6LMbxQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.27.1", - "regexpu-core": "^6.2.0", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-define-polyfill-provider": { - "version": "0.6.5", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.5.tgz", - "integrity": "sha512-uJnGFcPsWQK8fvjgGP5LZUZZsYGIoPeRjSF5PGwrelYgq7Q15/Ft9NGFp1zglwgIv//W0uG4BevRuSJRyylZPg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-compilation-targets": "^7.27.2", - "@babel/helper-plugin-utils": "^7.27.1", - "debug": "^4.4.1", - "lodash.debounce": "^4.0.8", - "resolve": "^1.22.10" - }, - "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" - } - }, - "node_modules/@babel/helper-globals": { - "version": "7.28.0", - "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz", - "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==", - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.27.1.tgz", - "integrity": "sha512-E5chM8eWjTp/aNoVpcbfM7mLxu9XGLWYise2eBKGQomAk/Mb4XoxyqXTZbuTohbsl8EKqdlMhnDI2CCLfcs9wA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/traverse": "^7.27.1", - "@babel/types": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-imports": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz", - "integrity": "sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==", - "license": "MIT", - "dependencies": { - "@babel/traverse": "^7.27.1", - "@babel/types": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-transforms": { - "version": "7.27.3", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.27.3.tgz", - "integrity": "sha512-dSOvYwvyLsWBeIRyOeHXp5vPj5l1I011r52FM1+r1jCERv+aFXYk4whgQccYEGYxK2H3ZAIA8nuPkQ0HaUo3qg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-module-imports": "^7.27.1", - "@babel/helper-validator-identifier": "^7.27.1", - "@babel/traverse": "^7.27.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-optimise-call-expression": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.27.1.tgz", - "integrity": "sha512-URMGH08NzYFhubNSGJrpUEphGKQwMQYBySzat5cAByY1/YgIRkULnIy3tAMeszlL/so2HbeilYloUmSpd7GdVw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-plugin-utils": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.27.1.tgz", - "integrity": "sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-remap-async-to-generator": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.27.1.tgz", - "integrity": "sha512-7fiA521aVw8lSPeI4ZOD3vRFkoqkJcS+z4hFo82bFSH/2tNd6eJ5qCVMS5OzDmZh/kaHQeBaeyxK6wljcPtveA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.27.1", - "@babel/helper-wrap-function": "^7.27.1", - "@babel/traverse": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-replace-supers": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.27.1.tgz", - "integrity": "sha512-7EHz6qDZc8RYS5ElPoShMheWvEgERonFCs7IAonWLLUTXW59DP14bCZt89/GKyreYn8g3S83m21FelHKbeDCKA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-member-expression-to-functions": "^7.27.1", - "@babel/helper-optimise-call-expression": "^7.27.1", - "@babel/traverse": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.27.1.tgz", - "integrity": "sha512-Tub4ZKEXqbPjXgWLl2+3JpQAYBJ8+ikpQ2Ocj/q/r0LwE3UhENh7EUabyHjz2kCEsrRY83ew2DQdHluuiDQFzg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/traverse": "^7.27.1", - "@babel/types": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-string-parser": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", - "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz", - "integrity": "sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==", - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-option": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz", - "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-wrap-function": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.27.1.tgz", - "integrity": "sha512-NFJK2sHUvrjo8wAU/nQTWU890/zB2jj0qBcCbZbbf+005cAsv6tMjXz31fBign6M5ov1o0Bllu+9nbqkfsjjJQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/template": "^7.27.1", - "@babel/traverse": "^7.27.1", - "@babel/types": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helpers": { - "version": "7.27.6", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.27.6.tgz", - "integrity": "sha512-muE8Tt8M22638HU31A3CgfSUciwz1fhATfoVai05aPXGor//CdWDCbnlY1yvBPo07njuVOCNGCSp/GTt12lIug==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/template": "^7.27.2", - "@babel/types": "^7.27.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/parser": { - "version": "7.28.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.28.0.tgz", - "integrity": "sha512-jVZGvOxOuNSsuQuLRTh13nU0AogFlw32w/MT+LV6D3sP5WdbW61E77RnkbaO2dUvmPAYrBDJXGn5gGS6tH4j8g==", - "license": "MIT", - "dependencies": { - "@babel/types": "^7.28.0" - }, - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.27.1.tgz", - "integrity": "sha512-QPG3C9cCVRQLxAVwmefEmwdTanECuUBMQZ/ym5kiw3XKCGA7qkuQLcjWWHcrD/GKbn/WmJwaezfuuAOcyKlRPA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1", - "@babel/traverse": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-bugfix-safari-class-field-initializer-scope": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.27.1.tgz", - "integrity": "sha512-qNeq3bCKnGgLkEXUuFry6dPlGfCdQNZbn7yUAPCInwAJHMU7THJfrBSozkcWq5sNM6RcF3S8XyQL2A52KNR9IA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.27.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-7.27.1.tgz", - "integrity": "sha512-g4L7OYun04N1WyqMNjldFwlfPCLVkgB54A/YCXICZYBsvJJE3kByKv9c9+R/nAfmIfjl2rKYLNyMHboYbZaWaA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.27.1.tgz", - "integrity": "sha512-oO02gcONcD5O1iTLi/6frMJBIwWEHceWGSGqrpCmEL8nogiS6J9PBlE48CaK20/Jx1LuRml9aDftLgdjXT8+Cw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1", - "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1", - "@babel/plugin-transform-optional-chaining": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.13.0" - } - }, - "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.27.1.tgz", - "integrity": "sha512-6BpaYGDavZqkI6yT+KSPdpZFfpnd68UKXbcjI9pJ13pvHhPrCKWOOLp+ysvMeA+DxnhuPpgIaRpxRxo5A9t5jw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1", - "@babel/traverse": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-proposal-private-property-in-object": { - "version": "7.21.0-placeholder-for-preset-env.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", - "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-import-assertions": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.27.1.tgz", - "integrity": "sha512-UT/Jrhw57xg4ILHLFnzFpPDlMbcdEicaAtjPQpbj9wa8T4r5KVWCimHcL/460g8Ht0DMxDyjsLgiWSkVjnwPFg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-import-attributes": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.27.1.tgz", - "integrity": "sha512-oFT0FrKHgF53f4vOsZGi2Hh3I35PfSmVs4IBFLFj4dnafP+hIWDLg3VyKmUHfLoLHlyxY4C7DGtmHuJgn+IGww==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-jsx": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.27.1.tgz", - "integrity": "sha512-y8YTNIeKoyhGd9O0Jiyzyyqk8gdjnumGTQPsz0xOZOQ2RmkVJeZ1vmmfIvFEKqucBG6axJGBZDE/7iI5suUI/w==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-unicode-sets-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", - "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-transform-arrow-functions": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.27.1.tgz", - "integrity": "sha512-8Z4TGic6xW70FKThA5HYEKKyBpOOsucTOD1DjU3fZxDg+K3zBJcXMFnt/4yQiZnf5+MiOMSXQ9PaEK/Ilh1DeA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-async-generator-functions": { - "version": "7.28.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.28.0.tgz", - "integrity": "sha512-BEOdvX4+M765icNPZeidyADIvQ1m1gmunXufXxvRESy/jNNyfovIqUyE7MVgGBjWktCoJlzvFA1To2O4ymIO3Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1", - "@babel/helper-remap-async-to-generator": "^7.27.1", - "@babel/traverse": "^7.28.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-async-to-generator": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.27.1.tgz", - "integrity": "sha512-NREkZsZVJS4xmTr8qzE5y8AfIPqsdQfRuUiLRTEzb7Qii8iFWCyDKaUV2c0rCuh4ljDZ98ALHP/PetiBV2nddA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-module-imports": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1", - "@babel/helper-remap-async-to-generator": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-block-scoped-functions": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.27.1.tgz", - "integrity": "sha512-cnqkuOtZLapWYZUYM5rVIdv1nXYuFVIltZ6ZJ7nIj585QsjKM5dhL2Fu/lICXZ1OyIAFc7Qy+bvDAtTXqGrlhg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-block-scoping": { - "version": "7.28.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.28.0.tgz", - "integrity": "sha512-gKKnwjpdx5sER/wl0WN0efUBFzF/56YZO0RJrSYP4CljXnP31ByY7fol89AzomdlLNzI36AvOTmYHsnZTCkq8Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-class-properties": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.27.1.tgz", - "integrity": "sha512-D0VcalChDMtuRvJIu3U/fwWjf8ZMykz5iZsg77Nuj821vCKI3zCyRLwRdWbsuJ/uRwZhZ002QtCqIkwC/ZkvbA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-class-static-block": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.27.1.tgz", - "integrity": "sha512-s734HmYU78MVzZ++joYM+NkJusItbdRcbm+AGRgJCt3iA+yux0QpD9cBVdz3tKyrjVYWRl7j0mHSmv4lhV0aoA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.12.0" - } - }, - "node_modules/@babel/plugin-transform-classes": { - "version": "7.28.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.28.0.tgz", - "integrity": "sha512-IjM1IoJNw72AZFlj33Cu8X0q2XK/6AaVC3jQu+cgQ5lThWD5ajnuUAml80dqRmOhmPkTH8uAwnpMu9Rvj0LTRA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.27.3", - "@babel/helper-compilation-targets": "^7.27.2", - "@babel/helper-globals": "^7.28.0", - "@babel/helper-plugin-utils": "^7.27.1", - "@babel/helper-replace-supers": "^7.27.1", - "@babel/traverse": "^7.28.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-computed-properties": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.27.1.tgz", - "integrity": "sha512-lj9PGWvMTVksbWiDT2tW68zGS/cyo4AkZ/QTp0sQT0mjPopCmrSkzxeXkznjqBxzDI6TclZhOJbBmbBLjuOZUw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1", - "@babel/template": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-destructuring": { - "version": "7.28.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.28.0.tgz", - "integrity": "sha512-v1nrSMBiKcodhsyJ4Gf+Z0U/yawmJDBOTpEB3mcQY52r9RIyPneGyAS/yM6seP/8I+mWI3elOMtT5dB8GJVs+A==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1", - "@babel/traverse": "^7.28.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-dotall-regex": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.27.1.tgz", - "integrity": "sha512-gEbkDVGRvjj7+T1ivxrfgygpT7GUd4vmODtYpbs0gZATdkX8/iSnOtZSxiZnsgm1YjTgjI6VKBGSJJevkrclzw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-duplicate-keys": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.27.1.tgz", - "integrity": "sha512-MTyJk98sHvSs+cvZ4nOauwTTG1JeonDjSGvGGUNHreGQns+Mpt6WX/dVzWBHgg+dYZhkC4X+zTDfkTU+Vy9y7Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-duplicate-named-capturing-groups-regex": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.27.1.tgz", - "integrity": "sha512-hkGcueTEzuhB30B3eJCbCYeCaaEQOmQR0AdvzpD4LoN0GXMWzzGSuRrxR2xTnCrvNbVwK9N6/jQ92GSLfiZWoQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-transform-dynamic-import": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.27.1.tgz", - "integrity": "sha512-MHzkWQcEmjzzVW9j2q8LGjwGWpG2mjwaaB0BNQwst3FIjqsg8Ct/mIZlvSPJvfi9y2AC8mi/ktxbFVL9pZ1I4A==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-explicit-resource-management": { - "version": "7.28.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-explicit-resource-management/-/plugin-transform-explicit-resource-management-7.28.0.tgz", - "integrity": "sha512-K8nhUcn3f6iB+P3gwCv/no7OdzOZQcKchW6N389V6PD8NUWKZHzndOd9sPDVbMoBsbmjMqlB4L9fm+fEFNVlwQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1", - "@babel/plugin-transform-destructuring": "^7.28.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-exponentiation-operator": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.27.1.tgz", - "integrity": "sha512-uspvXnhHvGKf2r4VVtBpeFnuDWsJLQ6MF6lGJLC89jBR1uoVeqM416AZtTuhTezOfgHicpJQmoD5YUakO/YmXQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-export-namespace-from": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.27.1.tgz", - "integrity": "sha512-tQvHWSZ3/jH2xuq/vZDy0jNn+ZdXJeM8gHvX4lnJmsc3+50yPlWdZXIc5ay+umX+2/tJIqHqiEqcJvxlmIvRvQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-for-of": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.27.1.tgz", - "integrity": "sha512-BfbWFFEJFQzLCQ5N8VocnCtA8J1CLkNTe2Ms2wocj75dd6VpiqS5Z5quTYcUoo4Yq+DN0rtikODccuv7RU81sw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1", - "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-function-name": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.27.1.tgz", - "integrity": "sha512-1bQeydJF9Nr1eBCMMbC+hdwmRlsv5XYOMu03YSWFwNs0HsAmtSxxF1fyuYPqemVldVyFmlCU7w8UE14LupUSZQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-compilation-targets": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1", - "@babel/traverse": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-json-strings": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.27.1.tgz", - "integrity": "sha512-6WVLVJiTjqcQauBhn1LkICsR2H+zm62I3h9faTDKt1qP4jn2o72tSvqMwtGFKGTpojce0gJs+76eZ2uCHRZh0Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-literals": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.27.1.tgz", - "integrity": "sha512-0HCFSepIpLTkLcsi86GG3mTUzxV5jpmbv97hTETW3yzrAij8aqlD36toB1D0daVFJM8NK6GvKO0gslVQmm+zZA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-logical-assignment-operators": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.27.1.tgz", - "integrity": "sha512-SJvDs5dXxiae4FbSL1aBJlG4wvl594N6YEVVn9e3JGulwioy6z3oPjx/sQBO3Y4NwUu5HNix6KJ3wBZoewcdbw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-member-expression-literals": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.27.1.tgz", - "integrity": "sha512-hqoBX4dcZ1I33jCSWcXrP+1Ku7kdqXf1oeah7ooKOIiAdKQ+uqftgCFNOSzA5AMS2XIHEYeGFg4cKRCdpxzVOQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-amd": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.27.1.tgz", - "integrity": "sha512-iCsytMg/N9/oFq6n+gFTvUYDZQOMK5kEdeYxmxt91fcJGycfxVP9CnrxoliM0oumFERba2i8ZtwRUCMhvP1LnA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-module-transforms": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.27.1.tgz", - "integrity": "sha512-OJguuwlTYlN0gBZFRPqwOGNWssZjfIUdS7HMYtN8c1KmwpwHFBwTeFZrg9XZa+DFTitWOW5iTAG7tyCUPsCCyw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-module-transforms": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-systemjs": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.27.1.tgz", - "integrity": "sha512-w5N1XzsRbc0PQStASMksmUeqECuzKuTJer7kFagK8AXgpCMkeDMO5S+aaFb7A51ZYDF7XI34qsTX+fkHiIm5yA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-module-transforms": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1", - "@babel/helper-validator-identifier": "^7.27.1", - "@babel/traverse": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-umd": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.27.1.tgz", - "integrity": "sha512-iQBE/xC5BV1OxJbp6WG7jq9IWiD+xxlZhLrdwpPkTX3ydmXdvoCpyfJN7acaIBZaOqTfr76pgzqBJflNbeRK+w==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-module-transforms": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.27.1.tgz", - "integrity": "sha512-SstR5JYy8ddZvD6MhV0tM/j16Qds4mIpJTOd1Yu9J9pJjH93bxHECF7pgtc28XvkzTD6Pxcm/0Z73Hvk7kb3Ng==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-transform-new-target": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.27.1.tgz", - "integrity": "sha512-f6PiYeqXQ05lYq3TIfIDu/MtliKUbNwkGApPUvyo6+tc7uaR4cPjPe7DFPr15Uyycg2lZU6btZ575CuQoYh7MQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.27.1.tgz", - "integrity": "sha512-aGZh6xMo6q9vq1JGcw58lZ1Z0+i0xB2x0XaauNIUXd6O1xXc3RwoWEBlsTQrY4KQ9Jf0s5rgD6SiNkaUdJegTA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-numeric-separator": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.27.1.tgz", - "integrity": "sha512-fdPKAcujuvEChxDBJ5c+0BTaS6revLV7CJL08e4m3de8qJfNIuCc2nc7XJYOjBoTMJeqSmwXJ0ypE14RCjLwaw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-object-rest-spread": { - "version": "7.28.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.28.0.tgz", - "integrity": "sha512-9VNGikXxzu5eCiQjdE4IZn8sb9q7Xsk5EXLDBKUYg1e/Tve8/05+KJEtcxGxAgCY5t/BpKQM+JEL/yT4tvgiUA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-compilation-targets": "^7.27.2", - "@babel/helper-plugin-utils": "^7.27.1", - "@babel/plugin-transform-destructuring": "^7.28.0", - "@babel/plugin-transform-parameters": "^7.27.7", - "@babel/traverse": "^7.28.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-object-super": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.27.1.tgz", - "integrity": "sha512-SFy8S9plRPbIcxlJ8A6mT/CxFdJx/c04JEctz4jf8YZaVS2px34j7NXRrlGlHkN/M2gnpL37ZpGRGVFLd3l8Ng==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1", - "@babel/helper-replace-supers": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-optional-catch-binding": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.27.1.tgz", - "integrity": "sha512-txEAEKzYrHEX4xSZN4kJ+OfKXFVSWKB2ZxM9dpcE3wT7smwkNmXo5ORRlVzMVdJbD+Q8ILTgSD7959uj+3Dm3Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-optional-chaining": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.27.1.tgz", - "integrity": "sha512-BQmKPPIuc8EkZgNKsv0X4bPmOoayeu4F1YCwx2/CfmDSXDbp7GnzlUH+/ul5VGfRg1AoFPsrIThlEBj2xb4CAg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1", - "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-parameters": { - "version": "7.27.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.27.7.tgz", - "integrity": "sha512-qBkYTYCb76RRxUM6CcZA5KRu8K4SM8ajzVeUgVdMVO9NN9uI/GaVmBg/WKJJGnNokV9SY8FxNOVWGXzqzUidBg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-private-methods": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.27.1.tgz", - "integrity": "sha512-10FVt+X55AjRAYI9BrdISN9/AQWHqldOeZDUoLyif1Kn05a56xVBXb8ZouL8pZ9jem8QpXaOt8TS7RHUIS+GPA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-private-property-in-object": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.27.1.tgz", - "integrity": "sha512-5J+IhqTi1XPa0DXF83jYOaARrX+41gOewWbkPyjMNRDqgOCqdffGh8L3f/Ek5utaEBZExjSAzcyjmV9SSAWObQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.27.1", - "@babel/helper-create-class-features-plugin": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-property-literals": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.27.1.tgz", - "integrity": "sha512-oThy3BCuCha8kDZ8ZkgOg2exvPYUlprMukKQXI1r1pJ47NCvxfkEy8vK+r/hT9nF0Aa4H1WUPZZjHTFtAhGfmQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-display-name": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.27.1.tgz", - "integrity": "sha512-p9+Vl3yuHPmkirRrg021XiP+EETmPMQTLr6Ayjj85RLNEbb3Eya/4VI0vAdzQG9SEAl2Lnt7fy5lZyMzjYoZQQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-jsx": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.27.1.tgz", - "integrity": "sha512-2KH4LWGSrJIkVf5tSiBFYuXDAoWRq2MMwgivCf+93dd0GQi8RXLjKA/0EvRnVV5G0hrHczsquXuD01L8s6dmBw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.27.1", - "@babel/helper-module-imports": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1", - "@babel/plugin-syntax-jsx": "^7.27.1", - "@babel/types": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-jsx-development": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.27.1.tgz", - "integrity": "sha512-ykDdF5yI4f1WrAolLqeF3hmYU12j9ntLQl/AOG1HAS21jxyg1Q0/J/tpREuYLfatGdGmXp/3yS0ZA76kOlVq9Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/plugin-transform-react-jsx": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-pure-annotations": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.27.1.tgz", - "integrity": "sha512-JfuinvDOsD9FVMTHpzA/pBLisxpv1aSf+OIV8lgH3MuWrks19R27e6a6DipIg4aX1Zm9Wpb04p8wljfKrVSnPA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-regenerator": { - "version": "7.28.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.28.0.tgz", - "integrity": "sha512-LOAozRVbqxEVjSKfhGnuLoE4Kz4Oc5UJzuvFUhSsQzdCdaAQu06mG8zDv2GFSerM62nImUZ7K92vxnQcLSDlCQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-regexp-modifiers": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regexp-modifiers/-/plugin-transform-regexp-modifiers-7.27.1.tgz", - "integrity": "sha512-TtEciroaiODtXvLZv4rmfMhkCv8jx3wgKpL68PuiPh2M4fvz5jhsA7697N1gMvkvr/JTF13DrFYyEbY9U7cVPA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-transform-reserved-words": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.27.1.tgz", - "integrity": "sha512-V2ABPHIJX4kC7HegLkYoDpfg9PVmuWy/i6vUM5eGK22bx4YVFD3M5F0QQnWQoDs6AGsUWTVOopBiMFQgHaSkVw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-shorthand-properties": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.27.1.tgz", - "integrity": "sha512-N/wH1vcn4oYawbJ13Y/FxcQrWk63jhfNa7jef0ih7PHSIHX2LB7GWE1rkPrOnka9kwMxb6hMl19p7lidA+EHmQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-spread": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.27.1.tgz", - "integrity": "sha512-kpb3HUqaILBJcRFVhFUs6Trdd4mkrzcGXss+6/mxUd273PfbWqSDHRzMT2234gIg2QYfAjvXLSquP1xECSg09Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1", - "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-sticky-regex": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.27.1.tgz", - "integrity": "sha512-lhInBO5bi/Kowe2/aLdBAawijx+q1pQzicSgnkB6dUPc1+RC8QmJHKf2OjvU+NZWitguJHEaEmbV6VWEouT58g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-template-literals": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.27.1.tgz", - "integrity": "sha512-fBJKiV7F2DxZUkg5EtHKXQdbsbURW3DZKQUWphDum0uRP6eHGGa/He9mc0mypL680pb+e/lDIthRohlv8NCHkg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-typeof-symbol": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.27.1.tgz", - "integrity": "sha512-RiSILC+nRJM7FY5srIyc4/fGIwUhyDuuBSdWn4y6yT6gm652DpCHZjIipgn6B7MQ1ITOUnAKWixEUjQRIBIcLw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-unicode-escapes": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.27.1.tgz", - "integrity": "sha512-Ysg4v6AmF26k9vpfFuTZg8HRfVWzsh1kVfowA23y9j/Gu6dOuahdUVhkLqpObp3JIv27MLSii6noRnuKN8H0Mg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-unicode-property-regex": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.27.1.tgz", - "integrity": "sha512-uW20S39PnaTImxp39O5qFlHLS9LJEmANjMG7SxIhap8rCHqu0Ik+tLEPX5DKmHn6CsWQ7j3lix2tFOa5YtL12Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-unicode-regex": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.27.1.tgz", - "integrity": "sha512-xvINq24TRojDuyt6JGtHmkVkrfVV3FPT16uytxImLeBZqW3/H52yN+kM1MGuyPkIQxrzKwPHs5U/MP3qKyzkGw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-unicode-sets-regex": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.27.1.tgz", - "integrity": "sha512-EtkOujbc4cgvb0mlpQefi4NTPBzhSIevblFevACNLUspmrALgmEBdL/XfnyyITfd8fKBZrZys92zOWcik7j9Tw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/preset-env": { - "version": "7.28.0", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.28.0.tgz", - "integrity": "sha512-VmaxeGOwuDqzLl5JUkIRM1X2Qu2uKGxHEQWh+cvvbl7JuJRgKGJSfsEF/bUaxFhJl/XAyxBe7q7qSuTbKFuCyg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/compat-data": "^7.28.0", - "@babel/helper-compilation-targets": "^7.27.2", - "@babel/helper-plugin-utils": "^7.27.1", - "@babel/helper-validator-option": "^7.27.1", - "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.27.1", - "@babel/plugin-bugfix-safari-class-field-initializer-scope": "^7.27.1", - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.27.1", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.27.1", - "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.27.1", - "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", - "@babel/plugin-syntax-import-assertions": "^7.27.1", - "@babel/plugin-syntax-import-attributes": "^7.27.1", - "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", - "@babel/plugin-transform-arrow-functions": "^7.27.1", - "@babel/plugin-transform-async-generator-functions": "^7.28.0", - "@babel/plugin-transform-async-to-generator": "^7.27.1", - "@babel/plugin-transform-block-scoped-functions": "^7.27.1", - "@babel/plugin-transform-block-scoping": "^7.28.0", - "@babel/plugin-transform-class-properties": "^7.27.1", - "@babel/plugin-transform-class-static-block": "^7.27.1", - "@babel/plugin-transform-classes": "^7.28.0", - "@babel/plugin-transform-computed-properties": "^7.27.1", - "@babel/plugin-transform-destructuring": "^7.28.0", - "@babel/plugin-transform-dotall-regex": "^7.27.1", - "@babel/plugin-transform-duplicate-keys": "^7.27.1", - "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^7.27.1", - "@babel/plugin-transform-dynamic-import": "^7.27.1", - "@babel/plugin-transform-explicit-resource-management": "^7.28.0", - "@babel/plugin-transform-exponentiation-operator": "^7.27.1", - "@babel/plugin-transform-export-namespace-from": "^7.27.1", - "@babel/plugin-transform-for-of": "^7.27.1", - "@babel/plugin-transform-function-name": "^7.27.1", - "@babel/plugin-transform-json-strings": "^7.27.1", - "@babel/plugin-transform-literals": "^7.27.1", - "@babel/plugin-transform-logical-assignment-operators": "^7.27.1", - "@babel/plugin-transform-member-expression-literals": "^7.27.1", - "@babel/plugin-transform-modules-amd": "^7.27.1", - "@babel/plugin-transform-modules-commonjs": "^7.27.1", - "@babel/plugin-transform-modules-systemjs": "^7.27.1", - "@babel/plugin-transform-modules-umd": "^7.27.1", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.27.1", - "@babel/plugin-transform-new-target": "^7.27.1", - "@babel/plugin-transform-nullish-coalescing-operator": "^7.27.1", - "@babel/plugin-transform-numeric-separator": "^7.27.1", - "@babel/plugin-transform-object-rest-spread": "^7.28.0", - "@babel/plugin-transform-object-super": "^7.27.1", - "@babel/plugin-transform-optional-catch-binding": "^7.27.1", - "@babel/plugin-transform-optional-chaining": "^7.27.1", - "@babel/plugin-transform-parameters": "^7.27.7", - "@babel/plugin-transform-private-methods": "^7.27.1", - "@babel/plugin-transform-private-property-in-object": "^7.27.1", - "@babel/plugin-transform-property-literals": "^7.27.1", - "@babel/plugin-transform-regenerator": "^7.28.0", - "@babel/plugin-transform-regexp-modifiers": "^7.27.1", - "@babel/plugin-transform-reserved-words": "^7.27.1", - "@babel/plugin-transform-shorthand-properties": "^7.27.1", - "@babel/plugin-transform-spread": "^7.27.1", - "@babel/plugin-transform-sticky-regex": "^7.27.1", - "@babel/plugin-transform-template-literals": "^7.27.1", - "@babel/plugin-transform-typeof-symbol": "^7.27.1", - "@babel/plugin-transform-unicode-escapes": "^7.27.1", - "@babel/plugin-transform-unicode-property-regex": "^7.27.1", - "@babel/plugin-transform-unicode-regex": "^7.27.1", - "@babel/plugin-transform-unicode-sets-regex": "^7.27.1", - "@babel/preset-modules": "0.1.6-no-external-plugins", - "babel-plugin-polyfill-corejs2": "^0.4.14", - "babel-plugin-polyfill-corejs3": "^0.13.0", - "babel-plugin-polyfill-regenerator": "^0.6.5", - "core-js-compat": "^3.43.0", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/preset-modules": { - "version": "0.1.6-no-external-plugins", - "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", - "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/types": "^7.4.4", - "esutils": "^2.0.2" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0 || ^8.0.0-0 <8.0.0" - } - }, - "node_modules/@babel/preset-react": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.27.1.tgz", - "integrity": "sha512-oJHWh2gLhU9dW9HHr42q0cI0/iHHXTLGe39qvpAZZzagHy0MzYLCnCVV0symeRvzmjHyVU7mw2K06E6u/JwbhA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1", - "@babel/helper-validator-option": "^7.27.1", - "@babel/plugin-transform-react-display-name": "^7.27.1", - "@babel/plugin-transform-react-jsx": "^7.27.1", - "@babel/plugin-transform-react-jsx-development": "^7.27.1", - "@babel/plugin-transform-react-pure-annotations": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/register": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.27.1.tgz", - "integrity": "sha512-K13lQpoV54LATKkzBpBAEu1GGSIRzxR9f4IN4V8DCDgiUMo2UDGagEZr3lPeVNJPLkWUi5JE4hCHKneVTwQlYQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "clone-deep": "^4.0.1", - "find-cache-dir": "^2.0.0", - "make-dir": "^2.1.0", - "pirates": "^4.0.6", - "source-map-support": "^0.5.16" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/runtime": { - "version": "7.27.6", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.27.6.tgz", - "integrity": "sha512-vbavdySgbTTrmFE+EsiqUTzlOr5bzlnJtUv9PynGCAKvfQqjIXbvFdumPM/GxMDfyuGMJaJAU6TO4zc1Jf1i8Q==", - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/template": { - "version": "7.27.2", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz", - "integrity": "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==", - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.27.1", - "@babel/parser": "^7.27.2", - "@babel/types": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/traverse": { - "version": "7.28.0", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.0.tgz", - "integrity": "sha512-mGe7UK5wWyh0bKRfupsUchrQGqvDbZDbKJw+kcRGSmdHVYrv+ltd0pnpDTVpiTqnaBru9iEvA8pz8W46v0Amwg==", - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.27.1", - "@babel/generator": "^7.28.0", - "@babel/helper-globals": "^7.28.0", - "@babel/parser": "^7.28.0", - "@babel/template": "^7.27.2", - "@babel/types": "^7.28.0", - "debug": "^4.3.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/types": { - "version": "7.28.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.0.tgz", - "integrity": "sha512-jYnje+JyZG5YThjHiF28oT4SIZLnYOcSBb6+SDaFIyzDVSkXQmQQYclJ2R+YxcdmK0AX6x1E5OQNtuh3jHDrUg==", - "license": "MIT", - "dependencies": { - "@babel/helper-string-parser": "^7.27.1", - "@babel/helper-validator-identifier": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@csstools/color-helpers": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/@csstools/color-helpers/-/color-helpers-5.0.2.tgz", - "integrity": "sha512-JqWH1vsgdGcw2RR6VliXXdA0/59LttzlU8UlRT/iUUsEeWfYq8I+K0yhihEUTTHLRm1EXvpsCx3083EU15ecsA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT-0", - "engines": { - "node": ">=18" - } - }, - "node_modules/@csstools/css-calc": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@csstools/css-calc/-/css-calc-2.1.4.tgz", - "integrity": "sha512-3N8oaj+0juUw/1H3YwmDDJXCgTB1gKU6Hc/bB502u9zR0q2vd786XJH9QfrKIEgFlZmhZiq6epXl4rHqhzsIgQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT", - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@csstools/css-parser-algorithms": "^3.0.5", - "@csstools/css-tokenizer": "^3.0.4" - } - }, - "node_modules/@csstools/css-color-parser": { - "version": "3.0.10", - "resolved": "https://registry.npmjs.org/@csstools/css-color-parser/-/css-color-parser-3.0.10.tgz", - "integrity": "sha512-TiJ5Ajr6WRd1r8HSiwJvZBiJOqtH86aHpUjq5aEKWHiII2Qfjqd/HCWKPOW8EP4vcspXbHnXrwIDlu5savQipg==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT", - "dependencies": { - "@csstools/color-helpers": "^5.0.2", - "@csstools/css-calc": "^2.1.4" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@csstools/css-parser-algorithms": "^3.0.5", - "@csstools/css-tokenizer": "^3.0.4" - } - }, - "node_modules/@csstools/css-parser-algorithms": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-3.0.5.tgz", - "integrity": "sha512-DaDeUkXZKjdGhgYaHNJTV9pV7Y9B3b644jCLs9Upc3VeNGg6LWARAT6O+Q+/COo+2gg/bM5rhpMAtf70WqfBdQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT", - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@csstools/css-tokenizer": "^3.0.4" - } - }, - "node_modules/@csstools/css-tokenizer": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-3.0.4.tgz", - "integrity": "sha512-Vd/9EVDiu6PPJt9yAh6roZP6El1xHrdvIVGjyBsHR0RYwNHgL7FJPyIIW4fANJNG6FtyZfvlRPpFI4ZM/lubvw==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT", - "engines": { - "node": ">=18" - } - }, - "node_modules/@discoveryjs/json-ext": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.6.3.tgz", - "integrity": "sha512-4B4OijXeVNOPZlYA2oEwWOTkzyltLao+xbotHQeqN++Rv27Y6s818+n2Qkp8q+Fxhn0t/5lA5X1Mxktud8eayQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=14.17.0" - } - }, - "node_modules/@emnapi/runtime": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.4.3.tgz", - "integrity": "sha512-pBPWdu6MLKROBX05wSNKcNb++m5Er+KQ9QkB+WVM+pW2Kx9hoSrVTnu3BdkI5eBLZoKu/J6mW/B6i6bJB2ytXQ==", - "license": "MIT", - "optional": true, - "dependencies": { - "tslib": "^2.4.0" - } - }, - "node_modules/@emotion/babel-plugin": { - "version": "11.13.5", - "resolved": "https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.13.5.tgz", - "integrity": "sha512-pxHCpT2ex+0q+HH91/zsdHkw/lXd468DIN2zvfvLtPKLLMo6gQj7oLObq8PhkrxOZb/gGCq03S3Z7PDhS8pduQ==", - "license": "MIT", - "dependencies": { - "@babel/helper-module-imports": "^7.16.7", - "@babel/runtime": "^7.18.3", - "@emotion/hash": "^0.9.2", - "@emotion/memoize": "^0.9.0", - "@emotion/serialize": "^1.3.3", - "babel-plugin-macros": "^3.1.0", - "convert-source-map": "^1.5.0", - "escape-string-regexp": "^4.0.0", - "find-root": "^1.1.0", - "source-map": "^0.5.7", - "stylis": "4.2.0" - } - }, - "node_modules/@emotion/babel-plugin/node_modules/convert-source-map": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", - "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", - "license": "MIT" - }, - "node_modules/@emotion/cache": { - "version": "11.14.0", - "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-11.14.0.tgz", - "integrity": "sha512-L/B1lc/TViYk4DcpGxtAVbx0ZyiKM5ktoIyafGkH6zg/tj+mA+NE//aPYKG0k8kCHSHVJrpLpcAlOBEXQ3SavA==", - "license": "MIT", - "dependencies": { - "@emotion/memoize": "^0.9.0", - "@emotion/sheet": "^1.4.0", - "@emotion/utils": "^1.4.2", - "@emotion/weak-memoize": "^0.4.0", - "stylis": "4.2.0" - } - }, - "node_modules/@emotion/hash": { - "version": "0.9.2", - "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.9.2.tgz", - "integrity": "sha512-MyqliTZGuOm3+5ZRSaaBGP3USLw6+EGykkwZns2EPC5g8jJ4z9OrdZY9apkl3+UP9+sdz76YYkwCKP5gh8iY3g==", - "license": "MIT" - }, - "node_modules/@emotion/is-prop-valid": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.3.1.tgz", - "integrity": "sha512-/ACwoqx7XQi9knQs/G0qKvv5teDMhD7bXYns9N/wM8ah8iNb8jZ2uNO0YOgiq2o2poIvVtJS2YALasQuMSQ7Kw==", - "license": "MIT", - "dependencies": { - "@emotion/memoize": "^0.9.0" - } - }, - "node_modules/@emotion/memoize": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.9.0.tgz", - "integrity": "sha512-30FAj7/EoJ5mwVPOWhAyCX+FPfMDrVecJAM+Iw9NRoSl4BBAQeqj4cApHHUXOVvIPgLVDsCFoz/hGD+5QQD1GQ==", - "license": "MIT" - }, - "node_modules/@emotion/react": { - "version": "11.14.0", - "resolved": "https://registry.npmjs.org/@emotion/react/-/react-11.14.0.tgz", - "integrity": "sha512-O000MLDBDdk/EohJPFUqvnp4qnHeYkVP5B0xEG0D/L7cOKP9kefu2DXn8dj74cQfsEzUqh+sr1RzFqiL1o+PpA==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.18.3", - "@emotion/babel-plugin": "^11.13.5", - "@emotion/cache": "^11.14.0", - "@emotion/serialize": "^1.3.3", - "@emotion/use-insertion-effect-with-fallbacks": "^1.2.0", - "@emotion/utils": "^1.4.2", - "@emotion/weak-memoize": "^0.4.0", - "hoist-non-react-statics": "^3.3.1" - }, - "peerDependencies": { - "react": ">=16.8.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@emotion/serialize": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-1.3.3.tgz", - "integrity": "sha512-EISGqt7sSNWHGI76hC7x1CksiXPahbxEOrC5RjmFRJTqLyEK9/9hZvBbiYn70dw4wuwMKiEMCUlR6ZXTSWQqxA==", - "license": "MIT", - "dependencies": { - "@emotion/hash": "^0.9.2", - "@emotion/memoize": "^0.9.0", - "@emotion/unitless": "^0.10.0", - "@emotion/utils": "^1.4.2", - "csstype": "^3.0.2" - } - }, - "node_modules/@emotion/server": { - "version": "11.11.0", - "resolved": "https://registry.npmjs.org/@emotion/server/-/server-11.11.0.tgz", - "integrity": "sha512-6q89fj2z8VBTx9w93kJ5n51hsmtYuFPtZgnc1L8VzRx9ti4EU6EyvF6Nn1H1x3vcCQCF7u2dB2lY4AYJwUW4PA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@emotion/utils": "^1.2.1", - "html-tokenize": "^2.0.0", - "multipipe": "^1.0.2", - "through": "^2.3.8" - }, - "peerDependencies": { - "@emotion/css": "^11.0.0-rc.0" - }, - "peerDependenciesMeta": { - "@emotion/css": { - "optional": true - } - } - }, - "node_modules/@emotion/sheet": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@emotion/sheet/-/sheet-1.4.0.tgz", - "integrity": "sha512-fTBW9/8r2w3dXWYM4HCB1Rdp8NLibOw2+XELH5m5+AkWiL/KqYX6dc0kKYlaYyKjrQ6ds33MCdMPEwgs2z1rqg==", - "license": "MIT" - }, - "node_modules/@emotion/styled": { - "version": "11.14.0", - "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-11.14.0.tgz", - "integrity": "sha512-XxfOnXFffatap2IyCeJyNov3kiDQWoR08gPUQxvbL7fxKryGBKUZUkG6Hz48DZwVrJSVh9sJboyV1Ds4OW6SgA==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.18.3", - "@emotion/babel-plugin": "^11.13.5", - "@emotion/is-prop-valid": "^1.3.0", - "@emotion/serialize": "^1.3.3", - "@emotion/use-insertion-effect-with-fallbacks": "^1.2.0", - "@emotion/utils": "^1.4.2" - }, - "peerDependencies": { - "@emotion/react": "^11.0.0-rc.0", - "react": ">=16.8.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@emotion/unitless": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.10.0.tgz", - "integrity": "sha512-dFoMUuQA20zvtVTuxZww6OHoJYgrzfKM1t52mVySDJnMSEa08ruEvdYQbhvyu6soU+NeLVd3yKfTfT0NeV6qGg==", - "license": "MIT" - }, - "node_modules/@emotion/use-insertion-effect-with-fallbacks": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.2.0.tgz", - "integrity": "sha512-yJMtVdH59sxi/aVJBpk9FQq+OR8ll5GT8oWd57UpeaKEVGab41JWaCFA7FRLoMLloOZF/c/wsPoe+bfGmRKgDg==", - "license": "MIT", - "peerDependencies": { - "react": ">=16.8.0" - } - }, - "node_modules/@emotion/utils": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-1.4.2.tgz", - "integrity": "sha512-3vLclRofFziIa3J2wDh9jjbkUz9qk5Vi3IZ/FSTKViB0k+ef0fPV7dYrUIugbgupYDx7v9ud/SjrtEP8Y4xLoA==", - "license": "MIT" - }, - "node_modules/@emotion/weak-memoize": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.4.0.tgz", - "integrity": "sha512-snKqtPW01tN0ui7yu9rGv69aJXr/a/Ywvl11sUjNtEcRc+ng/mQriFL0wLXMef74iHa/EkftbDzU9F8iFbH+zg==", - "license": "MIT" - }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.6.1.tgz", - "integrity": "sha512-KTsJMmobmbrFLe3LDh0PC2FXpcSYJt/MLjlkh/9LEnmKYLSYmT/0EW9JWANjeoemiuZrmogti0tW5Ch+qNUYDw==", - "dev": true, - "license": "MIT", - "dependencies": { - "eslint-visitor-keys": "^3.4.3" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" - } - }, - "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@eslint-community/regexpp": { - "version": "4.12.1", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz", - "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" - } - }, - "node_modules/@eslint/config-array": { - "version": "0.20.1", - "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.20.1.tgz", - "integrity": "sha512-OL0RJzC/CBzli0DrrR31qzj6d6i6Mm3HByuhflhl4LOBiWxN+3i6/t/ZQQNii4tjksXi8r2CRW1wMpWA2ULUEw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/object-schema": "^2.1.6", - "debug": "^4.3.1", - "minimatch": "^3.1.2" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@eslint/config-helpers": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.2.1.tgz", - "integrity": "sha512-RI17tsD2frtDu/3dmI7QRrD4bedNKPM08ziRYaC5AhkGrzIAJelm9kJU1TznK+apx6V+cqRz8tfpEeG3oIyjxw==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@eslint/core": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.14.0.tgz", - "integrity": "sha512-qIbV0/JZr7iSDjqAc60IqbLdsj9GDt16xQtWD+B78d/HAlvysGdZZ6rpJHGAc2T0FQx1X6thsSPdnoiGKdNtdg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@types/json-schema": "^7.0.15" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@eslint/eslintrc": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.1.tgz", - "integrity": "sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^10.0.1", - "globals": "^14.0.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@eslint/eslintrc/node_modules/globals": { - "version": "14.0.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", - "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@eslint/js": { - "version": "9.29.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.29.0.tgz", - "integrity": "sha512-3PIF4cBw/y+1u2EazflInpV+lYsSG0aByVIQzAgb1m1MhHFSbqTyNqtBKHgWf/9Ykud+DhILS9EGkmekVhbKoQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://eslint.org/donate" - } - }, - "node_modules/@eslint/object-schema": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.6.tgz", - "integrity": "sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@eslint/plugin-kit": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.3.2.tgz", - "integrity": "sha512-4SaFZCNfJqvk/kenHpI8xvN42DMaoycy4PzKc5otHxRswww1kAt82OlBuwRVLofCACCTZEcla2Ydxv8scMXaTg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/core": "^0.15.0", - "levn": "^0.4.1" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@eslint/plugin-kit/node_modules/@eslint/core": { - "version": "0.15.0", - "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.15.0.tgz", - "integrity": "sha512-b7ePw78tEWWkpgZCDYkbqDOP8dmM6qe+AOC6iuJqlq1R/0ahMAeH3qynpnqKFGkMltrp44ohV4ubGyvLX28tzw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@types/json-schema": "^7.0.15" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@humanfs/core": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", - "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=18.18.0" - } - }, - "node_modules/@humanfs/node": { - "version": "0.16.6", - "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.6.tgz", - "integrity": "sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@humanfs/core": "^0.19.1", - "@humanwhocodes/retry": "^0.3.0" - }, - "engines": { - "node": ">=18.18.0" - } - }, - "node_modules/@humanfs/node/node_modules/@humanwhocodes/retry": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.3.1.tgz", - "integrity": "sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=18.18" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=12.22" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@humanwhocodes/retry": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.2.tgz", - "integrity": "sha512-xeO57FpIu4p1Ri3Jq/EXq4ClRm86dVF2z/+kvFnyqVYRavTZmaFaUBbWCOuuTh0o/g7DSsk6kc2vrS4Vl5oPOQ==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=18.18" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@img/sharp-darwin-arm64": { - "version": "0.34.2", - "resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.34.2.tgz", - "integrity": "sha512-OfXHZPppddivUJnqyKoi5YVeHRkkNE2zUFT2gbpKxp/JZCFYEYubnMg+gOp6lWfasPrTS+KPosKqdI+ELYVDtg==", - "cpu": [ - "arm64" - ], - "license": "Apache-2.0", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - }, - "optionalDependencies": { - "@img/sharp-libvips-darwin-arm64": "1.1.0" - } - }, - "node_modules/@img/sharp-darwin-x64": { - "version": "0.34.2", - "resolved": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.34.2.tgz", - "integrity": "sha512-dYvWqmjU9VxqXmjEtjmvHnGqF8GrVjM2Epj9rJ6BUIXvk8slvNDJbhGFvIoXzkDhrJC2jUxNLz/GUjjvSzfw+g==", - "cpu": [ - "x64" - ], - "license": "Apache-2.0", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - }, - "optionalDependencies": { - "@img/sharp-libvips-darwin-x64": "1.1.0" - } - }, - "node_modules/@img/sharp-libvips-darwin-arm64": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.1.0.tgz", - "integrity": "sha512-HZ/JUmPwrJSoM4DIQPv/BfNh9yrOA8tlBbqbLz4JZ5uew2+o22Ik+tHQJcih7QJuSa0zo5coHTfD5J8inqj9DA==", - "cpu": [ - "arm64" - ], - "license": "LGPL-3.0-or-later", - "optional": true, - "os": [ - "darwin" - ], - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/@img/sharp-libvips-darwin-x64": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.1.0.tgz", - "integrity": "sha512-Xzc2ToEmHN+hfvsl9wja0RlnXEgpKNmftriQp6XzY/RaSfwD9th+MSh0WQKzUreLKKINb3afirxW7A0fz2YWuQ==", - "cpu": [ - "x64" - ], - "license": "LGPL-3.0-or-later", - "optional": true, - "os": [ - "darwin" - ], - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/@img/sharp-libvips-linux-arm": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.1.0.tgz", - "integrity": "sha512-s8BAd0lwUIvYCJyRdFqvsj+BJIpDBSxs6ivrOPm/R7piTs5UIwY5OjXrP2bqXC9/moGsyRa37eYWYCOGVXxVrA==", - "cpu": [ - "arm" - ], - "license": "LGPL-3.0-or-later", - "optional": true, - "os": [ - "linux" - ], - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/@img/sharp-libvips-linux-arm64": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.1.0.tgz", - "integrity": "sha512-IVfGJa7gjChDET1dK9SekxFFdflarnUB8PwW8aGwEoF3oAsSDuNUTYS+SKDOyOJxQyDC1aPFMuRYLoDInyV9Ew==", - "cpu": [ - "arm64" - ], - "license": "LGPL-3.0-or-later", - "optional": true, - "os": [ - "linux" - ], - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/@img/sharp-libvips-linux-ppc64": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-ppc64/-/sharp-libvips-linux-ppc64-1.1.0.tgz", - "integrity": "sha512-tiXxFZFbhnkWE2LA8oQj7KYR+bWBkiV2nilRldT7bqoEZ4HiDOcePr9wVDAZPi/Id5fT1oY9iGnDq20cwUz8lQ==", - "cpu": [ - "ppc64" - ], - "license": "LGPL-3.0-or-later", - "optional": true, - "os": [ - "linux" - ], - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/@img/sharp-libvips-linux-s390x": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.1.0.tgz", - "integrity": "sha512-xukSwvhguw7COyzvmjydRb3x/09+21HykyapcZchiCUkTThEQEOMtBj9UhkaBRLuBrgLFzQ2wbxdeCCJW/jgJA==", - "cpu": [ - "s390x" - ], - "license": "LGPL-3.0-or-later", - "optional": true, - "os": [ - "linux" - ], - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/@img/sharp-libvips-linux-x64": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.1.0.tgz", - "integrity": "sha512-yRj2+reB8iMg9W5sULM3S74jVS7zqSzHG3Ol/twnAAkAhnGQnpjj6e4ayUz7V+FpKypwgs82xbRdYtchTTUB+Q==", - "cpu": [ - "x64" - ], - "license": "LGPL-3.0-or-later", - "optional": true, - "os": [ - "linux" - ], - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/@img/sharp-libvips-linuxmusl-arm64": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.1.0.tgz", - "integrity": "sha512-jYZdG+whg0MDK+q2COKbYidaqW/WTz0cc1E+tMAusiDygrM4ypmSCjOJPmFTvHHJ8j/6cAGyeDWZOsK06tP33w==", - "cpu": [ - "arm64" - ], - "license": "LGPL-3.0-or-later", - "optional": true, - "os": [ - "linux" - ], - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/@img/sharp-libvips-linuxmusl-x64": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.1.0.tgz", - "integrity": "sha512-wK7SBdwrAiycjXdkPnGCPLjYb9lD4l6Ze2gSdAGVZrEL05AOUJESWU2lhlC+Ffn5/G+VKuSm6zzbQSzFX/P65A==", - "cpu": [ - "x64" - ], - "license": "LGPL-3.0-or-later", - "optional": true, - "os": [ - "linux" - ], - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/@img/sharp-linux-arm": { - "version": "0.34.2", - "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.34.2.tgz", - "integrity": "sha512-0DZzkvuEOqQUP9mo2kjjKNok5AmnOr1jB2XYjkaoNRwpAYMDzRmAqUIa1nRi58S2WswqSfPOWLNOr0FDT3H5RQ==", - "cpu": [ - "arm" - ], - "license": "Apache-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - }, - "optionalDependencies": { - "@img/sharp-libvips-linux-arm": "1.1.0" - } - }, - "node_modules/@img/sharp-linux-arm64": { - "version": "0.34.2", - "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.34.2.tgz", - "integrity": "sha512-D8n8wgWmPDakc83LORcfJepdOSN6MvWNzzz2ux0MnIbOqdieRZwVYY32zxVx+IFUT8er5KPcyU3XXsn+GzG/0Q==", - "cpu": [ - "arm64" - ], - "license": "Apache-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - }, - "optionalDependencies": { - "@img/sharp-libvips-linux-arm64": "1.1.0" - } - }, - "node_modules/@img/sharp-linux-s390x": { - "version": "0.34.2", - "resolved": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.34.2.tgz", - "integrity": "sha512-EGZ1xwhBI7dNISwxjChqBGELCWMGDvmxZXKjQRuqMrakhO8QoMgqCrdjnAqJq/CScxfRn+Bb7suXBElKQpPDiw==", - "cpu": [ - "s390x" - ], - "license": "Apache-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - }, - "optionalDependencies": { - "@img/sharp-libvips-linux-s390x": "1.1.0" - } - }, - "node_modules/@img/sharp-linux-x64": { - "version": "0.34.2", - "resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.34.2.tgz", - "integrity": "sha512-sD7J+h5nFLMMmOXYH4DD9UtSNBD05tWSSdWAcEyzqW8Cn5UxXvsHAxmxSesYUsTOBmUnjtxghKDl15EvfqLFbQ==", - "cpu": [ - "x64" - ], - "license": "Apache-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - }, - "optionalDependencies": { - "@img/sharp-libvips-linux-x64": "1.1.0" - } - }, - "node_modules/@img/sharp-linuxmusl-arm64": { - "version": "0.34.2", - "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.34.2.tgz", - "integrity": "sha512-NEE2vQ6wcxYav1/A22OOxoSOGiKnNmDzCYFOZ949xFmrWZOVII1Bp3NqVVpvj+3UeHMFyN5eP/V5hzViQ5CZNA==", - "cpu": [ - "arm64" - ], - "license": "Apache-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - }, - "optionalDependencies": { - "@img/sharp-libvips-linuxmusl-arm64": "1.1.0" - } - }, - "node_modules/@img/sharp-linuxmusl-x64": { - "version": "0.34.2", - "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.34.2.tgz", - "integrity": "sha512-DOYMrDm5E6/8bm/yQLCWyuDJwUnlevR8xtF8bs+gjZ7cyUNYXiSf/E8Kp0Ss5xasIaXSHzb888V1BE4i1hFhAA==", - "cpu": [ - "x64" - ], - "license": "Apache-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - }, - "optionalDependencies": { - "@img/sharp-libvips-linuxmusl-x64": "1.1.0" - } - }, - "node_modules/@img/sharp-wasm32": { - "version": "0.34.2", - "resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.34.2.tgz", - "integrity": "sha512-/VI4mdlJ9zkaq53MbIG6rZY+QRN3MLbR6usYlgITEzi4Rpx5S6LFKsycOQjkOGmqTNmkIdLjEvooFKwww6OpdQ==", - "cpu": [ - "wasm32" - ], - "license": "Apache-2.0 AND LGPL-3.0-or-later AND MIT", - "optional": true, - "dependencies": { - "@emnapi/runtime": "^1.4.3" - }, - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/@img/sharp-win32-arm64": { - "version": "0.34.2", - "resolved": "https://registry.npmjs.org/@img/sharp-win32-arm64/-/sharp-win32-arm64-0.34.2.tgz", - "integrity": "sha512-cfP/r9FdS63VA5k0xiqaNaEoGxBg9k7uE+RQGzuK9fHt7jib4zAVVseR9LsE4gJcNWgT6APKMNnCcnyOtmSEUQ==", - "cpu": [ - "arm64" - ], - "license": "Apache-2.0 AND LGPL-3.0-or-later", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/@img/sharp-win32-ia32": { - "version": "0.34.2", - "resolved": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.34.2.tgz", - "integrity": "sha512-QLjGGvAbj0X/FXl8n1WbtQ6iVBpWU7JO94u/P2M4a8CFYsvQi4GW2mRy/JqkRx0qpBzaOdKJKw8uc930EX2AHw==", - "cpu": [ - "ia32" - ], - "license": "Apache-2.0 AND LGPL-3.0-or-later", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/@img/sharp-win32-x64": { - "version": "0.34.2", - "resolved": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.34.2.tgz", - "integrity": "sha512-aUdT6zEYtDKCaxkofmmJDJYGCf0+pJg3eU9/oBuqvEeoB9dKI6ZLc/1iLJCTuJQDO4ptntAlkUmHgGjyuobZbw==", - "cpu": [ - "x64" - ], - "license": "Apache-2.0 AND LGPL-3.0-or-later", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/@jest/schemas": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", - "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@sinclair/typebox": "^0.27.8" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/types": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", - "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/schemas": "^29.6.3", - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^17.0.8", - "chalk": "^4.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.12", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.12.tgz", - "integrity": "sha512-OuLGC46TjB5BbN1dH8JULVVZY4WTdkF7tV9Ys6wLL1rubZnCMstOhNHueU5bLCrnRuDhKPDM4g6sw4Bel5Gzqg==", - "license": "MIT", - "dependencies": { - "@jridgewell/sourcemap-codec": "^1.5.0", - "@jridgewell/trace-mapping": "^0.3.24" - } - }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", - "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", - "license": "MIT", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/source-map": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz", - "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.25" - } - }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", - "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", - "license": "MIT" - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.29", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.29.tgz", - "integrity": "sha512-uw6guiW/gcAGPDhLmd77/6lW8QLeiV5RUTsAX46Db6oLhGaVj4lhnPwb184s1bkc8kdVg/+h988dro8GRDpmYQ==", - "license": "MIT", - "dependencies": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" - } - }, - "node_modules/@jsonjoy.com/base64": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jsonjoy.com/base64/-/base64-1.1.2.tgz", - "integrity": "sha512-q6XAnWQDIMA3+FTiOYajoYqySkO+JSat0ytXGSuRdq9uXE7o92gzuQwQM14xaCRlBLGq3v5miDGC4vkVTn54xA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=10.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/streamich" - }, - "peerDependencies": { - "tslib": "2" - } - }, - "node_modules/@jsonjoy.com/json-pack": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@jsonjoy.com/json-pack/-/json-pack-1.2.0.tgz", - "integrity": "sha512-io1zEbbYcElht3tdlqEOFxZ0dMTYrHz9iMf0gqn1pPjZFTCgM5R4R5IMA20Chb2UPYYsxjzs8CgZ7Nb5n2K2rA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@jsonjoy.com/base64": "^1.1.1", - "@jsonjoy.com/util": "^1.1.2", - "hyperdyperid": "^1.2.0", - "thingies": "^1.20.0" - }, - "engines": { - "node": ">=10.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/streamich" - }, - "peerDependencies": { - "tslib": "2" - } - }, - "node_modules/@jsonjoy.com/util": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@jsonjoy.com/util/-/util-1.5.0.tgz", - "integrity": "sha512-ojoNsrIuPI9g6o8UxhraZQSyF2ByJanAY4cTFbc8Mf2AXEF4aQRGY1dJxyJpuyav8r9FGflEt/Ff3u5Nt6YMPA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=10.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/streamich" - }, - "peerDependencies": { - "tslib": "2" - } - }, - "node_modules/@kurkle/color": { - "version": "0.3.4", - "resolved": "https://registry.npmjs.org/@kurkle/color/-/color-0.3.4.tgz", - "integrity": "sha512-M5UknZPHRu3DEDWoipU6sE8PdkZ6Z/S+v4dD+Ke8IaNlpdSQah50lz1KtcFBa2vsdOnwbbnxJwVM4wty6udA5w==", - "license": "MIT" - }, - "node_modules/@leichtgewicht/ip-codec": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.5.tgz", - "integrity": "sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@mui/core-downloads-tracker": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/@mui/core-downloads-tracker/-/core-downloads-tracker-7.1.1.tgz", - "integrity": "sha512-yBckQs4aQ8mqukLnPC6ivIRv6guhaXi8snVl00VtyojBbm+l6VbVhyTSZ68Abcx7Ah8B+GZhrB7BOli+e+9LkQ==", - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/mui-org" - } - }, - "node_modules/@mui/icons-material": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/@mui/icons-material/-/icons-material-7.1.1.tgz", - "integrity": "sha512-X37+Yc8QpEnl0sYmz+WcLFy2dWgNRzbswDzLPXG7QU1XDVlP5TPp1HXjdmCupOWLL/I9m1fyhcyZl8/HPpp/Cg==", "license": "MIT", "dependencies": { - "@babel/runtime": "^7.27.1" + "openai": "^4.0.0" }, + "devDependencies": {}, "engines": { "node": ">=14.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/mui-org" - }, - "peerDependencies": { - "@mui/material": "^7.1.1", - "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0", - "react": "^17.0.0 || ^18.0.0 || ^19.0.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } } }, - "node_modules/@mui/material": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/@mui/material/-/material-7.1.1.tgz", - "integrity": "sha512-mTpdmdZCaHCGOH3SrYM41+XKvNL0iQfM9KlYgpSjgadXx/fEKhhvOktxm8++Xw6FFeOHoOiV+lzOI8X1rsv71A==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.27.1", - "@mui/core-downloads-tracker": "^7.1.1", - "@mui/system": "^7.1.1", - "@mui/types": "^7.4.3", - "@mui/utils": "^7.1.1", - "@popperjs/core": "^2.11.8", - "@types/react-transition-group": "^4.4.12", - "clsx": "^2.1.1", - "csstype": "^3.1.3", - "prop-types": "^15.8.1", - "react-is": "^19.1.0", - "react-transition-group": "^4.4.5" - }, - "engines": { - "node": ">=14.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/mui-org" - }, - "peerDependencies": { - "@emotion/react": "^11.5.0", - "@emotion/styled": "^11.3.0", - "@mui/material-pigment-css": "^7.1.1", - "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0", - "react": "^17.0.0 || ^18.0.0 || ^19.0.0", - "react-dom": "^17.0.0 || ^18.0.0 || ^19.0.0" - }, - "peerDependenciesMeta": { - "@emotion/react": { - "optional": true - }, - "@emotion/styled": { - "optional": true - }, - "@mui/material-pigment-css": { - "optional": true - }, - "@types/react": { - "optional": true - } - } - }, - "node_modules/@mui/private-theming": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/@mui/private-theming/-/private-theming-7.1.1.tgz", - "integrity": "sha512-M8NbLUx+armk2ZuaxBkkMk11ultnWmrPlN0Xe3jUEaBChg/mcxa5HWIWS1EE4DF36WRACaAHVAvyekWlDQf0PQ==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.27.1", - "@mui/utils": "^7.1.1", - "prop-types": "^15.8.1" - }, - "engines": { - "node": ">=14.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/mui-org" - }, - "peerDependencies": { - "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0", - "react": "^17.0.0 || ^18.0.0 || ^19.0.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@mui/styled-engine": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/@mui/styled-engine/-/styled-engine-7.1.1.tgz", - "integrity": "sha512-R2wpzmSN127j26HrCPYVQ53vvMcT5DaKLoWkrfwUYq3cYytL6TQrCH8JBH3z79B6g4nMZZVoaXrxO757AlShaw==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.27.1", - "@emotion/cache": "^11.13.5", - "@emotion/serialize": "^1.3.3", - "@emotion/sheet": "^1.4.0", - "csstype": "^3.1.3", - "prop-types": "^15.8.1" - }, - "engines": { - "node": ">=14.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/mui-org" - }, - "peerDependencies": { - "@emotion/react": "^11.4.1", - "@emotion/styled": "^11.3.0", - "react": "^17.0.0 || ^18.0.0 || ^19.0.0" - }, - "peerDependenciesMeta": { - "@emotion/react": { - "optional": true - }, - "@emotion/styled": { - "optional": true - } - } - }, - "node_modules/@mui/system": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/@mui/system/-/system-7.1.1.tgz", - "integrity": "sha512-Kj1uhiqnj4Zo7PDjAOghtXJtNABunWvhcRU0O7RQJ7WOxeynoH6wXPcilphV8QTFtkKaip8EiNJRiCD+B3eROA==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.27.1", - "@mui/private-theming": "^7.1.1", - "@mui/styled-engine": "^7.1.1", - "@mui/types": "^7.4.3", - "@mui/utils": "^7.1.1", - "clsx": "^2.1.1", - "csstype": "^3.1.3", - "prop-types": "^15.8.1" - }, - "engines": { - "node": ">=14.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/mui-org" - }, - "peerDependencies": { - "@emotion/react": "^11.5.0", - "@emotion/styled": "^11.3.0", - "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0", - "react": "^17.0.0 || ^18.0.0 || ^19.0.0" - }, - "peerDependenciesMeta": { - "@emotion/react": { - "optional": true - }, - "@emotion/styled": { - "optional": true - }, - "@types/react": { - "optional": true - } - } - }, - "node_modules/@mui/types": { - "version": "7.4.3", - "resolved": "https://registry.npmjs.org/@mui/types/-/types-7.4.3.tgz", - "integrity": "sha512-2UCEiK29vtiZTeLdS2d4GndBKacVyxGvReznGXGr+CzW/YhjIX+OHUdCIczZjzcRAgKBGmE9zCIgoV9FleuyRQ==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.27.1" - }, - "peerDependencies": { - "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@mui/utils": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/@mui/utils/-/utils-7.1.1.tgz", - "integrity": "sha512-BkOt2q7MBYl7pweY2JWwfrlahhp+uGLR8S+EhiyRaofeRYUWL2YKbSGQvN4hgSN1i8poN0PaUiii1kEMrchvzg==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.27.1", - "@mui/types": "^7.4.3", - "@types/prop-types": "^15.7.14", - "clsx": "^2.1.1", - "prop-types": "^15.8.1", - "react-is": "^19.1.0" - }, - "engines": { - "node": ">=14.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/mui-org" - }, - "peerDependencies": { - "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0", - "react": "^17.0.0 || ^18.0.0 || ^19.0.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@nicolo-ribaudo/eslint-scope-5-internals": { - "version": "5.1.1-v1", - "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz", - "integrity": "sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==", - "dev": true, - "license": "MIT", - "dependencies": { - "eslint-scope": "5.1.1" - } - }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@pmmmwh/react-refresh-webpack-plugin": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.6.1.tgz", - "integrity": "sha512-95DXXJxNkpYu+sqmpDp7vbw9JCyiNpHuCsvuMuOgVFrKQlwEIn9Y1+NNIQJq+zFL+eWyxw6htthB5CtdwJupNA==", - "dev": true, - "license": "MIT", - "dependencies": { - "anser": "^2.1.1", - "core-js-pure": "^3.23.3", - "error-stack-parser": "^2.0.6", - "html-entities": "^2.1.0", - "schema-utils": "^4.2.0", - "source-map": "^0.7.3" - }, - "engines": { - "node": ">=18.12" - }, - "peerDependencies": { - "@types/webpack": "5.x", - "react-refresh": ">=0.10.0 <1.0.0", - "sockjs-client": "^1.4.0", - "type-fest": ">=0.17.0 <5.0.0", - "webpack": "^5.0.0", - "webpack-dev-server": "^4.8.0 || 5.x", - "webpack-hot-middleware": "2.x", - "webpack-plugin-serve": "1.x" - }, - "peerDependenciesMeta": { - "@types/webpack": { - "optional": true - }, - "sockjs-client": { - "optional": true - }, - "type-fest": { - "optional": true - }, - "webpack-dev-server": { - "optional": true - }, - "webpack-hot-middleware": { - "optional": true - }, - "webpack-plugin-serve": { - "optional": true - } - } - }, - "node_modules/@pmmmwh/react-refresh-webpack-plugin/node_modules/source-map": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", - "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">= 8" - } - }, - "node_modules/@polka/url": { - "version": "1.0.0-next.29", - "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.29.tgz", - "integrity": "sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==", - "dev": true, - "license": "MIT" - }, - "node_modules/@popperjs/core": { - "version": "2.11.8", - "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz", - "integrity": "sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==", - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/popperjs" - } - }, - "node_modules/@rtsao/scc": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@rtsao/scc/-/scc-1.1.0.tgz", - "integrity": "sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==", - "dev": true, - "license": "MIT" - }, - "node_modules/@sinclair/typebox": { - "version": "0.27.8", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", - "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@socket.io/component-emitter": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.2.tgz", - "integrity": "sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA==", - "license": "MIT" - }, - "node_modules/@stripe/react-stripe-js": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/@stripe/react-stripe-js/-/react-stripe-js-3.7.0.tgz", - "integrity": "sha512-PYls/2S9l0FF+2n0wHaEJsEU8x7CmBagiH7zYOsxbBlLIHEsqUIQ4MlIAbV9Zg6xwT8jlYdlRIyBTHmO3yM7kQ==", - "license": "MIT", - "dependencies": { - "prop-types": "^15.7.2" - }, - "peerDependencies": { - "@stripe/stripe-js": ">=1.44.1 <8.0.0", - "react": ">=16.8.0 <20.0.0", - "react-dom": ">=16.8.0 <20.0.0" - } - }, - "node_modules/@stripe/stripe-js": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/@stripe/stripe-js/-/stripe-js-7.3.1.tgz", - "integrity": "sha512-pTzb864TQWDRQBPLgSPFRoyjSDUqpCkbEgTzpsjiTjGz1Z5SxZNXJek28w1s6Dyry4CyW4/Izj5jHE/J9hCJYQ==", - "license": "MIT", - "engines": { - "node": ">=12.16" - } - }, - "node_modules/@types/body-parser": { - "version": "1.19.5", - "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.5.tgz", - "integrity": "sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/connect": "*", - "@types/node": "*" - } - }, - "node_modules/@types/bonjour": { - "version": "3.5.13", - "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.13.tgz", - "integrity": "sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/connect": { - "version": "3.4.38", - "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz", - "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/connect-history-api-fallback": { - "version": "1.5.4", - "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.4.tgz", - "integrity": "sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/express-serve-static-core": "*", - "@types/node": "*" - } - }, - "node_modules/@types/eslint": { - "version": "9.6.1", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-9.6.1.tgz", - "integrity": "sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/estree": "*", - "@types/json-schema": "*" - } - }, - "node_modules/@types/eslint-scope": { - "version": "3.7.7", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", - "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/eslint": "*", - "@types/estree": "*" - } - }, - "node_modules/@types/estree": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.7.tgz", - "integrity": "sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/express": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.21.tgz", - "integrity": "sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/body-parser": "*", - "@types/express-serve-static-core": "^4.17.33", - "@types/qs": "*", - "@types/serve-static": "*" - } - }, - "node_modules/@types/express-serve-static-core": { - "version": "4.19.6", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.19.6.tgz", - "integrity": "sha512-N4LZ2xG7DatVqhCZzOGb1Yi5lMbXSZcmdLDe9EzSndPV2HpWYWzRbaerl2n27irrm94EPpprqa8KpskPT085+A==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/node": "*", - "@types/qs": "*", - "@types/range-parser": "*", - "@types/send": "*" - } - }, - "node_modules/@types/html-minifier-terser": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", - "integrity": "sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/http-errors": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.4.tgz", - "integrity": "sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/http-proxy": { - "version": "1.17.16", - "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.16.tgz", - "integrity": "sha512-sdWoUajOB1cd0A8cRRQ1cfyWNbmFKLAqBB89Y8x5iYyG/mkJHc0YUH8pdWBy2omi9qtCpiIgGjuwO0dQST2l5w==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/istanbul-lib-coverage": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", - "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/istanbul-lib-report": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz", - "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/istanbul-lib-coverage": "*" - } - }, - "node_modules/@types/istanbul-reports": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", - "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/istanbul-lib-report": "*" - } - }, - "node_modules/@types/json-schema": { - "version": "7.0.15", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", - "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/json5": { - "version": "0.0.29", - "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", - "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/mime": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz", - "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==", - "dev": true, - "license": "MIT" - }, "node_modules/@types/node": { "version": "22.14.1", "resolved": "https://registry.npmjs.org/@types/node/-/node-22.14.1.tgz", "integrity": "sha512-u0HuPQwe/dHrItgHHpmw3N2fYCR6x4ivMNbPHRkBVP4CvN+kiRrKHWk3i8tXiO/joPwXLMYvF9TTF0eqgHIuOw==", - "dev": true, "license": "MIT", "dependencies": { "undici-types": "~6.21.0" } }, - "node_modules/@types/node-forge": { - "version": "1.3.11", - "resolved": "https://registry.npmjs.org/@types/node-forge/-/node-forge-1.3.11.tgz", - "integrity": "sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==", - "dev": true, + "node_modules/@types/node-fetch": { + "version": "2.6.12", + "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.12.tgz", + "integrity": "sha512-8nneRWKCg3rMtF69nLQJnOYUcbafYeFSjqkw3jCRLsqkWFlHaoQrr5mXmofFGOx3DKn7UfmBMyov8ySvLRVldA==", "license": "MIT", "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/parse-json": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.2.tgz", - "integrity": "sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==", - "license": "MIT" - }, - "node_modules/@types/prop-types": { - "version": "15.7.15", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.15.tgz", - "integrity": "sha512-F6bEyamV9jKGAFBEmlQnesRPGOQqS2+Uwi0Em15xenOxHaf2hv6L8YCVn3rPdPJOiJfPiCnLIRyvwVaqMY3MIw==", - "license": "MIT" - }, - "node_modules/@types/qs": { - "version": "6.9.18", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.18.tgz", - "integrity": "sha512-kK7dgTYDyGqS+e2Q4aK9X3D7q234CIZ1Bv0q/7Z5IwRDoADNU81xXJK/YVyLbLTZCoIwUoDoffFeF+p/eIklAA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/range-parser": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz", - "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/react": { - "version": "19.1.2", - "resolved": "https://registry.npmjs.org/@types/react/-/react-19.1.2.tgz", - "integrity": "sha512-oxLPMytKchWGbnQM9O7D67uPa9paTNxO7jVoNMXgkkErULBPhPARCfkKL9ytcIJJRGjbsVwW4ugJzyFFvm/Tiw==", - "license": "MIT", - "peer": true, - "dependencies": { - "csstype": "^3.0.2" - } - }, - "node_modules/@types/react-transition-group": { - "version": "4.4.12", - "resolved": "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.12.tgz", - "integrity": "sha512-8TV6R3h2j7a91c+1DXdJi3Syo69zzIZbz7Lg5tORM5LEJG7X/E6a1V3drRyBRZq7/utz7A+c4OgYLiLcYGHG6w==", - "license": "MIT", - "peerDependencies": { - "@types/react": "*" - } - }, - "node_modules/@types/retry": { - "version": "0.12.2", - "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.2.tgz", - "integrity": "sha512-XISRgDJ2Tc5q4TRqvgJtzsRkFYNJzZrhTdtMoGVBttwzzQJkPnS3WWTFc7kuDRoPtPakl+T+OfdEUjYJj7Jbow==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/send": { - "version": "0.17.4", - "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.4.tgz", - "integrity": "sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/mime": "^1", - "@types/node": "*" - } - }, - "node_modules/@types/serve-index": { - "version": "1.9.4", - "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.4.tgz", - "integrity": "sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/express": "*" - } - }, - "node_modules/@types/serve-static": { - "version": "1.15.7", - "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.7.tgz", - "integrity": "sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/http-errors": "*", "@types/node": "*", - "@types/send": "*" + "form-data": "^4.0.0" } }, - "node_modules/@types/sockjs": { - "version": "0.3.36", - "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.36.tgz", - "integrity": "sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==", - "dev": true, + "node_modules/abort-controller": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", + "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", "license": "MIT", "dependencies": { - "@types/node": "*" + "event-target-shim": "^5.0.0" + }, + "engines": { + "node": ">=6.5" } }, - "node_modules/@types/ws": { - "version": "8.18.1", - "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.18.1.tgz", - "integrity": "sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==", - "dev": true, + "node_modules/agentkeepalive": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.6.0.tgz", + "integrity": "sha512-kja8j7PjmncONqaTsB8fQ+wE2mSU2DJ9D4XKoJ5PFWIdRMa6SLSN1ff4mOr4jCbfRSsxR4keIiySJU0N9T5hIQ==", "license": "MIT", "dependencies": { - "@types/node": "*" + "humanize-ms": "^1.2.1" + }, + "engines": { + "node": ">= 8.0.0" } }, - "node_modules/@types/yargs": { - "version": "17.0.33", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.33.tgz", - "integrity": "sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/@types/yargs-parser": { - "version": "21.0.3", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", - "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==", - "dev": true, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", "license": "MIT" }, - "node_modules/@webassemblyjs/ast": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.14.1.tgz", - "integrity": "sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@webassemblyjs/helper-numbers": "1.13.2", - "@webassemblyjs/helper-wasm-bytecode": "1.13.2" - } - }, - "node_modules/@webassemblyjs/floating-point-hex-parser": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.13.2.tgz", - "integrity": "sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@webassemblyjs/helper-api-error": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.13.2.tgz", - "integrity": "sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/@webassemblyjs/helper-buffer": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.14.1.tgz", - "integrity": "sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@webassemblyjs/helper-numbers": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.13.2.tgz", - "integrity": "sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@webassemblyjs/floating-point-hex-parser": "1.13.2", - "@webassemblyjs/helper-api-error": "1.13.2", - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@webassemblyjs/helper-wasm-bytecode": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.13.2.tgz", - "integrity": "sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@webassemblyjs/helper-wasm-section": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.14.1.tgz", - "integrity": "sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@webassemblyjs/ast": "1.14.1", - "@webassemblyjs/helper-buffer": "1.14.1", - "@webassemblyjs/helper-wasm-bytecode": "1.13.2", - "@webassemblyjs/wasm-gen": "1.14.1" - } - }, - "node_modules/@webassemblyjs/ieee754": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.13.2.tgz", - "integrity": "sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@xtuc/ieee754": "^1.2.0" - } - }, - "node_modules/@webassemblyjs/leb128": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.13.2.tgz", - "integrity": "sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@webassemblyjs/utf8": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.13.2.tgz", - "integrity": "sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/@webassemblyjs/wasm-edit": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.14.1.tgz", - "integrity": "sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@webassemblyjs/ast": "1.14.1", - "@webassemblyjs/helper-buffer": "1.14.1", - "@webassemblyjs/helper-wasm-bytecode": "1.13.2", - "@webassemblyjs/helper-wasm-section": "1.14.1", - "@webassemblyjs/wasm-gen": "1.14.1", - "@webassemblyjs/wasm-opt": "1.14.1", - "@webassemblyjs/wasm-parser": "1.14.1", - "@webassemblyjs/wast-printer": "1.14.1" - } - }, - "node_modules/@webassemblyjs/wasm-gen": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.14.1.tgz", - "integrity": "sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@webassemblyjs/ast": "1.14.1", - "@webassemblyjs/helper-wasm-bytecode": "1.13.2", - "@webassemblyjs/ieee754": "1.13.2", - "@webassemblyjs/leb128": "1.13.2", - "@webassemblyjs/utf8": "1.13.2" - } - }, - "node_modules/@webassemblyjs/wasm-opt": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.14.1.tgz", - "integrity": "sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@webassemblyjs/ast": "1.14.1", - "@webassemblyjs/helper-buffer": "1.14.1", - "@webassemblyjs/wasm-gen": "1.14.1", - "@webassemblyjs/wasm-parser": "1.14.1" - } - }, - "node_modules/@webassemblyjs/wasm-parser": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.14.1.tgz", - "integrity": "sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@webassemblyjs/ast": "1.14.1", - "@webassemblyjs/helper-api-error": "1.13.2", - "@webassemblyjs/helper-wasm-bytecode": "1.13.2", - "@webassemblyjs/ieee754": "1.13.2", - "@webassemblyjs/leb128": "1.13.2", - "@webassemblyjs/utf8": "1.13.2" - } - }, - "node_modules/@webassemblyjs/wast-printer": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.14.1.tgz", - "integrity": "sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@webassemblyjs/ast": "1.14.1", - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@webpack-cli/configtest": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-3.0.1.tgz", - "integrity": "sha512-u8d0pJ5YFgneF/GuvEiDA61Tf1VDomHHYMjv/wc9XzYj7nopltpG96nXN5dJRstxZhcNpV1g+nT6CydO7pHbjA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18.12.0" - }, - "peerDependencies": { - "webpack": "^5.82.0", - "webpack-cli": "6.x.x" - } - }, - "node_modules/@webpack-cli/info": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-3.0.1.tgz", - "integrity": "sha512-coEmDzc2u/ffMvuW9aCjoRzNSPDl/XLuhPdlFRpT9tZHmJ/039az33CE7uH+8s0uL1j5ZNtfdv0HkfaKRBGJsQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18.12.0" - }, - "peerDependencies": { - "webpack": "^5.82.0", - "webpack-cli": "6.x.x" - } - }, - "node_modules/@webpack-cli/serve": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-3.0.1.tgz", - "integrity": "sha512-sbgw03xQaCLiT6gcY/6u3qBDn01CWw/nbaXl3gTdTFuJJ75Gffv3E3DBpgvY2fkkrdS1fpjaXNOmJlnbtKauKg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18.12.0" - }, - "peerDependencies": { - "webpack": "^5.82.0", - "webpack-cli": "6.x.x" - }, - "peerDependenciesMeta": { - "webpack-dev-server": { - "optional": true - } - } - }, - "node_modules/@xtuc/ieee754": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", - "dev": true, - "license": "BSD-3-Clause" - }, - "node_modules/@xtuc/long": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", - "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", - "dev": true, - "license": "Apache-2.0" - }, - "node_modules/accepts": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", - "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", - "dev": true, - "license": "MIT", - "dependencies": { - "mime-types": "~2.1.34", - "negotiator": "0.6.3" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/accepts/node_modules/negotiator": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", - "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/acorn": { - "version": "8.15.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", - "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", - "dev": true, - "license": "MIT", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/acorn-walk": { - "version": "8.3.4", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.4.tgz", - "integrity": "sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==", - "dev": true, - "license": "MIT", - "dependencies": { - "acorn": "^8.11.0" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/agent-base": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.3.tgz", - "integrity": "sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 14" - } - }, - "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ajv-formats": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", - "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ajv": "^8.0.0" - }, - "peerDependencies": { - "ajv": "^8.0.0" - }, - "peerDependenciesMeta": { - "ajv": { - "optional": true - } - } - }, - "node_modules/ajv-formats/node_modules/ajv": { - "version": "8.17.1", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", - "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", - "dev": true, - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.3", - "fast-uri": "^3.0.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ajv-formats/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true, - "license": "MIT" - }, - "node_modules/anser": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/anser/-/anser-2.3.2.tgz", - "integrity": "sha512-PMqBCBvrOVDRqLGooQb+z+t1Q0PiPyurUQeZRR5uHBOVZcW8B04KMmnT12USnhpNX2wCPagWzLVppQMUG3u0Dw==", - "dev": true, - "license": "MIT" - }, - "node_modules/ansi-html-community": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz", - "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==", - "dev": true, - "engines": [ - "node >= 0.8.0" - ], - "license": "Apache-2.0", - "bin": { - "ansi-html": "bin/ansi-html" - } - }, - "node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", - "dev": true, - "license": "ISC", - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true, - "license": "Python-2.0" - }, - "node_modules/array-buffer-byte-length": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.2.tgz", - "integrity": "sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "is-array-buffer": "^3.0.5" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", - "dev": true, - "license": "MIT" - }, - "node_modules/array-includes": { - "version": "3.1.8", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.8.tgz", - "integrity": "sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", - "es-object-atoms": "^1.0.0", - "get-intrinsic": "^1.2.4", - "is-string": "^1.0.7" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.findlast": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz", - "integrity": "sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "es-shim-unscopables": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.findlastindex": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.6.tgz", - "integrity": "sha512-F/TKATkzseUExPlfvmwQKGITM3DGTK+vkAsCZoDc5daVygbJBnjEUCbgkAvVFsgfXfX4YIqZ/27G3k3tdXrTxQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.4", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.9", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.1.1", - "es-shim-unscopables": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.flat": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.3.tgz", - "integrity": "sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.5", - "es-shim-unscopables": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.flatmap": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.3.tgz", - "integrity": "sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.5", - "es-shim-unscopables": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.tosorted": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.4.tgz", - "integrity": "sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.3", - "es-errors": "^1.3.0", - "es-shim-unscopables": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/arraybuffer.prototype.slice": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.4.tgz", - "integrity": "sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "array-buffer-byte-length": "^1.0.1", - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.5", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.6", - "is-array-buffer": "^3.0.4" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/async-function": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/async-function/-/async-function-1.0.0.tgz", - "integrity": "sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/available-typed-arrays": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", - "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "possible-typed-array-names": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/babel-loader": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-10.0.0.tgz", - "integrity": "sha512-z8jt+EdS61AMw22nSfoNJAZ0vrtmhPRVi6ghL3rCeRZI8cdNYFiV5xeV3HbE7rlZZNmGH8BVccwWt8/ED0QOHA==", - "dev": true, - "license": "MIT", - "dependencies": { - "find-up": "^5.0.0" - }, - "engines": { - "node": "^18.20.0 || ^20.10.0 || >=22.0.0" - }, - "peerDependencies": { - "@babel/core": "^7.12.0", - "webpack": ">=5.61.0" - } - }, - "node_modules/babel-plugin-macros": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz", - "integrity": "sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.12.5", - "cosmiconfig": "^7.0.0", - "resolve": "^1.19.0" - }, - "engines": { - "node": ">=10", - "npm": ">=6" - } - }, - "node_modules/babel-plugin-polyfill-corejs2": { - "version": "0.4.14", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.14.tgz", - "integrity": "sha512-Co2Y9wX854ts6U8gAAPXfn0GmAyctHuK8n0Yhfjd6t30g7yvKjspvvOo9yG+z52PZRgFErt7Ka2pYnXCjLKEpg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/compat-data": "^7.27.7", - "@babel/helper-define-polyfill-provider": "^0.6.5", - "semver": "^6.3.1" - }, - "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" - } - }, - "node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.13.0", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.13.0.tgz", - "integrity": "sha512-U+GNwMdSFgzVmfhNm8GJUX88AadB3uo9KpJqS3FaqNIPKgySuvMb+bHPsOmmuWyIcuqZj/pzt1RUIUZns4y2+A==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.6.5", - "core-js-compat": "^3.43.0" - }, - "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" - } - }, - "node_modules/babel-plugin-polyfill-regenerator": { - "version": "0.6.5", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.5.tgz", - "integrity": "sha512-ISqQ2frbiNU9vIJkzg7dlPpznPZ4jOiUQ1uSmB0fEHeowtN3COYRsXr/xexn64NpU13P06jc/L5TgiJXOgrbEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.6.5" - }, - "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" - } - }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true, - "license": "MIT" - }, - "node_modules/batch": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", - "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==", - "dev": true, - "license": "MIT" - }, - "node_modules/binary-extensions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", - "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/body-parser": { - "version": "1.20.3", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz", - "integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==", - "dev": true, - "license": "MIT", - "dependencies": { - "bytes": "3.1.2", - "content-type": "~1.0.5", - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "on-finished": "2.4.1", - "qs": "6.13.0", - "raw-body": "2.5.2", - "type-is": "~1.6.18", - "unpipe": "1.0.0" - }, - "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" - } - }, - "node_modules/body-parser/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/body-parser/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true, - "license": "MIT" - }, - "node_modules/bonjour-service": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.3.0.tgz", - "integrity": "sha512-3YuAUiSkWykd+2Azjgyxei8OWf8thdn8AITIog2M4UICzoqfjlqr64WIjEXZllf/W6vK1goqleSR6brGomxQqA==", - "dev": true, - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.3", - "multicast-dns": "^7.2.5" - } - }, - "node_modules/boolbase": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", - "dev": true, - "license": "ISC" - }, - "node_modules/brace-expansion": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", - "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/braces": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", - "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", - "dev": true, - "license": "MIT", - "dependencies": { - "fill-range": "^7.1.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/browserslist": { - "version": "4.25.1", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.25.1.tgz", - "integrity": "sha512-KGj0KoOMXLpSNkkEI6Z6mShmQy0bc1I+T7K9N81k4WWMrfz+6fQ6es80B/YLAeRoKvjYE1YSHHOW1qe9xIVzHw==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "caniuse-lite": "^1.0.30001726", - "electron-to-chromium": "^1.5.173", - "node-releases": "^2.0.19", - "update-browserslist-db": "^1.1.3" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - } - }, - "node_modules/buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/bundle-name": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bundle-name/-/bundle-name-4.1.0.tgz", - "integrity": "sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "run-applescript": "^7.0.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/call-bind": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz", - "integrity": "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.0", - "es-define-property": "^1.0.0", - "get-intrinsic": "^1.2.4", - "set-function-length": "^1.2.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/call-bind-apply-helpers": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", - "dev": true, "license": "MIT", "dependencies": { "es-errors": "^1.3.0", @@ -4440,976 +78,31 @@ "node": ">= 0.4" } }, - "node_modules/call-bound": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", - "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", - "dev": true, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", "license": "MIT", "dependencies": { - "call-bind-apply-helpers": "^1.0.2", - "get-intrinsic": "^1.3.0" + "delayed-stream": "~1.0.0" }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/camel-case": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", - "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", - "dev": true, - "license": "MIT", - "dependencies": { - "pascal-case": "^3.1.2", - "tslib": "^2.0.3" - } - }, - "node_modules/caniuse-lite": { - "version": "1.0.30001726", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001726.tgz", - "integrity": "sha512-VQAUIUzBiZ/UnlM28fSp2CRF3ivUn1BWEvxMcVTNwpw91Py1pGbPIyIKtd+tzct9C3ouceCVdGAXxZOpZAsgdw==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "CC-BY-4.0" - }, - "node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/chart.js": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/chart.js/-/chart.js-4.5.0.tgz", - "integrity": "sha512-aYeC/jDgSEx8SHWZvANYMioYMZ2KX02W6f6uVfyteuCGcadDLcYVHdfdygsTQkQ4TKn5lghoojAsPj5pu0SnvQ==", - "license": "MIT", - "dependencies": { - "@kurkle/color": "^0.3.0" - }, - "engines": { - "pnpm": ">=8" - } - }, - "node_modules/chokidar": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", - "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", - "dev": true, - "license": "MIT", - "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - }, - "engines": { - "node": ">= 8.10.0" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, - "node_modules/chokidar/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/chrome-trace-event": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz", - "integrity": "sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.0" - } - }, - "node_modules/ci-info": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", - "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/sibiraj-s" - } - ], - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/clean-css": { - "version": "5.3.3", - "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.3.tgz", - "integrity": "sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg==", - "dev": true, - "license": "MIT", - "dependencies": { - "source-map": "~0.6.0" - }, - "engines": { - "node": ">= 10.0" - } - }, - "node_modules/clean-css/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/clone-deep": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", - "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.2", - "shallow-clone": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/clsx": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", - "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/color": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/color/-/color-4.2.3.tgz", - "integrity": "sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==", - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1", - "color-string": "^1.9.0" - }, - "engines": { - "node": ">=12.5.0" - } - }, - "node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "license": "MIT" - }, - "node_modules/color-string": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz", - "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", - "license": "MIT", - "dependencies": { - "color-name": "^1.0.0", - "simple-swizzle": "^0.2.2" - } - }, - "node_modules/colorette": { - "version": "2.0.20", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", - "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", - "dev": true, - "license": "MIT" - }, - "node_modules/commander": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", - "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 12" - } - }, - "node_modules/commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", - "dev": true, - "license": "MIT" - }, - "node_modules/compressible": { - "version": "2.0.18", - "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", - "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", - "dev": true, - "license": "MIT", - "dependencies": { - "mime-db": ">= 1.43.0 < 2" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/compression": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/compression/-/compression-1.8.0.tgz", - "integrity": "sha512-k6WLKfunuqCYD3t6AsuPGvQWaKwuLLh2/xHNcX4qE+vIfDNXpSqnrhwA7O53R7WVQUnt8dVAIW+YHr7xTgOgGA==", - "dev": true, - "license": "MIT", - "dependencies": { - "bytes": "3.1.2", - "compressible": "~2.0.18", - "debug": "2.6.9", - "negotiator": "~0.6.4", - "on-headers": "~1.0.2", - "safe-buffer": "5.2.1", - "vary": "~1.1.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/compression/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/compression/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true, - "license": "MIT" - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true, - "license": "MIT" - }, - "node_modules/connect-history-api-fallback": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz", - "integrity": "sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8" - } - }, - "node_modules/content-disposition": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", - "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "safe-buffer": "5.2.1" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/content-type": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", - "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/convert-source-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "dev": true, - "license": "MIT" - }, - "node_modules/cookie": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-1.0.2.tgz", - "integrity": "sha512-9Kr/j4O16ISv8zBBhJoi4bXOYNTkFLOqSL3UDB0njXxCXNezjeyVrJyGOWtgfs/q2km1gwBcfH8q1yEGoMYunA==", - "license": "MIT", - "engines": { - "node": ">=18" - } - }, - "node_modules/cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/core-js-compat": { - "version": "3.43.0", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.43.0.tgz", - "integrity": "sha512-2GML2ZsCc5LR7hZYz4AXmjQw8zuy2T//2QntwdnpuYI7jteT6GVYJL7F6C2C57R7gSYrcqVW3lAALefdbhBLDA==", - "dev": true, - "license": "MIT", - "dependencies": { - "browserslist": "^4.25.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" - } - }, - "node_modules/core-js-pure": { - "version": "3.41.0", - "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.41.0.tgz", - "integrity": "sha512-71Gzp96T9YPk63aUvE5Q5qP+DryB4ZloUZPSOebGM88VNw8VNfvdA7z6kGA8iGOTEzAomsRidp4jXSmUIJsL+Q==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" - } - }, - "node_modules/core-util-is": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/cosmiconfig": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", - "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", - "license": "MIT", - "dependencies": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.2.1", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.10.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/country-flag-icons": { - "version": "1.5.19", - "resolved": "https://registry.npmjs.org/country-flag-icons/-/country-flag-icons-1.5.19.tgz", - "integrity": "sha512-D/ZkRyj+ywJC6b2IrAN3/tpbReMUqmuRLlcKFoY/o0+EPQN9Ev/e8tV+D3+9scvu/tarxwLErNwS73C3yzxs/g==", - "license": "MIT" - }, - "node_modules/cross-env": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-7.0.3.tgz", - "integrity": "sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==", - "dev": true, - "license": "MIT", - "dependencies": { - "cross-spawn": "^7.0.1" - }, - "bin": { - "cross-env": "src/bin/cross-env.js", - "cross-env-shell": "src/bin/cross-env-shell.js" - }, - "engines": { - "node": ">=10.14", - "npm": ">=6", - "yarn": ">=1" - } - }, - "node_modules/cross-spawn": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", - "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", - "dev": true, - "license": "MIT", - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/css-loader": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-7.1.2.tgz", - "integrity": "sha512-6WvYYn7l/XEGN8Xu2vWFt9nVzrCn39vKyTEFf/ExEyoksJjjSZV/0/35XPlMbpnr6VGhZIUg5yJrL8tGfes/FA==", - "dev": true, - "license": "MIT", - "dependencies": { - "icss-utils": "^5.1.0", - "postcss": "^8.4.33", - "postcss-modules-extract-imports": "^3.1.0", - "postcss-modules-local-by-default": "^4.0.5", - "postcss-modules-scope": "^3.2.0", - "postcss-modules-values": "^4.0.0", - "postcss-value-parser": "^4.2.0", - "semver": "^7.5.4" - }, - "engines": { - "node": ">= 18.12.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "@rspack/core": "0.x || 1.x", - "webpack": "^5.27.0" - }, - "peerDependenciesMeta": { - "@rspack/core": { - "optional": true - }, - "webpack": { - "optional": true - } - } - }, - "node_modules/css-loader/node_modules/semver": { - "version": "7.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", - "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/css-select": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", - "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "boolbase": "^1.0.0", - "css-what": "^6.0.1", - "domhandler": "^4.3.1", - "domutils": "^2.8.0", - "nth-check": "^2.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" - } - }, - "node_modules/css-select/node_modules/dom-serializer": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", - "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", - "dev": true, - "license": "MIT", - "dependencies": { - "domelementtype": "^2.0.1", - "domhandler": "^4.2.0", - "entities": "^2.0.0" - }, - "funding": { - "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" - } - }, - "node_modules/css-select/node_modules/domhandler": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", - "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "domelementtype": "^2.2.0" - }, - "engines": { - "node": ">= 4" - }, - "funding": { - "url": "https://github.com/fb55/domhandler?sponsor=1" - } - }, - "node_modules/css-select/node_modules/domutils": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", - "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "dom-serializer": "^1.0.1", - "domelementtype": "^2.2.0", - "domhandler": "^4.2.0" - }, - "funding": { - "url": "https://github.com/fb55/domutils?sponsor=1" - } - }, - "node_modules/css-select/node_modules/entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", - "dev": true, - "license": "BSD-2-Clause", - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/css-what": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", - "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">= 6" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" - } - }, - "node_modules/cssesc": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", - "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", - "dev": true, - "license": "MIT", - "bin": { - "cssesc": "bin/cssesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/cssstyle": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-4.4.0.tgz", - "integrity": "sha512-W0Y2HOXlPkb2yaKrCVRjinYKciu/qSLEmK0K9mcfDei3zwlnHFEHAs/Du3cIRwPqY+J4JsiBzUjoHyc8RsJ03A==", - "dev": true, - "license": "MIT", - "dependencies": { - "@asamuzakjp/css-color": "^3.2.0", - "rrweb-cssom": "^0.8.0" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/csstype": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", - "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", - "license": "MIT" - }, - "node_modules/data-urls": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-5.0.0.tgz", - "integrity": "sha512-ZYP5VBHshaDAiVZxjbRVcFJpc+4xGgT0bK3vzy1HLN8jTO975HEbuYzZJcHoQEY5K1a0z8YayJkyVETa08eNTg==", - "dev": true, - "license": "MIT", - "dependencies": { - "whatwg-mimetype": "^4.0.0", - "whatwg-url": "^14.0.0" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/data-view-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.2.tgz", - "integrity": "sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "es-errors": "^1.3.0", - "is-data-view": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/data-view-byte-length": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.2.tgz", - "integrity": "sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "es-errors": "^1.3.0", - "is-data-view": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/inspect-js" - } - }, - "node_modules/data-view-byte-offset": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.1.tgz", - "integrity": "sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "is-data-view": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/debounce": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/debounce/-/debounce-1.2.1.tgz", - "integrity": "sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==", - "dev": true, - "license": "MIT" - }, - "node_modules/debug": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", - "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==", - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/decimal.js": { - "version": "10.5.0", - "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.5.0.tgz", - "integrity": "sha512-8vDa8Qxvr/+d94hSh5P3IJwI5t8/c0KsMp+g8bNw9cY2icONa5aPfvKeieW1WlG0WQYwwhJ7mjui2xtiePQSXw==", - "dev": true, - "license": "MIT" - }, - "node_modules/deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/default-browser": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-5.2.1.tgz", - "integrity": "sha512-WY/3TUME0x3KPYdRRxEJJvXRHV4PyPoUsxtZa78lwItwRQRHhd2U9xOscaT/YTf8uCXIAjeJOFBVEh/7FtD8Xg==", - "dev": true, - "license": "MIT", - "dependencies": { - "bundle-name": "^4.1.0", - "default-browser-id": "^5.0.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/default-browser-id": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-5.0.0.tgz", - "integrity": "sha512-A6p/pu/6fyBcA1TRz/GqWYPViplrftcW2gZC9q79ngNCKAeR/X3gcEdXQHl4KNXV+3wgIJ1CPkJQ3IHM6lcsyA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/define-data-property": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", - "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "gopd": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/define-lazy-prop": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz", - "integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/define-properties": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", - "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", - "dev": true, - "license": "MIT", - "dependencies": { - "define-data-property": "^1.0.1", - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", - "dev": true, - "license": "MIT", "engines": { "node": ">= 0.8" } }, - "node_modules/destroy": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", - "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", - "dev": true, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", "license": "MIT", "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" - } - }, - "node_modules/detect-libc": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.4.tgz", - "integrity": "sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA==", - "license": "Apache-2.0", - "engines": { - "node": ">=8" - } - }, - "node_modules/detect-node": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", - "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", - "dev": true, - "license": "MIT" - }, - "node_modules/dns-packet": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.6.1.tgz", - "integrity": "sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@leichtgewicht/ip-codec": "^2.0.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/dom-converter": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", - "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", - "dev": true, - "license": "MIT", - "dependencies": { - "utila": "~0.4" - } - }, - "node_modules/dom-helpers": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz", - "integrity": "sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.8.7", - "csstype": "^3.0.2" - } - }, - "node_modules/dom-serializer": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", - "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", - "license": "MIT", - "dependencies": { - "domelementtype": "^2.3.0", - "domhandler": "^5.0.2", - "entities": "^4.2.0" - }, - "funding": { - "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" - } - }, - "node_modules/dom-serializer/node_modules/entities": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", - "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", - "license": "BSD-2-Clause", - "engines": { - "node": ">=0.12" - }, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/domelementtype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", - "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ], - "license": "BSD-2-Clause" - }, - "node_modules/domhandler": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", - "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", - "license": "BSD-2-Clause", - "dependencies": { - "domelementtype": "^2.3.0" - }, - "engines": { - "node": ">= 4" - }, - "funding": { - "url": "https://github.com/fb55/domhandler?sponsor=1" - } - }, - "node_modules/domutils": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.2.2.tgz", - "integrity": "sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==", - "license": "BSD-2-Clause", - "dependencies": { - "dom-serializer": "^2.0.0", - "domelementtype": "^2.3.0", - "domhandler": "^5.0.3" - }, - "funding": { - "url": "https://github.com/fb55/domutils?sponsor=1" - } - }, - "node_modules/dot-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", - "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", - "dev": true, - "license": "MIT", - "dependencies": { - "no-case": "^3.0.4", - "tslib": "^2.0.3" + "node": ">=0.4.0" } }, "node_modules/dunder-proto": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", - "dev": true, "license": "MIT", "dependencies": { "call-bind-apply-helpers": "^1.0.1", @@ -5420,265 +113,10 @@ "node": ">= 0.4" } }, - "node_modules/duplexer": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", - "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", - "dev": true, - "license": "MIT" - }, - "node_modules/duplexer2": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", - "integrity": "sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "readable-stream": "^2.0.2" - } - }, - "node_modules/duplexer2/node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/duplexer2/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "dev": true, - "license": "MIT", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/duplexer2/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true, - "license": "MIT" - }, - "node_modules/duplexer2/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", - "dev": true, - "license": "MIT" - }, - "node_modules/electron-to-chromium": { - "version": "1.5.179", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.179.tgz", - "integrity": "sha512-UWKi/EbBopgfFsc5k61wFpV7WrnnSlSzW/e2XcBmS6qKYTivZlLtoll5/rdqRTxGglGHkmkW0j0pFNJG10EUIQ==", - "dev": true, - "license": "ISC" - }, - "node_modules/encodeurl": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", - "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/end-of-stream": { - "version": "1.4.5", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.5.tgz", - "integrity": "sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==", - "dev": true, - "license": "MIT", - "dependencies": { - "once": "^1.4.0" - } - }, - "node_modules/engine.io-client": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-6.5.4.tgz", - "integrity": "sha512-GeZeeRjpD2qf49cZQ0Wvh/8NJNfeXkXXcoGh+F77oEAgo9gUHwT1fCRxSNU+YEEaysOJTnsFHmM5oAcPy4ntvQ==", - "license": "MIT", - "dependencies": { - "@socket.io/component-emitter": "~3.1.0", - "debug": "~4.3.1", - "engine.io-parser": "~5.2.1", - "ws": "~8.17.1", - "xmlhttprequest-ssl": "~2.0.0" - } - }, - "node_modules/engine.io-client/node_modules/debug": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", - "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/engine.io-parser": { - "version": "5.2.3", - "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.2.3.tgz", - "integrity": "sha512-HqD3yTBfnBxIrbnM1DoD6Pcq8NECnh8d4As1Qgh0z5Gg3jRRIqijury0CL3ghu/edArpUYiYqQiDUQBIs4np3Q==", - "license": "MIT", - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/enhanced-resolve": { - "version": "5.18.1", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.18.1.tgz", - "integrity": "sha512-ZSW3ma5GkcQBIpwZTSRAI8N71Uuwgs93IezB7mf7R60tC8ZbJideoDNKjHn2O9KIlx6rkGTTEk1xUCK2E1Y2Yg==", - "dev": true, - "license": "MIT", - "dependencies": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/entities": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.0.tgz", - "integrity": "sha512-aKstq2TDOndCn4diEyp9Uq/Flu2i1GlLkc6XIDQSDMuaFE3OPW5OphLCyQ5SpSJZTb4reN+kTcYru5yIfXoRPw==", - "license": "BSD-2-Clause", - "engines": { - "node": ">=0.12" - }, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/envinfo": { - "version": "7.14.0", - "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.14.0.tgz", - "integrity": "sha512-CO40UI41xDQzhLB1hWyqUKgFhs250pNcGbyGKe1l/e4FSaI/+YE4IMG76GDt0In67WLPACIITC+sOi08x4wIvg==", - "dev": true, - "license": "MIT", - "bin": { - "envinfo": "dist/cli.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "license": "MIT", - "dependencies": { - "is-arrayish": "^0.2.1" - } - }, - "node_modules/error-stack-parser": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz", - "integrity": "sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "stackframe": "^1.3.4" - } - }, - "node_modules/es-abstract": { - "version": "1.23.9", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.9.tgz", - "integrity": "sha512-py07lI0wjxAC/DcfK1S6G7iANonniZwTISvdPzk9hzeH0IZIshbuuFxLIU96OyF89Yb9hiqWn8M/bY83KY5vzA==", - "dev": true, - "license": "MIT", - "dependencies": { - "array-buffer-byte-length": "^1.0.2", - "arraybuffer.prototype.slice": "^1.0.4", - "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "data-view-buffer": "^1.0.2", - "data-view-byte-length": "^1.0.2", - "data-view-byte-offset": "^1.0.1", - "es-define-property": "^1.0.1", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "es-set-tostringtag": "^2.1.0", - "es-to-primitive": "^1.3.0", - "function.prototype.name": "^1.1.8", - "get-intrinsic": "^1.2.7", - "get-proto": "^1.0.0", - "get-symbol-description": "^1.1.0", - "globalthis": "^1.0.4", - "gopd": "^1.2.0", - "has-property-descriptors": "^1.0.2", - "has-proto": "^1.2.0", - "has-symbols": "^1.1.0", - "hasown": "^2.0.2", - "internal-slot": "^1.1.0", - "is-array-buffer": "^3.0.5", - "is-callable": "^1.2.7", - "is-data-view": "^1.0.2", - "is-regex": "^1.2.1", - "is-shared-array-buffer": "^1.0.4", - "is-string": "^1.1.1", - "is-typed-array": "^1.1.15", - "is-weakref": "^1.1.0", - "math-intrinsics": "^1.1.0", - "object-inspect": "^1.13.3", - "object-keys": "^1.1.1", - "object.assign": "^4.1.7", - "own-keys": "^1.0.1", - "regexp.prototype.flags": "^1.5.3", - "safe-array-concat": "^1.1.3", - "safe-push-apply": "^1.0.0", - "safe-regex-test": "^1.1.0", - "set-proto": "^1.0.0", - "string.prototype.trim": "^1.2.10", - "string.prototype.trimend": "^1.0.9", - "string.prototype.trimstart": "^1.0.8", - "typed-array-buffer": "^1.0.3", - "typed-array-byte-length": "^1.0.3", - "typed-array-byte-offset": "^1.0.4", - "typed-array-length": "^1.0.7", - "unbox-primitive": "^1.1.0", - "which-typed-array": "^1.1.18" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/es-define-property": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", - "dev": true, "license": "MIT", "engines": { "node": ">= 0.4" @@ -5688,52 +126,15 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", - "dev": true, "license": "MIT", "engines": { "node": ">= 0.4" } }, - "node_modules/es-iterator-helpers": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.2.1.tgz", - "integrity": "sha512-uDn+FE1yrDzyC0pCo961B2IHbdM8y/ACZsKD4dG6WqrjV53BADjwa7D+1aom2rsNVfLyDgU/eigvlJGJ08OQ4w==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.6", - "es-errors": "^1.3.0", - "es-set-tostringtag": "^2.0.3", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.6", - "globalthis": "^1.0.4", - "gopd": "^1.2.0", - "has-property-descriptors": "^1.0.2", - "has-proto": "^1.2.0", - "has-symbols": "^1.1.0", - "internal-slot": "^1.1.0", - "iterator.prototype": "^1.1.4", - "safe-array-concat": "^1.1.3" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-module-lexer": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.6.0.tgz", - "integrity": "sha512-qqnD1yMU6tk/jnaMosogGySTZP8YtUgAffA9nMN+E/rjxcfRQ6IEk7IiozUjgxKoFHBGjTLnrHB/YC45r/59EQ==", - "dev": true, - "license": "MIT" - }, "node_modules/es-object-atoms": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", - "dev": true, "license": "MIT", "dependencies": { "es-errors": "^1.3.0" @@ -5746,7 +147,6 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", - "dev": true, "license": "MIT", "dependencies": { "es-errors": "^1.3.0", @@ -5758,1052 +158,48 @@ "node": ">= 0.4" } }, - "node_modules/es-shim-unscopables": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.1.0.tgz", - "integrity": "sha512-d9T8ucsEhh8Bi1woXCf+TIKDIROLG5WCkxg8geBCbvk22kzwC5G2OnXVMO6FUsvQlgUUXQ2itephWDLqDzbeCw==", - "dev": true, - "license": "MIT", - "dependencies": { - "hasown": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-to-primitive": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.3.0.tgz", - "integrity": "sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-callable": "^1.2.7", - "is-date-object": "^1.0.5", - "is-symbol": "^1.0.4" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/escalade": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", - "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", - "dev": true, + "node_modules/event-target-shim": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", + "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", "license": "MIT", "engines": { "node": ">=6" } }, - "node_modules/escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", - "dev": true, - "license": "MIT" - }, - "node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint": { - "version": "9.29.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.29.0.tgz", - "integrity": "sha512-GsGizj2Y1rCWDu6XoEekL3RLilp0voSePurjZIkxL3wlm5o5EC9VpgaP7lrCvjnkuLvzFBQWB3vWB3K5KQTveQ==", - "dev": true, + "node_modules/form-data": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.3.tgz", + "integrity": "sha512-qsITQPfmvMOSAdeyZ+12I1c+CKSstAFAwu+97zrnWAbIr5u8wfsExUzCesVLC8NgHuRUqNN4Zy6UPWUTRGslcA==", "license": "MIT", "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.12.1", - "@eslint/config-array": "^0.20.1", - "@eslint/config-helpers": "^0.2.1", - "@eslint/core": "^0.14.0", - "@eslint/eslintrc": "^3.3.1", - "@eslint/js": "9.29.0", - "@eslint/plugin-kit": "^0.3.1", - "@humanfs/node": "^0.16.6", - "@humanwhocodes/module-importer": "^1.0.1", - "@humanwhocodes/retry": "^0.4.2", - "@types/estree": "^1.0.6", - "@types/json-schema": "^7.0.15", - "ajv": "^6.12.4", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.6", - "debug": "^4.3.2", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^8.4.0", - "eslint-visitor-keys": "^4.2.1", - "espree": "^10.4.0", - "esquery": "^1.5.0", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^8.0.0", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://eslint.org/donate" - }, - "peerDependencies": { - "jiti": "*" - }, - "peerDependenciesMeta": { - "jiti": { - "optional": true - } - } - }, - "node_modules/eslint-import-resolver-node": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", - "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", - "dev": true, - "license": "MIT", - "dependencies": { - "debug": "^3.2.7", - "is-core-module": "^2.13.0", - "resolve": "^1.22.4" - } - }, - "node_modules/eslint-import-resolver-node/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/eslint-module-utils": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.12.0.tgz", - "integrity": "sha512-wALZ0HFoytlyh/1+4wuZ9FJCD/leWHQzzrxJ8+rebyReSLk7LApMyd3WJaLVoN+D5+WIdJyDK1c6JnE65V4Zyg==", - "dev": true, - "license": "MIT", - "dependencies": { - "debug": "^3.2.7" - }, - "engines": { - "node": ">=4" - }, - "peerDependenciesMeta": { - "eslint": { - "optional": true - } - } - }, - "node_modules/eslint-module-utils/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/eslint-plugin-import": { - "version": "2.31.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.31.0.tgz", - "integrity": "sha512-ixmkI62Rbc2/w8Vfxyh1jQRTdRTF52VxwRVHl/ykPAmqG+Nb7/kNn+byLP0LxPgI7zWA16Jt82SybJInmMia3A==", - "dev": true, - "license": "MIT", - "dependencies": { - "@rtsao/scc": "^1.1.0", - "array-includes": "^3.1.8", - "array.prototype.findlastindex": "^1.2.5", - "array.prototype.flat": "^1.3.2", - "array.prototype.flatmap": "^1.3.2", - "debug": "^3.2.7", - "doctrine": "^2.1.0", - "eslint-import-resolver-node": "^0.3.9", - "eslint-module-utils": "^2.12.0", + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "es-set-tostringtag": "^2.1.0", "hasown": "^2.0.2", - "is-core-module": "^2.15.1", - "is-glob": "^4.0.3", - "minimatch": "^3.1.2", - "object.fromentries": "^2.0.8", - "object.groupby": "^1.0.3", - "object.values": "^1.2.0", - "semver": "^6.3.1", - "string.prototype.trimend": "^1.0.8", - "tsconfig-paths": "^3.15.0" - }, - "engines": { - "node": ">=4" - }, - "peerDependencies": { - "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9" - } - }, - "node_modules/eslint-plugin-import/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/eslint-plugin-import/node_modules/doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/eslint-plugin-react": { - "version": "7.37.5", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.37.5.tgz", - "integrity": "sha512-Qteup0SqU15kdocexFNAJMvCJEfa2xUKNV4CC1xsVMrIIqEy3SQ/rqyxCWNzfrd3/ldy6HMlD2e0JDVpDg2qIA==", - "dev": true, - "license": "MIT", - "dependencies": { - "array-includes": "^3.1.8", - "array.prototype.findlast": "^1.2.5", - "array.prototype.flatmap": "^1.3.3", - "array.prototype.tosorted": "^1.1.4", - "doctrine": "^2.1.0", - "es-iterator-helpers": "^1.2.1", - "estraverse": "^5.3.0", - "hasown": "^2.0.2", - "jsx-ast-utils": "^2.4.1 || ^3.0.0", - "minimatch": "^3.1.2", - "object.entries": "^1.1.9", - "object.fromentries": "^2.0.8", - "object.values": "^1.2.1", - "prop-types": "^15.8.1", - "resolve": "^2.0.0-next.5", - "semver": "^6.3.1", - "string.prototype.matchall": "^4.0.12", - "string.prototype.repeat": "^1.0.0" - }, - "engines": { - "node": ">=4" - }, - "peerDependencies": { - "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7" - } - }, - "node_modules/eslint-plugin-react-hooks": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-5.2.0.tgz", - "integrity": "sha512-+f15FfK64YQwZdJNELETdn5ibXEUQmW1DZL6KXhNnc2heoy/sg9VJJeT7n8TlMWouzWqSWavFkIhHyIbIAEapg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0" - } - }, - "node_modules/eslint-plugin-react/node_modules/doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/eslint-plugin-react/node_modules/resolve": { - "version": "2.0.0-next.5", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz", - "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-core-module": "^2.13.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "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/eslint-scope/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/eslint-visitor-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=10" - } - }, - "node_modules/eslint-webpack-plugin": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/eslint-webpack-plugin/-/eslint-webpack-plugin-5.0.2.tgz", - "integrity": "sha512-cB7EO2o+4gPUzK6zxgegSet8uu/hHwzOiG+2976MHWiwWFj9mmPbTrzlW0InFl6hl89S1D9MPKK5F7vNFpZc4g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/eslint": "^9.6.1", - "flatted": "^3.3.3", - "jest-worker": "^29.7.0", - "micromatch": "^4.0.8", - "normalize-path": "^3.0.0", - "schema-utils": "^4.3.0" - }, - "engines": { - "node": ">= 18.12.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "eslint": "^8.0.0 || ^9.0.0", - "webpack": "^5.0.0" - } - }, - "node_modules/eslint/node_modules/eslint-scope": { - "version": "8.4.0", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.4.0.tgz", - "integrity": "sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint/node_modules/eslint-visitor-keys": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", - "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/espree": { - "version": "10.4.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-10.4.0.tgz", - "integrity": "sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "acorn": "^8.15.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^4.2.1" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/espree/node_modules/eslint-visitor-keys": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", - "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/esquery": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", - "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "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/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/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/eventemitter3": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", - "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", - "dev": true, - "license": "MIT" - }, - "node_modules/events": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8.x" - } - }, - "node_modules/execa": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", - "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", - "dev": true, - "license": "MIT", - "dependencies": { - "cross-spawn": "^6.0.0", - "get-stream": "^4.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/execa/node_modules/cross-spawn": { - "version": "6.0.6", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.6.tgz", - "integrity": "sha512-VqCUuhcd1iB+dsv8gxPttb5iZh/D0iubSP21g36KXdEuf6I5JiioesUVjpCdHV9MZRUfVFlvwtIUyPfxo5trtw==", - "dev": true, - "license": "MIT", - "dependencies": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - }, - "engines": { - "node": ">=4.8" - } - }, - "node_modules/execa/node_modules/path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/execa/node_modules/semver": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/execa/node_modules/shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", - "dev": true, - "license": "MIT", - "dependencies": { - "shebang-regex": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/execa/node_modules/shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/execa/node_modules/which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, - "license": "ISC", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "which": "bin/which" - } - }, - "node_modules/express": { - "version": "4.21.2", - "resolved": "https://registry.npmjs.org/express/-/express-4.21.2.tgz", - "integrity": "sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA==", - "dev": true, - "license": "MIT", - "dependencies": { - "accepts": "~1.3.8", - "array-flatten": "1.1.1", - "body-parser": "1.20.3", - "content-disposition": "0.5.4", - "content-type": "~1.0.4", - "cookie": "0.7.1", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "2.0.0", - "encodeurl": "~2.0.0", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "1.3.1", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "merge-descriptors": "1.0.3", - "methods": "~1.1.2", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "path-to-regexp": "0.1.12", - "proxy-addr": "~2.0.7", - "qs": "6.13.0", - "range-parser": "~1.2.1", - "safe-buffer": "5.2.1", - "send": "0.19.0", - "serve-static": "1.16.2", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "type-is": "~1.6.18", - "utils-merge": "1.0.1", - "vary": "~1.1.2" - }, - "engines": { - "node": ">= 0.10.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" - } - }, - "node_modules/express/node_modules/cookie": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.1.tgz", - "integrity": "sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/express/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/express/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-glob": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", - "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.8" - }, - "engines": { - "node": ">=8.6.0" - } - }, - "node_modules/fast-glob/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.1" + "mime-types": "^2.1.12" }, "engines": { "node": ">= 6" } }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true, + "node_modules/form-data-encoder": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/form-data-encoder/-/form-data-encoder-1.7.2.tgz", + "integrity": "sha512-qfqtYan3rxrnCk1VYaA4H+Ms9xdpPqvLZa6xmMgFvhO32x7/3J/ExcTd6qpxM0vH2GdMI+poehyBZvqfMTto8A==", "license": "MIT" }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-uri": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.6.tgz", - "integrity": "sha512-Atfo14OibSv5wAp4VWNsFYE1AchQRTv9cBGWET4pZWHzYshFSS9NQI6I57rdKn9croWVMbYFbLhJ+yJvmZIIHw==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/fastify" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/fastify" - } - ], - "license": "BSD-3-Clause" - }, - "node_modules/fastest-levenshtein": { - "version": "1.0.16", - "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", - "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4.9.1" - } - }, - "node_modules/fastq": { - "version": "1.19.1", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz", - "integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==", - "dev": true, - "license": "ISC", - "dependencies": { - "reusify": "^1.0.4" - } - }, - "node_modules/faye-websocket": { - "version": "0.11.4", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", - "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "websocket-driver": ">=0.5.1" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/file-entry-cache": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", - "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", - "dev": true, + "node_modules/formdata-node": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/formdata-node/-/formdata-node-4.4.1.tgz", + "integrity": "sha512-0iirZp3uVDjVGt9p49aTaqjk84TrglENEDuqfdlZQ1roC9CWlPk6Avf8EEnZNcAqPonwkG35x4n3ww/1THYAeQ==", "license": "MIT", "dependencies": { - "flat-cache": "^4.0.0" + "node-domexception": "1.0.0", + "web-streams-polyfill": "4.0.0-beta.3" }, "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/fill-range": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", - "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", - "dev": true, - "license": "MIT", - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/finalhandler": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.1.tgz", - "integrity": "sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "debug": "2.6.9", - "encodeurl": "~2.0.0", - "escape-html": "~1.0.3", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "statuses": "2.0.1", - "unpipe": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/finalhandler/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/finalhandler/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true, - "license": "MIT" - }, - "node_modules/find-cache-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", - "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "commondir": "^1.0.1", - "make-dir": "^2.0.0", - "pkg-dir": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/find-cache-dir/node_modules/find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "license": "MIT", - "dependencies": { - "locate-path": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/find-cache-dir/node_modules/locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/find-cache-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/find-cache-dir/node_modules/p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-limit": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/find-cache-dir/node_modules/path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/find-cache-dir/node_modules/pkg-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", - "dev": true, - "license": "MIT", - "dependencies": { - "find-up": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/find-root": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz", - "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==", - "license": "MIT" - }, - "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/flat": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", - "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", - "dev": true, - "license": "BSD-3-Clause", - "bin": { - "flat": "cli.js" - } - }, - "node_modules/flat-cache": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", - "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", - "dev": true, - "license": "MIT", - "dependencies": { - "flatted": "^3.2.9", - "keyv": "^4.5.4" - }, - "engines": { - "node": ">=16" - } - }, - "node_modules/flatted": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", - "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==", - "dev": true, - "license": "ISC" - }, - "node_modules/follow-redirects": { - "version": "1.15.9", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.9.tgz", - "integrity": "sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==", - "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/RubenVerborgh" - } - ], - "license": "MIT", - "engines": { - "node": ">=4.0" - }, - "peerDependenciesMeta": { - "debug": { - "optional": true - } - } - }, - "node_modules/for-each": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.5.tgz", - "integrity": "sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-callable": "^1.2.7" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/forwarded": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", - "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/fsevents": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + "node": ">= 12.20" } }, "node_modules/function-bind": { @@ -6815,52 +211,10 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/function.prototype.name": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.8.tgz", - "integrity": "sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "define-properties": "^1.2.1", - "functions-have-names": "^1.2.3", - "hasown": "^2.0.2", - "is-callable": "^1.2.7" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/functions-have-names": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", - "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/get-intrinsic": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", - "dev": true, "license": "MIT", "dependencies": { "call-bind-apply-helpers": "^1.0.2", @@ -6885,7 +239,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", - "dev": true, "license": "MIT", "dependencies": { "dunder-proto": "^1.0.1", @@ -6895,92 +248,10 @@ "node": ">= 0.4" } }, - "node_modules/get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", - "dev": true, - "license": "MIT", - "dependencies": { - "pump": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/get-symbol-description": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.1.0.tgz", - "integrity": "sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.6" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/glob-to-regexp": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", - "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", - "dev": true, - "license": "BSD-2-Clause" - }, - "node_modules/globals": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-16.2.0.tgz", - "integrity": "sha512-O+7l9tPdHCU320IigZZPj5zmRCFG9xHmx9cU8FqU2Rp+JN714seHV+2S9+JslCpY4gJwU2vOGox0wzgae/MCEg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/globalthis": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz", - "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "define-properties": "^1.2.1", - "gopd": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/gopd": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", - "dev": true, "license": "MIT", "engines": { "node": ">= 0.4" @@ -6989,93 +260,10 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", - "dev": true, - "license": "ISC" - }, - "node_modules/gzip-size": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz", - "integrity": "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "duplexer": "^0.1.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/handle-thing": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", - "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==", - "dev": true, - "license": "MIT" - }, - "node_modules/has-bigints": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.1.0.tgz", - "integrity": "sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/has-property-descriptors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", - "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-define-property": "^1.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-proto": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.2.0.tgz", - "integrity": "sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "dunder-proto": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/has-symbols": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", - "dev": true, "license": "MIT", "engines": { "node": ">= 0.4" @@ -7088,7 +276,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", - "dev": true, "license": "MIT", "dependencies": { "has-symbols": "^1.0.3" @@ -7112,1572 +299,28 @@ "node": ">= 0.4" } }, - "node_modules/he": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", - "dev": true, - "license": "MIT", - "bin": { - "he": "bin/he" - } - }, - "node_modules/hoist-non-react-statics": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", - "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", - "license": "BSD-3-Clause", - "dependencies": { - "react-is": "^16.7.0" - } - }, - "node_modules/hoist-non-react-statics/node_modules/react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", - "license": "MIT" - }, - "node_modules/hpack.js": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", - "integrity": "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "inherits": "^2.0.1", - "obuf": "^1.0.0", - "readable-stream": "^2.0.1", - "wbuf": "^1.1.0" - } - }, - "node_modules/hpack.js/node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/hpack.js/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "dev": true, - "license": "MIT", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/hpack.js/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true, - "license": "MIT" - }, - "node_modules/hpack.js/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/html-dom-parser": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/html-dom-parser/-/html-dom-parser-5.1.1.tgz", - "integrity": "sha512-+o4Y4Z0CLuyemeccvGN4bAO20aauB2N9tFEAep5x4OW34kV4PTarBHm6RL02afYt2BMKcr0D2Agep8S3nJPIBg==", - "license": "MIT", - "dependencies": { - "domhandler": "5.0.3", - "htmlparser2": "10.0.0" - } - }, - "node_modules/html-encoding-sniffer": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-4.0.0.tgz", - "integrity": "sha512-Y22oTqIU4uuPgEemfz7NDJz6OeKf12Lsu+QC+s3BVpda64lTiMYCyGwg5ki4vFxkMwQdeZDl2adZoqUgdFuTgQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "whatwg-encoding": "^3.1.1" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/html-entities": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.6.0.tgz", - "integrity": "sha512-kig+rMn/QOVRvr7c86gQ8lWXq+Hkv6CbAH1hLu+RG338StTpE8Z0b44SDVaqVu7HGKf27frdmUYEs9hTUX/cLQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/mdevils" - }, - { - "type": "patreon", - "url": "https://patreon.com/mdevils" - } - ], - "license": "MIT" - }, - "node_modules/html-escaper": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", - "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", - "dev": true, - "license": "MIT" - }, - "node_modules/html-minifier-terser": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", - "integrity": "sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==", - "dev": true, - "license": "MIT", - "dependencies": { - "camel-case": "^4.1.2", - "clean-css": "^5.2.2", - "commander": "^8.3.0", - "he": "^1.2.0", - "param-case": "^3.0.4", - "relateurl": "^0.2.7", - "terser": "^5.10.0" - }, - "bin": { - "html-minifier-terser": "cli.js" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/html-parse-stringify": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/html-parse-stringify/-/html-parse-stringify-3.0.1.tgz", - "integrity": "sha512-KknJ50kTInJ7qIScF3jeaFRpMpE8/lfiTdzf/twXyPBLAGrLRTmkz3AdTnKeh40X8k9L2fdYwEp/42WGXIRGcg==", - "license": "MIT", - "dependencies": { - "void-elements": "3.1.0" - } - }, - "node_modules/html-react-parser": { - "version": "5.2.5", - "resolved": "https://registry.npmjs.org/html-react-parser/-/html-react-parser-5.2.5.tgz", - "integrity": "sha512-bRPdv8KTqG9CEQPMNGksDqmbiRfVQeOidry8pVetdh/1jQ1Edx4KX5m0lWvDD89Pt4CqTYjK1BLz6NoNVxN/Uw==", - "license": "MIT", - "dependencies": { - "domhandler": "5.0.3", - "html-dom-parser": "5.1.1", - "react-property": "2.0.2", - "style-to-js": "1.1.16" - }, - "peerDependencies": { - "@types/react": "0.14 || 15 || 16 || 17 || 18 || 19", - "react": "0.14 || 15 || 16 || 17 || 18 || 19" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/html-tokenize": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/html-tokenize/-/html-tokenize-2.0.1.tgz", - "integrity": "sha512-QY6S+hZ0f5m1WT8WffYN+Hg+xm/w5I8XeUcAq/ZYP5wVC8xbKi4Whhru3FtrAebD5EhBW8rmFzkDI6eCAuFe2w==", - "dev": true, - "license": "MIT", - "dependencies": { - "buffer-from": "~0.1.1", - "inherits": "~2.0.1", - "minimist": "~1.2.5", - "readable-stream": "~1.0.27-1", - "through2": "~0.4.1" - }, - "bin": { - "html-tokenize": "bin/cmd.js" - } - }, - "node_modules/html-tokenize/node_modules/buffer-from": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-0.1.2.tgz", - "integrity": "sha512-RiWIenusJsmI2KcvqQABB83tLxCByE3upSP8QU3rJDMVFGPWLvPQJt/O1Su9moRWeH7d+Q2HYb68f6+v+tw2vg==", - "dev": true, - "license": "MIT" - }, - "node_modules/html-tokenize/node_modules/isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/html-tokenize/node_modules/readable-stream": { - "version": "1.0.34", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", - "integrity": "sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==", - "dev": true, - "license": "MIT", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "node_modules/html-tokenize/node_modules/string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/html-webpack-plugin": { - "version": "5.6.3", - "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.6.3.tgz", - "integrity": "sha512-QSf1yjtSAsmf7rYBV7XX86uua4W/vkhIt0xNXKbsi2foEeW7vjJQz4bhnpL3xH+l1ryl1680uNv968Z+X6jSYg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/html-minifier-terser": "^6.0.0", - "html-minifier-terser": "^6.0.2", - "lodash": "^4.17.21", - "pretty-error": "^4.0.0", - "tapable": "^2.0.0" - }, - "engines": { - "node": ">=10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/html-webpack-plugin" - }, - "peerDependencies": { - "@rspack/core": "0.x || 1.x", - "webpack": "^5.20.0" - }, - "peerDependenciesMeta": { - "@rspack/core": { - "optional": true - }, - "webpack": { - "optional": true - } - } - }, - "node_modules/htmlparser2": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-10.0.0.tgz", - "integrity": "sha512-TwAZM+zE5Tq3lrEHvOlvwgj1XLWQCtaaibSN11Q+gGBAS7Y1uZSWwXXRe4iF6OXnaq1riyQAPFOBtYc77Mxq0g==", - "funding": [ - "https://github.com/fb55/htmlparser2?sponsor=1", - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ], - "license": "MIT", - "dependencies": { - "domelementtype": "^2.3.0", - "domhandler": "^5.0.3", - "domutils": "^3.2.1", - "entities": "^6.0.0" - } - }, - "node_modules/http-deceiver": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", - "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==", - "dev": true, - "license": "MIT" - }, - "node_modules/http-errors": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "depd": "2.0.0", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "toidentifier": "1.0.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/http-parser-js": { - "version": "0.5.10", - "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.10.tgz", - "integrity": "sha512-Pysuw9XpUq5dVc/2SMHpuTY01RFl8fttgcyunjL7eEMhGM3cI4eOmiCycJDVCo/7O7ClfQD3SaI6ftDzqOXYMA==", - "dev": true, - "license": "MIT" - }, - "node_modules/http-proxy": { - "version": "1.18.1", - "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", - "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "eventemitter3": "^4.0.0", - "follow-redirects": "^1.0.0", - "requires-port": "^1.0.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/http-proxy-agent": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", - "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", - "dev": true, - "license": "MIT", - "dependencies": { - "agent-base": "^7.1.0", - "debug": "^4.3.4" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/http-proxy-middleware": { - "version": "2.0.9", - "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.9.tgz", - "integrity": "sha512-c1IyJYLYppU574+YI7R4QyX2ystMtVXZwIdzazUIPIJsHuWNd+mho2j+bKoHftndicGj9yh+xjd+l0yj7VeT1Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/http-proxy": "^1.17.8", - "http-proxy": "^1.18.1", - "is-glob": "^4.0.1", - "is-plain-obj": "^3.0.0", - "micromatch": "^4.0.2" - }, - "engines": { - "node": ">=12.0.0" - }, - "peerDependencies": { - "@types/express": "^4.17.13" - }, - "peerDependenciesMeta": { - "@types/express": { - "optional": true - } - } - }, - "node_modules/https-proxy-agent": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", - "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", - "dev": true, - "license": "MIT", - "dependencies": { - "agent-base": "^7.1.2", - "debug": "4" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/hyperdyperid": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/hyperdyperid/-/hyperdyperid-1.2.0.tgz", - "integrity": "sha512-Y93lCzHYgGWdrJ66yIktxiaGULYc6oGiABxhcO5AufBeOyoIdZF7bIfLaOrbM0iGIOXQQgxxRrFEnb+Y6w1n4A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10.18" - } - }, - "node_modules/i18next": { - "version": "25.3.2", - "resolved": "https://registry.npmjs.org/i18next/-/i18next-25.3.2.tgz", - "integrity": "sha512-JSnbZDxRVbphc5jiptxr3o2zocy5dEqpVm9qCGdJwRNO+9saUJS0/u4LnM/13C23fUEWxAylPqKU/NpMV/IjqA==", - "funding": [ - { - "type": "individual", - "url": "https://locize.com" - }, - { - "type": "individual", - "url": "https://locize.com/i18next.html" - }, - { - "type": "individual", - "url": "https://www.i18next.com/how-to/faq#i18next-is-awesome.-how-can-i-support-the-project" - } - ], - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.27.6" - }, - "peerDependencies": { - "typescript": "^5" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/i18next-browser-languagedetector": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/i18next-browser-languagedetector/-/i18next-browser-languagedetector-8.2.0.tgz", - "integrity": "sha512-P+3zEKLnOF0qmiesW383vsLdtQVyKtCNA9cjSoKCppTKPQVfKd2W8hbVo5ZhNJKDqeM7BOcvNoKJOjpHh4Js9g==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.23.2" - } - }, - "node_modules/iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dev": true, - "license": "MIT", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/icss-utils": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", - "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", - "dev": true, - "license": "ISC", - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/ignore": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", - "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, - "node_modules/import-fresh": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", - "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", - "license": "MIT", - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/import-local": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.2.0.tgz", - "integrity": "sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==", - "dev": true, - "license": "MIT", - "dependencies": { - "pkg-dir": "^4.2.0", - "resolve-cwd": "^3.0.0" - }, - "bin": { - "import-local-fixture": "fixtures/cli.js" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true, - "license": "ISC" - }, - "node_modules/inline-style-parser": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.2.4.tgz", - "integrity": "sha512-0aO8FkhNZlj/ZIbNi7Lxxr12obT7cL1moPfE4tg1LkX7LlLfC6DeX4l2ZEud1ukP9jNQyNnfzQVqwbwmAATY4Q==", - "license": "MIT" - }, - "node_modules/internal-slot": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.1.0.tgz", - "integrity": "sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "hasown": "^2.0.2", - "side-channel": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/interpret": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-3.1.1.tgz", - "integrity": "sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/ipaddr.js": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.2.0.tgz", - "integrity": "sha512-Ag3wB2o37wslZS19hZqorUnrnzSkpOVy+IiiDEiTqNubEYpYuHWIf6K4psgN2ZWKExS4xhVCrRVfb/wfW8fWJA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 10" - } - }, - "node_modules/is-array-buffer": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.5.tgz", - "integrity": "sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "get-intrinsic": "^1.2.6" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", - "license": "MIT" - }, - "node_modules/is-async-function": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.1.1.tgz", - "integrity": "sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "async-function": "^1.0.0", - "call-bound": "^1.0.3", - "get-proto": "^1.0.1", - "has-tostringtag": "^1.0.2", - "safe-regex-test": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-bigint": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.1.0.tgz", - "integrity": "sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-bigints": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dev": true, - "license": "MIT", - "dependencies": { - "binary-extensions": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-boolean-object": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.2.2.tgz", - "integrity": "sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "has-tostringtag": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-callable": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-core-module": { - "version": "2.16.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", - "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", - "license": "MIT", - "dependencies": { - "hasown": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-data-view": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.2.tgz", - "integrity": "sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "get-intrinsic": "^1.2.6", - "is-typed-array": "^1.1.13" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-date-object": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.1.0.tgz", - "integrity": "sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "has-tostringtag": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-docker": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz", - "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==", - "dev": true, - "license": "MIT", - "bin": { - "is-docker": "cli.js" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-finalizationregistry": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.1.1.tgz", - "integrity": "sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-generator-function": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.1.0.tgz", - "integrity": "sha512-nPUB5km40q9e8UfN/Zc24eLlzdSf9OfKByBw9CIdw4H1giPMeA0OIJvbchsCu4npfI2QcMVBsGEBHKZ7wLTWmQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "get-proto": "^1.0.0", - "has-tostringtag": "^1.0.2", - "safe-regex-test": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-inside-container": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz", - "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-docker": "^3.0.0" - }, - "bin": { - "is-inside-container": "cli.js" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-map": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz", - "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-network-error": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-network-error/-/is-network-error-1.1.0.tgz", - "integrity": "sha512-tUdRRAnhT+OtCZR/LxZelH/C7QtjtFrTu5tXCA8pl55eTUElUHT+GPYV8MBMBvea/j+NxQqVt3LbWMRir7Gx9g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/is-number-object": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.1.1.tgz", - "integrity": "sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "has-tostringtag": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-plain-obj": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", - "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dev": true, - "license": "MIT", - "dependencies": { - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-potential-custom-element-name": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", - "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/is-regex": { + "node_modules/humanize-ms": { "version": "1.2.1", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz", - "integrity": "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==", - "dev": true, + "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", + "integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==", "license": "MIT", "dependencies": { - "call-bound": "^1.0.2", - "gopd": "^1.2.0", - "has-tostringtag": "^1.0.2", - "hasown": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-set": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz", - "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-shared-array-buffer": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.4.tgz", - "integrity": "sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-string": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.1.1.tgz", - "integrity": "sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "has-tostringtag": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-symbol": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.1.1.tgz", - "integrity": "sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "has-symbols": "^1.1.0", - "safe-regex-test": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-typed-array": { - "version": "1.1.15", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.15.tgz", - "integrity": "sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "which-typed-array": "^1.1.16" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-weakmap": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz", - "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-weakref": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.1.1.tgz", - "integrity": "sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-weakset": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.4.tgz", - "integrity": "sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "get-intrinsic": "^1.2.6" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-wsl": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.0.tgz", - "integrity": "sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-inside-container": "^1.0.0" - }, - "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", - "dev": true, - "license": "MIT" - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true, - "license": "ISC" - }, - "node_modules/isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/iterator.prototype": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.5.tgz", - "integrity": "sha512-H0dkQoCa3b2VEeKQBOxFph+JAbcrQdE7KC0UkqwpLmv2EC4P41QXP+rqo9wYodACiG5/WM5s9oDApTU8utwj9g==", - "dev": true, - "license": "MIT", - "dependencies": { - "define-data-property": "^1.1.4", - "es-object-atoms": "^1.0.0", - "get-intrinsic": "^1.2.6", - "get-proto": "^1.0.0", - "has-symbols": "^1.1.0", - "set-function-name": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/jest-util": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", - "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/types": "^29.6.3", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-worker": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz", - "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/node": "*", - "jest-util": "^29.7.0", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-worker/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, - "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "license": "MIT" - }, - "node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, - "license": "MIT", - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/jsdom": { - "version": "26.1.0", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-26.1.0.tgz", - "integrity": "sha512-Cvc9WUhxSMEo4McES3P7oK3QaXldCfNWp7pl2NNeiIFlCoLr3kfq9kb1fxftiwk1FLV7CvpvDfonxtzUDeSOPg==", - "dev": true, - "license": "MIT", - "dependencies": { - "cssstyle": "^4.2.1", - "data-urls": "^5.0.0", - "decimal.js": "^10.5.0", - "html-encoding-sniffer": "^4.0.0", - "http-proxy-agent": "^7.0.2", - "https-proxy-agent": "^7.0.6", - "is-potential-custom-element-name": "^1.0.1", - "nwsapi": "^2.2.16", - "parse5": "^7.2.1", - "rrweb-cssom": "^0.8.0", - "saxes": "^6.0.0", - "symbol-tree": "^3.2.4", - "tough-cookie": "^5.1.1", - "w3c-xmlserializer": "^5.0.0", - "webidl-conversions": "^7.0.0", - "whatwg-encoding": "^3.1.1", - "whatwg-mimetype": "^4.0.0", - "whatwg-url": "^14.1.1", - "ws": "^8.18.0", - "xml-name-validator": "^5.0.0" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "canvas": "^3.0.0" - }, - "peerDependenciesMeta": { - "canvas": { - "optional": true - } - } - }, - "node_modules/jsdom/node_modules/ws": { - "version": "8.18.2", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.2.tgz", - "integrity": "sha512-DMricUmwGZUVr++AEAe2uiVM7UoO9MAVZMDu05UQOaUII0lp+zOzLLU4Xqh/JvTqklB1T4uELaaPBKyjE1r4fQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": ">=5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, - "node_modules/jsesc": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", - "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", - "license": "MIT", - "bin": { - "jsesc": "bin/jsesc" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/json-buffer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "license": "MIT" - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true, - "license": "MIT" - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true, - "license": "MIT" - }, - "node_modules/json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true, - "license": "MIT", - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/jsx-ast-utils": { - "version": "3.3.5", - "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", - "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "array-includes": "^3.1.6", - "array.prototype.flat": "^1.3.1", - "object.assign": "^4.1.4", - "object.values": "^1.1.6" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/keyv": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", - "dev": true, - "license": "MIT", - "dependencies": { - "json-buffer": "3.0.1" - } - }, - "node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/launch-editor": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.10.0.tgz", - "integrity": "sha512-D7dBRJo/qcGX9xlvt/6wUYzQxjh5G1RvZPgPv8vi4KRU99DVQL/oW7tnVOCCTm2HGeo3C5HvGE5Yrh6UBoZ0vA==", - "dev": true, - "license": "MIT", - "dependencies": { - "picocolors": "^1.0.0", - "shell-quote": "^1.8.1" - } - }, - "node_modules/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/lines-and-columns": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", - "license": "MIT" - }, - "node_modules/loader-runner": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", - "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.11.5" - } - }, - "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/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true, - "license": "MIT" - }, - "node_modules/lodash.debounce": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", - "dev": true, - "license": "MIT" - }, - "node_modules/lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", - "license": "MIT", - "dependencies": { - "js-tokens": "^3.0.0 || ^4.0.0" - }, - "bin": { - "loose-envify": "cli.js" - } - }, - "node_modules/lower-case": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", - "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", - "dev": true, - "license": "MIT", - "dependencies": { - "tslib": "^2.0.3" - } - }, - "node_modules/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^3.0.2" - } - }, - "node_modules/make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", - "dev": true, - "license": "MIT", - "dependencies": { - "pify": "^4.0.1", - "semver": "^5.6.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/make-dir/node_modules/semver": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver" + "ms": "^2.0.0" } }, "node_modules/math-intrinsics": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", - "dev": true, "license": "MIT", "engines": { "node": ">= 0.4" } }, - "node_modules/media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/memfs": { - "version": "4.17.0", - "resolved": "https://registry.npmjs.org/memfs/-/memfs-4.17.0.tgz", - "integrity": "sha512-4eirfZ7thblFmqFjywlTmuWVSvccHAJbn1r8qQLzmTO11qcqpohOjmY2mFce6x7x7WtskzRqApPD0hv+Oa74jg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@jsonjoy.com/json-pack": "^1.0.3", - "@jsonjoy.com/util": "^1.3.0", - "tree-dump": "^1.0.1", - "tslib": "^2.0.0" - }, - "engines": { - "node": ">= 4.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/streamich" - } - }, - "node_modules/merge-descriptors": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz", - "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true, - "license": "MIT" - }, - "node_modules/merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 8" - } - }, - "node_modules/methods": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/micromatch": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", - "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", - "dev": true, - "license": "MIT", - "dependencies": { - "braces": "^3.0.3", - "picomatch": "^2.3.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", - "dev": true, - "license": "MIT", - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/mime-db": { "version": "1.52.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "dev": true, "license": "MIT", "engines": { "node": ">= 0.6" @@ -8687,7 +330,6 @@ "version": "2.1.35", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "dev": true, "license": "MIT", "dependencies": { "mime-db": "1.52.0" @@ -8696,3800 +338,141 @@ "node": ">= 0.6" } }, - "node_modules/mini-css-extract-plugin": { - "version": "2.9.2", - "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.9.2.tgz", - "integrity": "sha512-GJuACcS//jtq4kCtd5ii/M0SZf7OZRH+BxdqXZHaJfb8TJiVl+NgQRPwiYt2EuqeSkNydn/7vP+bcE27C5mb9w==", - "dev": true, - "license": "MIT", - "dependencies": { - "schema-utils": "^4.0.0", - "tapable": "^2.2.1" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.0.0" - } - }, - "node_modules/minimalistic-assert": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", - "dev": true, - "license": "ISC" - }, - "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/minimist": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/mrmime": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.1.tgz", - "integrity": "sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - } - }, "node_modules/ms": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "license": "MIT" }, - "node_modules/multicast-dns": { - "version": "7.2.5", - "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz", - "integrity": "sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==", - "dev": true, - "license": "MIT", - "dependencies": { - "dns-packet": "^5.2.2", - "thunky": "^1.0.2" - }, - "bin": { - "multicast-dns": "cli.js" - } - }, - "node_modules/multipipe": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/multipipe/-/multipipe-1.0.2.tgz", - "integrity": "sha512-6uiC9OvY71vzSGX8lZvSqscE7ft9nPupJ8fMjrCNRAUy2LREUW42UL+V/NTrogr6rFgRydUrCX4ZitfpSNkSCQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "duplexer2": "^0.1.2", - "object-assign": "^4.1.0" - } - }, - "node_modules/nanoid": { - "version": "3.3.11", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", - "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true, - "license": "MIT" - }, - "node_modules/negotiator": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.4.tgz", - "integrity": "sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/neo-async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", - "dev": true, - "license": "MIT" - }, - "node_modules/nice-try": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", - "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/no-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", - "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", - "dev": true, - "license": "MIT", - "dependencies": { - "lower-case": "^2.0.2", - "tslib": "^2.0.3" - } - }, - "node_modules/node-forge": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", - "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", - "dev": true, - "license": "(BSD-3-Clause OR GPL-2.0)", - "engines": { - "node": ">= 6.13.0" - } - }, - "node_modules/node-releases": { - "version": "2.0.19", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz", - "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==", - "dev": true, - "license": "MIT" - }, - "node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/npm-run-path": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==", - "dev": true, - "license": "MIT", - "dependencies": { - "path-key": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/npm-run-path/node_modules/path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/nth-check": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", - "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "boolbase": "^1.0.0" - }, - "funding": { - "url": "https://github.com/fb55/nth-check?sponsor=1" - } - }, - "node_modules/nwsapi": { - "version": "2.2.20", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.20.tgz", - "integrity": "sha512-/ieB+mDe4MrrKMT8z+mQL8klXydZWGR5Dowt4RAGKbJ3kIGEx3X4ljUo+6V73IXtUPWgfOlU5B9MlGxFO5T+cA==", - "dev": true, - "license": "MIT" - }, - "node_modules/object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-inspect": { - "version": "1.13.4", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", - "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.assign": { - "version": "4.1.7", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.7.tgz", - "integrity": "sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0", - "has-symbols": "^1.1.0", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object.entries": { - "version": "1.1.9", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.9.tgz", - "integrity": "sha512-8u/hfXFRBD1O0hPUjioLhoWFHRmt6tKA4/vZPyckBr18l1KE9uHrFaFaUi8MDRTpi4uak2goyPTSNJLXX2k2Hw==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.4", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.fromentries": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz", - "integrity": "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object.groupby": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.3.tgz", - "integrity": "sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.values": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.1.tgz", - "integrity": "sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/obuf": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", - "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", - "dev": true, - "license": "MIT" - }, - "node_modules/on-finished": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", - "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", - "dev": true, - "license": "MIT", - "dependencies": { - "ee-first": "1.1.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/on-headers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", - "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dev": true, - "license": "ISC", - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/open": { - "version": "10.1.1", - "resolved": "https://registry.npmjs.org/open/-/open-10.1.1.tgz", - "integrity": "sha512-zy1wx4+P3PfhXSEPJNtZmJXfhkkIaxU1VauWIrDZw1O7uJRDRJtKr9n3Ic4NgbA16KyOxOXO2ng9gYwCdXuSXA==", - "dev": true, - "license": "MIT", - "dependencies": { - "default-browser": "^5.2.1", - "define-lazy-prop": "^3.0.0", - "is-inside-container": "^1.0.0", - "is-wsl": "^3.1.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/opener": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", - "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==", - "dev": true, - "license": "(WTFPL OR MIT)", - "bin": { - "opener": "bin/opener-bin.js" - } - }, - "node_modules/optionator": { - "version": "0.9.4", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", - "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", - "dev": true, - "license": "MIT", - "dependencies": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.5" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/own-keys": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/own-keys/-/own-keys-1.0.1.tgz", - "integrity": "sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==", - "dev": true, - "license": "MIT", - "dependencies": { - "get-intrinsic": "^1.2.6", - "object-keys": "^1.1.1", - "safe-push-apply": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/p-finally": { + "node_modules/node-domexception": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "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/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/p-retry": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-6.2.1.tgz", - "integrity": "sha512-hEt02O4hUct5wtwg4H4KcWgDdm+l1bOaEy/hWzd8xtXB9BqxTWBBhb+2ImAtH4Cv4rPjV76xN3Zumqk3k3AhhQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/retry": "0.12.2", - "is-network-error": "^1.0.0", - "retry": "^0.13.1" - }, - "engines": { - "node": ">=16.17" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/param-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", - "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", - "dev": true, - "license": "MIT", - "dependencies": { - "dot-case": "^3.0.4", - "tslib": "^2.0.3" - } - }, - "node_modules/parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "license": "MIT", - "dependencies": { - "callsites": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/parse5": { - "version": "7.3.0", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.3.0.tgz", - "integrity": "sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==", - "dev": true, - "license": "MIT", - "dependencies": { - "entities": "^6.0.0" - }, - "funding": { - "url": "https://github.com/inikulin/parse5?sponsor=1" - } - }, - "node_modules/parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/pascal-case": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", - "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", - "dev": true, - "license": "MIT", - "dependencies": { - "no-case": "^3.0.4", - "tslib": "^2.0.3" - } - }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "license": "MIT" - }, - "node_modules/path-to-regexp": { - "version": "0.1.12", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.12.tgz", - "integrity": "sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/picocolors": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", - "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", - "license": "ISC" - }, - "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/pirates": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.7.tgz", - "integrity": "sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 6" - } - }, - "node_modules/pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "find-up": "^4.0.0" - }, - "engines": { - "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/possible-typed-array-names": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz", - "integrity": "sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/postcss": { - "version": "8.5.3", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.3.tgz", - "integrity": "sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "nanoid": "^3.3.8", - "picocolors": "^1.1.1", - "source-map-js": "^1.2.1" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } - }, - "node_modules/postcss-modules-extract-imports": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.1.0.tgz", - "integrity": "sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==", - "dev": true, - "license": "ISC", - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/postcss-modules-local-by-default": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.2.0.tgz", - "integrity": "sha512-5kcJm/zk+GJDSfw+V/42fJ5fhjL5YbFDl8nVdXkJPLLW+Vf9mTD5Xe0wqIaDnLuL2U6cDNpTr+UQ+v2HWIBhzw==", - "dev": true, - "license": "MIT", - "dependencies": { - "icss-utils": "^5.0.0", - "postcss-selector-parser": "^7.0.0", - "postcss-value-parser": "^4.1.0" - }, - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/postcss-modules-scope": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.2.1.tgz", - "integrity": "sha512-m9jZstCVaqGjTAuny8MdgE88scJnCiQSlSrOWcTQgM2t32UBe+MUmFSO5t7VMSfAf/FJKImAxBav8ooCHJXCJA==", - "dev": true, - "license": "ISC", - "dependencies": { - "postcss-selector-parser": "^7.0.0" - }, - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/postcss-modules-values": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", - "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", - "dev": true, - "license": "ISC", - "dependencies": { - "icss-utils": "^5.0.0" - }, - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/postcss-selector-parser": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.0.tgz", - "integrity": "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==", - "dev": true, - "license": "MIT", - "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-value-parser": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", - "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/pretty-error": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-4.0.0.tgz", - "integrity": "sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==", - "dev": true, - "license": "MIT", - "dependencies": { - "lodash": "^4.17.20", - "renderkid": "^3.0.0" - } - }, - "node_modules/process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", - "dev": true, - "license": "MIT" - }, - "node_modules/prop-types": { - "version": "15.8.1", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", - "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", - "license": "MIT", - "dependencies": { - "loose-envify": "^1.4.0", - "object-assign": "^4.1.1", - "react-is": "^16.13.1" - } - }, - "node_modules/prop-types/node_modules/react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", - "license": "MIT" - }, - "node_modules/proxy-addr": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", - "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", - "dev": true, - "license": "MIT", - "dependencies": { - "forwarded": "0.2.0", - "ipaddr.js": "1.9.1" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/proxy-addr/node_modules/ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/pump": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.3.tgz", - "integrity": "sha512-todwxLMY7/heScKmntwQG8CXVkWUOdYxIvY2s0VWAAMh/nd8SoYiRaKjlr7+iCs984f2P8zvrfWcDDYVb73NfA==", - "dev": true, - "license": "MIT", - "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "node_modules/punycode": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/qs": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz", - "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "side-channel": "^1.0.6" - }, - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true, + "resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz", + "integrity": "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==", + "deprecated": "Use your platform's native DOMException instead", "funding": [ { "type": "github", - "url": "https://github.com/sponsors/feross" + "url": "https://github.com/sponsors/jimmywarting" }, { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" + "type": "github", + "url": "https://paypal.me/jimmywarting" } ], - "license": "MIT" - }, - "node_modules/randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "safe-buffer": "^5.1.0" - } - }, - "node_modules/range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", - "dev": true, "license": "MIT", "engines": { - "node": ">= 0.6" + "node": ">=10.5.0" } }, - "node_modules/raw-body": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", - "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", - "dev": true, + "node_modules/node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", "license": "MIT", "dependencies": { - "bytes": "3.1.2", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" + "whatwg-url": "^5.0.0" }, "engines": { - "node": ">= 0.8" - } - }, - "node_modules/react": { - "version": "19.1.0", - "resolved": "https://registry.npmjs.org/react/-/react-19.1.0.tgz", - "integrity": "sha512-FS+XFBNvn3GTAWq26joslQgWNoFu08F4kl0J4CgdNKADkdSGXQyTCnKteIAJy96Br6YbpEU1LSzV5dYtjMkMDg==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/react-chartjs-2": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/react-chartjs-2/-/react-chartjs-2-5.3.0.tgz", - "integrity": "sha512-UfZZFnDsERI3c3CZGxzvNJd02SHjaSJ8kgW1djn65H1KK8rehwTjyrRKOG3VTMG8wtHZ5rgAO5oTHtHi9GCCmw==", - "license": "MIT", - "peerDependencies": { - "chart.js": "^4.1.1", - "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" - } - }, - "node_modules/react-dom": { - "version": "19.1.0", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.1.0.tgz", - "integrity": "sha512-Xs1hdnE+DyKgeHJeJznQmYMIBG3TKIHJJT95Q58nHLSrElKlGQqDTR2HQ9fx5CN/Gk6Vh/kupBTDLU11/nDk/g==", - "license": "MIT", - "dependencies": { - "scheduler": "^0.26.0" + "node": "4.x || >=6.0.0" }, "peerDependencies": { - "react": "^19.1.0" - } - }, - "node_modules/react-i18next": { - "version": "15.6.0", - "resolved": "https://registry.npmjs.org/react-i18next/-/react-i18next-15.6.0.tgz", - "integrity": "sha512-W135dB0rDfiFmbMipC17nOhGdttO5mzH8BivY+2ybsQBbXvxWIwl3cmeH3T9d+YPBSJu/ouyJKFJTtkK7rJofw==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.27.6", - "html-parse-stringify": "^3.0.1" - }, - "peerDependencies": { - "i18next": ">= 23.2.3", - "react": ">= 16.8.0", - "typescript": "^5" + "encoding": "^0.1.0" }, "peerDependenciesMeta": { - "react-dom": { - "optional": true - }, - "react-native": { - "optional": true - }, - "typescript": { + "encoding": { "optional": true } } }, - "node_modules/react-is": { - "version": "19.1.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-19.1.0.tgz", - "integrity": "sha512-Oe56aUPnkHyyDxxkvqtd7KkdQP5uIUfHxd5XTb3wE9d/kRnZLmKbDB0GWk919tdQ+mxxPtG6EAs6RMT6i1qtHg==", + "node_modules/node-fetch/node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", "license": "MIT" }, - "node_modules/react-property": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/react-property/-/react-property-2.0.2.tgz", - "integrity": "sha512-+PbtI3VuDV0l6CleQMsx2gtK0JZbZKbpdu5ynr+lbsuvtmgbNcS3VM0tuY2QjFNOcWxvXeHjDpy42RO+4U2rug==", - "license": "MIT" - }, - "node_modules/react-refresh": { - "version": "0.17.0", - "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.17.0.tgz", - "integrity": "sha512-z6F7K9bV85EfseRCp2bzrpyQ0Gkw1uLoCel9XBVWPg/TjRj94SkJzUTGfOa4bs7iJvBWtQG0Wq7wnI0syw3EBQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/react-router": { - "version": "7.6.2", - "resolved": "https://registry.npmjs.org/react-router/-/react-router-7.6.2.tgz", - "integrity": "sha512-U7Nv3y+bMimgWjhlT5CRdzHPu2/KVmqPwKUCChW8en5P3znxUqwlYFlbmyj8Rgp1SF6zs5X4+77kBVknkg6a0w==", - "license": "MIT", - "dependencies": { - "cookie": "^1.0.1", - "set-cookie-parser": "^2.6.0" - }, - "engines": { - "node": ">=20.0.0" - }, - "peerDependencies": { - "react": ">=18", - "react-dom": ">=18" - }, - "peerDependenciesMeta": { - "react-dom": { - "optional": true - } - } - }, - "node_modules/react-router-dom": { - "version": "7.6.2", - "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-7.6.2.tgz", - "integrity": "sha512-Q8zb6VlTbdYKK5JJBLQEN06oTUa/RAbG/oQS1auK1I0TbJOXktqm+QENEVJU6QvWynlXPRBXI3fiOQcSEA78rA==", - "license": "MIT", - "dependencies": { - "react-router": "7.6.2" - }, - "engines": { - "node": ">=20.0.0" - }, - "peerDependencies": { - "react": ">=18", - "react-dom": ">=18" - } - }, - "node_modules/react-transition-group": { - "version": "4.4.5", - "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.5.tgz", - "integrity": "sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==", - "license": "BSD-3-Clause", - "dependencies": { - "@babel/runtime": "^7.5.5", - "dom-helpers": "^5.0.1", - "loose-envify": "^1.4.0", - "prop-types": "^15.6.2" - }, - "peerDependencies": { - "react": ">=16.6.0", - "react-dom": ">=16.6.0" - } - }, - "node_modules/readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "dev": true, - "license": "MIT", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, - "license": "MIT", - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, - "node_modules/rechoir": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.8.0.tgz", - "integrity": "sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "resolve": "^1.20.0" - }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/reflect.getprototypeof": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz", - "integrity": "sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.9", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "get-intrinsic": "^1.2.7", - "get-proto": "^1.0.1", - "which-builtin-type": "^1.2.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/regenerate": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", - "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", - "dev": true, - "license": "MIT" - }, - "node_modules/regenerate-unicode-properties": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.2.0.tgz", - "integrity": "sha512-DqHn3DwbmmPVzeKj9woBadqmXxLvQoQIwu7nopMc72ztvxVmVk2SBhSnx67zuye5TP+lJsb/TBQsjLKhnDf3MA==", - "dev": true, - "license": "MIT", - "dependencies": { - "regenerate": "^1.4.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/regexp.prototype.flags": { - "version": "1.5.4", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.4.tgz", - "integrity": "sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-errors": "^1.3.0", - "get-proto": "^1.0.1", - "gopd": "^1.2.0", - "set-function-name": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/regexpu-core": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-6.2.0.tgz", - "integrity": "sha512-H66BPQMrv+V16t8xtmq+UC0CBpiTBA60V8ibS1QVReIp8T1z8hwFxqcGzm9K6lgsN7sB5edVH8a+ze6Fqm4weA==", - "dev": true, - "license": "MIT", - "dependencies": { - "regenerate": "^1.4.2", - "regenerate-unicode-properties": "^10.2.0", - "regjsgen": "^0.8.0", - "regjsparser": "^0.12.0", - "unicode-match-property-ecmascript": "^2.0.0", - "unicode-match-property-value-ecmascript": "^2.1.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/regjsgen": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.8.0.tgz", - "integrity": "sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==", - "dev": true, - "license": "MIT" - }, - "node_modules/regjsparser": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.12.0.tgz", - "integrity": "sha512-cnE+y8bz4NhMjISKbgeVJtqNbtf5QpjZP+Bslo+UqkIt9QPnX9q095eiRRASJG1/tz6dlNr6Z5NsBiWYokp6EQ==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "jsesc": "~3.0.2" - }, - "bin": { - "regjsparser": "bin/parser" - } - }, - "node_modules/regjsparser/node_modules/jsesc": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.0.2.tgz", - "integrity": "sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==", - "dev": true, - "license": "MIT", - "bin": { - "jsesc": "bin/jsesc" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/relateurl": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", - "integrity": "sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/renderkid": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-3.0.0.tgz", - "integrity": "sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==", - "dev": true, - "license": "MIT", - "dependencies": { - "css-select": "^4.1.3", - "dom-converter": "^0.2.0", - "htmlparser2": "^6.1.0", - "lodash": "^4.17.21", - "strip-ansi": "^6.0.1" - } - }, - "node_modules/renderkid/node_modules/dom-serializer": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", - "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", - "dev": true, - "license": "MIT", - "dependencies": { - "domelementtype": "^2.0.1", - "domhandler": "^4.2.0", - "entities": "^2.0.0" - }, - "funding": { - "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" - } - }, - "node_modules/renderkid/node_modules/domhandler": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", - "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "domelementtype": "^2.2.0" - }, - "engines": { - "node": ">= 4" - }, - "funding": { - "url": "https://github.com/fb55/domhandler?sponsor=1" - } - }, - "node_modules/renderkid/node_modules/domutils": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", - "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "dom-serializer": "^1.0.1", - "domelementtype": "^2.2.0", - "domhandler": "^4.2.0" - }, - "funding": { - "url": "https://github.com/fb55/domutils?sponsor=1" - } - }, - "node_modules/renderkid/node_modules/entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", - "dev": true, - "license": "BSD-2-Clause", - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/renderkid/node_modules/htmlparser2": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", - "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", - "dev": true, - "funding": [ - "https://github.com/fb55/htmlparser2?sponsor=1", - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ], - "license": "MIT", - "dependencies": { - "domelementtype": "^2.0.1", - "domhandler": "^4.0.0", - "domutils": "^2.5.2", - "entities": "^2.0.0" - } - }, - "node_modules/require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/requires-port": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/resolve": { - "version": "1.22.10", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", - "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", - "license": "MIT", - "dependencies": { - "is-core-module": "^2.16.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/resolve-cwd": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", - "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "resolve-from": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/resolve-cwd/node_modules/resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/retry": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", - "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, - "node_modules/reusify": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", - "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", - "dev": true, - "license": "MIT", - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" - } - }, - "node_modules/rrweb-cssom": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/rrweb-cssom/-/rrweb-cssom-0.8.0.tgz", - "integrity": "sha512-guoltQEx+9aMf2gDZ0s62EcV8lsXR+0w8915TC3ITdn2YueuNjdAYh/levpU9nFaoChh9RUS5ZdQMrKfVEN9tw==", - "dev": true, - "license": "MIT" - }, - "node_modules/run-applescript": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-7.0.0.tgz", - "integrity": "sha512-9by4Ij99JUr/MCFBUkDKLWK3G9HVXmabKz9U5MlIAIuvuzkiOicRYs8XJLxX+xahD+mLiiCYDqF9dKAgtzKP1A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", - "dependencies": { - "queue-microtask": "^1.2.2" - } - }, - "node_modules/safe-array-concat": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.3.tgz", - "integrity": "sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.2", - "get-intrinsic": "^1.2.6", - "has-symbols": "^1.1.0", - "isarray": "^2.0.5" - }, - "engines": { - "node": ">=0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, - "node_modules/safe-push-apply": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/safe-push-apply/-/safe-push-apply-1.0.0.tgz", - "integrity": "sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "isarray": "^2.0.5" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/safe-regex-test": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.1.0.tgz", - "integrity": "sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "is-regex": "^1.2.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true, - "license": "MIT" - }, - "node_modules/saxes": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz", - "integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==", - "dev": true, - "license": "ISC", - "dependencies": { - "xmlchars": "^2.2.0" - }, - "engines": { - "node": ">=v12.22.7" - } - }, - "node_modules/scheduler": { - "version": "0.26.0", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.26.0.tgz", - "integrity": "sha512-NlHwttCI/l5gCPR3D1nNXtWABUmBwvZpEQiD4IXSbIDq8BzLIK/7Ir5gTFSGZDUu37K5cMNp0hFtzO38sC7gWA==", - "license": "MIT" - }, - "node_modules/schema-utils": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.2.tgz", - "integrity": "sha512-Gn/JaSk/Mt9gYubxTtSn/QCV4em9mpAPiR1rqy/Ocu19u/G9J5WWdNoUT4SiV6mFC3y6cxyFcFwdzPM3FgxGAQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.9.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.1.0" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/schema-utils/node_modules/ajv": { - "version": "8.17.1", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", - "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", - "dev": true, - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.3", - "fast-uri": "^3.0.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/schema-utils/node_modules/ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "dev": true, - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.3" - }, - "peerDependencies": { - "ajv": "^8.8.2" - } - }, - "node_modules/schema-utils/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true, - "license": "MIT" - }, - "node_modules/select-hose": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", - "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==", - "dev": true, - "license": "MIT" - }, - "node_modules/selfsigned": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.4.1.tgz", - "integrity": "sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/node-forge": "^1.3.0", - "node-forge": "^1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/send": { - "version": "0.19.0", - "resolved": "https://registry.npmjs.org/send/-/send-0.19.0.tgz", - "integrity": "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==", - "dev": true, - "license": "MIT", - "dependencies": { - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "mime": "1.6.0", - "ms": "2.1.3", - "on-finished": "2.4.1", - "range-parser": "~1.2.1", - "statuses": "2.0.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/send/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/send/node_modules/debug/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true, - "license": "MIT" - }, - "node_modules/send/node_modules/encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/serialize-javascript": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", - "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "randombytes": "^2.1.0" - } - }, - "node_modules/serve-index": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", - "integrity": "sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==", - "dev": true, - "license": "MIT", - "dependencies": { - "accepts": "~1.3.4", - "batch": "0.6.1", - "debug": "2.6.9", - "escape-html": "~1.0.3", - "http-errors": "~1.6.2", - "mime-types": "~2.1.17", - "parseurl": "~1.3.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/serve-index/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/serve-index/node_modules/depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/serve-index/node_modules/http-errors": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", - "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", - "dev": true, - "license": "MIT", - "dependencies": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.0", - "statuses": ">= 1.4.0 < 2" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/serve-index/node_modules/inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", - "dev": true, - "license": "ISC" - }, - "node_modules/serve-index/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true, - "license": "MIT" - }, - "node_modules/serve-index/node_modules/setprototypeof": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", - "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", - "dev": true, - "license": "ISC" - }, - "node_modules/serve-index/node_modules/statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/serve-static": { - "version": "1.16.2", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.2.tgz", - "integrity": "sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==", - "dev": true, - "license": "MIT", - "dependencies": { - "encodeurl": "~2.0.0", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.19.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/set-cookie-parser": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.7.1.tgz", - "integrity": "sha512-IOc8uWeOZgnb3ptbCURJWNjWUPcO3ZnTTdzsurqERrP6nPyv+paC55vJM0LpOlT2ne+Ix+9+CRG1MNLlyZ4GjQ==", - "license": "MIT" - }, - "node_modules/set-function-length": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", - "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", - "dev": true, - "license": "MIT", - "dependencies": { - "define-data-property": "^1.1.4", - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.4", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/set-function-name": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz", - "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "define-data-property": "^1.1.4", - "es-errors": "^1.3.0", - "functions-have-names": "^1.2.3", - "has-property-descriptors": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/set-proto": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/set-proto/-/set-proto-1.0.0.tgz", - "integrity": "sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==", - "dev": true, - "license": "MIT", - "dependencies": { - "dunder-proto": "^1.0.1", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/setprototypeof": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", - "dev": true, - "license": "ISC" - }, - "node_modules/shallow-clone": { + "node_modules/node-fetch/node_modules/webidl-conversions": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", - "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", - "dev": true, + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "license": "BSD-2-Clause" + }, + "node_modules/node-fetch/node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", "license": "MIT", "dependencies": { - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=8" + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" } }, - "node_modules/sharp": { - "version": "0.34.2", - "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.34.2.tgz", - "integrity": "sha512-lszvBmB9QURERtyKT2bNmsgxXK0ShJrL/fvqlonCo7e6xBF8nT8xU6pW+PMIbLsz0RxQk3rgH9kd8UmvOzlMJg==", - "hasInstallScript": true, + "node_modules/openai": { + "version": "4.104.0", + "resolved": "https://registry.npmjs.org/openai/-/openai-4.104.0.tgz", + "integrity": "sha512-p99EFNsA/yX6UhVO93f5kJsDRLAg+CTA2RBqdHK4RtK8u5IJw32Hyb2dTGKbnnFmnuoBv5r7Z2CURI9sGZpSuA==", "license": "Apache-2.0", "dependencies": { - "color": "^4.2.3", - "detect-libc": "^2.0.4", - "semver": "^7.7.2" - }, - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - }, - "optionalDependencies": { - "@img/sharp-darwin-arm64": "0.34.2", - "@img/sharp-darwin-x64": "0.34.2", - "@img/sharp-libvips-darwin-arm64": "1.1.0", - "@img/sharp-libvips-darwin-x64": "1.1.0", - "@img/sharp-libvips-linux-arm": "1.1.0", - "@img/sharp-libvips-linux-arm64": "1.1.0", - "@img/sharp-libvips-linux-ppc64": "1.1.0", - "@img/sharp-libvips-linux-s390x": "1.1.0", - "@img/sharp-libvips-linux-x64": "1.1.0", - "@img/sharp-libvips-linuxmusl-arm64": "1.1.0", - "@img/sharp-libvips-linuxmusl-x64": "1.1.0", - "@img/sharp-linux-arm": "0.34.2", - "@img/sharp-linux-arm64": "0.34.2", - "@img/sharp-linux-s390x": "0.34.2", - "@img/sharp-linux-x64": "0.34.2", - "@img/sharp-linuxmusl-arm64": "0.34.2", - "@img/sharp-linuxmusl-x64": "0.34.2", - "@img/sharp-wasm32": "0.34.2", - "@img/sharp-win32-arm64": "0.34.2", - "@img/sharp-win32-ia32": "0.34.2", - "@img/sharp-win32-x64": "0.34.2" - } - }, - "node_modules/sharp/node_modules/semver": { - "version": "7.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", - "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "license": "MIT", - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/shell-quote": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.2.tgz", - "integrity": "sha512-AzqKpGKjrj7EM6rKVQEPpB288oCfnrEIuyoT9cyF4nmGa7V8Zk6f7RRqYisX8X9m+Q7bd632aZW4ky7EhbQztA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/shelljs": { - "version": "0.9.2", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.9.2.tgz", - "integrity": "sha512-S3I64fEiKgTZzKCC46zT/Ib9meqofLrQVbpSswtjFfAVDW+AZ54WTnAM/3/yENoxz/V1Cy6u3kiiEbQ4DNphvw==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "execa": "^1.0.0", - "fast-glob": "^3.3.2", - "interpret": "^1.0.0", - "rechoir": "^0.6.2" + "@types/node": "^18.11.18", + "@types/node-fetch": "^2.6.4", + "abort-controller": "^3.0.0", + "agentkeepalive": "^4.2.1", + "form-data-encoder": "1.7.2", + "formdata-node": "^4.3.2", + "node-fetch": "^2.6.7" }, "bin": { - "shjs": "bin/shjs" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/shelljs/node_modules/interpret": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", - "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/shelljs/node_modules/rechoir": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", - "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==", - "dev": true, - "dependencies": { - "resolve": "^1.1.6" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/shx": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/shx/-/shx-0.4.0.tgz", - "integrity": "sha512-Z0KixSIlGPpijKgcH6oCMCbltPImvaKy0sGH8AkLRXw1KyzpKtaCTizP2xen+hNDqVF4xxgvA0KXSb9o4Q6hnA==", - "dev": true, - "license": "MIT", - "dependencies": { - "minimist": "^1.2.8", - "shelljs": "^0.9.2" - }, - "bin": { - "shx": "lib/cli.js" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/side-channel": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", - "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "object-inspect": "^1.13.3", - "side-channel-list": "^1.0.0", - "side-channel-map": "^1.0.1", - "side-channel-weakmap": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/side-channel-list": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", - "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "object-inspect": "^1.13.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/side-channel-map": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", - "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.5", - "object-inspect": "^1.13.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/side-channel-weakmap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", - "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.5", - "object-inspect": "^1.13.3", - "side-channel-map": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true, - "license": "ISC" - }, - "node_modules/simple-swizzle": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", - "integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==", - "license": "MIT", - "dependencies": { - "is-arrayish": "^0.3.1" - } - }, - "node_modules/simple-swizzle/node_modules/is-arrayish": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", - "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==", - "license": "MIT" - }, - "node_modules/sirv": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/sirv/-/sirv-2.0.4.tgz", - "integrity": "sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@polka/url": "^1.0.0-next.24", - "mrmime": "^2.0.0", - "totalist": "^3.0.0" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/socket.io-client": { - "version": "4.7.5", - "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.7.5.tgz", - "integrity": "sha512-sJ/tqHOCe7Z50JCBCXrsY3I2k03iOiUe+tj1OmKeD2lXPiGH/RUCdTZFoqVyN7l1MnpIzPrGtLcijffmeouNlQ==", - "license": "MIT", - "dependencies": { - "@socket.io/component-emitter": "~3.1.0", - "debug": "~4.3.2", - "engine.io-client": "~6.5.2", - "socket.io-parser": "~4.2.4" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/socket.io-client/node_modules/debug": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", - "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/socket.io-parser": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.4.tgz", - "integrity": "sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew==", - "license": "MIT", - "dependencies": { - "@socket.io/component-emitter": "~3.1.0", - "debug": "~4.3.1" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/socket.io-parser/node_modules/debug": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", - "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/sockjs": { - "version": "0.3.24", - "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", - "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "faye-websocket": "^0.11.3", - "uuid": "^8.3.2", - "websocket-driver": "^0.7.4" - } - }, - "node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-js": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", - "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "dev": true, - "license": "MIT", - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/source-map-support/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/spdy": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", - "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", - "dev": true, - "license": "MIT", - "dependencies": { - "debug": "^4.1.0", - "handle-thing": "^2.0.0", - "http-deceiver": "^1.2.7", - "select-hose": "^2.0.0", - "spdy-transport": "^3.0.0" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/spdy-transport": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", - "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", - "dev": true, - "license": "MIT", - "dependencies": { - "debug": "^4.1.0", - "detect-node": "^2.0.4", - "hpack.js": "^2.1.6", - "obuf": "^1.1.2", - "readable-stream": "^3.0.6", - "wbuf": "^1.7.3" - } - }, - "node_modules/stackframe": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz", - "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==", - "dev": true, - "license": "MIT" - }, - "node_modules/statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "dev": true, - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.2.0" - } - }, - "node_modules/string.prototype.matchall": { - "version": "4.0.12", - "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.12.tgz", - "integrity": "sha512-6CC9uyBL+/48dYizRf7H7VAYCMCNTBeM78x/VTUe9bFEaxBepPJDa1Ow99LqI/1yF7kuy7Q3cQsYMrcjGUcskA==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.6", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "get-intrinsic": "^1.2.6", - "gopd": "^1.2.0", - "has-symbols": "^1.1.0", - "internal-slot": "^1.1.0", - "regexp.prototype.flags": "^1.5.3", - "set-function-name": "^2.0.2", - "side-channel": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.repeat": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/string.prototype.repeat/-/string.prototype.repeat-1.0.0.tgz", - "integrity": "sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==", - "dev": true, - "license": "MIT", - "dependencies": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.5" - } - }, - "node_modules/string.prototype.trim": { - "version": "1.2.10", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.10.tgz", - "integrity": "sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.2", - "define-data-property": "^1.1.4", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.5", - "es-object-atoms": "^1.0.0", - "has-property-descriptors": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimend": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.9.tgz", - "integrity": "sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.2", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimstart": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", - "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/strip-eof": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", - "integrity": "sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/style-loader": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-4.0.0.tgz", - "integrity": "sha512-1V4WqhhZZgjVAVJyt7TdDPZoPBPNHbekX4fWnCJL1yQukhCeZhJySUL+gL9y6sNdN95uEOS83Y55SqHcP7MzLA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 18.12.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" + "openai": "bin/cli" }, "peerDependencies": { - "webpack": "^5.27.0" - } - }, - "node_modules/style-to-js": { - "version": "1.1.16", - "resolved": "https://registry.npmjs.org/style-to-js/-/style-to-js-1.1.16.tgz", - "integrity": "sha512-/Q6ld50hKYPH3d/r6nr117TZkHR0w0kGGIVfpG9N6D8NymRPM9RqCUv4pRpJ62E5DqOYx2AFpbZMyCPnjQCnOw==", - "license": "MIT", - "dependencies": { - "style-to-object": "1.0.8" - } - }, - "node_modules/style-to-object": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-1.0.8.tgz", - "integrity": "sha512-xT47I/Eo0rwJmaXC4oilDGDWLohVhR6o/xAQcPQN8q6QBuZVL8qMYL85kLmST5cPjAorwvqIA4qXTRQoYHaL6g==", - "license": "MIT", - "dependencies": { - "inline-style-parser": "0.2.4" - } - }, - "node_modules/stylis": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.2.0.tgz", - "integrity": "sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==", - "license": "MIT" - }, - "node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/symbol-tree": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", - "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", - "dev": true, - "license": "MIT" - }, - "node_modules/tapable": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", - "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/terser": { - "version": "5.39.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.39.0.tgz", - "integrity": "sha512-LBAhFyLho16harJoWMg/nZsQYgTrg5jXOn2nCYjRUcZZEdE3qa2zb8QEDRUGVZBW4rlazf2fxkg8tztybTaqWw==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "@jridgewell/source-map": "^0.3.3", - "acorn": "^8.8.2", - "commander": "^2.20.0", - "source-map-support": "~0.5.20" - }, - "bin": { - "terser": "bin/terser" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/terser-webpack-plugin": { - "version": "5.3.14", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.14.tgz", - "integrity": "sha512-vkZjpUjb6OMS7dhV+tILUW6BhpDR7P2L/aQSAv+Uwk+m8KATX9EccViHTJR2qDtACKPIYndLGCyl3FMo+r2LMw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/trace-mapping": "^0.3.25", - "jest-worker": "^27.4.5", - "schema-utils": "^4.3.0", - "serialize-javascript": "^6.0.2", - "terser": "^5.31.1" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.1.0" + "ws": "^8.18.0", + "zod": "^3.23.8" }, "peerDependenciesMeta": { - "@swc/core": { + "ws": { "optional": true }, - "esbuild": { - "optional": true - }, - "uglify-js": { + "zod": { "optional": true } } }, - "node_modules/terser-webpack-plugin/node_modules/jest-worker": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", - "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", - "dev": true, + "node_modules/openai/node_modules/@types/node": { + "version": "18.19.119", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.119.tgz", + "integrity": "sha512-d0F6m9itIPaKnrvEMlzE48UjwZaAnFW7Jwibacw9MNdqadjKNpUm9tfJYDwmShJmgqcoqYUX3EMKO1+RWiuuNg==", "license": "MIT", "dependencies": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "engines": { - "node": ">= 10.13.0" + "undici-types": "~5.26.4" } }, - "node_modules/terser-webpack-plugin/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, - "node_modules/terser/node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true, + "node_modules/openai/node_modules/undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", "license": "MIT" }, - "node_modules/thingies": { - "version": "1.21.0", - "resolved": "https://registry.npmjs.org/thingies/-/thingies-1.21.0.tgz", - "integrity": "sha512-hsqsJsFMsV+aD4s3CWKk85ep/3I9XzYV/IXaSouJMYIoDlgyi11cBhsqYe9/geRfB0YIikBQg6raRaM+nIMP9g==", - "dev": true, - "license": "Unlicense", - "engines": { - "node": ">=10.18" - }, - "peerDependencies": { - "tslib": "^2" - } - }, - "node_modules/through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", - "dev": true, - "license": "MIT" - }, - "node_modules/through2": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/through2/-/through2-0.4.2.tgz", - "integrity": "sha512-45Llu+EwHKtAZYTPPVn3XZHBgakWMN3rokhEv5hu596XP+cNgplMg+Gj+1nmAvj+L0K7+N49zBKx5rah5u0QIQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "readable-stream": "~1.0.17", - "xtend": "~2.1.1" - } - }, - "node_modules/through2/node_modules/isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/through2/node_modules/readable-stream": { - "version": "1.0.34", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", - "integrity": "sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==", - "dev": true, - "license": "MIT", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "node_modules/through2/node_modules/string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/thunky": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", - "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", - "dev": true, - "license": "MIT" - }, - "node_modules/tldts": { - "version": "6.1.86", - "resolved": "https://registry.npmjs.org/tldts/-/tldts-6.1.86.tgz", - "integrity": "sha512-WMi/OQ2axVTf/ykqCQgXiIct+mSQDFdH2fkwhPwgEwvJ1kSzZRiinb0zF2Xb8u4+OqPChmyI6MEu4EezNJz+FQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "tldts-core": "^6.1.86" - }, - "bin": { - "tldts": "bin/cli.js" - } - }, - "node_modules/tldts-core": { - "version": "6.1.86", - "resolved": "https://registry.npmjs.org/tldts-core/-/tldts-core-6.1.86.tgz", - "integrity": "sha512-Je6p7pkk+KMzMv2XXKmAE3McmolOQFdxkKw0R8EYNr7sELW46JqnNeTX8ybPiQgvg1ymCoF8LXs5fzFaZvJPTA==", - "dev": true, - "license": "MIT" - }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/toidentifier": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", - "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.6" - } - }, - "node_modules/totalist": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz", - "integrity": "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/tough-cookie": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-5.1.2.tgz", - "integrity": "sha512-FVDYdxtnj0G6Qm/DhNPSb8Ju59ULcup3tuJxkFb5K8Bv2pUXILbf0xZWU8PX8Ov19OXljbUyveOFwRMwkXzO+A==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "tldts": "^6.1.32" - }, - "engines": { - "node": ">=16" - } - }, - "node_modules/tr46": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-5.1.1.tgz", - "integrity": "sha512-hdF5ZgjTqgAntKkklYw0R03MG2x/bSzTtkxmIRw/sTNV8YXsCJ1tfLAX23lhxhHJlEf3CRCOCGGWw3vI3GaSPw==", - "dev": true, - "license": "MIT", - "dependencies": { - "punycode": "^2.3.1" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/tree-dump": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/tree-dump/-/tree-dump-1.0.2.tgz", - "integrity": "sha512-dpev9ABuLWdEubk+cIaI9cHwRNNDjkBBLXTwI4UCUFdQ5xXKqNXoK4FEciw/vxf+NQ7Cb7sGUyeUtORvHIdRXQ==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=10.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/streamich" - }, - "peerDependencies": { - "tslib": "2" - } - }, - "node_modules/tsconfig-paths": { - "version": "3.15.0", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz", - "integrity": "sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/json5": "^0.0.29", - "json5": "^1.0.2", - "minimist": "^1.2.6", - "strip-bom": "^3.0.0" - } - }, - "node_modules/tsconfig-paths/node_modules/json5": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", - "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", - "dev": true, - "license": "MIT", - "dependencies": { - "minimist": "^1.2.0" - }, - "bin": { - "json5": "lib/cli.js" - } - }, - "node_modules/tslib": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", - "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", - "devOptional": true, - "license": "0BSD" - }, - "node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true, - "license": "(MIT OR CC0-1.0)", - "optional": true, - "peer": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/type-is": { - "version": "1.6.18", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", - "dev": true, - "license": "MIT", - "dependencies": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/typed-array-buffer": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz", - "integrity": "sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "es-errors": "^1.3.0", - "is-typed-array": "^1.1.14" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/typed-array-byte-length": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.3.tgz", - "integrity": "sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "for-each": "^0.3.3", - "gopd": "^1.2.0", - "has-proto": "^1.2.0", - "is-typed-array": "^1.1.14" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/typed-array-byte-offset": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.4.tgz", - "integrity": "sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.8", - "for-each": "^0.3.3", - "gopd": "^1.2.0", - "has-proto": "^1.2.0", - "is-typed-array": "^1.1.15", - "reflect.getprototypeof": "^1.0.9" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/typed-array-length": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.7.tgz", - "integrity": "sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "is-typed-array": "^1.1.13", - "possible-typed-array-names": "^1.0.0", - "reflect.getprototypeof": "^1.0.6" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/unbox-primitive": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.1.0.tgz", - "integrity": "sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "has-bigints": "^1.0.2", - "has-symbols": "^1.1.0", - "which-boxed-primitive": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/undici-types": { "version": "6.21.0", "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", - "dev": true, "license": "MIT" }, - "node_modules/unicode-canonical-property-names-ecmascript": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.1.tgz", - "integrity": "sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==", - "dev": true, + "node_modules/web-streams-polyfill": { + "version": "4.0.0-beta.3", + "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-4.0.0-beta.3.tgz", + "integrity": "sha512-QW95TCTaHmsYfHDybGMwO5IJIM93I/6vTRk+daHTWFPhwh+C8Cg7j7XyKrwrj8Ib6vYXe0ocYNrmzY4xAAN6ug==", "license": "MIT", "engines": { - "node": ">=4" + "node": ">= 14" } }, - "node_modules/unicode-match-property-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", - "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "unicode-canonical-property-names-ecmascript": "^2.0.0", - "unicode-property-aliases-ecmascript": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/unicode-match-property-value-ecmascript": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.2.0.tgz", - "integrity": "sha512-4IehN3V/+kkr5YeSSDDQG8QLqO26XpL2XP3GQtqwlT/QYSECAwFztxVHjlbh0+gjJ3XmNLS0zDsbgs9jWKExLg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/unicode-property-aliases-ecmascript": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", - "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/update-browserslist-db": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz", - "integrity": "sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "escalade": "^3.2.0", - "picocolors": "^1.1.1" - }, - "bin": { - "update-browserslist-db": "cli.js" - }, - "peerDependencies": { - "browserslist": ">= 4.21.0" - } - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", - "dev": true, - "license": "MIT" - }, - "node_modules/utila": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", - "integrity": "sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==", - "dev": true, - "license": "MIT" - }, - "node_modules/utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", - "dev": true, - "license": "MIT", - "bin": { - "uuid": "dist/bin/uuid" - } - }, - "node_modules/vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/void-elements": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-3.1.0.tgz", - "integrity": "sha512-Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/w3c-xmlserializer": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-5.0.0.tgz", - "integrity": "sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==", - "dev": true, - "license": "MIT", - "dependencies": { - "xml-name-validator": "^5.0.0" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/watchpack": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.2.tgz", - "integrity": "sha512-TnbFSbcOCcDgjZ4piURLCbJ3nJhznVh9kw6F6iokjiFPl8ONxe9A6nMDVXDiNbrSfLILs6vB07F7wLBrwPYzJw==", - "dev": true, - "license": "MIT", - "dependencies": { - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.1.2" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/wbuf": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", - "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", - "dev": true, - "license": "MIT", - "dependencies": { - "minimalistic-assert": "^1.0.0" - } - }, - "node_modules/webidl-conversions": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", - "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=12" - } - }, - "node_modules/webpack": { - "version": "5.99.9", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.99.9.tgz", - "integrity": "sha512-brOPwM3JnmOa+7kd3NsmOUOwbDAj8FT9xDsG3IW0MgbN9yZV7Oi/s/+MNQ/EcSMqw7qfoRyXPoeEWT8zLVdVGg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/eslint-scope": "^3.7.7", - "@types/estree": "^1.0.6", - "@types/json-schema": "^7.0.15", - "@webassemblyjs/ast": "^1.14.1", - "@webassemblyjs/wasm-edit": "^1.14.1", - "@webassemblyjs/wasm-parser": "^1.14.1", - "acorn": "^8.14.0", - "browserslist": "^4.24.0", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.17.1", - "es-module-lexer": "^1.2.1", - "eslint-scope": "5.1.1", - "events": "^3.2.0", - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.2.11", - "json-parse-even-better-errors": "^2.3.1", - "loader-runner": "^4.2.0", - "mime-types": "^2.1.27", - "neo-async": "^2.6.2", - "schema-utils": "^4.3.2", - "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.3.11", - "watchpack": "^2.4.1", - "webpack-sources": "^3.2.3" - }, - "bin": { - "webpack": "bin/webpack.js" - }, - "engines": { - "node": ">=10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependenciesMeta": { - "webpack-cli": { - "optional": true - } - } - }, - "node_modules/webpack-bundle-analyzer": { - "version": "4.10.2", - "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.10.2.tgz", - "integrity": "sha512-vJptkMm9pk5si4Bv922ZbKLV8UTT4zib4FPgXMhgzUny0bfDDkLXAVQs3ly3fS4/TN9ROFtb0NFrm04UXFE/Vw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@discoveryjs/json-ext": "0.5.7", - "acorn": "^8.0.4", - "acorn-walk": "^8.0.0", - "commander": "^7.2.0", - "debounce": "^1.2.1", - "escape-string-regexp": "^4.0.0", - "gzip-size": "^6.0.0", - "html-escaper": "^2.0.2", - "opener": "^1.5.2", - "picocolors": "^1.0.0", - "sirv": "^2.0.3", - "ws": "^7.3.1" - }, - "bin": { - "webpack-bundle-analyzer": "lib/bin/analyzer.js" - }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/webpack-bundle-analyzer/node_modules/@discoveryjs/json-ext": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", - "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/webpack-bundle-analyzer/node_modules/commander": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 10" - } - }, - "node_modules/webpack-bundle-analyzer/node_modules/ws": { - "version": "7.5.10", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz", - "integrity": "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8.3.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, - "node_modules/webpack-cli": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-6.0.1.tgz", - "integrity": "sha512-MfwFQ6SfwinsUVi0rNJm7rHZ31GyTcpVE5pgVA3hwFRb7COD4TzjUUwhGWKfO50+xdc2MQPuEBBJoqIMGt3JDw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@discoveryjs/json-ext": "^0.6.1", - "@webpack-cli/configtest": "^3.0.1", - "@webpack-cli/info": "^3.0.1", - "@webpack-cli/serve": "^3.0.1", - "colorette": "^2.0.14", - "commander": "^12.1.0", - "cross-spawn": "^7.0.3", - "envinfo": "^7.14.0", - "fastest-levenshtein": "^1.0.12", - "import-local": "^3.0.2", - "interpret": "^3.1.1", - "rechoir": "^0.8.0", - "webpack-merge": "^6.0.1" - }, - "bin": { - "webpack-cli": "bin/cli.js" - }, - "engines": { - "node": ">=18.12.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.82.0" - }, - "peerDependenciesMeta": { - "webpack-bundle-analyzer": { - "optional": true - }, - "webpack-dev-server": { - "optional": true - } - } - }, - "node_modules/webpack-cli/node_modules/commander": { - "version": "12.1.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-12.1.0.tgz", - "integrity": "sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" - } - }, - "node_modules/webpack-dev-middleware": { - "version": "7.4.2", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-7.4.2.tgz", - "integrity": "sha512-xOO8n6eggxnwYpy1NlzUKpvrjfJTvae5/D6WOK0S2LSo7vjmo5gCM1DbLUmFqrMTJP+W/0YZNctm7jasWvLuBA==", - "dev": true, - "license": "MIT", - "dependencies": { - "colorette": "^2.0.10", - "memfs": "^4.6.0", - "mime-types": "^2.1.31", - "on-finished": "^2.4.1", - "range-parser": "^1.2.1", - "schema-utils": "^4.0.0" - }, - "engines": { - "node": ">= 18.12.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.0.0" - }, - "peerDependenciesMeta": { - "webpack": { - "optional": true - } - } - }, - "node_modules/webpack-dev-server": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-5.2.2.tgz", - "integrity": "sha512-QcQ72gh8a+7JO63TAx/6XZf/CWhgMzu5m0QirvPfGvptOusAxG12w2+aua1Jkjr7hzaWDnJ2n6JFeexMHI+Zjg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/bonjour": "^3.5.13", - "@types/connect-history-api-fallback": "^1.5.4", - "@types/express": "^4.17.21", - "@types/express-serve-static-core": "^4.17.21", - "@types/serve-index": "^1.9.4", - "@types/serve-static": "^1.15.5", - "@types/sockjs": "^0.3.36", - "@types/ws": "^8.5.10", - "ansi-html-community": "^0.0.8", - "bonjour-service": "^1.2.1", - "chokidar": "^3.6.0", - "colorette": "^2.0.10", - "compression": "^1.7.4", - "connect-history-api-fallback": "^2.0.0", - "express": "^4.21.2", - "graceful-fs": "^4.2.6", - "http-proxy-middleware": "^2.0.9", - "ipaddr.js": "^2.1.0", - "launch-editor": "^2.6.1", - "open": "^10.0.3", - "p-retry": "^6.2.0", - "schema-utils": "^4.2.0", - "selfsigned": "^2.4.1", - "serve-index": "^1.9.1", - "sockjs": "^0.3.24", - "spdy": "^4.0.2", - "webpack-dev-middleware": "^7.4.2", - "ws": "^8.18.0" - }, - "bin": { - "webpack-dev-server": "bin/webpack-dev-server.js" - }, - "engines": { - "node": ">= 18.12.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.0.0" - }, - "peerDependenciesMeta": { - "webpack": { - "optional": true - }, - "webpack-cli": { - "optional": true - } - } - }, - "node_modules/webpack-dev-server/node_modules/ws": { - "version": "8.18.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.1.tgz", - "integrity": "sha512-RKW2aJZMXeMxVpnZ6bck+RswznaxmzdULiBr6KY7XkTnW8uvt0iT9H5DkHUChXrc+uurzwa0rVI16n/Xzjdz1w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": ">=5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, - "node_modules/webpack-merge": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-6.0.1.tgz", - "integrity": "sha512-hXXvrjtx2PLYx4qruKl+kyRSLc52V+cCvMxRjmKwoA+CBbbF5GfIBtR6kCvl0fYGqTUPKB+1ktVmTHqMOzgCBg==", - "dev": true, - "license": "MIT", - "dependencies": { - "clone-deep": "^4.0.1", - "flat": "^5.0.2", - "wildcard": "^2.0.1" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/webpack-node-externals": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/webpack-node-externals/-/webpack-node-externals-3.0.0.tgz", - "integrity": "sha512-LnL6Z3GGDPht/AigwRh2dvL9PQPFQ8skEpVrWZXLWBYmqcaojHNN0onvHzie6rq7EWKrrBfPYqNEzTJgiwEQDQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/webpack-sources": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", - "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/websocket-driver": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", - "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "http-parser-js": ">=0.5.1", - "safe-buffer": ">=5.1.0", - "websocket-extensions": ">=0.1.1" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/websocket-extensions": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", - "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/whatwg-encoding": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-3.1.1.tgz", - "integrity": "sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "iconv-lite": "0.6.3" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/whatwg-encoding/node_modules/iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "dev": true, - "license": "MIT", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/whatwg-mimetype": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-4.0.0.tgz", - "integrity": "sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" - } - }, - "node_modules/whatwg-url": { - "version": "14.2.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-14.2.0.tgz", - "integrity": "sha512-De72GdQZzNTUBBChsXueQUnPKDkg/5A5zp7pFDuQAj5UFoENpiACU0wlCvzpAGnTkj++ihpKwKyYewn/XNUbKw==", - "dev": true, - "license": "MIT", - "dependencies": { - "tr46": "^5.1.0", - "webidl-conversions": "^7.0.0" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "license": "ISC", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/which-boxed-primitive": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.1.1.tgz", - "integrity": "sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-bigint": "^1.1.0", - "is-boolean-object": "^1.2.1", - "is-number-object": "^1.1.1", - "is-string": "^1.1.1", - "is-symbol": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/which-builtin-type": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.2.1.tgz", - "integrity": "sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "function.prototype.name": "^1.1.6", - "has-tostringtag": "^1.0.2", - "is-async-function": "^2.0.0", - "is-date-object": "^1.1.0", - "is-finalizationregistry": "^1.1.0", - "is-generator-function": "^1.0.10", - "is-regex": "^1.2.1", - "is-weakref": "^1.0.2", - "isarray": "^2.0.5", - "which-boxed-primitive": "^1.1.0", - "which-collection": "^1.0.2", - "which-typed-array": "^1.1.16" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/which-collection": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz", - "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-map": "^2.0.3", - "is-set": "^2.0.3", - "is-weakmap": "^2.0.2", - "is-weakset": "^2.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/which-typed-array": { - "version": "1.1.19", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.19.tgz", - "integrity": "sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==", - "dev": true, - "license": "MIT", - "dependencies": { - "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.8", - "call-bound": "^1.0.4", - "for-each": "^0.3.5", - "get-proto": "^1.0.1", - "gopd": "^1.2.0", - "has-tostringtag": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/wildcard": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz", - "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/word-wrap": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", - "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "dev": true, - "license": "ISC" - }, "node_modules/ws": { - "version": "8.17.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz", - "integrity": "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==", + "version": "8.18.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.3.tgz", + "integrity": "sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==", "license": "MIT", + "optional": true, + "peer": true, "engines": { "node": ">=10.0.0" }, @@ -12505,79 +488,6 @@ "optional": true } } - }, - "node_modules/xml-name-validator": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-5.0.0.tgz", - "integrity": "sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=18" - } - }, - "node_modules/xmlchars": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", - "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", - "dev": true, - "license": "MIT" - }, - "node_modules/xmlhttprequest-ssl": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.0.0.tgz", - "integrity": "sha512-QKxVRxiRACQcVuQEYFsI1hhkrMlrXHPegbbd1yn9UHOmRxY+si12nQYzri3vbzt8VdTTRviqcKxcyllFas5z2A==", - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/xtend": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz", - "integrity": "sha512-vMNKzr2rHP9Dp/e1NQFnLQlwlhp9L/LfvnsVdHxN1f+uggyVI3i08uD14GPvCToPkdsRfyPqIyYGmIk58V98ZQ==", - "dev": true, - "dependencies": { - "object-keys": "~0.4.0" - }, - "engines": { - "node": ">=0.4" - } - }, - "node_modules/xtend/node_modules/object-keys": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz", - "integrity": "sha512-ncrLw+X55z7bkl5PnUvHwFK9FcGuFYo9gtjws2XtSzL+aZ8tm830P60WJ0dSmFVaSalWieW5MD7kEdnXda9yJw==", - "dev": true, - "license": "MIT" - }, - "node_modules/yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true, - "license": "ISC" - }, - "node_modules/yaml": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", - "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", - "license": "ISC", - "engines": { - "node": ">= 6" - } - }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } } } } diff --git a/package.json b/package.json index 5da1031..a6bc9b4 100644 --- a/package.json +++ b/package.json @@ -1,73 +1,26 @@ { - "name": "reactshop", + "name": "i18n-translator", "version": "1.0.0", - "type": "module", - "main": "index.js", + "description": "Translation script for i18n files using OpenAI API", + "main": "translate-i18n.js", "scripts": { - "start": "cross-env NODE_OPTIONS=\"--no-deprecation\" webpack serve --progress --mode development --no-open", - "start:seedheads": "cross-env PROXY_TARGET=https://seedheads.de NODE_OPTIONS=\"--no-deprecation\" webpack serve --progress --mode development --no-open", - "prod": "webpack serve --progress --mode production --no-client-overlay --no-client --no-web-socket-server --no-open --no-live-reload --no-hot --compress --no-devtool", - "build:client": "cross-env NODE_ENV=production webpack --progress --mode production && shx cp dist/index.html dist/index_template.html", - "build": "npm run build:client", - "analyze": "cross-env ANALYZE=true NODE_ENV=production webpack --progress --mode production", - "lint": "eslint src/**/*.{js,jsx}", - "prerender": "node prerender.cjs", - "prerender:prod": "cross-env NODE_ENV=production node prerender.cjs", - "build:prerender": "npm run build:client && npm run prerender:prod" + "translate": "node translate-i18n.js", + "translate:english": "node -e \"require('./translate-i18n.js').translateToEnglish()\"", + "install-deps": "npm install" }, - "keywords": [], - "author": "", - "license": "0BSD", - "description": "", "dependencies": { - "@emotion/react": "^11.14.0", - "@emotion/styled": "^11.14.0", - "@mui/icons-material": "^7.1.1", - "@mui/material": "^7.1.1", - "@stripe/react-stripe-js": "^3.7.0", - "@stripe/stripe-js": "^7.3.1", - "chart.js": "^4.5.0", - "country-flag-icons": "^1.5.19", - "html-react-parser": "^5.2.5", - "i18next": "^25.3.2", - "i18next-browser-languagedetector": "^8.2.0", - "react": "^19.1.0", - "react-chartjs-2": "^5.3.0", - "react-dom": "^19.1.0", - "react-i18next": "^15.6.0", - "react-router-dom": "^7.6.2", - "sharp": "^0.34.2", - "socket.io-client": "^4.7.5" + "openai": "^4.0.0" }, - "devDependencies": { - "@babel/core": "^7.27.4", - "@babel/eslint-parser": "^7.27.5", - "@babel/preset-env": "^7.27.2", - "@babel/preset-react": "^7.27.1", - "@babel/register": "^7.26.0", - "@emotion/server": "^11.11.0", - "@eslint/js": "^9.25.0", - "@pmmmwh/react-refresh-webpack-plugin": "^0.6.0", - "babel-loader": "^10.0.0", - "cross-env": "^7.0.3", - "css-loader": "^7.1.2", - "eslint": "^9.29.0", - "eslint-plugin-import": "^2.31.0", - "eslint-plugin-react": "^7.37.5", - "eslint-plugin-react-hooks": "^5.2.0", - "eslint-webpack-plugin": "^5.0.2", - "globals": "^16.2.0", - "html-webpack-plugin": "^5.6.3", - "jsdom": "^26.1.0", - "mini-css-extract-plugin": "^2.9.2", - "react-refresh": "^0.17.0", - "shx": "^0.4.0", - "style-loader": "^4.0.0", - "terser-webpack-plugin": "^5.3.14", - "webpack": "^5.99.9", - "webpack-bundle-analyzer": "^4.10.2", - "webpack-cli": "^6.0.1", - "webpack-dev-server": "^5.2.2", - "webpack-node-externals": "^3.0.0" - } + "devDependencies": {}, + "engines": { + "node": ">=14.0.0" + }, + "keywords": [ + "i18n", + "translation", + "openai", + "internationalization" + ], + "author": "", + "license": "MIT" } diff --git a/src/components/AddToCartButton.js b/src/components/AddToCartButton.js index a6cc129..d22ab96 100644 --- a/src/components/AddToCartButton.js +++ b/src/components/AddToCartButton.js @@ -154,12 +154,17 @@ class AddToCartButton extends Component { }, }} > - Ab{" "} - {new Date(incoming).toLocaleDateString("de-DE", { + {this.props.t ? this.props.t('cart.availableFrom', { + date: new Date(incoming).toLocaleDateString("de-DE", { + year: "numeric", + month: "long", + day: "numeric", + }) + }) : `Ab ${new Date(incoming).toLocaleDateString("de-DE", { year: "numeric", month: "long", day: "numeric", - })} + })}`} ); } @@ -265,7 +270,7 @@ class AddToCartButton extends Component { - + {this.props.cartButton && ( - + - Out of Stock + {this.props.t ? this.props.t('product.outOfStock') : 'Out of Stock'} ); } @@ -412,7 +417,7 @@ class AddToCartButton extends Component { - + {this.props.cartButton && ( - + neu && (new Date().getTime() - new Date(neu).getTime() < 30 * 24 * 60 * 60 * 1000); @@ -149,17 +150,17 @@ function getFilteredProducts(unfilteredProducts, attributes) { // Check for "auf Lager" filter (in stock) - it's active when filter_availability is NOT set to '1' if (availabilityFilter !== '1') { - activeAvailabilityFilters.push({id: '1', name: 'auf Lager'}); + activeAvailabilityFilters.push({id: '1', name: this.props.t ? this.props.t('product.inStock') : 'auf Lager'}); } // Check for "Neu" filter (new) - only show if there are actually new products and filter is active if (availabilityFilters.includes('2') && hasNewProducts) { - activeAvailabilityFilters.push({id: '2', name: 'Neu'}); + activeAvailabilityFilters.push({id: '2', name: this.props.t ? this.props.t('product.new') : 'Neu'}); } // Check for "Bald verfügbar" filter (coming soon) - only show if there are actually coming soon products and filter is active if (availabilityFilters.includes('3') && hasComingSoonProducts) { - activeAvailabilityFilters.push({id: '3', name: 'Bald verfügbar'}); + activeAvailabilityFilters.push({id: '3', name: this.props.t ? this.props.t('product.comingSoon') : 'Bald verfügbar'}); } return {filteredProducts,activeAttributeFilters:activeAttributeFiltersWithNames,activeManufacturerFilters:activeManufacturerFiltersWithNames,activeAvailabilityFilters}; @@ -602,7 +603,7 @@ class Content extends Component { {(this.getCurrentCategoryId() == 706 || this.getCurrentCategoryId() == 689) && - Andere Kategorien + {this.props.t ? this.props.t('navigation.otherCategories') : 'Andere Kategorien'} } @@ -647,7 +648,7 @@ class Content extends Component { p: 2, }}> - Seeds + {this.props.t('sections.seeds')} @@ -694,7 +695,7 @@ class Content extends Component { p: 2, }}> - Stecklinge + {this.props.t('sections.stecklinge')} @@ -723,4 +724,4 @@ class Content extends Component { } } -export default withRouter(Content); \ No newline at end of file +export default withRouter(withI18n()(Content)); \ No newline at end of file diff --git a/src/components/GoogleLoginButton.js b/src/components/GoogleLoginButton.js index 4687532..447ab0e 100644 --- a/src/components/GoogleLoginButton.js +++ b/src/components/GoogleLoginButton.js @@ -2,6 +2,7 @@ import React, { Component } from 'react'; import Button from '@mui/material/Button'; import GoogleIcon from '@mui/icons-material/Google'; import GoogleAuthContext from '../contexts/GoogleAuthContext.js'; +import { withI18n } from '../i18n/index.js'; class GoogleLoginButton extends Component { static contextType = GoogleAuthContext; @@ -186,7 +187,7 @@ class GoogleLoginButton extends Component { }; render() { - const { disabled, style, className, text = 'Mit Google anmelden' } = this.props; + const { disabled, style, className, text = (this.props.t ? this.props.t('auth.loginWithGoogle') : 'Mit Google anmelden') } = this.props; const { isInitializing, isPrompting } = this.state; const isLoading = isInitializing || isPrompting || (this.context && !this.context.isLoaded); @@ -205,4 +206,4 @@ class GoogleLoginButton extends Component { } } -export default GoogleLoginButton; \ No newline at end of file +export default withI18n(GoogleLoginButton); \ No newline at end of file diff --git a/src/components/LoginComponent.js b/src/components/LoginComponent.js index f2ecb91..a8a7ac6 100644 --- a/src/components/LoginComponent.js +++ b/src/components/LoginComponent.js @@ -744,7 +744,7 @@ export class LoginComponent extends Component { onClick={tabValue === 0 ? this.handleLogin : this.handleRegister} sx={{ mt: 2, bgcolor: '#2e7d32', '&:hover': { bgcolor: '#1b5e20' } }} > - {tabValue === 0 ? 'ANMELDEN' : 'REGISTRIEREN'} + {tabValue === 0 ? (this.props.t ? this.props.t('auth.login').toUpperCase() : 'ANMELDEN') : (this.props.t ? this.props.t('auth.register').toUpperCase() : 'REGISTRIEREN')} )} diff --git a/src/components/MainPageLayout.js b/src/components/MainPageLayout.js index a412fb9..4bcb677 100644 --- a/src/components/MainPageLayout.js +++ b/src/components/MainPageLayout.js @@ -44,9 +44,9 @@ const MainPageLayout = () => { }; const allTitles = { - home: "ine annabis eeds & uttings", - aktionen: "tuelle ktionen & gebote", - filiale: "nsere iliale in resden" + home: t('titles.home'), + aktionen: t('titles.aktionen'), + filiale: t('titles.filiale') }; // Define all content boxes for layered rendering diff --git a/src/components/ProductDetailPage.js b/src/components/ProductDetailPage.js index 50e1d44..bc4d17c 100644 --- a/src/components/ProductDetailPage.js +++ b/src/components/ProductDetailPage.js @@ -490,7 +490,7 @@ class ProductDetailPage extends Component { {error} - Zurück zur Startseite + {this.props.t ? this.props.t('product.backToHome') : 'Zurück zur Startseite'} @@ -508,7 +508,7 @@ class ProductDetailPage extends Component { - Zurück zur Startseite + {this.props.t ? this.props.t('product.backToHome') : 'Zurück zur Startseite'} @@ -573,7 +573,7 @@ class ProductDetailPage extends Component { fontWeight: "bold", }} > - Zurück + {this.props.t ? this.props.t('common.back') : 'Zurück'} @@ -634,7 +634,7 @@ class ProductDetailPage extends Component { {/* Product identifiers */} - Artikelnummer: {product.articleNumber} {product.gtin ? ` | GTIN: ${product.gtin}` : ""} + {this.props.t ? this.props.t('product.articleNumber') : 'Artikelnummer'}: {product.articleNumber} {product.gtin ? ` | GTIN: ${product.gtin}` : ""} @@ -652,7 +652,7 @@ class ProductDetailPage extends Component { {product.manufacturer && ( - Hersteller: {product.manufacturer} + {this.props.t ? this.props.t('product.manufacturer') : 'Hersteller'}: {product.manufacturer} )} diff --git a/src/components/ProductList.js b/src/components/ProductList.js index 652e2c6..e1a93d9 100644 --- a/src/components/ProductList.js +++ b/src/components/ProductList.js @@ -185,7 +185,7 @@ class ProductList extends Component { px: 2 }}> - Entferne Filter um Produkte zu sehen + {this.props.t ? this.props.t('product.removeFiltersToSee') : 'Entferne Filter um Produkte zu sehen'} ); @@ -354,10 +354,10 @@ class ProductList extends Component { } }} > - Name - {window.currentSearchQuery && Suchbegriff} - Preis: Niedrig zu Hoch - Preis: Hoch zu Niedrig + {this.props.t ? this.props.t('sorting.name') : 'Name'} + {window.currentSearchQuery && {this.props.t ? this.props.t('sorting.searchField') : 'Suchbegriff'}} + {this.props.t ? this.props.t('sorting.priceLowHigh') : 'Preis: Niedrig zu Hoch'} + {this.props.t ? this.props.t('sorting.priceHighLow') : 'Preis: Hoch zu Niedrig'} diff --git a/src/components/SharedCarousel.js b/src/components/SharedCarousel.js index d53f1c6..8d574bc 100644 --- a/src/components/SharedCarousel.js +++ b/src/components/SharedCarousel.js @@ -7,6 +7,7 @@ import ChevronRight from "@mui/icons-material/ChevronRight"; import CategoryBox from "./CategoryBox.js"; import SocketContext from "../contexts/SocketContext.js"; import { useCarousel } from "../contexts/CarouselContext.js"; +import { useTranslation } from 'react-i18next'; // Helper to process and set categories const processCategoryTree = (categoryTree) => { @@ -52,6 +53,7 @@ const initializeCategories = () => { const SharedCarousel = () => { const { carouselRef, filteredCategories, setFilteredCategories, moveCarousel } = useCarousel(); const context = useContext(SocketContext); + const { t } = useTranslation(); const [rootCategories, setRootCategories] = useState([]); useEffect(() => { @@ -111,7 +113,7 @@ const SharedCarousel = () => { textShadow: "3px 3px 10px rgba(0, 0, 0, 0.4)" }} > - Kategorien + {t('navigation.categories')}
- ← Zurück zur Bestellung + {this.props.t ? this.props.t('cart.backToOrder') : '← Zurück zur Bestellung'} @@ -541,4 +542,4 @@ class CartTab extends Component { // Set static contextType to access the socket CartTab.contextType = SocketContext; -export default CartTab; +export default withI18n(CartTab); diff --git a/src/i18n/locales/ar/translation.js b/src/i18n/locales/ar/translation.js new file mode 100644 index 0000000..e6c897d --- /dev/null +++ b/src/i18n/locales/ar/translation.js @@ -0,0 +1,231 @@ +export default { + "locale": { + "code": "ar-EG" + }, + "navigation": { + "home": "الصفحة الرئيسية", + "aktionen": "الإجراءات", + "filiale": "فرع", + "categories": "الفئات", + "categoriesOpen": "الفئات المفتوحة", + "categoriesClose": "إغلاق الفئات", + "otherCategories": "فئات أخرى" + }, + "auth": { + "login": "تسجيل الدخول", + "register": "التسجيل", + "logout": "تسجيل الخروج", + "profile": "الملف الشخصي", + "email": "البريد الإلكتروني", + "password": "كلمة المرور", + "confirmPassword": "تأكيد كلمة المرور", + "forgotPassword": "هل نسيت كلمة المرور؟", + "loginWithGoogle": "تسجيل الدخول باستخدام جوجل", + "or": "أو", + "privacyAccept": "بالنقر على \"تسجيل الدخول باستخدام جوجل\"، أوافق على", + "privacyPolicy": "سياسة الخصوصية", + "passwordMinLength": "يجب أن تكون كلمة المرور على الأقل 8 حروف", + "newPasswordMinLength": "يجب أن تكون كلمة المرور الجديدة على الأقل 8 حروف", + "menu": { + "profile": "الملف الشخصي", + "checkout": "الدفع", + "orders": "الطلبات", + "settings": "الإعدادات", + "adminDashboard": "لوحة تحكم الإدارة", + "adminUsers": "مستخدمو الإدارة" + } + }, + "cart": { + "title": "سلة التسوق", + "empty": "فارغة", + "addToCart": "أضف إلى السلة", + "preorderCutting": "الطلب المسبق للقصاصات", + "continueShopping": "مواصلة التسوق", + "proceedToCheckout": "الانتقال للدفع", + "productCount": "{{count}} {{count, plural, one {منتج} other {منتجات}}}", + "removeFromCart": "إزالة من السلة", + "openCart": "فتح السلة", + "availableFrom": "من {{date}}", + "backToOrder": "← العودة للطلب", + "sync": { + "title": "مزامنة السلة", + "description": "لديك سلة محفوظة في حسابك. يرجى اختيار كيفية المتابعة:", + "deleteServer": "حذف سلة الخادم", + "useServer": "استخدام سلة الخادم", + "merge": "دمج السلال", + "currentCart": "السلة الحالية الخاصة بك", + "serverCart": "السلة المحفوظة في ملفك الشخصي" + } + }, + "product": { + "loading": "جارٍ تحميل المنتج...", + "notFound": "المنتج غير موجود", + "notFoundDescription": "المنتج الذي تبحث عنه غير موجود أو تم إزالته.", + "backToHome": "العودة للصفحة الرئيسية", + "error": "خطأ", + "articleNumber": "رقم المقالة", + "manufacturer": "الشركة المصنعة", + "inclVat": "شاملة {{vat}}% ضريبة قيمة مضافة", + "priceUnit": "{{price}}/{{unit}}", + "new": "جديد", + "arriving": "الوصول:", + "inclVatFooter": "شاملة {{vat}}% ضريبة القيمة المضافة، *", + "availability": "التوفر", + "inStock": "متوفر في المخزون", + "comingSoon": "قريبا", + "deliveryTime": "مدة التسليم", + "inclShort": "شامل", + "vatShort": "ض. م.", + "countDisplay": { + "noProducts": "0 منتجات", + "oneProduct": "منتج واحد", + "multipleProducts": "{{count}} منتجات", + "filteredProducts": "{{filtered}} من {{total}} المنتجات", + "filteredOneProduct": "{{filtered}} من منتج واحد" + }, + "removeFiltersToSee": "إزالة الفلاتر لعرض المنتجات", + "outOfStock": "غير متوفر في المخزون", + "fromXProducts": "من {{count}} منتجات" + }, + "search": { + "placeholder": "يمكنك سؤالي عن أصناف القنب...", + "recording": "جار التسجيل...", + "searchProducts": "البحث عن منتجات..." + }, + "sorting": { + "name": "الاسم", + "searchField": "مسمى البحث", + "priceLowHigh": "السعر: من الأقل للأعلى", + "priceHighLow": "السعر: من الأعلى للأاقل" + }, + "chat": { + "privacyRead": "مقروء ومقبول" + }, + "delivery": { + "methods": { + "dhl": "DHL", + "dpd": "DPD", + "sperrgut": "بضائع ضخمة", + "pickup": "استلام من المتجر" + }, + "descriptions": { + "standard": "الشحن القياسي", + "standardFree": "الشحن القياسي - مجانًا عند شراء بقيمة €100 أو أكثر!", + "notAvailable": "غير قابل للاختيار لأنه يمكن استلام عنصر واحد أو أكثر فقط", + "bulky": "للمنتجات الكبيرة والثقيلة" + }, + "prices": { + "free": "مجانًا", + "freeFrom100": "(مجانًا من €100)", + "dhl": "€6.99", + "dpd": "€4.90", + "sperrgut": "€28.99" + }, + "times": { + "cutting14Days": "مدة التوصيل: 14 يومًا", + "standard2to3Days": "مدة التوصيل: 2-3 أيام", + "supplier7to9Days": "مدة التوصيل: 7-9 أيام" + } + }, + "checkout": { + "invoiceAddress": "عنوان الفوترة", + "deliveryAddress": "عنوان التوصيل", + "saveForFuture": "حفظ للطلبات المستقبلية", + "pickupDate": "ما التاريخ المطلوب فيه استلام القصاصات؟", + "note": "ملاحظة", + "sameAddress": "عنوان التوصيل هو نفسه عنوان الفوترة", + "termsAccept": "لقد قرأت الشروط والأحكام، وسياسة الخصوصية، وسياسة الإلغاء" + }, + "payment": { + "successful": "تم الدفع بنجاح!", + "failed": "فشلت عملية الدفع", + "orderCompleted": "🎉 تم إتمام طلبك بنجاح! يمكنك الآن عرض طلباتك.", + "orderProcessing": "تم معالجة دفعك بنجاح. سيتم إكمال الطلب تلقائيًا.", + "paymentError": "لم تنجح عملية الدفع. يرجى المحاولة مرة أخرى أو اختيار طريقة دفع أخرى.", + "viewOrders": "عرض طلباتي" + }, + "filters": { + "sorting": "التصفية", + "perPage": "لكل صفحة", + "availability": "التوفر", + "manufacturer": "الشركة المصنعة" + }, + "tax": { + "vat": "ضريبة القيمة المضافة", + "vat7": "7% ضريبة القيمة المضافة", + "vat19": "19% ضريبة القيمة المضافة", + "vat19WithShipping": "19% ضريبة مضافة (تشمل الشحن)", + "totalNet": "المجموع الصافي", + "totalGross": "المجموع الإجمالي بدون الشحن", + "subtotal": "المجموع الفرعي" + }, + "footer": { + "hours": "السبت 11-19", + "address": "شارع تراشينبرغر 14 - درسدن", + "location": "بين محطة Pieschen و SQUARE تراشينبرغر", + "allPricesIncl": "* يشمل جميع الأسعار ضريبة القيمة المضافة القانونية، بالإضافة إلى الشحن", + "copyright": "© {{year}} GrowHeads.de", + "legal": { + "datenschutz": "سياسة الخصوصية", + "agb": "الشروط والأحكام", + "sitemap": "خريطة الموقع", + "impressum": "معلومات النشر", + "batteriegesetzhinweise": "ملاحظات تنظيم البطاريات", + "widerrufsrecht": "حق الانسحاب" + } + }, + "titles": { + "home": "نبتة قنّب َ بذور و قصاصات", + "aktionen": "عروض & بع ِضَ", + "filiale": "فرع في درسدن" + }, + "sections": { + "seeds": "البذور", + "stecklinge": "القصاصات", + "oilPress": "تأجير مطحنة الزيت", + "thcTest": "اختبار THC", + "address1": "شارع تراشينبرغر 14", + "address2": "01129 درسدن" + }, + "pages": { + "oilPress": { + "title": "تأجير مطحنة الزيت", + "comingSoon": "المحتوى قريبا..." + }, + "thcTest": { + "title": "اختبار THC", + "comingSoon": "المحتوى قريبا..." + } + }, + "orders": { + "status": { + "new": "قيد التنفيذ", + "pending": "جديد", + "processing": "قيد المعالجة", + "cancelled": "تم الإلغاء", + "shipped": "تم الشحن", + "delivered": "تم التوصيل", + "return": "إرجاع", + "partialReturn": "إرجاع جزئي", + "partialDelivered": "تم التوصيل جزئياً" + } + }, + "common": { + "loading": "جار التحميل...", + "error": "خطأ", + "close": "إغلاق", + "save": "حفظ", + "cancel": "إلغاء", + "ok": "موافق", + "yes": "نعم", + "no": "لا", + "next": "التالي", + "back": "السابق", + "edit": "تعديل", + "delete": "حذف", + "add": "إضافة", + "remove": "إزالة", + "products": "المنتجات", + "product": "المنتج" + } +}; diff --git a/src/i18n/locales/bg/translation.js b/src/i18n/locales/bg/translation.js index 3bdd7f7..b9fe4db 100644 --- a/src/i18n/locales/bg/translation.js +++ b/src/i18n/locales/bg/translation.js @@ -1,120 +1,147 @@ export default { + "locale": { + "code": "bg-BG" // de-DE + }, "navigation": { "home": "Начало", // Startseite - "aktionen": "Действия", // Aktionen - "filiale": "Магазин", // Filiale + "aktionen": "Промоции", // Aktionen + "filiale": "Клон", // Filiale "categories": "Категории", // Kategorien "categoriesOpen": "Отвори категории", // Kategorien öffnen - "categoriesClose": "Затвори категории" // Kategorien schließen + "categoriesClose": "Затвори категории", // Kategorien schließen + "otherCategories": "Други категории" // Andere Kategorien }, "auth": { - "login": "Влизане", // Anmelden + "login": "Вход", // Anmelden "register": "Регистрация", // Registrieren - "logout": "Излизане", // Abmelden + "logout": "Изход", // Abmelden "profile": "Профил", // Profil "email": "Имейл", // E-Mail "password": "Парола", // Passwort - "confirmPassword": "Потвърди парола", // Passwort bestätigen + "confirmPassword": "Потвърди паролата", // Passwort bestätigen "forgotPassword": "Забравена парола?", // Passwort vergessen? - "loginWithGoogle": "Влизане с Google", // Mit Google anmelden + "loginWithGoogle": "Влез с Google", // Mit Google anmelden "or": "ИЛИ", // ODER - "privacyAccept": "С натискането на \"Влизане с Google\" приемам", // Mit dem Click auf \"Mit Google anmelden\" akzeptiere ich die - "privacyPolicy": "Политика за поверителност", // Datenschutzbestimmungen - "passwordMinLength": "Паролата трябва да бъде поне 8 символа", // Das Passwort muss mindestens 8 Zeichen lang sein - "newPasswordMinLength": "Новата парола трябва да бъде поне 8 символа", // Das neue Passwort muss mindestens 8 Zeichen lang sein + "privacyAccept": "С натискането на \"Влез с Google\" приемам", // Mit dem Click auf \"Mit Google anmelden\" akzeptiere ich die + "privacyPolicy": "Политиката за поверителност", // Datenschutzbestimmungen + "passwordMinLength": "Паролата трябва да е поне 8 символа", // Das Passwort muss mindestens 8 Zeichen lang sein + "newPasswordMinLength": "Новата парола трябва да е поне 8 символа", // Das neue Passwort muss mindestens 8 Zeichen lang sein "menu": { "profile": "Профил", // Profil - "checkout": "Завършване на поръчка", // Bestellabschluss + "checkout": "Плащане", // Bestellabschluss "orders": "Поръчки", // Bestellungen "settings": "Настройки", // Einstellungen - "adminDashboard": "Админ панел", // Admin Dashboard + "adminDashboard": "Админ табло", // Admin Dashboard "adminUsers": "Админ потребители" // Admin Users } }, "cart": { - "title": "Количка", // Warenkorb + "title": "Кошница", // Warenkorb "empty": "празна", // leer - "addToCart": "Добави в количката", // In den Korb - "preorderCutting": "Предпоръчай като резенче", // Als Steckling vorbestellen + "addToCart": "Добави в кошницата", // In den Korb + "preorderCutting": "Предварителна поръчка на резник", // Als Steckling vorbestellen "continueShopping": "Продължи пазаруването", // Weiter einkaufen - "proceedToCheckout": "Към касата", // Weiter zur Kasse + "proceedToCheckout": "Продължи към плащане", // Weiter zur Kasse + "productCount": "{{count}} {{count, plural, one {Продукт} other {Продукта}}}", // {{count}} {{count, plural, one {Produkt} other {Produkte}}} + "removeFromCart": "Премахни от кошницата", // Aus dem Warenkorb entfernen + "openCart": "Отвори кошницата", // Warenkorb öffnen + "availableFrom": "Наличен от {{date}}", // Ab {{date}} + "backToOrder": "← Обратно към поръчката", // ← Zurück zur Bestellung "sync": { - "title": "Синхронизация на количката", // Warenkorb-Synchronisierung - "description": "Имате запазена количка в акаунта си. Моля, изберете как искате да продължите:", // Sie haben einen gespeicherten Warenkorb in ihrem Account. Bitte wählen Sie, wie Sie verfahren möchten: - "deleteServer": "Изтрий серверната количка", // Server-Warenkorb löschen - "useServer": "Използвай серверната количка", // Server-Warenkorb übernehmen - "merge": "Обедини количките", // Warenkörbe zusammenführen - "currentCart": "Вашата текуща количка", // Ihr aktueller Warenkorb - "serverCart": "Количка запазена в профила ви" // In Ihrem Profil gespeicherter Warenkorb + "title": "Синхронизация на кошницата", // Warenkorb-Synchronisierung + "description": "Имате запазена кошница в профила си. Моля, изберете как да продължите:", // Sie haben einen gespeicherten Warenkorb in ihrem Account. Bitte wählen Sie, wie Sie verfahren möchten: + "deleteServer": "Изтрий кошницата на сървъра", // Server-Warenkorb löschen + "useServer": "Използвай кошницата от сървъра", // Server-Warenkorb übernehmen + "merge": "Обедини кошниците", // Warenkörbe zusammenführen + "currentCart": "Текущата ви кошница", // Ihr aktueller Warenkorb + "serverCart": "Кошница запазена в профила ви" // In Ihrem Profil gespeicherter Warenkorb } }, "product": { - "loading": "Продуктът се зарежда...", // Produkt wird geladen... + "loading": "Зареждане на продукта...", // Produkt wird geladen... "notFound": "Продуктът не е намерен", // Produkt nicht gefunden "notFoundDescription": "Търсеният продукт не съществува или е премахнат.", // Das gesuchte Produkt existiert nicht oder wurde entfernt. - "backToHome": "Обратно към началото", // Zurück zur Startseite + "backToHome": "Обратно към началната страница", // Zurück zur Startseite "error": "Грешка", // Fehler "articleNumber": "Артикулен номер", // Artikelnummer "manufacturer": "Производител", // Hersteller "inclVat": "вкл. {{vat}}% ДДС", // inkl. {{vat}}% MwSt. "priceUnit": "{{price}}/{{unit}}", // {{price}}/{{unit}} "new": "Нов", // Neu - "arriving": "Пристигане:", // Ankunft: + "arriving": "Очаква се:", // Ankunft: "inclVatFooter": "вкл. {{vat}}% ДДС,*", // incl. {{vat}}% USt.,* "availability": "Наличност", // Verfügbarkeit - "inStock": "в наличност", // auf Lager - "comingSoon": "Скоро достъпен", // Bald verfügbar - "deliveryTime": "Време за доставка", // Lieferzeit + "inStock": "налично", // auf Lager + "comingSoon": "Очаквайте скоро", // Bald verfügbar + "deliveryTime": "Срок на доставка", // Lieferzeit "inclShort": "вкл.", // inkl. - "vatShort": "ДДС" // MwSt. + "vatShort": "ДДС", // MwSt. + "countDisplay": { + "noProducts": "0 продукта", // 0 Produkte + "oneProduct": "1 продукт", // 1 Produkt + "multipleProducts": "{{count}} продукта", // {{count}} Produkte + "filteredProducts": "{{filtered}} от {{total}} продукта", // {{filtered}} von {{total}} Produkten + "filteredOneProduct": "{{filtered}} от 1 продукт" // {{filtered}} von 1 Produkt + }, + "removeFiltersToSee": "Премахнете филтрите, за да видите продуктите", // Entferne Filter um Produkte zu sehen + "outOfStock": "Изчерпано", // Out of Stock + "fromXProducts": "от {{count}} продукта" // ab {{count}} Produkten }, "search": { - "placeholder": "Можете да ме попитате за канабисови сортове...", // Du kannst mich nach Cannabissorten fragen... - "recording": "Записва се..." // Aufnahme läuft... + "placeholder": "Можете да ме попитате за сортове канабис...", // Du kannst mich nach Cannabissorten fragen... + "recording": "Запис...", // Aufnahme läuft... + "searchProducts": "Търсене на продукти..." // Produkte suchen... + }, + "sorting": { + "name": "Име", // Name + "searchField": "Търсена дума", // Suchbegriff + "priceLowHigh": "Цена: от ниска към висока", // Preis: Niedrig zu Hoch + "priceHighLow": "Цена: от висока към ниска" // Preis: Hoch zu Niedrig }, "chat": { - "privacyRead": "Прочетено и прието" // Gelesen & Akzeptiert + "privacyRead": "Прочетено & Прието" // Gelesen & Akzeptiert }, "delivery": { "methods": { "dhl": "DHL", // DHL "dpd": "DPD", // DPD - "sperrgut": "Габаритни стоки", // Sperrgut - "pickup": "Вземане от магазина" // Abholung in der Filiale + "sperrgut": "Обемни товари", // Sperrgut + "pickup": "Вземане от клон" // Abholung in der Filiale }, "descriptions": { "standard": "Стандартна доставка", // Standardversand - "standardFree": "Стандартна доставка - БЕЗПЛАТНА от 100€ стойност на поръчката!", // Standardversand - KOSTENLOS ab 100€ Warenwert! - "notAvailable": "не може да се избере, защото един или повече артикули могат да се вземат само от магазина", // nicht auswählbar weil ein oder mehrere Artikel nur abgeholt werden können + "standardFree": "Стандартна доставка - БЕЗПЛАТНО при поръчка над 100€!", // Standardversand - KOSTENLOS ab 100€ Warenwert! + "notAvailable": "Не може да се избере, защото един или повече артикули могат да се вземат само на място", // nicht auswählbar weil ein oder mehrere Artikel nur abgeholt werden können "bulky": "За големи и тежки артикули" // Für große und schwere Artikel }, "prices": { "free": "безплатно", // kostenlos + "freeFrom100": "(безплатно от 100€)", // (kostenlos ab 100€) "dhl": "6,99 €", // 6,99 € "dpd": "4,90 €", // 4,90 € "sperrgut": "28,99 €" // 28,99 € }, "times": { - "cutting14Days": "Време за доставка: 14 дни", // Lieferzeit: 14 Tage - "standard2to3Days": "Време за доставка: 2-3 дни", // Lieferzeit: 2-3 Tage - "supplier7to9Days": "Време за доставка: 7-9 дни" // Lieferzeit: 7-9 Tage + "cutting14Days": "Срок на доставка: 14 дни", // Lieferzeit: 14 Tage + "standard2to3Days": "Срок на доставка: 2-3 дни", // Lieferzeit: 2-3 Tage + "supplier7to9Days": "Срок на доставка: 7-9 дни" // Lieferzeit: 7-9 Tage } }, "checkout": { - "invoiceAddress": "Адрес за фактуриране", // Rechnungsadresse + "invoiceAddress": "Адрес за фактура", // Rechnungsadresse "deliveryAddress": "Адрес за доставка", // Lieferadresse "saveForFuture": "Запази за бъдещи поръчки", // Für zukünftige Bestellungen speichern - "pickupDate": "За коя дата се желае вземането на резенчетата?", // Für welchen Termin ist die Abholung der Stecklinge gewünscht? - "note": "Забележка", // Anmerkung - "sameAddress": "Адресът за доставка е идентичен с адреса за фактуриране", // Lieferadresse ist identisch mit Rechnungsadresse - "termsAccept": "Прочетох Общите условия, Политиката за поверителност и разпоредбите за правото на отказ" // Ich habe die AGBs, die Datenschutzerklärung und die Bestimmungen zum Widerrufsrecht gelesen + "pickupDate": "За коя дата желаете да вземете резниците?", // Für welchen Termin ist die Abholung der Stecklinge gewünscht? + "note": "Бележка", // Anmerkung + "sameAddress": "Адресът за доставка е същият като адреса за фактура", // Lieferadresse ist identisch mit Rechnungsadresse + "termsAccept": "Прочетох Общите условия, Политиката за поверителност и информацията за правото на отказ" // Ich habe die AGBs, die Datenschutzerklärung und die Bestimmungen zum Widerrufsrecht gelesen }, "payment": { - "successful": "Успешно плащане!", // Zahlung erfolgreich! - "failed": "Неуспешно плащане", // Zahlung fehlgeschlagen - "orderCompleted": "🎉 Вашата поръчка беше успешно завършена! Сега можете да видите поръчките си.", // 🎉 Ihre Bestellung wurde erfolgreich abgeschlossen! Sie können jetzt Ihre Bestellungen einsehen. - "orderProcessing": "Вашето плащане беше успешно обработено. Поръчката ще бъде завършена автоматично.", // Ihre Zahlung wurde erfolgreich verarbeitet. Die Bestellung wird automatisch abgeschlossen. - "paymentError": "Вашето плащане не можа да бъде обработено. Моля, опитайте отново или изберете друг метод на плащане.", // Ihre Zahlung konnte nicht verarbeitet werden. Bitte versuchen Sie es erneut oder wählen Sie eine andere Zahlungsmethode. + "successful": "Плащането е успешно!", // Zahlung erfolgreich! + "failed": "Плащането не бе успешно", // Zahlung fehlgeschlagen + "orderCompleted": "🎉 Вашата поръчка е успешно завършена! Можете да видите вашите поръчки.", // 🎉 Ihre Bestellung wurde erfolgreich abgeschlossen! Sie können jetzt Ihre Bestellungen einsehen. + "orderProcessing": "Плащането ви беше успешно обработено. Поръчката ще бъде завършена автоматично.", // Ihre Zahlung wurde erfolgreich verarbeitet. Die Bestellung wird automatisch abgeschlossen. + "paymentError": "Плащането не можа да бъде обработено. Моля, опитайте отново или изберете друг метод на плащане.", // Ihre Zahlung konnte nicht verarbeitet werden. Bitte versuchen Sie es erneut oder wählen Sie eine andere Zahlungsmethode. "viewOrders": "Виж моите поръчки" // Zu meinen Bestellungen }, "filters": { @@ -124,71 +151,71 @@ export default { "manufacturer": "Производител" // Hersteller }, "tax": { - "vat": "Данък добавена стойност", // Mehrwertsteuer - "vat7": "7% Данък добавена стойност", // 7% Mehrwertsteuer - "vat19": "19% Данък добавена стойност", // 19% Mehrwertsteuer - "vat19WithShipping": "19% Данък добавена стойност (вкл. доставка)", // 19% Mehrwertsteuer (inkl. Versand) + "vat": "Данък върху добавената стойност", // Mehrwertsteuer + "vat7": "7% Данък върху добавената стойност", // 7% Mehrwertsteuer + "vat19": "19% Данък върху добавената стойност", // 19% Mehrwertsteuer + "vat19WithShipping": "19% Данък върху добавената стойност (вкл. доставка)", // 19% Mehrwertsteuer (inkl. Versand) "totalNet": "Обща нетна цена", // Gesamtnettopreis "totalGross": "Обща брутна цена без доставка", // Gesamtbruttopreis ohne Versand "subtotal": "Междинна сума" // Zwischensumme }, "footer": { "hours": "Съб 11-19", // Sa 11-19 - "address": "Trachenberger Straße 14 - Дрезден", // Trachenberger Straße 14 - Dresden - "location": "Между спирка Пишен и Трахенбергер плац", // Zwischen Haltepunkt Pieschen und Trachenberger Platz - "allPricesIncl": "* Всички цени вкл. законов ДДС, плюс доставка", // * Alle Preise inkl. gesetzlicher USt., zzgl. Versand + "address": "Trachenberger Straße 14 - Dresden", // Trachenberger Straße 14 - Dresden + "location": "Между спирка Пишен и Trachenberger Platz", // Zwischen Haltepunkt Pieschen und Trachenberger Platz + "allPricesIncl": "* Всички цени включват законен ДДС, плюс доставка", // * Alle Preise inkl. gesetzlicher USt., zzgl. Versand "copyright": "© {{year}} GrowHeads.de", // © {{year}} GrowHeads.de "legal": { - "datenschutz": "Политика за поверителност", // Datenschutz + "datenschutz": "Поверителност", // Datenschutz "agb": "Общи условия", // AGB "sitemap": "Карта на сайта", // Sitemap - "impressum": "Impressum", // Impressum - "batteriegesetzhinweise": "Информация за закона за батерии", // Batteriegesetzhinweise + "impressum": "Отпечатък", // Impressum + "batteriegesetzhinweise": "Бележки за закона за батериите", // Batteriegesetzhinweise "widerrufsrecht": "Право на отказ" // Widerrufsrecht } - }, + }, "titles": { - "home": "Канабисови семена и резенчета", // Cannabis Seeds & Cuttings - "aktionen": "Текущи действия и оферти", // Aktuelle Aktionen & Angebote - "filiale": "Нашият магазин в Дрезден" // Unsere Filiale in Dresden + "home": "Фини семена и резници от канабис", // Fine Cannabis Seeds & Cuttings (the text in the string has special characters, translate using the comment) + "aktionen": "Текущи промоции и оферти", // Aktuelle Aktionen & Angebote (the text in the string has special characters, translate using the comment) + "filiale": "Нашият клон в Дрезден" // Unsere Filiale in Dresden (the text in the string has special characters, translate using the comment) }, "sections": { "seeds": "Семена", // Seeds - "stecklinge": "Резенчета", // Stecklinge - "oilPress": "Наеми маслопреса", // Ölpresse ausleihen + "stecklinge": "Резници", // Stecklinge + "oilPress": "Наеми преса за масло", // Ölpresse ausleihen "thcTest": "THC тест", // THC Test "address1": "Trachenberger Straße 14", // Trachenberger Straße 14 - "address2": "01129 Дрезден" // 01129 Dresden + "address2": "01129 Dresden" // 01129 Dresden }, "pages": { "oilPress": { - "title": "Наеми маслопреса", // Ölpresse ausleihen - "comingSoon": "Съдържанието идва скоро..." // Inhalt kommt bald... + "title": "Наеми преса за масло", // Ölpresse ausleihen + "comingSoon": "Съдържанието ще бъде налично скоро..." // Inhalt kommt bald... }, "thcTest": { "title": "THC тест", // THC Test - "comingSoon": "Съдържанието идва скоро..." // Inhalt kommt bald... + "comingSoon": "Съдържанието ще бъде налично скоро..." // Inhalt kommt bald... } }, "orders": { "status": { - "new": "обработва се", // in Bearbeitung - "pending": "Нов", // Neu - "processing": "Обработва се", // in Bearbeitung - "cancelled": "Отказан", // Storniert - "shipped": "Изпратен", // Verschickt - "delivered": "Доставен", // Geliefert + "new": "Обработка", // in Bearbeitung + "pending": "Нова", // Neu + "processing": "Обработка", // in Bearbeitung + "cancelled": "Отменена", // Storniert + "shipped": "Изпратена", // Verschickt + "delivered": "Доставена", // Geliefert "return": "Връщане", // Retoure "partialReturn": "Частично връщане", // Teil Retoure - "partialDelivered": "Частично доставен" // Teil geliefert + "partialDelivered": "Частично доставена" // Teil geliefert } }, "common": { - "loading": "Зарежда се...", // Lädt... + "loading": "Зареждане...", // Lädt... "error": "Грешка", // Fehler "close": "Затвори", // Schließen "save": "Запази", // Speichern - "cancel": "Отмени", // Abbrechen + "cancel": "Отказ", // Abbrechen "ok": "OK", // OK "yes": "Да", // Ja "no": "Не", // Nein @@ -201,4 +228,4 @@ export default { "products": "Продукти", // Produkte "product": "Продукт" // Produkt } -}; \ No newline at end of file +}; diff --git a/src/i18n/locales/cs/translation.js b/src/i18n/locales/cs/translation.js index ec82381..4422f4a 100644 --- a/src/i18n/locales/cs/translation.js +++ b/src/i18n/locales/cs/translation.js @@ -1,204 +1,231 @@ export default { + "locale": { + "code": "cs-CZ" + }, "navigation": { - "home": "Domů", // Home - "aktionen": "Akce", // Actions - "filiale": "Pobočka", // Branch - "categories": "Kategorie", // Categories - "categoriesOpen": "Otevřít kategorie", // Open categories - "categoriesClose": "Zavřít kategorie" // Close categories + "home": "Domů", + "aktionen": "Akce", + "filiale": "Pobočka", + "categories": "Kategorie", + "categoriesOpen": "Otevřít kategorie", + "categoriesClose": "Zavřít kategorie", + "otherCategories": "Další kategorie" }, "auth": { - "login": "Přihlášení", // Login - "register": "Registrace", // Register - "logout": "Odhlášení", // Logout - "profile": "Profil", // Profile - "email": "E-mail", // Email - "password": "Heslo", // Password - "confirmPassword": "Potvrdit heslo", // Confirm password - "forgotPassword": "Zapomenuté heslo?", // Forgot password? - "loginWithGoogle": "Přihlásit se přes Google", // Login with Google - "or": "NEBO", // OR - "privacyAccept": "Kliknutím na \"Přihlásit se přes Google\" souhlasím s", // By clicking "Login with Google" I accept - "privacyPolicy": "Zásady ochrany osobních údajů", // Privacy policy - "passwordMinLength": "Heslo musí mít alespoň 8 znaků", // Password must be at least 8 characters - "newPasswordMinLength": "Nové heslo musí mít alespoň 8 znaků", // New password must be at least 8 characters + "login": "Přihlášení", + "register": "Registrace", + "logout": "Odhlásit se", + "profile": "Profil", + "email": "E-mail", + "password": "Heslo", + "confirmPassword": "Potvrdit heslo", + "forgotPassword": "Zapomněli jste heslo?", + "loginWithGoogle": "Přihlásit se přes Google", + "or": "NEBO", + "privacyAccept": "Kliknutím na \"Přihlásit se přes Google\" souhlasím s", + "privacyPolicy": "Zásadami ochrany osobních údajů", + "passwordMinLength": "Heslo musí mít alespoň 8 znaků", + "newPasswordMinLength": "Nové heslo musí mít alespoň 8 znaků", "menu": { - "profile": "Profil", // Profile - "checkout": "Dokončit objednávku", // Checkout - "orders": "Objednávky", // Orders - "settings": "Nastavení", // Settings - "adminDashboard": "Admin panel", // Admin dashboard - "adminUsers": "Admin uživatelé" // Admin users + "profile": "Profil", + "checkout": "Pokladna", + "orders": "Objednávky", + "settings": "Nastavení", + "adminDashboard": "Administrátorská hlavní stránka", + "adminUsers": "Správa uživatelů" } }, "cart": { - "title": "Košík", // Cart - "empty": "prázdný", // empty - "addToCart": "Do košíku", // Add to cart - "preorderCutting": "Předobjednat jako řízek", // Preorder as cutting - "continueShopping": "Pokračovat v nákupu", // Continue shopping - "proceedToCheckout": "Přejít k pokladně", // Proceed to checkout + "title": "Košík", + "empty": "prázdný", + "addToCart": "Přidat do košíku", + "preorderCutting": "Předobjednat jako řízky", + "continueShopping": "Pokračovat v nákupu", + "proceedToCheckout": "Pokračovat k pokladně", + "productCount": "{{count}} {{count, plural, one {produkt} other {produktů}}}", + "removeFromCart": "Odebrat z košíku", + "openCart": "Otevřít košík", + "availableFrom": "Od {{date}}", + "backToOrder": "← Zpět k objednávce", "sync": { - "title": "Synchronizace košíku", // Cart synchronization - "description": "Máte uložený košík ve vašem účtu. Vyberte prosím, jak chcete pokračovat:", // You have a saved cart in your account. Please choose how to proceed: - "deleteServer": "Smazat serverový košík", // Delete server cart - "useServer": "Použít serverový košík", // Use server cart - "merge": "Sloučit košíky", // Merge carts - "currentCart": "Váš aktuální košík", // Your current cart - "serverCart": "Košík uložený ve vašem profilu" // Cart saved in your profile + "title": "Synchronizace košíku", + "description": "Máte uložený košík ve svém účtu. Vyberte, jak chcete pokračovat:", + "deleteServer": "Smazat serverový košík", + "useServer": "Použít serverový košík", + "merge": "Sloučit košíky", + "currentCart": "Váš aktuální košík", + "serverCart": "Uložený košík ve vašem profilu" } }, "product": { - "loading": "Načítání produktu...", // Loading product... - "notFound": "Produkt nenalezen", // Product not found - "notFoundDescription": "Hledaný produkt neexistuje nebo byl odstraněn.", // The searched product doesn't exist or was removed. - "backToHome": "Zpět na domovskou stránku", // Back to home - "error": "Chyba", // Error - "articleNumber": "Číslo artiklu", // Article number - "manufacturer": "Výrobce", // Manufacturer - "inclVat": "vč. {{vat}}% DPH", // incl. {{vat}}% VAT - "priceUnit": "{{price}}/{{unit}}", // {{price}}/{{unit}} - "new": "Nový", // New - "arriving": "Příjezd:", // Arriving: - "inclVatFooter": "vč. {{vat}}% DPH,*", // incl. {{vat}}% VAT,* - "availability": "Dostupnost", // Availability - "inStock": "skladem", // in stock - "comingSoon": "Brzy dostupné", // Coming soon - "deliveryTime": "Doba dodání", // Delivery time - "inclShort": "vč.", // incl. - "vatShort": "DPH" // VAT + "loading": "Načítání produktu...", + "notFound": "Produkt nenalezen", + "notFoundDescription": "Hledaný produkt neexistuje nebo byl odstraněn.", + "backToHome": "Zpět na hlavní stránku", + "error": "Chyba", + "articleNumber": "Číslo artiklu", + "manufacturer": "Výrobce", + "inclVat": "včetně {{vat}}% DPH", + "priceUnit": "{{price}}/{{unit}}", + "new": "Nový", + "arriving": "Příjezd:", + "inclVatFooter": "včetně {{vat}}% DPH, *", + "availability": "Dostupnost", + "inStock": "Skladem", + "comingSoon": "Brzy dostupné", + "deliveryTime": "Doba doručení", + "inclShort": "vč.", + "vatShort": "DPH", + "countDisplay": { + "noProducts": "0 produktů", + "oneProduct": "1 produkt", + "multipleProducts": "{{count}} produktů", + "filteredProducts": "{{filtered}} z {{total}} produktů", + "filteredOneProduct": "{{filtered}} z 1 produktu" + }, + "removeFiltersToSee": "Odstraňte filtry pro zobrazení produktů", + "outOfStock": "Není skladem", + "fromXProducts": "z {{count}} produktů" }, "search": { - "placeholder": "Můžeš se mě zeptat na odrůdy konopí...", // You can ask me about cannabis strains... - "recording": "Nahrávání..." // Recording... + "placeholder": "Mohu se zeptat na odrůdy konopí...", + "recording": "Nahrávám...", + "searchProducts": "Hledat produkty..." + }, + "sorting": { + "name": "Název", + "searchField": "Hledaný výraz", + "priceLowHigh": "Cena: Od nejnižší", + "priceHighLow": "Cena: Od nejvyšší" }, "chat": { - "privacyRead": "Přečteno a akceptováno" // Read & accepted + "privacyRead": "Přečteno & Přijato" }, "delivery": { "methods": { - "dhl": "DHL", // DHL - "dpd": "DPD", // DPD - "sperrgut": "Nadrozměrné zboží", // Bulky goods - "pickup": "Vyzvednutí na pobočce" // Pickup at branch + "dhl": "DHL", + "dpd": "DPD", + "sperrgut": "Velké zásilky", + "pickup": "Vyzvednout na prodejně" }, "descriptions": { - "standard": "Standardní doprava", // Standard delivery - "standardFree": "Standardní doprava - ZDARMA od 100€ hodnoty zboží!", // Standard delivery - FREE from 100€ order value! - "notAvailable": "není dostupné, protože jeden nebo více produktů lze pouze vyzvednout", // not available because one or more items can only be picked up - "bulky": "Pro velké a těžké produkty" // For large and heavy items + "standard": "Std. doručení", + "standardFree": "Std. doručení - ZDARMA od zboží v hodnotě €100!", + "notAvailable": "nevybratelné, protože některé položky jsou pouze k vyzvednutí", + "bulky": "Pro velké a těžké zásilky" }, "prices": { - "free": "zdarma", // free - "dhl": "6,99 €", // 6,99 € - "dpd": "4,90 €", // 4,90 € - "sperrgut": "28,99 €" // 28,99 € + "free": "zdarma", + "freeFrom100": "(zdarma od €100)", + "dhl": "€6.99", + "dpd": "€4.90", + "sperrgut": "€28.99" }, "times": { - "cutting14Days": "Doba dodání: 14 dní", // Delivery time: 14 days - "standard2to3Days": "Doba dodání: 2-3 dny", // Delivery time: 2-3 days - "supplier7to9Days": "Doba dodání: 7-9 dní" // Delivery time: 7-9 days + "cutting14Days": "Doba doručení: 14 dní", + "standard2to3Days": "Doba doručení: 2-3 dny", + "supplier7to9Days": "Doba doručení: 7-9 dní" } }, "checkout": { - "invoiceAddress": "Fakturační adresa", // Invoice address - "deliveryAddress": "Dodací adresa", // Delivery address - "saveForFuture": "Uložit pro budoucí objednávky", // Save for future orders - "pickupDate": "Na kdy si přejete vyzvednout řízky?", // When do you wish to pick up the cuttings? - "note": "Poznámka", // Note - "sameAddress": "Dodací adresa je shodná s fakturační adresou", // Delivery address is same as invoice address - "termsAccept": "Přečetl jsem VOP, zásady ochrany osobních údajů a podmínky práva na odstoupení" // I have read the T&C, privacy policy and withdrawal right conditions + "invoiceAddress": "Fakturační adresa", + "deliveryAddress": "Dodací adresa", + "saveForFuture": "Uložit pro budoucí objednávky", + "pickupDate": "Na který datum je požadováno vyzvednutí řízků?", + "note": "Poznámka", + "sameAddress": "Dodací adresa je stejná jako fakturační", + "termsAccept": "Přečetl/a jsem si podmínky, zásady ochrany osobních údajů a storno podmínky" }, "payment": { - "successful": "Úspěšná platba!", // Successful payment! - "failed": "Neúspěšná platba", // Failed payment - "orderCompleted": "🎉 Vaše objednávka byla úspěšně dokončena! Nyní můžete zobrazit své objednávky.", // 🎉 Your order was successfully completed! You can now view your orders. - "orderProcessing": "Vaše platba byla úspěšně zpracována. Objednávka bude automaticky dokončena.", // Your payment was successfully processed. The order will be automatically completed. - "paymentError": "Vaši platbu nelze zpracovat. Zkuste to prosím znovu nebo vyberte jiný způsob platby.", // Your payment could not be processed. Please try again or choose another payment method. - "viewOrders": "Zobrazit moje objednávky" // View my orders + "successful": "Platba byla úspěšná!", + "failed": "Platba selhala", + "orderCompleted": "🎉 Vaše objednávka byla úspěšně dokončena! Nyní si můžete prohlédnout své objednávky.", + "orderProcessing": "Vaše platba byla úspěšně zpracována. Objednávka bude automaticky dokončena.", + "paymentError": "Vaši platbu nelze zpracovat. Zkuste to prosím znovu nebo zvolte jinou platební metodu.", + "viewOrders": "Zobrazit mé objednávky" }, "filters": { - "sorting": "Řazení", // Sorting - "perPage": "na stránku", // per page - "availability": "Dostupnost", // Availability - "manufacturer": "Výrobce" // Manufacturer + "sorting": "Řazení", + "perPage": "na stránku", + "availability": "Dostupnost", + "manufacturer": "Výrobce" }, "tax": { - "vat": "DPH", // VAT - "vat7": "7% DPH", // 7% VAT - "vat19": "19% DPH", // 19% VAT - "vat19WithShipping": "19% DPH (vč. dopravy)", // 19% VAT (incl. shipping) - "totalNet": "Celková čistá cena", // Total net price - "totalGross": "Celková hrubá cena bez dopravy", // Total gross price without shipping - "subtotal": "Mezisoučet" // Subtotal + "vat": "DPH", + "vat7": "7% DPH", + "vat19": "19% DPH", + "vat19WithShipping": "19% DPH (včetně poštovného)", + "totalNet": "Celková netto cena", + "totalGross": "Celková hrubá cena bez poštovného", + "subtotal": "Mezisoučet" }, "footer": { - "hours": "So 11-19", // Sat 11-19 - "address": "Trachenberger Straße 14 - Dresden", // Trachenberger Straße 14 - Dresden - "location": "Mezi zastávkou Pieschen a Trachenberger Platz", // Between Pieschen stop and Trachenberger Platz - "allPricesIncl": "* Všechny ceny vč. zákonné DPH, plus doprava", // * All prices incl. legal VAT, plus shipping - "copyright": "© {{year}} GrowHeads.de", // © {{year}} GrowHeads.de + "hours": "So 11-19", + "address": "Trachenberger Straße 14 - Drážďany", + "location": "Mezi zastávkou Pieschen a náměstím Trachenberger Platz", + "allPricesIncl": "* Všechny ceny včetně zákonné DPH, plus poštovné", + "copyright": "© {{year}} GrowHeads.de", "legal": { - "datenschutz": "Ochrana osobních údajů", // Privacy policy - "agb": "VOP", // T&C - "sitemap": "Mapa webu", // Sitemap - "impressum": "Impressum", // Impressum - "batteriegesetzhinweise": "Informace o zákoně o bateriích", // Battery law information - "widerrufsrecht": "Právo na odstoupení" // Right of withdrawal + "datenschutz": "Zásady ochrany osobních údajů", + "agb": "Obchodní podmínky", + "sitemap": "Mapa stránek", + "impressum": "Impressum", + "batteriegesetzhinweise": "Upozornění na bateriová nařízení", + "widerrufsrecht": "Právo na odstoupení od smlouvy" } }, "titles": { - "home": "Konopná semena a řízky", // Cannabis seeds & cuttings - "aktionen": "Aktuální akce a nabídky", // Current actions & offers - "filiale": "Naše pobočka v Drážďanech" // Our branch in Dresden + "home": "ine anabis eeds & uttings", + "aktionen": "tuelle ktionen & gebote", + "filiale": "ur iliale in resden" }, "sections": { - "seeds": "Semena", // Seeds - "stecklinge": "Řízky", // Cuttings - "oilPress": "Půjčovna lisů na olej", // Oil press rental - "thcTest": "THC test", // THC test - "address1": "Trachenberger Straße 14", // Trachenberger Straße 14 - "address2": "01129 Dresden" // 01129 Dresden + "seeds": "Semena", + "stecklinge": "Řízky", + "oilPress": "Pronájem lisů na olej", + "thcTest": "Test THC", + "address1": "Trachenberger Straße 14", + "address2": "01129 Dresden" }, "pages": { "oilPress": { - "title": "Půjčovna lisů na olej", // Oil press rental - "comingSoon": "Obsah brzy..." // Content coming soon... + "title": "Pronájem lisů na olej", + "comingSoon": "Obsah brzy bude dostupný..." }, "thcTest": { - "title": "THC test", // THC test - "comingSoon": "Obsah brzy..." // Content coming soon... + "title": "Test THC", + "comingSoon": "Obsah brzy bude dostupný..." } }, "orders": { "status": { - "new": "zpracovává se", // processing - "pending": "Nový", // New - "processing": "Zpracovává se", // Processing - "cancelled": "Zrušeno", // Cancelled - "shipped": "Odesláno", // Shipped - "delivered": "Doručeno", // Delivered - "return": "Vráceno", // Return - "partialReturn": "Částečné vrácení", // Partial return - "partialDelivered": "Částečně doručeno" // Partially delivered + "new": "Probíhá", + "pending": "Nová", + "processing": "Probíhá", + "cancelled": "Zrušena", + "shipped": "Odesláno", + "delivered": "Doručeno", + "return": "Vrácení", + "partialReturn": "Částečné vrácení", + "partialDelivered": "Částečně doručeno" } }, "common": { - "loading": "Načítání...", // Loading... - "error": "Chyba", // Error - "close": "Zavřít", // Close - "save": "Uložit", // Save - "cancel": "Zrušit", // Cancel - "ok": "OK", // OK - "yes": "Ano", // Yes - "no": "Ne", // No - "next": "Další", // Next - "back": "Zpět", // Back - "edit": "Upravit", // Edit - "delete": "Smazat", // Delete - "add": "Přidat", // Add - "remove": "Odebrat", // Remove - "products": "Produkty", // Products - "product": "Produkt" // Product + "loading": "Načítám...", + "error": "Chyba", + "close": "Zavřít", + "save": "Uložit", + "cancel": "Zrušit", + "ok": "OK", + "yes": "Ano", + "no": "Ne", + "next": "Další", + "back": "Zpět", + "edit": "Upravit", + "delete": "Odstranit", + "add": "Přidat", + "remove": "Odebrat", + "products": "Produkty", + "product": "Produkt" } -} \ No newline at end of file +}; diff --git a/src/i18n/locales/de/translation.js b/src/i18n/locales/de/translation.js index 1d1f4ee..1d681f7 100644 --- a/src/i18n/locales/de/translation.js +++ b/src/i18n/locales/de/translation.js @@ -1,11 +1,15 @@ export default { + "locale": { + "code": "de-DE" + }, "navigation": { "home": "Startseite", "aktionen": "Aktionen", "filiale": "Filiale", "categories": "Kategorien", "categoriesOpen": "Kategorien öffnen", - "categoriesClose": "Kategorien schließen" + "categoriesClose": "Kategorien schließen", + "otherCategories": "Andere Kategorien" }, "auth": { "login": "Anmelden", @@ -38,6 +42,11 @@ export default { "preorderCutting": "Als Steckling vorbestellen", "continueShopping": "Weiter einkaufen", "proceedToCheckout": "Weiter zur Kasse", + "productCount": "{{count}} {{count, plural, one {Produkt} other {Produkte}}}", + "removeFromCart": "Aus dem Warenkorb entfernen", + "openCart": "Warenkorb öffnen", + "availableFrom": "Ab {{date}}", + "backToOrder": "← Zurück zur Bestellung", "sync": { "title": "Warenkorb-Synchronisierung", "description": "Sie haben einen gespeicherten Warenkorb in ihrem Account. Bitte wählen Sie, wie Sie verfahren möchten:", @@ -66,11 +75,28 @@ export default { "comingSoon": "Bald verfügbar", "deliveryTime": "Lieferzeit", "inclShort": "inkl.", - "vatShort": "MwSt." + "vatShort": "MwSt.", + "countDisplay": { + "noProducts": "0 Produkte", + "oneProduct": "1 Produkt", + "multipleProducts": "{{count}} Produkte", + "filteredProducts": "{{filtered}} von {{total}} Produkten", + "filteredOneProduct": "{{filtered}} von 1 Produkt" + }, + "removeFiltersToSee": "Entferne Filter um Produkte zu sehen", + "outOfStock": "Out of Stock", + "fromXProducts": "ab {{count}} Produkten" }, "search": { "placeholder": "Du kannst mich nach Cannabissorten fragen...", - "recording": "Aufnahme läuft..." + "recording": "Aufnahme läuft...", + "searchProducts": "Produkte suchen..." + }, + "sorting": { + "name": "Name", + "searchField": "Suchbegriff", + "priceLowHigh": "Preis: Niedrig zu Hoch", + "priceHighLow": "Preis: Hoch zu Niedrig" }, "chat": { "privacyRead": "Gelesen & Akzeptiert" @@ -90,6 +116,7 @@ export default { }, "prices": { "free": "kostenlos", + "freeFrom100": "(kostenlos ab 100€)", "dhl": "6,99 €", "dpd": "4,90 €", "sperrgut": "28,99 €" @@ -146,11 +173,11 @@ export default { "batteriegesetzhinweise": "Batteriegesetzhinweise", "widerrufsrecht": "Widerrufsrecht" } - }, + }, "titles": { - "home": "ine annabis eeds & uttings", - "aktionen": "tuelle ktionen & gebote", - "filiale": "nsere iliale in resden" + "home": "ine annabis eeds & uttings", // Fine Cannabis Seeds & Cuttings (the text in the string has special characters, translate using the comment) + "aktionen": "tuelle ktionen & gebote", // Aktuelle Aktionen & Angebote (the text in the string has special characters, translate using the comment) + "filiale": "nsere iliale in resden" // Unsere Filiale in Dresden (the text in the string has special characters, translate using the comment) }, "sections": { "seeds": "Seeds", diff --git a/src/i18n/locales/el/translation.js b/src/i18n/locales/el/translation.js new file mode 100644 index 0000000..1ef60b4 --- /dev/null +++ b/src/i18n/locales/el/translation.js @@ -0,0 +1,231 @@ +export default { + "locale": { + "code": "el-GR" + }, + "navigation": { + "home": "Αρχική", + "aktionen": "Ενέργειες", + "filiale": "Υποκατάστημα", + "categories": "Κατηγορίες", + "categoriesOpen": "Ανοιχτές κατηγορίες", + "categoriesClose": "Κλείσιμο κατηγοριών", + "otherCategories": "Άλλες κατηγορίες" + }, + "auth": { + "login": "Σύνδεση", + "register": "Εγγραφή", + "logout": "Αποσύνδεση", + "profile": "Προφίλ", + "email": "Email", + "password": "Κωδικός", + "confirmPassword": "Επιβεβαίωση κωδικού", + "forgotPassword": "Ξεχάσατε τον κωδικό;", + "loginWithGoogle": "Σύνδεση με Google", + "or": "Ή", + "privacyAccept": "Κάνοντας κλικ στο \"Σύνδεση με Google\", αποδέχομαι τον", + "privacyPolicy": "Πολιτική Απορρήτου", + "passwordMinLength": "Ο κωδικός πρέπει να είναι τουλάχιστον 8 χαρακτήρες", + "newPasswordMinLength": "Ο νέος κωδικός πρέπει να είναι τουλάχιστον 8 χαρακτήρες", + "menu": { + "profile": "Προφίλ", + "checkout": "Ολοκλήρωση αγοράς", + "orders": "Παραγγελίες", + "settings": "Ρυθμίσεις", + "adminDashboard": "Πίνακας διαχείρισης", + "adminUsers": "Διαχειριστές" + } + }, + "cart": { + "title": "Καλάθι Αγορών", + "empty": "κενό", + "addToCart": "Προσθήκη στο καλάθι", + "preorderCutting": "Προπαραγγελία ως κοψίματα", + "continueShopping": "Συνέχεια αγορών", + "proceedToCheckout": "Προχώρησε στην ολοκλήρωση", + "productCount": "{{count}} {{count, plural, one {προϊόν} other {προϊόντα}}}", + "removeFromCart": "Αφαίρεση από το καλάθι", + "openCart": "Άνοιγμα καλαθιού", + "availableFrom": "Από {{date}}", + "backToOrder": "← Πίσω στην παραγγελία", + "sync": { + "title": "Συγχρονισμός καλαθιού", + "description": "Έχετε αποθηκευμένο καλάθι στον λογαριασμό σας. Παρακαλούμε επιλέξτε πώς να προχωρήσετε:", + "deleteServer": "Διαγραφή server καλαθιού", + "useServer": "Χρήση server καλαθιού", + "merge": "Συγχώνευση καλαθιών", + "currentCart": "Το τρέχον καλάθι σας", + "serverCart": "Αποθηκευμένο καλάθι στο προφίλ σας" + } + }, + "product": { + "loading": "Φορτώνει το προϊόν...", + "notFound": "Το προϊόν δεν βρέθηκε", + "notFoundDescription": "Το αναζητούμενο προϊόν δεν υπάρχει ή έχει διαγραφεί.", + "backToHome": "Επιστροφή στην αρχική σελίδα", + "error": "Σφάλμα", + "articleNumber": "Αριθμός άρθρου", + "manufacturer": "Κατασκευαστής", + "inclVat": "περιλαμβανομένου {{vat}}% ΦΠΑ", + "priceUnit": "{{price}}/{{unit}}", + "new": "Νέο", + "arriving": "Άφιξη:", + "inclVatFooter": "περιλαμβάνονται {{vat}}% ΦΠΑ, *", + "availability": "Διαθεσιμότητα", + "inStock": "Σε_stock", + "comingSoon": "Έρχεται σύντομα", + "deliveryTime": "Χρόνος παράδοσης", + "inclShort": "περ.", + "vatShort": "ΦΠΑ", + "countDisplay": { + "noProducts": "0 προϊόντα", + "oneProduct": "1 προϊόν", + "multipleProducts": "{{count}} προϊόντα", + "filteredProducts": "{{filtered}} από {{total}} προϊόντα", + "filteredOneProduct": "{{filtered}} από 1 προϊόν" + }, + "removeFiltersToSee": "Αφαιρέστε τα φίλτρα για να δείτε προϊόντα", + "outOfStock": "Εκτός αποθέματος", + "fromXProducts": "από {{count}} προϊόντα" + }, + "search": { + "placeholder": "Μπορείτε να ρωτήσετε για ποικιλίες κάνναβης...", + "recording": "Καταγεγραμμένο...", + "searchProducts": "Αναζήτηση προϊόντων..." + }, + "sorting": { + "name": "Όνομα", + "searchField": "Όρος αναζήτησης", + "priceLowHigh": "Τιμή: Από χαμηλή σε υψηλή", + "priceHighLow": "Τιμή: Από υψηλή σε χαμηλή" + }, + "chat": { + "privacyRead": "Διαβάστηκε & Αποδεκτό" + }, + "delivery": { + "methods": { + "dhl": "DHL", + "dpd": "DPD", + "sperrgut": "Ογκώδη αντικείμενα", + "pickup": "Παραλαβή από το κατάστημα" + }, + "descriptions": { + "standard": "Τυπική αποστολή", + "standardFree": "Τυπική αποστολή - ΔΩΡΕΑΝ από €100 σε αγαθά!", + "notAvailable": "όχι επιλέξιμο επειδή ένα ή περισσότερα αντικείμενα μπορούν να παραληφθούν μόνο αυτοπροσώπως", + "bulky": "Για μεγάλα και βαριά αντικείμενα" + }, + "prices": { + "free": "δωρεάν", + "freeFrom100": "(δωρεάν από €100)", + "dhl": "€6.99", + "dpd": "€4.90", + "sperrgut": "€28.99" + }, + "times": { + "cutting14Days": "Χρόνος παράδοσης: 14 ημέρες", + "standard2to3Days": "Χρόνος παράδοσης: 2-3 ημέρες", + "supplier7to9Days": "Χρόνος παράδοσης: 7-9 ημέρες" + } + }, + "checkout": { + "invoiceAddress": "Διεύθυνση χρέωσης", + "deliveryAddress": "Διεύθυνση παράδοσης", + "saveForFuture": "Αποθήκευση για μελλοντικές παραγγελίες", + "pickupDate": "Για ποια ημερομηνία επιθυμείτε παραλαβή των κοψιμάτων;", + "note": "Σημείωση", + "sameAddress": "Η διεύθυνση παράδοσης είναι η ίδια με αυτή της χρέωσης", + "termsAccept": "Έχω διαβάσει τους όρους και προϋποθέσεις, την πολιτική απορρήτου και την πολιτική ακύρωσης" + }, + "payment": { + "successful": "Η πληρωμή ολοκληρώθηκε με επιτυχία!", + "failed": "Αποτυχία πληρωμής", + "orderCompleted": "🎉 Η παραγγελία σας ολοκληρώθηκε επιτυχώς! Τώρα μπορείτε να δείτε τις παραγγελίας σας.", + "orderProcessing": "Η πληρωμή σας επεξεργάστηκε επιτυχώς. Η παραγγελία θα ολοκληρωθεί αυτόματα.", + "paymentError": "Δεν μπόρεσε να επεξεργαστεί η πληρωμή σας. Παρακαλώ δοκιμάστε ξανά ή επιλέξτε άλλη μέθοδο πληρωμής.", + "viewOrders": "Προβολή παραγγελιών" + }, + "filters": { + "sorting": "Ταξινόμηση", + "perPage": "ανά σελίδα", + "availability": "Διαθεσιμότητα", + "manufacturer": "Κατασκευαστής" + }, + "tax": { + "vat": "ΦΠΑ", + "vat7": "7% ΦΠΑ", + "vat19": "19% ΦΠΑ", + "vat19WithShipping": "19% ΦΠΑ (συν μεταφορικά)", + "totalNet": "Σύνολο καθαρού ποσού", + "totalGross": "Σύνολο με φόρους χωρίς μεταφορικά", + "subtotal": "Μερικό σύνολο" + }, + "footer": { + "hours": "Σαβ 11-19", + "address": "Trachenberger Straße 14 - Δρέσδη", + "location": "Μεταξύ σταθμού Pieschen και Piazza Trachenberger", + "allPricesIncl": "* Όλες οι τιμές περιλαμβάνουν νόμιμο ΦΠΑ, συν μεταφορικά", + "copyright": "© {{year}} GrowHeads.gr", + "legal": { + "datenschutz": "Πολιτική απορρήτου", + "agb": "Όροι και Προϋποθέσεις", + "sitemap": "Χάρτης ιστοτόπου", + "impressum": "Πνευματικά δικαιώματα", + "batteriegesetzhinweise": "Νομοθεσία μπαταριών", + "widerrufsrecht": "Δικαίωμα υπαναχώρησης" + } + }, + "titles": { + "home": "ενά ανάβη ειδης & ιτtings", + "aktionen": "τtελλες κtώσεις & έγγετα", + "filiale": "ο υλiαλε in ρεισδεn" + }, + "sections": { + "seeds": "Σπόροι", + "stecklinge": "Κοψίματα", + "oilPress": "Ενοικίαση πρέσας λαδιού", + "thcTest": "Δοκιμή THC", + "address1": "Trachenberger Straße 14", + "address2": "01129 Δρέσδη" + }, + "pages": { + "oilPress": { + "title": "Ενοικίαση πρέσας λαδιού", + "comingSoon": "Το περιεχόμενο έρχεται σύντομα..." + }, + "thcTest": { + "title": "Δοκιμή THC", + "comingSoon": "Το περιεχόμενο έρχεται σύντομα..." + } + }, + "orders": { + "status": { + "new": "Σε εξέλιξη", + "pending": "Νέο", + "processing": "Σε εξέλιξη", + "cancelled": "Ακυρώθηκε", + "shipped": "Αποστείλαμε", + "delivered": "Παραδόθηκε", + "return": "Επιστροφή", + "partialReturn": "Μερική επιστροφή", + "partialDelivered": "Μερική παράδοση" + } + }, + "common": { + "loading": "Φόρτωση...", + "error": "Σφάλμα", + "close": "Κλείσιμο", + "save": "Αποθήκευση", + "cancel": "Ακύρωση", + "ok": "Εντάξει", + "yes": "Ναι", + "no": "Όχι", + "next": "Επόμενο", + "back": "Πίσω", + "edit": "Επεξεργασία", + "delete": "Διαγραφή", + "add": "Προσθήκη", + "remove": "Αφαίρεση", + "products": "Προϊόντα", + "product": "Προϊόν" + } +}; diff --git a/src/i18n/locales/en/translation.js b/src/i18n/locales/en/translation.js index 0afab67..aafaab0 100644 --- a/src/i18n/locales/en/translation.js +++ b/src/i18n/locales/en/translation.js @@ -1,11 +1,15 @@ export default { + "locale": { + "code": "en-US" // de-DE + }, "navigation": { "home": "Home", // Startseite - "aktionen": "Actions", // Aktionen - "filiale": "Store", // Filiale + "aktionen": "Promotions", // Aktionen + "filiale": "Branch", // Filiale "categories": "Categories", // Kategorien - "categoriesOpen": "Open Categories", // Kategorien öffnen - "categoriesClose": "Close Categories" // Kategorien schließen + "categoriesOpen": "Open categories", // Kategorien öffnen + "categoriesClose": "Close categories", // Kategorien schließen + "otherCategories": "Other categories" // Andere Kategorien }, "auth": { "login": "Login", // Anmelden @@ -14,14 +18,14 @@ export default { "profile": "Profile", // Profil "email": "Email", // E-Mail "password": "Password", // Passwort - "confirmPassword": "Confirm Password", // Passwort bestätigen - "forgotPassword": "Forgot Password?", // Passwort vergessen? + "confirmPassword": "Confirm password", // Passwort bestätigen + "forgotPassword": "Forgot password?", // Passwort vergessen? "loginWithGoogle": "Sign in with Google", // Mit Google anmelden "or": "OR", // ODER "privacyAccept": "By clicking \"Sign in with Google\" I accept the", // Mit dem Click auf \"Mit Google anmelden\" akzeptiere ich die "privacyPolicy": "Privacy Policy", // Datenschutzbestimmungen "passwordMinLength": "Password must be at least 8 characters long", // Das Passwort muss mindestens 8 Zeichen lang sein - "newPasswordMinLength": "New password must be at least 8 characters long", // Das neue Passwort muss mindestens 8 Zeichen lang sein + "newPasswordMinLength": "The new password must be at least 8 characters long", // Das neue Passwort muss mindestens 8 Zeichen lang sein "menu": { "profile": "Profile", // Profil "checkout": "Checkout", // Bestellabschluss @@ -32,45 +36,67 @@ export default { } }, "cart": { - "title": "Shopping Cart", // Warenkorb + "title": "Cart", // Warenkorb "empty": "empty", // leer - "addToCart": "Add to Cart", // In den Korb - "preorderCutting": "Pre-order as Cutting", // Als Steckling vorbestellen - "continueShopping": "Continue Shopping", // Weiter einkaufen - "proceedToCheckout": "Proceed to Checkout", // Weiter zur Kasse + "addToCart": "Add to cart", // In den Korb + "preorderCutting": "Preorder as cutting", // Als Steckling vorbestellen + "continueShopping": "Continue shopping", // Weiter einkaufen + "proceedToCheckout": "Proceed to checkout", // Weiter zur Kasse + "productCount": "{{count}} {{count, plural, one {Product} other {Products}}}", // {{count}} {{count, plural, one {Produkt} other {Produkte}}} + "removeFromCart": "Remove from cart", // Aus dem Warenkorb entfernen + "openCart": "Open cart", // Warenkorb öffnen + "availableFrom": "Available from {{date}}", // Ab {{date}} + "backToOrder": "← Back to order", // ← Zurück zur Bestellung "sync": { - "title": "Cart Synchronization", // Warenkorb-Synchronisierung - "description": "You have a saved cart in your account. Please choose how you would like to proceed:", // Sie haben einen gespeicherten Warenkorb in ihrem Account. Bitte wählen Sie, wie Sie verfahren möchten: - "deleteServer": "Delete Server Cart", // Server-Warenkorb löschen - "useServer": "Use Server Cart", // Server-Warenkorb übernehmen - "merge": "Merge Carts", // Warenkörbe zusammenführen - "currentCart": "Your Current Cart", // Ihr aktueller Warenkorb - "serverCart": "Cart Saved in Your Profile" // In Ihrem Profil gespeicherter Warenkorb + "title": "Cart synchronization", // Warenkorb-Synchronisierung + "description": "You have a saved cart in your account. Please choose how you want to proceed:", // Sie haben einen gespeicherten Warenkorb in ihrem Account. Bitte wählen Sie, wie Sie verfahren möchten: + "deleteServer": "Delete server cart", // Server-Warenkorb löschen + "useServer": "Use server cart", // Server-Warenkorb übernehmen + "merge": "Merge carts", // Warenkörbe zusammenführen + "currentCart": "Your current cart", // Ihr aktueller Warenkorb + "serverCart": "Cart saved in your profile" // In Ihrem Profil gespeicherter Warenkorb } }, "product": { - "loading": "Product is loading...", // Produkt wird geladen... + "loading": "Loading product...", // Produkt wird geladen... "notFound": "Product not found", // Produkt nicht gefunden - "notFoundDescription": "The requested product does not exist or has been removed.", // Das gesuchte Produkt existiert nicht oder wurde entfernt. - "backToHome": "Back to Home", // Zurück zur Startseite + "notFoundDescription": "The product you are looking for does not exist or has been removed.", // Das gesuchte Produkt existiert nicht oder wurde entfernt. + "backToHome": "Back to home", // Zurück zur Startseite "error": "Error", // Fehler - "articleNumber": "Article Number", // Artikelnummer + "articleNumber": "Article number", // Artikelnummer "manufacturer": "Manufacturer", // Hersteller "inclVat": "incl. {{vat}}% VAT", // inkl. {{vat}}% MwSt. "priceUnit": "{{price}}/{{unit}}", // {{price}}/{{unit}} "new": "New", // Neu - "arriving": "Arrival:", // Ankunft: + "arriving": "Arriving:", // Ankunft: "inclVatFooter": "incl. {{vat}}% VAT,*", // incl. {{vat}}% USt.,* "availability": "Availability", // Verfügbarkeit "inStock": "in stock", // auf Lager - "comingSoon": "Coming Soon", // Bald verfügbar - "deliveryTime": "Delivery Time", // Lieferzeit + "comingSoon": "Coming soon", // Bald verfügbar + "deliveryTime": "Delivery time", // Lieferzeit "inclShort": "incl.", // inkl. - "vatShort": "VAT" // MwSt. + "vatShort": "VAT", // MwSt. + "countDisplay": { + "noProducts": "0 products", // 0 Produkte + "oneProduct": "1 product", // 1 Produkt + "multipleProducts": "{{count}} products", // {{count}} Produkte + "filteredProducts": "{{filtered}} of {{total}} products", // {{filtered}} von {{total}} Produkten + "filteredOneProduct": "{{filtered}} of 1 product" // {{filtered}} von 1 Produkt + }, + "removeFiltersToSee": "Remove filters to see products", // Entferne Filter um Produkte zu sehen + "outOfStock": "Out of stock", // Out of Stock + "fromXProducts": "from {{count}} products" // ab {{count}} Produkten }, "search": { "placeholder": "You can ask me about cannabis strains...", // Du kannst mich nach Cannabissorten fragen... - "recording": "Recording..." // Aufnahme läuft... + "recording": "Recording...", // Aufnahme läuft... + "searchProducts": "Search products..." // Produkte suchen... + }, + "sorting": { + "name": "Name", // Name + "searchField": "Search term", // Suchbegriff + "priceLowHigh": "Price: Low to High", // Preis: Niedrig zu Hoch + "priceHighLow": "Price: High to Low" // Preis: Hoch zu Niedrig }, "chat": { "privacyRead": "Read & Accepted" // Gelesen & Akzeptiert @@ -79,17 +105,18 @@ export default { "methods": { "dhl": "DHL", // DHL "dpd": "DPD", // DPD - "sperrgut": "Oversized Goods", // Sperrgut - "pickup": "Pickup at Store" // Abholung in der Filiale + "sperrgut": "Bulky goods", // Sperrgut + "pickup": "Pickup at branch" // Abholung in der Filiale }, "descriptions": { - "standard": "Standard Shipping", // Standardversand - "standardFree": "Standard Shipping - FREE from €100 order value!", // Standardversand - KOSTENLOS ab 100€ Warenwert! - "notAvailable": "not selectable because one or more items can only be picked up", // nicht auswählbar weil ein oder mehrere Artikel nur abgeholt werden können + "standard": "Standard shipping", // Standardversand + "standardFree": "Standard shipping - FREE from €100 order value!", // Standardversand - KOSTENLOS ab 100€ Warenwert! + "notAvailable": "Not selectable because one or more items can only be picked up", // nicht auswählbar weil ein oder mehrere Artikel nur abgeholt werden können "bulky": "For large and heavy items" // Für große und schwere Artikel }, "prices": { "free": "free", // kostenlos + "freeFrom100": "(free from €100)", // (kostenlos ab 100€) "dhl": "€6.99", // 6,99 € "dpd": "€4.90", // 4,90 € "sperrgut": "€28.99" // 28,99 € @@ -101,21 +128,21 @@ export default { } }, "checkout": { - "invoiceAddress": "Billing Address", // Rechnungsadresse - "deliveryAddress": "Delivery Address", // Lieferadresse + "invoiceAddress": "Invoice address", // Rechnungsadresse + "deliveryAddress": "Delivery address", // Lieferadresse "saveForFuture": "Save for future orders", // Für zukünftige Bestellungen speichern - "pickupDate": "For which date is the pickup of the cuttings desired?", // Für welchen Termin ist die Abholung der Stecklinge gewünscht? + "pickupDate": "For which date do you want to pick up the cuttings?", // Für welchen Termin ist die Abholung der Stecklinge gewünscht? "note": "Note", // Anmerkung - "sameAddress": "Delivery address is identical to billing address", // Lieferadresse ist identisch mit Rechnungsadresse - "termsAccept": "I have read the Terms & Conditions, Privacy Policy and the provisions on the right of withdrawal" // Ich habe die AGBs, die Datenschutzerklärung und die Bestimmungen zum Widerrufsrecht gelesen + "sameAddress": "Delivery address is the same as invoice address", // Lieferadresse ist identisch mit Rechnungsadresse + "termsAccept": "I have read the Terms and Conditions, Privacy Policy, and the Right of Withdrawal information" // Ich habe die AGBs, die Datenschutzerklärung und die Bestimmungen zum Widerrufsrecht gelesen }, "payment": { "successful": "Payment successful!", // Zahlung erfolgreich! "failed": "Payment failed", // Zahlung fehlgeschlagen "orderCompleted": "🎉 Your order has been successfully completed! You can now view your orders.", // 🎉 Ihre Bestellung wurde erfolgreich abgeschlossen! Sie können jetzt Ihre Bestellungen einsehen. - "orderProcessing": "Your payment has been successfully processed. The order will be completed automatically.", // Ihre Zahlung wurde erfolgreich verarbeitet. Die Bestellung wird automatisch abgeschlossen. - "paymentError": "Your payment could not be processed. Please try again or select a different payment method.", // Ihre Zahlung konnte nicht verarbeitet werden. Bitte versuchen Sie es erneut oder wählen Sie eine andere Zahlungsmethode. - "viewOrders": "View My Orders" // Zu meinen Bestellungen + "orderProcessing": "Your payment was processed successfully. The order will be completed automatically.", // Ihre Zahlung wurde erfolgreich verarbeitet. Die Bestellung wird automatisch abgeschlossen. + "paymentError": "Your payment could not be processed. Please try again or choose another payment method.", // Ihre Zahlung konnte nicht verarbeitet werden. Bitte versuchen Sie es erneut oder wählen Sie eine andere Zahlungsmethode. + "viewOrders": "View my orders" // Zu meinen Bestellungen }, "filters": { "sorting": "Sorting", // Sortierung @@ -128,41 +155,41 @@ export default { "vat7": "7% Value Added Tax", // 7% Mehrwertsteuer "vat19": "19% Value Added Tax", // 19% Mehrwertsteuer "vat19WithShipping": "19% Value Added Tax (incl. shipping)", // 19% Mehrwertsteuer (inkl. Versand) - "totalNet": "Total Net Price", // Gesamtnettopreis - "totalGross": "Total Gross Price without Shipping", // Gesamtbruttopreis ohne Versand + "totalNet": "Total net price", // Gesamtnettopreis + "totalGross": "Total gross price excluding shipping", // Gesamtbruttopreis ohne Versand "subtotal": "Subtotal" // Zwischensumme }, "footer": { "hours": "Sat 11-19", // Sa 11-19 "address": "Trachenberger Straße 14 - Dresden", // Trachenberger Straße 14 - Dresden - "location": "Between Pieschen station and Trachenberger Platz", // Zwischen Haltepunkt Pieschen und Trachenberger Platz - "allPricesIncl": "* All prices incl. statutory VAT, plus shipping", // * Alle Preise inkl. gesetzlicher USt., zzgl. Versand + "location": "Between Pieschen stop and Trachenberger Platz", // Zwischen Haltepunkt Pieschen und Trachenberger Platz + "allPricesIncl": "* All prices incl. legal VAT, plus shipping", // * Alle Preise inkl. gesetzlicher USt., zzgl. Versand "copyright": "© {{year}} GrowHeads.de", // © {{year}} GrowHeads.de "legal": { - "datenschutz": "Privacy Policy", // Datenschutz + "datenschutz": "Privacy", // Datenschutz "agb": "Terms & Conditions", // AGB "sitemap": "Sitemap", // Sitemap "impressum": "Imprint", // Impressum - "batteriegesetzhinweise": "Battery Law Information", // Batteriegesetzhinweise + "batteriegesetzhinweise": "Battery Act Notes", // Batteriegesetzhinweise "widerrufsrecht": "Right of Withdrawal" // Widerrufsrecht } - }, + }, "titles": { - "home": "Cannabis Seeds & Cuttings", // ine annabis eeds & uttings - "aktionen": "Current Actions & Offers", // tuelle ktionen & gebote - "filiale": "Our Store in Dresden" // nsere iliale in resden + "home": "Fine Cannabis Seeds & Cuttings", // Fine Cannabis Seeds & Cuttings (the text in the string has special characters, translate using the comment) + "aktionen": "Current Promotions & Offers", // Aktuelle Aktionen & Angebote (the text in the string has special characters, translate using the comment) + "filiale": "Our Branch in Dresden" // Unsere Filiale in Dresden (the text in the string has special characters, translate using the comment) }, "sections": { "seeds": "Seeds", // Seeds "stecklinge": "Cuttings", // Stecklinge - "oilPress": "Rent Oil Press", // Ölpresse ausleihen + "oilPress": "Borrow oil press", // Ölpresse ausleihen "thcTest": "THC Test", // THC Test "address1": "Trachenberger Straße 14", // Trachenberger Straße 14 "address2": "01129 Dresden" // 01129 Dresden }, "pages": { "oilPress": { - "title": "Rent Oil Press", // Ölpresse ausleihen + "title": "Borrow oil press", // Ölpresse ausleihen "comingSoon": "Content coming soon..." // Inhalt kommt bald... }, "thcTest": { @@ -172,15 +199,15 @@ export default { }, "orders": { "status": { - "new": "processing", // in Bearbeitung + "new": "Processing", // in Bearbeitung "pending": "New", // Neu "processing": "Processing", // in Bearbeitung "cancelled": "Cancelled", // Storniert "shipped": "Shipped", // Verschickt "delivered": "Delivered", // Geliefert "return": "Return", // Retoure - "partialReturn": "Partial Return", // Teil Retoure - "partialDelivered": "Partially Delivered" // Teil geliefert + "partialReturn": "Partial return", // Teil Retoure + "partialDelivered": "Partially delivered" // Teil geliefert } }, "common": { @@ -201,4 +228,4 @@ export default { "products": "Products", // Produkte "product": "Product" // Produkt } -} \ No newline at end of file +}; diff --git a/src/i18n/locales/es/translation.js b/src/i18n/locales/es/translation.js index 25e60be..5421037 100644 --- a/src/i18n/locales/es/translation.js +++ b/src/i18n/locales/es/translation.js @@ -1,204 +1,231 @@ export default { + "locale": { + "code": "es-ES" + }, "navigation": { - "home": "Inicio", // Startseite - "aktionen": "Acciones", // Aktionen - "filiale": "Tienda", // Filiale - "categories": "Categorías", // Kategorien - "categoriesOpen": "Abrir Categorías", // Kategorien öffnen - "categoriesClose": "Cerrar Categorías" // Kategorien schließen + "home": "Inicio", + "aktionen": "Acciones", + "filiale": "Sucursal", + "categories": "Categorías", + "categoriesOpen": "Categorías abiertas", + "categoriesClose": "Cerrar categorías", + "otherCategories": "Otras categorías" }, "auth": { - "login": "Iniciar Sesión", // Anmelden - "register": "Registrarse", // Registrieren - "logout": "Cerrar Sesión", // Abmelden - "profile": "Perfil", // Profil - "email": "Correo Electrónico", // E-Mail - "password": "Contraseña", // Passwort - "confirmPassword": "Confirmar Contraseña", // Passwort bestätigen - "forgotPassword": "¿Olvidaste tu contraseña?", // Passwort vergessen? - "loginWithGoogle": "Iniciar sesión con Google", // Mit Google anmelden - "or": "O", // ODER - "privacyAccept": "Al hacer clic en \"Iniciar sesión con Google\" acepto la", // Mit dem Click auf \"Mit Google anmelden\" akzeptiere ich die - "privacyPolicy": "Política de Privacidad", // Datenschutzbestimmungen - "passwordMinLength": "La contraseña debe tener al menos 8 caracteres", // Das Passwort muss mindestens 8 Zeichen lang sein - "newPasswordMinLength": "La nueva contraseña debe tener al menos 8 caracteres", // Das neue Passwort muss mindestens 8 Zeichen lang sein + "login": "Iniciar sesión", + "register": "Registrarse", + "logout": "Cerrar sesión", + "profile": "Perfil", + "email": "Correo electrónico", + "password": "Contraseña", + "confirmPassword": "Confirmar contraseña", + "forgotPassword": "¿Olvidaste la contraseña?", + "loginWithGoogle": "Iniciar sesión con Google", + "or": "O", + "privacyAccept": "Al hacer clic en \"Iniciar sesión con Google\", acepto la", + "privacyPolicy": "Política de privacidad", + "passwordMinLength": "La contraseña debe tener al menos 8 caracteres", + "newPasswordMinLength": "La nueva contraseña debe tener al menos 8 caracteres", "menu": { - "profile": "Perfil", // Profil - "checkout": "Finalizar Compra", // Bestellabschluss - "orders": "Pedidos", // Bestellungen - "settings": "Configuración", // Einstellungen - "adminDashboard": "Panel de Administración", // Admin Dashboard - "adminUsers": "Usuarios Admin" // Admin Users + "profile": "Perfil", + "checkout": "Pagar", + "orders": "Pedidos", + "settings": "Configuraciones", + "adminDashboard": "Panel de administrador", + "adminUsers": "Usuarios admin" } }, "cart": { - "title": "Carrito de Compras", // Warenkorb - "empty": "vacío", // leer - "addToCart": "Agregar al Carrito", // In den Korb - "preorderCutting": "Preordenar como Esqueje", // Als Steckling vorbestellen - "continueShopping": "Continuar Comprando", // Weiter einkaufen - "proceedToCheckout": "Proceder al Pago", // Weiter zur Kasse + "title": "Carrito de compras", + "empty": "vacío", + "addToCart": "Agregar al carrito", + "preorderCutting": "Pre-orden como esquejes", + "continueShopping": "Continuar comprando", + "proceedToCheckout": "Proceder a pagar", + "productCount": "{{count}} {{count, plural, one {producto} other {productos}}}", + "removeFromCart": "Quitar del carrito", + "openCart": "Abrir carrito", + "availableFrom": "Desde {{date}}", + "backToOrder": "← Volver al pedido", "sync": { - "title": "Sincronización del Carrito", // Warenkorb-Synchronisierung - "description": "Tienes un carrito guardado en tu cuenta. Por favor elige cómo te gustaría proceder:", // Sie haben einen gespeicherten Warenkorb in ihrem Account. Bitte wählen Sie, wie Sie verfahren möchten: - "deleteServer": "Eliminar Carrito del Servidor", // Server-Warenkorb löschen - "useServer": "Usar Carrito del Servidor", // Server-Warenkorb übernehmen - "merge": "Combinar Carritos", // Warenkörbe zusammenführen - "currentCart": "Tu Carrito Actual", // Ihr aktueller Warenkorb - "serverCart": "Carrito Guardado en tu Perfil" // In Ihrem Profil gespeicherter Warenkorb + "title": "Sincronización del carrito", + "description": "Tienes un carrito guardado en tu cuenta. Por favor, elige cómo proceder:", + "deleteServer": "Eliminar carrito en servidor", + "useServer": "Usar carrito en servidor", + "merge": "Combinar carritos", + "currentCart": "Tu carrito actual", + "serverCart": "Carrito guardado en tu perfil" } }, "product": { - "loading": "Producto cargando...", // Produkt wird geladen... - "notFound": "Producto no encontrado", // Produkt nicht gefunden - "notFoundDescription": "El producto solicitado no existe o ha sido eliminado.", // Das gesuchte Produkt existiert nicht oder wurde entfernt. - "backToHome": "Volver al Inicio", // Zurück zur Startseite - "error": "Error", // Fehler - "articleNumber": "Número de Artículo", // Artikelnummer - "manufacturer": "Fabricante", // Hersteller - "inclVat": "incl. {{vat}}% IVA", // inkl. {{vat}}% MwSt. - "priceUnit": "{{price}}/{{unit}}", // {{price}}/{{unit}} - "new": "Nuevo", // Neu - "arriving": "Llegada:", // Ankunft: - "inclVatFooter": "incl. {{vat}}% IVA,*", // incl. {{vat}}% USt.,* - "availability": "Disponibilidad", // Verfügbarkeit - "inStock": "en stock", // auf Lager - "comingSoon": "Próximamente", // Bald verfügbar - "deliveryTime": "Tiempo de Entrega", // Lieferzeit - "inclShort": "incl.", // inkl. - "vatShort": "IVA" // MwSt. + "loading": "Cargando producto...", + "notFound": "Producto no encontrado", + "notFoundDescription": "El producto buscado no existe o ha sido eliminado.", + "backToHome": "Volver a la página principal", + "error": "Error", + "articleNumber": "Número de artículo", + "manufacturer": "Fabricante", + "inclVat": "incluyendo {{vat}}% IVA", + "priceUnit": "{{price}}/{{unit}}", + "new": "Nuevo", + "arriving": "Llegada:", + "inclVatFooter": "incluyendo {{vat}}% IVA, *", + "availability": "Disponibilidad", + "inStock": "En stock", + "comingSoon": "Próximamente", + "deliveryTime": "Tiempo de entrega", + "inclShort": "incl.", + "vatShort": "IVA", + "countDisplay": { + "noProducts": "0 productos", + "oneProduct": "1 producto", + "multipleProducts": "{{count}} productos", + "filteredProducts": "{{filtered}} de {{total}} productos", + "filteredOneProduct": "{{filtered}} de 1 producto" + }, + "removeFiltersToSee": "Eliminar filtros para ver productos", + "outOfStock": "Agotado", + "fromXProducts": "desde {{count}} productos" }, "search": { - "placeholder": "Puedes preguntarme sobre variedades de cannabis...", // Du kannst mich nach Cannabissorten fragen... - "recording": "Grabando..." // Aufnahme läuft... + "placeholder": "Puedes preguntarme por cepas de cannabis...", + "recording": "Grabando...", + "searchProducts": "Buscar productos..." + }, + "sorting": { + "name": "Nombre", + "searchField": "Término de búsqueda", + "priceLowHigh": "Precio: De menor a mayor", + "priceHighLow": "Precio: De mayor a menor" }, "chat": { - "privacyRead": "Leído y Aceptado" // Gelesen & Akzeptiert + "privacyRead": "Leído & Aceptado" }, "delivery": { "methods": { - "dhl": "DHL", // DHL - "dpd": "DPD", // DPD - "sperrgut": "Mercancía Voluminosa", // Sperrgut - "pickup": "Recoger en Tienda" // Abholung in der Filiale + "dhl": "DHL", + "dpd": "DPD", + "sperrgut": "Mercancía voluminoso", + "pickup": "Recogida en tienda" }, "descriptions": { - "standard": "Envío Estándar", // Standardversand - "standardFree": "Envío Estándar - ¡GRATIS desde €100 de compra!", // Standardversand - KOSTENLOS ab 100€ Warenwert! - "notAvailable": "no seleccionable porque uno o más artículos solo pueden ser recogidos", // nicht auswählbar weil ein oder mehrere Artikel nur abgeholt werden können - "bulky": "Para artículos grandes y pesados" // Für große und schwere Artikel + "standard": "Envío estándar", + "standardFree": "Envío estándar - ¡GRATIS a partir de €100 en productos!", + "notAvailable": "no seleccionable porque uno o más artículos solo se pueden recoger", + "bulky": "Para artículos grandes y pesados" }, "prices": { - "free": "gratis", // kostenlos - "dhl": "€6.99", // 6,99 € - "dpd": "€4.90", // 4,90 € - "sperrgut": "€28.99" // 28,99 € + "free": "gratis", + "freeFrom100": "(gratis desde €100)", + "dhl": "€6.99", + "dpd": "€4.90", + "sperrgut": "€28.99" }, "times": { - "cutting14Days": "Tiempo de entrega: 14 días", // Lieferzeit: 14 Tage - "standard2to3Days": "Tiempo de entrega: 2-3 días", // Lieferzeit: 2-3 Tage - "supplier7to9Days": "Tiempo de entrega: 7-9 días" // Lieferzeit: 7-9 Tage + "cutting14Days": "Tiempo de entrega: 14 días", + "standard2to3Days": "Tiempo de entrega: 2-3 días", + "supplier7to9Days": "Tiempo de entrega: 7-9 días" } }, "checkout": { - "invoiceAddress": "Dirección de Facturación", // Rechnungsadresse - "deliveryAddress": "Dirección de Entrega", // Lieferadresse - "saveForFuture": "Guardar para pedidos futuros", // Für zukünftige Bestellungen speichern - "pickupDate": "¿Para qué fecha se desea la recogida de los esquejes?", // Für welchen Termin ist die Abholung der Stecklinge gewünscht? - "note": "Nota", // Anmerkung - "sameAddress": "La dirección de entrega es idéntica a la dirección de facturación", // Lieferadresse ist identisch mit Rechnungsadresse - "termsAccept": "He leído los Términos y Condiciones, la Política de Privacidad y las disposiciones sobre el derecho de desistimiento" // Ich habe die AGBs, die Datenschutzerklärung und die Bestimmungen zum Widerrufsrecht gelesen + "invoiceAddress": "Dirección de facturación", + "deliveryAddress": "Dirección de entrega", + "saveForFuture": "Guardar para pedidos futuros", + "pickupDate": "¿Para qué fecha se desea la recogida de los esquejes?", + "note": "Nota", + "sameAddress": "La dirección de entrega es igual a la de facturación", + "termsAccept": "He leído los términos y condiciones, la política de privacidad y la política de cancelación" }, "payment": { - "successful": "¡Pago exitoso!", // Zahlung erfolgreich! - "failed": "Pago fallido", // Zahlung fehlgeschlagen - "orderCompleted": "🎉 ¡Su pedido ha sido completado exitosamente! Ahora puede ver sus pedidos.", // 🎉 Ihre Bestellung wurde erfolgreich abgeschlossen! Sie können jetzt Ihre Bestellungen einsehen. - "orderProcessing": "Su pago ha sido procesado exitosamente. El pedido será completado automáticamente.", // Ihre Zahlung wurde erfolgreich verarbeitet. Die Bestellung wird automatisch abgeschlossen. - "paymentError": "Su pago no pudo ser procesado. Por favor intente de nuevo o seleccione un método de pago diferente.", // Ihre Zahlung konnte nicht verarbeitet werden. Bitte versuchen Sie es erneut oder wählen Sie eine andere Zahlungsmethode. - "viewOrders": "Ver Mis Pedidos" // Zu meinen Bestellungen + "successful": "¡Pago exitoso!", + "failed": "Pago fallido", + "orderCompleted": "🎉 ¡Su pedido ha sido completado exitosamente! Ahora puede ver sus pedidos.", + "orderProcessing": "Su pago ha sido procesado con éxito. El pedido se completará automáticamente.", + "paymentError": "No se pudo procesar su pago. Por favor, inténtelo de nuevo o seleccione otro método de pago.", + "viewOrders": "Ver mis pedidos" }, "filters": { - "sorting": "Ordenar", // Sortierung - "perPage": "por página", // pro Seite - "availability": "Disponibilidad", // Verfügbarkeit - "manufacturer": "Fabricante" // Hersteller + "sorting": "Ordenar", + "perPage": "por página", + "availability": "Disponibilidad", + "manufacturer": "Fabricante" }, "tax": { - "vat": "Impuesto sobre el Valor Añadido", // Mehrwertsteuer - "vat7": "7% Impuesto sobre el Valor Añadido", // 7% Mehrwertsteuer - "vat19": "19% Impuesto sobre el Valor Añadido", // 19% Mehrwertsteuer - "vat19WithShipping": "19% Impuesto sobre el Valor Añadido (incl. envío)", // 19% Mehrwertsteuer (inkl. Versand) - "totalNet": "Precio Total Neto", // Gesamtnettopreis - "totalGross": "Precio Total Bruto sin Envío", // Gesamtbruttopreis ohne Versand - "subtotal": "Subtotal" // Zwischensumme + "vat": "IVA", + "vat7": "IVA 7%", + "vat19": "IVA 19%", + "vat19WithShipping": "IVA 19% (incl. envío)", + "totalNet": "Precio neto total", + "totalGross": "Precio bruto total sin envío", + "subtotal": "Subtotal" }, "footer": { - "hours": "Sáb 11-19", // Sa 11-19 - "address": "Trachenberger Straße 14 - Dresden", // Trachenberger Straße 14 - Dresden - "location": "Entre la estación Pieschen y Trachenberger Platz", // Zwischen Haltepunkt Pieschen und Trachenberger Platz - "allPricesIncl": "* Todos los precios incl. IVA legal, más envío", // * Alle Preise inkl. gesetzlicher USt., zzgl. Versand - "copyright": "© {{year}} GrowHeads.de", // © {{year}} GrowHeads.de + "hours": "Sáb 11-19", + "address": "Trachenberger Straße 14 - Dresde", + "location": "Entre la parada Pieschen y Trachenberger Platz", + "allPricesIncl": "* Todos los precios incluyen IVA legal, más envío", + "copyright": "© {{year}} GrowHeads.de", "legal": { - "datenschutz": "Política de Privacidad", // Datenschutz - "agb": "Términos y Condiciones", // AGB - "sitemap": "Mapa del Sitio", // Sitemap - "impressum": "Aviso Legal", // Impressum - "batteriegesetzhinweise": "Información sobre Ley de Baterías", // Batteriegesetzhinweise - "widerrufsrecht": "Derecho de Desistimiento" // Widerrufsrecht + "datenschutz": "Política de privacidad", + "agb": "Términos y condiciones", + "sitemap": "Mapa del sitio", + "impressum": "Aviso legal", + "batteriegesetzhinweise": "Notas sobre regulación de baterías", + "widerrufsrecht": "Derecho de desistimiento" } }, "titles": { - "home": "Semillas y Esquejes de Cannabis", // Cannabis Seeds & Cuttings - "aktionen": "Acciones y Ofertas Actuales", // Aktuelle Aktionen & Angebote - "filiale": "Nuestra Tienda en Dresden" // Unsere Filiale in Dresden + "home": "ine anabis eeds & uttings", + "aktionen": "tuelle ktionen & gebote", + "filiale": "ur iliale en resden" }, "sections": { - "seeds": "Semillas", // Seeds - "stecklinge": "Esquejes", // Stecklinge - "oilPress": "Alquilar Prensa de Aceite", // Ölpresse ausleihen - "thcTest": "Test de THC", // THC Test - "address1": "Trachenberger Straße 14", // Trachenberger Straße 14 - "address2": "01129 Dresden" // 01129 Dresden + "seeds": "Semillas", + "stecklinge": "Esquejes", + "oilPress": "Alquiler de prensa de aceite", + "thcTest": "Análisis de THC", + "address1": "Trachenberger Straße 14", + "address2": "01129 Dresde" }, "pages": { "oilPress": { - "title": "Alquilar Prensa de Aceite", // Ölpresse ausleihen - "comingSoon": "Contenido próximamente..." // Inhalt kommt bald... + "title": "Alquiler de prensa de aceite", + "comingSoon": "Contenido próximamente..." }, "thcTest": { - "title": "Test de THC", // THC Test - "comingSoon": "Contenido próximamente..." // Inhalt kommt bald... + "title": "Análisis de THC", + "comingSoon": "Contenido próximamente..." } }, "orders": { "status": { - "new": "procesando", // in Bearbeitung - "pending": "Nuevo", // Neu - "processing": "Procesando", // in Bearbeitung - "cancelled": "Cancelado", // Storniert - "shipped": "Enviado", // Verschickt - "delivered": "Entregado", // Geliefert - "return": "Devolución", // Retoure - "partialReturn": "Devolución Parcial", // Teil Retoure - "partialDelivered": "Entregado Parcialmente" // Teil geliefert + "new": "En progreso", + "pending": "Nuevo", + "processing": "En progreso", + "cancelled": "Cancelado", + "shipped": "Enviado", + "delivered": "Entregado", + "return": "Devolver", + "partialReturn": "Devolución parcial", + "partialDelivered": "Entrega parcial" } }, "common": { - "loading": "Cargando...", // Lädt... - "error": "Error", // Fehler - "close": "Cerrar", // Schließen - "save": "Guardar", // Speichern - "cancel": "Cancelar", // Abbrechen - "ok": "OK", // OK - "yes": "Sí", // Ja - "no": "No", // Nein - "next": "Siguiente", // Weiter - "back": "Atrás", // Zurück - "edit": "Editar", // Bearbeiten - "delete": "Eliminar", // Löschen - "add": "Agregar", // Hinzufügen - "remove": "Quitar", // Entfernen - "products": "Productos", // Produkte - "product": "Producto" // Produkt + "loading": "Cargando...", + "error": "Error", + "close": "Cerrar", + "save": "Guardar", + "cancel": "Cancelar", + "ok": "Aceptar", + "yes": "Sí", + "no": "No", + "next": "Siguiente", + "back": "Atrás", + "edit": "Editar", + "delete": "Eliminar", + "add": "Agregar", + "remove": "Quitar", + "products": "Productos", + "product": "Producto" } -} \ No newline at end of file +}; diff --git a/src/i18n/locales/fr/translation.js b/src/i18n/locales/fr/translation.js index 440561c..b106c00 100644 --- a/src/i18n/locales/fr/translation.js +++ b/src/i18n/locales/fr/translation.js @@ -1,46 +1,55 @@ export default { + "locale": { + "code": "fr-FR" + }, "navigation": { "home": "Accueil", - "aktionen": "Promotions", - "filiale": "Magasin", + "aktionen": "Actions", + "filiale": "Filiale", "categories": "Catégories", - "categoriesOpen": "Ouvrir les catégories", - "categoriesClose": "Fermer les catégories" + "categoriesOpen": "Catégories ouvertes", + "categoriesClose": "Fermer les catégories", + "otherCategories": "Autres catégories" }, "auth": { "login": "Se connecter", "register": "S'inscrire", "logout": "Se déconnecter", "profile": "Profil", - "email": "E-mail", + "email": "Email", "password": "Mot de passe", "confirmPassword": "Confirmer le mot de passe", - "forgotPassword": "Mot de passe oublié ?", + "forgotPassword": "Mot de passe oublié?", "loginWithGoogle": "Se connecter avec Google", "or": "OU", - "privacyAccept": "En cliquant sur \"Se connecter avec Google\", j'accepte les", - "privacyPolicy": "Conditions de confidentialité", - "passwordMinLength": "Le mot de passe doit contenir au moins 8 caractères", - "newPasswordMinLength": "Le nouveau mot de passe doit contenir au moins 8 caractères", + "privacyAccept": "En cliquant sur \"Se connecter avec Google\", j'accepte la", + "privacyPolicy": "Politique de Confidentialité", + "passwordMinLength": "Le mot de passe doit comporter au moins 8 caractères", + "newPasswordMinLength": "Le nouveau mot de passe doit comporter au moins 8 caractères", "menu": { "profile": "Profil", - "checkout": "Finaliser la commande", + "checkout": "Passer la commande", "orders": "Commandes", "settings": "Paramètres", - "adminDashboard": "Tableau de bord admin", - "adminUsers": "Utilisateurs admin" + "adminDashboard": "Tableau de Bord Admin", + "adminUsers": "Utilisateurs Admin" } }, "cart": { "title": "Panier", "empty": "vide", "addToCart": "Ajouter au panier", - "preorderCutting": "Précommander comme bouture", - "continueShopping": "Continuer les achats", - "proceedToCheckout": "Procéder au paiement", + "preorderCutting": "Pré-commande en boutures", + "continueShopping": "Continuer vos achats", + "proceedToCheckout": "Passer à la caisse", + "productCount": "{{count}} {{count, plural, one {produit} other {produits}}}", + "removeFromCart": "Retirer du panier", + "openCart": "Ouvrir le panier", + "availableFrom": "À partir du {{date}}", + "backToOrder": "← Retour à la commande", "sync": { "title": "Synchronisation du panier", - "description": "Vous avez un panier sauvegardé dans votre compte. Veuillez choisir comment procéder :", + "description": "Vous avez un panier sauvegardé dans votre compte. Veuillez choisir comment continuer :", "deleteServer": "Supprimer le panier du serveur", "useServer": "Utiliser le panier du serveur", "merge": "Fusionner les paniers", @@ -50,49 +59,67 @@ export default { }, "product": { "loading": "Chargement du produit...", - "notFound": "Produit introuvable", + "notFound": "Produit non trouvé", "notFoundDescription": "Le produit recherché n'existe pas ou a été supprimé.", - "backToHome": "Retour à l'accueil", + "backToHome": "Retour à la page d'accueil", "error": "Erreur", - "articleNumber": "Numéro d'article", + "articleNumber": "Numéro d’article", "manufacturer": "Fabricant", - "inclVat": "TVA {{vat}}% incluse", + "inclVat": "TTC {{vat}}%", "priceUnit": "{{price}}/{{unit}}", "new": "Nouveau", - "arriving": "Arrivée :", - "inclVatFooter": "TVA {{vat}}% incluse,*", + "arriving": "Arrivée:", + "inclVatFooter": "TTC {{vat}}%, *", "availability": "Disponibilité", - "inStock": "en stock", + "inStock": "En stock", "comingSoon": "Bientôt disponible", "deliveryTime": "Délai de livraison", - "inclShort": "incl.", - "vatShort": "TVA" + "inclShort": "TTC", + "vatShort": "TVA", + "countDisplay": { + "noProducts": "0 produits", + "oneProduct": "1 produit", + "multipleProducts": "{{count}} produits", + "filteredProducts": "{{filtered}} sur {{total}} produits", + "filteredOneProduct": "{{filtered}} sur 1 produit" + }, + "removeFiltersToSee": "Supprimer les filtres pour voir les produits", + "outOfStock": "Rupture de stock", + "fromXProducts": "à partir de {{count}} produits" }, "search": { "placeholder": "Vous pouvez me demander des variétés de cannabis...", - "recording": "Enregistrement en cours..." + "recording": "Enregistrement...", + "searchProducts": "Rechercher des produits..." + }, + "sorting": { + "name": "Nom", + "searchField": "Mot de recherche", + "priceLowHigh": "Prix : Faible à Élevé", + "priceHighLow": "Prix : Élevé à Faible" }, "chat": { - "privacyRead": "Lu et accepté" + "privacyRead": "Lu & Accepté" }, "delivery": { "methods": { "dhl": "DHL", "dpd": "DPD", - "sperrgut": "Colis volumineux", + "sperrgut": "Marchandises volumineuses", "pickup": "Retrait en magasin" }, "descriptions": { - "standard": "Livraison standard", - "standardFree": "Livraison standard - GRATUITE à partir de 100€ d'achat !", - "notAvailable": "non sélectionnable car un ou plusieurs articles ne peuvent être que retirés", + "standard": "Expédition standard", + "standardFree": "Expédition standard - GRATUITE à partir de 100 € d'achats!", + "notAvailable": "non sélectionnable car un ou plusieurs articles ne peuvent être récupérés qu'en magasin", "bulky": "Pour les articles volumineux et lourds" }, "prices": { "free": "gratuit", - "dhl": "6,99 €", - "dpd": "4,90 €", - "sperrgut": "28,99 €" + "freeFrom100": "(gratuit à partir de 100 €)", + "dhl": "€6.99", + "dpd": "€4.90", + "sperrgut": "€28.99" }, "times": { "cutting14Days": "Délai de livraison : 14 jours", @@ -103,16 +130,16 @@ export default { "checkout": { "invoiceAddress": "Adresse de facturation", "deliveryAddress": "Adresse de livraison", - "saveForFuture": "Sauvegarder pour les commandes futures", - "pickupDate": "Pour quelle date souhaitez-vous retirer les boutures ?", - "note": "Remarque", - "sameAddress": "L'adresse de livraison est identique à l'adresse de facturation", - "termsAccept": "J'ai lu les CGV, la déclaration de confidentialité et les conditions de droit de rétractation" + "saveForFuture": "Enregistrer pour les commandes futures", + "pickupDate": "Pour quelle date souhaite-t-on récupérer les boutures?", + "note": "Note", + "sameAddress": "L'adresse de livraison est la même que l'adresse de facturation", + "termsAccept": "J'ai lu les termes et conditions, la politique de confidentialité et la politique de rétractation" }, "payment": { "successful": "Paiement réussi !", "failed": "Échec du paiement", - "orderCompleted": "🎉 Votre commande a été finalisée avec succès ! Vous pouvez maintenant consulter vos commandes.", + "orderCompleted": "🎉 Votre commande a été complétée avec succès ! Vous pouvez maintenant consulter vos commandes.", "orderProcessing": "Votre paiement a été traité avec succès. La commande sera automatiquement finalisée.", "paymentError": "Votre paiement n'a pas pu être traité. Veuillez réessayer ou choisir un autre mode de paiement.", "viewOrders": "Voir mes commandes" @@ -124,45 +151,45 @@ export default { "manufacturer": "Fabricant" }, "tax": { - "vat": "Taxe sur la valeur ajoutée", + "vat": "TVA", "vat7": "7% TVA", "vat19": "19% TVA", - "vat19WithShipping": "19% TVA (frais de port inclus)", - "totalNet": "Prix total HT", - "totalGross": "Prix total TTC hors livraison", + "vat19WithShipping": "19% TVA (plus livraison)", + "totalNet": "Prix net total", + "totalGross": "Prix brut total sans livraison", "subtotal": "Sous-total" }, "footer": { - "hours": "Sa 11-19", + "hours": "Sam 11-19", "address": "Trachenberger Straße 14 - Dresden", - "location": "Entre l'arrêt Pieschen et Trachenberger Platz", - "allPricesIncl": "* Tous les prix TVA légale incluse, frais de port en sus", + "location": "Entre l'arrêt Pieschen et la place Trachenberger", + "allPricesIncl": "* Tous les prix incluent la TVA légale, plus la livraison", "copyright": "© {{year}} GrowHeads.de", "legal": { - "datenschutz": "Confidentialité", - "agb": "CGV", - "sitemap": "Plan du site", + "datenschutz": "Politique de Confidentialité", + "agb": "Conditions Générales", + "sitemap": "Plan du Site", "impressum": "Mentions légales", - "batteriegesetzhinweise": "Informations sur la loi sur les batteries", + "batteriegesetzhinweise": "Avis sur la régulation des batteries", "widerrufsrecht": "Droit de rétractation" } }, "titles": { - "home": "Graines et boutures de cannabis", - "aktionen": "Promotions et offres actuelles", - "filiale": "Notre magasin à Dresden" + "home": "ine anabis eeds & uttings", + "aktionen": "tuelle ktionen & gebote", + "filiale": "ur iliale en resden" }, "sections": { "seeds": "Graines", "stecklinge": "Boutures", - "oilPress": "Louer une presse à huile", + "oilPress": "Location de presse à huile", "thcTest": "Test THC", "address1": "Trachenberger Straße 14", "address2": "01129 Dresden" }, "pages": { "oilPress": { - "title": "Louer une presse à huile", + "title": "Location de presse à huile", "comingSoon": "Contenu à venir..." }, "thcTest": { @@ -172,33 +199,33 @@ export default { }, "orders": { "status": { - "new": "en cours de traitement", + "new": "En cours", "pending": "Nouveau", - "processing": "en cours de traitement", + "processing": "En traitement", "cancelled": "Annulé", "shipped": "Expédié", "delivered": "Livré", "return": "Retour", "partialReturn": "Retour partiel", - "partialDelivered": "Partiellement livré" + "partialDelivered": "Livraison partielle" } }, "common": { "loading": "Chargement...", "error": "Erreur", "close": "Fermer", - "save": "Sauvegarder", + "save": "Enregistrer", "cancel": "Annuler", "ok": "OK", "yes": "Oui", "no": "Non", "next": "Suivant", "back": "Retour", - "edit": "Modifier", + "edit": "Éditer", "delete": "Supprimer", "add": "Ajouter", "remove": "Retirer", "products": "Produits", "product": "Produit" } -} \ No newline at end of file +}; diff --git a/src/i18n/locales/hr/translation.js b/src/i18n/locales/hr/translation.js new file mode 100644 index 0000000..b82bd05 --- /dev/null +++ b/src/i18n/locales/hr/translation.js @@ -0,0 +1,231 @@ +export default { + "locale": { + "code": "hr-HR" + }, + "navigation": { + "home": "Početna", + "aktionen": "Akcije", + "filiale": "Podružnica", + "categories": "Kategorije", + "categoriesOpen": "Otvorene kategorije", + "categoriesClose": "Zatvoriti kategorije", + "otherCategories": "Druge kategorije" + }, + "auth": { + "login": "Prijava", + "register": "Registracija", + "logout": "Odjava", + "profile": "Profil", + "email": "E-mail", + "password": "Lozinka", + "confirmPassword": "Potvrdi lozinku", + "forgotPassword": "Zaboravili ste lozinku?", + "loginWithGoogle": "Prijava putem Googlea", + "or": "ILI", + "privacyAccept": "Klikom na \"Prijava putem Googlea\" prihvaćam", + "privacyPolicy": "Privatnostnu politiku", + "passwordMinLength": "Lozinka mora imati najmanje 8 znakova", + "newPasswordMinLength": "Nova lozinka mora imati najmanje 8 znakova", + "menu": { + "profile": "Profil", + "checkout": "Naplata", + "orders": "Narudžbe", + "settings": "Postavke", + "adminDashboard": "Administratorska ploča", + "adminUsers": "Administratorski korisnici" + } + }, + "cart": { + "title": "Košarica", + "empty": "prazno", + "addToCart": "Dodaj u košaricu", + "preorderCutting": "Pretplata kao reznice", + "continueShopping": "Nastavi kupovati", + "proceedToCheckout": "Nastavi na naplatu", + "productCount": "{{count}} {{count, plural, one {proizvod} other {proizvoda}}}", + "removeFromCart": "Ukloni iz košarice", + "openCart": "Otvori košaricu", + "availableFrom": "Od {{date}}", + "backToOrder": "← Natrag na narudžbu", + "sync": { + "title": "Sinkronizacija košarice", + "description": "Imate spremljenu košaricu na svom računu. Molimo odaberite kako želite nastaviti:", + "deleteServer": "Izbriši server košaricu", + "useServer": "Koristi server košaricu", + "merge": "Spajanje košarica", + "currentCart": "Vaša trenutačna košarica", + "serverCart": "Spremljena košarica na vašem profilu" + } + }, + "product": { + "loading": "Učitavanje proizvoda...", + "notFound": "Proizvod nije pronađen", + "notFoundDescription": "Traženi proizvod ne postoji ili je uklonjen.", + "backToHome": "Natrag na početnu stranicu", + "error": "Greška", + "articleNumber": "Broj artikla", + "manufacturer": "Proizvođač", + "inclVat": "uključujući {{vat}}% PDV", + "priceUnit": "{{price}}/{{unit}}", + "new": "Novi", + "arriving": "Dolazi:", + "inclVatFooter": "uključujući {{vat}}% PDV, *", + "availability": "Dostupnost", + "inStock": "Na skladištu", + "comingSoon": "Uskoro", + "deliveryTime": "Vrijeme isporuke", + "inclShort": "ukl.", + "vatShort": "PDV", + "countDisplay": { + "noProducts": "0 proizvoda", + "oneProduct": "1 proizvod", + "multipleProducts": "{{count}} proizvoda", + "filteredProducts": "{{filtered}} od {{total}} proizvoda", + "filteredOneProduct": "{{filtered}} od 1 proizvoda" + }, + "removeFiltersToSee": "Uklonite filtre za prikaz proizvoda", + "outOfStock": "Nema na skladištu", + "fromXProducts": "od {{count}} proizvoda" + }, + "search": { + "placeholder": "Možete me pitati o sorti kanabisa...", + "recording": "Snimanje...", + "searchProducts": "Pretraži proizvode..." + }, + "sorting": { + "name": "Ime", + "searchField": "Traženi pojam", + "priceLowHigh": "Cijena: Niska do Visoka", + "priceHighLow": "Cijena: Visoka do Niski" + }, + "chat": { + "privacyRead": "Pročitano & Prihvaćeno" + }, + "delivery": { + "methods": { + "dhl": "DHL", + "dpd": "DPD", + "sperrgut": "Velike i teške stvari", + "pickup": "Preuzimanje u trgovini" + }, + "descriptions": { + "standard": "Standardna dostava", + "standardFree": "Standardna dostava - BESPLATNO za narudžbe od 100 € i više!", + "notAvailable": "nije dostupno odabiru jer jedan ili više artikala može biti samo preuzeto", + "bulky": "Za velike i teške predmete" + }, + "prices": { + "free": "besplatno", + "freeFrom100": "(besplatno od 100 €)", + "dhl": "€6.99", + "dpd": "€4.90", + "sperrgut": "€28.99" + }, + "times": { + "cutting14Days": "Vrijeme isporuke: 14 dana", + "standard2to3Days": "Vrijeme isporuke: 2-3 dana", + "supplier7to9Days": "Vrijeme isporuke: 7-9 dana" + } + }, + "checkout": { + "invoiceAddress": "Adresa za fakturiranje", + "deliveryAddress": "Adresa za dostavu", + "saveForFuture": "Spremi za buduće narudžbe", + "pickupDate": "Za koji datum željena je preuzimanje reznica?", + "note": "Napomena", + "sameAddress": "Adresa za dostavu je ista kao i adresa za fakturiranje", + "termsAccept": "Pročitao/la sam uvjete i odredbe, privatnostnu politiku i politiku otkazivanja" + }, + "payment": { + "successful": "Uspješna uplata!", + "failed": "Uplata nije uspjela", + "orderCompleted": "🎉 Vaša narudžba je uspješno dovršena! Sada možete pregledati svoje narudžbe.", + "orderProcessing": "Vaša uplata je uspješno obrađena. Narudžba će se automatski dovršiti.", + "paymentError": "Vaša uplata nije mogla biti obrađena. Molimo pokušajte ponovno ili odaberite drugu metodu plaćanja.", + "viewOrders": "Pregledajte moje narudžbe" + }, + "filters": { + "sorting": "Sortiranje", + "perPage": "po stranici", + "availability": "Dostupnost", + "manufacturer": "Proizvođač" + }, + "tax": { + "vat": "PDV", + "vat7": "7% PDV", + "vat19": "19% PDV", + "vat19WithShipping": "19% PDV (uključujući dostavu)", + "totalNet": "Ukupna neto cijena", + "totalGross": "Ukupna bruto cijena bez dostave", + "subtotal": "Ukupno" + }, + "footer": { + "hours": "Sub 11-19", + "address": "Trachenberger Straße 14 - Dresden", + "location": "Između Pieschen stajališta i Trachenberger Platz-a", + "allPricesIncl": "* Sve cijene uključuju zakonski PDV, plus dostava", + "copyright": "© {{year}} GrowHeads.de", + "legal": { + "datenschutz": "Privatnostna politika", + "agb": "Uvjete i odredbe", + "sitemap": "Mapa stranice", + "impressum": "Impressum", + "batteriegesetzhinweise": "Napomene o regulativama za baterije", + "widerrufsrecht": "Pravo na odustajanje" + } + }, + "titles": { + "home": "ine anabis eeds & uttings", + "aktionen": "tuelle ktionen & gebote", + "filiale": "ur iliale u resdenu" + }, + "sections": { + "seeds": "Sjemenke", + "stecklinge": "Reznice", + "oilPress": "Najam tlačitelja ulja", + "thcTest": "THC test", + "address1": "Trachenberger Straße 14", + "address2": "01129 Dresden" + }, + "pages": { + "oilPress": { + "title": "Najam tlačitelja ulja", + "comingSoon": "Sadržaj uskoro..." + }, + "thcTest": { + "title": "THC test", + "comingSoon": "Sadržaj uskoro..." + } + }, + "orders": { + "status": { + "new": "U tijeku", + "pending": "Novi", + "processing": "U tijeku", + "cancelled": "Otkazano", + "shipped": "Poslano", + "delivered": "Dostavljeno", + "return": "Vraćanje", + "partialReturn": "Djelomično vraćanje", + "partialDelivered": "Djelomično dostavljeno" + } + }, + "common": { + "loading": "Učitavanje...", + "error": "Greška", + "close": "Zatvori", + "save": "Spremi", + "cancel": "Otkaži", + "ok": "U redu", + "yes": "Da", + "no": "Ne", + "next": "Dalje", + "back": "Natrag", + "edit": "Uredi", + "delete": "Izbriši", + "add": "Dodaj", + "remove": "Ukloni", + "products": "Proizvodi", + "product": "Proizvod" + } +}; diff --git a/src/i18n/locales/hu/translation.js b/src/i18n/locales/hu/translation.js index b7399f4..c419544 100644 --- a/src/i18n/locales/hu/translation.js +++ b/src/i18n/locales/hu/translation.js @@ -1,204 +1,231 @@ export default { + "locale": { + "code": "hu-HU" + }, "navigation": { - "home": "Főoldal", // Startseite - "aktionen": "Akciók", // Aktionen - "filiale": "Üzlet", // Filiale - "categories": "Kategóriák", // Kategorien - "categoriesOpen": "Kategóriák Megnyitása", // Kategorien öffnen - "categoriesClose": "Kategóriák Bezárása" // Kategorien schließen + "home": "Főoldal", + "aktionen": "Akciók", + "filiale": "Partner", + "categories": "Kategóriák", + "categoriesOpen": "Nyitott kategóriák", + "categoriesClose": "Bezárás kategóriák", + "otherCategories": "Egyéb kategóriák" }, "auth": { - "login": "Bejelentkezés", // Anmelden - "register": "Regisztráció", // Registrieren - "logout": "Kijelentkezés", // Abmelden - "profile": "Profil", // Profil - "email": "E-mail", // E-Mail - "password": "Jelszó", // Passwort - "confirmPassword": "Jelszó Megerősítése", // Passwort bestätigen - "forgotPassword": "Elfelejtett jelszó?", // Passwort vergessen? - "loginWithGoogle": "Bejelentkezés Google-lal", // Mit Google anmelden - "or": "VAGY", // ODER - "privacyAccept": "A \"Bejelentkezés Google-lal\" gombra kattintva elfogadom a", // Mit dem Click auf \"Mit Google anmelden\" akzeptiere ich die - "privacyPolicy": "Adatvédelmi Szabályzat", // Datenschutzbestimmungen - "passwordMinLength": "A jelszónak legalább 8 karakter hosszúnak kell lennie", // Das Passwort muss mindestens 8 Zeichen lang sein - "newPasswordMinLength": "Az új jelszónak legalább 8 karakter hosszúnak kell lennie", // Das neue Passwort muss mindestens 8 Zeichen lang sein + "login": "Bejelentkezés", + "register": "Regisztráció", + "logout": "Kijelentkezés", + "profile": "Profil", + "email": "Email", + "password": "Jelszó", + "confirmPassword": "Jelszó megerősítése", + "forgotPassword": "Elfelejtette jelszavát?", + "loginWithGoogle": "Bejelentkezés Google-lel", + "or": "VAGY", + "privacyAccept": "A \"Bejelentkezés Google-lel\" gombra kattintva elfogadom az", + "privacyPolicy": "Adatvédelmi irányelveket", + "passwordMinLength": "A jelszónak minimum 8 karakteresnek kell lennie", + "newPasswordMinLength": "Az új jelszónak minimum 8 karakteresnek kell lennie", "menu": { - "profile": "Profil", // Profil - "checkout": "Rendelés Lezárása", // Bestellabschluss - "orders": "Rendelések", // Bestellungen - "settings": "Beállítások", // Einstellungen - "adminDashboard": "Admin Irányítópult", // Admin Dashboard - "adminUsers": "Admin Felhasználók" // Admin Users + "profile": "Profil", + "checkout": "Fizetés", + "orders": "Rendelések", + "settings": "Beállítások", + "adminDashboard": "Admin panel", + "adminUsers": "Felhasználók" } }, "cart": { - "title": "Kosár", // Warenkorb - "empty": "üres", // leer - "addToCart": "Kosárba", // In den Korb - "preorderCutting": "Előrendelés Dugványként", // Als Steckling vorbestellen - "continueShopping": "Vásárlás Folytatása", // Weiter einkaufen - "proceedToCheckout": "Tovább a Pénztárhoz", // Weiter zur Kasse + "title": "Kosár", + "empty": "üres", + "addToCart": "Kosárba tesz", + "preorderCutting": "Előrendelés vagdosásként", + "continueShopping": "Folytassa a vásárlást", + "proceedToCheckout": "Tovább a fizetéshez", + "productCount": "{{count}} {{count, plural, one {termék} other {termékek}}}", + "removeFromCart": "Kivétel a kosárból", + "openCart": "Kosár megnyitása", + "availableFrom": "Elérhető {{date}}", + "backToOrder": "← Vissza a rendeléshez", "sync": { - "title": "Kosár Szinkronizálás", // Warenkorb-Synchronisierung - "description": "Van egy mentett kosara a fiókjában. Kérjük, válassza ki, hogyan szeretne folytatni:", // Sie haben einen gespeicherten Warenkorb in ihrem Account. Bitte wählen Sie, wie Sie verfahren möchten: - "deleteServer": "Szerver Kosár Törlése", // Server-Warenkorb löschen - "useServer": "Szerver Kosár Használata", // Server-Warenkorb übernehmen - "merge": "Kosarek Egyesítése", // Warenkörbe zusammenführen - "currentCart": "Jelenlegi Kosár", // Ihr aktueller Warenkorb - "serverCart": "Profiljában Mentett Kosár" // In Ihrem Profil gespeicherter Warenkorb + "title": "Kosár szinkronizálás", + "description": "Van egy mentett kosara a fiókjában. Kérjük, válassza ki, hogyan folytatja:", + "deleteServer": "Szerver kosár törlése", + "useServer": "Szerver kosár használata", + "merge": "Kosarak összeolvasztása", + "currentCart": "Aktuális kosara", + "serverCart": "Mentett kosár a profiljában" } }, "product": { - "loading": "Termék betöltése...", // Produkt wird geladen... - "notFound": "Termék nem található", // Produkt nicht gefunden - "notFoundDescription": "A keresett termék nem létezik vagy törölve lett.", // Das gesuchte Produkt existiert nicht oder wurde entfernt. - "backToHome": "Vissza a Főoldalra", // Zurück zur Startseite - "error": "Hiba", // Fehler - "articleNumber": "Cikkszám", // Artikelnummer - "manufacturer": "Gyártó", // Hersteller - "inclVat": "{{vat}}% ÁFA-val", // inkl. {{vat}}% MwSt. - "priceUnit": "{{price}}/{{unit}}", // {{price}}/{{unit}} - "new": "Új", // Neu - "arriving": "Érkezés:", // Ankunft: - "inclVatFooter": "{{vat}}% ÁFA-val,*", // incl. {{vat}}% USt.,* - "availability": "Elérhetőség", // Verfügbarkeit - "inStock": "raktáron", // auf Lager - "comingSoon": "Hamarosan Elérhető", // Bald verfügbar - "deliveryTime": "Szállítási Idő", // Lieferzeit - "inclShort": "áfával", // inkl. - "vatShort": "ÁFA" // MwSt. + "loading": "Termék betöltése...", + "notFound": "Termék nem található", + "notFoundDescription": "A keresett termék nem létezik, vagy törölték.", + "backToHome": "Vissza a főoldalra", + "error": "Hiba", + "articleNumber": "Cikkszám", + "manufacturer": "Gyártó", + "inclVat": "beleértve {{vat}}% ÁFA", + "priceUnit": "{{price}}/{{unit}}", + "new": "Új", + "arriving": "Érkezés:", + "inclVatFooter": "beleértve {{vat}}% ÁFA, *", + "availability": "Elérhetőség", + "inStock": "Raktáron", + "comingSoon": "Közel van", + "deliveryTime": "Szállítási idő", + "inclShort": "beleértve", + "vatShort": "ÁFA", + "countDisplay": { + "noProducts": "0 termék", + "oneProduct": "1 termék", + "multipleProducts": "{{count}} termék", + "filteredProducts": "{{filtered}} a(z) {{total}} termékből", + "filteredOneProduct": "{{filtered}} a 1 termékből" + }, + "removeFiltersToSee": "Szűrők eltávolítása a termékek megtekintéséhez", + "outOfStock": "Nincs raktáron", + "fromXProducts": "innen {{count}} termék" }, "search": { - "placeholder": "Kérdezhetsz a kannabisz fajtákról...", // Du kannst mich nach Cannabissorten fragen... - "recording": "Rögzítés..." // Aufnahme läuft... + "placeholder": "Kérdezhetek a kannabisz fajtákról...", + "recording": "Felvétel...", + "searchProducts": "Termékek keresése..." + }, + "sorting": { + "name": "Név", + "searchField": "Keresési kifejezés", + "priceLowHigh": "Ár: legolcsóbbtól legdrágábbig", + "priceHighLow": "Ár: legdrágábbtól legolcsóbbig" }, "chat": { - "privacyRead": "Elolvasva és Elfogadva" // Gelesen & Akzeptiert + "privacyRead": "Elolvastam & Elfogadom" }, "delivery": { "methods": { - "dhl": "DHL", // DHL - "dpd": "DPD", // DPD - "sperrgut": "Nagydarabos Áru", // Sperrgut - "pickup": "Átvétel az Üzletben" // Abholung in der Filiale + "dhl": "DHL", + "dpd": "DPR", + "sperrgut": "Hordozható tárgyak", + "pickup": "Átvétel az üzletben" }, "descriptions": { - "standard": "Normál Szállítás", // Standardversand - "standardFree": "Normál Szállítás - INGYENES 100€ rendelési érték felett!", // Standardversand - KOSTENLOS ab 100€ Warenwert! - "notAvailable": "nem választható, mert egy vagy több tétel csak átvétellel kapható", // nicht auswählbar weil ein oder mehrere Artikel nur abgeholt werden können - "bulky": "Nagy és nehéz tételekhez" // Für große und schwere Artikel + "standard": "Standard szállítás", + "standardFree": "Standard szállítás - INGYENES 100 € értékű áru felett!", + "notAvailable": "nem választható, mert egy vagy több tétel csak személyes átvétellel rendelhető", + "bulky": "Nagy és nehéz tételekhez" }, "prices": { - "free": "ingyenes", // kostenlos - "dhl": "6,99 €", // 6,99 € - "dpd": "4,90 €", // 4,90 € - "sperrgut": "28,99 €" // 28,99 € + "free": "ingyenes", + "freeFrom100": "(ingyenes 100 € felett)", + "dhl": "€6.99", + "dpd": "€4.90", + "sperrgut": "€28.99" }, "times": { - "cutting14Days": "Szállítási idő: 14 nap", // Lieferzeit: 14 Tage - "standard2to3Days": "Szállítási idő: 2-3 nap", // Lieferzeit: 2-3 Tage - "supplier7to9Days": "Szállítási idő: 7-9 nap" // Lieferzeit: 7-9 Tage + "cutting14Days": "Szállítási idő: 14 nap", + "standard2to3Days": "Szállítási idő: 2-3 nap", + "supplier7to9Days": "Szállítási idő: 7-9 nap" } }, "checkout": { - "invoiceAddress": "Számlázási Cím", // Rechnungsadresse - "deliveryAddress": "Szállítási Cím", // Lieferadresse - "saveForFuture": "Mentés jövőbeli rendelésekhez", // Für zukünftige Bestellungen speichern - "pickupDate": "Mikor kívánja átvenni a dugványokat?", // Für welchen Termin ist die Abholung der Stecklinge gewünscht? - "note": "Megjegyzés", // Anmerkung - "sameAddress": "A szállítási cím megegyezik a számlázási címmel", // Lieferadresse ist identisch mit Rechnungsadresse - "termsAccept": "Elolvastam az ÁSZF-et, az Adatvédelmi Szabályzatot és az elállási jog rendelkezéseit" // Ich habe die AGBs, die Datenschutzerklärung und die Bestimmungen zum Widerrufsrecht gelesen + "invoiceAddress": "Számlázási cím", + "deliveryAddress": "Szállítási cím", + "saveForFuture": "Mentés jövőbeli rendelésekhöz", + "pickupDate": "Milyen dátumra kér szállítást a vagdosásokról?", + "note": "Megjegyzés", + "sameAddress": "A szállítási cím megegyezik a számlázási címmel", + "termsAccept": "Elolvastam a szerződési feltételeket, az adatvédelmi irányelveket és a visszalépési jogot" }, "payment": { - "successful": "Sikeres fizetés!", // Zahlung erfolgreich! - "failed": "Sikertelen fizetés", // Zahlung fehlgeschlagen - "orderCompleted": "🎉 Rendelése sikeresen teljesítve! Most megtekintheti rendeléseit.", // 🎉 Ihre Bestellung wurde erfolgreich abgeschlossen! Sie können jetzt Ihre Bestellungen einsehen. - "orderProcessing": "Fizetése sikeresen feldolgozva. A rendelés automatikusan teljesül.", // Ihre Zahlung wurde erfolgreich verarbeitet. Die Bestellung wird automatisch abgeschlossen. - "paymentError": "Fizetése nem dolgozható fel. Kérjük, próbálja újra vagy válasszon másik fizetési módot.", // Ihre Zahlung konnte nicht verarbeitet werden. Bitte versuchen Sie es erneut oder wählen Sie eine andere Zahlungsmethode. - "viewOrders": "Rendeléseim Megtekintése" // Zu meinen Bestellungen + "successful": "Sikeres fizetés!", + "failed": "Fizetés nem sikerült", + "orderCompleted": "🎉 A rendelése sikeresen befejeződött! Most megtekintheti rendeléseit.", + "orderProcessing": "A fizetés sikeresen feldolgozva. A rendelés automatikusan be lesz fejezve.", + "paymentError": "A fizetést nem sikerült feldolgozni. Kérjük, próbálja újra, vagy válasszon más fizetési módot.", + "viewOrders": "Rendeléseim megtekintése" }, "filters": { - "sorting": "Rendezés", // Sortierung - "perPage": "oldalanként", // pro Seite - "availability": "Elérhetőség", // Verfügbarkeit - "manufacturer": "Gyártó" // Hersteller + "sorting": "Rendezés", + "perPage": "oldalanként", + "availability": "Elérhetőség", + "manufacturer": "Gyártó" }, "tax": { - "vat": "Általános Forgalmi Adó", // Mehrwertsteuer - "vat7": "7% Általános Forgalmi Adó", // 7% Mehrwertsteuer - "vat19": "19% Általános Forgalmi Adó", // 19% Mehrwertsteuer - "vat19WithShipping": "19% Általános Forgalmi Adó (szállítással)", // 19% Mehrwertsteuer (inkl. Versand) - "totalNet": "Teljes Nettó Ár", // Gesamtnettopreis - "totalGross": "Teljes Bruttó Ár Szállítás Nélkül", // Gesamtbruttopreis ohne Versand - "subtotal": "Részösszeg" // Zwischensumme + "vat": "ÁFA", + "vat7": "7% ÁFA", + "vat19": "19% ÁFA", + "vat19WithShipping": "19% ÁFA (postaköltséggel)", + "totalNet": "Nettó végösszeg", + "totalGross": "Bruttó végösszeg szállítás nélkül", + "subtotal": "Részösszeg" }, "footer": { - "hours": "Szo 11-19", // Sa 11-19 - "address": "Trachenberger Straße 14 - Dresden", // Trachenberger Straße 14 - Dresden - "location": "Pieschen állomás és Trachenberger Platz között", // Zwischen Haltepunkt Pieschen und Trachenberger Platz - "allPricesIncl": "* Minden ár törvényes ÁFA-val, plusz szállítás", // * Alle Preise inkl. gesetzlicher USt., zzgl. Versand - "copyright": "© {{year}} GrowHeads.de", // © {{year}} GrowHeads.de + "hours": "Szombat 11-19", + "address": "Trachenberger Straße 14 - Drezda", + "location": "Pieschen megállótól és Trachenberger Platz-tól között", + "allPricesIncl": "* Minden ár tartalmazza a törvényes ÁFÁ-t, plusz szállítási díjat", + "copyright": "© {{year}} GrowHeads.de", "legal": { - "datenschutz": "Adatvédelmi Szabályzat", // Datenschutz - "agb": "Általános Szerződési Feltételek", // AGB - "sitemap": "Oldaltérkép", // Sitemap - "impressum": "Impresszum", // Impressum - "batteriegesetzhinweise": "Akkumulátor Törvény Információk", // Batteriegesetzhinweise - "widerrufsrecht": "Elállási Jog" // Widerrufsrecht + "datenschutz": "Adatvédelmi irányelvek", + "agb": "Általános Szerződési Feltételek", + "sitemap": "Oldaltérkép", + "impressum": "Impresszum", + "batteriegesetzhinweise": "Akkumulátor szabályozási figyelmeztetések", + "widerrufsrecht": "Elállási jog" } }, "titles": { - "home": "Kannabisz Magok és Dugványok", // Cannabis Seeds & Cuttings - "aktionen": "Aktuális Akciók és Ajánlatok", // Aktuelle Aktionen & Angebote - "filiale": "Üzletünk Dresdában" // Unsere Filiale in Dresden + "home": "ine anabis eeds & uttings", + "aktionen": "tuelle ktionen & gebote", + "filiale": "ur iliale in resden" }, "sections": { - "seeds": "Magok", // Seeds - "stecklinge": "Dugványok", // Stecklinge - "oilPress": "Olajprés Kölcsönzés", // Ölpresse ausleihen - "thcTest": "THC Teszt", // THC Test - "address1": "Trachenberger Straße 14", // Trachenberger Straße 14 - "address2": "01129 Dresden" // 01129 Dresden + "seeds": "Magok", + "stecklinge": "Vágások", + "oilPress": "Olajprés bérlés", + "thcTest": "THC teszt", + "address1": "Trachenberger Straße 14", + "address2": "01129 Drezda" }, "pages": { "oilPress": { - "title": "Olajprés Kölcsönzés", // Ölpresse ausleihen - "comingSoon": "Tartalom hamarosan..." // Inhalt kommt bald... + "title": "Olajprés bérlés", + "comingSoon": "Tartalom hamarosan..." }, "thcTest": { - "title": "THC Teszt", // THC Test - "comingSoon": "Tartalom hamarosan..." // Inhalt kommt bald... + "title": "THC teszt", + "comingSoon": "Tartalom hamarosan..." } }, "orders": { "status": { - "new": "feldolgozás alatt", // in Bearbeitung - "pending": "Új", // Neu - "processing": "Feldolgozás Alatt", // in Bearbeitung - "cancelled": "Visszavonva", // Storniert - "shipped": "Elküldve", // Verschickt - "delivered": "Kézbesítve", // Geliefert - "return": "Visszaküldés", // Retoure - "partialReturn": "Részleges Visszaküldés", // Teil Retoure - "partialDelivered": "Részlegesen Kézbesítve" // Teil geliefert + "new": "Folyamatban", + "pending": "Új", + "processing": "Folyamatban", + "cancelled": "Lemondva", + "shipped": "Kiszállítva", + "delivered": "Kézbesítve", + "return": "Visszaküldés", + "partialReturn": "Részleges visszaküldés", + "partialDelivered": "Részben kézbesítve" } }, "common": { - "loading": "Betöltés...", // Lädt... - "error": "Hiba", // Fehler - "close": "Bezár", // Schließen - "save": "Mentés", // Speichern - "cancel": "Mégse", // Abbrechen - "ok": "OK", // OK - "yes": "Igen", // Ja - "no": "Nem", // Nein - "next": "Következő", // Weiter - "back": "Vissza", // Zurück - "edit": "Szerkesztés", // Bearbeiten - "delete": "Törlés", // Löschen - "add": "Hozzáadás", // Hinzufügen - "remove": "Eltávolítás", // Entfernen - "products": "Termékek", // Produkte - "product": "Termék" // Produkt + "loading": "Betöltés...", + "error": "Hiba", + "close": "Bezárás", + "save": "Mentés", + "cancel": "Mégse", + "ok": "OK", + "yes": "Igen", + "no": "Nem", + "next": "Következő", + "back": "Vissza", + "edit": "Szerkesztés", + "delete": "Törlés", + "add": "Hozzáadás", + "remove": "Eltávolítás", + "products": "Termékek", + "product": "Termék" } -} \ No newline at end of file +}; diff --git a/src/i18n/locales/it/translation.js b/src/i18n/locales/it/translation.js index 2b28dd8..b525814 100644 --- a/src/i18n/locales/it/translation.js +++ b/src/i18n/locales/it/translation.js @@ -1,204 +1,231 @@ export default { + "locale": { + "code": "it-IT" + }, "navigation": { - "home": "Home", // Home - "aktionen": "Azioni", // Actions - "filiale": "Filiale", // Branch - "categories": "Categorie", // Categories - "categoriesOpen": "Apri categorie", // Open categories - "categoriesClose": "Chiudi categorie" // Close categories + "home": "Home", + "aktionen": "Azioni", + "filiale": "Filiale", + "categories": "Categorie", + "categoriesOpen": "Categorie aperte", + "categoriesClose": "Chiudi categorie", + "otherCategories": "Altre categorie" }, "auth": { - "login": "Accedi", // Login - "register": "Registrati", // Register - "logout": "Esci", // Logout - "profile": "Profilo", // Profile - "email": "Email", // Email - "password": "Password", // Password - "confirmPassword": "Conferma password", // Confirm password - "forgotPassword": "Password dimenticata?", // Forgot password? - "loginWithGoogle": "Accedi con Google", // Login with Google - "or": "OPPURE", // OR - "privacyAccept": "Cliccando su \"Accedi con Google\" accetto la", // By clicking "Login with Google" I accept - "privacyPolicy": "Politica sulla privacy", // Privacy policy - "passwordMinLength": "La password deve essere di almeno 8 caratteri", // Password must be at least 8 characters - "newPasswordMinLength": "La nuova password deve essere di almeno 8 caratteri", // New password must be at least 8 characters + "login": "Accedi", + "register": "Registrati", + "logout": "logout", + "profile": "Profilo", + "email": "Email", + "password": "Password", + "confirmPassword": "Conferma password", + "forgotPassword": "Password dimenticata?", + "loginWithGoogle": "Accedi con Google", + "or": "OPPURE", + "privacyAccept": "Cliccando \"Accedi con Google\", accetto il", + "privacyPolicy": "Informativa sulla privacy", + "passwordMinLength": "La password deve essere lunga almeno 8 caratteri", + "newPasswordMinLength": "La nuova password deve essere lunga almeno 8 caratteri", "menu": { - "profile": "Profilo", // Profile - "checkout": "Completa ordine", // Checkout - "orders": "Ordini", // Orders - "settings": "Impostazioni", // Settings - "adminDashboard": "Dashboard amministratore", // Admin dashboard - "adminUsers": "Utenti amministratore" // Admin users + "profile": "Profilo", + "checkout": "Pagamento", + "orders": "Ordini", + "settings": "Impostazioni", + "adminDashboard": "Dashboard amministratore", + "adminUsers": "Utenti admin" } }, "cart": { - "title": "Carrello", // Cart - "empty": "vuoto", // empty - "addToCart": "Aggiungi al carrello", // Add to cart - "preorderCutting": "Prenota come talea", // Preorder as cutting - "continueShopping": "Continua shopping", // Continue shopping - "proceedToCheckout": "Procedi al checkout", // Proceed to checkout + "title": "Carrello", + "empty": "vuoto", + "addToCart": "Aggiungi al carrello", + "preorderCutting": "Pre-ordine come talee", + "continueShopping": "Continua shopping", + "proceedToCheckout": "Procedi al pagamento", + "productCount": "{{count}} {{count, plural, one {prodotto} other {prodotti}}}", + "removeFromCart": "Rimuovi dal carrello", + "openCart": "Apri carrello", + "availableFrom": "Da {{date}}", + "backToOrder": "← Torna all'ordine", "sync": { - "title": "Sincronizzazione carrello", // Cart synchronization - "description": "Hai un carrello salvato nel tuo account. Scegli come procedere:", // You have a saved cart in your account. Please choose how to proceed: - "deleteServer": "Elimina carrello server", // Delete server cart - "useServer": "Usa carrello server", // Use server cart - "merge": "Unisci carrelli", // Merge carts - "currentCart": "Il tuo carrello attuale", // Your current cart - "serverCart": "Carrello salvato nel tuo profilo" // Cart saved in your profile + "title": "Sincronizzazione carrello", + "description": "Hai un carrello salvato nel tuo account. Per favore scegli come procedere:", + "deleteServer": "Elimina carrello server", + "useServer": "Usa carrello server", + "merge": "Unisci carrelli", + "currentCart": "Il tuo carrello attuale", + "serverCart": "Carrello salvato nel tuo profilo" } }, "product": { - "loading": "Caricamento prodotto...", // Loading product... - "notFound": "Prodotto non trovato", // Product not found - "notFoundDescription": "Il prodotto cercato non esiste o è stato rimosso.", // The searched product doesn't exist or was removed. - "backToHome": "Torna alla home", // Back to home - "error": "Errore", // Error - "articleNumber": "Numero articolo", // Article number - "manufacturer": "Produttore", // Manufacturer - "inclVat": "IVA {{vat}}% inclusa", // incl. {{vat}}% VAT - "priceUnit": "{{price}}/{{unit}}", // {{price}}/{{unit}} - "new": "Nuovo", // New - "arriving": "Arrivo:", // Arriving: - "inclVatFooter": "IVA {{vat}}% inclusa,*", // incl. {{vat}}% VAT,* - "availability": "Disponibilità", // Availability - "inStock": "disponibile", // in stock - "comingSoon": "Presto disponibile", // Coming soon - "deliveryTime": "Tempo di consegna", // Delivery time - "inclShort": "incl.", // incl. - "vatShort": "IVA" // VAT + "loading": "Caricamento prodotto...", + "notFound": "Prodotto non trovato", + "notFoundDescription": "Il prodotto cercato non esiste o è stato rimosso.", + "backToHome": "Torna alla pagina principale", + "error": "Errore", + "articleNumber": "Numero articolo", + "manufacturer": "Produttore", + "inclVat": "IVA inclusa {{vat}}%", + "priceUnit": "{{price}}/{{unit}}", + "new": "Nuovo", + "arriving": "Arrivo:", + "inclVatFooter": "IVA inclusa {{vat}}%, *", + "availability": "Disponibilità", + "inStock": "Disponibile", + "comingSoon": "In arrivo", + "deliveryTime": "Tempo di consegna", + "inclShort": "incl.", + "vatShort": "IVA", + "countDisplay": { + "noProducts": "0 prodotti", + "oneProduct": "1 prodotto", + "multipleProducts": "{{count}} prodotti", + "filteredProducts": "{{filtered}} di {{total}} prodotti", + "filteredOneProduct": "{{filtered}} di 1 prodotto" + }, + "removeFiltersToSee": "Rimuovi i filtri per vedere i prodotti", + "outOfStock": "Esaurito", + "fromXProducts": "da {{count}} prodotti" }, "search": { - "placeholder": "Puoi chiedermi delle varietà di cannabis...", // You can ask me about cannabis strains... - "recording": "Registrazione..." // Recording... + "placeholder": "Puoi chiedermi delle varietà di cannabis...", + "recording": "Registrazione...", + "searchProducts": "Cerca prodotti..." + }, + "sorting": { + "name": "Nome", + "searchField": "Termine di ricerca", + "priceLowHigh": "Prezzo: dal basso verso l'alto", + "priceHighLow": "Prezzo: dall'alto verso il basso" }, "chat": { - "privacyRead": "Letto e accettato" // Read & accepted + "privacyRead": "Letto & Accettato" }, "delivery": { "methods": { - "dhl": "DHL", // DHL - "dpd": "DPD", // DPD - "sperrgut": "Merce ingombrante", // Bulky goods - "pickup": "Ritiro in filiale" // Pickup at branch + "dhl": "DHL", + "dpd": "DPD", + "sperrgut": "Merce ingombrante", + "pickup": "Ritiro in negozio" }, "descriptions": { - "standard": "Spedizione standard", // Standard delivery - "standardFree": "Spedizione standard - GRATUITA sopra i 100€!", // Standard delivery - FREE from 100€ order value! - "notAvailable": "non disponibile perché uno o più articoli possono essere solo ritirati", // not available because one or more items can only be picked up - "bulky": "Per articoli grandi e pesanti" // For large and heavy items + "standard": "Spedizione standard", + "standardFree": "Spedizione standard - GRATIS per acquisti superiori a €100!", + "notAvailable": "non selezionabile perché uno o più articoli possono essere ritirati solo in negozio", + "bulky": "Per articoli grandi e pesanti" }, "prices": { - "free": "gratuita", // free - "dhl": "6,99 €", // 6,99 € - "dpd": "4,90 €", // 4,90 € - "sperrgut": "28,99 €" // 28,99 € + "free": "gratis", + "freeFrom100": "(gratis da €100)", + "dhl": "€6.99", + "dpd": "€4.90", + "sperrgut": "€28.99" }, "times": { - "cutting14Days": "Tempo di consegna: 14 giorni", // Delivery time: 14 days - "standard2to3Days": "Tempo di consegna: 2-3 giorni", // Delivery time: 2-3 days - "supplier7to9Days": "Tempo di consegna: 7-9 giorni" // Delivery time: 7-9 days + "cutting14Days": "Tempo di consegna: 14 giorni", + "standard2to3Days": "Tempo di consegna: 2-3 giorni", + "supplier7to9Days": "Tempo di consegna: 7-9 giorni" } }, "checkout": { - "invoiceAddress": "Indirizzo fatturazione", // Invoice address - "deliveryAddress": "Indirizzo consegna", // Delivery address - "saveForFuture": "Salva per ordini futuri", // Save for future orders - "pickupDate": "Quando desideri ritirare le talee?", // When do you wish to pick up the cuttings? - "note": "Nota", // Note - "sameAddress": "L'indirizzo di consegna è uguale all'indirizzo di fatturazione", // Delivery address is same as invoice address - "termsAccept": "Ho letto i termini e condizioni, la politica sulla privacy e le condizioni del diritto di recesso" // I have read the T&C, privacy policy and withdrawal right conditions + "invoiceAddress": "Indirizzo di fatturazione", + "deliveryAddress": "Indirizzo di consegna", + "saveForFuture": "Salva per ordini futuri", + "pickupDate": "Per quale data si desidera il ritiro delle talee?", + "note": "Nota", + "sameAddress": "Indirizzo di consegna uguale a quello di fatturazione", + "termsAccept": "Ho letto i termini e le condizioni, l'informativa sulla privacy e la politica di cancellazione" }, "payment": { - "successful": "Pagamento riuscito!", // Successful payment! - "failed": "Pagamento fallito", // Failed payment - "orderCompleted": "🎉 Il tuo ordine è stato completato con successo! Ora puoi visualizzare i tuoi ordini.", // 🎉 Your order was successfully completed! You can now view your orders. - "orderProcessing": "Il tuo pagamento è stato elaborato con successo. L'ordine verrà completato automaticamente.", // Your payment was successfully processed. The order will be automatically completed. - "paymentError": "Il tuo pagamento non può essere elaborato. Riprova o scegli un altro metodo di pagamento.", // Your payment could not be processed. Please try again or choose another payment method. - "viewOrders": "Visualizza i miei ordini" // View my orders + "successful": "Pagamento riuscito!", + "failed": "Pagamento fallito", + "orderCompleted": "🎉 Il tuo ordine è stato completato con successo! Ora puoi visualizzare i tuoi ordini.", + "orderProcessing": "Il pagamento è stato elaborato con successo. L'ordine verrà completato automaticamente.", + "paymentError": "Impossibile elaborare il pagamento. Per favore riprova o scegli un altro metodo di pagamento.", + "viewOrders": "Visualizza i miei ordini" }, "filters": { - "sorting": "Ordinamento", // Sorting - "perPage": "per pagina", // per page - "availability": "Disponibilità", // Availability - "manufacturer": "Produttore" // Manufacturer + "sorting": "Ordinamento", + "perPage": "per pagina", + "availability": "Disponibilità", + "manufacturer": "Produttore" }, "tax": { - "vat": "IVA", // VAT - "vat7": "7% IVA", // 7% VAT - "vat19": "19% IVA", // 19% VAT - "vat19WithShipping": "19% IVA (inclusa spedizione)", // 19% VAT (incl. shipping) - "totalNet": "Prezzo totale netto", // Total net price - "totalGross": "Prezzo totale lordo senza spedizione", // Total gross price without shipping - "subtotal": "Subtotale" // Subtotal + "vat": "IVA", + "vat7": "IVA 7%", + "vat19": "IVA 19%", + "vat19WithShipping": "IVA 19% (incl. spedizione)", + "totalNet": "Totale netto", + "totalGross": "Totale lordo senza spedizione", + "subtotal": "Totale parziale" }, "footer": { - "hours": "Sab 11-19", // Sat 11-19 - "address": "Trachenberger Straße 14 - Dresden", // Trachenberger Straße 14 - Dresden - "location": "Tra la fermata Pieschen e Trachenberger Platz", // Between Pieschen stop and Trachenberger Platz - "allPricesIncl": "* Tutti i prezzi incl. IVA legale, più spedizione", // * All prices incl. legal VAT, plus shipping - "copyright": "© {{year}} GrowHeads.de", // © {{year}} GrowHeads.de + "hours": "Sab 11-19", + "address": "Trachenberger Straße 14 - Dresden", + "location": "Tra Pieschen and Trachenberger Platz", + "allPricesIncl": "* Tutti i prezzi includono IVA statale, più spese di spedizione", + "copyright": "© {{year}} GrowHeads.de", "legal": { - "datenschutz": "Privacy", // Privacy policy - "agb": "Termini e condizioni", // T&C - "sitemap": "Mappa del sito", // Sitemap - "impressum": "Impressum", // Impressum - "batteriegesetzhinweise": "Informazioni legge batterie", // Battery law information - "widerrufsrecht": "Diritto di recesso" // Right of withdrawal + "datenschutz": "Informativa sulla privacy", + "agb": "Termini e condizioni", + "sitemap": "Mappa del sito", + "impressum": "Impressum", + "batteriegesetzhinweise": "Note sulla regolamentazione delle batterie", + "widerrufsrecht": "Diritto di recesso" } }, "titles": { - "home": "Semi e talee di cannabis", // Cannabis seeds & cuttings - "aktionen": "Azioni e offerte attuali", // Current actions & offers - "filiale": "La nostra filiale a Dresden" // Our branch in Dresden + "home": "ine anabis eeds & uttings", + "aktionen": "tuelle ktionen & gebote", + "filiale": "ur iliale in resden" }, "sections": { - "seeds": "Semi", // Seeds - "stecklinge": "Talee", // Cuttings - "oilPress": "Noleggio pressa per olio", // Oil press rental - "thcTest": "Test THC", // THC test - "address1": "Trachenberger Straße 14", // Trachenberger Straße 14 - "address2": "01129 Dresden" // 01129 Dresden + "seeds": "Semi", + "stecklinge": "Talee", + "oilPress": "Noleggio presse di olio", + "thcTest": "Test THC", + "address1": "Trachenberger Straße 14", + "address2": "01129 Dresden" }, "pages": { "oilPress": { - "title": "Noleggio pressa per olio", // Oil press rental - "comingSoon": "Contenuto in arrivo..." // Content coming soon... + "title": "Noleggio presse di olio", + "comingSoon": "Contenuto in arrivo..." }, "thcTest": { - "title": "Test THC", // THC test - "comingSoon": "Contenuto in arrivo..." // Content coming soon... + "title": "Test THC", + "comingSoon": "Contenuto in arrivo..." } }, "orders": { "status": { - "new": "in elaborazione", // processing - "pending": "Nuovo", // New - "processing": "In elaborazione", // Processing - "cancelled": "Annullato", // Cancelled - "shipped": "Spedito", // Shipped - "delivered": "Consegnato", // Delivered - "return": "Reso", // Return - "partialReturn": "Reso parziale", // Partial return - "partialDelivered": "Parzialmente consegnato" // Partially delivered + "new": "In corso", + "pending": "Nuovo", + "processing": "In lavorazione", + "cancelled": "Annullato", + "shipped": "Spedito", + "delivered": "Consegnato", + "return": "Reso", + "partialReturn": "Reso parziale", + "partialDelivered": "Consegnato parzialmente" } }, "common": { - "loading": "Caricamento...", // Loading... - "error": "Errore", // Error - "close": "Chiudi", // Close - "save": "Salva", // Save - "cancel": "Annulla", // Cancel - "ok": "OK", // OK - "yes": "Sì", // Yes - "no": "No", // No - "next": "Avanti", // Next - "back": "Indietro", // Back - "edit": "Modifica", // Edit - "delete": "Elimina", // Delete - "add": "Aggiungi", // Add - "remove": "Rimuovi", // Remove - "products": "Prodotti", // Products - "product": "Prodotto" // Product + "loading": "Caricamento...", + "error": "Errore", + "close": "Chiudi", + "save": "Salva", + "cancel": "Annulla", + "ok": "OK", + "yes": "Sì", + "no": "No", + "next": "Avanti", + "back": "Indietro", + "edit": "Modifica", + "delete": "Elimina", + "add": "Aggiungi", + "remove": "Rimuovi", + "products": "Prodotti", + "product": "Prodotto" } -} \ No newline at end of file +}; diff --git a/src/i18n/locales/pl/translation.js b/src/i18n/locales/pl/translation.js index 46fea6b..00844dd 100644 --- a/src/i18n/locales/pl/translation.js +++ b/src/i18n/locales/pl/translation.js @@ -1,98 +1,125 @@ export default { + "locale": { + "code": "pl-PL" + }, "navigation": { "home": "Strona główna", "aktionen": "Akcje", - "filiale": "Sklep", + "filiale": "Oddział", "categories": "Kategorie", - "categoriesOpen": "Otwórz kategorie", - "categoriesClose": "Zamknij kategorie" + "categoriesOpen": "Otwarte kategorie", + "categoriesClose": "Zamknij kategorie", + "otherCategories": "Inne kategorie" }, "auth": { "login": "Zaloguj się", - "register": "Zarejestruj się", + "register": "Rejestracja", "logout": "Wyloguj się", "profile": "Profil", - "email": "E-mail", + "email": "Email", "password": "Hasło", "confirmPassword": "Potwierdź hasło", "forgotPassword": "Zapomniałeś hasła?", - "loginWithGoogle": "Zaloguj się z Google", + "loginWithGoogle": "Zaloguj się przez Google", "or": "LUB", - "privacyAccept": "Klikając \"Zaloguj się z Google\" akceptuję", - "privacyPolicy": "Politykę prywatności", + "privacyAccept": "Klikając \"Zaloguj się przez Google\", akceptuję", + "privacyPolicy": "Politykę Prywatności", "passwordMinLength": "Hasło musi mieć co najmniej 8 znaków", "newPasswordMinLength": "Nowe hasło musi mieć co najmniej 8 znaków", "menu": { "profile": "Profil", - "checkout": "Finalizacja zamówienia", + "checkout": "Realizacja zamówienia", "orders": "Zamówienia", "settings": "Ustawienia", - "adminDashboard": "Panel administracyjny", + "adminDashboard": "Panel administratora", "adminUsers": "Użytkownicy administracyjni" } }, "cart": { - "title": "Koszyk", + "title": "Koszyk zakupowy", "empty": "pusty", "addToCart": "Dodaj do koszyka", - "preorderCutting": "Zamów sadzonkę z wyprzedzeniem", + "preorderCutting": "Pre-order jako cięcia", "continueShopping": "Kontynuuj zakupy", - "proceedToCheckout": "Przejdź do kasy", + "proceedToCheckout": "Przejdź do realizacji zamówienia", + "productCount": "{{count}} {{count, plural, one {produkt} other {produktów}}}", + "removeFromCart": "Usuń z koszyka", + "openCart": "Otwórz koszyk", + "availableFrom": "Od {{date}}", + "backToOrder": "← Powrót do zamówienia", "sync": { "title": "Synchronizacja koszyka", - "description": "Masz zapisany koszyk na swoim koncie. Proszę wybierz, jak chcesz postępować:", - "deleteServer": "Usuń koszyk z serwera", - "useServer": "Użyj koszyka z serwera", - "merge": "Połącz koszyki", + "description": "Masz zapisany koszyk na swoim koncie. Wybierz sposób kontynuacji:", + "deleteServer": "Usuń koszyk na serwerze", + "useServer": "Użyj koszyka na serwerze", + "merge": "Scal koszyki", "currentCart": "Twój aktualny koszyk", - "serverCart": "Koszyk zapisany w twoim profilu" + "serverCart": "Zapisany koszyk w profilu" } }, "product": { - "loading": "Ładowanie produktu...", + "loading": "Wczytywanie produktu...", "notFound": "Produkt nie znaleziony", "notFoundDescription": "Szukany produkt nie istnieje lub został usunięty.", "backToHome": "Powrót do strony głównej", "error": "Błąd", "articleNumber": "Numer artykułu", "manufacturer": "Producent", - "inclVat": "wliczając {{vat}}% VAT", + "inclVat": "w tym {{vat}}% VAT", "priceUnit": "{{price}}/{{unit}}", "new": "Nowy", "arriving": "Przybycie:", - "inclVatFooter": "wliczając {{vat}}% VAT,*", + "inclVatFooter": "w tym {{vat}}% VAT, *", "availability": "Dostępność", - "inStock": "na stanie", + "inStock": "Na stanie", "comingSoon": "Wkrótce dostępny", "deliveryTime": "Czas dostawy", - "inclShort": "wlicz.", - "vatShort": "VAT" + "inclShort": "w tym", + "vatShort": "VAT", + "countDisplay": { + "noProducts": "0 produktów", + "oneProduct": "1 produkt", + "multipleProducts": "{{count}} produktów", + "filteredProducts": "{{filtered}} z {{total}} produktów", + "filteredOneProduct": "{{filtered}} z 1 produktu" + }, + "removeFiltersToSee": "Usuń filtry, aby zobaczyć produkty", + "outOfStock": "Brak na stanie", + "fromXProducts": "od {{count}} produktów" }, "search": { - "placeholder": "Możesz zapytać mnie o odmiany konopi...", - "recording": "Nagrywanie w toku..." + "placeholder": "Możesz zapytać o szczepy konopi...", + "recording": "Nagrywanie...", + "searchProducts": "Szukaj produktów..." + }, + "sorting": { + "name": "Nazwa", + "searchField": "Hasło wyszukiwania", + "priceLowHigh": "Cena: od najniższej", + "priceHighLow": "Cena: od najwyższej" }, "chat": { - "privacyRead": "Przeczytane i zaakceptowane" + "privacyRead": "Przeczytano i zaakceptowano" }, "delivery": { "methods": { "dhl": "DHL", "dpd": "DPD", - "sperrgut": "Przesyłka gabatytowa", + "sperrgut": "Przedmioty ciężkie", "pickup": "Odbiór w sklepie" }, "descriptions": { - "standard": "Dostawa standardowa", - "standardFree": "Dostawa standardowa - BEZPŁATNA od 100€ wartości zamówienia!", - "notAvailable": "niedostępne, ponieważ jeden lub więcej artykułów można tylko odebrać", - "bulky": "Dla dużych i ciężkich artykułów" + "standard": "Standardowa wysyłka", + "standardFree": "Standardowa wysyłka - DARMOWA od wartości towarów 100 €!", + "notAvailable": "nie jest dostępne do wyboru, ponieważ jeden lub więcej produktów można odebrać tylko osobiście", + "bulky": "Na duże i ciężkie przedmioty" }, "prices": { - "free": "bezpłatne", - "dhl": "6,99 €", - "dpd": "4,90 €", - "sperrgut": "28,99 €" + "free": "darmowa", + "freeFrom100": "(darmowa od 100 €)", + "dhl": "€6.99", + "dpd": "€4.90", + "sperrgut": "€28.99" }, "times": { "cutting14Days": "Czas dostawy: 14 dni", @@ -101,21 +128,21 @@ export default { } }, "checkout": { - "invoiceAddress": "Adres do faktury", + "invoiceAddress": "Adres rozliczeniowy", "deliveryAddress": "Adres dostawy", - "saveForFuture": "Zapisz dla przyszłych zamówień", - "pickupDate": "Na który termin życzysz sobie odbiór sadzonek?", - "note": "Uwaga", - "sameAddress": "Adres dostawy jest identyczny z adresem do faktury", - "termsAccept": "Przeczytałem regulamin, oświadczenie o ochronie danych i zasady prawa odstąpienia" + "saveForFuture": "Zapisz na przyszłość", + "pickupDate": "Na którą datę ma nastąpić odbiór cięć?", + "note": "Uwagi", + "sameAddress": "Adres dostawy jest taki sam jak adres rozliczeniowy", + "termsAccept": "Zapoznałem się z warunkami i akceptuję je" }, "payment": { "successful": "Płatność udana!", - "failed": "Płatność nieudana", - "orderCompleted": "🎉 Twoje zamówienie zostało pomyślnie złożone! Możesz teraz sprawdzić swoje zamówienia.", - "orderProcessing": "Twoja płatność została pomyślnie przetworzona. Zamówienie zostanie automatycznie złożone.", - "paymentError": "Twoja płatność nie mogła zostać przetworzona. Proszę spróbuj ponownie lub wybierz inny sposób płatności.", - "viewOrders": "Do moich zamówień" + "failed": "Płatność nie powiodła się", + "orderCompleted": "🎉 Twoje zamówienie zostało pomyślnie złożone! Możesz teraz zobaczyć swoje zamówienia.", + "orderProcessing": "Twoja płatność została pomyślnie przetworzona. Zamówienie zostanie automatycznie zrealizowane.", + "paymentError": "Nie można przetworzyć płatności. Spróbuj ponownie lub wybierz inną metodę płatności.", + "viewOrders": "Zobacz moje zamówienia" }, "filters": { "sorting": "Sortowanie", @@ -124,67 +151,67 @@ export default { "manufacturer": "Producent" }, "tax": { - "vat": "Podatek od wartości dodanej", + "vat": "VAT", "vat7": "7% VAT", "vat19": "19% VAT", - "vat19WithShipping": "19% VAT (wliczając dostawę)", - "totalNet": "Cena całkowita netto", - "totalGross": "Cena całkowita brutto bez dostawy", - "subtotal": "Suma częściowa" + "vat19WithShipping": "19% VAT (w tym wysyłka)", + "totalNet": "Razem netto", + "totalGross": "Razem brutto bez wysyłki", + "subtotal": "Razem cz. kwotowa" }, "footer": { "hours": "Sob 11-19", "address": "Trachenberger Straße 14 - Drezno", - "location": "Między przystankiem Pieschen a Trachenberger Platz", - "allPricesIncl": "* Wszystkie ceny zawierają ustawowy VAT, bez kosztów dostawy", - "copyright": "© {{year}} GrowHeads.de", + "location": "Między przystankiem Pieschen a Placem Trachenberger", + "allPricesIncl": "* Wszystkie ceny zawierają ustawowe VAT, plus wysyłka", + "copyright": "© {{year}} GrowHeads.pl", "legal": { - "datenschutz": "Ochrona danych", + "datenschutz": "Polityka Prywatności", "agb": "Regulamin", "sitemap": "Mapa strony", - "impressum": "Informacje prawne", - "batteriegesetzhinweise": "Informacje o ustawie o bateriach", - "widerrufsrecht": "Prawo odstąpienia" + "impressum": "Impressum", + "batteriegesetzhinweise": "Informacje o przepisach dotyczących baterii", + "widerrufsrecht": "Prawo do odstąpienia od umowy" } }, "titles": { - "home": "Nasiona i sadzonki konopi", - "aktionen": "Aktualne akcje i oferty", - "filiale": "Nasz sklep w Dreźnie" + "home": "nasiona anabis i uttings", + "aktionen": "czasowe ktionen i gody", + "filiale": "ur iliale we resden" }, "sections": { "seeds": "Nasiona", - "stecklinge": "Sadzonki", - "oilPress": "Wypożycz prasę do oleju", + "stecklinge": "Cięcia", + "oilPress": "Wypożyczenie prasy do oleju", "thcTest": "Test THC", "address1": "Trachenberger Straße 14", "address2": "01129 Drezno" }, "pages": { "oilPress": { - "title": "Wypożycz prasę do oleju", - "comingSoon": "Treść wkrótce..." + "title": "Wypożyczenie prasy do oleju", + "comingSoon": "Wkrótce dostępne..." }, "thcTest": { "title": "Test THC", - "comingSoon": "Treść wkrótce..." + "comingSoon": "Wkrótce dostępne..." } }, "orders": { "status": { - "new": "w trakcie realizacji", - "pending": "Nowy", - "processing": "w trakcie realizacji", - "cancelled": "Anulowany", - "shipped": "Wysłany", - "delivered": "Dostarczony", + "new": "W trakcie realizacji", + "pending": "Nowe", + "processing": "W trakcie realizacji", + "cancelled": "Anulowane", + "shipped": "Wysłane", + "delivered": "Dostarczone", "return": "Zwrot", - "partialReturn": "Zwrot częściowy", - "partialDelivered": "Częściowo dostarczony" + "partialReturn": "Częściowy zwrot", + "partialDelivered": "Częściowo dostarczone" } }, "common": { - "loading": "Ładowanie...", + "loading": "Wczytywanie...", "error": "Błąd", "close": "Zamknij", "save": "Zapisz", @@ -201,4 +228,4 @@ export default { "products": "Produkty", "product": "Produkt" } -} \ No newline at end of file +}; diff --git a/src/i18n/locales/ro/translation.js b/src/i18n/locales/ro/translation.js index 4237c43..7ff3fb5 100644 --- a/src/i18n/locales/ro/translation.js +++ b/src/i18n/locales/ro/translation.js @@ -1,204 +1,231 @@ - export default { - "navigation": { - "home": "Acasă", - "aktionen": "Acțiuni", - "filiale": "Filială", - "categories": "Categorii", - "categoriesOpen": "Deschide categorii", - "categoriesClose": "Închide categorii" - }, - "auth": { - "login": "Autentificare", - "register": "Înregistrare", - "logout": "Deconectare", +export default { + "locale": { + "code": "ro-RO" + }, + "navigation": { + "home": "Acasă", + "aktionen": "Acțiuni", + "filiale": "Filială", + "categories": " Categorii", + "categoriesOpen": "Categorii deschise", + "categoriesClose": "Închide categorii", + "otherCategories": "Alte categorii" + }, + "auth": { + "login": "Autentificare", + "register": "Înregistrează-te", + "logout": "Deconectare", + "profile": "Profil", + "email": "Email", + "password": "Parolă", + "confirmPassword": "Confirmă parola", + "forgotPassword": "Ai uitat parola?", + "loginWithGoogle": "Autentificare cu Google", + "or": "SAU", + "privacyAccept": "Prin clic pe „Autentificare cu Google”, accept termenii și condițiile", + "privacyPolicy": "Politica de confidențialitate", + "passwordMinLength": "Parola trebuie să aibă cel puțin 8 caractere", + "newPasswordMinLength": "Noua parolă trebuie să aibă cel puțin 8 caractere", + "menu": { "profile": "Profil", - "email": "E-mail", - "password": "Parolă", - "confirmPassword": "Confirmă parola", - "forgotPassword": "Parolă uitată?", - "loginWithGoogle": "Autentificare cu Google", - "or": "SAU", - "privacyAccept": "Prin click pe \"Autentificare cu Google\" accept", - "privacyPolicy": "Politica de confidențialitate", - "passwordMinLength": "Parola trebuie să aibă cel puțin 8 caractere", - "newPasswordMinLength": "Parola nouă trebuie să aibă cel puțin 8 caractere", - "menu": { - "profile": "Profil", - "checkout": "Finalizare comandă", - "orders": "Comenzi", - "settings": "Setări", - "adminDashboard": "Panou Admin", - "adminUsers": "Utilizatori Admin" - } - }, - "cart": { - "title": "Coș de cumpărături", - "empty": "gol", - "addToCart": "Adaugă în coș", - "preorderCutting": "Precomandă ca butaș", - "continueShopping": "Continuă cumpărăturile", - "proceedToCheckout": "Continuă la casă", - "sync": { - "title": "Sincronizarea coșului", - "description": "Aveți un coș salvat în contul dvs. Vă rugăm să alegeți cum doriți să procedați:", - "deleteServer": "Șterge coșul de pe server", - "useServer": "Folosește coșul de pe server", - "merge": "Combină coșurile", - "currentCart": "Coșul dvs. actual", - "serverCart": "Coșul salvat în profilul dvs." - } - }, - "product": { - "loading": "Se încarcă produsul...", - "notFound": "Produsul nu a fost găsit", - "notFoundDescription": "Produsul căutat nu există sau a fost eliminat.", - "backToHome": "Înapoi la pagina principală", - "error": "Eroare", - "articleNumber": "Numărul articolului", - "manufacturer": "Producător", - "inclVat": "incl. {{vat}}% TVA", - "priceUnit": "{{price}}/{{unit}}", - "new": "Nou", - "arriving": "Sosire:", - "inclVatFooter": "incl. {{vat}}% TVA,*", - "availability": "Disponibilitate", - "inStock": "în stoc", - "comingSoon": "Disponibil în curând", - "deliveryTime": "Timp de livrare", - "inclShort": "incl.", - "vatShort": "TVA" - }, - "search": { - "placeholder": "Poți să mă întrebi despre soiuri de cannabis...", - "recording": "Înregistrare în curs..." - }, - "chat": { - "privacyRead": "Citit și acceptat" - }, - "delivery": { - "methods": { - "dhl": "DHL", - "dpd": "DPD", - "sperrgut": "Marfă voluminoasă", - "pickup": "Ridicare din filială" - }, - "descriptions": { - "standard": "Livrare standard", - "standardFree": "Livrare standard - GRATUITĂ pentru comenzi peste 100€!", - "notAvailable": "indisponibil deoarece unul sau mai multe articole pot fi doar ridicate", - "bulky": "Pentru articole mari și grele" - }, - "prices": { - "free": "gratuit", - "dhl": "6,99 €", - "dpd": "4,90 €", - "sperrgut": "28,99 €" - }, - "times": { - "cutting14Days": "Timp de livrare: 14 zile", - "standard2to3Days": "Timp de livrare: 2-3 zile", - "supplier7to9Days": "Timp de livrare: 7-9 zile" - } - }, - "checkout": { - "invoiceAddress": "Adresa de facturare", - "deliveryAddress": "Adresa de livrare", - "saveForFuture": "Salvează pentru comenzi viitoare", - "pickupDate": "Pentru ce dată este dorită ridicarea butașilor?", - "note": "Observație", - "sameAddress": "Adresa de livrare este identică cu adresa de facturare", - "termsAccept": "Am citit Termenii și condițiile, Politica de confidențialitate și Dreptul de revocare" - }, - "payment": { - "successful": "Plata reușită!", - "failed": "Plata eșuată", - "orderCompleted": "🎉 Comanda dvs. a fost finalizată cu succes! Puteți vedea acum comenzile dvs.", - "orderProcessing": "Plata dvs. a fost procesată cu succes. Comanda va fi finalizată automat.", - "paymentError": "Plata dvs. nu a putut fi procesată. Vă rugăm să încercați din nou sau să alegeți o altă metodă de plată.", - "viewOrders": "Către comenzile mele" - }, - "filters": { - "sorting": "Sortare", - "perPage": "pe pagină", - "availability": "Disponibilitate", - "manufacturer": "Producător" - }, - "tax": { - "vat": "Taxa pe valoarea adăugată", - "vat7": "7% TVA", - "vat19": "19% TVA", - "vat19WithShipping": "19% TVA (incl. transport)", - "totalNet": "Preț total net", - "totalGross": "Preț total brut fără transport", - "subtotal": "Subtotal" - }, - "footer": { - "hours": "Sâ 11-19", - "address": "Trachenberger Straße 14 - Dresden", - "location": "Între stația Pieschen și Trachenberger Platz", - "allPricesIncl": "* Toate prețurile includ TVA legală, plus transport", - "copyright": "© {{year}} GrowHeads.de", - "legal": { - "datenschutz": "Confidențialitate", - "agb": "Termeni și condiții", - "sitemap": "Hartă site", - "impressum": "Impresii", - "batteriegesetzhinweise": "Informații legea bateriilor", - "widerrufsrecht": "Dreptul de revocare" - } - }, - "titles": { - "home": "Semințe și butași de cannabis", - "aktionen": "Acțiuni și oferte actuale", - "filiale": "Filiala noastră din Dresden" - }, - "sections": { - "seeds": "Semințe", - "stecklinge": "Butași", - "oilPress": "Închiriere presă ulei", - "thcTest": "Test THC", - "address1": "Trachenberger Straße 14", - "address2": "01129 Dresden" - }, - "pages": { - "oilPress": { - "title": "Închiriere presă ulei", - "comingSoon": "Conținutul va veni în curând..." - }, - "thcTest": { - "title": "Test THC", - "comingSoon": "Conținutul va veni în curând..." - } - }, - "orders": { - "status": { - "new": "în procesare", - "pending": "Nou", - "processing": "în procesare", - "cancelled": "Anulat", - "shipped": "Expediat", - "delivered": "Livrat", - "return": "Retur", - "partialReturn": "Retur parțial", - "partialDelivered": "Livrat parțial" - } - }, - "common": { - "loading": "Se încarcă...", - "error": "Eroare", - "close": "Închide", - "save": "Salvează", - "cancel": "Anulează", - "ok": "OK", - "yes": "Da", - "no": "Nu", - "next": "Următorul", - "back": "Înapoi", - "edit": "Editează", - "delete": "Șterge", - "add": "Adaugă", - "remove": "Elimină", - "products": "Produse", - "product": "Produs" + "checkout": "Finalizare comandă", + "orders": "Comenzi", + "settings": "Setări", + "adminDashboard": "Panou administrativ", + "adminUsers": "Utilizatori admin" } + }, + "cart": { + "title": "Meniu de cumpărături", + "empty": "gol", + "addToCart": "Adaugă în coș", + "preorderCutting": "Precomandă ca tăieturi", + "continueShopping": "Continuă cumpărăturile", + "proceedToCheckout": "Continuă la finalizare", + "productCount": "{{count}} {{count, plural, one {produs} other {produse}}}", + "removeFromCart": "Scoate din coș", + "openCart": "Deschide coșul", + "availableFrom": "Din {{date}}", + "backToOrder": "← Înapoi la comandă", + "sync": { + "title": "Sinteza coșului", + "description": "Ai un coș salvat în cont. Te rog să alegi cum să proceedi:", + "deleteServer": "Șterge coșul de pe server", + "useServer": "Folosește coșul de pe server", + "merge": "Unește coșurile", + "currentCart": "Coșul tău actual", + "serverCart": "Coș salvat în profil" + } + }, + "product": { + "loading": "Se încarcă produsul...", + "notFound": "Produsul nu a fost găsit", + "notFoundDescription": "Produsul căutat nu există sau a fost eliminat.", + "backToHome": "Înapoi la pagina principală", + "error": "Eroare", + "articleNumber": "Număr articol", + "manufacturer": "Producător", + "inclVat": "inclusiv {{vat}}% TVA", + "priceUnit": "{{price}}/{{unit}}", + "new": "Nou", + "arriving": "Sosit:", + "inclVatFooter": "inclusiv {{vat}}% TVA, *", + "availability": "Disponibilitate", + "inStock": "În stoc", + "comingSoon": "În curând", + "deliveryTime": "Timp de livrare", + "inclShort": "incl.", + "vatShort": "TVA", + "countDisplay": { + "noProducts": "0 produse", + "oneProduct": "1 produs", + "multipleProducts": "{{count}} produse", + "filteredProducts": "{{filtered}} din {{total}} produse", + "filteredOneProduct": "{{filtered}} din 1 produs" + }, + "removeFiltersToSee": "Elimină filtrele pentru a vedea produsele", + "outOfStock": "Stoc epuizat", + "fromXProducts": "de la {{count}} produse" + }, + "search": { + "placeholder": "Îmi poți întreba despre soiuri de cannabis...", + "recording": "Se înregistrează...", + "searchProducts": "Caută produse..." + }, + "sorting": { + "name": "Nume", + "searchField": "Termen de căutare", + "priceLowHigh": "Preț: de la mic la mare", + "priceHighLow": "Preț: de la mare la mic" + }, + "chat": { + "privacyRead": "Citit & Acceptat" + }, + "delivery": { + "methods": { + "dhl": "DHL", + "dpd": "DPD", + "sperrgut": "Marfă voluminoasă", + "pickup": "Ridicare din magazin" + }, + "descriptions": { + "standard": "Livrare standard", + "standardFree": "Livrare standard - GRATUIT pentru comenzi de peste €100!", + "notAvailable": "neselectabil deoarece unul sau mai multe articole pot fi ridicate numai personal", + "bulky": "Pentru articole mari și grele" + }, + "prices": { + "free": "gratuit", + "freeFrom100": "(gratuit pentru peste €100)", + "dhl": "€6.99", + "dpd": "€4.90", + "sperrgut": "€28.99" + }, + "times": { + "cutting14Days": "Timp de livrare: 14 zile", + "standard2to3Days": "Timp de livrare: 2-3 zile", + "supplier7to9Days": "Timp de livrare: 7-9 zile" + } + }, + "checkout": { + "invoiceAddress": "Adresa de facturare", + "deliveryAddress": "Adresa de livrare", + "saveForFuture": "Salvează pentru comenzi viitoare", + "pickupDate": "Pentru ce dată se dorește ridicarea tăieturilor?", + "note": "Notă", + "sameAddress": "Adresa de livrare este aceeași cu adresa de facturare", + "termsAccept": "Am citit termenii și condițiile, politica de confidențialitate și politica de anulare" + }, + "payment": { + "successful": "Plată reușită!", + "failed": "Plata a eșuat", + "orderCompleted": "🎉 Comanda ta a fost finalizată cu succes! Poți vizualiza comenzile.", + "orderProcessing": "Plata ta a fost procesată cu succes. Comanda se va finaliza automat.", + "paymentError": "Plata nu a putut fi procesată. Te rugăm să încerci din nou sau să alegi o altă metodă de plată.", + "viewOrders": "Vezi comenzile mele" + }, + "filters": { + "sorting": "Sortare", + "perPage": "pe pagină", + "availability": "Disponibilitate", + "manufacturer": "Producător" + }, + "tax": { + "vat": "TVA", + "vat7": "7% TVA", + "vat19": "19% TVA", + "vat19WithShipping": "19% TVA (incl. livrare)", + "totalNet": "Preț total net", + "totalGross": "Preț total brut fără livrare", + "subtotal": "Subtotal" + }, + "footer": { + "hours": "SÂmbătă 11-19", + "address": "Trachenberger Straße 14 - Dresden", + "location": "Între stația Pieschen și piața Trachenberger", + "allPricesIncl": "* Toate prețurile includ TVA legal, plus livrare", + "copyright": "© {{year}} GrowHeads.de", + "legal": { + "datenschutz": "Politica de confidențialitate", + "agb": "Termeni și condiții", + "sitemap": "Hartă site", + "impressum": "Impressum", + "batteriegesetzhinweise": "Notificări privind reglementările bateriilor", + "widerrufsrecht": "Drept de retragere" + } + }, + "titles": { + "home": "ine anabis eeds & uttings", + "aktionen": "tuelle ktionen & gebote", + "filiale": "ur iliale in resden" + }, + "sections": { + "seeds": "Semințe", + "stecklinge": "Tăieturi", + "oilPress": "Închiriere presă de ulei", + "thcTest": "Test THC", + "address1": "Trachenberger Straße 14", + "address2": "01129 Dresden" + }, + "pages": { + "oilPress": { + "title": "Închiriere presă de ulei", + "comingSoon": "Conținutul va fi disponibil în curând..." + }, + "thcTest": { + "title": "Test THC", + "comingSoon": "Conținutul va fi disponibil în curând..." + } + }, + "orders": { + "status": { + "new": "În curs", + "pending": "Nouă", + "processing": "În procesare", + "cancelled": "Anulată", + "shipped": "Expediată", + "delivered": "Livrată", + "return": "Retur", + "partialReturn": "Retur parțial", + "partialDelivered": "Parțial livrat" + } + }, + "common": { + "loading": "Se încarcă...", + "error": "Eroare", + "close": "Închide", + "save": "Salvează", + "cancel": "Anulează", + "ok": "OK", + "yes": "Da", + "no": "Nu", + "next": "Următorul", + "back": "Înapoi", + "edit": "Editează", + "delete": "Șterge", + "add": "Adaugă", + "remove": "Elimină", + "products": "Produse", + "product": "Produs" } +}; diff --git a/src/i18n/locales/ru/translation.js b/src/i18n/locales/ru/translation.js index e43958d..e8c7071 100644 --- a/src/i18n/locales/ru/translation.js +++ b/src/i18n/locales/ru/translation.js @@ -1,186 +1,213 @@ export default { + "locale": { + "code": "ru-RU" + }, "navigation": { "home": "Главная", "aktionen": "Акции", "filiale": "Филиал", "categories": "Категории", - "categoriesOpen": "Открыть категории", - "categoriesClose": "Закрыть категории" + "categoriesOpen": "Открытые категории", + "categoriesClose": "Закрыть категории", + "otherCategories": "Другие категории" }, "auth": { - "login": "Вход", + "login": "Войти", "register": "Регистрация", "logout": "Выход", "profile": "Профиль", - "email": "Эл. почта", + "email": "Электронная почта", "password": "Пароль", "confirmPassword": "Подтвердите пароль", "forgotPassword": "Забыли пароль?", "loginWithGoogle": "Войти через Google", "or": "ИЛИ", "privacyAccept": "Нажимая \"Войти через Google\", я принимаю", - "privacyPolicy": "Политику конфиденциальности", - "passwordMinLength": "Пароль должен содержать минимум 8 символов", - "newPasswordMinLength": "Новый пароль должен содержать минимум 8 символов", + "privacyPolicy": "Политика конфиденциальности", + "passwordMinLength": "Пароль должен содержать не менее 8 символов", + "newPasswordMinLength": "Новый пароль должен содержать не менее 8 символов", "menu": { "profile": "Профиль", "checkout": "Оформление заказа", "orders": "Заказы", "settings": "Настройки", - "adminDashboard": "Панель администратора", - "adminUsers": "Администраторы" + "adminDashboard": "Административная панель", + "adminUsers": "Админ пользователи" } }, "cart": { "title": "Корзина", - "empty": "пуста", - "addToCart": "В корзину", - "preorderCutting": "Предзаказ черенка", + "empty": "пусто", + "addToCart": "Добавить в корзину", + "preorderCutting": "Предварительный заказ как черенки", "continueShopping": "Продолжить покупки", "proceedToCheckout": "Перейти к оформлению", + "productCount": "{{count}} {{count, plural, one {товар} other {товаров}}}", + "removeFromCart": "Удалить из корзины", + "openCart": "Открыть корзину", + "availableFrom": "От {{date}}", + "backToOrder": "← Назад к заказу", "sync": { "title": "Синхронизация корзины", - "description": "У вас есть сохраненная корзина в вашем аккаунте. Пожалуйста, выберите, как вы хотите действовать:", - "deleteServer": "Удалить корзину с сервера", - "useServer": "Использовать корзину с сервера", + "description": "У вас сохранена корзина в аккаунте. Пожалуйста, выберите способ продолжения:", + "deleteServer": "Удалить корзину на сервере", + "useServer": "Использовать корзину сервера", "merge": "Объединить корзины", "currentCart": "Ваша текущая корзина", - "serverCart": "Корзина, сохраненная в вашем профиле" + "serverCart": "Сохраненная корзина в профиле" } }, "product": { - "loading": "Загружается товар...", - "notFound": "Товар не найден", - "notFoundDescription": "Искомый товар не существует или был удален.", + "loading": "Загрузка продукта...", + "notFound": "Продукт не найден", + "notFoundDescription": "Искомый продукт не существует или был удален.", "backToHome": "Вернуться на главную", "error": "Ошибка", "articleNumber": "Артикул", "manufacturer": "Производитель", - "inclVat": "вкл. {{vat}}% НДС", + "inclVat": "с учетом {{vat}}% НДС", "priceUnit": "{{price}}/{{unit}}", - "new": "Новинка", - "arriving": "Прибытие:", - "inclVatFooter": "вкл. {{vat}}% НДС,*", + "new": "Новый", + "arriving": "Поступление:", + "inclVatFooter": "с учетом {{vat}}% НДС, *", "availability": "Наличие", - "inStock": "в наличии", - "comingSoon": "Скоро в наличии", + "inStock": "В наличии", + "comingSoon": "Скоро в продаже", "deliveryTime": "Время доставки", "inclShort": "вкл.", - "vatShort": "НДС" + "vatShort": "НДС", + "countDisplay": { + "noProducts": "0 товаров", + "oneProduct": "1 товар", + "multipleProducts": "{{count}} товаров", + "filteredProducts": "{{filtered}} из {{total}} товаров", + "filteredOneProduct": "{{filtered}} из 1 товара" + }, + "removeFiltersToSee": "Снимите фильтры, чтобы увидеть товары", + "outOfStock": "Нет в наличии", + "fromXProducts": "от {{count}} товаров" }, "search": { "placeholder": "Вы можете спросить меня о сортах каннабиса...", - "recording": "Идет запись..." + "recording": "Запись...", + "searchProducts": "Искать товары..." + }, + "sorting": { + "name": "Имя", + "searchField": "Поиск по запросу", + "priceLowHigh": "Цена: низкая к высокой", + "priceHighLow": "Цена: высокая к низкой" }, "chat": { - "privacyRead": "Прочитано и принято" + "privacyRead": "Прочитано & Принято" }, "delivery": { "methods": { "dhl": "DHL", "dpd": "DPD", - "sperrgut": "Крупногабаритный груз", - "pickup": "Самовывоз из филиала" + "sperrgut": "Грузы крупногабаритные", + "pickup": "Самовывоз в магазине" }, "descriptions": { "standard": "Стандартная доставка", - "standardFree": "Стандартная доставка - БЕСПЛАТНО от 100€!", - "notAvailable": "недоступно, так как один или несколько товаров можно только забрать", - "bulky": "Для больших и тяжелых товаров" + "standardFree": "Стандартная доставка - бесплатно при заказе на сумму от €100!", + "notAvailable": "недоступен, так как один или несколько товаров можно забрать только самостоятельно", + "bulky": "Для крупных и тяжелых товаров" }, "prices": { "free": "бесплатно", - "dhl": "6,99 €", - "dpd": "4,90 €", - "sperrgut": "28,99 €" + "freeFrom100": "(бесплатно при заказе от €100)", + "dhl": "€6.99", + "dpd": "€4.90", + "sperrgut": "€28.99" }, "times": { - "cutting14Days": "Время доставки: 14 дней", - "standard2to3Days": "Время доставки: 2-3 дня", - "supplier7to9Days": "Время доставки: 7-9 дней" + "cutting14Days": "Срок доставки: 14 дней", + "standard2to3Days": "Срок доставки: 2-3 дня", + "supplier7to9Days": "Срок доставки: 7-9 дней" } }, "checkout": { - "invoiceAddress": "Адрес для счета", + "invoiceAddress": "Платежный адрес", "deliveryAddress": "Адрес доставки", - "saveForFuture": "Сохранить для будущих заказов", - "pickupDate": "На какую дату желаете забрать черенки?", - "note": "Примечание", - "sameAddress": "Адрес доставки совпадает с адресом для счета", - "termsAccept": "Я прочитал Условия использования, Политику конфиденциальности и Право отказа" + "saveForFuture": "Сохранять для будущих заказов", + "pickupDate": "На какую дату предполагается забор черенков?", + "note": "Заметка", + "sameAddress": "Адрес доставки совпадает с платежным адресом", + "termsAccept": "Я ознакомлен(а) с условиями, политикой конфиденциальности и правилом о расторжении" }, "payment": { "successful": "Оплата прошла успешно!", - "failed": "Оплата не удалась", - "orderCompleted": "🎉 Ваш заказ успешно оформлен! Теперь вы можете просмотреть свои заказы.", - "orderProcessing": "Ваш платеж успешно обработан. Заказ будет автоматически завершен.", - "paymentError": "Ваш платеж не удалось обработать. Пожалуйста, попробуйте снова или выберите другой способ оплаты.", - "viewOrders": "К моим заказам" + "failed": "Ошибка оплаты", + "orderCompleted": "🎉 Ваш заказ успешно оформлен! Теперь вы можете просматривать свои заказы.", + "orderProcessing": "Ваш платеж был успешно обработан. Заказ будет автоматически завершен.", + "paymentError": "Не удалось обработать платеж. Попробуйте еще раз или выберите другой способ оплаты.", + "viewOrders": "Мои заказы" }, "filters": { "sorting": "Сортировка", - "perPage": "на странице", + "perPage": "на страницу", "availability": "Наличие", "manufacturer": "Производитель" }, "tax": { - "vat": "Налог на добавленную стоимость", + "vat": "НДС", "vat7": "7% НДС", "vat19": "19% НДС", "vat19WithShipping": "19% НДС (вкл. доставку)", - "totalNet": "Общая чистая цена", - "totalGross": "Общая цена брутто без доставки", - "subtotal": "Промежуточная сумма" + "totalNet": "Общая цена без НДС", + "totalGross": "Общая цена с НДС без доставки", + "subtotal": "Промежуточный итог" }, "footer": { "hours": "Сб 11-19", - "address": "Trachenberger Straße 14 - Dresden", - "location": "Между остановкой Pieschen и Trachenberger Platz", - "allPricesIncl": "* Все цены включают законный НДС, плюс доставка", + "address": "Trachenberger Straße 14 - Дрезден", + "location": "Между остановкой Pieschen и площадью Trachtenberger", + "allPricesIncl": "* Все цены включают установленный НДС, плюс доставку", "copyright": "© {{year}} GrowHeads.de", "legal": { - "datenschutz": "Конфиденциальность", - "agb": "Условия использования", + "datenschutz": "Политика конфиденциальности", + "agb": "Условия и положения", "sitemap": "Карта сайта", - "impressum": "Выходные данные", - "batteriegesetzhinweise": "Информация о законе о батареях", - "widerrufsrecht": "Право отказа" + "impressum": "Иммеспум", + "batteriegesetzhinweise": "Уведомления о регулировании батарей", + "widerrufsrecht": "Право отказаться" } }, "titles": { - "home": "Семена и черенки каннабиса", - "aktionen": "Актуальные акции и предложения", - "filiale": "Наш филиал в Дрездене" + "home": "ine anabis eeds & uttings", + "aktionen": "tuelle ktionen & gebote", + "filiale": "ur iliale in resden" }, "sections": { "seeds": "Семена", "stecklinge": "Черенки", - "oilPress": "Аренда маслопресса", - "thcTest": "Тест на ТГК", + "oilPress": "Аренда масляного пресса", + "thcTest": "Тест на THC", "address1": "Trachenberger Straße 14", - "address2": "01129 Dresden" + "address2": "01129 Дрезден" }, "pages": { "oilPress": { - "title": "Аренда маслопресса", - "comingSoon": "Содержимое скоро появится..." + "title": "Аренда масляного пресса", + "comingSoon": "Скоро содержание..." }, "thcTest": { - "title": "Тест на ТГК", - "comingSoon": "Содержимое скоро появится..." + "title": "Тест на THC", + "comingSoon": "Скоро содержание..." } }, "orders": { "status": { - "new": "в обработке", + "new": "В обработке", "pending": "Новый", - "processing": "в обработке", + "processing": "В процессе", "cancelled": "Отменен", "shipped": "Отправлен", "delivered": "Доставлен", "return": "Возврат", "partialReturn": "Частичный возврат", - "partialDelivered": "Частично доставлен" + "partialDelivered": "Частичная доставка" } }, "common": { @@ -188,8 +215,8 @@ export default { "error": "Ошибка", "close": "Закрыть", "save": "Сохранить", - "cancel": "Отменить", - "ok": "OK", + "cancel": "Отмена", + "ok": "ОК", "yes": "Да", "no": "Нет", "next": "Далее", @@ -197,8 +224,8 @@ export default { "edit": "Редактировать", "delete": "Удалить", "add": "Добавить", - "remove": "Убрать", + "remove": "Удалить", "products": "Товары", "product": "Товар" } -} \ No newline at end of file +}; diff --git a/src/i18n/locales/sk/translation.js b/src/i18n/locales/sk/translation.js index a17267b..3170cea 100644 --- a/src/i18n/locales/sk/translation.js +++ b/src/i18n/locales/sk/translation.js @@ -1,185 +1,212 @@ export default { + "locale": { + "code": "sk-SK" + }, "navigation": { "home": "Domov", "aktionen": "Akcie", "filiale": "Pobočka", "categories": "Kategórie", "categoriesOpen": "Otvoriť kategórie", - "categoriesClose": "Zatvoriť kategórie" + "categoriesClose": "Zatvoriť kategórie", + "otherCategories": "Iné kategórie" }, "auth": { "login": "Prihlásiť sa", - "register": "Registrovať sa", + "register": "Zaregistrovať sa", "logout": "Odhlásiť sa", "profile": "Profil", - "email": "E-mail", + "email": "Email", "password": "Heslo", "confirmPassword": "Potvrdiť heslo", - "forgotPassword": "Zabudli ste heslo?", - "loginWithGoogle": "Prihlásiť sa s Google", - "or": "ALEBO", - "privacyAccept": "Kliknutím na \"Prihlásiť sa s Google\" súhlasím s", - "privacyPolicy": "Pravidlami ochrany súkromia", - "passwordMinLength": "Heslo musí mať aspoň 8 znakov", - "newPasswordMinLength": "Nové heslo musí mať aspoň 8 znakov", + "forgotPassword": " Zabudli ste heslo?", + "loginWithGoogle": "Prihlásiť sa cez Google", + "or": "ALebo", + "privacyAccept": "Kliknutím na \"Prihlásiť sa cez Google\" súhlasím s", + "privacyPolicy": "Zásadami ochrany osobných údajov", + "passwordMinLength": "Heslo musí mať najmenej 8 znakov", + "newPasswordMinLength": "Nové heslo musí mať najmenej 8 znakov", "menu": { "profile": "Profil", - "checkout": "Dokončenie objednávky", + "checkout": "Pokladňa", "orders": "Objednávky", "settings": "Nastavenia", - "adminDashboard": "Admin Dashboard", - "adminUsers": "Admin používatelia" + "adminDashboard": "Administrátorský panel", + "adminUsers": "Administrátori" } }, "cart": { "title": "Nákupný košík", "empty": "prázdny", - "addToCart": "Do košíka", - "preorderCutting": "Predobjednať ako sadbu", - "continueShopping": "Pokračovať v nákupe", - "proceedToCheckout": "Pokračovať k pokladni", + "addToCart": "Pridať do košíka", + "preorderCutting": "Predobjednávka ako rezanky", + "continueShopping": "Pokračovať v nakupovaní", + "proceedToCheckout": "Prejsť ku pokladni", + "productCount": "{{count}} {{count, plural, one {produkt} other {produkty}}}", + "removeFromCart": "Odstrániť z košíka", + "openCart": "Otvoriť košík", + "availableFrom": "Od {{date}}", + "backToOrder": "← Späť na objednávku", "sync": { "title": "Synchronizácia košíka", - "description": "Máte uložený košík vo vašom účte. Prosím vyberte, ako chcete pokračovať:", - "deleteServer": "Vymazať košík na serveri", - "useServer": "Prevziať košík zo servera", - "merge": "Spojiť košíky", + "description": "Vo vašom účte máte uložený košík. Vyberte spôsob pokračovania:", + "deleteServer": "Vymazať serverový košík", + "useServer": "Použiť serverový košík", + "merge": "Zlúčiť košíky", "currentCart": "Váš aktuálny košík", - "serverCart": "Košík uložený vo vašom profile" + "serverCart": "Uložený košík vo vašom profile" } }, "product": { - "loading": "Produkt sa načítava...", - "notFound": "Produkt sa nenašiel", + "loading": "Načítava sa produkt...", + "notFound": "Produkt nenájdený", "notFoundDescription": "Hľadaný produkt neexistuje alebo bol odstránený.", - "backToHome": "Späť na domovskú stránku", + "backToHome": "Späť na hlavnú stránku", "error": "Chyba", - "articleNumber": "Číslo článku", + "articleNumber": "Číslo produktu", "manufacturer": "Výrobca", "inclVat": "vrátane {{vat}}% DPH", "priceUnit": "{{price}}/{{unit}}", - "new": "Nové", + "new": "Nový", "arriving": "Príchod:", - "inclVatFooter": "vrátane {{vat}}% DPH,*", + "inclVatFooter": "vrátane {{vat}}% DPH, *", "availability": "Dostupnosť", - "inStock": "na sklade", + "inStock": "Skladom", "comingSoon": "Čoskoro dostupné", - "deliveryTime": "Doba dodania", + "deliveryTime": "Čas doručenia", "inclShort": "vrátane", - "vatShort": "DPH" + "vatShort": "DPH", + "countDisplay": { + "noProducts": "0 produktov", + "oneProduct": "1 produkt", + "multipleProducts": "{{count}} produktov", + "filteredProducts": "{{filtered}} z {{total}} produktov", + "filteredOneProduct": "{{filtered}} z 1 produktu" + }, + "removeFiltersToSee": "Odstráňte filtre pre zobrazenie produktov", + "outOfStock": " vypredané", + "fromXProducts": "z {{count}} produktov" }, "search": { - "placeholder": "Môžete sa ma spýtať na odrody konope...", - "recording": "Nahráva sa..." + "placeholder": "Môžete sa ma opýtať na odrody cannabis...", + "recording": "Nahrávanie...", + "searchProducts": "Hľadať produkty..." + }, + "sorting": { + "name": "Názov", + "searchField": "Hľadaný výraz", + "priceLowHigh": "Cena: Od najnižšej po najvyššiu", + "priceHighLow": "Cena: Od najvyššej po najnižšiu" }, "chat": { - "privacyRead": "Prečítané a akceptované" + "privacyRead": "Prečítané & Akceptované" }, "delivery": { "methods": { "dhl": "DHL", "dpd": "DPD", - "sperrgut": "Nadrozmerný tovar", - "pickup": "Vyzdvihnutie v pobočke" + "sperrgut": "Nákladné veci", + "pickup": "Osobný odber v predajni" }, "descriptions": { - "standard": "Štandardné doručenie", - "standardFree": "Štandardné doručenie - ZADARMO od 100€ hodnoty tovaru!", - "notAvailable": "nie je možné vybrať, pretože jeden alebo viac produktov je možné len vyzdvihnúť", - "bulky": "Pre veľké a ťažké produkty" + "standard": "Štandardná doprava", + "standardFree": "Štandardná doprava - ZADARMO od €100 hodnoty tovaru!", + "notAvailable": "nevybrať si, pretože niektoré položky je možné iba osobne vyzdvihnúť", + "bulky": "Pre väčšie a ťažké položky" }, "prices": { "free": "zadarmo", - "dhl": "6,99 €", - "dpd": "4,90 €", - "sperrgut": "28,99 €" + "freeFrom100": "(zadarmo od €100)", + "dhl": "€6.99", + "dpd": "€4.90", + "sperrgut": "€28.99" }, "times": { - "cutting14Days": "Doba dodania: 14 dní", - "standard2to3Days": "Doba dodania: 2-3 dni", - "supplier7to9Days": "Doba dodania: 7-9 dní" + "cutting14Days": "Doba doručenia: 14 dní", + "standard2to3Days": "Doba doručenia: 2-3 dni", + "supplier7to9Days": "Doba doručenia: 7-9 dní" } }, "checkout": { "invoiceAddress": "Fakturačná adresa", "deliveryAddress": "Dodacia adresa", "saveForFuture": "Uložiť pre budúce objednávky", - "pickupDate": "Na ktorý termín si želáte vyzdvihnúť sadby?", + "pickupDate": "Pre ktoré dátum je žiadaný odber rezaniek?", "note": "Poznámka", - "sameAddress": "Dodacia adresa je totožná s fakturačnou adresou", - "termsAccept": "Prečítal som si VOP, vyhlásenie o ochrane súkromia a podmienky práva na odstúpenie od zmluvy" + "sameAddress": "Dodacia adresa je rovnaká ako fakturačná", + "termsAccept": "Prečítal(a) som si podmienky, zásady ochrany osobných údajov a storno podmienky" }, "payment": { - "successful": "Platba úspešná!", - "failed": "Platba neúspešná", - "orderCompleted": "🎉 Vaša objednávka bola úspešne dokončená! Teraz si môžete zobraziť svoje objednávky.", - "orderProcessing": "Vaša platba bola úspešne spracovaná. Objednávka sa automaticky dokončí.", - "paymentError": "Vašu platbu sa nepodarilo spracovať. Prosím skúste to znovu alebo vyberte iný spôsob platby.", + "successful": "Platba bola úspešná!", + "failed": "Platba zlyhala", + "orderCompleted": "🎉 Vaša objednávka bola úspešne dokončená! Teraz si môžete pozrieť svoje objednávky.", + "orderProcessing": "Vaša platba bola úspešne spracovaná. Objednávka bude automaticky dokončená.", + "paymentError": "Vašu platbu sa nepodarilo spracovať. Skúste to znova alebo zvoľte inú platobnú metódu.", "viewOrders": "Zobraziť moje objednávky" }, "filters": { - "sorting": "Triedenie", + "sorting": "Zoradenie", "perPage": "na stránku", "availability": "Dostupnosť", "manufacturer": "Výrobca" }, "tax": { - "vat": "Daň z pridanej hodnoty", + "vat": "DPH", "vat7": "7% DPH", "vat19": "19% DPH", "vat19WithShipping": "19% DPH (vrátane dopravy)", - "totalNet": "Celková cena bez DPH", - "totalGross": "Celková cena s DPH bez dopravy", + "totalNet": "Celková čistá cena", + "totalGross": "Celková hrubá cena bez dopravy", "subtotal": "Medzisúčet" }, "footer": { - "hours": "So 11-19", - "address": "Trachenberger Straße 14 - Dresden", - "location": "Medzi zastávkou Pieschen a Trachenberger Platz", + "hours": "Sobota 11-19", + "address": "Trachenberger Straße 14 - Drážďany", + "location": "Medzi zastávkou Pieschen a námestím Trachenberger", "allPricesIncl": "* Všetky ceny vrátane zákonnej DPH, plus doprava", "copyright": "© {{year}} GrowHeads.de", "legal": { - "datenschutz": "Ochrana údajov", - "agb": "VOP", - "sitemap": "Mapa stránky", + "datenschutz": "Zásady ochrany osobných údajov", + "agb": "Obchodné podmienky", + "sitemap": "Mapa stránok", "impressum": "Impressum", - "batteriegesetzhinweise": "Upozornenia o zákone o batériách", - "widerrufsrecht": "Právo na odstúpenie" + "batteriegesetzhinweise": "Upozornenia k regulácii batérií", + "widerrufsrecht": "Právo na odstúpenie od zmluvy" } }, "titles": { - "home": "Konopné semená a sadby", - "aktionen": "Aktuálne akcie a ponuky", - "filiale": "Naša pobočka v Drážďanoch" + "home": "ine anabis eeds & uttings", + "aktionen": "tuelle ktionen & gebote", + "filiale": "ur iliale in resden" }, "sections": { - "seeds": "Semená", - "stecklinge": "Sadby", - "oilPress": "Požičanie lis na olej", - "thcTest": "THC test", + "seeds": "Semienka", + "stecklinge": "Rezanky", + "oilPress": "Prenájom lisov na olej", + "thcTest": "Test na THC", "address1": "Trachenberger Straße 14", - "address2": "01129 Dresden" + "address2": "01129 Drážďany" }, "pages": { "oilPress": { - "title": "Požičanie lis na olej", - "comingSoon": "Obsah bude čoskoro..." + "title": "Prenájom lisov na olej", + "comingSoon": "Obsah čoskoro..." }, "thcTest": { - "title": "THC test", - "comingSoon": "Obsah bude čoskoro..." + "title": "Test na THC", + "comingSoon": "Obsah čoskoro..." } }, "orders": { "status": { - "new": "v spracovaní", - "pending": "Nové", - "processing": "v spracovaní", - "cancelled": "Zrušené", - "shipped": "Odoslané", - "delivered": "Doručené", - "return": "Vrátené", - "partialReturn": "Čiastočne vrátené", + "new": "V priebehu", + "pending": "Nová", + "processing": "Spracováva sa", + "cancelled": "Zrušená", + "shipped": "Odoslaná", + "delivered": "Doručená", + "return": "Vrátenie", + "partialReturn": "Čiastočné vrátenie", "partialDelivered": "Čiastočne doručené" } }, @@ -201,4 +228,4 @@ export default { "products": "Produkty", "product": "Produkt" } -} \ No newline at end of file +}; diff --git a/src/i18n/locales/sl/translation.js b/src/i18n/locales/sl/translation.js new file mode 100644 index 0000000..ea4e8e4 --- /dev/null +++ b/src/i18n/locales/sl/translation.js @@ -0,0 +1,231 @@ +export default { + "locale": { + "code": "sl-SI" + }, + "navigation": { + "home": "Domov", + "aktionen": "Akcije", + "filiale": "Podružnica", + "categories": "Kategorije", + "categoriesOpen": "Odprte kategorije", + "categoriesClose": "Zapri kategorije", + "otherCategories": "Druge kategorije" + }, + "auth": { + "login": "Prijava", + "register": "Registracija", + "logout": "Odjava", + "profile": "Profil", + "email": "Email", + "password": "Geslo", + "confirmPassword": "Potrdite geslo", + "forgotPassword": "Pozabljeno geslo?", + "loginWithGoogle": "Prijava z Google", + "or": "ALI", + "privacyAccept": "Klikom na \"Prijava z Google\" sprejemam", + "privacyPolicy": "Politiko zasebnosti", + "passwordMinLength": "Geslo mora biti vsaj 8 znakov dolgo", + "newPasswordMinLength": "Novo geslo mora biti vsaj 8 znakov dolgo", + "menu": { + "profile": "Profil", + "checkout": "Pogled", + "orders": "Naročila", + "settings": "Nastavitve", + "adminDashboard": "Nadzorna plošča administratorja", + "adminUsers": "Uporabniki administratorja" + } + }, + "cart": { + "title": "Košarica", + "empty": "prazno", + "addToCart": "Dodaj v košarico", + "preorderCutting": "Prednaročilo kot odrezki", + "continueShopping": "Nadaljuj z nakupom", + "proceedToCheckout": "Pojdi na plačilo", + "productCount": "{{count}} {{count, plural, one {izdelek} other {izdelekov}}}", + "removeFromCart": "Odstrani iz košarice", + "openCart": "Odpri košarico", + "availableFrom": "Od {{date}}", + "backToOrder": "← Nazaj k naročilu", + "sync": { + "title": "Sinhronizacija košarice", + "description": "V vašem računu imate shranjeno košarico. Prosimo, izberite, kako želite nadaljevati:", + "deleteServer": "Izbriši strežniško košarico", + "useServer": "Uporabi strežniško košarico", + "merge": "Združitev košaric", + "currentCart": "Vaša trenutna košarica", + "serverCart": "Shranjena košarica v vašem profilu" + } + }, + "product": { + "loading": "Navajanje izdelka...", + "notFound": "Izdelka ni mogoče najti", + "notFoundDescription": "Iskanega izdelka ni, ali pa je bil odstranjen.", + "backToHome": "Nazaj na domačo stran", + "error": "Napaka", + "articleNumber": "Številka artikla", + "manufacturer": "Proizvajalec", + "inclVat": "vključuje {{vat}}% DDV", + "priceUnit": "{{price}}/{{unit}}", + "new": "Nov", + "arriving": "Prihod:", + "inclVatFooter": "vključuje {{vat}}% DDV, *", + "availability": "Razpoložljivost", + "inStock": "Na zalogi", + "comingSoon": "Prihaja kmalu", + "deliveryTime": "Čas dostave", + "inclShort": "vključno", + "vatShort": "DDV", + "countDisplay": { + "noProducts": "0 izdelkov", + "oneProduct": "1 izdelek", + "multipleProducts": "{{count}} izdelkov", + "filteredProducts": "{{filtered}} od {{total}} izdelkov", + "filteredOneProduct": "{{filtered}} od 1 izdelka" + }, + "removeFiltersToSee": "Odstranite filtre za ogled izdelkov", + "outOfStock": "Ni na voljo", + "fromXProducts": "od {{count}} izdelkov" + }, + "search": { + "placeholder": "Lahko me vprašate o sortah konoplje...", + "recording": "Posnetek...", + "searchProducts": "Išči izdelke..." + }, + "sorting": { + "name": "Ime", + "searchField": "Iskalni izraz", + "priceLowHigh": "Cena: od najnižje do najvišje", + "priceHighLow": "Cena: od najvišje do najnižje" + }, + "chat": { + "privacyRead": "Prebrano in sprejeto" + }, + "delivery": { + "methods": { + "dhl": "DHL", + "dpd": "DPD", + "sperrgut": "Veleprodaja", + "pickup": "Prevzem v trgovini" + }, + "descriptions": { + "standard": "Standardna dostava", + "standardFree": "Standardna dostava - BREZPLAČNO od zneska €100!", + "notAvailable": "ni mogoče izbrati, ker je en ali več artiklov mogoče osebno prevzeti", + "bulky": "Za velike in težke artikle" + }, + "prices": { + "free": "brezplačno", + "freeFrom100": "(brezplačno od €100)", + "dhl": "€6.99", + "dpd": "€4.90", + "sperrgut": "€28.99" + }, + "times": { + "cutting14Days": "Čas dostave: 14 dni", + "standard2to3Days": "Čas dostave: 2-3 dni", + "supplier7to9Days": "Čas dostave: 7-9 dni" + } + }, + "checkout": { + "invoiceAddress": "Naslov za račun", + "deliveryAddress": "Naslov dostave", + "saveForFuture": "Shrani za prihodnja naročila", + "pickupDate": "Za kateri datum je želena osebna prevzem odrezkov?", + "note": "Opomba", + "sameAddress": "Naslov dostave je enak naslovu za račun", + "termsAccept": "Prebral/a sem in sprejemam pogoje poslovanja, politiko zasebnosti in politiko odstopa" + }, + "payment": { + "successful": "Plačilo uspešno!", + "failed": "Plačilo ni uspelo", + "orderCompleted": "🎉 Vaše naročilo je bilo uspešno zaključeno! Sedaj lahko ogledate vaša naročila.", + "orderProcessing": "Vaše plačilo je bilo uspešno obdelano. Naročilo bo samodejno zaključeno.", + "paymentError": "Vašega plačila ni mogoče obdelati. Prosimo, poskusite znova ali izberite drugoPlačilo metodo.", + "viewOrders": "Ogled mojih naročil" + }, + "filters": { + "sorting": "Sortiranje", + "perPage": "na stran", + "availability": "Razpoložljivost", + "manufacturer": "Proizvajalec" + }, + "tax": { + "vat": "DDV", + "vat7": "7% DDV", + "vat19": "19% DDV", + "vat19WithShipping": "19% DDV (z dostavo)", + "totalNet": "Skupni neto znesek", + "totalGross": "Skupni bruto znesek brez dostave", + "subtotal": "Združen znesek" + }, + "footer": { + "hours": "Sob 11-19", + "address": "Trachenberger Straße 14 - Dresden", + "location": "Med postajama Pieschen in Trachenberger Platz", + "allPricesIncl": "* Vse cene vključujejo zakonit DDV, plus dostavo", + "copyright": "© {{year}} GrowHeads.de", + "legal": { + "datenschutz": "Politika zasebnosti", + "agb": "Pogoji in določila", + "sitemap": "Zemljevid strani", + "impressum": "Impressum", + "batteriegesetzhinweise": "Opombe glede zakonodaje baterij", + "widerrufsrecht": "Pravica do odstopa" + } + }, + "titles": { + "home": "ne anabis eeds & uttings", + "aktionen": "tuelle ktionen & gebote", + "filiale": "ur iliale in resden" + }, + "sections": { + "seeds": "Semena", + "stecklinge": "Odrezki", + "oilPress": "Najem stiskalnice za olje", + "thcTest": "Test THC", + "address1": "Trachenberger Straße 14", + "address2": "01129 Dresden" + }, + "pages": { + "oilPress": { + "title": "Najem stiskalnice za olje", + "comingSoon": "Vsebina prihaja kmalu..." + }, + "thcTest": { + "title": "Test THC", + "comingSoon": "Vsebina prihaja kmalu..." + } + }, + "orders": { + "status": { + "new": "V obdelavi", + "pending": "Nove", + "processing": "V obdelavi", + "cancelled": "Preklicano", + "shipped": "Poslano", + "delivered": "Dostavljeno", + "return": "Vrnitev", + "partialReturn": "Delna vrnitev", + "partialDelivered": "Delno dostavljeno" + } + }, + "common": { + "loading": "Nalaganje...", + "error": "Napaka", + "close": "Zapri", + "save": "Shrani", + "cancel": "Prekliči", + "ok": "V redu", + "yes": "Da", + "no": "Ne", + "next": "Naprej", + "back": "Nazaj", + "edit": "Uredi", + "delete": "Izbriši", + "add": "Dodaj", + "remove": "Odstrani", + "products": "Izdelki", + "product": "Izdelek" + } +}; diff --git a/src/i18n/locales/sr/translation.js b/src/i18n/locales/sr/translation.js index b333acd..23d4349 100644 --- a/src/i18n/locales/sr/translation.js +++ b/src/i18n/locales/sr/translation.js @@ -1,98 +1,125 @@ export default { + "locale": { + "code": "sr-RS" + }, "navigation": { "home": "Početna", "aktionen": "Akcije", "filiale": "Filijala", "categories": "Kategorije", - "categoriesOpen": "Otvoriti kategorije", - "categoriesClose": "Zatvoriti kategorije" + "categoriesOpen": "Otvorene kategorije", + "categoriesClose": "Zatvori kategorije", + "otherCategories": "Ostale kategorije" }, "auth": { - "login": "Prijaviti se", - "register": "Registrovati se", - "logout": "Odjaviti se", + "login": "Prijava", + "register": "Registracija", + "logout": "Odjava", "profile": "Profil", - "email": "E-mail", + "email": "Email", "password": "Lozinka", - "confirmPassword": "Potvrditi lozinku", + "confirmPassword": "Potvrdi lozinku", "forgotPassword": "Zaboravili ste lozinku?", - "loginWithGoogle": "Prijaviti se sa Google", + "loginWithGoogle": "Prijavi se putem Google-a", "or": "ILI", - "privacyAccept": "Klikom na \"Prijaviti se sa Google\" prihvatam", - "privacyPolicy": "Pravila privatnosti", - "passwordMinLength": "Lozinka mora imati najmanje 8 karaktera", - "newPasswordMinLength": "Nova lozinka mora imati najmanje 8 karaktera", + "privacyAccept": "Klikom na \"Prijavi se putem Google-a\", prihvatam", + "privacyPolicy": "Politiku privatnosti", + "passwordMinLength": "Lozinka mora biti najmanje 8 karaktera dugačka", + "newPasswordMinLength": "Nova lozinka mora biti najmanje 8 karaktera dugačka", "menu": { "profile": "Profil", - "checkout": "Završetak porudžbine", + "checkout": "Plaćanje", "orders": "Porudžbine", "settings": "Podešavanja", - "adminDashboard": "Admin Dashboard", + "adminDashboard": "Admin kontrolna tabla", "adminUsers": "Admin korisnici" } }, "cart": { - "title": "Korpa", - "empty": "prazna", - "addToCart": "U korpu", - "preorderCutting": "Preorder kao sadnica", + "title": "Korpa za kupovinu", + "empty": "prazno", + "addToCart": "Dodaj u korpu", + "preorderCutting": "Prednarudžbina kao sečevi", "continueShopping": "Nastavi sa kupovinom", - "proceedToCheckout": "Idi na kasu", + "proceedToCheckout": "Nastavi na plaćanje", + "productCount": "{{count}} {{count, plural, one {proizvod} other {proizvoda}}}", + "removeFromCart": "Ukloni iz korpe", + "openCart": "Otvoriti korpu", + "availableFrom": "Od {{date}}", + "backToOrder": "← Nazad na narudžbinu", "sync": { "title": "Sinhronizacija korpe", - "description": "Imate sačuvanu korpu u vašem nalogu. Molimo odaberite kako želite da nastavite:", - "deleteServer": "Obrisati korpu na serveru", - "useServer": "Preuzeti korpu sa servera", - "merge": "Spojiti korpe", + "description": "Imate sačuvanu korpu na vašem nalogu. Molimo izaberite kako da nastavite:", + "deleteServer": "Obriši serversku korpu", + "useServer": "Koristi serversku korpu", + "merge": "Spoji korpe", "currentCart": "Vaša trenutna korpa", - "serverCart": "Korpa sačuvana u vašem profilu" + "serverCart": "Sačuvana korpa u vašem profilu" } }, "product": { - "loading": "Proizvod se učitava...", + "loading": "Učitava se proizvod...", "notFound": "Proizvod nije pronađen", - "notFoundDescription": "Traženi proizvod ne postoji ili je uklonjen.", - "backToHome": "Nazad na početnu", + "notFoundDescription": "Pretraženi proizvod ne postoji ili je uklonjen.", + "backToHome": "Nazad na početnu stranu", "error": "Greška", "articleNumber": "Broj artikla", "manufacturer": "Proizvođač", - "inclVat": "uključuje {{vat}}% PDV", + "inclVat": "uključujući {{vat}}% PDV", "priceUnit": "{{price}}/{{unit}}", "new": "Novo", - "arriving": "Dolazak:", - "inclVatFooter": "uključuje {{vat}}% PDV,*", - "availability": "Dostupnost", - "inStock": "na stanju", - "comingSoon": "Uskoro dostupno", + "arriving": "Dolazi:", + "inclVatFooter": "uključujući {{vat}}% PDV, *", + "availability": "Na stanju", + "inStock": "Na lageru", + "comingSoon": "Uskoro na prodaji", "deliveryTime": "Vreme isporuke", - "inclShort": "uključuje", - "vatShort": "PDV" + "inclShort": "ukl.", + "vatShort": "PDV", + "countDisplay": { + "noProducts": "0 proizvoda", + "oneProduct": "1 proizvod", + "multipleProducts": "{{count}} proizvoda", + "filteredProducts": "{{filtered}} od {{total}} proizvoda", + "filteredOneProduct": "{{filtered}} od 1 proizvoda" + }, + "removeFiltersToSee": "Uklonite filtere da biste videli proizvode", + "outOfStock": "Nema na stanju", + "fromXProducts": "od {{count}} proizvoda" }, "search": { - "placeholder": "Možete me pitati o sojevima kanabisa...", - "recording": "Snimanje u toku..." + "placeholder": "Možete me pitati o sortama kanabisa...", + "recording": "Snima se...", + "searchProducts": "Pretraži proizvode..." + }, + "sorting": { + "name": "Ime", + "searchField": "Ključna reč", + "priceLowHigh": "Cena: od niže ka višoj", + "priceHighLow": "Cena: od višе ka nižој" }, "chat": { - "privacyRead": "Pročitano i prihvaćeno" + "privacyRead": "Pročitao i prihvatio" }, "delivery": { "methods": { "dhl": "DHL", "dpd": "DPD", - "sperrgut": "Krupna roba", - "pickup": "Preuzimanje u filijali" + "sperrgut": "Masovne robe", + "pickup": "Preuzimanje u prodavnici" }, "descriptions": { - "standard": "Standardna dostava", - "standardFree": "Standardna dostava - BESPLATNO od 100€ vrednosti robe!", - "notAvailable": "nije moguće odabrati jer jedan ili više proizvoda može samo da se preuzme", - "bulky": "Za velike i teške proizvode" + "standard": "Standardna isporuka", + "standardFree": "Standardna isporuka - BESPLATNO od robe u vrednosti od 100 €!", + "notAvailable": "nije dostupno za odabir jer jedna ili više stavki mogu samo lično preuzeti", + "bulky": "Za velike i teške artikle" }, "prices": { "free": "besplatno", - "dhl": "6,99 €", - "dpd": "4,90 €", - "sperrgut": "28,99 €" + "freeFrom100": "(besplatno od 100 €)", + "dhl": "€6.99", + "dpd": "€4.90", + "sperrgut": "€28.99" }, "times": { "cutting14Days": "Vreme isporuke: 14 dana", @@ -101,21 +128,21 @@ export default { } }, "checkout": { - "invoiceAddress": "Adresa za račun", + "invoiceAddress": "Adresa za fakturisanje", "deliveryAddress": "Adresa za dostavu", - "saveForFuture": "Sačuvati za buduće porudžbine", - "pickupDate": "Za koji termin želite preuzimanje sadnica?", + "saveForFuture": "Sačuvaj za buduće porudžbine", + "pickupDate": "Za koji datum je željeno preuzimanje sečeva?", "note": "Napomena", - "sameAddress": "Adresa za dostavu je identična sa adresom za račun", - "termsAccept": "Pročitao sam Opšte uslove, Izjavu o privatnosti i uslove prava na odustajanje" + "sameAddress": "Adresa za dostavu je ista kao adresa za fakturisanje", + "termsAccept": "Pročitao sam i prihvatam uslove korišćenja, politiku privatnosti i politiku otkazivanja" }, "payment": { "successful": "Plaćanje uspešno!", - "failed": "Plaćanje neuspešno", - "orderCompleted": "🎉 Vaša porudžbina je uspešno završena! Sada možete da pogledate svoje porudžbine.", - "orderProcessing": "Vaše plaćanje je uspešno obrađeno. Porudžbina će se automatski završiti.", - "paymentError": "Vaše plaćanje nije moglo biti obrađeno. Molimo pokušajte ponovo ili odaberite drugi način plaćanja.", - "viewOrders": "Pogledaj moje porudžbine" + "failed": "Plaćanje nije uspelo", + "orderCompleted": "🎉 Vaša porudžbina je uspešno završena! Sada možete pregledati vaše porudžbine.", + "orderProcessing": "Vaše plaćanje je uspešno obrađeno. Porudžbina će biti automatski završena.", + "paymentError": "Plaćanje nije bilo moguće obraditi. Molimo pokušajte ponovo ili izaberite drugo metod plaćanja.", + "viewOrders": "Prikaži moje porudžbine" }, "filters": { "sorting": "Sortiranje", @@ -124,81 +151,81 @@ export default { "manufacturer": "Proizvođač" }, "tax": { - "vat": "Porez na dodatu vrednost", + "vat": "PDV", "vat7": "7% PDV", "vat19": "19% PDV", - "vat19WithShipping": "19% PDV (uključuje dostavu)", + "vat19WithShipping": "19% PDV (uključujući isporuku)", "totalNet": "Ukupna neto cena", - "totalGross": "Ukupna bruto cena bez dostave", - "subtotal": "Međuzbroj" + "totalGross": "Ukupna bruto cena bez troškova isporuke", + "subtotal": "Međuzbir" }, "footer": { "hours": "Sub 11-19", "address": "Trachenberger Straße 14 - Dresden", - "location": "Između stanice Pieschen i Trachenberger Platz", - "allPricesIncl": "* Sve cene uključuju zakonski PDV, plus dostava", + "location": "Između Pieschen stajališta i Trachenberger Platz", + "allPricesIncl": "* Sve cene uključuju zakonski PDV, plus troškove isporuke", "copyright": "© {{year}} GrowHeads.de", "legal": { - "datenschutz": "Zaštita podataka", - "agb": "Opšti uslovi", + "datenschutz": "Politika privatnosti", + "agb": "Uslovi korišćenja", "sitemap": "Mapa sajta", - "impressum": "Impressum", - "batteriegesetzhinweise": "Napomene o zakonu o baterijama", + "impressum": "Impresum", + "batteriegesetzhinweise": "Napomene o regulativi za baterije", "widerrufsrecht": "Pravo na odustajanje" } }, "titles": { - "home": "Kanabis seme i sadnice", - "aktionen": "Trenutne akcije i ponude", - "filiale": "Naša filijala u Drezdenu" + "home": "ine anabis eeds & uttings", + "aktionen": "tuelle ktionen & gebote", + "filiale": "ur iliale in resden" }, "sections": { - "seeds": "Semena", - "stecklinge": "Sadnice", - "oilPress": "Iznajmiti presu za ulje", - "thcTest": "THC test", + "seeds": "Seme", + "stecklinge": "Sečevi", + "oilPress": "Iznajmljivanje presa za ulje", + "thcTest": "Test THC", "address1": "Trachenberger Straße 14", "address2": "01129 Dresden" }, "pages": { "oilPress": { - "title": "Iznajmiti presu za ulje", + "title": "Iznajmljivanje presa za ulje", "comingSoon": "Sadržaj uskoro..." }, "thcTest": { - "title": "THC test", + "title": "Test THC", "comingSoon": "Sadržaj uskoro..." } }, "orders": { "status": { - "new": "u obradi", - "pending": "Novo", - "processing": "u obradi", + "new": "U toku", + "pending": "Novi", + "processing": "U pripremi", "cancelled": "Otkazano", - "shipped": "Poslano", + "shipped": "Poslato", "delivered": "Dostavljeno", - "return": "Vraćeno", - "partialReturn": "Delimično vraćeno", - "partialDelivered": "Delimično dostavljeno" + "return": "Vraćanje", + "partialReturn": "Delimično vraćanje", + "partialDelivered": "Delimično isporučeno" } }, "common": { "loading": "Učitava se...", "error": "Greška", - "close": "Zatvoriti", - "save": "Sačuvati", - "cancel": "Otkazati", - "ok": "OK", + "close": "Zatvori", + "save": "Sačuvaj", + "cancel": "Otkaži", + "ok": "U redu", "yes": "Da", "no": "Ne", - "next": "Dalje", + "next": "Sledeće", "back": "Nazad", - "edit": "Urediti", - "delete": "Obrisati", - "add": "Dodati", - "remove": "Ukloniti", + "edit": "Izmeni", + "delete": "Obriši", + "add": "Dodaj", + "remove": "Ukloni", "products": "Proizvodi", "product": "Proizvod" } -} \ No newline at end of file +}; diff --git a/src/i18n/locales/sv/translation.js b/src/i18n/locales/sv/translation.js new file mode 100644 index 0000000..09acd5a --- /dev/null +++ b/src/i18n/locales/sv/translation.js @@ -0,0 +1,231 @@ +export default { + "locale": { + "code": "sv-SE" + }, + "navigation": { + "home": "Hem", + "aktionen": "Åtgärder", + "filiale": "Filial", + "categories": "Kategorier", + "categoriesOpen": "Öppna kategorier", + "categoriesClose": "Stäng kategorier", + "otherCategories": "Andra kategorier" + }, + "auth": { + "login": "Logga in", + "register": "Registrera", + "logout": "Logga ut", + "profile": "Profil", + "email": "E-post", + "password": "Lösenord", + "confirmPassword": "Bekräfta lösenord", + "forgotPassword": "Glömt lösenord?", + "loginWithGoogle": "Logga in med Google", + "or": "ELLER", + "privacyAccept": "Genom att klicka på \"Logga in med Google\" accepterar jag", + "privacyPolicy": "Integritetspolicy", + "passwordMinLength": "Lösenordet måste vara minst 8 tecken långt", + "newPasswordMinLength": "Det nya lösenordet måste vara minst 8 tecken långt", + "menu": { + "profile": "Profil", + "checkout": "Kassa", + "orders": "Beställningar", + "settings": "Inställningar", + "adminDashboard": "Admin Dashboard", + "adminUsers": "Admin Användare" + } + }, + "cart": { + "title": "Varukorg", + "empty": "tom", + "addToCart": "Lägg i kundvagn", + "preorderCutting": "Förbeställ som klipp", + "continueShopping": "Fortsätt handla", + "proceedToCheckout": "Gå till kassan", + "productCount": "{{count}} {{count, plural, one {produkt} other {produkter}}}", + "removeFromCart": "Ta bort från kundvagn", + "openCart": "Öppna kundvagn", + "availableFrom": "Från {{date}}", + "backToOrder": "← Tillbaka till beställning", + "sync": { + "title": "Korgs synkronisering", + "description": "Du har en sparad kundvagn i ditt konto. Vänligen välj hur du vill gå vidare:", + "deleteServer": "Ta bort serverkundvagn", + "useServer": "Använd serverkundvagn", + "merge": "Foga samman kundvagnarna", + "currentCart": "Din aktuella kundvagn", + "serverCart": "Sparad kundvagn i din profil" + } + }, + "product": { + "loading": "Laddar produkten...", + "notFound": "Produkten hittades inte", + "notFoundDescription": "Den sökta produkten finns inte eller har tagits bort.", + "backToHome": "Tillbaka till startsidan", + "error": "Fel", + "articleNumber": "Artikelnummer", + "manufacturer": "Tillverkare", + "inclVat": "inklusive {{vat}}% moms", + "priceUnit": "{{price}}/{{unit}}", + "new": "Ny", + "arriving": "Ankomst:", + "inclVatFooter": "inklusive {{vat}}% moms, *", + "availability": "Tillgänglighet", + "inStock": "I lager", + "comingSoon": "Kommer snart", + "deliveryTime": "Leveranstid", + "inclShort": "inkl.", + "vatShort": "moms", + "countDisplay": { + "noProducts": "0 produkter", + "oneProduct": "1 produkt", + "multipleProducts": "{{count}} produkter", + "filteredProducts": "{{filtered}} av {{total}} produkter", + "filteredOneProduct": "{{filtered}} av 1 produkt" + }, + "removeFiltersToSee": "Ta bort filter för att visa produkter", + "outOfStock": "Slut i lager", + "fromXProducts": "från {{count}} produkter" + }, + "search": { + "placeholder": "Du kan fråga mig om cannabisstammar...", + "recording": "Spelar in...", + "searchProducts": "Sök produkter..." + }, + "sorting": { + "name": "Namn", + "searchField": "Sökterm", + "priceLowHigh": "Pris: Lågt till Högt", + "priceHighLow": "Pris: Högt till Lågt" + }, + "chat": { + "privacyRead": "Läst & Accepterat" + }, + "delivery": { + "methods": { + "dhl": "DHL", + "dpd": "DPD", + "sperrgut": "Skrymmande gods", + "pickup": "Hämta i butik" + }, + "descriptions": { + "standard": "Standardfrakt", + "standardFree": "Standardfrakt - GRATIS vid köp för minst €100!", + "notAvailable": "ej tillgängligt eftersom en eller flera varor endast kan hämtas", + "bulky": "För stora och tunga varor" + }, + "prices": { + "free": "gratis", + "freeFrom100": "(gratis vid köp för minst €100)", + "dhl": "€6.99", + "dpd": "€4.90", + "sperrgut": "€28.99" + }, + "times": { + "cutting14Days": "Leveranstid: 14 dagar", + "standard2to3Days": "Leveranstid: 2-3 dagar", + "supplier7to9Days": "Leveranstid: 7-9 dagar" + } + }, + "checkout": { + "invoiceAddress": " Faktureringsadress", + "deliveryAddress": "Leveransadress", + "saveForFuture": "Spara för framtida beställningar", + "pickupDate": "För vilken datum önskas hämtning av klipp", + "note": "Notering", + "sameAddress": "Leveransadress är densamma som faktureringsadress", + "termsAccept": "Jag har läst och godkänner villkoren, integritetspolicyn och avbokningsreglerna" + }, + "payment": { + "successful": "Betalning lyckades!", + "failed": "Betalningen misslyckades", + "orderCompleted": "🎉 Din beställning har slutförts! Du kan nu se dina beställningar.", + "orderProcessing": "Din betalning har lyckats behandlas. Beställningen kommer att slutföras automatiskt.", + "paymentError": "Din betalning kunde inte behandlas. Vänligen försök igen eller välj en annan betalningsmetod.", + "viewOrders": "Visa mina beställningar" + }, + "filters": { + "sorting": "Sortering", + "perPage": "per sida", + "availability": "Tillgänglighet", + "manufacturer": "Tillverkare" + }, + "tax": { + "vat": "moms", + "vat7": "7% moms", + "vat19": "19% moms", + "vat19WithShipping": "19% moms (inkl. frakt)", + "totalNet": "Total netto pris", + "totalGross": "Total bruttopriser utan frakt", + "subtotal": "Delsumma" + }, + "footer": { + "hours": "Lör 11-19", + "address": "Trachenberger Straße 14 - Dresden", + "location": "Mellan Pieschen hållplats och Trachenberger Platz", + "allPricesIncl": "* Alla priser inkluderar lagstadgad moms, plus frakt", + "copyright": "© {{year}} GrowHeads.se", + "legal": { + "datenschutz": "Integritetspolicy", + "agb": "Villkor", + "sitemap": "Kartschema", + "impressum": "Impressum", + "batteriegesetzhinweise": "Batteriföreskrifter", + "widerrufsrecht": "Ångerrätt" + } + }, + "titles": { + "home": "ine anabis eeds & uttings", + "aktionen": "tuelle ktionen & gebote", + "filiale": "ur iliale i resden" + }, + "sections": { + "seeds": "Frön", + "stecklinge": "Klipp", + "oilPress": "Oljepressuthyrning", + "thcTest": "THC-test", + "address1": "Trachenberger Straße 14", + "address2": "01129 Dresden" + }, + "pages": { + "oilPress": { + "title": "Oljepressuthyrning", + "comingSoon": "Innehåll kommer snart..." + }, + "thcTest": { + "title": "THC-test", + "comingSoon": "Innehåll kommer snart..." + } + }, + "orders": { + "status": { + "new": "Under behandling", + "pending": "Nytt", + "processing": "Under behandling", + "cancelled": "Avbruten", + "shipped": "Skickad", + "delivered": "Levererad", + "return": "Returnera", + "partialReturn": "Delvis retur", + "partialDelivered": "Delvis levererad" + } + }, + "common": { + "loading": "Läser in...", + "error": "Fel", + "close": "Stäng", + "save": "Spara", + "cancel": "Avbryt", + "ok": "OK", + "yes": "Ja", + "no": "Nej", + "next": "Nästa", + "back": "Tillbaka", + "edit": "Redigera", + "delete": "Radera", + "add": "Lägg till", + "remove": "Ta bort", + "products": "Produkter", + "product": "Produkt" + } +}; diff --git a/src/i18n/locales/tr/translation.js b/src/i18n/locales/tr/translation.js new file mode 100644 index 0000000..7ca0132 --- /dev/null +++ b/src/i18n/locales/tr/translation.js @@ -0,0 +1,231 @@ +export default { + "locale": { + "code": "tr-TR" + }, + "navigation": { + "home": "Anasayfa", + "aktionen": "İşlemler", + "filiale": "Şube", + "categories": "Kategoriler", + "categoriesOpen": "Açık kategoriler", + "categoriesClose": "Kapat kategorileri", + "otherCategories": "Diğer kategoriler" + }, + "auth": { + "login": "Giriş yap", + "register": "Kayıt ol", + "logout": "Çıkış yap", + "profile": "Profil", + "email": "E-posta", + "password": "Şifre", + "confirmPassword": "Şifreyi onayla", + "forgotPassword": "Şifrenizi mi unuttunuz?", + "loginWithGoogle": "Google ile giriş yap", + "or": "VEYA", + "privacyAccept": "\"Google ile giriş yap\" kutusuna tıklayarak, kabul ediyorum", + "privacyPolicy": "Gizlilik Politikası", + "passwordMinLength": "Şifre en az 8 karakter olmalı", + "newPasswordMinLength": "Yeni şifre en az 8 karakter olmalı", + "menu": { + "profile": "Profil", + "checkout": "Ödeme", + "orders": "Siparişler", + "settings": "Ayarlar", + "adminDashboard": "Yönetici Paneli", + "adminUsers": "Yönetici Kullanıcılar" + } + }, + "cart": { + "title": "Sepet", + "empty": "boş", + "addToCart": "Sepete ekle", + "preorderCutting": "Kesimler ön sipariş", + "continueShopping": "Alışverişe devam et", + "proceedToCheckout": "Ödemeye geç", + "productCount": "{{count}} {{count, plural, one {ürün} other {ürünler}}}", + "removeFromCart": "Sepetten çıkar", + "openCart": "Sepeti aç", + "availableFrom": "'dan {{date}}", + "backToOrder": "← Siparişe dön", + "sync": { + "title": "Sepet senkronizasyonu", + "description": "Hesabınızda kaydedilmiş bir sepet var. Devam etme seçeneklerini seçiniz:", + "deleteServer": "Sunucu sepetini sil", + "useServer": "Sunucu sepetini kullan", + "merge": "Sepetleri birleştir", + "currentCart": "Mevcut sepetiniz", + "serverCart": "Profilinizde kaydedilmiş sepet" + } + }, + "product": { + "loading": "Ürün yükleniyor...", + "notFound": "Ürün bulunamadı", + "notFoundDescription": "Aranan ürün mevcut değil veya kaldırılmıştır.", + "backToHome": "Ana sayfaya dön", + "error": "Hata", + "articleNumber": "Ürün numarası", + "manufacturer": "Üretici", + "inclVat": "vergiler dahil {{vat}}%", + "priceUnit": "{{price}}/{{unit}}", + "new": "Yeni", + "arriving": "Geliş:", + "inclVatFooter": "vergiler dahil {{vat}}%, *", + "availability": "Mevki durumu", + "inStock": "Stokta var", + "comingSoon": "Yakında geliyor", + "deliveryTime": "Teslimat süresi", + "inclShort": "dahil.", + "vatShort": "KDV", + "countDisplay": { + "noProducts": "0 ürün", + "oneProduct": "1 ürün", + "multipleProducts": "{{count}} ürün", + "filteredProducts": "{{filtered}}/{{total}} ürün filtrelendi", + "filteredOneProduct": "{{filtered}}/{{total}} ürün filtrelendi" + }, + "removeFiltersToSee": "Ürünleri görmek için filtreleri kaldırın", + "outOfStock": "Stokta yok", + "fromXProducts": "{{count}} ürün ve üzeri" + }, + "search": { + "placeholder": "Kenevir türleri hakkında bana sorabilirsiniz...", + "recording": "Kaydediliyor...", + "searchProducts": "Ürünleri ara..." + }, + "sorting": { + "name": "İsim", + "searchField": "Arama terimi", + "priceLowHigh": "Fiyat: Düşükten yükseğe", + "priceHighLow": "Fiyat: Yüksekten düşüğe" + }, + "chat": { + "privacyRead": "Okundu & Kabul edildi" + }, + "delivery": { + "methods": { + "dhl": "DHL", + "dpd": "DPD", + "sperrgut": "Hacimli ürünler", + "pickup": "Mağazadan teslim alın" + }, + "descriptions": { + "standard": "Standart gönderim", + "standardFree": "Standart gönderim - Ürün değeri 100 € ve üzeri ÜCRETSİZ!", + "notAvailable": "bir veya daha fazla ürün sadece teslim alınabilir olduğu için seçilebilir değil", + "bulky": "Büyük ve ağır ürünler için" + }, + "prices": { + "free": "ücretsiz", + "freeFrom100": "(100 € ve üzeri ücretsiz)", + "dhl": "€6.99", + "dpd": "€4.90", + "sperrgut": "€28.99" + }, + "times": { + "cutting14Days": "Teslimat süresi: 14 gün", + "standard2to3Days": "Teslimat süresi: 2-3 gün", + "supplier7to9Days": "Teslimat süresi: 7-9 gün" + } + }, + "checkout": { + "invoiceAddress": "Fatura adresi", + "deliveryAddress": "Teslimat adresi", + "saveForFuture": "Gelecek siparişler için kaydet", + "pickupDate": "Kesimlerin alınacağı tarih nedir?", + "note": "Not", + "sameAddress": "Teslimat adresi, fatura adresi ile aynı", + "termsAccept": "Şartlar ve koşulları, gizlilik politikasını ve iptal politikasını okudum" + }, + "payment": { + "successful": "Ödeme başarılı!", + "failed": "Ödeme başarısız", + "orderCompleted": "🎉 Siparişiniz başarıyla tamamlandı! Siparişlerinizi görüntüleyebilirsiniz.", + "orderProcessing": "Ödemeniz başarıyla işlendi. Sipariş otomatik olarak tamamlanacaktır.", + "paymentError": "Ödemeniz işlenemedi. Lütfen tekrar deneyin veya başka bir ödeme yöntemi seçin.", + "viewOrders": "Siparişlerimi görüntüle" + }, + "filters": { + "sorting": "Sıralama", + "perPage": "sayfa başına", + "availability": "Mevki durumu", + "manufacturer": "Üretici" + }, + "tax": { + "vat": "KDV", + "vat7": "Yüzde 7 KDV", + "vat19": "Yüzde 19 KDV", + "vat19WithShipping": "Yüzde 19 KDV (kargo dahil)", + "totalNet": "Toplam net fiyat", + "totalGross": "Kargo hariç toplam brüt fiyat", + "subtotal": "Ara toplam" + }, + "footer": { + "hours": "Cum 11-19", + "address": "Trachenberger Straße 14 - Dresden", + "location": "Pieschen durağı ile Trachenbergerplatz arası", + "allPricesIncl": "* Tüm fiyatlara yasal KDV ve kargo dahildir", + "copyright": "© {{year}} GrowHeads.de", + "legal": { + "datenschutz": "Gizlilik Politikası", + "agb": "Şartlar ve Koşullar", + "sitemap": "Site Haritası", + "impressum": "Yasal Uyarı", + "batteriegesetzhinweise": "Pil düzenlemesine ilişkin notlar", + "widerrufsrecht": "İptal hakkı" + } + }, + "titles": { + "home": "ine anabis eeds & uttings", + "aktionen": "tuelle ktionen & gebote", + "filiale": "ur iliale in resden" + }, + "sections": { + "seeds": "Tohumlar", + "stecklinge": "Kesimler", + "oilPress": "Yağ presi kiralama", + "thcTest": "THC testi", + "address1": "Trachenberger Straße 14", + "address2": "01129 Dresden" + }, + "pages": { + "oilPress": { + "title": "Yağ presi kiralama", + "comingSoon": "İçerik yakında geliyor..." + }, + "thcTest": { + "title": "THC Testi", + "comingSoon": "İçerik yakında geliyor..." + } + }, + "orders": { + "status": { + "new": "İşleme alındı", + "pending": "Yeni", + "processing": "İşleniyor", + "cancelled": "İptal edildi", + "shipped": "Gönderildi", + "delivered": "Teslim edildi", + "return": "İade", + "partialReturn": "Kısmi iade", + "partialDelivered": "Kısmi teslim" + } + }, + "common": { + "loading": "Yükleniyor...", + "error": "Hata", + "close": "Kapat", + "save": "Kaydet", + "cancel": "İptal", + "ok": "Tamam", + "yes": "Evet", + "no": "Hayır", + "next": "İleri", + "back": "Geri", + "edit": "Düzenle", + "delete": "Sil", + "add": "Ekle", + "remove": "Kaldır", + "products": "Ürünler", + "product": "Ürün" + } +}; diff --git a/src/i18n/locales/uk/translation.js b/src/i18n/locales/uk/translation.js index 5f7e9cd..4d81ba6 100644 --- a/src/i18n/locales/uk/translation.js +++ b/src/i18n/locales/uk/translation.js @@ -1,30 +1,34 @@ export default { + "locale": { + "code": "uk-UA" + }, "navigation": { "home": "Головна", "aktionen": "Акції", "filiale": "Філія", "categories": "Категорії", "categoriesOpen": "Відкрити категорії", - "categoriesClose": "Закрити категорії" + "categoriesClose": "Закрити категорії", + "otherCategories": "Інші категорії" }, "auth": { "login": "Увійти", - "register": "Зареєструватися", + "register": "Реєстрація", "logout": "Вийти", "profile": "Профіль", "email": "Електронна пошта", "password": "Пароль", "confirmPassword": "Підтвердити пароль", "forgotPassword": "Забули пароль?", - "loginWithGoogle": "Увійти через Google", + "loginWithGoogle": "Увійти з Google", "or": "АБО", - "privacyAccept": "Натискаючи \"Увійти через Google\", я приймаю", - "privacyPolicy": "Політику конфіденційності", - "passwordMinLength": "Пароль повинен містити мінімум 8 символів", - "newPasswordMinLength": "Новий пароль повинен містити мінімум 8 символів", + "privacyAccept": "Натискаючи \"Увійти з Google\", я погоджуюсь із", + "privacyPolicy": "Політикою конфіденційності", + "passwordMinLength": "Пароль має містити щонайменше 8 символів", + "newPasswordMinLength": "Новий пароль має містити щонайменше 8 символів", "menu": { "profile": "Профіль", - "checkout": "Оформлення замовлення", + "checkout": "Оформлення", "orders": "Замовлення", "settings": "Налаштування", "adminDashboard": "Панель адміністратора", @@ -32,149 +36,172 @@ export default { } }, "cart": { - "title": "Кошик", + "title": "Кошик для покупок", "empty": "порожній", "addToCart": "Додати до кошика", - "preorderCutting": "Попередньо замовити живці", + "preorderCutting": "Передзамовлення у вигляді черенків", "continueShopping": "Продовжити покупки", - "proceedToCheckout": "Перейти до каси", + "proceedToCheckout": "Перейти до оформлення", + "productCount": "{{count}} {{count, plural, one {товар} other {товари}}}", + "removeFromCart": "Видалити з кошика", + "openCart": "Відкрити кошик", + "availableFrom": "З {{date}}", + "backToOrder": "← Назад до замовлення", "sync": { "title": "Синхронізація кошика", - "description": "У вашому обліковому записі є збережений кошик. Оберіть, як ви хочете продовжити:", - "deleteServer": "Видалити кошик з сервера", + "description": "У вашому обліковому записі збережено кошик. Оберіть спосіб дії:", + "deleteServer": "Видалити кошик на сервері", "useServer": "Використати кошик з сервера", - "merge": "Об'єднати кошики", + "merge": "Об’єднати кошики", "currentCart": "Ваш поточний кошик", - "serverCart": "Кошик, збережений у вашому профілі" + "serverCart": "Збережений кошик у профілі" } }, "product": { - "loading": "Завантаження продукту...", - "notFound": "Продукт не знайдено", - "notFoundDescription": "Шуканий продукт не існує або був видалений.", - "backToHome": "Повернутися на головну", + "loading": "Завантаження товару...", + "notFound": "Товар не знайдено", + "notFoundDescription": "Шукаваний товар не існує або був видалений.", + "backToHome": "Повернутись на головну", "error": "Помилка", "articleNumber": "Артикул", "manufacturer": "Виробник", - "inclVat": "включаючи {{vat}}% ПДВ", + "inclVat": "з урахуванням {{vat}}% ПДВ", "priceUnit": "{{price}}/{{unit}}", "new": "Новий", "arriving": "Прибуття:", - "inclVatFooter": "включаючи {{vat}}% ПДВ,*", - "availability": "Наявність", - "inStock": "в наявності", - "comingSoon": "Скоро буде доступно", - "deliveryTime": "Час доставки", - "inclShort": "включ.", - "vatShort": "ПДВ" + "inclVatFooter": "з урахуванням {{vat}}% ПДВ, *", + "availability": "Доступність", + "inStock": "В наявності", + "comingSoon": "Незабаром", + "deliveryTime": "Термін доставки", + "inclShort": "вкл.", + "vatShort": "ПДВ", + "countDisplay": { + "noProducts": "0 товарів", + "oneProduct": "1 товар", + "multipleProducts": "{{count}} товарів", + "filteredProducts": "{{filtered}} із {{total}} товарів", + "filteredOneProduct": "{{filtered}} із 1 товару" + }, + "removeFiltersToSee": "Зняти фільтри для перегляду товарів", + "outOfStock": "Немає в наявності", + "fromXProducts": "від {{count}} товарів" }, "search": { - "placeholder": "Ви можете запитати мене про сорти канабісу...", - "recording": "Запис триває..." + "placeholder": "Можете запитати мене про сорти канабісу...", + "recording": "Запис...", + "searchProducts": "Пошук товарів..." + }, + "sorting": { + "name": "Назва", + "searchField": "Пошуковий запит", + "priceLowHigh": "Ціна: від найнижчої до найвищої", + "priceHighLow": "Ціна: від найвищої до найнижчої" }, "chat": { - "privacyRead": "Прочитано та прийнято" + "privacyRead": "Читати & Прийняти" }, "delivery": { "methods": { "dhl": "DHL", - "dpd": "DPD", - "sperrgut": "Великогабаритний вантаж", - "pickup": "Самовивіз з філії" + "dpd": "DПД", + "sperrgut": "Об’ємні товари", + "pickup": "Забрати в магазині" }, "descriptions": { "standard": "Стандартна доставка", - "standardFree": "Стандартна доставка - БЕЗКОШТОВНО від 100€!", - "notAvailable": "недоступно, оскільки один або більше товарів можна лише забрати", - "bulky": "Для великих і важких товарів" + "standardFree": "Стандартна доставка - БЕЗКОШТОВНО від €100 вартості товару!", + "notAvailable": "не доступний через обмеження, оскільки один або кілька товарів можна забрати лише особисто", + "bulky": "Для великих та важких товарів" }, "prices": { "free": "безкоштовно", - "dhl": "6,99 €", - "dpd": "4,90 €", - "sperrgut": "28,99 €" + "freeFrom100": "(безкоштовно від €100)", + "dhl": "€6.99", + "dpd": "€4.90", + "sperrgut": "€28.99" }, "times": { - "cutting14Days": "Час доставки: 14 днів", - "standard2to3Days": "Час доставки: 2-3 дні", - "supplier7to9Days": "Час доставки: 7-9 днів" + "cutting14Days": "Термін доставки: 14 днів", + "standard2to3Days": "Термін доставки: 2-3 дні", + "supplier7to9Days": "Термін доставки: 7-9 днів" } }, "checkout": { - "invoiceAddress": "Адреса рахунку", + "invoiceAddress": "Б kindoly аку", "deliveryAddress": "Адреса доставки", "saveForFuture": "Зберегти для майбутніх замовлень", - "pickupDate": "На який термін потрібне отримання живців?", + "pickupDate": "На яку дату бажано забрати черенки?", "note": "Примітка", - "sameAddress": "Адреса доставки збігається з адресою рахунку", - "termsAccept": "Я прочитав умови використання, політику конфіденційності та умови відмови" + "sameAddress": "Адреса доставки співпадає з адресою оплати", + "termsAccept": "Я ознайомлений із умовами та політикою конфіденційності та анулювання." }, "payment": { - "successful": "Платіж успішний!", - "failed": "Платіж не вдався", - "orderCompleted": "🎉 Ваше замовлення успішно завершено! Тепер ви можете переглянути свої замовлення.", - "orderProcessing": "Ваш платіж успішно оброблено. Замовлення буде автоматично завершено.", - "paymentError": "Ваш платіж не вдалося обробити. Спробуйте знову або оберіть інший спосіб оплати.", + "successful": "Оплата успішна!", + "failed": "Помилка оплати", + "orderCompleted": "🎉 Ваше замовлення успішно оформлено! Тепер ви можете переглянути свої замовлення.", + "orderProcessing": "Ваша оплата обробляється. Замовлення буде завершено автоматично.", + "paymentError": "Не вдалося опрацювати оплату. Будь ласка, спробуйте ще раз або оберіть інший спосіб оплати.", "viewOrders": "Переглянути мої замовлення" }, "filters": { "sorting": "Сортування", "perPage": "на сторінці", - "availability": "Наявність", + "availability": "Доступність", "manufacturer": "Виробник" }, "tax": { - "vat": "Податок на додану вартість", + "vat": "ПДВ", "vat7": "7% ПДВ", "vat19": "19% ПДВ", - "vat19WithShipping": "19% ПДВ (включаючи доставку)", - "totalNet": "Загальна чиста ціна", - "totalGross": "Загальна брутто-ціна без доставки", + "vat19WithShipping": "19% ПДВ (з доставкою)", + "totalNet": "Загальна сума без ПДВ", + "totalGross": "Загальна сума з ПДВ без доставки", "subtotal": "Проміжна сума" }, "footer": { "hours": "Сб 11-19", - "address": "Тrachenberger Straße 14 - Дрезден", - "location": "Між зупинкою Пішен і площею Траченберг", - "allPricesIncl": "* Всі ціни включають законний ПДВ, плюс доставка", + "address": "Trachenberger Straße 14 - Дрезден", + "location": "Між зупинкою Пієшен і Trachenberger Platz", + "allPricesIncl": "* Всі ціни включають законний ПДВ, плюс доставку", "copyright": "© {{year}} GrowHeads.de", "legal": { - "datenschutz": "Конфіденційність", - "agb": "Умови використання", + "datenschutz": "Політика конфіденційності", + "agb": "Умови та положення", "sitemap": "Карта сайту", - "impressum": "Відомості про сайт", - "batteriegesetzhinweise": "Інформація про закон про батареї", - "widerrufsrecht": "Право на відмову" + "impressum": "Імпрессум", + "batteriegesetzhinweise": "Інструкції щодо батарей", + "widerrufsrecht": "Право відкликання" } }, "titles": { - "home": "Насіння і живці канабісу", - "aktionen": "Поточні акції та пропозиції", - "filiale": "Наша філія в Дрездені" + "home": "ine anabis eeds & uttings", + "aktionen": "tuальні кції & gebote", + "filiale": "ur iliale in resden" }, "sections": { "seeds": "Насіння", - "stecklinge": "Живці", - "oilPress": "Оренда пресу для олії", - "thcTest": "Тест на ТГК", - "address1": "Тrachenberger Straße 14", + "stecklinge": "Черенки", + "oilPress": "Олійний прес напрокат", + "thcTest": "Тест на THC", + "address1": "Trachenberger Straße 14", "address2": "01129 Дрезден" }, "pages": { "oilPress": { - "title": "Оренда пресу для олії", - "comingSoon": "Контент скоро буде..." + "title": "Олійний прес напрокат", + "comingSoon": "Зміст незабаром..." }, "thcTest": { - "title": "Тест на ТГК", - "comingSoon": "Контент скоро буде..." + "title": "Тест на THC", + "comingSoon": "Зміст незабаром..." } }, "orders": { "status": { - "new": "в обробці", + "new": "В процесі", "pending": "Новий", - "processing": "в обробці", + "processing": "Обробляється", "cancelled": "Скасовано", "shipped": "Відправлено", "delivered": "Доставлено", @@ -189,10 +216,10 @@ export default { "close": "Закрити", "save": "Зберегти", "cancel": "Скасувати", - "ok": "OK", + "ok": "Добре", "yes": "Так", "no": "Ні", - "next": "Далі", + "next": "Наступне", "back": "Назад", "edit": "Редагувати", "delete": "Видалити", @@ -201,4 +228,4 @@ export default { "products": "Товари", "product": "Товар" } -} \ No newline at end of file +}; diff --git a/src/i18n/locales/zh/translation.js b/src/i18n/locales/zh/translation.js index dd68469..7adf219 100644 --- a/src/i18n/locales/zh/translation.js +++ b/src/i18n/locales/zh/translation.js @@ -1,204 +1,231 @@ export default { - "navigation": { - "home": "首页", - "aktionen": "活动", - "filiale": "分店", - "categories": "分类", - "categoriesOpen": "打开分类", - "categoriesClose": "关闭分类" - }, - "auth": { - "login": "登录", - "register": "注册", - "logout": "退出", + "locale": { + "code": "zh-CN" + }, + "navigation": { + "home": "首页", + "aktionen": "促销", + "filiale": "门店", + "categories": "分类", + "categoriesOpen": "打开分类", + "categoriesClose": "关闭分类", + "otherCategories": "其他分类" + }, + "auth": { + "login": "登录", + "register": "注册", + "logout": "退出登录", + "profile": "个人资料", + "email": "电子邮箱", + "password": "密码", + "confirmPassword": "确认密码", + "forgotPassword": "忘记密码?", + "loginWithGoogle": "使用Google登录", + "or": "或者", + "privacyAccept": "点击“使用Google登录”即表示我接受", + "privacyPolicy": "隐私政策", + "passwordMinLength": "密码长度至少为8个字符", + "newPasswordMinLength": "新密码长度至少为8个字符", + "menu": { "profile": "个人资料", - "email": "邮箱", - "password": "密码", - "confirmPassword": "确认密码", - "forgotPassword": "忘记密码?", - "loginWithGoogle": "用Google登录", - "or": "或者", - "privacyAccept": "点击\"用Google登录\"即表示我接受", - "privacyPolicy": "隐私政策", - "passwordMinLength": "密码必须至少8个字符", - "newPasswordMinLength": "新密码必须至少8个字符", - "menu": { - "profile": "个人资料", - "checkout": "结账", - "orders": "订单", - "settings": "设置", - "adminDashboard": "管理员面板", - "adminUsers": "管理员用户" - } - }, - "cart": { - "title": "购物车", - "empty": "空", - "addToCart": "加入购物车", - "preorderCutting": "预订扦插", - "continueShopping": "继续购物", - "proceedToCheckout": "前往结账", - "sync": { - "title": "购物车同步", - "description": "您在账户中有保存的购物车。请选择您想要如何继续:", - "deleteServer": "删除服务器购物车", - "useServer": "使用服务器购物车", - "merge": "合并购物车", - "currentCart": "您当前的购物车", - "serverCart": "您个人资料中保存的购物车" - } - }, - "product": { - "loading": "产品加载中...", - "notFound": "产品未找到", - "notFoundDescription": "所搜索的产品不存在或已被删除。", - "backToHome": "返回首页", - "error": "错误", - "articleNumber": "商品编号", - "manufacturer": "制造商", - "inclVat": "含{{vat}}%增值税", - "priceUnit": "{{price}}/{{unit}}", - "new": "新品", - "arriving": "到达:", - "inclVatFooter": "含{{vat}}%增值税,*", - "availability": "可用性", - "inStock": "现货", - "comingSoon": "即将推出", - "deliveryTime": "交货时间", - "inclShort": "含", - "vatShort": "增值税" - }, - "search": { - "placeholder": "您可以询问我大麻品种...", - "recording": "录音中..." - }, - "chat": { - "privacyRead": "已阅读并接受" - }, - "delivery": { - "methods": { - "dhl": "DHL", - "dpd": "DPD", - "sperrgut": "大件货物", - "pickup": "门店自提" - }, - "descriptions": { - "standard": "标准配送", - "standardFree": "标准配送 - 满100€免费!", - "notAvailable": "不可选择,因为一个或多个商品只能自提", - "bulky": "适用于大件和重型商品" - }, - "prices": { - "free": "免费", - "dhl": "6,99 €", - "dpd": "4,90 €", - "sperrgut": "28,99 €" - }, - "times": { - "cutting14Days": "交货时间:14天", - "standard2to3Days": "交货时间:2-3天", - "supplier7to9Days": "交货时间:7-9天" - } - }, - "checkout": { - "invoiceAddress": "账单地址", - "deliveryAddress": "配送地址", - "saveForFuture": "保存用于未来订单", - "pickupDate": "您希望在什么时间取货扦插?", - "note": "备注", - "sameAddress": "配送地址与账单地址相同", - "termsAccept": "我已阅读条款和条件、隐私政策和退货权条款" - }, - "payment": { - "successful": "付款成功!", - "failed": "付款失败", - "orderCompleted": "🎉 您的订单已成功完成!您现在可以查看您的订单。", - "orderProcessing": "您的付款已成功处理。订单将自动完成。", - "paymentError": "无法处理您的付款。请重试或选择其他付款方式。", - "viewOrders": "查看我的订单" - }, - "filters": { - "sorting": "排序", - "perPage": "每页", - "availability": "可用性", - "manufacturer": "制造商" - }, - "tax": { - "vat": "增值税", - "vat7": "7%增值税", - "vat19": "19%增值税", - "vat19WithShipping": "19%增值税(含运费)", - "totalNet": "总净价", - "totalGross": "总毛价(不含运费)", - "subtotal": "小计" - }, - "footer": { - "hours": "周六 11-19", - "address": "Trachenberger Straße 14 - 德累斯顿", - "location": "在Pieschen站点和Trachenberger Platz之间", - "allPricesIncl": "* 所有价格含法定增值税,另加运费", - "copyright": "© {{year}} GrowHeads.de", - "legal": { - "datenschutz": "数据保护", - "agb": "条款和条件", - "sitemap": "网站地图", - "impressum": "法律信息", - "batteriegesetzhinweise": "电池法律信息", - "widerrufsrecht": "退货权" - } - }, - "titles": { - "home": "大麻种子和扦插", - "aktionen": "当前活动和优惠", - "filiale": "我们在德累斯顿的分店" - }, - "sections": { - "seeds": "种子", - "stecklinge": "扦插", - "oilPress": "榨油机租赁", - "thcTest": "THC测试", - "address1": "Trachenberger Straße 14", - "address2": "01129 德累斯顿" - }, - "pages": { - "oilPress": { - "title": "榨油机租赁", - "comingSoon": "内容即将推出..." - }, - "thcTest": { - "title": "THC测试", - "comingSoon": "内容即将推出..." - } - }, - "orders": { - "status": { - "new": "处理中", - "pending": "新订单", - "processing": "处理中", - "cancelled": "已取消", - "shipped": "已发货", - "delivered": "已送达", - "return": "退货", - "partialReturn": "部分退货", - "partialDelivered": "部分送达" - } - }, - "common": { - "loading": "加载中...", - "error": "错误", - "close": "关闭", - "save": "保存", - "cancel": "取消", - "ok": "确定", - "yes": "是", - "no": "否", - "next": "下一步", - "back": "返回", - "edit": "编辑", - "delete": "删除", - "add": "添加", - "remove": "移除", - "products": "产品", - "product": "产品" + "checkout": "结账", + "orders": "订单", + "settings": "设置", + "adminDashboard": "管理员后台", + "adminUsers": "管理员用户" } - } \ No newline at end of file + }, + "cart": { + "title": "购物车", + "empty": "空", + "addToCart": "加入购物车", + "preorderCutting": "预订为切割苗", + "continueShopping": "继续购物", + "proceedToCheckout": "前往结算", + "productCount": "{{count}} {{count, plural, one {个产品} other {个产品}}}", + "removeFromCart": "从购物车删除", + "openCart": "打开购物车", + "availableFrom": "自{{date}}起", + "backToOrder": "← 返回订单", + "sync": { + "title": "购物车同步", + "description": "你在账户中有已保存的购物车。请选择下一步操作:", + "deleteServer": "删除服务器购物车", + "useServer": "使用服务器购物车", + "merge": "合并购物车", + "currentCart": "你当前的购物车", + "serverCart": "你个人资料中的已保存购物车" + } + }, + "product": { + "loading": "加载中...", + "notFound": "未找到产品", + "notFoundDescription": "搜索的产品不存在或已被移除。", + "backToHome": "返回首页", + "error": "错误", + "articleNumber": "商品编号", + "manufacturer": "制造商", + "inclVat": "含{{vat}}%增值税", + "priceUnit": "{{price}}/{{unit}}", + "new": "新品", + "arriving": "到货:", + "inclVatFooter": "含{{vat}}%增值税,*", + "availability": "库存情况", + "inStock": "有现货", + "comingSoon": "即将上市", + "deliveryTime": "交货时间", + "inclShort": "含", + "vatShort": "增值税", + "countDisplay": { + "noProducts": "0 个产品", + "oneProduct": "1 个产品", + "multipleProducts": "{{count}} 个产品", + "filteredProducts": "{{filtered}} / {{total}} 个产品", + "filteredOneProduct": "{{filtered}} / 1 个产品" + }, + "removeFiltersToSee": "移除筛选以查看产品", + "outOfStock": "缺货", + "fromXProducts": "来自 {{count}} 个产品" + }, + "search": { + "placeholder": "你可以告诉我大麻品系...", + "recording": "正在录音...", + "searchProducts": "搜索产品..." + }, + "sorting": { + "name": "名称", + "searchField": "搜索内容", + "priceLowHigh": "价格:由低到高", + "priceHighLow": "价格:由高到低" + }, + "chat": { + "privacyRead": "已阅读 & 已接受" + }, + "delivery": { + "methods": { + "dhl": "DHL", + "dpd": "DHL", + "sperrgut": "大件货物", + "pickup": "自提" + }, + "descriptions": { + "standard": "标准配送", + "standardFree": "标准配送 - 满100欧元免费!", + "notAvailable": "不可选择,因为一项或多项商品只能自提", + "bulky": "大型和重型商品" + }, + "prices": { + "free": "免费", + "freeFrom100": "(满100欧元免费)", + "dhl": "€6.99", + "dpd": "€4.90", + "sperrgut": "€28.99" + }, + "times": { + "cutting14Days": "交货时间:14天", + "standard2to3Days": "交货时间:2-3天", + "supplier7to9Days": "交货时间:7-9天" + } + }, + "checkout": { + "invoiceAddress": "账单地址", + "deliveryAddress": "送货地址", + "saveForFuture": "保存以便将来订单", + "pickupDate": "您希望何时提货?", + "note": "备注", + "sameAddress": "送货地址与账单地址相同", + "termsAccept": "我已阅读条款条件、隐私政策及退货政策" + }, + "payment": { + "successful": "支付成功!", + "failed": "支付失败", + "orderCompleted": "🎉 您的订单已成功完成!您可以查看您的订单。", + "orderProcessing": "您的付款已成功处理,订单将自动完成。", + "paymentError": "您的付款未能成功,请重试或选择其他支付方式。", + "viewOrders": "查看我的订单" + }, + "filters": { + "sorting": "排序", + "perPage": "每页", + "availability": "库存状态", + "manufacturer": "制造商" + }, + "tax": { + "vat": "增值税", + "vat7": "7%增值税", + "vat19": "19%增值税", + "vat19WithShipping": "19%增值税(含运费)", + "totalNet": "总净价", + "totalGross": "总毛价(不含运费)", + "subtotal": "小计" + }, + "footer": { + "hours": "周六 11-19点", + "address": "Trachenberger Straße 14 - 德累斯顿", + "location": "Pieschen站与Trachenberger Platz之间", + "allPricesIncl": "* 所有价格均含法定增值税,另加运费", + "copyright": "© {{year}} GrowHeads.de", + "legal": { + "datenschutz": "隐私政策", + "agb": "条款与条件", + "sitemap": "网站地图", + "impressum": "法律声明", + "batteriegesetzhinweise": "电池法规公告", + "widerrufsrecht": "退货权" + } + }, + "titles": { + "home": "大麻种子 & 苗供应", + "aktionen": "促销活动 & 优惠", + "filiale": "位于 德累斯顿的分店" + }, + "sections": { + "seeds": "种子", + "stecklinge": "切割苗", + "oilPress": "榨油机租赁", + "thcTest": "THC测试", + "address1": "Trachenberger Straße 14", + "address2": "01129 德累斯顿" + }, + "pages": { + "oilPress": { + "title": "榨油机租赁", + "comingSoon": "内容即将上线..." + }, + "thcTest": { + "title": "THC检测", + "comingSoon": "内容即将上线..." + } + }, + "orders": { + "status": { + "new": "处理中", + "pending": "新订单", + "processing": "处理中", + "cancelled": "已取消", + "shipped": "已发货", + "delivered": "已送达", + "return": "退货", + "partialReturn": "部分退货", + "partialDelivered": "部分已送达" + } + }, + "common": { + "loading": "加载中...", + "error": "错误", + "close": "关闭", + "save": "保存", + "cancel": "取消", + "ok": "确定", + "yes": "是", + "no": "否", + "next": "下一步", + "back": "返回", + "edit": "编辑", + "delete": "删除", + "add": "添加", + "remove": "移除", + "products": "产品", + "product": "产品" + } +}; diff --git a/translate-i18n.js b/translate-i18n.js new file mode 100755 index 0000000..cdb2f2d --- /dev/null +++ b/translate-i18n.js @@ -0,0 +1,340 @@ +#!/usr/bin/env node + +const fs = require('fs'); +const path = require('path'); +const OpenAI = require('openai'); + +// Configuration +const OPENAI_API_KEY = process.env.OPENAI_API_KEY; +const LOCALES_DIR = './src/i18n/locales'; +const GERMAN_FILE = path.join(LOCALES_DIR, 'de/translation.js'); +const ENGLISH_FILE = path.join(LOCALES_DIR, 'en/translation.js'); + +// Model configuration +const GERMAN_TO_ENGLISH_MODEL = 'gpt-4.1'; // High-quality model for German -> English (critical step) +const ENGLISH_TO_OTHER_MODEL = 'gpt-4.1-mini'; // Faster/cheaper model for English -> Other languages + +// Supported languages for translation +const TARGET_LANGUAGES = { + 'bg': 'Bulgarian', + 'cs': 'Czech', + 'es': 'Spanish', + 'fr': 'French', + 'el': 'Greek', + 'hr': 'Croatian', + 'hu': 'Hungarian', + 'it': 'Italian', + 'pl': 'Polish', + 'ro': 'Romanian', + 'ru': 'Russian', + 'sk': 'Slovak', + 'sl': 'Slovenian', + 'sr': 'Serbian', + 'sv': 'Swedish', + 'tr': 'Turkish', + 'uk': 'Ukrainian', + 'ar': 'Arabic (Egyptian)', + 'zh': 'Chinese (Simplified)' +}; + +// Initialize OpenAI client +const openai = new OpenAI({ + apiKey: OPENAI_API_KEY, +}); + +// System prompt for German to English translation +const GERMAN_TO_ENGLISH_SYSTEM_PROMPT = ` +You MUST translate German strings to English AND add the original German text as a comment after EVERY translated string. + +CRITICAL REQUIREMENT: Every translated string must have the original German text as a comment. + +Rules: +1. Translate all German strings to English +2. MANDATORY: Add the original German text as a comment after EVERY translated string using // format +3. Preserve all existing comments from the German version +4. Maintain the exact JavaScript object structure and formatting +5. Keep all interpolation variables like {{count}}, {{vat}}, etc. unchanged +6. Keep locale codes appropriate for English +7. For the locale section, use "en-US" as code +8. Do not translate technical terms that are already in English +9. Preserve any special formatting or HTML entities +10. Return a valid JavaScript object (not JSON) that can be exported + +MANDATORY FORMAT for every string: +"englishTranslation": "English Translation", // Original German Text + +Examples: +"login": "Login", // Anmelden +"email": "Email", // E-Mail +"password": "Password", // Passwort +"home": "Home", // Startseite + +DO NOT output any string without its German comment. Every single translated string needs the German original as a comment. +`; + +// System prompt template for English to other languages (file content will be inserted) +const ENGLISH_TO_OTHER_SYSTEM_PROMPT_TEMPLATE = ` +Translate the English strings in the following file to {{targetLanguage}}, preserving the German comments. + +Rules: +1. Translate only the English strings to {{targetLanguage}} +2. Keep all German comments unchanged +3. Maintain the exact JavaScript object structure and formatting +4. Keep all interpolation variables like {{count}}, {{vat}}, etc. unchanged +5. Update locale code appropriately for the target language +6. Do not translate technical terms, API keys, or code-related strings +7. Preserve any special formatting or HTML entities +8. Keep existing comments from the English version +9. Return a valid JavaScript object (not JSON) that can be exported + +Here is the English translation file to translate: + +{{englishFileContent}} +`; + +// Function to read and parse JavaScript export file +function readTranslationFile(filePath) { + try { + const content = fs.readFileSync(filePath, 'utf8'); + // Remove the export default and evaluate the object + const objectContent = content.replace(/^export default\s*/, '').replace(/;\s*$/, ''); + return eval(`(${objectContent})`); + } catch (error) { + console.error(`Error reading ${filePath}:`, error.message); + return null; + } +} + +// Function to write translation file (preserving comments as string) +function writeTranslationFile(filePath, translationString) { + try { + // Ensure directory exists + const dir = path.dirname(filePath); + if (!fs.existsSync(dir)) { + fs.mkdirSync(dir, { recursive: true }); + } + + // Ensure the string has proper export format + const content = translationString.startsWith('export default') + ? translationString + : `export default ${translationString}`; + + // Ensure it ends with semicolon and newline + const finalContent = content.endsWith(';\n') ? content : content.replace(/;?\s*$/, ';\n'); + + fs.writeFileSync(filePath, finalContent, 'utf8'); + console.log(`✅ Successfully wrote ${filePath}`); + } catch (error) { + console.error(`Error writing ${filePath}:`, error.message); + } +} + +// Function to translate content using OpenAI (for German to English) +async function translateContent(content, systemPrompt, targetLanguage = null, model = 'gpt-4') { + try { + const prompt = targetLanguage + ? systemPrompt.replace(/{{targetLanguage}}/g, targetLanguage) + : systemPrompt; + + const response = await openai.chat.completions.create({ + model: model, + messages: [ + { role: 'system', content: prompt }, + { role: 'user', content: `Please translate this translation file content:\n\n${content}` } + ], + temperature: 0.1, + max_tokens: 4000 + }); + + return response.choices[0].message.content; + } catch (error) { + console.error('OpenAI API error:', error.message); + throw error; + } +} + +// Function to translate English to other languages (optimized for caching) +async function translateToTargetLanguage(englishContent, targetLanguage, model = 'gpt-4o-mini') { + try { + // Create system prompt with file content (cacheable) + const systemPrompt = ENGLISH_TO_OTHER_SYSTEM_PROMPT_TEMPLATE + .replace(/{{targetLanguage}}/g, targetLanguage) + .replace(/{{englishFileContent}}/g, englishContent); + + const response = await openai.chat.completions.create({ + model: model, + messages: [ + { role: 'system', content: systemPrompt }, + { role: 'user', content: `Please translate to ${targetLanguage}` } + ], + temperature: 0.1, + max_tokens: 4000 + }); + + return response.choices[0].message.content; + } catch (error) { + console.error('OpenAI API error:', error.message); + throw error; + } +} + +// Function to extract JavaScript object string from OpenAI response (preserving comments) +function extractJSObjectString(response) { + try { + // Remove code block markers if present + let cleaned = response.replace(/```javascript|```json|```/g, '').trim(); + + // Try to find the object in the response + const objectMatch = cleaned.match(/\{[\s\S]*\}/); + if (objectMatch) { + return objectMatch[0]; + } + + // If no object found, return the cleaned response + return cleaned; + } catch (error) { + console.error('Error parsing OpenAI response:', error.message); + console.log('Response was:', response); + return null; + } +} + +// Main translation function +async function translateToEnglish() { + console.log(`🔄 Step 1: Translating German to English using ${GERMAN_TO_ENGLISH_MODEL}...`); + + // Read German translation file + const germanContent = fs.readFileSync(GERMAN_FILE, 'utf8'); + + try { + const translatedContent = await translateContent(germanContent, GERMAN_TO_ENGLISH_SYSTEM_PROMPT, null, GERMAN_TO_ENGLISH_MODEL); + const englishObjectString = extractJSObjectString(translatedContent); + + if (englishObjectString) { + writeTranslationFile(ENGLISH_FILE, englishObjectString); + console.log('✅ German to English translation completed'); + return englishObjectString; + } else { + throw new Error('Failed to parse English translation'); + } + } catch (error) { + console.error('❌ Error translating to English:', error.message); + return null; + } +} + +// Function to translate English to other languages +async function translateToOtherLanguages(englishObjectString) { + console.log(`🔄 Step 2: Translating English to other languages using ${ENGLISH_TO_OTHER_MODEL}...`); + + const englishContent = `export default ${englishObjectString};`; + + for (const [langCode, langName] of Object.entries(TARGET_LANGUAGES)) { + try { + console.log(`🔄 Translating to ${langName} (${langCode})...`); + + const translatedContent = await translateToTargetLanguage( + englishContent, + langName, + ENGLISH_TO_OTHER_MODEL + ); + + const translatedObjectString = extractJSObjectString(translatedContent); + + if (translatedObjectString) { + // Update locale code in the string + const updatedString = translatedObjectString.replace( + /"code":\s*"[^"]*"/, + `"code": "${getLocaleCode(langCode)}"` + ); + + const targetFile = path.join(LOCALES_DIR, `${langCode}/translation.js`); + writeTranslationFile(targetFile, updatedString); + console.log(`✅ ${langName} translation completed`); + } else { + console.error(`❌ Failed to parse ${langName} translation`); + } + + // Add delay to avoid rate limiting + await new Promise(resolve => setTimeout(resolve, 1000)); + + } catch (error) { + console.error(`❌ Error translating to ${langName}:`, error.message); + } + } +} + +// Helper function to get locale codes +function getLocaleCode(langCode) { + const localeCodes = { + 'bg': 'bg-BG', + 'cs': 'cs-CZ', + 'es': 'es-ES', + 'fr': 'fr-FR', + 'el': 'el-GR', + 'hr': 'hr-HR', + 'hu': 'hu-HU', + 'it': 'it-IT', + 'pl': 'pl-PL', + 'ro': 'ro-RO', + 'ru': 'ru-RU', + 'sk': 'sk-SK', + 'sl': 'sl-SI', + 'sr': 'sr-RS', + 'sv': 'sv-SE', + 'tr': 'tr-TR', + 'uk': 'uk-UA', + 'ar': 'ar-EG', + 'zh': 'zh-CN' + }; + return localeCodes[langCode] || `${langCode}-${langCode.toUpperCase()}`; +} + + + +// Main execution +async function main() { + console.log('🚀 Starting translation process...'); + + // Check if OpenAI API key is set + if (!OPENAI_API_KEY) { + console.error('❌ OPENAI_API_KEY environment variable is not set'); + console.log('Please set your OpenAI API key: export OPENAI_API_KEY="your-api-key-here"'); + process.exit(1); + } + + // Check if German file exists + if (!fs.existsSync(GERMAN_FILE)) { + console.error(`❌ German translation file not found: ${GERMAN_FILE}`); + process.exit(1); + } + + try { + // Step 1: Translate German to English + const englishObjectString = await translateToEnglish(); + + if (englishObjectString) { + // Step 2: Translate English to other languages + await translateToOtherLanguages(englishObjectString); + console.log('🎉 All translations completed successfully!'); + } else { + console.error('❌ Failed to create English translation, stopping process'); + } + + } catch (error) { + console.error('❌ Translation process failed:', error.message); + process.exit(1); + } +} + +// Run the script +if (require.main === module) { + main(); +} + +module.exports = { + translateToEnglish, + translateToOtherLanguages, + readTranslationFile, + writeTranslationFile +}; \ No newline at end of file